summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL.md1
-rw-r--r--Makefile28
-rw-r--r--README.md2
-rw-r--r--asm/battle_anim_80FE840.s52267
-rw-r--r--asm/battle_anim_815A0D4.s22
-rw-r--r--asm/battle_anim_8170478.s8
-rw-r--r--asm/battle_anim_effects_1.s9550
-rw-r--r--asm/battle_anim_effects_2.s7544
-rw-r--r--asm/battle_frontier_1.s178
-rw-r--r--asm/battle_frontier_2.s17602
-rw-r--r--asm/battle_intro.s2035
-rw-r--r--asm/battle_tower.s7552
-rw-r--r--asm/contest.s2
-rw-r--r--asm/contest_link_81D9DE4.s2
-rw-r--r--asm/dark.s2199
-rw-r--r--asm/easy_chat.s12
-rw-r--r--asm/electric.s2547
-rw-r--r--asm/field_player_avatar.s4180
-rw-r--r--asm/field_screen.s2
-rw-r--r--asm/fire.s2397
-rw-r--r--asm/fldeff_80F9BCC.s6
-rw-r--r--asm/flying.s2515
-rw-r--r--asm/fossil_specials.s111
-rw-r--r--asm/ghost.s3251
-rw-r--r--asm/ice.s2944
-rw-r--r--asm/international_string_util.s355
-rw-r--r--asm/link_rfu.s2021
-rw-r--r--asm/macros/battle_ai_script.inc170
-rw-r--r--asm/macros/battle_anim_script.inc118
-rw-r--r--asm/macros/battle_script.inc458
-rw-r--r--asm/macros/event.inc466
-rw-r--r--asm/macros/map.inc2
-rw-r--r--asm/party_menu.s40
-rw-r--r--asm/pokedex_area_screen.s1892
-rw-r--r--asm/pokedex_cry_screen.s1010
-rw-r--r--asm/pokemon_storage_system.s8
-rw-r--r--asm/pokenav.s16
-rw-r--r--asm/post_battle_event_funcs.s165
-rw-r--r--asm/psychic.s2172
-rw-r--r--asm/rom_8011DC0.s2370
-rw-r--r--asm/roulette.s4
-rw-r--r--asm/script_menu.s1883
-rw-r--r--asm/script_pokemon_util_80F87D8.s1667
-rw-r--r--asm/shop.s1821
-rw-r--r--asm/trade.s6
-rw-r--r--asm/use_pokeblock.s2
-rw-r--r--asm/water.s3607
-rw-r--r--common_syms/apprentice.txt3
-rw-r--r--common_syms/battle_factory_screen.txt1
-rw-r--r--common_syms/battle_tower.txt1
-rw-r--r--common_syms/berry_blender.txt1
-rw-r--r--common_syms/field_camera.txt6
-rw-r--r--common_syms/overworld.txt3
-rw-r--r--common_syms/pokedex.txt2
-rw-r--r--common_syms/start_menu.txt1
-rw-r--r--common_syms/text.txt4
-rw-r--r--data/battle_anim_80A9C70.s17
-rw-r--r--data/battle_anim_80FE840.s3883
-rw-r--r--data/battle_anim_815A0D4.s91
-rw-r--r--data/battle_anim_8170478.s5
-rw-r--r--data/battle_anim_scripts.s7272
-rw-r--r--data/battle_anims.s907
-rw-r--r--data/battle_frontier/battle_arena_move_mind_ratings.inc357
-rw-r--r--data/battle_frontier/battle_factory_style_move_lists.inc191
-rw-r--r--data/battle_frontier/battle_frontier_trainers.inc140
-rw-r--r--data/battle_frontier/battle_pyramid_level_50_wild_mons.inc1003
-rw-r--r--data/battle_frontier/battle_pyramid_open_level_wild_mons.inc1003
-rw-r--r--data/battle_frontier/fallarbor_battle_tent_trainers.inc10
-rw-r--r--data/battle_frontier/slateport_battle_tent_trainers.inc10
-rw-r--r--data/battle_frontier/verdanturf_battle_tent_trainers.inc10
-rw-r--r--data/battle_frontier_1.s25
-rw-r--r--data/battle_frontier_2.s1110
-rw-r--r--data/battle_scripts_1.s120
-rw-r--r--data/battle_tower.s66
-rw-r--r--data/event_scripts.s1165
-rw-r--r--data/graphics/pokemon/footprint_table.inc415
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/events.inc2
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/scripts.inc10
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/scripts.inc7
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/scripts.inc12
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc18
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/events.inc16
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc2
-rw-r--r--data/maps/AbandonedShip_Room_B1F/events.inc2
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/events.inc2
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/scripts.inc39
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/events.inc2
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/scripts.inc2
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/events.inc2
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/scripts.inc21
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/events.inc2
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/scripts.inc2
-rw-r--r--data/maps/AncientTomb/events.inc2
-rw-r--r--data/maps/AncientTomb/scripts.inc4
-rw-r--r--data/maps/AquaHideout_1F/events.inc6
-rw-r--r--data/maps/AquaHideout_1F/scripts.inc18
-rw-r--r--data/maps/AquaHideout_B1F/events.inc18
-rw-r--r--data/maps/AquaHideout_B1F/scripts.inc24
-rw-r--r--data/maps/AquaHideout_B2F/events.inc12
-rw-r--r--data/maps/AquaHideout_B2F/scripts.inc24
-rw-r--r--data/maps/ArtisanCave_1F/events.inc2
-rw-r--r--data/maps/ArtisanCave_B1F/events.inc10
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc104
-rw-r--r--data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc2
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/scripts.inc90
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc92
-rw-r--r--data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc2
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/scripts.inc102
-rw-r--r--data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc54
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc78
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc90
-rw-r--r--data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc136
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc86
-rw-r--r--data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc14
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc100
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc10
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/scripts.inc102
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc134
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc4
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc70
-rw-r--r--data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc84
-rw-r--r--data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc49
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc166
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/scripts.inc64
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc2
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc72
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc28
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/events.inc4
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/scripts.inc176
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc16
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc26
-rw-r--r--data/maps/BattleFrontier_Lounge1/scripts.inc40
-rw-r--r--data/maps/BattleFrontier_Lounge2/scripts.inc16
-rw-r--r--data/maps/BattleFrontier_Lounge3/scripts.inc30
-rw-r--r--data/maps/BattleFrontier_Lounge4/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_Lounge5/scripts.inc12
-rw-r--r--data/maps/BattleFrontier_Lounge6/scripts.inc10
-rw-r--r--data/maps/BattleFrontier_Lounge7/scripts.inc24
-rw-r--r--data/maps/BattleFrontier_Lounge8/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_Mart/scripts.inc8
-rw-r--r--data/maps/BattleFrontier_OutsideEast/events.inc2
-rw-r--r--data/maps/BattleFrontier_OutsideEast/scripts.inc70
-rw-r--r--data/maps/BattleFrontier_OutsideWest/scripts.inc70
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc8
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/BattleFrontier_RankingHall/scripts.inc18
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/events.inc2
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/scripts.inc66
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/scripts.inc56
-rw-r--r--data/maps/BirthIsland_Exterior/events.inc4
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc6
-rw-r--r--data/maps/BirthIsland_Harbor/scripts.inc6
-rw-r--r--data/maps/CaveOfOrigin_B1F/events.inc2
-rw-r--r--data/maps/CaveOfOrigin_B1F/scripts.inc6
-rw-r--r--data/maps/DesertRuins/events.inc2
-rw-r--r--data/maps/DesertRuins/scripts.inc4
-rw-r--r--data/maps/DesertUnderpass/events.inc2
-rw-r--r--data/maps/DewfordTown/events.inc4
-rw-r--r--data/maps/DewfordTown/scripts.inc62
-rw-r--r--data/maps/DewfordTown_Gym/scripts.inc48
-rw-r--r--data/maps/DewfordTown_Hall/events.inc2
-rw-r--r--data/maps/DewfordTown_Hall/scripts.inc56
-rw-r--r--data/maps/DewfordTown_House1/scripts.inc6
-rw-r--r--data/maps/DewfordTown_House2/scripts.inc8
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/scripts.inc4
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/EverGrandeCity/scripts.inc6
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/events.inc4
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/scripts.inc28
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/scripts.inc8
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/scripts.inc8
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/scripts.inc4
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/scripts.inc8
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/events.inc2
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc8
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc6
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_2F/events.inc2
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/scripts.inc10
-rw-r--r--data/maps/FallarborTown/events.inc4
-rw-r--r--data/maps/FallarborTown/scripts.inc16
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc32
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/events.inc2
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/scripts.inc80
-rw-r--r--data/maps/FallarborTown_House1/events.inc2
-rw-r--r--data/maps/FallarborTown_House1/scripts.inc28
-rw-r--r--data/maps/FallarborTown_House2/scripts.inc20
-rw-r--r--data/maps/FallarborTown_Mart/scripts.inc8
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/events.inc2
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/scripts.inc8
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/FarawayIsland_Entrance/scripts.inc8
-rw-r--r--data/maps/FarawayIsland_Interior/events.inc2
-rw-r--r--data/maps/FarawayIsland_Interior/scripts.inc6
-rw-r--r--data/maps/FieryPath/events.inc16
-rw-r--r--data/maps/FieryPath/scripts.inc4
-rw-r--r--data/maps/FortreeCity/events.inc2
-rw-r--r--data/maps/FortreeCity/scripts.inc24
-rw-r--r--data/maps/FortreeCity_DecorationShop/scripts.inc8
-rw-r--r--data/maps/FortreeCity_Gym/scripts.inc48
-rw-r--r--data/maps/FortreeCity_House1/scripts.inc14
-rw-r--r--data/maps/FortreeCity_House2/scripts.inc16
-rw-r--r--data/maps/FortreeCity_House3/scripts.inc4
-rw-r--r--data/maps/FortreeCity_House4/events.inc2
-rw-r--r--data/maps/FortreeCity_House4/scripts.inc14
-rw-r--r--data/maps/FortreeCity_House5/scripts.inc6
-rw-r--r--data/maps/FortreeCity_Mart/scripts.inc8
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/scripts.inc6
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/GraniteCave_1F/events.inc2
-rw-r--r--data/maps/GraniteCave_1F/scripts.inc6
-rw-r--r--data/maps/GraniteCave_B1F/events.inc2
-rw-r--r--data/maps/GraniteCave_B2F/events.inc22
-rw-r--r--data/maps/GraniteCave_StevensRoom/events.inc2
-rw-r--r--data/maps/GraniteCave_StevensRoom/scripts.inc12
-rw-r--r--data/maps/InsideOfTruck/scripts.inc22
-rw-r--r--data/maps/IslandCave/events.inc2
-rw-r--r--data/maps/IslandCave/scripts.inc14
-rw-r--r--data/maps/JaggedPass/events.inc8
-rw-r--r--data/maps/JaggedPass/scripts.inc50
-rw-r--r--data/maps/LavaridgeTown/events.inc6
-rw-r--r--data/maps/LavaridgeTown/scripts.inc40
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/scripts.inc58
-rw-r--r--data/maps/LavaridgeTown_HerbShop/scripts.inc8
-rw-r--r--data/maps/LavaridgeTown_House/scripts.inc4
-rw-r--r--data/maps/LavaridgeTown_Mart/scripts.inc6
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc6
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/LilycoveCity/events.inc20
-rw-r--r--data/maps/LilycoveCity/scripts.inc134
-rw-r--r--data/maps/LilycoveCity_ContestHall/scripts.inc72
-rw-r--r--data/maps/LilycoveCity_ContestLobby/events.inc22
-rw-r--r--data/maps/LilycoveCity_ContestLobby/scripts.inc136
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc14
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc14
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc22
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc4
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc2
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc30
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc40
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc10
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc10
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc10
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc16
-rw-r--r--data/maps/LilycoveCity_Harbor/events.inc8
-rw-r--r--data/maps/LilycoveCity_Harbor/scripts.inc50
-rw-r--r--data/maps/LilycoveCity_House1/scripts.inc4
-rw-r--r--data/maps/LilycoveCity_House2/scripts.inc6
-rw-r--r--data/maps/LilycoveCity_House3/scripts.inc16
-rw-r--r--data/maps/LilycoveCity_House4/scripts.inc4
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc10
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc44
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc6
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc46
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc18
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/events.inc2
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc10
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc10
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc96
-rw-r--r--data/maps/LinkContestRoom1/events.inc2
-rw-r--r--data/maps/LittlerootTown/events.inc12
-rw-r--r--data/maps/LittlerootTown/scripts.inc58
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/events.inc14
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc12
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/events.inc32
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc22
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/events.inc14
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/scripts.inc22
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/events.inc32
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/scripts.inc30
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/events.inc10
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc114
-rw-r--r--data/maps/MagmaHideout_1F/events.inc12
-rw-r--r--data/maps/MagmaHideout_1F/scripts.inc8
-rw-r--r--data/maps/MagmaHideout_2F_1R/events.inc8
-rw-r--r--data/maps/MagmaHideout_2F_1R/scripts.inc16
-rw-r--r--data/maps/MagmaHideout_2F_2R/events.inc12
-rw-r--r--data/maps/MagmaHideout_2F_2R/scripts.inc16
-rw-r--r--data/maps/MagmaHideout_3F_1R/events.inc6
-rw-r--r--data/maps/MagmaHideout_3F_1R/scripts.inc8
-rw-r--r--data/maps/MagmaHideout_3F_2R/events.inc4
-rw-r--r--data/maps/MagmaHideout_3F_2R/scripts.inc4
-rw-r--r--data/maps/MagmaHideout_3F_3R/events.inc2
-rw-r--r--data/maps/MagmaHideout_4F/events.inc16
-rw-r--r--data/maps/MagmaHideout_4F/scripts.inc32
-rw-r--r--data/maps/MarineCave_End/events.inc2
-rw-r--r--data/maps/MarineCave_End/scripts.inc2
-rw-r--r--data/maps/MauvilleCity/events.inc10
-rw-r--r--data/maps/MauvilleCity/scripts.inc76
-rw-r--r--data/maps/MauvilleCity_BikeShop/scripts.inc28
-rw-r--r--data/maps/MauvilleCity_GameCorner/scripts.inc82
-rw-r--r--data/maps/MauvilleCity_Gym/events.inc2
-rw-r--r--data/maps/MauvilleCity_Gym/scripts.inc48
-rw-r--r--data/maps/MauvilleCity_House1/scripts.inc8
-rw-r--r--data/maps/MauvilleCity_House2/scripts.inc10
-rw-r--r--data/maps/MauvilleCity_Mart/scripts.inc6
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc6
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc2
-rw-r--r--data/maps/MeteorFalls_1F_1R/events.inc20
-rw-r--r--data/maps/MeteorFalls_1F_1R/scripts.inc24
-rw-r--r--data/maps/MeteorFalls_1F_2R/scripts.inc45
-rw-r--r--data/maps/MeteorFalls_B1F_2R/events.inc2
-rw-r--r--data/maps/MeteorFalls_StevensCave/scripts.inc8
-rw-r--r--data/maps/MirageTower_3F/events.inc4
-rw-r--r--data/maps/MirageTower_4F/events.inc6
-rw-r--r--data/maps/MirageTower_4F/scripts.inc16
-rw-r--r--data/maps/MossdeepCity/events.inc14
-rw-r--r--data/maps/MossdeepCity/scripts.inc40
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/scripts.inc2
-rw-r--r--data/maps/MossdeepCity_Gym/scripts.inc88
-rw-r--r--data/maps/MossdeepCity_House1/scripts.inc8
-rw-r--r--data/maps/MossdeepCity_House2/events.inc2
-rw-r--r--data/maps/MossdeepCity_House2/scripts.inc8
-rw-r--r--data/maps/MossdeepCity_House3/scripts.inc10
-rw-r--r--data/maps/MossdeepCity_House4/scripts.inc10
-rw-r--r--data/maps/MossdeepCity_Mart/scripts.inc8
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc4
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc2
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/events.inc12
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc54
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/events.inc12
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc80
-rw-r--r--data/maps/MossdeepCity_StevensHouse/events.inc6
-rw-r--r--data/maps/MossdeepCity_StevensHouse/scripts.inc24
-rw-r--r--data/maps/MtChimney/events.inc60
-rw-r--r--data/maps/MtChimney/scripts.inc122
-rw-r--r--data/maps/MtChimney_CableCarStation/scripts.inc6
-rw-r--r--data/maps/MtPyre_1F/scripts.inc8
-rw-r--r--data/maps/MtPyre_2F/events.inc2
-rw-r--r--data/maps/MtPyre_2F/scripts.inc24
-rw-r--r--data/maps/MtPyre_3F/events.inc2
-rw-r--r--data/maps/MtPyre_3F/scripts.inc23
-rw-r--r--data/maps/MtPyre_4F/events.inc2
-rw-r--r--data/maps/MtPyre_4F/scripts.inc4
-rw-r--r--data/maps/MtPyre_5F/events.inc2
-rw-r--r--data/maps/MtPyre_5F/scripts.inc4
-rw-r--r--data/maps/MtPyre_6F/events.inc2
-rw-r--r--data/maps/MtPyre_6F/scripts.inc19
-rw-r--r--data/maps/MtPyre_Exterior/events.inc8
-rw-r--r--data/maps/MtPyre_Summit/events.inc16
-rw-r--r--data/maps/MtPyre_Summit/scripts.inc46
-rw-r--r--data/maps/NavelRock_Bottom/events.inc2
-rw-r--r--data/maps/NavelRock_Bottom/scripts.inc4
-rw-r--r--data/maps/NavelRock_Harbor/scripts.inc6
-rw-r--r--data/maps/NavelRock_Top/events.inc4
-rw-r--r--data/maps/NavelRock_Top/scripts.inc4
-rw-r--r--data/maps/NewMauville_Entrance/scripts.inc6
-rw-r--r--data/maps/NewMauville_Inside/events.inc16
-rw-r--r--data/maps/NewMauville_Inside/scripts.inc12
-rw-r--r--data/maps/OldaleTown/events.inc2
-rw-r--r--data/maps/OldaleTown/scripts.inc30
-rw-r--r--data/maps/OldaleTown_House1/scripts.inc2
-rw-r--r--data/maps/OldaleTown_House2/scripts.inc4
-rw-r--r--data/maps/OldaleTown_Mart/scripts.inc10
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/scripts.inc8
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/PacifidlogTown/scripts.inc8
-rw-r--r--data/maps/PacifidlogTown_House1/scripts.inc4
-rw-r--r--data/maps/PacifidlogTown_House2/scripts.inc26
-rw-r--r--data/maps/PacifidlogTown_House3/scripts.inc12
-rw-r--r--data/maps/PacifidlogTown_House4/scripts.inc10
-rw-r--r--data/maps/PacifidlogTown_House5/scripts.inc6
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc6
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/PetalburgCity/events.inc14
-rw-r--r--data/maps/PetalburgCity/scripts.inc34
-rw-r--r--data/maps/PetalburgCity_Gym/events.inc8
-rw-r--r--data/maps/PetalburgCity_Gym/scripts.inc152
-rw-r--r--data/maps/PetalburgCity_House1/scripts.inc4
-rw-r--r--data/maps/PetalburgCity_House2/scripts.inc4
-rw-r--r--data/maps/PetalburgCity_Mart/scripts.inc10
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc12
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/PetalburgCity_WallysHouse/scripts.inc16
-rw-r--r--data/maps/PetalburgWoods/events.inc24
-rw-r--r--data/maps/PetalburgWoods/scripts.inc76
-rw-r--r--data/maps/Route101/events.inc10
-rw-r--r--data/maps/Route101/scripts.inc28
-rw-r--r--data/maps/Route102/events.inc2
-rw-r--r--data/maps/Route102/scripts.inc44
-rw-r--r--data/maps/Route103/events.inc12
-rw-r--r--data/maps/Route103/scripts.inc103
-rw-r--r--data/maps/Route104/events.inc28
-rw-r--r--data/maps/Route104/scripts.inc194
-rw-r--r--data/maps/Route104_MrBrineysHouse/events.inc4
-rw-r--r--data/maps/Route104_MrBrineysHouse/scripts.inc28
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/scripts.inc28
-rw-r--r--data/maps/Route105/events.inc6
-rw-r--r--data/maps/Route105/scripts.inc39
-rw-r--r--data/maps/Route106/events.inc8
-rw-r--r--data/maps/Route106/scripts.inc29
-rw-r--r--data/maps/Route107/scripts.inc39
-rw-r--r--data/maps/Route108/events.inc4
-rw-r--r--data/maps/Route108/scripts.inc35
-rw-r--r--data/maps/Route109/events.inc20
-rw-r--r--data/maps/Route109/scripts.inc112
-rw-r--r--data/maps/Route109_SeashoreHouse/scripts.inc34
-rw-r--r--data/maps/Route110/events.inc30
-rw-r--r--data/maps/Route110/scripts.inc194
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc4
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc4
-rw-r--r--data/maps/Route110_TrickHouseEnd/events.inc4
-rw-r--r--data/maps/Route110_TrickHouseEnd/scripts.inc58
-rw-r--r--data/maps/Route110_TrickHouseEntrance/events.inc2
-rw-r--r--data/maps/Route110_TrickHouseEntrance/scripts.inc80
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/events.inc24
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/scripts.inc12
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/events.inc4
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/scripts.inc12
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/events.inc8
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/scripts.inc12
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/events.inc22
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/scripts.inc12
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/scripts.inc48
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/events.inc2
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/scripts.inc12
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/events.inc2
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/scripts.inc24
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/events.inc2
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/scripts.inc12
-rw-r--r--data/maps/Route111/events.inc48
-rw-r--r--data/maps/Route111/scripts.inc179
-rw-r--r--data/maps/Route111_OldLadysRestStop/scripts.inc8
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/scripts.inc16
-rw-r--r--data/maps/Route112/events.inc6
-rw-r--r--data/maps/Route112/scripts.inc51
-rw-r--r--data/maps/Route112_CableCarStation/scripts.inc6
-rw-r--r--data/maps/Route113/events.inc12
-rw-r--r--data/maps/Route113/scripts.inc78
-rw-r--r--data/maps/Route113_GlassWorkshop/scripts.inc40
-rw-r--r--data/maps/Route114/events.inc20
-rw-r--r--data/maps/Route114/scripts.inc94
-rw-r--r--data/maps/Route114_FossilManiacsHouse/scripts.inc8
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/scripts.inc8
-rw-r--r--data/maps/Route114_LanettesHouse/events.inc2
-rw-r--r--data/maps/Route114_LanettesHouse/scripts.inc14
-rw-r--r--data/maps/Route115/events.inc16
-rw-r--r--data/maps/Route115/scripts.inc79
-rw-r--r--data/maps/Route116/events.inc32
-rw-r--r--data/maps/Route116/scripts.inc122
-rw-r--r--data/maps/Route116_TunnelersRestHouse/scripts.inc8
-rw-r--r--data/maps/Route117/events.inc8
-rw-r--r--data/maps/Route117/scripts.inc118
-rw-r--r--data/maps/Route118/events.inc22
-rw-r--r--data/maps/Route118/scripts.inc68
-rw-r--r--data/maps/Route119/events.inc40
-rw-r--r--data/maps/Route119/scripts.inc136
-rw-r--r--data/maps/Route119_House/scripts.inc4
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/events.inc8
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/scripts.inc20
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/events.inc14
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/scripts.inc48
-rw-r--r--data/maps/Route120/events.inc48
-rw-r--r--data/maps/Route120/scripts.inc104
-rw-r--r--data/maps/Route121/events.inc26
-rw-r--r--data/maps/Route121/scripts.inc85
-rw-r--r--data/maps/Route121_SafariZoneEntrance/scripts.inc26
-rw-r--r--data/maps/Route123/events.inc26
-rw-r--r--data/maps/Route123/scripts.inc111
-rw-r--r--data/maps/Route123_BerryMastersHouse/scripts.inc30
-rw-r--r--data/maps/Route124/events.inc6
-rw-r--r--data/maps/Route124/scripts.inc71
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc20
-rw-r--r--data/maps/Route125/events.inc2
-rw-r--r--data/maps/Route125/scripts.inc47
-rw-r--r--data/maps/Route126/events.inc2
-rw-r--r--data/maps/Route126/scripts.inc43
-rw-r--r--data/maps/Route127/events.inc6
-rw-r--r--data/maps/Route127/scripts.inc43
-rw-r--r--data/maps/Route128/events.inc12
-rw-r--r--data/maps/Route128/scripts.inc66
-rw-r--r--data/maps/Route129/scripts.inc20
-rw-r--r--data/maps/Route130/events.inc2
-rw-r--r--data/maps/Route130/scripts.inc42
-rw-r--r--data/maps/Route131/scripts.inc32
-rw-r--r--data/maps/Route132/events.inc4
-rw-r--r--data/maps/Route132/scripts.inc32
-rw-r--r--data/maps/Route133/events.inc6
-rw-r--r--data/maps/Route133/scripts.inc28
-rw-r--r--data/maps/Route134/events.inc4
-rw-r--r--data/maps/Route134/scripts.inc36
-rw-r--r--data/maps/RustboroCity/events.inc10
-rw-r--r--data/maps/RustboroCity/scripts.inc128
-rw-r--r--data/maps/RustboroCity_CuttersHouse/scripts.inc8
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/scripts.inc22
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/scripts.inc42
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/events.inc2
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/scripts.inc42
-rw-r--r--data/maps/RustboroCity_Flat1_1F/scripts.inc4
-rw-r--r--data/maps/RustboroCity_Flat1_2F/scripts.inc30
-rw-r--r--data/maps/RustboroCity_Flat2_1F/scripts.inc4
-rw-r--r--data/maps/RustboroCity_Flat2_2F/scripts.inc6
-rw-r--r--data/maps/RustboroCity_Flat2_3F/scripts.inc4
-rw-r--r--data/maps/RustboroCity_Gym/scripts.inc34
-rw-r--r--data/maps/RustboroCity_House1/scripts.inc12
-rw-r--r--data/maps/RustboroCity_House2/scripts.inc4
-rw-r--r--data/maps/RustboroCity_House3/scripts.inc6
-rw-r--r--data/maps/RustboroCity_Mart/scripts.inc10
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/scripts.inc6
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/RustboroCity_PokemonSchool/events.inc2
-rw-r--r--data/maps/RustboroCity_PokemonSchool/scripts.inc38
-rw-r--r--data/maps/RusturfTunnel/events.inc18
-rw-r--r--data/maps/RusturfTunnel/scripts.inc34
-rw-r--r--data/maps/SSTidalCorridor/events.inc6
-rw-r--r--data/maps/SSTidalCorridor/scripts.inc42
-rw-r--r--data/maps/SSTidalLowerDeck/events.inc2
-rw-r--r--data/maps/SSTidalLowerDeck/scripts.inc8
-rw-r--r--data/maps/SSTidalRooms/events.inc2
-rw-r--r--data/maps/SSTidalRooms/scripts.inc36
-rw-r--r--data/maps/SafariZone_North/events.inc14
-rw-r--r--data/maps/SafariZone_North/scripts.inc4
-rw-r--r--data/maps/SafariZone_Northeast/events.inc16
-rw-r--r--data/maps/SafariZone_Northwest/events.inc2
-rw-r--r--data/maps/SafariZone_Northwest/scripts.inc2
-rw-r--r--data/maps/SafariZone_RestHouse/scripts.inc6
-rw-r--r--data/maps/SafariZone_South/events.inc4
-rw-r--r--data/maps/SafariZone_South/scripts.inc32
-rw-r--r--data/maps/SafariZone_Southeast/events.inc8
-rw-r--r--data/maps/SafariZone_Southwest/events.inc2
-rw-r--r--data/maps/SafariZone_Southwest/scripts.inc4
-rw-r--r--data/maps/ScorchedSlab/events.inc2
-rw-r--r--data/maps/SeafloorCavern_Entrance/events.inc2
-rw-r--r--data/maps/SeafloorCavern_Entrance/scripts.inc4
-rw-r--r--data/maps/SeafloorCavern_Room1/events.inc10
-rw-r--r--data/maps/SeafloorCavern_Room1/scripts.inc8
-rw-r--r--data/maps/SeafloorCavern_Room2/events.inc16
-rw-r--r--data/maps/SeafloorCavern_Room3/events.inc18
-rw-r--r--data/maps/SeafloorCavern_Room3/scripts.inc8
-rw-r--r--data/maps/SeafloorCavern_Room4/events.inc4
-rw-r--r--data/maps/SeafloorCavern_Room4/scripts.inc8
-rw-r--r--data/maps/SeafloorCavern_Room5/events.inc12
-rw-r--r--data/maps/SeafloorCavern_Room8/events.inc24
-rw-r--r--data/maps/SeafloorCavern_Room9/events.inc14
-rw-r--r--data/maps/SeafloorCavern_Room9/scripts.inc60
-rw-r--r--data/maps/SealedChamber_InnerRoom/scripts.inc2
-rw-r--r--data/maps/SealedChamber_OuterRoom/scripts.inc2
-rw-r--r--data/maps/SecretBase_BlueCave1/events.inc30
-rw-r--r--data/maps/SecretBase_BlueCave2/events.inc30
-rw-r--r--data/maps/SecretBase_BlueCave3/events.inc30
-rw-r--r--data/maps/SecretBase_BlueCave4/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave1/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave2/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave3/events.inc30
-rw-r--r--data/maps/SecretBase_BrownCave4/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave1/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave2/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave3/events.inc30
-rw-r--r--data/maps/SecretBase_RedCave4/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub1/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub2/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub3/events.inc30
-rw-r--r--data/maps/SecretBase_Shrub4/events.inc30
-rw-r--r--data/maps/SecretBase_Tree1/events.inc30
-rw-r--r--data/maps/SecretBase_Tree2/events.inc30
-rw-r--r--data/maps/SecretBase_Tree3/events.inc30
-rw-r--r--data/maps/SecretBase_Tree4/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave1/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave2/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave3/events.inc30
-rw-r--r--data/maps/SecretBase_YellowCave4/events.inc30
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/events.inc2
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc16
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/events.inc4
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/events.inc2
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/scripts.inc4
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/events.inc2
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/scripts.inc6
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/events.inc2
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/scripts.inc2
-rw-r--r--data/maps/SkyPillar_Outside/events.inc2
-rw-r--r--data/maps/SkyPillar_Outside/scripts.inc12
-rw-r--r--data/maps/SkyPillar_Top/events.inc4
-rw-r--r--data/maps/SkyPillar_Top/scripts.inc6
-rw-r--r--data/maps/SlateportCity/events.inc32
-rw-r--r--data/maps/SlateportCity/scripts.inc176
-rw-r--r--data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc16
-rw-r--r--data/maps/SlateportCity_BattleTentCorridor/scripts.inc22
-rw-r--r--data/maps/SlateportCity_BattleTentLobby/scripts.inc66
-rw-r--r--data/maps/SlateportCity_Harbor/events.inc16
-rw-r--r--data/maps/SlateportCity_Harbor/scripts.inc62
-rw-r--r--data/maps/SlateportCity_House1/scripts.inc18
-rw-r--r--data/maps/SlateportCity_House2/scripts.inc4
-rw-r--r--data/maps/SlateportCity_Mart/scripts.inc6
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/events.inc24
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc56
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/events.inc14
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc60
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/scripts.inc4
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/scripts.inc54
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/events.inc2
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/scripts.inc20
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/scripts.inc4
-rw-r--r--data/maps/SootopolisCity/events.inc26
-rw-r--r--data/maps/SootopolisCity/scripts.inc120
-rw-r--r--data/maps/SootopolisCity_Gym_1F/scripts.inc34
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/scripts.inc40
-rw-r--r--data/maps/SootopolisCity_House1/scripts.inc8
-rw-r--r--data/maps/SootopolisCity_House2/scripts.inc6
-rw-r--r--data/maps/SootopolisCity_House3/scripts.inc8
-rw-r--r--data/maps/SootopolisCity_House4/scripts.inc6
-rw-r--r--data/maps/SootopolisCity_House5/scripts.inc4
-rw-r--r--data/maps/SootopolisCity_House6/scripts.inc12
-rw-r--r--data/maps/SootopolisCity_House7/scripts.inc4
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc28
-rw-r--r--data/maps/SootopolisCity_Mart/scripts.inc10
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc26
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc12
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc8
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/SouthernIsland_Exterior/scripts.inc8
-rw-r--r--data/maps/SouthernIsland_Interior/events.inc4
-rw-r--r--data/maps/SouthernIsland_Interior/scripts.inc6
-rw-r--r--data/maps/TerraCave_End/events.inc2
-rw-r--r--data/maps/TerraCave_End/scripts.inc2
-rw-r--r--data/maps/TrainerHill_Elevator/scripts.inc2
-rw-r--r--data/maps/TrainerHill_Entrance/scripts.inc36
-rw-r--r--data/maps/TrainerHill_Roof/scripts.inc18
-rw-r--r--data/maps/Underwater1/events.inc14
-rw-r--r--data/maps/Underwater2/events.inc16
-rw-r--r--data/maps/Underwater3/events.inc8
-rw-r--r--data/maps/Underwater4/events.inc4
-rw-r--r--data/maps/Underwater_SeafloorCavern/events.inc8
-rw-r--r--data/maps/Underwater_SeafloorCavern/scripts.inc4
-rw-r--r--data/maps/UnionRoom/events.inc16
-rw-r--r--data/maps/UnionRoom/scripts.inc16
-rw-r--r--data/maps/UnknownMap_25_34/scripts.inc4
-rw-r--r--data/maps/VerdanturfTown/scripts.inc20
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc22
-rw-r--r--data/maps/VerdanturfTown_BattleTentLobby/events.inc2
-rw-r--r--data/maps/VerdanturfTown_BattleTentLobby/scripts.inc90
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc18
-rw-r--r--data/maps/VerdanturfTown_House/scripts.inc4
-rw-r--r--data/maps/VerdanturfTown_Mart/scripts.inc8
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc4
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/events.inc2
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/events.inc8
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/scripts.inc26
-rw-r--r--data/maps/VictoryRoad_1F/events.inc10
-rw-r--r--data/maps/VictoryRoad_1F/scripts.inc39
-rw-r--r--data/maps/VictoryRoad_B1F/events.inc32
-rw-r--r--data/maps/VictoryRoad_B1F/scripts.inc20
-rw-r--r--data/maps/VictoryRoad_B2F/events.inc6
-rw-r--r--data/maps/VictoryRoad_B2F/scripts.inc24
-rw-r--r--data/mossdeep_gym.s43
-rw-r--r--data/pokedex.s244
-rw-r--r--data/pokedex_area_screen.s92
-rw-r--r--data/pokedex_cry_screen.s110
-rw-r--r--data/pokedex_entries.inc776
-rw-r--r--data/script_menu.s780
-rw-r--r--data/script_pokemon_util_80F87D8.s7
-rw-r--r--data/scripts/apprentice.inc2
-rw-r--r--data/scripts/berry_tree.inc6
-rw-r--r--data/scripts/cable_club.inc118
-rw-r--r--data/scripts/contest_hall.inc74
-rw-r--r--data/scripts/day_care.inc70
-rw-r--r--data/scripts/field_move_scripts.inc40
-rw-r--r--data/scripts/gabby_and_ty.inc112
-rw-r--r--data/scripts/mauville_man.inc72
-rw-r--r--data/scripts/mystery_event_club.inc24
-rw-r--r--data/scripts/players_house.inc72
-rw-r--r--data/scripts/pokeblocks.inc114
-rw-r--r--data/scripts/safari_zone.inc4
-rw-r--r--data/scripts/secret_power_tm.inc10
-rw-r--r--data/scripts/tv.inc8
-rw-r--r--data/shop.s80
-rw-r--r--data/specials.inc36
-rw-r--r--data/text/pokedex_text.inc2321
-rw-r--r--data/use_pokeblock.s2
-rw-r--r--graphics/battle_interface/textbox.png (renamed from graphics/interface/menu.png)bin444 -> 444 bytes
-rw-r--r--graphics/battle_interface/textbox_0.pal (renamed from graphics/interface/menu_0.pal)0
-rw-r--r--graphics/battle_interface/textbox_1.pal (renamed from graphics/interface/menu_1.pal)0
-rw-r--r--graphics/battle_interface/textbox_map.bin (renamed from graphics/interface/menu_map.bin)bin4096 -> 4096 bytes
-rw-r--r--graphics/pokedex/85B8BF0.pal19
-rwxr-xr-xgraphics/pokedex/85B8C10.pngbin0 -> 135 bytes
-rw-r--r--graphics/trainers/front_pics/pokefan_f_front_pic.png (renamed from graphics/trainers/front_pics/winstrate_f_front_pic.png)bin849 -> 849 bytes
-rw-r--r--graphics/trainers/front_pics/pokefan_m_front_pic.png (renamed from graphics/trainers/front_pics/winstrate_m_front_pic.png)bin786 -> 786 bytes
-rw-r--r--graphics/trainers/palettes/pokefan_f.pal (renamed from graphics/trainers/palettes/winstrate_f.pal)0
-rw-r--r--graphics/trainers/palettes/pokefan_m.pal (renamed from graphics/trainers/palettes/winstrate_m.pal)0
-rw-r--r--graphics_file_rules.mk4
-rw-r--r--include/apprentice.h3
-rw-r--r--include/battle.h25
-rw-r--r--include/battle_anim.h107
-rw-r--r--include/battle_arena.h14
-rw-r--r--include/battle_controllers.h3
-rw-r--r--include/battle_dome.h2
-rw-r--r--include/battle_factory.h9
-rw-r--r--include/battle_factory_screen.h7
-rw-r--r--include/battle_frontier_1.h6
-rw-r--r--include/battle_frontier_2.h18
-rw-r--r--include/battle_interface.h2
-rw-r--r--include/battle_pike.h9
-rw-r--r--include/battle_pyramid.h24
-rw-r--r--include/battle_pyramid_bag.h1
-rw-r--r--include/battle_scripts.h2
-rw-r--r--include/battle_setup.h17
-rw-r--r--include/battle_tower.h74
-rw-r--r--include/berry.h24
-rw-r--r--include/berry_blender.h2
-rw-r--r--include/bg.h4
-rw-r--r--include/blit.h7
-rw-r--r--include/constants/battle_anim.h635
-rw-r--r--include/constants/battle_frontier.h20
-rw-r--r--include/constants/battle_script_commands.h14
-rw-r--r--include/constants/battle_setup.h18
-rw-r--r--include/constants/field_effects.h72
-rw-r--r--include/constants/flags.h1378
-rw-r--r--include/constants/pokemon.h9
-rw-r--r--include/constants/species.h2
-rw-r--r--include/constants/trainers.h199
-rw-r--r--include/contest.h8
-rw-r--r--include/contest_link_80F57C4.h3
-rw-r--r--include/contest_painting.h1
-rw-r--r--include/decompress.h6
-rw-r--r--include/decoration_inventory.h5
-rw-r--r--include/event_object_movement.h50
-rw-r--r--include/event_scripts.h61
-rw-r--r--include/field_camera.h10
-rw-r--r--include/field_control_avatar.h2
-rw-r--r--include/field_effect.h195
-rw-r--r--include/field_effect_helpers.h8
-rw-r--r--include/field_player_avatar.h31
-rw-r--r--include/field_poison.h4
-rw-r--r--include/field_region_map.h6
-rw-r--r--include/field_specials.h2
-rw-r--r--include/fieldmap.h1
-rw-r--r--include/fldeff_80F9BCC.h2
-rw-r--r--include/fldeff_teleport.h7
-rw-r--r--include/frontier_util.h34
-rw-r--r--include/gba/io_reg.h2
-rw-r--r--include/gba/syscall.h4
-rw-r--r--include/global.fieldmap.h24
-rw-r--r--include/global.h209
-rw-r--r--include/graphics.h6951
-rw-r--r--include/international_string_util.h31
-rw-r--r--include/item_menu.h1
-rw-r--r--include/librfu.h14
-rw-r--r--include/link_rfu.h36
-rw-r--r--include/load_save.h3
-rw-r--r--include/main.h4
-rw-r--r--include/menu.h20
-rw-r--r--include/metatile_behavior.h2
-rw-r--r--include/mossdeep_gym.h9
-rw-r--r--include/new_game.h9
-rw-r--r--include/overworld.h15
-rw-r--r--include/party_menu.h1
-rw-r--r--include/pokedex.h26
-rwxr-xr-xinclude/pokedex_area_screen.h2
-rwxr-xr-xinclude/pokedex_cry_screen.h2
-rw-r--r--include/pokemon.h31
-rw-r--r--include/record_mixing.h30
-rw-r--r--include/recorded_battle.h18
-rw-r--r--include/region_map.h14
-rw-r--r--include/save.h29
-rw-r--r--include/save_location.h1
-rw-r--r--include/script_menu.h8
-rw-r--r--include/script_pokemon_util_80F87D8.h4
-rw-r--r--include/shop.h37
-rw-r--r--include/sprite.h25
-rw-r--r--include/start_menu.h2
-rw-r--r--include/starter_choose.h6
-rw-r--r--include/string_util.h6
-rw-r--r--include/strings.h547
-rw-r--r--include/text.h97
-rw-r--r--include/tv.h2
-rwxr-xr-xinclude/unk_pokedex_area_screen_helper.h17
-rw-r--r--include/window.h6
-rw-r--r--ld_script.txt195
-rw-r--r--songs.mk150
-rw-r--r--sound/song_table.inc14
-rw-r--r--sound/songs/midi/se_mizu.midbin0 -> 105 bytes
-rw-r--r--sound/songs/midi/se_moter.midbin0 -> 87 bytes
-rw-r--r--sound/songs/midi/se_mu_pachi.midbin0 -> 87 bytes
-rw-r--r--sound/songs/midi/se_n.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_nageru.midbin0 -> 133 bytes
-rw-r--r--sound/songs/midi/se_naminori.midbin0 -> 149 bytes
-rw-r--r--sound/songs/midi/se_nigeru.midbin0 -> 164 bytes
-rw-r--r--sound/songs/midi/se_o.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_op_basyu.midbin0 -> 297 bytes
-rw-r--r--sound/songs/midi/se_pc_login.midbin0 -> 108 bytes
-rw-r--r--sound/songs/midi/se_pc_off.midbin0 -> 96 bytes
-rw-r--r--sound/songs/midi/se_pc_on.midbin0 -> 148 bytes
-rw-r--r--sound/songs/midi/se_pin.midbin0 -> 107 bytes
-rw-r--r--sound/songs/midi/se_pinpon.midbin0 -> 130 bytes
-rw-r--r--sound/songs/midi/se_pn_off.midbin0 -> 227 bytes
-rw-r--r--sound/songs/midi/se_pn_on.midbin0 -> 227 bytes
-rw-r--r--sound/songs/midi/se_poke_dead.midbin0 -> 161 bytes
-rw-r--r--sound/songs/midi/se_reapoke.midbin0 -> 257 bytes
-rw-r--r--sound/songs/midi/se_regi.midbin0 -> 130 bytes
-rw-r--r--sound/songs/midi/se_rg_bag1.midbin0 -> 115 bytes
-rw-r--r--sound/songs/midi/se_rg_bag2.midbin0 -> 145 bytes
-rw-r--r--sound/songs/midi/se_rg_card1.midbin0 -> 98 bytes
-rw-r--r--sound/songs/midi/se_rg_card2.midbin0 -> 109 bytes
-rw-r--r--sound/songs/midi/se_rg_card3.midbin0 -> 269 bytes
-rw-r--r--sound/songs/midi/se_rg_deomov.midbin0 -> 466 bytes
-rw-r--r--sound/songs/midi/se_rg_excellent.midbin0 -> 436 bytes
-rw-r--r--sound/songs/midi/se_rg_getting.midbin0 -> 119 bytes
-rw-r--r--sound/songs/midi/se_rg_help_cl.midbin0 -> 233 bytes
-rw-r--r--sound/songs/midi/se_rg_help_ng.midbin0 -> 155 bytes
-rw-r--r--sound/songs/midi/se_rg_help_op.midbin0 -> 233 bytes
-rw-r--r--sound/songs/midi/se_rg_kiteki.midbin0 -> 289 bytes
-rw-r--r--sound/songs/midi/se_rg_nawamiss.midbin0 -> 99 bytes
-rw-r--r--sound/songs/midi/se_rg_shop.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_rg_w_door.midbin0 -> 168 bytes
-rw-r--r--sound/songs/midi/se_ru_bari.midbin0 -> 142 bytes
-rw-r--r--sound/songs/midi/se_ru_gashin.midbin0 -> 122 bytes
-rw-r--r--sound/songs/midi/se_ru_gasyan.midbin0 -> 184 bytes
-rw-r--r--sound/songs/midi/se_ru_hyuu.midbin0 -> 162 bytes
-rw-r--r--sound/songs/midi/se_save.midbin0 -> 179 bytes
-rw-r--r--sound/songs/midi/se_seikai.midbin0 -> 83 bytes
-rw-r--r--sound/songs/midi/se_select.midbin0 -> 107 bytes
-rw-r--r--sound/songs/midi/se_suikomu.midbin0 -> 156 bytes
-rw-r--r--sound/songs/midi/se_t_ame.midbin0 -> 118 bytes
-rw-r--r--sound/songs/midi/se_t_ame_e.midbin0 -> 134 bytes
-rw-r--r--sound/songs/midi/se_t_kami.midbin0 -> 191 bytes
-rw-r--r--sound/songs/midi/se_t_kami2.midbin0 -> 142 bytes
-rw-r--r--sound/songs/midi/se_t_koame.midbin0 -> 118 bytes
-rw-r--r--sound/songs/midi/se_t_koame_e.midbin0 -> 134 bytes
-rw-r--r--sound/songs/midi/se_t_ooame.midbin0 -> 118 bytes
-rw-r--r--sound/songs/midi/se_t_ooame_e.midbin0 -> 134 bytes
-rw-r--r--sound/songs/se_mizu.s54
-rw-r--r--sound/songs/se_moter.s49
-rw-r--r--sound/songs/se_mu_pachi.s47
-rw-r--r--sound/songs/se_n.s45
-rw-r--r--sound/songs/se_nageru.s64
-rw-r--r--sound/songs/se_naminori.s94
-rw-r--r--sound/songs/se_nigeru.s64
-rw-r--r--sound/songs/se_o.s45
-rw-r--r--sound/songs/se_op_basyu.s174
-rw-r--r--sound/songs/se_pc_login.s49
-rw-r--r--sound/songs/se_pc_off.s48
-rw-r--r--sound/songs/se_pc_on.s74
-rw-r--r--sound/songs/se_pin.s50
-rw-r--r--sound/songs/se_pinpon.s98
-rw-r--r--sound/songs/se_pn_off.s86
-rw-r--r--sound/songs/se_pn_on.s86
-rw-r--r--sound/songs/se_poke_dead.s84
-rw-r--r--sound/songs/se_reapoke.s106
-rw-r--r--sound/songs/se_regi.s63
-rw-r--r--sound/songs/se_rg_bag1.s60
-rw-r--r--sound/songs/se_rg_bag2.s65
-rw-r--r--sound/songs/se_rg_card1.s48
-rw-r--r--sound/songs/se_rg_card2.s62
-rw-r--r--sound/songs/se_rg_card3.s110
-rw-r--r--sound/songs/se_rg_deomov.s204
-rw-r--r--sound/songs/se_rg_excellent.s155
-rw-r--r--sound/songs/se_rg_getting.s69
-rw-r--r--sound/songs/se_rg_help_cl.s82
-rw-r--r--sound/songs/se_rg_help_ng.s64
-rw-r--r--sound/songs/se_rg_help_op.s82
-rw-r--r--sound/songs/se_rg_kiteki.s161
-rw-r--r--sound/songs/se_rg_nawamiss.s55
-rw-r--r--sound/songs/se_rg_shop.s46
-rw-r--r--sound/songs/se_rg_w_door.s84
-rw-r--r--sound/songs/se_ru_bari.s64
-rw-r--r--sound/songs/se_ru_gashin.s64
-rw-r--r--sound/songs/se_ru_gasyan.s83
-rw-r--r--sound/songs/se_ru_hyuu.s80
-rw-r--r--sound/songs/se_save.s78
-rw-r--r--sound/songs/se_seikai.s44
-rw-r--r--sound/songs/se_select.s50
-rw-r--r--sound/songs/se_suikomu.s78
-rw-r--r--sound/songs/se_t_ame.s65
-rw-r--r--sound/songs/se_t_ame_e.s74
-rw-r--r--sound/songs/se_t_kami.s98
-rw-r--r--sound/songs/se_t_kami2.s80
-rw-r--r--sound/songs/se_t_koame.s65
-rw-r--r--sound/songs/se_t_koame_e.s74
-rw-r--r--sound/songs/se_t_ooame.s64
-rw-r--r--sound/songs/se_t_ooame_e.s74
-rw-r--r--src/anim_mon_front_pics.c832
-rw-r--r--src/apprentice.c135
-rw-r--r--src/battle_ai_script_commands.c17
-rw-r--r--src/battle_ai_switch_items.c8
-rw-r--r--src/battle_anim.c1340
-rw-r--r--src/battle_anim_80A5C6C.c58
-rw-r--r--src/battle_anim_80A9C70.c18
-rw-r--r--src/battle_anim_80D51AC.c97
-rw-r--r--src/battle_anim_sound_tasks.c26
-rw-r--r--src/battle_anim_utility_funcs.c1060
-rw-r--r--src/battle_arena.c926
-rw-r--r--src/battle_bg.c121
-rw-r--r--src/battle_controller_link_opponent.c65
-rw-r--r--src/battle_controller_link_partner.c50
-rw-r--r--src/battle_controller_opponent.c64
-rw-r--r--src/battle_controller_player.c79
-rw-r--r--src/battle_controller_player_partner.c53
-rw-r--r--src/battle_controller_recorded_opponent.c56
-rw-r--r--src/battle_controller_recorded_player.c48
-rw-r--r--src/battle_controller_safari.c35
-rw-r--r--src/battle_controller_wally.c53
-rw-r--r--src/battle_controllers.c78
-rw-r--r--src/battle_dome.c406
-rw-r--r--src/battle_factory.c4397
-rw-r--r--src/battle_factory_screen.c4113
-rw-r--r--src/battle_frontier_1.c118
-rw-r--r--src/battle_gfx_sfx_util.c17
-rw-r--r--src/battle_interface.c119
-rw-r--r--src/battle_intro.c21
-rw-r--r--src/battle_main.c147
-rw-r--r--src/battle_message.c118
-rw-r--r--src/battle_palace.c188
-rw-r--r--src/battle_pike.c1642
-rw-r--r--src/battle_pyramid.c1940
-rw-r--r--src/battle_pyramid_bag.c61
-rw-r--r--src/battle_records.c4
-rw-r--r--src/battle_script_commands.c211
-rw-r--r--src/battle_setup.c32
-rw-r--r--src/battle_tent.c279
-rw-r--r--src/battle_tower.c2739
-rw-r--r--src/battle_transition.c30
-rw-r--r--src/battle_util.c10
-rw-r--r--src/berry.c93
-rw-r--r--src/berry_blender.c57
-rw-r--r--src/berry_fix_program.c22
-rw-r--r--src/berry_tag_screen.c8
-rw-r--r--src/bg.c1195
-rw-r--r--src/bike.c12
-rw-r--r--src/braille_puzzles.c9
-rw-r--r--src/bug.c484
-rw-r--r--src/cable_club.c18
-rw-r--r--src/clear_save_data_screen.c156
-rw-r--r--src/contest.c29
-rw-r--r--src/contest_ai.c2
-rw-r--r--src/contest_painting.c8
-rw-r--r--src/credits.c22
-rw-r--r--src/dark.c169
-rw-r--r--src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h1063
-rw-r--r--src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h1063
-rw-r--r--src/data/battle_moves.h8524
-rw-r--r--src/data/decoration/description.h8
-rw-r--r--src/data/decoration/header.h9
-rw-r--r--src/data/decoration/icon.h11
-rw-r--r--src/data/decoration/tilemaps.h9
-rw-r--r--src/data/decoration/tiles.h5
-rwxr-xr-xsrc/data/field_event_obj/base_oam.h5
-rwxr-xr-xsrc/data/field_event_obj/berry_tree_graphics_tables.h6
-rwxr-xr-xsrc/data/field_event_obj/event_object_anims.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics.h7
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics_info.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics_info_pointers.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_pic_tables.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_subsprites.h5
-rwxr-xr-xsrc/data/field_event_obj/field_effect_object_template_pointers.h5
-rwxr-xr-xsrc/data/field_event_obj/field_effect_objects.h33
-rwxr-xr-xsrc/data/field_event_obj/movement_action_func_tables.h5
-rwxr-xr-xsrc/data/field_event_obj/movement_type_func_tables.h5
-rw-r--r--src/data/graphics/battle_terrain.h130
-rw-r--r--src/data/graphics/berries.h182
-rw-r--r--src/data/graphics/berry_fix.h24
-rw-r--r--src/data/graphics/decorations.h168
-rw-r--r--src/data/graphics/interface_pokeballs.h50
-rw-r--r--src/data/graphics/intro_scene.h54
-rw-r--r--src/data/graphics/items.h942
-rw-r--r--src/data/graphics/mail.h48
-rw-r--r--src/data/graphics/pokemon.h3208
-rw-r--r--src/data/graphics/rayquaza_scene.h102
-rw-r--r--src/data/graphics/slot_machine.h4
-rw-r--r--src/data/graphics/trainers.h376
-rw-r--r--src/data/item_icon_table.h817
-rw-r--r--src/data/items.h782
-rw-r--r--src/data/pokedex_orders.h1199
-rw-r--r--src/data/pokemon/base_stats.h5
-rw-r--r--src/data/pokemon/cry_ids.h5
-rw-r--r--src/data/pokemon/egg_moves.h5
-rw-r--r--src/data/pokemon/evolution.h5
-rw-r--r--src/data/pokemon/experience_tables.h5
-rw-r--r--src/data/pokemon/item_effects.h5
-rw-r--r--src/data/pokemon/level_up_learnset_pointers.h5
-rw-r--r--src/data/pokemon/level_up_learnsets.h5
-rw-r--r--src/data/pokemon/pokedex_entries.h4646
-rw-r--r--src/data/pokemon/pokedex_orders.h1195
-rw-r--r--src/data/pokemon/pokedex_text.h2321
-rw-r--r--src/data/pokemon/tmhm_learnsets.h5
-rw-r--r--src/data/pokemon/trainer_class_lookups.h332
-rw-r--r--src/data/pokemon_graphics/back_pic_coordinates.h881
-rw-r--r--src/data/pokemon_graphics/back_pic_table.h881
-rw-r--r--src/data/pokemon_graphics/footprint_table.h416
-rw-r--r--src/data/pokemon_graphics/front_pic_coordinates.h716
-rw-r--r--src/data/pokemon_graphics/front_pic_table.h887
-rw-r--r--src/data/pokemon_graphics/palette_table.h880
-rw-r--r--src/data/pokemon_graphics/shiny_palette_table.h880
-rw-r--r--src/data/text/item_descriptions.h33
-rw-r--r--src/data/text/trainer_class_names.h137
-rw-r--r--src/data/trainer_graphics/back_pic_tables.h19
-rw-r--r--src/data/trainer_graphics/front_pic_anims.h192
-rw-r--r--src/data/trainer_graphics/front_pic_tables.h8
-rw-r--r--src/data/trainer_parties.h1
-rw-r--r--src/data/trainers.h296
-rw-r--r--src/data2b.c5
-rw-r--r--src/daycare.c10
-rw-r--r--src/decompress.c9
-rw-r--r--src/decoration.c46
-rw-r--r--src/dewford_trend.c3
-rw-r--r--src/diploma.c25
-rw-r--r--src/dragon.c437
-rw-r--r--src/easy_chat.c1
-rw-r--r--src/effects_1.c2093
-rw-r--r--src/effects_2.c1197
-rw-r--r--src/egg_hatch.c24
-rw-r--r--src/electric.c438
-rw-r--r--src/event_object_movement.c423
-rw-r--r--src/evolution_graphics.c2
-rw-r--r--src/evolution_scene.c21
-rw-r--r--src/field_camera.c376
-rw-r--r--src/field_control_avatar.c60
-rw-r--r--src/field_door.c6
-rw-r--r--src/field_effect.c1066
-rwxr-xr-xsrc/field_effect_helpers.c327
-rwxr-xr-xsrc/field_message_box.c8
-rw-r--r--src/field_player_avatar.c1794
-rw-r--r--src/field_poison.c64
-rw-r--r--src/field_region_map.c22
-rw-r--r--src/field_specials.c352
-rw-r--r--src/field_tasks.c28
-rw-r--r--src/fieldmap.c8
-rw-r--r--src/fight.c1035
-rw-r--r--src/fire.c438
-rw-r--r--src/fldeff_cut.c1
-rw-r--r--src/fldeff_escalator.c132
-rw-r--r--src/fldeff_flash.c11
-rw-r--r--src/fldeff_groundshake.c7
-rw-r--r--src/fldeff_softboiled.c2
-rw-r--r--src/fldeff_strength.c2
-rw-r--r--src/fldeff_sweetscent.c31
-rw-r--r--src/fldeff_teleport.c19
-rw-r--r--src/flying.c328
-rw-r--r--src/fossil_specials.c803
-rw-r--r--src/frontier_util.c2847
-rw-r--r--src/ghost.c186
-rw-r--r--src/graphics.c1814
-rw-r--r--src/ground.c748
-rw-r--r--src/hall_of_fame.c44
-rw-r--r--src/hof_pc.c2
-rw-r--r--src/ice.c491
-rw-r--r--src/international_string_util.c208
-rw-r--r--src/intro.c28
-rw-r--r--src/intro_credits_graphics.c68
-rw-r--r--src/item.c11
-rw-r--r--src/item_icon.c5
-rwxr-xr-xsrc/item_menu.c40
-rw-r--r--src/item_menu_icons.c72
-rwxr-xr-xsrc/item_use.c6
-rw-r--r--src/learn_move.c8
-rw-r--r--src/librfu_stwi.c34
-rw-r--r--src/link.c4
-rw-r--r--src/link_rfu.c1748
-rw-r--r--src/list_menu.c6
-rw-r--r--src/load_save.c11
-rw-r--r--src/lottery_corner.c22
-rw-r--r--src/mail.c2
-rw-r--r--src/main.c2
-rw-r--r--src/main_menu.c64
-rw-r--r--src/map_name_popup.c236
-rw-r--r--src/match_call.c8
-rw-r--r--src/mauville_old_man.c4
-rw-r--r--src/menu.c150
-rw-r--r--src/menu_helpers.c8
-rw-r--r--src/metatile_behavior.c2
-rw-r--r--src/mon_markings.c10
-rw-r--r--src/money.c4
-rw-r--r--src/mossdeep_gym.c313
-rw-r--r--src/multiboot.c2
-rw-r--r--src/mystery_event_menu.c4
-rw-r--r--src/mystery_event_script.c1
-rw-r--r--src/naming_screen.c29
-rw-r--r--src/new_game.c29
-rw-r--r--src/normal.c970
-rw-r--r--src/option_menu.c4
-rw-r--r--src/overworld.c126
-rwxr-xr-xsrc/party_menu.c13
-rw-r--r--src/player_pc.c128
-rw-r--r--src/poison.c323
-rw-r--r--src/pokeball.c24
-rw-r--r--src/pokeblock.c78
-rw-r--r--src/pokeblock_feed.c43
-rw-r--r--src/pokedex.c1626
-rwxr-xr-xsrc/pokedex_area_screen.c720
-rwxr-xr-xsrc/pokedex_cry_screen.c511
-rw-r--r--src/pokemon.c2563
-rw-r--r--src/pokemon_animation.c804
-rw-r--r--src/pokemon_icon.c8
-rw-r--r--src/pokemon_size_record.c14
-rw-r--r--src/pokemon_storage_system.c32
-rw-r--r--src/pokemon_summary_screen.c80
-rw-r--r--src/post_battle_event_funcs.c93
-rw-r--r--src/psychic.c405
-rw-r--r--src/record_mixing.c707
-rw-r--r--src/recorded_battle.c1063
-rw-r--r--src/region_map.c23
-rw-r--r--src/reshow_battle_screen.c9
-rw-r--r--src/roamer.c59
-rw-r--r--src/rock.c878
-rw-r--r--src/rom6.c22
-rw-r--r--src/rom_8011DC0.c331
-rw-r--r--src/rom_8034C54.c5
-rw-r--r--src/rotating_gate.c219
-rw-r--r--src/rtc.c1
-rw-r--r--src/safari_zone.c36
-rw-r--r--src/save.c159
-rw-r--r--src/save_failed_screen.c165
-rw-r--r--src/save_location.c19
-rw-r--r--src/scanline_effect.c10
-rw-r--r--src/scrcmd.c24
-rw-r--r--src/script_menu.c1762
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c707
-rw-r--r--src/secret_base.c7
-rwxr-xr-xsrc/shop.c1043
-rw-r--r--src/slot_machine.c15
-rw-r--r--src/sprite.c100
-rw-r--r--src/start_menu.c33
-rw-r--r--src/starter_choose.c30
-rw-r--r--src/string_util.c8
-rw-r--r--src/strings.c547
-rw-r--r--src/text.c2828
-rw-r--r--src/text_window.c10
-rw-r--r--src/time_events.c2
-rw-r--r--src/title_screen.c21
-rw-r--r--src/trader.c2
-rw-r--r--src/trainer_pokemon_sprites.c4
-rw-r--r--src/trainer_see.c19
-rw-r--r--src/tv.c36
-rw-r--r--src/unk_81BAD84.c4
-rw-r--r--src/unk_pokedex_area_screen_helper.c19
-rw-r--r--src/unk_text_util_2.c102
-rw-r--r--src/unk_transition.c6
-rw-r--r--src/walda_phrase.c2
-rw-r--r--src/wallclock.c199
-rw-r--r--src/water.c442
-rw-r--r--src/wild_encounter.c12
-rw-r--r--src/window.c70
-rw-r--r--sym_bss.txt73
-rw-r--r--sym_common.txt136
-rw-r--r--sym_ewram.txt165
-rw-r--r--tools/gbagfx/Makefile2
-rw-r--r--tools/mid2agb/Makefile2
1142 files changed, 128234 insertions, 160613 deletions
diff --git a/INSTALL.md b/INSTALL.md
index bb5e9849d..041f6b8e9 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -93,4 +93,3 @@ If you've only changed `.c` or `.s` files, you can turn off the dependency scann
`make NODEP=1`
-
diff --git a/Makefile b/Makefile
index 1d2a15d00..002eb790d 100644
--- a/Makefile
+++ b/Makefile
@@ -65,9 +65,7 @@ FIX := tools/gbafix/gbafix$(EXE)
.PHONY: rom clean compare tidy
-$(shell mkdir -p $(C_BUILDDIR) $(ASM_BUILDDIR) $(DATA_ASM_BUILDDIR) $(SONG_BUILDDIR) $(MID_BUILDDIR))
-
-C_SRCS := $(wildcard $(C_SUBDIR)/*.c)
+C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
ASM_SRCS := $(wildcard $(ASM_SUBDIR)/*.s)
@@ -82,9 +80,13 @@ SONG_OBJS := $(patsubst $(SONG_SUBDIR)/%.s,$(SONG_BUILDDIR)/%.o,$(SONG_SRCS))
MID_SRCS := $(wildcard $(MID_SUBDIR)/*.mid)
MID_OBJS := $(patsubst $(MID_SUBDIR)/%.mid,$(MID_BUILDDIR)/%.o,$(MID_SRCS))
-OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
+OBJS := $(C_OBJS) $(ASM_OBJS) $(DATA_ASM_OBJS) $(SONG_OBJS) $(MID_OBJS)
OBJS_REL := $(patsubst $(OBJ_DIR)/%,%,$(OBJS))
+SUBDIRS := $(sort $(dir $(OBJS)))
+
+$(shell mkdir -p $(SUBDIRS))
+
rom: $(ROM)
# For contributors to make sure a change didn't affect the contents of the ROM.
@@ -133,10 +135,10 @@ $(C_BUILDDIR)/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding
-ifeq ($(NODEP),)
-$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c)
-else
+ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_dep :=
+else
+$(C_BUILDDIR)/%.o: c_dep = $(shell $(SCANINC) -I include $(C_SUBDIR)/$*.c)
endif
$(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
@@ -145,19 +147,19 @@ $(C_BUILDDIR)/%.o : $(C_SUBDIR)/%.c $$(c_dep)
@echo -e ".text\n\t.align\t2, 0\n" >> $(C_BUILDDIR)/$*.s
$(AS) $(ASFLAGS) -o $@ $(C_BUILDDIR)/$*.s
-ifeq ($(NODEP),)
-$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s)
-else
+ifeq ($(NODEP),1)
$(ASM_BUILDDIR)/%.o: asm_dep :=
+else
+$(ASM_BUILDDIR)/%.o: asm_dep = $(shell $(SCANINC) $(ASM_SUBDIR)/$*.s)
endif
$(ASM_BUILDDIR)/%.o: $(ASM_SUBDIR)/%.s $$(asm_dep)
$(AS) $(ASFLAGS) -o $@ $<
-ifeq ($(NODEP),)
-$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
-else
+ifeq ($(NODEP),1)
$(DATA_ASM_BUILDDIR)/%.o: data_dep :=
+else
+$(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
endif
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
diff --git a/README.md b/README.md
index 3ea6c26ef..4407948f7 100644
--- a/README.md
+++ b/README.md
@@ -32,7 +32,7 @@ To set up the repository, see [INSTALL.md](INSTALL.md).
[poketcg]: https://github.com/pret/poketcg
[pokeruby]: https://github.com/pret/pokeruby
[pokefirered]: https://github.com/pret/pokefirered
-[Discord]: https://discord.gg/cJxDDVP
+[Discord]: https://discord.gg/6EuWgX9
[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret
[travis]: https://travis-ci.org/pret/pokeemerald
[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
deleted file mode 100644
index 620940730..000000000
--- a/asm/battle_anim_80FE840.s
+++ /dev/null
@@ -1,52267 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FE840
-sub_80FE840: @ 80FE840
- 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]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080FE87C
- ldrh r0, [r5, 0x8]
- negs r0, r0
- b _080FE87E
- .pool
-_080FE87C:
- ldrh r0, [r5, 0x8]
-_080FE87E:
- strh r0, [r4, 0x34]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0xA]
- strh r0, [r4, 0x36]
- ldr r0, =sub_80FE898
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE840
-
- thumb_func_start sub_80FE898
-sub_80FE898: @ 80FE898
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080FE8D4
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r1, r0
- strh r1, [r4, 0x32]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080FE8DA
-_080FE8D4:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FE8DA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE898
-
- thumb_func_start sub_80FE8E0
-sub_80FE8E0: @ 80FE8E0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE8E0
-
- thumb_func_start sub_80FE930
-sub_80FE930: @ 80FE930
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r5, =gBattleAnimArgs
- ldrb r1, [r5, 0x6]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE930
-
- thumb_func_start sub_80FE988
-sub_80FE988: @ 80FE988
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- ldrh r0, [r6, 0x6]
- strh r0, [r4, 0x38]
- ldr r1, =sub_80FE9E4
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE988
-
- thumb_func_start sub_80FE9E4
-sub_80FE9E4: @ 80FE9E4
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _080FE9FA
- adds r0, r4, 0
- bl DestroySprite
- b _080FEA4E
-_080FE9FA:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080FEA14
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- adds r0, 0x1
- b _080FEA1E
- .pool
-_080FEA14:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- adds r0, 0x6
-_080FEA1E:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xE
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0xF
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
-_080FEA4E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE9E4
-
- thumb_func_start sub_80FEA58
-sub_80FEA58: @ 80FEA58
- 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
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- movs r2, 0
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080FEAB2
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- movs r0, 0x6
- strh r0, [r5, 0x8]
- ldr r1, =gBattleAnimArgs
- movs r0, 0xF
- strh r0, [r1]
- strh r2, [r1, 0x2]
- movs r0, 0x50
- strh r0, [r1, 0x4]
- strh r2, [r1, 0x6]
- ldr r4, =gUnknown_08592210
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- adds r3, r0, 0
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl CreateSpriteAndAnimate
-_080FEAB2:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0xF
- bne _080FEAC0
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_080FEAC0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEA58
-
- thumb_func_start sub_80FEAD8
-sub_80FEAD8: @ 80FEAD8
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x6]
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80A68D4
- ldr r0, =sub_80FEB28
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEAD8
-
- thumb_func_start sub_80FEB28
-sub_80FEB28: @ 80FEB28
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _080FEB3C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FEB3C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEB28
-
- thumb_func_start sub_80FEB44
-sub_80FEB44: @ 80FEB44
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random2
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x7
- ands r1, r0
- adds r0, r5, 0
- bl StartSpriteAnim
- 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 _080FEB90
- ldrh r0, [r5, 0x20]
- subs r0, 0x14
- b _080FEB94
- .pool
-_080FEB90:
- ldrh r0, [r5, 0x20]
- adds r0, 0x14
-_080FEB94:
- strh r0, [r5, 0x20]
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1F
- ands r0, r1
- adds r0, 0x40
- 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 sub_80A7160
- bl Random2
- movs r1, 0xFF
- ands r1, r0
- strh r1, [r5, 0x38]
- adds r0, r5, 0
- adds r0, 0x43
- ldrb r0, [r0]
- strh r0, [r5, 0x3A]
- ldr r1, =sub_80FEBFC
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEB44
-
- thumb_func_start sub_80FEBFC
-sub_80FEBFC: @ 80FEBFC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A70E8
- lsls r0, 24
- cmp r0, 0
- beq _080FEC12
- adds r0, r4, 0
- bl DestroyAnimSprite
- b _080FEC42
-_080FEC12:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xC
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x7E
- bgt _080FEC2E
- ldrh r0, [r4, 0x3A]
- b _080FEC32
-_080FEC2E:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
-_080FEC32:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- adds r0, 0x18
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
-_080FEC42:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEBFC
-
- thumb_func_start sub_80FEC48
-sub_80FEC48: @ 80FEC48
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080FEC68
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080FEC68:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_80A68D4
- ldr r0, =sub_80FECB8
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEC48
-
- thumb_func_start sub_80FECB8
-sub_80FECB8: @ 80FECB8
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _080FECE2
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =sub_80FECF0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
-_080FECE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FECB8
-
- thumb_func_start sub_80FECF0
-sub_80FECF0: @ 80FECF0
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FECF0
-
- thumb_func_start sub_80FED28
-sub_80FED28: @ 80FED28
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r5, =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080FED52
- ldrb r0, [r4, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x1]
-_080FED52:
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldr r1, =sub_80FED74
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FED28
-
- thumb_func_start sub_80FED74
-sub_80FED74: @ 80FED74
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- negs r1, r1
- bl Cos
- ldrh r1, [r4, 0x32]
- adds r1, 0x18
- strh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _080FEDC8
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- 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
- b _080FEDEC
- .pool
-_080FEDC8:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- adds r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080FEDDC
- movs r2, 0x3
-_080FEDDC:
- movs r0, 0x3
- ands r2, r0
- lsls r2, 2
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
-_080FEDEC:
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080FEE10
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FEE10:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FED74
-
- thumb_func_start sub_80FEE1C
-sub_80FEE1C: @ 80FEE1C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080FEE36
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _080FEE3E
-_080FEE36:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080FEE70
-_080FEE3E:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FEE60
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x3
- bl SetAnimBgAttribute
- b _080FEE6A
- .pool
-_080FEE60:
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
-_080FEE6A:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_080FEE70:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEE1C
-
- thumb_func_start sub_80FEE78
-sub_80FEE78: @ 80FEE78
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x4]
- adds r0, r5
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- movs r0, 0x40
- strh r0, [r4, 0x38]
- ldr r1, =sub_80FEECC
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEE78
-
- thumb_func_start sub_80FEECC
-sub_80FEECC: @ 80FEECC
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _080FEF38
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- 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 _080FEF18
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A82E4
- subs r0, 0x1
- b _080FEF22
- .pool
-_080FEF18:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A82E4
- adds r0, 0x1
-_080FEF22:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080FEF3E
- .pool
-_080FEF38:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FEF3E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEECC
-
- thumb_func_start sub_80FEF44
-sub_80FEF44: @ 80FEF44
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x4]
- adds r0, r5
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- movs r0, 0x40
- strh r0, [r4, 0x38]
- ldr r1, =sub_80FEF98
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEF44
-
- thumb_func_start sub_80FEF98
-sub_80FEF98: @ 80FEF98
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _080FEFF0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r1, [r4, 0x38]
- adds r0, r1, 0
- subs r0, 0x3B
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _080FEFD0
- adds r0, r1, 0
- subs r0, 0xBB
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _080FEFE4
-_080FEFD0:
- ldrb r2, [r4, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- eors r1, r0
- lsls r1, 1
- subs r0, 0x47
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
-_080FEFE4:
- ldrh r0, [r4, 0x38]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080FEFF6
-_080FEFF0:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FEFF6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEF98
-
- thumb_func_start sub_80FEFFC
-sub_80FEFFC: @ 80FEFFC
- 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 r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x32]
- ldr r0, =sub_80FF044
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FEFFC
-
- thumb_func_start sub_80FF044
-sub_80FF044: @ 80FF044
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x32]
- movs r2, 0x32
- ldrsh r3, [r1, r2]
- cmp r3, 0
- bne _080FF078
- ldrh r0, [r1, 0x30]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080FF066
- movs r0, 0x80
- strh r0, [r1, 0x2E]
- strh r3, [r1, 0x30]
- strh r3, [r1, 0x32]
- b _080FF06C
-_080FF066:
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- strh r2, [r1, 0x32]
-_080FF06C:
- ldr r0, =sub_80FF090
- str r0, [r1, 0x1C]
- b _080FF08C
- .pool
-_080FF078:
- subs r0, 0x1
- strh r0, [r1, 0x32]
- ldrh r0, [r1, 0x2E]
- ldrh r2, [r1, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x30]
- ldrh r2, [r1, 0x22]
- adds r0, r2
- strh r0, [r1, 0x22]
-_080FF08C:
- pop {r0}
- bx r0
- thumb_func_end sub_80FF044
-
- thumb_func_start sub_80FF090
-sub_80FF090: @ 80FF090
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080FF0B4
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x19
- bl Sin
- negs r0, r0
- b _080FF0BE
- .pool
-_080FF0B4:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x19
- bl Sin
-_080FF0BE:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080FF0DE
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
-_080FF0DE:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _080FF0EC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FF0EC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF090
-
- thumb_func_start sub_80FF0F4
-sub_80FF0F4: @ 80FF0F4
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080FF114
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080FF114:
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080FF154
- 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 r6, [r6, 0x6]
- adds r0, r6
- b _080FF174
- .pool
-_080FF154:
- 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
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
-_080FF174:
- strh r0, [r5, 0x36]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0xA]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80A68D4
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080FF1AC
- movs r0, 0x1
- b _080FF1AE
- .pool
-_080FF1AC:
- movs r0, 0
-_080FF1AE:
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80FF1C0
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF0F4
-
- thumb_func_start sub_80FF1C0
-sub_80FF1C0: @ 80FF1C0
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- ldrh r5, [r6, 0x2E]
- ldrh r4, [r6, 0x3C]
- movs r0, 0x1
- strh r0, [r6, 0x2E]
- adds r0, r6, 0
- bl TranslateAnimArc
- ldrh r0, [r6, 0x3C]
- strh r5, [r6, 0x2E]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0xC8
- ble _080FF1F2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x37
- bgt _080FF1F2
- ldrh r0, [r6, 0x6]
- cmp r0, 0
- bne _080FF1F8
- adds r0, 0x1
- strh r0, [r6, 0x6]
-_080FF1F2:
- ldrh r0, [r6, 0x6]
- cmp r0, 0
- beq _080FF22A
-_080FF1F8:
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080FF22A
- adds r3, r6, 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, [r6, 0x6]
- adds r0, 0x1
- strh r0, [r6, 0x6]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bne _080FF22A
- movs r7, 0x1
-_080FF22A:
- movs r2, 0x20
- ldrsh r0, [r6, r2]
- movs r2, 0x24
- ldrsh r1, [r6, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _080FF254
- movs r0, 0x22
- ldrsh r1, [r6, r0]
- movs r2, 0x26
- ldrsh r0, [r6, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _080FF254
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080FF256
-_080FF254:
- movs r7, 0x1
-_080FF256:
- cmp r7, 0
- beq _080FF260
- adds r0, r6, 0
- bl DestroyAnimSprite
-_080FF260:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF1C0
-
- thumb_func_start sub_80FF268
-sub_80FF268: @ 80FF268
- push {r4,lr}
- adds r4, r0, 0
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF28A
- 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
-_080FF28A:
- ldrh r0, [r4, 0x22]
- adds r0, 0x20
- strh r0, [r4, 0x22]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x36]
- ldr r0, =sub_80FF2BC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF268
-
- thumb_func_start sub_80FF2BC
-sub_80FF2BC: @ 80FF2BC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- bne _080FF2D2
- ldrh r0, [r4, 0x22]
- subs r0, 0x2
- strh r0, [r4, 0x22]
- b _080FF2E0
-_080FF2D2:
- cmp r0, 0
- ble _080FF2E0
- ldrh r0, [r4, 0x22]
- subs r0, 0x2
- strh r0, [r4, 0x22]
- subs r0, r1, 0x2
- strh r0, [r4, 0x30]
-_080FF2E0:
- ldrh r3, [r4, 0x32]
- ldrh r5, [r4, 0x38]
- adds r2, r3, r5
- strh r2, [r4, 0x38]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r5, 0x36
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bge _080FF2F8
- adds r0, r2, r3
- strh r0, [r4, 0x38]
-_080FF2F8:
- ldrh r1, [r4, 0x38]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r5, 0x38
- ldrsh r0, [r4, r5]
- movs r1, 0x5
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- bgt _080FF338
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- b _080FF346
- .pool
-_080FF338:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
-_080FF346:
- 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]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080FF36A
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FF36A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF2BC
-
- thumb_func_start sub_80FF374
-sub_80FF374: @ 80FF374
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_80A6980
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x3C]
- ldr r0, =sub_80FF3B0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF374
-
- thumb_func_start sub_80FF3B0
-sub_80FF3B0: @ 80FF3B0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080FF3DA
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FF3EC
- str r0, [r4, 0x1C]
-_080FF3DA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF3B0
-
- thumb_func_start sub_80FF3EC
-sub_80FF3EC: @ 80FF3EC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FF404
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- b _080FF408
-_080FF404:
- ldrh r0, [r4, 0x2E]
- subs r0, 0xB
-_080FF408:
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _080FF424
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x32]
-_080FF424:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FF452
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- cmp r0, 0
- ble _080FF44C
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- b _080FF452
-_080FF44C:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FF452:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF3EC
-
- thumb_func_start sub_80FF458
-sub_80FF458: @ 80FF458
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gSprites
- mov r10, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r2, r10
- adds r7, r0, r2
- adds r0, r7, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _080FF498
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _080FF51C
- .pool
-_080FF498:
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_80A7270
- ldr r0, =gTasks
- lsls r6, r4, 2
- adds r6, r4
- lsls r6, 3
- adds r6, r0
- ldrb r0, [r7, 0x5]
- lsls r0, 28
- lsrs r0, 30
- strh r0, [r6, 0x24]
- ldr r0, =gBattleAnimTarget
- mov r9, r0
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- mov r8, r1
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r5, 0xD
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- movs r0, 0x3
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- add r4, r10
- ldrb r0, [r4, 0x5]
- lsls r0, 28
- lsrs r0, 30
- strh r0, [r6, 0x26]
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x2
- eors r0, r1
- bl sub_80A8328
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r0, [r4, 0x5]
- ands r5, r0
- orrs r5, r1
- strb r5, [r4, 0x5]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r6, 0x8]
- ldrh r0, [r1, 0x2]
- strh r0, [r6, 0xA]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r6, 0x1E]
- ldr r0, =sub_80FF53C
- str r0, [r6]
-_080FF51C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF458
-
- thumb_func_start sub_80FF53C
-sub_80FF53C: @ 80FF53C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x8]
- ldrh r0, [r4, 0x1C]
- adds r1, r0
- strh r1, [r4, 0x1C]
- ldr r2, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r0, r2
- lsls r1, 16
- asrs r1, 24
- strh r1, [r5, 0x24]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080FF586
- ldrh r0, [r5, 0x24]
- negs r0, r0
- strh r0, [r5, 0x24]
-_080FF586:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x10
- strh r0, [r4, 0x1E]
- movs r0, 0x1E
- ldrsh r2, [r4, r0]
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- adds r0, r6, 0
- bl sub_80A7E6C
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080FF5B4
- strh r0, [r4, 0x8]
- ldr r0, =sub_80FF5CC
- str r0, [r4]
-_080FF5B4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF53C
-
- thumb_func_start sub_80FF5CC
-sub_80FF5CC: @ 80FF5CC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080FF660
- ldr r0, =gTasks
- lsls r2, r3, 2
- adds r1, r2, r3
- lsls r1, 3
- adds r7, r1, r0
- movs r1, 0x8
- ldrsh r5, [r7, r1]
- adds r4, r0, 0
- cmp r5, 0
- bne _080FF674
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A7344
- ldr r6, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r6
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
- movs r5, 0x3
- ldrh r2, [r7, 0x24]
- ands r2, r5
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x3
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r7, 0x26]
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r1, 0x5]
- ands r4, r2
- orrs r4, r0
- strb r4, [r1, 0x5]
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
- b _080FF68E
- .pool
-_080FF660:
- ldr r1, =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- movs r4, 0x8
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0
- beq _080FF68E
-_080FF674:
- adds r1, r2, r3
- lsls r1, 3
- adds r1, r4
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080FF68E
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_080FF68E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF5CC
-
- thumb_func_start sub_80FF698
-sub_80FF698: @ 80FF698
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080FF6AA
- cmp r0, 0x1
- beq _080FF704
- b _080FF756
-_080FF6AA:
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080FF6C2
- ldr r1, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
-_080FF6C2:
- 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
- strh r0, [r5, 0x22]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080FF756
- .pool
-_080FF704:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FF756
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
- movs r0, 0x19
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimAttacker
- 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]
- ldr r0, =sub_80A70C0
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
-_080FF756:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF698
-
- thumb_func_start sub_80FF768
-sub_80FF768: @ 80FF768
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080FF7D4
- 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, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4]
- strh r0, [r5, 0x24]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x26]
- ldrb r0, [r4, 0x4]
- adds r0, 0x1E
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r4, 0x6]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r2, 0x22
- ldrsh r0, [r5, r2]
- movs r2, 0x26
- ldrsh r1, [r5, r2]
- adds r0, r1
- cmp r0, 0x78
- ble _080FF7D4
- ldrh r0, [r5, 0x22]
- adds r1, r0, 0
- subs r1, 0x78
- ldrh r2, [r5, 0x26]
- adds r0, r2
- adds r1, r0
- strh r1, [r5, 0x22]
-_080FF7D4:
- ldr r0, =sub_80FF8DC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF768
-
- thumb_func_start sub_80FF7EC
-sub_80FF7EC: @ 80FF7EC
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- mov r9, r0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r2, r0, 0
- lsls r2, 24
- subs r4, r5
- lsls r4, 16
- lsrs r2, 24
- mov r1, r8
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- lsrs r3, r4, 16
- mov r10, r3
- asrs r4, 16
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- muls r0, r4
- movs r1, 0x64
- str r2, [sp]
- bl __divsi3
- adds r5, r0
- mov r3, r9
- strh r5, [r3, 0x20]
- ldr r2, [sp]
- lsls r0, r2, 16
- asrs r0, 16
- movs r3, 0
- ldrsh r1, [r6, r3]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- add r8, r0
- mov r1, r8
- mov r0, r9
- strh r1, [r0, 0x22]
- ldrh r0, [r6, 0x2]
- mov r3, r9
- strh r0, [r3, 0x24]
- ldrh r0, [r6, 0x4]
- strh r0, [r3, 0x26]
- ldrb r0, [r6, 0x6]
- adds r0, 0x1E
- mov r1, r9
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0x8]
- mov r0, r9
- bl StartSpriteAnim
- ldrh r0, [r6, 0xA]
- mov r1, r9
- strh r0, [r1, 0x32]
- ldr r0, =sub_80FF8DC
- str r0, [r1, 0x1C]
- ldr r1, =gUnknown_0203A0F8
- mov r3, r9
- ldrh r0, [r3, 0x20]
- strh r0, [r1]
- ldrh r0, [r3, 0x22]
- strh r0, [r1, 0x2]
- mov r0, r10
- strh r0, [r1, 0x4]
- ldr r2, [sp]
- strh r2, [r1, 0x6]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF7EC
-
- thumb_func_start sub_80FF8DC
-sub_80FF8DC: @ 80FF8DC
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- adds r1, 0x1
- strh r1, [r3, 0x2E]
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _080FF91C
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- movs r2, 0x3E
- adds r2, r3
- mov r12, r2
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
-_080FF91C:
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r1, r0
- ble _080FF92E
- adds r0, r3, 0
- bl DestroyAnimSprite
-_080FF92E:
- pop {r0}
- bx r0
- thumb_func_end sub_80FF8DC
-
- thumb_func_start sub_80FF934
-sub_80FF934: @ 80FF934
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080FF974
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r2, [r4]
- adds r0, r2
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x30]
- ldrh r0, [r4, 0x6]
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x34]
-_080FF974:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- ldrh r1, [r6, 0x30]
- muls r0, r1
- strh r0, [r6, 0x24]
- movs r2, 0x2E
- ldrsh r1, [r6, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- movs r1, 0xFF
- ands r0, r1
- movs r2, 0x32
- ldrsh r1, [r6, r2]
- bl Sin
- strh r0, [r6, 0x26]
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- movs r2, 0x34
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _080FF9AA
- adds r0, r6, 0
- bl DestroyAnimSprite
-_080FF9AA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FF934
-
- thumb_func_start sub_80FF9B8
-sub_80FF9B8: @ 80FF9B8
- push {r4,r5,lr}
- movs r2, 0x20
- ldrsh r4, [r0, r2]
- lsls r4, 8
- movs r3, 0x22
- ldrsh r2, [r0, r3]
- orrs r4, r2
- movs r5, 0x3A
- ldrsh r2, [r0, r5]
- lsls r2, 8
- movs r5, 0x3C
- ldrsh r3, [r0, r5]
- orrs r2, r3
- lsls r1, 8
- strh r4, [r0, 0x38]
- strh r2, [r0, 0x3A]
- strh r1, [r0, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF9B8
-
- thumb_func_start sub_80FF9E0
-sub_80FF9E0: @ 80FF9E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- ldrh r0, [r0, 0x38]
- lsrs r1, r0, 8
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r1, r8
- ldrh r0, [r1, 0x3A]
- lsrs r2, r0, 8
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r1, [r1, 0x3C]
- lsls r0, r1, 16
- asrs r0, 24
- lsls r0, 16
- lsrs r6, r0, 16
- movs r3, 0xFF
- ands r3, r1
- cmp r2, 0
- bne _080FFA1A
- movs r2, 0x20
- negs r2, r2
- b _080FFA22
-_080FFA1A:
- cmp r2, 0xFF
- bne _080FFA22
- movs r2, 0x88
- lsls r2, 1
-_080FFA22:
- mov r0, r9
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- mov r1, r10
- subs r0, r2, r1
- lsls r5, r3, 16
- asrs r5, 16
- muls r0, r5
- lsls r1, r6, 16
- asrs r7, r1, 16
- adds r1, r7, 0
- bl __divsi3
- adds r6, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- muls r0, r5
- adds r1, r7, 0
- bl __divsi3
- add r6, r10
- mov r1, r8
- strh r6, [r1, 0x20]
- add r0, r9
- strh r0, [r1, 0x22]
- adds r5, 0x1
- lsls r5, 16
- lsrs r3, r5, 16
- asrs r5, 16
- cmp r5, r7
- beq _080FFA74
- lsls r1, r7, 8
- lsls r0, r3, 16
- asrs r0, 16
- orrs r0, r1
- mov r1, r8
- strh r0, [r1, 0x3C]
- movs r0, 0
- b _080FFA76
-_080FFA74:
- movs r0, 0x1
-_080FFA76:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF9E0
-
- thumb_func_start sub_80FFA84
-sub_80FFA84: @ 80FFA84
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xA
- bne _080FFA98
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080FFA98:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- ble _080FFAAC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FFAAC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFA84
-
- thumb_func_start sub_80FFAB4
-sub_80FFAB4: @ 80FFAB4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x2E]
- adds r1, r0
- movs r5, 0
- strh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _080FFADE
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x2E]
-_080FFADE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- lsls r2, 3
- movs r1, 0x1E
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_80FF9E0
- lsls r0, 24
- cmp r0, 0
- beq _080FFB0E
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x2E]
- ldr r0, =sub_80FFA84
- str r0, [r4, 0x1C]
-_080FFB0E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFAB4
-
- thumb_func_start sub_80FFB18
-sub_80FFB18: @ 80FFB18
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080FFB68
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80FF9B8
- movs r0, 0x1
- b _080FFB7A
- .pool
-_080FFB68:
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80FF9B8
- movs r0, 0x3
-_080FFB7A:
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, =sub_80FFAB4
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFB18
-
- thumb_func_start sub_80FFB90
-sub_80FFB90: @ 80FFB90
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x2E]
- adds r1, r0
- movs r5, 0
- strh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _080FFBBA
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x2E]
-_080FFBBA:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- lsls r2, 3
- movs r1, 0x1E
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_80FF9E0
- lsls r0, 24
- cmp r0, 0
- beq _080FFBEC
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x2E]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FFBEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFB90
-
- thumb_func_start sub_80FFBF4
-sub_80FFBF4: @ 80FFBF4
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080FFC38
- strh r0, [r5, 0x3A]
- adds r0, r6, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x28
- bl sub_80FF9B8
- movs r0, 0x3
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, =sub_80FFAB4
- b _080FFC62
- .pool
-_080FFC38:
- movs r0, 0xFF
- strh r0, [r5, 0x3A]
- adds r0, r6, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080FFC50
- movs r0, 0
- strh r0, [r5, 0x3A]
-_080FFC50:
- adds r0, r5, 0
- movs r1, 0x28
- bl sub_80FF9B8
- movs r0, 0x3
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, =sub_80FFB90
-_080FFC62:
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFBF4
-
- thumb_func_start sub_80FFC70
-sub_80FFC70: @ 80FFC70
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FFC8A
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A6980
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x30]
-_080FFC8A:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- muls r0, r1
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080FFCAA
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FFCAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFC70
-
- thumb_func_start sub_80FFCB4
-sub_80FFCB4: @ 80FFCB4
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_80A6980
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gBattleAnimTarget
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080FFD04
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80FF9B8
- movs r0, 0x1
- b _080FFD16
- .pool
-_080FFD04:
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80FF9B8
- movs r0, 0x3
-_080FFD16:
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, =sub_80FFD2C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFCB4
-
- thumb_func_start sub_80FFD2C
-sub_80FFD2C: @ 80FFD2C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x2E]
- adds r1, r0
- movs r5, 0
- strh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _080FFD56
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x2E]
-_080FFD56:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- lsls r2, 3
- movs r1, 0x1E
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- bne _080FFD8A
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7D
- bl PlaySE12WithPanning
-_080FFD8A:
- adds r0, r4, 0
- bl sub_80FF9E0
- lsls r0, 24
- cmp r0, 0
- beq _080FFDB2
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x2E]
- ldr r0, =sub_80FFA84
- str r0, [r4, 0x1C]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7D
- bl PlaySE12WithPanning
-_080FFDB2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFD2C
-
- thumb_func_start sub_80FFDBC
-sub_80FFDBC: @ 80FFDBC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FFE50
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080FFDE4
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- strh r1, [r4, 0x30]
- movs r1, 0x78
- strh r1, [r4, 0x20]
- adds r5, r0, 0
- b _080FFE06
- .pool
-_080FFDE4:
- ldr r0, =gBattleAnimArgs
- movs r1, 0x2
- ldrsh r3, [r0, r1]
- adds r1, r3, 0
- subs r1, 0x20
- adds r2, r1, 0
- adds r5, r0, 0
- cmp r1, 0
- bge _080FFDFA
- adds r2, r3, 0
- adds r2, 0xDF
-_080FFDFA:
- asrs r0, r2, 8
- lsls r0, 8
- subs r0, r1, r0
- strh r0, [r4, 0x30]
- movs r0, 0x46
- strh r0, [r4, 0x20]
-_080FFE06:
- ldrh r0, [r5]
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x32]
- movs r0, 0x14
- strh r0, [r4, 0x36]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3C
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- ldr r0, =sub_80FFE58
- str r0, [r4, 0x1C]
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBE
- bhi _080FFE48
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
- b _080FFE4E
- .pool
-_080FFE48:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
-_080FFE4E:
- strb r0, [r1]
-_080FFE50:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFDBC
-
- thumb_func_start sub_80FFE58
-sub_80FFE58: @ 80FFE58
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FFE6A
- cmp r0, 0x1
- beq _080FFE9A
- b _080FFEBA
-_080FFE6A:
- ldrh r5, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x4E
- ble _080FFE82
- movs r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _080FFEBA
-_080FFE82:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- adds r0, r5, r0
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x36]
- adds r1, 0x3
- strh r1, [r4, 0x36]
- strh r0, [r4, 0x22]
- b _080FFEBA
-_080FFE9A:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080FFEBA
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FFEBA
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldr r0, =sub_80FFEC4
- str r0, [r4, 0x1C]
-_080FFEBA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFE58
-
- thumb_func_start sub_80FFEC4
-sub_80FFEC4: @ 80FFEC4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_08592700
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r3, r0, r1
- adds r0, r5, 0x1
- adds r0, r3, r0
- ldrh r2, [r4, 0x32]
- movs r6, 0x32
- ldrsh r1, [r4, r6]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080FFF10
- adds r0, r5, 0x2
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x7F
- bne _080FFEFC
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FFF7C
- str r0, [r4, 0x1C]
-_080FFEFC:
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080FFF76
- .pool
-_080FFF10:
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r1, r0, r5
- movs r2, 0
- ldrsb r2, [r1, r2]
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- muls r0, r2
- ldrh r1, [r4, 0x30]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080FFF5E
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBE
- bhi _080FFF56
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
- b _080FFF5C
-_080FFF56:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
-_080FFF5C:
- strb r0, [r1]
-_080FFF5E:
- movs r6, 0x30
- ldrsh r0, [r4, r6]
- movs r1, 0x3C
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
-_080FFF76:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFEC4
-
- thumb_func_start sub_80FFF7C
-sub_80FFF7C: @ 80FFF7C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- ble _080FFF8E
- adds r0, r4, 0
- bl DestroyAnimSprite
-_080FFF8E:
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFF7C
-
- thumb_func_start sub_80FFFC0
-sub_80FFFC0: @ 80FFFC0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- strh r0, [r5, 0x10]
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_80A861C
- strh r0, [r5, 0x1C]
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A861C
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0x1
- bne _08100028
- movs r1, 0x1
-_08100028:
- strh r1, [r5, 0x12]
- movs r3, 0x12
- ldrsh r0, [r5, r3]
- lsls r0, 6
- movs r1, 0x38
- subs r1, r0
- strh r1, [r5, 0x1A]
- ldrh r0, [r5, 0x16]
- subs r0, r1
- ldrh r1, [r5, 0x14]
- adds r0, r1
- strh r0, [r5, 0x18]
- ldr r0, =gUnknown_08592778
- movs r2, 0x18
- ldrsh r1, [r5, r2]
- movs r3, 0x1A
- ldrsh r2, [r5, r3]
- ldrb r3, [r5, 0x10]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xC]
- cmp r0, 0x40
- bne _08100060
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08100060:
- ldr r4, =gSprites
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xA
- strh r1, [r0, 0x2E]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x18]
- strh r1, [r0, 0x30]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r5, r3]
- muls r1, r0
- ldrh r0, [r5, 0x14]
- subs r0, r1
- strh r0, [r2, 0x32]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x1A]
- strh r1, [r0, 0x34]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r2, [r5, r3]
- muls r0, r2
- ldrh r2, [r5, 0x16]
- adds r0, r2
- strh r0, [r1, 0x36]
- movs r3, 0xC
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl sub_8100504
- movs r1, 0xC
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x38]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl sub_80A68D4
- ldr r0, =sub_8100128
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FFFC0
-
- thumb_func_start sub_8100128
-sub_8100128: @ 8100128
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r5, [r6, r1]
- cmp r5, 0x7
- bne _08100150
- b _08100380
-_08100150:
- cmp r5, 0x7
- bgt _0810019E
- cmp r5, 0x3
- bne _0810015A
- b _08100272
-_0810015A:
- cmp r5, 0x3
- bgt _08100174
- cmp r5, 0x1
- beq _08100204
- cmp r5, 0x1
- bgt _08100254
- cmp r5, 0
- beq _081001E6
- b _081004FC
- .pool
-_08100174:
- cmp r5, 0x5
- bne _0810017A
- b _081002E8
-_0810017A:
- cmp r5, 0x5
- ble _08100180
- b _08100362
-_08100180:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- bne _08100196
- b _081004FC
-_08100196:
- movs r0, 0x5
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _081004FA
-_0810019E:
- cmp r5, 0xB
- bne _081001A4
- b _08100464
-_081001A4:
- cmp r5, 0xB
- bgt _081001D2
- cmp r5, 0x9
- bne _081001AE
- b _081003D2
-_081001AE:
- cmp r5, 0x9
- ble _081001B4
- b _08100448
-_081001B4:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- bne _081001CA
- b _081004FC
-_081001CA:
- movs r0, 0x9
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _081004FA
-_081001D2:
- cmp r5, 0xD
- bne _081001D8
- b _081004D6
-_081001D8:
- cmp r5, 0xD
- bge _081001DE
- b _081004B6
-_081001DE:
- cmp r5, 0xFF
- bne _081001E4
- b _081004E6
-_081001E4:
- b _081004FC
-_081001E6:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- bne _081001FC
- b _081004FC
-_081001FC:
- movs r0, 0x1
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _081004FA
-_08100204:
- ldrh r2, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r2, r3
- movs r0, 0
- strh r2, [r4, 0x20]
- ldrh r1, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrh r0, [r6, 0x14]
- strh r0, [r4, 0x32]
- strh r1, [r4, 0x34]
- ldrh r0, [r6, 0x16]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8100504
- strh r0, [r4, 0x38]
- ldrh r0, [r6, 0x10]
- adds r0, 0x2
- strh r0, [r6, 0x10]
- strh r5, [r6, 0xE]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80A68D4
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_08100254:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- bne _0810026A
- b _081004FC
-_0810026A:
- movs r0, 0x3
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _081004FA
-_08100272:
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- movs r0, 0
- strh r1, [r4, 0x20]
- ldrh r2, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r2, r3
- strh r2, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r1, r0
- ldrh r0, [r6, 0x14]
- subs r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- movs r1, 0x1E
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- muls r1, r0
- ldrh r0, [r6, 0x16]
- subs r0, r1
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8100504
- strh r0, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r6, 0xE]
- ldrh r0, [r6, 0x10]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80A68D4
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_081002E8:
- ldrh r1, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r1, r3
- movs r0, 0
- strh r1, [r4, 0x20]
- ldrh r2, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r2, r3
- strh r2, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r0, r1
- ldrh r1, [r6, 0x14]
- adds r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- movs r2, 0x1E
- ldrsh r0, [r6, r2]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r0, r1
- ldrh r1, [r6, 0x16]
- adds r0, r1
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8100504
- strh r0, [r4, 0x38]
- ldrh r1, [r6, 0x10]
- subs r1, 0x2
- strh r1, [r6, 0x10]
- movs r0, 0x3
- strh r0, [r6, 0xE]
- adds r0, r4, 0
- adds r0, 0x43
- strb r1, [r0]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80A68D4
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_08100362:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- bne _08100378
- b _081004FC
-_08100378:
- movs r0, 0x7
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _081004FA
-_08100380:
- ldrh r2, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r2, r3
- movs r0, 0
- strh r2, [r4, 0x20]
- ldrh r1, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrh r0, [r6, 0x14]
- strh r0, [r4, 0x32]
- strh r1, [r4, 0x34]
- ldrh r0, [r6, 0x16]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8100504
- strh r0, [r4, 0x38]
- ldrh r1, [r6, 0x10]
- adds r1, 0x2
- strh r1, [r6, 0x10]
- movs r0, 0x4
- strh r0, [r6, 0xE]
- adds r0, r4, 0
- adds r0, 0x43
- strb r1, [r0]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80A68D4
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_081003D2:
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- movs r0, 0
- strh r1, [r4, 0x20]
- ldrh r2, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r2, r3
- strh r2, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r1, r0
- ldrh r0, [r6, 0x14]
- subs r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- movs r1, 0x1E
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- muls r0, r1
- ldrh r3, [r6, 0x16]
- adds r0, r3
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8100504
- strh r0, [r4, 0x38]
- movs r0, 0x5
- strh r0, [r6, 0xE]
- ldrh r0, [r6, 0x10]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80A68D4
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_08100448:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _081004FC
- movs r0, 0xB
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _081004FA
-_08100464:
- ldrh r2, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r2, r0
- movs r0, 0
- strh r2, [r4, 0x20]
- ldrh r1, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrh r0, [r6, 0x18]
- strh r0, [r4, 0x32]
- strh r1, [r4, 0x34]
- ldrh r0, [r6, 0x1A]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8100504
- strh r0, [r4, 0x38]
- ldrh r1, [r6, 0x10]
- subs r1, 0x2
- strh r1, [r6, 0x10]
- movs r0, 0x6
- strh r0, [r6, 0xE]
- adds r0, r4, 0
- adds r0, 0x43
- strb r1, [r0]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80A68D4
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_081004B6:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_8100524
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _081004FC
- adds r0, r4, 0
- bl DestroySprite
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _081004FA
-_081004D6:
- movs r1, 0x20
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081004FC
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- b _081004FC
-_081004E6:
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _081004FC
- movs r0, 0
- strh r0, [r6, 0xA]
- ldrh r0, [r6, 0x26]
-_081004FA:
- strh r0, [r6, 0x8]
-_081004FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8100128
-
- thumb_func_start sub_8100504
-sub_8100504: @ 8100504
- push {lr}
- movs r2, 0x8
- movs r3, 0x36
- ldrsh r1, [r0, r3]
- movs r3, 0x22
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bge _0810051A
- negs r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
-_0810051A:
- lsls r0, r2, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8100504
-
- thumb_func_start sub_8100524
-sub_8100524: @ 8100524
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- ldrh r0, [r6, 0x24]
- adds r0, 0x1
- strh r0, [r6, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _081005BA
- movs r0, 0
- strh r0, [r6, 0x24]
- ldr r0, =gSprites
- mov r8, r0
- movs r2, 0xC
- ldrsh r1, [r6, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- ldrh r2, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r2, r0
- ldr r0, =gUnknown_08592778
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- ldrb r3, [r6, 0x10]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _081005BA
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- mov r0, r8
- adds r4, r5, r0
- strh r7, [r4, 0x3A]
- movs r0, 0xC
- strh r0, [r4, 0x3C]
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldrh r2, [r6, 0x22]
- movs r0, 0x1
- ands r0, r2
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r6, 0x10]
- adds r4, 0x43
- strb r0, [r4]
- mov r0, r8
- adds r0, 0x1C
- adds r5, r0
- ldr r0, =sub_81005D4
- str r0, [r5]
-_081005BA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100524
-
- thumb_func_start sub_81005D4
-sub_81005D4: @ 81005D4
- 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, 0x1
- ble _08100636
- movs r0, 0
- strh r0, [r4, 0x2E]
- 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, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _08100636
- 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
-_08100636:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81005D4
-
- thumb_func_start sub_8100640
-sub_8100640: @ 8100640
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810065C
- ldr r0, =gBattleAnimAttacker
- b _0810065E
- .pool
-_0810065C:
- ldr r0, =gBattleAnimTarget
-_0810065E:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08100688
- movs r0, 0
- strh r0, [r4, 0x36]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x32]
- ldr r0, =0x0000fff0
- b _08100698
- .pool
-_08100688:
- movs r0, 0x1
- strh r0, [r4, 0x36]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r4, 0x32]
- movs r0, 0x80
- lsls r0, 1
-_08100698:
- strh r0, [r4, 0x20]
- adds r7, r1, 0
- adds r5, r7, 0
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x34]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _081006CE
- cmp r0, 0x1
- bgt _081006C0
- cmp r0, 0
- beq _081006CA
- b _08100738
- .pool
-_081006C0:
- cmp r0, 0x2
- beq _081006D4
- cmp r0, 0x3
- beq _08100700
- b _08100738
-_081006CA:
- ldrh r0, [r5]
- b _081006E4
-_081006CE:
- ldrh r0, [r5]
- strh r0, [r4, 0x22]
- b _0810071A
-_081006D4:
- adds r0, r6, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5]
- adds r0, r5
-_081006E4:
- strh r0, [r4, 0x22]
- adds r0, r6, 0
- 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 _08100738
-_08100700:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r7, [r7]
- adds r0, r7
- strh r0, [r4, 0x22]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
-_0810071A:
- adds r0, r6, 0
- 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]
-_08100738:
- ldr r0, =sub_810074C
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100640
-
- thumb_func_start sub_810074C
-sub_810074C: @ 810074C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r3, [r4, r0]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- ldr r1, =gSineTable
- movs r5, 0x2E
- ldrsh r0, [r4, r5]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r2
- asrs r0, 8
- strh r0, [r4, 0x26]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- muls r0, r3
- strh r0, [r4, 0x24]
- movs r5, 0x34
- ldrsh r0, [r4, r5]
- muls r0, r3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081007A4
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- movs r5, 0x20
- ldrsh r1, [r4, r5]
- adds r0, r1
- cmp r0, 0xF7
- ble _081007BC
- b _081007B6
- .pool
-_081007A4:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _081007BC
-_081007B6:
- adds r0, r4, 0
- bl move_anim_8074EE0
-_081007BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810074C
-
- thumb_func_start sub_81007C4
-sub_81007C4: @ 81007C4
- push {r4-r7,lr}
- 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, 0
- beq _081007E8
- cmp r0, 0x1
- beq _0810081C
- b _08100876
- .pool
-_081007E8:
- ldr r0, =0x0000274f
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r2, 0x80
- lsls r2, 1
- adds r4, r2, 0
- adds r0, r4
- strh r0, [r5, 0x18]
- ldr r0, =0x000027b0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _08100876
- .pool
-_0810081C:
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r5, 0x1A]
- lsls r0, 16
- cmp r0, 0
- blt _08100876
- strh r7, [r5, 0x1A]
- ldrh r0, [r5, 0x18]
- ldrb r2, [r5, 0x1C]
- ldr r4, =gUnknown_08592878
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
- ldrh r0, [r5, 0x20]
- ldrb r2, [r5, 0x1C]
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- bne _08100876
- strh r7, [r5, 0x1C]
- ldrh r0, [r5, 0x1E]
- adds r0, 0x1
- strh r0, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bne _08100876
- strh r7, [r5, 0x1E]
-_08100876:
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0810088A
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0810088A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81007C4
-
- thumb_func_start sub_8100898
-sub_8100898: @ 8100898
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r1, =gBattleAnimArgs
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _081008B4
- adds r0, r6, 0
- bl DestroyAnimSprite
- b _0810098E
- .pool
-_081008B4:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _081008C4
- ldr r4, =gBattleAnimAttacker
- b _081008C6
- .pool
-_081008C4:
- ldr r4, =gBattleAnimTarget
-_081008C6:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x8]
- strh r1, [r6, 0x2E]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r7, r0, 0
- cmp r1, 0
- bne _08100908
- ldrh r0, [r7, 0x4]
- adds r0, r5
- strh r0, [r6, 0x20]
- ldrh r0, [r7, 0x6]
- adds r0, r2
- strh r0, [r6, 0x22]
- strh r5, [r6, 0x38]
- strh r2, [r6, 0x3A]
- b _08100918
- .pool
-_08100908:
- strh r5, [r6, 0x20]
- strh r2, [r6, 0x22]
- ldrh r0, [r7, 0x4]
- adds r0, r5
- strh r0, [r6, 0x38]
- ldrh r0, [r7, 0x6]
- adds r0, r2
- strh r0, [r6, 0x3A]
-_08100918:
- ldrh r4, [r6, 0x20]
- lsls r0, r4, 4
- strh r0, [r6, 0x30]
- ldrh r5, [r6, 0x22]
- lsls r0, r5, 4
- strh r0, [r6, 0x32]
- movs r1, 0x38
- ldrsh r0, [r6, r1]
- movs r2, 0x20
- ldrsh r1, [r6, r2]
- subs r0, r1
- lsls r0, 4
- movs r3, 0x8
- ldrsh r1, [r7, r3]
- bl __divsi3
- strh r0, [r6, 0x34]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x22
- ldrsh r1, [r6, r2]
- subs r0, r1
- lsls r0, 4
- movs r3, 0x8
- ldrsh r1, [r7, r3]
- bl __divsi3
- strh r0, [r6, 0x36]
- ldrh r0, [r6, 0x38]
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r6, 0x3A]
- subs r1, r5
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2Neg
- lsls r0, 16
- lsrs r4, r0, 16
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810097A
- ldr r1, =0xffff8000
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_0810097A:
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_80A73E0
- ldr r0, =sub_81009A0
- str r0, [r6, 0x1C]
-_0810098E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100898
-
- thumb_func_start sub_81009A0
-sub_81009A0: @ 81009A0
- push {r4,lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _081009D0
- ldrh r0, [r2, 0x34]
- ldrh r4, [r2, 0x30]
- adds r0, r4
- strh r0, [r2, 0x30]
- ldrh r1, [r2, 0x36]
- ldrh r4, [r2, 0x32]
- adds r1, r4
- strh r1, [r2, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r2, 0x22]
- subs r0, r3, 0x1
- strh r0, [r2, 0x2E]
- b _081009D6
-_081009D0:
- adds r0, r2, 0
- bl move_anim_8074EE0
-_081009D6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81009A0
-
- thumb_func_start sub_81009DC
-sub_81009DC: @ 81009DC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081009F2
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081009F2:
- pop {r0}
- bx r0
- thumb_func_end sub_81009DC
-
- thumb_func_start sub_81009F8
-sub_81009F8: @ 81009F8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08100A20
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- b _08100A2C
- .pool
-_08100A20:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
-_08100A2C:
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81009F8
-
- thumb_func_start sub_8100A50
-sub_8100A50: @ 8100A50
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08100A6A
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_08100A6A:
- ldr r0, =sub_81009DC
- str r0, [r5, 0x1C]
- ldr r4, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100A50
-
- thumb_func_start sub_8100A94
-sub_8100A94: @ 8100A94
- 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]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x38]
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A66DC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100A94
-
- thumb_func_start sub_8100AE0
-sub_8100AE0: @ 8100AE0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimTarget
- 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]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08100B14
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
-_08100B14:
- ldr r0, =sub_8100CCC
- str r0, [r5, 0x1C]
- ldr r0, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _08100B3C
- ldrh r0, [r3]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x20]
- b _08100B50
- .pool
-_08100B3C:
- ldrh r0, [r5, 0x20]
- ldrh r1, [r3]
- subs r0, r1
- strh r0, [r5, 0x20]
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_08100B50:
- ldrh r0, [r3, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldr r1, =0xfffffc00
- adds r0, r1, 0
- ldrh r2, [r5, 0x30]
- adds r1, r0, r2
- strh r1, [r5, 0x30]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
- ldrh r0, [r3, 0x4]
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08100B7E
- negs r0, r1
- strh r0, [r5, 0x30]
-_08100B7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100AE0
-
- thumb_func_start sub_8100B88
-sub_8100B88: @ 8100B88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _08100BA8
- cmp r0, 0x1
- ble _08100C24
- cmp r0, 0x2
- beq _08100BC8
- b _08100C24
- .pool
-_08100BA8:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r5]
- eors r4, r0
- adds r0, r4, 0
- b _08100C34
- .pool
-_08100BC8:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5]
- movs r2, 0x2
- mov r8, r2
- mov r1, r8
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08100C3E
- ldrb r0, [r5]
- mov r2, r8
- eors r0, r2
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- lsrs r7, r0, 1
- ldrb r0, [r5]
- mov r1, r8
- eors r0, r1
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- lsrs r4, r0, 1
- b _08100C3E
- .pool
-_08100C24:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
-_08100C34:
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r4, r0, 24
-_08100C3E:
- strh r7, [r6, 0x20]
- strh r4, [r6, 0x22]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08100C56
- ldrh r0, [r6, 0x22]
- adds r0, 0x8
- strh r0, [r6, 0x22]
-_08100C56:
- ldr r0, =sub_8100CCC
- str r0, [r6, 0x1C]
- ldr r0, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _08100C7C
- ldrh r0, [r3]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- strh r0, [r6, 0x20]
- b _08100C90
- .pool
-_08100C7C:
- ldrh r0, [r6, 0x20]
- ldrh r1, [r3]
- subs r0, r1
- strh r0, [r6, 0x20]
- adds r2, r6, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_08100C90:
- ldrh r0, [r3, 0x2]
- ldrh r2, [r6, 0x22]
- adds r0, r2
- strh r0, [r6, 0x22]
- ldr r1, =0xfffffc00
- adds r0, r1, 0
- ldrh r2, [r6, 0x30]
- adds r1, r0, r2
- strh r1, [r6, 0x30]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- ldrh r2, [r6, 0x32]
- adds r0, r2
- strh r0, [r6, 0x32]
- ldrh r0, [r3, 0x4]
- strh r0, [r6, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08100CBE
- negs r0, r1
- strh r0, [r6, 0x30]
-_08100CBE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100B88
-
- thumb_func_start sub_8100CCC
-sub_8100CCC: @ 8100CCC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- ldrh r2, [r4, 0x34]
- adds r0, r1, r2
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08100CEE
- adds r0, r1, 0
- adds r0, 0x18
- b _08100CF2
-_08100CEE:
- adds r0, r1, 0
- subs r0, 0x18
-_08100CF2:
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- subs r0, 0x18
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _08100D28
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
-_08100D28:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100CCC
-
- thumb_func_start sub_8100D38
-sub_8100D38: @ 8100D38
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- ble _08100DDC
- ldrh r1, [r5, 0x34]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08100D94
- adds r3, r5, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r3]
- ldr r4, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r3, [r0]
- adds r1, r2, 0
- ands r1, r3
- strb r1, [r0]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- b _08100DCA
- .pool
-_08100D94:
- adds r1, r5, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r3, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
-_08100DCA:
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- b _08100DE0
- .pool
-_08100DDC:
- adds r0, r1, 0x1
- strh r0, [r5, 0x32]
-_08100DE0:
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0xA
- bne _08100E10
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r0, r5, 0
- bl DestroyAnimSprite
-_08100E10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100D38
-
- thumb_func_start sub_8100E1C
-sub_8100E1C: @ 8100E1C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08100E44
- ldrh r0, [r5, 0x20]
- ldrh r1, [r4]
- subs r0, r1
- b _08100E4A
- .pool
-_08100E44:
- ldrh r0, [r4]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_08100E4A:
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0xA]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x6]
- negs r0, r0
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x34]
- ldr r1, =sub_8100E80
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100E1C
-
- thumb_func_start sub_8100E80
-sub_8100E80: @ 8100E80
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x64
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- bgt _08100EAC
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0
- b _08100EB2
-_08100EAC:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0xE
-_08100EB2:
- strb r0, [r1]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x2E]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- adds r0, 0x82
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08100EE8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08100EE8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8100E80
-
- thumb_func_start sub_8100EF0
-sub_8100EF0: @ 8100EF0
- push {r4-r6,lr}
- adds r5, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08100F06
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- adds r0, 0x8
- strh r0, [r1, 0x2]
-_08100F06:
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord2
- 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 GetBattlerSpriteCoord2
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r5, 0x22]
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08100F44
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08100F6C
-_08100F44:
- ldrb r0, [r6]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
- b _08100F84
- .pool
-_08100F6C:
- ldrb r0, [r6]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
-_08100F84:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, =0x00002828
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r5, 0x32]
- movs r4, 0x10
- movs r0, 0x10
- strh r0, [r5, 0x3C]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r0, [r5, 0x3C]
- lsls r1, r0, 8
- subs r4, r0
- orrs r1, r4
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_8100FD4
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100EF0
-
- thumb_func_start sub_8100FD4
-sub_8100FD4: @ 8100FD4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x60
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08101032
- movs r0, 0
- strh r0, [r4, 0x30]
- ldr r1, =gPlttBufferFaded
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r5, [r0]
- movs r2, 0
- adds r6, r1, 0
- adds r3, r6, 0
-_0810100C:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- adds r2, 0x1
- adds r0, r2
- lsls r1, r0, 1
- adds r1, r3
- adds r0, 0x1
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- cmp r2, 0x5
- ble _0810100C
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- adds r0, 0x7
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
-_08101032:
- ldrh r2, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- ble _0810106C
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _08101080
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810106C
- movs r0, 0
- strh r0, [r4, 0x3A]
- subs r2, 0x1
- strh r2, [r4, 0x3C]
- lsls r1, r2, 8
- movs r0, 0x10
- subs r0, r2
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_0810106C:
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08101080
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _081010C2
- .pool
-_08101080:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081010C2
- movs r0, 0
- strh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r2, 0x1
- strh r2, [r4, 0x3C]
- lsls r1, r2, 8
- movs r0, 0x10
- subs r0, r2
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081010C2
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_80A67F4
- str r0, [r4, 0x1C]
-_081010C2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8100FD4
-
- thumb_func_start sub_81010CC
-sub_81010CC: @ 81010CC
- 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
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =0x0000ffe8
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r5, [r4, 0x34]
- strh r5, [r4, 0x36]
- strh r5, [r4, 0x3A]
- movs r0, 0x10
- strh r0, [r4, 0x3C]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_8101138
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81010CC
-
- thumb_func_start sub_8101138
-sub_8101138: @ 8101138
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08101146
- b _08101290
-_08101146:
- lsls r0, 2
- ldr r1, =_08101154
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08101154:
- .4byte _08101168
- .4byte _081011CC
- .4byte _081011E8
- .4byte _08101266
- .4byte _0810127A
-_08101168:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- cmp r0, 0
- bgt _08101176
- b _08101290
-_08101176:
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08101198
- ldrh r1, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _081011A6
- adds r0, r1, 0x1
- strh r0, [r4, 0x3A]
- b _081011A6
-_08101198:
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _081011A6
- subs r0, r1, 0x1
- strh r0, [r4, 0x3C]
-_081011A6:
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _08101290
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08101290
- strh r0, [r4, 0x30]
- b _08101272
-_081011CC:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _08101290
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08101272
-_081011E8:
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x4
- bl sub_8101298
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0810120A
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
-_0810120A:
- ldrh r0, [r4, 0x32]
- adds r1, r0, 0x1
- strh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _08101290
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08101230
- ldrh r1, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0810123E
- subs r0, r1, 0x1
- strh r0, [r4, 0x3A]
- b _0810123E
-_08101230:
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _0810123E
- adds r0, r1, 0x1
- strh r0, [r4, 0x3C]
-_0810123E:
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r0, [r4, 0x3A]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _08101290
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _08101290
- strh r1, [r4, 0x30]
- strh r1, [r4, 0x32]
- b _08101272
-_08101266:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08101272:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08101290
-_0810127A:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08101290:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101138
-
- thumb_func_start sub_8101298
-sub_8101298: @ 8101298
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0xB
- bgt _081012AA
- ldrh r0, [r4, 0x36]
- adds r0, 0x2
- strh r0, [r4, 0x36]
-_081012AA:
- ldrh r5, [r4, 0x34]
- adds r0, r5, 0
- subs r0, 0x12
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- cmp r0, 0x17
- bhi _081012C0
- ldrh r0, [r4, 0x36]
- subs r0, 0x2
- strh r0, [r4, 0x36]
-_081012C0:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _081012CE
- ldrh r0, [r4, 0x36]
- adds r0, 0x2
- strh r0, [r4, 0x36]
-_081012CE:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0x9
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xE
- bl __divsi3
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- bge _081012F4
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x26]
-_081012F4:
- adds r0, r5, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _08101304
- movs r0, 0
- strh r0, [r4, 0x34]
-_08101304:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101298
-
- thumb_func_start sub_810130C
-sub_810130C: @ 810130C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08101320
- adds r0, r4, 0
- bl sub_80A6838
-_08101320:
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_80A6864
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x32]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A656C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810130C
-
- thumb_func_start sub_810135C
-sub_810135C: @ 810135C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08101378
- ldr r0, =gBattleAnimAttacker
- b _0810137A
- .pool
-_08101378:
- ldr r0, =gBattleAnimTarget
-_0810137A:
- ldrb r6, [r0]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081013C4
- movs r1, 0x2
- adds r0, r6, 0
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _081013C4
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0xC]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- adds r0, r6, 0
- bl SetAverageBattlerPositions
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- b _08101414
- .pool
-_081013C4:
- ldr r4, =gBattleAnimArgs
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081013E8
- adds r0, r6, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x1
- b _081013FA
- .pool
-_081013E8:
- adds r0, r6, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x3
-_081013FA:
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r5, 0x22]
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_80A6864
-_08101414:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x32]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A656C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810135C
-
- thumb_func_start sub_8101440
-sub_8101440: @ 8101440
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08101474
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- b _0810148E
- .pool
-_08101474:
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_0810148E:
- ldr r0, =sub_81014A0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101440
-
- thumb_func_start sub_81014A0
-sub_81014A0: @ 81014A0
- 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, 0x1E
- ble _081014D8
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x1E
- subs r0, r1
- movs r1, 0x3
- bl __divsi3
- strh r0, [r4, 0x26]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 18
- asrs r0, 16
- movs r1, 0x3
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_081014D8:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081014EC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081014EC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81014A0
-
- thumb_func_start sub_81014F4
-sub_81014F4: @ 81014F4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810152C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x1
- strh r0, [r4, 0x34]
- b _0810154A
- .pool
-_0810152C:
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0810154A:
- ldr r0, =sub_8101560
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81014F4
-
- thumb_func_start sub_8101560
-sub_8101560: @ 8101560
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl __divsi3
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 1
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _081015A4
- adds r0, r4, 0
- bl move_anim_8074EE0
-_081015A4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101560
-
- thumb_func_start sub_81015AC
-sub_81015AC: @ 81015AC
- push {lr}
- ldrh r1, [r0, 0x20]
- subs r1, 0x20
- strh r1, [r0, 0x20]
- ldrh r1, [r0, 0x22]
- subs r1, 0x20
- strh r1, [r0, 0x22]
- movs r1, 0x14
- strh r1, [r0, 0x2E]
- ldr r1, =sub_80A64B0
- str r1, [r0, 0x1C]
- ldr r1, =sub_81015D4
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81015AC
-
- thumb_func_start sub_81015D4
-sub_81015D4: @ 81015D4
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r6, [r5, 0x38]
- movs r1, 0x1
- adds r0, r1, 0
- ands r0, r6
- cmp r0, 0
- beq _081015EA
- cmp r0, 0x1
- beq _08101604
- b _0810166A
-_081015EA:
- strh r1, [r5, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r5, 0x1C]
- ldr r1, =sub_81015D4
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- b _0810166A
- .pool
-_08101604:
- ldrh r3, [r5, 0x24]
- ldrh r0, [r5, 0x20]
- adds r3, r0
- movs r0, 0
- strh r3, [r5, 0x20]
- ldrh r4, [r5, 0x26]
- ldrh r1, [r5, 0x22]
- adds r4, r1
- strh r4, [r5, 0x22]
- strh r0, [r5, 0x26]
- strh r0, [r5, 0x24]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- ldr r2, =gUnknown_08592CD0
- lsls r0, r6, 16
- asrs r0, 24
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r3, r1
- strh r3, [r5, 0x32]
- adds r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, r0
- strh r4, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =sub_8101684
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x38]
- adds r0, r1
- strh r0, [r5, 0x38]
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xD2
- bl PlaySE12WithPanning
-_0810166A:
- ldrh r0, [r5, 0x38]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x38]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81015D4
-
- thumb_func_start sub_8101684
-sub_8101684: @ 8101684
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- cmp r0, 0x4
- bne _081016AC
- movs r0, 0xA
- strh r0, [r2, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r2, 0x1C]
- ldr r1, =sub_81016B8
- adds r0, r2, 0
- bl StoreSpriteCallbackInData6
- b _081016B0
- .pool
-_081016AC:
- ldr r0, =sub_81015D4
- str r0, [r2, 0x1C]
-_081016B0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101684
-
- thumb_func_start sub_81016B8
-sub_81016B8: @ 81016B8
- push {r4-r7,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x6]
- cmp r1, 0
- bne _081016E0
- movs r0, 0x3
- strh r0, [r5, 0x2E]
- strh r1, [r5, 0x30]
- strh r1, [r5, 0x32]
- ldr r0, =sub_80A64B0
- str r0, [r5, 0x1C]
- ldr r1, =sub_8101774
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- b _08101760
- .pool
-_081016E0:
- ldrh r0, [r5, 0x6]
- cmp r0, 0x2
- beq _08101700
- cmp r0, 0x2
- bgt _081016F0
- cmp r0, 0x1
- beq _081016F6
- b _08101714
-_081016F0:
- cmp r0, 0x3
- beq _08101708
- b _08101714
-_081016F6:
- ldr r6, =0x0000fff8
- adds r7, r6, 0
- b _08101718
- .pool
-_08101700:
- ldr r7, =0x0000fff8
- b _08101716
- .pool
-_08101708:
- movs r7, 0x8
- ldr r6, =0x0000fff8
- b _08101718
- .pool
-_08101714:
- movs r7, 0x8
-_08101716:
- movs r6, 0x8
-_08101718:
- 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]
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =sub_8101820
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
-_08101760:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81016B8
-
- thumb_func_start sub_8101774
-sub_8101774: @ 8101774
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08101794
- ldrh r0, [r4, 0x30]
- adds r0, 0x3
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _081017A4
- movs r0, 0x10
- b _081017A2
-_08101794:
- ldrh r0, [r4, 0x30]
- subs r0, 0x3
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bge _081017A4
- movs r0, 0
-_081017A2:
- strh r0, [r4, 0x30]
-_081017A4:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80A75AC
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =0x00007fff
- bl BlendPalettes
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- cmp r0, 0x10
- bne _0810180C
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- lsls r0, r1, 5
- ldr r2, =gPlttBufferUnfaded + 0x210
- adds r0, r2
- lsls r1, 4
- ldr r3, =0x00000101
- adds r2, r3, 0
- orrs r1, r2
- movs r2, 0x4
- bl LoadPalette
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xC0
- bl PlaySE12WithPanning
- b _08101814
- .pool
-_0810180C:
- cmp r0, 0
- bne _08101814
- ldr r0, =sub_8101820
- str r0, [r4, 0x1C]
-_08101814:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101774
-
- thumb_func_start sub_8101820
-sub_8101820: @ 8101820
- push {lr}
- adds r2, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08101838
- movs r0, 0
- strh r0, [r2, 0x30]
- strh r0, [r2, 0x2E]
- ldr r0, =sub_8101848
- str r0, [r2, 0x1C]
-_08101838:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101820
-
- thumb_func_start sub_8101848
-sub_8101848: @ 8101848
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _0810187C
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- 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]
-_0810187C:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _08101890
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08101890:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101848
-
- thumb_func_start sub_8101898
-sub_8101898: @ 8101898
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r3, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _081018BC
- ldrh r0, [r3, 0x20]
- subs r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- subs r0, 0x18
- strh r0, [r3, 0x22]
- b _0810190E
- .pool
-_081018BC:
- cmp r0, 0x2
- bne _081018D8
- ldrh r0, [r3, 0x20]
- subs r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- adds r0, 0x18
- strh r0, [r3, 0x22]
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x20
- b _0810190A
-_081018D8:
- cmp r0, 0x3
- bne _081018F4
- ldrh r0, [r3, 0x20]
- adds r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- subs r0, 0x18
- strh r0, [r3, 0x22]
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- b _0810190A
-_081018F4:
- ldrh r0, [r3, 0x20]
- adds r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- adds r0, 0x18
- strh r0, [r3, 0x22]
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x30
-_0810190A:
- orrs r0, r1
- strb r0, [r3, 0x3]
-_0810190E:
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x10
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldr r1, =sub_81015AC
- str r1, [r3, 0x1C]
- adds r0, r3, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101898
-
- thumb_func_start sub_8101940
-sub_8101940: @ 8101940
- push {lr}
- adds r3, r0, 0
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- strh r0, [r3, 0x2E]
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _0810197C
- cmp r0, 0x1
- bgt _0810196C
- cmp r0, 0
- beq _08101972
- b _0810198C
- .pool
-_0810196C:
- cmp r0, 0x2
- beq _08101984
- b _0810198C
-_08101972:
- ldr r0, =sub_8101998
- b _0810198E
- .pool
-_0810197C:
- ldr r0, =sub_8101A74
- b _0810198E
- .pool
-_08101984:
- ldr r0, =sub_8101AC4
- b _0810198E
- .pool
-_0810198C:
- ldr r0, =sub_8101B84
-_0810198E:
- str r0, [r3, 0x1C]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101940
-
- thumb_func_start sub_8101998
-sub_8101998: @ 8101998
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x6
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- beq _081019B6
- movs r1, 0x2
-_081019B6:
- strh r1, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- ldr r1, =sub_81019E8
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6630
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101998
-
- thumb_func_start sub_81019E8
-sub_81019E8: @ 81019E8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _08101A24
- ldr r1, =gBattlerSpriteIds
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5, 0x34]
- movs r1, 0
- bl sub_80A7270
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- ldr r2, =0xfffffd00
- adds r1, r2, 0
- cmp r0, 0
- beq _08101A20
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r0, 0
-_08101A20:
- strh r1, [r5, 0x36]
- strh r6, [r5, 0x38]
-_08101A24:
- ldrh r0, [r5, 0x36]
- ldrh r1, [r5, 0x38]
- adds r0, r1
- strh r0, [r5, 0x38]
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r5, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A73A0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08101A5E
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_8101B84
- str r0, [r5, 0x1C]
-_08101A5E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81019E8
-
- thumb_func_start sub_8101A74
-sub_8101A74: @ 8101A74
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x4
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _08101A92
- movs r0, 0x3
- negs r0, r0
- adds r1, r0, 0
-_08101A92:
- strh r1, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- ldr r1, =sub_8101B84
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6630
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101A74
-
- thumb_func_start sub_8101AC4
-sub_8101AC4: @ 8101AC4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _08101ADE
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =sub_8101AE8
- str r0, [r1, 0x1C]
-_08101ADE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101AC4
-
- thumb_func_start sub_8101AE8
-sub_8101AE8: @ 8101AE8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08101B38
- ldr r1, =gBattlerSpriteIds
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08101B2C
- movs r0, 0xFC
- lsls r0, 8
- strh r0, [r5, 0x36]
- movs r0, 0xC0
- lsls r0, 4
- b _08101B36
- .pool
-_08101B2C:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r5, 0x36]
- movs r0, 0xF4
- lsls r0, 8
-_08101B36:
- strh r0, [r5, 0x38]
-_08101B38:
- ldrh r0, [r5, 0x36]
- ldrh r1, [r5, 0x38]
- adds r0, r1
- strh r0, [r5, 0x38]
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r5, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A73A0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08101B78
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7344
- ldr r0, =sub_8101B84
- str r0, [r5, 0x1C]
-_08101B78:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101AE8
-
- thumb_func_start sub_8101B84
-sub_8101B84: @ 8101B84
- push {lr}
- bl DestroyAnimSprite
- pop {r0}
- bx r0
- thumb_func_end sub_8101B84
-
- thumb_func_start sub_8101B90
-sub_8101B90: @ 8101B90
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r1, =sub_8101BA0
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8101B90
-
- thumb_func_start sub_8101BA0
-sub_8101BA0: @ 8101BA0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _08101BFA
- cmp r5, 0x1
- bgt _08101BB6
- cmp r5, 0
- beq _08101BBC
- b _08101C8E
-_08101BB6:
- cmp r5, 0x2
- beq _08101C4C
- b _08101C8E
-_08101BBC:
- strh r5, [r4, 0x30]
- ldr r1, =gBattlerSpriteIds
- ldr r2, =gBattleAnimAttacker
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x32]
- ldrb r0, [r2]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- ldr r2, =0xfffffe00
- adds r1, r2, 0
- cmp r0, 0
- beq _08101BE4
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0, 0
-_08101BE4:
- strh r1, [r4, 0x36]
- strh r5, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80A7270
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08101BFA:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A73A0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08101C8E
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08101C8E
- .pool
-_08101C4C:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A73A0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08101C8E
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7344
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08101C8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101BA0
-
- thumb_func_start sub_8101C94
-sub_8101C94: @ 8101C94
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldr r1, =gBattlerSpriteIds
- ldr r2, =gBattleAnimAttacker
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0
- strh r0, [r5, 0x8]
- ldrb r0, [r2]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r2, r0, 24
- strh r2, [r5, 0xA]
- strh r4, [r5, 0xC]
- ldr r0, =gBattleAnimArgs
- movs r3, 0
- ldrsh r1, [r0, r3]
- cmp r1, 0
- beq _08101CE8
- cmp r1, 0x1
- beq _08101D04
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _08101D22
- .pool
-_08101CE8:
- strh r1, [r5, 0xC]
- movs r0, 0x8
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- movs r0, 0x3
- strh r0, [r5, 0x12]
- cmp r2, 0
- bne _08101CFC
- negs r0, r0
- strh r0, [r5, 0x12]
-_08101CFC:
- ldr r0, =sub_8101D2C
- b _08101D20
- .pool
-_08101D04:
- movs r0, 0x8
- strh r0, [r5, 0xE]
- movs r0, 0xC0
- lsls r0, 3
- strh r0, [r5, 0x10]
- movs r1, 0xC0
- strh r1, [r5, 0x12]
- cmp r2, 0
- bne _08101D1E
- negs r0, r0
- strh r0, [r5, 0x10]
- negs r0, r1
- strh r0, [r5, 0x12]
-_08101D1E:
- ldr r0, =sub_8101EEC
-_08101D20:
- str r0, [r5]
-_08101D22:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101C94
-
- thumb_func_start sub_8101D2C
-sub_8101D2C: @ 8101D2C
- 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, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08101D46
- b _08101EE6
-_08101D46:
- lsls r0, 2
- ldr r1, =_08101D58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08101D58:
- .4byte _08101D6C
- .4byte _08101D9E
- .4byte _08101DF8
- .4byte _08101E70
- .4byte _08101EB4
-_08101D6C:
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08101D7C
- ldrh r2, [r4, 0x12]
- ldrh r3, [r4, 0x10]
- adds r2, r3
- b _08101EC2
-_08101D7C:
- movs r0, 0x8
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0xC0
- cmp r0, 0
- bne _08101D92
- movs r2, 0xC0
- negs r2, r2
- adds r1, r2, 0
-_08101D92:
- strh r1, [r4, 0x12]
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_80A7270
- b _08101EA8
-_08101D9E:
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08101DC4
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x10]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_80A73A0
- b _08101ED4
-_08101DC4:
- movs r0, 0x8
- strh r0, [r4, 0xE]
- ldr r2, =gSprites
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08101DEA
- movs r1, 0x2
-_08101DEA:
- strh r1, [r4, 0x12]
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _08101EA8
- .pool
-_08101DF8:
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08101E54
- ldrh r1, [r4, 0x14]
- movs r3, 0x14
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08101E12
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
- b _08101EE6
-_08101E12:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08101E34
- 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, [r4, 0x12]
- ldrh r2, [r4, 0x10]
- adds r1, r2
- b _08101E48
- .pool
-_08101E34:
- ldr r2, =gSprites
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x10]
- ldrh r2, [r4, 0x12]
- subs r1, r2
-_08101E48:
- strh r1, [r0, 0x24]
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _08101ED4
- .pool
-_08101E54:
- 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, [r4, 0x10]
- strh r1, [r0, 0x24]
- movs r0, 0xC
- strh r0, [r4, 0xE]
- b _08101EA8
- .pool
-_08101E70:
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08101E80
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08101EE6
-_08101E80:
- movs r0, 0x3
- strh r0, [r4, 0xE]
- ldr r2, =gSprites
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0x8
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08101EA6
- movs r1, 0x8
-_08101EA6:
- strh r1, [r4, 0x12]
-_08101EA8:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _08101EE6
- .pool
-_08101EB4:
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08101EE0
- ldrh r2, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r2, r0
-_08101EC2:
- strh r2, [r4, 0x10]
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x24]
-_08101ED4:
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _08101EE6
- .pool
-_08101EE0:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08101EE6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101D2C
-
- thumb_func_start sub_8101EEC
-sub_8101EEC: @ 8101EEC
- 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, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08101F2C
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x10]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_80A73A0
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _08101F38
- .pool
-_08101F2C:
- ldrb r0, [r4, 0x8]
- bl sub_80A7344
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08101F38:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101EEC
-
- thumb_func_start sub_8101F40
-sub_8101F40: @ 8101F40
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08101F5C
- ldr r4, =gBattleAnimAttacker
- b _08101F5E
- .pool
-_08101F5C:
- ldr r4, =gBattleAnimTarget
-_08101F5E:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x4]
- adds r0, r6
- strh r0, [r5, 0x22]
- movs r0, 0
- strh r0, [r5, 0x2E]
- strh r0, [r5, 0x30]
- ldr r1, =sub_810208C
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101F40
-
- thumb_func_start sub_8101FA8
-sub_8101FA8: @ 8101FA8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =0x0000ffd0
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r1, =sub_8102044
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101FA8
-
- thumb_func_start sub_8101FF0
-sub_8101FF0: @ 8101FF0
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleAnimArgs
- ldr r2, =0x0000ffd0
- adds r0, r2
- ldrh r1, [r1]
- adds r0, r1
- movs r6, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
- strh r6, [r4, 0x30]
- ldr r0, =sub_810208C
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8101FF0
-
- thumb_func_start sub_8102044
-sub_8102044: @ 8102044
- 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
- ble _0810206E
- movs r0, 0xC
- strh r0, [r4, 0x2E]
- movs r0, 0x8
- strh r0, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r1, =sub_810207C
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A653C
- str r0, [r4, 0x1C]
-_0810206E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102044
-
- thumb_func_start sub_810207C
-sub_810207C: @ 810207C
- movs r1, 0
- strh r1, [r0, 0x2E]
- strh r1, [r0, 0x30]
- ldr r1, =sub_810208C
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_810207C
-
- thumb_func_start sub_810208C
-sub_810208C: @ 810208C
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081020D4
- movs r0, 0
- strh r0, [r3, 0x2E]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands 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, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _081020D4
- adds r0, r3, 0
- bl DestroyAnimSprite
-_081020D4:
- pop {r0}
- bx r0
- thumb_func_end sub_810208C
-
- thumb_func_start sub_81020D8
-sub_81020D8: @ 81020D8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081020F4
- ldr r4, =gBattleAnimAttacker
- b _081020F6
- .pool
-_081020F4:
- ldr r4, =gBattleAnimTarget
-_081020F6:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x4]
- adds r0, r6
- strh r0, [r5, 0x22]
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r5, 0x30]
- ldr r0, =sub_810213C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81020D8
-
- thumb_func_start sub_810213C
-sub_810213C: @ 810213C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- ble _0810215C
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x22]
- subs r0, 0x1
- strh r0, [r2, 0x22]
-_0810215C:
- ldrh r0, [r2, 0x22]
- ldrh r1, [r2, 0x2E]
- subs r0, r1
- strh r0, [r2, 0x22]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08102178
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08102178:
- pop {r0}
- bx r0
- thumb_func_end sub_810213C
-
- thumb_func_start sub_810217C
-sub_810217C: @ 810217C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0xC
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x2E]
- movs r0, 0x2
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r5, [r4, 0x34]
- strh r5, [r4, 0x36]
- subs r0, 0x42
- bl BattleAnimAdjustPanning
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x38]
- ldr r0, =sub_81021CC
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810217C
-
- thumb_func_start sub_81021CC
-sub_81021CC: @ 81021CC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _08102238
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0810221E
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810221E
- ldrh r1, [r4, 0x38]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xC2
- bl PlaySE12WithPanning
-_0810221E:
- movs r1, 0
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08102238
- strh r1, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_08102238:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08102262
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- ble _08102262
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08102262
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08102262:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81021CC
-
- thumb_func_start sub_8102268
-sub_8102268: @ 8102268
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081022B2
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r5, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x2]
- adds r0, r5
- strh r0, [r6, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081022AC
- ldrh r0, [r6, 0x22]
- adds r0, 0xA
- strh r0, [r6, 0x22]
-_081022AC:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
-_081022B2:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081022C2
- adds r0, r6, 0
- bl DestroyAnimSprite
-_081022C2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102268
-
- thumb_func_start sub_81022D4
-sub_81022D4: @ 81022D4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08102300
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x0000ffff
- strh r0, [r1, 0xE]
- b _0810233E
- .pool
-_08102300:
- cmp r0, 0x2
- bne _0810230C
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- b _08102344
-_0810230C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _08102344
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r2, [r4, 0xA]
- adds r2, 0x1
- strh r2, [r4, 0xA]
- lsls r1, r2, 8
- movs r0, 0x10
- subs r0, r2
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _08102344
-_0810233E:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_08102344:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81022D4
-
- thumb_func_start sub_810234C
-sub_810234C: @ 810234C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A6980
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, =sub_810237C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810234C
-
- thumb_func_start sub_810237C
-sub_810237C: @ 810237C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08102390
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _081023CC
-_08102390:
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1E
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimAttacker
- 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]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
-_081023CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810237C
-
- thumb_func_start sub_81023E0
-sub_81023E0: @ 81023E0
- 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 r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _08102428
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- 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, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _08102428
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08102428:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81023E0
-
- thumb_func_start sub_8102434
-sub_8102434: @ 8102434
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08102490
- ldr r6, =gBattleAnimArgs
- ldr r5, =gHealthboxSpriteIds
-_08102448:
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _08102464
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08102464
- adds r0, r4, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
-_08102464:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _08102482
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08102482
- adds r0, r4, r5
- ldrb r0, [r0]
- bl SetHealthboxSpriteInvisible
-_08102482:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08102448
-_08102490:
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102434
-
- thumb_func_start sub_81024A8
-sub_81024A8: @ 81024A8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _081024C2
-_081024B2:
- ldr r0, =gHealthboxSpriteIds
- adds r0, r4, r0
- ldrb r0, [r0]
- bl SetHealthboxSpriteVisible
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081024C2:
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081024B2
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81024A8
-
- thumb_func_start sub_81024E0
-sub_81024E0: @ 81024E0
- push {r4,lr}
- adds r4, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081024F6
- movs r0, 0x30
- strh r0, [r4, 0x20]
- movs r0, 0x28
- b _081024FE
-_081024F6:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
-_081024FE:
- strh r0, [r4, 0x22]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_8102528
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81024E0
-
- thumb_func_start sub_8102528
-sub_8102528: @ 8102528
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0810253A
- adds r0, r1, 0
- bl DestroyAnimSprite
-_0810253A:
- pop {r0}
- bx r0
- thumb_func_end sub_8102528
-
- thumb_func_start sub_8102540
-sub_8102540: @ 8102540
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r2, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r2]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x30]
- strh r1, [r4, 0x32]
- strh r1, [r4, 0x34]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- ldr r0, =sub_8102584
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102540
-
- thumb_func_start sub_8102584
-sub_8102584: @ 8102584
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081025AE
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r2, [r1, 0x32]
- movs r3, 0x32
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _081025AE
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
- adds r0, r2, 0x1
- strh r0, [r1, 0x32]
-_081025AE:
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _081025BC
- adds r0, r1, 0
- bl DestroyAnimSprite
-_081025BC:
- pop {r0}
- bx r0
- thumb_func_end sub_8102584
-
- thumb_func_start sub_81025C0
-sub_81025C0: @ 81025C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A75AC
- mov r8, r0
- ldr r0, =0x0000ffff
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldr r0, =gTasks
- mov r9, r0
- lsls r5, r7, 2
- adds r5, r7
- lsls r5, 3
- adds r6, r5, r0
- strh r4, [r6, 0x8]
- strh r4, [r6, 0xA]
- strh r4, [r6, 0xC]
- strh r1, [r6, 0xE]
- strh r4, [r6, 0x10]
- strh r4, [r6, 0x12]
- strh r4, [r6, 0x14]
- movs r0, 0xD
- strh r0, [r6, 0x16]
- movs r0, 0xE
- strh r0, [r6, 0x18]
- movs r0, 0xF
- strh r0, [r6, 0x1A]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80A76C4
- mov r10, r0
- mov r1, r8
- orrs r1, r0
- mov r8, r1
- movs r0, 0x8
- add r9, r0
- add r5, r9
- adds r0, r5, 0
- adds r0, 0x1C
- adds r5, 0x1E
- adds r1, r5, 0
- mov r2, r8
- bl sub_80A8048
- ldr r0, =0x000027d2
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x80
- lsls r4, 9
- adds r1, r4, 0
- lsls r1, r0
- mov r0, r10
- orrs r0, r1
- mov r10, r0
- ldr r0, =0x000027d3
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0
- mov r1, r10
- orrs r4, r1
- ldr r0, =0x00007fbb
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =sub_81026A8
- str r1, [r6]
- adds r0, r7, 0
- bl _call_via_r1
- 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_81025C0
-
- thumb_func_start sub_81026A8
-sub_81026A8: @ 81026A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- 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 r1, [r4, r0]
- cmp r1, 0x1
- beq _08102794
- cmp r1, 0x1
- bgt _081026D4
- cmp r1, 0
- beq _081026E2
- b _08102832
- .pool
-_081026D4:
- cmp r1, 0x2
- bne _081026DA
- b _081027EC
-_081026DA:
- cmp r1, 0x3
- bne _081026E0
- b _08102820
-_081026E0:
- b _08102832
-_081026E2:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _081026F0
- b _08102832
-_081026F0:
- strh r1, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _0810273C
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- ldrh r2, [r4, 0x18]
- ldrh r3, [r4, 0x12]
- adds r2, r3
- strh r2, [r4, 0x12]
- ldrh r1, [r4, 0x1A]
- ldrh r5, [r4, 0x14]
- adds r1, r5
- strh r1, [r4, 0x14]
- lsls r0, 16
- asrs r0, 19
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 16
- asrs r2, 19
- lsls r2, 16
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r2, 11
- orrs r0, r2
- lsrs r1, 6
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- b _08102746
-_0810273C:
- ldr r7, =0x00007fbb
- mov r12, r7
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08102746:
- movs r2, 0x1
- movs r3, 0
- movs r1, 0
-_0810274C:
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- ands r0, r2
- lsls r5, r2, 17
- adds r6, r3, 0
- adds r6, 0x10
- adds r1, 0x1
- mov r8, r1
- cmp r0, 0
- beq _08102778
- movs r1, 0x1
- ldr r2, =gPlttBufferFaded
-_08102764:
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r2
- mov r7, r12
- strh r7, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _08102764
-_08102778:
- lsrs r2, r5, 16
- lsls r0, r6, 16
- lsrs r3, r0, 16
- mov r1, r8
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _0810274C
- b _08102832
- .pool
-_08102794:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08102832
- movs r2, 0
- ldr r3, =gSprites
- movs r5, 0x14
- adds r5, r3
- mov r12, r5
- ldr r7, =gUnknown_08592EBC
- mov r8, r7
- ldr r6, =gBattleAnimSpriteTemplate_8592EEC
- movs r5, 0x1
-_081027B2:
- lsls r0, r2, 4
- adds r0, r2
- lsls r1, r0, 2
- mov r7, r12
- adds r0, r1, r7
- ldr r0, [r0]
- cmp r0, r8
- beq _081027C6
- cmp r0, r6
- bne _081027CA
-_081027C6:
- adds r0, r1, r3
- strh r5, [r0, 0x2E]
-_081027CA:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _081027B2
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08102814
- .pool
-_081027EC:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _08102832
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- bl sub_80A8050
- ldr r1, =0x00007fbb
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_08102814:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08102832
- .pool
-_08102820:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08102832
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08102832:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81026A8
-
- thumb_func_start sub_8102844
-sub_8102844: @ 8102844
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bgt _08102856
- movs r0, 0x2
- strh r0, [r6, 0x4]
-_08102856:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0x7F
- ble _08102862
- movs r0, 0x7F
- strh r0, [r6, 0x4]
-_08102862:
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x2]
- adds r0, r6
- strh r0, [r5, 0x22]
- ldrh r1, [r5, 0x20]
- strh r1, [r5, 0x3A]
- strh r0, [r5, 0x3C]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081028D4
- ldrb r1, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r4, [r5, 0x22]
- adds r4, 0x14
- strh r4, [r5, 0x22]
- lsls r0, 7
- strh r0, [r5, 0x32]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- ldr r0, =0xffffec00
- b _081028FA
- .pool
-_081028D4:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810291C
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r4, [r5, 0x22]
- adds r4, 0x14
- strh r4, [r5, 0x22]
- lsls r0, 7
- strh r0, [r5, 0x32]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0xA0
- lsls r0, 5
-_081028FA:
- bl __divsi3
- strh r0, [r5, 0x34]
- lsls r4, 7
- strh r4, [r5, 0x36]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- ldr r0, =0xfffff600
- bl __divsi3
- strh r0, [r5, 0x38]
- b _08102958
- .pool
-_0810291C:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r4, [r5, 0x22]
- subs r4, 0x14
- strh r4, [r5, 0x22]
- lsls r0, 7
- strh r0, [r5, 0x32]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- ldr r0, =0xffffec00
- bl __divsi3
- strh r0, [r5, 0x34]
- lsls r4, 7
- strh r4, [r5, 0x36]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0xA0
- lsls r0, 4
- bl __divsi3
- strh r0, [r5, 0x38]
- ldrb r1, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x30
- orrs r0, r1
- strb r0, [r5, 0x3]
-_08102958:
- ldr r0, =sub_810296C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102844
-
- thumb_func_start sub_810296C
-sub_810296C: @ 810296C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x36]
- adds r1, r3
- strh r1, [r2, 0x36]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 23
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _081029A2
- ldrh r0, [r2, 0x3A]
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x3C]
- strh r0, [r2, 0x22]
-_081029A2:
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _081029B0
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081029B0:
- pop {r0}
- bx r0
- thumb_func_end sub_810296C
-
- thumb_func_start sub_81029B4
-sub_81029B4: @ 81029B4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x8]
- ldr r0, =0x00002771
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0xA]
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- lsls r0, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r3, r0, 16
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r4, r0, 4
- movs r5, 0x1
- ldr r2, =gPlttBufferUnfaded
-_08102A0C:
- adds r1, r3, r5
- lsls r1, 1
- adds r1, r2
- adds r0, r4, r5
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xF
- bls _08102A0C
- adds r0, r3, 0
- movs r1, 0x10
- movs r2, 0xB
- movs r3, 0
- bl BlendPalette
- movs r0, 0
- strh r0, [r6, 0xE]
- movs r5, 0
- ldr r7, =gSprites
- movs r1, 0x1C
- adds r1, r7
- mov r9, r1
- b _08102A88
- .pool
-_08102A54:
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r4, r2, r7
- ldrb r1, [r6, 0xA]
- lsls r1, 4
- ldrb r3, [r4, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0
- strh r0, [r4, 0x2E]
- lsls r0, r5, 7
- strh r0, [r4, 0x30]
- mov r0, r8
- strh r0, [r4, 0x32]
- add r2, r9
- ldr r0, =sub_8102B3C
- str r0, [r2]
- ldrh r0, [r6, 0xE]
- adds r0, 0x1
- strh r0, [r6, 0xE]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08102A88:
- cmp r5, 0x1
- bhi _08102A9A
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08102A54
-_08102A9A:
- ldr r0, =sub_8102AE0
- str r0, [r6]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08102AC8
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl ClearGpuRegBits
- b _08102AD2
- .pool
-_08102AC8:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl ClearGpuRegBits
-_08102AD2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81029B4
-
- thumb_func_start sub_8102AE0
-sub_8102AE0: @ 8102AE0
- 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
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08102B32
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08102B1C
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _08102B26
- .pool
-_08102B1C:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_08102B26:
- ldr r0, =0x00002771
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08102B32:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102AE0
-
- thumb_func_start sub_8102B3C
-sub_8102B3C: @ 8102B3C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08102B58
- movs r0, 0
- strh r0, [r5, 0x34]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_08102B58:
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x40
- ble _08102B80
- ldr r2, =gTasks
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0xE]
- subs r1, 0x1
- strh r1, [r0, 0xE]
- adds r0, r5, 0
- bl obj_delete_but_dont_free_vram
- b _08102BC2
- .pool
-_08102B80:
- ldr r4, =gSineTable
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x6
- bl __divsi3
- strh r0, [r5, 0x36]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xD
- bl __divsi3
- strh r0, [r5, 0x38]
- ldrh r1, [r5, 0x30]
- adds r1, r0
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r5, 0x30]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
-_08102BC2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102B3C
-
- thumb_func_start sub_8102BCC
-sub_8102BCC: @ 8102BCC
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102BCC
-
- thumb_func_start sub_8102BE8
-sub_8102BE8: @ 8102BE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r4, =gUnknown_08593020
- ldrh r0, [r4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- beq _08102C2C
- lsls r0, r3, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r3, r0, 16
- movs r2, 0x1
- ldr r5, =gPlttBufferFaded
-_08102C14:
- adds r1, r3, r2
- lsls r1, 1
- adds r1, r5
- lsls r0, r2, 1
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _08102C14
-_08102C2C:
- movs r4, 0x1
- ldr r0, =gUnknown_08593020
- mov r8, r0
-_08102C32:
- lsls r0, r4, 1
- adds r0, r4
- lsls r5, r0, 2
- mov r1, r8
- adds r0, r5, r1
- ldrh r0, [r0]
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, 0x1
- mov r12, r4
- cmp r3, 0xFF
- beq _08102C7A
- lsls r0, r3, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r3, r0, 16
- movs r2, 0x1
- ldr r7, =gPlttBufferFaded
- ldr r6, =gUnknown_08593020
- adds r4, r5, 0
-_08102C60:
- adds r1, r3, r2
- lsls r1, 1
- adds r1, r7
- lsls r0, r2, 1
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _08102C60
-_08102C7A:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08102C32
- mov r0, r9
- bl DestroyAnimVisualTask
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102BE8
-
- thumb_func_start sub_8102CA0
-sub_8102CA0: @ 8102CA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0x1
- ldr r6, =gUnknown_08593020
-_08102CAA:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r6
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08102CAA
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102CA0
-
- thumb_func_start sub_8102CD4
-sub_8102CD4: @ 8102CD4
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl sub_80A6838
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r2, =gUnknown_08593020
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08102D10
- lsls r2, r0, 4
- ldrb r1, [r5, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x5]
-_08102D10:
- ldrh r0, [r4, 0x2]
- movs r1, 0
- strh r0, [r5, 0x30]
- strh r1, [r5, 0x32]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x34]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08102D34
- movs r6, 0x30
- movs r3, 0x28
- b _08102D4E
- .pool
-_08102D34:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r3, r0, 24
-_08102D4E:
- ldrh r0, [r5, 0x20]
- lsls r1, r0, 4
- strh r1, [r5, 0x36]
- ldrh r1, [r5, 0x22]
- lsls r2, r1, 4
- strh r2, [r5, 0x38]
- subs r0, r6, r0
- lsls r0, 16
- asrs r0, 16
- subs r1, r3, r1
- lsls r1, 16
- asrs r1, 16
- adds r2, r5, 0
- adds r2, 0x3A
- adds r3, r5, 0
- adds r3, 0x3C
- movs r4, 0x28
- str r4, [sp]
- bl sub_8102D8C
- ldr r0, =sub_8102DE4
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102CD4
-
- thumb_func_start sub_8102D8C
-sub_8102D8C: @ 8102D8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r2, 0
- mov r8, r3
- ldr r2, [sp, 0x18]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r1, r2, 24
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bge _08102DAE
- lsls r0, r1, 24
- negs r0, r0
- lsrs r1, r0, 24
-_08102DAE:
- lsls r5, r2, 8
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl __divsi3
- adds r4, r0, 0
- cmp r4, 0
- bne _08102DC2
- movs r4, 0x1
-_08102DC2:
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- strh r0, [r7]
- lsls r0, r6, 16
- asrs r0, 8
- adds r1, r4, 0
- bl __divsi3
- mov r1, r8
- strh r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8102D8C
-
- thumb_func_start sub_8102DE4
-sub_8102DE4: @ 8102DE4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x2E]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r1, r0, r1
- adds r0, r1, 0
- cmp r1, 0
- bge _08102E00
- adds r0, 0xFF
-_08102E00:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- ldrh r1, [r4, 0x3A]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- ldrh r2, [r4, 0x3C]
- ldrh r3, [r4, 0x38]
- adds r2, r3
- strh r2, [r4, 0x38]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x20]
- lsls r2, 16
- asrs r2, 20
- strh r2, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xF
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- ldrh r0, [r4, 0x20]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bhi _08102E4E
- lsls r0, r2, 16
- asrs r1, r0, 16
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _08102E4E
- cmp r1, 0x80
- ble _08102E56
-_08102E4E:
- adds r0, r4, 0
- bl move_anim_8074EE0
- b _08102EA6
-_08102E56:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08102EA6
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r1
- ble _08102EA6
- strh r5, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08102E7E
- strh r5, [r4, 0x30]
-_08102E7E:
- ldr r2, =gUnknown_08593020
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08102EA6
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
-_08102EA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102DE4
-
- thumb_func_start sub_8102EB0
-sub_8102EB0: @ 8102EB0
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08102ECE
- ldr r1, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_08102ECE:
- ldrb r0, [r7]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- movs r5, 0
- strh r0, [r6, 0x20]
- ldrb r0, [r7]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r6, 0x22]
- ldrb r1, [r4]
- adds r0, r6, 0
- bl StartSpriteAnim
- strh r5, [r6, 0x32]
- strh r5, [r6, 0x34]
- ldrh r0, [r6, 0x20]
- lsls r0, 4
- strh r0, [r6, 0x36]
- ldrh r0, [r6, 0x22]
- lsls r0, 4
- strh r0, [r6, 0x38]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- lsls r0, 4
- movs r1, 0x5
- bl __divsi3
- strh r0, [r6, 0x3A]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- lsls r0, 7
- movs r1, 0x5
- bl __divsi3
- strh r0, [r6, 0x3C]
- ldr r0, =sub_8102F40
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102EB0
-
- thumb_func_start sub_8102F40
-sub_8102F40: @ 8102F40
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldrh r1, [r4, 0x3C]
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _08102F9E
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08102F9E
- ldrh r0, [r4, 0x32]
- adds r0, 0x10
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x12
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x12
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08102F9E
- movs r0, 0x1
- strh r0, [r4, 0x34]
-_08102F9E:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x30
- bne _08102FB2
- adds r0, r4, 0
- bl move_anim_8074EE0
-_08102FB2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8102F40
-
- thumb_func_start sub_8102FB8
-sub_8102FB8: @ 8102FB8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _08102FDC
- ldrb r0, [r5, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r5, 0x3]
- movs r6, 0x10
- b _08102FDE
- .pool
-_08102FDC:
- ldr r6, =0x0000fff0
-_08102FDE:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x8
- strh r0, [r5, 0x22]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8102FB8
-
- thumb_func_start sub_8103028
-sub_8103028: @ 8103028
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldrh r0, [r4, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
- ldr r5, =gBattleAnimArgs
- ldrb r1, [r5, 0x2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r2, =gUnknown_08593020
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08103068
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
-_08103068:
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- cmp r0, 0
- bne _08103074
- ldr r2, =0x0000ffe0
-_08103074:
- movs r0, 0x28
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x20]
- strh r1, [r4, 0x30]
- lsls r0, r2, 16
- asrs r0, 16
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- subs r0, 0x28
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x38]
- ldr r0, =sub_81030B0
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103028
-
- thumb_func_start sub_81030B0
-sub_81030B0: @ 81030B0
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _08103100
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r2, [r4, 0x24]
- movs r3, 0x24
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _081030DC
- lsls r0, r1, 16
- negs r0, r0
- lsrs r1, r0, 16
-_081030DC:
- lsls r0, r1, 16
- asrs r0, 16
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- ldrh r3, [r4, 0x26]
- adds r0, r3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _08103106
-_08103100:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08103106:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81030B0
-
- thumb_func_start sub_810310C
-sub_810310C: @ 810310C
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810312C
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80A861C
- adds r0, 0x8
- b _08103136
-_0810312C:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A861C
- subs r0, 0x8
-_08103136:
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A861C
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08103158
- adds r0, 0x3
-_08103158:
- asrs r0, 2
- subs r0, r4, r0
- strh r0, [r6, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810310C
-
- thumb_func_start sub_8103164
-sub_8103164: @ 8103164
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08103180
- ldr r0, =gBattleAnimAttacker
- b _08103182
- .pool
-_08103180:
- ldr r0, =gBattleAnimTarget
-_08103182:
- ldrb r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_810310C
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- strh r0, [r5, 0x2E]
- adds r0, r1, 0x2
- strh r0, [r5, 0x30]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r1, =sub_81031D0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103164
-
- thumb_func_start sub_81031D0
-sub_81031D0: @ 81031D0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _081031F8
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
-_081031F8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81031D0
-
- thumb_func_start sub_8103208
-sub_8103208: @ 8103208
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08103224
- ldr r0, =gBattleAnimAttacker
- b _08103226
- .pool
-_08103224:
- ldr r0, =gBattleAnimTarget
-_08103226:
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_810310C
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r1, =sub_8103250
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103208
-
- thumb_func_start sub_8103250
-sub_8103250: @ 8103250
- 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, 0x10
- ble _08103276
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r4, 0x1C]
-_08103276:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103250
-
- thumb_func_start sub_8103284
-sub_8103284: @ 8103284
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081032A0
- ldr r0, =gBattleAnimAttacker
- b _081032A2
- .pool
-_081032A0:
- ldr r0, =gBattleAnimTarget
-_081032A2:
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- strh r0, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bgt _081032CA
- movs r0, 0xA
- strh r0, [r4, 0x22]
-_081032CA:
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- strh r6, [r4, 0x30]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- strh r0, [r4, 0x32]
- ldrb r0, [r1]
- adds r0, 0x4
- strh r0, [r4, 0x34]
- strh r6, [r4, 0x36]
- ldr r1, =sub_8103300
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103284
-
- thumb_func_start sub_8103300
-sub_8103300: @ 8103300
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _08103316
- ldr r0, =sub_8103320
- str r0, [r1, 0x1C]
-_08103316:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103300
-
- thumb_func_start sub_8103320
-sub_8103320: @ 8103320
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0x4
- strh r1, [r2, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFE
- ble _08103352
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _0810334C
- strh r0, [r2, 0x24]
- ldr r0, =sub_8103250
- str r0, [r2, 0x1C]
- b _08103388
- .pool
-_0810334C:
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r2, 0x30]
-_08103352:
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0x4F
- ble _08103362
- ldrh r0, [r2, 0x34]
- adds r1, r2, 0
- adds r1, 0x43
- strb r0, [r1]
-_08103362:
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0x9F
- ble _08103372
- ldrh r0, [r2, 0x32]
- adds r1, r2, 0
- adds r1, 0x43
- strb r0, [r1]
-_08103372:
- ldr r1, =gSineTable
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- asrs r1, r0, 1
- adds r0, r1
- strh r0, [r2, 0x24]
-_08103388:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103320
-
- thumb_func_start sub_8103390
-sub_8103390: @ 8103390
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081033AC
- ldr r0, =gBattleAnimAttacker
- b _081033AE
- .pool
-_081033AC:
- ldr r0, =gBattleAnimTarget
-_081033AE:
- ldrb r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_810310C
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081033D4
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0x2
- b _081033DE
- .pool
-_081033D4:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x3
-_081033DE:
- strh r0, [r5, 0x2E]
- ldr r0, =sub_81033F0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103390
-
- thumb_func_start sub_81033F0
-sub_81033F0: @ 81033F0
- 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, 0xA
- ble _0810341E
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r1, =sub_810342C
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
-_0810341E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81033F0
-
- thumb_func_start sub_810342C
-sub_810342C: @ 810342C
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _08103444
- adds r0, r1, 0
- bl DestroyAnimSprite
-_08103444:
- pop {r0}
- bx r0
- thumb_func_end sub_810342C
-
- thumb_func_start sub_8103448
-sub_8103448: @ 8103448
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r5, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_80A6864
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x34]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x36]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =sub_80A6450
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103448
-
- thumb_func_start sub_8103498
-sub_8103498: @ 8103498
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081034B4
- ldr r0, =gBattleAnimAttacker
- b _081034B6
- .pool
-_081034B4:
- ldr r0, =gBattleAnimTarget
-_081034B6:
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_810310C
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r0, [r4, 0x30]
- ldr r0, =sub_81034D8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103498
-
- thumb_func_start sub_81034D8
-sub_81034D8: @ 81034D8
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _0810350A
- cmp r0, 0x1
- bgt _081034EE
- cmp r0, 0
- beq _081034F4
- b _08103538
-_081034EE:
- cmp r0, 0x2
- beq _08103524
- b _08103538
-_081034F4:
- ldrh r0, [r1, 0x26]
- subs r0, 0x3
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _08103538
- b _0810351C
-_0810350A:
- ldrh r0, [r1, 0x26]
- adds r0, 0x3
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08103538
-_0810351C:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _08103538
-_08103524:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _08103538
- adds r0, r1, 0
- bl DestroyAnimSprite
-_08103538:
- pop {r0}
- bx r0
- thumb_func_end sub_81034D8
-
- thumb_func_start sub_810353C
-sub_810353C: @ 810353C
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, =gSprites
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r4, 0x30]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x30]
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _0810357A
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x24]
- adds r0, r4, 0
- bl move_anim_8074EE0
-_0810357A:
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810353C
-
- thumb_func_start sub_810358C
-sub_810358C: @ 810358C
- push {r4-r6,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]
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r6, [r0]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _081035E4
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r5, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r5, 0x20]
- adds r1, r0, 0
- b _081035EE
- .pool
-_081035E4:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
-_081035EE:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- strh r6, [r5, 0x32]
- ldr r0, =sub_810353C
- str r0, [r5, 0x1C]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810358C
-
- thumb_func_start sub_8103620
-sub_8103620: @ 8103620
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x38]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =sub_8103658
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103620
-
- thumb_func_start sub_8103658
-sub_8103658: @ 8103658
- push {lr}
- ldrh r1, [r0, 0x30]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x32]
- ldrh r1, [r0, 0x22]
- adds r1, 0xF
- strh r1, [r0, 0x36]
- ldr r1, =sub_80A6EEC
- str r1, [r0, 0x1C]
- ldr r1, =sub_8103680
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103658
-
- thumb_func_start sub_8103680
-sub_8103680: @ 8103680
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x38]
- movs r3, 0x38
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08103696
- adds r0, r1, 0
- bl DestroyAnimSprite
- b _0810369A
-_08103696:
- subs r0, r2, 0x1
- strh r0, [r1, 0x38]
-_0810369A:
- pop {r0}
- bx r0
- thumb_func_end sub_8103680
-
- thumb_func_start sub_81036A0
-sub_81036A0: @ 81036A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_80A7270
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81036DC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81036A0
-
- thumb_func_start sub_81036DC
-sub_81036DC: @ 81036DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r0, r1
- ldrb r4, [r1]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08103718
- ldr r1, =gTasks
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- negs r0, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r6, r2, 0
- b _08103726
- .pool
-_08103718:
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- ldrh r3, [r0, 0x8]
- adds r6, r1, 0
-_08103726:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08103760
- ldrh r0, [r1, 0x8]
- adds r0, 0xB0
- strh r0, [r1, 0x8]
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- b _0810378A
- .pool
-_08103760:
- cmp r0, 0x1
- bne _08103776
- ldrh r0, [r1, 0xE]
- adds r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- bne _081037D0
- movs r0, 0x2
- b _081037CE
-_08103776:
- ldrh r0, [r1, 0x8]
- subs r0, 0xB0
- strh r0, [r1, 0x8]
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x26]
- subs r1, 0x1
-_0810378A:
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- bl sub_80A73A0
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r2, [r1, r3]
- movs r0, 0xF2
- lsls r0, 4
- cmp r2, r0
- beq _081037AA
- cmp r2, 0
- bne _081037D0
-_081037AA:
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x2
- bne _081037CC
- adds r0, r4, 0
- bl sub_80A7344
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _081037D0
- .pool
-_081037CC:
- adds r0, r2, 0x1
-_081037CE:
- strh r0, [r1, 0xA]
-_081037D0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81036DC
-
- thumb_func_start sub_81037D8
-sub_81037D8: @ 81037D8
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08103804
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- adds r5, r0, 0
- b _08103810
- .pool
-_08103804:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r5, r1, 0
-_08103810:
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810384C
- adds r3, r4, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x1
- adds r2, r0, 0
- orrs r2, r1
- strb r2, [r3]
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08103860
- movs r0, 0x2
- orrs r2, r0
- strb r2, [r3]
- b _08103860
- .pool
-_0810384C:
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08103860
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_08103860:
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81037D8
-
- thumb_func_start sub_810387C
-sub_810387C: @ 810387C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r0, =sub_80A67BC
- str r0, [r4, 0x1C]
- ldr r1, =sub_81038A0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810387C
-
- thumb_func_start sub_81038A0
-sub_81038A0: @ 81038A0
- push {lr}
- movs r1, 0x6
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x32]
- ldrh r1, [r0, 0x22]
- subs r1, 0x20
- strh r1, [r0, 0x36]
- ldr r1, =sub_80A6EEC
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81038A0
-
- thumb_func_start sub_81038C8
-sub_81038C8: @ 81038C8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081038EC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- b _0810390E
- .pool
-_081038EC:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810390E
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_0810390E:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r6, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x6]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- adds r7, r0, 0
- ldrh r1, [r5, 0x20]
- mov r2, r8
- lsls r0, r2, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r5, 0x22]
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2Neg
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 24
- adds r0, r1
- lsrs r4, r0, 16
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08103980
- ldr r2, =0xffffa000
- adds r0, r4, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_08103980:
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_80A73E0
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- mov r0, r8
- strh r0, [r5, 0x32]
- strh r7, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81038C8
-
- thumb_func_start sub_81039CC
-sub_81039CC: @ 81039CC
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _081039F6
- ldr r2, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0xA]
- subs r1, 0x1
- strh r1, [r0, 0xA]
- adds r0, r3, 0
- bl DestroySprite
-_081039F6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81039CC
-
- thumb_func_start sub_8103A00
-sub_8103A00: @ 8103A00
- push {r4,lr}
- adds r2, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- ble _08103A34
- ldrh r0, [r2, 0x34]
- ldrh r1, [r2, 0x38]
- adds r0, r1
- strh r0, [r2, 0x38]
- ldrh r0, [r2, 0x36]
- ldrh r3, [r2, 0x3A]
- adds r0, r3
- b _08103A42
- .pool
-_08103A34:
- ldrh r0, [r2, 0x38]
- ldrh r1, [r2, 0x34]
- subs r0, r1
- strh r0, [r2, 0x38]
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x36]
- subs r0, r1
-_08103A42:
- strh r0, [r2, 0x3A]
- ldrh r0, [r2, 0x38]
- ldrh r1, [r2, 0x30]
- adds r3, r0, r1
- strh r3, [r2, 0x30]
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r4, 0x16]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08103A66
- lsls r0, r3, 16
- lsrs r0, 24
- negs r0, r0
- b _08103A6A
-_08103A66:
- lsls r0, r3, 16
- lsrs r0, 24
-_08103A6A:
- strh r0, [r2, 0x24]
- ldrh r1, [r4, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08103A7E
- ldrh r0, [r2, 0x32]
- lsrs r0, 8
- negs r0, r0
- b _08103A82
-_08103A7E:
- ldrh r0, [r2, 0x32]
- lsrs r0, 8
-_08103A82:
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r2, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _08103A98
- movs r0, 0x1E
- strh r0, [r2, 0x2E]
- ldr r0, =sub_81039CC
- str r0, [r2, 0x1C]
-_08103A98:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103A00
-
- thumb_func_start sub_8103AA4
-sub_8103AA4: @ 8103AA4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r6, r0, r1
- ldrh r2, [r6, 0x16]
- movs r1, 0x2
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- ldrh r3, [r7, 0x30]
- adds r2, r0, r3
- strh r2, [r7, 0x30]
- ldrh r0, [r6, 0x18]
- ands r1, r0
- ldrh r0, [r7, 0x32]
- adds r1, r0
- strh r1, [r7, 0x32]
- ldrh r1, [r6, 0x16]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08103AEC
- lsls r0, r2, 16
- lsrs r0, 24
- negs r0, r0
- b _08103AF0
- .pool
-_08103AEC:
- lsls r0, r2, 16
- lsrs r0, 24
-_08103AF0:
- strh r0, [r7, 0x24]
- ldrh r1, [r6, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08103B04
- ldrh r0, [r7, 0x32]
- lsrs r0, 8
- negs r0, r0
- b _08103B08
-_08103B04:
- ldrh r0, [r7, 0x32]
- lsrs r0, 8
-_08103B08:
- strh r0, [r7, 0x26]
- ldrh r0, [r7, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r7, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _08103BD4
- movs r4, 0
- movs r0, 0x8
- strh r0, [r7, 0x2E]
- movs r0, 0x4
- strh r0, [r6, 0x12]
- movs r0, 0x80
- lsls r0, 5
- bl sub_8151624
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r7, 0x24]
- ldrh r1, [r7, 0x20]
- adds r2, r0, r1
- strh r2, [r7, 0x20]
- ldrh r0, [r7, 0x26]
- ldrh r3, [r7, 0x22]
- adds r0, r3
- strh r0, [r7, 0x22]
- strh r4, [r7, 0x26]
- strh r4, [r7, 0x24]
- ldrh r3, [r6, 0x1E]
- movs r0, 0x1E
- ldrsh r1, [r6, r0]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- blt _08103B52
- subs r0, r3, r2
- b _08103B54
-_08103B52:
- subs r0, r2, r3
-_08103B54:
- lsls r0, 24
- lsrs r4, r0, 16
- ldrh r3, [r6, 0x20]
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- ldrh r2, [r7, 0x22]
- movs r6, 0x22
- ldrsh r0, [r7, r6]
- cmp r1, r0
- blt _08103B6C
- subs r0, r3, r2
- b _08103B6E
-_08103B6C:
- subs r0, r2, r3
-_08103B6E:
- lsls r0, 24
- lsrs r0, 16
- mov r8, r0
- movs r0, 0
- strh r0, [r7, 0x32]
- strh r0, [r7, 0x30]
- strh r0, [r7, 0x3A]
- strh r0, [r7, 0x38]
- lsls r0, r4, 16
- asrs r0, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r5, 0
- bl sub_8151534
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r6, 0
- bl sub_8151624
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8151534
- strh r0, [r7, 0x34]
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- adds r1, r5, 0
- bl sub_8151534
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r6, 0
- bl sub_8151624
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8151534
- strh r0, [r7, 0x36]
- ldr r0, =sub_8103A00
- str r0, [r7, 0x1C]
-_08103BD4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103AA4
-
- thumb_func_start sub_8103BE4
-sub_8103BE4: @ 8103BE4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08103C02
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08103C02:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103BE4
-
- thumb_func_start sub_8103C0C
-sub_8103C0C: @ 8103C0C
- 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 r5, r0, r1
- ldrh r0, [r5, 0x8]
- subs r1, r0, 0x1
- strh r1, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bgt _08103CE0
- ldr r0, =gUnknown_085933B0
- movs r2, 0x1A
- ldrsh r1, [r5, r2]
- movs r3, 0x1C
- ldrsh r2, [r5, r3]
- ldrb r3, [r5, 0xC]
- ldrb r4, [r5, 0xA]
- subs r3, r4
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r0, 4
- add r0, r12
- lsls r0, 2
- ldr r1, =gSprites
- adds r6, r0, r1
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08103C6C
- cmp r0, 0x2
- beq _08103C82
- b _08103C90
- .pool
-_08103C6C:
- ldrb r2, [r6, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x18
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x57
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x3]
- b _08103C90
-_08103C82:
- ldrb r0, [r6, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r6, 0x3]
-_08103C90:
- ldr r3, =gTasks
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r4, r2, r3
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x14]
- subs r0, r1
- strh r0, [r6, 0x2E]
- strh r7, [r6, 0x3C]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r0, 0xD
- lsls r0, 1
- adds r0, r2
- adds r3, 0x8
- adds r0, r3
- mov r2, r12
- strh r2, [r0]
- ldrh r0, [r4, 0xE]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0x3F
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x9A
- bl PlaySE12WithPanning
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x2
- ble _08103CE0
- ldr r0, =sub_8103BE4
- str r0, [r4]
-_08103CE0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103C0C
-
- thumb_func_start sub_8103CF0
-sub_8103CF0: @ 8103CF0
- 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
- movs r0, 0
- mov r9, r0
- movs r5, 0
- mov r0, sp
- mov r1, r9
- strh r1, [r0]
- mov r4, sp
- adds r4, 0x2
- strh r1, [r4]
- bl IsContest
- lsls r0, 24
- mov r10, r4
- cmp r0, 0
- beq _08103D5C
- ldr r1, =gTasks
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x10]
- ldr r3, =gBattleAnimArgs
- ldrh r0, [r3]
- negs r0, r0
- strh r0, [r3]
- ldrh r1, [r3, 0x4]
- movs r0, 0x1
- ands r0, r1
- mov r8, r2
- cmp r0, 0
- beq _08103D54
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strh r0, [r3, 0x4]
- b _08103DB6
- .pool
-_08103D54:
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r3, 0x4]
- b _08103DB6
-_08103D5C:
- ldr r1, =gBattlerPositions
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r7, 2
- mov r8, r2
- cmp r0, 0
- bne _08103DB6
- ldr r1, =gTasks
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x10]
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- negs r0, r0
- strh r0, [r2]
- ldrh r0, [r2, 0x2]
- negs r0, r0
- strh r0, [r2, 0x2]
- ldrh r1, [r2, 0x4]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08103DB0
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- b _08103DB4
- .pool
-_08103DB0:
- movs r0, 0x1
- orrs r0, r1
-_08103DB4:
- strh r0, [r2, 0x4]
-_08103DB6:
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- ldr r1, =gTasks
- mov r3, r8
- adds r4, r3, r7
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- adds r6, r0, 0
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- mov r9, r0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08103E20
- ldr r4, =gBattleAnimTarget
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08103E20
- ldrb r0, [r4]
- movs r1, 0
- mov r2, sp
- mov r3, r10
- bl SetAverageBattlerPositions
- b _08103E42
- .pool
-_08103E20:
- mov r5, sp
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r1, r10
- strh r0, [r1]
-_08103E42:
- mov r4, sp
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- mov r2, sp
- ldr r3, =gBattleAnimArgs
- ldrh r0, [r3]
- ldrh r2, [r2]
- adds r0, r2
- strh r0, [r1, 0x1E]
- strh r0, [r4]
- ldrh r0, [r3, 0x2]
- mov r3, r10
- ldrh r3, [r3]
- adds r0, r3
- strh r0, [r1, 0x20]
- mov r1, r10
- strh r0, [r1]
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r1, r6, 0
- cmp r0, r1
- blt _08103E88
- subs r0, r2, r1
- b _08103E8A
- .pool
-_08103E88:
- subs r0, r1, r2
-_08103E8A:
- lsls r0, 16
- lsrs r0, 16
- lsls r4, r0, 16
- asrs r4, 16
- ldr r5, =gBattleAnimArgs
- ldrh r1, [r5, 0x4]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- lsls r0, 16
- asrs r0, 16
- bl sub_8151624
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8151534
- ldr r2, =gTasks
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 3
- adds r6, r1, r2
- strh r0, [r6, 0x12]
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- movs r1, 0x80
- bl sub_8151534
- strh r0, [r6, 0x14]
- ldrh r0, [r5, 0x4]
- strh r0, [r6, 0x16]
- mov r2, r10
- ldrh r1, [r2]
- movs r3, 0
- ldrsh r0, [r2, r3]
- mov r4, r9
- cmp r0, r4
- blt _08103F08
- subs r4, r1, r4
- lsls r4, 16
- asrs r4, 16
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- bl sub_8151624
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8151534
- movs r1, 0x2
- negs r1, r1
- ands r1, r0
- strh r1, [r6, 0x18]
- b _08103F28
- .pool
-_08103F08:
- subs r4, r1
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- bl sub_8151624
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8151534
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r6, 0x18]
-_08103F28:
- ldr r1, =gTasks
- mov r3, r8
- adds r0, r3, r7
- lsls r0, 3
- adds r5, r0, r1
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0xE]
- ldrh r1, [r4, 0x8]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08103F78
- movs r0, 0x80
- eors r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _08103FA0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x0000ffc0
- adds r1, r2, 0
- ldrh r4, [r4, 0x8]
- adds r1, r4
- adds r0, r1
- b _08103FB0
- .pool
-_08103F78:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _08103FA0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =0x0000ffc0
- adds r1, r3, 0
- ldrh r4, [r4, 0x8]
- adds r1, r4
- adds r0, r1
- b _08103FB0
- .pool
-_08103FA0:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x8]
- subs r0, r1
-_08103FB0:
- strh r0, [r5, 0xC]
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x2
- bgt _08103FC8
- movs r0, 0x3
- strh r0, [r1, 0xC]
-_08103FC8:
- ldr r0, =sub_8103C0C
- str r0, [r1]
- 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_8103CF0
-
- thumb_func_start sub_8103FE8
-sub_8103FE8: @ 8103FE8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r0, =gUnknown_085934A0
- ldrh r0, [r0, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r4, 0x2E]
- ldr r0, =sub_8104018
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8103FE8
-
- thumb_func_start sub_8104018
-sub_8104018: @ 8104018
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _0810407C
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r5, [r4, 0x2E]
- ldr r1, =gPlttBufferFaded
- adds r0, r5, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- adds r6, r1, 0
- adds r1, r5, 0
- adds r1, 0x9
- lsls r0, r5, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- movs r3, 0x7
- lsls r1, 1
- adds r1, r6
-_08104050:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08104050
- adds r0, r5, 0
- adds r0, 0xF
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- bne _0810407C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810407C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104018
-
- thumb_func_start sub_8104088
-sub_8104088: @ 8104088
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _081040CC
- ldrh r0, [r4, 0x4]
- negs r0, r0
- strh r0, [r4, 0x4]
-_081040CC:
- lsls r0, r6, 16
- asrs r0, 16
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- ldrh r1, [r5, 0x20]
- lsrs r6, r0, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r5, 0x22]
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2Neg
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_80A73E0
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- strh r6, [r5, 0x32]
- strh r7, [r5, 0x36]
- ldr r0, =sub_80A7000
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104088
-
- thumb_func_start sub_810413C
-sub_810413C: @ 810413C
- ldr r1, =0x0000fff0
- strh r1, [r0, 0x32]
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- ldr r1, =sub_8104154
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_810413C
-
- thumb_func_start sub_8104154
-sub_8104154: @ 8104154
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08104178
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
-_08104178:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x5
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7E
- ble _081041B8
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _081041B8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081041B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104154
-
- thumb_func_start sub_81041C4
-sub_81041C4: @ 81041C4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =sub_810421C
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81041C4
-
- thumb_func_start sub_810421C
-sub_810421C: @ 810421C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xA6
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- 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]
- movs r2, 0
- movs r1, 0x7
- adds r0, r4, 0
- adds r0, 0x3C
-_08104250:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08104250
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- ands r0, r1
- ldr r2, =0x0000fff4
- adds r1, r2, 0
- subs r1, r0
- strh r1, [r4, 0x3A]
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA0
- bl __umodsi3
- adds r0, 0xA0
- strh r0, [r4, 0x3C]
- ldr r0, =sub_81042A0
- str r0, [r4, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810421C
-
- thumb_func_start sub_81042A0
-sub_81042A0: @ 81042A0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- ldrh r2, [r4, 0x2E]
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r2, r0, 24
- strh r2, [r4, 0x24]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081042BE
- negs r0, r2
- strh r0, [r4, 0x24]
-_081042BE:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x8
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7E
- ble _081042FE
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _081042FE
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081042FE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81042A0
-
- thumb_func_start sub_8104304
-sub_8104304: @ 8104304
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08104322
- ldrh r0, [r4, 0x22]
- adds r0, 0x10
- strh r0, [r4, 0x22]
-_08104322:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0xC]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A62EC
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104304
-
- thumb_func_start sub_8104364
-sub_8104364: @ 8104364
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r7, 0x20
- ldr r4, =0x0000ffe0
- movs r0, 0x10
- mov r8, r0
- ldr r6, =0x0000fff0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08104390
- adds r7, r4, 0
- movs r4, 0x20
- mov r8, r6
- movs r6, 0x10
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_08104390:
- lsls r0, r7, 16
- asrs r0, 16
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- add r0, r8
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =sub_81043F8
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104364
-
- thumb_func_start sub_81043F8
-sub_81043F8: @ 81043F8
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810440E
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810440E:
- pop {r0}
- bx r0
- thumb_func_end sub_81043F8
-
- thumb_func_start sub_8104414
-sub_8104414: @ 8104414
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r0, 0x20
- mov r8, r0
- ldr r4, =0x0000ffe0
- movs r2, 0x10
- mov r9, r2
- ldr r6, =0x0000fff0
- ldr r7, =gBattleAnimArgs
- ldrh r1, [r7]
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r0, 0
- beq _08104448
- mov r8, r4
- movs r4, 0x20
- mov r9, r6
- movs r6, 0x10
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
-_08104448:
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- strh r1, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- add r0, r9
- 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
- adds r0, r6
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldrh r0, [r7]
- strh r0, [r5, 0x38]
- ldrh r0, [r5, 0x2E]
- strh r0, [r5, 0x3A]
- ldr r0, =sub_81044BC
- str r0, [r5, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104414
-
- thumb_func_start sub_81044BC
-sub_81044BC: @ 81044BC
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08104520
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08104520
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r2, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x2
- strh r0, [r4, 0x24]
- ldr r0, =0x0000fffe
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- eors r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x36]
- strh r2, [r4, 0x34]
- ldr r0, =sub_8104530
- str r0, [r4, 0x1C]
-_08104520:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81044BC
-
- thumb_func_start sub_8104530
-sub_8104530: @ 8104530
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08104548
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
-_08104548:
- ldrh r0, [r4, 0x34]
- movs r1, 0x1
- eors r0, r1
- movs r1, 0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _0810458A
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x36]
- strh r1, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- movs r1, 0x1
- eors r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =sub_8104594
- str r0, [r4, 0x1C]
-_0810458A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104530
-
- thumb_func_start sub_8104594
-sub_8104594: @ 8104594
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _081045A8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081045A8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104594
-
- thumb_func_start sub_81045B0
-sub_81045B0: @ 81045B0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A7270
- adds r0, r4, 0
- movs r1, 0xD0
- movs r2, 0xD0
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- movs r1, 0
- bl sub_80A750C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x50
- strh r1, [r0, 0x8]
- ldr r1, =sub_8104614
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81045B0
-
- thumb_func_start sub_8104614
-sub_8104614: @ 8104614
- 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
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08104664
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A7344
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- movs r1, 0x1
- bl sub_80A750C
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08104664:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104614
-
- thumb_func_start sub_8104674
-sub_8104674: @ 8104674
- push {r4,r5,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
- movs r5, 0
- strh r0, [r4, 0x8]
- movs r1, 0
- bl sub_80A7270
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x10]
- strh r5, [r4, 0x12]
- strh r5, [r4, 0x14]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- ldr r0, =sub_81046CC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104674
-
- thumb_func_start sub_81046CC
-sub_81046CC: @ 81046CC
- 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, 0x5
- bls _081046E6
- b _081047F6
-_081046E6:
- lsls r0, 2
- ldr r1, =_081046F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081046F8:
- .4byte _08104710
- .4byte _08104758
- .4byte _0810478E
- .4byte _08104794
- .4byte _081047A4
- .4byte _081047D8
-_08104710:
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08104720
- cmp r0, 0x3
- beq _08104720
- cmp r0, 0x6
- bne _08104728
-_08104720:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8104800
-_08104728:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- adds r0, 0x28
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_80A7E6C
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- bne _081047F6
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- b _081047D0
-_08104758:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081047F6
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r1, 0x3
- bne _0810476E
- strh r0, [r4, 0xC]
- strh r1, [r4, 0xA]
- b _081047F6
-_0810476E:
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_80A7E6C
- movs r0, 0x2
- strh r0, [r4, 0xA]
- b _081047F6
-_0810478E:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _081047F6
-_08104794:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _081047F6
- b _081047CC
-_081047A4:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- subs r0, 0x50
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_80A7E6C
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- bne _081047F6
-_081047CC:
- movs r0, 0
- strh r0, [r4, 0xC]
-_081047D0:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _081047F6
-_081047D8:
- ldrb r0, [r4, 0x8]
- bl sub_80A7344
- 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, 0
- strh r1, [r0, 0x26]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_081047F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81046CC
-
- thumb_func_start sub_8104800
-sub_8104800: @ 8104800
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _081048DA
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xFF
- bne _08104844
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
- b _081048DA
- .pool
-_08104844:
- ldr r5, =gSprites
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r4, r3, r5
- ldrb r1, [r4, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- 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]
- ldrb r0, [r7, 0x16]
- ldrb r1, [r7, 0xE]
- subs r0, r1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r0, [r7, 0xE]
- adds r0, 0x1
- strh r0, [r7, 0xE]
- ldrh r0, [r7, 0x14]
- adds r0, 0x1
- strh r0, [r7, 0x14]
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- movs r0, 0x6
- strh r0, [r4, 0x32]
- adds r5, 0x1C
- adds r3, r5
- ldr r0, =sub_81048F0
- str r0, [r3]
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x10
- ldrsh r2, [r7, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x1]
- movs r3, 0x4
- negs r3, r3
- ands r3, r0
- movs r0, 0x1
- orrs r3, r0
- strb 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
-_081048DA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104800
-
- thumb_func_start sub_81048F0
-sub_81048F0: @ 81048F0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _0810492E
- ldr r3, =gTasks
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x30
- 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 obj_delete_but_dont_free_vram
-_0810492E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81048F0
-
- thumb_func_start sub_8104938
-sub_8104938: @ 8104938
- 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
- ldr r5, =gBattleAnimArgs
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08104964
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- b _0810498A
- .pool
-_08104964:
- ldrb r0, [r5]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r4, 0x8]
- strh r2, [r4, 0xA]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0xC]
- strh r2, [r4, 0xE]
- strh r2, [r4, 0x10]
- ldr r2, =gUnknown_085935E8
- adds r0, r4, 0
- bl sub_80A7CFC
- ldr r0, =sub_8104998
- str r0, [r4]
-_0810498A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104938
-
- thumb_func_start sub_8104998
-sub_8104998: @ 8104998
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _08104A00
- cmp r5, 0x1
- bgt _081049C0
- cmp r5, 0
- beq _081049CA
- b _08104AA8
- .pool
-_081049C0:
- cmp r5, 0x2
- beq _08104A34
- cmp r5, 0x3
- beq _08104A64
- b _08104AA8
-_081049CA:
- adds r0, r4, 0
- bl sub_80A7D34
- ldrh r2, [r4, 0x10]
- adds r2, 0x3
- strh r2, [r4, 0x10]
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08104AA8
- strh r5, [r4, 0xE]
- b _08104A5C
- .pool
-_08104A00:
- adds r0, r4, 0
- bl sub_80A7D34
- 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, [r4, 0x10]
- ldrh r2, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08104AA8
- movs r0, 0
- strh r0, [r4, 0xE]
- b _08104A5C
- .pool
-_08104A34:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08104A5C
- 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, 0x2
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0x10]
- subs r0, 0x2
- strh r0, [r4, 0x10]
- b _08104AA8
- .pool
-_08104A5C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _08104AA8
-_08104A64:
- adds r0, r4, 0
- bl sub_80A7D34
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08104AA8
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08104A9C
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _08104AA8
- .pool
-_08104A9C:
- ldrb r1, [r4, 0x8]
- ldr r2, =gUnknown_085935E8
- adds r0, r4, 0
- bl sub_80A7CFC
- strh r5, [r4, 0xA]
-_08104AA8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104998
-
- thumb_func_start sub_8104AB4
-sub_8104AB4: @ 8104AB4
- 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
- ldr r2, =gUnknown_08593608
- adds r0, r4, 0
- bl sub_80A7CFC
- ldr r0, =sub_8104AF0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104AB4
-
- thumb_func_start sub_8104AF0
-sub_8104AF0: @ 8104AF0
- 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 sub_80A7D34
- lsls r0, 24
- cmp r0, 0
- bne _08104B10
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08104B10:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104AF0
-
- thumb_func_start sub_8104B1C
-sub_8104B1C: @ 8104B1C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08104B50
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _08104B6A
- .pool
-_08104B50:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x20
- strh r0, [r4, 0x20]
- ldr r0, =0x0000ffc0
-_08104B6A:
- strh r0, [r4, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x22]
- movs r0, 0x34
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x32]
- strh r1, [r4, 0x34]
- strh r1, [r4, 0x36]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A656C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104B1C
-
- thumb_func_start sub_8104BAC
-sub_8104BAC: @ 8104BAC
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08104BC8
- ldr r0, =gBattleAnimAttacker
- b _08104BCA
- .pool
-_08104BC8:
- ldr r0, =gBattleAnimTarget
-_08104BCA:
- ldrb r5, [r0]
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08104BE4
- ldr r1, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_08104BE4:
- adds r0, r5, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x4]
- adds r0, r4
- strh r0, [r6, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _08104C16
- movs r0, 0x8
- strh r0, [r6, 0x22]
-_08104C16:
- ldr r1, =move_anim_8074EE0
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104BAC
-
- thumb_func_start sub_8104C38
-sub_8104C38: @ 8104C38
- 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
- movs r0, 0
- strh r1, [r4, 0x8]
- strh r0, [r4, 0xA]
- ldr r2, =gUnknown_085936A4
- adds r0, r4, 0
- bl sub_80A7CFC
- ldr r0, =sub_8104C78
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104C38
-
- thumb_func_start sub_8104C78
-sub_8104C78: @ 8104C78
- 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 sub_80A7D34
- lsls r0, 24
- cmp r0, 0
- bne _08104C98
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08104C98:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104C78
-
- thumb_func_start sub_8104CA4
-sub_8104CA4: @ 8104CA4
- 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 r2, 0
- strh r0, [r4, 0x8]
- strh r2, [r4, 0xA]
- movs r0, 0x4
- strh r0, [r4, 0xC]
- movs r0, 0x7
- strh r0, [r4, 0xE]
- movs r0, 0x3
- strh r0, [r4, 0x10]
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x12]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x14]
- strh r2, [r4, 0x16]
- strh r2, [r4, 0x18]
- movs r0, 0x2
- strh r0, [r4, 0x1A]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08104D0E
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0xC]
-_08104D0E:
- ldr r0, =sub_8104D28
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104CA4
-
- thumb_func_start sub_8104D28
-sub_8104D28: @ 8104D28
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r3, r0, r1
- ldrh r0, [r3, 0x16]
- adds r0, 0x1
- strh r0, [r3, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08104D8E
- movs r0, 0
- strh r0, [r3, 0x16]
- ldrh r0, [r3, 0x18]
- adds r0, 0x1
- strh r0, [r3, 0x18]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08104D78
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x1A]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- b _08104D8C
- .pool
-_08104D78:
- ldr r2, =gSprites
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- ldrh r2, [r3, 0x1A]
- subs r1, r2
-_08104D8C:
- strh r1, [r0, 0x22]
-_08104D8E:
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _08104DDC
- cmp r0, 0x1
- bgt _08104DA4
- cmp r0, 0
- beq _08104DAA
- b _08104E6C
- .pool
-_08104DA4:
- cmp r0, 0x2
- beq _08104E0C
- b _08104E6C
-_08104DAA:
- ldr r2, =gSprites
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0xC]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08104E6C
- movs r0, 0xE
- strh r0, [r3, 0xE]
- movs r0, 0x1
- strh r0, [r3, 0xA]
- b _08104E6C
- .pool
-_08104DDC:
- ldr r2, =gSprites
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- ldrh r2, [r3, 0xC]
- subs r1, r2
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08104E6C
- movs r0, 0x7
- strh r0, [r3, 0xE]
- movs r0, 0x2
- strh r0, [r3, 0xA]
- b _08104E6C
- .pool
-_08104E0C:
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0xC]
- ldrh r5, [r0, 0x20]
- adds r1, r5
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _08104E6C
- ldrh r0, [r3, 0x10]
- subs r0, 0x1
- strh r0, [r3, 0x10]
- lsls r0, 16
- cmp r0, 0
- beq _08104E48
- movs r0, 0x7
- strh r0, [r3, 0xE]
- strh r1, [r3, 0xA]
- b _08104E6C
- .pool
-_08104E48:
- ldrh r1, [r3, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08104E66
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- ldrh r2, [r3, 0x1A]
- subs r1, r2
- strh r1, [r0, 0x22]
-_08104E66:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08104E6C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8104D28
-
- thumb_func_start sub_8104E74
-sub_8104E74: @ 8104E74
- 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 r5, r1, r0
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- movs r1, 0
- strh r0, [r5, 0x8]
- movs r0, 0x4
- strh r0, [r5, 0xA]
- strh r1, [r5, 0xC]
- strh r1, [r5, 0xE]
- strh r1, [r5, 0x10]
- strh r1, [r5, 0x12]
- ldrb r0, [r4]
- bl sub_80A861C
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08104ED4
- ldr r0, =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- ldr r0, =0x04000014
- b _08104EDC
- .pool
-_08104ED4:
- ldr r0, =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- ldr r0, =0x04000018
-_08104EDC:
- str r0, [sp]
- ldrh r0, [r5, 0x8]
- adds r1, r0, 0
- subs r1, 0x40
- lsls r2, r1, 16
- lsls r0, 16
- cmp r2, r0
- bgt _08104F1A
- ldr r4, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_08104EF4:
- asrs r3, r2, 16
- cmp r3, 0
- blt _08104F0C
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x14]
- adds r0, 0xF0
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x14]
- adds r0, 0xF0
- strh r0, [r1]
-_08104F0C:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x8
- ldrsh r0, [r5, r3]
- cmp r1, r0
- ble _08104EF4
-_08104F1A:
- 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_8104F54
- str r0, [r5]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104E74
-
- thumb_func_start sub_8104F54
-sub_8104F54: @ 8104F54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r3, r0, r1
- movs r1, 0x10
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08104F78
- cmp r0, 0x1
- beq _08104F8E
- b _0810500E
- .pool
-_08104F78:
- ldrh r0, [r3, 0x12]
- adds r0, 0x1
- strh r0, [r3, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0810500E
- ldrh r0, [r3, 0x10]
- adds r0, 0x1
- strh r0, [r3, 0x10]
- b _0810500E
-_08104F8E:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0810500E
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r1, [r3, 0xE]
- movs r0, 0x3
- ands r0, r1
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x8]
- subs r0, r1
- strh r0, [r3, 0x12]
- movs r2, 0xC
- ldrsh r1, [r3, r2]
- cmp r1, 0x1
- beq _08104FC4
- cmp r1, 0x1
- ble _08104FCC
- cmp r1, 0x2
- beq _08104FC8
- cmp r1, 0x3
- beq _08104FC8
- b _08104FCC
-_08104FC4:
- subs r0, 0x2
- b _08104FCA
-_08104FC8:
- adds r0, 0x1
-_08104FCA:
- strh r0, [r3, 0x12]
-_08104FCC:
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- cmp r0, 0
- blt _08104FF0
- ldr r2, =gScanlineEffectRegBuffers
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r3, 0x14]
- strh r1, [r0]
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- lsls r0, 1
- movs r1, 0xF0
- lsls r1, 3
- adds r2, r1
- adds r0, r2
- ldrh r1, [r3, 0x14]
- strh r1, [r0]
-_08104FF0:
- ldrh r0, [r3, 0xE]
- adds r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x26
- ldrsh r1, [r3, r2]
- cmp r0, r1
- blt _0810500E
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810500E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8104F54
-
- thumb_func_start sub_810501C
-sub_810501C: @ 810501C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r6]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- movs r0, 0x10
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x36]
- ldrb r0, [r6]
- movs r1, 0
- bl sub_80A861C
- adds r0, 0x2
- strh r0, [r4, 0x38]
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x3A]
- ldr r0, =sub_8105078
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810501C
-
- thumb_func_start sub_8105078
-sub_8105078: @ 8105078
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _081050DC
- cmp r1, 0x1
- bgt _0810508E
- cmp r1, 0
- beq _08105094
- b _081051BC
-_0810508E:
- cmp r1, 0x2
- beq _0810516E
- b _081051BC
-_08105094:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081050BE
- strh r1, [r4, 0x32]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_081050BE:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _081051BC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- b _08105166
-_081050DC:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08105122
- ldrh r2, [r4, 0x32]
- movs r3, 0x32
- ldrsh r1, [r4, r3]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08105122
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- subs r0, 0x1
- strh r0, [r4, 0x22]
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08105122
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCD
- bl PlaySE12WithPanning
-_08105122:
- ldrh r0, [r4, 0x34]
- ldrh r2, [r4, 0x36]
- adds r1, r0, r2
- strh r1, [r4, 0x36]
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0x1F
- ble _08105136
- movs r0, 0x40
- b _08105144
-_08105136:
- movs r0, 0x20
- negs r0, r0
- cmp r2, r0
- bgt _08105150
- movs r2, 0x40
- negs r2, r2
- adds r0, r2, 0
-_08105144:
- subs r0, r1
- strh r0, [r4, 0x36]
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- negs r0, r0
- strh r0, [r4, 0x34]
-_08105150:
- ldrh r0, [r4, 0x36]
- movs r2, 0
- strh r0, [r4, 0x24]
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- movs r3, 0x32
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _081051BC
- strh r2, [r4, 0x30]
- strh r2, [r4, 0x32]
-_08105166:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081051BC
-_0810516E:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810519A
- movs r0, 0
- strh r0, [r4, 0x32]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0810519A:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _081051BC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081051BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8105078
-
- thumb_func_start sub_81051C4
-sub_81051C4: @ 81051C4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- movs r5, 0
- mov r0, sp
- strh r5, [r0]
- mov r1, sp
- adds r1, 0x2
- strh r5, [r1]
- ldr r0, =gBattleAnimArgs
- movs r3, 0x4
- ldrsh r2, [r0, r3]
- adds r7, r1, 0
- adds r1, r0, 0
- cmp r2, 0
- bne _081051F0
- ldr r0, =gBattleAnimAttacker
- b _081051F2
- .pool
-_081051F0:
- ldr r0, =gBattleAnimTarget
-_081051F2:
- ldrb r5, [r0]
- ldrb r1, [r1, 0x6]
- movs r0, 0x1
- adds r4, r0, 0
- eors r4, r1
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0810526A
- movs r1, 0x2
- adds r0, r5, 0
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810526A
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl SetAverageBattlerPositions
- cmp r4, 0
- bne _08105230
- adds r0, r5, 0
- movs r1, 0
- b _08105234
- .pool
-_08105230:
- adds r0, r5, 0
- movs r1, 0x2
-_08105234:
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08105260
- ldr r2, =gBattleAnimArgs
- mov r0, sp
- ldrh r1, [r0]
- subs r1, r4
- ldrh r0, [r2]
- subs r1, r0
- subs r0, r1
- strh r0, [r2]
- b _0810526A
- .pool
-_08105260:
- ldr r1, =gBattleAnimArgs
- mov r0, sp
- ldrh r0, [r0]
- subs r0, r4
- strh r0, [r1]
-_0810526A:
- ldr r1, =sub_80A77C8
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81051C4
-
- thumb_func_start sub_8105284
-sub_8105284: @ 8105284
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _0810529E
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810529E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8105284
-
- thumb_func_start sub_81052A4
-sub_81052A4: @ 81052A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- movs r6, 0
- mov r0, sp
- strh r6, [r0]
- mov r1, sp
- adds r1, 0x2
- strh r6, [r1]
- ldr r0, =gBattleAnimArgs
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _081052DC
- ldr r0, =gBattleAnimAttacker
- ldrb r7, [r0]
- ldr r0, =gBattleAnimTarget
- b _081052E2
- .pool
-_081052DC:
- ldr r0, =gBattleAnimTarget
- ldrb r7, [r0]
- ldr r0, =gBattleAnimAttacker
-_081052E2:
- ldrb r0, [r0]
- mov r8, r0
- ldr r0, =gBattleAnimArgs
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _08105308
- movs r0, 0
- mov r10, r0
- movs r1, 0x1
- str r1, [sp, 0x4]
- b _08105310
- .pool
-_08105308:
- movs r2, 0x2
- mov r10, r2
- movs r3, 0x3
- str r3, [sp, 0x4]
-_08105310:
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810536C
- adds r0, r7, 0
- mov r1, r10
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r1, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r0, 0x2
- mov r4, r8
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810535C
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- b _081053EA
- .pool
-_0810535C:
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- add r0, r8
- b _081053EA
- .pool
-_0810536C:
- adds r0, r7, 0
- mov r1, r10
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081053E4
- movs r0, 0x2
- adds r4, r7, 0
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _081053E4
- ldr r3, =gSprites
- ldr r2, =gBattlerSpriteIds
- adds r0, r7, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r6, r0, r3
- adds r2, r4, r2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r3
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _081053E0
- adds r0, r2, 0
- adds r0, 0x43
- ldrb r0, [r0]
- adds r0, 0x1
- b _081053FA
- .pool
-_081053E0:
- adds r0, r6, 0
- b _081053F4
-_081053E4:
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r7, r0
-_081053EA:
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
-_081053F4:
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
-_081053FA:
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r7, 0
- ldr r1, [sp, 0x4]
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810544C
- movs r1, 0x2
- mov r0, r8
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810544C
- ldrb r1, [r4, 0xC]
- mov r0, r8
- mov r2, sp
- mov r3, sp
- adds r3, 0x2
- bl SetAverageBattlerPositions
- b _0810546C
- .pool
-_0810544C:
- mov r4, sp
- mov r0, r8
- mov r1, r10
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- mov r0, r8
- ldr r1, [sp, 0x4]
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r2, sp
- strh r0, [r2, 0x2]
-_0810546C:
- mov r0, r8
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08105490
- mov r3, sp
- mov r2, sp
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- ldrh r2, [r2]
- adds r0, r2
- strh r0, [r3]
- adds r2, r1, 0
- b _0810549E
- .pool
-_08105490:
- mov r3, sp
- mov r0, sp
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r0]
- ldrh r1, [r2, 0x6]
- subs r0, r1
- strh r0, [r3]
-_0810549E:
- ldrh r1, [r2, 0x8]
- mov r3, sp
- ldrh r3, [r3, 0x2]
- adds r1, r3
- mov r0, sp
- strh r1, [r0, 0x2]
- mov r3, r9
- strh r3, [r5, 0x30]
- strh r3, [r5, 0x20]
- strh r6, [r5, 0x34]
- strh r6, [r5, 0x22]
- ldrh r0, [r0]
- strh r0, [r5, 0x32]
- strh r1, [r5, 0x36]
- ldrh r0, [r2]
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r1, =sub_8105284
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- 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_81052A4
-
- thumb_func_start sub_81054E8
-sub_81054E8: @ 81054E8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x000027db
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0810550E
- lsls r0, 20
- ldr r1, =0x01010000
- adds r0, r1
- lsrs r0, 16
- ldr r1, =gBattleAnimArgs
- ldrb r2, [r1, 0xA]
- ldrh r3, [r1, 0x8]
- movs r1, 0xF
- bl BlendPalette
-_0810550E:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, =sub_80A77C8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81054E8
-
- thumb_func_start sub_8105538
-sub_8105538: @ 8105538
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0xA0
- cmp r0, 0
- beq _08105554
- ldr r1, =0x0000ff60
-_08105554:
- movs r0, 0xE0
- lsls r0, 2
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x3C]
- ldr r0, =sub_810557C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105538
-
- thumb_func_start sub_810557C
-sub_810557C: @ 810557C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x2E]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- subs r1, r0
- movs r5, 0
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- subs r2, 0x20
- strh r2, [r4, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0xA0
- cmp r0, 0
- beq _081055AC
- ldr r1, =0x0000ff60
-_081055AC:
- lsls r0, r1, 16
- asrs r0, 16
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x26]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _081055E0
- ldrh r2, [r4, 0x22]
- adds r0, r1, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x2E]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, =sub_81055F4
- str r0, [r4, 0x1C]
-_081055E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810557C
-
- thumb_func_start sub_81055F4
-sub_81055F4: @ 81055F4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _08105612
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, =sub_810561C
- str r0, [r4, 0x1C]
-_08105612:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81055F4
-
- thumb_func_start sub_810561C
-sub_810561C: @ 810561C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08105682
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r0, 0
- strh r0, [r4, 0x2E]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08105668
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x10
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, =sub_8105694
- b _08105680
- .pool
-_08105668:
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, =sub_810571C
-_08105680:
- str r0, [r4, 0x1C]
-_08105682:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810561C
-
- thumb_func_start sub_8105694
-sub_8105694: @ 8105694
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x26]
- subs r0, 0x2
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bne _081056CA
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r4, 0x2E]
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_81056D4
- str r0, [r4, 0x1C]
-_081056CA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105694
-
- thumb_func_start sub_81056D4
-sub_81056D4: @ 81056D4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08105712
- ldrh r1, [r4, 0x2E]
- subs r1, 0x1
- strh r1, [r4, 0x2E]
- 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, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08105712
- ldr r0, =sub_810571C
- str r0, [r4, 0x1C]
-_08105712:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81056D4
-
- thumb_func_start sub_810571C
-sub_810571C: @ 810571C
- push {lr}
- adds r3, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08105754
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x3C
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08105750
- ldr r0, =sub_810575C
- b _08105752
- .pool
-_08105750:
- ldr r0, =DestroyAnimSprite
-_08105752:
- str r0, [r3, 0x1C]
-_08105754:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810571C
-
- thumb_func_start sub_810575C
-sub_810575C: @ 810575C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810575C
-
- thumb_func_start sub_810577C
-sub_810577C: @ 810577C
- 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_085938B0
- adds r0, r4, 0
- bl sub_80A7CFC
- ldr r0, =sub_81057B8
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810577C
-
- thumb_func_start sub_81057B8
-sub_81057B8: @ 81057B8
- 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
- adds r0, r4, 0
- bl sub_80A7D34
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _08105802
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- movs r0, 0x8
- ldrsh r1, [r4, 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, r5, 0
- bl DestroyAnimVisualTask
-_08105802:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81057B8
-
- thumb_func_start sub_8105810
-sub_8105810: @ 8105810
- 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
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- movs r0, 0x3
- strh r0, [r4, 0x20]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08105850
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x22]
- movs r0, 0x8
- b _08105856
- .pool
-_08105850:
- movs r0, 0x1
- strh r0, [r4, 0x22]
- ldr r0, =0x0000fff8
-_08105856:
- strh r0, [r4, 0x24]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, =sub_8105878
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105810
-
- thumb_func_start sub_8105878
-sub_8105878: @ 8105878
- 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 r3, r0, r1
- movs r0, 0x8
- ldrsh r4, [r3, r0]
- cmp r4, 0x1
- beq _081058CC
- cmp r4, 0x1
- bgt _081058A0
- cmp r4, 0
- beq _081058AA
- b _08105992
- .pool
-_081058A0:
- cmp r4, 0x2
- beq _08105948
- cmp r4, 0x3
- beq _08105962
- b _08105992
-_081058AA:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x24]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- strh r4, [r3, 0xA]
- strh r4, [r3, 0xC]
- strh r4, [r3, 0xE]
- b _0810595A
- .pool
-_081058CC:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08105992
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- ands r0, r4
- lsls r0, 16
- cmp r0, 0
- beq _08105904
- ldr r2, =gSprites
- movs r4, 0x26
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x6
- b _08105916
- .pool
-_08105904:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- subs r1, 0x6
-_08105916:
- strh r1, [r0, 0x24]
- ldrh r0, [r3, 0xE]
- adds r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08105992
- ldrh r1, [r3, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810595A
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- subs r0, 0x6
- strh r0, [r1, 0x24]
- b _0810595A
- .pool
-_08105948:
- ldrh r0, [r3, 0x20]
- subs r0, 0x1
- strh r0, [r3, 0x20]
- lsls r0, 16
- cmp r0, 0
- beq _0810595A
- movs r0, 0
- strh r0, [r3, 0x8]
- b _08105992
-_0810595A:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _08105992
-_08105962:
- ldr r2, =gSprites
- movs r4, 0x26
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x22]
- ldrh r4, [r0, 0x24]
- adds r1, r4
- strh r1, [r0, 0x24]
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08105992
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08105992:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105878
-
- thumb_func_start sub_810599C
-sub_810599C: @ 810599C
- 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
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- movs r0, 0x1
- strh r0, [r4, 0x10]
- movs r0, 0xE
- strh r0, [r4, 0x22]
- movs r0, 0x2
- strh r0, [r4, 0x24]
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, =sub_81059E0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810599C
-
- thumb_func_start sub_81059E0
-sub_81059E0: @ 81059E0
- 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 r2, [r4, r0]
- cmp r2, 0
- bne _08105AA6
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- cmp r0, r1
- ble _08105AA6
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08105A3C
- ldr r3, =gSprites
- movs r6, 0x26
- ldrsh r1, [r4, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- b _08105A52
- .pool
-_08105A3C:
- ldr r3, =gSprites
- movs r0, 0x26
- 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
-_08105A52:
- strb r1, [r0]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x22
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _08105AA6
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x24
- ldrsh r1, [r4, r6]
- cmp r0, r1
- bge _08105A88
- strh r2, [r4, 0xA]
- strh r2, [r4, 0xC]
- strh r2, [r4, 0xE]
- b _08105AA6
- .pool
-_08105A88:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08105AA6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81059E0
-
- thumb_func_start sub_8105AAC
-sub_8105AAC: @ 8105AAC
- push {r4,r5,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
- strh r0, [r4, 0x8]
- movs r1, 0x4
- strh r1, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- strh r0, [r4, 0x12]
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x16]
- strh r0, [r4, 0x18]
- strh r0, [r4, 0x22]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, =sub_8105B08
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105AAC
-
- thumb_func_start sub_8105B08
-sub_8105B08: @ 8105B08
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x18
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _08105B74
- cmp r2, 0x1
- bgt _08105B30
- cmp r2, 0
- beq _08105B36
- b _08105B90
- .pool
-_08105B30:
- cmp r2, 0x2
- beq _08105B8C
- b _08105B90
-_08105B36:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08105B90
- strh r2, [r4, 0x10]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08105B90
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08105B6E
- strh r2, [r4, 0x14]
- movs r0, 0x1
- strh r0, [r4, 0x18]
- b _08105B90
-_08105B6E:
- movs r0, 0x2
- strh r0, [r4, 0x18]
- b _08105B90
-_08105B74:
- movs r1, 0
- strh r1, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08105B90
- strh r2, [r4, 0x16]
- strh r1, [r4, 0x18]
- b _08105B90
-_08105B8C:
- movs r0, 0x1
- strh r0, [r4, 0x12]
-_08105B90:
- movs r2, 0x8
- ldrsh r5, [r4, r2]
- cmp r5, 0
- beq _08105B9E
- cmp r5, 0x1
- beq _08105C34
- b _08105C42
-_08105B9E:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08105C42
- strh r5, [r4, 0xA]
- ldr r0, =gUnknown_085938DC
- movs r3, 0x24
- ldrsh r1, [r4, r3]
- movs r3, 0x26
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08105C42
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- strh r6, [r1, 0x2E]
- movs r0, 0xD
- strh r0, [r1, 0x30]
- ldr r2, =gUnknown_085938F4
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0x24]
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08105C42
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _08105C42
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08105C42
- .pool
-_08105C34:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08105C42
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08105C42:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8105B08
-
- thumb_func_start sub_8105C48
-sub_8105C48: @ 8105C48
- push {r4,lr}
- adds r3, r0, 0
- ldr r4, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r2, 0x1
- ldrb r1, [r0, 0x12]
- ands r1, r2
- lsls r1, 2
- mov r0, r12
- ldrb r2, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08105CAA
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 1
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x8
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r3, 0
- bl DestroySprite
-_08105CAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105C48
-
- thumb_func_start sub_8105CB4
-sub_8105CB4: @ 8105CB4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =0x000027de
- bl IndexOfSpritePaletteTag
- mov r1, sp
- strb r0, [r1]
- movs r4, 0x1
- ldr r0, =0x00002710
- adds r5, r0, 0
-_08105CCC:
- subs r0, r5, r4
- lsls r0, 16
- lsrs r0, 16
- bl AllocSpritePalette
- mov r2, sp
- adds r1, r2, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x2
- ble _08105CCC
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- adds r1, r0, 0
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- movs r2, 0xBE
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- ldr r0, =gBattleAnimSpritePalette_206
- bl LZDecompressWram
- movs r4, 0
-_08105D00:
- ldr r5, =gMonSpritesGfxPtr
- ldr r0, [r5]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 6
- ldr r0, [r0]
- adds r0, r1
- mov r2, sp
- adds r1, r2, r4
- ldrb r1, [r1]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x1
- cmp r4, 0x2
- ble _08105D00
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105CB4
-
- thumb_func_start sub_8105D60
-sub_8105D60: @ 8105D60
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_08593950
- movs r4, 0x2
-_08105D6A:
- ldrh r0, [r5]
- bl FreeSpritePaletteByTag
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08105D6A
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105D60
-
- thumb_func_start sub_8105D88
-sub_8105D88: @ 8105D88
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsls r2, 24
- lsrs r3, r2, 24
- movs r0, 0x1
- ands r3, r0
- negs r0, r3
- orrs r0, r3
- asrs r0, 31
- movs r3, 0x20
- ands r0, r3
- ldrh r4, [r5, 0x4]
- lsls r3, r4, 22
- lsrs r3, 22
- lsrs r1, 22
- adds r0, r1
- adds r3, r0
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r3, r0
- ldr r0, =0xfffffc00
- ands r0, r4
- orrs r0, r3
- strh r0, [r5, 0x4]
- ldr r0, =gUnknown_08593950
- lsrs r2, 25
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r5, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105D88
-
- thumb_func_start sub_8105DE8
-sub_8105DE8: @ 8105DE8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08105E08
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_08105E08:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r6]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldrb r1, [r4, 0xA]
- ldrb r2, [r4, 0xC]
- adds r0, r5, 0
- bl sub_8105D88
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105DE8
-
- thumb_func_start sub_8105E60
-sub_8105E60: @ 8105E60
- 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, 0x1
- bne _08105E7A
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A69CC
-_08105E7A:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x32]
- lsls r0, r2, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x7
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- subs r2, 0x80
- strh r2, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x3C
- bne _08105EAA
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08105EAA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8105E60
-
- thumb_func_start sub_8105EB0
-sub_8105EB0: @ 8105EB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- bl IsContest
- lsls r0, 24
- movs r6, 0xF0
- cmp r0, 0
- beq _08105EC4
- movs r6, 0x98
-_08105EC4:
- movs r5, 0
- ldr r1, =gBattle_WIN0H
- strh r6, [r1]
- ldr r4, =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r4]
- ldrh r1, [r1]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x44
- bl SetGpuReg
- ldr r1, =0x00003f1f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC8
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- strh r6, [r0, 0xA]
- ldr r1, =sub_8105F30
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105EB0
-
- thumb_func_start sub_8105F30
-sub_8105F30: @ 8105F30
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r0, [r3, 0x8]
- adds r4, r0, 0
- adds r4, 0xD
- strh r4, [r3, 0x8]
- ldrh r0, [r3, 0xA]
- adds r2, r0, 0
- subs r2, 0xD
- strh r2, [r3, 0xA]
- lsls r1, r4, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _08105F70
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =sub_8105F84
- str r0, [r3]
- b _08105F78
- .pool
-_08105F70:
- ldr r1, =gBattle_WIN0H
- lsls r0, r4, 8
- orrs r2, r0
- strh r2, [r1]
-_08105F78:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105F30
-
- thumb_func_start sub_8105F84
-sub_8105F84: @ 8105F84
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08105FD8
- movs r0, 0x88
- strh r0, [r1, 0x1E]
- movs r0, 0x50
- movs r1, 0x88
- bl SetGpuReg
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A75AC
- ldr r2, =0x00007fff
- movs r1, 0x10
- bl BlendPalettes
- b _0810600C
- .pool
-_08105FD8:
- cmp r0, 0x4
- ble _0810600C
- ldr r0, =gBattle_WIN0H
- strh r4, [r0]
- ldr r0, =gBattle_WIN0V
- strh r4, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0810600C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8105F84
-
- thumb_func_start sub_8106020
-sub_8106020: @ 8106020
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _0810607C
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_08593988
- adds r0, r5, 0
- bl sub_80A7CFC
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x24]
- b _081060A4
- .pool
-_0810607C:
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r5, 0
- bl sub_80A7D34
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _081060A4
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_081060A4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106020
-
- thumb_func_start sub_81060B0
-sub_81060B0: @ 81060B0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _0810610C
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_08593988
- adds r0, r5, 0
- bl sub_80A7CFC
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x24]
- b _08106134
- .pool
-_0810610C:
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r5, 0
- bl sub_80A7D34
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08106134
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08106134:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81060B0
-
- thumb_func_start sub_8106140
-sub_8106140: @ 8106140
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- movs r0, 0x5F
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_810618C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106140
-
- thumb_func_start sub_810618C
-sub_810618C: @ 810618C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _081061B6
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xE
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _081061BC
-_081061B6:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081061BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810618C
-
- thumb_func_start sub_81061C4
-sub_81061C4: @ 81061C4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081061E8
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x32]
- adds r0, r2, 0x1
- strh r0, [r4, 0x2E]
- b _08106244
- .pool
-_081061E8:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x64
- ble _08106236
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08106236:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _08106244
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106244:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81061C4
-
- thumb_func_start sub_810624C
-sub_810624C: @ 810624C
- push {lr}
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x20]
- movs r1, 0xA0
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x2E]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x30]
- ldr r1, =sub_80A64B0
- str r1, [r0, 0x1C]
- ldr r1, =sub_810627C
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810624C
-
- thumb_func_start sub_810627C
-sub_810627C: @ 810627C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- lsls r0, 16
- lsrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x48
- bgt _081062E2
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- cmp r5, 0x40
- bgt _081062E2
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081062E2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810627C
-
- thumb_func_start sub_81062E8
-sub_81062E8: @ 81062E8
- 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, 0x3
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810632A
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0810632A:
- 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, =gUnknown_08C232E0
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r1, =gUnknown_08C23D78
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- ldr r0, =gUnknown_08C23D50
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81063A8
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81062E8
-
- thumb_func_start sub_81063A8
-sub_81063A8: @ 81063A8
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- 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 _081063C6
- b _081064F0
-_081063C6:
- lsls r0, 2
- ldr r1, =_081063D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081063D8:
- .4byte _081063EC
- .4byte _08106430
- .4byte _08106452
- .4byte _08106496
- .4byte _081064BC
-_081063EC:
- 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
- bne _081064F0
- strh r5, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- adds 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 r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _081064F0
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x1E]
- b _081064F0
-_08106430:
- 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, 0x8D
- bne _081064F0
- movs r0, 0x10
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _081064F0
-_08106452:
- 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 _081064F0
- 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 _081064F0
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _081064F0
-_08106496:
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_80A6C68
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- b _081064F0
- .pool
-_081064BC:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081064D0
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_081064D0:
- 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
-_081064F0:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81063A8
-
- thumb_func_start sub_81064F8
-sub_81064F8: @ 81064F8
- 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 _0810653A
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0810653A:
- 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
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08106578
- ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceContest
- b _0810658A
- .pool
-_08106578:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810659C
- ldr r1, =gBattleAnimBackgroundTilemap_ScaryFacePlayer
-_0810658A:
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- b _081065A6
- .pool
-_0810659C:
- ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceOpponent
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
-_081065A6:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C249F8
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gUnknown_08C249D0
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81065EC
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81064F8
-
- thumb_func_start sub_81065EC
-sub_81065EC: @ 81065EC
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- 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 _0810660A
- b _08106730
-_0810660A:
- lsls r0, 2
- ldr r1, =_0810661C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810661C:
- .4byte _08106630
- .4byte _08106674
- .4byte _08106696
- .4byte _081066DA
- .4byte _081066FC
-_08106630:
- 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, 0x2
- bne _08106730
- strh r5, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- adds 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 r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xE
- bne _08106730
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x1E]
- b _08106730
-_08106674:
- 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, 0x15
- bne _08106730
- movs r0, 0xE
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _08106730
-_08106696:
- 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, 0x2
- bne _08106730
- 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 _08106730
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _08106730
-_081066DA:
- 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]
-_081066FC:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08106710
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_08106710:
- 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
-_08106730:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81065EC
-
- thumb_func_start sub_810673C
-sub_810673C: @ 810673C
- 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]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- ldrb r0, [r5]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x3C]
- ldr r1, =sub_810679C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810673C
-
- thumb_func_start sub_810679C
-sub_810679C: @ 810679C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _081067B2
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- b _081067B6
-_081067B2:
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
-_081067B6:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- ldrh r1, [r4, 0x34]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x9
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r3, 0x38
- ldrsh r2, [r4, r3]
- cmp r2, 0
- beq _08106828
- cmp r2, 0x1
- bne _08106858
- ldr r1, =0xfffffc00
- adds r0, r1, 0
- ldrh r2, [r4, 0x32]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldr r3, =0xffffff00
- adds r0, r3, 0
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08106858
- movs r0, 0x2
- strh r0, [r4, 0x38]
- b _08106868
- .pool
-_08106828:
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _08106858
- strh r2, [r4, 0x36]
- movs r0, 0x1
- strh r0, [r4, 0x38]
-_08106858:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08106868
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106868:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810679C
-
- thumb_func_start sub_8106878
-sub_8106878: @ 8106878
- 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]
- ldr r4, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- strh r0, [r5, 0x2E]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x7
- bl Cos
- strh r0, [r5, 0x30]
- ldr r0, =sub_81068CC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106878
-
- thumb_func_start sub_81068CC
-sub_81068CC: @ 81068CC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x30]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- movs r3, 0x24
- ldrsh r1, [r2, r3]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _0810690A
- movs r0, 0x22
- ldrsh r1, [r2, r0]
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810690A
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _08106910
-_0810690A:
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08106910:
- pop {r0}
- bx r0
- thumb_func_end sub_81068CC
-
- thumb_func_start sub_8106914
-sub_8106914: @ 8106914
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x30]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r1, r0, 0x1
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _08106940
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08106940:
- pop {r0}
- bx r0
- thumb_func_end sub_8106914
-
- thumb_func_start sub_8106944
-sub_8106944: @ 8106944
- 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]
- ldr r4, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- strh r0, [r5, 0x2E]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x7
- bl Cos
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x32]
- ldr r0, =sub_8106914
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106944
-
- thumb_func_start sub_810699C
-sub_810699C: @ 810699C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081069B2
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081069B2:
- pop {r0}
- bx r0
- thumb_func_end sub_810699C
-
- thumb_func_start sub_81069B8
-sub_81069B8: @ 81069B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =sub_810699C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81069B8
-
- thumb_func_start sub_81069D0
-sub_81069D0: @ 81069D0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081069EE
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_081069EE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r5, r0, 1
- movs r0, 0xFF
- ands r5, r0
- adds r0, r5, 0
- movs r1, 0x50
- bl Sin
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4F
- bgt _08106A32
- adds r0, r5, 0
- movs r1, 0x50
- bl Cos
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- lsls r0, 16
- asrs r0, 24
- adds r1, r0
- strh r1, [r4, 0x26]
-_08106A32:
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- cmp r2, 0x5A
- ble _08106A50
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
-_08106A50:
- cmp r2, 0x64
- ble _08106A5A
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106A5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81069D0
-
- thumb_func_start sub_8106A64
-sub_8106A64: @ 8106A64
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- ble _08106ABA
- adds r1, r0, 0
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08106ABA:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x1E
- ble _08106AC8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106AC8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8106A64
-
- thumb_func_start sub_8106AD0
-sub_8106AD0: @ 8106AD0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08106AF4
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x32]
- adds r0, r2, 0x1
- strh r0, [r4, 0x2E]
- b _08106B48
- .pool
-_08106AF4:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- movs r5, 0
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x46
- ble _08106B48
- ldr r0, =sub_8106A64
- str r0, [r4, 0x1C]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r0, r2, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x26]
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB4
- bl __umodsi3
- strh r0, [r4, 0x34]
-_08106B48:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106AD0
-
- thumb_func_start sub_8106B54
-sub_8106B54: @ 8106B54
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08106B8E
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A82E4
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- movs r0, 0x1
- strh r0, [r4, 0x32]
-_08106B8E:
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r0, r2
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r1, r0, 2
- adds r0, r1, 0
- cmp r1, 0
- bge _08106BA4
- adds r0, 0xFF
-_08106BA4:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bge _08106BB6
- movs r0, 0
- strh r0, [r4, 0x30]
-_08106BB6:
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08106BC4
- adds r0, 0x3
-_08106BC4:
- asrs r0, 2
- movs r1, 0x1E
- subs r1, r0
- adds r0, r2, 0
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08106BE0
- adds r0, 0x7
-_08106BE0:
- asrs r0, 3
- movs r1, 0xA
- subs r1, r0
- adds r0, r2, 0
- bl Sin
- strh r0, [r4, 0x26]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- ble _08106C04
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08106C04
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x32]
-_08106C04:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08106C18
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _08106C18
- movs r0, 0x1
- strh r0, [r4, 0x32]
-_08106C18:
- ldrh r0, [r4, 0x34]
- adds r1, r0, 0x1
- strh r1, [r4, 0x34]
- subs r0, 0x9
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x46
- bls _08106C5C
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08106C6A
- .pool
-_08106C5C:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08106C6A:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x5A
- ble _08106C78
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106C78:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8106B54
-
- thumb_func_start sub_8106C80
-sub_8106C80: @ 8106C80
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08106CB4
- 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
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08106CC8
- .pool
-_08106CB4:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08106CC8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106CC8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8106C80
-
- thumb_func_start sub_8106CD0
-sub_8106CD0: @ 8106CD0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08106CEC
- adds r0, r5, 0
- bl DestroyAnimSprite
- b _08106D50
- .pool
-_08106CEC:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08106CFC
- ldr r4, =gBattleAnimAttacker
- b _08106CFE
- .pool
-_08106CFC:
- ldr r4, =gBattleAnimTarget
-_08106CFE:
- 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 r0, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0
- bne _08106D34
- ldrh r0, [r5, 0x20]
- adds r0, 0x20
- b _08106D38
- .pool
-_08106D34:
- ldrh r0, [r5, 0x20]
- subs r0, 0x20
-_08106D38:
- strh r0, [r5, 0x20]
- ldrh r0, [r2, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r1, [r2, 0x2]
- strh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r0, =sub_8106D5C
- str r0, [r5, 0x1C]
-_08106D50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106CD0
-
- thumb_func_start sub_8106D5C
-sub_8106D5C: @ 8106D5C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08106D8C
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- cmp r0, 0
- beq _08106D86
- ldrh r1, [r2, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _08106D8C
-_08106D86:
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08106D8C:
- pop {r0}
- bx r0
- thumb_func_end sub_8106D5C
-
- thumb_func_start sub_8106D90
-sub_8106D90: @ 8106D90
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gBattleAnimArgs
- ldrb r0, [r0]
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- ldr r2, =gUnknown_08593B98
- adds r0, r4, 0
- bl sub_80A7CFC
- ldr r0, =sub_8106DD4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106D90
-
- thumb_func_start sub_8106DD4
-sub_8106DD4: @ 8106DD4
- 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 sub_80A7D34
- lsls r0, 24
- cmp r0, 0
- bne _08106DF4
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08106DF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106DD4
-
- thumb_func_start sub_8106E00
-sub_8106E00: @ 8106E00
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08106E1C
- ldr r0, =gBattleAnimAttacker
- b _08106E1E
- .pool
-_08106E1C:
- ldr r0, =gBattleAnimTarget
-_08106E1E:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08106E38
- ldr r1, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_08106E38:
- adds r0, r6, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r7, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r3, [r7, 0x2]
- adds r0, r3
- movs r4, 0
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r7, 0x4]
- adds r0, r1
- strh r0, [r5, 0x22]
- strh r4, [r5, 0x2E]
- ldrh r1, [r5, 0x20]
- lsls r1, 3
- strh r1, [r5, 0x30]
- lsls r0, 3
- strh r0, [r5, 0x32]
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- lsls r0, 3
- cmp r0, 0
- bge _08106E78
- adds r0, 0x7
-_08106E78:
- asrs r0, 3
- strh r0, [r5, 0x34]
- movs r3, 0x4
- ldrsh r0, [r7, r3]
- lsls r0, 3
- cmp r0, 0
- bge _08106E88
- adds r0, 0x7
-_08106E88:
- asrs r0, 3
- strh r0, [r5, 0x36]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x6
- ldrsh r0, [r7, r3]
- lsls r0, 4
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r0, =sub_8106EC8
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106E00
-
- thumb_func_start sub_8106EC8
-sub_8106EC8: @ 8106EC8
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x34]
- ldrh r1, [r2, 0x30]
- adds r0, r1
- strh r0, [r2, 0x30]
- ldrh r1, [r2, 0x36]
- ldrh r3, [r2, 0x32]
- adds r1, r3
- strh r1, [r2, 0x32]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08106EFC
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08106EFC:
- pop {r0}
- bx r0
- thumb_func_end sub_8106EC8
-
- thumb_func_start sub_8106F00
-sub_8106F00: @ 8106F00
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08106F22
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- movs r0, 0x78
- subs r0, r1
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08106F22:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08106F40
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- movs r1, 0
- bl sub_80A750C
-_08106F40:
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- adds r0, 0x50
- cmp r1, r0
- bne _08106F54
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08106F54:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106F00
-
- thumb_func_start sub_8106F60
-sub_8106F60: @ 8106F60
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08106F8E
- movs r5, 0x78
- strh r5, [r6, 0x20]
- ldr r4, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r0, 0xF
- strh r0, [r6, 0x22]
- ldrb r1, [r4, 0x2]
- adds r0, r6, 0
- bl StartSpriteAnim
- strh r5, [r6, 0x38]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x34]
-_08106F8E:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r6, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r6, 0x30]
- movs r2, 0x2E
- ldrsh r0, [r6, r2]
- lsls r4, r0, 1
- adds r4, r0
- ldrh r0, [r6, 0x34]
- adds r4, r0
- movs r2, 0xFF
- ldrh r0, [r6, 0x3A]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6, 0x3A]
- ands r4, r2
- adds r0, r4, 0
- movs r1, 0x64
- bl Cos
- strh r0, [r6, 0x24]
- adds r0, r4, 0
- movs r1, 0xA
- bl Sin
- adds r4, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r1, 0x4
- bl Cos
- ldrh r2, [r6, 0x30]
- adds r4, r2
- adds r0, r4
- strh r0, [r6, 0x26]
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- movs r2, 0x38
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _0810700A
- ldr r0, =sub_8107018
- str r0, [r6, 0x1C]
- strh r5, [r6, 0x2E]
- adds r0, r6, 0
- bl oamt_add_pos2_onto_pos1
- movs r0, 0x5
- strh r0, [r6, 0x32]
- strh r5, [r6, 0x36]
- strh r5, [r6, 0x34]
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0810700A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8106F60
-
- thumb_func_start sub_8107018
-sub_8107018: @ 8107018
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _08107032
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =sub_810703C
- str r0, [r1, 0x1C]
-_08107032:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107018
-
- thumb_func_start sub_810703C
-sub_810703C: @ 810703C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x34]
- adds r0, r1, r2
- strh r0, [r4, 0x34]
- strh r0, [r4, 0x26]
- adds r1, 0x1
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x30
- ble _08107066
- lsls r0, r1, 16
- cmp r0, 0
- ble _08107066
- ldrh r0, [r4, 0x36]
- subs r1, r0, 0x5
- strh r1, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x36]
-_08107066:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _08107098
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08107098:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bne _081070A6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081070A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810703C
-
- thumb_func_start sub_81070AC
-sub_81070AC: @ 81070AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081070F8
- ldr r4, =gBattleAnimAttacker
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _081070F8
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldrh r0, [r5, 0x22]
- adds r0, 0x28
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08107118
- .pool
-_081070F8:
- 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
- adds r0, 0x28
- strh r0, [r5, 0x22]
-_08107118:
- movs r0, 0xD
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- subs r0, 0x48
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81070AC
-
- thumb_func_start AnimTask_IsFuryCutterHitRight
-AnimTask_IsFuryCutterHitRight: @ 8107144
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gBattleAnimArgs
- ldr r1, =gAnimDisableStructPtr
- ldr r1, [r1]
- ldrb r2, [r1, 0x10]
- movs r1, 0x1
- ands r1, r2
- strh r1, [r3, 0xE]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsFuryCutterHitRight
-
- thumb_func_start AnimTask_GetFuryCutterHitCount
-AnimTask_GetFuryCutterHitCount: @ 8107168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleAnimArgs
- ldr r1, =gAnimDisableStructPtr
- ldr r1, [r1]
- ldrb r1, [r1, 0x10]
- strh r1, [r2, 0xE]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetFuryCutterHitCount
-
- 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, =sub_80A67D8
- 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, =sub_80A64B0
- str r1, [r0, 0x1C]
- ldr r1, =move_anim_8074EE0
- 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 sub_80A69CC
- 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 sub_80A69CC
- 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 sub_80A82E4
- 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 sub_80A69CC
- 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, =sub_80A6EEC
- 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, =sub_80A6EEC
- 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 sub_80A69CC
-_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 sub_80A7270
- 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 sub_80A7E6C
- 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 sub_80A7344
- 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 sub_80A82E4
- 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 sub_80A68D4
- 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 sub_80A68D4
- 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 sub_80A69CC
- 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 sub_80A82E4
- 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 sub_80A82E4
- 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
-
- thumb_func_start sub_8108EC8
-sub_8108EC8: @ 8108EC8
- 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, =sub_80A634C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108EC8
-
- thumb_func_start sub_8108F08
-sub_8108F08: @ 8108F08
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_80A6864
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x32]
- ldr r0, =sub_80A656C
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108F08
-
- thumb_func_start sub_8108F4C
-sub_8108F4C: @ 8108F4C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08108F88
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x8]
- negs r0, r0
- strh r0, [r4, 0x32]
- adds r1, r2, 0
- b _08108F9E
- .pool
-_08108F88:
- 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]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
-_08108F9E:
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, =sub_8109028
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108F4C
-
- thumb_func_start sub_8108FBC
-sub_8108FBC: @ 8108FBC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08108FF0
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0x32]
- adds r1, r2, 0
- b _08109008
- .pool
-_08108FF0:
- 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]
- ldrh r0, [r1, 0x8]
- negs r0, r0
- strh r0, [r4, 0x32]
-_08109008:
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, =sub_8109028
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108FBC
-
- thumb_func_start sub_8109028
-sub_8109028: @ 8109028
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x36
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bge _0810904E
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
-_0810904E:
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bne _08109060
- adds r0, r2, 0
- bl move_anim_8074EE0
-_08109060:
- pop {r0}
- bx r0
- thumb_func_end sub_8109028
-
- thumb_func_start sub_8109064
-sub_8109064: @ 8109064
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A6838
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08109090
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _081090A2
- .pool
-_08109090:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- adds r2, r4, 0
- adds r2, 0x43
- movs r1, 0x8
- strb r1, [r2]
-_081090A2:
- adds r2, r0, 0
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r2, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r2, 0xA]
- strh r0, [r4, 0x34]
- ldrh r0, [r2, 0xC]
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldr r0, =sub_81090D8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109064
-
- thumb_func_start sub_81090D8
-sub_81090D8: @ 81090D8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08109160
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- ldr r0, =0x00002710
- cmp r1, r0
- ble _081090F6
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1
- strb r0, [r1]
-_081090F6:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _0810914C
- ldr r2, =0xffffff00
- b _08109154
- .pool
-_0810914C:
- cmp r0, 0
- bge _08109158
- movs r2, 0x80
- lsls r2, 1
-_08109154:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_08109158:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _08109166
-_08109160:
- adds r0, r4, 0
- bl move_anim_8074EE0
-_08109166:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81090D8
-
- thumb_func_start sub_810916C
-sub_810916C: @ 810916C
- push {lr}
- movs r1, 0
- strh r1, [r0, 0x20]
- strh r1, [r0, 0x22]
- movs r1, 0x3C
- strh r1, [r0, 0x2E]
- movs r1, 0x8C
- strh r1, [r0, 0x32]
- movs r1, 0x50
- strh r1, [r0, 0x36]
- ldr r1, =sub_80A6EEC
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810916C
-
- thumb_func_start sub_8109198
-sub_8109198: @ 8109198
- push {r4-r6,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 _081091DE
- movs r0, 0x2
- bl GetBattlerAtPosition
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _081091D6
- movs r0, 0x3
- bl GetBattlerAtPosition
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _081091DE
-_081091D6:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_081091DE:
- ldr r1, =sub_80A7938
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109198
-
- thumb_func_start sub_8109200
-sub_8109200: @ 8109200
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- negs r1, r1
- strh r1, [r2]
- ldrh r1, [r2, 0x4]
- negs r1, r1
- strh r1, [r2, 0x4]
- ldr r1, =sub_80A7938
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8109200
-
- thumb_func_start sub_810921C
-sub_810921C: @ 810921C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- movs r1, 0
- strh r0, [r4, 0x3C]
- strh r1, [r4, 0x2E]
- ldr r0, =sub_8109244
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810921C
-
- thumb_func_start sub_8109244
-sub_8109244: @ 8109244
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8109338
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x12
- bne _0810928E
- movs r0, 0x19
- 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
- ldr r0, =sub_810929C
- str r0, [r5, 0x1C]
-_0810928E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109244
-
- thumb_func_start sub_810929C
-sub_810929C: @ 810929C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _081092E4
- movs r4, 0
- strh r4, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- strh r4, [r6, 0x26]
- strh r4, [r6, 0x24]
- ldr r1, =sub_8109314
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- b _0810930E
- .pool
-_081092E4:
- movs r1, 0x3C
- ldrsh r0, [r6, r1]
- movs r1, 0x1C
- bl Sin
- ldrh r1, [r6, 0x24]
- adds r0, r1
- strh r0, [r6, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r6, r1]
- movs r1, 0x1C
- bl Cos
- ldrh r1, [r6, 0x26]
- adds r0, r1
- strh r0, [r6, 0x26]
- ldrh r0, [r6, 0x3C]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6, 0x3C]
-_0810930E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810929C
-
- thumb_func_start sub_8109314
-sub_8109314: @ 8109314
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8109338
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08109330
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109330:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109314
-
- thumb_func_start sub_8109338
-sub_8109338: @ 8109338
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x1C
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x1C
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109338
-
- thumb_func_start sub_8109364
-sub_8109364: @ 8109364
- 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]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A653C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109364
-
- thumb_func_start sub_81093A4
-sub_81093A4: @ 81093A4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =sub_81093E4
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81093A4
-
- thumb_func_start sub_81093E4
-sub_81093E4: @ 81093E4
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r3]
- ldrh r1, [r0, 0x30]
- movs r2, 0
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- ldr r1, =sub_810940C
- str r1, [r0, 0x1C]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81093E4
-
- thumb_func_start sub_810940C
-sub_810940C: @ 810940C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- adds r0, 0xD0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08109458
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109458:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810940C
-
- thumb_func_start sub_8109460
-sub_8109460: @ 8109460
- push {r4,r5,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
- movs r5, 0
- strh r0, [r4, 0x26]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- 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, 0x10]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80A7270
- ldr r0, =sub_81094D0
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109460
-
- thumb_func_start sub_81094D0
-sub_81094D0: @ 81094D0
- push {r4,r5,lr}
- sub sp, 0xC
- 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, 0x6
- bls _081094EC
- b _081097AA
-_081094EC:
- lsls r0, 2
- ldr r1, =_08109500
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08109500:
- .4byte _0810951C
- .4byte _08109542
- .4byte _081095F4
- .4byte _08109654
- .4byte _08109672
- .4byte _08109748
- .4byte _0810979C
-_0810951C:
- 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]
-_08109542:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810958A
- 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 _08109578
- 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
- b _08109588
- .pool
-_08109578:
- 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
-_08109588:
- strh r1, [r0, 0x24]
-_0810958A:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081095B8
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081095B8
- movs r0, 0
- strh r0, [r4, 0xE]
- 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, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
-_081095B8:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _081095C8
- b _081097AA
-_081095C8:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7E6C
- 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, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- b _08109790
- .pool
-_081095F4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _08109604
- b _081097AA
-_08109604:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810962E
- 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, 0xF0
- str r0, [sp, 0x4]
- movs r0, 0x6
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_80A805C
- b _0810964E
-_0810962E:
- 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, 0xC0
- str r0, [sp, 0x4]
- movs r0, 0x6
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_80A805C
-_0810964E:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08109790
-_08109654:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- cmp r0, 0
- beq _08109662
- b _081097AA
-_08109662:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_81097B4
- b _08109790
-_08109672:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081096C0
- 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 _081096AC
- 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, 0x3
- b _081096BE
- .pool
-_081096AC:
- 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, 0x3
-_081096BE:
- strh r1, [r0, 0x26]
-_081096C0:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _081097AA
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081096FC
- 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, 0xF0
- bl sub_80A805C
- b _0810971A
- .pool
-_081096FC:
- 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, 0xC0
- bl sub_80A805C
-_0810971A:
- ldrh r1, [r4, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109738
- 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, 0x3
- strh r1, [r0, 0x26]
-_08109738:
- movs r0, 0
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- b _08109790
- .pool
-_08109748:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08109764
- 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, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
-_08109764:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081097AA
- 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, [r4, 0x10]
- strh r1, [r0, 0x22]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A7344
- strh r5, [r4, 0xC]
-_08109790:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081097AA
- .pool
-_0810979C:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081097AA
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_081097AA:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81094D0
-
- thumb_func_start sub_81097B4
-sub_81097B4: @ 81097B4
- 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
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- adds r0, r4, 0
- bl sub_8109930
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x20]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810980C
- adds r0, r4, 0
- subs r0, 0xC
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- b _08109816
- .pool
-_0810980C:
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xFF
-_08109816:
- movs r6, 0
- movs r5, 0
- lsls r4, 16
- str r4, [sp, 0x8]
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0x4]
- ldr r2, =gUnknown_085955CC
- mov r9, r2
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r3, r8
- lsls r3, 1
- mov r10, r3
-_08109834:
- ldr r0, =gUnknown_085955B4
- ldr r2, [sp, 0x8]
- asrs r1, r2, 16
- ldr r3, [sp, 0x4]
- asrs r2, r3, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _081098B6
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- lsls r0, r5, 2
- adds r0, 0x40
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r3, =0xfffffc00
- adds r0, r3, 0
- ands r2, r0
- orrs r2, r1
- strh r2, [r4, 0x4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0810987E
- movs r5, 0
-_0810987E:
- lsls r2, r6, 2
- mov r1, r9
- adds r0, r2, r1
- ldrh r0, [r0]
- ldr r3, [sp]
- adds r1, r0, 0
- muls r1, r3
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_085955CC+2
- adds r2, r0
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r0, r4, 0
- bl sub_8109984
- strh r7, [r4, 0x3A]
- mov r0, r8
- strh r0, [r4, 0x3C]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- add r0, r10
- ldr r1, =gTasks + 0x8
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
-_081098B6:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x6
- bls _08109834
- 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_81097B4
-
- thumb_func_start sub_81098EC
-sub_81098EC: @ 81098EC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_81099A0
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08109926
- 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
-_08109926:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81098EC
-
- thumb_func_start sub_8109930
-sub_8109930: @ 8109930
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x26]
- ldrh r0, [r1, 0x22]
- adds r2, r0
- adds r1, 0x29
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08109970
- lsls r0, r4, 16
- movs r1, 0x94
- lsls r1, 15
- b _08109976
- .pool
-_08109970:
- lsls r0, r4, 16
- movs r1, 0xB0
- lsls r1, 14
-_08109976:
- adds r0, r1
- lsrs r4, r0, 16
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8109930
-
- thumb_func_start sub_8109984
-sub_8109984: @ 8109984
- movs r3, 0
- strh r3, [r0, 0x2E]
- strh r3, [r0, 0x30]
- ldrh r3, [r0, 0x20]
- lsls r3, 3
- strh r3, [r0, 0x32]
- ldrh r3, [r0, 0x22]
- lsls r3, 3
- strh r3, [r0, 0x34]
- lsls r1, 3
- strh r1, [r0, 0x36]
- lsls r2, 3
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_8109984
-
- thumb_func_start sub_81099A0
-sub_81099A0: @ 81099A0
- 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, 0x2
- ble _081099CA
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0
- muls r1, r0
- adds r0, r1, 0
- ldrh r3, [r2, 0x34]
- adds r0, r3
- strh r0, [r2, 0x34]
-_081099CA:
- ldrh r0, [r2, 0x36]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x34]
- adds r1, r3
- strh r1, [r2, 0x34]
- lsls r1, 16
- asrs r3, r1, 19
- strh r3, [r2, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _08109A00
- adds r1, r3, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _08109A00
- cmp r1, 0x78
- ble _08109A0C
-_08109A00:
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08109A0C:
- pop {r0}
- bx r0
- thumb_func_end sub_81099A0
-
- thumb_func_start sub_8109A10
-sub_8109A10: @ 8109A10
- push {r4,r5,lr}
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3]
- movs r2, 0
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0x3A]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0x3C]
- ldrh r4, [r0, 0x4]
- lsls r2, r4, 22
- lsrs r2, 22
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r1, 4
- adds r2, r1
- ldr r3, =0x000003ff
- adds r1, r3, 0
- ands r2, r1
- ldr r1, =0xfffffc00
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x4]
- ldr r1, =sub_8109A64
- str r1, [r0, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109A10
-
- thumb_func_start sub_8109A64
-sub_8109A64: @ 8109A64
- push {r4,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08109A96
- cmp r0, 0x1
- bgt _08109A7A
- cmp r0, 0
- beq _08109A80
- b _08109AF4
-_08109A7A:
- cmp r0, 0x2
- beq _08109AB4
- b _08109AF4
-_08109A80:
- ldrh r1, [r2, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08109A90
- subs r0, r1, 0x1
- strh r0, [r2, 0x3A]
- b _08109AF4
-_08109A90:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_08109A96:
- ldrh r0, [r2, 0x22]
- adds r0, 0x8
- strh r0, [r2, 0x22]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r2, 0x3C]
- movs r4, 0x3C
- ldrsh r1, [r2, r4]
- cmp r0, r1
- blt _08109AF4
- strh r3, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _08109AF4
-_08109AB4:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08109AE0
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109ADC
- ldr r0, =0x0000fffd
- b _08109ADE
- .pool
-_08109ADC:
- movs r0, 0x3
-_08109ADE:
- strh r0, [r2, 0x26]
-_08109AE0:
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08109AF4
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08109AF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109A64
-
- thumb_func_start sub_8109AFC
-sub_8109AFC: @ 8109AFC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08109B70
- cmp r0, 0x1
- bgt _08109B12
- cmp r0, 0
- beq _08109B18
- b _08109C3E
-_08109B12:
- cmp r0, 0x2
- beq _08109BCE
- b _08109C3E
-_08109B18:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A69CC
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x3C]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08109B48
- movs r0, 0x4
- b _08109B4A
- .pool
-_08109B48:
- ldr r0, =0x0000fffc
-_08109B4A:
- strh r0, [r5, 0x36]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _08109BC6
- .pool
-_08109B70:
- ldrh r0, [r5, 0x30]
- adds r0, 0xC0
- strh r0, [r5, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08109B94
- ldrh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- b _08109B9A
- .pool
-_08109B94:
- ldrh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
-_08109B9A:
- strh r0, [r5, 0x26]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08109C3E
- movs r0, 0
- strh r0, [r5, 0x34]
-_08109BC6:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08109C3E
-_08109BCE:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- adds r2, r0, 0
- movs r3, 0
- strh r2, [r5, 0x24]
- ldrh r0, [r5, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08109C3E
- ldrh r0, [r5, 0x20]
- adds r1, r2, r0
- strh r1, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r3, [r5, 0x26]
- strh r3, [r5, 0x24]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0x2E]
- strh r1, [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 sub_80A6FD4
- ldr r0, =sub_8109C4C
- str r0, [r5, 0x1C]
-_08109C3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109AFC
-
- thumb_func_start sub_8109C4C
-sub_8109C4C: @ 8109C4C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _08109CA4
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _08109C82
- cmp r2, 0xC4
- ble _08109CAA
-_08109C82:
- lsls r0, 16
- cmp r0, 0
- ble _08109CAA
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08109CAA
- ldr r0, =gUnknown_02038440
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x90
- bl PlaySE12WithPanning
- b _08109CAA
- .pool
-_08109CA4:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109CAA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109C4C
-
- thumb_func_start sub_8109CB0
-sub_8109CB0: @ 8109CB0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08109CC8
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x30]
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
-_08109CC8:
- movs r0, 0xC0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r4, 0x34]
- adds r1, r2
- strh r1, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0xA0
- strh r0, [r4, 0x36]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x36]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x7
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08109D64
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x83
- bls _08109D3C
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- 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 _08109D80
- .pool
-_08109D3C:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- 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]
- b _08109D80
- .pool
-_08109D64:
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x83
- bls _08109D78
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
- b _08109D7E
-_08109D78:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
-_08109D7E:
- strb r0, [r1]
-_08109D80:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08109DA8
- 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]
-_08109DA8:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x1E
- bne _08109DB6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08109DB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109CB0
-
- thumb_func_start sub_8109DBC
-sub_8109DBC: @ 8109DBC
- 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
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08109DE2
- movs r1, 0x1
-_08109DE2:
- strh r1, [r4, 0x20]
- ldr r0, =gBattleAnimTarget
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- movs r0, 0x3
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, =sub_8109E2C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109DBC
-
- thumb_func_start sub_8109E2C
-sub_8109E2C: @ 8109E2C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r2, r0, r1
- movs r0, 0x8
- ldrsh r3, [r2, r0]
- cmp r3, 0x1
- beq _08109EF4
- cmp r3, 0x1
- bgt _08109E54
- cmp r3, 0
- beq _08109E62
- b _0810A054
- .pool
-_08109E54:
- cmp r3, 0x2
- bne _08109E5A
- b _08109F7C
-_08109E5A:
- cmp r3, 0x3
- bne _08109E60
- b _0810A010
-_08109E60:
- b _0810A054
-_08109E62:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- lsls r0, 1
- ldrh r5, [r2, 0x1C]
- adds r0, r5
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08109E94
- strh r3, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109E90
- movs r0, 0x2
- b _08109E92
-_08109E90:
- ldr r0, =0x0000fffe
-_08109E92:
- strh r0, [r2, 0x1E]
-_08109E94:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r7, 0x22
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _08109ED6
- ldr r4, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
-_08109EA6:
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r7, [r2, 0x1C]
- adds r0, r7
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x22
- ldrsh r1, [r2, r5]
- cmp r0, r1
- blt _08109EA6
-_08109ED6:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _08109EE6
- b _0810A054
-_08109EE6:
- movs r0, 0
- strh r0, [r2, 0x1A]
- b _0810A000
- .pool
-_08109EF4:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08109F1C
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- ands r0, r3
- lsls r0, 16
- cmp r0, 0
- beq _08109F18
- movs r0, 0x2
- b _08109F1A
-_08109F18:
- ldr r0, =0x0000fffe
-_08109F1A:
- strh r0, [r2, 0x1E]
-_08109F1C:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r7, 0x22
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _08109F5E
- ldr r4, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
-_08109F2E:
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r7, [r2, 0x1C]
- adds r0, r7
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x22
- ldrsh r1, [r2, r5]
- cmp r0, r1
- blt _08109F2E
-_08109F5E:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x60
- bne _0810A054
- movs r0, 0
- strh r0, [r2, 0x1A]
- b _0810A000
- .pool
-_08109F7C:
- movs r7, 0x20
- ldrsh r1, [r2, r7]
- lsls r1, 1
- ldrh r0, [r2, 0x1C]
- subs r0, r1
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08109FB0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109FAC
- strh r3, [r2, 0x1E]
- b _08109FB0
-_08109FAC:
- ldr r0, =0x0000fffe
- strh r0, [r2, 0x1E]
-_08109FB0:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _08109FF2
- ldr r4, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
-_08109FC2:
- movs r5, 0xE
- ldrsh r0, [r2, r5]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r7, 0
- ldrsh r0, [r0, r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r5, [r2, 0x1C]
- adds r0, r5
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r7, 0x22
- ldrsh r1, [r2, r7]
- cmp r0, r1
- blt _08109FC2
-_08109FF2:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _0810A054
-_0810A000:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0810A054
- .pool
-_0810A010:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _0810A04E
- ldr r6, =gSprites
- adds r3, r2, 0
- adds r3, 0x8
- movs r5, 0
-_0810A024:
- movs r7, 0xE
- ldrsh r0, [r2, r7]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r5, [r0, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r7, 0x22
- ldrsh r1, [r2, r7]
- cmp r0, r1
- blt _0810A024
-_0810A04E:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810A054:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8109E2C
-
- thumb_func_start AnimTask_BlendBackground
-AnimTask_BlendBackground: @ 810A060
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- ldr r1, =gBattleAnimArgs
- ldrb r2, [r1]
- ldrh r3, [r1, 0x2]
- movs r1, 0x10
- bl BlendPalette
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_BlendBackground
-
- thumb_func_start sub_810A094
-sub_810A094: @ 810A094
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- mov r9, r1
- ldr r4, =gBattleAnimArgs
- mov r8, r4
- cmp r0, 0
- bne _0810A0CA
- ldrh r0, [r4]
- strh r0, [r2, 0xA]
- ldrh r0, [r4, 0x2]
- strh r0, [r2, 0xC]
- ldrh r0, [r4, 0x4]
- strh r0, [r2, 0xE]
- ldrh r0, [r4, 0x6]
- strh r0, [r2, 0x10]
-_0810A0CA:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r6, [r0]
- movs r5, 0x10
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _0810A100
- ldr r4, =gUnknown_08595684
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- b _0810A106
- .pool
-_0810A100:
- ldr r4, =gUnknown_08595694
- movs r3, 0x8
- ldrsh r0, [r2, r3]
-_0810A106:
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- adds r0, r4
- ldrb r5, [r0]
- lsls r0, r7, 2
- adds r1, r0, r7
- lsls r1, 3
- add r1, r9
- movs r4, 0xE
- ldrsh r1, [r1, r4]
- mov r12, r0
- cmp r1, 0x1
- bne _0810A154
- ldr r2, =gSprites
- lsls r3, r6, 4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- mov r10, r0
- mov r0, r8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r5, 24
- asrs r0, 24
- muls r0, r1
- cmp r0, 0
- bge _0810A144
- negs r0, r0
-_0810A144:
- mov r5, r10
- strh r0, [r5, 0x26]
- b _0810A16E
- .pool
-_0810A154:
- ldr r3, =gSprites
- lsls r4, r6, 4
- adds r2, r4, r6
- lsls r2, 2
- adds r2, r3
- lsls r0, r5, 24
- asrs r0, 24
- mov r5, r8
- ldrh r1, [r5, 0x2]
- muls r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
-_0810A16E:
- mov r1, r12
- adds r0, r1, r7
- lsls r0, 3
- add r0, r9
- movs r4, 0x8
- ldrsh r1, [r0, r4]
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- cmp r1, r0
- bne _0810A194
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r0, 0x26]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_0810A194:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A094
-
- thumb_func_start sub_810A1A8
-sub_810A1A8: @ 810A1A8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810A1D0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _0810A1DC
- .pool
-_0810A1D0:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_0810A1DC:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =sub_810A1F8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A1A8
-
- thumb_func_start sub_810A1F8
-sub_810A1F8: @ 810A1F8
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810A20E
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810A20E:
- pop {r0}
- bx r0
- thumb_func_end sub_810A1F8
-
- thumb_func_start sub_810A214
-sub_810A214: @ 810A214
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810A23C
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r4, 0x20]
- b _0810A246
- .pool
-_0810A23C:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
-_0810A246:
- ldr r0, =sub_810A258
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A214
-
- thumb_func_start sub_810A258
-sub_810A258: @ 810A258
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810A26E
- adds r0, r2, 0
- bl move_anim_8074EE0
-_0810A26E:
- pop {r0}
- bx r0
- thumb_func_end sub_810A258
-
- thumb_func_start sub_810A274
-sub_810A274: @ 810A274
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimTarget
- 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 r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810A2C4
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r5, 0x22]
- b _0810A2D8
- .pool
-_0810A2C4:
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x20]
- ldrh r1, [r0, 0x2]
- ldrh r2, [r5, 0x22]
- adds r1, r2
- strh r1, [r5, 0x22]
- adds r2, r0, 0
-_0810A2D8:
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r2, 0x4]
- strh r0, [r5, 0x30]
- ldrh r0, [r2, 0x6]
- strh r0, [r5, 0x32]
- ldrh r0, [r2, 0x8]
- strh r0, [r5, 0x34]
- ldr r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A62EC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A274
-
- thumb_func_start sub_810A308
-sub_810A308: @ 810A308
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _0810A380
- cmp r0, 0x1
- bgt _0810A324
- cmp r0, 0
- beq _0810A32E
- b _0810A380
- .pool
-_0810A324:
- cmp r0, 0x2
- beq _0810A338
- cmp r0, 0x3
- beq _0810A35C
- b _0810A380
-_0810A32E:
- ldr r0, =gBattleAnimAttacker
- b _0810A382
- .pool
-_0810A338:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r6, 0x2
- eors r0, r6
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _0810A354
- ldrb r4, [r4]
- b _0810A384
- .pool
-_0810A354:
- ldrb r0, [r4]
- adds r4, r6, 0
- eors r4, r0
- b _0810A384
-_0810A35C:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- movs r4, 0x2
- eors r0, r4
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810A380
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- eors r4, r0
- b _0810A384
- .pool
-_0810A380:
- ldr r0, =gBattleAnimTarget
-_0810A382:
- ldrb r4, [r0]
-_0810A384:
- ldr r0, =gBattleAnimArgs
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _0810A3AC
- adds r0, r4, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- movs r1, 0x1
- b _0810A3BE
- .pool
-_0810A3AC:
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- movs r1, 0x3
-_0810A3BE:
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r7, =gSineTable
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 1
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x24]
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x26]
- ldrh r1, [r6, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810A422
- adds r0, r4, 0
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
-_0810A422:
- ldrb r2, [r5, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- ldr r3, =gOamMatrices
- lsls r2, 3
- adds r2, r3
- adds r1, 0x40
- lsls r1, 1
- adds r1, r7
- ldrh r1, [r1]
- strh r1, [r2, 0x6]
- strh r1, [r2]
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x2E]
- ldr r0, =sub_810E2C8
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A308
-
- thumb_func_start sub_810A46C
-sub_810A46C: @ 810A46C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x38]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x3A]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x3C]
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r1, =sub_810A4F4
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A46C
-
- thumb_func_start sub_810A4F4
-sub_810A4F4: @ 810A4F4
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _0810A55E
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- 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, 0x38
- ldrsh r1, [r4, r2]
- bl Cos
- 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, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _0810A564
- 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]
- b _0810A564
-_0810A55E:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810A564:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810A4F4
-
- thumb_func_start sub_810A56C
-sub_810A56C: @ 810A56C
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x38]
- subs r0, 0x1
- strh r0, [r3, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810A5A4
- 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, 0x36]
- strh r0, [r3, 0x38]
-_0810A5A4:
- ldrh r0, [r3, 0x34]
- subs r1, r0, 0x1
- strh r1, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bgt _0810A5B6
- adds r0, r3, 0
- bl DestroyAnimSprite
-_0810A5B6:
- pop {r0}
- bx r0
- thumb_func_end sub_810A56C
-
- thumb_func_start sub_810A5BC
-sub_810A5BC: @ 810A5BC
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810A5D8
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810A5E0
-_0810A5D8:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_0810A5E0:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4]
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x6]
- strh r0, [r6, 0x36]
- strh r0, [r6, 0x38]
- ldr r0, =sub_810A56C
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A5BC
-
- thumb_func_start sub_810A628
-sub_810A628: @ 810A628
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x2E]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0810A64C
- ldr r0, =gBattleAnimTarget
- b _0810A64E
- .pool
-_0810A64C:
- ldr r0, =gBattleAnimAttacker
-_0810A64E:
- ldrb r6, [r0]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810A666
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810A66E
-_0810A666:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_0810A66E:
- adds r0, r6, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r3, [r4]
- adds r0, r3
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x3C]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r1, =sub_810A6EC
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A628
-
- thumb_func_start sub_810A6EC
-sub_810A6EC: @ 810A6EC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _0810A742
- 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]
-_0810A742:
- ldrh r0, [r4, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _0810A754
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810A754:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810A6EC
-
- thumb_func_start sub_810A75C
-sub_810A75C: @ 810A75C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A6980
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldr r3, =gBattleAnimArgs
- movs r5, 0x6
- ldrsh r0, [r3, r5]
- lsls r0, 2
- adds r1, r0
- ldr r5, =0x000003ff
- adds r0, r5, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- bne _0810A7A4
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- b _0810A7B2
- .pool
-_0810A7A4:
- cmp r0, 0x2
- bne _0810A7B6
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x20
-_0810A7B2:
- orrs r1, r0
- strb r1, [r4, 0x3]
-_0810A7B6:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A75C
-
- thumb_func_start sub_810A7DC
-sub_810A7DC: @ 810A7DC
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- ldr r1, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- ldr r5, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r4, 0x8]
- ldrb r0, [r6]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldr r0, =sub_810A834
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810A7DC
-
- thumb_func_start sub_810A834
-sub_810A834: @ 810A834
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- movs r7, 0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldrb r2, [r0, 0xC]
- str r2, [sp]
- ldrh r4, [r0, 0x8]
- ldrh r6, [r0, 0xA]
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- mov r10, r1
- cmp r0, 0
- bne _0810A878
- movs r0, 0
- mov r8, r0
- movs r2, 0x1
- movs r1, 0x10
- mov r12, r1
- b _0810A882
- .pool
-_0810A878:
- movs r2, 0x10
- mov r12, r2
- movs r3, 0x8
- mov r8, r3
- movs r2, 0x4
-_0810A882:
- mov r0, r9
- lsls r1, r0, 2
- adds r0, r1, r0
- lsls r0, 3
- add r0, r10
- movs r3, 0x1C
- ldrsh r0, [r0, r3]
- mov r10, r1
- cmp r0, 0xA
- bhi _0810A978
- lsls r0, 2
- ldr r1, =_0810A8A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810A8A4:
- .4byte _0810A8D0
- .4byte _0810A978
- .4byte _0810A8E4
- .4byte _0810A978
- .4byte _0810A904
- .4byte _0810A978
- .4byte _0810A91A
- .4byte _0810A978
- .4byte _0810A93C
- .4byte _0810A978
- .4byte _0810A970
-_0810A8D0:
- ldr r0, =gUnknown_08595828
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- mov r4, r12
- lsls r3, r4, 16
- b _0810A952
- .pool
-_0810A8E4:
- mov r0, r12
- lsls r3, r0, 17
- mov r1, r8
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =gUnknown_08595828
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- b _0810A952
- .pool
-_0810A904:
- mov r3, r12
- lsls r0, r3, 16
- asrs r0, 16
- lsls r3, r0, 1
- adds r3, r0
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- b _0810A946
-_0810A91A:
- mov r0, r12
- lsls r3, r0, 18
- lsls r0, r2, 1
- adds r0, r2
- add r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =gUnknown_08595828
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- b _0810A952
- .pool
-_0810A93C:
- mov r1, r12
- lsls r0, r1, 16
- asrs r0, 16
- lsls r3, r0, 2
- adds r3, r0
-_0810A946:
- ldr r0, =gUnknown_08595828
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- lsls r3, 16
-_0810A952:
- asrs r3, 16
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- b _0810A978
- .pool
-_0810A970:
- mov r0, r9
- bl DestroyAnimVisualTask
- b _0810A9BC
-_0810A978:
- cmp r7, 0
- beq _0810A9AC
- ldr r4, =gSprites
- lsls r3, r5, 4
- adds r3, r5
- lsls r3, 2
- adds r0, r3, r4
- ldrh r5, [r0, 0x4]
- lsls r2, r5, 22
- lsrs r2, 22
- add r2, r8
- ldr r6, =0x000003ff
- adds r1, r6, 0
- ands r2, r1
- ldr r1, =0xfffffc00
- ands r1, r5
- orrs r1, r2
- strh r1, [r0, 0x4]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0, 0x2E]
- adds r4, 0x1C
- adds r3, r4
- ldr r1, [r3]
- bl _call_via_r1
-_0810A9AC:
- ldr r0, =gTasks
- mov r1, r10
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
-_0810A9BC:
- 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_810A834
-
- thumb_func_start sub_810A9DC
-sub_810A9DC: @ 810A9DC
- push {lr}
- adds r3, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _0810A9FE
- ldrb r1, [r3, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0x1]
- ldrb r0, [r3, 0x3]
- ands r2, r0
- strb r2, [r3, 0x3]
- b _0810AA12
-_0810A9FE:
- ldrb r2, [r3, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0x1]
- ldrb r0, [r3, 0x3]
- ands r1, r0
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r3, 0x3]
-_0810AA12:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bne _0810AA26
- adds r0, r3, 0
- bl DestroySprite
-_0810AA26:
- pop {r0}
- bx r0
- thumb_func_end sub_810A9DC
-
- thumb_func_start sub_810AA2C
-sub_810AA2C: @ 810AA2C
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- ldr r0, =gUnknown_08595840
- adds r1, 0x20
- lsls r1, 16
- asrs r1, 16
- movs r7, 0x22
- ldrsh r2, [r4, r7]
- adds r3, r4, 0
- adds r3, 0x43
- ldrb r3, [r3]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r6, r2, r3
- ldrh r5, [r6, 0x4]
- lsls r1, r5, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r7, =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r5
- orrs r0, r1
- strh r0, [r6, 0x4]
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r3, 0x1C
- adds r2, r3
- ldr r0, =sub_810AAB0
- str r0, [r2]
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810AA2C
-
- thumb_func_start sub_810AAB0
-sub_810AAB0: @ 810AAB0
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0810AAE4
- movs r0, 0
- strh r0, [r3, 0x2E]
- 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]
-_0810AAE4:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _0810AAF8
- adds r0, r3, 0
- bl DestroyAnimSprite
-_0810AAF8:
- pop {r0}
- bx r0
- thumb_func_end sub_810AAB0
-
- thumb_func_start sub_810AAFC
-sub_810AAFC: @ 810AAFC
- 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
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810AB28
- ldr r4, =gBattleAnimAttacker
- b _0810AB2A
- .pool
-_0810AB28:
- ldr r4, =gBattleAnimTarget
-_0810AB2A:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x26]
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2, 0x2]
- movs r1, 0
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x16]
- strh r1, [r5, 0x18]
- strh r1, [r5, 0x1A]
- strh r1, [r5, 0x1C]
- ldrh r0, [r2, 0x6]
- strh r0, [r5, 0x1E]
- strh r1, [r5, 0x20]
- ldrh r0, [r2, 0x4]
- strh r0, [r5, 0x22]
- ldr r0, =sub_810AB78
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810AAFC
-
- thumb_func_start sub_810AB78
-sub_810AB78: @ 810AB78
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, r6, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0810AC78
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- cmp r0, r1
- ble _0810AC86
- strh r7, [r5, 0x20]
- ldr r0, =gUnknown_085958A8
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- movs r3, 0x26
- ldrsh r2, [r5, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0810AC86
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldr r1, =gUnknown_08595858
- movs r2, 0x1A
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- movs r3, 0
- ldrsb r3, [r0, r3]
- ldrh r0, [r4, 0x20]
- adds r3, r0
- strh r3, [r4, 0x20]
- movs r2, 0x1A
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldrh r0, [r4, 0x22]
- adds r2, r0
- strh r2, [r4, 0x22]
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- movs r0, 0x28
- subs r0, r1
- strh r0, [r4, 0x2E]
- strh r3, [r4, 0x30]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- ldrh r0, [r5, 0x26]
- strh r0, [r4, 0x36]
- strh r6, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- ldr r1, =sub_810ACC0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- strh r0, [r5, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _0810AC30
- strh r7, [r5, 0x1A]
-_0810AC30:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- cmp r0, r1
- blt _0810AC52
- strh r7, [r5, 0x1C]
- ldrh r1, [r5, 0x18]
- movs r3, 0x18
- ldrsh r0, [r5, r3]
- cmp r0, 0x5
- bgt _0810AC52
- adds r0, r1, 0x1
- strh r0, [r5, 0x18]
-_0810AC52:
- ldrh r0, [r5, 0x16]
- adds r0, 0x1
- strh r0, [r5, 0x16]
- ldrh r0, [r5, 0x14]
- subs r0, 0x1
- strh r0, [r5, 0x14]
- b _0810AC86
- .pool
-_0810AC78:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810AC86
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810AC86:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810AB78
-
- thumb_func_start sub_810AC8C
-sub_810AC8C: @ 810AC8C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _0810ACB4
- ldr r2, =gTasks
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x16]
- subs r1, 0x1
- strh r1, [r0, 0x16]
- adds r0, r4, 0
- bl DestroySprite
-_0810ACB4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810AC8C
-
- thumb_func_start sub_810ACC0
-sub_810ACC0: @ 810ACC0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =sub_810AC8C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ACC0
-
- thumb_func_start sub_810ACD8
-sub_810ACD8: @ 810ACD8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810ACF4
- ldr r4, =gBattleAnimAttacker
- b _0810ACF6
- .pool
-_0810ACF4:
- ldr r4, =gBattleAnimTarget
-_0810ACF6:
- 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 r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ACD8
-
- thumb_func_start sub_810AD30
-sub_810AD30: @ 810AD30
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810AD4C
- ldr r4, =gBattleAnimAttacker
- b _0810AD4E
- .pool
-_0810AD4C:
- ldr r4, =gBattleAnimTarget
-_0810AD4E:
- 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 r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x24]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x26]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67D8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810AD30
-
- thumb_func_start sub_810AD98
-sub_810AD98: @ 810AD98
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- 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]
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- movs r0, 0x10
- strh r0, [r5, 0x3C]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810ADE6
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- negs r0, r0
- strh r0, [r5, 0x3C]
-_0810ADE6:
- ldr r0, =sub_810ADF8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810AD98
-
- thumb_func_start sub_810ADF8
-sub_810ADF8: @ 810ADF8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810AE0A
- cmp r0, 0x1
- beq _0810AE20
- b _0810AE50
-_0810AE0A:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _0810AE50
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810AE50
-_0810AE20:
- ldrh r2, [r4, 0x3C]
- ldrh r1, [r4, 0x20]
- adds r0, r2, r1
- strh r0, [r4, 0x20]
- ldr r3, =gSprites
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- adds r2, r1
- strh r2, [r0, 0x24]
- ldrh r0, [r4, 0x20]
- adds r0, 0x50
- lsls r0, 16
- movs r1, 0xC8
- lsls r1, 17
- cmp r0, r1
- bls _0810AE50
- adds r0, r4, 0
- bl move_anim_8074EE0
-_0810AE50:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ADF8
-
- thumb_func_start sub_810AE5C
-sub_810AE5C: @ 810AE5C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0810AEF0
- cmp r0, 0x1
- bgt _0810AE84
- cmp r0, 0
- beq _0810AE90
- b _0810AFC0
- .pool
-_0810AE84:
- cmp r0, 0x2
- beq _0810AF4C
- cmp r0, 0x3
- bne _0810AE8E
- b _0810AFA0
-_0810AE8E:
- b _0810AFC0
-_0810AE90:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0x26]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810AECC
- ldr r0, =0x0000ffe0
- strh r0, [r5, 0x24]
- movs r0, 0x2
- b _0810AED2
- .pool
-_0810AECC:
- movs r0, 0x20
- strh r0, [r5, 0x24]
- ldr r0, =0x0000fffe
-_0810AED2:
- strh r0, [r5, 0x22]
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r5, 0x24]
- strh r1, [r0, 0x24]
- b _0810AF92
- .pool
-_0810AEF0:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810AFC0
- movs r0, 0
- strh r0, [r5, 0xA]
- ldr r4, =gSprites
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- adds r2, 0x3E
- ldrb r3, [r2]
- lsls r0, r3, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrh r1, [r5, 0x24]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0810AF92
- ldrh r2, [r5, 0x22]
- adds r2, r1, r2
- strh r2, [r5, 0x24]
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x24]
- b _0810AFC0
- .pool
-_0810AF4C:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810AFC0
- movs r0, 0
- strh r0, [r5, 0xA]
- ldr r1, =gSprites
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- adds r2, 0x3E
- ldrb r3, [r2]
- lsls r0, r3, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _0810AFC0
-_0810AF92:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0810AFC0
- .pool
-_0810AFA0:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r5, 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]
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_0810AFC0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810AE5C
-
- thumb_func_start sub_810AFCC
-sub_810AFCC: @ 810AFCC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0810AFE6
- b _0810B10C
-_0810AFE6:
- cmp r0, 0x1
- bgt _0810AFF4
- cmp r0, 0
- beq _0810AFFC
- b _0810B14E
- .pool
-_0810AFF4:
- cmp r0, 0x2
- bne _0810AFFA
- b _0810B140
-_0810AFFA:
- b _0810B14E
-_0810AFFC:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _0810B012
- movs r1, 0x1
-_0810B012:
- movs r6, 0
- strh r1, [r5, 0xA]
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r3, r0, 0
- cmp r2, 0
- beq _0810B048
- cmp r2, 0x4
- beq _0810B070
- ldrh r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810B0A8
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0xE]
- ldr r0, =0x0000fff0
- b _0810B0B0
- .pool
-_0810B048:
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r0, 7
- adds r0, 0x78
- strh r0, [r5, 0x10]
- b _0810B0E6
-_0810B070:
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r1, 7
- movs r0, 0x78
- subs r0, r1
- strh r0, [r5, 0xE]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- lsls r1, 5
- subs r0, r1
- strh r0, [r5, 0x10]
- b _0810B0E6
- .pool
-_0810B0A8:
- ldr r0, =0x0000fff0
- strh r0, [r5, 0xE]
- movs r0, 0x80
- lsls r0, 1
-_0810B0B0:
- strh r0, [r5, 0x10]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0810B0D0
- movs r2, 0
- ldrsh r0, [r3, r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- movs r0, 0x50
- subs r0, r1
- strh r0, [r5, 0x12]
- b _0810B0E6
- .pool
-_0810B0D0:
- movs r0, 0
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x28
- strh r0, [r5, 0x12]
- ldrh r1, [r5, 0xE]
- ldrh r0, [r5, 0x10]
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
-_0810B0E6:
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bge _0810B0FC
- movs r1, 0
- movs r0, 0x1
- strh r0, [r5, 0xA]
- strh r1, [r5, 0x14]
- b _0810B138
-_0810B0FC:
- ldr r0, =0x0000ffff
- strh r0, [r5, 0xA]
- movs r0, 0x3
- strh r0, [r5, 0x14]
- b _0810B138
- .pool
-_0810B10C:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- ble _0810B14E
- movs r0, 0
- strh r0, [r5, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_810B154
- lsls r0, 24
- cmp r0, 0
- bne _0810B138
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_810B154
- lsls r0, 24
- cmp r0, 0
- beq _0810B14E
-_0810B138:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0810B14E
-_0810B140:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810B14E
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810B14E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810AFCC
-
- thumb_func_start sub_810B154
-sub_810B154: @ 810B154
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_08595A00
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- movs r3, 0x12
- ldrsh r2, [r4, r3]
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0810B18A
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strh r5, [r0, 0x3A]
- movs r1, 0x7
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_0810B18A:
- ldrh r1, [r4, 0xA]
- ldrh r5, [r4, 0x14]
- adds r0, r1, r5
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bge _0810B19C
- movs r0, 0x3
- strh r0, [r4, 0x14]
-_0810B19C:
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- ble _0810B1A8
- movs r0, 0
- strh r0, [r4, 0x14]
-_0810B1A8:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- lsls r0, 4
- ldrh r5, [r4, 0xE]
- adds r2, r0, r5
- strh r2, [r4, 0xE]
- lsls r0, r1, 16
- asrs r3, r0, 16
- cmp r3, 0x1
- bne _0810B1C8
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0x10
- ldrsh r1, [r4, r5]
- cmp r0, r1
- bge _0810B1DC
-_0810B1C8:
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- bne _0810B1E8
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bgt _0810B1E8
-_0810B1DC:
- movs r0, 0x1
- b _0810B1EA
- .pool
-_0810B1E8:
- movs r0, 0
-_0810B1EA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_810B154
-
- thumb_func_start sub_810B1F0
-sub_810B1F0: @ 810B1F0
- 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, 0xC
- ble _0810B230
- 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
-_0810B230:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B1F0
-
- thumb_func_start sub_810B23C
-sub_810B23C: @ 810B23C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0810B24E
- cmp r0, 0x1
- beq _0810B280
- b _0810B294
-_0810B24E:
- 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]
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _0810B294
- .pool
-_0810B280:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810B294
- adds r0, r5, 0
- bl move_anim_8074EE0
-_0810B294:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810B23C
-
- thumb_func_start sub_810B29C
-sub_810B29C: @ 810B29C
- 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 r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _0810B2B6
- b _0810B428
-_0810B2B6:
- lsls r0, 2
- ldr r1, =_0810B2C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810B2C8:
- .4byte _0810B2DC
- .4byte _0810B36C
- .4byte _0810B3A8
- .4byte _0810B404
- .4byte _0810B414
-_0810B2DC:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x16]
- movs r0, 0x4
- strh r0, [r5, 0x18]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r5, r2]
- movs r2, 0x14
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r1, 0x5
- bl __divsi3
- strh r0, [r5, 0x1A]
- movs r0, 0x7
- strh r0, [r5, 0x10]
- ldr r0, =0x0000ffff
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- subs r0, 0x4C
- bl BattleAnimAdjustPanning
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0x20]
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0x22]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x24]
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r1, 0x3
- bl __divsi3
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- b _0810B426
- .pool
-_0810B36C:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- ble _0810B39C
- movs r0, 0
- strh r0, [r5, 0xA]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_810B430
- lsls r0, 24
- cmp r0, 0
- beq _0810B39C
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bne _0810B396
- movs r0, 0x3
- b _0810B39A
-_0810B396:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
-_0810B39A:
- strh r0, [r5, 0x8]
-_0810B39C:
- ldrh r1, [r5, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0810B428
- b _0810B41E
-_0810B3A8:
- ldrh r1, [r5, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0810B3B6
- subs r0, r1, 0x1
- strh r0, [r5, 0x1E]
-_0810B3B6:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0810B428
- strh r3, [r5, 0xA]
- ldrh r1, [r5, 0xC]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0810B3E2
- movs r0, 0x4
- strh r0, [r5, 0x16]
- movs r0, 0x44
- strh r0, [r5, 0x18]
- strh r3, [r5, 0x10]
- strh r2, [r5, 0x12]
- b _0810B3F2
-_0810B3E2:
- movs r0, 0x44
- strh r0, [r5, 0x16]
- movs r0, 0x4
- strh r0, [r5, 0x18]
- movs r0, 0x7
- strh r0, [r5, 0x10]
- ldr r0, =0x0000ffff
- strh r0, [r5, 0x12]
-_0810B3F2:
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0810B424
- movs r0, 0x4
- b _0810B426
- .pool
-_0810B404:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810B428
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- b _0810B428
-_0810B414:
- ldrh r1, [r5, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0810B424
-_0810B41E:
- subs r0, r1, 0x1
- strh r0, [r5, 0x1E]
- b _0810B428
-_0810B424:
- movs r0, 0x1
-_0810B426:
- strh r0, [r5, 0x8]
-_0810B428:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810B29C
-
- thumb_func_start sub_810B430
-sub_810B430: @ 810B430
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_08595A30
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- movs r3, 0x16
- ldrsh r2, [r4, r3]
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0810B49C
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldrh r6, [r4, 0x10]
- adds r1, r6
- ldr r6, =0x000003ff
- adds r0, r6, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _0810B484
- movs r0, 0x7
- strh r0, [r4, 0x10]
-_0810B484:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0x7
- ble _0810B490
- movs r0, 0
- strh r0, [r4, 0x10]
-_0810B490:
- strh r5, [r3, 0x3A]
- movs r0, 0x3
- strh r0, [r3, 0x3C]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
-_0810B49C:
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0810B4BE
- movs r5, 0x12
- ldrsh r0, [r4, r5]
- cmp r0, 0
- ble _0810B4BE
- ldrh r1, [r4, 0x26]
- ldrh r6, [r4, 0x24]
- adds r1, r6
- strh r1, [r4, 0x24]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x76
- bl PlaySE12WithPanning
-_0810B4BE:
- movs r0, 0x12
- ldrsh r3, [r4, r0]
- ldrh r2, [r4, 0x16]
- cmp r3, 0
- bge _0810B4D4
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0x18
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _0810B4E4
-_0810B4D4:
- cmp r3, 0
- ble _0810B508
- lsls r0, r2, 16
- asrs r0, 16
- movs r6, 0x18
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _0810B508
-_0810B4E4:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x1A]
- ldrh r1, [r4, 0x14]
- adds r0, r1
- strh r0, [r4, 0x14]
- movs r0, 0x1
- b _0810B514
- .pool
-_0810B508:
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r0, r2, r0
- strh r0, [r4, 0x16]
- movs r0, 0
-_0810B514:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_810B430
-
- thumb_func_start sub_810B51C
-sub_810B51C: @ 810B51C
- 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, 0xC
- ble _0810B552
- 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
-_0810B552:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B51C
-
- thumb_func_start sub_810B55C
-sub_810B55C: @ 810B55C
- 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 r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0810B5D8
- cmp r0, 0x1
- bgt _0810B584
- cmp r0, 0
- beq _0810B58A
- b _0810B60E
- .pool
-_0810B584:
- cmp r0, 0x2
- beq _0810B600
- b _0810B60E
-_0810B58A:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r5, 0x26]
- strh r0, [r5, 0x24]
- cmp r0, 0x10
- ble _0810B5B4
- adds r2, r0, 0
-_0810B5A4:
- adds r1, r2, 0
- subs r1, 0x20
- adds r2, r1, 0
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x10
- bgt _0810B5A4
- strh r1, [r5, 0x24]
-_0810B5B4:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x2
- strh r0, [r5, 0x20]
- b _0810B5F8
- .pool
-_0810B5D8:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810B60E
- movs r0, 0
- strh r0, [r5, 0xA]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_810B614
- lsls r0, 24
- cmp r0, 0
- beq _0810B60E
-_0810B5F8:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0810B60E
-_0810B600:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810B60E
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810B60E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810B55C
-
- 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, =sub_80A634C
- 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 sub_80A69CC
- 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, =sub_80A6EEC
- 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, =sub_80A67BC
- 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 move_anim_8074EE0
-_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 sub_80A69CC
- 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 sub_80A69CC
- 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 sub_80A69CC
- 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_0854C270
- 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_0854C270
- 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 sub_80A69CC
- 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 sub_80A68D4
- 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, =sub_80A67D8
- 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
-
- thumb_func_start unc_080B08A0
-unc_080B08A0: @ 810CE2C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_80A6864
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0xF
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unc_080B08A0
-
- thumb_func_start sub_810CE68
-sub_810CE68: @ 810CE68
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0810CE90
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810CE90
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x6]
- negs r0, r0
- strh r0, [r4, 0x6]
-_0810CE90:
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0xC]
- adds r0, r5, 0
- bl sub_80A7938
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CE68
-
- thumb_func_start sub_810CEB4
-sub_810CEB4: @ 810CEB4
- push {r4,lr}
- adds r4, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810CED0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0x6]
- negs r1, r1
- strh r1, [r0, 0x6]
-_0810CED0:
- adds r0, r4, 0
- bl sub_810CE68
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CEB4
-
- thumb_func_start sub_810CEE0
-sub_810CEE0: @ 810CEE0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x8]
- bl StartSpriteAnim
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810CF04
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- b _0810CF0C
- .pool
-_0810CF04:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A6980
-_0810CF0C:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CEE0
-
- thumb_func_start sub_810CF30
-sub_810CF30: @ 810CF30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r9, r0
- cmp r1, 0
- bne _0810CF54
- ldr r0, =gBattleAnimAttacker
- b _0810CF56
- .pool
-_0810CF54:
- ldr r0, =gBattleAnimTarget
-_0810CF56:
- ldrb r0, [r0]
- mov r8, r0
- mov r4, r9
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _0810CF74
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x4]
-_0810CF74:
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAnim
- mov r0, r8
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- mov r0, r8
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- mov r0, r8
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r6, r1, 16
- mov r0, r8
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0810CFBE
- adds r0, 0x3
-_0810CFBE:
- lsls r4, r0, 14
- lsrs r4, 16
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- bl __modsi3
- lsls r0, 16
- lsrs r6, r0, 16
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- asrs r4, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r4, r0, 16
- bl Random2
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _0810D000
- lsls r0, r6, 16
- negs r0, r0
- lsrs r6, r0, 16
-_0810D000:
- bl Random2
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _0810D012
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_0810D012:
- ldr r0, =gBattlerPositions
- add r0, r8
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0810D028
- lsls r0, r4, 16
- ldr r1, =0xfff00000
- adds r0, r1
- lsrs r4, r0, 16
-_0810D028:
- lsls r0, r6, 16
- asrs r0, 16
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r3, [r5, 0x22]
- adds r0, r3
- strh r0, [r5, 0x22]
- mov r1, r9
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, =gBasicHitSplatSpriteTemplate
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- adds r3, r5, 0
- adds r3, 0x43
- ldrb r3, [r3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3C]
- cmp r0, 0x40
- beq _0810D08C
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r2, 0x3C
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
-_0810D08C:
- ldr r0, =sub_810D0B8
- str r0, [r5, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CF30
-
- thumb_func_start sub_810D0B8
-sub_810D0B8: @ 810D0B8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _0810D100
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0x40
- beq _0810D0F4
- ldr r4, =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_0810D0F4:
- adds r0, r5, 0
- bl DestroyAnimSprite
- b _0810D104
- .pool
-_0810D100:
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
-_0810D104:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810D0B8
-
- thumb_func_start sub_810D10C
-sub_810D10C: @ 810D10C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810D130
- ldrh r0, [r4, 0x20]
- subs r0, 0x14
- strh r0, [r4, 0x32]
- b _0810D142
- .pool
-_0810D130:
- ldrh r0, [r4, 0x20]
- adds r0, 0x14
- strh r0, [r4, 0x32]
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_0810D142:
- ldrh r0, [r4, 0x22]
- subs r0, 0x14
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =sub_810D164
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D10C
-
- thumb_func_start sub_810D164
-sub_810D164: @ 810D164
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _0810D1A4
- ldrh r2, [r5, 0x20]
- ldrh r4, [r5, 0x24]
- subs r0, r2, r4
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x22]
- ldrh r3, [r5, 0x26]
- subs r0, r1, r3
- strh r0, [r5, 0x36]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- adds r2, r4
- strh r2, [r5, 0x20]
- adds r1, r3
- strh r1, [r5, 0x22]
- strh r6, [r5, 0x26]
- strh r6, [r5, 0x24]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
-_0810D1A4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D164
-
- thumb_func_start sub_810D1B4
-sub_810D1B4: @ 810D1B4
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- ldr r2, =gBattleAnimTarget
- eors r0, r1
- ldrb r1, [r2]
- cmp r0, r1
- bne _0810D1E0
- ldrb r0, [r2]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0810D1E0
- ldr r1, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
-_0810D1E0:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810D1FE
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_0810D1FE:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x6]
- movs r5, 0
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl InitAnimLinearTranslation
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x3A]
- strh r5, [r6, 0x3C]
- ldr r0, =sub_810D240
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D1B4
-
- thumb_func_start sub_810D240
-sub_810D240: @ 810D240
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _0810D26C
- ldrh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 24
- 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
- strh r0, [r4, 0x3C]
- b _0810D272
-_0810D26C:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810D272:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810D240
-
- thumb_func_start sub_810D278
-sub_810D278: @ 810D278
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r5, =gBattleAnimArgs
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =sub_810D2B0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D278
-
- thumb_func_start sub_810D2B0
-sub_810D2B0: @ 810D2B0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D2B0
-
- thumb_func_start sub_810D2E4
-sub_810D2E4: @ 810D2E4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, =sub_810D308
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D2E4
-
- thumb_func_start sub_810D308
-sub_810D308: @ 810D308
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810D34C
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- 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]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =sub_810D360
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
-_0810D34C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D308
-
- thumb_func_start sub_810D360
-sub_810D360: @ 810D360
- push {lr}
- movs r1, 0xF
- strh r1, [r0, 0x2E]
- ldr r1, =sub_80A64B0
- str r1, [r0, 0x1C]
- ldr r1, =DestroyAnimSprite
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D360
-
- thumb_func_start sub_810D37C
-sub_810D37C: @ 810D37C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810D3A8
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810D404
- .pool
-_0810D3A8:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x64
- ble _0810D3F6
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0810D3F6:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _0810D404
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810D404:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810D37C
-
- thumb_func_start sub_810D40C
-sub_810D40C: @ 810D40C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810D428
- ldr r4, =gBattleAnimAttacker
- b _0810D42A
- .pool
-_0810D428:
- ldr r4, =gBattleAnimTarget
-_0810D42A:
- 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]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- movs r2, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r1, 0x4]
- ldrh r3, [r5, 0x22]
- adds r0, r3
- strh r0, [r5, 0x22]
- strh r2, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldr r0, =sub_810D47C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D40C
-
- thumb_func_start sub_810D47C
-sub_810D47C: @ 810D47C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- cmp r2, 0
- beq _0810D48E
- cmp r2, 0x1
- beq _0810D4B2
- b _0810D4EC
-_0810D48E:
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _0810D4EC
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0810D4AA
- adds r0, r1, 0
- bl DestroyAnimSprite
- b _0810D4EC
-_0810D4AA:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _0810D4EC
-_0810D4B2:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810D4DA
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r0, [r1, 0x34]
- adds r0, 0x1
- strh r0, [r1, 0x34]
- ands r0, r2
- lsls r0, 16
- cmp r0, 0
- beq _0810D4D6
- movs r0, 0x2
- b _0810D4D8
-_0810D4D6:
- ldr r0, =0x0000fffe
-_0810D4D8:
- strh r0, [r1, 0x24]
-_0810D4DA:
- ldrh r0, [r1, 0x32]
- subs r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- cmp r0, 0
- bne _0810D4EC
- adds r0, r1, 0
- bl DestroyAnimSprite
-_0810D4EC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D47C
-
- thumb_func_start sub_810D4F4
-sub_810D4F4: @ 810D4F4
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810D520
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x4]
- adds r0, r2
- b _0810D532
- .pool
-_0810D520:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
-_0810D532:
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x22]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldr r3, =gBattleAnimArgs
- movs r4, 0x2
- ldrsh r0, [r3, r4]
- lsls r0, 4
- adds r1, r0
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r1, 0
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- cmp r0, 0x1
- beq _0810D5A0
- cmp r0, 0x1
- bgt _0810D58C
- cmp r0, 0
- beq _0810D596
- b _0810D5C6
- .pool
-_0810D58C:
- cmp r0, 0x2
- beq _0810D5B0
- cmp r0, 0x3
- beq _0810D5C0
- b _0810D5C6
-_0810D596:
- ldr r0, =0x0000fffd
- b _0810D5C0
- .pool
-_0810D5A0:
- movs r0, 0x3
- strh r0, [r5, 0x3A]
- ldr r0, =0x0000fffd
- strh r0, [r5, 0x3C]
- b _0810D5CE
- .pool
-_0810D5B0:
- ldr r0, =0x0000fffd
- strh r0, [r5, 0x3A]
- movs r0, 0x3
- strh r0, [r5, 0x3C]
- b _0810D5CE
- .pool
-_0810D5C0:
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x3C]
- b _0810D5CE
-_0810D5C6:
- adds r0, r5, 0
- bl DestroyAnimSprite
- b _0810D5D2
-_0810D5CE:
- ldr r0, =sub_810D5DC
- str r0, [r5, 0x1C]
-_0810D5D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D4F4
-
- thumb_func_start sub_810D5DC
-sub_810D5DC: @ 810D5DC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x3A]
- ldrh r2, [r1, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x3C]
- ldrh r2, [r1, 0x22]
- adds r0, r2
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _0810D604
- adds r0, r1, 0
- bl DestroyAnimSprite
-_0810D604:
- pop {r0}
- bx r0
- thumb_func_end sub_810D5DC
-
- thumb_func_start sub_810D608
-sub_810D608: @ 810D608
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810D664
- ldr r4, =gBattlerAttacker
- 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 r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldr r0, =gBattleAnimTarget
- b _0810D680
- .pool
-_0810D664:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldr r0, =gBattleAnimAttacker
-_0810D680:
- ldrb r0, [r0]
- strh r0, [r5, 0x3C]
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r0, 0xC
- strh r0, [r5, 0x30]
- movs r0, 0x8
- strh r0, [r5, 0x32]
- ldr r0, =sub_810D6A8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D608
-
- thumb_func_start sub_810D6A8
-sub_810D6A8: @ 810D6A8
- 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, 0xB4
- bne _0810D704
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6F98
- str r0, [r4, 0x1C]
-_0810D704:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D6A8
-
- thumb_func_start sub_810D714
-sub_810D714: @ 810D714
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4]
- strh r0, [r5, 0x20]
- movs r2, 0x78
- strh r2, [r5, 0x22]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- adds r0, 0x36
- adds r1, r5, 0
- adds r1, 0x38
- lsls r2, 8
- bl sub_80A8048
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r0, =sub_810D770
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D714
-
- thumb_func_start sub_810D770
-sub_810D770: @ 810D770
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _0810D7C2
- movs r2, 0x36
- ldrsh r0, [r7, r2]
- movs r2, 0x38
- ldrsh r1, [r7, r2]
- bl sub_80A8050
- adds r4, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r7, r1]
- subs r4, r0
- adds r0, r7, 0
- adds r0, 0x36
- adds r1, r7, 0
- adds r1, 0x38
- adds r2, r4, 0
- bl sub_80A8048
- asrs r4, 8
- strh r4, [r7, 0x22]
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x8
- negs r0, r0
- cmp r4, r0
- bge _0810D7BA
- adds r0, r7, 0
- bl DestroyAnimSprite
- b _0810D818
-_0810D7BA:
- ldrh r0, [r7, 0x2E]
- subs r0, 0x1
- strh r0, [r7, 0x2E]
- b _0810D818
-_0810D7C2:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r2, =gBattleAnimTarget
- mov r8, r2
- ldrb r0, [r2]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- subs r4, r6
- strh r4, [r7, 0x2E]
- lsrs r0, 24
- subs r0, r5
- strh r0, [r7, 0x30]
- ldrh r0, [r7, 0x20]
- lsls r0, 4
- strh r0, [r7, 0x32]
- ldrh r0, [r7, 0x22]
- lsls r0, 4
- strh r0, [r7, 0x34]
- ldr r0, =sub_810D830
- str r0, [r7, 0x1C]
-_0810D818:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D770
-
- thumb_func_start sub_810D830
-sub_810D830: @ 810D830
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x34]
- adds r1, r3
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _0810D86A
- adds r1, r3, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0810D86A
- cmp r1, 0x78
- ble _0810D870
-_0810D86A:
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810D870:
- pop {r0}
- bx r0
- thumb_func_end sub_810D830
-
- thumb_func_start sub_810D874
-sub_810D874: @ 810D874
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810D8B8
- ldr r4, =gBattlerAttacker
- 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 r0, =gBattleAnimTarget
- ldrb r4, [r0]
- ldr r0, =gBattleAnimAttacker
- b _0810D8BE
- .pool
-_0810D8B8:
- ldr r0, =gBattleAnimAttacker
- ldrb r4, [r0]
- ldr r0, =gBattleAnimTarget
-_0810D8BE:
- ldrb r0, [r0]
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810D8F8
- ldrb r2, [r5, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x47
- b _0810D912
- .pool
-_0810D8F8:
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810D918
- ldrb r2, [r5, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x18
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x57
-_0810D912:
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
-_0810D918:
- movs r0, 0x10
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A6F98
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D874
-
- thumb_func_start sub_810D960
-sub_810D960: @ 810D960
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0810D976
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810D976:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810D960
-
- thumb_func_start sub_810D984
-sub_810D984: @ 810D984
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimTarget
- 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 r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1]
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x36]
- ldr r0, =gAnimMoveTurn
- ldrb r6, [r0]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810D9CE
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0810D9CE:
- movs r0, 0x1
- ands r6, r0
- cmp r6, 0
- beq _0810D9E2
- ldrh r0, [r5, 0x32]
- negs r0, r0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
-_0810D9E2:
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x32]
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x34]
- strh r0, [r5, 0x26]
- ldr r0, =sub_810D960
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810D984
-
- thumb_func_start sub_810DA10
-sub_810DA10: @ 810DA10
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810DA2C
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A69CC
- b _0810DA34
- .pool
-_0810DA2C:
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A6980
-_0810DA34:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810DA48
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- b _0810DA5E
-_0810DA48:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810DA5E
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_0810DA5E:
- ldr r0, =sub_80A67D8
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DA10
-
- thumb_func_start sub_810DA7C
-sub_810DA7C: @ 810DA7C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810DAB6
- ldrh r0, [r4, 0x30]
- adds r0, 0x28
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _0810DAB6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810DAB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810DA7C
-
- thumb_func_start sub_810DABC
-sub_810DABC: @ 810DABC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0810DAF4
- cmp r0, 0x1
- bgt _0810DB0E
- cmp r0, 0
- bne _0810DB0E
- movs r0, 0
- bl sub_80A6DAC
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x18]
- b _0810DB06
- .pool
-_0810DAF4:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810DB1A
-_0810DB06:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810DB1A
-_0810DB0E:
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r4, 0x1A]
- adds r0, r1
- strh r0, [r4, 0x1A]
-_0810DB1A:
- movs r2, 0xB0
- lsls r2, 4
- adds r0, r2, 0
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810DB50
- ldr r1, =gBattle_BG3_X
- ldrh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- adds r7, r1, 0
- b _0810DB60
- .pool
-_0810DB50:
- ldr r2, =gBattle_BG3_X
- ldrh r1, [r4, 0x1A]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- adds r7, r2, 0
-_0810DB60:
- ldr r3, =gBattle_BG3_Y
- ldrh r2, [r4, 0x1C]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- movs r0, 0xFF
- ldrb r1, [r4, 0x1A]
- movs r5, 0
- strh r1, [r4, 0x1A]
- ands r0, r2
- strh r0, [r4, 0x1C]
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0810DB98
- strh r5, [r7]
- strh r5, [r3]
- movs r0, 0x1
- bl sub_80A6DAC
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0810DB98:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DABC
-
- thumb_func_start sub_810DBAC
-sub_810DBAC: @ 810DBAC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810DBC2
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_0810DBC2:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x2E]
- 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]
- ldr r0, =0x0000ffe2
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80A68D4
- ldr r0, =sub_810DC10
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DBAC
-
- thumb_func_start sub_810DC10
-sub_810DC10: @ 810DC10
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0810DC24
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810DC24:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810DC10
-
- thumb_func_start sub_810DC2C
-sub_810DC2C: @ 810DC2C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810DC44
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_0810DC44:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- mov r6, sp
- adds r6, 0x2
- movs r1, 0x1
- mov r2, sp
- adds r3, r6, 0
- bl SetAverageBattlerPositions
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810DC72
- ldrh r0, [r5, 0x8]
- negs r0, r0
- strh r0, [r5, 0x8]
-_0810DC72:
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- mov r1, sp
- ldrh r0, [r5, 0x8]
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- ldrh r6, [r6]
- adds r0, r6
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffe2
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80A68D4
- ldr r0, =sub_810DCB4
- str r0, [r4, 0x1C]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DC2C
-
- thumb_func_start sub_810DCB4
-sub_810DCB4: @ 810DCB4
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0810DCC8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810DCC8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810DCB4
-
- thumb_func_start sub_810DCD0
-sub_810DCD0: @ 810DCD0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80A6E14
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x38]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x3A]
- ldr r0, =sub_810DD24
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DCD0
-
- thumb_func_start sub_810DD24
-sub_810DD24: @ 810DD24
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A656C
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x3A]
- subs r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810DD4A
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810DD4A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810DD24
-
- thumb_func_start sub_810DD50
-sub_810DD50: @ 810DD50
- push {r4,lr}
- adds r4, r0, 0
- 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 _0810DD7C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_0810DD7C:
- ldr r0, =gBattleAnimArgs
- ldrh r2, [r0]
- ldrh r1, [r4, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- ldrh r1, [r0, 0x2]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- ldrh r3, [r0, 0x8]
- strh r3, [r4, 0x2E]
- ldrh r0, [r0, 0x4]
- adds r2, r0
- strh r2, [r4, 0x32]
- adds r1, r3
- strh r1, [r4, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DD50
-
- thumb_func_start sub_810DDC4
-sub_810DDC4: @ 810DDC4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810DDE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- b _0810DE16
- .pool
-_0810DDE0:
- 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 _0810DE06
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_0810DE06:
- 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]
-_0810DE16:
- ldr r0, =sub_810DE2C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DDC4
-
- thumb_func_start sub_810DE2C
-sub_810DE2C: @ 810DE2C
- 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]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810DE68
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810DE68:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810DE2C
-
- thumb_func_start sub_810DE70
-sub_810DE70: @ 810DE70
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80A6980
- ldrh r0, [r4, 0x22]
- adds r0, 0x14
- strh r0, [r4, 0x22]
- movs r0, 0xBF
- strh r0, [r4, 0x30]
- ldr r1, =sub_810DE98
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DE70
-
- thumb_func_start sub_810DE98
-sub_810DE98: @ 810DE98
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x47
- bne _0810DED2
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810DED2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810DE98
-
- thumb_func_start sub_810DED8
-sub_810DED8: @ 810DED8
- 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 r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x8]
- ldrh r0, [r1]
- strh r0, [r4, 0xA]
- ldr r0, =0x00002719
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- ldr r0, =sub_810DF18
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DED8
-
- thumb_func_start sub_810DF18
-sub_810DF18: @ 810DF18
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xA
- ldrsh r1, [r3, r4]
- adds r7, r2, 0
- cmp r0, r1
- bne _0810DF76
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrb r0, [r3, 0xC]
- ldr r2, =gPlttBufferFaded
- lsls r0, 4
- movs r3, 0x84
- lsls r3, 1
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r2
- ldrh r6, [r1]
- movs r4, 0x7
- mov r12, r0
- ldr r0, =0x00000107
- add r0, r12
- lsls r0, 1
- adds r3, r0, r2
-_0810DF5E:
- ldrh r0, [r3]
- strh r0, [r1]
- subs r3, 0x2
- subs r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bgt _0810DF5E
- ldr r0, =0x00000101
- add r0, r12
- lsls r0, 1
- adds r0, r2
- strh r6, [r0]
-_0810DF76:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _0810DF90
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0810DF90:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DF18
-
- thumb_func_start sub_810DFA8
-sub_810DFA8: @ 810DFA8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810DFC8
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_0810DFC8:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_80A67BC
- str r0, [r6, 0x1C]
- ldr r1, =sub_810E028
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810DFA8
-
- thumb_func_start sub_810E028
-sub_810E028: @ 810E028
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _0810E03C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810E03C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810E028
-
- thumb_func_start sub_810E044
-sub_810E044: @ 810E044
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810E070
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_0810E070:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810E088
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0x6]
- negs r1, r1
- strh r1, [r0, 0x6]
-_0810E088:
- 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
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- ldrh r3, [r5, 0x20]
- adds r1, r3
- strh r1, [r5, 0x20]
- lsrs r0, 24
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r0, [r2, 0x8]
- strh r0, [r5, 0x2E]
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _0810E0EC
- 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 _0810E0FE
- .pool
-_0810E0EC:
- 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
-_0810E0FE:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x4]
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x6]
- ldrh r3, [r5, 0x36]
- adds r0, r3
- strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldrb r1, [r4, 0xA]
- adds r0, r5, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E044
-
- thumb_func_start sub_810E13C
-sub_810E13C: @ 810E13C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, =sub_810E184
- str r0, [r4, 0x1C]
- movs r0, 0
- 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, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E13C
-
- thumb_func_start sub_810E184
-sub_810E184: @ 810E184
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _0810E198
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _0810E1AA
-_0810E198:
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
-_0810E1AA:
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _0810E1C2
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810E1C2:
- pop {r0}
- bx r0
- thumb_func_end sub_810E184
-
- thumb_func_start sub_810E1C8
-sub_810E1C8: @ 810E1C8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810E1F8
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldr r0, =0x0000ffe0
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _0810E1FE
- .pool
-_0810E1F8:
- ldr r0, =0x0000ffe0
- strh r0, [r5, 0x20]
- strh r0, [r5, 0x22]
-_0810E1FE:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- 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
- ldr r0, =sub_810E24C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E1C8
-
- thumb_func_start sub_810E24C
-sub_810E24C: @ 810E24C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl TranslateAnimLinear
- ldrh r1, [r4, 0x34]
- lsrs r0, r1, 8
- cmp r0, 0xC8
- bls _0810E274
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0x24]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
-_0810E274:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x20
- movs r1, 0x98
- lsls r1, 1
- cmp r0, r1
- bhi _0810E296
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0xA0
- ble _0810E2BC
-_0810E296:
- movs r0, 0
- 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, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810E2BC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E24C
-
- thumb_func_start sub_810E2C8
-sub_810E2C8: @ 810E2C8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _0810E308
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810E2FA
- 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]
-_0810E2FA:
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_0810E308:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E2C8
-
- thumb_func_start sub_810E314
-sub_810E314: @ 810E314
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r5, r7, 0
- adds r5, 0x2E
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _0810E33C
- ldr r0, =gBattleAnimAttacker
- b _0810E33E
- .pool
-_0810E33C:
- ldr r0, =gBattleAnimTarget
-_0810E33E:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810E354
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_0810E354:
- adds r0, r6, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r7, 0x20]
- adds r0, r6, 0
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldrh r1, [r4, 0x2]
- lsrs r0, 24
- adds r1, r0, r1
- strh r1, [r7, 0x22]
- lsls r1, 8
- strh r1, [r5, 0x8]
- ldrh r1, [r4, 0xC]
- adds r0, r1
- lsls r0, 1
- ldrh r2, [r5, 0xE]
- movs r1, 0x1
- ands r1, r2
- orrs r1, r0
- strh r1, [r5, 0xE]
- ldrb r0, [r5]
- movs r2, 0x4
- mov r8, r2
- mov r1, r8
- orrs r0, r1
- strb r0, [r5]
- ldrh r0, [r4, 0x4]
- ldrb r1, [r4, 0x4]
- strh r1, [r5, 0x2]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x4]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x6]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0xC]
- subs r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x7F
- bhi _0810E44A
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E3F0
- adds r0, r6, 0
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r7, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x5]
- b _0810E408
- .pool
-_0810E3F0:
- adds r0, r6, 0
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
-_0810E408:
- ldrb r1, [r5, 0xE]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r5, 0xE]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- bne _0810E4AA
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r0, r2, 31
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- b _0810E4A2
-_0810E44A:
- adds r0, r6, 0
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- ldrb r0, [r5, 0xE]
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r5, 0xE]
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0810E4AA
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- ands r1, r4
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- mov r2, r8
- orrs r0, r2
-_0810E4A2:
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
-_0810E4AA:
- ldrh r1, [r5, 0x2]
- lsrs r1, 6
- lsls r1, 4
- ldrb r2, [r5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldr r3, =gSineTable
- ldrh r0, [r5, 0x2]
- lsls r0, 1
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldrb r0, [r5, 0xC]
- muls r0, r1
- asrs r0, 8
- strh r0, [r7, 0x24]
- ldrb r2, [r7, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r1, 0x24
- ldrsh r0, [r7, r1]
- negs r0, r0
- asrs r0, 1
- ldrb r5, [r5, 0xA]
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r4, [r1]
- ldr r1, =gOamMatrices
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r4, [r2, 0x2]
- lsls r0, r4, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldr r0, =sub_810E520
- str r0, [r7, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E314
-
- thumb_func_start sub_810E520
-sub_810E520: @ 810E520
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r6, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrb r2, [r4]
- movs r7, 0x1
- movs r0, 0x1
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- beq _0810E55A
- ldrb r0, [r4, 0x1]
- adds r1, r0, 0
- adds r1, 0xFF
- strb r1, [r4, 0x1]
- lsls r0, 24
- cmp r0, 0
- beq _0810E54E
- b _0810EA36
-_0810E54E:
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810EA36
-_0810E55A:
- ldrh r0, [r4, 0x2]
- lsrs r1, r0, 6
- mov r12, r0
- cmp r1, 0x1
- bne _0810E566
- b _0810E68A
-_0810E566:
- cmp r1, 0x1
- bgt _0810E570
- cmp r1, 0
- beq _0810E57E
- b _0810E97C
-_0810E570:
- cmp r1, 0x2
- bne _0810E576
- b _0810E77E
-_0810E576:
- cmp r1, 0x3
- bne _0810E57C
- b _0810E872
-_0810E57C:
- b _0810E97C
-_0810E57E:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _0810E592
- movs r0, 0x8
- orrs r0, r2
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810E680
-_0810E592:
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _0810E5B4
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- strb r1, [r4]
- strb r6, [r4, 0x1]
- b _0810E680
-_0810E5B4:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E680
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E672
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E642
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E628
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E660
-_0810E628:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E660
-_0810E642:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E656
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E65E
-_0810E656:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E65E:
- strb r0, [r1]
-_0810E660:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E672:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E680:
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- strb r0, [r4]
- b _0810E97C
-_0810E68A:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0
- bne _0810E698
- movs r0, 0x8
- orrs r0, r2
- b _0810E6A0
-_0810E698:
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _0810E6A8
- adds r0, r2, 0
-_0810E6A0:
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810E774
-_0810E6A8:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E774
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E766
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E736
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E71C
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E754
-_0810E71C:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E754
-_0810E736:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E74A
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E752
-_0810E74A:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E752:
- strb r0, [r1]
-_0810E754:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E766:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E774:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x10
- b _0810E978
-_0810E77E:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _0810E78C
- movs r0, 0x8
- orrs r0, r2
- b _0810E794
-_0810E78C:
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _0810E79C
- adds r0, r2, 0
-_0810E794:
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810E868
-_0810E79C:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E868
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E85A
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E82A
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E810
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E848
-_0810E810:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E848
-_0810E82A:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E83E
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E846
-_0810E83E:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E846:
- strb r0, [r1]
-_0810E848:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E85A:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E868:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x20
- b _0810E978
-_0810E872:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _0810E882
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r4]
- b _0810E970
-_0810E882:
- lsrs r0, r1, 28
- cmp r0, 0
- bne _0810E8A4
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- strb r1, [r4]
- strb r6, [r4, 0x1]
- b _0810E970
-_0810E8A4:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E970
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E962
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E932
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E918
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E950
-_0810E918:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E950
-_0810E932:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E946
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E94E
-_0810E946:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E94E:
- strb r0, [r1]
-_0810E950:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E962:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E970:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x30
-_0810E978:
- orrs r1, r0
- strb r1, [r4]
-_0810E97C:
- ldrb r1, [r4]
- lsls r1, 30
- lsrs r1, 31
- adds r0, r4, 0
- adds r0, 0xC
- adds r0, r1
- ldrb r1, [r0]
- ldr r3, =gSineTable
- mov r2, r12
- lsls r0, r2, 1
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x24]
- ldrb r2, [r5, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- negs r0, r0
- asrs r0, 1
- ldrb r1, [r4, 0xA]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r6, [r1]
- ldr r1, =gOamMatrices
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r6, [r2, 0x2]
- lsls r0, r6, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldrh r0, [r4, 0x6]
- ldrh r2, [r4, 0x8]
- adds r0, r2
- strh r0, [r4, 0x8]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0810EA0C
- ldrh r0, [r4, 0x4]
- subs r1, 0x1
- ands r1, r0
- ldrh r0, [r4, 0x2]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2]
- b _0810EA1C
- .pool
-_0810EA0C:
- ldrh r0, [r4, 0x4]
- ldr r1, =0x00007fff
- ands r1, r0
- ldrh r2, [r4, 0x2]
- adds r1, r2
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x2]
-_0810EA1C:
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r0, [r4, 0xE]
- lsrs r0, 1
- cmp r1, r0
- blt _0810EA36
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_810E2C8
- str r0, [r5, 0x1C]
-_0810EA36:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E520
-
- thumb_func_start sub_810EA4C
-sub_810EA4C: @ 810EA4C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- 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]
- 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_810EA4C
-
- thumb_func_start sub_810EAA0
-sub_810EAA0: @ 810EAA0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810EABC
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A69CC
- b _0810EAC4
- .pool
-_0810EABC:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A6980
-_0810EAC4:
- ldr r4, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0810EADC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810EAF2
-_0810EADC:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0810EAF8
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810EAF8
-_0810EAF2:
- ldrh r0, [r5, 0x20]
- adds r0, 0x8
- strh r0, [r5, 0x20]
-_0810EAF8:
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x8]
- adds r0, r5, 0
- bl SeekSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x20
- strh r0, [r5, 0x20]
- ldr r0, =0x00000ccc
- strh r0, [r5, 0x30]
- ldrh r1, [r4, 0x8]
- movs r0, 0xC
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- ldrh r2, [r5, 0x24]
- adds r0, r2
- strh r0, [r5, 0x24]
- strh r1, [r5, 0x2E]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x3C]
- ldr r0, =sub_810EB40
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EAA0
-
- thumb_func_start sub_810EB40
-sub_810EB40: @ 810EB40
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _0810EB6A
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl StartSpriteAnim
-_0810EB6A:
- 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 _0810EB82
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810EB82:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810EB40
-
- thumb_func_start sub_810EB88
-sub_810EB88: @ 810EB88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- ldrh r0, [r7, 0x8]
- movs r1, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _0810EC02
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- movs r5, 0xD
- negs r5, r5
- adds r1, r5, 0
- bl Sin
- ldr r4, =gBattleAnimArgs
- strh r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- adds r1, r5, 0
- bl Cos
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r4, 0x4]
- movs r0, 0x3
- strh r0, [r4, 0x6]
- ldr r0, =gUnknown_085973E8
- mov r8, r0
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0x3
- bl CreateSpriteAndAnimate
-_0810EC02:
- ldrh r0, [r7, 0x8]
- adds r0, 0x8
- strh r0, [r7, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _0810EC16
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0810EC16:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EB88
-
- thumb_func_start sub_810EC34
-sub_810EC34: @ 810EC34
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810EC46
- cmp r0, 0x1
- beq _0810EC78
- b _0810EC8C
-_0810EC46:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A69CC
- movs r0, 0
- 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, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810EC8C
- .pool
-_0810EC78:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810EC8C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810EC8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810EC34
-
- thumb_func_start sub_810EC94
-sub_810EC94: @ 810EC94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0810ECCC
- cmp r0, 0x1
- bgt _0810ECAA
- cmp r0, 0
- beq _0810ECB0
- b _0810ED1E
-_0810ECAA:
- cmp r0, 0x2
- beq _0810ECE0
- b _0810ED1E
-_0810ECB0:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r4, 0x26]
- b _0810ECD8
- .pool
-_0810ECCC:
- ldrh r0, [r4, 0x26]
- adds r0, 0xA
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _0810ED1E
-_0810ECD8:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810ED1E
-_0810ECE0:
- ldrh r0, [r4, 0x26]
- subs r0, 0xA
- strh r0, [r4, 0x26]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _0810ED1E
- movs r0, 0
- 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, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810ED1E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EC94
-
- thumb_func_start sub_810ED28
-sub_810ED28: @ 810ED28
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, =sub_810ED70
- str r0, [r4, 0x1C]
- movs r0, 0
- 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, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ED28
-
- thumb_func_start sub_810ED70
-sub_810ED70: @ 810ED70
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _0810ED84
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _0810EDC8
-_0810ED84:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _0810EDAA
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
- b _0810EDC8
-_0810EDAA:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x34]
- adds r1, r0, 0x1
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0810EDC8
- ldr r0, =sub_810EDD0
- str r0, [r2, 0x1C]
-_0810EDC8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ED70
-
- thumb_func_start sub_810EDD0
-sub_810EDD0: @ 810EDD0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _0810EE00
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_0810EE00:
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _0810EE0E
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810EE0E:
- pop {r0}
- bx r0
- thumb_func_end sub_810EDD0
-
- thumb_func_start sub_810EE14
-sub_810EE14: @ 810EE14
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0810EE28
- cmp r0, 0x1
- beq _0810EE80
- b _0810EEEC
-_0810EE28:
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _0810EE40
- ldr r4, =gBattleAnimAttacker
- b _0810EE42
- .pool
-_0810EE40:
- ldr r4, =gBattleAnimTarget
-_0810EE42:
- 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]
- movs r0, 0
- movs r3, 0x80
- lsls r3, 2
- strh r3, [r5, 0x30]
- movs r2, 0x80
- lsls r2, 1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A73E0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _0810EEEC
- .pool
-_0810EE80:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0xB
- bgt _0810EE8E
- ldrh r0, [r5, 0x30]
- subs r0, 0x28
- b _0810EE92
-_0810EE8E:
- ldrh r0, [r5, 0x30]
- adds r0, 0x28
-_0810EE92:
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x32]
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x30
- ldrsh r3, [r5, r0]
- str r1, [sp]
- adds r0, r5, 0
- bl sub_80A73E0
- ldrb r1, [r5, 0x3]
- lsls r1, 26
- lsrs r1, 27
- movs r0, 0xF4
- lsls r0, 6
- ldr r2, =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- adds r1, r0, 0x1
- cmp r1, 0x80
- ble _0810EECC
- movs r1, 0x80
-_0810EECC:
- movs r0, 0x40
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r1, r0, 1
- strh r1, [r5, 0x26]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x18
- bne _0810EEEC
- adds r0, r5, 0
- bl sub_80A749C
- adds r0, r5, 0
- bl DestroyAnimSprite
-_0810EEEC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EE14
-
- thumb_func_start sub_810EEF8
-sub_810EEF8: @ 810EEF8
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random2
- ldr r4, =0x000001ff
- ands r4, r0
- bl Random2
- movs r1, 0x7F
- ands r1, r0
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0810EF20
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r4, r2
- b _0810EF28
- .pool
-_0810EF20:
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r4
-_0810EF28:
- strh r0, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810EF3C
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- adds r0, r1, r0
- b _0810EF44
-_0810EF3C:
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r1
-_0810EF44:
- strh r0, [r5, 0x30]
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- beq _0810EF60
- ldrb r0, [r5, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r5, 0x3]
-_0810EF60:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _0810EF74
- ldr r4, =gBattleAnimAttacker
- b _0810EF76
- .pool
-_0810EF74:
- ldr r4, =gBattleAnimTarget
-_0810EF76:
- 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
- adds r0, 0x20
- strh r0, [r5, 0x22]
- ldr r0, =sub_810EFA8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EEF8
-
- thumb_func_start sub_810EFA8
-sub_810EFA8: @ 810EFA8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810EFC0
- ldrh r3, [r4, 0x2E]
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- b _0810EFCA
-_0810EFC0:
- ldrh r3, [r4, 0x2E]
- lsls r1, r3, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
-_0810EFCA:
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x30]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- strh r3, [r4, 0x2E]
- adds r0, r2, 0
- subs r0, 0x20
- strh r0, [r4, 0x30]
- lsls r0, r3, 16
- cmp r0, 0
- bge _0810EFEA
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0810EFEA:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _0810EFFE
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810EFFE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810EFA8
-
- thumb_func_start sub_810F004
-sub_810F004: @ 810F004
- movs r1, 0
- strh r1, [r0, 0x3A]
- movs r1, 0x40
- strh r1, [r0, 0x3C]
- ldr r1, =sub_810F018
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_810F004
-
- thumb_func_start sub_810F018
-sub_810F018: @ 810F018
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _0810F02A
- cmp r1, 0x1
- beq _0810F078
- b _0810F07E
-_0810F02A:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0810F07E
- strh r1, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- 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, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0810F07E
- ldrb r1, [r1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810F07E
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _0810F07E
-_0810F078:
- adds r0, r3, 0
- bl DestroyAnimSprite
-_0810F07E:
- pop {r0}
- bx r0
- thumb_func_end sub_810F018
-
- thumb_func_start sub_810F084
-sub_810F084: @ 810F084
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- ldrh r4, [r0, 0x20]
- ldrh r5, [r0, 0x22]
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- mov r2, r8
- strh r6, [r2, 0x22]
- ldrh r0, [r2, 0x20]
- mov r9, r0
- mov r1, r9
- lsls r0, r1, 4
- strh r0, [r2, 0x36]
- lsls r0, r6, 4
- strh r0, [r2, 0x38]
- lsls r4, 16
- asrs r4, 16
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- subs r0, r4, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3A]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- subs r0, r5, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3C]
- mov r0, r9
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- subs r5, r6
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl ArcTan2Neg
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x1
- adds r2, r3, 0
- bl sub_80A73E0
- ldr r0, =sub_810F140
- mov r2, r8
- str r0, [r2, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F084
-
- thumb_func_start sub_810F140
-sub_810F140: @ 810F140
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x3C]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x2D
- lsls r0, 16
- movs r1, 0xA5
- lsls r1, 17
- cmp r0, r1
- bhi _0810F17A
- adds r1, r3, 0
- cmp r1, 0x9D
- bgt _0810F17A
- movs r0, 0x2D
- negs r0, r0
- cmp r1, r0
- bge _0810F180
-_0810F17A:
- adds r0, r2, 0
- bl move_anim_8074EE0
-_0810F180:
- pop {r0}
- bx r0
- thumb_func_end sub_810F140
-
- thumb_func_start sub_810F184
-sub_810F184: @ 810F184
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810F1BC
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- b _0810F1DA
- .pool
-_0810F1BC:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
-_0810F1DA:
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F184
-
- 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 sub_80A69CC
- 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 move_anim_8074EE0
-_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, =sub_80A67D8
- 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, =sub_80A67D8
- 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
- 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 sub_80A7CFC
- 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 sub_80A7D34
- 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 sub_80A7CFC
- 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 sub_80A7D34
- 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 sub_80A7344
- 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 sub_80A68D4
- 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 duplicate_obj_of_side_rel2move_in_transparent_mode
- 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 obj_id_set_rotscale
- 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 obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80A7EC0
- 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 obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80A7EC0
- 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
-
- thumb_func_start sub_8110368
-sub_8110368: @ 8110368
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08110394
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x4]
- negs r1, r1
- strh r1, [r0, 0x4]
- ldrh r1, [r0]
- negs r1, r1
- strh r1, [r0]
- b _081103C4
- .pool
-_08110394:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081103C4
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_081103C4:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord2
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord2
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r6, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110368
-
- thumb_func_start sub_8110438
-sub_8110438: @ 8110438
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0811045C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _08110478
- .pool
-_0811045C:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08110478
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0]
- negs r1, r1
- strh r1, [r0]
-_08110478:
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord2
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord2
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x2E]
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r6, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110438
-
- thumb_func_start sub_81104E4
-sub_81104E4: @ 81104E4
- push {r4,r5,lr}
- adds r5, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08110500
- ldr r0, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- strh r1, [r0, 0x4]
-_08110500:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08110548
- 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 _0811055A
- .pool
-_08110548:
- 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
-_0811055A:
- adds r0, r5, 0
- bl sub_80A6FD4
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r5, 0x38]
- ldr r0, =sub_811057C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81104E4
-
- thumb_func_start sub_811057C
-sub_811057C: @ 811057C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08110592
- adds r0, r4, 0
- bl DestroyAnimSprite
- b _081105AE
-_08110592:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3A]
- adds r0, 0xD
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
-_081105AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811057C
-
- thumb_func_start sub_81105B4
-sub_81105B4: @ 81105B4
- push {r4,lr}
- adds r4, r0, 0
- 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 _081105F0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _081105FC
- .pool
-_081105F0:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_081105FC:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08110618
- ldrh r0, [r4, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
-_08110618:
- ldr r0, =sub_8110630
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81105B4
-
- thumb_func_start sub_8110630
-sub_8110630: @ 8110630
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _08110664
- movs r0, 0
- strh r0, [r3, 0x2E]
- 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]
-_08110664:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _08110678
- adds r0, r3, 0
- bl DestroyAnimSprite
-_08110678:
- pop {r0}
- bx r0
- thumb_func_end sub_8110630
-
- thumb_func_start sub_811067C
-sub_811067C: @ 811067C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldr r0, =sub_81106A4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811067C
-
- thumb_func_start sub_81106A4
-sub_81106A4: @ 81106A4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x13
- bgt _081106B8
- adds r0, r1, 0x1
- strh r0, [r4, 0x32]
- b _081106F6
-_081106B8:
- ldrh r1, [r4, 0x30]
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081106F6
- ldrh r1, [r4, 0x2E]
- subs r1, 0x1
- strh r1, [r4, 0x2E]
- 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, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081106F6
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8110700
- str r0, [r4, 0x1C]
-_081106F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81106A4
-
- thumb_func_start sub_8110700
-sub_8110700: @ 8110700
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8110700
-
- thumb_func_start sub_8110720
-sub_8110720: @ 8110720
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08110740
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- b _08110762
- .pool
-_08110740:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08110762
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_08110762:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081107B2
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _081107B2
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- beq _081107A0
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081107B2
-_081107A0:
- ldr r0, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0, 0x4]
- movs r2, 0
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0]
-_081107B2:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- ldr r6, =gBattleAnimArgs
- lsrs r4, 24
- ldrh r0, [r6, 0x4]
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r6, 0x6]
- adds r1, r2
- lsls r1, 16
- ldrh r2, [r7, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r7, 0x22]
- lsrs r5, r1, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2Neg
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_80A73E0
- ldrh r0, [r6, 0x8]
- strh r0, [r7, 0x2E]
- strh r4, [r7, 0x32]
- strh r5, [r7, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r7, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r7, 0
- bl StoreSpriteCallbackInData6
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110720
-
- thumb_func_start sub_8110850
-sub_8110850: @ 8110850
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08110870
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_08110870:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_80A68D4
- ldr r0, =sub_81108CC
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110850
-
- thumb_func_start sub_81108CC
-sub_81108CC: @ 81108CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _081108F8
- adds r0, r4, 0
- bl DestroyAnimSprite
- b _08110988
-_081108F8:
- movs r0, 0x2E
- adds r0, r4
- mov r8, r0
- ldrh r7, [r4, 0x20]
- ldrh r5, [r4, 0x24]
- ldrh r1, [r4, 0x22]
- mov r12, r1
- ldrh r6, [r4, 0x26]
- mov r2, r8
- add r1, sp, 0x4
- movs r3, 0x7
-_0811090E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0811090E
- adds r0, r7, r5
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r12
- adds r0, r2, r6
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- bne _08110988
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- lsls r1, r5, 16
- asrs r1, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r1, r2
- lsls r2, r6, 16
- asrs r2, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl ArcTan2Neg
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_80A73E0
- add r2, sp, 0x4
- mov r1, r8
- movs r3, 0x7
-_0811097A:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0811097A
-_08110988:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81108CC
-
- thumb_func_start sub_8110994
-sub_8110994: @ 8110994
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081109B0
- ldr r4, =gBattleAnimAttacker
- b _081109B2
- .pool
-_081109B0:
- ldr r4, =gBattleAnimTarget
-_081109B2:
- 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
- adds r0, 0x12
- strh r0, [r5, 0x22]
- ldr r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110994
-
- thumb_func_start sub_81109F0
-sub_81109F0: @ 81109F0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _08110A10
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
-_08110A10:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r4, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xE
- strh r0, [r5, 0x22]
- ldrb r1, [r6, 0x2]
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- strh r4, [r5, 0x2E]
- strh r4, [r5, 0x30]
- movs r0, 0x4
- strh r0, [r5, 0x32]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- ldr r0, =0x0000ffba
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x38]
- ldr r1, =sub_8110A70
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =sub_80A6450
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81109F0
-
- thumb_func_start sub_8110A70
-sub_8110A70: @ 8110A70
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x20]
- adds r0, r1, r2
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x4
- strh r0, [r4, 0x32]
- movs r0, 0x20
- strh r0, [r4, 0x34]
- ldr r0, =0x0000ffe8
- strh r0, [r4, 0x36]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =sub_80A6450
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110A70
-
- thumb_func_start sub_8110AB4
-sub_8110AB4: @ 8110AB4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0xA]
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08110AE4
- ldrh r0, [r5, 0x20]
- ldrh r1, [r4]
- subs r0, r1
- b _08110AEA
- .pool
-_08110AE4:
- ldrh r0, [r4]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_08110AEA:
- strh r0, [r5, 0x20]
- ldr r3, =gBattleAnimArgs
- ldrh r2, [r3, 0x2]
- ldrh r0, [r5, 0x22]
- adds r2, r0
- movs r4, 0
- strh r2, [r5, 0x22]
- ldrh r0, [r3, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r1, [r3, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldrh r0, [r3, 0x6]
- adds r2, r0
- strh r2, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A6E14
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- ldr r0, =sub_80A656C
- str r0, [r5, 0x1C]
- ldr r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110AB4
-
- thumb_func_start sub_8110B38
-sub_8110B38: @ 8110B38
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08110B54
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A69CC
- b _08110B5C
- .pool
-_08110B54:
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A6980
-_08110B5C:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, =sub_8110B80
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110B38
-
- thumb_func_start sub_8110B80
-sub_8110B80: @ 8110B80
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08110BC6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08110BC6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8110B80
-
- thumb_func_start AnimTask_LoadSandstormBackground
-AnimTask_LoadSandstormBackground: @ 8110BCC
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- 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 _08110C10
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_08110C10:
- ldr r0, =gBattle_BG1_X
- strh r5, [r0]
- ldr r4, =gBattle_BG1_Y
- strh r5, [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, =gUnknown_08D8D58C
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r1, =gUnknown_08D8D410
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- ldr r0, =gBattleAnimSpritePalette_261
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08110C6E
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08110C6E
- movs r5, 0x1
-_08110C6E:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x8]
- ldr r0, =sub_8110CB0
- str r0, [r1]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_LoadSandstormBackground
-
- thumb_func_start sub_8110CB0
-sub_8110CB0: @ 8110CB0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0
- bne _08110CE4
- ldr r1, =gBattle_BG1_X
- ldr r3, =0x0000fffa
- adds r0, r3, 0
- ldrh r3, [r1]
- adds r0, r3
- b _08110CEA
- .pool
-_08110CE4:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
-_08110CEA:
- strh r0, [r1]
- ldr r1, =gBattle_BG1_Y
- ldr r3, =0x0000ffff
- adds r0, r3, 0
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _08110D0C
- b _08110E3A
-_08110D0C:
- lsls r0, 2
- ldr r1, =_08110D28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08110D28:
- .4byte _08110D3C
- .4byte _08110D7E
- .4byte _08110D98
- .4byte _08110DDA
- .4byte _08110DFC
-_08110D3C:
- adds r0, r4, r5
- 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
- bne _08110E3A
- strh r5, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- adds 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 r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bne _08110E3A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x1E]
- b _08110E3A
-_08110D7E:
- adds r0, r4, r5
- 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, 0x65
- bne _08110E3A
- movs r0, 0x7
- strh r0, [r1, 0x1E]
- b _08110DF0
-_08110D98:
- adds r0, r4, r5
- 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 _08110E3A
- 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 _08110E3A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _08110E3A
-_08110DDA:
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_80A6C68
- ldr r0, =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
-_08110DF0:
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _08110E3A
- .pool
-_08110DFC:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08110E10
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_08110E10:
- 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, r5, 0
- bl DestroyAnimVisualTask
-_08110E3A:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110CB0
-
- thumb_func_start sub_8110E4C
-sub_8110E4C: @ 8110E4C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08110EC8
- ldr r4, =gBattleAnimArgs
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08110E98
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08110E98
- movs r0, 0x98
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r5, 0x38]
- ldrb r1, [r5, 0x3]
- subs r0, 0x40
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x3]
- b _08110E9C
- .pool
-_08110E98:
- ldr r0, =0x0000ffc0
- strh r0, [r5, 0x20]
-_08110E9C:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4]
- strh r0, [r5, 0x22]
- ldr r1, =gUnknown_08596BC0
- adds r0, r5, 0
- bl SetSubspriteTables
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08110F24
- .pool
-_08110EC8:
- ldrh r1, [r5, 0x30]
- ldrh r3, [r5, 0x34]
- adds r1, r3
- ldrh r2, [r5, 0x32]
- ldrh r0, [r5, 0x36]
- adds r2, r0
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r3, [r5, 0x24]
- adds r0, r3
- strh r0, [r5, 0x24]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r3, [r5, 0x26]
- adds r0, r3
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r5, 0x34]
- ands r2, r0
- strh r2, [r5, 0x36]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08110F0E
- movs r2, 0x20
- ldrsh r0, [r5, r2]
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- adds r0, r1
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- ble _08110F24
- b _08110F20
-_08110F0E:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _08110F24
-_08110F20:
- ldr r0, =DestroyAnimSprite
- str r0, [r5, 0x1C]
-_08110F24:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110E4C
-
- thumb_func_start sub_8110F30
-sub_8110F30: @ 8110F30
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A69CC
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110F30
-
- thumb_func_start sub_8110F74
-sub_8110F74: @ 8110F74
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r6, r1, r0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xC0
- lsls r1, 13
- adds r0, r1
- lsrs r7, r0, 16
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xC0
- lsls r2, 13
- adds r0, r2
- lsrs r0, 16
- mov r8, r0
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _08110FE4
- mov r8, r7
-_08110FE4:
- bl sub_811135C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _08111000
- movs r0, 0x20
- b _08111006
- .pool
-_08111000:
- lsls r1, r5, 3
- movs r0, 0x30
- subs r0, r1
-_08111006:
- strh r0, [r6, 0x18]
- movs r4, 0
- strh r4, [r6, 0x8]
- strh r4, [r6, 0x1E]
- strh r4, [r6, 0x1A]
- movs r0, 0x1
- strh r0, [r6, 0x20]
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bge _0811101E
- adds r0, 0x7
-_0811101E:
- asrs r0, 3
- subs r0, 0x1
- strh r0, [r6, 0x1C]
- mov r2, r9
- lsls r0, r2, 3
- strh r0, [r6, 0xC]
- lsls r0, r7, 3
- strh r0, [r6, 0xE]
- mov r1, r10
- subs r0, r1, r2
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x10]
- mov r1, r8
- subs r0, r1, r7
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x12]
- strh r4, [r6, 0x14]
- strh r4, [r6, 0x16]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 8
- lsrs r4, 16
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- lsls r0, 24
- strh r4, [r6, 0x22]
- asrs r0, 24
- lsls r4, 16
- asrs r4, 16
- subs r0, r4
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x24]
- strh r5, [r6, 0xA]
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- ldr r0, =sub_81110A4
- str r0, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110F74
-
- thumb_func_start sub_81110A4
-sub_81110A4: @ 81110A4
- 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 _081110BE
- b _0811120C
-_081110BE:
- lsls r0, 2
- ldr r1, =_081110D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081110D0:
- .4byte _081110E4
- .4byte _08111148
- .4byte _08111150
- .4byte _081111AC
- .4byte _081111FE
-_081110E4:
- ldrh r2, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- subs r2, r0
- strh r2, [r4, 0x14]
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x16]
- ldr r3, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- lsls r2, 16
- asrs r2, 19
- strh r2, [r0, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _08111134
- movs r0, 0x14
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08111134:
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xA2
- bl PlaySE12WithPanning
- b _0811120C
- .pool
-_08111148:
- ldrh r0, [r4, 0x1E]
- subs r0, 0x1
- strh r0, [r4, 0x1E]
- b _081111F0
-_08111150:
- ldrh r0, [r4, 0x1A]
- subs r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _08111170
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0x14]
- adds r0, r2
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- strh r0, [r4, 0x16]
- b _0811117A
-_08111170:
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x16]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0811117A:
- ldr r2, =gSprites
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- b _0811120C
- .pool
-_081111AC:
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0xC]
- adds r0, r2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _081111EA
- movs r0, 0
- strh r0, [r4, 0x1A]
- adds r0, r4, 0
- bl sub_8111214
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xAF
- bl PlaySE12WithPanning
-_081111EA:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
-_081111F0:
- lsls r0, 16
- cmp r0, 0
- bne _0811120C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0811120C
-_081111FE:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0811120C
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0811120C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81110A4
-
- thumb_func_start sub_8111214
-sub_8111214: @ 8111214
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _08111304
- lsls r0, 2
- ldr r1, =_08111234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08111234:
- .4byte _08111248
- .4byte _08111254
- .4byte _08111254
- .4byte _08111260
- .4byte _0811126C
-_08111248:
- ldr r3, =gUnknown_08596C28
- movs r5, 0
- b _08111270
- .pool
-_08111254:
- ldr r3, =gUnknown_08596C40
- movs r5, 0x50
- b _08111270
- .pool
-_08111260:
- ldr r3, =gUnknown_08596C40
- movs r5, 0x40
- b _08111270
- .pool
-_0811126C:
- ldr r3, =gUnknown_08596C40
- movs r5, 0x30
-_08111270:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r4, 0xE]
- lsls r2, 16
- asrs r2, 19
- lsls r2, 16
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- lsls r0, 2
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- asrs r1, 16
- lsrs r7, r2, 16
- asrs r2, 16
- adds r0, r3, 0
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _081112FC
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x12
- strh r1, [r0, 0x2E]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 2
- adds r2, r6, r2
- movs r6, 0xA
- ldrsh r3, [r4, r6]
- lsls r1, r3, 1
- adds r1, r3
- adds r2, r1
- strh r2, [r0, 0x32]
- strh r7, [r0, 0x36]
- movs r1, 0xA
- ldrsh r2, [r4, r1]
- lsls r2, 1
- movs r3, 0x10
- negs r3, r3
- adds r1, r3, 0
- subs r1, r2
- strh r1, [r0, 0x38]
- ldrh r3, [r0, 0x4]
- lsls r2, r3, 22
- lsrs r2, 22
- adds r2, r5
- ldr r5, =0x000003ff
- adds r1, r5, 0
- ands r2, r1
- ldr r1, =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- bl sub_80A68D4
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_081112FC:
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- negs r0, r0
- strh r0, [r4, 0x20]
-_08111304:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111214
-
- thumb_func_start sub_811131C
-sub_811131C: @ 811131C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0811134E
- ldr r0, =sub_81110A4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08111348
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1E]
- subs r0, 0x1
- strh r0, [r1, 0x1E]
-_08111348:
- adds r0, r4, 0
- bl DestroySprite
-_0811134E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811131C
-
- thumb_func_start sub_811135C
-sub_811135C: @ 811135C
- push {lr}
- ldr r0, =gAnimDisableStructPtr
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x4
- bls _0811137E
- movs r1, 0x1
-_0811137E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811135C
-
- thumb_func_start sub_8111388
-sub_8111388: @ 8111388
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- ldrh r0, [r5]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- ldrh r1, [r5, 0x4]
- subs r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, =sub_81113C8
- str r0, [r4, 0x1C]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111388
-
- thumb_func_start sub_81113C8
-sub_81113C8: @ 81113C8
- push {lr}
- adds r2, r0, 0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldrh r1, [r2, 0x34]
- movs r3, 0x34
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08111400
- ldrh r3, [r2, 0x32]
- adds r0, r1, r3
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r1, r0
- strh r1, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r1, 16
- cmp r1, 0
- ble _08111412
- movs r0, 0
- strh r0, [r2, 0x34]
- b _08111412
-_08111400:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08111412
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08111412:
- pop {r0}
- bx r0
- thumb_func_end sub_81113C8
-
- thumb_func_start sub_8111418
-sub_8111418: @ 8111418
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08111434
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08111434:
- adds r0, r4, 0
- bl TranslateAnimSpriteToTargetMonLocation
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111418
-
- thumb_func_start sub_8111444
-sub_8111444: @ 8111444
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleAnimArgs
- ldrh r3, [r2]
- ldrh r5, [r4, 0x20]
- adds r1, r3, r5
- strh r1, [r4, 0x20]
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r3, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x38]
- ldrb r1, [r2, 0x6]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =sub_811149C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111444
-
- thumb_func_start sub_811149C
-sub_811149C: @ 811149C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl __divsi3
- ldrh r1, [r4, 0x24]
- adds r1, r0
- strh r1, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- subs r1, r0
- strh r1, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8C
- ble _081114E6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081114E6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811149C
-
- thumb_func_start AnimTask_GetSeismicTossDamageLevel
-AnimTask_GetSeismicTossDamageLevel: @ 81114EC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gAnimMoveDmg
- ldr r0, [r2]
- cmp r0, 0x20
- bgt _08111500
- ldr r1, =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_08111500:
- ldr r2, [r2]
- adds r0, r2, 0
- subs r0, 0x21
- cmp r0, 0x20
- bhi _08111510
- ldr r1, =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_08111510:
- cmp r2, 0x41
- ble _0811151A
- ldr r1, =gBattleAnimArgs
- movs r0, 0x2
- strh r0, [r1, 0xE]
-_0811151A:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetSeismicTossDamageLevel
-
- thumb_func_start sub_811152C
-sub_811152C: @ 811152C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- 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 _0811154E
- movs r0, 0
- bl sub_80A6DAC
- movs r0, 0xC8
- strh r0, [r5, 0xA]
-_0811154E:
- ldr r4, =gBattle_BG3_Y
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- ldrh r0, [r5, 0xA]
- subs r0, 0x3
- strh r0, [r5, 0xA]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _0811157A
- movs r0, 0x1
- bl sub_80A6DAC
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0811157A:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811152C
-
- thumb_func_start sub_8111590
-sub_8111590: @ 8111590
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081115BC
- movs r0, 0
- bl sub_80A6DAC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gBattle_BG3_Y
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
-_081115BC:
- ldrh r0, [r4, 0xA]
- adds r0, 0x50
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0xA]
- ldr r6, =gBattle_BG3_Y
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r0, 0x4
- bl Cos
- ldrh r4, [r4, 0xC]
- adds r0, r4
- strh r0, [r6]
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- ldr r0, =0x00000fff
- cmp r1, r0
- bne _081115F4
- movs r0, 0
- strh r0, [r6]
- movs r0, 0x1
- bl sub_80A6DAC
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_081115F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111590
-
- thumb_func_start sub_811160C
-sub_811160C: @ 811160C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80A6FD4
- ldr r0, =sub_8111674
- str r0, [r4, 0x1C]
- movs r0, 0x10
- strh r0, [r4, 0x3A]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r4, 0x3A]
- movs r0, 0x52
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811160C
-
- thumb_func_start sub_8111674
-sub_8111674: @ 8111674
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8111764
- adds r0, r4, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08111694
- ldr r0, =sub_81116E8
- str r0, [r4, 0x1C]
- b _081116DE
- .pool
-_08111694:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _081116CC
- cmp r2, 0xC4
- ble _081116DE
-_081116CC:
- lsls r0, 16
- cmp r0, 0
- ble _081116DE
- ldr r0, =gUnknown_02038440
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xC4
- bl PlaySE12WithPanning
-_081116DE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111674
-
- thumb_func_start sub_81116E8
-sub_81116E8: @ 81116E8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl TranslateAnimLinear
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _0811172E
- cmp r2, 0xC4
- ble _0811173A
-_0811172E:
- lsls r0, 16
- cmp r0, 0
- ble _0811173A
- movs r0, 0xC4
- bl PlaySE
-_0811173A:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08111758
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_80A67F4
- str r0, [r4, 0x1C]
- b _0811175E
- .pool
-_08111758:
- adds r0, r4, 0
- bl sub_8111764
-_0811175E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81116E8
-
- thumb_func_start sub_8111764
-sub_8111764: @ 8111764
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _08111788
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- ldr r1, =0x010d0000
- cmp r0, r1
- bne _081117EE
- movs r0, 0
- b _081117EC
- .pool
-_08111788:
- ldrh r1, [r4, 0x3C]
- adds r3, r1, 0x1
- strh r3, [r4, 0x3C]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- bne _081117EE
- ldr r1, =0xffffff00
- ands r1, r3
- strh r1, [r4, 0x3C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _081117B0
- adds r0, r2, 0x1
- b _081117B2
- .pool
-_081117B0:
- subs r0, r2, 0x1
-_081117B2:
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3A]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081117D4
- cmp r0, 0x10
- bne _081117E0
-_081117D4:
- ldrh r0, [r4, 0x3C]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r4, 0x3C]
-_081117E0:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081117EE
- movs r0, 0x80
- lsls r0, 1
-_081117EC:
- strh r0, [r4, 0x3A]
-_081117EE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8111764
-
- thumb_func_start sub_81117F4
-sub_81117F4: @ 81117F4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r1, =sub_8111814
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81117F4
-
- thumb_func_start sub_8111814
-sub_8111814: @ 8111814
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x82
- bhi _08111848
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x8
- b _08111852
-_08111848:
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
-_08111852:
- orrs r1, r0
- strb r1, [r4, 0x5]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x13
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x50
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3D
- bne _08111884
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08111884:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8111814
-
- thumb_func_start sub_811188C
-sub_811188C: @ 811188C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A7270
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x80
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x80
- strh r1, [r0, 0x8]
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r1, 0x10
- strh r1, [r0, 0xE]
- ldr r1, =sub_8111914
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811188C
-
- thumb_func_start sub_8111914
-sub_8111914: @ 8111914
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0811195C
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0xC]
- adds r1, 0x1
- strh r1, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _0811195C
- ldr r0, =sub_811196C
- str r0, [r4]
-_0811195C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111914
-
- thumb_func_start sub_811196C
-sub_811196C: @ 811196C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08111994
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _081119D8
- .pool
-_08111994:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4, 0x8]
- adds r0, 0x8
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _081119BC
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- adds r0, r1, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- b _081119D8
-_081119BC:
- adds r0, r1, 0
- bl sub_80A7344
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
-_081119D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811196C
-
- thumb_func_start sub_81119E0
-sub_81119E0: @ 81119E0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r5, [r4, 0x20]
- ldrh r6, [r4, 0x22]
- ldr r0, =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- strh r0, [r4, 0x20]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- mov r1, r9
- strh r1, [r4, 0x2E]
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r4, 0x30]
- ldrh r1, [r2, 0x2]
- strh r1, [r4, 0x32]
- ldrh r1, [r2, 0x4]
- strh r1, [r4, 0x34]
- ldrh r1, [r4, 0x20]
- lsls r1, 4
- strh r1, [r4, 0x36]
- lsls r0, 4
- strh r0, [r4, 0x38]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- subs r5, r0
- lsls r5, 4
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r5, 0
- str r2, [sp]
- bl __divsi3
- strh r0, [r4, 0x3A]
- lsls r6, 16
- asrs r6, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- subs r6, r0
- lsls r6, 4
- ldr r2, [sp]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r6, 0
- bl __divsi3
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8111A88
- str r0, [r4, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81119E0
-
- thumb_func_start sub_8111A88
-sub_8111A88: @ 8111A88
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08111AD2
- cmp r0, 0x1
- bgt _08111A9E
- cmp r0, 0
- beq _08111AA8
- b _08111B96
-_08111A9E:
- cmp r0, 0x2
- beq _08111B3C
- cmp r0, 0x3
- beq _08111B90
- b _08111B96
-_08111AA8:
- ldrh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x36]
- adds r0, r2
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- subs r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- cmp r0, 0
- bgt _08111B96
- b _08111B82
-_08111AD2:
- ldrh r0, [r5, 0x32]
- subs r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- bgt _08111B96
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x36]
- ldrh r0, [r5, 0x22]
- lsls r0, 4
- strh r0, [r5, 0x38]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3A]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3C]
- b _08111B82
- .pool
-_08111B3C:
- ldrh r0, [r5, 0x3A]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- cmp r0, 0
- bgt _08111B96
- ldr r4, =gBattleAnimTarget
- 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]
-_08111B82:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08111B96
- .pool
-_08111B90:
- adds r0, r5, 0
- bl move_anim_8074EE0
-_08111B96:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8111A88
-
- thumb_func_start sub_8111B9C
-sub_8111B9C: @ 8111B9C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =sub_8111BB4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111B9C
-
- thumb_func_start sub_8111BB4
-sub_8111BB4: @ 8111BB4
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r5, 0
- movs r6, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08111C4A
- adds r1, r3, 0
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x4
- ands r0, r2
- adds r4, r1, 0
- cmp r0, 0
- bne _08111BDE
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r4]
-_08111BDE:
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08111BEE
- cmp r0, 0x1
- beq _08111BF8
- movs r6, 0x1
- b _08111C02
-_08111BEE:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x2
- bne _08111C02
- b _08111C06
-_08111BF8:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x4
- bne _08111C02
- movs r5, 0x1
-_08111C02:
- cmp r5, 0
- beq _08111C38
-_08111C06:
- ldrb r2, [r4]
- 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, [r4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r3, 0x32]
- strh r1, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08111C4A
- strh r1, [r3, 0x32]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _08111C4A
-_08111C38:
- cmp r6, 0
- beq _08111C44
- adds r0, r3, 0
- bl DestroyAnimSprite
- b _08111C4A
-_08111C44:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
-_08111C4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8111BB4
-
- thumb_func_start sub_8111C50
-sub_8111C50: @ 8111C50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- movs r6, 0
- movs r1, 0
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _08111C80
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _08111D5C
- .pool
-_08111C80:
- strh r1, [r5, 0xA]
- movs r0, 0xF
- strh r0, [r5, 0xC]
- movs r0, 0x2
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0xE]
- lsls r1, 8
- ldrh r0, [r5, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x50
- strh r1, [r0, 0x2E]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08111CF4
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ff70
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x70
- b _08111D12
- .pool
-_08111CF4:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x90
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =0x0000ff90
-_08111D12:
- strh r1, [r0, 0x32]
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0
- strh r2, [r0, 0x34]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x36]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, =SpriteCallbackDummy
- bl StoreSpriteCallbackInData6
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_80A656C
- str r1, [r0]
- ldr r0, =sub_8111D78
- str r0, [r5]
-_08111D5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111C50
-
- thumb_func_start sub_8111D78
-sub_8111D78: @ 8111D78
- 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, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08111E1C
- cmp r0, 0x1
- bgt _08111DA0
- cmp r0, 0
- beq _08111DA6
- b _08111E48
- .pool
-_08111DA0:
- cmp r0, 0x2
- beq _08111E42
- b _08111E48
-_08111DA6:
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x3
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0x1
- bne _08111DC4
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08111DC4
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
-_08111DC4:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _08111DDA
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _08111DDA
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
-_08111DDA:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4, 0xC]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _08111E48
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _08111E48
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
- movs r0, 0x1
- strh r0, [r4, 0x10]
- b _08111E48
- .pool
-_08111E1C:
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08111E48
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _08111E48
-_08111E42:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08111E48:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8111D78
-
- thumb_func_start sub_8111E50
-sub_8111E50: @ 8111E50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x26]
- ldr r2, =sub_8111E78
- str r2, [r1]
- bl _call_via_r2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111E50
-
- thumb_func_start sub_8111E78
-sub_8111E78: @ 8111E78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _08111EA4
- b _081120C6
-_08111EA4:
- lsls r0, 2
- ldr r1, =_08111EBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08111EBC:
- .4byte _08111ED0
- .4byte _08111FD0
- .4byte _08112014
- .4byte _0811207C
- .4byte _081120A8
-_08111ED0:
- ldr r7, =0x00002771
- adds r0, r7, 0
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- mov r8, r2
- strh r0, [r5, 0x24]
- cmp r0, 0xFF
- beq _08111EFE
- cmp r0, 0xF
- beq _08111EFE
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _08111F0C
- adds r0, r7, 0
- bl FreeSpritePaletteByTag
-_08111EFE:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _081120CC
- .pool
-_08111F0C:
- ldr r4, =gSprites
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r2, [r5, 0x24]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 31
- adds r2, 0x3E
- lsrs r1, 31
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- mov r2, r8
- strh r2, [r5, 0xA]
- strh r2, [r5, 0xC]
- movs r0, 0x10
- strh r0, [r5, 0xE]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x10]
- cmp r6, 0x1
- bne _08111FC4
- movs r1, 0x80
- lsls r1, 2
- b _08111FC8
- .pool
-_08111FC4:
- movs r1, 0x80
- lsls r1, 3
-_08111FC8:
- movs r0, 0
- bl ClearGpuRegBits
- b _081120C6
-_08111FD0:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x24]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- lsls r1, 1
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- ldrh r0, [r5, 0x10]
- ldr r3, =0x00003c0d
- movs r1, 0x10
- movs r2, 0xA
- bl BlendPalette
- b _081120C6
- .pool
-_08112014:
- ldr r2, =gSprites
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- subs r1, 0x20
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r1, 0
- bge _08112034
- movs r2, 0
-_08112034:
- cmp r6, 0x1
- bne _08112054
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x4
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- b _0811206C
- .pool
-_08112054:
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x8
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
-_0811206C:
- movs r2, 0x2
- movs r3, 0x6
- bl ScanlineEffect_InitWave
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- b _081120C6
-_0811207C:
- cmp r6, 0x1
- bne _08112090
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _08112098
- .pool
-_08112090:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_08112098:
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- b _081120C6
- .pool
-_081120A8:
- cmp r6, 0x1
- bne _081120B8
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _081120C2
-_081120B8:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_081120C2:
- ldr r0, =sub_81120DC
- str r0, [r5]
-_081120C6:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
-_081120CC:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8111E78
-
- thumb_func_start sub_81120DC
-sub_81120DC: @ 81120DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0
- bne _08112114
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- strh r0, [r4, 0xC]
-_08112114:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _08112136
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- movs r1, 0x10
- subs r1, r0
- strh r1, [r4, 0xE]
-_08112136:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0xC]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- bne _0811215E
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, =sub_8112170
- str r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
-_0811215E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81120DC
-
- thumb_func_start sub_8112170
-sub_8112170: @ 8112170
- 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
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _081121DC
- cmp r0, 0x1
- bgt _081121A8
- cmp r0, 0
- beq _081121AE
- b _08112258
- .pool
-_081121A8:
- cmp r0, 0x2
- beq _081121F0
- b _08112258
-_081121AE:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- cmp r6, 0x1
- bne _081121D0
- movs r1, 0x80
- lsls r1, 2
- b _081121D4
- .pool
-_081121D0:
- movs r1, 0x80
- lsls r1, 3
-_081121D4:
- movs r0, 0
- bl ClearGpuRegBits
- b _08112258
-_081121DC:
- ldrh r0, [r4, 0x10]
- ldr r3, =0x00003c0d
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- b _08112258
- .pool
-_081121F0:
- ldr r3, =gSprites
- movs r0, 0x24
- 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
- bl obj_delete_but_dont_free_vram
- ldr r0, =0x00002771
- bl FreeSpritePaletteByTag
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- cmp r6, 0x1
- bne _08112248
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl SetGpuRegBits
- b _08112252
- .pool
-_08112248:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
-_08112252:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08112258:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8112170
-
- thumb_func_start sub_8112264
-sub_8112264: @ 8112264
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081122AC
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, =gBattleAnimTarget
- b _081122D0
- .pool
-_081122AC:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, =gBattleAnimAttacker
-_081122D0:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xE0
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- mov r8, r5
- mov r2, r9
- subs r4, r2, r5
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r6, 4
- strh r0, [r7, 0x2E]
- lsls r0, r5, 4
- strh r0, [r7, 0x30]
- mov r1, r10
- subs r0, r1, r6
- lsls r0, 4
- ldr r5, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r7, 0x32]
- lsls r4, 16
- asrs r4, 12
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r7, 0x34]
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0x36]
- mov r1, r10
- strh r1, [r7, 0x38]
- mov r2, r9
- strh r2, [r7, 0x3A]
- movs r1, 0x36
- ldrsh r0, [r7, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r7, 0x3C]
- ldrb r1, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r7, 0x5]
- strh r6, [r7, 0x20]
- mov r2, r8
- strh r2, [r7, 0x22]
- ldr r0, =sub_8112384
- str r0, [r7, 0x1C]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112264
-
- thumb_func_start sub_8112384
-sub_8112384: @ 8112384
- push {r4,lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x36]
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _081123BC
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x2E]
- adds r0, r4
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x34]
- ldrh r4, [r2, 0x30]
- adds r1, r4
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r2, 0x22]
- subs r0, r3, 0x1
- strh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _081123BC
- strh r0, [r2, 0x2E]
-_081123BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8112384
-
- thumb_func_start sub_81123C4
-sub_81123C4: @ 81123C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- str r1, [sp]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- ldr r1, [sp]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- strh r0, [r1, 0x18]
- movs r0, 0x10
- strh r0, [r1, 0x1A]
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r1, 0x1C]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08112434
- b _08112530
-_08112434:
- movs r4, 0
-_08112436:
- lsls r1, r4, 16
- asrs r3, r1, 16
- ldr r0, =gBattleAnimAttacker
- ldrb r2, [r0]
- str r1, [sp, 0x10]
- cmp r3, r2
- beq _08112502
- movs r0, 0x2
- eors r2, r0
- cmp r3, r2
- beq _08112502
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08112502
- ldr r6, [sp, 0x4]
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- asrs r7, r0, 16
- ldr r0, =gUnknown_08596DB8
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _08112502
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80A861C
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r1, =gSprites
- adds r4, r5, r1
- lsls r0, r6, 4
- strh r0, [r4, 0x2E]
- lsls r0, r7, 4
- strh r0, [r4, 0x30]
- mov r2, r10
- subs r0, r2, r6
- lsls r0, 4
- ldr r3, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- lsls r0, r3, 16
- asrs r0, 16
- subs r0, r7
- lsls r0, 4
- ldr r2, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- ldr r0, =gSprites + 0x1C
- adds r5, r0
- ldr r0, =sub_8112384
- str r0, [r5]
- ldr r2, [sp]
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- adds r1, 0xD
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
-_08112502:
- ldr r2, [sp, 0x10]
- movs r3, 0x80
- lsls r3, 9
- adds r0, r2, r3
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08112436
- b _081125B4
- .pool
-_08112530:
- ldr r0, =gUnknown_08596DB8
- ldr r7, [sp, 0x4]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 16
- asrs r1, 16
- str r1, [sp, 0xC]
- adds r1, r7, 0
- ldr r2, [sp, 0xC]
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _081125B4
- movs r3, 0x30
- mov r10, r3
- movs r0, 0x28
- mov r9, r0
- ldr r6, =gSprites
- mov r1, r8
- lsls r5, r1, 4
- add r5, r8
- lsls r5, 2
- adds r4, r5, r6
- lsls r0, r7, 4
- strh r0, [r4, 0x2E]
- ldr r2, [sp, 0xC]
- lsls r0, r2, 4
- strh r0, [r4, 0x30]
- subs r0, r3, r7
- lsls r0, 4
- ldr r3, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- ldr r1, [sp, 0xC]
- subs r0, r3, r1
- lsls r0, 4
- ldr r2, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- adds r6, 0x1C
- adds r5, r6
- ldr r0, =sub_8112384
- str r0, [r5]
- mov r1, r8
- ldr r0, [sp]
- strh r1, [r0, 0x22]
- movs r0, 0x1
- ldr r2, [sp]
- strh r0, [r2, 0x20]
-_081125B4:
- ldr r0, =sub_81125E0
- ldr r3, [sp]
- str r0, [r3]
- 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_81123C4
-
- thumb_func_start sub_81125E0
-sub_81125E0: @ 81125E0
- 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 _08112696
- cmp r1, 0x1
- bgt _08112608
- cmp r1, 0
- beq _08112616
- b _08112752
- .pool
-_08112608:
- cmp r1, 0x2
- bne _0811260E
- b _08112728
-_0811260E:
- cmp r1, 0x3
- bne _08112614
- b _0811273C
-_08112614:
- b _08112752
-_08112616:
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0811267C
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811267C
- strh r1, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0811264C
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _0811265A
- adds r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _0811265A
-_0811264C:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0811265A
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_0811265A:
- ldrh r1, [r4, 0x1A]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x17
- ble _0811267C
- movs r0, 0
- strh r0, [r4, 0x16]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_0811267C:
- ldrh r1, [r4, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0811268C
- subs r0, r1, 0x1
- strh r0, [r4, 0x1C]
- b _08112752
-_0811268C:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08112752
- b _08112734
-_08112696:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08112752
- movs r0, 0
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _081126C6
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081126D4
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _081126D4
-_081126C6:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _081126D4
- adds r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_081126D4:
- ldrh r1, [r4, 0x1A]
- lsls r1, 8
- ldrh r0, [r4, 0x18]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4, 0x18]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _08112752
- movs r5, 0
- b _08112718
-_081126F4:
- adds r1, r5, 0
- adds r1, 0xD
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08112718:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _081126F4
- b _08112734
- .pool
-_08112728:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- ble _08112752
-_08112734:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08112752
-_0811273C:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08112752:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81125E0
-
- thumb_func_start sub_8112758
-sub_8112758: @ 8112758
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f1f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC8
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081127A0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081127B8
-_081127A0:
- movs r6, 0x28
- b _081127BA
- .pool
-_081127B8:
- movs r6, 0xC8
-_081127BA:
- ldr r1, =gBattle_WIN0H
- lsls r3, r6, 16
- asrs r2, r3, 16
- lsls r0, r2, 8
- orrs r0, r2
- strh r0, [r1]
- ldr r1, =gBattle_WIN0V
- movs r5, 0x28
- ldr r0, =0x00002828
- strh r0, [r1]
- lsrs r3, 16
- movs r1, 0xF0
- subs r1, r2
- movs r4, 0x48
- ldr r2, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- strh r3, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r5, [r0, 0xE]
- strh r4, [r0, 0x10]
- strh r6, [r0, 0x12]
- strh r5, [r0, 0x14]
- ldr r1, =sub_811280C
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112758
-
- thumb_func_start sub_811280C
-sub_811280C: @ 811280C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0811292C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- ldrh r5, [r4, 0xA]
- ldrh r7, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- mov r10, r0
- ldrh r2, [r4, 0x10]
- str r2, [sp, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- mov r8, r2
- lsls r1, 16
- asrs r6, r1, 16
- cmp r6, 0xF
- ble _08112848
- b _08112938
-_08112848:
- lsls r0, 16
- asrs r0, 16
- bl __floatsidf
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- lsls r0, r5, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- adds r5, r1, 0
- adds r4, r0, 0
- adds r0, r6, 0
- bl __floatsidf
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- adds r1, r5, 0
- adds r0, r4, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r0, r7, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- adds r5, r1, 0
- adds r4, r0, 0
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, [sp, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _08112930 @ =0x3FB00000
- ldr r3, _08112934 @ =0x00000000
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r5, r0, 16
- b _08112966
- .align 2, 0
-_0811292C:
- .4byte gTasks
-_08112930:
- .4byte 0x3FB00000
-_08112934:
- .4byte 0x00000000
-_08112938:
- movs r2, 0
- mov r9, r2
- movs r7, 0xF0
- movs r6, 0
- movs r5, 0x70
- str r6, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_80A75AC
- lsls r0, 16
- lsrs r0, 16
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08112988 @=sub_8112994
- str r0, [r4]
-_08112966:
- ldr r1, _0811298C @=gBattle_WIN0H
- mov r2, r9
- lsls r0, r2, 8
- orrs r7, r0
- strh r7, [r1]
- ldr r1, _08112990 @=gBattle_WIN0V
- lsls r0, r6, 8
- orrs r5, r0
- strh r5, [r1]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08112988:
- .4byte sub_8112994
-_0811298C:
- .4byte gBattle_WIN0H
-_08112990:
- .4byte gBattle_WIN0V
- thumb_func_end sub_811280C
-
- thumb_func_start sub_8112994
-sub_8112994: @ 8112994
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081129DA
- ldr r0, =gBattle_WIN0H
- 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
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_081129DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112994
-
- thumb_func_start sub_81129F0
-sub_81129F0: @ 81129F0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08112A24
- movs r2, 0x18
- ldr r3, =0x0000fffe
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r4, 0x3]
- b _08112A28
- .pool
-_08112A24:
- ldr r2, =0x0000ffe8
- movs r3, 0x2
-_08112A28:
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r3, [r4, 0x30]
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- ldr r0, =sub_8112A4C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81129F0
-
- thumb_func_start sub_8112A4C
-sub_8112A4C: @ 8112A4C
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _08112A5E
- subs r0, r1, 0x1
- b _08112AC2
-_08112A5E:
- ldrh r0, [r3, 0x30]
- ldrh r4, [r3, 0x24]
- adds r1, r0, r4
- strh r1, [r3, 0x24]
- adds r0, r1, 0x7
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _08112AC4
- ldrh r0, [r3, 0x20]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0
- strh r0, [r3, 0x24]
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _08112AC0
- movs r0, 0x1E
- strh r0, [r3, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r3, 0x1C]
- ldr r1, =sub_8112ACC
- adds r0, r3, 0
- bl StoreSpriteCallbackInData6
- b _08112AC4
- .pool
-_08112AC0:
- movs r0, 0x28
-_08112AC2:
- strh r0, [r3, 0x2E]
-_08112AC4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8112A4C
-
- thumb_func_start sub_8112ACC
-sub_8112ACC: @ 8112ACC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08112AF6
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- b _08112B3A
-_08112AF6:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _08112B06
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _08112B3A
-_08112B06:
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- movs r1, 0x10
- subs r1, r0
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _08112B3A
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8112B44
- str r0, [r4, 0x1C]
-_08112B3A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112ACC
-
- thumb_func_start sub_8112B44
-sub_8112B44: @ 8112B44
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112B44
-
- thumb_func_start sub_8112B78
-sub_8112B78: @ 8112B78
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0xC
- bl Sin
- strh r0, [r5, 0x24]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08112B9C
- ldrh r0, [r5, 0x24]
- negs r0, r0
- strh r0, [r5, 0x24]
-_08112B9C:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x30]
- adds r0, r1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08112BE8
- ldr r0, =0x0000050b
- strh r0, [r5, 0x3A]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r1, [r5, 0x3A]
- movs r0, 0x52
- bl SetGpuReg
- b _08112C40
- .pool
-_08112BE8:
- cmp r0, 0x1E
- ble _08112C40
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x3A]
- lsls r0, r1, 16
- asrs r0, 24
- lsls r0, 16
- movs r6, 0xFF
- ands r6, r1
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r7, r0, 16
- cmp r7, 0x10
- bls _08112C0C
- movs r7, 0x10
-_08112C0C:
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r0, 0
- bge _08112C18
- movs r6, 0
-_08112C18:
- lsls r4, r7, 8
- orrs r4, r6
- lsls r1, r4, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- strh r4, [r5, 0x3A]
- cmp r7, 0x10
- bne _08112C40
- cmp r6, 0
- bne _08112C40
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8112C4C
- str r0, [r5, 0x1C]
-_08112C40:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112B78
-
- thumb_func_start sub_8112C4C
-sub_8112C4C: @ 8112C4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl DestroyAnimSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8112C4C
-
- thumb_func_start sub_8112C6C
-sub_8112C6C: @ 8112C6C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r6, 0
- strh r6, [r4, 0x8]
- movs r0, 0x10
- mov r8, r0
- mov r0, r8
- strh r0, [r4, 0xA]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- ldrb r0, [r5]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- adds r1, 0x8
- strh r1, [r4, 0x1E]
- strh r6, [r4, 0x16]
- ldrb r0, [r5]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- ldrb r0, [r5]
- bl sub_80A82E4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x2
- strh r0, [r4, 0x14]
- strh r6, [r4, 0xE]
- mov r0, r8
- strh r0, [r4, 0x10]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- strh r6, [r4, 0x18]
- ldr r0, =sub_8112D10
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112C6C
-
- thumb_func_start sub_8112D10
-sub_8112D10: @ 8112D10
- push {r4-r7,lr}
- 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, 0x5
- bls _08112D2A
- b _08112E96
-_08112D2A:
- lsls r0, 2
- ldr r1, =_08112D3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08112D3C:
- .4byte _08112D54
- .4byte _08112DC4
- .4byte _08112E06
- .4byte _08112E1A
- .4byte _08112E70
- .4byte _08112E80
-_08112D54:
- movs r6, 0
-_08112D56:
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r0, 0x1C
- ldrsh r2, [r4, r0]
- ldrb r3, [r4, 0x14]
- ldr r0, =gUnknown_08596E30
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08112DAA
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- strh r7, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08112D8C
- movs r1, 0x1
-_08112D8C:
- strh r1, [r5, 0x30]
- movs r0, 0x2A
- muls r0, r6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x1E]
- strh r0, [r5, 0x34]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_08112DAA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _08112D56
- b _08112E78
- .pool
-_08112DC4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08112DE2
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bgt _08112DF0
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08112DF0
-_08112DE2:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- ble _08112DF0
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
-_08112DF0:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r2, [r4, 0xE]
- ldrh r1, [r4, 0x10]
- cmp r0, 0xE
- bne _08112E60
- cmp r1, 0x4
- bne _08112E60
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08112E5A
-_08112E06:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _08112E96
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08112E78
-_08112E1A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08112E38
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08112E46
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _08112E46
-_08112E38:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _08112E46
- adds r0, r1, 0x1
- strh r0, [r4, 0x10]
-_08112E46:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r2, [r4, 0xE]
- ldrh r1, [r4, 0x10]
- cmp r0, 0
- bne _08112E60
- cmp r1, 0x10
- bne _08112E60
- movs r0, 0x1
- strh r0, [r4, 0x18]
-_08112E5A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08112E60:
- lsls r1, 8
- orrs r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _08112E96
-_08112E70:
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08112E96
-_08112E78:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08112E96
-_08112E80:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
-_08112E96:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8112D10
-
- thumb_func_start sub_8112E9C
-sub_8112E9C: @ 8112E9C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08112EAE
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- b _08112EB2
-_08112EAE:
- ldrh r0, [r4, 0x32]
- subs r0, 0x2
-_08112EB2:
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x32]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _08112EF4
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- b _08112F08
- .pool
-_08112EF4:
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x3
- ldrb r1, [r0, 0x12]
- ands r1, r2
-_08112F08:
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r0, 3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r1, 0x7
- bl Sin
- strh r0, [r4, 0x26]
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08112F56
- ldrh r0, [r1, 0x16]
- subs r0, 0x1
- strh r0, [r1, 0x16]
- adds r0, r4, 0
- bl DestroySprite
-_08112F56:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112E9C
-
- thumb_func_start sub_8112F60
-sub_8112F60: @ 8112F60
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- ldr r2, =gBattlerSpriteIds
- ldr r1, =gBattleAnimAttacker
- ldrb r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- strh r1, [r0, 0x38]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0xA
- strh r1, [r0, 0x30]
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x34]
- ldr r1, =sub_8112FB8
- str r1, [r0, 0x1C]
- ldr r2, =gSprites
- movs r3, 0x38
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_8112F60
-
- thumb_func_start sub_8112FB8
-sub_8112FB8: @ 8112FB8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x34
- ldrsh r3, [r5, r1]
- cmp r3, 0
- beq _08113020
- subs r0, 0x1
- strh r0, [r5, 0x34]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r4, =gSprites
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Cos
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x26]
- ldrh r0, [r5, 0x32]
- ldrh r2, [r5, 0x2E]
- adds r1, r0, r2
- strh r1, [r5, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _08113054
- ldr r2, =0xffffff00
- adds r0, r1, r2
- strh r0, [r5, 0x2E]
- b _08113054
- .pool
-_08113020:
- ldr r2, =gSprites
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x8
- strh r1, [r0, 0x22]
- ldr r0, =move_anim_8074EE0
- str r0, [r5, 0x1C]
-_08113054:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8112FB8
-
- thumb_func_start sub_8113064
-sub_8113064: @ 8113064
- 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 _081130B4
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r2, 0x6]
- negs r0, r0
- strh r0, [r2, 0x6]
- ldrh r0, [r2, 0x8]
- negs r0, r0
- strh r0, [r2, 0x8]
- adds r1, r2, 0
- b _081130BE
- .pool
-_081130B4:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
-_081130BE:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A66DC
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113064
-
- thumb_func_start sub_8113100
-sub_8113100: @ 8113100
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_80A6838
- 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]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08113164
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r1, r0
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x32]
- ldrh r1, [r2, 0x4]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r2, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- b _0811318E
- .pool
-_08113164:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_0811318E:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80A6EEC
- str r0, [r5, 0x1C]
- ldr r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113100
-
- thumb_func_start sub_81131B4
-sub_81131B4: @ 81131B4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081131D0
- ldr r4, =gBattleAnimAttacker
- b _081131D2
- .pool
-_081131D0:
- ldr r4, =gBattleAnimTarget
-_081131D2:
- 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]
- ldr r4, =gBattleAnimArgs
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A6864
- ldrh r0, [r4, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldr r0, =sub_80A67D8
- str r0, [r5, 0x1C]
- ldr r1, =move_anim_8074EE0
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81131B4
-
- thumb_func_start sub_8113224
-sub_8113224: @ 8113224
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0811323E
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0811323E:
- adds r0, r4, 0
- bl sub_8113100
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113224
-
- thumb_func_start sub_8113250
-sub_8113250: @ 8113250
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r6, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- strh r5, [r6, 0x36]
- movs r0, 0x1
- strh r0, [r6, 0x38]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r6, 0x3A]
- ldr r4, =gBattlerAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A861C
- lsls r7, r0, 16
- lsrs r5, r7, 16
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_80A861C
- lsls r1, r0, 16
- lsrs r0, r1, 16
- cmp r5, r0
- bls _081132B0
- lsrs r0, r7, 17
- b _081132B2
- .pool
-_081132B0:
- lsrs r0, r1, 17
-_081132B2:
- strh r0, [r6, 0x3C]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x3C
- ldrsh r1, [r6, r2]
- bl Cos
- strh r0, [r6, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x3C
- ldrsh r1, [r6, r2]
- bl Sin
- strh r0, [r6, 0x26]
- ldr r0, =sub_81132E0
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113250
-
- thumb_func_start sub_81132E0
-sub_81132E0: @ 81132E0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _081132F2
- cmp r5, 0x1
- beq _0811335E
- b _081133E2
-_081132F2:
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _08113344
- strh r5, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _08113344
- adds r0, r1, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _08113344
- movs r0, 0x10
- strh r0, [r4, 0x38]
-_08113344:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _081133E2
- movs r0, 0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081133E2
-_0811335E:
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x95
- bgt _08113386
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x95
- ble _08113386
- movs r0, 0x96
- strh r0, [r4, 0x3C]
-_08113386:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _081133CE
- movs r0, 0
- strh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _081133CE
- adds r0, r1, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _081133CE
- movs r0, 0x10
- strh r0, [r4, 0x38]
-_081133CE:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _081133E2
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081133E2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81132E0
-
- thumb_func_start sub_81133E8
-sub_81133E8: @ 81133E8
- 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, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08113424
- ldr r0, =0x04000014
- str r0, [sp]
- ldr r0, =gBattle_BG1_X
- b _0811342A
- .pool
-_08113424:
- ldr r0, =0x04000018
- str r0, [sp]
- ldr r0, =gBattle_BG2_X
-_0811342A:
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r5, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r5, [r0, 0x9]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0xE]
- adds r0, 0x20
- strh r0, [r4, 0x10]
- cmp r1, 0
- bge _0811345A
- strh r5, [r4, 0xE]
-_0811345A:
- ldrh r3, [r4, 0xE]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bgt _08113488
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_0811346C:
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- ble _0811346C
-_08113488:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r0, =sub_81134B8
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81133E8
-
- thumb_func_start sub_81134B8
-sub_81134B8: @ 81134B8
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, =gTasks
- adds r2, r0, r1
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _0811356E
- lsls r0, 2
- ldr r1, =_081134E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081134E4:
- .4byte _081134F8
- .4byte _0811351A
- .4byte _0811352A
- .4byte _08113556
- .4byte _08113568
-_081134F8:
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811354E
- movs r0, 0
- strh r0, [r2, 0x16]
- ldrh r0, [r2, 0x14]
- adds r0, 0x1
- strh r0, [r2, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0811354E
- b _08113548
-_0811351A:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _0811354E
- b _08113548
-_0811352A:
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811354E
- movs r0, 0
- strh r0, [r2, 0x16]
- ldrh r0, [r2, 0x14]
- subs r0, 0x1
- strh r0, [r2, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _0811354E
-_08113548:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_0811354E:
- adds r0, r2, 0
- bl sub_8113574
- b _0811356E
-_08113556:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0811356E
- .pool
-_08113568:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_0811356E:
- pop {r0}
- bx r0
- thumb_func_end sub_81134B8
-
- thumb_func_start sub_8113574
-sub_8113574: @ 8113574
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldrh r3, [r5, 0x12]
- ldrh r4, [r5, 0xE]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r4, r0
- bgt _081135CA
- ldr r7, =gScanlineEffectRegBuffers
- mov r12, r7
- ldr r0, =gSineTable
- mov r8, r0
- ldr r6, =gScanlineEffect
-_08113592:
- lsls r2, r4, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- lsls r0, r3, 1
- add r0, r8
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r7, 0x14
- ldrsh r0, [r5, r7]
- muls r0, r1
- asrs r0, 7
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r2]
- adds r3, 0x8
- movs r0, 0xFF
- ands r3, r0
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0x10
- ldrsh r0, [r5, r7]
- cmp r4, r0
- ble _08113592
-_081135CA:
- ldrh r0, [r5, 0x12]
- adds r0, 0x9
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113574
-
- thumb_func_start sub_81135EC
-sub_81135EC: @ 81135EC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x5
- bl __divsi3
- adds r6, r0, 0
- ldr r1, =gBattleAnimAttacker
- mov r8, r1
- ldrb r0, [r1]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- mov r2, r8
- ldrb r0, [r2]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r5, 0x8]
- adds r0, r3
- strh r0, [r4, 0x22]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Cos
- strh r0, [r4, 0x30]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- lsls r6, 16
- asrs r6, 16
- adds r1, r6, 0
- bl Sin
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- ldrh r2, [r5]
- adds r3, r2, 0
- muls r3, r1
- adds r1, r3, 0
- ldrh r3, [r4, 0x20]
- adds r1, r3
- strh r1, [r4, 0x20]
- adds r1, r2, 0
- muls r1, r0
- adds r0, r1, 0
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x34]
- ldr r0, =sub_811369C
- str r0, [r4, 0x1C]
- adds r4, 0x2E
- ldr r2, =gUnknown_0203A100
- movs r1, 0x6
-_08113674:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08113674
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81135EC
-
- thumb_func_start sub_811369C
-sub_811369C: @ 811369C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _081136E0
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081136E0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811369C
-
- 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 sub_80A6E14
- 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 move_anim_8074EE0
-_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 sub_80A68D4
- 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 move_anim_8074EE0
-_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, =sub_80A67D8
- 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 sub_80A750C
- 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 sub_80A750C
-_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 sub_80A750C
-_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
-
- thumb_func_start sub_8114994
-sub_8114994: @ 8114994
- 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]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffd8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80A68D4
- ldr r0, =sub_81149FC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114994
-
- thumb_func_start sub_81149FC
-sub_81149FC: @ 81149FC
- push {r4,r5,lr}
- adds r5, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08114A50
- 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]
- movs r0, 0x14
- strh r0, [r5, 0x2E]
- ldr r4, =gBattleAnimAttacker
- 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]
- movs r0, 0x28
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80A68D4
- ldr r0, =sub_8114A60
- str r0, [r5, 0x1C]
-_08114A50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81149FC
-
- thumb_func_start sub_8114A60
-sub_8114A60: @ 8114A60
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08114A74
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08114A74:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8114A60
-
- thumb_func_start sub_8114A7C
-sub_8114A7C: @ 8114A7C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08114A9C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_08114A9C:
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r6, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114A7C
-
- thumb_func_start sub_8114AF0
-sub_8114AF0: @ 8114AF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80A69CC
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord2
- lsls r0, 24
- lsrs r7, r0, 24
- bl Random2
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- bl Random2
- ands r4, r0
- adds r1, r5, 0
- cmp r1, 0x10
- ble _08114B38
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
-_08114B38:
- lsls r0, r4, 16
- asrs r1, r0, 16
- cmp r1, 0x10
- ble _08114B48
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_08114B48:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r6, 0x2E]
- mov r1, r8
- adds r0, r1, r5
- strh r0, [r6, 0x32]
- adds r0, r7, r4
- strh r0, [r6, 0x36]
- ldr r0, =sub_80A6EEC
- str r0, [r6, 0x1C]
- ldr r1, =move_anim_8074EE0
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114AF0
-
- thumb_func_start sub_8114B80
-sub_8114B80: @ 8114B80
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x1
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08114BF4
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x2]
- adds r0, r2
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r6, 0x4]
- adds r0, r3
- strh r0, [r5, 0x22]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- ble _08114BDA
- movs r1, 0x1
-_08114BDA:
- strh r1, [r5, 0x2E]
- ldr r0, =sub_8114C10
- b _08114C02
- .pool
-_08114BF4:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x20]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x22]
- negs r0, r0
- strh r0, [r5, 0x26]
- ldr r0, =sub_8114C4C
-_08114C02:
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114B80
-
- thumb_func_start sub_8114C10
-sub_8114C10: @ 8114C10
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08114C2E
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
-_08114C2E:
- ldrh r0, [r2, 0x22]
- subs r0, 0x4
- strh r0, [r2, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- negs r1, r1
- cmp r0, r1
- bge _08114C46
- adds r0, r2, 0
- bl DestroyAnimSprite
-_08114C46:
- pop {r0}
- bx r0
- thumb_func_end sub_8114C10
-
- thumb_func_start sub_8114C4C
-sub_8114C4C: @ 8114C4C
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _08114C5E
- cmp r1, 0x1
- beq _08114C74
- b _08114CB6
-_08114C5E:
- ldrh r0, [r3, 0x26]
- adds r0, 0x4
- strh r0, [r3, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _08114CB6
- strh r1, [r3, 0x26]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _08114CB6
-_08114C74:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- ble _08114CB6
- movs r0, 0
- strh r0, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- 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, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _08114CB6
- adds r0, r3, 0
- bl DestroyAnimSprite
-_08114CB6:
- pop {r0}
- bx r0
- thumb_func_end sub_8114C4C
-
- thumb_func_start sub_8114CBC
-sub_8114CBC: @ 8114CBC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r1, r0, r1
- ldr r0, =gBattleAnimArgs
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _08114CE8
- ldr r0, =sub_8114CFC
- b _08114CEA
- .pool
-_08114CE8:
- ldr r0, =sub_8114EB4
-_08114CEA:
- str r0, [r1]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114CBC
-
- thumb_func_start sub_8114CFC
-sub_8114CFC: @ 8114CFC
- 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 _08114D16
- b _08114EAA
-_08114D16:
- lsls r0, 2
- ldr r1, =_08114D28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08114D28:
- .4byte _08114D3C
- .4byte _08114DC4
- .4byte _08114DD4
- .4byte _08114E78
- .4byte _08114E8C
-_08114D3C:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- cmp r0, 0x1
- bne _08114D70
- ldr r0, =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, =gBattle_BG1_Y
- b _08114D78
- .pool
-_08114D70:
- ldr r0, =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, =gBattle_BG2_Y
-_08114D78:
- ldrh r0, [r0]
- strh r0, [r4, 0x22]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0x24]
- adds r0, 0x20
- strh r0, [r4, 0x26]
- cmp r1, 0
- bge _08114D9A
- movs r0, 0
- strh r0, [r4, 0x24]
-_08114D9A:
- ldr r2, =gSprites
- movs r3, 0x1C
- ldrsh r1, [r4, r3]
- 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]
- b _08114E7E
- .pool
-_08114DC4:
- ldrb r0, [r4, 0x1E]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- movs r3, 0x26
- ldrsh r2, [r4, r3]
- bl sub_81150E0
- b _08114E7E
-_08114DD4:
- ldrh r0, [r4, 0xC]
- adds r0, 0x6
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08114DF6
- movs r0, 0
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
-_08114DF6:
- ldr r1, =gSineTable
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- ldrh r3, [r4, 0xE]
- adds r2, r0, r3
- strh r2, [r4, 0x12]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08114E20
- ldr r1, =gBattle_BG1_Y
- b _08114E22
- .pool
-_08114E20:
- ldr r1, =gBattle_BG2_Y
-_08114E22:
- ldrh r0, [r4, 0x22]
- subs r0, r2
- strh r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x3F
- ble _08114EAA
- ldrh r0, [r4, 0x24]
- movs r1, 0x78
- subs r2, r1, r0
- strh r2, [r4, 0x12]
- movs r3, 0x1E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _08114E4C
- ldr r1, =gBattle_BG1_Y
- b _08114E4E
- .pool
-_08114E4C:
- ldr r1, =gBattle_BG2_Y
-_08114E4E:
- ldrh r0, [r4, 0x22]
- subs r0, r2
- strh r0, [r1]
- ldr r2, =gSprites
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x20]
- movs r3, 0x88
- lsls r3, 1
- adds r0, r3, 0
- subs r0, r2
- strh r0, [r1, 0x24]
- b _08114E7E
- .pool
-_08114E78:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08114E7E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08114EAA
- .pool
-_08114E8C:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
- ldr r2, =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, 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]
-_08114EAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114CFC
-
- thumb_func_start sub_8114EB4
-sub_8114EB4: @ 8114EB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- movs r4, 0
- strh r4, [r1, 0x24]
- strh r4, [r1, 0x26]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08114F00
- ldr r0, =gBattle_BG1_Y
- b _08114F02
- .pool
-_08114F00:
- ldr r0, =gBattle_BG2_Y
-_08114F02:
- strh r4, [r0]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114EB4
-
- thumb_func_start sub_8114F14
-sub_8114F14: @ 8114F14
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r1, r0, r1
- ldr r0, =gBattleAnimArgs
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _08114F40
- ldr r0, =sub_8114F54
- b _08114F42
- .pool
-_08114F40:
- ldr r0, =sub_8114FD8
-_08114F42:
- str r0, [r1]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114F14
-
- thumb_func_start sub_8114F54
-sub_8114F54: @ 8114F54
- 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, 0
- beq _08114F78
- cmp r5, 0x1
- beq _08114FCC
- b _08114FD2
- .pool
-_08114F78:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r3, =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r5, [r0, 0x24]
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x22]
- movs r0, 0xA0
- subs r0, r2
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08114FD2
- .pool
-_08114FCC:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08114FD2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8114F54
-
- thumb_func_start sub_8114FD8
-sub_8114FD8: @ 8114FD8
- 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 _081150DA
- lsls r0, 2
- ldr r1, =_08115004
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08115004:
- .4byte _08115018
- .4byte _0811506C
- .4byte _0811507A
- .4byte _08115094
- .4byte _081150D4
-_08115018:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- cmp r0, 0x1
- bne _08115044
- ldr r0, =gBattle_BG1_X
- b _08115046
- .pool
-_08115044:
- ldr r0, =gBattle_BG2_X
-_08115046:
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0x24]
- adds r0, 0x20
- strh r0, [r4, 0x26]
- b _081150C2
- .pool
-_0811506C:
- ldrb r0, [r4, 0x1E]
- movs r1, 0x26
- ldrsh r2, [r4, r1]
- movs r1, 0
- bl sub_81150E0
- b _081150C2
-_0811507A:
- ldr r2, =gSprites
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x60
- strh r1, [r0, 0x26]
- b _081150C2
- .pool
-_08115094:
- ldr r2, =gSprites
- movs r0, 0x1C
- 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]
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081150DA
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_081150C2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081150DA
- .pool
-_081150D4:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081150DA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8114FD8
-
- thumb_func_start sub_81150E0
-sub_81150E0: @ 81150E0
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r0, 0x1
- bne _08115104
- ldr r0, =gBattle_BG1_X
- ldrh r3, [r0]
- ldr r0, =0x04000014
- b _0811510A
- .pool
-_08115104:
- ldr r0, =gBattle_BG2_X
- ldrh r3, [r0]
- ldr r0, =0x04000018
-_0811510A:
- str r0, [sp]
- lsls r0, r1, 16
- cmp r0, 0
- bge _08115114
- movs r1, 0
-_08115114:
- lsls r2, r1, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- cmp r2, r0
- bge _08115140
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_08115126:
- asrs r2, 16
- lsls r1, r2, 1
- adds r0, r1, r5
- strh r3, [r0]
- adds r1, r6
- strh r3, [r1]
- adds r2, 0x1
- lsls r2, 16
- lsrs r1, r2, 16
- lsls r2, r1, 16
- asrs r0, r2, 16
- cmp r0, r4
- blt _08115126
-_08115140:
- lsls r1, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _0811516E
- ldr r4, =gScanlineEffectRegBuffers
- lsls r0, r3, 16
- asrs r0, 16
- adds r3, r0, 0
- adds r3, 0xF0
- movs r0, 0xF0
- lsls r0, 3
- adds r5, r4, r0
-_08115158:
- asrs r2, r1, 16
- lsls r1, r2, 1
- adds r0, r1, r4
- strh r3, [r0]
- adds r1, r5
- strh r3, [r1]
- adds r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _08115158
-_0811516E:
- 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
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81150E0
-
- thumb_func_start sub_81151A0
-sub_81151A0: @ 81151A0
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r7, r0, 0
- cmp r1, 0
- bne _081151BC
- ldr r0, =gBattleAnimAttacker
- b _081151BE
- .pool
-_081151BC:
- ldr r0, =gBattleAnimTarget
-_081151BE:
- ldrb r4, [r0]
- movs r6, 0x18
- adds r1, r7, 0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _081151DA
- negs r0, r6
- lsls r0, 16
- lsrs r6, r0, 16
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x4]
-_081151DA:
- adds r0, r4, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1E
- strh r0, [r5, 0x22]
- ldrh r1, [r7, 0xA]
- strh r1, [r5, 0x2E]
- ldrh r1, [r7, 0x4]
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x32]
- ldrh r1, [r7, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r7, 0x8]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80A68D4
- ldr r0, =sub_8115228
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81151A0
-
- thumb_func_start sub_8115228
-sub_8115228: @ 8115228
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0811523C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0811523C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8115228
-
- thumb_func_start sub_8115244
-sub_8115244: @ 8115244
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08115260
- ldr r0, =gBattleAnimAttacker
- b _08115262
- .pool
-_08115260:
- ldr r0, =gBattleAnimTarget
-_08115262:
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x0000fff0
- adds r0, r2
- ldr r4, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- lsls r1, 5
- adds r0, r1
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r6, 0x22]
- ldrh r2, [r6, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r1, r0
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r6, 0x4]
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x2E]
- ldr r0, =sub_80A64B0
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115244
-
- thumb_func_start sub_81152DC
-sub_81152DC: @ 81152DC
- 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
- ldr r0, =gBattleAnimArgs
- ldrh r2, [r0, 0x2]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _08115308
- adds r0, r2, 0x3
- b _08115314
- .pool
-_08115308:
- ldr r0, =gAnimMovePower
- ldrh r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0x3
-_08115314:
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x24]
- adds r1, r6, 0
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xE]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _08115340
- cmp r0, 0x5
- bne _08115380
- ldr r0, =gBattle_BG3_X
- ldrh r0, [r0]
- strh r0, [r4, 0x22]
- ldr r0, =sub_81153AC
- b _0811539E
- .pool
-_08115340:
- movs r0, 0
- strh r0, [r4, 0x22]
- movs r5, 0
-_08115346:
- lsls r0, r5, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _08115370
- movs r3, 0x22
- ldrsh r0, [r4, r3]
- adds r0, 0x9
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x8
- adds r1, r0
- ldr r0, =gBattlerSpriteIds
- adds r0, r5, r0
- ldrb r0, [r0]
- strh r0, [r1]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
-_08115370:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _08115346
- b _0811539C
- .pool
-_08115380:
- ldrb r0, [r6]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- cmp r0, 0xFF
- bne _08115398
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _081153A0
-_08115398:
- movs r0, 0x1
- strh r0, [r4, 0x22]
-_0811539C:
- ldr r0, =sub_81154A4
-_0811539E:
- str r0, [r4]
-_081153A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81152DC
-
- thumb_func_start sub_81153AC
-sub_81153AC: @ 81153AC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r3, r0, r1
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- cmp r1, 0x1
- beq _08115430
- cmp r1, 0x1
- bgt _081153D4
- cmp r1, 0
- beq _081153DA
- b _0811549C
- .pool
-_081153D4:
- cmp r1, 0x2
- beq _08115490
- b _0811549C
-_081153DA:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811549C
- strh r1, [r3, 0xA]
- ldrh r1, [r3, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08115404
- ldr r1, =gBattle_BG3_X
- ldrh r0, [r3, 0x26]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r1]
- b _0811540E
- .pool
-_08115404:
- ldr r0, =gBattle_BG3_X
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x26]
- subs r1, r2
- strh r1, [r0]
-_0811540E:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r3, r2]
- cmp r0, r1
- bne _0811549C
- movs r0, 0
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x24]
- subs r0, 0x1
- strh r0, [r3, 0x24]
- b _08115484
- .pool
-_08115430:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811549C
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- ands r1, r0
- cmp r1, 0
- bne _0811545C
- ldr r1, =gBattle_BG3_X
- ldrh r0, [r3, 0x24]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r1]
- b _08115466
- .pool
-_0811545C:
- ldr r0, =gBattle_BG3_X
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x24]
- subs r1, r2
- strh r1, [r0]
-_08115466:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _0811549C
- movs r0, 0
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x24]
- subs r0, 0x1
- strh r0, [r3, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _0811549C
-_08115484:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _0811549C
- .pool
-_08115490:
- ldr r1, =gBattle_BG3_X
- ldrh r0, [r3, 0x22]
- strh r0, [r1]
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0811549C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81153AC
-
- thumb_func_start sub_81154A4
-sub_81154A4: @ 81154A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _08115504
- cmp r5, 0x1
- bgt _081154CC
- cmp r5, 0
- beq _081154D2
- b _0811557E
- .pool
-_081154CC:
- cmp r5, 0x2
- beq _08115540
- b _0811557E
-_081154D2:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811557E
- strh r5, [r4, 0xA]
- adds r0, r4, 0
- bl sub_8115588
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _0811557E
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- b _08115538
-_08115504:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811557E
- strh r5, [r4, 0xA]
- adds r0, r4, 0
- bl sub_8115588
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _0811557E
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _0811557E
-_08115538:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0811557E
-_08115540:
- movs r2, 0
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r2, r0
- bge _08115578
- ldr r0, =gSprites
- mov r12, r0
- adds r5, r4, 0
- adds r5, 0x8
- movs r6, 0
-_08115554:
- adds r0, r2, 0
- adds r0, 0x9
- lsls r0, 1
- adds r0, r5, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r12
- strh r6, [r0, 0x24]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _08115554
-_08115578:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_0811557E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81154A4
-
- thumb_func_start sub_8115588
-sub_8115588: @ 8115588
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0xC]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _081155B0
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r2, [r3, 0x24]
- adds r0, r4, 0
- ands r0, r2
- adds r1, r0
- lsls r1, 16
- lsrs r4, r1, 16
- b _081155C0
-_081155B0:
- movs r1, 0x24
- ldrsh r0, [r3, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_081155C0:
- movs r2, 0
- movs r7, 0x22
- ldrsh r0, [r3, r7]
- cmp r2, r0
- bge _081155F4
- ldr r6, =gSprites
- adds r5, r3, 0
- adds r5, 0x8
-_081155D0:
- adds r0, r2, 0
- adds r0, 0x9
- lsls r0, 1
- adds r0, r5, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r4, [r0, 0x24]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x22
- ldrsh r0, [r3, r1]
- cmp r2, r0
- blt _081155D0
-_081155F4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115588
-
- thumb_func_start AnimTask_IsPowerOver99
-AnimTask_IsPowerOver99: @ 8115600
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gBattleAnimArgs
- movs r2, 0
- ldr r0, =gAnimMovePower
- ldrh r0, [r0]
- cmp r0, 0x63
- bls _08115614
- movs r2, 0x1
-_08115614:
- strh r2, [r3, 0x1E]
- adds r0, r1, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsPowerOver99
-
- thumb_func_start sub_8115628
-sub_8115628: @ 8115628
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _08115648
- ldr r0, =gBattleAnimTarget
- b _0811564A
- .pool
-_08115648:
- ldr r0, =gBattleAnimAttacker
-_0811564A:
- ldrb r0, [r0]
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- ble _0811565A
- movs r0, 0x2
- eors r5, r0
-_0811565A:
- ldr r0, =sub_81156D0
- ldrb r1, [r6, 0x2]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x20
- subs r1, r0
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r1, r0
- strh r1, [r4, 0xA]
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x40
- subs r1, r0
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0xC]
- ldr r2, =gBattle_BG3_X
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- ldr r0, =gBattle_BG3_Y
- strh r1, [r0]
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0xE]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115628
-
- thumb_func_start sub_81156D0
-sub_81156D0: @ 81156D0
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, =gTasks
- adds r2, r0, r1
- ldr r0, =gBattleAnimArgs
- movs r4, 0xE
- ldrsh r1, [r0, r4]
- movs r4, 0xE
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bne _08115710
- ldr r0, =gBattle_BG3_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG3_Y
- strh r1, [r0]
- adds r0, r3, 0
- bl DestroyTask
- b _0811571C
- .pool
-_08115710:
- ldr r1, =gBattle_BG3_X
- ldrh r0, [r2, 0xA]
- strh r0, [r1]
- ldr r1, =gBattle_BG3_Y
- ldrh r0, [r2, 0xC]
- strh r0, [r1]
-_0811571C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81156D0
-
- thumb_func_start sub_811572C
-sub_811572C: @ 811572C
- 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]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0811576C
- ldrh r0, [r5, 0x6]
- negs r0, r0
- strh r0, [r4, 0x30]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- b _0811577A
- .pool
-_0811576C:
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x36]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_0811577A:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x8]
- strh r0, [r4, 0x34]
- ldr r1, =sub_8115798
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811572C
-
- thumb_func_start sub_8115798
-sub_8115798: @ 8115798
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x1E
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x7F
- bhi _081157CA
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _081157D2
-_081157CA:
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
-_081157D2:
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _081157F6
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081157F6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8115798
-
- thumb_func_start sub_81157FC
-sub_81157FC: @ 81157FC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_811583C
- movs r1, 0x2
- ldrsb r1, [r4, r1]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- ldrh r4, [r4, 0x8]
- str r4, [sp]
- bl BeginNormalPaletteFade
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_8115884
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81157FC
-
- thumb_func_start sub_811583C
-sub_811583C: @ 811583C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x1
- mov r8, r0
- mov r1, r8
- ands r1, r4
- mov r8, r1
- lsls r0, 16
- asrs r1, r0, 17
- ands r1, r4
- asrs r2, r0, 18
- ands r2, r4
- asrs r3, r0, 19
- ands r3, r4
- asrs r6, r0, 20
- ands r6, r4
- asrs r5, r0, 21
- ands r5, r4
- asrs r0, 22
- ands r0, r4
- str r6, [sp]
- str r5, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r0, r8
- bl sub_80A75AC
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_811583C
-
- thumb_func_start sub_8115884
-sub_8115884: @ 8115884
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811589A
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0811589A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115884
-
- thumb_func_start sub_81158A4
-sub_81158A4: @ 81158A4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x2E]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x34]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0xC]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4]
- strh r0, [r5, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- bl sub_811583C
- ldrb r1, [r4, 0x8]
- ldrh r2, [r4, 0x6]
- bl BlendPalettes
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_81158F8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81158A4
-
- thumb_func_start sub_81158F8
-sub_81158F8: @ 81158F8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0811590C
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _0811597C
-_0811590C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811597C
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08115930
- ldr r0, =sub_8115984
- str r0, [r4, 0x1C]
- b _0811597C
- .pool
-_08115930:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- bl sub_811583C
- adds r3, r0, 0
- ldrh r1, [r4, 0x30]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08115956
- ldrh r1, [r4, 0x36]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x34]
- adds r0, r3, 0
- bl BlendPalettes
- b _08115964
-_08115956:
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x38]
- adds r0, r3, 0
- bl BlendPalettes
-_08115964:
- ldrh r0, [r4, 0x30]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- subs r0, 0x1
- strh r0, [r4, 0x32]
-_0811597C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81158F8
-
- thumb_func_start sub_8115984
-sub_8115984: @ 8115984
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081159AA
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- bl sub_811583C
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081159AA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115984
-
- thumb_func_start sub_81159B4
-sub_81159B4: @ 81159B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- movs r2, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r2, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x30]
- movs r0, 0x8
- strh r0, [r4, 0x32]
- movs r0, 0x28
- strh r0, [r4, 0x34]
- movs r0, 0x70
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x38]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =sub_80A634C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81159B4
-
- thumb_func_start sub_8115A04
-sub_8115A04: @ 8115A04
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3]
- movs r5, 0
- strh r1, [r4, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r4, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r4, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r4, 0xE]
- ldrh r2, [r3, 0x8]
- strh r2, [r4, 0x10]
- ldrh r1, [r3, 0xA]
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x18]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_8115A54
- ldr r0, =sub_8115AA4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115A04
-
- thumb_func_start sub_8115A54
-sub_8115A54: @ 8115A54
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- bl sub_811583C
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r2, [r4, 0x12]
- str r2, [sp]
- adds r2, r5, 0
- adds r3, r6, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115A54
-
- thumb_func_start sub_8115AA4
-sub_8115AA4: @ 8115AA4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08115B06
- ldr r1, =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _08115B00
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08115AE4
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _08115AE8
- .pool
-_08115AE4:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_08115AE8:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _08115AF8
- movs r2, 0
-_08115AF8:
- adds r0, r4, 0
- bl sub_8115A54
- b _08115B06
-_08115B00:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08115B06:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8115AA4
-
- thumb_func_start sub_8115B0C
-sub_8115B0C: @ 8115B0C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r3, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r3
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x8]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0xE]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0x10]
- ldrh r1, [r2, 0xA]
- strh r1, [r0, 0x12]
- strh r5, [r0, 0x18]
- movs r4, 0
- ldr r0, =gBattlersCount
- ldrb r1, [r0]
- mov r9, r3
- mov r8, r2
- cmp r5, r1
- bge _08115B74
- ldr r0, =gBattleAnimAttacker
- ldrb r3, [r0]
- ldr r7, =gBattleAnimTarget
- movs r0, 0x1
- mov r12, r0
- adds r2, r1, 0
-_08115B5A:
- cmp r4, r3
- beq _08115B6E
- ldrb r1, [r7]
- cmp r4, r1
- beq _08115B6E
- adds r1, r4, 0
- adds r1, 0x10
- mov r0, r12
- lsls r0, r1
- orrs r5, r0
-_08115B6E:
- adds r4, 0x1
- cmp r4, r2
- blt _08115B5A
-_08115B74:
- mov r2, r8
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _08115B82
- movs r0, 0xE
- orrs r5, r0
-_08115B82:
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- add r4, r9
- lsrs r0, r5, 16
- strh r0, [r4, 0x1A]
- movs r0, 0xFF
- ands r5, r0
- strh r5, [r4, 0x1C]
- ldrb r2, [r4, 0x10]
- adds r0, r6, 0
- movs r1, 0
- bl sub_8115BC8
- ldr r0, =sub_8115C18
- str r0, [r4]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115B0C
-
- thumb_func_start sub_8115BC8
-sub_8115BC8: @ 8115BC8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x1A]
- lsls r0, 16
- ldrh r1, [r4, 0x1C]
- orrs r0, r1
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r2, [r4, 0x12]
- str r2, [sp]
- adds r2, r5, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115BC8
-
- thumb_func_start sub_8115C18
-sub_8115C18: @ 8115C18
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08115C7A
- ldr r1, =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _08115C74
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08115C58
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _08115C5C
- .pool
-_08115C58:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_08115C5C:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _08115C6C
- movs r2, 0
-_08115C6C:
- adds r0, r4, 0
- bl sub_8115BC8
- b _08115C7A
-_08115C74:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08115C7A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8115C18
-
- thumb_func_start sub_8115C80
-sub_8115C80: @ 8115C80
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3]
- movs r5, 0
- strh r1, [r4, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r4, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r4, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r4, 0xE]
- ldrh r2, [r3, 0x8]
- strh r2, [r4, 0x10]
- ldrh r1, [r3, 0xA]
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x18]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_8115CD0
- ldr r0, =sub_8115D2C
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115C80
-
- thumb_func_start sub_8115CD0
-sub_8115CD0: @ 8115CD0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x8]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r2, 0x1
- lsls r2, r0
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r0, [r4, 0x12]
- str r0, [sp]
- adds r0, r2, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115CD0
-
- thumb_func_start sub_8115D2C
-sub_8115D2C: @ 8115D2C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08115D8E
- ldr r1, =gTasks
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _08115D88
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08115D6C
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _08115D70
- .pool
-_08115D6C:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_08115D70:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _08115D80
- movs r2, 0
-_08115D80:
- adds r0, r4, 0
- bl sub_8115CD0
- b _08115D8E
-_08115D88:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08115D8E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8115D2C
-
- thumb_func_start sub_8115D94
-sub_8115D94: @ 8115D94
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- ldrh r0, [r5]
- strh r0, [r4, 0x16]
- ldrh r0, [r5]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- ldrb r3, [r5, 0x8]
- ldrh r0, [r5, 0x6]
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_8115E00
- str r0, [r4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115D94
-
- thumb_func_start sub_8115E00
-sub_8115E00: @ 8115E00
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08115E28
- subs r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _08115EAC
- .pool
-_08115E28:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08115EAC
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _08115E4C
- ldr r0, =sub_8115EB8
- str r0, [r4]
- b _08115EAC
- .pool
-_08115E4C:
- ldrh r0, [r4, 0x16]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r2, 0x1
- lsls r2, r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08115E7A
- ldrb r3, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
- b _08115E8A
-_08115E7A:
- ldrb r3, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
-_08115E8A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- movs r3, 0x80
- lsls r3, 1
- adds r2, r3, 0
- eors r0, r2
- strh r0, [r1, 0xA]
- movs r2, 0xFF
- ands r0, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
-_08115EAC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115E00
-
- thumb_func_start sub_8115EB8
-sub_8115EB8: @ 8115EB8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08115EFE
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x16]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- str r5, [sp]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08115EFE:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115EB8
-
- thumb_func_start sub_8115F10
-sub_8115F10: @ 8115F10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r6, [r0]
- ldr r0, =gBattleAnimTarget
- ldrb r7, [r0]
- ldr r4, =gBattleAnimArgs
- ldrh r1, [r4]
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08115F4A
- str r2, [sp]
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_80A75AC
- adds r2, r0, 0
-_08115F4A:
- ldrh r1, [r4, 0x2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08115F5C
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r6
- orrs r2, r0
-_08115F5C:
- ldrh r1, [r4, 0x4]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08115F6E
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r7
- orrs r2, r0
-_08115F6E:
- adds r0, r2, 0
- bl InvertPlttBuffer
- mov r0, r8
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115F10
-
- thumb_func_start sub_8115F94
-sub_8115F94: @ 8115F94
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08115FD6
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xE]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x10]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x12]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x14]
- ldrh r0, [r1, 0xC]
- strh r0, [r4, 0x16]
-_08115FD6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- mov r9, r0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- mov r10, r0
- ldrh r1, [r4, 0xC]
- movs r7, 0x80
- lsls r7, 1
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08115FF8
- ldr r5, =0x0000ffff
-_08115FF8:
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08116028
- ldr r2, =gSprites
- ldr r0, =gHealthboxSpriteIds
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- lsls r1, r0
- lsls r1, 16
- orrs r5, r1
-_08116028:
- ldrh r1, [r4, 0xE]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0811603C
- adds r0, r6, 0
- mov r2, r9
- lsls r0, r2
- lsls r0, 16
- orrs r5, r0
-_0811603C:
- ldrh r1, [r4, 0x10]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08116050
- adds r0, r6, 0
- mov r1, r10
- lsls r0, r1
- lsls r0, 16
- orrs r5, r0
-_08116050:
- movs r1, 0x12
- ldrsb r1, [r4, r1]
- movs r2, 0x14
- ldrsb r2, [r4, r2]
- movs r3, 0x16
- ldrsb r3, [r4, r3]
- adds r0, r5, 0
- bl TintPlttBuffer
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0811607A
- adds r0, r5, 0
- bl UnfadePlttBuffer
- mov r0, r8
- bl DestroyAnimVisualTask
-_0811607A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8115F94
-
- thumb_func_start sub_81160A4
-sub_81160A4: @ 81160A4
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x34]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _081160EC
- cmp r0, 0x1
- bgt _081160DC
- cmp r0, 0
- beq _081160E2
- b _08116104
- .pool
-_081160DC:
- cmp r0, 0x2
- beq _081160F4
- b _08116104
-_081160E2:
- ldr r1, =gBattle_BG3_X
- b _081160F6
- .pool
-_081160EC:
- ldr r1, =gBattle_BG3_Y
- b _081160F6
- .pool
-_081160F4:
- ldr r1, =gSpriteCoordOffsetX
-_081160F6:
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- b _0811610C
- .pool
-_08116104:
- ldr r1, =gSpriteCoordOffsetY
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
-_0811610C:
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- lsls r0, 16
- orrs r1, r0
- ldrh r0, [r1]
- strh r0, [r4, 0x36]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x38]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08116130
- bl sub_81161F4
-_08116130:
- ldr r0, =sub_8116148
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81160A4
-
- thumb_func_start sub_8116148
-sub_8116148: @ 8116148
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _0811618A
- subs r0, r1, 0x1
- strh r0, [r3, 0x34]
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _0811616A
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _081161E2
-_0811616A:
- ldrh r0, [r3, 0x32]
- strh r0, [r3, 0x30]
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- lsls r0, 16
- orrs r1, r0
- ldrh r0, [r3, 0x2E]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrh r0, [r3, 0x2E]
- negs r0, r0
- strh r0, [r3, 0x2E]
- b _081161E2
-_0811618A:
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- lsls r0, 16
- orrs r1, r0
- ldrh r0, [r3, 0x36]
- strh r0, [r1]
- ldrh r0, [r3, 0x38]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081161DC
- movs r4, 0
- ldr r5, =gBattlersCount
- ldrb r0, [r5]
- cmp r4, r0
- bcs _081161DC
- ldr r2, =gSprites
- mov r12, r2
- ldr r6, =gBattlerSpriteIds
- movs r7, 0x3
- negs r7, r7
-_081161BA:
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5]
- cmp r4, r0
- bcc _081161BA
-_081161DC:
- adds r0, r3, 0
- bl DestroyAnimSprite
-_081161E2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116148
-
- thumb_func_start sub_81161F4
-sub_81161F4: @ 81161F4
- push {r4-r6,lr}
- ldr r6, =gSprites
- ldr r4, =gBattlerSpriteIds
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x3
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r3, =gBattleAnimTarget
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r0, =gBattleAnimArgs
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- bne _0811627C
- ldrb r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- b _08116298
- .pool
-_0811627C:
- cmp r0, 0
- bne _08116284
- ldrb r0, [r5]
- b _08116286
-_08116284:
- ldrb r0, [r3]
-_08116286:
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
-_08116298:
- orrs r1, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81161F4
-
- thumb_func_start sub_81162A4
-sub_81162A4: @ 81162A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3]
- strh r1, [r2, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0xE]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0x18]
- ldr r4, =gBattle_BG3_X
- ldrh r1, [r3]
- strh r1, [r4]
- ldr r4, =gBattle_BG3_Y
- ldrh r1, [r3, 0x2]
- strh r1, [r4]
- ldr r1, =sub_81162F8
- str r1, [r2]
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81162A4
-
- thumb_func_start sub_81162F8
-sub_81162F8: @ 81162F8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _0811637E
- ldr r0, =gBattle_BG3_X
- ldrh r2, [r0]
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- adds r6, r0, 0
- cmp r2, r1
- bne _08116330
- ldrh r0, [r3, 0x8]
- negs r0, r0
- b _08116332
- .pool
-_08116330:
- ldrh r0, [r3, 0x8]
-_08116332:
- strh r0, [r6]
- ldr r2, =gBattle_BG3_Y
- ldrh r3, [r2]
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- mov r7, r12
- adds r4, r0, r7
- movs r7, 0xA
- ldrsh r0, [r4, r7]
- cmn r3, r0
- bne _08116354
- movs r0, 0
- b _08116358
- .pool
-_08116354:
- ldrh r0, [r4, 0xA]
- negs r0, r0
-_08116358:
- strh r0, [r2]
- adds r0, r1, r5
- lsls r0, 3
- add r0, r12
- ldrh r1, [r0, 0x18]
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0xC]
- subs r1, 0x1
- strh r1, [r0, 0xC]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0
- bne _08116382
- strh r1, [r6]
- strh r1, [r2]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _08116382
-_0811637E:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_08116382:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81162F8
-
- thumb_func_start sub_8116388
-sub_8116388: @ 8116388
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081163AC
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- b _081163B4
- .pool
-_081163AC:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A6980
-_081163B4:
- ldr r0, =sub_80A67BC
- str r0, [r5, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116388
-
- thumb_func_start sub_81163D0
-sub_81163D0: @ 81163D0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081163F4
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- b _081163FC
- .pool
-_081163F4:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A6980
-_081163FC:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80A67BC
- str r0, [r5, 0x1C]
- ldr r1, =sub_810E2C8
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81163D0
-
- thumb_func_start sub_8116420
-sub_8116420: @ 8116420
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08116444
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08116444
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_08116444:
- adds r0, r4, 0
- bl sub_8116388
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116420
-
- thumb_func_start sub_8116458
-sub_8116458: @ 8116458
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08116474
- bl Random2
- movs r1, 0x3
- ands r1, r0
- strh r1, [r5, 0x2]
-_08116474:
- ldrb r1, [r5, 0x2]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08116494
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A69CC
- b _0811649C
- .pool
-_08116494:
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A6980
-_0811649C:
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x30
- bl __umodsi3
- ldr r1, =0x0000ffe8
- adds r0, r1
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x18
- bl __umodsi3
- ldr r1, =0x0000fff4
- adds r0, r1
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116458
-
- thumb_func_start sub_81164F0
-sub_81164F0: @ 81164F0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrb r0, [r5]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- ldrh r0, [r0, 0x20]
- adds r1, r0
- strh r1, [r4, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x26]
- ldrb r1, [r5, 0x6]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldr r1, =move_anim_8074EE0
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A67BC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81164F0
-
- thumb_func_start sub_8116560
-sub_8116560: @ 8116560
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0811657C
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A69CC
- b _08116584
- .pool
-_0811657C:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
-_08116584:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x2E]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =sub_80A64B0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116560
-
- thumb_func_start sub_81165A8
-sub_81165A8: @ 81165A8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081165CC
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A69CC
- b _081165D4
- .pool
-_081165CC:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A6980
-_081165D4:
- ldr r0, =sub_81165E4
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81165A8
-
- thumb_func_start sub_81165E4
-sub_81165E4: @ 81165E4
- 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 r1, r0, 0x1
- strh r1, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _0811661A
- adds r0, r3, 0
- bl DestroyAnimSprite
-_0811661A:
- pop {r0}
- bx r0
- thumb_func_end sub_81165E4
-
- thumb_func_start sub_8116620
-sub_8116620: @ 8116620
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_811583C
- adds r6, r0, 0
- ldrh r3, [r4]
- lsls r3, 16
- asrs r0, r3, 23
- movs r4, 0x1
- ands r0, r4
- asrs r1, r3, 24
- ands r1, r4
- asrs r2, r3, 25
- ands r2, r4
- asrs r3, 26
- ands r3, r4
- bl sub_80A76C4
- orrs r6, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8116874
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116620
-
- thumb_func_start sub_8116664
-sub_8116664: @ 8116664
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- movs r0, 0x1
- bl sub_811583C
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _0811670E
- lsls r0, 2
- ldr r1, =_08116698
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08116698:
- .4byte _081166BA
- .4byte _081166C6
- .4byte _081166B8
- .4byte _081166C4
- .4byte _081166D4
- .4byte _081166EC
- .4byte _081166F4
- .4byte _08116700
-_081166B8:
- movs r5, 0
-_081166BA:
- mov r0, sp
- ldr r1, =gBattleAnimAttacker
- b _081166CA
- .pool
-_081166C4:
- movs r5, 0
-_081166C6:
- mov r0, sp
- ldr r1, =gBattleAnimTarget
-_081166CA:
- ldrb r1, [r1]
- strb r1, [r0]
- b _0811670E
- .pool
-_081166D4:
- mov r1, sp
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- b _0811670E
- .pool
-_081166EC:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- b _0811670E
-_081166F4:
- movs r5, 0
- mov r2, sp
- ldr r0, =gBattleAnimAttacker
- b _08116706
- .pool
-_08116700:
- movs r5, 0
- mov r2, sp
- ldr r0, =gBattleAnimTarget
-_08116706:
- ldrb r0, [r0]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r2]
-_0811670E:
- movs r4, 0
- mov r6, sp
-_08116712:
- ldrb r0, [r6]
- cmp r4, r0
- beq _0811673C
- ldrb r0, [r6, 0x1]
- cmp r4, r0
- beq _0811673C
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0811673C
- adds r0, r4, 0
- bl sub_80A77AC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- orrs r5, r1
-_0811673C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08116712
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_8116874
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116664
-
- thumb_func_start sub_811675C
-sub_811675C: @ 811675C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_811583C
- adds r2, r0, 0
- ldr r0, =gBattleTerrain
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08116832
- lsls r0, 2
- ldr r1, =_0811678C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811678C:
- .4byte _081167B4
- .4byte _081167C4
- .4byte _081167D0
- .4byte _081167E0
- .4byte _081167EC
- .4byte _081167FC
- .4byte _0811680C
- .4byte _0811681C
- .4byte _0811682C
- .4byte _0811682C
-_081167B4:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00000b0c
- b _08116830
- .pool
-_081167C4:
- ldr r1, =gBattleAnimArgs
- movs r0, 0x9E
- lsls r0, 4
- b _08116830
- .pool
-_081167D0:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00002f1e
- b _08116830
- .pool
-_081167E0:
- ldr r1, =gBattleAnimArgs
- movs r0, 0x90
- lsls r0, 7
- b _08116830
- .pool
-_081167EC:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00007ecb
- b _08116830
- .pool
-_081167FC:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00007ecb
- b _08116830
- .pool
-_0811680C:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00002a16
- b _08116830
- .pool
-_0811681C:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00000d2e
- b _08116830
- .pool
-_0811682C:
- ldr r1, =gBattleAnimArgs
- ldr r0, =0x00007fff
-_08116830:
- strh r0, [r1, 0x8]
-_08116832:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_8116874
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811675C
-
- thumb_func_start AnimTask_BlendParticle
-AnimTask_BlendParticle: @ 8116848
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- adds r0, r4, 0
- bl sub_8116874
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_BlendParticle
-
- thumb_func_start sub_8116874
-sub_8116874: @ 8116874
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- strh r1, [r2, 0x8]
- lsrs r1, 16
- strh r1, [r2, 0xA]
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- strh r1, [r2, 0xC]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0xE]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0x10]
- ldrh r1, [r3, 0x8]
- strh r1, [r2, 0x12]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0x1C]
- ldr r1, =sub_81168B8
- str r1, [r2]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116874
-
- thumb_func_start sub_81168B8
-sub_81168B8: @ 81168B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r2, =gTasks
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1A]
- mov r8, r0
- movs r4, 0x1A
- ldrsh r1, [r3, r4]
- movs r4, 0xC
- ldrsh r0, [r3, r4]
- mov r9, r2
- cmp r1, r0
- bne _0811694E
- strh r6, [r3, 0x1A]
- movs r0, 0x8
- ldrsh r4, [r3, r0]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- lsls r0, 16
- orrs r4, r0
- mov r8, r5
- cmp r4, 0
- beq _0811691A
- adds r5, r3, 0
-_081168F8:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0811690C
- ldrb r2, [r5, 0x1C]
- ldrh r3, [r5, 0x12]
- adds r0, r6, 0
- movs r1, 0x10
- bl BlendPalette
-_0811690C:
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r4, 1
- cmp r4, 0
- bne _081168F8
-_0811691A:
- mov r4, r8
- adds r0, r4, r7
- lsls r0, 3
- mov r1, r9
- adds r2, r0, r1
- ldrh r0, [r2, 0x1C]
- movs r4, 0x1C
- ldrsh r3, [r2, r4]
- movs r4, 0x10
- ldrsh r1, [r2, r4]
- cmp r3, r1
- bge _0811693C
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- b _08116954
- .pool
-_0811693C:
- cmp r3, r1
- ble _08116946
- subs r0, 0x1
- strh r0, [r2, 0x1C]
- b _08116954
-_08116946:
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _08116954
-_0811694E:
- mov r0, r8
- adds r0, 0x1
- strh r0, [r3, 0x1A]
-_08116954:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81168B8
-
- thumb_func_start sub_8116960
-sub_8116960: @ 8116960
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gBattleAnimArgs
- ldrb r0, [r4]
- ldrb r1, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- ldrb r4, [r4, 0x8]
- str r4, [sp]
- bl BeginHardwarePaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81169A0
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116960
-
- thumb_func_start sub_81169A0
-sub_81169A0: @ 81169A0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081169B8
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081169B8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81169A0
-
- thumb_func_start sub_81169C0
-sub_81169C0: @ 81169C0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- movs r3, 0
- strh r0, [r1, 0x8]
- strh r3, [r1, 0xA]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0xC]
- ldrh r0, [r2, 0x4]
- strh r0, [r1, 0xE]
- ldrh r0, [r2, 0x6]
- strh r0, [r1, 0x10]
- strh r3, [r1, 0x12]
- ldr r0, =sub_81169F8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81169C0
-
- thumb_func_start sub_81169F8
-sub_81169F8: @ 81169F8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08116ABC
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08116A28
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _08116ACA
- .pool
-_08116A28:
- ldrb r0, [r4, 0x8]
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- blt _08116AA6
- ldr r6, =gSprites
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r6
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- movs r2, 0x2
- cmp r0, 0
- beq _08116A50
- movs r2, 0x1
-_08116A50:
- lsls r2, 2
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x5]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0xE]
- strh r1, [r0, 0x2E]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r5, [r0, 0x30]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- strh r1, [r0, 0x32]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8116AD0
- str r1, [r0]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
-_08116AA6:
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xA]
- b _08116ACA
- .pool
-_08116ABC:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08116ACA
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08116ACA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81169F8
-
- thumb_func_start sub_8116AD0
-sub_8116AD0: @ 8116AD0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08116AE4
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _08116B08
-_08116AE4:
- ldr r3, =gTasks
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x30
- 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 obj_delete_but_dont_free_vram
-_08116B08:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116AD0
-
- thumb_func_start sub_8116B14
-sub_8116B14: @ 8116B14
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0
- ldr r0, =gBattle_WIN0H
- strh r7, [r0]
- ldr r0, =gBattle_WIN0V
- strh r7, [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, 0xA
- bl GetGpuReg
- add r4, sp, 0x10
- strh r0, [r4]
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- mov r8, r0
- ands r0, r1
- strb r0, [r4]
- mov r2, sp
- adds r2, 0x11
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08116BA2
- ldrb r1, [r4]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
-_08116BA2:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08116C26
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08116C26
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08116BD2
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _08116C26
-_08116BD2:
- ldrb r0, [r5]
- movs r6, 0x2
- eors r0, r6
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08116C26
- ldr r3, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r5]
- eors r0, r6
- 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]
- ldrb r1, [r4]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
- movs r7, 0x1
-_08116C26:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08116C64
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r5, [r0]
- b _08116CAC
- .pool
-_08116C64:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08116C90
- 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 _08116CA0
- .pool
-_08116C90:
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08116CA0:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
-_08116CAC:
- 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
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r0, sp
- bl sub_80A6B30
- ldr r1, =gUnknown_08C20684
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C20668
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gUnknown_08597418
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- adds r1, 0x1
- movs r2, 0x2
- bl LoadPalette
- 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, 0x20
- strh r0, [r2]
- ldr r2, =gBattle_BG1_Y
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldr r1, =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- strh r7, [r0, 0x14]
- ldr r1, =sub_8116D64
- str r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116B14
-
- thumb_func_start sub_8116D64
-sub_8116D64: @ 8116D64
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- 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
- ldrh r0, [r5, 0x1C]
- adds r0, 0x4
- movs r1, 0
- mov r8, r1
- strh r0, [r5, 0x1C]
- ldr r7, =gBattle_BG1_Y
- ldrh r2, [r7]
- subs r1, r2, 0x4
- strh r1, [r7]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _08116E86
- mov r0, r8
- strh r0, [r5, 0x1C]
- adds r0, r2, 0
- adds r0, 0x3C
- strh r0, [r7]
- ldrh r0, [r5, 0x1E]
- adds r0, 0x1
- strh r0, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _08116E86
- movs r0, 0
- bl sub_80A477C
- ldr r0, =gBattle_WIN0H
- mov r1, r8
- 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
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08116DF6
- movs r0, 0xA
- bl GetGpuReg
- add r1, sp, 0x10
- strh r0, [r1]
- ldrb r2, [r1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrh r1, [r1]
- movs r0, 0xA
- bl SetGpuReg
-_08116DF6:
- 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
- movs r0, 0
- bl GetAnimBattlerSpriteId
- ldr r4, =gSprites
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_80A6C68
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08116E7C
- 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, r4
- 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]
-_08116E7C:
- mov r2, r8
- strh r2, [r7]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08116E86:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116D64
-
- thumb_func_start sub_8116EB4
-sub_8116EB4: @ 8116EB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_0203A110
- movs r0, 0x18
- bl AllocZeroed
- str r0, [r4]
- movs r2, 0
- ldr r3, =gBattleAnimArgs
-_08116EC8:
- ldr r1, [r4]
- lsls r0, r2, 1
- adds r1, 0x4
- adds r1, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _08116EC8
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8116F04
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116EB4
-
- thumb_func_start sub_8116F04
-sub_8116F04: @ 8116F04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_0203A110
- ldr r1, [r0]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08116F24
- ldr r0, =gBattleAnimAttacker
- b _08116F26
- .pool
-_08116F24:
- ldr r0, =gBattleAnimTarget
-_08116F26:
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r4, =gUnknown_0203A110
- ldr r2, [r4]
- ldrb r0, [r2]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r2, 0x1]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08116F56
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08116F5C
- ldrb r0, [r1, 0x1]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _08116F5C
-_08116F56:
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0xA]
-_08116F5C:
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [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
- movs r1, 0x80
- lsls r1, 5
- 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 _08116FBA
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_08116FBA:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08117036
- ldr r4, =gUnknown_0203A110
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08117036
- ldrb r0, [r1]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08116FEC
- ldr r0, [r4]
- ldrb r0, [r0]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _08117036
-_08116FEC:
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _08117036
- ldr r3, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- 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
- ldr r0, [r4]
- strb r5, [r0, 0x2]
-_08117036:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08117078
- ldr r0, =gUnknown_0203A110
- ldr r1, [r0]
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r0, [r0]
- b _081170C4
- .pool
-_08117078:
- ldr r4, =gUnknown_0203A110
- ldr r0, [r4]
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _081170A8
- ldr r1, =gBattlerPartyIndexes
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _081170BA
- .pool
-_081170A8:
- ldr r1, =gBattlerPartyIndexes
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_081170BA:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- ldr r1, [r4]
-_081170C4:
- strh r0, [r1, 0x14]
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81170EC
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8116F04
-
- thumb_func_start sub_81170EC
-sub_81170EC: @ 81170EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- mov r8, r0
- ldr r6, =gBattlerSpriteIds
- ldr r4, =gUnknown_0203A110
- ldr r2, [r4]
- ldrb r0, [r2]
- adds r1, r0, r6
- ldrb r1, [r1]
- ldrh r2, [r2, 0x14]
- bl sub_80A89C8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, [r4]
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0811712E
- ldrb r0, [r2, 0x1]
- adds r1, r0, r6
- ldrb r1, [r1]
- ldrh r2, [r2, 0x14]
- bl sub_80A89C8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_0811712E:
- mov r0, sp
- bl sub_80A6B30
- ldr r0, [r4]
- movs r4, 0x4
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bne _08117158
- ldr r1, =gUnknown_08C2D930
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- b _08117162
- .pool
-_08117158:
- ldr r1, =gUnknown_08C2DA4C
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
-_08117162:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C2D720
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gUnknown_0203A110
- ldr r0, [r0]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0x6
- bhi _081171F8
- lsls r0, 2
- ldr r1, =_08117198
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08117198:
- .4byte _081171B4
- .4byte _081171BC
- .4byte _081171C4
- .4byte _081171CC
- .4byte _081171D4
- .4byte _081171DC
- .4byte _081171E4
-_081171B4:
- ldr r0, =gUnknown_08C2DB88
- b _081171E6
- .pool
-_081171BC:
- ldr r0, =gUnknown_08C2DB68
- b _081171E6
- .pool
-_081171C4:
- ldr r0, =gUnknown_08C2DBA8
- b _081171E6
- .pool
-_081171CC:
- ldr r0, =gUnknown_08C2DBC8
- b _081171E6
- .pool
-_081171D4:
- ldr r0, =gUnknown_08C2DC08
- b _081171E6
- .pool
-_081171DC:
- ldr r0, =gUnknown_08C2DC28
- b _081171E6
- .pool
-_081171E4:
- ldr r0, =gUnknown_08C2DC48
-_081171E6:
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _08117206
- .pool
-_081171F8:
- ldr r0, =gUnknown_08C2DBE8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_08117206:
- ldr r3, =gBattle_BG1_X
- movs r2, 0
- strh r2, [r3]
- ldr r0, =gBattle_BG1_Y
- strh r2, [r0]
- ldr r1, =gUnknown_0203A110
- ldr r0, [r1]
- movs r4, 0x4
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0x1
- bne _08117248
- movs r0, 0x40
- strh r0, [r3]
- ldr r2, =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- ldr r1, =0x0000fffd
- b _08117254
- .pool
-_08117248:
- ldr r2, =gTasks
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x3
-_08117254:
- strh r1, [r0, 0xA]
- ldr r0, [r4]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08117274
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- strh r1, [r0, 0x10]
- movs r1, 0x14
- b _08117280
- .pool
-_08117274:
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0xD
- strh r1, [r0, 0x10]
- movs r1, 0x1E
-_08117280:
- strh r1, [r0, 0x12]
- adds r1, r3, r5
- lsls r1, 3
- adds r1, r2
- strh r7, [r1, 0x8]
- ldr r3, [r4]
- ldrh r0, [r3, 0xA]
- strh r0, [r1, 0xC]
- mov r4, r8
- strh r4, [r1, 0xE]
- ldrb r0, [r3, 0x2]
- strh r0, [r1, 0x14]
- ldr r2, =gBattlerSpriteIds
- ldrb r0, [r3, 0x1]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x16]
- ldr r0, =sub_81172EC
- str r0, [r1]
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _081172CC
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning2
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xEF
- bl PlaySE12WithPanning
- b _081172E0
- .pool
-_081172CC:
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning2
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xF5
- bl PlaySE12WithPanning
-_081172E0:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81170EC
-
- thumb_func_start sub_81172EC
-sub_81172EC: @ 81172EC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gBattle_BG1_Y
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0xA]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- movs r0, 0x26
- ldrsh r2, [r5, r0]
- cmp r2, 0x1
- beq _08117362
- cmp r2, 0x1
- bgt _08117320
- cmp r2, 0
- beq _0811732A
- b _08117478
- .pool
-_08117320:
- cmp r2, 0x2
- beq _08117378
- cmp r2, 0x3
- beq _081173B6
- b _08117478
-_0811732A:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- cmp r0, 0
- bgt _08117338
- b _08117478
-_08117338:
- strh r2, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- adds r1, 0x1
- strh r1, [r5, 0x20]
- 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, 0x20
- ldrsh r1, [r5, r2]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r1, r0
- beq _08117360
- b _08117478
-_08117360:
- b _081173AE
-_08117362:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- cmp r0, r1
- beq _08117376
- b _08117478
-_08117376:
- b _081173AE
-_08117378:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- cmp r0, 0
- ble _08117478
- movs r0, 0
- strh r0, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- subs r1, 0x1
- strh r1, [r5, 0x20]
- 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, 0x20
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08117478
- movs r0, 0
- bl sub_80A477C
-_081173AE:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
- b _08117478
-_081173B6:
- 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
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081173E6
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_081173E6:
- 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
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0811743A
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_0811743A:
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08117466
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- 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]
-_08117466:
- ldr r4, =gUnknown_0203A110
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08117478:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81172EC
-
- thumb_func_start sub_8117494
-sub_8117494: @ 8117494
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80A76C4
- adds r6, r0, 0
- movs r1, 0
- bl sub_81175C4
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- lsrs r0, r6, 16
- movs r5, 0
- strh r0, [r4, 0x24]
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A75AC
- adds r6, r0, 0
- ldr r1, =0x0000ffff
- ands r6, r1
- adds r0, r6, 0
- bl sub_81175C4
- strh r6, [r4, 0x26]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- ldr r0, =sub_8117500
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117494
-
- thumb_func_start sub_8117500
-sub_8117500: @ 8117500
- push {r4-r6,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 r1, [r4, r0]
- cmp r1, 0x1
- beq _08117544
- cmp r1, 0x1
- bgt _08117528
- cmp r1, 0
- beq _0811752E
- b _081175BE
- .pool
-_08117528:
- cmp r1, 0x2
- beq _081175B8
- b _081175BE
-_0811752E:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _081175BE
- strh r1, [r4, 0xA]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- b _081175AC
-_08117544:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081175BE
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- movs r5, 0
- movs r6, 0x1
-_08117560:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _0811757A
- lsls r0, r5, 20
- lsrs r0, 16
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- ldr r3, =0x0000ffff
- bl BlendPalette
-_0811757A:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _0811759A
- lsls r0, r5, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- movs r3, 0
- bl BlendPalette
-_0811759A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xF
- bls _08117560
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081175BE
-_081175AC:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081175BE
- .pool
-_081175B8:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_081175BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8117500
-
- thumb_func_start sub_81175C4
-sub_81175C4: @ 81175C4
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- movs r2, 0
-_081175CE:
- movs r0, 0x1
- ands r0, r3
- lsrs r4, r3, 1
- adds r5, r2, 0x1
- cmp r0, 0
- beq _081175FA
- lsls r0, r2, 20
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x10
- cmp r2, r0
- bge _081175FA
- ldr r1, =gPlttBufferFaded
- adds r3, r0, 0
-_081175EA:
- lsls r0, r2, 1
- adds r0, r1
- strh r6, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- blt _081175EA
-_081175FA:
- adds r3, r4, 0
- lsls r0, r5, 16
- lsrs r2, r0, 16
- cmp r2, 0x1F
- bls _081175CE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81175C4
-
- thumb_func_start sub_8117610
-sub_8117610: @ 8117610
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r2, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r3, [r0]
- movs r5, 0x1
-_08117620:
- cmp r3, r2
- beq _0811762E
- adds r1, r2, 0
- adds r1, 0x10
- adds r0, r5, 0
- lsls r0, r1
- orrs r4, r0
-_0811762E:
- adds r2, 0x1
- cmp r2, 0x3
- bls _08117620
- movs r2, 0x5
- ldr r0, =gBattleAnimArgs
- adds r1, r0, 0
- adds r1, 0x8
-_0811763C:
- ldrh r0, [r1]
- strh r0, [r1, 0x2]
- subs r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811763C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8116874
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117610
-
- thumb_func_start sub_8117660
-sub_8117660: @ 8117660
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl sub_80A6DAC
- ldr r0, =sub_81176D8
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0811769C
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0811769C
- ldrh r0, [r4]
- negs r0, r0
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_0811769C:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r1, 0xA]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0xC]
- ldrh r0, [r2, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117660
-
- thumb_func_start sub_81176D8
-sub_81176D8: @ 81176D8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r3, [r1, 0xA]
- ldrh r0, [r1, 0x1C]
- adds r3, r0
- movs r4, 0
- mov r12, r4
- strh r3, [r1, 0x1C]
- ldrh r2, [r1, 0xC]
- ldrh r7, [r1, 0x1E]
- adds r2, r7
- strh r2, [r1, 0x1E]
- ldr r6, =gBattle_BG3_X
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r4, [r6]
- adds r0, r4
- strh r0, [r6]
- ldr r4, =gBattle_BG3_Y
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- movs r0, 0xFF
- ands r3, r0
- strh r3, [r1, 0x1C]
- ands r2, r0
- strh r2, [r1, 0x1E]
- ldr r0, =gBattleAnimArgs
- movs r3, 0xE
- ldrsh r2, [r0, r3]
- movs r7, 0xE
- ldrsh r0, [r1, r7]
- cmp r2, r0
- bne _0811773E
- mov r0, r12
- strh r0, [r6]
- strh r0, [r4]
- movs r0, 0x1
- bl sub_80A6DAC
- adds r0, r5, 0
- bl DestroyTask
-_0811773E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81176D8
-
- thumb_func_start AnimTask_IsAttackerOpponentSide
-AnimTask_IsAttackerOpponentSide: @ 8117754
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- ldr r1, =gBattleAnimArgs
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsAttackerOpponentSide
-
- thumb_func_start AnimTask_IsTargetOpponentSide
-AnimTask_IsTargetOpponentSide: @ 8117780
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- ldr r1, =gBattleAnimArgs
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsTargetOpponentSide
-
- thumb_func_start AnimTask_IsTargetPartner
-AnimTask_IsTargetPartner: @ 81177AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r5, =gBattleAnimArgs
- movs r4, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r2, [r0]
- movs r0, 0x2
- ldr r1, =gBattleAnimTarget
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bne _081177C8
- movs r4, 0x1
-_081177C8:
- strh r4, [r5, 0xE]
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsTargetPartner
-
- thumb_func_start sub_81177E4
-sub_81177E4: @ 81177E4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, =gSprites
-_081177EE:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- cmp r4, r0
- beq _0811782C
- lsls r0, r4, 24
- lsrs r0, 24
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0811782C
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldr r1, =gBattleAnimArgs
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r3, [r1]
- ands r3, r0
- lsls r3, 2
- ldrb r0, [r2]
- movs r7, 0x5
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_0811782C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _081177EE
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81177E4
-
- thumb_func_start sub_8117854
-sub_8117854: @ 8117854
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r1, [sp, 0x44]
- ldr r4, [sp, 0x48]
- ldr r5, [sp, 0x4C]
- ldr r6, [sp, 0x50]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x14]
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x18]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x1C]
- lsls r6, 24
- lsrs r6, 24
- mov r10, r6
- movs r0, 0
- str r0, [sp, 0x20]
- movs r0, 0x2
- adds r6, r7, 0
- eors r6, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081178B6
- mov r1, r8
- cmp r1, 0
- beq _081178BA
- adds r0, r6, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _081178BA
-_081178B6:
- movs r2, 0
- mov r8, r2
-_081178BA:
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [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
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- add r4, sp, 0x10
- strh r0, [r4]
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- mov r2, sp
- adds r2, 0x11
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r2]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08117930
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_08117930:
- ldrh r1, [r4]
- movs r0, 0xA
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08117964
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r4, [r0]
- b _081179A2
- .pool
-_08117964:
- adds r0, r7, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08117988
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08117996
- .pool
-_08117988:
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08117996:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_081179A2:
- ldr r5, =gBattlerSpriteIds
- adds r0, r7, r5
- ldrb r1, [r0]
- adds r0, r7, 0
- adds r2, r4, 0
- bl sub_80A89C8
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r8
- cmp r0, 0
- beq _081179CC
- adds r0, r6, r5
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_80A89C8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
-_081179CC:
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldr r1, [sp, 0x58]
- movs r2, 0
- bl sub_80A6D60
- mov r0, sp
- ldrb r0, [r0, 0x9]
- mov r1, sp
- ldrh r2, [r1, 0xA]
- ldr r1, [sp, 0x54]
- bl sub_80A6CC0
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- ldr r0, [sp, 0x5C]
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- ldr r1, =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r1, sp
- ldrh r1, [r1, 0x14]
- strh r1, [r0, 0xA]
- mov r2, sp
- ldrh r2, [r2, 0x18]
- strh r2, [r0, 0x10]
- mov r1, r10
- strh r1, [r0, 0x12]
- mov r2, sp
- ldrh r2, [r2, 0x1C]
- strh r2, [r0, 0x14]
- strh r7, [r0, 0x8]
- mov r1, r8
- strh r1, [r0, 0xC]
- mov r2, sp
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0xE]
- ldr r1, =sub_8117A60
- str r1, [r0]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117854
-
- thumb_func_start sub_8117A60
-sub_8117A60: @ 8117A60
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r0, 0xA
- ldrsh r2, [r3, r0]
- adds r5, r1, 0
- cmp r2, 0
- bge _08117A7E
- negs r2, r2
-_08117A7E:
- ldrh r0, [r3, 0x22]
- adds r4, r0, r2
- strh r4, [r3, 0x22]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bge _08117AA4
- ldr r2, =gBattle_BG1_Y
- lsls r1, r4, 16
- asrs r1, 24
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- b _08117AB0
- .pool
-_08117AA4:
- ldr r1, =gBattle_BG1_Y
- lsls r0, r4, 16
- asrs r0, 24
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
-_08117AB0:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r5
- ldrh r1, [r5, 0x22]
- movs r0, 0xFF
- ands r0, r1
- movs r2, 0
- strh r0, [r5, 0x22]
- movs r3, 0x26
- ldrsh r0, [r5, r3]
- cmp r0, 0x1
- beq _08117B1A
- cmp r0, 0x1
- bgt _08117AD8
- cmp r0, 0
- beq _08117ADE
- b _08117C0C
- .pool
-_08117AD8:
- cmp r0, 0x2
- beq _08117B34
- b _08117C0C
-_08117ADE:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x14
- ldrsh r1, [r5, r3]
- cmp r0, r1
- bge _08117AF2
- b _08117C0C
-_08117AF2:
- strh r2, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- adds r1, 0x1
- strh r1, [r5, 0x20]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08117C0C
- b _08117B2C
-_08117B1A:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r5, r3]
- cmp r0, r1
- bne _08117C0C
-_08117B2C:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
- b _08117C0C
-_08117B34:
- ldrh r0, [r5, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x14
- ldrsh r1, [r5, r3]
- cmp r0, r1
- blt _08117C0C
- strh r2, [r5, 0x1E]
- ldrh r1, [r5, 0x20]
- subs r1, 0x1
- strh r1, [r5, 0x20]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x20
- ldrsh r4, [r5, r0]
- cmp r4, 0
- bne _08117C0C
- movs r0, 0
- bl sub_80A477C
- ldr r0, =gBattle_WIN0H
- strh r4, [r0]
- ldr r0, =gBattle_WIN0V
- strh r4, [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 _08117BB2
- movs r0, 0xA
- bl GetGpuReg
- mov r1, sp
- strh r0, [r1]
- mov r2, sp
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, sp
- ldrh r1, [r0]
- movs r0, 0xA
- bl SetGpuReg
-_08117BB2:
- 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
- movs r3, 0x8
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08117C06
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_08117C06:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08117C0C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117A60
-
- thumb_func_start AnimTask_GetBattleTerrain
-AnimTask_GetBattleTerrain: @ 8117C24
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleAnimArgs
- ldr r1, =gBattleTerrain
- ldrb r1, [r1]
- strh r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetBattleTerrain
-
- thumb_func_start sub_8117C44
-sub_8117C44: @ 8117C44
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117C44
-
- thumb_func_start sub_8117C70
-sub_8117C70: @ 8117C70
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gMonSpritesGfxPtr
- ldr r0, [r6]
- movs r5, 0xBE
- lsls r5, 1
- adds r0, r5
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0
- str r1, [r0]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117C70
-
- thumb_func_start sub_8117CA0
-sub_8117CA0: @ 8117CA0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08117CE4
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A75AC
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08117CFC
- movs r2, 0x1
-_08117CD2:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08117CD2
- b _08117CFC
- .pool
-_08117CE4:
- cmp r0, 0x1
- bne _08117CF0
- ldr r0, =gBattleAnimAttacker
- b _08117CF6
- .pool
-_08117CF0:
- cmp r0, 0x2
- bne _08117CFC
- ldr r0, =gBattleAnimTarget
-_08117CF6:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_08117CFC:
- ldr r0, =gMonSpritesGfxPtr
- ldr r1, [r0]
- ldr r0, =gBattleAnimArgs
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- lsls r1, r4, 5
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117CA0
-
- thumb_func_start sub_8117D3C
-sub_8117D3C: @ 8117D3C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08117D80
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A75AC
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08117D98
- movs r2, 0x1
-_08117D6E:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08117D6E
- b _08117D98
- .pool
-_08117D80:
- cmp r0, 0x1
- bne _08117D8C
- ldr r0, =gBattleAnimAttacker
- b _08117D92
- .pool
-_08117D8C:
- cmp r0, 0x2
- bne _08117D98
- ldr r0, =gBattleAnimTarget
-_08117D92:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_08117D98:
- lsls r0, r4, 5
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- ldr r1, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- movs r3, 0xBE
- lsls r3, 1
- adds r2, r3
- ldr r2, [r2]
- lsls r1, 5
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117D3C
-
- thumb_func_start sub_8117DD8
-sub_8117DD8: @ 8117DD8
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08117E1C
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A75AC
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08117E34
- movs r2, 0x1
-_08117E0A:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08117E0A
- b _08117E34
- .pool
-_08117E1C:
- cmp r0, 0x1
- bne _08117E28
- ldr r0, =gBattleAnimAttacker
- b _08117E2E
- .pool
-_08117E28:
- cmp r0, 0x2
- bne _08117E34
- ldr r0, =gBattleAnimTarget
-_08117E2E:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_08117E34:
- lsls r1, r4, 5
- ldr r0, =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117DD8
-
- thumb_func_start AnimTask_IsContest
-AnimTask_IsContest: @ 8117E60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08117E80
- ldr r1, =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
- b _08117E84
- .pool
-_08117E80:
- ldr r0, =gBattleAnimArgs
- strh r1, [r0, 0xE]
-_08117E84:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsContest
-
- thumb_func_start sub_8117E94
-sub_8117E94: @ 8117E94
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleAnimAttacker
- ldr r1, =gBattlerTarget
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r2, =gBattleAnimTarget
- ldr r1, =gEffectBattler
- ldrb r1, [r1]
- strb r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117E94
-
- thumb_func_start AnimTask_IsTargetSameSide
-AnimTask_IsTargetSameSide: @ 8117EC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08117EF8
- ldr r1, =gBattleAnimArgs
- movs r0, 0x1
- b _08117EFC
- .pool
-_08117EF8:
- ldr r1, =gBattleAnimArgs
- movs r0, 0
-_08117EFC:
- strh r0, [r1, 0xE]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_IsTargetSameSide
-
- thumb_func_start sub_8117F10
-sub_8117F10: @ 8117F10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleAnimTarget
- ldr r1, =gBattlerTarget
- ldrb r1, [r1]
- strb r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117F10
-
- thumb_func_start sub_8117F30
-sub_8117F30: @ 8117F30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleAnimAttacker
- ldr r1, =gBattlerAttacker
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r2, =gBattleAnimTarget
- ldr r1, =gEffectBattler
- ldrb r1, [r1]
- strb r1, [r2]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117F30
-
- thumb_func_start sub_8117F60
-sub_8117F60: @ 8117F60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08117F78
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _08117FB4
-_08117F78:
- ldr r0, =gTasks
- lsls r3, r4, 2
- adds r3, r4
- lsls r3, 3
- adds r3, r0
- ldr r0, =gBattleSpritesDataPtr
- ldr r4, [r0]
- ldr r2, =gBattleAnimAttacker
- ldrb r0, [r2]
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- strh r0, [r3, 0x8]
- ldrb r1, [r2]
- ldr r0, [r4]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- ldr r0, =sub_8117FD0
- str r0, [r3]
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_08117FB4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117F60
-
- thumb_func_start sub_8117FD0
-sub_8117FD0: @ 8117FD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bne _08118014
- ldr r0, =gBattleSpritesDataPtr
- ldr r1, [r0]
- ldr r0, =gBattleAnimAttacker
- ldrb r3, [r0]
- ldr r0, [r1]
- lsls r3, 2
- adds r3, r0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, 0
- bl DestroyTask
-_08118014:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8117FD0
-
- thumb_func_start SetAnimBgAttribute
-SetAnimBgAttribute: @ 811802C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r6, 0x3
- bls _08118040
- b _08118132
-_08118040:
- ldr r0, =gUnknown_0859741A
- adds r0, r6, r0
- ldrb r0, [r0]
- bl GetGpuReg
- ldr r1, =gUnknown_0203A114
- strh r0, [r1]
- cmp r5, 0x6
- bhi _08118124
- lsls r0, r5, 2
- ldr r1, =_08118068
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118068:
- .4byte _08118084
- .4byte _08118098
- .4byte _081180B0
- .4byte _081180C8
- .4byte _081180E0
- .4byte _081180FC
- .4byte _08118110
-_08118084:
- ldr r2, =gUnknown_0203A114
- lsls r3, r4, 6
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x1]
- b _08118124
- .pool
-_08118098:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 5
- ldrb r2, [r3, 0x1]
- movs r0, 0x21
- negs r0, r0
- b _0811811E
- .pool
-_081180B0:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x1
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x41
- negs r0, r0
- b _081180EE
- .pool
-_081180C8:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0xD
- negs r0, r0
- b _081180EE
- .pool
-_081180E0:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x3
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x4
- negs r0, r0
-_081180EE:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08118124
- .pool
-_081180FC:
- ldr r2, =gUnknown_0203A114
- lsls r3, r4, 7
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- b _08118124
- .pool
-_08118110:
- ldr r3, =gUnknown_0203A114
- movs r0, 0x1F
- adds r1, r4, 0
- ands r1, r0
- ldrb r2, [r3, 0x1]
- movs r0, 0x20
- negs r0, r0
-_0811811E:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_08118124:
- ldr r0, =gUnknown_0859741A
- adds r0, r6, r0
- ldrb r0, [r0]
- ldr r1, =gUnknown_0203A114
- ldrh r1, [r1]
- bl SetGpuReg
-_08118132:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetAnimBgAttribute
-
- thumb_func_start GetAnimBgAttribute
-GetAnimBgAttribute: @ 8118140
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x3
- bhi _081181C8
- ldr r0, =gUnknown_0859741E
- adds r0, r2, r0
- ldrb r0, [r0]
- bl GetGpuReg
- mov r1, sp
- strh r0, [r1]
- cmp r4, 0x6
- bhi _081181C8
- lsls r0, r4, 2
- ldr r1, =_08118174
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118174:
- .4byte _08118190
- .4byte _08118198
- .4byte _081181A0
- .4byte _081181A8
- .4byte _081181B0
- .4byte _081181B8
- .4byte _081181C0
-_08118190:
- ldr r0, [sp]
- lsls r0, 16
- lsrs r0, 30
- b _081181CA
-_08118198:
- ldr r0, [sp]
- lsls r0, 18
- lsrs r0, 31
- b _081181CA
-_081181A0:
- ldr r0, [sp]
- lsls r0, 25
- lsrs r0, 31
- b _081181CA
-_081181A8:
- ldr r0, [sp]
- lsls r0, 28
- lsrs r0, 30
- b _081181CA
-_081181B0:
- ldr r0, [sp]
- lsls r0, 30
- lsrs r0, 30
- b _081181CA
-_081181B8:
- ldr r0, [sp]
- lsls r0, 24
- lsrs r0, 31
- b _081181CA
-_081181C0:
- ldr r0, [sp]
- lsls r0, 19
- lsrs r0, 27
- b _081181CA
-_081181C8:
- movs r0, 0
-_081181CA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetAnimBgAttribute
-
- thumb_func_start HandleIntroSlide
-HandleIntroSlide: @ 81181D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _08118208
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- beq _08118208
- ldr r0, =sub_8118D68
- b _08118258
- .pool
-_08118208:
- ldr r2, [r2]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0811821C
- ldr r0, =task00_battle_intro_wireless
- b _08118258
- .pool
-_0811821C:
- ldr r0, =0x003f0100
- ands r0, r2
- cmp r0, 0
- beq _08118230
- ldr r0, =task_battle_intro_anim
- b _08118258
- .pool
-_08118230:
- movs r0, 0x80
- lsls r0, 5
- ands r2, r0
- cmp r2, 0
- beq _08118250
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08118250
- movs r4, 0x3
- ldr r0, =task00_battle_intro_80BC6C8
- b _08118258
- .pool
-_08118250:
- ldr r1, =gUnknown_08597424
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
-_08118258:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end HandleIntroSlide
-
- thumb_func_start sub_811828C
-sub_811828C: @ 811828C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- ldr r0, =gBattle_BG2_X
- strh r1, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811828C
-
- thumb_func_start task_battle_intro_80BC47C
-task_battle_intro_80BC47C: @ 81182EC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0x4
- bls _08118318
- b _0811852A
-_08118318:
- lsls r0, 2
- ldr r1, =_08118330
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118330:
- .4byte _08118344
- .4byte _08118374
- .4byte _0811839C
- .4byte _081183E4
- .4byte _08118524
-_08118344:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08118360
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x10
- b _0811836A
- .pool
-_08118360:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x1
-_0811836A:
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0811852A
-_08118374:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0811838C
- b _0811852A
-_0811838C:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _0811852A
-_0811839C:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _081183B4
- b _0811852A
-_081183B4:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _0811852A
- .pool
-_081183E4:
- lsls r0, r4, 2
- adds r1, r0, r4
- lsls r1, 3
- mov r5, r8
- adds r2, r1, r5
- ldrh r3, [r2, 0xE]
- movs r5, 0xE
- ldrsh r1, [r2, r5]
- mov r12, r0
- cmp r1, 0
- beq _08118400
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _0811842E
-_08118400:
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _08118420
- ldr r2, =gBattle_BG1_Y
- ldrh r1, [r2]
- ldr r0, =0x0000ffb0
- cmp r1, r0
- beq _0811842E
- subs r0, r1, 0x2
- b _0811842C
- .pool
-_08118420:
- ldr r2, =gBattle_BG1_Y
- ldrh r1, [r2]
- ldr r0, =0x0000ffc8
- cmp r1, r0
- beq _0811842E
- subs r0, r1, 0x1
-_0811842C:
- strh r0, [r2]
-_0811842E:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08118442
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_08118442:
- mov r5, r12
- adds r0, r5, r4
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0811845A
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_0811845A:
- movs r3, 0
- ldr r5, =gScanlineEffect
- mov r9, r5
- ldr r7, =gScanlineEffectRegBuffers
- mov r6, r9
- adds r5, r1, 0
-_08118466:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _08118466
- cmp r3, 0x9F
- bgt _081184AA
- ldr r7, =gScanlineEffectRegBuffers
- ldr r6, =gScanlineEffect
- ldr r1, =gTasks
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 3
- adds r5, r0, r1
-_08118490:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _08118490
-_081184AA:
- mov r3, r12
- adds r0, r3, r4
- lsls r0, 3
- mov r5, r8
- adds r1, r0, r5
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _0811852A
- movs r0, 0x3
- mov r3, r9
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _0811852A
- .pool
-_08118524:
- adds r0, r4, 0
- bl sub_811828C
-_0811852A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task_battle_intro_80BC47C
-
- thumb_func_start task00_battle_intro_80BC6C8
-task00_battle_intro_80BC6C8: @ 8118538
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x3
- beq _08118578
- cmp r0, 0x3
- bgt _08118568
- cmp r0, 0x2
- beq _0811856C
- b _08118580
- .pool
-_08118568:
- cmp r0, 0x4
- bne _08118580
-_0811856C:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x8
- b _0811857E
- .pool
-_08118578:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x6
-_0811857E:
- strh r0, [r1]
-_08118580:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r4, r1, r2
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- adds r6, r0, 0
- cmp r1, 0x4
- bne _081185E4
- ldr r7, =gBattle_BG1_Y
- ldrh r0, [r4, 0x14]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081185A6
- ldr r1, =0x000001ff
- adds r0, r1
-_081185A6:
- asrs r0, 9
- subs r0, 0x8
- strh r0, [r7]
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0xB3
- bgt _081185C8
- adds r0, r1, 0x4
- b _081185CA
- .pool
-_081185C8:
- adds r0, r1, 0x6
-_081185CA:
- strh r0, [r4, 0x14]
- ldr r2, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r3, r0, r2
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- movs r0, 0xB4
- lsls r0, 1
- cmp r1, r0
- bne _081185E4
- movs r0, 0
- strh r0, [r3, 0x14]
-_081185E4:
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _081185F4
- b _0811881A
-_081185F4:
- lsls r0, 2
- ldr r1, =_08118608
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118608:
- .4byte _0811861C
- .4byte _0811864C
- .4byte _08118678
- .4byte _081186C8
- .4byte _08118814
-_0811861C:
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x10
- strh r3, [r2, 0x10]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08118640
- strh r3, [r2, 0xC]
- b _08118644
- .pool
-_08118640:
- movs r0, 0x1
- strh r0, [r2, 0xC]
-_08118644:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _0811881A
-_0811864C:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118662
- b _0811881A
-_08118662:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _0811881A
- .pool
-_08118678:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _08118690
- b _0811881A
-_08118690:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _0811881A
- .pool
-_081186C8:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08118708
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08118728
- ldr r1, =0x00001842
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0xF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- b _08118728
- .pool
-_08118708:
- ldrh r2, [r1, 0x10]
- movs r0, 0x1F
- ands r0, r2
- cmp r0, 0
- beq _08118728
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _08118728
- adds r0, r2, 0
- adds r0, 0xFF
- strh r0, [r1, 0x10]
- movs r0, 0x4
- strh r0, [r1, 0x12]
-_08118728:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _0811873C
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_0811873C:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08118752
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_08118752:
- movs r3, 0
- ldr r0, =gScanlineEffect
- mov r8, r0
- ldr r2, =gScanlineEffectRegBuffers
- mov r12, r2
- mov r7, r8
- adds r4, r1, 0
-_08118760:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _08118760
- cmp r3, 0x9F
- bgt _081187A4
- ldr r0, =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, =gScanlineEffect
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r4, r0, r1
-_0811878A:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _0811878A
-_081187A4:
- ldr r1, =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _0811881A
- movs r0, 0x3
- mov r3, r8
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _0811881A
- .pool
-_08118814:
- adds r0, r5, 0
- bl sub_811828C
-_0811881A:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _08118832
- ldrh r1, [r1, 0x10]
- movs r0, 0x52
- bl SetGpuReg
-_08118832:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_battle_intro_80BC6C8
-
- thumb_func_start task_battle_intro_anim
-task_battle_intro_anim: @ 8118844
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r1]
- adds r0, 0x8
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _0811886E
- b _08118A96
-_0811886E:
- lsls r0, 2
- ldr r1, =_08118884
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118884:
- .4byte _08118898
- .4byte _081188F0
- .4byte _0811891C
- .4byte _0811896C
- .4byte _08118A90
-_08118898:
- ldr r1, =0x00001842
- movs r0, 0x50
- bl SetGpuReg
- ldr r4, =0x00000808
- movs r0, 0x52
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- strh r4, [r2, 0x10]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _081188E4
- movs r0, 0x10
- b _081188E6
- .pool
-_081188E4:
- movs r0, 0x1
-_081188E6:
- strh r0, [r2, 0xC]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _08118A96
-_081188F0:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118908
- b _08118A96
-_08118908:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- b _08118A96
- .pool
-_0811891C:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _08118934
- b _08118A96
-_08118934:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _08118A96
- .pool
-_0811896C:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r2, r1, r4
- ldrh r3, [r2, 0xE]
- movs r6, 0xE
- ldrsh r1, [r2, r6]
- mov r12, r0
- cmp r1, 0
- beq _08118986
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _081189A6
-_08118986:
- ldrh r1, [r2, 0x10]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _081189A6
- ldrh r0, [r2, 0x12]
- subs r0, 0x1
- strh r0, [r2, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _081189A6
- adds r0, r1, 0
- adds r0, 0xFF
- strh r0, [r2, 0x10]
- movs r0, 0x6
- strh r0, [r2, 0x12]
-_081189A6:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _081189BA
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_081189BA:
- mov r6, r12
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r4
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _081189D0
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_081189D0:
- movs r3, 0
- ldr r6, =gScanlineEffect
- mov r8, r6
- ldr r7, =gScanlineEffectRegBuffers
- adds r4, r1, 0
-_081189DA:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _081189DA
- cmp r3, 0x9F
- bgt _08118A1E
- ldr r7, =gScanlineEffectRegBuffers
- ldr r6, =gScanlineEffect
- ldr r1, =gTasks
- mov r2, r12
- adds r0, r2, r5
- lsls r0, 3
- adds r4, r0, r1
-_08118A04:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _08118A04
-_08118A1E:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _08118A96
- movs r0, 0x3
- mov r6, r8
- strb r0, [r6, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _08118A96
- .pool
-_08118A90:
- adds r0, r5, 0
- bl sub_811828C
-_08118A96:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _08118AB0
- ldrh r1, [r1, 0x10]
- movs r0, 0x52
- bl SetGpuReg
-_08118AB0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_battle_intro_anim
-
- thumb_func_start task00_battle_intro_wireless
-task00_battle_intro_wireless: @ 8118AC0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- ble _08118B36
- movs r2, 0x10
- ldrsh r0, [r7, r2]
- cmp r0, 0
- bne _08118B36
- ldr r2, =gBattle_BG1_X
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _08118AFE
- cmp r1, 0x4F
- bhi _08118B18
-_08118AFE:
- adds r0, r1, 0x3
- strh r0, [r2]
- ldr r1, =gBattle_BG2_X
- ldrh r0, [r1]
- subs r0, 0x3
- strh r0, [r1]
- b _08118B36
- .pool
-_08118B18:
- str r5, [sp]
- ldr r1, =0x0600e000
- ldr r4, =0x05000200
- mov r0, sp
- adds r2, r4, 0
- bl CpuSet
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- ldr r1, =0x0600f000
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0x1
- strh r0, [r7, 0x10]
-_08118B36:
- ldr r0, =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- mov r9, r0
- adds r5, r2, 0
- cmp r1, 0x4
- bls _08118B4E
- b _08118D5A
-_08118B4E:
- lsls r0, r1, 2
- ldr r1, =_08118B6C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118B6C:
- .4byte _08118B80
- .4byte _08118B92
- .4byte _08118C38
- .4byte _08118C7C
- .4byte _08118D54
-_08118B80:
- adds r0, r5, r6
- lsls r0, 3
- add r0, r9
- movs r1, 0x20
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08118D5A
-_08118B92:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118BA8
- b _08118D5A
-_08118BA8:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r4, =gSprites
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7D
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x8
- mov r9, r3
- mov r3, r9
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x7D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1C
- adds r1, r4
- mov r8, r1
- add r0, r8
- ldr r6, =sub_8038B74
- str r6, [r0]
- adds r3, 0x7E
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- ands r2, r1
- mov r3, r9
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r0, [r5]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r6, [r0]
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- ldr r1, =0x00003f06
- movs r0, 0x4A
- bl SetGpuReg
- b _08118D5A
- .pool
-_08118C38:
- ldr r1, =gBattle_WIN0V
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _08118C50
- b _08118D5A
-_08118C50:
- adds r1, r5, r6
- lsls r1, 3
- add r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _08118D5A
- .pool
-_08118C7C:
- ldr r2, =gBattle_WIN0V
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08118C90
- ldr r3, =0xfffffc04
- adds r0, r1, r3
- strh r0, [r2]
-_08118C90:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08118CA6
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_08118CA6:
- movs r3, 0
- ldr r0, =gScanlineEffect
- mov r12, r0
- ldr r2, =gScanlineEffectRegBuffers
- mov r8, r2
- mov r7, r12
- adds r4, r1, 0
-_08118CB4:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _08118CB4
- cmp r3, 0x9F
- bgt _08118CF8
- ldr r0, =gScanlineEffectRegBuffers
- mov r8, r0
- ldr r7, =gScanlineEffect
- ldr r1, =gTasks
- adds r0, r5, r6
- lsls r0, 3
- adds r4, r0, r1
-_08118CDE:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _08118CDE
-_08118CF8:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r9
- adds r1, r0, r2
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08118D5A
- movs r0, 0x3
- mov r2, r12
- strb r0, [r2, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- b _08118D5A
- .pool
-_08118D54:
- adds r0, r6, 0
- bl sub_811828C
-_08118D5A:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task00_battle_intro_wireless
-
- thumb_func_start sub_8118D68
-sub_8118D68: @ 8118D68
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0x5
- bls _08118D86
- b _08118FB2
-_08118D86:
- lsls r0, 2
- ldr r1, =_08118D98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08118D98:
- .4byte _08118DB0
- .4byte _08118DBE
- .4byte _08118E4C
- .4byte _08118EA8
- .4byte _08118F00
- .4byte _08118FAC
-_08118DB0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0xC]
- b _08118F84
-_08118DBE:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r6
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _08118DD4
- b _08118FB2
-_08118DD4:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r1, =0x00005c0a
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00005e0a
- movs r0, 0xC
- bl SetGpuReg
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- ldr r2, =0x0000f040
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r1, 0xF8
- lsls r1, 6
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x4A
- bl SetGpuReg
- ldr r1, =gBattle_BG0_Y
- ldr r2, =0x0000ffd0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG1_X
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, =gBattle_BG2_X
- subs r2, 0xC0
- adds r0, r2, 0
- strh r0, [r1]
- b _08118FB2
- .pool
-_08118E4C:
- ldr r2, =gBattle_WIN0V
- ldrh r3, [r2]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- adds r1, r3, r0
- strh r1, [r2]
- movs r5, 0xFF
- lsls r5, 8
- ands r1, r5
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- beq _08118E6E
- adds r0, r3, 0
- adds r0, 0xFF
- strh r0, [r2]
-_08118E6E:
- ldrh r0, [r2]
- adds r1, r5, 0
- ands r1, r0
- movs r0, 0x80
- lsls r0, 6
- cmp r1, r0
- beq _08118E7E
- b _08118FB2
-_08118E7E:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r6
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- ldr r2, =gIntroSlideFlags
- ldrh r1, [r2]
- ldr r0, =0x0000fffe
- ands r0, r1
- strh r0, [r2]
- b _08118FB2
- .pool
-_08118EA8:
- ldr r3, =gBattle_WIN0V
- ldrh r2, [r3]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r2
- movs r1, 0x98
- lsls r1, 7
- cmp r0, r1
- beq _08118EC2
- movs r1, 0xFF
- lsls r1, 2
- adds r0, r2, r1
- strh r0, [r3]
-_08118EC2:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r6
- ldrh r1, [r3, 0xC]
- movs r2, 0xC
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _08118ED8
- subs r0, r1, 0x2
- strh r0, [r3, 0xC]
-_08118ED8:
- ldr r1, =gBattle_BG1_X
- ldrh r0, [r3, 0xC]
- strh r0, [r1]
- ldr r2, =gBattle_BG2_X
- negs r1, r0
- strh r1, [r2]
- lsls r0, 16
- cmp r0, 0
- bne _08118FB2
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _08118FB2
- .pool
-_08118F00:
- ldr r1, =gBattle_BG0_Y
- ldrh r0, [r1]
- adds r3, r0, 0x2
- strh r3, [r1]
- ldr r1, =gBattle_BG2_Y
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
- ldr r5, =gBattle_WIN0V
- ldrh r2, [r5]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r2
- movs r1, 0xA0
- lsls r1, 7
- cmp r0, r1
- beq _08118F28
- adds r0, r2, 0
- adds r0, 0xFF
- strh r0, [r5]
-_08118F28:
- lsls r0, r3, 16
- lsrs r0, 16
- cmp r0, 0
- bne _08118FB2
- str r0, [sp]
- ldr r1, =0x0600e000
- ldr r2, =0x05000800
- mov r0, sp
- bl CpuSet
- movs r0, 0
- bl GetGpuReg
- ldr r1, =0x0000bfff
- ands r1, r0
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r1, 0x9C
- lsls r1, 8
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xBC
- lsls r1, 7
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
-_08118F84:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08118FB2
- .pool
-_08118FAC:
- adds r0, r4, 0
- bl sub_811828C
-_08118FB2:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8118D68
-
- thumb_func_start sub_8118FBC
-sub_8118FBC: @ 8118FBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- adds r6, r2, 0
- adds r4, r3, 0
- ldr r0, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- mov r9, r2
- ldr r5, [sp, 0x30]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gMonSpritesGfxPtr
- ldr r2, [r1]
- lsls r4, 2
- adds r2, 0x4
- adds r2, r4
- ldr r1, =gBattleMonForms
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 11
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x80
- lsls r2, 3
- adds r1, r7, 0
- bl CpuSet
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 5
- adds r1, r7, 0
- adds r3, r5, 0
- bl LoadBgTiles
- adds r0, r6, 0
- adds r0, 0x8
- cmp r6, r0
- bge _08119068
- mov r12, r0
- mov r2, r8
- lsls r7, r2, 1
-_0811903A:
- mov r1, r8
- adds r2, r1, 0
- adds r2, 0x8
- adds r4, r6, 0x1
- cmp r1, r2
- bge _08119062
- mov r0, r10
- lsls r3, r0, 12
- lsls r0, r6, 6
- add r0, r9
- adds r6, r7, r0
- subs r1, r2, r1
-_08119052:
- adds r0, r5, 0
- orrs r0, r3
- strh r0, [r6]
- adds r5, 0x1
- adds r6, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _08119052
-_08119062:
- adds r6, r4, 0
- cmp r6, r12
- blt _0811903A
-_08119068:
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 4
- mov r1, r9
- movs r3, 0
- bl LoadBgTilemap
- 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_8118FBC
-
- thumb_func_start sub_8119094
-sub_8119094: @ 8119094
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r5, [sp, 0x28]
- mov r8, r5
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- mov r9, r6
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsls r2, 24
- lsls r3, 24
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- mov r7, r8
- lsls r7, 16
- lsrs r6, r7, 16
- lsls r5, 24
- lsrs r5, 24
- mov r0, r9
- lsls r0, 24
- mov r9, r0
- ldr r4, =0x040000d4
- ldr r0, =gMonSpritesGfxPtr
- ldr r0, [r0]
- lsrs r2, 22
- adds r0, 0x4
- adds r0, r2
- lsrs r3, 13
- ldr r0, [r0]
- adds r0, r3
- str r0, [r4]
- movs r0, 0xC0
- lsls r0, 19
- adds r6, r0
- str r6, [r4, 0x4]
- ldr r0, =0x80000400
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r2, r7, 0
- lsrs r2, 21
- mov r6, r9
- lsrs r6, 15
- subs r4, r2, r6
- lsrs r0, r1, 24
- adds r1, r0, 0
- adds r1, 0x8
- cmp r0, r1
- bge _08119148
- mov r9, r1
- mov r7, r12
- lsls r7, 1
- mov r8, r7
- lsls r5, 11
- str r5, [sp]
-_08119110:
- mov r2, r12
- adds r3, r2, 0
- adds r3, 0x8
- adds r5, r0, 0x1
- cmp r2, r3
- bge _08119142
- mov r1, r10
- lsls r6, r1, 12
- lsls r0, 6
- movs r7, 0xC0
- lsls r7, 19
- adds r0, r7
- ldr r1, [sp]
- adds r0, r1, r0
- mov r7, r8
- adds r1, r7, r0
- subs r2, r3, r2
-_08119132:
- adds r0, r4, 0
- orrs r0, r6
- strh r0, [r1]
- adds r4, 0x1
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08119132
-_08119142:
- adds r0, r5, 0
- cmp r0, r9
- blt _08119110
-_08119148:
- 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_8119094
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index b31af7d1e..362183765 100644
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -125,7 +125,7 @@ sub_815A1B0: @ 815A1B0
adds r4, r0, 0
movs r0, 0x5A
strh r0, [r4, 0x2E]
- ldr r0, =sub_80A64B0
+ ldr r0, =WaitAnimForDuration
str r0, [r4, 0x1C]
movs r0, 0x7
strh r0, [r4, 0x30]
@@ -259,7 +259,7 @@ _0815A2B2:
strh r0, [r5, 0x2E]
strh r7, [r5, 0x32]
strh r6, [r5, 0x36]
- ldr r0, =sub_80A6EEC
+ ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C]
ldr r1, =DestroyAnimSprite
adds r0, r5, 0
@@ -767,7 +767,7 @@ sub_815A6C4: @ 815A6C4
sub sp, 0x4
adds r4, r0, 0
movs r1, 0x1
- bl sub_80A69CC
+ bl InitAnimSpritePos
ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
mov r5, sp
@@ -802,7 +802,7 @@ _0815A6F8:
ldr r0, =0x0000ffce
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80A68D4
+ bl InitAnimArcTranslation
ldr r0, =sub_815A73C
str r0, [r4, 0x1C]
add sp, 0x4
@@ -824,7 +824,7 @@ sub_815A73C: @ 815A73C
movs r0, 0x1E
strh r0, [r4, 0x2E]
strh r1, [r4, 0x30]
- ldr r0, =sub_80A64B0
+ ldr r0, =WaitAnimForDuration
str r0, [r4, 0x1C]
ldr r1, =sub_815A76C
adds r0, r4, 0
@@ -2216,7 +2216,7 @@ sub_815B27C: @ 815B27C
bne _0815B290
adds r0, r5, 0
movs r1, 0
- bl sub_80A69CC
+ bl InitAnimSpritePos
_0815B290:
ldrh r0, [r5, 0x2E]
adds r0, 0x1
@@ -2291,7 +2291,7 @@ _0815B2D8:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
- ldr r0, =sub_80A6EEC
+ ldr r0, =StartAnimLinearTranslation
str r0, [r5, 0x1C]
_0815B324:
pop {r4,r5}
@@ -2810,7 +2810,7 @@ sub_815B70C: @ 815B70C
_0815B71E:
adds r0, r4, 0
movs r1, 0
- bl sub_80A69CC
+ bl InitAnimSpritePos
movs r0, 0x90
lsls r0, 4
strh r0, [r4, 0x30]
@@ -4309,7 +4309,7 @@ sub_815C400: @ 815C400
bne _0815C41E
adds r0, r4, 0
movs r1, 0
- bl sub_80A69CC
+ bl InitAnimSpritePos
ldrh r0, [r4, 0x2E]
adds r0, 0x1
strh r0, [r4, 0x2E]
@@ -8448,7 +8448,7 @@ _0815E4EE:
adds r0, r1
lsls r0, 2
adds r0, r4
- bl sub_80A68D4
+ bl InitAnimArcTranslation
mov r1, r10
ldrb r0, [r1]
bl GetBattlerSide
@@ -9605,7 +9605,7 @@ sub_815EE84: @ 815EE84
bne _0815EEA8
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A69CC
+ bl InitAnimSpritePos
ldr r0, =gBattleAnimAttacker
b _0815EEAA
.pool
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index ab3f27799..c0881e682 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -1473,7 +1473,7 @@ sub_8171104: @ 8171104
ldr r0, =0x0000ffd8
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80A68D4
+ bl InitAnimArcTranslation
ldr r0, =sub_8171134
str r0, [r4, 0x1C]
pop {r4}
@@ -2631,7 +2631,7 @@ _08171A26:
ldrsb r0, [r1, r0]
strh r0, [r5, 0x38]
adds r0, r5, 0
- bl sub_80A68D4
+ bl InitAnimArcTranslation
add r4, r10
ldr r0, =sub_8171AAC
str r0, [r4]
@@ -5571,7 +5571,7 @@ sub_817330C: @ 817330C
push {r4,r5,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80A69CC
+ bl InitAnimSpritePos
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
@@ -5600,7 +5600,7 @@ sub_817330C: @ 817330C
ldr r0, =0x0000ffe0
strh r0, [r4, 0x38]
adds r0, r4, 0
- bl sub_80A68D4
+ bl InitAnimArcTranslation
ldr r2, =gSprites
ldr r1, =gBattlerSpriteIds
ldr r0, =gBattleAnimAttacker
diff --git a/asm/battle_anim_effects_1.s b/asm/battle_anim_effects_1.s
new file mode 100644
index 000000000..910b09b8c
--- /dev/null
+++ b/asm/battle_anim_effects_1.s
@@ -0,0 +1,9550 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80FE840
+sub_80FE840: @ 80FE840
+ 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]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x30]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FE87C
+ ldrh r0, [r5, 0x8]
+ negs r0, r0
+ b _080FE87E
+ .pool
+_080FE87C:
+ ldrh r0, [r5, 0x8]
+_080FE87E:
+ strh r0, [r4, 0x34]
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0xA]
+ strh r0, [r4, 0x36]
+ ldr r0, =sub_80FE898
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FE840
+
+ thumb_func_start sub_80FE898
+sub_80FE898: @ 80FE898
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _080FE8D4
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x2E]
+ ldrh r1, [r4, 0x32]
+ lsls r0, r1, 16
+ asrs r0, 24
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r1, r0
+ strh r1, [r4, 0x32]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r2, 0x34
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x38]
+ adds r0, r1
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ b _080FE8DA
+_080FE8D4:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FE8DA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FE898
+
+ thumb_func_start sub_80FE8E0
+sub_80FE8E0: @ 80FE8E0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0x2E]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r4, 0x1C]
+ ldr r1, =move_anim_8074EE0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FE8E0
+
+ thumb_func_start sub_80FE930
+sub_80FE930: @ 80FE930
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r5, =gBattleAnimArgs
+ ldrb r1, [r5, 0x6]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x2E]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FE930
+
+ thumb_func_start sub_80FE988
+sub_80FE988: @ 80FE988
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r6, =gBattleAnimArgs
+ ldrh r0, [r6, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ ldrh r0, [r6, 0x6]
+ strh r0, [r4, 0x38]
+ ldr r1, =sub_80FE9E4
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FE988
+
+ thumb_func_start sub_80FE9E4
+sub_80FE9E4: @ 80FE9E4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FE9FA
+ adds r0, r4, 0
+ bl DestroySprite
+ b _080FEA4E
+_080FE9FA:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7F
+ ble _080FEA14
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ adds r0, 0x1
+ b _080FEA1E
+ .pool
+_080FEA14:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ adds r0, 0x6
+_080FEA1E:
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x5
+ bl Sin
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xE
+ bl Cos
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0xF
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+_080FEA4E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FE9E4
+
+ thumb_func_start sub_80FEA58
+sub_80FEA58: @ 80FEA58
+ 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
+ ldrh r0, [r5, 0x8]
+ subs r0, 0x1
+ movs r2, 0
+ strh r0, [r5, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _080FEAB2
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ strh r0, [r5, 0xA]
+ movs r0, 0x6
+ strh r0, [r5, 0x8]
+ ldr r1, =gBattleAnimArgs
+ movs r0, 0xF
+ strh r0, [r1]
+ strh r2, [r1, 0x2]
+ movs r0, 0x50
+ strh r0, [r1, 0x4]
+ strh r2, [r1, 0x6]
+ ldr r4, =gUnknown_08592210
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ adds r3, r0, 0
+ adds r3, 0x1
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0
+ bl CreateSpriteAndAnimate
+_080FEAB2:
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ cmp r0, 0xF
+ bne _080FEAC0
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_080FEAC0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEA58
+
+ thumb_func_start sub_80FEAD8
+sub_80FEAD8: @ 80FEAD8
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl sub_80A6980
+ ldr r6, =gBattleAnimArgs
+ ldrh r0, [r6, 0x6]
+ strh r0, [r4, 0x2E]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ ldrh r0, [r6, 0x4]
+ strh r0, [r4, 0x38]
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldr r0, =sub_80FEB28
+ str r0, [r4, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEAD8
+
+ thumb_func_start sub_80FEB28
+sub_80FEB28: @ 80FEB28
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FEB3C
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FEB3C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEB28
+
+ thumb_func_start sub_80FEB44
+sub_80FEB44: @ 80FEB44
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl Random2
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x7
+ ands r1, r0
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ 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 _080FEB90
+ ldrh r0, [r5, 0x20]
+ subs r0, 0x14
+ b _080FEB94
+ .pool
+_080FEB90:
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x14
+_080FEB94:
+ strh r0, [r5, 0x20]
+ bl Random2
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x1F
+ ands r0, r1
+ adds r0, 0x40
+ 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 sub_80A7160
+ bl Random2
+ movs r1, 0xFF
+ ands r1, r0
+ strh r1, [r5, 0x38]
+ adds r0, r5, 0
+ adds r0, 0x43
+ ldrb r0, [r0]
+ strh r0, [r5, 0x3A]
+ ldr r1, =sub_80FEBFC
+ str r1, [r5, 0x1C]
+ adds r0, r5, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEB44
+
+ thumb_func_start sub_80FEBFC
+sub_80FEBFC: @ 80FEBFC
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80A70E8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FEC12
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+ b _080FEC42
+_080FEC12:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xC
+ bl Cos
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7E
+ bgt _080FEC2E
+ ldrh r0, [r4, 0x3A]
+ b _080FEC32
+_080FEC2E:
+ ldrh r0, [r4, 0x3A]
+ adds r0, 0x1
+_080FEC32:
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x18
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+_080FEC42:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEBFC
+
+ thumb_func_start sub_80FEC48
+sub_80FEC48: @ 80FEC48
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FEC68
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_080FEC68:
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4, 0x8]
+ strh r0, [r6, 0x2E]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ strh r0, [r6, 0x32]
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x6]
+ adds r0, r1
+ strh r0, [r6, 0x36]
+ ldrh r0, [r4, 0xA]
+ strh r0, [r6, 0x38]
+ adds r0, r6, 0
+ bl InitAnimArcTranslation
+ ldr r0, =sub_80FECB8
+ str r0, [r6, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEC48
+
+ thumb_func_start sub_80FECB8
+sub_80FECB8: @ 80FECB8
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FECE2
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r4, 0x1C]
+ ldr r1, =sub_80FECF0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+_080FECE2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FECB8
+
+ thumb_func_start sub_80FECF0
+sub_80FECF0: @ 80FECF0
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ movs r0, 0x3C
+ strh r0, [r4, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FECF0
+
+ thumb_func_start sub_80FED28
+sub_80FED28: @ 80FED28
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl sub_80A6980
+ ldr r5, =gBattleAnimArgs
+ ldrb r1, [r5, 0x8]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _080FED52
+ ldrb r0, [r4, 0x1]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x4
+ orrs r1, r0
+ strb r1, [r4, 0x1]
+_080FED52:
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x30]
+ ldr r1, =sub_80FED74
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FED28
+
+ thumb_func_start sub_80FED74
+sub_80FED74: @ 80FED74
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x20
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x3
+ negs r1, r1
+ bl Cos
+ ldrh r1, [r4, 0x32]
+ adds r1, 0x18
+ strh r1, [r4, 0x32]
+ lsls r1, 16
+ asrs r1, 24
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x40
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7F
+ bhi _080FEDC8
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ 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
+ b _080FEDEC
+ .pool
+_080FEDC8:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8328
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _080FEDDC
+ movs r2, 0x3
+_080FEDDC:
+ movs r0, 0x3
+ ands r2, r0
+ lsls r2, 2
+ ldrb r1, [r4, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ orrs r0, r2
+_080FEDEC:
+ strb r0, [r4, 0x5]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x2
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _080FEE10
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FEE10:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FED74
+
+ thumb_func_start sub_80FEE1C
+sub_80FEE1C: @ 80FEE1C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FEE36
+ bl IsDoubleBattle
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FEE3E
+_080FEE36:
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ b _080FEE70
+_080FEE3E:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080FEE60
+ movs r0, 0x2
+ movs r1, 0x4
+ movs r2, 0x3
+ bl SetAnimBgAttribute
+ b _080FEE6A
+ .pool
+_080FEE60:
+ movs r0, 0x1
+ movs r1, 0x4
+ movs r2, 0x1
+ bl SetAnimBgAttribute
+_080FEE6A:
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_080FEE70:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEE1C
+
+ thumb_func_start sub_80FEE78
+sub_80FEE78: @ 80FEE78
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r5, =gBattleAnimArgs
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r5, [r5, 0x4]
+ adds r0, r5
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ movs r0, 0x40
+ strh r0, [r4, 0x38]
+ ldr r1, =sub_80FEECC
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEE78
+
+ thumb_func_start sub_80FEECC
+sub_80FEECC: @ 80FEECC
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FEF38
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x20
+ bl Sin
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x5
+ 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 _080FEF18
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ subs r0, 0x1
+ b _080FEF22
+ .pool
+_080FEF18:
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ adds r0, 0x1
+_080FEF22:
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x5
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ b _080FEF3E
+ .pool
+_080FEF38:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FEF3E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEECC
+
+ thumb_func_start sub_80FEF44
+sub_80FEF44: @ 80FEF44
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r5, =gBattleAnimArgs
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r5, [r5, 0x4]
+ adds r0, r5
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ movs r0, 0x40
+ strh r0, [r4, 0x38]
+ ldr r1, =sub_80FEF98
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEF44
+
+ thumb_func_start sub_80FEF98
+sub_80FEF98: @ 80FEF98
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FEFF0
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x8
+ bl Sin
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x38]
+ adds r0, r1, 0
+ subs r0, 0x3B
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bls _080FEFD0
+ adds r0, r1, 0
+ subs r0, 0xBB
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bhi _080FEFE4
+_080FEFD0:
+ ldrb r2, [r4, 0x3]
+ lsls r1, r2, 26
+ lsrs r1, 27
+ movs r0, 0x8
+ eors r1, r0
+ lsls r1, 1
+ subs r0, 0x47
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+_080FEFE4:
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x5
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ b _080FEFF6
+_080FEFF0:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FEFF6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEF98
+
+ thumb_func_start sub_80FEFFC
+sub_80FEFFC: @ 80FEFFC
+ 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 r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x32]
+ ldr r0, =sub_80FF044
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FEFFC
+
+ thumb_func_start sub_80FF044
+sub_80FF044: @ 80FF044
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x32]
+ movs r2, 0x32
+ ldrsh r3, [r1, r2]
+ cmp r3, 0
+ bne _080FF078
+ ldrh r0, [r1, 0x30]
+ movs r2, 0x1
+ ands r2, r0
+ cmp r2, 0
+ beq _080FF066
+ movs r0, 0x80
+ strh r0, [r1, 0x2E]
+ strh r3, [r1, 0x30]
+ strh r3, [r1, 0x32]
+ b _080FF06C
+_080FF066:
+ strh r2, [r1, 0x2E]
+ strh r2, [r1, 0x30]
+ strh r2, [r1, 0x32]
+_080FF06C:
+ ldr r0, =sub_80FF090
+ str r0, [r1, 0x1C]
+ b _080FF08C
+ .pool
+_080FF078:
+ subs r0, 0x1
+ strh r0, [r1, 0x32]
+ ldrh r0, [r1, 0x2E]
+ ldrh r2, [r1, 0x20]
+ adds r0, r2
+ strh r0, [r1, 0x20]
+ ldrh r0, [r1, 0x30]
+ ldrh r2, [r1, 0x22]
+ adds r0, r2
+ strh r0, [r1, 0x22]
+_080FF08C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FF044
+
+ thumb_func_start sub_80FF090
+sub_80FF090: @ 80FF090
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FF0B4
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x19
+ bl Sin
+ negs r0, r0
+ b _080FF0BE
+ .pool
+_080FF0B4:
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x19
+ bl Sin
+_080FF0BE:
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x2
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF0DE
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ strh r0, [r4, 0x26]
+_080FF0DE:
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x50
+ ble _080FF0EC
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FF0EC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FF090
+
+ thumb_func_start sub_80FF0F4
+sub_80FF0F4: @ 80FF0F4
+ push {r4-r6,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 _080FF114
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_080FF114:
+ ldr r6, =gBattleAnimArgs
+ ldrh r0, [r6, 0x8]
+ strh r0, [r5, 0x2E]
+ movs r1, 0xC
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _080FF154
+ 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 r6, [r6, 0x6]
+ adds r0, r6
+ b _080FF174
+ .pool
+_080FF154:
+ 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
+ ldrh r0, [r6, 0x4]
+ ldrh r1, [r5, 0x32]
+ adds r0, r1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r6, 0x6]
+ ldrh r1, [r5, 0x36]
+ adds r0, r1
+_080FF174:
+ strh r0, [r5, 0x36]
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0xA]
+ strh r0, [r5, 0x38]
+ adds r0, r5, 0
+ bl InitAnimArcTranslation
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r4, 24
+ lsls r0, 24
+ cmp r4, r0
+ bne _080FF1AC
+ movs r0, 0x1
+ b _080FF1AE
+ .pool
+_080FF1AC:
+ movs r0, 0
+_080FF1AE:
+ strh r0, [r5, 0x2E]
+ ldr r0, =sub_80FF1C0
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF0F4
+
+ thumb_func_start sub_80FF1C0
+sub_80FF1C0: @ 80FF1C0
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ movs r7, 0
+ ldrh r5, [r6, 0x2E]
+ ldrh r4, [r6, 0x3C]
+ movs r0, 0x1
+ strh r0, [r6, 0x2E]
+ adds r0, r6, 0
+ bl TranslateAnimArc
+ ldrh r0, [r6, 0x3C]
+ strh r5, [r6, 0x2E]
+ lsls r4, 16
+ asrs r4, 16
+ cmp r4, 0xC8
+ ble _080FF1F2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x37
+ bgt _080FF1F2
+ ldrh r0, [r6, 0x6]
+ cmp r0, 0
+ bne _080FF1F8
+ adds r0, 0x1
+ strh r0, [r6, 0x6]
+_080FF1F2:
+ ldrh r0, [r6, 0x6]
+ cmp r0, 0
+ beq _080FF22A
+_080FF1F8:
+ movs r1, 0x2E
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ beq _080FF22A
+ adds r3, r6, 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, [r6, 0x6]
+ adds r0, 0x1
+ strh r0, [r6, 0x6]
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1E
+ bne _080FF22A
+ movs r7, 0x1
+_080FF22A:
+ movs r2, 0x20
+ ldrsh r0, [r6, r2]
+ movs r2, 0x24
+ ldrsh r1, [r6, r2]
+ adds r0, r1
+ adds r0, 0x10
+ movs r1, 0x88
+ lsls r1, 1
+ cmp r0, r1
+ bhi _080FF254
+ movs r0, 0x22
+ ldrsh r1, [r6, r0]
+ movs r2, 0x26
+ ldrsh r0, [r6, r2]
+ adds r1, r0
+ cmp r1, 0xA0
+ bgt _080FF254
+ movs r0, 0x10
+ negs r0, r0
+ cmp r1, r0
+ bge _080FF256
+_080FF254:
+ movs r7, 0x1
+_080FF256:
+ cmp r7, 0
+ beq _080FF260
+ adds r0, r6, 0
+ bl DestroyAnimSprite
+_080FF260:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FF1C0
+
+ thumb_func_start AnimMoveTwisterParticle
+AnimMoveTwisterParticle: @ 80FF268
+ push {r4,lr}
+ adds r4, r0, 0
+ bl IsDoubleBattle
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080FF28A
+ 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
+_080FF28A:
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x20
+ strh r0, [r4, 0x22]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x32]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x34]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x36]
+ ldr r0, =sub_80FF2BC
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end AnimMoveTwisterParticle
+
+ thumb_func_start sub_80FF2BC
+sub_80FF2BC: @ 80FF2BC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xFF
+ bne _080FF2D2
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x2
+ strh r0, [r4, 0x22]
+ b _080FF2E0
+_080FF2D2:
+ cmp r0, 0
+ ble _080FF2E0
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x2
+ strh r0, [r4, 0x22]
+ subs r0, r1, 0x2
+ strh r0, [r4, 0x30]
+_080FF2E0:
+ ldrh r3, [r4, 0x32]
+ ldrh r5, [r4, 0x38]
+ adds r2, r3, r5
+ strh r2, [r4, 0x38]
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ movs r5, 0x36
+ ldrsh r0, [r4, r5]
+ cmp r1, r0
+ bge _080FF2F8
+ adds r0, r2, r3
+ strh r0, [r4, 0x38]
+_080FF2F8:
+ ldrh r1, [r4, 0x38]
+ movs r0, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r2, 0x34
+ ldrsh r1, [r4, r2]
+ bl Cos
+ strh r0, [r4, 0x24]
+ movs r5, 0x38
+ ldrsh r0, [r4, r5]
+ movs r1, 0x5
+ bl Sin
+ strh r0, [r4, 0x26]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7F
+ bgt _080FF338
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8328
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ b _080FF346
+ .pool
+_080FF338:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8328
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1
+_080FF346:
+ 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]
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080FF36A
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FF36A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF2BC
+
+ thumb_func_start sub_80FF374
+sub_80FF374: @ 80FF374
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0
+ bl sub_80A6980
+ adds r2, r5, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r4, =gBattleAnimArgs
+ ldrb r1, [r4, 0x4]
+ adds r0, r5, 0
+ bl StartSpriteAffineAnim
+ ldrh r0, [r4, 0x4]
+ strh r0, [r5, 0x3A]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r5, 0x3C]
+ ldr r0, =sub_80FF3B0
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF374
+
+ thumb_func_start sub_80FF3B0
+sub_80FF3B0: @ 80FF3B0
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x0000ffff
+ cmp r1, r0
+ bne _080FF3DA
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r4, 0x2E]
+ ldr r0, =sub_80FF3EC
+ str r0, [r4, 0x1C]
+_080FF3DA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF3B0
+
+ thumb_func_start sub_80FF3EC
+sub_80FF3EC: @ 80FF3EC
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080FF404
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0xB
+ b _080FF408
+_080FF404:
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0xB
+_080FF408:
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x6
+ bne _080FF424
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x32]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x32]
+_080FF424:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF452
+ ldrh r0, [r4, 0x3C]
+ subs r0, 0x1
+ strh r0, [r4, 0x3C]
+ lsls r0, 16
+ cmp r0, 0
+ ble _080FF44C
+ ldrh r1, [r4, 0x3A]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAffineAnim
+ b _080FF452
+_080FF44C:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FF452:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FF3EC
+
+ thumb_func_start sub_80FF458
+sub_80FF458: @ 80FF458
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldr r0, =gSprites
+ mov r10, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ mov r2, r10
+ adds r7, r0, r2
+ adds r0, r7, 0
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ lsls r0, 29
+ cmp r0, 0
+ bge _080FF498
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ b _080FF51C
+ .pool
+_080FF498:
+ adds r0, r1, 0
+ movs r1, 0x1
+ bl sub_80A7270
+ ldr r0, =gTasks
+ lsls r6, r4, 2
+ adds r6, r4
+ lsls r6, 3
+ adds r6, r0
+ ldrb r0, [r7, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ strh r0, [r6, 0x24]
+ ldr r0, =gBattleAnimTarget
+ mov r9, r0
+ ldrb r0, [r0]
+ bl sub_80A8328
+ movs r1, 0x3
+ mov r8, r1
+ mov r1, r8
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r7, 0x5]
+ movs r5, 0xD
+ negs r5, r5
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r7, 0x5]
+ movs r0, 0x3
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r1, r0, 24
+ lsls r4, r1, 4
+ adds r4, r1
+ lsls r4, 2
+ add r4, r10
+ ldrb r0, [r4, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ strh r0, [r6, 0x26]
+ mov r2, r9
+ ldrb r1, [r2]
+ movs r0, 0x2
+ eors r0, r1
+ bl sub_80A8328
+ mov r1, r8
+ ands r1, r0
+ lsls r1, 2
+ ldrb r0, [r4, 0x5]
+ ands r5, r0
+ orrs r5, r1
+ strb r5, [r4, 0x5]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ strh r0, [r6, 0x8]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r6, 0xA]
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r6, 0x1E]
+ ldr r0, =sub_80FF53C
+ str r0, [r6]
+_080FF51C:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF458
+
+ thumb_func_start sub_80FF53C
+sub_80FF53C: @ 80FF53C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r1, [r4, 0x8]
+ ldrh r0, [r4, 0x1C]
+ adds r1, r0
+ strh r1, [r4, 0x1C]
+ ldr r2, =gSprites
+ lsls r0, r6, 4
+ adds r0, r6
+ lsls r0, 2
+ adds r5, r0, r2
+ lsls r1, 16
+ asrs r1, 24
+ strh r1, [r5, 0x24]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FF586
+ ldrh r0, [r5, 0x24]
+ negs r0, r0
+ strh r0, [r5, 0x24]
+_080FF586:
+ ldrh r0, [r4, 0x1E]
+ adds r0, 0x10
+ strh r0, [r4, 0x1E]
+ movs r0, 0x1E
+ ldrsh r2, [r4, r0]
+ adds r0, r6, 0
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ adds r0, r6, 0
+ bl sub_80A7E6C
+ ldrh r0, [r4, 0xA]
+ subs r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bne _080FF5B4
+ strh r0, [r4, 0x8]
+ ldr r0, =sub_80FF5CC
+ str r0, [r4]
+_080FF5B4:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF53C
+
+ thumb_func_start sub_80FF5CC
+sub_80FF5CC: @ 80FF5CC
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x0000ffff
+ cmp r1, r0
+ bne _080FF660
+ ldr r0, =gTasks
+ lsls r2, r3, 2
+ adds r1, r2, r3
+ lsls r1, 3
+ adds r7, r1, r0
+ movs r1, 0x8
+ ldrsh r5, [r7, r1]
+ adds r4, r0, 0
+ cmp r5, 0
+ bne _080FF674
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80A7344
+ ldr r6, =gSprites
+ lsls r1, r4, 4
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r6
+ strh r5, [r1, 0x24]
+ strh r5, [r1, 0x26]
+ movs r5, 0x3
+ ldrh r2, [r7, 0x24]
+ ands r2, r5
+ lsls r2, 2
+ ldrb r3, [r1, 0x5]
+ movs r4, 0xD
+ negs r4, r4
+ adds r0, r4, 0
+ ands r0, r3
+ orrs r0, r2
+ strb r0, [r1, 0x5]
+ movs r0, 0x3
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ ldrh r0, [r7, 0x26]
+ ands r0, r5
+ lsls r0, 2
+ ldrb r2, [r1, 0x5]
+ ands r4, r2
+ orrs r4, r0
+ strb r4, [r1, 0x5]
+ ldrh r0, [r7, 0x8]
+ adds r0, 0x1
+ strh r0, [r7, 0x8]
+ b _080FF68E
+ .pool
+_080FF660:
+ ldr r1, =gTasks
+ lsls r2, r3, 2
+ adds r0, r2, r3
+ lsls r0, 3
+ adds r0, r1
+ movs r4, 0x8
+ ldrsh r0, [r0, r4]
+ adds r4, r1, 0
+ cmp r0, 0
+ beq _080FF68E
+_080FF674:
+ adds r1, r2, r3
+ lsls r1, 3
+ adds r1, r4
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ bne _080FF68E
+ adds r0, r3, 0
+ bl DestroyAnimVisualTask
+_080FF68E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF5CC
+
+ thumb_func_start sub_80FF698
+sub_80FF698: @ 80FF698
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _080FF6AA
+ cmp r0, 0x1
+ beq _080FF704
+ b _080FF756
+_080FF6AA:
+ ldr r6, =gBattleAnimTarget
+ ldrb r0, [r6]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FF6C2
+ ldr r1, =gBattleAnimArgs
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ negs r0, r0
+ strh r0, [r1]
+_080FF6C2:
+ 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
+ strh r0, [r5, 0x22]
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _080FF756
+ .pool
+_080FF704:
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r5, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF756
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl ChangeSpriteAffineAnim
+ movs r0, 0x19
+ strh r0, [r5, 0x2E]
+ ldr r4, =gBattleAnimAttacker
+ 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]
+ ldr r0, =sub_80A70C0
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+_080FF756:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF698
+
+ thumb_func_start sub_80FF768
+sub_80FF768: @ 80FF768
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _080FF7D4
+ 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, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x22]
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4]
+ strh r0, [r5, 0x24]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r5, 0x26]
+ ldrb r0, [r4, 0x4]
+ adds r0, 0x1E
+ adds r1, r5, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrb r1, [r4, 0x6]
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ movs r2, 0x22
+ ldrsh r0, [r5, r2]
+ movs r2, 0x26
+ ldrsh r1, [r5, r2]
+ adds r0, r1
+ cmp r0, 0x78
+ ble _080FF7D4
+ ldrh r0, [r5, 0x22]
+ adds r1, r0, 0
+ subs r1, 0x78
+ ldrh r2, [r5, 0x26]
+ adds r0, r2
+ adds r1, r0
+ strh r1, [r5, 0x22]
+_080FF7D4:
+ ldr r0, =sub_80FF8DC
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF768
+
+ thumb_func_start sub_80FF7EC
+sub_80FF7EC: @ 80FF7EC
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0x4
+ mov r9, r0
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ mov r8, r0
+ mov r0, r8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r6, =gBattleAnimTarget
+ ldrb r0, [r6]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r6]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ adds r2, r0, 0
+ lsls r2, 24
+ subs r4, r5
+ lsls r4, 16
+ lsrs r2, 24
+ mov r1, r8
+ subs r2, r1
+ lsls r2, 16
+ lsrs r2, 16
+ lsrs r3, r4, 16
+ mov r10, r3
+ asrs r4, 16
+ ldr r6, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ muls r0, r4
+ movs r1, 0x64
+ str r2, [sp]
+ bl __divsi3
+ adds r5, r0
+ mov r3, r9
+ strh r5, [r3, 0x20]
+ ldr r2, [sp]
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r3, 0
+ ldrsh r1, [r6, r3]
+ muls r0, r1
+ movs r1, 0x64
+ bl __divsi3
+ add r8, r0
+ mov r1, r8
+ mov r0, r9
+ strh r1, [r0, 0x22]
+ ldrh r0, [r6, 0x2]
+ mov r3, r9
+ strh r0, [r3, 0x24]
+ ldrh r0, [r6, 0x4]
+ strh r0, [r3, 0x26]
+ ldrb r0, [r6, 0x6]
+ adds r0, 0x1E
+ mov r1, r9
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrb r1, [r6, 0x8]
+ mov r0, r9
+ bl StartSpriteAnim
+ ldrh r0, [r6, 0xA]
+ mov r1, r9
+ strh r0, [r1, 0x32]
+ ldr r0, =sub_80FF8DC
+ str r0, [r1, 0x1C]
+ ldr r1, =gUnknown_0203A0F8
+ mov r3, r9
+ ldrh r0, [r3, 0x20]
+ strh r0, [r1]
+ ldrh r0, [r3, 0x22]
+ strh r0, [r1, 0x2]
+ mov r0, r10
+ strh r0, [r1, 0x4]
+ ldr r2, [sp]
+ strh r2, [r1, 0x6]
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF7EC
+
+ thumb_func_start sub_80FF8DC
+sub_80FF8DC: @ 80FF8DC
+ push {lr}
+ adds r3, r0, 0
+ ldrh r1, [r3, 0x2E]
+ adds r1, 0x1
+ strh r1, [r3, 0x2E]
+ lsls r1, 16
+ asrs r1, 16
+ movs r2, 0x32
+ ldrsh r0, [r3, r2]
+ subs r0, 0xA
+ cmp r1, r0
+ ble _080FF91C
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ movs r2, 0x3E
+ adds r2, r3
+ mov r12, r2
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ mov r1, r12
+ strb r0, [r1]
+_080FF91C:
+ movs r2, 0x2E
+ ldrsh r1, [r3, r2]
+ movs r2, 0x32
+ ldrsh r0, [r3, r2]
+ cmp r1, r0
+ ble _080FF92E
+ adds r0, r3, 0
+ bl DestroyAnimSprite
+_080FF92E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FF8DC
+
+ thumb_func_start sub_80FF934
+sub_80FF934: @ 80FF934
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _080FF974
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r2, [r4]
+ adds r0, r2
+ strh r0, [r6, 0x20]
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ strh r0, [r6, 0x22]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r6, 0x30]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r6, 0x32]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r6, 0x34]
+_080FF974:
+ ldrh r0, [r6, 0x2E]
+ adds r0, 0x1
+ strh r0, [r6, 0x2E]
+ ldrh r1, [r6, 0x30]
+ muls r0, r1
+ strh r0, [r6, 0x24]
+ movs r2, 0x2E
+ ldrsh r1, [r6, r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ movs r1, 0xFF
+ ands r0, r1
+ movs r2, 0x32
+ ldrsh r1, [r6, r2]
+ bl Sin
+ strh r0, [r6, 0x26]
+ movs r0, 0x2E
+ ldrsh r1, [r6, r0]
+ movs r2, 0x34
+ ldrsh r0, [r6, r2]
+ cmp r1, r0
+ ble _080FF9AA
+ adds r0, r6, 0
+ bl DestroyAnimSprite
+_080FF9AA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FF934
+
+ thumb_func_start sub_80FF9B8
+sub_80FF9B8: @ 80FF9B8
+ push {r4,r5,lr}
+ movs r2, 0x20
+ ldrsh r4, [r0, r2]
+ lsls r4, 8
+ movs r3, 0x22
+ ldrsh r2, [r0, r3]
+ orrs r4, r2
+ movs r5, 0x3A
+ ldrsh r2, [r0, r5]
+ lsls r2, 8
+ movs r5, 0x3C
+ ldrsh r3, [r0, r5]
+ orrs r2, r3
+ lsls r1, 8
+ strh r4, [r0, 0x38]
+ strh r2, [r0, 0x3A]
+ strh r1, [r0, 0x3C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FF9B8
+
+ thumb_func_start sub_80FF9E0
+sub_80FF9E0: @ 80FF9E0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ mov r8, r0
+ ldrh r0, [r0, 0x38]
+ lsrs r1, r0, 8
+ mov r10, r1
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ mov r1, r8
+ ldrh r0, [r1, 0x3A]
+ lsrs r2, r0, 8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrh r1, [r1, 0x3C]
+ lsls r0, r1, 16
+ asrs r0, 24
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r3, 0xFF
+ ands r3, r1
+ cmp r2, 0
+ bne _080FFA1A
+ movs r2, 0x20
+ negs r2, r2
+ b _080FFA22
+_080FFA1A:
+ cmp r2, 0xFF
+ bne _080FFA22
+ movs r2, 0x88
+ lsls r2, 1
+_080FFA22:
+ mov r0, r9
+ subs r4, r0
+ lsls r4, 16
+ lsrs r4, 16
+ mov r1, r10
+ subs r0, r2, r1
+ lsls r5, r3, 16
+ asrs r5, 16
+ muls r0, r5
+ lsls r1, r6, 16
+ asrs r7, r1, 16
+ adds r1, r7, 0
+ bl __divsi3
+ adds r6, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ muls r0, r5
+ adds r1, r7, 0
+ bl __divsi3
+ add r6, r10
+ mov r1, r8
+ strh r6, [r1, 0x20]
+ add r0, r9
+ strh r0, [r1, 0x22]
+ adds r5, 0x1
+ lsls r5, 16
+ lsrs r3, r5, 16
+ asrs r5, 16
+ cmp r5, r7
+ beq _080FFA74
+ lsls r1, r7, 8
+ lsls r0, r3, 16
+ asrs r0, 16
+ orrs r0, r1
+ mov r1, r8
+ strh r0, [r1, 0x3C]
+ movs r0, 0
+ b _080FFA76
+_080FFA74:
+ movs r0, 0x1
+_080FFA76:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF9E0
+
+ thumb_func_start sub_80FFA84
+sub_80FFA84: @ 80FFA84
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xA
+ bne _080FFA98
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+_080FFA98:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x32
+ ble _080FFAAC
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FFAAC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FFA84
+
+ thumb_func_start sub_80FFAB4
+sub_80FFAB4: @ 80FFAB4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ lsls r0, 7
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ ldrh r1, [r4, 0x2E]
+ adds r1, r0
+ movs r5, 0
+ strh r1, [r4, 0x2E]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x7F
+ ble _080FFADE
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ strh r5, [r4, 0x2E]
+_080FFADE:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x80
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x30
+ ldrsh r2, [r4, r1]
+ lsls r2, 3
+ movs r1, 0x1E
+ subs r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl Sin
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ bl sub_80FF9E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FFB0E
+ strh r5, [r4, 0x26]
+ strh r5, [r4, 0x2E]
+ ldr r0, =sub_80FFA84
+ str r0, [r4, 0x1C]
+_080FFB0E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFAB4
+
+ thumb_func_start sub_80FFB18
+sub_80FFB18: @ 80FFB18
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =gBattleAnimAttacker
+ ldrb r1, [r0]
+ movs r0, 0x2
+ eors r0, r1
+ ldrb r4, [r4]
+ cmp r0, r4
+ bne _080FFB68
+ strh r6, [r5, 0x3A]
+ adds r0, r2, 0
+ adds r0, 0xA
+ strh r0, [r5, 0x3C]
+ adds r0, r5, 0
+ movs r1, 0x3C
+ bl sub_80FF9B8
+ movs r0, 0x1
+ b _080FFB7A
+ .pool
+_080FFB68:
+ strh r6, [r5, 0x3A]
+ adds r0, r2, 0
+ adds r0, 0xA
+ strh r0, [r5, 0x3C]
+ adds r0, r5, 0
+ movs r1, 0x3C
+ bl sub_80FF9B8
+ movs r0, 0x3
+_080FFB7A:
+ strh r0, [r5, 0x34]
+ movs r0, 0x3C
+ strh r0, [r5, 0x36]
+ ldr r0, =sub_80FFAB4
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFB18
+
+ thumb_func_start sub_80FFB90
+sub_80FFB90: @ 80FFB90
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ lsls r0, 7
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ ldrh r1, [r4, 0x2E]
+ adds r1, r0
+ movs r5, 0
+ strh r1, [r4, 0x2E]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x7F
+ ble _080FFBBA
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ strh r5, [r4, 0x2E]
+_080FFBBA:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x80
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x30
+ ldrsh r2, [r4, r1]
+ lsls r2, 3
+ movs r1, 0x1E
+ subs r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl Sin
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ bl sub_80FF9E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FFBEC
+ strh r5, [r4, 0x26]
+ strh r5, [r4, 0x2E]
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FFBEC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FFB90
+
+ thumb_func_start sub_80FFBF4
+sub_80FFBF4: @ 80FFBF4
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080FFC38
+ strh r0, [r5, 0x3A]
+ adds r0, r6, 0
+ adds r0, 0xA
+ strh r0, [r5, 0x3C]
+ adds r0, r5, 0
+ movs r1, 0x28
+ bl sub_80FF9B8
+ movs r0, 0x3
+ strh r0, [r5, 0x34]
+ movs r0, 0x3C
+ strh r0, [r5, 0x36]
+ ldr r0, =sub_80FFAB4
+ b _080FFC62
+ .pool
+_080FFC38:
+ movs r0, 0xFF
+ strh r0, [r5, 0x3A]
+ adds r0, r6, 0
+ adds r0, 0xA
+ strh r0, [r5, 0x3C]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FFC50
+ movs r0, 0
+ strh r0, [r5, 0x3A]
+_080FFC50:
+ adds r0, r5, 0
+ movs r1, 0x28
+ bl sub_80FF9B8
+ movs r0, 0x3
+ strh r0, [r5, 0x34]
+ movs r0, 0x3C
+ strh r0, [r5, 0x36]
+ ldr r0, =sub_80FFB90
+_080FFC62:
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFBF4
+
+ thumb_func_start sub_80FFC70
+sub_80FFC70: @ 80FFC70
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080FFC8A
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_80A6980
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0x30]
+_080FFC8A:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ ldrh r1, [r4, 0x30]
+ muls r0, r1
+ strh r0, [r4, 0x26]
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080FFCAA
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FFCAA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFC70
+
+ thumb_func_start sub_80FFCB4
+sub_80FFCB4: @ 80FFCB4
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r1, 0
+ bl sub_80A6980
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =gBattleAnimTarget
+ ldrb r1, [r0]
+ movs r0, 0x2
+ eors r0, r1
+ ldrb r4, [r4]
+ cmp r0, r4
+ bne _080FFD04
+ strh r6, [r5, 0x3A]
+ adds r0, r2, 0
+ adds r0, 0xA
+ strh r0, [r5, 0x3C]
+ adds r0, r5, 0
+ movs r1, 0x3C
+ bl sub_80FF9B8
+ movs r0, 0x1
+ b _080FFD16
+ .pool
+_080FFD04:
+ strh r6, [r5, 0x3A]
+ adds r0, r2, 0
+ adds r0, 0xA
+ strh r0, [r5, 0x3C]
+ adds r0, r5, 0
+ movs r1, 0x3C
+ bl sub_80FF9B8
+ movs r0, 0x3
+_080FFD16:
+ strh r0, [r5, 0x34]
+ movs r0, 0x3C
+ strh r0, [r5, 0x36]
+ ldr r0, =sub_80FFD2C
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFCB4
+
+ thumb_func_start sub_80FFD2C
+sub_80FFD2C: @ 80FFD2C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ lsls r0, 7
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl __divsi3
+ ldrh r1, [r4, 0x2E]
+ adds r1, r0
+ movs r5, 0
+ strh r1, [r4, 0x2E]
+ lsls r1, 16
+ asrs r1, 16
+ cmp r1, 0x7F
+ ble _080FFD56
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ strh r5, [r4, 0x2E]
+_080FFD56:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x80
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x30
+ ldrsh r2, [r4, r1]
+ lsls r2, 3
+ movs r1, 0x1E
+ subs r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl Sin
+ strh r0, [r4, 0x26]
+ lsls r0, 16
+ cmp r0, 0
+ bne _080FFD8A
+ movs r0, 0x3F
+ bl BattleAnimAdjustPanning
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x7D
+ bl PlaySE12WithPanning
+_080FFD8A:
+ adds r0, r4, 0
+ bl sub_80FF9E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FFDB2
+ strh r5, [r4, 0x26]
+ strh r5, [r4, 0x2E]
+ ldr r0, =sub_80FFA84
+ str r0, [r4, 0x1C]
+ movs r0, 0x40
+ negs r0, r0
+ bl BattleAnimAdjustPanning
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x7D
+ bl PlaySE12WithPanning
+_080FFDB2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFD2C
+
+ thumb_func_start sub_80FFDBC
+sub_80FFDBC: @ 80FFDBC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _080FFE50
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FFDE4
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0x2]
+ strh r1, [r4, 0x30]
+ movs r1, 0x78
+ strh r1, [r4, 0x20]
+ adds r5, r0, 0
+ b _080FFE06
+ .pool
+_080FFDE4:
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0x2
+ ldrsh r3, [r0, r1]
+ adds r1, r3, 0
+ subs r1, 0x20
+ adds r2, r1, 0
+ adds r5, r0, 0
+ cmp r1, 0
+ bge _080FFDFA
+ adds r2, r3, 0
+ adds r2, 0xDF
+_080FFDFA:
+ asrs r0, r2, 8
+ lsls r0, 8
+ subs r0, r1, r0
+ strh r0, [r4, 0x30]
+ movs r0, 0x46
+ strh r0, [r4, 0x20]
+_080FFE06:
+ ldrh r0, [r5]
+ strh r0, [r4, 0x22]
+ strh r0, [r4, 0x32]
+ movs r0, 0x14
+ strh r0, [r4, 0x36]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x3C
+ bl Cos
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x14
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldr r0, =sub_80FFE58
+ str r0, [r4, 0x1C]
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xBE
+ bhi _080FFE48
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1F
+ b _080FFE4E
+ .pool
+_080FFE48:
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1D
+_080FFE4E:
+ strb r0, [r1]
+_080FFE50:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FFDBC
+
+ thumb_func_start sub_80FFE58
+sub_80FFE58: @ 80FFE58
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _080FFE6A
+ cmp r0, 0x1
+ beq _080FFE9A
+ b _080FFEBA
+_080FFE6A:
+ ldrh r5, [r4, 0x32]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4E
+ ble _080FFE82
+ movs r0, 0x1
+ strh r0, [r4, 0x34]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ b _080FFEBA
+_080FFE82:
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ movs r1, 0xA
+ bl __divsi3
+ adds r0, r5, r0
+ strh r0, [r4, 0x32]
+ ldrh r1, [r4, 0x36]
+ adds r1, 0x3
+ strh r1, [r4, 0x36]
+ strh r0, [r4, 0x22]
+ b _080FFEBA
+_080FFE9A:
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _080FFEBA
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080FFEBA
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ strh r0, [r4, 0x32]
+ ldr r0, =sub_80FFEC4
+ str r0, [r4, 0x1C]
+_080FFEBA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFE58
+
+ thumb_func_start sub_80FFEC4
+sub_80FFEC4: @ 80FFEC4
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r5, =gUnknown_08592700
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 1
+ adds r3, r0, r1
+ adds r0, r5, 0x1
+ adds r0, r3, r0
+ ldrh r2, [r4, 0x32]
+ movs r6, 0x32
+ ldrsh r1, [r4, r6]
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r1, r0
+ bne _080FFF10
+ adds r0, r5, 0x2
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x7F
+ bne _080FFEFC
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ ldr r0, =sub_80FFF7C
+ str r0, [r4, 0x1C]
+_080FFEFC:
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _080FFF76
+ .pool
+_080FFF10:
+ adds r0, r2, 0x1
+ strh r0, [r4, 0x32]
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ adds r1, r0, r5
+ movs r2, 0
+ ldrsb r2, [r1, r2]
+ adds r1, r5, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ muls r0, r2
+ ldrh r1, [r4, 0x30]
+ adds r0, r1
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FFF5E
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xBE
+ bhi _080FFF56
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1F
+ b _080FFF5C
+_080FFF56:
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1D
+_080FFF5C:
+ strb r0, [r1]
+_080FFF5E:
+ movs r6, 0x30
+ ldrsh r0, [r4, r6]
+ movs r1, 0x3C
+ bl Cos
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x14
+ bl Sin
+ strh r0, [r4, 0x26]
+_080FFF76:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FFEC4
+
+ thumb_func_start sub_80FFF7C
+sub_80FFF7C: @ 80FFF7C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x14
+ ble _080FFF8E
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_080FFF8E:
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ adds r3, r4, 0
+ adds r3, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FFF7C
+
+ thumb_func_start sub_80FFFC0
+sub_80FFFC0: @ 80FFFC0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ strh r0, [r5, 0x10]
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x14]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x16]
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl sub_80A861C
+ strh r0, [r5, 0x1C]
+ ldrb r0, [r4]
+ movs r1, 0
+ bl sub_80A861C
+ strh r0, [r5, 0x1E]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0x1
+ negs r2, r2
+ adds r1, r2, 0
+ cmp r0, 0x1
+ bne _08100028
+ movs r1, 0x1
+_08100028:
+ strh r1, [r5, 0x12]
+ movs r3, 0x12
+ ldrsh r0, [r5, r3]
+ lsls r0, 6
+ movs r1, 0x38
+ subs r1, r0
+ strh r1, [r5, 0x1A]
+ ldrh r0, [r5, 0x16]
+ subs r0, r1
+ ldrh r1, [r5, 0x14]
+ adds r0, r1
+ strh r0, [r5, 0x18]
+ ldr r0, =gUnknown_08592778
+ movs r2, 0x18
+ ldrsh r1, [r5, r2]
+ movs r3, 0x1A
+ ldrsh r2, [r5, r3]
+ ldrb r3, [r5, 0x10]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xC]
+ cmp r0, 0x40
+ bne _08100060
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_08100060:
+ ldr r4, =gSprites
+ movs r0, 0xC
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0xA
+ strh r1, [r0, 0x2E]
+ movs r2, 0xC
+ ldrsh r1, [r5, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r5, 0x18]
+ strh r1, [r0, 0x30]
+ movs r3, 0xC
+ ldrsh r0, [r5, r3]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r4
+ movs r1, 0x1C
+ ldrsh r0, [r5, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r3, 0x12
+ ldrsh r1, [r5, r3]
+ muls r1, r0
+ ldrh r0, [r5, 0x14]
+ subs r0, r1
+ strh r0, [r2, 0x32]
+ movs r0, 0xC
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r5, 0x1A]
+ strh r1, [r0, 0x34]
+ movs r1, 0xC
+ ldrsh r0, [r5, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ movs r2, 0x1E
+ ldrsh r0, [r5, r2]
+ lsrs r2, r0, 31
+ adds r0, r2
+ asrs r0, 1
+ adds r0, 0xA
+ movs r3, 0x12
+ ldrsh r2, [r5, r3]
+ muls r0, r2
+ ldrh r2, [r5, 0x16]
+ adds r0, r2
+ strh r0, [r1, 0x36]
+ movs r3, 0xC
+ ldrsh r1, [r5, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl sub_8100504
+ movs r1, 0xC
+ ldrsh r2, [r5, r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ strh r0, [r1, 0x38]
+ movs r2, 0xC
+ ldrsh r1, [r5, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl InitAnimArcTranslation
+ ldr r0, =sub_8100128
+ str r0, [r5]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80FFFC0
+
+ thumb_func_start sub_8100128
+sub_8100128: @ 8100128
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r6, r0, r1
+ movs r0, 0xC
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r4, r0, r1
+ movs r1, 0x8
+ ldrsh r5, [r6, r1]
+ cmp r5, 0x7
+ bne _08100150
+ b _08100380
+_08100150:
+ cmp r5, 0x7
+ bgt _0810019E
+ cmp r5, 0x3
+ bne _0810015A
+ b _08100272
+_0810015A:
+ cmp r5, 0x3
+ bgt _08100174
+ cmp r5, 0x1
+ beq _08100204
+ cmp r5, 0x1
+ bgt _08100254
+ cmp r5, 0
+ beq _081001E6
+ b _081004FC
+ .pool
+_08100174:
+ cmp r5, 0x5
+ bne _0810017A
+ b _081002E8
+_0810017A:
+ cmp r5, 0x5
+ ble _08100180
+ b _08100362
+_08100180:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100196
+ b _081004FC
+_08100196:
+ movs r0, 0x5
+ strh r0, [r6, 0x26]
+ movs r0, 0xFF
+ b _081004FA
+_0810019E:
+ cmp r5, 0xB
+ bne _081001A4
+ b _08100464
+_081001A4:
+ cmp r5, 0xB
+ bgt _081001D2
+ cmp r5, 0x9
+ bne _081001AE
+ b _081003D2
+_081001AE:
+ cmp r5, 0x9
+ ble _081001B4
+ b _08100448
+_081001B4:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ bne _081001CA
+ b _081004FC
+_081001CA:
+ movs r0, 0x9
+ strh r0, [r6, 0x26]
+ movs r0, 0xFF
+ b _081004FA
+_081001D2:
+ cmp r5, 0xD
+ bne _081001D8
+ b _081004D6
+_081001D8:
+ cmp r5, 0xD
+ bge _081001DE
+ b _081004B6
+_081001DE:
+ cmp r5, 0xFF
+ bne _081001E4
+ b _081004E6
+_081001E4:
+ b _081004FC
+_081001E6:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ bne _081001FC
+ b _081004FC
+_081001FC:
+ movs r0, 0x1
+ strh r0, [r6, 0x26]
+ movs r0, 0xFF
+ b _081004FA
+_08100204:
+ ldrh r2, [r4, 0x24]
+ ldrh r3, [r4, 0x20]
+ adds r2, r3
+ movs r0, 0
+ strh r2, [r4, 0x20]
+ ldrh r1, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r1, r3
+ strh r1, [r4, 0x22]
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ strh r2, [r4, 0x30]
+ ldrh r0, [r6, 0x14]
+ strh r0, [r4, 0x32]
+ strh r1, [r4, 0x34]
+ ldrh r0, [r6, 0x16]
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_8100504
+ strh r0, [r4, 0x38]
+ ldrh r0, [r6, 0x10]
+ adds r0, 0x2
+ strh r0, [r6, 0x10]
+ strh r5, [r6, 0xE]
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_08100254:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810026A
+ b _081004FC
+_0810026A:
+ movs r0, 0x3
+ strh r0, [r6, 0x26]
+ movs r0, 0xFF
+ b _081004FA
+_08100272:
+ ldrh r1, [r4, 0x24]
+ ldrh r0, [r4, 0x20]
+ adds r1, r0
+ movs r0, 0
+ strh r1, [r4, 0x20]
+ ldrh r2, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r2, r3
+ strh r2, [r4, 0x22]
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ movs r1, 0x1C
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r3, 0x12
+ ldrsh r1, [r6, r3]
+ muls r1, r0
+ ldrh r0, [r6, 0x14]
+ subs r0, r1
+ strh r0, [r4, 0x32]
+ strh r2, [r4, 0x34]
+ movs r1, 0x1E
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r2, 0x12
+ ldrsh r1, [r6, r2]
+ muls r1, r0
+ ldrh r0, [r6, 0x16]
+ subs r0, r1
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_8100504
+ strh r0, [r4, 0x38]
+ movs r0, 0x2
+ strh r0, [r6, 0xE]
+ ldrh r0, [r6, 0x10]
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_081002E8:
+ ldrh r1, [r4, 0x24]
+ ldrh r3, [r4, 0x20]
+ adds r1, r3
+ movs r0, 0
+ strh r1, [r4, 0x20]
+ ldrh r2, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r2, r3
+ strh r2, [r4, 0x22]
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ movs r1, 0x1C
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r3, 0x12
+ ldrsh r1, [r6, r3]
+ muls r0, r1
+ ldrh r1, [r6, 0x14]
+ adds r0, r1
+ strh r0, [r4, 0x32]
+ strh r2, [r4, 0x34]
+ movs r2, 0x1E
+ ldrsh r0, [r6, r2]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r3, 0x12
+ ldrsh r1, [r6, r3]
+ muls r0, r1
+ ldrh r1, [r6, 0x16]
+ adds r0, r1
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_8100504
+ strh r0, [r4, 0x38]
+ ldrh r1, [r6, 0x10]
+ subs r1, 0x2
+ strh r1, [r6, 0x10]
+ movs r0, 0x3
+ strh r0, [r6, 0xE]
+ adds r0, r4, 0
+ adds r0, 0x43
+ strb r1, [r0]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_08100362:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100378
+ b _081004FC
+_08100378:
+ movs r0, 0x7
+ strh r0, [r6, 0x26]
+ movs r0, 0xFF
+ b _081004FA
+_08100380:
+ ldrh r2, [r4, 0x24]
+ ldrh r3, [r4, 0x20]
+ adds r2, r3
+ movs r0, 0
+ strh r2, [r4, 0x20]
+ ldrh r1, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r1, r3
+ strh r1, [r4, 0x22]
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ strh r2, [r4, 0x30]
+ ldrh r0, [r6, 0x14]
+ strh r0, [r4, 0x32]
+ strh r1, [r4, 0x34]
+ ldrh r0, [r6, 0x16]
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_8100504
+ strh r0, [r4, 0x38]
+ ldrh r1, [r6, 0x10]
+ adds r1, 0x2
+ strh r1, [r6, 0x10]
+ movs r0, 0x4
+ strh r0, [r6, 0xE]
+ adds r0, r4, 0
+ adds r0, 0x43
+ strb r1, [r0]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_081003D2:
+ ldrh r1, [r4, 0x24]
+ ldrh r0, [r4, 0x20]
+ adds r1, r0
+ movs r0, 0
+ strh r1, [r4, 0x20]
+ ldrh r2, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r2, r3
+ strh r2, [r4, 0x22]
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ movs r1, 0x1C
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r3, 0x12
+ ldrsh r1, [r6, r3]
+ muls r1, r0
+ ldrh r0, [r6, 0x14]
+ subs r0, r1
+ strh r0, [r4, 0x32]
+ strh r2, [r4, 0x34]
+ movs r1, 0x1E
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0xA
+ movs r2, 0x12
+ ldrsh r1, [r6, r2]
+ muls r0, r1
+ ldrh r3, [r6, 0x16]
+ adds r0, r3
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_8100504
+ strh r0, [r4, 0x38]
+ movs r0, 0x5
+ strh r0, [r6, 0xE]
+ ldrh r0, [r6, 0x10]
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_08100448:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ beq _081004FC
+ movs r0, 0xB
+ strh r0, [r6, 0x26]
+ movs r0, 0xFF
+ b _081004FA
+_08100464:
+ ldrh r2, [r4, 0x24]
+ ldrh r0, [r4, 0x20]
+ adds r2, r0
+ movs r0, 0
+ strh r2, [r4, 0x20]
+ ldrh r1, [r4, 0x26]
+ ldrh r3, [r4, 0x22]
+ adds r1, r3
+ strh r1, [r4, 0x22]
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ movs r0, 0xA
+ strh r0, [r4, 0x2E]
+ strh r2, [r4, 0x30]
+ ldrh r0, [r6, 0x18]
+ strh r0, [r4, 0x32]
+ strh r1, [r4, 0x34]
+ ldrh r0, [r6, 0x1A]
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_8100504
+ strh r0, [r4, 0x38]
+ ldrh r1, [r6, 0x10]
+ subs r1, 0x2
+ strh r1, [r6, 0x10]
+ movs r0, 0x6
+ strh r0, [r6, 0xE]
+ adds r0, r4, 0
+ adds r0, 0x43
+ strb r1, [r0]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ adds r0, r4, 0
+ bl InitAnimArcTranslation
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_081004B6:
+ adds r0, r6, 0
+ adds r1, r2, 0
+ bl sub_8100524
+ adds r0, r4, 0
+ bl TranslateAnimArc
+ lsls r0, 24
+ cmp r0, 0
+ beq _081004FC
+ adds r0, r4, 0
+ bl DestroySprite
+ ldrh r0, [r6, 0x8]
+ adds r0, 0x1
+ b _081004FA
+_081004D6:
+ movs r1, 0x20
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _081004FC
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+ b _081004FC
+_081004E6:
+ ldrh r0, [r6, 0xA]
+ adds r0, 0x1
+ strh r0, [r6, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ ble _081004FC
+ movs r0, 0
+ strh r0, [r6, 0xA]
+ ldrh r0, [r6, 0x26]
+_081004FA:
+ strh r0, [r6, 0x8]
+_081004FC:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100128
+
+ thumb_func_start sub_8100504
+sub_8100504: @ 8100504
+ push {lr}
+ movs r2, 0x8
+ movs r3, 0x36
+ ldrsh r1, [r0, r3]
+ movs r3, 0x22
+ ldrsh r0, [r0, r3]
+ cmp r1, r0
+ bge _0810051A
+ negs r0, r2
+ lsls r0, 16
+ lsrs r2, r0, 16
+_0810051A:
+ lsls r0, r2, 16
+ asrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100504
+
+ thumb_func_start sub_8100524
+sub_8100524: @ 8100524
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ lsls r1, 24
+ lsrs r7, r1, 24
+ ldrh r0, [r6, 0x24]
+ adds r0, 0x1
+ strh r0, [r6, 0x24]
+ lsls r0, 16
+ cmp r0, 0
+ ble _081005BA
+ movs r0, 0
+ strh r0, [r6, 0x24]
+ ldr r0, =gSprites
+ mov r8, r0
+ movs r2, 0xC
+ ldrsh r1, [r6, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r8
+ ldrh r1, [r0, 0x24]
+ ldrh r2, [r0, 0x20]
+ adds r1, r2
+ ldrh r2, [r0, 0x26]
+ ldrh r0, [r0, 0x22]
+ adds r2, r0
+ ldr r0, =gUnknown_08592778
+ lsls r1, 16
+ asrs r1, 16
+ lsls r2, 16
+ asrs r2, 16
+ ldrb r3, [r6, 0x10]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _081005BA
+ lsls r5, r0, 4
+ adds r5, r0
+ lsls r5, 2
+ mov r0, r8
+ adds r4, r5, r0
+ strh r7, [r4, 0x3A]
+ movs r0, 0xC
+ strh r0, [r4, 0x3C]
+ ldr r0, =gTasks
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x20]
+ adds r0, 0x1
+ strh r0, [r1, 0x20]
+ ldrh r2, [r6, 0x22]
+ movs r0, 0x1
+ ands r0, r2
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x22]
+ adds r0, 0x1
+ strh r0, [r1, 0x22]
+ ldrb r1, [r6, 0xE]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldrh r0, [r6, 0x10]
+ adds r4, 0x43
+ strb r0, [r4]
+ mov r0, r8
+ adds r0, 0x1C
+ adds r5, r0
+ ldr r0, =sub_81005D4
+ str r0, [r5]
+_081005BA:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100524
+
+ thumb_func_start sub_81005D4
+sub_81005D4: @ 81005D4
+ 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, 0x1
+ ble _08100636
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ 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, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ ble _08100636
+ 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
+_08100636:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81005D4
+
+ thumb_func_start sub_8100640
+sub_8100640: @ 8100640
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0xC
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0810065C
+ ldr r0, =gBattleAnimAttacker
+ b _0810065E
+ .pool
+_0810065C:
+ ldr r0, =gBattleAnimTarget
+_0810065E:
+ ldrb r6, [r0]
+ adds r0, r6, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100688
+ movs r0, 0
+ strh r0, [r4, 0x36]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x32]
+ ldr r0, =0x0000fff0
+ b _08100698
+ .pool
+_08100688:
+ movs r0, 0x1
+ strh r0, [r4, 0x36]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x6]
+ negs r0, r0
+ strh r0, [r4, 0x32]
+ movs r0, 0x80
+ lsls r0, 1
+_08100698:
+ strh r0, [r4, 0x20]
+ adds r7, r1, 0
+ adds r5, r7, 0
+ ldrh r0, [r5, 0x2]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x34]
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _081006CE
+ cmp r0, 0x1
+ bgt _081006C0
+ cmp r0, 0
+ beq _081006CA
+ b _08100738
+ .pool
+_081006C0:
+ cmp r0, 0x2
+ beq _081006D4
+ cmp r0, 0x3
+ beq _08100700
+ b _08100738
+_081006CA:
+ ldrh r0, [r5]
+ b _081006E4
+_081006CE:
+ ldrh r0, [r5]
+ strh r0, [r4, 0x22]
+ b _0810071A
+_081006D4:
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r5, [r5]
+ adds r0, r5
+_081006E4:
+ strh r0, [r4, 0x22]
+ adds r0, r6, 0
+ 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 _08100738
+_08100700:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r7, [r7]
+ adds r0, r7
+ strh r0, [r4, 0x22]
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+_0810071A:
+ adds r0, r6, 0
+ 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]
+_08100738:
+ ldr r0, =sub_810074C
+ str r0, [r4, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100640
+
+ thumb_func_start sub_810074C
+sub_810074C: @ 810074C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x3C
+ ldrsh r3, [r4, r0]
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+ movs r1, 0x30
+ ldrsh r2, [r4, r1]
+ ldr r1, =gSineTable
+ movs r5, 0x2E
+ ldrsh r0, [r4, r5]
+ lsls r0, 1
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ muls r0, r2
+ asrs r0, 8
+ strh r0, [r4, 0x26]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ muls r0, r3
+ strh r0, [r4, 0x24]
+ movs r5, 0x34
+ ldrsh r0, [r4, r5]
+ muls r0, r3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2E]
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081007A4
+ movs r2, 0x24
+ ldrsh r0, [r4, r2]
+ movs r5, 0x20
+ ldrsh r1, [r4, r5]
+ adds r0, r1
+ cmp r0, 0xF7
+ ble _081007BC
+ b _081007B6
+ .pool
+_081007A4:
+ movs r1, 0x24
+ ldrsh r0, [r4, r1]
+ movs r2, 0x20
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ movs r1, 0x10
+ negs r1, r1
+ cmp r0, r1
+ bgt _081007BC
+_081007B6:
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_081007BC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810074C
+
+ thumb_func_start sub_81007C4
+sub_81007C4: @ 81007C4
+ push {r4-r7,lr}
+ 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, 0
+ beq _081007E8
+ cmp r0, 0x1
+ beq _0810081C
+ b _08100876
+ .pool
+_081007E8:
+ ldr r0, =0x0000274f
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 20
+ movs r2, 0x80
+ lsls r2, 1
+ adds r4, r2, 0
+ adds r0, r4
+ strh r0, [r5, 0x18]
+ ldr r0, =0x000027b0
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 20
+ adds r0, r4
+ strh r0, [r5, 0x20]
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ b _08100876
+ .pool
+_0810081C:
+ ldrh r0, [r5, 0x1A]
+ adds r0, 0x1
+ movs r7, 0
+ strh r0, [r5, 0x1A]
+ lsls r0, 16
+ cmp r0, 0
+ blt _08100876
+ strh r7, [r5, 0x1A]
+ ldrh r0, [r5, 0x18]
+ ldrb r2, [r5, 0x1C]
+ ldr r4, =gUnknown_08592878
+ movs r3, 0x1E
+ ldrsh r1, [r5, r3]
+ lsls r1, 1
+ adds r1, r4
+ ldrh r3, [r1]
+ movs r1, 0x10
+ bl BlendPalette
+ ldrh r0, [r5, 0x20]
+ ldrb r2, [r5, 0x1C]
+ movs r3, 0x1E
+ ldrsh r1, [r5, r3]
+ lsls r1, 1
+ adds r1, r4
+ ldrh r3, [r1]
+ movs r1, 0x10
+ bl BlendPalette
+ ldrh r0, [r5, 0x1C]
+ adds r0, 0x1
+ strh r0, [r5, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x11
+ bne _08100876
+ strh r7, [r5, 0x1C]
+ ldrh r0, [r5, 0x1E]
+ adds r0, 0x1
+ strh r0, [r5, 0x1E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ bne _08100876
+ strh r7, [r5, 0x1E]
+_08100876:
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0xE
+ ldrsh r1, [r0, r2]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ bne _0810088A
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_0810088A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81007C4
+
+ thumb_func_start sub_8100898
+sub_8100898: @ 8100898
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldr r1, =gBattleAnimArgs
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _081008B4
+ adds r0, r6, 0
+ bl DestroyAnimSprite
+ b _0810098E
+ .pool
+_081008B4:
+ movs r3, 0
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _081008C4
+ ldr r4, =gBattleAnimAttacker
+ b _081008C6
+ .pool
+_081008C4:
+ ldr r4, =gBattleAnimTarget
+_081008C6:
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0x8]
+ strh r1, [r6, 0x2E]
+ movs r3, 0x2
+ ldrsh r1, [r0, r3]
+ adds r7, r0, 0
+ cmp r1, 0
+ bne _08100908
+ ldrh r0, [r7, 0x4]
+ adds r0, r5
+ strh r0, [r6, 0x20]
+ ldrh r0, [r7, 0x6]
+ adds r0, r2
+ strh r0, [r6, 0x22]
+ strh r5, [r6, 0x38]
+ strh r2, [r6, 0x3A]
+ b _08100918
+ .pool
+_08100908:
+ strh r5, [r6, 0x20]
+ strh r2, [r6, 0x22]
+ ldrh r0, [r7, 0x4]
+ adds r0, r5
+ strh r0, [r6, 0x38]
+ ldrh r0, [r7, 0x6]
+ adds r0, r2
+ strh r0, [r6, 0x3A]
+_08100918:
+ ldrh r4, [r6, 0x20]
+ lsls r0, r4, 4
+ strh r0, [r6, 0x30]
+ ldrh r5, [r6, 0x22]
+ lsls r0, r5, 4
+ strh r0, [r6, 0x32]
+ movs r1, 0x38
+ ldrsh r0, [r6, r1]
+ movs r2, 0x20
+ ldrsh r1, [r6, r2]
+ subs r0, r1
+ lsls r0, 4
+ movs r3, 0x8
+ ldrsh r1, [r7, r3]
+ bl __divsi3
+ strh r0, [r6, 0x34]
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ movs r2, 0x22
+ ldrsh r1, [r6, r2]
+ subs r0, r1
+ lsls r0, 4
+ movs r3, 0x8
+ ldrsh r1, [r7, r3]
+ bl __divsi3
+ strh r0, [r6, 0x36]
+ ldrh r0, [r6, 0x38]
+ subs r0, r4
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r6, 0x3A]
+ subs r1, r5
+ lsls r1, 16
+ asrs r1, 16
+ bl ArcTan2Neg
+ lsls r0, 16
+ lsrs r4, r0, 16
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810097A
+ ldr r1, =0xffff8000
+ adds r0, r4, r1
+ lsls r0, 16
+ lsrs r4, r0, 16
+_0810097A:
+ movs r3, 0x80
+ lsls r3, 1
+ str r4, [sp]
+ adds r0, r6, 0
+ movs r1, 0
+ adds r2, r3, 0
+ bl sub_80A73E0
+ ldr r0, =sub_81009A0
+ str r0, [r6, 0x1C]
+_0810098E:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100898
+
+ thumb_func_start sub_81009A0
+sub_81009A0: @ 81009A0
+ push {r4,lr}
+ adds r2, r0, 0
+ ldrh r3, [r2, 0x2E]
+ movs r1, 0x2E
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ beq _081009D0
+ ldrh r0, [r2, 0x34]
+ ldrh r4, [r2, 0x30]
+ adds r0, r4
+ strh r0, [r2, 0x30]
+ ldrh r1, [r2, 0x36]
+ ldrh r4, [r2, 0x32]
+ adds r1, r4
+ strh r1, [r2, 0x32]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r2, 0x20]
+ lsls r1, 16
+ asrs r1, 20
+ strh r1, [r2, 0x22]
+ subs r0, r3, 0x1
+ strh r0, [r2, 0x2E]
+ b _081009D6
+_081009D0:
+ adds r0, r2, 0
+ bl move_anim_8074EE0
+_081009D6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81009A0
+
+ thumb_func_start sub_81009DC
+sub_81009DC: @ 81009DC
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _081009F2
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_081009F2:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81009DC
+
+ thumb_func_start sub_81009F8
+sub_81009F8: @ 81009F8
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100A20
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r4, 0x20]
+ ldrh r1, [r2]
+ subs r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r2, 0x2]
+ b _08100A2C
+ .pool
+_08100A20:
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ ldrh r2, [r4, 0x20]
+ adds r1, r2
+ strh r1, [r4, 0x20]
+ ldrh r0, [r0, 0x2]
+_08100A2C:
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81009F8
+
+ thumb_func_start sub_8100A50
+sub_8100A50: @ 8100A50
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100A6A
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+_08100A6A:
+ ldr r0, =sub_81009DC
+ str r0, [r5, 0x1C]
+ ldr r4, =gBattleAnimArgs
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ adds r0, r5, 0
+ bl sub_80A6864
+ ldrh r0, [r4, 0x2]
+ ldrh r1, [r5, 0x22]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100A50
+
+ thumb_func_start sub_8100A94
+sub_8100A94: @ 8100A94
+ 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]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x34]
+ ldrh r0, [r1, 0xA]
+ strh r0, [r4, 0x38]
+ ldrb r1, [r1, 0xC]
+ adds r0, r4, 0
+ bl StartSpriteAffineAnim
+ ldr r1, =move_anim_8074EE0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A66DC
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100A94
+
+ thumb_func_start sub_8100AE0
+sub_8100AE0: @ 8100AE0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, =gBattleAnimTarget
+ 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]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100B14
+ ldrh r0, [r5, 0x22]
+ adds r0, 0x8
+ strh r0, [r5, 0x22]
+_08100B14:
+ ldr r0, =sub_8100CCC
+ str r0, [r5, 0x1C]
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0x4
+ ldrsh r1, [r0, r2]
+ adds r3, r0, 0
+ cmp r1, 0
+ bne _08100B3C
+ ldrh r0, [r3]
+ ldrh r1, [r5, 0x20]
+ adds r0, r1
+ strh r0, [r5, 0x20]
+ b _08100B50
+ .pool
+_08100B3C:
+ ldrh r0, [r5, 0x20]
+ ldrh r1, [r3]
+ subs r0, r1
+ strh r0, [r5, 0x20]
+ adds r2, r5, 0
+ adds r2, 0x3F
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+_08100B50:
+ ldrh r0, [r3, 0x2]
+ ldrh r2, [r5, 0x22]
+ adds r0, r2
+ strh r0, [r5, 0x22]
+ ldr r1, =0xfffffc00
+ adds r0, r1, 0
+ ldrh r2, [r5, 0x30]
+ adds r1, r0, r2
+ strh r1, [r5, 0x30]
+ movs r2, 0x80
+ lsls r2, 3
+ adds r0, r2, 0
+ ldrh r2, [r5, 0x32]
+ adds r0, r2
+ strh r0, [r5, 0x32]
+ ldrh r0, [r3, 0x4]
+ strh r0, [r5, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _08100B7E
+ negs r0, r1
+ strh r0, [r5, 0x30]
+_08100B7E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100AE0
+
+ thumb_func_start sub_8100B88
+sub_8100B88: @ 8100B88
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0x6
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _08100BA8
+ cmp r0, 0x1
+ ble _08100C24
+ cmp r0, 0x2
+ beq _08100BC8
+ b _08100C24
+ .pool
+_08100BA8:
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r4, 0x2
+ eors r0, r4
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r5]
+ eors r4, r0
+ adds r0, r4, 0
+ b _08100C34
+ .pool
+_08100BC8:
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldrb r0, [r5]
+ movs r2, 0x2
+ mov r8, r2
+ mov r1, r8
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100C3E
+ ldrb r0, [r5]
+ mov r2, r8
+ eors r0, r2
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r7
+ lsrs r7, r0, 1
+ ldrb r0, [r5]
+ mov r1, r8
+ eors r0, r1
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r4
+ lsrs r4, r0, 1
+ b _08100C3E
+ .pool
+_08100C24:
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldrb r0, [r4]
+_08100C34:
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r4, r0, 24
+_08100C3E:
+ strh r7, [r6, 0x20]
+ strh r4, [r6, 0x22]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100C56
+ ldrh r0, [r6, 0x22]
+ adds r0, 0x8
+ strh r0, [r6, 0x22]
+_08100C56:
+ ldr r0, =sub_8100CCC
+ str r0, [r6, 0x1C]
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0x4
+ ldrsh r1, [r0, r2]
+ adds r3, r0, 0
+ cmp r1, 0
+ bne _08100C7C
+ ldrh r0, [r3]
+ ldrh r1, [r6, 0x20]
+ adds r0, r1
+ strh r0, [r6, 0x20]
+ b _08100C90
+ .pool
+_08100C7C:
+ ldrh r0, [r6, 0x20]
+ ldrh r1, [r3]
+ subs r0, r1
+ strh r0, [r6, 0x20]
+ adds r2, r6, 0
+ adds r2, 0x3F
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+_08100C90:
+ ldrh r0, [r3, 0x2]
+ ldrh r2, [r6, 0x22]
+ adds r0, r2
+ strh r0, [r6, 0x22]
+ ldr r1, =0xfffffc00
+ adds r0, r1, 0
+ ldrh r2, [r6, 0x30]
+ adds r1, r0, r2
+ strh r1, [r6, 0x30]
+ movs r2, 0x80
+ lsls r2, 3
+ adds r0, r2, 0
+ ldrh r2, [r6, 0x32]
+ adds r0, r2
+ strh r0, [r6, 0x32]
+ ldrh r0, [r3, 0x4]
+ strh r0, [r6, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _08100CBE
+ negs r0, r1
+ strh r0, [r6, 0x30]
+_08100CBE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100B88
+
+ thumb_func_start sub_8100CCC
+sub_8100CCC: @ 8100CCC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x30]
+ ldrh r2, [r4, 0x34]
+ adds r0, r1, r2
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x32]
+ ldrh r2, [r4, 0x36]
+ adds r0, r2
+ strh r0, [r4, 0x36]
+ movs r2, 0x38
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _08100CEE
+ adds r0, r1, 0
+ adds r0, 0x18
+ b _08100CF2
+_08100CEE:
+ adds r0, r1, 0
+ subs r0, 0x18
+_08100CF2:
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x32]
+ subs r0, 0x18
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ bne _08100D28
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ movs r0, 0x3
+ strh r0, [r4, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r4, 0x1C]
+_08100D28:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100CCC
+
+ thumb_func_start sub_8100D38
+sub_8100D38: @ 8100D38
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r1, [r5, 0x32]
+ movs r2, 0x32
+ ldrsh r0, [r5, r2]
+ cmp r0, 0x1
+ ble _08100DDC
+ ldrh r1, [r5, 0x34]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08100D94
+ adds r3, r5, 0
+ adds r3, 0x3E
+ ldrb r1, [r3]
+ movs r2, 0x5
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r1
+ strb r0, [r3]
+ ldr r4, =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x3E
+ ldrb r3, [r0]
+ adds r1, r2, 0
+ ands r1, r3
+ strb r1, [r0]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ ands r2, r1
+ strb r2, [r0]
+ b _08100DCA
+ .pool
+_08100D94:
+ adds r1, r5, 0
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r3, =gSprites
+ movs r0, 0x2E
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ orrs r1, r2
+ strb r1, [r0]
+_08100DCA:
+ movs r0, 0
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x34]
+ adds r0, 0x1
+ strh r0, [r5, 0x34]
+ b _08100DE0
+ .pool
+_08100DDC:
+ adds r0, r1, 0x1
+ strh r0, [r5, 0x32]
+_08100DE0:
+ movs r1, 0x34
+ ldrsh r0, [r5, r1]
+ cmp r0, 0xA
+ bne _08100E10
+ movs r2, 0x2E
+ ldrsh r1, [r5, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, =gSprites
+ adds r0, r4
+ bl DestroySprite
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl DestroySprite
+ adds r0, r5, 0
+ bl DestroyAnimSprite
+_08100E10:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100D38
+
+ thumb_func_start sub_8100E1C
+sub_8100E1C: @ 8100E1C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4, 0x4]
+ strh r0, [r5, 0x2E]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100E44
+ ldrh r0, [r5, 0x20]
+ ldrh r1, [r4]
+ subs r0, r1
+ b _08100E4A
+ .pool
+_08100E44:
+ ldrh r0, [r4]
+ ldrh r1, [r5, 0x20]
+ adds r0, r1
+_08100E4A:
+ strh r0, [r5, 0x20]
+ ldr r4, =gBattleAnimArgs
+ ldrb r1, [r4, 0xA]
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldrh r0, [r4, 0x6]
+ negs r0, r0
+ strh r0, [r5, 0x30]
+ ldrh r0, [r4, 0x2]
+ ldrh r1, [r5, 0x22]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x34]
+ ldr r1, =sub_8100E80
+ str r1, [r5, 0x1C]
+ adds r0, r5, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100E1C
+
+ thumb_func_start sub_8100E80
+sub_8100E80: @ 8100E80
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x64
+ bl Cos
+ strh r0, [r4, 0x24]
+ movs r2, 0x2E
+ ldrsh r0, [r4, r2]
+ movs r1, 0x14
+ bl Sin
+ strh r0, [r4, 0x26]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7F
+ bgt _08100EAC
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0
+ b _08100EB2
+_08100EAC:
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0xE
+_08100EB2:
+ strb r0, [r1]
+ ldrh r0, [r4, 0x30]
+ ldrh r2, [r4, 0x2E]
+ adds r0, r2
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x82
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x34
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ bne _08100EE8
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08100EE8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100E80
+
+ thumb_func_start sub_8100EF0
+sub_8100EF0: @ 8100EF0
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100F06
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x2]
+ adds r0, 0x8
+ strh r0, [r1, 0x2]
+_08100F06:
+ ldr r6, =gBattleAnimAttacker
+ ldrb r0, [r6]
+ movs r1, 0
+ bl GetBattlerSpriteCoord2
+ 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 GetBattlerSpriteCoord2
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r4, [r4, 0x2]
+ adds r0, r4
+ strh r0, [r5, 0x22]
+ ldrb r0, [r6]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100F44
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08100F6C
+_08100F44:
+ ldrb r0, [r6]
+ bl sub_80A8328
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1
+ movs r1, 0x3
+ ands r0, r1
+ lsls r0, 2
+ ldrb r2, [r5, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r5, 0x5]
+ b _08100F84
+ .pool
+_08100F6C:
+ ldrb r0, [r6]
+ bl sub_80A8328
+ movs r1, 0x3
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r5, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+_08100F84:
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r5, 0x2E]
+ ldr r0, =0x00002828
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 20
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1
+ strh r0, [r5, 0x32]
+ movs r4, 0x10
+ movs r0, 0x10
+ strh r0, [r5, 0x3C]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrh r0, [r5, 0x3C]
+ lsls r1, r0, 8
+ subs r4, r0
+ orrs r1, r4
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r0, =sub_8100FD4
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100EF0
+
+ thumb_func_start sub_8100FD4
+sub_8100FD4: @ 8100FD4
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x60
+ strh r0, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 24
+ negs r0, r0
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08101032
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldr r1, =gPlttBufferFaded
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ adds r0, 0x1
+ lsls r0, 1
+ adds r0, r1
+ ldrh r5, [r0]
+ movs r2, 0
+ adds r6, r1, 0
+ adds r3, r6, 0
+_0810100C:
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ adds r2, 0x1
+ adds r0, r2
+ lsls r1, r0, 1
+ adds r1, r3
+ adds r0, 0x1
+ lsls r0, 1
+ adds r0, r3
+ ldrh r0, [r0]
+ strh r0, [r1]
+ cmp r2, 0x5
+ ble _0810100C
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ adds r0, 0x7
+ lsls r0, 1
+ adds r0, r6
+ strh r5, [r0]
+_08101032:
+ ldrh r2, [r4, 0x3C]
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x6
+ ble _0810106C
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ ble _08101080
+ ldrh r0, [r4, 0x3A]
+ adds r0, 0x1
+ strh r0, [r4, 0x3A]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0810106C
+ movs r0, 0
+ strh r0, [r4, 0x3A]
+ subs r2, 0x1
+ strh r2, [r4, 0x3C]
+ lsls r1, r2, 8
+ movs r0, 0x10
+ subs r0, r2
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+_0810106C:
+ ldrh r1, [r4, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _08101080
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x2E]
+ b _081010C2
+ .pool
+_08101080:
+ ldrh r0, [r4, 0x3A]
+ adds r0, 0x1
+ strh r0, [r4, 0x3A]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _081010C2
+ movs r0, 0
+ strh r0, [r4, 0x3A]
+ ldrh r2, [r4, 0x3C]
+ adds r2, 0x1
+ strh r2, [r4, 0x3C]
+ lsls r1, r2, 8
+ movs r0, 0x10
+ subs r0, r2
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _081010C2
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, =sub_80A67F4
+ str r0, [r4, 0x1C]
+_081010C2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8100FD4
+
+ thumb_func_start sub_81010CC
+sub_81010CC: @ 81010CC
+ 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
+ movs r5, 0
+ strh r0, [r4, 0x20]
+ ldrb r0, [r6]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =0x0000ffe8
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ strh r5, [r4, 0x2E]
+ strh r5, [r4, 0x30]
+ strh r5, [r4, 0x32]
+ strh r5, [r4, 0x34]
+ strh r5, [r4, 0x36]
+ strh r5, [r4, 0x3A]
+ movs r0, 0x10
+ strh r0, [r4, 0x3C]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrh r1, [r4, 0x3C]
+ lsls r1, 8
+ ldrh r0, [r4, 0x3A]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r0, =sub_8101138
+ str r0, [r4, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81010CC
+
+ thumb_func_start sub_8101138
+sub_8101138: @ 8101138
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bls _08101146
+ b _08101290
+_08101146:
+ lsls r0, 2
+ ldr r1, =_08101154
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08101154:
+ .4byte _08101168
+ .4byte _081011CC
+ .4byte _081011E8
+ .4byte _08101266
+ .4byte _0810127A
+_08101168:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08101176
+ b _08101290
+_08101176:
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08101198
+ ldrh r1, [r4, 0x3A]
+ movs r2, 0x3A
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xF
+ bgt _081011A6
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x3A]
+ b _081011A6
+_08101198:
+ ldrh r1, [r4, 0x3C]
+ movs r2, 0x3C
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _081011A6
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x3C]
+_081011A6:
+ ldrh r1, [r4, 0x3C]
+ lsls r1, 8
+ ldrh r0, [r4, 0x3A]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _08101290
+ movs r2, 0x3C
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _08101290
+ strh r0, [r4, 0x30]
+ b _08101272
+_081011CC:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ ble _08101290
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ b _08101272
+_081011E8:
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0x4
+ bl sub_8101298
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _0810120A
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x1
+ strh r0, [r4, 0x22]
+_0810120A:
+ ldrh r0, [r4, 0x32]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x32]
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0x1D
+ ble _08101290
+ movs r0, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _08101230
+ ldrh r1, [r4, 0x3A]
+ movs r2, 0x3A
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _0810123E
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x3A]
+ b _0810123E
+_08101230:
+ ldrh r1, [r4, 0x3C]
+ movs r2, 0x3C
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xF
+ bgt _0810123E
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x3C]
+_0810123E:
+ ldrh r1, [r4, 0x3C]
+ lsls r1, 8
+ ldrh r0, [r4, 0x3A]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r0, 0x3A
+ ldrsh r1, [r4, r0]
+ cmp r1, 0
+ bne _08101290
+ movs r2, 0x3C
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x10
+ bne _08101290
+ strh r1, [r4, 0x30]
+ strh r1, [r4, 0x32]
+ b _08101272
+_08101266:
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_08101272:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _08101290
+_0810127A:
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08101290:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101138
+
+ thumb_func_start sub_8101298
+sub_8101298: @ 8101298
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xB
+ bgt _081012AA
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x2
+ strh r0, [r4, 0x36]
+_081012AA:
+ ldrh r5, [r4, 0x34]
+ adds r0, r5, 0
+ subs r0, 0x12
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r5, 0
+ cmp r0, 0x17
+ bhi _081012C0
+ ldrh r0, [r4, 0x36]
+ subs r0, 0x2
+ strh r0, [r4, 0x36]
+_081012C0:
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0x2F
+ ble _081012CE
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x2
+ strh r0, [r4, 0x36]
+_081012CE:
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ movs r1, 0x9
+ bl __divsi3
+ strh r0, [r4, 0x24]
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ movs r1, 0xE
+ bl __divsi3
+ strh r0, [r4, 0x26]
+ lsls r0, 16
+ cmp r0, 0
+ bge _081012F4
+ movs r1, 0x26
+ ldrsh r0, [r4, r1]
+ negs r0, r0
+ strh r0, [r4, 0x26]
+_081012F4:
+ adds r0, r5, 0x1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3B
+ ble _08101304
+ movs r0, 0
+ strh r0, [r4, 0x34]
+_08101304:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101298
+
+ thumb_func_start sub_810130C
+sub_810130C: @ 810130C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, =gBattleAnimArgs
+ movs r1, 0x4
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _08101320
+ adds r0, r4, 0
+ bl sub_80A6838
+_08101320:
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ adds r0, r4, 0
+ bl sub_80A6864
+ ldrh r0, [r5, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r5, 0xA]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x32]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A656C
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810130C
+
+ thumb_func_start sub_810135C
+sub_810135C: @ 810135C
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08101378
+ ldr r0, =gBattleAnimAttacker
+ b _0810137A
+ .pool
+_08101378:
+ ldr r0, =gBattleAnimTarget
+_0810137A:
+ ldrb r6, [r0]
+ bl IsDoubleBattle
+ lsls r0, 24
+ cmp r0, 0
+ beq _081013C4
+ movs r1, 0x2
+ adds r0, r6, 0
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _081013C4
+ ldr r4, =gBattleAnimArgs
+ ldrb r1, [r4, 0xC]
+ adds r2, r5, 0
+ adds r2, 0x20
+ adds r3, r5, 0
+ adds r3, 0x22
+ adds r0, r6, 0
+ bl SetAverageBattlerPositions
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ adds r0, r5, 0
+ bl sub_80A6864
+ ldrh r0, [r4, 0x2]
+ ldrh r1, [r5, 0x22]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ b _08101414
+ .pool
+_081013C4:
+ ldr r4, =gBattleAnimArgs
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _081013E8
+ adds r0, r6, 0
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x20]
+ adds r0, r6, 0
+ movs r1, 0x1
+ b _081013FA
+ .pool
+_081013E8:
+ adds r0, r6, 0
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x20]
+ adds r0, r6, 0
+ movs r1, 0x3
+_081013FA:
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r4, [r4, 0x2]
+ adds r0, r4
+ strh r0, [r5, 0x22]
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r0, r5, 0
+ bl sub_80A6864
+_08101414:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0xA]
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r5, 0x30]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r5, 0x32]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A656C
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810135C
+
+ thumb_func_start sub_8101440
+sub_8101440: @ 8101440
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08101474
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ ldrh r2, [r4, 0x20]
+ adds r1, r2
+ strh r1, [r4, 0x20]
+ ldrh r0, [r0, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ b _0810148E
+ .pool
+_08101474:
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r4, 0x20]
+ ldrh r1, [r2]
+ subs r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r2, 0x2]
+ ldrh r2, [r4, 0x22]
+ adds r0, r2
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+_0810148E:
+ ldr r0, =sub_81014A0
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101440
+
+ thumb_func_start sub_81014A0
+sub_81014A0: @ 81014A0
+ 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, 0x1E
+ ble _081014D8
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ movs r0, 0x1E
+ subs r0, r1
+ movs r1, 0x3
+ bl __divsi3
+ strh r0, [r4, 0x26]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ lsls r0, 18
+ asrs r0, 16
+ movs r1, 0x3
+ bl Sin
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+_081014D8:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _081014EC
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081014EC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81014A0
+
+ thumb_func_start sub_81014F4
+sub_81014F4: @ 81014F4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810152C
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x20]
+ ldrh r0, [r1, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ movs r0, 0x1
+ strh r0, [r4, 0x34]
+ b _0810154A
+ .pool
+_0810152C:
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r4, 0x20]
+ ldrh r1, [r2]
+ subs r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r2, 0x2]
+ ldrh r2, [r4, 0x22]
+ adds r0, r2
+ strh r0, [r4, 0x22]
+ ldr r0, =0x0000ffff
+ strh r0, [r4, 0x34]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+_0810154A:
+ ldr r0, =sub_8101560
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81014F4
+
+ thumb_func_start sub_8101560
+sub_8101560: @ 8101560
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x28
+ bl __divsi3
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ movs r1, 0xA
+ bl __divsi3
+ strh r0, [r4, 0x24]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ lsls r0, 1
+ ldrh r2, [r4, 0x36]
+ adds r0, r2
+ strh r0, [r4, 0x36]
+ ldrh r0, [r4, 0x30]
+ ldrh r2, [r4, 0x2E]
+ adds r1, r0, r2
+ strh r1, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3C
+ ble _081015A4
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_081015A4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101560
+
+ thumb_func_start sub_81015AC
+sub_81015AC: @ 81015AC
+ push {lr}
+ ldrh r1, [r0, 0x20]
+ subs r1, 0x20
+ strh r1, [r0, 0x20]
+ ldrh r1, [r0, 0x22]
+ subs r1, 0x20
+ strh r1, [r0, 0x22]
+ movs r1, 0x14
+ strh r1, [r0, 0x2E]
+ ldr r1, =WaitAnimForDuration
+ str r1, [r0, 0x1C]
+ ldr r1, =sub_81015D4
+ bl StoreSpriteCallbackInData6
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81015AC
+
+ thumb_func_start sub_81015D4
+sub_81015D4: @ 81015D4
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldrh r6, [r5, 0x38]
+ movs r1, 0x1
+ adds r0, r1, 0
+ ands r0, r6
+ cmp r0, 0
+ beq _081015EA
+ cmp r0, 0x1
+ beq _08101604
+ b _0810166A
+_081015EA:
+ strh r1, [r5, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r5, 0x1C]
+ ldr r1, =sub_81015D4
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ b _0810166A
+ .pool
+_08101604:
+ ldrh r3, [r5, 0x24]
+ ldrh r0, [r5, 0x20]
+ adds r3, r0
+ movs r0, 0
+ strh r3, [r5, 0x20]
+ ldrh r4, [r5, 0x26]
+ ldrh r1, [r5, 0x22]
+ adds r4, r1
+ strh r4, [r5, 0x22]
+ strh r0, [r5, 0x26]
+ strh r0, [r5, 0x24]
+ movs r0, 0x8
+ strh r0, [r5, 0x2E]
+ ldr r2, =gUnknown_08592CD0
+ lsls r0, r6, 16
+ asrs r0, 24
+ lsls r0, 1
+ adds r1, r0, r2
+ ldrb r1, [r1]
+ lsls r1, 24
+ asrs r1, 24
+ adds r3, r1
+ strh r3, [r5, 0x32]
+ adds r2, 0x1
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ adds r4, r0
+ strh r4, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =sub_8101684
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1, 0
+ ldrh r1, [r5, 0x38]
+ adds r0, r1
+ strh r0, [r5, 0x38]
+ movs r0, 0x3F
+ bl BattleAnimAdjustPanning
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0xD2
+ bl PlaySE12WithPanning
+_0810166A:
+ ldrh r0, [r5, 0x38]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r5, 0x38]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81015D4
+
+ thumb_func_start sub_8101684
+sub_8101684: @ 8101684
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x38]
+ lsls r0, 16
+ asrs r0, 24
+ cmp r0, 0x4
+ bne _081016AC
+ movs r0, 0xA
+ strh r0, [r2, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r2, 0x1C]
+ ldr r1, =sub_81016B8
+ adds r0, r2, 0
+ bl StoreSpriteCallbackInData6
+ b _081016B0
+ .pool
+_081016AC:
+ ldr r0, =sub_81015D4
+ str r0, [r2, 0x1C]
+_081016B0:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101684
+
+ thumb_func_start sub_81016B8
+sub_81016B8: @ 81016B8
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ ldrh r1, [r5, 0x6]
+ cmp r1, 0
+ bne _081016E0
+ movs r0, 0x3
+ strh r0, [r5, 0x2E]
+ strh r1, [r5, 0x30]
+ strh r1, [r5, 0x32]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r5, 0x1C]
+ ldr r1, =sub_8101774
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ b _08101760
+ .pool
+_081016E0:
+ ldrh r0, [r5, 0x6]
+ cmp r0, 0x2
+ beq _08101700
+ cmp r0, 0x2
+ bgt _081016F0
+ cmp r0, 0x1
+ beq _081016F6
+ b _08101714
+_081016F0:
+ cmp r0, 0x3
+ beq _08101708
+ b _08101714
+_081016F6:
+ ldr r6, =0x0000fff8
+ adds r7, r6, 0
+ b _08101718
+ .pool
+_08101700:
+ ldr r7, =0x0000fff8
+ b _08101716
+ .pool
+_08101708:
+ movs r7, 0x8
+ ldr r6, =0x0000fff8
+ b _08101718
+ .pool
+_08101714:
+ movs r7, 0x8
+_08101716:
+ movs r6, 0x8
+_08101718:
+ 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]
+ movs r0, 0x6
+ strh r0, [r5, 0x2E]
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r7
+ strh r0, [r5, 0x32]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r6
+ strh r0, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =sub_8101820
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+_08101760:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81016B8
+
+ thumb_func_start sub_8101774
+sub_8101774: @ 8101774
+ push {r4,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08101794
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x3
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ ble _081017A4
+ movs r0, 0x10
+ b _081017A2
+_08101794:
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x3
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ cmp r0, 0
+ bge _081017A4
+ movs r0, 0
+_081017A2:
+ strh r0, [r4, 0x30]
+_081017A4:
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ str r0, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_80A75AC
+ ldrh r1, [r4, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =0x00007fff
+ bl BlendPalettes
+ movs r3, 0x30
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x10
+ bne _0810180C
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ ldrb r1, [r4, 0x5]
+ lsrs r1, 4
+ lsls r0, r1, 5
+ ldr r2, =gPlttBufferUnfaded + 0x210
+ adds r0, r2
+ lsls r1, 4
+ ldr r3, =0x00000101
+ adds r2, r3, 0
+ orrs r1, r2
+ movs r2, 0x4
+ bl LoadPalette
+ movs r0, 0x3F
+ bl BattleAnimAdjustPanning
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0xC0
+ bl PlaySE12WithPanning
+ b _08101814
+ .pool
+_0810180C:
+ cmp r0, 0
+ bne _08101814
+ ldr r0, =sub_8101820
+ str r0, [r4, 0x1C]
+_08101814:
+ add sp, 0xC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101774
+
+ thumb_func_start sub_8101820
+sub_8101820: @ 8101820
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x0000ffff
+ cmp r1, r0
+ bne _08101838
+ movs r0, 0
+ strh r0, [r2, 0x30]
+ strh r0, [r2, 0x2E]
+ ldr r0, =sub_8101848
+ str r0, [r2, 0x1C]
+_08101838:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101820
+
+ thumb_func_start sub_8101848
+sub_8101848: @ 8101848
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x3
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _0810187C
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ 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]
+_0810187C:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x8
+ bne _08101890
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08101890:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101848
+
+ thumb_func_start sub_8101898
+sub_8101898: @ 8101898
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0]
+ strh r0, [r3, 0x6]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _081018BC
+ ldrh r0, [r3, 0x20]
+ subs r0, 0x18
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x22]
+ subs r0, 0x18
+ strh r0, [r3, 0x22]
+ b _0810190E
+ .pool
+_081018BC:
+ cmp r0, 0x2
+ bne _081018D8
+ ldrh r0, [r3, 0x20]
+ subs r0, 0x18
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x22]
+ adds r0, 0x18
+ strh r0, [r3, 0x22]
+ ldrb r1, [r3, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x20
+ b _0810190A
+_081018D8:
+ cmp r0, 0x3
+ bne _081018F4
+ ldrh r0, [r3, 0x20]
+ adds r0, 0x18
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x22]
+ subs r0, 0x18
+ strh r0, [r3, 0x22]
+ ldrb r1, [r3, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x10
+ b _0810190A
+_081018F4:
+ ldrh r0, [r3, 0x20]
+ adds r0, 0x18
+ strh r0, [r3, 0x20]
+ ldrh r0, [r3, 0x22]
+ adds r0, 0x18
+ strh r0, [r3, 0x22]
+ ldrb r1, [r3, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x30
+_0810190A:
+ orrs r0, r1
+ strb r0, [r3, 0x3]
+_0810190E:
+ ldrh r2, [r3, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ adds r1, 0x10
+ ldr r4, =0x000003ff
+ adds r0, r4, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, 0x4]
+ ldr r1, =sub_81015AC
+ str r1, [r3, 0x1C]
+ adds r0, r3, 0
+ bl _call_via_r1
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101898
+
+ thumb_func_start sub_8101940
+sub_8101940: @ 8101940
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0
+ strh r0, [r3, 0x2E]
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _0810197C
+ cmp r0, 0x1
+ bgt _0810196C
+ cmp r0, 0
+ beq _08101972
+ b _0810198C
+ .pool
+_0810196C:
+ cmp r0, 0x2
+ beq _08101984
+ b _0810198C
+_08101972:
+ ldr r0, =sub_8101998
+ b _0810198E
+ .pool
+_0810197C:
+ ldr r0, =sub_8101A74
+ b _0810198E
+ .pool
+_08101984:
+ ldr r0, =sub_8101AC4
+ b _0810198E
+ .pool
+_0810198C:
+ ldr r0, =sub_8101B84
+_0810198E:
+ str r0, [r3, 0x1C]
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101940
+
+ thumb_func_start sub_8101998
+sub_8101998: @ 8101998
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x6
+ strh r0, [r4, 0x2E]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ bl GetBattlerSide
+ lsls r0, 24
+ movs r2, 0x2
+ negs r2, r2
+ adds r1, r2, 0
+ cmp r0, 0
+ beq _081019B6
+ movs r1, 0x2
+_081019B6:
+ strh r1, [r4, 0x30]
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldr r1, =gBattlerSpriteIds
+ ldrb r0, [r5]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r4, 0x34]
+ ldr r1, =sub_81019E8
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A6630
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101998
+
+ thumb_func_start sub_81019E8
+sub_81019E8: @ 81019E8
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r0, 0x2E
+ ldrsh r6, [r5, r0]
+ cmp r6, 0
+ bne _08101A24
+ ldr r1, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r5, 0x34]
+ movs r1, 0
+ bl sub_80A7270
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x3A]
+ ldr r2, =0xfffffd00
+ adds r1, r2, 0
+ cmp r0, 0
+ beq _08101A20
+ movs r0, 0xC0
+ lsls r0, 2
+ adds r1, r0, 0
+_08101A20:
+ strh r1, [r5, 0x36]
+ strh r6, [r5, 0x38]
+_08101A24:
+ ldrh r0, [r5, 0x36]
+ ldrh r1, [r5, 0x38]
+ adds r0, r1
+ strh r0, [r5, 0x38]
+ ldrh r0, [r5, 0x34]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r5, 0x38]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldrh r0, [r5, 0x34]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A73A0
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08101A5E
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldr r0, =sub_8101B84
+ str r0, [r5, 0x1C]
+_08101A5E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81019E8
+
+ thumb_func_start sub_8101A74
+sub_8101A74: @ 8101A74
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x4
+ strh r0, [r4, 0x2E]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ bl GetBattlerSide
+ lsls r0, 24
+ movs r1, 0x3
+ cmp r0, 0
+ beq _08101A92
+ movs r0, 0x3
+ negs r0, r0
+ adds r1, r0, 0
+_08101A92:
+ strh r1, [r4, 0x30]
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldr r1, =gBattlerSpriteIds
+ ldrb r0, [r5]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r4, 0x34]
+ ldr r1, =sub_8101B84
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A6630
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101A74
+
+ thumb_func_start sub_8101AC4
+sub_8101AC4: @ 8101AC4
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ ble _08101ADE
+ movs r0, 0
+ strh r0, [r1, 0x2E]
+ ldr r0, =sub_8101AE8
+ str r0, [r1, 0x1C]
+_08101ADE:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101AC4
+
+ thumb_func_start sub_8101AE8
+sub_8101AE8: @ 8101AE8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _08101B38
+ ldr r1, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r5, 0x34]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x3A]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08101B2C
+ movs r0, 0xFC
+ lsls r0, 8
+ strh r0, [r5, 0x36]
+ movs r0, 0xC0
+ lsls r0, 4
+ b _08101B36
+ .pool
+_08101B2C:
+ movs r0, 0x80
+ lsls r0, 3
+ strh r0, [r5, 0x36]
+ movs r0, 0xF4
+ lsls r0, 8
+_08101B36:
+ strh r0, [r5, 0x38]
+_08101B38:
+ ldrh r0, [r5, 0x36]
+ ldrh r1, [r5, 0x38]
+ adds r0, r1
+ strh r0, [r5, 0x38]
+ ldrh r0, [r5, 0x34]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r5, 0x38]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldrh r0, [r5, 0x34]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A73A0
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _08101B78
+ ldrh r0, [r5, 0x34]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A7344
+ ldr r0, =sub_8101B84
+ str r0, [r5, 0x1C]
+_08101B78:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101AE8
+
+ thumb_func_start sub_8101B84
+sub_8101B84: @ 8101B84
+ push {lr}
+ bl DestroyAnimSprite
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101B84
+
+ thumb_func_start sub_8101B90
+sub_8101B90: @ 8101B90
+ movs r1, 0
+ strh r1, [r0, 0x2E]
+ ldr r1, =sub_8101BA0
+ str r1, [r0, 0x1C]
+ bx lr
+ .pool
+ thumb_func_end sub_8101B90
+
+ thumb_func_start sub_8101BA0
+sub_8101BA0: @ 8101BA0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x2E
+ ldrsh r5, [r4, r0]
+ cmp r5, 0x1
+ beq _08101BFA
+ cmp r5, 0x1
+ bgt _08101BB6
+ cmp r5, 0
+ beq _08101BBC
+ b _08101C8E
+_08101BB6:
+ cmp r5, 0x2
+ beq _08101C4C
+ b _08101C8E
+_08101BBC:
+ strh r5, [r4, 0x30]
+ ldr r1, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
+ ldrb r0, [r2]
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r4, 0x32]
+ ldrb r0, [r2]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x34]
+ ldr r2, =0xfffffe00
+ adds r1, r2, 0
+ cmp r0, 0
+ beq _08101BE4
+ movs r0, 0x80
+ lsls r0, 2
+ adds r1, r0, 0
+_08101BE4:
+ strh r1, [r4, 0x36]
+ strh r5, [r4, 0x38]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_80A7270
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+_08101BFA:
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x38]
+ adds r0, r1
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r4, 0x38]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A73A0
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08101C8E
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ movs r2, 0x36
+ ldrsh r0, [r4, r2]
+ negs r0, r0
+ strh r0, [r4, 0x36]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _08101C8E
+ .pool
+_08101C4C:
+ ldrh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x38]
+ adds r0, r1
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r4, 0x38]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A73A0
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08101C8E
+ ldrh r0, [r4, 0x32]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A7344
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08101C8E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101BA0
+
+ thumb_func_start sub_8101C94
+sub_8101C94: @ 8101C94
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ ldr r1, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
+ ldrb r0, [r2]
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r4, 0
+ strh r0, [r5, 0x8]
+ ldrb r0, [r2]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r2, r0, 24
+ strh r2, [r5, 0xA]
+ strh r4, [r5, 0xC]
+ ldr r0, =gBattleAnimArgs
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ cmp r1, 0
+ beq _08101CE8
+ cmp r1, 0x1
+ beq _08101D04
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+ b _08101D22
+ .pool
+_08101CE8:
+ strh r1, [r5, 0xC]
+ movs r0, 0x8
+ strh r0, [r5, 0xE]
+ strh r1, [r5, 0x10]
+ movs r0, 0x3
+ strh r0, [r5, 0x12]
+ cmp r2, 0
+ bne _08101CFC
+ negs r0, r0
+ strh r0, [r5, 0x12]
+_08101CFC:
+ ldr r0, =sub_8101D2C
+ b _08101D20
+ .pool
+_08101D04:
+ movs r0, 0x8
+ strh r0, [r5, 0xE]
+ movs r0, 0xC0
+ lsls r0, 3
+ strh r0, [r5, 0x10]
+ movs r1, 0xC0
+ strh r1, [r5, 0x12]
+ cmp r2, 0
+ bne _08101D1E
+ negs r0, r0
+ strh r0, [r5, 0x10]
+ negs r0, r1
+ strh r0, [r5, 0x12]
+_08101D1E:
+ ldr r0, =sub_8101EEC
+_08101D20:
+ str r0, [r5]
+_08101D22:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101C94
+
+ thumb_func_start sub_8101D2C
+sub_8101D2C: @ 8101D2C
+ 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, 0xC
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bls _08101D46
+ b _08101EE6
+_08101D46:
+ lsls r0, 2
+ ldr r1, =_08101D58
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08101D58:
+ .4byte _08101D6C
+ .4byte _08101D9E
+ .4byte _08101DF8
+ .4byte _08101E70
+ .4byte _08101EB4
+_08101D6C:
+ movs r2, 0xE
+ ldrsh r1, [r4, r2]
+ cmp r1, 0
+ beq _08101D7C
+ ldrh r2, [r4, 0x12]
+ ldrh r3, [r4, 0x10]
+ adds r2, r3
+ b _08101EC2
+_08101D7C:
+ movs r0, 0x8
+ strh r0, [r4, 0xE]
+ strh r1, [r4, 0x10]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ movs r1, 0xC0
+ cmp r0, 0
+ bne _08101D92
+ movs r2, 0xC0
+ negs r2, r2
+ adds r1, r2, 0
+_08101D92:
+ strh r1, [r4, 0x12]
+ ldrb r0, [r4, 0x8]
+ movs r1, 0
+ bl sub_80A7270
+ b _08101EA8
+_08101D9E:
+ movs r3, 0xE
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _08101DC4
+ ldrh r0, [r4, 0x12]
+ ldrh r1, [r4, 0x10]
+ adds r0, r1
+ strh r0, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r4, 0x10]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldrb r0, [r4, 0x8]
+ bl sub_80A73A0
+ b _08101ED4
+_08101DC4:
+ movs r0, 0x8
+ strh r0, [r4, 0xE]
+ ldr r2, =gSprites
+ movs r3, 0x8
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x24]
+ strh r0, [r4, 0x10]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ movs r2, 0x2
+ negs r2, r2
+ adds r1, r2, 0
+ cmp r0, 0
+ bne _08101DEA
+ movs r1, 0x2
+_08101DEA:
+ strh r1, [r4, 0x12]
+ movs r0, 0x1
+ strh r0, [r4, 0x14]
+ b _08101EA8
+ .pool
+_08101DF8:
+ ldrh r2, [r4, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _08101E54
+ ldrh r1, [r4, 0x14]
+ movs r3, 0x14
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _08101E12
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x14]
+ b _08101EE6
+_08101E12:
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08101E34
+ 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, [r4, 0x12]
+ ldrh r2, [r4, 0x10]
+ adds r1, r2
+ b _08101E48
+ .pool
+_08101E34:
+ ldr r2, =gSprites
+ movs r3, 0x8
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r4, 0x10]
+ ldrh r2, [r4, 0x12]
+ subs r1, r2
+_08101E48:
+ strh r1, [r0, 0x24]
+ movs r0, 0x1
+ strh r0, [r4, 0x14]
+ b _08101ED4
+ .pool
+_08101E54:
+ 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, [r4, 0x10]
+ strh r1, [r0, 0x24]
+ movs r0, 0xC
+ strh r0, [r4, 0xE]
+ b _08101EA8
+ .pool
+_08101E70:
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _08101E80
+ subs r0, r1, 0x1
+ strh r0, [r4, 0xE]
+ b _08101EE6
+_08101E80:
+ movs r0, 0x3
+ strh r0, [r4, 0xE]
+ ldr r2, =gSprites
+ movs r3, 0x8
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0, 0x24]
+ strh r0, [r4, 0x10]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ movs r2, 0x8
+ negs r2, r2
+ adds r1, r2, 0
+ cmp r0, 0
+ bne _08101EA6
+ movs r1, 0x8
+_08101EA6:
+ strh r1, [r4, 0x12]
+_08101EA8:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ b _08101EE6
+ .pool
+_08101EB4:
+ movs r3, 0xE
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ beq _08101EE0
+ ldrh r2, [r4, 0x12]
+ ldrh r0, [r4, 0x10]
+ adds r2, r0
+_08101EC2:
+ strh r2, [r4, 0x10]
+ ldr r3, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ strh r2, [r0, 0x24]
+_08101ED4:
+ ldrh r0, [r4, 0xE]
+ subs r0, 0x1
+ strh r0, [r4, 0xE]
+ b _08101EE6
+ .pool
+_08101EE0:
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_08101EE6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101D2C
+
+ thumb_func_start sub_8101EEC
+sub_8101EEC: @ 8101EEC
+ 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, 0xE
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08101F2C
+ ldrh r0, [r4, 0x10]
+ ldrh r1, [r4, 0x12]
+ subs r0, r1
+ strh r0, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ movs r2, 0x80
+ lsls r2, 1
+ ldrh r3, [r4, 0x10]
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldrb r0, [r4, 0x8]
+ bl sub_80A73A0
+ ldrh r0, [r4, 0xE]
+ subs r0, 0x1
+ strh r0, [r4, 0xE]
+ b _08101F38
+ .pool
+_08101F2C:
+ ldrb r0, [r4, 0x8]
+ bl sub_80A7344
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08101F38:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101EEC
+
+ thumb_func_start sub_8101F40
+sub_8101F40: @ 8101F40
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r6, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _08101F5C
+ ldr r4, =gBattleAnimAttacker
+ b _08101F5E
+ .pool
+_08101F5C:
+ ldr r4, =gBattleAnimTarget
+_08101F5E:
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r6, 0x2]
+ adds r0, r1
+ strh r0, [r5, 0x20]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r6, [r6, 0x4]
+ adds r0, r6
+ strh r0, [r5, 0x22]
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ strh r0, [r5, 0x30]
+ ldr r1, =sub_810208C
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101F40
+
+ thumb_func_start sub_8101FA8
+sub_8101FA8: @ 8101FA8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =0x0000ffd0
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x22]
+ ldr r1, =sub_8102044
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101FA8
+
+ thumb_func_start sub_8101FF0
+sub_8101FF0: @ 8101FF0
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gBattleAnimArgs
+ ldr r2, =0x0000ffd0
+ adds r0, r2
+ ldrh r1, [r1]
+ adds r0, r1
+ movs r6, 0
+ strh r0, [r4, 0x20]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ strh r6, [r4, 0x2E]
+ strh r6, [r4, 0x30]
+ ldr r0, =sub_810208C
+ str r0, [r4, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8101FF0
+
+ thumb_func_start sub_8102044
+sub_8102044: @ 8102044
+ 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
+ ble _0810206E
+ movs r0, 0xC
+ strh r0, [r4, 0x2E]
+ movs r0, 0x8
+ strh r0, [r4, 0x30]
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ ldr r1, =sub_810207C
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A653C
+ str r0, [r4, 0x1C]
+_0810206E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102044
+
+ thumb_func_start sub_810207C
+sub_810207C: @ 810207C
+ movs r1, 0
+ strh r1, [r0, 0x2E]
+ strh r1, [r0, 0x30]
+ ldr r1, =sub_810208C
+ str r1, [r0, 0x1C]
+ bx lr
+ .pool
+ thumb_func_end sub_810207C
+
+ thumb_func_start sub_810208C
+sub_810208C: @ 810208C
+ push {lr}
+ adds r3, r0, 0
+ ldrh r0, [r3, 0x2E]
+ adds r0, 0x1
+ strh r0, [r3, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _081020D4
+ movs r0, 0
+ strh r0, [r3, 0x2E]
+ movs r0, 0x3E
+ adds r0, r3
+ mov r12, r0
+ ldrb r2, [r0]
+ lsrs r1, r2, 2
+ movs r0, 0x1
+ eors r1, r0
+ ands 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, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ ble _081020D4
+ adds r0, r3, 0
+ bl DestroyAnimSprite
+_081020D4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810208C
+
+ thumb_func_start sub_81020D8
+sub_81020D8: @ 81020D8
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r6, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _081020F4
+ ldr r4, =gBattleAnimAttacker
+ b _081020F6
+ .pool
+_081020F4:
+ ldr r4, =gBattleAnimTarget
+_081020F6:
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r6, 0x2]
+ adds r0, r1
+ strh r0, [r5, 0x20]
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r6, [r6, 0x4]
+ adds r0, r6
+ strh r0, [r5, 0x22]
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x6]
+ strh r0, [r5, 0x30]
+ ldr r0, =sub_810213C
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81020D8
+
+ thumb_func_start sub_810213C
+sub_810213C: @ 810213C
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0x30
+ ldrsh r1, [r2, r3]
+ cmp r0, r1
+ ble _0810215C
+ movs r0, 0
+ strh r0, [r2, 0x2E]
+ ldrh r0, [r2, 0x22]
+ subs r0, 0x1
+ strh r0, [r2, 0x22]
+_0810215C:
+ ldrh r0, [r2, 0x22]
+ ldrh r1, [r2, 0x2E]
+ subs r0, r1
+ strh r0, [r2, 0x22]
+ adds r0, r2, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08102178
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_08102178:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810213C
+
+ thumb_func_start sub_810217C
+sub_810217C: @ 810217C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r6, =gBattleAnimAttacker
+ ldrb r0, [r6]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ movs r5, 0
+ strh r0, [r4, 0x20]
+ ldrb r0, [r6]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0xC
+ strh r0, [r4, 0x22]
+ strh r5, [r4, 0x2E]
+ movs r0, 0x2
+ strh r0, [r4, 0x30]
+ strh r5, [r4, 0x32]
+ strh r5, [r4, 0x34]
+ strh r5, [r4, 0x36]
+ subs r0, 0x42
+ bl BattleAnimAdjustPanning
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r4, 0x38]
+ ldr r0, =sub_81021CC
+ str r0, [r4, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810217C
+
+ thumb_func_start sub_81021CC
+sub_81021CC: @ 81021CC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x30
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ blt _08102238
+ adds r3, r4, 0
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsrs r1, r2, 2
+ movs r0, 0x1
+ eors r1, r0
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ movs r1, 0x4
+ ands r0, r1
+ cmp r0, 0
+ bne _0810221E
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0810221E
+ ldrh r1, [r4, 0x38]
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0xC2
+ bl PlaySE12WithPanning
+_0810221E:
+ movs r1, 0
+ strh r1, [r4, 0x2E]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08102238
+ strh r1, [r4, 0x32]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+_08102238:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08102262
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ ble _08102262
+ adds r0, r4, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08102262
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08102262:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81021CC
+
+ thumb_func_start sub_8102268
+sub_8102268: @ 8102268
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _081022B2
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r5, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r5]
+ adds r0, r1
+ strh r0, [r6, 0x20]
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r5, [r5, 0x2]
+ adds r0, r5
+ strh r0, [r6, 0x22]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _081022AC
+ ldrh r0, [r6, 0x22]
+ adds r0, 0xA
+ strh r0, [r6, 0x22]
+_081022AC:
+ ldrh r0, [r6, 0x2E]
+ adds r0, 0x1
+ strh r0, [r6, 0x2E]
+_081022B2:
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x0000ffff
+ cmp r1, r0
+ bne _081022C2
+ adds r0, r6, 0
+ bl DestroyAnimSprite
+_081022C2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102268
+
+ thumb_func_start sub_81022D4
+sub_81022D4: @ 81022D4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r4, r0, r1
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ bne _08102300
+ ldr r1, =gBattleAnimArgs
+ ldr r0, =0x0000ffff
+ strh r0, [r1, 0xE]
+ b _0810233E
+ .pool
+_08102300:
+ cmp r0, 0x2
+ bne _0810230C
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+ b _08102344
+_0810230C:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ bne _08102344
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ ldrh r2, [r4, 0xA]
+ adds r2, 0x1
+ strh r2, [r4, 0xA]
+ lsls r1, r2, 8
+ movs r0, 0x10
+ subs r0, r2
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _08102344
+_0810233E:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+_08102344:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81022D4
+
+ thumb_func_start sub_810234C
+sub_810234C: @ 810234C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl sub_80A6980
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0x2E]
+ ldr r0, =sub_810237C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810234C
+
+ thumb_func_start sub_810237C
+sub_810237C: @ 810237C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r1, [r5, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _08102390
+ subs r0, r1, 0x1
+ strh r0, [r5, 0x2E]
+ b _081023CC
+_08102390:
+ adds r2, r5, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ movs r0, 0x1E
+ strh r0, [r5, 0x2E]
+ ldr r4, =gBattleAnimAttacker
+ 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]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+_081023CC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810237C
+
+ thumb_func_start sub_81023E0
+sub_81023E0: @ 81023E0
+ 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 r4, r0, r1
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ bne _08102428
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ ldrh r1, [r4, 0xA]
+ adds r1, 0x1
+ strh r1, [r4, 0xA]
+ 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, 0xA
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _08102428
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08102428:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81023E0
+
+ thumb_func_start sub_8102434
+sub_8102434: @ 8102434
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r4, 0
+ ldr r0, =gBattlersCount
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcs _08102490
+ ldr r6, =gBattleAnimArgs
+ ldr r5, =gHealthboxSpriteIds
+_08102448:
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x1
+ bne _08102464
+ adds r0, r4, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08102464
+ adds r0, r4, r5
+ ldrb r0, [r0]
+ bl SetHealthboxSpriteInvisible
+_08102464:
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x1
+ bne _08102482
+ adds r0, r4, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08102482
+ adds r0, r4, r5
+ ldrb r0, [r0]
+ bl SetHealthboxSpriteInvisible
+_08102482:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, =gBattlersCount
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcc _08102448
+_08102490:
+ adds r0, r7, 0
+ bl DestroyAnimVisualTask
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102434
+
+ thumb_func_start sub_81024A8
+sub_81024A8: @ 81024A8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ b _081024C2
+_081024B2:
+ ldr r0, =gHealthboxSpriteIds
+ adds r0, r4, r0
+ ldrb r0, [r0]
+ bl SetHealthboxSpriteVisible
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_081024C2:
+ ldr r0, =gBattlersCount
+ ldrb r0, [r0]
+ cmp r4, r0
+ bcc _081024B2
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81024A8
+
+ thumb_func_start sub_81024E0
+sub_81024E0: @ 81024E0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _081024F6
+ movs r0, 0x30
+ strh r0, [r4, 0x20]
+ movs r0, 0x28
+ b _081024FE
+_081024F6:
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ strh r1, [r4, 0x20]
+ ldrh r0, [r0, 0x2]
+_081024FE:
+ strh r0, [r4, 0x22]
+ ldrb r1, [r4, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ strb r0, [r4, 0x1]
+ ldrb r0, [r4, 0x3]
+ movs r1, 0xC0
+ orrs r0, r1
+ strb r0, [r4, 0x3]
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ ldr r0, =sub_8102528
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81024E0
+
+ thumb_func_start sub_8102528
+sub_8102528: @ 8102528
+ push {lr}
+ adds r1, r0, 0
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _0810253A
+ adds r0, r1, 0
+ bl DestroyAnimSprite
+_0810253A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8102528
+
+ thumb_func_start sub_8102540
+sub_8102540: @ 8102540
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r2, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r2]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r4, 0x20]
+ ldrh r0, [r2, 0x2]
+ strh r0, [r4, 0x22]
+ strh r1, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ strh r1, [r4, 0x32]
+ strh r1, [r4, 0x34]
+ movs r0, 0x1
+ strh r0, [r4, 0x36]
+ ldr r0, =sub_8102584
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102540
+
+ thumb_func_start sub_8102584
+sub_8102584: @ 8102584
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x30]
+ adds r0, 0x1
+ strh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _081025AE
+ movs r0, 0
+ strh r0, [r1, 0x30]
+ ldrh r2, [r1, 0x32]
+ movs r3, 0x32
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x77
+ bgt _081025AE
+ ldrh r0, [r1, 0x22]
+ adds r0, 0x1
+ strh r0, [r1, 0x22]
+ adds r0, r2, 0x1
+ strh r0, [r1, 0x32]
+_081025AE:
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _081025BC
+ adds r0, r1, 0
+ bl DestroyAnimSprite
+_081025BC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8102584
+
+ thumb_func_start sub_81025C0
+sub_81025C0: @ 81025C0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r4, 0
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_80A75AC
+ mov r8, r0
+ ldr r0, =0x0000ffff
+ mov r1, r8
+ ands r1, r0
+ mov r8, r1
+ ldr r0, =gTasks
+ mov r9, r0
+ lsls r5, r7, 2
+ adds r5, r7
+ lsls r5, 3
+ adds r6, r5, r0
+ strh r4, [r6, 0x8]
+ strh r4, [r6, 0xA]
+ strh r4, [r6, 0xC]
+ strh r1, [r6, 0xE]
+ strh r4, [r6, 0x10]
+ strh r4, [r6, 0x12]
+ strh r4, [r6, 0x14]
+ movs r0, 0xD
+ strh r0, [r6, 0x16]
+ movs r0, 0xE
+ strh r0, [r6, 0x18]
+ movs r0, 0xF
+ strh r0, [r6, 0x1A]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0x1
+ movs r3, 0x1
+ bl sub_80A76C4
+ mov r10, r0
+ mov r1, r8
+ orrs r1, r0
+ mov r8, r1
+ movs r0, 0x8
+ add r9, r0
+ add r5, r9
+ adds r0, r5, 0
+ adds r0, 0x1C
+ adds r5, 0x1E
+ adds r1, r5, 0
+ mov r2, r8
+ bl sub_80A8048
+ ldr r0, =0x000027d2
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ movs r4, 0x80
+ lsls r4, 9
+ adds r1, r4, 0
+ lsls r1, r0
+ mov r0, r10
+ orrs r0, r1
+ mov r10, r0
+ ldr r0, =0x000027d3
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0
+ mov r1, r10
+ orrs r4, r1
+ ldr r0, =0x00007fbb
+ str r0, [sp]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r1, =sub_81026A8
+ str r1, [r6]
+ adds r0, r7, 0
+ bl _call_via_r1
+ 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_81025C0
+
+ thumb_func_start sub_81026A8
+sub_81026A8: @ 81026A8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ 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 r1, [r4, r0]
+ cmp r1, 0x1
+ beq _08102794
+ cmp r1, 0x1
+ bgt _081026D4
+ cmp r1, 0
+ beq _081026E2
+ b _08102832
+ .pool
+_081026D4:
+ cmp r1, 0x2
+ bne _081026DA
+ b _081027EC
+_081026DA:
+ cmp r1, 0x3
+ bne _081026E0
+ b _08102820
+_081026E0:
+ b _08102832
+_081026E2:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _081026F0
+ b _08102832
+_081026F0:
+ strh r1, [r4, 0xA]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xF
+ bgt _0810273C
+ ldrh r0, [r4, 0x16]
+ ldrh r1, [r4, 0x10]
+ adds r0, r1
+ strh r0, [r4, 0x10]
+ ldrh r2, [r4, 0x18]
+ ldrh r3, [r4, 0x12]
+ adds r2, r3
+ strh r2, [r4, 0x12]
+ ldrh r1, [r4, 0x1A]
+ ldrh r5, [r4, 0x14]
+ adds r1, r5
+ strh r1, [r4, 0x14]
+ lsls r0, 16
+ asrs r0, 19
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r2, 16
+ asrs r2, 19
+ lsls r2, 16
+ lsls r1, 16
+ asrs r1, 19
+ lsls r1, 16
+ lsrs r2, 11
+ orrs r0, r2
+ lsrs r1, 6
+ orrs r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r12, r0
+ b _08102746
+_0810273C:
+ ldr r7, =0x00007fbb
+ mov r12, r7
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+_08102746:
+ movs r2, 0x1
+ movs r3, 0
+ movs r1, 0
+_0810274C:
+ movs r5, 0xE
+ ldrsh r0, [r4, r5]
+ ands r0, r2
+ lsls r5, r2, 17
+ adds r6, r3, 0
+ adds r6, 0x10
+ adds r1, 0x1
+ mov r8, r1
+ cmp r0, 0
+ beq _08102778
+ movs r1, 0x1
+ ldr r2, =gPlttBufferFaded
+_08102764:
+ adds r0, r3, r1
+ lsls r0, 1
+ adds r0, r2
+ mov r7, r12
+ strh r7, [r0]
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0xF
+ bls _08102764
+_08102778:
+ lsrs r2, r5, 16
+ lsls r0, r6, 16
+ lsrs r3, r0, 16
+ mov r1, r8
+ lsls r0, r1, 16
+ lsrs r1, r0, 16
+ cmp r1, 0xF
+ bls _0810274C
+ b _08102832
+ .pool
+_08102794:
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08102832
+ movs r2, 0
+ ldr r3, =gSprites
+ movs r5, 0x14
+ adds r5, r3
+ mov r12, r5
+ ldr r7, =gUnknown_08592EBC
+ mov r8, r7
+ ldr r6, =gBattleAnimSpriteTemplate_8592EEC
+ movs r5, 0x1
+_081027B2:
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r1, r0, 2
+ mov r7, r12
+ adds r0, r1, r7
+ ldr r0, [r0]
+ cmp r0, r8
+ beq _081027C6
+ cmp r0, r6
+ bne _081027CA
+_081027C6:
+ adds r0, r1, r3
+ strh r5, [r0, 0x2E]
+_081027CA:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3F
+ bls _081027B2
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ b _08102814
+ .pool
+_081027EC:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1E
+ ble _08102832
+ movs r1, 0x24
+ ldrsh r0, [r4, r1]
+ movs r2, 0x26
+ ldrsh r1, [r4, r2]
+ bl sub_80A8050
+ ldr r1, =0x00007fbb
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+_08102814:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08102832
+ .pool
+_08102820:
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08102832
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_08102832:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81026A8
+
+ thumb_func_start sub_8102844
+sub_8102844: @ 8102844
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r6, =gBattleAnimArgs
+ movs r1, 0x4
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x1
+ bgt _08102856
+ movs r0, 0x2
+ strh r0, [r6, 0x4]
+_08102856:
+ movs r1, 0x4
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x7F
+ ble _08102862
+ movs r0, 0x7F
+ strh r0, [r6, 0x4]
+_08102862:
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r6, 0x4]
+ strh r0, [r5, 0x30]
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r6]
+ adds r0, r1
+ strh r0, [r5, 0x20]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r6, [r6, 0x2]
+ adds r0, r6
+ strh r0, [r5, 0x22]
+ ldrh r1, [r5, 0x20]
+ strh r1, [r5, 0x3A]
+ strh r0, [r5, 0x3C]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _081028D4
+ ldrb r1, [r5, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x10
+ orrs r0, r1
+ strb r0, [r5, 0x3]
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x28
+ strh r0, [r5, 0x20]
+ ldrh r4, [r5, 0x22]
+ adds r4, 0x14
+ strh r4, [r5, 0x22]
+ lsls r0, 7
+ strh r0, [r5, 0x32]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ ldr r0, =0xffffec00
+ b _081028FA
+ .pool
+_081028D4:
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810291C
+ ldrh r0, [r5, 0x20]
+ subs r0, 0x28
+ strh r0, [r5, 0x20]
+ ldrh r4, [r5, 0x22]
+ adds r4, 0x14
+ strh r4, [r5, 0x22]
+ lsls r0, 7
+ strh r0, [r5, 0x32]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ movs r0, 0xA0
+ lsls r0, 5
+_081028FA:
+ bl __divsi3
+ strh r0, [r5, 0x34]
+ lsls r4, 7
+ strh r4, [r5, 0x36]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ ldr r0, =0xfffff600
+ bl __divsi3
+ strh r0, [r5, 0x38]
+ b _08102958
+ .pool
+_0810291C:
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x28
+ strh r0, [r5, 0x20]
+ ldrh r4, [r5, 0x22]
+ subs r4, 0x14
+ strh r4, [r5, 0x22]
+ lsls r0, 7
+ strh r0, [r5, 0x32]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ ldr r0, =0xffffec00
+ bl __divsi3
+ strh r0, [r5, 0x34]
+ lsls r4, 7
+ strh r4, [r5, 0x36]
+ movs r0, 0x30
+ ldrsh r1, [r5, r0]
+ movs r0, 0xA0
+ lsls r0, 4
+ bl __divsi3
+ strh r0, [r5, 0x38]
+ ldrb r1, [r5, 0x3]
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x30
+ orrs r0, r1
+ strb r0, [r5, 0x3]
+_08102958:
+ ldr r0, =sub_810296C
+ str r0, [r5, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102844
+
+ thumb_func_start sub_810296C
+sub_810296C: @ 810296C
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x34]
+ ldrh r1, [r2, 0x32]
+ adds r0, r1
+ strh r0, [r2, 0x32]
+ ldrh r1, [r2, 0x38]
+ ldrh r3, [r2, 0x36]
+ adds r1, r3
+ strh r1, [r2, 0x36]
+ lsls r0, 16
+ asrs r0, 23
+ strh r0, [r2, 0x20]
+ lsls r1, 16
+ asrs r1, 23
+ strh r1, [r2, 0x22]
+ ldrh r0, [r2, 0x30]
+ subs r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _081029A2
+ ldrh r0, [r2, 0x3A]
+ strh r0, [r2, 0x20]
+ ldrh r0, [r2, 0x3C]
+ strh r0, [r2, 0x22]
+_081029A2:
+ movs r1, 0x30
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ bne _081029B0
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_081029B0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810296C
+
+ thumb_func_start sub_81029B4
+sub_81029B4: @ 81029B4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r6, r0, r1
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x8]
+ ldr r0, =0x00002771
+ bl AllocSpritePalette
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0xA]
+ movs r1, 0xA
+ ldrsh r0, [r6, r1]
+ lsls r0, 20
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r3, r0, 16
+ ldr r2, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ lsls r4, r0, 4
+ movs r5, 0x1
+ ldr r2, =gPlttBufferUnfaded
+_08102A0C:
+ adds r1, r3, r5
+ lsls r1, 1
+ adds r1, r2
+ adds r0, r4, r5
+ lsls r0, 1
+ adds r0, r2
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0xF
+ bls _08102A0C
+ adds r0, r3, 0
+ movs r1, 0x10
+ movs r2, 0xB
+ movs r3, 0
+ bl BlendPalette
+ movs r0, 0
+ strh r0, [r6, 0xE]
+ movs r5, 0
+ ldr r7, =gSprites
+ movs r1, 0x1C
+ adds r1, r7
+ mov r9, r1
+ b _08102A88
+ .pool
+_08102A54:
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r4, r2, r7
+ ldrb r1, [r6, 0xA]
+ lsls r1, 4
+ ldrb r3, [r4, 0x5]
+ movs r0, 0xF
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r4, 0x5]
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ lsls r0, r5, 7
+ strh r0, [r4, 0x30]
+ mov r0, r8
+ strh r0, [r4, 0x32]
+ add r2, r9
+ ldr r0, =sub_8102B3C
+ str r0, [r2]
+ ldrh r0, [r6, 0xE]
+ adds r0, 0x1
+ strh r0, [r6, 0xE]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+_08102A88:
+ cmp r5, 0x1
+ bhi _08102A9A
+ movs r0, 0
+ bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _08102A54
+_08102A9A:
+ ldr r0, =sub_8102AE0
+ str r0, [r6]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08102AC8
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ bl ClearGpuRegBits
+ b _08102AD2
+ .pool
+_08102AC8:
+ movs r1, 0x80
+ lsls r1, 3
+ movs r0, 0
+ bl ClearGpuRegBits
+_08102AD2:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81029B4
+
+ thumb_func_start sub_8102AE0
+sub_8102AE0: @ 8102AE0
+ 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
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08102B32
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08102B1C
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ bl SetGpuRegBits
+ b _08102B26
+ .pool
+_08102B1C:
+ movs r1, 0x80
+ lsls r1, 3
+ movs r0, 0
+ bl SetGpuRegBits
+_08102B26:
+ ldr r0, =0x00002771
+ bl FreeSpritePaletteByTag
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_08102B32:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102AE0
+
+ thumb_func_start sub_8102B3C
+sub_8102B3C: @ 8102B3C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x34]
+ adds r0, 0x1
+ strh r0, [r5, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08102B58
+ movs r0, 0
+ strh r0, [r5, 0x34]
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+_08102B58:
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x40
+ ble _08102B80
+ ldr r2, =gTasks
+ movs r0, 0x32
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r0, 0xE]
+ subs r1, 0x1
+ strh r1, [r0, 0xE]
+ adds r0, r5, 0
+ bl obj_delete_but_dont_free_vram
+ b _08102BC2
+ .pool
+_08102B80:
+ ldr r4, =gSineTable
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ lsls r0, 1
+ adds r0, r4
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ movs r1, 0x6
+ bl __divsi3
+ strh r0, [r5, 0x36]
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ lsls r0, 1
+ adds r0, r4
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ movs r1, 0xD
+ bl __divsi3
+ strh r0, [r5, 0x38]
+ ldrh r1, [r5, 0x30]
+ adds r1, r0
+ movs r0, 0xFF
+ ands r1, r0
+ strh r1, [r5, 0x30]
+ movs r1, 0x30
+ ldrsh r0, [r5, r1]
+ movs r2, 0x36
+ ldrsh r1, [r5, r2]
+ bl Sin
+ strh r0, [r5, 0x24]
+_08102BC2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102B3C
+
+ thumb_func_start sub_8102BCC
+sub_8102BCC: @ 8102BCC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, =DestroyAnimSprite
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102BCC
+
+ thumb_func_start sub_8102BE8
+sub_8102BE8: @ 8102BE8
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r4, =gUnknown_08593020
+ ldrh r0, [r4]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0xFF
+ beq _08102C2C
+ lsls r0, r3, 20
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r3, r0, 16
+ movs r2, 0x1
+ ldr r5, =gPlttBufferFaded
+_08102C14:
+ adds r1, r3, r2
+ lsls r1, 1
+ adds r1, r5
+ lsls r0, r2, 1
+ adds r0, r4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x5
+ bls _08102C14
+_08102C2C:
+ movs r4, 0x1
+ ldr r0, =gUnknown_08593020
+ mov r8, r0
+_08102C32:
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r5, r0, 2
+ mov r1, r8
+ adds r0, r5, r1
+ ldrh r0, [r0]
+ bl AllocSpritePalette
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r4, 0x1
+ mov r12, r4
+ cmp r3, 0xFF
+ beq _08102C7A
+ lsls r0, r3, 20
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r3, r0, 16
+ movs r2, 0x1
+ ldr r7, =gPlttBufferFaded
+ ldr r6, =gUnknown_08593020
+ adds r4, r5, 0
+_08102C60:
+ adds r1, r3, r2
+ lsls r1, 1
+ adds r1, r7
+ lsls r0, r2, 1
+ adds r0, r4
+ adds r0, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x5
+ bls _08102C60
+_08102C7A:
+ mov r1, r12
+ lsls r0, r1, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x3
+ bls _08102C32
+ mov r0, r9
+ bl DestroyAnimVisualTask
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102BE8
+
+ thumb_func_start sub_8102CA0
+sub_8102CA0: @ 8102CA0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0x1
+ ldr r6, =gUnknown_08593020
+_08102CAA:
+ lsls r0, r4, 1
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r6
+ ldrh r0, [r0]
+ bl FreeSpritePaletteByTag
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x3
+ bls _08102CAA
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102CA0
+
+ thumb_func_start sub_8102CD4
+sub_8102CD4: @ 8102CD4
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ bl sub_80A6838
+ ldr r4, =gBattleAnimArgs
+ ldrb r1, [r4]
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldr r2, =gUnknown_08593020
+ movs r0, 0x2
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _08102D10
+ lsls r2, r0, 4
+ ldrb r1, [r5, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r5, 0x5]
+_08102D10:
+ ldrh r0, [r4, 0x2]
+ movs r1, 0
+ strh r0, [r5, 0x30]
+ strh r1, [r5, 0x32]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r5, 0x34]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08102D34
+ movs r6, 0x30
+ movs r3, 0x28
+ b _08102D4E
+ .pool
+_08102D34:
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r3, r0, 24
+_08102D4E:
+ ldrh r0, [r5, 0x20]
+ lsls r1, r0, 4
+ strh r1, [r5, 0x36]
+ ldrh r1, [r5, 0x22]
+ lsls r2, r1, 4
+ strh r2, [r5, 0x38]
+ subs r0, r6, r0
+ lsls r0, 16
+ asrs r0, 16
+ subs r1, r3, r1
+ lsls r1, 16
+ asrs r1, 16
+ adds r2, r5, 0
+ adds r2, 0x3A
+ adds r3, r5, 0
+ adds r3, 0x3C
+ movs r4, 0x28
+ str r4, [sp]
+ bl sub_8102D8C
+ ldr r0, =sub_8102DE4
+ str r0, [r5, 0x1C]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102CD4
+
+ thumb_func_start sub_8102D8C
+sub_8102D8C: @ 8102D8C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r2, 0
+ mov r8, r3
+ ldr r2, [sp, 0x18]
+ lsls r1, 16
+ lsrs r6, r1, 16
+ lsls r2, 24
+ lsrs r1, r2, 24
+ lsls r0, 16
+ asrs r2, r0, 16
+ cmp r2, 0
+ bge _08102DAE
+ lsls r0, r1, 24
+ negs r0, r0
+ lsrs r1, r0, 24
+_08102DAE:
+ lsls r5, r2, 8
+ lsls r1, 24
+ asrs r1, 24
+ adds r0, r5, 0
+ bl __divsi3
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _08102DC2
+ movs r4, 0x1
+_08102DC2:
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl __divsi3
+ strh r0, [r7]
+ lsls r0, r6, 16
+ asrs r0, 8
+ adds r1, r4, 0
+ bl __divsi3
+ mov r1, r8
+ strh r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8102D8C
+
+ thumb_func_start sub_8102DE4
+sub_8102DE4: @ 8102DE4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ movs r5, 0
+ strh r0, [r4, 0x2E]
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r1, r0, r1
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _08102E00
+ adds r0, 0xFF
+_08102E00:
+ asrs r0, 8
+ lsls r0, 8
+ subs r0, r1, r0
+ ldrh r1, [r4, 0x3A]
+ ldrh r2, [r4, 0x36]
+ adds r1, r2
+ strh r1, [r4, 0x36]
+ ldrh r2, [r4, 0x3C]
+ ldrh r3, [r4, 0x38]
+ adds r2, r3
+ strh r2, [r4, 0x38]
+ lsls r1, 16
+ asrs r1, 20
+ strh r1, [r4, 0x20]
+ lsls r2, 16
+ asrs r2, 20
+ strh r2, [r4, 0x22]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0xF
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldrh r2, [r4, 0x22]
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x10
+ lsls r0, 16
+ movs r1, 0x88
+ lsls r1, 17
+ cmp r0, r1
+ bhi _08102E4E
+ lsls r0, r2, 16
+ asrs r1, r0, 16
+ movs r0, 0x10
+ negs r0, r0
+ cmp r1, r0
+ blt _08102E4E
+ cmp r1, 0x80
+ ble _08102E56
+_08102E4E:
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+ b _08102EA6
+_08102E56:
+ movs r0, 0x34
+ ldrsh r1, [r4, r0]
+ cmp r1, 0
+ beq _08102EA6
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, r1
+ ble _08102EA6
+ strh r5, [r4, 0x32]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08102E7E
+ strh r5, [r4, 0x30]
+_08102E7E:
+ ldr r2, =gUnknown_08593020
+ movs r3, 0x30
+ ldrsh r1, [r4, r3]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _08102EA6
+ lsls r2, r0, 4
+ ldrb r1, [r4, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+_08102EA6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102DE4
+
+ thumb_func_start sub_8102EB0
+sub_8102EB0: @ 8102EB0
+ push {r4-r7,lr}
+ adds r6, r0, 0
+ ldr r7, =gBattleAnimAttacker
+ ldrb r0, [r7]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08102ECE
+ ldr r1, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+_08102ECE:
+ ldrb r0, [r7]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ movs r5, 0
+ strh r0, [r6, 0x20]
+ ldrb r0, [r7]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r2, [r4, 0x4]
+ adds r0, r2
+ strh r0, [r6, 0x22]
+ ldrb r1, [r4]
+ adds r0, r6, 0
+ bl StartSpriteAnim
+ strh r5, [r6, 0x32]
+ strh r5, [r6, 0x34]
+ ldrh r0, [r6, 0x20]
+ lsls r0, 4
+ strh r0, [r6, 0x36]
+ ldrh r0, [r6, 0x22]
+ lsls r0, 4
+ strh r0, [r6, 0x38]
+ movs r1, 0x2
+ ldrsh r0, [r4, r1]
+ lsls r0, 4
+ movs r1, 0x5
+ bl __divsi3
+ strh r0, [r6, 0x3A]
+ movs r2, 0x4
+ ldrsh r0, [r4, r2]
+ lsls r0, 7
+ movs r1, 0x5
+ bl __divsi3
+ strh r0, [r6, 0x3C]
+ ldr r0, =sub_8102F40
+ str r0, [r6, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102EB0
+
+ thumb_func_start sub_8102F40
+sub_8102F40: @ 8102F40
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x3A]
+ ldrh r1, [r4, 0x36]
+ adds r0, r1
+ strh r0, [r4, 0x36]
+ ldrh r1, [r4, 0x3C]
+ ldrh r2, [r4, 0x38]
+ adds r1, r2
+ strh r1, [r4, 0x38]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r4, 0x20]
+ lsls r1, 16
+ asrs r1, 20
+ strh r1, [r4, 0x22]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x5
+ ble _08102F9E
+ movs r2, 0x34
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _08102F9E
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x10
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x32]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ movs r1, 0x12
+ bl Cos
+ strh r0, [r4, 0x24]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ movs r1, 0x12
+ bl Sin
+ strh r0, [r4, 0x26]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08102F9E
+ movs r0, 0x1
+ strh r0, [r4, 0x34]
+_08102F9E:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x30
+ bne _08102FB2
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_08102FB2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8102F40
+
+ thumb_func_start sub_8102FB8
+sub_8102FB8: @ 8102FB8
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ bne _08102FDC
+ ldrb r0, [r5, 0x3]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x10
+ orrs r1, r0
+ strb r1, [r5, 0x3]
+ movs r6, 0x10
+ b _08102FDE
+ .pool
+_08102FDC:
+ ldr r6, =0x0000fff0
+_08102FDE:
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r6
+ strh r0, [r5, 0x20]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x8
+ strh r0, [r5, 0x22]
+ movs r0, 0x8
+ strh r0, [r5, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8102FB8
+
+ thumb_func_start sub_8103028
+sub_8103028: @ 8103028
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x8
+ strh r0, [r4, 0x22]
+ ldr r5, =gBattleAnimArgs
+ ldrb r1, [r5, 0x2]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r2, =gUnknown_08593020
+ movs r0, 0x4
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r0, [r0]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _08103068
+ lsls r2, r0, 4
+ ldrb r1, [r4, 0x5]
+ movs r0, 0xF
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r4, 0x5]
+_08103068:
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r2, 0x20
+ cmp r0, 0
+ bne _08103074
+ ldr r2, =0x0000ffe0
+_08103074:
+ movs r0, 0x28
+ strh r0, [r4, 0x2E]
+ ldrh r1, [r4, 0x20]
+ strh r1, [r4, 0x30]
+ lsls r0, r2, 16
+ asrs r0, 16
+ adds r0, r1
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ subs r0, 0x28
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x38]
+ ldr r0, =sub_81030B0
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103028
+
+ thumb_func_start sub_81030B0
+sub_81030B0: @ 81030B0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ bne _08103100
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x8
+ bl Sin
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldrh r2, [r4, 0x24]
+ movs r3, 0x24
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bge _081030DC
+ lsls r0, r1, 16
+ negs r0, r0
+ lsrs r1, r0, 16
+_081030DC:
+ lsls r0, r1, 16
+ asrs r0, 16
+ adds r0, r2
+ strh r0, [r4, 0x24]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x4
+ bl Sin
+ ldrh r3, [r4, 0x26]
+ adds r0, r3
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x8
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ b _08103106
+_08103100:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08103106:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81030B0
+
+ thumb_func_start sub_810310C
+sub_810310C: @ 810310C
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810312C
+ adds r0, r5, 0
+ movs r1, 0x5
+ bl sub_80A861C
+ adds r0, 0x8
+ b _08103136
+_0810312C:
+ adds r0, r5, 0
+ movs r1, 0x4
+ bl sub_80A861C
+ subs r0, 0x8
+_08103136:
+ strh r0, [r6, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ adds r4, r0, 0
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_80A861C
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _08103158
+ adds r0, 0x3
+_08103158:
+ asrs r0, 2
+ subs r0, r4, r0
+ strh r0, [r6, 0x22]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810310C
+
+ thumb_func_start sub_8103164
+sub_8103164: @ 8103164
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08103180
+ ldr r0, =gBattleAnimAttacker
+ b _08103182
+ .pool
+_08103180:
+ ldr r0, =gBattleAnimTarget
+_08103182:
+ ldrb r4, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_810310C
+ adds r0, r4, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ negs r1, r0
+ orrs r1, r0
+ lsrs r1, 31
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x2]
+ strh r0, [r5, 0x2E]
+ adds r0, r1, 0x2
+ strh r0, [r5, 0x30]
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldr r1, =sub_81031D0
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103164
+
+ thumb_func_start sub_81031D0
+sub_81031D0: @ 81031D0
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bne _081031F8
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldrh r1, [r4, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+_081031F8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81031D0
+
+ thumb_func_start sub_8103208
+sub_8103208: @ 8103208
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08103224
+ ldr r0, =gBattleAnimAttacker
+ b _08103226
+ .pool
+_08103224:
+ ldr r0, =gBattleAnimTarget
+_08103226:
+ ldrb r0, [r0]
+ adds r1, r4, 0
+ bl sub_810310C
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ ldr r1, =sub_8103250
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67BC
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103208
+
+ thumb_func_start sub_8103250
+sub_8103250: @ 8103250
+ 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, 0x10
+ ble _08103276
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldr r1, =move_anim_8074EE0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67BC
+ str r0, [r4, 0x1C]
+_08103276:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103250
+
+ thumb_func_start sub_8103284
+sub_8103284: @ 8103284
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _081032A0
+ ldr r0, =gBattleAnimAttacker
+ b _081032A2
+ .pool
+_081032A0:
+ ldr r0, =gBattleAnimTarget
+_081032A2:
+ ldrb r5, [r0]
+ adds r0, r5, 0
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ movs r6, 0
+ strh r0, [r4, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl sub_80A861C
+ strh r0, [r4, 0x22]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x9
+ bgt _081032CA
+ movs r0, 0xA
+ strh r0, [r4, 0x22]
+_081032CA:
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+ strh r6, [r4, 0x30]
+ adds r1, r4, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ strh r0, [r4, 0x32]
+ ldrb r0, [r1]
+ adds r0, 0x4
+ strh r0, [r4, 0x34]
+ strh r6, [r4, 0x36]
+ ldr r1, =sub_8103300
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67BC
+ str r0, [r4, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103284
+
+ thumb_func_start sub_8103300
+sub_8103300: @ 8103300
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x36]
+ adds r0, 0x1
+ strh r0, [r1, 0x36]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xC
+ ble _08103316
+ ldr r0, =sub_8103320
+ str r0, [r1, 0x1C]
+_08103316:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103300
+
+ thumb_func_start sub_8103320
+sub_8103320: @ 8103320
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x30]
+ adds r1, r0, 0x4
+ strh r1, [r2, 0x30]
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0xFE
+ ble _08103352
+ ldrh r0, [r2, 0x2E]
+ subs r0, 0x1
+ strh r0, [r2, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bne _0810334C
+ strh r0, [r2, 0x24]
+ ldr r0, =sub_8103250
+ str r0, [r2, 0x1C]
+ b _08103388
+ .pool
+_0810334C:
+ movs r0, 0xFF
+ ands r1, r0
+ strh r1, [r2, 0x30]
+_08103352:
+ movs r1, 0x30
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x4F
+ ble _08103362
+ ldrh r0, [r2, 0x34]
+ adds r1, r2, 0
+ adds r1, 0x43
+ strb r0, [r1]
+_08103362:
+ movs r3, 0x30
+ ldrsh r0, [r2, r3]
+ cmp r0, 0x9F
+ ble _08103372
+ ldrh r0, [r2, 0x32]
+ adds r1, r2, 0
+ adds r1, 0x43
+ strb r0, [r1]
+_08103372:
+ ldr r1, =gSineTable
+ movs r3, 0x30
+ ldrsh r0, [r2, r3]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ lsls r0, 16
+ asrs r0, 19
+ asrs r1, r0, 1
+ adds r0, r1
+ strh r0, [r2, 0x24]
+_08103388:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103320
+
+ thumb_func_start sub_8103390
+sub_8103390: @ 8103390
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _081033AC
+ ldr r0, =gBattleAnimAttacker
+ b _081033AE
+ .pool
+_081033AC:
+ ldr r0, =gBattleAnimTarget
+_081033AE:
+ ldrb r4, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_810310C
+ adds r0, r4, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _081033D4
+ adds r0, r5, 0
+ movs r1, 0
+ bl StartSpriteAnim
+ movs r0, 0x2
+ b _081033DE
+ .pool
+_081033D4:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ movs r0, 0x3
+_081033DE:
+ strh r0, [r5, 0x2E]
+ ldr r0, =sub_81033F0
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103390
+
+ thumb_func_start sub_81033F0
+sub_81033F0: @ 81033F0
+ 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, 0xA
+ ble _0810341E
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r1, [r4, 0x2E]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r1, =sub_810342C
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+_0810341E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81033F0
+
+ thumb_func_start sub_810342C
+sub_810342C: @ 810342C
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x30]
+ adds r0, 0x1
+ strh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ ble _08103444
+ adds r0, r1, 0
+ bl DestroyAnimSprite
+_08103444:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810342C
+
+ .align 2, 0
diff --git a/asm/battle_anim_effects_2.s b/asm/battle_anim_effects_2.s
new file mode 100644
index 000000000..c8cd53398
--- /dev/null
+++ b/asm/battle_anim_effects_2.s
@@ -0,0 +1,7544 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8103448
+sub_8103448: @ 8103448
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldr r5, =gBattleAnimArgs
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ adds r0, r4, 0
+ bl sub_80A6864
+ ldrh r0, [r5, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x32]
+ ldrh r0, [r5, 0xA]
+ strh r0, [r4, 0x34]
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x36]
+ ldr r1, =move_anim_8074EE0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r1, =sub_80A6450
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103448
+
+ thumb_func_start sub_8103498
+sub_8103498: @ 8103498
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _081034B4
+ ldr r0, =gBattleAnimAttacker
+ b _081034B6
+ .pool
+_081034B4:
+ ldr r0, =gBattleAnimTarget
+_081034B6:
+ ldrb r0, [r0]
+ adds r1, r4, 0
+ bl sub_810310C
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ strh r0, [r4, 0x30]
+ ldr r0, =sub_81034D8
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103498
+
+ thumb_func_start sub_81034D8
+sub_81034D8: @ 81034D8
+ push {lr}
+ adds r1, r0, 0
+ movs r2, 0x2E
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x1
+ beq _0810350A
+ cmp r0, 0x1
+ bgt _081034EE
+ cmp r0, 0
+ beq _081034F4
+ b _08103538
+_081034EE:
+ cmp r0, 0x2
+ beq _08103524
+ b _08103538
+_081034F4:
+ ldrh r0, [r1, 0x26]
+ subs r0, 0x3
+ strh r0, [r1, 0x26]
+ ldrh r0, [r1, 0x30]
+ adds r0, 0x1
+ strh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x6
+ bne _08103538
+ b _0810351C
+_0810350A:
+ ldrh r0, [r1, 0x26]
+ adds r0, 0x3
+ strh r0, [r1, 0x26]
+ ldrh r0, [r1, 0x30]
+ subs r0, 0x1
+ strh r0, [r1, 0x30]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08103538
+_0810351C:
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ b _08103538
+_08103524:
+ ldrh r0, [r1, 0x30]
+ adds r0, 0x1
+ strh r0, [r1, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x40
+ bne _08103538
+ adds r0, r1, 0
+ bl DestroyAnimSprite
+_08103538:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81034D8
+
+ thumb_func_start sub_810353C
+sub_810353C: @ 810353C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r3, =gSprites
+ movs r0, 0x32
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r1, [r4, 0x30]
+ ldrh r2, [r0, 0x24]
+ adds r1, r2
+ strh r1, [r0, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ negs r0, r0
+ strh r0, [r4, 0x30]
+ movs r0, 0x2E
+ ldrsh r2, [r4, r0]
+ cmp r2, 0
+ bne _0810357A
+ movs r0, 0x32
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ strh r2, [r0, 0x24]
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_0810357A:
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810353C
+
+ thumb_func_start sub_810358C
+sub_810358C: @ 810358C
+ push {r4-r6,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]
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r6, [r0]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _081035E4
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r5, 0x20]
+ ldrh r2, [r0]
+ subs r1, r2
+ strh r1, [r5, 0x20]
+ adds r1, r0, 0
+ b _081035EE
+ .pool
+_081035E4:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ ldrh r2, [r5, 0x20]
+ adds r0, r2
+ strh r0, [r5, 0x20]
+_081035EE:
+ ldrh r0, [r1, 0x2]
+ ldrh r2, [r5, 0x22]
+ adds r0, r2
+ strh r0, [r5, 0x22]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r5, 0x30]
+ strh r6, [r5, 0x32]
+ ldr r0, =sub_810353C
+ str r0, [r5, 0x1C]
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810358C
+
+ thumb_func_start sub_8103620
+sub_8103620: @ 8103620
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x38]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r4, 0x1C]
+ ldr r1, =sub_8103658
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103620
+
+ thumb_func_start sub_8103658
+sub_8103658: @ 8103658
+ push {lr}
+ ldrh r1, [r0, 0x30]
+ strh r1, [r0, 0x2E]
+ ldrh r1, [r0, 0x20]
+ strh r1, [r0, 0x32]
+ ldrh r1, [r0, 0x22]
+ adds r1, 0xF
+ strh r1, [r0, 0x36]
+ ldr r1, =StartAnimLinearTranslation
+ str r1, [r0, 0x1C]
+ ldr r1, =sub_8103680
+ bl StoreSpriteCallbackInData6
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103658
+
+ thumb_func_start sub_8103680
+sub_8103680: @ 8103680
+ push {lr}
+ adds r1, r0, 0
+ ldrh r2, [r1, 0x38]
+ movs r3, 0x38
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _08103696
+ adds r0, r1, 0
+ bl DestroyAnimSprite
+ b _0810369A
+_08103696:
+ subs r0, r2, 0x1
+ strh r0, [r1, 0x38]
+_0810369A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8103680
+
+ thumb_func_start sub_81036A0
+sub_81036A0: @ 81036A0
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_80A7270
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, =sub_81036DC
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81036A0
+
+ thumb_func_start sub_81036DC
+sub_81036DC: @ 81036DC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ adds r1, r0, r1
+ ldrb r4, [r1]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08103718
+ ldr r1, =gTasks
+ lsls r2, r5, 2
+ adds r0, r2, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x8]
+ negs r0, r0
+ lsls r0, 16
+ lsrs r3, r0, 16
+ adds r6, r2, 0
+ b _08103726
+ .pool
+_08103718:
+ ldr r2, =gTasks
+ lsls r1, r5, 2
+ adds r0, r1, r5
+ lsls r0, 3
+ adds r0, r2
+ ldrh r3, [r0, 0x8]
+ adds r6, r1, 0
+_08103726:
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl obj_id_set_rotscale
+ ldr r1, =gTasks
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r1, r0, r1
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08103760
+ ldrh r0, [r1, 0x8]
+ adds r0, 0xB0
+ strh r0, [r1, 0x8]
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ adds r1, 0x1
+ b _0810378A
+ .pool
+_08103760:
+ cmp r0, 0x1
+ bne _08103776
+ ldrh r0, [r1, 0xE]
+ adds r0, 0x1
+ strh r0, [r1, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1E
+ bne _081037D0
+ movs r0, 0x2
+ b _081037CE
+_08103776:
+ ldrh r0, [r1, 0x8]
+ subs r0, 0xB0
+ strh r0, [r1, 0x8]
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrh r1, [r0, 0x26]
+ subs r1, 0x1
+_0810378A:
+ strh r1, [r0, 0x26]
+ adds r0, r4, 0
+ bl sub_80A73A0
+ ldr r0, =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r2, [r1, r3]
+ movs r0, 0xF2
+ lsls r0, 4
+ cmp r2, r0
+ beq _081037AA
+ cmp r2, 0
+ bne _081037D0
+_081037AA:
+ ldrh r2, [r1, 0xA]
+ movs r3, 0xA
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x2
+ bne _081037CC
+ adds r0, r4, 0
+ bl sub_80A7344
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+ b _081037D0
+ .pool
+_081037CC:
+ adds r0, r2, 0x1
+_081037CE:
+ strh r0, [r1, 0xA]
+_081037D0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81036DC
+
+ thumb_func_start sub_81037D8
+sub_81037D8: @ 81037D8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08103804
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r4, 0x20]
+ ldrh r2, [r0]
+ subs r1, r2
+ strh r1, [r4, 0x20]
+ adds r5, r0, 0
+ b _08103810
+ .pool
+_08103804:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x20]
+ adds r5, r1, 0
+_08103810:
+ ldrh r0, [r5, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810384C
+ adds r3, r4, 0
+ adds r3, 0x3F
+ ldrb r0, [r3]
+ movs r1, 0x1
+ adds r2, r0, 0
+ orrs r2, r1
+ strb r2, [r3]
+ movs r1, 0x4
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _08103860
+ movs r0, 0x2
+ orrs r2, r0
+ strb r2, [r3]
+ b _08103860
+ .pool
+_0810384C:
+ movs r2, 0x4
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _08103860
+ adds r2, r4, 0
+ adds r2, 0x3F
+ ldrb r0, [r2]
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+_08103860:
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81037D8
+
+ thumb_func_start sub_810387C
+sub_810387C: @ 810387C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r0, =sub_80A67BC
+ str r0, [r4, 0x1C]
+ ldr r1, =sub_81038A0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810387C
+
+ thumb_func_start sub_81038A0
+sub_81038A0: @ 81038A0
+ push {lr}
+ movs r1, 0x6
+ strh r1, [r0, 0x2E]
+ ldrh r1, [r0, 0x20]
+ strh r1, [r0, 0x32]
+ ldrh r1, [r0, 0x22]
+ subs r1, 0x20
+ strh r1, [r0, 0x36]
+ ldr r1, =StartAnimLinearTranslation
+ str r1, [r0, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ bl StoreSpriteCallbackInData6
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81038A0
+
+ thumb_func_start sub_81038C8
+sub_81038C8: @ 81038C8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r5, r0, 0
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _081038EC
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+ b _0810390E
+ .pool
+_081038EC:
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810390E
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+ ldrh r0, [r1, 0x6]
+ negs r0, r0
+ strh r0, [r1, 0x6]
+_0810390E:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r6, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r6, 0x4]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r2, [r6, 0x6]
+ adds r0, r2
+ lsls r0, 16
+ lsrs r0, 16
+ adds r7, r0, 0
+ ldrh r1, [r5, 0x20]
+ mov r2, r8
+ lsls r0, r2, 16
+ asrs r0, 16
+ subs r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r2, [r5, 0x22]
+ lsls r1, r7, 16
+ asrs r1, 16
+ subs r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl ArcTan2Neg
+ lsls r0, 16
+ movs r1, 0xF0
+ lsls r1, 24
+ adds r0, r1
+ lsrs r4, r0, 16
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08103980
+ ldr r2, =0xffffa000
+ adds r0, r4, r2
+ lsls r0, 16
+ lsrs r4, r0, 16
+_08103980:
+ movs r3, 0x80
+ lsls r3, 1
+ str r4, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ adds r2, r3, 0
+ bl sub_80A73E0
+ ldrh r0, [r6, 0x8]
+ strh r0, [r5, 0x2E]
+ mov r0, r8
+ strh r0, [r5, 0x32]
+ strh r7, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81038C8
+
+ thumb_func_start sub_81039CC
+sub_81039CC: @ 81039CC
+ push {lr}
+ adds r3, r0, 0
+ ldrh r0, [r3, 0x2E]
+ subs r1, r0, 0x1
+ strh r1, [r3, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _081039F6
+ ldr r2, =gTasks
+ movs r0, 0x3C
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r0, 0xA]
+ subs r1, 0x1
+ strh r1, [r0, 0xA]
+ adds r0, r3, 0
+ bl DestroySprite
+_081039F6:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81039CC
+
+ thumb_func_start sub_8103A00
+sub_8103A00: @ 8103A00
+ push {r4,lr}
+ adds r2, r0, 0
+ movs r0, 0x3C
+ ldrsh r1, [r2, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r4, r0, r1
+ movs r3, 0x2E
+ ldrsh r1, [r2, r3]
+ movs r3, 0x12
+ ldrsh r0, [r4, r3]
+ cmp r1, r0
+ ble _08103A34
+ ldrh r0, [r2, 0x34]
+ ldrh r1, [r2, 0x38]
+ adds r0, r1
+ strh r0, [r2, 0x38]
+ ldrh r0, [r2, 0x36]
+ ldrh r3, [r2, 0x3A]
+ adds r0, r3
+ b _08103A42
+ .pool
+_08103A34:
+ ldrh r0, [r2, 0x38]
+ ldrh r1, [r2, 0x34]
+ subs r0, r1
+ strh r0, [r2, 0x38]
+ ldrh r0, [r2, 0x3A]
+ ldrh r1, [r2, 0x36]
+ subs r0, r1
+_08103A42:
+ strh r0, [r2, 0x3A]
+ ldrh r0, [r2, 0x38]
+ ldrh r1, [r2, 0x30]
+ adds r3, r0, r1
+ strh r3, [r2, 0x30]
+ ldrh r0, [r2, 0x3A]
+ ldrh r1, [r2, 0x32]
+ adds r0, r1
+ strh r0, [r2, 0x32]
+ ldrh r1, [r4, 0x16]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08103A66
+ lsls r0, r3, 16
+ lsrs r0, 24
+ negs r0, r0
+ b _08103A6A
+_08103A66:
+ lsls r0, r3, 16
+ lsrs r0, 24
+_08103A6A:
+ strh r0, [r2, 0x24]
+ ldrh r1, [r4, 0x18]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08103A7E
+ ldrh r0, [r2, 0x32]
+ lsrs r0, 8
+ negs r0, r0
+ b _08103A82
+_08103A7E:
+ ldrh r0, [r2, 0x32]
+ lsrs r0, 8
+_08103A82:
+ strh r0, [r2, 0x26]
+ ldrh r0, [r2, 0x2E]
+ subs r1, r0, 0x1
+ strh r1, [r2, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08103A98
+ movs r0, 0x1E
+ strh r0, [r2, 0x2E]
+ ldr r0, =sub_81039CC
+ str r0, [r2, 0x1C]
+_08103A98:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103A00
+
+ thumb_func_start sub_8103AA4
+sub_8103AA4: @ 8103AA4
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ movs r0, 0x3C
+ ldrsh r1, [r7, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r6, r0, r1
+ ldrh r2, [r6, 0x16]
+ movs r1, 0x2
+ negs r1, r1
+ adds r0, r1, 0
+ ands r0, r2
+ ldrh r3, [r7, 0x30]
+ adds r2, r0, r3
+ strh r2, [r7, 0x30]
+ ldrh r0, [r6, 0x18]
+ ands r1, r0
+ ldrh r0, [r7, 0x32]
+ adds r1, r0
+ strh r1, [r7, 0x32]
+ ldrh r1, [r6, 0x16]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08103AEC
+ lsls r0, r2, 16
+ lsrs r0, 24
+ negs r0, r0
+ b _08103AF0
+ .pool
+_08103AEC:
+ lsls r0, r2, 16
+ lsrs r0, 24
+_08103AF0:
+ strh r0, [r7, 0x24]
+ ldrh r1, [r6, 0x18]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08103B04
+ ldrh r0, [r7, 0x32]
+ lsrs r0, 8
+ negs r0, r0
+ b _08103B08
+_08103B04:
+ ldrh r0, [r7, 0x32]
+ lsrs r0, 8
+_08103B08:
+ strh r0, [r7, 0x26]
+ ldrh r0, [r7, 0x2E]
+ subs r1, r0, 0x1
+ strh r1, [r7, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08103BD4
+ movs r4, 0
+ movs r0, 0x8
+ strh r0, [r7, 0x2E]
+ movs r0, 0x4
+ strh r0, [r6, 0x12]
+ movs r0, 0x80
+ lsls r0, 5
+ bl sub_8151624
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldrh r0, [r7, 0x24]
+ ldrh r1, [r7, 0x20]
+ adds r2, r0, r1
+ strh r2, [r7, 0x20]
+ ldrh r0, [r7, 0x26]
+ ldrh r3, [r7, 0x22]
+ adds r0, r3
+ strh r0, [r7, 0x22]
+ strh r4, [r7, 0x26]
+ strh r4, [r7, 0x24]
+ ldrh r3, [r6, 0x1E]
+ movs r0, 0x1E
+ ldrsh r1, [r6, r0]
+ lsls r0, r2, 16
+ asrs r0, 16
+ cmp r1, r0
+ blt _08103B52
+ subs r0, r3, r2
+ b _08103B54
+_08103B52:
+ subs r0, r2, r3
+_08103B54:
+ lsls r0, 24
+ lsrs r4, r0, 16
+ ldrh r3, [r6, 0x20]
+ movs r0, 0x20
+ ldrsh r1, [r6, r0]
+ ldrh r2, [r7, 0x22]
+ movs r6, 0x22
+ ldrsh r0, [r7, r6]
+ cmp r1, r0
+ blt _08103B6C
+ subs r0, r3, r2
+ b _08103B6E
+_08103B6C:
+ subs r0, r2, r3
+_08103B6E:
+ lsls r0, 24
+ lsrs r0, 16
+ mov r8, r0
+ movs r0, 0
+ strh r0, [r7, 0x32]
+ strh r0, [r7, 0x30]
+ strh r0, [r7, 0x3A]
+ strh r0, [r7, 0x38]
+ lsls r0, r4, 16
+ asrs r0, 16
+ lsls r5, 16
+ asrs r5, 16
+ adds r1, r5, 0
+ bl sub_8151534
+ adds r4, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ movs r6, 0xE0
+ lsls r6, 1
+ adds r0, r6, 0
+ bl sub_8151624
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl sub_8151534
+ strh r0, [r7, 0x34]
+ mov r1, r8
+ lsls r0, r1, 16
+ asrs r0, 16
+ adds r1, r5, 0
+ bl sub_8151534
+ adds r4, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r6, 0
+ bl sub_8151624
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl sub_8151534
+ strh r0, [r7, 0x36]
+ ldr r0, =sub_8103A00
+ str r0, [r7, 0x1C]
+_08103BD4:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103AA4
+
+ thumb_func_start sub_8103BE4
+sub_8103BE4: @ 8103BE4
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0xA
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08103C02
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_08103C02:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103BE4
+
+ thumb_func_start sub_8103C0C
+sub_8103C0C: @ 8103C0C
+ 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 r5, r0, r1
+ ldrh r0, [r5, 0x8]
+ subs r1, r0, 0x1
+ strh r1, [r5, 0x8]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08103CE0
+ ldr r0, =gUnknown_085933B0
+ movs r2, 0x1A
+ ldrsh r1, [r5, r2]
+ movs r3, 0x1C
+ ldrsh r2, [r5, r3]
+ ldrb r3, [r5, 0xC]
+ ldrb r4, [r5, 0xA]
+ subs r3, r4
+ lsls r3, 24
+ lsrs r3, 24
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+ lsls r0, 4
+ add r0, r12
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r6, r0, r1
+ movs r1, 0x10
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _08103C6C
+ cmp r0, 0x2
+ beq _08103C82
+ b _08103C90
+ .pool
+_08103C6C:
+ ldrb r2, [r6, 0x3]
+ lsls r1, r2, 26
+ lsrs r1, 27
+ movs r0, 0x18
+ orrs r1, r0
+ lsls r1, 1
+ subs r0, 0x57
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r6, 0x3]
+ b _08103C90
+_08103C82:
+ ldrb r0, [r6, 0x3]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x10
+ orrs r1, r0
+ strb r1, [r6, 0x3]
+_08103C90:
+ ldr r3, =gTasks
+ lsls r2, r7, 2
+ adds r2, r7
+ lsls r2, 3
+ adds r4, r2, r3
+ ldrh r0, [r4, 0x12]
+ ldrh r1, [r4, 0x14]
+ subs r0, r1
+ strh r0, [r6, 0x2E]
+ strh r7, [r6, 0x3C]
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ adds r0, 0xD
+ lsls r0, 1
+ adds r0, r2
+ adds r3, 0x8
+ adds r0, r3
+ mov r2, r12
+ strh r2, [r0]
+ ldrh r0, [r4, 0xE]
+ strh r0, [r4, 0x8]
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ movs r0, 0x3F
+ negs r0, r0
+ bl BattleAnimAdjustPanning
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x9A
+ bl PlaySE12WithPanning
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ cmp r0, 0x2
+ ble _08103CE0
+ ldr r0, =sub_8103BE4
+ str r0, [r4]
+_08103CE0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103C0C
+
+ thumb_func_start sub_8103CF0
+sub_8103CF0: @ 8103CF0
+ 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
+ movs r0, 0
+ mov r9, r0
+ movs r5, 0
+ mov r0, sp
+ mov r1, r9
+ strh r1, [r0]
+ mov r4, sp
+ adds r4, 0x2
+ strh r1, [r4]
+ bl IsContest
+ lsls r0, 24
+ mov r10, r4
+ cmp r0, 0
+ beq _08103D5C
+ ldr r1, =gTasks
+ lsls r2, r7, 2
+ adds r0, r2, r7
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x2
+ strh r1, [r0, 0x10]
+ ldr r3, =gBattleAnimArgs
+ ldrh r0, [r3]
+ negs r0, r0
+ strh r0, [r3]
+ ldrh r1, [r3, 0x4]
+ movs r0, 0x1
+ ands r0, r1
+ mov r8, r2
+ cmp r0, 0
+ beq _08103D54
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strh r0, [r3, 0x4]
+ b _08103DB6
+ .pool
+_08103D54:
+ movs r0, 0x1
+ orrs r0, r1
+ strh r0, [r3, 0x4]
+ b _08103DB6
+_08103D5C:
+ ldr r1, =gBattlerPositions
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r3, 0x1
+ adds r0, r3, 0
+ ands r0, r1
+ lsls r2, r7, 2
+ mov r8, r2
+ cmp r0, 0
+ bne _08103DB6
+ ldr r1, =gTasks
+ adds r0, r2, r7
+ lsls r0, 3
+ adds r0, r1
+ strh r3, [r0, 0x10]
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r2]
+ negs r0, r0
+ strh r0, [r2]
+ ldrh r0, [r2, 0x2]
+ negs r0, r0
+ strh r0, [r2, 0x2]
+ ldrh r1, [r2, 0x4]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08103DB0
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ b _08103DB4
+ .pool
+_08103DB0:
+ movs r0, 0x1
+ orrs r0, r1
+_08103DB4:
+ strh r0, [r2, 0x4]
+_08103DB6:
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ ldr r1, =gTasks
+ mov r3, r8
+ adds r4, r3, r7
+ lsls r4, 3
+ adds r4, r1
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x1A]
+ adds r6, r0, 0
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x1C]
+ mov r9, r0
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08103E20
+ ldr r4, =gBattleAnimTarget
+ ldrb r1, [r4]
+ movs r0, 0x2
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _08103E20
+ ldrb r0, [r4]
+ movs r1, 0
+ mov r2, sp
+ mov r3, r10
+ bl SetAverageBattlerPositions
+ b _08103E42
+ .pool
+_08103E20:
+ mov r5, sp
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, r10
+ strh r0, [r1]
+_08103E42:
+ mov r4, sp
+ ldr r0, =gTasks
+ mov r2, r8
+ adds r1, r2, r7
+ lsls r1, 3
+ adds r1, r0
+ mov r2, sp
+ ldr r3, =gBattleAnimArgs
+ ldrh r0, [r3]
+ ldrh r2, [r2]
+ adds r0, r2
+ strh r0, [r1, 0x1E]
+ strh r0, [r4]
+ ldrh r0, [r3, 0x2]
+ mov r3, r10
+ ldrh r3, [r3]
+ adds r0, r3
+ strh r0, [r1, 0x20]
+ mov r1, r10
+ strh r0, [r1]
+ mov r0, sp
+ ldrh r2, [r0]
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ adds r1, r6, 0
+ cmp r0, r1
+ blt _08103E88
+ subs r0, r2, r1
+ b _08103E8A
+ .pool
+_08103E88:
+ subs r0, r1, r2
+_08103E8A:
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r4, r0, 16
+ asrs r4, 16
+ ldr r5, =gBattleAnimArgs
+ ldrh r1, [r5, 0x4]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_8151624
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl sub_8151534
+ ldr r2, =gTasks
+ mov r3, r8
+ adds r1, r3, r7
+ lsls r1, 3
+ adds r6, r1, r2
+ strh r0, [r6, 0x12]
+ movs r1, 0x12
+ ldrsh r0, [r6, r1]
+ movs r1, 0x80
+ bl sub_8151534
+ strh r0, [r6, 0x14]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r6, 0x16]
+ mov r2, r10
+ ldrh r1, [r2]
+ movs r3, 0
+ ldrsh r0, [r2, r3]
+ mov r4, r9
+ cmp r0, r4
+ blt _08103F08
+ subs r4, r1, r4
+ lsls r4, 16
+ asrs r4, 16
+ movs r1, 0x12
+ ldrsh r0, [r6, r1]
+ bl sub_8151624
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl sub_8151534
+ movs r1, 0x2
+ negs r1, r1
+ ands r1, r0
+ strh r1, [r6, 0x18]
+ b _08103F28
+ .pool
+_08103F08:
+ subs r4, r1
+ lsls r4, 16
+ asrs r4, 16
+ movs r2, 0x12
+ ldrsh r0, [r6, r2]
+ bl sub_8151624
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ adds r0, r4, 0
+ bl sub_8151534
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r6, 0x18]
+_08103F28:
+ ldr r1, =gTasks
+ mov r3, r8
+ adds r0, r3, r7
+ lsls r0, 3
+ adds r5, r0, r1
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4, 0x6]
+ strh r0, [r5, 0xE]
+ ldrh r1, [r4, 0x8]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _08103F78
+ movs r0, 0x80
+ eors r0, r1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3F
+ ble _08103FA0
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =0x0000ffc0
+ adds r1, r2, 0
+ ldrh r4, [r4, 0x8]
+ adds r1, r4
+ adds r0, r1
+ b _08103FB0
+ .pool
+_08103F78:
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0x3F
+ ble _08103FA0
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =0x0000ffc0
+ adds r1, r3, 0
+ ldrh r4, [r4, 0x8]
+ adds r1, r4
+ adds r0, r1
+ b _08103FB0
+ .pool
+_08103FA0:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x8]
+ subs r0, r1
+_08103FB0:
+ strh r0, [r5, 0xC]
+ ldr r0, =gTasks
+ mov r2, r8
+ adds r1, r2, r7
+ lsls r1, 3
+ adds r1, r0
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x2
+ bgt _08103FC8
+ movs r0, 0x3
+ strh r0, [r1, 0xC]
+_08103FC8:
+ ldr r0, =sub_8103C0C
+ str r0, [r1]
+ 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_8103CF0
+
+ thumb_func_start sub_8103FE8
+sub_8103FE8: @ 8103FE8
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r0, =gUnknown_085934A0
+ ldrh r0, [r0, 0x2]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 20
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1
+ strh r0, [r4, 0x2E]
+ ldr r0, =sub_8104018
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8103FE8
+
+ thumb_func_start sub_8104018
+sub_8104018: @ 8104018
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bne _0810407C
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r5, [r4, 0x2E]
+ ldr r1, =gPlttBufferFaded
+ adds r0, r5, 0
+ adds r0, 0x8
+ lsls r0, 1
+ adds r0, r1
+ ldrh r7, [r0]
+ adds r6, r1, 0
+ adds r1, r5, 0
+ adds r1, 0x9
+ lsls r0, r5, 1
+ adds r0, r6
+ adds r2, r0, 0
+ adds r2, 0x10
+ movs r3, 0x7
+ lsls r1, 1
+ adds r1, r6
+_08104050:
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, 0x2
+ adds r2, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08104050
+ adds r0, r5, 0
+ adds r0, 0xF
+ lsls r0, 1
+ adds r0, r6
+ strh r7, [r0]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x18
+ bne _0810407C
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810407C:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104018
+
+ thumb_func_start sub_8104088
+sub_8104088: @ 8104088
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r4, 0x6]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _081040CC
+ ldrh r0, [r4, 0x4]
+ negs r0, r0
+ strh r0, [r4, 0x4]
+_081040CC:
+ lsls r0, r6, 16
+ asrs r0, 16
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ lsls r0, 16
+ ldrh r1, [r5, 0x20]
+ lsrs r6, r0, 16
+ asrs r0, 16
+ subs r0, r1
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r2, [r5, 0x22]
+ lsls r1, r7, 16
+ asrs r1, 16
+ subs r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl ArcTan2Neg
+ lsls r0, 16
+ movs r1, 0xC0
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 16
+ movs r3, 0x80
+ lsls r3, 1
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ adds r2, r3, 0
+ bl sub_80A73E0
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x2E]
+ strh r6, [r5, 0x32]
+ strh r7, [r5, 0x36]
+ ldr r0, =sub_80A7000
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104088
+
+ thumb_func_start sub_810413C
+sub_810413C: @ 810413C
+ ldr r1, =0x0000fff0
+ strh r1, [r0, 0x32]
+ ldrh r1, [r0, 0x22]
+ adds r1, 0x8
+ strh r1, [r0, 0x22]
+ ldr r1, =sub_8104154
+ str r1, [r0, 0x1C]
+ bx lr
+ .pool
+ thumb_func_end sub_810413C
+
+ thumb_func_start sub_8104154
+sub_8104154: @ 8104154
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x80
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08104178
+ ldrh r0, [r4, 0x24]
+ negs r0, r0
+ strh r0, [r4, 0x24]
+_08104178:
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x5
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7E
+ ble _081041B8
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bne _081041B8
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081041B8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104154
+
+ thumb_func_start sub_81041C4
+sub_81041C4: @ 81041C4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ movs r0, 0x14
+ strh r0, [r4, 0x2E]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r4, 0x1C]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r1, =sub_810421C
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81041C4
+
+ thumb_func_start sub_810421C
+sub_810421C: @ 810421C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x3F
+ bl BattleAnimAdjustPanning
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0xA6
+ bl PlaySE12WithPanning
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ 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]
+ movs r2, 0
+ movs r1, 0x7
+ adds r0, r4, 0
+ adds r0, 0x3C
+_08104250:
+ strh r2, [r0]
+ subs r0, 0x2
+ subs r1, 0x1
+ cmp r1, 0
+ bge _08104250
+ bl Random2
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x7
+ ands r0, r1
+ ldr r2, =0x0000fff4
+ adds r1, r2, 0
+ subs r1, r0
+ strh r1, [r4, 0x3A]
+ bl Random2
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xA0
+ bl __umodsi3
+ adds r0, 0xA0
+ strh r0, [r4, 0x3C]
+ ldr r0, =sub_81042A0
+ str r0, [r4, 0x1C]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810421C
+
+ thumb_func_start sub_81042A0
+sub_81042A0: @ 81042A0
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x3C]
+ ldrh r2, [r4, 0x2E]
+ adds r0, r1, r2
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r2, r0, 24
+ strh r2, [r4, 0x24]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _081042BE
+ negs r0, r2
+ strh r0, [r4, 0x24]
+_081042BE:
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r2, 0x3A
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x8
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7E
+ ble _081042FE
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _081042FE
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081042FE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81042A0
+
+ thumb_func_start sub_8104304
+sub_8104304: @ 8104304
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08104322
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x10
+ strh r0, [r4, 0x22]
+_08104322:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0xA]
+ strh r0, [r4, 0x32]
+ ldrh r0, [r1, 0xC]
+ strh r0, [r4, 0x34]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x36]
+ ldr r0, =sub_80A62EC
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104304
+
+ thumb_func_start sub_8104364
+sub_8104364: @ 8104364
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ movs r7, 0x20
+ ldr r4, =0x0000ffe0
+ movs r0, 0x10
+ mov r8, r0
+ ldr r6, =0x0000fff0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _08104390
+ adds r7, r4, 0
+ movs r4, 0x20
+ mov r8, r6
+ movs r6, 0x10
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+_08104390:
+ lsls r0, r7, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x20]
+ adds r0, r1
+ strh r0, [r5, 0x20]
+ lsls r0, r4, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x22]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ movs r0, 0x6
+ strh r0, [r5, 0x2E]
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ add r0, r8
+ strh r0, [r5, 0x32]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r6
+ strh r0, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =sub_81043F8
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104364
+
+ thumb_func_start sub_81043F8
+sub_81043F8: @ 81043F8
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0810440E
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_0810440E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81043F8
+
+ thumb_func_start sub_8104414
+sub_8104414: @ 8104414
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ movs r0, 0x20
+ mov r8, r0
+ ldr r4, =0x0000ffe0
+ movs r2, 0x10
+ mov r9, r2
+ ldr r6, =0x0000fff0
+ ldr r7, =gBattleAnimArgs
+ ldrh r1, [r7]
+ movs r2, 0
+ ldrsh r0, [r7, r2]
+ cmp r0, 0
+ beq _08104448
+ mov r8, r4
+ movs r4, 0x20
+ mov r9, r6
+ movs r6, 0x10
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl StartSpriteAnim
+_08104448:
+ mov r0, r8
+ lsls r1, r0, 16
+ asrs r1, 16
+ ldrh r2, [r5, 0x20]
+ adds r1, r2
+ strh r1, [r5, 0x20]
+ lsls r0, r4, 16
+ asrs r0, 16
+ ldrh r2, [r5, 0x22]
+ adds r0, r2
+ strh r0, [r5, 0x22]
+ movs r0, 0x6
+ strh r0, [r5, 0x2E]
+ strh r1, [r5, 0x30]
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ add r0, r9
+ 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
+ adds r0, r6
+ strh r0, [r5, 0x36]
+ adds r0, r5, 0
+ bl InitAnimLinearTranslation
+ ldrh r0, [r7]
+ strh r0, [r5, 0x38]
+ ldrh r0, [r5, 0x2E]
+ strh r0, [r5, 0x3A]
+ ldr r0, =sub_81044BC
+ str r0, [r5, 0x1C]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104414
+
+ thumb_func_start sub_81044BC
+sub_81044BC: @ 81044BC
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _08104520
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08104520
+ adds r0, r4, 0
+ movs r1, 0
+ bl SeekSpriteAnim
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ movs r2, 0
+ strh r0, [r4, 0x20]
+ ldrh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ movs r0, 0x2
+ strh r0, [r4, 0x24]
+ ldr r0, =0x0000fffe
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x3A]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x30]
+ movs r1, 0x1
+ eors r0, r1
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x32]
+ eors r0, r1
+ strh r0, [r4, 0x32]
+ strh r2, [r4, 0x36]
+ strh r2, [r4, 0x34]
+ ldr r0, =sub_8104530
+ str r0, [r4, 0x1C]
+_08104520:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81044BC
+
+ thumb_func_start sub_8104530
+sub_8104530: @ 8104530
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08104548
+ ldrh r0, [r4, 0x24]
+ negs r0, r0
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x26]
+ negs r0, r0
+ strh r0, [r4, 0x26]
+_08104548:
+ ldrh r0, [r4, 0x34]
+ movs r1, 0x1
+ eors r0, r1
+ movs r1, 0
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x33
+ bne _0810458A
+ strh r1, [r4, 0x26]
+ strh r1, [r4, 0x24]
+ strh r1, [r4, 0x36]
+ strh r1, [r4, 0x34]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ movs r0, 0x41
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x38]
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl StartSpriteAnim
+ ldr r0, =sub_8104594
+ str r0, [r4, 0x1C]
+_0810458A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104530
+
+ thumb_func_start sub_8104594
+sub_8104594: @ 8104594
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _081045A8
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081045A8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8104594
+
+ thumb_func_start sub_81045B0
+sub_81045B0: @ 81045B0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80A7270
+ adds r0, r4, 0
+ movs r1, 0xD0
+ movs r2, 0xD0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ movs r1, 0
+ bl sub_80A750C
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x50
+ strh r1, [r0, 0x8]
+ ldr r1, =sub_8104614
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81045B0
+
+ thumb_func_start sub_8104614
+sub_8104614: @ 8104614
+ 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
+ ldrh r1, [r0, 0x8]
+ subs r1, 0x1
+ strh r1, [r0, 0x8]
+ lsls r1, 16
+ asrs r1, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ bne _08104664
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_80A7344
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ movs r1, 0x1
+ bl sub_80A750C
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08104664:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104614
+
+ thumb_func_start sub_8104674
+sub_8104674: @ 8104674
+ push {r4,r5,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
+ movs r5, 0
+ strh r0, [r4, 0x8]
+ movs r1, 0
+ bl sub_80A7270
+ strh r5, [r4, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r4, 0x10]
+ strh r5, [r4, 0x12]
+ strh r5, [r4, 0x14]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x16]
+ ldr r0, =sub_81046CC
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104674
+
+ thumb_func_start sub_81046CC
+sub_81046CC: @ 81046CC
+ 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, 0x5
+ bls _081046E6
+ b _081047F6
+_081046E6:
+ lsls r0, 2
+ ldr r1, =_081046F8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_081046F8:
+ .4byte _08104710
+ .4byte _08104758
+ .4byte _0810478E
+ .4byte _08104794
+ .4byte _081047A4
+ .4byte _081047D8
+_08104710:
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _08104720
+ cmp r0, 0x3
+ beq _08104720
+ cmp r0, 0x6
+ bne _08104728
+_08104720:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8104800
+_08104728:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ ldrh r0, [r4, 0x10]
+ adds r0, 0x28
+ strh r0, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ movs r1, 0x10
+ ldrsh r2, [r4, r1]
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldrb r0, [r4, 0x8]
+ bl sub_80A7E6C
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x20
+ bne _081047F6
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x1
+ strh r0, [r4, 0x12]
+ b _081047D0
+_08104758:
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081047F6
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ cmp r1, 0x3
+ bne _0810476E
+ strh r0, [r4, 0xC]
+ strh r1, [r4, 0xA]
+ b _081047F6
+_0810476E:
+ strh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ movs r2, 0x80
+ lsls r2, 1
+ strh r2, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldrb r0, [r4, 0x8]
+ bl sub_80A7E6C
+ movs r0, 0x2
+ strh r0, [r4, 0xA]
+ b _081047F6
+_0810478E:
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ b _081047F6
+_08104794:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x20
+ ble _081047F6
+ b _081047CC
+_081047A4:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x2
+ strh r0, [r4, 0xC]
+ ldrh r0, [r4, 0x10]
+ subs r0, 0x50
+ strh r0, [r4, 0x10]
+ ldrb r0, [r4, 0x8]
+ movs r1, 0x10
+ ldrsh r2, [r4, r1]
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldrb r0, [r4, 0x8]
+ bl sub_80A7E6C
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x20
+ bne _081047F6
+_081047CC:
+ movs r0, 0
+ strh r0, [r4, 0xC]
+_081047D0:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ b _081047F6
+_081047D8:
+ ldrb r0, [r4, 0x8]
+ bl sub_80A7344
+ 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, 0
+ strh r1, [r0, 0x26]
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_081047F6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81046CC
+
+ thumb_func_start sub_8104800
+sub_8104800: @ 8104800
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r7, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r9, r1
+ movs r0, 0
+ bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ lsls r0, 16
+ asrs r4, r0, 16
+ cmp r4, 0
+ blt _081048DA
+ bl AllocOamMatrix
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0xFF
+ bne _08104844
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ bl obj_delete_but_dont_free_vram
+ b _081048DA
+ .pool
+_08104844:
+ ldr r5, =gSprites
+ lsls r3, r4, 4
+ adds r3, r4
+ lsls r3, 2
+ adds r4, r3, r5
+ ldrb r1, [r4, 0x1]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ movs r1, 0x3
+ orrs r0, r1
+ strb r0, [r4, 0x1]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ 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]
+ ldrb r0, [r7, 0x16]
+ ldrb r1, [r7, 0xE]
+ subs r0, r1
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ ldrh r0, [r7, 0xE]
+ adds r0, 0x1
+ strh r0, [r7, 0xE]
+ ldrh r0, [r7, 0x14]
+ adds r0, 0x1
+ strh r0, [r7, 0x14]
+ movs r0, 0x10
+ strh r0, [r4, 0x2E]
+ mov r0, r9
+ strh r0, [r4, 0x30]
+ movs r0, 0x6
+ strh r0, [r4, 0x32]
+ adds r5, 0x1C
+ adds r3, r5
+ ldr r0, =sub_81048F0
+ str r0, [r3]
+ mov r1, r8
+ lsls r0, r1, 24
+ lsrs r0, 24
+ movs r1, 0x10
+ ldrsh r2, [r7, r1]
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldrb r0, [r4, 0x1]
+ movs r3, 0x4
+ negs r3, r3
+ ands r3, r0
+ movs r0, 0x1
+ orrs r3, r0
+ strb 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
+_081048DA:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104800
+
+ thumb_func_start sub_81048F0
+sub_81048F0: @ 81048F0
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bne _0810492E
+ ldr r3, =gTasks
+ movs r0, 0x32
+ ldrsh r1, [r4, r0]
+ lsls r1, 1
+ movs r0, 0x30
+ 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 obj_delete_but_dont_free_vram
+_0810492E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81048F0
+
+ thumb_func_start sub_8104938
+sub_8104938: @ 8104938
+ 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
+ ldr r5, =gBattleAnimArgs
+ movs r1, 0x2
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _08104964
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+ b _0810498A
+ .pool
+_08104964:
+ ldrb r0, [r5]
+ bl GetAnimBattlerSpriteId
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0
+ strh r1, [r4, 0x8]
+ strh r2, [r4, 0xA]
+ ldrh r0, [r5, 0x2]
+ strh r0, [r4, 0xC]
+ strh r2, [r4, 0xE]
+ strh r2, [r4, 0x10]
+ ldr r2, =gUnknown_085935E8
+ adds r0, r4, 0
+ bl sub_80A7CFC
+ ldr r0, =sub_8104998
+ str r0, [r4]
+_0810498A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104938
+
+ thumb_func_start sub_8104998
+sub_8104998: @ 8104998
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r4, r0, r1
+ movs r0, 0xA
+ ldrsh r5, [r4, r0]
+ cmp r5, 0x1
+ beq _08104A00
+ cmp r5, 0x1
+ bgt _081049C0
+ cmp r5, 0
+ beq _081049CA
+ b _08104AA8
+ .pool
+_081049C0:
+ cmp r5, 0x2
+ beq _08104A34
+ cmp r5, 0x3
+ beq _08104A64
+ b _08104AA8
+_081049CA:
+ adds r0, r4, 0
+ bl sub_80A7D34
+ ldrh r2, [r4, 0x10]
+ adds r2, 0x3
+ strh r2, [r4, 0x10]
+ ldr r3, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r1, [r0, 0x26]
+ adds r1, r2
+ strh r1, [r0, 0x26]
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _08104AA8
+ strh r5, [r4, 0xE]
+ b _08104A5C
+ .pool
+_08104A00:
+ adds r0, r4, 0
+ bl sub_80A7D34
+ 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, [r4, 0x10]
+ ldrh r2, [r0, 0x26]
+ adds r1, r2
+ strh r1, [r0, 0x26]
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ ble _08104AA8
+ movs r0, 0
+ strh r0, [r4, 0xE]
+ b _08104A5C
+ .pool
+_08104A34:
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08104A5C
+ 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, 0x2
+ strh r1, [r0, 0x26]
+ ldrh r0, [r4, 0x10]
+ subs r0, 0x2
+ strh r0, [r4, 0x10]
+ b _08104AA8
+ .pool
+_08104A5C:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ b _08104AA8
+_08104A64:
+ adds r0, r4, 0
+ bl sub_80A7D34
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _08104AA8
+ ldrh r0, [r4, 0xC]
+ subs r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08104A9C
+ ldr r2, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r5, [r0, 0x26]
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+ b _08104AA8
+ .pool
+_08104A9C:
+ ldrb r1, [r4, 0x8]
+ ldr r2, =gUnknown_085935E8
+ adds r0, r4, 0
+ bl sub_80A7CFC
+ strh r5, [r4, 0xA]
+_08104AA8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104998
+
+ thumb_func_start sub_8104AB4
+sub_8104AB4: @ 8104AB4
+ 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
+ ldr r2, =gUnknown_08593608
+ adds r0, r4, 0
+ bl sub_80A7CFC
+ ldr r0, =sub_8104AF0
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104AB4
+
+ thumb_func_start sub_8104AF0
+sub_8104AF0: @ 8104AF0
+ 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 sub_80A7D34
+ lsls r0, 24
+ cmp r0, 0
+ bne _08104B10
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_08104B10:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104AF0
+
+ thumb_func_start sub_8104B1C
+sub_8104B1C: @ 8104B1C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08104B50
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnim
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x20
+ strh r0, [r4, 0x20]
+ movs r0, 0x40
+ b _08104B6A
+ .pool
+_08104B50:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x20
+ strh r0, [r4, 0x20]
+ ldr r0, =0x0000ffc0
+_08104B6A:
+ strh r0, [r4, 0x30]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ strh r0, [r4, 0x22]
+ movs r0, 0x34
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x32]
+ strh r1, [r4, 0x34]
+ strh r1, [r4, 0x36]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A656C
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104B1C
+
+ thumb_func_start sub_8104BAC
+sub_8104BAC: @ 8104BAC
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08104BC8
+ ldr r0, =gBattleAnimAttacker
+ b _08104BCA
+ .pool
+_08104BC8:
+ ldr r0, =gBattleAnimTarget
+_08104BCA:
+ ldrb r5, [r0]
+ adds r0, r5, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08104BE4
+ ldr r1, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+_08104BE4:
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ strh r0, [r6, 0x20]
+ adds r0, r5, 0
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r4, [r4, 0x4]
+ adds r0, r4
+ strh r0, [r6, 0x22]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7
+ bgt _08104C16
+ movs r0, 0x8
+ strh r0, [r6, 0x22]
+_08104C16:
+ ldr r1, =move_anim_8074EE0
+ adds r0, r6, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67BC
+ str r0, [r6, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104BAC
+
+ thumb_func_start sub_8104C38
+sub_8104C38: @ 8104C38
+ 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
+ movs r0, 0
+ strh r1, [r4, 0x8]
+ strh r0, [r4, 0xA]
+ ldr r2, =gUnknown_085936A4
+ adds r0, r4, 0
+ bl sub_80A7CFC
+ ldr r0, =sub_8104C78
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104C38
+
+ thumb_func_start sub_8104C78
+sub_8104C78: @ 8104C78
+ 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 sub_80A7D34
+ lsls r0, 24
+ cmp r0, 0
+ bne _08104C98
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_08104C98:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104C78
+
+ thumb_func_start sub_8104CA4
+sub_8104CA4: @ 8104CA4
+ 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 r2, 0
+ strh r0, [r4, 0x8]
+ strh r2, [r4, 0xA]
+ movs r0, 0x4
+ strh r0, [r4, 0xC]
+ movs r0, 0x7
+ strh r0, [r4, 0xE]
+ movs r0, 0x3
+ strh r0, [r4, 0x10]
+ ldr r3, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r0, [r0, 0x20]
+ strh r0, [r4, 0x12]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r0, [r0, 0x22]
+ strh r0, [r4, 0x14]
+ strh r2, [r4, 0x16]
+ strh r2, [r4, 0x18]
+ movs r0, 0x2
+ strh r0, [r4, 0x1A]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08104D0E
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ negs r0, r0
+ strh r0, [r4, 0xC]
+_08104D0E:
+ ldr r0, =sub_8104D28
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104CA4
+
+ thumb_func_start sub_8104D28
+sub_8104D28: @ 8104D28
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r3, r0, r1
+ ldrh r0, [r3, 0x16]
+ adds r0, 0x1
+ strh r0, [r3, 0x16]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _08104D8E
+ movs r0, 0
+ strh r0, [r3, 0x16]
+ ldrh r0, [r3, 0x18]
+ adds r0, 0x1
+ strh r0, [r3, 0x18]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08104D78
+ ldr r2, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0x1A]
+ ldrh r2, [r0, 0x22]
+ adds r1, r2
+ b _08104D8C
+ .pool
+_08104D78:
+ ldr r2, =gSprites
+ movs r5, 0x8
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x22]
+ ldrh r2, [r3, 0x1A]
+ subs r1, r2
+_08104D8C:
+ strh r1, [r0, 0x22]
+_08104D8E:
+ movs r1, 0xA
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x1
+ beq _08104DDC
+ cmp r0, 0x1
+ bgt _08104DA4
+ cmp r0, 0
+ beq _08104DAA
+ b _08104E6C
+ .pool
+_08104DA4:
+ cmp r0, 0x2
+ beq _08104E0C
+ b _08104E6C
+_08104DAA:
+ ldr r2, =gSprites
+ movs r5, 0x8
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0xC]
+ ldrh r2, [r0, 0x20]
+ adds r1, r2
+ strh r1, [r0, 0x20]
+ ldrh r0, [r3, 0xE]
+ subs r0, 0x1
+ strh r0, [r3, 0xE]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08104E6C
+ movs r0, 0xE
+ strh r0, [r3, 0xE]
+ movs r0, 0x1
+ strh r0, [r3, 0xA]
+ b _08104E6C
+ .pool
+_08104DDC:
+ ldr r2, =gSprites
+ movs r5, 0x8
+ ldrsh r1, [r3, r5]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x20]
+ ldrh r2, [r3, 0xC]
+ subs r1, r2
+ strh r1, [r0, 0x20]
+ ldrh r0, [r3, 0xE]
+ subs r0, 0x1
+ strh r0, [r3, 0xE]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08104E6C
+ movs r0, 0x7
+ strh r0, [r3, 0xE]
+ movs r0, 0x2
+ strh r0, [r3, 0xA]
+ b _08104E6C
+ .pool
+_08104E0C:
+ ldr r2, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0xC]
+ ldrh r5, [r0, 0x20]
+ adds r1, r5
+ strh r1, [r0, 0x20]
+ ldrh r0, [r3, 0xE]
+ subs r0, 0x1
+ strh r0, [r3, 0xE]
+ lsls r0, 16
+ asrs r1, r0, 16
+ cmp r1, 0
+ bne _08104E6C
+ ldrh r0, [r3, 0x10]
+ subs r0, 0x1
+ strh r0, [r3, 0x10]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08104E48
+ movs r0, 0x7
+ strh r0, [r3, 0xE]
+ strh r1, [r3, 0xA]
+ b _08104E6C
+ .pool
+_08104E48:
+ ldrh r1, [r3, 0x18]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08104E66
+ movs r0, 0x8
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x22]
+ ldrh r2, [r3, 0x1A]
+ subs r1, r2
+ strh r1, [r0, 0x22]
+_08104E66:
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_08104E6C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8104D28
+
+ thumb_func_start sub_8104E74
+sub_8104E74: @ 8104E74
+ 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 r5, r1, r0
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ bl GetBattlerYCoordWithElevation
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x20
+ movs r1, 0
+ strh r0, [r5, 0x8]
+ movs r0, 0x4
+ strh r0, [r5, 0xA]
+ strh r1, [r5, 0xC]
+ strh r1, [r5, 0xE]
+ strh r1, [r5, 0x10]
+ strh r1, [r5, 0x12]
+ ldrb r0, [r4]
+ bl sub_80A861C
+ strh r0, [r5, 0x26]
+ ldrb r0, [r4]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08104ED4
+ ldr r0, =gBattle_BG1_X
+ ldrh r0, [r0]
+ strh r0, [r5, 0x14]
+ ldr r0, =0x04000014
+ b _08104EDC
+ .pool
+_08104ED4:
+ ldr r0, =gBattle_BG2_X
+ ldrh r0, [r0]
+ strh r0, [r5, 0x14]
+ ldr r0, =0x04000018
+_08104EDC:
+ str r0, [sp]
+ ldrh r0, [r5, 0x8]
+ adds r1, r0, 0
+ subs r1, 0x40
+ lsls r2, r1, 16
+ lsls r0, 16
+ cmp r2, r0
+ bgt _08104F1A
+ ldr r4, =gScanlineEffectRegBuffers
+ movs r0, 0xF0
+ lsls r0, 3
+ adds r6, r4, r0
+_08104EF4:
+ asrs r3, r2, 16
+ cmp r3, 0
+ blt _08104F0C
+ lsls r1, r3, 1
+ adds r2, r1, r4
+ ldrh r0, [r5, 0x14]
+ adds r0, 0xF0
+ strh r0, [r2]
+ adds r1, r6
+ ldrh r0, [r5, 0x14]
+ adds r0, 0xF0
+ strh r0, [r1]
+_08104F0C:
+ adds r0, r3, 0x1
+ lsls r2, r0, 16
+ asrs r1, r2, 16
+ movs r3, 0x8
+ ldrsh r0, [r5, r3]
+ cmp r1, r0
+ ble _08104EF4
+_08104F1A:
+ 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_8104F54
+ str r0, [r5]
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104E74
+
+ thumb_func_start sub_8104F54
+sub_8104F54: @ 8104F54
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r3, r0, r1
+ movs r1, 0x10
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ beq _08104F78
+ cmp r0, 0x1
+ beq _08104F8E
+ b _0810500E
+ .pool
+_08104F78:
+ ldrh r0, [r3, 0x12]
+ adds r0, 0x1
+ strh r0, [r3, 0x12]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _0810500E
+ ldrh r0, [r3, 0x10]
+ adds r0, 0x1
+ strh r0, [r3, 0x10]
+ b _0810500E
+_08104F8E:
+ ldrh r0, [r3, 0xA]
+ adds r0, 0x1
+ strh r0, [r3, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _0810500E
+ movs r0, 0
+ strh r0, [r3, 0xA]
+ ldrh r1, [r3, 0xE]
+ movs r0, 0x3
+ ands r0, r1
+ strh r0, [r3, 0xC]
+ ldrh r0, [r3, 0x8]
+ subs r0, r1
+ strh r0, [r3, 0x12]
+ movs r2, 0xC
+ ldrsh r1, [r3, r2]
+ cmp r1, 0x1
+ beq _08104FC4
+ cmp r1, 0x1
+ ble _08104FCC
+ cmp r1, 0x2
+ beq _08104FC8
+ cmp r1, 0x3
+ beq _08104FC8
+ b _08104FCC
+_08104FC4:
+ subs r0, 0x2
+ b _08104FCA
+_08104FC8:
+ adds r0, 0x1
+_08104FCA:
+ strh r0, [r3, 0x12]
+_08104FCC:
+ movs r1, 0x12
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ blt _08104FF0
+ ldr r2, =gScanlineEffectRegBuffers
+ lsls r0, 1
+ adds r0, r2
+ ldrh r1, [r3, 0x14]
+ strh r1, [r0]
+ movs r1, 0x12
+ ldrsh r0, [r3, r1]
+ lsls r0, 1
+ movs r1, 0xF0
+ lsls r1, 3
+ adds r2, r1
+ adds r0, r2
+ ldrh r1, [r3, 0x14]
+ strh r1, [r0]
+_08104FF0:
+ ldrh r0, [r3, 0xE]
+ adds r0, 0x1
+ strh r0, [r3, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x26
+ ldrsh r1, [r3, r2]
+ cmp r0, r1
+ blt _0810500E
+ ldr r1, =gScanlineEffect
+ movs r0, 0x3
+ strb r0, [r1, 0x15]
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_0810500E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8104F54
+
+ thumb_func_start sub_810501C
+sub_810501C: @ 810501C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r6, =gBattleAnimTarget
+ ldrb r0, [r6]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x10
+ movs r5, 0
+ strh r0, [r4, 0x20]
+ ldrb r0, [r6]
+ bl GetBattlerYCoordWithElevation
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x10
+ strh r0, [r4, 0x22]
+ strh r5, [r4, 0x2E]
+ strh r5, [r4, 0x30]
+ strh r5, [r4, 0x32]
+ movs r0, 0x10
+ strh r0, [r4, 0x34]
+ strh r5, [r4, 0x36]
+ ldrb r0, [r6]
+ movs r1, 0
+ bl sub_80A861C
+ adds r0, 0x2
+ strh r0, [r4, 0x38]
+ movs r0, 0x3F
+ bl BattleAnimAdjustPanning
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r4, 0x3A]
+ ldr r0, =sub_8105078
+ str r0, [r4, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810501C
+
+ thumb_func_start sub_8105078
+sub_8105078: @ 8105078
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ cmp r1, 0x1
+ beq _081050DC
+ cmp r1, 0x1
+ bgt _0810508E
+ cmp r1, 0
+ beq _08105094
+ b _081051BC
+_0810508E:
+ cmp r1, 0x2
+ beq _0810516E
+ b _081051BC
+_08105094:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _081050BE
+ strh r1, [r4, 0x32]
+ adds r3, r4, 0
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsrs r1, r2, 2
+ movs r0, 0x1
+ eors r1, r0
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_081050BE:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ ble _081051BC
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r2]
+ b _08105166
+_081050DC:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08105122
+ ldrh r2, [r4, 0x32]
+ movs r3, 0x32
+ ldrsh r1, [r4, r3]
+ movs r3, 0x38
+ ldrsh r0, [r4, r3]
+ cmp r1, r0
+ bge _08105122
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x22]
+ subs r0, 0x1
+ strh r0, [r4, 0x22]
+ adds r0, r2, 0x1
+ strh r0, [r4, 0x32]
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ movs r1, 0xA
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _08105122
+ ldrh r1, [r4, 0x3A]
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0xCD
+ bl PlaySE12WithPanning
+_08105122:
+ ldrh r0, [r4, 0x34]
+ ldrh r2, [r4, 0x36]
+ adds r1, r0, r2
+ strh r1, [r4, 0x36]
+ lsls r0, r1, 16
+ asrs r2, r0, 16
+ cmp r2, 0x1F
+ ble _08105136
+ movs r0, 0x40
+ b _08105144
+_08105136:
+ movs r0, 0x20
+ negs r0, r0
+ cmp r2, r0
+ bgt _08105150
+ movs r2, 0x40
+ negs r2, r2
+ adds r0, r2, 0
+_08105144:
+ subs r0, r1
+ strh r0, [r4, 0x36]
+ movs r3, 0x34
+ ldrsh r0, [r4, r3]
+ negs r0, r0
+ strh r0, [r4, 0x34]
+_08105150:
+ ldrh r0, [r4, 0x36]
+ movs r2, 0
+ strh r0, [r4, 0x24]
+ movs r0, 0x38
+ ldrsh r1, [r4, r0]
+ movs r3, 0x32
+ ldrsh r0, [r4, r3]
+ cmp r1, r0
+ bne _081051BC
+ strh r2, [r4, 0x30]
+ strh r2, [r4, 0x32]
+_08105166:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _081051BC
+_0810516E:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0810519A
+ movs r0, 0
+ strh r0, [r4, 0x32]
+ adds r3, r4, 0
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsrs r1, r2, 2
+ movs r0, 0x1
+ eors r1, r0
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_0810519A:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ ble _081051BC
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081051BC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8105078
+
+ thumb_func_start sub_81051C4
+sub_81051C4: @ 81051C4
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ movs r5, 0
+ mov r0, sp
+ strh r5, [r0]
+ mov r1, sp
+ adds r1, 0x2
+ strh r5, [r1]
+ ldr r0, =gBattleAnimArgs
+ movs r3, 0x4
+ ldrsh r2, [r0, r3]
+ adds r7, r1, 0
+ adds r1, r0, 0
+ cmp r2, 0
+ bne _081051F0
+ ldr r0, =gBattleAnimAttacker
+ b _081051F2
+ .pool
+_081051F0:
+ ldr r0, =gBattleAnimTarget
+_081051F2:
+ ldrb r5, [r0]
+ ldrb r1, [r1, 0x6]
+ movs r0, 0x1
+ adds r4, r0, 0
+ eors r4, r1
+ bl IsDoubleBattle
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810526A
+ movs r1, 0x2
+ adds r0, r5, 0
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810526A
+ adds r0, r5, 0
+ adds r1, r4, 0
+ mov r2, sp
+ adds r3, r7, 0
+ bl SetAverageBattlerPositions
+ cmp r4, 0
+ bne _08105230
+ adds r0, r5, 0
+ movs r1, 0
+ b _08105234
+ .pool
+_08105230:
+ adds r0, r5, 0
+ movs r1, 0x2
+_08105234:
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r5, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08105260
+ ldr r2, =gBattleAnimArgs
+ mov r0, sp
+ ldrh r1, [r0]
+ subs r1, r4
+ ldrh r0, [r2]
+ subs r1, r0
+ subs r0, r1
+ strh r0, [r2]
+ b _0810526A
+ .pool
+_08105260:
+ ldr r1, =gBattleAnimArgs
+ mov r0, sp
+ ldrh r0, [r0]
+ subs r0, r4
+ strh r0, [r1]
+_0810526A:
+ ldr r1, =sub_80A77C8
+ str r1, [r6, 0x1C]
+ adds r0, r6, 0
+ bl _call_via_r1
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81051C4
+
+ thumb_func_start sub_8105284
+sub_8105284: @ 8105284
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810529E
+ adds r0, r4, 0
+ bl FreeSpriteOamMatrix
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810529E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8105284
+
+ thumb_func_start sub_81052A4
+sub_81052A4: @ 81052A4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r5, r0, 0
+ movs r6, 0
+ mov r0, sp
+ strh r6, [r0]
+ mov r1, sp
+ adds r1, 0x2
+ strh r6, [r1]
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0xA
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ bne _081052DC
+ ldr r0, =gBattleAnimAttacker
+ ldrb r7, [r0]
+ ldr r0, =gBattleAnimTarget
+ b _081052E2
+ .pool
+_081052DC:
+ ldr r0, =gBattleAnimTarget
+ ldrb r7, [r0]
+ ldr r0, =gBattleAnimAttacker
+_081052E2:
+ ldrb r0, [r0]
+ mov r8, r0
+ ldr r0, =gBattleAnimArgs
+ movs r3, 0xC
+ ldrsh r0, [r0, r3]
+ cmp r0, 0
+ bne _08105308
+ movs r0, 0
+ mov r10, r0
+ movs r1, 0x1
+ str r1, [sp, 0x4]
+ b _08105310
+ .pool
+_08105308:
+ movs r2, 0x2
+ mov r10, r2
+ movs r3, 0x3
+ str r3, [sp, 0x4]
+_08105310:
+ adds r0, r7, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810536C
+ adds r0, r7, 0
+ mov r1, r10
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r1, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r1]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ movs r0, 0x2
+ mov r4, r8
+ eors r4, r0
+ adds r0, r4, 0
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810535C
+ ldr r2, =gSprites
+ ldr r0, =gBattlerSpriteIds
+ adds r0, r4, r0
+ b _081053EA
+ .pool
+_0810535C:
+ ldr r2, =gSprites
+ ldr r0, =gBattlerSpriteIds
+ add r0, r8
+ b _081053EA
+ .pool
+_0810536C:
+ adds r0, r7, 0
+ mov r1, r10
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gBattleAnimArgs
+ ldrh r1, [r1]
+ subs r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _081053E4
+ movs r0, 0x2
+ adds r4, r7, 0
+ eors r4, r0
+ adds r0, r4, 0
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _081053E4
+ ldr r3, =gSprites
+ ldr r2, =gBattlerSpriteIds
+ adds r0, r7, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r6, r0, r3
+ adds r2, r4, r2
+ ldrb r1, [r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, r0, r3
+ movs r0, 0x20
+ ldrsh r1, [r6, r0]
+ movs r3, 0x20
+ ldrsh r0, [r2, r3]
+ cmp r1, r0
+ bge _081053E0
+ adds r0, r2, 0
+ adds r0, 0x43
+ ldrb r0, [r0]
+ adds r0, 0x1
+ b _081053FA
+ .pool
+_081053E0:
+ adds r0, r6, 0
+ b _081053F4
+_081053E4:
+ ldr r2, =gSprites
+ ldr r0, =gBattlerSpriteIds
+ adds r0, r7, r0
+_081053EA:
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+_081053F4:
+ adds r0, 0x43
+ ldrb r0, [r0]
+ subs r0, 0x1
+_081053FA:
+ adds r1, r5, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ adds r0, r7, 0
+ ldr r1, [sp, 0x4]
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810544C
+ movs r1, 0x2
+ mov r0, r8
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810544C
+ ldrb r1, [r4, 0xC]
+ mov r0, r8
+ mov r2, sp
+ mov r3, sp
+ adds r3, 0x2
+ bl SetAverageBattlerPositions
+ b _0810546C
+ .pool
+_0810544C:
+ mov r4, sp
+ mov r0, r8
+ mov r1, r10
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ mov r0, r8
+ ldr r1, [sp, 0x4]
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ mov r2, sp
+ strh r0, [r2, 0x2]
+_0810546C:
+ mov r0, r8
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08105490
+ mov r3, sp
+ mov r2, sp
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x6]
+ ldrh r2, [r2]
+ adds r0, r2
+ strh r0, [r3]
+ adds r2, r1, 0
+ b _0810549E
+ .pool
+_08105490:
+ mov r3, sp
+ mov r0, sp
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r0]
+ ldrh r1, [r2, 0x6]
+ subs r0, r1
+ strh r0, [r3]
+_0810549E:
+ ldrh r1, [r2, 0x8]
+ mov r3, sp
+ ldrh r3, [r3, 0x2]
+ adds r1, r3
+ mov r0, sp
+ strh r1, [r0, 0x2]
+ mov r3, r9
+ strh r3, [r5, 0x30]
+ strh r3, [r5, 0x20]
+ strh r6, [r5, 0x34]
+ strh r6, [r5, 0x22]
+ ldrh r0, [r0]
+ strh r0, [r5, 0x32]
+ strh r1, [r5, 0x36]
+ ldrh r0, [r2]
+ strh r0, [r5, 0x2E]
+ adds r0, r5, 0
+ bl InitAnimLinearTranslation
+ ldr r1, =sub_8105284
+ str r1, [r5, 0x1C]
+ adds r0, r5, 0
+ bl _call_via_r1
+ 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_81052A4
+
+ thumb_func_start sub_81054E8
+sub_81054E8: @ 81054E8
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =0x000027db
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ beq _0810550E
+ lsls r0, 20
+ ldr r1, =0x01010000
+ adds r0, r1
+ lsrs r0, 16
+ ldr r1, =gBattleAnimArgs
+ ldrb r2, [r1, 0xA]
+ ldrh r3, [r1, 0x8]
+ movs r1, 0xF
+ bl BlendPalette
+_0810550E:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldr r1, =sub_80A77C8
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81054E8
+
+ thumb_func_start sub_8105538
+sub_8105538: @ 8105538
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ movs r1, 0xA0
+ cmp r0, 0
+ beq _08105554
+ ldr r1, =0x0000ff60
+_08105554:
+ movs r0, 0xE0
+ lsls r0, 2
+ strh r0, [r4, 0x2E]
+ strh r1, [r4, 0x30]
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0x3C]
+ ldr r0, =sub_810557C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105538
+
+ thumb_func_start sub_810557C
+sub_810557C: @ 810557C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r2, [r4, 0x2E]
+ lsls r0, r2, 16
+ asrs r0, 24
+ ldrh r1, [r4, 0x26]
+ subs r1, r0
+ movs r5, 0
+ strh r1, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ subs r2, 0x20
+ strh r2, [r4, 0x2E]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ movs r1, 0xA0
+ cmp r0, 0
+ beq _081055AC
+ ldr r1, =0x0000ff60
+_081055AC:
+ lsls r0, r1, 16
+ asrs r0, 16
+ ldrh r1, [r4, 0x30]
+ adds r0, r1
+ strh r0, [r4, 0x30]
+ ldrh r1, [r4, 0x26]
+ movs r2, 0x26
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _081055E0
+ ldrh r2, [r4, 0x22]
+ adds r0, r1, r2
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ strh r5, [r4, 0x26]
+ strh r5, [r4, 0x24]
+ strh r5, [r4, 0x2E]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ ldr r0, =sub_81055F4
+ str r0, [r4, 0x1C]
+_081055E0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810557C
+
+ thumb_func_start sub_81055F4
+sub_81055F4: @ 81055F4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x13
+ ble _08105612
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ ldr r0, =sub_810561C
+ str r0, [r4, 0x1C]
+_08105612:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81055F4
+
+ thumb_func_start sub_810561C
+sub_810561C: @ 810561C
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08105682
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08105668
+ ldrh r2, [r4, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ adds r1, 0x10
+ ldr r3, =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x4]
+ ldr r0, =sub_8105694
+ b _08105680
+ .pool
+_08105668:
+ ldrh r2, [r4, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ adds r1, 0x20
+ ldr r3, =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x4]
+ ldr r0, =sub_810571C
+_08105680:
+ str r0, [r4, 0x1C]
+_08105682:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810561C
+
+ thumb_func_start sub_8105694
+sub_8105694: @ 8105694
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x26]
+ subs r0, 0x2
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x9
+ bne _081056CA
+ movs r0, 0x10
+ strh r0, [r4, 0x2E]
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrh r1, [r4, 0x2E]
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r0, =sub_81056D4
+ str r0, [r4, 0x1C]
+_081056CA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105694
+
+ thumb_func_start sub_81056D4
+sub_81056D4: @ 81056D4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x3
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _08105712
+ ldrh r1, [r4, 0x2E]
+ subs r1, 0x1
+ strh r1, [r4, 0x2E]
+ 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, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08105712
+ ldr r0, =sub_810571C
+ str r0, [r4, 0x1C]
+_08105712:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81056D4
+
+ thumb_func_start sub_810571C
+sub_810571C: @ 810571C
+ push {lr}
+ adds r3, r0, 0
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x0000ffff
+ cmp r1, r0
+ bne _08105754
+ adds r2, r3, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ movs r1, 0x3C
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ bne _08105750
+ ldr r0, =sub_810575C
+ b _08105752
+ .pool
+_08105750:
+ ldr r0, =DestroyAnimSprite
+_08105752:
+ str r0, [r3, 0x1C]
+_08105754:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810571C
+
+ thumb_func_start sub_810575C
+sub_810575C: @ 810575C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810575C
+
+ thumb_func_start sub_810577C
+sub_810577C: @ 810577C
+ 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_085938B0
+ adds r0, r4, 0
+ bl sub_80A7CFC
+ ldr r0, =sub_81057B8
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810577C
+
+ thumb_func_start sub_81057B8
+sub_81057B8: @ 81057B8
+ 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
+ adds r0, r4, 0
+ bl sub_80A7D34
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0
+ bne _08105802
+ ldr r2, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r3, [r0, 0x26]
+ movs r0, 0x8
+ ldrsh r1, [r4, 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, r5, 0
+ bl DestroyAnimVisualTask
+_08105802:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81057B8
+
+ thumb_func_start sub_8105810
+sub_8105810: @ 8105810
+ 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
+ strh r0, [r4, 0x8]
+ strh r0, [r4, 0xA]
+ strh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ movs r0, 0x3
+ strh r0, [r4, 0x20]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08105850
+ ldr r0, =0x0000ffff
+ strh r0, [r4, 0x22]
+ movs r0, 0x8
+ b _08105856
+ .pool
+_08105850:
+ movs r0, 0x1
+ strh r0, [r4, 0x22]
+ ldr r0, =0x0000fff8
+_08105856:
+ strh r0, [r4, 0x24]
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x26]
+ ldr r0, =sub_8105878
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105810
+
+ thumb_func_start sub_8105878
+sub_8105878: @ 8105878
+ 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 r3, r0, r1
+ movs r0, 0x8
+ ldrsh r4, [r3, r0]
+ cmp r4, 0x1
+ beq _081058CC
+ cmp r4, 0x1
+ bgt _081058A0
+ cmp r4, 0
+ beq _081058AA
+ b _08105992
+ .pool
+_081058A0:
+ cmp r4, 0x2
+ beq _08105948
+ cmp r4, 0x3
+ beq _08105962
+ b _08105992
+_081058AA:
+ ldr r2, =gSprites
+ movs r0, 0x26
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0x24]
+ ldrh r2, [r0, 0x24]
+ adds r1, r2
+ strh r1, [r0, 0x24]
+ strh r4, [r3, 0xA]
+ strh r4, [r3, 0xC]
+ strh r4, [r3, 0xE]
+ b _0810595A
+ .pool
+_081058CC:
+ ldrh r0, [r3, 0xA]
+ adds r0, 0x1
+ strh r0, [r3, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08105992
+ movs r0, 0
+ strh r0, [r3, 0xA]
+ ldrh r0, [r3, 0xC]
+ adds r0, 0x1
+ strh r0, [r3, 0xC]
+ ands r0, r4
+ lsls r0, 16
+ cmp r0, 0
+ beq _08105904
+ ldr r2, =gSprites
+ movs r4, 0x26
+ ldrsh r1, [r3, r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x24]
+ adds r1, 0x6
+ b _08105916
+ .pool
+_08105904:
+ ldr r2, =gSprites
+ movs r0, 0x26
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x24]
+ subs r1, 0x6
+_08105916:
+ strh r1, [r0, 0x24]
+ ldrh r0, [r3, 0xE]
+ adds r0, 0x1
+ strh r0, [r3, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ ble _08105992
+ ldrh r1, [r3, 0xC]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810595A
+ movs r1, 0x26
+ ldrsh r0, [r3, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrh r0, [r1, 0x24]
+ subs r0, 0x6
+ strh r0, [r1, 0x24]
+ b _0810595A
+ .pool
+_08105948:
+ ldrh r0, [r3, 0x20]
+ subs r0, 0x1
+ strh r0, [r3, 0x20]
+ lsls r0, 16
+ cmp r0, 0
+ beq _0810595A
+ movs r0, 0
+ strh r0, [r3, 0x8]
+ b _08105992
+_0810595A:
+ ldrh r0, [r3, 0x8]
+ adds r0, 0x1
+ strh r0, [r3, 0x8]
+ b _08105992
+_08105962:
+ ldr r2, =gSprites
+ movs r4, 0x26
+ ldrsh r1, [r3, r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r3, 0x22]
+ ldrh r4, [r0, 0x24]
+ adds r1, r4
+ strh r1, [r0, 0x24]
+ movs r0, 0x26
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x24
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08105992
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08105992:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105878
+
+ thumb_func_start sub_810599C
+sub_810599C: @ 810599C
+ 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
+ strh r0, [r4, 0x8]
+ strh r0, [r4, 0xA]
+ strh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ movs r0, 0x1
+ strh r0, [r4, 0x10]
+ movs r0, 0xE
+ strh r0, [r4, 0x22]
+ movs r0, 0x2
+ strh r0, [r4, 0x24]
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x26]
+ ldr r0, =sub_81059E0
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810599C
+
+ thumb_func_start sub_81059E0
+sub_81059E0: @ 81059E0
+ 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 r2, [r4, r0]
+ cmp r2, 0
+ bne _08105AA6
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0x10
+ ldrsh r1, [r4, r3]
+ cmp r0, r1
+ ble _08105AA6
+ strh r2, [r4, 0xA]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08105A3C
+ ldr r3, =gSprites
+ movs r6, 0x26
+ ldrsh r1, [r4, r6]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ b _08105A52
+ .pool
+_08105A3C:
+ ldr r3, =gSprites
+ movs r0, 0x26
+ 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
+_08105A52:
+ strb r1, [r0]
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ movs r2, 0
+ strh r0, [r4, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ movs r6, 0x22
+ ldrsh r1, [r4, r6]
+ cmp r0, r1
+ blt _08105AA6
+ ldrh r0, [r4, 0x10]
+ adds r0, 0x1
+ strh r0, [r4, 0x10]
+ lsls r0, 16
+ asrs r0, 16
+ movs r6, 0x24
+ ldrsh r1, [r4, r6]
+ cmp r0, r1
+ bge _08105A88
+ strh r2, [r4, 0xA]
+ strh r2, [r4, 0xC]
+ strh r2, [r4, 0xE]
+ b _08105AA6
+ .pool
+_08105A88:
+ movs r0, 0x26
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08105AA6:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81059E0
+
+ thumb_func_start sub_8105AAC
+sub_8105AAC: @ 8105AAC
+ push {r4,r5,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
+ strh r0, [r4, 0x8]
+ movs r1, 0x4
+ strh r1, [r4, 0xA]
+ strh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ strh r0, [r4, 0x10]
+ strh r0, [r4, 0x12]
+ strh r0, [r4, 0x14]
+ strh r0, [r4, 0x16]
+ strh r0, [r4, 0x18]
+ strh r0, [r4, 0x22]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x24]
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x26]
+ ldr r0, =sub_8105B08
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105AAC
+
+ thumb_func_start sub_8105B08
+sub_8105B08: @ 8105B08
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r4, r0, r1
+ movs r0, 0x18
+ ldrsh r2, [r4, r0]
+ cmp r2, 0x1
+ beq _08105B74
+ cmp r2, 0x1
+ bgt _08105B30
+ cmp r2, 0
+ beq _08105B36
+ b _08105B90
+ .pool
+_08105B30:
+ cmp r2, 0x2
+ beq _08105B8C
+ b _08105B90
+_08105B36:
+ ldrh r0, [r4, 0x10]
+ adds r0, 0x1
+ strh r0, [r4, 0x10]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08105B90
+ strh r2, [r4, 0x10]
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x1
+ movs r1, 0x1
+ ands r0, r1
+ strh r0, [r4, 0x12]
+ ldrh r0, [r4, 0x14]
+ adds r0, 0x1
+ strh r0, [r4, 0x14]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _08105B90
+ movs r1, 0x16
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08105B6E
+ strh r2, [r4, 0x14]
+ movs r0, 0x1
+ strh r0, [r4, 0x18]
+ b _08105B90
+_08105B6E:
+ movs r0, 0x2
+ strh r0, [r4, 0x18]
+ b _08105B90
+_08105B74:
+ movs r1, 0
+ strh r1, [r4, 0x12]
+ ldrh r0, [r4, 0x10]
+ adds r0, 0x1
+ strh r0, [r4, 0x10]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _08105B90
+ strh r2, [r4, 0x16]
+ strh r1, [r4, 0x18]
+ b _08105B90
+_08105B8C:
+ movs r0, 0x1
+ strh r0, [r4, 0x12]
+_08105B90:
+ movs r2, 0x8
+ ldrsh r5, [r4, r2]
+ cmp r5, 0
+ beq _08105B9E
+ cmp r5, 0x1
+ beq _08105C34
+ b _08105C42
+_08105B9E:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ ble _08105C42
+ strh r5, [r4, 0xA]
+ ldr r0, =gUnknown_085938DC
+ movs r3, 0x24
+ ldrsh r1, [r4, r3]
+ movs r3, 0x26
+ ldrsh r2, [r4, r3]
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _08105C42
+ ldr r0, =gSprites
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ strh r6, [r1, 0x2E]
+ movs r0, 0xD
+ strh r0, [r1, 0x30]
+ ldr r2, =gUnknown_085938F4
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ lsls r0, 1
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r1, 0x24]
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ lsls r0, 1
+ adds r2, 0x1
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r1, 0x26]
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08105C42
+ strh r5, [r4, 0xC]
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ ble _08105C42
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08105C42
+ .pool
+_08105C34:
+ movs r1, 0x22
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08105C42
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_08105C42:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8105B08
+
+ thumb_func_start sub_8105C48
+sub_8105C48: @ 8105C48
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r4, =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ movs r2, 0x1
+ ldrb r1, [r0, 0x12]
+ ands r1, r2
+ lsls r1, 2
+ mov r0, r12
+ ldrb r2, [r0]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ mov r1, r12
+ strb r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08105CAA
+ movs r0, 0x30
+ ldrsh r1, [r3, r0]
+ lsls r1, 1
+ movs r0, 0x2E
+ ldrsh r2, [r3, r0]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r0, r4, 0
+ adds r0, 0x8
+ adds r1, r0
+ ldrh r0, [r1]
+ subs r0, 0x1
+ strh r0, [r1]
+ adds r0, r3, 0
+ bl DestroySprite
+_08105CAA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105C48
+
+ thumb_func_start sub_8105CB4
+sub_8105CB4: @ 8105CB4
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r0, =0x000027de
+ bl IndexOfSpritePaletteTag
+ mov r1, sp
+ strb r0, [r1]
+ movs r4, 0x1
+ ldr r0, =0x00002710
+ adds r5, r0, 0
+_08105CCC:
+ subs r0, r5, r4
+ lsls r0, 16
+ lsrs r0, 16
+ bl AllocSpritePalette
+ mov r2, sp
+ adds r1, r2, r4
+ strb r0, [r1]
+ adds r4, 0x1
+ cmp r4, 0x2
+ ble _08105CCC
+ movs r0, 0x80
+ lsls r0, 6
+ bl AllocZeroed
+ adds r1, r0, 0
+ ldr r0, =gMonSpritesGfxPtr
+ ldr r0, [r0]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r0, r2
+ str r1, [r0]
+ ldr r0, =gBattleAnimSpritePalette_206
+ bl LZDecompressWram
+ movs r4, 0
+_08105D00:
+ ldr r5, =gMonSpritesGfxPtr
+ ldr r0, [r5]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r0, r1
+ lsls r1, r4, 6
+ ldr r0, [r0]
+ adds r0, r1
+ mov r2, sp
+ adds r1, r2, r4
+ ldrb r1, [r1]
+ lsls r1, 20
+ movs r2, 0x80
+ lsls r2, 17
+ adds r1, r2
+ lsrs r1, 16
+ movs r2, 0x20
+ bl LoadPalette
+ adds r4, 0x1
+ cmp r4, 0x2
+ ble _08105D00
+ ldr r0, [r5]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r0, r4
+ ldr r0, [r0]
+ bl Free
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0
+ str r1, [r0]
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105CB4
+
+ thumb_func_start sub_8105D60
+sub_8105D60: @ 8105D60
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r5, =gUnknown_08593950
+ movs r4, 0x2
+_08105D6A:
+ ldrh r0, [r5]
+ bl FreeSpritePaletteByTag
+ adds r5, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08105D6A
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105D60
+
+ thumb_func_start sub_8105D88
+sub_8105D88: @ 8105D88
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsls r2, 24
+ lsrs r3, r2, 24
+ movs r0, 0x1
+ ands r3, r0
+ negs r0, r3
+ orrs r0, r3
+ asrs r0, 31
+ movs r3, 0x20
+ ands r0, r3
+ ldrh r4, [r5, 0x4]
+ lsls r3, r4, 22
+ lsrs r3, 22
+ lsrs r1, 22
+ adds r0, r1
+ adds r3, r0
+ ldr r1, =0x000003ff
+ adds r0, r1, 0
+ ands r3, r0
+ ldr r0, =0xfffffc00
+ ands r0, r4
+ orrs r0, r3
+ strh r0, [r5, 0x4]
+ ldr r0, =gUnknown_08593950
+ lsrs r2, 25
+ lsls r2, 1
+ adds r2, r0
+ ldrh r0, [r2]
+ bl IndexOfSpritePaletteTag
+ lsls r0, 4
+ ldrb r2, [r5, 0x5]
+ movs r1, 0xF
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r5, 0x5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105D88
+
+ thumb_func_start sub_8105DE8
+sub_8105DE8: @ 8105DE8
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r6, =gBattleAnimAttacker
+ ldrb r0, [r6]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08105E08
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_08105E08:
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x2E]
+ ldrb r0, [r6]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ strh r0, [r5, 0x32]
+ ldrb r0, [r6]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x6]
+ adds r0, r1
+ strh r0, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldrb r1, [r4, 0xA]
+ ldrb r2, [r4, 0xC]
+ adds r0, r5, 0
+ bl sub_8105D88
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105DE8
+
+ thumb_func_start sub_8105E60
+sub_8105E60: @ 8105E60
+ 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, 0x1
+ bne _08105E7A
+ adds r0, r4, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+_08105E7A:
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x8
+ bl Sin
+ strh r0, [r4, 0x24]
+ ldrh r2, [r4, 0x32]
+ lsls r0, r2, 16
+ asrs r0, 24
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x7
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ subs r2, 0x80
+ strh r2, [r4, 0x32]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x3C
+ bne _08105EAA
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08105EAA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8105E60
+
+ thumb_func_start sub_8105EB0
+sub_8105EB0: @ 8105EB0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ bl IsContest
+ lsls r0, 24
+ movs r6, 0xF0
+ cmp r0, 0
+ beq _08105EC4
+ movs r6, 0x98
+_08105EC4:
+ movs r5, 0
+ ldr r1, =gBattle_WIN0H
+ strh r6, [r1]
+ ldr r4, =gBattle_WIN0V
+ movs r0, 0xA0
+ strh r0, [r4]
+ ldrh r1, [r1]
+ movs r0, 0x40
+ bl SetGpuReg
+ ldrh r1, [r4]
+ movs r0, 0x44
+ bl SetGpuReg
+ ldr r1, =0x00003f1f
+ movs r0, 0x48
+ bl SetGpuReg
+ ldr r1, =0x00003f3f
+ movs r0, 0x4A
+ bl SetGpuReg
+ movs r0, 0x50
+ movs r1, 0xC8
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0x10
+ bl SetGpuReg
+ ldr r1, =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0x8]
+ strh r6, [r0, 0xA]
+ ldr r1, =sub_8105F30
+ str r1, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105EB0
+
+ thumb_func_start sub_8105F30
+sub_8105F30: @ 8105F30
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r3, r1, r2
+ ldrh r0, [r3, 0x8]
+ adds r4, r0, 0
+ adds r4, 0xD
+ strh r4, [r3, 0x8]
+ ldrh r0, [r3, 0xA]
+ adds r2, r0, 0
+ subs r2, 0xD
+ strh r2, [r3, 0xA]
+ lsls r1, r4, 16
+ lsls r0, r2, 16
+ cmp r1, r0
+ blt _08105F70
+ ldr r0, =gBattle_WIN0H
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =sub_8105F84
+ str r0, [r3]
+ b _08105F78
+ .pool
+_08105F70:
+ ldr r1, =gBattle_WIN0H
+ lsls r0, r4, 8
+ orrs r2, r0
+ strh r2, [r1]
+_08105F78:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105F30
+
+ thumb_func_start sub_8105F84
+sub_8105F84: @ 8105F84
+ push {r4,r5,lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r1, r0, r1
+ ldrh r0, [r1, 0x1C]
+ adds r0, 0x1
+ movs r4, 0
+ strh r0, [r1, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ bne _08105FD8
+ movs r0, 0x88
+ strh r0, [r1, 0x1E]
+ movs r0, 0x50
+ movs r1, 0x88
+ bl SetGpuReg
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_80A75AC
+ ldr r2, =0x00007fff
+ movs r1, 0x10
+ bl BlendPalettes
+ b _0810600C
+ .pool
+_08105FD8:
+ cmp r0, 0x4
+ ble _0810600C
+ ldr r0, =gBattle_WIN0H
+ strh r4, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r4, [r0]
+ ldr r4, =0x00003f3f
+ movs r0, 0x48
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x4A
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_0810600C:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8105F84
+
+ thumb_func_start sub_8106020
+sub_8106020: @ 8106020
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _0810607C
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_08593988
+ adds r0, r5, 0
+ bl sub_80A7CFC
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x4
+ strh r1, [r0, 0x24]
+ b _081060A4
+ .pool
+_0810607C:
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x24]
+ negs r0, r0
+ strh r0, [r4, 0x24]
+ adds r0, r5, 0
+ bl sub_80A7D34
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _081060A4
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_081060A4:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106020
+
+ thumb_func_start sub_81060B0
+sub_81060B0: @ 81060B0
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _0810610C
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, =gUnknown_08593988
+ adds r0, r5, 0
+ bl sub_80A7CFC
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x4
+ strh r1, [r0, 0x24]
+ b _08106134
+ .pool
+_0810610C:
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x24]
+ negs r0, r0
+ strh r0, [r4, 0x24]
+ adds r0, r5, 0
+ bl sub_80A7D34
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _08106134
+ strh r0, [r4, 0x24]
+ strh r0, [r4, 0x26]
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_08106134:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81060B0
+
+ thumb_func_start sub_8106140
+sub_8106140: @ 8106140
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ movs r0, 0x5F
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ ldr r0, =sub_810618C
+ str r0, [r4, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106140
+
+ thumb_func_start sub_810618C
+sub_810618C: @ 810618C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ bne _081061B6
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xE
+ bl Sin
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x4
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ b _081061BC
+_081061B6:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081061BC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810618C
+
+ thumb_func_start sub_81061C4
+sub_81061C4: @ 81061C4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r2, [r4, 0x2E]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081061E8
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x32]
+ adds r0, r2, 0x1
+ strh r0, [r4, 0x2E]
+ b _08106244
+ .pool
+_081061E8:
+ ldrh r0, [r4, 0x30]
+ ldrh r2, [r4, 0x36]
+ adds r0, r2
+ strh r0, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x34]
+ cmp r0, 0x64
+ ble _08106236
+ movs r0, 0x34
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ adds r3, r4, 0
+ adds r3, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_08106236:
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x78
+ ble _08106244
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106244:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81061C4
+
+ thumb_func_start sub_810624C
+sub_810624C: @ 810624C
+ push {lr}
+ ldr r2, =gBattleAnimArgs
+ ldrh r1, [r2]
+ strh r1, [r0, 0x20]
+ movs r1, 0xA0
+ strh r1, [r0, 0x22]
+ ldrh r1, [r2, 0x4]
+ strh r1, [r0, 0x2E]
+ ldrh r1, [r2, 0x2]
+ strh r1, [r0, 0x30]
+ ldr r1, =WaitAnimForDuration
+ str r1, [r0, 0x1C]
+ ldr r1, =sub_810627C
+ bl StoreSpriteCallbackInData6
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810624C
+
+ thumb_func_start sub_810627C
+sub_810627C: @ 810627C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ ldrh r1, [r4, 0x32]
+ adds r0, r1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ lsrs r0, 24
+ negs r0, r0
+ strh r0, [r4, 0x26]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ movs r1, 0x4
+ bl Sin
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x26]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ lsls r0, 16
+ asrs r5, r0, 16
+ cmp r5, 0x48
+ bgt _081062E2
+ movs r0, 0x34
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ adds r3, r4, 0
+ adds r3, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ cmp r5, 0x40
+ bgt _081062E2
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081062E2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810627C
+
+ thumb_func_start sub_81062E8
+sub_81062E8: @ 81062E8
+ 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, 0x3
+ bl SetAnimBgAttribute
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl SetAnimBgAttribute
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810632A
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0x1
+ bl SetAnimBgAttribute
+_0810632A:
+ 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, =gUnknown_08C232E0
+ mov r2, sp
+ ldrh r2, [r2, 0xA]
+ bl sub_80A6CC0
+ ldr r1, =gUnknown_08C23D78
+ mov r0, sp
+ movs r2, 0
+ bl sub_80A6D60
+ ldr r0, =gUnknown_08C23D50
+ mov r1, sp
+ ldrb r1, [r1, 0x8]
+ lsls r1, 4
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, =sub_81063A8
+ str r1, [r0]
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81062E8
+
+ thumb_func_start sub_81063A8
+sub_81063A8: @ 81063A8
+ push {r4,r5,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r4, r0, 24
+ 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 _081063C6
+ b _081064F0
+_081063C6:
+ lsls r0, 2
+ ldr r1, =_081063D8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_081063D8:
+ .4byte _081063EC
+ .4byte _08106430
+ .4byte _08106452
+ .4byte _08106496
+ .4byte _081064BC
+_081063EC:
+ 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
+ bne _081064F0
+ strh r5, [r4, 0x1C]
+ ldrh r1, [r4, 0x1E]
+ adds 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 r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _081064F0
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x1
+ strh r0, [r4, 0x20]
+ strh r5, [r4, 0x1E]
+ b _081064F0
+_08106430:
+ 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, 0x8D
+ bne _081064F0
+ movs r0, 0x10
+ strh r0, [r1, 0x1E]
+ ldrh r0, [r1, 0x20]
+ adds r0, 0x1
+ strh r0, [r1, 0x20]
+ b _081064F0
+_08106452:
+ 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 _081064F0
+ 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 _081064F0
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x1
+ strh r0, [r4, 0x20]
+ strh r1, [r4, 0x1E]
+ b _081064F0
+_08106496:
+ mov r0, sp
+ bl sub_80A6B30
+ mov r0, sp
+ ldrb r0, [r0, 0x9]
+ bl sub_80A6C68
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x20]
+ adds r1, 0x1
+ strh r1, [r0, 0x20]
+ b _081064F0
+ .pool
+_081064BC:
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _081064D0
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ bl SetAnimBgAttribute
+_081064D0:
+ 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
+_081064F0:
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81063A8
+
+ thumb_func_start sub_81064F8
+sub_81064F8: @ 81064F8
+ 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 _0810653A
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0x1
+ bl SetAnimBgAttribute
+_0810653A:
+ 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
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08106578
+ ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceContest
+ b _0810658A
+ .pool
+_08106578:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0810659C
+ ldr r1, =gBattleAnimBackgroundTilemap_ScaryFacePlayer
+_0810658A:
+ mov r0, sp
+ movs r2, 0
+ bl sub_80A6D60
+ b _081065A6
+ .pool
+_0810659C:
+ ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceOpponent
+ mov r0, sp
+ movs r2, 0
+ bl sub_80A6D60
+_081065A6:
+ mov r0, sp
+ ldrb r0, [r0, 0x9]
+ ldr r1, =gUnknown_08C249F8
+ mov r2, sp
+ ldrh r2, [r2, 0xA]
+ bl sub_80A6CC0
+ ldr r0, =gUnknown_08C249D0
+ mov r1, sp
+ ldrb r1, [r1, 0x8]
+ lsls r1, 4
+ movs r2, 0x20
+ bl LoadCompressedPalette
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, =sub_81065EC
+ str r1, [r0]
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81064F8
+
+ thumb_func_start sub_81065EC
+sub_81065EC: @ 81065EC
+ push {r4,r5,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r4, r0, 24
+ 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 _0810660A
+ b _08106730
+_0810660A:
+ lsls r0, 2
+ ldr r1, =_0810661C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0810661C:
+ .4byte _08106630
+ .4byte _08106674
+ .4byte _08106696
+ .4byte _081066DA
+ .4byte _081066FC
+_08106630:
+ 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, 0x2
+ bne _08106730
+ strh r5, [r4, 0x1C]
+ ldrh r1, [r4, 0x1E]
+ adds 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 r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xE
+ bne _08106730
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x1
+ strh r0, [r4, 0x20]
+ strh r5, [r4, 0x1E]
+ b _08106730
+_08106674:
+ 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, 0x15
+ bne _08106730
+ movs r0, 0xE
+ strh r0, [r1, 0x1E]
+ ldrh r0, [r1, 0x20]
+ adds r0, 0x1
+ strh r0, [r1, 0x20]
+ b _08106730
+_08106696:
+ 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, 0x2
+ bne _08106730
+ 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 _08106730
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x1
+ strh r0, [r4, 0x20]
+ strh r1, [r4, 0x1E]
+ b _08106730
+_081066DA:
+ 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]
+_081066FC:
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _08106710
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ bl SetAnimBgAttribute
+_08106710:
+ 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
+_08106730:
+ add sp, 0x10
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81065EC
+
+ thumb_func_start sub_810673C
+sub_810673C: @ 810673C
+ 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]
+ adds r2, r4, 0
+ adds r2, 0x2C
+ ldrb r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x30]
+ ldrb r0, [r5]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x3C]
+ ldr r1, =sub_810679C
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810673C
+
+ thumb_func_start sub_810679C
+sub_810679C: @ 810679C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x40
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7F
+ bhi _081067B2
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ b _081067B6
+_081067B2:
+ ldrh r0, [r4, 0x3C]
+ subs r0, 0x1
+_081067B6:
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ ldrh r1, [r4, 0x32]
+ lsls r1, 16
+ asrs r1, 24
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ ldrh r1, [r4, 0x34]
+ lsls r1, 16
+ asrs r1, 24
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x9
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ movs r3, 0x38
+ ldrsh r2, [r4, r3]
+ cmp r2, 0
+ beq _08106828
+ cmp r2, 0x1
+ bne _08106858
+ ldr r1, =0xfffffc00
+ adds r0, r1, 0
+ ldrh r2, [r4, 0x32]
+ adds r0, r2
+ strh r0, [r4, 0x32]
+ ldr r3, =0xffffff00
+ adds r0, r3, 0
+ ldrh r1, [r4, 0x34]
+ adds r0, r1
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x2E
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ bne _08106858
+ movs r0, 0x2
+ strh r0, [r4, 0x38]
+ b _08106868
+ .pool
+_08106828:
+ movs r3, 0x80
+ lsls r3, 3
+ adds r0, r3, 0
+ ldrh r1, [r4, 0x32]
+ adds r0, r1
+ strh r0, [r4, 0x32]
+ movs r3, 0x80
+ lsls r3, 1
+ adds r0, r3, 0
+ ldrh r1, [r4, 0x34]
+ adds r0, r1
+ strh r0, [r4, 0x34]
+ ldrh r0, [r4, 0x36]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0x2E
+ ldrsh r1, [r4, r3]
+ cmp r0, r1
+ bne _08106858
+ strh r2, [r4, 0x36]
+ movs r0, 0x1
+ strh r0, [r4, 0x38]
+_08106858:
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ ldr r0, =0x0000ffff
+ cmp r1, r0
+ bne _08106868
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106868:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810679C
+
+ thumb_func_start sub_8106878
+sub_8106878: @ 8106878
+ 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]
+ ldr r4, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ movs r1, 0xA
+ bl Sin
+ strh r0, [r5, 0x2E]
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ movs r1, 0x7
+ bl Cos
+ strh r0, [r5, 0x30]
+ ldr r0, =sub_81068CC
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106878
+
+ thumb_func_start sub_81068CC
+sub_81068CC: @ 81068CC
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2E]
+ ldrh r1, [r2, 0x24]
+ adds r0, r1
+ strh r0, [r2, 0x24]
+ ldrh r0, [r2, 0x30]
+ ldrh r3, [r2, 0x26]
+ adds r0, r3
+ strh r0, [r2, 0x26]
+ movs r1, 0x20
+ ldrsh r0, [r2, r1]
+ movs r3, 0x24
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ adds r0, 0x10
+ movs r1, 0x88
+ lsls r1, 1
+ cmp r0, r1
+ bhi _0810690A
+ movs r0, 0x22
+ ldrsh r1, [r2, r0]
+ movs r3, 0x26
+ ldrsh r0, [r2, r3]
+ adds r1, r0
+ cmp r1, 0xA0
+ bgt _0810690A
+ movs r0, 0x10
+ negs r0, r0
+ cmp r1, r0
+ bge _08106910
+_0810690A:
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_08106910:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81068CC
+
+ thumb_func_start sub_8106914
+sub_8106914: @ 8106914
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2E]
+ ldrh r1, [r2, 0x24]
+ adds r0, r1
+ strh r0, [r2, 0x24]
+ ldrh r0, [r2, 0x30]
+ ldrh r3, [r2, 0x26]
+ adds r0, r3
+ strh r0, [r2, 0x26]
+ ldrh r0, [r2, 0x34]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0x32
+ ldrsh r1, [r2, r3]
+ cmp r0, r1
+ blt _08106940
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_08106940:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8106914
+
+ thumb_func_start sub_8106944
+sub_8106944: @ 8106944
+ 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]
+ ldr r4, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ movs r1, 0xA
+ bl Sin
+ strh r0, [r5, 0x2E]
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ movs r1, 0x7
+ bl Cos
+ strh r0, [r5, 0x30]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r5, 0x32]
+ ldr r0, =sub_8106914
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106944
+
+ thumb_func_start sub_810699C
+sub_810699C: @ 810699C
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _081069B2
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_081069B2:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810699C
+
+ thumb_func_start sub_81069B8
+sub_81069B8: @ 81069B8
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =sub_810699C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81069B8
+
+ thumb_func_start sub_81069D0
+sub_81069D0: @ 81069D0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081069EE
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ ldrh r2, [r4, 0x20]
+ adds r1, r2
+ strh r1, [r4, 0x20]
+ ldrh r0, [r0, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+_081069EE:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ movs r2, 0x2E
+ ldrsh r1, [r4, r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r5, r0, 1
+ movs r0, 0xFF
+ ands r5, r0
+ adds r0, r5, 0
+ movs r1, 0x50
+ bl Sin
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4F
+ bgt _08106A32
+ adds r0, r5, 0
+ movs r1, 0x50
+ bl Cos
+ movs r2, 0x2E
+ ldrsh r1, [r4, r2]
+ lsrs r2, r1, 31
+ adds r1, r2
+ asrs r1, 1
+ lsls r0, 16
+ asrs r0, 24
+ adds r1, r0
+ strh r1, [r4, 0x26]
+_08106A32:
+ movs r0, 0x2E
+ ldrsh r2, [r4, r0]
+ cmp r2, 0x5A
+ ble _08106A50
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ movs r0, 0x32
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r1, r0
+ asrs r1, 1
+ ldrh r0, [r4, 0x24]
+ subs r0, r1
+ strh r0, [r4, 0x24]
+_08106A50:
+ cmp r2, 0x64
+ ble _08106A5A
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106A5A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81069D0
+
+ thumb_func_start sub_8106A64
+sub_8106A64: @ 8106A64
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ movs r1, 0x5
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x34]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x14
+ ble _08106ABA
+ adds r1, r0, 0
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ adds r3, r4, 0
+ adds r3, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_08106ABA:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1E
+ ble _08106AC8
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106AC8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8106A64
+
+ thumb_func_start sub_8106AD0
+sub_8106AD0: @ 8106AD0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldrh r2, [r4, 0x2E]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08106AF4
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x32]
+ adds r0, r2, 0x1
+ strh r0, [r4, 0x2E]
+ b _08106B48
+ .pool
+_08106AF4:
+ ldrh r0, [r4, 0x30]
+ ldrh r2, [r4, 0x36]
+ adds r0, r2
+ movs r5, 0
+ strh r0, [r4, 0x36]
+ lsls r0, 16
+ asrs r0, 24
+ strh r0, [r4, 0x24]
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ bl Sin
+ adds r2, r0, 0
+ strh r2, [r4, 0x26]
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x34]
+ cmp r0, 0x46
+ ble _08106B48
+ ldr r0, =sub_8106A64
+ str r0, [r4, 0x1C]
+ ldrh r0, [r4, 0x24]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r1, [r4, 0x22]
+ adds r0, r2, r1
+ strh r0, [r4, 0x22]
+ strh r5, [r4, 0x24]
+ strh r5, [r4, 0x26]
+ bl Random2
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0xB4
+ bl __umodsi3
+ strh r0, [r4, 0x34]
+_08106B48:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106AD0
+
+ thumb_func_start sub_8106B54
+sub_8106B54: @ 8106B54
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08106B8E
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x20]
+ ldrh r0, [r1, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ adds r0, r4, 0
+ movs r1, 0
+ bl StartSpriteAnim
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A82E4
+ subs r0, 0x1
+ adds r1, r4, 0
+ adds r1, 0x43
+ strb r0, [r1]
+ movs r0, 0x1
+ strh r0, [r4, 0x32]
+_08106B8E:
+ ldrh r0, [r4, 0x32]
+ ldrh r2, [r4, 0x2E]
+ adds r0, r2
+ strh r0, [r4, 0x2E]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ lsls r1, r0, 2
+ adds r0, r1, 0
+ cmp r1, 0
+ bge _08106BA4
+ adds r0, 0xFF
+_08106BA4:
+ asrs r0, 8
+ lsls r0, 8
+ subs r0, r1, r0
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ cmp r0, 0
+ bge _08106BB6
+ movs r0, 0
+ strh r0, [r4, 0x30]
+_08106BB6:
+ movs r0, 0x30
+ ldrsh r2, [r4, r0]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bge _08106BC4
+ adds r0, 0x3
+_08106BC4:
+ asrs r0, 2
+ movs r1, 0x1E
+ subs r1, r0
+ adds r0, r2, 0
+ bl Cos
+ strh r0, [r4, 0x24]
+ movs r0, 0x30
+ ldrsh r2, [r4, r0]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bge _08106BE0
+ adds r0, 0x7
+_08106BE0:
+ asrs r0, 3
+ movs r1, 0xA
+ subs r1, r0
+ adds r0, r2, 0
+ bl Sin
+ strh r0, [r4, 0x26]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x80
+ ble _08106C04
+ ldrh r1, [r4, 0x32]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _08106C04
+ ldr r0, =0x0000ffff
+ strh r0, [r4, 0x32]
+_08106C04:
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08106C18
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bge _08106C18
+ movs r0, 0x1
+ strh r0, [r4, 0x32]
+_08106C18:
+ ldrh r0, [r4, 0x34]
+ adds r1, r0, 0x1
+ strh r1, [r4, 0x34]
+ subs r0, 0x9
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x46
+ bls _08106C5C
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ adds r3, r4, 0
+ adds r3, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ b _08106C6A
+ .pool
+_08106C5C:
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+_08106C6A:
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x5A
+ ble _08106C78
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106C78:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8106B54
+
+ thumb_func_start sub_8106C80
+sub_8106C80: @ 8106C80
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08106CB4
+ 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
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _08106CC8
+ .pool
+_08106CB4:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08106CC8
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106CC8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8106C80
+
+ thumb_func_start sub_8106CD0
+sub_8106CD0: @ 8106CD0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r1, =gBattleAnimArgs
+ movs r2, 0x4
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08106CEC
+ adds r0, r5, 0
+ bl DestroyAnimSprite
+ b _08106D50
+ .pool
+_08106CEC:
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _08106CFC
+ ldr r4, =gBattleAnimAttacker
+ b _08106CFE
+ .pool
+_08106CFC:
+ ldr r4, =gBattleAnimTarget
+_08106CFE:
+ 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 r0, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r1, [r0, r2]
+ adds r2, r0, 0
+ cmp r1, 0
+ bne _08106D34
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x20
+ b _08106D38
+ .pool
+_08106D34:
+ ldrh r0, [r5, 0x20]
+ subs r0, 0x20
+_08106D38:
+ strh r0, [r5, 0x20]
+ ldrh r0, [r2, 0x4]
+ strh r0, [r5, 0x2E]
+ ldrh r1, [r2, 0x2]
+ strh r1, [r5, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldr r0, =sub_8106D5C
+ str r0, [r5, 0x1C]
+_08106D50:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106CD0
+
+ thumb_func_start sub_8106D5C
+sub_8106D5C: @ 8106D5C
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08106D8C
+ ldrh r0, [r2, 0x2E]
+ subs r0, 0x1
+ strh r0, [r2, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08106D86
+ ldrh r1, [r2, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r2, 0
+ bl StartSpriteAnim
+ b _08106D8C
+_08106D86:
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_08106D8C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8106D5C
+
+ thumb_func_start sub_8106D90
+sub_8106D90: @ 8106D90
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, =gBattleAnimArgs
+ ldrb r0, [r0]
+ bl GetAnimBattlerSpriteId
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ ldr r0, =gTasks
+ adds r4, r0
+ ldr r2, =gUnknown_08593B98
+ adds r0, r4, 0
+ bl sub_80A7CFC
+ ldr r0, =sub_8106DD4
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106D90
+
+ thumb_func_start sub_8106DD4
+sub_8106DD4: @ 8106DD4
+ 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 sub_80A7D34
+ lsls r0, 24
+ cmp r0, 0
+ bne _08106DF4
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_08106DF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106DD4
+
+ thumb_func_start sub_8106E00
+sub_8106E00: @ 8106E00
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08106E1C
+ ldr r0, =gBattleAnimAttacker
+ b _08106E1E
+ .pool
+_08106E1C:
+ ldr r0, =gBattleAnimTarget
+_08106E1E:
+ ldrb r6, [r0]
+ adds r0, r6, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08106E38
+ ldr r1, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r0, [r1, r2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+_08106E38:
+ adds r0, r6, 0
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r7, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r3, [r7, 0x2]
+ adds r0, r3
+ movs r4, 0
+ strh r0, [r5, 0x20]
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r7, 0x4]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ strh r4, [r5, 0x2E]
+ ldrh r1, [r5, 0x20]
+ lsls r1, 3
+ strh r1, [r5, 0x30]
+ lsls r0, 3
+ strh r0, [r5, 0x32]
+ movs r2, 0x2
+ ldrsh r0, [r7, r2]
+ lsls r0, 3
+ cmp r0, 0
+ bge _08106E78
+ adds r0, 0x7
+_08106E78:
+ asrs r0, 3
+ strh r0, [r5, 0x34]
+ movs r3, 0x4
+ ldrsh r0, [r7, r3]
+ lsls r0, 3
+ cmp r0, 0
+ bge _08106E88
+ adds r0, 0x7
+_08106E88:
+ asrs r0, 3
+ strh r0, [r5, 0x36]
+ ldrh r2, [r5, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ movs r3, 0x6
+ ldrsh r0, [r7, r3]
+ lsls r0, 4
+ adds r1, r0
+ ldr r3, =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r5, 0x4]
+ ldr r0, =sub_8106EC8
+ str r0, [r5, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106E00
+
+ thumb_func_start sub_8106EC8
+sub_8106EC8: @ 8106EC8
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x34]
+ ldrh r1, [r2, 0x30]
+ adds r0, r1
+ strh r0, [r2, 0x30]
+ ldrh r1, [r2, 0x36]
+ ldrh r3, [r2, 0x32]
+ adds r1, r3
+ strh r1, [r2, 0x32]
+ lsls r0, 16
+ asrs r0, 19
+ strh r0, [r2, 0x20]
+ lsls r1, 16
+ asrs r1, 19
+ strh r1, [r2, 0x22]
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ ble _08106EFC
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_08106EFC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8106EC8
+
+ thumb_func_start sub_8106F00
+sub_8106F00: @ 8106F00
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08106F22
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ movs r0, 0x78
+ subs r0, r1
+ strh r0, [r4, 0x30]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+_08106F22:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x30
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ bne _08106F40
+ ldrb r0, [r4, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ movs r1, 0
+ bl sub_80A750C
+_08106F40:
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ adds r0, 0x50
+ cmp r1, r0
+ bne _08106F54
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08106F54:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106F00
+
+ thumb_func_start sub_8106F60
+sub_8106F60: @ 8106F60
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _08106F8E
+ movs r5, 0x78
+ strh r5, [r6, 0x20]
+ ldr r4, =gBattleAnimArgs
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ subs r0, 0xF
+ strh r0, [r6, 0x22]
+ ldrb r1, [r4, 0x2]
+ adds r0, r6, 0
+ bl StartSpriteAnim
+ strh r5, [r6, 0x38]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r6, 0x34]
+_08106F8E:
+ ldrh r0, [r6, 0x2E]
+ adds r0, 0x1
+ movs r5, 0
+ strh r0, [r6, 0x2E]
+ movs r1, 0x2E
+ ldrsh r0, [r6, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ strh r0, [r6, 0x30]
+ movs r2, 0x2E
+ ldrsh r0, [r6, r2]
+ lsls r4, r0, 1
+ adds r4, r0
+ ldrh r0, [r6, 0x34]
+ adds r4, r0
+ movs r2, 0xFF
+ ldrh r0, [r6, 0x3A]
+ adds r0, 0xA
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r6, 0x3A]
+ ands r4, r2
+ adds r0, r4, 0
+ movs r1, 0x64
+ bl Cos
+ strh r0, [r6, 0x24]
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl Sin
+ adds r4, r0, 0
+ movs r1, 0x3A
+ ldrsh r0, [r6, r1]
+ movs r1, 0x4
+ bl Cos
+ ldrh r2, [r6, 0x30]
+ adds r4, r2
+ adds r0, r4
+ strh r0, [r6, 0x26]
+ movs r0, 0x2E
+ ldrsh r1, [r6, r0]
+ movs r2, 0x38
+ ldrsh r0, [r6, r2]
+ cmp r1, r0
+ ble _0810700A
+ ldr r0, =sub_8107018
+ str r0, [r6, 0x1C]
+ strh r5, [r6, 0x2E]
+ adds r0, r6, 0
+ bl oamt_add_pos2_onto_pos1
+ movs r0, 0x5
+ strh r0, [r6, 0x32]
+ strh r5, [r6, 0x36]
+ strh r5, [r6, 0x34]
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+_0810700A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8106F60
+
+ thumb_func_start sub_8107018
+sub_8107018: @ 8107018
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xA
+ ble _08107032
+ movs r0, 0
+ strh r0, [r1, 0x2E]
+ ldr r0, =sub_810703C
+ str r0, [r1, 0x1C]
+_08107032:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8107018
+
+ thumb_func_start sub_810703C
+sub_810703C: @ 810703C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x32]
+ ldrh r2, [r4, 0x34]
+ adds r0, r1, r2
+ strh r0, [r4, 0x34]
+ strh r0, [r4, 0x26]
+ adds r1, 0x1
+ strh r1, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x30
+ ble _08107066
+ lsls r0, r1, 16
+ cmp r0, 0
+ ble _08107066
+ ldrh r0, [r4, 0x36]
+ subs r1, r0, 0x5
+ strh r1, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x36]
+_08107066:
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x3
+ ble _08107098
+ movs r2, 0x32
+ ldrsh r1, [r4, r2]
+ lsrs r0, r1, 31
+ adds r0, r1, r0
+ asrs r0, 1
+ lsls r0, 1
+ subs r1, r0
+ adds r3, r4, 0
+ adds r3, 0x3E
+ movs r0, 0x1
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08107098:
+ movs r1, 0x36
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x4
+ bne _081070A6
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_081070A6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810703C
+
+ thumb_func_start sub_81070AC
+sub_81070AC: @ 81070AC
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _081070F8
+ ldr r4, =gBattleAnimAttacker
+ ldrb r1, [r4]
+ movs r0, 0x2
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _081070F8
+ ldrb r0, [r4]
+ adds r2, r5, 0
+ adds r2, 0x20
+ adds r3, r5, 0
+ adds r3, 0x22
+ movs r1, 0
+ bl SetAverageBattlerPositions
+ ldrh r0, [r5, 0x22]
+ adds r0, 0x28
+ strh r0, [r5, 0x22]
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ b _08107118
+ .pool
+_081070F8:
+ 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
+ adds r0, 0x28
+ strh r0, [r5, 0x22]
+_08107118:
+ movs r0, 0xD
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r5, 0x20]
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x22]
+ subs r0, 0x48
+ strh r0, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81070AC
+
+ thumb_func_start AnimTask_IsFuryCutterHitRight
+AnimTask_IsFuryCutterHitRight: @ 8107144
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =gBattleAnimArgs
+ ldr r1, =gAnimDisableStructPtr
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x10]
+ movs r1, 0x1
+ ands r1, r2
+ strh r1, [r3, 0xE]
+ bl DestroyAnimVisualTask
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end AnimTask_IsFuryCutterHitRight
+
+ thumb_func_start AnimTask_GetFuryCutterHitCount
+AnimTask_GetFuryCutterHitCount: @ 8107168
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gBattleAnimArgs
+ ldr r1, =gAnimDisableStructPtr
+ ldr r1, [r1]
+ ldrb r1, [r1, 0x10]
+ strh r1, [r2, 0xE]
+ bl DestroyAnimVisualTask
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end AnimTask_GetFuryCutterHitCount
+
+ .align 2, 0
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 7ebc2f256..c47ca5d76 100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -7,180 +7,6 @@
- thumb_func_start sub_8195C7C
-sub_8195C7C: @ 8195C7C
- push {r4-r7,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r7, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- ldr r4, [r4]
- lsls r1, r7, 1
- lsrs r5, r0, 22
- adds r1, r5
- ldr r3, =0x00000dc8
- adds r6, r4, r3
- adds r3, r6, r1
- ldrh r2, [r3]
- ldr r0, =0x0000270e
- cmp r2, r0
- bhi _08195CCA
- adds r2, 0x1
- strh r2, [r3]
- movs r3, 0xDD
- lsls r3, 4
- adds r0, r4, r3
- adds r1, r0, r1
- adds r0, r5, 0
- ldrh r3, [r1]
- cmp r7, r3
- bls _08195CC0
- adds r0, 0x2
-_08195CC0:
- adds r0, r6, r0
- ldrh r0, [r0]
- cmp r0, 0
- beq _08195CCA
- strh r2, [r1]
-_08195CCA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195C7C
-
- thumb_func_start sub_8195CE4
-sub_8195CE4: @ 8195CE4
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195CE4
-
- thumb_func_start sub_8195D28
-sub_8195D28: @ 8195D28
- push {r4,r5,lr}
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- ldr r3, =0x00000ca9
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 30
- lsrs r1, 29
- lsrs r0, 14
- adds r1, r0
- ldr r0, =0x00000dc8
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- cmp r0, 0x29
- bls _08195D88
- bl Random
- ldr r4, [r4]
- ldr r5, =gUnknown_0860DE84
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, =0x00000dc6
- adds r4, r1
- b _08195DA6
- .pool
-_08195D88:
- bl Random
- ldr r4, [r4]
- ldr r5, =gUnknown_0860DE78
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- ldr r3, =0x00000dc6
- adds r4, r3
-_08195DA6:
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195D28
-
- thumb_func_start sub_8195DB8
-sub_8195DB8: @ 8195DB8
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000dc6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _08195E00
- ldr r0, [r4]
- ldr r1, =0x00000dc6
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000dc6
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _08195E06
- .pool
-_08195E00:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_08195E06:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8195DB8
-
thumb_func_start sub_8195E10
sub_8195E10: @ 8195E10
push {lr}
@@ -1180,7 +1006,7 @@ sub_81965D8: @ 81965D8
negs r0, r0
ands r0, r1
strb r0, [r2]
- bl GetPlayerTextSpeed
+ bl GetPlayerTextSpeedDelay
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2163,7 +1989,7 @@ sub_8196D74: @ 8196D74
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
adds r0, 0xA
- bl ReadUnalignedWord
+ bl GetTrainerId
adds r6, r0, 0
ldr r0, =0x0000ffff
ands r6, r0
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
deleted file mode 100644
index 3f6591927..000000000
--- a/asm/battle_frontier_2.s
+++ /dev/null
@@ -1,17602 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_81A1780
-sub_81A1780: @ 81A1780
- push {lr}
- ldr r1, =gUnknown_08611C18
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1780
-
- thumb_func_start sub_81A17A0
-sub_81A17A0: @ 81A17A0
- push {lr}
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0xFF
- bl VarSet
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _081A1822
- lsls r0, 2
- ldr r1, =_081A17D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A17D0:
- .4byte _081A1822
- .4byte _081A17E4
- .4byte _081A1810
- .4byte _081A17EC
- .4byte _081A17E8
-_081A17E4:
- movs r0, 0
- b _081A17EE
-_081A17E8:
- movs r0, 0
- b _081A17EE
-_081A17EC:
- movs r0, 0x1
-_081A17EE:
- bl sub_813A878
- movs r0, 0x80
- lsls r0, 7
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r2, =0x00000ca8
- adds r1, r2
- ldrb r1, [r1]
- bl VarSet
- b _081A1822
- .pool
-_081A1810:
- movs r0, 0x80
- lsls r0, 7
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r2, =0x00000ca8
- adds r1, r2
- ldrb r1, [r1]
- bl VarSet
-_081A1822:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A17A0
-
- thumb_func_start sub_81A1830
-sub_81A1830: @ 81A1830
- push {r4-r6,lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl sub_81A3B30
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bne _081A184C
- movs r5, 0x1
-_081A184C:
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x7
- bls _081A1856
- b _081A1956
-_081A1856:
- lsls r0, 2
- ldr r1, =_081A186C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A186C:
- .4byte _081A188C
- .4byte _081A18A8
- .4byte _081A18C8
- .4byte _081A18E4
- .4byte _081A1956
- .4byte _081A1900
- .4byte _081A1918
- .4byte _081A1938
-_081A188C:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000ca8
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- b _081A1956
- .pool
-_081A18A8:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- strh r0, [r1]
- b _081A1956
- .pool
-_081A18C8:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000cb2
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- b _081A1956
- .pool
-_081A18E4:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 29
- b _081A1926
- .pool
-_081A1900:
- ldr r2, =gSpecialVar_Result
- ldr r1, =gBattleOutcome
- ldrb r0, [r1]
- strh r0, [r2]
- movs r0, 0
- strb r0, [r1]
- b _081A1956
- .pool
-_081A1918:
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 28
-_081A1926:
- lsrs r0, 31
- strh r0, [r1]
- b _081A1956
- .pool
-_081A1938:
- ldr r4, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r0, 0xD0
- lsls r0, 4
- adds r2, r0
- ldr r3, =gUnknown_08611BFC
- lsls r0, r5, 1
- lsls r1, r6, 2
- adds r0, r1
- adds r0, r3
- ldrh r1, [r2]
- ldrh r0, [r0]
- ands r0, r1
- strh r0, [r4]
-_081A1956:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1830
-
- thumb_func_start sub_81A1968
-sub_81A1968: @ 81A1968
- push {r4,r5,lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_81A3B30
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bne _081A1984
- movs r4, 0x1
-_081A1984:
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x7
- bls _081A198E
- b _081A1AC4
-_081A198E:
- lsls r0, 2
- ldr r1, =_081A19A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A19A4:
- .4byte _081A19C4
- .4byte _081A19E0
- .4byte _081A1A0C
- .4byte _081A1A28
- .4byte _081A1A50
- .4byte _081A1AC4
- .4byte _081A1A7C
- .4byte _081A1AA8
-_081A19C4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- b _081A1AC4
- .pool
-_081A19E0:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r2, r1
- movs r1, 0x3
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _081A1AC4
- .pool
-_081A1A0C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000cb2
- adds r0, r2
- strh r1, [r0]
- b _081A1AC4
- .pool
-_081A1A28:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r3, r1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- b _081A1A94
- .pool
-_081A1A50:
- movs r2, 0
- ldr r5, =gSaveBlock2Ptr
- ldr r4, =0x00000caa
- ldr r3, =gUnknown_0203CEF8
-_081A1A58:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- adds r0, r2, r3
- ldrb r0, [r0]
- strh r0, [r1]
- adds r2, 0x1
- cmp r2, 0x3
- ble _081A1A58
- b _081A1AC4
- .pool
-_081A1A7C:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r2, =0x00000ca9
- adds r3, r2
- movs r1, 0x1
- ands r1, r0
- lsls r1, 3
- ldrb r2, [r3]
- movs r0, 0x9
- negs r0, r0
-_081A1A94:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _081A1AC4
- .pool
-_081A1AA8:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r0, 0xD0
- lsls r0, 4
- adds r2, r0
- ldr r3, =gUnknown_08611BFC
- lsls r1, r4, 1
- lsls r0, r5, 2
- adds r1, r0
- adds r1, r3
- ldrh r0, [r2]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2]
-_081A1AC4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1968
-
- thumb_func_start sub_81A1AD4
-sub_81A1AD4: @ 81A1AD4
- push {r4-r7,lr}
- bl sub_81B8558
- movs r3, 0
- ldr r4, =gSpecialVar_0x8005
- ldrh r0, [r4]
- cmp r3, r0
- bge _081A1B00
- ldr r7, =gUnknown_0203CEF8
- ldr r6, =gSaveBlock2Ptr
- ldr r5, =0x00000caa
-_081A1AEA:
- adds r2, r3, r7
- ldr r0, [r6]
- lsls r1, r3, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- ldrh r0, [r4]
- cmp r3, r0
- blt _081A1AEA
-_081A1B00:
- bl ReducePlayerPartyToThree
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1AD4
-
- thumb_func_start sub_81A1B1C
-sub_81A1B1C: @ 81A1B1C
- push {lr}
- bl DoSoftReset
- pop {r0}
- bx r0
- thumb_func_end sub_81A1B1C
-
- thumb_func_start sub_81A1B28
-sub_81A1B28: @ 81A1B28
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A1B28
-
- thumb_func_start sub_81A1B38
-sub_81A1B38: @ 81A1B38
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0x64
-_081A1B3E:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000caa
- adds r0, r2
- adds r1, r0, r1
- ldrh r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081A1B76
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r1]
- subs r1, 0x1
- muls r1, r5
- adds r0, r1
- movs r1, 0x8E
- lsls r1, 2
- adds r0, r1
- ldr r2, =gPlayerParty
- adds r1, r4, 0
- muls r1, r5
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_081A1B76:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081A1B3E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1B38
-
- thumb_func_start sub_81A1B98
-sub_81A1B98: @ 81A1B98
- push {lr}
- ldr r0, =gSpecialVar_0x8006
- ldrh r1, [r0]
- adds r2, r0, 0
- cmp r1, 0x3
- bls _081A1BA8
- movs r0, 0
- strh r0, [r2]
-_081A1BA8:
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x7
- bhi _081A1C1E
- lsls r0, 2
- ldr r1, =_081A1BC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A1BC8:
- .4byte _081A1BE8
- .4byte _081A1BF0
- .4byte _081A1BF8
- .4byte _081A1C0E
- .4byte _081A1C06
- .4byte _081A1C00
- .4byte _081A1C14
- .4byte _081A1C1A
-_081A1BE8:
- ldrb r0, [r2]
- bl sub_81A1EA8
- b _081A1C1E
-_081A1BF0:
- ldrb r0, [r2]
- bl sub_81A2134
- b _081A1C1E
-_081A1BF8:
- ldrb r0, [r2]
- bl sub_81A2460
- b _081A1C1E
-_081A1C00:
- bl sub_81A2698
- b _081A1C1E
-_081A1C06:
- ldrb r0, [r2]
- bl sub_81A2C94
- b _081A1C1E
-_081A1C0E:
- bl sub_81A2968
- b _081A1C1E
-_081A1C14:
- bl sub_81A2F38
- b _081A1C1E
-_081A1C1A:
- bl sub_81A2FF8
-_081A1C1E:
- pop {r0}
- bx r0
- thumb_func_end sub_81A1B98
-
- thumb_func_start sub_81A1C24
-sub_81A1C24: @ 81A1C24
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r2, =0x00000cdc
- adds r1, r2
- ldr r1, [r1]
- ands r1, r0
- cmp r1, 0
- bne _081A1C44
- movs r0, 0
- b _081A1C46
- .pool
-_081A1C44:
- movs r0, 0x1
-_081A1C46:
- pop {r1}
- bx r1
- thumb_func_end sub_81A1C24
-
- thumb_func_start sub_81A1C4C
-sub_81A1C4C: @ 81A1C4C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xE0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r0, r5, 3
- adds r5, r0, 0x1
- ldr r0, =gRecordsWindowId
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- lsls r1, r5, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1C4C
-
- thumb_func_start sub_81A1C90
-sub_81A1C90: @ 81A1C90
- push {r4,lr}
- sub sp, 0x34
- adds r2, r0, 0
- ldr r3, =gRecordsWindowId
- movs r1, 0xAE
- mov r0, sp
- adds r0, 0x2F
-_081A1C9E:
- strb r1, [r0]
- subs r0, 0x1
- add r4, sp, 0xC
- cmp r0, r4
- bge _081A1C9E
- add r1, sp, 0x30
- movs r0, 0xFF
- strb r0, [r1]
- lsls r0, r2, 3
- adds r2, r0, 0x1
- ldrb r0, [r3]
- lsls r1, r2, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized
- add sp, 0x34
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1C90
-
- thumb_func_start sub_81A1CD8
-sub_81A1CD8: @ 81A1CD8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x30]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r7, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized
- ldr r0, =0x0000270f
- cmp r6, r0
- bls _081A1D24
- adds r6, r0, 0
-_081A1D24:
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_WinStreak
- adds r0, r4, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r7, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- ldr r3, [sp, 0xC]
- bl AddTextPrinterParameterized
- 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 sub_81A1CD8
-
- thumb_func_start sub_81A1D78
-sub_81A1D78: @ 81A1D78
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- lsls r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gSaveBlock2Ptr
- ldr r4, [r4]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- movs r0, 0xCF
- lsls r0, 4
- adds r4, r0
- adds r4, r1
- ldrh r1, [r4]
- ldr r0, =gText_Record
- str r5, [sp]
- bl sub_81A1CD8
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1D78
-
- thumb_func_start sub_81A1DBC
-sub_81A1DBC: @ 81A1DBC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- movs r0, 0xCE
- lsls r0, 4
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A1DDE
- adds r0, r1, 0
-_081A1DDE:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A1DBC
-
- thumb_func_start sub_81A1DEC
-sub_81A1DEC: @ 81A1DEC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r4, 24
- lsrs r7, r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_81A1DBC
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x1
- beq _081A1E38
- cmp r5, 0x1
- ble _081A1E2C
- cmp r5, 0x2
- beq _081A1E48
- cmp r5, 0x3
- beq _081A1E58
-_081A1E2C:
- cmp r6, 0
- beq _081A1E34
- movs r0, 0x2
- b _081A1E66
-_081A1E34:
- movs r0, 0x1
- b _081A1E66
-_081A1E38:
- cmp r6, 0
- beq _081A1E42
- movs r0, 0x80
- lsls r0, 8
- b _081A1E66
-_081A1E42:
- movs r0, 0x80
- lsls r0, 7
- b _081A1E66
-_081A1E48:
- cmp r6, 0
- beq _081A1E52
- movs r0, 0x80
- lsls r0, 10
- b _081A1E66
-_081A1E52:
- movs r0, 0x80
- lsls r0, 9
- b _081A1E66
-_081A1E58:
- cmp r6, 0
- beq _081A1E62
- movs r0, 0x80
- lsls r0, 12
- b _081A1E66
-_081A1E62:
- movs r0, 0x80
- lsls r0, 11
-_081A1E66:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A1E88
- ldr r0, =gText_Current
- str r7, [sp]
- adds r1, r4, 0
- mov r2, r8
- mov r3, r9
- bl sub_81A1CD8
- b _081A1E96
- .pool
-_081A1E88:
- ldr r0, =gText_Prev
- str r7, [sp]
- adds r1, r4, 0
- mov r2, r8
- mov r3, r9
- bl sub_81A1CD8
-_081A1E96:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1DEC
-
- thumb_func_start sub_81A1EA8
-sub_81A1EA8: @ 81A1EA8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r7, 0
- bne _081A1EF0
- ldr r0, =gStringVar4
- ldr r1, =gText_SingleBattleRoomResults
- bl StringExpandPlaceholders
- b _081A1F28
- .pool
-_081A1EF0:
- cmp r7, 0x1
- bne _081A1F08
- ldr r0, =gStringVar4
- ldr r1, =gText_DoubleBattleRoomResults
- bl StringExpandPlaceholders
- b _081A1F28
- .pool
-_081A1F08:
- cmp r7, 0x2
- bne _081A1F20
- ldr r0, =gStringVar4
- ldr r1, =gText_MultiBattleRoomResults
- bl StringExpandPlaceholders
- b _081A1F28
- .pool
-_081A1F20:
- ldr r0, =gStringVar4
- ldr r1, =gText_LinkMultiBattleRoomResults
- bl StringExpandPlaceholders
-_081A1F28:
- ldr r0, =gStringVar4
- movs r1, 0x2
- bl sub_81A1C4C
- ldr r6, =gRecordsWindowId
- ldrb r0, [r6]
- ldr r2, =gText_Lv502
- movs r1, 0x31
- mov r8, r1
- str r1, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x10
- bl AddTextPrinterParameterized
- ldrb r0, [r6]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- mov r9, r1
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x10
- bl AddTextPrinterParameterized
- movs r0, 0xA
- bl sub_81A1C90
- mov r0, r8
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x48
- movs r3, 0x84
- bl sub_81A1DEC
- movs r0, 0x41
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x48
- movs r3, 0x84
- bl sub_81A1D78
- mov r1, r9
- str r1, [sp]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x48
- movs r3, 0x84
- bl sub_81A1DEC
- movs r0, 0x71
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x48
- movs r3, 0x84
- bl sub_81A1D78
- ldrb r0, [r6]
- bl PutWindowTilemap
- ldrb r0, [r6]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A1EA8
-
- thumb_func_start sub_81A1FD8
-sub_81A1FD8: @ 81A1FD8
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- ldr r0, =0x00000d0c
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A1FF8
- adds r0, r1, 0
-_081A1FF8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A1FD8
-
- thumb_func_start sub_81A2008
-sub_81A2008: @ 81A2008
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r12, r0
- adds r7, r1, 0
- adds r4, r2, 0
- ldr r6, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r5, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- mov r2, r12
- bl AddTextPrinterParameterized
- ldr r0, =gStringVar1
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r7, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r6, 0
- bl AddTextPrinterParameterized
- 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_81A2008
-
- thumb_func_start sub_81A2094
-sub_81A2094: @ 81A2094
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_81A1FD8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r5, 0
- beq _081A20CC
- cmp r5, 0x1
- beq _081A20D8
-_081A20CC:
- cmp r6, 0
- beq _081A20D4
- movs r0, 0x8
- b _081A20E6
-_081A20D4:
- movs r0, 0x4
- b _081A20E6
-_081A20D8:
- cmp r6, 0
- beq _081A20E2
- movs r0, 0x80
- lsls r0, 14
- b _081A20E6
-_081A20E2:
- movs r0, 0x80
- lsls r0, 13
-_081A20E6:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A210C
- ldr r0, =gText_Current
- ldr r1, =gText_ClearStreak
- str r7, [sp]
- str r4, [sp, 0x4]
- mov r2, r8
- mov r3, r9
- bl sub_81A2008
- b _081A211C
- .pool
-_081A210C:
- ldr r0, =gText_Prev
- ldr r1, =gText_ClearStreak
- str r7, [sp]
- str r4, [sp, 0x4]
- mov r2, r8
- mov r3, r9
- bl sub_81A2008
-_081A211C:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2094
-
- thumb_func_start sub_81A2134
-sub_81A2134: @ 81A2134
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r7, 0
- bne _081A217C
- ldr r0, =gStringVar4
- ldr r1, =gText_SingleBattleTourneyResults
- bl StringExpandPlaceholders
- b _081A2184
- .pool
-_081A217C:
- ldr r0, =gStringVar4
- ldr r1, =gText_DoubleBattleTourneyResults
- bl StringExpandPlaceholders
-_081A2184:
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81A1C4C
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- ldr r2, =gText_Lv502
- movs r6, 0x21
- str r6, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- movs r0, 0xA
- bl sub_81A1C90
- str r6, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x40
- movs r3, 0x79
- bl sub_81A2094
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- lsls r5, r7, 2
- ldr r1, =0x00000d14
- adds r0, r1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x79
- mov r9, r0
- str r0, [sp]
- movs r0, 0x31
- str r0, [sp, 0x4]
- ldr r0, =gText_Record
- ldr r1, =gText_ClearStreak
- movs r3, 0x40
- bl sub_81A2008
- ldr r1, =gText_Total
- mov r10, r1
- ldr r0, =gText_Championships
- mov r8, r0
- ldr r0, [r4]
- ldr r1, =0x00000d1c
- adds r0, r1
- adds r0, r5
- ldrh r2, [r0]
- movs r6, 0x70
- str r6, [sp]
- movs r0, 0x41
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r8
- movs r3, 0x40
- bl sub_81A2008
- movs r0, 0x61
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x40
- movs r3, 0x79
- bl sub_81A2094
- ldr r0, [r4]
- ldr r1, =0x00000d16
- adds r0, r1
- adds r0, r5
- ldrh r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x71
- str r0, [sp, 0x4]
- ldr r0, =gText_Record
- ldr r1, =gText_ClearStreak
- movs r3, 0x40
- bl sub_81A2008
- ldr r0, [r4]
- ldr r1, =0x00000d1e
- adds r0, r1
- adds r0, r5
- ldrh r2, [r0]
- str r6, [sp]
- movs r0, 0x81
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r8
- movs r3, 0x40
- bl sub_81A2008
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- bl PutWindowTilemap
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- movs r1, 0x3
- bl CopyWindowToVram
- 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_81A2134
-
- thumb_func_start sub_81A22B8
-sub_81A22B8: @ 81A22B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x30]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r7, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized
- ldr r0, =0x0000270f
- cmp r6, r0
- bls _081A2304
- adds r6, r0, 0
-_081A2304:
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_WinStreak
- adds r0, r4, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r7, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- ldr r3, [sp, 0xC]
- bl AddTextPrinterParameterized
- 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 sub_81A22B8
-
- thumb_func_start sub_81A2358
-sub_81A2358: @ 81A2358
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- lsls r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gSaveBlock2Ptr
- ldr r4, [r4]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- movs r0, 0xDD
- lsls r0, 4
- adds r4, r0
- adds r4, r1
- ldrh r1, [r4]
- ldr r0, =gText_Record
- str r5, [sp]
- bl sub_81A22B8
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2358
-
- thumb_func_start sub_81A239C
-sub_81A239C: @ 81A239C
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- ldr r0, =0x00000dc8
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A23BC
- adds r0, r1, 0
-_081A23BC:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A239C
-
- thumb_func_start sub_81A23CC
-sub_81A23CC: @ 81A23CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r4, 24
- lsrs r7, r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_81A239C
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0
- beq _081A2404
- cmp r5, 0x1
- beq _081A2410
-_081A2404:
- cmp r6, 0
- beq _081A240C
- movs r0, 0x20
- b _081A241E
-_081A240C:
- movs r0, 0x10
- b _081A241E
-_081A2410:
- cmp r6, 0
- beq _081A241A
- movs r0, 0x80
- lsls r0, 16
- b _081A241E
-_081A241A:
- movs r0, 0x80
- lsls r0, 15
-_081A241E:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A2440
- ldr r0, =gText_Current
- str r7, [sp]
- adds r1, r4, 0
- mov r2, r8
- mov r3, r9
- bl sub_81A22B8
- b _081A244E
- .pool
-_081A2440:
- ldr r0, =gText_Prev
- str r7, [sp]
- adds r1, r4, 0
- mov r2, r8
- mov r3, r9
- bl sub_81A22B8
-_081A244E:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A23CC
-
- thumb_func_start sub_81A2460
-sub_81A2460: @ 81A2460
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r7, 0
- bne _081A24A8
- ldr r0, =gStringVar4
- ldr r1, =gText_SingleBattleHallResults
- bl StringExpandPlaceholders
- b _081A24B0
- .pool
-_081A24A8:
- ldr r0, =gStringVar4
- ldr r1, =gText_DoubleBattleHallResults
- bl StringExpandPlaceholders
-_081A24B0:
- ldr r0, =gStringVar4
- movs r1, 0x2
- bl sub_81A1C4C
- ldr r6, =gRecordsWindowId
- ldrb r0, [r6]
- ldr r2, =gText_Lv502
- movs r1, 0x31
- mov r8, r1
- str r1, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x10
- bl AddTextPrinterParameterized
- ldrb r0, [r6]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- mov r9, r1
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x10
- bl AddTextPrinterParameterized
- movs r0, 0xA
- bl sub_81A1C90
- mov r0, r8
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x48
- movs r3, 0x83
- bl sub_81A23CC
- movs r0, 0x41
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x48
- movs r3, 0x83
- bl sub_81A2358
- mov r1, r9
- str r1, [sp]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x48
- movs r3, 0x83
- bl sub_81A23CC
- movs r0, 0x71
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x48
- movs r3, 0x83
- bl sub_81A2358
- ldrb r0, [r6]
- bl PutWindowTilemap
- ldrb r0, [r6]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2460
-
- thumb_func_start sub_81A2560
-sub_81A2560: @ 81A2560
- push {lr}
- lsls r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsrs r0, 23
- ldr r2, =0x00000e04
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A257A
- adds r0, r1, 0
-_081A257A:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A2560
-
- thumb_func_start sub_81A258C
-sub_81A258C: @ 81A258C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r12, r0
- adds r7, r1, 0
- adds r4, r2, 0
- ldr r6, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r5, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- mov r2, r12
- bl AddTextPrinterParameterized
- ldr r0, =gStringVar1
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r7, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r6, 0
- bl AddTextPrinterParameterized
- 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_81A258C
-
- thumb_func_start sub_81A2618
-sub_81A2618: @ 81A2618
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r0, r4, 0
- bl sub_81A2560
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r4, 0
- beq _081A2648
- movs r0, 0x80
- lsls r0, 4
- b _081A264C
-_081A2648:
- movs r0, 0x80
- lsls r0, 3
-_081A264C:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A2674
- ldr r0, =gText_Current
- ldr r1, =gText_RoomsCleared
- str r5, [sp]
- str r6, [sp, 0x4]
- adds r2, r7, 0
- mov r3, r8
- bl sub_81A2008
- b _081A2684
- .pool
-_081A2674:
- ldr r0, =gText_Prev
- ldr r1, =gText_RoomsCleared
- str r5, [sp]
- str r6, [sp, 0x4]
- adds r2, r7, 0
- mov r3, r8
- bl sub_81A2008
-_081A2684:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2618
-
- thumb_func_start sub_81A2698
-sub_81A2698: @ 81A2698
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r6, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gStringVar4
- ldr r1, =gText_BattleChoiceResults
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81A1C4C
- ldrb r0, [r6]
- ldr r2, =gText_Lv502
- movs r1, 0x21
- str r1, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldrb r0, [r6]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- movs r0, 0xA
- bl sub_81A1C90
- movs r0, 0
- movs r1, 0x40
- movs r2, 0x72
- movs r3, 0x21
- bl sub_81A2618
- ldr r0, =gText_Record
- mov r10, r0
- ldr r7, =gText_RoomsCleared
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000e08
- adds r0, r1
- ldrh r2, [r0]
- movs r4, 0x72
- str r4, [sp]
- movs r0, 0x31
- str r0, [sp, 0x4]
- mov r0, r10
- adds r1, r7, 0
- movs r3, 0x40
- bl sub_81A258C
- ldr r0, =gText_Total
- mov r8, r0
- ldr r1, =gText_TimesCleared
- mov r9, r1
- ldr r0, [r5]
- ldr r1, =0x00000e0c
- adds r0, r1
- ldrh r2, [r0]
- str r4, [sp]
- movs r0, 0x41
- str r0, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- movs r3, 0x40
- bl sub_81A258C
- movs r0, 0x1
- movs r1, 0x40
- movs r2, 0x72
- movs r3, 0x61
- bl sub_81A2618
- ldr r0, [r5]
- ldr r1, =0x00000e0a
- adds r0, r1
- ldrh r2, [r0]
- str r4, [sp]
- movs r0, 0x71
- str r0, [sp, 0x4]
- mov r0, r10
- adds r1, r7, 0
- movs r3, 0x40
- bl sub_81A258C
- ldr r0, [r5]
- ldr r1, =0x00000e0e
- adds r0, r1
- ldrh r2, [r0]
- str r4, [sp]
- movs r0, 0x81
- str r0, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- movs r3, 0x40
- bl sub_81A258C
- ldrb r0, [r6]
- bl PutWindowTilemap
- ldrb r0, [r6]
- movs r1, 0x3
- bl CopyWindowToVram
- 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_81A2698
-
- thumb_func_start sub_81A27E8
-sub_81A27E8: @ 81A27E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x30]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r7, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized
- ldr r0, =0x0000270f
- cmp r6, r0
- bls _081A2834
- adds r6, r0, 0
-_081A2834:
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_KOsInARow
- adds r0, r4, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r7, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- ldr r3, [sp, 0xC]
- bl AddTextPrinterParameterized
- 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 sub_81A27E8
-
- thumb_func_start sub_81A2888
-sub_81A2888: @ 81A2888
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsrs r0, 23
- ldr r2, =0x00000dde
- adds r1, r2
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, =gText_Record
- str r3, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_81A27E8
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2888
-
- thumb_func_start sub_81A28CC
-sub_81A28CC: @ 81A28CC
- push {lr}
- lsls r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsrs r0, 23
- ldr r2, =0x00000dda
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A28E6
- adds r0, r1, 0
-_081A28E6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A28CC
-
- thumb_func_start sub_81A28F8
-sub_81A28F8: @ 81A28F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r6, r3, 24
- adds r0, r4, 0
- bl sub_81A28CC
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0
- beq _081A2926
- movs r0, 0x80
- b _081A2928
-_081A2926:
- movs r0, 0x40
-_081A2928:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A2948
- ldr r0, =gText_Current
- str r6, [sp]
- adds r1, r5, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_81A27E8
- b _081A2956
- .pool
-_081A2948:
- ldr r0, =gText_Prev
- str r6, [sp]
- adds r1, r5, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_81A27E8
-_081A2956:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A28F8
-
- thumb_func_start sub_81A2968
-sub_81A2968: @ 81A2968
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r5, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r5]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0xA
- bl sub_81A1C90
- ldr r4, =gStringVar4
- ldr r1, =gText_SetKOTourneyResults
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_81A1C4C
- ldrb r0, [r5]
- ldr r2, =gText_Lv502
- movs r1, 0x31
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x10
- bl AddTextPrinterParameterized
- ldrb r0, [r5]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- str r1, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x10
- bl AddTextPrinterParameterized
- movs r0, 0
- movs r1, 0x48
- movs r2, 0x7E
- movs r3, 0x31
- bl sub_81A28F8
- movs r0, 0
- movs r1, 0x48
- movs r2, 0x7E
- movs r3, 0x41
- bl sub_81A2888
- movs r0, 0x1
- movs r1, 0x48
- movs r2, 0x7E
- movs r3, 0x61
- bl sub_81A28F8
- movs r0, 0x1
- movs r1, 0x48
- movs r2, 0x7E
- movs r3, 0x71
- bl sub_81A2888
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2968
-
- thumb_func_start sub_81A2A28
-sub_81A2A28: @ 81A2A28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r12, r0
- ldr r4, [sp, 0x38]
- ldr r5, [sp, 0x3C]
- ldr r0, [sp, 0x40]
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0xC]
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x10]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x14]
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r6, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- mov r2, r12
- bl AddTextPrinterParameterized
- ldr r0, =0x0000270f
- cmp r7, r0
- bls _081A2A80
- adds r7, r0, 0
-_081A2A80:
- ldr r5, =gStringVar1
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_WinStreak
- adds r0, r4, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r6, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- ldr r3, [sp, 0x10]
- bl AddTextPrinterParameterized
- adds r0, r5, 0
- ldr r1, [sp, 0xC]
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_TimesVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r6, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- ldr r3, [sp, 0x14]
- bl AddTextPrinterParameterized
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2A28
-
- thumb_func_start sub_81A2B04
-sub_81A2B04: @ 81A2B04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r2, 0
- ldr r4, [sp, 0x24]
- ldr r5, [sp, 0x28]
- lsls r0, 24
- lsls r1, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- ldr r7, =0x00000dea
- adds r0, r2, r7
- adds r0, r1
- ldrh r0, [r0]
- mov r8, r0
- ldr r0, =0x00000dfa
- adds r2, r0
- adds r2, r1
- ldrh r2, [r2]
- ldr r0, =gText_Record
- str r3, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- mov r1, r8
- adds r3, r6, 0
- bl sub_81A2A28
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2B04
-
- thumb_func_start sub_81A2B70
-sub_81A2B70: @ 81A2B70
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- ldr r0, =0x00000de2
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A2B90
- adds r0, r1, 0
-_081A2B90:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A2B70
-
- thumb_func_start sub_81A2BA0
-sub_81A2BA0: @ 81A2BA0
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- ldr r0, =0x00000df2
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A2BC0
- adds r0, r1, 0
-_081A2BC0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A2BA0
-
- thumb_func_start sub_81A2BD0
-sub_81A2BD0: @ 81A2BD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xC]
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_81A2B70
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_81A2BA0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r6, 0
- beq _081A2C20
- cmp r6, 0x1
- beq _081A2C30
-_081A2C20:
- cmp r7, 0
- beq _081A2C2A
- movs r0, 0x80
- lsls r0, 2
- b _081A2C3E
-_081A2C2A:
- movs r0, 0x80
- lsls r0, 1
- b _081A2C3E
-_081A2C30:
- cmp r7, 0
- beq _081A2C3A
- movs r0, 0x80
- lsls r0, 18
- b _081A2C3E
-_081A2C3A:
- movs r0, 0x80
- lsls r0, 17
-_081A2C3E:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A2C68
- ldr r0, =gText_Current
- mov r1, r8
- str r1, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- adds r1, r5, 0
- adds r2, r4, 0
- ldr r3, [sp, 0xC]
- bl sub_81A2A28
- b _081A2C80
- .pool
-_081A2C68:
- ldr r0, =gText_Prev
- mov r1, r8
- str r1, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- adds r1, r5, 0
- adds r2, r4, 0
- ldr r3, [sp, 0xC]
- bl sub_81A2A28
-_081A2C80:
- 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 sub_81A2BD0
-
- thumb_func_start sub_81A2C94
-sub_81A2C94: @ 81A2C94
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r7, 0
- bne _081A2CD8
- ldr r0, =gStringVar4
- ldr r1, =gText_BattleSwapSingleResults
- bl StringExpandPlaceholders
- b _081A2CE0
- .pool
-_081A2CD8:
- ldr r0, =gStringVar4
- ldr r1, =gText_BattleSwapDoubleResults
- bl StringExpandPlaceholders
-_081A2CE0:
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81A1C4C
- ldr r0, =gRecordsWindowId
- mov r8, r0
- ldrb r0, [r0]
- ldr r2, =gText_Lv502
- movs r6, 0x21
- str r6, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r1, r8
- ldrb r0, [r1]
- ldr r2, =gText_RentalSwap
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x98
- bl AddTextPrinterParameterized
- mov r1, r8
- ldrb r0, [r1]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- movs r0, 0xA
- bl sub_81A1C90
- movs r4, 0x9E
- str r4, [sp]
- movs r0, 0x31
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x8
- movs r3, 0x40
- bl sub_81A2BD0
- str r4, [sp]
- movs r0, 0x41
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x8
- movs r3, 0x40
- bl sub_81A2B04
- str r4, [sp]
- movs r0, 0x71
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x40
- bl sub_81A2BD0
- str r4, [sp]
- movs r0, 0x81
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x40
- bl sub_81A2B04
- mov r1, r8
- ldrb r0, [r1]
- bl PutWindowTilemap
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2C94
-
- thumb_func_start sub_81A2DB4
-sub_81A2DB4: @ 81A2DB4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x30]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r0, =gRecordsWindowId
- mov r10, r0
- ldrb r0, [r0]
- str r7, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- mov r8, r1
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized
- ldr r0, =0x0000270f
- cmp r6, r0
- bls _081A2E00
- adds r6, r0, 0
-_081A2E00:
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_FloorsCleared
- adds r0, r4, 0
- bl StringExpandPlaceholders
- mov r1, r10
- ldrb r0, [r1]
- str r7, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- ldr r3, [sp, 0xC]
- bl AddTextPrinterParameterized
- 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 sub_81A2DB4
-
- thumb_func_start sub_81A2E54
-sub_81A2E54: @ 81A2E54
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsrs r0, 23
- ldr r2, =0x00000e1e
- adds r1, r2
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, =gText_Record
- str r3, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_81A2DB4
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2E54
-
- thumb_func_start sub_81A2E98
-sub_81A2E98: @ 81A2E98
- push {lr}
- lsls r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsrs r0, 23
- ldr r2, =0x00000e1a
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A2EB2
- adds r0, r1, 0
-_081A2EB2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A2E98
-
- thumb_func_start sub_81A2EC4
-sub_81A2EC4: @ 81A2EC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r6, r3, 24
- adds r0, r4, 0
- bl sub_81A2E98
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0
- beq _081A2EF4
- movs r0, 0x80
- lsls r0, 6
- b _081A2EF8
-_081A2EF4:
- movs r0, 0x80
- lsls r0, 5
-_081A2EF8:
- bl sub_81A1C24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081A2F18
- ldr r0, =gText_Current
- str r6, [sp]
- adds r1, r5, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_81A2DB4
- b _081A2F26
- .pool
-_081A2F18:
- ldr r0, =gText_Prev
- str r6, [sp]
- adds r1, r5, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_81A2DB4
-_081A2F26:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2EC4
-
- thumb_func_start sub_81A2F38
-sub_81A2F38: @ 81A2F38
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r5, =gRecordsWindowId
- ldr r0, =gUnknown_08611C74
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r5]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gStringVar4
- ldr r1, =gText_BattleQuestResults
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_81A1C4C
- ldrb r0, [r5]
- ldr r2, =gText_Lv502
- movs r1, 0x31
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldrb r0, [r5]
- ldr r2, =gText_OpenLv
- movs r1, 0x61
- str r1, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- movs r0, 0xA
- bl sub_81A1C90
- movs r0, 0
- movs r1, 0x40
- movs r2, 0x6F
- movs r3, 0x31
- bl sub_81A2EC4
- movs r0, 0
- movs r1, 0x40
- movs r2, 0x6F
- movs r3, 0x41
- bl sub_81A2E54
- movs r0, 0x1
- movs r1, 0x40
- movs r2, 0x6F
- movs r3, 0x61
- bl sub_81A2EC4
- movs r0, 0x1
- movs r1, 0x40
- movs r2, 0x6F
- movs r3, 0x71
- bl sub_81A2E54
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2F38
-
- thumb_func_start sub_81A2FF8
-sub_81A2FF8: @ 81A2FF8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r4, =gRecordsWindowId
- ldr r0, =gUnknown_08611C7C
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, =gStringVar4
- mov r9, r0
- ldr r1, =gText_LinkContestResults
- bl StringExpandPlaceholders
- movs r0, 0x1
- mov r1, r9
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- mov r2, r9
- bl AddTextPrinterParameterized
- ldr r7, =gText_1st
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x26
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- adds r3, 0x32
- ldrb r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x19
- mov r8, r1
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- bl AddTextPrinterParameterized
- ldr r7, =gText_2nd
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x26
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- adds r3, 0x58
- ldrb r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- mov r2, r8
- str r2, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- bl AddTextPrinterParameterized
- ldr r7, =gText_3rd
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x26
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- adds r3, 0x7E
- ldrb r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- mov r1, r8
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- bl AddTextPrinterParameterized
- ldr r7, =gText_4th
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x26
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- adds r3, 0xA4
- ldrb r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- mov r2, r8
- str r2, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- adds r2, r7, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- ldr r2, =gText_Cool
- movs r1, 0x29
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- ldr r2, =gText_Beauty
- movs r1, 0x39
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- ldr r2, =gText_Cute
- movs r1, 0x49
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- ldr r2, =gText_Smart
- movs r1, 0x59
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- ldr r2, =gText_Tough
- movs r1, 0x69
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- movs r1, 0
-_081A314A:
- movs r5, 0
- adds r0, r1, 0x1
- mov r8, r0
- lsls r0, r1, 28
- movs r2, 0xA4
- lsls r2, 22
- adds r0, r2
- lsrs r7, r0, 24
- lsls r4, r1, 3
-_081A315C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000624
- adds r0, r1
- adds r0, r4
- ldrh r1, [r0]
- mov r0, r9
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r6, =gRecordsWindowId
- ldrb r0, [r6]
- movs r1, 0x26
- adds r3, r5, 0
- muls r3, r1
- adds r3, 0x40
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- mov r2, r9
- bl AddTextPrinterParameterized
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _081A315C
- mov r1, r8
- cmp r1, 0x4
- ble _081A314A
- ldrb r0, [r6]
- bl PutWindowTilemap
- ldrb r0, [r6]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A2FF8
-
- thumb_func_start sub_81A31FC
-sub_81A31FC: @ 81A31FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r7, r0, 30
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r4, 0x6
- bls _081A3232
- b _081A35CE
-_081A3232:
- lsls r0, r4, 2
- ldr r1, =_081A3250
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A3250:
- .4byte _081A326C
- .4byte _081A33A8
- .4byte _081A3414
- .4byte _081A347C
- .4byte _081A34CC
- .4byte _081A354C
- .4byte _081A3594
-_081A326C:
- ldr r2, =gSaveBlock2Ptr
- mov r9, r2
- ldr r0, [r2]
- lsls r3, r7, 1
- mov r10, r3
- mov r2, r8
- lsls r1, r2, 2
- add r1, r10
- str r1, [sp, 0x20]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r0, r3
- ldr r2, [sp, 0x20]
- adds r1, r2
- adds r3, 0x10
- adds r0, r3
- adds r0, r2
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bhi _081A3298
- b _081A35CE
-_081A3298:
- strh r1, [r0]
- mov r3, r8
- cmp r3, 0x3
- bne _081A32F2
- ldr r6, =gBattleScripting
- adds r6, 0x25
- ldrb r0, [r6]
- movs r4, 0x1
- eors r0, r4
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r5, =gLinkPlayers + 8
- adds r1, r5
- mov r0, sp
- bl StringCopy
- mov r0, sp
- bl StripExtCtrlCodes
- lsls r1, r7, 3
- ldr r0, =0x00000ee1
- adds r1, r0
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- mov r1, sp
- bl StringCopy
- ldrb r0, [r6]
- eors r4, r0
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- subs r5, 0x4
- adds r0, r5
- ldr r0, [r0]
- lsls r2, r7, 2
- ldr r1, =0x00000ef1
- adds r2, r1
- mov r3, r9
- ldr r1, [r3]
- adds r1, r2
- bl WriteUnalignedWord
-_081A32F2:
- mov r7, r9
- ldr r0, [r7]
- movs r1, 0xCE
- lsls r1, 4
- adds r0, r1
- ldr r2, [sp, 0x20]
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _081A3308
- b _081A35CE
-_081A3308:
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- bne _081A3314
- b _081A35CE
-_081A3314:
- mov r3, r8
- cmp r3, 0x1
- beq _081A335A
- cmp r3, 0x1
- bgt _081A3338
- cmp r3, 0
- beq _081A3344
- b _081A35CE
- .pool
-_081A3338:
- mov r7, r8
- cmp r7, 0x2
- beq _081A3374
- cmp r7, 0x3
- beq _081A338E
- b _081A35CE
-_081A3344:
- mov r1, r9
- ldr r0, [r1]
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r2
- add r0, r10
- ldrh r0, [r0]
- movs r1, 0x1
- bl sub_80EE8C8
- b _081A35CE
-_081A335A:
- mov r3, r9
- ldr r0, [r3]
- mov r1, r10
- adds r1, 0x4
- movs r7, 0xCE
- lsls r7, 4
- adds r0, r7
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x2
- bl sub_80EE8C8
- b _081A35CE
-_081A3374:
- mov r1, r9
- ldr r0, [r1]
- mov r1, r10
- adds r1, 0x8
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x3
- bl sub_80EE8C8
- b _081A35CE
-_081A338E:
- mov r3, r9
- ldr r0, [r3]
- mov r1, r10
- adds r1, 0xC
- movs r7, 0xCE
- lsls r7, 4
- adds r0, r7
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x4
- bl sub_80EE8C8
- b _081A35CE
-_081A33A8:
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- lsls r7, 1
- mov r2, r8
- lsls r1, r2, 2
- adds r4, r7, r1
- ldr r5, =0x00000d0c
- adds r1, r0, r5
- adds r1, r4
- ldr r3, =0x00000d14
- adds r0, r3
- adds r0, r4
- ldrh r2, [r1]
- ldrh r3, [r0]
- cmp r2, r3
- bhi _081A33CA
- b _081A35CE
-_081A33CA:
- strh r2, [r0]
- ldrh r0, [r1]
- cmp r0, 0x1
- bhi _081A33D4
- b _081A35CE
-_081A33D4:
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- bne _081A33E0
- b _081A35CE
-_081A33E0:
- mov r0, r8
- cmp r0, 0
- bne _081A3404
- ldr r0, [r6]
- adds r0, r5
- adds r0, r7
- ldrh r0, [r0]
- movs r1, 0x5
- bl sub_80EE8C8
- b _081A35CE
- .pool
-_081A3404:
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0x6
- bl sub_80EE8C8
- b _081A35CE
-_081A3414:
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- lsls r7, 1
- mov r2, r8
- lsls r1, r2, 2
- adds r4, r7, r1
- ldr r5, =0x00000dc8
- adds r1, r0, r5
- adds r1, r4
- movs r3, 0xDD
- lsls r3, 4
- adds r0, r3
- adds r0, r4
- ldrh r2, [r1]
- ldrh r3, [r0]
- cmp r2, r3
- bhi _081A3438
- b _081A35CE
-_081A3438:
- strh r2, [r0]
- ldrh r0, [r1]
- cmp r0, 0x1
- bhi _081A3442
- b _081A35CE
-_081A3442:
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- bne _081A344E
- b _081A35CE
-_081A344E:
- mov r0, r8
- cmp r0, 0
- bne _081A346C
- ldr r0, [r6]
- adds r0, r5
- adds r0, r7
- ldrh r0, [r0]
- movs r1, 0xB
- bl sub_80EE8C8
- b _081A35CE
- .pool
-_081A346C:
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xC
- bl sub_80EE8C8
- b _081A35CE
-_081A347C:
- ldr r6, =gSaveBlock2Ptr
- ldr r1, [r6]
- lsls r4, r7, 1
- ldr r5, =0x00000dda
- adds r0, r1, r5
- adds r0, r4
- ldr r2, =0x00000dde
- adds r1, r2
- adds r1, r4
- ldrh r2, [r0]
- ldrh r3, [r1]
- cmp r2, r3
- bhi _081A3498
- b _081A35CE
-_081A3498:
- strh r2, [r1]
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _081A34A2
- b _081A35CE
-_081A34A2:
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- bne _081A34AE
- b _081A35CE
-_081A34AE:
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xA
- bl sub_80EE8C8
- b _081A35CE
- .pool
-_081A34CC:
- ldr r6, =gSaveBlock2Ptr
- ldr r2, [r6]
- lsls r7, 1
- mov r9, r7
- mov r7, r8
- lsls r0, r7, 2
- mov r1, r9
- adds r4, r1, r0
- ldr r5, =0x00000de2
- adds r0, r2, r5
- adds r3, r0, r4
- ldr r7, =0x00000dea
- adds r0, r2, r7
- adds r0, r4
- ldrh r1, [r3]
- ldrh r7, [r0]
- cmp r1, r7
- bls _081A35CE
- strh r1, [r0]
- ldr r0, =0x00000dfa
- adds r1, r2, r0
- adds r1, r4
- ldr r7, =0x00000df2
- adds r0, r2, r7
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- ldrh r0, [r3]
- cmp r0, 0x1
- bls _081A35CE
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- beq _081A35CE
- mov r0, r8
- cmp r0, 0
- bne _081A353C
- ldr r0, [r6]
- adds r0, r5
- add r0, r9
- ldrh r0, [r0]
- movs r1, 0x7
- bl sub_80EE8C8
- b _081A35CE
- .pool
-_081A353C:
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0x8
- bl sub_80EE8C8
- b _081A35CE
-_081A354C:
- ldr r6, =gSaveBlock2Ptr
- ldr r1, [r6]
- lsls r4, r7, 1
- ldr r5, =0x00000e04
- adds r0, r1, r5
- adds r0, r4
- ldr r2, =0x00000e08
- adds r1, r2
- adds r1, r4
- ldrh r2, [r0]
- ldrh r3, [r1]
- cmp r2, r3
- bls _081A35CE
- strh r2, [r1]
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _081A35CE
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- beq _081A35CE
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0x9
- bl sub_80EE8C8
- b _081A35CE
- .pool
-_081A3594:
- ldr r6, =gSaveBlock2Ptr
- ldr r1, [r6]
- lsls r4, r7, 1
- ldr r5, =0x00000e1a
- adds r0, r1, r5
- adds r0, r4
- ldr r7, =0x00000e1e
- adds r1, r7
- adds r1, r4
- ldrh r2, [r0]
- ldrh r3, [r1]
- cmp r2, r3
- bls _081A35CE
- strh r2, [r1]
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _081A35CE
- bl sub_80EE818
- lsls r0, 24
- cmp r0, 0
- beq _081A35CE
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xD
- bl sub_80EE8C8
-_081A35CE:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A31FC
-
- thumb_func_start sub_81A35EC
-sub_81A35EC: @ 81A35EC
- push {r4,lr}
- ldr r0, =0x000040cf
- bl VarGet
- ldr r4, =gSpecialVar_Result
- bl sub_81A3610
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A35EC
-
- thumb_func_start sub_81A3610
-sub_81A3610: @ 81A3610
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r8, r0
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =0x000040ce
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_81A39C4
- lsls r0, 16
- ldr r1, =gUnknown_08611550
- mov r9, r1
- lsls r7, r6, 2
- adds r1, 0x3
- adds r1, r7, r1
- lsrs r0, 16
- ldrb r1, [r1]
- adds r5, r0, r1
- cmp r4, 0
- beq _081A365C
- movs r0, 0
- b _081A36C2
- .pool
-_081A365C:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_81A3B30
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- blt _081A3680
- cmp r1, 0x1
- bgt _081A3680
- adds r0, r1, r7
- add r0, r9
- ldrb r0, [r0]
- cmp r5, r0
- bne _081A36BC
- adds r1, 0x1
- mov r8, r1
- b _081A36BC
-_081A3680:
- ldr r1, =gUnknown_08611550
- lsls r2, r6, 2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r5, r0
- bne _081A3694
- movs r0, 0x3
- b _081A36BA
- .pool
-_081A3694:
- adds r0, r1, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r5, r0
- bne _081A36A4
- movs r1, 0x4
- mov r8, r1
- b _081A36BC
-_081A36A4:
- cmp r5, r0
- ble _081A36BC
- subs r0, r5, r0
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- bl __modsi3
- cmp r0, 0
- bne _081A36BC
- movs r0, 0x4
-_081A36BA:
- mov r8, r0
-_081A36BC:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
-_081A36C2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81A3610
-
- thumb_func_start CopyFrontierTrainerText
-CopyFrontierTrainerText: @ 81A36D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r0, 0x1
- beq _081A3766
- cmp r0, 0x1
- bgt _081A36EA
- cmp r0, 0
- beq _081A36F2
- b _081A38F8
-_081A36EA:
- cmp r2, 0x2
- bne _081A36F0
- b _081A3818
-_081A36F0:
- b _081A38F8
-_081A36F2:
- movs r0, 0xFA
- lsls r0, 1
- cmp r3, r0
- bne _081A370C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bfc
- b _081A38C4
- .pool
-_081A370C:
- ldr r0, =0x000003fe
- cmp r3, r0
- beq _081A3786
- ldr r0, =0x0000012b
- cmp r3, r0
- bhi _081A3738
- ldr r2, =gFacilityTrainers
- movs r0, 0x34
- adds r1, r3, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081A38F8
- .pool
-_081A3738:
- ldr r0, =0x0000018f
- cmp r3, r0
- bhi _081A3758
- ldr r1, =gSaveBlock2Ptr
- movs r0, 0xEC
- muls r0, r3
- ldr r1, [r1]
- adds r0, r1
- ldr r1, =0xfffef2b8
- b _081A38C4
- .pool
-_081A3758:
- adds r0, r3, 0
- adds r0, 0x70
- lsls r0, 24
- lsrs r0, 24
- bl CopyFriendsApprenticeChallengeText
- b _081A38F8
-_081A3766:
- movs r0, 0xFA
- lsls r0, 1
- cmp r3, r0
- bne _081A3780
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000c08
- b _081A38C4
- .pool
-_081A3780:
- ldr r0, =0x000003fe
- cmp r3, r0
- bne _081A3794
-_081A3786:
- movs r0, 0
- bl sub_81A51A8
- b _081A38F8
- .pool
-_081A3794:
- ldr r0, =0x0000012b
- cmp r3, r0
- bhi _081A37B8
- ldr r2, =gFacilityTrainers
- movs r0, 0x34
- adds r1, r3, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0x18
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081A38F8
- .pool
-_081A37B8:
- ldr r0, =0x0000018f
- cmp r3, r0
- bhi _081A37EC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _081A387C
- ldr r1, =gSaveBlock2Ptr
- movs r0, 0xEC
- muls r0, r3
- ldr r1, [r1]
- adds r0, r1
- ldr r1, =0xfffef2c4
- b _081A38C4
- .pool
-_081A37EC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _081A387C
- ldr r1, =gSaveBlock2Ptr
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, [r1]
- adds r0, r1
- ldr r1, =0xffff96c4
- b _081A38C4
- .pool
-_081A3818:
- movs r0, 0xFA
- lsls r0, 1
- cmp r3, r0
- bne _081A3830
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000c14
- b _081A38C4
- .pool
-_081A3830:
- ldr r0, =0x000003fe
- cmp r3, r0
- bne _081A3844
- movs r0, 0x1
- bl sub_81A51A8
- b _081A38F8
- .pool
-_081A3844:
- ldr r0, =0x0000012b
- cmp r3, r0
- bhi _081A3868
- ldr r2, =gFacilityTrainers
- movs r0, 0x34
- adds r1, r3, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0x24
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081A38F8
- .pool
-_081A3868:
- ldr r0, =0x0000018f
- cmp r3, r0
- bhi _081A38A8
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _081A3890
-_081A387C:
- bl sub_81864E0
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081A38F8
- .pool
-_081A3890:
- ldr r1, =gSaveBlock2Ptr
- movs r0, 0xEC
- muls r0, r3
- ldr r1, [r1]
- adds r0, r1
- ldr r1, =0xfffef2d0
- b _081A38C4
- .pool
-_081A38A8:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _081A38D4
- bl sub_81864A8
- lsls r0, 24
- lsrs r3, r0, 24
- movs r0, 0x58
- muls r0, r3
- ldr r1, =gApprentices+0x4A
-_081A38C4:
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081A38F8
- .pool
-_081A38D4:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r3, r0, 27
- movs r0, 0x58
- muls r0, r3
- ldr r1, =gApprentices+0x4A
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
-_081A38F8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyFrontierTrainerText
-
- thumb_func_start sub_81A3908
-sub_81A3908: @ 81A3908
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000cdc
- adds r1, r2
- movs r2, 0
- str r2, [r1]
- movs r4, 0
- mov r9, r0
- mov r8, r9
- movs r6, 0
-_081A3926:
- movs r5, 0
- lsls r7, r4, 2
- mov r10, r7
- adds r0, r4, 0x1
- mov r12, r0
-_081A3930:
- mov r1, r8
- ldr r2, [r1]
- lsls r3, r5, 1
- mov r7, r10
- adds r1, r3, r7
- movs r7, 0xCE
- lsls r7, 4
- adds r0, r2, r7
- adds r0, r1
- strh r6, [r0]
- cmp r4, 0x1
- bgt _081A3960
- adds r7, 0x2C
- adds r0, r2, r7
- adds r0, r1
- strh r6, [r0]
- adds r7, 0xBC
- adds r0, r2, r7
- adds r0, r1
- strh r6, [r0]
- adds r7, 0x1A
- adds r0, r2, r7
- adds r0, r1
- strh r6, [r0]
-_081A3960:
- cmp r4, 0
- bne _081A3980
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000dda
- adds r1, r0, r2
- adds r1, r3
- strh r4, [r1]
- ldr r7, =0x00000e04
- adds r1, r0, r7
- adds r1, r3
- strh r4, [r1]
- ldr r1, =0x00000e1a
- adds r0, r1
- adds r0, r3
- strh r4, [r0]
-_081A3980:
- adds r5, 0x1
- cmp r5, 0x1
- ble _081A3930
- mov r4, r12
- cmp r4, 0x3
- ble _081A3926
- mov r2, r9
- ldr r0, [r2]
- ldr r7, =0x00000ca8
- adds r1, r0, r7
- ldrb r0, [r1]
- cmp r0, 0
- beq _081A399E
- movs r0, 0x1
- strb r0, [r1]
-_081A399E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3908
-
- thumb_func_start sub_81A39C4
-sub_81A39C4: @ 81A39C4
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _081A3AC4
- lsls r0, 2
- ldr r1, =_081A3A0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A3A0C:
- .4byte _081A3A28
- .4byte _081A3A3C
- .4byte _081A3A54
- .4byte _081A3A6C
- .4byte _081A3A80
- .4byte _081A3A98
- .4byte _081A3AAC
-_081A3A28:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r5, 2
- adds r1, r2
- movs r2, 0xCE
- lsls r2, 4
- b _081A3AB4
- .pool
-_081A3A3C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r5, 2
- adds r1, r2
- ldr r2, =0x00000d0c
- b _081A3AB4
- .pool
-_081A3A54:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r5, 2
- adds r1, r2
- ldr r2, =0x00000dc8
- b _081A3AB4
- .pool
-_081A3A6C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000dda
- b _081A3AB4
- .pool
-_081A3A80:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r5, 2
- adds r1, r2
- ldr r2, =0x00000de2
- b _081A3AB4
- .pool
-_081A3A98:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000e04
- b _081A3AB4
- .pool
-_081A3AAC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000e1a
-_081A3AB4:
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- b _081A3AC6
- .pool
-_081A3AC4:
- movs r0, 0
-_081A3AC6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81A39C4
-
- thumb_func_start sub_81A3ACC
-sub_81A3ACC: @ 81A3ACC
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gSaveBlock2Ptr
- ldr r4, =0x00000cb4
- ldr r0, =0x0000ffff
- adds r3, r0, 0
-_081A3AD8:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- ldrh r1, [r0]
- orrs r1, r3
- strh r1, [r0]
- adds r2, 0x1
- cmp r2, 0x13
- ble _081A3AD8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3ACC
-
- thumb_func_start sub_81A3B00
-sub_81A3B00: @ 81A3B00
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _081A3B20
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _081A3B24
- .pool
-_081A3B20:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_081A3B24:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3B00
-
- thumb_func_start sub_81A3B30
-sub_81A3B30: @ 81A3B30
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 23
- ldr r1, =0x000008c4
- adds r0, r4, r1
- bl FlagGet
- adds r5, r0, 0
- ldr r0, =0x000008c5
- adds r4, r0
- adds r0, r4, 0
- bl FlagGet
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A3B30
-
- thumb_func_start sub_81A3B64
-sub_81A3B64: @ 81A3B64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r7, 0x6
- bhi _081A3C78
- lsls r0, r7, 2
- ldr r1, =_081A3BB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A3BB4:
- .4byte _081A3BD0
- .4byte _081A3BE4
- .4byte _081A3C00
- .4byte _081A3C18
- .4byte _081A3C2C
- .4byte _081A3C44
- .4byte _081A3C60
-_081A3BD0:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r6, 2
- adds r1, r2
- movs r2, 0xCE
- lsls r2, 4
- b _081A3C68
- .pool
-_081A3BE4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r6, 2
- adds r1, r2
- ldr r2, =0x00000d0c
- adds r0, r2
- adds r0, r1
- ldrh r5, [r0]
- b _081A3C78
- .pool
-_081A3C00:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r6, 2
- adds r1, r2
- ldr r2, =0x00000dc8
- b _081A3C68
- .pool
-_081A3C18:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000dda
- b _081A3C68
- .pool
-_081A3C2C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- lsls r2, r6, 2
- adds r1, r2
- ldr r2, =0x00000de2
- b _081A3C68
- .pool
-_081A3C44:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000e04
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0xE
- b _081A3C70
- .pool
-_081A3C60:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000e1a
-_081A3C68:
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x7
-_081A3C70:
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
-_081A3C78:
- cmp r5, 0
- beq _081A3C7E
- subs r5, 0x1
-_081A3C7E:
- cmp r5, 0x1D
- bls _081A3C84
- movs r5, 0x1D
-_081A3C84:
- ldr r2, =gUnknown_086118B4
- lsls r1, r7, 2
- adds r1, r6, r1
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r1, r0
- adds r7, r1, r2
- ldrb r5, [r7]
- ldr r0, =gTrainerBattleOpponent_A
- mov r9, r0
- ldrh r0, [r0]
- ldr r1, =0x000003fe
- mov r8, r1
- cmp r0, r8
- bne _081A3CA6
- adds r5, 0xA
-_081A3CA6:
- ldr r6, =gSaveBlock2Ptr
- ldr r1, [r6]
- ldr r4, =0x00000eb8
- adds r1, r4
- ldrh r0, [r1]
- adds r0, r5
- strh r0, [r1]
- ldr r0, =gStringVar1
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r2, r0, r4
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _081A3CCE
- strh r1, [r2]
-_081A3CCE:
- ldr r0, [r6]
- ldr r4, =0x00000eba
- adds r0, r4
- ldrh r5, [r0]
- ldrb r0, [r7]
- adds r5, r0
- bl sub_80EED60
- mov r2, r9
- ldrh r0, [r2]
- cmp r0, r8
- bne _081A3CEE
- adds r5, 0xA
- movs r0, 0xA
- bl sub_80EED60
-_081A3CEE:
- ldr r0, =0x0000ffff
- cmp r5, r0
- ble _081A3CF6
- adds r5, r0, 0
-_081A3CF6:
- ldr r0, [r6]
- adds r0, r4
- strh r5, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3B64
-
- thumb_func_start sub_81A3D30
-sub_81A3D30: @ 81A3D30
- push {r4,lr}
- ldr r0, =0x000040cf
- bl VarGet
- ldr r4, =gSpecialVar_Result
- lsls r0, 24
- lsrs r0, 24
- bl sub_81A3B30
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3D30
-
- thumb_func_start sub_81A3D58
-sub_81A3D58: @ 81A3D58
- push {r4,lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_81A3B30
- lsls r0, 24
- cmp r0, 0
- bne _081A3D88
- lsls r0, r4, 17
- ldr r1, =0x8C4 << 16
- adds r0, r1
- lsrs r0, 16
- bl FlagSet
- b _081A3D94
- .pool
-_081A3D88:
- lsls r0, r4, 17
- ldr r1, =0x8C5 << 16
- adds r0, r1
- lsrs r0, 16
- bl FlagSet
-_081A3D94:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3D58
-
- thumb_func_start sub_81A3DA0
-sub_81A3DA0: @ 81A3DA0
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, [r0]
- ands r2, r1
- cmp r2, 0
- beq _081A3DC4
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- b _081A3DC8
- .pool
-_081A3DC4:
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
-_081A3DC8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3DA0
-
- thumb_func_start sub_81A3DD0
-sub_81A3DD0: @ 81A3DD0
- push {r4-r6,lr}
- adds r5, r2, 0
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- adds r0, r6, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081A3ED6
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- subs r0, r4, 0x1
- cmp r0, 0xA
- bhi _081A3EA0
- lsls r0, 2
- ldr r1, =_081A3E0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A3E0C:
- .4byte _081A3E38
- .4byte _081A3E68
- .4byte _081A3E38
- .4byte _081A3EA0
- .4byte _081A3E38
- .4byte _081A3EA0
- .4byte _081A3E38
- .4byte _081A3EA0
- .4byte _081A3E38
- .4byte _081A3EA0
- .4byte _081A3E38
-_081A3E38:
- cmp r5, r4
- bne _081A3E50
- ldr r0, =gStringVar1
- ldr r1, =gText_SpaceAndSpace
- bl StringAppend
- b _081A3EC8
- .pool
-_081A3E50:
- cmp r5, r4
- ble _081A3EC8
- ldr r0, =gStringVar1
- ldr r1, =gText_CommaSpace
- bl StringAppend
- b _081A3EC8
- .pool
-_081A3E68:
- cmp r4, r5
- bne _081A3E80
- ldr r0, =gStringVar1
- ldr r1, =gText_SpaceAndSpace
- bl StringAppend
- b _081A3E88
- .pool
-_081A3E80:
- ldr r0, =gStringVar1
- ldr r1, =gText_CommaSpace
- bl StringAppend
-_081A3E88:
- ldr r0, =gStringVar1
- ldr r1, =gText_NewLine
- bl StringAppend
- b _081A3EC8
- .pool
-_081A3EA0:
- cmp r4, r5
- bne _081A3EB8
- ldr r0, =gStringVar1
- ldr r1, =gText_SpaceAndSpace
- bl StringAppend
- b _081A3EC0
- .pool
-_081A3EB8:
- ldr r0, =gStringVar1
- ldr r1, =gText_CommaSpace
- bl StringAppend
-_081A3EC0:
- ldr r0, =gStringVar1
- ldr r1, =gText_ScrollTextUp
- bl StringAppend
-_081A3EC8:
- ldr r0, =gStringVar1
- movs r1, 0xB
- muls r1, r6
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringAppend
-_081A3ED6:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A3DD0
-
- thumb_func_start sub_81A3EF0
-sub_81A3EF0: @ 81A3EF0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, [sp, 0x20]
- ldr r4, [sp, 0x24]
- mov r9, r4
- ldr r4, [sp, 0x28]
- mov r10, r4
- ldr r7, [sp, 0x2C]
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- movs r2, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- beq _081A3FBE
- cmp r4, 0
- beq _081A3FBE
- ldr r0, =gUnknown_08611C9A
- ldrh r1, [r0]
- ldr r5, =0x0000ffff
- adds r3, r0, 0
- cmp r1, r5
- beq _081A3F54
- cmp r1, r4
- beq _081A3F48
- adds r1, r3, 0
-_081A3F3A:
- adds r1, 0x2
- adds r2, 0x1
- ldrh r0, [r1]
- cmp r0, r5
- beq _081A3F54
- cmp r0, r4
- bne _081A3F3A
-_081A3F48:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081A3FBE
-_081A3F54:
- mov r0, r12
- cmp r0, 0
- bne _081A3F60
- mov r1, r8
- cmp r1, 0x32
- bhi _081A3FBE
-_081A3F60:
- movs r2, 0
- ldrb r3, [r7]
- cmp r2, r3
- bge _081A3F80
- mov r1, r9
- ldrh r0, [r1]
- cmp r0, r4
- beq _081A3F80
- adds r5, r3, 0
-_081A3F72:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _081A3F80
- ldrh r0, [r1]
- cmp r0, r4
- bne _081A3F72
-_081A3F80:
- cmp r2, r3
- bne _081A3FBE
- cmp r6, 0
- beq _081A3FAA
- movs r2, 0
- cmp r2, r3
- bge _081A3FA6
- mov r1, r10
- ldrh r0, [r1]
- cmp r0, r6
- beq _081A3FA6
- adds r5, r3, 0
-_081A3F98:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r5
- bge _081A3FA6
- ldrh r0, [r1]
- cmp r0, r6
- bne _081A3F98
-_081A3FA6:
- cmp r2, r3
- bne _081A3FBE
-_081A3FAA:
- lsls r0, r3, 1
- add r0, r9
- strh r4, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- add r0, r10
- strh r6, [r0]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_081A3FBE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3EF0
-
- thumb_func_start sub_81A3FD4
-sub_81A3FD4: @ 81A3FD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- movs r0, 0
- str r0, [sp, 0x2C]
- add r4, sp, 0x28
- strb r0, [r4]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- mov r10, r4
- cmp r0, 0x1
- beq _081A4016
- cmp r0, 0x1
- bgt _081A4008
- cmp r0, 0
- beq _081A4010
- b _081A402A
- .pool
-_081A4008:
- cmp r0, 0x3
- bgt _081A402A
- movs r0, 0x2
- b _081A4028
-_081A4010:
- movs r1, 0x3
- str r1, [sp, 0x2C]
- b _081A402A
-_081A4016:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- movs r1, 0x3
- str r1, [sp, 0x2C]
- cmp r0, 0
- bne _081A402A
- movs r0, 0x4
-_081A4028:
- str r0, [sp, 0x2C]
-_081A402A:
- movs r1, 0
- mov r9, r1
- b _081A4040
- .pool
-_081A4034:
- mov r1, r10
- ldrb r0, [r1]
- ldr r1, [sp, 0x2C]
- cmp r0, r1
- blt _081A4040
- b _081A41E0
-_081A4040:
- mov r5, r9
- movs r0, 0
- mov r1, r10
- strb r0, [r1]
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x30]
-_081A404E:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bne _081A40C8
- cmp r7, 0
- bne _081A40E4
- ldr r0, =gSpecialVar_Result
- ldrb r3, [r0]
- str r6, [sp]
- add r1, sp, 0x10
- str r1, [sp, 0x4]
- add r0, sp, 0x1C
- str r0, [sp, 0x8]
- mov r0, r10
- str r0, [sp, 0xC]
- mov r0, r8
- movs r1, 0
- adds r2, r4, 0
- bl sub_81A3EF0
- b _081A40E4
- .pool
-_081A40C8:
- ldr r0, =gSpecialVar_Result
- ldrb r3, [r0]
- str r6, [sp]
- add r1, sp, 0x10
- str r1, [sp, 0x4]
- add r0, sp, 0x1C
- str r0, [sp, 0x8]
- mov r0, r10
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_81A3EF0
-_081A40E4:
- adds r5, 0x1
- cmp r5, 0x5
- ble _081A40EC
- movs r5, 0
-_081A40EC:
- cmp r5, r9
- bne _081A404E
- ldr r1, [sp, 0x30]
- mov r9, r1
- cmp r1, 0x5
- ble _081A4034
- mov r1, r10
- ldrb r0, [r1]
- ldr r1, [sp, 0x2C]
- cmp r0, r1
- bge _081A41E0
- movs r6, 0
- ldr r0, =gUnknown_08611C9A
- ldrh r2, [r0]
- ldr r1, =0x0000ffff
- mov r8, r0
- cmp r2, r1
- beq _081A4134
- mov r4, r8
-_081A4112:
- adds r0, r2, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081A412A
- adds r6, 0x1
-_081A412A:
- adds r4, 0x2
- ldrh r2, [r4]
- ldr r0, =0x0000ffff
- cmp r2, r0
- bne _081A4112
-_081A4134:
- ldr r1, =gStringVar1
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- mov r1, r10
- strb r0, [r1]
- mov r1, r8
- ldrh r0, [r1]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _081A416A
- mov r5, r10
- adds r7, r1, 0
- mov r4, r8
-_081A4156:
- ldrh r0, [r4]
- ldrb r1, [r5]
- adds r2, r6, 0
- bl sub_81A3DD0
- strb r0, [r5]
- adds r4, 0x2
- ldrh r0, [r4]
- cmp r0, r7
- bne _081A4156
-_081A416A:
- mov r0, r10
- ldrb r4, [r0]
- cmp r4, 0
- bne _081A41A4
- ldr r4, =gStringVar1
- ldr r1, =gText_Space2
- adds r0, r4, 0
- bl StringAppend
- ldr r1, =gText_Are
- adds r0, r4, 0
- bl StringAppend
- b _081A4202
- .pool
-_081A41A4:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081A41C0
- ldr r0, =gStringVar1
- ldr r1, =gText_ScrollTextUp
- bl StringAppend
- b _081A41C8
- .pool
-_081A41C0:
- ldr r0, =gStringVar1
- ldr r1, =gText_Space2
- bl StringAppend
-_081A41C8:
- ldr r0, =gStringVar1
- ldr r1, =gText_Are2
- bl StringAppend
- b _081A4202
- .pool
-_081A41E0:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_Result
- ldrb r0, [r0]
- ldr r1, =0x00000ca9
- adds r2, r1
- movs r1, 0x3
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_081A4202:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A3FD4
-
- thumb_func_start sub_81A4224
-sub_81A4224: @ 81A4224
- push {lr}
- bl ValidateEReaderTrainer
- pop {r0}
- bx r0
- thumb_func_end sub_81A4224
-
- thumb_func_start sub_81A4230
-sub_81A4230: @ 81A4230
- push {r4-r7,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bls _081A425A
- b _081A4394
-_081A425A:
- lsls r0, 2
- ldr r1, =_081A4278
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A4278:
- .4byte _081A4294
- .4byte _081A42DC
- .4byte _081A431C
- .4byte _081A4338
- .4byte _081A434C
- .4byte _081A4368
- .4byte _081A437C
-_081A4294:
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- lsls r4, 1
- lsls r1, r5, 2
- adds r1, r4, r1
- movs r6, 0xCE
- lsls r6, 4
- adds r3, r0, r6
- adds r2, r3, r1
- ldrh r1, [r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _081A4394
- adds r0, r1, 0x1
- strh r0, [r2]
- cmp r5, 0
- bne _081A4394
- adds r0, r3, r4
- ldrh r1, [r0]
- movs r0, 0x20
- bl SetGameStat
- ldr r1, [r7]
- adds r0, r1, r6
- adds r0, r4
- ldrh r0, [r0]
- ldr r2, =0x00000d02
- adds r1, r2
- b _081A4392
- .pool
-_081A42DC:
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- lsls r2, r4, 1
- lsls r1, r5, 2
- adds r1, r2, r1
- ldr r3, =0x00000d0c
- adds r0, r3
- adds r3, r0, r1
- ldrh r0, [r3]
- ldr r2, =0x0000270e
- cmp r0, r2
- bhi _081A42F8
- adds r0, 0x1
- strh r0, [r3]
-_081A42F8:
- ldr r0, [r6]
- ldr r3, =0x00000d1c
- adds r0, r3
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r2
- bhi _081A4394
- adds r0, 0x1
- b _081A4392
- .pool
-_081A431C:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- lsls r0, r4, 1
- lsls r1, r5, 2
- adds r0, r1
- ldr r1, =0x00000dc8
- adds r2, r1
- adds r1, r2, r0
- b _081A4388
- .pool
-_081A4338:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000dda
- adds r0, r2
- b _081A4386
- .pool
-_081A434C:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- lsls r0, r4, 1
- lsls r1, r5, 2
- adds r0, r1
- ldr r3, =0x00000de2
- adds r2, r3
- adds r1, r2, r0
- b _081A4388
- .pool
-_081A4368:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000e04
- adds r0, r2
- b _081A4386
- .pool
-_081A437C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r3, =0x00000e1a
- adds r0, r3
-_081A4386:
- adds r1, r0, r1
-_081A4388:
- ldrh r3, [r1]
- ldr r0, =0x0000270e
- cmp r3, r0
- bhi _081A4394
- adds r0, r3, 0x1
-_081A4392:
- strh r0, [r1]
-_081A4394:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4230
-
- thumb_func_start sub_81A43A8
-sub_81A43A8: @ 81A43A8
- push {r4-r6,lr}
- sub sp, 0x4
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
- movs r5, 0x64
-_081A43B2:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000caa
- adds r0, r2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- beq _081A43EE
- adds r1, r0, 0
- muls r1, r5
- movs r0, 0xEA
- lsls r0, 1
- adds r1, r0
- ldr r0, [r6]
- adds r0, r1
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_081A43EE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081A43B2
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A43A8
-
- thumb_func_start sub_81A4410
-sub_81A4410: @ 81A4410
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- bl MoveRecordedBattleToSaveData
- strh r0, [r4]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4410
-
- thumb_func_start sub_81A443C
-sub_81A443C: @ 81A443C
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A4450
- cmp r0, 0x1
- beq _081A4464
- b _081A446E
- .pool
-_081A4450:
- ldr r0, =gStringVar1
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl GetFrontierTrainerName
- b _081A446E
- .pool
-_081A4464:
- ldr r0, =gStringVar2
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl GetFrontierTrainerName
-_081A446E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A443C
-
- thumb_func_start sub_81A447C
-sub_81A447C: @ 81A447C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0
- str r0, [sp]
-_081A448C:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, [sp]
- lsls r1, r2, 1
- ldr r4, =0x00000caa
- adds r0, r4
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r1
- adds r2, 0x1
- str r2, [sp, 0x4]
- cmp r0, 0x5
- bhi _081A454E
- movs r6, 0
- ldr r0, [sp]
- movs r2, 0x64
- adds r1, r0, 0
- muls r1, r2
- ldr r0, =gPlayerParty
- adds r7, r1, r0
-_081A44BA:
- movs r5, 0
- movs r4, 0xD
- adds r4, r6
- mov r8, r4
- adds r0, r6, 0x1
- mov r10, r0
-_081A44C6:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000caa
- adds r0, r2
- add r0, r9
- ldrh r0, [r0]
- movs r4, 0x64
- adds r1, r0, 0
- muls r1, r4
- movs r0, 0xEA
- lsls r0, 1
- adds r1, r0
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- adds r0, r1
- adds r1, r5, 0
- adds r1, 0xD
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r0, r7, 0
- mov r1, r8
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- beq _081A4508
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081A44C6
-_081A4508:
- cmp r5, 0x4
- bne _081A4516
- adds r0, r7, 0
- movs r1, 0xA6
- adds r2, r6, 0
- bl SetMonMoveSlot
-_081A4516:
- mov r4, r10
- lsls r0, r4, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _081A44BA
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =gSaveBlock2Ptr
- ldr r1, [r2]
- ldr r4, =0x00000caa
- adds r1, r4
- add r1, r9
- ldrh r1, [r1]
- subs r1, 0x1
- movs r3, 0x64
- muls r1, r3
- adds r0, r1
- movs r1, 0x8E
- lsls r1, 2
- adds r0, r1
- ldr r2, =gPlayerParty
- ldr r4, [sp]
- adds r1, r4, 0
- muls r1, r3
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_081A454E:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- str r0, [sp]
- cmp r0, 0x3
- bls _081A448C
- 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_81A447C
-
- thumb_func_start sub_81A457C
-sub_81A457C: @ 81A457C
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sub_81A5030
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A457C
-
- thumb_func_start sub_81A4594
-sub_81A4594: @ 81A4594
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r1
- adds r6, r3, 0
- ldr r1, =gRecordsWindowId
- ldrb r5, [r1]
- lsls r4, r0, 1
- adds r4, r0
- ldr r1, =gText_1Dot
- adds r4, r1
- mov r1, r8
- lsls r3, r1, 27
- lsrs r3, 24
- lsls r1, r0, 2
- adds r1, r0
- adds r2, r1
- lsls r2, 3
- adds r2, 0x1
- lsls r2, 24
- lsrs r7, r2, 24
- str r7, [sp]
- movs r0, 0xFF
- mov r10, r0
- str r0, [sp, 0x4]
- movs r1, 0
- mov r9, r1
- str r1, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized
- movs r0, 0xFF
- strb r0, [r6, 0xD]
- ldrh r0, [r6, 0x4]
- cmp r0, 0
- beq _081A465C
- adds r1, r6, 0x6
- ldrb r2, [r6, 0xE]
- add r0, sp, 0xC
- bl TVShowConvertInternationalString
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- mov r3, r8
- adds r3, 0x2
- lsls r3, 27
- lsrs r3, 24
- str r7, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldrh r1, [r6, 0x4]
- ldr r0, =0x0000270f
- cmp r1, r0
- bls _081A4618
- adds r1, r0, 0
-_081A4618:
- ldr r0, =gStringVar2
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r1, =gUnknown_08611D08
- ldr r0, [sp, 0x4C]
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC8
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- str r7, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
-_081A465C:
- 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_81A4594
-
- thumb_func_start sub_81A4684
-sub_81A4684: @ 81A4684
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- adds r6, r0, 0
- adds r7, r1, 0
- mov r10, r2
- adds r5, r3, 0
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- lsls r2, r6, 1
- adds r2, r6
- ldr r1, =gText_1Dot
- adds r2, r1
- lsls r3, r7, 27
- lsrs r3, 24
- mov r12, r3
- lsls r1, r6, 2
- adds r1, r6
- mov r3, r10
- adds r4, r3, r1
- lsls r1, r4, 3
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- mov r9, r1
- str r1, [sp, 0x4]
- movs r3, 0
- mov r8, r3
- str r3, [sp, 0x8]
- movs r1, 0x1
- mov r3, r12
- bl AddTextPrinterParameterized
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _081A47BC
- movs r0, 0xFF
- strb r0, [r5, 0x11]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r5, 0x19]
- adds r1, r5, 0
- adds r1, 0xA
- ldrb r2, [r5, 0x1A]
- add r0, sp, 0xC
- bl TVShowConvertInternationalString
- ldr r1, =gRecordsWindowId
- ldrb r0, [r1]
- adds r3, r7, 0x2
- lsls r3, 27
- lsrs r3, 24
- subs r1, r4, 0x1
- lsls r1, 3
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- adds r4, r5, 0
- adds r4, 0x12
- adds r0, r4, 0
- bl IsStringJapanese
- cmp r0, 0
- beq _081A4734
- add r0, sp, 0xC
- adds r1, r4, 0
- movs r2, 0x1
- bl TVShowConvertInternationalString
- b _081A473C
- .pool
-_081A4734:
- add r0, sp, 0xC
- adds r1, r4, 0
- bl StringCopy
-_081A473C:
- ldr r2, =gRecordsWindowId
- mov r9, r2
- ldrb r0, [r2]
- adds r3, r7, 0x4
- lsls r3, 27
- lsrs r3, 24
- lsls r1, r6, 2
- adds r1, r6
- mov r2, r10
- adds r6, r2, r1
- adds r1, r6, 0x1
- lsls r1, 3
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r7, 0
- str r7, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldrh r1, [r5, 0x8]
- ldr r0, =0x0000270f
- cmp r1, r0
- bls _081A4778
- adds r1, r0, 0
-_081A4778:
- ldr r0, =gStringVar2
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r5, =gStringVar4
- ldr r0, =gUnknown_08611D08
- ldr r4, [r0, 0x24]
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC8
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r2, r9
- ldrb r0, [r2]
- lsls r1, r6, 3
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
-_081A47BC:
- 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_81A4684
-
- thumb_func_start sub_81A47E0
-sub_81A47E0: @ 81A47E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- mov r9, r0
- mov r10, r1
- str r2, [sp, 0x40]
- movs r0, 0xAC
- lsls r0, 1
- bl AllocZeroed
- mov r8, r0
- bl sub_80E8260
- add r0, sp, 0x30
- mov r12, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r3, [sp, 0x40]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 4
- mov r4, r10
- lsls r0, r4, 1
- add r0, r10
- lsls r0, 5
- adds r1, r0
- adds r4, r1, r2
- mov r3, sp
- movs r2, 0x2
-_081A4820:
- adds r0, r3, 0
- movs r5, 0x87
- lsls r5, 2
- adds r1, r4, r5
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r4, 0x10
- adds r3, 0x10
- subs r2, 0x1
- cmp r2, 0
- bge _081A4820
- ldr r6, [sp, 0x40]
- lsls r0, r6, 4
- mov r7, r10
- lsls r1, r7, 5
- adds r0, r1
- mov r1, r12
- add r0, r8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- movs r2, 0
-_081A4852:
- movs r1, 0
- movs r4, 0
- movs r3, 0
- lsls r5, r2, 4
- adds r6, r2, 0x1
- mov r2, sp
-_081A485E:
- ldrh r0, [r2, 0x4]
- cmp r0, r1
- ble _081A4868
- adds r4, r3, 0
- adds r1, r0, 0
-_081A4868:
- adds r2, 0x10
- adds r3, 0x1
- cmp r3, 0x3
- ble _081A485E
- mov r0, sp
- ldrh r0, [r0, 0x34]
- cmp r0, r1
- blt _081A487A
- movs r4, 0x3
-_081A487A:
- lsls r0, r4, 4
- mov r7, sp
- adds r2, r7, r0
- mov r0, r9
- adds r1, r5, r0
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- strh r0, [r2, 0x4]
- adds r2, r6, 0
- cmp r2, 0x2
- ble _081A4852
- mov r0, r8
- bl Free
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A47E0
-
- thumb_func_start sub_81A48B4
-sub_81A48B4: @ 81A48B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x74
- mov r9, r0
- mov r10, r1
- movs r0, 0xAC
- lsls r0, 1
- bl AllocZeroed
- mov r8, r0
- bl sub_80E8260
- mov r0, sp
- adds r0, 0x54
- str r0, [sp, 0x70]
- add r1, sp, 0x5C
- mov r12, r1
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x54
- mov r2, r10
- muls r2, r0
- adds r0, r2, 0
- adds r3, r0, r1
- mov r2, sp
- movs r4, 0x2
-_081A48EE:
- adds r0, r2, 0
- ldr r5, =0x0000057c
- adds r1, r3, r5
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r3, 0x1C
- adds r2, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _081A48EE
- mov r6, r10
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- add r0, r8
- ldr r1, [sp, 0x70]
- movs r7, 0x90
- lsls r7, 1
- adds r0, r7
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r0]
- str r0, [r1]
- movs r4, 0
-_081A492A:
- movs r1, 0
- movs r5, 0
- movs r3, 0
- lsls r6, r4, 3
- adds r7, r4, 0x1
- mov r2, sp
-_081A4936:
- ldrh r0, [r2, 0x8]
- cmp r0, r1
- ble _081A4940
- adds r5, r3, 0
- adds r1, r0, 0
-_081A4940:
- adds r2, 0x1C
- adds r3, 0x1
- cmp r3, 0x2
- ble _081A4936
- mov r2, r12
- ldrh r0, [r2]
- cmp r0, r1
- blt _081A4952
- movs r5, 0x3
-_081A4952:
- subs r1, r6, r4
- lsls r1, 2
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- mov r3, sp
- adds r2, r3, r0
- add r1, r9
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r4, r7, 0
- cmp r4, 0x2
- ble _081A492A
- mov r0, r8
- bl Free
- add sp, 0x74
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A48B4
-
- thumb_func_start sub_81A4998
-sub_81A4998: @ 81A4998
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x94
- adds r7, r0, 0
- str r1, [sp, 0x90]
- ldr r0, =gStringVar1
- ldr r4, =gUnknown_08611CB0
- lsls r5, r7, 3
- adds r1, r5, r4
- ldr r1, [r1]
- bl StringCopy
- ldr r6, =gStringVar4
- adds r4, 0x4
- adds r5, r4
- ldr r1, [r5]
- adds r0, r6, 0
- bl StringExpandPlaceholders
- ldr r0, =gRecordsWindowId
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x1
- mov r10, r1
- str r1, [sp]
- movs r2, 0xFF
- mov r9, r2
- str r2, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- adds r2, r6, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r1, =gUnknown_08611D00
- ldr r2, [sp, 0x90]
- lsls r0, r2, 2
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xD0
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- mov r1, r8
- ldrb r0, [r1]
- lsls r3, 24
- lsrs r3, 24
- mov r2, r10
- str r2, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized
- cmp r7, 0x9
- bne _081A4A6C
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r1, =0x00000ee8
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r2]
- movs r2, 0xEF
- lsls r2, 4
- adds r0, r2
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- add r4, sp, 0x3C
- adds r0, r4, 0
- ldr r1, [sp, 0x90]
- bl sub_81A48B4
-_081A4A3A:
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x4
- adds r3, r4, 0
- bl sub_81A4684
- adds r4, 0x1C
- adds r5, 0x1
- cmp r5, 0x2
- ble _081A4A3A
- b _081A4A90
- .pool
-_081A4A6C:
- add r0, sp, 0xC
- adds r1, r7, 0
- ldr r2, [sp, 0x90]
- bl sub_81A47E0
- movs r5, 0
- add r4, sp, 0xC
-_081A4A7A:
- str r7, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x4
- adds r3, r4, 0
- bl sub_81A4594
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x2
- ble _081A4A7A
-_081A4A90:
- add sp, 0x94
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81A4998
-
- thumb_func_start sub_81A4AA0
-sub_81A4AA0: @ 81A4AA0
- push {r4,lr}
- ldr r4, =gRecordsWindowId
- ldr r0, =gUnknown_08611C84
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r1, 0
- bl sub_81A4998
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4AA0
-
- thumb_func_start sub_81A4AE8
-sub_81A4AE8: @ 81A4AE8
- push {r4,lr}
- ldr r4, =gRecordsWindowId
- ldrb r0, [r4]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- movs r1, 0x1
- bl sub_81A4998
- ldrb r0, [r4]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4AE8
-
- thumb_func_start sub_81A4B14
-sub_81A4B14: @ 81A4B14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r1, 0
- ldr r3, =gSaveBlock2Ptr
-_081A4B24:
- movs r6, 0
- lsls r0, r1, 1
- adds r2, r1, 0x1
- mov r10, r2
- adds r0, r1
- lsls r0, 5
- mov r8, r0
- movs r7, 0
- movs r0, 0x87
- lsls r0, 2
- add r0, r8
- mov r9, r0
-_081A4B3C:
- movs r5, 0
- adds r2, r7, 0
- mov r1, r8
- adds r4, r7, r1
-_081A4B44:
- ldr r0, [r3]
- add r0, r9
- adds r0, r2
- lsls r1, r5, 4
- adds r0, r1
- movs r1, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl CopyUnalignedWord
- ldr r3, [sp, 0x4]
- ldr r0, [r3]
- adds r0, r4
- ldr r1, =0x00000222
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, r4
- movs r1, 0x88
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- adds r4, 0x10
- adds r5, 0x1
- ldr r2, [sp]
- cmp r5, 0x2
- ble _081A4B44
- adds r7, 0x30
- adds r6, 0x1
- cmp r6, 0x1
- ble _081A4B3C
- mov r1, r10
- cmp r1, 0x8
- ble _081A4B24
- movs r6, 0
- ldr r7, =gSaveBlock2Ptr
- movs r2, 0x54
- mov r10, r2
- movs r3, 0xFF
- mov r9, r3
-_081A4B98:
- adds r0, r6, 0x1
- mov r8, r0
- mov r1, r10
- muls r1, r6
- movs r0, 0x54
- adds r4, r6, 0
- muls r4, r0
- movs r2, 0
- ldr r3, =0x0000057c
- adds r6, r1, r3
- movs r5, 0x2
-_081A4BAE:
- ldr r0, [r7]
- adds r0, r6
- adds r0, r2
- movs r1, 0
- str r2, [sp]
- bl CopyUnalignedWord
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [sp]
- adds r0, r2
- adds r0, 0x4
- movs r1, 0
- bl CopyUnalignedWord
- ldr r1, [r7]
- adds r1, r4
- ldr r0, =0x00000586
- adds r1, r0
- ldrb r0, [r1]
- mov r3, r9
- orrs r0, r3
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, r4
- ldr r0, =0x0000058e
- adds r1, r0
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, r4
- ldr r1, =0x00000584
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- adds r4, 0x1C
- ldr r2, [sp]
- adds r2, 0x1C
- subs r5, 0x1
- cmp r5, 0
- bge _081A4BAE
- mov r6, r8
- cmp r6, 0x1
- ble _081A4B98
- 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_81A4B14
-
- thumb_func_start sub_81A4C30
-sub_81A4C30: @ 81A4C30
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0x96
- lsls r0, 2
- bl AllocZeroed
- adds r7, r0, 0
- adds r4, r7, 0
- movs r5, 0
- movs r0, 0xFA
- lsls r0, 1
- adds r6, r7, r0
- ldr r0, =gPlayerParty
- mov r8, r0
-_081A4C4E:
- mov r0, r8
- adds r1, r5, r0
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r4, 0x64
- adds r5, 0x64
- cmp r4, r6
- ble _081A4C4E
- ldr r4, =gPlayerPartyCount
- ldrb r5, [r4]
- bl LoadPlayerParty
- bl sub_8076D5C
- movs r0, 0x1
- bl TrySavingData
- bl sav2_gender2_inplace_and_xFE
- strb r5, [r4]
- adds r4, r7, 0
- ldr r5, =gPlayerParty
- movs r0, 0xFA
- lsls r0, 1
- adds r6, r7, r0
-_081A4C84:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r4, 0x64
- adds r5, 0x64
- cmp r4, r6
- ble _081A4C84
- adds r0, r7, 0
- bl Free
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4C30
-
- thumb_func_start GetFrontierBrainTrainerPicIndex
-GetFrontierBrainTrainerPicIndex: @ 81A4CB0
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _081A4CD0
- bl GetRecordedBattleFrontierFacility
- lsls r0, 24
- lsrs r0, 24
- b _081A4CDA
- .pool
-_081A4CD0:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
-_081A4CDA:
- ldr r2, =gTrainers
- ldr r1, =gFacilityToBrainTrainerId
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFrontierBrainTrainerPicIndex
-
- thumb_func_start GetFrontierBrainTrainerClass
-GetFrontierBrainTrainerClass: @ 81A4D00
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _081A4D20
- bl GetRecordedBattleFrontierFacility
- lsls r0, 24
- lsrs r0, 24
- b _081A4D2A
- .pool
-_081A4D20:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
-_081A4D2A:
- ldr r2, =gTrainers
- ldr r1, =gFacilityToBrainTrainerId
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFrontierBrainTrainerClass
-
- thumb_func_start CopyFrontierBrainTrainerName
-CopyFrontierBrainTrainerName: @ 81A4D50
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _081A4D70
- bl GetRecordedBattleFrontierFacility
- lsls r0, 24
- lsrs r0, 24
- b _081A4D7A
- .pool
-_081A4D70:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
-_081A4D7A:
- movs r3, 0
- lsls r0, 1
- ldr r2, =gTrainers
- ldr r1, =gFacilityToBrainTrainerId
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x4
- adds r2, r0, r2
-_081A4D90:
- adds r1, r4, r3
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x6
- ble _081A4D90
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyFrontierBrainTrainerName
-
- thumb_func_start sub_81A4DB8
-sub_81A4DB8: @ 81A4DB8
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- ldr r1, =gUnknown_08611C8C
- lsrs r0, 15
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A4DB8
-
- thumb_func_start sub_81A4DD8
-sub_81A4DD8: @ 81A4DD8
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- ldr r2, =0x00004010
- ldr r1, =gUnknown_08611C8C
- lsrs r0, 15
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4DD8
-
- thumb_func_start sub_81A4E04
-sub_81A4E04: @ 81A4E04
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x20]
- bl sub_81A513C
- str r0, [sp, 0x24]
- ldr r0, [sp, 0x20]
- cmp r0, 0x1
- bne _081A4E44
- ldr r0, =0x000003fe
- bl TrainerIdToDomeTournamentId
- lsls r0, 16
- lsrs r0, 16
- bl GetTrainerMonCountInBits
- adds r4, r0, 0
- b _081A4E46
- .pool
-_081A4E44:
- movs r4, 0x7
-_081A4E46:
- bl ZeroEnemyPartyMons
- movs r1, 0
- str r1, [sp, 0x18]
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- movs r2, 0
- str r2, [sp, 0x14]
-_081A4E5C:
- movs r0, 0x1
- ands r0, r4
- asrs r4, 1
- str r4, [sp, 0x30]
- ldr r3, [sp, 0x14]
- adds r3, 0x1
- str r3, [sp, 0x28]
- cmp r0, 0
- bne _081A4E70
- b _081A4FC4
-_081A4E70:
- ldr r4, [sp, 0x14]
- lsls r4, 2
- mov r9, r4
- ldr r0, [sp, 0x24]
- lsls r0, 4
- str r0, [sp, 0x38]
- ldr r1, [sp, 0x20]
- lsls r1, 4
- str r1, [sp, 0x34]
- ldr r2, [sp, 0x1C]
- lsls r2, 24
- str r2, [sp, 0x3C]
- ldr r3, [sp, 0x18]
- adds r3, 0x1
- str r3, [sp, 0x2C]
- ldr r0, [sp, 0x14]
- add r0, r9
- lsls r0, 2
- mov r8, r0
-_081A4E96:
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r7, r4, 16
- lsls r0, 16
- orrs r7, r0
- ldr r0, =0x0000ef2a
- adds r1, r7, 0
- bl IsShinyOtIdPersonality
- lsls r0, 24
- cmp r0, 0
- bne _081A4E96
- ldr r4, [sp, 0x38]
- ldr r1, [sp, 0x24]
- subs r0, r4, r1
- lsls r5, r0, 2
- mov r2, r8
- adds r4, r2, r5
- ldr r3, [sp, 0x34]
- ldr r1, [sp, 0x20]
- subs r0, r3, r1
- lsls r6, r0, 3
- adds r4, r6
- ldr r2, =gUnknown_0861156C
- adds r4, r2
- adds r0, r7, 0
- bl GetNatureFromPersonality
- ldrb r1, [r4, 0x5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _081A4E96
- ldr r4, [sp, 0x18]
- movs r0, 0x64
- adds r3, r4, 0
- muls r3, r0
- mov r8, r3
- ldr r1, =gEnemyParty
- add r1, r8
- mov r10, r1
- ldr r4, [sp, 0x14]
- add r4, r9
- lsls r4, 2
- adds r0, r4, r5
- adds r0, r6
- ldr r2, =gUnknown_0861156C
- adds r0, r2
- ldrh r1, [r0]
- ldr r3, [sp, 0x3C]
- lsrs r2, r3, 24
- ldrb r3, [r0, 0x4]
- movs r0, 0x1
- str r0, [sp]
- str r7, [sp, 0x4]
- str r0, [sp, 0x8]
- ldr r0, =0x0000ef2a
- str r0, [sp, 0xC]
- mov r0, r10
- bl CreateMon
- ldr r0, =gUnknown_0861156C
- adds r5, r0
- adds r5, r6, r5
- adds r4, r5, r4
- adds r4, 0x2
- mov r0, r10
- movs r1, 0xC
- adds r2, r4, 0
- bl SetMonData
- movs r7, 0
- mov r6, r8
- ldr r3, =gEnemyParty
-_081A4F32:
- adds r1, r7, 0
- adds r1, 0x1A
- ldr r0, [sp, 0x14]
- add r0, r9
- lsls r4, r0, 2
- adds r2, r5, r4
- adds r0, r7, 0x6
- adds r2, r0
- adds r0, r6, r3
- str r3, [sp, 0x40]
- bl SetMonData
- adds r7, 0x1
- ldr r3, [sp, 0x40]
- cmp r7, 0x5
- ble _081A4F32
- movs r1, 0xFF
- add r0, sp, 0x10
- strb r1, [r0]
- movs r7, 0
- ldr r1, [sp, 0x18]
- movs r2, 0x64
- adds r6, r1, 0
- muls r6, r2
- ldr r3, =gUnknown_08611578
- mov r8, r3
- ldr r3, =gEnemyParty
- adds r5, r4, 0
-_081A4F6A:
- ldr r4, [sp, 0x38]
- ldr r0, [sp, 0x24]
- subs r1, r4, r0
- lsls r1, 2
- adds r1, r5, r1
- ldr r2, [sp, 0x34]
- ldr r4, [sp, 0x20]
- subs r0, r2, r4
- lsls r0, 3
- adds r1, r0
- add r1, r8
- ldrh r4, [r1]
- lsls r2, r7, 24
- lsrs r2, 24
- adds r0, r6, r3
- adds r1, r4, 0
- str r3, [sp, 0x40]
- bl SetMonMoveSlot
- ldr r3, [sp, 0x40]
- cmp r4, 0xDA
- bne _081A4F9C
- movs r1, 0
- add r0, sp, 0x10
- strb r1, [r0]
-_081A4F9C:
- adds r5, 0x2
- adds r7, 0x1
- cmp r7, 0x3
- ble _081A4F6A
- ldr r0, [sp, 0x18]
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r4, 0
- bl CalculateMonStats
- ldr r2, [sp, 0x2C]
- str r2, [sp, 0x18]
-_081A4FC4:
- ldr r4, [sp, 0x30]
- ldr r3, [sp, 0x28]
- str r3, [sp, 0x14]
- cmp r3, 0x2
- bgt _081A4FD0
- b _081A4E5C
-_081A4FD0:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A4E04
-
- thumb_func_start sub_81A4FF0
-sub_81A4FF0: @ 81A4FF0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x000040cf
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- bl sub_81A513C
- ldr r3, =gUnknown_0861156C
- lsls r2, r4, 2
- adds r2, r4
- lsls r1, r0, 4
- subs r1, r0
- adds r1, r2
- lsls r1, 2
- lsls r0, r5, 4
- subs r0, r5
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldrh r0, [r1]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A4FF0
-
- thumb_func_start sub_81A5030
-sub_81A5030: @ 81A5030
- push {lr}
- lsls r0, 24
- ldr r2, =gTrainerBattleOpponent_A
- ldr r3, =0x000003fe
- adds r1, r3, 0
- strh r1, [r2]
- ldr r2, =0x00004010
- ldr r1, =gUnknown_08611C8C
- lsrs r0, 23
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5030
-
- thumb_func_start sub_81A5060
-sub_81A5060: @ 81A5060
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x000040cf
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- bl sub_81A513C
- ldr r2, =gUnknown_0861156C
- lsls r4, 1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 2
- adds r4, r1
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- adds r4, r1
- lsls r0, r5, 4
- subs r0, r5
- lsls r0, 3
- adds r4, r0
- adds r2, 0xC
- adds r4, r2
- ldrh r0, [r4]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A5060
-
- thumb_func_start sub_81A50B0
-sub_81A50B0: @ 81A50B0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x000040cf
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- bl sub_81A513C
- ldr r3, =gUnknown_0861156C
- lsls r2, r4, 2
- adds r2, r4
- lsls r1, r0, 4
- subs r1, r0
- adds r1, r2
- lsls r1, 2
- lsls r0, r5, 4
- subs r0, r5
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1, 0x5]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A50B0
-
- thumb_func_start sub_81A50F0
-sub_81A50F0: @ 81A50F0
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x000040cf
- bl VarGet
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- bl sub_81A513C
- ldr r2, =gUnknown_0861156C
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 2
- adds r4, r1
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- adds r4, r1
- lsls r0, r5, 4
- subs r0, r5
- lsls r0, 3
- adds r4, r0
- adds r2, 0x6
- adds r4, r2
- ldrb r0, [r4]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A50F0
-
- thumb_func_start sub_81A513C
-sub_81A513C: @ 81A513C
- push {r4,r5,lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_81A3B30
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bne _081A51A0
- bl sub_81A39C4
- lsls r0, 16
- ldr r3, =gUnknown_08611550
- lsls r2, r5, 2
- adds r1, r3, 0x3
- adds r1, r2, r1
- lsrs r0, 16
- ldrb r1, [r1]
- adds r1, r0, r1
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _081A5180
- movs r4, 0
- b _081A51A0
- .pool
-_081A5180:
- adds r0, r3, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r1, r0
- beq _081A519E
- cmp r1, r0
- ble _081A51A0
- subs r0, r1, r0
- adds r1, r3, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- bl __modsi3
- cmp r0, 0
- bne _081A51A0
-_081A519E:
- movs r4, 0x1
-_081A51A0:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81A513C
-
- thumb_func_start sub_81A51A8
-sub_81A51A8: @ 81A51A8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _081A51D4
- bl GetRecordedBattleFrontierFacility
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8185EAC
- lsls r0, 24
- lsrs r1, r0, 24
- b _081A51E4
- .pool
-_081A51D4:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- bl sub_81A513C
- adds r1, r0, 0
-_081A51E4:
- cmp r5, 0
- beq _081A51F4
- cmp r5, 0x1
- beq _081A5214
- b _081A5228
- .pool
-_081A51F4:
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_08611DB0
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _081A5228
- .pool
-_081A5214:
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_08611DB8
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
-_081A5228:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A51A8
-
- thumb_func_start sub_81A5238
-sub_81A5238: @ 81A5238
- push {lr}
- ldr r1, =gUnknown_08611F84
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5238
-
- thumb_func_start sub_81A5258
-sub_81A5258: @ 81A5258
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- ldrb r0, [r5]
- cmp r0, 0xA
- bls _081A5268
- b _081A5544
-_081A5268:
- lsls r0, 2
- ldr r1, =_081A5278
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A5278:
- .4byte _081A52A4
- .4byte _081A52F4
- .4byte _081A531C
- .4byte _081A53B4
- .4byte _081A540C
- .4byte _081A542C
- .4byte _081A544C
- .4byte _081A5490
- .4byte _081A553E
- .4byte _081A54D4
- .4byte _081A5520
-_081A52A4:
- ldr r0, =0x7fffff1c
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x8
- bl BeginNormalPaletteFade
- ldr r1, =0x00003f3e
- movs r0, 0x48
- bl SetGpuReg
- ldr r0, =gUnknown_08611F74
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08D855E8
- movs r1, 0xF8
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, =gBattle_WIN0H
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, =gBattle_WIN0V
- movs r0, 0x70
- strh r0, [r1]
- b _081A553E
- .pool
-_081A52F4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081A5306
- b _081A5544
-_081A5306:
- str r0, [sp]
- movs r0, 0x5
- movs r1, 0
- movs r2, 0x18
- movs r3, 0xD
- bl HandleBattleWindow
- b _081A553E
- .pool
-_081A531C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _081A5328
- b _081A5544
-_081A5328:
- ldr r1, =gBattleTextBuff1
- movs r2, 0xA1
- strb r2, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- ldr r1, =gBattleTextBuff2
- strb r2, [r1]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x1]
- ldr r0, =gText_PlayerMon1Name
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r4, =gDisplayedStringBattle
- adds r0, r4, 0
- movs r1, 0xF
- bl BattlePutTextOnWindow
- ldr r0, =gText_Vs
- movs r1, 0x10
- bl BattlePutTextOnWindow
- ldr r0, =gText_OpponentMon1Name
- bl BattleStringExpandPlaceholdersToDisplayedString
- adds r0, r4, 0
- movs r1, 0x11
- bl BattlePutTextOnWindow
- ldr r0, =gText_Mind
- movs r1, 0x12
- bl BattlePutTextOnWindow
- ldr r0, =gText_Skill
- movs r1, 0x13
- bl BattlePutTextOnWindow
- ldr r0, =gText_Body
- movs r1, 0x14
- bl BattlePutTextOnWindow
- ldr r0, =gText_Judgement
- bl BattleStringExpandPlaceholdersToDisplayedString
- adds r0, r4, 0
- movs r1, 0x15
- bl BattlePutTextOnWindow
- b _081A553E
- .pool
-_081A53B4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- beq _081A53C0
- b _081A5544
-_081A53C0:
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- movs r6, 0x80
- lsls r6, 15
- movs r4, 0x7
-_081A53CE:
- asrs r1, r6, 16
- ldr r0, =gUnknown_08611F5C
- movs r2, 0x54
- movs r3, 0
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 13
- adds r6, r0
- subs r4, 0x1
- cmp r4, 0
- bge _081A53CE
- b _081A553C
- .pool
-_081A540C:
- ldr r0, =0x00000109
- bl PlaySE
- movs r0, 0x50
- movs r1, 0x28
- movs r2, 0
- movs r3, 0
- bl sub_81A5558
- movs r0, 0xA0
- movs r1, 0x28
- movs r2, 0
- b _081A5464
- .pool
-_081A542C:
- ldr r0, =0x00000109
- bl PlaySE
- movs r0, 0x50
- movs r1, 0x38
- movs r2, 0x1
- movs r3, 0
- bl sub_81A5558
- movs r0, 0xA0
- movs r1, 0x38
- movs r2, 0x1
- b _081A5464
- .pool
-_081A544C:
- ldr r0, =0x00000109
- bl PlaySE
- movs r0, 0x50
- movs r1, 0x48
- movs r2, 0x2
- movs r3, 0
- bl sub_81A5558
- movs r0, 0xA0
- movs r1, 0x48
- movs r2, 0x2
-_081A5464:
- movs r3, 0x1
- bl sub_81A5558
- ldr r0, =gText_Judgement
- bl BattleStringExpandPlaceholdersToDisplayedString
- ldr r0, =gDisplayedStringBattle
- movs r1, 0x15
- bl BattlePutTextOnWindow
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- movs r6, 0x1
- b _081A5544
- .pool
-_081A5490:
- movs r0, 0x85
- lsls r0, 1
- bl PlaySE
- ldr r0, =gBattleTextBuff1
- ldr r1, =gBattleTextBuff2
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- bls _081A54BC
- movs r6, 0x2
- ldr r1, =gBattleScripting
- movs r0, 0
- strb r0, [r1, 0x17]
- b _081A553E
- .pool
-_081A54BC:
- cmp r2, r0
- bcs _081A54D0
- movs r6, 0x3
- ldr r1, =gBattleScripting
- movs r0, 0x1
- strb r0, [r1, 0x17]
- b _081A553E
- .pool
-_081A54D0:
- movs r6, 0x4
- b _081A553E
-_081A54D4:
- ldr r1, =0x00003f3e
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x5
- movs r1, 0
- movs r2, 0x18
- movs r3, 0xD
- bl HandleBattleWindow
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gMPlayInfo_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r0, =0x7fffff1c
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x8
- movs r3, 0
- bl BeginNormalPaletteFade
- b _081A553E
- .pool
-_081A5520:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081A5544
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0xFA
- lsls r0, 2
- bl FreeSpriteTilesByTag
-_081A553C:
- movs r6, 0x1
-_081A553E:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
-_081A5544:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A5258
-
- thumb_func_start sub_81A5558
-sub_81A5558: @ 81A5558
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r6, 0
- movs r1, 0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r3, 0xA6
- lsls r3, 2
- adds r4, r0, r3
- ldr r5, =0x0000029a
- adds r3, r0, r5
- adds r5, 0x2
- adds r5, r0
- mov r8, r5
- cmp r2, 0x1
- beq _081A55C4
- cmp r2, 0x1
- bgt _081A55A8
- cmp r2, 0
- beq _081A55B0
- b _081A5612
- .pool
-_081A55A8:
- mov r0, r9
- cmp r0, 0x2
- beq _081A55D8
- b _081A5612
-_081A55B0:
- adds r0, r4, r7
- movs r6, 0
- ldrsb r6, [r0, r6]
- movs r1, 0x1
- adds r0, r7, 0
- eors r0, r1
- adds r0, r4, r0
- movs r1, 0
- ldrsb r1, [r0, r1]
- b _081A5612
-_081A55C4:
- adds r0, r3, r7
- movs r6, 0
- ldrsb r6, [r0, r6]
- movs r1, 0x1
- adds r0, r7, 0
- eors r0, r1
- adds r0, r3, r0
- movs r1, 0
- ldrsb r1, [r0, r1]
- b _081A5612
-_081A55D8:
- ldr r3, =gBattleMons
- mov r9, r3
- movs r5, 0x58
- adds r0, r7, 0
- muls r0, r5
- add r0, r9
- ldrh r0, [r0, 0x28]
- movs r4, 0x64
- muls r0, r4
- lsls r1, r7, 1
- add r1, r8
- ldrh r1, [r1]
- bl __divsi3
- adds r6, r0, 0
- movs r0, 0x1
- adds r1, r7, 0
- eors r1, r0
- adds r0, r1, 0
- muls r0, r5
- add r0, r9
- ldrh r0, [r0, 0x28]
- muls r0, r4
- lsls r1, 1
- add r1, r8
- ldrh r1, [r1]
- bl __divsi3
- adds r1, r0, 0
-_081A5612:
- cmp r6, r1
- ble _081A5638
- movs r4, 0x2
- cmp r7, 0
- beq _081A5628
- ldr r1, =gBattleTextBuff2
- b _081A562A
- .pool
-_081A5628:
- ldr r1, =gBattleTextBuff1
-_081A562A:
- ldrb r0, [r1]
- adds r0, 0x2
- strb r0, [r1]
- b _081A565E
- .pool
-_081A5638:
- cmp r6, r1
- bne _081A565C
- movs r4, 0x1
- cmp r7, 0
- beq _081A564C
- ldr r1, =gBattleTextBuff2
- b _081A564E
- .pool
-_081A564C:
- ldr r1, =gBattleTextBuff1
-_081A564E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081A565E
- .pool
-_081A565C:
- movs r4, 0
-_081A565E:
- ldr r0, =gUnknown_08611F5C
- ldr r1, [sp]
- mov r2, r10
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r4, 0
- bl StartSpriteAnim
- 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_81A5558
-
- thumb_func_start sub_81A5698
-sub_81A5698: @ 81A5698
- push {lr}
- adds r1, r0, 0
- ldr r0, =gBattleCommunication
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _081A56AA
- adds r0, r1, 0
- bl DestroySprite
-_081A56AA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5698
-
- thumb_func_start sub_81A56B4
-sub_81A56B4: @ 81A56B4
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- movs r0, 0xA6
- lsls r0, 2
- adds r1, r2, r0
- adds r0, 0x2
- adds r3, r2, r0
- adds r0, 0x2
- adds r2, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- strb r0, [r3]
- strb r0, [r3, 0x1]
- ldr r0, =gBattleMons
- ldrh r1, [r0, 0x28]
- strh r1, [r2]
- adds r0, 0x80
- ldrh r0, [r0]
- strh r0, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end sub_81A56B4
-
- thumb_func_start sub_81A56E8
-sub_81A56E8: @ 81A56E8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- movs r2, 0xA6
- lsls r2, 2
- adds r1, r2
- adds r1, r0
- ldr r2, =gBattleArenaMoveMindRatings
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A56E8
-
- thumb_func_start sub_81A5718
-sub_81A5718: @ 81A5718
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- ldr r0, =0x0000029a
- adds r5, r2, r0
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _081A57DA
- ldr r0, =0x000002a2
- adds r4, r2, r0
- ldrb r2, [r4]
- ldr r0, =gBitTable
- lsls r1, r3, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _081A576C
- bics r2, r1
- strb r2, [r4]
- adds r1, r5, r3
- ldrb r0, [r1]
- subs r0, 0x2
- b _081A57D8
- .pool
-_081A576C:
- ldr r0, =gMoveResultFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _081A5798
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081A5788
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- beq _081A57DA
-_081A5788:
- adds r1, r5, r3
- ldrb r0, [r1]
- subs r0, 0x2
- b _081A57D8
- .pool
-_081A5798:
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0x6
- bne _081A57A4
- adds r1, r5, r3
- b _081A57D4
-_081A57A4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081A57B4
- adds r1, r5, r3
- ldrb r0, [r1]
- adds r0, 0x2
- b _081A57D8
-_081A57B4:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081A57C4
- adds r1, r5, r3
- ldrb r0, [r1]
- subs r0, 0x1
- b _081A57D8
-_081A57C4:
- ldr r0, =gProtectStructs
- lsls r1, r6, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- bne _081A57DA
- adds r1, r5, r6
-_081A57D4:
- ldrb r0, [r1]
- adds r0, 0x1
-_081A57D8:
- strb r0, [r1]
-_081A57DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5718
-
- thumb_func_start sub_81A57E4
-sub_81A57E4: @ 81A57E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldr r5, =0x0000029a
- adds r3, r0, r5
- movs r0, 0x99
- lsls r0, 1
- cmp r1, r0
- bgt _081A582A
- subs r0, 0x1
- cmp r1, r0
- bge _081A585C
- cmp r1, 0xC5
- bgt _081A581C
- cmp r1, 0xC3
- bge _081A585C
- cmp r1, 0x77
- beq _081A585C
- b _081A5864
- .pool
-_081A581C:
- cmp r1, 0xC7
- blt _081A5864
- cmp r1, 0xCC
- ble _081A585C
- cmp r1, 0xCE
- beq _081A585C
- b _081A5864
-_081A582A:
- ldr r0, =0x00000147
- cmp r1, r0
- beq _081A585C
- cmp r1, r0
- bgt _081A5848
- subs r0, 0x12
- cmp r1, r0
- beq _081A585C
- adds r0, 0x2
- cmp r1, r0
- beq _081A585C
- b _081A5864
- .pool
-_081A5848:
- movs r0, 0xAD
- lsls r0, 1
- cmp r2, r0
- blt _081A5864
- adds r0, 0x1
- cmp r2, r0
- ble _081A585C
- adds r0, 0x3
- cmp r2, r0
- bne _081A5864
-_081A585C:
- adds r1, r3, r4
- ldrb r0, [r1]
- subs r0, 0x3
- strb r0, [r1]
-_081A5864:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81A57E4
-
- thumb_func_start sub_81A586C
-sub_81A586C: @ 81A586C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleStruct
- ldr r3, [r1]
- movs r1, 0xA7
- lsls r1, 2
- adds r3, r1
- lsls r2, r0, 1
- adds r2, r3
- ldr r5, =gBattleMons
- movs r4, 0x58
- adds r1, r0, 0
- muls r1, r4
- adds r1, r5
- ldrh r1, [r1, 0x28]
- strh r1, [r2]
- movs r1, 0x1
- eors r0, r1
- lsls r1, r0, 1
- adds r1, r3
- muls r0, r4
- adds r0, r5
- ldrh r2, [r0, 0x28]
- ldrh r0, [r1]
- cmp r0, r2
- bls _081A58A4
- strh r2, [r1]
-_081A58A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A586C
-
- thumb_func_start sub_81A58B4
-sub_81A58B4: @ 81A58B4
- push {r4-r6,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r3, =0x00000ca9
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x00000ca8
- adds r1, r0
- movs r2, 0
- strb r2, [r1]
- ldr r1, [r4]
- ldr r6, =0x00000cb2
- adds r0, r1, r6
- strh r2, [r0]
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- cmp r5, 0
- beq _081A5914
- ldr r0, [r4]
- ldr r1, =0x00000cdc
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x80
- b _081A591E
- .pool
-_081A5914:
- ldr r0, [r4]
- ldr r3, =0x00000cdc
- adds r0, r3
- ldr r2, [r0]
- movs r0, 0x40
-_081A591E:
- ands r2, r0
- cmp r2, 0
- bne _081A5930
- ldr r0, [r4]
- lsls r1, r5, 1
- ldr r6, =0x00000dda
- adds r0, r6
- adds r0, r1
- strh r2, [r0]
-_081A5930:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- ldr r1, =gTrainerBattleOpponent_A
- movs r0, 0
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A58B4
-
- thumb_func_start sub_81A5964
-sub_81A5964: @ 81A5964
- push {r4,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r1, r0, 30
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081A59B0
- cmp r0, 0x1
- bgt _081A5994
- cmp r0, 0
- beq _081A599A
- b _081A59EE
- .pool
-_081A5994:
- cmp r0, 0x2
- beq _081A59C8
- b _081A59EE
-_081A599A:
- ldr r0, =gSpecialVar_Result
- ldr r2, =0x00000dd8
- adds r1, r3, r2
- ldrh r1, [r1]
- strh r1, [r0]
- b _081A59EE
- .pool
-_081A59B0:
- ldr r2, =gSpecialVar_Result
- lsls r1, 1
- ldr r4, =0x00000dda
- adds r0, r3, r4
- adds r0, r1
- ldrh r0, [r0]
- b _081A59EC
- .pool
-_081A59C8:
- cmp r1, 0
- beq _081A59E0
- ldr r2, =gSpecialVar_Result
- ldr r1, =0x00000cdc
- adds r0, r3, r1
- ldr r0, [r0]
- movs r1, 0x80
- b _081A59EA
- .pool
-_081A59E0:
- ldr r2, =gSpecialVar_Result
- ldr r4, =0x00000cdc
- adds r0, r3, r4
- ldr r0, [r0]
- movs r1, 0x40
-_081A59EA:
- ands r0, r1
-_081A59EC:
- strh r0, [r2]
-_081A59EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5964
-
- thumb_func_start sub_81A59FC
-sub_81A59FC: @ 81A59FC
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, =0x00000ca9
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r1, r0, 30
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081A5A48
- cmp r0, 0x1
- bgt _081A5A2C
- cmp r0, 0
- beq _081A5A32
- b _081A5ABA
- .pool
-_081A5A2C:
- cmp r0, 0x2
- beq _081A5A60
- b _081A5ABA
-_081A5A32:
- ldr r0, =gSpecialVar_0x8006
- ldrh r1, [r0]
- ldr r3, =0x00000dd8
- adds r0, r2, r3
- strh r1, [r0]
- b _081A5ABA
- .pool
-_081A5A48:
- lsls r1, 1
- ldr r3, =0x00000dda
- adds r0, r2, r3
- adds r0, r1
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- strh r1, [r0]
- b _081A5ABA
- .pool
-_081A5A60:
- cmp r1, 0
- beq _081A5A90
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A5A80
- ldr r1, =0x00000cdc
- adds r0, r2, r1
- ldr r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- b _081A5AB8
- .pool
-_081A5A80:
- ldr r3, =0x00000cdc
- adds r0, r2, r3
- ldr r1, [r0]
- movs r2, 0x81
- negs r2, r2
- b _081A5AB6
- .pool
-_081A5A90:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A5AAC
- ldr r1, =0x00000cdc
- adds r0, r2, r1
- ldr r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- b _081A5AB8
- .pool
-_081A5AAC:
- ldr r3, =0x00000cdc
- adds r0, r2, r3
- ldr r1, [r0]
- movs r2, 0x41
- negs r2, r2
-_081A5AB6:
- ands r1, r2
-_081A5AB8:
- str r1, [r0]
-_081A5ABA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A59FC
-
- thumb_func_start sub_81A5AC4
-sub_81A5AC4: @ 81A5AC4
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5AC4
-
- thumb_func_start sub_81A5B08
-sub_81A5B08: @ 81A5B08
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r2, =0x00000dda
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0x29
- bls _081A5B58
- bl Random
- ldr r4, [r4]
- ldr r5, =gUnknown_08611FAC
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, =0x00000dd8
- adds r4, r1
- b _081A5B76
- .pool
-_081A5B58:
- bl Random
- ldr r4, [r4]
- ldr r5, =gUnknown_08611FA0
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- ldr r2, =0x00000dd8
- adds r4, r2
-_081A5B76:
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5B08
-
- thumb_func_start sub_81A5B88
-sub_81A5B88: @ 81A5B88
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000dd8
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081A5BD0
- ldr r0, [r4]
- ldr r1, =0x00000dd8
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000dd8
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081A5BD6
- .pool
-_081A5BD0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081A5BD6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5B88
-
- thumb_func_start sub_81A5BE0
-sub_81A5BE0: @ 81A5BE0
- push {lr}
- ldr r0, =gStringVar1
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl GetFrontierTrainerName
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5BE0
-
- thumb_func_start sub_81A5BF8
-sub_81A5BF8: @ 81A5BF8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- movs r0, 0x1B
- mov r8, r0
- movs r5, 0x7
- movs r4, 0x1
- str r4, [sp]
- movs r6, 0x6
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0xFE
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x20
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x31
- movs r2, 0
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x33
- movs r2, 0x1
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- mov r0, r8
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x34
- movs r2, 0x2
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- movs r0, 0x1C
- mov r8, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x35
- movs r2, 0x1C
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x36
- movs r2, 0x1D
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r6, 0x5
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x37
- movs r2, 0
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- mov r0, r8
- str r0, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3A
- movs r2, 0x1D
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000831
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000833
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000834
- movs r0, 0x1A
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0x2
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000835
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0x1C
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000836
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5BF8
-
- thumb_func_start sub_81A5D44
-sub_81A5D44: @ 81A5D44
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- movs r5, 0
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- movs r6, 0x4
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- movs r0, 0x1B
- mov r8, r0
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x5
- movs r2, 0x2
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x6
- movs r2, 0x1C
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x7
- movs r2, 0x1D
- movs r3, 0xE
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x9
- movs r2, 0x1
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- mov r0, r8
- str r0, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x2
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0xB
- movs r2, 0x1C
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0xF
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0xD
- movs r2, 0
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- mov r0, r8
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0xF
- movs r2, 0x2
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1C
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x11
- movs r2, 0x1D
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81A5D44
-
- thumb_func_start sub_81A5E74
-sub_81A5E74: @ 81A5E74
- push {lr}
- ldr r1, =gUnknown_08612120
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5E74
-
- thumb_func_start sub_81A5E94
-sub_81A5E94: @ 81A5E94
- push {r4-r7,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r4, =0x00000ca9
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r7, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r5]
- ldr r1, =0x00000ca8
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r5]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r4, [r5]
- ldr r0, =0x00000cdc
- adds r3, r4, r0
- ldr r2, =gUnknown_08612164
- lsls r0, r7, 2
- lsls r1, r6, 3
- adds r0, r1
- adds r0, r2
- ldr r3, [r3]
- ldr r0, [r0]
- ands r3, r0
- cmp r3, 0
- bne _081A5F0A
- lsls r1, r7, 1
- lsls r0, r6, 2
- adds r1, r0
- ldr r2, =0x00000de2
- adds r0, r4, r2
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x10
- adds r0, r4, r2
- adds r0, r1
- strh r3, [r0]
-_081A5F0A:
- ldr r1, =gUnknown_03001288
- movs r0, 0
- strb r0, [r1]
- movs r2, 0
- ldr r6, =gSaveBlock1Ptr
- movs r4, 0xE7
- lsls r4, 4
- ldr r0, =0x0000ffff
- adds r3, r0, 0
-_081A5F1C:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, r4
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _081A5F1C
- movs r2, 0
- ldr r4, =gUnknown_03006298
- ldr r1, =0x0000ffff
- adds r3, r1, 0
-_081A5F40:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r1, [r0]
- orrs r1, r3
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _081A5F40
- ldr r0, [r6]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- ldr r1, =gTrainerBattleOpponent_A
- movs r0, 0
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5E94
-
- thumb_func_start sub_81A5FA8
-sub_81A5FA8: @ 81A5FA8
- push {r4-r7,lr}
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r6, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _081A6000
- cmp r0, 0x2
- bgt _081A5FE4
- cmp r0, 0x1
- beq _081A5FEA
- b _081A6044
- .pool
-_081A5FE4:
- cmp r0, 0x3
- beq _081A6030
- b _081A6044
-_081A5FEA:
- ldr r3, =gSpecialVar_Result
- ldr r0, [r7]
- lsls r1, r6, 1
- lsls r2, r5, 2
- adds r1, r2
- ldr r2, =0x00000de2
- b _081A603C
- .pool
-_081A6000:
- ldr r4, =gSpecialVar_Result
- ldr r2, [r7]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_08612164
- lsls r0, r6, 2
- lsls r1, r5, 3
- adds r0, r1
- adds r0, r3
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- strh r0, [r4]
- b _081A6044
- .pool
-_081A6030:
- ldr r3, =gSpecialVar_Result
- ldr r0, [r7]
- lsls r1, r6, 1
- lsls r2, r5, 2
- adds r1, r2
- ldr r2, =0x00000df2
-_081A603C:
- adds r0, r2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
-_081A6044:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A5FA8
-
- thumb_func_start sub_81A6054
-sub_81A6054: @ 81A6054
- push {r4-r6,lr}
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _081A60B4
- cmp r0, 0x2
- bgt _081A6090
- cmp r0, 0x1
- beq _081A6096
- b _081A6128
- .pool
-_081A6090:
- cmp r0, 0x3
- beq _081A6108
- b _081A6128
-_081A6096:
- ldr r2, [r6]
- lsls r0, r5, 1
- lsls r1, r4, 2
- adds r0, r1
- ldr r1, =0x00000de2
- adds r2, r1
- adds r2, r0
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- strh r0, [r2]
- b _081A6128
- .pool
-_081A60B4:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A60E4
- ldr r2, [r6]
- ldr r0, =0x00000cdc
- adds r2, r0
- ldr r3, =gUnknown_08612164
- lsls r1, r5, 2
- lsls r0, r4, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- orrs r0, r1
- str r0, [r2]
- b _081A6128
- .pool
-_081A60E4:
- ldr r2, [r6]
- ldr r1, =0x00000cdc
- adds r2, r1
- ldr r3, =gUnknown_08612174
- lsls r1, r5, 2
- lsls r0, r4, 3
- adds r1, r0
- adds r1, r3
- ldr r0, [r2]
- ldr r1, [r1]
- ands r0, r1
- str r0, [r2]
- b _081A6128
- .pool
-_081A6108:
- ldr r3, =gUnknown_03001288
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _081A6128
- ldr r2, [r6]
- lsls r0, r5, 1
- lsls r1, r4, 2
- adds r0, r1
- ldr r1, =0x00000df2
- adds r2, r1
- adds r2, r0
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- strb r1, [r3]
-_081A6128:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A6054
-
- thumb_func_start sub_81A613C
-sub_81A613C: @ 81A613C
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A613C
-
- thumb_func_start nullsub_75
-nullsub_75: @ 81A6180
- bx lr
- thumb_func_end nullsub_75
-
- thumb_func_start nullsub_123
-nullsub_123: @ 81A6184
- bx lr
- thumb_func_end nullsub_123
-
- thumb_func_start sub_81A6188
-sub_81A6188: @ 81A6188
- push {lr}
- bl ZeroPlayerPartyMons
- bl DoBattleFactorySelectScreen
- pop {r0}
- bx r0
- thumb_func_end sub_81A6188
-
- thumb_func_start sub_81A6198
-sub_81A6198: @ 81A6198
- push {lr}
- bl DoBattleFactorySwapScreen
- pop {r0}
- bx r0
- thumb_func_end sub_81A6198
-
- thumb_func_start sub_81A61A4
-sub_81A61A4: @ 81A61A4
- ldr r1, =gUnknown_03001288
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A61A4
-
- thumb_func_start sub_81A61B0
-sub_81A61B0: @ 81A61B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- str r0, [sp, 0x10]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- ldr r1, [r4]
- ldr r3, [sp, 0x10]
- lsls r2, r3, 1
- lsrs r0, 14
- adds r2, r0
- ldr r6, =0x00000de2
- adds r1, r6
- adds r1, r2
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- ldr r2, =gFacilityTrainers
- ldr r1, =gBattleFrontierTrainers
- str r1, [r2]
- ldr r5, =0x00000cb2
- lsls r0, 24
- str r0, [sp, 0x20]
- mov r8, r0
-_081A61FA:
- ldr r0, [r4]
- adds r0, r5
- ldrb r1, [r0]
- mov r2, r8
- lsrs r0, r2, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- movs r7, 0
- ldr r1, [r4]
- adds r0, r1, r5
- ldr r6, [sp, 0x10]
- lsls r6, 24
- str r6, [sp, 0x1C]
- ldrh r0, [r0]
- cmp r7, r0
- bge _081A6244
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r6, =gSaveBlock2Ptr
- cmp r0, r3
- beq _081A6244
- ldr r1, [r6]
- ldr r6, =0x00000cb2
- adds r0, r1, r6
- ldrh r2, [r0]
- ldr r0, =0x00000cb4
- adds r1, r0
-_081A6236:
- adds r1, 0x2
- adds r7, 0x1
- cmp r7, r2
- bge _081A6244
- ldrh r0, [r1]
- cmp r0, r3
- bne _081A6236
-_081A6244:
- ldr r0, [r4]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldr r6, =gSaveBlock2Ptr
- ldrh r0, [r0]
- cmp r7, r0
- bne _081A61FA
- ldr r0, =gTrainerBattleOpponent_A
- strh r3, [r0]
- ldr r2, [r6]
- adds r1, r2, r1
- ldrh r0, [r1]
- cmp r0, 0x5
- bhi _081A626C
- adds r1, r0, 0
- lsls r1, 1
- ldr r4, =0x00000cb4
- adds r0, r2, r4
- adds r0, r1
- strh r3, [r0]
-_081A626C:
- movs r7, 0
- mov r10, sp
- movs r6, 0
- lsls r6, 1
- str r6, [sp, 0x14]
- add r6, sp
- str r6, [sp, 0x18]
-_081A627A:
- ldr r1, [sp, 0x1C]
- lsrs r0, r1, 24
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 24
- movs r2, 0
- bl sub_81A6EF0
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r4, =gFacilityTrainerMons
- ldr r2, [r4]
- lsls r1, r0, 4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0xC9
- beq _081A636E
- movs r3, 0
- ldr r6, =gSaveBlock2Ptr
- mov r8, r1
- adds r5, r0, 0
- ldr r1, [r6]
-_081A62A6:
- movs r4, 0xE7
- lsls r4, 4
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 4
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- beq _081A62C0
- adds r1, 0xC
- adds r3, 0x1
- cmp r3, 0x5
- ble _081A62A6
-_081A62C0:
- cmp r3, 0x6
- bne _081A636E
- ldr r6, [sp, 0x10]
- cmp r6, 0
- bne _081A62D0
- ldr r0, =0x00000351
- cmp r9, r0
- bhi _081A636E
-_081A62D0:
- movs r2, 0
- adds r4, r2, r7
- cmp r2, r4
- bge _081A6302
- ldr r1, [sp, 0x18]
- ldrh r0, [r1]
- cmp r0, r5
- beq _081A6302
- adds r6, r4, 0
- ldr r3, =gFacilityTrainerMons
- mov r12, r3
- mov r5, r8
- ldr r3, [sp, 0x14]
- add r3, sp
-_081A62EC:
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, r6
- bge _081A6302
- mov r1, r12
- ldr r0, [r1]
- adds r0, r5, r0
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r1, r0
- bne _081A62EC
-_081A6302:
- cmp r2, r4
- bne _081A636E
- movs r2, 0
- cmp r2, r4
- bge _081A633E
- ldr r3, =gBattleFrontierHeldItems
- mov r12, r3
- add r0, sp, 0x8
- ldr r6, [sp, 0x14]
- adds r3, r0, r6
- mov r0, r8
- str r0, [sp, 0x24]
- adds r5, r4, 0
-_081A631C:
- ldrh r1, [r3]
- cmp r1, 0
- beq _081A6336
- ldr r6, =gFacilityTrainerMons
- ldr r0, [r6]
- ldr r6, [sp, 0x24]
- adds r0, r6, r0
- ldrb r0, [r0, 0xA]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r1, r0
- beq _081A633E
-_081A6336:
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, r5
- blt _081A631C
-_081A633E:
- cmp r2, r4
- bne _081A636E
- lsls r4, r7, 1
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- add r1, r8
- ldrh r0, [r1]
- mov r2, r10
- strh r0, [r2]
- add r2, sp, 0x8
- adds r2, r4
- ldr r3, =gBattleFrontierHeldItems
- ldrb r0, [r1, 0xA]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r0, =gUnknown_03006298
- adds r4, r0
- mov r3, r9
- strh r3, [r4]
- movs r4, 0x2
- add r10, r4
- adds r7, 0x1
-_081A636E:
- cmp r7, 0x3
- bne _081A627A
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A61B0
-
- thumb_func_start sub_81A63B8
-sub_81A63B8: @ 81A63B8
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- bl sub_8162614
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A63B8
-
- thumb_func_start sub_81A63CC
-sub_81A63CC: @ 81A63CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _081A63FC
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- b _081A6400
- .pool
-_081A63FC:
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gSlateportBattleTentMons
-_081A6400:
- str r0, [r1]
- movs r7, 0
- ldr r2, =gSaveBlock2Ptr
- mov r8, r2
-_081A6408:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r7, 0x3
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- adds r1, r4
- ldr r0, =gUnknown_03006298
- lsls r6, r7, 1
- adds r6, r0
- ldrh r0, [r6]
- movs r2, 0xE7
- lsls r2, 4
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x64
- adds r5, r7, 0
- muls r5, r0
- ldr r0, =gEnemyParty
- adds r5, r0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- adds r1, r4
- ldr r2, =0x00000e78
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r2, =0x00000e74
- adds r1, r2
- adds r1, r4
- str r0, [r1]
- adds r0, r5, 0
- movs r1, 0x2E
- movs r2, 0
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- adds r1, r4
- ldr r2, =0x00000e79
- adds r1, r2
- strb r0, [r1]
- ldrh r1, [r6]
- ldr r0, =gFacilityTrainerMons
- ldr r0, [r0]
- lsls r1, 4
- adds r1, r0
- ldrb r2, [r1, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl SetMonData
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _081A6408
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A63CC
-
- thumb_func_start sub_81A64C4
-sub_81A64C4: @ 81A64C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r3, 0x3
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0x2
- bne _081A6500
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gSlateportBattleTentMons
- str r0, [r1]
- movs r2, 0x1E
- str r2, [sp, 0x14]
- b _081A6518
- .pool
-_081A6500:
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- movs r4, 0x32
- str r4, [sp, 0x14]
- cmp r0, 0
- beq _081A6518
- movs r5, 0x64
- str r5, [sp, 0x14]
-_081A6518:
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _081A6522
- b _081A666C
-_081A6522:
- bl ZeroPlayerPartyMons
- movs r0, 0
- mov r8, r0
- mov r1, sp
- adds r1, 0x12
- str r1, [sp, 0x1C]
- ldr r2, =gFacilityTrainerMons
- mov r9, r2
-_081A6534:
- ldr r4, =gSaveBlock2Ptr
- ldr r2, [r4]
- mov r5, r8
- lsls r5, 1
- mov r10, r5
- mov r3, r10
- add r3, r8
- lsls r3, 2
- adds r1, r2, r3
- movs r4, 0xE7
- lsls r4, 4
- adds r0, r1, r4
- ldrh r7, [r0]
- ldr r5, =0x00000e78
- adds r1, r5
- ldrb r6, [r1]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- mov r4, r9
- ldr r1, [r4]
- lsls r4, r7, 4
- adds r1, r4, r1
- ldrh r1, [r1]
- movs r5, 0x1
- str r5, [sp]
- ldr r5, =0x00000e74
- adds r2, r5
- adds r2, r3
- ldr r2, [r2]
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r2, [sp, 0x14]
- adds r3, r6, 0
- bl CreateMon
- movs r1, 0
- mov r2, r9
- ldr r0, [r2]
- adds r4, r0
- ldrb r4, [r4, 0xB]
- mov r5, r8
- adds r5, 0x1
- str r5, [sp, 0x18]
- movs r5, 0x5
-_081A6596:
- adds r0, r4, 0
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _081A65A2
- adds r1, 0x1
-_081A65A2:
- lsrs r4, 1
- subs r5, 0x1
- cmp r5, 0
- bge _081A6596
- movs r0, 0xFF
- lsls r0, 1
- bl __divsi3
- add r1, sp, 0x10
- strh r0, [r1]
- movs r4, 0x1
- movs r5, 0
- lsls r7, 4
- movs r0, 0x64
- mov r6, r8
- muls r6, r0
- ldr r3, =gPlayerParty
-_081A65C4:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- ldrb r0, [r0, 0xB]
- ands r0, r4
- cmp r0, 0
- beq _081A65E2
- adds r1, r5, 0
- adds r1, 0x1A
- adds r0, r6, r3
- add r2, sp, 0x10
- str r3, [sp, 0x20]
- bl SetMonData
- ldr r3, [sp, 0x20]
-_081A65E2:
- lsls r0, r4, 25
- lsrs r4, r0, 24
- adds r5, 0x1
- cmp r5, 0x5
- ble _081A65C4
- movs r2, 0x64
- mov r4, r8
- muls r4, r2
- ldr r5, =gPlayerParty
- adds r0, r4, r5
- bl CalculateMonStats
- movs r0, 0
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- movs r6, 0
-_081A6602:
- mov r2, r9
- ldr r0, [r2]
- adds r0, r7, r0
- lsls r1, r6, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, r6, 24
- lsrs r2, 24
- adds r0, r4, r5
- bl SetMonMoveAvoidReturn
- adds r6, 0x1
- cmp r6, 0x3
- ble _081A6602
- movs r5, 0x64
- mov r4, r8
- muls r4, r5
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x1C]
- bl SetMonData
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r2, r10
- add r2, r8
- lsls r2, 2
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- adds r2, r0
- ldr r0, =0x00000e79
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2E
- bl SetMonData
- ldr r1, [sp, 0x18]
- mov r8, r1
- cmp r1, 0x2
- bgt _081A666C
- b _081A6534
-_081A666C:
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A667A
- cmp r0, 0x2
- beq _081A667A
- b _081A67AE
-_081A667A:
- movs r2, 0
- mov r8, r2
- ldr r4, =gFacilityTrainerMons
- mov r9, r4
-_081A6682:
- ldr r5, =gSaveBlock2Ptr
- ldr r3, [r5]
- mov r0, r8
- adds r0, 0x3
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r1, r3, r2
- movs r4, 0xE7
- lsls r4, 4
- adds r0, r1, r4
- ldrh r7, [r0]
- ldr r5, =0x00000e78
- adds r1, r5
- ldrb r6, [r1]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- mov r4, r9
- ldr r1, [r4]
- lsls r4, r7, 4
- adds r1, r4, r1
- ldrh r1, [r1]
- movs r5, 0x1
- str r5, [sp]
- ldr r5, =0x00000e74
- adds r3, r5
- adds r3, r2
- ldr r2, [r3]
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r2, [sp, 0x14]
- adds r3, r6, 0
- bl CreateMon
- movs r1, 0
- mov r2, r9
- ldr r0, [r2]
- adds r4, r0
- ldrb r4, [r4, 0xB]
- mov r5, r8
- lsls r5, 1
- mov r10, r5
- mov r0, r8
- adds r0, 0x1
- str r0, [sp, 0x18]
- movs r5, 0x5
-_081A66E8:
- adds r0, r4, 0
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _081A66F4
- adds r1, 0x1
-_081A66F4:
- lsrs r4, 1
- subs r5, 0x1
- cmp r5, 0
- bge _081A66E8
- add r4, sp, 0x10
- movs r0, 0xFF
- lsls r0, 1
- bl __divsi3
- strh r0, [r4]
- movs r4, 0x1
- movs r5, 0
- lsls r7, 4
- movs r0, 0x64
- mov r6, r8
- muls r6, r0
- ldr r3, =gEnemyParty
-_081A6716:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- ldrb r0, [r0, 0xB]
- ands r0, r4
- cmp r0, 0
- beq _081A6734
- adds r1, r5, 0
- adds r1, 0x1A
- adds r0, r6, r3
- add r2, sp, 0x10
- str r3, [sp, 0x20]
- bl SetMonData
- ldr r3, [sp, 0x20]
-_081A6734:
- lsls r0, r4, 25
- lsrs r4, r0, 24
- adds r5, 0x1
- cmp r5, 0x5
- ble _081A6716
- movs r2, 0x64
- mov r4, r8
- muls r4, r2
- ldr r5, =gEnemyParty
- adds r0, r4, r5
- bl CalculateMonStats
- movs r6, 0
-_081A674E:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7, r0
- lsls r1, r6, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, r6, 24
- lsrs r2, 24
- adds r0, r4, r5
- bl SetMonMoveAvoidReturn
- adds r6, 0x1
- cmp r6, 0x3
- ble _081A674E
- movs r2, 0x64
- mov r4, r8
- muls r4, r2
- ldr r0, =gEnemyParty
- adds r4, r0
- mov r5, r9
- ldr r0, [r5]
- adds r0, r7, r0
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r2, r10
- add r2, r8
- lsls r2, 2
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- adds r2, r0
- ldr r5, =0x00000e9d
- adds r2, r5
- adds r0, r4, 0
- movs r1, 0x2E
- bl SetMonData
- ldr r0, [sp, 0x18]
- mov r8, r0
- cmp r0, 0x2
- bgt _081A67AE
- b _081A6682
-_081A67AE:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A64C4
-
- thumb_func_start sub_81A67EC
-sub_81A67EC: @ 81A67EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- mov r0, sp
- adds r0, 0xC
- str r0, [sp, 0x38]
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x3C]
- ldr r2, =gSaveBlock2Ptr
- mov r9, r2
- movs r2, 0
- adds r3, r1, 0
- adds r1, r0, 0
- mov r0, sp
- movs r4, 0x5
- mov r8, r4
-_081A681A:
- strh r2, [r0]
- strh r2, [r1]
- strh r2, [r3]
- adds r3, 0x2
- adds r1, 0x2
- adds r0, 0x2
- movs r5, 0x1
- negs r5, r5
- add r8, r5
- mov r4, r8
- cmp r4, 0
- bge _081A681A
- mov r5, r9
- ldr r0, [r5]
- ldr r7, =0x00000ca9
- adds r0, r7
- ldrb r4, [r0]
- lsls r4, 30
- lsrs r4, 30
- ldr r6, =0x000040ce
- adds r0, r6, 0
- bl VarGet
- lsls r0, 24
- ldr r1, [r5]
- lsls r4, 1
- lsrs r0, 22
- adds r4, r0
- ldr r5, =0x00000de2
- adds r1, r5
- adds r1, r4
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- adds r0, r6, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r2, 0
- cmp r0, 0x1
- bne _081A6878
- movs r2, 0x1
-_081A6878:
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081A68B4
- movs r4, 0x1
- str r4, [sp, 0x28]
- b _081A68B8
- .pool
-_081A68B4:
- movs r5, 0
- str r5, [sp, 0x28]
-_081A68B8:
- adds r0, r2, 0
- ldr r1, [sp, 0x28]
- bl sub_81A6F70
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x2C]
- movs r0, 0
- mov r10, r0
- mov r8, r0
- ldr r1, [sp, 0x3C]
- str r1, [sp, 0x40]
- mov r2, sp
- str r2, [sp, 0x44]
- lsls r4, r0, 1
- str r4, [sp, 0x30]
- ldr r5, [sp, 0x38]
- adds r5, r4
- str r5, [sp, 0x34]
-_081A68DE:
- ldr r0, [sp, 0x2C]
- cmp r8, r0
- bge _081A68EC
- ldr r0, [sp, 0x28]
- ldr r1, [sp, 0x24]
- movs r2, 0x1
- b _081A68F2
-_081A68EC:
- ldr r0, [sp, 0x28]
- ldr r1, [sp, 0x24]
- movs r2, 0
-_081A68F2:
- bl sub_81A6EF0
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- lsls r2, r7, 4
- adds r4, r2, r1
- ldrh r1, [r4]
- mov r9, r2
- cmp r1, 0xC9
- beq _081A69E2
- movs r3, 0
- mov r2, r8
- adds r6, r3, r2
- cmp r3, r6
- bge _081A6950
- ldr r5, [sp, 0x34]
- ldrh r0, [r5]
- cmp r0, r7
- beq _081A6950
- mov r12, r4
- adds r2, r1, 0
- lsls r4, r3, 1
- ldr r1, [sp, 0x30]
- add r1, sp
- str r6, [sp, 0x48]
-_081A6928:
- ldrh r0, [r1]
- cmp r0, r2
- bne _081A693A
- mov r0, r10
- cmp r0, 0
- bne _081A6950
- mov r5, r12
- ldrh r5, [r5]
- mov r10, r5
-_081A693A:
- adds r4, 0x2
- adds r1, 0x2
- adds r3, 0x1
- ldr r0, [sp, 0x48]
- cmp r3, r0
- bge _081A6950
- ldr r5, [sp, 0x38]
- adds r0, r5, r4
- ldrh r0, [r0]
- cmp r0, r7
- bne _081A6928
-_081A6950:
- cmp r3, r6
- bne _081A69E2
- movs r3, 0
- cmp r3, r6
- bge _081A699C
- ldr r0, =gBattleFrontierHeldItems
- mov r12, r0
- ldr r1, [sp, 0x30]
- ldr r2, [sp, 0x3C]
- adds r5, r1, r2
-_081A6964:
- ldrh r4, [r5]
- cmp r4, 0
- beq _081A6994
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- mov r2, r9
- adds r1, r2, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- cmp r4, r0
- bne _081A6994
- ldrh r0, [r1]
- cmp r0, r10
- bne _081A699C
- movs r4, 0
- mov r10, r4
- b _081A699C
- .pool
-_081A6994:
- adds r5, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _081A6964
-_081A699C:
- cmp r3, r6
- bne _081A69E2
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r5, r8
- lsls r3, r5, 1
- adds r0, r3, r5
- lsls r0, 2
- adds r1, r0
- movs r0, 0xE7
- lsls r0, 4
- adds r1, r0
- strh r7, [r1]
- ldr r2, =gFacilityTrainerMons
- ldr r1, [r2]
- add r1, r9
- ldrh r0, [r1]
- ldr r4, [sp, 0x44]
- strh r0, [r4]
- ldr r2, =gBattleFrontierHeldItems
- ldrb r0, [r1, 0xA]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- ldr r5, [sp, 0x40]
- strh r0, [r5]
- ldr r0, [sp, 0x38]
- adds r3, r0, r3
- strh r7, [r3]
- adds r5, 0x2
- str r5, [sp, 0x40]
- adds r4, 0x2
- str r4, [sp, 0x44]
- movs r1, 0x1
- add r8, r1
-_081A69E2:
- mov r2, r8
- cmp r2, 0x6
- beq _081A69EA
- b _081A68DE
-_081A69EA:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A67EC
-
- thumb_func_start sub_81A6A08
-sub_81A6A08: @ 81A6A08
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- movs r4, 0
- add r5, sp, 0x14
- ldr r7, =gSpecialVar_Result
- movs r1, 0
-_081A6A1E:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x11
- bls _081A6A1E
- movs r4, 0
- ldr r0, =gUnknown_03006298
- mov r8, r0
- ldr r0, =gFacilityTrainerMons
- ldr r6, [r0]
- ldr r1, =gBaseStats
- mov r12, r1
-_081A6A3C:
- lsls r0, r4, 1
- add r0, r8
- ldrh r0, [r0]
- lsls r0, 4
- adds r0, r6
- ldrh r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r2, r12
- adds r3, r0, r2
- ldrb r2, [r3, 0x6]
- mov r0, sp
- adds r1, r0, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r1, [r3, 0x7]
- cmp r2, r1
- beq _081A6A70
- ldrb r0, [r3, 0x7]
- mov r2, sp
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081A6A70:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081A6A3C
- movs r0, 0
- strb r0, [r5]
- strb r0, [r5, 0x1]
- movs r4, 0x1
- adds r3, r5, 0
-_081A6A84:
- ldrb r0, [r3]
- add r0, sp
- mov r2, sp
- adds r1, r2, r4
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- bcs _081A6AAC
- strb r4, [r5]
- b _081A6AB2
- .pool
-_081A6AAC:
- cmp r2, r0
- bne _081A6AB2
- strb r4, [r3, 0x1]
-_081A6AB2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x11
- bls _081A6A84
- ldrb r1, [r5]
- mov r4, sp
- adds r0, r4, r1
- ldrb r2, [r0]
- cmp r2, 0
- beq _081A6ADA
- ldrb r3, [r5, 0x1]
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r2, r0
- bhi _081A6AD6
- cmp r1, r3
- bne _081A6ADA
-_081A6AD6:
- strh r1, [r7]
- b _081A6ADE
-_081A6ADA:
- movs r0, 0x12
- strh r0, [r7]
-_081A6ADE:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81A6A08
-
- thumb_func_start sub_81A6AEC
-sub_81A6AEC: @ 81A6AEC
- push {r4-r7,lr}
- sub sp, 0x8
- movs r7, 0
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- movs r4, 0
- movs r1, 0
-_081A6AFC:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081A6AFC
- movs r4, 0
-_081A6B0E:
- ldr r1, =gUnknown_03006298
- lsls r0, r4, 1
- adds r0, r1
- ldrh r6, [r0]
- movs r5, 0
-_081A6B18:
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- lsls r0, r6, 4
- adds r0, r1
- lsls r1, r5, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r0, [r0]
- bl sub_81A6BA4
- lsls r0, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081A6B18
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081A6B0E
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r4, 0x1
- adds r5, r1, 0
- ldr r3, =gBattleFactoryStyleRequiredMoveCounts
- adds r2, r5, 0
-_081A6B5C:
- mov r1, sp
- adds r0, r1, r4
- subs r1, r4, 0x1
- adds r1, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _081A6B74
- strh r4, [r2]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_081A6B74:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081A6B5C
- cmp r7, 0x2
- bls _081A6B86
- movs r0, 0x8
- strh r0, [r5]
-_081A6B86:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A6AEC
-
- thumb_func_start sub_81A6BA4
-sub_81A6BA4: @ 81A6BA4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r2, 0
- ldr r6, =gBattleFactoryStyleMoveListPointers
-_081A6BAE:
- movs r3, 0
- lsls r0, r2, 2
- adds r0, r6
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r4, r2, 0x1
- cmp r0, 0
- beq _081A6BE4
- lsls r0, r4, 24
- lsrs r2, r0, 24
-_081A6BC2:
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- bne _081A6BD4
- adds r0, r2, 0
- b _081A6BEE
- .pool
-_081A6BD4:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _081A6BC2
-_081A6BE4:
- lsls r0, r4, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _081A6BAE
- movs r0, 0
-_081A6BEE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81A6BA4
-
- thumb_func_start sub_81A6BF4
-sub_81A6BF4: @ 81A6BF4
- push {lr}
- movs r2, 0
- ldr r1, =gMapHeader
- ldr r3, =0xfffffea5
- adds r0, r3, 0
- ldrh r1, [r1, 0x12]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081A6C0C
- movs r2, 0x1
-_081A6C0C:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A6BF4
-
- thumb_func_start sub_81A6C1C
-sub_81A6C1C: @ 81A6C1C
- push {r4,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _081A6C48
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- b _081A6C4C
- .pool
-_081A6C48:
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gSlateportBattleTentMons
-_081A6C4C:
- str r0, [r1]
- movs r4, 0
-_081A6C50:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r2, r1
- movs r1, 0xE7
- lsls r1, 4
- adds r2, r1
- ldrh r2, [r2]
- ldr r1, =gFacilityTrainerMons
- ldr r1, [r1]
- lsls r2, 4
- adds r2, r1
- ldrb r2, [r2, 0xA]
- lsls r2, 1
- ldr r1, =gBattleFrontierHeldItems
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081A6C50
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A6C1C
-
- thumb_func_start sub_81A6CA8
-sub_81A6CA8: @ 81A6CA8
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- negs r2, r1
- orrs r2, r1
- lsrs r2, 31
- lsrs r1, r0, 24
- cmp r1, 0x8
- bls _081A6CBE
- movs r1, 0x7
-_081A6CBE:
- ldr r0, =gUnknown_08612184
- lsls r1, 1
- adds r1, r2, r1
- adds r1, r0
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A6CA8
-
- thumb_func_start sub_81A6CD0
-sub_81A6CD0: @ 81A6CD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- str r0, [sp, 0x2C]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- ldr r1, [r4]
- ldr r3, [sp, 0x2C]
- lsls r2, r3, 1
- lsrs r0, 22
- adds r2, r0
- ldr r7, =0x00000de2
- adds r1, r7
- adds r1, r2
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- str r1, [sp, 0x30]
- movs r2, 0x80
- lsls r2, 18
- adds r0, r2
- lsrs r0, 24
- movs r1, 0
- bl sub_81A6CA8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
- movs r3, 0
- mov r9, r3
- ldr r1, [r4]
- ldrb r4, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r4, r0
- str r4, [sp, 0x28]
-_081A6D4C:
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- movs r2, 0
- bl sub_81A6EF0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r7, =gFacilityTrainerMons
- ldr r1, [r7]
- lsls r0, r5, 4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xC9
- bne _081A6D6A
- b _081A6EB8
-_081A6D6A:
- ldr r0, [sp, 0x20]
- cmp r0, 0x32
- bne _081A6D78
- ldr r0, =0x00000351
- cmp r5, r0
- bls _081A6D78
- b _081A6EB8
-_081A6D78:
- movs r2, 0
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r3, 0xE7
- lsls r3, 4
- adds r0, r3
- ldrh r0, [r0]
- cmp r5, r0
- beq _081A6DA2
- adds r4, r1, 0
- movs r1, 0
-_081A6D8E:
- adds r1, 0xC
- adds r2, 0x1
- cmp r2, 0x5
- bgt _081A6DA2
- ldr r0, [r4]
- adds r0, r1
- adds r0, r3
- ldrh r0, [r0]
- cmp r5, r0
- bne _081A6D8E
-_081A6DA2:
- cmp r2, 0x6
- beq _081A6DA8
- b _081A6EB8
-_081A6DA8:
- movs r4, 0
- cmp r4, r9
- bge _081A6DDC
- add r2, sp, 0xC
- ldr r7, =gFacilityTrainerMons
- ldr r0, [r7]
- lsls r1, r5, 4
- adds r0, r1, r0
- ldrh r2, [r2]
- adds r7, r1, 0
- ldrh r0, [r0]
- cmp r2, r0
- beq _081A6DDC
- ldr r6, =gFacilityTrainerMons
- adds r3, r7, 0
- add r2, sp, 0xC
-_081A6DC8:
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, r9
- bge _081A6DDC
- ldr r0, [r6]
- adds r0, r3, r0
- ldrh r1, [r2]
- ldrh r0, [r0]
- cmp r1, r0
- bne _081A6DC8
-_081A6DDC:
- cmp r4, r9
- bne _081A6EB8
- movs r4, 0
- cmp r4, r9
- bge _081A6E0C
- ldr r7, =gBattleFrontierHeldItems
- ldr r6, =gFacilityTrainerMons
- add r2, sp, 0x14
- lsls r3, r5, 4
-_081A6DEE:
- ldrh r1, [r2]
- cmp r1, 0
- beq _081A6E04
- ldr r0, [r6]
- adds r0, r3, r0
- ldrb r0, [r0, 0xA]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- cmp r1, r0
- beq _081A6E0C
-_081A6E04:
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, r9
- blt _081A6DEE
-_081A6E0C:
- cmp r4, r9
- bne _081A6EB8
- mov r0, r9
- lsls r2, r0, 1
- mov r1, sp
- adds r1, r2
- adds r1, 0xC
- ldr r3, =gFacilityTrainerMons
- ldr r4, [r3]
- lsls r5, 4
- mov r8, r5
- add r4, r8
- ldrh r0, [r4]
- strh r0, [r1]
- add r1, sp, 0x14
- adds r1, r2
- ldr r2, =gBattleFrontierHeldItems
- ldrb r0, [r4, 0xA]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- movs r0, 0x64
- mov r5, r9
- muls r5, r0
- ldr r6, =gEnemyParty
- adds r0, r5, r6
- ldrh r1, [r4]
- ldr r7, [sp, 0x20]
- lsls r2, r7, 24
- ldrb r3, [r4, 0xC]
- ldr r7, [sp, 0x24]
- str r7, [sp]
- ldrb r4, [r4, 0xB]
- str r4, [sp, 0x4]
- ldr r4, [sp, 0x28]
- str r4, [sp, 0x8]
- lsrs r2, 24
- bl CreateMonWithEVSpreadPersonalityOTID
- add r0, sp, 0x1C
- movs r7, 0
- strb r7, [r0]
- movs r4, 0
- mov r7, r8
- mov r10, r0
- movs r0, 0x1
- add r0, r9
- mov r8, r0
-_081A6E6E:
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r7, r0
- lsls r1, r4, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, r4, 24
- lsrs r2, 24
- adds r0, r5, r6
- bl SetMonMoveAvoidReturn
- adds r4, 0x1
- cmp r4, 0x3
- ble _081A6E6E
- movs r0, 0x64
- mov r4, r9
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- mov r2, r10
- bl SetMonData
- ldr r2, =gFacilityTrainerMons
- ldr r0, [r2]
- adds r0, r7, r0
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r9, r8
-_081A6EB8:
- mov r3, r9
- cmp r3, 0x3
- beq _081A6EC0
- b _081A6D4C
-_081A6EC0:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A6CD0
-
- thumb_func_start sub_81A6EF0
-sub_81A6EF0: @ 81A6EF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r4, 0x8
- negs r1, r0
- orrs r1, r0
- asrs r1, 31
- ands r1, r4
- adds r4, r1, 0
- cmp r3, 0x6
- bhi _081A6F2C
- cmp r2, 0
- beq _081A6F20
- ldr r2, =gUnknown_08612194
- adds r1, r3
- adds r1, 0x1
- b _081A6F38
- .pool
-_081A6F20:
- ldr r2, =gUnknown_08612194
- adds r1, r3
- b _081A6F38
- .pool
-_081A6F2C:
- adds r1, r3, 0
- cmp r1, 0x7
- beq _081A6F34
- movs r1, 0x7
-_081A6F34:
- ldr r2, =gUnknown_08612194
- adds r1, r4, r1
-_081A6F38:
- lsls r1, 2
- adds r0, r2, 0x2
- adds r0, r1, r0
- adds r1, r2
- ldrh r0, [r0]
- ldrh r4, [r1]
- subs r0, r4
- adds r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0, r4
- lsls r4, 16
- lsrs r0, r4, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A6EF0
-
- thumb_func_start sub_81A6F70
-sub_81A6F70: @ 81A6F70
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r1, 23
- lsrs r0, 22
- adds r1, r0
- ldr r0, =0x00000df2
- adds r2, r0
- adds r2, r1
- ldrb r1, [r2]
- movs r0, 0
- cmp r1, 0xE
- bls _081A6FA8
- movs r0, 0x1
- cmp r1, 0x15
- bls _081A6FA8
- movs r0, 0x2
- cmp r1, 0x1C
- bls _081A6FA8
- movs r0, 0x3
- cmp r1, 0x23
- bls _081A6FA8
- movs r0, 0x5
- cmp r1, 0x2A
- bhi _081A6FA8
- movs r0, 0x4
-_081A6FA8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A6F70
-
- thumb_func_start GetAiScriptsInBattleFactory
-GetAiScriptsInBattleFactory: @ 81A6FB4
- push {r4,r5,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- cmp r4, 0x2
- beq _081A6FF8
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- ldr r1, [r5]
- lsls r2, r4, 1
- lsrs r0, 14
- adds r2, r0
- ldr r0, =0x00000de2
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- ldr r0, =0x000003fe
- cmp r1, r0
- beq _081A7018
- cmp r2, 0x1
- bgt _081A7014
-_081A6FF8:
- movs r0, 0
- b _081A701E
- .pool
-_081A7014:
- cmp r2, 0x3
- ble _081A701C
-_081A7018:
- movs r0, 0x7
- b _081A701E
-_081A701C:
- movs r0, 0x1
-_081A701E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetAiScriptsInBattleFactory
-
- thumb_func_start SetMonMoveAvoidReturn
-SetMonMoveAvoidReturn: @ 81A7024
- push {lr}
- lsls r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsrs r1, 16
- cmp r1, 0xD8
- bne _081A7034
- movs r1, 0xDA
-_081A7034:
- bl SetMonMoveSlot
- pop {r0}
- bx r0
- thumb_func_end SetMonMoveAvoidReturn
-
- thumb_func_start sub_81A703C
-sub_81A703C: @ 81A703C
- push {lr}
- ldr r1, =gUnknown_086125F8
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A703C
-
- thumb_func_start sub_81A705C
-sub_81A705C: @ 81A705C
- push {lr}
- bl sub_81A79EC
- ldr r1, =gUnknown_0300128C
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A705C
-
- thumb_func_start sub_81A7070
-sub_81A7070: @ 81A7070
- push {r4-r7,lr}
- ldr r0, =0x00004010
- movs r1, 0x1C
- bl VarSet
- ldr r0, =0x00004011
- movs r1, 0xE2
- bl VarSet
- movs r4, 0x1
- movs r6, 0
- movs r5, 0
- movs r7, 0
- ldr r0, =gUnknown_0300128C
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _081A7132
- lsls r0, 2
- ldr r1, =_081A70AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A70AC:
- .4byte _081A70D0
- .4byte _081A70DA
- .4byte _081A70DE
- .4byte _081A70E8
- .4byte _081A70FC
- .4byte _081A70D6
- .4byte _081A7100
- .4byte _081A7108
- .4byte _081A710E
-_081A70D0:
- movs r0, 0
- bl sub_81A82A4
-_081A70D6:
- movs r4, 0
- b _081A711A
-_081A70DA:
- movs r5, 0x1C
- b _081A711A
-_081A70DE:
- bl sub_81A7B58
- lsls r0, 24
- lsrs r5, r0, 24
- b _081A711A
-_081A70E8:
- movs r5, 0x30
- ldr r0, =gUnknown_0300128D
- ldrb r0, [r0]
- movs r7, 0xE1
- cmp r0, 0x1
- bne _081A7118
- movs r7, 0xE2
- b _081A7118
- .pool
-_081A70FC:
- movs r5, 0x30
- b _081A711A
-_081A7100:
- movs r0, 0x1
- bl sub_81A82A4
- b _081A7114
-_081A7108:
- bl sub_81A8374
- b _081A70D6
-_081A710E:
- movs r0, 0x5
- bl sub_81A5030
-_081A7114:
- movs r7, 0x1C
- movs r4, 0
-_081A7118:
- movs r6, 0x1
-_081A711A:
- cmp r4, 0x1
- bne _081A7126
- ldr r0, =0x00004010
- adds r1, r5, 0
- bl VarSet
-_081A7126:
- cmp r6, 0x1
- bne _081A7132
- ldr r0, =0x00004011
- adds r1, r7, 0
- bl VarSet
-_081A7132:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7070
-
- thumb_func_start sub_81A7140
-sub_81A7140: @ 81A7140
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r2, r0, 30
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bhi _081A723A
- lsls r0, 2
- ldr r1, =_081A7174
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A7174:
- .4byte _081A7188
- .4byte _081A71A0
- .4byte _081A71C4
- .4byte _081A71E8
- .4byte _081A720C
-_081A7188:
- ldr r0, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, =0x00000e02
- adds r1, r3
- ldrh r1, [r1]
- strh r1, [r0]
- b _081A723A
- .pool
-_081A71A0:
- ldr r2, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, =0x00000ca9
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r3, =0x00000e04
- adds r1, r3
- adds r1, r0
- ldrh r0, [r1]
- b _081A7238
- .pool
-_081A71C4:
- ldr r2, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, =0x00000ca9
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r3, =0x00000e08
- adds r1, r3
- adds r1, r0
- ldrh r0, [r1]
- b _081A7238
- .pool
-_081A71E8:
- ldr r2, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, =0x00000ca9
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r3, =0x00000e0c
- adds r1, r3
- adds r1, r0
- ldrh r0, [r1]
- b _081A7238
- .pool
-_081A720C:
- cmp r2, 0
- beq _081A7228
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- ldr r1, =0x00000cdc
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- b _081A7236
- .pool
-_081A7228:
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- ldr r3, =0x00000cdc
- adds r0, r3
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
-_081A7236:
- ands r0, r1
-_081A7238:
- strh r0, [r2]
-_081A723A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7140
-
- thumb_func_start sub_81A7248
-sub_81A7248: @ 81A7248
- push {r4,r5,lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r3, r0, 30
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _081A7264
- b _081A73AA
-_081A7264:
- lsls r0, 2
- ldr r1, =_081A7280
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A7280:
- .4byte _081A7294
- .4byte _081A72AC
- .4byte _081A72D8
- .4byte _081A7314
- .4byte _081A7344
-_081A7294:
- ldr r0, [r2]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r5, =0x00000e02
- adds r0, r5
- strh r1, [r0]
- b _081A73AA
- .pool
-_081A72AC:
- ldr r0, =gSpecialVar_0x8006
- ldrh r3, [r0]
- ldr r0, =0x0000270f
- cmp r3, r0
- bls _081A72B8
- b _081A73AA
-_081A72B8:
- ldr r0, [r2]
- ldr r2, =0x00000ca9
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 30
- lsrs r1, 29
- ldr r5, =0x00000e04
- b _081A732C
- .pool
-_081A72D8:
- ldr r0, =gSpecialVar_0x8006
- ldrh r4, [r0]
- adds r3, r4, 0
- ldr r0, =0x0000270f
- cmp r3, r0
- bhi _081A73AA
- ldr r1, [r2]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r2, r0, 30
- lsrs r0, r2, 29
- ldr r5, =0x00000e08
- adds r1, r5
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, r3
- bcs _081A73AA
- lsrs r0, r2, 29
- adds r0, r1, r0
- strh r4, [r0]
- b _081A73AA
- .pool
-_081A7314:
- ldr r0, =gSpecialVar_0x8006
- ldrh r3, [r0]
- ldr r0, =0x0000270f
- cmp r3, r0
- bhi _081A73AA
- ldr r0, [r2]
- ldr r2, =0x00000ca9
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 30
- lsrs r1, 29
- ldr r5, =0x00000e0c
-_081A732C:
- adds r0, r5
- adds r0, r1
- strh r3, [r0]
- b _081A73AA
- .pool
-_081A7344:
- cmp r3, 0
- beq _081A737C
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A7368
- ldr r0, [r2]
- ldr r1, =0x00000cdc
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 4
- orrs r1, r2
- b _081A73A8
- .pool
-_081A7368:
- ldr r0, [r2]
- ldr r2, =0x00000cdc
- adds r0, r2
- ldr r1, [r0]
- ldr r2, =0xfffff7ff
- b _081A73A6
- .pool
-_081A737C:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A739C
- ldr r0, [r2]
- ldr r5, =0x00000cdc
- adds r0, r5
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 3
- orrs r1, r2
- b _081A73A8
- .pool
-_081A739C:
- ldr r0, [r2]
- ldr r1, =0x00000cdc
- adds r0, r1
- ldr r1, [r0]
- ldr r2, =0xfffffbff
-_081A73A6:
- ands r1, r2
-_081A73A8:
- str r1, [r0]
-_081A73AA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7248
-
- thumb_func_start sub_81A73B8
-sub_81A73B8: @ 81A73B8
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xE
- bls _081A73DC
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _081A73E0
- .pool
-_081A73DC:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_081A73E0:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A73B8
-
- thumb_func_start sub_81A73EC
-sub_81A73EC: @ 81A73EC
- ldr r0, =gSpecialVar_Result
- ldr r1, =gUnknown_0300128C
- ldrb r1, [r1]
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81A73EC
-
- thumb_func_start sub_81A7400
-sub_81A7400: @ 81A7400
- ldr r1, =gUnknown_0300128E
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A7400
-
- thumb_func_start sub_81A740C
-sub_81A740C: @ 81A740C
- ldr r1, =gUnknown_0300128E
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A740C
-
- thumb_func_start sub_81A7418
-sub_81A7418: @ 81A7418
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl save_serialize_map
- movs r0, 0x1
- bl TrySavingData
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7418
-
- thumb_func_start nullsub_76
-nullsub_76: @ 81A7460
- bx lr
- thumb_func_end nullsub_76
-
- thumb_func_start nullsub_124
-nullsub_124: @ 81A7464
- bx lr
- thumb_func_end nullsub_124
-
- thumb_func_start sub_81A7468
-sub_81A7468: @ 81A7468
- push {lr}
- ldr r0, =gUnknown_03001290
- ldr r0, [r0]
- cmp r0, 0x20
- beq _081A748E
- cmp r0, 0x20
- bhi _081A7484
- cmp r0, 0x7
- beq _081A74BC
- cmp r0, 0x10
- beq _081A7498
- b _081A74C2
- .pool
-_081A7484:
- cmp r0, 0x40
- beq _081A74B0
- cmp r0, 0x80
- beq _081A74A4
- b _081A74C2
-_081A748E:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- b _081A74C0
- .pool
-_081A7498:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _081A74C0
- .pool
-_081A74A4:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
- b _081A74C0
- .pool
-_081A74B0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- b _081A74C0
- .pool
-_081A74BC:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x4
-_081A74C0:
- strh r0, [r1]
-_081A74C2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7468
-
- thumb_func_start sub_81A74CC
-sub_81A74CC: @ 81A74CC
- ldr r0, =gSpecialVar_Result
- ldr r1, =gUnknown_0300128D
- ldrb r1, [r1]
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81A74CC
-
- thumb_func_start sub_81A74E0
-sub_81A74E0: @ 81A74E0
- push {r4,lr}
- bl Random
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x1
- ands r4, r0
- adds r4, 0x1
- adds r0, r4, 0
- bl sub_81A7F38
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A74E0
-
- thumb_func_start sub_81A7508
-sub_81A7508: @ 81A7508
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081A7538
- ldr r1, =gUnknown_0861231C
- ldr r0, =gUnknown_03001294
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x2]
- b _081A7560
- .pool
-_081A7538:
- cmp r0, 0xA
- bhi _081A7554
- ldr r1, =gUnknown_0861231C
- ldr r0, =gUnknown_03001294
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x3]
- b _081A7560
- .pool
-_081A7554:
- ldr r1, =gUnknown_0861231C
- ldr r0, =gUnknown_03001294
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
-_081A7560:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gUnknown_086123E4
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7508
-
- thumb_func_start sub_81A7580
-sub_81A7580: @ 81A7580
- push {lr}
- ldr r0, =sub_81A7EE4
- movs r1, 0x2
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7580
-
- thumb_func_start sub_81A7594
-sub_81A7594: @ 81A7594
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r4, 0
- movs r1, 0
-_081A759E:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081A759E
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r2, r0, 16
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- lsrs r2, 24
- strb r2, [r0, 0x1]
- adds r0, r5, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
-_081A75DA:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r4, 0
- bl CalculatePPWithBonus
- mov r1, sp
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x11
- adds r0, r5, 0
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081A75DA
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, r5, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81A7594
-
- thumb_func_start sub_81A7628
-sub_81A7628: @ 81A7628
- push {r4,lr}
- adds r4, r1, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0x20
- beq _081A7652
- cmp r4, 0x20
- bhi _081A7648
- cmp r4, 0x7
- beq _081A7664
- cmp r4, 0x10
- beq _081A7658
- b _081A7674
-_081A7648:
- cmp r4, 0x40
- beq _081A765E
- cmp r4, 0x80
- beq _081A766E
- b _081A7674
-_081A7652:
- cmp r0, 0x28
- bne _081A7674
- b _081A7672
-_081A7658:
- cmp r0, 0x29
- bne _081A7674
- b _081A7672
-_081A765E:
- cmp r0, 0x7
- bne _081A7674
- b _081A7672
-_081A7664:
- cmp r0, 0xF
- beq _081A7672
- cmp r0, 0x48
- bne _081A7674
- b _081A7672
-_081A766E:
- cmp r0, 0x11
- bne _081A7674
-_081A7672:
- movs r1, 0x1
-_081A7674:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81A7628
-
- thumb_func_start sub_81A767C
-sub_81A767C: @ 81A767C
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r3, 0
- cmp r1, 0x20
- beq _081A76C4
- cmp r1, 0x20
- bhi _081A7696
- cmp r1, 0x7
- beq _081A771C
- cmp r1, 0x10
- beq _081A7704
- b _081A771C
-_081A7696:
- cmp r1, 0x40
- beq _081A76E0
- cmp r1, 0x80
- bne _081A771C
- ldr r1, =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x6]
- cmp r2, 0x8
- beq _081A771A
- cmp r2, 0x3
- beq _081A771A
- ldrb r0, [r0, 0x7]
- cmp r0, 0x8
- beq _081A771A
- cmp r0, 0x3
- bne _081A771C
- b _081A771A
- .pool
-_081A76C4:
- ldr r0, =gBaseStats
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0xF
- beq _081A771A
- ldrb r0, [r1, 0x7]
- cmp r0, 0xF
- bne _081A771C
- b _081A771A
- .pool
-_081A76E0:
- ldr r1, =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x6]
- cmp r2, 0x4
- beq _081A771A
- cmp r2, 0xD
- beq _081A771A
- ldrb r0, [r0, 0x7]
- cmp r0, 0x4
- beq _081A771A
- cmp r0, 0xD
- bne _081A771C
- b _081A771A
- .pool
-_081A7704:
- ldr r0, =gBaseStats
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0xA
- beq _081A771A
- ldrb r0, [r1, 0x7]
- cmp r0, 0xA
- bne _081A771C
-_081A771A:
- movs r3, 0x1
-_081A771C:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A767C
-
- thumb_func_start sub_81A7728
-sub_81A7728: @ 81A7728
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r6, 0
-_081A7736:
- mov r1, sp
- adds r0, r1, r6
- strb r6, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _081A7736
- movs r4, 0
- mov r8, r4
-_081A774A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r6, r0, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- adds r2, r1, r6
- ldrb r3, [r2]
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x9
- bls _081A774A
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r4, =0x00000cb2
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0x1
- mov r10, r1
- cmp r0, 0x4
- bls _081A77A8
- movs r4, 0x3
- mov r10, r4
- cmp r0, 0x9
- bhi _081A77A8
- movs r0, 0x2
- mov r10, r0
-_081A77A8:
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r7, =gUnknown_03001290
-_081A77AE:
- movs r4, 0
- mov r9, r4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x22
- bhi _081A77DC
- movs r0, 0x80
- b _081A77FC
- .pool
-_081A77DC:
- cmp r0, 0x3B
- bhi _081A77E4
- movs r0, 0x20
- b _081A77FC
-_081A77E4:
- cmp r0, 0x4F
- bhi _081A77EC
- movs r0, 0x40
- b _081A77FC
-_081A77EC:
- cmp r1, 0x59
- bhi _081A77FA
- movs r0, 0x7
- b _081A77FC
-_081A77F4:
- movs r0, 0x1
- mov r9, r0
- b _081A786E
-_081A77FA:
- movs r0, 0x10
-_081A77FC:
- str r0, [r7]
- ldr r0, =gUnknown_03001290
- ldr r0, [r0]
- ldr r1, [sp, 0x4]
- cmp r1, r0
- beq _081A7874
- str r0, [sp, 0x4]
- movs r4, 0
- mov r8, r4
- movs r6, 0
-_081A7810:
- mov r1, sp
- adds r0, r1, r6
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- cmp r0, 0
- bne _081A7860
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081A7860
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, [r7]
- adds r0, r4, 0
- bl sub_81A767C
- lsls r0, 24
- cmp r0, 0
- beq _081A77F4
-_081A7860:
- cmp r8, r10
- beq _081A786E
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _081A7810
-_081A786E:
- mov r4, r8
- cmp r4, 0
- beq _081A78CC
-_081A7874:
- mov r0, r9
- cmp r0, 0
- beq _081A77AE
- ldr r0, =gUnknown_03001290
- ldr r0, [r0]
- cmp r0, 0x20
- beq _081A7898
- cmp r0, 0x20
- bhi _081A78D0
- cmp r0, 0x7
- beq _081A78D0
- cmp r0, 0x10
- beq _081A78A4
- b _081A78D0
- .pool
-_081A7898:
- ldr r1, =gUnknown_0300128D
- movs r0, 0x1
- b _081A78D4
- .pool
-_081A78A4:
- bl Random
- lsls r0, 16
- lsrs r1, r0, 16
- movs r2, 0x1
- ands r1, r2
- cmp r1, 0
- beq _081A78C0
- ldr r0, =gUnknown_0300128D
- strb r2, [r0]
- b _081A78D6
- .pool
-_081A78C0:
- ldr r0, =gUnknown_0300128D
- strb r1, [r0]
- b _081A78D6
- .pool
-_081A78CC:
- movs r0, 0
- b _081A7956
-_081A78D0:
- ldr r1, =gUnknown_0300128D
- movs r0, 0
-_081A78D4:
- strb r0, [r1]
-_081A78D6:
- movs r1, 0
- mov r8, r1
- movs r6, 0
-_081A78DC:
- mov r4, sp
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- cmp r0, 0
- bne _081A7946
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081A7946
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r7, =gUnknown_03001290
- ldr r1, [r7]
- adds r0, r5, 0
- bl sub_81A7628
- lsls r0, 24
- cmp r0, 0
- bne _081A7946
- ldr r1, [r7]
- adds r0, r4, 0
- bl sub_81A767C
- lsls r0, 24
- cmp r0, 0
- bne _081A7946
- adds r0, r5, 0
- movs r1, 0x37
- adds r2, r7, 0
- bl SetMonData
-_081A7946:
- cmp r8, r10
- beq _081A7954
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _081A78DC
-_081A7954:
- movs r0, 0x1
-_081A7956:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A7728
-
- thumb_func_start sub_81A7974
-sub_81A7974: @ 81A7974
- push {r4-r7,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- movs r7, 0x1
- cmp r0, 0x4
- bls _081A798E
- movs r7, 0x3
- cmp r0, 0x9
- bhi _081A798E
- movs r7, 0x2
-_081A798E:
- movs r6, 0
- movs r5, 0
- b _081A79A2
- .pool
-_081A799C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_081A79A2:
- cmp r5, 0x2
- bhi _081A79D8
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- cmp r0, 0
- bne _081A79D4
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081A79D4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_081A79D4:
- cmp r6, r7
- bne _081A799C
-_081A79D8:
- cmp r6, 0
- beq _081A79E4
- movs r0, 0x1
- b _081A79E6
- .pool
-_081A79E4:
- movs r0, 0
-_081A79E6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81A7974
-
- thumb_func_start sub_81A79EC
-sub_81A79EC: @ 81A79EC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r4, 0xE1
- lsls r4, 4
- adds r0, r4
- ldrb r2, [r0]
- movs r3, 0x78
- ands r3, r2
- adds r5, r1, 0
- cmp r3, 0x40
- bne _081A7A10
- lsls r0, r2, 25
- lsrs r0, 28
- b _081A7B48
- .pool
-_081A7A10:
- ldr r0, =gSpecialVar_0x8007
- lsls r1, r2, 29
- ldrh r0, [r0]
- lsrs r1, 29
- cmp r0, r1
- bne _081A7A34
- cmp r3, 0x18
- bne _081A7A24
- bl sub_81A7728
-_081A7A24:
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 28
- b _081A7B48
- .pool
-_081A7A34:
- movs r2, 0
- ldr r3, =gUnknown_0861266C
- movs r1, 0
-_081A7A3A:
- mov r4, sp
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _081A7A3A
- movs r4, 0x8
- ldr r0, [r5]
- movs r6, 0xE1
- lsls r6, 4
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 28
- adds r0, r3
- ldrb r1, [r0]
- movs r2, 0
- adds r5, r3, 0
- movs r3, 0x1
-_081A7A64:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r1
- bne _081A7A78
- mov r6, sp
- adds r0, r6, r2
- strb r3, [r0]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081A7A78:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _081A7A64
- mov r0, sp
- ldrb r0, [r0, 0x7]
- cmp r0, 0x1
- beq _081A7AA0
- bl sub_81A8554
- lsls r0, 24
- cmp r0, 0
- bne _081A7AA0
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x7]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081A7AA0:
- mov r0, sp
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- beq _081A7ABE
- bl sub_81A7974
- lsls r0, 24
- cmp r0, 0
- bne _081A7ABE
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x3]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081A7ABE:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xE1
- lsls r1, 4
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081A7AFA
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _081A7AE6
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x1]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081A7AE6:
- mov r0, sp
- ldrb r0, [r0, 0x4]
- cmp r0, 0x1
- beq _081A7AFA
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x4]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081A7AFA:
- adds r0, r4, 0
- bl AllocZeroed
- adds r5, r0, 0
- movs r3, 0
- movs r2, 0
-_081A7B06:
- mov r6, sp
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _081A7B1C
- adds r1, r3, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r1, r5, r1
- strb r2, [r1]
-_081A7B1C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _081A7B06
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- adds r0, r5, r0
- ldrb r4, [r0]
- adds r0, r5, 0
- bl Free
- cmp r4, 0x3
- bne _081A7B46
- bl sub_81A7728
-_081A7B46:
- adds r0, r4, 0
-_081A7B48:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A79EC
-
- thumb_func_start sub_81A7B58
-sub_81A7B58: @ 81A7B58
- push {r4,lr}
- ldr r4, =gUnknown_03001294
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- bl __umodsi3
- strb r0, [r4]
- ldr r1, =gUnknown_0861231C
- ldrb r0, [r4]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A7B58
-
- thumb_func_start sub_81A7B84
-sub_81A7B84: @ 81A7B84
- ldr r0, =gUnknown_0300128E
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81A7B84
-
- thumb_func_start TryGenerateBattlePikeWildMon
-TryGenerateBattlePikeWildMon: @ 81A7B90
- 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
- bl GetBattlePikeWildMonHeaderId
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- ldr r4, =0x00000ca9
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 30
- ldr r1, =gUnknown_08612314
- lsrs r0, 28
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldr r0, =gEnemyParty
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r0, r5, 16
- lsrs r0, 16
- bl sub_81A890C
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081A7C1C
- bl sub_8165CB4
- adds r7, r0, 0
- cmp r7, 0x3B
- ble _081A7C08
- lsls r0, r6, 2
- ldr r1, [sp, 0x4]
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- subs r7, r0
- cmp r7, 0x3B
- bgt _081A7C32
-_081A7C08:
- movs r7, 0x3C
- b _081A7C32
- .pool
-_081A7C1C:
- lsls r0, r6, 2
- ldr r2, [sp, 0x4]
- adds r0, r2
- ldr r1, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x32
- subs r7, r0, r1
-_081A7C32:
- mov r0, r8
- cmp r0, 0x1
- bne _081A7C4A
- lsls r0, r7, 24
- lsrs r0, 24
- bl sub_81A88B0
- lsls r0, 24
- cmp r0, 0
- bne _081A7C4A
- movs r0, 0
- b _081A7CE2
-_081A7C4A:
- ldr r0, =gEnemyParty
- ldr r1, =gBaseStats
- mov r8, r1
- lsls r6, 2
- mov r9, r6
- ldr r2, [sp, 0x4]
- add r2, r9
- mov r10, r2
- ldr r1, [r2]
- lsls r6, r5, 1
- adds r4, r6, r5
- lsls r4, 2
- adds r1, r4, r1
- ldrh r2, [r1]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x13]
- movs r1, 0xCA
- lsls r1, 1
- muls r2, r1
- lsls r1, r7, 2
- ldr r3, =gExperienceTables
- adds r1, r3
- adds r2, r1
- movs r1, 0x19
- bl SetMonData
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x17]
- mov r7, r9
- cmp r0, 0
- beq _081A7CA8
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
-_081A7CA8:
- str r0, [sp]
- ldr r0, =gEnemyParty
- movs r1, 0x2E
- mov r2, sp
- bl SetMonData
- movs r4, 0
- adds r0, r6, r5
- lsls r6, r0, 2
-_081A7CBA:
- ldr r2, [sp, 0x4]
- adds r0, r7, r2
- ldr r0, [r0]
- adds r0, r6, r0
- lsls r1, r4, 1
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r0, =gEnemyParty
- bl SetMonMoveSlot
- adds r4, 0x1
- cmp r4, 0x3
- ble _081A7CBA
- ldr r0, =gEnemyParty
- bl CalculateMonStats
- movs r0, 0x1
-_081A7CE2:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end TryGenerateBattlePikeWildMon
-
- thumb_func_start GetBattlePikeWildMonHeaderId
-GetBattlePikeWildMonHeaderId: @ 81A7D00
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r2, =0x00000e04
- adds r1, r2
- adds r1, r0
- ldrh r1, [r1]
- adds r2, r1, 0
- movs r0, 0x8C
- lsls r0, 1
- cmp r1, r0
- bhi _081A7D34
- movs r1, 0
- b _081A7D4C
- .pool
-_081A7D34:
- movs r0, 0x8C
- lsls r0, 2
- cmp r1, r0
- bhi _081A7D40
- movs r1, 0x1
- b _081A7D4C
-_081A7D40:
- movs r0, 0xD2
- lsls r0, 2
- movs r1, 0x3
- cmp r2, r0
- bhi _081A7D4C
- movs r1, 0x2
-_081A7D4C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end GetBattlePikeWildMonHeaderId
-
- thumb_func_start sub_81A7D54
-sub_81A7D54: @ 81A7D54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_08612688
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081A7D66:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _081A7D66
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7D54
-
- thumb_func_start sub_81A7D8C
-sub_81A7D8C: @ 81A7D8C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081A7DA4
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _081A7DC8
-_081A7DA4:
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- strh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _081A7DBC
- movs r0, 0x10
- strh r0, [r4, 0x16]
-_081A7DBC:
- movs r0, 0x1
- negs r0, r0
- ldrb r1, [r4, 0x16]
- ldr r2, =0x00002d6b
- bl BlendPalettes
-_081A7DC8:
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- ble _081A7DDA
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0x14]
-_081A7DDA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A7D8C
-
- thumb_func_start sub_81A7DE8
-sub_81A7DE8: @ 81A7DE8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081A7E00
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _081A7E22
-_081A7E00:
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x16]
- lsls r0, 16
- cmp r0, 0
- bge _081A7E16
- movs r0, 0
- strh r0, [r4, 0x16]
-_081A7E16:
- movs r0, 0x1
- negs r0, r0
- ldrb r1, [r4, 0x16]
- ldr r2, =0x00002d6b
- bl BlendPalettes
-_081A7E22:
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _081A7E56
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _081A7E50
- ldr r0, =sub_81A7D54
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _081A7E56
- .pool
-_081A7E50:
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0x14]
- strh r1, [r4, 0x8]
-_081A7E56:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81A7DE8
-
- thumb_func_start sub_81A7E60
-sub_81A7E60: @ 81A7E60
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x18]
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, =sub_81A7D54
- movs r1, 0x3
- str r3, [sp]
- 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, r8
- strh r0, [r1, 0xA]
- strh r4, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r6, [r1, 0x10]
- ldr r3, [sp]
- strh r3, [r1, 0x12]
- strh r0, [r1, 0x14]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A7E60
-
- thumb_func_start sub_81A7EC4
-sub_81A7EC4: @ 81A7EC4
- push {lr}
- ldr r0, =sub_81A7D54
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081A7EDC
- movs r0, 0
- b _081A7EDE
- .pool
-_081A7EDC:
- movs r0, 0x1
-_081A7EDE:
- pop {r1}
- bx r1
- thumb_func_end sub_81A7EC4
-
- thumb_func_start sub_81A7EE4
-sub_81A7EE4: @ 81A7EE4
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- 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, 0
- bne _081A7F1C
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_81A7E60
- b _081A7F30
- .pool
-_081A7F1C:
- bl sub_81A7EC4
- lsls r0, 24
- cmp r0, 0
- beq _081A7F30
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_081A7F30:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81A7EE4
-
- thumb_func_start sub_81A7F38
-sub_81A7F38: @ 81A7F38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- cmp r0, 0
- bne _081A7F50
- b _081A807A
-_081A7F50:
- movs r0, 0
- mov r8, r0
-_081A7F54:
- mov r0, sp
- add r0, r8
- mov r1, r8
- strb r1, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x2
- bls _081A7F54
- movs r5, 0
-_081A7F6C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, sp
- add r2, r8
- ldrb r3, [r2]
- mov r0, sp
- adds r1, r0, r4
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _081A7F6C
- movs r1, 0
- mov r8, r1
-_081A7FB0:
- movs r0, 0
- mov r10, r0
- mov r4, sp
- add r4, r8
- ldrb r1, [r4]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r7, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- str r4, [sp, 0x8]
- cmp r5, r6
- bcc _081A8044
- adds r0, r7, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- cmp r0, 0
- beq _081A7FFC
- movs r0, 0x1
- mov r10, r0
- b _081A8048
- .pool
-_081A7FFC:
- adds r0, r7, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r4, 0
- b _081A8014
-_081A800E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081A8014:
- cmp r4, 0x3
- bhi _081A8048
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r7, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, r9
- adds r2, r4, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r6, r0, 24
- adds r1, r4, 0
- adds r1, 0x11
- adds r0, r7, 0
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r6
- bcs _081A800E
-_081A8044:
- movs r1, 0x1
- mov r10, r1
-_081A8048:
- mov r0, r10
- cmp r0, 0x1
- bne _081A806C
- ldr r0, [sp, 0x8]
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81A7594
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- cmp r0, 0
- beq _081A807A
-_081A806C:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x2
- bls _081A7FB0
-_081A807A:
- 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_81A7F38
-
- thumb_func_start sub_81A8090
-sub_81A8090: @ 81A8090
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- bl InBattlePike
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8090
-
- thumb_func_start InBattlePike
-InBattlePike: @ 81A80A8
- push {lr}
- movs r2, 0
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r3, =0xfffffea1
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _081A80CA
- movs r0, 0xB3
- lsls r0, 1
- cmp r1, r0
- beq _081A80CA
- adds r0, 0x1
- cmp r1, r0
- bne _081A80CC
-_081A80CA:
- movs r2, 0x1
-_081A80CC:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end InBattlePike
-
- thumb_func_start sub_81A80DC
-sub_81A80DC: @ 81A80DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x1
- bl sub_81A8590
- lsls r0, 24
- cmp r0, 0
- beq _081A8138
- movs r0, 0x1
- strh r0, [r4]
- bl Random
- ldr r5, =gSaveBlock2Ptr
- ldr r4, [r5]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- movs r3, 0xE1
- lsls r3, 4
- adds r4, r3
- movs r1, 0x7
- ands r1, r0
- ldrb r2, [r4]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldr r2, [r5]
- adds r2, r3
- ldrb r1, [r2]
- movs r0, 0x79
- negs r0, r0
- ands r0, r1
- movs r1, 0x40
- b _081A8248
- .pool
-_081A8138:
- bl Random
- ldr r7, =gSaveBlock2Ptr
- ldr r4, [r7]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- movs r3, 0xE1
- lsls r3, 4
- adds r4, r3
- movs r1, 0x7
- ands r1, r0
- ldrb r2, [r4]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldr r0, [r7]
- adds r0, r3
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- movs r6, 0x8
- cmp r0, 0
- beq _081A8172
- movs r6, 0x6
-_081A8172:
- adds r0, r6, 0
- bl AllocZeroed
- adds r5, r0, 0
- movs r2, 0
- movs r3, 0
- cmp r2, r6
- bcs _081A81BE
- adds r4, r7, 0
-_081A8184:
- ldr r0, [r4]
- movs r1, 0xE1
- lsls r1, 4
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081A81B0
- cmp r2, 0x1
- beq _081A81B4
- cmp r2, 0x4
- beq _081A81B4
- adds r1, r3, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r1, r5, r1
- strb r2, [r1]
- b _081A81B4
- .pool
-_081A81B0:
- adds r0, r5, r2
- strb r2, [r0]
-_081A81B4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r6
- bcc _081A8184
-_081A81BE:
- bl Random
- ldr r7, =gSaveBlock2Ptr
- ldr r4, [r7]
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r6, 0xE1
- lsls r6, 4
- adds r4, r6
- movs r1, 0xF
- ands r1, r0
- lsls r1, 3
- ldrb r2, [r4]
- movs r0, 0x79
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- adds r0, r5, 0
- bl Free
- ldr r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- movs r0, 0x78
- ands r0, r1
- cmp r0, 0x18
- bne _081A821C
- bl sub_81A7974
- lsls r0, 24
- cmp r0, 0
- bne _081A821C
- ldr r2, [r7]
- adds r2, r6
- ldrb r1, [r2]
- mov r0, r8
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2]
-_081A821C:
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- movs r4, 0xE1
- lsls r4, 4
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x78
- ands r0, r1
- cmp r0, 0x38
- bne _081A824C
- bl sub_81A8554
- lsls r0, 24
- cmp r0, 0
- bne _081A824C
- ldr r2, [r5]
- adds r2, r4
- ldrb r1, [r2]
- movs r0, 0x79
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
-_081A8248:
- orrs r0, r1
- strb r0, [r2]
-_081A824C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A80DC
-
- thumb_func_start sub_81A825C
-sub_81A825C: @ 81A825C
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r2, 0xE1
- lsls r2, 4
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r0, 29
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A825C
-
- thumb_func_start sub_81A827C
-sub_81A827C: @ 81A827C
- ldr r2, =gSpecialVar_Result
- ldr r1, =gUnknown_0861266C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r3, 0xE1
- lsls r3, 4
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 28
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_81A827C
-
- thumb_func_start sub_81A82A4
-sub_81A82A4: @ 81A82A4
- push {r4-r7,lr}
- lsls r0, 24
- movs r7, 0x6
- cmp r0, 0
- bne _081A82B0
- movs r7, 0x1
-_081A82B0:
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r2, =0x00000e04
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0xE
- bl __udivsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r5, r4, 0
-_081A82D2:
- lsls r0, r6, 24
- lsrs r0, 24
- adds r1, r7, 0
- bl sub_8162548
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- ldr r1, [r5]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, r0, 0x1
- cmp r3, r2
- bge _081A831A
- ldr r0, =0x00000cb4
- adds r1, r0
- b _081A8314
- .pool
-_081A830C:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, r2
- bge _081A831A
-_081A8314:
- ldrh r0, [r1]
- cmp r0, r4
- bne _081A830C
-_081A831A:
- ldr r0, [r5]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bne _081A82D2
- ldr r5, =gTrainerBattleOpponent_A
- strh r4, [r5]
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- ldrh r0, [r5]
- movs r1, 0
- bl sub_8162614
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0x00000cb2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, 0xD
- bhi _081A8356
- subs r0, 0x1
- lsls r0, 1
- ldr r2, =0x00000cb4
- adds r1, r2
- adds r1, r0
- ldrh r0, [r5]
- strh r0, [r1]
-_081A8356:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A82A4
-
- thumb_func_start sub_81A8374
-sub_81A8374: @ 81A8374
- push {r4-r7,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r2, =0x00000e04
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0xE
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- lsls r7, r5, 24
- adds r6, r4, 0
-_081A83A0:
- lsls r0, r5, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_8162548
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- ldr r1, [r6]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, r0, 0x1
- cmp r3, r2
- bge _081A83EE
- ldr r0, =0x00000cb4
- adds r1, r0
- b _081A83E8
- .pool
-_081A83E0:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, r2
- bge _081A83EE
-_081A83E8:
- ldrh r0, [r1]
- cmp r0, r4
- bne _081A83E0
-_081A83EE:
- ldr r0, [r6]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bne _081A83A0
- ldr r5, =gTrainerBattleOpponent_A
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0
- bl sub_8162614
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r0, =0x00000cb2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, 0xE
- bhi _081A8424
- subs r0, 0x1
- lsls r0, 1
- ldr r2, =0x00000cb4
- adds r1, r2
- adds r1, r0
- ldrh r0, [r5]
- strh r0, [r1]
-_081A8424:
- adds r5, r3, 0
-_081A8426:
- lsrs r0, r7, 24
- movs r1, 0x1
- bl sub_8162548
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- ldr r1, [r5]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r3, r0
- bge _081A8466
- adds r2, 0x2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r4
- beq _081A8466
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- subs r2, 0x2
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r0, =0x00000cb4
- adds r1, r0
-_081A8458:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, r2
- bge _081A8466
- ldrh r0, [r1]
- cmp r0, r4
- bne _081A8458
-_081A8466:
- ldr r0, [r5]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r3, r0
- bne _081A8426
- ldr r5, =gTrainerBattleOpponent_B
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0x1
- bl sub_8162614
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0x00000cb2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, 0xD
- bhi _081A849A
- subs r0, 0x2
- lsls r0, 1
- ldr r2, =0x00000cb4
- adds r1, r2
- adds r1, r0
- ldrh r0, [r5]
- strh r0, [r1]
-_081A849A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8374
-
- thumb_func_start sub_81A84B4
-sub_81A84B4: @ 81A84B4
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gSaveBlock2Ptr
- ldr r4, =0x00000cb4
- ldr r0, =0x0000ffff
- adds r3, r0, 0
-_081A84C0:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xD
- bls _081A84C0
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A84B4
-
- thumb_func_start sub_81A84EC
-sub_81A84EC: @ 81A84EC
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _081A8524
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r1, [r3]
- ldr r0, =0x0000012b
- cmp r1, r0
- bhi _081A8542
- ldr r2, =gFacilityTrainers
- movs r0, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081A8542
- .pool
-_081A8524:
- cmp r0, 0x1
- bne _081A8542
- ldr r3, =gTrainerBattleOpponent_B
- ldrh r1, [r3]
- ldr r0, =0x0000012b
- cmp r1, r0
- bhi _081A8542
- ldr r2, =gFacilityTrainers
- movs r0, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
-_081A8542:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A84EC
-
- thumb_func_start sub_81A8554
-sub_81A8554: @ 81A8554
- push {r4-r6,lr}
- ldr r5, =gPlayerParty
- movs r6, 0
- movs r4, 0
-_081A855C:
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081A856E
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_081A856E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, 0x64
- cmp r4, 0x2
- bls _081A855C
- cmp r6, 0x1
- bhi _081A8588
- movs r0, 0x1
- b _081A858A
- .pool
-_081A8588:
- movs r0, 0
-_081A858A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81A8554
-
- thumb_func_start sub_81A8590
-sub_81A8590: @ 81A8590
- push {r4-r6,lr}
- lsls r0, 24
- movs r6, 0
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- ldr r3, =0x00000ca9
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 30
- lsrs r1, 29
- ldr r3, =0x00000e04
- adds r2, r3
- adds r2, r1
- lsrs r4, r0, 24
- ldrh r2, [r2]
- adds r0, r4, r2
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x5
- bl sub_81A3B30
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- blt _081A85F0
- cmp r2, 0x1
- bgt _081A85F0
- ldr r1, =gUnknown_086125DC
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r1
- ldrb r0, [r0]
- ldrb r1, [r1, 0x17]
- subs r0, r1
- cmp r4, r0
- bne _081A8634
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- b _081A8634
- .pool
-_081A85F0:
- ldr r5, =gUnknown_086125DC
- movs r0, 0x5
- lsls r3, r0, 2
- adds r0, r3, r5
- ldrb r1, [r0]
- adds r0, r5, 0x3
- adds r0, r3, r0
- ldrb r2, [r0]
- subs r1, r2
- cmp r4, r1
- bne _081A8610
- movs r6, 0x3
- b _081A8634
- .pool
-_081A8610:
- adds r0, r5, 0x1
- adds r0, r3, r0
- ldrb r1, [r0]
- subs r0, r1, r2
- cmp r4, r0
- beq _081A8632
- cmp r4, r1
- bls _081A8634
- subs r0, r4, r1
- adds r0, r2
- adds r1, r5, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- bl __modsi3
- cmp r0, 0
- bne _081A8634
-_081A8632:
- movs r6, 0x4
-_081A8634:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81A8590
-
- thumb_func_start sub_81A863C
-sub_81A863C: @ 81A863C
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- movs r0, 0
- bl sub_81A8590
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A863C
-
- thumb_func_start sub_81A8658
-sub_81A8658: @ 81A8658
- push {r4,lr}
- ldr r3, =gUnknown_08612675
- ldr r2, =gSpecialVar_0x8007
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xE1
- lsls r1, 4
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 29
- lsls r0, r1, 1
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- adds r0, r3
- ldrb r4, [r0]
- adds r0, r4, 0
- bl sub_81A7F38
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8658
-
- thumb_func_start sub_81A869C
-sub_81A869C: @ 81A869C
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8005
- ldrb r1, [r0]
- movs r0, 0xE1
- lsls r0, 4
- adds r2, r0
- lsls r1, 7
- ldrb r3, [r2]
- movs r0, 0x7F
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_81A869C
-
- thumb_func_start sub_81A86C0
-sub_81A86C0: @ 81A86C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- mov r10, r0
-_081A86D4:
- movs r0, 0
- mov r9, r0
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r7, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, r5
- bcc _081A8762
- adds r0, r7, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- cmp r0, 0
- bne _081A8762
- adds r0, r7, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r6, 0
- b _081A8732
- .pool
-_081A872C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_081A8732:
- cmp r6, 0x3
- bhi _081A8766
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r7, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r5, r0, 24
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r7, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcs _081A872C
-_081A8762:
- movs r0, 0x1
- mov r9, r0
-_081A8766:
- mov r0, r9
- cmp r0, 0x1
- bne _081A8778
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _081A8786
- .pool
-_081A8778:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0x2
- bls _081A86D4
-_081A8786:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81A86C0
-
- thumb_func_start sub_81A8794
-sub_81A8794: @ 81A8794
- push {r4-r7,lr}
- movs r5, 0
- ldr r7, =gSaveBlock1Ptr
- ldr r6, =gSaveBlock2Ptr
-_081A879C:
- ldr r0, [r6]
- lsls r4, r5, 1
- ldr r1, =0x00000caa
- adds r0, r1
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- movs r2, 0xEA
- lsls r2, 1
- adds r1, r2
- ldr r0, [r7]
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- ldr r1, [r6]
- ldr r2, =0x00000e12
- adds r1, r2
- adds r1, r4
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _081A879C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8794
-
- thumb_func_start sub_81A87E8
-sub_81A87E8: @ 81A87E8
- push {r4,lr}
- movs r4, 0
-_081A87EC:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- lsls r3, r4, 1
- ldr r1, =0x00000caa
- adds r0, r2, r1
- adds r0, r3
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty - 100
- adds r0, r1
- ldr r1, =0x00000e12
- adds r3, r1
- adds r2, r3
- movs r1, 0xC
- bl SetMonData
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081A87EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A87E8
-
- thumb_func_start sub_81A8830
-sub_81A8830: @ 81A8830
- push {r4-r6,lr}
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x00000ca8
- adds r1, r0
- movs r4, 0
- strb r4, [r1]
- ldr r1, [r3]
- ldr r6, =0x00000cb2
- adds r0, r1, r6
- strh r4, [r0]
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r3, [r3]
- ldr r0, =0x00000cdc
- adds r2, r3, r0
- ldr r1, =gUnknown_08612690
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _081A887C
- lsls r1, r5, 1
- ldr r2, =0x00000e04
- adds r0, r3, r2
- adds r0, r1
- strh r4, [r0]
-_081A887C:
- ldr r0, =gTrainerBattleOpponent_A
- strh r4, [r0]
- ldr r1, =gBattleOutcome
- movs r0, 0
- strb r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8830
-
- thumb_func_start sub_81A88B0
-sub_81A88B0: @ 81A88B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _081A8904
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- beq _081A88D6
- cmp r0, 0x16
- bne _081A8904
-_081A88D6:
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _081A8904
- subs r0, 0x5
- cmp r5, r0
- bgt _081A8904
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081A8904
- movs r0, 0
- b _081A8906
- .pool
-_081A8904:
- movs r0, 0x1
-_081A8906:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81A88B0
-
- thumb_func_start sub_81A890C
-sub_81A890C: @ 81A890C
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x0000017b
- cmp r2, r0
- bne _081A8920
- movs r1, 0
- b _081A892A
- .pool
-_081A8920:
- ldr r0, =0x00000149
- movs r1, 0x2
- cmp r2, r0
- bne _081A892A
- movs r1, 0x1
-_081A892A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A890C
-
- thumb_func_start sub_81A8934
-@ void sub_81A8934(u8)
-sub_81A8934: @ 81A8934
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_0203CE50
- ldr r0, [r4]
- cmp r0, 0
- bne _081A894A
- movs r0, 0x44
- bl AllocZeroed
- str r0, [r4]
-_081A894A:
- ldr r0, [r4]
- adds r0, 0x41
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8934
-
- thumb_func_start sub_81A895C
-sub_81A895C: @ 81A895C
- push {r4,lr}
- ldr r4, =gUnknown_0203CE50
- ldr r0, [r4]
- cmp r0, 0
- beq _081A896E
- bl Free
- movs r0, 0
- str r0, [r4]
-_081A896E:
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetEventObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- bl EventObjectClearHeldMovementIfFinished
- bl sub_80D338C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A895C
-
- thumb_func_start sub_81A89A0
-sub_81A89A0: @ 81A89A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r1, r0
- mov r9, r1
- movs r3, 0
- mov r10, r3
- mov r8, r3
-_081A89C4:
- mov r0, r8
- lsls r4, r0, 1
- adds r1, r4, r0
- lsls r1, 3
- add r1, r9
- ldrh r0, [r1, 0x4]
- adds r0, 0x7
- ldrh r1, [r1, 0x6]
- adds r1, 0x7
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_0203CE50
- ldr r0, [r0]
- adds r0, 0x41
- ldrb r0, [r0]
- movs r2, 0xA6
- lsls r2, 2
- cmp r0, 0
- bne _081A89F8
- subs r2, 0x48
-_081A89F8:
- ldr r0, =0x0000024f
- cmp r1, r0
- bls _081A8AD4
- subs r1, r2
- adds r0, r1, 0
- cmp r1, 0
- bge _081A8A08
- adds r0, r1, 0x7
-_081A8A08:
- asrs r2, r0, 3
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081A8AD4
- ldr r3, [sp]
- cmp r0, r3
- bne _081A8AD4
- lsls r0, r2, 3
- subs r0, r1, r0
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bhi _081A8AD4
- movs r1, 0
- movs r2, 0
- cmp r5, 0x1
- beq _081A8A58
- cmp r5, 0x1
- bgt _081A8A44
- cmp r5, 0
- beq _081A8A4E
- b _081A8AD4
- .pool
-_081A8A44:
- cmp r5, 0x2
- beq _081A8A64
- cmp r5, 0x3
- beq _081A8A70
- b _081A8AD4
-_081A8A4E:
- ldr r7, =gUnknown_08612698
- movs r1, 0x1
- b _081A8A74
- .pool
-_081A8A58:
- ldr r7, =gUnknown_0861269C
- movs r2, 0x1
- b _081A8A74
- .pool
-_081A8A64:
- ldr r7, =gUnknown_086126A0
- movs r1, 0xFF
- b _081A8A74
- .pool
-_081A8A70:
- ldr r7, =gUnknown_086126A4
- movs r2, 0xFF
-_081A8A74:
- mov r3, r8
- adds r0, r4, r3
- lsls r0, 3
- mov r3, r9
- adds r4, r0, r3
- lsls r0, r1, 24
- asrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r4, 0x4]
- lsls r0, r2, 24
- asrs r0, 24
- ldrh r3, [r4, 0x6]
- adds r0, r3
- strh r0, [r4, 0x6]
- ldrb r0, [r4]
- ldr r6, =gSaveBlock1Ptr
- ldr r2, [r6]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl GetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _081A8ACC
- mov r0, r8
- adds r1, r5, 0
- bl sub_81A8D60
- ldrb r4, [r4]
- mov r10, r4
- mov r0, r10
- ldr r2, [r6]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- adds r3, r7, 0
- bl ScriptMovement_StartObjectMovementScript
- b _081A8AD4
- .pool
-_081A8ACC:
- mov r0, r8
- adds r1, r5, 0
- bl sub_81A8D94
-_081A8AD4:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x3F
- bhi _081A8AE4
- b _081A89C4
-_081A8AE4:
- mov r0, r10
- 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_81A89A0
-
- thumb_func_start sub_81A8AF8
-sub_81A8AF8: @ 81A8AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, =gUnknown_0203CE50
- ldr r2, [r1]
- cmp r2, 0
- bne _081A8B0C
- b _081A8D4A
-_081A8B0C:
- adds r0, r2, 0
- adds r0, 0x41
- ldrb r0, [r0]
- movs r3, 0xA6
- lsls r3, 2
- mov r10, r3
- cmp r0, 0
- bne _081A8B22
- movs r0, 0x94
- lsls r0, 2
- mov r10, r0
-_081A8B22:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0xC7
- lsls r3, 4
- adds r7, r0, r3
- movs r0, 0
- mov r9, r0
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r9, r0
- bcc _081A8B3C
- b _081A8D4A
-_081A8B3C:
- mov r8, r1
-_081A8B3E:
- mov r1, r8
- ldr r0, [r1]
- mov r2, r9
- lsls r4, r2, 2
- adds r0, r4
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r7
- ldrh r0, [r1, 0x4]
- adds r0, 0x7
- ldrh r1, [r1, 0x6]
- adds r1, 0x7
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- mov r3, r10
- subs r1, r0, r3
- adds r0, r1, 0
- cmp r1, 0
- bge _081A8B76
- adds r0, r1, 0x7
-_081A8B76:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- ldr r1, [r2]
- adds r1, r4
- ldrb r1, [r1]
- subs r0, r1
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- blt _081A8B96
- cmp r1, 0x3
- bne _081A8BAC
-_081A8B96:
- movs r0, 0x3
- negs r0, r0
- movs r6, 0
- cmp r1, r0
- bne _081A8BB4
- b _081A8BB2
- .pool
-_081A8BAC:
- movs r6, 0x2
- cmp r1, 0
- ble _081A8BB4
-_081A8BB2:
- movs r6, 0x1
-_081A8BB4:
- ldr r5, =gUnknown_0203CE50
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl GetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x10
- bne _081A8BDC
- b _081A8D32
-_081A8BDC:
- ldr r0, =gEventObjects
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r1, r0, 0
- cmp r6, 0
- bne _081A8C9C
- cmp r0, 0x2
- beq _081A8C60
- cmp r0, 0x2
- bgt _081A8C0C
- cmp r0, 0x1
- beq _081A8C30
- b _081A8D32
- .pool
-_081A8C0C:
- cmp r0, 0x3
- beq _081A8C48
- cmp r0, 0x4
- beq _081A8C16
- b _081A8D32
-_081A8C16:
- ldr r3, =gUnknown_086126AE
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0x7
- b _081A8C72
- .pool
-_081A8C30:
- ldr r3, =gUnknown_086126A8
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0xA
- b _081A8C72
- .pool
-_081A8C48:
- ldr r3, =gUnknown_086126AA
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0x8
- b _081A8C72
- .pool
-_081A8C60:
- ldr r3, =gUnknown_086126AC
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0x9
-_081A8C72:
- strb r1, [r0, 0x9]
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl ScriptMovement_StartObjectMovementScript
- b _081A8D32
- .pool
-_081A8C9C:
- cmp r6, 0x1
- bne _081A8D32
- cmp r0, 0x2
- beq _081A8D00
- cmp r0, 0x2
- bgt _081A8CAE
- cmp r0, 0x1
- beq _081A8CD0
- b _081A8D32
-_081A8CAE:
- cmp r1, 0x3
- beq _081A8CE8
- cmp r1, 0x4
- bne _081A8D32
- ldr r3, =gUnknown_086126AA
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0x8
- b _081A8D12
- .pool
-_081A8CD0:
- ldr r3, =gUnknown_086126AC
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0x9
- b _081A8D12
- .pool
-_081A8CE8:
- ldr r3, =gUnknown_086126AE
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0x7
- b _081A8D12
- .pool
-_081A8D00:
- ldr r3, =gUnknown_086126A8
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- movs r1, 0xA
-_081A8D12:
- strb r1, [r0, 0x9]
- mov r2, r8
- ldr r0, [r2]
- adds r0, r4
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r7
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl ScriptMovement_StartObjectMovementScript
-_081A8D32:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r3, r8
- ldr r0, [r3]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r9, r0
- bcs _081A8D4A
- b _081A8B3E
-_081A8D4A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8AF8
-
- thumb_func_start sub_81A8D60
-sub_81A8D60: @ 81A8D60
- push {r4,lr}
- ldr r4, =gUnknown_0203CE50
- ldr r3, [r4]
- adds r2, r3, 0
- adds r2, 0x40
- ldrb r2, [r2]
- lsls r2, 2
- adds r3, r2
- strb r0, [r3, 0x1]
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- lsls r0, 2
- adds r2, r0
- strb r1, [r2]
- ldr r1, [r4]
- adds r1, 0x40
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8D60
-
- thumb_func_start sub_81A8D94
-sub_81A8D94: @ 81A8D94
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r5, r0, r1
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, r5
- ldrh r0, [r1, 0x4]
- adds r0, 0x7
- ldrh r1, [r1, 0x6]
- adds r1, 0x7
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gUnknown_0203CE50
- ldr r0, [r0]
- adds r0, 0x41
- ldrb r0, [r0]
- movs r1, 0xA6
- lsls r1, 2
- cmp r0, 0
- bne _081A8DDA
- subs r1, 0x48
-_081A8DDA:
- subs r1, r2, r1
- adds r0, r1, 0
- cmp r1, 0
- bge _081A8DE4
- adds r0, r1, 0x7
-_081A8DE4:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- subs r0, r6
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- blt _081A8DFC
- cmp r1, 0x3
- bne _081A8E08
-_081A8DFC:
- movs r2, 0
- b _081A8E1A
- .pool
-_081A8E08:
- cmp r1, 0
- bgt _081A8E14
- movs r0, 0x3
- negs r0, r0
- cmp r1, r0
- bne _081A8E18
-_081A8E14:
- movs r2, 0x1
- b _081A8E1A
-_081A8E18:
- movs r2, 0x2
-_081A8E1A:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r5
- ldrb r0, [r1, 0x9]
- adds r3, r0, 0
- cmp r2, 0
- bne _081A8E4C
- cmp r0, 0x8
- beq _081A8E72
- cmp r0, 0x8
- bgt _081A8E38
- cmp r0, 0x7
- beq _081A8E48
- b _081A8E76
-_081A8E38:
- cmp r0, 0x9
- beq _081A8E44
- cmp r0, 0xA
- bne _081A8E76
- movs r0, 0x7
- b _081A8E74
-_081A8E44:
- movs r0, 0x8
- b _081A8E74
-_081A8E48:
- movs r0, 0x9
- b _081A8E74
-_081A8E4C:
- cmp r2, 0x1
- bne _081A8E76
- cmp r0, 0x8
- beq _081A8E6A
- cmp r0, 0x8
- bgt _081A8E5E
- cmp r0, 0x7
- beq _081A8E72
- b _081A8E76
-_081A8E5E:
- cmp r3, 0x9
- beq _081A8E6E
- cmp r3, 0xA
- bne _081A8E76
- movs r0, 0x8
- b _081A8E74
-_081A8E6A:
- movs r0, 0x9
- b _081A8E74
-_081A8E6E:
- movs r0, 0x7
- b _081A8E74
-_081A8E72:
- movs r0, 0xA
-_081A8E74:
- strb r0, [r1, 0x9]
-_081A8E76:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81A8D94
-
- thumb_func_start sub_81A8E7C
-sub_81A8E7C: @ 81A8E7C
- push {lr}
- ldr r1, =gUnknown_08613EE0
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8E7C
-
- thumb_func_start sub_81A8E9C
-sub_81A8E9C: @ 81A8E9C
- push {r4-r6,lr}
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r4, =0x00000ca9
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- ldr r0, =0x00000ca8
- adds r1, r0
- movs r2, 0
- strb r2, [r1]
- ldr r1, [r3]
- ldr r6, =0x00000cb2
- adds r0, r1, r6
- strh r2, [r0]
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- cmp r5, 0
- beq _081A8EF0
- ldr r0, [r3]
- ldr r1, =0x00000cdc
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x80
- lsls r0, 6
- b _081A8EFC
- .pool
-_081A8EF0:
- ldr r0, [r3]
- ldr r6, =0x00000cdc
- adds r0, r6
- ldr r2, [r0]
- movs r0, 0x80
- lsls r0, 5
-_081A8EFC:
- ands r2, r0
- cmp r2, 0
- bne _081A8F14
- ldr r0, [r3]
- lsls r1, r5, 1
- ldr r3, =0x00000e1a
- adds r0, r3
- adds r0, r1
- strh r2, [r0]
- adds r0, r5, 0
- bl sub_81AAA7C
-_081A8F14:
- bl sub_81C4EEC
- ldr r0, =gTrainerBattleOpponent_A
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattleOutcome
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8E9C
-
- thumb_func_start sub_81A8F38
-sub_81A8F38: @ 81A8F38
- push {r4,lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r4, r0, 30
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x6
- bls _081A8F54
- b _081A903A
-_081A8F54:
- lsls r0, 2
- ldr r1, =_081A8F70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A8F70:
- .4byte _081A8F8C
- .4byte _081A8F9C
- .4byte _081A8FB4
- .4byte _081A8FE4
- .4byte _081A8FF8
- .4byte _081A9010
- .4byte _081A9028
-_081A8F8C:
- ldr r0, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, =0x00000e18
- b _081A8FFE
- .pool
-_081A8F9C:
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- lsls r1, r4, 1
- ldr r3, =0x00000e1a
- adds r0, r3
- adds r0, r1
- ldrh r0, [r0]
- b _081A9038
- .pool
-_081A8FB4:
- cmp r4, 0
- beq _081A8FCC
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- ldr r1, =0x00000cdc
- adds r0, r1
- b _081A9030
- .pool
-_081A8FCC:
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- ldr r3, =0x00000cdc
- adds r0, r3
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- b _081A9036
- .pool
-_081A8FE4:
- ldr r0, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r2, =0x00000e1a
- adds r1, r2
- b _081A9000
- .pool
-_081A8FF8:
- ldr r0, =gSpecialVar_Result
- ldr r1, [r3]
- ldr r3, =0x00000e1c
-_081A8FFE:
- adds r1, r3
-_081A9000:
- ldrh r1, [r1]
- strh r1, [r0]
- b _081A903A
- .pool
-_081A9010:
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- ldr r1, =0x00000cdc
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- b _081A9036
- .pool
-_081A9028:
- ldr r2, =gSpecialVar_Result
- ldr r0, [r3]
- ldr r3, =0x00000cdc
- adds r0, r3
-_081A9030:
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
-_081A9036:
- ands r0, r1
-_081A9038:
- strh r0, [r2]
-_081A903A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A8F38
-
- thumb_func_start sub_81A9048
-sub_81A9048: @ 81A9048
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, =0x00000ca9
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r1, r0, 30
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081A9098
- cmp r0, 0x1
- bgt _081A9078
- cmp r0, 0
- beq _081A9082
- b _081A9126
- .pool
-_081A9078:
- cmp r0, 0x2
- beq _081A90B0
- cmp r0, 0x7
- beq _081A911C
- b _081A9126
-_081A9082:
- ldr r0, =gSpecialVar_0x8006
- ldrh r1, [r0]
- ldr r3, =0x00000e18
- adds r0, r2, r3
- strh r1, [r0]
- b _081A9126
- .pool
-_081A9098:
- lsls r1, 1
- ldr r3, =0x00000e1a
- adds r0, r2, r3
- adds r0, r1
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- strh r1, [r0]
- b _081A9126
- .pool
-_081A90B0:
- cmp r1, 0
- beq _081A90E4
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A90D0
- ldr r1, =0x00000cdc
- adds r0, r2, r1
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 6
- b _081A90F6
- .pool
-_081A90D0:
- ldr r3, =0x00000cdc
- adds r0, r2, r3
- ldr r1, [r0]
- ldr r2, =0xffffdfff
- b _081A910C
- .pool
-_081A90E4:
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A9104
- ldr r1, =0x00000cdc
- adds r0, r2, r1
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 5
-_081A90F6:
- orrs r1, r2
- str r1, [r0]
- b _081A9126
- .pool
-_081A9104:
- ldr r3, =0x00000cdc
- adds r0, r2, r3
- ldr r1, [r0]
- ldr r2, =0xffffefff
-_081A910C:
- ands r1, r2
- str r1, [r0]
- b _081A9126
- .pool
-_081A911C:
- ldr r0, =gSpecialVar_0x8006
- ldrh r1, [r0]
- ldr r3, =0x00000e2a
- adds r0, r2, r3
- strb r1, [r0]
-_081A9126:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9048
-
- thumb_func_start sub_81A9134
-sub_81A9134: @ 81A9134
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl save_serialize_map
- movs r0, 0x1
- bl TrySavingData
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9134
-
- thumb_func_start sub_81A917C
-sub_81A917C: @ 81A917C
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 29
- ldr r2, =0x00000e1a
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0x29
- bls _081A91CC
- bl Random
- ldr r4, [r4]
- ldr r5, =gUnknown_08613F34
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x9
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- ldr r1, =0x00000e18
- adds r4, r1
- b _081A91EA
- .pool
-_081A91CC:
- bl Random
- ldr r4, [r4]
- ldr r5, =gUnknown_08613F28
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 15
- adds r0, r5
- ldrh r0, [r0]
- ldr r2, =0x00000e18
- adds r4, r2
-_081A91EA:
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A917C
-
- thumb_func_start sub_81A91FC
-sub_81A91FC: @ 81A91FC
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e18
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081A9244
- ldr r0, [r4]
- ldr r1, =0x00000e18
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e18
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081A924A
- .pool
-_081A9244:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081A924A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A91FC
-
- thumb_func_start sub_81A9254
-sub_81A9254: @ 81A9254
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gSaveBlock2Ptr
-_081A925A:
- bl Random
- ldr r1, [r5]
- lsls r2, r4, 1
- ldr r3, =0x00000e22
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _081A925A
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e2a
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9254
-
- thumb_func_start CalculateBattlePyramidItemBallItemId
-CalculateBattlePyramidItemBallItemId: @ 81A9290
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- mov r10, r0
- adds r2, 0x9
- adds r0, r1, r2
- ldrh r0, [r0]
- str r0, [sp]
- mov r2, r10
- lsls r0, r2, 1
- ldr r2, =0x00000e1a
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x13
- bls _081A92DE
- movs r0, 0x13
- mov r8, r0
-_081A92DE:
- bl sub_81AA9E4
- lsls r0, 24
- ldr r1, =gSpecialVar_LastTalked
- ldrh r4, [r1]
- ldr r1, =gUnknown_08613650
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x1]
- subs r4, r0
- subs r7, r4, 0x1
- ldr r1, [r5]
- lsrs r0, r7, 31
- adds r0, r7, r0
- asrs r0, 1
- lsls r0, 1
- ldr r2, =0x00000e22
- adds r1, r2
- adds r1, r0
- ldrh r6, [r1]
- adds r0, r6, 0
- bl SeedRng2
- movs r5, 0
- mov r0, r8
- lsls r0, 2
- mov r9, r0
- cmp r5, r4
- bge _081A9332
-_081A9318:
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r5, 0x1
- adds r0, r7, 0x1
- cmp r5, r0
- blt _081A9318
-_081A9332:
- ldr r0, =gUnknown_08613B3A
- ldr r1, [sp]
- adds r0, r1, r0
- ldrb r5, [r0]
- ldr r1, =gUnknown_08613ABC
- ldr r3, =gSpecialVar_0x8000
- ldr r4, =gSpecialVar_0x8001
- cmp r5, 0x3E
- bhi _081A935E
- lsls r2, r5, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r6, r0
- blt _081A935E
- adds r0, r2, r1
-_081A9350:
- adds r0, 0x2
- adds r5, 0x1
- cmp r5, 0x3E
- bhi _081A935E
- ldrb r2, [r0]
- cmp r6, r2
- bge _081A9350
-_081A935E:
- mov r0, r10
- cmp r0, 0
- beq _081A9394
- ldr r2, =gUnknown_0861392C
- b _081A9396
- .pool
-_081A9394:
- ldr r2, =gUnknown_0861379C
-_081A9396:
- lsls r0, r5, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- mov r1, r9
- add r1, r8
- lsls r1, 2
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3]
- movs r0, 0x1
- strh r0, [r4]
- 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 CalculateBattlePyramidItemBallItemId
-
- thumb_func_start sub_81A93C8
-sub_81A93C8: @ 81A93C8
- push {r4,r5,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r3, r0, r1
- movs r2, 0
- ldr r4, =gSpecialVar_LastTalked
- b _081A93F4
- .pool
-_081A93E4:
- adds r2, 0x1
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _081A940A
-_081A93F4:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r3
- ldrb r0, [r1]
- ldrh r5, [r4]
- cmp r0, r5
- bne _081A93E4
- ldr r0, =0x00007fff
- strh r0, [r1, 0x4]
- strh r0, [r1, 0x6]
-_081A940A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A93C8
-
- thumb_func_start sub_81A9414
-sub_81A9414: @ 81A9414
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A9414
-
- thumb_func_start sub_81A9424
-sub_81A9424: @ 81A9424
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r0, 0
- mov r9, r0
- movs r7, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r1, r0
- mov r8, r1
- ldr r2, =gEventObjects
- ldr r0, =gSelectedEventObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x8]
- bl sub_81A9AA8
- lsls r0, 16
- lsrs r5, r0, 16
- movs r6, 0
- ldr r2, =gUnknown_08613C1C
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _081A9488
- ldrb r2, [r2, 0x1]
- mov r9, r2
- b _081A94AE
- .pool
-_081A9488:
- adds r6, 0x1
- cmp r6, 0x31
- bhi _081A94AE
- ldr r4, =gUnknown_08613C1C
- lsls r3, r6, 1
- adds r2, r3, r4
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _081A9488
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- mov r9, r0
-_081A94AE:
- ldr r3, =gUnknown_08613ED8
- ldr r2, =gEventObjects
- ldr r0, =gSelectedEventObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x8]
- subs r0, 0x1
- adds r0, r3
- ldrb r0, [r0]
- str r0, [sp]
- movs r6, 0
- mov r3, r9
- lsls r3, 2
- mov r9, r3
-_081A94D0:
- ldr r0, [sp]
- cmp r0, 0x8
- bls _081A94D8
- b _081A95E8
-_081A94D8:
- lsls r0, 2
- ldr r1, =_081A94FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081A94FC:
- .4byte _081A9520
- .4byte _081A9530
- .4byte _081A9572
- .4byte _081A95B4
- .4byte _081A95BA
- .4byte _081A95C0
- .4byte _081A95C6
- .4byte _081A95D2
- .4byte _081A95DE
-_081A9520:
- mov r0, sp
- movs r1, 0x8
- movs r2, 0
- bl sub_81A9998
- lsls r0, 24
- lsrs r7, r0, 24
- b _081A95EE
-_081A9530:
- movs r6, 0
- ldr r2, =0x7fff0000
- mov r4, r8
- adds r4, 0x4
- mov r5, r8
- b _081A9560
- .pool
-_081A9540:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3B
- bne _081A955A
- movs r1, 0
- ldrsh r0, [r4, r1]
- asrs r1, r2, 16
- cmp r0, r1
- beq _081A955A
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- cmp r0, r1
- beq _081A955A
- adds r7, 0x1
-_081A955A:
- adds r4, 0x18
- adds r5, 0x18
- adds r6, 0x1
-_081A9560:
- str r2, [sp, 0x4]
- bl sub_81AAA40
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x4]
- cmp r6, r0
- blt _081A9540
- b _081A95EE
-_081A9572:
- bl sub_81AA9E4
- lsls r0, 24
- ldr r1, =gUnknown_08613650
- lsrs r0, 20
- adds r0, r1
- ldrb r7, [r0, 0x1]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e2a
- adds r0, r1
- ldrb r2, [r0]
- ldr r1, =gBitTable
- movs r6, 0x7
-_081A958E:
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _081A9598
- subs r7, 0x1
-_081A9598:
- adds r1, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _081A958E
- b _081A95EE
- .pool
-_081A95B4:
- mov r0, sp
- movs r1, 0x8
- b _081A95D6
-_081A95BA:
- mov r0, sp
- movs r1, 0x8
- b _081A95CA
-_081A95C0:
- mov r0, sp
- movs r1, 0x10
- b _081A95D6
-_081A95C6:
- mov r0, sp
- movs r1, 0x10
-_081A95CA:
- movs r2, 0x1
- bl sub_81A9998
- b _081A95E8
-_081A95D2:
- mov r0, sp
- movs r1, 0x18
-_081A95D6:
- movs r2, 0x2
- bl sub_81A9998
- b _081A95E8
-_081A95DE:
- mov r0, sp
- movs r1, 0x18
- movs r2, 0x1
- bl sub_81A9998
-_081A95E8:
- cmp r6, 0
- bne _081A95EE
- b _081A94D0
-_081A95EE:
- ldr r1, =gUnknown_08613EC0
- add r1, r9
- ldr r0, [sp]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9424
-
- thumb_func_start sub_81A9618
-sub_81A9618: @ 81A9618
- push {r4,r5,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r2, r0, 29
- ldr r4, =0x00000e1a
- adds r1, r4
- adds r1, r2
- ldrh r3, [r1]
- ldr r0, =0x000003e6
- cmp r3, r0
- bhi _081A963A
- adds r0, r3, 0x1
- strh r0, [r1]
-_081A963A:
- ldr r0, [r5]
- adds r1, r0, r4
- adds r1, r2
- ldr r3, =0x00000e1e
- adds r0, r3
- adds r0, r2
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bls _081A9650
- strh r1, [r0]
-_081A9650:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9618
-
- thumb_func_start sub_81A966C
-sub_81A966C: @ 81A966C
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- bl InBattlePyramid
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A966C
-
- thumb_func_start sub_81A9684
-sub_81A9684: @ 81A9684
- push {r4,lr}
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- cmp r0, 0
- beq _081A9698
- cmp r0, 0x1
- beq _081A96B4
- b _081A9754
- .pool
-_081A9698:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000e68
- adds r0, r2
- strb r1, [r0]
- b _081A9754
- .pool
-_081A96B4:
- ldr r4, =gSpecialVar_Result
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _081A9710
- cmp r0, 0x1
- bgt _081A9754
- cmp r0, 0
- bne _081A9754
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081A9754
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e68
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x77
- bls _081A96F4
- movs r0, 0x78
- strb r0, [r1]
- b _081A96FC
- .pool
-_081A96F4:
- ldr r0, =gSpecialVar_0x8007
- ldrh r0, [r0]
- bl PlaySE
-_081A96FC:
- ldr r1, =gSpecialVar_Result
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081A9754
- .pool
-_081A9710:
- ldr r1, =gSpecialVar_0x8005
- ldrh r0, [r1]
- cmp r0, 0
- beq _081A9750
- subs r0, 0x1
- strh r0, [r1]
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- ldr r2, =0x00000e68
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _081A973E
- movs r0, 0x78
- strb r0, [r1]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_081A973E:
- bl door_upload_tiles
- b _081A9754
- .pool
-_081A9750:
- movs r0, 0x2
- strh r0, [r4]
-_081A9754:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81A9684
-
- thumb_func_start sub_81A975C
-sub_81A975C: @ 81A975C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- movs r0, 0x64
- mov r9, r0
- ldr r1, =gPlayerParty
- mov r8, r1
-_081A9776:
- movs r4, 0
- adds r7, r5, 0x1
- mov r6, r9
- muls r6, r5
-_081A977E:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r4, 1
- ldr r2, =0x00000caa
- adds r0, r2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- beq _081A97A2
- subs r0, 0x1
- cmp r0, r5
- bne _081A97A2
- mov r1, r8
- adds r0, r6, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_081A97A2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _081A977E
- adds r5, r7, 0
- cmp r5, 0x5
- ble _081A9776
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A975C
-
- thumb_func_start sub_81A97C8
-sub_81A97C8: @ 81A97C8
- push {lr}
- ldr r0, =sub_81A97DC
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A97C8
-
- thumb_func_start sub_81A97DC
-sub_81A97DC: @ 81A97DC
- 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
- beq _081A980C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 5
- ldr r1, =gUnknown_08D856C8
- adds r0, r1
- ldr r1, =gPlttBufferUnfaded + 0xC0
- movs r2, 0x10
- bl CpuSet
- adds r0, r4, 0
- bl DestroyTask
-_081A980C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A97DC
-
- thumb_func_start sub_81A9828
-sub_81A9828: @ 81A9828
- push {lr}
- bl sub_809FDD4
- pop {r0}
- bx r0
- thumb_func_end sub_81A9828
-
- thumb_func_start sub_81A9834
-sub_81A9834: @ 81A9834
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r0, 0
- str r0, [sp]
-_081A9844:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, [sp]
- lsls r1, r2, 1
- ldr r5, =0x00000caa
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- subs r5, r0, 0x1
- movs r0, 0
- str r0, [sp, 0x4]
- movs r2, 0x64
- adds r1, r5, 0
- muls r1, r2
- str r1, [sp, 0x8]
- movs r0, 0x8E
- lsls r0, 2
- adds r6, r1, r0
- movs r1, 0
- str r1, [sp, 0x10]
-_081A986C:
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- ldr r3, =gPlayerParty
- ldr r1, [sp, 0x10]
- adds r0, r1, r3
- movs r1, 0xB
- movs r2, 0
- str r3, [sp, 0x14]
- bl GetMonData
- ldr r3, [sp, 0x14]
- cmp r4, r0
- bne _081A993C
- movs r6, 0
- adds r2, r5, 0x1
- str r2, [sp, 0xC]
- movs r1, 0x64
- adds r0, r5, 0
- muls r0, r1
- movs r5, 0x8E
- lsls r5, 2
- adds r5, r0
- mov r9, r5
- ldr r7, [sp, 0x4]
- muls r7, r1
- mov r10, r3
-_081A98AC:
- movs r5, 0
- adds r0, r6, 0x1
- mov r8, r0
- b _081A98C6
- .pool
-_081A98C4:
- adds r5, 0x1
-_081A98C6:
- cmp r5, 0x3
- bgt _081A98EE
- ldr r1, =gSaveBlock1Ptr
- ldr r0, [r1]
- add r0, r9
- adds r1, r5, 0
- adds r1, 0xD
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r1, r6, 0
- adds r1, 0xD
- mov r2, r10
- adds r0, r7, r2
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bne _081A98C4
-_081A98EE:
- cmp r5, 0x4
- bne _081A9900
- lsls r2, r6, 24
- lsrs r2, 24
- mov r5, r10
- adds r0, r7, r5
- movs r1, 0xA6
- bl SetMonMoveSlot
-_081A9900:
- mov r6, r8
- cmp r6, 0x3
- ble _081A98AC
- ldr r1, =gSaveBlock1Ptr
- ldr r0, [r1]
- ldr r2, [sp, 0x8]
- adds r0, r2
- movs r5, 0x8E
- lsls r5, 2
- adds r0, r5
- ldr r1, =gPlayerParty
- ldr r2, [sp, 0x10]
- adds r1, r2, r1
- movs r2, 0x64
- bl memcpy
- ldr r0, =gUnknown_0203CEF8
- ldr r5, [sp, 0x4]
- adds r0, r5, r0
- mov r1, sp
- ldrb r1, [r1, 0xC]
- strb r1, [r0]
- b _081A994C
- .pool
-_081A993C:
- ldr r2, [sp, 0x10]
- adds r2, 0x64
- str r2, [sp, 0x10]
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
- cmp r0, 0x2
- ble _081A986C
-_081A994C:
- ldr r1, [sp]
- adds r1, 0x1
- str r1, [sp]
- cmp r1, 0x2
- bgt _081A9958
- b _081A9844
-_081A9958:
- movs r2, 0
- str r2, [sp]
- ldr r4, =gSaveBlock2Ptr
- ldr r3, =0x00000caa
- ldr r2, =gUnknown_0203CEF8
-_081A9962:
- ldr r1, [r4]
- ldr r5, [sp]
- lsls r0, r5, 1
- adds r1, r3
- adds r1, r0
- adds r0, r5, r2
- ldrb r0, [r0]
- strh r0, [r1]
- adds r5, 0x1
- str r5, [sp]
- cmp r5, 0x2
- ble _081A9962
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9834
-
- thumb_func_start sub_81A9998
-sub_81A9998: @ 81A9998
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- movs r4, 0
- ldr r0, =gUnknown_03005DC0
- ldr r5, [r0, 0x8]
- ldr r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, 0xE
- adds r5, r0
- movs r3, 0
- ldr r0, =0x000003ff
- mov r8, r0
- ldr r1, =0x0000028e
- mov r12, r1
- ldr r0, =gEventObjects
- mov r9, r0
-_081A99CC:
- movs r2, 0
-_081A99CE:
- lsls r0, r2, 1
- adds r0, r5
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- cmp r0, r12
- bne _081A9A8A
- adds r2, 0x7
- ldr r0, =gSelectedEventObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- movs r5, 0xC
- ldrsh r1, [r0, r5]
- subs r2, r1
- adds r1, r3, 0x7
- movs r3, 0xE
- ldrsh r0, [r0, r3]
- subs r3, r1, r0
- cmp r2, r6
- bge _081A9A0E
- negs r0, r6
- cmp r2, r0
- ble _081A9A0E
- cmp r3, r6
- bge _081A9A0E
- cmp r3, r0
- ble _081A9A0E
- cmp r7, 0
- bne _081A9A84
-_081A9A0E:
- cmp r2, 0
- ble _081A9A34
- cmp r3, 0
- ble _081A9A34
- movs r4, 0x3
- cmp r2, r3
- blt _081A9A7C
- movs r4, 0x2
- b _081A9A7C
- .pool
-_081A9A34:
- cmp r2, 0
- bge _081A9A46
- cmp r3, 0
- bge _081A9A46
- movs r4, 0x1
- cmp r2, r3
- ble _081A9A7C
- movs r4, 0
- b _081A9A7C
-_081A9A46:
- cmp r2, 0
- bne _081A9A54
- movs r4, 0
- cmp r3, 0
- ble _081A9A7C
- movs r4, 0x3
- b _081A9A7C
-_081A9A54:
- cmp r3, 0
- bne _081A9A62
- movs r4, 0x1
- cmp r2, 0
- ble _081A9A7C
- movs r4, 0x2
- b _081A9A7C
-_081A9A62:
- cmp r2, 0
- bge _081A9A72
- adds r0, r2, r3
- movs r4, 0x1
- cmp r0, 0
- ble _081A9A7C
- movs r4, 0x3
- b _081A9A7C
-_081A9A72:
- adds r0, r2, r3
- mvns r0, r0
- asrs r4, r0, 31
- movs r0, 0x2
- ands r4, r0
-_081A9A7C:
- movs r0, 0
- mov r5, r10
- str r0, [r5]
- b _081A9A98
-_081A9A84:
- mov r0, r10
- str r7, [r0]
- b _081A9A98
-_081A9A8A:
- adds r2, 0x1
- cmp r2, 0x1F
- ble _081A99CE
- adds r5, 0x5E
- adds r3, 0x1
- cmp r3, 0x1F
- ble _081A99CC
-_081A9A98:
- adds r0, r4, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81A9998
-
- thumb_func_start sub_81A9AA8
-sub_81A9AA8: @ 81A9AA8
- lsls r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- lsrs r0, 23
- adds r1, r0
- ldr r0, =0x00000cb2
- adds r1, r0
- ldrh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81A9AA8
-
- thumb_func_start GetBattlePyramidTrainerFlag
-GetBattlePyramidTrainerFlag: @ 81A9AC4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- ldr r1, =0x00000e2a
- adds r2, r1
- ldr r4, =gBitTable
- ldr r3, =gEventObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r0, [r1, 0x8]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r2]
- ands r0, r1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBattlePyramidTrainerFlag
-
- thumb_func_start sub_81A9B04
-sub_81A9B04: @ 81A9B04
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl sub_81A9B44
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _081A9B2E
- movs r0, 0x1
- bl GetChosenApproachingTrainerEventObjectId
- ldr r1, =gSelectedEventObject
- strb r0, [r1]
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- bl sub_81A9B44
-_081A9B2E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9B04
-
- thumb_func_start sub_81A9B44
-sub_81A9B44: @ 81A9B44
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r0, =gEventObjects
- mov r12, r0
- ldr r6, =gSelectedEventObject
- ldr r1, =gSaveBlock1Ptr
- mov r10, r1
- ldr r7, =gSaveBlock2Ptr
- mov r9, r7
- ldr r0, =0x00000cb4
- mov r8, r0
- ldr r4, =gBitTable
-_081A9B68:
- mov r1, r9
- ldr r2, [r1]
- lsls r0, r3, 1
- mov r7, r8
- adds r1, r2, r7
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r5
- bne _081A9B86
- ldr r1, =0x00000e2a
- adds r0, r2, r1
- ldr r1, [r4]
- ldrb r2, [r0]
- orrs r1, r2
- strb r1, [r0]
-_081A9B86:
- adds r4, 0x4
- adds r3, 0x1
- cmp r3, 0x7
- ble _081A9B68
- ldrb r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r12
- movs r3, 0x2
- strb r3, [r0, 0x6]
- mov r7, r10
- ldr r2, [r7]
- ldr r0, =gSpecialVar_LastTalked
- ldrh r1, [r0]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- ldr r1, =0x00000c79
- adds r2, r1
- strb r3, [r2]
- ldrb r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrh r1, [r0, 0x10]
- strh r1, [r0, 0xC]
- ldrb r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrh r1, [r0, 0x12]
- strh r1, [r0, 0xE]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9B44
-
- thumb_func_start GenerateBattlePyramidWildMon
-GenerateBattlePyramidWildMon: @ 81A9C04
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r5, r0, 30
- lsls r0, r5, 1
- ldr r2, =0x00000e1a
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bls _081A9C3A
- movs r0, 0x13
-_081A9C3A:
- cmp r5, 0
- beq _081A9C54
- ldr r1, =gBattlePyramidOpenLevelWildMonPointers
- b _081A9C56
- .pool
-_081A9C54:
- ldr r1, =gBattlePyramidLevel50WildMonPointers
-_081A9C56:
- lsls r0, 2
- adds r0, r1
- ldr r6, [r0]
- ldr r4, =gEnemyParty
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- subs r0, 0x1
- str r0, [sp, 0x10]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r2, r6, r2
- adds r0, r4, 0
- movs r1, 0xB
- bl SetMonData
- ldr r1, [sp, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0]
- mov r0, sp
- bl GetSpeciesName
- adds r0, r4, 0
- movs r1, 0x2
- mov r2, sp
- bl SetMonData
- cmp r5, 0
- beq _081A9CD4
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, [sp, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- subs r5, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- subs r0, 0x5
- adds r5, r0
- b _081A9CF6
- .pool
-_081A9CD4:
- bl Random
- ldr r2, [sp, 0x10]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- ldrb r4, [r1, 0x2]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- subs r0, 0x5
- adds r5, r4, r0
-_081A9CF6:
- ldr r4, =gEnemyParty
- ldr r2, =gBaseStats
- ldr r1, [sp, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- adds r2, r1, 0
- muls r2, r0
- lsls r0, r5, 2
- ldr r1, =gExperienceTables
- adds r0, r1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x19
- bl SetMonData
- ldr r1, [sp, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x3]
- cmp r1, 0
- blt _081A9D4C
- cmp r1, 0x1
- bgt _081A9D4C
- adds r2, r0, 0x3
- b _081A9D7C
- .pool
-_081A9D4C:
- ldr r2, =gBaseStats
- ldr r1, [sp, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x17]
- cmp r0, 0
- beq _081A9D90
- ldr r4, =gEnemyParty
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- movs r1, 0x1
- ands r1, r0
- str r1, [sp, 0xC]
- add r2, sp, 0xC
-_081A9D7C:
- adds r0, r4, 0
- movs r1, 0x2E
- bl SetMonData
- b _081A9D9C
- .pool
-_081A9D90:
- str r0, [sp, 0xC]
- ldr r0, =gEnemyParty
- add r2, sp, 0xC
- movs r1, 0x2E
- bl SetMonData
-_081A9D9C:
- movs r0, 0
- str r0, [sp, 0xC]
- movs r2, 0
- lsls r4, r5, 1
-_081A9DA4:
- ldr r1, [sp, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- lsls r1, r2, 1
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gEnemyParty
- bl SetMonMoveSlot
- ldr r0, [sp, 0xC]
- adds r0, 0x1
- str r0, [sp, 0xC]
- adds r2, r0, 0
- cmp r2, 0x3
- ble _081A9DA4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e1a
- adds r0, r1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x8B
- bls _081A9E0C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x11
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0xF
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [sp, 0xC]
-_081A9DF6:
- adds r1, r0, 0
- adds r1, 0x27
- ldr r0, =gEnemyParty
- add r2, sp, 0x10
- bl SetMonData
- ldr r0, [sp, 0xC]
- adds r0, 0x1
- str r0, [sp, 0xC]
- cmp r0, 0x5
- ble _081A9DF6
-_081A9E0C:
- ldr r0, =gEnemyParty
- bl CalculateMonStats
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GenerateBattlePyramidWildMon
-
- thumb_func_start sub_81A9E28
-sub_81A9E28: @ 81A9E28
- push {lr}
- bl sub_81AA9E4
- lsls r0, 24
- ldr r1, =gUnknown_08613650
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x4]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A9E28
-
- thumb_func_start InBattlePyramid
-InBattlePyramid: @ 81A9E40
- push {lr}
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _081A9E58
- movs r0, 0x1
- b _081A9E66
- .pool
-_081A9E58:
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- beq _081A9E64
- movs r0, 0
- b _081A9E66
-_081A9E64:
- movs r0, 0x2
-_081A9E66:
- pop {r1}
- bx r1
- thumb_func_end InBattlePyramid
-
- thumb_func_start sub_81A9E6C
-sub_81A9E6C: @ 81A9E6C
- push {lr}
- movs r2, 0
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- beq _081A9E80
- adds r0, 0x11
- cmp r1, r0
- bne _081A9E82
-_081A9E80:
- movs r2, 0x1
-_081A9E82:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A9E6C
-
- thumb_func_start sub_81A9E90
-sub_81A9E90: @ 81A9E90
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _081A9EB8
- bl sub_81A9834
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca8
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, =0x0000400e
- movs r1, 0
- bl VarSet
- bl LoadPlayerParty
-_081A9EB8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9E90
-
- thumb_func_start sub_81A9EC8
-sub_81A9EC8: @ 81A9EC8
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _081A9ED8
- bl DoSoftReset
-_081A9ED8:
- pop {r0}
- bx r0
- thumb_func_end sub_81A9EC8
-
- thumb_func_start sub_81A9EDC
-sub_81A9EDC: @ 81A9EDC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gFacilityTrainers
- movs r1, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9EDC
-
- thumb_func_start sub_81A9EFC
-sub_81A9EFC: @ 81A9EFC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gFacilityTrainers
- movs r1, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0x18
- bl ConvertBattleFrontierTrainerSpeechToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9EFC
-
- thumb_func_start sub_81A9F1C
-sub_81A9F1C: @ 81A9F1C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gFacilityTrainers
- movs r1, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0x24
- bl ConvertBattleFrontierTrainerSpeechToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9F1C
-
- thumb_func_start GetTrainerEncounterMusicIdInBattlePyramind
-GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0
- ldr r3, =gFacilityClassToTrainerClass
- ldr r1, =gFacilityTrainers
- ldr r2, [r1]
- movs r1, 0x34
- muls r0, r1
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- ldrb r2, [r0]
- ldr r1, =gUnknown_08613B44
-_081A9F58:
- ldrb r0, [r1]
- cmp r0, r2
- bne _081A9F70
- ldrb r0, [r1, 0x1]
- b _081A9F7A
- .pool
-_081A9F70:
- adds r1, 0x4
- adds r4, 0x1
- cmp r4, 0x35
- bls _081A9F58
- movs r0, 0
-_081A9F7A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetTrainerEncounterMusicIdInBattlePyramind
-
- thumb_func_start sub_81A9F80
-sub_81A9F80: @ 81A9F80
- push {lr}
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81A9F80
-
- thumb_func_start sub_81A9F90
-sub_81A9F90: @ 81A9F90
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r1, =0x00000ca9
- adds r0, r4, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r1, 29
- ldr r2, =0x00000e1a
- adds r0, r4, r2
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x00000cb2
- adds r4, r1
- ldrh r1, [r4]
- cmp r1, 0x7
- bne _081AA020
- adds r0, 0x1
- lsls r7, r0, 24
- lsls r1, 24
- mov r8, r1
-_081A9FCC:
- lsrs r0, r7, 24
- mov r2, r8
- lsrs r1, r2, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r5
- bge _081AA004
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r4, =0x00000cb4
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r3
- beq _081AA004
- adds r6, r1, 0
-_081A9FF0:
- adds r2, 0x1
- cmp r2, r5
- bge _081AA004
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _081A9FF0
-_081AA004:
- cmp r2, r5
- bne _081A9FCC
- b _081AA062
- .pool
-_081AA020:
- lsls r1, 24
- mov r8, r1
- lsls r7, r0, 24
-_081AA026:
- lsrs r0, r7, 24
- mov r2, r8
- lsrs r1, r2, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r5
- bge _081AA05E
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r4, =0x00000cb4
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r3
- beq _081AA05E
- adds r6, r1, 0
-_081AA04A:
- adds r2, 0x1
- cmp r2, r5
- bge _081AA05E
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _081AA04A
-_081AA05E:
- cmp r2, r5
- bne _081AA026
-_081AA062:
- adds r0, r3, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81A9F90
-
- thumb_func_start sub_81AA078
-sub_81AA078: @ 81AA078
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x8]
- movs r0, 0x10
- bl AllocZeroed
- str r0, [sp, 0xC]
- bl sub_81AA96C
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_81AA33C
- movs r7, 0
-_081AA0A6:
- ldr r1, [sp, 0xC]
- adds r0, r1, r7
- ldrb r0, [r0]
- ldr r2, =0x00000169
- adds r0, r2
- lsls r0, 2
- ldr r1, =gMapLayouts
- adds r0, r1
- ldr r6, [r0]
- ldr r2, [r6, 0xC]
- mov r10, r2
- ldr r0, [sp, 0x4]
- ldr r1, =gUnknown_03005DC0
- str r0, [r1, 0x8]
- ldr r0, [r6]
- lsls r0, 2
- adds r2, r0, 0
- adds r2, 0xF
- str r2, [r1]
- ldr r0, [r6, 0x4]
- lsls r0, 2
- adds r0, 0xE
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x4]
- mov r9, r0
- adds r1, r7, 0
- cmp r7, 0
- bge _081AA0E0
- adds r1, r7, 0x3
-_081AA0E0:
- asrs r1, 2
- ldr r4, [r6, 0x4]
- adds r0, r1, 0
- muls r0, r4
- adds r0, 0x7
- muls r2, r0
- lsls r1, 2
- subs r1, r7, r1
- ldr r3, [r6]
- adds r0, r1, 0
- muls r0, r3
- adds r0, 0x7
- adds r2, r0
- lsls r2, 1
- add r9, r2
- movs r1, 0
- mov r8, r1
- adds r2, r7, 0x1
- str r2, [sp, 0x10]
- cmp r8, r4
- bge _081AA1B6
-_081AA10A:
- movs r0, 0
- mov r12, r0
- mov r1, r8
- adds r1, 0x1
- str r1, [sp, 0x14]
- cmp r12, r3
- bge _081AA1A2
- ldr r2, =gSaveBlock1Ptr
- str r2, [sp, 0x18]
- mov r4, r9
- mov r5, r10
-_081AA120:
- ldrh r1, [r5]
- ldr r0, =0x000003ff
- ands r0, r1
- ldr r2, =0x0000028e
- cmp r0, r2
- bne _081AA194
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r7, r0
- beq _081AA194
- mov r0, sp
- ldrb r0, [r0]
- cmp r7, r0
- bne _081AA164
- ldr r1, [sp, 0x8]
- cmp r1, 0
- bne _081AA164
- ldr r2, [sp, 0x18]
- ldr r3, [r2]
- adds r2, r7, 0
- cmp r7, 0
- bge _081AA14E
- adds r2, r7, 0x3
-_081AA14E:
- asrs r2, 2
- lsls r1, r2, 2
- subs r1, r7, r1
- ldr r0, [r6]
- muls r0, r1
- add r0, r12
- strh r0, [r3]
- ldr r0, [r6, 0x4]
- muls r0, r2
- add r0, r8
- strh r0, [r3, 0x2]
-_081AA164:
- ldrh r0, [r5]
- movs r1, 0xFC
- lsls r1, 8
- ands r1, r0
- ldr r2, =0x0000028d
- adds r0, r2, 0
- orrs r1, r0
- strh r1, [r4]
- ldr r3, [r6]
- b _081AA196
- .pool
-_081AA194:
- strh r1, [r4]
-_081AA196:
- adds r4, 0x2
- adds r5, 0x2
- movs r0, 0x1
- add r12, r0
- cmp r12, r3
- blt _081AA120
-_081AA1A2:
- lsls r0, r3, 3
- adds r0, 0x1E
- add r9, r0
- lsls r0, r3, 1
- add r10, r0
- ldr r1, [sp, 0x14]
- mov r8, r1
- ldr r0, [r6, 0x4]
- cmp r8, r0
- blt _081AA10A
-_081AA1B6:
- ldr r7, [sp, 0x10]
- cmp r7, 0xF
- bgt _081AA1BE
- b _081AA0A6
-_081AA1BE:
- bl mapheader_run_script_with_tag_x1
- ldr r0, [sp, 0xC]
- bl Free
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81AA078
-
- thumb_func_start sub_81AA1D8
-sub_81AA1D8: @ 81AA1D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r5, 0
- mov r6, sp
- adds r6, 0x1
- add r0, sp, 0x4
- mov r8, r0
- ldr r4, =gSaveBlock2Ptr
- ldr r3, =0x00000cb4
- ldr r0, =0x0000ffff
- adds r2, r0, 0
-_081AA1F2:
- ldr r0, [r4]
- lsls r1, r5, 1
- adds r0, r3
- adds r0, r1
- ldrh r1, [r0]
- orrs r1, r2
- strh r1, [r0]
- adds r5, 0x1
- cmp r5, 0x7
- ble _081AA1F2
- bl sub_81AA9E4
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, sp
- adds r1, r6, 0
- bl sub_81AA33C
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0xC7
- lsls r0, 4
- adds r1, r0
- ldr r2, =0x05000180
- mov r0, r8
- bl CpuSet
- movs r5, 0
-_081AA22E:
- cmp r5, 0
- bne _081AA254
- ldr r1, =gUnknown_08613650
- lsls r0, r7, 4
- adds r0, r1
- ldrb r0, [r0, 0x3]
- b _081AA25C
- .pool
-_081AA254:
- ldr r1, =gUnknown_08613650
- lsls r0, r7, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_081AA25C:
- cmp r0, 0x4
- bhi _081AA2E4
- lsls r0, 2
- ldr r1, =_081AA274
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AA274:
- .4byte _081AA288
- .4byte _081AA292
- .4byte _081AA2A2
- .4byte _081AA2B0
- .4byte _081AA2CC
-_081AA288:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_81AA398
- b _081AA2E4
-_081AA292:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_81AA4D8
- b _081AA2BE
-_081AA2A2:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- ldrb r1, [r6]
- adds r0, r4, 0
- bl sub_81AA4D8
- b _081AA2BE
-_081AA2B0:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_81AA648
-_081AA2BE:
- lsls r0, 24
- cmp r0, 0
- beq _081AA2E4
- adds r0, r4, 0
- bl sub_81AA398
- b _081AA2E4
-_081AA2CC:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- ldrb r1, [r6]
- adds r0, r4, 0
- bl sub_81AA648
- lsls r0, 24
- cmp r0, 0
- beq _081AA2E4
- adds r0, r4, 0
- bl sub_81AA398
-_081AA2E4:
- adds r5, 0x1
- cmp r5, 0x1
- ble _081AA22E
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81AA1D8
-
- thumb_func_start sub_81AA2F8
-sub_81AA2F8: @ 81AA2F8
- push {r4,r5,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r5, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F
- ldr r4, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A
- movs r2, 0xC8
- lsls r2, 4
- adds r1, r0, r2
- movs r3, 0xC7
- lsls r3, 4
- adds r2, r0, r3
- movs r3, 0x3F
-_081AA310:
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3B
- beq _081AA328
- str r5, [r1]
- b _081AA32A
- .pool
-_081AA328:
- str r4, [r1]
-_081AA32A:
- adds r1, 0x18
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _081AA310
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81AA2F8
-
- thumb_func_start sub_81AA33C
-sub_81AA33C: @ 81AA33C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r2, =0x00000e28
- adds r0, r1, r2
- ldrh r2, [r0]
- movs r3, 0xF
- ands r2, r3
- strb r2, [r4]
- ldr r7, =0x00000e22
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r3
- strb r0, [r6]
- cmp r2, r0
- bne _081AA386
- ldr r1, [r5]
- ldr r2, =0x00000e28
- adds r0, r1, r2
- ldrh r2, [r0]
- adds r3, r2, 0x1
- adds r0, r3, 0
- asrs r0, 4
- lsls r0, 4
- subs r0, r3, r0
- strb r0, [r4]
- adds r0, r1, r7
- ldrh r1, [r0]
- adds r2, r1, 0
- adds r2, 0xF
- adds r0, r2, 0
- asrs r0, 4
- lsls r0, 4
- subs r0, r2, r0
- strb r0, [r6]
-_081AA386:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AA33C
-
- thumb_func_start sub_81AA398
-sub_81AA398: @ 81AA398
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r5, 0
- bl sub_81AA9E4
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x10
- bl AllocZeroed
- str r0, [sp, 0x8]
- bl sub_81AA96C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e26
- adds r0, r1
- ldrh r4, [r0]
- movs r0, 0xF
- ands r4, r0
- ldr r0, [sp]
- cmp r0, 0
- bne _081AA3F0
- ldr r1, =gUnknown_08613650
- lsls r0, r6, 4
- adds r0, r1
- ldrb r0, [r0, 0x1]
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x4]
- b _081AA3FE
- .pool
-_081AA3F0:
- ldr r1, =gUnknown_08613650
- lsls r0, r6, 4
- adds r0, r1
- ldrb r1, [r0]
- mov r10, r1
- ldrb r0, [r0, 0x1]
- str r0, [sp, 0x4]
-_081AA3FE:
- movs r0, 0
- mov r8, r0
- cmp r8, r10
- bge _081AA4C0
-_081AA406:
- movs r1, 0x1
- add r1, r8
- mov r9, r1
- b _081AA42E
- .pool
-_081AA414:
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r3, [sp, 0x4]
- add r3, r8
- lsls r3, 24
- lsrs r3, 24
- ldr r0, [sp]
- ldr r1, [sp, 0x8]
- bl sub_81AA760
- lsls r0, 24
- cmp r0, 0
- beq _081AA4B6
-_081AA42E:
- ldr r0, =gBitTable
- mov r12, r0
- ldr r6, =gSaveBlock2Ptr
- ldr r7, =0x00000e28
- movs r3, 0x2
- lsls r0, r4, 2
- mov r1, r12
- adds r2, r0, r1
-_081AA43E:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _081AA464
- ldr r0, [r6]
- adds r0, r7
- ldrh r1, [r0]
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _081AA474
- b _081AA472
- .pool
-_081AA464:
- ldr r0, [r6]
- adds r0, r7
- ldrh r1, [r0]
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _081AA474
-_081AA472:
- orrs r5, r3
-_081AA474:
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _081AA480
- mov r2, r12
- movs r4, 0
-_081AA480:
- ldr r0, [r6]
- ldr r1, =0x00000e26
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xF
- ands r1, r0
- cmp r4, r1
- bne _081AA4A6
- movs r1, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _081AA4A4
- movs r0, 0x6
- orrs r5, r0
- b _081AA4A6
- .pool
-_081AA4A4:
- orrs r5, r1
-_081AA4A6:
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _081AA43E
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _081AA414
-_081AA4B6:
- movs r0, 0x1
- ands r5, r0
- mov r8, r9
- cmp r8, r10
- blt _081AA406
-_081AA4C0:
- ldr r0, [sp, 0x8]
- bl Free
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81AA398
-
- thumb_func_start sub_81AA4D8
-sub_81AA4D8: @ 81AA4D8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r6, 0
- movs r7, 0
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_81AA9E4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x10
- bl AllocZeroed
- str r0, [sp, 0x14]
- bl sub_81AA96C
- ldr r1, [sp]
- cmp r1, 0
- bne _081AA524
- ldr r1, =gUnknown_08613650
- lsls r0, r4, 4
- adds r0, r1
- ldrb r0, [r0, 0x1]
- str r0, [sp, 0x10]
- movs r0, 0
- b _081AA530
- .pool
-_081AA524:
- ldr r1, =gUnknown_08613650
- lsls r0, r4, 4
- adds r0, r1
- ldrb r2, [r0]
- str r2, [sp, 0x10]
- ldrb r0, [r0, 0x1]
-_081AA530:
- movs r3, 0
- str r3, [sp, 0x8]
- ldr r1, [sp, 0x10]
- asrs r1, 31
- str r1, [sp, 0x18]
- ldr r2, [sp, 0x10]
- cmp r3, r2
- bge _081AA622
- str r0, [sp, 0x1C]
- adds r3, r0, 0
- lsls r3, 24
- mov r9, r3
-_081AA548:
- cmp r7, 0
- bne _081AA56E
- mov r0, r9
- lsrs r3, r0, 24
- ldr r0, [sp]
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0x4]
- bl sub_81AA760
- lsls r0, 24
- cmp r0, 0
- beq _081AA568
- movs r7, 0x1
- b _081AA56E
- .pool
-_081AA568:
- ldr r1, [sp, 0xC]
- adds r1, 0x1
- str r1, [sp, 0xC]
-_081AA56E:
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- beq _081AA600
- ldr r2, =gUnknown_08613F46
- mov r8, r2
- ldr r3, [sp, 0x4]
- lsls r4, r3, 2
- adds r0, r6, r4
- add r0, r8
- ldrb r2, [r0]
- mov r0, r9
- lsrs r3, r0, 24
- ldr r0, [sp]
- ldr r1, [sp, 0x14]
- bl sub_81AA760
- lsls r0, 24
- ldr r1, [sp, 0x1C]
- mov r10, r1
- adds r5, r4, 0
- cmp r0, 0
- beq _081AA5E8
- ldr r4, [sp, 0xC]
- adds r4, 0x1
- b _081AA5C2
- .pool
-_081AA5A8:
- adds r0, r6, r5
- adds r0, r2
- ldrb r2, [r0]
- mov r0, r10
- lsls r3, r0, 24
- lsrs r3, 24
- ldr r0, [sp]
- ldr r1, [sp, 0x14]
- bl sub_81AA760
- lsls r0, 24
- cmp r0, 0
- beq _081AA5E0
-_081AA5C2:
- adds r6, 0x1
- ldr r0, =gUnknown_08613F46
- adds r1, r6, r5
- adds r1, r0
- ldrb r1, [r1]
- adds r2, r0, 0
- cmp r1, 0xFF
- beq _081AA5D6
- cmp r6, 0x3
- ble _081AA5D8
-_081AA5D6:
- movs r6, 0
-_081AA5D8:
- adds r7, 0x2
- asrs r0, r7, 1
- cmp r0, 0x4
- bne _081AA5A8
-_081AA5E0:
- str r4, [sp, 0xC]
- b _081AA600
- .pool
-_081AA5E8:
- adds r6, 0x1
- adds r0, r6, r4
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081AA5F8
- cmp r6, 0x3
- ble _081AA5FA
-_081AA5F8:
- movs r6, 0
-_081AA5FA:
- ldr r1, [sp, 0xC]
- adds r1, 0x1
- str r1, [sp, 0xC]
-_081AA600:
- asrs r0, r7, 1
- cmp r0, 0x4
- beq _081AA622
- movs r0, 0x1
- ands r7, r0
- ldr r2, [sp, 0x1C]
- adds r2, 0x1
- str r2, [sp, 0x1C]
- movs r3, 0x80
- lsls r3, 17
- add r9, r3
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
- ldr r1, [sp, 0x10]
- cmp r0, r1
- blt _081AA548
-_081AA622:
- movs r1, 0
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x18]
- subs r0, r2, r3
- asrs r0, 1
- ldr r2, [sp, 0xC]
- cmp r0, r2
- ble _081AA634
- movs r1, 0x1
-_081AA634:
- adds r0, r1, 0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81AA4D8
-
- thumb_func_start sub_81AA648
-sub_81AA648: @ 81AA648
- 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
- str r0, [sp]
- lsls r1, 24
- lsrs r6, r1, 24
- movs r4, 0
- movs r7, 0
- movs r0, 0
- mov r8, r0
- bl sub_81AA9E4
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x10
- bl AllocZeroed
- str r0, [sp, 0x8]
- bl sub_81AA96C
- ldr r1, [sp]
- cmp r1, 0
- bne _081AA694
- ldr r1, =gUnknown_08613650
- lsls r0, r5, 4
- adds r0, r1
- ldrb r0, [r0, 0x1]
- mov r10, r0
- movs r0, 0
- b _081AA6A0
- .pool
-_081AA694:
- ldr r1, =gUnknown_08613650
- lsls r0, r5, 4
- adds r0, r1
- ldrb r2, [r0]
- mov r10, r2
- ldrb r0, [r0, 0x1]
-_081AA6A0:
- movs r3, 0
- str r3, [sp, 0x4]
- mov r1, r10
- asrs r1, 31
- str r1, [sp, 0xC]
- cmp r3, r10
- bge _081AA73E
- ldr r2, =gUnknown_08613F46
- mov r9, r2
- lsls r5, r6, 2
- lsls r6, r0, 24
-_081AA6B6:
- adds r0, r4, r5
- add r0, r9
- ldrb r2, [r0]
- lsrs r3, r6, 24
- ldr r0, [sp]
- ldr r1, [sp, 0x8]
- bl sub_81AA760
- lsls r0, 24
- cmp r0, 0
- beq _081AA714
- adds r7, 0x1
- b _081AA6EE
- .pool
-_081AA6D8:
- adds r0, r4, r5
- adds r0, r1
- ldrb r2, [r0]
- lsrs r3, r6, 24
- ldr r0, [sp]
- ldr r1, [sp, 0x8]
- bl sub_81AA760
- lsls r0, 24
- cmp r0, 0
- beq _081AA728
-_081AA6EE:
- adds r4, 0x1
- adds r0, r4, r5
- add r0, r9
- ldrb r0, [r0]
- ldr r1, =gUnknown_08613F46
- cmp r0, 0xFF
- beq _081AA700
- cmp r4, 0x3
- ble _081AA702
-_081AA700:
- movs r4, 0
-_081AA702:
- movs r3, 0x1
- add r8, r3
- mov r0, r8
- cmp r0, 0x4
- bne _081AA6D8
- b _081AA728
- .pool
-_081AA714:
- adds r4, 0x1
- adds r0, r4, r5
- add r0, r9
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081AA724
- cmp r4, 0x3
- ble _081AA726
-_081AA724:
- movs r4, 0
-_081AA726:
- adds r7, 0x1
-_081AA728:
- mov r1, r8
- cmp r1, 0x4
- beq _081AA73E
- movs r2, 0x80
- lsls r2, 17
- adds r6, r2
- ldr r3, [sp, 0x4]
- adds r3, 0x1
- str r3, [sp, 0x4]
- cmp r3, r10
- blt _081AA6B6
-_081AA73E:
- movs r1, 0
- mov r2, r10
- ldr r3, [sp, 0xC]
- subs r0, r2, r3
- asrs r0, 1
- cmp r0, r7
- ble _081AA74E
- movs r1, 0x1
-_081AA74E:
- adds r0, r1, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81AA648
-
- thumb_func_start sub_81AA760
-sub_81AA760: @ 81AA760
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000e22
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081AA7D0
- movs r6, 0x7
-_081AA792:
- movs r4, 0x7
- lsls r5, r6, 24
-_081AA796:
- lsls r1, r4, 24
- lsrs r1, 24
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r0, r9
- lsrs r2, r5, 24
- mov r3, r10
- bl sub_81AA810
- lsls r0, 24
- cmp r0, 0
- beq _081AA7CC
- subs r4, 0x1
- cmp r4, 0
- bge _081AA796
- subs r6, 0x1
- movs r1, 0x1
- negs r1, r1
- cmp r6, r1
- bgt _081AA792
- b _081AA7FC
- .pool
-_081AA7CC:
- movs r0, 0
- b _081AA7FE
-_081AA7D0:
- movs r6, 0
-_081AA7D2:
- movs r4, 0
- lsls r5, r6, 24
-_081AA7D6:
- lsls r1, r4, 24
- lsrs r1, 24
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r0, r9
- lsrs r2, r5, 24
- mov r3, r10
- bl sub_81AA810
- lsls r0, 24
- cmp r0, 0
- beq _081AA7CC
- adds r4, 0x1
- cmp r4, 0x7
- ble _081AA7D6
- adds r6, 0x1
- cmp r6, 0x7
- ble _081AA7D2
-_081AA7FC:
- movs r0, 0x1
-_081AA7FE:
- 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_81AA760
-
- thumb_func_start sub_81AA810
-sub_81AA810: @ 81AA810
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- lsls r5, 24
- lsrs r6, r5, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r1, r0, r1
- str r1, [sp, 0x8]
- add r3, r10
- ldrb r1, [r3]
- adds r1, 0x2C
- movs r0, 0x19
- bl Overworld_GetMapHeaderByGroupAndId
- adds r5, r0, 0
- movs r7, 0
- ldr r1, [r5, 0x4]
- ldrb r2, [r1]
- cmp r7, r2
- bge _081AA95A
- movs r0, 0x3
- ands r0, r4
- lsls r0, 3
- str r0, [sp, 0xC]
-_081AA868:
- ldr r1, [r1, 0x4]
- lsls r2, r7, 1
- adds r0, r2, r7
- lsls r0, 3
- adds r3, r0, r1
- movs r4, 0x4
- ldrsh r0, [r3, r4]
- ldr r1, [r5, 0x4]
- mov r12, r1
- mov r9, r2
- ldr r2, [sp, 0x4]
- cmp r0, r2
- bne _081AA950
- movs r4, 0x6
- ldrsh r0, [r3, r4]
- cmp r0, r8
- bne _081AA950
- ldr r0, [sp]
- cmp r0, 0
- bne _081AA896
- ldrb r0, [r3, 0x1]
- cmp r0, 0x3B
- bne _081AA8A2
-_081AA896:
- ldr r1, [sp]
- cmp r1, 0x1
- bne _081AA950
- ldrb r0, [r3, 0x1]
- cmp r0, 0x3B
- bne _081AA950
-_081AA8A2:
- movs r3, 0
- ldr r2, [r5, 0x4]
- mov r12, r2
- cmp r3, r6
- bge _081AA8DC
- ldr r4, [sp, 0x4]
- ldr r0, [sp, 0xC]
- adds r4, r0
- str r4, [sp, 0x10]
- mov r1, r10
- lsrs r0, r1, 2
- lsls r0, 3
- mov r2, r8
- adds r1, r2, r0
- ldr r2, [sp, 0x8]
- adds r2, 0x4
-_081AA8C2:
- movs r4, 0
- ldrsh r0, [r2, r4]
- ldr r4, [sp, 0x10]
- cmp r0, r4
- bne _081AA8D4
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- cmp r0, r1
- beq _081AA8DC
-_081AA8D4:
- adds r2, 0x18
- adds r3, 0x1
- cmp r3, r6
- blt _081AA8C2
-_081AA8DC:
- cmp r3, r6
- bne _081AA950
- lsls r0, r6, 1
- mov r8, r0
- adds r0, r6
- lsls r0, 3
- ldr r1, [sp, 0x8]
- adds r5, r0, r1
- mov r3, r12
- ldr r2, [r3, 0x4]
- mov r4, r9
- adds r1, r4, r7
- lsls r1, 3
- adds r0, r5, 0
- adds r1, r2
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldrh r0, [r5, 0x4]
- ldr r1, [sp, 0xC]
- adds r0, r1
- strh r0, [r5, 0x4]
- mov r2, r10
- lsrs r0, r2, 2
- lsls r0, 3
- ldrh r3, [r5, 0x6]
- adds r0, r3
- strh r0, [r5, 0x6]
- adds r0, r6, 0x1
- strb r0, [r5]
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3B
- beq _081AA940
- adds r0, r6, 0
- bl sub_81A9F90
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, r7, 0
- adds r0, r4, 0
- bl sub_81627A4
- strb r0, [r5, 0x1]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- add r0, r8
- strh r4, [r0]
-_081AA940:
- movs r0, 0
- b _081AA95C
- .pool
-_081AA950:
- adds r7, 0x1
- mov r1, r12
- ldrb r2, [r1]
- cmp r7, r2
- blt _081AA868
-_081AA95A:
- movs r0, 0x1
-_081AA95C:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81AA810
-
- thumb_func_start sub_81AA96C
-sub_81AA96C: @ 81AA96C
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e22
- adds r1, r0, r2
- ldrh r4, [r1]
- ldr r1, =0x00000e24
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- orrs r4, r0
- bl sub_81AA9E4
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r2, =gUnknown_08613650+0x5
- mov r12, r2
- movs r7, 0x7
-_081AA994:
- adds r2, r6, r3
- adds r0, r4, 0
- ands r0, r7
- lsls r1, r5, 4
- adds r0, r1
- add r0, r12
- ldrb r0, [r0]
- strb r0, [r2]
- asrs r4, 3
- cmp r3, 0x7
- bne _081AA9C0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000e26
- adds r0, r1, r2
- ldrh r4, [r0]
- ldr r0, =0x00000e28
- adds r1, r0
- ldrh r0, [r1]
- lsls r0, 16
- orrs r4, r0
- asrs r4, 8
-_081AA9C0:
- adds r3, 0x1
- cmp r3, 0xF
- ble _081AA994
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AA96C
-
- thumb_func_start sub_81AA9E4
-sub_81AA9E4: @ 81AA9E4
- push {r4,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r1, =0x00000e28
- adds r0, r4, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =0x00000cb2
- adds r4, r0
- ldrh r0, [r4]
- ldr r1, =gUnknown_08613794
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0x21
- bhi _081AAA38
- ldr r1, =gUnknown_08613750
- lsls r0, r2, 1
- adds r0, r1
-_081AAA10:
- ldrb r1, [r0]
- cmp r3, r1
- bge _081AAA30
- ldrb r0, [r0, 0x1]
- b _081AAA3A
- .pool
-_081AAA30:
- adds r0, 0x2
- adds r2, 0x1
- cmp r2, 0x21
- bls _081AAA10
-_081AAA38:
- movs r0, 0
-_081AAA3A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81AA9E4
-
- thumb_func_start sub_81AAA40
-sub_81AAA40: @ 81AAA40
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r2, r0, r1
- movs r1, 0
- movs r3, 0xC7
- lsls r3, 4
- adds r0, r3
- b _081AAA6E
- .pool
-_081AAA5C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bhi _081AAA74
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
-_081AAA6E:
- ldrb r0, [r0]
- cmp r0, 0
- bne _081AAA5C
-_081AAA74:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81AAA40
-
- thumb_func_start sub_81AAA7C
-sub_81AAA7C: @ 81AAA7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r1, =gSaveBlock2Ptr
- mov r8, r1
- lsls r1, r0, 2
- adds r1, r0
- movs r0, 0
- mov r12, r0
- lsls r4, r1, 1
- ldr r7, =0x00000e2c
- movs r6, 0
- ldr r5, =0x00000e54
- lsls r2, r1, 2
-_081AAA9E:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, r7
- adds r1, r2
- strh r6, [r1]
- adds r1, r3, r4
- adds r0, r5
- adds r0, r1
- mov r1, r12
- strb r1, [r0]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x9
- ble _081AAA9E
- movs r0, 0x15
- movs r1, 0x1
- bl AddPyramidBagItem
- movs r0, 0x22
- movs r1, 0x1
- bl AddPyramidBagItem
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AAA7C
-
- thumb_func_start GetBattlePyramidPickupItemId
-GetBattlePyramidPickupItemId: @ 81AAAE0
- push {r4-r6,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r6, r0, 30
- lsls r0, r6, 1
- ldr r2, =0x00000e1a
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- ble _081AAB0A
- movs r4, 0x13
-_081AAB0A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldr r3, =gUnknown_08613F86
- ldrb r0, [r3]
- lsls r5, r4, 2
- cmp r0, r2
- bgt _081AAB36
-_081AAB28:
- adds r1, 0x1
- cmp r1, 0x9
- bhi _081AAB3A
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- ble _081AAB28
-_081AAB36:
- cmp r1, 0x9
- bls _081AAB3C
-_081AAB3A:
- movs r1, 0x9
-_081AAB3C:
- cmp r6, 0
- bne _081AAB58
- ldr r2, =gUnknown_0861379C
- b _081AAB5A
- .pool
-_081AAB58:
- ldr r2, =gUnknown_0861392C
-_081AAB5A:
- lsls r1, 1
- adds r0, r5, r4
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBattlePyramidPickupItemId
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_intro.s b/asm/battle_intro.s
new file mode 100644
index 000000000..04a0301ce
--- /dev/null
+++ b/asm/battle_intro.s
@@ -0,0 +1,2035 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start SetAnimBgAttribute
+SetAnimBgAttribute: @ 811802C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ cmp r6, 0x3
+ bls _08118040
+ b _08118132
+_08118040:
+ ldr r0, =gUnknown_0859741A
+ adds r0, r6, r0
+ ldrb r0, [r0]
+ bl GetGpuReg
+ ldr r1, =gUnknown_0203A114
+ strh r0, [r1]
+ cmp r5, 0x6
+ bhi _08118124
+ lsls r0, r5, 2
+ ldr r1, =_08118068
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118068:
+ .4byte _08118084
+ .4byte _08118098
+ .4byte _081180B0
+ .4byte _081180C8
+ .4byte _081180E0
+ .4byte _081180FC
+ .4byte _08118110
+_08118084:
+ ldr r2, =gUnknown_0203A114
+ lsls r3, r4, 6
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x3F
+ ands r0, r1
+ orrs r0, r3
+ strb r0, [r2, 0x1]
+ b _08118124
+ .pool
+_08118098:
+ ldr r3, =gUnknown_0203A114
+ movs r0, 0x1
+ adds r1, r4, 0
+ ands r1, r0
+ lsls r1, 5
+ ldrb r2, [r3, 0x1]
+ movs r0, 0x21
+ negs r0, r0
+ b _0811811E
+ .pool
+_081180B0:
+ ldr r3, =gUnknown_0203A114
+ movs r0, 0x1
+ adds r1, r4, 0
+ ands r1, r0
+ lsls r1, 6
+ ldrb r2, [r3]
+ movs r0, 0x41
+ negs r0, r0
+ b _081180EE
+ .pool
+_081180C8:
+ ldr r3, =gUnknown_0203A114
+ movs r0, 0x3
+ adds r1, r4, 0
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r3]
+ movs r0, 0xD
+ negs r0, r0
+ b _081180EE
+ .pool
+_081180E0:
+ ldr r3, =gUnknown_0203A114
+ movs r0, 0x3
+ adds r1, r4, 0
+ ands r1, r0
+ ldrb r2, [r3]
+ movs r0, 0x4
+ negs r0, r0
+_081180EE:
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ b _08118124
+ .pool
+_081180FC:
+ ldr r2, =gUnknown_0203A114
+ lsls r3, r4, 7
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ orrs r0, r3
+ strb r0, [r2]
+ b _08118124
+ .pool
+_08118110:
+ ldr r3, =gUnknown_0203A114
+ movs r0, 0x1F
+ adds r1, r4, 0
+ ands r1, r0
+ ldrb r2, [r3, 0x1]
+ movs r0, 0x20
+ negs r0, r0
+_0811811E:
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0x1]
+_08118124:
+ ldr r0, =gUnknown_0859741A
+ adds r0, r6, r0
+ ldrb r0, [r0]
+ ldr r1, =gUnknown_0203A114
+ ldrh r1, [r1]
+ bl SetGpuReg
+_08118132:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end SetAnimBgAttribute
+
+ thumb_func_start GetAnimBgAttribute
+GetAnimBgAttribute: @ 8118140
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ cmp r2, 0x3
+ bhi _081181C8
+ ldr r0, =gUnknown_0859741E
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ bl GetGpuReg
+ mov r1, sp
+ strh r0, [r1]
+ cmp r4, 0x6
+ bhi _081181C8
+ lsls r0, r4, 2
+ ldr r1, =_08118174
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118174:
+ .4byte _08118190
+ .4byte _08118198
+ .4byte _081181A0
+ .4byte _081181A8
+ .4byte _081181B0
+ .4byte _081181B8
+ .4byte _081181C0
+_08118190:
+ ldr r0, [sp]
+ lsls r0, 16
+ lsrs r0, 30
+ b _081181CA
+_08118198:
+ ldr r0, [sp]
+ lsls r0, 18
+ lsrs r0, 31
+ b _081181CA
+_081181A0:
+ ldr r0, [sp]
+ lsls r0, 25
+ lsrs r0, 31
+ b _081181CA
+_081181A8:
+ ldr r0, [sp]
+ lsls r0, 28
+ lsrs r0, 30
+ b _081181CA
+_081181B0:
+ ldr r0, [sp]
+ lsls r0, 30
+ lsrs r0, 30
+ b _081181CA
+_081181B8:
+ ldr r0, [sp]
+ lsls r0, 24
+ lsrs r0, 31
+ b _081181CA
+_081181C0:
+ ldr r0, [sp]
+ lsls r0, 19
+ lsrs r0, 27
+ b _081181CA
+_081181C8:
+ movs r0, 0
+_081181CA:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetAnimBgAttribute
+
+ thumb_func_start HandleIntroSlide
+HandleIntroSlide: @ 81181D4
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r2, =gBattleTypeFlags
+ ldr r0, [r2]
+ movs r1, 0x80
+ lsls r1, 15
+ ands r0, r1
+ cmp r0, 0
+ beq _08118208
+ ldr r0, =gPartnerTrainerId
+ ldrh r1, [r0]
+ ldr r0, =0x00000c03
+ cmp r1, r0
+ beq _08118208
+ ldr r0, =sub_8118D68
+ b _08118258
+ .pool
+_08118208:
+ ldr r2, [r2]
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ beq _0811821C
+ ldr r0, =task00_battle_intro_wireless
+ b _08118258
+ .pool
+_0811821C:
+ ldr r0, =0x003f0100
+ ands r0, r2
+ cmp r0, 0
+ beq _08118230
+ ldr r0, =task_battle_intro_anim
+ b _08118258
+ .pool
+_08118230:
+ movs r0, 0x80
+ lsls r0, 5
+ ands r2, r0
+ cmp r2, 0
+ beq _08118250
+ ldr r0, =gGameVersion
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _08118250
+ movs r4, 0x3
+ ldr r0, =task00_battle_intro_80BC6C8
+ b _08118258
+ .pool
+_08118250:
+ ldr r1, =gUnknown_08597424
+ lsls r0, r4, 2
+ adds r0, r1
+ ldr r0, [r0]
+_08118258:
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0
+ strh r0, [r1, 0x8]
+ strh r4, [r1, 0xA]
+ strh r0, [r1, 0xC]
+ strh r0, [r1, 0xE]
+ strh r0, [r1, 0x10]
+ strh r0, [r1, 0x12]
+ strh r0, [r1, 0x14]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end HandleIntroSlide
+
+ thumb_func_start sub_811828C
+sub_811828C: @ 811828C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl DestroyTask
+ ldr r0, =gBattle_BG1_X
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =gBattle_BG1_Y
+ strh r1, [r0]
+ ldr r0, =gBattle_BG2_X
+ strh r1, [r0]
+ ldr r0, =gBattle_BG2_Y
+ strh r1, [r0]
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0
+ bl SetGpuReg
+ ldr r4, =0x00003f3f
+ movs r0, 0x48
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x4A
+ adds r1, r4, 0
+ bl SetGpuReg
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_811828C
+
+ thumb_func_start task_battle_intro_80BC47C
+task_battle_intro_80BC47C: @ 81182EC
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, =gBattle_BG1_X
+ ldrh r0, [r1]
+ adds r0, 0x6
+ strh r0, [r1]
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ mov r8, r1
+ cmp r0, 0x4
+ bls _08118318
+ b _0811852A
+_08118318:
+ lsls r0, 2
+ ldr r1, =_08118330
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118330:
+ .4byte _08118344
+ .4byte _08118374
+ .4byte _0811839C
+ .4byte _081183E4
+ .4byte _08118524
+_08118344:
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ movs r1, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08118360
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ add r0, r8
+ movs r1, 0x10
+ b _0811836A
+ .pool
+_08118360:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ add r0, r8
+ movs r1, 0x1
+_0811836A:
+ strh r1, [r0, 0xC]
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+ b _0811852A
+_08118374:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ mov r3, r8
+ adds r1, r0, r3
+ ldrh r0, [r1, 0xC]
+ subs r0, 0x1
+ strh r0, [r1, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ beq _0811838C
+ b _0811852A
+_0811838C:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0x48
+ movs r1, 0x3F
+ bl SetGpuReg
+ b _0811852A
+_0811839C:
+ ldr r1, =gBattle_WIN0V
+ ldrh r0, [r1]
+ subs r0, 0xFF
+ strh r0, [r1]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 6
+ cmp r0, r1
+ beq _081183B4
+ b _0811852A
+_081183B4:
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ add r1, r8
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0xF0
+ strh r0, [r1, 0xC]
+ movs r0, 0x20
+ strh r0, [r1, 0xE]
+ ldr r2, =gIntroSlideFlags
+ ldrh r1, [r2]
+ ldr r0, =0x0000fffe
+ ands r0, r1
+ strh r0, [r2]
+ b _0811852A
+ .pool
+_081183E4:
+ lsls r0, r4, 2
+ adds r1, r0, r4
+ lsls r1, 3
+ mov r5, r8
+ adds r2, r1, r5
+ ldrh r3, [r2, 0xE]
+ movs r5, 0xE
+ ldrsh r1, [r2, r5]
+ mov r12, r0
+ cmp r1, 0
+ beq _08118400
+ subs r0, r3, 0x1
+ strh r0, [r2, 0xE]
+ b _0811842E
+_08118400:
+ movs r1, 0xA
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x1
+ bne _08118420
+ ldr r2, =gBattle_BG1_Y
+ ldrh r1, [r2]
+ ldr r0, =0x0000ffb0
+ cmp r1, r0
+ beq _0811842E
+ subs r0, r1, 0x2
+ b _0811842C
+ .pool
+_08118420:
+ ldr r2, =gBattle_BG1_Y
+ ldrh r1, [r2]
+ ldr r0, =0x0000ffc8
+ cmp r1, r0
+ beq _0811842E
+ subs r0, r1, 0x1
+_0811842C:
+ strh r0, [r2]
+_0811842E:
+ ldr r2, =gBattle_WIN0V
+ ldrh r1, [r2]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _08118442
+ ldr r3, =0xfffffc04
+ adds r0, r1, r3
+ strh r0, [r2]
+_08118442:
+ mov r5, r12
+ adds r0, r5, r4
+ lsls r0, 3
+ mov r2, r8
+ adds r1, r0, r2
+ ldrh r2, [r1, 0xC]
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _0811845A
+ subs r0, r2, 0x2
+ strh r0, [r1, 0xC]
+_0811845A:
+ movs r3, 0
+ ldr r5, =gScanlineEffect
+ mov r9, r5
+ ldr r7, =gScanlineEffectRegBuffers
+ mov r6, r9
+ adds r5, r1, 0
+_08118466:
+ lsls r2, r3, 1
+ ldrb r1, [r6, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ adds r2, r7
+ ldrh r0, [r5, 0xC]
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x4F
+ ble _08118466
+ cmp r3, 0x9F
+ bgt _081184AA
+ ldr r7, =gScanlineEffectRegBuffers
+ ldr r6, =gScanlineEffect
+ ldr r1, =gTasks
+ mov r2, r12
+ adds r0, r2, r4
+ lsls r0, 3
+ adds r5, r0, r1
+_08118490:
+ lsls r2, r3, 1
+ ldrb r1, [r6, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ adds r2, r7
+ ldrh r0, [r5, 0xC]
+ negs r0, r0
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x9F
+ ble _08118490
+_081184AA:
+ mov r3, r12
+ adds r0, r3, r4
+ lsls r0, 3
+ mov r5, r8
+ adds r1, r0, r5
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ cmp r2, 0
+ bne _0811852A
+ movs r0, 0x3
+ mov r3, r9
+ strb r0, [r3, 0x15]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ str r2, [sp]
+ ldr r1, =0x0600e000
+ ldr r2, =0x05000200
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r1, 0x9C
+ lsls r1, 8
+ movs r0, 0xA
+ bl SetGpuReg
+ movs r1, 0xBC
+ lsls r1, 7
+ movs r0, 0xC
+ bl SetGpuReg
+ b _0811852A
+ .pool
+_08118524:
+ adds r0, r4, 0
+ bl sub_811828C
+_0811852A:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end task_battle_intro_80BC47C
+
+ thumb_func_start task00_battle_intro_80BC6C8
+task00_battle_intro_80BC6C8: @ 8118538
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0xA
+ ldrsh r0, [r0, r2]
+ adds r2, r1, 0
+ cmp r0, 0x3
+ beq _08118578
+ cmp r0, 0x3
+ bgt _08118568
+ cmp r0, 0x2
+ beq _0811856C
+ b _08118580
+ .pool
+_08118568:
+ cmp r0, 0x4
+ bne _08118580
+_0811856C:
+ ldr r1, =gBattle_BG1_X
+ ldrh r0, [r1]
+ adds r0, 0x8
+ b _0811857E
+ .pool
+_08118578:
+ ldr r1, =gBattle_BG1_X
+ ldrh r0, [r1]
+ adds r0, 0x6
+_0811857E:
+ strh r0, [r1]
+_08118580:
+ lsls r0, r5, 2
+ adds r1, r0, r5
+ lsls r1, 3
+ adds r4, r1, r2
+ movs r3, 0xA
+ ldrsh r1, [r4, r3]
+ adds r6, r0, 0
+ cmp r1, 0x4
+ bne _081185E4
+ ldr r7, =gBattle_BG1_Y
+ ldrh r0, [r4, 0x14]
+ bl Cos2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _081185A6
+ ldr r1, =0x000001ff
+ adds r0, r1
+_081185A6:
+ asrs r0, 9
+ subs r0, 0x8
+ strh r0, [r7]
+ ldrh r1, [r4, 0x14]
+ movs r2, 0x14
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xB3
+ bgt _081185C8
+ adds r0, r1, 0x4
+ b _081185CA
+ .pool
+_081185C8:
+ adds r0, r1, 0x6
+_081185CA:
+ strh r0, [r4, 0x14]
+ ldr r2, =gTasks
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r3, r0, r2
+ movs r0, 0x14
+ ldrsh r1, [r3, r0]
+ movs r0, 0xB4
+ lsls r0, 1
+ cmp r1, r0
+ bne _081185E4
+ movs r0, 0
+ strh r0, [r3, 0x14]
+_081185E4:
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x4
+ bls _081185F4
+ b _0811881A
+_081185F4:
+ lsls r0, 2
+ ldr r1, =_08118608
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118608:
+ .4byte _0811861C
+ .4byte _0811864C
+ .4byte _08118678
+ .4byte _081186C8
+ .4byte _08118814
+_0811861C:
+ ldr r1, =gTasks
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r2, r0, r1
+ movs r3, 0x10
+ strh r3, [r2, 0x10]
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ movs r1, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08118640
+ strh r3, [r2, 0xC]
+ b _08118644
+ .pool
+_08118640:
+ movs r0, 0x1
+ strh r0, [r2, 0xC]
+_08118644:
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ b _0811881A
+_0811864C:
+ ldr r0, =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xC]
+ subs r0, 0x1
+ strh r0, [r1, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08118662
+ b _0811881A
+_08118662:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0x48
+ movs r1, 0x3F
+ bl SetGpuReg
+ b _0811881A
+ .pool
+_08118678:
+ ldr r1, =gBattle_WIN0V
+ ldrh r0, [r1]
+ subs r0, 0xFF
+ strh r0, [r1]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 6
+ cmp r0, r1
+ beq _08118690
+ b _0811881A
+_08118690:
+ ldr r0, =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0xF0
+ strh r0, [r1, 0xC]
+ movs r0, 0x20
+ strh r0, [r1, 0xE]
+ movs r0, 0x1
+ strh r0, [r1, 0x12]
+ ldr r2, =gIntroSlideFlags
+ ldrh r1, [r2]
+ ldr r0, =0x0000fffe
+ ands r0, r1
+ strh r0, [r2]
+ b _0811881A
+ .pool
+_081186C8:
+ ldr r0, =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r2, [r1, 0xE]
+ movs r3, 0xE
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _08118708
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xE]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08118728
+ ldr r1, =0x00001842
+ movs r0, 0x50
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0xF
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0
+ bl SetGpuReg
+ b _08118728
+ .pool
+_08118708:
+ ldrh r2, [r1, 0x10]
+ movs r0, 0x1F
+ ands r0, r2
+ cmp r0, 0
+ beq _08118728
+ ldrh r0, [r1, 0x12]
+ subs r0, 0x1
+ strh r0, [r1, 0x12]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08118728
+ adds r0, r2, 0
+ adds r0, 0xFF
+ strh r0, [r1, 0x10]
+ movs r0, 0x4
+ strh r0, [r1, 0x12]
+_08118728:
+ ldr r2, =gBattle_WIN0V
+ ldrh r1, [r2]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _0811873C
+ ldr r3, =0xfffffc04
+ adds r0, r1, r3
+ strh r0, [r2]
+_0811873C:
+ ldr r0, =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r2, [r1, 0xC]
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _08118752
+ subs r0, r2, 0x2
+ strh r0, [r1, 0xC]
+_08118752:
+ movs r3, 0
+ ldr r0, =gScanlineEffect
+ mov r8, r0
+ ldr r2, =gScanlineEffectRegBuffers
+ mov r12, r2
+ mov r7, r8
+ adds r4, r1, 0
+_08118760:
+ lsls r2, r3, 1
+ ldrb r1, [r7, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ add r2, r12
+ ldrh r0, [r4, 0xC]
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x4F
+ ble _08118760
+ cmp r3, 0x9F
+ bgt _081187A4
+ ldr r0, =gScanlineEffectRegBuffers
+ mov r12, r0
+ ldr r7, =gScanlineEffect
+ ldr r1, =gTasks
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r4, r0, r1
+_0811878A:
+ lsls r2, r3, 1
+ ldrb r1, [r7, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ add r2, r12
+ ldrh r0, [r4, 0xC]
+ negs r0, r0
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x9F
+ ble _0811878A
+_081187A4:
+ ldr r1, =gTasks
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r1, r0, r1
+ movs r3, 0xC
+ ldrsh r2, [r1, r3]
+ cmp r2, 0
+ bne _0811881A
+ movs r0, 0x3
+ mov r3, r8
+ strb r0, [r3, 0x15]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ str r2, [sp]
+ ldr r1, =0x0600e000
+ ldr r2, =0x05000200
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r1, 0x9C
+ lsls r1, 8
+ movs r0, 0xA
+ bl SetGpuReg
+ movs r1, 0xBC
+ lsls r1, 7
+ movs r0, 0xC
+ bl SetGpuReg
+ b _0811881A
+ .pool
+_08118814:
+ adds r0, r5, 0
+ bl sub_811828C
+_0811881A:
+ ldr r0, =gTasks
+ adds r1, r6, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x4
+ beq _08118832
+ ldrh r1, [r1, 0x10]
+ movs r0, 0x52
+ bl SetGpuReg
+_08118832:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end task00_battle_intro_80BC6C8
+
+ thumb_func_start task_battle_intro_anim
+task_battle_intro_anim: @ 8118844
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, =gBattle_BG1_X
+ ldrh r0, [r1]
+ adds r0, 0x8
+ strh r0, [r1]
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bls _0811886E
+ b _08118A96
+_0811886E:
+ lsls r0, 2
+ ldr r1, =_08118884
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118884:
+ .4byte _08118898
+ .4byte _081188F0
+ .4byte _0811891C
+ .4byte _0811896C
+ .4byte _08118A90
+_08118898:
+ ldr r1, =0x00001842
+ movs r0, 0x50
+ bl SetGpuReg
+ ldr r4, =0x00000808
+ movs r0, 0x52
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0
+ bl SetGpuReg
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r2, r0, r1
+ strh r4, [r2, 0x10]
+ ldr r0, =gBattleTypeFlags
+ ldr r0, [r0]
+ ldr r1, =0x02000002
+ ands r0, r1
+ cmp r0, 0
+ beq _081188E4
+ movs r0, 0x10
+ b _081188E6
+ .pool
+_081188E4:
+ movs r0, 0x1
+_081188E6:
+ strh r0, [r2, 0xC]
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ b _08118A96
+_081188F0:
+ ldr r0, =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0xC]
+ subs r0, 0x1
+ strh r0, [r1, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08118908
+ b _08118A96
+_08118908:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0x48
+ movs r1, 0x3F
+ bl SetGpuReg
+ b _08118A96
+ .pool
+_0811891C:
+ ldr r1, =gBattle_WIN0V
+ ldrh r0, [r1]
+ subs r0, 0xFF
+ strh r0, [r1]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 6
+ cmp r0, r1
+ beq _08118934
+ b _08118A96
+_08118934:
+ ldr r0, =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0xF0
+ strh r0, [r1, 0xC]
+ movs r0, 0x20
+ strh r0, [r1, 0xE]
+ movs r0, 0x1
+ strh r0, [r1, 0x12]
+ ldr r2, =gIntroSlideFlags
+ ldrh r1, [r2]
+ ldr r0, =0x0000fffe
+ ands r0, r1
+ strh r0, [r2]
+ b _08118A96
+ .pool
+_0811896C:
+ lsls r0, r5, 2
+ adds r1, r0, r5
+ lsls r1, 3
+ adds r2, r1, r4
+ ldrh r3, [r2, 0xE]
+ movs r6, 0xE
+ ldrsh r1, [r2, r6]
+ mov r12, r0
+ cmp r1, 0
+ beq _08118986
+ subs r0, r3, 0x1
+ strh r0, [r2, 0xE]
+ b _081189A6
+_08118986:
+ ldrh r1, [r2, 0x10]
+ movs r0, 0xF
+ ands r0, r1
+ cmp r0, 0
+ beq _081189A6
+ ldrh r0, [r2, 0x12]
+ subs r0, 0x1
+ strh r0, [r2, 0x12]
+ lsls r0, 16
+ cmp r0, 0
+ bne _081189A6
+ adds r0, r1, 0
+ adds r0, 0xFF
+ strh r0, [r2, 0x10]
+ movs r0, 0x6
+ strh r0, [r2, 0x12]
+_081189A6:
+ ldr r2, =gBattle_WIN0V
+ ldrh r1, [r2]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _081189BA
+ ldr r3, =0xfffffc04
+ adds r0, r1, r3
+ strh r0, [r2]
+_081189BA:
+ mov r6, r12
+ adds r0, r6, r5
+ lsls r0, 3
+ adds r1, r0, r4
+ ldrh r2, [r1, 0xC]
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _081189D0
+ subs r0, r2, 0x2
+ strh r0, [r1, 0xC]
+_081189D0:
+ movs r3, 0
+ ldr r6, =gScanlineEffect
+ mov r8, r6
+ ldr r7, =gScanlineEffectRegBuffers
+ adds r4, r1, 0
+_081189DA:
+ lsls r2, r3, 1
+ ldrb r1, [r6, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ adds r2, r7
+ ldrh r0, [r4, 0xC]
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x4F
+ ble _081189DA
+ cmp r3, 0x9F
+ bgt _08118A1E
+ ldr r7, =gScanlineEffectRegBuffers
+ ldr r6, =gScanlineEffect
+ ldr r1, =gTasks
+ mov r2, r12
+ adds r0, r2, r5
+ lsls r0, 3
+ adds r4, r0, r1
+_08118A04:
+ lsls r2, r3, 1
+ ldrb r1, [r6, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ adds r2, r7
+ ldrh r0, [r4, 0xC]
+ negs r0, r0
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x9F
+ ble _08118A04
+_08118A1E:
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r1, r0, r1
+ movs r3, 0xC
+ ldrsh r2, [r1, r3]
+ cmp r2, 0
+ bne _08118A96
+ movs r0, 0x3
+ mov r6, r8
+ strb r0, [r6, 0x15]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ str r2, [sp]
+ ldr r1, =0x0600e000
+ ldr r2, =0x05000200
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r1, 0x9C
+ lsls r1, 8
+ movs r0, 0xA
+ bl SetGpuReg
+ movs r1, 0xBC
+ lsls r1, 7
+ movs r0, 0xC
+ bl SetGpuReg
+ b _08118A96
+ .pool
+_08118A90:
+ adds r0, r5, 0
+ bl sub_811828C
+_08118A96:
+ ldr r0, =gTasks
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ cmp r0, 0x4
+ beq _08118AB0
+ ldrh r1, [r1, 0x10]
+ movs r0, 0x52
+ bl SetGpuReg
+_08118AB0:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end task_battle_intro_anim
+
+ thumb_func_start task00_battle_intro_wireless
+task00_battle_intro_wireless: @ 8118AC0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r7, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r7, r1]
+ cmp r0, 0x1
+ ble _08118B36
+ movs r2, 0x10
+ ldrsh r0, [r7, r2]
+ cmp r0, 0
+ bne _08118B36
+ ldr r2, =gBattle_BG1_X
+ ldrh r1, [r2]
+ movs r0, 0x80
+ lsls r0, 8
+ ands r0, r1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0
+ bne _08118AFE
+ cmp r1, 0x4F
+ bhi _08118B18
+_08118AFE:
+ adds r0, r1, 0x3
+ strh r0, [r2]
+ ldr r1, =gBattle_BG2_X
+ ldrh r0, [r1]
+ subs r0, 0x3
+ strh r0, [r1]
+ b _08118B36
+ .pool
+_08118B18:
+ str r5, [sp]
+ ldr r1, =0x0600e000
+ ldr r4, =0x05000200
+ mov r0, sp
+ adds r2, r4, 0
+ bl CpuSet
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ ldr r1, =0x0600f000
+ adds r2, r4, 0
+ bl CpuSet
+ movs r0, 0x1
+ strh r0, [r7, 0x10]
+_08118B36:
+ ldr r0, =gTasks
+ lsls r2, r6, 2
+ adds r1, r2, r6
+ lsls r1, 3
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r1, [r1, r3]
+ mov r9, r0
+ adds r5, r2, 0
+ cmp r1, 0x4
+ bls _08118B4E
+ b _08118D5A
+_08118B4E:
+ lsls r0, r1, 2
+ ldr r1, =_08118B6C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118B6C:
+ .4byte _08118B80
+ .4byte _08118B92
+ .4byte _08118C38
+ .4byte _08118C7C
+ .4byte _08118D54
+_08118B80:
+ adds r0, r5, r6
+ lsls r0, 3
+ add r0, r9
+ movs r1, 0x20
+ strh r1, [r0, 0xC]
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+ b _08118D5A
+_08118B92:
+ adds r0, r5, r6
+ lsls r0, 3
+ mov r2, r9
+ adds r1, r0, r2
+ ldrh r0, [r1, 0xC]
+ subs r0, 0x1
+ strh r0, [r1, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08118BA8
+ b _08118D5A
+_08118BA8:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ ldr r4, =gSprites
+ ldr r5, =gBattleStruct
+ ldr r0, [r5]
+ adds r0, 0x7D
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrb r3, [r1, 0x1]
+ movs r2, 0xD
+ negs r2, r2
+ adds r0, r2, 0
+ ands r0, r3
+ movs r3, 0x8
+ mov r9, r3
+ mov r3, r9
+ orrs r0, r3
+ strb r0, [r1, 0x1]
+ ldr r3, [r5]
+ adds r0, r3, 0
+ adds r0, 0x7D
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ movs r1, 0x1C
+ adds r1, r4
+ mov r8, r1
+ add r0, r8
+ ldr r6, =sub_8038B74
+ str r6, [r0]
+ adds r3, 0x7E
+ ldrb r1, [r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0, 0x1]
+ ands r2, r1
+ mov r3, r9
+ orrs r2, r3
+ strb r2, [r0, 0x1]
+ ldr r0, [r5]
+ adds r0, 0x7E
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ add r0, r8
+ str r6, [r0]
+ movs r0, 0x48
+ movs r1, 0x3F
+ bl SetGpuReg
+ ldr r1, =0x00003f06
+ movs r0, 0x4A
+ bl SetGpuReg
+ b _08118D5A
+ .pool
+_08118C38:
+ ldr r1, =gBattle_WIN0V
+ ldrh r0, [r1]
+ subs r0, 0xFF
+ strh r0, [r1]
+ movs r1, 0xFF
+ lsls r1, 8
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 6
+ cmp r0, r1
+ beq _08118C50
+ b _08118D5A
+_08118C50:
+ adds r1, r5, r6
+ lsls r1, 3
+ add r1, r9
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0xF0
+ strh r0, [r1, 0xC]
+ movs r0, 0x20
+ strh r0, [r1, 0xE]
+ ldr r2, =gIntroSlideFlags
+ ldrh r1, [r2]
+ ldr r0, =0x0000fffe
+ ands r0, r1
+ strh r0, [r2]
+ b _08118D5A
+ .pool
+_08118C7C:
+ ldr r2, =gBattle_WIN0V
+ ldrh r1, [r2]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _08118C90
+ ldr r3, =0xfffffc04
+ adds r0, r1, r3
+ strh r0, [r2]
+_08118C90:
+ adds r0, r5, r6
+ lsls r0, 3
+ mov r2, r9
+ adds r1, r0, r2
+ ldrh r2, [r1, 0xC]
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ beq _08118CA6
+ subs r0, r2, 0x2
+ strh r0, [r1, 0xC]
+_08118CA6:
+ movs r3, 0
+ ldr r0, =gScanlineEffect
+ mov r12, r0
+ ldr r2, =gScanlineEffectRegBuffers
+ mov r8, r2
+ mov r7, r12
+ adds r4, r1, 0
+_08118CB4:
+ lsls r2, r3, 1
+ ldrb r1, [r7, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ add r2, r8
+ ldrh r0, [r4, 0xC]
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x4F
+ ble _08118CB4
+ cmp r3, 0x9F
+ bgt _08118CF8
+ ldr r0, =gScanlineEffectRegBuffers
+ mov r8, r0
+ ldr r7, =gScanlineEffect
+ ldr r1, =gTasks
+ adds r0, r5, r6
+ lsls r0, 3
+ adds r4, r0, r1
+_08118CDE:
+ lsls r2, r3, 1
+ ldrb r1, [r7, 0x14]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 7
+ adds r2, r0
+ add r2, r8
+ ldrh r0, [r4, 0xC]
+ negs r0, r0
+ strh r0, [r2]
+ adds r3, 0x1
+ cmp r3, 0x9F
+ ble _08118CDE
+_08118CF8:
+ adds r0, r5, r6
+ lsls r0, 3
+ mov r2, r9
+ adds r1, r0, r2
+ movs r3, 0xC
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _08118D5A
+ movs r0, 0x3
+ mov r2, r12
+ strb r0, [r2, 0x15]
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r1, 0x9C
+ lsls r1, 8
+ movs r0, 0xA
+ bl SetGpuReg
+ movs r1, 0xBC
+ lsls r1, 7
+ movs r0, 0xC
+ bl SetGpuReg
+ b _08118D5A
+ .pool
+_08118D54:
+ adds r0, r6, 0
+ bl sub_811828C
+_08118D5A:
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end task00_battle_intro_wireless
+
+ thumb_func_start sub_8118D68
+sub_8118D68: @ 8118D68
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r6, r1, 0
+ cmp r0, 0x5
+ bls _08118D86
+ b _08118FB2
+_08118D86:
+ lsls r0, 2
+ ldr r1, =_08118D98
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08118D98:
+ .4byte _08118DB0
+ .4byte _08118DBE
+ .4byte _08118E4C
+ .4byte _08118EA8
+ .4byte _08118F00
+ .4byte _08118FAC
+_08118DB0:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r6
+ movs r1, 0x1
+ strh r1, [r0, 0xC]
+ b _08118F84
+_08118DBE:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r1, r0, r6
+ ldrh r0, [r1, 0xC]
+ subs r0, 0x1
+ strh r0, [r1, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ beq _08118DD4
+ b _08118FB2
+_08118DD4:
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ ldr r1, =0x00005c0a
+ movs r0, 0xA
+ bl SetGpuReg
+ ldr r1, =0x00005e0a
+ movs r0, 0xC
+ bl SetGpuReg
+ movs r0, 0
+ bl GetGpuReg
+ adds r1, r0, 0
+ ldr r2, =0x0000f040
+ adds r0, r2, 0
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0
+ bl SetGpuReg
+ movs r1, 0xF8
+ lsls r1, 6
+ movs r0, 0x48
+ bl SetGpuReg
+ ldr r1, =0x00003f3f
+ movs r0, 0x4A
+ bl SetGpuReg
+ ldr r1, =gBattle_BG0_Y
+ ldr r2, =0x0000ffd0
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, =gBattle_BG1_X
+ movs r0, 0xF0
+ strh r0, [r1]
+ ldr r1, =gBattle_BG2_X
+ subs r2, 0xC0
+ adds r0, r2, 0
+ strh r0, [r1]
+ b _08118FB2
+ .pool
+_08118E4C:
+ ldr r2, =gBattle_WIN0V
+ ldrh r3, [r2]
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1, 0
+ adds r1, r3, r0
+ strh r1, [r2]
+ movs r5, 0xFF
+ lsls r5, 8
+ ands r1, r5
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r1, r0
+ beq _08118E6E
+ adds r0, r3, 0
+ adds r0, 0xFF
+ strh r0, [r2]
+_08118E6E:
+ ldrh r0, [r2]
+ adds r1, r5, 0
+ ands r1, r0
+ movs r0, 0x80
+ lsls r0, 6
+ cmp r1, r0
+ beq _08118E7E
+ b _08118FB2
+_08118E7E:
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r6
+ ldrh r0, [r1, 0x8]
+ adds r0, 0x1
+ strh r0, [r1, 0x8]
+ movs r0, 0xF0
+ strh r0, [r1, 0xC]
+ ldr r2, =gIntroSlideFlags
+ ldrh r1, [r2]
+ ldr r0, =0x0000fffe
+ ands r0, r1
+ strh r0, [r2]
+ b _08118FB2
+ .pool
+_08118EA8:
+ ldr r3, =gBattle_WIN0V
+ ldrh r2, [r3]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r2
+ movs r1, 0x98
+ lsls r1, 7
+ cmp r0, r1
+ beq _08118EC2
+ movs r1, 0xFF
+ lsls r1, 2
+ adds r0, r2, r1
+ strh r0, [r3]
+_08118EC2:
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r3, r0, r6
+ ldrh r1, [r3, 0xC]
+ movs r2, 0xC
+ ldrsh r0, [r3, r2]
+ cmp r0, 0
+ beq _08118ED8
+ subs r0, r1, 0x2
+ strh r0, [r3, 0xC]
+_08118ED8:
+ ldr r1, =gBattle_BG1_X
+ ldrh r0, [r3, 0xC]
+ strh r0, [r1]
+ ldr r2, =gBattle_BG2_X
+ negs r1, r0
+ strh r1, [r2]
+ lsls r0, 16
+ cmp r0, 0
+ bne _08118FB2
+ ldrh r0, [r3, 0x8]
+ adds r0, 0x1
+ strh r0, [r3, 0x8]
+ b _08118FB2
+ .pool
+_08118F00:
+ ldr r1, =gBattle_BG0_Y
+ ldrh r0, [r1]
+ adds r3, r0, 0x2
+ strh r3, [r1]
+ ldr r1, =gBattle_BG2_Y
+ ldrh r0, [r1]
+ adds r0, 0x2
+ strh r0, [r1]
+ ldr r5, =gBattle_WIN0V
+ ldrh r2, [r5]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r2
+ movs r1, 0xA0
+ lsls r1, 7
+ cmp r0, r1
+ beq _08118F28
+ adds r0, r2, 0
+ adds r0, 0xFF
+ strh r0, [r5]
+_08118F28:
+ lsls r0, r3, 16
+ lsrs r0, 16
+ cmp r0, 0
+ bne _08118FB2
+ str r0, [sp]
+ ldr r1, =0x0600e000
+ ldr r2, =0x05000800
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0
+ bl GetGpuReg
+ ldr r1, =0x0000bfff
+ ands r1, r0
+ movs r0, 0
+ bl SetGpuReg
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r2, 0
+ bl SetBgAttribute
+ movs r1, 0x9C
+ lsls r1, 8
+ movs r0, 0xA
+ bl SetGpuReg
+ movs r1, 0xBC
+ lsls r1, 7
+ movs r0, 0xC
+ bl SetGpuReg
+ ldr r1, =gScanlineEffect
+ movs r0, 0x3
+ strb r0, [r1, 0x15]
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+_08118F84:
+ ldrh r1, [r0, 0x8]
+ adds r1, 0x1
+ strh r1, [r0, 0x8]
+ b _08118FB2
+ .pool
+_08118FAC:
+ adds r0, r4, 0
+ bl sub_811828C
+_08118FB2:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8118D68
+
+ thumb_func_start sub_8118FBC
+sub_8118FBC: @ 8118FBC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ str r0, [sp]
+ adds r6, r2, 0
+ adds r4, r3, 0
+ ldr r0, [sp, 0x24]
+ ldr r7, [sp, 0x28]
+ ldr r2, [sp, 0x2C]
+ mov r9, r2
+ ldr r5, [sp, 0x30]
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r4, 0
+ bl GetBattlerAtPosition
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gMonSpritesGfxPtr
+ ldr r2, [r1]
+ lsls r4, 2
+ adds r2, 0x4
+ adds r2, r4
+ ldr r1, =gBattleMonForms
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r1, 11
+ ldr r0, [r2]
+ adds r0, r1
+ movs r2, 0x80
+ lsls r2, 3
+ adds r1, r7, 0
+ bl CpuSet
+ ldr r1, [sp]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 5
+ adds r1, r7, 0
+ adds r3, r5, 0
+ bl LoadBgTiles
+ adds r0, r6, 0
+ adds r0, 0x8
+ cmp r6, r0
+ bge _08119068
+ mov r12, r0
+ mov r2, r8
+ lsls r7, r2, 1
+_0811903A:
+ mov r1, r8
+ adds r2, r1, 0
+ adds r2, 0x8
+ adds r4, r6, 0x1
+ cmp r1, r2
+ bge _08119062
+ mov r0, r10
+ lsls r3, r0, 12
+ lsls r0, r6, 6
+ add r0, r9
+ adds r6, r7, r0
+ subs r1, r2, r1
+_08119052:
+ adds r0, r5, 0
+ orrs r0, r3
+ strh r0, [r6]
+ adds r5, 0x1
+ adds r6, 0x2
+ subs r1, 0x1
+ cmp r1, 0
+ bne _08119052
+_08119062:
+ adds r6, r4, 0
+ cmp r6, r12
+ blt _0811903A
+_08119068:
+ ldr r1, [sp]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ movs r2, 0x80
+ lsls r2, 4
+ mov r1, r9
+ movs r3, 0
+ bl LoadBgTilemap
+ 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_8118FBC
+
+ thumb_func_start sub_8119094
+sub_8119094: @ 8119094
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ ldr r4, [sp, 0x24]
+ ldr r5, [sp, 0x28]
+ mov r8, r5
+ ldr r5, [sp, 0x2C]
+ ldr r6, [sp, 0x30]
+ mov r9, r6
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+ lsls r1, 24
+ lsls r2, 24
+ lsls r3, 24
+ lsls r4, 24
+ lsrs r4, 24
+ mov r10, r4
+ mov r7, r8
+ lsls r7, 16
+ lsrs r6, r7, 16
+ lsls r5, 24
+ lsrs r5, 24
+ mov r0, r9
+ lsls r0, 24
+ mov r9, r0
+ ldr r4, =0x040000d4
+ ldr r0, =gMonSpritesGfxPtr
+ ldr r0, [r0]
+ lsrs r2, 22
+ adds r0, 0x4
+ adds r0, r2
+ lsrs r3, 13
+ ldr r0, [r0]
+ adds r0, r3
+ str r0, [r4]
+ movs r0, 0xC0
+ lsls r0, 19
+ adds r6, r0
+ str r6, [r4, 0x4]
+ ldr r0, =0x80000400
+ str r0, [r4, 0x8]
+ ldr r0, [r4, 0x8]
+ adds r2, r7, 0
+ lsrs r2, 21
+ mov r6, r9
+ lsrs r6, 15
+ subs r4, r2, r6
+ lsrs r0, r1, 24
+ adds r1, r0, 0
+ adds r1, 0x8
+ cmp r0, r1
+ bge _08119148
+ mov r9, r1
+ mov r7, r12
+ lsls r7, 1
+ mov r8, r7
+ lsls r5, 11
+ str r5, [sp]
+_08119110:
+ mov r2, r12
+ adds r3, r2, 0
+ adds r3, 0x8
+ adds r5, r0, 0x1
+ cmp r2, r3
+ bge _08119142
+ mov r1, r10
+ lsls r6, r1, 12
+ lsls r0, 6
+ movs r7, 0xC0
+ lsls r7, 19
+ adds r0, r7
+ ldr r1, [sp]
+ adds r0, r1, r0
+ mov r7, r8
+ adds r1, r7, r0
+ subs r2, r3, r2
+_08119132:
+ adds r0, r4, 0
+ orrs r0, r6
+ strh r0, [r1]
+ adds r4, 0x1
+ adds r1, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08119132
+_08119142:
+ adds r0, r5, 0
+ cmp r0, r9
+ blt _08119110
+_08119148:
+ 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_8119094
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
deleted file mode 100644
index ae01e0b5e..000000000
--- a/asm/battle_tower.s
+++ /dev/null
@@ -1,7552 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
- thumb_func_start sub_81621C0
-sub_81621C0: @ 81621C0
- push {r4,r5,lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xFA
- lsls r0, 1
- cmp r1, r0
- bne _081621DA
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bec
- adds r0, r1
- bl sub_816534C
-_081621DA:
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000d04
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _081621EE
- adds r0, r1, 0x1
- strh r0, [r2]
-_081621EE:
- ldr r1, [r5]
- ldr r4, =0x00000cb2
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl sub_8163E90
- ldr r1, =gSpecialVar_Result
- ldr r0, [r5]
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81621C0
-
- thumb_func_start sub_816222C
-sub_816222C: @ 816222C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- movs r0, 0
- str r0, [sp, 0x24]
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- mov r10, r0
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x2C]
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _08162266
- b _0816239C
-_08162266:
- mov r0, r10
- ldr r1, [sp, 0x2C]
- bl sub_8164FCC
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x28]
- movs r7, 0
- mov r2, sp
- str r2, [sp, 0x34]
-_0816227A:
- movs r3, 0xEC
- adds r0, r7, 0
- muls r0, r3
- movs r4, 0xE7
- lsls r4, 3
- adds r0, r4
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r2, 0
- mov r8, r2
- mov r9, r2
- movs r5, 0
- adds r3, r7, 0x1
- str r3, [sp, 0x30]
- adds r1, r0
-_08162298:
- ldm r1!, {r0}
- mov r4, r8
- orrs r4, r0
- mov r8, r4
- add r9, r0
- adds r5, 0x1
- cmp r5, 0x39
- bls _08162298
- movs r6, 0
- movs r5, 0
- movs r0, 0xEC
- adds r2, r7, 0
- muls r2, r0
-_081622B2:
- ldr r3, =gSaveBlock2Ptr
- ldr r1, [r3]
- movs r0, 0x2C
- muls r0, r5
- adds r0, r2
- adds r1, r0
- ldr r4, =0x0000076c
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _081622E4
- movs r0, 0xEF
- lsls r0, 3
- adds r4, r1, r0
- mov r0, r10
- str r2, [sp, 0x38]
- bl GetFrontierEnemyMonLevel
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x38]
- cmp r1, r0
- bhi _081622E4
- adds r6, 0x1
-_081622E4:
- adds r5, 0x1
- cmp r5, 0x3
- ble _081622B2
- ldr r0, =gUnknown_085DF9F6
- ldr r1, [sp, 0x2C]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r6, r0
- blt _0816233E
- ldr r3, =gSaveBlock2Ptr
- ldr r2, [r3]
- movs r4, 0xEC
- adds r3, r7, 0
- muls r3, r4
- adds r1, r2, r3
- ldr r5, =0x0000073a
- adds r0, r1, r5
- ldrh r0, [r0]
- ldr r4, [sp, 0x28]
- cmp r0, r4
- bne _0816233E
- subs r5, 0x2
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r10
- bne _0816233E
- mov r0, r8
- cmp r0, 0
- beq _0816233E
- movs r1, 0x82
- lsls r1, 4
- adds r0, r2, r1
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r9
- bne _0816233E
- movs r2, 0x96
- lsls r2, 1
- adds r0, r7, r2
- ldr r3, [sp, 0x34]
- stm r3!, {r0}
- str r3, [sp, 0x34]
- ldr r4, [sp, 0x24]
- adds r4, 0x1
- str r4, [sp, 0x24]
-_0816233E:
- ldr r7, [sp, 0x30]
- cmp r7, 0x4
- ble _0816227A
- ldr r5, [sp, 0x2C]
- cmp r5, 0
- bne _08162396
- bl sub_8165B20
- movs r7, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r4, =gUnknown_085DF9EC
- adds r2, r0, 0
- adds r2, 0xDC
- ldr r1, [sp, 0x24]
- lsls r0, r1, 2
- mov r5, sp
- adds r3, r0, r5
-_08162362:
- ldrb r0, [r2]
- lsls r1, r0, 25
- lsrs r0, r1, 30
- cmp r0, 0
- beq _0816238E
- ldrb r0, [r2, 0x1]
- adds r0, r4
- ldrb r0, [r0]
- ldr r5, [sp, 0x28]
- cmp r0, r5
- bne _0816238E
- lsrs r0, r1, 30
- subs r0, 0x1
- cmp r0, r10
- bne _0816238E
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r7, r1
- stm r3!, {r0}
- ldr r5, [sp, 0x24]
- adds r5, 0x1
- str r5, [sp, 0x24]
-_0816238E:
- adds r2, 0x44
- adds r7, 0x1
- cmp r7, 0x3
- ble _08162362
-_08162396:
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bne _081623C0
-_0816239C:
- movs r0, 0
- b _081623DA
- .pool
-_081623C0:
- ldr r4, =gTrainerBattleOpponent_A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x24]
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- strh r0, [r4]
- movs r0, 0x1
-_081623DA:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816222C
-
- thumb_func_start sub_81623F0
-sub_81623F0: @ 81623F0
- push {r4-r7,lr}
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- bne _08162414
- bl sub_8165E18
- b _08162530
- .pool
-_08162414:
- ldr r0, =0x000040ce
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_81A39C4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- bl GetFacilityEnemyMonLevel
- subs r4, 0x2
- cmp r4, 0x1
- bhi _08162488
- ldr r1, [r6]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r3, [r0]
- ldr r2, =gTrainerBattleOpponent_A
- lsls r0, r3, 2
- ldr r4, =0x00000cb4
- adds r1, r4
- adds r0, r1, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r4, =gTrainerBattleOpponent_B
- lsls r0, r3, 1
- adds r0, 0x1
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r4]
- ldrh r0, [r2]
- movs r1, 0
- bl sub_8162614
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_8162614
- b _08162530
- .pool
-_08162488:
- bl sub_816222C
- lsls r0, 24
- cmp r0, 0
- beq _081624B4
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- ldr r1, [r6]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 1
- adds r2, 0x2
- b _08162528
- .pool
-_081624B4:
- lsls r7, r5, 24
- adds r5, r6, 0
- ldr r6, =0x00000cb2
-_081624BA:
- ldr r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsrs r0, r7, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, [r5]
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r4, r0
- bge _081624FC
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r3
- beq _081624FC
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- subs r2, 0x2
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r0, =0x00000cb4
- adds r1, r0
-_081624EE:
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, r2
- bge _081624FC
- ldrh r0, [r1]
- cmp r0, r3
- bne _081624EE
-_081624FC:
- ldr r0, [r5]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _081624BA
- ldr r4, =gTrainerBattleOpponent_A
- strh r3, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r2, [r0]
- adds r0, r2, 0x1
- cmp r0, 0x6
- bgt _08162530
- lsls r0, r2, 1
- ldr r2, =0x00000cb4
-_08162528:
- adds r1, r2
- adds r1, r0
- ldrh r0, [r4]
- strh r0, [r1]
-_08162530:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81623F0
-
- thumb_func_start sub_8162548
-sub_8162548: @ 8162548
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x7
- bhi _08162584
- cmp r1, 0x6
- bne _08162570
- ldr r2, =gUnknown_085DFA1A
- lsls r1, r0, 2
- adds r0, r2, 0x2
- adds r0, r1, r0
- adds r1, r2
- ldrh r0, [r0]
- ldrh r4, [r1]
- b _0816258A
- .pool
-_08162570:
- ldr r2, =gUnknown_085DF9FA
- lsls r1, r3, 2
- adds r0, r2, 0x2
- adds r0, r1, r0
- adds r1, r2
- ldrh r0, [r0]
- ldrh r4, [r1]
- b _0816258A
- .pool
-_08162584:
- ldr r1, =gUnknown_085DF9FA
- ldrh r0, [r1, 0x1E]
- ldrh r4, [r1, 0x1C]
-_0816258A:
- subs r0, r4
- adds r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- adds r4, r0
- lsls r4, 16
- lsrs r5, r4, 16
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8162548
-
- thumb_func_start sub_81625B4
-sub_81625B4: @ 81625B4
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x7
- bhi _081625F4
- cmp r1, 0x6
- bne _081625D4
- ldr r1, =gUnknown_085DFA1A
- lsls r2, r0, 2
- b _081625D8
- .pool
-_081625D4:
- ldr r1, =gUnknown_085DF9FA
- lsls r2, 2
-_081625D8:
- adds r0, r1, 0x2
- adds r0, r2, r0
- adds r2, r1
- ldrh r0, [r0]
- ldrh r1, [r2]
- subs r0, r1
- adds r0, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r2]
- b _08162604
- .pool
-_081625F4:
- ldr r0, =gUnknown_085DF9FA
- ldrh r1, [r0, 0x1E]
- ldrh r2, [r0, 0x1C]
- subs r1, r2
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- ldrh r0, [r0, 0x1C]
-_08162604:
- strh r0, [r4]
- strb r1, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81625B4
-
- thumb_func_start sub_8162614
-sub_8162614: @ 8162614
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162640
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _081626BA
- .pool
-_08162640:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162650
- bl sub_81A4DD8
- b _08162788
- .pool
-_08162650:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _0816266C
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _081626BA
- .pool
-_0816266C:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162698
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _081626BA
- .pool
-_08162698:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r6, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
-_081626BA:
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _081626D4
-_081626C6:
- adds r1, 0x1
- cmp r1, 0x1D
- bhi _081626D4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081626C6
-_081626D4:
- cmp r1, 0x1E
- beq _08162700
- ldr r0, =gUnknown_085DCF0E
- adds r0, r1, r0
- ldrb r1, [r0]
- cmp r5, 0x1
- beq _08162744
- cmp r5, 0x1
- ble _0816272E
- cmp r5, 0xF
- bne _0816272E
- b _08162750
- .pool
-_08162700:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08162718
-_0816270A:
- adds r1, 0x1
- cmp r1, 0x13
- bhi _08162718
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _0816270A
-_08162718:
- cmp r1, 0x14
- beq _0816275C
- ldr r0, =gUnknown_085DCF2C
- adds r0, r1, r0
- ldrb r1, [r0]
- cmp r5, 0x1
- beq _08162744
- cmp r5, 0x1
- ble _0816272E
- cmp r5, 0xF
- beq _08162750
-_0816272E:
- ldr r0, =0x00004010
- bl VarSet
- b _08162788
- .pool
-_08162744:
- ldr r0, =0x00004011
- bl VarSet
- b _08162788
- .pool
-_08162750:
- ldr r0, =0x0000401e
- bl VarSet
- b _08162788
- .pool
-_0816275C:
- cmp r5, 0x1
- beq _08162770
- cmp r5, 0x1
- ble _08162768
- cmp r5, 0xF
- beq _08162780
-_08162768:
- ldr r0, =0x00004010
- b _08162772
- .pool
-_08162770:
- ldr r0, =0x00004011
-_08162772:
- movs r1, 0x7
- bl VarSet
- b _08162788
- .pool
-_08162780:
- ldr r0, =0x0000401e
- movs r1, 0x7
- bl VarSet
-_08162788:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8162614
-
- thumb_func_start sub_8162794
-sub_8162794: @ 8162794
- push {lr}
- movs r0, 0xFA
- lsls r0, 1
- movs r1, 0
- bl sub_8162614
- pop {r0}
- bx r0
- thumb_func_end sub_8162794
-
- thumb_func_start sub_81627A4
-sub_81627A4: @ 81627A4
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _081627CC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _08162836
- .pool
-_081627CC:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _081627E8
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _08162836
- .pool
-_081627E8:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162814
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _08162836
- .pool
-_08162814:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
-_08162836:
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _08162850
-_08162842:
- adds r1, 0x1
- cmp r1, 0x1D
- bhi _08162850
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _08162842
-_08162850:
- cmp r1, 0x1E
- beq _0816286C
- ldr r0, =gUnknown_085DCF0E
- b _08162892
- .pool
-_0816286C:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08162884
-_08162876:
- adds r1, 0x1
- cmp r1, 0x13
- bhi _08162884
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _08162876
-_08162884:
- cmp r1, 0x14
- bne _08162890
- movs r0, 0x7
- b _08162896
- .pool
-_08162890:
- ldr r0, =gUnknown_085DCF2C
-_08162892:
- adds r0, r1, r0
- ldrb r0, [r0]
-_08162896:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81627A4
-
- thumb_func_start sub_81628A0
-sub_81628A0: @ 81628A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r1, 0
- mov r8, r1
- mov r10, r0
- movs r5, 0
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- mov r4, r10
- ldrb r4, [r4, 0xC]
- str r4, [sp, 0x18]
- mov r9, r5
- movs r7, 0x4
- str r7, [sp, 0x1C]
- ldr r1, =0x00000744
- adds r1, r0
- mov r12, r1
-_081628CA:
- movs r6, 0
- movs r3, 0
- mov r2, r12
- ldrb r0, [r2]
- ldr r4, [sp, 0x18]
- cmp r0, r4
- bne _081628FA
- mov r4, r9
- mov r2, r10
- adds r2, 0xC
-_081628DE:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _081628FA
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r1, r3, r4
- ldr r7, =0x00000744
- adds r0, r7
- adds r0, r1
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _081628DE
-_081628FA:
- cmp r3, 0x4
- bne _08162944
- movs r6, 0
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r3, =0x0000073c
- adds r0, r3
- ldr r2, [sp, 0x1C]
- adds r0, r2
- ldrb r0, [r0]
- mov r4, r10
- ldrb r4, [r4, 0x8]
- cmp r0, r4
- bne _08162944
- adds r1, r0, 0
- mov r2, r9
- adds r2, 0x4
-_0816291C:
- cmp r1, 0xFF
- bne _08162930
- movs r6, 0x7
- b _08162944
- .pool
-_08162930:
- adds r6, 0x1
- cmp r6, 0x6
- bgt _08162944
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r1
- beq _0816291C
-_08162944:
- cmp r6, 0x7
- beq _0816295A
- movs r0, 0xEC
- add r9, r0
- ldr r1, [sp, 0x1C]
- adds r1, 0xEC
- str r1, [sp, 0x1C]
- add r12, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _081628CA
-_0816295A:
- cmp r5, 0x4
- bgt _08162974
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- movs r1, 0xEC
- muls r1, r5
- adds r0, r1
- movs r4, 0xE7
- lsls r4, 3
- adds r0, r4
- b _081629B2
- .pool
-_08162974:
- movs r5, 0
- ldr r7, =gSaveBlock2Ptr
- ldr r0, [r7]
- ldr r1, =0x0000073a
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816299E
- adds r3, r7, 0
- adds r2, r1, 0
- movs r1, 0
-_0816298A:
- adds r1, 0xEC
- adds r5, 0x1
- cmp r5, 0x4
- bgt _081629C4
- ldr r0, [r3]
- adds r0, r1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816298A
-_0816299E:
- cmp r5, 0x4
- bgt _081629C4
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r1, 0xEC
- muls r1, r5
- adds r0, r1
- movs r2, 0xE7
- lsls r2, 3
- adds r0, r2
-_081629B2:
- mov r1, r10
- movs r2, 0xEC
- bl memcpy
- b _08162A8A
- .pool
-_081629C4:
- mov r2, sp
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r3, =0x0000073a
- adds r0, r3
- ldrh r0, [r0]
- movs r1, 0
- strh r0, [r2]
- add r0, sp, 0xC
- strh r1, [r0]
- movs r7, 0x1
- add r8, r7
- movs r5, 0x1
- add r0, sp, 0xC
- mov r9, r0
- mov r12, r3
-_081629E4:
- movs r3, 0
- adds r7, r5, 0x1
- cmp r3, r8
- bge _08162A2E
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r2, 0xEC
- adds r1, r5, 0
- muls r1, r2
- adds r0, r1
- mov r1, r12
- adds r4, r0, r1
- mov r6, sp
-_081629FE:
- lsls r0, r3, 1
- add r0, sp
- ldrh r2, [r4]
- adds r1, r2, 0
- ldrh r0, [r0]
- cmp r1, r0
- bcs _08162A24
- movs r3, 0
- movs r4, 0x1
- mov r8, r4
- strh r2, [r6]
- mov r0, r9
- strh r5, [r0]
- b _08162A2E
- .pool
-_08162A24:
- cmp r1, r0
- bhi _08162A2E
- adds r3, 0x1
- cmp r3, r8
- blt _081629FE
-_08162A2E:
- cmp r3, r8
- bne _08162A54
- mov r1, r8
- lsls r2, r1, 1
- mov r4, sp
- adds r3, r4, r2
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- movs r4, 0xEC
- adds r1, r5, 0
- muls r1, r4
- adds r0, r1
- add r0, r12
- ldrh r0, [r0]
- strh r0, [r3]
- add r2, r9
- strh r5, [r2]
- movs r0, 0x1
- add r8, r0
-_08162A54:
- adds r5, r7, 0
- cmp r5, 0x4
- ble _081629E4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- adds r5, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r5, 1
- add r1, sp
- adds r1, 0xC
- ldrh r2, [r1]
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- mov r1, r10
- movs r2, 0xEC
- bl memcpy
-_08162A8A:
- 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_81628A0
-
- thumb_func_start GetFrontierTrainerFrontSpriteId
-GetFrontierTrainerFrontSpriteId: @ 8162AA0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162AD0
- ldr r1, =gFacilityClassToPicIndex
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bed
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- b _08162BC8
- .pool
-_08162AD0:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162AE4
- bl GetFrontierBrainTrainerPicIndex
- lsls r0, 24
- lsrs r0, 24
- b _08162BCA
- .pool
-_08162AE4:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162B08
- ldr r2, =gFacilityClassToPicIndex
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- b _08162BC8
- .pool
-_08162B08:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162B64
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162B38
- ldr r4, =gFacilityClassToPicIndex
- bl sub_818649C
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- b _08162BC8
- .pool
-_08162B38:
- ldr r3, =gFacilityClassToPicIndex
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r2, =0x00000739
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- b _08162BC8
- .pool
-_08162B64:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- bne _08162BB0
- ldr r4, =gFacilityClassToPicIndex
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r4
- b _08162BC8
- .pool
-_08162BB0:
- ldr r5, =gFacilityClassToPicIndex
- ldr r4, =gApprentices
- bl sub_81864A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r5
-_08162BC8:
- ldrb r0, [r0]
-_08162BCA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFrontierTrainerFrontSpriteId
-
- thumb_func_start GetFrontierOpponentClass
-GetFrontierOpponentClass: @ 8162BD8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162C08
- ldr r1, =gFacilityClassToTrainerClass
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bed
- adds r0, r2
- ldrb r0, [r0]
- b _08162C26
- .pool
-_08162C08:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162C1C
- bl GetFrontierBrainTrainerClass
- lsls r0, 24
- lsrs r0, 24
- b _08162D1E
- .pool
-_08162C1C:
- ldr r0, =0x00000c03
- cmp r4, r0
- bne _08162C38
- ldr r0, =gTrainers
- ldr r1, =0x00007da1
-_08162C26:
- adds r0, r1
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162C38:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162C60
- ldr r2, =gFacilityClassToTrainerClass
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162C60:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162CBC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162C90
- ldr r4, =gFacilityClassToTrainerClass
- bl sub_818649C
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162C90:
- ldr r3, =gFacilityClassToTrainerClass
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r2, =0x00000739
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r3
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162CBC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162CF4
- ldr r5, =gFacilityClassToTrainerClass
- ldr r4, =gApprentices
- bl sub_81864A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- b _08162D1E
- .pool
-_08162CF4:
- ldr r4, =gFacilityClassToTrainerClass
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
- ldrb r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
-_08162D1E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetFrontierOpponentClass
-
- thumb_func_start sub_8162D34
-sub_8162D34: @ 8162D34
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162D5C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _08162E0A
- .pool
-_08162D5C:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162D78
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _08162E0A
- .pool
-_08162D78:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162DC0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162DA0
- bl sub_818649C
- lsls r0, 24
- lsrs r0, 24
- b _08162E0C
- .pool
-_08162DA0:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _08162E0A
- .pool
-_08162DC0:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162DE8
- ldr r4, =gApprentices
- bl sub_81864A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- b _08162E08
- .pool
-_08162DE8:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
-_08162E08:
- adds r0, 0x32
-_08162E0A:
- ldrb r0, [r0]
-_08162E0C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8162D34
-
- thumb_func_start GetFrontierTrainerName
-GetFrontierTrainerName: @ 8162E20
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r5, r0
- bne _08162E54
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xBF
- lsls r1, 4
- adds r2, r0, r1
-_08162E40:
- adds r0, r6, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _08162E40
- b _08162F5C
- .pool
-_08162E54:
- ldr r0, =0x000003fe
- cmp r5, r0
- bne _08162E68
- adds r0, r6, 0
- bl CopyFrontierBrainTrainerName
- b _08162F62
- .pool
-_08162E68:
- ldr r0, =0x00000c03
- cmp r5, r0
- bne _08162E88
- ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name
-_08162E70:
- adds r0, r6, r4
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _08162E70
- b _08162F5C
- .pool
-_08162E88:
- ldr r0, =0x0000012b
- cmp r5, r0
- bhi _08162EB4
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r5
- adds r0, r1
- adds r2, r0, 0x4
-_08162E9A:
- adds r0, r6, r4
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x6
- ble _08162E9A
- b _08162F5C
- .pool
-_08162EB4:
- ldr r0, =0x0000018f
- cmp r5, r0
- bhi _08162F00
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162ED8
- adds r0, r6, 0
- bl sub_8186468
- b _08162F62
- .pool
-_08162ED8:
- ldr r2, =gSaveBlock2Ptr
- movs r0, 0xEC
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =0xfffef2a8
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r1, r0, 0x4
- adds r0, 0xE4
- ldrb r2, [r0]
- adds r0, r6, 0
- bl TVShowConvertInternationalString
- b _08162F62
- .pool
-_08162F00:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08162F24
- bl sub_81864A8
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81864C0
- lsls r0, 24
- lsrs r4, r0, 24
- b _08162F3E
- .pool
-_08162F24:
- ldr r1, =gSaveBlock2Ptr
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r2, =0xffff969c
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r5, r0, 27
- adds r1, 0x3F
- ldrb r4, [r1]
-_08162F3E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl GetApprenticeNameInLanguage
- adds r1, r0, 0
- adds r0, r6, 0
- adds r2, r4, 0
- bl TVShowConvertInternationalString
- b _08162F62
- .pool
-_08162F5C:
- adds r1, r6, r4
- movs r0, 0xFF
- strb r0, [r1]
-_08162F62:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end GetFrontierTrainerName
-
- thumb_func_start sub_8162F68
-sub_8162F68: @ 8162F68
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- bne _08162F90
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bed
- adds r0, r1
- b _0816300E
- .pool
-_08162F90:
- ldr r0, =0x000003fe
- cmp r4, r0
- bne _08162FA4
- bl sub_81A4DB8
- lsls r0, 24
- lsrs r0, 24
- b _08163042
- .pool
-_08162FA4:
- ldr r0, =0x0000012b
- cmp r4, r0
- bhi _08162FC0
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- b _0816300E
- .pool
-_08162FC0:
- ldr r0, =0x0000018f
- cmp r4, r0
- bhi _08162FEC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r4, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x00000739
- adds r0, r1
- b _0816300E
- .pool
-_08162FEC:
- ldr r3, =gApprentices
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r5, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- lsrs r0, 27
- movs r1, 0x58
- muls r0, r1
- adds r0, r3
- adds r0, 0x32
-_0816300E:
- ldrb r2, [r0]
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08163028
-_0816301A:
- adds r1, 0x1
- cmp r1, 0x13
- bhi _08163028
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _0816301A
-_08163028:
- cmp r1, 0x14
- bne _08163040
- movs r0, 0
- b _08163042
- .pool
-_08163040:
- movs r0, 0x1
-_08163042:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8162F68
-
- thumb_func_start sub_8163048
-sub_8163048: @ 8163048
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ZeroEnemyPartyMons
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- adds r2, r4, 0
- bl sub_81630C4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163048
-
- thumb_func_start sub_816306C
-sub_816306C: @ 816306C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ZeroEnemyPartyMons
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- adds r2, r4, 0
- bl sub_81630C4
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- movs r1, 0x3
- adds r2, r4, 0
- bl sub_81630C4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816306C
-
- thumb_func_start sub_81630A0
-sub_81630A0: @ 81630A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ZeroEnemyPartyMons
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- adds r2, r4, 0
- bl sub_8165EA4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81630A0
-
- thumb_func_start sub_81630C4
-sub_81630C4: @ 81630C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- add r4, sp, 0x14
- movs r0, 0xFF
- strb r0, [r4]
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
- ldr r0, =0x0000012b
- cmp r5, r0
- bhi _08163138
- adds r0, r5, 0
- bl sub_8165D08
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r2, [r0]
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r2
- adds r0, r1
- ldr r0, [r0, 0x30]
- str r0, [sp, 0x2C]
- movs r0, 0
- str r0, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- ldrh r1, [r2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08163124
- b _08163278
-_08163124:
- b _08163260
- .pool
-_08163138:
- movs r0, 0xFA
- lsls r0, 1
- cmp r5, r0
- bne _08163180
- ldr r7, [sp, 0x18]
- adds r0, r7, 0x3
- cmp r7, r0
- blt _0816314A
- b _08163426
-_0816314A:
- ldr r4, =gSaveBlock2Ptr
-_0816314C:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r5, [sp, 0x18]
- subs r2, r7, r5
- movs r1, 0x2C
- muls r2, r1
- movs r6, 0xC2
- lsls r6, 4
- adds r2, r6
- ldr r1, [r4]
- adds r1, r2
- bl sub_806819C
- adds r7, 0x1
- adds r0, r5, 0
- adds r0, 0x3
- cmp r7, r0
- blt _0816314C
- b _08163426
- .pool
-_08163180:
- ldr r0, =0x000003fe
- cmp r5, r0
- bne _08163190
- bl sub_81A4E04
- b _08163426
- .pool
-_08163190:
- ldr r0, =0x0000018f
- cmp r5, r0
- bhi _08163218
- movs r6, 0
- ldr r7, [sp, 0x18]
- ldr r1, [sp, 0x1C]
- adds r0, r7, r1
- cmp r7, r0
- blt _081631A4
- b _08163426
-_081631A4:
- ldr r2, =0xfffffed4
- adds r1, r5, r2
- movs r0, 0xEC
- adds r2, r1, 0
- muls r2, r0
- mov r8, r2
- muls r0, r5
- ldr r5, =0xfffef2a8
- adds r4, r0, r5
-_081631B6:
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- movs r0, 0x2C
- adds r2, r6, 0
- muls r2, r0
- mov r1, r8
- adds r0, r2, r1
- adds r1, r3, r0
- ldr r5, =0x0000076c
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _081631F0
- adds r5, 0xC
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r1, [sp, 0x20]
- cmp r0, r1
- bhi _081631F0
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- adds r1, r3, r4
- adds r2, 0x34
- adds r1, r2
- movs r2, 0
- bl sub_8068338
-_081631F0:
- adds r6, 0x1
- adds r7, 0x1
- ldr r2, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- adds r0, r2, r5
- cmp r7, r0
- blt _081631B6
- b _08163426
- .pool
-_08163218:
- ldr r7, [sp, 0x18]
- adds r0, r7, 0x3
- cmp r7, r0
- blt _08163222
- b _08163426
-_08163222:
- ldr r6, =gSaveBlock2Ptr
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, =0xffff969c
- adds r5, r0, r1
- movs r4, 0
-_08163230:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r1, [r6]
- adds r1, r5
- lsrs r2, r4, 24
- bl CreateApprenticeMon
- movs r2, 0x80
- lsls r2, 17
- adds r4, r2
- adds r7, 0x1
- ldr r0, [sp, 0x18]
- adds r0, 0x3
- cmp r7, r0
- blt _08163230
- b _08163426
- .pool
-_08163260:
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- lsls r0, 1
- ldr r5, [sp, 0x2C]
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08163260
-_08163278:
- movs r7, 0
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- str r4, [sp, 0x30]
- ldr r6, [sp, 0x1C]
- cmp r7, r6
- bne _08163296
- b _08163426
-_08163296:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x28]
- bl __modsi3
- lsls r0, 1
- ldr r1, [sp, 0x2C]
- adds r0, r1
- ldrh r4, [r0]
- ldr r2, [sp, 0x20]
- cmp r2, 0x32
- beq _081632B6
- cmp r2, 0x14
- bne _081632BE
-_081632B6:
- ldr r0, =0x00000351
- cmp r4, r0
- bls _081632BE
- b _0816341E
-_081632BE:
- movs r6, 0
- ldr r5, [sp, 0x18]
- adds r5, r7
- mov r8, r5
- b _081632D2
- .pool
-_081632D0:
- adds r6, 0x1
-_081632D2:
- cmp r6, r8
- bge _081632F6
- movs r1, 0x64
- adds r0, r6, 0
- muls r0, r1
- ldr r2, =gEnemyParty
- adds r0, r2
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r1, r4, 4
- adds r1, r2
- ldrh r1, [r1]
- cmp r0, r1
- bne _081632D0
-_081632F6:
- cmp r6, r8
- beq _081632FC
- b _0816341E
-_081632FC:
- movs r6, 0
- cmp r6, r8
- bge _08163346
- ldr r5, =gBattleFrontierHeldItems
- mov r9, r5
- movs r3, 0
-_08163308:
- ldr r0, =gEnemyParty
- adds r5, r3, r0
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x38]
- bl GetMonData
- ldr r3, [sp, 0x38]
- cmp r0, 0
- beq _0816333E
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r1, r4, 4
- adds r1, r2
- ldrb r1, [r1, 0xA]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x38]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08163346
-_0816333E:
- adds r3, 0x64
- adds r6, 0x1
- cmp r6, r8
- blt _08163308
-_08163346:
- cmp r6, r8
- bne _0816341E
- movs r6, 0
- cmp r6, r7
- bge _08163368
- add r0, sp, 0xC
- ldrh r0, [r0]
- cmp r0, r4
- beq _08163368
- add r1, sp, 0xC
-_0816335A:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, r7
- bge _08163368
- ldrh r0, [r1]
- cmp r0, r4
- bne _0816335A
-_08163368:
- cmp r6, r7
- bne _0816341E
- lsls r0, r7, 1
- add r0, sp
- adds r0, 0xC
- strh r4, [r0]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- ldr r2, =gEnemyParty
- adds r0, r2
- ldr r5, =gFacilityTrainerMons
- ldr r2, [r5]
- lsls r4, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- ldr r6, [sp, 0x24]
- str r6, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- ldr r2, [sp, 0x30]
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x20]
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r0, 0xFF
- mov r6, sp
- strb r0, [r6, 0x14]
- movs r6, 0
- adds r0, r7, 0x1
- str r0, [sp, 0x34]
- mov r9, r4
- movs r0, 0x64
- mov r3, r8
- muls r3, r0
- mov r1, r9
- str r1, [sp, 0x3C]
- ldr r2, =gEnemyParty
- mov r10, r2
-_081633B8:
- ldr r0, [r5]
- ldr r7, [sp, 0x3C]
- adds r0, r7, r0
- lsls r4, r6, 1
- adds r0, 0x2
- adds r0, r4
- ldrh r1, [r0]
- lsls r2, r6, 24
- lsrs r2, 24
- mov r7, r10
- adds r0, r3, r7
- str r3, [sp, 0x38]
- bl SetMonMoveSlot
- ldr r0, [r5]
- ldr r1, [sp, 0x3C]
- adds r0, r1, r0
- adds r0, 0x2
- adds r0, r4
- ldrh r0, [r0]
- ldr r3, [sp, 0x38]
- cmp r0, 0xDA
- bne _081633EC
- movs r0, 0
- mov r2, sp
- strb r0, [r2, 0x14]
-_081633EC:
- adds r6, 0x1
- cmp r6, 0x3
- ble _081633B8
- movs r5, 0x64
- mov r4, r8
- muls r4, r5
- ldr r6, =gEnemyParty
- adds r4, r6
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0x14
- bl SetMonData
- ldr r0, =gFacilityTrainerMons
- ldr r0, [r0]
- add r0, r9
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- ldr r7, [sp, 0x34]
-_0816341E:
- ldr r0, [sp, 0x1C]
- cmp r7, r0
- beq _08163426
- b _08163296
-_08163426:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81630C4
-
- thumb_func_start sub_8163444
-sub_8163444: @ 8163444
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x8]
- movs r1, 0xFF
- add r0, sp, 0x4
- strb r1, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r0, 0xDC
- adds r0, r2
- mov r10, r0
- ldrb r0, [r0, 0x1]
- movs r1, 0x9
- str r1, [sp, 0x10]
- cmp r0, 0x4
- bhi _08163474
- movs r0, 0x6
- str r0, [sp, 0x10]
-_08163474:
- ldr r1, =0x00000ca9
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- movs r1, 0x32
- str r1, [sp, 0xC]
- cmp r0, 0
- beq _0816348A
- movs r0, 0x64
- str r0, [sp, 0xC]
-_0816348A:
- movs r7, 0
- adds r2, 0xE2
- str r2, [sp, 0x14]
- add r1, sp, 0x4
- mov r9, r1
-_08163494:
- ldr r2, [sp, 0x8]
- adds r6, r2, r7
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gEnemyParty
- adds r0, r1
- lsls r5, r7, 1
- adds r4, r5, r7
- lsls r4, 2
- mov r2, r10
- adds r1, r2, r4
- ldrh r1, [r1, 0x4]
- movs r2, 0x8
- str r2, [sp]
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- bl CreateMonWithEVSpread
- movs r0, 0xFF
- mov r1, r9
- strb r0, [r1]
- adds r2, r7, 0x1
- mov r8, r2
- movs r1, 0x3
-_081634C4:
- ldr r2, [sp, 0x14]
- adds r0, r2, r4
- ldrh r0, [r0]
- cmp r0, 0xDA
- bne _081634D4
- movs r2, 0
- mov r0, r9
- strb r2, [r0]
-_081634D4:
- adds r4, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081634C4
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0x4
- bl SetMonData
- adds r2, r5, r7
- lsls r2, 2
- add r2, r10
- adds r2, 0xE
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r7, r8
- cmp r7, 0x3
- bne _08163494
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163444
-
- thumb_func_start RandomizeFacilityTrainerMonId
-RandomizeFacilityTrainerMonId: @ 8163524
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r4
- adds r0, r1
- ldr r5, [r0, 0x30]
- movs r4, 0
- ldrh r1, [r5]
- b _08163558
- .pool
-_0816354C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r1, [r0]
-_08163558:
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _0816354C
-_0816355E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- cmp r6, 0x32
- beq _0816357A
- cmp r6, 0x14
- bne _08163580
-_0816357A:
- ldr r0, =0x00000351
- cmp r1, r0
- bhi _0816355E
-_08163580:
- adds r0, r1, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end RandomizeFacilityTrainerMonId
-
- thumb_func_start sub_8163590
-sub_8163590: @ 8163590
- push {lr}
- bl ZeroEnemyPartyMons
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _081635C0
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- bl sub_81635D4
- b _081635CA
- .pool
-_081635C0:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- movs r1, 0
- bl sub_816379C
-_081635CA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163590
-
- thumb_func_start sub_81635D4
-sub_81635D4: @ 81635D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- ldr r0, =0x0000012b
- cmp r2, r0
- bhi _0816364A
- ldr r4, =gSaveBlock2Ptr
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- ldr r4, [r4]
- lsrs r0, 22
- movs r2, 0xCE
- lsls r2, 4
- adds r1, r4, r2
- adds r1, r0
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =0x00000cb2
- adds r4, r3
- ldrh r0, [r4]
- cmp r0, 0x5
- bhi _0816363C
- adds r0, r1, 0
- movs r1, 0
- bl sub_81A6CA8
- lsls r0, 24
- lsrs r0, 24
- b _081636A6
- .pool
-_0816363C:
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_81A6CA8
- lsls r0, 24
- lsrs r0, 24
- b _081636A6
-_0816364A:
- movs r0, 0xFA
- lsls r0, 1
- cmp r2, r0
- bne _08163694
- ldr r7, [sp, 0x10]
- adds r0, r7, 0x3
- cmp r7, r0
- blt _0816365C
- b _08163776
-_0816365C:
- ldr r4, =gSaveBlock2Ptr
-_0816365E:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r1, [sp, 0x10]
- subs r2, r7, r1
- movs r1, 0x2C
- muls r2, r1
- movs r3, 0xC2
- lsls r3, 4
- adds r2, r3
- ldr r1, [r4]
- adds r1, r2
- bl sub_806819C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [sp, 0x10]
- adds r0, 0x3
- cmp r7, r0
- blt _0816365E
- b _08163776
- .pool
-_08163694:
- ldr r0, =0x000003fe
- cmp r3, r0
- bne _081636A4
- bl sub_81A6CD0
- b _08163776
- .pool
-_081636A4:
- movs r0, 0x1F
-_081636A6:
- str r0, [sp, 0x18]
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- mov r8, r2
- movs r7, 0
-_081636CE:
- ldr r1, =gUnknown_03006298
- lsls r0, r7, 1
- adds r0, r1
- ldrh r0, [r0]
- mov r9, r0
- ldr r3, [sp, 0x10]
- adds r5, r3, r7
- movs r0, 0x64
- adds r6, r5, 0
- muls r6, r0
- ldr r1, =gEnemyParty
- adds r0, r6, r1
- ldr r3, =gFacilityTrainerMons
- ldr r2, [r3]
- mov r1, r9
- lsls r4, r1, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- mov r10, r3
- ldr r3, [sp, 0x18]
- str r3, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x14]
- mov r3, r10
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
- movs r3, 0
- adds r7, 0x1
- mov r10, r7
- adds r7, r4, 0
-_08163718:
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- mov r2, r9
- lsls r0, r2, 4
- adds r0, r1
- lsls r1, r3, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r1, [r0]
- ldr r2, =gEnemyParty
- adds r0, r6, r2
- adds r2, r3, 0
- str r3, [sp, 0x1C]
- bl SetMonMoveAvoidReturn
- ldr r3, [sp, 0x1C]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _08163718
- movs r3, 0x64
- adds r4, r5, 0
- muls r4, r3
- ldr r0, =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r7, r0
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r2, r10
- lsls r0, r2, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _081636CE
-_08163776:
- 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_81635D4
-
- thumb_func_start sub_816379C
-sub_816379C: @ 816379C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0xA]
- mov r9, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- mov r2, r9
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- mov r9, r2
- movs r7, 0
- mov r8, r7
-_081637D0:
- ldr r1, =gUnknown_03006298
- mov r2, r8
- lsls r0, r2, 1
- adds r0, r1
- ldrh r4, [r0]
- ldr r5, [sp, 0x10]
- add r5, r8
- movs r7, 0x64
- adds r6, r5, 0
- muls r6, r7
- ldr r1, =gEnemyParty
- adds r0, r6, r1
- ldr r7, =gFacilityTrainerMons
- ldr r2, [r7]
- lsls r4, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- movs r7, 0
- str r7, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- movs r2, 0x1E
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
- mov r10, r5
- mov r0, r8
- adds r0, 0x1
- str r0, [sp, 0x14]
- mov r8, r4
- mov r5, r8
-_08163818:
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r5, r0
- lsls r4, r7, 1
- adds r0, 0x2
- adds r0, r4
- ldrh r1, [r0]
- ldr r2, =gEnemyParty
- adds r0, r6, r2
- adds r2, r7, 0
- bl SetMonMoveAvoidReturn
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- adds r0, r5, r0
- adds r0, 0x2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0xDA
- bne _08163846
- movs r1, 0
- add r0, sp, 0xC
- strb r1, [r0]
-_08163846:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08163818
- movs r2, 0x64
- mov r4, r10
- muls r4, r2
- ldr r7, =gEnemyParty
- adds r4, r7
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0xC
- bl SetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r0, [r1]
- add r0, r8
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- ldr r2, [sp, 0x14]
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x2
- bls _081637D0
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816379C
-
- thumb_func_start ConvertBattleFrontierTrainerSpeechToString
-ConvertBattleFrontierTrainerSpeechToString: @ 81638AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0x2
- bl ConvertEasyChatWordsToString
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- adds r1, r4, 0
- bl GetStringWidth
- cmp r0, 0xCC
- bls _0816390A
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertEasyChatWordsToString
- ldrb r0, [r4]
- movs r1, 0x1
- cmp r0, 0xFE
- beq _081638EE
- adds r2, r4, 0
-_081638E4:
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r1, 0x1
- cmp r0, 0xFE
- bne _081638E4
-_081638EE:
- ldr r2, =gStringVar4
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r2, 0
- cmp r0, 0xFE
- beq _08163904
-_081638FA:
- adds r1, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFE
- bne _081638FA
-_08163904:
- adds r1, r3
- movs r0, 0xFA
- strb r0, [r1]
-_0816390A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ConvertBattleFrontierTrainerSpeechToString
-
- thumb_func_start sub_8163914
-sub_8163914: @ 8163914
- push {lr}
- bl GetFacilityEnemyMonLevel
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- beq _08163930
- ldr r0, =gTrainerBattleOpponent_B
- b _08163932
- .pool
-_08163930:
- ldr r0, =gTrainerBattleOpponent_A
-_08163932:
- ldrh r3, [r0]
- movs r0, 0xFA
- lsls r0, 1
- cmp r3, r0
- bne _08163950
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bfc
- b _08163986
- .pool
-_08163950:
- ldr r0, =0x0000012b
- cmp r3, r0
- bhi _08163974
- ldr r2, =gFacilityTrainers
- movs r0, 0x34
- adds r1, r3, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081639A8
- .pool
-_08163974:
- ldr r0, =0x0000018f
- cmp r3, r0
- bhi _0816399C
- ldr r1, =gSaveBlock2Ptr
- movs r0, 0xEC
- muls r0, r3
- ldr r1, [r1]
- adds r0, r1
- ldr r1, =0xfffef2b8
-_08163986:
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081639A8
- .pool
-_0816399C:
- adds r0, r3, 0
- adds r0, 0x70
- lsls r0, 24
- lsrs r0, 24
- bl CopyFriendsApprenticeChallengeText
-_081639A8:
- pop {r0}
- bx r0
- thumb_func_end sub_8163914
-
- thumb_func_start sub_81639AC
-sub_81639AC: @ 81639AC
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_81864CC
- ldr r0, =gBattleScripting
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0xA
- bhi _08163A78
- lsls r0, 2
- ldr r1, =_081639D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081639D0:
- .4byte _081639FC
- .4byte _08163A38
- .4byte _08163A74
- .4byte _081639FC
- .4byte _081639FC
- .4byte _081639FC
- .4byte _081639FC
- .4byte _081639FC
- .4byte _08163A78
- .4byte _081639FC
- .4byte _081639FC
-_081639FC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000ebc
- adds r1, r0, r2
- ldr r2, [r1]
- ldr r0, =0x00fffffe
- cmp r2, r0
- bhi _08163A2C
- adds r0, r2, 0x1
- str r0, [r1]
- movs r1, 0x14
- bl __umodsi3
- cmp r0, 0
- bne _08163A78
- bl UpdateGymLeaderRematch
- b _08163A78
- .pool
-_08163A2C:
- ldr r0, =0x00ffffff
- str r0, [r1]
- b _08163A78
- .pool
-_08163A38:
- movs r5, 0
- ldr r6, =gSaveBlock1Ptr
-_08163A3C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- movs r0, 0x8E
- lsls r0, 2
- adds r1, r4, r0
- ldr r0, [r6]
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _08163A3C
- b _08163A78
- .pool
-_08163A74:
- bl sub_816537C
-_08163A78:
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81639AC
-
- thumb_func_start sub_8163A8C
-sub_8163A8C: @ 8163A8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08163AB0
- ldr r0, =gMain
- ldr r1, =sub_81639AC
- str r1, [r0, 0x8]
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08163AB0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163A8C
-
- thumb_func_start sub_8163AC4
-sub_8163AC4: @ 8163AC4
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, =gBattleScripting
- ldr r2, =gSpecialVar_0x8004
- ldrh r1, [r2]
- adds r0, 0x26
- strb r1, [r0]
- ldrh r0, [r2]
- cmp r0, 0xA
- bls _08163ADA
- b _08163E68
-_08163ADA:
- lsls r0, 2
- ldr r1, =_08163AF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08163AF0:
- .4byte _08163B1C
- .4byte _08163BC0
- .4byte _08163C10
- .4byte _08163C70
- .4byte _08163CC4
- .4byte _08163D28
- .4byte _08163D74
- .4byte _08163DB4
- .4byte _08163E2C
- .4byte _08163DF4
- .4byte _08163DC8
-_08163B1C:
- ldr r5, =gBattleTypeFlags
- movs r0, 0x84
- lsls r0, 1
- str r0, [r5]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- beq _08163B56
- cmp r4, 0x1
- bgt _08163B44
- cmp r4, 0
- beq _08163B4E
- b _08163BA6
- .pool
-_08163B44:
- cmp r4, 0x2
- beq _08163B64
- cmp r4, 0x3
- beq _08163B98
- b _08163BA6
-_08163B4E:
- movs r0, 0x3
- bl sub_8163048
- b _08163BA6
-_08163B56:
- movs r0, 0x4
- bl sub_8163048
- ldr r0, [r5]
- orrs r0, r4
- str r0, [r5]
- b _08163BA6
-_08163B64:
- movs r0, 0x2
- bl sub_816306C
- ldr r1, =gPartnerTrainerId
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000cd6
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- ldrh r0, [r1]
- bl sub_8165404
- ldr r0, [r5]
- ldr r1, =0x00408041
- orrs r0, r1
- str r0, [r5]
- b _08163BA6
- .pool
-_08163B98:
- ldr r0, [r5]
- ldr r1, =0x00800043
- orrs r0, r1
- str r0, [r5]
- movs r0, 0x2
- bl sub_816306C
-_08163BA6:
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0
- b _08163E10
- .pool
-_08163BC0:
- movs r5, 0
- ldr r6, =gSaveBlock1Ptr
-_08163BC4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r0, r4, r0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- movs r0, 0x8E
- lsls r0, 2
- adds r4, r0
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r5, 0x1
- cmp r5, 0x5
- ble _08163BC4
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0xC
- b _08163E10
- .pool
-_08163C10:
- bl ZeroEnemyPartyMons
- movs r5, 0
- ldr r4, =gSaveBlock2Ptr
-_08163C18:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- adds r2, r5, 0
- muls r2, r1
- movs r1, 0xC2
- lsls r1, 4
- adds r2, r1
- ldr r1, [r4]
- adds r1, r2
- bl sub_806819C
- adds r5, 0x1
- cmp r5, 0x2
- ble _08163C18
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00000808
- str r0, [r1]
- ldr r1, =gTrainerBattleOpponent_A
- movs r0, 0
- strh r0, [r1]
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0xD
- b _08163E10
- .pool
-_08163C70:
- ldr r4, =gBattleTypeFlags
- ldr r0, =0x00010008
- str r0, [r4]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bne _08163C8A
- ldr r0, [r4]
- orrs r0, r1
- str r0, [r4]
-_08163C8A:
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- ldr r0, =0x000003fe
- cmp r1, r0
- bne _08163C9A
- movs r0, 0x2
- bl sub_8163048
-_08163C9A:
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl sub_806E694
- movs r0, 0x3
- b _08163E10
- .pool
-_08163CC4:
- ldr r4, =gBattleTypeFlags
- ldr r0, =0x00020008
- str r0, [r4]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bne _08163CDE
- ldr r0, [r4]
- orrs r0, r1
- str r0, [r4]
-_08163CDE:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _08163D0C
- movs r0, 0x3
- bl sub_8163048
- b _08163D12
- .pool
-_08163D0C:
- movs r0, 0x3
- bl sub_81630A0
-_08163D12:
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0x4
- b _08163E10
- .pool
-_08163D28:
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00040008
- str r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _08163D58
- movs r0, 0x3
- bl sub_8163048
- b _08163D5E
- .pool
-_08163D58:
- movs r0, 0x3
- bl sub_81630A0
-_08163D5E:
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0x5
- b _08163E10
- .pool
-_08163D74:
- ldr r4, =gBattleTypeFlags
- ldr r0, =0x00080008
- str r0, [r4]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bne _08163D8E
- ldr r0, [r4]
- orrs r0, r1
- str r0, [r4]
-_08163D8E:
- bl sub_8163590
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0x6
- b _08163E10
- .pool
-_08163DB4:
- ldr r1, =gBattleTypeFlags
- movs r0, 0x84
- lsls r0, 1
- str r0, [r1]
- movs r0, 0x3
- bl sub_8163048
- b _08163E00
- .pool
-_08163DC8:
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00200008
- str r0, [r1]
- movs r0, 0x3
- bl sub_8163048
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0xA
- b _08163E10
- .pool
-_08163DF4:
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00008109
- str r0, [r1]
- movs r0, 0x1
- bl sub_816306C
-_08163E00:
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0x7
-_08163E10:
- bl sub_80B100C
- lsls r0, 24
- lsrs r0, 24
- bl BattleTransition_StartOnField
- b _08163E68
- .pool
-_08163E2C:
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00408049
- str r0, [r1]
- ldr r5, =0x00000c03
- adds r0, r5, 0
- bl sub_8165404
- ldr r4, =gApproachingTrainerId
- movs r0, 0
- strb r0, [r4]
- ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1
- bl BattleSetup_ConfigureTrainerBattle
- movs r0, 0x1
- strb r0, [r4]
- ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1
- bl BattleSetup_ConfigureTrainerBattle
- ldr r0, =gPartnerTrainerId
- strh r5, [r0]
- ldr r0, =sub_8163A8C
- movs r1, 0x1
- bl CreateTask
- movs r0, 0
- bl PlayMapChosenOrBattleBGM
- movs r0, 0x12
- bl BattleTransition_StartOnField
-_08163E68:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163AC4
-
- thumb_func_start sub_8163E90
-sub_8163E90: @ 8163E90
- push {r4-r6,lr}
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r5, [r0]
- lsls r5, 30
- lsrs r5, 30
- ldr r0, =0x000040ce
- bl VarGet
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8164FCC
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, [r6]
- lsls r5, 1
- lsls r4, 2
- adds r5, r4
- movs r1, 0xCE
- lsls r1, 4
- adds r0, r1
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, r2
- bcs _08163ED0
- strh r2, [r1]
-_08163ED0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163E90
-
- thumb_func_start sub_8163EE4
-sub_8163EE4: @ 8163EE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x0000064c
- adds r5, r0, r1
- adds r0, r5, 0
- bl sub_8164FB8
- ldr r0, [r4]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r6, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, [r4]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _08163F40
- ldr r4, =gUnknown_085DCEFA
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x14
- b _08163F52
- .pool
-_08163F40:
- ldr r4, =gUnknown_085DCEDC
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x1E
-_08163F52:
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r6, [r5]
- strb r0, [r5, 0x1]
- adds r0, r5, 0
- adds r0, 0xC
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- adds r1, 0xA
- bl CopyUnalignedWord
- adds r0, r5, 0x4
- ldr r1, [r4]
- bl StringCopy7
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8164FCC
- strh r0, [r5, 0x2]
- movs r4, 0
- movs r2, 0x10
- adds r2, r5
- mov r12, r2
- movs r7, 0x1C
- adds r7, r5
- mov r9, r7
- adds r6, r5, 0
- adds r6, 0x28
- movs r0, 0xE4
- adds r0, r5
- mov r8, r0
-_08163F96:
- lsls r2, r4, 1
- mov r1, r12
- adds r3, r1, r2
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r7, =0x00002bbc
- adds r0, r1, r7
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3]
- mov r0, r9
- adds r3, r0, r2
- adds r7, 0xC
- adds r0, r1, r7
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3]
- adds r3, r6, r2
- ldr r0, =0x00002bd4
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- strh r0, [r3]
- adds r4, 0x1
- cmp r4, 0x5
- ble _08163F96
- movs r4, 0
-_08163FCC:
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- lsls r1, r4, 1
- ldr r2, =0x00000caa
- adds r0, r2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- beq _08163FF4
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty - 100
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x34
- adds r1, r5, r1
- bl sub_80686FC
-_08163FF4:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08163FCC
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- mov r7, r8
- strb r0, [r7]
- ldr r0, [r6]
- ldr r1, =0x0000064c
- adds r0, r1
- bl CalcEmeraldBattleTowerChecksum
- bl sub_8163E90
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8163EE4
-
- thumb_func_start sub_8164040
-sub_8164040: @ 8164040
- push {r4,r5,lr}
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r4, [r0]
- lsls r4, 30
- lsrs r4, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- ldr r5, [r5]
- lsls r4, 1
- lsrs r0, 14
- adds r4, r0
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r5, r2
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816408E
- cmp r1, 0x1
- bgt _0816408A
- ldr r1, =0x00000cb2
- adds r0, r5, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816408E
-_0816408A:
- bl sub_8163EE4
-_0816408E:
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164040
-
- thumb_func_start nullsub_61
-nullsub_61: @ 81640D8
- bx lr
- thumb_func_end nullsub_61
-
- thumb_func_start nullsub_116
-nullsub_116: @ 81640DC
- bx lr
- thumb_func_end nullsub_116
-
- thumb_func_start sub_81640E0
-sub_81640E0: @ 81640E0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, 0x64
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r6, 0
- movs r2, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r5, r0
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, 0xE0
- adds r0, r1
- mov r3, sp
-_08164122:
- ldrh r1, [r0]
- cmp r1, r7
- beq _08164130
- cmp r1, r4
- beq _08164130
- stm r3!, {r2}
- adds r6, 0x1
-_08164130:
- adds r0, 0xC
- adds r2, 0x1
- cmp r2, 0x2
- ble _08164122
- bl Random
- ldr r4, =gUnknown_03006298
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- strh r0, [r4]
-_08164150:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- strh r0, [r4, 0x2]
- ldrh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- beq _08164150
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81640E0
-
- thumb_func_start sub_8164188
-sub_8164188: @ 8164188
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- str r0, [sp, 0xC]
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r4, 0x64
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x14]
- movs r3, 0
- mov r8, r3
- movs r7, 0
- adds r2, r6, 0
- ldr r0, =0xfffffed4
- adds r5, r0
- ldr r6, =0x0000076c
- mov r10, sp
- movs r0, 0xEC
- adds r1, r5, 0
- muls r1, r0
- mov r9, r1
-_081641E6:
- ldr r1, [r2]
- movs r0, 0x2C
- muls r0, r7
- mov r3, r9
- adds r5, r0, r3
- adds r1, r5
- adds r0, r1, r6
- ldrh r0, [r0]
- ldr r3, [sp, 0x10]
- cmp r0, r3
- beq _0816423A
- ldr r3, [sp, 0x14]
- cmp r0, r3
- beq _0816423A
- movs r0, 0xEF
- lsls r0, 3
- adds r4, r1, r0
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r0, 24
- str r2, [sp, 0x18]
- bl GetFrontierEnemyMonLevel
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- cmp r1, r0
- bhi _0816423A
- ldr r0, [r2]
- adds r0, r5
- adds r0, r6
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816423A
- mov r3, r10
- adds r3, 0x4
- mov r10, r3
- subs r3, 0x4
- stm r3!, {r7}
- movs r0, 0x1
- add r8, r0
-_0816423A:
- adds r7, 0x1
- cmp r7, 0x3
- ble _081641E6
- bl Random
- ldr r4, =gUnknown_03006298
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- strh r0, [r4, 0x4]
-_08164258:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- strh r0, [r4, 0x6]
- ldrh r1, [r4, 0x4]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- beq _08164258
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164188
-
- thumb_func_start sub_81642A0
-sub_81642A0: @ 81642A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 4
- adds r1, r0, r1
- str r1, [sp, 0x24]
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r2, =0x00000ca9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- str r0, [sp, 0x14]
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- ldr r1, [r5]
- ldr r3, [sp, 0x14]
- lsls r2, r3, 1
- lsrs r0, 14
- adds r2, r0
- movs r4, 0xCE
- lsls r4, 4
- adds r1, r4
- adds r1, r2
- ldrh r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x1C]
- adds r4, 0x64
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x20]
- bl GetFacilityEnemyMonLevel
- movs r7, 0
- ldr r0, [sp, 0x18]
- lsls r0, 24
- mov r10, r0
-_08164318:
- lsls r6, r7, 1
-_0816431A:
- mov r1, r10
- lsrs r0, r1, 24
- movs r1, 0
- bl sub_8162548
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r2, 0
- mov r9, r2
- cmp r9, r7
- bge _08164368
- ldr r0, [r5]
- ldr r3, =0x00000cb4
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, r8
- beq _08164368
- ldr r0, =gFacilityTrainers
- ldr r2, [r0]
- movs r4, 0x34
- mov r0, r8
- muls r0, r4
- adds r0, r2
- ldrb r3, [r0]
-_0816434C:
- ldrh r0, [r1]
- muls r0, r4
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r3
- beq _08164368
- adds r1, 0x2
- movs r0, 0x1
- add r9, r0
- cmp r9, r7
- bge _08164368
- ldrh r0, [r1]
- cmp r0, r8
- bne _0816434C
-_08164368:
- cmp r9, r7
- bne _0816431A
- ldr r0, [r5]
- ldr r1, =0x00000cb4
- adds r0, r1
- adds r0, r6
- mov r2, r8
- strh r2, [r0]
- mov r7, r9
- adds r7, 0x1
- cmp r7, 0x5
- ble _08164318
- movs r3, 0x8
- mov r10, r3
- movs r4, 0
- mov r9, r4
- ldr r0, [sp, 0x24]
- str r0, [sp, 0x40]
-_0816438C:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- mov r2, r9
- lsls r1, r2, 1
- ldr r3, =0x00000cb4
- adds r0, r3
- adds r0, r1
- ldrh r0, [r0]
- mov r8, r0
- bl sub_81627A4
- ldr r4, [sp, 0x40]
- strb r0, [r4, 0x19]
- movs r7, 0
-_081643A8:
- adds r0, r7, 0x1
- str r0, [sp, 0x30]
- mov r1, r10
- lsls r1, 1
- str r1, [sp, 0x38]
- mov r2, r10
- adds r2, 0x1
- str r2, [sp, 0x34]
- mov r0, r10
- subs r0, 0x1
- lsls r0, 1
- str r0, [sp, 0x28]
-_081643C0:
- mov r0, r8
- bl RandomizeFacilityTrainerMonId
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- beq _081643F4
- ldr r3, =gSaveBlock2Ptr
- ldr r0, [r3]
- ldr r4, =0x00000cb4
- adds r0, r4
- ldr r1, [sp, 0x28]
- adds r0, r1
- ldrh r2, [r0]
- ldr r0, =gFacilityTrainerMons
- ldr r0, [r0]
- lsls r2, 4
- adds r2, r0
- lsls r1, r6, 4
- adds r1, r0
- ldrb r0, [r2, 0xA]
- ldrb r1, [r1, 0xA]
- cmp r0, r1
- beq _081643C0
-_081643F4:
- movs r5, 0x8
- cmp r5, r10
- bge _08164430
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r1, =gFacilityTrainerMons
- ldr r3, [r1]
- lsls r1, r6, 4
- adds r1, r3
- ldr r4, =0x00000cc4
- adds r2, r0, r4
- ldrh r0, [r1]
- mov r12, r0
-_0816440E:
- ldrh r0, [r2]
- lsls r0, 4
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r12
- beq _08164430
- ldrh r0, [r1]
- ldr r4, [sp, 0x1C]
- cmp r4, r0
- beq _08164430
- ldr r4, [sp, 0x20]
- cmp r4, r0
- beq _08164430
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r10
- blt _0816440E
-_08164430:
- cmp r5, r10
- bne _081643C0
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000cb4
- adds r0, r2
- ldr r3, [sp, 0x38]
- adds r0, r3
- strh r6, [r0]
- ldr r4, [sp, 0x34]
- mov r10, r4
- ldr r7, [sp, 0x30]
- cmp r7, 0x1
- ble _081643A8
- ldr r0, [sp, 0x40]
- adds r0, 0x18
- str r0, [sp, 0x40]
- movs r1, 0x1
- add r9, r1
- mov r2, r9
- cmp r2, 0x5
- ble _0816438C
- movs r3, 0
- mov r10, r3
- bl sub_8165B20
- movs r4, 0
- mov r9, r4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r2, 0
- adds r6, r0, 0
- adds r6, 0xDC
- mov r8, sp
-_08164474:
- ldrb r0, [r6]
- lsls r4, r0, 25
- lsrs r0, r4, 30
- cmp r0, 0
- beq _081644E0
- ldr r1, =gUnknown_085DF9EC
- ldrb r0, [r6, 0x1]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7
- str r2, [sp, 0x44]
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x44]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bgt _081644E0
- lsrs r0, r4, 30
- subs r0, 0x1
- ldr r3, [sp, 0x14]
- cmp r0, r3
- bne _081644E0
- movs r5, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xE0
- adds r1, r2, r0
- movs r7, 0x2
-_081644B0:
- ldrh r0, [r1]
- ldr r4, [sp, 0x1C]
- cmp r4, r0
- beq _081644C0
- ldr r3, [sp, 0x20]
- cmp r3, r0
- beq _081644C0
- adds r5, 0x1
-_081644C0:
- adds r1, 0xC
- subs r7, 0x1
- cmp r7, 0
- bge _081644B0
- cmp r5, 0x2
- ble _081644E0
- movs r0, 0xC8
- lsls r0, 1
- add r0, r9
- mov r4, r8
- adds r4, 0x4
- mov r8, r4
- subs r4, 0x4
- stm r4!, {r0}
- movs r0, 0x1
- add r10, r0
-_081644E0:
- adds r2, 0x44
- adds r6, 0x44
- movs r1, 0x1
- add r9, r1
- mov r3, r9
- cmp r3, 0x3
- ble _08164474
- mov r4, r10
- cmp r4, 0
- beq _08164532
- bl Random
- ldr r6, =gSaveBlock2Ptr
- ldr r4, [r6]
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- movs r5, 0xCC
- lsls r5, 4
- adds r4, r5
- strh r0, [r4]
- ldrh r0, [r4]
- bl sub_81627A4
- ldr r1, [sp, 0x24]
- adds r1, 0xA8
- strb r0, [r1, 0x1]
- movs r0, 0xD8
- lsls r0, 2
- bl FlagClear
- ldr r0, [r6]
- adds r0, r5
- ldrh r0, [r0]
- bl sub_81640E0
-_08164532:
- movs r0, 0
- mov r10, r0
- mov r9, r0
- mov r1, sp
- str r1, [sp, 0x3C]
-_0816453C:
- ldr r0, =gSaveBlock2Ptr
- movs r2, 0xEC
- mov r1, r9
- muls r1, r2
- movs r3, 0xE7
- lsls r3, 3
- adds r1, r3
- ldr r0, [r0]
- movs r2, 0
- movs r3, 0
- movs r7, 0
- mov r4, r9
- adds r4, 0x1
- str r4, [sp, 0x2C]
- adds r1, r0, r1
-_0816455A:
- ldm r1!, {r0}
- orrs r2, r0
- adds r3, r0
- adds r7, 0x1
- cmp r7, 0x39
- bls _0816455A
- ldr r0, =gSaveBlock2Ptr
- ldr r5, [r0]
- movs r1, 0xEC
- mov r6, r9
- muls r6, r1
- adds r4, r5, r6
- ldr r1, =0x0000073a
- adds r0, r4, r1
- ldrh r0, [r0]
- movs r1, 0x7
- str r2, [sp, 0x44]
- str r3, [sp, 0x48]
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r2, [sp, 0x44]
- ldr r3, [sp, 0x48]
- ldr r1, [sp, 0x18]
- cmp r0, r1
- bgt _08164656
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r4, [sp, 0x14]
- cmp r0, r4
- bne _08164656
- cmp r2, 0
- beq _08164656
- adds r1, 0xE8
- adds r0, r5, r1
- adds r0, r6
- ldr r0, [r0]
- cmp r0, r3
- bne _08164656
- movs r5, 0
- movs r7, 0
- ldr r2, =gSaveBlock2Ptr
- mov r8, r2
- ldr r3, =0x0000076c
-_081645B8:
- mov r4, r8
- ldr r2, [r4]
- movs r0, 0x2C
- adds r1, r7, 0
- muls r1, r0
- movs r4, 0xEC
- mov r0, r9
- muls r0, r4
- adds r6, r1, r0
- adds r2, r6
- adds r0, r2, r3
- ldrh r0, [r0]
- ldr r1, [sp, 0x1C]
- cmp r1, r0
- beq _0816463C
- ldr r4, [sp, 0x20]
- cmp r4, r0
- beq _0816463C
- movs r0, 0xEF
- lsls r0, 3
- adds r4, r2, r0
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- lsrs r0, 24
- str r3, [sp, 0x48]
- bl GetFrontierEnemyMonLevel
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x48]
- cmp r1, r0
- bhi _0816463C
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- b _08164638
- .pool
-_08164638:
- beq _0816463C
- adds r5, 0x1
-_0816463C:
- adds r7, 0x1
- cmp r7, 0x3
- ble _081645B8
- cmp r5, 0x1
- ble _08164656
- movs r0, 0x96
- lsls r0, 1
- add r0, r9
- ldr r3, [sp, 0x3C]
- stm r3!, {r0}
- str r3, [sp, 0x3C]
- movs r4, 0x1
- add r10, r4
-_08164656:
- ldr r0, [sp, 0x2C]
- mov r9, r0
- cmp r0, 0x4
- bgt _08164660
- b _0816453C
-_08164660:
- mov r1, r10
- cmp r1, 0
- beq _081646A0
- bl Random
- ldr r6, =gSaveBlock2Ptr
- ldr r4, [r6]
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r5, =0x00000cc2
- adds r4, r5
- strh r0, [r4]
- ldrh r0, [r4]
- bl sub_81627A4
- ldr r1, [sp, 0x24]
- adds r1, 0xC0
- strb r0, [r1, 0x1]
- ldr r0, =0x00000361
- bl FlagClear
- ldr r0, [r6]
- adds r0, r5
- ldrh r0, [r0]
- bl sub_8164188
-_081646A0:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81642A0
-
- thumb_func_start sub_81646BC
-sub_81646BC: @ 81646BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r0, 0
- mov r9, r0
- mov r10, r0
- bl GetFacilityEnemyMonLevel
- movs r0, 0xFA
- lsls r0, 1
- cmp r5, r0
- beq _081647CE
- subs r0, 0xC9
- cmp r5, r0
- bhi _081646FC
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- lsls r0, r4, 4
- adds r0, r1
- ldrh r1, [r0, 0x2]
- mov r9, r1
- ldrh r0, [r0]
- mov r10, r0
- b _081647CE
- .pool
-_081646FC:
- ldr r0, =0x0000018f
- cmp r5, r0
- bhi _08164750
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =gUnknown_03006298
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x2C
- muls r1, r0
- ldr r0, =0xfffffed4
- adds r2, r5, r0
- movs r0, 0xEC
- muls r0, r2
- adds r1, r0
- adds r3, r1
- movs r1, 0xEE
- lsls r1, 3
- adds r0, r3, r1
- ldrh r0, [r0]
- mov r9, r0
- ldr r2, =0x0000076c
- adds r3, r2
- ldrh r3, [r3]
- mov r10, r3
- b _081647CE
- .pool
-_08164750:
- ldr r4, =gSaveBlock2Ptr
- ldr r3, [r4]
- ldr r1, =gUnknown_03006298
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r2, =0xfffffe70
- adds r1, r5, r2
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r0, r2
- adds r3, r0
- adds r0, r3, 0
- adds r0, 0xE2
- ldrh r0, [r0]
- mov r9, r0
- adds r3, 0xE0
- ldrh r3, [r3]
- mov r10, r3
- movs r3, 0
- ldr r7, =gStringVar3
- mov r8, r7
- adds r0, r4, 0
- mov r12, r0
- adds r4, r2, 0
- movs r6, 0x8A
- lsls r6, 1
-_08164794:
- mov r1, r8
- adds r2, r3, r1
- mov r1, r12
- ldr r0, [r1]
- adds r1, r3, r4
- adds r0, r6
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, 0x6
- ble _08164794
- adds r1, r3, r7
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =0xfffffe70
- adds r1, r5, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r1, =0x0000011b
- adds r0, r2, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl ConvertInternationalString
-_081647CE:
- ldr r0, =gStringVar1
- movs r1, 0xD
- mov r2, r9
- muls r2, r1
- adds r1, r2, 0
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r0, =gStringVar2
- movs r1, 0xB
- mov r2, r10
- muls r2, r1
- adds r1, r2, 0
- ldr r2, =gSpeciesNames
- adds r1, r2
- bl StringCopy
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81646BC
-
- thumb_func_start sub_8164828
-sub_8164828: @ 8164828
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- bl GetFacilityEnemyMonLevel
- bl sub_81A39C4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =gSpecialVar_LastTalked
- ldrh r0, [r0]
- subs r5, r0, 0x2
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r5, 1
- ldr r2, =0x00000cb4
- adds r0, r2
- adds r0, r1
- ldrh r7, [r0]
- movs r3, 0
- str r3, [sp]
- ldr r4, =gUnknown_085DD500
- lsls r6, r7, 16
- b _08164884
- .pool
-_0816487C:
- adds r4, 0x8
- ldr r0, [sp]
- adds r0, 0x1
- str r0, [sp]
-_08164884:
- ldr r1, [sp]
- cmp r1, 0x31
- bhi _0816489A
- lsrs r0, r6, 16
- bl sub_8162D34
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- cmp r1, r0
- bne _0816487C
-_0816489A:
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x4
- bls _081648A4
- b _08164AC2
-_081648A4:
- lsls r0, 2
- ldr r1, =_081648B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081648B8:
- .4byte _081648CC
- .4byte _08164984
- .4byte _0816499C
- .4byte _081649BC
- .4byte _08164AC2
-_081648CC:
- movs r0, 0xFA
- lsls r0, 1
- cmp r7, r0
- bne _081648D6
- b _08164B54
-_081648D6:
- subs r0, 0xC9
- cmp r7, r0
- ble _081648E2
- ldr r0, =0x0000018f
- cmp r7, r0
- bgt _081648F4
-_081648E2:
- ldr r0, =gStringVar1
- adds r1, r7, 0
- bl GetFrontierTrainerName
- b _08164AC2
- .pool
-_081648F4:
- movs r3, 0
- lsls r2, r7, 16
- mov r10, r2
- ldr r6, =gStringVar1
- mov r9, r6
- ldr r4, =gSaveBlock2Ptr
- mov r8, r4
- ldr r5, =0xfffffe70
- adds r1, r7, r5
- lsls r0, r1, 4
- adds r0, r1
- lsls r4, r0, 2
- movs r5, 0x8A
- lsls r5, 1
-_08164910:
- mov r0, r9
- adds r2, r3, r0
- mov r1, r8
- ldr r0, [r1]
- adds r1, r3, r4
- adds r0, r5
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, 0x6
- ble _08164910
- adds r1, r3, r6
- movs r0, 0xFF
- strb r0, [r1]
- ldr r2, =gSaveBlock2Ptr
- ldr r1, [r2]
- ldr r3, =0xfffffe70
- adds r0, r7, r3
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r1, r4
- ldr r5, =0x0000011b
- adds r0, r1, r5
- ldrb r1, [r0]
- adds r0, r6, 0
- bl ConvertInternationalString
- ldr r0, =gStringVar2
- ldr r2, =gSaveBlock2Ptr
- ldr r1, [r2]
- adds r1, r4
- adds r1, 0xDE
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar3
- mov r3, r10
- lsrs r1, r3, 16
- bl GetFrontierTrainerName
- b _08164AC2
- .pool
-_08164984:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0
- ldr r4, =0x00000cc4
- adds r1, r4
- b _081649A8
- .pool
-_0816499C:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r1, r0
- ldr r5, =0x00000cc6
- adds r1, r5
-_081649A8:
- adds r0, r7, 0
- ldrh r1, [r1]
- bl sub_81646BC
- b _08164AC2
- .pool
-_081649BC:
- ldr r0, =gPartnerTrainerId
- strh r7, [r0]
- ldr r0, =0x0000012b
- cmp r7, r0
- bgt _08164A08
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- lsls r1, r5, 1
- adds r0, r1, 0
- adds r0, 0x8
- lsls r0, 1
- ldr r3, =0x00000cb4
- adds r2, r4, r3
- adds r0, r2, r0
- ldrh r3, [r0]
- ldr r5, =0x00000cd8
- adds r0, r4, r5
- strh r3, [r0]
- adds r1, 0x9
- lsls r1, 1
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, =0x00000cda
- adds r4, r1
- strh r0, [r4]
- b _08164A46
- .pool
-_08164A08:
- ldr r0, =0x0000018f
- cmp r7, r0
- bgt _08164A30
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r3, =gUnknown_03006298
- ldrh r2, [r3, 0x4]
- ldr r4, =0x00000cd8
- adds r0, r1, r4
- strh r2, [r0]
- ldrh r0, [r3, 0x6]
- b _08164A40
- .pool
-_08164A30:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r3, =gUnknown_03006298
- ldrh r2, [r3]
- ldr r4, =0x00000cd8
- adds r0, r1, r4
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
-_08164A40:
- ldr r5, =0x00000cda
- adds r1, r5
- strh r0, [r1]
-_08164A46:
- movs r5, 0
- mov r0, r8
- lsls r0, 24
- str r0, [sp, 0x4]
-_08164A4E:
- lsls r1, r5, 1
- mov r10, r1
- adds r2, r5, 0x1
- mov r9, r2
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r0, 1
- lsls r0, 24
- mov r8, r0
-_08164A60:
- ldr r3, [sp, 0x4]
- lsrs r0, r3, 24
- mov r4, r8
- lsrs r1, r4, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gPartnerTrainerId
- ldrh r0, [r0]
- cmp r0, r3
- beq _08164A60
- movs r2, 0
- cmp r2, r5
- bge _08164AA2
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r4, =0x00000cb4
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r3
- beq _08164AA2
- adds r6, r1, 0
-_08164A8E:
- adds r2, 0x1
- cmp r2, r5
- bge _08164AA2
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _08164A8E
-_08164AA2:
- cmp r2, r5
- bne _08164A60
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldr r1, =0x00000cb4
- adds r0, r1
- add r0, r10
- strh r3, [r0]
- mov r5, r9
- cmp r5, 0xD
- ble _08164A4E
- ldr r2, =gSaveBlock2Ptr
- ldr r0, [r2]
- ldr r3, =0x00000cd6
- adds r0, r3
- strh r7, [r0]
-_08164AC2:
- movs r0, 0xFA
- lsls r0, 1
- cmp r7, r0
- beq _08164B54
- subs r0, 0xC9
- cmp r7, r0
- bgt _08164AF8
- ldr r0, =gUnknown_085DD500
- ldr r4, [sp]
- lsls r1, r4, 3
- b _08164B04
- .pool
-_08164AF8:
- ldr r0, =0x0000018f
- cmp r7, r0
- bgt _08164B28
- ldr r0, =gUnknown_085DD500
- ldr r5, [sp]
- lsls r1, r5, 3
-_08164B04:
- adds r0, 0x4
- adds r1, r0
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- b _08164B54
- .pool
-_08164B28:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r0, =0xfffffe70
- adds r2, r7, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- adds r1, 0xDC
- ldrb r0, [r1]
- lsls r0, 27
- ldr r1, =gUnknown_085DD690
- lsrs r0, 25
- adds r0, r1
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
-_08164B54:
- 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_8164828
-
- thumb_func_start sub_8164B74
-sub_8164B74: @ 8164B74
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r7, r0, 30
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r4]
- ldr r2, =0x00000cb2
- adds r0, r2
- ldrh r6, [r0]
- bl GetMultiplayerId
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x6
- bls _08164BAC
- b _08164DB6
-_08164BAC:
- lsls r0, 2
- ldr r1, =_08164BD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08164BD0:
- .4byte _08164BEC
- .4byte _08164C3C
- .4byte _08164CE0
- .4byte _08164D14
- .4byte _08164D98
- .4byte _08164DA8
- .4byte _08164DB6
-_08164BEC:
- cmp r5, 0x3
- beq _08164BF2
- b _08164DB0
-_08164BF2:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r7, 1
- adds r0, r1
- ldr r3, =0x00000cec
- adds r0, r3
- ldrh r0, [r0]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _08164C18
- b _08164DB6
-_08164C18:
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0x4
- bl SendBlock
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _08164DB4
- .pool
-_08164C3C:
- bl GetBlockReceivedStatus
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x3
- beq _08164C4A
- b _08164DB6
-_08164C4A:
- bl ResetBlockReceivedFlags
- ldr r1, =gBlockRecvBuffer
- movs r0, 0x80
- lsls r0, 1
- adds r2, r1, r0
- ldrh r0, [r1]
- ldrh r3, [r2]
- cmp r0, r3
- bhi _08164C60
- ldrh r0, [r2]
-_08164C60:
- str r0, [sp]
- movs r4, 0
- ldr r0, =gSaveBlock2Ptr
- mov r9, r0
-_08164C68:
- adds r1, r4, 0x1
- mov r8, r1
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r0, 1
- lsls r7, r0, 24
-_08164C74:
- ldr r0, [sp]
- lsls r0, 24
- lsrs r0, 24
- lsrs r1, r7, 24
- bl sub_8162548
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r4
- bge _08164CB0
- mov r1, r9
- ldr r0, [r1]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- beq _08164CB0
- ldr r6, =gSaveBlock2Ptr
- adds r5, r1, 0
-_08164C9C:
- adds r2, 0x1
- cmp r2, r4
- bge _08164CB0
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _08164C9C
-_08164CB0:
- cmp r4, r2
- bne _08164C74
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r4, 1
- ldr r2, =0x00000cb4
- adds r0, r2
- adds r0, r1
- strh r3, [r0]
- mov r4, r8
- cmp r4, 0xD
- ble _08164C68
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
- b _08164DB4
- .pool
-_08164CE0:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08164DB6
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- ldr r3, =0x00000cb4
- adds r1, r3
- movs r2, 0x28
- bl SendBlock
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- b _08164DB4
- .pool
-_08164D14:
- bl GetBlockReceivedStatus
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x3
- bne _08164DB6
- bl ResetBlockReceivedFlags
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r5, =0x00000cb4
- adds r0, r5
- ldr r1, =gBlockRecvBuffer
- movs r2, 0x28
- bl memcpy
- ldr r2, =gTrainerBattleOpponent_A
- ldr r1, [r4]
- lsls r0, r6, 2
- adds r1, r5
- adds r0, r1, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r4, =gTrainerBattleOpponent_B
- lsls r0, r6, 1
- adds r0, 0x1
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r4]
- ldrh r0, [r2]
- movs r1, 0
- bl sub_8162614
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_8162614
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08164DB0
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _08164DB0
- ldr r1, =gSpecialVar_Result
- movs r0, 0x4
- b _08164DB4
- .pool
-_08164D98:
- bl sub_800AC34
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- b _08164DB4
- .pool
-_08164DA8:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08164DB6
-_08164DB0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x6
-_08164DB4:
- strh r0, [r1]
-_08164DB6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164B74
-
- thumb_func_start sub_8164DCC
-sub_8164DCC: @ 8164DCC
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08164DDA
- bl sub_800AC34
-_08164DDA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164DCC
-
- thumb_func_start sub_8164DE4
-sub_8164DE4: @ 8164DE4
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000cd6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0xF
- bl sub_8162614
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164DE4
-
- thumb_func_start sub_8164E04
-sub_8164E04: @ 8164E04
- push {r4-r6,lr}
- sub sp, 0x20
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _08164E9A
- ldr r5, =gTrainerBattleOpponent_A
- ldrh r1, [r5]
- mov r0, sp
- bl GetFrontierTrainerName
- mov r0, sp
- bl StripExtCtrlCodes
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000bd8
- adds r0, r1
- mov r1, sp
- bl StringCopy
- ldr r0, [r4]
- ldr r2, =0x00000beb
- adds r0, r2
- ldrh r1, [r5]
- bl sub_8165B88
- ldr r6, =gBattlerPartyIndexes
- ldrh r0, [r6, 0x2]
- movs r5, 0x64
- muls r0, r5
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r1, [r4]
- ldr r2, =0x00000bd6
- adds r1, r2
- strh r0, [r1]
- ldrh r0, [r6]
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r1, [r4]
- ldr r2, =0x00000bd4
- adds r1, r2
- strh r0, [r1]
- movs r2, 0
- movs r5, 0xBE
- lsls r5, 4
- ldr r3, =gBattleMons + 0x30
- adds r6, r4, 0
-_08164E7C:
- ldr r0, [r4]
- adds r0, r5
- adds r0, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xA
- ble _08164E7C
- ldr r0, [r6]
- ldr r1, =gBattleOutcome
- ldrb r1, [r1]
- ldr r2, =0x00000d06
- adds r0, r2
- strb r1, [r0]
-_08164E9A:
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164E04
-
- thumb_func_start sub_8164ED8
-sub_8164ED8: @ 8164ED8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r3, 0
- movs r2, 0
- ldr r4, =0x0000064c
- adds r1, r0, r4
-_08164EEA:
- ldm r1!, {r0}
- adds r3, r0
- adds r2, 0x1
- cmp r2, 0x39
- bls _08164EEA
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r2, =0x00000734
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, r3
- beq _08164F0A
- ldr r3, =0x0000064c
- adds r0, r1, r3
- bl sub_8164FB8
-_08164F0A:
- movs r4, 0
- adds r7, r5, 0
- movs r6, 0xEC
- mov r8, r7
-_08164F12:
- adds r0, r4, 0
- muls r0, r6
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r1, [r7]
- movs r3, 0
- movs r2, 0
- adds r5, r4, 0x1
- adds r1, r0
-_08164F26:
- ldm r1!, {r0}
- adds r3, r0
- adds r2, 0x1
- cmp r2, 0x39
- bls _08164F26
- mov r0, r8
- ldr r2, [r0]
- adds r1, r4, 0
- muls r1, r6
- movs r4, 0x82
- lsls r4, 4
- adds r0, r2, r4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r3
- beq _08164F52
- movs r3, 0xE7
- lsls r3, 3
- adds r0, r1, r3
- adds r0, r2, r0
- bl sub_8164FB8
-_08164F52:
- adds r4, r5, 0
- cmp r4, 0x4
- ble _08164F12
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8164ED8
-
- thumb_func_start CalcEmeraldBattleTowerChecksum
-CalcEmeraldBattleTowerChecksum: @ 8164F70
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xE8
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08164F7E:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x39
- bls _08164F7E
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CalcEmeraldBattleTowerChecksum
-
- thumb_func_start sub_8164F94
-sub_8164F94: @ 8164F94
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xA0
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08164FA2:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x27
- bls _08164FA2
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8164F94
-
- thumb_func_start sub_8164FB8
-sub_8164FB8: @ 8164FB8
- push {lr}
- movs r1, 0
- movs r2, 0
-_08164FBE:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x3A
- bls _08164FBE
- pop {r0}
- bx r0
- thumb_func_end sub_8164FB8
-
- thumb_func_start sub_8164FCC
-sub_8164FCC: @ 8164FCC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- lsrs r0, 23
- lsrs r1, 22
- adds r0, r1
- movs r1, 0xCE
- lsls r1, 4
- adds r2, r1
- adds r2, r0
- ldrh r0, [r2]
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _08164FEE
- adds r0, r1, 0
-_08164FEE:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8164FCC
-
- thumb_func_start sub_8164FFC
-sub_8164FFC: @ 8164FFC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_085DFA42
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- cmp r4, 0x3
- bls _0816501C
- movs r0, 0x3
- b _08165022
- .pool
-_0816501C:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
-_08165022:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8164FFC
-
- thumb_func_start sub_816502C
-sub_816502C: @ 816502C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- lsrs r0, 30
- adds r5, r0, 0
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_8164FFC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0x44
- mov r10, r2
- cmp r5, 0
- beq _0816506A
- movs r0, 0x45
- mov r10, r0
-_0816506A:
- ldr r1, =gSpecialVar_Result
- mov r9, r1
- movs r0, 0
- strh r0, [r1]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8164FCC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x37
- bls _081650DC
- movs r6, 0
- cmp r6, r8
- bge _081650DC
- ldr r7, =gSaveBlock1Ptr
- mov r5, sp
-_0816508C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- lsls r1, r6, 1
- ldr r2, =0x00000caa
- adds r0, r2
- adds r0, r1
- ldrh r1, [r0]
- subs r1, 0x1
- movs r0, 0
- strb r1, [r5]
- strb r0, [r5, 0x1]
- movs r0, 0x64
- muls r0, r1
- movs r1, 0x8E
- lsls r1, 2
- adds r4, r0, r1
- ldr r0, [r7]
- adds r0, r4
- mov r1, r10
- bl GetMonData
- cmp r0, 0
- bne _081650D4
- movs r0, 0x1
- mov r2, r9
- strh r0, [r2]
- ldr r0, [r7]
- adds r0, r4
- mov r1, r10
- bl SetMonData
- ldr r0, [r7]
- adds r0, r4
- bl GetRibbonCount
- strb r0, [r5, 0x1]
-_081650D4:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, r8
- blt _0816508C
-_081650DC:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0
- beq _08165132
- movs r0, 0x2A
- bl IncrementGameStat
- mov r0, r8
- cmp r0, 0x1
- ble _08165110
- mov r3, sp
- add r2, sp, 0x4
- mov r6, r8
- subs r6, 0x1
-_081650F8:
- ldrb r1, [r3, 0x1]
- ldrb r0, [r2, 0x1]
- cmp r0, r1
- bls _08165108
- ldr r1, [sp]
- ldr r0, [r2]
- str r0, [sp]
- str r1, [r2]
-_08165108:
- adds r2, 0x4
- subs r6, 0x1
- cmp r6, 0
- bne _081650F8
-_08165110:
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0x4
- bls _08165132
- ldr r2, =gSaveBlock1Ptr
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- movs r0, 0x8E
- lsls r0, 2
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- mov r1, r10
- bl sub_80EE4DC
-_08165132:
- 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_816502C
-
- thumb_func_start sub_816515C
-sub_816515C: @ 816515C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, =gSaveBlock2Ptr
- ldr r2, [r1]
- ldr r0, =0x00000bec
- adds r7, r2, r0
- ldrb r0, [r2, 0x8]
- adds r5, r1, 0
- cmp r0, 0
- beq _08165194
- ldr r4, =gUnknown_085DCEFA
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x14
- b _081651A6
- .pool
-_08165194:
- ldr r4, =gUnknown_085DCEDC
- ldrb r0, [r2, 0xA]
- ldrb r1, [r2, 0xB]
- adds r0, r1
- ldrb r1, [r2, 0xC]
- adds r0, r1
- ldrb r1, [r2, 0xD]
- adds r0, r1
- movs r1, 0x1E
-_081651A6:
- bl __umodsi3
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r7, 0x1]
- adds r0, r7, 0
- adds r0, 0xC
- ldr r1, [r5]
- adds r1, 0xA
- bl CopyUnalignedWord
- adds r0, r7, 0x4
- ldr r1, [r5]
- bl StringCopy7
- movs r0, 0x1
- strh r0, [r7, 0x2]
- movs r6, 0x7
- movs r4, 0
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- adds r5, r7, 0
- adds r5, 0x10
- ldr r1, =0x00002bbc
- mov r12, r1
- adds r3, r7, 0
- adds r3, 0x28
- adds r2, r7, 0
- adds r2, 0x1C
-_081651E0:
- lsls r0, r4, 1
- mov r9, r0
- mov r1, r8
- ldr r0, [r1]
- add r0, r12
- add r0, r9
- ldrh r0, [r0]
- strh r0, [r5]
- strh r6, [r2]
- adds r0, r6, 0x6
- strh r0, [r3]
- adds r6, 0x1
- adds r5, 0x2
- adds r3, 0x2
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x5
- ble _081651E0
- movs r4, 0
-_08165206:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2C
- muls r1, r4
- adds r1, 0x34
- adds r1, r7, r1
- bl sub_80686FC
- adds r4, 0x1
- cmp r4, 0x2
- ble _08165206
- adds r0, r7, 0
- bl sub_8165328
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816515C
-
- thumb_func_start GetEreaderTrainerFrontSpriteId
-GetEreaderTrainerFrontSpriteId: @ 8165244
- ldr r1, =gFacilityClassToPicIndex
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bed
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetEreaderTrainerFrontSpriteId
-
- thumb_func_start GetEreaderTrainerClassId
-GetEreaderTrainerClassId: @ 8165264
- ldr r1, =gFacilityClassToTrainerClass
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bed
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetEreaderTrainerClassId
-
- thumb_func_start GetEreaderTrainerName
-GetEreaderTrainerName: @ 8165284
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xBF
- lsls r1, 4
- adds r4, r0, r1
-_08165294:
- adds r0, r3, r2
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x4
- ble _08165294
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetEreaderTrainerName
-
- thumb_func_start ValidateEReaderTrainer
-ValidateEReaderTrainer: @ 81652B4
- push {r4-r6,lr}
- ldr r2, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r2]
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r3, =0x00000bec
- adds r5, r0, r3
- movs r4, 0
- movs r3, 0
- adds r6, r1, 0
- adds r1, r5, 0
-_081652CC:
- ldm r1!, {r0}
- orrs r4, r0
- adds r3, 0x1
- cmp r3, 0x2D
- bls _081652CC
- cmp r4, 0
- bne _081652EC
- movs r0, 0x1
- strh r0, [r2]
- b _08165316
- .pool
-_081652EC:
- movs r4, 0
- movs r3, 0
- adds r2, r5, 0
-_081652F2:
- ldm r2!, {r0}
- adds r4, r0
- adds r3, 0x1
- cmp r3, 0x2D
- bls _081652F2
- ldr r1, [r6]
- ldr r2, =0x00000ca4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, r4
- beq _08165316
- ldr r3, =0x00000bec
- adds r0, r1, r3
- bl sub_816534C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_08165316:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ValidateEReaderTrainer
-
- thumb_func_start sub_8165328
-sub_8165328: @ 8165328
- push {r4,lr}
- adds r2, r0, 0
- adds r2, 0xB8
- movs r1, 0
- str r1, [r2]
- movs r3, 0
- adds r4, r0, 0
-_08165336:
- ldr r0, [r2]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2]
- adds r3, 0x1
- cmp r3, 0x2D
- bls _08165336
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8165328
-
- thumb_func_start sub_816534C
-sub_816534C: @ 816534C
- push {lr}
- movs r1, 0
- movs r2, 0
-_08165352:
- stm r0!, {r2}
- adds r1, 0x1
- cmp r1, 0x2E
- bls _08165352
- pop {r0}
- bx r0
- thumb_func_end sub_816534C
-
- thumb_func_start sub_8165360
-sub_8165360: @ 8165360
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000bfc
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8165360
-
- thumb_func_start sub_816537C
-sub_816537C: @ 816537C
- push {lr}
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08165398
- ldr r1, =gStringVar4
- movs r0, 0xFF
- strb r0, [r1]
- b _081653C0
- .pool
-_08165398:
- cmp r0, 0x1
- bne _081653B4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000c14
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
- b _081653C0
- .pool
-_081653B4:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000c08
- adds r0, r1
- bl ConvertBattleFrontierTrainerSpeechToString
-_081653C0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816537C
-
- thumb_func_start sub_81653CC
-sub_81653CC: @ 81653CC
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081653E0
- bl sub_80F01B8
-_081653E0:
- movs r0, 0x77
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081653F8
- bl sub_80F01B8
- movs r0, 0x77
- bl FlagClear
-_081653F8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81653CC
-
- thumb_func_start sub_8165404
-sub_8165404: @ 8165404
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- lsls r0, 16
- lsrs r7, r0, 16
- bl GetFacilityEnemyMonLevel
- ldr r0, =0x00000c03
- cmp r7, r0
- beq _08165420
- b _0816554C
-_08165420:
- movs r0, 0
- mov r10, r0
- mov r1, sp
- adds r1, 0x44
- str r1, [sp, 0x64]
-_0816542A:
- mov r2, r10
- lsls r2, 2
- mov r9, r2
- mov r3, r10
- adds r3, 0x1
- str r3, [sp, 0x60]
- mov r0, r9
- add r0, r10
- lsls r0, 2
- ldr r6, =gUnknown_085DD6D0
- adds r5, r0, r6
-_08165440:
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- str r4, [sp, 0x44]
- ldr r0, =0x0000ef2a
- adds r1, r4, 0
- bl IsShinyOtIdPersonality
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _08165440
- ldr r0, [sp, 0x44]
- bl GetNatureFromPersonality
- ldrb r1, [r5, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _08165440
- movs r0, 0x64
- mov r6, r10
- muls r6, r0
- ldr r1, =gPlayerParty + 300
- mov r8, r1
- adds r0, r6, r1
- mov r5, r9
- add r5, r10
- lsls r5, 2
- ldr r2, =gUnknown_085DD6D0
- adds r3, r5, r2
- ldrh r1, [r3]
- ldrb r2, [r3, 0x3]
- ldrb r3, [r3, 0x2]
- mov r12, r3
- movs r4, 0x1
- str r4, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r4, =0x0000ef2a
- str r4, [sp, 0xC]
- mov r3, r12
- bl CreateMon
- str r7, [sp, 0x44]
- movs r3, 0
- mov r4, r8
- ldr r0, =gUnknown_085DD6D5
- adds r5, r0
-_081654B0:
- adds r1, r3, 0
- adds r1, 0x1A
- adds r2, r5, r3
- adds r0, r6, r4
- bl SetMonData
- ldr r0, [sp, 0x44]
- adds r0, 0x1
- str r0, [sp, 0x44]
- adds r3, r0, 0
- cmp r3, 0x5
- ble _081654B0
- movs r0, 0
- str r0, [sp, 0x44]
- movs r1, 0
- movs r6, 0x64
- mov r4, r10
- muls r4, r6
- ldr r7, =gUnknown_085DD6DC
- ldr r6, =gPlayerParty + 300
- mov r0, r9
- add r0, r10
- lsls r5, r0, 2
-_081654DE:
- lsls r0, r1, 1
- adds r0, r5
- adds r0, r7
- ldrh r1, [r0]
- ldr r0, [sp, 0x64]
- ldrb r2, [r0]
- adds r0, r4, r6
- bl SetMonMoveSlot
- ldr r0, [sp, 0x44]
- adds r0, 0x1
- str r0, [sp, 0x44]
- adds r1, r0, 0
- cmp r1, 0x3
- ble _081654DE
- movs r1, 0x64
- mov r4, r10
- muls r4, r1
- ldr r0, =gPlayerParty + 300
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name
- bl SetMonData
- movs r0, 0
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x31
- ldr r2, [sp, 0x64]
- bl SetMonData
- adds r0, r4, 0
- bl CalculateMonStats
- ldr r2, [sp, 0x60]
- mov r10, r2
- cmp r2, 0x2
- bgt _0816552E
- b _0816542A
-_0816552E:
- b _0816585A
- .pool
-_0816554C:
- movs r0, 0xFA
- lsls r0, 1
- cmp r7, r0
- bne _08165564
- add r0, sp, 0x10
- ldr r1, =gGameLanguage
- ldrb r1, [r1]
- strb r1, [r0]
- b _0816585A
- .pool
-_08165564:
- ldr r0, =0x0000012b
- cmp r7, r0
- bls _0816556C
- b _081656E8
-_0816556C:
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x50]
- adds r0, r7, 0
- bl sub_8165D08
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4C]
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- str r4, [sp, 0x58]
- movs r3, 0
- mov r10, r3
- mov r6, sp
- adds r6, 0x44
- str r6, [sp, 0x64]
- mov r0, sp
- adds r0, 0x48
- str r0, [sp, 0x5C]
-_081655A6:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r0, r10
- adds r0, 0x12
- lsls r0, 1
- ldr r2, =0x00000cb4
- adds r1, r2
- adds r1, r0
- ldrh r1, [r1]
- str r1, [sp, 0x54]
- movs r6, 0x64
- mov r3, r10
- muls r3, r6
- mov r8, r3
- ldr r0, =gPlayerParty + 300
- mov r9, r0
- mov r0, r8
- add r0, r9
- ldr r6, =gFacilityTrainerMons
- ldr r4, [r6]
- lsls r5, r1, 4
- adds r4, r5, r4
- ldrh r1, [r4]
- ldr r3, [sp, 0x50]
- lsls r2, r3, 24
- ldrb r3, [r4, 0xC]
- mov r12, r3
- ldr r3, [sp, 0x4C]
- str r3, [sp]
- ldrb r4, [r4, 0xB]
- str r4, [sp, 0x4]
- ldr r3, [sp, 0x58]
- str r3, [sp, 0x8]
- lsrs r2, 24
- mov r3, r12
- bl CreateMonWithEVSpreadPersonalityOTID
- movs r0, 0xFF
- str r0, [sp, 0x48]
- movs r0, 0
- str r0, [sp, 0x44]
- movs r2, 0
- mov r0, r10
- adds r0, 0x1
- str r0, [sp, 0x60]
- mov r4, r8
- mov r3, r9
-_08165604:
- ldr r0, [r6]
- adds r0, r5, r0
- lsls r1, r2, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r1, [r0]
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, r3
- str r3, [sp, 0x68]
- bl SetMonMoveSlot
- ldr r0, [r6]
- adds r0, r5, r0
- ldr r2, [sp, 0x44]
- lsls r1, r2, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r0, [r0]
- ldr r3, [sp, 0x68]
- cmp r0, 0xDA
- bne _08165634
- movs r0, 0
- str r0, [sp, 0x48]
-_08165634:
- adds r0, r2, 0x1
- str r0, [sp, 0x44]
- adds r2, r0, 0
- cmp r2, 0x3
- ble _08165604
- movs r1, 0x64
- mov r4, r10
- muls r4, r1
- ldr r0, =gPlayerParty + 300
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x5C]
- bl SetMonData
- ldr r0, =gFacilityTrainerMons
- ldr r1, [r0]
- ldr r2, [sp, 0x54]
- lsls r0, r2, 4
- adds r0, r1
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- str r0, [sp, 0x44]
- movs r2, 0
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r7
- adds r0, r1
- adds r3, r0, 0x4
-_0816567E:
- mov r1, sp
- adds r1, r2
- adds r1, 0x10
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [sp, 0x44]
- adds r0, 0x1
- str r0, [sp, 0x44]
- adds r2, r0, 0
- cmp r2, 0x7
- ble _0816567E
- movs r3, 0x64
- mov r4, r10
- muls r4, r3
- ldr r0, =gPlayerParty + 300
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x7
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r7, 0
- bl sub_8162F68
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x31
- ldr r2, [sp, 0x64]
- bl SetMonData
- ldr r6, [sp, 0x60]
- mov r10, r6
- cmp r6, 0x1
- bgt _081656CA
- b _081655A6
-_081656CA:
- b _0816585A
- .pool
-_081656E8:
- ldr r0, =0x0000018f
- cmp r7, r0
- bls _081656F0
- b _081657F0
-_081656F0:
- ldr r1, =0xfffffed4
- adds r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r2, 0
- mov r10, r2
- mov r3, sp
- adds r3, 0x44
- str r3, [sp, 0x64]
- add r5, sp, 0x18
- ldr r6, =0x000015fc
- mov r9, r6
- ldr r0, =0x0000ffff
- mov r8, r0
- movs r1, 0x24
- str r1, [sp, 0x6C]
-_08165710:
- ldr r1, =gSaveBlock2Ptr
- movs r0, 0xEC
- adds r4, r7, 0
- muls r4, r0
- movs r2, 0xE7
- lsls r2, 3
- adds r4, r2
- ldr r0, [r1]
- adds r4, r0, r4
- ldr r3, =0x00000cb4
- adds r0, r3
- ldr r6, [sp, 0x6C]
- adds r0, r6
- ldrh r1, [r0]
- movs r0, 0x2C
- muls r1, r0
- adds r1, r4, r1
- adds r0, r5, 0
- adds r1, 0x34
- ldm r1!, {r2,r3,r6}
- stm r0!, {r2,r3,r6}
- ldm r1!, {r2,r3,r6}
- stm r0!, {r2,r3,r6}
- ldm r1!, {r2,r3,r6}
- stm r0!, {r2,r3,r6}
- ldm r1!, {r2,r3}
- stm r0!, {r2,r3}
- adds r1, r4, 0x4
- add r0, sp, 0x10
- bl StringCopy
- adds r4, 0xE4
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _0816578C
- ldrh r0, [r5, 0x20]
- mov r6, r8
- ands r0, r6
- cmp r0, r9
- beq _0816579C
- mov r1, sp
- adds r1, 0x3D
- movs r0, 0xFF
- strb r0, [r1]
- add r0, sp, 0x38
- movs r1, 0x1
- bl ConvertInternationalString
- b _0816579C
- .pool
-_0816578C:
- ldrh r0, [r5, 0x20]
- mov r1, r8
- ands r0, r1
- cmp r0, r9
- bne _0816579C
- add r1, sp, 0x10
- movs r0, 0xFF
- strb r0, [r1, 0x5]
-_0816579C:
- movs r0, 0x64
- mov r4, r10
- muls r4, r0
- ldr r0, =gPlayerParty + 300
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8068338
- adds r0, r4, 0
- movs r1, 0x7
- add r2, sp, 0x10
- bl SetMonData
- movs r2, 0x96
- lsls r2, 1
- adds r0, r7, r2
- lsls r0, 16
- lsrs r0, 16
- bl sub_8162F68
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x31
- ldr r2, [sp, 0x64]
- bl SetMonData
- ldr r3, [sp, 0x6C]
- adds r3, 0x2
- str r3, [sp, 0x6C]
- movs r6, 0x1
- add r10, r6
- mov r0, r10
- cmp r0, 0x1
- ble _08165710
- b _0816585A
- .pool
-_081657F0:
- ldr r1, =0xfffffe70
- adds r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r2, 0
- mov r10, r2
- mov r3, sp
- adds r3, 0x44
- str r3, [sp, 0x64]
- ldr r6, =gSaveBlock2Ptr
- mov r8, r6
- movs r5, 0x24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r6, r0, 0
- adds r6, 0xDC
-_08165812:
- movs r0, 0x64
- mov r4, r10
- muls r4, r0
- ldr r0, =gPlayerParty + 300
- adds r4, r0
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, r6
- ldr r2, =0x00000cb4
- adds r0, r2
- adds r0, r5
- ldrb r2, [r0]
- adds r0, r4, 0
- bl CreateApprenticeMon
- movs r3, 0xC8
- lsls r3, 1
- adds r0, r7, r3
- lsls r0, 16
- lsrs r0, 16
- bl sub_8162F68
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x31
- ldr r2, [sp, 0x64]
- bl SetMonData
- adds r5, 0x2
- movs r0, 0x1
- add r10, r0
- mov r1, r10
- cmp r1, 0x1
- ble _08165812
-_0816585A:
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8165404
-
- thumb_func_start sub_816587C
-sub_816587C: @ 816587C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- movs r2, 0
- adds r1, r6, 0
- adds r3, r6, 0
- adds r3, 0x58
-_08165894:
- ldrh r0, [r1, 0x1C]
- cmp r0, 0
- beq _0816589C
- adds r2, 0x1
-_0816589C:
- adds r1, 0x2C
- cmp r1, r3
- ble _08165894
- cmp r2, 0x3
- beq _081658B4
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xEC
- bl memset
- movs r0, 0
- b _081659BE
-_081658B4:
- ldrb r0, [r6]
- strb r0, [r5]
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2]
- movs r2, 0
- ldr r0, =gUnknown_085DCF40
- ldrb r1, [r0]
- ldrb r3, [r6, 0x1]
- mov r12, r0
- adds r4, r5, 0x4
- adds r7, r6, 0x4
- movs r0, 0xC
- adds r0, r5
- mov r9, r0
- movs r0, 0xC
- adds r0, r6
- mov r8, r0
- adds r0, r5, 0
- adds r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x10
- adds r0, r6
- mov r10, r0
- adds r0, r5, 0
- adds r0, 0x1C
- str r0, [sp, 0x8]
- adds r0, 0xC
- str r0, [sp, 0xC]
- adds r0, 0x90
- str r0, [sp, 0x10]
- cmp r1, r3
- beq _08165904
- mov r1, r12
-_081658F6:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x51
- bgt _08165904
- ldrb r0, [r1]
- cmp r0, r3
- bne _081658F6
-_08165904:
- cmp r2, 0x52
- beq _08165918
- lsls r0, r2, 1
- mov r1, r12
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- b _0816591A
- .pool
-_08165918:
- movs r0, 0x2B
-_0816591A:
- strb r0, [r5, 0x1]
- movs r2, 0
- adds r3, r7, 0
-_08165920:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _08165920
- movs r2, 0
- mov r4, r9
- mov r3, r8
-_08165934:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08165934
- mov r3, r10
- ldr r1, [sp, 0x4]
- movs r2, 0x5
-_08165948:
- ldrh r0, [r3]
- strh r0, [r1]
- adds r3, 0x2
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08165948
- ldr r3, =gUnknown_085DFA46
- ldr r1, [sp, 0x8]
- movs r2, 0x5
-_0816595C:
- ldrh r0, [r3]
- strh r0, [r1]
- adds r3, 0x2
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _0816595C
- ldr r3, =gUnknown_085DFA52
- ldr r1, [sp, 0xC]
- movs r2, 0x5
-_08165970:
- ldrh r0, [r3]
- strh r0, [r1]
- adds r3, 0x2
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08165970
- adds r2, r6, 0
- adds r3, r5, 0
- movs r4, 0x58
- adds r4, r2
- mov r8, r4
-_08165988:
- adds r1, r3, 0
- adds r1, 0x34
- adds r0, r2, 0
- adds r0, 0x1C
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
- adds r2, 0x2C
- adds r3, 0x2C
- cmp r2, r8
- ble _08165988
- movs r0, 0
- str r0, [sp]
- ldr r2, =0x0500000b
- mov r0, sp
- ldr r1, [sp, 0x10]
- bl CpuSet
- adds r0, r5, 0
- bl CalcEmeraldBattleTowerChecksum
- movs r0, 0x1
-_081659BE:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816587C
-
- thumb_func_start sub_81659DC
-sub_81659DC: @ 81659DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- movs r2, 0
- adds r1, r4, 0
- adds r3, r4, 0
- adds r3, 0x58
-_081659F4:
- ldrh r0, [r1, 0x34]
- cmp r0, 0
- beq _081659FC
- adds r2, 0x1
-_081659FC:
- adds r1, 0x2C
- cmp r1, r3
- ble _081659F4
- cmp r2, 0x3
- beq _08165A14
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0xA4
- bl memset
- movs r0, 0
- b _08165AD8
-_08165A14:
- ldrb r0, [r4]
- strb r0, [r6]
- ldrh r0, [r4, 0x2]
- strh r0, [r6, 0x2]
- movs r2, 0
- ldr r0, =gUnknown_085DCF40
- ldrb r1, [r0, 0x1]
- ldrb r3, [r4, 0x1]
- mov r12, r0
- adds r5, r6, 0x4
- adds r7, r4, 0x4
- movs r0, 0xC
- adds r0, r6
- mov r9, r0
- movs r0, 0xC
- adds r0, r4
- mov r8, r0
- adds r0, r6, 0
- adds r0, 0x10
- str r0, [sp]
- movs r0, 0x10
- adds r0, r4
- mov r10, r0
- cmp r1, r3
- beq _08165A58
- mov r1, r12
- adds r1, 0x1
-_08165A4A:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x51
- bgt _08165A58
- ldrb r0, [r1]
- cmp r0, r3
- bne _08165A4A
-_08165A58:
- cmp r2, 0x52
- beq _08165A68
- lsls r0, r2, 1
- add r0, r12
- ldrb r0, [r0]
- b _08165A6A
- .pool
-_08165A68:
- movs r0, 0x24
-_08165A6A:
- strb r0, [r6, 0x1]
- movs r2, 0
- adds r3, r7, 0
-_08165A70:
- adds r0, r5, r2
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _08165A70
- movs r2, 0
- mov r5, r9
- mov r3, r8
-_08165A84:
- adds r0, r5, r2
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08165A84
- mov r3, r10
- ldr r1, [sp]
- movs r2, 0x5
-_08165A98:
- ldrh r0, [r3]
- strh r0, [r1]
- adds r3, 0x2
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08165A98
- adds r2, r4, 0
- adds r3, r6, 0
- movs r4, 0x58
- adds r4, r2
- mov r8, r4
-_08165AB0:
- adds r1, r3, 0
- adds r1, 0x1C
- adds r0, r2, 0
- adds r0, 0x34
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r5,r7}
- stm r1!, {r5,r7}
- adds r2, 0x2C
- adds r3, 0x2C
- cmp r2, r8
- ble _08165AB0
- adds r0, r6, 0
- bl sub_8164F94
- movs r0, 0x1
-_08165AD8:
- 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_81659DC
-
- thumb_func_start sub_8165AE8
-sub_8165AE8: @ 8165AE8
- push {r4,lr}
- adds r2, r0, 0
- movs r0, 0
- str r0, [r2, 0x40]
- movs r3, 0
- adds r4, r2, 0
-_08165AF4:
- ldr r0, [r2, 0x40]
- ldm r4!, {r1}
- adds r0, r1
- str r0, [r2, 0x40]
- adds r3, 0x1
- cmp r3, 0xF
- bls _08165AF4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8165AE8
-
- thumb_func_start sub_8165B08
-sub_8165B08: @ 8165B08
- push {lr}
- movs r1, 0
- movs r3, 0
- adds r2, r0, 0
-_08165B10:
- stm r2!, {r3}
- adds r1, 0x1
- cmp r1, 0x10
- bls _08165B10
- bl ResetApprenticeStruct
- pop {r0}
- bx r0
- thumb_func_end sub_8165B08
-
- thumb_func_start sub_8165B20
-sub_8165B20: @ 8165B20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
- ldr r0, =gSaveBlock2Ptr
- mov r8, r0
- mov r9, r8
-_08165B30:
- lsls r0, r5, 4
- adds r1, r0, r5
- lsls r1, 2
- adds r1, 0xDC
- mov r3, r9
- ldr r2, [r3]
- movs r4, 0
- movs r3, 0
- adds r6, r0, 0
- adds r7, r5, 0x1
- adds r2, r1
-_08165B46:
- ldm r2!, {r0}
- adds r4, r0
- adds r3, 0x1
- cmp r3, 0xF
- bls _08165B46
- mov r0, r8
- ldr r2, [r0]
- adds r0, r6, r5
- lsls r1, r0, 2
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r4
- beq _08165B70
- adds r0, r1, 0
- adds r0, 0xDC
- adds r0, r2, r0
- bl sub_8165B08
-_08165B70:
- adds r5, r7, 0
- cmp r5, 0x3
- ble _08165B30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8165B20
-
- thumb_func_start sub_8165B88
-sub_8165B88: @ 8165B88
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r2, r1, 16
- adds r3, r2, 0
- movs r0, 0xFA
- lsls r0, 1
- cmp r2, r0
- bne _08165BA4
- ldr r0, =gGameLanguage
- b _08165C28
- .pool
-_08165BA4:
- ldr r0, =0x0000012b
- cmp r2, r0
- bhi _08165BB8
- ldr r0, =gGameLanguage
- b _08165C28
- .pool
-_08165BB8:
- ldr r0, =0x0000018f
- cmp r2, r0
- bhi _08165BFC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08165BDC
- bl sub_81864B4
- b _08165C2A
- .pool
-_08165BDC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0xfffffed4
- adds r2, r1
- movs r1, 0xEC
- muls r1, r2
- adds r0, r1
- ldr r1, =0x0000081c
- adds r0, r1
- b _08165C28
- .pool
-_08165BFC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _08165C14
- bl sub_81864C0
- b _08165C2A
- .pool
-_08165C14:
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r0, =0xfffffe70
- adds r1, r3, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r1, =0x0000011b
- adds r0, r2, r1
-_08165C28:
- ldrb r0, [r0]
-_08165C2A:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8165B88
-
- thumb_func_start GetFacilityEnemyMonLevel
-GetFacilityEnemyMonLevel: @ 8165C40
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _08165C84
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
- str r0, [r1]
- ldrb r0, [r2]
- lsls r0, 30
- lsrs r0, 30
- bl GetFrontierEnemyMonLevel
- b _08165C88
- .pool
-_08165C84:
- bl GetTentEnemyMonLevel
-_08165C88:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetFacilityEnemyMonLevel
-
- thumb_func_start GetFrontierEnemyMonLevel
-GetFrontierEnemyMonLevel: @ 8165C90
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08165C9E
- cmp r0, 0x1
- beq _08165CA2
-_08165C9E:
- movs r0, 0x32
- b _08165CB0
-_08165CA2:
- bl sub_8165CB4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bhi _08165CB0
- movs r0, 0x3C
-_08165CB0:
- pop {r1}
- bx r1
- thumb_func_end GetFrontierEnemyMonLevel
-
- thumb_func_start sub_8165CB4
-sub_8165CB4: @ 8165CB4
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_08165CBA:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _08165CF4
- adds r0, r4, 0
- movs r1, 0x41
- movs r2, 0
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08165CF4
- adds r0, r4, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- cmp r0, r6
- ble _08165CF4
- adds r6, r0, 0
-_08165CF4:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08165CBA
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8165CB4
-
- thumb_func_start sub_8165D08
-sub_8165D08: @ 8165D08
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- cmp r0, 0x63
- bls _08165D3A
- movs r1, 0x6
- cmp r0, 0x77
- bls _08165D3A
- movs r1, 0x9
- cmp r0, 0x8B
- bls _08165D3A
- movs r1, 0xC
- cmp r0, 0x9F
- bls _08165D3A
- movs r1, 0xF
- cmp r0, 0xB3
- bls _08165D3A
- movs r1, 0x12
- cmp r0, 0xC7
- bls _08165D3A
- movs r1, 0x1F
- cmp r0, 0xDB
- bhi _08165D3A
- movs r1, 0x15
-_08165D3A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8165D08
-
- thumb_func_start sub_8165D40
-sub_8165D40: @ 8165D40
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _08165D58
- cmp r0, 0x3
- beq _08165D58
- cmp r0, 0x4
- bne _08165D70
-_08165D58:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- b _08165D72
- .pool
-_08165D70:
- movs r0, 0
-_08165D72:
- pop {r1}
- bx r1
- thumb_func_end sub_8165D40
-
- thumb_func_start GetTentEnemyMonLevel
-GetTentEnemyMonLevel: @ 8165D78
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _08165DA8
- ldr r1, =gFacilityTrainers
- ldr r0, =gSlateportBattleTentTrainers
- str r0, [r1]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gSlateportBattleTentMons
- b _08165DF2
- .pool
-_08165DA8:
- cmp r0, 0x2
- bne _08165DC8
- ldr r1, =gFacilityTrainers
- ldr r0, =gVerdanturfBattleTentTrainers
- str r0, [r1]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gVerdanturfBattleTentMons
- b _08165DF2
- .pool
-_08165DC8:
- cmp r0, 0x3
- bne _08165DE8
- ldr r1, =gFacilityTrainers
- ldr r0, =gFallarborBattleTentTrainers
- str r0, [r1]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gFallarborBattleTentMons
- b _08165DF2
- .pool
-_08165DE8:
- ldr r1, =gFacilityTrainers
- ldr r0, =gBattleFrontierTrainers
- str r0, [r1]
- ldr r1, =gFacilityTrainerMons
- ldr r0, =gBattleFrontierMons
-_08165DF2:
- str r0, [r1]
- bl sub_8165CB4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1D
- bhi _08165E02
- movs r0, 0x1E
-_08165E02:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetTentEnemyMonLevel
-
- thumb_func_start sub_8165E18
-sub_8165E18: @ 8165E18
- push {r4,r5,lr}
- ldr r5, =gSaveBlock2Ptr
-_08165E1C:
- bl sub_8165D40
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- ldr r1, [r5]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r3, r0
- bge _08165E58
- adds r2, 0x2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, r4
- beq _08165E58
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- subs r2, 0x2
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r0, =0x00000cb4
- adds r1, r0
-_08165E4A:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, r2
- bge _08165E58
- ldrh r0, [r1]
- cmp r0, r4
- bne _08165E4A
-_08165E58:
- ldr r0, [r5]
- ldr r1, =0x00000cb2
- adds r0, r1
- ldrh r0, [r0]
- cmp r3, r0
- bne _08165E1C
- ldr r5, =gTrainerBattleOpponent_A
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0
- bl sub_8162614
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r2, [r0]
- adds r0, r2, 0x1
- cmp r0, 0x2
- bgt _08165E8C
- lsls r0, r2, 1
- ldr r2, =0x00000cb4
- adds r1, r2
- adds r1, r0
- ldrh r0, [r5]
- strh r0, [r1]
-_08165E8C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8165E18
-
- thumb_func_start sub_8165EA4
-sub_8165EA4: @ 8165EA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- bl GetTentEnemyMonLevel
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r2, [r0]
- ldr r0, =gFacilityTrainers
- ldr r1, [r0]
- movs r0, 0x34
- muls r0, r2
- adds r0, r1
- ldr r0, [r0, 0x30]
- str r0, [sp, 0x28]
- movs r0, 0
- str r0, [sp, 0x24]
- ldr r2, [sp, 0x28]
- ldrh r1, [r2]
- b _08165EFE
- .pool
-_08165EEC:
- ldr r0, [sp, 0x24]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- lsls r0, 1
- ldr r6, [sp, 0x28]
- adds r0, r6
- ldrh r1, [r0]
-_08165EFE:
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08165EEC
- movs r0, 0
- mov r8, r0
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- str r4, [sp, 0x2C]
- b _08166092
- .pool
-_08165F24:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x24]
- bl __modsi3
- lsls r0, 1
- ldr r2, [sp, 0x28]
- adds r0, r2
- ldrh r4, [r0]
- movs r6, 0
- ldr r7, [sp, 0x18]
- add r7, r8
- b _08165F44
-_08165F42:
- adds r6, 0x1
-_08165F44:
- cmp r6, r7
- bge _08165F68
- movs r1, 0x64
- adds r0, r6, 0
- muls r0, r1
- ldr r2, =gEnemyParty
- adds r0, r2
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r1, r4, 4
- adds r1, r2
- ldrh r1, [r1]
- cmp r0, r1
- bne _08165F42
-_08165F68:
- cmp r6, r7
- beq _08165F6E
- b _08166092
-_08165F6E:
- movs r6, 0
- cmp r6, r7
- bge _08165FB8
- ldr r0, =gBattleFrontierHeldItems
- mov r9, r0
- movs r3, 0
-_08165F7A:
- ldr r1, =gEnemyParty
- adds r5, r3, r1
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- str r3, [sp, 0x34]
- bl GetMonData
- ldr r3, [sp, 0x34]
- cmp r0, 0
- beq _08165FB0
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- ldr r1, =gFacilityTrainerMons
- ldr r2, [r1]
- lsls r1, r4, 4
- adds r1, r2
- ldrb r1, [r1, 0xA]
- lsls r1, 1
- add r1, r9
- ldr r3, [sp, 0x34]
- ldrh r1, [r1]
- cmp r0, r1
- beq _08165FB8
-_08165FB0:
- adds r3, 0x64
- adds r6, 0x1
- cmp r6, r7
- blt _08165F7A
-_08165FB8:
- cmp r6, r7
- bne _08166092
- movs r6, 0
- cmp r6, r8
- bge _08165FDA
- add r0, sp, 0xC
- ldrh r0, [r0]
- cmp r0, r4
- beq _08165FDA
- add r1, sp, 0xC
-_08165FCC:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, r8
- bge _08165FDA
- ldrh r0, [r1]
- cmp r0, r4
- bne _08165FCC
-_08165FDA:
- cmp r6, r8
- bne _08166092
- mov r2, r8
- lsls r0, r2, 1
- add r0, sp
- adds r0, 0xC
- strh r4, [r0]
- movs r6, 0x64
- adds r0, r7, 0
- muls r0, r6
- ldr r1, =gEnemyParty
- adds r0, r1
- ldr r5, =gFacilityTrainerMons
- ldr r2, [r5]
- lsls r4, 4
- adds r2, r4, r2
- ldrh r1, [r2]
- ldrb r3, [r2, 0xC]
- movs r6, 0
- str r6, [sp]
- ldrb r2, [r2, 0xB]
- str r2, [sp, 0x4]
- ldr r2, [sp, 0x2C]
- str r2, [sp, 0x8]
- ldr r2, [sp, 0x20]
- bl CreateMonWithEVSpreadPersonalityOTID
- add r1, sp, 0x14
- movs r0, 0xFF
- strb r0, [r1]
- mov r9, r4
- mov r0, r8
- adds r0, 0x1
- str r0, [sp, 0x30]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- mov r8, r1
- adds r3, r5, 0
- mov r5, r9
- ldr r2, =gEnemyParty
- mov r10, r2
-_0816602E:
- ldr r0, [r3]
- adds r0, r5, r0
- lsls r4, r6, 1
- adds r0, 0x2
- adds r0, r4
- ldrh r1, [r0]
- lsls r2, r6, 24
- lsrs r2, 24
- mov r0, r8
- add r0, r10
- str r3, [sp, 0x34]
- bl SetMonMoveSlot
- ldr r3, [sp, 0x34]
- ldr r0, [r3]
- adds r0, r5, r0
- adds r0, 0x2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0xDA
- bne _0816605E
- movs r0, 0
- mov r1, sp
- strb r0, [r1, 0x14]
-_0816605E:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0816602E
- movs r2, 0x64
- adds r4, r7, 0
- muls r4, r2
- ldr r6, =gEnemyParty
- adds r4, r6
- adds r0, r4, 0
- movs r1, 0x20
- add r2, sp, 0x14
- bl SetMonData
- ldr r0, =gFacilityTrainerMons
- ldr r0, [r0]
- add r0, r9
- ldrb r2, [r0, 0xA]
- lsls r2, 1
- ldr r0, =gBattleFrontierHeldItems
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- ldr r0, [sp, 0x30]
- mov r8, r0
-_08166092:
- ldr r1, [sp, 0x1C]
- cmp r8, r1
- beq _0816609A
- b _08165F24
-_0816609A:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8165EA4
-
- thumb_func_start sub_81660B8
-sub_81660B8: @ 81660B8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gUnknown_085DCEDC
- ldrb r0, [r3]
- cmp r0, r2
- beq _081660DA
-_081660C8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bhi _081660DA
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081660C8
-_081660DA:
- cmp r1, 0x1E
- beq _081660EC
- ldr r0, =gUnknown_085DCF0E
- b _08166116
- .pool
-_081660EC:
- movs r1, 0
- ldr r3, =gUnknown_085DCEFA
- ldrb r0, [r3]
- cmp r0, r2
- beq _08166108
-_081660F6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x13
- bhi _08166108
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081660F6
-_08166108:
- cmp r1, 0x14
- bne _08166114
- movs r0, 0x7
- b _0816611A
- .pool
-_08166114:
- ldr r0, =gUnknown_085DCF2C
-_08166116:
- adds r0, r1, r0
- ldrb r0, [r0]
-_0816611A:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81660B8
-
- thumb_func_start sub_8166124
-sub_8166124: @ 8166124
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSaveBlock2Ptr
- movs r0, 0xEC
- muls r0, r6
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r1, [r2]
- movs r5, 0
- movs r4, 0
- movs r3, 0
- adds r1, r0
-_08166140:
- ldm r1!, {r0}
- adds r5, r0
- orrs r4, r0
- adds r3, 0x1
- cmp r3, 0x39
- bls _08166140
- cmp r5, 0
- bne _08166154
- cmp r4, 0
- beq _08166180
-_08166154:
- ldr r2, [r2]
- movs r0, 0xEC
- adds r1, r6, 0
- muls r1, r0
- movs r3, 0x82
- lsls r3, 4
- adds r0, r2, r3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r5
- bne _08166174
- movs r0, 0x1
- b _08166182
- .pool
-_08166174:
- movs r3, 0xE7
- lsls r3, 3
- adds r0, r1, r3
- adds r0, r2, r0
- bl sub_8164FB8
-_08166180:
- movs r0, 0
-_08166182:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8166124
-
- thumb_func_start sub_8166188
-sub_8166188: @ 8166188
- push {r4-r7,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x02000002
- ands r0, r1
- cmp r0, 0
- beq _081661E8
- bl GetFacilityEnemyMonLevel
- lsls r0, 24
- movs r5, 0
- ldr r7, =gBaseStats
- lsrs r0, 22
- ldr r1, =gExperienceTables
- adds r6, r0, r1
-_081661A6:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- beq _081661E2
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- adds r2, r1, 0
- muls r2, r0
- adds r2, r6
- adds r0, r4, 0
- movs r1, 0x19
- bl SetMonData
- adds r0, r4, 0
- bl CalculateMonStats
-_081661E2:
- adds r5, 0x1
- cmp r5, 0x5
- ble _081661A6
-_081661E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166188
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest.s b/asm/contest.s
index b984a98b6..35dbaf385 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -6485,7 +6485,7 @@ _080DEC80:
b _080DEC9C
.pool
_080DEC94:
- bl GetPlayerTextSpeed
+ bl GetPlayerTextSpeedDelay
lsls r0, 24
lsrs r1, r0, 24
_080DEC9C:
diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s
index 35191e10f..3969be9a2 100644
--- a/asm/contest_link_81D9DE4.s
+++ b/asm/contest_link_81D9DE4.s
@@ -97,7 +97,7 @@ _081D9EB4:
ldrb r1, [r1]
adds r0, 0x2C
strb r1, [r0]
- ldr r0, =0x00000864
+ ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
bl FlagGet
lsls r0, 24
lsrs r0, 24
diff --git a/asm/dark.s b/asm/dark.s
new file mode 100644
index 000000000..e4373723d
--- /dev/null
+++ b/asm/dark.s
@@ -0,0 +1,2199 @@
+ .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 move_anim_8074EE0
+_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 move_anim_8074EE0
+_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, =sub_80A67D8
+ 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 sub_80A750C
+ 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 sub_80A750C
+_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 sub_80A750C
+_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 e99c885cc..70786ab65 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -369,7 +369,7 @@ _0811AF86:
thumb_func_start sub_811AF8C
sub_811AF8C: @ 811AF8C
push {lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -418,7 +418,7 @@ _0811AFE6:
thumb_func_start sub_811AFEC
sub_811AFEC: @ 811AFEC
push {r4,lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -461,7 +461,7 @@ _0811B03A:
thumb_func_start sub_811B040
sub_811B040: @ 811B040
push {lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -566,7 +566,7 @@ sub_811B0E8: @ 811B0E8
thumb_func_start sub_811B0F8
sub_811B0F8: @ 811B0F8
push {r4,lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -7951,7 +7951,7 @@ sub_811EA28: @ 811EA28
bgt _0811EA48
cmp r0, 0x11
blt _0811EA66
- ldr r0, =0x00000864
+ ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
bl FlagGet
b _0811EA60
.pool
@@ -9131,7 +9131,7 @@ _0811F2FE:
adds r3, 0x1
cmp r3, 0x10
ble _0811F2FE
- ldr r0, =0x00000864
+ ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
bl FlagGet
lsls r0, 24
cmp r0, 0
diff --git a/asm/electric.s b/asm/electric.s
new file mode 100644
index 000000000..b1fa8b9ae
--- /dev/null
+++ b/asm/electric.s
@@ -0,0 +1,2547 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_810A1A8
+sub_810A1A8: @ 810A1A8
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810A1D0
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r4, 0x20]
+ ldrh r2, [r0]
+ subs r1, r2
+ strh r1, [r4, 0x20]
+ b _0810A1DC
+ .pool
+_0810A1D0:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x20]
+ adds r0, r1, 0
+_0810A1DC:
+ ldrh r0, [r0, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldr r0, =sub_810A1F8
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A1A8
+
+ thumb_func_start sub_810A1F8
+sub_810A1F8: @ 810A1F8
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0810A20E
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_0810A20E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810A1F8
+
+ thumb_func_start sub_810A214
+sub_810A214: @ 810A214
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810A23C
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r4, 0x20]
+ ldrh r0, [r0]
+ subs r1, r0
+ strh r1, [r4, 0x20]
+ b _0810A246
+ .pool
+_0810A23C:
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0]
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+_0810A246:
+ ldr r0, =sub_810A258
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A214
+
+ thumb_func_start sub_810A258
+sub_810A258: @ 810A258
+ push {lr}
+ adds r2, r0, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0810A26E
+ adds r0, r2, 0
+ bl move_anim_8074EE0
+_0810A26E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810A258
+
+ thumb_func_start sub_810A274
+sub_810A274: @ 810A274
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, =gBattleAnimTarget
+ 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 r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810A2C4
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r5, 0x20]
+ ldrh r1, [r2]
+ subs r0, r1
+ strh r0, [r5, 0x20]
+ ldrh r0, [r5, 0x22]
+ ldrh r1, [r2, 0x2]
+ subs r0, r1
+ strh r0, [r5, 0x22]
+ b _0810A2D8
+ .pool
+_0810A2C4:
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ ldrh r2, [r5, 0x20]
+ adds r1, r2
+ strh r1, [r5, 0x20]
+ ldrh r1, [r0, 0x2]
+ ldrh r2, [r5, 0x22]
+ adds r1, r2
+ strh r1, [r5, 0x22]
+ adds r2, r0, 0
+_0810A2D8:
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldrh r0, [r2, 0x4]
+ strh r0, [r5, 0x30]
+ ldrh r0, [r2, 0x6]
+ strh r0, [r5, 0x32]
+ ldrh r0, [r2, 0x8]
+ strh r0, [r5, 0x34]
+ ldr r1, =move_anim_8074EE0
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A62EC
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A274
+
+ thumb_func_start sub_810A308
+sub_810A308: @ 810A308
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ cmp r0, 0x1
+ beq _0810A380
+ cmp r0, 0x1
+ bgt _0810A324
+ cmp r0, 0
+ beq _0810A32E
+ b _0810A380
+ .pool
+_0810A324:
+ cmp r0, 0x2
+ beq _0810A338
+ cmp r0, 0x3
+ beq _0810A35C
+ b _0810A380
+_0810A32E:
+ ldr r0, =gBattleAnimAttacker
+ b _0810A382
+ .pool
+_0810A338:
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r6, 0x2
+ eors r0, r6
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810A354
+ ldrb r4, [r4]
+ b _0810A384
+ .pool
+_0810A354:
+ ldrb r0, [r4]
+ adds r4, r6, 0
+ eors r4, r0
+ b _0810A384
+_0810A35C:
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ movs r4, 0x2
+ eors r0, r4
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810A380
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ eors r4, r0
+ b _0810A384
+ .pool
+_0810A380:
+ ldr r0, =gBattleAnimTarget
+_0810A382:
+ ldrb r4, [r0]
+_0810A384:
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0xA
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ bne _0810A3AC
+ adds r0, r4, 0
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x20]
+ adds r0, r4, 0
+ movs r1, 0x1
+ b _0810A3BE
+ .pool
+_0810A3AC:
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x20]
+ adds r0, r4, 0
+ movs r1, 0x3
+_0810A3BE:
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x22]
+ ldr r7, =gSineTable
+ ldr r6, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ lsls r0, 1
+ adds r0, r7
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r2, 0x2
+ ldrsh r0, [r6, r2]
+ muls r0, r1
+ asrs r0, 8
+ strh r0, [r5, 0x24]
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ adds r0, 0x40
+ lsls r0, 1
+ adds r0, r7
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r2, 0x2
+ ldrsh r0, [r6, r2]
+ muls r0, r1
+ asrs r0, 8
+ strh r0, [r5, 0x26]
+ ldrh r1, [r6, 0xC]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810A422
+ adds r0, r4, 0
+ bl sub_80A8328
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1
+ movs r1, 0x3
+ ands r0, r1
+ lsls r0, 2
+ ldrb r2, [r5, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r5, 0x5]
+_0810A422:
+ ldrb r2, [r5, 0x3]
+ lsls r2, 26
+ lsrs r2, 27
+ movs r0, 0x4
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 1
+ adds r0, r7
+ ldrh r0, [r0]
+ ldr r3, =gOamMatrices
+ lsls r2, 3
+ adds r2, r3
+ adds r1, 0x40
+ lsls r1, 1
+ adds r1, r7
+ ldrh r1, [r1]
+ strh r1, [r2, 0x6]
+ strh r1, [r2]
+ strh r0, [r2, 0x2]
+ lsls r0, 16
+ asrs r0, 16
+ negs r0, r0
+ strh r0, [r2, 0x4]
+ ldrh r0, [r6, 0x6]
+ strh r0, [r5, 0x2E]
+ ldr r0, =sub_810E2C8
+ str r0, [r5, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A308
+
+ thumb_func_start sub_810A46C
+sub_810A46C: @ 810A46C
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r5, =gBattleAnimArgs
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ ldr r6, =gBattleAnimTarget
+ ldrb r0, [r6]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ ldrb r0, [r6]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x38]
+ ldrh r0, [r5, 0xA]
+ strh r0, [r4, 0x3A]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x3C]
+ ldrh r2, [r4, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ movs r3, 0xC
+ ldrsh r0, [r5, r3]
+ lsls r0, 2
+ adds r1, r0
+ ldr r3, =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x4]
+ ldr r1, =sub_810A4F4
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A46C
+
+ thumb_func_start sub_810A4F4
+sub_810A4F4: @ 810A4F4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810A55E
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ movs r2, 0x38
+ 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, 0x38
+ ldrsh r1, [r4, r2]
+ bl Cos
+ 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, 0x3C
+ ldrsh r0, [r4, r1]
+ movs r1, 0x3
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _0810A564
+ 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]
+ b _0810A564
+_0810A55E:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810A564:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810A4F4
+
+ thumb_func_start sub_810A56C
+sub_810A56C: @ 810A56C
+ push {lr}
+ adds r3, r0, 0
+ ldrh r0, [r3, 0x38]
+ subs r0, 0x1
+ strh r0, [r3, 0x38]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _0810A5A4
+ 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, 0x36]
+ strh r0, [r3, 0x38]
+_0810A5A4:
+ ldrh r0, [r3, 0x34]
+ subs r1, r0, 0x1
+ strh r1, [r3, 0x34]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _0810A5B6
+ adds r0, r3, 0
+ bl DestroyAnimSprite
+_0810A5B6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810A56C
+
+ thumb_func_start sub_810A5BC
+sub_810A5BC: @ 810A5BC
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810A5D8
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810A5E0
+_0810A5D8:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+_0810A5E0:
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ strh r0, [r6, 0x20]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ strh r0, [r6, 0x22]
+ ldrh r0, [r4]
+ strh r0, [r6, 0x34]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r6, 0x36]
+ strh r0, [r6, 0x38]
+ ldr r0, =sub_810A56C
+ str r0, [r6, 0x1C]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A5BC
+
+ thumb_func_start sub_810A628
+sub_810A628: @ 810A628
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x6]
+ strh r0, [r5, 0x2E]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ movs r1, 0x80
+ lsls r1, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _0810A64C
+ ldr r0, =gBattleAnimTarget
+ b _0810A64E
+ .pool
+_0810A64C:
+ ldr r0, =gBattleAnimAttacker
+_0810A64E:
+ ldrb r6, [r0]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810A666
+ adds r0, r6, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810A66E
+_0810A666:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ negs r0, r0
+ strh r0, [r1]
+_0810A66E:
+ adds r0, r6, 0
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r3, [r4]
+ adds r0, r3
+ strh r0, [r5, 0x20]
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x2]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ ldrh r1, [r4, 0xE]
+ ldr r0, =0x00007fff
+ ands r0, r1
+ strh r0, [r5, 0x36]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r5, 0x38]
+ ldrh r0, [r4, 0xA]
+ strh r0, [r5, 0x3A]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x3C]
+ ldrh r2, [r5, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ movs r3, 0xC
+ ldrsh r0, [r4, r3]
+ lsls r0, 2
+ adds r1, r0
+ ldr r3, =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r5, 0x4]
+ ldr r1, =sub_810A6EC
+ str r1, [r5, 0x1C]
+ adds r0, r5, 0
+ bl _call_via_r1
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A628
+
+ thumb_func_start sub_810A6EC
+sub_810A6EC: @ 810A6EC
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ movs r2, 0x38
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ movs r2, 0x38
+ ldrsh r1, [r4, r2]
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x3A]
+ ldrh r1, [r4, 0x3C]
+ adds r0, r1
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x3C]
+ movs r2, 0x3C
+ ldrsh r0, [r4, r2]
+ movs r2, 0x36
+ ldrsh r1, [r4, r2]
+ bl __modsi3
+ cmp r0, 0
+ bne _0810A742
+ 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]
+_0810A742:
+ ldrh r0, [r4, 0x2E]
+ subs r1, r0, 0x1
+ strh r1, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _0810A754
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810A754:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810A6EC
+
+ thumb_func_start sub_810A75C
+sub_810A75C: @ 810A75C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl sub_80A6980
+ ldrh r2, [r4, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ ldr r3, =gBattleAnimArgs
+ movs r5, 0x6
+ ldrsh r0, [r3, r5]
+ lsls r0, 2
+ adds r1, r0
+ ldr r5, =0x000003ff
+ adds r0, r5, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x4]
+ movs r1, 0x6
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x1
+ bne _0810A7A4
+ ldrb r0, [r4, 0x3]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x10
+ b _0810A7B2
+ .pool
+_0810A7A4:
+ cmp r0, 0x2
+ bne _0810A7B6
+ ldrb r0, [r4, 0x3]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x20
+_0810A7B2:
+ orrs r1, r0
+ strb r1, [r4, 0x3]
+_0810A7B6:
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A75C
+
+ thumb_func_start sub_810A7DC
+sub_810A7DC: @ 810A7DC
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r6, =gBattleAnimTarget
+ ldrb r0, [r6]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ ldr r1, =gTasks
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r1
+ lsls r0, 24
+ ldr r5, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r5]
+ adds r0, r1
+ strh r0, [r4, 0x8]
+ ldrb r0, [r6]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r5, 0x2]
+ adds r0, r1
+ strh r0, [r4, 0xA]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0xC]
+ ldr r0, =sub_810A834
+ str r0, [r4]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A7DC
+
+ thumb_func_start sub_810A834
+sub_810A834: @ 810A834
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ movs r5, 0
+ movs r7, 0
+ ldr r1, =gTasks
+ lsls r0, 2
+ add r0, r9
+ lsls r0, 3
+ adds r0, r1
+ ldrb r2, [r0, 0xC]
+ str r2, [sp]
+ ldrh r4, [r0, 0x8]
+ ldrh r6, [r0, 0xA]
+ movs r3, 0xC
+ ldrsh r0, [r0, r3]
+ mov r10, r1
+ cmp r0, 0
+ bne _0810A878
+ movs r0, 0
+ mov r8, r0
+ movs r2, 0x1
+ movs r1, 0x10
+ mov r12, r1
+ b _0810A882
+ .pool
+_0810A878:
+ movs r2, 0x10
+ mov r12, r2
+ movs r3, 0x8
+ mov r8, r3
+ movs r2, 0x4
+_0810A882:
+ mov r0, r9
+ lsls r1, r0, 2
+ adds r0, r1, r0
+ lsls r0, 3
+ add r0, r10
+ movs r3, 0x1C
+ ldrsh r0, [r0, r3]
+ mov r10, r1
+ cmp r0, 0xA
+ bhi _0810A978
+ lsls r0, 2
+ ldr r1, =_0810A8A4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0810A8A4:
+ .4byte _0810A8D0
+ .4byte _0810A978
+ .4byte _0810A8E4
+ .4byte _0810A978
+ .4byte _0810A904
+ .4byte _0810A978
+ .4byte _0810A91A
+ .4byte _0810A978
+ .4byte _0810A93C
+ .4byte _0810A978
+ .4byte _0810A970
+_0810A8D0:
+ ldr r0, =gUnknown_08595828
+ lsls r1, r4, 16
+ asrs r1, 16
+ lsls r2, r6, 16
+ asrs r2, 16
+ mov r4, r12
+ lsls r3, r4, 16
+ b _0810A952
+ .pool
+_0810A8E4:
+ mov r0, r12
+ lsls r3, r0, 17
+ mov r1, r8
+ adds r0, r1, r2
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldr r0, =gUnknown_08595828
+ lsls r1, r4, 16
+ asrs r1, 16
+ lsls r2, r6, 16
+ asrs r2, 16
+ b _0810A952
+ .pool
+_0810A904:
+ mov r3, r12
+ lsls r0, r3, 16
+ asrs r0, 16
+ lsls r3, r0, 1
+ adds r3, r0
+ lsls r0, r2, 1
+ add r0, r8
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ b _0810A946
+_0810A91A:
+ mov r0, r12
+ lsls r3, r0, 18
+ lsls r0, r2, 1
+ adds r0, r2
+ add r0, r8
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldr r0, =gUnknown_08595828
+ lsls r1, r4, 16
+ asrs r1, 16
+ lsls r2, r6, 16
+ asrs r2, 16
+ b _0810A952
+ .pool
+_0810A93C:
+ mov r1, r12
+ lsls r0, r1, 16
+ asrs r0, 16
+ lsls r3, r0, 2
+ adds r3, r0
+_0810A946:
+ ldr r0, =gUnknown_08595828
+ lsls r1, r4, 16
+ asrs r1, 16
+ lsls r2, r6, 16
+ asrs r2, 16
+ lsls r3, 16
+_0810A952:
+ asrs r3, 16
+ adds r2, r3
+ lsls r2, 16
+ asrs r2, 16
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ b _0810A978
+ .pool
+_0810A970:
+ mov r0, r9
+ bl DestroyAnimVisualTask
+ b _0810A9BC
+_0810A978:
+ cmp r7, 0
+ beq _0810A9AC
+ ldr r4, =gSprites
+ lsls r3, r5, 4
+ adds r3, r5
+ lsls r3, 2
+ adds r0, r3, r4
+ ldrh r5, [r0, 0x4]
+ lsls r2, r5, 22
+ lsrs r2, 22
+ add r2, r8
+ ldr r6, =0x000003ff
+ adds r1, r6, 0
+ ands r2, r1
+ ldr r1, =0xfffffc00
+ ands r1, r5
+ orrs r1, r2
+ strh r1, [r0, 0x4]
+ mov r1, sp
+ ldrh r1, [r1]
+ strh r1, [r0, 0x2E]
+ adds r4, 0x1C
+ adds r3, r4
+ ldr r1, [r3]
+ bl _call_via_r1
+_0810A9AC:
+ ldr r0, =gTasks
+ mov r1, r10
+ add r1, r9
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x1C]
+ adds r0, 0x1
+ strh r0, [r1, 0x1C]
+_0810A9BC:
+ 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_810A834
+
+ thumb_func_start sub_810A9DC
+sub_810A9DC: @ 810A9DC
+ push {lr}
+ adds r3, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ bne _0810A9FE
+ ldrb r1, [r3, 0x1]
+ movs r2, 0x3F
+ adds r0, r2, 0
+ ands r0, r1
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r3, 0x1]
+ ldrb r0, [r3, 0x3]
+ ands r2, r0
+ strb r2, [r3, 0x3]
+ b _0810AA12
+_0810A9FE:
+ ldrb r2, [r3, 0x1]
+ movs r1, 0x3F
+ adds r0, r1, 0
+ ands r0, r2
+ strb r0, [r3, 0x1]
+ ldrb r0, [r3, 0x3]
+ ands r1, r0
+ movs r0, 0x40
+ orrs r1, r0
+ strb r1, [r3, 0x3]
+_0810AA12:
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xF
+ bne _0810AA26
+ adds r0, r3, 0
+ bl DestroySprite
+_0810AA26:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810A9DC
+
+ thumb_func_start sub_810AA2C
+sub_810AA2C: @ 810AA2C
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ ldrh r2, [r4, 0x20]
+ adds r1, r2
+ strh r1, [r4, 0x20]
+ ldrh r0, [r0, 0x2]
+ ldrh r3, [r4, 0x22]
+ adds r0, r3
+ strh r0, [r4, 0x22]
+ ldr r0, =gUnknown_08595840
+ adds r1, 0x20
+ lsls r1, 16
+ asrs r1, 16
+ movs r7, 0x22
+ ldrsh r2, [r4, r7]
+ adds r3, r4, 0
+ adds r3, 0x43
+ ldrb r3, [r3]
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, =gSprites
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r6, r2, r3
+ ldrh r5, [r6, 0x4]
+ lsls r1, r5, 22
+ lsrs r1, 22
+ adds r1, 0x8
+ ldr r7, =0x000003ff
+ adds r0, r7, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r5
+ orrs r0, r1
+ strh r0, [r6, 0x4]
+ ldr r1, =gAnimVisualTaskCount
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ adds r3, 0x1C
+ adds r2, r3
+ ldr r0, =sub_810AAB0
+ str r0, [r2]
+ str r0, [r4, 0x1C]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810AA2C
+
+ thumb_func_start sub_810AAB0
+sub_810AAB0: @ 810AAB0
+ push {lr}
+ adds r3, r0, 0
+ ldrh r0, [r3, 0x2E]
+ adds r0, 0x1
+ strh r0, [r3, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ bne _0810AAE4
+ movs r0, 0
+ strh r0, [r3, 0x2E]
+ 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]
+_0810AAE4:
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x33
+ bne _0810AAF8
+ adds r0, r3, 0
+ bl DestroyAnimSprite
+_0810AAF8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810AAB0
+
+ thumb_func_start sub_810AAFC
+sub_810AAFC: @ 810AAFC
+ 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
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0810AB28
+ ldr r4, =gBattleAnimAttacker
+ b _0810AB2A
+ .pool
+_0810AB28:
+ ldr r4, =gBattleAnimTarget
+_0810AB2A:
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x24]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x26]
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r2, 0x2]
+ movs r1, 0
+ strh r0, [r5, 0x14]
+ strh r1, [r5, 0x16]
+ strh r1, [r5, 0x18]
+ strh r1, [r5, 0x1A]
+ strh r1, [r5, 0x1C]
+ ldrh r0, [r2, 0x6]
+ strh r0, [r5, 0x1E]
+ strh r1, [r5, 0x20]
+ ldrh r0, [r2, 0x4]
+ strh r0, [r5, 0x22]
+ ldr r0, =sub_810AB78
+ str r0, [r5]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810AAFC
+
+ thumb_func_start sub_810AB78
+sub_810AB78: @ 810AB78
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ adds r2, r6, 0
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ movs r1, 0x14
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0810AC78
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x1
+ movs r7, 0
+ strh r0, [r5, 0x20]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x22
+ ldrsh r1, [r5, r2]
+ cmp r0, r1
+ ble _0810AC86
+ strh r7, [r5, 0x20]
+ ldr r0, =gUnknown_085958A8
+ movs r3, 0x24
+ ldrsh r1, [r5, r3]
+ movs r3, 0x26
+ ldrsh r2, [r5, r3]
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ beq _0810AC86
+ lsls r4, r0, 4
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, =gSprites
+ adds r4, r0
+ ldr r1, =gUnknown_08595858
+ movs r2, 0x1A
+ ldrsh r0, [r5, r2]
+ lsls r0, 1
+ adds r0, r1
+ movs r3, 0
+ ldrsb r3, [r0, r3]
+ ldrh r0, [r4, 0x20]
+ adds r3, r0
+ strh r3, [r4, 0x20]
+ movs r2, 0x1A
+ ldrsh r0, [r5, r2]
+ lsls r0, 1
+ adds r1, 0x1
+ adds r0, r1
+ movs r2, 0
+ ldrsb r2, [r0, r2]
+ ldrh r0, [r4, 0x22]
+ adds r2, r0
+ strh r2, [r4, 0x22]
+ movs r1, 0x18
+ ldrsh r0, [r5, r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ movs r0, 0x28
+ subs r0, r1
+ strh r0, [r4, 0x2E]
+ strh r3, [r4, 0x30]
+ ldrh r0, [r5, 0x24]
+ strh r0, [r4, 0x32]
+ strh r2, [r4, 0x34]
+ ldrh r0, [r5, 0x26]
+ strh r0, [r4, 0x36]
+ strh r6, [r4, 0x38]
+ adds r0, r4, 0
+ bl InitAnimLinearTranslation
+ ldr r1, =sub_810ACC0
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r4, 0x1C]
+ ldrh r0, [r5, 0x1A]
+ adds r0, 0x1
+ strh r0, [r5, 0x1A]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xF
+ ble _0810AC30
+ strh r7, [r5, 0x1A]
+_0810AC30:
+ ldrh r0, [r5, 0x1C]
+ adds r0, 0x1
+ strh r0, [r5, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ movs r2, 0x1E
+ ldrsh r1, [r5, r2]
+ cmp r0, r1
+ blt _0810AC52
+ strh r7, [r5, 0x1C]
+ ldrh r1, [r5, 0x18]
+ movs r3, 0x18
+ ldrsh r0, [r5, r3]
+ cmp r0, 0x5
+ bgt _0810AC52
+ adds r0, r1, 0x1
+ strh r0, [r5, 0x18]
+_0810AC52:
+ ldrh r0, [r5, 0x16]
+ adds r0, 0x1
+ strh r0, [r5, 0x16]
+ ldrh r0, [r5, 0x14]
+ subs r0, 0x1
+ strh r0, [r5, 0x14]
+ b _0810AC86
+ .pool
+_0810AC78:
+ movs r1, 0x16
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0810AC86
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_0810AC86:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810AB78
+
+ thumb_func_start sub_810AC8C
+sub_810AC8C: @ 810AC8C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810ACB4
+ ldr r2, =gTasks
+ movs r0, 0x38
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r0, 0x16]
+ subs r1, 0x1
+ strh r1, [r0, 0x16]
+ adds r0, r4, 0
+ bl DestroySprite
+_0810ACB4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810AC8C
+
+ thumb_func_start sub_810ACC0
+sub_810ACC0: @ 810ACC0
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r0, =sub_810AC8C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810ACC0
+
+ thumb_func_start sub_810ACD8
+sub_810ACD8: @ 810ACD8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0810ACF4
+ ldr r4, =gBattleAnimAttacker
+ b _0810ACF6
+ .pool
+_0810ACF4:
+ ldr r4, =gBattleAnimTarget
+_0810ACF6:
+ 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 r1, =move_anim_8074EE0
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67BC
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810ACD8
+
+ thumb_func_start sub_810AD30
+sub_810AD30: @ 810AD30
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0810AD4C
+ ldr r4, =gBattleAnimAttacker
+ b _0810AD4E
+ .pool
+_0810AD4C:
+ ldr r4, =gBattleAnimTarget
+_0810AD4E:
+ 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 r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x2]
+ strh r0, [r5, 0x24]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r5, 0x26]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A67D8
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810AD30
+
+ thumb_func_start sub_810AD98
+sub_810AD98: @ 810AD98
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ 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]
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x3A]
+ movs r0, 0x10
+ strh r0, [r5, 0x3C]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0810ADE6
+ movs r1, 0x3C
+ ldrsh r0, [r5, r1]
+ negs r0, r0
+ strh r0, [r5, 0x3C]
+_0810ADE6:
+ ldr r0, =sub_810ADF8
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810AD98
+
+ thumb_func_start sub_810ADF8
+sub_810ADF8: @ 810ADF8
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0810AE0A
+ cmp r0, 0x1
+ beq _0810AE20
+ b _0810AE50
+_0810AE0A:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x28
+ ble _0810AE50
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _0810AE50
+_0810AE20:
+ ldrh r2, [r4, 0x3C]
+ ldrh r1, [r4, 0x20]
+ adds r0, r2, r1
+ strh r0, [r4, 0x20]
+ ldr r3, =gSprites
+ movs r0, 0x3A
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrh r1, [r0, 0x24]
+ adds r2, r1
+ strh r2, [r0, 0x24]
+ ldrh r0, [r4, 0x20]
+ adds r0, 0x50
+ lsls r0, 16
+ movs r1, 0xC8
+ lsls r1, 17
+ cmp r0, r1
+ bls _0810AE50
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_0810AE50:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810ADF8
+
+ thumb_func_start sub_810AE5C
+sub_810AE5C: @ 810AE5C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _0810AEF0
+ cmp r0, 0x1
+ bgt _0810AE84
+ cmp r0, 0
+ beq _0810AE90
+ b _0810AFC0
+ .pool
+_0810AE84:
+ cmp r0, 0x2
+ beq _0810AF4C
+ cmp r0, 0x3
+ bne _0810AE8E
+ b _0810AFA0
+_0810AE8E:
+ b _0810AFC0
+_0810AE90:
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ movs r6, 0
+ strh r0, [r5, 0x26]
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x24]
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810AECC
+ ldr r0, =0x0000ffe0
+ strh r0, [r5, 0x24]
+ movs r0, 0x2
+ b _0810AED2
+ .pool
+_0810AECC:
+ movs r0, 0x20
+ strh r0, [r5, 0x24]
+ ldr r0, =0x0000fffe
+_0810AED2:
+ strh r0, [r5, 0x22]
+ ldr r2, =gSprites
+ movs r0, 0x26
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r5, 0x24]
+ strh r1, [r0, 0x24]
+ b _0810AF92
+ .pool
+_0810AEF0:
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ strh r0, [r5, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0810AFC0
+ movs r0, 0
+ strh r0, [r5, 0xA]
+ ldr r4, =gSprites
+ movs r1, 0x26
+ ldrsh r0, [r5, r1]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r4
+ adds r2, 0x3E
+ ldrb r3, [r2]
+ lsls r0, r3, 29
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r1, [r5, 0x24]
+ movs r2, 0x24
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _0810AF92
+ ldrh r2, [r5, 0x22]
+ adds r2, r1, r2
+ strh r2, [r5, 0x24]
+ movs r0, 0x26
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ strh r2, [r0, 0x24]
+ b _0810AFC0
+ .pool
+_0810AF4C:
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ strh r0, [r5, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0810AFC0
+ movs r0, 0
+ strh r0, [r5, 0xA]
+ ldr r1, =gSprites
+ movs r2, 0x26
+ ldrsh r0, [r5, r2]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r1
+ adds r2, 0x3E
+ ldrb r3, [r2]
+ lsls r0, r3, 29
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r5, 0xC]
+ adds r0, 0x1
+ strh r0, [r5, 0xC]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ bne _0810AFC0
+_0810AF92:
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ b _0810AFC0
+ .pool
+_0810AFA0:
+ ldr r2, =gSprites
+ movs r0, 0x26
+ ldrsh r1, [r5, 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]
+ adds r0, r3, 0
+ bl DestroyAnimVisualTask
+_0810AFC0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810AE5C
+
+ thumb_func_start sub_810AFCC
+sub_810AFCC: @ 810AFCC
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _0810AFE6
+ b _0810B10C
+_0810AFE6:
+ cmp r0, 0x1
+ bgt _0810AFF4
+ cmp r0, 0
+ beq _0810AFFC
+ b _0810B14E
+ .pool
+_0810AFF4:
+ cmp r0, 0x2
+ bne _0810AFFA
+ b _0810B140
+_0810AFFA:
+ b _0810B14E
+_0810AFFC:
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ movs r2, 0x1
+ negs r2, r2
+ adds r1, r2, 0
+ cmp r0, 0
+ bne _0810B012
+ movs r1, 0x1
+_0810B012:
+ movs r6, 0
+ strh r1, [r5, 0xA]
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r3, r0, 0
+ cmp r2, 0
+ beq _0810B048
+ cmp r2, 0x4
+ beq _0810B070
+ ldrh r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810B0A8
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r5, 0xE]
+ ldr r0, =0x0000fff0
+ b _0810B0B0
+ .pool
+_0810B048:
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0xE]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x12]
+ movs r2, 0xA
+ ldrsh r0, [r5, r2]
+ lsls r0, 7
+ adds r0, 0x78
+ strh r0, [r5, 0x10]
+ b _0810B0E6
+_0810B070:
+ movs r0, 0xA
+ ldrsh r1, [r5, r0]
+ lsls r1, 7
+ movs r0, 0x78
+ subs r0, r1
+ strh r0, [r5, 0xE]
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x12]
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0xA
+ ldrsh r1, [r5, r2]
+ lsls r1, 5
+ subs r0, r1
+ strh r0, [r5, 0x10]
+ b _0810B0E6
+ .pool
+_0810B0A8:
+ ldr r0, =0x0000fff0
+ strh r0, [r5, 0xE]
+ movs r0, 0x80
+ lsls r0, 1
+_0810B0B0:
+ strh r0, [r5, 0x10]
+ movs r1, 0xA
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ bne _0810B0D0
+ movs r2, 0
+ ldrsh r0, [r3, r2]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 1
+ movs r0, 0x50
+ subs r0, r1
+ strh r0, [r5, 0x12]
+ b _0810B0E6
+ .pool
+_0810B0D0:
+ movs r0, 0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 1
+ adds r0, 0x28
+ strh r0, [r5, 0x12]
+ ldrh r1, [r5, 0xE]
+ ldrh r0, [r5, 0x10]
+ strh r0, [r5, 0xE]
+ strh r1, [r5, 0x10]
+_0810B0E6:
+ movs r2, 0xE
+ ldrsh r1, [r5, r2]
+ movs r2, 0x10
+ ldrsh r0, [r5, r2]
+ cmp r1, r0
+ bge _0810B0FC
+ movs r1, 0
+ movs r0, 0x1
+ strh r0, [r5, 0xA]
+ strh r1, [r5, 0x14]
+ b _0810B138
+_0810B0FC:
+ ldr r0, =0x0000ffff
+ strh r0, [r5, 0xA]
+ movs r0, 0x3
+ strh r0, [r5, 0x14]
+ b _0810B138
+ .pool
+_0810B10C:
+ ldrh r0, [r5, 0xC]
+ adds r0, 0x1
+ strh r0, [r5, 0xC]
+ lsls r0, 16
+ cmp r0, 0
+ ble _0810B14E
+ movs r0, 0
+ strh r0, [r5, 0xC]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_810B154
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810B138
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_810B154
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810B14E
+_0810B138:
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ b _0810B14E
+_0810B140:
+ movs r1, 0x16
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0810B14E
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_0810B14E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810AFCC
+
+ thumb_func_start sub_810B154
+sub_810B154: @ 810B154
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, =gUnknown_08595A00
+ movs r2, 0xE
+ ldrsh r1, [r4, r2]
+ movs r3, 0x12
+ ldrsh r2, [r4, r3]
+ movs r3, 0x23
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0810B18A
+ ldr r1, =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ strh r5, [r0, 0x3A]
+ movs r1, 0x7
+ strh r1, [r0, 0x3C]
+ ldrh r0, [r4, 0x16]
+ adds r0, 0x1
+ strh r0, [r4, 0x16]
+_0810B18A:
+ ldrh r1, [r4, 0xA]
+ ldrh r5, [r4, 0x14]
+ adds r0, r1, r5
+ strh r0, [r4, 0x14]
+ lsls r0, 16
+ cmp r0, 0
+ bge _0810B19C
+ movs r0, 0x3
+ strh r0, [r4, 0x14]
+_0810B19C:
+ movs r2, 0x14
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x3
+ ble _0810B1A8
+ movs r0, 0
+ strh r0, [r4, 0x14]
+_0810B1A8:
+ movs r3, 0xA
+ ldrsh r0, [r4, r3]
+ lsls r0, 4
+ ldrh r5, [r4, 0xE]
+ adds r2, r0, r5
+ strh r2, [r4, 0xE]
+ lsls r0, r1, 16
+ asrs r3, r0, 16
+ cmp r3, 0x1
+ bne _0810B1C8
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r5, 0x10
+ ldrsh r1, [r4, r5]
+ cmp r0, r1
+ bge _0810B1DC
+_0810B1C8:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r3, r0
+ bne _0810B1E8
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r2, 0x10
+ ldrsh r1, [r4, r2]
+ cmp r0, r1
+ bgt _0810B1E8
+_0810B1DC:
+ movs r0, 0x1
+ b _0810B1EA
+ .pool
+_0810B1E8:
+ movs r0, 0
+_0810B1EA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810B154
+
+ thumb_func_start sub_810B1F0
+sub_810B1F0: @ 810B1F0
+ 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, 0xC
+ ble _0810B230
+ 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
+_0810B230:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810B1F0
+
+ thumb_func_start sub_810B23C
+sub_810B23C: @ 810B23C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0810B24E
+ cmp r0, 0x1
+ beq _0810B280
+ b _0810B294
+_0810B24E:
+ 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]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl StartSpriteAffineAnim
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _0810B294
+ .pool
+_0810B280:
+ adds r0, r5, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0810B294
+ adds r0, r5, 0
+ bl move_anim_8074EE0
+_0810B294:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810B23C
+
+ thumb_func_start sub_810B29C
+sub_810B29C: @ 810B29C
+ 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 r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x4
+ bls _0810B2B6
+ b _0810B428
+_0810B2B6:
+ lsls r0, 2
+ ldr r1, =_0810B2C8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_0810B2C8:
+ .4byte _0810B2DC
+ .4byte _0810B36C
+ .4byte _0810B3A8
+ .4byte _0810B404
+ .4byte _0810B414
+_0810B2DC:
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x14]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x16]
+ movs r0, 0x4
+ strh r0, [r5, 0x18]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x1C]
+ movs r2, 0x1C
+ ldrsh r0, [r5, r2]
+ movs r2, 0x14
+ ldrsh r1, [r5, r2]
+ subs r0, r1
+ movs r1, 0x5
+ bl __divsi3
+ strh r0, [r5, 0x1A]
+ movs r0, 0x7
+ strh r0, [r5, 0x10]
+ ldr r0, =0x0000ffff
+ strh r0, [r5, 0x12]
+ movs r0, 0xC
+ strh r0, [r5, 0x1E]
+ subs r0, 0x4C
+ bl BattleAnimAdjustPanning
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r5, 0x20]
+ movs r0, 0x3F
+ bl BattleAnimAdjustPanning
+ lsls r0, 24
+ asrs r0, 24
+ strh r0, [r5, 0x22]
+ ldrh r0, [r5, 0x20]
+ strh r0, [r5, 0x24]
+ movs r1, 0x22
+ ldrsh r0, [r5, r1]
+ movs r2, 0x20
+ ldrsh r1, [r5, r2]
+ subs r0, r1
+ movs r1, 0x3
+ bl __divsi3
+ strh r0, [r5, 0x26]
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ b _0810B426
+ .pool
+_0810B36C:
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ strh r0, [r5, 0xA]
+ lsls r0, 16
+ cmp r0, 0
+ ble _0810B39C
+ movs r0, 0
+ strh r0, [r5, 0xA]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_810B430
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810B39C
+ movs r1, 0xC
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x5
+ bne _0810B396
+ movs r0, 0x3
+ b _0810B39A
+_0810B396:
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+_0810B39A:
+ strh r0, [r5, 0x8]
+_0810B39C:
+ ldrh r1, [r5, 0x1E]
+ movs r2, 0x1E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _0810B428
+ b _0810B41E
+_0810B3A8:
+ ldrh r1, [r5, 0x1E]
+ movs r2, 0x1E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _0810B3B6
+ subs r0, r1, 0x1
+ strh r0, [r5, 0x1E]
+_0810B3B6:
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ movs r3, 0
+ strh r0, [r5, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ ble _0810B428
+ strh r3, [r5, 0xA]
+ ldrh r1, [r5, 0xC]
+ movs r2, 0x1
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0810B3E2
+ movs r0, 0x4
+ strh r0, [r5, 0x16]
+ movs r0, 0x44
+ strh r0, [r5, 0x18]
+ strh r3, [r5, 0x10]
+ strh r2, [r5, 0x12]
+ b _0810B3F2
+_0810B3E2:
+ movs r0, 0x44
+ strh r0, [r5, 0x16]
+ movs r0, 0x4
+ strh r0, [r5, 0x18]
+ movs r0, 0x7
+ strh r0, [r5, 0x10]
+ ldr r0, =0x0000ffff
+ strh r0, [r5, 0x12]
+_0810B3F2:
+ movs r1, 0x1E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0810B424
+ movs r0, 0x4
+ b _0810B426
+ .pool
+_0810B404:
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0810B428
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+ b _0810B428
+_0810B414:
+ ldrh r1, [r5, 0x1E]
+ movs r2, 0x1E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _0810B424
+_0810B41E:
+ subs r0, r1, 0x1
+ strh r0, [r5, 0x1E]
+ b _0810B428
+_0810B424:
+ movs r0, 0x1
+_0810B426:
+ strh r0, [r5, 0x8]
+_0810B428:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810B29C
+
+ thumb_func_start sub_810B430
+sub_810B430: @ 810B430
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, =gUnknown_08595A30
+ movs r2, 0x14
+ ldrsh r1, [r4, r2]
+ movs r3, 0x16
+ ldrsh r2, [r4, r3]
+ movs r3, 0x23
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _0810B49C
+ ldr r1, =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r3, r0, r1
+ ldrh r2, [r3, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ ldrh r6, [r4, 0x10]
+ adds r1, r6
+ ldr r6, =0x000003ff
+ adds r0, r6, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, 0x4]
+ ldrh r0, [r4, 0x12]
+ ldrh r1, [r4, 0x10]
+ adds r0, r1
+ strh r0, [r4, 0x10]
+ lsls r0, 16
+ cmp r0, 0
+ bge _0810B484
+ movs r0, 0x7
+ strh r0, [r4, 0x10]
+_0810B484:
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x7
+ ble _0810B490
+ movs r0, 0
+ strh r0, [r4, 0x10]
+_0810B490:
+ strh r5, [r3, 0x3A]
+ movs r0, 0x3
+ strh r0, [r3, 0x3C]
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+_0810B49C:
+ movs r3, 0x10
+ ldrsh r0, [r4, r3]
+ cmp r0, 0
+ bne _0810B4BE
+ movs r5, 0x12
+ ldrsh r0, [r4, r5]
+ cmp r0, 0
+ ble _0810B4BE
+ ldrh r1, [r4, 0x26]
+ ldrh r6, [r4, 0x24]
+ adds r1, r6
+ strh r1, [r4, 0x24]
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x76
+ bl PlaySE12WithPanning
+_0810B4BE:
+ movs r0, 0x12
+ ldrsh r3, [r4, r0]
+ ldrh r2, [r4, 0x16]
+ cmp r3, 0
+ bge _0810B4D4
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r5, 0x18
+ ldrsh r1, [r4, r5]
+ cmp r0, r1
+ ble _0810B4E4
+_0810B4D4:
+ cmp r3, 0
+ ble _0810B508
+ lsls r0, r2, 16
+ asrs r0, 16
+ movs r6, 0x18
+ ldrsh r1, [r4, r6]
+ cmp r0, r1
+ blt _0810B508
+_0810B4E4:
+ ldrh r0, [r4, 0xC]
+ adds r0, 0x1
+ strh r0, [r4, 0xC]
+ ldrh r0, [r4, 0x1A]
+ ldrh r1, [r4, 0x14]
+ adds r0, r1
+ strh r0, [r4, 0x14]
+ movs r0, 0x1
+ b _0810B514
+ .pool
+_0810B508:
+ movs r3, 0x12
+ ldrsh r0, [r4, r3]
+ lsls r0, 3
+ adds r0, r2, r0
+ strh r0, [r4, 0x16]
+ movs r0, 0
+_0810B514:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810B430
+
+ thumb_func_start sub_810B51C
+sub_810B51C: @ 810B51C
+ 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, 0xC
+ ble _0810B552
+ 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
+_0810B552:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810B51C
+
+ thumb_func_start sub_810B55C
+sub_810B55C: @ 810B55C
+ 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 r1, 0x8
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _0810B5D8
+ cmp r0, 0x1
+ bgt _0810B584
+ cmp r0, 0
+ beq _0810B58A
+ b _0810B60E
+ .pool
+_0810B584:
+ cmp r0, 0x2
+ beq _0810B600
+ b _0810B60E
+_0810B58A:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x20
+ strh r0, [r5, 0x26]
+ strh r0, [r5, 0x24]
+ cmp r0, 0x10
+ ble _0810B5B4
+ adds r2, r0, 0
+_0810B5A4:
+ adds r1, r2, 0
+ subs r1, 0x20
+ adds r2, r1, 0
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ bgt _0810B5A4
+ strh r1, [r5, 0x24]
+_0810B5B4:
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x22]
+ ldrb r0, [r4]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x2
+ strh r0, [r5, 0x20]
+ b _0810B5F8
+ .pool
+_0810B5D8:
+ ldrh r0, [r5, 0xA]
+ adds r0, 0x1
+ strh r0, [r5, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0810B60E
+ movs r0, 0
+ strh r0, [r5, 0xA]
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_810B614
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810B60E
+_0810B5F8:
+ ldrh r0, [r5, 0x8]
+ adds r0, 0x1
+ strh r0, [r5, 0x8]
+ b _0810B60E
+_0810B600:
+ movs r1, 0x1C
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ bne _0810B60E
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_0810B60E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810B55C
+
+ .align 2, 0
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
deleted file mode 100644
index c7b3a0486..000000000
--- a/asm/field_player_avatar.s
+++ /dev/null
@@ -1,4180 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start IsPlayerCollidingWithFarawayIslandMew
-@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction)
-IsPlayerCollidingWithFarawayIslandMew: @ 808B324
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gPlayerAvatar
- ldrb r2, [r1, 0x5]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- ldr r5, =gEventObjects
- adds r3, r1, r5
- ldrh r2, [r3, 0x10]
- mov r1, sp
- strh r2, [r1]
- ldrh r1, [r3, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r1, [r4]
- mov r1, sp
- adds r2, r4, 0
- bl MoveCoords
- movs r0, 0x1
- movs r1, 0x39
- movs r2, 0x1A
- bl GetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r1, r0, 24
- adds r6, r4, 0
- cmp r1, 0x10
- beq _0808B3C0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r3, r0, r5
- mov r0, sp
- movs r1, 0x14
- ldrsh r2, [r3, r1]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r2, r0
- bne _0808B3C0
- movs r5, 0x16
- ldrsh r1, [r3, r5]
- movs r4, 0
- ldrsh r0, [r6, r4]
- ldrh r4, [r3, 0x16]
- cmp r1, r0
- bne _0808B398
- movs r5, 0x10
- ldrsh r0, [r3, r5]
- cmp r0, r2
- bne _0808B398
- movs r2, 0x12
- ldrsh r0, [r3, r2]
- cmp r0, r1
- beq _0808B3C0
-_0808B398:
- mov r0, sp
- movs r5, 0x14
- ldrsh r1, [r3, r5]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bne _0808B3C0
- lsls r0, r4, 16
- asrs r0, 16
- movs r4, 0
- ldrsh r1, [r6, r4]
- cmp r0, r1
- bne _0808B3C0
- movs r0, 0x1
- b _0808B3C2
- .pool
-_0808B3C0:
- movs r0, 0
-_0808B3C2:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsPlayerCollidingWithFarawayIslandMew
-
- thumb_func_start SetPlayerAvatarTransitionFlags
-@ void SetPlayerAvatarTransitionFlags(u16 transitionFlags)
-SetPlayerAvatarTransitionFlags: @ 808B3CC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x1]
- orrs r0, r1
- strb r0, [r2, 0x1]
- bl DoPlayerAvatarTransition
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetPlayerAvatarTransitionFlags
-
- thumb_func_start DoPlayerAvatarTransition
-@ void DoPlayerAvatarTransition()
-DoPlayerAvatarTransition: @ 808B3E8
- push {r4,r5,lr}
- ldr r0, =gPlayerAvatar
- ldrb r4, [r0, 0x1]
- cmp r4, 0
- beq _0808B428
- movs r5, 0
-_0808B3F4:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0808B416
- ldr r0, =gUnknown_084974B8
- lsls r2, r5, 2
- adds r2, r0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- ldr r1, [r2]
- bl _call_via_r1
-_0808B416:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- lsrs r4, 1
- cmp r5, 0x7
- bls _0808B3F4
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x1]
-_0808B428:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoPlayerAvatarTransition
-
- thumb_func_start PlayerAvatarTransition_Dummy
-@ void PlayerAvatarTransition_Dummy(struct npc_state *eventObject)
-PlayerAvatarTransition_Dummy: @ 808B43C
- bx lr
- thumb_func_end PlayerAvatarTransition_Dummy
-
- thumb_func_start PlayerAvatarTransition_Normal
-@ void PlayerAvatarTransition_Normal(struct npc_state *eventObject)
-PlayerAvatarTransition_Normal: @ 808B440
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- movs r0, 0x1
- bl SetPlayerAvatarStateMask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerAvatarTransition_Normal
-
- thumb_func_start PlayerAvatarTransition_MachBike
-@ void PlayerAvatarTransition_MachBike(struct npc_state *eventObject)
-PlayerAvatarTransition_MachBike: @ 808B46C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- movs r0, 0x2
- bl SetPlayerAvatarStateMask
- movs r0, 0
- movs r1, 0
- bl BikeClearState
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerAvatarTransition_MachBike
-
- thumb_func_start PlayerAvatarTransition_AcroBike
-@ void PlayerAvatarTransition_AcroBike(struct npc_state *eventObject)
-PlayerAvatarTransition_AcroBike: @ 808B4A0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- movs r0, 0x4
- bl SetPlayerAvatarStateMask
- movs r0, 0
- movs r1, 0
- bl BikeClearState
- bl Bike_HandleBumpySlopeJump
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerAvatarTransition_AcroBike
-
- thumb_func_start PlayerAvatarTransition_Surfing
-@ void PlayerAvatarTransition_Surfing(struct npc_state *eventObject)
-PlayerAvatarTransition_Surfing: @ 808B4D8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- movs r0, 0x8
- bl SetPlayerAvatarStateMask
- ldr r1, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- str r0, [r1, 0x4]
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- str r0, [r1, 0x8]
- movs r0, 0x8
- bl FieldEffectStart
- lsls r0, 24
- lsrs r0, 24
- strb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_81555AC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayerAvatarTransition_Surfing
-
- thumb_func_start PlayerAvatarTransition_Underwater
-@ void PlayerAvatarTransition_Underwater(struct npc_state *eventObject)
-PlayerAvatarTransition_Underwater: @ 808B534
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x4
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- movs r0, 0x10
- bl SetPlayerAvatarStateMask
- ldrb r0, [r4, 0x4]
- bl sub_8155800
- strb r0, [r4, 0x1A]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerAvatarTransition_Underwater
-
- thumb_func_start PlayerAvatarTransition_ReturnToField
-@ void PlayerAvatarTransition_ReturnToField(struct npc_state *eventObject)
-PlayerAvatarTransition_ReturnToField: @ 808B568
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2]
- movs r0, 0x20
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end PlayerAvatarTransition_ReturnToField
-
- thumb_func_start sub_808B578
-sub_808B578: @ 808B578
- push {r4,lr}
- ldr r4, =gPlayerAvatar
- movs r0, 0
- strb r0, [r4, 0x3]
- bl PlayerIsAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _0808B5B6
- bl PlayerCheckIfAnimFinishedOrInactive
- lsls r0, 24
- cmp r0, 0
- bne _0808B5A8
- bl player_is_anim_in_certain_ranges
- lsls r0, 24
- cmp r0, 0
- bne _0808B5B6
- movs r0, 0x1
- b _0808B5B4
- .pool
-_0808B5A8:
- bl sub_808B618
- lsls r0, 24
- cmp r0, 0
- bne _0808B5B6
- movs r0, 0x2
-_0808B5B4:
- strb r0, [r4, 0x3]
-_0808B5B6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808B578
-
- thumb_func_start player_is_anim_in_certain_ranges
-player_is_anim_in_certain_ranges: @ 808B5BC
- push {lr}
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1C]
- cmp r1, 0x3
- bls _0808B602
- adds r0, r1, 0
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _0808B602
- adds r0, r1, 0
- subs r0, 0x19
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0808B602
- adds r0, r1, 0
- subs r0, 0x64
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bls _0808B602
- adds r0, r1, 0
- subs r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _0808B610
-_0808B602:
- movs r0, 0x1
- b _0808B612
- .pool
-_0808B610:
- movs r0, 0
-_0808B612:
- pop {r1}
- bx r1
- thumb_func_end player_is_anim_in_certain_ranges
-
- thumb_func_start sub_808B618
-sub_808B618: @ 808B618
- push {lr}
- bl player_is_anim_in_certain_ranges
- lsls r0, 24
- cmp r0, 0
- beq _0808B634
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1
- beq _0808B634
- movs r0, 0x1
- b _0808B636
- .pool
-_0808B634:
- movs r0, 0
-_0808B636:
- pop {r1}
- bx r1
- thumb_func_end sub_808B618
-
- thumb_func_start PlayerIsAnimActive
-@ bool8 PlayerIsAnimActive()
-PlayerIsAnimActive: @ 808B63C
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end PlayerIsAnimActive
-
- thumb_func_start PlayerCheckIfAnimFinishedOrInactive
-@ bool8 PlayerCheckIfAnimFinishedOrInactive()
-PlayerCheckIfAnimFinishedOrInactive: @ 808B660
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- bl EventObjectCheckHeldMovementStatus
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end PlayerCheckIfAnimFinishedOrInactive
-
- thumb_func_start player_set_x22
-player_set_x22: @ 808B684
- ldr r3, =gEventObjects
- ldr r1, =gPlayerAvatar
- ldrb r2, [r1, 0x5]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- adds r1, 0x22
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end player_set_x22
-
- thumb_func_start PlayerGetCopyableMovement
-PlayerGetCopyableMovement: @ 808B6A0
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x22
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end PlayerGetCopyableMovement
-
- thumb_func_start sub_808B6BC
-sub_808B6BC: @ 808B6BC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gPlayerAvatar
- ldrb r2, [r0, 0x5]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, =gEventObjects
- adds r0, r2
- bl EventObjectForceSetHeldMovement
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808B6BC
-
- thumb_func_start PlayerSetAnimId
-@ void PlayerSetAnimId(u8 animState, u8 a2)
-PlayerSetAnimId: @ 808B6E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl PlayerIsAnimActive
- lsls r0, 24
- cmp r0, 0
- bne _0808B712
- adds r0, r4, 0
- bl player_set_x22
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- adds r1, r5, 0
- bl EventObjectSetHeldMovement
-_0808B712:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayerSetAnimId
-
- thumb_func_start PlayerGoSpeed1
-@ void PlayerGoSpeed1(u8 direction)
-PlayerGoSpeed1: @ 808B720
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkNormalMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerGoSpeed1
-
- thumb_func_start PlayerGoSpeed2
-@ void PlayerGoSpeed2(u8 direction)
-PlayerGoSpeed2: @ 808B738
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkFastMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerGoSpeed2
-
- thumb_func_start PlayerGoSpeed3
-@ void PlayerGoSpeed3(u8 direction)
-PlayerGoSpeed3: @ 808B750
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetRideWaterCurrentMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerGoSpeed3
-
- thumb_func_start PlayerGoSpeed4
-@ void PlayerGoSpeed4(u8 direction)
-PlayerGoSpeed4: @ 808B768
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkFastestMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerGoSpeed4
-
- thumb_func_start PlayerRun
-@ void PlayerRun(u8 direction)
-PlayerRun: @ 808B780
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetPlayerRunMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerRun
-
- thumb_func_start PlayerOnBikeCollide
-@ void PlayerOnBikeCollide(u8 direction)
-PlayerOnBikeCollide: @ 808B798
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PlayCollisionSoundIfNotFacingWarp
- adds r0, r4, 0
- bl GetWalkInPlaceNormalMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerOnBikeCollide
-
- thumb_func_start PlayerOnBikeCollideWithFarawayIslandMew
-@ void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction)
-PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceNormalMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerOnBikeCollideWithFarawayIslandMew
-
- thumb_func_start PlayerNotOnBikeCollide
-@ void PlayerNotOnBikeCollide(u8 direction)
-PlayerNotOnBikeCollide: @ 808B7D4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PlayCollisionSoundIfNotFacingWarp
- adds r0, r4, 0
- bl GetWalkInPlaceSlowMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerNotOnBikeCollide
-
- thumb_func_start PlayerNotOnBikeCollideWithFarawayIslandMew
-@ void PlayerNotOnBikeCollideWithFarawayIslandMew(u8 direction)
-PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceSlowMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerNotOnBikeCollideWithFarawayIslandMew
-
- thumb_func_start PlayerFaceDirection
-@ void PlayerFaceDirection(u8 direction)
-PlayerFaceDirection: @ 808B810
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerFaceDirection
-
- thumb_func_start PlayerTurnInPlace
-@ void PlayerTurnInPlace(u8 direction)
-PlayerTurnInPlace: @ 808B828
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceFastMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerTurnInPlace
-
- thumb_func_start PlayerJumpLedge
-@ void PlayerJumpLedge(u8 direction)
-PlayerJumpLedge: @ 808B840
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xA
- bl PlaySE
- adds r0, r4, 0
- bl GetJump2MovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerJumpLedge
-
- thumb_func_start sub_808B864
-sub_808B864: @ 808B864
- push {r4,lr}
- ldr r4, =gPlayerAvatar
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- beq _0808B872
- cmp r0, 0
- bne _0808B89A
-_0808B872:
- bl player_should_look_direction_be_enforced_upon_movement
- lsls r0, 24
- cmp r0, 0
- beq _0808B89A
- ldr r2, =gEventObjects
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- bl sub_808B6BC
-_0808B89A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808B864
-
- thumb_func_start PlayerIdleWheelie
-PlayerIdleWheelie: @ 808B8A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAcroWheelieFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerIdleWheelie
-
- thumb_func_start PlayerStartWheelie
-PlayerStartWheelie: @ 808B8C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAcroPopWheelieFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerStartWheelie
-
- thumb_func_start PlayerEndWheelie
-PlayerEndWheelie: @ 808B8D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAcroEndWheelieFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end PlayerEndWheelie
-
- thumb_func_start PlayerStandingHoppingWheelie
-PlayerStandingHoppingWheelie: @ 808B8F0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x22
- bl PlaySE
- adds r0, r4, 0
- bl GetAcroWheelieHopFaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerStandingHoppingWheelie
-
- thumb_func_start PlayerMovingHoppingWheelie
-PlayerMovingHoppingWheelie: @ 808B914
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x22
- bl PlaySE
- adds r0, r4, 0
- bl GetAcroWheelieHopDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerMovingHoppingWheelie
-
- thumb_func_start PlayerLedgeHoppingWheelie
-PlayerLedgeHoppingWheelie: @ 808B938
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x22
- bl PlaySE
- adds r0, r4, 0
- bl GetAcroWheelieJumpDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerLedgeHoppingWheelie
-
- thumb_func_start PlayerAcroTurnJump
-PlayerAcroTurnJump: @ 808B95C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x22
- bl PlaySE
- adds r0, r4, 0
- bl GetJumpInPlaceTurnAroundMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PlayerAcroTurnJump
-
- thumb_func_start sub_808B980
-sub_808B980: @ 808B980
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- bl PlaySE
- adds r0, r4, 0
- bl GetAcroWheelieInPlaceDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808B980
-
- thumb_func_start sub_808B9A4
-sub_808B9A4: @ 808B9A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAcroPopWheelieMoveDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_808B9A4
-
- thumb_func_start sub_808B9BC
-sub_808B9BC: @ 808B9BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAcroWheelieMoveDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end sub_808B9BC
-
- thumb_func_start npc_use_some_d2s
-npc_use_some_d2s: @ 808B9D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetAcroEndWheelieMoveDirectionMovementAction
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl PlayerSetAnimId
- pop {r0}
- bx r0
- thumb_func_end npc_use_some_d2s
-
- thumb_func_start PlayCollisionSoundIfNotFacingWarp
-@ void PlayCollisionSoundIfNotFacingWarp(u8 direction)
-PlayCollisionSoundIfNotFacingWarp: @ 808B9EC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1E]
- ldr r2, =gUnknown_084974D8
- subs r1, r4, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0808BA54
- cmp r4, 0x2
- bne _0808BA4E
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- movs r0, 0x2
- mov r1, sp
- adds r2, r4, 0
- bl MoveCoords
- 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_IsWarpDoor
- lsls r0, 24
- cmp r0, 0
- bne _0808BA54
-_0808BA4E:
- movs r0, 0x7
- bl PlaySE
-_0808BA54:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayCollisionSoundIfNotFacingWarp
-
- thumb_func_start GetXYCoordsOneStepInFrontOfPlayer
-GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r3, =gEventObjects
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x10]
- strh r0, [r4]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x12]
- strh r0, [r5]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl MoveCoords
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetXYCoordsOneStepInFrontOfPlayer
-
- thumb_func_start PlayerGetDestCoords
-@ void PlayerGetDestCoords(u16 *x, u16 *y)
-PlayerGetDestCoords: @ 808BAAC
- push {r4,r5,lr}
- ldr r5, =gEventObjects
- ldr r4, =gPlayerAvatar
- ldrb r3, [r4, 0x5]
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x10]
- strh r2, [r0]
- ldrb r2, [r4, 0x5]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x12]
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PlayerGetDestCoords
-
- thumb_func_start plaer_get_pos_including_state_based_drift
-plaer_get_pos_including_state_based_drift: @ 808BADC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r3, r0, r1
- ldrb r1, [r3]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- beq _0808BAFC
- b _0808BC24
-_0808BAFC:
- ldr r2, =gSprites
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x32
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0808BB12
- b _0808BC24
-_0808BB12:
- ldrh r0, [r3, 0x10]
- strh r0, [r4]
- ldrh r0, [r3, 0x12]
- strh r0, [r5]
- ldrb r0, [r3, 0x1C]
- subs r0, 0x8
- cmp r0, 0x30
- bls _0808BB24
- b _0808BC24
-_0808BB24:
- lsls r0, 2
- ldr r1, =_0808BB40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0808BB40:
- .4byte _0808BC04
- .4byte _0808BC0A
- .4byte _0808BC14
- .4byte _0808BC1A
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC24
- .4byte _0808BC04
- .4byte _0808BC0A
- .4byte _0808BC14
- .4byte _0808BC1A
-_0808BC04:
- ldrh r0, [r5]
- adds r0, 0x1
- b _0808BC0E
-_0808BC0A:
- ldrh r0, [r5]
- subs r0, 0x1
-_0808BC0E:
- strh r0, [r5]
- movs r0, 0x1
- b _0808BC30
-_0808BC14:
- ldrh r0, [r4]
- subs r0, 0x1
- b _0808BC1E
-_0808BC1A:
- ldrh r0, [r4]
- adds r0, 0x1
-_0808BC1E:
- strh r0, [r4]
- movs r0, 0x1
- b _0808BC30
-_0808BC24:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4]
- strh r0, [r5]
- movs r0, 0
-_0808BC30:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end plaer_get_pos_including_state_based_drift
-
- thumb_func_start GetPlayerFacingDirection
-@ u8 GetPlayerFacingDirection()
-GetPlayerFacingDirection: @ 808BC38
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .pool
- thumb_func_end GetPlayerFacingDirection
-
- thumb_func_start GetPlayerMovementDirection
-@ u8 GetPlayerMovementDirection()
-GetPlayerMovementDirection: @ 808BC58
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsrs r0, 4
- bx lr
- .pool
- thumb_func_end GetPlayerMovementDirection
-
- thumb_func_start PlayerGetZCoord
-@ u8 PlayerGetZCoord()
-PlayerGetZCoord: @ 808BC74
- ldr r2, =gEventObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- bx lr
- .pool
- thumb_func_end PlayerGetZCoord
-
- thumb_func_start sub_808BC90
-sub_808BC90: @ 808BC90
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r0, r1
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- bl sub_808EB08
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808BC90
-
- thumb_func_start TestPlayerAvatarFlags
-@ u32 TestPlayerAvatarFlags(u32 mask)
-TestPlayerAvatarFlags: @ 808BCC0
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1]
- ands r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end TestPlayerAvatarFlags
-
- thumb_func_start sub_808BCD0
-sub_808BCD0: @ 808BCD0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_808BCD0
-
- thumb_func_start GetPlayerAvatarObjectId
-@ u8 GetPlayerAvatarObjectId()
-GetPlayerAvatarObjectId: @ 808BCDC
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end GetPlayerAvatarObjectId
-
- thumb_func_start sub_808BCE8
-sub_808BCE8: @ 808BCE8
- push {lr}
- bl ForcedMovement_None
- pop {r0}
- bx r0
- thumb_func_end sub_808BCE8
-
- thumb_func_start sub_808BCF4
-sub_808BCF4: @ 808BCF4
- push {r4,lr}
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- adds r0, r4, 0
- bl npc_clear_strange_bits
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- bl SetEventObjectDirection
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0808BD2C
- bl Bike_HandleBumpySlopeJump
- movs r0, 0
- bl Bike_UpdateBikeCounterSpeed
-_0808BD2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808BCF4
-
- thumb_func_start GetRivalAvatarGraphicsIdByStateIdAndGender
-GetRivalAvatarGraphicsIdByStateIdAndGender: @ 808BD3C
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_084974E8
- lsrs r0, 23
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end GetRivalAvatarGraphicsIdByStateIdAndGender
-
- thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender
-@ u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 stateId, u8 gender)
-GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 808BD54
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_084974F8
- lsrs r0, 23
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender
-
- thumb_func_start sub_808BD6C
-sub_808BD6C: @ 808BD6C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08497508
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_808BD6C
-
- thumb_func_start sub_808BD7C
-sub_808BD7C: @ 808BD7C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0849750A
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_808BD7C
-
- thumb_func_start GetPlayerAvatarGraphicsIdByStateId
-@ u8 GetPlayerAvatarGraphicsIdByStateId(u8 stateId)
-GetPlayerAvatarGraphicsIdByStateId: @ 808BD8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x7]
- bl GetPlayerAvatarGraphicsIdByStateIdAndGender
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPlayerAvatarGraphicsIdByStateId
-
- thumb_func_start sub_808BDA8
-sub_808BDA8: @ 808BDA8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x70
- beq _0808BDCA
- cmp r0, 0x70
- bgt _0808BDC2
- cmp r0, 0x6D
- bgt _0808BDCE
- cmp r0, 0x69
- blt _0808BDCE
- b _0808BDCA
-_0808BDC2:
- cmp r1, 0x8A
- beq _0808BDCA
- cmp r1, 0xC0
- bne _0808BDCE
-_0808BDCA:
- movs r0, 0x1
- b _0808BDD0
-_0808BDCE:
- movs r0, 0
-_0808BDD0:
- pop {r1}
- bx r1
- thumb_func_end sub_808BDA8
-
- thumb_func_start GetPlayerAvatarGenderByGraphicsId
-@ u8 GetPlayerAvatarGenderByGraphicsId(u8 graphicsId)
-GetPlayerAvatarGenderByGraphicsId: @ 808BDD4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x70
- beq _0808BDF6
- cmp r0, 0x70
- bgt _0808BDEE
- cmp r0, 0x5D
- bgt _0808BDFA
- cmp r0, 0x59
- blt _0808BDFA
- b _0808BDF6
-_0808BDEE:
- cmp r1, 0x8A
- beq _0808BDF6
- cmp r1, 0xC0
- bne _0808BDFA
-_0808BDF6:
- movs r0, 0x1
- b _0808BDFC
-_0808BDFA:
- movs r0, 0
-_0808BDFC:
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarGenderByGraphicsId
-
- thumb_func_start PartyHasMonWithSurf
-@ bool8 PartyHasMonWithSurf()
-PartyHasMonWithSurf: @ 808BE00
- push {r4,r5,lr}
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _0808BE44
- movs r5, 0
- b _0808BE2A
-_0808BE12:
- adds r0, r4, 0
- movs r1, 0x39
- bl pokemon_has_move
- lsls r0, 24
- cmp r0, 0
- beq _0808BE24
- movs r0, 0x1
- b _0808BE46
-_0808BE24:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0808BE2A:
- cmp r5, 0x5
- bhi _0808BE44
- 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
- bne _0808BE12
-_0808BE44:
- movs r0, 0
-_0808BE46:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end PartyHasMonWithSurf
-
- thumb_func_start IsPlayerSurfingNorth
-@ bool8 IsPlayerSurfingNorth()
-IsPlayerSurfingNorth: @ 808BE50
- push {lr}
- bl GetPlayerMovementDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808BE6E
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0808BE6E
- movs r0, 0x1
- b _0808BE70
-_0808BE6E:
- movs r0, 0
-_0808BE70:
- pop {r1}
- bx r1
- thumb_func_end IsPlayerSurfingNorth
-
- thumb_func_start IsPlayerFacingSurfableFishableWater
-@ bool8 IsPlayerFacingSurfableFishableWater()
-IsPlayerFacingSurfableFishableWater: @ 808BE74
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- ldrh r1, [r4, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r4, 0x12]
- mov r5, sp
- adds r5, 0x2
- strh r0, [r5]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- mov r1, sp
- adds r2, r5, 0
- bl MoveCoords
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r5, r0]
- ldrb r3, [r4, 0x18]
- lsls r3, 28
- lsrs r3, 28
- adds r0, r4, 0
- bl GetCollisionAtCoords
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0808BEF4
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0808BEF4
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableFishableWater
- lsls r0, 24
- cmp r0, 0
- beq _0808BEF4
- movs r0, 0x1
- b _0808BEF6
- .pool
-_0808BEF4:
- movs r0, 0
-_0808BEF6:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsPlayerFacingSurfableFishableWater
-
- thumb_func_start ClearPlayerAvatarInfo
-@ void ClearPlayerAvatarInfo()
-ClearPlayerAvatarInfo: @ 808BF00
- push {lr}
- ldr r0, =gPlayerAvatar
- movs r1, 0
- movs r2, 0x24
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearPlayerAvatarInfo
-
- thumb_func_start SetPlayerAvatarStateMask
-@ void SetPlayerAvatarStateMask(u8 stateMask)
-SetPlayerAvatarStateMask: @ 808BF14
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gPlayerAvatar
- ldrb r2, [r3]
- movs r1, 0xE0
- ands r1, r2
- orrs r0, r1
- strb r0, [r3]
- bx lr
- .pool
- thumb_func_end SetPlayerAvatarStateMask
-
- thumb_func_start GetPlayerAvatarStateTransitionByGraphicsId
-@ u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 graphicsId, u8 gender)
-GetPlayerAvatarStateTransitionByGraphicsId: @ 808BF2C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- ldr r3, =gUnknown_0849750C
- lsls r0, r1, 2
- adds r0, r1
- lsls r4, r0, 1
- adds r6, r3, 0x1
-_0808BF42:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r5
- bne _0808BF58
- adds r0, r1, r6
- ldrb r0, [r0]
- b _0808BF64
- .pool
-_0808BF58:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _0808BF42
- movs r0, 0x1
-_0808BF64:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarStateTransitionByGraphicsId
-
- thumb_func_start GetPlayerAvatarGraphicsIdByCurrentState
-@ u8 GetPlayerAvatarGraphicsIdByCurrentState()
-GetPlayerAvatarGraphicsIdByCurrentState: @ 808BF6C
- push {r4-r6,lr}
- ldr r0, =gPlayerAvatar
- ldrb r5, [r0]
- movs r2, 0
- ldr r3, =gUnknown_0849750C
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 2
- adds r0, r1
- lsls r4, r0, 1
- adds r6, r3, 0x1
-_0808BF80:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r1, r6
- ldrb r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _0808BF9C
- adds r0, r1, r3
- ldrb r0, [r0]
- b _0808BFA8
- .pool
-_0808BF9C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _0808BF80
- movs r0, 0
-_0808BFA8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetPlayerAvatarGraphicsIdByCurrentState
-
- thumb_func_start SetPlayerAvatarExtraStateTransition
-@ void SetPlayerAvatarExtraStateTransition(u8 graphicsId, u8 state)
-SetPlayerAvatarExtraStateTransition: @ 808BFB0
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gPlayerAvatar
- ldrb r1, [r5, 0x7]
- bl GetPlayerAvatarStateTransitionByGraphicsId
- lsls r0, 24
- lsrs r0, 24
- orrs r0, r4
- ldrb r1, [r5, 0x1]
- orrs r0, r1
- strb r0, [r5, 0x1]
- bl DoPlayerAvatarTransition
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetPlayerAvatarExtraStateTransition
-
- thumb_func_start InitPlayerAvatar
-@ void InitPlayerAvatar(u16 x, u16 y, u8 direction, u8 gender)
-InitPlayerAvatar: @ 808BFE0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x18
- adds r4, r0, 0
- adds r5, r1, 0
- mov r9, r2
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0
- mov r1, r8
- bl GetPlayerAvatarGraphicsIdByStateIdAndGender
- mov r1, sp
- movs r3, 0
- strb r0, [r1, 0x1]
- mov r0, sp
- lsls r4, 16
- asrs r4, 16
- subs r4, 0x7
- movs r6, 0
- strh r4, [r0, 0x4]
- lsls r5, 16
- asrs r5, 16
- subs r5, 0x7
- strh r5, [r0, 0x6]
- strb r6, [r0, 0x8]
- movs r0, 0xB
- strb r0, [r1, 0x9]
- mov r2, sp
- ldrb r1, [r2, 0xA]
- subs r0, 0x1B
- ands r0, r1
- strb r0, [r2, 0xA]
- mov r0, sp
- strb r6, [r0, 0xA]
- strh r3, [r0, 0xC]
- strh r3, [r0, 0xE]
- str r3, [sp, 0x10]
- strh r3, [r0, 0x14]
- bl SpawnSpecialEventObject
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 3
- adds r4, r5
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- ldrb r0, [r4, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x2]
- bl CreateWarpArrowSprite
- strb r0, [r4, 0x1B]
- adds r0, r4, 0
- mov r1, r9
- bl EventObjectTurn
- bl ClearPlayerAvatarInfo
- ldr r0, =gPlayerAvatar
- strb r6, [r0, 0x2]
- strb r6, [r0, 0x3]
- strb r5, [r0, 0x5]
- ldrb r1, [r4, 0x4]
- strb r1, [r0, 0x4]
- mov r1, r8
- strb r1, [r0, 0x7]
- movs r0, 0x21
- bl SetPlayerAvatarStateMask
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitPlayerAvatar
-
- thumb_func_start sub_808C0A8
-sub_808C0A8: @ 808C0A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gEventObjects
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x1
- ands r4, r0
- lsls r3, r4, 5
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x1]
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0808C100
- ldr r2, =gSprites
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x1A]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- lsls r3, r4, 2
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1]
-_0808C100:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C0A8
-
- thumb_func_start sub_808C114
-sub_808C114: @ 808C114
- push {r4,r5,lr}
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- movs r0, 0x5
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C114
-
- thumb_func_start sub_808C15C
-sub_808C15C: @ 808C15C
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- movs r0, 0x6
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r5, 0
- bl GetFishingDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C15C
-
- thumb_func_start sub_808C1B4
-sub_808C1B4: @ 808C1B4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- movs r0, 0x2
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- mov r8, r0
- add r4, r8
- adds r0, r5, 0
- bl GetAcroWheelieDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrb r1, [r6, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x1
- bl SeekSpriteAnim
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C1B4
-
- thumb_func_start sub_808C228
-sub_808C228: @ 808C228
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- adds r4, r0
- movs r0, 0x7
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r5, 0
- bl GetFaceDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C228
-
- thumb_func_start sub_808C280
-@ void sub_808C280(struct EventObject *playerEventObj);
-sub_808C280: @ 808C280
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r0, [r5, 0x1E]
- mov r8, r0
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- movs r6, 0x1
- ldr r1, =gUnknown_08497520
- mov r9, r1
- mov r4, sp
- mov r7, sp
- adds r7, 0x2
-_0808C2A2:
- movs r1, 0
- ldrsh r0, [r4, r1]
- lsls r0, 2
- add r0, r9
- ldr r1, [r0]
- mov r0, r8
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _0808C2E8
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- cmp r6, r0
- bne _0808C2E8
- ldrh r0, [r5, 0x10]
- strh r0, [r4]
- ldrh r0, [r5, 0x12]
- strh r0, [r7]
- adds r0, r6, 0
- mov r1, sp
- adds r2, r7, 0
- bl MoveCoords
- ldrb r0, [r5, 0x1B]
- movs r1, 0
- ldrsh r2, [r4, r1]
- movs r1, 0
- ldrsh r3, [r7, r1]
- adds r1, r6, 0
- bl ShowWarpArrowSprite
- b _0808C302
- .pool
-_0808C2E8:
- ldrh r1, [r4]
- adds r1, 0x1
- strh r1, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3
- ble _0808C2A2
- ldrb r0, [r5, 0x1B]
- bl SetSpriteInvisible
-_0808C302:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808C280
-
- thumb_func_start task_add_bump_boulder
-task_add_bump_boulder: @ 808C310
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =taskFF_bump_boulder
- adds r0, r6, 0
- movs r1, 0xFF
- 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, 0xA]
- strh r5, [r1, 0xC]
- bl _call_via_r6
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_bump_boulder
-
- thumb_func_start taskFF_bump_boulder
-taskFF_bump_boulder: @ 808C34C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_08497530
- ldr r2, =gTasks
- ldr r5, =gEventObjects
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0808C360:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _0808C360
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end taskFF_bump_boulder
-
- thumb_func_start sub_808C3A4
-sub_808C3A4: @ 808C3A4
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C3A4
-
- thumb_func_start do_boulder_dust
-@ int do_boulder_dust(int a1, struct npc_state *a2, struct npc_state *a3)
-do_boulder_dust: @ 808C3C4
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r5, 0
- bl EventObjectIsHeldMovementActive
- lsls r0, 24
- cmp r0, 0
- beq _0808C3DE
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
-_0808C3DE:
- adds r0, r4, 0
- bl EventObjectIsHeldMovementActive
- lsls r0, 24
- cmp r0, 0
- beq _0808C3F0
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
-_0808C3F0:
- adds r0, r5, 0
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- bne _0808C472
- adds r0, r4, 0
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- bne _0808C472
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- ldrb r0, [r6, 0xC]
- bl GetWalkInPlaceNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectSetHeldMovement
- ldrb r0, [r6, 0xC]
- bl GetWalkSlowMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- ldr r2, =gFieldEffectArguments
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- ldrb r0, [r4, 0xB]
- lsrs r0, 4
- str r0, [r2, 0x8]
- ldr r3, =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r2, 0xC]
- movs r0, 0xA
- bl FieldEffectStart
- movs r0, 0xD6
- bl PlaySE
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_0808C472:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end do_boulder_dust
-
- thumb_func_start sub_808C484
-sub_808C484: @ 808C484
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl EventObjectCheckHeldMovementStatus
- lsls r0, 24
- cmp r0, 0
- beq _0808C4C6
- adds r0, r5, 0
- bl EventObjectCheckHeldMovementStatus
- lsls r0, 24
- cmp r0, 0
- beq _0808C4C6
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- ldr r0, =taskFF_bump_boulder
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808C4C6:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C484
-
- thumb_func_start sub_808C4D8
-sub_808C4D8: @ 808C4D8
- push {r4,lr}
- ldr r4, =sub_808C4F8
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C4D8
-
- thumb_func_start sub_808C4F8
-sub_808C4F8: @ 808C4F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0849753C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0808C50A:
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- lsls r2, 2
- adds r2, r5
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gEventObjects
- adds r1, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _0808C50A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C4F8
-
- thumb_func_start sub_808C544
-sub_808C544: @ 808C544
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r5, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r5, 0x6]
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808C5A0
- movs r0, 0xA
- bl PlaySE
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetJumpInPlaceMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0808C5A0
- movs r0, 0
- strb r0, [r5, 0x6]
- ldrb r0, [r5, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r5, 0x1]
- ldr r0, =sub_808C4F8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808C5A0:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C544
-
- thumb_func_start sub_808C5B0
-sub_808C5B0: @ 808C5B0
- push {r4,lr}
- ldr r4, =sub_808C5D0
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C5B0
-
- thumb_func_start sub_808C5D0
-sub_808C5D0: @ 808C5D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_08497540
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0808C5E2:
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- lsls r2, 2
- adds r2, r5
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gEventObjects
- adds r1, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _0808C5E2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C5D0
-
- thumb_func_start sub_808C61C
-sub_808C61C: @ 808C61C
- push {lr}
- ldrh r2, [r0, 0x8]
- adds r2, 0x1
- strh r2, [r0, 0x8]
- ldrb r1, [r1, 0x18]
- lsrs r1, 4
- strh r1, [r0, 0xA]
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- bl ScriptContext2_Enable
- movs r0, 0x2D
- bl PlaySE
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C61C
-
- thumb_func_start sub_808C644
-sub_808C644: @ 808C644
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_08497550
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808C6AC
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- subs r0, 0x1
- add r0, sp
- ldrb r6, [r0]
- adds r0, r6, 0
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectSetHeldMovement
- ldrb r0, [r4, 0xA]
- cmp r6, r0
- bne _0808C68A
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_0808C68A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _0808C6AC
- ldrb r0, [r4, 0xA]
- bl GetOppositeDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0808C6AC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808C6AC:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C644
-
- thumb_func_start sub_808C6BC
-sub_808C6BC: @ 808C6BC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, =gUnknown_08497554
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808C6EC
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- add r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- movs r0, 0x1
- strh r0, [r5, 0x8]
-_0808C6EC:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C6BC
-
- thumb_func_start sub_808C6FC
-sub_808C6FC: @ 808C6FC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808C740
- ldrb r0, [r4, 0xA]
- bl GetOppositeDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkSlowMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectSetHeldMovement
- bl ScriptContext2_Disable
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- ldr r0, =sub_808C5D0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808C740:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808C6FC
-
- thumb_func_start sub_808C750
-sub_808C750: @ 808C750
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- bl Overworld_ClearSavedMusic
- bl Overworld_ChangeMusicToDefault
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2]
- movs r0, 0xF7
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strb r0, [r2, 0x6]
- ldr r5, =taskFF_0805D1D4
- adds r0, r5, 0
- movs r1, 0xFF
- 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]
- bl _call_via_r5
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C750
-
- thumb_func_start taskFF_0805D1D4
-taskFF_0805D1D4: @ 808C7A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, 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 EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808C7D4
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808C7FC
-_0808C7D4:
- ldrb r0, [r5, 0x1A]
- movs r1, 0x2
- bl sub_81555AC
- ldr r0, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- bl GetJumpSpecialMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectSetHeldMovement
- ldr r0, =sub_808C814
- str r0, [r4]
-_0808C7FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end taskFF_0805D1D4
-
- thumb_func_start sub_808C814
-sub_808C814: @ 808C814
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808C87A
- movs r0, 0
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- movs r0, 0
- strb r0, [r6, 0x6]
- bl ScriptContext2_Disable
- ldrb r1, [r4, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0
- bl DestroyTask
-_0808C87A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808C814
-
- thumb_func_start StartFishing
-StartFishing: @ 808C88C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =Task_Fish
- adds r0, r5, 0
- movs r1, 0xFF
- 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, 0x26]
- bl _call_via_r5
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end StartFishing
-
- thumb_func_start Task_Fish
-Task_Fish: @ 808C8C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0849755C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0808C8D2:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0808C8D2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_Fish
-
- thumb_func_start fish0
-fish0: @ 808C8F8
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish0
-
- thumb_func_start fish1
-fish1: @ 808C918
- push {r4-r6,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r1, =gUnknown_0849759C
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r4, sp, 0x8
- ldr r1, =gUnknown_084975A2
- adds r0, r4, 0
- movs r2, 0x6
- bl memcpy
- movs r0, 0
- strh r0, [r5, 0x20]
- bl Random
- movs r2, 0x26
- ldrsh r1, [r5, r2]
- lsls r1, 1
- mov r2, sp
- adds r6, r2, r1
- lsls r0, 16
- lsrs r0, 16
- adds r4, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl __modsi3
- ldrh r1, [r6]
- adds r1, r0
- strh r1, [r5, 0x22]
- ldr r3, =gEventObjects
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x5]
- strh r0, [r5, 0x24]
- ldrb r0, [r2, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- adds r4, r3
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfActive
- ldrb r0, [r4, 0x1]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_808C15C
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish1
-
- thumb_func_start fish2
-fish2: @ 808C9B0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808CF78
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _0808C9CC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808C9CC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end fish2
-
- thumb_func_start fish3
-fish3: @ 808C9D4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x1
- bl sub_819786C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0808CA0C
- adds r0, r1, 0x4
- strh r0, [r4, 0xE]
-_0808CA0C:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- ble _0808CA18
- movs r0, 0xA
- strh r0, [r4, 0xE]
-_0808CA18:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end fish3
-
- thumb_func_start fish4
-fish4: @ 808CA20
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r1, =gUnknown_084975A8
- add r0, sp, 0xC
- movs r2, 0x2
- bl memcpy
- bl sub_808CF78
- ldrh r0, [r4, 0xA]
- adds r1, r0, 0x1
- strh r1, [r4, 0xA]
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- movs r5, 0x1
- adds r2, r5, 0
- ands r2, r0
- cmp r2, 0
- beq _0808CA64
- movs r0, 0xB
- strh r0, [r4, 0x8]
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0808CA58
- movs r0, 0xC
- strh r0, [r4, 0x8]
-_0808CA58:
- movs r0, 0x1
- b _0808CAB4
- .pool
-_0808CA64:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0808CAB2
- strh r2, [r4, 0xA]
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _0808CA94
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- ldrh r2, [r4, 0x20]
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0808CA8E
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
-_0808CA8E:
- adds r0, r2, 0x1
- strh r0, [r4, 0x20]
- b _0808CAB2
-_0808CA94:
- movs r0, 0xC
- ldrsh r3, [r4, r0]
- lsls r3, 27
- lsrs r3, 24
- str r5, [sp]
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_0808CAB2:
- movs r0, 0
-_0808CAB4:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end fish4
-
- thumb_func_start fish5
-fish5: @ 808CABC
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_808CF78
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r6, 0
- bl DoesCurrentMapHaveFishingMons
- lsls r0, 24
- cmp r0, 0
- bne _0808CADC
- movs r0, 0xB
- strh r0, [r5, 0x8]
- b _0808CB5C
-_0808CADC:
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _0808CB14
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- beq _0808CAFC
- cmp r0, 0x3C
- bne _0808CB14
-_0808CAFC:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _0808CB14
- movs r6, 0x1
-_0808CB14:
- cmp r6, 0
- bne _0808CB32
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808CB30
- movs r0, 0xB
- strh r0, [r5, 0x8]
- b _0808CB32
- .pool
-_0808CB30:
- movs r6, 0x1
-_0808CB32:
- cmp r6, 0x1
- bne _0808CB5C
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFishingBiteDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_0808CB5C:
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish5
-
- thumb_func_start fish6
-fish6: @ 808CB6C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- bl sub_808CF78
- ldr r2, =gText_OhABite
- movs r0, 0x11
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- strh r4, [r5, 0xA]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish6
-
- thumb_func_start fish7
-fish7: @ 808CBA4
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_084975AA
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- bl sub_808CF78
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- lsls r1, 16
- asrs r1, 16
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- blt _0808CBDC
- movs r0, 0xC
- b _0808CBEC
- .pool
-_0808CBDC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808CBEE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
-_0808CBEC:
- strh r0, [r4, 0x8]
-_0808CBEE:
- movs r0, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish7
-
- thumb_func_start fish8
-fish8: @ 808CBFC
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r1, =gUnknown_084975B0
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- bl sub_808CF78
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _0808CC52
- cmp r1, 0x1
- bgt _0808CC56
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- movs r3, 0x20
- ldrsh r2, [r4, r3]
- lsls r2, 1
- movs r3, 0x26
- ldrsh r1, [r4, r3]
- lsls r1, 2
- adds r2, r1
- mov r3, sp
- adds r1, r3, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- ble _0808CC56
-_0808CC52:
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_0808CC56:
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish8
-
- thumb_func_start fish9
-fish9: @ 808CC64
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- bl sub_808CF78
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_PokemonOnHook
- movs r5, 0
- str r5, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- strh r5, [r4, 0xA]
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fish9
-
- thumb_func_start fishA_wait_for_a_pressed
-fishA_wait_for_a_pressed: @ 808CCA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0808CCBC
- bl sub_808CF78
-_0808CCBC:
- bl RunTextPrinters
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0808CD58
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- bne _0808CD50
- ldr r7, =gPlayerAvatar
- ldrb r0, [r7, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- mov r8, r0
- add r4, r8
- ldrh r1, [r5, 0x24]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0808CD1A
- ldrb r0, [r7, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r0, [r1, 0x1A]
- movs r1, 0
- movs r2, 0
- bl sub_8155604
-_0808CD1A:
- ldr r2, =gSprites
- ldrb r1, [r7, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r6, [r0, 0x24]
- ldrb r1, [r7, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r6, [r0, 0x26]
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _0808CD80
- .pool
-_0808CD50:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0808CD80
-_0808CD58:
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- ldrh r0, [r5, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl FishingWildEncounter
- movs r0, 0x1
- bl sub_80ED950
- ldr r0, =Task_Fish
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808CD80:
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fishA_wait_for_a_pressed
-
- thumb_func_start fishB
-fishB: @ 808CD94
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- bl sub_808CF78
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFishingNoCatchDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_NotEvenANibble
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized2
- movs r0, 0xD
- strh r0, [r5, 0x8]
- movs r0, 0x1
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fishB
-
- thumb_func_start fishC
-fishC: @ 808CE04
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- bl sub_808CF78
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFishingNoCatchDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_ItGotAway
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized2
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fishC
-
- thumb_func_start fishD
-fishD: @ 808CE74
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808CF78
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end fishD
-
- thumb_func_start fishE
-fishE: @ 808CE8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- bl sub_808CF78
- ldr r7, =gSprites
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3F
- ldrb r0, [r1]
- lsls r0, 27
- cmp r0, 0
- bge _0808CF12
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gEventObjects
- mov r8, r0
- add r4, r8
- ldrh r1, [r6, 0x24]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetGraphicsId
- ldrb r1, [r4, 0x18]
- lsrs r1, 4
- adds r0, r4, 0
- bl EventObjectTurn
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0808CEF2
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r0, [r1, 0x1A]
- movs r1, 0
- movs r2, 0
- bl sub_8155604
-_0808CEF2:
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- movs r2, 0
- strh r2, [r0, 0x24]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_0808CF12:
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end fishE
-
- thumb_func_start fishF
-fishF: @ 808CF2C
- push {lr}
- bl RunTextPrinters
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _0808CF68
- ldr r0, =gPlayerAvatar
- strb r1, [r0, 0x6]
- bl ScriptContext2_Disable
- bl UnfreezeEventObjects
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- movs r0, 0
- bl sub_80ED950
- ldr r0, =Task_Fish
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808CF68:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end fishF
-
- thumb_func_start sub_808CF78
-sub_808CF78: @ 808CF78
- push {r4-r7,lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r0, r4, 0
- bl AnimateSprite
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r5, [r0]
- movs r0, 0x2A
- adds r0, r4
- mov r12, r0
- ldrb r0, [r0]
- ldr r1, [r4, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r6, r5, 2
- adds r0, r6, r0
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r7, 0x1
- negs r7, r7
- cmp r0, r7
- beq _0808CFEA
- adds r3, r4, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- lsls r1, r2, 26
- lsrs r1, 26
- adds r1, 0x1
- movs r0, 0x3F
- ands r1, r0
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- mov r1, r12
- ldrb r0, [r1]
- ldr r1, [r4, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, r6, r0
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, r7
- bne _0808CFF0
-_0808CFEA:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0808CFF0:
- adds r0, r4, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- ldr r1, [r4, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r5, 2
- adds r0, r1
- ldrb r5, [r0]
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0808D022
- movs r0, 0x8
- strh r0, [r4, 0x24]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0808D022
- ldr r0, =0x0000fff8
- strh r0, [r4, 0x24]
-_0808D022:
- cmp r5, 0x5
- bne _0808D02A
- ldr r0, =0x0000fff8
- strh r0, [r4, 0x26]
-_0808D02A:
- adds r0, r5, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0808D03A
- movs r0, 0x8
- strh r0, [r4, 0x26]
-_0808D03A:
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0808D05E
- ldr r2, =gEventObjects
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1A]
- movs r1, 0x26
- ldrsh r2, [r4, r1]
- movs r1, 0x1
- bl sub_8155604
-_0808D05E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808CF78
-
- thumb_func_start sub_808D074
-sub_808D074: @ 808D074
- ldr r1, =gUnknown_0203734C
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_808D074
-
- thumb_func_start sub_808D080
-sub_808D080: @ 808D080
- push {lr}
- ldr r1, =gUnknown_0203734C
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808D08C
- movs r0, 0x1
-_0808D08C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808D080
-
- thumb_func_start sub_808D094
-sub_808D094: @ 808D094
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r7, r0, r1
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0
- ldrsh r6, [r5, r0]
- cmp r6, 0x1
- beq _0808D14A
- cmp r6, 0x1
- bgt _0808D0E8
- cmp r6, 0
- beq _0808D0EE
- b _0808D18A
- .pool
-_0808D0E8:
- cmp r6, 0x2
- beq _0808D184
- b _0808D18A
-_0808D0EE:
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808D18A
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_808D074
- movs r1, 0
- mov r8, r1
- strh r6, [r5, 0x2]
- movs r0, 0x1
- strh r0, [r5, 0x4]
- ldrh r0, [r7, 0x26]
- ldrh r2, [r7, 0x22]
- adds r0, r2
- lsls r0, 4
- strh r0, [r5, 0x6]
- strh r6, [r7, 0x26]
- bl CameraObjectReset2
- ldrb r0, [r4, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r7, 0x5]
- adds r0, r7, 0
- adds r0, 0x43
- mov r1, r8
- strb r1, [r0]
- adds r2, r7, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0808D14A:
- adds r1, r5, 0x2
- adds r0, r4, 0
- bl sub_808D38C
- ldrh r0, [r5, 0x6]
- ldrh r1, [r5, 0x4]
- subs r0, r1
- strh r0, [r5, 0x6]
- adds r1, 0x3
- strh r1, [r5, 0x4]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r7, 0x22]
- movs r2, 0x22
- ldrsh r1, [r7, r2]
- ldr r0, =gUnknown_03005DE8
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r1, r0
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- bge _0808D18A
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0808D18A
- .pool
-_0808D184:
- adds r0, r2, 0
- bl DestroyTask
-_0808D18A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808D094
-
- thumb_func_start sub_808D194
-sub_808D194: @ 808D194
- push {r4,lr}
- ldr r4, =sub_808D1FC
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808D194
-
- thumb_func_start sub_808D1B4
-sub_808D1B4: @ 808D1B4
- push {lr}
- ldr r0, =sub_808D1FC
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808D1B4
-
- thumb_func_start sub_808D1C8
-sub_808D1C8: @ 808D1C8
- push {r4,lr}
- ldr r4, =sub_808D094
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808D1C8
-
- thumb_func_start sub_808D1E8
-sub_808D1E8: @ 808D1E8
- push {lr}
- ldr r0, =sub_808D094
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808D1E8
-
- thumb_func_start sub_808D1FC
-sub_808D1FC: @ 808D1FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r7, r0, r1
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r2, 0
- ldrsh r6, [r5, r2]
- cmp r6, 0x1
- beq _0808D2DE
- cmp r6, 0x1
- bgt _0808D254
- cmp r6, 0
- beq _0808D25E
- b _0808D37E
- .pool
-_0808D254:
- cmp r6, 0x2
- beq _0808D31C
- cmp r6, 0x3
- beq _0808D33A
- b _0808D37E
-_0808D25E:
- bl sub_808D080
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- ldr r1, =gUnknown_084975BC
- movs r3, 0xA
- ldrsh r0, [r5, r3]
- adds r0, r1
- ldrb r0, [r0]
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectForceSetHeldMovement
- movs r0, 0
- mov r9, r0
- strh r6, [r5, 0x2]
- movs r0, 0x74
- strh r0, [r5, 0x4]
- ldrh r0, [r7, 0x22]
- strh r0, [r5, 0x8]
- ldrb r0, [r7, 0x5]
- lsls r0, 28
- lsrs r0, 30
- strh r0, [r5, 0xC]
- movs r1, 0x43
- adds r1, r7
- mov r8, r1
- ldrb r0, [r1]
- strh r0, [r5, 0xE]
- ldrh r0, [r7, 0x26]
- adds r0, 0x20
- negs r0, r0
- lsls r0, 4
- strh r0, [r5, 0x6]
- strh r6, [r7, 0x26]
- bl CameraObjectReset2
- ldrb r0, [r4, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r4, 0x3]
- ldrb r1, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r7, 0x5]
- mov r3, r9
- mov r2, r8
- strb r3, [r2]
- adds r2, r7, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0808D2DE:
- adds r1, r5, 0x2
- adds r0, r4, 0
- bl sub_808D38C
- ldrh r0, [r5, 0x4]
- ldrh r2, [r5, 0x6]
- adds r1, r0, r2
- strh r1, [r5, 0x6]
- subs r0, 0x3
- strh r0, [r5, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bgt _0808D2FE
- movs r0, 0x4
- strh r0, [r5, 0x4]
-_0808D2FE:
- ldrh r0, [r5, 0x6]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r7, 0x22]
- ldrh r2, [r5, 0x8]
- movs r3, 0x8
- ldrsh r1, [r5, r3]
- cmp r0, r1
- blt _0808D37E
- strh r2, [r7, 0x22]
- movs r0, 0
- strh r0, [r5, 0x10]
- b _0808D332
- .pool
-_0808D31C:
- adds r1, r5, 0x2
- adds r0, r4, 0
- bl sub_808D38C
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0808D37E
-_0808D332:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0808D37E
-_0808D33A:
- movs r0, 0xA
- ldrsh r6, [r5, r0]
- adds r1, r5, 0x2
- adds r0, r4, 0
- bl sub_808D38C
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0808D37E
- ldrb r1, [r4, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0x3
- ldrb r1, [r5, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- ldrh r1, [r5, 0xE]
- adds r0, r7, 0
- adds r0, 0x43
- strb r1, [r0]
- bl CameraObjectReset1
- mov r0, r8
- bl DestroyTask
-_0808D37E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808D1FC
-
- thumb_func_start sub_808D38C
-sub_808D38C: @ 808D38C
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldrh r1, [r6]
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0x7
- bgt _0808D3A8
- adds r0, r1, 0x1
- strh r0, [r6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0808D3E4
-_0808D3A8:
- adds r0, r5, 0
- bl EventObjectCheckHeldMovementStatus
- lsls r0, 24
- cmp r0, 0
- beq _0808D3E4
- ldr r4, =gUnknown_084975BC
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r4
- ldrb r0, [r0]
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectForceSetHeldMovement
- movs r0, 0
- strh r0, [r6]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r4
- ldrb r0, [r0]
- b _0808D3EA
- .pool
-_0808D3E4:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
-_0808D3EA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808D38C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_screen.s b/asm/field_screen.s
index c11aef1b4..8a97644ac 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -7851,7 +7851,7 @@ palette_bg_faded_fill_black: @ 80AF020
thumb_func_start pal_fill_for_maplights
pal_fill_for_maplights: @ 80AF040
push {r4,lr}
- bl get_map_light_from_warp0
+ bl GetLastUsedWarpMapType
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
diff --git a/asm/fire.s b/asm/fire.s
new file mode 100644
index 000000000..cd0339b9b
--- /dev/null
+++ b/asm/fire.s
@@ -0,0 +1,2397 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8108EC8
+sub_8108EC8: @ 8108EC8
+ 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, =sub_80A634C
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8108EC8
+
+ thumb_func_start sub_8108F08
+sub_8108F08: @ 8108F08
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, =gBattleAnimArgs
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ adds r0, r4, 0
+ bl sub_80A6864
+ ldrh r0, [r5, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r5, 0x8]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r5, 0x6]
+ strh r0, [r4, 0x32]
+ ldr r0, =sub_80A656C
+ str r0, [r4, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8108F08
+
+ thumb_func_start sub_8108F4C
+sub_8108F4C: @ 8108F4C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08108F88
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r4, 0x20]
+ ldrh r1, [r2]
+ subs r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r2, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r2, 0x8]
+ negs r0, r0
+ strh r0, [r4, 0x32]
+ adds r1, r2, 0
+ b _08108F9E
+ .pool
+_08108F88:
+ 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]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x32]
+_08108F9E:
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x36]
+ ldrh r0, [r1, 0xA]
+ strh r0, [r4, 0x34]
+ ldr r0, =sub_8109028
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8108F4C
+
+ thumb_func_start sub_8108FBC
+sub_8108FBC: @ 8108FBC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08108FF0
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r4, 0x20]
+ ldrh r1, [r2]
+ subs r0, r1
+ strh r0, [r4, 0x20]
+ ldrh r0, [r2, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ strh r0, [r4, 0x22]
+ ldrh r0, [r2, 0x8]
+ strh r0, [r4, 0x32]
+ adds r1, r2, 0
+ b _08109008
+ .pool
+_08108FF0:
+ 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]
+ ldrh r0, [r1, 0x8]
+ negs r0, r0
+ strh r0, [r4, 0x32]
+_08109008:
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x36]
+ ldrh r0, [r1, 0xA]
+ strh r0, [r4, 0x34]
+ ldr r0, =sub_8109028
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8108FBC
+
+ thumb_func_start sub_8109028
+sub_8109028: @ 8109028
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ movs r3, 0x36
+ ldrsh r1, [r2, r3]
+ cmp r0, r1
+ bge _0810904E
+ ldrh r0, [r2, 0x32]
+ ldrh r1, [r2, 0x24]
+ adds r0, r1
+ strh r0, [r2, 0x24]
+ ldrh r0, [r2, 0x34]
+ ldrh r3, [r2, 0x26]
+ adds r0, r3
+ strh r0, [r2, 0x26]
+_0810904E:
+ movs r0, 0x2E
+ ldrsh r1, [r2, r0]
+ movs r3, 0x30
+ ldrsh r0, [r2, r3]
+ cmp r1, r0
+ bne _08109060
+ adds r0, r2, 0
+ bl move_anim_8074EE0
+_08109060:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8109028
+
+ thumb_func_start sub_8109064
+sub_8109064: @ 8109064
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80A6838
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08109090
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r4, 0x20]
+ ldrh r2, [r0]
+ subs r1, r2
+ strh r1, [r4, 0x20]
+ b _081090A2
+ .pool
+_08109090:
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0]
+ ldrh r2, [r4, 0x20]
+ adds r1, r2
+ strh r1, [r4, 0x20]
+ adds r2, r4, 0
+ adds r2, 0x43
+ movs r1, 0x8
+ strb r1, [r2]
+_081090A2:
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x2]
+ ldrh r1, [r4, 0x22]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r4, 0x22]
+ ldrh r0, [r2, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r2, 0x6]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r2, 0x8]
+ strh r0, [r4, 0x32]
+ ldrh r0, [r2, 0xA]
+ strh r0, [r4, 0x34]
+ ldrh r0, [r2, 0xC]
+ strh r0, [r4, 0x36]
+ strh r1, [r4, 0x38]
+ ldr r0, =sub_81090D8
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109064
+
+ thumb_func_start sub_81090D8
+sub_81090D8: @ 81090D8
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x34
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08109160
+ movs r2, 0x38
+ ldrsh r1, [r4, r2]
+ ldr r0, =0x00002710
+ cmp r1, r0
+ ble _081090F6
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1
+ strb r0, [r1]
+_081090F6:
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ ldrh r1, [r4, 0x38]
+ lsls r1, 16
+ asrs r1, 24
+ ldrh r2, [r4, 0x30]
+ adds r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ ldrh r1, [r4, 0x38]
+ lsls r1, 16
+ asrs r1, 24
+ ldrh r2, [r4, 0x30]
+ adds r1, r2
+ lsls r1, 16
+ asrs r1, 16
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x32]
+ ldrh r2, [r4, 0x2E]
+ adds r1, r0, r2
+ strh r1, [r4, 0x2E]
+ ldrh r0, [r4, 0x36]
+ ldrh r2, [r4, 0x38]
+ adds r0, r2
+ strh r0, [r4, 0x38]
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _0810914C
+ ldr r2, =0xffffff00
+ b _08109154
+ .pool
+_0810914C:
+ cmp r0, 0
+ bge _08109158
+ movs r2, 0x80
+ lsls r2, 1
+_08109154:
+ adds r0, r1, r2
+ strh r0, [r4, 0x2E]
+_08109158:
+ ldrh r0, [r4, 0x34]
+ subs r0, 0x1
+ strh r0, [r4, 0x34]
+ b _08109166
+_08109160:
+ adds r0, r4, 0
+ bl move_anim_8074EE0
+_08109166:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81090D8
+
+ thumb_func_start sub_810916C
+sub_810916C: @ 810916C
+ push {lr}
+ movs r1, 0
+ strh r1, [r0, 0x20]
+ strh r1, [r0, 0x22]
+ movs r1, 0x3C
+ strh r1, [r0, 0x2E]
+ movs r1, 0x8C
+ strh r1, [r0, 0x32]
+ movs r1, 0x50
+ strh r1, [r0, 0x36]
+ ldr r1, =StartAnimLinearTranslation
+ str r1, [r0, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ bl StoreSpriteCallbackInData6
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810916C
+
+ thumb_func_start sub_8109198
+sub_8109198: @ 8109198
+ push {r4-r6,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 _081091DE
+ movs r0, 0x2
+ bl GetBattlerAtPosition
+ ldrb r1, [r5]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ beq _081091D6
+ movs r0, 0x3
+ bl GetBattlerAtPosition
+ ldrb r1, [r5]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _081091DE
+_081091D6:
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_081091DE:
+ ldr r1, =sub_80A7938
+ str r1, [r6, 0x1C]
+ adds r0, r6, 0
+ bl _call_via_r1
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109198
+
+ thumb_func_start sub_8109200
+sub_8109200: @ 8109200
+ ldr r2, =gBattleAnimArgs
+ ldrh r1, [r2]
+ negs r1, r1
+ strh r1, [r2]
+ ldrh r1, [r2, 0x4]
+ negs r1, r1
+ strh r1, [r2, 0x4]
+ ldr r1, =sub_80A7938
+ str r1, [r0, 0x1C]
+ bx lr
+ .pool
+ thumb_func_end sub_8109200
+
+ thumb_func_start sub_810921C
+sub_810921C: @ 810921C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ movs r1, 0
+ strh r0, [r4, 0x3C]
+ strh r1, [r4, 0x2E]
+ ldr r0, =sub_8109244
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810921C
+
+ thumb_func_start sub_8109244
+sub_8109244: @ 8109244
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_8109338
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x12
+ bne _0810928E
+ movs r0, 0x19
+ 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
+ ldr r0, =sub_810929C
+ str r0, [r5, 0x1C]
+_0810928E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109244
+
+ thumb_func_start sub_810929C
+sub_810929C: @ 810929C
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _081092E4
+ movs r4, 0
+ strh r4, [r6, 0x2E]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x20]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r6, 0x22]
+ strh r4, [r6, 0x26]
+ strh r4, [r6, 0x24]
+ ldr r1, =sub_8109314
+ str r1, [r6, 0x1C]
+ adds r0, r6, 0
+ bl _call_via_r1
+ b _0810930E
+ .pool
+_081092E4:
+ movs r1, 0x3C
+ ldrsh r0, [r6, r1]
+ movs r1, 0x1C
+ bl Sin
+ ldrh r1, [r6, 0x24]
+ adds r0, r1
+ strh r0, [r6, 0x24]
+ movs r1, 0x3C
+ ldrsh r0, [r6, r1]
+ movs r1, 0x1C
+ bl Cos
+ ldrh r1, [r6, 0x26]
+ adds r0, r1
+ strh r0, [r6, 0x26]
+ ldrh r0, [r6, 0x3C]
+ adds r0, 0x14
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r6, 0x3C]
+_0810930E:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810929C
+
+ thumb_func_start sub_8109314
+sub_8109314: @ 8109314
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8109338
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _08109330
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08109330:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8109314
+
+ thumb_func_start sub_8109338
+sub_8109338: @ 8109338
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ movs r1, 0x1C
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ movs r1, 0x1C
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x14
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x3C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8109338
+
+ thumb_func_start sub_8109364
+sub_8109364: @ 8109364
+ 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]
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x8]
+ strh r0, [r4, 0x32]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ ldr r0, =sub_80A653C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109364
+
+ thumb_func_start sub_81093A4
+sub_81093A4: @ 81093A4
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x30]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x2E]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r4, 0x1C]
+ ldr r1, =sub_81093E4
+ adds r0, r4, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81093A4
+
+ thumb_func_start sub_81093E4
+sub_81093E4: @ 81093E4
+ push {lr}
+ adds r3, r0, 0
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r3]
+ ldrh r1, [r0, 0x30]
+ movs r2, 0
+ strh r1, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ ldr r1, =sub_810940C
+ str r1, [r0, 0x1C]
+ bl _call_via_r1
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81093E4
+
+ thumb_func_start sub_810940C
+sub_810940C: @ 810940C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ ldrh r1, [r4, 0x32]
+ lsls r1, 16
+ asrs r1, 24
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ ldrh r1, [r4, 0x32]
+ lsls r1, 16
+ asrs r1, 24
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0xA
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0xD0
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _08109458
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08109458:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810940C
+
+ thumb_func_start sub_8109460
+sub_8109460: @ 8109460
+ push {r4,r5,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
+ movs r5, 0
+ strh r0, [r4, 0x26]
+ strh r5, [r4, 0x8]
+ strh r5, [r4, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ 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, 0x10]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x12]
+ strh r5, [r4, 0x14]
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_80A7270
+ ldr r0, =sub_81094D0
+ str r0, [r4]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109460
+
+ thumb_func_start sub_81094D0
+sub_81094D0: @ 81094D0
+ push {r4,r5,lr}
+ sub sp, 0xC
+ 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, 0x6
+ bls _081094EC
+ b _081097AA
+_081094EC:
+ lsls r0, 2
+ ldr r1, =_08109500
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08109500:
+ .4byte _0810951C
+ .4byte _08109542
+ .4byte _081095F4
+ .4byte _08109654
+ .4byte _08109672
+ .4byte _08109748
+ .4byte _0810979C
+_0810951C:
+ 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]
+_08109542:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0810958A
+ 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 _08109578
+ 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
+ b _08109588
+ .pool
+_08109578:
+ 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
+_08109588:
+ strh r1, [r0, 0x24]
+_0810958A:
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _081095B8
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ ble _081095B8
+ movs r0, 0
+ strh r0, [r4, 0xE]
+ 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, 0x22]
+ adds r1, 0x1
+ strh r1, [r0, 0x22]
+_081095B8:
+ adds r0, r4, 0
+ bl sub_80A80C8
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _081095C8
+ b _081097AA
+_081095C8:
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A7E6C
+ 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, 0xA]
+ strh r5, [r4, 0xC]
+ strh r5, [r4, 0xE]
+ b _08109790
+ .pool
+_081095F4:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ bgt _08109604
+ b _081097AA
+_08109604:
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0810962E
+ 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, 0xF0
+ str r0, [sp, 0x4]
+ movs r0, 0x6
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r2, 0xE0
+ bl sub_80A805C
+ b _0810964E
+_0810962E:
+ 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, 0xC0
+ str r0, [sp, 0x4]
+ movs r0, 0x6
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r2, 0xE0
+ bl sub_80A805C
+_0810964E:
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ b _08109790
+_08109654:
+ adds r0, r4, 0
+ bl sub_80A80C8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08109662
+ b _081097AA
+_08109662:
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r5, 0
+ movs r2, 0x6
+ bl sub_81097B4
+ b _08109790
+_08109672:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _081096C0
+ 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 _081096AC
+ 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, 0x3
+ b _081096BE
+ .pool
+_081096AC:
+ 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, 0x3
+_081096BE:
+ strh r1, [r0, 0x26]
+_081096C0:
+ ldrh r0, [r4, 0xE]
+ adds r0, 0x1
+ strh r0, [r4, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x18
+ ble _081097AA
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _081096FC
+ 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, 0xF0
+ bl sub_80A805C
+ b _0810971A
+ .pool
+_081096FC:
+ 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, 0xC0
+ bl sub_80A805C
+_0810971A:
+ ldrh r1, [r4, 0xC]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08109738
+ 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, 0x3
+ strh r1, [r0, 0x26]
+_08109738:
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ strh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ b _08109790
+ .pool
+_08109748:
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08109764
+ 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, 0x22]
+ subs r1, 0x1
+ strh r1, [r0, 0x22]
+_08109764:
+ adds r0, r4, 0
+ bl sub_80A80C8
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ bne _081097AA
+ 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, [r4, 0x10]
+ strh r1, [r0, 0x22]
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80A7344
+ strh r5, [r4, 0xC]
+_08109790:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _081097AA
+ .pool
+_0810979C:
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081097AA
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_081097AA:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81094D0
+
+ thumb_func_start sub_81097B4
+sub_81097B4: @ 81097B4
+ 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
+ lsls r1, 24
+ lsrs r7, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ adds r0, r4, 0
+ bl sub_8109930
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ ldrh r4, [r0, 0x20]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810980C
+ adds r0, r4, 0
+ subs r0, 0xC
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0x1
+ b _08109816
+ .pool
+_0810980C:
+ adds r0, r4, 0
+ adds r0, 0x10
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0xFF
+_08109816:
+ movs r6, 0
+ movs r5, 0
+ lsls r4, 16
+ str r4, [sp, 0x8]
+ mov r1, r9
+ lsls r1, 16
+ str r1, [sp, 0x4]
+ ldr r2, =gUnknown_085955CC
+ mov r9, r2
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r3, r8
+ lsls r3, 1
+ mov r10, r3
+_08109834:
+ ldr r0, =gUnknown_085955B4
+ ldr r2, [sp, 0x8]
+ asrs r1, r2, 16
+ ldr r3, [sp, 0x4]
+ asrs r2, r3, 16
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _081098B6
+ ldr r1, =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r4, r0, r1
+ ldrh r2, [r4, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ lsls r0, r5, 2
+ adds r0, 0x40
+ adds r1, r0
+ ldr r3, =0x000003ff
+ adds r0, r3, 0
+ ands r1, r0
+ ldr r3, =0xfffffc00
+ adds r0, r3, 0
+ ands r2, r0
+ orrs r2, r1
+ strh r2, [r4, 0x4]
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x4
+ bls _0810987E
+ movs r5, 0
+_0810987E:
+ lsls r2, r6, 2
+ mov r1, r9
+ adds r0, r2, r1
+ ldrh r0, [r0]
+ ldr r3, [sp]
+ adds r1, r0, 0
+ muls r1, r3
+ lsls r1, 16
+ asrs r1, 16
+ ldr r0, =gUnknown_085955CC+2
+ adds r2, r0
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ adds r0, r4, 0
+ bl sub_8109984
+ strh r7, [r4, 0x3A]
+ mov r0, r8
+ strh r0, [r4, 0x3C]
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ add r0, r10
+ ldr r1, =gTasks + 0x8
+ adds r0, r1
+ ldrh r1, [r0]
+ adds r1, 0x1
+ strh r1, [r0]
+_081098B6:
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0x6
+ bls _08109834
+ 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_81097B4
+
+ thumb_func_start sub_81098EC
+sub_81098EC: @ 81098EC
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_81099A0
+ adds r0, r4, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08109926
+ 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
+_08109926:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81098EC
+
+ thumb_func_start sub_8109930
+sub_8109930: @ 8109930
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrh r2, [r1, 0x26]
+ ldrh r0, [r1, 0x22]
+ adds r2, r0
+ adds r1, 0x29
+ movs r0, 0
+ ldrsb r0, [r1, r0]
+ adds r0, r2
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08109970
+ lsls r0, r4, 16
+ movs r1, 0x94
+ lsls r1, 15
+ b _08109976
+ .pool
+_08109970:
+ lsls r0, r4, 16
+ movs r1, 0xB0
+ lsls r1, 14
+_08109976:
+ adds r0, r1
+ lsrs r4, r0, 16
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8109930
+
+ thumb_func_start sub_8109984
+sub_8109984: @ 8109984
+ movs r3, 0
+ strh r3, [r0, 0x2E]
+ strh r3, [r0, 0x30]
+ ldrh r3, [r0, 0x20]
+ lsls r3, 3
+ strh r3, [r0, 0x32]
+ ldrh r3, [r0, 0x22]
+ lsls r3, 3
+ strh r3, [r0, 0x34]
+ lsls r1, 3
+ strh r1, [r0, 0x36]
+ lsls r2, 3
+ strh r2, [r0, 0x38]
+ bx lr
+ thumb_func_end sub_8109984
+
+ thumb_func_start sub_81099A0
+sub_81099A0: @ 81099A0
+ 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, 0x2
+ ble _081099CA
+ movs r0, 0
+ strh r0, [r2, 0x2E]
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ ldrh r0, [r2, 0x30]
+ adds r1, r0, 0
+ muls r1, r0
+ adds r0, r1, 0
+ ldrh r3, [r2, 0x34]
+ adds r0, r3
+ strh r0, [r2, 0x34]
+_081099CA:
+ ldrh r0, [r2, 0x36]
+ ldrh r1, [r2, 0x32]
+ adds r0, r1
+ strh r0, [r2, 0x32]
+ lsls r0, 16
+ asrs r0, 19
+ strh r0, [r2, 0x20]
+ ldrh r1, [r2, 0x38]
+ ldrh r3, [r2, 0x34]
+ adds r1, r3
+ strh r1, [r2, 0x34]
+ lsls r1, 16
+ asrs r3, r1, 19
+ strh r3, [r2, 0x22]
+ adds r0, 0x8
+ lsls r0, 16
+ movs r1, 0x80
+ lsls r1, 17
+ cmp r0, r1
+ bhi _08109A00
+ adds r1, r3, 0
+ movs r0, 0x8
+ negs r0, r0
+ cmp r1, r0
+ blt _08109A00
+ cmp r1, 0x78
+ ble _08109A0C
+_08109A00:
+ adds r0, r2, 0
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+_08109A0C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81099A0
+
+ thumb_func_start sub_8109A10
+sub_8109A10: @ 8109A10
+ push {r4,r5,lr}
+ ldr r3, =gBattleAnimArgs
+ ldrh r1, [r3]
+ movs r2, 0
+ strh r1, [r0, 0x20]
+ ldrh r1, [r3, 0x2]
+ strh r1, [r0, 0x22]
+ strh r2, [r0, 0x2E]
+ strh r2, [r0, 0x30]
+ strh r2, [r0, 0x32]
+ ldrh r1, [r3, 0x4]
+ strh r1, [r0, 0x3A]
+ ldrh r1, [r3, 0x6]
+ strh r1, [r0, 0x3C]
+ ldrh r4, [r0, 0x4]
+ lsls r2, r4, 22
+ lsrs r2, 22
+ movs r5, 0x8
+ ldrsh r1, [r3, r5]
+ lsls r1, 4
+ adds r2, r1
+ ldr r3, =0x000003ff
+ adds r1, r3, 0
+ ands r2, r1
+ ldr r1, =0xfffffc00
+ ands r1, r4
+ orrs r1, r2
+ strh r1, [r0, 0x4]
+ ldr r1, =sub_8109A64
+ str r1, [r0, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109A10
+
+ thumb_func_start sub_8109A64
+sub_8109A64: @ 8109A64
+ push {r4,lr}
+ adds r2, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r2, r1]
+ cmp r0, 0x1
+ beq _08109A96
+ cmp r0, 0x1
+ bgt _08109A7A
+ cmp r0, 0
+ beq _08109A80
+ b _08109AF4
+_08109A7A:
+ cmp r0, 0x2
+ beq _08109AB4
+ b _08109AF4
+_08109A80:
+ ldrh r1, [r2, 0x3A]
+ movs r3, 0x3A
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ beq _08109A90
+ subs r0, r1, 0x1
+ strh r0, [r2, 0x3A]
+ b _08109AF4
+_08109A90:
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+_08109A96:
+ ldrh r0, [r2, 0x22]
+ adds r0, 0x8
+ strh r0, [r2, 0x22]
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r3, [r2, 0x3C]
+ movs r4, 0x3C
+ ldrsh r1, [r2, r4]
+ cmp r0, r1
+ blt _08109AF4
+ strh r3, [r2, 0x22]
+ ldrh r0, [r2, 0x2E]
+ adds r0, 0x1
+ strh r0, [r2, 0x2E]
+ b _08109AF4
+_08109AB4:
+ ldrh r0, [r2, 0x30]
+ adds r0, 0x1
+ strh r0, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08109AE0
+ movs r0, 0
+ strh r0, [r2, 0x30]
+ ldrh r0, [r2, 0x32]
+ adds r0, 0x1
+ strh r0, [r2, 0x32]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08109ADC
+ ldr r0, =0x0000fffd
+ b _08109ADE
+ .pool
+_08109ADC:
+ movs r0, 0x3
+_08109ADE:
+ strh r0, [r2, 0x26]
+_08109AE0:
+ ldrh r0, [r2, 0x34]
+ adds r0, 0x1
+ strh r0, [r2, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ ble _08109AF4
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_08109AF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8109A64
+
+ thumb_func_start sub_8109AFC
+sub_8109AFC: @ 8109AFC
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _08109B70
+ cmp r0, 0x1
+ bgt _08109B12
+ cmp r0, 0
+ beq _08109B18
+ b _08109C3E
+_08109B12:
+ cmp r0, 0x2
+ beq _08109BCE
+ b _08109C3E
+_08109B18:
+ adds r0, r5, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ ldr r4, =gBattleAnimArgs
+ ldrb r1, [r4, 0x4]
+ adds r0, r5, 0
+ bl StartSpriteAnim
+ ldrh r0, [r4, 0x4]
+ strh r0, [r5, 0x3C]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08109B48
+ movs r0, 0x4
+ b _08109B4A
+ .pool
+_08109B48:
+ ldr r0, =0x0000fffc
+_08109B4A:
+ strh r0, [r5, 0x36]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8328
+ movs r1, 0x3
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r5, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _08109BC6
+ .pool
+_08109B70:
+ ldrh r0, [r5, 0x30]
+ adds r0, 0xC0
+ strh r0, [r5, 0x30]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08109B94
+ ldrh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ negs r0, r0
+ b _08109B9A
+ .pool
+_08109B94:
+ ldrh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+_08109B9A:
+ strh r0, [r5, 0x26]
+ movs r2, 0x32
+ ldrsh r0, [r5, r2]
+ movs r2, 0x36
+ ldrsh r1, [r5, r2]
+ bl Sin
+ strh r0, [r5, 0x24]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x4
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x34]
+ adds r0, 0x1
+ strh r0, [r5, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _08109C3E
+ movs r0, 0
+ strh r0, [r5, 0x34]
+_08109BC6:
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _08109C3E
+_08109BCE:
+ movs r1, 0x32
+ ldrsh r0, [r5, r1]
+ movs r2, 0x36
+ ldrsh r1, [r5, r2]
+ bl Sin
+ adds r2, r0, 0
+ movs r3, 0
+ strh r2, [r5, 0x24]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x4
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x34]
+ adds r0, 0x1
+ strh r0, [r5, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _08109C3E
+ ldrh r0, [r5, 0x20]
+ adds r1, r2, r0
+ strh r1, [r5, 0x20]
+ ldrh r0, [r5, 0x26]
+ ldrh r2, [r5, 0x22]
+ adds r0, r2
+ strh r0, [r5, 0x22]
+ strh r3, [r5, 0x26]
+ strh r3, [r5, 0x24]
+ movs r0, 0x80
+ lsls r0, 1
+ strh r0, [r5, 0x2E]
+ strh r1, [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 sub_80A6FD4
+ ldr r0, =sub_8109C4C
+ str r0, [r5, 0x1C]
+_08109C3E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109AFC
+
+ thumb_func_start sub_8109C4C
+sub_8109C4C: @ 8109C4C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ bne _08109CA4
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0x10
+ bl Sin
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ ldrh r2, [r4, 0x38]
+ adds r0, r2, 0x4
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x38]
+ lsls r2, 16
+ asrs r2, 16
+ cmp r2, 0
+ beq _08109C82
+ cmp r2, 0xC4
+ ble _08109CAA
+_08109C82:
+ lsls r0, 16
+ cmp r0, 0
+ ble _08109CAA
+ movs r1, 0x3C
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08109CAA
+ ldr r0, =gUnknown_02038440
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ movs r0, 0x90
+ bl PlaySE12WithPanning
+ b _08109CAA
+ .pool
+_08109CA4:
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08109CAA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8109C4C
+
+ thumb_func_start sub_8109CB0
+sub_8109CB0: @ 8109CB0
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r1, [r4, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _08109CC8
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0]
+ strh r0, [r4, 0x30]
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x2E]
+_08109CC8:
+ movs r0, 0xC0
+ lsls r0, 1
+ adds r1, r0, 0
+ ldrh r2, [r4, 0x34]
+ adds r1, r2
+ strh r1, [r4, 0x34]
+ ldrh r0, [r4, 0x36]
+ adds r0, 0xA0
+ strh r0, [r4, 0x36]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ lsls r1, 16
+ asrs r1, 24
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ ldrh r1, [r4, 0x36]
+ lsls r1, 16
+ asrs r1, 24
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x7
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _08109D64
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x40
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x83
+ bls _08109D3C
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ 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 _08109D80
+ .pool
+_08109D3C:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ 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]
+ b _08109D80
+ .pool
+_08109D64:
+ ldrh r0, [r4, 0x30]
+ subs r0, 0x40
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x83
+ bls _08109D78
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1D
+ b _08109D7E
+_08109D78:
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x1F
+_08109D7E:
+ strb r0, [r1]
+_08109D80:
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _08109DA8
+ 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]
+_08109DA8:
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x1E
+ bne _08109DB6
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08109DB6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8109CB0
+
+ thumb_func_start sub_8109DBC
+sub_8109DBC: @ 8109DBC
+ 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
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ movs r2, 0x1
+ negs r2, r2
+ adds r1, r2, 0
+ cmp r0, 0
+ bne _08109DE2
+ movs r1, 0x1
+_08109DE2:
+ strh r1, [r4, 0x20]
+ ldr r0, =gBattleAnimTarget
+ ldrb r1, [r0]
+ movs r0, 0x2
+ eors r0, r1
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1
+ strh r0, [r4, 0x22]
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x24]
+ movs r0, 0x3
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x26]
+ ldr r0, =sub_8109E2C
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109DBC
+
+ thumb_func_start sub_8109E2C
+sub_8109E2C: @ 8109E2C
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r2, r0, r1
+ movs r0, 0x8
+ ldrsh r3, [r2, r0]
+ cmp r3, 0x1
+ beq _08109EF4
+ cmp r3, 0x1
+ bgt _08109E54
+ cmp r3, 0
+ beq _08109E62
+ b _0810A054
+ .pool
+_08109E54:
+ cmp r3, 0x2
+ bne _08109E5A
+ b _08109F7C
+_08109E5A:
+ cmp r3, 0x3
+ bne _08109E60
+ b _0810A010
+_08109E60:
+ b _0810A054
+_08109E62:
+ movs r1, 0x20
+ ldrsh r0, [r2, r1]
+ lsls r0, 1
+ ldrh r5, [r2, 0x1C]
+ adds r0, r5
+ strh r0, [r2, 0x1C]
+ ldrh r0, [r2, 0xA]
+ adds r0, 0x1
+ strh r0, [r2, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08109E94
+ strh r3, [r2, 0xA]
+ ldrh r0, [r2, 0xC]
+ adds r0, 0x1
+ strh r0, [r2, 0xC]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08109E90
+ movs r0, 0x2
+ b _08109E92
+_08109E90:
+ ldr r0, =0x0000fffe
+_08109E92:
+ strh r0, [r2, 0x1E]
+_08109E94:
+ movs r1, 0
+ strh r1, [r2, 0xE]
+ movs r7, 0x22
+ ldrsh r0, [r2, r7]
+ cmp r1, r0
+ bge _08109ED6
+ ldr r4, =gSprites
+ adds r3, r2, 0
+ adds r3, 0x8
+_08109EA6:
+ movs r1, 0xE
+ ldrsh r0, [r2, r1]
+ adds r0, 0xE
+ lsls r0, 1
+ adds r0, r3, r0
+ movs r5, 0
+ ldrsh r0, [r0, r5]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r2, 0x1E]
+ ldrh r7, [r2, 0x1C]
+ adds r0, r7
+ strh r0, [r1, 0x24]
+ ldrh r0, [r2, 0xE]
+ adds r0, 0x1
+ strh r0, [r2, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ movs r5, 0x22
+ ldrsh r1, [r2, r5]
+ cmp r0, r1
+ blt _08109EA6
+_08109ED6:
+ ldrh r0, [r2, 0x1A]
+ adds r0, 0x1
+ strh r0, [r2, 0x1A]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ beq _08109EE6
+ b _0810A054
+_08109EE6:
+ movs r0, 0
+ strh r0, [r2, 0x1A]
+ b _0810A000
+ .pool
+_08109EF4:
+ ldrh r0, [r2, 0xA]
+ adds r0, 0x1
+ strh r0, [r2, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x4
+ ble _08109F1C
+ movs r0, 0
+ strh r0, [r2, 0xA]
+ ldrh r0, [r2, 0xC]
+ adds r0, 0x1
+ strh r0, [r2, 0xC]
+ ands r0, r3
+ lsls r0, 16
+ cmp r0, 0
+ beq _08109F18
+ movs r0, 0x2
+ b _08109F1A
+_08109F18:
+ ldr r0, =0x0000fffe
+_08109F1A:
+ strh r0, [r2, 0x1E]
+_08109F1C:
+ movs r1, 0
+ strh r1, [r2, 0xE]
+ movs r7, 0x22
+ ldrsh r0, [r2, r7]
+ cmp r1, r0
+ bge _08109F5E
+ ldr r4, =gSprites
+ adds r3, r2, 0
+ adds r3, 0x8
+_08109F2E:
+ movs r1, 0xE
+ ldrsh r0, [r2, r1]
+ adds r0, 0xE
+ lsls r0, 1
+ adds r0, r3, r0
+ movs r5, 0
+ ldrsh r0, [r0, r5]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r2, 0x1E]
+ ldrh r7, [r2, 0x1C]
+ adds r0, r7
+ strh r0, [r1, 0x24]
+ ldrh r0, [r2, 0xE]
+ adds r0, 0x1
+ strh r0, [r2, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ movs r5, 0x22
+ ldrsh r1, [r2, r5]
+ cmp r0, r1
+ blt _08109F2E
+_08109F5E:
+ ldrh r0, [r2, 0x1A]
+ adds r0, 0x1
+ strh r0, [r2, 0x1A]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x60
+ bne _0810A054
+ movs r0, 0
+ strh r0, [r2, 0x1A]
+ b _0810A000
+ .pool
+_08109F7C:
+ movs r7, 0x20
+ ldrsh r1, [r2, r7]
+ lsls r1, 1
+ ldrh r0, [r2, 0x1C]
+ subs r0, r1
+ strh r0, [r2, 0x1C]
+ ldrh r0, [r2, 0xA]
+ adds r0, 0x1
+ strh r0, [r2, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08109FB0
+ movs r0, 0
+ strh r0, [r2, 0xA]
+ ldrh r0, [r2, 0xC]
+ adds r0, 0x1
+ strh r0, [r2, 0xC]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08109FAC
+ strh r3, [r2, 0x1E]
+ b _08109FB0
+_08109FAC:
+ ldr r0, =0x0000fffe
+ strh r0, [r2, 0x1E]
+_08109FB0:
+ movs r1, 0
+ strh r1, [r2, 0xE]
+ movs r3, 0x22
+ ldrsh r0, [r2, r3]
+ cmp r1, r0
+ bge _08109FF2
+ ldr r4, =gSprites
+ adds r3, r2, 0
+ adds r3, 0x8
+_08109FC2:
+ movs r5, 0xE
+ ldrsh r0, [r2, r5]
+ adds r0, 0xE
+ lsls r0, 1
+ adds r0, r3, r0
+ movs r7, 0
+ ldrsh r0, [r0, r7]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r2, 0x1E]
+ ldrh r5, [r2, 0x1C]
+ adds r0, r5
+ strh r0, [r1, 0x24]
+ ldrh r0, [r2, 0xE]
+ adds r0, 0x1
+ strh r0, [r2, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ movs r7, 0x22
+ ldrsh r1, [r2, r7]
+ cmp r0, r1
+ blt _08109FC2
+_08109FF2:
+ ldrh r0, [r2, 0x1A]
+ adds r0, 0x1
+ strh r0, [r2, 0x1A]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x10
+ bne _0810A054
+_0810A000:
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ b _0810A054
+ .pool
+_0810A010:
+ movs r1, 0
+ strh r1, [r2, 0xE]
+ movs r3, 0x22
+ ldrsh r0, [r2, r3]
+ cmp r1, r0
+ bge _0810A04E
+ ldr r6, =gSprites
+ adds r3, r2, 0
+ adds r3, 0x8
+ movs r5, 0
+_0810A024:
+ movs r7, 0xE
+ ldrsh r0, [r2, r7]
+ adds r0, 0xE
+ lsls r0, 1
+ adds r0, r3, r0
+ movs r7, 0
+ ldrsh r1, [r0, r7]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ strh r5, [r0, 0x24]
+ ldrh r0, [r2, 0xE]
+ adds r0, 0x1
+ strh r0, [r2, 0xE]
+ lsls r0, 16
+ asrs r0, 16
+ movs r7, 0x22
+ ldrsh r1, [r2, r7]
+ cmp r0, r1
+ blt _0810A024
+_0810A04E:
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+_0810A054:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8109E2C
+
+ thumb_func_start AnimTask_BlendBackground
+AnimTask_BlendBackground: @ 810A060
+ push {r4,lr}
+ sub sp, 0x10
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ mov r0, sp
+ bl sub_80A6B30
+ mov r0, sp
+ ldrb r0, [r0, 0x8]
+ lsls r0, 4
+ ldr r1, =gBattleAnimArgs
+ ldrb r2, [r1]
+ ldrh r3, [r1, 0x2]
+ movs r1, 0x10
+ bl BlendPalette
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end AnimTask_BlendBackground
+
+ thumb_func_start sub_810A094
+sub_810A094: @ 810A094
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r2, r0, r1
+ movs r3, 0x8
+ ldrsh r0, [r2, r3]
+ mov r9, r1
+ ldr r4, =gBattleAnimArgs
+ mov r8, r4
+ cmp r0, 0
+ bne _0810A0CA
+ ldrh r0, [r4]
+ strh r0, [r2, 0xA]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r2, 0xC]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r2, 0xE]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r2, 0x10]
+_0810A0CA:
+ ldrh r0, [r2, 0x8]
+ adds r0, 0x1
+ strh r0, [r2, 0x8]
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r6, [r0]
+ movs r5, 0x10
+ ldrsh r0, [r2, r5]
+ cmp r0, 0
+ bne _0810A100
+ ldr r4, =gUnknown_08595684
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ b _0810A106
+ .pool
+_0810A100:
+ ldr r4, =gUnknown_08595694
+ movs r3, 0x8
+ ldrsh r0, [r2, r3]
+_0810A106:
+ movs r1, 0xA
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 16
+ adds r0, r4
+ ldrb r5, [r0]
+ lsls r0, r7, 2
+ adds r1, r0, r7
+ lsls r1, 3
+ add r1, r9
+ movs r4, 0xE
+ ldrsh r1, [r1, r4]
+ mov r12, r0
+ cmp r1, 0x1
+ bne _0810A154
+ ldr r2, =gSprites
+ lsls r3, r6, 4
+ adds r0, r3, r6
+ lsls r0, 2
+ adds r0, r2
+ mov r10, r0
+ mov r0, r8
+ movs r4, 0x2
+ ldrsh r1, [r0, r4]
+ lsls r0, r5, 24
+ asrs r0, 24
+ muls r0, r1
+ cmp r0, 0
+ bge _0810A144
+ negs r0, r0
+_0810A144:
+ mov r5, r10
+ strh r0, [r5, 0x26]
+ b _0810A16E
+ .pool
+_0810A154:
+ ldr r3, =gSprites
+ lsls r4, r6, 4
+ adds r2, r4, r6
+ lsls r2, 2
+ adds r2, r3
+ lsls r0, r5, 24
+ asrs r0, 24
+ mov r5, r8
+ ldrh r1, [r5, 0x2]
+ muls r0, r1
+ strh r0, [r2, 0x24]
+ adds r2, r3, 0
+ adds r3, r4, 0
+_0810A16E:
+ mov r1, r12
+ adds r0, r1, r7
+ lsls r0, 3
+ add r0, r9
+ movs r4, 0x8
+ ldrsh r1, [r0, r4]
+ movs r5, 0xA
+ ldrsh r0, [r0, r5]
+ cmp r1, r0
+ bne _0810A194
+ adds r0, r3, r6
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0
+ strh r1, [r0, 0x24]
+ strh r1, [r0, 0x26]
+ adds r0, r7, 0
+ bl DestroyAnimVisualTask
+_0810A194:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810A094
+
+ .align 2, 0
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
index 3cfbe215a..a361faa32 100644
--- a/asm/fldeff_80F9BCC.s
+++ b/asm/fldeff_80F9BCC.s
@@ -2262,8 +2262,8 @@ _080FAEA2:
bx r0
thumb_func_end task50_overworld_poison_effect
- thumb_func_start overworld_poison_effect
-overworld_poison_effect: @ 80FAEA8
+ thumb_func_start FldeffPoison_Start
+FldeffPoison_Start: @ 80FAEA8
push {lr}
movs r0, 0x4F
bl PlaySE
@@ -2273,7 +2273,7 @@ overworld_poison_effect: @ 80FAEA8
pop {r0}
bx r0
.pool
- thumb_func_end overworld_poison_effect
+ thumb_func_end FldeffPoison_Start
thumb_func_start FieldPoisonEffectIsRunning
FieldPoisonEffectIsRunning: @ 80FAEC0
diff --git a/asm/flying.s b/asm/flying.s
new file mode 100644
index 000000000..b981b4306
--- /dev/null
+++ b/asm/flying.s
@@ -0,0 +1,2515 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_810DE70
+sub_810DE70: @ 810DE70
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0
+ bl sub_80A6980
+ ldrh r0, [r4, 0x22]
+ adds r0, 0x14
+ strh r0, [r4, 0x22]
+ movs r0, 0xBF
+ strh r0, [r4, 0x30]
+ ldr r1, =sub_810DE98
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810DE70
+
+ thumb_func_start sub_810DE98
+sub_810DE98: @ 810DE98
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x20
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ movs r1, 0x8
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x5
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x47
+ bne _0810DED2
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810DED2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810DE98
+
+ thumb_func_start sub_810DED8
+sub_810DED8: @ 810DED8
+ 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 r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x8]
+ ldrh r0, [r1]
+ strh r0, [r4, 0xA]
+ ldr r0, =0x00002719
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0xC]
+ ldr r0, =sub_810DF18
+ str r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810DED8
+
+ thumb_func_start sub_810DF18
+sub_810DF18: @ 810DF18
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r2, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r3, r0, r2
+ ldrh r0, [r3, 0x1C]
+ adds r1, r0, 0x1
+ strh r1, [r3, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ movs r4, 0xA
+ ldrsh r1, [r3, r4]
+ adds r7, r2, 0
+ cmp r0, r1
+ bne _0810DF76
+ movs r0, 0
+ strh r0, [r3, 0x1C]
+ ldrb r0, [r3, 0xC]
+ ldr r2, =gPlttBufferFaded
+ lsls r0, 4
+ movs r3, 0x84
+ lsls r3, 1
+ adds r1, r0, r3
+ lsls r1, 1
+ adds r1, r2
+ ldrh r6, [r1]
+ movs r4, 0x7
+ mov r12, r0
+ ldr r0, =0x00000107
+ add r0, r12
+ lsls r0, 1
+ adds r3, r0, r2
+_0810DF5E:
+ ldrh r0, [r3]
+ strh r0, [r1]
+ subs r3, 0x2
+ subs r1, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bgt _0810DF5E
+ ldr r0, =0x00000101
+ add r0, r12
+ lsls r0, 1
+ adds r0, r2
+ strh r6, [r0]
+_0810DF76:
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r7
+ ldrh r1, [r0, 0x8]
+ subs r1, 0x1
+ strh r1, [r0, 0x8]
+ lsls r1, 16
+ cmp r1, 0
+ bne _0810DF90
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_0810DF90:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810DF18
+
+ thumb_func_start sub_810DFA8
+sub_810DFA8: @ 810DFA8
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810DFC8
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+_0810DFC8:
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4, 0x8]
+ strh r0, [r6, 0x2E]
+ ldrh r0, [r6, 0x20]
+ strh r0, [r6, 0x30]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x4]
+ adds r0, r1
+ strh r0, [r6, 0x32]
+ ldrh r0, [r6, 0x22]
+ strh r0, [r6, 0x34]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r4, [r4, 0x6]
+ adds r0, r4
+ strh r0, [r6, 0x36]
+ adds r0, r6, 0
+ bl InitAnimLinearTranslation
+ ldr r0, =sub_80A67BC
+ str r0, [r6, 0x1C]
+ ldr r1, =sub_810E028
+ adds r0, r6, 0
+ bl StoreSpriteCallbackInData6
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810DFA8
+
+ thumb_func_start sub_810E028
+sub_810E028: @ 810E028
+ push {r4,lr}
+ adds r4, r0, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810E03C
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810E03C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810E028
+
+ thumb_func_start sub_810E044
+sub_810E044: @ 810E044
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810E070
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ negs r0, r0
+ strh r0, [r1]
+ ldrh r0, [r1, 0x2]
+ negs r0, r0
+ strh r0, [r1, 0x2]
+ ldrh r0, [r1, 0x4]
+ negs r0, r0
+ strh r0, [r1, 0x4]
+ ldrh r0, [r1, 0x6]
+ negs r0, r0
+ strh r0, [r1, 0x6]
+_0810E070:
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810E088
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0x2]
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ ldrh r1, [r0, 0x6]
+ negs r1, r1
+ strh r1, [r0, 0x6]
+_0810E088:
+ 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
+ ldr r2, =gBattleAnimArgs
+ ldrh r1, [r2]
+ ldrh r3, [r5, 0x20]
+ adds r1, r3
+ strh r1, [r5, 0x20]
+ lsrs r0, 24
+ ldrh r1, [r2, 0x2]
+ adds r0, r1
+ strh r0, [r5, 0x22]
+ ldrh r0, [r2, 0x8]
+ strh r0, [r5, 0x2E]
+ movs r3, 0xC
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ bne _0810E0EC
+ 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 _0810E0FE
+ .pool
+_0810E0EC:
+ 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
+_0810E0FE:
+ ldr r4, =gBattleAnimArgs
+ ldrh r0, [r4, 0x4]
+ ldrh r1, [r5, 0x32]
+ adds r0, r1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r4, 0x6]
+ ldrh r3, [r5, 0x36]
+ adds r0, r3
+ strh r0, [r5, 0x36]
+ ldr r0, =StartAnimLinearTranslation
+ str r0, [r5, 0x1C]
+ ldr r1, =DestroyAnimSprite
+ adds r0, r5, 0
+ bl StoreSpriteCallbackInData6
+ ldrb r1, [r4, 0xA]
+ adds r0, r5, 0
+ bl SeekSpriteAnim
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E044
+
+ thumb_func_start sub_810E13C
+sub_810E13C: @ 810E13C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x30]
+ ldr r0, =sub_810E184
+ str r0, [r4, 0x1C]
+ movs r0, 0
+ 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, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E13C
+
+ thumb_func_start sub_810E184
+sub_810E184: @ 810E184
+ push {lr}
+ adds r2, r0, 0
+ ldrh r1, [r2, 0x2E]
+ movs r3, 0x2E
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ ble _0810E198
+ subs r0, r1, 0x1
+ strh r0, [r2, 0x2E]
+ b _0810E1AA
+_0810E198:
+ ldrh r0, [r2, 0x30]
+ ldrh r1, [r2, 0x32]
+ adds r0, r1
+ strh r0, [r2, 0x32]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r2, 0x26]
+ subs r1, r0
+ strh r1, [r2, 0x26]
+_0810E1AA:
+ movs r3, 0x22
+ ldrsh r0, [r2, r3]
+ movs r3, 0x26
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r1, 0x20
+ negs r1, r1
+ cmp r0, r1
+ bge _0810E1C2
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_0810E1C2:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810E184
+
+ thumb_func_start sub_810E1C8
+sub_810E1C8: @ 810E1C8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810E1F8
+ movs r0, 0x88
+ lsls r0, 1
+ strh r0, [r5, 0x20]
+ ldr r0, =0x0000ffe0
+ strh r0, [r5, 0x22]
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAffineAnim
+ b _0810E1FE
+ .pool
+_0810E1F8:
+ ldr r0, =0x0000ffe0
+ strh r0, [r5, 0x20]
+ strh r0, [r5, 0x22]
+_0810E1FE:
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0]
+ 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
+ ldr r0, =sub_810E24C
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E1C8
+
+ thumb_func_start sub_810E24C
+sub_810E24C: @ 810E24C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ bl TranslateAnimLinear
+ ldrh r1, [r4, 0x34]
+ lsrs r0, r1, 8
+ cmp r0, 0xC8
+ bls _0810E274
+ ldrh r0, [r4, 0x24]
+ ldrh r2, [r4, 0x20]
+ adds r0, r2
+ strh r0, [r4, 0x20]
+ movs r0, 0
+ strh r0, [r4, 0x24]
+ movs r0, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x34]
+_0810E274:
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ movs r2, 0x24
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ adds r0, 0x20
+ movs r1, 0x98
+ lsls r1, 1
+ cmp r0, r1
+ bhi _0810E296
+ movs r1, 0x22
+ ldrsh r0, [r4, r1]
+ movs r2, 0x26
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ cmp r0, 0xA0
+ ble _0810E2BC
+_0810E296:
+ movs r0, 0
+ 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, 0x3E
+ ldrb r2, [r1]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810E2BC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E24C
+
+ thumb_func_start sub_810E2C8
+sub_810E2C8: @ 810E2C8
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2E]
+ subs r1, r0, 0x1
+ strh r1, [r4, 0x2E]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _0810E308
+ ldrb r0, [r4, 0x1]
+ lsls r0, 30
+ lsrs r0, 30
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E2FA
+ 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]
+_0810E2FA:
+ adds r0, r4, 0
+ bl DestroySprite
+ ldr r1, =gAnimVisualTaskCount
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+_0810E308:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E2C8
+
+ thumb_func_start sub_810E314
+sub_810E314: @ 810E314
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ adds r5, r7, 0
+ adds r5, 0x2E
+ ldr r0, =gBattleAnimArgs
+ ldrh r1, [r0, 0xE]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E33C
+ ldr r0, =gBattleAnimAttacker
+ b _0810E33E
+ .pool
+_0810E33C:
+ ldr r0, =gBattleAnimTarget
+_0810E33E:
+ ldrb r6, [r0]
+ adds r0, r6, 0
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810E354
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1]
+ negs r0, r0
+ strh r0, [r1]
+_0810E354:
+ adds r0, r6, 0
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldr r4, =gBattleAnimArgs
+ lsrs r0, 24
+ ldrh r1, [r4]
+ adds r0, r1
+ strh r0, [r7, 0x20]
+ adds r0, r6, 0
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ ldrh r1, [r4, 0x2]
+ lsrs r0, 24
+ adds r1, r0, r1
+ strh r1, [r7, 0x22]
+ lsls r1, 8
+ strh r1, [r5, 0x8]
+ ldrh r1, [r4, 0xC]
+ adds r0, r1
+ lsls r0, 1
+ ldrh r2, [r5, 0xE]
+ movs r1, 0x1
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r5, 0xE]
+ ldrb r0, [r5]
+ movs r2, 0x4
+ mov r8, r2
+ mov r1, r8
+ orrs r0, r1
+ strb r0, [r5]
+ ldrh r0, [r4, 0x4]
+ ldrb r1, [r4, 0x4]
+ strh r1, [r5, 0x2]
+ lsls r0, 16
+ lsrs r0, 24
+ strh r0, [r5, 0xA]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r5, 0x4]
+ ldrh r0, [r4, 0x8]
+ strh r0, [r5, 0x6]
+ ldrh r0, [r4, 0xA]
+ strh r0, [r5, 0xC]
+ subs r1, 0x40
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r1, 0x7F
+ bhi _0810E44A
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810E3F0
+ adds r0, r6, 0
+ bl sub_80A8328
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, 0x1
+ movs r1, 0x3
+ ands r0, r1
+ lsls r0, 2
+ ldrb r2, [r7, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r7, 0x5]
+ b _0810E408
+ .pool
+_0810E3F0:
+ adds r0, r6, 0
+ bl sub_80A8328
+ movs r1, 0x3
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r7, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r7, 0x5]
+_0810E408:
+ ldrb r1, [r5, 0xE]
+ movs r4, 0x2
+ negs r4, r4
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r5, 0xE]
+ movs r2, 0x4
+ ldrsh r0, [r5, r2]
+ movs r1, 0x80
+ lsls r1, 8
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E4AA
+ adds r3, r7, 0
+ adds r3, 0x3F
+ ldrb r2, [r3]
+ lsls r0, r2, 31
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ adds r0, r4, 0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ lsls r0, 31
+ lsrs r0, 31
+ adds r1, r7, 0
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ b _0810E4A2
+_0810E44A:
+ adds r0, r6, 0
+ bl sub_80A8328
+ movs r1, 0x3
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r7, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r7, 0x5]
+ ldrb r0, [r5, 0xE]
+ movs r4, 0x1
+ orrs r0, r4
+ strb r0, [r5, 0xE]
+ movs r1, 0x4
+ ldrsh r0, [r5, r1]
+ movs r1, 0x80
+ lsls r1, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E4AA
+ adds r3, r7, 0
+ adds r3, 0x3F
+ ldrb r2, [r3]
+ lsls r1, r2, 31
+ lsrs r1, 31
+ movs r0, 0x1
+ eors r1, r0
+ ands r1, r4
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ lsls r0, 31
+ lsrs r0, 31
+ adds r1, r7, 0
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrb r0, [r3]
+ mov r2, r8
+ orrs r0, r2
+_0810E4A2:
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r3]
+_0810E4AA:
+ ldrh r1, [r5, 0x2]
+ lsrs r1, 6
+ lsls r1, 4
+ ldrb r2, [r5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5]
+ ldr r3, =gSineTable
+ ldrh r0, [r5, 0x2]
+ lsls r0, 1
+ adds r0, r3
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ ldrb r0, [r5, 0xC]
+ muls r0, r1
+ asrs r0, 8
+ strh r0, [r7, 0x24]
+ ldrb r2, [r7, 0x3]
+ lsls r2, 26
+ lsrs r2, 27
+ movs r1, 0x24
+ ldrsh r0, [r7, r1]
+ negs r0, r0
+ asrs r0, 1
+ ldrb r5, [r5, 0xA]
+ adds r0, r5
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 1
+ adds r1, r3
+ ldrh r4, [r1]
+ ldr r1, =gOamMatrices
+ lsls r2, 3
+ adds r2, r1
+ adds r0, 0x40
+ lsls r0, 1
+ adds r0, r3
+ ldrh r0, [r0]
+ strh r0, [r2, 0x6]
+ strh r0, [r2]
+ strh r4, [r2, 0x2]
+ lsls r0, r4, 16
+ asrs r0, 16
+ negs r0, r0
+ strh r0, [r2, 0x4]
+ ldr r0, =sub_810E520
+ str r0, [r7, 0x1C]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E314
+
+ thumb_func_start sub_810E520
+sub_810E520: @ 810E520
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r5, r0, 0
+ movs r6, 0
+ adds r4, r5, 0
+ adds r4, 0x2E
+ ldrb r2, [r4]
+ movs r7, 0x1
+ movs r0, 0x1
+ mov r9, r0
+ ands r0, r2
+ cmp r0, 0
+ beq _0810E55A
+ ldrb r0, [r4, 0x1]
+ adds r1, r0, 0
+ adds r1, 0xFF
+ strb r1, [r4, 0x1]
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810E54E
+ b _0810EA36
+_0810E54E:
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r4]
+ strb r6, [r4, 0x1]
+ b _0810EA36
+_0810E55A:
+ ldrh r0, [r4, 0x2]
+ lsrs r1, r0, 6
+ mov r12, r0
+ cmp r1, 0x1
+ bne _0810E566
+ b _0810E68A
+_0810E566:
+ cmp r1, 0x1
+ bgt _0810E570
+ cmp r1, 0
+ beq _0810E57E
+ b _0810E97C
+_0810E570:
+ cmp r1, 0x2
+ bne _0810E576
+ b _0810E77E
+_0810E576:
+ cmp r1, 0x3
+ bne _0810E57C
+ b _0810E872
+_0810E57C:
+ b _0810E97C
+_0810E57E:
+ lsls r1, r2, 24
+ lsrs r0, r1, 28
+ cmp r0, 0x1
+ bne _0810E592
+ movs r0, 0x8
+ orrs r0, r2
+ orrs r0, r7
+ strb r0, [r4]
+ strb r6, [r4, 0x1]
+ b _0810E680
+_0810E592:
+ lsrs r0, r1, 28
+ cmp r0, 0x3
+ bne _0810E5B4
+ lsls r0, r2, 30
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r0, r1
+ ands r0, r7
+ lsls r0, 1
+ movs r1, 0x3
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ orrs r1, r7
+ strb r1, [r4]
+ strb r6, [r4, 0x1]
+ b _0810E680
+_0810E5B4:
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _0810E680
+ adds r3, r5, 0
+ adds r3, 0x3F
+ ldrb r2, [r3]
+ lsls r1, r2, 31
+ lsrs r1, 31
+ movs r6, 0x1
+ eors r1, r6
+ ands r1, r7
+ movs r0, 0x2
+ negs r0, r0
+ mov r8, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ lsls r0, 31
+ lsrs r0, 31
+ adds r1, r5, 0
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r3]
+ ldrb r1, [r4]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E672
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810E642
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E628
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ subs r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E660
+_0810E628:
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ adds r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E660
+_0810E642:
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E656
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ subs r0, 0xC
+ b _0810E65E
+_0810E656:
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ adds r0, 0xC
+_0810E65E:
+ strb r0, [r1]
+_0810E660:
+ ldrb r2, [r4, 0xE]
+ lsls r0, r2, 31
+ lsrs r0, 31
+ eors r0, r6
+ ands r0, r7
+ mov r1, r8
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r4, 0xE]
+_0810E672:
+ ldrb r1, [r4]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4]
+ ldrh r1, [r4, 0x2]
+ mov r12, r1
+_0810E680:
+ ldrb r1, [r4]
+ movs r0, 0xF
+ ands r0, r1
+ strb r0, [r4]
+ b _0810E97C
+_0810E68A:
+ lsls r1, r2, 24
+ lsrs r0, r1, 28
+ cmp r0, 0
+ bne _0810E698
+ movs r0, 0x8
+ orrs r0, r2
+ b _0810E6A0
+_0810E698:
+ lsrs r0, r1, 28
+ cmp r0, 0x2
+ bne _0810E6A8
+ adds r0, r2, 0
+_0810E6A0:
+ orrs r0, r7
+ strb r0, [r4]
+ strb r6, [r4, 0x1]
+ b _0810E774
+_0810E6A8:
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _0810E774
+ adds r3, r5, 0
+ adds r3, 0x3F
+ ldrb r2, [r3]
+ lsls r1, r2, 31
+ lsrs r1, 31
+ movs r6, 0x1
+ eors r1, r6
+ ands r1, r7
+ movs r0, 0x2
+ negs r0, r0
+ mov r8, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ lsls r0, 31
+ lsrs r0, 31
+ adds r1, r5, 0
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r3]
+ ldrb r1, [r4]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E766
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810E736
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E71C
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ subs r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E754
+_0810E71C:
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ adds r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E754
+_0810E736:
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E74A
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ subs r0, 0xC
+ b _0810E752
+_0810E74A:
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ adds r0, 0xC
+_0810E752:
+ strb r0, [r1]
+_0810E754:
+ ldrb r2, [r4, 0xE]
+ lsls r0, r2, 31
+ lsrs r0, 31
+ eors r0, r6
+ ands r0, r7
+ mov r1, r8
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r4, 0xE]
+_0810E766:
+ ldrb r1, [r4]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4]
+ ldrh r1, [r4, 0x2]
+ mov r12, r1
+_0810E774:
+ ldrb r0, [r4]
+ movs r1, 0xF
+ ands r1, r0
+ movs r0, 0x10
+ b _0810E978
+_0810E77E:
+ lsls r1, r2, 24
+ lsrs r0, r1, 28
+ cmp r0, 0x3
+ bne _0810E78C
+ movs r0, 0x8
+ orrs r0, r2
+ b _0810E794
+_0810E78C:
+ lsrs r0, r1, 28
+ cmp r0, 0x1
+ bne _0810E79C
+ adds r0, r2, 0
+_0810E794:
+ orrs r0, r7
+ strb r0, [r4]
+ strb r6, [r4, 0x1]
+ b _0810E868
+_0810E79C:
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _0810E868
+ adds r3, r5, 0
+ adds r3, 0x3F
+ ldrb r2, [r3]
+ lsls r1, r2, 31
+ lsrs r1, 31
+ movs r6, 0x1
+ eors r1, r6
+ ands r1, r7
+ movs r0, 0x2
+ negs r0, r0
+ mov r8, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ lsls r0, 31
+ lsrs r0, 31
+ adds r1, r5, 0
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r3]
+ ldrb r1, [r4]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E85A
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810E82A
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E810
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ subs r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E848
+_0810E810:
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ adds r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E848
+_0810E82A:
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E83E
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ subs r0, 0xC
+ b _0810E846
+_0810E83E:
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ adds r0, 0xC
+_0810E846:
+ strb r0, [r1]
+_0810E848:
+ ldrb r2, [r4, 0xE]
+ lsls r0, r2, 31
+ lsrs r0, 31
+ eors r0, r6
+ ands r0, r7
+ mov r1, r8
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r4, 0xE]
+_0810E85A:
+ ldrb r1, [r4]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4]
+ ldrh r1, [r4, 0x2]
+ mov r12, r1
+_0810E868:
+ ldrb r0, [r4]
+ movs r1, 0xF
+ ands r1, r0
+ movs r0, 0x20
+ b _0810E978
+_0810E872:
+ lsls r1, r2, 24
+ lsrs r0, r1, 28
+ cmp r0, 0x2
+ bne _0810E882
+ movs r0, 0x8
+ orrs r0, r2
+ strb r0, [r4]
+ b _0810E970
+_0810E882:
+ lsrs r0, r1, 28
+ cmp r0, 0
+ bne _0810E8A4
+ lsls r0, r2, 30
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r0, r1
+ ands r0, r7
+ lsls r0, 1
+ movs r1, 0x3
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ orrs r1, r7
+ strb r1, [r4]
+ strb r6, [r4, 0x1]
+ b _0810E970
+_0810E8A4:
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _0810E970
+ adds r3, r5, 0
+ adds r3, 0x3F
+ ldrb r2, [r3]
+ lsls r1, r2, 31
+ lsrs r1, 31
+ movs r6, 0x1
+ eors r1, r6
+ ands r1, r7
+ movs r0, 0x2
+ negs r0, r0
+ mov r8, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ lsls r0, 31
+ lsrs r0, 31
+ adds r1, r5, 0
+ adds r1, 0x2A
+ strb r0, [r1]
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r3]
+ ldrb r1, [r4]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810E962
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810E932
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E918
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ subs r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E950
+_0810E918:
+ ldrb r2, [r5, 0x5]
+ lsls r1, r2, 28
+ lsrs r1, 30
+ adds r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ lsls r1, 2
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+ b _0810E950
+_0810E932:
+ ldrb r1, [r4, 0xE]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ bne _0810E946
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ subs r0, 0xC
+ b _0810E94E
+_0810E946:
+ adds r1, r5, 0
+ adds r1, 0x43
+ ldrb r0, [r1]
+ adds r0, 0xC
+_0810E94E:
+ strb r0, [r1]
+_0810E950:
+ ldrb r2, [r4, 0xE]
+ lsls r0, r2, 31
+ lsrs r0, 31
+ eors r0, r6
+ ands r0, r7
+ mov r1, r8
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r4, 0xE]
+_0810E962:
+ ldrb r1, [r4]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4]
+ ldrh r1, [r4, 0x2]
+ mov r12, r1
+_0810E970:
+ ldrb r0, [r4]
+ movs r1, 0xF
+ ands r1, r0
+ movs r0, 0x30
+_0810E978:
+ orrs r1, r0
+ strb r1, [r4]
+_0810E97C:
+ ldrb r1, [r4]
+ lsls r1, 30
+ lsrs r1, 31
+ adds r0, r4, 0
+ adds r0, 0xC
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r3, =gSineTable
+ mov r2, r12
+ lsls r0, r2, 1
+ adds r0, r3
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ muls r0, r1
+ asrs r0, 8
+ strh r0, [r5, 0x24]
+ ldrb r2, [r5, 0x3]
+ lsls r2, 26
+ lsrs r2, 27
+ movs r1, 0x24
+ ldrsh r0, [r5, r1]
+ negs r0, r0
+ asrs r0, 1
+ ldrb r1, [r4, 0xA]
+ adds r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 1
+ adds r1, r3
+ ldrh r6, [r1]
+ ldr r1, =gOamMatrices
+ lsls r2, 3
+ adds r2, r1
+ adds r0, 0x40
+ lsls r0, 1
+ adds r0, r3
+ ldrh r0, [r0]
+ strh r0, [r2, 0x6]
+ strh r0, [r2]
+ strh r6, [r2, 0x2]
+ lsls r0, r6, 16
+ asrs r0, 16
+ negs r0, r0
+ strh r0, [r2, 0x4]
+ ldrh r0, [r4, 0x6]
+ ldrh r2, [r4, 0x8]
+ adds r0, r2
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ lsrs r0, 24
+ strh r0, [r5, 0x22]
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ movs r1, 0x80
+ lsls r1, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _0810EA0C
+ ldrh r0, [r4, 0x4]
+ subs r1, 0x1
+ ands r1, r0
+ ldrh r0, [r4, 0x2]
+ subs r0, r1
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2]
+ b _0810EA1C
+ .pool
+_0810EA0C:
+ ldrh r0, [r4, 0x4]
+ ldr r1, =0x00007fff
+ ands r1, r0
+ ldrh r2, [r4, 0x2]
+ adds r1, r2
+ movs r0, 0xFF
+ ands r1, r0
+ strh r1, [r4, 0x2]
+_0810EA1C:
+ movs r0, 0x22
+ ldrsh r1, [r5, r0]
+ movs r2, 0x26
+ ldrsh r0, [r5, r2]
+ adds r1, r0
+ ldrh r0, [r4, 0xE]
+ lsrs r0, 1
+ cmp r1, r0
+ blt _0810EA36
+ movs r0, 0
+ strh r0, [r5, 0x2E]
+ ldr r0, =sub_810E2C8
+ str r0, [r5, 0x1C]
+_0810EA36:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810E520
+
+ thumb_func_start sub_810EA4C
+sub_810EA4C: @ 810EA4C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ 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]
+ 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_810EA4C
+
+ thumb_func_start sub_810EAA0
+sub_810EAA0: @ 810EAA0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0810EABC
+ adds r0, r5, 0
+ movs r1, 0
+ bl InitAnimSpritePos
+ b _0810EAC4
+ .pool
+_0810EABC:
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_80A6980
+_0810EAC4:
+ ldr r4, =gBattleAnimArgs
+ movs r2, 0x4
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _0810EADC
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _0810EAF2
+_0810EADC:
+ movs r1, 0x4
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ bne _0810EAF8
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810EAF8
+_0810EAF2:
+ ldrh r0, [r5, 0x20]
+ adds r0, 0x8
+ strh r0, [r5, 0x20]
+_0810EAF8:
+ ldr r4, =gBattleAnimArgs
+ ldrb r1, [r4, 0x8]
+ adds r0, r5, 0
+ bl SeekSpriteAnim
+ ldrh r0, [r5, 0x20]
+ subs r0, 0x20
+ strh r0, [r5, 0x20]
+ ldr r0, =0x00000ccc
+ strh r0, [r5, 0x30]
+ ldrh r1, [r4, 0x8]
+ movs r0, 0xC
+ adds r2, r0, 0
+ muls r2, r1
+ adds r0, r2, 0
+ ldrh r2, [r5, 0x24]
+ adds r0, r2
+ strh r0, [r5, 0x24]
+ strh r1, [r5, 0x2E]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r5, 0x3C]
+ ldr r0, =sub_810EB40
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810EAA0
+
+ thumb_func_start sub_810EB40
+sub_810EB40: @ 810EB40
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ movs r1, 0
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x6
+ bne _0810EB6A
+ strh r1, [r4, 0x2E]
+ strh r1, [r4, 0x24]
+ adds r0, r4, 0
+ bl StartSpriteAnim
+_0810EB6A:
+ 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 _0810EB82
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810EB82:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810EB40
+
+ thumb_func_start sub_810EB88
+sub_810EB88: @ 810EB88
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r6, r0, 0
+ ldr r1, =gTasks
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r7, r0, r1
+ ldrh r0, [r7, 0x8]
+ movs r1, 0x1F
+ ands r0, r1
+ cmp r0, 0
+ bne _0810EC02
+ ldr r1, =gAnimVisualTaskCount
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ movs r1, 0x8
+ ldrsh r0, [r7, r1]
+ movs r5, 0xD
+ negs r5, r5
+ adds r1, r5, 0
+ bl Sin
+ ldr r4, =gBattleAnimArgs
+ strh r0, [r4]
+ movs r1, 0x8
+ ldrsh r0, [r7, r1]
+ adds r1, r5, 0
+ bl Cos
+ strh r0, [r4, 0x2]
+ movs r0, 0x1
+ strh r0, [r4, 0x4]
+ movs r0, 0x3
+ strh r0, [r4, 0x6]
+ ldr r0, =gUnknown_085973E8
+ mov r8, r0
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ mov r0, r8
+ adds r1, r4, 0
+ movs r3, 0x3
+ bl CreateSpriteAndAnimate
+_0810EC02:
+ ldrh r0, [r7, 0x8]
+ adds r0, 0x8
+ strh r0, [r7, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _0810EC16
+ adds r0, r6, 0
+ bl DestroyAnimVisualTask
+_0810EC16:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810EB88
+
+ thumb_func_start sub_810EC34
+sub_810EC34: @ 810EC34
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0810EC46
+ cmp r0, 0x1
+ beq _0810EC78
+ b _0810EC8C
+_0810EC46:
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ movs r0, 0
+ 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, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _0810EC8C
+ .pool
+_0810EC78:
+ adds r0, r4, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0810EC8C
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810EC8C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810EC34
+
+ thumb_func_start sub_810EC94
+sub_810EC94: @ 810EC94
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _0810ECCC
+ cmp r0, 0x1
+ bgt _0810ECAA
+ cmp r0, 0
+ beq _0810ECB0
+ b _0810ED1E
+_0810ECAA:
+ cmp r0, 0x2
+ beq _0810ECE0
+ b _0810ED1E
+_0810ECB0:
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x22]
+ negs r0, r0
+ subs r0, 0x20
+ strh r0, [r4, 0x26]
+ b _0810ECD8
+ .pool
+_0810ECCC:
+ ldrh r0, [r4, 0x26]
+ adds r0, 0xA
+ strh r0, [r4, 0x26]
+ lsls r0, 16
+ cmp r0, 0
+ blt _0810ED1E
+_0810ECD8:
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ b _0810ED1E
+_0810ECE0:
+ ldrh r0, [r4, 0x26]
+ subs r0, 0xA
+ strh r0, [r4, 0x26]
+ movs r2, 0x22
+ ldrsh r0, [r4, r2]
+ movs r2, 0x26
+ ldrsh r1, [r4, r2]
+ adds r0, r1
+ movs r1, 0x20
+ negs r1, r1
+ cmp r0, r1
+ bge _0810ED1E
+ movs r0, 0
+ 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, 0x3E
+ ldrb r2, [r1]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810ED1E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810EC94
+
+ thumb_func_start sub_810ED28
+sub_810ED28: @ 810ED28
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r1, 0x6]
+ strh r0, [r4, 0x30]
+ ldr r0, =sub_810ED70
+ str r0, [r4, 0x1C]
+ movs r0, 0
+ 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, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810ED28
+
+ thumb_func_start sub_810ED70
+sub_810ED70: @ 810ED70
+ push {lr}
+ adds r2, r0, 0
+ ldrh r1, [r2, 0x2E]
+ movs r3, 0x2E
+ ldrsh r0, [r2, r3]
+ cmp r0, 0
+ ble _0810ED84
+ subs r0, r1, 0x1
+ strh r0, [r2, 0x2E]
+ b _0810EDC8
+_0810ED84:
+ movs r1, 0x22
+ ldrsh r0, [r2, r1]
+ movs r3, 0x26
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r1, 0x20
+ negs r1, r1
+ cmp r0, r1
+ ble _0810EDAA
+ ldrh r0, [r2, 0x30]
+ ldrh r1, [r2, 0x32]
+ adds r0, r1
+ strh r0, [r2, 0x32]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r2, 0x26]
+ subs r1, r0
+ strh r1, [r2, 0x26]
+ b _0810EDC8
+_0810EDAA:
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r0, [r3]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r3]
+ ldrh r0, [r2, 0x34]
+ adds r1, r0, 0x1
+ strh r1, [r2, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x14
+ ble _0810EDC8
+ ldr r0, =sub_810EDD0
+ str r0, [r2, 0x1C]
+_0810EDC8:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810ED70
+
+ thumb_func_start sub_810EDD0
+sub_810EDD0: @ 810EDD0
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x32]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r2, 0x26]
+ adds r0, r1
+ strh r0, [r2, 0x26]
+ movs r3, 0x22
+ ldrsh r0, [r2, r3]
+ movs r3, 0x26
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ movs r1, 0x20
+ negs r1, r1
+ cmp r0, r1
+ ble _0810EE00
+ adds r3, r2, 0
+ adds r3, 0x3E
+ ldrb r1, [r3]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+_0810EE00:
+ movs r1, 0x26
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ ble _0810EE0E
+ adds r0, r2, 0
+ bl DestroyAnimSprite
+_0810EE0E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810EDD0
+
+ thumb_func_start sub_810EE14
+sub_810EE14: @ 810EE14
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0
+ beq _0810EE28
+ cmp r0, 0x1
+ beq _0810EE80
+ b _0810EEEC
+_0810EE28:
+ ldr r0, =gBattleAnimArgs
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ bne _0810EE40
+ ldr r4, =gBattleAnimAttacker
+ b _0810EE42
+ .pool
+_0810EE40:
+ ldr r4, =gBattleAnimTarget
+_0810EE42:
+ 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]
+ movs r0, 0
+ movs r3, 0x80
+ lsls r3, 2
+ strh r3, [r5, 0x30]
+ movs r2, 0x80
+ lsls r2, 1
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl sub_80A73E0
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _0810EEEC
+ .pool
+_0810EE80:
+ movs r1, 0x32
+ ldrsh r0, [r5, r1]
+ cmp r0, 0xB
+ bgt _0810EE8E
+ ldrh r0, [r5, 0x30]
+ subs r0, 0x28
+ b _0810EE92
+_0810EE8E:
+ ldrh r0, [r5, 0x30]
+ adds r0, 0x28
+_0810EE92:
+ strh r0, [r5, 0x30]
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ movs r1, 0
+ strh r0, [r5, 0x32]
+ movs r2, 0x80
+ lsls r2, 1
+ movs r0, 0x30
+ ldrsh r3, [r5, r0]
+ str r1, [sp]
+ adds r0, r5, 0
+ bl sub_80A73E0
+ ldrb r1, [r5, 0x3]
+ lsls r1, 26
+ lsrs r1, 27
+ movs r0, 0xF4
+ lsls r0, 6
+ ldr r2, =gOamMatrices
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0x6
+ ldrsh r1, [r1, r2]
+ bl __divsi3
+ adds r1, r0, 0x1
+ cmp r1, 0x80
+ ble _0810EECC
+ movs r1, 0x80
+_0810EECC:
+ movs r0, 0x40
+ subs r0, r1
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r1, r0, 1
+ strh r1, [r5, 0x26]
+ movs r1, 0x32
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x18
+ bne _0810EEEC
+ adds r0, r5, 0
+ bl sub_80A749C
+ adds r0, r5, 0
+ bl DestroyAnimSprite
+_0810EEEC:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810EE14
+
+ thumb_func_start sub_810EEF8
+sub_810EEF8: @ 810EEF8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl Random2
+ ldr r4, =0x000001ff
+ ands r4, r0
+ bl Random2
+ movs r1, 0x7F
+ ands r1, r0
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _0810EF20
+ movs r2, 0xB8
+ lsls r2, 2
+ adds r0, r4, r2
+ b _0810EF28
+ .pool
+_0810EF20:
+ movs r2, 0xB8
+ lsls r2, 2
+ adds r0, r2, 0
+ subs r0, r4
+_0810EF28:
+ strh r0, [r5, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0810EF3C
+ movs r2, 0xE0
+ lsls r2, 2
+ adds r0, r2, 0
+ adds r0, r1, r0
+ b _0810EF44
+_0810EF3C:
+ movs r2, 0xE0
+ lsls r2, 2
+ adds r0, r2, 0
+ subs r0, r1
+_0810EF44:
+ strh r0, [r5, 0x30]
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r2]
+ strh r0, [r5, 0x32]
+ lsls r0, 16
+ cmp r0, 0
+ beq _0810EF60
+ ldrb r0, [r5, 0x3]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x10
+ orrs r1, r0
+ strb r1, [r5, 0x3]
+_0810EF60:
+ movs r1, 0x2
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ bne _0810EF74
+ ldr r4, =gBattleAnimAttacker
+ b _0810EF76
+ .pool
+_0810EF74:
+ ldr r4, =gBattleAnimTarget
+_0810EF76:
+ 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
+ adds r0, 0x20
+ strh r0, [r5, 0x22]
+ ldr r0, =sub_810EFA8
+ str r0, [r5, 0x1C]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810EEF8
+
+ thumb_func_start sub_810EFA8
+sub_810EFA8: @ 810EFA8
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _0810EFC0
+ ldrh r3, [r4, 0x2E]
+ lsls r0, r3, 16
+ asrs r0, 24
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ b _0810EFCA
+_0810EFC0:
+ ldrh r3, [r4, 0x2E]
+ lsls r1, r3, 16
+ asrs r1, 24
+ ldrh r0, [r4, 0x24]
+ subs r0, r1
+_0810EFCA:
+ strh r0, [r4, 0x24]
+ ldrh r2, [r4, 0x30]
+ lsls r1, r2, 16
+ asrs r1, 24
+ ldrh r0, [r4, 0x26]
+ subs r0, r1
+ strh r0, [r4, 0x26]
+ strh r3, [r4, 0x2E]
+ adds r0, r2, 0
+ subs r0, 0x20
+ strh r0, [r4, 0x30]
+ lsls r0, r3, 16
+ cmp r0, 0
+ bge _0810EFEA
+ movs r0, 0
+ strh r0, [r4, 0x2E]
+_0810EFEA:
+ ldrh r0, [r4, 0x34]
+ adds r0, 0x1
+ strh r0, [r4, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1F
+ bne _0810EFFE
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_0810EFFE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810EFA8
+
+ thumb_func_start sub_810F004
+sub_810F004: @ 810F004
+ movs r1, 0
+ strh r1, [r0, 0x3A]
+ movs r1, 0x40
+ strh r1, [r0, 0x3C]
+ ldr r1, =sub_810F018
+ str r1, [r0, 0x1C]
+ bx lr
+ .pool
+ thumb_func_end sub_810F004
+
+ thumb_func_start sub_810F018
+sub_810F018: @ 810F018
+ push {lr}
+ adds r3, r0, 0
+ movs r0, 0x2E
+ ldrsh r1, [r3, r0]
+ cmp r1, 0
+ beq _0810F02A
+ cmp r1, 0x1
+ beq _0810F078
+ b _0810F07E
+_0810F02A:
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x8
+ ble _0810F07E
+ strh r1, [r3, 0x30]
+ movs r1, 0x3E
+ adds r1, r3
+ mov r12, r1
+ ldrb r2, [r1]
+ 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, 0x32]
+ adds r0, 0x1
+ strh r0, [r3, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ ble _0810F07E
+ ldrb r1, [r1]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _0810F07E
+ ldrh r0, [r3, 0x2E]
+ adds r0, 0x1
+ strh r0, [r3, 0x2E]
+ b _0810F07E
+_0810F078:
+ adds r0, r3, 0
+ bl DestroyAnimSprite
+_0810F07E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810F018
+
+ thumb_func_start sub_810F084
+sub_810F084: @ 810F084
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ mov r8, r0
+ ldrh r4, [r0, 0x20]
+ ldrh r5, [r0, 0x22]
+ ldr r6, =gBattleAnimAttacker
+ ldrb r0, [r6]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, r8
+ strh r0, [r1, 0x20]
+ ldrb r0, [r6]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ mov r2, r8
+ strh r6, [r2, 0x22]
+ ldrh r0, [r2, 0x20]
+ mov r9, r0
+ mov r1, r9
+ lsls r0, r1, 4
+ strh r0, [r2, 0x36]
+ lsls r0, r6, 4
+ strh r0, [r2, 0x38]
+ lsls r4, 16
+ asrs r4, 16
+ movs r1, 0x20
+ ldrsh r0, [r2, r1]
+ subs r0, r4, r0
+ lsls r0, 4
+ movs r1, 0xC
+ bl __divsi3
+ mov r2, r8
+ strh r0, [r2, 0x3A]
+ lsls r5, 16
+ asrs r5, 16
+ movs r1, 0x22
+ ldrsh r0, [r2, r1]
+ subs r0, r5, r0
+ lsls r0, 4
+ movs r1, 0xC
+ bl __divsi3
+ mov r2, r8
+ strh r0, [r2, 0x3C]
+ mov r0, r9
+ subs r4, r0
+ lsls r4, 16
+ asrs r4, 16
+ subs r5, r6
+ lsls r5, 16
+ asrs r5, 16
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ArcTan2Neg
+ lsls r0, 16
+ movs r1, 0xC0
+ lsls r1, 24
+ adds r0, r1
+ lsrs r0, 16
+ movs r3, 0x80
+ lsls r3, 1
+ str r0, [sp]
+ mov r0, r8
+ movs r1, 0x1
+ adds r2, r3, 0
+ bl sub_80A73E0
+ ldr r0, =sub_810F140
+ mov r2, r8
+ str r0, [r2, 0x1C]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810F084
+
+ thumb_func_start sub_810F140
+sub_810F140: @ 810F140
+ push {lr}
+ adds r2, r0, 0
+ ldrh r0, [r2, 0x3A]
+ ldrh r1, [r2, 0x36]
+ adds r0, r1
+ strh r0, [r2, 0x36]
+ ldrh r1, [r2, 0x3C]
+ ldrh r3, [r2, 0x38]
+ adds r1, r3
+ strh r1, [r2, 0x38]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r2, 0x20]
+ lsls r1, 16
+ asrs r3, r1, 20
+ strh r3, [r2, 0x22]
+ adds r0, 0x2D
+ lsls r0, 16
+ movs r1, 0xA5
+ lsls r1, 17
+ cmp r0, r1
+ bhi _0810F17A
+ adds r1, r3, 0
+ cmp r1, 0x9D
+ bgt _0810F17A
+ movs r0, 0x2D
+ negs r0, r0
+ cmp r1, r0
+ bge _0810F180
+_0810F17A:
+ adds r0, r2, 0
+ bl move_anim_8074EE0
+_0810F180:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810F140
+
+ thumb_func_start sub_810F184
+sub_810F184: @ 810F184
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _0810F1BC
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ b _0810F1DA
+ .pool
+_0810F1BC:
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gSprites
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+_0810F1DA:
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_810F184
+
+ .align 2, 0
diff --git a/asm/fossil_specials.s b/asm/fossil_specials.s
deleted file mode 100644
index eb7cb8ada..000000000
--- a/asm/fossil_specials.s
+++ /dev/null
@@ -1,111 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81BF2B8
-sub_81BF2B8: @ 81BF2B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r0, [sp]
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x28]
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- mov r8, r0
- lsrs r7, r0, 24
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- mov r0, r10
- adds r1, r7, 0
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 24
- lsrs r4, r5, 24
- ldr r3, =gUnknown_030012A8
- strh r4, [r3]
- mov r0, r10
- adds r1, r7, 0
- str r3, [sp, 0x4]
- bl __modsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, [sp, 0x4]
- strh r2, [r3, 0x2]
- movs r1, 0x7
- ands r4, r1
- ands r2, r1
- strh r4, [r3, 0x4]
- strh r2, [r3, 0x6]
- lsrs r0, 27
- lsrs r5, 27
- strh r0, [r3, 0x8]
- strh r5, [r3, 0xA]
- mov r1, r8
- lsrs r1, 27
- lsls r1, 6
- mov r8, r1
- mov r1, r8
- muls r1, r5
- lsls r0, 6
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r3, 0xC]
- lsls r4, 3
- adds r4, r2
- adds r1, r4
- lsls r4, r1, 16
- lsrs r4, 17
- strh r1, [r3, 0xE]
- movs r1, 0x1
- mov r0, r10
- ands r1, r0
- movs r2, 0x1
- eors r1, r2
- lsls r0, r1, 2
- lsls r6, r0
- eors r1, r2
- lsls r1, 2
- movs r0, 0xF
- lsls r0, r1
- orrs r6, r0
- lsls r6, 24
- lsrs r6, 24
- mov r1, r9
- lsls r1, 5
- mov r9, r1
- add r9, r4
- ldr r1, [sp]
- add r1, r9
- ldrb r0, [r1]
- ands r6, r0
- strb r6, [r1]
- 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_81BF2B8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/ghost.s b/asm/ghost.s
new file mode 100644
index 000000000..5a0991468
--- /dev/null
+++ b/asm/ghost.s
@@ -0,0 +1,3251 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_811160C
+sub_811160C: @ 811160C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimArgs
+ ldrh r0, [r0, 0x4]
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x20]
+ strh r0, [r4, 0x30]
+ ldr r5, =gBattleAnimTarget
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x32]
+ ldrh r0, [r4, 0x22]
+ strh r0, [r4, 0x34]
+ ldrb r0, [r5]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x36]
+ adds r0, r4, 0
+ bl sub_80A6FD4
+ ldr r0, =sub_8111674
+ str r0, [r4, 0x1C]
+ movs r0, 0x10
+ strh r0, [r4, 0x3A]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrh r1, [r4, 0x3A]
+ movs r0, 0x52
+ bl SetGpuReg
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_811160C
+
+ thumb_func_start sub_8111674
+sub_8111674: @ 8111674
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8111764
+ adds r0, r4, 0
+ bl TranslateAnimLinear
+ lsls r0, 24
+ cmp r0, 0
+ beq _08111694
+ ldr r0, =sub_81116E8
+ str r0, [r4, 0x1C]
+ b _081116DE
+ .pool
+_08111694:
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xA
+ bl Sin
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xF
+ bl Cos
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r2, [r4, 0x38]
+ adds r0, r2, 0x5
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x38]
+ lsls r2, 16
+ asrs r2, 16
+ cmp r2, 0
+ beq _081116CC
+ cmp r2, 0xC4
+ ble _081116DE
+_081116CC:
+ lsls r0, 16
+ cmp r0, 0
+ ble _081116DE
+ ldr r0, =gUnknown_02038440
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ movs r0, 0xC4
+ bl PlaySE12WithPanning
+_081116DE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8111674
+
+ thumb_func_start sub_81116E8
+sub_81116E8: @ 81116E8
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x1
+ strh r0, [r4, 0x2E]
+ adds r0, r4, 0
+ bl TranslateAnimLinear
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xA
+ bl Sin
+ ldrh r1, [r4, 0x24]
+ adds r0, r1
+ strh r0, [r4, 0x24]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ movs r1, 0xF
+ bl Cos
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r2, [r4, 0x38]
+ adds r0, r2, 0x5
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x38]
+ ldrh r0, [r4, 0x38]
+ lsls r2, 16
+ asrs r2, 16
+ cmp r2, 0
+ beq _0811172E
+ cmp r2, 0xC4
+ ble _0811173A
+_0811172E:
+ lsls r0, 16
+ cmp r0, 0
+ ble _0811173A
+ movs r0, 0xC4
+ bl PlaySE
+_0811173A:
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08111758
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, =sub_80A67F4
+ str r0, [r4, 0x1C]
+ b _0811175E
+ .pool
+_08111758:
+ adds r0, r4, 0
+ bl sub_8111764
+_0811175E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81116E8
+
+ thumb_func_start sub_8111764
+sub_8111764: @ 8111764
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r2, [r4, 0x3A]
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xFF
+ ble _08111788
+ adds r0, r2, 0x1
+ strh r0, [r4, 0x3A]
+ lsls r0, 16
+ ldr r1, =0x010d0000
+ cmp r0, r1
+ bne _081117EE
+ movs r0, 0
+ b _081117EC
+ .pool
+_08111788:
+ ldrh r1, [r4, 0x3C]
+ adds r3, r1, 0x1
+ strh r3, [r4, 0x3C]
+ movs r0, 0xFF
+ ands r0, r1
+ cmp r0, 0
+ bne _081117EE
+ ldr r1, =0xffffff00
+ ands r1, r3
+ strh r1, [r4, 0x3C]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r1
+ cmp r0, 0
+ beq _081117B0
+ adds r0, r2, 0x1
+ b _081117B2
+ .pool
+_081117B0:
+ subs r0, r2, 0x1
+_081117B2:
+ strh r0, [r4, 0x3A]
+ ldrh r0, [r4, 0x3A]
+ movs r1, 0x10
+ subs r1, r0
+ lsls r1, 8
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r2, 0x3A
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081117D4
+ cmp r0, 0x10
+ bne _081117E0
+_081117D4:
+ ldrh r0, [r4, 0x3C]
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r2, 0
+ eors r0, r1
+ strh r0, [r4, 0x3C]
+_081117E0:
+ movs r1, 0x3A
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _081117EE
+ movs r0, 0x80
+ lsls r0, 1
+_081117EC:
+ strh r0, [r4, 0x3A]
+_081117EE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111764
+
+ thumb_func_start sub_81117F4
+sub_81117F4: @ 81117F4
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl sub_80A6980
+ ldr r1, =sub_8111814
+ str r1, [r4, 0x1C]
+ adds r0, r4, 0
+ bl _call_via_r1
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81117F4
+
+ thumb_func_start sub_8111814
+sub_8111814: @ 8111814
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x20
+ bl Sin
+ strh r0, [r4, 0x24]
+ movs r1, 0x2E
+ ldrsh r0, [r4, r1]
+ movs r1, 0x8
+ bl Cos
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x2E]
+ subs r0, 0x41
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x82
+ bhi _08111848
+ ldrb r0, [r4, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x8
+ b _08111852
+_08111848:
+ ldrb r0, [r4, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x4
+_08111852:
+ orrs r1, r0
+ strb r1, [r4, 0x5]
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x13
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x2E]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x50
+ strh r0, [r4, 0x32]
+ lsls r0, 16
+ asrs r0, 24
+ ldrh r1, [r4, 0x26]
+ adds r0, r1
+ strh r0, [r4, 0x26]
+ ldrh r0, [r4, 0x3C]
+ adds r0, 0x1
+ strh r0, [r4, 0x3C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3D
+ bne _08111884
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+_08111884:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111814
+
+ thumb_func_start sub_811188C
+sub_811188C: @ 811188C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_80A7270
+ adds r0, r4, 0
+ movs r1, 0x80
+ movs r2, 0x80
+ movs r3, 0
+ bl obj_id_set_rotscale
+ ldr r1, =gSprites
+ lsls r0, r4, 4
+ adds r0, r4
+ lsls r0, 2
+ adds r0, r1
+ adds r0, 0x3E
+ ldrb r2, [r0]
+ movs r1, 0x5
+ negs r1, r1
+ ands r1, r2
+ strb r1, [r0]
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x80
+ strh r1, [r0, 0x8]
+ ldr r1, =gBattleAnimArgs
+ ldrh r1, [r1]
+ strh r1, [r0, 0xA]
+ strh r2, [r0, 0xC]
+ movs r1, 0x10
+ strh r1, [r0, 0xE]
+ ldr r1, =sub_8111914
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_811188C
+
+ thumb_func_start sub_8111914
+sub_8111914: @ 8111914
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r0, [r4, 0x1C]
+ adds r0, 0x1
+ strh r0, [r4, 0x1C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ bne _0811195C
+ movs r0, 0
+ strh r0, [r4, 0x1C]
+ ldrh r1, [r4, 0xC]
+ adds r1, 0x1
+ strh r1, [r4, 0xC]
+ ldrh r0, [r4, 0xE]
+ subs r0, 0x1
+ strh r0, [r4, 0xE]
+ lsls r0, 8
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x9
+ bne _0811195C
+ ldr r0, =sub_811196C
+ str r0, [r4]
+_0811195C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8111914
+
+ thumb_func_start sub_811196C
+sub_811196C: @ 811196C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r1, [r4, 0xA]
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _08111994
+ subs r0, r1, 0x1
+ strh r0, [r4, 0xA]
+ b _081119D8
+ .pool
+_08111994:
+ movs r0, 0
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r1, r0, 24
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x8
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ bgt _081119BC
+ movs r0, 0x8
+ ldrsh r2, [r4, r0]
+ adds r0, r1, 0
+ adds r1, r2, 0
+ movs r3, 0
+ bl obj_id_set_rotscale
+ b _081119D8
+_081119BC:
+ adds r0, r1, 0
+ bl sub_80A7344
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+_081119D8:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_811196C
+
+ thumb_func_start sub_81119E0
+sub_81119E0: @ 81119E0
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r4, r0, 0
+ ldrh r5, [r4, 0x20]
+ ldrh r6, [r4, 0x22]
+ ldr r0, =gBattleAnimAttacker
+ mov r8, r0
+ ldrb r0, [r0]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ mov r9, r1
+ strh r0, [r4, 0x20]
+ mov r1, r8
+ ldrb r0, [r1]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x22]
+ mov r1, r9
+ strh r1, [r4, 0x2E]
+ ldr r2, =gBattleAnimArgs
+ ldrh r1, [r2]
+ strh r1, [r4, 0x30]
+ ldrh r1, [r2, 0x2]
+ strh r1, [r4, 0x32]
+ ldrh r1, [r2, 0x4]
+ strh r1, [r4, 0x34]
+ ldrh r1, [r4, 0x20]
+ lsls r1, 4
+ strh r1, [r4, 0x36]
+ lsls r0, 4
+ strh r0, [r4, 0x38]
+ lsls r5, 16
+ asrs r5, 16
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ subs r5, r0
+ lsls r5, 4
+ movs r0, 0
+ ldrsh r1, [r2, r0]
+ lsls r1, 1
+ adds r0, r5, 0
+ str r2, [sp]
+ bl __divsi3
+ strh r0, [r4, 0x3A]
+ lsls r6, 16
+ asrs r6, 16
+ movs r1, 0x22
+ ldrsh r0, [r4, r1]
+ subs r6, r0
+ lsls r6, 4
+ ldr r2, [sp]
+ movs r0, 0
+ ldrsh r1, [r2, r0]
+ lsls r1, 1
+ adds r0, r6, 0
+ bl __divsi3
+ strh r0, [r4, 0x3C]
+ ldr r0, =sub_8111A88
+ str r0, [r4, 0x1C]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81119E0
+
+ thumb_func_start sub_8111A88
+sub_8111A88: @ 8111A88
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x1
+ beq _08111AD2
+ cmp r0, 0x1
+ bgt _08111A9E
+ cmp r0, 0
+ beq _08111AA8
+ b _08111B96
+_08111A9E:
+ cmp r0, 0x2
+ beq _08111B3C
+ cmp r0, 0x3
+ beq _08111B90
+ b _08111B96
+_08111AA8:
+ ldrh r0, [r5, 0x3A]
+ ldrh r2, [r5, 0x36]
+ adds r0, r2
+ strh r0, [r5, 0x36]
+ ldrh r1, [r5, 0x3C]
+ ldrh r2, [r5, 0x38]
+ adds r1, r2
+ strh r1, [r5, 0x38]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r5, 0x20]
+ lsls r1, 16
+ asrs r1, 20
+ strh r1, [r5, 0x22]
+ ldrh r0, [r5, 0x30]
+ subs r0, 0x1
+ strh r0, [r5, 0x30]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08111B96
+ b _08111B82
+_08111AD2:
+ ldrh r0, [r5, 0x32]
+ subs r0, 0x1
+ strh r0, [r5, 0x32]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08111B96
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x30]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x32]
+ ldrh r0, [r5, 0x20]
+ lsls r0, 4
+ strh r0, [r5, 0x36]
+ ldrh r0, [r5, 0x22]
+ lsls r0, 4
+ strh r0, [r5, 0x38]
+ movs r1, 0x30
+ ldrsh r0, [r5, r1]
+ movs r2, 0x20
+ ldrsh r1, [r5, r2]
+ subs r0, r1
+ lsls r0, 4
+ movs r2, 0x34
+ ldrsh r1, [r5, r2]
+ bl __divsi3
+ strh r0, [r5, 0x3A]
+ movs r1, 0x32
+ ldrsh r0, [r5, r1]
+ movs r2, 0x22
+ ldrsh r1, [r5, r2]
+ subs r0, r1
+ lsls r0, 4
+ movs r2, 0x34
+ ldrsh r1, [r5, r2]
+ bl __divsi3
+ strh r0, [r5, 0x3C]
+ b _08111B82
+ .pool
+_08111B3C:
+ ldrh r0, [r5, 0x3A]
+ ldrh r1, [r5, 0x36]
+ adds r0, r1
+ strh r0, [r5, 0x36]
+ ldrh r1, [r5, 0x3C]
+ ldrh r2, [r5, 0x38]
+ adds r1, r2
+ strh r1, [r5, 0x38]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r5, 0x20]
+ lsls r1, 16
+ asrs r1, 20
+ strh r1, [r5, 0x22]
+ ldrh r0, [r5, 0x34]
+ subs r0, 0x1
+ strh r0, [r5, 0x34]
+ lsls r0, 16
+ cmp r0, 0
+ bgt _08111B96
+ ldr r4, =gBattleAnimTarget
+ 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]
+_08111B82:
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x1
+ strh r0, [r5, 0x2E]
+ b _08111B96
+ .pool
+_08111B90:
+ adds r0, r5, 0
+ bl move_anim_8074EE0
+_08111B96:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111A88
+
+ thumb_func_start sub_8111B9C
+sub_8111B9C: @ 8111B9C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl sub_80A6980
+ ldr r0, =sub_8111BB4
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8111B9C
+
+ thumb_func_start sub_8111BB4
+sub_8111BB4: @ 8111BB4
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ movs r5, 0
+ movs r6, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08111C4A
+ adds r1, r3, 0
+ adds r1, 0x3E
+ ldrb r2, [r1]
+ movs r0, 0x4
+ ands r0, r2
+ adds r4, r1, 0
+ cmp r0, 0
+ bne _08111BDE
+ movs r0, 0x4
+ orrs r0, r2
+ strb r0, [r4]
+_08111BDE:
+ movs r1, 0x2E
+ ldrsh r0, [r3, r1]
+ cmp r0, 0
+ beq _08111BEE
+ cmp r0, 0x1
+ beq _08111BF8
+ movs r6, 0x1
+ b _08111C02
+_08111BEE:
+ movs r1, 0x30
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x2
+ bne _08111C02
+ b _08111C06
+_08111BF8:
+ movs r1, 0x30
+ ldrsh r0, [r3, r1]
+ cmp r0, 0x4
+ bne _08111C02
+ movs r5, 0x1
+_08111C02:
+ cmp r5, 0
+ beq _08111C38
+_08111C06:
+ ldrb r2, [r4]
+ 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, [r4]
+ ldrh r0, [r3, 0x32]
+ adds r0, 0x1
+ movs r1, 0
+ strh r0, [r3, 0x32]
+ strh r1, [r3, 0x30]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x5
+ bne _08111C4A
+ strh r1, [r3, 0x32]
+ ldrh r0, [r3, 0x2E]
+ adds r0, 0x1
+ strh r0, [r3, 0x2E]
+ b _08111C4A
+_08111C38:
+ cmp r6, 0
+ beq _08111C44
+ adds r0, r3, 0
+ bl DestroyAnimSprite
+ b _08111C4A
+_08111C44:
+ ldrh r0, [r3, 0x30]
+ adds r0, 0x1
+ strh r0, [r3, 0x30]
+_08111C4A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111BB4
+
+ thumb_func_start sub_8111C50
+sub_8111C50: @ 8111C50
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ movs r0, 0x1
+ bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ movs r6, 0
+ movs r1, 0
+ strh r0, [r5, 0x8]
+ lsls r0, 16
+ cmp r0, 0
+ bge _08111C80
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ b _08111D5C
+ .pool
+_08111C80:
+ strh r1, [r5, 0xA]
+ movs r0, 0xF
+ strh r0, [r5, 0xC]
+ movs r0, 0x2
+ strh r0, [r5, 0xE]
+ strh r1, [r5, 0x10]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrh r1, [r5, 0xE]
+ lsls r1, 8
+ ldrh r0, [r5, 0xC]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r4, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x50
+ strh r1, [r0, 0x2E]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08111CF4
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, =0x0000ff70
+ strh r1, [r0, 0x30]
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x70
+ b _08111D12
+ .pool
+_08111CF4:
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x90
+ strh r1, [r0, 0x30]
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, =0x0000ff90
+_08111D12:
+ strh r1, [r0, 0x32]
+ ldr r4, =gSprites
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r2, 0
+ strh r2, [r0, 0x34]
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ strh r2, [r0, 0x36]
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, =SpriteCallbackDummy
+ bl StoreSpriteCallbackInData6
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r1, =sub_80A656C
+ str r1, [r0]
+ ldr r0, =sub_8111D78
+ str r0, [r5]
+_08111D5C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8111C50
+
+ thumb_func_start sub_8111D78
+sub_8111D78: @ 8111D78
+ 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, 0x10
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _08111E1C
+ cmp r0, 0x1
+ bgt _08111DA0
+ cmp r0, 0
+ beq _08111DA6
+ b _08111E48
+ .pool
+_08111DA0:
+ cmp r0, 0x2
+ beq _08111E42
+ b _08111E48
+_08111DA6:
+ ldrh r1, [r4, 0xA]
+ adds r1, 0x1
+ strh r1, [r4, 0xA]
+ movs r0, 0x3
+ ands r0, r1
+ strh r0, [r4, 0x12]
+ cmp r0, 0x1
+ bne _08111DC4
+ ldrh r1, [r4, 0xC]
+ movs r2, 0xC
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _08111DC4
+ subs r0, r1, 0x1
+ strh r0, [r4, 0xC]
+_08111DC4:
+ movs r1, 0x12
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x3
+ bne _08111DDA
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xF
+ bgt _08111DDA
+ adds r0, r1, 0x1
+ strh r0, [r4, 0xE]
+_08111DDA:
+ ldrh r1, [r4, 0xE]
+ lsls r1, 8
+ ldrh r0, [r4, 0xC]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r1, [r4, 0xC]
+ movs r0, 0x80
+ lsls r0, 13
+ cmp r1, r0
+ bne _08111E48
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x50
+ ble _08111E48
+ movs r2, 0x8
+ ldrsh r1, [r4, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ bl obj_delete_but_dont_free_vram
+ movs r0, 0x1
+ strh r0, [r4, 0x10]
+ b _08111E48
+ .pool
+_08111E1C:
+ ldrh r0, [r4, 0x14]
+ adds r0, 0x1
+ strh r0, [r4, 0x14]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08111E48
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ ldrh r0, [r4, 0x10]
+ adds r0, 0x1
+ strh r0, [r4, 0x10]
+ b _08111E48
+_08111E42:
+ adds r0, r2, 0
+ bl DestroyAnimVisualTask
+_08111E48:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111D78
+
+ thumb_func_start sub_8111E50
+sub_8111E50: @ 8111E50
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r2, =gTasks
+ adds r1, r2
+ movs r2, 0
+ strh r2, [r1, 0x26]
+ ldr r2, =sub_8111E78
+ str r2, [r1]
+ bl _call_via_r2
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8111E50
+
+ thumb_func_start sub_8111E78
+sub_8111E78: @ 8111E78
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r5, r0, r1
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r1, 0x26
+ ldrsh r0, [r5, r1]
+ cmp r0, 0x4
+ bls _08111EA4
+ b _081120C6
+_08111EA4:
+ lsls r0, 2
+ ldr r1, =_08111EBC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08111EBC:
+ .4byte _08111ED0
+ .4byte _08111FD0
+ .4byte _08112014
+ .4byte _0811207C
+ .4byte _081120A8
+_08111ED0:
+ ldr r7, =0x00002771
+ adds r0, r7, 0
+ bl AllocSpritePalette
+ lsls r0, 24
+ lsrs r0, 24
+ movs r2, 0
+ mov r8, r2
+ strh r0, [r5, 0x24]
+ cmp r0, 0xFF
+ beq _08111EFE
+ cmp r0, 0xF
+ beq _08111EFE
+ movs r0, 0x1
+ bl duplicate_obj_of_side_rel2move_in_transparent_mode
+ strh r0, [r5, 0x8]
+ lsls r0, 16
+ cmp r0, 0
+ bge _08111F0C
+ adds r0, r7, 0
+ bl FreeSpritePaletteByTag
+_08111EFE:
+ adds r0, r4, 0
+ bl DestroyAnimVisualTask
+ b _081120CC
+ .pool
+_08111F0C:
+ ldr r4, =gSprites
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r2, [r5, 0x24]
+ lsls r2, 4
+ ldrb r3, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r3
+ orrs r0, r2
+ strb r0, [r1, 0x5]
+ movs r2, 0x8
+ ldrsh r0, [r5, r2]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrb r2, [r1, 0x1]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x1]
+ movs r0, 0x8
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0, 0x5]
+ movs r2, 0xC
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r4
+ ldr r0, =gBattleSpritesDataPtr
+ ldr r1, [r0]
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ lsls r1, 31
+ adds r2, 0x3E
+ lsrs r1, 31
+ lsls r1, 2
+ ldrb r3, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ mov r2, r8
+ strh r2, [r5, 0xA]
+ strh r2, [r5, 0xC]
+ movs r0, 0x10
+ strh r0, [r5, 0xE]
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x22]
+ movs r0, 0x22
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r0, [r0, 0x5]
+ lsrs r0, 4
+ adds r0, 0x10
+ lsls r0, 4
+ strh r0, [r5, 0x10]
+ cmp r6, 0x1
+ bne _08111FC4
+ movs r1, 0x80
+ lsls r1, 2
+ b _08111FC8
+ .pool
+_08111FC4:
+ movs r1, 0x80
+ lsls r1, 3
+_08111FC8:
+ movs r0, 0
+ bl ClearGpuRegBits
+ b _081120C6
+_08111FD0:
+ movs r1, 0x24
+ ldrsh r0, [r5, r1]
+ adds r0, 0x10
+ lsls r0, 4
+ strh r0, [r5, 0x24]
+ movs r2, 0x10
+ ldrsh r0, [r5, r2]
+ lsls r0, 1
+ ldr r1, =gPlttBufferUnfaded
+ adds r0, r1
+ movs r2, 0x24
+ ldrsh r1, [r5, r2]
+ lsls r1, 1
+ ldr r2, =gPlttBufferFaded
+ adds r1, r2
+ ldr r2, =0x04000008
+ bl CpuSet
+ ldrh r0, [r5, 0x10]
+ ldr r3, =0x00003c0d
+ movs r1, 0x10
+ movs r2, 0xA
+ bl BlendPalette
+ b _081120C6
+ .pool
+_08112014:
+ ldr r2, =gSprites
+ movs r0, 0x22
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x26]
+ ldrh r0, [r0, 0x22]
+ adds r1, r0
+ subs r1, 0x20
+ lsls r1, 16
+ lsrs r2, r1, 16
+ cmp r1, 0
+ bge _08112034
+ movs r2, 0
+_08112034:
+ cmp r6, 0x1
+ bne _08112054
+ lsls r0, r2, 24
+ lsrs r0, 24
+ adds r1, r2, 0
+ adds r1, 0x40
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0
+ str r2, [sp]
+ movs r2, 0x4
+ str r2, [sp, 0x4]
+ str r6, [sp, 0x8]
+ b _0811206C
+ .pool
+_08112054:
+ lsls r0, r2, 24
+ lsrs r0, 24
+ adds r1, r2, 0
+ adds r1, 0x40
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0
+ str r2, [sp]
+ movs r2, 0x8
+ str r2, [sp, 0x4]
+ movs r2, 0x1
+ str r2, [sp, 0x8]
+_0811206C:
+ movs r2, 0x2
+ movs r3, 0x6
+ bl ScanlineEffect_InitWave
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5, 0x1C]
+ b _081120C6
+_0811207C:
+ cmp r6, 0x1
+ bne _08112090
+ ldr r1, =0x00003f42
+ movs r0, 0x50
+ bl SetGpuReg
+ b _08112098
+ .pool
+_08112090:
+ ldr r1, =0x00003f44
+ movs r0, 0x50
+ bl SetGpuReg
+_08112098:
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0x52
+ bl SetGpuReg
+ b _081120C6
+ .pool
+_081120A8:
+ cmp r6, 0x1
+ bne _081120B8
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ bl SetGpuRegBits
+ b _081120C2
+_081120B8:
+ movs r1, 0x80
+ lsls r1, 3
+ movs r0, 0
+ bl SetGpuRegBits
+_081120C2:
+ ldr r0, =sub_81120DC
+ str r0, [r5]
+_081120C6:
+ ldrh r0, [r5, 0x26]
+ adds r0, 0x1
+ strh r0, [r5, 0x26]
+_081120CC:
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8111E78
+
+ thumb_func_start sub_81120DC
+sub_81120DC: @ 81120DC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, =gTasks
+ adds r4, r0, r1
+ ldrh r1, [r4, 0xA]
+ adds r1, 0x1
+ strh r1, [r4, 0xA]
+ movs r0, 0x1
+ ands r0, r1
+ strh r0, [r4, 0x12]
+ cmp r0, 0
+ bne _08112114
+ ldr r1, =gSineTable
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ lsls r0, 1
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0x12
+ bl __divsi3
+ strh r0, [r4, 0xC]
+_08112114:
+ movs r2, 0x12
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x1
+ bne _08112136
+ ldr r1, =gSineTable
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ lsls r0, 1
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0x12
+ bl __divsi3
+ movs r1, 0x10
+ subs r1, r0
+ strh r1, [r4, 0xE]
+_08112136:
+ ldrh r1, [r4, 0xE]
+ lsls r1, 8
+ ldrh r0, [r4, 0xC]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r2, 0xA
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x80
+ bne _0811215E
+ movs r0, 0
+ strh r0, [r4, 0x26]
+ ldr r1, =sub_8112170
+ str r1, [r4]
+ adds r0, r5, 0
+ bl _call_via_r1
+_0811215E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81120DC
+
+ thumb_func_start sub_8112170
+sub_8112170: @ 8112170
+ 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
+ ldr r0, =gBattleAnimTarget
+ ldrb r0, [r0]
+ bl sub_80A8364
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r1, 0x26
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x1
+ beq _081121DC
+ cmp r0, 0x1
+ bgt _081121A8
+ cmp r0, 0
+ beq _081121AE
+ b _08112258
+ .pool
+_081121A8:
+ cmp r0, 0x2
+ beq _081121F0
+ b _08112258
+_081121AE:
+ ldr r1, =gScanlineEffect
+ movs r0, 0x3
+ strb r0, [r1, 0x15]
+ movs r0, 0x1
+ bl GetAnimBattlerSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x24]
+ cmp r6, 0x1
+ bne _081121D0
+ movs r1, 0x80
+ lsls r1, 2
+ b _081121D4
+ .pool
+_081121D0:
+ movs r1, 0x80
+ lsls r1, 3
+_081121D4:
+ movs r0, 0
+ bl ClearGpuRegBits
+ b _08112258
+_081121DC:
+ ldrh r0, [r4, 0x10]
+ ldr r3, =0x00003c0d
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalette
+ b _08112258
+ .pool
+_081121F0:
+ ldr r3, =gSprites
+ movs r0, 0x24
+ 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
+ bl obj_delete_but_dont_free_vram
+ ldr r0, =0x00002771
+ bl FreeSpritePaletteByTag
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ cmp r6, 0x1
+ bne _08112248
+ movs r1, 0x80
+ lsls r1, 2
+ movs r0, 0
+ bl SetGpuRegBits
+ b _08112252
+ .pool
+_08112248:
+ movs r1, 0x80
+ lsls r1, 3
+ movs r0, 0
+ bl SetGpuRegBits
+_08112252:
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08112258:
+ ldrh r0, [r4, 0x26]
+ adds r0, 0x1
+ strh r0, [r4, 0x26]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112170
+
+ thumb_func_start sub_8112264
+sub_8112264: @ 8112264
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r7, r0, 0
+ ldr r0, =gBattleAnimArgs
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _081122AC
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 8
+ movs r2, 0xE0
+ lsls r2, 13
+ adds r0, r2
+ lsrs r5, r0, 16
+ ldr r4, =gBattleAnimTarget
+ b _081122D0
+ .pool
+_081122AC:
+ ldr r4, =gBattleAnimTarget
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 8
+ movs r2, 0xE0
+ lsls r2, 13
+ adds r0, r2
+ lsrs r5, r0, 16
+ ldr r4, =gBattleAnimAttacker
+_081122D0:
+ ldrb r0, [r4]
+ movs r1, 0
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 8
+ movs r1, 0xE0
+ lsls r1, 13
+ adds r0, r1
+ lsrs r0, 16
+ mov r9, r0
+ mov r8, r5
+ mov r2, r9
+ subs r4, r2, r5
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r0, r6, 4
+ strh r0, [r7, 0x2E]
+ lsls r0, r5, 4
+ strh r0, [r7, 0x30]
+ mov r1, r10
+ subs r0, r1, r6
+ lsls r0, 4
+ ldr r5, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r1, [r5, r2]
+ bl __divsi3
+ strh r0, [r7, 0x32]
+ lsls r4, 16
+ asrs r4, 12
+ movs r0, 0x2
+ ldrsh r1, [r5, r0]
+ adds r0, r4, 0
+ bl __divsi3
+ strh r0, [r7, 0x34]
+ ldrh r0, [r5, 0x2]
+ strh r0, [r7, 0x36]
+ mov r1, r10
+ strh r1, [r7, 0x38]
+ mov r2, r9
+ strh r2, [r7, 0x3A]
+ movs r1, 0x36
+ ldrsh r0, [r7, r1]
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ strh r0, [r7, 0x3C]
+ ldrb r1, [r7, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x8
+ orrs r0, r1
+ strb r0, [r7, 0x5]
+ strh r6, [r7, 0x20]
+ mov r2, r8
+ strh r2, [r7, 0x22]
+ ldr r0, =sub_8112384
+ str r0, [r7, 0x1C]
+ adds r2, r7, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112264
+
+ thumb_func_start sub_8112384
+sub_8112384: @ 8112384
+ push {r4,lr}
+ adds r2, r0, 0
+ ldrh r3, [r2, 0x36]
+ movs r1, 0x36
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ beq _081123BC
+ ldrh r0, [r2, 0x32]
+ ldrh r4, [r2, 0x2E]
+ adds r0, r4
+ strh r0, [r2, 0x2E]
+ ldrh r1, [r2, 0x34]
+ ldrh r4, [r2, 0x30]
+ adds r1, r4
+ strh r1, [r2, 0x30]
+ lsls r0, 16
+ asrs r0, 20
+ strh r0, [r2, 0x20]
+ lsls r1, 16
+ asrs r1, 20
+ strh r1, [r2, 0x22]
+ subs r0, r3, 0x1
+ strh r0, [r2, 0x36]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bne _081123BC
+ strh r0, [r2, 0x2E]
+_081123BC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112384
+
+ thumb_func_start sub_81123C4
+sub_81123C4: @ 81123C4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, =gTasks
+ adds r1, r0
+ str r1, [sp]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r0, 0
+ ldr r1, [sp]
+ strh r0, [r1, 0x12]
+ strh r0, [r1, 0x14]
+ strh r0, [r1, 0x16]
+ strh r0, [r1, 0x18]
+ movs r0, 0x10
+ strh r0, [r1, 0x1A]
+ ldr r2, =gBattleAnimArgs
+ ldrh r0, [r2]
+ strh r0, [r1, 0x1C]
+ ldr r4, =gBattleAnimAttacker
+ ldrb r0, [r4]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ ldrb r0, [r4]
+ movs r1, 0x3
+ bl sub_80A861C
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x8]
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _08112434
+ b _08112530
+_08112434:
+ movs r4, 0
+_08112436:
+ lsls r1, r4, 16
+ asrs r3, r1, 16
+ ldr r0, =gBattleAnimAttacker
+ ldrb r2, [r0]
+ str r1, [sp, 0x10]
+ cmp r3, r2
+ beq _08112502
+ movs r0, 0x2
+ eors r2, r0
+ cmp r3, r2
+ beq _08112502
+ lsls r0, r4, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl IsBattlerSpriteVisible
+ lsls r0, 24
+ cmp r0, 0
+ beq _08112502
+ ldr r6, [sp, 0x4]
+ ldr r3, [sp, 0x8]
+ lsls r0, r3, 16
+ asrs r7, r0, 16
+ ldr r0, =gUnknown_08596DB8
+ adds r1, r6, 0
+ adds r2, r7, 0
+ movs r3, 0x37
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ cmp r0, 0x40
+ beq _08112502
+ adds r0, r4, 0
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ adds r0, r4, 0
+ movs r1, 0x3
+ bl sub_80A861C
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ mov r0, r8
+ lsls r5, r0, 4
+ add r5, r8
+ lsls r5, 2
+ ldr r1, =gSprites
+ adds r4, r5, r1
+ lsls r0, r6, 4
+ strh r0, [r4, 0x2E]
+ lsls r0, r7, 4
+ strh r0, [r4, 0x30]
+ mov r2, r10
+ subs r0, r2, r6
+ lsls r0, 4
+ ldr r3, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r1, [r3, r2]
+ bl __divsi3
+ strh r0, [r4, 0x32]
+ mov r3, r9
+ lsls r0, r3, 16
+ asrs r0, 16
+ subs r0, r7
+ lsls r0, 4
+ ldr r2, =gBattleAnimArgs
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ bl __divsi3
+ strh r0, [r4, 0x34]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x36]
+ mov r2, r10
+ strh r2, [r4, 0x38]
+ mov r3, r9
+ strh r3, [r4, 0x3A]
+ ldr r0, =gSprites + 0x1C
+ adds r5, r0
+ ldr r0, =sub_8112384
+ str r0, [r5]
+ ldr r2, [sp]
+ movs r3, 0x20
+ ldrsh r1, [r2, r3]
+ adds r1, 0xD
+ lsls r1, 1
+ adds r0, r2, 0
+ adds r0, 0x8
+ adds r0, r1
+ mov r1, r8
+ strh r1, [r0]
+ ldrh r0, [r2, 0x20]
+ adds r0, 0x1
+ strh r0, [r2, 0x20]
+_08112502:
+ ldr r2, [sp, 0x10]
+ movs r3, 0x80
+ lsls r3, 9
+ adds r0, r2, r3
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ ble _08112436
+ b _081125B4
+ .pool
+_08112530:
+ ldr r0, =gUnknown_08596DB8
+ ldr r7, [sp, 0x4]
+ ldr r2, [sp, 0x8]
+ lsls r1, r2, 16
+ asrs r1, 16
+ str r1, [sp, 0xC]
+ adds r1, r7, 0
+ ldr r2, [sp, 0xC]
+ movs r3, 0x37
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ cmp r0, 0x40
+ beq _081125B4
+ movs r3, 0x30
+ mov r10, r3
+ movs r0, 0x28
+ mov r9, r0
+ ldr r6, =gSprites
+ mov r1, r8
+ lsls r5, r1, 4
+ add r5, r8
+ lsls r5, 2
+ adds r4, r5, r6
+ lsls r0, r7, 4
+ strh r0, [r4, 0x2E]
+ ldr r2, [sp, 0xC]
+ lsls r0, r2, 4
+ strh r0, [r4, 0x30]
+ subs r0, r3, r7
+ lsls r0, 4
+ ldr r3, =gBattleAnimArgs
+ movs r2, 0x2
+ ldrsh r1, [r3, r2]
+ bl __divsi3
+ strh r0, [r4, 0x32]
+ mov r3, r9
+ ldr r1, [sp, 0xC]
+ subs r0, r3, r1
+ lsls r0, 4
+ ldr r2, =gBattleAnimArgs
+ movs r3, 0x2
+ ldrsh r1, [r2, r3]
+ bl __divsi3
+ strh r0, [r4, 0x34]
+ ldr r1, =gBattleAnimArgs
+ ldrh r0, [r1, 0x2]
+ strh r0, [r4, 0x36]
+ mov r2, r10
+ strh r2, [r4, 0x38]
+ mov r3, r9
+ strh r3, [r4, 0x3A]
+ adds r6, 0x1C
+ adds r5, r6
+ ldr r0, =sub_8112384
+ str r0, [r5]
+ mov r1, r8
+ ldr r0, [sp]
+ strh r1, [r0, 0x22]
+ movs r0, 0x1
+ ldr r2, [sp]
+ strh r0, [r2, 0x20]
+_081125B4:
+ ldr r0, =sub_81125E0
+ ldr r3, [sp]
+ str r0, [r3]
+ 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_81123C4
+
+ thumb_func_start sub_81125E0
+sub_81125E0: @ 81125E0
+ 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 _08112696
+ cmp r1, 0x1
+ bgt _08112608
+ cmp r1, 0
+ beq _08112616
+ b _08112752
+ .pool
+_08112608:
+ cmp r1, 0x2
+ bne _0811260E
+ b _08112728
+_0811260E:
+ cmp r1, 0x3
+ bne _08112614
+ b _0811273C
+_08112614:
+ b _08112752
+_08112616:
+ movs r2, 0x14
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _0811267C
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x1
+ strh r0, [r4, 0x12]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _0811267C
+ strh r1, [r4, 0x12]
+ ldrh r0, [r4, 0x16]
+ adds r0, 0x1
+ strh r0, [r4, 0x16]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0811264C
+ ldrh r1, [r4, 0x18]
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xF
+ bgt _0811265A
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x18]
+ b _0811265A
+_0811264C:
+ ldrh r1, [r4, 0x1A]
+ movs r2, 0x1A
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0811265A
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x1A]
+_0811265A:
+ ldrh r1, [r4, 0x1A]
+ lsls r1, 8
+ ldrh r0, [r4, 0x18]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0x16
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x17
+ ble _0811267C
+ movs r0, 0
+ strh r0, [r4, 0x16]
+ movs r0, 0x1
+ strh r0, [r4, 0x14]
+_0811267C:
+ ldrh r1, [r4, 0x1C]
+ movs r2, 0x1C
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _0811268C
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x1C]
+ b _08112752
+_0811268C:
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08112752
+ b _08112734
+_08112696:
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x1
+ strh r0, [r4, 0x12]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ ble _08112752
+ movs r0, 0
+ strh r0, [r4, 0x12]
+ ldrh r0, [r4, 0x16]
+ adds r0, 0x1
+ strh r0, [r4, 0x16]
+ ands r0, r1
+ lsls r0, 16
+ cmp r0, 0
+ beq _081126C6
+ ldrh r1, [r4, 0x18]
+ movs r2, 0x18
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _081126D4
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x18]
+ b _081126D4
+_081126C6:
+ ldrh r1, [r4, 0x1A]
+ movs r2, 0x1A
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xF
+ bgt _081126D4
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x1A]
+_081126D4:
+ ldrh r1, [r4, 0x1A]
+ lsls r1, 8
+ ldrh r0, [r4, 0x18]
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ ldr r1, [r4, 0x18]
+ movs r0, 0x80
+ lsls r0, 13
+ cmp r1, r0
+ bne _08112752
+ movs r5, 0
+ b _08112718
+_081126F4:
+ adds r1, r5, 0
+ adds r1, 0xD
+ lsls r1, 1
+ adds r0, r4, 0
+ adds r0, 0x8
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, =gSprites
+ adds r0, r1
+ bl DestroySprite
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+_08112718:
+ movs r1, 0x20
+ ldrsh r0, [r4, r1]
+ cmp r5, r0
+ blt _081126F4
+ b _08112734
+ .pool
+_08112728:
+ ldrh r0, [r4, 0x12]
+ adds r0, 0x1
+ strh r0, [r4, 0x12]
+ lsls r0, 16
+ cmp r0, 0
+ ble _08112752
+_08112734:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08112752
+_0811273C:
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_08112752:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81125E0
+
+ thumb_func_start sub_8112758
+sub_8112758: @ 8112758
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ ldr r0, =gBattle_WIN0H
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r1, [r0]
+ ldr r1, =0x00003f3f
+ movs r0, 0x48
+ bl SetGpuReg
+ ldr r1, =0x00003f1f
+ movs r0, 0x4A
+ bl SetGpuReg
+ movs r0, 0x50
+ movs r1, 0xC8
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0x10
+ bl SetGpuReg
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _081127A0
+ bl IsContest
+ lsls r0, 24
+ cmp r0, 0
+ beq _081127B8
+_081127A0:
+ movs r6, 0x28
+ b _081127BA
+ .pool
+_081127B8:
+ movs r6, 0xC8
+_081127BA:
+ ldr r1, =gBattle_WIN0H
+ lsls r3, r6, 16
+ asrs r2, r3, 16
+ lsls r0, r2, 8
+ orrs r0, r2
+ strh r0, [r1]
+ ldr r1, =gBattle_WIN0V
+ movs r5, 0x28
+ ldr r0, =0x00002828
+ strh r0, [r1]
+ lsrs r3, 16
+ movs r1, 0xF0
+ subs r1, r2
+ movs r4, 0x48
+ ldr r2, =gTasks
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r2
+ strh r3, [r0, 0xA]
+ strh r1, [r0, 0xC]
+ strh r5, [r0, 0xE]
+ strh r4, [r0, 0x10]
+ strh r6, [r0, 0x12]
+ strh r5, [r0, 0x14]
+ ldr r1, =sub_811280C
+ str r1, [r0]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112758
+
+ thumb_func_start sub_811280C
+sub_811280C: @ 811280C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x20
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0811292C @ =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r4, r1, r2
+ ldrh r1, [r4, 0x8]
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x8]
+ ldrh r5, [r4, 0xA]
+ ldrh r7, [r4, 0xC]
+ ldrh r0, [r4, 0xE]
+ mov r10, r0
+ ldrh r2, [r4, 0x10]
+ str r2, [sp, 0xC]
+ ldrh r0, [r4, 0x12]
+ ldrh r2, [r4, 0x14]
+ mov r8, r2
+ lsls r1, 16
+ asrs r6, r1, 16
+ cmp r6, 0xF
+ ble _08112848
+ b _08112938
+_08112848:
+ lsls r0, 16
+ asrs r0, 16
+ bl __floatsidf
+ str r0, [sp, 0x10]
+ str r1, [sp, 0x14]
+ lsls r0, r5, 16
+ asrs r0, 16
+ bl __floatsidf
+ ldr r2, _08112930 @ =0x3FB00000
+ ldr r3, _08112934 @ =0x00000000
+ bl __muldf3
+ adds r5, r1, 0
+ adds r4, r0, 0
+ adds r0, r6, 0
+ bl __floatsidf
+ str r0, [sp, 0x18]
+ str r1, [sp, 0x1C]
+ adds r1, r5, 0
+ adds r0, r4, 0
+ ldr r2, [sp, 0x18]
+ ldr r3, [sp, 0x1C]
+ bl __muldf3
+ adds r3, r1, 0
+ adds r2, r0, 0
+ ldr r0, [sp, 0x10]
+ ldr r1, [sp, 0x14]
+ bl __subdf3
+ bl __fixunsdfsi
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+ lsls r0, r7, 16
+ asrs r0, 16
+ bl __floatsidf
+ ldr r2, _08112930 @ =0x3FB00000
+ ldr r3, _08112934 @ =0x00000000
+ bl __muldf3
+ ldr r2, [sp, 0x18]
+ ldr r3, [sp, 0x1C]
+ bl __muldf3
+ adds r3, r1, 0
+ adds r2, r0, 0
+ ldr r0, [sp, 0x10]
+ ldr r1, [sp, 0x14]
+ bl __adddf3
+ bl __fixunsdfsi
+ lsls r0, 16
+ lsrs r7, r0, 16
+ mov r1, r8
+ lsls r0, r1, 16
+ asrs r0, 16
+ bl __floatsidf
+ adds r5, r1, 0
+ adds r4, r0, 0
+ mov r2, r10
+ lsls r0, r2, 16
+ asrs r0, 16
+ bl __floatsidf
+ ldr r2, _08112930 @ =0x3FB00000
+ ldr r3, _08112934 @ =0x00000000
+ bl __muldf3
+ ldr r2, [sp, 0x18]
+ ldr r3, [sp, 0x1C]
+ bl __muldf3
+ adds r3, r1, 0
+ adds r2, r0, 0
+ adds r1, r5, 0
+ adds r0, r4, 0
+ bl __subdf3
+ bl __fixunsdfsi
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r1, [sp, 0xC]
+ lsls r0, r1, 16
+ asrs r0, 16
+ bl __floatsidf
+ ldr r2, _08112930 @ =0x3FB00000
+ ldr r3, _08112934 @ =0x00000000
+ bl __muldf3
+ ldr r2, [sp, 0x18]
+ ldr r3, [sp, 0x1C]
+ bl __muldf3
+ adds r3, r1, 0
+ adds r2, r0, 0
+ adds r1, r5, 0
+ adds r0, r4, 0
+ bl __adddf3
+ bl __fixunsdfsi
+ lsls r0, 16
+ lsrs r5, r0, 16
+ b _08112966
+ .align 2, 0
+_0811292C:
+ .4byte gTasks
+_08112930:
+ .4byte 0x3FB00000
+_08112934:
+ .4byte 0x00000000
+_08112938:
+ movs r2, 0
+ mov r9, r2
+ movs r7, 0xF0
+ movs r6, 0
+ movs r5, 0x70
+ str r6, [sp]
+ str r6, [sp, 0x4]
+ str r6, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0
+ movs r3, 0
+ bl sub_80A75AC
+ lsls r0, 16
+ lsrs r0, 16
+ str r6, [sp]
+ movs r1, 0
+ movs r2, 0x10
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ ldr r0, _08112988 @=sub_8112994
+ str r0, [r4]
+_08112966:
+ ldr r1, _0811298C @=gBattle_WIN0H
+ mov r2, r9
+ lsls r0, r2, 8
+ orrs r7, r0
+ strh r7, [r1]
+ ldr r1, _08112990 @=gBattle_WIN0V
+ lsls r0, r6, 8
+ orrs r5, r0
+ strh r5, [r1]
+ add sp, 0x20
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112988:
+ .4byte sub_8112994
+_0811298C:
+ .4byte gBattle_WIN0H
+_08112990:
+ .4byte gBattle_WIN0V
+ thumb_func_end sub_811280C
+
+ thumb_func_start sub_8112994
+sub_8112994: @ 8112994
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _081129DA
+ ldr r0, =gBattle_WIN0H
+ 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
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r5, 0
+ bl DestroyAnimVisualTask
+_081129DA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112994
+
+ thumb_func_start sub_81129F0
+sub_81129F0: @ 81129F0
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x1
+ bl InitAnimSpritePos
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ bne _08112A24
+ movs r2, 0x18
+ ldr r3, =0x0000fffe
+ ldrb r0, [r4, 0x3]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x10
+ orrs r1, r0
+ strb r1, [r4, 0x3]
+ b _08112A28
+ .pool
+_08112A24:
+ ldr r2, =0x0000ffe8
+ movs r3, 0x2
+_08112A28:
+ lsls r0, r2, 16
+ asrs r0, 16
+ ldrh r1, [r4, 0x20]
+ adds r0, r1
+ strh r0, [r4, 0x20]
+ strh r3, [r4, 0x30]
+ movs r0, 0x3C
+ strh r0, [r4, 0x2E]
+ ldr r0, =sub_8112A4C
+ str r0, [r4, 0x1C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81129F0
+
+ thumb_func_start sub_8112A4C
+sub_8112A4C: @ 8112A4C
+ push {r4,lr}
+ adds r3, r0, 0
+ ldrh r1, [r3, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r3, r2]
+ cmp r0, 0
+ ble _08112A5E
+ subs r0, r1, 0x1
+ b _08112AC2
+_08112A5E:
+ ldrh r0, [r3, 0x30]
+ ldrh r4, [r3, 0x24]
+ adds r1, r0, r4
+ strh r1, [r3, 0x24]
+ adds r0, r1, 0x7
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0xE
+ bls _08112AC4
+ ldrh r0, [r3, 0x20]
+ adds r0, r1
+ strh r0, [r3, 0x20]
+ movs r0, 0
+ strh r0, [r3, 0x24]
+ ldrh r2, [r3, 0x4]
+ lsls r1, r2, 22
+ lsrs r1, 22
+ adds r1, 0x8
+ ldr r4, =0x000003ff
+ adds r0, r4, 0
+ ands r1, r0
+ ldr r0, =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r3, 0x4]
+ ldrh r0, [r3, 0x32]
+ adds r0, 0x1
+ strh r0, [r3, 0x32]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x3
+ bne _08112AC0
+ movs r0, 0x1E
+ strh r0, [r3, 0x2E]
+ ldr r0, =WaitAnimForDuration
+ str r0, [r3, 0x1C]
+ ldr r1, =sub_8112ACC
+ adds r0, r3, 0
+ bl StoreSpriteCallbackInData6
+ b _08112AC4
+ .pool
+_08112AC0:
+ movs r0, 0x28
+_08112AC2:
+ strh r0, [r3, 0x2E]
+_08112AC4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112A4C
+
+ thumb_func_start sub_8112ACC
+sub_8112ACC: @ 8112ACC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x2E
+ ldrsh r5, [r4, r0]
+ cmp r5, 0
+ bne _08112AF6
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0x10
+ bl SetGpuReg
+ ldrh r0, [r4, 0x2E]
+ adds r0, 0x1
+ strh r0, [r4, 0x2E]
+ strh r5, [r4, 0x30]
+ strh r5, [r4, 0x32]
+ b _08112B3A
+_08112AF6:
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x1
+ bgt _08112B06
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x30]
+ b _08112B3A
+_08112B06:
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x1
+ strh r0, [r4, 0x32]
+ movs r1, 0x10
+ subs r1, r0
+ lsls r0, 8
+ orrs r1, r0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ movs r1, 0x32
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x10
+ bne _08112B3A
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, =sub_8112B44
+ str r0, [r4, 0x1C]
+_08112B3A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112ACC
+
+ thumb_func_start sub_8112B44
+sub_8112B44: @ 8112B44
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ ldr r0, =gBattle_WIN0H
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, =gBattle_WIN0V
+ strh r1, [r0]
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112B44
+
+ thumb_func_start sub_8112B78
+sub_8112B78: @ 8112B78
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r1, 0x2E
+ ldrsh r0, [r5, r1]
+ movs r1, 0xC
+ bl Sin
+ strh r0, [r5, 0x24]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ lsls r0, 24
+ cmp r0, 0
+ beq _08112B9C
+ ldrh r0, [r5, 0x24]
+ negs r0, r0
+ strh r0, [r5, 0x24]
+_08112B9C:
+ ldrh r0, [r5, 0x2E]
+ adds r0, 0x6
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x2E]
+ movs r1, 0x80
+ lsls r1, 1
+ adds r0, r1, 0
+ ldrh r1, [r5, 0x30]
+ adds r0, r1
+ strh r0, [r5, 0x30]
+ lsls r0, 16
+ asrs r0, 24
+ negs r0, r0
+ strh r0, [r5, 0x26]
+ ldrh r0, [r5, 0x3C]
+ adds r0, 0x1
+ strh r0, [r5, 0x3C]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1
+ bne _08112BE8
+ ldr r0, =0x0000050b
+ strh r0, [r5, 0x3A]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ ldrh r1, [r5, 0x3A]
+ movs r0, 0x52
+ bl SetGpuReg
+ b _08112C40
+ .pool
+_08112BE8:
+ cmp r0, 0x1E
+ ble _08112C40
+ ldrh r0, [r5, 0x32]
+ adds r0, 0x1
+ strh r0, [r5, 0x32]
+ ldrh r1, [r5, 0x3A]
+ lsls r0, r1, 16
+ asrs r0, 24
+ lsls r0, 16
+ movs r6, 0xFF
+ ands r6, r1
+ movs r1, 0x80
+ lsls r1, 9
+ adds r0, r1
+ lsrs r7, r0, 16
+ cmp r7, 0x10
+ bls _08112C0C
+ movs r7, 0x10
+_08112C0C:
+ subs r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r0, 0
+ bge _08112C18
+ movs r6, 0
+_08112C18:
+ lsls r4, r7, 8
+ orrs r4, r6
+ lsls r1, r4, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ strh r4, [r5, 0x3A]
+ cmp r7, 0x10
+ bne _08112C40
+ cmp r6, 0
+ bne _08112C40
+ adds r2, r5, 0
+ adds r2, 0x3E
+ ldrb r0, [r2]
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r2]
+ ldr r0, =sub_8112C4C
+ str r0, [r5, 0x1C]
+_08112C40:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112B78
+
+ thumb_func_start sub_8112C4C
+sub_8112C4C: @ 8112C4C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r4, 0
+ bl DestroyAnimSprite
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112C4C
+
+ thumb_func_start sub_8112C6C
+sub_8112C6C: @ 8112C6C
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r0, =gTasks
+ adds r4, r0
+ movs r6, 0
+ strh r6, [r4, 0x8]
+ movs r0, 0x10
+ mov r8, r0
+ mov r0, r8
+ strh r0, [r4, 0xA]
+ ldr r5, =gBattleAnimAttacker
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl GetBattlerSpriteCoord
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x1A]
+ ldrb r0, [r5]
+ bl GetBattlerYCoordWithElevation
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x1C]
+ ldrb r0, [r5]
+ movs r1, 0x1
+ bl sub_80A861C
+ lsls r0, 16
+ asrs r1, r0, 16
+ lsrs r0, 31
+ adds r1, r0
+ asrs r1, 1
+ adds r1, 0x8
+ strh r1, [r4, 0x1E]
+ strh r6, [r4, 0x16]
+ ldrb r0, [r5]
+ bl sub_80A8328
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4, 0x12]
+ ldrb r0, [r5]
+ bl sub_80A82E4
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x2
+ strh r0, [r4, 0x14]
+ strh r6, [r4, 0xE]
+ mov r0, r8
+ strh r0, [r4, 0x10]
+ movs r1, 0xFD
+ lsls r1, 6
+ movs r0, 0x50
+ bl SetGpuReg
+ movs r1, 0x80
+ lsls r1, 5
+ movs r0, 0x52
+ bl SetGpuReg
+ strh r6, [r4, 0x18]
+ ldr r0, =sub_8112D10
+ str r0, [r4]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112C6C
+
+ thumb_func_start sub_8112D10
+sub_8112D10: @ 8112D10
+ push {r4-r7,lr}
+ 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, 0x5
+ bls _08112D2A
+ b _08112E96
+_08112D2A:
+ lsls r0, 2
+ ldr r1, =_08112D3C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .pool
+ .align 2, 0
+_08112D3C:
+ .4byte _08112D54
+ .4byte _08112DC4
+ .4byte _08112E06
+ .4byte _08112E1A
+ .4byte _08112E70
+ .4byte _08112E80
+_08112D54:
+ movs r6, 0
+_08112D56:
+ movs r2, 0x1A
+ ldrsh r1, [r4, r2]
+ movs r0, 0x1C
+ ldrsh r2, [r4, r0]
+ ldrb r3, [r4, 0x14]
+ ldr r0, =gUnknown_08596E30
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x40
+ beq _08112DAA
+ ldr r1, =gSprites
+ lsls r0, r2, 4
+ adds r0, r2
+ lsls r0, 2
+ adds r5, r0, r1
+ strh r7, [r5, 0x2E]
+ ldr r0, =gBattleAnimAttacker
+ ldrb r0, [r0]
+ bl GetBattlerSide
+ movs r1, 0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08112D8C
+ movs r1, 0x1
+_08112D8C:
+ strh r1, [r5, 0x30]
+ movs r0, 0x2A
+ muls r0, r6
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r5, 0x32]
+ ldrh r0, [r4, 0x1E]
+ strh r0, [r5, 0x34]
+ lsls r0, r6, 1
+ adds r0, r6
+ lsls r0, 1
+ strh r0, [r5, 0x38]
+ ldrh r0, [r4, 0x16]
+ adds r0, 0x1
+ strh r0, [r4, 0x16]
+_08112DAA:
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0x5
+ bls _08112D56
+ b _08112E78
+ .pool
+_08112DC4:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08112DE2
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xD
+ bgt _08112DF0
+ adds r0, r1, 0x1
+ strh r0, [r4, 0xE]
+ b _08112DF0
+_08112DE2:
+ ldrh r1, [r4, 0x10]
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x4
+ ble _08112DF0
+ subs r0, r1, 0x1
+ strh r0, [r4, 0x10]
+_08112DF0:
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ ldrh r2, [r4, 0xE]
+ ldrh r1, [r4, 0x10]
+ cmp r0, 0xE
+ bne _08112E60
+ cmp r1, 0x4
+ bne _08112E60
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ b _08112E5A
+_08112E06:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x1E
+ ble _08112E96
+ movs r0, 0
+ strh r0, [r4, 0xA]
+ b _08112E78
+_08112E1A:
+ ldrh r0, [r4, 0xA]
+ adds r0, 0x1
+ strh r0, [r4, 0xA]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08112E38
+ ldrh r1, [r4, 0xE]
+ movs r2, 0xE
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ ble _08112E46
+ subs r0, r1, 0x1
+ strh r0, [r4, 0xE]
+ b _08112E46
+_08112E38:
+ ldrh r1, [r4, 0x10]
+ movs r2, 0x10
+ ldrsh r0, [r4, r2]
+ cmp r0, 0xF
+ bgt _08112E46
+ adds r0, r1, 0x1
+ strh r0, [r4, 0x10]
+_08112E46:
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ ldrh r2, [r4, 0xE]
+ ldrh r1, [r4, 0x10]
+ cmp r0, 0
+ bne _08112E60
+ cmp r1, 0x10
+ bne _08112E60
+ movs r0, 0x1
+ strh r0, [r4, 0x18]
+_08112E5A:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+_08112E60:
+ lsls r1, 8
+ orrs r1, r2
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x52
+ bl SetGpuReg
+ b _08112E96
+_08112E70:
+ movs r2, 0x16
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ bne _08112E96
+_08112E78:
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ b _08112E96
+_08112E80:
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ adds r0, r7, 0
+ bl DestroyAnimVisualTask
+_08112E96:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112D10
+
+ thumb_func_start sub_8112E9C
+sub_8112E9C: @ 8112E9C
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ bne _08112EAE
+ ldrh r0, [r4, 0x32]
+ adds r0, 0x2
+ b _08112EB2
+_08112EAE:
+ ldrh r0, [r4, 0x32]
+ subs r0, 0x2
+_08112EB2:
+ strh r0, [r4, 0x32]
+ ldrh r1, [r4, 0x32]
+ movs r0, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x32]
+ movs r2, 0x32
+ ldrsh r0, [r4, r2]
+ movs r2, 0x34
+ ldrsh r1, [r4, r2]
+ bl Sin
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x32]
+ subs r0, 0x41
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7E
+ bhi _08112EF4
+ ldr r2, =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r1, [r0, 0x12]
+ adds r1, 0x1
+ movs r0, 0x3
+ ands r1, r0
+ b _08112F08
+ .pool
+_08112EF4:
+ ldr r2, =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ movs r2, 0x3
+ ldrb r1, [r0, 0x12]
+ ands r1, r2
+_08112F08:
+ lsls r1, 2
+ ldrb r2, [r4, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4, 0x5]
+ ldrh r0, [r4, 0x38]
+ adds r0, 0x1
+ strh r0, [r4, 0x38]
+ movs r1, 0x38
+ ldrsh r0, [r4, r1]
+ lsls r0, 3
+ movs r1, 0xFF
+ ands r0, r1
+ strh r0, [r4, 0x3A]
+ movs r2, 0x3A
+ ldrsh r0, [r4, r2]
+ movs r1, 0x7
+ bl Sin
+ strh r0, [r4, 0x26]
+ ldr r2, =gTasks
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r0, r2
+ movs r2, 0x18
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08112F56
+ ldrh r0, [r1, 0x16]
+ subs r0, 0x1
+ strh r0, [r1, 0x16]
+ adds r0, r4, 0
+ bl DestroySprite
+_08112F56:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112E9C
+
+ thumb_func_start sub_8112F60
+sub_8112F60: @ 8112F60
+ adds r3, r0, 0
+ adds r3, 0x3E
+ ldrb r1, [r3]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r3]
+ ldr r2, =gBattlerSpriteIds
+ ldr r1, =gBattleAnimAttacker
+ ldrb r1, [r1]
+ adds r1, r2
+ ldrb r1, [r1]
+ strh r1, [r0, 0x38]
+ movs r1, 0x80
+ strh r1, [r0, 0x2E]
+ movs r1, 0xA
+ strh r1, [r0, 0x30]
+ ldr r2, =gBattleAnimArgs
+ ldrh r1, [r2]
+ strh r1, [r0, 0x32]
+ ldrh r1, [r2, 0x2]
+ strh r1, [r0, 0x34]
+ ldr r1, =sub_8112FB8
+ str r1, [r0, 0x1C]
+ ldr r2, =gSprites
+ movs r3, 0x38
+ ldrsh r1, [r0, r3]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x22]
+ adds r1, 0x8
+ strh r1, [r0, 0x22]
+ bx lr
+ .pool
+ thumb_func_end sub_8112F60
+
+ thumb_func_start sub_8112FB8
+sub_8112FB8: @ 8112FB8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrh r0, [r5, 0x34]
+ movs r1, 0x34
+ ldrsh r3, [r5, r1]
+ cmp r3, 0
+ beq _08113020
+ subs r0, 0x1
+ strh r0, [r5, 0x34]
+ movs r2, 0x2E
+ ldrsh r0, [r5, r2]
+ movs r2, 0x30
+ ldrsh r1, [r5, r2]
+ bl Sin
+ ldr r4, =gSprites
+ movs r1, 0x38
+ ldrsh r2, [r5, r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ strh r0, [r1, 0x24]
+ movs r2, 0x2E
+ ldrsh r0, [r5, r2]
+ movs r2, 0x30
+ ldrsh r1, [r5, r2]
+ bl Cos
+ movs r1, 0x38
+ ldrsh r2, [r5, r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ strh r0, [r1, 0x26]
+ ldrh r0, [r5, 0x32]
+ ldrh r2, [r5, 0x2E]
+ adds r1, r0, r2
+ strh r1, [r5, 0x2E]
+ lsls r0, r1, 16
+ asrs r0, 16
+ cmp r0, 0xFF
+ ble _08113054
+ ldr r2, =0xffffff00
+ adds r0, r1, r2
+ strh r0, [r5, 0x2E]
+ b _08113054
+ .pool
+_08113020:
+ ldr r2, =gSprites
+ movs r0, 0x38
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r3, [r0, 0x24]
+ movs r0, 0x38
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r3, [r0, 0x26]
+ movs r0, 0x38
+ ldrsh r1, [r5, r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrh r1, [r0, 0x22]
+ subs r1, 0x8
+ strh r1, [r0, 0x22]
+ ldr r0, =move_anim_8074EE0
+ str r0, [r5, 0x1C]
+_08113054:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8112FB8
+
+ .align 2, 0
diff --git a/asm/ice.s b/asm/ice.s
new file mode 100644
index 000000000..37142e535
--- /dev/null
+++ b/asm/ice.s
@@ -0,0 +1,2944 @@
+ .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, =sub_80A634C
+ 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, =sub_80A67BC
+ 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 move_anim_8074EE0
+_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_0854C270
+ 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_0854C270
+ 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, =sub_80A67D8
+ 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/international_string_util.s b/asm/international_string_util.s
deleted file mode 100644
index 469d88787..000000000
--- a/asm/international_string_util.s
+++ /dev/null
@@ -1,355 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start sub_81DB41C
-sub_81DB41C: @ 81DB41C
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r1, [r4]
- movs r7, 0
- movs r6, 0
- ldrh r0, [r4, 0xC]
- cmp r7, r0
- bge _081DB44C
- adds r5, r1, 0
-_081DB42E:
- ldrb r0, [r4, 0x17]
- lsls r0, 26
- lsrs r0, 26
- ldr r1, [r5]
- movs r2, 0
- bl GetStringWidth
- cmp r0, r7
- ble _081DB442
- adds r7, r0, 0
-_081DB442:
- adds r5, 0x8
- adds r6, 0x1
- ldrh r0, [r4, 0xC]
- cmp r6, r0
- blt _081DB42E
-_081DB44C:
- ldrb r0, [r4, 0x12]
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x9
- cmp r0, 0
- bge _081DB45A
- adds r0, 0x7
-_081DB45A:
- asrs r0, 3
- cmp r0, 0x1C
- ble _081DB462
- movs r0, 0x1C
-_081DB462:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB41C
-
- thumb_func_start CopyMonCategoryText
-CopyMonCategoryText: @ 81DB468
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 5
- ldr r1, =gPokedexEntries
- adds r2, r1
- adds r1, r2, 0
- bl StringCopy
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, =gText_Pokemon
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyMonCategoryText
-
- thumb_func_start sub_81DB494
-sub_81DB494: @ 81DB494
- push {r4-r7,lr}
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- cmp r5, 0
- beq _081DB4B6
- adds r1, r5, 0
- bl StringCopy
- adds r4, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- b _081DB4BA
-_081DB4B6:
- adds r4, r0, 0
- movs r0, 0
-_081DB4BA:
- subs r3, r7, r0
- cmp r3, 0
- ble _081DB4D4
- movs r0, 0xFC
- strb r0, [r4]
- adds r4, 0x1
- movs r0, 0x11
- strb r0, [r4]
- adds r4, 0x1
- strb r3, [r4]
- adds r4, 0x1
- movs r0, 0xFF
- strb r0, [r4]
-_081DB4D4:
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB494
-
- thumb_func_start PadNameString
-PadNameString: @ 81DB4DC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl StripExtCtrlCodes
- adds r0, r4, 0
- bl StringLength
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r5, 0xFC
- bne _081DB51A
- cmp r1, 0x5
- bhi _081DB51E
- movs r3, 0xFC
- movs r2, 0x7
-_081DB4FE:
- adds r0, r4, r1
- strb r3, [r0]
- strb r2, [r0, 0x1]
- adds r0, r1, 0x2
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x5
- bls _081DB4FE
- b _081DB51E
-_081DB510:
- adds r0, r4, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
-_081DB51A:
- cmp r1, 0x5
- bls _081DB510
-_081DB51E:
- adds r1, r4, r1
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PadNameString
-
- thumb_func_start sub_81DB52C
-sub_81DB52C: @ 81DB52C
- push {r4,lr}
- adds r4, r0, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081DB546
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _081DB54C
-_081DB546:
- adds r0, r4, 0
- bl StripExtCtrlCodes
-_081DB54C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81DB52C
-
- thumb_func_start sub_81DB554
-sub_81DB554: @ 81DB554
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _081DB572
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _081DB5A4
-_081DB572:
- cmp r5, 0xFC
- bne _081DB57E
- adds r0, r4, 0
- bl StripExtCtrlCodes
- b _081DB5A4
-_081DB57E:
- adds r1, r4, 0
- b _081DB584
-_081DB582:
- adds r1, 0x1
-_081DB584:
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _081DB582
- cmp r1, r4
- bcc _081DB5A4
- ldrb r0, [r1]
- cmp r0, r5
- bne _081DB5A4
- movs r2, 0xFF
-_081DB596:
- strb r2, [r1]
- subs r1, 0x1
- cmp r1, r4
- bcc _081DB5A4
- ldrb r0, [r1]
- cmp r0, r5
- beq _081DB596
-_081DB5A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81DB554
-
- thumb_func_start sub_81DB5AC
-sub_81DB5AC: @ 81DB5AC
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2]
- adds r2, 0x1
- cmp r0, 0xFC
- bne _081DB5E4
- ldrb r0, [r2]
- adds r2, 0x1
- cmp r0, 0x15
- bne _081DB5E4
- b _081DB5CE
-_081DB5C2:
- cmp r1, 0xFC
- bne _081DB5CC
- ldrb r0, [r2, 0x1]
- cmp r0, 0x16
- beq _081DB5E4
-_081DB5CC:
- adds r2, 0x1
-_081DB5CE:
- ldrb r1, [r2]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081DB5C2
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x16
- strb r0, [r2]
- movs r0, 0xFF
- strb r0, [r2, 0x1]
-_081DB5E4:
- pop {r0}
- bx r0
- thumb_func_end sub_81DB5AC
-
- thumb_func_start TVShowConvertInternationalString
-TVShowConvertInternationalString: @ 81DB5E8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- bl StringCopy
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl ConvertInternationalString
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end TVShowConvertInternationalString
-
- thumb_func_start sub_81DB604
-sub_81DB604: @ 81DB604
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _081DB618
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _081DB618
- movs r0, 0x1
- b _081DB61A
-_081DB618:
- movs r0, 0x2
-_081DB61A:
- pop {r1}
- bx r1
- thumb_func_end sub_81DB604
-
- thumb_func_start sub_81DB620
-sub_81DB620: @ 81DB620
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- ldr r0, =gWindows
- adds r4, r0
- lsls r7, r3, 5
- ldrb r0, [r4, 0x3]
- lsls r6, r0, 5
- muls r2, r6
- ldr r0, [r4, 0x8]
- adds r0, r2
- lsls r1, 5
- adds r5, r0, r1
- ldr r0, [sp, 0x18]
- cmp r0, 0
- ble _081DB66C
- adds r4, r0, 0
-_081DB646:
- ldr r0, =0x11111111
- str r0, [sp]
- adds r2, r7, 0
- cmp r2, 0
- bge _081DB652
- adds r2, 0x3
-_081DB652:
- lsls r2, 9
- lsrs r2, 11
- movs r0, 0x80
- lsls r0, 17
- orrs r2, r0
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- adds r5, r6
- subs r4, 0x1
- cmp r4, 0
- bne _081DB646
-_081DB66C:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DB620
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
deleted file mode 100644
index 1179b9866..000000000
--- a/asm/link_rfu.s
+++ /dev/null
@@ -1,2021 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8011404
-sub_8011404: @ 8011404
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bne _08011410
- b _08011570
-_08011410:
- cmp r4, 0x31
- bgt _0801143E
- cmp r4, 0x22
- beq _08011494
- cmp r4, 0x22
- bgt _0801142C
- cmp r4, 0x20
- beq _0801147C
- cmp r4, 0x20
- ble _08011426
- b _080115DE
-_08011426:
- cmp r4, 0
- beq _0801146E
- b _080115DE
-_0801142C:
- cmp r4, 0x24
- beq _080114BA
- cmp r4, 0x24
- blt _080114B0
- cmp r4, 0x25
- beq _08011504
- cmp r4, 0x30
- beq _0801150E
- b _080115DE
-_0801143E:
- cmp r4, 0x44
- bgt _08011454
- cmp r4, 0x42
- blt _08011448
- b _080115DE
-_08011448:
- cmp r4, 0x33
- beq _08011522
- cmp r4, 0x33
- bge _08011452
- b _0801158C
-_08011452:
- b _080115DE
-_08011454:
- cmp r4, 0xF3
- bne _0801145A
- b _080115AC
-_0801145A:
- cmp r4, 0xF3
- bgt _08011466
- cmp r4, 0xF0
- bge _08011464
- b _080115DE
-_08011464:
- b _080115C4
-_08011466:
- cmp r4, 0xFF
- bne _0801146C
- b _080115C4
-_0801146C:
- b _080115DE
-_0801146E:
- ldr r1, =gUnknown_03005000
- movs r0, 0x6
- strh r0, [r1, 0x4]
- b _080115DE
- .pool
-_0801147C:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000ccd
- adds r0, r2
- b _080115DC
- .pool
-_08011494:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000c3e
- adds r0, r2
- ldrb r2, [r0]
- b _080115DC
- .pool
-_080114B0:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _080115DE
-_080114BA:
- ldr r4, =gUnknown_03005000
- movs r1, 0
- movs r0, 0xB
- strh r0, [r4, 0x4]
- ldr r2, =0x00000c85
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, =0x00000c86
- adds r2, r4, r0
- strb r1, [r2]
- ldr r1, =0x00000c3e
- adds r5, r4, r1
- ldrb r1, [r5]
- movs r0, 0x20
- movs r3, 0x1
- bl rfu_setRecvBuffer
- ldrb r1, [r5]
- ldr r2, =0x00000c3f
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _080115DE
- .pool
-_08011504:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_8011A64
- b _080115DE
-_0801150E:
- ldr r0, =gUnknown_03005000
- adds r2, r0, 0
- adds r2, 0xF0
- movs r1, 0x2
- strb r1, [r2]
- ldr r1, =0x00000c86
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080115DE
-_08011522:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08011532
- movs r0, 0x4
- strb r0, [r1]
-_08011532:
- ldr r1, =0x00000c86
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _08011544
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
-_08011544:
- ldr r0, =gUnknown_082ED7FC
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_5
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080115DE
- adds r0, r4, 0
- bl sub_8011170
- b _080115DE
- .pool
-_08011570:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =gUnknown_082ED814
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_5
- b _080115DE
- .pool
-_0801158C:
- ldr r1, =gUnknown_03005000
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x3
- strb r0, [r2]
- ldr r2, =0x00000c3c
- adds r1, r2
- ldrb r0, [r1]
- movs r0, 0x1
- strb r0, [r1]
- b _080115DE
- .pool
-_080115AC:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- b _080115DA
- .pool
-_080115C4:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
-_080115DA:
- movs r1, 0x1
-_080115DC:
- strb r1, [r0]
-_080115DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011404
-
- thumb_func_start sub_80115EC
-sub_80115EC: @ 80115EC
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- movs r6, 0x1
- ldr r0, =gUnknown_03005000
- ldr r4, =0x00000cea
- adds r1, r0, r4
- movs r5, 0
- movs r4, 0xFF
-_080115FE:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r6
- cmp r0, 0
- beq _08011610
- strb r5, [r1]
- ldrb r0, [r1, 0x4]
- orrs r0, r4
- strb r0, [r1, 0x4]
-_08011610:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x3
- ble _080115FE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80115EC
-
- thumb_func_start sub_8011628
-sub_8011628: @ 8011628
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x1
- ldr r6, =gUnknown_03007890
- movs r7, 0x7F
-_08011636:
- adds r0, r5, 0
- asrs r0, r2
- ands r0, r4
- cmp r0, 0
- beq _0801165C
- lsls r1, r2, 5
- adds r1, 0x14
- ldr r0, [r6]
- adds r0, r1
- ldrb r1, [r0, 0x10]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0x45
- bne _0801165C
- adds r0, r4, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_0801165C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08011636
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011628
-
- thumb_func_start sub_8011674
-sub_8011674: @ 8011674
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x25
- bne _08011680
- b _080118EC
-_08011680:
- cmp r4, 0x25
- bgt _080116C2
- cmp r4, 0x14
- bne _0801168A
- b _08011804
-_0801168A:
- cmp r4, 0x14
- bgt _080116A2
- cmp r4, 0x11
- beq _08011722
- cmp r4, 0x11
- ble _08011698
- b _08011A42
-_08011698:
- cmp r4, 0
- beq _0801170C
- cmp r4, 0x10
- beq _08011718
- b _08011A42
-_080116A2:
- cmp r4, 0x22
- bne _080116A8
- b _08011868
-_080116A8:
- cmp r4, 0x22
- bgt _080116B4
- cmp r4, 0x20
- bne _080116B2
- b _08011850
-_080116B2:
- b _08011A42
-_080116B4:
- cmp r4, 0x23
- bne _080116BA
- b _08011884
-_080116BA:
- cmp r4, 0x24
- bne _080116C0
- b _080118BA
-_080116C0:
- b _08011A42
-_080116C2:
- cmp r4, 0x44
- bgt _080116F2
- cmp r4, 0x42
- blt _080116CC
- b _08011A42
-_080116CC:
- cmp r4, 0x32
- bne _080116D2
- b _08011914
-_080116D2:
- cmp r4, 0x32
- bgt _080116E4
- cmp r4, 0x30
- bne _080116DC
- b _08011940
-_080116DC:
- cmp r4, 0x31
- bne _080116E2
- b _080118F6
-_080116E2:
- b _08011A42
-_080116E4:
- cmp r4, 0x33
- bne _080116EA
- b _08011948
-_080116EA:
- cmp r4, 0x40
- bne _080116F0
- b _080119FC
-_080116F0:
- b _08011A42
-_080116F2:
- cmp r4, 0xF3
- bne _080116F8
- b _08011A0C
-_080116F8:
- cmp r4, 0xF3
- bgt _08011704
- cmp r4, 0xF0
- bge _08011702
- b _08011A42
-_08011702:
- b _08011A28
-_08011704:
- cmp r4, 0xFF
- bne _0801170A
- b _08011A28
-_0801170A:
- b _08011A42
-_0801170C:
- ldr r1, =gUnknown_03005000
- movs r0, 0x11
- strh r0, [r1, 0x4]
- b _08011A42
- .pool
-_08011718:
- movs r0, 0x4
- movs r1, 0
- bl sub_8011A64
- b _08011A42
-_08011722:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _080117DC
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000cd9
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080117DC
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_8011628
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080117A6
- adds r0, r4, 0
- bl sub_800E87C
- movs r2, 0x1
- mov r12, r2
- mov r1, r12
- lsls r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r7, =0x00000ce6
- adds r6, r5, r7
- ldrb r2, [r6]
- cmp r2, 0
- bne _08011798
- ldr r0, =0x00000ce8
- adds r3, r5, r0
- ldrb r0, [r3]
- cmp r0, 0
- bne _08011798
- subs r7, 0x1
- adds r0, r5, r7
- strb r1, [r0]
- eors r1, r4
- orrs r1, r2
- strb r1, [r6]
- mov r0, r12
- strb r0, [r3]
- b _080117A6
- .pool
-_08011798:
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrb r2, [r0]
- adds r1, r4, 0
- orrs r1, r2
- strb r1, [r0]
-_080117A6:
- ldr r0, =gUnknown_03004140
- ldrh r1, [r0, 0x14]
- cmp r4, r1
- beq _080117F6
- ldr r2, =gUnknown_03005000
- ldr r7, =0x00000ce3
- adds r3, r2, r7
- adds r0, r4, 0
- eors r0, r1
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- ldr r0, =0x00000ce4
- adds r2, r0
- movs r0, 0x2
- strb r0, [r2]
- b _080117F6
- .pool
-_080117DC:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _080117F6
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080117F6:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_80115EC
- b _08011A42
- .pool
-_08011804:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _08011836
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bls _08011836
- ldrb r0, [r4, 0x14]
- bl sub_800E87C
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldrb r0, [r4]
- eors r1, r0
- adds r0, r1, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_08011836:
- ldr r1, =gUnknown_03005000
- ldrh r0, [r1, 0x4]
- cmp r0, 0xF
- beq _08011840
- b _08011A42
-_08011840:
- movs r0, 0x10
- strh r0, [r1, 0x4]
- b _08011A42
- .pool
-_08011850:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000ccd
- adds r0, r2
- b _08011A40
- .pool
-_08011868:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r7, =0x00000c3e
- adds r0, r7
- ldrb r2, [r0]
- b _08011A40
- .pool
-_08011884:
- ldr r1, =gUnknown_03005000
- movs r0, 0x12
- strh r0, [r1, 0x4]
- ldr r0, =0x00000ccf
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- bhi _080118B0
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, =sub_801209C
- movs r1, 0x2
- bl CreateTask
- b _08011A42
- .pool
-_080118B0:
- movs r0, 0x2
- movs r1, 0x23
- bl sub_8011A64
- b _08011A42
-_080118BA:
- ldr r4, =gUnknown_03005000
- movs r0, 0xD
- strh r0, [r4, 0x4]
- movs r0, 0x3
- movs r1, 0
- bl sub_8011A64
- ldr r1, =0x00000c3e
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, =0x00000c3f
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _08011A42
- .pool
-_080118EC:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_8011A64
- b _08011A42
-_080118F6:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- ldrh r0, [r0, 0x14]
- ands r1, r0
- cmp r1, 0
- bne _08011904
- b _08011A42
-_08011904:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x1
- b _08011A40
- .pool
-_08011914:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801192A
- b _08011A42
-_0801192A:
- ldr r7, =0x00000c3c
- adds r0, r2, r7
- ldrb r1, [r0]
- movs r1, 0x1
- b _08011A40
- .pool
-_08011940:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x2
- strb r1, [r0]
-_08011948:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08011958
- movs r0, 0x4
- strb r0, [r1]
-_08011958:
- ldrb r0, [r2, 0xC]
- cmp r0, 0x1
- bne _08011996
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080119B4
- ldr r0, =0x00000ce2
- adds r2, r0
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x14]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _08011990
- adds r0, r4, 0
- bl sub_8011170
- b _080119B4
- .pool
-_08011990:
- bl sub_80111FC
- b _080119B4
-_08011996:
- ldr r1, =0x00000ce4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080119B4
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080119B4
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0
- bl sub_800C27C
-_080119B4:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080119DA
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080119DA
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080119DA
- ldr r1, =gUnknown_03005000
- movs r0, 0x11
- strh r0, [r1, 0x4]
-_080119DA:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _08011A42
- .pool
-_080119FC:
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000ce3
- adds r0, r2
- b _08011A3E
- .pool
-_08011A0C:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- movs r1, 0x1
- b _08011A40
- .pool
-_08011A28:
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- ldr r0, =gUnknown_03005000
- ldr r7, =0x00000cdb
- adds r0, r7
- ldrb r1, [r0]
-_08011A3E:
- movs r1, 0
-_08011A40:
- strb r1, [r0]
-_08011A42:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011674
-
- thumb_func_start sub_8011A50
-sub_8011A50: @ 8011A50
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce4
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A50
-
- thumb_func_start sub_8011A64
-sub_8011A64: @ 8011A64
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xF1
- strb r0, [r3]
- strh r1, [r2, 0xA]
- bx lr
- .pool
- thumb_func_end sub_8011A64
-
- thumb_func_start sub_8011A74
-sub_8011A74: @ 8011A74
- ldr r0, =gUnknown_03005000
- adds r0, 0xF1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A74
-
- thumb_func_start sub_8011A80
-sub_8011A80: @ 8011A80
- push {lr}
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x1
- bls _08011A94
- movs r0, 0
- b _08011A96
-_08011A94:
- movs r0, 0x1
-_08011A96:
- pop {r1}
- bx r1
- thumb_func_end sub_8011A80
-
- thumb_func_start sub_8011A9C
-sub_8011A9C: @ 8011A9C
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A9C
-
- thumb_func_start Rfu_IsMaster
-Rfu_IsMaster: @ 8011AB0
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xC]
- bx lr
- .pool
- thumb_func_end Rfu_IsMaster
-
- thumb_func_start RfuVSync
-RfuVSync: @ 8011ABC
- push {lr}
- bl rfu_syncVBlank_
- pop {r0}
- bx r0
- thumb_func_end RfuVSync
-
- thumb_func_start sub_8011AC8
-sub_8011AC8: @ 8011AC8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, =gRecvCmds
- ldr r2, =0x05000014
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011AC8
-
- thumb_func_start sub_8011AE8
-sub_8011AE8: @ 8011AE8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8011AE8
-
- thumb_func_start sub_8011AFC
-sub_8011AFC: @ 8011AFC
- push {r4,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ResetPaletteFade
- ldr r0, =sub_8011AE8
- bl SetVBlankCallback
- bl IsWirelessAdapterConnected
- lsls r0, 24
- cmp r0, 0
- beq _08011B70
- ldr r1, =gLinkType
- ldr r2, =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- bl sub_800B488
- bl OpenLink
- ldr r0, =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng
- movs r4, 0
-_08011B38:
- bl Random
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xA
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08011B38
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_8011BA4
- ldr r0, =sub_8011BF8
- bl SetMainCallback2
-_08011B70:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011AFC
-
- thumb_func_start sub_8011B90
-sub_8011B90: @ 8011B90
- push {lr}
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011B90
-
- thumb_func_start sub_8011BA4
-sub_8011BA4: @ 8011BA4
- push {r4,lr}
- ldr r4, =nullsub_89
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08011BC2
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x66
- strb r0, [r1]
-_08011BC2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011BA4
-
- thumb_func_start sub_8011BD0
-sub_8011BD0: @ 8011BD0
- push {lr}
- ldr r0, =nullsub_89
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011BEA
- ldr r0, =gUnknown_03005000
- adds r0, 0x66
- ldrb r0, [r0]
- bl DestroyTask
-_08011BEA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011BD0
-
- thumb_func_start sub_8011BF8
-sub_8011BF8: @ 8011BF8
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8011BF8
-
- thumb_func_start sub_8011C10
-sub_8011C10: @ 8011C10
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_03005000
- movs r0, 0x1
- strb r0, [r1, 0xC]
- bl sub_8010F48
- ldr r0, =sub_801120C
- movs r1, 0
- bl sub_800BF4C
- ldr r2, =gUnknown_02022B2C
- adds r1, r2, 0
- ldr r0, =gUnknown_082ED608
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, =gUnknown_082ED620
- subs r4, 0x1
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r2, 0x2]
- bl sub_800EE78
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C10
-
- thumb_func_start sub_8011C5C
-sub_8011C5C: @ 8011C5C
- push {lr}
- ldr r1, =gUnknown_03005000
- movs r0, 0
- strb r0, [r1, 0xC]
- bl sub_8010F48
- ldr r0, =sub_8011404
- ldr r1, =sub_800ED34
- bl sub_800BF4C
- bl sub_800EF00
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C5C
-
- thumb_func_start sub_8011C84
-sub_8011C84: @ 8011C84
- push {r4-r7,lr}
- ldr r4, =gUnknown_03005000
- movs r5, 0
- movs r0, 0x2
- strb r0, [r4, 0xC]
- bl sub_8010F48
- ldr r0, =sub_8011674
- movs r1, 0
- bl sub_800BF4C
- ldr r2, =gUnknown_02022B2C
- adds r1, r2, 0
- ldr r0, =gUnknown_082ED608
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- strb r5, [r2, 0x11]
- movs r0, 0x96
- lsls r0, 2
- strh r0, [r2, 0x12]
- ldr r0, =sub_800EB44
- movs r1, 0x1
- bl CreateTask
- adds r4, 0x67
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C84
-
- thumb_func_start sub_8011CD8
-sub_8011CD8: @ 8011CD8
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- bx lr
- thumb_func_end sub_8011CD8
-
- thumb_func_start sub_8011CE4
-sub_8011CE4: @ 8011CE4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- movs r0, 0xFF
- mov r9, r0
- movs r7, 0
- ldr r1, =gUnknown_03007890
- mov r8, r1
-_08011D02:
- lsls r4, r7, 5
- adds r5, r4, 0
- adds r5, 0x14
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- adds r0, 0x8
- bl sub_8011CD8
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _08011D4C
- mov r0, r8
- ldr r1, [r0]
- adds r1, r5
- adds r1, 0x15
- ldr r0, [sp]
- bl StringCompare
- cmp r0, 0
- bne _08011D4C
- cmp r10, r6
- bne _08011D4C
- mov r9, r7
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- bne _08011D56
-_08011D4C:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08011D02
-_08011D56:
- mov r0, r9
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011CE4
-
- thumb_func_start sub_8011D6C
-sub_8011D6C: @ 8011D6C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000ce2
- adds r5, r4, r0
- ldrb r0, [r5]
- bics r0, r6
- strb r0, [r5]
- ldr r1, =0x00000cda
- adds r6, r4, r1
- ldrb r1, [r6]
- movs r0, 0x1
- bl rfu_clearSlot
- ldrb r0, [r5]
- ldr r1, =0x00000c87
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- ldrb r0, [r5]
- bl sub_800E87C
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011D6C
-
- thumb_func_start sub_8011DC0
-sub_8011DC0: @ 8011DC0
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_8011CE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08011DDA
- movs r0, 0x1
- lsls r0, r1
- bl sub_8011D6C
-_08011DDA:
- pop {r0}
- bx r0
- thumb_func_end sub_8011DC0
-
- thumb_func_start sub_8011DE0
-sub_8011DE0: @ 8011DE0
- push {r4-r6,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08011E20
- movs r3, 0
- movs r2, 0
- ldr r5, =gUnknown_03005000+0xCDE
- adds r6, r5, 0x4
-_08011DF0:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _08011E0E
- ldrb r0, [r6]
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08011E0E
- adds r0, r1, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_08011E0E:
- adds r2, 0x1
- cmp r2, 0x3
- ble _08011DF0
- cmp r3, 0
- beq _08011E20
- adds r0, r3, 0
- movs r1, 0x2
- bl sub_8011E94
-_08011E20:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011DE0
-
- thumb_func_start sub_8011E2C
-sub_8011E2C: @ 8011E2C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gSendCmd
- ldrh r0, [r6]
- cmp r0, 0
- bne _08011E7A
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08011E7A
- movs r0, 0xED
- lsls r0, 8
- bl sub_800FD14
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- strh r1, [r6, 0x2]
- ldrh r1, [r0, 0xA]
- strh r1, [r6, 0x4]
- ldr r1, =gUnknown_082ED695
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r1, [r5, 0xD]
- ldrb r0, [r0]
- subs r1, r0
- strb r1, [r5, 0xD]
- ldrb r0, [r5, 0xD]
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- bl DestroyTask
-_08011E7A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011E2C
-
- thumb_func_start sub_8011E94
-sub_8011E94: @ 8011E94
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r5, =sub_8011E2C
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _08011ECC
- adds r0, r5, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- b _08011EDC
- .pool
-_08011ECC:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- orrs r4, r0
- strh r4, [r1, 0x8]
-_08011EDC:
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011E94
-
- thumb_func_start sub_8011EF4
-sub_8011EF4: @ 8011EF4
- 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
- bl sub_800EE94
- lsls r0, 24
- cmp r0, 0
- beq _08011FA4
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_8011CD8
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08011F8C
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r2, 5
- adds r0, r1
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- beq _08011F5C
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c3d
- adds r0, r1
- strb r2, [r0]
- bl sub_800EEBC
- cmp r0, 0
- beq _08011FAA
- b _08011F84
- .pool
-_08011F5C:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r5, 0x7F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x15
- beq _08011FA4
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x16
- beq _08011FA4
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
-_08011F84:
- adds r0, r6, 0
- bl DestroyTask
- b _08011FAA
-_08011F8C:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c3d
- adds r0, r1
- strb r2, [r0]
- b _08011FAA
- .pool
-_08011FA4:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_08011FAA:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF0
- ble _08011FC2
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- adds r0, r6, 0
- bl DestroyTask
-_08011FC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8011EF4
-
- thumb_func_start sub_8011FC8
-sub_8011FC8: @ 8011FC8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- ldr r0, =gUnknown_03005000
- adds r0, 0xF1
- movs r1, 0
- strb r1, [r0]
- ldr r0, =sub_8011EF4
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringCopy
- strh r5, [r4, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011FC8
-
- thumb_func_start sub_801200C
-sub_801200C: @ 801200C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r2, 0x7F
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- bne _08012032
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- beq _08012092
-_0801202E:
- movs r0, 0x1
- b _08012094
-_08012032:
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x40
- bne _0801202E
- cmp r5, 0x44
- bne _08012092
- ldr r5, =gUnknown_03005000+0x10A
- ldrh r0, [r5, 0x8]
- ldr r3, =0x000003ff
- adds r2, r3, 0
- ands r2, r0
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bne _08012068
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- beq _08012092
- b _0801202E
- .pool
-_08012068:
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- bne _0801202E
- ldrb r2, [r4, 0xB]
- movs r0, 0xFE
- ldrb r3, [r5, 0xB]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _0801202E
- ldrb r2, [r4, 0x9]
- movs r0, 0xFC
- ldrb r3, [r5, 0x9]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _0801202E
-_08012092:
- movs r0, 0
-_08012094:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801200C
-
- thumb_func_start sub_801209C
-sub_801209C: @ 801209C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- mov r8, r5
- ldr r6, =gUnknown_03005000
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080120BA
- adds r0, r5, 0
- bl DestroyTask
-_080120BA:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- ble _080120E4
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- adds r0, r5, 0
- bl DestroyTask
-_080120E4:
- ldr r1, =0x00000ccd
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801217C
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0801217C
- movs r2, 0x86
- lsls r2, 1
- adds r0, r6, r2
- bl sub_8011CD8
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =0x00000119
- adds r0, r6, r2
- bl sub_8011CE4
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _0801217C
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- ldr r7, =gUnknown_03007890
- lsls r4, r2, 5
- adds r2, r4, 0
- adds r2, 0x14
- ldr r1, [r7]
- adds r1, r2
- adds r1, 0x6
- bl sub_801200C
- cmp r0, 0
- bne _0801216C
- ldr r0, [r7]
- adds r1, r0, r4
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _0801217C
- ldrh r0, [r1, 0x14]
- movs r1, 0x5A
- bl sub_800C12C
- lsls r0, 24
- cmp r0, 0
- bne _0801217C
- movs r0, 0xA
- strh r0, [r6, 0x4]
- adds r0, r5, 0
- bl DestroyTask
- b _0801217C
- .pool
-_0801216C:
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- mov r0, r8
- bl DestroyTask
-_0801217C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801209C
-
- thumb_func_start sub_8012188
-sub_8012188: @ 8012188
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r6, =gUnknown_03005000
- ldr r1, =0x00000ccf
- adds r0, r6, r1
- movs r7, 0
- strb r7, [r0]
- adds r0, r6, 0
- adds r0, 0xF1
- strb r7, [r0]
- ldr r1, =0x00000119
- adds r0, r6, r1
- adds r1, r3, 0
- bl StringCopy
- movs r1, 0x85
- lsls r1, 1
- adds r0, r6, r1
- adds r1, r5, 0
- movs r2, 0xD
- bl memcpy
- bl sub_800D658
- ldr r0, =sub_801209C
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r4, [r1, 0xA]
- ldr r0, =sub_800EB44
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r4, 0x45
- bne _08012210
- cmp r1, 0xFF
- beq _0801221E
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x16]
- b _0801221E
- .pool
-_08012210:
- cmp r2, 0xFF
- beq _0801221E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- strh r7, [r0, 0x16]
-_0801221E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012188
-
- thumb_func_start sub_8012224
-sub_8012224: @ 8012224
- push {lr}
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08012238
- movs r0, 0
- b _0801223A
- .pool
-_08012238:
- movs r0, 0x1
-_0801223A:
- pop {r1}
- bx r1
- thumb_func_end sub_8012224
-
- thumb_func_start sub_8012240
-sub_8012240: @ 8012240
- push {r4,lr}
- movs r1, 0
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0]
- ldr r4, =gUnknown_03005000+0xCD1
- movs r3, 0x1
-_0801224C:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0801226C
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801226C
- movs r0, 0
- b _08012274
- .pool
-_0801226C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _0801224C
- movs r0, 0x1
-_08012274:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8012240
-
- thumb_func_start sub_801227C
-sub_801227C: @ 801227C
- push {r4,lr}
- movs r4, 0
-_08012280:
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r0, =gUnknown_082ED82C
- movs r1, 0
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0x13
- ble _08012280
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801227C
-
- thumb_func_start sub_801229C
-sub_801229C: @ 801229C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1C
- movs r2, 0x13
- movs r3, 0x2
- bl nullsub_13
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- movs r1, 0x14
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_13
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- movs r1, 0x17
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_13
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xC]
- cmp r0, 0x1
- bne _08012378
- movs r6, 0
- adds r7, r4, 0
- movs r5, 0x14
-_080122E0:
- ldr r2, [r7]
- ldrb r0, [r2, 0x7]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801231E
- lsls r0, r6, 5
- adds r0, r2, r0
- ldrh r0, [r0, 0x18]
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x6
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
-_0801231E:
- adds r5, 0x20
- adds r6, 0x1
- cmp r6, 0x3
- ble _080122E0
- movs r6, 0
- ldr r0, =gUnknown_03005000
- mov r8, r0
-_0801232C:
- movs r5, 0
- adds r7, r6, 0x1
- lsls r0, r6, 3
- adds r2, r6, 0
- adds r2, 0xB
- subs r0, r6
- lsls r0, 1
- mov r1, r8
- adds r1, 0x14
- adds r4, r0, r1
- lsls r6, r2, 24
-_08012342:
- ldrb r0, [r4]
- lsls r1, r5, 25
- lsrs r1, 24
- lsrs r2, r6, 24
- movs r3, 0x2
- bl nullsub_13
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xD
- ble _08012342
- adds r6, r7, 0
- cmp r6, 0x3
- ble _0801232C
- ldr r0, =gUnknown_082ED868
- movs r1, 0x1
- movs r2, 0xF
- bl nullsub_5
- b _080124AA
- .pool
-_08012378:
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08012414
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08012414
- movs r6, 0
- movs r5, 0xC0
- lsls r5, 18
-_0801238C:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, =gUnknown_082ED84B
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, =gUnknown_082ED85B
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
- movs r1, 0x80
- lsls r1, 17
- adds r5, r1
- adds r6, 0x1
- cmp r6, 0x3
- ble _0801238C
- ldr r5, =gUnknown_03007890
- ldr r1, [r5]
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r4, r0
- ldrb r0, [r4]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x18]
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x4
- bl nullsub_13
- ldrb r1, [r4]
- lsls r1, 5
- adds r1, 0x14
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x6
- movs r1, 0x6
- movs r2, 0x3
- bl nullsub_5
- ldrb r1, [r4]
- lsls r1, 5
- adds r1, 0x14
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x15
- movs r1, 0x16
- movs r2, 0x3
- bl nullsub_5
- b _080124AA
- .pool
-_08012414:
- movs r6, 0
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bge _08012470
- adds r7, r1, 0
- movs r1, 0x14
- mov r8, r1
-_08012426:
- ldr r0, [r7]
- lsls r5, r6, 5
- adds r1, r0, r5
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _08012462
- ldrh r0, [r1, 0x18]
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- adds r0, r5
- ldrh r0, [r0, 0x14]
- movs r1, 0x6
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- add r0, r8
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
-_08012462:
- movs r0, 0x20
- add r8, r0
- adds r6, 0x1
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- blt _08012426
-_08012470:
- cmp r6, 0x3
- bgt _080124AA
- lsls r0, r6, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r5, r0, r1
-_0801247C:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, =gUnknown_082ED84B
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, =gUnknown_082ED85B
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0801247C
-_080124AA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801229C
-
- thumb_func_start sub_80124C0
-sub_80124C0: @ 80124C0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c1a
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80124C0
-
- thumb_func_start sub_80124D4
-sub_80124D4: @ 80124D4
- ldr r0, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80124D4
-
- .align 2, 0 @ don't pad with nop
diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc
index 28f60be46..4c7646d6f 100644
--- a/asm/macros/battle_ai_script.inc
+++ b/asm/macros/battle_ai_script.inc
@@ -1,206 +1,206 @@
- .macro if_random_less_than param0, param1
+ .macro if_random_less_than param0:req, param1:req
.byte 0x0
.byte \param0
.4byte \param1
.endm
- .macro if_random_greater_than param0, param1
+ .macro if_random_greater_than param0:req, param1:req
.byte 0x1
.byte \param0
.4byte \param1
.endm
- .macro if_random_equal param0, param1
+ .macro if_random_equal param0:req, param1:req
.byte 0x2
.byte \param0
.4byte \param1
.endm
- .macro if_random_not_equal param0, param1
+ .macro if_random_not_equal param0:req, param1:req
.byte 0x3
.byte \param0
.4byte \param1
.endm
- .macro score param0
+ .macro score param0:req
.byte 0x4
.byte \param0
.endm
- .macro if_hp_less_than battler, param1, param2
+ .macro if_hp_less_than battler:req, param1:req, param2:req
.byte 0x5
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_hp_more_than battler, param1, param2
+ .macro if_hp_more_than battler:req, param1:req, param2:req
.byte 0x6
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_hp_equal battler, param1, param2
+ .macro if_hp_equal battler:req, param1:req, param2:req
.byte 0x7
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_hp_not_equal battler, param1, param2
+ .macro if_hp_not_equal battler:req, param1:req, param2:req
.byte 0x8
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_status battler, status1, param2
+ .macro if_status battler:req, status1:req, param2:req
.byte 0x9
.byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro if_not_status battler, status1, param2
+ .macro if_not_status battler:req, status1:req, param2:req
.byte 0xa
.byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro if_status2 battler, status2, param2
+ .macro if_status2 battler:req, status2:req, param2:req
.byte 0xb
.byte \battler
.4byte \status2
.4byte \param2
.endm
- .macro if_not_status2 battler, status2, param2
+ .macro if_not_status2 battler:req, status2:req, param2:req
.byte 0xc
.byte \battler
.4byte \status2
.4byte \param2
.endm
- .macro if_status3 battler, status3, param2
+ .macro if_status3 battler:req, status3:req, param2:req
.byte 0xd
.byte \battler
.4byte \status3
.4byte \param2
.endm
- .macro if_not_status3 battler, status3, param2
+ .macro if_not_status3 battler:req, status3:req, param2:req
.byte 0xe
.byte \battler
.4byte \status3
.4byte \param2
.endm
- .macro if_side_affecting battler, sidestatus, param2
+ .macro if_side_affecting battler:req, sidestatus:req, param2:req
.byte 0xf
.byte \battler
.4byte \sidestatus
.4byte \param2
.endm
- .macro if_not_side_affecting battler, sidestatus, param2
+ .macro if_not_side_affecting battler:req, sidestatus:req, param2:req
.byte 0x10
.byte \battler
.4byte \sidestatus
.4byte \param2
.endm
- .macro if_less_than param0, param1
+ .macro if_less_than param0:req, param1:req
.byte 0x11
.byte \param0
.4byte \param1
.endm
- .macro if_more_than param0, param1
+ .macro if_more_than param0:req, param1:req
.byte 0x12
.byte \param0
.4byte \param1
.endm
- .macro if_equal param0, param1
+ .macro if_equal param0:req, param1:req
.byte 0x13
.byte \param0
.4byte \param1
.endm
- .macro if_not_equal param0, param1
+ .macro if_not_equal param0:req, param1:req
.byte 0x14
.byte \param0
.4byte \param1
.endm
- .macro if_less_than_ptr param0, param1
+ .macro if_less_than_ptr param0:req, param1:req
.byte 0x15
.4byte \param0
.4byte \param1
.endm
- .macro if_more_than_ptr param0, param1
+ .macro if_more_than_ptr param0:req, param1:req
.byte 0x16
.4byte \param0
.4byte \param1
.endm
- .macro if_equal_ptr param0, param1
+ .macro if_equal_ptr param0:req, param1:req
.byte 0x17
.4byte \param0
.4byte \param1
.endm
- .macro if_not_equal_ptr param0, param1
+ .macro if_not_equal_ptr param0:req, param1:req
.byte 0x18
.4byte \param0
.4byte \param1
.endm
- .macro if_move param0, param1
+ .macro if_move param0:req, param1:req
.byte 0x19
.2byte \param0
.4byte \param1
.endm
- .macro if_not_move param0, param1
+ .macro if_not_move param0:req, param1:req
.byte 0x1a
.2byte \param0
.4byte \param1
.endm
- .macro if_in_bytes param0, param1
+ .macro if_in_bytes param0:req, param1:req
.byte 0x1b
.4byte \param0
.4byte \param1
.endm
- .macro if_not_in_bytes param0, param1
+ .macro if_not_in_bytes param0:req, param1:req
.byte 0x1c
.4byte \param0
.4byte \param1
.endm
- .macro if_in_hwords param0, param1
+ .macro if_in_hwords param0:req, param1:req
.byte 0x1d
.4byte \param0
.4byte \param1
.endm
- .macro if_not_in_hwords param0, param1
+ .macro if_not_in_hwords param0:req, param1:req
.byte 0x1e
.4byte \param0
.4byte \param1
.endm
- .macro if_user_has_attacking_move param0
+ .macro if_user_has_attacking_move param0:req
.byte 0x1f
.4byte \param0
.endm
- .macro if_user_has_no_attacking_moves param0
+ .macro if_user_has_no_attacking_moves param0:req
.byte 0x20
.4byte \param0
.endm
@@ -209,7 +209,7 @@
.byte 0x21
.endm
- .macro get_type param0
+ .macro get_type param0:req
.byte 0x22
.byte \param0
.endm
@@ -222,30 +222,30 @@
.byte 0x24
.endm
- .macro get_last_used_bank_move battler
+ .macro get_last_used_bank_move battler:req
.byte 0x25
.byte \battler
.endm
- .macro if_equal_ param0, param1
+ .macro if_equal_ param0:req, param1:req
.byte 0x26
.byte \param0
.4byte \param1
.endm
- .macro if_not_equal_ param0, param1
+ .macro if_not_equal_ param0:req, param1:req
.byte 0x27
.byte \param0
.4byte \param1
.endm
- .macro if_user_goes param0, param1
+ .macro if_user_goes param0:req, param1:req
.byte 0x28
.byte \param0
.4byte \param1
.endm
- .macro if_user_doesnt_go param0, param1
+ .macro if_user_doesnt_go param0:req, param1:req
.byte 0x29
.byte \param0
.4byte \param1
@@ -259,7 +259,7 @@
.byte 0x2b
.endm
- .macro count_usable_party_mons battler
+ .macro count_usable_party_mons battler:req
.byte 0x2c
.byte \battler
.endm
@@ -272,7 +272,7 @@
.byte 0x2e
.endm
- .macro get_ability battler
+ .macro get_ability battler:req
.byte 0x2f
.byte \battler
.endm
@@ -281,7 +281,7 @@
.byte 0x30
.endm
- .macro if_type_effectiveness param0, param1
+ .macro if_type_effectiveness param0:req, param1:req
.byte 0x31
.byte \param0
.4byte \param1
@@ -295,14 +295,14 @@
.byte 0x33
.endm
- .macro if_status_in_party battler, status1, param2
+ .macro if_status_in_party battler:req, status1:req, param2:req
.byte 0x34
.byte \battler
.4byte \status1
.4byte \param2
.endm
- .macro if_status_not_in_party battler, status1, param2
+ .macro if_status_not_in_party battler:req, status1:req, param2:req
.byte 0x35
.byte \battler
.4byte \status1
@@ -313,19 +313,19 @@
.byte 0x36
.endm
- .macro if_effect param0, param1
+ .macro if_effect param0:req, param1:req
.byte 0x37
.byte \param0
.4byte \param1
.endm
- .macro if_not_effect param0, param1
+ .macro if_not_effect param0:req, param1:req
.byte 0x38
.byte \param0
.4byte \param1
.endm
- .macro if_stat_level_less_than battler, stat, param2, param3
+ .macro if_stat_level_less_than battler:req, stat:req, param2:req, param3:req
.byte 0x39
.byte \battler
.byte \stat
@@ -333,7 +333,7 @@
.4byte \param3
.endm
- .macro if_stat_level_more_than battler, stat, param2, param3
+ .macro if_stat_level_more_than battler:req, stat:req, param2:req, param3:req
.byte 0x3a
.byte \battler
.byte \stat
@@ -341,7 +341,7 @@
.4byte \param3
.endm
- .macro if_stat_level_equal battler, stat, param2, param3
+ .macro if_stat_level_equal battler:req, stat:req, param2:req, param3:req
.byte 0x3b
.byte \battler
.byte \stat
@@ -349,7 +349,7 @@
.4byte \param3
.endm
- .macro if_stat_level_not_equal battler, stat, param2, param3
+ .macro if_stat_level_not_equal battler:req, stat:req, param2:req, param3:req
.byte 0x3c
.byte \battler
.byte \stat
@@ -357,52 +357,52 @@
.4byte \param3
.endm
- .macro if_can_faint param0
+ .macro if_can_faint param0:req
.byte 0x3d
.4byte \param0
.endm
- .macro if_cant_faint param0
+ .macro if_cant_faint param0:req
.byte 0x3e
.4byte \param0
.endm
- .macro if_has_move battler, param1, param2
+ .macro if_has_move battler:req, param1:req, param2:req
.byte 0x3f
.byte \battler
.2byte \param1
.4byte \param2
.endm
- .macro if_doesnt_have_move battler, param1, param2
+ .macro if_doesnt_have_move battler:req, param1:req, param2:req
.byte 0x40
.byte \battler
.2byte \param1
.4byte \param2
.endm
- .macro if_has_move_with_effect battler, param1, param2
+ .macro if_has_move_with_effect battler:req, param1:req, param2:req
.byte 0x41
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_doesnt_have_move_with_effect battler, param1, param2
+ .macro if_doesnt_have_move_with_effect battler:req, param1:req, param2:req
.byte 0x42
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_any_move_disabled_or_encored battler, param1, param2
+ .macro if_any_move_disabled_or_encored battler:req, param1:req, param2:req
.byte 0x43
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro if_curr_move_disabled_or_encored param0, param1
+ .macro if_curr_move_disabled_or_encored param0:req, param1:req
.byte 0x44
.byte \param0
.4byte \param1
@@ -412,7 +412,7 @@
.byte 0x45
.endm
- .macro if_random_safari_flee param0
+ .macro if_random_safari_flee param0:req
.byte 0x46
.4byte \param0
.endm
@@ -421,22 +421,22 @@
.byte 0x47
.endm
- .macro get_hold_effect battler
+ .macro get_hold_effect battler:req
.byte 0x48
.byte \battler
.endm
- .macro get_gender battler
+ .macro get_gender battler:req
.byte 0x49
.byte \battler
.endm
- .macro is_first_turn_for battler
+ .macro is_first_turn_for battler:req
.byte 0x4a
.byte \battler
.endm
- .macro get_stockpile_count battler
+ .macro get_stockpile_count battler:req
.byte 0x4b
.byte \battler
.endm
@@ -445,7 +445,7 @@
.byte 0x4c
.endm
- .macro get_used_held_item battler
+ .macro get_used_held_item battler:req
.byte 0x4d
.byte \battler
.endm
@@ -462,7 +462,7 @@
.byte 0x50
.endm
- .macro get_protect_count battler
+ .macro get_protect_count battler:req
.byte 0x51
.byte \battler
.endm
@@ -491,12 +491,12 @@
.byte 0x57
.endm
- .macro call param0
+ .macro call param0:req
.byte 0x58
.4byte \param0
.endm
- .macro goto param0
+ .macro goto param0:req
.byte 0x59
.4byte \param0
.endm
@@ -505,46 +505,46 @@
.byte 0x5a
.endm
- .macro if_level_cond param0, param1
+ .macro if_level_cond param0:req, param1:req
.byte 0x5b
.byte \param0
.4byte \param1
.endm
- .macro if_target_taunted param0
+ .macro if_target_taunted param0:req
.byte 0x5c
.4byte \param0
.endm
- .macro if_target_not_taunted param0
+ .macro if_target_not_taunted param0:req
.byte 0x5d
.4byte \param0
.endm
- .macro if_target_is_ally param0
+ .macro if_target_is_ally param0:req
.byte 0x5e
.4byte \param0
.endm
- .macro is_of_type battler, type
+ .macro is_of_type battler:req, type:req
.byte 0x5f
.byte \battler
.byte \type
.endm
- .macro check_ability battler, ability
+ .macro check_ability battler:req, ability:req
.byte 0x60
.byte \battler
.byte \ability
.endm
- .macro if_flash_fired battler, param1
+ .macro if_flash_fired battler:req, param1:req
.byte 0x61
.byte \battler
.4byte \param1
.endm
- .macro if_holds_item battler, param1, param2
+ .macro if_holds_item battler:req, param1:req, param2:req
.byte 0x62
.byte \battler
.2byte \param1
@@ -572,48 +572,48 @@
get_type AI_TYPE2_TARGET
.endm
- .macro if_ability battler, ability, ptr
+ .macro if_ability battler:req, ability:req, ptr:req
check_ability \battler, \ability
if_equal 1, \ptr
.endm
- .macro if_no_ability battler, ability, ptr
+ .macro if_no_ability battler:req, ability:req, ptr:req
check_ability \battler, \ability
if_equal 0, \ptr
.endm
- .macro if_type battler, type, ptr
+ .macro if_type battler:req, type:req, ptr:req
is_of_type \battler, \type
if_equal 1, \ptr
.endm
- .macro if_no_type battler, type, ptr
+ .macro if_no_type battler:req, type:req, ptr:req
is_of_type \battler, \type
if_equal 0, \ptr
.endm
- .macro if_target_faster ptr
+ .macro if_target_faster ptr:req
if_user_goes 1, \ptr
.endm
- .macro if_user_faster ptr
+ .macro if_user_faster ptr:req
if_user_goes 0, \ptr
.endm
- .macro if_double_battle ptr
+ .macro if_double_battle ptr:req
is_double_battle
if_equal 1, \ptr
.endm
- .macro if_not_double_battle ptr
+ .macro if_not_double_battle ptr:req
is_double_battle
if_equal 0, \ptr
.endm
- .macro if_any_move_disabled battler, ptr
+ .macro if_any_move_disabled battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 0, \ptr
.endm
- .macro if_any_move_encored battler, ptr
+ .macro if_any_move_encored battler:req, ptr:req
if_any_move_disabled_or_encored \battler, 1, \ptr
.endm
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
index 1d5b01de7..6ccd8d505 100644
--- a/asm/macros/battle_anim_script.inc
+++ b/asm/macros/battle_anim_script.inc
@@ -1,26 +1,30 @@
@ commands
- .macro loadspritegfx param0
+ .macro loadspritegfx tag:req
.byte 0x0
- .2byte \param0
+ .2byte \tag
.endm
- .macro unloadspritegfx param0
+ .macro unloadspritegfx tag:req
.byte 0x1
- .2byte \param0
+ .2byte \tag
.endm
- .macro createsprite template, priority, argv:vararg
+.macro createsprite template:req, anim_battler:req, subpriority_offset:req, argv:vararg
.byte 0x02
.4byte \template
- .byte \priority
+ .if \anim_battler == ANIM_TARGET
+ .byte 0x80 | (\subpriority_offset & 0x7F)
+ .else
+ .byte (\subpriority_offset & 0x7F)
+ .endif
.byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
.Lsprite_\@_1:
.2byte \argv
.Lsprite_\@_2:
.endm
- .macro createvisualtask addr, priority, argv:vararg
+ .macro createvisualtask addr:req, priority:req, argv:vararg
.byte 0x03
.4byte \addr
.byte \priority
@@ -30,7 +34,7 @@
.Lcreatetask_\@_2:
.endm
- .macro delay param0
+ .macro delay param0:req
.byte 0x4
.byte \param0
.endm
@@ -51,22 +55,22 @@
.byte 0x8
.endm
- .macro playse param0
+ .macro playse se:req
.byte 0x9
- .2byte \param0
+ .2byte \se
.endm
- .macro monbg battler
+ .macro monbg battler:req
.byte 0xa
.byte \battler
.endm
- .macro clearmonbg battler
+ .macro clearmonbg battler:req
.byte 0xb
.byte \battler
.endm
- .macro setalpha eva, evb
+ .macro setalpha eva:req, evb:req
.byte 0x0C
.2byte ((\evb) << 8) | (\eva)
.endm
@@ -75,7 +79,7 @@
.byte 0xd
.endm
- .macro call param0
+ .macro call param0:req
.byte 0xe
.4byte \param0
.endm
@@ -84,32 +88,32 @@
.byte 0xf
.endm
- .macro setarg param0, param1
+ .macro setarg param0:req, param1:req
.byte 0x10
.byte \param0
.2byte \param1
.endm
- .macro choosetwoturnanim param0, param1
+ .macro choosetwoturnanim param0:req, param1:req
.byte 0x11
.4byte \param0
.4byte \param1
.endm
- .macro jumpifmoveturn param0, param1
+ .macro jumpifmoveturn param0:req, ptr:req
.byte 0x12
.byte \param0
- .4byte \param1
+ .4byte \ptr
.endm
- .macro goto param0
+ .macro goto ptr:req
.byte 0x13
- .4byte \param0
+ .4byte \ptr
.endm
- .macro fadetobg param0
+ .macro fadetobg bg:req
.byte 0x14
- .byte \param0
+ .byte \bg
.endm
.macro restorebg
@@ -124,52 +128,52 @@
.byte 0x17
.endm
- .macro changebg param0
+ .macro changebg bg:req
.byte 0x18
- .byte \param0
+ .byte \bg
.endm
- .macro playsewithpan param0, param1
+ .macro playsewithpan se:req, pan:req
.byte 0x19
- .2byte \param0
- .byte \param1
+ .2byte \se
+ .byte \pan
.endm
- .macro setpan param0
+ .macro setpan pan:req
.byte 0x1a
- .byte \param0
+ .byte \pan
.endm
- .macro panse_1B param0, param1, param2, param3, param4
+ .macro panse_1B se:req, param1:req, param2:req, param3:req, param4
.byte 0x1b
- .2byte \param0
+ .2byte \se
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
- .macro loopsewithpan param0, param1, param2, param3
+ .macro loopsewithpan se:req, param1:req, param2:req, param3:req
.byte 0x1c
- .2byte \param0
+ .2byte \se
.byte \param1
.byte \param2
.byte \param3
.endm
- .macro waitplaysewithpan param0, param1, param2
+ .macro waitplaysewithpan se:req, param1:req, param2:req
.byte 0x1d
- .2byte \param0
+ .2byte \se
.byte \param1
.byte \param2
.endm
- .macro setbldcnt param0
+ .macro setbldcnt param0:req
.byte 0x1e
.2byte \param0
.endm
- .macro createsoundtask addr, argv:vararg
+ .macro createsoundtask addr:req, argv:vararg
.byte 0x1F
.4byte \addr
.byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
@@ -182,54 +186,54 @@
.byte 0x20
.endm
- .macro jumpargeq param0, param1, param2
+ .macro jumpargeq param0:req, param1:req, ptr:req
.byte 0x21
.byte \param0
.2byte \param1
- .4byte \param2
+ .4byte \ptr
.endm
- .macro monbg_22 battler
+ .macro monbg_22 battler:req
.byte 0x22
.byte \battler
.endm
- .macro clearmonbg_23 battler
+ .macro clearmonbg_23 battler:req
.byte 0x23
.byte \battler
.endm
- .macro jumpifcontest param0
+ .macro jumpifcontest ptr:req
.byte 0x24
- .4byte \param0
+ .4byte \ptr
.endm
- .macro fadetobgfromset param0, param1, param2
+ .macro fadetobgfromset param0:req, param1:req, param2:req
.byte 0x25
.byte \param0
.byte \param1
.byte \param2
.endm
- .macro panse_26 param0, param1, param2, param3, param4
+ .macro panse_26 se:req, param1:req, param2:req, param3:req, param4
.byte 0x26
- .2byte \param0
+ .2byte \se
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
- .macro panse_27 param0, param1, param2, param3, param4
+ .macro panse_27 se:req, param1:req, param2:req, param3:req, param4
.byte 0x27
- .2byte \param0
+ .2byte \se
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
- .macro monbgprio_28 battler
+ .macro monbgprio_28 battler:req
.byte 0x28
.byte \battler
.endm
@@ -238,27 +242,27 @@
.byte 0x29
.endm
- .macro monbgprio_2A battler
+ .macro monbgprio_2A battler:req
.byte 0x2a
.byte \battler
.endm
- .macro invisible battler
+ .macro invisible battler:req
.byte 0x2b
.byte \battler
.endm
- .macro visible battler
+ .macro visible battler:req
.byte 0x2c
.byte \battler
.endm
- .macro doublebattle_2D battler
+ .macro doublebattle_2D battler:req
.byte 0x2d
.byte \battler
.endm
- .macro doublebattle_2E battler
+ .macro doublebattle_2E battler:req
.byte 0x2e
.byte \battler
.endm
@@ -268,14 +272,14 @@
.endm
@ useful macros
- .macro jumpreteq value, ptr
+ .macro jumpreteq value:req, ptr:req
jumpargeq ARG_RET_ID, \value, \ptr
.endm
- .macro jumprettrue ptr
+ .macro jumprettrue ptr:req
jumpreteq TRUE, \ptr
.endm
- .macro jumpretfalse ptr
+ .macro jumpretfalse ptr:req
jumpreteq FALSE, \ptr
.endm
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 927a0edd1..6b0e285b6 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -3,7 +3,7 @@
.byte 0x0
.endm
- .macro accuracycheck param0, param1
+ .macro accuracycheck param0:req, param1:req
.byte 0x1
.4byte \param0
.2byte \param1
@@ -45,12 +45,12 @@
.byte 0xa
.endm
- .macro healthbarupdate battler
+ .macro healthbarupdate battler:req
.byte 0xb
.byte \battler
.endm
- .macro datahpupdate battler
+ .macro datahpupdate battler:req
.byte 0xc
.byte \battler
.endm
@@ -67,29 +67,29 @@
.byte 0xf
.endm
- .macro printstring param0
+ .macro printstring id:req
.byte 0x10
- .2byte \param0
+ .2byte \id
.endm
- .macro printselectionstring param0
+ .macro printselectionstring id:req
.byte 0x11
- .2byte \param0
+ .2byte \id
.endm
- .macro waitmessage param0
+ .macro waitmessage param0:req
.byte 0x12
.2byte \param0
.endm
- .macro printfromtable param0
+ .macro printfromtable ptr:req
.byte 0x13
- .4byte \param0
+ .4byte \ptr
.endm
- .macro printselectionstringfromtable param0
+ .macro printselectionstringfromtable ptr:req
.byte 0x14
- .4byte \param0
+ .4byte \ptr
.endm
.macro seteffectwithchance
@@ -104,110 +104,110 @@
.byte 0x17
.endm
- .macro clearstatusfromeffect battler
+ .macro clearstatusfromeffect battler:req
.byte 0x18
.byte \battler
.endm
- .macro tryfaintmon battler, param1, param2
+ .macro tryfaintmon battler:req, param1:req, ptr:req
.byte 0x19
.byte \battler
.byte \param1
- .4byte \param2
+ .4byte \ptr
.endm
- .macro dofaintanimation battler
+ .macro dofaintanimation battler:req
.byte 0x1a
.byte \battler
.endm
- .macro cleareffectsonfaint battler
+ .macro cleareffectsonfaint battler:req
.byte 0x1b
.byte \battler
.endm
- .macro jumpifstatus battler, status1, param2
+ .macro jumpifstatus battler:req, status1:req, ptr:req
.byte 0x1c
.byte \battler
.4byte \status1
- .4byte \param2
+ .4byte \ptr
.endm
- .macro jumpifstatus2 battler, status2, param2
+ .macro jumpifstatus2 battler:req, status2:req, ptr:req
.byte 0x1d
.byte \battler
.4byte \status2
- .4byte \param2
+ .4byte \ptr
.endm
- .macro jumpifability param0, ability, param2
+ .macro jumpifability param0:req, ability:req, ptr:req
.byte 0x1e
.byte \param0
.byte \ability
- .4byte \param2
+ .4byte \ptr
.endm
- .macro jumpifsideaffecting battler, sidestatus, param2
+ .macro jumpifsideaffecting battler:req, sidestatus:req, ptr:req
.byte 0x1f
.byte \battler
.2byte \sidestatus
- .4byte \param2
+ .4byte \ptr
.endm
- .macro jumpifstat battler, ifflag, stat, param3, param4
+ .macro jumpifstat battler:req, ifflag:req, stat:req, value:req, ptr
.byte 0x20
.byte \battler
.byte \ifflag
.byte \stat
- .byte \param3
- .4byte \param4
+ .byte \value
+ .4byte \ptr
.endm
- .macro jumpifstatus3condition battler, status3, param2, param3
+ .macro jumpifstatus3condition battler:req, status3:req, param2:req, ptr:req
.byte 0x21
.byte \battler
.4byte \status3
.byte \param2
- .4byte \param3
+ .4byte \ptr
.endm
- .macro jumpiftype battler, type, param2
+ .macro jumpiftype battler:req, type:req, ptr:req
.byte 0x22
.byte \battler
.byte \type
- .4byte \param2
+ .4byte \ptr
.endm
- .macro getexp battler
+ .macro getexp battler:req
.byte 0x23
.byte \battler
.endm
- .macro atk24 param0
+ .macro atk24 ptr:req
.byte 0x24
- .4byte \param0
+ .4byte \ptr
.endm
.macro movevaluescleanup
.byte 0x25
.endm
- .macro setmultihit param0
+ .macro setmultihit value:req
.byte 0x26
- .byte \param0
+ .byte \value
.endm
- .macro decrementmultihit param0
+ .macro decrementmultihit value:req
.byte 0x27
- .4byte \param0
+ .4byte \value
.endm
- .macro goto param0
+ .macro goto ptr:req
.byte 0x28
- .4byte \param0
+ .4byte \ptr
.endm
- .macro jumpifbyte ifflag, param1, param2, param3
+ .macro jumpifbyte ifflag:req, param1:req, param2:req, param3:req
.byte 0x29
.byte \ifflag
.4byte \param1
@@ -215,7 +215,7 @@
.4byte \param3
.endm
- .macro jumpifhalfword ifflag, param1, param2, param3
+ .macro jumpifhalfword ifflag:req, param1:req, param2:req, param3:req
.byte 0x2a
.byte \ifflag
.4byte \param1
@@ -223,7 +223,7 @@
.4byte \param3
.endm
- .macro jumpifword ifflag, param1, param2, param3
+ .macro jumpifword ifflag:req, param1:req, param2:req, param3:req
.byte 0x2b
.byte \ifflag
.4byte \param1
@@ -231,7 +231,7 @@
.4byte \param3
.endm
- .macro jumpifarrayequal param0, param1, param2, param3
+ .macro jumpifarrayequal param0:req, param1:req, param2:req, param3:req
.byte 0x2c
.4byte \param0
.4byte \param1
@@ -239,7 +239,7 @@
.4byte \param3
.endm
- .macro jumpifarraynotequal param0, param1, param2, param3
+ .macro jumpifarraynotequal param0:req, param1:req, param2:req, param3:req
.byte 0x2d
.4byte \param0
.4byte \param1
@@ -247,32 +247,32 @@
.4byte \param3
.endm
- .macro setbyte param0, param1
+ .macro setbyte ptr:req, param1:req
.byte 0x2e
- .4byte \param0
+ .4byte \ptr
.byte \param1
.endm
- .macro addbyte param0, param1
+ .macro addbyte ptr:req, param1:req
.byte 0x2f
- .4byte \param0
+ .4byte \ptr
.byte \param1
.endm
- .macro subbyte param0, param1
+ .macro subbyte ptr:req, param1:req
.byte 0x30
- .4byte \param0
+ .4byte \ptr
.byte \param1
.endm
- .macro copyarray param0, param1, param2
+ .macro copyarray param0:req, param1:req, param2:req
.byte 0x31
.4byte \param0
.4byte \param1
.byte \param2
.endm
- .macro copyarraywithindex param0, param1, param2, param3
+ .macro copyarraywithindex param0:req, param1:req, param2:req, param3:req
.byte 0x32
.4byte \param0
.4byte \param1
@@ -280,43 +280,43 @@
.byte \param3
.endm
- .macro orbyte param0, param1
+ .macro orbyte ptr:req, param1:req
.byte 0x33
- .4byte \param0
+ .4byte \ptr
.byte \param1
.endm
- .macro orhalfword param0, param1
+ .macro orhalfword ptr:req, param1:req
.byte 0x34
- .4byte \param0
+ .4byte \ptr
.2byte \param1
.endm
- .macro orword param0, param1
+ .macro orword ptr:req, param1:req
.byte 0x35
- .4byte \param0
+ .4byte \ptr
.4byte \param1
.endm
- .macro bicbyte param0, param1
+ .macro bicbyte ptr:req, param1:req
.byte 0x36
- .4byte \param0
+ .4byte \ptr
.byte \param1
.endm
- .macro bichalfword param0, param1
+ .macro bichalfword ptr:req, param1:req
.byte 0x37
- .4byte \param0
+ .4byte \ptr
.2byte \param1
.endm
- .macro bicword param0, param1
+ .macro bicword ptr:req, param1:req
.byte 0x38
- .4byte \param0
+ .4byte \ptr
.4byte \param1
.endm
- .macro pause param0
+ .macro pause param0:req
.byte 0x39
.2byte \param0
.endm
@@ -325,7 +325,7 @@
.byte 0x3a
.endm
- .macro healthbar_update battler
+ .macro healthbar_update battler:req
.byte 0x3b
.byte \battler
.endm
@@ -346,41 +346,41 @@
.byte 0x3f
.endm
- .macro jumpifaffectedbyprotect param0
+ .macro jumpifaffectedbyprotect ptr:req
.byte 0x40
- .4byte \param0
+ .4byte \ptr
.endm
- .macro call param0
+ .macro call ptr:req
.byte 0x41
- .4byte \param0
+ .4byte \ptr
.endm
- .macro jumpiftype2 battler, type, param2
+ .macro jumpiftype2 battler:req, type:req, ptr:req
.byte 0x42
.byte \battler
.byte \type
- .4byte \param2
+ .4byte \ptr
.endm
- .macro jumpifabilitypresent ability, param1
+ .macro jumpifabilitypresent ability:req, ptr:req
.byte 0x43
.byte \ability
- .4byte \param1
+ .4byte \ptr
.endm
.macro endselectionscript
.byte 0x44
.endm
- .macro playanimation battler, param1, param2
+ .macro playanimation battler:req, param1:req, param2:req
.byte 0x45
.byte \battler
.byte \param1
.4byte \param2
.endm
- .macro playanimation2 battler, param1, param2
+ .macro playanimation2 battler:req, param1:req, param2:req
.byte 0x46
.byte \battler
.4byte \param1
@@ -391,14 +391,14 @@
.byte 0x47
.endm
- .macro playstatchangeanimation battler, param1, param2
+ .macro playstatchangeanimation battler:req, param1:req, param2:req
.byte 0x48
.byte \battler
.byte \param1
.byte \param2
.endm
- .macro moveend param0, param1
+ .macro moveend param0:req, param1:req
.byte 0x49
.byte \param0
.byte \param1
@@ -412,61 +412,61 @@
.byte 0x4b
.endm
- .macro getswitchedmondata battler
+ .macro getswitchedmondata battler:req
.byte 0x4c
.byte \battler
.endm
- .macro switchindataupdate battler
+ .macro switchindataupdate battler:req
.byte 0x4d
.byte \battler
.endm
- .macro switchinanim battler, dontclearsubstitutebit
+ .macro switchinanim battler:req, dontclearsubstitutebit:req
.byte 0x4e
.byte \battler
.byte \dontclearsubstitutebit
.endm
- .macro jumpifcantswitch battler, param1
+ .macro jumpifcantswitch battler:req, ptr:req
.byte 0x4f
.byte \battler
- .4byte \param1
+ .4byte \ptr
.endm
- .macro openpartyscreen param0, param1
+ .macro openpartyscreen param0:req, param1:req
.byte 0x50
.byte \param0
.4byte \param1
.endm
- .macro switchhandleorder battler, param1
+ .macro switchhandleorder battler:req, param1:req
.byte 0x51
.byte \battler
.byte \param1
.endm
- .macro switchineffects battler
+ .macro switchineffects battler:req
.byte 0x52
.byte \battler
.endm
- .macro trainerslidein battler
+ .macro trainerslidein battler:req
.byte 0x53
.byte \battler
.endm
- .macro playse param0
+ .macro playse param0:req
.byte 0x54
.2byte \param0
.endm
- .macro fanfare param0
+ .macro fanfare param0:req
.byte 0x55
.2byte \param0
.endm
- .macro playfaintcry battler
+ .macro playfaintcry battler:req
.byte 0x56
.byte \battler
.endm
@@ -475,29 +475,29 @@
.byte 0x57
.endm
- .macro returntoball battler
+ .macro returntoball battler:req
.byte 0x58
.byte \battler
.endm
- .macro handlelearnnewmove param0, param1, param2
+ .macro handlelearnnewmove param0:req, param1:req, param2:req
.byte 0x59
.4byte \param0
.4byte \param1
.byte \param2
.endm
- .macro yesnoboxlearnmove param0
+ .macro yesnoboxlearnmove param0:req
.byte 0x5a
.4byte \param0
.endm
- .macro yesnoboxstoplearningmove param0
+ .macro yesnoboxstoplearningmove param0:req
.byte 0x5b
.4byte \param0
.endm
- .macro hitanimation battler
+ .macro hitanimation battler:req
.byte 0x5c
.byte \battler
.endm
@@ -506,7 +506,7 @@
.byte 0x5d
.endm
- .macro atk5E battler
+ .macro atk5E battler:req
.byte 0x5e
.byte \battler
.endm
@@ -515,38 +515,38 @@
.byte 0x5f
.endm
- .macro incrementgamestat param0
+ .macro incrementgamestat param0:req
.byte 0x60
.byte \param0
.endm
- .macro drawpartystatussummary battler
+ .macro drawpartystatussummary battler:req
.byte 0x61
.byte \battler
.endm
- .macro hidepartystatussummary battler
+ .macro hidepartystatussummary battler:req
.byte 0x62
.byte \battler
.endm
- .macro jumptocalledmove param0
+ .macro jumptocalledmove param0:req
.byte 0x63
.byte \param0
.endm
- .macro statusanimation battler
+ .macro statusanimation battler:req
.byte 0x64
.byte \battler
.endm
- .macro status2animation battler, status2
+ .macro status2animation battler:req, status2:req
.byte 0x65
.byte \battler
.4byte \status2
.endm
- .macro chosenstatusanimation battler, param1, param2
+ .macro chosenstatusanimation battler:req, param1:req, param2:req
.byte 0x66
.byte \battler
.byte \param1
@@ -565,7 +565,7 @@
.byte 0x69
.endm
- .macro removeitem battler
+ .macro removeitem battler:req
.byte 0x6a
.byte \battler
.endm
@@ -586,12 +586,12 @@
.byte 0x6e
.endm
- .macro makevisible battler
+ .macro makevisible battler:req
.byte 0x6f
.byte \battler
.endm
- .macro recordlastability battler
+ .macro recordlastability battler:req
.byte 0x70
.byte \battler
.endm
@@ -600,17 +600,17 @@
.byte 0x71
.endm
- .macro jumpifplayerran param0
+ .macro jumpifplayerran ptr:req
.byte 0x72
- .4byte \param0
+ .4byte \ptr
.endm
- .macro hpthresholds battler
+ .macro hpthresholds battler:req
.byte 0x73
.byte \battler
.endm
- .macro hpthresholds2 battler
+ .macro hpthresholds2 battler:req
.byte 0x74
.byte \battler
.endm
@@ -619,7 +619,7 @@
.byte 0x75
.endm
- .macro various battler, param1
+ .macro various battler:req, param1:req
.byte 0x76
.byte \battler
.byte \param1
@@ -637,12 +637,12 @@
.byte 0x79
.endm
- .macro jumpifnexttargetvalid param0
+ .macro jumpifnexttargetvalid ptr:req
.byte 0x7a
- .4byte \param0
+ .4byte \ptr
.endm
- .macro tryhealhalfhealth param0, battler
+ .macro tryhealhalfhealth param0:req, battler:req
.byte 0x7b
.4byte \param0
.byte \battler
@@ -664,26 +664,26 @@
.byte 0x7f
.endm
- .macro manipulatedamage param0
+ .macro manipulatedamage param0:req
.byte 0x80
.byte \param0
.endm
- .macro trysetrest param0
+ .macro trysetrest param0:req
.byte 0x81
.4byte \param0
.endm
- .macro jumpifnotfirstturn param0
+ .macro jumpifnotfirstturn ptr:req
.byte 0x82
- .4byte \param0
+ .4byte \ptr
.endm
.macro nop
.byte 0x83
.endm
- .macro jumpifcantmakeasleep param0
+ .macro jumpifcantmakeasleep param0:req
.byte 0x84
.4byte \param0
.endm
@@ -692,12 +692,12 @@
.byte 0x85
.endm
- .macro stockpiletobasedamage param0
+ .macro stockpiletobasedamage param0:req
.byte 0x86
.4byte \param0
.endm
- .macro stockpiletohpheal param0
+ .macro stockpiletohpheal param0:req
.byte 0x87
.4byte \param0
.endm
@@ -706,7 +706,7 @@
.byte 0x88
.endm
- .macro statbuffchange param0, param1
+ .macro statbuffchange param0:req, param1:req
.byte 0x89
.byte \param0
.4byte \param1
@@ -724,7 +724,7 @@
.byte 0x8c
.endm
- .macro setmultihitcounter param0
+ .macro setmultihitcounter param0:req
.byte 0x8d
.byte \param0
.endm
@@ -733,12 +733,12 @@
.byte 0x8e
.endm
- .macro forcerandomswitch param0
+ .macro forcerandomswitch param0:req
.byte 0x8f
.4byte \param0
.endm
- .macro tryconversiontypechange param0
+ .macro tryconversiontypechange param0:req
.byte 0x90
.4byte \param0
.endm
@@ -751,7 +751,7 @@
.byte 0x92
.endm
- .macro tryKO param0
+ .macro tryKO param0:req
.byte 0x93
.4byte \param0
.endm
@@ -768,12 +768,12 @@
.byte 0x96
.endm
- .macro tryinfatuating param0
+ .macro tryinfatuating param0:req
.byte 0x97
.4byte \param0
.endm
- .macro updatestatusicon battler
+ .macro updatestatusicon battler:req
.byte 0x98
.byte \battler
.endm
@@ -794,7 +794,7 @@
.byte 0x9c
.endm
- .macro mimicattackcopy param0
+ .macro mimicattackcopy param0:req
.byte 0x9d
.4byte \param0
.endm
@@ -811,32 +811,32 @@
.byte 0xa0
.endm
- .macro counterdamagecalculator param0
+ .macro counterdamagecalculator param0:req
.byte 0xa1
.4byte \param0
.endm
- .macro mirrorcoatdamagecalculator param0
+ .macro mirrorcoatdamagecalculator param0:req
.byte 0xa2
.4byte \param0
.endm
- .macro disablelastusedattack param0
+ .macro disablelastusedattack param0:req
.byte 0xa3
.4byte \param0
.endm
- .macro trysetencore param0
+ .macro trysetencore param0:req
.byte 0xa4
.4byte \param0
.endm
- .macro painsplitdmgcalc param0
+ .macro painsplitdmgcalc param0:req
.byte 0xa5
.4byte \param0
.endm
- .macro settypetorandomresistance param0
+ .macro settypetorandomresistance param0:req
.byte 0xa6
.4byte \param0
.endm
@@ -845,12 +845,12 @@
.byte 0xa7
.endm
- .macro copymovepermanently param0
+ .macro copymovepermanently param0:req
.byte 0xa8
.4byte \param0
.endm
- .macro trychoosesleeptalkmove param0
+ .macro trychoosesleeptalkmove param0:req
.byte 0xa9
.4byte \param0
.endm
@@ -867,7 +867,7 @@
.byte 0xac
.endm
- .macro tryspiteppreduce param0
+ .macro tryspiteppreduce param0:req
.byte 0xad
.4byte \param0
.endm
@@ -876,12 +876,12 @@
.byte 0xae
.endm
- .macro cursetarget param0
+ .macro cursetarget param0:req
.byte 0xaf
.4byte \param0
.endm
- .macro trysetspikes param0
+ .macro trysetspikes param0:req
.byte 0xb0
.4byte \param0
.endm
@@ -890,7 +890,7 @@
.byte 0xb1
.endm
- .macro trysetperishsong param0
+ .macro trysetperishsong param0:req
.byte 0xb2
.4byte \param0
.endm
@@ -899,10 +899,10 @@
.byte 0xb3
.endm
- .macro jumpifconfusedandstatmaxed stat, param1
+ .macro jumpifconfusedandstatmaxed stat:req, ptr:req
.byte 0xb4
.byte \stat
- .4byte \param1
+ .4byte \ptr
.endm
.macro furycuttercalc
@@ -925,7 +925,7 @@
.byte 0xb9
.endm
- .macro jumpifnopursuitswitchdmg param0
+ .macro jumpifnopursuitswitchdmg param0:req
.byte 0xba
.4byte \param0
.endm
@@ -934,12 +934,12 @@
.byte 0xbb
.endm
- .macro maxattackhalvehp param0
+ .macro maxattackhalvehp param0:req
.byte 0xbc
.4byte \param0
.endm
- .macro copyfoestats param0
+ .macro copyfoestats param0:req
.byte 0xbd
.4byte \param0
.endm
@@ -952,7 +952,7 @@
.byte 0xbf
.endm
- .macro recoverbasedonsunlight param0
+ .macro recoverbasedonsunlight param0:req
.byte 0xc0
.4byte \param0
.endm
@@ -965,12 +965,12 @@
.byte 0xc2
.endm
- .macro trysetfutureattack param0
+ .macro trysetfutureattack param0:req
.byte 0xc3
.4byte \param0
.endm
- .macro trydobeatup param0, param1
+ .macro trydobeatup param0:req, param1:req
.byte 0xc4
.4byte \param0
.4byte \param1
@@ -992,9 +992,9 @@
.byte 0xc8
.endm
- .macro jumpifattackandspecialattackcannotfall param0
+ .macro jumpifattackandspecialattackcannotfall ptr:req
.byte 0xc9
- .4byte \param0
+ .4byte \ptr
.endm
.macro setforcedtarget
@@ -1009,48 +1009,48 @@
.byte 0xcc
.endm
- .macro cureifburnedparalysedorpoisoned param0
+ .macro cureifburnedparalysedorpoisoned param0:req
.byte 0xcd
.4byte \param0
.endm
- .macro settorment param0
+ .macro settorment param0:req
.byte 0xce
.4byte \param0
.endm
- .macro jumpifnodamage param0
+ .macro jumpifnodamage param0:req
.byte 0xcf
.4byte \param0
.endm
- .macro settaunt param0
+ .macro settaunt param0:req
.byte 0xd0
.4byte \param0
.endm
- .macro trysethelpinghand param0
+ .macro trysethelpinghand param0:req
.byte 0xd1
.4byte \param0
.endm
- .macro tryswapitems param0
+ .macro tryswapitems param0:req
.byte 0xd2
.4byte \param0
.endm
- .macro trycopyability param0
+ .macro trycopyability param0:req
.byte 0xd3
.4byte \param0
.endm
- .macro trywish param0, param1
+ .macro trywish param0:req, param1:req
.byte 0xd4
.byte \param0
.4byte \param1
.endm
- .macro trysetroots param0
+ .macro trysetroots param0:req
.byte 0xd5
.4byte \param0
.endm
@@ -1059,12 +1059,12 @@
.byte 0xd6
.endm
- .macro setyawn param0
+ .macro setyawn param0:req
.byte 0xd7
.4byte \param0
.endm
- .macro setdamagetohealthdifference param0
+ .macro setdamagetohealthdifference param0:req
.byte 0xd8
.4byte \param0
.endm
@@ -1073,17 +1073,17 @@
.byte 0xd9
.endm
- .macro tryswapabilities param0
+ .macro tryswapabilities param0:req
.byte 0xda
.4byte \param0
.endm
- .macro tryimprision param0
+ .macro tryimprision param0:req
.byte 0xdb
.4byte \param0
.endm
- .macro trysetgrudge param0
+ .macro trysetgrudge param0:req
.byte 0xdc
.4byte \param0
.endm
@@ -1092,32 +1092,32 @@
.byte 0xdd
.endm
- .macro asistattackselect param0
+ .macro asistattackselect param0:req
.byte 0xde
.4byte \param0
.endm
- .macro trysetmagiccoat param0
+ .macro trysetmagiccoat param0:req
.byte 0xdf
.4byte \param0
.endm
- .macro trysetsnatch param0
+ .macro trysetsnatch param0:req
.byte 0xe0
.4byte \param0
.endm
- .macro trygetintimidatetarget param0
+ .macro trygetintimidatetarget param0:req
.byte 0xe1
.4byte \param0
.endm
- .macro switchoutabilities battler
+ .macro switchoutabilities battler:req
.byte 0xe2
.byte \battler
.endm
- .macro jumpifhasnohp battler, param1
+ .macro jumpifhasnohp battler:req, param1:req
.byte 0xe3
.byte \battler
.4byte \param1
@@ -1139,7 +1139,7 @@
.byte 0xe7
.endm
- .macro settypebasedhalvers param0
+ .macro settypebasedhalvers param0:req
.byte 0xe8
.4byte \param0
.endm
@@ -1148,17 +1148,17 @@
.byte 0xe9
.endm
- .macro tryrecycleitem param0
+ .macro tryrecycleitem param0:req
.byte 0xea
.4byte \param0
.endm
- .macro settypetoterrain param0
+ .macro settypetoterrain param0:req
.byte 0xeb
.4byte \param0
.endm
- .macro pursuitrelated param0
+ .macro pursuitrelated param0:req
.byte 0xec
.4byte \param0
.endm
@@ -1179,7 +1179,7 @@
.byte 0xf0
.endm
- .macro trysetcaughtmondexflags param0
+ .macro trysetcaughtmondexflags param0:req
.byte 0xf1
.4byte \param0
.endm
@@ -1188,7 +1188,7 @@
.byte 0xf2
.endm
- .macro trygivecaughtmonnick param0
+ .macro trygivecaughtmonnick param0:req
.byte 0xf3
.4byte \param0
.endm
@@ -1209,93 +1209,93 @@
.byte 0xf7
.endm
- .macro trainerslideout param0
+ .macro trainerslideout param0:req
.byte 0xf8
.byte \param0
.endm
@ various command changed to more readable macros
- .macro cancelmultiturnmoves battler
+ .macro cancelmultiturnmoves battler:req
various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES
.endm
- .macro setmagiccoattarget battler
+ .macro setmagiccoattarget battler:req
various \battler, VARIOUS_SET_MAGIC_COAT_TARGET
.endm
- .macro getifcantrunfrombattle battler
+ .macro getifcantrunfrombattle battler:req
various \battler, VARIOUS_IS_RUNNING_IMPOSSIBLE
.endm
- .macro getmovetarget battler
+ .macro getmovetarget battler:req
various \battler, VARIOUS_GET_MOVE_TARGET
.endm
- .macro various4 battler
+ .macro various4 battler:req
various \battler, 4
.endm
- .macro resetintrimidatetracebits battler
+ .macro resetintrimidatetracebits battler:req
various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
.endm
- .macro updatechoicemoveonlvlup battler
+ .macro updatechoicemoveonlvlup battler:req
various \battler, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
.endm
- .macro various7 battler
+ .macro various7 battler:req
various \battler, 7
.endm
- .macro various8 battler
+ .macro various8 battler:req
various \battler, 8
.endm
- .macro various9 battler
- various \battler, 9
+ .macro arenajudgmentwindow
+ various BS_ATTACKER, VARIOUS_ARENA_JUDGMENT_WINDOW
.endm
- .macro various10 battler
- various \battler, 10
+ .macro arenaopponentmonlost
+ various BS_ATTACKER, VARIOUS_ARENA_OPPONENT_MON_LOST
.endm
- .macro various11 battler
- various \battler, 11
+ .macro arenaplayermonlost
+ various BS_ATTACKER, VARIOUS_ARENA_PLAYER_MON_LOST
.endm
- .macro various12 battler
- various \battler, 12
+ .macro arenabothmonlost
+ various BS_ATTACKER, VARIOUS_ARENA_BOTH_MONS_LOST
.endm
- .macro forfeityesnobox battler
+ .macro forfeityesnobox battler:req
various \battler, VARIOUS_EMIT_YESNOBOX
.endm
- .macro various14 battler
+ .macro various14 battler:req
various \battler, 14
.endm
- .macro various15 battler
+ .macro various15 battler:req
various \battler, 15
.endm
- .macro various16 battler
- various \battler, 16
+ .macro arenajudmengtstring id:req
+ various \id, VARIOUS_ARENA_JUDGMENT_STRING
.endm
- .macro various17 battler
- various \battler, 17
+ .macro arenawaitmessage id:req
+ various \id, VARIOUS_ARENA_WAIT_STRING
.endm
- .macro waitcry battler
+ .macro waitcry battler:req
various \battler, VARIOUS_WAIT_CRY
.endm
- .macro returnopponentmon1toball battler
+ .macro returnopponentmon1toball battler:req
various \battler, VARIOUS_RETURN_OPPONENT_MON1
.endm
- .macro returnopponentmon2toball battler
+ .macro returnopponentmon2toball battler:req
various \battler, VARIOUS_RETURN_OPPONENT_MON2
.endm
@@ -1307,95 +1307,95 @@
various BS_ATTACKER, VARIOUS_VOLUME_UP
.endm
- .macro various23 battler
+ .macro setalreadystatusedmoveattempt battler:req
various \battler, 23
.endm
- .macro various24 battler
+ .macro various24 battler:req
various \battler, 24
.endm
- .macro setoutcomeonteleport battler
+ .macro setoutcomeonteleport battler:req
various \battler, VARIOUS_SET_TELEPORT_OUTCOME
.endm
- .macro playtrainerdefeatbgm battler
+ .macro playtrainerdefeatbgm battler:req
various \battler, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
.endm
@ helpful macros
- .macro setstatchanger stat, stages, down
+ .macro setstatchanger stat:req, stages:req, down:req
setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
.endm
- .macro setmoveeffect effect
+ .macro setmoveeffect effect:req
setbyte cEFFECT_CHOOSER \effect
.endm
- .macro chosenstatus1animation battler, status
+ .macro chosenstatus1animation battler:req, status:req
chosenstatusanimation \battler 0x0 \status
.endm
- .macro chosenstatus2animation battler, status
+ .macro chosenstatus2animation battler:req, status:req
chosenstatusanimation \battler 0x1 \status
.endm
- .macro sethword dst, value
+ .macro sethword dst:req, value:req
setbyte \dst, \value & 0xFF
setbyte \dst + 1, (\value >> 8) & 0xFF
.endm
- .macro setword dst, value
+ .macro setword dst:req, value:req
setbyte \dst, \value & 0xFF
setbyte \dst + 1, (\value >> 8) & 0xFF
setbyte \dst + 2, (\value >> 16) & 0xFF
setbyte \dst + 3, (\value >> 24) & 0xFF
.endm
- .macro copybyte dst, src
+ .macro copybyte dst:req, src:req
copyarray \dst, \src, 0x1
.endm
- .macro copyhword dst, src
+ .macro copyhword dst:req, src:req
copyarray \dst, \src, 0x2
.endm
- .macro copyword dst, src
+ .macro copyword dst:req, src:req
copyarray \dst, \src, 0x4
.endm
- .macro jumpifbytenotequal byte1, byte2, jumpptr
+ .macro jumpifbytenotequal byte1:req, byte2:req, jumpptr:req
jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
.endm
- .macro jumpifbyteequal byte1, byte2, jumpptr
+ .macro jumpifbyteequal byte1:req, byte2:req, jumpptr:req
jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
.endm
- .macro jumpifmove move, jumpptr
+ .macro jumpifmove move:req, jumpptr:req
jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
.endm
- .macro jumpifnotmove move, jumpptr
+ .macro jumpifnotmove move:req, jumpptr:req
jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
.endm
- .macro jumpifstatus3 battler, status, jumpptr
+ .macro jumpifstatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, 0x0, \jumpptr
.endm
- .macro jumpifnostatus3 battler, status, jumpptr
+ .macro jumpifnostatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, 0x1, \jumpptr
.endm
- .macro jumpifmovehadnoeffect jumpptr
+ .macro jumpifmovehadnoeffect jumpptr:req
jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
.endm
- .macro jumpifbattletype flags, jumpptr
+ .macro jumpifbattletype flags:req, jumpptr:req
jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
- .macro jumpifnotbattletype flags, jumpptr
+ .macro jumpifnotbattletype flags:req, jumpptr:req
jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
.endm
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 6b9227442..d66992c35 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -19,52 +19,58 @@
.endm
@ Jumps to destination and continues script execution from there. The location of the calling script is remembered and can be returned to later.
- .macro call destination
+ .macro call destination:req
.byte 0x04
.4byte \destination
.endm
@ Jumps to destination and continues script execution from there.
- .macro goto destination
+ .macro goto destination:req
.byte 0x05
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there.
- .macro goto_if condition, destination
+ .macro goto_if condition:req, destination:req
.byte 0x06
.byte \condition
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls destination.
- .macro call_if condition, destination
+ .macro call_if condition:req, destination:req
.byte 0x07
.byte \condition
.4byte \destination
.endm
@ Jumps to the standard function at index function.
- .macro gotostd function
+ .macro gotostd function:req
.byte 0x08
.byte \function
.endm
+ @ callstd function names
+ STD_OBTAIN_ITEM = 0
+ STD_FIND_ITEM = 1
+ STD_OBTAIN_DECORATION = 7
+ STD_REGISTER_MATCH_CALL = 8
+
@ Calls the standard function at index function.
- .macro callstd function
+ .macro callstd function:req
.byte 0x09
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function.
- .macro gotostd_if condition, function
+ .macro gotostd_if condition:req, function:req
.byte 0x0a
.byte \condition
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function.
- .macro callstd_if condition, function
+ .macro callstd_if condition:req, function:req
.byte 0x0b
.byte \condition
.byte \function
@@ -81,146 +87,146 @@
.endm
@ Sets some status related to Mystery Event.
- .macro setmysteryeventstatus value
+ .macro setmysteryeventstatus value:req
.byte 0x0e
.byte \value
.endm
@ Sets the specified script bank to value.
- .macro loadword destination, value
+ .macro loadword destination:req, value:req
.byte 0x0f
.byte \destination
.4byte \value
.endm
@ Sets the specified script bank to value.
- .macro loadbyte destination, value
+ .macro loadbyte destination:req, value:req
.byte 0x10
.byte \destination
.byte \value
.endm
@ Sets the byte at offset to value.
- .macro writebytetoaddr value, offset
+ .macro writebytetoaddr value:req, offset:req
.byte 0x11
.byte \value
.4byte \offset
.endm
@ Copies the byte value at source into the specified script bank.
- .macro loadbytefromaddr destination, source
+ .macro loadbytefromaddr destination:req, source:req
.byte 0x12
.byte \destination
.4byte \source
.endm
@ Not sure. Judging from XSE's description I think it takes the least-significant byte in bank source and writes it to destination.
- .macro setptrbyte source, destination
+ .macro setptrbyte source:req, destination:req
.byte 0x13
.byte \source
.4byte \destination
.endm
@ Copies the contents of bank source into bank destination.
- .macro copylocal destination, source
+ .macro copylocal destination:req, source:req
.byte 0x14
.byte \destination
.byte \source
.endm
@ Copies the byte at source to destination, replacing whatever byte was previously there.
- .macro copybyte destination, source
+ .macro copybyte destination:req, source:req
.byte 0x15
.4byte \destination
.4byte \source
.endm
@ Changes the value of destination to value.
- .macro setvar destination, value
+ .macro setvar destination:req, value:req
.byte 0x16
.2byte \destination
.2byte \value
.endm
@ Changes the value of destination by adding value to it. Overflow is not prevented (0xFFFF + 1 = 0x0000).
- .macro addvar destination, value
+ .macro addvar destination:req, value:req
.byte 0x17
.2byte \destination
.2byte \value
.endm
@ Changes the value of destination by subtracting value to it. Overflow is not prevented (0x0000 - 1 = 0xFFFF).
- .macro subvar destination, value
+ .macro subvar destination:req, value:req
.byte 0x18
.2byte \destination
.2byte \value
.endm
@ Copies the value of source into destination.
- .macro copyvar destination, source
+ .macro copyvar destination:req, source:req
.byte 0x19
.2byte \destination
.2byte \source
.endm
@ If source is not a variable, then this function acts like setvar. Otherwise, it acts like copyvar.
- .macro setorcopyvar destination, source
+ .macro setorcopyvar destination:req, source:req
.byte 0x1a
.2byte \destination
.2byte \source
.endm
@ Compares the values of script banks a and b, after forcing the values to bytes.
- .macro compare_local_to_local byte1, byte2
+ .macro compare_local_to_local byte1:req, byte2:req
.byte 0x1b
.byte \byte1
.byte \byte2
.endm
@ Compares the least-significant byte of the value of script bank a to a fixed byte value (b).
- .macro compare_local_to_value a, b
+ .macro compare_local_to_value a:req, b:req
.byte 0x1c
.byte \a
.byte \b
.endm
@ Compares the least-significant byte of the value of script bank a to the byte located at offset b.
- .macro compare_local_to_addr a, b
+ .macro compare_local_to_addr a:req, b:req
.byte 0x1d
.byte \a
.4byte \b
.endm
@ Compares the byte located at offset a to the least-significant byte of the value of script bank b.
- .macro compare_addr_to_local a, b
+ .macro compare_addr_to_local a:req, b:req
.byte 0x1e
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to a fixed byte value (b).
- .macro compare_addr_to_value a, b
+ .macro compare_addr_to_value a:req, b:req
.byte 0x1f
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to the byte located at offset b.
- .macro compare_addr_to_addr a, b
+ .macro compare_addr_to_addr a:req, b:req
.byte 0x20
.4byte \a
.4byte \b
.endm
@ Compares the value of `var` to a fixed word value (b).
- .macro compare_var_to_value var, value
+ .macro compare_var_to_value var:req, value:req
.byte 0x21
.2byte \var
.2byte \value
.endm
@ Compares the value of `var1` to the value of `var2`.
- .macro compare_var_to_var var1, var2
+ .macro compare_var_to_var var1:req, var2:req
.byte 0x22
.2byte \var1
.2byte \var2
@@ -228,7 +234,7 @@
@ Generic compare macro which attempts to deduce argument types based on their values
@ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers
- .macro compare arg1, arg2
+ .macro compare arg1:req, arg2:req
.if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8)
compare_var_to_var \arg1, \arg2
.elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF)
@@ -239,32 +245,32 @@
.endm
@ Calls the native C function stored at `func`.
- .macro callnative func
+ .macro callnative func:req
.byte 0x23
.4byte \func
.endm
@ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE.
- .macro gotonative func
+ .macro gotonative func:req
.byte 0x24
.4byte \func
.endm
@ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers.
- .macro special function
+ .macro special function:req
.byte 0x25
.2byte SPECIAL_\function
.endm
@ Calls a special function. That function's output (if any) will be written to the variable you specify.
- .macro specialvar output, function
+ .macro specialvar output:req, function:req
.byte 0x26
.2byte \output
.2byte SPECIAL_\function
.endm
-
+
@ temporary solution
- .macro specialvar_ output, functionId
+ .macro specialvar_ output:req, functionId:req
.byte 0x26
.2byte \output
.2byte \functionId
@@ -276,31 +282,31 @@
.endm
@ Blocks script execution for time (frames? milliseconds?).
- .macro delay time
+ .macro delay time:req
.byte 0x28
.2byte \time
.endm
@ Sets a to 1.
- .macro setflag a
+ .macro setflag a:req
.byte 0x29
.2byte \a
.endm
@ Sets a to 0.
- .macro clearflag a
+ .macro clearflag a:req
.byte 0x2a
.2byte \a
.endm
@ Compares a to 1.
- .macro checkflag a
+ .macro checkflag a:req
.byte 0x2b
.2byte \a
.endm
@ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop.
- .macro initclock hour, minute
+ .macro initclock hour:req, minute:req
.byte 0x2c
.2byte \hour
.2byte \minute
@@ -317,7 +323,7 @@
.endm
@ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones.
- .macro playse sound_number
+ .macro playse sound_number:req
.byte 0x2f
.2byte \sound_number
.endm
@@ -328,7 +334,7 @@
.endm
@ Plays the specified (fanfare_number) fanfare.
- .macro playfanfare fanfare_number
+ .macro playfanfare fanfare_number:req
.byte 0x31
.2byte \fanfare_number
.endm
@@ -339,14 +345,14 @@
.endm
@ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00.
- .macro playbgm song_number, unknown
+ .macro playbgm song_number:req, unknown:req
.byte 0x33
.2byte \song_number
.byte \unknown
.endm
@ Saves the specified (song_number) song to be played later.
- .macro savebgm song_number
+ .macro savebgm song_number:req
.byte 0x34
.2byte \song_number
.endm
@@ -357,25 +363,25 @@
.endm
@ Crossfades the currently-playng song into the specified (song_number) song.
- .macro fadenewbgm song_number
+ .macro fadenewbgm song_number:req
.byte 0x36
.2byte \song_number
.endm
@ Fades out the currently-playing song.
- .macro fadeoutbgm speed
+ .macro fadeoutbgm speed:req
.byte 0x37
.byte \speed
.endm
@ Fades the previously-playing song back in.
- .macro fadeinbgm speed
+ .macro fadeinbgm speed:req
.byte 0x38
.byte \speed
.endm
@ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map.
- .macro warp map, warp, X, Y
+ .macro warp map:req, warp:req, X:req, Y:req
.byte 0x39
map \map
.byte \warp
@@ -384,7 +390,7 @@
.endm
@ Clone of warp that does not play a sound effect.
- .macro warpsilent map, warp, X, Y
+ .macro warpsilent map:req, warp:req, X:req, Y:req
.byte 0x3a
map \map
.byte \warp
@@ -393,7 +399,7 @@
.endm
@ Clone of warp that plays a door opening animation before stepping upwards into it.
- .macro warpdoor map, warp, X, Y
+ .macro warpdoor map:req, warp:req, X:req, Y:req
.byte 0x3b
map \map
.byte \warp
@@ -402,13 +408,13 @@
.endm
@ Warps the player to another map using a hole animation.
- .macro warphole map
+ .macro warphole map:req
.byte 0x3c
map \map
.endm
@ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.
- .macro warpteleport map, warp, X, Y
+ .macro warpteleport map:req, warp:req, X:req, Y:req
.byte 0x3d
map \map
.byte \warp
@@ -417,7 +423,7 @@
.endm
@ Sets the warp destination to be used later.
- .macro setwarp map, warp, X, Y
+ .macro setwarp map:req, warp:req, X:req, Y:req
.byte 0x3e
map \map
.byte \warp
@@ -426,7 +432,7 @@
.endm
@ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
- .macro setdynamicwarp map, warp, X, Y
+ .macro setdynamicwarp map:req, warp:req, X:req, Y:req
.byte 0x3f
map \map
.byte \warp
@@ -435,7 +441,7 @@
.endm
@ Sets the destination that diving or emerging from a dive will take the player to.
- .macro setdivewarp map, warp, X, Y
+ .macro setdivewarp map:req, warp:req, X:req, Y:req
.byte 0x40
map \map
.byte \warp
@@ -444,7 +450,7 @@
.endm
@ Sets the destination that falling into a hole will take the player to.
- .macro setholewarp map, warp, X, Y
+ .macro setholewarp map:req, warp:req, X:req, Y:req
.byte 0x41
map \map
.byte \warp
@@ -453,7 +459,7 @@
.endm
@ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables.
- .macro getplayerxy X, Y
+ .macro getplayerxy X:req, Y:req
.byte 0x42
.2byte \X
.2byte \Y
@@ -465,80 +471,80 @@
.endm
@ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000.
- .macro giveitem index, quantity
+ .macro giveitem index:req, quantity:req
.byte 0x44
.2byte \index
.2byte \quantity
.endm
@ Removes quantity of item index from the player's Bag.
- .macro takeitem index, quantity
+ .macro takeitem index:req, quantity:req
.byte 0x45
.2byte \index
.2byte \quantity
.endm
@ Checks if the player has enough space in their Bag to hold quantity more of item index. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room.
- .macro checkitemspace index, quantity
+ .macro checkitemspace index:req, quantity:req
.byte 0x46
.2byte \index
.2byte \quantity
.endm
@ Checks if the player has quantity or more of item index in their Bag. Sets variable 0x800D (LASTRESULT) to 0x0001 if the player has enough of the item, or 0x0000 if they have fewer than quantity of the item.
- .macro checkitem index, quantity
+ .macro checkitem index:req, quantity:req
.byte 0x47
.2byte \index
.2byte \quantity
.endm
@ Checks which Bag pocket the specified (index) item belongs in, and writes the value to variable 0x800D (LASTRESULT). This script is used to show the name of the proper Bag pocket when the player receives an item via callstd (simplified to giveitem in XSE).
- .macro checkitemtype index
+ .macro checkitemtype index:req
.byte 0x48
.2byte \index
.endm
@ Adds a quantity amount of item index to the player's PC. Both arguments can be variables.
- .macro givepcitem index, quantity
+ .macro givepcitem index:req, quantity:req
.byte 0x49
.2byte \index
.2byte \quantity
.endm
@ Checks for quantity amount of item index in the player's PC. Both arguments can be variables.
- .macro checkpcitem index, quantity
+ .macro checkpcitem index:req, quantity:req
.byte 0x4a
.2byte \index
.2byte \quantity
.endm
@ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro givedecoration decoration
+ .macro givedecoration decoration:req
.byte 0x4b
.2byte \decoration
.endm
@ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro takedecoration decoration
+ .macro takedecoration decoration:req
.byte 0x4c
.2byte \decoration
.endm
@ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro checkdecor decoration
+ .macro checkdecor decoration:req
.byte 0x4d
.2byte \decoration
.endm
@ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro checkdecorspace decoration
+ .macro checkdecorspace decoration:req
.byte 0x4e
.2byte \decoration
.endm
@ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open.
@ If no map is specified, then the current map is used.
- .macro applymovement index, movements, map
+ .macro applymovement index:req, movements:req, map
.ifb \map
.byte 0x4f
.2byte \index
@@ -554,7 +560,7 @@
@ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing.
@ If no map is specified, then the current map is used.
- .macro waitmovement index, map
+ .macro waitmovement index:req, map
.ifb \map
.byte 0x51
.2byte \index
@@ -567,7 +573,7 @@
@ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
@ If no map is specified, then the current map is used.
- .macro removeobject index, map
+ .macro removeobject index:req, map
.ifb \map
.byte 0x53
.2byte \index
@@ -580,7 +586,7 @@
@ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
@ If no map is specified, then the current map is used.
- .macro addobject index, map
+ .macro addobject index:req, map
.ifb \map
.byte 0x55
.2byte \index
@@ -592,20 +598,20 @@
.endm
@ Sets the specified (index) Object's position on the current map.
- .macro setobjectxy index, x, y
+ .macro setobjectxy index:req, x:req, y:req
.byte 0x57
.2byte \index
.2byte \x
.2byte \y
.endm
- .macro showobjectat index, map
+ .macro showobjectat index:req, map:req
.byte 0x58
.2byte \index
map \map
.endm
- .macro hideobjectat index, map
+ .macro hideobjectat index:req, map:req
.byte 0x59
.2byte \index
map \map
@@ -616,67 +622,108 @@
.byte 0x5a
.endm
- .macro turnobject index, direction
+ .macro turnobject index:req, direction:req
.byte 0x5b
.2byte \index
.byte \direction
.endm
@ If the Trainer flag for Trainer index is not set, this command does absolutely nothing.
- .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4
+ .macro trainerbattle type:req, trainer:req, local_id:req, pointer1:req, pointer2, pointer3, pointer4
.byte 0x5c
.byte \type
.2byte \trainer
- .2byte \word
- .if \type == 0
+ .2byte \local_id
+ .if \type == TRAINER_BATTLE_SINGLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
- .elseif \type == 1
+ .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ event script
- .elseif \type == 2
+ .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ event script
- .elseif \type == 3
+ .elseif \type == TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT
.4byte \pointer1 @ text
- .elseif \type == 4
+ .elseif \type == TRAINER_BATTLE_DOUBLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
- .elseif \type == 5
+ .elseif \type == TRAINER_BATTLE_REMATCH
.4byte \pointer1 @ text
.4byte \pointer2 @ text
- .elseif \type == 6
+ .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.4byte \pointer4 @ event script
- .elseif \type == 7
+ .elseif \type == TRAINER_BATTLE_REMATCH_DOUBLE
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
- .elseif \type == 8
+ .elseif \type == TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.4byte \pointer3 @ text
.4byte \pointer4 @ event script
- .elseif \type == 9
+ .elseif \type == TRAINER_BATTLE_9
.4byte \pointer1 @ text
.4byte \pointer2 @ text
- .elseif \type == 10
+ .elseif \type == TRAINER_BATTLE_SET_TRAINER_A
.4byte \pointer1 @ text
.4byte \pointer2 @ text
- .elseif \type == 11
+ .elseif \type == TRAINER_BATTLE_SET_TRAINER_B
.4byte \pointer1 @ text
.4byte \pointer2 @ text
- .elseif \type == 12
+ .elseif \type == TRAINER_BATTLE_12
.4byte \pointer1 @ text
.4byte \pointer2 @ text
.endif
.endm
+ NO_MUSIC = FALSE
+
+ @ Starts a single trainer battle, takes a trainer, intro text, loss text, and an optional event script
+ @ when used with an event script, you can also pass in an optional flag to disable music
+ .macro trainerbattle_single trainer:req, intro_text:req, lose_text:req, event_script=FALSE, music=TRUE
+ .if \event_script == FALSE
+ trainerbattle TRAINER_BATTLE_SINGLE, \trainer, 0, \intro_text, \lose_text
+ .elseif \music == TRUE
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, \trainer, 0, \intro_text, \lose_text, \event_script
+ .else
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \event_script
+ .endif
+ .endm
+
+ @ Starts a double trainer battle, takes a trainer, intro text, loss text, text for when you have too few pokemon
+ @ and an optional event script, when used with an event script you can pass in an optional flag to disable music
+ .macro trainerbattle_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req, event_script=FALSE, music=TRUE
+ .if \event_script == FALSE
+ trainerbattle TRAINER_BATTLE_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text
+ .elseif \music == TRUE
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script
+ .else
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text, \event_script
+ .endif
+ .endm
+
+ @ Starts a rematch battle, takes a trainer, intro text and loss text
+ .macro trainerbattle_rematch trainer:req, intro_text:req, lose_text:req
+ trainerbattle TRAINER_BATTLE_REMATCH, \trainer, 0, \intro_text, \lose_text
+ .endm
+
+ @ Starts a rematch double battle, takes a trainer, intro text, loss text, and text for when you have too few pokemon
+ .macro trainerbattle_rematch_double trainer:req, intro_text:req, lose_text:req, not_enough_pkmn_text:req
+ trainerbattle TRAINER_BATTLE_REMATCH_DOUBLE, \trainer, 0, \intro_text, \lose_text, \not_enough_pkmn_text
+ .endm
+
+ @ Starts a trainer battle, skipping intro text, takes a trainer and loss text
+ .macro trainerbattle_no_intro trainer:req, lose_text:req
+ trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text
+ .endm
+
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
.macro trainerbattlebegin
@@ -694,36 +741,36 @@
.endm
@ Compares Flag (trainer + 0x500) to 1. (If the flag is set, then the trainer has been defeated by the player.)
- .macro checktrainerflag trainer
+ .macro checktrainerflag trainer:req
.byte 0x60
.2byte \trainer
.endm
@ Sets Flag (trainer + 0x500).
- .macro settrainerflag trainer
+ .macro settrainerflag trainer:req
.byte 0x61
.2byte \trainer
.endm
@ Clears Flag (trainer + 0x500).
- .macro cleartrainerflag trainer
+ .macro cleartrainerflag trainer:req
.byte 0x62
.2byte \trainer
.endm
- .macro setobjectxyperm index, x, y
+ .macro setobjectxyperm index:req, x:req, y:req
.byte 0x63
.2byte \index
.2byte \x
.2byte \y
.endm
- .macro moveobjectoffscreen index
+ .macro moveobjectoffscreen index:req
.byte 0x64
.2byte \index
.endm
- .macro setobjectmovementtype word, byte
+ .macro setobjectmovementtype word:req, byte:req
.byte 0x65
.2byte \word
.byte \byte
@@ -735,7 +782,7 @@
.endm
@ Starts displaying a standard message box containing the specified text. If text is a pointer, then the string at that offset will be loaded and used. If text is script bank 0, then the value of script bank 0 will be treated as a pointer to the text. (You can use loadpointer to place a string pointer in a script bank.)
- .macro message text
+ .macro message text:req
.byte 0x67
.4byte \text
.endm
@@ -771,14 +818,14 @@
.endm
@ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES".
- .macro yesnobox x, y
+ .macro yesnobox x:req, y:req
.byte 0x6e
.byte \x
.byte \y
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoice x, y, list, b
+ .macro multichoice x:req, y:req, list:req, b:req
.byte 0x6f
.byte \x
.byte \y
@@ -787,7 +834,7 @@
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoicedefault x, y, list, default, b
+ .macro multichoicedefault x:req, y:req, list:req, default:req, b:req
.byte 0x70
.byte \x
.byte \y
@@ -797,7 +844,7 @@
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
- .macro multichoicegrid x, y, list, per_row, B
+ .macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req
.byte 0x71
.byte \x
.byte \y
@@ -812,7 +859,7 @@
.endm
@ Nopped in Emerald, but still consumes parameters.
- .macro erasebox byte1, byte2, byte3, byte4
+ .macro erasebox byte1:req, byte2:req, byte3:req, byte4:req
.byte 0x73
.byte \byte1
.byte \byte2
@@ -821,7 +868,7 @@
.endm
@ Nopped in Emerald, but still consumes parameters.
- .macro drawboxtext byte1, byte2, byte3, byte4
+ .macro drawboxtext byte1:req, byte2:req, byte3:req, byte4:req
.byte 0x74
.byte \byte1
.byte \byte2
@@ -830,7 +877,7 @@
.endm
@ Displays a box containing the front sprite for the specified (species) Pokemon species.
- .macro drawmonpic species, x, y
+ .macro drawmonpic species:req, x:req, y:req
.byte 0x75
.2byte \species
.byte \x
@@ -843,19 +890,19 @@
.endm
@ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.)
- .macro drawcontestwinner a
+ .macro drawcontestwinner a:req
.byte 0x77
.byte \a
.endm
@ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically).
- .macro braillemessage text
+ .macro braillemessage text:req
.byte 0x78
.4byte \text
.endm
@ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes.
- .macro givemon species, level, item, unknown1, unknown2, unknown3
+ .macro givemon species:req, level:req, item:req, unknown1:req, unknown2:req, unknown3:req
.byte 0x79
.2byte \species
.byte \level
@@ -865,12 +912,12 @@
.byte \unknown3
.endm
- .macro giveegg species
+ .macro giveegg species:req
.byte 0x7a
.2byte \species
.endm
- .macro setmonmove index, slot, move
+ .macro setmonmove index:req, slot:req, move:req
.byte 0x7b
.byte \index
.byte \slot
@@ -878,99 +925,99 @@
.endm
@ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species.
- .macro checkpartymove index
+ .macro checkpartymove index:req
.byte 0x7c
.2byte \index
.endm
@ Writes the name of the Pokemon at index species to the specified buffer.
- .macro bufferspeciesname out, species
+ .macro bufferspeciesname out:req, species:req
.byte 0x7d
.byte \out
.2byte \species
.endm
@ Writes the name of the species of the first Pokemon in the player's party to the specified buffer.
- .macro bufferleadmonspeciesname out
+ .macro bufferleadmonspeciesname out:req
.byte 0x7e
.byte \out
.endm
@ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
- .macro bufferpartymonnick out, slot
+ .macro bufferpartymonnick out:req, slot:req
.byte 0x7f
.byte \out
.2byte \slot
.endm
@ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitemname out, item
+ .macro bufferitemname out:req, item:req
.byte 0x80
.byte \out
.2byte \item
.endm
@ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop.
- .macro bufferdecorationname out, decoration
+ .macro bufferdecorationname out:req, decoration:req
.byte 0x81
.byte \out
.2byte \decoration
.endm
@ Writes the name of the move at index move to the specified buffer.
- .macro buffermovename out, move
+ .macro buffermovename out:req, move:req
.byte 0x82
.byte \out
.2byte \move
.endm
@ Converts the value of input to a decimal string, and writes that string to the specified buffer.
- .macro buffernumberstring out, input
+ .macro buffernumberstring out:req, input:req
.byte 0x83
.byte \out
.2byte \input
.endm
@ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption.
- .macro bufferstdstring out, index
+ .macro bufferstdstring out:req, index:req
.byte 0x84
.byte \out
.2byte \index
.endm
@ Copies the string at offset to the specified buffer.
- .macro bufferstring out, offset
+ .macro bufferstring out:req, offset:req
.byte 0x85
.byte \out
.4byte \offset
.endm
@ Opens the Pokemart system, offering the specified products for sale.
- .macro pokemart products
+ .macro pokemart products:req
.byte 0x86
.4byte \products
.endm
@ Opens the Pokemart system and treats the list of items as decorations.
- .macro pokemartdecoration products
+ .macro pokemartdecoration products:req
.byte 0x87
.4byte \products
.endm
@ Apparent clone of pokemartdecoration.
- .macro pokemartdecoration2 products
+ .macro pokemartdecoration2 products:req
.byte 0x88
.4byte \products
.endm
@ Starts up the slot machine minigame.
- .macro playslotmachine word
+ .macro playslotmachine word:req
.byte 0x89
.2byte \word
.endm
@ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop.
- .macro setberrytree tree_id, berry, growth_stage
+ .macro setberrytree tree_id:req, berry:req, growth_stage:req
.byte 0x8a
.byte \tree_id
.byte \berry
@@ -998,34 +1045,34 @@
.endm
@ Stores a random integer between 0 and limit in variable 0x800D (LASTRESULT).
- .macro random limit
+ .macro random limit:req
.byte 0x8f
.2byte \limit
.endm
@ If check is 0x00, this command adds value to the player's money.
- .macro givemoney value, check
+ .macro givemoney value:req, check:req
.byte 0x90
.4byte \value
.byte \check
.endm
@ If check is 0x00, this command subtracts value from the player's money.
- .macro takemoney value, check
+ .macro takemoney value:req, check:req
.byte 0x91
.4byte \value
.byte \check
.endm
@ If check is 0x00, this command will check if the player has value or more money; script variable 0x800D (LASTRESULT) is set to 0x0001 if the player has enough money, or 0x0000 if the do not.
- .macro checkmoney value, check
+ .macro checkmoney value:req, check:req
.byte 0x92
.4byte \value
.byte \check
.endm
@ Spawns a secondary box showing how much money the player has.
- .macro showmoneybox x, y, check
+ .macro showmoneybox x:req, y:req, check:req
.byte 0x93
.byte \x
.byte \y
@@ -1038,67 +1085,67 @@
.endm
@ Updates the secondary box spawned by showmoney. Consumes but does not use arguments.
- .macro updatemoneybox x, y
+ .macro updatemoneybox x:req, y:req
.byte 0x95
.byte \x
.byte \y
.endm
@ Gets the price reduction for the index given. In FireRed, this command is a nop.
- .macro getpricereduction index
+ .macro getpricereduction index:req
.byte 0x96
.2byte \index
.endm
@ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white.
- .macro fadescreen effect
+ .macro fadescreen effect:req
.byte 0x97
.byte \effect
.endm
@ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist.
- .macro fadescreenspeed effect, speed
+ .macro fadescreenspeed effect:req, speed:req
.byte 0x98
.byte \effect
.byte \speed
.endm
- .macro setflashradius word
+ .macro setflashradius word:req
.byte 0x99
.2byte \word
.endm
- .macro animateflash byte
+ .macro animateflash byte:req
.byte 0x9a
.byte \byte
.endm
- .macro messageautoscroll pointer
+ .macro messageautoscroll pointer:req
.byte 0x9b
.4byte \pointer
.endm
@ Executes the specified field move animation.
- .macro dofieldeffect animation
+ .macro dofieldeffect animation:req
.byte 0x9c
.2byte \animation
.endm
@ Sets up the field effect argument argument with the value value.
- .macro setfieldeffectargument argument, param
+ .macro setfieldeffectargument argument:req, param:req
.byte 0x9d
.byte \argument
.2byte \param
.endm
@ Blocks script execution until all playing field move animations complete.
- .macro waitfieldeffect animation
+ .macro waitfieldeffect animation:req
.byte 0x9e
.2byte \animation
.endm
@ Sets which healing place the player will return to if all of the Pokemon in their party faint.
- .macro setrespawn heallocation
+ .macro setrespawn heallocation:req
.byte 0x9f
.2byte \heallocation
.endm
@@ -1109,14 +1156,14 @@
.endm
@ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes.
- .macro playmoncry species, effect
+ .macro playmoncry species:req, effect:req
.byte 0xa1
.2byte \species
.2byte \effect
.endm
@ Changes the metatile at (x, y) on the current map.
- .macro setmetatile x, y, metatile_number, tile_attrib
+ .macro setmetatile x:req, y:req, metatile_number:req, tile_attrib:req
.byte 0xa2
.2byte \x
.2byte \y
@@ -1130,7 +1177,7 @@
.endm
@ Queues a weather change to type weather.
- .macro setweather type
+ .macro setweather type:req
.byte 0xa4
.2byte \type
.endm
@@ -1141,30 +1188,30 @@
.endm
@ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors).
- .macro setstepcallback subroutine
+ .macro setstepcallback subroutine:req
.byte 0xa6
.byte \subroutine
.endm
- .macro setmaplayoutindex index
+ .macro setmaplayoutindex index:req
.byte 0xa7
.2byte \index
.endm
- .macro setobjectpriority index, map, priority
+ .macro setobjectpriority index:req, map:req, priority:req
.byte 0xa8
.2byte \index
map \map
.byte \priority
.endm
- .macro resetobjectpriority index, map
+ .macro resetobjectpriority index:req, map:req
.byte 0xa9
.2byte \index
map \map
.endm
- .macro createvobject sprite, byte2, x, y, elevation, direction
+ .macro createvobject sprite:req, byte2:req, x:req, y:req, elevation, direction
.byte 0xaa
.byte \sprite
.byte \byte2
@@ -1174,21 +1221,21 @@
.byte \direction
.endm
- .macro turnvobject index, direction
+ .macro turnvobject index:req, direction:req
.byte 0xab
.byte \index
.byte \direction
.endm
@ Opens the door metatile at (X, Y) with an animation.
- .macro opendoor x, y
+ .macro opendoor x:req, y:req
.byte 0xac
.2byte \x
.2byte \y
.endm
@ Closes the door metatile at (X, Y) with an animation.
- .macro closedoor x, y
+ .macro closedoor x:req, y:req
.byte 0xad
.2byte \x
.2byte \y
@@ -1200,21 +1247,21 @@
.endm
@ Sets the door tile at (x, y) to be open without an animation.
- .macro setdooropen x, y
+ .macro setdooropen x:req, y:req
.byte 0xaf
.2byte \x
.2byte \y
.endm
@ Sets the door tile at (x, y) to be closed without an animation.
- .macro setdoorclosed x, y
+ .macro setdoorclosed x:req, y:req
.byte 0xb0
.2byte \x
.2byte \y
.endm
@ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop.
- .macro addelevmenuitem a, b, c, d
+ .macro addelevmenuitem a:req, b:req, c:req, d:req
.byte 0xb1
.byte \a
.2byte \b
@@ -1227,23 +1274,23 @@
.byte 0xb2
.endm
- .macro checkcoins out
+ .macro checkcoins out:req
.byte 0xb3
.2byte \out
.endm
- .macro givecoins count
+ .macro givecoins count:req
.byte 0xb4
.2byte \count
.endm
- .macro takecoins count
+ .macro takecoins count:req
.byte 0xb5
.2byte \count
.endm
@ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle.
- .macro setwildbattle species, level, item
+ .macro setwildbattle species:req, level:req, item:req
.byte 0xb6
.2byte \species
.byte \level
@@ -1255,78 +1302,78 @@
.byte 0xb7
.endm
- .macro setvaddress pointer
+ .macro setvaddress pointer:req
.byte 0xb8
.4byte \pointer
.endm
- .macro vgoto pointer
+ .macro vgoto pointer:req
.byte 0xb9
.4byte \pointer
.endm
- .macro vcall pointer
+ .macro vcall pointer:req
.byte 0xba
.4byte \pointer
.endm
- .macro vgoto_if byte, pointer
+ .macro vgoto_if byte:req, pointer:req
.byte 0xbb
.byte \byte
.4byte \pointer
.endm
- .macro vcall_if byte, pointer
+ .macro vcall_if byte:req, pointer:req
.byte 0xbc
.byte \byte
.4byte \pointer
.endm
- .macro vmessage pointer
+ .macro vmessage pointer:req
.byte 0xbd
.4byte \pointer
.endm
- .macro vloadptr pointer
+ .macro vloadptr pointer:req
.byte 0xbe
.4byte \pointer
.endm
- .macro vbufferstring byte, pointer
+ .macro vbufferstring byte:req, pointer:req
.byte 0xbf
.byte \byte
.4byte \pointer
.endm
@ Spawns a secondary box showing how many Coins the player has.
- .macro showcoinsbox x, y
+ .macro showcoinsbox x:req, y:req
.byte 0xc0
.byte \x
.byte \y
.endm
@ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
- .macro hidecoinsbox x, y
+ .macro hidecoinsbox x:req, y:req
.byte 0xc1
.byte \x
.byte \y
.endm
@ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
- .macro updatecoinsbox x, y
+ .macro updatecoinsbox x:req, y:req
.byte 0xc2
.byte \x
.byte \y
.endm
@ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF.
- .macro incrementgamestat stat
+ .macro incrementgamestat stat:req
.byte 0xc3
.byte \stat
.endm
@ Sets the destination that using an Escape Rope or Dig will take the player to.
- .macro setescapewarp map, warp, x, y
+ .macro setescapewarp map:req, warp:req, x:req, y:req
.byte 0xc4
map \map
.byte \warp
@@ -1340,20 +1387,20 @@
.endm
@ Writes the name of the specified (box) PC box to the specified buffer.
- .macro bufferboxname out, box
+ .macro bufferboxname out:req, box:req
.byte 0xc6
.byte \out
.2byte \box
.endm
@ Sets the color of the text in standard message boxes. 0x00 produces blue (male) text, 0x01 produces red (female) text, 0xFF resets the color to the default for the current OW's gender, and all other values produce black text.
- .macro textcolor color
+ .macro textcolor color:req
.byte 0xc7
.byte \color
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
- .macro loadhelp pointer
+ .macro loadhelp pointer:req
.byte 0xc8
.4byte \pointer
.endm
@@ -1374,20 +1421,20 @@
.endm
@ Compares the value of a hidden variable to a dword.
- .macro comparehiddenvar a, value
+ .macro comparehiddenvar a:req, value:req
.byte 0xcc
.byte \a
.4byte \value
.endm
@ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
- .macro setmonobedient slot
+ .macro setmonobedient slot:req
.byte 0xcd
.2byte \slot
.endm
@ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
- .macro checkmonobedience slot
+ .macro checkmonobedience slot:req
.byte 0xce
.2byte \slot
.endm
@@ -1398,13 +1445,13 @@
.endm
@ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot.
- .macro setworldmapflag worldmapflag
+ .macro setworldmapflag worldmapflag:req
.byte 0xd0
.2byte \worldmapflag
.endm
@ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source]
- .macro warpteleport2 map, warp, x, y
+ .macro warpteleport2 map:req, warp:req, x:req, y:req
.byte 0xd1
map \map
.byte \warp
@@ -1413,13 +1460,13 @@
.endm
@ Changes the location where the player caught the Pokemon in the specified slot of their party.
- .macro setmonmetlocation slot, location
+ .macro setmonmetlocation slot:req, location:req
.byte 0xd2
.2byte \slot
.byte \location
.endm
- .macro mossdeepgym1 unknown
+ .macro mossdeepgym1 unknown:req
.byte 0xd3
.2byte \unknown
.endm
@@ -1429,7 +1476,7 @@
.endm
@ In FireRed, this command is a nop.
- .macro mossdeepgym3 var
+ .macro mossdeepgym3 var:req
.byte 0xd5
.2byte \var
.endm
@@ -1438,7 +1485,7 @@
.byte 0xd6
.endm
- .macro warp7 map, byte, word1, word2
+ .macro warp7 map:req, byte:req, word1:req, word2:req
.byte 0xd7
map \map
.byte \byte
@@ -1458,34 +1505,34 @@
.byte 0xda
.endm
- .macro message3 pointer
+ .macro message3 pointer:req
.byte 0xdb
.4byte \pointer
.endm
- .macro fadescreenswapbuffers byte
+ .macro fadescreenswapbuffers byte:req
.byte 0xdc
.byte \byte
.endm
- .macro buffertrainerclassname out, class
+ .macro buffertrainerclassname out:req, class:req
.byte 0xdd
.byte \out
.2byte \class
.endm
- .macro buffertrainername out, trainer
+ .macro buffertrainername out:req, trainer:req
.byte 0xde
.byte \out
.2byte \trainer
.endm
- .macro pokenavcall pointer
+ .macro pokenavcall pointer:req
.byte 0xdf
.4byte \pointer
.endm
- .macro warp8 map, byte, word1, word2
+ .macro warp8 map:req, byte:req, word1:req, word2:req
.byte 0xe0
map \map
.byte \byte
@@ -1493,14 +1540,14 @@
.2byte \word2
.endm
- .macro buffercontesttypestring out, word
+ .macro buffercontesttypestring out:req, word:req
.byte 0xe1
.byte \out
.2byte \word
.endm
@ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitemnameplural out, item, quantity
+ .macro bufferitemnameplural out:req, item:req, quantity:req
.byte 0xe2
.byte \out
.2byte \item
@@ -1510,37 +1557,48 @@
@ Supplementary
- .macro goto_eq dest
+ .macro goto_eq dest:req
goto_if 1, \dest
.endm
- .macro switch var
+ .macro switch var:req
copyvar 0x8000, \var
.endm
- .macro case condition, dest
+ .macro case condition:req, dest:req
compare 0x8000, \condition
goto_eq \dest
.endm
- .macro msgbox text, type=4
- loadword 0, \text
- callstd \type
- .endm
-
@ Message box types
+ MSGBOX_NPC = 2
+ MSGBOX_SIGN = 3
+ MSGBOX_DEFAULT = 4
MSGBOX_YESNO = 5
+ MSGBOX_AUTOCLOSE = 6
YES = 1
NO = 0
- .macro giveitem_std item, amount=1, function=0
+ .macro msgbox text:req, type=MSGBOX_DEFAULT
+ loadword 0, \text
+ callstd \type
+ .endm
+
+ .macro giveitem_std item:req, amount=1, function=0
setorcopyvar 0x8000, \item
setorcopyvar 0x8001, \amount
callstd \function
.endm
- .macro givedecoration_std decoration
+ .macro givedecoration_std decoration:req
setorcopyvar 0x8000, \decoration
- callstd 7
+ callstd STD_OBTAIN_DECORATION
+ .endm
+
+ .macro register_matchcall trainer:req
+ setvar VAR_0x8004, \trainer
+ special SetMatchCallRegisteredFlag
+ setorcopyvar VAR_0x8000, \trainer
+ callstd STD_REGISTER_MATCH_CALL
.endm
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 23806b4cc..9a028b2e5 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -65,7 +65,7 @@
.endm
.macro bg_hidden_item_event x, y, height, item, flag
- bg_event \x, \y, \height, 7, \item, \flag, 0
+ bg_event \x, \y, \height, 7, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START), 0
.endm
.macro bg_secret_base_event x, y, height, secret_base_id
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 54d7510d9..3b28ab8d4 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -181,7 +181,7 @@ sub_81B3300: @ 81B3300
movs r1, 0x1
orrs r0, r1
strb r0, [r2]
- bl GetPlayerTextSpeed
+ bl GetPlayerTextSpeedDelay
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -2141,7 +2141,7 @@ sub_81B43DC: @ 81B43DC
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -2674,7 +2674,7 @@ sub_81B48DC: @ 81B48DC
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -2966,7 +2966,7 @@ sub_81B4BA0: @ 81B4BA0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3072,7 +3072,7 @@ sub_81B4C94: @ 81B4C94
push {r7}
lsls r0, 24
lsrs r5, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3307,7 +3307,7 @@ sub_81B4E8C: @ 81B4E8C
adds r0, r1
mov r8, r0
_081B4EC6:
- ldr r0, =gUnknown_0203CEF8
+ ldr r0, =gSelectedOrderFromParty
adds r4, r5, r0
ldrb r0, [r4]
cmp r0, 0
@@ -3421,7 +3421,7 @@ sub_81B4FA8: @ 81B4FA8
movs r4, 0
cmp r4, r5
bcs _081B502A
- ldr r6, =gUnknown_0203CEF8
+ ldr r6, =gSelectedOrderFromParty
subs r2, r5, 0x1
adds r7, r6, 0
ldr r3, =gUnknown_0203CEC8
@@ -3479,7 +3479,7 @@ _081B502A:
cmp r4, r5
bge _081B5078
_081B504E:
- ldr r0, =gUnknown_0203CEF8
+ ldr r0, =gSelectedOrderFromParty
adds r1, r4, r0
ldrb r0, [r1]
cmp r0, 0
@@ -3880,7 +3880,7 @@ sub_81B5430: @ 81B5430
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -4174,7 +4174,7 @@ sub_81B56D8: @ 81B56D8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -6546,7 +6546,7 @@ ether_effect_related_3: @ 81B6AB4
lsls r0, 24
lsrs r4, r0, 24
adds r5, r4, 0
- bl ProcessMenuInput
+ bl Menu_ProcessInput
lsls r0, 24
asrs r1, r0, 24
movs r0, 0x2
@@ -7159,7 +7159,7 @@ sub_81B7028: @ 81B7028
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -7461,7 +7461,7 @@ sub_81B72C8: @ 81B72C8
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r5, r0, 24
cmp r5, 0
@@ -9243,7 +9243,7 @@ sub_81B82D4: @ 81B82D4
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -9521,7 +9521,7 @@ sub_81B8518: @ 81B8518
thumb_func_start sub_81B8558
sub_81B8558: @ 81B8558
push {lr}
- ldr r0, =gUnknown_0203CEF8
+ ldr r0, =gSelectedOrderFromParty
movs r1, 0
movs r2, 0x4
bl memset
@@ -9618,7 +9618,7 @@ _081B8618:
bl GetMonData
lsls r0, 16
lsrs r4, r0, 16
- ldr r3, =gUnknown_08611C9A
+ ldr r3, =gFrontierBannedSpecies
lsls r1, r6, 1
adds r0, r1, r3
ldrh r0, [r0]
@@ -9658,7 +9658,7 @@ sub_81B865C: @ 81B865C
lsls r0, 24
lsrs r2, r0, 24
adds r1, r2, 0
- ldr r3, =gUnknown_0203CEF8
+ ldr r3, =gSelectedOrderFromParty
adds r0, r2, r3
subs r0, 0x1
ldrb r0, [r0]
@@ -9703,7 +9703,7 @@ _081B86C0:
movs r5, 0
b _081B8750
_081B86CE:
- ldr r3, =gUnknown_0203CEF8
+ ldr r3, =gSelectedOrderFromParty
adds r4, r3, r5
ldrb r0, [r4]
movs r1, 0x64
@@ -9734,7 +9734,7 @@ _081B86CE:
bcs _081B8748
movs r7, 0x64
_081B870E:
- ldr r0, =gUnknown_0203CEF8
+ ldr r0, =gSelectedOrderFromParty
adds r5, r0, r4
ldrb r0, [r5]
muls r0, r7
@@ -9790,7 +9790,7 @@ sub_81B8770: @ 81B8770
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0
- ldr r3, =gUnknown_0203CEF8
+ ldr r3, =gSelectedOrderFromParty
_081B877A:
adds r0, r1, r3
ldrb r0, [r0]
diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s
deleted file mode 100644
index 579788e14..000000000
--- a/asm/pokedex_area_screen.s
+++ /dev/null
@@ -1,1892 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813CA54
-sub_813CA54: @ 813CA54
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_813CA54
-
- thumb_func_start sub_813CA68
-sub_813CA68: @ 813CA68
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _0813CB20
- lsls r0, 2
- ldr r1, =_0813CA90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813CA90:
- .4byte _0813CAA4
- .4byte _0813CAB4
- .4byte _0813CABA
- .4byte _0813CAEC
- .4byte _0813CB10
-_0813CAA4:
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- bl sub_813CB40
- b _0813CB24
- .pool
-_0813CAB4:
- bl sub_813CF0C
- b _0813CB24
-_0813CABA:
- ldr r1, =gUnknown_085B3DB4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gUnknown_0203AB7C
- ldr r1, [r0]
- movs r0, 0x8B
- lsls r0, 1
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl LoadBgTilemap
- b _0813CB24
- .pool
-_0813CAEC:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _0813CB34
- ldr r0, =gUnknown_085B3D94
- ldr r1, =gPlttBufferUnfaded + 0x140
- ldr r2, =0x04000008
- bl CpuSet
- b _0813CB24
- .pool
-_0813CB10:
- ldr r1, =0xfffff800
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- b _0813CB24
- .pool
-_0813CB20:
- movs r0, 0
- b _0813CB36
-_0813CB24:
- ldr r0, =gUnknown_0203AB7C
- ldr r1, [r0]
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0813CB34:
- movs r0, 0x1
-_0813CB36:
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813CA68
-
- thumb_func_start sub_813CB40
-sub_813CB40: @ 813CB40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r5, =gUnknown_0203AB7C
- ldr r0, [r5]
- ldr r1, =0x000006e2
- adds r0, r1
- movs r4, 0
- strh r4, [r0]
- ldr r0, =0x0000403e
- bl VarGet
- ldr r1, [r5]
- ldr r2, =0x000006e4
- adds r1, r2
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bls _0813CB70
- strh r4, [r1]
-_0813CB70:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x000031dc
- adds r0, r3
- ldrh r1, [r0, 0x8]
- cmp r7, r1
- bne _0813CB80
- b _0813CCB8
-_0813CB80:
- ldr r1, [r5]
- movs r2, 0x88
- lsls r2, 1
- adds r0, r1, r2
- strh r4, [r0]
- movs r3, 0x89
- lsls r3, 1
- adds r0, r1, r3
- strh r4, [r0]
- movs r6, 0
- ldr r1, =gUnknown_085B3EE8
-_0813CB96:
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r7
- bne _0813CBA2
- b _0813CCF8
-_0813CBA2:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _0813CB96
- movs r6, 0
- ldr r4, =gUnknown_085B3EF0
- ldrh r0, [r4]
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _0813CC44
- mov r8, r4
- adds r5, r4, 0x4
- mov r9, r1
-_0813CBC0:
- lsls r0, r6, 1
- adds r1, r0, r6
- lsls r2, r1, 1
- mov r3, r8
- adds r1, r2, r3
- adds r3, r0, 0
- ldrh r1, [r1]
- cmp r7, r1
- bne _0813CC2E
- adds r0, r4, 0x2
- adds r0, r2, r0
- ldrh r0, [r0]
- cmp r0, 0x18
- beq _0813CC1A
- cmp r0, 0x18
- bgt _0813CC08
- cmp r0, 0
- beq _0813CC0E
- b _0813CC2E
- .pool
-_0813CC08:
- cmp r0, 0x1A
- beq _0813CC1A
- b _0813CC2E
-_0813CC0E:
- adds r0, r2, r5
- ldrh r1, [r0]
- movs r0, 0
- bl sub_813CD04
- b _0813CC2E
-_0813CC1A:
- adds r1, r3, r6
- lsls r1, 1
- mov r0, r8
- adds r0, 0x2
- adds r0, r1, r0
- ldrh r0, [r0]
- adds r1, r5
- ldrh r1, [r1]
- bl sub_813CD64
-_0813CC2E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, =gUnknown_085B3EF0
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r9
- bne _0813CBC0
-_0813CC44:
- movs r6, 0
- ldr r1, =gWildMonHeaders
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0813CCF8
-_0813CC4E:
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r0, 2
- adds r5, r0, r1
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_813CE48
- lsls r0, 24
- cmp r0, 0
- beq _0813CC9C
- ldrb r0, [r5]
- cmp r0, 0x18
- beq _0813CC8C
- cmp r0, 0x18
- bgt _0813CC7C
- cmp r0, 0
- beq _0813CC82
- b _0813CC9C
- .pool
-_0813CC7C:
- cmp r0, 0x1A
- beq _0813CC8C
- b _0813CC9C
-_0813CC82:
- ldrb r1, [r5, 0x1]
- movs r0, 0
- bl sub_813CD04
- b _0813CC9C
-_0813CC8C:
- ldr r0, =gWildMonHeaders
- adds r1, r4, r6
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- bl sub_813CD64
-_0813CC9C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, =gWildMonHeaders
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0813CC4E
- b _0813CCF8
- .pool
-_0813CCB8:
- ldr r2, [r5]
- movs r3, 0x89
- lsls r3, 1
- adds r1, r2, r3
- strh r4, [r1]
- ldrb r1, [r0, 0x13]
- cmp r1, 0
- beq _0813CCF0
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r2, 0
- adds r1, 0x11
- bl GetRoamerLocation
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- ldrb r1, [r1, 0x11]
- bl Overworld_GetMapHeaderByGroupAndId
- ldr r1, [r5]
- ldrb r0, [r0, 0x14]
- strh r0, [r1, 0x12]
- movs r0, 0x88
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1]
- b _0813CCF8
-_0813CCF0:
- movs r3, 0x88
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
-_0813CCF8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813CB40
-
- thumb_func_start sub_813CD04
-sub_813CD04: @ 813CD04
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r4, =gUnknown_0203AB7C
- ldr r2, [r4]
- movs r0, 0x88
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0x3F
- bhi _0813CD58
- lsls r0, 2
- adds r0, r2, r0
- strb r5, [r0, 0x10]
- ldr r1, [r4]
- movs r2, 0x88
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r1, r0
- strb r3, [r1, 0x11]
- adds r0, r5, 0
- adds r1, r3, 0
- bl Overworld_GetMapHeaderByGroupAndId
- ldrb r0, [r0, 0x14]
- bl CorrectSpecialMapSecId
- ldr r2, [r4]
- movs r1, 0x88
- lsls r1, 1
- adds r3, r2, r1
- ldrh r1, [r3]
- lsls r1, 2
- adds r2, r1
- strh r0, [r2, 0x12]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_0813CD58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813CD04
-
- thumb_func_start sub_813CD64
-sub_813CD64: @ 813CD64
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- movs r3, 0x89
- lsls r3, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0x1F
- bhi _0813CE22
- lsls r0, r2, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_813CE34
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD4
- bhi _0813CE22
- movs r3, 0
- ldr r0, =gUnknown_085B3EEA
-_0813CD96:
- ldrh r4, [r0]
- cmp r5, r4
- beq _0813CE22
- adds r0, 0x2
- adds r3, 0x1
- cmp r3, 0x2
- bls _0813CD96
- ldr r1, =gUnknown_085B3EFC
- ldrh r0, [r1]
- cmp r0, 0xD5
- beq _0813CDD2
- adds r4, r1, 0
- adds r7, r4, 0
- movs r6, 0
-_0813CDB2:
- ldrh r0, [r4]
- cmp r5, r0
- bne _0813CDC8
- adds r0, r7, 0x2
- adds r0, r6, r0
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0813CE22
-_0813CDC8:
- adds r4, 0x4
- adds r6, 0x4
- ldrh r0, [r4]
- cmp r0, 0xD5
- bne _0813CDB2
-_0813CDD2:
- movs r3, 0
- ldr r0, =gUnknown_0203AB7C
- ldr r2, [r0]
- movs r4, 0x89
- lsls r4, 1
- adds r1, r2, r4
- ldrh r4, [r1]
- adds r1, r0, 0
- cmp r3, r4
- bge _0813CE02
- movs r6, 0xC4
- lsls r6, 3
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r5
- beq _0813CE02
- adds r2, r6
-_0813CDF4:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r4
- bge _0813CE02
- ldrh r0, [r2]
- cmp r0, r5
- bne _0813CDF4
-_0813CE02:
- ldr r1, [r1]
- movs r0, 0x89
- lsls r0, 1
- adds r2, r1, r0
- ldrh r4, [r2]
- cmp r3, r4
- bne _0813CE22
- lsls r0, r3, 1
- movs r6, 0xC4
- lsls r6, 3
- adds r1, r6
- adds r1, r0
- strh r5, [r1]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_0813CE22:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813CD64
-
- thumb_func_start sub_813CE34
-sub_813CE34: @ 813CE34
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl Overworld_GetMapHeaderByGroupAndId
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- thumb_func_end sub_813CE34
-
- thumb_func_start sub_813CE48
-sub_813CE48: @ 813CE48
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_813CE34
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xD2
- bne _0813CE7C
- ldr r0, =gUnknown_0203AB7C
- ldr r2, [r0]
- ldr r0, =0x000006e2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- ldr r0, =0x000006e4
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- cmp r1, r0
- bne _0813CEBC
-_0813CE7C:
- ldr r0, [r4, 0x4]
- adds r1, r5, 0
- movs r2, 0xC
- bl sub_813CED4
- lsls r0, 24
- cmp r0, 0
- bne _0813CECC
- ldr r0, [r4, 0x8]
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_813CED4
- lsls r0, 24
- cmp r0, 0
- bne _0813CECC
- ldr r0, [r4, 0x10]
- adds r1, r5, 0
- movs r2, 0xC
- bl sub_813CED4
- lsls r0, 24
- cmp r0, 0
- bne _0813CECC
- ldr r0, [r4, 0xC]
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_813CED4
- lsls r0, 24
- cmp r0, 0
- bne _0813CECC
-_0813CEBC:
- movs r0, 0
- b _0813CECE
- .pool
-_0813CECC:
- movs r0, 0x1
-_0813CECE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_813CE48
-
- thumb_func_start sub_813CED4
-sub_813CED4: @ 813CED4
- push {r4,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0
- beq _0813CF02
- movs r3, 0
- cmp r3, r2
- bcs _0813CF02
- ldr r1, [r0, 0x4]
-_0813CEEA:
- lsls r0, r3, 2
- adds r0, r1
- ldrh r0, [r0, 0x2]
- cmp r0, r4
- bne _0813CEF8
- movs r0, 0x1
- b _0813CF04
-_0813CEF8:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r2
- bcc _0813CEEA
-_0813CF02:
- movs r0, 0
-_0813CF04:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_813CED4
-
- thumb_func_start sub_813CF0C
-sub_813CF0C: @ 813CF0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r4, 0
- ldr r2, =gUnknown_0203AB7C
- adds r7, r2, 0
- movs r6, 0x8B
- lsls r6, 1
- movs r5, 0
- ldr r3, =0x0000027f
-_0813CF26:
- ldr r0, [r7]
- lsls r1, r4, 1
- adds r0, r6
- adds r0, r1
- strh r5, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r3
- bls _0813CF26
- movs r4, 0
- ldr r0, [r2]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bcs _0813CFB2
- adds r3, r2, 0
-_0813CF4C:
- movs r5, 0
- movs r6, 0
- adds r2, r4, 0x1
- mov r8, r2
- lsls r4, 2
- mov r9, r4
-_0813CF58:
- movs r4, 0
-_0813CF5A:
- adds r0, r4, 0
- adds r1, r6, 0
- str r3, [sp]
- bl GetRegionMapSectionIdAt
- ldr r3, [sp]
- ldr r2, [r3]
- mov r7, r9
- adds r1, r2, r7
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x12]
- cmp r0, r1
- bne _0813CF84
- lsls r0, r5, 1
- movs r7, 0x8B
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, =0x0000ffff
- strh r0, [r1]
-_0813CF84:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _0813CF5A
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x13
- bls _0813CF58
- mov r1, r8
- lsls r0, r1, 16
- lsrs r4, r0, 16
- ldr r0, [r3]
- movs r2, 0x88
- lsls r2, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r4, r0
- bcc _0813CF4C
-_0813CFB2:
- movs r5, 0
- movs r6, 0
- ldr r7, =gUnknown_0203AB7C
- mov r12, r7
- movs r7, 0x8B
- lsls r7, 1
- ldr r3, =0x0000ffff
-_0813CFC0:
- movs r4, 0
- adds r1, r6, 0x1
- mov r9, r1
-_0813CFC6:
- mov r2, r12
- ldr r0, [r2]
- lsls r1, r5, 1
- adds r2, r0, r7
- adds r1, r2, r1
- ldrh r0, [r1]
- adds r1, r5, 0x1
- mov r8, r1
- cmp r0, r3
- bne _0813D0D2
- cmp r4, 0
- beq _0813CFF0
- subs r0, r5, 0x1
- lsls r0, 1
- adds r1, r2, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813CFF0
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
-_0813CFF0:
- adds r2, r5, 0x1
- mov r8, r2
- cmp r4, 0x1F
- beq _0813D00E
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r2, 1
- adds r0, r7
- adds r2, r0, r1
- ldrh r1, [r2]
- cmp r1, r3
- beq _0813D00E
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r2]
-_0813D00E:
- cmp r6, 0
- beq _0813D02C
- mov r2, r12
- ldr r1, [r2]
- adds r0, r5, 0
- subs r0, 0x20
- lsls r0, 1
- adds r1, r7
- adds r1, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813D02C
- movs r0, 0x8
- orrs r0, r2
- strh r0, [r1]
-_0813D02C:
- cmp r6, 0x13
- beq _0813D04A
- mov r0, r12
- ldr r1, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- adds r1, r7
- adds r1, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813D04A
- movs r0, 0x4
- orrs r0, r2
- strh r0, [r1]
-_0813D04A:
- cmp r4, 0
- beq _0813D06C
- cmp r6, 0
- beq _0813D06C
- mov r2, r12
- ldr r1, [r2]
- adds r0, r5, 0
- subs r0, 0x21
- lsls r0, 1
- adds r1, r7
- adds r1, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813D06C
- movs r0, 0x10
- orrs r0, r2
- strh r0, [r1]
-_0813D06C:
- cmp r4, 0x1F
- beq _0813D08E
- cmp r6, 0
- beq _0813D08E
- mov r0, r12
- ldr r1, [r0]
- adds r0, r5, 0
- subs r0, 0x1F
- lsls r0, 1
- adds r1, r7
- adds r1, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813D08E
- movs r0, 0x40
- orrs r0, r2
- strh r0, [r1]
-_0813D08E:
- cmp r4, 0
- beq _0813D0B0
- cmp r6, 0x13
- beq _0813D0B0
- mov r2, r12
- ldr r1, [r2]
- adds r0, r5, 0
- adds r0, 0x1F
- lsls r0, 1
- adds r1, r7
- adds r1, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813D0B0
- movs r0, 0x20
- orrs r0, r2
- strh r0, [r1]
-_0813D0B0:
- cmp r4, 0x1F
- beq _0813D0D2
- cmp r6, 0x13
- beq _0813D0D2
- mov r0, r12
- ldr r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- adds r1, r7
- adds r1, r0
- ldrh r2, [r1]
- cmp r2, r3
- beq _0813D0D2
- movs r0, 0x80
- orrs r0, r2
- strh r0, [r1]
-_0813D0D2:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bhi _0813D0E4
- b _0813CFC6
-_0813D0E4:
- mov r2, r9
- lsls r0, r2, 16
- lsrs r6, r0, 16
- cmp r6, 0x13
- bhi _0813D0F0
- b _0813CFC0
-_0813D0F0:
- movs r4, 0
- ldr r6, =gUnknown_0203AB7C
- movs r5, 0x8B
- lsls r5, 1
- ldr r7, =0x0000ffff
- mov r12, r7
- movs r0, 0xA0
- lsls r0, 8
- mov r9, r0
- ldr r7, =0x0000a010
- ldr r1, =0x0000ffcf
- mov r8, r1
-_0813D108:
- ldr r0, [r6]
- lsls r3, r4, 1
- adds r0, r5
- adds r2, r0, r3
- ldrh r1, [r2]
- adds r0, r1, 0
- cmp r0, r12
- bne _0813D130
- strh r7, [r2]
- b _0813D198
- .pool
-_0813D130:
- cmp r0, 0
- beq _0813D198
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813D142
- mov r0, r8
- ands r0, r1
- strh r0, [r2]
-_0813D142:
- ldr r0, [r6]
- adds r0, r5
- adds r2, r0, r3
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813D158
- ldr r0, =0x0000ff3f
- ands r0, r1
- strh r0, [r2]
-_0813D158:
- ldr r0, [r6]
- adds r0, r5
- adds r2, r0, r3
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0813D16E
- ldr r0, =0x0000ffaf
- ands r0, r1
- strh r0, [r2]
-_0813D16E:
- ldr r0, [r6]
- adds r0, r5
- adds r2, r0, r3
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0813D184
- ldr r0, =0x0000ff5f
- ands r0, r1
- strh r0, [r2]
-_0813D184:
- ldr r1, [r6]
- adds r1, r5
- adds r1, r3
- ldr r2, =gUnknown_085B3F18
- ldrh r0, [r1]
- adds r0, r2
- ldrb r0, [r0]
- mov r2, r9
- orrs r0, r2
- strh r0, [r1]
-_0813D198:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x0000027f
- cmp r4, r0
- bls _0813D108
- 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_813CF0C
-
- thumb_func_start sub_813D1C8
-sub_813D1C8: @ 813D1C8
- push {lr}
- ldr r1, =gUnknown_0203AB7C
- ldr r2, [r1]
- movs r3, 0x89
- lsls r3, 1
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0
- beq _0813D1FC
- movs r1, 0x88
- lsls r1, 1
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813D1FC
- ldr r0, =0x0000061e
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- b _0813D206
- .pool
-_0813D1FC:
- ldr r0, [r3]
- ldr r1, =0x0000061e
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0813D206:
- ldr r1, [r3]
- ldr r2, =0x00000616
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- movs r3, 0xC3
- lsls r3, 3
- adds r0, r1, r3
- strh r2, [r0]
- adds r3, 0x2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x0000061c
- adds r2, r1, r0
- movs r0, 0x40
- strh r0, [r2]
- ldr r2, =0x0000061f
- adds r1, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- bl sub_813D25C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D1C8
-
- thumb_func_start sub_813D25C
-sub_813D25C: @ 813D25C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_0203AB7C
- ldr r2, [r0]
- ldr r3, =0x0000061e
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r7, r0, 0
- cmp r1, 0
- bne _0813D32A
- ldr r0, =0x00000616
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0813D324
- movs r1, 0xC3
- lsls r1, 3
- adds r0, r2, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0813D2A4
- subs r3, 0x4
- adds r0, r2, r3
- b _0813D2A8
- .pool
-_0813D2A4:
- ldr r1, =0x0000061c
- adds r0, r2, r1
-_0813D2A8:
- ldrh r1, [r0]
- adds r1, 0x4
- movs r2, 0x7F
- ands r1, r2
- strh r1, [r0]
- ldr r3, =gSineTable
- ldr r1, [r7]
- ldr r2, =0x0000061a
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r3
- ldrh r2, [r0]
- lsls r2, 16
- asrs r2, 20
- lsls r2, 16
- ldr r0, =0x0000061c
- adds r1, r0
- ldrh r0, [r1]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 20
- lsls r1, 24
- orrs r1, r2
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r7]
- ldr r2, =0x00000616
- adds r0, r1, r2
- movs r3, 0
- strh r3, [r0]
- movs r0, 0xC3
- lsls r0, 3
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, 0x40
- bne _0813D3C6
- strh r3, [r2]
- movs r2, 0x89
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813D3C6
- ldr r3, =0x0000061e
- adds r1, r3
- movs r0, 0x1
- b _0813D3C4
- .pool
-_0813D324:
- subs r0, 0x1
- strh r0, [r1]
- b _0813D3C6
-_0813D32A:
- ldr r0, =0x00000616
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC
- bls _0813D3C6
- movs r0, 0
- strh r0, [r1]
- ldr r3, =0x0000061f
- adds r1, r2, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r4, 0
- ldr r0, [r7]
- movs r6, 0x89
- lsls r6, 1
- adds r0, r6
- ldrh r0, [r0]
- cmp r4, r0
- bcs _0813D3A0
- adds r5, r7, 0
- movs r0, 0x1
- mov r12, r0
- movs r1, 0x5
- negs r1, r1
- mov r8, r1
-_0813D366:
- ldr r1, [r5]
- lsls r2, r4, 2
- movs r3, 0xCC
- lsls r3, 3
- adds r0, r1, r3
- adds r0, r2
- ldr r3, [r0]
- ldr r0, =0x0000061f
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x1
- adds r3, 0x3E
- ands r1, r0
- mov r2, r12
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- adds r0, r6
- ldrh r0, [r0]
- cmp r4, r0
- bcc _0813D366
-_0813D3A0:
- ldr r0, [r7]
- ldr r3, =0x0000061f
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0x4
- bls _0813D3C6
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, [r7]
- movs r2, 0x88
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813D3C6
- subs r3, 0x1
- adds r1, r3
- movs r0, 0
-_0813D3C4:
- strb r0, [r1]
-_0813D3C6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D25C
-
- thumb_func_start sub_813D3D8
-sub_813D3D8: @ 813D3D8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r5, =gUnknown_0203AB7C
- ldr r0, =0x000015bc
- bl AllocZeroed
- str r0, [r5]
- movs r1, 0
- movs r5, 0
- strh r4, [r0, 0xE]
- movs r2, 0xDD
- lsls r2, 3
- adds r0, r2
- str r6, [r0]
- strb r1, [r6]
- ldr r0, =sub_813D42C
- 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
- strh r5, [r1, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D3D8
-
- thumb_func_start sub_813D42C
-sub_813D42C: @ 813D42C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0xB
- bls _0813D44A
- b _0813D584
-_0813D44A:
- lsls r0, 2
- ldr r1, =_0813D45C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813D45C:
- .4byte _0813D48C
- .4byte _0813D4A8
- .4byte _0813D4D4
- .4byte _0813D4E6
- .4byte _0813D4EC
- .4byte _0813D4F8
- .4byte _0813D520
- .4byte _0813D526
- .4byte _0813D52C
- .4byte _0813D532
- .4byte _0813D544
- .4byte _0813D56C
-_0813D48C:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x3
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0
- bl HideBg
- b _0813D584
-_0813D4A8:
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x3
- bl SetBgAttribute
- ldr r0, =gUnknown_085B4018
- bl sub_81C4D70
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- movs r1, 0xF7
- lsls r1, 4
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl StringFill
- b _0813D584
- .pool
-_0813D4D4:
- bl sub_81C4E90
- cmp r0, 0x1
- beq _0813D594
- movs r0, 0x8
- negs r0, r0
- bl sub_81C4ED0
- b _0813D584
-_0813D4E6:
- bl sub_813CA54
- b _0813D584
-_0813D4EC:
- bl sub_813CA68
- lsls r0, 24
- cmp r0, 0
- bne _0813D594
- b _0813D584
-_0813D4F8:
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- ldr r2, =0x000006ec
- adds r0, r2
- bl sub_8122D88
- movs r0, 0x1
- movs r1, 0x1
- bl CreateRegionMapPlayerIcon
- movs r1, 0x8
- negs r1, r1
- movs r0, 0
- bl PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs
- b _0813D584
- .pool
-_0813D520:
- bl sub_813D6D0
- b _0813D584
-_0813D526:
- bl sub_813D8A8
- b _0813D584
-_0813D52C:
- bl sub_813D8E8
- b _0813D584
-_0813D532:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0813D584
-_0813D544:
- ldr r1, =0x00003f41
- movs r0, 0x50
- bl SetGpuReg
- bl sub_813D1C8
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- b _0813D584
- .pool
-_0813D56C:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_813D5A0
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0x8]
- b _0813D594
- .pool
-_0813D584:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0813D594:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D42C
-
- thumb_func_start sub_813D5A0
-sub_813D5A0: @ 813D5A0
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_813D25C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r6, r0, r1
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- cmp r1, 0x1
- beq _0813D5F8
- cmp r1, 0x1
- bgt _0813D5CC
- cmp r1, 0
- beq _0813D5E2
- b _0813D5D4
- .pool
-_0813D5CC:
- cmp r1, 0x2
- beq _0813D640
- cmp r1, 0x3
- beq _0813D652
-_0813D5D4:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
-_0813D5E2:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813D6A8
- b _0813D698
- .pool
-_0813D5F8:
- ldr r0, =gMain
- ldrh r2, [r0, 0x2E]
- movs r3, 0x2
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _0813D614
- strh r1, [r6, 0xA]
- movs r0, 0x3
- bl PlaySE
- b _0813D698
- .pool
-_0813D614:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _0813D630
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0813D6A8
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0813D6A8
-_0813D630:
- strh r3, [r6, 0xA]
- movs r0, 0x6D
- bl PlaySE
- b _0813D698
- .pool
-_0813D640:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0813D698
-_0813D652:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _0813D6A8
- bl sub_813D824
- ldr r4, =gUnknown_0203AB7C
- ldr r0, [r4]
- movs r1, 0xDD
- lsls r1, 3
- adds r0, r1
- ldr r1, [r0]
- ldrh r0, [r6, 0xA]
- strb r0, [r1]
- bl sub_813D6B4
- adds r0, r5, 0
- bl DestroyTask
- bl sub_81C4EB4
- ldr r0, [r4]
- bl Free
- str r7, [r4]
- b _0813D6A8
- .pool
-_0813D698:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0813D6A8:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D5A0
-
- thumb_func_start sub_813D6B4
-sub_813D6B4: @ 813D6B4
- push {lr}
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x3
- movs r1, 0x4
- movs r2, 0
- bl SetBgAttribute
- pop {r0}
- bx r0
- thumb_func_end sub_813D6B4
-
- thumb_func_start sub_813D6D0
-sub_813D6D0: @ 813D6D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_085B401C
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085B4024
- bl LoadSpritePalette
- ldr r0, =gUnknown_03001204
- movs r1, 0
- strh r1, [r0]
- ldr r2, =gUnknown_03001200
- strh r1, [r2]
- ldr r1, =gUnknown_0203AB7C
- ldr r0, [r1]
- movs r3, 0x89
- lsls r3, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813D7D8
- ldr r5, =gUnknown_03001202
- mov r10, r1
- adds r7, r2, 0
- ldr r0, =gUnknown_030011FC
- mov r9, r0
- ldr r6, =gRegionMapEntries
- ldr r1, =gUnknown_030011FE
- mov r8, r1
-_0813D710:
- mov r2, r10
- ldr r1, [r2]
- movs r3, 0
- ldrsh r0, [r7, r3]
- lsls r0, 1
- movs r2, 0xC4
- lsls r2, 3
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r5]
- movs r3, 0
- ldrsh r0, [r5, r3]
- lsls r0, 3
- adds r0, r6
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 3
- adds r1, 0x4
- mov r0, r9
- strh r1, [r0]
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r0, r6
- ldrb r2, [r0, 0x1]
- lsls r2, 3
- adds r2, 0x1C
- mov r3, r8
- strh r2, [r3]
- movs r3, 0
- ldrsh r0, [r5, r3]
- lsls r0, 3
- adds r0, r6
- ldrb r0, [r0, 0x2]
- subs r0, 0x1
- lsls r0, 2
- adds r1, r0
- mov r0, r9
- strh r1, [r0]
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r0, 3
- adds r0, r6
- ldrb r0, [r0, 0x3]
- subs r0, 0x1
- lsls r0, 2
- adds r2, r0
- mov r3, r8
- strh r2, [r3]
- mov r0, r9
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0
- ldrsh r2, [r3, r0]
- ldr r0, =gUnknown_085B4034
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0813D7BE
- ldr r0, =gSprites
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- mov r1, r10
- ldr r3, [r1]
- ldr r4, =gUnknown_03001204
- ldrh r1, [r4]
- adds r0, r1, 0x1
- strh r0, [r4]
- lsls r1, 16
- asrs r1, 14
- movs r0, 0xCC
- lsls r0, 3
- adds r3, r0
- adds r3, r1
- str r2, [r3]
-_0813D7BE:
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- movs r2, 0
- ldrsh r1, [r7, r2]
- mov r3, r10
- ldr r0, [r3]
- movs r2, 0x89
- lsls r2, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r1, r0
- blt _0813D710
-_0813D7D8:
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- ldr r1, =gUnknown_03001204
- ldrh r1, [r1]
- movs r3, 0xDC
- lsls r3, 3
- adds r0, r3
- strh 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 sub_813D6D0
-
- thumb_func_start sub_813D824
-sub_813D824: @ 813D824
- push {r4,r5,lr}
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r0, 0x2
- bl FreeSpritePaletteByTag
- movs r4, 0
- ldr r1, =gUnknown_0203AB7C
- ldr r0, [r1]
- movs r2, 0xDC
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- cmp r4, r0
- bcs _0813D86C
- adds r5, r1, 0
-_0813D846:
- ldr r0, [r5]
- lsls r1, r4, 2
- movs r2, 0xCC
- lsls r2, 3
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- movs r1, 0xDC
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bcc _0813D846
-_0813D86C:
- movs r0, 0x3
- bl FreeSpriteTilesByTag
- movs r0, 0x3
- bl FreeSpritePaletteByTag
- movs r4, 0
-_0813D87A:
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- lsls r1, r4, 2
- movs r2, 0xFB
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0813D892
- bl DestroySprite
-_0813D892:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _0813D87A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D824
-
- thumb_func_start sub_813D8A8
-sub_813D8A8: @ 813D8A8
- push {lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203AB7C
- ldr r1, [r0]
- ldr r0, =0x00000fbc
- adds r1, r0
- str r1, [sp]
- ldr r0, =0x00030600
- str r0, [sp, 0x4]
- ldr r0, =gPokedexAreaScreenAreaUnknown_Gfx
- bl LZ77UnCompWram
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085B40EC
- bl LoadSpritePalette
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D8A8
-
- thumb_func_start sub_813D8E8
-sub_813D8E8: @ 813D8E8
- push {r4-r6,lr}
- ldr r1, =gUnknown_0203AB7C
- ldr r0, [r1]
- movs r2, 0x88
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0813D920
- movs r4, 0
- adds r5, r1, 0
- movs r3, 0xFB
- lsls r3, 4
- movs r2, 0
-_0813D904:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, r3
- adds r0, r1
- str r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _0813D904
- b _0813D9A4
- .pool
-_0813D920:
- movs r4, 0
- ldr r5, =gSprites
-_0813D924:
- lsls r1, r4, 21
- movs r6, 0xA0
- lsls r6, 16
- adds r1, r6
- asrs r1, 16
- ldr r0, =gSpriteTemplate_85B40FC
- movs r2, 0x8C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0813D988
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r5
- ldrh r2, [r3, 0x4]
- lsls r0, r2, 22
- lsrs r0, 22
- lsls r1, r4, 4
- adds r0, r1
- ldr r6, =0x000003ff
- adds r1, r6, 0
- ands r0, r1
- ldr r6, =0xfffffc00
- adds r1, r6, 0
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x4]
- ldr r0, =gUnknown_0203AB7C
- ldr r0, [r0]
- lsls r1, r4, 2
- movs r2, 0xFB
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- str r3, [r0]
- b _0813D99A
- .pool
-_0813D988:
- ldr r0, =gUnknown_0203AB7C
- ldr r1, [r0]
- lsls r0, r4, 2
- movs r6, 0xFB
- lsls r6, 4
- adds r1, r6
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0813D99A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _0813D924
-_0813D9A4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813D8E8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokedex_cry_screen.s b/asm/pokedex_cry_screen.s
deleted file mode 100644
index 846b20881..000000000
--- a/asm/pokedex_cry_screen.s
+++ /dev/null
@@ -1,1010 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8145354
-sub_8145354: @ 8145354
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r0, 0
- mov r8, r0
- ldr r0, =gUnknown_030061EC
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081453F8
- cmp r0, 0x1
- bgt _0814537C
- cmp r0, 0
- beq _08145382
- b _0814544A
- .pool
-_0814537C:
- cmp r0, 0x2
- beq _08145434
- b _0814544A
-_08145382:
- ldr r5, =gUnknown_0203AB90
- ldr r0, [r5]
- cmp r0, 0
- bne _0814539E
- movs r0, 0x1C
- bl AllocZeroed
- str r0, [r5]
- ldr r4, =gUnknown_0203AB94
- adds r0, r7, 0
- movs r1, 0x7
- bl GetWindowAttribute
- str r0, [r4]
-_0814539E:
- ldr r1, [r5]
- ldrh r0, [r6]
- movs r2, 0
- strh r0, [r1, 0x14]
- ldrb r0, [r6, 0x5]
- strb r0, [r1, 0x16]
- ldr r0, [r5]
- strb r2, [r0, 0x1A]
- ldr r0, [r5]
- strb r2, [r0, 0x1B]
- ldr r0, [r5]
- strb r2, [r0, 0x10]
- ldr r1, [r5]
- movs r0, 0x1C
- strb r0, [r1, 0x12]
- ldr r0, [r5]
- strb r2, [r0, 0x11]
- ldrb r1, [r6, 0x4]
- lsls r1, 19
- negs r1, r1
- asrs r1, 16
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_8145824
- movs r4, 0
-_081453D2:
- adds r0, r7, 0
- ldr r1, =gUnknown_085B8C10
- movs r2, 0x20
- adds r3, r4, 0
- bl CopyToWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xDF
- bls _081453D2
- b _08145420
- .pool
-_081453F8:
- movs r4, 0
- ldr r1, =gUnknown_0203AB90
- ldr r0, [r1]
- ldrb r0, [r0, 0x16]
- lsls r0, 3
- cmp r8, r0
- bge _08145420
- adds r5, r1, 0
-_08145408:
- adds r0, r4, 0
- movs r1, 0
- bl sub_81456A8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r5]
- ldrb r0, [r0, 0x16]
- lsls r0, 3
- cmp r4, r0
- blt _08145408
-_08145420:
- ldr r1, =gUnknown_030061EC
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0814544A
- .pool
-_08145434:
- adds r0, r7, 0
- bl sub_8145814
- ldr r0, =gUnknown_085B8BF0
- ldrb r1, [r6, 0x3]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x1
- mov r8, r0
-_0814544A:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8145354
-
- thumb_func_start sub_814545C
-sub_814545C: @ 814545C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8145814
- adds r0, r4, 0
- bl sub_8145648
- ldr r2, =gUnknown_0203AB90
- ldr r1, [r2]
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _0814547E
- subs r0, 0x1
- strb r0, [r1, 0x1B]
-_0814547E:
- ldr r1, [r2]
- ldrb r0, [r1, 0x1A]
- cmp r0, 0
- beq _081454A4
- subs r0, 0x1
- strb r0, [r1, 0x1A]
- ldr r1, [r2]
- ldrb r0, [r1, 0x1A]
- cmp r0, 0
- bne _081454A4
- ldrh r0, [r1, 0x18]
- bl sub_8145588
- bl sub_814560C
- b _0814552A
- .pool
-_081454A4:
- ldr r5, =gUnknown_0203AB90
- ldr r0, [r5]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _081454B8
- bl sub_814560C
- b _0814552A
- .pool
-_081454B8:
- cmp r0, 0x1
- bne _081454C2
- bl sub_81455A8
- b _081454E6
-_081454C2:
- cmp r0, 0x8
- bls _081454E6
- bl IsCryPlaying
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081454DC
- bl sub_814560C
- ldr r0, [r5]
- strb r4, [r0, 0x10]
- b _0814552A
-_081454DC:
- bl sub_81455A8
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1, 0x10]
-_081454E6:
- ldr r5, =gUnknown_0203AB90
- ldr r1, [r5]
- ldrb r4, [r1, 0x10]
- subs r4, 0x1
- lsls r4, 25
- lsrs r4, 24
- ldrb r0, [r1, 0x16]
- lsls r0, 3
- ldrb r2, [r1, 0x11]
- adds r0, r2
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4
- ldrb r1, [r1]
- bl sub_81456A8
- ldr r1, [r5]
- ldrb r0, [r1, 0x16]
- lsls r0, 3
- ldrb r2, [r1, 0x11]
- adds r0, r2
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r4, 0x1
- adds r1, r4
- ldrb r1, [r1]
- bl sub_81456A8
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
-_0814552A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814545C
-
- thumb_func_start sub_8145534
-sub_8145534: @ 8145534
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- ldr r0, =gMPlayInfo_BGM
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bge _08145582
- ldr r6, =gUnknown_0203AB90
- ldr r1, [r6]
- ldrb r0, [r1, 0x1A]
- cmp r0, 0
- bne _08145582
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- bne _08145582
- movs r0, 0x4
- strb r0, [r1, 0x1B]
- bl IsCryPlaying
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0814557C
- bl StopCry
- ldr r1, [r6]
- strh r4, [r1, 0x18]
- movs r0, 0x2
- strb r0, [r1, 0x1A]
- b _08145582
- .pool
-_0814557C:
- adds r0, r5, 0
- bl sub_8145588
-_08145582:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8145534
-
- thumb_func_start sub_8145588
-sub_8145588: @ 8145588
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- ldr r0, =gUnknown_0203AB90
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145588
-
- thumb_func_start sub_81455A8
-sub_81455A8: @ 81455A8
- push {r4,lr}
- ldr r3, =gPcmDmaCounter
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r0, 0x1
- bgt _081455C0
- ldr r0, =gSoundInfo + 0x350
- b _081455D8
- .pool
-_081455C0:
- ldr r2, =gSoundInfo
- ldrb r1, [r2, 0xB]
- movs r0, 0
- ldrsb r0, [r3, r0]
- subs r0, 0x1
- subs r1, r0
- ldr r0, [r2, 0x10]
- muls r0, r1
- movs r1, 0xD4
- lsls r1, 2
- adds r2, r1
- adds r0, r2
-_081455D8:
- movs r1, 0xC6
- lsls r1, 3
- adds r3, r0, r1
- movs r2, 0
- ldr r4, =gUnknown_0203AB90
-_081455E2:
- ldr r1, [r4]
- adds r1, r2
- lsls r0, r2, 1
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _081455E2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81455A8
-
- thumb_func_start sub_814560C
-sub_814560C: @ 814560C
- push {r4,lr}
- ldr r4, =gUnknown_0203AB90
- ldr r1, [r4]
- ldrb r0, [r1, 0x16]
- lsls r0, 3
- ldrb r1, [r1, 0x11]
- adds r0, r1
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_81456A8
- ldr r1, [r4]
- ldrb r0, [r1, 0x16]
- lsls r0, 3
- ldrb r1, [r1, 0x11]
- adds r0, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_81456A8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814560C
-
- thumb_func_start sub_8145648
-sub_8145648: @ 8145648
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gUnknown_0203AB90
- ldr r0, [r4]
- ldrb r1, [r0, 0x11]
- adds r0, r6, 0
- movs r2, 0
- bl sub_8145824
- ldr r1, [r4]
- ldrb r0, [r1, 0x11]
- adds r0, 0x2
- strb r0, [r1, 0x11]
- ldr r1, [r4]
- ldrb r0, [r1, 0x11]
- lsrs r0, 3
- ldrb r1, [r1, 0x16]
- adds r1, r0, r1
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 5
- lsls r0, 5
- subs r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
-_0814567E:
- lsls r3, r4, 5
- adds r3, r5, r3
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- ldr r1, =gUnknown_085B8C10
- movs r2, 0x20
- bl CopyToWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _0814567E
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145648
-
- thumb_func_start sub_81456A8
-sub_81456A8: @ 81456A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r7, r0, 24
- lsrs r4, r7, 24
- lsls r1, 24
- movs r0, 0xFE
- lsls r0, 23
- adds r1, r0
- lsrs r1, 16
- adds r0, r1, 0
- bl __floatsidf
- ldr r3, _08145768
- ldr r2, _08145764
- bl __divdf3
- bl __fixunsdfsi
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x37
- bls _081456DE
- movs r5, 0x37
-_081456DE:
- str r5, [sp]
- movs r6, 0x1
- ands r6, r4
- ldr r0, _0814576C
- ldr r1, [r0]
- lsrs r7, 27
- mov r8, r7
- ldr r0, _08145770
- ldrb r1, [r1, 0x12]
- cmp r5, r1
- bls _08145780
- ldr r3, _08145774
- adds r0, r6, r0
- ldrb r0, [r0]
- mov r9, r0
- movs r7, 0x7
- ands r7, r4
-_08145700:
- lsls r1, r5, 1
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 4
- adds r1, r0
- ldr r2, _08145778
- adds r1, r2
- mov r4, r8
- lsls r0, r4, 5
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r3]
- adds r1, r2
- ldrb r0, [r1]
- mov r4, r9
- ands r0, r4
- strb r0, [r1]
- ldr r4, [r3]
- adds r4, r2
- adds r0, r5, 0
- movs r1, 0x3
- str r3, [sp, 0x4]
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- movs r1, 0xF
- ands r0, r1
- lsls r1, r6, 4
- adds r0, r1
- ldr r1, _0814577C
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- orrs r1, r0
- strb r1, [r4]
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _0814576C
- ldr r0, [r2]
- ldr r3, [sp, 0x4]
- ldrb r0, [r0, 0x12]
- cmp r5, r0
- bhi _08145700
- b _081457EA
- .align 2, 0
-_08145764: .4byte 0x40920000
-_08145768: .4byte 0x00000000
-_0814576C: .4byte gUnknown_0203AB90
-_08145770: .4byte gUnknown_085B8C30
-_08145774: .4byte gUnknown_0203AB94
-_08145778: .4byte gUnknown_085B8770
-_0814577C: .4byte gUnknown_085B8C32
-_08145780:
- lsls r3, r6, 4
- mov r10, r3
- ldr r7, _08145804
- adds r0, r6, r0
- ldrb r0, [r0]
- mov r9, r0
- movs r6, 0x7
- ands r6, r4
-_08145790:
- lsls r1, r5, 1
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 4
- adds r1, r0
- ldr r4, _08145808
- adds r1, r4
- mov r2, r8
- lsls r0, r2, 5
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r7]
- adds r1, r2
- ldrb r0, [r1]
- mov r3, r9
- ands r0, r3
- strb r0, [r1]
- ldr r4, [r7]
- adds r4, r2
- adds r0, r5, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- movs r1, 0xF
- ands r0, r1
- add r0, r10
- ldr r1, _0814580C
- adds r0, r1
- ldrb r1, [r4]
- ldrb r0, [r0]
- orrs r1, r0
- strb r1, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _08145810
- ldr r0, [r2]
- ldrb r0, [r0, 0x12]
- cmp r5, r0
- bcc _08145790
-_081457EA:
- ldr r3, _08145810
- ldr r0, [r3]
- mov r4, sp
- ldrb r4, [r4]
- strb r4, [r0, 0x12]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08145804: .4byte gUnknown_0203AB94
-_08145808: .4byte gUnknown_085B8770
-_0814580C: .4byte gUnknown_085B8C32
-_08145810: .4byte gUnknown_0203AB90
- thumb_func_end sub_81456A8
-
- thumb_func_start sub_8145814
-sub_8145814: @ 8145814
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_8145814
-
- thumb_func_start sub_8145824
-sub_8145824: @ 8145824
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- cmp r2, 0
- bne _08145848
- movs r1, 0
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 16
- asrs r1, 8
- movs r2, 0
- bl ChangeBgX
-_08145848:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8145824
-
- thumb_func_start sub_8145850
-sub_8145850: @ 8145850
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r0, 0
- mov r8, r0
- ldr r6, =gUnknown_030061EC
- ldrb r0, [r6]
- cmp r0, 0
- beq _08145874
- cmp r0, 0x1
- beq _081458B0
- b _081458F8
- .pool
-_08145874:
- ldr r5, =gUnknown_0203AB98
- ldr r0, [r5]
- cmp r0, 0
- bne _08145884
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r5]
-_08145884:
- ldr r1, =gUnknown_085B8438
- adds r0, r7, 0
- movs r2, 0
- movs r3, 0
- bl CopyToWindowPixelBuffer
- ldr r0, =gUnknown_085B8418
- ldrb r1, [r4, 0x3]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _081458F8
- .pool
-_081458B0:
- ldr r0, =gCryMeterNeedleSpriteSheets
- bl LoadSpriteSheets
- ldr r0, =gCryMeterNeedleSpritePalettes
- bl LoadSpritePalettes
- ldr r0, =gUnknown_085B8C68
- ldrb r1, [r4, 0x4]
- lsls r1, 19
- movs r2, 0xA0
- lsls r2, 14
- adds r1, r2
- asrs r1, 16
- ldrb r2, [r4, 0x5]
- lsls r2, 19
- movs r3, 0xE0
- lsls r3, 14
- adds r2, r3
- asrs r2, 16
- movs r3, 0x1
- bl CreateSprite
- ldr r2, =gUnknown_0203AB98
- ldr r3, [r2]
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- strh r0, [r3, 0x4]
- movs r1, 0x20
- strb r1, [r3]
- ldr r0, [r2]
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- strb r4, [r0, 0x2]
- movs r0, 0x1
- mov r8, r0
-_081458F8:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8145850
-
- thumb_func_start sub_8145914
-sub_8145914: @ 8145914
- push {r4-r6,lr}
- ldr r4, =gSprites
- ldr r6, =gUnknown_0203AB98
- ldr r0, [r6]
- ldrh r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- ldr r0, [r6]
- ldrh r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r4, =gUnknown_0203AB90
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- ldr r0, [r6]
- bl Free
- str r5, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145914
-
- thumb_func_start sub_814596C
-sub_814596C: @ 814596C
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r0, 0
- ldr r3, =gSprites
- ldr r4, =gUnknown_0203AB98
- ldr r0, [r4]
- ldrh r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r2, [r4]
- ldrh r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x6]
- ldr r0, =gUnknown_0203AB90
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- cmp r1, 0x2
- beq _081459E8
- cmp r1, 0x2
- bgt _081459C0
- cmp r1, 0
- beq _081459C6
- b _08145A2E
- .pool
-_081459C0:
- cmp r1, 0x6
- beq _08145A20
- b _08145A2E
-_081459C6:
- movs r0, 0x20
- strb r0, [r2, 0x1]
- ldr r1, [r4]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _081459E2
- ldrb r0, [r1, 0x2]
- add r4, sp, 0xC
- cmp r0, 0x1
- beq _08145A30
- subs r0, 0x1
- strb r0, [r1, 0x2]
- b _08145A30
-_081459E2:
- movs r0, 0x5
- strb r0, [r1, 0x2]
- b _08145A2E
-_081459E8:
- movs r3, 0
- movs r2, 0
- add r4, sp, 0xC
- adds r5, r0, 0
-_081459F0:
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r1, r0
- bge _081459FE
- adds r3, r0, 0
-_081459FE:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _081459F0
- lsls r0, r3, 24
- asrs r0, 24
- movs r1, 0xD0
- muls r0, r1
- cmp r0, 0
- bge _08145A16
- adds r0, 0xFF
-_08145A16:
- lsls r0, 16
- asrs r0, 24
- bl sub_8145B24
- b _08145A30
-_08145A20:
- ldrb r1, [r0, 0xA]
- movs r0, 0xD0
- muls r0, r1
- lsls r0, 16
- asrs r0, 24
- bl sub_8145B24
-_08145A2E:
- add r4, sp, 0xC
-_08145A30:
- ldr r0, =gUnknown_0203AB98
- ldr r2, [r0]
- ldrb r5, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r3, 0x1
- ldrsb r3, [r2, r3]
- adds r6, r0, 0
- cmp r1, r3
- beq _08145A82
- cmp r1, r3
- bge _08145A64
- ldrb r0, [r2, 0x2]
- adds r0, r5, r0
- strb r0, [r2]
- ldr r2, [r6]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldrb r3, [r2, 0x1]
- movs r0, 0x1
- ldrsb r0, [r2, r0]
- cmp r1, r0
- ble _08145A82
- b _08145A7A
- .pool
-_08145A64:
- ldrb r0, [r2, 0x2]
- subs r0, r5, r0
- strb r0, [r2]
- ldr r2, [r6]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldrb r3, [r2, 0x1]
- movs r0, 0x1
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bge _08145A82
-_08145A7A:
- strb r3, [r2]
- ldr r1, [r6]
- movs r0, 0
- strb r0, [r1, 0x1]
-_08145A82:
- ldr r2, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r2
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 17
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r6]
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp, 0x8]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- add r0, sp, 0xC
- ldrh r1, [r0]
- ldrh r2, [r4, 0x2]
- ldrh r3, [r4, 0x4]
- ldrh r0, [r4, 0x6]
- str r0, [sp]
- movs r0, 0
- bl SetOamMatrix
- ldr r2, =gSineTable
- ldr r0, [r6]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x7F
- movs r1, 0xFF
- ands r0, r1
- lsls r1, r0, 1
- adds r1, r2
- adds r0, 0x40
- lsls r0, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0
- ldrsh r1, [r1, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _08145AF6
- adds r0, 0xFF
-_08145AF6:
- asrs r0, 8
- strh r0, [r7, 0x24]
- lsls r1, r2, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _08145B0A
- adds r0, 0xFF
-_08145B0A:
- asrs r0, 8
- strh r0, [r7, 0x26]
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814596C
-
- thumb_func_start sub_8145B24
-sub_8145B24: @ 8145B24
- push {lr}
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x20
- subs r2, r1, r0
- movs r0, 0xFF
- ands r2, r0
- adds r0, r2, 0
- subs r0, 0x21
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBE
- bhi _08145B40
- movs r2, 0xE0
-_08145B40:
- ldr r1, =gUnknown_0203AB98
- ldr r0, [r1]
- strb r2, [r0, 0x1]
- ldr r1, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145B24
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 9d5603085..3fefdd530 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -1904,7 +1904,7 @@ _080C8F0C:
adds r0, 0x1
strb r0, [r1]
_080C8F22:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -2628,7 +2628,7 @@ _080C9584:
b _080C9664
.pool
_080C95A4:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3422,7 +3422,7 @@ _080C9C78:
b _080C9CAA
.pool
_080C9C8C:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3553,7 +3553,7 @@ _080C9DAC:
b _080C9DE0
.pool
_080C9DC0:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
diff --git a/asm/pokenav.s b/asm/pokenav.s
index cfad3feda..6fedbbd58 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -10440,7 +10440,7 @@ sub_81CC158: @ 81CC158
adds r1, 0xF
bl sub_81CAF78
adds r5, r0, 0
- bl GetPlayerTextSpeed
+ bl GetPlayerTextSpeedDelay
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4, 0x14]
@@ -22957,7 +22957,7 @@ sub_81D2BF4: @ 81D2BF4
movs r1, 0x1
orrs r0, r1
strb r0, [r2]
- bl GetPlayerTextSpeed
+ bl GetPlayerTextSpeedDelay
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -28371,7 +28371,7 @@ _081D5764:
adds r1, 0x4
adds r0, r1
adds r0, 0x10
- bl ConvertBattleFrontierTrainerSpeechToString
+ bl FrontierSpeechToString
b _081D580E
.pool
_081D5790:
@@ -28392,7 +28392,7 @@ _081D5790:
adds r1, 0x4
adds r0, r1
adds r0, 0x1C
- bl ConvertBattleFrontierTrainerSpeechToString
+ bl FrontierSpeechToString
b _081D580E
.pool
_081D57BC:
@@ -28413,7 +28413,7 @@ _081D57BC:
adds r1, 0x4
adds r0, r1
adds r0, 0x28
- bl ConvertBattleFrontierTrainerSpeechToString
+ bl FrontierSpeechToString
b _081D580E
.pool
_081D57E8:
@@ -28434,7 +28434,7 @@ _081D57E8:
adds r1, 0x4
adds r0, r1
adds r0, 0x34
- bl ConvertBattleFrontierTrainerSpeechToString
+ bl FrontierSpeechToString
_081D580E:
bl sub_81D5710
pop {r4-r6}
@@ -29731,7 +29731,7 @@ sub_81D62CC: @ 81D62CC
lsls r0, r1, 24
lsrs r6, r0, 24
bl sub_81D56B0
- bl sub_8165CB4
+ bl GetHighestLevelInPlayerParty
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -30184,7 +30184,7 @@ _081D6670:
asrs r0, 1
lsls r0, 1
subs r4, r0
- ldr r0, =0x00000864
+ ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
bl FlagGet
lsls r0, 24
cmp r0, 0
diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s
deleted file mode 100644
index c6d4fd88f..000000000
--- a/asm/post_battle_event_funcs.s
+++ /dev/null
@@ -1,165 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GameClear
-GameClear: @ 8137734
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x1C
- bl HealPlayerParty
- ldr r4, =0x00000864
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _08137760
- ldr r0, =gHasHallOfFameRecords
- strb r1, [r0]
- b _0813776C
- .pool
-_08137760:
- ldr r1, =gHasHallOfFameRecords
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl FlagSet
-_0813776C:
- movs r0, 0x1
- bl GetGameStat
- cmp r0, 0
- bne _0813778E
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrh r1, [r2, 0xE]
- lsls r1, 16
- ldrb r0, [r2, 0x10]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x11]
- orrs r1, r0
- movs r0, 0x1
- bl SetGameStat
-_0813778E:
- bl sub_8076D48
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _081377AC
- movs r0, 0x1
- bl sub_8084F6C
- b _081377B2
- .pool
-_081377AC:
- movs r0, 0x2
- bl sub_8084F6C
-_081377B2:
- movs r7, 0
- movs r6, 0
- add r0, sp, 0x18
- mov r8, r0
- mov r5, sp
-_081377BC:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- movs r0, 0
- strb r6, [r5]
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0813780A
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _0813780A
- adds r0, r4, 0
- movs r1, 0x43
- bl GetMonData
- cmp r0, 0
- bne _0813780A
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x43
- add r2, sp, 0x18
- bl SetMonData
- adds r0, r4, 0
- bl GetRibbonCount
- strb r0, [r5, 0x1]
- movs r7, 0x1
-_0813780A:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x5
- ble _081377BC
- cmp r7, 0x1
- bne _0813785A
- movs r0, 0x2A
- bl IncrementGameStat
- ldr r0, =0x0000089b
- bl FlagSet
- mov r3, sp
- add r2, sp, 0x4
- movs r6, 0x4
-_08137828:
- ldrb r1, [r3, 0x1]
- ldrb r0, [r2, 0x1]
- cmp r0, r1
- bls _08137838
- ldr r1, [sp]
- ldr r0, [r2]
- str r0, [sp]
- str r1, [r2]
-_08137838:
- adds r2, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _08137828
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0x4
- bls _0813785A
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x43
- bl sub_80EE4DC
-_0813785A:
- ldr r0, =CB2_DoHallOfFameScreen
- bl SetMainCallback2
- movs r0, 0
- add sp, 0x1C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GameClear
-
- thumb_func_start sp0C8_whiteout_maybe
-sp0C8_whiteout_maybe: @ 813787C
- push {lr}
- ldr r0, =CB2_WhiteOut
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sp0C8_whiteout_maybe
diff --git a/asm/psychic.s b/asm/psychic.s
new file mode 100644
index 000000000..ef1915241
--- /dev/null
+++ b/asm/psychic.s
@@ -0,0 +1,2172 @@
+ .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 move_anim_8074EE0
+_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, =sub_80A67D8
+ 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, =sub_80A67D8
+ 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 sub_80A7CFC
+ 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 sub_80A7D34
+ 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 sub_80A7CFC
+ 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 sub_80A7D34
+ 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 sub_80A7344
+ 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 duplicate_obj_of_side_rel2move_in_transparent_mode
+ 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 obj_id_set_rotscale
+ 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 obj_id_set_rotscale
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x22]
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_80A7EC0
+ 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 obj_id_set_rotscale
+ ldrh r0, [r4, 0x26]
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r4, 0x22]
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_80A7EC0
+ 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 33ace5757..3e07135e6 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -5,2351 +5,9 @@
.text
- thumb_func_start sub_80156E0
-sub_80156E0: @ 80156E0
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldrb r0, [r6, 0x14]
- cmp r0, 0x38
- bls _08015702
- bl _08016878
-_08015702:
- lsls r0, 2
- ldr r1, =_08015718
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08015718:
- .4byte _080157FC
- .4byte _08015854
- .4byte _08015878
- .4byte _080158C8
- .4byte _080159A6
- .4byte _08015E5C
- .4byte _08015C54
- .4byte _08015E5C
- .4byte _08016864
- .4byte _080161C8
- .4byte _080162D4
- .4byte _080160AC
- .4byte _080160C6
- .4byte _08016324
- .4byte _08016348
- .4byte _08016350
- .4byte _08016360
- .4byte _0801638E
- .4byte _080163A2
- .4byte _08015F32
- .4byte _08015FB8
- .4byte _08015FD6
- .4byte _0801604A
- .4byte _08015ADA
- .4byte _08015B00
- .4byte _08015B78
- .4byte _08016838
- .4byte _08015D4C
- .4byte _08015D34
- .4byte _08015DD0
- .4byte _08015C2A
- .4byte _08015DA6
- .4byte _08015D9C
- .4byte _08016158
- .4byte _08016178
- .4byte _080161B8
- .4byte _080162DC
- .4byte _08016318
- .4byte _08015BF4
- .4byte _08016104
- .4byte _08015E94
- .4byte _08015EC4
- .4byte _080163CC
- .4byte _0801645C
- .4byte _080165A8
- .4byte _08016610
- .4byte _0801662C
- .4byte _08016478
- .4byte _08016634
- .4byte _08016738
- .4byte _0801676C
- .4byte _080167F4
- .4byte _0801652C
- .4byte _080164E0
- .4byte _080164F4
- .4byte _0801658C
- .4byte _080165DC
-_080157FC:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0xC]
- movs r0, 0x80
- lsls r0, 1
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0x20
- bl AllocZeroed
- str r0, [r6, 0x8]
- ldr r0, [r6]
- movs r1, 0x8
- bl sub_8017580
- ldr r1, =gUnknown_02022C2C
- movs r0, 0x40
- strb r0, [r1]
- ldr r0, [r6, 0xC]
- ldr r1, [r6, 0x4]
- movs r2, 0x9
- bl sub_8016DF0
- adds r1, r6, 0
- adds r1, 0x20
- strb r0, [r1]
- adds r0, r6, 0
- adds r0, 0xA0
- bl sub_8019BA8
- bl sub_8019F2C
- movs r0, 0x1
- bl _08016876
- .pool
-_08015854:
- adds r0, r6, 0
- adds r0, 0x21
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl sub_8019E70
- ldrh r0, [r7]
- adds r0, 0x1
- strh r0, [r7]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- beq _08015872
- bl _08016878
-_08015872:
- movs r0, 0x2
- bl _08016876
-_08015878:
- movs r0, 0x40
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- ldr r2, =gUnknown_02022C40
- ldrh r0, [r2, 0x2]
- ldrh r1, [r2, 0xA]
- ldrh r2, [r2, 0xC]
- bl sub_8010FCC
- bl sub_800B488
- bl OpenLink
- bl sub_8011C84
- ldr r0, [r6, 0x8]
- movs r1, 0x1
- bl sub_8017580
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6, 0xC]
- movs r1, 0x4
- bl sub_80175EC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x3
- bl _08016876
- .pool
-_080158C8:
- bl sub_81B1360
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- beq _080158E0
- bl sub_81B1360
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _080159A0
-_080158E0:
- ldr r4, =gUnknown_02022C40
- ldrh r0, [r4]
- cmp r0, 0
- beq _080159A0
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _08015900
- cmp r0, 0x2
- beq _08015950
- b _0801598E
- .pool
-_08015900:
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- cmp r5, 0x5
- bls _0801592C
- adds r0, r4, 0
- bl sub_801807C
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010FCC
- ldr r0, =gUnknown_082EF4FC
- bl sub_801568C
- b _0801598E
- .pool
-_0801592C:
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_80180A0
- cmp r0, 0
- bne _0801594C
- ldr r1, =gUnknown_082EF47C
- movs r0, 0x34
- bl sub_8015664
- b _0801598E
- .pool
-_0801594C:
- movs r0, 0x37
- b _0801598C
-_08015950:
- adds r0, r6, 0
- bl sub_80156C8
- ldrb r0, [r4, 0x8]
- strh r0, [r7, 0x2]
- cmp r5, 0x5
- bls _0801596C
- ldr r0, =gUnknown_082EF544
- bl sub_801568C
- b _0801598E
- .pool
-_0801596C:
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- ldr r1, =gUnknown_02022C2C
- movs r0, 0x44
- strb r0, [r1]
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_80180E8
- movs r0, 0x33
-_0801598C:
- strb r0, [r6, 0x14]
-_0801598E:
- ldr r1, =gUnknown_02022C40
- movs r0, 0
- strh r0, [r1]
- bl _08016878
- .pool
-_080159A0:
- movs r0, 0x4
- bl _08016876
-_080159A6:
- ldr r4, =gSpecialVar_Result
- ldrh r0, [r4]
- cmp r0, 0
- beq _08015A0A
- cmp r0, 0x9
- bne _080159E0
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- movs r0, 0x2
- bl PlaySE
- ldr r0, =gStringVar1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- movs r1, 0
- movs r0, 0x2A
- b _08015A02
- .pool
-_080159E0:
- cmp r0, 0xB
- bne _080159F4
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- movs r1, 0
- movs r0, 0x17
- b _08015A02
-_080159F4:
- movs r0, 0
- strh r0, [r7]
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r7, 0x2]
- movs r1, 0
- movs r0, 0x18
-_08015A02:
- strb r0, [r6, 0x14]
- strh r1, [r4]
- bl _08016878
-_08015A0A:
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08015A1A
- bl _08016878
-_08015A1A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08015A80
- ldr r0, [r6]
- adds r2, r7, 0x2
- adds r3, r6, 0
- adds r3, 0x21
- adds r1, r7, 0
- bl sub_801A2A8
- cmp r0, 0
- beq _08015A4C
- movs r0, 0x5
- bl PlaySE
- bl sub_80181CC
- movs r0, 0x18
- bl _08016876
- .pool
-_08015A4C:
- bl sub_8017940
- cmp r0, 0
- beq _08015A80
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- movs r0, 0x2
- bl PlaySE
- bl sub_80181CC
- ldr r0, =gStringVar1
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x2D
- bl _08016876
- .pool
-_08015A80:
- bl sub_8016B00
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08015AA2
- cmp r0, 0x2
- bgt _08015A96
- cmp r0, 0x1
- beq _08015A9C
- b _08015AD0
-_08015A96:
- cmp r0, 0x4
- beq _08015AAA
- b _08015AD0
-_08015A9C:
- movs r0, 0x2
- bl PlaySE
-_08015AA2:
- adds r0, r6, 0
- bl sub_801A274
- b _08015AD0
-_08015AAA:
- movs r0, 0xB
- strb r0, [r6, 0x14]
- bl sub_80181CC
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010FCC
- adds r0, r6, 0
- bl sub_80181DC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x53
- movs r2, 0
- bl sub_8011090
-_08015AD0:
- adds r0, r6, 0
- bl sub_801A284
- bl _08016878
-_08015ADA:
- ldr r0, =sub_809FA34
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08015AEA
- bl _08016878
-_08015AEA:
- movs r0, 0x40
- movs r1, 0
- movs r2, 0
- bl sub_8011090
- movs r0, 0x4
- bl _08016876
- .pool
-_08015B00:
- bl sub_801704C
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- ldr r1, [r6]
- bl sub_8017CF8
- adds r4, r0, 0
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- ldr r0, [r6]
- ldrb r1, [r7]
- ldrb r2, [r7, 0x2]
- adds r3, r4, 0
- bl sub_80179D4
- cmp r0, 0x1
- beq _08015B44
- cmp r0, 0x1
- bgt _08015B36
- cmp r0, 0
- beq _08015B3E
- bl _08016878
-_08015B36:
- cmp r0, 0x2
- beq _08015B68
- bl _08016878
-_08015B3E:
- movs r0, 0x1A
- bl _08016876
-_08015B44:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- lsls r0, 5
- ldr r1, [r6]
- adds r1, r0
- adds r0, r1, 0
- adds r0, 0x10
- ldr r2, =gUnknown_02022C2C
- ldrb r2, [r2]
- bl sub_8012188
- strh r5, [r6, 0x12]
- movs r0, 0x19
- bl _08016876
- .pool
-_08015B68:
- ldr r1, =gStringVar4
- movs r0, 0x13
- bl sub_8015664
- bl _08016878
- .pool
-_08015B78:
- bl sub_801704C
- bl sub_8011A74
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- blt _08015BBE
- cmp r4, 0x2
- ble _08015B9A
- cmp r4, 0x4
- bne _08015BBE
- movs r0, 0x1
- bl sub_801818C
- strb r4, [r6, 0x14]
- b _08015BBE
-_08015B9A:
- bl sub_8011B90
- cmp r0, 0x1
- bne _08015BB0
- ldr r0, =gUnknown_082EE6C8
- bl sub_801568C
- b _08015BB8
- .pool
-_08015BB0:
- ldr r1, =gUnknown_082EE6C8
- movs r0, 0x1E
- bl sub_8015664
-_08015BB8:
- ldr r1, =gUnknown_02022C2C
- movs r0, 0x40
- strb r0, [r1]
-_08015BBE:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08015BCA
- bl _08016878
-_08015BCA:
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- ldr r0, =sub_80140E0
- movs r1, 0x5
- bl CreateTask
- movs r0, 0x26
- bl _08016876
- .pool
-_08015BF4:
- ldr r0, =sub_80140E0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08015C04
- bl _08016878
-_08015C04:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x44
- bne _08015C24
- ldr r1, =gUnknown_082EE004
- movs r0, 0x1F
- bl sub_8015664
- bl _08016878
- .pool
-_08015C24:
- movs r0, 0x5
- bl _08016876
-_08015C2A:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08015C36
- bl _08016878
-_08015C36:
- movs r0, 0
- bl sub_801818C
- movs r2, 0
- ldrsh r0, [r7, r2]
- movs r3, 0x2
- ldrsh r1, [r7, r3]
- ldr r2, [r6]
- bl sub_801A3D0
- movs r0, 0x2
- bl _08016876
- .pool
-_08015C54:
- adds r0, r6, 0
- adds r0, 0x16
- adds r1, r6, 0
- adds r1, 0x1B
- adds r2, r6, 0
- adds r2, 0x1C
- ldr r3, =gUnknown_082F021C
- ldr r4, =gUnknown_082F0244
- str r4, [sp]
- bl sub_8017178
- adds r5, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _08015C78
- bl _08016878
-_08015C78:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08015C94
- movs r0, 0x1C
- bl _08016876
- .pool
-_08015C94:
- adds r1, r6, 0
- adds r1, 0x98
- movs r0, 0
- strh r0, [r1]
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- ldr r1, [r6]
- bl sub_8017CF8
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _08015CB2
- cmp r5, 0x40
- bne _08015CE4
-_08015CB2:
- adds r0, r6, 0
- adds r0, 0x4C
- movs r1, 0x40
- strh r1, [r0]
- bl sub_800FE50
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_082EEB80
- ldr r1, =gLinkPlayers
- ldrb r1, [r1, 0x13]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x20
- bl _08016876
- .pool
-_08015CE4:
- ldr r0, =gUnknown_02022C2C
- strb r5, [r0]
- ldr r1, =gUnknown_02022C2D
- lsrs r0, r5, 8
- strb r0, [r1]
- lsls r0, r5, 24
- lsrs r0, 24
- cmp r0, 0x41
- bne _08015D18
- bl sub_8018024
- cmp r0, 0
- bne _08015D18
- ldr r1, =gUnknown_082EEBD0
- movs r0, 0x5
- bl sub_8015664
- bl _08016878
- .pool
-_08015D18:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- movs r1, 0x40
- orrs r1, r0
- adds r0, r6, 0
- adds r0, 0x4C
- strh r1, [r0]
- bl sub_800FE50
- movs r0, 0x1B
- bl _08016876
- .pool
-_08015D34:
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EEB88
- bl StringCopy
- movs r0, 0x24
- bl _08016876
- .pool
-_08015D4C:
- adds r0, r6, 0
- bl sub_8017FD8
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- ldr r1, [r6]
- bl sub_8017CF8
- adds r4, r0, 0
- adds r0, r6, 0
- adds r0, 0x4C
- ldrh r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- bl sub_8017984
- adds r5, r0, 0
- adds r0, r6, 0
- adds r0, 0x16
- ldr r3, =gUnknown_082EE82C
- lsls r1, r5, 2
- lsls r2, r4, 4
- adds r1, r2
- adds r1, r3
- ldr r1, [r1]
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _08015D8C
- bl _08016878
-_08015D8C:
- movs r0, 0
- strh r0, [r7, 0x6]
- movs r0, 0x1D
- bl _08016876
- .pool
-_08015D9C:
- bl sub_800AC34
- movs r0, 0x24
- bl _08016876
-_08015DA6:
- adds r0, r6, 0
- adds r0, 0x4C
- movs r1, 0x44
- strh r1, [r0]
- ldr r2, =gUnknown_02022C40
- ldrh r1, [r2, 0xE]
- adds r3, r6, 0
- adds r3, 0x4E
- strh r1, [r3]
- ldrh r2, [r2, 0x10]
- adds r1, r6, 0
- adds r1, 0x50
- strh r2, [r1]
- bl sub_800FE50
- movs r0, 0x1D
- bl _08016876
- .pool
-_08015DD0:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08015DF4
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EEB88
- bl StringCopy
- movs r0, 0x1C
- bl _08016876
- .pool
-_08015DF4:
- adds r0, r6, 0
- bl sub_8017FD8
- adds r0, r6, 0
- adds r0, 0x98
- ldrh r0, [r0]
- cmp r0, 0x51
- bne _08015E2A
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _08015E24
- ldr r0, =gStringVar4
- adds r1, r6, 0
- movs r2, 0
- bl sub_8018220
- movs r0, 0x28
- bl _08016876
- .pool
-_08015E24:
- movs r0, 0xD
- bl _08016876
-_08015E2A:
- cmp r0, 0x52
- beq _08015E32
- bl _08016878
-_08015E32:
- movs r5, 0
- movs r0, 0x20
- strb r0, [r6, 0x14]
- ldr r0, =gStringVar4
- ldr r4, =gUnknown_02022C2C
- ldrb r2, [r4]
- movs r1, 0x40
- orrs r1, r2
- ldr r2, =gLinkPlayers
- ldrb r2, [r2, 0x13]
- bl sub_8017D9C
- strb r5, [r4]
- bl _08016878
- .pool
-_08015E5C:
- movs r0, 0x2
- ldrsh r1, [r7, r0]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- bl sub_80179AC
- adds r5, r0, 0
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- ldr r1, [r6]
- bl sub_8017CF8
- adds r4, r0, 0
- ldr r2, =gUnknown_082EE24C
- lsls r0, r4, 2
- lsls r1, r5, 3
- adds r0, r1
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x6
- bl sub_8015664
- bl _08016878
- .pool
-_08015E94:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gStringVar4
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _08015EA8
- bl _08016878
-_08015EA8:
- movs r4, 0
- movs r0, 0x29
- strb r0, [r6, 0x14]
- bl sub_800ADF8
- adds r0, r6, 0
- adds r0, 0x98
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- bl _08016878
- .pool
-_08015EC4:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _08015ED2
- bl _08016878
-_08015ED2:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08015F2C
- ldr r5, =gStringVar1
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r4, =gLinkPlayers + 8
- adds r1, r4
- adds r0, r5, 0
- bl StringCopy
- ldrh r0, [r4, 0x18]
- adds r4, 0x1C
- adds r1, r4, 0
- bl sub_800E540
- adds r5, r0, 0
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_082EE378
- lsls r1, r5, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringExpandPlaceholders
- movs r0, 0x21
- bl _08016876
- .pool
-_08015F2C:
- movs r0, 0x7
- bl _08016876
-_08015F32:
- adds r0, r6, 0
- adds r0, 0x16
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r5, r0, 24
- cmp r5, 0
- beq _08015F5C
- cmp r5, 0
- bgt _08015F54
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08015F98
- bl _08016878
-_08015F54:
- cmp r5, 0x1
- beq _08015F98
- bl _08016878
-_08015F5C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r4, =gUnknown_02022C2C
- movs r0, 0x45
- strb r0, [r4]
- movs r0, 0x45
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- lsls r0, 5
- ldr r1, [r6]
- adds r1, r0
- adds r0, r1, 0
- adds r0, 0x10
- ldrb r2, [r4]
- bl sub_8012188
- ldrh r0, [r7, 0x2]
- strh r0, [r6, 0x12]
- movs r0, 0x14
- strb r0, [r6, 0x14]
- strh r5, [r7, 0x6]
- bl _08016878
- .pool
-_08015F98:
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- ldr r1, [r6]
- bl sub_8017CF8
- adds r4, r0, 0
- ldr r1, =gUnknown_082EEC9C
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- bl sub_801568C
- bl _08016878
- .pool
-_08015FB8:
- ldrh r0, [r7, 0x4]
- adds r0, 0x1
- strh r0, [r7, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- bgt _08015FCA
- bl _08016878
-_08015FCA:
- movs r1, 0
- movs r0, 0x15
- strb r0, [r6, 0x14]
- strh r1, [r7, 0x4]
- bl _08016878
-_08015FD6:
- bl sub_8011A74
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- beq _0801603C
- cmp r4, 0x3
- ble _08015FF4
- cmp r4, 0x4
- bne _08016040
- movs r0, 0x1
- bl sub_801818C
- strb r4, [r6, 0x14]
- b _08016040
-_08015FF4:
- cmp r4, 0x1
- blt _08016040
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- ldr r1, [r6]
- bl sub_8017CF8
- adds r4, r0, 0
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- bl sub_8011B90
- cmp r0, 0x1
- bne _08016028
- ldr r0, =gUnknown_082EED3C
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_801568C
- b _08016040
- .pool
-_08016028:
- ldr r0, =gUnknown_082EED3C
- lsls r1, r4, 2
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1E
- bl sub_8015664
- b _08016040
- .pool
-_0801603C:
- movs r0, 0x16
- strb r0, [r6, 0x14]
-_08016040:
- ldrh r0, [r7, 0x6]
- adds r0, 0x1
- strh r0, [r7, 0x6]
- bl _08016878
-_0801604A:
- bl sub_8011A80
- cmp r0, 0
- beq _08016092
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- ldr r1, [r6]
- bl sub_8017CF8
- adds r4, r0, 0
- movs r0, 0x54
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- bl sub_8011B90
- cmp r0, 0x1
- bne _08016084
- ldr r0, =gUnknown_082EED3C
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_801568C
- b _08016092
- .pool
-_08016084:
- ldr r0, =gUnknown_082EED3C
- lsls r1, r4, 2
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1E
- bl sub_8015664
-_08016092:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801609E
- bl _08016878
-_0801609E:
- movs r0, 0x10
- bl _08016876
- .pool
-_080160AC:
- movs r0, 0x49
- bl PlaySE
- bl sub_800EF7C
- movs r0, 0
- movs r1, 0xC
- strb r1, [r6, 0x14]
- adds r1, r6, 0
- adds r1, 0x9A
- strh r0, [r1]
- bl _08016878
-_080160C6:
- bl sub_8011A80
- cmp r0, 0
- beq _080160DA
- movs r0, 0
- bl sub_801818C
- movs r0, 0x2
- bl _08016876
-_080160DA:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080160E4
- b _08016878
-_080160E4:
- ldr r0, =gBlockSendBuffer
- movs r1, 0x1
- bl sub_80143E4
- ldr r0, =sub_80140E0
- movs r1, 0x5
- bl CreateTask
- movs r0, 0x27
- b _08016876
- .pool
-_08016104:
- adds r0, r6, 0
- bl sub_801689C
- ldr r0, =sub_80140E0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08016118
- b _08016878
-_08016118:
- movs r0, 0x21
- strb r0, [r6, 0x14]
- ldr r0, =gStringVar1
- ldr r4, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
- adds r1, r4, 0
- bl StringCopy
- adds r0, r4, 0
- subs r0, 0x24
- ldrh r0, [r0, 0x20]
- adds r1, r4, 0
- bl sub_800E540
- adds r5, r0, 0
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_082EE324
- lsls r1, r5, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringExpandPlaceholders
- b _08016878
- .pool
-_08016158:
- adds r0, r6, 0
- bl sub_801689C
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gStringVar4
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _08016170
- b _08016878
-_08016170:
- movs r0, 0x22
- b _08016876
- .pool
-_08016178:
- adds r0, r6, 0
- bl sub_801689C
- adds r0, r6, 0
- bl sub_80168DC
- cmp r0, 0
- bne _0801618A
- b _08016878
-_0801618A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08016198
- b _08016878
-_08016198:
- movs r0, 0x1
- bl sub_8011DE0
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EE598
- bl StringCopy
- movs r0, 0x24
- b _08016876
- .pool
-_080161B8:
- ldr r1, =gStringVar4
- movs r0, 0x9
- bl sub_8015664
- b _08016878
- .pool
-_080161C8:
- adds r0, r6, 0
- adds r0, 0x16
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080161EE
- cmp r1, 0
- bgt _080161E8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080162AE
- b _08016878
-_080161E8:
- cmp r1, 0x1
- beq _080162AE
- b _08016878
-_080161EE:
- adds r0, r6, 0
- adds r0, 0x4C
- movs r1, 0x51
- strh r1, [r0]
- ldr r1, =gUnknown_02022C2C
- ldrb r1, [r1]
- adds r5, r0, 0
- cmp r1, 0x45
- bne _08016220
- movs r4, 0x40
- orrs r4, r1
- movs r0, 0x1
- bl sub_801100C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8011090
- b _0801623E
- .pool
-_08016220:
- movs r0, 0x40
- adds r4, r1, 0
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_801100C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_8011090
-_0801623E:
- ldr r1, [r6, 0x8]
- movs r0, 0
- strb r0, [r1, 0x1B]
- strh r0, [r7, 0x6]
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _08016286
- bl sub_8018024
- cmp r0, 0
- bne _0801627C
- movs r0, 0x52
- strh r0, [r5]
- adds r0, r5, 0
- bl sub_800FE50
- movs r0, 0xA
- strb r0, [r6, 0x14]
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EEC14
- bl StringCopy
- b _08016878
- .pool
-_0801627C:
- adds r0, r5, 0
- bl sub_800FE50
- movs r0, 0xD
- b _08016876
-_08016286:
- cmp r0, 0x48
- bne _080162A4
- adds r0, r5, 0
- bl sub_800FE50
- ldr r0, =gStringVar4
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_8018220
- movs r0, 0x28
- b _08016876
- .pool
-_080162A4:
- adds r0, r5, 0
- bl sub_800FE50
- movs r0, 0xD
- b _08016876
-_080162AE:
- adds r0, r6, 0
- adds r0, 0x4C
- movs r1, 0x52
- strh r1, [r0]
- bl sub_800FE50
- movs r0, 0xA
- strb r0, [r6, 0x14]
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_02022C2C
- ldrb r1, [r1]
- bl sub_8013078
- b _08016878
- .pool
-_080162D4:
- bl sub_800AC34
- movs r0, 0x24
- b _08016876
-_080162DC:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r4, [r0]
- cmp r4, 0
- beq _080162E6
- b _08016878
-_080162E6:
- ldr r1, =gUnknown_02022C2C
- movs r0, 0x40
- strb r0, [r1]
- ldr r1, =gStringVar4
- movs r0, 0x25
- bl sub_8015664
- adds r0, r6, 0
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r6, 0
- adds r0, 0x9A
- strh r4, [r0]
- subs r0, 0x2
- strh r4, [r0]
- b _08016878
- .pool
-_08016318:
- movs r0, 0x2
- strb r0, [r6, 0x14]
- movs r0, 0
- bl sub_801818C
- b _08016878
-_08016324:
- ldr r4, =gStringVar4
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- movs r1, 0x40
- orrs r1, r0
- adds r0, r4, 0
- bl sub_8017E00
- movs r0, 0xE
- adds r1, r4, 0
- bl sub_8015664
- b _08016878
- .pool
-_08016348:
- bl sub_800ADF8
- movs r0, 0xF
- b _08016876
-_08016350:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _0801635C
- b _08016878
-_0801635C:
- movs r0, 0x10
- b _08016876
-_08016360:
- ldr r0, [r6, 0x8]
- bl Free
- ldr r0, [r6]
- bl Free
- ldr r0, [r6, 0xC]
- bl Free
- ldr r0, [r6, 0x4]
- bl Free
- adds r0, r6, 0
- adds r0, 0x20
- ldrb r0, [r0]
- bl DestroyTask
- adds r0, r6, 0
- adds r0, 0x21
- bl sub_8019F04
- movs r0, 0x11
- b _08016876
-_0801638E:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x12
- b _08016876
-_080163A2:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _080163AE
- b _08016878
-_080163AE:
- bl sub_8019E3C
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =gUnknown_02022C30
- ldr r0, [r0]
- bl Free
- bl sub_80149D8
- b _08016878
- .pool
-_080163CC:
- bl sub_800F7DC
- ldrh r1, [r0, 0x8]
- ldr r4, =0x000003ff
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080163E4
- movs r0, 0x2B
- b _08016876
- .pool
-_080163E4:
- bl sub_800F7DC
- ldrh r1, [r0, 0x8]
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08016408
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EF590
- bl StringCopy
- b _0801643E
- .pool
-_08016408:
- ldr r4, =gStringVar1
- bl sub_800F7DC
- ldrh r0, [r0, 0x8]
- lsls r0, 22
- lsrs r0, 22
- movs r1, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, =gStringVar2
- bl sub_800F7DC
- ldrb r1, [r0, 0xB]
- lsrs r1, 1
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EF564
- bl StringExpandPlaceholders
-_0801643E:
- ldr r1, =gStringVar4
- movs r0, 0x2C
- bl sub_8015664
- b _08016878
- .pool
-_0801645C:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gUnknown_082EF20C
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _0801646E
- b _08016878
-_0801646E:
- movs r0, 0x2F
- b _08016876
- .pool
-_08016478:
- adds r0, r6, 0
- adds r0, 0x16
- adds r1, r6, 0
- adds r1, 0x1D
- adds r2, r6, 0
- adds r2, 0x1E
- ldr r3, =gUnknown_082F025C
- ldr r4, =gUnknown_082F027C
- str r4, [sp]
- bl sub_8017178
- adds r5, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0801649A
- b _08016878
-_0801649A:
- subs r0, 0x1
- cmp r5, r0
- beq _080164A4
- cmp r5, 0x3
- bne _080164B8
-_080164A4:
- movs r0, 0x4
- strb r0, [r6, 0x14]
- movs r0, 0x1
- bl sub_801818C
- b _08016878
- .pool
-_080164B8:
- cmp r5, 0x1
- beq _080164C2
- cmp r5, 0x2
- beq _080164D0
- b _08016878
-_080164C2:
- ldr r1, =gUnknown_082EF4C4
- movs r0, 0x35
- bl sub_8015664
- b _08016878
- .pool
-_080164D0:
- ldr r1, =gUnknown_082EF298
- movs r0, 0x2F
- bl sub_8015664
- b _08016878
- .pool
-_080164E0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x36
- b _08016876
-_080164F4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08016502
- b _08016878
-_08016502:
- ldr r1, =gUnknown_02022C40
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF128
- str r0, [r1]
- ldr r1, =CB2_ReturnToField
- movs r0, 0x8
- bl sub_81B8904
- b _08016878
- .pool
-_0801652C:
- adds r0, r6, 0
- adds r0, 0x16
- adds r1, r6, 0
- adds r1, 0x1D
- adds r2, r6, 0
- adds r2, 0x1E
- ldr r3, =gUnknown_082F0294
- ldr r4, =gUnknown_082F032C
- str r4, [sp]
- bl sub_8017178
- adds r5, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0801654E
- b _08016878
-_0801654E:
- subs r0, 0x1
- cmp r5, r0
- beq _08016558
- cmp r5, 0x12
- bne _08016580
-_08016558:
- ldr r0, =gUnknown_02022C40
- bl sub_801807C
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010FCC
- ldr r0, =gUnknown_082EF4FC
- bl sub_801568C
- b _08016878
- .pool
-_08016580:
- ldr r0, =gUnknown_02022C40
- strh r5, [r0, 0x2]
- movs r0, 0x37
- b _08016876
- .pool
-_0801658C:
- ldr r2, =gUnknown_02022C40
- ldrh r0, [r2, 0x2]
- ldrh r1, [r2, 0xA]
- ldrh r2, [r2, 0xC]
- bl sub_8010FCC
- ldr r0, =gUnknown_082EF520
- bl sub_801568C
- b _08016878
- .pool
-_080165A8:
- adds r0, r6, 0
- adds r0, 0x16
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080165CE
- cmp r1, 0
- bgt _080165C8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080165D2
- b _08016878
-_080165C8:
- cmp r1, 0x1
- beq _080165D2
- b _08016878
-_080165CE:
- movs r0, 0x38
- b _08016876
-_080165D2:
- movs r0, 0x1
- bl sub_801818C
- movs r0, 0x4
- b _08016876
-_080165DC:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gUnknown_082EF5B8
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _080165EE
- b _08016878
-_080165EE:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010FCC
- ldr r0, =gUnknown_02022C40
- bl sub_801807C
- movs r0, 0x1
- bl sub_801818C
- movs r0, 0x4
- b _08016876
- .pool
-_08016610:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gUnknown_082EF1EC
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _08016622
- b _08016878
-_08016622:
- movs r0, 0x2E
- b _08016876
- .pool
-_0801662C:
- bl sub_80173B0
- movs r0, 0x30
- b _08016876
-_08016634:
- adds r0, r6, 0
- adds r0, 0x16
- adds r1, r6, 0
- adds r1, 0x1D
- adds r2, r6, 0
- adds r2, 0x4A
- adds r3, r6, 0
- adds r3, 0x1E
- ldr r4, =gUnknown_082F034C
- str r4, [sp]
- ldr r4, =gUnknown_082F03A4
- str r4, [sp, 0x4]
- ldr r4, [r6]
- str r4, [sp, 0x8]
- bl sub_80172A0
- adds r5, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _08016660
- b _08016878
-_08016660:
- subs r0, 0x1
- cmp r5, r0
- beq _0801666A
- cmp r5, 0x8
- bne _0801667C
-_0801666A:
- movs r0, 0x1
- bl sub_801818C
- movs r0, 0x4
- b _08016876
- .pool
-_0801667C:
- bl sub_80173B0
- ldr r1, [r6]
- lsls r4, r5, 5
- adds r1, r4
- ldrb r0, [r1, 0x9]
- lsrs r0, 2
- ldrh r1, [r1, 0x8]
- lsls r1, 22
- lsrs r1, 22
- bl sub_8017D04
- cmp r0, 0x1
- beq _080166C8
- cmp r0, 0x1
- bgt _080166A2
- cmp r0, 0
- beq _080166A8
- b _08016878
-_080166A2:
- cmp r0, 0x2
- beq _080166FC
- b _08016878
-_080166A8:
- ldr r0, =gStringVar1
- ldr r1, [r6]
- adds r1, r4
- bl sub_8018404
- ldr r1, =gUnknown_082EF65C
- movs r0, 0x31
- bl sub_8015664
- strh r5, [r7, 0x2]
- b _08016878
- .pool
-_080166C8:
- ldr r0, =gStringVar1
- ldr r1, [r6]
- adds r1, r4
- bl sub_8018404
- ldr r0, =gStringVar2
- ldr r1, [r6]
- adds r1, r4
- ldrb r2, [r1, 0x9]
- lsrs r2, 2
- lsls r1, r2, 3
- subs r1, r2
- ldr r2, =gTypeNames
- adds r1, r2
- bl StringCopy
- ldr r1, =gUnknown_082EF6E4
- b _0801671E
- .pool
-_080166FC:
- ldr r0, =gStringVar1
- ldr r1, [r6]
- adds r1, r4
- bl sub_8018404
- ldr r0, =gStringVar2
- ldr r1, [r6]
- adds r1, r4
- ldrb r2, [r1, 0x9]
- lsrs r2, 2
- lsls r1, r2, 3
- subs r1, r2
- ldr r2, =gTypeNames
- adds r1, r2
- bl StringCopy
- ldr r1, =gUnknown_082EF718
-_0801671E:
- movs r0, 0x2E
- bl sub_8015664
- b _08016878
- .pool
-_08016738:
- adds r0, r6, 0
- adds r0, 0x16
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0801675E
- cmp r1, 0
- bgt _08016758
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08016762
- b _08016878
-_08016758:
- cmp r1, 0x1
- beq _08016762
- b _08016878
-_0801675E:
- movs r0, 0x32
- b _08016876
-_08016762:
- movs r0, 0x1
- bl sub_801818C
- movs r0, 0x4
- b _08016876
-_0801676C:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gUnknown_082EF4C4
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- bne _0801677E
- b _08016878
-_0801677E:
- ldr r4, =gUnknown_02022C40
- movs r0, 0x2
- strh r0, [r4]
- ldr r2, =gUnknown_02022C38
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- ldr r1, [r6]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r2, =gUnknown_02022C3E
- ldr r1, [r6]
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0x9]
- lsrs r0, 2
- strb r0, [r2]
- ldr r2, =gUnknown_02022C3C
- ldr r1, [r6]
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x8]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r2]
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF128
- str r0, [r1]
- ldr r1, =CB2_ReturnToField
- movs r0, 0x9
- bl sub_81B8904
- adds r0, r6, 0
- bl sub_80156B0
- ldrh r0, [r7, 0x2]
- strb r0, [r4, 0x8]
- b _08016878
- .pool
-_080167F4:
- ldr r1, =gUnknown_02022C2C
- movs r0, 0x44
- strb r0, [r1]
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- lsls r0, 5
- ldr r1, [r6]
- adds r1, r0
- adds r0, r1, 0
- adds r0, 0x10
- movs r2, 0x44
- bl sub_8012188
- ldr r0, =gStringVar1
- movs r3, 0x2
- ldrsh r2, [r7, r3]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gUnknown_082EE17C
- ldr r0, [r0, 0x8]
- bl sub_8017020
- movs r0, 0x19
- b _08016876
- .pool
-_08016838:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gStringVar4
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- beq _08016878
- movs r0, 0x1
- bl sub_801818C
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- ldr r2, [r6]
- bl sub_801A3D0
- movs r0, 0x4
- b _08016876
- .pool
-_08016864:
- adds r0, r6, 0
- adds r0, 0x16
- ldr r1, =gStringVar4
- bl PrintOnTextbox
- lsls r0, 24
- cmp r0, 0
- beq _08016878
- ldrb r0, [r6, 0x15]
-_08016876:
- strb r0, [r6, 0x14]
-_08016878:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80156E0
- thumb_func_start var_800D_set_xB
-var_800D_set_xB: @ 8016884
- push {lr}
- bl InUnionRoom
- cmp r0, 0x1
- bne _08016894
- ldr r1, =gSpecialVar_Result
- movs r0, 0xB
- strh r0, [r1]
-_08016894:
- pop {r0}
- bx r0
- .pool
-thumb_func_end var_800D_set_xB
- thumb_func_start sub_801689C
-sub_801689C: @ 801689C
- push {r4,r5,lr}
- adds r2, r0, 0
- ldr r3, =gRecvCmds
- ldrh r5, [r3, 0x12]
- adds r4, r5, 0
- cmp r4, 0
- beq _080168D0
- ldrh r0, [r3, 0x10]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _080168D0
- adds r0, r2, 0
- adds r0, 0x9A
- strh r5, [r0]
- cmp r4, 0x44
- bne _080168D0
- ldrh r1, [r3, 0x14]
- adds r0, 0x2
- strh r1, [r0]
- ldrh r1, [r3, 0x16]
- adds r0, 0x2
- strh r1, [r0]
-_080168D0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801689C
-
- thumb_func_start sub_80168DC
-sub_80168DC: @ 80168DC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r4, 0
- adds r5, 0x9A
- ldrh r0, [r5]
- cmp r0, 0
- beq _0801692C
- ldr r0, =gStringVar4
- ldr r1, =gLinkPlayers
- adds r1, 0x2F
- ldrb r1, [r1]
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8017EA0
- cmp r0, 0
- beq _0801692C
- cmp r0, 0x1
- bne _0801691C
- movs r0, 0x23
- strb r0, [r4, 0x14]
- ldr r1, =gUnknown_02022C2C
- ldrh r0, [r5]
- strb r0, [r1]
- movs r0, 0
- b _0801692E
- .pool
-_0801691C:
- cmp r0, 0x2
- bne _0801692C
- movs r0, 0x24
- strb r0, [r4, 0x14]
- bl sub_800AC34
- movs r0, 0
- b _0801692E
-_0801692C:
- movs r0, 0x1
-_0801692E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80168DC
-
- thumb_func_start sub_8016934
-sub_8016934: @ 8016934
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022C20
- movs r0, 0xFF
- strb r0, [r5]
- ldr r0, =task00_081199FC
- movs r1, 0
- bl CreateTask
- ldr r4, =gUnknown_02022C30
- movs r0, 0x9B
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_03000DA8
- str r0, [r1]
- movs r1, 0
- strb r1, [r0, 0x14]
- strb r1, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8016934
- thumb_func_start task00_081199FC
-task00_081199FC: @ 801697C
- push {r4-r6,lr}
- sub sp, 0x20
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- ldrb r0, [r5, 0x14]
- cmp r0, 0x4
- bls _08016990
- b _08016AC8
-_08016990:
- lsls r0, 2
- ldr r1, =_080169A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080169A4:
- .4byte _080169B8
- .4byte _080169BE
- .4byte _080169E0
- .4byte _08016A30
- .4byte _08016A94
-_080169B8:
- movs r0, 0x1
- strb r0, [r5, 0x14]
- b _08016AC8
-_080169BE:
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- bl sub_8011C84
- movs r0, 0x1
- bl sub_80111B0
- movs r0, 0x2
- strb r0, [r5, 0x14]
- b _08016AC8
-_080169E0:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r5, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r5, 0xC]
- movs r1, 0x4
- bl sub_80175EC
- movs r0, 0x80
- lsls r0, 1
- bl AllocZeroed
- str r0, [r5]
- movs r1, 0x8
- bl sub_8017580
- movs r0, 0x20
- bl AllocZeroed
- str r0, [r5, 0x8]
- movs r1, 0x1
- bl sub_8017580
- ldr r0, [r5, 0xC]
- ldr r1, [r5, 0x4]
- movs r2, 0xA
- bl sub_8016DF0
- adds r1, r5, 0
- adds r1, 0x20
- strb r0, [r1]
- movs r0, 0x3
- strb r0, [r5, 0x14]
- b _08016AC8
-_08016A30:
- bl sub_8016B00
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- blt _08016AC8
- cmp r0, 0x2
- bgt _08016AC8
- ldr r0, =gUnknown_02022C20
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08016AC8
- movs r6, 0
-_08016A4A:
- ldr r0, [r5]
- lsls r4, r6, 5
- adds r1, r0, r4
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08016A78
- mov r0, sp
- bl sub_8018404
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- bl sub_800E540
- cmp r0, 0
- bne _08016A84
-_08016A78:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08016A4A
- b _08016AC8
- .pool
-_08016A84:
- ldr r0, =gUnknown_02022C20
- mov r1, sp
- bl StringCopy
- b _08016AC8
- .pool
-_08016A94:
- ldr r0, [r5, 0x8]
- bl Free
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0xC]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- adds r0, r5, 0
- adds r0, 0x20
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, =gUnknown_02022C30
- ldr r0, [r0]
- bl Free
- bl sub_800EDD4
- adds r0, r4, 0
- bl DestroyTask
-_08016AC8:
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_081199FC
-
- thumb_func_start sp182_move_string
-sp182_move_string: @ 8016AD4
- push {r4,lr}
- ldr r4, =gUnknown_02022C20
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08016AE8
- movs r0, 0
- b _08016AF6
- .pool
-_08016AE8:
- ldr r0, =gStringVar1
- adds r1, r4, 0
- bl StringCopy
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0x1
-_08016AF6:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sp182_move_string
-
- thumb_func_start sub_8016B00
-sub_8016B00: @ 8016B00
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gUnknown_02022C30
- ldr r4, [r0]
- movs r7, 0
- movs r6, 0
- movs r5, 0
-_08016B12:
- ldr r0, [r4, 0xC]
- adds r0, r5
- ldr r1, =gUnknown_082F045C
- bl sub_8017630
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bne _08016B5C
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x8]
- adds r1, r5
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldr r1, [r4, 0x8]
- movs r0, 0
- strh r0, [r1, 0x18]
- ldr r2, [r4, 0x8]
- ldrb r1, [r2, 0x1A]
- movs r5, 0x4
- negs r5, r5
- adds r0, r5, 0
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r2, 0x1A]
- ldr r0, [r4, 0x8]
- strb r3, [r0, 0x1B]
- movs r0, 0x4
- b _08016C90
- .pool
-_08016B5C:
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _08016B12
- movs r6, 0
- mov r9, r6
-_08016B68:
- ldr r0, [r4]
- mov r1, r9
- lsls r5, r1, 5
- adds r2, r0, r5
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- mov r8, r5
- cmp r0, 0
- beq _08016C5C
- ldr r1, [r4, 0x4]
- adds r0, r2, 0
- bl sub_80176E4
- adds r6, r0, 0
- cmp r6, 0xFF
- beq _08016C02
- ldr r0, [r4]
- adds r2, r0, r5
- ldrb r1, [r2, 0x1A]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08016BE0
- lsls r0, r6, 3
- subs r0, r6
- lsls r6, r0, 2
- ldr r1, [r4, 0x4]
- adds r1, r6
- adds r0, r2, 0
- bl sub_8017678
- cmp r0, 0
- beq _08016BC6
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- adds r1, r5
- adds r0, r6
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x40
- strb r1, [r0, 0x1B]
- movs r7, 0x1
- b _08016BF8
-_08016BC6:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08016BF8
- subs r0, 0x1
- strb r0, [r1, 0x1B]
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0, 0x1B]
- cmp r0, 0
- bne _08016BF8
- b _08016BF6
-_08016BE0:
- movs r3, 0x4
- negs r3, r3
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0
- strb r1, [r0, 0x1B]
-_08016BF6:
- movs r7, 0x2
-_08016BF8:
- ldr r0, [r4]
- add r0, r8
- movs r1, 0
- strh r1, [r0, 0x18]
- b _08016C5C
-_08016C02:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrb r0, [r1, 0x1A]
- lsls r2, r0, 30
- lsrs r0, r2, 30
- cmp r0, 0x2
- beq _08016C3C
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- ldr r0, [r4]
- adds r2, r0, r5
- ldrh r1, [r2, 0x18]
- ldr r0, =0x00000257
- cmp r1, r0
- bls _08016C5C
- ldrb r0, [r2, 0x1A]
- movs r5, 0x4
- negs r5, r5
- adds r1, r5, 0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x1A]
- movs r7, 0x2
- b _08016C5C
- .pool
-_08016C3C:
- lsrs r0, r2, 30
- cmp r0, 0x2
- bne _08016C5C
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- ldr r0, [r4]
- adds r2, r0, r5
- ldrh r1, [r2, 0x18]
- ldr r0, =0x00000383
- cmp r1, r0
- bls _08016C5C
- adds r0, r2, 0
- movs r1, 0x1
- bl sub_8017580
-_08016C5C:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x7
- bhi _08016C6C
- b _08016B68
-_08016C6C:
- movs r5, 0
- movs r6, 0x3
-_08016C70:
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- adds r1, r5
- movs r2, 0x8
- bl sub_8017734
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08016C86
- movs r7, 0x1
-_08016C86:
- adds r5, 0x1C
- subs r6, 0x1
- cmp r6, 0
- bge _08016C70
- adds r0, r7, 0
-_08016C90:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8016B00
thumb_func_start sub_8016CA0
sub_8016CA0: @ 8016CA0
@@ -2905,7 +563,7 @@ _080170CA:
negs r0, r0
b _08017110
_080170D4:
- bl sub_8197930
+ bl DisplayYesNoMenu
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
@@ -2920,7 +578,7 @@ _080170E0:
negs r0, r0
b _08017110
_080170F2:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
movs r2, 0x80
@@ -6278,7 +3936,7 @@ _08018BD6:
b _08018C3E
.pool
_08018BE4:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r6, r0, 24
movs r1, 0x80
@@ -8335,7 +5993,7 @@ _08019C5A:
beq _08019CE6
mov r0, sp
adds r1, r4, 0
- bl plaer_get_pos_including_state_based_drift
+ bl player_get_pos_including_state_based_drift
mov r0, sp
movs r1, 0
ldrsh r2, [r0, r1]
@@ -8881,7 +6539,7 @@ sub_801A064: @ 801A064
adds r5, 0x6
adds r0, r4, 0
adds r1, r5, 0
- bl plaer_get_pos_including_state_based_drift
+ bl player_get_pos_including_state_based_drift
lsls r0, r7, 2
adds r0, r7
subs r0, 0x38
@@ -10149,7 +7807,7 @@ sub_801AAD4: @ 801AAD4
ldr r6, =gPlayerParty
ldr r5, =gEnemyParty
_0801AAE4:
- ldr r0, =gUnknown_0203CEF8
+ ldr r0, =gSelectedOrderFromParty
adds r0, r4, r0
ldrb r0, [r0]
subs r0, 0x1
@@ -10504,7 +8162,7 @@ _0801AE54:
movs r1, 0
movs r2, 0x20
bl memset
- ldr r0, =gUnknown_0203CEF8
+ ldr r0, =gSelectedOrderFromParty
ldrb r1, [r0]
ldrb r0, [r0, 0x1]
cmn r1, r0
@@ -10934,7 +8592,7 @@ sub_801B1E8: @ 801B1E8
ldr r0, [r0]
ldr r1, =0x00000bec
adds r0, r1
- bl sub_816534C
+ bl ClearEReaderTrainer
pop {r0}
bx r0
.pool
@@ -11490,7 +9148,7 @@ _0801B628:
ldr r1, [r0]
adds r1, 0xA
adds r0, r4, 0
- bl CopyUnalignedWord
+ bl CopyTrainerId
mov r2, r8
ldr r1, [r2]
adds r0, r6, 0
@@ -16904,7 +14562,7 @@ _0801E16A:
b _0801E23A
.pool
_0801E17C:
- bl ProcessMenuInput
+ bl Menu_ProcessInput
lsls r0, 24
asrs r0, 8
lsrs r6, r0, 16
@@ -20614,7 +18272,7 @@ _0801FEFE:
thumb_func_start sub_801FF08
sub_801FF08: @ 801FF08
push {lr}
- bl ProcessMenuInput
+ bl Menu_ProcessInput
lsls r0, 24
asrs r0, 24
pop {r1}
@@ -28887,10 +26545,10 @@ _08024246:
strb r0, [r5, 0xC]
b _080242D8
_0802426A:
- bl sub_8197930
+ bl DisplayYesNoMenu
b _080242D0
_08024270:
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r4, r0, 24
movs r0, 0x2
@@ -47811,7 +45469,7 @@ _0802DA84:
thumb_func_start sub_802DA8C
sub_802DA8C: @ 802DA8C
push {lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r0, 24
pop {r1}
diff --git a/asm/roulette.s b/asm/roulette.s
index f5d2dc372..1552ba4fe 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -736,7 +736,7 @@ sub_8140914: @ 8140914
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8197930
+ bl DisplayYesNoMenu
ldr r5, =gUnknown_0203AB8C
ldrb r0, [r5]
movs r1, 0
@@ -4502,7 +4502,7 @@ sub_81428C4: @ 81428C4
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8197930
+ bl DisplayYesNoMenu
ldr r1, =gUnknown_085B6408
adds r0, r4, 0
bl sub_8121F68
diff --git a/asm/script_menu.s b/asm/script_menu.s
deleted file mode 100644
index bb145e78d..000000000
--- a/asm/script_menu.s
+++ /dev/null
@@ -1,1883 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ScriptMenu_Multichoice
-@ bool8 ScriptMenu_Multichoice(u8 x, u8 y, u8 menuId, bool8 noCancelling)
-ScriptMenu_Multichoice: @ 80E1E08
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r0, =sub_80E2058
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E1E4C
- ldr r0, =gSpecialVar_Result
- movs r1, 0xFF
- strh r1, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl DoMultichoice
- movs r0, 0x1
- b _080E1E4E
- .pool
-_080E1E4C:
- movs r0, 0
-_080E1E4E:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_Multichoice
-
- thumb_func_start ScriptMenu_MultichoiceWithDefault
-ScriptMenu_MultichoiceWithDefault: @ 80E1E58
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, [sp, 0x1C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80E2058
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E1EA8
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- str r4, [sp]
- mov r0, r8
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl DoMultichoice
- movs r0, 0x1
- b _080E1EAA
- .pool
-_080E1EA8:
- movs r0, 0
-_080E1EAA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_MultichoiceWithDefault
-
- thumb_func_start sub_80E1EB8
-sub_80E1EB8: @ 80E1EB8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- b _080E1EEC
-_080E1EC0:
- cmp r1, 0xFD
- bne _080E1EE4
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080E1EEC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- bl StringLength
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- b _080E1EEC
- .pool
-_080E1EE4:
- adds r4, 0x1
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080E1EEC:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080E1EC0
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80E1EB8
-
- thumb_func_start DoMultichoice
-@ void DoMultichoice(u8 x, u8 y, u8 menuId, bool8 noCancelling)
-DoMultichoice: @ 80E1EFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, [sp, 0x28]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x4]
- ldr r1, =gUnknown_0858B760
- lsls r0, r2, 3
- adds r0, r1
- ldrb r6, [r0, 0x4]
- ldr r0, [r0]
- mov r8, r0
- movs r1, 0
- cmp r1, r6
- bge _080E1F4C
- mov r5, r8
- adds r4, r6, 0
-_080E1F3C:
- ldr r0, [r5]
- bl display_text_and_get_width
- adds r1, r0, 0
- adds r5, 0x8
- subs r4, 0x1
- cmp r4, 0
- bne _080E1F3C
-_080E1F4C:
- adds r0, r1, 0
- bl convert_pixel_width_to_tile_width
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_80E2D5C
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r3, r6, 25
- lsrs r3, 24
- adds r0, r7, 0
- mov r1, r9
- adds r2, r4, 0
- bl CreateWindowFromRect
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r8
- bl PrintMenuTable
- adds r0, r4, 0
- adds r1, r6, 0
- ldr r2, [sp, 0x4]
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, [sp]
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r10
- bl sub_80E1FBC
- 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 DoMultichoice
-
- thumb_func_start sub_80E1FBC
-sub_80E1FBC: @ 80E1FBC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r1, =gUnknown_02039F90
- movs r0, 0x2
- strb r0, [r1]
- movs r2, 0
- ldr r6, =sub_80E2058
- ldr r5, =gUnknown_0858BB68
- movs r3, 0xC
-_080E1FE6:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _080E1FF0
- strb r3, [r1]
-_080E1FF0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _080E1FE6
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- mov r0, r8
- strh r0, [r1, 0x10]
- cmp r7, 0x3
- bls _080E202C
- movs r0, 0x1
- b _080E202E
- .pool
-_080E202C:
- movs r0, 0
-_080E202E:
- strh r0, [r1, 0x12]
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- mov r1, r9
- strh r1, [r0, 0x14]
- strh r4, [r0, 0x16]
- adds r0, r4, 0
- bl sub_80E2A94
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E1FBC
-
- thumb_func_start sub_80E2058
-sub_80E2058: @ 80E2058
- 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 r5, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E20FC
- ldr r1, =gUnknown_02039F90
- ldrb r0, [r1]
- cmp r0, 0
- beq _080E2090
- subs r0, 0x1
- strb r0, [r1]
- b _080E20FC
- .pool
-_080E2090:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E209E
- bl Menu_ProcessInputNoWrapAround
- b _080E20A2
-_080E209E:
- bl ProcessMenuInput
-_080E20A2:
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080E20B8
- ldrb r0, [r5, 0xE]
- bl sub_80E2A94
-_080E20B8:
- lsls r0, r4, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080E20FC
- adds r0, 0x1
- cmp r1, r0
- bne _080E20E8
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E20FC
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- b _080E20EC
- .pool
-_080E20E8:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080E20EC:
- ldrb r0, [r5, 0xC]
- bl sub_80E2A78
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E20FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2058
-
- thumb_func_start ScriptMenu_YesNo
-ScriptMenu_YesNo: @ 80E2108
- push {r4,lr}
- ldr r4, =task_yes_no_maybe
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2138
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl sub_8197930
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- movs r0, 0x1
- b _080E213A
- .pool
-_080E2138:
- movs r0, 0
-_080E213A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_YesNo
-
- thumb_func_start sub_80E2140
-sub_80E2140: @ 80E2140
- push {lr}
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _080E2154
- movs r0, 0x1
- b _080E2156
- .pool
-_080E2154:
- movs r0, 0
-_080E2156:
- pop {r1}
- bx r1
- thumb_func_end sub_80E2140
-
- thumb_func_start task_yes_no_maybe
-task_yes_no_maybe: @ 80E215C
- 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, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x4
- bgt _080E2180
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080E21C4
- .pool
-_080E2180:
- bl Menu_ProcessInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E21A4
- cmp r1, r0
- bgt _080E219C
- subs r0, 0x1
- cmp r1, r0
- beq _080E21C4
- b _080E21BA
-_080E219C:
- cmp r1, 0
- beq _080E21B4
- cmp r1, 0x1
- bne _080E21BA
-_080E21A4:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- b _080E21B8
- .pool
-_080E21B4:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
-_080E21B8:
- strh r0, [r1]
-_080E21BA:
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E21C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_yes_no_maybe
-
- thumb_func_start ScriptMenu_MultichoiceGrid
-ScriptMenu_MultichoiceGrid: @ 80E21D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x8]
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- ldr r0, =sub_80E2308
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2210
- movs r0, 0
- b _080E22E8
- .pool
-_080E2210:
- ldr r0, =gSpecialVar_Result
- movs r1, 0xFF
- strh r1, [r0]
- movs r2, 0
- movs r6, 0
- ldr r1, =gUnknown_0858B760
- lsls r5, 3
- adds r0, r5, r1
- str r5, [sp, 0xC]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bge _080E2246
- mov r8, r1
-_080E222A:
- mov r0, r8
- adds r4, r5, r0
- ldr r1, [r4]
- lsls r0, r6, 3
- adds r0, r1
- ldr r0, [r0]
- adds r1, r2, 0
- bl display_text_and_get_width
- adds r2, r0, 0
- adds r6, 0x1
- ldrb r4, [r4, 0x4]
- cmp r6, r4
- blt _080E222A
-_080E2246:
- adds r0, r2, 0
- bl convert_pixel_width_to_tile_width
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r10
- muls r1, r5
- mov r8, r1
- adds r0, r7, 0
- bl sub_80E2D5C
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gUnknown_0858B760
- mov r9, r2
- ldr r0, [sp, 0xC]
- add r9, r0
- mov r1, r9
- ldrb r0, [r1, 0x4]
- mov r1, r10
- bl __udivsi3
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =sub_80E2308
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- mov r2, sp
- ldrh r2, [r2, 0x8]
- strh r2, [r4, 0x10]
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, r6, 25
- lsrs r3, 24
- adds r0, r7, 0
- ldr r1, [sp, 0x4]
- mov r2, r8
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r4, 0x14]
- lsls r5, 27
- lsrs r5, 24
- mov r2, r9
- ldr r1, [r2]
- str r1, [sp]
- adds r1, r5, 0
- mov r2, r10
- adds r3, r6, 0
- bl sub_81997AC
- ldrb r0, [r4, 0x14]
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- mov r2, r10
- adds r3, r6, 0
- bl sub_8199944
- ldrb r0, [r4, 0x14]
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
-_080E22E8:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ScriptMenu_MultichoiceGrid
-
- thumb_func_start sub_80E2308
-sub_80E2308: @ 80E2308
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- bl sub_8199334
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080E2360
- adds r0, 0x1
- cmp r1, r0
- bne _080E234C
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E2360
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gSpecialVar_Result
- movs r0, 0x7F
- strh r0, [r1]
- b _080E2350
- .pool
-_080E234C:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080E2350:
- ldrb r0, [r5, 0xC]
- bl sub_80E2A78
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E2360:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2308
-
- thumb_func_start ScrSpecial_CreatePCMenu
-@ bool ScrSpecial_CreatePCMenu()
-ScrSpecial_CreatePCMenu: @ 80E236C
- push {lr}
- ldr r0, =sub_80E2058
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2394
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl CreatePCMenu
- movs r0, 0x1
- b _080E2396
- .pool
-_080E2394:
- movs r0, 0
-_080E2396:
- pop {r1}
- bx r1
- thumb_func_end ScrSpecial_CreatePCMenu
-
- thumb_func_start CreatePCMenu
-CreatePCMenu: @ 80E239C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- movs r7, 0x8
- movs r5, 0
- movs r4, 0
- ldr r6, =gUnknown_0858BB70
-_080E23AC:
- ldm r6!, {r0}
- adds r1, r5, 0
- bl display_text_and_get_width
- adds r5, r0, 0
- adds r4, 0x1
- cmp r4, 0x3
- bls _080E23AC
- ldr r6, =0x00000864
- adds r0, r6, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080E23D4
- ldr r0, =gText_HallOfFame
- adds r1, r5, 0
- bl display_text_and_get_width
- adds r5, r0, 0
-_080E23D4:
- adds r0, r5, 0
- bl convert_pixel_width_to_tile_width
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl FlagGet
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080E2448
- movs r0, 0x4
- mov r8, r0
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x8
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r2, =gText_HallOfFame
- movs r0, 0x21
- str r0, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
- ldr r2, =gText_LogOff
- movs r0, 0x31
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
- b _080E247A
- .pool
-_080E2448:
- movs r0, 0x3
- mov r8, r0
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x6
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r2, =gText_LogOff
- movs r0, 0x21
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
-_080E247A:
- ldr r0, =0x000008ab
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080E24B0
- ldr r2, =gText_LanettesPC
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
- b _080E24C6
- .pool
-_080E24B0:
- ldr r2, =gText_SomeonesPC
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r3, r7, 0
- bl AddTextPrinterParameterized
-_080E24C6:
- ldr r4, =gStringVar4
- ldr r1, =gText_PlayersPC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r7, 0
- movs r3, 0x11
- bl PrintPlayerNameOnWindow
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- adds r0, r6, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- mov r1, r8
- adds r2, r6, 0
- movs r3, 0x1
- bl sub_80E1FBC
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreatePCMenu
-
- thumb_func_start ScriptMenu_DisplayPCStartupPrompt
-ScriptMenu_DisplayPCStartupPrompt: @ 80E2514
- push {lr}
- sub sp, 0x10
- movs r0, 0
- movs r1, 0x1
- bl sub_819786C
- ldr r2, =gUnknown_0827266F
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end ScriptMenu_DisplayPCStartupPrompt
-
- thumb_func_start sub_80E2548
-sub_80E2548: @ 80E2548
- push {lr}
- ldr r0, =sub_80E2058
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2570
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl sub_80E2578
- movs r0, 0x1
- b _080E2572
- .pool
-_080E2570:
- movs r0, 0
-_080E2572:
- pop {r1}
- bx r1
- thumb_func_end sub_80E2548
-
- thumb_func_start sub_80E2578
-sub_80E2578: @ 80E2578
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- movs r5, 0
- movs r4, 0
- ldr r3, =gUnknown_03001124
- movs r2, 0xFF
-_080E258A:
- adds r0, r4, r3
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080E258A
- movs r0, 0x1
- movs r1, 0
- bl GetFontAttribute
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- cmp r1, 0
- bne _080E25D2
- ldr r4, =gUnknown_03001124
- adds r0, r5, r4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0xE8
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080E25D2
- adds r0, r5, r4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E25D2:
- ldr r0, =0x00000113
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2630
- ldr r0, =0x000008b3
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2630
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E2606
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2606:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E2630
- movs r4, 0xD7
- lsls r4, 1
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E2630
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E2630:
- movs r0, 0xB9
- lsls r0, 1
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2690
- movs r0, 0x8E
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E2690
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E2668
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2668:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E2690
- ldr r4, =0x000001db
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E2690
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x3
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E2690:
- ldr r0, =0x00000173
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E26EC
- ldr r0, =0x000008d5
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E26EC
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E26C4
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E26C4:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E26EC
- ldr r4, =0x000001af
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E26EC
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x4
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E26EC:
- movs r0, 0xBC
- lsls r0, 1
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E274C
- ldr r0, =0x000008d6
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E274C
- ldr r2, =gSpecialVar_0x8004
- ldrh r0, [r2]
- cmp r0, 0
- bne _080E2722
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x5
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2722:
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080E274C
- movs r4, 0xD8
- lsls r4, 1
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080E274C
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x5
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl FlagSet
-_080E274C:
- ldr r0, =gUnknown_03001124
- adds r0, r5, r0
- movs r1, 0x6
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E276E
- movs r0, 0xE8
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
-_080E276E:
- adds r7, r5, 0
- cmp r7, 0x7
- bne _080E27A4
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0xB
- strh r0, [r1]
- bl sub_813A128
- b _080E2860
- .pool
-_080E27A4:
- movs r1, 0
- movs r4, 0
- lsls r6, r7, 25
- subs r0, r7, 0x1
- mov r9, r0
- ldr r5, =gUnknown_0858BB80
-_080E27B0:
- ldr r0, =gUnknown_03001124
- adds r0, r4, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080E27C6
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- bl display_text_and_get_width
- adds r1, r0, 0
-_080E27C6:
- adds r4, 0x1
- cmp r4, 0x6
- bls _080E27B0
- adds r0, r1, 0
- bl convert_pixel_width_to_tile_width
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1C
- subs r0, r2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x6
- subs r1, r7
- lsls r1, 25
- lsrs r1, 24
- lsrs r3, r6, 24
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r5, 0
- movs r4, 0
- ldr r0, =gUnknown_0858BB80
- mov r8, r0
-_080E2802:
- ldr r0, =gUnknown_03001124
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080E2834
- lsls r0, 2
- add r0, r8
- ldr 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
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E2834:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080E2802
- mov r0, r9
- lsls r2, r0, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r7, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- adds r0, r6, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0x8
- bl sub_80E1FBC
-_080E2860:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2578
-
- thumb_func_start sub_80E2878
-sub_80E2878: @ 80E2878
- push {lr}
- ldr r2, =gSpecialVar_Result
- ldrh r0, [r2]
- cmp r0, 0x7F
- beq _080E288C
- ldr r0, =gUnknown_03001124
- ldrh r1, [r2]
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
-_080E288C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2878
-
- thumb_func_start task_picbox
-task_picbox: @ 80E2898
- 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 _080E28F8
- cmp r0, 0x1
- bgt _080E28C0
- cmp r0, 0
- beq _080E28DE
- b _080E28F8
- .pool
-_080E28C0:
- cmp r0, 0x2
- beq _080E28CA
- cmp r0, 0x3
- beq _080E28EC
- b _080E28F8
-_080E28CA:
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r1, [r4, 0xC]
- bl FreeResourcesAndDestroySprite
-_080E28DE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E28F8
- .pool
-_080E28EC:
- ldrb r0, [r4, 0x12]
- bl sub_80E2A78
- adds r0, r5, 0
- bl DestroyTask
-_080E28F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_picbox
-
- thumb_func_start ScriptMenu_ShowPokemonPic
-ScriptMenu_ShowPokemonPic: @ 80E2900
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r4, =task_picbox
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080E29B8
- lsls r1, r7, 19
- movs r0, 0xA0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r2, r6, 19
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- movs r3, 0
- bl CreateMonSprite_PicBox
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x8
- movs r3, 0x8
- bl CreateWindowFromRect
- ldr r1, =gTasks
- lsls r3, r4, 2
- adds r3, r4
- lsls r3, 3
- adds r3, r1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r3, 0x12]
- strh r1, [r3, 0x8]
- mov r0, r8
- strh r0, [r3, 0xA]
- strh r5, [r3, 0xC]
- ldr r4, =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, =SpriteCallbackDummy
- str r2, [r0]
- adds r1, r4
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x12]
- movs r1, 0x1
- bl SetStandardWindowBorderStyle
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- b _080E29BA
- .pool
-_080E29B8:
- movs r0, 0
-_080E29BA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_ShowPokemonPic
-
- thumb_func_start ScriptMenu_GetPicboxWaitFunc
-ScriptMenu_GetPicboxWaitFunc: @ 80E29C4
- push {lr}
- ldr r0, =task_picbox
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080E29F4
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r0, =sub_80E29FC
- b _080E29F6
- .pool
-_080E29F4:
- movs r0, 0
-_080E29F6:
- pop {r1}
- bx r1
- thumb_func_end ScriptMenu_GetPicboxWaitFunc
-
- thumb_func_start sub_80E29FC
-sub_80E29FC: @ 80E29FC
- push {lr}
- ldr r0, =task_picbox
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080E2A14
- movs r0, 0
- b _080E2A16
- .pool
-_080E2A14:
- movs r0, 0x1
-_080E2A16:
- pop {r1}
- bx r1
- thumb_func_end sub_80E29FC
-
- thumb_func_start CreateWindowFromRect
-CreateWindowFromRect: @ 80E2A1C
- push {r4,r5,lr}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsls r5, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x80
- lsls r0, 17
- adds r4, r0
- lsrs r4, 24
- adds r5, r0
- lsrs r5, 24
- str r2, [sp]
- str r3, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x64
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl CreateWindowTemplate
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- add r0, sp, 0x18
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- add sp, 0x20
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CreateWindowFromRect
-
- thumb_func_start sub_80E2A78
-sub_80E2A78: @ 80E2A78
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8198070
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E2A78
-
- thumb_func_start sub_80E2A94
-sub_80E2A94: @ 80E2A94
- push {r4,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x4A
- cmp r0, 0x5
- bhi _080E2B70
- lsls r0, 2
- ldr r1, =_080E2AB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E2AB0:
- .4byte _080E2B40
- .4byte _080E2B08
- .4byte _080E2AD8
- .4byte _080E2AC8
- .4byte _080E2AE8
- .4byte _080E2AF8
-_080E2AC8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBAC
- b _080E2B12
- .pool
-_080E2AD8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BB9C
- b _080E2B12
- .pool
-_080E2AE8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBBC
- b _080E2B12
- .pool
-_080E2AF8:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBCC
- b _080E2B12
- .pool
-_080E2B08:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBEC
-_080E2B12:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
- b _080E2B70
- .pool
-_080E2B40:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_0858BBE0
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized2
-_080E2B70:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2A94
-
- thumb_func_start sp106_CreateStartMenu
-sp106_CreateStartMenu: @ 80E2B7C
- push {lr}
- ldr r0, =sub_80E2058
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080E2BA4
- ldr r1, =gSpecialVar_Result
- movs r0, 0xFF
- strh r0, [r1]
- bl CreateStartMenu
- movs r0, 0x1
- b _080E2BA6
- .pool
-_080E2BA4:
- movs r0, 0
-_080E2BA6:
- pop {r1}
- bx r1
- thumb_func_end sp106_CreateStartMenu
-
- thumb_func_start CreateStartMenu
-CreateStartMenu: @ 80E2BAC
- push {r4-r6,lr}
- sub sp, 0xC
- movs r0, 0x15
- movs r1, 0
- movs r2, 0x7
- movs r3, 0x12
- bl CreateWindowFromRect
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r2, =gText_MenuOptionPokedex
- movs r0, 0x9
- str r0, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionPokemon
- movs r0, 0x19
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionBag
- movs r0, 0x29
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionPokenav
- movs r0, 0x39
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r0, 0x49
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionSave
- movs r0, 0x59
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionOption
- movs r0, 0x69
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- ldr r2, =gText_MenuOptionExit
- movs r0, 0x79
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x8
- bl AddTextPrinterParameterized
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x9
- bl sub_81983AC
- movs r0, 0
- movs r1, 0x8
- adds r2, r4, 0
- movs r3, 0x56
- bl sub_80E2CC4
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateStartMenu
-
- thumb_func_start sub_80E2CC4
-sub_80E2CC4: @ 80E2CC4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, =gUnknown_02039F90
- movs r0, 0x2
- strb r0, [r1]
- ldr r0, =sub_80E2058
- movs r1, 0x50
- 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, 0x10]
- strh r0, [r1, 0x12]
- strh r5, [r1, 0x14]
- strh r6, [r1, 0x16]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2CC4
-
- thumb_func_start display_text_and_get_width_internal
-display_text_and_get_width_internal: @ 80E2D10
- push {lr}
- sub sp, 0x40
- adds r1, r0, 0
- mov r0, sp
- bl StringExpandPlaceholders
- movs r0, 0x1
- mov r1, sp
- movs r2, 0
- bl GetStringWidth
- add sp, 0x40
- pop {r1}
- bx r1
- thumb_func_end display_text_and_get_width_internal
-
- thumb_func_start display_text_and_get_width
-display_text_and_get_width: @ 80E2D2C
- push {r4,lr}
- adds r4, r1, 0
- bl display_text_and_get_width_internal
- cmp r0, r4
- bge _080E2D3A
- adds r0, r4, 0
-_080E2D3A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end display_text_and_get_width
-
- thumb_func_start convert_pixel_width_to_tile_width
-convert_pixel_width_to_tile_width: @ 80E2D40
- push {lr}
- adds r1, r0, 0
- adds r0, 0x9
- cmp r0, 0
- bge _080E2D4C
- adds r0, 0x7
-_080E2D4C:
- asrs r0, 3
- adds r0, 0x1
- cmp r0, 0x1C
- ble _080E2D56
- movs r0, 0x1C
-_080E2D56:
- pop {r1}
- bx r1
- thumb_func_end convert_pixel_width_to_tile_width
-
- thumb_func_start sub_80E2D5C
-sub_80E2D5C: @ 80E2D5C
- push {lr}
- adds r2, r0, 0
- adds r0, r2, r1
- cmp r0, 0x1C
- ble _080E2D70
- movs r0, 0x1C
- subs r2, r0, r1
- cmp r2, 0
- bge _080E2D70
- movs r2, 0
-_080E2D70:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80E2D5C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
deleted file mode 100644
index 1202473ee..000000000
--- a/asm/script_pokemon_util_80F87D8.s
+++ /dev/null
@@ -1,1667 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F87D8
-sub_80F87D8: @ 80F87D8
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =gContestMons
- ldrb r3, [r1, 0x15]
- ldr r4, =0x000013bc
- adds r0, r2, r4
- strh r3, [r0]
- adds r0, r1, 0
- adds r0, 0x55
- ldrb r3, [r0]
- adds r4, 0x2
- adds r0, r2, r4
- strh r3, [r0]
- adds r1, 0x95
- ldrb r0, [r1]
- movs r1, 0x9E
- lsls r1, 5
- adds r2, r1
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F87D8
-
- thumb_func_start sub_80F8814
-sub_80F8814: @ 80F8814
- push {lr}
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080F883A
- cmp r0, 0x1
- bgt _080F8830
- cmp r0, 0
- beq _080F8836
- b _080F8842
- .pool
-_080F8830:
- cmp r1, 0x2
- beq _080F883E
- b _080F8842
-_080F8836:
- movs r1, 0x3
- b _080F8844
-_080F883A:
- movs r1, 0x4
- b _080F8844
-_080F883E:
- movs r1, 0x5
- b _080F8844
-_080F8842:
- movs r1, 0x64
-_080F8844:
- ldr r0, =gSpecialVar_0x8004
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8814
-
- thumb_func_start sub_80F8850
-sub_80F8850: @ 80F8850
- push {lr}
- bl sub_80F8264
- bl sub_80F8290
- bl sub_80F8438
- pop {r0}
- bx r0
- thumb_func_end sub_80F8850
-
- thumb_func_start sub_80F8864
-sub_80F8864: @ 80F8864
- push {lr}
- ldr r0, =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080F88A4
- lsls r0, 2
- ldr r1, =_080F8880
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080F8880:
- .4byte _080F8894
- .4byte _080F8898
- .4byte _080F889C
- .4byte _080F88A0
- .4byte _080F88A4
-_080F8894:
- movs r1, 0x8
- b _080F88A6
-_080F8898:
- movs r1, 0x9
- b _080F88A6
-_080F889C:
- movs r1, 0xA
- b _080F88A6
-_080F88A0:
- movs r1, 0xB
- b _080F88A6
-_080F88A4:
- movs r1, 0xC
-_080F88A6:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, 5
- adds r0, r1
- ldr r1, =0x00002e98
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- bne _080F88CC
- ldr r0, =gSpecialVar_0x8004
- strh r1, [r0]
- b _080F88D2
- .pool
-_080F88CC:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
-_080F88D2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8864
-
- thumb_func_start sub_80F88DC
-sub_80F88DC: @ 80F88DC
- push {lr}
- movs r0, 0xFF
- bl sub_80DEDA8
- pop {r0}
- bx r0
- thumb_func_end sub_80F88DC
-
- thumb_func_start sub_80F88E8
-sub_80F88E8: @ 80F88E8
- push {lr}
- ldr r0, =gContestFinalStandings
- ldr r1, =gContestPlayerMonIndex
- ldrb r2, [r1]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8930
- ldr r0, =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _080F8930
- ldr r1, =gUnknown_02039F08
- lsls r0, r2, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, =0x0000031f
- cmp r1, r0
- ble _080F8930
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x1
- b _080F8934
- .pool
-_080F8930:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0
-_080F8934:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F88E8
-
- thumb_func_start sub_80F8940
-sub_80F8940: @ 80F8940
- push {lr}
- movs r3, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002f98
- adds r1, r0, r2
- movs r2, 0x4
-_080F894E:
- ldrh r0, [r1]
- cmp r0, 0
- beq _080F895A
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_080F895A:
- adds r1, 0x20
- subs r2, 0x1
- cmp r2, 0
- bge _080F894E
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F8940
-
- thumb_func_start sub_80F8970
-sub_80F8970: @ 80F8970
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gContestMonConditions
- mov r12, r0
- ldr r1, =gSpecialVar_0x8006
- mov r9, r1
- ldr r2, =gContestMons + 2
- mov r10, r2
- mov r2, r12
- mov r1, sp
- movs r6, 0x3
-_080F898E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080F898E
- movs r6, 0
-_080F899E:
- movs r1, 0x3
- cmp r1, r6
- ble _080F89C8
-_080F89A4:
- subs r5, r1, 0x1
- lsls r0, r5, 1
- mov r4, sp
- adds r3, r4, r0
- lsls r0, r1, 1
- adds r2, r4, r0
- ldrh r4, [r3]
- movs r7, 0
- ldrsh r1, [r3, r7]
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080F89C2
- strh r4, [r2]
- strh r0, [r3]
-_080F89C2:
- adds r1, r5, 0
- cmp r1, r6
- bgt _080F89A4
-_080F89C8:
- adds r6, 0x1
- cmp r6, 0x2
- ble _080F899E
- mov r2, r9
- ldrh r0, [r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- lsls r0, 16
- asrs r4, r0, 16
- adds r3, r0, 0
- mov r1, sp
- mov r5, r9
-_080F89E8:
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080F8A02
- lsls r0, r2, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r2, r0, 24
- ldrh r7, [r5]
- cmp r6, r7
- bne _080F8A02
- mov r8, r2
-_080F8A02:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080F89E8
- movs r6, 0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r1, r3, 16
- lsls r2, 24
- mov r9, r2
- cmp r0, r1
- beq _080F8A30
- adds r2, r1, 0
- mov r1, sp
-_080F8A20:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080F8A30
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r2
- bne _080F8A20
-_080F8A30:
- lsls r0, r6, 24
- lsrs r7, r0, 24
- mov r2, r8
- movs r6, 0
- asrs r1, r3, 16
- mov r5, r12
- movs r4, 0
- ldrsh r0, [r5, r4]
- b _080F8A66
- .pool
-_080F8A50:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080F8A56:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080F8A6E
- lsls r0, r6, 1
- add r0, r12
- asrs r1, r3, 16
- movs r5, 0
- ldrsh r0, [r0, r5]
-_080F8A66:
- cmp r1, r0
- bne _080F8A56
- cmp r2, 0x1
- bne _080F8A50
-_080F8A6E:
- lsls r4, r6, 6
- mov r0, r10
- adds r1, r4, r0
- ldr r0, =gStringVar1
- bl StringCopy
- ldr r5, =gStringVar2
- mov r0, r10
- adds r0, 0xB
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringCopy
- adds r0, r5, 0
- bl sub_81DB5AC
- mov r1, r9
- asrs r0, r1, 24
- cmp r0, 0x1
- beq _080F8A9C
- cmp r8, r0
- bne _080F8AB0
-_080F8A9C:
- ldr r0, =gSpecialVar_0x8006
- strh r7, [r0]
- b _080F8AB6
- .pool
-_080F8AB0:
- ldr r1, =gSpecialVar_0x8006
- adds r0, r7, 0x4
- strh r0, [r1]
-_080F8AB6:
- 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_80F8970
-
- thumb_func_start sub_80F8ACC
-sub_80F8ACC: @ 80F8ACC
- push {lr}
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8ACC
-
- thumb_func_start ShowContestWinner
-ShowContestWinner: @ 80F8ADC
- push {lr}
- ldr r0, =sub_812FDEC
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_80F8ACC
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowContestWinner
-
- thumb_func_start sub_80F8AFC
-sub_80F8AFC: @ 80F8AFC
- push {r4,r5,lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F8B7C
- movs r3, 0
- ldr r0, =gUnknown_02039F30
- adds r4, r0, 0
- ldr r5, =gContestMons
- ldrb r0, [r4]
- cmp r3, r0
- bge _080F8B50
- adds r2, r5, 0
- ldr r1, =gLinkPlayers
-_080F8B1C:
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r0, 0x1
- bhi _080F8B44
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _080F8B40
- movs r0, 0xEB
- b _080F8B42
- .pool
-_080F8B40:
- movs r0, 0xEC
-_080F8B42:
- strb r0, [r2, 0x15]
-_080F8B44:
- adds r2, 0x40
- adds r1, 0x1C
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080F8B1C
-_080F8B50:
- ldr r0, =0x00004010
- ldrb r1, [r5, 0x15]
- bl VarSet
- ldr r0, =0x00004011
- adds r1, r5, 0
- adds r1, 0x55
- ldrb r1, [r1]
- bl VarSet
- ldr r0, =0x00004012
- adds r1, r5, 0
- adds r1, 0x95
- ldrb r1, [r1]
- bl VarSet
- ldr r0, =0x00004013
- adds r1, r5, 0
- adds r1, 0xD5
- ldrb r1, [r1]
- bl VarSet
-_080F8B7C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8AFC
-
- thumb_func_start sub_80F8B94
-sub_80F8B94: @ 80F8B94
- push {r4-r7,lr}
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0xC
- strb r0, [r1]
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F8C6E
- movs r5, 0
- ldr r0, =gUnknown_02039F30
- ldrb r0, [r0]
- cmp r5, r0
- bge _080F8C6E
- movs r7, 0
- movs r6, 0x60
- movs r4, 0xB0
- lsls r4, 17
-_080F8BBA:
- ldr r0, =gUnknown_0858D8EC
- adds r0, r5, r0
- ldrb r0, [r0]
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl GetEventObjectIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gEventObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r6
- strb r0, [r1, 0x5]
- ldr r0, =gLinkPlayers
- adds r1, r7, r0
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r0, 0x1
- bhi _080F8C38
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _080F8C2C
- lsrs r1, r4, 16
- ldr r0, =gEventObjectPalette33
- b _080F8C42
- .pool
-_080F8C2C:
- lsrs r1, r4, 16
- ldr r0, =gEventObjectPalette34
- b _080F8C42
- .pool
-_080F8C38:
- ldrb r0, [r1, 0x13]
- cmp r0, 0
- bne _080F8C50
- lsrs r1, r4, 16
- ldr r0, =gEventObjectPalette8
-_080F8C42:
- movs r2, 0x20
- bl LoadPalette
- b _080F8C5A
- .pool
-_080F8C50:
- lsrs r1, r4, 16
- ldr r0, =gEventObjectPalette17
- movs r2, 0x20
- bl LoadPalette
-_080F8C5A:
- movs r0, 0x80
- lsls r0, 13
- adds r4, r0
- adds r7, 0x1C
- adds r6, 0x10
- adds r5, 0x1
- ldr r0, =gUnknown_02039F30
- ldrb r0, [r0]
- cmp r5, r0
- blt _080F8BBA
-_080F8C6E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8B94
-
- thumb_func_start sub_80F8C7C
-sub_80F8C7C: @ 80F8C7C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, =gUnknown_02039F24
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x46
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- cmp r0, 0
- bne _080F8D18
- ldr r0, =gContestFinalStandings
- ldr r1, =gContestPlayerMonIndex
- ldrb r2, [r1]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8D18
- ldr r0, =gSpecialVar_ContestRank
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _080F8D18
- ldr r1, =gUnknown_02039F08
- lsls r0, r2, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, =0x0000031f
- cmp r1, r0
- ble _080F8D18
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x46
- mov r2, sp
- bl SetMonData
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- bl GetRibbonCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080F8CF6
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x46
- bl sub_80EE4DC
-_080F8CF6:
- movs r0, 0x1
- b _080F8D1A
- .pool
-_080F8D18:
- movs r0, 0
-_080F8D1A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F8C7C
-
- thumb_func_start sub_80F8D24
-sub_80F8D24: @ 80F8D24
- movs r0, 0
- bx lr
- thumb_func_end sub_80F8D24
-
- thumb_func_start sub_80F8D28
-sub_80F8D28: @ 80F8D28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r7, =sub_80F8EE8
- adds r0, r7, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080F8D44
- b _080F8E9C
-_080F8D44:
- bl AllocateMonSpritesGfx
- movs r0, 0xA
- mov r9, r0
- movs r1, 0x3
- mov r10, r1
- ldr r2, =gContestMons
- ldr r4, =gSpecialVar_0x8006
- ldrh r1, [r4]
- lsls r1, 6
- adds r0, r1, r2
- ldrh r6, [r0]
- adds r0, r2, 0
- adds r0, 0x38
- adds r0, r1, r0
- ldr r5, [r0]
- adds r2, 0x3C
- adds r1, r2
- ldr r1, [r1]
- mov r8, r1
- adds r0, r7, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r6, [r0, 0xA]
- ldr r1, =gContestPlayerMonIndex
- ldrh r0, [r4]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080F8DC4
- lsls r0, r6, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- adds r2, r6, 0
- adds r3, r5, 0
- bl HandleLoadSpecialPokePic_2
- b _080F8DD8
- .pool
-_080F8DC4:
- lsls r0, r6, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- adds r2, r6, 0
- adds r3, r5, 0
- bl HandleLoadSpecialPokePic_DontHandleDeoxys
-_080F8DD8:
- adds r0, r6, 0
- mov r1, r8
- adds r2, r5, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- adds r0, r6, 0
- movs r1, 0x1
- bl SetMultiuseSpriteTemplateToPokemon
- ldr r0, =gMultiuseSpriteTemplate
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x2]
- mov r1, r9
- adds r1, 0x1
- lsls r1, 19
- movs r2, 0x80
- lsls r2, 14
- adds r1, r2
- asrs r1, 16
- mov r3, r10
- lsls r2, r3, 19
- movs r3, 0xA0
- lsls r3, 14
- adds r2, r3
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F8E58
- movs r0, 0x4
- ands r0, r1
- lsls r4, r5, 4
- cmp r0, 0
- bne _080F8E6C
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl DoMonFrontSpriteAnimation
- b _080F8E6C
- .pool
-_080F8E58:
- lsls r4, r5, 4
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl DoMonFrontSpriteAnimation
-_080F8E6C:
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xC]
- mov r1, r9
- strh r1, [r0, 0xE]
- mov r2, r10
- strh r2, [r0, 0x10]
- ldr r3, =gSprites
- adds r1, r4, r5
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, =SpriteCallbackDummy
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_080F8E9C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8D28
-
- thumb_func_start sub_80F8EB8
-sub_80F8EB8: @ 80F8EB8
- push {lr}
- ldr r0, =sub_80F8EE8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080F8EDC
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- bl FreeMonSpritesGfx
-_080F8EDC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8EB8
-
- thumb_func_start sub_80F8EE8
-sub_80F8EE8: @ 80F8EE8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080F8F98
- lsls r0, 2
- ldr r1, =_080F8F14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080F8F14:
- .4byte _080F8F78
- .4byte _080F8F28
- .4byte _080F8F98
- .4byte _080F8F42
- .4byte _080F8F84
-_080F8F28:
- movs r0, 0xA
- movs r1, 0x3
- movs r2, 0x8
- movs r3, 0x8
- bl CreateWindowFromRect
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- movs r1, 0x1
- bl SetStandardWindowBorderStyle
- b _080F8F78
-_080F8F42:
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- cmp r0, 0
- beq _080F8F72
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_080F8F72:
- adds r0, r4, 0
- bl DestroySprite
-_080F8F78:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080F8F98
- .pool
-_080F8F84:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x12]
- bl sub_80E2A78
- adds r0, r4, 0
- bl DestroyTask
-_080F8F98:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F8EE8
-
- thumb_func_start sub_80F8FA0
-sub_80F8FA0: @ 80F8FA0
- push {r4,lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F8FD8
- ldr r0, =gUnknown_02039F30
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080F8FD8
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080F8FD8
- ldr r4, =gSpecialVar_Result
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- b _080F8FDE
- .pool
-_080F8FD8:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x4
- strh r0, [r1]
-_080F8FDE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8FA0
-
- thumb_func_start sub_80F8FE8
-sub_80F8FE8: @ 80F8FE8
- push {r4,lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F9020
- ldr r2, =gContestRngValue
- ldr r1, [r2]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00006073
- adds r0, r1
- str r0, [r2]
- lsrs r0, 16
- ldr r4, =gSpecialVar_Result
- b _080F902A
- .pool
-_080F9020:
- ldr r4, =gSpecialVar_Result
- bl Random
- lsls r0, 16
- lsrs r0, 16
-_080F902A:
- ldrh r1, [r4]
- bl __umodsi3
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F8FE8
-
- thumb_func_start sub_80F903C
-sub_80F903C: @ 80F903C
- ldr r2, =gContestRngValue
- ldr r1, [r2]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00006073
- adds r0, r1
- str r0, [r2]
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_80F903C
-
- thumb_func_start sub_80F905C
-sub_80F905C: @ 80F905C
- push {lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080F9074
- movs r0, 0
- b _080F907E
- .pool
-_080F9074:
- ldr r0, =sub_80F9088
- movs r1, 0x5
- bl CreateTask
- movs r0, 0x1
-_080F907E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F905C
-
- thumb_func_start sub_80F9088
-sub_80F9088: @ 80F9088
- 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 r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080F90C0
- cmp r0, 0x1
- beq _080F90CE
- bl sub_800A520
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F90D4
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080F90D4
- .pool
-_080F90C0:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080F90D4
- bl sub_800ADF8
-_080F90CE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080F90D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9088
-
- thumb_func_start sub_80F90DC
-sub_80F90DC: @ 80F90DC
- push {lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F90FE
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F90FE
- bl sub_800E0E8
- movs r0, 0x8
- movs r1, 0x8
- bl CreateWirelessStatusIndicatorSprite
-_080F90FE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F90DC
-
- thumb_func_start sub_80F910C
-sub_80F910C: @ 80F910C
- push {lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F9126
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F9126
- bl sub_800E084
-_080F9126:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F910C
-
- thumb_func_start sub_80F9134
-sub_80F9134: @ 80F9134
- push {lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080F914C
- movs r0, 0
- b _080F914E
- .pool
-_080F914C:
- movs r0, 0x1
-_080F914E:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9134
-
- thumb_func_start sub_80F9154
-sub_80F9154: @ 80F9154
- ldr r1, =gIsLinkContest
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80F9154
-
- thumb_func_start sub_80F9160
-sub_80F9160: @ 80F9160
- push {lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080F9178
- movs r0, 0
- b _080F917A
- .pool
-_080F9178:
- movs r0, 0x1
-_080F917A:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9160
-
- thumb_func_start HealPlayerParty
-HealPlayerParty: @ 80F9180
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- mov r8, r0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r8, r0
- bcs _080F922C
- ldr r1, =gPlayerParty
- mov r10, r1
- mov r6, sp
-_080F919E:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r1, r0, 16
- strb r0, [r6]
- lsrs r1, 24
- strb r1, [r6, 0x1]
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- movs r1, 0x1
- add r1, r8
- mov r9, r1
-_080F91D4:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r7, 0
- adds r2, r5, 0
- bl CalculatePPWithBonus
- strb r0, [r6]
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080F91D4
- movs r0, 0
- strb r0, [r6]
- strb r0, [r6, 0x1]
- strb r0, [r6, 0x2]
- strb r0, [r6, 0x3]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- add r0, r10
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080F919E
-_080F922C:
- 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 HealPlayerParty
-
- thumb_func_start ScriptGiveMon
-@ void ScriptGiveMon(s16 species_num, u8 level, int held_item)
-ScriptGiveMon: @ 80F9244
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x78
- adds r5, r0, 0
- adds r3, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 16
- lsrs r0, r4, 16
- mov r8, r0
- add r6, sp, 0x14
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r3, 0
- movs r3, 0x20
- bl CreateMon
- add r0, sp, 0x10
- mov r1, r8
- strb r1, [r0]
- lsrs r4, 24
- strb r4, [r0, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r6, 0
- bl GiveMonToPlayer
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0x1
- bgt _080F92B8
- cmp r4, 0
- blt _080F92B8
- adds r0, r5, 0
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r0, r5, 0
- movs r1, 0x3
- bl GetSetPokedexFlag
-_080F92B8:
- adds r0, r4, 0
- add sp, 0x78
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ScriptGiveMon
-
- thumb_func_start ScriptGiveEgg
-ScriptGiveEgg: @ 80F92C8
- push {lr}
- sub sp, 0x68
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- movs r2, 0x1
- bl CreateEgg
- add r2, sp, 0x64
- movs r0, 0x1
- strb r0, [r2]
- mov r0, sp
- movs r1, 0x2D
- bl SetMonData
- mov r0, sp
- bl GiveMonToPlayer
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x68
- pop {r1}
- bx r1
- thumb_func_end ScriptGiveEgg
-
- thumb_func_start HasEnoughMonsForDoubleBattle
-HasEnoughMonsForDoubleBattle: @ 80F92F8
- push {lr}
- bl GetMonsStateToDoubles
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- beq _080F9314
- cmp r1, 0x1
- bgt _080F9310
- cmp r1, 0
- beq _080F9314
- b _080F9318
-_080F9310:
- cmp r1, 0x2
- bne _080F9318
-_080F9314:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080F9318:
- pop {r0}
- bx r0
- .pool
- thumb_func_end HasEnoughMonsForDoubleBattle
-
- thumb_func_start sub_80F9320
-sub_80F9320: @ 80F9320
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0
- movs r7, 0xCE
- lsls r7, 1
-_080F932C:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080F9360
- cmp r0, r7
- beq _080F9360
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, r6
- bne _080F9360
- movs r0, 0x1
- b _080F9368
- .pool
-_080F9360:
- adds r5, 0x1
- cmp r5, 0x5
- ble _080F932C
- movs r0, 0
-_080F9368:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F9320
-
- thumb_func_start sub_80F9370
-sub_80F9370: @ 80F9370
- push {r4,lr}
- movs r0, 0xAF
- bl sub_80F9320
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r4, 0x1
- bne _080F9392
- movs r0, 0xAF
- bl ItemIdToBerryType
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gStringVar1
- bl GetBerryNameByBerryType
-_080F9392:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F9370
-
- thumb_func_start CreateScriptedWildMon
-CreateScriptedWildMon: @ 80F93A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r7, r2, 16
- lsrs r6, r7, 16
- bl ZeroEnemyPartyMons
- ldr r0, =gEnemyParty
- mov r8, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x20
- bl CreateMon
- cmp r6, 0
- beq _080F93EE
- add r0, sp, 0x10
- strb r6, [r0]
- adds r1, r0, 0
- lsrs r0, r7, 24
- strb r0, [r1, 0x1]
- mov r0, r8
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
-_080F93EE:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateScriptedWildMon
-
- thumb_func_start ScriptSetMonMoveSlot
-ScriptSetMonMoveSlot: @ 80F9400
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r2, 24
- cmp r3, 0x6
- bls _080F941C
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_080F941C:
- movs r0, 0x64
- muls r0, r3
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl SetMonMoveSlot
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ScriptSetMonMoveSlot
-
- thumb_func_start sub_80F9438
-sub_80F9438: @ 80F9438
- push {lr}
- ldr r0, =gMain
- ldr r1, =sub_80F9460
- str r1, [r0, 0x8]
- ldr r0, =0x000040cf
- movs r1, 0x9
- bl VarSet
- movs r0, 0
- bl sub_81B8518
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9438
-
- thumb_func_start sub_80F9460
-sub_80F9460: @ 80F9460
- push {lr}
- ldr r0, =gUnknown_0203CEF8
- ldrb r1, [r0]
- cmp r1, 0
- bne _080F9478
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- b _080F947E
- .pool
-_080F9478:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_080F947E:
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9460
-
- thumb_func_start sub_80F9490
-sub_80F9490: @ 80F9490
- push {lr}
- ldr r1, =gMain
- ldr r0, =sub_80F94B8
- str r0, [r1, 0x8]
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- bl sub_81B8518
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9490
-
- thumb_func_start sub_80F94B8
-sub_80F94B8: @ 80F94B8
- push {lr}
- ldr r0, =gUnknown_0203CEF8
- ldrb r1, [r0]
- cmp r1, 0
- bne _080F94D0
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- b _080F94D6
- .pool
-_080F94D0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_080F94D6:
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F94B8
-
- thumb_func_start ReducePlayerPartyToThree
-ReducePlayerPartyToThree: @ 80F94E8
- push {r4-r7,lr}
- sub sp, 0x198
- add r0, sp, 0x190
- movs r1, 0
- str r1, [r0]
- ldr r2, =0x05000064
- mov r1, sp
- bl CpuSet
- movs r5, 0
- movs r7, 0x64
- ldr r6, =gPlayerParty
- mov r4, sp
-_080F9502:
- ldr r0, =gUnknown_0203CEF8
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F951C
- subs r0, 0x1
- adds r1, r0, 0
- muls r1, r7
- adds r1, r6
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
-_080F951C:
- adds r4, 0x64
- adds r5, 0x1
- cmp r5, 0x3
- ble _080F9502
- add r0, sp, 0x194
- movs r1, 0
- str r1, [r0]
- ldr r4, =gPlayerParty
- ldr r2, =0x05000096
- adds r1, r4, 0
- bl CpuSet
- mov r5, sp
- add r6, sp, 0x12C
-_080F9538:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x64
- cmp r5, r6
- ble _080F9538
- bl CalculatePlayerPartyCount
- add sp, 0x198
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ReducePlayerPartyToThree
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/shop.s b/asm/shop.s
deleted file mode 100644
index 56658c4ff..000000000
--- a/asm/shop.s
+++ /dev/null
@@ -1,1821 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start BuyMenuDrawMapMetatile
-@ void BuyMenuDrawMapMetatile(u16 x, u16 y, u16 *src, u8 metatileLayerType)
-BuyMenuDrawMapMetatile: @ 80E0670
- push {r4-r7,lr}
- adds r7, r2, 0
- lsls r3, 24
- lsrs r3, 24
- adds r2, r3, 0
- lsls r0, 17
- lsrs r5, r0, 16
- lsls r1, 22
- lsrs r1, 16
- cmp r3, 0x1
- beq _080E06C0
- cmp r3, 0x1
- bgt _080E0690
- cmp r3, 0
- beq _080E0696
- b _080E0728
-_080E0690:
- cmp r2, 0x2
- beq _080E06F8
- b _080E0728
-_080E0696:
- ldr r6, =gShopDataPtr
- ldr r0, [r6]
- movs r2, 0xC0
- lsls r2, 5
- adds r0, r2
- lsls r5, 16
- asrs r5, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 4
- b _080E06E2
- .pool
-_080E06C0:
- ldr r6, =gShopDataPtr
- ldr r0, [r6]
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2
- lsls r5, 16
- asrs r5, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, [r6]
- movs r1, 0xC0
- lsls r1, 5
-_080E06E2:
- adds r0, r1
- adds r3, r7, 0
- adds r3, 0x8
- adds r1, r5, 0
- adds r2, r4, 0
- bl BuyMenuDrawMapMetatileLayer
- b _080E0728
- .pool
-_080E06F8:
- ldr r6, =gShopDataPtr
- ldr r0, [r6]
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2
- lsls r5, 16
- asrs r5, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1
- adds r3, r7, 0
- adds r3, 0x8
- adds r1, r5, 0
- adds r2, r4, 0
- bl BuyMenuDrawMapMetatileLayer
-_080E0728:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuDrawMapMetatile
-
- thumb_func_start BuyMenuDrawMapMetatileLayer
-@ int BuyMenuDrawMapMetatileLayer(void *tilemapBuffer, s16 xOffset, s16 yOffset, u16 *src)
-BuyMenuDrawMapMetatileLayer: @ 80E0734
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r3]
- strh r0, [r1]
- ldrh r0, [r3, 0x2]
- strh r0, [r1, 0x2]
- adds r2, r1, 0
- adds r2, 0x40
- ldrh r0, [r3, 0x4]
- strh r0, [r2]
- adds r1, 0x42
- ldrh r0, [r3, 0x6]
- strh r0, [r1]
- bx lr
- thumb_func_end BuyMenuDrawMapMetatileLayer
-
- thumb_func_start BuyMenuCollectEventObjectData
-@ void BuyMenuCollectEventObjectData()
-BuyMenuCollectEventObjectData: @ 80E075C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r7, 0
- ldr r5, =gShopDataPtr
- ldr r3, =0x00002010
- movs r2, 0x10
-_080E0780:
- ldr r1, [r5]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 1
- adds r1, r3
- adds r1, r0
- strh r2, [r1]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _080E0780
- movs r7, 0
- str r4, [sp, 0x8]
- ldr r1, =gShopDataPtr
- mov r9, r1
- mov r2, sp
- str r2, [sp, 0x4]
-_080E07A4:
- movs r3, 0
- adds r4, r7, 0x1
- str r4, [sp, 0xC]
-_080E07AA:
- ldr r1, =0x0000fffc
- adds r0, r3, r1
- ldr r2, [sp, 0x4]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- ldr r4, =0x0000fffe
- adds r1, r7, r4
- ldr r2, [sp, 0x8]
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- str r3, [sp, 0x10]
- bl GetEventObjectIdByXY
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, [sp, 0x10]
- cmp r6, 0x10
- beq _080E08C2
- mov r4, r9
- ldr r1, [r4]
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, r0
- lsls r5, r0, 1
- ldr r2, =0x00002010
- adds r0, r1, r2
- adds r0, r5
- movs r2, 0
- mov r10, r2
- strh r6, [r0]
- ldr r2, =0x00002012
- adds r0, r1, r2
- adds r0, r5
- strh r3, [r0]
- ldr r0, =0x00002014
- adds r1, r0
- adds r1, r5
- strh r7, [r1]
- ldr r1, [sp, 0x4]
- movs r2, 0
- ldrsh r0, [r1, r2]
- subs r1, r3, 0x4
- adds r0, r1
- ldr r1, [sp, 0x8]
- movs r2, 0
- ldrsh r1, [r1, r2]
- mov r12, r1
- subs r1, r7, 0x2
- add r1, r12
- str r3, [sp, 0x10]
- bl MapGridGetMetatileLayerTypeAt
- mov r1, r9
- ldr r2, [r1]
- ldr r1, =0x00002018
- adds r1, r2
- mov r12, r1
- add r12, r5
- lsls r0, 24
- lsrs r0, 24
- mov r1, r12
- strh r0, [r1]
- ldr r1, =gEventObjects
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- ldr r3, [sp, 0x10]
- cmp r0, 0x2
- beq _080E0884
- cmp r0, 0x2
- bgt _080E0870
- cmp r0, 0x1
- beq _080E0876
- b _080E08A4
- .pool
-_080E0870:
- cmp r0, 0x3
- beq _080E0894
- b _080E08A4
-_080E0876:
- ldr r4, =0x00002016
- adds r0, r2, r4
- adds r0, r5
- mov r1, r10
- b _080E08B6
- .pool
-_080E0884:
- ldr r4, =0x00002016
- adds r0, r2, r4
- adds r0, r5
- movs r1, 0x1
- b _080E08B6
- .pool
-_080E0894:
- ldr r1, =0x00002016
- adds r0, r2, r1
- adds r0, r5
- movs r1, 0x2
- b _080E08B6
- .pool
-_080E08A4:
- mov r2, r9
- ldr r0, [r2]
- mov r2, r8
- adds r1, r4, r2
- lsls r1, 1
- ldr r4, =0x00002016
- adds r0, r4
- adds r0, r1
- movs r1, 0x3
-_080E08B6:
- strh r1, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080E08C2:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x6
- bhi _080E08CE
- b _080E07AA
-_080E08CE:
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x4
- bhi _080E08DA
- b _080E07A4
-_080E08DA:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuCollectEventObjectData
-
- thumb_func_start BuyMenuDrawEventObjects
-@ void BuyMenuDrawEventObjects()
-BuyMenuDrawEventObjects: @ 80E08F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r7, 0
- ldr r0, =gShopDataPtr
- mov r8, r0
- ldr r1, =gEventObjects
- mov r10, r1
- ldr r2, =gSprites
- mov r9, r2
-_080E090A:
- mov r3, r8
- ldr r0, [r3]
- lsls r1, r7, 2
- adds r1, r7
- lsls r5, r1, 1
- ldr r4, =0x00002010
- adds r0, r4
- adds r1, r0, r5
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x10
- beq _080E09D8
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrb r0, [r0, 0x5]
- bl GetEventObjectGraphicsInfo
- mov r4, r8
- ldr r3, [r4]
- ldr r2, =0x00002010
- adds r1, r3, r2
- adds r1, r5
- movs r4, 0
- ldrsh r2, [r1, r4]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- add r1, r10
- ldrb r4, [r1, 0x5]
- ldr r2, =0x00002012
- adds r1, r3, r2
- adds r1, r5
- ldrh r2, [r1]
- lsls r2, 4
- adds r2, 0x8
- lsls r2, 16
- asrs r2, 16
- ldr r1, =0x00002014
- adds r3, r1
- adds r3, r5
- ldrh r3, [r3]
- lsls r3, 4
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r0, 0x30
- subs r3, r0
- lsls r3, 16
- asrs r3, 16
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- ldr r1, =SpriteCallbackDummy
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r2, =0x00002010
- adds r1, r5, r2
- mov r3, r8
- ldr r0, [r3]
- adds r0, r1
- bl BuyMenuCheckIfEventObjectOverlapsMenuBg
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E09C0
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- add r2, r9
- adds r2, 0x42
- ldrb r0, [r2]
- movs r4, 0x40
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_080E09C0:
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r9
- mov r2, r8
- ldr r1, [r2]
- ldr r3, =0x00002016
- adds r1, r3
- adds r1, r5
- ldrb r1, [r1]
- bl StartSpriteAnim
-_080E09D8:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _080E090A
- 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 BuyMenuDrawEventObjects
-
- thumb_func_start BuyMenuCheckIfEventObjectOverlapsMenuBg
-BuyMenuCheckIfEventObjectOverlapsMenuBg: @ 80E0A14
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- adds r1, 0x2
- bl BuyMenuCheckForOverlapWithMenuBg
- lsls r0, 24
- cmp r0, 0
- bne _080E0A38
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080E0A38
- movs r0, 0x1
- b _080E0A3A
-_080E0A38:
- movs r0, 0
-_080E0A3A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end BuyMenuCheckIfEventObjectOverlapsMenuBg
-
- thumb_func_start BuyMenuCopyMenuBgToBg1TilemapBuffer
-@ void BuyMenuCopyMenuBgToBg1TilemapBuffer()
-BuyMenuCopyMenuBgToBg1TilemapBuffer: @ 80E0A40
- push {r4-r6,lr}
- ldr r0, =gShopDataPtr
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- adds r4, r0, r1
- adds r3, r0, 0
- movs r1, 0
- ldr r0, =0x0000c3e3
- adds r6, r0, 0
- ldr r5, =0x000003ff
-_080E0A56:
- lsls r0, r1, 16
- asrs r2, r0, 16
- lsls r1, r2, 1
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E0A6A
- adds r1, r4
- adds r0, r6
- strh r0, [r1]
-_080E0A6A:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, r5
- ble _080E0A56
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuCopyMenuBgToBg1TilemapBuffer
-
- thumb_func_start BuyMenuCheckForOverlapWithMenuBg
-@ bool8 BuyMenuCheckForOverlapWithMenuBg(u16 x, u16 y)
-BuyMenuCheckForOverlapWithMenuBg: @ 80E0A88
- push {lr}
- ldr r2, =gShopDataPtr
- ldr r2, [r2]
- lsls r0, 1
- lsls r1, 6
- adds r1, r0
- lsls r1, 1
- adds r1, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _080E0AC0
- adds r0, r1, 0
- adds r0, 0x40
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E0AC0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080E0AC0
- adds r0, r1, 0
- adds r0, 0x42
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E0AC0
- movs r0, 0x1
- b _080E0AC2
- .pool
-_080E0AC0:
- movs r0, 0
-_080E0AC2:
- pop {r1}
- bx r1
- thumb_func_end BuyMenuCheckForOverlapWithMenuBg
-
- thumb_func_start Task_BuyMenu
-@ void Task_BuyMenu(u8 taskId)
-Task_BuyMenu: @ 80E0AC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- 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
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E0AEA
- b _080E0C8E
-_080E0AEA:
- ldrb r0, [r4, 0xE]
- bl ListMenuHandleInputGetItemId
- adds r5, r0, 0
- ldrb r0, [r4, 0xE]
- ldr r7, =gShopDataPtr
- ldr r2, [r7]
- ldr r3, =0x00002008
- adds r1, r2, r3
- subs r3, 0x2
- adds r2, r3
- bl ListMenuGetScrollAndRow
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _080E0B24
- adds r0, 0x1
- cmp r5, r0
- bne _080E0B32
- b _080E0C8E
- .pool
-_080E0B24:
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl ExitBuyMenu
- b _080E0C8E
-_080E0B32:
- movs r0, 0x5
- bl PlaySE
- strh r5, [r4, 0xA]
- movs r0, 0x2
- bl ClearWindowTilemap
- bl BuyMenuRemoveScrollIndicatorArrows
- ldrb r0, [r4, 0xE]
- movs r1, 0x2
- bl BuyMenuPrintCursor
- ldr r0, =gMartInfo
- ldrb r0, [r0, 0xF]
- cmp r0, 0
- bne _080E0B80
- lsls r0, r5, 16
- lsrs r0, 16
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- ldr r1, [r7]
- movs r2, 0x80
- lsls r2, 6
- adds r1, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- str r4, [r1]
- b _080E0B92
- .pool
-_080E0B80:
- ldr r1, [r7]
- movs r3, 0x80
- lsls r3, 6
- adds r1, r3
- ldr r2, =gDecorations
- lsls r0, r5, 5
- adds r0, r2
- ldrh r0, [r0, 0x14]
- str r0, [r1]
-_080E0B92:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r2, =gShopDataPtr
- mov r8, r2
- ldr r1, [r2]
- movs r7, 0x80
- lsls r7, 6
- adds r1, r7
- ldr r1, [r1]
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- bne _080E0BD0
- ldr r1, =gText_YouDontHaveMoney
- ldr r2, =BuyMenuReturnToItemList
- b _080E0C28
- .pool
-_080E0BD0:
- ldr r4, =gMartInfo
- ldrb r0, [r4, 0xF]
- cmp r0, 0
- bne _080E0C38
- lsls r0, r5, 16
- lsrs r5, r0, 16
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl CopyItemName
- adds r0, r5, 0
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080E0C24
- ldr r4, =gStringVar2
- adds r0, r5, 0
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, =gText_Var1CertainlyHowMany2
- b _080E0C26
- .pool
-_080E0C24:
- ldr r1, =gText_Var1CertainlyHowMany
-_080E0C26:
- ldr r2, =Task_BuyHowManyDialogueInit
-_080E0C28:
- adds r0, r6, 0
- bl BuyMenuDisplayMessage
- b _080E0C8E
- .pool
-_080E0C38:
- ldr r0, =gStringVar1
- lsls r1, r5, 5
- ldr r2, =gDecorations + 1
- adds r1, r2
- bl StringCopy
- ldr r0, =gStringVar2
- mov r3, r8
- ldr r1, [r3]
- adds r1, r7
- ldr r1, [r1]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldrb r0, [r4, 0xF]
- cmp r0, 0x1
- bne _080E0C7C
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1IsItThatllBeVar2
- bl StringExpandPlaceholders
- b _080E0C84
- .pool
-_080E0C7C:
- ldr r0, =gStringVar4
- ldr r1, =gText_YouWantedVar1ThatllBeVar2
- bl StringExpandPlaceholders
-_080E0C84:
- ldr r1, =gStringVar4
- ldr r2, =BuyMenuConfirmPurchase
- adds r0, r6, 0
- bl BuyMenuDisplayMessage
-_080E0C8E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_BuyMenu
-
- thumb_func_start Task_BuyHowManyDialogueInit
-@ void Task_BuyHowManyDialogueInit(u8 taskId)
-Task_BuyHowManyDialogueInit: @ 80E0CA4
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- ldr r0, =gTasks + 0x8
- adds r5, r0
- ldrh r0, [r5, 0xA]
- bl CountTotalItemQuantityInBag
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r0, =gStringVar1
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_InBagVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl BuyMenuPrint
- movs r0, 0x1
- strh r0, [r5, 0x2]
- movs r0, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xD
- bl SetWindowBorderStyle
- adds r0, r6, 0
- bl BuyMenuPrintItemQuantityAndPrice
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- bl GetMoney
- ldr r1, =gShopDataPtr
- ldr r4, [r1]
- movs r2, 0x80
- lsls r2, 6
- adds r1, r4, r2
- ldr r1, [r1]
- bl __udivsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x63
- bls _080E0D60
- ldr r0, =0x0000200a
- adds r1, r4, r0
- movs r0, 0x63
- strb r0, [r1]
- b _080E0D66
- .pool
-_080E0D60:
- ldr r2, =0x0000200a
- adds r0, r4, r2
- strb r1, [r0]
-_080E0D66:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_BuyHowManyDialogueHandleInput
- str r0, [r1]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_BuyHowManyDialogueInit
-
- thumb_func_start Task_BuyHowManyDialogueHandleInput
-@ void Task_BuyHowManyDialogueHandleInput(u8 taskId)
-Task_BuyHowManyDialogueHandleInput: @ 80E0D88
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r6, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- adds r0, r5, 0x2
- ldr r7, =gShopDataPtr
- ldr r1, [r7]
- ldr r2, =0x0000200a
- adds r1, r2
- ldrb r1, [r1]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E0DF0
- ldrh r0, [r5, 0xA]
- bl ItemId_GetPrice
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- ldr r1, [r7]
- movs r2, 0x80
- lsls r2, 6
- adds r1, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- muls r0, r4
- str r0, [r1]
- adds r0, r6, 0
- bl BuyMenuPrintItemQuantityAndPrice
- b _080E0EA4
- .pool
-_080E0DF0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E0E74
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
- movs r1, 0
- bl sub_8198070
- movs r0, 0x3
- movs r1, 0
- bl sub_8198070
- movs r0, 0x4
- bl ClearWindowTilemap
- movs r0, 0x3
- bl ClearWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- ldrh r0, [r5, 0xA]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar3
- ldr r1, [r7]
- movs r2, 0x80
- lsls r2, 6
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_Var1AndYouWantedVar2
- ldr r2, =BuyMenuConfirmPurchase
- adds r0, r6, 0
- bl BuyMenuDisplayMessage
- b _080E0EA4
- .pool
-_080E0E74:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E0EA4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
- movs r1, 0
- bl sub_8198070
- movs r0, 0x3
- movs r1, 0
- bl sub_8198070
- movs r0, 0x4
- bl ClearWindowTilemap
- movs r0, 0x3
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl BuyMenuReturnToItemList
-_080E0EA4:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end Task_BuyHowManyDialogueHandleInput
-
- thumb_func_start BuyMenuConfirmPurchase
-@ void BuyMenuConfirmPurchase(u8 taskId)
-BuyMenuConfirmPurchase: @ 80E0EAC
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08589AA8
- movs r2, 0
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0xD
- str r2, [sp, 0x8]
- ldr r2, =gUnknown_08589A08
- str r2, [sp, 0xC]
- movs r2, 0x1
- movs r3, 0
- bl CreateYesNoMenuWithCallbacks
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuConfirmPurchase
-
- thumb_func_start BuyMenuTryMakePurchase
-@ void BuyMenuTryMakePurchase(u8 taskId)
-BuyMenuTryMakePurchase: @ 80E0EDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r6, =gMartInfo
- ldrb r0, [r6, 0xF]
- cmp r0, 0
- bne _080E0F40
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x2]
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E0F30
- ldr r1, =gText_HereYouGoThankYou
- ldr r2, =BuyMenuSubtractMoney
- adds r0, r5, 0
- bl BuyMenuDisplayMessage
- adds r0, r5, 0
- bl RecordItemPurchase
- b _080E0F7A
- .pool
-_080E0F30:
- ldr r1, =gText_NoMoreRoomForThis
- ldr r2, =BuyMenuReturnToItemList
- b _080E0F60
- .pool
-_080E0F40:
- ldrb r0, [r4, 0xA]
- bl DecorationAdd
- lsls r0, 24
- cmp r0, 0
- beq _080E0F70
- ldrb r0, [r6, 0xF]
- cmp r0, 0x1
- bne _080E0F5C
- ldr r1, =gText_ThankYouIllSendItHome
- b _080E0F5E
- .pool
-_080E0F5C:
- ldr r1, =gText_ThanksIllSendItHome
-_080E0F5E:
- ldr r2, =BuyMenuSubtractMoney
-_080E0F60:
- adds r0, r5, 0
- bl BuyMenuDisplayMessage
- b _080E0F7A
- .pool
-_080E0F70:
- ldr r1, =gText_SpaceForVar1Full
- ldr r2, =BuyMenuReturnToItemList
- adds r0, r7, 0
- bl BuyMenuDisplayMessage
-_080E0F7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuTryMakePurchase
-
- thumb_func_start BuyMenuSubtractMoney
-@ void BuyMenuSubtractMoney(u8 taskId)
-BuyMenuSubtractMoney: @ 80E0F88
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x26
- bl IncrementGameStat
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- movs r4, 0x92
- lsls r4, 3
- adds r0, r4
- ldr r1, =gShopDataPtr
- ldr r1, [r1]
- movs r2, 0x80
- lsls r2, 6
- adds r1, r2
- ldr r1, [r1]
- bl RemoveMoney
- movs r0, 0x5F
- bl PlaySE
- ldr r0, [r5]
- adds r0, r4
- bl GetMoney
- adds r1, r0, 0
- movs r0, 0
- movs r2, 0
- bl PrintMoneyAmountInMoneyBox
- ldr r0, =gMartInfo
- ldrb r0, [r0, 0xF]
- cmp r0, 0
- bne _080E0FF0
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_ReturnToItemListAfterItemPurchase
- b _080E0FFC
- .pool
-_080E0FF0:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_ReturnToItemListAfterDecorationPurchase
-_080E0FFC:
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuSubtractMoney
-
- thumb_func_start Task_ReturnToItemListAfterItemPurchase
-@ void Task_ReturnToItemListAfterItemPurchase(u8 taskId)
-Task_ReturnToItemListAfterItemPurchase: @ 80E100C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E1072
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bne _080E106C
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- ble _080E106C
- movs r0, 0xC
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E106C
- ldr r1, =gText_ThrowInPremierBall
- ldr r2, =BuyMenuReturnToItemList
- adds r0, r4, 0
- bl BuyMenuDisplayMessage
- b _080E1072
- .pool
-_080E106C:
- adds r0, r4, 0
- bl BuyMenuReturnToItemList
-_080E1072:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_ReturnToItemListAfterItemPurchase
-
- thumb_func_start Task_ReturnToItemListAfterDecorationPurchase
-@ void Task_ReturnToItemListAfterDecorationPurchase(u8 taskId)
-Task_ReturnToItemListAfterDecorationPurchase: @ 80E1078
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E1096
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuReturnToItemList
-_080E1096:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ReturnToItemListAfterDecorationPurchase
-
- thumb_func_start BuyMenuReturnToItemList
-@ void BuyMenuReturnToItemList(u8 taskId)
-BuyMenuReturnToItemList: @ 80E10A0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- movs r0, 0x5
- movs r1, 0
- bl sub_8197DF8
- ldrb r0, [r6, 0xE]
- movs r1, 0x1
- bl BuyMenuPrintCursor
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- bl BuyMenuAddScrollIndicatorArrows
- subs r5, 0x8
- adds r4, r5
- ldr r0, =Task_BuyMenu
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuReturnToItemList
-
- thumb_func_start BuyMenuPrintItemQuantityAndPrice
-@ void BuyMenuPrintItemQuantityAndPrice(u8 taskId)
-BuyMenuPrintItemQuantityAndPrice: @ 80E10EC
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0x4
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, =gShopDataPtr
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0xFF
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0x26
- movs r2, 0x1
- bl PrintMoneyAmount
- ldr r0, =gStringVar1
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x4
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl BuyMenuPrint
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BuyMenuPrintItemQuantityAndPrice
-
- thumb_func_start ExitBuyMenu
-@ void ExitBuyMenu(u8 taskId)
-ExitBuyMenu: @ 80E1168
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gFieldCallback
- ldr r0, =MapPostLoadHook_ExitBuyOrSellMenu
- str r0, [r1]
- 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, =Task_ExitBuyMenu
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ExitBuyMenu
-
- thumb_func_start Task_ExitBuyMenu
-@ void Task_ExitBuyMenu(u8 taskId)
-Task_ExitBuyMenu: @ 80E11B0
- 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 _080E11D6
- bl RemoveMoneyLabelObject
- bl BuyMenuFreeMemory
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080E11D6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ExitBuyMenu
-
- thumb_func_start ClearItemPurchases
-@ void ClearItemPurchases()
-ClearItemPurchases: @ 80E11E4
- push {lr}
- ldr r0, =gUnknown_02039F7C
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_02039F80
- movs r1, 0
- movs r2, 0xC
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearItemPurchases
-
- thumb_func_start RecordItemPurchase
-@ void RecordItemPurchase(u8 taskId)
-RecordItemPurchase: @ 80E1204
- 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 r4, r1, r0
- movs r3, 0
- ldr r5, =gUnknown_02039F80
- adds r6, r5, 0
-_080E121A:
- lsls r0, r3, 2
- adds r2, r0, r6
- ldrh r1, [r2]
- movs r7, 0xA
- ldrsh r0, [r4, r7]
- cmp r1, r0
- bne _080E1250
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- beq _080E1250
- adds r1, r0, 0
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- adds r0, r1, r0
- cmp r0, 0xFF
- ble _080E1248
- movs r0, 0xFF
- strh r0, [r2, 0x2]
- b _080E127A
- .pool
-_080E1248:
- ldrh r0, [r4, 0x2]
- adds r0, r1, r0
- strh r0, [r2, 0x2]
- b _080E127A
-_080E1250:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E121A
- ldr r2, =gUnknown_02039F7C
- ldrb r0, [r2]
- cmp r0, 0x2
- bhi _080E127A
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r4, 0xA]
- strh r1, [r0]
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_080E127A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RecordItemPurchase
-
- thumb_func_start CreatePokemartMenu
-@ void CreatePokemartMenu(u16 *itemsForSale)
-CreatePokemartMenu: @ 80E1284
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- bl ClearItemPurchases
- ldr r0, =EnableBothScriptContexts
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreatePokemartMenu
-
- thumb_func_start CreateDecorationShop1Menu
-@ void CreateDecorationShop1Menu(u16 *itemsForSale)
-CreateDecorationShop1Menu: @ 80E12A8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- ldr r0, =EnableBothScriptContexts
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateDecorationShop1Menu
-
- thumb_func_start CreateDecorationShop2Menu
-@ void CreateDecorationShop2Menu(u16 *itemsForSale)
-CreateDecorationShop2Menu: @ 80E12C8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- ldr r0, =EnableBothScriptContexts
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateDecorationShop2Menu
-
- thumb_func_start sub_80E12E8
-sub_80E12E8: @ 80E12E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r4, [r1, 0xA]
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080E13AC
- movs r2, 0
- lsls r5, 16
- str r5, [sp, 0xC]
- lsls r0, r3, 16
- lsls r1, r4, 16
- asrs r0, 16
- str r0, [sp]
- asrs r1, 16
- str r1, [sp, 0x4]
- lsls r0, r1, 1
- mov r1, r9
- adds r7, r0, r1
-_080E133C:
- movs r4, 0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- ldr r2, [sp]
- adds r6, r2, r0
-_080E1348:
- ldr r0, [sp, 0xC]
- asrs r1, r0, 16
- lsls r4, 16
- asrs r0, r4, 16
- adds r5, r1, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _080E1390
- ldr r0, [sp, 0x4]
- cmp r0, 0x2
- beq _080E1380
- ldrh r0, [r7, 0x2]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- b _080E1390
- .pool
-_080E1380:
- mov r1, r9
- ldrh r0, [r1]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
-_080E1390:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r4, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E1348
- adds r0, r2, 0
- add r0, r8
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E133C
- b _080E1434
-_080E13AC:
- movs r2, 0
- lsls r5, 16
- str r5, [sp, 0xC]
- lsls r0, r3, 16
- lsls r1, r4, 16
- asrs r0, 16
- str r0, [sp, 0x8]
- asrs r7, r1, 16
-_080E13BC:
- movs r4, 0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- ldr r1, [sp, 0x8]
- adds r6, r1, r0
-_080E13C8:
- ldr r2, [sp, 0xC]
- asrs r1, r2, 16
- lsls r4, 16
- asrs r0, r4, 16
- adds r5, r1, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x2
- subs r1, r7
- lsls r1, 1
- add r1, r9
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _080E141A
- cmp r7, 0x2
- beq _080E140A
- movs r0, 0x1
- subs r0, r7
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- b _080E141A
-_080E140A:
- mov r1, r9
- ldrh r0, [r1, 0x4]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
-_080E141A:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r4, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E13C8
- adds r0, r2, 0
- add r0, r8
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E13BC
-_080E1434:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E12E8
-
- thumb_func_start sub_80E1444
-sub_80E1444: @ 80E1444
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0x1
- strh r0, [r4, 0x6]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bhi _080E14DE
- lsls r0, 2
- ldr r1, =_080E1474
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E1474:
- .4byte _080E1490
- .4byte _080E1498
- .4byte _080E14A0
- .4byte _080E14A8
- .4byte _080E14B0
- .4byte _080E14C4
- .4byte _080E14D4
-_080E1490:
- ldr r1, =gUnknown_08589ABA
- b _080E14C6
- .pool
-_080E1498:
- ldr r1, =gUnknown_08589AC0
- b _080E14C6
- .pool
-_080E14A0:
- ldr r1, =gUnknown_08589AC6
- b _080E14B2
- .pool
-_080E14A8:
- ldr r1, =gUnknown_08589ACC
- b _080E14C6
- .pool
-_080E14B0:
- ldr r1, =gUnknown_08589AD2
-_080E14B2:
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r3, 0
- bl sub_80E12E8
- b _080E14DE
- .pool
-_080E14C4:
- ldr r1, =gUnknown_08589AD8
-_080E14C6:
- adds r0, r3, 0
- movs r2, 0
- bl sub_80E12E8
- b _080E14DE
- .pool
-_080E14D4:
- ldr r1, =gUnknown_08589ADE
- adds r0, r3, 0
- movs r2, 0
- bl sub_80E12E8
-_080E14DE:
- ldrh r0, [r4]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r4]
- adds r5, r0, 0
- cmp r5, 0
- bne _080E1502
- bl DrawWholeMapView
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- strh r0, [r4, 0x2]
- strh r5, [r4, 0x6]
-_080E1502:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E1444
-
- thumb_func_start sub_80E150C
-sub_80E150C: @ 80E150C
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r6, =sub_80E1444
- adds r0, r6, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- adds r0, r7, 0
- adds r0, 0x8
- adds r1, r7, 0
- adds r1, 0xA
- bl PlayerGetDestCoords
- movs r0, 0
- strh r0, [r7]
- strh r0, [r7, 0x2]
- strh r5, [r7, 0x4]
- adds r0, r4, 0
- bl _call_via_r6
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E150C
-
- thumb_func_start sub_80E1558
-sub_80E1558: @ 80E1558
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80E150C
- ldr r1, =gUnknown_02039F8C
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E1558
-
- thumb_func_start sub_80E1570
-sub_80E1570: @ 80E1570
- push {lr}
- ldr r0, =gUnknown_02039F8C
- ldrb r0, [r0]
- bl DestroyTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E1570
-
- thumb_func_start sub_80E1584
-sub_80E1584: @ 80E1584
- push {lr}
- ldr r2, =gTasks
- ldr r0, =gUnknown_02039F8C
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080E15B0
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- bne _080E15B0
- movs r0, 0
- b _080E15B2
- .pool
-_080E15B0:
- movs r0, 0x1
-_080E15B2:
- pop {r1}
- bx r1
- thumb_func_end sub_80E1584
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index f81d8c6b2..341aa0869 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -3349,7 +3349,7 @@ sub_8078EF8: @ 8078EF8
sub_8078F50: @ 8078F50
push {lr}
sub sp, 0x4
- bl Menu_ProcessInputNoWrapAround
+ bl Menu_ProcessInputNoWrap
lsls r0, 24
asrs r0, 24
movs r1, 0x1
@@ -3695,7 +3695,7 @@ _0807920E:
thumb_func_start sub_8079218
sub_8079218: @ 8079218
push {lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3797,7 +3797,7 @@ _080792D8:
thumb_func_start sub_80792E4
sub_80792E4: @ 80792E4
push {lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index e04dedd9e..d294a2fae 100644
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -900,7 +900,7 @@ sub_8166D44: @ 8166D44
thumb_func_start sub_8166DE4
sub_8166DE4: @ 8166DE4
push {r4,lr}
- bl Menu_ProcessInputNoWrap_
+ bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
lsrs r4, r0, 24
asrs r1, r0, 24
diff --git a/asm/water.s b/asm/water.s
new file mode 100644
index 000000000..6965d6371
--- /dev/null
+++ b/asm/water.s
@@ -0,0 +1,3607 @@
+ .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, =sub_80A67D8
+ 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, =move_anim_8074EE0
+ 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 sub_80A82E4
+ 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 sub_80A7270
+ 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 sub_80A7E6C
+ 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 sub_80A7344
+ 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 sub_80A82E4
+ 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 sub_80A82E4
+ 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 sub_80A82E4
+ 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/common_syms/apprentice.txt b/common_syms/apprentice.txt
new file mode 100644
index 000000000..e35133ecc
--- /dev/null
+++ b/common_syms/apprentice.txt
@@ -0,0 +1,3 @@
+gUnknown_030062EC
+gUnknown_030062F0
+gUnknown_030062F4
diff --git a/common_syms/battle_factory_screen.txt b/common_syms/battle_factory_screen.txt
new file mode 100644
index 000000000..9f6868139
--- /dev/null
+++ b/common_syms/battle_factory_screen.txt
@@ -0,0 +1 @@
+gUnknown_030062E8
diff --git a/common_syms/battle_tower.txt b/common_syms/battle_tower.txt
new file mode 100644
index 000000000..dd198e229
--- /dev/null
+++ b/common_syms/battle_tower.txt
@@ -0,0 +1 @@
+gUnknown_03006298
diff --git a/common_syms/berry_blender.txt b/common_syms/berry_blender.txt
new file mode 100644
index 000000000..1b15a33d6
--- /dev/null
+++ b/common_syms/berry_blender.txt
@@ -0,0 +1 @@
+gInGameOpponentsNo
diff --git a/common_syms/field_camera.txt b/common_syms/field_camera.txt
index 615026aee..02301ce23 100644
--- a/common_syms/field_camera.txt
+++ b/common_syms/field_camera.txt
@@ -1,3 +1,3 @@
-gUnknown_03005DD0
-gUnknown_03005DE8
-gUnknown_03005DEC
+gFieldCamera
+gTotalCameraPixelOffsetY
+gTotalCameraPixelOffsetX
diff --git a/common_syms/overworld.txt b/common_syms/overworld.txt
index a3b97a759..b92da84ec 100644
--- a/common_syms/overworld.txt
+++ b/common_syms/overworld.txt
@@ -1,3 +1,6 @@
+gBGTilemapBuffers1
+gBGTilemapBuffers2
+gBGTilemapBuffers3
gUnknown_03005DA8
gFieldCallback
gFieldCallback2
diff --git a/common_syms/pokedex.txt b/common_syms/pokedex.txt
new file mode 100644
index 000000000..c982c9d3a
--- /dev/null
+++ b/common_syms/pokedex.txt
@@ -0,0 +1,2 @@
+gUnknown_030060B0
+gUnknown_030060B4
diff --git a/common_syms/start_menu.txt b/common_syms/start_menu.txt
new file mode 100644
index 000000000..05beaf57c
--- /dev/null
+++ b/common_syms/start_menu.txt
@@ -0,0 +1 @@
+gMenuCallback
diff --git a/common_syms/text.txt b/common_syms/text.txt
index b34571495..4406c8bf9 100644
--- a/common_syms/text.txt
+++ b/common_syms/text.txt
@@ -1,8 +1,4 @@
gFonts
gUnknown_03002F84
gUnknown_03002F90
-gUnknown_03002FB0
-gUnknown_03002FD0
-gUnknown_03002FF0
-gGlyphDimensions
gTextFlags
diff --git a/data/battle_anim_80A9C70.s b/data/battle_anim_80A9C70.s
index 892984c64..f82a657b9 100644
--- a/data/battle_anim_80A9C70.s
+++ b/data/battle_anim_80A9C70.s
@@ -1,3 +1,4 @@
+#include "constants/battle_anim.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
@@ -13,8 +14,8 @@ gUnknown_0853EDF8:: @ 853EDF8
.align 2
gUnknown_0853EDFC:: @ 853EDFC
- spr_template 0x2714, 0x2714, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
- spr_template 0x2714, 0x2714, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8A6C
+ spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
+ spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8A6C
.align 2
gUnknown_0853EE2C:: @ 853EE2C
@@ -26,11 +27,11 @@ gUnknown_0853EE34:: @ 853EE34
.align 2
gUnknown_0853EE38:: @ 853EE38
- spr_template 0x282b, 0x282b, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8E30
+ spr_template ANIM_TAG_WEATHER_BALL, ANIM_TAG_WEATHER_BALL, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8E30
.align 2
gUnknown_0853EE50:: @ 853EE50
- spr_template 0x282b, 0x282b, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4
+ spr_template ANIM_TAG_WEATHER_BALL, ANIM_TAG_WEATHER_BALL, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4
.align 2
gUnknown_0853EE68:: @ 853EE68
@@ -42,8 +43,8 @@ gUnknown_0853EE80:: @ 853EE80
.align 2
gUnknown_0853EE84:: @ 853EE84
- spr_template 0x2757, 0x2757, gUnknown_08524914, gUnknown_0853EE80, NULL, gDummySpriteAffineAnimTable, sub_80A8B64
- spr_template 0x2743, 0x2743, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
+ spr_template ANIM_TAG_SPARKLE_4, ANIM_TAG_SPARKLE_4, gUnknown_08524914, gUnknown_0853EE80, NULL, gDummySpriteAffineAnimTable, sub_80A8B64
+ spr_template ANIM_TAG_UNUSED_MONSTER_FOOT, ANIM_TAG_UNUSED_MONSTER_FOOT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
.align 2
gUnknown_0853EEB4:: @ 853EEB4
@@ -65,7 +66,7 @@ gUnknown_0853EECC:: @ 853EECC
.align 2
gUnknown_0853EED8:: @ 853EED8
- spr_template 0x2797, 0x2797, gUnknown_08524914, gUnknown_0853EECC, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
+ spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524914, gUnknown_0853EECC, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
.align 2
gUnknown_0853EEF0:: @ 853EEF0
@@ -85,4 +86,4 @@ gUnknown_0853EF14:: @ 853EF14
.align 2
gUnknown_0853EF18:: @ 853EF18
- spr_template 0x2714, 0x2714, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C
+ spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C
diff --git a/data/battle_anim_80FE840.s b/data/battle_anim_80FE840.s
deleted file mode 100644
index 856f379d9..000000000
--- a/data/battle_anim_80FE840.s
+++ /dev/null
@@ -1,3883 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_085920F0:: @ 85920F0
- .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0004, 0x0005, 0x0006, 0x0005
- .2byte 0x0008, 0x0005, 0x000a, 0x0005, 0x000c, 0x0005, 0x000e, 0x0005
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_08592114:: @ 8592114
- .4byte gUnknown_085920F0
-
- .align 2
-gSleepPowderParticleSpriteTemplate:: @ 8592118
- spr_template 0x2753, 0x2753, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840
-
- .align 2
-gStunSporeParticleSpriteTemplate:: @ 8592130
- spr_template 0x2754, 0x2754, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840
-
- .align 2
-gPoisonPowderParticleSpriteTemplate:: @ 8592148
- spr_template 0x2751, 0x2751, gUnknown_08524944, gUnknown_08592114, NULL, gDummySpriteAffineAnimTable, sub_80FE840
-
- .align 2
-gUnknown_08592160:: @ 8592160
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592168:: @ 8592168
- .2byte 0x0001, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592170:: @ 8592170
- .2byte 0x0002, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592178:: @ 8592178
- .2byte 0x0003, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592180:: @ 8592180
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592188:: @ 8592188
- .2byte 0x0005, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592190:: @ 8592190
- .2byte 0x0006, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592198:: @ 8592198
- .2byte 0x0007, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085921A0:: @ 85921A0
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085921A8:: @ 85921A8
- .4byte gUnknown_08592160
- .4byte gUnknown_08592168
- .4byte gUnknown_08592170
- .4byte gUnknown_08592178
- .4byte gUnknown_08592180
- .4byte gUnknown_08592188
- .4byte gUnknown_08592190
-
- .align 2
-gUnknown_085921C4:: @ 85921C4
- .4byte gUnknown_08592198
-
- .align 2
-gUnknown_085921C8:: @ 85921C8
- .4byte gUnknown_085921A0
-
- .align 2
-gUnknown_085921CC:: @ 85921CC
- .2byte 0xfffb, 0xfffb, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085921DC:: @ 85921DC
- .4byte gUnknown_085921CC
-
- .align 2
-gUnknown_085921E0:: @ 859216E0
- spr_template 0x27a3, 0x27a3, gUnknown_08524A8C, gUnknown_085921C8, NULL, gUnknown_085921DC, sub_80FE8E0
-
- .align 2
-gUnknown_085921F8:: @ 859216F8
- spr_template 0x27a3, 0x27a3, gUnknown_08524904, gUnknown_085921A8, NULL, gDummySpriteAffineAnimTable, sub_80FE930
-
- .align 2
-gUnknown_08592210:: @ 8592210
- spr_template 0x27a3, 0x27a3, gUnknown_08524904, gUnknown_085921C4, NULL, gDummySpriteAffineAnimTable, sub_80FE988
-
- .align 2
-gUnknown_08592228:: @ 8592228
- .2byte 0x0140, 0x0140, 0x0000, 0x0000, 0xfff2, 0xfff2, 0x0100, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592240:: @ 8592240
- .4byte gUnknown_08592228
-
- .align 2
-gUnknown_08592244:: @ 85922144
- spr_template 0x27fb, 0x27fb, gUnknown_085249C4, gDummySpriteAnimTable, NULL, gUnknown_08592240, sub_80FE8E0
-
- .align 2
-gUnknown_0859225C:: @ 859225C
- .2byte 0xfffb, 0xfffb, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859226C:: @ 859226C
- .4byte gUnknown_0859225C
-
- .align 2
-gUnknown_08592270:: @ 8592270
- spr_template 0x27a3, 0x27a3, gUnknown_08524A8C, gUnknown_085921C8, NULL, gUnknown_0859226C, sub_80FEAD8
-
- .align 2
-gUnknown_08592288:: @ 8592288
- spr_template 0x27a3, 0x27a3, gUnknown_08524904, gUnknown_085921A8, NULL, gDummySpriteAffineAnimTable, sub_80FEB44
-
- .align 2
-gUnknown_085922A0:: @ 85922A0
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085922A8:: @ 85922A8
- .2byte 0x0004, 0x0007, 0x0008, 0x0007, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085922B4:: @ 85922B4
- .4byte gUnknown_085922A0
- .4byte gUnknown_085922A8
-
- .align 2
-gLeechSeedSpriteTemplate:: @ 85922BC
- spr_template 0x2716, 0x2716, gUnknown_0852490C, gUnknown_085922B4, NULL, gDummySpriteAffineAnimTable, sub_80FEC48
-
- .align 2
-gUnknown_085922D4:: @ 85922D4
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085922DC:: @ 85922DC
- .2byte 0x0004, 0x0007, 0xffff, 0x0000
-
- .align 2
-gUnknown_085922E4:: @ 85922E4
- .4byte gUnknown_085922D4
- .4byte gUnknown_085922DC
-
- .align 2
-gUnknown_085922EC:: @ 85922EC
- spr_template 0x27ae, 0x27ae, gUnknown_0852490C, gUnknown_085922E4, NULL, gDummySpriteAffineAnimTable, sub_80FED28
-
- .align 2
-gUnknown_08592304:: @ 8592304
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859230C:: @ 859230C
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592314:: @ 8592314
- .4byte gUnknown_08592304
-
- .align 2
-gUnknown_08592318:: @ 8592318
- .4byte gUnknown_0859230C
-
- .align 2
-gUnknown_0859231C:: @ 859231C
- spr_template 0x27af, 0x27af, gUnknown_0852490C, gUnknown_08592314, NULL, gDummySpriteAffineAnimTable, sub_80FEE78
-
- .align 2
-gUnknown_08592334:: @ 8592334
- spr_template 0x27af, 0x27af, gUnknown_08524904, gUnknown_08592318, NULL, gDummySpriteAffineAnimTable, sub_80FEF44
-
- .align 2
-gUnknown_0859234C:: @ 859234C
- .2byte 0x0000, 0x0005, 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005
- .2byte 0x0010, 0x0005, 0x0014, 0x0005, 0x0010, 0x0005, 0x000c, 0x0005
- .2byte 0x0008, 0x0005, 0x0004, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08592378:: @ 8592378
- .2byte 0x0018, 0x0005, 0x001c, 0x0005, 0x0020, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592388:: @ 8592388
- .4byte gUnknown_0859234C
- .4byte gUnknown_08592378
-
- .align 2
-gUnknown_08592390:: @ 8592390
- spr_template 0x274f, 0x274f, gUnknown_0852490C, gUnknown_08592388, NULL, gDummySpriteAffineAnimTable, sub_80FEFFC
-
- .align 2
-gUnknown_085923A8:: @ 85923A8
- spr_template 0x274f, 0x274f, gUnknown_0852490C, gUnknown_08592388, NULL, gDummySpriteAffineAnimTable, sub_80FF268
-
- .align 2
-gUnknown_085923C0:: @ 85923C0
- .2byte 0x0000, 0x0003, 0x0000, 0x0043, 0x0000, 0x00c3, 0x0000, 0x0083, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085923D4:: @ 85923D4
- .4byte gUnknown_085923C0
-
- .align 2
-gUnknown_085923D8:: @ 85923D8
- spr_template 0x27b0, 0x27b0, gUnknown_08524934, gUnknown_085923D4, NULL, gDummySpriteAffineAnimTable, sub_80FF0F4
-
- .align 2
-gUnknown_085923F0:: @ 85923F0
- .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592400:: @ 8592400
- .4byte gUnknown_085923F0
-
- .align 2
-gSwiftStarSpriteTemplate:: @ 8592404
- spr_template 0x27be, 0x27be, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08592400, sub_80FF0F4
-
- .align 2
-gUnknown_0859241C:: @ 859241C
- .2byte 0x0000, 0x0004, 0x0020, 0x0004, 0x0040, 0x0004, 0x0060, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592430:: @ 8592430
- .2byte 0x0000, 0x0044, 0x0020, 0x0044, 0x0040, 0x0044, 0x0060, 0x0044, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592444:: @ 8592444
- .4byte gUnknown_0859241C
- .4byte gUnknown_08592430
-
- .align 2
-gUnknown_0859244C:: @ 859244C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff5, 0x0000, 0x0600, 0x0000, 0x000b, 0x0000, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859246C:: @ 859246C
- .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x000b, 0x0000, 0x0600, 0x0000, 0xfff5, 0x0000, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859248C:: @ 859248C
- .4byte gUnknown_0859244C
- .4byte gUnknown_0859246C
-
- .align 2
-gUnknown_08592494:: @ 8592494
- spr_template 0x27ca, 0x27ca, gUnknown_0852499C, gUnknown_08592444, NULL, gUnknown_0859248C, sub_80FF374
-
- .align 2
-gUnknown_085924AC:: @ 85924AC
- .2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x0030, 0x0e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085924C4:: @ 85924C4
- .2byte 0xfff0, 0xfff0, 0x0100, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085924D4:: @ 85924D4
- .4byte gUnknown_085924AC
- .4byte gUnknown_085924C4
-
- .align 2
-gUnknown_085924DC:: @ 85924DC
- spr_template 0x27a3, 0x27a3, gUnknown_085249CC, gUnknown_085921C8, NULL, gUnknown_085924D4, sub_80FF698
-
- .align 2
-gUnknown_085924F4:: @ 85924F4
- .2byte 0x0000, 0x0007, 0x0010, 0x0007, 0x0020, 0x0007, 0x0030, 0x0007, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592508:: @ 8592508
- .2byte 0x0000, 0x0047, 0x0010, 0x0047, 0x0020, 0x0047, 0x0030, 0x0047, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859251C:: @ 859251C
- .2byte 0x0000, 0x0007, 0x0010, 0x0007, 0x0020, 0x0007, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859252C:: @ 859252C
- .2byte 0x0000, 0x0047, 0x0010, 0x0047, 0x0020, 0x0047, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859253C:: @ 859253C
- .4byte gUnknown_085924F4
- .4byte gUnknown_08592508
- .4byte gUnknown_0859251C
- .4byte gUnknown_0859252C
-
- .align 2
-gUnknown_0859254C:: @ 859254C
- spr_template 0x27ef, 0x27ef, gUnknown_08524914, gUnknown_0859253C, NULL, gDummySpriteAffineAnimTable, sub_80FF768
-
- .align 2
-gUnknown_08592564:: @ 8592564
- spr_template 0x27ef, 0x27ef, gUnknown_08524914, gUnknown_0859253C, NULL, gDummySpriteAffineAnimTable, sub_80FF7EC
-
- .align 2
-gUnknown_0859257C:: @ 859257C
- .2byte 0x0003, 0x0003, 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08592588:: @ 8592588
- .4byte gUnknown_0859257C
-
- .align 2
-gUnknown_0859258C:: @ 859258C
- spr_template 0x27a3, 0x27a3, gUnknown_08524904, gUnknown_08592588, NULL, gDummySpriteAffineAnimTable, sub_80FF934
-
- .align 2
-gUnknown_085925A4:: @ 85925A4
- .2byte 0x0000, 0x001e, 0xffff, 0x0000
-
- .align 2
-gUnknown_085925AC:: @ 85925AC
- .4byte gUnknown_085925A4
-
- .align 2
-gUnknown_085925B0:: @ 85925B0
- .2byte 0x0000, 0x0000, 0x0afc, 0x0000, 0x0000, 0x0000, 0x1404, 0x0000
- .2byte 0x0000, 0x0000, 0x0afc, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085925D0:: @ 85925D0
- .2byte 0x0000, 0x0000, 0x02ff, 0x0000, 0x0000, 0x0000, 0x0401, 0x0000
- .2byte 0x0000, 0x0000, 0x04ff, 0x0000, 0x0000, 0x0000, 0x0401, 0x0000
- .2byte 0x0000, 0x0000, 0x04ff, 0x0000, 0x0000, 0x0000, 0x0201, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592608:: @ 8592608
- .4byte gUnknown_085925B0
- .4byte gUnknown_085925D0
-
- .align 2
-gUnknown_08592610:: @ 8592610
- spr_template 0x27f0, 0x27f0, gUnknown_08524974, gUnknown_085925AC, NULL, gUnknown_08592608, sub_80FFB18
-
- .align 2
-gBattleAnimSpriteTemplate_8592628:: @ 8592628
- spr_template 0x27f0, 0x27f0, gUnknown_08524974, gUnknown_085925AC, NULL, gUnknown_08592608, sub_80FFBF4
-
- .align 2
-gUnknown_08592640:: @ 8592640
- .2byte 0x0000, 0x0004, 0x0004, 0x0004, 0x0008, 0x0004, 0x000c, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592654:: @ 8592654
- .4byte gUnknown_08592640
-
- .align 2
-gUnknown_08592658:: @ 8592658
- spr_template 0x27d3, 0x27d3, gUnknown_0852490C, gUnknown_08592654, NULL, gDummySpriteAffineAnimTable, sub_80FFC70
-
- .align 2
-gUnknown_08592670:: @ 8592670
- spr_template 0x27f0, 0x27f0, gUnknown_08524974, gUnknown_085925AC, NULL, gUnknown_08592608, sub_80FFCB4
-
- .align 2
-gUnknown_08592688:: @ 8592688
- .2byte 0x0000, 0x0000, 0x0300, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592698:: @ 8592698
- .2byte 0x0000, 0xfff6, 0x0300, 0x0000, 0x0000, 0xfffa, 0x0300, 0x0000
- .2byte 0x0000, 0xfffe, 0x0300, 0x0000, 0x0000, 0x0000, 0x0300, 0x0000
- .2byte 0x0000, 0x0002, 0x0300, 0x0000, 0x0000, 0x0006, 0x0300, 0x0000
- .2byte 0x0000, 0x000a, 0x0300, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085926D8:: @ 85926D8
- .4byte gUnknown_08592688
- .4byte gUnknown_08592698
- .4byte gUnknown_085925B0
- .4byte gUnknown_085925D0
-
- .align 2
-gUnknown_085926E8:: @ 85926E8
- spr_template 0x27f0, 0x27f0, gUnknown_08524974, gUnknown_085925AC, NULL, gUnknown_085926D8, sub_80FFDBC
-
- .align 2
-gUnknown_08592700:: @ 8592700
- .2byte 0x1805, 0x0001, 0x0004, 0x1008, 0x00ff, 0x0002, 0x1008, 0x0001
- .2byte 0x0002, 0x1008, 0x0001, 0x0002, 0x1008, 0x0001, 0x0010, 0x0000
- .2byte 0x007f, 0x0000
-
- .align 2
-gUnknown_08592724:: @ 8592724
- .2byte 0x001c, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859272C:: @ 859272C
- .2byte 0x0020, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592734:: @ 8592734
- .2byte 0x0014, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859273C:: @ 859273C
- .2byte 0x001c, 0x0041, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592744:: @ 8592744
- .2byte 0x0010, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859274C:: @ 859274C
- .2byte 0x0010, 0x0041, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592754:: @ 8592754
- .2byte 0x001c, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859275C:: @ 859275C
- .4byte gUnknown_08592724
- .4byte gUnknown_0859272C
- .4byte gUnknown_08592734
- .4byte gUnknown_0859273C
- .4byte gUnknown_08592744
- .4byte gUnknown_0859274C
- .4byte gUnknown_08592754
-
- .align 2
-gUnknown_08592778:: @ 8592778
- spr_template 0x274f, 0x274f, gUnknown_0852490C, gUnknown_0859275C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_08592790:: @ 8592790
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0104, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_085927A8:: @ 85927A8
- .4byte gUnknown_08592790
-
- .align 2
-gUnknown_085927AC:: @ 85927AC
- spr_template 0x27af, 0x27af, gUnknown_08524904, gUnknown_08592318, NULL, gDummySpriteAffineAnimTable, sub_8100640
-
- .align 2
-gUnknown_085927C4:: @ 85927C4
- spr_template 0x27af, 0x27af, gUnknown_0852496C, gUnknown_08592314, NULL, gUnknown_085927A8, sub_8100640
-
- .align 2
-gUnknown_085927DC:: @ 85927DC
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x01f6, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_085927F4:: @ 85927F4
- .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x01f4, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859280C:: @ 859280C
- .2byte 0x008f, 0x008f, 0x0000, 0x0000, 0x0000, 0x0000, 0x01f1, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592824:: @ 8592824
- .4byte gUnknown_085927DC
-
- .align 2
-gUnknown_08592828:: @ 8592828
- .4byte gUnknown_085927F4
-
- .align 2
-gUnknown_0859282C:: @ 859282C
- .4byte gUnknown_0859280C
-
- .align 2
-gUnknown_08592830:: @ 8592830
- spr_template 0x281f, 0x281f, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08592824, sub_8100640
-
- .align 2
-gUnknown_08592848:: @ 8592848
- spr_template 0x281f, 0x281f, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08592828, sub_8100640
-
- .align 2
-gUnknown_08592860:: @ 8592860
- spr_template 0x281f, 0x281f, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_0859282C, sub_8100640
-
- .align 2
-gUnknown_08592878:: @ 8592878
- .2byte 0x001f, 0x027f, 0x03ff, 0x03e0, 0x7dc5, 0x7d56, 0x7eb6, 0x0000
-
- .align 2
-gUnknown_08592888:: @ 8592888
- spr_template 0x281a, 0x281a, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8100898
-
- .align 2
-gUnknown_085928A0:: @ 85928A0
- .2byte 0x0040, 0x0003, 0x0050, 0x0003, 0x0060, 0x0003, 0x0070, 0x0006, 0xffff, 0x0000
-
- .align 2
-gUnknown_085928B4:: @ 85928B4
- .2byte 0x0040, 0x0043, 0x0050, 0x0043, 0x0060, 0x0043, 0x0070, 0x0046, 0xffff, 0x0000
-
- .align 2
-gUnknown_085928C8:: @ 85928C8
- .4byte gUnknown_085928A0
- .4byte gUnknown_085928B4
-
- .align 2
-gUnknown_085928D0:: @ 85928D0
- spr_template 0x2748, 0x2748, gUnknown_08524914, gUnknown_085928C8, NULL, gDummySpriteAffineAnimTable, sub_8100A50
-
- .align 2
-gUnknown_085928E8:: @ 85928E8
- spr_template 0x282f, 0x282f, gUnknown_08524914, gUnknown_085928C8, NULL, gDummySpriteAffineAnimTable, sub_8100A50
-
- .align 2
-gUnknown_08592900:: @ 8592900
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0x0040, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592918:: @ 8592918
- .4byte gUnknown_08592900
-
- .align 2
-gUnknown_0859291C:: @ 859291C
- spr_template 0x2725, 0x2725, gUnknown_08524914, gUnknown_08592918, NULL, gDummySpriteAffineAnimTable, sub_81009F8
-
- .align 2
-gUnknown_08592934:: @ 8592934
- spr_template 0x2726, 0x2726, gUnknown_08524914, gUnknown_08592918, NULL, gDummySpriteAffineAnimTable, sub_81009F8
-
- .align 2
-gUnknown_0859294C:: @ 859294C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859295C:: @ 859295C
- .2byte 0x0100, 0x0100, 0x0020, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859296C:: @ 859296C
- .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859297C:: @ 859297C
- .2byte 0x0100, 0x0100, 0x0060, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859298C:: @ 859298C
- .2byte 0x0100, 0x0100, 0x0080, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859299C:: @ 859299C
- .2byte 0x0100, 0x0100, 0x00a0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085929AC:: @ 85929AC
- .2byte 0x0100, 0x0100, 0x00c0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085929BC:: @ 85929BC
- .2byte 0x0100, 0x0100, 0x00e0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085929CC:: @ 85929CC
- .4byte gUnknown_0859294C
- .4byte gUnknown_0859295C
- .4byte gUnknown_0859296C
- .4byte gUnknown_0859297C
- .4byte gUnknown_0859298C
- .4byte gUnknown_0859299C
- .4byte gUnknown_085929AC
- .4byte gUnknown_085929BC
-
- .align 2
-gUnknown_085929EC:: @ 85929EC
- spr_template 0x279f, 0x279f, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085929CC, sub_8100A94
-
- .align 2
-gUnknown_08592A04:: @ 8592A04
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A18:: @ 8592A18
- .4byte gUnknown_08592A04
-
- .align 2
-gCuttingSliceSpriteTemplate:: @ 8592A1C
- spr_template 0x279a, 0x279a, gUnknown_08524A34, gUnknown_08592A18, NULL, gDummySpriteAffineAnimTable, sub_8100AE0
-
- .align 2
-gUnknown_08592A34:: @ 8592A34
- spr_template 0x279a, 0x279a, gUnknown_08524A34, gUnknown_08592A18, NULL, gDummySpriteAffineAnimTable, sub_8100B88
-
- .align 2
-gUnknown_08592A4C:: @ 8592A4C
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A54:: @ 8592A54
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A5C:: @ 8592A5C
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A64:: @ 8592A64
- .2byte 0x000c, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A6C:: @ 8592A6C
- .2byte 0x0010, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A74:: @ 8592A74
- .2byte 0x0014, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A7C:: @ 8592A7C
- .2byte 0x0000, 0x0081, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A84:: @ 8592A84
- .2byte 0x0004, 0x0081, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A8C:: @ 8592A8C
- .2byte 0x0008, 0x0081, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A94:: @ 8592A94
- .2byte 0x000c, 0x0081, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592A9C:: @ 8592A9C
- .4byte gUnknown_08592A4C
- .4byte gUnknown_08592A54
- .4byte gUnknown_08592A5C
- .4byte gUnknown_08592A64
- .4byte gUnknown_08592A6C
- .4byte gUnknown_08592A74
- .4byte gUnknown_08592A7C
- .4byte gUnknown_08592A84
- .4byte gUnknown_08592A8C
- .4byte gUnknown_08592A94
-
- .align 2
-gUnknown_08592AC4:: @ 8592AC4
- spr_template 0x2758, 0x2758, gUnknown_0852490C, gUnknown_08592A9C, NULL, gDummySpriteAffineAnimTable, sub_8100E1C
-
- .align 2
-gUnknown_08592ADC:: @ 8592ADC
- spr_template 0x2828, 0x2828, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8100EF0
-
- .align 2
-gUnknown_08592AF4:: @ 8592AF4
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592B04:: @ 8592B04
- .2byte 0x0000, 0x0000, 0x0c02, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000
- .2byte 0x0000, 0x0000, 0x18fe, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000
- .2byte 0x0000, 0x0000, 0x0c02, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592B34:: @ 8592B34
- .4byte gUnknown_08592AF4
- .4byte gUnknown_08592B04
-
- .align 2
-gUnknown_08592B3C:: @ 8592B3C
- spr_template 0x2773, 0x2773, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08592B34, sub_81010CC
-
- .align 2
-gUnknown_08592B54:: @ 8592B54
- .2byte 0x0000, 0x0007, 0x0010, 0x0007, 0x0020, 0x0007, 0x0030, 0x0007
- .2byte 0x0040, 0x0007, 0x0050, 0x0007, 0x0060, 0x0007, 0x0070, 0x0007
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_08592B78:: @ 8592B78
- .4byte gUnknown_08592B54
-
- .align 2
-gUnknown_08592B7C:: @ 8592B7C
- spr_template 0x2741, 0x2741, gUnknown_08524914, gUnknown_08592B78, NULL, gDummySpriteAffineAnimTable, sub_810130C
-
- .align 2
-gUnknown_08592B94:: @ 8592B94
- spr_template 0x2741, 0x2741, gUnknown_08524914, gUnknown_08592B78, NULL, gDummySpriteAffineAnimTable, sub_810135C
-
- .align 2
-gUnknown_08592BAC:: @ 8592BAC
- .2byte 0x0000, 0x000a, 0x0004, 0x000a, 0x0008, 0x000a, 0x000c, 0x000a
- .2byte 0x0010, 0x001a, 0x0010, 0x0005, 0x0014, 0x0005, 0x0018, 0x000f
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_08592BD0:: @ 8592BD0
- .2byte 0x0000, 0x004a, 0x0004, 0x004a, 0x0008, 0x004a, 0x000c, 0x004a
- .2byte 0x0010, 0x005a, 0x0010, 0x0045, 0x0014, 0x0045, 0x0018, 0x004f
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_08592BF4:: @ 8592BF4
- .4byte gUnknown_08592BAC
- .4byte gUnknown_08592BD0
-
- .align 2
-gUnknown_08592BFC:: @ 8592BFC
- spr_template 0x2730, 0x2730, gUnknown_0852490C, gUnknown_08592BF4, NULL, gDummySpriteAffineAnimTable, sub_8101440
-
- .align 2
-gUnknown_08592C14:: @ 8592C14
- .2byte 0x0000, 0x0028, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592C1C:: @ 8592C1C
- .4byte gUnknown_08592C14
-
- .align 2
-gUnknown_08592C20:: @ 8592C20
- .2byte 0x0014, 0x0014, 0x00e2, 0x0000, 0x0008, 0x0008, 0x1801, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000, 0x7ffd, 0x0000, 0x0000, 0x0000
- .2byte 0x0000, 0x0000, 0x1801, 0x0000, 0x7ffd, 0x000a, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592C50:: @ 8592C50
- .2byte 0x0014, 0x0014, 0x001e, 0x0000, 0x0008, 0x0008, 0x18ff, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000, 0x7ffd, 0x0000, 0x0000, 0x0000
- .2byte 0x0000, 0x0000, 0x18ff, 0x0000, 0x7ffd, 0x000a, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592C80:: @ 8592C80
- .4byte gUnknown_08592C20
- .4byte gUnknown_08592C50
-
- .align 2
-gUnknown_08592C88:: @ 8592C88
- spr_template 0x27f4, 0x27f4, gUnknown_08524974, gUnknown_08592C1C, NULL, gUnknown_08592C80, sub_81014F4
-
- .align 2
-gUnknown_08592CA0:: @ 8592CA0
- spr_template 0x271e, 0x271e, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81015AC
-
- .align 2
-gUnknown_08592CB8:: @ 8592CB8
- spr_template 0x271e, 0x271e, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8101898
-
- .align 2
-gUnknown_08592CD0:: @ 8592CD0
- .byte 0x40, 0x40, 0x00, 0xc0, 0xc0, 0x40, 0x20, 0xe0
-
- .align 2
-gUnknown_08592CD8:: @ 8592CD8
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8101940
-
- .align 2
-gUnknown_08592CF0:: @ 8592CF0
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8101B90
-
- .align 2
-gUnknown_08592D08:: @ 8592D08
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592D1C:: @ 8592D1C
- .2byte 0x0030, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592D24:: @ 8592D24
- .4byte gUnknown_08592D08
- .4byte gUnknown_08592D1C
-
- .align 2
-gUnknown_08592D2C:: @ 8592D2C
- spr_template 0x27c7, 0x27c7, gUnknown_08524914, gUnknown_08592D24, NULL, gDummySpriteAffineAnimTable, sub_8101F40
-
- .align 2
-gUnknown_08592D44:: @ 8592D44
- spr_template 0x282e, 0x282e, gUnknown_08524914, gUnknown_08592D24, NULL, gDummySpriteAffineAnimTable, sub_8101FA8
-
- .align 2
-gUnknown_08592D5C:: @ 8592D5C
- spr_template 0x282e, 0x282e, gUnknown_08524914, gUnknown_08592D24, NULL, gDummySpriteAffineAnimTable, sub_8101FF0
-
- .align 2
-gUnknown_08592D74:: @ 8592D74
- .2byte 0x0000, 0x0004, 0x0008, 0x000c, 0x0010, 0x0004, 0x0018, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592D88:: @ 8592D88
- .4byte gUnknown_08592D74
-
- .align 2
-gUnknown_08592D8C:: @ 8592D8C
- spr_template 0x27c8, 0x27c8, gUnknown_08524954, gUnknown_08592D88, NULL, gDummySpriteAffineAnimTable, sub_81020D8
-
- .align 2
-gUnknown_08592DA4:: @ 8592DA4
- .2byte 0x0000, 0x0012, 0x0000, 0x0006, 0x0010, 0x0012, 0x0000, 0x0006
- .2byte 0x0010, 0x0006, 0x0020, 0x0012, 0x0010, 0x0006, 0x0020, 0x0006
- .2byte 0x0030, 0x0012, 0x0020, 0x0006, 0x0030, 0x0006, 0x0040, 0x0012
- .2byte 0x0030, 0x0006, 0x0040, 0x0036, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592DE0:: @ 8592DE0
- .4byte gUnknown_08592DA4
-
- .align 2
-gUnknown_08592DE4:: @ 8592DE4
- spr_template 0x27c9, 0x27c9, gUnknown_08524914, gUnknown_08592DE0, NULL, gDummySpriteAffineAnimTable, sub_810217C
-
- .align 2
-gUnknown_08592DFC:: @ 8592DFC
- spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gUnknown_08592E14:: @ 8592E14
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003
- .2byte 0x0040, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592E2C:: @ 8592E2C
- .4byte gUnknown_08592E14
-
- .align 2
-gUnknown_08592E30:: @ 8592E30
- spr_template 0x272e, 0x272e, gUnknown_08524914, gUnknown_08592E2C, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
-
- .align 2
-gUnknown_08592E48:: @ 8592E48
- .2byte 0x0003, 0x0005, 0x0002, 0x0005, 0x0001, 0x0005, 0x0000, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592E5C:: @ 8592E5C
- .4byte gUnknown_08592E48
-
- .align 2
-gUnknown_08592E60:: @ 8592E60
- .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08592E70:: @ 8592E70
- .4byte gUnknown_08592E60
-
- .align 2
-gUnknown_08592E74:: @ 8592E74
- spr_template 0x2722, 0x2722, gUnknown_08524AE4, gUnknown_08592E5C, NULL, gUnknown_08592E70, sub_8102268
-
- .align 2
-gUnknown_08592E8C:: @ 8592E8C
- .2byte 0x0000, 0x0005, 0x0001, 0x0005, 0x0002, 0x0005, 0x0003, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592EA0:: @ 8592EA0
- .4byte gUnknown_08592E8C
-
- .align 2
-gUnknown_08592EA4:: @ 8592EA4
- spr_template 0x2722, 0x2722, gUnknown_08524AE4, gUnknown_08592EA0, NULL, gUnknown_08592E70, sub_810234C
-
- .align 2
-gUnknown_08592EBC:: @ 8592EBC
- spr_template 0x27d2, 0x27d2, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81024E0
-
- .align 2
-gUnknown_08592ED4:: @ 8592ED4
- .2byte 0x0000, 0x0008, 0x0004, 0x0008, 0x0008, 0x0008, 0x000c, 0x0008, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08592EE8:: @ 8592EE8
- .4byte gUnknown_08592ED4
-
- .align 2
-gBattleAnimSpriteTemplate_8592EEC:: @ 8592EEC
- spr_template 0x27d3, 0x27d3, gUnknown_0852490C, gUnknown_08592EE8, NULL, gDummySpriteAffineAnimTable, sub_8102540
-
- .align 2
-gUnknown_08592F04:: @ 8592F04
- .2byte 0x0000, 0x0002, 0x0010, 0x0002, 0x0020, 0x0002, 0x0030, 0x0003
- .2byte 0x0040, 0x0005, 0x0050, 0x0003, 0x0060, 0x0002, 0x0000, 0x0002
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_08592F28:: @ 8592F28
- .4byte gUnknown_08592F04
-
- .align 2
-gUnknown_08592F2C:: @ 8592F2C
- spr_template 0x272f, 0x272f, gUnknown_08524914, gUnknown_08592F28, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
-
- .align 2
-gUnknown_08592F44:: @ 8592F44
- spr_template 0x2724, 0x2724, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8102844
-
- .align 2
-gUnknown_08592F5C:: @ 8592F5C
- .2byte 0x0000, 0x0002, 0x0010, 0x0002, 0x0020, 0x0002, 0x0030, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592F70:: @ 8592F70
- .4byte gUnknown_08592F5C
-
- .align 2
-gUnknown_08592F74:: @ 8592F74
- spr_template 0x27d0, 0x27d0, gUnknown_08524914, gUnknown_08592F70, NULL, gDummySpriteAffineAnimTable, sub_8102BCC
-
- .align 2
-gUnknown_08592F8C:: @ 8592F8C
- .2byte 0x0000, 0x000a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592F94:: @ 8592F94
- .2byte 0x0004, 0x000a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592F9C:: @ 8592F9C
- .2byte 0x0008, 0x0029, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592FA4:: @ 8592FA4
- .2byte 0x000c, 0x000a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592FAC:: @ 8592FAC
- .2byte 0x0010, 0x000a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592FB4:: @ 8592FB4
- .2byte 0x0014, 0x000a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592FBC:: @ 8592FBC
- .2byte 0x0000, 0x008a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592FC4:: @ 8592FC4
- .2byte 0x0004, 0x008a, 0xffff, 0x0000
-
- .align 2
-gUnknown_08592FCC:: @ 8592FCC
- .4byte gUnknown_08592F8C
- .4byte gUnknown_08592F94
- .4byte gUnknown_08592F9C
- .4byte gUnknown_08592FA4
- .4byte gUnknown_08592FAC
- .4byte gUnknown_08592FB4
- .4byte gUnknown_08592FBC
- .4byte gUnknown_08592FC4
-
- .align 2
-gUnknown_08592FEC:: @ 8592FEC
- .2byte 0x000c, 0x000c, 0x1000, 0x0000, 0xfff4, 0xfff4, 0x1000, 0x0000
- .2byte 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593004:: @ 8593004
- .4byte gUnknown_08592FEC
-
- .align 2
-gUnknown_08593008:: @ 8593008
- spr_template 0x2758, 0x2758, gUnknown_085249CC, gUnknown_08592FCC, NULL, gUnknown_08593004, sub_8102CD4
-
- .align 2
-gUnknown_08593020:: @ 8593020
- .2byte 0x2758, 0x7fff, 0x735f, 0x6adf, 0x623f, 0x59bf, 0x2771, 0x7fff
- .2byte 0x6bf9, 0x57f4, 0x43ef, 0x33ea, 0x27c9, 0x7fff, 0x63ff, 0x47ff
- .2byte 0x2bff, 0x0fff, 0x27bf, 0x7fff, 0x7f9a, 0x7f55, 0x7f10, 0x7ecc
-
- .align 2
-gUnknown_08593050:: @ 8593050
- spr_template 0x2758, 0x2758, gUnknown_085249CC, gUnknown_08592FCC, NULL, gUnknown_08593004, sub_8102EB0
-
- .align 2
-gUnknown_08593068:: @ 8593068
- spr_template 0x27d1, 0x27d1, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8102FB8
-
- .align 2
-gUnknown_08593080:: @ 8593080
- .2byte 0x00a0, 0x00a0, 0x0000, 0x0000, 0x0004, 0x0004, 0x0100, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593098:: @ 8593098
- .4byte gUnknown_08593080
-
- .align 2
-gUnknown_0859309C:: @ 859309C
- spr_template 0x2758, 0x2758, gUnknown_085249CC, gUnknown_08592FCC, NULL, gUnknown_08593098, sub_8103028
-
- .align 2
-gUnknown_085930B4:: @ 85930B4
- .2byte 0x0000, 0x0042, 0x0010, 0x0042, 0x0020, 0x0042, 0x0030, 0x0042, 0xffff, 0x0000
-
- .align 2
-gUnknown_085930C8:: @ 85930C8
- .2byte 0x0030, 0x0042, 0x0020, 0x0042, 0x0010, 0x0042, 0x0000, 0x0042, 0xffff, 0x0000
-
- .align 2
-gUnknown_085930DC:: @ 85930DC
- .2byte 0x0000, 0x0002, 0x0010, 0x0002, 0x0020, 0x0002, 0x0030, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_085930F0:: @ 85930F0
- .2byte 0x0030, 0x0002, 0x0020, 0x0002, 0x0010, 0x0002, 0x0000, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593104:: @ 8593104
- .4byte gUnknown_085930B4
- .4byte gUnknown_085930DC
- .4byte gUnknown_085930C8
- .4byte gUnknown_085930F0
-
- .align 2
-gUnknown_08593114:: @ 8593114
- spr_template 0x27e1, 0x27e1, gUnknown_08524914, gUnknown_08593104, NULL, gDummySpriteAffineAnimTable, sub_8103164
-
- .align 2
-gUnknown_0859312C:: @ 859312C
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x001e, 0x001e, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593144:: @ 8593144
- .2byte 0x0000, 0x0000, 0x0b04, 0x0000, 0x0000, 0x0000, 0x0bfc, 0x0000
- .2byte 0x7ffd, 0x0002, 0x0000, 0x0000, 0xffe2, 0xffe2, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0000, 0x0000
- .2byte 0x001e, 0x001e, 0x0800, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000
- .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b04, 0x0000
- .2byte 0x0000, 0x0000, 0x0bfc, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000
- .2byte 0xffe2, 0xffe2, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085931B4:: @ 85931B4
- .4byte gUnknown_0859312C
- .4byte gUnknown_08593144
-
- .align 2
-gUnknown_085931BC:: @ 85931BC
- spr_template 0x2750, 0x2750, gUnknown_085249D4, gDummySpriteAnimTable, NULL, gUnknown_085931B4, sub_8103208
-
- .align 2
-gUnknown_085931D4:: @ 85931D4
- spr_template 0x2750, 0x2750, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085931B4, sub_8103284
-
- .align 2
-gUnknown_085931EC:: @ 85931EC
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085931F4:: @ 85931F4
- .2byte 0x0000, 0x0041, 0xffff, 0x0000
-
- .align 2
-gUnknown_085931FC:: @ 85931FC
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0010, 0x0004
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859321C:: @ 859321C
- .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0x0010, 0x0044
- .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859323C:: @ 859323C
- .4byte gUnknown_085931EC
- .4byte gUnknown_085931F4
- .4byte gUnknown_085931FC
- .4byte gUnknown_0859321C
-
- .align 2
-gUnknown_0859324C:: @ 859324C
- spr_template 0x27e6, 0x27e6, gUnknown_08524914, gUnknown_0859323C, NULL, gDummySpriteAffineAnimTable, sub_8103390
-
- .align 2
-gUnknown_08593264:: @ 8593264
- spr_template 0x2750, 0x2750, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103448
-
- .align 2
-gUnknown_0859327C:: @ 859327C
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593284:: @ 8593284
- .4byte gUnknown_0859327C
-
- .align 2
-gUnknown_08593288:: @ 8593288
- spr_template 0x2758, 0x2758, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103498
-
- .align 2
-gUnknown_085932A0:: @ 85932A0
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810358C
-
- .align 2
-gUnknown_085932B8:: @ 85932B8
- spr_template 0x27a1, 0x27a1, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08597060, sub_8103620
-
- .align 2
-gUnknown_085932D0:: @ 85932D0
- .2byte 0x0000, 0x0009, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085932E4:: @ 85932E4
- .4byte gUnknown_085932D0
-
- .align 2
-gUnknown_085932E8:: @ 85932E8
- .2byte 0x0050, 0x0050, 0x0000, 0x0000, 0x0009, 0x0009, 0x1200, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593300:: @ 8593300
- .4byte gUnknown_085932E8
-
- .align 2
-gUnknown_08593304:: @ 8593304
- spr_template 0x2717, 0x2717, gUnknown_08524974, gUnknown_085932E4, NULL, gUnknown_08593300, sub_80A77C8
-
- .align 2
-gUnknown_0859331C:: @ 859331C
- .2byte 0x0000, 0x0043, 0x0008, 0x0043, 0x0010, 0x0043, 0x0018, 0x0043
- .2byte 0x0020, 0x0043, 0x0028, 0x0043, 0x0030, 0x0043, 0xfffd, 0x0001
- .2byte 0xffff, 0x0000
-
- .align 2
-gUnknown_08593340:: @ 8593340
- .4byte gUnknown_0859331C
-
- .align 2
-gUnknown_08593344:: @ 8593344
- spr_template 0x275b, 0x275b, gUnknown_08524934, gUnknown_08593340, NULL, gDummySpriteAffineAnimTable, sub_81037D8
-
- .align 2
-gUnknown_0859335C:: @ 859335C
- .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0014, 0x0000, 0x0c00, 0x0000
- .2byte 0x0000, 0x0000, 0x2000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859337C:: @ 859337C
- .4byte gUnknown_0859335C
-
- .align 2
-gBattleAnimSpriteTemplate_8593380:: @ 8593380
- spr_template 0x2715, 0x2715, gUnknown_08524ADC, gDummySpriteAnimTable, NULL, gUnknown_0859337C, sub_810387C
-
- .align 2
-gSonicBoomSpriteTemplate:: @ 8593398
- spr_template 0x2713, 0x2713, gUnknown_08524B14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81038C8
-
- .align 2
-gUnknown_085933B0:: @ 85933B0
- spr_template 0x2713, 0x2713, gUnknown_08524A54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103AA4
-
- .align 2
-gUnknown_085933C8:: @ 85933C8
- .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0007, 0x0007, 0xc800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085933E0:: @ 85933E0
- .2byte 0x0005, 0x0005, 0x0a00, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000
- .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000
- .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000
- .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593420:: @ 8593420
- .4byte gUnknown_085933C8
-
- .align 2
-gUnknown_08593424:: @ 8593424
- .4byte gUnknown_085933E0
-
- .align 2
-gSupersonicWaveSpriteTemplate:: @ 8593428
- spr_template 0x27b3, 0x27b3, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gScreechWaveSpriteTemplate:: @ 8593440
- spr_template 0x27b4, 0x27b4, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gUnknown_08593458:: @ 8593458
- spr_template 0x2814, 0x2814, gUnknown_08524A1C, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gUnknown_08593470:: @ 8593470
- spr_template 0x2830, 0x2830, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593424, sub_8108C94
-
- .align 2
-gUnknown_08593488:: @ 8593488
- spr_template 0x27bf, 0x27bf, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A78AC
-
- .align 2
-gUnknown_085934A0:: @ 85934A0
- spr_template 0x27c2, 0x27c2, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8103FE8
-
- .align 2
-gUnknown_085934B8:: @ 85934B8
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085934C0:: @ 85934C0
- .4byte gUnknown_085934B8
-
- .align 2
-gUnknown_085934C4:: @ 85934C4
- .2byte 0x0000, 0x0000, 0x010a, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085934D4:: @ 85934D4
- .4byte gUnknown_085934C4
-
- .align 2
-gUnknown_085934D8:: @ 85934D8
- spr_template 0x2774, 0x2774, gUnknown_0852496C, gUnknown_085934C0, NULL, gDummySpriteAffineAnimTable, sub_8104088
-
- .align 2
-gUnknown_085934F0:: @ 85934F0
- spr_template 0x2774, 0x2774, gUnknown_0852496C, gUnknown_085934C0, NULL, gUnknown_085934D4, sub_810413C
-
- .align 2
-gUnknown_08593508:: @ 8593508
- .2byte 0x0000, 0x0000, 0x0114, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593518:: @ 8593518
- .4byte gUnknown_08593508
-
- .align 2
-gUnknown_0859351C:: @ 859351C
- spr_template 0x2716, 0x2716, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593518, sub_81041C4
-
- .align 2
-gUnknown_08593534:: @ 8593534
- .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0004, 0x0000, 0x2800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859354C:: @ 859354C
- .4byte gUnknown_08593534
-
- .align 2
-gUnknown_08593550:: @ 8593550
- spr_template 0x2719, 0x2719, gUnknown_085249BC, gDummySpriteAnimTable, NULL, gUnknown_0859354C, sub_8104304
-
- .align 2
-gUnknown_08593568:: @ 8593568
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0014, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593578:: @ 8593578
- .2byte 0x0000, 0x00c3, 0x0010, 0x00c3, 0x0020, 0x00d4, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593588:: @ 8593588
- .4byte gUnknown_08593568
- .4byte gUnknown_08593578
-
- .align 2
-gUnknown_08593590:: @ 8593590
- spr_template 0x279a, 0x279a, gUnknown_08524A34, gUnknown_08593588, NULL, gDummySpriteAffineAnimTable, sub_8104364
-
- .align 2
-gUnknown_085935A8:: @ 85935A8
- .2byte 0x0000, 0x0002, 0x0010, 0x0002, 0x0020, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085935B8:: @ 85935B8
- .2byte 0x0000, 0x00c2, 0x0010, 0x00c2, 0x0020, 0x00c1, 0xffff, 0x0000
-
- .align 2
-gUnknown_085935C8:: @ 85935C8
- .4byte gUnknown_085935A8
- .4byte gUnknown_085935B8
-
- .align 2
-gUnknown_085935D0:: @ 85935D0
- spr_template 0x279a, 0x279a, gUnknown_08524A34, gUnknown_085935C8, NULL, gDummySpriteAffineAnimTable, sub_8104414
-
- .align 2
-gUnknown_085935E8:: @ 85935E8
- .2byte 0xfffa, 0x0004, 0x0800, 0x0000, 0x000a, 0xfff6, 0x0800, 0x0000
- .2byte 0xfffc, 0x0006, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593608:: @ 8593608
- .2byte 0xfffc, 0xfffb, 0x0c00, 0x0000, 0x0000, 0x0000, 0x1800, 0x0000
- .2byte 0x0004, 0x0005, 0x0c00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593628:: @ 8593628
- .2byte 0x0000, 0x0044, 0x0004, 0x0068, 0x0008, 0x0044, 0x000c, 0x0044, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859363C:: @ 859363C
- .2byte 0x0000, 0x0004, 0x0004, 0x0028, 0x0008, 0x0004, 0x000c, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593650:: @ 8593650
- .4byte gUnknown_08593628
- .4byte gUnknown_0859363C
-
- .align 2
-gUnknown_08593658:: @ 8593658
- spr_template 0x2766, 0x2766, gUnknown_0852490C, gUnknown_08593650, NULL, gDummySpriteAffineAnimTable, sub_8104B1C
-
- .align 2
-gUnknown_08593670:: @ 8593670
- .2byte 0x000b, 0x000b, 0x0800, 0x0000, 0xfff5, 0xfff5, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593688:: @ 8593688
- .4byte gUnknown_08593670
-
- .align 2
-gUnknown_0859368C:: @ 859368C
- spr_template 0x2767, 0x2767, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593688, sub_8104BAC
-
- .align 2
-gUnknown_085936A4:: @ 85936A4
- .2byte 0xfff6, 0x0009, 0x0700, 0x0000, 0x0014, 0xffec, 0x0700, 0x0000
- .2byte 0xffec, 0x0014, 0x0700, 0x0000, 0x000a, 0xfff7, 0x0700, 0x0000
- .2byte 0x7ffd, 0x0002, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085936D4:: @ 85936D4
- spr_template 0x2712, 0x2712, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810501C
-
- .align 2
-gUnknown_085936EC:: @ 85936EC
- spr_template 0x27d5, 0x27d5, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7938
-
- .align 2
-gUnknown_08593704:: @ 8593704
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593718:: @ 8593718
- .4byte gUnknown_08593704
-
- .align 2
-gBattleAnimSpriteTemplate_859371C:: @ 859371C
- spr_template 0x27d6, 0x27d6, gUnknown_08524914, gUnknown_08593718, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
-
- .align 2
-gUnknown_08593734:: @ 8593734
- .2byte 0x0000, 0x0000, 0x02f8, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000
- .2byte 0x0000, 0x0000, 0x02f8, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593754:: @ 8593754
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593764:: @ 8593764
- .2byte 0xfff8, 0x0004, 0x0800, 0x0000, 0x7ffd, 0x0000, 0x0000, 0x0000
- .2byte 0x0010, 0xfff8, 0x0800, 0x0000, 0xfff0, 0x0008, 0x0800, 0x0000
- .2byte 0x7ffd, 0x0001, 0x0000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000
- .2byte 0x0000, 0x0000, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085937A4:: @ 85937A4
- .4byte gUnknown_08593734
- .4byte gUnknown_08593754
- .4byte gUnknown_08593764
-
- .align 2
-gUnknown_085937B0:: @ 85937B0
- spr_template 0x27da, 0x27da, gUnknown_08524AF4, gDummySpriteAnimTable, NULL, gUnknown_085937A4, sub_8105538
-
- .align 2
-gUnknown_085937C8:: @ 85937C8
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x1e00, 0x0000
- .2byte 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_085937E0:: @ 85937E0
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0020, 0x0020, 0x0f00, 0x0000
- .2byte 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_085937F8:: @ 85937F8
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x000b, 0x000b, 0x2d00, 0x0000
- .2byte 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593810:: @ 8593810
- .4byte gUnknown_085937C8
- .4byte gUnknown_085937E0
-
- .align 2
-gUnknown_08593818:: @ 8593818
- .4byte gUnknown_085937F8
-
- .align 2
-gUnknown_0859381C:: @ 859381C
- spr_template 0x27db, 0x27db, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_80A77C8
-
- .align 2
-gUnknown_08593834:: @ 8593834
- .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x1e00, 0x0000
- .2byte 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859384C:: @ 859384C
- .4byte gUnknown_08593834
-
- .align 2
-gUnknown_08593850:: @ 8593850
- spr_template 0x27db, 0x27db, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_0859384C, sub_80A77C8
-
- .align 2
-gUnknown_08593868:: @ 8593868
- spr_template 0x27db, 0x27db, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_81051C4
-
- .align 2
-gUnknown_08593880:: @ 8593880
- spr_template 0x27db, 0x27db, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593818, sub_81052A4
-
- .align 2
-gBattleAnimSpriteTemplate_8593898:: @ 8593898
- spr_template 0x27db, 0x27db, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08593810, sub_81054E8
-
- .align 2
-gUnknown_085938B0:: @ 85938B0
- .2byte 0x0060, 0xfff3, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085938C0:: @ 85938C0
- .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x0004, 0x0003
- .2byte 0x0000, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085938D8:: @ 85938D8
- .4byte gUnknown_085938C0
-
- .align 2
-gUnknown_085938DC:: @ 85938DC
- spr_template 0x27df, 0x27df, gUnknown_0852490C, gUnknown_085938D8, NULL, gDummySpriteAffineAnimTable, sub_8105C48
-
- .align 2
-gUnknown_085938F4:: @ 85938F4
- .2byte 0x1c1e, 0x18ec, 0x1a10, 0x1cf6
-
- .align 2
-gUnknown_085938FC:: @ 85938FC
- .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x000f, 0x0010, 0x0006
- .2byte 0x0000, 0x0006, 0x0010, 0x0046, 0x0020, 0x004f, 0x0010, 0x0046
- .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x000f, 0x0010, 0x0006
- .2byte 0x0000, 0x0006, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593934:: @ 8593934
- .4byte gUnknown_085938FC
-
- .align 2
-gUnknown_08593938:: @ 8593938
- spr_template 0x27dd, 0x27dd, gUnknown_08524914, gUnknown_08593934, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
-
- .align 2
-gUnknown_08593950:: @ 8593950
- .2byte 0x27de, 0x270f, 0x270e, 0x0000
-
- .align 2
-gUnknown_08593958:: @ 8593958
- spr_template 0x27de, 0x27de, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8105DE8
-
- .align 2
-gUnknown_08593970:: @ 8593970
- spr_template 0x27e2, 0x27e2, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8105E60
-
- .align 2
-gUnknown_08593988:: @ 8593988
- .2byte 0x000a, 0xfff3, 0x0a00, 0x0000, 0xfff6, 0x000d, 0x0a00, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085939A0:: @ 85939A0
- spr_template 0x27e8, 0x27e8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106140
-
- .align 2
-gBattleAnimSpriteTemplate_85939B8:: @ 85939B8
- spr_template 0x27e8, 0x27e8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4
-
- .align 2
-gUnknown_085939D0:: @ 85939D0
- spr_template 0x27e8, 0x27e8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810624C
-
- .align 2
-gUnknown_085939E8:: @ 85939E8
- .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0008, 0x0008, 0x0100, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593A00:: @ 8593A00
- .4byte gUnknown_085939E8
-
- .align 2
-gHiddenPowerOrbSpriteTemplate:: @ 8593A04
- spr_template 0x27e9, 0x27e9, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08593A00, sub_810673C
-
- .align 2
-gHiddenPowerOrbScatterSpriteTemplate:: @ 8593A1C
- spr_template 0x27e9, 0x27e9, gUnknown_085249CC, gDummySpriteAnimTable, NULL, gUnknown_08593A00, sub_8106878
-
- .align 2
-gUnknown_08593A34:: @ 8593A34
- .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0008, 0x0008, 0x0100, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593A4C:: @ 8593A4C
- .4byte gUnknown_08593A34
-
- .align 2
-gUnknown_08593A50:: @ 8593A50
- spr_template 0x27fd, 0x27fd, gUnknown_085249C4, gDummySpriteAnimTable, NULL, gUnknown_08593A4C, sub_8106944
-
- .align 2
-gUnknown_08593A68:: @ 8593A68
- .2byte 0x0000, 0x0004, 0x0004, 0x0004, 0x0008, 0x0004, 0x0004, 0x0004
- .2byte 0x0000, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593A80:: @ 8593A80
- .4byte gUnknown_08593A68
-
- .align 2
-gUnknown_08593A84:: @ 8593A84
- spr_template 0x27ea, 0x27ea, gUnknown_0852490C, gUnknown_08593A80, NULL, gDummySpriteAffineAnimTable, sub_81069B8
-
- .align 2
-gUnknown_08593A9C:: @ 8593A9C
- .2byte 0x0000, 0x0018, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593AA4:: @ 8593AA4
- .4byte gUnknown_08593A9C
-
- .align 2
-gUnknown_08593AA8:: @ 8593AA8
- spr_template 0x27ec, 0x27ec, gUnknown_08524914, gUnknown_08593AA4, NULL, gDummySpriteAffineAnimTable, sub_81069D0
-
- .align 2
-gUnknown_08593AC0:: @ 8593AC0
- spr_template 0x27eb, 0x27eb, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106AD0
-
- .align 2
-gUnknown_08593AD8:: @ 8593AD8
- .2byte 0x0000, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08593AE0:: @ 8593AE0
- .2byte 0x0010, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08593AE8:: @ 8593AE8
- .4byte gUnknown_08593AD8
- .4byte gUnknown_08593AE0
-
- .align 2
-gUnknown_08593AF0:: @ 8593AF0
- spr_template 0x27ed, 0x27ed, gUnknown_08524914, gUnknown_08593AE8, NULL, gDummySpriteAffineAnimTable, sub_8106B54
-
- .align 2
-gUnknown_08593B08:: @ 8593B08
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593B1C:: @ 8593B1C
- .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0x0030, 0x0044, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593B30:: @ 8593B30
- .4byte gUnknown_08593B08
- .4byte gUnknown_08593B1C
-
- .align 2
-gUnknown_08593B38:: @ 8593B38
- spr_template 0x27ee, 0x27ee, gUnknown_08524914, gUnknown_08593B30, NULL, gDummySpriteAffineAnimTable, sub_8106C80
-
- .align 2
-gUnknown_08593B50:: @ 8593B50
- .2byte 0x0000, 0x0008, 0x0010, 0x0008, 0x0020, 0x0008, 0x0010, 0x0008, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593B64:: @ 8593B64
- .2byte 0x0010, 0x0048, 0x0020, 0x0048, 0x0010, 0x0048, 0x0000, 0x0048, 0xffff, 0x0000
-
- .align 2
-gUnknown_08593B78:: @ 8593B78
- .4byte gUnknown_08593B50
- .4byte gUnknown_08593B64
-
- .align 2
-gUnknown_08593B80:: @ 8593B80
- spr_template 0x27e7, 0x27e7, gUnknown_08524914, gUnknown_08593B78, NULL, gDummySpriteAffineAnimTable, sub_8106CD0
-
- .align 2
-gUnknown_08593B98:: @ 8593B98
- .2byte 0xfff4, 0x0008, 0x0400, 0x0000, 0x0014, 0xffec, 0x0400, 0x0000
- .2byte 0xfff8, 0x000c, 0x0400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gBattleAnimSpriteTemplate_8593BB8:: @ 8593BB8
- spr_template 0x27f1, 0x27f1, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8106E00
-
- .align 2
-gUnknown_08593BD0:: @ 8593BD0
- .2byte 0x0000, 0x0000, 0x0500, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593BE0:: @ 8593BE0
- .2byte 0x0000, 0x0000, 0x10f8, 0x0000, 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593BF0:: @ 8593BF0
- .2byte 0x0000, 0x0000, 0x1008, 0x0000, 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593C00:: @ 8593C00
- .4byte gUnknown_08593BD0
- .4byte gUnknown_08593BE0
- .4byte gUnknown_08593BF0
-
- .align 2
-gUnknown_08593C0C:: @ 8593C0C
- spr_template 0x27de, 0x27de, gUnknown_0852496C, gUnknown_08592FCC, NULL, gUnknown_08593C00, sub_8106F60
-
- .align 2
-gUnknown_08593C24:: @ 8593C24
- spr_template 0x27de, 0x27de, gUnknown_0852496C, gUnknown_08592FCC, NULL, gUnknown_08593C00, sub_8106F00
-
- .align 2
-gUnknown_08593C3C:: @ 8593C3C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593C4C:: @ 8593C4C
- .2byte 0x0200, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08593C5C:: @ 8593C5C
- .4byte gUnknown_08593C3C
- .4byte gUnknown_08593C4C
-
- .align 2
-gUnknown_08593C64:: @ 8593C64
- spr_template 0x2804, 0x2804, gUnknown_08524B1C, gDummySpriteAnimTable, NULL, gUnknown_08593C5C, sub_81070AC
-
- .align 2
- .incbin "graphics/unknown/unknown_593C80.4bpp"
-
- .align 2
- .incbin "graphics/unknown/unknown_593FFC.bin"
-
- .align 2
-gUnknown_08594FFC:: @ 8594FFC
- .2byte 0x0000, 0x0002, 0x0008, 0x0002, 0x0010, 0x0002, 0x0018, 0x0006
- .2byte 0x0020, 0x0002, 0x0028, 0x0002, 0x0030, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859501C:: @ 859501C
- .4byte gUnknown_08594FFC
-
- .align 2
-gUnknown_08595020:: @ 8595020
- spr_template 0x2783, 0x2783, gUnknown_08524954, gUnknown_0859501C, NULL, gDummySpriteAffineAnimTable, sub_810721C
-
- .align 2
-gUnknown_08595038:: @ 8595038
- .2byte 0xfffb, 0xfffb, 0x0a00, 0x0000, 0x0005, 0x0005, 0x0a00, 0x0000
- .2byte 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595050:: @ 8595050
- .4byte gUnknown_08595038
-
- .align 2
-gUnknown_08595054:: @ 8595054
- .2byte 0x0000, 0x0001, 0x0004, 0x0005, 0x0008, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595064:: @ 8595064
- .4byte gUnknown_08595054
-
- .align 2
-gBattleAnimSpriteTemplate_8595068:: @ 8595068
- spr_template 0x27a2, 0x27a2, gUnknown_08524A8C, gUnknown_08595064, NULL, gUnknown_08595050, sub_8107260
-
- .align 2
-gUnknown_08595080:: @ 8595080
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595088:: @ 8595088
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595090:: @ 8595090
- .4byte gUnknown_08595080
- .4byte gUnknown_08595088
-
- .align 2
-gUnknown_08595098:: @ 8595098
- .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x0060, 0x0060, 0x0100, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085950B0:: @ 85950B0
- .4byte gUnknown_08595098
-
- .align 2
-gUnknown_085950B4:: @ 85950B4
- spr_template 0x279c, 0x279c, gUnknown_08524A04, gUnknown_08595090, NULL, gUnknown_085950B0, sub_810744C
-
- .align 2
-gUnknown_085950CC:: @ 85950CC
- .2byte 0x0000, 0x0001, 0x0004, 0x0001, 0x0008, 0x0001, 0x000c, 0x0001, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085950E0:: @ 85950E0
- .4byte gUnknown_085950CC
-
- .align 2
-gUnknown_085950E4:: @ 85950E4
- spr_template 0x27a5, 0x27a5, gUnknown_08524A2C, gUnknown_085950E0, NULL, gDummySpriteAffineAnimTable, sub_81075EC
-
- .align 2
-gUnknown_085950FC:: @ 85950FC
- spr_template 0x2813, 0x2813, gUnknown_08524A2C, gUnknown_085950E0, NULL, gDummySpriteAffineAnimTable, sub_81075EC
-
- .align 2
-gUnknown_08595114:: @ 8595114
- spr_template 0x2818, 0x2818, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81075EC
-
- .align 2
-gUnknown_0859512C:: @ 859512C
- spr_template 0x2819, 0x2819, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81075EC
-
- .align 2
-gUnknown_08595144:: @ 8595144
- .2byte 0x0010, 0x0002, 0x0020, 0x0002, 0x0030, 0x0002, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595154:: @ 8595154
- .4byte gUnknown_08595144
-
- .align 2
-gUnknown_08595158:: @ 8595158
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08595154, NULL, gDummySpriteAffineAnimTable, sub_81075EC
-
- .align 2
-gUnknown_08595170:: @ 8595170
- spr_template 0x27b5, 0x27b5, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_81075EC
-
- .align 2
-gUnknown_08595188:: @ 8595188
- .2byte 0x0003, 0x0003, 0x320a, 0x0000, 0x0000, 0x0000, 0x0a00, 0x0000
- .2byte 0xffec, 0xffec, 0x14f6, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085951A8:: @ 85951A8
- .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085951B8:: @ 85951B8
- .4byte gUnknown_08595188
-
- .align 2
-gUnknown_085951BC:: @ 85951BC
- .4byte gUnknown_085951A8
-
- .align 2
-gUnknown_085951C0:: @ 85951C0
- spr_template 0x27a5, 0x27a5, gUnknown_08524AEC, gUnknown_085950E0, NULL, gUnknown_085951B8, sub_8107730
-
- .align 2
-gUnknown_085951D8:: @ 85951D8
- spr_template 0x27a5, 0x27a5, gUnknown_08524AEC, gUnknown_085950E0, NULL, gUnknown_085951BC, sub_81077C0
-
- .align 2
-gUnknown_085951F0:: @ 85951F0
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085951F8:: @ 85951F8
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595200:: @ 8595200
- .4byte gUnknown_085951F0
-
- .align 2
-gUnknown_08595204:: @ 8595204
- .4byte gUnknown_085951F8
-
- .align 2
-gUnknown_08595208:: @ 8595208
- spr_template 0x27ab, 0x27ab, gUnknown_08524A2C, gUnknown_08595200, NULL, gDummySpriteAffineAnimTable, sub_80A78AC
-
- .align 2
-gUnknown_08595220:: @ 8595220
- spr_template 0x27ab, 0x27ab, gUnknown_08524AEC, gUnknown_08595204, NULL, gUnknown_08596208, sub_8107894
-
- .align 2
-gUnknown_08595238:: @ 8595238
- spr_template 0x279d, 0x279d, gUnknown_08524904, gUnknown_08595AB8, NULL, gDummySpriteAffineAnimTable, sub_81078D0
-
- .align 2
-gUnknown_08595250:: @ 8595250
- spr_template 0x27ab, 0x27ab, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8108034
-
- .align 2
-gUnknown_08595268:: @ 8595268
- spr_template 0x281c, 0x281c, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810851C
-
- .align 2
-gUnknown_08595280:: @ 8595280
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595288:: @ 8595288
- .2byte 0x0009, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595290:: @ 8595290
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595298:: @ 8595298
- .4byte gUnknown_08595280
- .4byte gUnknown_08595288
-
- .align 2
-gUnknown_085952A0:: @ 85952A0
- .4byte gUnknown_08595290
-
- .align 2
-gUnknown_085952A4:: @ 85952A4
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0f00, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085952BC:: @ 85952BC
- .2byte 0x00e0, 0x00e0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0f00, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085952D4:: @ 85952D4
- .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f00, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085952EC:: @ 85952EC
- .4byte gUnknown_085952A4
- .4byte gUnknown_085952BC
-
- .align 2
-gUnknown_085952F4:: @ 85952F4
- .4byte gUnknown_085952D4
-
- .align 2
-gUnknown_085952F8:: @ 85952F8
- spr_template 0x27ab, 0x27ab, gUnknown_08524904, gUnknown_08595298, NULL, gDummySpriteAffineAnimTable, sub_8108BE0
-
- .align 2
-gUnknown_08595310:: @ 8595310
- spr_template 0x27ab, 0x27ab, gUnknown_08524964, gUnknown_08595298, NULL, gUnknown_085952EC, sub_8108C54
-
- .align 2
-gUnknown_08595328:: @ 8595328
- spr_template 0x27ab, 0x27ab, gUnknown_0852496C, gUnknown_085952A0, NULL, gUnknown_085952F4, sub_80A8EE4
-
- .align 2
-gUnknown_08595340:: @ 8595340
- .2byte 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595350:: @ 8595350
- .2byte 0x0010, 0x00c4, 0x0020, 0x00c4, 0x0030, 0x00c4, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595360:: @ 8595360
- .4byte gUnknown_08595340
- .4byte gUnknown_08595350
-
- .align 2
-gUnknown_08595368:: @ 8595368
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08595360, NULL, gDummySpriteAffineAnimTable, sub_8108EC8
-
- .align 2
-gUnknown_08595380:: @ 8595380
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08595360, NULL, gDummySpriteAffineAnimTable, sub_8108F08
-
- .align 2
-gUnknown_08595398:: @ 8595398
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003
- .2byte 0x0040, 0x0003, 0x0050, 0x0003, 0x0060, 0x0003, 0x0070, 0x0003
- .2byte 0xfffe, 0x0000
-
- .align 2
-gUnknown_085953BC:: @ 85953BC
- .4byte gUnknown_08595398
-
- .align 2
-gUnknown_085953C0:: @ 85953C0
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005
- .2byte 0x0040, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085953D8:: @ 85953D8
- .4byte gUnknown_085953C0
-
- .align 2
-gUnknown_085953DC:: @ 85953DC
- .2byte 0x0032, 0x0100, 0x0000, 0x0000, 0x0020, 0x0000, 0x0700, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085953F4:: @ 85953F4
- .4byte gUnknown_085953DC
-
- .align 2
-gUnknown_085953F8:: @ 85953F8
- spr_template 0x2731, 0x2731, gUnknown_08524974, gUnknown_085953BC, NULL, gUnknown_085953F4, sub_8108FBC
-
- .align 2
-gUnknown_08595410:: @ 8595410
- spr_template 0x2731, 0x2731, gUnknown_08524914, gUnknown_085953BC, NULL, gDummySpriteAffineAnimTable, sub_8108FBC
-
- .align 2
-gUnknown_08595428:: @ 8595428
- spr_template 0x2733, 0x2733, gUnknown_08524914, gUnknown_085953D8, NULL, gDummySpriteAffineAnimTable, sub_8108F4C
-
- .align 2
-gUnknown_08595440:: @ 8595440
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085953D8, NULL, gDummySpriteAffineAnimTable, sub_8108F4C
-
- .align 2
-gUnknown_08595458:: @ 8595458
- .2byte 0x0010, 0x0006, 0x0020, 0x0006, 0x0030, 0x0006, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595468:: @ 8595468
- .4byte gUnknown_08595458
-
- .align 2
-gUnknown_0859546C:: @ 859546C
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08595468, NULL, gDummySpriteAffineAnimTable, sub_8109064
-
- .align 2
-gUnknown_08595484:: @ 8595484
- .2byte 0x0050, 0x0050, 0x0000, 0x0000, 0x0002, 0x0002, 0x010a, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859549C:: @ 859549C
- .4byte gUnknown_08595484
-
- .align 2
-gUnknown_085954A0:: @ 85954A0
- spr_template 0x27ad, 0x27ad, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_0859549C, sub_810916C
-
- .align 2
-gUnknown_085954B8:: @ 85954B8
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004
- .2byte 0x0040, 0x0004, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085954D0:: @ 85954D0
- .4byte gUnknown_085954B8
-
- .align 2
-gEmberSpriteTemplate:: @ 85954D4
- spr_template 0x272d, 0x272d, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gEmberFlareSpriteTemplate:: @ 85954EC
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8109198
-
- .align 2
-gUnknown_08595504:: @ 8595504
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8109200
-
- .align 2
-gUnknown_0859551C:: @ 859551C
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_810921C
-
- .align 2
-gUnknown_08595534:: @ 8595534
- .2byte 0x0020, 0x0006, 0x0030, 0x0006, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595540:: @ 8595540
- .4byte gUnknown_08595534
-
- .align 2
-gUnknown_08595544:: @ 8595544
- .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595554:: @ 8595554
- .2byte 0x00a0, 0x00a0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595564:: @ 8595564
- .4byte gUnknown_08595544
- .4byte gUnknown_08595554
-
- .align 2
-gUnknown_0859556C:: @ 859556C
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08595540, NULL, gDummySpriteAffineAnimTable, sub_8109364
-
- .align 2
-gBattleAnimSpriteTemplate_8595584:: @ 8595584
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_81093A4
-
- .align 2
-gUnknown_0859559C:: @ 859559C
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4
-
- .align 2
-gUnknown_085955B4:: @ 85955B4
- spr_template 0x27d9, 0x27d9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81098EC
-
- .align 2
-gUnknown_085955CC:: @ 85955CC
- .2byte 0xfffe, 0xfffb, 0xffff, 0xffff, 0x0003, 0xfffa, 0x0004, 0xfffe
- .2byte 0x0002, 0xfff8, 0xfffb, 0xfffb, 0x0004, 0xfff9
-
- .align 2
-gUnknown_085955E8:: @ 85955E8
- spr_template 0x27d9, 0x27d9, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8109A10
-
- .align 2
-gUnknown_08595600:: @ 8595600
- .2byte 0x0000, 0x0005, 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595614:: @ 8595614
- .2byte 0x0010, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859561C:: @ 859561C
- .2byte 0x0014, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595624:: @ 8595624
- .2byte 0x0014, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859562C:: @ 859562C
- .4byte gUnknown_08595600
- .4byte gUnknown_08595614
- .4byte gUnknown_0859561C
- .4byte gUnknown_08595624
-
- .align 2
-gUnknown_0859563C:: @ 859563C
- spr_template 0x27f7, 0x27f7, gUnknown_0852490C, gUnknown_0859562C, NULL, gDummySpriteAffineAnimTable, sub_8109AFC
-
- .align 2
-gUnknown_08595654:: @ 8595654
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595668:: @ 8595668
- .4byte gUnknown_08595654
-
- .align 2
-gUnknown_0859566C:: @ 859566C
- spr_template 0x27f8, 0x27f8, gUnknown_08524914, gUnknown_08595668, NULL, gDummySpriteAffineAnimTable, sub_8109CB0
-
- .align 2
-gUnknown_08595684:: @ 8595684
- .2byte 0xffff, 0x0100, 0x0001, 0xff00, 0x01ff, 0x0001, 0xff00, 0x0100
-
- .align 2
-gUnknown_08595694:: @ 8595694
- .2byte 0x00ff, 0x0001, 0x01ff, 0xff00, 0x0100, 0xff00, 0x0100, 0x0100
-
- .align 2
-gUnknown_085956A4:: @ 85956A4
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0008, 0x0030, 0x0005
- .2byte 0x0040, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_085956BC:: @ 85956BC
- .4byte gUnknown_085956A4
-
- .align 2
-gUnknown_085956C0:: @ 85956C0
- spr_template 0x2735, 0x2735, gUnknown_08524914, gUnknown_085956BC, NULL, gDummySpriteAffineAnimTable, sub_810A1A8
-
- .align 2
-gUnknown_085956D8:: @ 85956D8
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000
- .2byte 0x0000, 0x0000, 0x3cf0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085956F8:: @ 85956F8
- .4byte gUnknown_085956D8
-
- .align 2
-gUnknown_085956FC:: @ 85956FC
- spr_template 0x279f, 0x279f, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085956F8, sub_810A214
-
- .align 2
-gUnknown_08595714:: @ 8595714
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005
- .2byte 0x0040, 0x0005, 0x0050, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595730:: @ 8595730
- .4byte gUnknown_08595714
-
- .align 2
-gUnknown_08595734:: @ 8595734
- spr_template 0x275f, 0x275f, gUnknown_08524914, gUnknown_08595730, NULL, gDummySpriteAffineAnimTable, sub_810A274
-
- .align 2
-gBattleAnimSpriteTemplate_859574C:: @ 859574C
- spr_template 0x271b, 0x271b, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A308
-
- .align 2
-gUnknown_08595764:: @ 8595764
- spr_template 0x27bb, 0x27bb, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gUnknown_0859577C:: @ 859577C
- .2byte 0x0000, 0x0000, 0x0114, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859578C:: @ 859578C
- .4byte gUnknown_0859577C
-
- .align 2
-gUnknown_08595790:: @ 8595790
- spr_template 0x271b, 0x271b, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_0859578C, sub_810A46C
-
- .align 2
-gUnknown_085957A8:: @ 85957A8
- .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x0006, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085957B8:: @ 85957B8
- .4byte gUnknown_085957A8
-
- .align 2
-gUnknown_085957BC:: @ 85957BC
- .2byte 0x00e8, 0x00e8, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0a00, 0x0000
- .2byte 0x0008, 0x0008, 0x0a00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_085957DC:: @ 85957DC
- .4byte gUnknown_085957BC
-
- .align 2
-gBattleAnimSpriteTemplate_85957E0:: @ 85957E0
- spr_template 0x282a, 0x282a, gUnknown_08524974, gUnknown_085957B8, NULL, gUnknown_085957DC, sub_810A5BC
-
- .align 2
-gBattleAnimSpriteTemplate_85957F8:: @ 85957F8
- spr_template 0x271b, 0x271b, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_0859578C, sub_810A628
-
- .align 2
-gElectricitySpriteTemplate:: @ 8595810
- spr_template 0x271b, 0x271b, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A75C
-
- .align 2
-gUnknown_08595828:: @ 8595828
- spr_template 0x2711, 0x2711, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810A9DC
-
- .align 2
-gUnknown_08595840:: @ 8595840
- spr_template 0x27bd, 0x27bd, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810AA2C
-
- .align 2
-gUnknown_08595858:: @ 8595858
- .byte 0x3a, 0xc4, 0xc8, 0xdc, 0x08, 0xc8, 0xf0, 0x38
- .byte 0x3a, 0xf6, 0xc6, 0x0a, 0x30, 0xee, 0xf8, 0x38
- .byte 0x10, 0xc8, 0xc6, 0xd6, 0x3a, 0x1e, 0xd0, 0x28
- .byte 0x0c, 0xd0, 0x30, 0xf4, 0xc8, 0x12, 0x30, 0x30
-
- .align 2
-gUnknown_08595878:: @ 8595878
- .2byte 0x0003, 0x0001, 0x0002, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859588C:: @ 859588C
- .2byte 0x0000, 0x0005, 0x0001, 0x0005, 0x0002, 0x0005, 0x0003, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_085958A0:: @ 85958A0
- .4byte gUnknown_08595878
- .4byte gUnknown_0859588C
-
- .align 2
-gUnknown_085958A8:: @ 85958A8
- spr_template 0x27e3, 0x27e3, gUnknown_08524904, gUnknown_085958A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_085958C0:: @ 85958C0
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0004, 0x0004, 0x3c00, 0x0000
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffd, 0x0000, 0x0000, 0x0000
- .2byte 0xfffc, 0xfffc, 0x0500, 0x0000, 0x0004, 0x0004, 0x0500, 0x0000
- .2byte 0x7ffd, 0x000a, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595900:: @ 8595900
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0008, 0x0008, 0x1e00, 0x0000
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffc, 0xfffc, 0x0500, 0x0000
- .2byte 0x0004, 0x0004, 0x0500, 0x0000, 0x7ffe, 0x0003, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595930:: @ 8595930
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0008, 0x0008, 0x1e00, 0x0000
- .2byte 0xfff8, 0xfff8, 0x1e00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595950:: @ 8595950
- .4byte gUnknown_085958C0
- .4byte gUnknown_08595900
- .4byte gUnknown_08595930
-
- .align 2
-gUnknown_0859595C:: @ 859595C
- spr_template 0x27e4, 0x27e4, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08595950, sub_810ACD8
-
- .align 2
-gUnknown_08595974:: @ 8595974
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595988:: @ 8595988
- .4byte gUnknown_08595974
-
- .align 2
-gUnknown_0859598C:: @ 859598C
- spr_template 0x27e5, 0x27e5, gUnknown_08524914, gUnknown_08595988, NULL, gDummySpriteAffineAnimTable, sub_810AD30
-
- .align 2
-gUnknown_085959A4:: @ 85959A4
- spr_template 0x27e4, 0x27e4, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08595950, sub_810AD98
-
- .align 2
-gUnknown_085959BC:: @ 85959BC
- .2byte 0x0000, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085959C4:: @ 85959C4
- .2byte 0x0002, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085959CC:: @ 85959CC
- .2byte 0x0004, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085959D4:: @ 85959D4
- .2byte 0x0006, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085959DC:: @ 85959DC
- .4byte gUnknown_085959BC
- .4byte gUnknown_085959C4
- .4byte gUnknown_085959CC
- .4byte gUnknown_085959D4
-
- .align 2
-gUnknown_085959EC:: @ 85959EC
- .2byte 0x0100, 0x0100, 0x0040, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085959FC:: @ 85959FC
- .4byte gUnknown_085959EC
-
- .align 2
-gUnknown_08595A00:: @ 8595A00
- spr_template 0x2711, 0x2711, gUnknown_08524A04, gUnknown_085959DC, NULL, gUnknown_085959FC, sub_810B1F0
-
- .align 2
-gUnknown_08595A18:: @ 8595A18
- spr_template 0x27e4, 0x27e4, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08595950, sub_810B23C
-
- .align 2
-gUnknown_08595A30:: @ 8595A30
- spr_template 0x2711, 0x2711, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810B51C
-
- .align 2
-gUnknown_08595A48:: @ 8595A48
- .2byte 0x0000, 0x0045, 0x0001, 0x0045, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595A54:: @ 8595A54
- .4byte gUnknown_08595A48
-
- .align 2
-gUnknown_08595A58:: @ 8595A58
- spr_template 0x279d, 0x279d, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810B6C4
-
- .align 2
-gUnknown_08595A70:: @ 8595A70
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595A78:: @ 8595A78
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595A80:: @ 8595A80
- .2byte 0x0006, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595A88:: @ 8595A88
- .2byte 0x0007, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595A90:: @ 8595A90
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595A98:: @ 8595A98
- .2byte 0x000c, 0x0006, 0x000d, 0x0006, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595AA4:: @ 8595AA4
- .4byte gUnknown_08595A70
-
- .align 2
-gUnknown_08595AA8:: @ 8595AA8
- .4byte gUnknown_08595A78
-
- .align 2
-gUnknown_08595AAC:: @ 8595AAC
- .4byte gUnknown_08595A80
-
- .align 2
-gUnknown_08595AB0:: @ 8595AB0
- .4byte gUnknown_08595A88
-
- .align 2
-gUnknown_08595AB4:: @ 8595AB4
- .4byte gUnknown_08595A90
-
- .align 2
-gUnknown_08595AB8:: @ 8595AB8
- .4byte gUnknown_08595A98
-
- .align 2
-gUnknown_08595ABC:: @ 8595ABC
- .2byte 0x0000, 0x0000, 0x0128, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595ACC:: @ 8595ACC
- .4byte gUnknown_08595ABC
-
- .align 2
-gUnknown_08595AD0:: @ 8595AD0
- spr_template 0x279d, 0x279d, gUnknown_08524B24, gUnknown_08595AA8, NULL, gUnknown_08595ACC, sub_810B8AC
-
- .align 2
-gUnknown_08595AE8:: @ 8595AE8
- spr_template 0x279d, 0x279d, gUnknown_08524A24, gUnknown_08595AAC, NULL, gDummySpriteAffineAnimTable, sub_810B8AC
-
- .align 2
-gUnknown_08595B00:: @ 8595B00
- .2byte 0x0000, 0x0000, 0x010a, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595B10:: @ 8595B10
- .4byte gUnknown_08595B00
-
- .align 2
-gUnknown_08595B14:: @ 8595B14
- spr_template 0x279d, 0x279d, gUnknown_08524AC4, gUnknown_08595AA8, NULL, gUnknown_08595B10, sub_810B8EC
-
- .align 2
-gUnknown_08595B2C:: @ 8595B2C
- spr_template 0x279d, 0x279d, gUnknown_08524A24, gUnknown_08595AAC, NULL, gDummySpriteAffineAnimTable, sub_810B8EC
-
- .align 2
-gUnknown_08595B44:: @ 8595B44
- .2byte 0x00ce, 0x00ce, 0x0000, 0x0000, 0x0005, 0x0005, 0x0a00, 0x0000
- .2byte 0x0000, 0x0000, 0x0600, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595B64:: @ 8595B64
- .4byte gUnknown_08595B44
-
- .align 2
-gUnknown_08595B68:: @ 8595B68
- spr_template 0x279d, 0x279d, gUnknown_08524AC4, gUnknown_08595AA8, NULL, gUnknown_08595B64, sub_810B974
-
- .align 2
-gUnknown_08595B80:: @ 8595B80
- spr_template 0x279d, 0x279d, gUnknown_08524A84, gUnknown_08595AAC, NULL, gUnknown_08595B64, sub_810B974
-
- .align 2
-gUnknown_08595B98:: @ 8595B98
- spr_template 0x279d, 0x279d, gUnknown_08524904, gUnknown_08595AB0, NULL, gDummySpriteAffineAnimTable, sub_810BA24
-
- .align 2
-gUnknown_08595BB0:: @ 8595BB0
- spr_template 0x279d, 0x279d, gUnknown_0852490C, gUnknown_08595AB4, NULL, gDummySpriteAffineAnimTable, sub_810BC94
-
- .align 2
-gUnknown_08595BC8:: @ 8595BC8
- spr_template 0x279d, 0x279d, gUnknown_08524904, gUnknown_08595AB0, NULL, gDummySpriteAffineAnimTable, sub_810BC94
-
- .align 2
-gUnknown_08595BE0:: @ 8595BE0
- .2byte 0x0000, 0x0005, 0x0002, 0x0005, 0x0004, 0x0005, 0x0006, 0x0005
- .2byte 0x0004, 0x0005, 0x0002, 0x0005, 0x0000, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595C00:: @ 8595C00
- .4byte gUnknown_08595BE0
-
- .align 2
-gUnknown_08595C04:: @ 8595C04
- spr_template 0x279e, 0x279e, gUnknown_08524A64, gUnknown_08595C00, NULL, gDummySpriteAffineAnimTable, sub_810BE48
-
- .align 2
-gUnknown_08595C1C:: @ 8595C1C
- .2byte 0x0000, 0x0008, 0x0008, 0x0008, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08595C28:: @ 8595C28
- .4byte gUnknown_08595C1C
-
- .align 2
-gUnknown_08595C2C:: @ 8595C2C
- spr_template 0x27a0, 0x27a0, gUnknown_08524A54, gUnknown_08595C28, NULL, gDummySpriteAffineAnimTable, sub_810BED0
-
- .align 2
-gUnknown_08595C44:: @ 8595C44
- spr_template 0x27bc, 0x27bc, gUnknown_08524A54, gUnknown_08595C28, NULL, gDummySpriteAffineAnimTable, sub_810BED0
-
- .align 2
-gUnknown_08595C5C:: @ 8595C5C
- .byte 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x04
- .byte 0x04, 0x04, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07
- .byte 0x08, 0x08, 0x08, 0x09
-
- .align 2
-gUnknown_08595C70:: @ 8595C70
- spr_template 0x27ab, 0x27ab, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810C2F0
-
- .align 2
-gUnknown_08595C88:: @ 8595C88
- .byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02
- .byte 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04
- .byte 0x04, 0x04, 0x04, 0x05
-
- .align 2
-gUnknown_08595C9C:: @ 8595C9C
- spr_template 0x27bc, 0x27bc, gUnknown_08524A54, gUnknown_08595C28, NULL, gDummySpriteAffineAnimTable, sub_810C560
-
- .align 2
-gUnknown_08595CB4:: @ 8595CB4
- .byte 0x64, 0xe0, 0x01, 0x20, 0x55, 0xe0, 0x01, 0x00
- .byte 0xf2, 0xe0, 0x11, 0x10, 0x42, 0xe0, 0x21, 0x10
- .byte 0xb6, 0xe0, 0x31, 0x00, 0x3c, 0xe0, 0x01, 0x20
- .byte 0xd6, 0xe0, 0x11, 0x00, 0x71, 0xe0, 0x01, 0x10
- .byte 0xd2, 0xe0, 0x31, 0x10, 0x26, 0xe0, 0x21, 0x00
-
- .align 2
-gUnknown_08595CDC:: @ 8595CDC
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595CEC:: @ 8595CEC
- .2byte 0x00f0, 0x00f0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595CFC:: @ 8595CFC
- .2byte 0x00e0, 0x00e0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595D0C:: @ 8595D0C
- .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595D1C:: @ 8595D1C
- .4byte gUnknown_08595CDC
- .4byte gUnknown_08595CEC
- .4byte gUnknown_08595CFC
-
- .align 2
-gUnknown_08595D28:: @ 8595D28
- .4byte gUnknown_08595D0C
-
- .align 2
-gUnknown_08595D2C:: @ 8595D2C
- spr_template 0x2817, 0x2817, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08595D1C, sub_810CB58
-
- .align 2
-gUnknown_08595D44:: @ 8595D44
- spr_template 0x2817, 0x2817, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08595D28, sub_80A8EE4
-
- .align 2
-gUnknown_08595D5C:: @ 8595D5C
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595D64:: @ 8595D64
- .2byte 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004, 0x0040, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595D78:: @ 8595D78
- .4byte gUnknown_08595D5C
- .4byte gUnknown_08595D64
-
- .align 2
-gUnknown_08595D80:: @ 8595D80
- .2byte 0x00e0, 0x00e0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595D90:: @ 8595D90
- .2byte 0x0118, 0x0118, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595DA0:: @ 8595DA0
- .2byte 0x0150, 0x0150, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595DB0:: @ 8595DB0
- .2byte 0x0180, 0x0180, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595DC0:: @ 8595DC0
- .2byte 0x01c0, 0x01c0, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595DD0:: @ 8595DD0
- .4byte gUnknown_08595D80
- .4byte gUnknown_08595D90
- .4byte gUnknown_08595DA0
- .4byte gUnknown_08595DB0
- .4byte gUnknown_08595DC0
-
- .align 2
-gUnknown_08595DE4:: @ 8595DE4
- spr_template 0x273b, 0x273b, gUnknown_085249D4, gUnknown_08595D78, NULL, gUnknown_08595DD0, unc_080B06FC
-
- .align 2
-gUnknown_08595DFC:: @ 8595DFC
- spr_template 0x279d, 0x279d, gUnknown_08524904, gUnknown_08595AAC, NULL, gDummySpriteAffineAnimTable, sub_810CD4C
-
- .align 2
-gUnknown_08595E14:: @ 8595E14
- spr_template 0x2742, 0x2742, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0
-
- .align 2
-gUnknown_08595E2C:: @ 8595E2C
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595E34:: @ 8595E34
- .2byte 0x0010, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595E3C:: @ 8595E3C
- .2byte 0x0020, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595E44:: @ 8595E44
- .2byte 0x0030, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595E4C:: @ 8595E4C
- .2byte 0x0030, 0x0041, 0xffff, 0x0000
-
- .align 2
-gUnknown_08595E54:: @ 8595E54
- .4byte gUnknown_08595E2C
-
- .align 2
-gUnknown_08595E58:: @ 8595E58
- .4byte gUnknown_08595E34
- .4byte gUnknown_08595E3C
-
- .align 2
-gUnknown_08595E60:: @ 8595E60
- .4byte gUnknown_08595E44
- .4byte gUnknown_08595E4C
-
- .align 2
-gUnknown_08595E68:: @ 8595E68
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CE68
-
- .align 2
-gUnknown_08595E80:: @ 8595E80
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CEB4
-
- .align 2
-gFistFootSpriteTemplate:: @ 8595E98
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CEE0
-
- .align 2
-gUnknown_08595EB0:: @ 8595EB0
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810CF30
-
- .align 2
-gUnknown_08595EC8:: @ 8595EC8
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E60, NULL, gDummySpriteAffineAnimTable, sub_810D10C
-
- .align 2
-gUnknown_08595EE0:: @ 8595EE0
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E58, NULL, gDummySpriteAffineAnimTable, sub_810D1B4
-
- .align 2
-gUnknown_08595EF8:: @ 8595EF8
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0114, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595F10:: @ 8595F10
- .4byte gUnknown_08595EF8
-
- .align 2
-gUnknown_08595F14:: @ 8595F14
- spr_template 0x279f, 0x279f, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08595F10, sub_810D278
-
- .align 2
-gUnknown_08595F2C:: @ 8595F2C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffc, 0xfffc, 0x0114, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595F44:: @ 8595F44
- .4byte gUnknown_08595F2C
-
- .align 2
-gMegaPunchKickSpriteTemplate:: @ 8595F48
- spr_template 0x279f, 0x279f, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08595F44, sub_810D278
-
- .align 2
-gUnknown_08595F60:: @ 8595F60
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E58, NULL, gDummySpriteAffineAnimTable, sub_810D2E4
-
- .align 2
-gUnknown_08595F78:: @ 8595F78
- spr_template 0x2759, 0x2759, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D37C
-
- .align 2
-gUnknown_08595F90:: @ 8595F90
- spr_template 0x27b7, 0x27b7, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D40C
-
- .align 2
-gUnknown_08595FA8:: @ 8595FA8
- spr_template 0x27e0, 0x27e0, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D4F4
-
- .align 2
-gUnknown_08595FC0:: @ 8595FC0
- .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0004, 0x0004, 0x4000, 0x0000
- .2byte 0xfffa, 0xfffa, 0x0800, 0x0000, 0x0006, 0x0006, 0x0800, 0x0000
- .2byte 0x7ffe, 0x0002, 0x0000, 0x0000
-
- .align 2
-gUnknown_08595FE8:: @ 8595FE8
- .4byte gUnknown_08595FC0
-
- .align 2
-gUnknown_08595FEC:: @ 8595FEC
- spr_template 0x27e4, 0x27e4, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08595FE8, sub_810D608
-
- .align 2
-gUnknown_08596004:: @ 8596004
- spr_template 0x2811, 0x2811, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D714
-
- .align 2
-gUnknown_0859601C:: @ 859601C
- spr_template 0x2810, 0x2810, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810D874
-
- .align 2
-gUnknown_08596034:: @ 8596034
- spr_template 0x279f, 0x279f, gUnknown_08524914, gUnknown_08595E54, NULL, gDummySpriteAffineAnimTable, sub_810D984
-
- .align 2
-gUnknown_0859604C:: @ 859604C
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859605C:: @ 859605C
- .2byte 0x0000, 0x0084, 0x0010, 0x0084, 0x0020, 0x0084, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859606C:: @ 859606C
- .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859607C:: @ 859607C
- .4byte gUnknown_0859604C
- .4byte gUnknown_0859605C
- .4byte gUnknown_0859606C
-
- .align 2
-gUnknown_08596088:: @ 8596088
- spr_template 0x2805, 0x2805, gUnknown_08524914, gUnknown_0859607C, NULL, gDummySpriteAffineAnimTable, sub_810DA10
-
- .align 2
-gUnknown_085960A0:: @ 85960A0
- .2byte 0x0000, 0x0006, 0x0040, 0x0006, 0xffff, 0x0000
-
- .align 2
-gUnknown_085960AC:: @ 85960AC
- .2byte 0x0000, 0x00c6, 0x0040, 0x00c6, 0xffff, 0x0000
-
- .align 2
-gUnknown_085960B8:: @ 85960B8
- .2byte 0x0000, 0x0046, 0x0040, 0x0046, 0xffff, 0x0000
-
- .align 2
-gUnknown_085960C4:: @ 85960C4
- .4byte gUnknown_085960A0
- .4byte gUnknown_085960AC
- .4byte gUnknown_085960B8
-
- .align 2
-gUnknown_085960D0:: @ 85960D0
- spr_template 0x2806, 0x2806, gUnknown_0852491C, gUnknown_085960C4, NULL, gDummySpriteAffineAnimTable, sub_810DA10
-
- .align 2
-gUnknown_085960E8:: @ 85960E8
- .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0xffe0, 0xffe0, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596100:: @ 8596100
- .4byte gUnknown_085960E8
-
- .align 2
-gUnknown_08596104:: @ 8596104
- spr_template 0x279f, 0x279f, gUnknown_085249D4, gUnknown_08595E54, NULL, gUnknown_08596100, sub_810DA7C
-
- .align 2
-gUnknown_0859611C:: @ 859611C
- .2byte 0x0000, 0x0005, 0x0008, 0x0005, 0x0010, 0x0005, 0x0018, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596130:: @ 8596130
- .4byte gUnknown_0859611C
-
- .align 2
-gUnknown_08596134:: @ 8596134
- spr_template 0x27a7, 0x27a7, gUnknown_08524954, gUnknown_08596130, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
-
- .align 2
-gUnknown_0859614C:: @ 859614C
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596154:: @ 8596154
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_0859615C:: @ 859615C
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596164:: @ 8596164
- .4byte gUnknown_0859614C
-
- .align 2
-gUnknown_08596168:: @ 8596168
- .4byte gUnknown_08596154
-
- .align 2
-gUnknown_0859616C:: @ 859616C
- .4byte gUnknown_0859615C
-
- .align 2
-gUnknown_08596170:: @ 8596170
- .2byte 0x0160, 0x0160, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0a00, 0x0000
- .2byte 0x000a, 0x000a, 0x0a00, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596190:: @ 8596190
- .2byte 0x00ec, 0x00ec, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085961A0:: @ 85961A0
- .4byte gUnknown_08596170
-
- .align 2
-gUnknown_085961A4:: @ 85961A4
- .4byte gUnknown_08596190
-
- .align 2
-gUnknown_085961A8:: @ 85961A8
- spr_template 0x27a6, 0x27a6, gUnknown_085249CC, gUnknown_08596164, NULL, gUnknown_085961A0, sub_810DBAC
-
- .align 2
-gUnknown_085961C0:: @ 85961C0
- spr_template 0x27a6, 0x27a6, gUnknown_085249CC, gUnknown_08596164, NULL, gUnknown_085961A0, sub_810DC2C
-
- .align 2
-gUnknown_085961D8:: @ 85961D8
- spr_template 0x27a6, 0x27a6, gUnknown_0852496C, gUnknown_0859616C, NULL, gUnknown_085961A4, sub_810DCD0
-
- .align 2
-gUnknown_085961F0:: @ 85961F0
- .2byte 0xfff0, 0x0010, 0x0600, 0x0000, 0x0010, 0xfff0, 0x0600, 0x0000
- .2byte 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596208:: @ 8596208
- .4byte gUnknown_085961F0
-
- .align 2
-gUnknown_0859620C:: @ 859620C
- spr_template 0x27a6, 0x27a6, gUnknown_085249CC, gUnknown_08596168, NULL, gUnknown_08596208, sub_810DD50
-
- .align 2
-gUnknown_08596224:: @ 8596224
- .2byte 0x009c, 0x009c, 0x0000, 0x0000, 0x0005, 0x0005, 0x1400, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859623C:: @ 859623C
- .4byte gUnknown_08596224
-
- .align 2
-gPoisonBubbleSpriteTemplate:: @ 8596240
- spr_template 0x27a6, 0x27a6, gUnknown_0852496C, gUnknown_08596164, NULL, gUnknown_0859623C, sub_810DDC4
-
- .align 2
-gWaterBubbleSpriteTemplate:: @ 8596258
- spr_template 0x27ab, 0x27ab, gUnknown_08524A8C, gUnknown_08595200, NULL, gUnknown_0859623C, sub_810DDC4
-
- .align 2
-gUnknown_08596270:: @ 8596270
- spr_template 0x2719, 0x2719, gUnknown_0852495C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810DE70
-
- .align 2
-gUnknown_08596288:: @ 8596288
- .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x000a, 0x0000, 0x1800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085962A0:: @ 85962A0
- .4byte gUnknown_08596288
-
- .align 2
-gBattleAnimSpriteTemplate_85962A4:: @ 85962A4
- spr_template 0x2719, 0x2719, gUnknown_085249BC, gDummySpriteAnimTable, NULL, gUnknown_085962A0, sub_810DFA8
-
- .align 2
-gUnknown_085962BC:: @ 85962BC
- .2byte 0x0000, 0x0003, 0x0000, 0x0043, 0x0000, 0x0083, 0x0000, 0x00c3, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085962D0:: @ 85962D0
- .4byte gUnknown_085962BC
-
- .align 2
-gUnknown_085962D4:: @ 85962D4
- spr_template 0x27aa, 0x27aa, gUnknown_08524934, gUnknown_085962D0, NULL, gDummySpriteAffineAnimTable, sub_810E044
-
- .align 2
-gUnknown_085962EC:: @ 85962EC
- .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0028, 0x0000, 0x0600, 0x0000
- .2byte 0x0000, 0xffe0, 0x0500, 0x0000, 0xfff0, 0x0020, 0x0a00, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596314:: @ 8596314
- .4byte gUnknown_085962EC
-
- .align 2
-gUnknown_08596318:: @ 8596318
- .2byte 0x0000, 0x0000, 0x0132, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596328:: @ 8596328
- .2byte 0x0000, 0x0000, 0x01d8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596338:: @ 8596338
- .4byte gUnknown_08596318
- .4byte gUnknown_08596328
-
- .align 2
-gUnknown_08596340:: @ 8596340
- spr_template 0x27ac, 0x27ac, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_08596314, sub_810E13C
-
- .align 2
-gUnknown_08596358:: @ 8596358
- spr_template 0x27ac, 0x27ac, gUnknown_0852497C, gDummySpriteAnimTable, NULL, gUnknown_08596338, sub_810E1C8
-
- .align 2
-gUnknown_08596370:: @ 8596370
- .2byte 0x0000, 0x0000, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596378:: @ 8596378
- .2byte 0x0010, 0x0040, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596380:: @ 8596380
- .4byte gUnknown_08596370
- .4byte gUnknown_08596378
-
- .align 2
-gUnknown_08596388:: @ 8596388
- spr_template 0x281e, 0x281e, gUnknown_08524974, gUnknown_08596380, NULL, gDummySpriteAffineAnimTable, sub_810E314
-
- .align 2
-gUnknown_085963A0:: @ 85963A0
- spr_template 0x27ab, 0x27ab, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810EA4C
-
- .align 2
-gUnknown_085963B8:: @ 85963B8
- .2byte 0x0000, 0x0001, 0x0008, 0x0001, 0x0010, 0x0001, 0x0008, 0x0041
- .2byte 0x0000, 0x0041, 0xffff, 0x0000
-
- .align 2
-gUnknown_085963D0:: @ 85963D0
- .4byte gUnknown_085963B8
-
- .align 2
-gUnknown_085963D4:: @ 85963D4
- spr_template 0x27b2, 0x27b2, gUnknown_08524934, gUnknown_085963D0, NULL, gDummySpriteAffineAnimTable, sub_810EAA0
-
- .align 2
-gUnknown_085963EC:: @ 85963EC
- .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0028, 0x0000, 0x0600, 0x0000
- .2byte 0x0000, 0xffe0, 0x0500, 0x0000, 0xffec, 0x0000, 0x0700, 0x0000
- .2byte 0xffec, 0xffec, 0x0500, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859641C:: @ 859641C
- .4byte gUnknown_085963EC
-
- .align 2
-gUnknown_08596420:: @ 8596420
- spr_template 0x27ac, 0x27ac, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_0859641C, sub_810EC34
-
- .align 2
-gUnknown_08596438:: @ 8596438
- .2byte 0x00a0, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596448:: @ 8596448
- .4byte gUnknown_08596438
-
- .align 2
-gUnknown_0859644C:: @ 859644C
- spr_template 0x27ac, 0x27ac, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_08596448, sub_810EC94
-
- .align 2
-gUnknown_08596464:: @ 8596464
- .2byte 0x0010, 0x0100, 0x0000, 0x0000, 0x0028, 0x0000, 0x0600, 0x0000
- .2byte 0x0000, 0xffe0, 0x0500, 0x0000, 0xfff0, 0x0020, 0x0a00, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859648C:: @ 859648C
- .4byte gUnknown_08596464
-
- .align 2
-gUnknown_08596490:: @ 8596490
- spr_template 0x27ac, 0x27ac, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_0859648C, sub_810ED28
-
- .align 2
-gUnknown_085964A8:: @ 85964A8
- .2byte 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0c00, 0x0000
- .2byte 0x0000, 0xffe0, 0x0b00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085964C8:: @ 85964C8
- .4byte gUnknown_085964A8
-
- .align 2
-gUnknown_085964CC:: @ 85964CC
- spr_template 0x2820, 0x2820, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810EE14
-
- .align 2
-gUnknown_085964E4:: @ 85964E4
- spr_template 0x2821, 0x2821, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810EEF8
-
- .align 2
-gUnknown_085964FC:: @ 85964FC
- spr_template 0x27e4, 0x27e4, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F004
-
- .align 2
-gUnknown_08596514:: @ 8596514
- spr_template 0x282c, 0x282c, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F084
-
- .align 2
-gUnknown_0859652C:: @ 859652C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffe, 0xfffe, 0x78f6, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596544:: @ 8596544
- .4byte gUnknown_0859652C
-
- .align 2
-gUnknown_08596548:: @ 8596548
- spr_template 0x27d4, 0x27d4, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08596544, sub_80A77C8
-
- .align 2
-gUnknown_08596560:: @ 8596560
- spr_template 0x27b6, 0x27b6, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC
-
- .align 2
-gUnknown_08596578:: @ 8596578
- spr_template 0x27b7, 0x27b7, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC
-
- .align 2
-gUnknown_08596590:: @ 8596590
- spr_template 0x27b8, 0x27b8, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC
-
- .align 2
-gUnknown_085965A8:: @ 85965A8
- spr_template 0x27b9, 0x27b9, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC
-
- .align 2
-gUnknown_085965C0:: @ 85965C0
- spr_template 0x27ba, 0x27ba, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810F1EC
-
- .align 2
-gUnknown_085965D8:: @ 85965D8
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003
- .2byte 0x0040, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_085965F0:: @ 85965F0
- .4byte gUnknown_085965D8
-
- .align 2
-gUnknown_085965F4:: @ 85965F4
- spr_template 0x2757, 0x2757, gUnknown_08524914, gUnknown_085965F0, NULL, gDummySpriteAffineAnimTable, sub_810F58C
-
- .align 2
-gUnknown_0859660C:: @ 859660C
- .2byte 0x0000, 0x0005, 0x0004, 0x0005, 0x0008, 0x0005, 0x000c, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596620:: @ 8596620
- .4byte gUnknown_0859660C
-
- .align 2
-gUnknown_08596624:: @ 8596624
- spr_template 0x2756, 0x2756, gUnknown_0852490C, gUnknown_08596620, NULL, gDummySpriteAffineAnimTable, sub_810F58C
-
- .align 2
-gUnknown_0859663C:: @ 859663C
- spr_template 0x27b3, 0x27b3, gUnknown_08524954, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
-
- .align 2
-gUnknown_08596654:: @ 8596654
- .2byte 0x0008, 0x007c, 0x0010, 0x0045, 0x0008, 0x0045, 0x0000, 0x0045
- .2byte 0x0008, 0x0056, 0xfffd, 0x0000, 0x0010, 0x0045, 0x0008, 0x0045
- .2byte 0x0000, 0x0045, 0x0008, 0x0045, 0xfffd, 0x0001, 0x0008, 0x0056
- .2byte 0x0018, 0x0043, 0x0020, 0x0043, 0x0028, 0x0056, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596694:: @ 8596694
- .2byte 0x0008, 0x003c, 0x0010, 0x0005, 0x0008, 0x0005, 0x0000, 0x0005
- .2byte 0x0008, 0x0016, 0xfffd, 0x0000, 0x0010, 0x0005, 0x0008, 0x0005
- .2byte 0x0000, 0x0005, 0x0008, 0x0005, 0xfffd, 0x0001, 0x0008, 0x0016
- .2byte 0x0018, 0x0003, 0x0020, 0x0003, 0x0028, 0x0016, 0xffff, 0x0000
-
- .align 2
-gUnknown_085966D4:: @ 85966D4
- .4byte gUnknown_08596654
- .4byte gUnknown_08596694
-
- .align 2
-gUnknown_085966DC:: @ 85966DC
- spr_template 0x2771, 0x2771, gUnknown_08524954, gUnknown_085966D4, NULL, gDummySpriteAffineAnimTable, sub_810F634
-
- .align 2
-gUnknown_085966F4:: @ 85966F4
- .2byte 0x0000, 0x0006, 0x0010, 0x0006, 0x0020, 0x0006, 0x0030, 0x0006
- .2byte 0x0040, 0x0006, 0x0050, 0x0006, 0x0060, 0x0012, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596714:: @ 8596714
- .4byte gUnknown_085966F4
-
- .align 2
-gUnknown_08596718:: @ 8596718
- .2byte 0x0000, 0x0000, 0x0404, 0x0000, 0x0000, 0x0000, 0x08fc, 0x0000
- .2byte 0x0000, 0x0000, 0x0404, 0x0000, 0x7ffd, 0x0002, 0x0000, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596740:: @ 8596740
- .4byte gUnknown_08596718
-
- .align 2
-gUnknown_08596744:: @ 8596744
- spr_template 0x276d, 0x276d, gUnknown_08524914, gUnknown_08596714, NULL, gDummySpriteAffineAnimTable, sub_810F6B0
-
- .align 2
-gUnknown_0859675C:: @ 859675C
- .2byte 0xfff8, 0x000a, 0x1000, 0x0000, 0x0012, 0xffee, 0x1000, 0x0000
- .2byte 0xffec, 0x0010, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859677C:: @ 859677C
- .2byte 0x0040, 0xfffc, 0x1400, 0x0000, 0x0000, 0x0000, 0xc800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596794:: @ 8596794
- spr_template 0x2809, 0x2809, gUnknown_08524A2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_085967AC:: @ 85967AC
- spr_template 0x280a, 0x280a, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_810FBA8
-
- .align 2
-gUnknown_085967C4:: @ 85967C4
- .2byte 0xfff8, 0xfff8, 0x0800, 0x0000, 0x0008, 0x0008, 0x0800, 0x0000
- .2byte 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085967DC:: @ 85967DC
- .2byte 0x00f0, 0x00f0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0600, 0x0000
- .2byte 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0200, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596804:: @ 8596804
- .2byte 0x00d0, 0x00d0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0400, 0x0000
- .2byte 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0400, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859682C:: @ 859682C
- .2byte 0x00b0, 0x00b0, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0200, 0x0000
- .2byte 0x0008, 0x0008, 0x0800, 0x0000, 0xfff8, 0xfff8, 0x0600, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596854:: @ 8596854
- .4byte gUnknown_085967C4
- .4byte gUnknown_085967DC
- .4byte gUnknown_08596804
- .4byte gUnknown_0859682C
-
- .align 2
-gUnknown_08596864:: @ 8596864
- spr_template 0x280b, 0x280b, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_08596854, sub_810FDF0
-
- .align 2
-gUnknown_0859687C:: @ 859687C
- .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0004, 0x0004, 0x7800, 0x0000
- .2byte 0x7fff, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596894:: @ 8596894
- .4byte gUnknown_0859687C
-
- .align 2
-gUnknown_08596898:: @ 8596898
- spr_template 0x281b, 0x281b, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596894, sub_80A77C8
-
- .align 2
-gUnknown_085968B0:: @ 85968B0
- .2byte 0x0020, 0x0020, 0x0000, 0x0000, 0x0010, 0x0010, 0x1100, 0x0000
- .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0xfff8, 0xfff8, 0x0a00, 0x0000
- .2byte 0x0008, 0x0008, 0x0a00, 0x0000, 0x7ffd, 0x0004, 0x0000, 0x0000
- .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0xfff0, 0xfff0, 0x0500, 0x0000
- .2byte 0x0010, 0x0010, 0x0500, 0x0000, 0x7ffd, 0x0007, 0x0000, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596908:: @ 8596908
- .2byte 0xffec, 0x0018, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596918:: @ 8596918
- .4byte gUnknown_085968B0
- .4byte gUnknown_08596908
-
- .align 2
-gUnknown_08596920:: @ 8596920
- spr_template 0x27e4, 0x27e4, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596918, sub_8110240
-
- .align 2
-gUnknown_08596938:: @ 8596938
- .2byte 0x0100, 0x0100, 0x001e, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596948:: @ 8596948
- .2byte 0x0100, 0x0100, 0x009d, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596958:: @ 8596958
- .2byte 0x0100, 0x0100, 0x005e, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596968:: @ 8596968
- .4byte gUnknown_08596938
- .4byte gUnknown_08596948
- .4byte gUnknown_08596958
-
- .align 2
-gUnknown_08596974:: @ 8596974
- spr_template 0x27a9, 0x27a9, gUnknown_085249F4, gDummySpriteAnimTable, NULL, gUnknown_08596968, sub_8110368
-
- .align 2
-gUnknown_0859698C:: @ 859698C
- .2byte 0x0000, 0x0000, 0x01df, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_0859699C:: @ 859699C
- .2byte 0x0000, 0x0000, 0x0160, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085969AC:: @ 85969AC
- .2byte 0x0000, 0x0000, 0x01a0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085969BC:: @ 85969BC
- .4byte gUnknown_0859698C
- .4byte gUnknown_0859699C
- .4byte gUnknown_085969AC
-
- .align 2
-gUnknown_085969C8:: @ 85969C8
- spr_template 0x27b1, 0x27b1, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_085969BC, sub_8110438
-
- .align 2
-gUnknown_085969E0:: @ 85969E0
- spr_template 0x27c4, 0x27c4, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81104E4
-
- .align 2
-gUnknown_085969F8:: @ 85969F8
- spr_template 0x27c3, 0x27c3, gUnknown_0852493C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81105B4
-
- .align 2
-gUnknown_08596A10:: @ 8596A10
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0006, 0x0006, 0x0100, 0x0000
- .2byte 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596A28:: @ 8596A28
- .4byte gUnknown_08596A10
-
- .align 2
-gUnknown_08596A2C:: @ 8596A2C
- spr_template 0x27c5, 0x27c5, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_08596A28, sub_811067C
-
- .align 2
-gLinearStingerSpriteTemplate:: @ 8596A44
- spr_template 0x27b1, 0x27b1, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110720
-
- .align 2
-gPinMissileSpriteTemplate:: @ 8596A5C
- spr_template 0x27b1, 0x27b1, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110850
-
- .align 2
-gIcicleSpearSpriteTemplate:: @ 8596A74
- spr_template 0x2816, 0x2816, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110850
-
- .align 2
-gUnknown_08596A8C:: @ 8596A8C
- .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0008, 0x0008, 0x1200, 0x0000
- .2byte 0x7ffd, 0x0000, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x0800, 0x0000
- .2byte 0x0005, 0x0005, 0x0800, 0x0000, 0x7ffd, 0x0005, 0x0000, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596AC4:: @ 8596AC4
- .4byte gUnknown_08596A8C
-
- .align 2
-gUnknown_08596AC8:: @ 8596AC8
- spr_template 0x27e4, 0x27e4, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08596AC4, sub_8110994
-
- .align 2
-gUnknown_08596AE0:: @ 8596AE0
- .2byte 0x0020, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596AE8:: @ 8596AE8
- .2byte 0x0030, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596AF0:: @ 8596AF0
- .2byte 0x0040, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596AF8:: @ 8596AF8
- .4byte gUnknown_08596AE0
- .4byte gUnknown_08596AE8
- .4byte gUnknown_08596AF0
-
- .align 2
-gUnknown_08596B04:: @ 8596B04
- spr_template 0x274a, 0x274a, gUnknown_08524914, gUnknown_08596AF8, NULL, gDummySpriteAffineAnimTable, sub_81109F0
-
- .align 2
-gUnknown_08596B1C:: @ 8596B1C
- spr_template 0x274a, 0x274a, gUnknown_08524914, gUnknown_08596AF8, NULL, gDummySpriteAffineAnimTable, sub_8110AB4
-
- .align 2
-gUnknown_08596B34:: @ 8596B34
- spr_template 0x275a, 0x275a, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110B38
-
- .align 2
-gUnknown_08596B4C:: @ 8596B4C
- .2byte 0x00c0, 0x00c0, 0x0000, 0x0000, 0x0002, 0xfffd, 0x0500, 0x0000
- .2byte 0xfffe, 0x0003, 0x0500, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596B6C:: @ 8596B6C
- .4byte gUnknown_08596B4C
-
- .align 2
-gUnknown_08596B70:: @ 8596B70
- spr_template 0x27a5, 0x27a5, gUnknown_08524A8C, gUnknown_085950E0, NULL, gUnknown_08596B6C, sub_8110B38
-
- .align 2
-gUnknown_08596B88:: @ 8596B88
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_085954D0, NULL, gDummySpriteAffineAnimTable, sub_8110B38
-
- .align 2
-gBattleAnimSpriteTemplate_8596BA0:: @ 8596BA0
- spr_template 0x2815, 0x2815, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8110E4C
-
- .align 2
-gUnknown_08596BB8:: @ 8596BB8
- .2byte 0x00f0, 0x4009, 0x0010, 0x4089
-
- .align 2
-gUnknown_08596BC0:: @ 8596BC0
- .2byte 0x0002, 0x0000
-
- .align 2
-gUnknown_08596BC4:: @ 8596BC4
- .4byte gUnknown_08596BB8
-
- .align 2
-gUnknown_08596BC8:: @ 8596BC8
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596BD0:: @ 8596BD0
- .2byte 0x0010, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596BD8:: @ 8596BD8
- .2byte 0x0020, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596BE0:: @ 8596BE0
- .2byte 0x0030, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596BE8:: @ 8596BE8
- .2byte 0x0040, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596BF0:: @ 8596BF0
- .2byte 0x0050, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596BF8:: @ 8596BF8
- .4byte gUnknown_08596BC8
- .4byte gUnknown_08596BD0
-
- .align 2
-gUnknown_08596C00:: @ 8596C00
- .4byte gUnknown_08596BD8
- .4byte gUnknown_08596BE0
-
- .align 2
-gUnknown_08596C08:: @ 8596C08
- .4byte gUnknown_08596BE8
- .4byte gUnknown_08596BF0
-
- .align 2
-gUnknown_08596C10:: @ 8596C10
- spr_template 0x274a, 0x274a, gUnknown_08524914, gUnknown_08596BF8, NULL, gDummySpriteAffineAnimTable, sub_8110F30
-
- .align 2
-gUnknown_08596C28:: @ 8596C28
- spr_template 0x275a, 0x275a, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_811131C
-
- .align 2
-gUnknown_08596C40:: @ 8596C40
- spr_template 0x274a, 0x274a, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_811131C
-
- .align 2
-gUnknown_08596C58:: @ 8596C58
- spr_template 0x274a, 0x274a, gUnknown_08524914, gUnknown_08596BF8, NULL, gDummySpriteAffineAnimTable, sub_8111388
-
- .align 2
-gUnknown_08596C70:: @ 8596C70
- .2byte 0x0000, 0x0000, 0x05fb, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596C80:: @ 8596C80
- .2byte 0x0000, 0x0000, 0x0505, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596C90:: @ 8596C90
- .4byte gUnknown_08596C70
- .4byte gUnknown_08596C80
-
- .align 2
-gUnknown_08596C98:: @ 8596C98
- spr_template 0x274a, 0x274a, gUnknown_08524974, gUnknown_08596BF8, NULL, gUnknown_08596C90, sub_8111418
-
- .align 2
-gUnknown_08596CB0:: @ 8596CB0
- spr_template 0x274a, 0x274a, gUnknown_08524974, gUnknown_08596BF8, NULL, gUnknown_08596C90, sub_8111444
-
- .align 2
-gUnknown_08596CC8:: @ 8596CC8
- spr_template 0x274a, 0x274a, gUnknown_08524914, gUnknown_08596C08, NULL, gUnknown_08596C90, sub_80FF268
-
- .align 2
-gUnknown_08596CE0:: @ 8596CE0
- spr_template 0x274a, 0x274a, gUnknown_08524974, gUnknown_08596C00, NULL, gUnknown_08596C90, sub_80A8EE4
-
- .align 2
-gUnknown_08596CF8:: @ 8596CF8
- .2byte 0x001e, 0x001e, 0x050a, 0x0000, 0xffe2, 0xffe2, 0x050a, 0x0000
- .2byte 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596D10:: @ 8596D10
- .4byte gUnknown_08596CF8
-
- .align 2
-gUnknown_08596D14:: @ 8596D14
- spr_template 0x271d, 0x271d, gUnknown_085249CC, gDummySpriteAnimTable, NULL, gUnknown_08596D10, sub_811160C
-
- .align 2
-gUnknown_08596D2C:: @ 8596D2C
- spr_template 0x271d, 0x271d, gUnknown_08524A2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81117F4
-
- .align 2
-gUnknown_08596D44:: @ 8596D44
- .2byte 0x0000, 0x0000, 0x010a, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596D54:: @ 8596D54
- .4byte gUnknown_08596D44
-
- .align 2
-gUnknown_08596D58:: @ 8596D58
- spr_template 0x27c0, 0x27c0, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08596D54, sub_81119E0
-
- .align 2
-gUnknown_08596D70:: @ 8596D70
- .2byte 0x0000, 0x0002, 0x0008, 0x0002, 0x0010, 0x0002, 0x0018, 0x0002
- .2byte 0x0020, 0x0002, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596D88:: @ 8596D88
- .4byte gUnknown_08596D70
-
- .align 2
-gUnknown_08596D8C:: @ 8596D8C
- spr_template 0x27c1, 0x27c1, gUnknown_08524954, gUnknown_08596D88, NULL, gDummySpriteAffineAnimTable, sub_8111B9C
-
- .align 2
-gUnknown_08596DA4:: @ 8596DA4
- .2byte 0x0200, 0x0200, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596DB4:: @ 8596DB4
- .4byte gUnknown_08596DA4
-
- .align 2
-gUnknown_08596DB8:: @ 8596DB8
- spr_template 0x27cc, 0x27cc, gUnknown_08524A5C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112264
-
- .align 2
-gUnknown_08596DD0:: @ 8596DD0
- spr_template 0x27d7, 0x27d7, gUnknown_08524A54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81129F0
-
- .align 2
-gBattleAnimSpriteTemplate_8596DE8:: @ 8596DE8
- spr_template 0x27d8, 0x27d8, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112B78
-
- .align 2
-gBattleAnimSpriteTemplate_8596E00:: @ 8596E00
- spr_template 0x27ed, 0x27ed, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112B78
-
- .align 2
-gUnknown_08596E18:: @ 8596E18
- .2byte 0x0000, 0x0004, 0x0008, 0x0004, 0x0010, 0x0004, 0x0018, 0x0004, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08596E2C:: @ 8596E2C
- .4byte gUnknown_08596E18
-
- .align 2
-gUnknown_08596E30:: @ 8596E30
- spr_template 0x280d, 0x280d, gUnknown_08524A74, gUnknown_08596E2C, NULL, gDummySpriteAffineAnimTable, sub_8112E9C
-
- .align 2
-gUnknown_08596E48:: @ 8596E48
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8112F60
-
- .align 2
-gUnknown_08596E60:: @ 8596E60
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004
- .2byte 0x0040, 0x0004, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08596E78:: @ 8596E78
- .4byte gUnknown_08596E60
-
- .align 2
-gBattleAnimSpriteTemplate_8596E7C:: @ 8596E7C
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08596E78, NULL, gDummySpriteAffineAnimTable, sub_8113064
-
- .align 2
-gUnknown_08596E94:: @ 8596E94
- .2byte 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08596EA4:: @ 8596EA4
- .2byte 0x0010, 0x00c3, 0x0020, 0x00c3, 0x0030, 0x00c3, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08596EB4:: @ 8596EB4
- .4byte gUnknown_08596E94
- .4byte gUnknown_08596EA4
-
- .align 2
-gUnknown_08596EBC:: @ 8596EBC
- .2byte 0x0050, 0x0050, 0x007f, 0x0000, 0x000d, 0x000d, 0x6400, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596ED4:: @ 8596ED4
- .2byte 0x0050, 0x0050, 0x0000, 0x0000, 0x000d, 0x000d, 0x6400, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596EEC:: @ 8596EEC
- .4byte gUnknown_08596EBC
- .4byte gUnknown_08596ED4
-
- .align 2
-gUnknown_08596EF4:: @ 8596EF4
- spr_template 0x272d, 0x272d, gUnknown_085249D4, gUnknown_08596EB4, NULL, gUnknown_08596EEC, sub_8113224
-
- .align 2
-gUnknown_08596F0C:: @ 8596F0C
- .2byte 0x0000, 0x0005, 0x0010, 0x0005, 0x0020, 0x0005, 0x0030, 0x0005
- .2byte 0x0040, 0x0005, 0xffff, 0x0000
-
- .align 2
-gUnknown_08596F24:: @ 8596F24
- .4byte gUnknown_08596F0C
-
- .align 2
-gUnknown_08596F28:: @ 8596F28
- spr_template 0x2733, 0x2733, gUnknown_08524914, gUnknown_08596F24, NULL, gDummySpriteAffineAnimTable, sub_81131B4
-
- .align 2
-gUnknown_08596F40:: @ 8596F40
- .2byte 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08596F50:: @ 8596F50
- .4byte gUnknown_08596F40
- .4byte gUnknown_08596F40
-
- .align 2
-gUnknown_08596F58:: @ 8596F58
- .2byte 0x0064, 0x0064, 0x017f, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596F68:: @ 8596F68
- .2byte 0x0064, 0x0064, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596F78:: @ 8596F78
- .4byte gUnknown_08596F58
- .4byte gUnknown_08596F68
-
- .align 2
-gUnknown_08596F80:: @ 8596F80
- spr_template 0x272d, 0x272d, gUnknown_085249D4, gUnknown_08596F50, NULL, gUnknown_08596F78, sub_8113224
-
- .align 2
-gUnknown_08596F98:: @ 8596F98
- spr_template 0x2809, 0x2809, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8113250
-
- .align 2
-gUnknown_08596FB0:: @ 8596FB0
- spr_template 0x272d, 0x272d, gUnknown_08524914, gUnknown_08596E78, NULL, gDummySpriteAffineAnimTable, sub_81135EC
-
- .align 2
-gUnknown_08596FC8:: @ 8596FC8
- spr_template 0x271f, 0x271f, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81138D4
-
- .align 2
-gUnknown_08596FE0:: @ 8596FE0
- .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08596FF0:: @ 8596FF0
- .2byte 0x0000, 0x0000, 0x0120, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597000:: @ 8597000
- .2byte 0x0000, 0x0000, 0x0140, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597010:: @ 8597010
- .2byte 0x0000, 0x0000, 0x0160, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597020:: @ 8597020
- .2byte 0x0000, 0x0000, 0x0180, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597030:: @ 8597030
- .2byte 0x0000, 0x0000, 0x01a0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597040:: @ 8597040
- .2byte 0x0000, 0x0000, 0x01c0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597050:: @ 8597050
- .2byte 0x0000, 0x0000, 0x01e0, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597060:: @ 8597060
- .4byte gUnknown_08596FE0
- .4byte gUnknown_08596FF0
- .4byte gUnknown_08597000
- .4byte gUnknown_08597010
- .4byte gUnknown_08597020
- .4byte gUnknown_08597030
- .4byte gUnknown_08597040
- .4byte gUnknown_08597050
-
- .align 2
-gUnknown_08597080:: @ 8597080
- spr_template 0x279b, 0x279b, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08597060, sub_81139DC
-
- .align 2
-gUnknown_08597098:: @ 8597098
- spr_template 0x27a1, 0x27a1, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_08597060, sub_81139DC
-
- .align 2
-gUnknown_085970B0:: @ 85970B0
- .2byte 0x00c0, 0x00c0, 0x0050, 0x0000, 0x0000, 0x0000, 0x08fe, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085970C8:: @ 85970C8
- .2byte 0x00c0, 0x00c0, 0x00b0, 0x0000, 0x0000, 0x0000, 0x0802, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_085970E0:: @ 85970E0
- .4byte gUnknown_085970B0
- .4byte gUnknown_085970C8
-
- .align 2
-gUnknown_085970E8:: @ 85970E8
- spr_template 0x27ab, 0x27ab, gUnknown_0852496C, gDummySpriteAnimTable, NULL, gUnknown_085970E0, sub_8113A90
-
- .align 2
-gUnknown_08597100:: @ 8597100
- .2byte 0x0000, 0x0004, 0x0010, 0x0004, 0x0020, 0x0004, 0x0030, 0x0004
- .2byte 0x0040, 0x0004, 0xffff, 0x0000
-
- .align 2
-gUnknown_08597118:: @ 8597118
- .2byte 0x0000, 0x0044, 0x0010, 0x0044, 0x0020, 0x0044, 0x0030, 0x0044
- .2byte 0x0040, 0x0044, 0xffff, 0x0000
-
- .align 2
-gUnknown_08597130:: @ 8597130
- .4byte gUnknown_08597100
- .4byte gUnknown_08597118
-
- .align 2
-gBattleAnimSpriteTemplate_8597138:: @ 8597138
- spr_template 0x2737, 0x2737, gUnknown_08524914, gUnknown_08597130, NULL, gDummySpriteAffineAnimTable, sub_81144BC
-
- .align 2
-gUnknown_08597150:: @ 8597150
- .2byte 0x0000, 0x0000, 0x010f, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597160:: @ 8597160
- .2byte 0x0000, 0x0000, 0x0114, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597170:: @ 8597170
- .4byte gUnknown_08597150
-
- .align 2
-gUnknown_08597174:: @ 8597174
- .4byte gUnknown_08597160
-
- .align 2
-gUnknown_08597178:: @ 8597178
- spr_template 0x2710, 0x2710, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08597170, sub_8114994
-
- .align 2
-gUnknown_08597190:: @ 8597190
- spr_template 0x2710, 0x2710, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08597174, sub_8114A7C
-
- .align 2
-gUnknown_085971A8:: @ 85971A8
- spr_template 0x275a, 0x275a, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8114AF0
-
- .align 2
-gUnknown_085971C0:: @ 85971C0
- .2byte 0x0001, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_085971C8:: @ 85971C8
- .4byte gUnknown_085971C0
-
- .align 2
-gUnknown_085971CC:: @ 85971CC
- spr_template 0x275a, 0x275a, gUnknown_0852490C, gUnknown_085971C8, NULL, gDummySpriteAffineAnimTable, sub_8114AF0
-
- .align 2
-gUnknown_085971E4:: @ 85971E4
- spr_template 0x275a, 0x275a, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8114B80
-
- .align 2
-gUnknown_085971FC:: @ 85971FC
- spr_template 0x275a, 0x275a, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81151A0
-
- .align 2
-gUnknown_08597214:: @ 8597214
- spr_template 0x2829, 0x2829, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8115244
-
- .align 2
-gUnknown_0859722C:: @ 859722C
- .2byte 0x0000, 0x0008, 0x0004, 0x0008, 0x0000, 0x0048, 0x0008, 0x0008, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08597240:: @ 8597240
- .2byte 0x0000, 0x0048, 0x0004, 0x0008, 0x0000, 0x0008, 0x0008, 0x0008, 0xfffe, 0x0000
-
- .align 2
-gUnknown_08597254:: @ 8597254
- .4byte gUnknown_0859722C
- .4byte gUnknown_08597240
-
- .align 2
-gConfusionDuckSpriteTemplate:: @ 859725C
- spr_template 0x2759, 0x2759, gUnknown_0852490C, gUnknown_08597254, NULL, gDummySpriteAffineAnimTable, sub_811572C
-
- .align 2
-gSimplePaletteBlendSpriteTemplate:: @ 8597274
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81157FC
-
- .align 2
-gComplexPaletteBlendSpriteTemplate:: @ 859728C
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81158A4
-
- .align 2
-gUnknown_085972A4:: @ 85972A4
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003
- .2byte 0x0040, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_085972BC:: @ 85972BC
- .4byte gUnknown_085972A4
-
- .align 2
-gUnknown_085972C0:: @ 85972C0
- spr_template 0x2757, 0x2757, gUnknown_08524914, gUnknown_085972BC, NULL, gDummySpriteAffineAnimTable, sub_81159B4
-
- .align 2
-gBattleAnimSpriteTemplate_85972D8:: @ 85972D8
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81160A4
-
- .align 2
-gUnknown_085972F0:: @ 85972F0
- .2byte 0x0000, 0x0000, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597300:: @ 8597300
- .2byte 0x00d8, 0x00d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597318:: @ 8597318
- .2byte 0x00b0, 0x00b0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597330:: @ 8597330
- .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000
- .2byte 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gUnknown_08597348:: @ 8597348
- .4byte gUnknown_085972F0
- .4byte gUnknown_08597300
- .4byte gUnknown_08597318
- .4byte gUnknown_08597330
-
- .align 2
-gBasicHitSplatSpriteTemplate:: @ 8597358
- spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116388
-
- .align 2
-gBattleAnimSpriteTemplate_8597370:: @ 8597370
- spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116420
-
- .align 2
-gUnknown_08597388:: @ 8597388
- spr_template 0x27a4, 0x27a4, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116388
-
- .align 2
-gUnknown_085973A0:: @ 85973A0
- spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_8116458
-
- .align 2
-gBattleAnimSpriteTemplate_85973B8:: @ 85973B8
- spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81164F0
-
- .align 2
-gUnknown_085973D0:: @ 85973D0
- spr_template 0x282d, 0x282d, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8116560
-
- .align 2
-gUnknown_085973E8:: @ 85973E8
- spr_template 0x2797, 0x2797, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81165A8
-
- .align 2
-gUnknown_08597400:: @ 8597400
- spr_template 0x2797, 0x2797, gUnknown_08524A94, gDummySpriteAnimTable, NULL, gUnknown_08597348, sub_81163D0
-
-gUnknown_08597418:: @ 8597418
- .2byte 0x7fff
-
-gUnknown_0859741A:: @ 859741A
- .byte 0x08, 0x0a, 0x0c, 0x0e
-
-gUnknown_0859741E:: @ 859741E
- .byte 0x08, 0x0a, 0x0c, 0x0e
-
- .align 2
-gUnknown_08597424:: @ 8597424
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_80BC47C
- .4byte task00_battle_intro_80BC6C8
- .4byte task00_battle_intro_80BC6C8
- .4byte task00_battle_intro_80BC6C8
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_80BC47C
- .4byte task_battle_intro_anim
- .4byte task_battle_intro_anim
diff --git a/data/battle_anim_815A0D4.s b/data/battle_anim_815A0D4.s
index 660e5774b..208436f4c 100644
--- a/data/battle_anim_815A0D4.s
+++ b/data/battle_anim_815A0D4.s
@@ -1,3 +1,4 @@
+#include "constants/battle_anim.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
@@ -15,15 +16,15 @@ gUnknown_085CE01C:: @ 85CE01C
.align 2
gUnknown_085CE020:: @ 85CE020
- spr_template 0x2799, 0x2799, gUnknown_08524A34, gUnknown_085CE01C, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
+ spr_template ANIM_TAG_SCRATCH, ANIM_TAG_SCRATCH, gUnknown_08524A34, gUnknown_085CE01C, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
.align 2
gUnknown_085CE038:: @ 85CE038
- spr_template 0x2720, 0x2720, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A0D4
+ spr_template ANIM_TAG_BLACK_SMOKE, ANIM_TAG_BLACK_SMOKE, gUnknown_08524934, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A0D4
.align 2
gUnknown_085CE050:: @ 85CE050
- spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A78AC
+ spr_template ANIM_TAG_BLACK_BALL, ANIM_TAG_BLACK_BALL, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A78AC
.align 2
gUnknown_085CE068:: @ 85CE068
@@ -36,15 +37,15 @@ gUnknown_085CE078:: @ 85CE078
.align 2
gUnknown_085CE07C:: @ 85CE07C
- spr_template 0x27ce, 0x27ce, gUnknown_08524914, gUnknown_085CE078, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
+ spr_template ANIM_TAG_OPENING_EYE, ANIM_TAG_OPENING_EYE, gUnknown_08524914, gUnknown_085CE078, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
.align 2
gUnknown_085CE094::
- spr_template 0x27cf, 0x27cf, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A1B0
+ spr_template ANIM_TAG_ROUND_WHITE_HALO, ANIM_TAG_ROUND_WHITE_HALO, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A1B0
.align 2
gUnknown_085CE0AC::
- spr_template 0x27cd, 0x27cd, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A254
+ spr_template ANIM_TAG_TEAL_ALERT, ANIM_TAG_TEAL_ALERT, gUnknown_08524974, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A254
.align 2
gUnknown_085CE0C4:: @ 85CE0C4
@@ -66,11 +67,11 @@ gUnknown_085CE0FC:: @ 85CE0FC
.align 2
gUnknown_085CE104:: @ 85CE104
- spr_template 0x27cb, 0x27cb, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_085CE0FC, sub_815A2F0
+ spr_template ANIM_TAG_EYE, ANIM_TAG_EYE, gUnknown_08524AFC, gDummySpriteAnimTable, NULL, gUnknown_085CE0FC, sub_815A2F0
.align 2
gUnknown_085CE11C:: @ 85CE11C
- spr_template 0x27a8, 0x27a8, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A6C4
+ spr_template ANIM_TAG_SPIKES, ANIM_TAG_SPIKES, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815A6C4
.align 2
gUnknown_085CE134:: @ 85CE134
@@ -84,7 +85,7 @@ gUnknown_085CE14C:: @ 85CE14C
.align 2
gUnknown_085CE150:: @ 85CE150
- spr_template 0x272b, 0x272b, gUnknown_08524914, gUnknown_085CE14C, NULL, gDummySpriteAffineAnimTable, sub_815A7B0
+ spr_template ANIM_TAG_LEER, ANIM_TAG_LEER, gUnknown_08524914, gUnknown_085CE14C, NULL, gDummySpriteAffineAnimTable, sub_815A7B0
.align 2
gUnknown_085CE168:: @ 85CE168
@@ -106,7 +107,7 @@ gUnknown_085CE18C:: @ 85CE18C
.align 2
gUnknown_085CE190:: @ 85CE190
- spr_template 0x27f4, 0x27f4, gUnknown_08524974, gUnknown_085CE170, NULL, gUnknown_085CE18C, sub_815A7EC
+ spr_template ANIM_TAG_LETTER_Z, ANIM_TAG_LETTER_Z, gUnknown_08524974, gUnknown_085CE170, NULL, gUnknown_085CE18C, sub_815A7EC
.align 2
gUnknown_085CE1A8:: @ 85CE1A8
@@ -128,7 +129,7 @@ gUnknown_085CE1D8:: @ 85CE1D8
.align 2
gUnknown_085CE1DC:: @ 85CE1DC
- spr_template 0x27d0, 0x27d0, gUnknown_085249D4, gUnknown_085CE1BC, NULL, gUnknown_085CE1D8, sub_815A8AC
+ spr_template ANIM_TAG_FANG_ATTACK, ANIM_TAG_FANG_ATTACK, gUnknown_085249D4, gUnknown_085CE1BC, NULL, gUnknown_085CE1D8, sub_815A8AC
.align 2
gUnknown_085CE1F4:: @ 85CE1F4
@@ -149,15 +150,15 @@ gUnknown_085CE224:: @ 85CE224
.align 2
gUnknown_085CE22C:: @ 85CE22C
- spr_template 0x27f3, 0x27f3, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815A934
+ spr_template ANIM_TAG_SPOTLIGHT, ANIM_TAG_SPOTLIGHT, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815A934
.align 2
gUnknown_085CE244::
- spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815AAA4
+ spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815AAA4
.align 2
gUnknown_085CE25C::
- spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815ABD0
+ spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815ABD0
.align 2
gUnknown_085CE274:: @ 85CE274
@@ -170,7 +171,7 @@ gUnknown_085CE284:: @ 85CE284
.align 2
gUnknown_085CE288:: @ 85CE288
- spr_template 0x27f5, 0x27f5, gUnknown_08524934, gUnknown_085CE284, NULL, gDummySpriteAffineAnimTable, sub_815ACD0
+ spr_template ANIM_TAG_RAPID_SPIN, ANIM_TAG_RAPID_SPIN, gUnknown_08524934, gUnknown_085CE284, NULL, gDummySpriteAffineAnimTable, sub_815ACD0
.align 2
gUnknown_085CE2A0:: @ 85CE2A0
@@ -195,7 +196,7 @@ gUnknown_085CE2F4:: @ 85CE2F4
.align 2
gUnknown_085CE2F8:: @ 85CE2F8
- spr_template 0x27f6, 0x27f6, gUnknown_085249DC, gUnknown_085CE2C8, NULL, gUnknown_085CE2F4, sub_815B27C
+ spr_template ANIM_TAG_TRI_FORCE_TRIANGLE, ANIM_TAG_TRI_FORCE_TRIANGLE, gUnknown_085249DC, gUnknown_085CE2C8, NULL, gUnknown_085CE2F4, sub_815B27C
.align 2
gUnknown_085CE310:: @ 85CE310
@@ -208,7 +209,7 @@ gUnknown_085CE334:: @ 85CE334
.align 2
gUnknown_085CE338:: @ 85CE338
- spr_template 0x27fa, 0x27fa, gUnknown_08524914, gUnknown_085CE334, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
+ spr_template ANIM_TAG_ECLIPSING_ORB, ANIM_TAG_ECLIPSING_ORB, gUnknown_08524914, gUnknown_085CE334, NULL, gDummySpriteAffineAnimTable, sub_80A77C8
.align 2
gUnknown_085CE350:: @ 85CE350
@@ -216,15 +217,15 @@ gUnknown_085CE350:: @ 85CE350
.align 2
gUnknown_085CE370:: @ 85CE370
- spr_template 0x27f2, 0x27f2, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B394
+ spr_template ANIM_TAG_POKEBALL, ANIM_TAG_POKEBALL, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B394
.align 2
gUnknown_085CE388:: @ 85CE388
- spr_template 0x27f9, 0x27f9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B49C
+ spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B49C
.align 2
gUnknown_085CE3A0:: @ 85CE3A0
- spr_template 0x27f9, 0x27f9, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B570
+ spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B570
.align 2
gUnknown_085CE3B8:: @ 85CE3B8
@@ -238,7 +239,7 @@ gUnknown_085CE3E0:: @ 85CE3E0
.align 2
gUnknown_085CE418:: @ 85CE418
- spr_template 0x27fc, 0x27fc, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B70C
+ spr_template ANIM_TAG_BLUE_ORB, ANIM_TAG_BLUE_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815B70C
.align 2
gUnknown_085CE430:: @ 85CE430
@@ -269,7 +270,7 @@ gUnknown_085CE480:: @ 85CE480
.align 2
gUnknown_085CE48C:: @ 85CE48C
- spr_template 0x2801, 0x2801, gUnknown_0852490C, gUnknown_085CE480, NULL, gDummySpriteAffineAnimTable, sub_815BE04
+ spr_template ANIM_TAG_GREEN_STAR, ANIM_TAG_GREEN_STAR, gUnknown_0852490C, gUnknown_085CE480, NULL, gDummySpriteAffineAnimTable, sub_815BE04
.align 2
gUnknown_085CE4A4:: @ 85CE4A4
@@ -285,7 +286,7 @@ gUnknown_085CE4B0:: @ 85CE4B0
.align 2
gUnknown_085CE4D0:: @ 85CE4D0
- spr_template 0x2767, 0x2767, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815C400
+ spr_template ANIM_TAG_ANGER, ANIM_TAG_ANGER, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815C400
.align 2
gUnknown_085CE4E8:: @ 85CE4E8
@@ -309,7 +310,7 @@ gUnknown_085CE538:: @ 85CE538
.align 2
gUnknown_085CE544:: @ 85CE544
- spr_template 0x27fe, 0x27fe, gUnknown_08524904, gUnknown_085CE538, NULL, gDummySpriteAffineAnimTable, sub_815C6B0
+ spr_template ANIM_TAG_PINK_PETAL, ANIM_TAG_PINK_PETAL, gUnknown_08524904, gUnknown_085CE538, NULL, gDummySpriteAffineAnimTable, sub_815C6B0
.align 2
gUnknown_085CE55C:: @ 85CE55C
@@ -325,13 +326,13 @@ gUnknown_085CE58C:: @ 85CE58C
.align 2
gUnknown_085CE590:: @ 85CE590
- spr_template 0x27ff, 0x27ff, gUnknown_0852490C, gUnknown_085CE58C, NULL, gDummySpriteAffineAnimTable, sub_815C95C
+ spr_template ANIM_TAG_PAIN_SPLIT, ANIM_TAG_PAIN_SPLIT, gUnknown_0852490C, gUnknown_085CE58C, NULL, gDummySpriteAffineAnimTable, sub_815C95C
gUnknown_085CE5A8::
- spr_template 0x2800, 0x2800, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CB88
+ spr_template ANIM_TAG_CONFETTI, ANIM_TAG_CONFETTI, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CB88
gUnknown_085CE5C0::
- spr_template 0x27f3, 0x27f3, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815CC94
+ spr_template ANIM_TAG_SPOTLIGHT, ANIM_TAG_SPOTLIGHT, gUnknown_085249DC, gDummySpriteAnimTable, NULL, gUnknown_085CE224, sub_815CC94
gBattleAnimSpriteTemplate_85CE5D8::
- spr_template 0x27fc, 0x27fc, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CDB4
+ spr_template ANIM_TAG_BLUE_ORB, ANIM_TAG_BLUE_ORB, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815CDB4
.align 2
gUnknown_085CE5F0:: @ 85CE5F0
@@ -358,7 +359,7 @@ gUnknown_085CE680:: @ 85CE680
.align 2
gUnknown_085CE68C:: @ 85CE68C
- spr_template 0x2802, 0x2802, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE680, sub_815D7B4
+ spr_template ANIM_TAG_PINK_CLOUD, ANIM_TAG_PINK_CLOUD, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE680, sub_815D7B4
.align 2
gUnknown_085CE6A4:: @ 85CE6A4
@@ -385,7 +386,7 @@ gUnknown_085CE724:: @ 85CE724
.align 2
gUnknown_085CE734:: @ 85CE734
- spr_template 0x2802, 0x2802, gUnknown_085249D4, gDummySpriteAnimTable, NULL, gUnknown_085CE724, sub_815D870
+ spr_template ANIM_TAG_PINK_CLOUD, ANIM_TAG_PINK_CLOUD, gUnknown_085249D4, gDummySpriteAnimTable, NULL, gUnknown_085CE724, sub_815D870
.align 2
gUnknown_085CE74C:: @ 85CE74C
@@ -393,7 +394,7 @@ gUnknown_085CE74C:: @ 85CE74C
.align 2
gUnknown_085CE76C:: @ 85CE76C
- spr_template 0x2803, 0x2803, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815DEBC
+ spr_template ANIM_TAG_SWEAT_DROP, ANIM_TAG_SWEAT_DROP, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815DEBC
.align 2
gUnknown_085CE784:: @ 85CE784
@@ -415,13 +416,13 @@ gUnknown_085CE7CC:: @ 85CE7CC
.align 2
gUnknown_085CE7D4:: @ 85CE7D4
- spr_template 0x2745, 0x2745, gUnknown_08524914, gUnknown_085CE7CC, NULL, gDummySpriteAffineAnimTable, sub_815E01C
+ spr_template ANIM_TAG_NOISE_LINE, ANIM_TAG_NOISE_LINE, gUnknown_08524914, gUnknown_085CE7CC, NULL, gDummySpriteAffineAnimTable, sub_815E01C
.align 2
gUnknown_085CE7EC:: @ 85CE7EC
- spr_template 0x2808, 0x2808, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E404
+ spr_template ANIM_TAG_SMALL_RED_EYE, ANIM_TAG_SMALL_RED_EYE, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E404
gUnknown_085CE804::
- spr_template 0x280c, 0x280c, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E444
+ spr_template ANIM_TAG_PAW_PRINT, ANIM_TAG_PAW_PRINT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E444
.align 2
gUnknown_085CE81C:: @ 85CE81C
@@ -439,11 +440,11 @@ gUnknown_085CE844:: @ 85CE844
.align 2
gUnknown_085CE84C:: @ 85CE84C
- spr_template 0x280e, 0x280e, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE844, SpriteCallbackDummy
+ spr_template ANIM_TAG_RED_BALL, ANIM_TAG_RED_BALL, gUnknown_08524974, gDummySpriteAnimTable, NULL, gUnknown_085CE844, SpriteCallbackDummy
.align 2
gUnknown_085CE864::
- spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E6D8
+ spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E6D8
.align 2
gUnknown_085CE87C:: @ 85CE87C
@@ -451,19 +452,19 @@ gUnknown_085CE87C:: @ 85CE87C
.align 2
gUnknown_085CE894:: @ 85CE894
- spr_template 0x280f, 0x280f, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E954
+ spr_template ANIM_TAG_SMELLINGSALT_EFFECT, ANIM_TAG_SMELLINGSALT_EFFECT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815E954
gUnknown_085CE8AC::
- spr_template 0x2807, 0x2807, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EA14
+ spr_template ANIM_TAG_TAG_HAND, ANIM_TAG_TAG_HAND, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EA14
gUnknown_085CE8C4::
- spr_template 0x2812, 0x2812, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EE84
+ spr_template ANIM_TAG_MAGNIFYING_GLASS, ANIM_TAG_MAGNIFYING_GLASS, gUnknown_08524A34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815EE84
gUnknown_085CE8DC::
- spr_template 0x27f9, 0x27f9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F18C
+ spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F18C
gUnknown_085CE8F4::
- spr_template 0x27f9, 0x27f9, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4
+ spr_template ANIM_TAG_GOLD_STARS, ANIM_TAG_GOLD_STARS, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81061C4
gUnknown_085CE90C::
- spr_template 0x280a, 0x280a, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F48C
+ spr_template ANIM_TAG_X_SIGN, ANIM_TAG_X_SIGN, gUnknown_0852491C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815F48C
gUnknown_085CE924::
- spr_template 0x27f0, 0x27f0, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815FE80
+ spr_template ANIM_TAG_ITEM_BAG, ANIM_TAG_ITEM_BAG, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_815FE80
.align 2
gUnknown_085CE93C:: @ 85CE93C
@@ -488,7 +489,7 @@ gUnknown_085CE97C:: @ 85CE97C
.align 2
gUnknown_085CE984:: @ 85CE984
- spr_template 0x2825, 0x2825, gUnknown_0852497C, gUnknown_085CE948, NULL, gUnknown_085CE97C, sub_8160338
+ spr_template ANIM_TAG_SLAM_HIT_2, ANIM_TAG_SLAM_HIT_2, gUnknown_0852497C, gUnknown_085CE948, NULL, gUnknown_085CE97C, sub_8160338
.align 2
gUnknown_085CE99C:: @ 85CE99C
@@ -500,7 +501,7 @@ gUnknown_085CE9AC:: @ 85CE9AC
.align 2
gUnknown_085CE9B0:: @ 85CE9B0
- spr_template 0x2826, 0x2826, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_085CE9AC, sub_81603A8
+ spr_template ANIM_TAG_RECYCLE, ANIM_TAG_RECYCLE, gUnknown_08524A9C, gDummySpriteAnimTable, NULL, gUnknown_085CE9AC, sub_81603A8
.align 2
gUnknown_085CE9C8:: @ 85CE9C8
diff --git a/data/battle_anim_8170478.s b/data/battle_anim_8170478.s
index 5ccf37c54..74bdce846 100644
--- a/data/battle_anim_8170478.s
+++ b/data/battle_anim_8170478.s
@@ -1,3 +1,4 @@
+#include "constants/battle_anim.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
@@ -141,7 +142,7 @@ gUnknown_085E5310:: @ 85E5310
.align 2
gBattleAnimSpriteTemplate_85E5338:: @ 85E5338
- spr_template 0x281d, 0x281d, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817330C
+ spr_template ANIM_TAG_UNUSED_RED_BRICK, ANIM_TAG_UNUSED_RED_BRICK, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_817330C
.align 2
gUnknown_085E5350:: @ 8535350
@@ -152,5 +153,5 @@ gUnknown_085E5358:: @ 8535358
.4byte gUnknown_085E5350
.align 2
- spr_template 0x274a, 0x274a, gUnknown_08524914, gUnknown_085E5358, NULL, gDummySpriteAffineAnimTable, sub_817330C
+ spr_template ANIM_TAG_ROCKS, ANIM_TAG_ROCKS, gUnknown_08524914, gUnknown_085E5358, NULL, gDummySpriteAffineAnimTable, sub_817330C
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index 9af3ed7a9..ca338ac9b 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -423,11 +423,11 @@ gBattleAnims_Special::
Move_NONE:
Move_MIRROR_MOVE:
Move_POUND:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W003, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -435,118 +435,118 @@ Move_POUND:
end
Move_DOUBLE_SLAP:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
choosetwoturnanim DoubleSlapLeft, DoubleSlapRight
DoubleSlapContinue:
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W003, +63
+ playsewithpan SE_W003, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
DoubleSlapLeft:
- createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 2
goto DoubleSlapContinue
DoubleSlapRight:
- createsprite gBasicHitSplatSpriteTemplate, 2, 8, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, 1, 2
goto DoubleSlapContinue
Move_POISON_POWDER:
- loadspritegfx ANIM_TAG_065
+ loadspritegfx ANIM_TAG_POISON_POWDER
loadspritegfx ANIM_TAG_POISON_BUBBLE
- loopsewithpan SE_W077, +63, 10, 6
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3
+ loopsewithpan SE_W077, SOUND_PAN_TARGET, 10, 6
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 10, -22, 117, 80, -5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -25, -22, 117, 112, 5, 3
delay 15
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -5, -22, 117, 80, -5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 5, -22, 117, 96, 5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 0, -22, 117, 69, -5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -15, -22, 117, 112, 5, 2
delay 30
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -15, -22, 117, 112, 5, 2
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 15, -22, 117, 80, -5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -10, -22, 117, 96, 7, 2
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -5, -22, 117, 90, -8, 0
delay 20
- createsprite gPoisonPowderParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2
- createsprite gPoisonPowderParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, -10, -22, 117, 80, -5, 1
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 0, -22, 117, 89, 5, 2
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 20, -22, 117, 112, -8, 2
+ createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 5, -22, 117, 80, 5, 1
waitforvisualfinish
end
Move_STUN_SPORE:
- loadspritegfx ANIM_TAG_068
- loopsewithpan SE_W077, +63, 10, 6
- createsprite gStunSporeParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3
+ loadspritegfx ANIM_TAG_STUN_SPORE
+ loopsewithpan SE_W077, SOUND_PAN_TARGET, 10, 6
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 10, -22, 117, 80, -5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -25, -22, 117, 112, 5, 3
delay 15
- createsprite gStunSporeParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -5, -22, 117, 80, -5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 5, -22, 117, 96, 5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -22, 117, 69, -5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -15, -22, 117, 112, 5, 2
delay 30
- createsprite gStunSporeParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2
- createsprite gStunSporeParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2
- createsprite gStunSporeParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -15, -22, 117, 112, 5, 2
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 15, -22, 117, 80, -5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -10, -22, 117, 96, 7, 2
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -5, -22, 117, 90, -8, 0
delay 20
- createsprite gStunSporeParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1
- createsprite gStunSporeParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2
- createsprite gStunSporeParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2
- createsprite gStunSporeParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -10, -22, 117, 80, -5, 1
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -22, 117, 89, 5, 2
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 20, -22, 117, 112, -8, 2
+ createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, 5, -22, 117, 80, 5, 1
waitforvisualfinish
end
Move_SLEEP_POWDER:
- loadspritegfx ANIM_TAG_067
- loopsewithpan SE_W077, +63, 10, 6
- createsprite gSleepPowderParticleSpriteTemplate, 130, -30, -22, 117, 80, 5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, 10, -22, 117, 80, -5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, -25, -22, 117, 112, 5, 3
+ loadspritegfx ANIM_TAG_SLEEP_POWDER
+ loopsewithpan SE_W077, SOUND_PAN_TARGET, 10, 6
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 10, -22, 117, 80, -5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -25, -22, 117, 112, 5, 3
delay 15
- createsprite gSleepPowderParticleSpriteTemplate, 130, -5, -22, 117, 80, -5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, 5, -22, 117, 96, 5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, 0, -22, 117, 69, -5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -5, -22, 117, 80, -5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 5, -22, 117, 96, 5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 0, -22, 117, 69, -5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -15, -22, 117, 112, 5, 2
delay 30
- createsprite gSleepPowderParticleSpriteTemplate, 130, -15, -22, 117, 112, 5, 2
- createsprite gSleepPowderParticleSpriteTemplate, 130, 15, -22, 117, 80, -5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, -10, -22, 117, 96, 7, 2
- createsprite gSleepPowderParticleSpriteTemplate, 130, -5, -22, 117, 90, -8, 0
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -15, -22, 117, 112, 5, 2
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 15, -22, 117, 80, -5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -10, -22, 117, 96, 7, 2
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -5, -22, 117, 90, -8, 0
delay 20
- createsprite gSleepPowderParticleSpriteTemplate, 130, -10, -22, 117, 80, -5, 1
- createsprite gSleepPowderParticleSpriteTemplate, 130, 0, -22, 117, 89, 5, 2
- createsprite gSleepPowderParticleSpriteTemplate, 130, 20, -22, 117, 112, -8, 2
- createsprite gSleepPowderParticleSpriteTemplate, 130, 5, -22, 117, 80, 5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -10, -22, 117, 80, -5, 1
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 0, -22, 117, 89, 5, 2
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 20, -22, 117, 112, -8, 2
+ createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, 5, -22, 117, 80, 5, 1
waitforvisualfinish
end
Move_SWIFT:
- loadspritegfx ANIM_TAG_174
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_YELLOW_STAR
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W129, -64
- createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 20, 1
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gSwiftStarSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, 20, 1
delay 5
- playsewithpan SE_W129, -64
- createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 5, 22, -18, 1
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gSwiftStarSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 5, 22, -18, 1
delay 5
- playsewithpan SE_W129, -64
- createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, -10, 22, 15, 1
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gSwiftStarSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, -10, 22, 15, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 18, 1
delay 5
- playsewithpan SE_W129, -64
- createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, -20, 1
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gSwiftStarSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, -20, 1
delay 5
- playsewithpan SE_W129, -64
- createsprite gSwiftStarSpriteTemplate, 131, 20, -10, 20, 0, 22, 12, 1
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gSwiftStarSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, 12, 1
delay 5
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -554,24 +554,24 @@ Move_SWIFT:
end
Move_STRENGTH:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeAndSinkMon, 5, ANIM_ATTACKER, 2, 0, 96, 30
waitforvisualfinish
delay 10
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 4
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_TARGET, 18, 6, 2, 4
delay 4
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 16, 12, 1, 1
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 16, 12, 1, 1
delay 4
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, -16, -12, 1, 1
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, -12, 1, 1
delay 4
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 3, 4, 1, 1
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 3, 4, 1, 1
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
waitforvisualfinish
@@ -580,47 +580,47 @@ Move_STRENGTH:
end
Move_TACKLE:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W004, +63
+ playsewithpan SE_W004, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_BODY_SLAM:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W036, -64
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
waitforvisualfinish
delay 11
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 26, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 26, 0, 0, 5
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 4, -10, 0, 1, 0
- loopsewithpan SE_W025B, +63, 10, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0
+ loopsewithpan SE_W025B, SOUND_PAN_TARGET, 10, 2
delay 1
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -28, 0, 0, 3
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
waitforvisualfinish
delay 10
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6
delay 5
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_SUPERSONIC:
- loadspritegfx ANIM_TAG_163
+ loadspritegfx ANIM_TAG_GOLD_RING
monbg ANIM_ATK_PARTNER
monbgprio_2A ANIM_ATTACKER
setalpha 12, 8
@@ -636,13 +636,13 @@ Move_SUPERSONIC:
blendoff
end
Supersonic1:
- playsewithpan SE_W048, -64
- createsprite gSupersonicWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0
+ playsewithpan SE_W048, SOUND_PAN_ATTACKER
+ createsprite gSupersonicWaveSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0
delay 2
return
Move_SCREECH:
- loadspritegfx ANIM_TAG_164
+ loadspritegfx ANIM_TAG_PURPLE_RING
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 2, 1
call Screech1
call Screech1
@@ -651,8 +651,8 @@ Move_SCREECH:
waitforvisualfinish
end
Screech1:
- playsewithpan SE_W103, -64
- createsprite gScreechWaveSpriteTemplate, 130, 16, 0, 0, 0, 30, 0
+ playsewithpan SE_W103, SOUND_PAN_ATTACKER
+ createsprite gScreechWaveSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0
delay 2
return
@@ -660,67 +660,67 @@ Move_FLAME_WHEEL:
loadspritegfx ANIM_TAG_SMALL_EMBER
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 0
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 0
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
delay 2
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 4
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 4
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
delay 2
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 8
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 8
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
delay 2
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 12
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 12
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
delay 2
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 16
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 16
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
delay 2
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 20
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 20
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
delay 2
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 56, 24
- playsewithpan SE_W172, -64
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 56, 24
+ playsewithpan SE_W172, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 6
delay 4
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 8, 1
createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB_RED, 12, 1, 1
- playsewithpan SE_W172B, +63
+ playsewithpan SE_W172B, SOUND_PAN_TARGET
call FireMoveEffect
delay 7
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 9
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 9
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
FlameWheel1: @ Unused
- createsprite gBattleAnimSpriteTemplate_8595584, 3, 0, 0, 50
+ createsprite gBattleAnimSpriteTemplate_8595584, ANIM_ATTACKER, 3, 0, 0, 50
delay 4
return
Move_PIN_MISSILE:
- loadspritegfx ANIM_TAG_161
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_NEEDLE
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W026, -64
- createsprite gPinMissileSpriteTemplate, 2, 20, -8, -8, -8, 20, -32
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ createsprite gPinMissileSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, -8, -8, 20, -32
delay 15
- createsprite gPinMissileSpriteTemplate, 2, 20, -8, 8, 8, 20, -40
+ createsprite gPinMissileSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 8, 8, 20, -40
delay 4
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -8, -8, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1
delay 9
- createsprite gPinMissileSpriteTemplate, 2, 20, -8, 0, 0, 20, -32
+ createsprite gPinMissileSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 0, 0, 20, -32
delay 4
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 8, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1
delay 14
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -728,28 +728,28 @@ Move_PIN_MISSILE:
end
Move_ICICLE_SPEAR:
- loadspritegfx ANIM_TAG_262
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_ICICLE_SPEAR
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W196, -64
- createsprite gIcicleSpearSpriteTemplate, 2, 20, -8, -8, -8, 20, -32
+ playsewithpan SE_W196, SOUND_PAN_ATTACKER
+ createsprite gIcicleSpearSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, -8, -8, 20, -32
delay 15
- createsprite gIcicleSpearSpriteTemplate, 2, 20, -8, 8, 8, 20, -40
+ createsprite gIcicleSpearSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 8, 8, 20, -40
delay 4
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, -8, -8, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -8, -8, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1
delay 9
- createsprite gIcicleSpearSpriteTemplate, 2, 20, -8, 0, 0, 20, -32
+ createsprite gIcicleSpearSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, 0, 0, 20, -32
delay 4
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 8, 8, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 8, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1
delay 14
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 2, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -757,74 +757,74 @@ Move_ICICLE_SPEAR:
end
Move_TAKE_DOWN:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10
delay 35
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0
- createsprite gBasicHitSplatSpriteTemplate, 4, -10, 0, 1, 0
- playsewithpan SE_W025B, +63
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
delay 1
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 0, 0, 4
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
waitforvisualfinish
delay 2
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
delay 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_DOUBLE_EDGE:
- loadspritegfx ANIM_TAG_135
- playsewithpan SE_W129, -64
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 2, 4, 2, RGB_WHITE, 10, 0, 0
+ loadspritegfx ANIM_TAG_IMPACT
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 4, 2, RGB_WHITE, 10, 0, 0
waitforvisualfinish
delay 10
- playsewithpan SE_W207, -64
- waitplaysewithpan SE_W207, -64, 8
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W207, SOUND_PAN_ATTACKER, 8
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 16, 16, RGB_WHITE
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 16, 16, RGB_WHITE
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4
delay 3
waitforvisualfinish
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 0
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -32, 0, 0, 3
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 0
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3
waitforvisualfinish
createvisualtask sub_80D6134, 2, 8, -256, 0, 0
createvisualtask sub_80D6134, 2, 8, -256, 1, 0
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_WHITE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_WHITE
waitforvisualfinish
createvisualtask sub_80D6134, 2, 8, -256, 0, 1
createvisualtask sub_80D6134, 2, 8, -256, 1, 1
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
delay 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7
waitforvisualfinish
end
Move_POISON_STING:
- loadspritegfx ANIM_TAG_161
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_NEEDLE
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_POISON_BUBBLE
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W013B, -64
- createsprite gLinearStingerSpriteTemplate, 130, 20, 0, -8, 0, 20
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
+ createsprite gLinearStingerSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 5, 1
- playsewithpan SE_W030, +63
+ playsewithpan SE_W030, SOUND_PAN_TARGET
waitforvisualfinish
call PoisonBubblesEffect
waitforvisualfinish
@@ -833,20 +833,20 @@ Move_POISON_STING:
end
Move_TWINEEDLE:
- loadspritegfx ANIM_TAG_161
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_NEEDLE
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- loopsewithpan SE_W013B, -64, 6, 2
- createsprite gLinearStingerSpriteTemplate, 130, 10, -4, 0, -4, 20
- createsprite gLinearStingerSpriteTemplate, 130, 20, 12, 10, 12, 20
+ loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 6, 2
+ createsprite gLinearStingerSpriteTemplate, ANIM_TARGET, 2, 10, -4, 0, -4, 20
+ createsprite gLinearStingerSpriteTemplate, ANIM_TARGET, 2, 20, 12, 10, 12, 20
delay 20
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 5, 1
- createsprite gBattleAnimSpriteTemplate_8597370, 3, 0, -4, 1, 3
- loopsewithpan SE_W030, +63, 5, 2
+ createsprite gBattleAnimSpriteTemplate_8597370, ANIM_ATTACKER, 3, 0, -4, 1, 3
+ loopsewithpan SE_W030, SOUND_PAN_TARGET, 5, 2
delay 1
- createsprite gBattleAnimSpriteTemplate_8597370, 3, 10, 12, 1, 3
+ createsprite gBattleAnimSpriteTemplate_8597370, ANIM_ATTACKER, 3, 10, 12, 1, 3
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -885,73 +885,73 @@ Move_FIRE_BLAST:
waitforvisualfinish
end
FireBlast1:
- createsprite gUnknown_0859551C, 130, 0, 0, 0
- createsprite gUnknown_0859551C, 130, 0, 0, 51
- createsprite gUnknown_0859551C, 130, 0, 0, 102
- createsprite gUnknown_0859551C, 130, 0, 0, 153
- createsprite gUnknown_0859551C, 130, 0, 0, 204
+ createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 0
+ createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 51
+ createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 102
+ createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 153
+ createsprite gUnknown_0859551C, ANIM_TARGET, 2, 0, 0, 204
delay 5
return
FireBlast2:
- createsprite gUnknown_0859556C, 130, 0, 0, 10, 0, -2
- createsprite gUnknown_0859556C, 130, 0, 0, 13, -2, 0
- createsprite gUnknown_0859556C, 130, 0, 0, 13, 2, 0
- createsprite gUnknown_0859556C, 130, 0, 0, 15, -2, 2
- createsprite gUnknown_0859556C, 130, 0, 0, 15, 2, 2
+ createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 10, 0, -2
+ createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 13, -2, 0
+ createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 13, 2, 0
+ createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 15, -2, 2
+ createsprite gUnknown_0859556C, ANIM_TARGET, 2, 0, 0, 15, 2, 2
return
Move_LEECH_SEED:
loadspritegfx ANIM_TAG_SEED
- playsewithpan SE_W077, -64
- createsprite gLeechSeedSpriteTemplate, 130, 15, 0, 0, 24, 35, -32
+ playsewithpan SE_W077, SOUND_PAN_ATTACKER
+ createsprite gLeechSeedSpriteTemplate, ANIM_TARGET, 2, 15, 0, 0, 24, 35, -32
delay 8
- playsewithpan SE_W077, -64
- createsprite gLeechSeedSpriteTemplate, 130, 15, 0, -16, 24, 35, -40
+ playsewithpan SE_W077, SOUND_PAN_ATTACKER
+ createsprite gLeechSeedSpriteTemplate, ANIM_TARGET, 2, 15, 0, -16, 24, 35, -40
delay 8
- playsewithpan SE_W077, -64
- createsprite gLeechSeedSpriteTemplate, 130, 15, 0, 16, 24, 35, -37
+ playsewithpan SE_W077, SOUND_PAN_ATTACKER
+ createsprite gLeechSeedSpriteTemplate, ANIM_TARGET, 2, 15, 0, 16, 24, 35, -37
delay 12
- loopsewithpan SE_W039, +63, 10, 8
+ loopsewithpan SE_W039, SOUND_PAN_TARGET, 10, 8
waitforvisualfinish
end
Move_EMBER:
loadspritegfx ANIM_TAG_SMALL_EMBER
- loopsewithpan SE_W052, -64, 5, 2
- createsprite gEmberSpriteTemplate, 130, 20, 0, -16, 24, 20, 1
+ loopsewithpan SE_W052, SOUND_PAN_ATTACKER, 5, 2
+ createsprite gEmberSpriteTemplate, ANIM_TARGET, 2, 20, 0, -16, 24, 20, 1
delay 4
- createsprite gEmberSpriteTemplate, 130, 20, 0, 0, 24, 20, 1
+ createsprite gEmberSpriteTemplate, ANIM_TARGET, 2, 20, 0, 0, 24, 20, 1
delay 4
- createsprite gEmberSpriteTemplate, 130, 20, 0, 16, 24, 20, 1
+ createsprite gEmberSpriteTemplate, ANIM_TARGET, 2, 20, 0, 16, 24, 20, 1
delay 16
- playsewithpan SE_W172, +63
+ playsewithpan SE_W172, SOUND_PAN_TARGET
call Ember1
call Ember1
call Ember1
end
Ember1:
- createsprite gEmberFlareSpriteTemplate, 130, -24, 24, 24, 24, 20, 1, 1
+ createsprite gEmberFlareSpriteTemplate, ANIM_TARGET, 2, -24, 24, 24, 24, 20, 1, 1
delay 4
return
Move_MEGA_PUNCH:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_TARGET
delay 2
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 0, 16, RGB_BLACK
setalpha 12, 8
- playsewithpan SE_W025, +63
- createsprite gMegaPunchKickSpriteTemplate, 3, 0, 0, 0, 50
+ playsewithpan SE_W025, SOUND_PAN_TARGET
+ createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 50
createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE
delay 50
call SetImpactBackground
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1
createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
- playsewithpan SE_W233B, +63
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -979,22 +979,22 @@ SetImpactContestsBG:
goto SetImpactBackgroundRet
Move_MEGA_KICK:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_TARGET
delay 2
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 0, 16, RGB_BLACK
setalpha 12, 8
- playsewithpan SE_W025, +63
- createsprite gMegaPunchKickSpriteTemplate, 3, 0, 0, 1, 50
+ playsewithpan SE_W025, SOUND_PAN_TARGET
+ createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 50
createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE
delay 50
- playsewithpan SE_W025B, +63
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
call SetImpactBackground
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1
createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -1004,30 +1004,30 @@ Move_MEGA_KICK:
end
Move_COMET_PUNCH:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_TARGET
setalpha 12, 8
choosetwoturnanim CometPunchLeft, CometPunchRight
CometPunchContinue:
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W004, +63
+ playsewithpan SE_W004, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
CometPunchLeft:
- createsprite gBasicHitSplatSpriteTemplate, 2, -8, -8, 1, 2
- createsprite gFistFootSpriteTemplate, 3, -8, 0, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, -8, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, -8, 0, 8, 1, 0
goto CometPunchContinue
CometPunchRight:
- createsprite gBasicHitSplatSpriteTemplate, 2, 8, -8, 1, 2
- createsprite gFistFootSpriteTemplate, 3, 8, 0, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, -8, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 8, 0, 8, 1, 0
goto CometPunchContinue
Move_SONIC_BOOM:
loadspritegfx ANIM_TAG_AIR_WAVE
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
@@ -1041,12 +1041,12 @@ Move_SONIC_BOOM:
blendoff
end
SonicBoom1:
- playsewithpan SE_W013B, -64
- createsprite gSonicBoomSpriteTemplate, 130, 16, 0, 0, 0, 15
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
+ createsprite gSonicBoomSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 15
delay 4
return
SonicBoom2:
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 2
delay 4
return
@@ -1057,7 +1057,7 @@ Move_THUNDER_SHOCK:
waitforvisualfinish
delay 10
createvisualtask sub_810A7DC, 5, 0, -44, 0
- playsewithpan SE_W085, +63
+ playsewithpan SE_W085, SOUND_PAN_TARGET
delay 9
createvisualtask sub_8116620, 10, 4, 0, 0, 13, RGB_BLACK
waitforvisualfinish
@@ -1073,35 +1073,35 @@ Move_THUNDER_SHOCK:
Move_THUNDERBOLT:
loadspritegfx ANIM_TAG_SPARK
- loadspritegfx ANIM_TAG_282
+ loadspritegfx ANIM_TAG_SHOCK_3
loadspritegfx ANIM_TAG_SPARK_2
createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK
waitforvisualfinish
delay 10
createvisualtask sub_810A7DC, 5, 24, -52, 0
- playsewithpan SE_W085, +63
+ playsewithpan SE_W085, SOUND_PAN_TARGET
delay 7
createvisualtask sub_810A7DC, 5, -24, -52, 0
- playsewithpan SE_W085, +63
+ playsewithpan SE_W085, SOUND_PAN_TARGET
delay 7
createvisualtask sub_810A7DC, 5, 0, -60, 1
- playsewithpan SE_W085, +63
+ playsewithpan SE_W085, SOUND_PAN_TARGET
delay 9
createvisualtask sub_8116620, 10, 4, 0, 0, 13, RGB_BLACK
waitforvisualfinish
createvisualtask sub_8116620, 10, 4, 0, 13, 0, RGB_BLACK
waitforvisualfinish
delay 20
- createsprite gBattleAnimSpriteTemplate_85957E0, 131, 44, 0, 0, 3
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 0, 40, 0, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 64, 40, 1, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 128, 40, 0, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 32, 44, 192, 40, 2, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 32, 40, 0, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 96, 40, 1, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 160, 40, 0, -32765
- createsprite gBattleAnimSpriteTemplate_85957F8, 132, 0, 0, 16, 44, 224, 40, 2, -32765
- playsewithpan SE_W063, +63
+ createsprite gBattleAnimSpriteTemplate_85957E0, ANIM_TARGET, 3, 44, 0, 0, 3
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 32, 44, 0, 40, 0, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 32, 44, 64, 40, 1, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 32, 44, 128, 40, 0, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 32, 44, 192, 40, 2, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 16, 44, 32, 40, 0, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 16, 44, 96, 40, 1, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 16, 44, 160, 40, 0, -32765
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_TARGET, 4, 0, 0, 16, 44, 224, 40, 2, -32765
+ playsewithpan SE_W063, SOUND_PAN_TARGET
delay 0
createvisualtask sub_8116620, 10, 1, 0, 2, 2, RGB_BLACK
delay 6
@@ -1112,7 +1112,7 @@ Move_THUNDERBOLT:
createvisualtask sub_8116620, 10, 1, 0, 6, 6, RGB_BLACK
waitforvisualfinish
delay 20
- waitplaysewithpan SE_W085B, +63, 19
+ waitplaysewithpan SE_W085B, SOUND_PAN_TARGET, 19
call ElectricityEffect
waitforvisualfinish
delay 20
@@ -1123,27 +1123,27 @@ Move_THUNDERBOLT:
Move_THUNDER_WAVE:
loadspritegfx ANIM_TAG_SPARK
loadspritegfx ANIM_TAG_SPARK_2
- loadspritegfx ANIM_TAG_173
+ loadspritegfx ANIM_TAG_SPARK_H
createvisualtask sub_8116620, 10, 1, 0, 0, 6, RGB_BLACK
waitforvisualfinish
delay 10
createvisualtask sub_810A7DC, 5, 0, -48, 0
- playsewithpan SE_W086, +63
+ playsewithpan SE_W086, SOUND_PAN_TARGET
delay 20
- loopsewithpan SE_W085B, +63, 10, 4
- createsprite gUnknown_08595840, 130, -16, -16
+ loopsewithpan SE_W085B, SOUND_PAN_TARGET, 10, 4
+ createsprite gUnknown_08595840, ANIM_TARGET, 2, -16, -16
delay 4
- createsprite gUnknown_08595840, 130, -16, 0
+ createsprite gUnknown_08595840, ANIM_TARGET, 2, -16, 0
delay 4
- createsprite gUnknown_08595840, 130, -16, 16
+ createsprite gUnknown_08595840, ANIM_TARGET, 2, -16, 16
waitforvisualfinish
createvisualtask sub_8116620, 10, 1, 0, 6, 0, RGB_BLACK
waitforvisualfinish
end
Move_BEAT_UP:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_TARGET
setalpha 12, 8
choosetwoturnanim BeatUpLeft, BeatUpRight
@@ -1153,56 +1153,56 @@ BeatUpContinue:
blendoff
end
BeatUpLeft:
- createsprite gBasicHitSplatSpriteTemplate, 130, -20, -20, 1, 2
- createsprite gFistFootSpriteTemplate, 131, -20, -12, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -20, -20, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, -20, -12, 8, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 130, 8, 0, 1, 2
- createsprite gFistFootSpriteTemplate, 131, 8, 8, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 8, 0, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 8, 8, 8, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
goto BeatUpContinue
BeatUpRight:
- createsprite gBasicHitSplatSpriteTemplate, 130, 12, -20, 1, 2
- createsprite gFistFootSpriteTemplate, 131, 12, -12, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 12, -20, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 12, -12, 8, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 130, -12, 0, 1, 2
- createsprite gFistFootSpriteTemplate, 131, -12, 8, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -12, 0, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, -12, 8, 8, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
goto BeatUpContinue
Move_STOMP:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W104, +63
- createsprite gUnknown_08595F60, 3, 0, -32, 15
+ playsewithpan SE_W104, SOUND_PAN_TARGET
+ createsprite gUnknown_08595F60, ANIM_ATTACKER, 3, 0, -32, 15
delay 19
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, -8, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, -8, 1, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 9, 1
- playsewithpan SE_W025B, +63
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_TAIL_WHIP:
- loopsewithpan SE_W039, -64, 24, 3
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 24, 3
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3
waitforvisualfinish
end
Move_CUT:
- loadspritegfx ANIM_TAG_138
+ loadspritegfx ANIM_TAG_CUT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W015, +63
- createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 0
+ playsewithpan SE_W015, SOUND_PAN_TARGET
+ createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
delay 5
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1
waitforvisualfinish
@@ -1212,65 +1212,65 @@ Move_CUT:
end
Move_HIDDEN_POWER:
- loadspritegfx ANIM_TAG_217
- playsewithpan SE_W036, -64
+ loadspritegfx ANIM_TAG_RED_ORB
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0
waitforvisualfinish
delay 30
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 31, 19), 12, 5, 1
delay 4
createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0
- playsewithpan SE_W179, -64
- createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 0
- createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 42
- createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 84
- createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 126
- createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 168
- createsprite gHiddenPowerOrbSpriteTemplate, 2, 26, 210
+ playsewithpan SE_W179, SOUND_PAN_ATTACKER
+ createsprite gHiddenPowerOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 0
+ createsprite gHiddenPowerOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 42
+ createsprite gHiddenPowerOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 84
+ createsprite gHiddenPowerOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 126
+ createsprite gHiddenPowerOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 168
+ createsprite gHiddenPowerOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 210
delay 52
setarg 7, -1
- playsewithpan SE_W115, -64
+ playsewithpan SE_W115, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 0
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 32
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 64
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 96
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 128
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 160
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 192
- createsprite gHiddenPowerOrbScatterSpriteTemplate, 130, 224
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 0
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 32
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 64
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 96
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 128
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 160
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 192
+ createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 224
end
Move_REVERSAL:
- loadspritegfx ANIM_TAG_236
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
- playsewithpan SE_W197, -64
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 3, RGB_WHITE, 8, 0, 0
+ loadspritegfx ANIM_TAG_BLUE_ORB
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
+ playsewithpan SE_W197, SOUND_PAN_ATTACKER
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB_WHITE, 8, 0, 0
waitforvisualfinish
delay 30
createvisualtask sub_8115A04, 2, 31, 3, 2, 0, 10, RGB_WHITE
delay 10
- playsewithpan SE_W179, -64
- createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 0
- createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 42
- createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 84
- createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 126
- createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 168
- createsprite gBattleAnimSpriteTemplate_85CE5D8, 2, 26, 210
+ playsewithpan SE_W179, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 0
+ createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 42
+ createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 84
+ createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 126
+ createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 168
+ createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 210
waitforvisualfinish
delay 20
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 8
- playsewithpan SE_W233B, +63
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_WHITE, 8, 0, 0
- createsprite gFistFootSpriteTemplate, 132, 0, 0, 10, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 8, 0, 0
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 10, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0
end
Move_PURSUIT:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
fadetobg BG_DARK
waitbgfadein
@@ -1286,35 +1286,35 @@ PursuitContinue:
waitbgfadein
end
PursuitNormal:
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
createvisualtask sub_80D6388, 5, 0, 1, 6, 1, 0
goto PursuitContinue
PursuitOnSwitchout:
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
createvisualtask sub_80D6388, 5, 0, 1, 6, 1, 0
goto PursuitContinue
Move_SPIKE_CANNON:
- loadspritegfx ANIM_TAG_161
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_NEEDLE
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -4, 0, 4, 6, 8, 4
waitforvisualfinish
- loopsewithpan SE_W013B, -64, 5, 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
- createsprite gLinearStingerSpriteTemplate, 2, 10, -8, -8, -8, 20
- createsprite gLinearStingerSpriteTemplate, 2, 18, 0, 0, 0, 20
- createsprite gLinearStingerSpriteTemplate, 2, 26, 8, 8, 8, 20
+ loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 5, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
+ createsprite gLinearStingerSpriteTemplate, ANIM_ATTACKER, 2, 10, -8, -8, -8, 20
+ createsprite gLinearStingerSpriteTemplate, ANIM_ATTACKER, 2, 18, 0, 0, 0, 20
+ createsprite gLinearStingerSpriteTemplate, ANIM_ATTACKER, 2, 26, 8, 8, 8, 20
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_8597370, 3, -8, -8, 1, 2
- createsprite gBattleAnimSpriteTemplate_8597370, 3, 0, 0, 1, 2
- createsprite gBattleAnimSpriteTemplate_8597370, 3, 8, 8, 1, 2
+ createsprite gBattleAnimSpriteTemplate_8597370, ANIM_ATTACKER, 3, -8, -8, 1, 2
+ createsprite gBattleAnimSpriteTemplate_8597370, ANIM_ATTACKER, 3, 0, 0, 1, 2
+ createsprite gBattleAnimSpriteTemplate_8597370, ANIM_ATTACKER, 3, 8, 8, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1
- loopsewithpan SE_W030, +63, 5, 3
+ loopsewithpan SE_W030, SOUND_PAN_TARGET, 5, 3
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -1324,9 +1324,9 @@ Move_SWORDS_DANCE:
loadspritegfx ANIM_TAG_SWORD
monbg ANIM_ATTACKER
setalpha 12, 8
- playsewithpan SE_W014, -64
+ playsewithpan SE_W014, SOUND_PAN_ATTACKER
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 16, 6, 1, 4
- createsprite gBattleAnimSpriteTemplate_8593380, 2, 0, 0
+ createsprite gBattleAnimSpriteTemplate_8593380, ANIM_ATTACKER, 2, 0, 0
delay 22
createvisualtask sub_8115D94, 2, ANIM_TAG_SWORD, 2, 2, RGB(18, 31, 31), 16, 0, 0
waitforvisualfinish
@@ -1336,16 +1336,16 @@ Move_SWORDS_DANCE:
end
Move_PSYCH_UP:
- loadspritegfx ANIM_TAG_196
+ loadspritegfx ANIM_TAG_SPIRAL
monbg ANIM_ATK_PARTNER
createvisualtask sub_8115B0C, 2, 1, 2, 6, 1, 11, 0
setalpha 12, 8
- loopsewithpan SE_W060B, -64, 5, 10
- createsprite gUnknown_08596548, 2, 0, 0, 0, 0
+ loopsewithpan SE_W060B, SOUND_PAN_ATTACKER, 5, 10
+ createsprite gUnknown_08596548, ANIM_ATTACKER, 2, 0, 0, 0, 0
createvisualtask AnimTask_SwayMon, 5, 0, 5, 2560, 8, ANIM_ATTACKER
delay 127
delay 4
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1
createvisualtask sub_8116620, 9, 2, 2, 10, 0, RGB_YELLOW
delay 30
@@ -1356,44 +1356,44 @@ Move_PSYCH_UP:
Move_DIZZY_PUNCH:
loadspritegfx ANIM_TAG_DUCK
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
call DizzyPunch1
- createsprite gFistFootSpriteTemplate, 133, 16, 8, 20, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 132, 16, 0, 1, 1
- playsewithpan SE_W004, +63
- createsprite gUnknown_08595F78, 131, 16, 8, 160, -32
- createsprite gUnknown_08595F78, 131, 16, 8, -256, -40
- createsprite gUnknown_08595F78, 131, 16, 8, 128, -16
- createsprite gUnknown_08595F78, 131, 16, 8, 416, -38
- createsprite gUnknown_08595F78, 131, 16, 8, -128, -22
- createsprite gUnknown_08595F78, 131, 16, 8, -384, -31
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 5, 16, 8, 20, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 16, 0, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, 160, -32
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, -256, -40
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, 128, -16
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, 416, -38
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, -128, -22
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, 16, 8, -384, -31
delay 10
call DizzyPunch1
- createsprite gFistFootSpriteTemplate, 133, -16, -8, 20, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 132, -16, -16, 1, 1
- playsewithpan SE_W233B, +63
- createsprite gUnknown_08595F78, 131, -16, -8, 160, -32
- createsprite gUnknown_08595F78, 131, -16, -8, -256, -40
- createsprite gUnknown_08595F78, 131, -16, -8, 128, -16
- createsprite gUnknown_08595F78, 131, -16, -8, 416, -38
- createsprite gUnknown_08595F78, 131, -16, -8, -128, -22
- createsprite gUnknown_08595F78, 131, -16, -8, -384, -31
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 5, -16, -8, 20, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -16, -16, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, 160, -32
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, -256, -40
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, 128, -16
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, 416, -38
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, -128, -22
+ createsprite gUnknown_08595F78, ANIM_TARGET, 3, -16, -8, -384, -31
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
DizzyPunch1:
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 6
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1
return
Move_FIRE_SPIN:
loadspritegfx ANIM_TAG_SMALL_EMBER
- playsewithpan SE_W221B, +63
+ playsewithpan SE_W221B, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1
call FireSpinEffect
call FireSpinEffect
@@ -1402,25 +1402,25 @@ Move_FIRE_SPIN:
end
FireSpinEffect:
- createsprite gUnknown_08596B88, 130, 0, 28, 528, 30, 13, 50, 1
+ createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 28, 528, 30, 13, 50, 1
delay 2
- createsprite gUnknown_08596B88, 130, 0, 32, 480, 20, 16, -46, 1
+ createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 32, 480, 20, 16, -46, 1
delay 2
- createsprite gUnknown_08596B88, 130, 0, 33, 576, 20, 8, 42, 1
+ createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 33, 576, 20, 8, 42, 1
delay 2
- createsprite gUnknown_08596B88, 130, 0, 31, 400, 25, 11, -42, 1
+ createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 31, 400, 25, 11, -42, 1
delay 2
- createsprite gUnknown_08596B88, 130, 0, 28, 512, 25, 16, 46, 1
+ createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 28, 512, 25, 16, 46, 1
delay 2
- createsprite gUnknown_08596B88, 130, 0, 33, 464, 30, 15, -50, 1
+ createsprite gUnknown_08596B88, ANIM_TARGET, 2, 0, 33, 464, 30, 15, -50, 1
delay 2
return
Move_FURY_CUTTER:
- loadspritegfx ANIM_TAG_138
+ loadspritegfx ANIM_TAG_CUT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W013, +63
+ playsewithpan SE_W013, SOUND_PAN_TARGET
createvisualtask AnimTask_IsFuryCutterHitRight, 2
jumpretfalse FuryCutterLeft
goto FuryCutterRight
@@ -1439,19 +1439,19 @@ FuryCutterContinue2:
waitforvisualfinish
end
FuryCutterLeft:
- createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 0
+ createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
goto FuryCutterContinue
FuryCutterRight:
- createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 1
+ createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 1
goto FuryCutterContinue
FuryCutterMedium:
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB(9, 8, 10), 4, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(9, 8, 10), 4, 0, 0
goto FuryCutterContinue2
FuryCutterStrong:
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0
goto FuryCutterContinue2
FuryCutterStrongest:
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 3, RGB(9, 8, 10), 4, 0, 0
goto FuryCutterContinue2
Move_SELF_DESTRUCT:
@@ -1468,111 +1468,111 @@ Move_SELF_DESTRUCT:
createvisualtask sub_8116620, 10, 2, 1, 9, 0, RGB_RED
end
SelfDestruct1:
- playsewithpan SE_W120, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 0, 1
+ playsewithpan SE_W120, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 0, 1
delay 6
- playsewithpan SE_W120, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 0, 1
+ playsewithpan SE_W120, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 0, 1
delay 6
- playsewithpan SE_W120, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 0, 1
+ playsewithpan SE_W120, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 0, 1
delay 6
- playsewithpan SE_W120, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 0, 1
+ playsewithpan SE_W120, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 0, 1
delay 6
- playsewithpan SE_W120, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 0, 1
+ playsewithpan SE_W120, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 0, 1
delay 6
return
Move_SLAM:
- loadspritegfx ANIM_TAG_056
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_SLAM_HIT
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W004, -64
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 3, 0, 4
+ playsewithpan SE_W004, SOUND_PAN_ATTACKER
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 3, 0, 4
delay 1
- createsprite gUnknown_085928D0, 2, 0, 0
+ createsprite gUnknown_085928D0, ANIM_ATTACKER, 2, 0, 0
delay 3
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -12, 10, 0, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
delay 3
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1
waitforvisualfinish
delay 5
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_VINE_WHIP:
- loadspritegfx ANIM_TAG_287
- playsewithpan SE_W026, -64
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
+ loadspritegfx ANIM_TAG_WHIP_HIT
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 6
- playsewithpan SE_W010, +63
- createsprite gUnknown_085928E8, 130, 0, 0
+ playsewithpan SE_W010, SOUND_PAN_TARGET
+ createsprite gUnknown_085928E8, ANIM_TARGET, 2, 0, 0
delay 6
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1
end
Move_DRILL_PECK:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_162
- createsprite gUnknown_08592CD8, 2, 0
- playsewithpan SE_W029, -64
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_WHIRLWIND_LINES
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, 2, 1
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
delay 2
- loopsewithpan SE_W030, +63, 4, 8
+ loopsewithpan SE_W030, SOUND_PAN_TARGET, 4, 8
createvisualtask sub_810EB88, 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1
waitforvisualfinish
- createsprite gUnknown_08592CD8, 2, 2
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6
waitforvisualfinish
end
Move_WATERFALL:
- loadspritegfx ANIM_TAG_148
- loadspritegfx ANIM_TAG_155
- loadspritegfx ANIM_TAG_141
+ loadspritegfx ANIM_TAG_WATER_IMPACT
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 23, 1
delay 5
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, 10, 10, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 10, 10, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, -15, 0, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -15, 0, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, 20, 10, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 20, 10, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, 0, -10, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 0, -10, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, -10, 15, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -10, 15, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, 25, 20, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 25, 20, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, -20, 20, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -20, 20, 25, 0
delay 4
- playsewithpan SE_W152, -64
- createsprite gUnknown_08595238, 2, 12, 0, 25, 0
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 12, 0, 25, 0
waitforvisualfinish
delay 10
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 5
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 5
delay 6
call UnderWaterAttack1
waitforvisualfinish
@@ -1581,48 +1581,48 @@ Move_WATERFALL:
end
UnderWaterAttack1:
- playsewithpan SE_W127, +63
+ playsewithpan SE_W127, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 17, 1
- createsprite gUnknown_08597388, 3, 0, 20, 1, 1
- createsprite gUnknown_08595250, 4, 0, 20
- createsprite gUnknown_08595250, 4, 0, 20
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 20, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 20
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 20
delay 2
- createsprite gUnknown_08597388, 3, 0, 15, 1, 1
- createsprite gUnknown_08595250, 4, 0, 15
- createsprite gUnknown_08595250, 4, 0, 15
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 15, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 15
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 15
delay 2
- createsprite gUnknown_08597388, 3, 0, 10, 1, 1
- createsprite gUnknown_08595250, 4, 0, 10
- createsprite gUnknown_08595250, 4, 0, 10
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 10, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 10
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 10
delay 2
- createsprite gUnknown_08597388, 3, 0, 5, 1, 1
- createsprite gUnknown_08595250, 4, 0, 5
- createsprite gUnknown_08595250, 4, 0, 5
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 5, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 5
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 5
delay 2
- createsprite gUnknown_08597388, 3, 0, 0, 1, 1
- createsprite gUnknown_08595250, 4, 0, 0
- createsprite gUnknown_08595250, 4, 0, 0
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 0
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, 0
delay 2
- createsprite gUnknown_08597388, 3, 0, -5, 1, 1
- createsprite gUnknown_08595250, 4, 0, -5
- createsprite gUnknown_08595250, 4, 0, -5
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -5, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -5
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -5
delay 2
- createsprite gUnknown_08597388, 3, 0, -10, 1, 1
- createsprite gUnknown_08595250, 4, 0, -10
- createsprite gUnknown_08595250, 4, 0, -10
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -10, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -10
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -10
delay 2
- createsprite gUnknown_08597388, 3, 0, -15, 1, 1
- createsprite gUnknown_08595250, 4, 0, -15
- createsprite gUnknown_08595250, 4, 0, -15
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -15, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -15
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -15
delay 2
- createsprite gUnknown_08597388, 3, 0, -20, 1, 1
- createsprite gUnknown_08595250, 4, 0, -20
- createsprite gUnknown_08595250, 4, 0, -20
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 3, 0, -20, 1, 1
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -20
+ createsprite gUnknown_08595250, ANIM_ATTACKER, 4, 0, -20
return
Move_EXPLOSION:
loadspritegfx ANIM_TAG_EXPLOSION
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 8, 9, RGB(26, 8, 8), 8, 0, 8
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 9, RGB(26, 8, 8), 8, 0, 8
createvisualtask AnimTask_ShakeMon2, 5, 4, 8, 0, 40, 1
createvisualtask AnimTask_ShakeMon2, 5, 5, 8, 0, 40, 1
createvisualtask AnimTask_ShakeMon2, 5, 6, 8, 0, 40, 1
@@ -1636,30 +1636,30 @@ Move_EXPLOSION:
createvisualtask sub_8116620, 10, 1, 3, 16, 0, RGB_WHITE
end
Explosion1:
- playsewithpan SE_W153, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 0, 1
+ playsewithpan SE_W153, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 0, 1
delay 6
- playsewithpan SE_W153, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 0, 1
+ playsewithpan SE_W153, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 0, 1
delay 6
- playsewithpan SE_W153, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 0, 1
+ playsewithpan SE_W153, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 0, 1
delay 6
- playsewithpan SE_W153, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 0, 1
+ playsewithpan SE_W153, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 0, 1
delay 6
- playsewithpan SE_W153, -64
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 0, 1
+ playsewithpan SE_W153, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 0, 1
delay 6
return
Move_DEFENSE_CURL:
- loadspritegfx ANIM_TAG_234
- loopsewithpan SE_W161, -64, 18, 3
+ loadspritegfx ANIM_TAG_ECLIPSING_ORB
+ loopsewithpan SE_W161, SOUND_PAN_ATTACKER, 18, 3
createvisualtask sub_811489C, 5, 0, 0
createvisualtask sub_815B338, 5
waitforvisualfinish
- createsprite gUnknown_085CE338, 2, 0, 6, 0, 1
+ createsprite gUnknown_085CE338, ANIM_ATTACKER, 2, 0, 6, 0, 1
waitforvisualfinish
createvisualtask sub_811489C, 5, 0, 1
waitforvisualfinish
@@ -1669,29 +1669,29 @@ Move_PROTECT:
loadspritegfx ANIM_TAG_PROTECT
monbg ANIM_ATK_PARTNER
monbgprio_28 ANIM_ATTACKER
- waitplaysewithpan SE_W115, -64, 16
- createsprite gUnknown_08592ADC, 2, 24, 0, 90
+ waitplaysewithpan SE_W115, SOUND_PAN_ATTACKER, 16
+ createsprite gUnknown_08592ADC, ANIM_ATTACKER, 2, 24, 0, 90
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
end
Move_DETECT:
- loadspritegfx ANIM_TAG_071
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 9, RGB_BLACK
+ loadspritegfx ANIM_TAG_SPARKLE_4
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 9, RGB_BLACK
waitforvisualfinish
createvisualtask sub_8116620, 10, 2, 1, 0, 9, RGB_WHITE
delay 18
- playsewithpan SE_W197, -64
- createsprite gUnknown_0853EE84, 13, 20, -20
+ playsewithpan SE_W197, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0853EE84, ANIM_ATTACKER, 13, 20, -20
waitforvisualfinish
delay 10
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 9, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 9, 0, RGB_BLACK
createvisualtask sub_8116620, 10, 2, 2, 9, 0, RGB_WHITE
waitforvisualfinish
end
Move_FRUSTRATION:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_ANGER
monbg ANIM_DEF_PARTNER
setalpha 12, 8
@@ -1706,107 +1706,107 @@ Frustration_Continue:
blendoff
end
Frustration_Strongest:
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1
createvisualtask sub_8116620, 10, 2, 3, 0, 9, 31
waitforvisualfinish
delay 20
- playsewithpan SE_W207B, -64
- createsprite gUnknown_0859368C, 2, 0, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859368C, ANIM_ATTACKER, 2, 0, 20, -28
waitforvisualfinish
- playsewithpan SE_W207B, -64
- createsprite gUnknown_0859368C, 2, 0, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859368C, ANIM_ATTACKER, 2, 0, 20, -28
waitforvisualfinish
delay 10
createvisualtask AnimTask_SwayMon, 5, 0, 16, 6144, 8, ANIM_ATTACKER
delay 5
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 30, 1
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, 24, 8, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 24, 8, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, -24, -16, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -24, -16, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, 8, 4, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 8, 4, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, -16, 19, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -16, 19, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, 18, -18, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, -18, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_8116620, 10, 2, 3, 9, 0, 31
goto Frustration_Continue
Frustration_Strong:
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER, 1, 0, 15, 1
createvisualtask sub_8116620, 10, 2, 3, 0, 9, 31
waitforvisualfinish
delay 20
- playsewithpan SE_W207B, -64
- createsprite gUnknown_0859368C, 2, 0, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859368C, ANIM_ATTACKER, 2, 0, 20, -28
waitforvisualfinish
delay 5
createvisualtask sub_815C3A8, 5
delay 7
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 8, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 8, 1, 1
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1
delay 14
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 12, -6, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 12, -6, 1, 1
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1
delay 14
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, -12, -6, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, -6, 1, 1
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 6, 1
waitforvisualfinish
createvisualtask sub_8116620, 10, 2, 3, 9, 0, 31
goto Frustration_Continue
Frustration_Medium:
- playsewithpan SE_W207B, -64
- createsprite gUnknown_0859368C, 2, 0, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859368C, ANIM_ATTACKER, 2, 0, 20, -28
waitforvisualfinish
delay 5
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 6
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, 4, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 4, 1, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 6
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -4, 1, 2
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -4, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1
goto Frustration_Continue
Frustration_Weak:
- createsprite gUnknown_085CE4D0, 2, 20, -28
+ createsprite gUnknown_085CE4D0, ANIM_ATTACKER, 2, 20, -28
waitforvisualfinish
delay 10
- createsprite gHorizontalLungeSpriteTemplate, 2, 10, 2
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 10, 2
delay 12
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
goto Frustration_Continue
Move_SAFEGUARD:
- loadspritegfx ANIM_TAG_244
+ loadspritegfx ANIM_TAG_GUARD_RING
monbg ANIM_ATK_PARTNER
setalpha 8, 8
- playsewithpan SE_W208, -64
- createsprite gUnknown_08593C64, 2
+ playsewithpan SE_W208, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593C64, ANIM_ATTACKER, 2
delay 4
- createsprite gUnknown_08593C64, 2
+ createsprite gUnknown_08593C64, ANIM_ATTACKER, 2
delay 4
- createsprite gUnknown_08593C64, 2
+ createsprite gUnknown_08593C64, ANIM_ATTACKER, 2
waitforvisualfinish
- playsewithpan SE_REAPOKE, -64
+ playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 10, 0, 2, 0, 10, RGB_WHITE
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
@@ -1814,23 +1814,23 @@ Move_SAFEGUARD:
end
Move_PAIN_SPLIT:
- loadspritegfx ANIM_TAG_239
- createsprite gUnknown_085CE590, 2, -8, -42, 0
- createsprite gUnknown_085CE590, 130, -8, -42, 1
+ loadspritegfx ANIM_TAG_PAIN_SPLIT
+ createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, -8, -42, 0
+ createsprite gUnknown_085CE590, ANIM_TARGET, 2, -8, -42, 1
delay 10
playsewithpan SE_W207B, 0
createvisualtask sub_815CA20, 2, 0, 0
createvisualtask sub_815CA20, 2, 1, 0
waitforvisualfinish
- createsprite gUnknown_085CE590, 2, -24, -42, 0
- createsprite gUnknown_085CE590, 130, -24, -42, 1
+ createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, -24, -42, 0
+ createsprite gUnknown_085CE590, ANIM_TARGET, 2, -24, -42, 1
delay 10
playsewithpan SE_W207B, 0
createvisualtask sub_815CA20, 2, 0, 1
createvisualtask sub_815CA20, 2, 1, 1
waitforvisualfinish
- createsprite gUnknown_085CE590, 2, 8, -42, 0
- createsprite gUnknown_085CE590, 130, 8, -42, 1
+ createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, 8, -42, 0
+ createsprite gUnknown_085CE590, ANIM_TARGET, 2, 8, -42, 1
delay 10
playsewithpan SE_W207B, 0
createvisualtask sub_815CA20, 2, 0, 2
@@ -1838,15 +1838,15 @@ Move_PAIN_SPLIT:
end
Move_VICE_GRIP:
- loadspritegfx ANIM_TAG_138
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_CUT
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W011, +63
- createsprite gUnknown_08593590, 2, 0
- createsprite gUnknown_08593590, 2, 1
+ playsewithpan SE_W011, SOUND_PAN_TARGET
+ createsprite gUnknown_08593590, ANIM_ATTACKER, 2, 0
+ createsprite gUnknown_08593590, ANIM_ATTACKER, 2, 1
delay 9
- createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 5, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -1854,23 +1854,23 @@ Move_VICE_GRIP:
end
Move_GUILLOTINE:
- loadspritegfx ANIM_TAG_138
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_CUT
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
fadetobgfromset BG_GUILLOTINE_OPPONENT, BG_GUILLOTINE_PLAYER, BG_GUILLOTINE_CONTESTS
waitbgfadein
- playsewithpan SE_W011, +63
- createsprite gUnknown_085935D0, 2, 0
- createsprite gUnknown_085935D0, 2, 1
+ playsewithpan SE_W011, SOUND_PAN_TARGET
+ createsprite gUnknown_085935D0, ANIM_ATTACKER, 2, 0
+ createsprite gUnknown_085935D0, ANIM_ATTACKER, 2, 1
createvisualtask sub_8116620, 10, 4, 2, 0, 16, RGB_BLACK
delay 9
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 23, 1
delay 0x2E
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 8, 1
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
- playsewithpan SE_W013, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -1879,17 +1879,17 @@ Move_GUILLOTINE:
end
Move_PAY_DAY:
- loadspritegfx ANIM_TAG_100
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_COIN
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W013B, -64
- createsprite gUnknown_085934D8, 2, 20, 0, 0, 0, 1152
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085934D8, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152
waitforvisualfinish
- playsewithpan SE_W006, +63
- createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 2
- createsprite gUnknown_085934F0, 2
+ playsewithpan SE_W006, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2
+ createsprite gUnknown_085934F0, ANIM_ATTACKER, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -1898,88 +1898,88 @@ Move_PAY_DAY:
Move_OUTRAGE:
loadspritegfx ANIM_TAG_SMALL_EMBER
- loopsewithpan SE_W082, -64, 8, 3
+ loopsewithpan SE_W082, SOUND_PAN_ATTACKER, 8, 3
createvisualtask sub_8115A04, 2, 7, 2, 5, 3, 8, RGB(14, 13, 0)
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 5, 4
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 0, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, 0, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 0, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, -1280, 0, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, 1280, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 0, 1280, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, -1280, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 0, -1280, 3
delay 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 40, 1
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, 768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, -1280, 768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, -768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, -768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, -768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, -1280, -768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 0, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, 0, 3
call Outrage1
call Outrage1
waitforvisualfinish
end
Outrage1:
delay 3
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 0, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, -1280, 0, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, 1280, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 0, 1280, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 0, -1280, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 0, -1280, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, 768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, 768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, 768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, -1280, 768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, 1280, -768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, 1280, -768, 3
delay 0
- createsprite gBattleAnimSpriteTemplate_8596E7C, 130, 0, 0, 30, -1280, -768, 3
+ createsprite gBattleAnimSpriteTemplate_8596E7C, ANIM_TARGET, 2, 0, 0, 30, -1280, -768, 3
return
Move_SPARK:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_SPARK_2
delay 0
createvisualtask sub_8115A04, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22)
- playsewithpan SE_W085B, -64
- createsprite gBattleAnimSpriteTemplate_859574C, 0, 32, 24, 190, 12, 0, 1, 0
+ playsewithpan SE_W085B, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 32, 24, 190, 12, 0, 1, 0
delay 0
- createsprite gBattleAnimSpriteTemplate_859574C, 0, 80, 24, 22, 12, 0, 1, 0
- createsprite gBattleAnimSpriteTemplate_859574C, 0, 156, 24, 121, 13, 0, 1, 1
+ createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 80, 24, 22, 12, 0, 1, 0
+ createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 156, 24, 121, 13, 0, 1, 1
delay 0
createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22)
delay 10
createvisualtask sub_8115A04, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22)
- playsewithpan SE_W085B, -64
- createsprite gBattleAnimSpriteTemplate_859574C, 0, 100, 24, 60, 10, 0, 1, 0
- createsprite gBattleAnimSpriteTemplate_859574C, 0, 170, 24, 42, 11, 0, 1, 1
+ playsewithpan SE_W085B, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 100, 24, 60, 10, 0, 1, 0
+ createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 170, 24, 42, 11, 0, 1, 1
delay 0
- createsprite gBattleAnimSpriteTemplate_859574C, 0, 238, 24, 165, 10, 0, 1, 1
+ createsprite gBattleAnimSpriteTemplate_859574C, ANIM_ATTACKER, 0, 238, 24, 165, 10, 0, 1, 1
delay 0
createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22)
delay 20
createvisualtask sub_8115A04, 2, 3, -31, 1, 7, 7, RGB(31, 31, 22)
- playsewithpan SE_W085B, -64
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 0, 20, 0, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 64, 20, 1, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 128, 20, 0, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 32, 12, 192, 20, 2, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 32, 20, 0, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 96, 20, 1, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 160, 20, 0, 0
- createsprite gBattleAnimSpriteTemplate_85957F8, 4, 0, 0, 16, 12, 224, 20, 2, 0
+ playsewithpan SE_W085B, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 32, 12, 0, 20, 0, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 32, 12, 64, 20, 1, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 32, 12, 128, 20, 0, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 32, 12, 192, 20, 2, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 16, 12, 32, 20, 0, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 16, 12, 96, 20, 1, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 16, 12, 160, 20, 0, 0
+ createsprite gBattleAnimSpriteTemplate_85957F8, ANIM_ATTACKER, 4, 0, 0, 16, 12, 224, 20, 2, 0
delay 4
waitforvisualfinish
createvisualtask sub_8115A04, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22)
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 4
- playsewithpan SE_W063, +63
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
+ playsewithpan SE_W063, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
createvisualtask sub_8115A04, 2, 4, -31, 2, 0, 6, RGB(31, 31, 22)
@@ -1988,30 +1988,30 @@ Move_SPARK:
end
Move_ATTRACT:
- loadspritegfx ANIM_TAG_216
- loopsewithpan SE_W204, -64, 12, 3
+ loadspritegfx ANIM_TAG_RED_HEART
+ loopsewithpan SE_W204, SOUND_PAN_ATTACKER, 12, 3
createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER
delay 15
- createsprite gUnknown_085939A0, 131, 20, -8
+ createsprite gUnknown_085939A0, ANIM_TARGET, 3, 20, -8
waitforvisualfinish
- playsewithpan SE_W213, +63
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, 160, -32
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, -256, -40
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, 128, -16
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, 416, -38
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, -128, -22
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, -384, -31
+ playsewithpan SE_W213, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 160, -32
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -256, -40
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 128, -16
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 416, -38
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -128, -22
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
waitforvisualfinish
waitplaysewithpan SE_W213B, 0, 15
createvisualtask sub_81062E8, 5
- createsprite gUnknown_085939D0, 40, 16, 256, 0
- createsprite gUnknown_085939D0, 40, 224, 240, 15
- createsprite gUnknown_085939D0, 40, 126, 272, 30
- createsprite gUnknown_085939D0, 40, 80, 224, 45
- createsprite gUnknown_085939D0, 40, 170, 272, 60
- createsprite gUnknown_085939D0, 40, 40, 256, 75
- createsprite gUnknown_085939D0, 40, 112, 256, 90
- createsprite gUnknown_085939D0, 40, 200, 272, 90
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 16, 256, 0
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 224, 240, 15
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 126, 272, 30
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 80, 224, 45
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 170, 272, 60
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 40, 256, 75
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 112, 256, 90
+ createsprite gUnknown_085939D0, ANIM_ATTACKER, 40, 200, 272, 90
delay 0x4B
createvisualtask sub_8115A04, 2, 4, 4, 4, 0, 10, RGB(31, 25, 27)
end
@@ -2024,25 +2024,25 @@ Move_GROWTH:
end
Growth1:
createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_ATTACKER, 0
return
Move_WHIRLWIND:
- loadspritegfx ANIM_TAG_162
- createsprite gUnknown_085963D4, 2, 0, -8, 1, 60, 0
- createsprite gUnknown_085963D4, 2, 0, 0, 1, 60, 1
- createsprite gUnknown_085963D4, 2, 0, 8, 1, 60, 2
- createsprite gUnknown_085963D4, 2, 0, 16, 1, 60, 3
- createsprite gUnknown_085963D4, 2, 0, 24, 1, 60, 4
- createsprite gUnknown_085963D4, 2, 0, 32, 1, 60, 0
+ loadspritegfx ANIM_TAG_WHIRLWIND_LINES
+ createsprite gUnknown_085963D4, ANIM_ATTACKER, 2, 0, -8, 1, 60, 0
+ createsprite gUnknown_085963D4, ANIM_ATTACKER, 2, 0, 0, 1, 60, 1
+ createsprite gUnknown_085963D4, ANIM_ATTACKER, 2, 0, 8, 1, 60, 2
+ createsprite gUnknown_085963D4, ANIM_ATTACKER, 2, 0, 16, 1, 60, 3
+ createsprite gUnknown_085963D4, ANIM_ATTACKER, 2, 0, 24, 1, 60, 4
+ createsprite gUnknown_085963D4, ANIM_ATTACKER, 2, 0, 32, 1, 60, 0
delay 5
- loopsewithpan SE_W104, +63, 10, 4
+ loopsewithpan SE_W104, SOUND_PAN_TARGET, 10, 4
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 15, 1
delay 0x1D
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_TARGET, 12, 6, 1, 5
delay 7
- playsewithpan SE_W081, +63
+ playsewithpan SE_W081, SOUND_PAN_TARGET
createvisualtask sub_80D5DB0, 5, 1, 8
waitforvisualfinish
end
@@ -2052,13 +2052,13 @@ Move_CONFUSE_RAY:
monbg ANIM_DEF_PARTNER
fadetobg BG_GHOST
waitbgfadein
- createvisualtask sub_8159278, 2, -64, 63, 2, 0
+ createvisualtask sub_8159278, 2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0
createvisualtask sub_8115C80, 2, 10013, 0, 6, 0, 14, 351
- createsprite gUnknown_08596D14, 130, 28, 0, 288
+ createsprite gUnknown_08596D14, ANIM_TARGET, 2, 28, 0, 288
waitforvisualfinish
setalpha 8, 8
- playsewithpan SE_W081B, +63
- createsprite gUnknown_08596D2C, 130, 0, -16
+ playsewithpan SE_W081B, SOUND_PAN_TARGET
+ createsprite gUnknown_08596D2C, ANIM_TARGET, 2, 0, -16
waitforvisualfinish
delay 0
blendoff
@@ -2069,11 +2069,11 @@ Move_CONFUSE_RAY:
Move_LOCK_ON:
loadspritegfx ANIM_TAG_LOCK_ON
- createsprite gUnknown_08592CA0, 40
- createsprite gUnknown_08592CB8, 40, 1
- createsprite gUnknown_08592CB8, 40, 2
- createsprite gUnknown_08592CB8, 40, 3
- createsprite gUnknown_08592CB8, 40, 4
+ createsprite gUnknown_08592CA0, ANIM_ATTACKER, 40
+ createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 1
+ createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 2
+ createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 3
+ createsprite gUnknown_08592CB8, ANIM_ATTACKER, 40, 4
delay 120
setarg 7, -1
waitforvisualfinish
@@ -2082,54 +2082,54 @@ Move_LOCK_ON:
Move_MEAN_LOOK:
loadspritegfx ANIM_TAG_EYE
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W060, -64
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 16, RGB_BLACK
- loopsewithpan SE_W109, +63, 15, 4
- waitplaysewithpan SE_W043, +63, 0x55
- createsprite gUnknown_085CE104, 2
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK
+ loopsewithpan SE_W109, SOUND_PAN_TARGET, 15, 4
+ waitplaysewithpan SE_W043, SOUND_PAN_TARGET, 0x55
+ createsprite gUnknown_085CE104, ANIM_ATTACKER, 2
delay 120
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK
delay 30
clearmonbg ANIM_DEF_PARTNER
waitforvisualfinish
end
Move_ROCK_THROW:
- loadspritegfx ANIM_TAG_058
- createsprite gBattleAnimSpriteTemplate_85972D8, 130, 6, 1, 15, 1
- createsprite gUnknown_08596B04, 130, 0, 1, 0, 0
- playsewithpan SE_W088, +63
+ loadspritegfx ANIM_TAG_ROCKS
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_TARGET, 2, 6, 1, 15, 1
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 0, 1, 0, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 6
- createsprite gUnknown_08596B04, 130, 19, 1, 10, 0
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 19, 1, 10, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 6
- createsprite gUnknown_08596B04, 130, -23, 2, -10, 0
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -23, 2, -10, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 20, 1
delay 6
- createsprite gUnknown_08596B04, 130, -15, 1, -10, 0
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -15, 1, -10, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 6
- createsprite gUnknown_08596B04, 130, 23, 2, 10, 0
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 23, 2, 10, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
waitforvisualfinish
end
Move_ROCK_SLIDE:
- loadspritegfx ANIM_TAG_058
+ loadspritegfx ANIM_TAG_ROCKS
monbg ANIM_DEF_PARTNER
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, 7, 1, 11, 1
- createsprite gUnknown_08596B04, 130, -5, 1, -5, 1
- playsewithpan SE_W088, +63
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 7, 1, 11, 1
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -5, 1, -5, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, 5, 0, 6, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 5, 0, 6, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, 19, 1, 10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 19, 1, 10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, -23, 2, -10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -23, 2, -10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 50, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 0, 5, 50, 1
delay 2
@@ -2140,43 +2140,43 @@ Move_ROCK_SLIDE:
end
RockSlide1:
- createsprite gUnknown_08596B04, 130, -20, 0, -10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -20, 0, -10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, 28, 1, 10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 28, 1, 10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, -10, 1, -5, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -10, 1, -5, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, 10, 0, 6, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 10, 0, 6, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, 24, 1, 10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 24, 1, 10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, -32, 2, -10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -32, 2, -10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, -20, 0, -10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, -20, 0, -10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08596B04, 130, 30, 2, 10, 1
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596B04, ANIM_TARGET, 2, 30, 2, 10, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 2
return
Move_THIEF:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
delay 1
fadetobg BG_DARK
waitbgfadein
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 6
- playsewithpan SE_W233, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ playsewithpan SE_W233, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 8, 1
waitforvisualfinish
delay 20
@@ -2187,8 +2187,8 @@ Move_THIEF:
end
Move_BUBBLE_BEAM:
- loadspritegfx ANIM_TAG_146
- loadspritegfx ANIM_TAG_155
+ loadspritegfx ANIM_TAG_BUBBLE
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
@@ -2204,29 +2204,29 @@ Move_BUBBLE_BEAM:
blendoff
end
Bulbblebeam1:
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 35, 70, 0, 256, 50
- playsewithpan SE_W145, -64
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 35, 70, 0, 256, 50
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 20, 40, -10, 256, 50
- playsewithpan SE_W145, -64
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 20, 40, -10, 256, 50
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 10, -60, 0, 256, 50
- playsewithpan SE_W145, -64
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 10, -60, 0, 256, 50
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 15, -15, 10, 256, 50
- playsewithpan SE_W145, -64
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 256, 50
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 30, 10, -10, 256, 50
- playsewithpan SE_W145, -64
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 30, 10, -10, 256, 50
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 25, -30, 10, 256, 50
- playsewithpan SE_W145, -64
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 256, 50
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
delay 3
return
Move_ICY_WIND:
- loadspritegfx ANIM_TAG_141
- loadspritegfx ANIM_TAG_142
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
+ loadspritegfx ANIM_TAG_ICE_SPIKES
monbg ANIM_DEF_PARTNER
createvisualtask sub_8116620, 10, 11, 4, 0, 4, RGB_BLACK
fadetobg BG_ICE
@@ -2234,11 +2234,11 @@ Move_ICY_WIND:
playsewithpan SE_W196, 0
waitbgfadein
waitforvisualfinish
- panse_1B SE_W016, -64, +63, +2, 0
+ panse_1B SE_W016, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
call IcyWind1
delay 5
call IcyWind1
- playsewithpan SE_W016B, +63
+ playsewithpan SE_W016B, SOUND_PAN_TARGET
delay 0x37
call IcyWindEffect2
waitforvisualfinish
@@ -2249,38 +2249,38 @@ Move_ICY_WIND:
waitbgfadein
end
IcyWind1:
- createsprite gUnknown_08595B98, 0xA8, 0, 0, 0, 0, 72, 1
+ createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, 0, 0, 0, 72, 1
delay 5
- createsprite gUnknown_08595B98, 0xA8, 0, 10, 0, 10, 72, 1
+ createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, 10, 0, 10, 72, 1
delay 5
- createsprite gUnknown_08595B98, 0xA8, 0, -10, 0, -10, 72, 1
+ createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, -10, 0, -10, 72, 1
delay 5
- createsprite gUnknown_08595B98, 0xA8, 0, 15, 0, 15, 72, 1
+ createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, 15, 0, 15, 72, 1
delay 5
- createsprite gUnknown_08595B98, 0xA8, 0, -5, 0, -5, 72, 1
+ createsprite gUnknown_08595B98, ANIM_TARGET, 40, 0, -5, 0, -5, 72, 1
return
Move_SMOKESCREEN:
loadspritegfx ANIM_TAG_BLACK_SMOKE
loadspritegfx ANIM_TAG_BLACK_BALL
- playsewithpan SE_W104, -64
- createsprite gUnknown_085CE050, 130, 20, 0, 0, 0, 35, -25
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085CE050, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25
waitforvisualfinish
createvisualtask sub_815A160, 2
delay 2
- playsewithpan SE_W028, +63
- createsprite gUnknown_085CE038, 132, 0, -12, 104, 0, 75
- createsprite gUnknown_085CE038, 132, 0, -12, 72, 1, 75
- createsprite gUnknown_085CE038, 132, 0, -6, 56, 1, 75
- createsprite gUnknown_085CE038, 132, 0, -6, 88, 0, 75
- createsprite gUnknown_085CE038, 132, 0, 0, 56, 0, 75
- createsprite gUnknown_085CE038, 132, 0, 0, 88, 1, 75
- createsprite gUnknown_085CE038, 132, 0, 6, 72, 0, 75
- createsprite gUnknown_085CE038, 132, 0, 6, 104, 1, 75
- createsprite gUnknown_085CE038, 132, 0, 12, 72, 0, 75
- createsprite gUnknown_085CE038, 132, 0, 12, 56, 1, 75
- createsprite gUnknown_085CE038, 132, 0, 18, 80, 0, 75
- createsprite gUnknown_085CE038, 132, 0, 18, 72, 1, 75
+ playsewithpan SE_W028, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -12, 104, 0, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -12, 72, 1, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -6, 56, 1, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, -6, 88, 0, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 0, 56, 0, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 0, 88, 1, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 6, 72, 0, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 6, 104, 1, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 12, 72, 0, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 12, 56, 1, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 18, 80, 0, 75
+ createsprite gUnknown_085CE038, ANIM_TARGET, 4, 0, 18, 72, 1, 75
waitforvisualfinish
end
@@ -2290,43 +2290,43 @@ Move_CONVERSION:
monbgprio_28 ANIM_ATTACKER
setalpha 16, 0
delay 0
- playsewithpan SE_W129, -64
- createsprite gUnknown_08592E74, 2, -24, -24
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -24
delay 3
- createsprite gUnknown_08592E74, 2, -8, -24
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -24
delay 3
- createsprite gUnknown_08592E74, 2, 8, -24
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -24
delay 3
- createsprite gUnknown_08592E74, 2, 24, -24
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -24
delay 3
- playsewithpan SE_W129, -64
- createsprite gUnknown_08592E74, 2, -24, -8
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, -8
delay 3
- createsprite gUnknown_08592E74, 2, -8, -8
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, -8
delay 3
- createsprite gUnknown_08592E74, 2, 8, -8
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, -8
delay 3
- createsprite gUnknown_08592E74, 2, 24, -8
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, -8
delay 3
- playsewithpan SE_W129, -64
- createsprite gUnknown_08592E74, 2, -24, 8
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 8
delay 3
- createsprite gUnknown_08592E74, 2, -8, 8
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 8
delay 3
- createsprite gUnknown_08592E74, 2, 8, 8
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 8
delay 3
- createsprite gUnknown_08592E74, 2, 24, 8
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 8
delay 3
- playsewithpan SE_W129, -64
- createsprite gUnknown_08592E74, 2, -24, 24
+ playsewithpan SE_W129, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -24, 24
delay 3
- createsprite gUnknown_08592E74, 2, -8, 24
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, -8, 24
delay 3
- createsprite gUnknown_08592E74, 2, 8, 24
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 8, 24
delay 3
- createsprite gUnknown_08592E74, 2, 24, 24
+ createsprite gUnknown_08592E74, ANIM_ATTACKER, 2, 24, 24
delay 20
- playsewithpan SE_W112, -64
+ playsewithpan SE_W112, SOUND_PAN_ATTACKER
createvisualtask sub_8115D94, 2, ANIM_TAG_CONVERSION, 1, 1, 14335, 12, 0, 0
delay 6
createvisualtask sub_81022D4, 5
@@ -2342,103 +2342,103 @@ Move_CONVERSION_2:
monbgprio_2A ANIM_TARGET
setalpha 0, 16
delay 0
- playsewithpan SE_W112, +63
- createsprite gUnknown_08592EA4, 2, -24, -24, 60
- createsprite gUnknown_08592EA4, 2, -8, -24, 65
- createsprite gUnknown_08592EA4, 2, 8, -24, 70
- createsprite gUnknown_08592EA4, 2, 24, -24, 75
- createsprite gUnknown_08592EA4, 2, -24, -8, 80
- createsprite gUnknown_08592EA4, 2, -8, -8, 85
- createsprite gUnknown_08592EA4, 2, 8, -8, 90
- createsprite gUnknown_08592EA4, 2, 24, -8, 95
- createsprite gUnknown_08592EA4, 2, -24, 8, 100
- createsprite gUnknown_08592EA4, 2, -8, 8, 105
- createsprite gUnknown_08592EA4, 2, 8, 8, 110
- createsprite gUnknown_08592EA4, 2, 24, 8, 115
- createsprite gUnknown_08592EA4, 2, -24, 24, 120
- createsprite gUnknown_08592EA4, 2, -8, 24, 125
- createsprite gUnknown_08592EA4, 2, 8, 24, 130
- createsprite gUnknown_08592EA4, 2, 24, 24, 135
+ playsewithpan SE_W112, SOUND_PAN_TARGET
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -24, 60
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -24, 65
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -24, 70
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -24, 75
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, -8, 80
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, -8, 85
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, -8, 90
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, -8, 95
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 8, 100
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 8, 105
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 8, 110
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 8, 115
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -24, 24, 120
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, -8, 24, 125
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 8, 24, 130
+ createsprite gUnknown_08592EA4, ANIM_ATTACKER, 2, 24, 24, 135
createvisualtask sub_81023E0, 5
delay 60
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
delay 10
- playsewithpan SE_W129, +63
+ playsewithpan SE_W129, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_ROLLING_KICK:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 4
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 6
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
- createsprite gUnknown_08595EE0, 2, -24, 0, 48, 10, 160, 0
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4
+ createsprite gUnknown_08595EE0, ANIM_ATTACKER, 2, -24, 0, 48, 10, 160, 0
delay 5
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 8
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 8
clearmonbg ANIM_TARGET
blendoff
end
Move_HEADBUTT:
- loadspritegfx ANIM_TAG_135
- createsprite gUnknown_08592CD8, 2, 0
- playsewithpan SE_W029, -64
+ loadspritegfx ANIM_TAG_IMPACT
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, 2, 1
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- createsprite gUnknown_08592CD8, 2, 2
- createsprite gUnknown_085973E8, 131, 0, 0, 1, 1
- playsewithpan SE_W233B, +63
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
end
Move_HORN_ATTACK:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_HORN_HIT
- createsprite gUnknown_08592CD8, 2, 0
- playsewithpan SE_W029, -64
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, 2, 1
- createsprite gUnknown_08592F44, 132, 0, 0, 10
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
+ createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 10
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 4, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- createsprite gUnknown_08592CD8, 2, 2
- createsprite gUnknown_085973E8, 131, 0, 0, 1, 1
- playsewithpan SE_W030, +63
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
+ playsewithpan SE_W030, SOUND_PAN_TARGET
waitforvisualfinish
end
Move_FURY_ATTACK:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_HORN_HIT
createvisualtask sub_80D6134, 2, 4, 256, 0, 2
choosetwoturnanim FuryAttackRight, FuryAttackLeft
@@ -2448,21 +2448,21 @@ FuryAttackContinue:
end
FuryAttackRight:
- createsprite gUnknown_08592F44, 132, 8, 8, 10
+ createsprite gUnknown_08592F44, ANIM_TARGET, 4, 8, 8, 10
waitforvisualfinish
- createsprite gUnknown_085973E8, 131, 0, 0, 1, 1
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
+ playsewithpan SE_W030, SOUND_PAN_TARGET
goto FuryAttackContinue
FuryAttackLeft:
- createsprite gUnknown_08592F44, 132, -8, -8, 10
+ createsprite gUnknown_08592F44, ANIM_TARGET, 4, -8, -8, 10
waitforvisualfinish
- createsprite gUnknown_085973E8, 131, 0, 0, 1, 1
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 1
+ playsewithpan SE_W030, SOUND_PAN_TARGET
goto FuryAttackContinue
Move_HORN_DRILL:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_HORN_HIT
jumpifcontest HornDrillInContest
fadetobg BG_DRILL
@@ -2471,50 +2471,50 @@ Move_HORN_DRILL:
HornDrillContinue:
waitbgfadein
setalpha 12, 8
- createsprite gUnknown_08592CD8, 2, 0
- playsewithpan SE_W029, -64
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 0
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 2
- createsprite gUnknown_08592CD8, 2, 1
- createsprite gUnknown_08592F44, 132, 0, 0, 12
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 1
+ createsprite gUnknown_08592F44, ANIM_TARGET, 4, 0, 0, 12
waitforvisualfinish
playse SE_BAN
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1
- createsprite gUnknown_085973E8, 131, 0, 0, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 0, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, 0, 2, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 0, 2, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, -4, 3, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, -4, 3, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, -8, -5, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, -8, -5, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, 4, -12, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 4, -12, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, 16, 0, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 16, 0, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, 5, 18, 1, 3
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 5, 18, 1, 3
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, -17, 12, 1, 2
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, -17, 12, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, -21, -15, 1, 2
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, -21, -15, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, 8, -27, 1, 2
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 8, -27, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973E8, 131, 32, 0, 1, 2
- playsewithpan SE_W030, +63
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 32, 0, 1, 2
+ playsewithpan SE_W030, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08592CD8, 2, 2
+ createsprite gUnknown_08592CD8, ANIM_ATTACKER, 2, 2
waitforvisualfinish
restorebg
waitbgfadeout
@@ -2529,52 +2529,52 @@ HornDrillInContest:
goto HornDrillContinue
Move_THRASH:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
createvisualtask sub_8104C38, 2
createvisualtask sub_8104CA4, 2
- createsprite gUnknown_08595EB0, 131, 1, 10, 0
+ createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 0
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1
- playsewithpan SE_W004, +63
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 28
- createsprite gUnknown_08595EB0, 131, 1, 10, 1
+ createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 1
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 7, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 28
- createsprite gUnknown_08595EB0, 131, 1, 10, 3
+ createsprite gUnknown_08595EB0, ANIM_TARGET, 3, 1, 10, 3
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 8, 0, 16, 1
- playsewithpan SE_W025B, +63
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
end
Move_SING:
- loadspritegfx ANIM_TAG_MUSIC_NOTES2
+ loadspritegfx ANIM_TAG_MUSIC_NOTES
monbg ANIM_DEF_PARTNER
createvisualtask sub_8102BE8, 2
waitforvisualfinish
- panse_1B SE_W047, -64, +63, +2, 0
- createsprite gUnknown_08593008, 130, 7, 0, 12
+ panse_1B SE_W047, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 0, 12
delay 5
- createsprite gUnknown_08593008, 130, 6, 1, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 12
delay 5
- createsprite gUnknown_08593008, 130, 1, 2, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12
delay 5
- createsprite gUnknown_08593008, 130, 2, 3, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 3, 12
delay 5
- createsprite gUnknown_08593008, 130, 3, 0, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 0, 12
delay 4
- createsprite gUnknown_08593008, 130, 2, 1, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12
delay 4
- createsprite gUnknown_08593008, 130, 5, 2, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 2, 12
delay 4
- createsprite gUnknown_08593008, 130, 6, 3, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 3, 12
delay 4
- createsprite gUnknown_08593008, 130, 2, 0, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 0, 12
delay 4
- createsprite gUnknown_08593008, 130, 2, 1, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 12
delay 4
- createsprite gUnknown_08593008, 130, 1, 2, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 2, 12
delay 4
- createsprite gUnknown_08593008, 130, 5, 3, 12
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 3, 12
delay 4
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -2583,16 +2583,16 @@ Move_SING:
end
Move_LOW_KICK:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
- createsprite gUnknown_08595EE0, 130, -24, 28, 40, 8, 160, 0
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4
+ createsprite gUnknown_08595EE0, ANIM_TARGET, 2, -24, 28, 40, 8, 160, 0
delay 4
- createsprite gBasicHitSplatSpriteTemplate, 130, -8, 8, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 8, 1, 2
createvisualtask sub_80D6134, 2, 6, 384, 1, 2
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 1, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4
end
Move_EARTHQUAKE:
@@ -2600,24 +2600,24 @@ Move_EARTHQUAKE:
createvisualtask sub_81152DC, 5, 4, 10, 50
playsewithpan SE_W089, 0
delay 10
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
delay 16
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
end
Move_FISSURE:
- loadspritegfx ANIM_TAG_074
+ loadspritegfx ANIM_TAG_MUD_SAND
createvisualtask sub_81152DC, 3, 5, 10, 50
createvisualtask sub_81152DC, 3, 1, 10, 50
- playsewithpan SE_W089, +63
+ playsewithpan SE_W089, SOUND_PAN_TARGET
delay 8
call Fissure1
delay 15
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
delay 15
call Fissure2
delay 15
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
delay 15
call Fissure1
delay 50
@@ -2633,19 +2633,19 @@ Move_FISSURE:
end
Fissure1:
- createsprite gUnknown_085971FC, 130, 1, 0, 12, -48, -16, 24
- createsprite gUnknown_085971FC, 130, 1, 0, 16, -16, -10, 24
- createsprite gUnknown_085971FC, 130, 1, 1, 14, -52, -18, 24
- createsprite gUnknown_085971FC, 130, 1, 1, 12, -32, -16, 24
- playsewithpan SE_W091, +63
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 12, -48, -16, 24
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 16, -16, -10, 24
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 14, -52, -18, 24
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 12, -32, -16, 24
+ playsewithpan SE_W091, SOUND_PAN_TARGET
return
Fissure2:
- createsprite gUnknown_085971FC, 130, 1, 0, 12, -24, -16, 24
- createsprite gUnknown_085971FC, 130, 1, 0, 16, -38, -10, 24
- createsprite gUnknown_085971FC, 130, 1, 1, 14, -20, -18, 24
- createsprite gUnknown_085971FC, 130, 1, 1, 12, -36, -16, 24
- playsewithpan SE_W091, +63
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 12, -24, -16, 24
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 0, 16, -38, -10, 24
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 14, -20, -18, 24
+ createsprite gUnknown_085971FC, ANIM_TARGET, 2, 1, 1, 12, -36, -16, 24
+ playsewithpan SE_W091, SOUND_PAN_TARGET
return
Move_DIG:
@@ -2653,10 +2653,10 @@ Move_DIG:
DigEnd:
end
DigSetUp:
- loadspritegfx ANIM_TAG_074
- loadspritegfx ANIM_TAG_281
- createsprite gUnknown_08597214, 1, 0, 0, 180
- createsprite gUnknown_08597214, 1, 0, 1, 180
+ loadspritegfx ANIM_TAG_MUD_SAND
+ loadspritegfx ANIM_TAG_DIRT_MOUND
+ createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 0, 180
+ createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 1, 180
monbg_22 ANIM_ATTACKER
delay 1
createvisualtask sub_8114CBC, 2, 0
@@ -2672,36 +2672,36 @@ DigSetUp:
createvisualtask sub_8114CBC, 2, 1
goto DigEnd
DigUnleash:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_281
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_DIRT_MOUND
createvisualtask sub_8114F14, 2, 0
waitforvisualfinish
monbg ANIM_ATTACKER
- createsprite gUnknown_08597214, 1, 0, 0, 48
- createsprite gUnknown_08597214, 1, 0, 1, 48
+ createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 0, 48
+ createsprite gUnknown_08597214, ANIM_ATTACKER, 1, 0, 1, 48
delay 1
createvisualtask sub_8114F14, 2, 1
delay 16
- createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- playsewithpan SE_W025B, -64
+ playsewithpan SE_W025B, SOUND_PAN_ATTACKER
clearmonbg ANIM_ATTACKER
goto DigEnd
DigSetUp1:
- createsprite gUnknown_085971FC, 2, 0, 0, 12, 4, -16, 18
- createsprite gUnknown_085971FC, 2, 0, 0, 16, 4, -10, 18
- createsprite gUnknown_085971FC, 2, 0, 1, 14, 4, -18, 18
- createsprite gUnknown_085971FC, 2, 0, 1, 12, 4, -16, 18
- playsewithpan SE_W091, -64
+ createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 0, 12, 4, -16, 18
+ createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 0, 16, 4, -10, 18
+ createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 1, 14, 4, -18, 18
+ createsprite gUnknown_085971FC, ANIM_ATTACKER, 2, 0, 1, 12, 4, -16, 18
+ playsewithpan SE_W091, SOUND_PAN_ATTACKER
delay 32
return
Move_MEDITATE:
call SetPsychicBackground
createvisualtask sub_810F7D4, 2
- playsewithpan SE_W029, -64
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
delay 16
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
waitforvisualfinish
call UnsetPsychicBackground
end
@@ -2711,15 +2711,15 @@ Move_AGILITY:
setalpha 12, 8
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 4, 4
createvisualtask sub_81169C0, 2, 0, 4, 7, 10
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 12
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 12
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 12
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 12
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 12
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
@@ -2728,16 +2728,16 @@ Move_AGILITY:
end
Move_QUICK_ATTACK:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_ATK_PARTNER
setalpha 12, 8
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5
createvisualtask sub_81169C0, 2, 0, 4, 7, 3
- playsewithpan SE_W026, -64
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
delay 4
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- createsprite gBasicHitSplatSpriteTemplate, 132, 0, 0, 1, 1
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
@@ -2745,22 +2745,22 @@ Move_QUICK_ATTACK:
end
Move_RAGE:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_ANGER
monbg ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_ATTACKER, RGB_RED, 10, 0, 2
- createsprite gUnknown_0859368C, 2, 0, -20, -28
- playsewithpan SE_W207B, -64
+ createsprite gUnknown_0859368C, ANIM_ATTACKER, 2, 0, -20, -28
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
delay 20
- createsprite gUnknown_0859368C, 2, 0, 20, -28
- playsewithpan SE_W207B, -64
+ createsprite gUnknown_0859368C, ANIM_ATTACKER, 2, 0, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 4
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask sub_80D6388, 2, 1, 1, 10, 1, 0
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
end
@@ -2768,7 +2768,7 @@ Move_RAGE:
Move_TELEPORT:
call SetPsychicBackground
createvisualtask sub_810F83C, 2
- playsewithpan SE_W100, -64
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
delay 15
call UnsetPsychicBackground
waitforvisualfinish
@@ -2778,23 +2778,23 @@ Move_DOUBLE_TEAM:
createvisualtask sub_81029B4, 2
setalpha 12, 8
monbg ANIM_ATK_PARTNER
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 32
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 24
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 16
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 8
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 8
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 8
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 8
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
delay 8
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
@@ -2804,20 +2804,20 @@ Move_DOUBLE_TEAM:
Move_MINIMIZE:
setalpha 10, 8
createvisualtask sub_8104674, 2
- loopsewithpan SE_W107, -64, 34, 3
+ loopsewithpan SE_W107, SOUND_PAN_ATTACKER, 34, 3
waitforvisualfinish
blendoff
end
Move_METRONOME:
- loadspritegfx ANIM_TAG_064
- loadspritegfx ANIM_TAG_209
- createsprite gUnknown_08593114, 11, 0, 100
- playsewithpan SE_W118, -64
+ loadspritegfx ANIM_TAG_FINGER
+ loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
+ createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 100
+ playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085931BC, 12, 0
+ createsprite gUnknown_085931BC, ANIM_ATTACKER, 12, 0
delay 24
- loopsewithpan SE_W039, -64, 22, 3
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3
waitforvisualfinish
end
@@ -2831,72 +2831,72 @@ SkullBashSetUp:
waitforvisualfinish
goto SkullBashEnd
SkullBashSetUp1:
- createsprite gUnknown_0857FE88, 2, 0, -24, 0, 0, 10, 0
- playsewithpan SE_W036, -64
+ createsprite gUnknown_0857FE88, ANIM_ATTACKER, 2, 0, -24, 0, 0, 10, 0
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_80D6134, 2, 16, 96, 0, 2
waitforvisualfinish
- createsprite gUnknown_0857FE88, 2, 0, 24, 0, 0, 10, 1
+ createsprite gUnknown_0857FE88, ANIM_ATTACKER, 2, 0, 24, 0, 0, 10, 1
waitforvisualfinish
return
SkullBashAttack:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
createvisualtask sub_8101C94, 2, 0
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
waitforvisualfinish
playse SE_BAN
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1
- createsprite gUnknown_085973E8, 132, 0, 0, 1, 0
- loopsewithpan SE_W025B, +63, 8, 3
+ createsprite gUnknown_085973E8, ANIM_TARGET, 4, 0, 0, 1, 0
+ loopsewithpan SE_W025B, SOUND_PAN_TARGET, 8, 3
waitforvisualfinish
createvisualtask sub_8101C94, 2, 1
goto SkullBashEnd
Move_AMNESIA:
- loadspritegfx ANIM_TAG_093
+ loadspritegfx ANIM_TAG_AMNESIA
call SetPsychicBackground
delay 8
- createsprite gUnknown_08596744, 20
- playsewithpan SE_W118, -64
+ createsprite gUnknown_08596744, ANIM_ATTACKER, 20
+ playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 54
- loopsewithpan SE_W118, -64, 16, 3
+ loopsewithpan SE_W118, SOUND_PAN_ATTACKER, 16, 3
waitforvisualfinish
call UnsetPsychicBackground
end
Move_KINESIS:
- loadspritegfx ANIM_TAG_075
+ loadspritegfx ANIM_TAG_ALERT
loadspritegfx ANIM_TAG_BENT_SPOON
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
- createsprite gUnknown_085966DC, 20
- createsprite gUnknown_08593344, 19, 32, -8, 0
- createsprite gUnknown_08593344, 19, 32, 16, 1
- loopsewithpan SE_W109, -64, 21, 2
+ createsprite gUnknown_085966DC, ANIM_ATTACKER, 20
+ createsprite gUnknown_08593344, ANIM_ATTACKER, 19, 32, -8, 0
+ createsprite gUnknown_08593344, ANIM_ATTACKER, 19, 32, 16, 1
+ loopsewithpan SE_W109, SOUND_PAN_ATTACKER, 21, 2
delay 60
- playsewithpan SE_W146, -64
+ playsewithpan SE_W146, SOUND_PAN_ATTACKER
delay 30
- loopsewithpan SE_W146, -64, 20, 2
+ loopsewithpan SE_W146, SOUND_PAN_ATTACKER, 20, 2
delay 70
- playsewithpan SE_W207B, -64
+ playsewithpan SE_W207B, SOUND_PAN_ATTACKER
waitforvisualfinish
call UnsetPsychicBackground
end
Move_GLARE:
- loadspritegfx ANIM_TAG_248
- loadspritegfx ANIM_TAG_218
+ loadspritegfx ANIM_TAG_SMALL_RED_EYE
+ loadspritegfx ANIM_TAG_EYE_SPARKLE
createvisualtask sub_815E114, 5, 0
- playsewithpan SE_W060B, -64
+ playsewithpan SE_W060B, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08593A84, 0, -16, -8
- createsprite gUnknown_08593A84, 0, 16, -8
+ createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8
+ createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8
createvisualtask sub_81064F8, 5
- playsewithpan SE_W043, -64
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
delay 2
createvisualtask sub_810A094, 3, 20, 1, 0
waitforvisualfinish
@@ -2904,14 +2904,14 @@ Move_GLARE:
end
Move_BARRAGE:
- loadspritegfx ANIM_TAG_254
+ loadspritegfx ANIM_TAG_RED_BALL
createvisualtask sub_815E47C, 3
- playsewithpan SE_W207, -64
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
delay 24
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, 8, 1, 40, 1
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 8, 1, 40, 1
createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 4, 20, 1
createvisualtask AnimTask_ShakeMon, 3, ANIM_DEF_PARTNER, 0, 4, 20, 1
- loopsewithpan SE_W070, +63, 8, 2
+ loopsewithpan SE_W070, SOUND_PAN_TARGET, 8, 2
end
Move_SKY_ATTACK:
@@ -2921,7 +2921,7 @@ SkyAttackEnd:
SkyAttackSetUp:
monbg ANIM_DEF_PARTNER
setalpha 12, 11
- createvisualtask AnimTask_IsTargetPartner, 5, ARG_RET_ID
+ createvisualtask AnimTask_GetTargetIsAttackerPartner, 5, ARG_RET_ID
jumpretfalse SkyAttackSetUpAgainstOpponent
goto SkyAttackSetUpAgainstPartner
SkyAttackSetUpAgainstOpponent:
@@ -2930,7 +2930,7 @@ SkyAttackSetUpAgainstOpponent:
delay 12
createvisualtask sub_8116620, 10, 2, 1, 8, 0, RGB_BLACK
createvisualtask sub_81152DC, 5, 0, 2, 16
- loopsewithpan SE_W287, -64, 4, 8
+ loopsewithpan SE_W287, SOUND_PAN_ATTACKER, 4, 8
createvisualtask sub_8116620, 10, 2, 1, 0, 15, RGB_WHITE
delay 20
createvisualtask sub_8116620, 10, 2, 1, 15, 0, RGB_WHITE
@@ -2946,7 +2946,7 @@ SkyAttackSetUpAgainstPartner:
delay 12
createvisualtask sub_8116620, 10, 2, 1, 8, 0, RGB_BLACK
createvisualtask sub_81152DC, 5, 0, 2, 16
- playsewithpan SE_W287, -64
+ playsewithpan SE_W287, SOUND_PAN_ATTACKER
delay 8
createvisualtask sub_8116620, 10, 2, 1, 0, 15, RGB_WHITE
delay 20
@@ -2958,19 +2958,19 @@ SkyAttackSetUpAgainstPartner:
blendoff
goto SkyAttackEnd
SkyAttackUnleash:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_284
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_BIRD
call SetFlyingBg
monbg ANIM_ATTACKER
createvisualtask sub_8116620, 10, 2, 0, 0, 16, RGB_WHITE
delay 4
createvisualtask sub_81136E8, 5, 0
waitforvisualfinish
- createvisualtask sub_8159244, 5, 238, -64
- createsprite gUnknown_08596514, 130
+ createvisualtask sub_8159244, 5, 238, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596514, ANIM_TARGET, 2
delay 14
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1
- createvisualtask sub_8159210, 5, 141, 63
+ createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET
delay 20
createvisualtask sub_81137E4, 5, 1
delay 2
@@ -2981,7 +2981,7 @@ SkyAttackUnleash:
goto SkyAttackEnd
Move_FLASH:
- playsewithpan SE_W043, -64
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
createvisualtask sub_8117494, 2
waitforvisualfinish
end
@@ -2989,7 +2989,7 @@ Move_FLASH:
Move_SPLASH:
createvisualtask sub_8104938, 2, 0, 3
delay 8
- loopsewithpan SE_W039, -64, 38, 3
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 38, 3
waitforvisualfinish
end
@@ -2997,7 +2997,7 @@ Move_ACID_ARMOR:
monbg ANIM_ATTACKER
setalpha 15, 0
createvisualtask sub_815D240, 2, 0
- playsewithpan SE_W151, -64
+ playsewithpan SE_W151, SOUND_PAN_ATTACKER
waitforvisualfinish
blendoff
clearmonbg ANIM_ATTACKER
@@ -3005,55 +3005,55 @@ Move_ACID_ARMOR:
end
Move_SHARPEN:
- loadspritegfx ANIM_TAG_185
- createsprite gUnknown_08592DE4, 2
+ loadspritegfx ANIM_TAG_SPHERE_TO_CUBE
+ createsprite gUnknown_08592DE4, ANIM_ATTACKER, 2
waitforvisualfinish
end
Move_SUPER_FANG:
- loadspritegfx ANIM_TAG_192
+ loadspritegfx ANIM_TAG_FANG_ATTACK
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 1, 0, 20, 1
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 48, 1
createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATTACKER, RGB(31, 6, 1), 12, 4, 1
waitforvisualfinish
delay 20
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 4
- createsprite gUnknown_08592F74, 130
- playsewithpan SE_W044, +63
+ createsprite gUnknown_08592F74, ANIM_TARGET, 2
+ playsewithpan SE_W044, SOUND_PAN_TARGET
delay 8
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB(31, 2, 2), 14, 0x7FFF, 14
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 7, 12, 1
waitforvisualfinish
blendoff
end
Move_SLASH:
- loadspritegfx ANIM_TAG_183
- createsprite gUnknown_08592D2C, 130, 1, -8, 0
- playsewithpan SE_W013, +63
+ loadspritegfx ANIM_TAG_SLASH
+ createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, -8, 0
+ playsewithpan SE_W013, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08592D2C, 130, 1, 8, 0
+ createsprite gUnknown_08592D2C, ANIM_TARGET, 2, 1, 8, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1
- playsewithpan SE_W013, +63
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
end
Move_STRUGGLE:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_215
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_MOVEMENT_WAVES
monbg ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4
- createsprite gUnknown_08593B80, 2, 0, 0, 2
- createsprite gUnknown_08593B80, 2, 0, 1, 2
- loopsewithpan SE_W029, -64, 12, 4
+ createsprite gUnknown_08593B80, ANIM_ATTACKER, 2, 0, 0, 2
+ createsprite gUnknown_08593B80, ANIM_ATTACKER, 2, 0, 1, 2
+ loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 12, 4
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W025B, +63
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -3063,11 +3063,11 @@ Move_SKETCH:
loadspritegfx ANIM_TAG_PENCIL
monbg ANIM_TARGET
createvisualtask sub_8104E74, 2
- createsprite gUnknown_085936D4, 130
+ createsprite gUnknown_085936D4, ANIM_TARGET, 2
waitforvisualfinish
clearmonbg ANIM_TARGET
createvisualtask sub_8104938, 2, 0, 2
- loopsewithpan SE_W039, -64, 38, 2
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 38, 2
end
Move_NIGHTMARE:
@@ -3077,7 +3077,7 @@ Move_NIGHTMARE:
monbg ANIM_DEF_PARTNER
createvisualtask sub_8111C50, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 40, 1
- playsewithpan SE_W171, +63
+ playsewithpan SE_W171, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
restorebg
@@ -3086,22 +3086,22 @@ Move_NIGHTMARE:
NightmareInContest:
createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATTACKER, RGB_WHITE, 10, 2, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 3, 0, 32, 1
- playsewithpan SE_W171, +63
+ playsewithpan SE_W171, SOUND_PAN_TARGET
waitforvisualfinish
restorebg
waitbgfadein
end
Move_FLAIL:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
createvisualtask sub_815C770, 2, 0
- loopsewithpan SE_W029, -64, 8, 2
+ loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 8, 2
waitforvisualfinish
- createsprite gUnknown_085973A0, 131, 1, 3
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3
createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0
- playsewithpan SE_W025B, +63
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
@@ -3109,12 +3109,12 @@ Move_FLAIL:
Move_SPITE:
fadetobg BG_GHOST
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
waitbgfadein
monbg ANIM_DEF_PARTNER
createvisualtask sub_8115A04, 2, 2, 2, 6, 0, 8, RGB_WHITE
createvisualtask sub_8111E50, 2
- loopsewithpan SE_W060, +63, 20, 3
+ loopsewithpan SE_W060, SOUND_PAN_TARGET, 20, 3
waitforvisualfinish
restorebg
waitbgfadein
@@ -3122,10 +3122,10 @@ Move_SPITE:
end
Move_MACH_PUNCH:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_ATK_PARTNER
- createvisualtask AnimTask_IsAttackerOpponentSide, 2
+ createvisualtask AnimTask_GetAttackerSide, 2
jumprettrue MachPunchAgainstPlayer
fadetobg BG_HIGHSPEED_OPPONENT
MachPunchContinue:
@@ -3135,11 +3135,11 @@ MachPunchContinue:
delay 0
setalpha 9, 8
createvisualtask sub_80A8BC4, 2, 28968, 10
- playsewithpan SE_W026, -64
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
- createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
@@ -3158,33 +3158,33 @@ Move_FORESIGHT:
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 16, 0
- createsprite gUnknown_085CE8C4, 130, 1
+ createsprite gUnknown_085CE8C4, ANIM_TARGET, 2, 1
delay 17
- loopsewithpan SE_W166, +63, 16, 4
+ loopsewithpan SE_W166, SOUND_PAN_TARGET, 16, 4
delay 48
delay 24
- playsewithpan SE_W166, +63
+ playsewithpan SE_W166, SOUND_PAN_TARGET
delay 10
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB_WHITE, 12, 2, 1
- playsewithpan SE_W197, +63
+ playsewithpan SE_W197, SOUND_PAN_TARGET
waitforvisualfinish
blendoff
clearmonbg ANIM_DEF_PARTNER
end
Move_DESTINY_BOND:
- loadspritegfx ANIM_TAG_188
+ loadspritegfx ANIM_TAG_WHITE_SHADOW
fadetobg BG_GHOST
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
waitbgfadein
createvisualtask sub_81123C4, 5, 0, 48
- playsewithpan SE_W109, -64
+ playsewithpan SE_W109, SOUND_PAN_ATTACKER
delay 48
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 24, 1
createvisualtask sub_8116664, 2, 6, 1, 0, 12, RGB(29, 29, 29)
delay 24
createvisualtask sub_8116664, 2, 6, 1, 12, 0, RGB(29, 29, 29)
- playsewithpan SE_W171, +63
+ playsewithpan SE_W171, SOUND_PAN_TARGET
waitforvisualfinish
restorebg
waitbgfadein
@@ -3193,8 +3193,8 @@ Move_DESTINY_BOND:
end
Move_ENDURE:
- loadspritegfx ANIM_TAG_184
- playsewithpan SE_W082, -64
+ loadspritegfx ANIM_TAG_FOCUS_ENERGY
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
call EndureEffect
delay 8
createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED
@@ -3206,108 +3206,108 @@ Move_ENDURE:
end
EndureEffect:
- createsprite gUnknown_08592D8C, 2, 0, -24, 26, 2
+ createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -24, 26, 2
delay 4
- createsprite gUnknown_08592D8C, 2, 0, 14, 28, 1
+ createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 14, 28, 1
delay 4
- createsprite gUnknown_08592D8C, 2, 0, -5, 10, 2
+ createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -5, 10, 2
delay 4
- createsprite gUnknown_08592D8C, 2, 0, 28, 26, 3
+ createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, 28, 26, 3
delay 4
- createsprite gUnknown_08592D8C, 2, 0, -12, 0, 1
+ createsprite gUnknown_08592D8C, ANIM_ATTACKER, 2, 0, -12, 0, 1
return
Move_CHARM:
- loadspritegfx ANIM_TAG_PURPLE_HEART
+ loadspritegfx ANIM_TAG_MAGENTA_HEART
createvisualtask sub_815C478, 5, 0, 2, 0
- createsprite gUnknown_08593970, 3, 0, 20
- playsewithpan SE_W204, -64
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, 3, -20, 20
- playsewithpan SE_W204, -64
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, 3, 20, 20
- playsewithpan SE_W204, -64
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
waitforvisualfinish
end
Move_ROLLOUT:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_074
- loadspritegfx ANIM_TAG_058
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_MUD_SAND
+ loadspritegfx ANIM_TAG_ROCKS
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask sub_8110F74, 2
waitforvisualfinish
createvisualtask sub_80D6388, 2, 0, 1, 30, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 4, 0, 0, 1, 2
- playsewithpan SE_W025B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 1, 2
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_FALSE_SWIPE:
- loadspritegfx ANIM_TAG_286
- loadspritegfx ANIM_TAG_135
- createsprite gUnknown_08592D44, 130
- playsewithpan SE_W233, +63
+ loadspritegfx ANIM_TAG_SLASH_2
+ loadspritegfx ANIM_TAG_IMPACT
+ createsprite gUnknown_08592D44, ANIM_TARGET, 2
+ playsewithpan SE_W233, SOUND_PAN_TARGET
delay 16
- createsprite gUnknown_08592D5C, 130, 0
- playsewithpan SE_W104, +63
+ createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 0
+ playsewithpan SE_W104, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08592D5C, 130, 16
+ createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 16
delay 2
- createsprite gUnknown_08592D5C, 130, 32
- playsewithpan SE_W104, +63
+ createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 32
+ playsewithpan SE_W104, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08592D5C, 130, 48
+ createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 48
delay 2
- createsprite gUnknown_08592D5C, 130, 64
- playsewithpan SE_W104, +63
+ createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 64
+ playsewithpan SE_W104, SOUND_PAN_TARGET
delay 2
- createsprite gUnknown_08592D5C, 130, 80
+ createsprite gUnknown_08592D5C, ANIM_TARGET, 2, 80
delay 2
waitforvisualfinish
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1
- createsprite gBasicHitSplatSpriteTemplate, 132, 0, 0, 1, 3
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0, 0, 1, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
end
Move_SWAGGER:
- loadspritegfx ANIM_TAG_086
+ loadspritegfx ANIM_TAG_BREATH
loadspritegfx ANIM_TAG_ANGER
createvisualtask sub_8104AB4, 2
- playsewithpan SE_W207, -64
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gUnknown_08593658, 2
- loopsewithpan SE_W207, -64, 4, 2
+ createsprite gUnknown_08593658, ANIM_ATTACKER, 2
+ loopsewithpan SE_W207, SOUND_PAN_ATTACKER, 4, 2
waitforvisualfinish
delay 24
- createsprite gUnknown_0859368C, 130, 1, -20, -28
- playsewithpan SE_W207B, +63
+ createsprite gUnknown_0859368C, ANIM_TARGET, 2, 1, -20, -28
+ playsewithpan SE_W207B, SOUND_PAN_TARGET
delay 12
- createsprite gUnknown_0859368C, 130, 1, 20, -28
- playsewithpan SE_W207B, +63
+ createsprite gUnknown_0859368C, ANIM_TARGET, 2, 1, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_TARGET
waitforvisualfinish
end
Move_MILK_DRINK:
loadspritegfx ANIM_TAG_MILK_BOTTLE
- loadspritegfx ANIM_TAG_203
+ loadspritegfx ANIM_TAG_THIN_RING
loadspritegfx ANIM_TAG_BLUE_STAR
monbg ANIM_TARGET
- createsprite gUnknown_08592B3C, 2
+ createsprite gUnknown_08592B3C, ANIM_ATTACKER, 2
delay 40
- playsewithpan SE_W152, -64
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
delay 12
- playsewithpan SE_W152, -64
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
delay 20
- playsewithpan SE_W152, -64
+ playsewithpan SE_W152, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gUnknown_0859381C, 3, 0, 0, 1, 0
- playsewithpan SE_W208, -64
+ createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 1, 0
+ playsewithpan SE_W208, SOUND_PAN_ATTACKER
waitforvisualfinish
clearmonbg ANIM_TARGET
call HealingEffect2
@@ -3324,33 +3324,33 @@ MagnitudeEnd:
MagnitudeRegular:
createvisualtask sub_81152DC, 5, 5, 0, 50
createvisualtask sub_81152DC, 5, 4, 0, 50
- loopsewithpan SE_W070, +63, 8, 10
+ loopsewithpan SE_W070, SOUND_PAN_TARGET, 8, 10
goto MagnitudeEnd
MagnitudeIntense:
createvisualtask sub_81152DC, 5, 5, 0, 50
createvisualtask sub_81152DC, 5, 4, 0, 50
- loopsewithpan SE_W070, +63, 8, 10
+ loopsewithpan SE_W070, SOUND_PAN_TARGET, 8, 10
delay 10
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
delay 16
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_BLACK, 14, 0x7FFF, 14
goto MagnitudeEnd
Move_RAPID_SPIN:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_229
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_RAPID_SPIN
monbg ANIM_ATTACKER
- createsprite gUnknown_085CE288, 2, 0, 0, 32, -32, 40, -2
+ createsprite gUnknown_085CE288, ANIM_ATTACKER, 2, 0, 0, 32, -32, 40, -2
createvisualtask sub_815ADB0, 2, 0, 2, 0
- loopsewithpan SE_W013B, -64, 8, 4
+ loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
createvisualtask sub_80D6388, 2, 0, 1, 10, 1, 0
- playsewithpan SE_W003, +63
+ playsewithpan SE_W003, SOUND_PAN_TARGET
waitforvisualfinish
delay 8
createvisualtask sub_815ADB0, 2, 0, 2, 1
- loopsewithpan SE_W013B, -64, 8, 4
+ loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 4
waitforvisualfinish
clearmonbg ANIM_ATTACKER
end
@@ -3360,21 +3360,21 @@ Move_MOONLIGHT:
loadspritegfx ANIM_TAG_GREEN_SPARKLE
loadspritegfx ANIM_TAG_BLUE_STAR
setalpha 0, 16
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 16, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08592EBC, 2, 120, 56
+ createsprite gUnknown_08592EBC, ANIM_ATTACKER, 2, 120, 56
createvisualtask sub_80A7A74, 3, 0, 16, 16, 0, 1
playsewithpan SE_W236, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, 40, -12, 0
+ createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -12, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, 40, -24, 0
+ createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, -24, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 21, 0
+ createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 21, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 0, 0
+ createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 0, 0
delay 30
- createsprite gBattleAnimSpriteTemplate_8592EEC, 40, 10, 0
+ createsprite gBattleAnimSpriteTemplate_8592EEC, ANIM_ATTACKER, 40, 10, 0
delay 20
createvisualtask sub_81025C0, 2
waitforvisualfinish
@@ -3383,9 +3383,9 @@ Move_MOONLIGHT:
end
Move_EXTREME_SPEED:
- loadspritegfx ANIM_TAG_207
- loadspritegfx ANIM_TAG_135
- createvisualtask AnimTask_IsAttackerOpponentSide, 2
+ loadspritegfx ANIM_TAG_SPEED_DUST
+ loadspritegfx ANIM_TAG_IMPACT
+ createvisualtask AnimTask_GetAttackerSide, 2
jumprettrue ExtremeSpeedAgainstPlayer
fadetobg BG_HIGHSPEED_OPPONENT
ExtremeSpeedContinue:
@@ -3393,7 +3393,7 @@ ExtremeSpeedContinue:
createvisualtask sub_8117660, 5, -2304, 0, 1, -1
waitbgfadein
createvisualtask sub_810577C, 2
- loopsewithpan SE_W013B, -64, 8, 3
+ loopsewithpan SE_W013B, SOUND_PAN_ATTACKER, 8, 3
waitforvisualfinish
delay 1
createvisualtask sub_8117F60, 2
@@ -3402,19 +3402,19 @@ ExtremeSpeedContinue:
delay 18
createvisualtask sub_8105810, 2
delay 2
- playsewithpan SE_W004, +63
- createsprite gBattleAnimSpriteTemplate_85973B8, 130, 1, 0, -12, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, -12, 3
delay 10
- playsewithpan SE_W004, +63
- createsprite gBattleAnimSpriteTemplate_85973B8, 130, 1, 0, 12, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, 12, 3
delay 10
- playsewithpan SE_W233B, +63
- createsprite gBattleAnimSpriteTemplate_85973B8, 130, 1, 0, 0, 3
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_85973B8, ANIM_TARGET, 2, 1, 0, 0, 3
waitforvisualfinish
createvisualtask sub_8105AAC, 2
delay 10
createvisualtask sub_810599C, 2
- loopsewithpan SE_W104, -64, 8, 4
+ loopsewithpan SE_W104, SOUND_PAN_ATTACKER, 8, 4
waitforvisualfinish
restorebg
waitbgfadeout
@@ -3431,57 +3431,57 @@ ExtremeSpeedAgainstPlayer:
goto ExtremeSpeedContinue
Move_UPROAR:
- loadspritegfx ANIM_TAG_225
- loadspritegfx ANIM_TAG_203
+ loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE
+ loadspritegfx ANIM_TAG_THIN_RING
monbg ANIM_DEF_PARTNER
createvisualtask sub_8106D90, 2, 0
- createsprite gBattleAnimSpriteTemplate_8593898, 3, 0, 0, 0, 0, 31, 8
- playsewithpan SE_W253, -64
- createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, 29, -12, 0
- createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, -12, -29, 1
+ createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
+ playsewithpan SE_W253, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 29, -12, 0
+ createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -12, -29, 1
delay 16
createvisualtask sub_8106D90, 2, 0
- createsprite gBattleAnimSpriteTemplate_8593898, 3, 0, 0, 0, 0, 31, 8
- playsewithpan SE_W253, -64
- createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, 12, -29, 1
- createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, -29, -12, 0
+ createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
+ playsewithpan SE_W253, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 12, -29, 1
+ createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -29, -12, 0
delay 16
createvisualtask sub_8106D90, 2, 0
- createsprite gBattleAnimSpriteTemplate_8593898, 3, 0, 0, 0, 0, 31, 8
- playsewithpan SE_W253, -64
- createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, 24, -24, 1
- createsprite gBattleAnimSpriteTemplate_8593BB8, 2, 0, -24, -24, 0
+ createsprite gBattleAnimSpriteTemplate_8593898, ANIM_ATTACKER, 3, 0, 0, 0, 0, 31, 8
+ playsewithpan SE_W253, SOUND_PAN_ATTACKER
+ createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, 24, -24, 1
+ createsprite gBattleAnimSpriteTemplate_8593BB8, ANIM_ATTACKER, 2, 0, -24, -24, 0
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Move_HEAT_WAVE:
- loadspritegfx ANIM_TAG_261
- createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_261, 0, 6, 6, RGB_RED
+ loadspritegfx ANIM_TAG_FLYING_DIRT
+ createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_FLYING_DIRT, 0, 6, 6, RGB_RED
createvisualtask AnimTask_LoadSandstormBackground, 5, TRUE
createvisualtask AnimTask_BlendBackground, 6, 6, RGB_RED
- panse_1B SE_W257, -64, +63, +2, 0
+ panse_1B SE_W257, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
delay 4
createvisualtask sub_8109DBC, 5
delay 12
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 10, 2304, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 10, 2304, 96, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 90, 2048, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 90, 2048, 96, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 50, 2560, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 50, 2560, 96, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 20, 2304, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 20, 2304, 96, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 70, 1984, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 70, 1984, 96, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 0, 2816, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 0, 2816, 96, 1
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 60, 2560, 96, 1
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 60, 2560, 96, 1
end
Move_HAIL:
- loadspritegfx ANIM_TAG_263
- loadspritegfx ANIM_TAG_141
+ loadspritegfx ANIM_TAG_HAIL
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
createvisualtask sub_8116620, 10, 1, 3, 0, 6, RGB_BLACK
waitforvisualfinish
createvisualtask sub_810C918, 5
@@ -3492,15 +3492,15 @@ Move_HAIL:
Move_TORMENT:
loadspritegfx ANIM_TAG_ANGER
- loadspritegfx ANIM_TAG_209
+ loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
createvisualtask sub_815AFF0, 2
waitforvisualfinish
createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_TARGET, RGB_RED, 10, 1, 1
- createsprite gUnknown_0859368C, 130, 1, -20, -28
- playsewithpan SE_W207B, +63
+ createsprite gUnknown_0859368C, ANIM_TARGET, 2, 1, -20, -28
+ playsewithpan SE_W207B, SOUND_PAN_TARGET
delay 20
- createsprite gUnknown_0859368C, 130, 1, 20, -28
- playsewithpan SE_W207B, +63
+ createsprite gUnknown_0859368C, ANIM_TARGET, 2, 1, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_TARGET
end
Move_MEMENTO:
@@ -3509,9 +3509,9 @@ Move_MEMENTO:
createvisualtask sub_81143C0, 2
delay 1
createvisualtask sub_8113BAC, 5
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
delay 48
- playsewithpan SE_W060B, -64
+ playsewithpan SE_W060B, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_8114470, 2
delay 12
@@ -3519,7 +3519,7 @@ Move_MEMENTO:
delay 1
monbg_22 ANIM_TARGET
createvisualtask sub_8113E78, 5
- playsewithpan SE_W060, +63
+ playsewithpan SE_W060, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg_23 ANIM_TARGET
delay 1
@@ -3528,97 +3528,97 @@ Move_MEMENTO:
end
Move_FACADE:
- loadspritegfx ANIM_TAG_243
+ loadspritegfx ANIM_TAG_SWEAT_DROP
createvisualtask sub_815DCA4, 2, 0, 3
createvisualtask sub_815DF0C, 2, 0, 72
- loopsewithpan SE_W207, -64, 24, 3
+ loopsewithpan SE_W207, SOUND_PAN_ATTACKER, 24, 3
end
Move_SMELLING_SALT:
- loadspritegfx ANIM_TAG_HAND
- loadspritegfx ANIM_TAG_255
- createsprite gUnknown_085CE864, 130, 1, 0, 2
- createsprite gUnknown_085CE864, 130, 1, 1, 2
+ loadspritegfx ANIM_TAG_TAG_HAND
+ loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT
+ createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 0, 2
+ createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 1, 2
delay 32
createvisualtask sub_815E840, 3, 1, 2
- loopsewithpan SE_W003, +63, 12, 2
+ loopsewithpan SE_W003, SOUND_PAN_TARGET, 12, 2
waitforvisualfinish
delay 4
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 2
- createsprite gUnknown_085CE894, 130, 1, 8, 3
- loopsewithpan SE_W207B, +63, 16, 3
+ createsprite gUnknown_085CE894, ANIM_TARGET, 2, 1, 8, 3
+ loopsewithpan SE_W207B, SOUND_PAN_TARGET, 16, 3
end
Move_FOLLOW_ME:
- loadspritegfx ANIM_TAG_064
- createsprite gUnknown_085931D4, 2, 0
- playsewithpan SE_W039, -64
+ loadspritegfx ANIM_TAG_FINGER
+ createsprite gUnknown_085931D4, ANIM_ATTACKER, 2, 0
+ playsewithpan SE_W039, SOUND_PAN_ATTACKER
delay 18
- playsewithpan SE_W213, -64
+ playsewithpan SE_W213, SOUND_PAN_ATTACKER
delay 71
- loopsewithpan SE_W039, -64, 22, 3
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 22, 3
end
Move_CHARGE:
- loadspritegfx ANIM_TAG_211
- loadspritegfx ANIM_TAG_212
- loadspritegfx ANIM_TAG_213
+ loadspritegfx ANIM_TAG_ELECTRIC_ORBS
+ loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
+ loadspritegfx ANIM_TAG_ELECTRICITY
monbg ANIM_ATTACKER
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB_BLACK
waitforvisualfinish
createvisualtask sub_810AAFC, 2, 0, 60, 2, 12
- playsewithpan SE_W268, -64
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
delay 30
- playsewithpan SE_W268, -64
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
delay 30
- playsewithpan SE_W268, -64
- createsprite gUnknown_0859595C, 2, 0
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859595C, ANIM_ATTACKER, 2, 0
delay 25
- playsewithpan SE_W268, -64
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
delay 20
- playsewithpan SE_W268, -64
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
delay 15
- playsewithpan SE_W268, -64
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
delay 10
delay 6
- loopsewithpan SE_W268, -64, 6, 5
+ loopsewithpan SE_W268, SOUND_PAN_ATTACKER, 6, 5
waitforvisualfinish
- createsprite gUnknown_0859598C, 2, 0, 16, 16
+ createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, 16, 16
delay 2
- createsprite gUnknown_0859598C, 2, 0, -16, -16
- playsewithpan SE_W085B, -64
+ createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, -16, -16
+ playsewithpan SE_W085B, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 4, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB_BLACK
clearmonbg ANIM_ATTACKER
blendoff
end
Move_TAUNT:
- loadspritegfx ANIM_TAG_214
- loadspritegfx ANIM_TAG_209
+ loadspritegfx ANIM_TAG_FINGER_2
+ loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
loadspritegfx ANIM_TAG_ANGER
- createsprite gUnknown_08593114, 11, 0, 45
- playsewithpan SE_W118, -64
+ createsprite gUnknown_08593114, ANIM_ATTACKER, 11, 0, 45
+ playsewithpan SE_W118, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_0859324C, 12, 0
+ createsprite gUnknown_0859324C, ANIM_ATTACKER, 12, 0
delay 4
- loopsewithpan SE_W039, -64, 16, 2
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 16, 2
waitforvisualfinish
delay 8
- createsprite gUnknown_0859368C, 130, 1, -20, -28
- playsewithpan SE_W207B, +63
+ createsprite gUnknown_0859368C, ANIM_TARGET, 2, 1, -20, -28
+ playsewithpan SE_W207B, SOUND_PAN_TARGET
waitforvisualfinish
delay 12
- createsprite gUnknown_0859368C, 130, 1, 20, -28
- playsewithpan SE_W207B, +63
+ createsprite gUnknown_0859368C, ANIM_TARGET, 2, 1, 20, -28
+ playsewithpan SE_W207B, SOUND_PAN_TARGET
end
Move_HELPING_HAND:
- loadspritegfx ANIM_TAG_HAND
+ loadspritegfx ANIM_TAG_TAG_HAND
createvisualtask sub_815EC48, 5
- createsprite gUnknown_085CE8AC, 40, 0
- createsprite gUnknown_085CE8AC, 40, 1
+ createsprite gUnknown_085CE8AC, ANIM_ATTACKER, 40, 0
+ createsprite gUnknown_085CE8AC, ANIM_ATTACKER, 40, 1
delay 19
playsewithpan SE_W227, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1
@@ -3632,50 +3632,50 @@ Move_HELPING_HAND:
end
Move_ASSIST:
- loadspritegfx ANIM_TAG_252
- createsprite gUnknown_085CE804, 50, 112, -16, 140, 128, 36
+ loadspritegfx ANIM_TAG_PAW_PRINT
+ createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36
delay 2
- createsprite gUnknown_085CE804, 50, 208, 128, -16, 48, 36
+ createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 208, 128, -16, 48, 36
playsewithpan SE_W010, 0
delay 2
- createsprite gUnknown_085CE804, 50, -16, 112, 256, -16, 36
+ createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, -16, 112, 256, -16, 36
playsewithpan SE_W010, 0
delay 2
- createsprite gUnknown_085CE804, 50, 108, 128, 84, -16, 36
+ createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 108, 128, 84, -16, 36
playsewithpan SE_W010, 0
delay 2
- createsprite gUnknown_085CE804, 50, -16, 56, 256, 56, 36
+ createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, -16, 56, 256, 56, 36
playsewithpan SE_W010, 0
end
Move_SUPERPOWER:
- loadspritegfx ANIM_TAG_212
- loadspritegfx ANIM_TAG_256
- loadspritegfx ANIM_TAG_257
+ loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
+ loadspritegfx ANIM_TAG_METEOR
+ loadspritegfx ANIM_TAG_FLAT_ROCK
monbg ANIM_ATK_PARTNER
monbgprio_28 ANIM_ATTACKER
setalpha 12, 8
- createsprite gUnknown_08595FEC, 130, 0
- playsewithpan SE_W025, -64
+ createsprite gUnknown_08595FEC, ANIM_TARGET, 2, 0
+ playsewithpan SE_W025, SOUND_PAN_ATTACKER
delay 20
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, 4, 1, 180, 1
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 4, 1, 180, 1
createvisualtask sub_8159244, 5, 234, 0
delay 40
- createsprite gUnknown_08596004, 41, 200, 96, 1, 120
+ createsprite gUnknown_08596004, ANIM_ATTACKER, 41, 200, 96, 1, 120
delay 8
- createsprite gUnknown_08596004, 41, 20, 248, 4, 112
+ createsprite gUnknown_08596004, ANIM_ATTACKER, 41, 20, 248, 4, 112
delay 8
- createsprite gUnknown_08596004, 41, 130, 160, 2, 104
+ createsprite gUnknown_08596004, ANIM_ATTACKER, 41, 130, 160, 2, 104
delay 8
- createsprite gUnknown_08596004, 41, 160, 192, 0, 96
+ createsprite gUnknown_08596004, ANIM_ATTACKER, 41, 160, 192, 0, 96
delay 8
- createsprite gUnknown_08596004, 41, 60, 288, 3, 88
+ createsprite gUnknown_08596004, ANIM_ATTACKER, 41, 60, 288, 3, 88
delay 74
- createsprite gUnknown_0859601C, 131, 0
- playsewithpan SE_W207, -64
+ createsprite gUnknown_0859601C, ANIM_TARGET, 3, 0
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
delay 16
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 16, 1
- playsewithpan SE_W025B, +63
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
@@ -3687,11 +3687,11 @@ Move_RECYCLE:
monbg ANIM_ATTACKER
setalpha 0, 16
delay 1
- createsprite gUnknown_085CE9B0, 2
- loopsewithpan SE_W036, -64, 24, 3
+ createsprite gUnknown_085CE9B0, ANIM_ATTACKER, 2
+ loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 24, 3
waitforvisualfinish
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 2, 1
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
waitforvisualfinish
blendoff
clearmonbg ANIM_ATTACKER
@@ -3699,132 +3699,132 @@ Move_RECYCLE:
end
Move_BRICK_BREAK:
- loadspritegfx ANIM_TAG_167
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_208
+ loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_TORN_METAL
choosetwoturnanim BrickBreakNormal, BrickBreakShatteredWall
BrickBreakNormal:
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8
delay 4
delay 1
- createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1
- playsewithpan SE_W233, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -18, -18, 1, 1
+ playsewithpan SE_W233, SOUND_PAN_TARGET
delay 20
- createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1
- playsewithpan SE_W233, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, 18, 1, 1
+ playsewithpan SE_W233, SOUND_PAN_TARGET
delay 20
createvisualtask AnimTask_WindUpLunge, 2, ANIM_ATTACKER, -24, 0, 24, 10, 24, 3
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 6, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 6, RGB_BLACK
delay 37
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- createsprite gFistFootSpriteTemplate, 4, 0, 0, 10, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 10, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 6, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 6, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_TARGET
end
BrickBreakShatteredWall:
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8
delay 4
- createsprite gUnknown_08595F90, 3, 1, 0, 0, 90, 10
+ createsprite gUnknown_08595F90, ANIM_ATTACKER, 3, 1, 0, 0, 90, 10
delay 1
- createsprite gBasicHitSplatSpriteTemplate, 3, -18, -18, 1, 1
- playsewithpan SE_W233, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -18, -18, 1, 1
+ playsewithpan SE_W233, SOUND_PAN_TARGET
delay 20
- createsprite gHorizontalLungeSpriteTemplate, 2, 3, 8
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 8
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 3, 18, 18, 1, 1
- playsewithpan SE_W233, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 18, 18, 1, 1
+ playsewithpan SE_W233, SOUND_PAN_TARGET
delay 20
createvisualtask AnimTask_WindUpLunge, 2, ANIM_ATTACKER, -24, 0, 24, 10, 24, 3
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 6, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 6, RGB_BLACK
delay 37
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- createsprite gFistFootSpriteTemplate, 4, 0, 0, 10, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 10, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gUnknown_08595FA8, 2, 1, 0, -8, -12
- createsprite gUnknown_08595FA8, 2, 1, 1, 8, -12
- createsprite gUnknown_08595FA8, 2, 1, 2, -8, 12
- createsprite gUnknown_08595FA8, 2, 1, 3, 8, 12
- playsewithpan SE_W280, +63
+ createsprite gUnknown_08595FA8, ANIM_ATTACKER, 2, 1, 0, -8, -12
+ createsprite gUnknown_08595FA8, ANIM_ATTACKER, 2, 1, 1, 8, -12
+ createsprite gUnknown_08595FA8, ANIM_ATTACKER, 2, 1, 2, -8, 12
+ createsprite gUnknown_08595FA8, ANIM_ATTACKER, 2, 1, 3, 8, 12
+ playsewithpan SE_W280, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 6, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 6, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_TARGET
end
Move_YAWN:
- loadspritegfx ANIM_TAG_242
+ loadspritegfx ANIM_TAG_PINK_CLOUD
createvisualtask sub_815D64C, 2, 0
- playsewithpan SE_W281, -64
+ playsewithpan SE_W281, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gUnknown_085CE68C, 133, 2
- playsewithpan SE_W255, -64
+ createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 2
+ playsewithpan SE_W255, SOUND_PAN_ATTACKER
delay 4
- createsprite gUnknown_085CE68C, 133, 1
+ createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 1
delay 4
- createsprite gUnknown_085CE68C, 133, 0
+ createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 0
waitforvisualfinish
createvisualtask sub_815D64C, 2, 1
- playsewithpan SE_W281, +63
+ playsewithpan SE_W281, SOUND_PAN_TARGET
end
Move_ENDEAVOR:
- loadspritegfx ANIM_TAG_243
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_SWEAT_DROP
+ loadspritegfx ANIM_TAG_IMPACT
createvisualtask sub_815DCA4, 2, 0, 2
- loopsewithpan SE_W039, -64, 24, 2
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 24, 2
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 21, 0), 12, 1, 2
delay 6
createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 130, 12, -12, 1, 2
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 12, -12, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
delay 24
createvisualtask sub_80D6388, 5, 0, 1, 8, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 130, -12, 12, 1, 2
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -12, 12, 1, 2
+ playsewithpan SE_W004, SOUND_PAN_TARGET
end
Move_ERUPTION:
- loadspritegfx ANIM_TAG_201
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 2, 0, 4, RGB_RED
+ loadspritegfx ANIM_TAG_WARM_ROCK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 2, 0, 4, RGB_RED
waitforvisualfinish
createvisualtask sub_8109460, 2
- waitplaysewithpan SE_W153, -64, 60
+ waitplaysewithpan SE_W153, SOUND_PAN_ATTACKER, 60
waitforvisualfinish
createvisualtask sub_8109460, 2
- waitplaysewithpan SE_W153, -64, 60
+ waitplaysewithpan SE_W153, SOUND_PAN_ATTACKER, 60
waitforvisualfinish
delay 30
- createsprite gUnknown_085955E8, 40, 200, -32, 0, 100, 0
- createsprite gUnknown_085955E8, 40, 30, -32, 16, 90, 1
- createsprite gUnknown_085955E8, 40, 150, -32, 32, 60, 2
- createsprite gUnknown_085955E8, 40, 90, -32, 48, 80, 3
- createsprite gUnknown_085955E8, 40, 110, -32, 64, 50, 0
- createsprite gUnknown_085955E8, 40, 60, -32, 80, 70, 1
+ createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 200, -32, 0, 100, 0
+ createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 30, -32, 16, 90, 1
+ createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 150, -32, 32, 60, 2
+ createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 90, -32, 48, 80, 3
+ createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 110, -32, 64, 50, 0
+ createsprite gUnknown_085955E8, ANIM_ATTACKER, 40, 60, -32, 80, 70, 1
delay 22
createvisualtask sub_81152DC, 5, 5, 8, 60
createvisualtask sub_81152DC, 5, 4, 8, 60
- loopsewithpan SE_W088, +63, 16, 12
+ loopsewithpan SE_W088, SOUND_PAN_TARGET, 16, 12
delay 80
- createsprite gSimplePaletteBlendSpriteTemplate, 40, 31, 4, 4, 0, RGB_RED
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, 31, 4, 4, 0, RGB_RED
end
Move_SKILL_SWAP:
- loadspritegfx ANIM_TAG_251
+ loadspritegfx ANIM_TAG_BLUEGREEN_ORB
call SetPsychicBackground
createvisualtask sub_810FBF0, 3, 1
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB_WHITE, 12, 3, 1
- loopsewithpan SE_W179, -64, 24, 3
+ loopsewithpan SE_W179, SOUND_PAN_ATTACKER, 24, 3
delay 16
createvisualtask sub_810FBF0, 3, 0
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 3, 1
@@ -3833,34 +3833,34 @@ Move_SKILL_SWAP:
end
Move_IMPRISON:
- loadspritegfx ANIM_TAG_249
+ loadspritegfx ANIM_TAG_HOLLOW_ORB
loadspritegfx ANIM_TAG_X_SIGN
call SetPsychicBackground
monbg ANIM_DEF_PARTNER
createvisualtask sub_810F940, 5
delay 8
- loopsewithpan SE_W030, -64, 8, 5
+ loopsewithpan SE_W030, SOUND_PAN_ATTACKER, 8, 5
waitforvisualfinish
delay 4
- createsprite gUnknown_085967AC, 5, 0, 40
+ createsprite gUnknown_085967AC, ANIM_ATTACKER, 5, 0, 40
createvisualtask sub_81152DC, 5, 4, 1, 10
- playsewithpan SE_W063, -64
+ playsewithpan SE_W063, SOUND_PAN_ATTACKER
clearmonbg ANIM_DEF_PARTNER
call UnsetPsychicBackground
end
Move_GRUDGE:
- loadspritegfx ANIM_TAG_253
+ loadspritegfx ANIM_TAG_PURPLE_FLAME
monbg ANIM_ATTACKER
monbgprio_29
fadetobg BG_GHOST
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
waitbgfadein
createvisualtask sub_8112C6C, 3
- loopsewithpan SE_W052, -64, 16, 4
+ loopsewithpan SE_W052, SOUND_PAN_ATTACKER, 16, 4
delay 10
delay 80
- playsewithpan SE_W171, +63
+ playsewithpan SE_W171, SOUND_PAN_TARGET
waitforvisualfinish
restorebg
waitbgfadein
@@ -3871,13 +3871,13 @@ Move_CAMOUFLAGE:
monbg ANIM_ATK_PARTNER
monbgprio_28 ANIM_ATTACKER
setalpha 16, 0
- createvisualtask sub_811675C, 5, 2, 3, 0, 14
+ createvisualtask AnimTask_SetCamouflageBlend, 5, 2, 3, 0, 14
delay 16
createvisualtask sub_81136E8, 2, 4
- playsewithpan SE_W185, -64
+ playsewithpan SE_W185, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 8
- createvisualtask sub_811675C, 5, 2, 0, 0, 0
+ createvisualtask AnimTask_SetCamouflageBlend, 5, 2, 0, 0, 0
waitforvisualfinish
createvisualtask sub_81137E4, 2, 1
waitforvisualfinish
@@ -3886,55 +3886,55 @@ Move_CAMOUFLAGE:
end
Move_TAIL_GLOW:
- loadspritegfx ANIM_TAG_212
+ loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
monbg ANIM_ATTACKER
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08596AC8, 66, 0
+ createsprite gUnknown_08596AC8, ANIM_ATTACKER, 66, 0
delay 18
- loopsewithpan SE_W234, -64, 16, 6
+ loopsewithpan SE_W234, SOUND_PAN_ATTACKER, 16, 6
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 4, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB_BLACK
clearmonbg ANIM_ATTACKER
blendoff
delay 1
end
Move_LUSTER_PURGE:
- loadspritegfx ANIM_TAG_267
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_WHITE_CIRCLE_OF_LIGHT
+ loadspritegfx ANIM_TAG_IMPACT
fadetobg BG_PSYCHIC
waitbgfadeout
createvisualtask sub_815A5C8, 5
waitbgfadein
monbg ANIM_ATTACKER
setalpha 12, 8
- playsewithpan SE_W076, -64
- createsprite gUnknown_08596898, 41, 0, 0, 0, 0
+ playsewithpan SE_W076, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596898, ANIM_ATTACKER, 41, 0, 0, 0, 0
delay 20
createvisualtask sub_8116664, 5, 5, 2, 0, 16, RGB_WHITEALPHA
- createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_267, 2, 0, 16, RGB_WHITEALPHA
+ createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT, 2, 0, 16, RGB_WHITEALPHA
waitforvisualfinish
- createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_135, 0, 12, 12, RGB(0, 0, 23)
+ createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 12, 12, RGB(0, 0, 23)
waitforvisualfinish
- createsprite gUnknown_085973A0, 131, 1, 2
- createvisualtask sub_8159210, 5, 215, 63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2
+ createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET
delay 3
- createsprite gUnknown_085973A0, 131, 1, 2
- createvisualtask sub_8159210, 5, 215, 63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2
+ createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET
delay 3
- createsprite gUnknown_085973A0, 131, 1, 2
- createvisualtask sub_8159210, 5, 215, 63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2
+ createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET
delay 3
- createsprite gUnknown_085973A0, 131, 1, 2
- createvisualtask sub_8159210, 5, 215, 63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2
+ createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET
delay 3
- createsprite gUnknown_085973A0, 131, 1, 2
- createvisualtask sub_8159210, 5, 215, 63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2
+ createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET
delay 3
- createsprite gUnknown_085973A0, 131, 1, 2
- createvisualtask sub_8159210, 5, 215, 63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 2
+ createvisualtask sub_8159210, 5, 215, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_8116664, 5, 5, 2, 16, 0, RGB_WHITEALPHA
createvisualtask sub_81152DC, 5, 1, 5, 14
@@ -3945,15 +3945,15 @@ Move_LUSTER_PURGE:
end
Move_MIST_BALL:
- loadspritegfx ANIM_TAG_155
- loadspritegfx ANIM_TAG_270
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
+ loadspritegfx ANIM_TAG_WHITE_FEATHER
delay 0
- playsewithpan SE_W081, -64
- createsprite gUnknown_08595C70, 128, 0, 0, 0, 0, 30, 0
+ playsewithpan SE_W081, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C70, ANIM_TARGET, 0, 0, 0, 0, 0, 30, 0
waitforvisualfinish
- playsewithpan SE_W028, +63
+ playsewithpan SE_W028, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 10, 0
- createsprite gComplexPaletteBlendSpriteTemplate, 0, 1, 1, 1, RGB(23, 16, 31), 16, 0x7FFF, 16
+ 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
@@ -3965,162 +3965,162 @@ Move_MIST_BALL:
end
Move_FEATHER_DANCE:
- loadspritegfx ANIM_TAG_270
+ loadspritegfx ANIM_TAG_WHITE_FEATHER
monbg ANIM_DEF_PARTNER
monbgprio_29
- playsewithpan SE_W080, +63
+ playsewithpan SE_W080, SOUND_PAN_TARGET
delay 0
- createsprite gUnknown_08596388, 128, 0, -16, 64, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 64, 2, 104, 11304, 32, 1
delay 6
- createsprite gUnknown_08596388, 128, 0, -16, 32, 2, 104, 11304, 32, 1
- createsprite gUnknown_08596388, 128, 0, -16, 0, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 32, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 0, 2, 104, 11304, 32, 1
delay 6
- createsprite gUnknown_08596388, 128, 0, -16, 224, 2, 104, 11304, 32, 1
- createsprite gUnknown_08596388, 128, 0, -16, 128, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 224, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 128, 2, 104, 11304, 32, 1
delay 6
- createsprite gUnknown_08596388, 128, 0, -16, 192, 2, 104, 11304, 32, 1
- createsprite gUnknown_08596388, 128, 0, -16, 160, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 192, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 160, 2, 104, 11304, 32, 1
delay 6
- createsprite gUnknown_08596388, 128, 0, -16, 96, 2, 104, 11304, 32, 1
+ createsprite gUnknown_08596388, ANIM_TARGET, 0, 0, -16, 96, 2, 104, 11304, 32, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Move_TEETER_DANCE:
- loadspritegfx ANIM_TAG_MUSIC_NOTES2
+ loadspritegfx ANIM_TAG_MUSIC_NOTES
loadspritegfx ANIM_TAG_DUCK
createvisualtask sub_8160164, 5
- createsprite gUnknown_08593050, 2, 0, 16, -2
- playsewithpan SE_W298, -64
+ createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 16, -2
+ playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, 2, 0, 0, -2
- playsewithpan SE_W298, -64
+ createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 0, -2
+ playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, 2, 0, -16, -2
- playsewithpan SE_W298, -64
+ createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, -16, -2
+ playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, 2, 1, -8, -2
- playsewithpan SE_W298, -64
+ createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 1, -8, -2
+ playsewithpan SE_W298, SOUND_PAN_ATTACKER
delay 24
- createsprite gUnknown_08593050, 2, 2, 8, -2
- playsewithpan SE_W298, -64
+ createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 2, 8, -2
+ playsewithpan SE_W298, SOUND_PAN_ATTACKER
end
Move_MUD_SPORT:
- loadspritegfx ANIM_TAG_074
+ loadspritegfx ANIM_TAG_MUD_SAND
createvisualtask sub_8104938, 2, 0, 6
delay 24
- createsprite gUnknown_085971E4, 130, 0, -4, -16
- createsprite gUnknown_085971E4, 130, 0, 4, -12
- playsewithpan SE_W091, -64
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 0, -4, -16
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 0, 4, -12
+ playsewithpan SE_W091, SOUND_PAN_ATTACKER
delay 32
- createsprite gUnknown_085971E4, 130, 0, -3, -12
- createsprite gUnknown_085971E4, 130, 0, 5, -14
- playsewithpan SE_W091, -64
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 0, -3, -12
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 0, 5, -14
+ playsewithpan SE_W091, SOUND_PAN_ATTACKER
delay 32
- createsprite gUnknown_085971E4, 130, 0, -5, -18
- createsprite gUnknown_085971E4, 130, 0, 3, -14
- playsewithpan SE_W091, -64
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 0, -5, -18
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 0, 3, -14
+ playsewithpan SE_W091, SOUND_PAN_ATTACKER
delay 16
- createsprite gUnknown_085971E4, 130, 1, 220, 60
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 220, 60
waitplaysewithpan SE_W145B, 0, 15
delay 2
- createsprite gUnknown_085971E4, 130, 1, 60, 100
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 60, 100
waitplaysewithpan SE_W145B, 0, 25
delay 2
- createsprite gUnknown_085971E4, 130, 1, 140, 55
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 140, 55
waitplaysewithpan SE_W145B, 0, 14
delay 2
- createsprite gUnknown_085971E4, 130, 1, 180, 50
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 180, 50
waitplaysewithpan SE_W145B, 0, 10
delay 2
- createsprite gUnknown_085971E4, 130, 1, 20, 90
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 20, 90
waitplaysewithpan SE_W145B, 0, 22
delay 2
- createsprite gUnknown_085971E4, 130, 1, 90, 90
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 90, 90
waitplaysewithpan SE_W145B, 0, 22
delay 2
- createsprite gUnknown_085971E4, 130, 1, 160, 60
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 160, 60
waitplaysewithpan SE_W145B, 0, 15
delay 2
- createsprite gUnknown_085971E4, 130, 1, 30, 90
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 30, 90
waitplaysewithpan SE_W145B, 0, 22
delay 2
- createsprite gUnknown_085971E4, 130, 1, 120, 60
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 120, 60
waitplaysewithpan SE_W145B, 0, 15
delay 2
- createsprite gUnknown_085971E4, 130, 1, 200, 40
+ createsprite gUnknown_085971E4, ANIM_TARGET, 2, 1, 200, 40
waitplaysewithpan SE_W145B, 0, 10
end
Move_NEEDLE_ARM:
- loadspritegfx ANIM_TAG_266
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
- loopsewithpan SE_W030, +63, 2, 16
- createsprite gUnknown_08592888, 130, 1, 0, 0, -32, 16
+ loadspritegfx ANIM_TAG_GREEN_SPIKE
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loopsewithpan SE_W030, SOUND_PAN_TARGET, 2, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -32, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 22, -22, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 22, -22, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 30, 0, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 30, 0, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 20, 20, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 20, 20, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 0, 28, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, 28, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, -19, 19, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -19, 19, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, -27, 0, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -27, 0, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, -18, -18, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, -18, -18, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 0, -25, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 0, -25, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 17, -17, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 17, -17, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 23, 0, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 23, 0, 16
delay 2
- createsprite gUnknown_08592888, 130, 1, 0, 16, 16, 16
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 0, 16, 16, 16
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
- createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0
- playsewithpan SE_W233B, +63
- createsprite gUnknown_08592888, 130, 1, 1, 0, -24, 10
- createsprite gUnknown_08592888, 130, 1, 1, 17, -17, 10
- createsprite gUnknown_08592888, 130, 1, 1, 24, 0, 10
- createsprite gUnknown_08592888, 130, 1, 1, 17, 17, 10
- createsprite gUnknown_08592888, 130, 1, 1, 0, 24, 10
- createsprite gUnknown_08592888, 130, 1, 1, -17, 17, 10
- createsprite gUnknown_08592888, 130, 1, 1, -24, 0, 10
- createsprite gUnknown_08592888, 130, 1, 1, -17, -17, 10
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, -24, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, -17, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 24, 0, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 17, 17, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, 0, 24, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, 17, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -24, 0, 10
+ createsprite gUnknown_08592888, ANIM_TARGET, 2, 1, 1, -17, -17, 10
end
Move_SLACK_OFF:
loadspritegfx ANIM_TAG_BLUE_STAR
createvisualtask sub_8160544, 2, 0
- playsewithpan SE_W281, -64
+ playsewithpan SE_W281, SOUND_PAN_ATTACKER
waitforvisualfinish
call HealingEffect
waitforvisualfinish
end
Move_CRUSH_CLAW:
- loadspritegfx ANIM_TAG_167
+ loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL
loadspritegfx ANIM_TAG_CLAW_SLASH
- loadspritegfx ANIM_TAG_208
+ loadspritegfx ANIM_TAG_TORN_METAL
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 4
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1
- createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, -10, 0
- createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, 10, 0
- playsewithpan SE_W013, +63
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, -10, 0
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, 10, 0
+ playsewithpan SE_W013, SOUND_PAN_TARGET
delay 12
- createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, -10, 1
- createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, 10, 1
- playsewithpan SE_W013, +63
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, -10, 1
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, 10, 1
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
blendoff
clearmonbg ANIM_TARGET
@@ -4128,78 +4128,78 @@ Move_CRUSH_CLAW:
Move_AROMATHERAPY:
playsewithpan SE_W080, 0
- loadspritegfx ANIM_TAG_159
- loadspritegfx ANIM_TAG_203
- loadspritegfx ANIM_TAG_SPARKLE
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 0, 0, 7, RGB(13, 31, 12)
+ loadspritegfx ANIM_TAG_FLOWER
+ loadspritegfx ANIM_TAG_THIN_RING
+ loadspritegfx ANIM_TAG_SPARKLE_2
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 0, 0, 7, RGB(13, 31, 12)
delay 1
monbg ANIM_ATTACKER
delay 1
- createsprite gUnknown_085927AC, 0, 24, 16, 0, 2, 2, 0, 0
- createsprite gUnknown_085927AC, 66, 64, 24, 0, 3, 1, 1, 0
- createsprite gUnknown_085927C4, 0, 16, 24, 0, 2, 1, 0, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 24, 16, 0, 2, 2, 0, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 64, 24, 0, 3, 1, 1, 0
+ createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 16, 24, 0, 2, 1, 0, 0
delay 20
- createsprite gUnknown_085927AC, 66, 48, 12, 0, 4, 3, 1, 0
- createsprite gUnknown_085927AC, 0, 100, 16, 0, 3, 2, 0, 0
- createsprite gUnknown_085927AC, 0, 74, 24, 180, 3, 2, 0, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 48, 12, 0, 4, 3, 1, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 100, 16, 0, 3, 2, 0, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 74, 24, 180, 3, 2, 0, 0
delay 10
- createsprite gUnknown_085927AC, 66, 80, 30, 0, 4, 1, 1, 0
- createsprite gUnknown_085927AC, 0, 128, 12, 0, 3, 3, 0, 0
- createsprite gUnknown_085927C4, 0, 90, 16, 0, 2, 1, 0, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 66, 80, 30, 0, 4, 1, 1, 0
+ createsprite gUnknown_085927AC, ANIM_ATTACKER, 0, 128, 12, 0, 3, 3, 0, 0
+ createsprite gUnknown_085927C4, ANIM_ATTACKER, 0, 90, 16, 0, 2, 1, 0, 0
waitforvisualfinish
clearmonbg ANIM_ATTACKER
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 0, 7, 0, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 0, 7, 0, RGB(13, 31, 12)
delay 1
- playsewithpan SE_W287, -64
+ playsewithpan SE_W287, SOUND_PAN_ATTACKER
createvisualtask sub_815DFCC, 2, 1
waitforvisualfinish
- playsewithpan SE_W234, -64
- createsprite gUnknown_08592B94, 16, -15, 0, 0, 0, 32, 60, 1
+ playsewithpan SE_W234, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1
delay 8
- createsprite gUnknown_08592B94, 16, 12, -5, 0, 0, 32, 60, 1
+ createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1
waitforvisualfinish
- playsewithpan SE_REAPOKE, -64
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 43, 3, 10, 0, RGB(13, 31, 12)
- createsprite gUnknown_08593868, 16, 0, 0, 0, 1
+ playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 43, 3, 10, 0, RGB(13, 31, 12)
+ createsprite gUnknown_08593868, ANIM_ATTACKER, 16, 0, 0, 0, 1
waitforvisualfinish
end
Move_FAKE_TEARS:
- loadspritegfx ANIM_TAG_155
- loadspritegfx ANIM_TAG_209
- loadspritegfx ANIM_TAG_MUSIC_NOTES2
- createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_155, 0, 4, 4, RGB(12, 11, 31)
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
+ loadspritegfx ANIM_TAG_THOUGHT_BUBBLE
+ loadspritegfx ANIM_TAG_MUSIC_NOTES
+ createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SMALL_BUBBLES, 0, 4, 4, RGB(12, 11, 31)
waitforvisualfinish
createvisualtask sub_815C478, 5, 0, 2, 1
- loopsewithpan SE_W039, -64, 12, 4
+ loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 12, 4
delay 8
- createsprite gUnknown_085970E8, 2, 0, 0
- createsprite gUnknown_085970E8, 2, 0, 1
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 0
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 1
delay 8
- createsprite gUnknown_085970E8, 2, 0, 2
- createsprite gUnknown_085970E8, 2, 0, 3
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 2
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 3
delay 8
- createsprite gUnknown_085970E8, 2, 0, 0
- createsprite gUnknown_085970E8, 2, 0, 1
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 0
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 1
delay 8
- createsprite gUnknown_085970E8, 2, 0, 2
- createsprite gUnknown_085970E8, 2, 0, 3
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 2
+ createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 3
waitforvisualfinish
end
Move_AIR_CUTTER:
loadspritegfx ANIM_TAG_AIR_WAVE
- loadspritegfx ANIM_TAG_138
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_CUT
+ loadspritegfx ANIM_TAG_IMPACT
delay 0
monbg ANIM_DEF_PARTNER
setalpha 12, 8
delay 0
createvisualtask sub_8103CF0, 2, 32, -24, 1536, 2, 128
waitforvisualfinish
- playsewithpan SE_W015, +63
- createsprite gUnknown_08592A34, 2, 40, -32, 0, 2
+ playsewithpan SE_W015, SOUND_PAN_TARGET
+ createsprite gUnknown_08592A34, ANIM_ATTACKER, 2, 40, -32, 0, 2
delay 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1
@@ -4213,103 +4213,103 @@ Move_ODOR_SLEUTH:
monbg ANIM_TARGET
createvisualtask sub_815F620, 5
delay 24
- createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4
- playsewithpan SE_W207, -64
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 4
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
delay 6
- createsprite gHorizontalLungeSpriteTemplate, 2, 3, 4
- playsewithpan SE_W207, -64
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 4
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
waitforvisualfinish
clearmonbg ANIM_TARGET
delay 1
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 3, 1, RGB_WHITEALPHA, 16, -1, 0
- playsewithpan SE_W043, -64
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 1, RGB_WHITEALPHA, 16, -1, 0
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
end
Move_GRASS_WHISTLE:
- loadspritegfx ANIM_TAG_MUSIC_NOTES2
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB(18, 31, 12)
+ loadspritegfx ANIM_TAG_MUSIC_NOTES
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB(18, 31, 12)
waitforvisualfinish
createvisualtask sub_8102BE8, 2
waitforvisualfinish
- panse_1B SE_W320, -64, +63, +2, 0
- createsprite gUnknown_08593008, 130, 7, 1, 0
+ panse_1B SE_W320, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 7, 1, 0
delay 5
- createsprite gUnknown_08593008, 130, 6, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0
delay 5
- createsprite gUnknown_08593008, 130, 1, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0
delay 5
- createsprite gUnknown_08593008, 130, 2, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
delay 5
- createsprite gUnknown_08593008, 130, 3, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 3, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 2, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 5, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 6, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 6, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 2, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 2, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 2, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 1, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 1, 1, 0
delay 4
- createsprite gUnknown_08593008, 130, 5, 1, 0
+ createsprite gUnknown_08593008, ANIM_TARGET, 2, 5, 1, 0
delay 4
waitforvisualfinish
createvisualtask sub_8102CA0, 2
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 4, 0, RGB(18, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 4, 0, RGB(18, 31, 12)
waitforvisualfinish
end
Move_TICKLE:
- loadspritegfx ANIM_TAG_218
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 0, 16, RGB_BLACK
+ loadspritegfx ANIM_TAG_EYE_SPARKLE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 0, 16, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08593A84, 0, -16, -8
- createsprite gUnknown_08593A84, 0, 16, -8
- playsewithpan SE_W197, -64
+ createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8
+ createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8
+ playsewithpan SE_W197, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 16, 0, RGB_BLACK
waitforvisualfinish
delay 20
createvisualtask AnimTask_SwayMon, 3, 0, 6, 1280, 3, ANIM_ATTACKER
delay 12
createvisualtask sub_815C478, 3, 1, 6, 2
- loopsewithpan SE_W039, +63, 8, 8
+ loopsewithpan SE_W039, SOUND_PAN_TARGET, 8, 8
waitforvisualfinish
end
Move_WATER_SPOUT:
- loadspritegfx ANIM_TAG_268
- loadspritegfx ANIM_TAG_148
+ loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB
+ loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask sub_81080E4, 5
- playsewithpan SE_W029, -64
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
delay 44
- playsewithpan SE_W291, -64
+ playsewithpan SE_W291, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 16
createvisualtask sub_81085C8, 5
- playsewithpan SE_W057, +63
+ playsewithpan SE_W057, SOUND_PAN_TARGET
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_SHADOW_PUNCH:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
fadetobg BG_GHOST
waitbgfadein
monbg ANIM_ATK_PARTNER
setalpha 9, 8
createvisualtask sub_80A8BC4, 2, 0, 13
- playsewithpan SE_W026, -64
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
- createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0
+ playsewithpan SE_W004, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
@@ -4324,15 +4324,15 @@ Move_EXTRASENSORY:
setalpha 12, 8
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1
createvisualtask sub_810FE14, 5, 0
- playsewithpan SE_W020, +63
+ playsewithpan SE_W020, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1
createvisualtask sub_810FE14, 5, 1
- playsewithpan SE_W020, +63
+ playsewithpan SE_W020, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_8110034, 5, 0
createvisualtask sub_810FE14, 5, 2
- playsewithpan SE_W043, -64
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
waitforvisualfinish
blendoff
clearmonbg ANIM_DEF_PARTNER
@@ -4340,37 +4340,37 @@ Move_EXTRASENSORY:
end
Move_AERIAL_ACE:
- loadspritegfx ANIM_TAG_138
+ loadspritegfx ANIM_TAG_CUT
monbg ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5
createvisualtask sub_81169C0, 2, 0, 4, 7, 3
- createsprite gCuttingSliceSpriteTemplate, 2, 40, -32, 0
- playsewithpan SE_W013B, -64
+ createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
delay 5
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0
- playsewithpan SE_W013, +63
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 10, 0, 0
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_IRON_DEFENSE:
- loopsewithpan SE_REAPOKE, -64, 28, 2
+ loopsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 8, 2, RGB_WHITEALPHA, 14, -1, 0
waitforvisualfinish
end
Move_BLOCK:
loadspritegfx ANIM_TAG_X_SIGN
- createsprite gUnknown_085CE90C, 194
- playsewithpan SE_W207, +63
+ createsprite gUnknown_085CE90C, ANIM_TARGET, 66
+ playsewithpan SE_W207, SOUND_PAN_TARGET
end
Move_HOWL:
- loadspritegfx ANIM_TAG_053
+ loadspritegfx ANIM_TAG_NOISE_LINE
createvisualtask sub_815D64C, 2, 0
delay 12
call RoarEffect
@@ -4380,107 +4380,107 @@ Move_HOWL:
end
Move_BULK_UP:
- loadspritegfx ANIM_TAG_086
+ loadspritegfx ANIM_TAG_BREATH
createvisualtask sub_8104AB4, 2
- playsewithpan SE_W207, -64
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gUnknown_08593658, 2
- loopsewithpan SE_W207, -64, 4, 2
+ createsprite gUnknown_08593658, ANIM_ATTACKER, 2
+ loopsewithpan SE_W207, SOUND_PAN_ATTACKER, 4, 2
waitforvisualfinish
end
Move_COVET:
- loadspritegfx ANIM_TAG_PURPLE_HEART
+ loadspritegfx ANIM_TAG_MAGENTA_HEART
loadspritegfx ANIM_TAG_ITEM_BAG
createvisualtask sub_815C478, 5, 0, 2, 0
- createsprite gUnknown_08593970, 3, 0, 20
- playsewithpan SE_W204, -64
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, 3, -20, 20
- playsewithpan SE_W204, -64
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
delay 15
- createsprite gUnknown_08593970, 3, 20, 20
- playsewithpan SE_W204, -64
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
- loopsewithpan SE_W146, +63, 4, 3
+ loopsewithpan SE_W146, SOUND_PAN_TARGET, 4, 3
end
Move_VOLT_TACKLE:
loadspritegfx ANIM_TAG_SPARK
- loadspritegfx ANIM_TAG_212
- loadspritegfx ANIM_TAG_213
+ loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
+ loadspritegfx ANIM_TAG_ELECTRICITY
monbg ANIM_ATTACKER
setalpha 12, 8
createvisualtask sub_8116620, 10, 1, 0, 0, 8, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_085959A4, 1
- playsewithpan SE_W268, -64
+ createsprite gUnknown_085959A4, ANIM_ATTACKER, 1
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
waitforvisualfinish
clearmonbg ANIM_ATTACKER
blendoff
delay 8
createvisualtask sub_810AFCC, 5, 0
- playsewithpan SE_W085, -64
+ playsewithpan SE_W085, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_810AFCC, 5, 1
- playsewithpan SE_W085, +63
+ playsewithpan SE_W085, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_810AFCC, 5, 2
- playsewithpan SE_W085, -64
+ playsewithpan SE_W085, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_810AFCC, 5, 3
- playsewithpan SE_W085, +63
+ playsewithpan SE_W085, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_810AFCC, 5, 4
- playsewithpan SE_W085, -64
+ playsewithpan SE_W085, SOUND_PAN_ATTACKER
delay 8
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1
- playsewithpan SE_W120, +63
- createsprite gUnknown_0859598C, 2, 1, 16, 16
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 1, 16, 16
delay 2
- createsprite gUnknown_0859598C, 2, 1, -16, -16
+ createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 1, -16, -16
delay 8
createvisualtask sub_810AE5C, 5
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 9, 1
- playsewithpan SE_W085B, -64
- createsprite gUnknown_0859598C, 2, 0, 16, 16
+ playsewithpan SE_W085B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, 16, 16
delay 2
- createsprite gUnknown_0859598C, 2, 0, -16, -16
+ createsprite gUnknown_0859598C, ANIM_ATTACKER, 2, 0, -16, -16
waitforvisualfinish
createvisualtask sub_8116620, 10, 1, 0, 8, 0, RGB_BLACK
waitforvisualfinish
end
Move_WATER_SPORT:
- loadspritegfx ANIM_TAG_268
+ loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB
createvisualtask sub_81088E4, 5
delay 8
- playsewithpan SE_W057, -64
+ playsewithpan SE_W057, SOUND_PAN_ATTACKER
delay 44
- playsewithpan SE_W057, -64
+ playsewithpan SE_W057, SOUND_PAN_ATTACKER
delay 44
- playsewithpan SE_W057, -64
+ playsewithpan SE_W057, SOUND_PAN_ATTACKER
delay 44
- panse_1B SE_W057, -64, +63, +2, 0
+ panse_1B SE_W057, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
end
Move_CALM_MIND:
- loadspritegfx ANIM_TAG_203
+ loadspritegfx ANIM_TAG_THIN_RING
monbg ANIM_ATK_PARTNER
createvisualtask sub_8116664, 5, 0, 0, 0, 16, RGB_BLACK
waitforvisualfinish
createvisualtask sub_81177E4, 5, 1
waitforvisualfinish
- createsprite gUnknown_08593850, 40, 0, 0, 0, 0
- playsewithpan SE_W048, -64
+ createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0
+ playsewithpan SE_W048, SOUND_PAN_ATTACKER
delay 14
- createsprite gUnknown_08593850, 40, 0, 0, 0, 0
- playsewithpan SE_W048, -64
+ createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0
+ playsewithpan SE_W048, SOUND_PAN_ATTACKER
delay 14
- createsprite gUnknown_08593850, 40, 0, 0, 0, 0
- playsewithpan SE_W048, -64
+ createsprite gUnknown_08593850, ANIM_ATTACKER, 40, 0, 0, 0, 0
+ playsewithpan SE_W048, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_81177E4, 5, 0
waitforvisualfinish
@@ -4490,73 +4490,73 @@ Move_CALM_MIND:
end
Move_LEAF_BLADE:
- loadspritegfx ANIM_TAG_063
- loadspritegfx ANIM_TAG_285
+ loadspritegfx ANIM_TAG_LEAF
+ loadspritegfx ANIM_TAG_CROSS_IMPACT
createvisualtask sub_80FFFC0, 5
delay 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
- playsewithpan SE_W015, +63
+ playsewithpan SE_W015, SOUND_PAN_TARGET
delay 50
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
- playsewithpan SE_W015, +63
+ playsewithpan SE_W015, SOUND_PAN_TARGET
delay 50
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
- playsewithpan SE_W015, +63
+ playsewithpan SE_W015, SOUND_PAN_TARGET
waitforvisualfinish
monbg ANIM_TARGET
setalpha 12, 8
delay 12
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 18, 1
- createsprite gUnknown_085973D0, 130, 0, 0, 1, 36
- playsewithpan SE_W043, +63
+ createsprite gUnknown_085973D0, ANIM_TARGET, 2, 0, 0, 1, 36
+ playsewithpan SE_W043, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_DRAGON_DANCE:
- loadspritegfx ANIM_TAG_249
+ loadspritegfx ANIM_TAG_HOLLOW_ORB
monbg ANIM_ATTACKER
monbgprio_28 ANIM_ATTACKER
delay 1
createvisualtask sub_81133E8, 5
- playsewithpan SE_W100, -64
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
delay 8
createvisualtask sub_80A7CB4, 5, 10249, 19456, 14, 0, 3
- createsprite gUnknown_08596F98, 2, 0
- createsprite gUnknown_08596F98, 2, 43
- createsprite gUnknown_08596F98, 2, 85
- createsprite gUnknown_08596F98, 2, 128
- createsprite gUnknown_08596F98, 2, 170
- createsprite gUnknown_08596F98, 2, 213
+ createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 0
+ createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 43
+ createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 85
+ createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 128
+ createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 170
+ createsprite gUnknown_08596F98, ANIM_ATTACKER, 2, 213
delay 30
- playsewithpan SE_W100, -64
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
delay 30
- playsewithpan SE_W100, -64
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
waitforvisualfinish
clearmonbg ANIM_ATTACKER
delay 1
end
Move_SHOCK_WAVE:
- loadspritegfx ANIM_TAG_211
- loadspritegfx ANIM_TAG_212
+ loadspritegfx ANIM_TAG_ELECTRIC_ORBS
+ loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
loadspritegfx ANIM_TAG_SPARK
loadspritegfx ANIM_TAG_LIGHTNING
monbg ANIM_ATTACKER
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 4, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 4, RGB_BLACK
waitforvisualfinish
createvisualtask sub_810AAFC, 2, 0, 20, 0, 2
- playsewithpan SE_W268, -64
+ playsewithpan SE_W268, SOUND_PAN_ATTACKER
delay 12
- createsprite gUnknown_08595A18, 2
+ createsprite gUnknown_08595A18, ANIM_ATTACKER, 2
delay 30
createvisualtask sub_810B29C, 5
delay 12
waitforvisualfinish
createvisualtask sub_810B55C, 5
- playsewithpan SE_W161B, +63
+ playsewithpan SE_W161B, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 6, 18, 1
createvisualtask sub_8116620, 5, 1, 3, 16, 0, RGB_WHITE
@@ -4569,64 +4569,64 @@ Move_SHOCK_WAVE:
end
Move_HARDEN:
- loopsewithpan SE_W231, -64, 28, 2
+ loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0
waitforvisualfinish
end
Move_BELLY_DRUM:
- loadspritegfx ANIM_TAG_MUSIC_NOTES2
- loadspritegfx ANIM_TAG_193
+ loadspritegfx ANIM_TAG_MUSIC_NOTES
+ loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE
createvisualtask sub_8102BE8, 2
waitforvisualfinish
call BellyDrum1
- createsprite gUnknown_0859309C, 2, 0, 0, 0, 0
- playsewithpan SE_W187, -64
+ createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 0, 0, 0
+ playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 15
call BellyDrum2
- createsprite gUnknown_0859309C, 2, 1, 1, 1, 0
- playsewithpan SE_W187, -64
+ createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 1, 1, 0
+ playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 15
call BellyDrum1
- createsprite gUnknown_0859309C, 2, 0, 3, 3, 128
- playsewithpan SE_W187, -64
+ createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 3, 3, 128
+ playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 7
call BellyDrum2
- createsprite gUnknown_0859309C, 2, 1, 2, 0, 128
- playsewithpan SE_W187, -64
+ createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 2, 0, 128
+ playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 7
call BellyDrum1
- createsprite gUnknown_0859309C, 2, 0, 1, 1, 0
- playsewithpan SE_W187, -64
+ createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 0, 1, 1, 0
+ playsewithpan SE_W187, SOUND_PAN_ATTACKER
delay 7
call BellyDrum2
- createsprite gUnknown_0859309C, 2, 1, 0, 3, 0
- playsewithpan SE_W187, -64
+ createsprite gUnknown_0859309C, ANIM_ATTACKER, 2, 1, 0, 3, 0
+ playsewithpan SE_W187, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask sub_8102CA0, 2
waitforvisualfinish
end
BellyDrum2:
- createsprite gUnknown_08593068, 3, 0
+ createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1
return
BellyDrum1:
- createsprite gUnknown_08593068, 3, 1
+ createsprite gUnknown_08593068, ANIM_ATTACKER, 3, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1
return
Move_MIND_READER:
- loadspritegfx ANIM_TAG_189
+ loadspritegfx ANIM_TAG_TEAL_ALERT
loadspritegfx ANIM_TAG_OPENING_EYE
- loadspritegfx ANIM_TAG_191
+ loadspritegfx ANIM_TAG_ROUND_WHITE_HALO
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W109, +63
- createsprite gUnknown_085CE07C, 5, 0, 0, 1, 0
- createsprite gUnknown_085CE094, 5
+ playsewithpan SE_W109, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE07C, ANIM_ATTACKER, 5, 0, 0, 1, 0
+ createsprite gUnknown_085CE094, ANIM_ATTACKER, 5
delay 40
- playsewithpan SE_W043, +63
+ playsewithpan SE_W043, SOUND_PAN_TARGET
createvisualtask sub_8115A04, 2, 1, 1, 2, 0, 10, RGB_BLACK
call MindReaderEffect
waitforvisualfinish
@@ -4634,52 +4634,52 @@ Move_MIND_READER:
end
MindReaderEffect:
- createsprite gUnknown_085CE0AC, 4, 70, 0, 6
- createsprite gUnknown_085CE0AC, 4, 40, 40, 6
- createsprite gUnknown_085CE0AC, 4, 10, -60, 6
- createsprite gUnknown_085CE0AC, 4, -50, -40, 6
- createsprite gUnknown_085CE0AC, 4, -40, 40, 6
- createsprite gUnknown_085CE0AC, 4, 50, -50, 6
- delay 2
- createsprite gUnknown_085CE0AC, 4, 50, -30, 6
- createsprite gUnknown_085CE0AC, 4, 60, 10, 6
- createsprite gUnknown_085CE0AC, 4, 0, 60, 6
- createsprite gUnknown_085CE0AC, 4, 0, -40, 6
- createsprite gUnknown_085CE0AC, 4, -60, 20, 6
- createsprite gUnknown_085CE0AC, 4, -60, -30, 6
- delay 2
- createsprite gUnknown_085CE0AC, 4, -50, 50, 6
- createsprite gUnknown_085CE0AC, 4, -60, 20, 6
- createsprite gUnknown_085CE0AC, 4, -40, -40, 6
- createsprite gUnknown_085CE0AC, 4, 20, -60, 6
- createsprite gUnknown_085CE0AC, 4, 50, -50, 6
- createsprite gUnknown_085CE0AC, 4, 35, 40, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 70, 0, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 40, 40, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 10, -60, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -50, -40, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -40, 40, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -50, 6
+ delay 2
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -30, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 60, 10, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 0, 60, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 0, -40, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, 20, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, -30, 6
+ delay 2
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -50, 50, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -60, 20, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, -40, -40, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 20, -60, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 50, -50, 6
+ createsprite gUnknown_085CE0AC, ANIM_ATTACKER, 4, 35, 40, 6
delay 2
return
Move_ICE_PUNCH:
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- loadspritegfx ANIM_TAG_141
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 7, RGB_BLACK
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK
createvisualtask sub_8116620, 10, 4, 2, 0, 9, RGB(12, 26, 31)
delay 20
- playsewithpan SE_W081, +63
- createsprite gUnknown_08595AE8, 2, 0
- createsprite gUnknown_08595AE8, 2, 64
- createsprite gUnknown_08595AE8, 2, 128
- createsprite gUnknown_08595AE8, 2, 192
+ playsewithpan SE_W081, SOUND_PAN_TARGET
+ createsprite gUnknown_08595AE8, ANIM_ATTACKER, 2, 0
+ createsprite gUnknown_08595AE8, ANIM_ATTACKER, 2, 64
+ createsprite gUnknown_08595AE8, ANIM_ATTACKER, 2, 128
+ createsprite gUnknown_08595AE8, ANIM_ATTACKER, 2, 192
delay 5
- createsprite gUnknown_08595AD0, 2, 32
- createsprite gUnknown_08595AD0, 2, 96
- createsprite gUnknown_08595AD0, 2, 160
- createsprite gUnknown_08595AD0, 2, 224
+ createsprite gUnknown_08595AD0, ANIM_ATTACKER, 2, 32
+ createsprite gUnknown_08595AD0, ANIM_ATTACKER, 2, 96
+ createsprite gUnknown_08595AD0, ANIM_ATTACKER, 2, 160
+ createsprite gUnknown_08595AD0, ANIM_ATTACKER, 2, 224
delay 17
- createsprite gFistFootSpriteTemplate, 4, 0, -10, 8, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, -10, 1, 1
- playsewithpan SE_W004, +63
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 4, 0, -10, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -10, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 3, 1
waitforvisualfinish
@@ -4688,20 +4688,20 @@ Move_ICE_PUNCH:
delay 5
createvisualtask sub_8116620, 10, 4, 2, 9, 0, RGB(12, 26, 31)
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 7, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_REST:
- playsewithpan SE_W173, -64
+ playsewithpan SE_W173, SOUND_PAN_ATTACKER
loadspritegfx ANIM_TAG_LETTER_Z
- createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0
+ createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
delay 20
- createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0
+ createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
delay 20
- createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0
+ createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
waitforvisualfinish
end
@@ -4712,7 +4712,7 @@ Move_CONFUSION:
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1
createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE
waitforvisualfinish
- playsewithpan SE_W048, +63
+ playsewithpan SE_W048, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1
createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_TARGET, 1
waitforvisualfinish
@@ -4729,7 +4729,7 @@ Move_PSYCHIC:
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1
createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB(31, 23, 0)
waitforvisualfinish
- loopsewithpan SE_W048, +63, 10, 3
+ loopsewithpan SE_W048, SOUND_PAN_TARGET, 10, 3
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1
createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1
waitforvisualfinish
@@ -4748,10 +4748,10 @@ FutureSightContinue:
end
FutureSight:
monbg ANIM_ATK_PARTNER
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
setalpha 8, 8
- playsewithpan SE_W048, -64
+ playsewithpan SE_W048, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 8, RGB_WHITE
createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1
waitforvisualfinish
@@ -4765,43 +4765,43 @@ Move_THUNDER:
waitbgfadeout
createvisualtask sub_8117660, 5, -256, 0, 1, -1
waitbgfadein
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK
delay 16
createvisualtask sub_8115F10, 2, 257, 257, 257
- playsewithpan SE_W086, +63
+ playsewithpan SE_W086, SOUND_PAN_TARGET
delay 1
- createsprite gUnknown_085956C0, 130, 16, -36
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 16, -36
delay 1
- createsprite gUnknown_085956C0, 130, 16, -20
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 16, -20
delay 1
- createsprite gUnknown_085956C0, 130, 16, 12
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 16, 12
delay 20
- createsprite gUnknown_085956C0, 0x86, -16, -32
- playsewithpan SE_W086, +63
+ createsprite gUnknown_085956C0, ANIM_TARGET, 6, -16, -32
+ playsewithpan SE_W086, SOUND_PAN_TARGET
delay 1
- createsprite gUnknown_085956C0, 0x86, -16, -16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 6, -16, -16
delay 1
- createsprite gUnknown_085956C0, 0x86, -16, 16
- playsewithpan SE_W086, +63
+ createsprite gUnknown_085956C0, ANIM_TARGET, 6, -16, 16
+ playsewithpan SE_W086, SOUND_PAN_TARGET
delay 5
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
- createsprite gUnknown_085956C0, 130, 24, -32
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 24, -32
delay 1
- createsprite gUnknown_085956C0, 130, 24, -16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 24, -16
delay 1
- createsprite gUnknown_085956C0, 130, 24, 16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 24, 16
delay 30
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 5
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
- createsprite gUnknown_085956C0, 130, 0, -32
- playsewithpan SE_W161B, +63
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -32
+ playsewithpan SE_W161B, SOUND_PAN_TARGET
delay 1
- createsprite gUnknown_085956C0, 130, 0, -16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -16
delay 1
- createsprite gUnknown_085956C0, 130, 0, 16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, 16
delay 10
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
@@ -4809,7 +4809,7 @@ Move_THUNDER:
delay 2
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 130, 1, 2, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_TARGET, 2, 1, 2, 16, 0, RGB_BLACK
waitforvisualfinish
restorebg
waitbgfadeout
@@ -4818,32 +4818,32 @@ Move_THUNDER:
end
Move_THUNDER_PUNCH:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
loadspritegfx ANIM_TAG_LIGHTNING
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK
waitforvisualfinish
- playsewithpan SE_W004, +63
- createsprite gFistFootSpriteTemplate, 132, 0, 0, 8, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
delay 1
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
- createsprite gUnknown_085956C0, 130, 0, -48
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -48
delay 1
- createsprite gUnknown_085956C0, 2, 0, -16
+ createsprite gUnknown_085956C0, ANIM_ATTACKER, 2, 0, -16
delay 1
- createsprite gUnknown_085956C0, 2, 0, 16
+ createsprite gUnknown_085956C0, ANIM_ATTACKER, 2, 0, 16
delay 1
- playsewithpan SE_W161B, +63
+ playsewithpan SE_W161B, SOUND_PAN_TARGET
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK
delay 20
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -4852,67 +4852,67 @@ Move_THUNDER_PUNCH:
Move_SACRED_FIRE:
loadspritegfx ANIM_TAG_FIRE
- loadspritegfx ANIM_TAG_035
- loopsewithpan SE_W221, -64, 7, 5
- createsprite gUnknown_08595428, 2, -32, 0, 50, 5, -2, 0
+ loadspritegfx ANIM_TAG_FIRE_PLUME
+ loopsewithpan SE_W221, SOUND_PAN_ATTACKER, 7, 5
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -32, 0, 50, 5, -2, 0
delay 1
- createsprite gUnknown_08595428, 66, -20, -10, 50, 5, -1, -1
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, -20, -10, 50, 5, -1, -1
delay 1
- createsprite gUnknown_08595428, 66, 0, -16, 50, 5, 0, -1
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 0, -16, 50, 5, 0, -1
delay 1
- createsprite gUnknown_08595428, 66, 20, -10, 50, 5, 1, -1
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 20, -10, 50, 5, 1, -1
delay 1
- createsprite gUnknown_08595428, 2, 32, 0, 50, 5, 2, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 32, 0, 50, 5, 2, 0
delay 1
- createsprite gUnknown_08595428, 2, 20, 10, 50, 5, 1, 1
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 20, 10, 50, 5, 1, 1
delay 1
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
- createsprite gUnknown_08595428, 2, 0, 16, 50, 5, 0, 1
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 16, 50, 5, 0, 1
delay 1
- createsprite gUnknown_08595428, 2, -20, 10, 50, 5, -1, 1
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -20, 10, 50, 5, -1, 1
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
waitforvisualfinish
- playsewithpan SE_W221B, +63
- createsprite gUnknown_085953F8, 130, -16, 0, 70, 16, 0, 1
+ playsewithpan SE_W221B, SOUND_PAN_TARGET
+ createsprite gUnknown_085953F8, ANIM_TARGET, 2, -16, 0, 70, 16, 0, 1
delay 10
- playsewithpan SE_W221B, +63
- createsprite gUnknown_085953F8, 130, 0, 0, 70, 16, 0, 1
+ playsewithpan SE_W221B, SOUND_PAN_TARGET
+ createsprite gUnknown_085953F8, ANIM_TARGET, 2, 0, 0, 70, 16, 0, 1
delay 10
- playsewithpan SE_W221B, +63
- createsprite gUnknown_085953F8, 130, 16, 0, 80, 16, 0, 1
+ playsewithpan SE_W221B, SOUND_PAN_TARGET
+ createsprite gUnknown_085953F8, ANIM_TARGET, 2, 16, 0, 80, 16, 0, 1
delay 1
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
waitforvisualfinish
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 1
- playsewithpan SE_W172B, +63
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 0
+ playsewithpan SE_W172B, SOUND_PAN_TARGET
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, 0
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 0, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 0, 1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, -1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, -1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 2, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 2, 1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 1, -1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, 1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -2
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 1, -2
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 3, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 3, 1
waitforvisualfinish
end
Move_SCRATCH:
- loadspritegfx ANIM_TAG_137
+ loadspritegfx ANIM_TAG_SCRATCH
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W010, +63
- createsprite gUnknown_085CE020, 2, 0, 0, 1, 0
+ playsewithpan SE_W010, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE020, ANIM_ATTACKER, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -4924,30 +4924,30 @@ Move_DRAGON_BREATH:
loadspritegfx ANIM_TAG_SMALL_EMBER
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
- loopsewithpan SE_W172, -64, 7, 7
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ loopsewithpan SE_W172, SOUND_PAN_ATTACKER, 7, 7
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
createvisualtask sub_8116620, 10, 4, 1, 0, 9, RGB_RED
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 21, 1
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
delay 2
- createsprite gUnknown_08596EF4, 130, 0, 0, 0, 0, 20
+ createsprite gUnknown_08596EF4, ANIM_TARGET, 2, 0, 0, 0, 0, 20
waitforvisualfinish
createvisualtask sub_8116620, 10, 4, 1, 9, 0, RGB_RED
waitforvisualfinish
@@ -4955,7 +4955,7 @@ Move_DRAGON_BREATH:
end
Move_ROAR:
- loadspritegfx ANIM_TAG_053
+ loadspritegfx ANIM_TAG_NOISE_LINE
monbg ANIM_ATTACKER
monbgprio_28 ANIM_ATTACKER
setalpha 8, 8
@@ -4973,17 +4973,17 @@ Move_ROAR:
end
RoarEffect:
- createsprite gUnknown_085CE7D4, 2, 24, -8, 0
- createsprite gUnknown_085CE7D4, 2, 24, 0, 2
- createsprite gUnknown_085CE7D4, 2, 24, 8, 1
+ createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, -8, 0
+ createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 0, 2
+ createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 8, 1
delay 15
- createsprite gUnknown_085CE7D4, 2, 24, -8, 0
- createsprite gUnknown_085CE7D4, 2, 24, 0, 2
- createsprite gUnknown_085CE7D4, 2, 24, 8, 1
+ createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, -8, 0
+ createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 0, 2
+ createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 8, 1
return
Move_GROWL:
- loadspritegfx ANIM_TAG_053
+ loadspritegfx ANIM_TAG_NOISE_LINE
createvisualtask sub_8158E9C, 2, 0, 255
call RoarEffect
delay 10
@@ -4995,7 +4995,7 @@ Move_GROWL:
end
Move_SNORE:
- loadspritegfx ANIM_TAG_197
+ loadspritegfx ANIM_TAG_SNORE_Z
monbg ANIM_ATK_PARTNER
setalpha 8, 8
call Snore1
@@ -5006,21 +5006,21 @@ Move_SNORE:
blendoff
end
Snore1:
- playsewithpan SE_W173, -64
+ playsewithpan SE_W173, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 7, ANIM_ATTACKER, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, 6, 1, 14, 0, 0
- createsprite gUnknown_085936EC, 2, 0, 0, -42, -38, 24, 0, 0
- createsprite gUnknown_085936EC, 2, 0, 0, 0, -42, 24, 0, 0
- createsprite gUnknown_085936EC, 2, 0, 0, 42, -38, 24, 0, 0
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 6, 1, 14, 0, 0
+ createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, -42, -38, 24, 0, 0
+ createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, 0, -42, 24, 0, 0
+ createsprite gUnknown_085936EC, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0
return
Move_LIGHT_SCREEN:
- loadspritegfx ANIM_TAG_070
- loadspritegfx ANIM_TAG_166
+ loadspritegfx ANIM_TAG_SPARKLE_3
+ loadspritegfx ANIM_TAG_GREEN_LIGHT_WALL
setalpha 0, 16
- waitplaysewithpan SE_W115, -64, 15
- createsprite gUnknown_08596560, 1, 40, 0, 10166
+ waitplaysewithpan SE_W115, SOUND_PAN_ATTACKER, 15
+ createsprite gUnknown_08596560, ANIM_ATTACKER, 1, 40, 0, 10166
delay 10
call SpecialScreenEffect
waitforvisualfinish
@@ -5029,26 +5029,26 @@ Move_LIGHT_SCREEN:
end
SpecialScreenEffect:
- createsprite gUnknown_08596624, 2, 23, 0, 0, 1
+ createsprite gUnknown_08596624, ANIM_ATTACKER, 2, 23, 0, 0, 1
delay 6
- createsprite gUnknown_08596624, 2, 31, -8, 0, 1
+ createsprite gUnknown_08596624, ANIM_ATTACKER, 2, 31, -8, 0, 1
delay 5
- createsprite gUnknown_08596624, 2, 30, 20, 0, 1
+ createsprite gUnknown_08596624, ANIM_ATTACKER, 2, 30, 20, 0, 1
delay 7
- createsprite gUnknown_08596624, 2, 10, -15, 0, 1
+ createsprite gUnknown_08596624, ANIM_ATTACKER, 2, 10, -15, 0, 1
delay 6
- createsprite gUnknown_08596624, 2, 20, 10, 0, 1
+ createsprite gUnknown_08596624, ANIM_ATTACKER, 2, 20, 10, 0, 1
delay 6
- createsprite gUnknown_08596624, 2, 10, 18, 0, 1
+ createsprite gUnknown_08596624, ANIM_ATTACKER, 2, 10, 18, 0, 1
return
Move_MIRROR_COAT:
- loadspritegfx ANIM_TAG_070
- loadspritegfx ANIM_TAG_168
+ loadspritegfx ANIM_TAG_SPARKLE_3
+ loadspritegfx ANIM_TAG_RED_LIGHT_WALL
setalpha 0, 16
- createsprite gUnknown_08596590, 1, 40, 0, 10168
+ createsprite gUnknown_08596590, ANIM_ATTACKER, 1, 40, 0, 10168
delay 10
- playsewithpan SE_W115, -64
+ playsewithpan SE_W115, SOUND_PAN_ATTACKER
call SpecialScreenEffect
waitforvisualfinish
delay 1
@@ -5056,61 +5056,61 @@ Move_MIRROR_COAT:
end
Move_REFLECT:
- loadspritegfx ANIM_TAG_071
- loadspritegfx ANIM_TAG_167
+ loadspritegfx ANIM_TAG_SPARKLE_4
+ loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL
setalpha 0, 16
- waitplaysewithpan SE_W115, -64, 15
- createsprite gUnknown_08596578, 1, 40, 0, 10167
+ waitplaysewithpan SE_W115, SOUND_PAN_ATTACKER, 15
+ createsprite gUnknown_08596578, ANIM_ATTACKER, 1, 40, 0, 10167
delay 20
- createsprite gUnknown_085965F4, 2, 30, 0, 0, 1
+ createsprite gUnknown_085965F4, ANIM_ATTACKER, 2, 30, 0, 0, 1
delay 7
- createsprite gUnknown_085965F4, 2, 19, -12, 0, 1
+ createsprite gUnknown_085965F4, ANIM_ATTACKER, 2, 19, -12, 0, 1
delay 7
- createsprite gUnknown_085965F4, 2, 10, 20, 0, 1
+ createsprite gUnknown_085965F4, ANIM_ATTACKER, 2, 10, 20, 0, 1
waitforvisualfinish
delay 1
blendoff
end
Move_BARRIER:
- loadspritegfx ANIM_TAG_169
+ loadspritegfx ANIM_TAG_GRAY_LIGHT_WALL
setalpha 0, 16
- waitplaysewithpan SE_W112, -64, 15
- createsprite gUnknown_085965A8, 3, 40, 0, 10169
+ waitplaysewithpan SE_W112, SOUND_PAN_ATTACKER, 15
+ createsprite gUnknown_085965A8, ANIM_ATTACKER, 3, 40, 0, 10169
waitforvisualfinish
delay 1
blendoff
end
Move_BUBBLE:
- loadspritegfx ANIM_TAG_146
- loadspritegfx ANIM_TAG_155
+ loadspritegfx ANIM_TAG_BUBBLE
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
monbg ANIM_TARGET
setalpha 12, 8
delay 1
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 15, -15, 10, 128, 100
- playsewithpan SE_W145, -64
- waitplaysewithpan SE_W145B, +63, 100
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 15, -15, 10, 128, 100
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 35, 37, 40, 128, 100
- playsewithpan SE_W145, -64
- waitplaysewithpan SE_W145B, +63, 100
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 35, 37, 40, 128, 100
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 10, -37, 30, 128, 100
- playsewithpan SE_W145, -64
- waitplaysewithpan SE_W145B, +63, 100
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 10, -37, 30, 128, 100
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 30, 10, 15, 128, 100
- playsewithpan SE_W145, -64
- waitplaysewithpan SE_W145B, +63, 100
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 30, 10, 15, 128, 100
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 20, 33, 20, 128, 100
- playsewithpan SE_W145, -64
- waitplaysewithpan SE_W145B, +63, 100
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 20, 33, 20, 128, 100
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
delay 6
- createsprite gBattleAnimSpriteTemplate_8595068, 2, 18, 0, 25, -30, 10, 128, 100
- playsewithpan SE_W145, -64
- waitplaysewithpan SE_W145B, +63, 100
+ createsprite gBattleAnimSpriteTemplate_8595068, ANIM_ATTACKER, 2, 18, 0, 25, -30, 10, 128, 100
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W145B, SOUND_PAN_TARGET, 100
waitforvisualfinish
call WaterBubbleEffect2
waitforvisualfinish
@@ -5119,11 +5119,11 @@ Move_BUBBLE:
end
Move_SMOG:
- loadspritegfx ANIM_TAG_172
+ loadspritegfx ANIM_TAG_PURPLE_GAS_CLOUD
monbg ANIM_DEF_PARTNER
monbgprio_29
setalpha 12, 8
- loopsewithpan SE_W054, +63, 17, 10
+ loopsewithpan SE_W054, SOUND_PAN_TARGET, 17, 10
call Smog1
call Smog1
call Smog1
@@ -5132,7 +5132,7 @@ Move_SMOG:
call Smog1
call Smog1
delay 120
- loopsewithpan SE_W092, +63, 18, 2
+ loopsewithpan SE_W092, SOUND_PAN_TARGET, 18, 2
createvisualtask sub_8115A04, 2, 4, 2, 2, 0, 12, RGB(26, 0, 26)
delay 10
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 15, 1
@@ -5141,17 +5141,17 @@ Move_SMOG:
blendoff
end
Smog1:
- createsprite gUnknown_08595C44, 2, 0, -24, 48, 240, 1, 0
+ createsprite gUnknown_08595C44, ANIM_ATTACKER, 2, 0, -24, 48, 240, 1, 0
delay 7
return
Move_FAINT_ATTACK:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_ATTACKER
fadetobg BG_DARK
waitbgfadein
delay 0
- playsewithpan SE_W185, -64
+ playsewithpan SE_W185, SOUND_PAN_ATTACKER
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 3
createvisualtask sub_81136E8, 2, 1
waitforvisualfinish
@@ -5162,8 +5162,8 @@ Move_FAINT_ATTACK:
setalpha 12, 8
monbg ANIM_TARGET
delay 1
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 9, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -5182,14 +5182,14 @@ Move_FAINT_ATTACK:
end
Move_SAND_ATTACK:
- loadspritegfx ANIM_TAG_074
+ loadspritegfx ANIM_TAG_MUD_SAND
monbg ANIM_ATK_PARTNER
monbgprio_28 ANIM_ATTACKER
setalpha 12, 8
- playsewithpan SE_W028, -64
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3
+ playsewithpan SE_W028, SOUND_PAN_ATTACKER
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 0, 0, 3
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 2
call SandAttack1
call SandAttack1
call SandAttack1
@@ -5201,20 +5201,20 @@ Move_SAND_ATTACK:
blendoff
end
SandAttack1:
- createsprite gUnknown_085971A8, 130, 15, 15, 20, 0, 0
- createsprite gUnknown_085971A8, 130, 15, 15, 20, 10, 10
- createsprite gUnknown_085971A8, 130, 15, 15, 20, -10, -10
- createsprite gUnknown_085971A8, 130, 15, 15, 20, 20, 5
- createsprite gUnknown_085971A8, 130, 15, 15, 20, -20, -5
+ createsprite gUnknown_085971A8, ANIM_TARGET, 2, 15, 15, 20, 0, 0
+ createsprite gUnknown_085971A8, ANIM_TARGET, 2, 15, 15, 20, 10, 10
+ createsprite gUnknown_085971A8, ANIM_TARGET, 2, 15, 15, 20, -10, -10
+ createsprite gUnknown_085971A8, ANIM_TARGET, 2, 15, 15, 20, 20, 5
+ createsprite gUnknown_085971A8, ANIM_TARGET, 2, 15, 15, 20, -20, -5
delay 2
return
Move_MUD_SLAP:
- loadspritegfx ANIM_TAG_074
- playsewithpan SE_W028, -64
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -10, 0, 0, 3
+ loadspritegfx ANIM_TAG_MUD_SAND
+ playsewithpan SE_W028, SOUND_PAN_ATTACKER
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 0, 0, 3
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 2
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 2
call MudSlap1
call MudSlap1
call MudSlap1
@@ -5224,49 +5224,49 @@ Move_MUD_SLAP:
waitforvisualfinish
end
MudSlap1:
- createsprite gUnknown_085971CC, 130, 15, 15, 20, 0, 0
- createsprite gUnknown_085971CC, 130, 15, 15, 20, 10, 5
- createsprite gUnknown_085971CC, 130, 15, 15, 20, -10, -5
- createsprite gUnknown_085971CC, 130, 15, 15, 20, 20, 10
- createsprite gUnknown_085971CC, 130, 15, 15, 20, -20, -10
+ createsprite gUnknown_085971CC, ANIM_TARGET, 2, 15, 15, 20, 0, 0
+ createsprite gUnknown_085971CC, ANIM_TARGET, 2, 15, 15, 20, 10, 5
+ createsprite gUnknown_085971CC, ANIM_TARGET, 2, 15, 15, 20, -10, -5
+ createsprite gUnknown_085971CC, ANIM_TARGET, 2, 15, 15, 20, 20, 10
+ createsprite gUnknown_085971CC, ANIM_TARGET, 2, 15, 15, 20, -20, -10
delay 2
return
Move_DRAGON_RAGE:
loadspritegfx ANIM_TAG_SMALL_EMBER
- loadspritegfx ANIM_TAG_035
- playsewithpan SE_W082, -64
+ loadspritegfx ANIM_TAG_FIRE_PLUME
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 130, 0, 15, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_TARGET, 2, 0, 15, 0, 0, 4
waitforvisualfinish
- createsprite gUnknown_08596F80, 130, 30, 15, 0, 10, 10
+ createsprite gUnknown_08596F80, ANIM_TARGET, 2, 30, 15, 0, 10, 10
waitforvisualfinish
- loopsewithpan SE_W172B, +63, 11, 3
+ loopsewithpan SE_W172B, SOUND_PAN_TARGET, 11, 3
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1
- createsprite gUnknown_08596F28, 194, 1, 5, 0
+ createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, 5, 0
delay 1
- createsprite gUnknown_08596F28, 194, 1, -10, -15
+ createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, -10, -15
delay 1
- createsprite gUnknown_08596F28, 130, 1, 0, 25
+ createsprite gUnknown_08596F28, ANIM_TARGET, 2, 1, 0, 25
delay 1
- createsprite gUnknown_08596F28, 194, 1, 15, 5
+ createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, 15, 5
delay 1
- createsprite gUnknown_08596F28, 194, 1, -25, 0
+ createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, -25, 0
delay 1
- createsprite gUnknown_08596F28, 130, 1, 30, 30
+ createsprite gUnknown_08596F28, ANIM_TARGET, 2, 1, 30, 30
delay 1
- createsprite gUnknown_08596F28, 130, 1, -27, 25
+ createsprite gUnknown_08596F28, ANIM_TARGET, 2, 1, -27, 25
delay 1
- createsprite gUnknown_08596F28, 194, 1, 0, 8
+ createsprite gUnknown_08596F28, ANIM_TARGET, 66, 1, 0, 8
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 194, 0, 0, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_TARGET, 66, 0, 0, 4
waitforvisualfinish
end
Move_RAIN_DANCE:
- loadspritegfx ANIM_TAG_115
- playsewithpan SE_W240, -64
+ loadspritegfx ANIM_TAG_RAIN_DROPS
+ playsewithpan SE_W240, SOUND_PAN_ATTACKER
createvisualtask sub_8116620, 10, 0x781, 2, 0, 4, RGB_BLACK
waitforvisualfinish
createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 120
@@ -5279,15 +5279,15 @@ Move_RAIN_DANCE:
end
Move_BITE:
- loadspritegfx ANIM_TAG_139
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_SHARP_TEETH
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W044, +63
- createsprite gUnknown_08597080, 2, 0, -32, 0, 0, 819, 10
- createsprite gUnknown_08597080, 2, 0, 32, 4, 0, -819, 10
+ playsewithpan SE_W044, SOUND_PAN_TARGET
+ createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 0, -32, 0, 0, 819, 10
+ createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 0, 32, 4, 0, -819, 10
delay 10
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 7, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -5296,24 +5296,24 @@ Move_BITE:
end
Move_CRUNCH:
- loadspritegfx ANIM_TAG_139
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_SHARP_TEETH
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
fadetobg BG_DARK
waitbgfadein
setalpha 12, 8
- playsewithpan SE_W044, +63
- createsprite gUnknown_08597080, 2, -32, -32, 1, 819, 819, 10
- createsprite gUnknown_08597080, 2, 32, 32, 5, -819, -819, 10
+ playsewithpan SE_W044, SOUND_PAN_TARGET
+ createsprite gUnknown_08597080, ANIM_ATTACKER, 2, -32, -32, 1, 819, 819, 10
+ createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 32, 32, 5, -819, -819, 10
delay 10
- createsprite gBasicHitSplatSpriteTemplate, 2, -8, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -8, 0, 1, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2
waitforvisualfinish
- playsewithpan SE_W044, +63
- createsprite gUnknown_08597080, 2, 32, -32, 7, -819, 819, 10
- createsprite gUnknown_08597080, 2, -32, 32, 3, 819, -819, 10
+ playsewithpan SE_W044, SOUND_PAN_TARGET
+ createsprite gUnknown_08597080, ANIM_ATTACKER, 2, 32, -32, 7, -819, 819, 10
+ createsprite gUnknown_08597080, ANIM_ATTACKER, 2, -32, 32, 3, 819, -819, 10
delay 10
- createsprite gBasicHitSplatSpriteTemplate, 2, 8, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, 1, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -5324,15 +5324,15 @@ Move_CRUNCH:
end
Move_CLAMP:
- loadspritegfx ANIM_TAG_145
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_CLAMP
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W011, +63
- createsprite gUnknown_08597098, 2, -32, 0, 2, 819, 0, 10
- createsprite gUnknown_08597098, 2, 32, 0, 6, -819, 0, 10
+ playsewithpan SE_W011, SOUND_PAN_TARGET
+ createsprite gUnknown_08597098, ANIM_ATTACKER, 2, -32, 0, 2, 819, 0, 10
+ createsprite gUnknown_08597098, ANIM_ATTACKER, 2, 32, 0, 6, -819, 0, 10
delay 10
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -5344,17 +5344,17 @@ Move_ICE_BEAM:
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- loadspritegfx ANIM_TAG_141
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 7, RGB_BLACK
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK
waitforvisualfinish
- createsoundtask sub_8158C58, 183, -64, 63, 4, 4, 0, 10
- createsprite gUnknown_08595B2C, 2, 20, 12, 0, 12, 20
- createsprite gUnknown_08595B2C, 2, 20, -12, 0, -12, 20
+ createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 4, 4, 0, 10
+ createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, 12, 0, 12, 20
+ createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, -12, 0, -12, 20
delay 1
call IceBeam1
call IceBeam1
call IceBeam1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 4, -31, 0, 7, RGB(0, 20, 31)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 4, -31, 0, 7, RGB(0, 20, 31)
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 25, 1
call IceBeam1
call IceBeam1
@@ -5364,37 +5364,37 @@ Move_ICE_BEAM:
call IceBeam1
call IceBeam1
call IceBeam1
- createsprite gUnknown_08595B14, 2, 20, 0, 0, 0, 11
+ createsprite gUnknown_08595B14, ANIM_ATTACKER, 2, 20, 0, 0, 0, 11
delay 1
- createsprite gUnknown_08595B14, 2, 20, 0, 0, 0, 11
+ createsprite gUnknown_08595B14, ANIM_ATTACKER, 2, 20, 0, 0, 0, 11
waitforvisualfinish
delay 20
call FreezeEffect1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 4, 5, 7, 0, RGB(0, 20, 31)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 4, 5, 7, 0, RGB(0, 20, 31)
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 7, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
IceBeam1:
- createsprite gUnknown_08595B2C, 2, 20, 12, 0, 12, 20
- createsprite gUnknown_08595B2C, 2, 20, -12, 0, -12, 20
- createsprite gUnknown_08595B14, 2, 20, 0, 0, 0, 11
+ createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, 12, 0, 12, 20
+ createsprite gUnknown_08595B2C, ANIM_ATTACKER, 2, 20, -12, 0, -12, 20
+ createsprite gUnknown_08595B14, ANIM_ATTACKER, 2, 20, 0, 0, 0, 11
delay 1
return
Move_WITHDRAW:
- playsewithpan SE_W029, -64
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
createvisualtask sub_81036A0, 5
waitforvisualfinish
end
Move_AURORA_BEAM:
- loadspritegfx ANIM_TAG_140
+ loadspritegfx ANIM_TAG_RAINBOW_RINGS
fadetobg BG_AURORABEAM
waitbgfadein
- playsewithpan SE_W062, -64
+ playsewithpan SE_W062, SOUND_PAN_ATTACKER
setarg 7, 0
createvisualtask sub_8107528, 10, 130
call AuroraBeam1
@@ -5403,7 +5403,7 @@ Move_AURORA_BEAM:
call AuroraBeam1
call AuroraBeam1
setarg 7, -1
- createsoundtask sub_8158C58, 183, -64, 63, 3, 6, 0, 10
+ createsoundtask sub_8158C58, 183, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 6, 0, 10
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 40, 1
call AuroraBeam1
call AuroraBeam1
@@ -5416,18 +5416,18 @@ Move_AURORA_BEAM:
waitbgfadein
end
AuroraBeam1:
- createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17
+ createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17
delay 1
- createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17
+ createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17
delay 1
- createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17
+ createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17
delay 1
- createsprite gUnknown_085950B4, 130, 20, 0, 0, 0, 17
+ createsprite gUnknown_085950B4, ANIM_TARGET, 2, 20, 0, 0, 0, 17
delay 1
return
Move_SOLAR_BEAM:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
choosetwoturnanim SolarBeamSetUp, SolarBeamUnleash
SolarBeamEnd:
waitforvisualfinish
@@ -5436,61 +5436,61 @@ SolarBeamSetUp:
monbg ANIM_ATK_PARTNER
setalpha 12, 8
createvisualtask sub_8115A04, 2, 2, 1, 4, 0, 11, RGB(31, 31, 11)
- playsewithpan SE_W025, -64
+ playsewithpan SE_W025, SOUND_PAN_ATTACKER
call SolarBeamSetUp1
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
goto SolarBeamEnd
SolarBeamSetUp1:
- createsprite gUnknown_085921E0, 2, 40, 40, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 40, 16
delay 2
- createsprite gUnknown_085921E0, 2, -40, -40, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -40, 16
delay 2
- createsprite gUnknown_085921E0, 2, 0, 40, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 0, 40, 16
delay 2
- createsprite gUnknown_085921E0, 2, 0, -40, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 0, -40, 16
delay 2
- createsprite gUnknown_085921E0, 2, 40, -20, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, -20, 16
delay 2
- createsprite gUnknown_085921E0, 2, 40, 20, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 20, 16
delay 2
- createsprite gUnknown_085921E0, 2, -40, -20, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -20, 16
delay 2
- createsprite gUnknown_085921E0, 2, -40, 20, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, 20, 16
delay 2
- createsprite gUnknown_085921E0, 2, -20, 30, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -20, 30, 16
delay 2
- createsprite gUnknown_085921E0, 2, 20, -30, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 20, -30, 16
delay 2
- createsprite gUnknown_085921E0, 2, -20, -30, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -20, -30, 16
delay 2
- createsprite gUnknown_085921E0, 2, 20, 30, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 20, 30, 16
delay 2
- createsprite gUnknown_085921E0, 2, -40, 0, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, 0, 16
delay 2
- createsprite gUnknown_085921E0, 2, 40, 0, 16
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 0, 16
delay 2
return
SolarBeamUnleash:
call SetSolarbeamBg
- panse_1B SE_W076, -64, +63, +2, 0
+ panse_1B SE_W076, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask sub_80FEA58, 5
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 0
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 0
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 1
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 1
delay 4
createvisualtask sub_8116620, 10, 4, 1, 0, 10, RGB(25, 31, 0)
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 2
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 2
delay 4
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 65, 1
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 3
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 3
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 4
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 4
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 5
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 5
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 6
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 6
delay 4
call SolarBeamUnleash1
call SolarBeamUnleash1
@@ -5499,26 +5499,26 @@ SolarBeamUnleash:
call UnsetSolarbeamBg
goto SolarBeamEnd
SolarBeamUnleash1:
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 0
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 0
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 1
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 1
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 2
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 2
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 3
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 3
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 4
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 4
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 5
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 5
delay 4
- createsprite gUnknown_085921F8, 131, 15, 0, 20, 6
+ createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 6
delay 4
return
Move_BLIZZARD:
- loadspritegfx ANIM_TAG_141
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
monbg ANIM_DEF_PARTNER
- createvisualtask AnimTask_IsAttackerOpponentSide, 2
+ createvisualtask AnimTask_GetAttackerSide, 2
jumprettrue BlizzardAgainstPlayer
fadetobg BG_HIGHSPEED_OPPONENT
BlizzardContinue:
@@ -5526,10 +5526,10 @@ BlizzardContinue:
createvisualtask sub_8117660, 5, -2304, 0, 1, -1
waitbgfadein
waitforvisualfinish
- panse_1B SE_W059, -64, +63, +2, 0
+ panse_1B SE_W059, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
call Blizzard1
call Blizzard1
- playsewithpan SE_W059B, +63
+ playsewithpan SE_W059B, SOUND_PAN_TARGET
waitforvisualfinish
call FreezeEffect2
waitforvisualfinish
@@ -5541,26 +5541,26 @@ BlizzardContinue:
clearmonbg ANIM_DEF_PARTNER
end
Blizzard1:
- createsprite gUnknown_08595B98, 40, 0, -10, 0, -10, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, 0, 0, 0, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -10, 0, -10, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 0, 0, 0, 80, 0, 0, 1
delay 3
- createsprite gUnknown_08595B98, 40, 0, -15, 0, -15, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, -10, 0, -10, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -15, 0, -15, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, -10, 0, -10, 80, 0, 0, 1
delay 3
- createsprite gUnknown_08595B98, 40, 0, -5, 0, -5, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, 10, 0, 10, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -5, 0, -5, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 10, 0, 10, 80, 0, 0, 1
delay 3
- createsprite gUnknown_08595B98, 40, 0, -10, 0, -10, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, -20, 0, -20, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -10, 0, -10, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, -20, 0, -20, 80, 0, 0, 1
delay 3
- createsprite gUnknown_08595B98, 40, 0, -20, 0, -20, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, 15, 0, 15, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -20, 0, -20, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 15, 0, 15, 80, 0, 0, 1
delay 3
- createsprite gUnknown_08595B98, 40, 0, -15, 0, -15, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, -20, 0, -20, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -15, 0, -15, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, -20, 0, -20, 80, 0, 0, 1
delay 3
- createsprite gUnknown_08595B98, 40, 0, -25, 0, -25, 72, 1
- createsprite gUnknown_08595BB0, 40, 0, 20, 0, 20, 80, 0, 0, 1
+ createsprite gUnknown_08595B98, ANIM_ATTACKER, 40, 0, -25, 0, -25, 72, 1
+ createsprite gUnknown_08595BB0, ANIM_ATTACKER, 40, 0, 20, 0, 20, 80, 0, 0, 1
delay 3
return
BlizzardAgainstPlayer:
@@ -5568,48 +5568,48 @@ BlizzardAgainstPlayer:
goto BlizzardContinue
Move_POWDER_SNOW:
- loadspritegfx ANIM_TAG_141
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
monbg ANIM_DEF_PARTNER
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 1, 0, 3, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 1, 0, 3, RGB_BLACK
waitforvisualfinish
- panse_1B SE_W016, -64, +63, +2, 0
+ panse_1B SE_W016, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
call PowderSnow1
call PowderSnow1
- playsewithpan SE_W016B, +63
+ playsewithpan SE_W016B, SOUND_PAN_TARGET
waitforvisualfinish
waitsound
call FreezeEffect2
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
delay 20
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 1, 3, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 1, 3, 0, RGB_BLACK
end
PowderSnow1:
- createsprite gUnknown_08595BC8, 40, 0, 0, 0, 0, 56, 4, 4, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, 0, 0, 0, 56, 4, 4, 1
delay 3
- createsprite gUnknown_08595BC8, 40, 0, -10, 0, -10, 56, 4, 4, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, -10, 0, -10, 56, 4, 4, 1
delay 3
- createsprite gUnknown_08595BC8, 40, 0, 10, 0, 10, 56, -4, 3, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, 10, 0, 10, 56, -4, 3, 1
delay 3
- createsprite gUnknown_08595BC8, 40, 0, -20, 0, -20, 56, -4, 5, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, -20, 0, -20, 56, -4, 5, 1
delay 3
- createsprite gUnknown_08595BC8, 40, 0, 15, 0, 15, 56, 4, 4, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, 15, 0, 15, 56, 4, 4, 1
delay 3
- createsprite gUnknown_08595BC8, 40, 0, -20, 0, -20, 56, 4, 4, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, -20, 0, -20, 56, 4, 4, 1
delay 3
- createsprite gUnknown_08595BC8, 40, 0, 20, 0, 20, 56, 4, 4, 1
+ createsprite gUnknown_08595BC8, ANIM_ATTACKER, 40, 0, 20, 0, 20, 56, 4, 4, 1
delay 3
return
Move_HYDRO_PUMP:
- loadspritegfx ANIM_TAG_149
- loadspritegfx ANIM_TAG_148
+ loadspritegfx ANIM_TAG_WATER_ORB
+ loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1
delay 6
- panse_1B SE_W056, -64, +63, +2, 0
+ panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask sub_81076C8, 5, 100
call HydroPump1
call HydroPump1
@@ -5636,25 +5636,25 @@ Move_HYDRO_PUMP:
blendoff
end
HydroPump1:
- createsprite gUnknown_085950E4, 3, 10, 10, 0, 16
- createsprite gUnknown_085950E4, 3, 10, 10, 0, -16
+ createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, 16
+ createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, -16
delay 1
- createsprite gUnknown_085950E4, 3, 10, 10, 0, 16
- createsprite gUnknown_085950E4, 3, 10, 10, 0, -16
+ createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, 16
+ createsprite gUnknown_085950E4, ANIM_ATTACKER, 3, 10, 10, 0, -16
delay 1
return
HydroPump2:
- createsprite gUnknown_08597388, 4, 0, 15, 1, 1
- createsprite gUnknown_08597388, 4, 0, -15, 1, 1
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, 15, 1, 1
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, -15, 1, 1
return
Move_SIGNAL_BEAM:
- loadspritegfx ANIM_TAG_264
- loadspritegfx ANIM_TAG_265
+ loadspritegfx ANIM_TAG_GLOWY_RED_ORB
+ loadspritegfx ANIM_TAG_GLOWY_GREEN_ORB
loadspritegfx ANIM_TAG_DUCK
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 25, 1
delay 6
- panse_1B SE_W062, -64, +63, +1, 0
+ panse_1B SE_W062, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0
createvisualtask sub_81076C8, 5, 100
call SignalBeam1
call SignalBeam1
@@ -5663,7 +5663,7 @@ Move_SIGNAL_BEAM:
call SignalBeam1
call SignalBeam1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 25, 1
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 4, 8, 5, RGB_RED, 8, 961, 8
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 4, 8, 5, RGB_RED, 8, 961, 8
call SignalBeam1
call SignalBeam1
call SignalBeam1
@@ -5684,22 +5684,22 @@ Move_SIGNAL_BEAM:
waitforvisualfinish
end
SignalBeam1:
- createsprite gUnknown_08595114, 131, 10, 10, 0, 16
- createsprite gUnknown_0859512C, 131, 10, 10, 0, -16
+ createsprite gUnknown_08595114, ANIM_TARGET, 3, 10, 10, 0, 16
+ createsprite gUnknown_0859512C, ANIM_TARGET, 3, 10, 10, 0, -16
delay 1
return
Move_ABSORB:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 4, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB(13, 31, 12)
waitforvisualfinish
- playsewithpan SE_W071, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ playsewithpan SE_W071, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
delay 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
waitforvisualfinish
@@ -5709,50 +5709,50 @@ Move_ABSORB:
delay 15
call HealingEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 4, 0, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB(13, 31, 12)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
AbsorbEffect:
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
- playsewithpan SE_W152, +63
- createsprite gUnknown_08592270, 3, 5, -18, -20, 35
+ playsewithpan SE_W152, SOUND_PAN_TARGET
+ createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35
delay 4
return
Move_MEGA_DRAIN:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 8, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 8, RGB(13, 31, 12)
waitforvisualfinish
- playsewithpan SE_W071, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
+ playsewithpan SE_W071, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1
delay 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
waitforvisualfinish
@@ -5762,58 +5762,58 @@ Move_MEGA_DRAIN:
delay 15
call HealingEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 8, 0, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 8, 0, RGB(13, 31, 12)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
MegaDrainEffect:
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 5, -18, -20, 35
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
+ 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
delay 4
- playsewithpan SE_W145C, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 5, -18, -20, 35
+ 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
delay 4
return
Move_GIGA_DRAIN:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 12, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 12, RGB(13, 31, 12)
waitforvisualfinish
- playsewithpan SE_W071, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
+ playsewithpan SE_W071, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
delay 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
waitforvisualfinish
@@ -5823,92 +5823,92 @@ Move_GIGA_DRAIN:
delay 15
call HealingEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 12, 0, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 12, 0, RGB(13, 31, 12)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
GigaDrainEffect:
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 5, -18, -40, 35
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, 0, 5, 28, 26
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -10, 20, 40, 39
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 10, -5, -32, 26
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 10, -5, -40, 26
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, -5, 15, 36, 33
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
- delay 4
- playsewithpan SE_W202, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 5, -18, -20, 35
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
delay 4
return
Move_LEECH_LIFE:
- loadspritegfx ANIM_TAG_161
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_NEEDLE
+ loadspritegfx ANIM_TAG_ORBS
delay 1
loadspritegfx ANIM_TAG_BLUE_STAR
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
setalpha 12, 8
delay 1
- createsprite gUnknown_085969C8, 2, -20, 15, 12
+ createsprite gUnknown_085969C8, ANIM_ATTACKER, 2, -20, 15, 12
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
- playsewithpan SE_W071, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
+ playsewithpan SE_W071, SOUND_PAN_TARGET
delay 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 7, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 7, RGB_BLACK
waitforvisualfinish
call AbsorbEffect
waitforvisualfinish
delay 15
call HealingEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 7, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 7, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_SYNTHESIS:
- loadspritegfx ANIM_TAG_SPARKLE
+ loadspritegfx ANIM_TAG_SPARKLE_2
createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 16, RGB(27, 31, 18)
- playsewithpan SE_W025, -64
+ playsewithpan SE_W025, SOUND_PAN_ATTACKER
call GrantingStarsEffect
waitforvisualfinish
- unloadspritegfx ANIM_TAG_SPARKLE
+ unloadspritegfx ANIM_TAG_SPARKLE_2
delay 1
loadspritegfx ANIM_TAG_BLUE_STAR
call HealingEffect
@@ -5926,24 +5926,24 @@ Move_TOXIC:
waitforvisualfinish
end
Toxic1:
- createsprite gUnknown_08596134, 130, -24, 16, 1, 1
- playsewithpan SE_W092, +63
+ createsprite gUnknown_08596134, ANIM_TARGET, 2, -24, 16, 1, 1
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 15
- createsprite gUnknown_08596134, 130, 8, 16, 1, 1
- playsewithpan SE_W092, +63
+ createsprite gUnknown_08596134, ANIM_TARGET, 2, 8, 16, 1, 1
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 15
- createsprite gUnknown_08596134, 130, -8, 16, 1, 1
- playsewithpan SE_W092, +63
+ createsprite gUnknown_08596134, ANIM_TARGET, 2, -8, 16, 1, 1
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 15
- createsprite gUnknown_08596134, 130, 24, 16, 1, 1
- playsewithpan SE_W092, +63
+ createsprite gUnknown_08596134, ANIM_TARGET, 2, 24, 16, 1, 1
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 15
return
Move_SLUDGE:
loadspritegfx ANIM_TAG_POISON_BUBBLE
- playsewithpan SE_W145C, -64
- createsprite gUnknown_085961A8, 130, 20, 0, 40, 0
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085961A8, ANIM_TARGET, 2, 20, 0, 40, 0
waitforvisualfinish
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1
createvisualtask sub_8115A04, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31)
@@ -5965,23 +5965,23 @@ Move_SLUDGE_BOMB:
call SludgeBomb1
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 3, 0, 15, 1
createvisualtask sub_8115A04, 2, 4, 1, 2, 0, 12, RGB(30, 0, 31)
- createsprite gUnknown_085961D8, 130, 42, 27, 20
- createsprite gUnknown_085961D8, 130, -27, 44, 20
- createsprite gUnknown_085961D8, 130, 39, -28, 20
- createsprite gUnknown_085961D8, 130, -42, -42, 20
- playsewithpan SE_W091, +63
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, 42, 27, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, -27, 44, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, 39, -28, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, -42, -42, 20
+ playsewithpan SE_W091, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_085961D8, 130, 0, 40, 20
- createsprite gUnknown_085961D8, 130, -8, -44, 20
- createsprite gUnknown_085961D8, 130, -46, -28, 20
- createsprite gUnknown_085961D8, 130, 46, 9, 20
- playsewithpan SE_W091, +63
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, 0, 40, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, -8, -44, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, -46, -28, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, 46, 9, 20
+ playsewithpan SE_W091, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_085961D8, 130, 42, 0, 20
- createsprite gUnknown_085961D8, 130, -43, -12, 20
- createsprite gUnknown_085961D8, 130, 16, -46, 20
- createsprite gUnknown_085961D8, 130, -16, 44, 20
- playsewithpan SE_W091, +63
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, 42, 0, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, -43, -12, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, 16, -46, 20
+ createsprite gUnknown_085961D8, ANIM_TARGET, 2, -16, 44, 20
+ playsewithpan SE_W091, SOUND_PAN_TARGET
delay 0
waitsound
waitforvisualfinish
@@ -5989,59 +5989,59 @@ Move_SLUDGE_BOMB:
waitforvisualfinish
end
SludgeBomb1:
- playsewithpan SE_W145C, -64
- createsprite gUnknown_085961A8, 130, 20, 0, 40, 0
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085961A8, ANIM_TARGET, 2, 20, 0, 40, 0
delay 3
return
Move_ACID:
loadspritegfx ANIM_TAG_POISON_BUBBLE
monbg ANIM_DEF_PARTNER
- createsprite gUnknown_085961C0, 130, 20, 0, 40, 1, 0, 0
- playsewithpan SE_W145C, -64
+ createsprite gUnknown_085961C0, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_085961C0, 130, 20, 0, 40, 1, 24, 0
- playsewithpan SE_W145C, -64
+ createsprite gUnknown_085961C0, ANIM_TARGET, 2, 20, 0, 40, 1, 24, 0
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_085961C0, 130, 20, 0, 40, 1, -24, 0
- playsewithpan SE_W145C, -64
+ createsprite gUnknown_085961C0, ANIM_TARGET, 2, 20, 0, 40, 1, -24, 0
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 15
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1
createvisualtask AnimTask_ShakeMon2, 5, ANIM_DEF_PARTNER, 2, 0, 10, 1
createvisualtask sub_8115A04, 2, 20, 2, 2, 0, 12, RGB(30, 0, 31)
- createsprite gUnknown_0859620C, 130, 0, -22, 0, 15, 55
- playsewithpan SE_W145, +63
+ createsprite gUnknown_0859620C, ANIM_TARGET, 2, 0, -22, 0, 15, 55
+ playsewithpan SE_W145, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_0859620C, 130, -26, -24, 0, 15, 55
- playsewithpan SE_W145, +63
+ createsprite gUnknown_0859620C, ANIM_TARGET, 2, -26, -24, 0, 15, 55
+ playsewithpan SE_W145, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_0859620C, 130, 15, -27, 0, 15, 50
- playsewithpan SE_W145, +63
+ createsprite gUnknown_0859620C, ANIM_TARGET, 2, 15, -27, 0, 15, 50
+ playsewithpan SE_W145, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_0859620C, 130, -15, -17, 0, 10, 45
- playsewithpan SE_W145, +63
+ createsprite gUnknown_0859620C, ANIM_TARGET, 2, -15, -17, 0, 10, 45
+ playsewithpan SE_W145, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_0859620C, 130, 27, -22, 0, 15, 50
- playsewithpan SE_W145, +63
+ createsprite gUnknown_0859620C, ANIM_TARGET, 2, 27, -22, 0, 15, 50
+ playsewithpan SE_W145, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Move_BONEMERANG:
loadspritegfx ANIM_TAG_BONE
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W155, -64
- createsprite gUnknown_08597178, 2
+ playsewithpan SE_W155, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08597178, ANIM_ATTACKER, 2
delay 20
- playsewithpan SE_W030, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
+ playsewithpan SE_W030, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 5, 1
delay 17
- playsewithpan SE_W233, -64
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, -4
+ playsewithpan SE_W233, SOUND_PAN_ATTACKER
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, -4
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6049,17 +6049,17 @@ Move_BONEMERANG:
Move_BONE_CLUB:
loadspritegfx ANIM_TAG_BONE
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W155, +63
- createsprite gUnknown_08597190, 2, -42, -25, 0, 0, 15
+ playsewithpan SE_W155, SOUND_PAN_TARGET
+ createsprite gUnknown_08597190, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15
delay 12
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 7, 5, 1, RGB_BLACK, 10, 0, 0
- playsewithpan SE_W233B, +63
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_BLACK, 10, 0, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6067,42 +6067,42 @@ Move_BONE_CLUB:
Move_BONE_RUSH:
loadspritegfx ANIM_TAG_BONE
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W155, +63
- createsprite gUnknown_08597190, 2, -42, -25, 0, 0, 15
+ playsewithpan SE_W155, SOUND_PAN_TARGET
+ createsprite gUnknown_08597190, ANIM_ATTACKER, 2, -42, -25, 0, 0, 15
delay 12
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 5, 1
- playsewithpan SE_W030, +63
+ playsewithpan SE_W030, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_SPIKES:
- loadspritegfx ANIM_TAG_152
+ loadspritegfx ANIM_TAG_SPIKES
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W026, -64
- waitplaysewithpan SE_W030, +63, 28
- createsprite gUnknown_085CE11C, 130, 20, 0, 0, 24, 30
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28
+ createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, 0, 24, 30
delay 10
- playsewithpan SE_W026, -64
- waitplaysewithpan SE_W030, +63, 28
- createsprite gUnknown_085CE11C, 130, 20, 0, -24, 24, 30
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28
+ createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, -24, 24, 30
delay 10
- waitplaysewithpan SE_W030, +63, 28
- createsprite gUnknown_085CE11C, 130, 20, 0, 24, 24, 30
+ waitplaysewithpan SE_W030, SOUND_PAN_TARGET, 28
+ createsprite gUnknown_085CE11C, ANIM_TARGET, 2, 20, 0, 24, 24, 30
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Move_MEGAHORN:
- loadspritegfx ANIM_TAG_153
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HORN_HIT_2
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
jumpifcontest MegahornInContest
fadetobg BG_DRILL
waitbgfadeout
@@ -6113,20 +6113,20 @@ MegahornContinue:
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1
waitforvisualfinish
delay 10
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 6
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 6
delay 3
- createsprite gUnknown_08596974, 3, -42, 25, 0, 0, 6
+ createsprite gUnknown_08596974, ANIM_ATTACKER, 3, -42, 25, 0, 0, 6
delay 4
- playsewithpan SE_W011, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -16, 4, 1, 4
+ playsewithpan SE_W011, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 4, 1, 4
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, -4, 1, 12, 1
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 7, 5, 1, RGB_WHITE, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 7, 5, 1, RGB_WHITE, 10, 0, 0
delay 10
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 11
delay 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6143,17 +6143,17 @@ MegahornInContest:
Move_GUST:
loadspritegfx ANIM_TAG_GUST
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W016, +63
- createsprite gUnknown_08596270, 2, 0, -16
+ playsewithpan SE_W016, SOUND_PAN_TARGET
+ createsprite gUnknown_08596270, ANIM_ATTACKER, 2, 0, -16
createvisualtask sub_810DED8, 5, 1, 70
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 7, 1
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
- playsewithpan SE_W016B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
+ playsewithpan SE_W016B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6161,39 +6161,39 @@ Move_GUST:
Move_WING_ATTACK:
loadspritegfx ANIM_TAG_GUST
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- loopsewithpan SE_W017, -64, 20, 2
+ loopsewithpan SE_W017, SOUND_PAN_ATTACKER, 20, 2
createvisualtask AnimTask_TranslateMonElliptical, 2, 0, 12, 4, 1, 4
createvisualtask sub_810DED8, 5, 1, 70
- createsprite gBattleAnimSpriteTemplate_85962A4, 2, -25, 0, 0, 0, 20
- createsprite gBattleAnimSpriteTemplate_85962A4, 2, 25, 0, 0, 0, 20
+ createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, -25, 0, 0, 0, 20
+ createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, 25, 0, 0, 0, 20
delay 24
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 9
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 9
delay 17
- createsprite gBasicHitSplatSpriteTemplate, 2, 16, 0, 1, 1
- createsprite gBasicHitSplatSpriteTemplate, 2, -16, 0, 1, 1
- loopsewithpan SE_W003, +63, 5, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 1, 1
+ loopsewithpan SE_W003, SOUND_PAN_TARGET, 5, 2
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 11
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_PECK:
- loadspritegfx ANIM_TAG_135
- playsewithpan SE_W030, +63
+ loadspritegfx ANIM_TAG_IMPACT
+ playsewithpan SE_W030, SOUND_PAN_TARGET
createvisualtask sub_80D622C, 2, 3, -768, 1, 2
- createsprite gUnknown_085973E8, 131, -12, 0, 1, 3
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, -12, 0, 1, 3
waitforvisualfinish
end
Move_AEROBLAST:
- loadspritegfx ANIM_TAG_154
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_AIR_WAVE_2
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
call SetFlyingBg
monbgprio_28 ANIM_TARGET
@@ -6205,8 +6205,8 @@ Move_AEROBLAST:
call Aeroblast1
call Aeroblast1
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
- playsewithpan SE_W013, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6214,80 +6214,80 @@ Move_AEROBLAST:
call UnsetFlyingBg
end
Aeroblast1:
- playsewithpan SE_W026, -64
- createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 0, 0
- createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 0, 0
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 0, 0
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 0, 0
delay 3
- playsewithpan SE_W026, -64
- createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 1, 0
- createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 1, 0
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 1, 0
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 1, 0
delay 3
- playsewithpan SE_W026, -64
- createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 2, 0
- createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 2, 0
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 2, 0
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 2, 0
delay 3
- playsewithpan SE_W026, -64
- createsprite gUnknown_085962D4, 2, 14, -12, 0, -12, 15, 3, 0
- createsprite gUnknown_085962D4, 2, 26, 8, 12, 8, 15, 3, 0
+ playsewithpan SE_W026, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -12, 0, -12, 15, 3, 0
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 26, 8, 12, 8, 15, 3, 0
delay 3
return
Move_WATER_GUN:
- loadspritegfx ANIM_TAG_155
- loadspritegfx ANIM_TAG_148
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
+ loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- createsprite gUnknown_08595208, 2, 20, 0, 0, 0, 40, -25
- playsewithpan SE_W145, -64
+ createsprite gUnknown_08595208, ANIM_ATTACKER, 2, 20, 0, 0, 0, 40, -25
+ playsewithpan SE_W145, SOUND_PAN_ATTACKER
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 1, 0, 8, 1
- createsprite gUnknown_08597388, 4, 0, 0, 1, 2
- createsprite gUnknown_08595220, 2, 0, -15, 0, 15, 55
- playsewithpan SE_W152, +63
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, 0, 1, 2
+ createsprite gUnknown_08595220, ANIM_ATTACKER, 2, 0, -15, 0, 15, 55
+ playsewithpan SE_W152, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_08595220, 2, 15, -20, 0, 15, 50
- playsewithpan SE_W152, +63
+ createsprite gUnknown_08595220, ANIM_ATTACKER, 2, 15, -20, 0, 15, 50
+ playsewithpan SE_W152, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_08595220, 2, -15, -10, 0, 10, 45
- playsewithpan SE_W152, +63
+ createsprite gUnknown_08595220, ANIM_ATTACKER, 2, -15, -10, 0, 10, 45
+ playsewithpan SE_W152, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_CRABHAMMER:
- loadspritegfx ANIM_TAG_141
- loadspritegfx ANIM_TAG_148
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
+ loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createsprite gUnknown_08597388, 4, 0, 0, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gUnknown_08597388, ANIM_ATTACKER, 4, 0, 0, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 1
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB(13, 21, 31), 10, 0, 0
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB(13, 21, 31), 10, 0, 0
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -24, 0, 0, 4
waitforvisualfinish
delay 8
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 4
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 4
waitforvisualfinish
- loopsewithpan SE_W152, +63, 20, 3
+ loopsewithpan SE_W152, SOUND_PAN_TARGET, 20, 3
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 8, 1
- createsprite gUnknown_08595238, 2, 10, 10, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 10, 10, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, 20, -20, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 20, -20, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, -15, 15, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -15, 15, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, 0, 0, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 0, 0, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, -10, -20, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -10, -20, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, 16, -8, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 16, -8, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, 5, 8, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, 5, 8, 20, 1
delay 4
- createsprite gUnknown_08595238, 2, -16, 0, 20, 1
+ createsprite gUnknown_08595238, ANIM_ATTACKER, 2, -16, 0, 20, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6296,7 +6296,7 @@ Move_CRABHAMMER:
Move_SURF:
createvisualtask AnimTask_CreateSurfWave, 2, FALSE
delay 24
- panse_1B SE_W057, -64, +63, +2, 0
+ panse_1B SE_W057, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
waitforvisualfinish
end
@@ -6308,7 +6308,7 @@ Move_FLAMETHROWER:
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 46, 1
delay 6
createvisualtask sub_81076C8, 5, 100
- panse_1B SE_W053, -64, +63, +2, 0
+ panse_1B SE_W053, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
call Flamethrower1
call Flamethrower1
call Flamethrower1
@@ -6327,112 +6327,112 @@ Move_FLAMETHROWER:
end
Flamethrower1:
- createsprite gUnknown_08595158, 3, 10, 10, 0, 16
+ createsprite gUnknown_08595158, ANIM_ATTACKER, 3, 10, 10, 0, 16
delay 2
- createsprite gUnknown_08595158, 3, 10, 10, 0, 16
+ createsprite gUnknown_08595158, ANIM_ATTACKER, 3, 10, 10, 0, 16
delay 2
return
Move_SANDSTORM:
- loadspritegfx ANIM_TAG_261
+ loadspritegfx ANIM_TAG_FLYING_DIRT
playsewithpan SE_W201, 0
createvisualtask AnimTask_LoadSandstormBackground, 5, FALSE
delay 16
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 10, 2304, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 10, 2304, 96, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 90, 2048, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 90, 2048, 96, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 50, 2560, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 50, 2560, 96, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 20, 2304, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 20, 2304, 96, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 70, 1984, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 70, 1984, 96, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 0, 2816, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 0, 2816, 96, 0
delay 10
- createsprite gBattleAnimSpriteTemplate_8596BA0, 40, 60, 2560, 96, 0
+ createsprite gBattleAnimSpriteTemplate_8596BA0, ANIM_ATTACKER, 40, 60, 2560, 96, 0
end
Move_WHIRLPOOL:
- loadspritegfx ANIM_TAG_149
+ loadspritegfx ANIM_TAG_WATER_ORB
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
delay 0
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(0, 13, 23)
- playsewithpan SE_W250, +63
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 7, RGB(0, 13, 23)
+ playsewithpan SE_W250, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 50, 1
call WhirlpoolEffect
call WhirlpoolEffect
call WhirlpoolEffect
delay 12
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(0, 13, 23)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 7, 0, RGB(0, 13, 23)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
WhirlpoolEffect:
- createsprite gUnknown_08596B70, 130, 0, 28, 384, 50, 8, 50, 1
+ createsprite gUnknown_08596B70, ANIM_TARGET, 2, 0, 28, 384, 50, 8, 50, 1
delay 2
- createsprite gUnknown_08596B70, 130, 0, 32, 240, 40, 11, -46, 1
+ createsprite gUnknown_08596B70, ANIM_TARGET, 2, 0, 32, 240, 40, 11, -46, 1
delay 2
- createsprite gUnknown_08596B70, 130, 0, 33, 416, 40, 4, 42, 1
+ createsprite gUnknown_08596B70, ANIM_TARGET, 2, 0, 33, 416, 40, 4, 42, 1
delay 2
- createsprite gUnknown_08596B70, 130, 0, 31, 288, 45, 6, -42, 1
+ createsprite gUnknown_08596B70, ANIM_TARGET, 2, 0, 31, 288, 45, 6, -42, 1
delay 2
- createsprite gUnknown_08596B70, 130, 0, 28, 448, 45, 11, 46, 1
+ createsprite gUnknown_08596B70, ANIM_TARGET, 2, 0, 28, 448, 45, 11, 46, 1
delay 2
- createsprite gUnknown_08596B70, 130, 0, 33, 464, 50, 10, -50, 1
+ createsprite gUnknown_08596B70, ANIM_TARGET, 2, 0, 33, 464, 50, 10, -50, 1
delay 2
return
Move_FLY:
- loadspritegfx ANIM_TAG_156
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_ROUND_SHADOW
+ loadspritegfx ANIM_TAG_IMPACT
choosetwoturnanim FlySetUp, FlyUnleash
FlyEnd:
waitforvisualfinish
end
FlySetUp:
- playsewithpan SE_W019, -64
- createsprite gUnknown_08596340, 2, 0, 0, 13, 336
+ playsewithpan SE_W019, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596340, ANIM_ATTACKER, 2, 0, 0, 13, 336
goto FlyEnd
FlyUnleash:
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W104, -64
- createsprite gUnknown_08596358, 2, 20
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596358, ANIM_ATTACKER, 2, 20
delay 20
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
- playsewithpan SE_W013, +63
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
goto FlyEnd
Move_BOUNCE:
- loadspritegfx ANIM_TAG_156
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_ROUND_SHADOW
+ loadspritegfx ANIM_TAG_IMPACT
choosetwoturnanim BounceSetUp, BounceUnleash
BounceEnd:
end
BounceSetUp:
- playsewithpan SE_W100, -64
- createsprite gUnknown_08596420, 2, 0, 0
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596420, ANIM_ATTACKER, 2, 0, 0
goto BounceEnd
BounceUnleash:
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W207, +63
- createsprite gUnknown_0859644C, 131
+ playsewithpan SE_W207, SOUND_PAN_TARGET
+ createsprite gUnknown_0859644C, ANIM_TARGET, 3
delay 7
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -6440,16 +6440,16 @@ BounceUnleash:
goto BounceEnd
Move_KARATE_CHOP:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W104, +63
- createsprite gUnknown_08595E68, 2, -16, 0, 0, 0, 10, 1, 3, 0
+ playsewithpan SE_W104, SOUND_PAN_TARGET
+ createsprite gUnknown_08595E68, ANIM_ATTACKER, 2, -16, 0, 0, 0, 10, 1, 3, 0
waitforvisualfinish
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -6457,17 +6457,17 @@ Move_KARATE_CHOP:
end
Move_CROSS_CHOP:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_285
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_CROSS_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W025, +63
- createsprite gUnknown_08595EC8, 2, 0, 0, 0
- createsprite gUnknown_08595EC8, 2, 0, 0, 1
+ playsewithpan SE_W025, SOUND_PAN_TARGET
+ createsprite gUnknown_08595EC8, ANIM_ATTACKER, 2, 0, 0, 0
+ createsprite gUnknown_08595EC8, ANIM_ATTACKER, 2, 0, 0, 1
delay 40
- playsewithpan SE_W013, +63
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_WHITE, 10, 0, 10
- createsprite gUnknown_085973D0, 3, 0, 0, 1, 20
+ playsewithpan SE_W013, SOUND_PAN_TARGET
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_WHITE, 10, 0, 10
+ createsprite gUnknown_085973D0, ANIM_ATTACKER, 3, 0, 0, 1, 20
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -6475,68 +6475,68 @@ Move_CROSS_CHOP:
end
Move_JUMP_KICK:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 3
- createsprite gUnknown_08595E80, 2, -16, 8, 0, 0, 10, 1, 1, 1
- playsewithpan SE_W026, +63
+ createsprite gUnknown_08595E80, ANIM_ATTACKER, 2, -16, 8, 0, 0, 10, 1, 1, 1
+ playsewithpan SE_W026, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 1, 0, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 7, 1
- playsewithpan SE_W004, +63
+ playsewithpan SE_W004, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_HI_JUMP_KICK:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, -24, 0, 0, 8
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 0, 0, 8
waitforvisualfinish
delay 10
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 3
delay 2
- createsprite gUnknown_08595E80, 2, -16, 8, 0, 0, 10, 1, 1, 1
- playsewithpan SE_W026, +63
+ createsprite gUnknown_08595E80, ANIM_ATTACKER, 2, -16, 8, 0, 0, 10, 1, 1, 1
+ playsewithpan SE_W026, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 1
- playsewithpan SE_W233B, +63
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -28, 0, 0, 3
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -28, 0, 0, 3
delay 3
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 11, 1
waitforvisualfinish
delay 5
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_DOUBLE_KICK:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createsprite gUnknown_08595EB0, 3, 1, 20, 1
+ createsprite gUnknown_08595EB0, ANIM_ATTACKER, 3, 1, 20, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_TRIPLE_KICK:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
jumpifmoveturn 0, TripleKickLeft
jumpifmoveturn 1, TripleKickRight
goto TripleKickCenter
@@ -6547,133 +6547,133 @@ TripleKickContinue:
end
TripleKickLeft:
- createsprite gFistFootSpriteTemplate, 132, -16, -8, 20, 1, 1
- createsprite gBasicHitSplatSpriteTemplate, 131, -16, -16, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, -16, -8, 20, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -16, -16, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1
goto TripleKickContinue
TripleKickRight:
- createsprite gFistFootSpriteTemplate, 132, 8, 8, 20, 1, 1
- createsprite gBasicHitSplatSpriteTemplate, 131, 8, 0, 1, 2
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 8, 8, 20, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1
goto TripleKickContinue
TripleKickCenter:
- createsprite gFistFootSpriteTemplate, 132, 0, 0, 20, 1, 1
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, -8, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0, 0, 20, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, -8, 1, 1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
goto TripleKickContinue
Move_DYNAMIC_PUNCH:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_EXPLOSION
- loadspritegfx ANIM_TAG_007
+ loadspritegfx ANIM_TAG_UNUSED_EXPLOSION
delay 1
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W233B, +63
- createsprite gFistFootSpriteTemplate, 131, 0, 0, 20, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 20, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 7, 1
delay 1
waitsound
- playsewithpan SE_W120, +63
+ playsewithpan SE_W120, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 5, 0, 28, 1
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 1, 1
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 1, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_COUNTER:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 4
- playsewithpan SE_W233, -64
+ playsewithpan SE_W233, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4
delay 4
- createsprite gBasicHitSplatSpriteTemplate, 2, -15, 18, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -15, 18, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 25, 1
- createsprite gFistFootSpriteTemplate, 3, -15, 18, 8, 1, 0
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, -15, 18, 8, 1, 0
delay 3
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, -4, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, -4, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 1
- createsprite gFistFootSpriteTemplate, 3, 0, -4, 8, 1, 0
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 0, -4, 8, 1, 0
delay 3
- createsprite gBasicHitSplatSpriteTemplate, 2, 15, 9, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 15, 9, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 1
- createsprite gFistFootSpriteTemplate, 3, 15, 9, 8, 1, 0
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 15, 9, 8, 1, 0
delay 5
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_VITAL_THROW:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W233, -64
+ playsewithpan SE_W233, SOUND_PAN_ATTACKER
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 1, 2
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 20, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4
delay 2
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 1
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -24, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -24, 0, 0, 4
waitforvisualfinish
delay 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7
delay 11
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 10
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 10
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_ROCK_SMASH:
- loadspritegfx ANIM_TAG_058
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_ROCKS
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
monbg ANIM_DEF_PARTNER
setalpha 12, 8
delay 1
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
- createsprite gFistFootSpriteTemplate, 2, 0, 0, 8, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
+ createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 8, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1
waitforvisualfinish
- playsewithpan SE_W088, +63
- createsprite gUnknown_08596B1C, 2, 0, 0, 20, 24, 14, 2
- createsprite gUnknown_08596B1C, 2, 5, 0, -20, 24, 14, 1
- createsprite gUnknown_08596B1C, 2, 0, 5, 20, -24, 14, 2
- createsprite gUnknown_08596B1C, 2, -5, 0, -20, -24, 14, 2
- createsprite gUnknown_08596B1C, 2, 0, -5, 30, 18, 8, 2
- createsprite gUnknown_08596B1C, 2, 0, 0, 30, -18, 8, 2
- createsprite gUnknown_08596B1C, 2, 0, 0, -30, 18, 8, 2
- createsprite gUnknown_08596B1C, 2, 0, 0, -30, -18, 8, 2
+ playsewithpan SE_W088, SOUND_PAN_TARGET
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 0, 0, 20, 24, 14, 2
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 5, 0, -20, 24, 14, 1
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 0, 5, 20, -24, 14, 2
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, -5, 0, -20, -24, 14, 2
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 0, -5, 30, 18, 8, 2
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 0, 0, 30, -18, 8, 2
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 0, 0, -30, 18, 8, 2
+ createsprite gUnknown_08596B1C, ANIM_ATTACKER, 2, 0, 0, -30, -18, 8, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 7, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -6681,19 +6681,19 @@ Move_ROCK_SMASH:
end
Move_SUBMISSION:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W104, -64
- waitplaysewithpan SE_W004, +63, 10
- waitplaysewithpan SE_W104, -64, 20
- waitplaysewithpan SE_W004, +63, 30
- waitplaysewithpan SE_W104, -64, 40
- waitplaysewithpan SE_W004, +63, 50
- waitplaysewithpan SE_W104, -64, 60
- waitplaysewithpan SE_W004, +63, 70
- waitplaysewithpan SE_W104, -64, 80
- waitplaysewithpan SE_W004, +63, 0x5A
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 10
+ waitplaysewithpan SE_W104, SOUND_PAN_ATTACKER, 20
+ waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 30
+ waitplaysewithpan SE_W104, SOUND_PAN_ATTACKER, 40
+ waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 50
+ waitplaysewithpan SE_W104, SOUND_PAN_ATTACKER, 60
+ waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 70
+ waitplaysewithpan SE_W104, SOUND_PAN_ATTACKER, 80
+ waitplaysewithpan SE_W004, SOUND_PAN_TARGET, 0x5A
createvisualtask AnimTask_TranslateMonElliptical, 2, 0, -18, 6, 6, 4
createvisualtask AnimTask_TranslateMonElliptical, 2, 1, 18, 6, 6, 4
call Submission1
@@ -6705,21 +6705,21 @@ Move_SUBMISSION:
end
Submission1:
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, -12, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, -12, 1, 1
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 3, -12, 8, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, -12, 8, 1, 1
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 3, 12, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 12, 0, 1, 1
delay 8
return
Move_SUNNY_DAY:
- loadspritegfx ANIM_TAG_157
+ loadspritegfx ANIM_TAG_SUNLIGHT
monbg ANIM_ATK_PARTNER
setalpha 13, 3
createvisualtask sub_8116620, 10, 0x781, 1, 0, 6, RGB_WHITE
waitforvisualfinish
- panse_26 SE_W080, -64, +63, +1, 0
+ panse_26 SE_W080, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0
call SunnyDay1
call SunnyDay1
call SunnyDay1
@@ -6732,15 +6732,15 @@ Move_SUNNY_DAY:
end
SunnyDay1:
- createsprite gUnknown_085954A0, 40
+ createsprite gUnknown_085954A0, ANIM_ATTACKER, 40
delay 6
return
Move_COTTON_SPORE:
- loadspritegfx ANIM_TAG_158
+ loadspritegfx ANIM_TAG_SPORE
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
- loopsewithpan SE_W077, +63, 18, 10
+ loopsewithpan SE_W077, SOUND_PAN_TARGET, 18, 10
call CottonSpore1
call CottonSpore1
call CottonSpore1
@@ -6749,20 +6749,20 @@ Move_COTTON_SPORE:
end
CottonSpore1:
- createsprite gUnknown_085922EC, 2, 0, -20, 85, 80, 0
+ createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -20, 85, 80, 0
delay 12
- createsprite gUnknown_085922EC, 2, 0, -10, 170, 80, 0
+ createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -10, 170, 80, 0
delay 12
- createsprite gUnknown_085922EC, 2, 0, -15, 0, 80, 0
+ createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -15, 0, 80, 0
delay 12
return
Move_SPORE:
- loadspritegfx ANIM_TAG_158
+ loadspritegfx ANIM_TAG_SPORE
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask sub_80FEE1C, 2
- loopsewithpan SE_W077, +63, 16, 11
+ loopsewithpan SE_W077, SOUND_PAN_TARGET, 16, 11
call Spore1
call Spore1
call Spore1
@@ -6773,85 +6773,85 @@ Move_SPORE:
end
Spore1:
- createsprite gUnknown_085922EC, 130, 0, -20, 85, 80, 1
+ createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -20, 85, 80, 1
delay 12
- createsprite gUnknown_085922EC, 130, 0, -10, 170, 80, 1
+ createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -10, 170, 80, 1
delay 12
- createsprite gUnknown_085922EC, 130, 0, -15, 0, 80, 1
+ createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -15, 0, 80, 1
delay 12
return
Move_PETAL_DANCE:
- loadspritegfx ANIM_TAG_159
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_FLOWER
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W080, -64
+ playsewithpan SE_W080, SOUND_PAN_ATTACKER
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 6, 3
- createsprite gUnknown_0859231C, 2, 0, -24, 8, 140
- createsprite gUnknown_08592334, 2, 16, -24, 8, 100
- createsprite gUnknown_08592334, 2, -16, -24, 8, 100
+ 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
delay 15
- createsprite gUnknown_0859231C, 2, 0, -24, 8, 140
- createsprite gUnknown_08592334, 2, 32, -24, 8, 100
- createsprite gUnknown_08592334, 2, -32, -24, 8, 100
+ 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
delay 15
- createsprite gUnknown_0859231C, 2, 0, -24, 8, 140
- createsprite gUnknown_08592334, 2, 24, -24, 8, 100
- createsprite gUnknown_08592334, 2, -24, -24, 8, 100
+ 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
delay 30
- createsprite gUnknown_08592334, 2, 16, -24, 0, 100
- createsprite gUnknown_08592334, 2, -16, -24, 0, 100
+ createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 16, -24, 0, 100
+ createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -16, -24, 0, 100
delay 30
- createsprite gUnknown_08592334, 2, 20, -16, 14, 80
- createsprite gUnknown_08592334, 2, -20, -14, 16, 80
+ createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 20, -16, 14, 80
+ createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -20, -14, 16, 80
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 5
delay 3
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 0
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 6, 0, 8, 1
waitforvisualfinish
delay 8
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_RAZOR_LEAF:
- loadspritegfx ANIM_TAG_063
- loadspritegfx ANIM_TAG_160
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_LEAF
+ loadspritegfx ANIM_TAG_RAZOR_LEAF
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
delay 1
- loopsewithpan SE_W077, -64, 10, 5
- createsprite gUnknown_08592390, 2, -3, -2, 10
+ loopsewithpan SE_W077, SOUND_PAN_ATTACKER, 10, 5
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -2, 10
delay 2
- createsprite gUnknown_08592390, 2, -1, -1, 15
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -1, 15
delay 2
- createsprite gUnknown_08592390, 2, -4, -4, 7
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -4, -4, 7
delay 2
- createsprite gUnknown_08592390, 2, 3, -3, 11
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 3, -3, 11
delay 2
- createsprite gUnknown_08592390, 2, -1, -6, 8
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -6, 8
delay 2
- createsprite gUnknown_08592390, 2, 2, -1, 12
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -1, 12
delay 2
- createsprite gUnknown_08592390, 2, -3, -4, 13
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -4, 13
delay 2
- createsprite gUnknown_08592390, 2, 4, -5, 7
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 4, -5, 7
delay 2
- createsprite gUnknown_08592390, 2, 2, -6, 11
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -6, 11
delay 2
- createsprite gUnknown_08592390, 2, -3, -5, 8
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -5, 8
delay 60
- playsewithpan SE_W013B, -64
- createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 22, 20, 1
- createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 22, -20, 1
+ 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
delay 20
- playsewithpan SE_W013, +63
+ playsewithpan SE_W013, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 8, 1
waitforvisualfinish
@@ -6861,33 +6861,33 @@ Move_RAZOR_LEAF:
Move_NATURE_POWER:
Move_ANCIENT_POWER:
- loadspritegfx ANIM_TAG_058
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_ROCKS
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, 4, 1, 10, 1
- createsprite gUnknown_08596C10, 2, 20, 32, -48, 50, 2
- createsprite gUnknown_08596C10, 2, 0, 32, -38, 25, 5
- createsprite gUnknown_08596C10, 2, 32, 32, -28, 40, 3
- createsprite gUnknown_08596C10, 2, -20, 32, -48, 50, 2
- createsprite gUnknown_08596C10, 2, 20, 32, -28, 60, 1
- createsprite gUnknown_08596C10, 2, 0, 32, -28, 30, 4
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 4, 1, 10, 1
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 20, 32, -48, 50, 2
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 0, 32, -38, 25, 5
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 32, 32, -28, 40, 3
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, -20, 32, -48, 50, 2
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 20, 32, -28, 60, 1
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 0, 32, -28, 30, 4
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 30, 1
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_08596C10, 2, 15, 32, -48, 25, 5
- createsprite gUnknown_08596C10, 2, -10, 32, -42, 30, 4
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 15, 32, -48, 25, 5
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, -10, 32, -42, 30, 4
delay 10
- createsprite gUnknown_08596C10, 2, 0, 32, -42, 25, 5
- createsprite gUnknown_08596C10, 2, -25, 32, -48, 30, 4
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, 0, 32, -42, 25, 5
+ createsprite gUnknown_08596C10, ANIM_ATTACKER, 2, -25, 32, -48, 30, 4
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 16, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 16, 0, 0, 4
delay 3
- playsewithpan SE_W120, +63
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -6896,25 +6896,25 @@ Move_ANCIENT_POWER:
Move_OCTAZOOKA:
loadspritegfx ANIM_TAG_GRAY_SMOKE
loadspritegfx ANIM_TAG_BLACK_BALL
- playsewithpan SE_W025B, -64
- createsprite gUnknown_08592DFC, 130, 20, 0, 0, 0, 20, 0
+ playsewithpan SE_W025B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592DFC, ANIM_TARGET, 2, 20, 0, 0, 0, 20, 0
waitforvisualfinish
- playsewithpan SE_W120, +63
- createsprite gUnknown_08592E30, 130, 8, 8, 1, 0
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, 8, 1, 0
delay 2
- createsprite gUnknown_08592E30, 130, -8, -8, 1, 0
+ createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, -8, 1, 0
delay 2
- createsprite gUnknown_08592E30, 130, 8, -8, 1, 0
+ createsprite gUnknown_08592E30, ANIM_TARGET, 2, 8, -8, 1, 0
delay 2
- createsprite gUnknown_08592E30, 130, -8, 8, 1, 0
+ createsprite gUnknown_08592E30, ANIM_TARGET, 2, -8, 8, 1, 0
waitforvisualfinish
end
Move_MIST:
- loadspritegfx ANIM_TAG_144
+ loadspritegfx ANIM_TAG_MIST_CLOUD
monbg ANIM_ATK_PARTNER
setalpha 12, 8
- loopsewithpan SE_W054, -64, 20, 15
+ loopsewithpan SE_W054, SOUND_PAN_ATTACKER, 20, 15
call Mist1
call Mist1
call Mist1
@@ -6930,7 +6930,7 @@ Move_MIST:
end
Mist1:
- createsprite gUnknown_08595C2C, 2, 0, -24, 48, 240, 0, 1
+ createsprite gUnknown_08595C2C, ANIM_ATTACKER, 2, 0, -24, 48, 240, 0, 1
delay 7
return
@@ -6945,24 +6945,24 @@ Move_HAZE:
end
Move_FIRE_PUNCH:
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
loadspritegfx ANIM_TAG_SMALL_EMBER
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask sub_8116620, 10, 4, 2, 0, 9, RGB_RED
- createsprite gUnknown_08595368, 0x81, 0
- createsprite gUnknown_08595368, 0x81, 64
- createsprite gUnknown_08595368, 0x81, 128
- createsprite gUnknown_08595368, 0x81, 196
- playsewithpan SE_W172, +63
- waitforvisualfinish
- createsprite gFistFootSpriteTemplate, 131, 0, 0, 8, 1, 0
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 1
+ createsprite gUnknown_08595368, ANIM_TARGET, 1, 0
+ createsprite gUnknown_08595368, ANIM_TARGET, 1, 64
+ createsprite gUnknown_08595368, ANIM_TARGET, 1, 128
+ createsprite gUnknown_08595368, ANIM_TARGET, 1, 196
+ playsewithpan SE_W172, SOUND_PAN_TARGET
+ waitforvisualfinish
+ createsprite gFistFootSpriteTemplate, ANIM_TARGET, 3, 0, 0, 8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1
call FireMoveEffect
delay 4
- playsewithpan SE_W007, +63
+ playsewithpan SE_W007, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_8116620, 10, 4, 0, 9, 0, RGB_RED
waitforvisualfinish
@@ -6971,22 +6971,22 @@ Move_FIRE_PUNCH:
end
FireMoveEffect:
- createsprite gUnknown_08595380, 0x81, 0, 10, 192, 176, 40
- createsprite gUnknown_08595380, 0x81, 0, 10, -192, 240, 40
- createsprite gUnknown_08595380, 0x81, 0, 10, 192, -160, 40
- createsprite gUnknown_08595380, 0x81, 0, 10, -192, -112, 40
- createsprite gUnknown_08595380, 0x81, 0, 10, 160, 48, 40
- createsprite gUnknown_08595380, 0x81, 0, 10, -224, -32, 40
- createsprite gUnknown_08595380, 0x81, 0, 10, 112, -128, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 192, 176, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, -192, 240, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 192, -160, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, -192, -112, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 160, 48, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, -224, -32, 40
+ createsprite gUnknown_08595380, ANIM_TARGET, 1, 0, 10, 112, -128, 40
return
Move_LEER:
- loadspritegfx ANIM_TAG_GLARE
+ loadspritegfx ANIM_TAG_LEER
monbg ANIM_ATTACKER
monbgprio_28 ANIM_ATTACKER
setalpha 8, 8
- playsewithpan SE_W043, -64
- createsprite gUnknown_085CE150, 2, 24, -12
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085CE150, ANIM_ATTACKER, 2, 24, -12
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1
waitforvisualfinish
delay 10
@@ -7000,14 +7000,14 @@ Move_LEER:
end
Move_DREAM_EATER:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
setalpha 8, 8
- playsewithpan SE_W107, +63
+ playsewithpan SE_W107, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1
createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1
waitforvisualfinish
@@ -7024,75 +7024,75 @@ Move_DREAM_EATER:
call UnsetPsychicBackground
end
DreamEaterEffect:
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 5, -18, -40, 35
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, 0, 5, 28, 26
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -10, 20, 40, 39
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 10, -5, -32, 26
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, 3, 10, -5, -40, 26
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, -5, 15, 36, 33
- createsprite gUnknown_08592270, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, 3, -10, 20, 20, 39
- delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, 3, 5, -18, -20, 35
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
delay 4
return
Move_POISON_GAS:
- loadspritegfx ANIM_TAG_172
+ loadspritegfx ANIM_TAG_PURPLE_GAS_CLOUD
loadspritegfx ANIM_TAG_POISON_BUBBLE
delay 0
monbg ANIM_DEF_PARTNER
monbgprio_29
setalpha 12, 8
delay 0
- playsewithpan SE_W054, -64
- createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0
+ playsewithpan SE_W054, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0
delay 4
- playsewithpan SE_W054, -64
- createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0
+ playsewithpan SE_W054, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0
delay 4
- playsewithpan SE_W054, -64
- createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0
+ playsewithpan SE_W054, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0
delay 4
- playsewithpan SE_W054, -64
- createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0
+ playsewithpan SE_W054, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0
delay 4
- playsewithpan SE_W054, -64
- createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0
+ playsewithpan SE_W054, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0
delay 4
- playsewithpan SE_W054, -64
- createsprite gUnknown_08595C9C, 128, 64, 0, 0, -32, -6, 4192, 1072, 0
+ playsewithpan SE_W054, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595C9C, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0
delay 40
- loopsewithpan SE_W054, +63, 28, 6
+ loopsewithpan SE_W054, SOUND_PAN_TARGET, 28, 6
createvisualtask sub_8115A04, 2, 4, 6, 2, 0, 12, RGB(26, 0, 26)
waitforvisualfinish
blendoff
@@ -7105,7 +7105,7 @@ Move_BIND:
goto BindWrap
BindWrap:
- playsewithpan SE_W020, +63
+ playsewithpan SE_W020, SOUND_PAN_TARGET
call BindWrap1
call BindWrap1
waitforvisualfinish
@@ -7120,10 +7120,10 @@ Move_WRAP:
goto BindWrap
Move_PSYBEAM:
- loadspritegfx ANIM_TAG_163
- playsewithpan SE_W060, -64
+ loadspritegfx ANIM_TAG_GOLD_RING
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
- createsoundtask sub_8158C58, 200, -64, 63, 3, 4, 0, 15
+ createsoundtask sub_8158C58, 200, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 3, 4, 0, 15
call Psybeam1
call Psybeam1
createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET
@@ -7142,12 +7142,12 @@ Move_PSYBEAM:
call UnsetPsychicBackground
end
Psybeam1:
- createsprite gUnknown_0859663C, 130, 16, 0, 0, 0, 13, 0
+ createsprite gUnknown_0859663C, ANIM_TARGET, 2, 16, 0, 0, 0, 13, 0
delay 4
return
Move_HYPNOSIS:
- loadspritegfx ANIM_TAG_163
+ loadspritegfx ANIM_TAG_GOLD_RING
call SetPsychicBackground
call Hypnosis1
call Hypnosis1
@@ -7158,18 +7158,18 @@ Move_HYPNOSIS:
call UnsetPsychicBackground
end
Hypnosis1:
- playsewithpan SE_W048, -64
- createsprite gUnknown_0859663C, 130, 0, 8, 0, 8, 27, 0
- createsprite gUnknown_0859663C, 130, 16, -8, 0, -8, 27, 0
+ playsewithpan SE_W048, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0859663C, ANIM_TARGET, 2, 0, 8, 0, 8, 27, 0
+ createsprite gUnknown_0859663C, ANIM_TARGET, 2, 16, -8, 0, -8, 27, 0
delay 6
return
Move_PSYWAVE:
- loadspritegfx ANIM_TAG_165
- playsewithpan SE_W060, -64
+ loadspritegfx ANIM_TAG_BLUE_RING
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
createvisualtask sub_81076C8, 5, 100
- createsoundtask sub_8158C58, 203, -64, 63, 2, 9, 0, 10
+ createsoundtask sub_8158C58, 203, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 9, 0, 10
call Psywave1
call Psywave1
createvisualtask sub_8115A04, 2, 4, 1, 4, 0, 12, RGB(31, 18, 31)
@@ -7182,72 +7182,72 @@ Move_PSYWAVE:
call UnsetPsychicBackground
end
Psywave1:
- createsprite gUnknown_08595170, 131, 10, 10, 0, 16
+ createsprite gUnknown_08595170, ANIM_TARGET, 3, 10, 10, 0, 16
delay 4
- createsprite gUnknown_08595170, 131, 10, 10, 0, 16
+ createsprite gUnknown_08595170, ANIM_TARGET, 3, 10, 10, 0, 16
delay 4
return
Move_ZAP_CANNON:
- loadspritegfx ANIM_TAG_171
+ loadspritegfx ANIM_TAG_BLACK_BALL_2
loadspritegfx ANIM_TAG_SPARK_2
- playsewithpan SE_W086, -64
- createsprite gUnknown_08595764, 131, 10, 0, 0, 0, 30, 0
- createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 0, 40, 0
- createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 64, 40, 1
- createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 128, 40, 0
- createsprite gUnknown_08595790, 132, 10, 0, 16, 30, 192, 40, 2
- createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 32, 40, 0
- createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 96, 40, 1
- createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 160, 40, 0
- createsprite gUnknown_08595790, 132, 10, 0, 8, 30, 224, 40, 2
+ playsewithpan SE_W086, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595764, ANIM_TARGET, 3, 10, 0, 0, 0, 30, 0
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 16, 30, 0, 40, 0
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 16, 30, 64, 40, 1
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 16, 30, 128, 40, 0
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 16, 30, 192, 40, 2
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 8, 30, 32, 40, 0
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 8, 30, 96, 40, 1
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 8, 30, 160, 40, 0
+ createsprite gUnknown_08595790, ANIM_TARGET, 4, 10, 0, 8, 30, 224, 40, 2
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1
delay 15
- waitplaysewithpan SE_W085B, +63, 19
+ waitplaysewithpan SE_W085B, SOUND_PAN_TARGET, 19
call ElectricityEffect
waitforvisualfinish
end
Move_STEEL_WING:
loadspritegfx ANIM_TAG_GUST
- loadspritegfx ANIM_TAG_135
- loopsewithpan SE_W231, -64, 28, 2
+ loadspritegfx ANIM_TAG_IMPACT
+ loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0
waitforvisualfinish
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- loopsewithpan SE_W017, -64, 20, 2
+ loopsewithpan SE_W017, SOUND_PAN_ATTACKER, 20, 2
createvisualtask AnimTask_TranslateMonElliptical, 2, 0, 12, 4, 1, 4
createvisualtask sub_810DED8, 5, 1, 70
- createsprite gBattleAnimSpriteTemplate_85962A4, 2, -25, 0, 0, 0, 20
- createsprite gBattleAnimSpriteTemplate_85962A4, 2, 25, 0, 0, 0, 20
+ createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, -25, 0, 0, 0, 20
+ createsprite gBattleAnimSpriteTemplate_85962A4, ANIM_ATTACKER, 2, 25, 0, 0, 0, 20
delay 24
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 9
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 9
delay 17
- createsprite gBasicHitSplatSpriteTemplate, 2, 16, 0, 1, 1
- createsprite gBasicHitSplatSpriteTemplate, 2, -16, 0, 1, 1
- playsewithpan SE_W013, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 16, 0, 1, 1
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -16, 0, 1, 1
+ playsewithpan SE_W013, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 11
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 11
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_IRON_TAIL:
- loadspritegfx ANIM_TAG_135
- loopsewithpan SE_W231, -64, 28, 2
+ loadspritegfx ANIM_TAG_IMPACT
+ loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 1, 0, 0
waitforvisualfinish
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_811489C, 5, 0, 1
clearmonbg ANIM_TARGET
@@ -7256,18 +7256,18 @@ Move_IRON_TAIL:
end
Move_POISON_TAIL:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
loadspritegfx ANIM_TAG_POISON_BUBBLE
- loopsewithpan SE_W231, -64, 28, 2
+ loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 1, 1, RGB(24, 6, 23)
waitforvisualfinish
monbg ANIM_TARGET
setalpha 12, 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_811489C, 5, 0, 1
clearmonbg ANIM_TARGET
@@ -7278,33 +7278,33 @@ Move_POISON_TAIL:
Move_METAL_CLAW:
loadspritegfx ANIM_TAG_CLAW_SLASH
- loopsewithpan SE_W231, -64, 28, 2
+ loopsewithpan SE_W231, SOUND_PAN_ATTACKER, 28, 2
createvisualtask sub_81144F8, 5, 0, 0, 0
waitforvisualfinish
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 2
- playsewithpan SE_W013, +63
- createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, -10, 0
- createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, 10, 0
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1
+ playsewithpan SE_W013, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, -10, 0
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, 10, 0
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1
delay 8
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 2
- playsewithpan SE_W013, +63
- createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, -10, 1
- createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, 10, 1
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1
+ playsewithpan SE_W013, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, -10, 1
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, 10, 1
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1
waitforvisualfinish
end
Move_NIGHT_SHADE:
monbg ANIM_ATTACKER
monbgprio_28 ANIM_ATTACKER
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
fadetobg BG_GHOST
waitbgfadein
delay 10
- playsewithpan SE_W043, -64
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
createvisualtask sub_811188C, 5, 85
delay 70
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1
@@ -7318,38 +7318,38 @@ Move_NIGHT_SHADE:
Move_EGG_BOMB:
loadspritegfx ANIM_TAG_EXPLOSION
- loadspritegfx ANIM_TAG_175
- playsewithpan SE_W039, -64
- createsprite gUnknown_08593488, 130, 10, 0, 0, 0, 25, -32
+ loadspritegfx ANIM_TAG_LARGE_FRESH_EGG
+ playsewithpan SE_W039, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593488, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1
- createsprite gBattleAnimSpriteTemplate_859371C, 132, 6, 5, 1, 0
- playsewithpan SE_W120, +63
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 6, 5, 1, 0
+ playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, 132, -16, -15, 1, 0
- playsewithpan SE_W120, +63
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, -16, -15, 1, 0
+ playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, 132, 16, -5, 1, 0
- playsewithpan SE_W120, +63
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 16, -5, 1, 0
+ playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, 132, -12, 18, 1, 0
- playsewithpan SE_W120, +63
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, -12, 18, 1, 0
+ playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
- createsprite gBattleAnimSpriteTemplate_859371C, 132, 0, 5, 1, 0
- playsewithpan SE_W120, +63
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 0, 5, 1, 0
+ playsewithpan SE_W120, SOUND_PAN_TARGET
delay 3
waitforvisualfinish
end
Move_SHADOW_BALL:
- loadspritegfx ANIM_TAG_176
+ loadspritegfx ANIM_TAG_SHADOW_BALL
fadetobg BG_GHOST
waitbgfadein
delay 15
- createsoundtask sub_8158C58, 168, -64, 63, 5, 5, 0, 5
- createsprite gUnknown_08596D58, 130, 16, 16, 8
+ createsoundtask sub_8158C58, 168, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 5, 0, 5
+ createsprite gUnknown_08596D58, ANIM_TARGET, 2, 16, 16, 8
waitforvisualfinish
- playsewithpan SE_W028, +63
+ playsewithpan SE_W028, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1
waitforvisualfinish
restorebg
@@ -7357,17 +7357,17 @@ Move_SHADOW_BALL:
end
Move_LICK:
- loadspritegfx ANIM_TAG_177
+ loadspritegfx ANIM_TAG_LICK
delay 15
- playsewithpan SE_W122, +63
- createsprite gUnknown_08596D8C, 130, 0, 0
+ playsewithpan SE_W122, SOUND_PAN_TARGET
+ createsprite gUnknown_08596D8C, ANIM_TARGET, 2, 0, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 16, 1
waitforvisualfinish
end
Move_FOCUS_ENERGY:
- loadspritegfx ANIM_TAG_184
- playsewithpan SE_W082, -64
+ loadspritegfx ANIM_TAG_FOCUS_ENERGY
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
call EndureEffect
delay 8
createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_WHITE
@@ -7382,35 +7382,35 @@ Move_BIDE:
choosetwoturnanim BideSetUp, BideUnleash
end
BideSetUp:
- loopsewithpan SE_W036, -64, 9, 2
+ loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 9, 2
createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1
waitforvisualfinish
end
BideUnleash:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- loopsewithpan SE_W036, -64, 9, 2
+ loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 9, 2
createvisualtask sub_8116620, 10, 2, 2, 0, 11, RGB_RED
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1
waitforvisualfinish
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 24, 0, 0, 4
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 4
waitforvisualfinish
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 12, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 16, 1
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 1, 18, -8, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 18, -8, 1, 1
delay 5
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 1, -18, 8, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, -18, 8, 1, 1
delay 5
- playsewithpan SE_W004, +63
- createsprite gBasicHitSplatSpriteTemplate, 1, -8, -5, 1, 1
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, -8, -5, 1, 1
waitforvisualfinish
delay 5
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 7
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7
waitforvisualfinish
createvisualtask sub_8116620, 10, 2, 2, 11, 0, RGB_RED
waitforvisualfinish
@@ -7419,13 +7419,13 @@ BideUnleash:
end
Move_STRING_SHOT:
- loadspritegfx ANIM_TAG_179
+ loadspritegfx ANIM_TAG_STRING
loadspritegfx ANIM_TAG_WEB_THREAD
monbg ANIM_DEF_PARTNER
delay 0
- createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 0, 9, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 0, 9, RGB_BLACK
waitforvisualfinish
- loopsewithpan SE_W081, -64, 9, 6
+ loopsewithpan SE_W081, SOUND_PAN_ATTACKER, 9, 6
call StringShot1
call StringShot1
call StringShot1
@@ -7445,21 +7445,21 @@ Move_STRING_SHOT:
call StringShot1
call StringShot1
waitforvisualfinish
- playsewithpan SE_W081B, +63
- createsprite gUnknown_085969F8, 130, 0, 10
+ playsewithpan SE_W081B, SOUND_PAN_TARGET
+ createsprite gUnknown_085969F8, ANIM_TARGET, 2, 0, 10
delay 4
- createsprite gUnknown_085969F8, 130, 0, -2
+ createsprite gUnknown_085969F8, ANIM_TARGET, 2, 0, -2
delay 4
- createsprite gUnknown_085969F8, 130, 0, 22
+ createsprite gUnknown_085969F8, ANIM_TARGET, 2, 0, 22
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
delay 1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 9, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 9, 0, RGB_BLACK
end
StringShot1:
- createsprite gUnknown_085969E0, 130, 20, 0, 512, 20, 1
+ createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 1
delay 1
return
@@ -7468,10 +7468,10 @@ Move_SPIDER_WEB:
loadspritegfx ANIM_TAG_WEB_THREAD
monbg ANIM_DEF_PARTNER
delay 0
- createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 0, 9, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 0, 9, RGB_BLACK
waitforvisualfinish
monbgprio_28 ANIM_TARGET
- loopsewithpan SE_W081, -64, 9, 6
+ loopsewithpan SE_W081, SOUND_PAN_ATTACKER, 9, 6
call SpiderWeb1
call SpiderWeb1
call SpiderWeb1
@@ -7487,16 +7487,16 @@ Move_SPIDER_WEB:
call SpiderWeb1
call SpiderWeb1
waitforvisualfinish
- playsewithpan SE_W081B, +63
- createsprite gUnknown_08596A2C, 2
+ playsewithpan SE_W081B, SOUND_PAN_TARGET
+ createsprite gUnknown_08596A2C, ANIM_ATTACKER, 2
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 5, 1, 2, 9, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 9, 0, RGB_BLACK
end
SpiderWeb1:
- createsprite gUnknown_085969E0, 130, 20, 0, 512, 20, 0
+ createsprite gUnknown_085969E0, ANIM_TARGET, 2, 20, 0, 512, 20, 0
delay 1
return
@@ -7508,29 +7508,29 @@ RazorWindContinue:
RazorWindSetUp:
loadspritegfx ANIM_TAG_GUST
- playsewithpan SE_W016, -64
- createsprite gUnknown_08593550, 2, 32, 0, 16, 16, 0, 7, 40
- createsprite gUnknown_08593550, 2, 32, 0, 16, 16, 85, 7, 40
- createsprite gUnknown_08593550, 2, 32, 0, 16, 16, 170, 7, 40
+ playsewithpan SE_W016, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593550, ANIM_ATTACKER, 2, 32, 0, 16, 16, 0, 7, 40
+ createsprite gUnknown_08593550, ANIM_ATTACKER, 2, 32, 0, 16, 16, 85, 7, 40
+ createsprite gUnknown_08593550, ANIM_ATTACKER, 2, 32, 0, 16, 16, 170, 7, 40
waitforvisualfinish
- playsewithpan SE_W016B, -64
+ playsewithpan SE_W016B, SOUND_PAN_ATTACKER
goto RazorWindContinue
RazorWindUnleash:
- loadspritegfx ANIM_TAG_154
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_AIR_WAVE_2
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W013B, -64
- createsprite gUnknown_085962D4, 2, 14, 8, 0, 0, 22, 2, 1
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, 8, 0, 0, 22, 2, 1
delay 2
- playsewithpan SE_W013B, -64
- createsprite gUnknown_085962D4, 2, 14, -8, 16, 14, 22, 1, 1
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, -8, 16, 14, 22, 1, 1
delay 2
- playsewithpan SE_W013B, -64
- createsprite gUnknown_085962D4, 2, 14, 12, -16, -14, 22, 0, 1
+ playsewithpan SE_W013B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085962D4, ANIM_ATTACKER, 2, 14, 12, -16, -14, 22, 0, 1
delay 17
- playsewithpan SE_W013, +63
+ playsewithpan SE_W013, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 10, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 10, 1
waitforvisualfinish
@@ -7539,15 +7539,15 @@ RazorWindUnleash:
goto RazorWindContinue
Move_DISABLE:
- loadspritegfx ANIM_TAG_071
+ loadspritegfx ANIM_TAG_SPARKLE_4
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 8, 8
- playsewithpan SE_W197, -64
- createsprite gUnknown_0853EE84, 13, 24, -16
+ playsewithpan SE_W197, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0853EE84, ANIM_ATTACKER, 13, 24, -16
waitforvisualfinish
createvisualtask sub_81045B0, 5
- loopsewithpan SE_W020, +63, 15, 4
+ loopsewithpan SE_W020, SOUND_PAN_TARGET, 15, 4
waitforvisualfinish
delay 1
clearmonbg ANIM_TARGET
@@ -7555,11 +7555,11 @@ Move_DISABLE:
end
Move_RECOVER:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
monbg ANIM_ATK_PARTNER
setalpha 12, 8
- loopsewithpan SE_W025, -64, 13, 3
+ loopsewithpan SE_W025, SOUND_PAN_ATTACKER, 13, 3
createvisualtask sub_8115A04, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11)
call Recover1
call Recover1
@@ -7573,35 +7573,35 @@ Move_RECOVER:
end
Recover1:
- createsprite gUnknown_085921E0, 2, 40, -10, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, -10, 13
delay 3
- createsprite gUnknown_085921E0, 2, -35, -10, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -35, -10, 13
delay 3
- createsprite gUnknown_085921E0, 2, 15, -40, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 15, -40, 13
delay 3
- createsprite gUnknown_085921E0, 2, -10, -32, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -10, -32, 13
delay 3
- createsprite gUnknown_085921E0, 2, 25, -20, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 25, -20, 13
delay 3
- createsprite gUnknown_085921E0, 2, -40, -20, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -20, 13
delay 3
- createsprite gUnknown_085921E0, 2, 5, -40, 13
+ createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 5, -40, 13
delay 3
return
Move_MIMIC:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
setalpha 11, 5
monbg_22 ANIM_DEF_PARTNER
monbgprio_29
- panse_1B SE_W107, +63, -64, -3, 0
+ panse_1B SE_W107, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0
createvisualtask sub_80FF458, 5, 128, 24
delay 15
- createsprite gUnknown_085924DC, 130, -12, 24
+ createsprite gUnknown_085924DC, ANIM_TARGET, 2, -12, 24
delay 10
setarg 7, -1
waitforvisualfinish
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 2, 0, 2, 0, 11, RGB_WHITE
waitforvisualfinish
clearmonbg_23 ANIM_DEF_PARTNER
@@ -7609,18 +7609,18 @@ Move_MIMIC:
end
Move_CONSTRICT:
- loadspritegfx ANIM_TAG_186
- loopsewithpan SE_W010, +63, 6, 4
- createsprite gUnknown_08592494, 132, 0, 16, 0, 2
+ loadspritegfx ANIM_TAG_TENDRILS
+ loopsewithpan SE_W010, SOUND_PAN_TARGET, 6, 4
+ createsprite gUnknown_08592494, ANIM_TARGET, 4, 0, 16, 0, 2
delay 7
- createsprite gUnknown_08592494, 131, 0, 0, 0, 2
- createsprite gUnknown_08592494, 130, 0, 8, 1, 2
+ createsprite gUnknown_08592494, ANIM_TARGET, 3, 0, 0, 0, 2
+ createsprite gUnknown_08592494, ANIM_TARGET, 2, 0, 8, 1, 2
delay 7
- createsprite gUnknown_08592494, 131, 0, -8, 1, 2
+ createsprite gUnknown_08592494, ANIM_TARGET, 3, 0, -8, 1, 2
delay 8
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1
delay 20
- playsewithpan SE_W020, +63
+ playsewithpan SE_W020, SOUND_PAN_TARGET
setarg 7, -1
waitforvisualfinish
end
@@ -7629,12 +7629,12 @@ Move_CURSE:
choosetwoturnanim CurseGhost, CurseStats
CurseGhost:
loadspritegfx ANIM_TAG_NAIL
- loadspritegfx ANIM_TAG_200
+ loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT
monbg ANIM_ATK_PARTNER
createvisualtask sub_8112758, 5
waitforvisualfinish
delay 20
- createsprite gUnknown_08596DD0, 2
+ createsprite gUnknown_08596DD0, ANIM_ATTACKER, 2
delay 60
call CurseGhost1
delay 41
@@ -7645,17 +7645,17 @@ CurseGhost:
clearmonbg ANIM_ATK_PARTNER
delay 1
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W171, +63
- createsprite gBattleAnimSpriteTemplate_8596DE8, 130
+ playsewithpan SE_W171, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8596DE8, ANIM_TARGET, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 16, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
CurseGhost1:
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 4, 0, 10, 0
- playsewithpan SE_W020, -64
+ playsewithpan SE_W020, SOUND_PAN_ATTACKER
return
CurseStats:
createvisualtask AnimTask_SwayMon, 5, 0, 10, 1536, 3, ANIM_ATTACKER
@@ -7665,27 +7665,27 @@ CurseStats:
waitforvisualfinish
end
CurseStats1:
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
createvisualtask sub_8116B14, 5
createvisualtask sub_8115A04, 5, 2, 4, 2, 0, 10, RGB_RED
return
Move_SOFT_BOILED:
loadspritegfx ANIM_TAG_BREAKING_EGG
- loadspritegfx ANIM_TAG_203
+ loadspritegfx ANIM_TAG_THIN_RING
loadspritegfx ANIM_TAG_BLUE_STAR
monbg ANIM_ATK_PARTNER
- playsewithpan SE_W039, -64
+ playsewithpan SE_W039, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 2, 6, 1
- createsprite gUnknown_085937B0, 4, 0, 16, 0
- createsprite gUnknown_085937B0, 4, 0, 16, 1
+ createsprite gUnknown_085937B0, ANIM_ATTACKER, 4, 0, 16, 0
+ createsprite gUnknown_085937B0, ANIM_ATTACKER, 4, 0, 16, 1
delay 120
delay 7
- playsewithpan SE_W030, -64
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 3, 10, 0, RGB(12, 24, 30)
- createsprite gUnknown_0859381C, 3, 31, 16, 0, 1
+ playsewithpan SE_W030, SOUND_PAN_ATTACKER
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 10, 0, RGB(12, 24, 30)
+ createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 31, 16, 0, 1
delay 8
- createsprite gUnknown_0859381C, 3, 31, 16, 0, 1
+ createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 31, 16, 0, 1
delay 60
setarg 7, -1
waitforvisualfinish
@@ -7695,158 +7695,158 @@ Move_SOFT_BOILED:
Move_HEAL_BELL:
loadspritegfx ANIM_TAG_BELL
- loadspritegfx ANIM_TAG_MUSIC_NOTES
- loadspritegfx ANIM_TAG_203
+ loadspritegfx ANIM_TAG_MUSIC_NOTES_2
+ loadspritegfx ANIM_TAG_THIN_RING
createvisualtask sub_8116620, 10, 10, 0, 0, 10, RGB_WHITE
waitforvisualfinish
createvisualtask sub_8105CB4, 5
- createsprite gUnknown_08593938, 2, 0, -24, 0, 1
+ createsprite gUnknown_08593938, ANIM_ATTACKER, 2, 0, -24, 0, 1
delay 12
- createsprite gUnknown_08593958, 40, 0, -24, 48, -18, 35, 0, 0
- createsprite gUnknown_08593958, 40, 0, -24, -48, 20, 30, 1, 1
- createsprite gUnknown_08593958, 40, 0, -24, -38, -29, 30, 2, 2
- createsprite gUnknown_08593958, 40, 0, -24, 36, 18, 30, 3, 3
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 48, -18, 35, 0, 0
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -48, 20, 30, 1, 1
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -38, -29, 30, 2, 2
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 36, 18, 30, 3, 3
call HealBell1
delay 0x21
- createsprite gUnknown_08593958, 40, 0, -24, 19, 26, 35, 4, 4
- createsprite gUnknown_08593958, 40, 0, -24, -34, -12, 30, 5, 5
- createsprite gUnknown_08593958, 40, 0, -24, 41, -20, 34, 6, 2
- createsprite gUnknown_08593958, 40, 0, -24, -15, 26, 32, 7, 0
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 19, 26, 35, 4, 4
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -34, -12, 30, 5, 5
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 41, -20, 34, 6, 2
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -15, 26, 32, 7, 0
call HealBell1
delay 0x21
- createsprite gUnknown_08593958, 40, 0, -24, -48, 18, 31, 0, 2
- createsprite gUnknown_08593958, 40, 0, -24, 48, -20, 30, 2, 5
- createsprite gUnknown_08593958, 40, 0, -24, 38, 29, 33, 4, 3
- createsprite gUnknown_08593958, 40, 0, -24, -36, -18, 30, 6, 1
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -48, 18, 31, 0, 2
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 48, -20, 30, 2, 5
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, 38, 29, 33, 4, 3
+ createsprite gUnknown_08593958, ANIM_ATTACKER, 40, 0, -24, -36, -18, 30, 6, 1
call HealBell1
waitforvisualfinish
createvisualtask sub_8105D60, 5
waitforvisualfinish
unloadspritegfx ANIM_TAG_BELL
- unloadspritegfx ANIM_TAG_MUSIC_NOTES
- unloadspritegfx ANIM_TAG_203
- loadspritegfx ANIM_TAG_SPARKLE
- playsewithpan SE_W234, -64
- createsprite gUnknown_08592B94, 16, -15, 0, 0, 0, 32, 60, 1
+ unloadspritegfx ANIM_TAG_MUSIC_NOTES_2
+ unloadspritegfx ANIM_TAG_THIN_RING
+ loadspritegfx ANIM_TAG_SPARKLE_2
+ playsewithpan SE_W234, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, -15, 0, 0, 0, 32, 60, 1
delay 8
- createsprite gUnknown_08592B94, 16, 12, -5, 0, 0, 32, 60, 1
+ createsprite gUnknown_08592B94, ANIM_ATTACKER, 16, 12, -5, 0, 0, 32, 60, 1
waitforvisualfinish
- unloadspritegfx ANIM_TAG_SPARKLE
- loadspritegfx ANIM_TAG_203
- playsewithpan SE_REAPOKE, -64
+ unloadspritegfx ANIM_TAG_SPARKLE_2
+ loadspritegfx ANIM_TAG_THIN_RING
+ playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
createvisualtask sub_8116664, 10, 4, 3, 10, 0, RGB(12, 24, 30)
createvisualtask sub_8116620, 10, 10, 3, 10, 0, RGB_WHITE
- createsprite gUnknown_08593868, 16, 0, 0, 0, 1
+ createsprite gUnknown_08593868, ANIM_ATTACKER, 16, 0, 0, 0, 1
end
HealBell1:
createvisualtask sub_8116664, 10, 4, 3, 8, 0, RGB(12, 24, 30)
createvisualtask sub_8116620, 10, 10, 3, 2, 10, RGB_WHITE
- createsprite gUnknown_0859381C, 40, 0, -24, 0, 1
- playsewithpan SE_W215, -64
+ createsprite gUnknown_0859381C, ANIM_ATTACKER, 40, 0, -24, 0, 1
+ playsewithpan SE_W215, SOUND_PAN_ATTACKER
return
Move_FAKE_OUT:
playsewithpan SE_W260, 0
createvisualtask sub_8105EB0, 5
waitforvisualfinish
- playsewithpan SE_W166, +63
+ playsewithpan SE_W166, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1
createvisualtask sub_8106020, 3
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 16, 0, RGB_WHITE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_WHITE
end
Move_SCARY_FACE:
- loadspritegfx ANIM_TAG_218
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 27, 3, 0, 16, RGB_BLACK
- playsewithpan SE_W060, -64
+ loadspritegfx ANIM_TAG_EYE_SPARKLE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 27, 3, 0, 16, RGB_BLACK
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 10
- playsewithpan SE_W043, -64
+ playsewithpan SE_W043, SOUND_PAN_ATTACKER
createvisualtask sub_81064F8, 5
delay 13
- createsprite gUnknown_08593A84, 0, -16, -8
- createsprite gUnknown_08593A84, 0, 16, -8
+ createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, -16, -8
+ createsprite gUnknown_08593A84, ANIM_ATTACKER, 0, 16, -8
waitforvisualfinish
createvisualtask sub_810A094, 3, 20, 1, 0
- playsewithpan SE_W081B, +63
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 27, 3, 16, 0, RGB_BLACK
+ playsewithpan SE_W081B, SOUND_PAN_TARGET
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 27, 3, 16, 0, RGB_BLACK
waitforvisualfinish
end
Move_SWEET_KISS:
- loadspritegfx ANIM_TAG_216
+ loadspritegfx ANIM_TAG_RED_HEART
loadspritegfx ANIM_TAG_ANGEL
- createsprite gUnknown_08593AA8, 130, 16, -48
- playsewithpan SE_W215, +63
+ createsprite gUnknown_08593AA8, ANIM_TARGET, 2, 16, -48
+ playsewithpan SE_W215, SOUND_PAN_TARGET
delay 23
- playsewithpan SE_W215, +63
+ playsewithpan SE_W215, SOUND_PAN_TARGET
delay 23
- playsewithpan SE_W215, +63
+ playsewithpan SE_W215, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, 160, -30
- playsewithpan SE_W213, +63
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, -256, -42
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, 128, -14
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, 416, -38
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, -128, -22
- createsprite gBattleAnimSpriteTemplate_85939B8, 131, -384, -31
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 160, -30
+ playsewithpan SE_W213, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -256, -42
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 128, -14
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, 416, -38
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -128, -22
+ createsprite gBattleAnimSpriteTemplate_85939B8, ANIM_TARGET, 3, -384, -31
end
Move_LOVELY_KISS:
- loadspritegfx ANIM_TAG_219
- loadspritegfx ANIM_TAG_EVIL_ANGEL
- createsprite gUnknown_08593AF0, 130, 0, -24
- playsewithpan SE_W060B, +63
+ loadspritegfx ANIM_TAG_PINK_HEART
+ loadspritegfx ANIM_TAG_DEVIL
+ createsprite gUnknown_08593AF0, ANIM_TARGET, 2, 0, -24
+ playsewithpan SE_W060B, SOUND_PAN_TARGET
waitforvisualfinish
- playsewithpan SE_W213, +63
- createsprite gUnknown_08593AC0, 131, -256, -42
- createsprite gUnknown_08593AC0, 131, 128, -14
- createsprite gUnknown_08593AC0, 131, 416, -38
- createsprite gUnknown_08593AC0, 131, -128, -22
+ playsewithpan SE_W213, SOUND_PAN_TARGET
+ createsprite gUnknown_08593AC0, ANIM_TARGET, 3, -256, -42
+ createsprite gUnknown_08593AC0, ANIM_TARGET, 3, 128, -14
+ createsprite gUnknown_08593AC0, ANIM_TARGET, 3, 416, -38
+ createsprite gUnknown_08593AC0, ANIM_TARGET, 3, -128, -22
end
Move_FURY_SWIPES:
- loadspritegfx ANIM_TAG_222
- createsprite gHorizontalLungeSpriteTemplate, 2, 5, 5
+ loadspritegfx ANIM_TAG_SWIPE
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 5
delay 4
- playsewithpan SE_W010, +63
- createsprite gUnknown_08593B38, 130, 16, 0, 1
+ playsewithpan SE_W010, SOUND_PAN_TARGET
+ createsprite gUnknown_08593B38, ANIM_TARGET, 2, 16, 0, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 5, 1
delay 10
- createsprite gHorizontalLungeSpriteTemplate, 130, 5, 5
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_TARGET, 2, 5, 5
delay 4
- playsewithpan SE_W010, +63
- createsprite gUnknown_08593B38, 130, -16, 0, 0
+ playsewithpan SE_W010, SOUND_PAN_TARGET
+ createsprite gUnknown_08593B38, ANIM_TARGET, 2, -16, 0, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1
end
Move_INGRAIN:
- loadspritegfx ANIM_TAG_223
- loadspritegfx ANIM_TAG_147
- createsprite gUnknown_0859254C, 2, 16, 26, -1, 2, 150
- playsewithpan SE_W010, -64
+ loadspritegfx ANIM_TAG_ROOTS
+ loadspritegfx ANIM_TAG_ORBS
+ createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150
+ playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_0859254C, 2, -32, 20, 1, 1, 140
- playsewithpan SE_W010, -64
+ createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, -32, 20, 1, 1, 140
+ playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_0859254C, 2, 32, 22, 1, 0, 130
- playsewithpan SE_W010, -64
+ createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, 32, 22, 1, 0, 130
+ playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_0859254C, 2, -16, 25, -1, 3, 120
- playsewithpan SE_W010, -64
+ createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, -16, 25, -1, 3, 120
+ playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 40
- createsprite gUnknown_0859258C, 3, 32, 26, -1, 3, 30
+ createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, 32, 26, -1, 3, 30
delay 5
- playsewithpan SE_W145C, -64
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_0859258C, 3, -48, 20, 1, 2, 30
- playsewithpan SE_W145C, -64
+ createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, -48, 20, 1, 2, 30
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- playsewithpan SE_W145C, -64
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_0859258C, 3, 48, 26, -2, 3, 18
- playsewithpan SE_W145C, -64
+ createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, 48, 26, -2, 3, 18
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 10
waitforvisualfinish
end
@@ -7854,14 +7854,14 @@ Move_INGRAIN:
Move_PRESENT:
loadspritegfx ANIM_TAG_ITEM_BAG
createvisualtask AnimTask_IsHealingMove, 2
- createsprite gUnknown_08592610, 130, 0, -5, 10, 2, -1
- playsewithpan SE_W039, -64
+ createsprite gUnknown_08592610, ANIM_TARGET, 2, 0, -5, 10, 2, -1
+ playsewithpan SE_W039, SOUND_PAN_ATTACKER
delay 14
- playsewithpan SE_W145B, -64
+ playsewithpan SE_W145B, SOUND_PAN_ATTACKER
delay 14
playsewithpan SE_W145B, 0
delay 20
- playsewithpan SE_W145B, +63
+ playsewithpan SE_W145B, SOUND_PAN_TARGET
waitforvisualfinish
jumpretfalse PresentDamage
jumprettrue PresentHeal
@@ -7869,84 +7869,84 @@ Move_PRESENT:
PresentDamage:
loadspritegfx ANIM_TAG_EXPLOSION
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 131, 0, 0, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 0, 0, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 131, 24, -24, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 24, -24, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 131, -16, 16, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, -16, 16, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 131, -24, -12, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, -24, -12, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 131, 16, 16, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 3, 16, 16, 1, 1
end
PresentHeal:
loadspritegfx ANIM_TAG_GREEN_SPARKLE
loadspritegfx ANIM_TAG_BLUE_STAR
- playsewithpan SE_W234, +63
- createsprite gUnknown_08592658, 132, -16, 32, -3, 1
+ playsewithpan SE_W234, SOUND_PAN_TARGET
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, -16, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, 16, 32, -3, -1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, 16, 32, -3, -1
delay 3
- createsprite gUnknown_08592658, 132, 32, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, 32, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, -32, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, -32, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, 0, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, 0, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, -8, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, -8, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, -8, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, -8, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, 24, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, 24, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, 132, -24, 32, -3, 1
+ createsprite gUnknown_08592658, ANIM_TARGET, 4, -24, 32, -3, 1
waitforvisualfinish
waitsound
call HealingEffect2
end
Move_BATON_PASS:
- loadspritegfx ANIM_TAG_226
- playsewithpan SE_W226, -64
+ loadspritegfx ANIM_TAG_POKEBALL
+ playsewithpan SE_W226, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 31, 1, 2, 0, 11, RGB(31, 22, 30)
- createsprite gUnknown_085CE370, 2
+ createsprite gUnknown_085CE370, ANIM_ATTACKER, 2
end
Move_PERISH_SONG:
- loadspritegfx ANIM_TAG_MUSIC_NOTES
- createsprite gUnknown_08593C0C, 4, 0, 0, 0
- createsprite gUnknown_08593C0C, 4, 1, 1, 16
- createsprite gUnknown_08593C0C, 4, 2, 1, 32
- createsprite gUnknown_08593C0C, 4, 3, 2, 48
- createsprite gUnknown_08593C0C, 4, 4, 2, 64
- createsprite gUnknown_08593C0C, 4, 5, 0, 80
- createsprite gUnknown_08593C0C, 4, 6, 0, 96
- createsprite gUnknown_08593C0C, 4, 7, 1, 112
- createsprite gUnknown_08593C0C, 4, 8, 2, 128
- createsprite gUnknown_08593C0C, 4, 9, 0, 144
- createsprite gUnknown_08593C0C, 4, 10, 2, 160
- createsprite gUnknown_08593C0C, 4, 11, 0, 176
- createsprite gUnknown_08593C0C, 4, 12, 1, 192
- createsprite gUnknown_08593C0C, 4, 13, 3, 208
- createsprite gUnknown_08593C0C, 4, 14, 3, 224
- createsprite gUnknown_08593C0C, 4, 15, 0, 240
- createsprite gUnknown_08593C24, 4, 15, 0, 0
+ loadspritegfx ANIM_TAG_MUSIC_NOTES_2
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 0, 0, 0
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 1, 1, 16
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 2, 1, 32
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 3, 2, 48
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 4, 2, 64
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 5, 0, 80
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 6, 0, 96
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 7, 1, 112
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 8, 2, 128
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 9, 0, 144
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 10, 2, 160
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 11, 0, 176
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 12, 1, 192
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 13, 3, 208
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 14, 3, 224
+ createsprite gUnknown_08593C0C, ANIM_ATTACKER, 4, 15, 0, 240
+ createsprite gUnknown_08593C24, ANIM_ATTACKER, 4, 15, 0, 0
delay 20
- panse_1B SE_W195, -64, +63, +2, 0
+ panse_1B SE_W195, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
delay 80
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_BLACK
createvisualtask sub_811489C, 5, 4, 0
createvisualtask sub_811489C, 5, 5, 0
createvisualtask sub_811489C, 5, 6, 0
createvisualtask sub_811489C, 5, 7, 0
delay 100
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_BLACK
createvisualtask sub_811489C, 5, 4, 1
createvisualtask sub_811489C, 5, 5, 1
createvisualtask sub_811489C, 5, 6, 1
@@ -7958,32 +7958,32 @@ Move_SLEEP_TALK:
loadspritegfx ANIM_TAG_LETTER_Z
createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, ANIM_ATTACKER
delay 20
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -1
- playsewithpan SE_W173, -64
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1
+ playsewithpan SE_W173, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -1
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1
delay 6
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -1
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -1
delay 20
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -5
- playsewithpan SE_W173, -64
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5
+ playsewithpan SE_W173, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -5
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5
delay 6
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -5
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -5
delay 20
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -3
- playsewithpan SE_W173, -64
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3
+ playsewithpan SE_W173, SOUND_PAN_ATTACKER
delay 6
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -3
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3
delay 6
- createsprite gUnknown_085CE190, 130, 0, 20, 5, -3
+ createsprite gUnknown_085CE190, ANIM_TARGET, 2, 0, 20, 5, -3
waitforvisualfinish
end
Move_HYPER_FANG:
- loadspritegfx ANIM_TAG_192
- playsewithpan SE_W044, +63
+ loadspritegfx ANIM_TAG_FANG_ATTACK
+ playsewithpan SE_W044, SOUND_PAN_TARGET
delay 1
delay 2
createvisualtask AnimTask_IsContest, 2
@@ -7993,10 +7993,10 @@ Move_HYPER_FANG:
goto HyperFangOnPlayer
HyperFangContinue:
waitbgfadeout
- createsprite gUnknown_085CE1DC, 130
+ createsprite gUnknown_085CE1DC, ANIM_TARGET, 2
waitbgfadein
createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 0, 10, 10, 1
- playsewithpan SE_W043, +63
+ playsewithpan SE_W043, SOUND_PAN_TARGET
delay 20
restorebg
waitbgfadein
@@ -8014,97 +8014,97 @@ HyperFangInContest:
Move_TRI_ATTACK:
loadspritegfx ANIM_TAG_TRI_FORCE_TRIANGLE
- createsprite gUnknown_085CE2F8, 130, 16, 0
- playsewithpan SE_W161, -64
+ createsprite gUnknown_085CE2F8, ANIM_TARGET, 2, 16, 0
+ playsewithpan SE_W161, SOUND_PAN_ATTACKER
delay 20
- playsewithpan SE_W161, -64
+ playsewithpan SE_W161, SOUND_PAN_ATTACKER
delay 20
- createsoundtask sub_8158C58, 220, -64, 63, 5, 6, 0, 7
+ createsoundtask sub_8158C58, 220, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 5, 6, 0, 7
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 16, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 16, RGB_BLACK
delay 16
loadspritegfx ANIM_TAG_FIRE
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 0
- playsewithpan SE_W172B, +63
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 0, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, 0
+ playsewithpan SE_W172B, SOUND_PAN_TARGET
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 0, 1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, -1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, -1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 2, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 2, 1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 1, -1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, -1, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, -1, 1
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 1, -2
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 1, -2
delay 1
- createsprite gUnknown_08595410, 130, 0, 0, 30, 30, 3, 1
+ createsprite gUnknown_08595410, ANIM_TARGET, 2, 0, 0, 30, 30, 3, 1
delay 2
createvisualtask sub_810A094, 2, 20, 3, 1, 1
waitforvisualfinish
loadspritegfx ANIM_TAG_LIGHTNING
createvisualtask sub_8115F10, 2, 257, 257, 257
- playsewithpan SE_W161B, +63
- createsprite gUnknown_085956C0, 130, 0, -48
+ playsewithpan SE_W161B, SOUND_PAN_TARGET
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -48
delay 1
- createsprite gUnknown_085956C0, 130, 0, -16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, -16
delay 1
- createsprite gUnknown_085956C0, 130, 0, 16
+ createsprite gUnknown_085956C0, ANIM_TARGET, 2, 0, 16
delay 20
createvisualtask sub_810A094, 2, 20, 3, 1, 0
delay 2
createvisualtask sub_8115F10, 2, 257, 257, 257
waitforvisualfinish
- loadspritegfx ANIM_TAG_141
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
call FreezeEffect1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 16, 0, RGB_BLACK
waitforvisualfinish
end
Move_WILL_O_WISP:
- loadspritegfx ANIM_TAG_232
- loadspritegfx ANIM_TAG_231
+ loadspritegfx ANIM_TAG_WISP_FIRE
+ loadspritegfx ANIM_TAG_WISP_ORB
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
- playsewithpan SE_W052, -64
- waitplaysewithpan SE_W052, -64, 10
- createvisualtask sub_8159278, 2, -64, -64, 1, 0
- createsprite gUnknown_0859563C, 2, 0, 0, 0
+ playsewithpan SE_W052, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W052, SOUND_PAN_ATTACKER, 10
+ createvisualtask sub_8159278, 2, SOUND_PAN_ATTACKER, SOUND_PAN_ATTACKER, 1, 0
+ createsprite gUnknown_0859563C, ANIM_ATTACKER, 2, 0, 0, 0
delay 3
- createsprite gUnknown_0859563C, 3, 0, 0, 1
+ createsprite gUnknown_0859563C, ANIM_ATTACKER, 3, 0, 0, 1
delay 3
- createsprite gUnknown_0859563C, 4, 0, 0, 2
+ createsprite gUnknown_0859563C, ANIM_ATTACKER, 4, 0, 0, 2
delay 3
- createsprite gUnknown_0859563C, 4, 0, 0, 3
+ createsprite gUnknown_0859563C, ANIM_ATTACKER, 4, 0, 0, 3
delay 40
- createvisualtask sub_8159278, 2, -64, 63, 2, 0
+ createvisualtask sub_8159278, 2, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0
waitforvisualfinish
monbgprio_29
- playsewithpan SE_W172B, +63
+ playsewithpan SE_W172B, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 13, 1
- createsprite gUnknown_0859566C, 2, 0
- createsprite gUnknown_0859566C, 2, 42
- createsprite gUnknown_0859566C, 2, 84
- createsprite gUnknown_0859566C, 2, 126
- createsprite gUnknown_0859566C, 2, 168
- createsprite gUnknown_0859566C, 2, 210
+ createsprite gUnknown_0859566C, ANIM_ATTACKER, 2, 0
+ createsprite gUnknown_0859566C, ANIM_ATTACKER, 2, 42
+ createsprite gUnknown_0859566C, ANIM_ATTACKER, 2, 84
+ createsprite gUnknown_0859566C, ANIM_ATTACKER, 2, 126
+ createsprite gUnknown_0859566C, ANIM_ATTACKER, 2, 168
+ createsprite gUnknown_0859566C, ANIM_ATTACKER, 2, 210
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Move_ENCORE:
- loadspritegfx ANIM_TAG_227
- loadspritegfx ANIM_TAG_HAND
+ loadspritegfx ANIM_TAG_SPOTLIGHT
+ loadspritegfx ANIM_TAG_TAG_HAND
createvisualtask sub_815ABEC, 2
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
waitforvisualfinish
- createsprite gUnknown_085CE22C, 130, 0, -8
- createsprite gUnknown_085CE244, 2, -2, 0, 0, 0, 9
- createsprite gUnknown_085CE244, 2, 2, 0, 1, 0, 9
- createsprite gUnknown_085CE25C, 3, -2, 0, 0, 0, 9
- createsprite gUnknown_085CE25C, 3, 2, 0, 1, 0, 9
+ createsprite gUnknown_085CE22C, ANIM_TARGET, 2, 0, -8
+ createsprite gUnknown_085CE244, ANIM_ATTACKER, 2, -2, 0, 0, 0, 9
+ createsprite gUnknown_085CE244, ANIM_ATTACKER, 2, 2, 0, 1, 0, 9
+ createsprite gUnknown_085CE25C, ANIM_ATTACKER, 3, -2, 0, 0, 0, 9
+ createsprite gUnknown_085CE25C, ANIM_ATTACKER, 3, 2, 0, 1, 0, 9
delay 16
- createvisualtask sub_8159244, 5, 223, 63
+ createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET
createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 5, ANIM_TARGET
waitforvisualfinish
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
@@ -8114,9 +8114,9 @@ Move_ENCORE:
Move_TRICK:
loadspritegfx ANIM_TAG_ITEM_BAG
- loadspritegfx ANIM_TAG_207
- createsprite gUnknown_085926E8, 2, -40, 80
- createsprite gUnknown_085926E8, 2, -40, 208
+ loadspritegfx ANIM_TAG_SPEED_DUST
+ createsprite gUnknown_085926E8, ANIM_ATTACKER, 2, -40, 80
+ createsprite gUnknown_085926E8, ANIM_ATTACKER, 2, -40, 208
delay 16
playsewithpan SE_W166, 0
createvisualtask sub_8106020, 3
@@ -8141,105 +8141,105 @@ Move_TRICK:
end
Move_WISH:
- loadspritegfx ANIM_TAG_233
- loadspritegfx ANIM_TAG_SPARKLE
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 10, RGB_BLACK
+ loadspritegfx ANIM_TAG_GOLD_STARS
+ loadspritegfx ANIM_TAG_SPARKLE_2
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 10, RGB_BLACK
waitforvisualfinish
- panse_27 SE_W115, +63, -64, -3, 0
- createsprite gUnknown_085CE388, 40
+ panse_27 SE_W115, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0
+ createsprite gUnknown_085CE388, ANIM_ATTACKER, 40
waitforvisualfinish
delay 60
- loopsewithpan SE_W215, -64, 16, 3
+ loopsewithpan SE_W215, SOUND_PAN_ATTACKER, 16, 3
call GrantingStarsEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 10, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 10, 0, RGB_BLACK
waitforvisualfinish
end
Move_STOCKPILE:
- loadspritegfx ANIM_TAG_235
- playsewithpan SE_W025, -64
+ loadspritegfx ANIM_TAG_GRAY_ORB
+ playsewithpan SE_W025, SOUND_PAN_ATTACKER
createvisualtask sub_8115A04, 2, 2, 8, 1, 0, 12, RGB_WHITE
createvisualtask sub_815B65C, 5
call Stockpile1
call Stockpile1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 12, 0, RGB_WHITE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 12, 0, RGB_WHITE
end
Stockpile1:
- createsprite gUnknown_08592244, 2, 55, 55, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, 55, 13
delay 1
- createsprite gUnknown_08592244, 2, -55, -55, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, -55, 13
delay 1
- createsprite gUnknown_08592244, 2, 0, 55, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 0, 55, 13
delay 1
- createsprite gUnknown_08592244, 2, 0, -55, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 0, -55, 13
delay 1
- createsprite gUnknown_08592244, 2, 55, -34, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, -34, 13
delay 1
- createsprite gUnknown_08592244, 2, 55, 34, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, 34, 13
delay 1
- createsprite gUnknown_08592244, 2, -55, -34, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, -34, 13
delay 1
- createsprite gUnknown_08592244, 2, -55, 34, 13
+ createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, 34, 13
delay 1
return
Move_SPIT_UP:
- loadspritegfx ANIM_TAG_237
- loadspritegfx ANIM_TAG_135
- playsewithpan SE_W036, -64
+ loadspritegfx ANIM_TAG_RED_ORB_2
+ loadspritegfx ANIM_TAG_IMPACT
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask sub_815B6B4, 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2
delay 45
- playsewithpan SE_W255, -64
+ playsewithpan SE_W255, SOUND_PAN_ATTACKER
delay 3
- createsprite gUnknown_08593A50, 2, 0, 12
- createsprite gUnknown_08593A50, 2, 32, 12
- createsprite gUnknown_08593A50, 2, 64, 12
- createsprite gUnknown_08593A50, 2, 96, 12
- createsprite gUnknown_08593A50, 2, 128, 12
- createsprite gUnknown_08593A50, 2, 160, 12
- createsprite gUnknown_08593A50, 2, 192, 12
- createsprite gUnknown_08593A50, 2, 224, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 0, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 32, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 64, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 96, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 128, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 160, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 192, 12
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 224, 12
delay 5
jumpifmoveturn 2, SpitUpStrong
jumpifmoveturn 3, SpitUpStrongest
SpitUpContinue:
delay 5
createvisualtask sub_80D6388, 2, 0, 1, 8, 1, 0
- playsewithpan SE_W003, +63
- createsprite gUnknown_085973E8, 131, -12, 10, 1, 1
+ playsewithpan SE_W003, SOUND_PAN_TARGET
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, -12, 10, 1, 1
delay 5
- playsewithpan SE_W003, +63
- createsprite gUnknown_085973E8, 131, 12, -10, 1, 1
+ playsewithpan SE_W003, SOUND_PAN_TARGET
+ createsprite gUnknown_085973E8, ANIM_TARGET, 3, 12, -10, 1, 1
waitforvisualfinish
end
SpitUpStrong:
- createsprite gUnknown_08593A50, 2, 16
- createsprite gUnknown_08593A50, 2, 80
- createsprite gUnknown_08593A50, 2, 144
- createsprite gUnknown_08593A50, 2, 208
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 16
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 80
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 144
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 208
goto SpitUpContinue
SpitUpStrongest:
- createsprite gUnknown_08593A50, 2, 16
- createsprite gUnknown_08593A50, 2, 48
- createsprite gUnknown_08593A50, 2, 80
- createsprite gUnknown_08593A50, 2, 112
- createsprite gUnknown_08593A50, 2, 144
- createsprite gUnknown_08593A50, 2, 176
- createsprite gUnknown_08593A50, 2, 208
- createsprite gUnknown_08593A50, 2, 240
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 16
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 48
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 80
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 112
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 144
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 176
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 208
+ createsprite gUnknown_08593A50, ANIM_ATTACKER, 2, 240
goto SpitUpContinue
Move_SWALLOW:
- loadspritegfx ANIM_TAG_236
+ loadspritegfx ANIM_TAG_BLUE_ORB
loadspritegfx ANIM_TAG_BLUE_STAR
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask sub_815B778, 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 8, 2
delay 38
- playsewithpan SE_W255, -64
+ playsewithpan SE_W255, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 12, 1
call SwallowEffect
jumpifmoveturn 2, SwallowGood
@@ -8249,15 +8249,15 @@ SwallowContinue:
call HealingEffect
end
SwallowEffect:
- createsprite gUnknown_085CE418, 2, 0, -8
+ createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 0, -8
delay 1
- createsprite gUnknown_085CE418, 2, -24, -8
+ createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, -24, -8
delay 1
- createsprite gUnknown_085CE418, 2, 16, -8
+ createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 16, -8
delay 1
- createsprite gUnknown_085CE418, 2, -16, -8
+ createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, -16, -8
delay 1
- createsprite gUnknown_085CE418, 2, 24, -8
+ createsprite gUnknown_085CE418, ANIM_ATTACKER, 2, 24, -8
delay 1
return
SwallowGood:
@@ -8270,8 +8270,8 @@ SwallowBest:
Move_TRANSFORM:
monbg ANIM_ATTACKER
- playsewithpan SE_W100, -64
- waitplaysewithpan SE_W107, -64, 48
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
createvisualtask sub_815B7D0, 2, 0
waitforvisualfinish
clearmonbg ANIM_ATTACKER
@@ -8305,60 +8305,60 @@ Move_MORNING_SUN:
call HealingEffect
end
MorningSun1:
- createsprite gUnknown_085CE48C, 2, 30, 640
+ createsprite gUnknown_085CE48C, ANIM_ATTACKER, 2, 30, 640
delay 5
return
Move_SWEET_SCENT:
- loadspritegfx ANIM_TAG_238
- playsewithpan SE_W230, -64
- createsprite gUnknown_085CE544, 2, 100, 0, 100
+ loadspritegfx ANIM_TAG_PINK_PETAL
+ playsewithpan SE_W230, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 100
delay 25
setpan 0
call SweetScentEffect
- createsprite gUnknown_085CE544, 2, 55, 0
- setpan +63
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 55, 0
+ setpan SOUND_PAN_TARGET
createvisualtask sub_8115A04, 2, 20, 1, 5, 5, 13, RGB(31, 21, 21)
call SweetScentEffect
waitforvisualfinish
end
SweetScentEffect:
- createsprite gUnknown_085CE544, 2, 70, 1, 64
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 70, 1, 64
delay 2
- createsprite gUnknown_085CE544, 2, 60, 0, 64
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 60, 0, 64
delay 5
- createsprite gUnknown_085CE544, 2, 80, 1, 64
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 80, 1, 64
delay 2
- createsprite gUnknown_085CE544, 2, 58, 0, 120
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 58, 0, 120
delay 2
- createsprite gUnknown_085CE544, 2, 100, 0, 120
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 120
delay 2
- createsprite gUnknown_085CE544, 2, 90, 0, 64
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 90, 0, 64
delay 2
- createsprite gUnknown_085CE544, 2, 48, 0, 64
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 48, 0, 64
delay 2
- createsprite gUnknown_085CE544, 2, 95, 1, 80
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 95, 1, 80
delay 2
- createsprite gUnknown_085CE544, 2, 100, 0, 120
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 120
delay 2
- createsprite gUnknown_085CE544, 2, 75, 1, 64
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 75, 1, 64
delay 2
- createsprite gUnknown_085CE544, 2, 85, 0, 120
+ createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 85, 0, 120
delay 2
return
Move_HYPER_BEAM:
- loadspritegfx ANIM_TAG_147
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 0, 16, RGB_BLACK
+ loadspritegfx ANIM_TAG_ORBS
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 0, 16, RGB_BLACK
waitforvisualfinish
delay 10
- playsewithpan SE_W063, -64
+ playsewithpan SE_W063, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 4, 1
waitforvisualfinish
delay 30
- createsoundtask sub_8158C58, 247, -64, 63, 1, 15, 0, 5
+ createsoundtask sub_8158C58, 247, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 1, 15, 0, 5
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1
- createvisualtask sub_8115D94, 2, ANIM_TAG_147, 1, 12, 31, 16, 0, 0
+ createvisualtask sub_8115D94, 2, ANIM_TAG_ORBS, 1, 12, 31, 16, 0, 0
call HyperBeam1
call HyperBeam1
call HyperBeam1
@@ -8389,28 +8389,28 @@ Move_HYPER_BEAM:
call HyperBeam1
createvisualtask sub_8116620, 10, 4, 2, 11, 0, RGB(25, 25, 25)
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 4, 16, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 16, 0, RGB_BLACK
end
HyperBeam1:
- createsprite gUnknown_08592288, 130
- createsprite gUnknown_08592288, 130
+ createsprite gUnknown_08592288, ANIM_TARGET, 2
+ createsprite gUnknown_08592288, ANIM_TARGET, 2
delay 1
return
Move_FLATTER:
- loadspritegfx ANIM_TAG_227
- loadspritegfx ANIM_TAG_240
- createvisualtask sub_8159244, 5, 223, 63
+ loadspritegfx ANIM_TAG_SPOTLIGHT
+ loadspritegfx ANIM_TAG_CONFETTI
+ createvisualtask sub_8159244, 5, 223, SOUND_PAN_TARGET
createvisualtask sub_815ABEC, 2
createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0
waitforvisualfinish
- createsprite gUnknown_085CE5C0, 130, 0, -8, 80
+ createsprite gUnknown_085CE5C0, ANIM_TARGET, 2, 0, -8, 80
delay 0
- createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_TARGET
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET
delay 10
- createsprite gVerticalDipSpriteTemplate, 2, 5, 2, ANIM_TARGET
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET
delay 0
- createvisualtask sub_8159210, 5, 229, -64
+ createvisualtask sub_8159210, 5, 229, SOUND_PAN_ATTACKER
call Flatter1
call Flatter1
call Flatter1
@@ -8431,61 +8431,61 @@ Move_FLATTER:
call Flatter1
call Flatter1
delay 5
- createvisualtask sub_8159210, 5, 229, 63
+ createvisualtask sub_8159210, 5, 229, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask sub_8116960, 2, 248, 3, 10, 0, 1
waitforvisualfinish
createvisualtask sub_815AC8C, 2
end
Flatter1:
- createsprite gUnknown_085CE5A8, 40, 0
- createsprite gUnknown_085CE5A8, 40, 1
+ createsprite gUnknown_085CE5A8, ANIM_ATTACKER, 40, 0
+ createsprite gUnknown_085CE5A8, ANIM_ATTACKER, 40, 1
return
Move_ROLE_PLAY:
monbg ANIM_ATK_PARTNER
createvisualtask sub_8116620, 10, 4, 2, 0, 16, RGB_WHITE
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 0, 10, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 0, 10, RGB_BLACK
waitforvisualfinish
- playsewithpan SE_W161, -64
- waitplaysewithpan SE_W197, -64, 30
+ playsewithpan SE_W161, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W197, SOUND_PAN_ATTACKER, 30
createvisualtask sub_815CED8, 2
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE
delay 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 2, 10, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 2, 10, 0, RGB_BLACK
end
Move_REFRESH:
- loadspritegfx ANIM_TAG_203
- loadspritegfx ANIM_TAG_SPARKLE
- playsewithpan SE_W287, -64
+ loadspritegfx ANIM_TAG_THIN_RING
+ loadspritegfx ANIM_TAG_SPARKLE_2
+ playsewithpan SE_W287, SOUND_PAN_ATTACKER
createvisualtask sub_815DFCC, 2, 0
waitforvisualfinish
- playsewithpan SE_W234, -64
+ playsewithpan SE_W234, SOUND_PAN_ATTACKER
call GrantingStarsEffect
waitforvisualfinish
- playsewithpan SE_REAPOKE, -64
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 3, 10, 0, RGB(12, 24, 30)
- createsprite gUnknown_0859381C, 3, 0, 0, 0, 0
+ playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 10, 0, RGB(12, 24, 30)
+ createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 0, 0
end
Move_BLAZE_KICK:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
loadspritegfx ANIM_TAG_SMALL_EMBER
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W172, +63
- createsprite gUnknown_08595F14, 131, 0, 0, 1, 30
+ playsewithpan SE_W172, SOUND_PAN_TARGET
+ createsprite gUnknown_08595F14, ANIM_TARGET, 3, 0, 0, 1, 30
createvisualtask sub_8116620, 10, 4, 2, 0, 7, RGB_WHITE
delay 30
- playsewithpan SE_W007, +63
- createsprite gBasicHitSplatSpriteTemplate, 130, 0, 0, 1, 0
+ playsewithpan SE_W007, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 14, 1
createvisualtask sub_8116620, 10, 4, 2, 0, 0, RGB_WHITE
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, RGB_BLACK, 8, 0, 0
call FireMoveEffect
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -8493,7 +8493,7 @@ Move_BLAZE_KICK:
end
Move_HYPER_VOICE:
- loadspritegfx ANIM_TAG_203
+ loadspritegfx ANIM_TAG_THIN_RING
createvisualtask sub_81590B8, 5, 0
call HyperVoiceEffect
waitforvisualfinish
@@ -8503,9 +8503,9 @@ Move_HYPER_VOICE:
waitforvisualfinish
end
HyperVoiceEffect:
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 31, 3, 8, 0, RGB_YELLOW
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 8, 0, RGB_YELLOW
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0
- createsprite gUnknown_08593880, 0, 45, 0, 0, 0, 0, 0, 1
+ createsprite gUnknown_08593880, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1
createvisualtask sub_81162A4, 2, 1, 0, 6, 1
@@ -8513,30 +8513,30 @@ HyperVoiceEffect:
return
Move_SAND_TOMB:
- loadspritegfx ANIM_TAG_074
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(19, 17, 0)
+ loadspritegfx ANIM_TAG_MUD_SAND
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 7, RGB(19, 17, 0)
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 43, 1
- playsewithpan SE_W328, +63
+ playsewithpan SE_W328, SOUND_PAN_TARGET
call SandTombEffect
call SandTombEffect
call SandTombEffect
delay 22
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(19, 17, 0)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 7, 0, RGB(19, 17, 0)
waitforvisualfinish
end
SandTombEffect:
- createsprite gUnknown_08596B34, 130, 0, 32, 528, 30, 10, 50, 1
+ createsprite gUnknown_08596B34, ANIM_TARGET, 2, 0, 32, 528, 30, 10, 50, 1
delay 2
- createsprite gUnknown_08596B34, 130, 0, 36, 480, 20, 13, -46, 1
+ createsprite gUnknown_08596B34, ANIM_TARGET, 2, 0, 36, 480, 20, 13, -46, 1
delay 2
- createsprite gUnknown_08596B34, 130, 0, 37, 576, 20, 5, 42, 1
+ createsprite gUnknown_08596B34, ANIM_TARGET, 2, 0, 37, 576, 20, 5, 42, 1
delay 2
- createsprite gUnknown_08596B34, 130, 0, 35, 400, 25, 8, -42, 1
+ createsprite gUnknown_08596B34, ANIM_TARGET, 2, 0, 35, 400, 25, 8, -42, 1
delay 2
- createsprite gUnknown_08596B34, 130, 0, 32, 512, 25, 13, 46, 1
+ createsprite gUnknown_08596B34, ANIM_TARGET, 2, 0, 32, 512, 25, 13, 46, 1
delay 2
- createsprite gUnknown_08596B34, 130, 0, 37, 464, 30, 12, -50, 1
+ createsprite gUnknown_08596B34, ANIM_TARGET, 2, 0, 37, 464, 30, 12, -50, 1
delay 2
return
@@ -8550,7 +8550,7 @@ Move_SHEER_COLD:
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask sub_80A9EF4, 2
- waitplaysewithpan SE_W258, +63, 17
+ waitplaysewithpan SE_W258, SOUND_PAN_TARGET, 17
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -8559,19 +8559,19 @@ Move_SHEER_COLD:
end
Move_ARM_THRUST:
- loadspritegfx ANIM_TAG_143
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ loadspritegfx ANIM_TAG_IMPACT
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask sub_80D6134, 5, 8, 5, 0, 0
delay 6
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 3
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 3
delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_08596034, 130, 10, -8, 14, 3
+ playsewithpan SE_W207, SOUND_PAN_TARGET
+ createsprite gUnknown_08596034, ANIM_TARGET, 2, 10, -8, 14, 3
waitforvisualfinish
createvisualtask sub_80D6134, 5, 8, 5, 0, 1
- playsewithpan SE_W003, +63
+ playsewithpan SE_W003, SOUND_PAN_TARGET
choosetwoturnanim ArmThrustRight, ArmThrustLeft
ArmThrustContinue:
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1
@@ -8579,99 +8579,99 @@ ArmThrustContinue:
blendoff
end
ArmThrustRight:
- createsprite gBasicHitSplatSpriteTemplate, 130, 8, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 8, 0, 1, 2
goto ArmThrustContinue
ArmThrustLeft:
- createsprite gBasicHitSplatSpriteTemplate, 130, -8, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 0, 1, 2
goto ArmThrustContinue
Move_MUDDY_WATER:
- panse_1B SE_W250, -64, +63, +2, 0
+ panse_1B SE_W250, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createvisualtask AnimTask_CreateSurfWave, 2, TRUE
waitforvisualfinish
end
Move_BULLET_SEED:
loadspritegfx ANIM_TAG_SEED
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
delay 5
- createsprite gUnknown_0859351C, 130, 20, 0
+ createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0
waitforvisualfinish
end
Move_DRAGON_CLAW:
loadspritegfx ANIM_TAG_SMALL_EMBER
loadspritegfx ANIM_TAG_CLAW_SLASH
- playsewithpan SE_W221B, -64
+ playsewithpan SE_W221B, SOUND_PAN_ATTACKER
createvisualtask sub_8116620, 10, 2, 4, 0, 8, RGB(31, 19, 0)
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 15, 1
call DragonClawEffect
call DragonClawEffect
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
- createsprite gUnknown_08596B88, 2, 0, 28, 528, 30, 13, 50, 0
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0
delay 2
- createvisualtask sub_8159210, 5, 136, 63
- createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, -10, 0
- createsprite gBattleAnimSpriteTemplate_8597138, 130, -10, 10, 0
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1
- createsprite gUnknown_08596B88, 2, 0, 32, 480, 20, 16, -46, 0
+ createvisualtask sub_8159210, 5, 136, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, -10, 0
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, -10, 10, 0
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 33, 576, 20, 8, 42, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 31, 400, 25, 11, -42, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0
delay 2
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
- createsprite gUnknown_08596B88, 2, 0, 28, 512, 25, 16, 46, 0
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0
delay 2
- createvisualtask sub_8159210, 5, 136, 63
- createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, -10, 1
- createsprite gBattleAnimSpriteTemplate_8597138, 130, 10, 10, 1
- createsprite gBattleAnimSpriteTemplate_85972D8, 2, -4, 1, 10, 3, 1
- createsprite gUnknown_08596B88, 2, 0, 33, 464, 30, 15, -50, 0
+ createvisualtask sub_8159210, 5, 136, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, -10, 1
+ createsprite gBattleAnimSpriteTemplate_8597138, ANIM_TARGET, 2, 10, 10, 1
+ createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, -4, 1, 10, 3, 1
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 28, 528, 30, 13, 50, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 32, 480, 20, 16, -46, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 33, 576, 20, 8, 42, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 31, 400, 25, 11, -42, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 28, 512, 25, 16, 46, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 33, 464, 30, 15, -50, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0
createvisualtask sub_8116620, 10, 2, 4, 8, 0, RGB(31, 19, 0)
waitforvisualfinish
end
DragonClawEffect:
- createsprite gUnknown_08596B88, 2, 0, 28, 528, 30, 13, 50, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 528, 30, 13, 50, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 32, 480, 20, 16, -46, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 32, 480, 20, 16, -46, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 33, 576, 20, 8, 42, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 576, 20, 8, 42, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 31, 400, 25, 11, -42, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 31, 400, 25, 11, -42, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 28, 512, 25, 16, 46, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 28, 512, 25, 16, 46, 0
delay 2
- createsprite gUnknown_08596B88, 2, 0, 33, 464, 30, 15, -50, 0
+ createsprite gUnknown_08596B88, ANIM_ATTACKER, 2, 0, 33, 464, 30, 15, -50, 0
delay 2
return
@@ -8679,14 +8679,14 @@ End:
end
Move_MUD_SHOT:
- loadspritegfx ANIM_TAG_259
+ loadspritegfx ANIM_TAG_BROWN_ORB
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 46, 1
delay 6
createvisualtask sub_81076C8, 5, 100
- panse_1B SE_W250, -64, +63, +1, 0
+ panse_1B SE_W250, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +1, 0
call MudShot1
call MudShot1
call MudShot1
@@ -8704,29 +8704,29 @@ Move_MUD_SHOT:
blendoff
end
MudShot1:
- createsprite gUnknown_085950FC, 3, 10, 10, 0, 16
+ createsprite gUnknown_085950FC, ANIM_ATTACKER, 3, 10, 10, 0, 16
delay 2
- createsprite gUnknown_085950FC, 3, 10, 10, 0, 16
+ createsprite gUnknown_085950FC, ANIM_ATTACKER, 3, 10, 10, 0, 16
delay 2
return
Move_METEOR_MASH:
- loadspritegfx ANIM_TAG_233
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
- panse_1B SE_W112, -64, +63, +3, 0
+ loadspritegfx ANIM_TAG_GOLD_STARS
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
+ panse_1B SE_W112, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +3, 0
fadetobg BG_COSMIC
waitbgfadein
waitforvisualfinish
- createsprite gUnknown_085CE8DC, 131, -48, -64, 72, 32, 30
+ createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -48, SOUND_PAN_ATTACKER, 72, 32, 30
delay 10
- createsprite gUnknown_085CE8DC, 131, -112, -64, 8, 32, 30
+ createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -112, SOUND_PAN_ATTACKER, 8, 32, 30
delay 40
- createsprite gUnknown_08595F14, 131, 0, 0, 0, 30
- createsprite gUnknown_085CE8DC, 131, -80, -64, 40, 32, 30
+ createsprite gUnknown_08595F14, ANIM_TARGET, 3, 0, 0, 0, 30
+ createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -80, SOUND_PAN_ATTACKER, 40, 32, 30
delay 20
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 5, 0, 20, 1
waitforvisualfinish
delay 10
@@ -8736,39 +8736,39 @@ Move_METEOR_MASH:
end
Move_REVENGE:
- loadspritegfx ANIM_TAG_245
+ loadspritegfx ANIM_TAG_PURPLE_SCRATCH
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W036, -64
- createsprite gUnknown_08596088, 2, 10, -10
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596088, ANIM_ATTACKER, 2, 10, -10
waitforvisualfinish
createvisualtask sub_8115A04, 2, 2, 0, 4, 2, 8, RGB_RED
waitforvisualfinish
- unloadspritegfx ANIM_TAG_245
- loadspritegfx ANIM_TAG_246
- createsprite gHorizontalLungeSpriteTemplate, 2, 6, 4
+ unloadspritegfx ANIM_TAG_PURPLE_SCRATCH
+ loadspritegfx ANIM_TAG_PURPLE_SWIPE
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4
delay 4
- playsewithpan SE_W207, +63
- createsprite gUnknown_085960D0, 130, 10, -10
+ playsewithpan SE_W207, SOUND_PAN_TARGET
+ createsprite gUnknown_085960D0, ANIM_TARGET, 2, 10, -10
waitforvisualfinish
- unloadspritegfx ANIM_TAG_246
- loadspritegfx ANIM_TAG_135
+ unloadspritegfx ANIM_TAG_PURPLE_SWIPE
+ loadspritegfx ANIM_TAG_IMPACT
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 10, 1
- createsprite gUnknown_08597400, 131, -10, -8, 1, 1, 8
- playsewithpan SE_W233B, +63
+ createsprite gUnknown_08597400, ANIM_TARGET, 3, -10, -8, 1, 1, 8
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 8
- createsprite gUnknown_08597400, 131, 10, 8, 1, 1, 8
- playsewithpan SE_W025B, +63
+ createsprite gUnknown_08597400, ANIM_TARGET, 3, 10, 8, 1, 1, 8
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_POISON_FANG:
- loadspritegfx ANIM_TAG_192
+ loadspritegfx ANIM_TAG_FANG_ATTACK
loadspritegfx ANIM_TAG_POISON_BUBBLE
- playsewithpan SE_W044, +63
- createsprite gUnknown_085CE1DC, 130
+ playsewithpan SE_W044, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE1DC, ANIM_TARGET, 2
delay 10
createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 3, 0, 10, 1
waitforvisualfinish
@@ -8778,72 +8778,72 @@ Move_POISON_FANG:
end
Move_SUBSTITUTE:
- playsewithpan SE_W213, -64
+ playsewithpan SE_W213, SOUND_PAN_ATTACKER
createvisualtask AnimTask_MonToSubstitute, 2
end
Move_FRENZY_PLANT:
- loadspritegfx ANIM_TAG_223
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_ROOTS
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 2, 0, 5, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 2, 0, 5, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08592564, 2, 10, 8, 2, 0, 0, 100
- playsewithpan SE_W010, -64
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 10, 8, 2, 0, 0, 100
+ playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_08592564, 2, 20, -8, -2, 0, 1, 95
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 20, -8, -2, 0, 1, 95
playsewithpan SE_W010, -43
delay 5
- createsprite gUnknown_08592564, 2, 30, 8, -4, 0, 0, 90
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 30, 8, -4, 0, 0, 90
playsewithpan SE_W010, -22
delay 5
- createsprite gUnknown_08592564, 2, 40, -8, 4, 0, 1, 85
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 40, -8, 4, 0, 1, 85
playsewithpan SE_W010, 0
delay 5
- createsprite gUnknown_08592564, 2, 50, 8, 0, 0, 0, 85
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 50, 8, 0, 0, 0, 85
playsewithpan SE_W010, +21
delay 5
- createsprite gUnknown_08592564, 2, 60, -8, -2, 0, 1, 85
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 60, -8, -2, 0, 1, 85
playsewithpan SE_W010, +42
delay 5
- createsprite gUnknown_08592564, 2, 75, 8, 0, 0, 0, 85
- playsewithpan SE_W010, +63
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 75, 8, 0, 0, 0, 85
+ playsewithpan SE_W010, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_08592564, 2, 85, 16, 6, 0, 3, 80
- playsewithpan SE_W010, +63
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 85, 16, 6, 0, 3, 80
+ playsewithpan SE_W010, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_08592564, 2, 85, -16, -6, 0, 2, 75
- playsewithpan SE_W010, +63
+ createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 85, -16, -6, 0, 2, 75
+ playsewithpan SE_W010, SOUND_PAN_TARGET
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -10, 1, 3
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -10, 1, 3
+ playsewithpan SE_W003, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 8, 0, 20, 1
delay 3
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, 8, 1, 3
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 8, 1, 3
+ playsewithpan SE_W003, SOUND_PAN_TARGET
delay 3
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, -3, 1, 2
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, -3, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
delay 3
- createsprite gBasicHitSplatSpriteTemplate, 2, -3, 1, 1, 2
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -3, 1, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
delay 2
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, 1, 1, 1
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, 1, 1, 1
+ playsewithpan SE_W003, SOUND_PAN_TARGET
delay 2
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 10, 1, 1
- playsewithpan SE_W003, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 10, 1, 1
+ playsewithpan SE_W003, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 1, 2, 5, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 2, 5, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_TARGET
blendoff
end
Move_METAL_SOUND:
- loadspritegfx ANIM_TAG_260
+ loadspritegfx ANIM_TAG_METAL_SOUND_WAVES
monbg ANIM_DEF_PARTNER
monbgprio_2A ANIM_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 8, 1
@@ -8857,8 +8857,8 @@ Move_METAL_SOUND:
waitforvisualfinish
end
MetalSound1:
- panse_1B SE_W103, -64, +63, +2, 0
- createsprite gUnknown_08593458, 130, 16, 0, 0, 0, 30, 0
+ panse_1B SE_W103, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
+ createsprite gUnknown_08593458, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0
delay 2
return
@@ -8868,8 +8868,8 @@ FocusPunchEnd:
waitforvisualfinish
end
FocusPunch:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_143
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_HANDS_AND_FEET
delay 1
createvisualtask AnimTask_IsContest, 2
jumprettrue FocusPunchInContest
@@ -8880,20 +8880,20 @@ FocusPunchContinue:
waitbgfadein
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W207, +63
- createsprite gUnknown_08596104, 130
+ playsewithpan SE_W207, SOUND_PAN_TARGET
+ createsprite gUnknown_08596104, ANIM_TARGET, 2
delay 10
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 8, 0, 24, 1
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, 2, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 2, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, -6, 1, 0
- playsewithpan SE_W233B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, -6, 1, 0
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 8, 1, 0
- playsewithpan SE_W025B, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 8, 1, 0
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
waitforvisualfinish
restorebg
waitbgfadein
@@ -8911,7 +8911,7 @@ FocusPunchInContest:
goto FocusPunchContinue
Move_RETURN:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
createvisualtask AnimTask_GetReturnPowerLevel, 2
@@ -8926,95 +8926,95 @@ ReturnContinue:
blendoff
end
ReturnWeak:
- createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 16, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 16, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
- createvisualtask sub_8159210, 5, 139, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
+ createvisualtask sub_8159210, 5, 139, SOUND_PAN_TARGET
goto ReturnContinue
ReturnMedium:
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
delay 11
- createsprite gHorizontalLungeSpriteTemplate, 2, 5, 4
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 4
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 3, 0, 0, 1, 2
- createvisualtask sub_8159210, 5, 141, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 2
+ createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET
goto ReturnContinue
ReturnStrong:
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 6, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 6, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, 10, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, -5, 3, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -5, 3, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
goto ReturnContinue
ReturnStrongest:
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 6, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 0, 6, RGB_BLACK
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 16, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 16, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 12, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 12, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
waitforvisualfinish
delay 4
- createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
waitforvisualfinish
delay 2
createvisualtask sub_81169C0, 2, 0, 4, 5, 1
- createsprite gVerticalDipSpriteTemplate, 2, 4, 1, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
createvisualtask sub_81169C0, 2, 0, 4, 5, 1
waitforvisualfinish
- createsprite gVerticalDipSpriteTemplate, 2, 4, 2, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 2, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
delay 5
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
createvisualtask sub_81169C0, 2, 0, 4, 5, 1
waitforvisualfinish
@@ -9022,33 +9022,33 @@ ReturnStrongest:
call ReturnStrongest1
call ReturnStrongest1
call ReturnStrongest1
- createsprite gBasicHitSplatSpriteTemplate, 2, -10, -8, 1, 0
- createvisualtask sub_8159210, 5, 141, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 0
+ createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 8, 0, 24, 1
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 2, 10, 10, 1, 0
- createvisualtask sub_8159210, 5, 141, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 1, 0
+ createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 2, 3, -5, 1, 0
- createvisualtask sub_8159210, 5, 141, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 3, -5, 1, 0
+ createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 2, -5, 3, 1, 0
- createvisualtask sub_8159210, 5, 141, 63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -5, 3, 1, 0
+ createvisualtask sub_8159210, 5, 141, SOUND_PAN_TARGET
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 6, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6, 0, RGB_BLACK
goto ReturnContinue
ReturnStrongest1:
- createsprite gVerticalDipSpriteTemplate, 2, 4, 3, ANIM_ATTACKER
- createvisualtask sub_8159244, 5, 167, -64
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
- createvisualtask sub_8159210, 5, 123, 63
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 3, ANIM_ATTACKER
+ createvisualtask sub_8159244, 5, 167, SOUND_PAN_ATTACKER
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
+ createvisualtask sub_8159210, 5, 123, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
createvisualtask sub_81169C0, 2, 0, 4, 5, 1
waitforvisualfinish
return
Move_COSMIC_POWER:
- loadspritegfx ANIM_TAG_SPARKLE
+ loadspritegfx ANIM_TAG_SPARKLE_2
createvisualtask sub_8159244, 5, 243, 0
playsewithpan SE_W322, 0
createvisualtask sub_8117610, 2, 0, 0, 15, 0
@@ -9058,10 +9058,10 @@ Move_COSMIC_POWER:
createvisualtask sub_8117660, 2, 0, 128, 0, -1
waitbgfadein
delay 70
- createvisualtask sub_8159210, 5, 228, -64
- createsprite gUnknown_08592B7C, 2, -15, 0, 0, 0, 32, 60
+ createvisualtask sub_8159210, 5, 228, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60
delay 8
- createsprite gUnknown_08592B7C, 2, 12, -5, 0, 0, 32, 60
+ createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60
delay 40
createvisualtask sub_8117610, 2, 0, 15, 0, 0
waitforvisualfinish
@@ -9073,44 +9073,44 @@ Move_COSMIC_POWER:
end
Move_BLAST_BURN:
- loadspritegfx ANIM_TAG_035
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_FIRE_PLUME
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W221, -64
- createsprite gUnknown_08595428, 2, -32, 0, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, -20, -10, 24, 0, 0, 0
- createsprite gUnknown_08595428, 66, 0, -16, 24, 0, 0, 0
- createsprite gUnknown_08595428, 66, 20, -10, 24, 0, 0, 0
- createsprite gUnknown_08595428, 66, 32, 0, 24, 0, 0, 0
- createsprite gUnknown_08595428, 66, 20, 10, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, 0, 16, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, -20, 10, 24, 0, 0, 0
+ playsewithpan SE_W221, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -32, 0, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -20, -10, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 0, -16, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 20, -10, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 32, 0, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 20, 10, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 16, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -20, 10, 24, 0, 0, 0
delay 25
- playsewithpan SE_W172B, -64
- createsprite gUnknown_08595428, 2, -64, 0, 24, 0, 0, 0
- createsprite gUnknown_08595428, 6, -40, -20, 24, 0, 0, 0
- createsprite gUnknown_08595428, 70, 0, -32, 24, 0, 0, 0
- createsprite gUnknown_08595428, 70, 40, -20, 24, 0, 0, 0
+ playsewithpan SE_W172B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -64, 0, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 6, -40, -20, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 0, -32, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 40, -20, 24, 0, 0, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1
- createsprite gUnknown_08595428, 66, 64, 0, 24, 0, 0, 0
- createsprite gUnknown_08595428, 66, 40, 20, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, 0, 32, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, -40, 20, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 64, 0, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 40, 20, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 32, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -40, 20, 24, 0, 0, 0
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 25
- playsewithpan SE_W172B, -64
- createsprite gUnknown_08595428, 2, -96, 0, 24, 0, 0, 0
- createsprite gUnknown_08595428, 6, -60, -30, 24, 0, 0, 0
- createsprite gUnknown_08595428, 70, 0, -48, 24, 0, 0, 0
- createsprite gUnknown_08595428, 70, 60, -30, 24, 0, 0, 0
- createsprite gBasicHitSplatSpriteTemplate, 130, -4, 3, 1, 0
+ playsewithpan SE_W172B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -96, 0, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 6, -60, -30, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 0, -48, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 70, 60, -30, 24, 0, 0, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, 3, 1, 0
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 12, 0, 20, 1
createvisualtask sub_81162A4, 2, 2, 0, 10, 1
- createsprite gUnknown_08595428, 66, 96, 0, 24, 0, 0, 0
- createsprite gUnknown_08595428, 66, 60, 30, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, 0, 48, 24, 0, 0, 0
- createsprite gUnknown_08595428, 2, -60, 30, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 96, 0, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 66, 60, 30, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, 0, 48, 24, 0, 0, 0
+ createsprite gUnknown_08595428, ANIM_ATTACKER, 2, -60, 30, 24, 0, 0, 0
createvisualtask sub_8115F10, 2, 257, 257, 257
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -9119,46 +9119,46 @@ Move_BLAST_BURN:
Move_ROCK_TOMB:
loadspritegfx ANIM_TAG_X_SIGN
- loadspritegfx ANIM_TAG_058
+ loadspritegfx ANIM_TAG_ROCKS
createvisualtask sub_81162A4, 2, 2, 0, 10, 1
waitforvisualfinish
- createsprite gUnknown_08596C58, 130, 20, 12, 64, 114, 0
+ createsprite gUnknown_08596C58, ANIM_TARGET, 2, 20, 12, 64, 114, 0
delay 8
createvisualtask sub_81162A4, 2, 0, 2, 3, 1
- playsewithpan SE_W070, +63
+ playsewithpan SE_W070, SOUND_PAN_TARGET
delay 8
- createsprite gUnknown_08596C58, 130, -20, 12, 64, 98, 0
+ createsprite gUnknown_08596C58, ANIM_TARGET, 2, -20, 12, 64, 98, 0
delay 8
createvisualtask sub_81162A4, 2, 0, 2, 3, 1
- playsewithpan SE_W070, +63
+ playsewithpan SE_W070, SOUND_PAN_TARGET
delay 8
- createsprite gUnknown_08596C58, 194, 3, 6, 64, 82, 0
+ createsprite gUnknown_08596C58, ANIM_TARGET, 66, 3, 6, 64, 82, 0
delay 8
createvisualtask sub_81162A4, 2, 0, 2, 3, 1
- playsewithpan SE_W070, +63
+ playsewithpan SE_W070, SOUND_PAN_TARGET
delay 8
- createsprite gUnknown_08596C58, 130, -3, 13, 64, 66, 0
+ createsprite gUnknown_08596C58, ANIM_TARGET, 2, -3, 13, 64, 66, 0
delay 8
createvisualtask sub_81162A4, 2, 0, 2, 3, 1
- playsewithpan SE_W070, +63
+ playsewithpan SE_W070, SOUND_PAN_TARGET
delay 24
- playsewithpan SE_W063, +63
- createsprite gUnknown_085967AC, 133, 1, 50
+ playsewithpan SE_W063, SOUND_PAN_TARGET
+ createsprite gUnknown_085967AC, ANIM_TARGET, 5, 1, 50
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 20, 1
createvisualtask sub_81162A4, 2, 2, 0, 10, 1
waitforvisualfinish
end
Move_SILVER_WIND:
- loadspritegfx ANIM_TAG_271
- panse_1B SE_W016, -64, +63, +2, 0
+ loadspritegfx ANIM_TAG_SPARKLE_6
+ panse_1B SE_W016, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
playsewithpan SE_W234, 0
delay 0
monbg ANIM_DEF_PARTNER
monbgprio_29
delay 0
createvisualtask sub_8116664, 10, 1, 0, 0, 4, RGB_BLACK
- createvisualtask AnimTask_IsTargetOpponentSide, 2
+ createvisualtask AnimTask_GetTargetSide, 2
jumprettrue SilverWindOnPlayer
fadetobg BG_BUG_OPPONENT
waitbgfadeout
@@ -9167,31 +9167,31 @@ SilverWindContinue:
delay 0
createvisualtask sub_8116620, 10, 1, 0, 4, 4, RGB_BLACK
waitbgfadein
- createsprite gUnknown_08592830, -62, -32, 16, 0, 6, 2, 3, 1
- createsprite gUnknown_08592830, -62, -8, 18, 64, 3, 2, 2, 1
- createsprite gUnknown_08592830, 120, -24, 18, 90, 5, 1, 2, 1
- createsprite gUnknown_08592830, 120, -40, 14, 128, 4, 1, 2, 1
+ createsprite gUnknown_08592830, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
+ createsprite gUnknown_08592830, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
+ createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
+ createsprite gUnknown_08592830, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
delay 0
- createsprite gUnknown_08592848, -62, -32, 16, 0, 6, 2, 3, 1
- createsprite gUnknown_08592848, -62, -8, 18, 64, 3, 2, 2, 1
- createsprite gUnknown_08592848, 120, -24, 18, 90, 5, 1, 2, 1
- createsprite gUnknown_08592848, 120, -40, 14, 128, 4, 1, 2, 1
+ createsprite gUnknown_08592848, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
+ createsprite gUnknown_08592848, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
+ createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
+ createsprite gUnknown_08592848, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
delay 0
- createsprite gUnknown_08592860, -62, -32, 16, 0, 6, 2, 3, 1
- createsprite gUnknown_08592860, -62, -8, 18, 64, 3, 2, 2, 1
- createsprite gUnknown_08592860, 120, -24, 18, 90, 5, 1, 2, 1
- createsprite gUnknown_08592860, 120, -40, 14, 128, 4, 1, 2, 1
+ createsprite gUnknown_08592860, ANIM_TARGET, 66, -32, 16, 0, 6, 2, 3, 1
+ createsprite gUnknown_08592860, ANIM_TARGET, 66, -8, 18, 64, 3, 2, 2, 1
+ createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -24, 18, 90, 5, 1, 2, 1
+ createsprite gUnknown_08592860, ANIM_ATTACKER, 120, -40, 14, 128, 4, 1, 2, 1
delay 6
- createsprite gUnknown_08592830, -62, -4, 16, 0, 6, 1, 2, 1
- createsprite gUnknown_08592830, -62, -16, 12, 192, 5, 2, 3, 1
+ createsprite gUnknown_08592830, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
+ createsprite gUnknown_08592830, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
delay 0
- createsprite gUnknown_08592848, -62, -4, 16, 0, 6, 1, 2, 1
- createsprite gUnknown_08592848, -62, -16, 12, 192, 5, 2, 3, 1
+ createsprite gUnknown_08592848, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
+ createsprite gUnknown_08592848, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
delay 0
- createsprite gUnknown_08592860, -62, -4, 16, 0, 6, 1, 2, 1
- createsprite gUnknown_08592860, -62, -16, 12, 192, 5, 2, 3, 1
+ createsprite gUnknown_08592860, ANIM_TARGET, 66, -4, 16, 0, 6, 1, 2, 1
+ createsprite gUnknown_08592860, ANIM_TARGET, 66, -16, 12, 192, 5, 2, 3, 1
waitforvisualfinish
- playsewithpan SE_W016B, +63
+ playsewithpan SE_W016B, SOUND_PAN_TARGET
clearmonbg ANIM_DEF_PARTNER
delay 0
restorebg
@@ -9207,21 +9207,21 @@ SilverWindOnPlayer:
goto SilverWindContinue
Move_SNATCH:
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -12, 4, 10, 10, 12, 6
end
Move_DIVE:
- loadspritegfx ANIM_TAG_272
- loadspritegfx ANIM_TAG_273
+ loadspritegfx ANIM_TAG_SPLASH
+ loadspritegfx ANIM_TAG_SWEAT_BEAD
choosetwoturnanim DiveSetUp, DiveAttack
DiveSetUp:
- loadspritegfx ANIM_TAG_156
- playsewithpan SE_W029, -64
- createsprite gUnknown_08596490, 2, 0, 0, 13, 336
+ loadspritegfx ANIM_TAG_ROUND_SHADOW
+ playsewithpan SE_W029, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596490, ANIM_ATTACKER, 2, 0, 0, 13, 336
waitforvisualfinish
- playsewithpan SE_W291, -64
- createsprite gUnknown_085964CC, 3, 0
+ playsewithpan SE_W291, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085964CC, ANIM_ATTACKER, 3, 0
call DiveSetUp1
call DiveSetUp1
call DiveSetUp1
@@ -9229,16 +9229,16 @@ DiveSetUp:
call DiveSetUp1
end
DiveSetUp1:
- createsprite gUnknown_085964E4, 5, 0, 0
- createsprite gUnknown_085964E4, 5, 1, 0
+ createsprite gUnknown_085964E4, ANIM_ATTACKER, 5, 0, 0
+ createsprite gUnknown_085964E4, ANIM_ATTACKER, 5, 1, 0
return
DiveAttack:
- loadspritegfx ANIM_TAG_148
- loadspritegfx ANIM_TAG_155
+ loadspritegfx ANIM_TAG_WATER_IMPACT
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W153, +63
- createsprite gUnknown_085964CC, 131, 1
+ playsewithpan SE_W153, SOUND_PAN_TARGET
+ createsprite gUnknown_085964CC, ANIM_TARGET, 3, 1
call DiveAttack1
call DiveAttack1
call DiveAttack1
@@ -9252,34 +9252,34 @@ DiveAttack:
blendoff
end
DiveAttack1:
- createsprite gUnknown_085964E4, 133, 0, 1
- createsprite gUnknown_085964E4, 133, 1, 1
+ createsprite gUnknown_085964E4, ANIM_TARGET, 5, 0, 1
+ createsprite gUnknown_085964E4, ANIM_TARGET, 5, 1, 1
return
Move_ROCK_BLAST:
- loadspritegfx ANIM_TAG_058
- loadspritegfx ANIM_TAG_135
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
+ loadspritegfx ANIM_TAG_ROCKS
+ loadspritegfx ANIM_TAG_IMPACT
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 3
- playsewithpan SE_W207, -64
- createsprite gUnknown_08596C98, 130, 16, 0, 0, 0, 25, 257
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596C98, ANIM_TARGET, 2, 16, 0, 0, 0, 25, 257
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 1
- playsewithpan SE_W088, +63
- createsprite gUnknown_08596B1C, 130, 0, 0, 20, 24, 14, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
+ createsprite gUnknown_08596B1C, ANIM_TARGET, 2, 0, 0, 20, 24, 14, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1
- createsprite gUnknown_08596B1C, 130, 5, 0, -20, 24, 14, 1
- createsprite gUnknown_08596B1C, 130, 0, 5, 20, -24, 14, 2
- createsprite gUnknown_08596B1C, 130, -5, 0, -20, -24, 14, 2
+ createsprite gUnknown_08596B1C, ANIM_TARGET, 2, 5, 0, -20, 24, 14, 1
+ createsprite gUnknown_08596B1C, ANIM_TARGET, 2, 0, 5, 20, -24, 14, 2
+ createsprite gUnknown_08596B1C, ANIM_TARGET, 2, -5, 0, -20, -24, 14, 2
waitforvisualfinish
end
Move_OVERHEAT:
loadspritegfx ANIM_TAG_SMALL_EMBER
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 18
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 5, RGB(28, 0, 0)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 5, RGB(28, 0, 0)
waitforvisualfinish
createvisualtask sub_8117C44, 5
waitforvisualfinish
@@ -9287,61 +9287,61 @@ Move_OVERHEAT:
delay 1
createvisualtask sub_8117DD8, 5, 0
delay 1
- playsewithpan SE_W082, -64
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
createvisualtask sub_8117CA0, 5, 1, 0
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 1, 0, 13, RGB(28, 0, 0)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 1, 0, 13, RGB(28, 0, 0)
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1
waitforvisualfinish
- playsewithpan SE_W172B, -64
- createsprite gUnknown_08596FB0, 2, 1, 0, 30, 25, -20
- createsprite gUnknown_08596FB0, 2, 1, 32, 30, 25, -20
- createsprite gUnknown_08596FB0, 2, 1, 64, 30, 25, -20
- createsprite gUnknown_08596FB0, 2, 1, 96, 30, 25, -20
- createsprite gUnknown_08596FB0, 2, 1, 128, 30, 25, -20
- createsprite gUnknown_08596FB0, 66, 1, 160, 30, 25, -20
- createsprite gUnknown_08596FB0, 66, 1, 192, 30, 25, -20
- createsprite gUnknown_08596FB0, 66, 1, 224, 30, 25, -20
+ playsewithpan SE_W172B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 0, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 32, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 64, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 96, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 128, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 160, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 192, 30, 25, -20
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 224, 30, 25, -20
delay 5
- createsprite gUnknown_08596FB0, 2, 1, 0, 30, 25, 0
- createsprite gUnknown_08596FB0, 2, 1, 32, 30, 25, 0
- createsprite gUnknown_08596FB0, 2, 1, 64, 30, 25, 0
- createsprite gUnknown_08596FB0, 2, 1, 96, 30, 25, 0
- createsprite gUnknown_08596FB0, 2, 1, 128, 30, 25, 0
- createsprite gUnknown_08596FB0, 66, 1, 160, 30, 25, 0
- createsprite gUnknown_08596FB0, 66, 1, 192, 30, 25, 0
- createsprite gUnknown_08596FB0, 66, 1, 224, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 0, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 32, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 64, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 96, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 128, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 160, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 192, 30, 25, 0
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 224, 30, 25, 0
delay 5
- createsprite gUnknown_08596FB0, 2, 1, 0, 30, 25, 10
- createsprite gUnknown_08596FB0, 2, 1, 32, 30, 25, 10
- createsprite gUnknown_08596FB0, 2, 1, 64, 30, 25, 10
- createsprite gUnknown_08596FB0, 2, 1, 96, 30, 25, 10
- createsprite gUnknown_08596FB0, 2, 1, 128, 30, 25, 10
- createsprite gUnknown_08596FB0, 66, 1, 160, 30, 25, 10
- createsprite gUnknown_08596FB0, 66, 1, 192, 30, 25, 10
- createsprite gUnknown_08596FB0, 66, 1, 224, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 0, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 32, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 64, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 96, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 2, 1, 128, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 160, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 192, 30, 25, 10
+ createsprite gUnknown_08596FB0, ANIM_ATTACKER, 66, 1, 224, 30, 25, 10
delay 5
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 131, -5, 3, 1, 0
- playsewithpan SE_W007, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -5, 3, 1, 0
+ playsewithpan SE_W007, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 10, 0, 25, 1
delay 6
- createsprite gBasicHitSplatSpriteTemplate, 131, 8, -5, 1, 0
- playsewithpan SE_W007, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 8, -5, 1, 0
+ playsewithpan SE_W007, SOUND_PAN_TARGET
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 131, 10, 10, 1, 0
- playsewithpan SE_W007, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, 10, 1, 0
+ playsewithpan SE_W007, SOUND_PAN_TARGET
delay 8
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 0
- playsewithpan SE_W007, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 0
+ playsewithpan SE_W007, SOUND_PAN_TARGET
createvisualtask sub_8117DD8, 5, 1
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, -1, 0, 13, RGB(18, 18, 18)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, -1, 0, 13, RGB(18, 18, 18)
createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 3, 0, 15, 1
waitforvisualfinish
createvisualtask sub_8117D3C, 5, 0, 1
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 5, 0, RGB(28, 0, 0)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 5, 0, RGB(28, 0, 0)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
@@ -9349,36 +9349,36 @@ Move_OVERHEAT:
delay 15
createvisualtask sub_8117D3C, 5, 1, 0
delay 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 0, 13, 0, RGB(18, 18, 18)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 13, 0, RGB(18, 18, 18)
waitforvisualfinish
createvisualtask sub_8117C70, 5
waitforvisualfinish
end
Move_HYDRO_CANNON:
- loadspritegfx ANIM_TAG_149
- loadspritegfx ANIM_TAG_148
+ loadspritegfx ANIM_TAG_WATER_ORB
+ loadspritegfx ANIM_TAG_WATER_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- playsewithpan SE_W057, -64
- createsprite gUnknown_085951C0, 130
+ playsewithpan SE_W057, SOUND_PAN_ATTACKER
+ createsprite gUnknown_085951C0, ANIM_TARGET, 2
delay 10
createvisualtask sub_8115F10, 2, 257, 257, 257
delay 30
- panse_1B SE_W056, -64, +63, +2, 0
+ panse_1B SE_W056, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
call HydroCannon1
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 10, 0, 40, 1
- createsprite gUnknown_08597388, 130, 0, 0, 1, 0
+ createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0
call HydroCannon1
- createsprite gUnknown_08597388, 130, 0, 0, 1, 0
+ createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0
call HydroCannon1
- createsprite gUnknown_08597388, 130, 0, 0, 1, 0
+ createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0
call HydroCannon1
- createsprite gUnknown_08597388, 130, 0, 0, 1, 0
+ createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0
call HydroCannon1
- createsprite gUnknown_08597388, 130, 0, 0, 1, 0
+ createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0
call HydroCannon1
- createsprite gUnknown_08597388, 130, 0, 0, 1, 0
+ createsprite gUnknown_08597388, ANIM_TARGET, 2, 0, 0, 1, 0
waitforvisualfinish
createvisualtask sub_8115F10, 2, 257, 257, 257
waitforvisualfinish
@@ -9386,33 +9386,33 @@ Move_HYDRO_CANNON:
blendoff
end
HydroCannon1:
- createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257
+ createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257
delay 1
- createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257
+ createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257
delay 1
- createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257
+ createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257
delay 1
- createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257
+ createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257
delay 1
- createsprite gUnknown_085951D8, 130, 10, -10, 0, 0, 15, 257
+ createsprite gUnknown_085951D8, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257
return
Move_ASTONISH:
- loadspritegfx ANIM_TAG_273
- playsewithpan SE_W227, -64
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
+ loadspritegfx ANIM_TAG_SWEAT_BEAD
+ playsewithpan SE_W227, SOUND_PAN_ATTACKER
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 25
- createsprite gUnknown_085964E4, -123, 0, 1
- playsewithpan SE_W166, +63
- createsprite gUnknown_085964E4, -123, 1, 1
+ createsprite gUnknown_085964E4, ANIM_TARGET, 5, 0, 1
+ playsewithpan SE_W166, SOUND_PAN_TARGET
+ createsprite gUnknown_085964E4, ANIM_TARGET, 5, 1, 1
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1
createvisualtask sub_8106020, 3
waitforvisualfinish
end
Move_SEISMIC_TOSS:
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_058
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_ROCKS
setarg 7, 0
monbg ANIM_DEF_PARTNER
setalpha 12, 8
@@ -9459,67 +9459,67 @@ SeismicTossStrong:
call SeismicToss1
goto SeismicTossContinue
SeismicToss1:
- createsprite gBasicHitSplatSpriteTemplate, 131, -10, -8, 1, 1
- playsewithpan SE_W070, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -10, -8, 1, 1
+ playsewithpan SE_W070, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1
- createsprite gUnknown_08596CB0, 130, -12, 27, 2, 3
- createsprite gUnknown_08596CB0, 130, 8, 28, 3, 4
- createsprite gUnknown_08596CB0, 130, -4, 30, 2, 3
- createsprite gUnknown_08596CB0, 130, 12, 25, 4, 4
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -12, 27, 2, 3
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 8, 28, 3, 4
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -4, 30, 2, 3
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 12, 25, 4, 4
return
SeismicToss2:
- createsprite gBasicHitSplatSpriteTemplate, 131, 10, -8, 1, 1
- playsewithpan SE_W088, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, -8, 1, 1
+ playsewithpan SE_W088, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1
- createsprite gUnknown_08596CB0, 130, -12, 32, 3, 4
- createsprite gUnknown_08596CB0, 130, 8, 31, 2, 2
- createsprite gUnknown_08596CB0, 130, -4, 28, 2, 3
- createsprite gUnknown_08596CB0, 130, 12, 30, 4, 3
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -12, 32, 3, 4
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 8, 31, 2, 2
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -4, 28, 2, 3
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 12, 30, 4, 3
return
Move_MAGIC_COAT:
- loadspritegfx ANIM_TAG_170
+ loadspritegfx ANIM_TAG_ORANGE_LIGHT_WALL
setalpha 0, 16
- waitplaysewithpan SE_W112, -64, 15
- createsprite gUnknown_085965C0, 3, 40, 0, 10170
+ waitplaysewithpan SE_W112, SOUND_PAN_ATTACKER, 15
+ createsprite gUnknown_085965C0, ANIM_ATTACKER, 3, 40, 0, 10170
waitforvisualfinish
delay 1
blendoff
end
Move_WATER_PULSE:
- loadspritegfx ANIM_TAG_155
- loadspritegfx ANIM_TAG_288
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
+ loadspritegfx ANIM_TAG_BLUE_RING_2
monbg ANIM_TARGET
monbgprio_28 ANIM_TARGET
- playsewithpan SE_W145C, -64
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 0, 0, 7, RGB(0, 25, 28)
+ playsewithpan SE_W145C, SOUND_PAN_ATTACKER
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 0, 7, RGB(0, 25, 28)
delay 10
- createsprite gUnknown_085952F8, 66, 100, 100, 8, 1, 20, 40, 0
- createsprite gUnknown_085952F8, 66, 20, 100, 16, 2, 10, 35, 1
- createsprite gUnknown_085952F8, 66, 200, 80, 8, 1, 40, 20, 0
- createsprite gUnknown_085952F8, 66, 80, 60, 10, 3, 20, 50, 0
- createsprite gUnknown_085952F8, 66, 140, 100, 16, 1, 20, 30, 1
- playsewithpan SE_W145C, +63
- waitforvisualfinish
- playsewithpan SE_W202, -64
- createsprite gUnknown_08593470, 130, 0, 0, 40, 15
+ createsprite gUnknown_085952F8, ANIM_ATTACKER, 66, 100, 100, 8, 1, 20, 40, 0
+ createsprite gUnknown_085952F8, ANIM_ATTACKER, 66, 20, 100, 16, 2, 10, 35, 1
+ createsprite gUnknown_085952F8, ANIM_ATTACKER, 66, 200, 80, 8, 1, 40, 20, 0
+ createsprite gUnknown_085952F8, ANIM_ATTACKER, 66, 80, 60, 10, 3, 20, 50, 0
+ createsprite gUnknown_085952F8, ANIM_ATTACKER, 66, 140, 100, 16, 1, 20, 30, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
+ waitforvisualfinish
+ playsewithpan SE_W202, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15
delay 5
- playsewithpan SE_W202, -64
- createsprite gUnknown_08593470, 130, 0, 0, 40, 15
+ playsewithpan SE_W202, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15
delay 5
- playsewithpan SE_W202, -64
- createsprite gUnknown_08593470, 130, 0, 0, 40, 15
+ playsewithpan SE_W202, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15
delay 13
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 8, 18, 1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 7, 0, RGB(0, 25, 28)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 7, 0, RGB(0, 25, 28)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Move_PSYCHO_BOOST:
- loadspritegfx ANIM_TAG_212
+ loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT
monbg ANIM_ATK_PARTNER
fadetobg BG_PSYCHIC
waitbgfadeout
@@ -9532,13 +9532,13 @@ Move_PSYCHO_BOOST:
setalpha 8, 8
delay 10
createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 3, 0, 240, 0
- loopsewithpan SE_W060B, -64, 14, 10
- createsprite gUnknown_08596920, 2
+ loopsewithpan SE_W060B, SOUND_PAN_ATTACKER, 14, 10
+ createsprite gUnknown_08596920, ANIM_ATTACKER, 2
delay 110
- loopsewithpan SE_W060B, -64, 7, 10
+ loopsewithpan SE_W060B, SOUND_PAN_ATTACKER, 7, 10
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, -8, 1, 24, 1
- playsewithpan SE_W043, +63
+ playsewithpan SE_W043, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
@@ -9546,22 +9546,22 @@ Move_PSYCHO_BOOST:
end
Move_KNOCK_OFF:
- loadspritegfx ANIM_TAG_277
- loadspritegfx ANIM_TAG_135
- createsprite gHorizontalLungeSpriteTemplate, 2, 4, 6
+ loadspritegfx ANIM_TAG_SLAM_HIT_2
+ loadspritegfx ANIM_TAG_IMPACT
+ createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6
delay 4
- playsewithpan SE_W233, +63
- createsprite gUnknown_085CE984, 130, -16, -16
+ playsewithpan SE_W233, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE984, ANIM_TARGET, 2, -16, -16
delay 8
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, 0, 1, 2
- playsewithpan SE_W004, +63
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -12, 10, 0, 3
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 5
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 2
+ playsewithpan SE_W004, SOUND_PAN_TARGET
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -12, 10, 0, 3
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5
delay 3
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1
delay 5
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6
delay 10
waitforvisualfinish
end
@@ -9571,56 +9571,56 @@ Move_DOOM_DESIRE:
delay 1
monbg ANIM_ATK_PARTNER
createvisualtask sub_811489C, 5, 1, 0
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 4, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB_BLACK
waitforvisualfinish
setalpha 8, 8
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_ATTACKER, 1
waitforvisualfinish
delay 20
createvisualtask sub_811489C, 5, 1, 1
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 4, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB_BLACK
waitforvisualfinish
clearmonbg ANIM_ATK_PARTNER
blendoff
end
Move_SKY_UPPERCUT:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
fadetobg BG_SEISMICTOSS_SKUUPPERCUT
waitbgfadeout
- playsewithpan SE_W327, -64
+ playsewithpan SE_W327, SOUND_PAN_ATTACKER
createvisualtask sub_810DABC, 5, 55
waitbgfadein
setalpha 12, 8
delay 38
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 0, 28, 0, 0, 5
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 28, 0, 0, 5
delay 4
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 6, 1
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 131, -28, 28, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -28, 28, 1, 1
delay 1
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 131, -15, 8, 1, 1
- playsewithpan SE_W233B, +63
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -15, 8, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
delay 1
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 131, -5, -12, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -5, -12, 1, 1
delay 1
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 131, 0, -32, 1, 1
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, -32, 1, 1
delay 1
- playsewithpan SE_W233B, +63
- createsprite gBasicHitSplatSpriteTemplate, 131, 5, -52, 1, 1
- createsprite gSlideMonToOffsetSpriteTemplate, 2, 1, -26, 16, 1, 4
+ playsewithpan SE_W233B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 5, -52, 1, 1
+ createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -26, 16, 1, 4
delay 4
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1
delay 30
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 0, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 6
delay 4
- createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 1, 0, 6
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 6
clearmonbg ANIM_DEF_PARTNER
blendoff
restorebg
@@ -9643,87 +9643,87 @@ Move_SECRET_POWER:
goto Move_SLAM
Move_TWISTER:
- loadspritegfx ANIM_TAG_063
- loadspritegfx ANIM_TAG_135
- loadspritegfx ANIM_TAG_058
+ loadspritegfx ANIM_TAG_LEAF
+ loadspritegfx ANIM_TAG_IMPACT
+ loadspritegfx ANIM_TAG_ROCKS
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
- playsewithpan SE_W239, +63
- createsprite gUnknown_085923A8, 130, 120, 70, 5, 70, 30
+ playsewithpan SE_W239, SOUND_PAN_TARGET
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 120, 70, 5, 70, 30
delay 1
- createsprite gUnknown_085923A8, 130, 115, 55, 6, 60, 25
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 55, 6, 60, 25
delay 1
- createsprite gUnknown_085923A8, 130, 115, 60, 7, 60, 30
- createsprite gUnknown_085923A8, 130, 115, 55, 10, 60, 30
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 60, 7, 60, 30
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 55, 10, 60, 30
delay 3
- createsprite gUnknown_08596CC8, 130, 100, 50, 4, 50, 26
+ createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 100, 50, 4, 50, 26
delay 1
- createsprite gUnknown_085923A8, 130, 105, 25, 8, 60, 20
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 105, 25, 8, 60, 20
delay 1
- createsprite gUnknown_085923A8, 130, 115, 40, 10, 48, 30
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 40, 10, 48, 30
delay 3
- createsprite gUnknown_08596CC8, 130, 120, 30, 6, 45, 25
- createsprite gUnknown_085923A8, 130, 115, 35, 10, 60, 30
+ createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 120, 30, 6, 45, 25
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 35, 10, 60, 30
delay 3
- createsprite gUnknown_08596CC8, 130, 105, 20, 8, 40, 0
+ createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 105, 20, 8, 40, 0
delay 3
- createsprite gUnknown_085923A8, 130, 20, 255, 15, 32, 0
- createsprite gUnknown_085923A8, 130, 110, 10, 8, 32, 20
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 20, 255, 15, 32, 0
+ createsprite gUnknown_085923A8, ANIM_TARGET, 2, 110, 10, 8, 32, 20
waitforvisualfinish
- createsprite gBasicHitSplatSpriteTemplate, 131, -32, -16, 1, 3
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, 1, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1
delay 4
- createsprite gUnknown_085973A0, 131, 1, 3
- playsewithpan SE_W004, +63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_085973A0, 131, 1, 3
- playsewithpan SE_W004, +63
+ createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
delay 4
- createsprite gBasicHitSplatSpriteTemplate, 131, 32, 20, 1, 3
- playsewithpan SE_W004, +63
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 32, 20, 1, 3
+ playsewithpan SE_W004, SOUND_PAN_TARGET
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
Move_MAGICAL_LEAF:
- loadspritegfx ANIM_TAG_063
- loadspritegfx ANIM_TAG_160
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_LEAF
+ loadspritegfx ANIM_TAG_RAZOR_LEAF
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_DEF_PARTNER
setalpha 12, 8
delay 1
- loopsewithpan SE_W077, -64, 10, 5
+ loopsewithpan SE_W077, SOUND_PAN_ATTACKER, 10, 5
createvisualtask sub_81007C4, 5
- createsprite gUnknown_08592390, 2, -3, -2, 10
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -2, 10
delay 2
- createsprite gUnknown_08592390, 2, -1, -1, 15
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -1, 15
delay 2
- createsprite gUnknown_08592390, 2, -4, -4, 7
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -4, -4, 7
delay 2
- createsprite gUnknown_08592390, 2, 3, -3, 11
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 3, -3, 11
delay 2
- createsprite gUnknown_08592390, 2, -1, -6, 8
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -6, 8
delay 2
- createsprite gUnknown_08592390, 2, 2, -1, 12
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -1, 12
delay 2
- createsprite gUnknown_08592390, 2, -3, -4, 13
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -4, 13
delay 2
- createsprite gUnknown_08592390, 2, 4, -5, 7
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 4, -5, 7
delay 2
- createsprite gUnknown_08592390, 2, 2, -6, 11
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -6, 11
delay 2
- createsprite gUnknown_08592390, 2, -3, -5, 8
+ createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -5, 8
delay 60
- playsewithpan SE_W013B, -64
- createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 32, 20, 0
- createsprite gUnknown_085923D8, 131, 20, -10, 20, 0, 32, -20, 0
+ 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
delay 30
- playsewithpan SE_W013, +63
- createsprite gBasicHitSplatSpriteTemplate, 132, -10, -4, 1, 2
- createsprite gBasicHitSplatSpriteTemplate, 132, 10, 4, 1, 2
+ playsewithpan SE_W013, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, -4, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 10, 4, 1, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
delay 20
setarg 7, -1
@@ -9734,14 +9734,14 @@ Move_MAGICAL_LEAF:
Move_ICE_BALL:
loadspritegfx ANIM_TAG_ICE_CHUNK
- loadspritegfx ANIM_TAG_141
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
createvisualtask AnimTask_GetRolloutCounter, 5, 0
jumpargeq 0, 4, IceBallSetIceBg
IceBallContinue:
- playsewithpan SE_W196, -64
- createsprite gUnknown_08595DE4, 130, 15, 0, -12, -16, 30, -40
+ playsewithpan SE_W196, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08595DE4, ANIM_TARGET, 2, 15, 0, -12, -16, 30, -40
delay 28
- playsewithpan SE_W280, +63
+ playsewithpan SE_W280, SOUND_PAN_TARGET
createvisualtask AnimTask_GetRolloutCounter, 5, 0
jumpargeq 0, 0, IceBallWeakest
jumpargeq 0, 1, IceBallWeak
@@ -9819,19 +9819,19 @@ IceBallStrongest:
call IceBall1
goto IceBallContinue2
IceBall1:
- createsprite gUnknown_08595DFC, 132, -12, -16
+ createsprite gUnknown_08595DFC, ANIM_TARGET, 4, -12, -16
return
Move_WEATHER_BALL:
- loadspritegfx ANIM_TAG_283
- createsprite gVerticalDipSpriteTemplate, 2, 8, 1, ANIM_ATTACKER
+ loadspritegfx ANIM_TAG_WEATHER_BALL
+ createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, ANIM_ATTACKER
delay 8
- playsewithpan SE_W207, -64
- createsprite gUnknown_0853EE38, 2
+ playsewithpan SE_W207, SOUND_PAN_ATTACKER
+ createsprite gUnknown_0853EE38, ANIM_ATTACKER, 2
waitforvisualfinish
delay 15
playsewithpan SE_W197, 0
- createsprite gComplexPaletteBlendSpriteTemplate, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0
+ createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0
waitforvisualfinish
createvisualtask AnimTask_GetWeather, 2
delay 1
@@ -9841,87 +9841,87 @@ Move_WEATHER_BALL:
jumpreteq ANIM_WEATHER_SANDSTORM, WeatherBallSandstorm
jumpreteq ANIM_WEATHER_HAIL, WeatherBallIce
WeatherBallNormal:
- loadspritegfx ANIM_TAG_135
- createsprite gUnknown_0853EE50, 130, -30, -100, 25, 1, 0, 0
+ loadspritegfx ANIM_TAG_IMPACT
+ createsprite gUnknown_0853EE50, ANIM_TARGET, 2, -30, -100, 25, 1, 0, 0
waitforvisualfinish
- playsewithpan SE_W025B, +63
- createsprite gBasicHitSplatSpriteTemplate, 132, -10, 0, 1, 2
+ playsewithpan SE_W025B, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1
waitforvisualfinish
end
WeatherBallFire:
loadspritegfx ANIM_TAG_SMALL_EMBER
- createsprite gUnknown_0859559C, 130, -30, -100, 25, 1, 40, 10
- playsewithpan SE_W172, +63
+ createsprite gUnknown_0859559C, ANIM_TARGET, 2, -30, -100, 25, 1, 40, 10
+ playsewithpan SE_W172, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_0859559C, 130, -30, -100, 25, 1, -40, 20
- playsewithpan SE_W172, +63
+ createsprite gUnknown_0859559C, ANIM_TARGET, 2, -30, -100, 25, 1, -40, 20
+ playsewithpan SE_W172, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_0859559C, 130, -30, -100, 25, 1, 0, 0
- playsewithpan SE_W172, +63
+ createsprite gUnknown_0859559C, ANIM_TARGET, 2, -30, -100, 25, 1, 0, 0
+ playsewithpan SE_W172, SOUND_PAN_TARGET
waitforvisualfinish
- playsewithpan SE_W172B, +63
+ playsewithpan SE_W172B, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1
waitforvisualfinish
end
WeatherBallWater:
- loadspritegfx ANIM_TAG_155
- createsprite gUnknown_08595328, 130, -30, -100, 25, 1, 50, 10
- playsewithpan SE_W152, +63
+ loadspritegfx ANIM_TAG_SMALL_BUBBLES
+ createsprite gUnknown_08595328, ANIM_TARGET, 2, -30, -100, 25, 1, 50, 10
+ playsewithpan SE_W152, SOUND_PAN_TARGET
delay 8
- createsprite gUnknown_08595328, 130, -30, -100, 25, 1, -20, 20
- playsewithpan SE_W152, +63
+ createsprite gUnknown_08595328, ANIM_TARGET, 2, -30, -100, 25, 1, -20, 20
+ playsewithpan SE_W152, SOUND_PAN_TARGET
delay 13
- createsprite gUnknown_08595328, 130, -30, -100, 25, 1, 0, 0
- playsewithpan SE_W152, +63
+ createsprite gUnknown_08595328, ANIM_TARGET, 2, -30, -100, 25, 1, 0, 0
+ playsewithpan SE_W152, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 8, 1
- playsewithpan SE_W202, +63
+ playsewithpan SE_W202, SOUND_PAN_TARGET
waitforvisualfinish
end
WeatherBallSandstorm:
- loadspritegfx ANIM_TAG_058
- createsprite gUnknown_08596CE0, 130, -30, -100, 25, 1, 30, 0
- playsewithpan SE_W088, +63
+ loadspritegfx ANIM_TAG_ROCKS
+ createsprite gUnknown_08596CE0, ANIM_TARGET, 2, -30, -100, 25, 1, 30, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_08596CE0, 130, -30, -100, 25, 1, -40, 20
- playsewithpan SE_W088, +63
+ createsprite gUnknown_08596CE0, ANIM_TARGET, 2, -30, -100, 25, 1, -40, 20
+ playsewithpan SE_W088, SOUND_PAN_TARGET
delay 14
- createsprite gUnknown_08596CE0, 130, -30, -100, 25, 1, 0, 0
- playsewithpan SE_W088, +63
- waitforvisualfinish
- playsewithpan SE_W070, +63
- createsprite gUnknown_08596CB0, 130, -12, 27, 2, 3
- createsprite gUnknown_08596CB0, 130, 8, 28, 3, 4
- createsprite gUnknown_08596CB0, 130, -4, 30, 2, 3
- createsprite gUnknown_08596CB0, 130, 12, 25, 4, 4
+ createsprite gUnknown_08596CE0, ANIM_TARGET, 2, -30, -100, 25, 1, 0, 0
+ playsewithpan SE_W088, SOUND_PAN_TARGET
+ waitforvisualfinish
+ playsewithpan SE_W070, SOUND_PAN_TARGET
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -12, 27, 2, 3
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 8, 28, 3, 4
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, -4, 30, 2, 3
+ createsprite gUnknown_08596CB0, ANIM_TARGET, 2, 12, 25, 4, 4
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
waitforvisualfinish
end
WeatherBallIce:
- loadspritegfx ANIM_TAG_263
- loadspritegfx ANIM_TAG_141
- createsprite gUnknown_08595D44, 130, -30, -100, 25, 25, -40, 20
- playsewithpan SE_W258, +63
+ loadspritegfx ANIM_TAG_HAIL
+ loadspritegfx ANIM_TAG_ICE_CRYSTALS
+ createsprite gUnknown_08595D44, ANIM_TARGET, 2, -30, -100, 25, 25, -40, 20
+ playsewithpan SE_W258, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_08595D44, 130, -30, -100, 25, 25, 40, 0
- playsewithpan SE_W258, +63
+ createsprite gUnknown_08595D44, ANIM_TARGET, 2, -30, -100, 25, 25, 40, 0
+ playsewithpan SE_W258, SOUND_PAN_TARGET
delay 10
- createsprite gUnknown_08595D44, 130, -30, -100, 25, 25, 0, 0
- playsewithpan SE_W258, +63
+ createsprite gUnknown_08595D44, ANIM_TARGET, 2, -30, -100, 25, 25, 0, 0
+ playsewithpan SE_W258, SOUND_PAN_TARGET
waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
- playsewithpan SE_W196, +63
+ playsewithpan SE_W196, SOUND_PAN_TARGET
call FreezeEffect1
waitforvisualfinish
end
Move_COUNT:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W003, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -9929,226 +9929,226 @@ Move_COUNT:
end
FreezeEffect1:
- createsprite gUnknown_08595B68, 130, -10, -10, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, -10, -10, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 10, 20, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 10, 20, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B68, 130, -5, 10, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, -5, 10, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 17, -12, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 17, -12, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, -15, 15, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, -15, 15, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 0, 0, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 0, 0, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B68, 130, 20, 2, 0
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, 20, 2, 0
+ playsewithpan SE_W196, SOUND_PAN_TARGET
return
FreezeEffect2:
- createsprite gUnknown_08595B68, 130, -10, -10, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, -10, -10, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 10, 20, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 10, 20, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B68, 130, -29, 0, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, -29, 0, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 29, -20, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 29, -20, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B68, 130, -5, 10, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, -5, 10, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 17, -12, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 17, -12, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B68, 130, -20, 0, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, -20, 0, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, -15, 15, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, -15, 15, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 26, -5, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 26, -5, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B80, 130, 0, 0, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B80, ANIM_TARGET, 2, 0, 0, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
delay 4
- createsprite gUnknown_08595B68, 130, 20, 2, 1
- playsewithpan SE_W196, +63
+ createsprite gUnknown_08595B68, ANIM_TARGET, 2, 20, 2, 1
+ playsewithpan SE_W196, SOUND_PAN_TARGET
return
IcyWindEffect1: @ Unused
- loopsewithpan SE_W196, +63, 6, 4
- createsprite gUnknown_08595C04, 130, 0, 24, 0
+ loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 0, 24, 0
delay 4
- createsprite gUnknown_08595C04, 130, 8, 24, 0
- createsprite gUnknown_08595C04, 130, -8, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 8, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -8, 24, 0
delay 4
- createsprite gUnknown_08595C04, 130, 16, 24, 0
- createsprite gUnknown_08595C04, 130, -16, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 16, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -16, 24, 0
delay 4
- createsprite gUnknown_08595C04, 130, 24, 24, 0
- createsprite gUnknown_08595C04, 130, -24, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 24, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -24, 24, 0
delay 4
- createsprite gUnknown_08595C04, 130, 32, 24, 0
- createsprite gUnknown_08595C04, 130, -32, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 32, 24, 0
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -32, 24, 0
return
IcyWindEffect2:
- loopsewithpan SE_W196, +63, 6, 4
- createsprite gUnknown_08595C04, 130, 0, 24, 1
+ loopsewithpan SE_W196, SOUND_PAN_TARGET, 6, 4
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 0, 24, 1
delay 4
- createsprite gUnknown_08595C04, 130, 8, 24, 1
- createsprite gUnknown_08595C04, 130, -8, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 8, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -8, 24, 1
delay 4
- createsprite gUnknown_08595C04, 130, 16, 24, 1
- createsprite gUnknown_08595C04, 130, -16, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 16, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -16, 24, 1
delay 4
- createsprite gUnknown_08595C04, 130, 24, 24, 1
- createsprite gUnknown_08595C04, 130, -24, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 24, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -24, 24, 1
delay 4
- createsprite gUnknown_08595C04, 130, 32, 24, 1
- createsprite gUnknown_08595C04, 130, -32, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 32, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -32, 24, 1
delay 4
- createsprite gUnknown_08595C04, 130, 40, 24, 1
- createsprite gUnknown_08595C04, 130, -40, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 40, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -40, 24, 1
delay 4
- createsprite gUnknown_08595C04, 130, 48, 24, 1
- createsprite gUnknown_08595C04, 130, -48, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, 48, 24, 1
+ createsprite gUnknown_08595C04, ANIM_TARGET, 2, -48, 24, 1
return
GrantingStarsEffect:
- createsprite gUnknown_08592B7C, 2, -15, 0, 0, 0, 32, 60
+ createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, -15, 0, 0, 0, 32, 60
delay 8
- createsprite gUnknown_08592B7C, 2, 12, -5, 0, 0, 32, 60
+ createsprite gUnknown_08592B7C, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60
delay 8
return
HealingEffect:
- playsewithpan SE_W071B, -64
- createsprite gUnknown_08592F2C, 2, 0, -5, 0, 0
+ playsewithpan SE_W071B, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 0, -5, 0, 0
delay 7
- createsprite gUnknown_08592F2C, 2, -15, 10, 0, 0
+ createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, 10, 0, 0
delay 7
- createsprite gUnknown_08592F2C, 2, -15, -15, 0, 0
+ createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, -15, -15, 0, 0
delay 7
- createsprite gUnknown_08592F2C, 2, 10, -5, 0, 0
+ createsprite gUnknown_08592F2C, ANIM_ATTACKER, 2, 10, -5, 0, 0
delay 7
return
HealingEffect2:
- playsewithpan SE_W071B, +63
- createsprite gUnknown_08592F2C, 130, 0, -5, 1, 0
+ playsewithpan SE_W071B, SOUND_PAN_TARGET
+ createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 0, -5, 1, 0
delay 7
- createsprite gUnknown_08592F2C, 130, -15, 10, 1, 0
+ createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, 10, 1, 0
delay 7
- createsprite gUnknown_08592F2C, 130, -15, -15, 1, 0
+ createsprite gUnknown_08592F2C, ANIM_TARGET, 2, -15, -15, 1, 0
delay 7
- createsprite gUnknown_08592F2C, 130, 10, -5, 1, 0
+ createsprite gUnknown_08592F2C, ANIM_TARGET, 2, 10, -5, 1, 0
delay 7
return
PoisonBubblesEffect:
- createsprite gPoisonBubbleSpriteTemplate, 130, 10, 10, 0
- playsewithpan SE_W092, +63
+ createsprite gPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 10, 10, 0
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 6
- createsprite gPoisonBubbleSpriteTemplate, 130, 20, -20, 0
- playsewithpan SE_W092, +63
+ createsprite gPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, -20, 0
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 6
- createsprite gPoisonBubbleSpriteTemplate, 130, -20, 15, 0
- playsewithpan SE_W092, +63
+ createsprite gPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, -20, 15, 0
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 6
- createsprite gPoisonBubbleSpriteTemplate, 130, 0, 0, 0
- playsewithpan SE_W092, +63
+ createsprite gPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 0, 0, 0
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 6
- createsprite gPoisonBubbleSpriteTemplate, 130, -20, -20, 0
- playsewithpan SE_W092, +63
+ createsprite gPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, -20, -20, 0
+ playsewithpan SE_W092, SOUND_PAN_TARGET
delay 6
- createsprite gPoisonBubbleSpriteTemplate, 130, 16, -8, 0
- playsewithpan SE_W092, +63
+ createsprite gPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 16, -8, 0
+ playsewithpan SE_W092, SOUND_PAN_TARGET
return
WaterBubbleEffect:
- createsprite gWaterBubbleSpriteTemplate, 2, 10, 10, 0
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 0
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 20, -20, 0
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 20, -20, 0
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, -20, 15, 0
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, -20, 15, 0
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 0, 0, 0
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 0
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, -20, -20, 0
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, -20, -20, 0
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 16, -8, 0
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 16, -8, 0
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
return
WaterBubbleEffect2:
- createsprite gWaterBubbleSpriteTemplate, 2, 10, 10, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, -28, -10, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, -28, -10, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 20, -20, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 20, -20, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, -20, 15, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, -20, 15, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 0, 0, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 27, 8, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 27, 8, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, -20, -20, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, -20, -20, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
delay 6
- createsprite gWaterBubbleSpriteTemplate, 2, 16, -8, 1
- playsewithpan SE_W145C, +63
+ createsprite gWaterBubbleSpriteTemplate, ANIM_ATTACKER, 2, 16, -8, 1
+ playsewithpan SE_W145C, SOUND_PAN_TARGET
return
ElectricityEffect:
- playsewithpan SE_W085B, +63
- createsprite gElectricitySpriteTemplate, 130, 5, 0, 5, 0
+ playsewithpan SE_W085B, SOUND_PAN_TARGET
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 5, 0, 5, 0
delay 2
- createsprite gElectricitySpriteTemplate, 130, -5, 10, 5, 1
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, -5, 10, 5, 1
delay 2
- createsprite gElectricitySpriteTemplate, 130, 15, 20, 5, 2
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 15, 20, 5, 2
delay 2
- createsprite gElectricitySpriteTemplate, 130, -15, -10, 5, 0
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, -15, -10, 5, 0
delay 2
- createsprite gElectricitySpriteTemplate, 130, 25, 0, 5, 1
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 25, 0, 5, 1
delay 2
- createsprite gElectricitySpriteTemplate, 130, -8, 8, 5, 2
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, -8, 8, 5, 2
delay 2
- createsprite gElectricitySpriteTemplate, 130, 2, -8, 5, 0
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 2, -8, 5, 0
delay 2
- createsprite gElectricitySpriteTemplate, 130, -20, 15, 5, 1
+ createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, -20, 15, 5, 1
return
ConfusionEffect:
- loopsewithpan SE_W146, +63, 13, 6
- createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 0, 3, 90
- createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 51, 3, 90
- createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 102, 3, 90
- createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 153, 3, 90
- createsprite gConfusionDuckSpriteTemplate, 130, 0, -15, 204, 3, 90
+ loopsewithpan SE_W146, SOUND_PAN_TARGET, 13, 6
+ createsprite gConfusionDuckSpriteTemplate, ANIM_TARGET, 2, 0, -15, 0, 3, 90
+ createsprite gConfusionDuckSpriteTemplate, ANIM_TARGET, 2, 0, -15, 51, 3, 90
+ createsprite gConfusionDuckSpriteTemplate, ANIM_TARGET, 2, 0, -15, 102, 3, 90
+ createsprite gConfusionDuckSpriteTemplate, ANIM_TARGET, 2, 0, -15, 153, 3, 90
+ createsprite gConfusionDuckSpriteTemplate, ANIM_TARGET, 2, 0, -15, 204, 3, 90
return
SetPsychicBackground:
@@ -10211,7 +10211,7 @@ UnsetSolarbeamBg:
return
Status_Poison:
- loopsewithpan SE_W092, +63, 13, 6
+ loopsewithpan SE_W092, SOUND_PAN_TARGET, 13, 6
createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 18, 2
createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 12, RGB(30, 0, 31)
end
@@ -10223,35 +10223,35 @@ Status_Confusion:
Status_Burn:
loadspritegfx ANIM_TAG_SMALL_EMBER
- playsewithpan SE_W172, +63
+ playsewithpan SE_W172, SOUND_PAN_TARGET
call Burn1
call Burn1
call Burn1
waitforvisualfinish
end
Burn1:
- createsprite gUnknown_08595504, 130, -24, 24, 24, 24, 20, 1, 1
+ createsprite gUnknown_08595504, ANIM_TARGET, 2, -24, 24, 24, 24, 20, 1, 1
delay 4
return
Status_Infatuation:
- loadspritegfx ANIM_TAG_PURPLE_HEART
- playsewithpan SE_W204, -64
- createsprite gUnknown_08593970, 3, 0, 20
+ loadspritegfx ANIM_TAG_MAGENTA_HEART
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20
delay 15
- playsewithpan SE_W204, -64
- createsprite gUnknown_08593970, 3, -20, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, -20, 20
delay 15
- playsewithpan SE_W204, -64
- createsprite gUnknown_08593970, 3, 20, 20
+ playsewithpan SE_W204, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 20, 20
end
Status_Sleep:
loadspritegfx ANIM_TAG_LETTER_Z
- playsewithpan SE_W173, -64
- createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0
+ playsewithpan SE_W173, SOUND_PAN_ATTACKER
+ createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
delay 30
- createsprite gUnknown_08592C88, 2, 4, -10, 16, 0, 0
+ createsprite gUnknown_08592C88, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0
end
Status_Paralysis:
@@ -10265,27 +10265,27 @@ Status_Freeze:
loadspritegfx ANIM_TAG_ICE_CUBE
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
- waitplaysewithpan SE_W258, +63, 17
+ waitplaysewithpan SE_W258, SOUND_PAN_TARGET, 17
createvisualtask sub_80A9EF4, 2
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Status_Curse:
- loadspritegfx ANIM_TAG_200
+ loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W171, +63
- createsprite gBattleAnimSpriteTemplate_8596DE8, 130
+ playsewithpan SE_W171, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8596DE8, ANIM_TARGET, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
end
Status_Nightmare:
- loadspritegfx ANIM_TAG_EVIL_ANGEL
+ loadspritegfx ANIM_TAG_DEVIL
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W171, +63
- createsprite gBattleAnimSpriteTemplate_8596E00, 130
+ playsewithpan SE_W171, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_8596E00, ANIM_TARGET, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
@@ -10297,8 +10297,8 @@ General_CastformChange:
goto AnimScript_82D7EB2
AnimScript_82D7EB2:
monbg ANIM_ATTACKER
- playsewithpan SE_W100, -64
- waitplaysewithpan SE_W107, -64, 48
+ playsewithpan SE_W100, SOUND_PAN_ATTACKER
+ waitplaysewithpan SE_W107, SOUND_PAN_ATTACKER, 48
createvisualtask sub_815B7D0, 2, 1
waitforvisualfinish
clearmonbg ANIM_ATTACKER
@@ -10333,10 +10333,10 @@ General_PokeblockThrow:
createvisualtask sub_817345C, 2, 0
createvisualtask sub_81732B0, 2
delay 0
- waitplaysewithpan SE_W026, -64, 22
- createsprite gBattleAnimSpriteTemplate_85E5338, 131, -18, 12, 0, 32
+ waitplaysewithpan SE_W026, SOUND_PAN_ATTACKER, 22
+ createsprite gBattleAnimSpriteTemplate_85E5338, ANIM_TARGET, 3, -18, 12, 0, 32
delay 50
- loopsewithpan SE_W039, +63, 19, 2
+ loopsewithpan SE_W039, SOUND_PAN_TARGET, 19, 2
createvisualtask AnimTask_SwayMon, 5, 1, 8, 1536, 2, ANIM_TARGET
waitforvisualfinish
createvisualtask sub_81732E4, 2
@@ -10344,7 +10344,7 @@ General_PokeblockThrow:
General_ItemKnockoff:
loadspritegfx ANIM_TAG_ITEM_BAG
- createsprite gBattleAnimSpriteTemplate_8592628, 130
+ createsprite gBattleAnimSpriteTemplate_8592628, ANIM_TARGET, 2
end
General_TurnTrap:
@@ -10355,21 +10355,21 @@ General_TurnTrap:
jumpargeq 0, TRAP_ANIM_SAND_TOMB, Status_SandTomb
goto Status_BindWrap
Status_BindWrap:
- loadspritegfx ANIM_TAG_186
- loopsewithpan SE_W010, +63, 6, 2
- createsprite gUnknown_08592494, 132, 0, 16, 0, 1
+ loadspritegfx ANIM_TAG_TENDRILS
+ loopsewithpan SE_W010, SOUND_PAN_TARGET, 6, 2
+ createsprite gUnknown_08592494, ANIM_TARGET, 4, 0, 16, 0, 1
delay 7
- createsprite gUnknown_08592494, 130, 0, 8, 1, 1
+ createsprite gUnknown_08592494, ANIM_TARGET, 2, 0, 8, 1, 1
delay 3
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
delay 20
setarg 7, -1
- playsewithpan SE_W020, +63
+ playsewithpan SE_W020, SOUND_PAN_TARGET
waitforvisualfinish
end
Status_FireSpin:
loadspritegfx ANIM_TAG_SMALL_EMBER
- playsewithpan SE_W221B, +63
+ playsewithpan SE_W221B, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 30, 1
call FireSpinEffect
call FireSpinEffect
@@ -10377,32 +10377,32 @@ Status_FireSpin:
stopsound
end
Status_Whrilpool:
- loadspritegfx ANIM_TAG_149
+ loadspritegfx ANIM_TAG_WATER_ORB
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
setalpha 12, 8
delay 0
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(0, 13, 23)
- playsewithpan SE_W250, +63
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 7, RGB(0, 13, 23)
+ playsewithpan SE_W250, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 30, 1
call WhirlpoolEffect
call WhirlpoolEffect
delay 12
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(0, 13, 23)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 7, 0, RGB(0, 13, 23)
waitforvisualfinish
stopsound
clearmonbg ANIM_DEF_PARTNER
end
Status_Clamp:
- loadspritegfx ANIM_TAG_145
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_CLAMP
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W011, +63
- createsprite gUnknown_08597098, 2, -32, 0, 2, 819, 0, 10
- createsprite gUnknown_08597098, 2, 32, 0, 6, -819, 0, 10
+ playsewithpan SE_W011, SOUND_PAN_TARGET
+ createsprite gUnknown_08597098, ANIM_ATTACKER, 2, -32, 0, 2, 819, 0, 10
+ createsprite gUnknown_08597098, ANIM_ATTACKER, 2, 32, 0, 6, -819, 0, 10
delay 10
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 5, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -10410,71 +10410,71 @@ Status_Clamp:
waitforvisualfinish
end
Status_SandTomb:
- loadspritegfx ANIM_TAG_074
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 0, 7, RGB(19, 17, 0)
+ loadspritegfx ANIM_TAG_MUD_SAND
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 7, RGB(19, 17, 0)
createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 30, 1
- playsewithpan SE_W328, +63
+ playsewithpan SE_W328, SOUND_PAN_TARGET
call SandTombEffect
call SandTombEffect
delay 22
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 4, 2, 7, 0, RGB(19, 17, 0)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 7, 0, RGB(19, 17, 0)
waitforvisualfinish
stopsound
end
General_ItemEffect:
- loadspritegfx ANIM_TAG_203
- loadspritegfx ANIM_TAG_SPARKLE
+ loadspritegfx ANIM_TAG_THIN_RING
+ loadspritegfx ANIM_TAG_SPARKLE_2
delay 0
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask sub_80D622C, 2, 16, 128, 0, 2
waitforvisualfinish
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask sub_80D622C, 2, 16, 128, 0, 2
waitforvisualfinish
- playsewithpan SE_W036, -64
+ playsewithpan SE_W036, SOUND_PAN_ATTACKER
createvisualtask sub_80D622C, 2, 16, 128, 0, 2
waitforvisualfinish
- playsewithpan SE_W234, -64
+ playsewithpan SE_W234, SOUND_PAN_ATTACKER
call GrantingStarsEffect
waitforvisualfinish
- playsewithpan SE_REAPOKE, -64
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 2, 3, 7, 0, RGB(17, 31, 25)
- createsprite gUnknown_0859381C, 3, 0, 0, 0, 0
+ playsewithpan SE_REAPOKE, SOUND_PAN_ATTACKER
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 3, 7, 0, RGB(17, 31, 25)
+ createsprite gUnknown_0859381C, ANIM_ATTACKER, 3, 0, 0, 0, 0
waitforvisualfinish
end
General_SmokeballEscape:
- loadspritegfx ANIM_TAG_242
+ loadspritegfx ANIM_TAG_PINK_CLOUD
monbg ANIM_ATTACKER
setalpha 12, 4
delay 0
- playsewithpan SE_BOWA2, +63
- createsprite gUnknown_085CE734, 128, 0, 32, 28, 30
+ playsewithpan SE_BOWA2, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE734, ANIM_TARGET, 0, 0, 32, 28, 30
delay 4
- playsewithpan SE_BOWA2, +63
- createsprite gUnknown_085CE734, 127, 2, 12, 20, 30
+ playsewithpan SE_BOWA2, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 127, 2, 12, 20, 30
delay 12
- playsewithpan SE_BOWA2, +63
- createsprite gUnknown_085CE734, 0x7E, 2, -28, 4, 30
+ playsewithpan SE_BOWA2, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 126, 2, -28, 4, 30
delay 12
- playsewithpan SE_BOWA2, +63
- createsprite gUnknown_085CE734, 0x7C, 2, 14, -20, 30
+ playsewithpan SE_BOWA2, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 124, 2, 14, -20, 30
delay 4
- playsewithpan SE_BOWA2, +63
+ playsewithpan SE_BOWA2, SOUND_PAN_TARGET
createvisualtask sub_81136E8, 2, 2
- createsprite gUnknown_085CE734, 0x7B, 3, 4, 4, 30
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 123, 3, 4, 4, 30
delay 14
- playsewithpan SE_BOWA2, +63
- createsprite gUnknown_085CE734, 0x7A, 3, -14, 18, 46
+ playsewithpan SE_BOWA2, SOUND_PAN_TARGET
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 122, 3, -14, 18, 46
delay 0
- createsprite gUnknown_085CE734, 0x79, 3, 14, -14, 46
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 121, 3, 14, -14, 46
delay 0
- createsprite gUnknown_085CE734, 120, 3, -12, -10, 46
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 120, 3, -12, -10, 46
delay 0
- createsprite gUnknown_085CE734, 0x77, 3, 14, 14, 46
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 119, 3, 14, 14, 46
delay 0
- createsprite gUnknown_085CE734, 0x76, 3, 0, 0, 46
+ createsprite gUnknown_085CE734, ANIM_ATTACKER, 118, 3, 0, 0, 46
waitforvisualfinish
clearmonbg ANIM_ATTACKER
invisible ANIM_ATTACKER
@@ -10483,19 +10483,19 @@ General_SmokeballEscape:
end
General_HangedOn:
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 2, 7, 0, 9, RGB_RED
- playsewithpan SE_W082, -64
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 2, 7, 0, 9, RGB_RED
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
createvisualtask sub_815DB90, 5, 30, 128, 0, 1, 2, 0, 1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 0, 2, 4, 9, 0, RGB_RED
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 2, 4, 9, 0, RGB_RED
waitforvisualfinish
delay 6
- createsprite gSlideMonToOriginalPosSpriteTemplate, 0, 0, 0, 15
+ createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 0, 0, 0, 15
end
General_Rain:
- loadspritegfx ANIM_TAG_115
- playsewithpan SE_W240, -64
+ loadspritegfx ANIM_TAG_RAIN_DROPS
+ playsewithpan SE_W240, SOUND_PAN_ATTACKER
createvisualtask sub_8116620, 10, 0x781, 2, 0, 4, RGB_BLACK
waitforvisualfinish
createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60
@@ -10521,11 +10521,11 @@ General_LeechSeedDrain:
goto Move_ABSORB
General_MonHit:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
monbg ANIM_TARGET
setalpha 12, 8
- playsewithpan SE_W003, +63
- createsprite gBasicHitSplatSpriteTemplate, 2, 0, 0, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1
waitforvisualfinish
clearmonbg ANIM_TARGET
@@ -10537,7 +10537,7 @@ General_ItemSteal:
createvisualtask sub_8117F30, 2
createvisualtask sub_8172ED0, 2
delay 1
- createsprite gUnknown_08592670, 2, 0, -5, 10, 2, -1
+ createsprite gUnknown_08592670, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1
end
General_SnatchMove:
@@ -10555,22 +10555,22 @@ SnatchMoveContinue:
call AnimScript_82D85C3
end
SnatchOpposingMonMove:
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
createvisualtask sub_815F8F4, 2
goto SnatchMoveContinue
SnatchPartnerMonMove:
- playsewithpan SE_W104, -64
+ playsewithpan SE_W104, SOUND_PAN_ATTACKER
createvisualtask sub_815FFC4, 2
goto SnatchMoveContinue
General_FutureSightHit:
createvisualtask sub_8117F10, 2
monbg ANIM_DEF_PARTNER
- playsewithpan SE_W060, -64
+ playsewithpan SE_W060, SOUND_PAN_ATTACKER
call SetPsychicBackground
setalpha 8, 8
- playsewithpan SE_W048, +63
- waitplaysewithpan SE_W048, +63, 8
+ playsewithpan SE_W048, SOUND_PAN_TARGET
+ waitplaysewithpan SE_W048, SOUND_PAN_TARGET, 8
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 15, 1
createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 15, ANIM_TARGET, 1
waitforvisualfinish
@@ -10586,40 +10586,40 @@ General_FutureSightHit:
General_DoomDesireHit:
createvisualtask sub_8117F10, 2
loadspritegfx ANIM_TAG_EXPLOSION
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 16, RGB_WHITE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 16, RGB_WHITE
waitforvisualfinish
delay 10
createvisualtask sub_815C0A4, 5
delay 9
- playsewithpan SE_W109, -64
+ playsewithpan SE_W109, SOUND_PAN_ATTACKER
delay 9
playsewithpan SE_W109, 0
delay 9
- playsewithpan SE_W109, +63
+ playsewithpan SE_W109, SOUND_PAN_TARGET
delay 25
createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 20, 1
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 0, 0, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 0, 0, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 24, -24, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 24, -24, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -16, 16, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -16, 16, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, -24, -12, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, -24, -12, 1, 1
delay 6
- playsewithpan SE_W120, +63
- createsprite gBattleAnimSpriteTemplate_859371C, 3, 16, 16, 1, 1
+ playsewithpan SE_W120, SOUND_PAN_TARGET
+ createsprite gBattleAnimSpriteTemplate_859371C, ANIM_ATTACKER, 3, 16, 16, 1, 1
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 16, 0, RGB_WHITE
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 16, 0, RGB_WHITE
waitforvisualfinish
end
General_FocusPunchSetUp:
- loadspritegfx ANIM_TAG_184
- playsewithpan SE_W082, -64
+ loadspritegfx ANIM_TAG_FOCUS_ENERGY
+ playsewithpan SE_W082, SOUND_PAN_ATTACKER
call EndureEffect
delay 8
createvisualtask sub_8115A04, 2, 2, 2, 2, 0, 11, RGB_RED
@@ -10631,11 +10631,11 @@ General_FocusPunchSetUp:
end
General_IngrainHeal:
- loadspritegfx ANIM_TAG_147
+ loadspritegfx ANIM_TAG_ORBS
loadspritegfx ANIM_TAG_BLUE_STAR
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 0, 4, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 0, 4, RGB(13, 31, 12)
waitforvisualfinish
delay 3
call AbsorbEffect
@@ -10643,24 +10643,24 @@ General_IngrainHeal:
delay 15
call HealingEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 1, 4, 0, RGB(13, 31, 12)
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 1, 4, 0, RGB(13, 31, 12)
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
end
General_WishHeal:
- loadspritegfx ANIM_TAG_SPARKLE
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 0, 10, RGB_BLACK
+ loadspritegfx ANIM_TAG_SPARKLE_2
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 0, 10, RGB_BLACK
waitforvisualfinish
- playsewithpan SE_W025, -64
+ playsewithpan SE_W025, SOUND_PAN_ATTACKER
call GrantingStarsEffect
waitforvisualfinish
- unloadspritegfx ANIM_TAG_SPARKLE
+ unloadspritegfx ANIM_TAG_SPARKLE_2
loadspritegfx ANIM_TAG_BLUE_STAR
call HealingEffect
waitforvisualfinish
- createsprite gSimplePaletteBlendSpriteTemplate, 2, 1, 3, 10, 0, RGB_BLACK
+ createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 3, 10, 0, RGB_BLACK
end
AnimScript_82D85A3:
@@ -10718,13 +10718,13 @@ BallThrowEnd:
createvisualtask sub_8170D24, 2
end
BallThrowTrainerBlock:
- loadspritegfx ANIM_TAG_135
+ loadspritegfx ANIM_TAG_IMPACT
delay 25
monbg ANIM_DEF_PARTNER
setalpha 12, 8
delay 0
- playsewithpan SE_W003, +63
- createsprite gBasicHitSplatSpriteTemplate, 130, -4, -20, 1, 2
+ playsewithpan SE_W003, SOUND_PAN_TARGET
+ createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -4, -20, 1, 2
waitforvisualfinish
clearmonbg ANIM_DEF_PARTNER
blendoff
diff --git a/data/battle_anims.s b/data/battle_anims.s
deleted file mode 100644
index 955da1a2e..000000000
--- a/data/battle_anims.s
+++ /dev/null
@@ -1,907 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_08524904:: @ 8524904
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852490C:: @ 852490C
- .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524914:: @ 8524914
- .byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852491C:: @ 852491C
- .byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524924:: @ 8524924
- .byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852492C:: @ 852492C
- .byte 0x00, 0x40, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524934:: @ 8524934
- .byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852493C:: @ 852493C
- .byte 0x00, 0x40, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524944:: @ 8524944
- .byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852494C:: @ 852494C
- .byte 0x00, 0x80, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524954:: @ 8524954
- .byte 0x00, 0x80, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852495C:: @ 852495C
- .byte 0x00, 0x80, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524964:: @ 8524964
- .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852496C:: @ 852496C
- .byte 0x00, 0x01, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524974:: @ 8524974
- .byte 0x00, 0x01, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852497C:: @ 852497C
- .byte 0x00, 0x01, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524984:: @ 8524984
- .byte 0x00, 0x41, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852498C:: @ 852498C
- .byte 0x00, 0x41, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524994:: @ 8524994
- .byte 0x00, 0x41, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_0852499C:: @ 852499C
- .byte 0x00, 0x41, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249A4:: @ 85249A4
- .byte 0x00, 0x81, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249AC:: @ 85249AC
- .byte 0x00, 0x81, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249B4:: @ 85249B4
- .byte 0x00, 0x81, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249BC:: @ 85249BC
- .byte 0x00, 0x81, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249C4:: @ 85249C4
- .byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249CC:: @ 85249CC
- .byte 0x00, 0x03, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249D4:: @ 85249D4
- .byte 0x00, 0x03, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249DC:: @ 85249DC
- .byte 0x00, 0x03, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249E4:: @ 85249E4
- .byte 0x00, 0x43, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249EC:: @ 85249EC
- .byte 0x00, 0x43, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249F4:: @ 85249F4
- .byte 0x00, 0x43, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_085249FC:: @ 85249FC
- .byte 0x00, 0x43, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A04:: @ 8524A04
- .byte 0x00, 0x83, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A0C:: @ 8524A0C
- .byte 0x00, 0x83, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A14:: @ 8524A14
- .byte 0x00, 0x83, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A1C:: @ 8524A1C
- .byte 0x00, 0x83, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A24:: @ 8524A24
- .byte 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A2C:: @ 8524A2C
- .byte 0x00, 0x04, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A34:: @ 8524A34
- .byte 0x00, 0x04, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A3C:: @ 8524A3C
- .byte 0x00, 0x04, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A44:: @ 8524A44
- .byte 0x00, 0x44, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A4C:: @ 8524A4C
- .byte 0x00, 0x44, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A54:: @ 8524A54
- .byte 0x00, 0x44, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A5C:: @ 8524A5C
- .byte 0x00, 0x44, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A64:: @ 8524A64
- .byte 0x00, 0x84, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A6C:: @ 8524A6C
- .byte 0x00, 0x84, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A74:: @ 8524A74
- .byte 0x00, 0x84, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A7C:: @ 8524A7C
- .byte 0x00, 0x84, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A84:: @ 8524A84
- .byte 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A8C:: @ 8524A8C
- .byte 0x00, 0x05, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A94:: @ 8524A94
- .byte 0x00, 0x05, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524A9C:: @ 8524A9C
- .byte 0x00, 0x05, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AA4:: @ 8524AA4
- .byte 0x00, 0x45, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AAC:: @ 8524AAC
- .byte 0x00, 0x45, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AB4:: @ 8524AB4
- .byte 0x00, 0x45, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524ABC:: @ 8524ABC
- .byte 0x00, 0x45, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AC4:: @ 8524AC4
- .byte 0x00, 0x85, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524ACC:: @ 8524ACC
- .byte 0x00, 0x85, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AD4:: @ 8524AD4
- .byte 0x00, 0x85, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524ADC:: @ 8524ADC
- .byte 0x00, 0x85, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AE4:: @ 8524AE4
- .byte 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AEC:: @ 8524AEC
- .byte 0x00, 0x07, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AF4:: @ 8524AF4
- .byte 0x00, 0x07, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524AFC:: @ 8524AFC
- .byte 0x00, 0x07, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B04:: @ 8524B04
- .byte 0x00, 0x47, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B0C:: @ 8524B0C
- .byte 0x00, 0x47, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B14:: @ 8524B14
- .byte 0x00, 0x47, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B1C:: @ 8524B1C
- .byte 0x00, 0x47, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B24:: @ 8524B24
- .byte 0x00, 0x87, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B2C:: @ 8524B2C
- .byte 0x00, 0x87, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B34:: @ 8524B34
- .byte 0x00, 0x87, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gUnknown_08524B3C:: @ 8524B3C
- .byte 0x00, 0x87, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
-
- .align 2
-gBattleAnimPicTable:: @ 8524B44
- obj_tiles gBattleAnimSpriteSheet_000, 0x0200, 0x2710
- obj_tiles gBattleAnimSpriteSheet_001, 0x0300, 0x2711
- obj_tiles gBattleAnimSpriteSheet_002, 0x0200, 0x2712
- obj_tiles gBattleAnimSpriteSheet_003, 0x0100, 0x2713
- obj_tiles gBattleAnimSpriteSheet_004, 0x0200, 0x2714
- obj_tiles gBattleAnimSpriteSheet_005, 0x0400, 0x2715
- obj_tiles gBattleAnimSpriteSheet_006, 0x0180, 0x2716
- obj_tiles gBattleAnimSpriteSheet_007, 0x0800, 0x2717
- obj_tiles gBattleAnimSpriteSheet_008, 0x0020, 0x2718
- obj_tiles gBattleAnimSpriteSheet_009, 0x0400, 0x2719
- obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 0x271a
- obj_tiles gBattleAnimSpriteSheet_011, 0x0180, 0x271b
- obj_tiles gBattleAnimSpriteSheet_012, 0x0080, 0x271c
- obj_tiles gBattleAnimSpriteSheet_013, 0x0080, 0x271d
- obj_tiles gBattleAnimSpriteSheet_014, 0x0280, 0x271e
- obj_tiles gBattleAnimSpriteSheet_015, 0x0080, 0x271f
- obj_tiles gBattleAnimSpriteSheet_016, 0x0100, 0x2720
- obj_tiles gBattleAnimSpriteSheet_017, 0x0020, 0x2721
- obj_tiles gBattleAnimSpriteSheet_018, 0x0080, 0x2722
- obj_tiles gBattleAnimSpriteSheet_019, 0x0400, 0x2723
- obj_tiles gBattleAnimSpriteSheet_020, 0x0200, 0x2724
- obj_tiles gBattleAnimSpriteSheet_021, 0x0a00, 0x2725
- obj_tiles gBattleAnimSpriteSheet_021, 0x0a00, 0x2726
- obj_tiles gBattleAnimSpriteSheet_023, 0x0380, 0x2727
- obj_tiles gBattleAnimSpriteSheet_024, 0x0300, 0x2728
- obj_tiles gBattleAnimSpriteSheet_025, 0x0a00, 0x2729
- obj_tiles gBattleAnimSpriteSheet_026, 0x0a00, 0x272a
- obj_tiles gBattleAnimSpriteSheet_027, 0x0a00, 0x272b
- obj_tiles gBattleAnimSpriteSheet_028, 0x0a00, 0x272c
- obj_tiles gBattleAnimSpriteSheet_029, 0x0a00, 0x272d
- obj_tiles gBattleAnimSpriteSheet_030, 0x0a00, 0x272e
- obj_tiles gBattleAnimSpriteSheet_031, 0x0e00, 0x272f
- obj_tiles gBattleAnimSpriteSheet_032, 0x0380, 0x2730
- obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 0x2731
- obj_tiles gBattleAnimSpriteSheet_034, 0x0800, 0x2732
- obj_tiles gBattleAnimSpriteSheet_035, 0x0a00, 0x2733
- obj_tiles gBattleAnimSpriteSheet_036, 0x0800, 0x2734
- obj_tiles gBattleAnimSpriteSheet_037, 0x0a00, 0x2735
- obj_tiles gBattleAnimSpriteSheet_038, 0x0a00, 0x2736
- obj_tiles gBattleAnimSpriteSheet_039, 0x0a00, 0x2737
- obj_tiles gBattleAnimSpriteSheet_040, 0x0a00, 0x2738
- obj_tiles gBattleAnimSpriteSheet_041, 0x0a00, 0x2739
- obj_tiles gBattleAnimSpriteSheet_042, 0x0a00, 0x273a
- obj_tiles gBattleAnimSpriteSheet_043, 0x0a00, 0x273b
- obj_tiles gBattleAnimSpriteSheet_044, 0x0a00, 0x273c
- obj_tiles gBattleAnimSpriteSheet_045, 0x0a00, 0x273d
- obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 0x273e
- obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 0x273f
- obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 0x2740
- obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 0x2741
- obj_tiles gBattleAnimSpriteSheet_050, 0x0200, 0x2742
- obj_tiles gBattleAnimSpriteSheet_051, 0x0200, 0x2743
- obj_tiles gBattleAnimSpriteSheet_052, 0x0200, 0x2744
- obj_tiles gBattleAnimSpriteSheet_053, 0x0800, 0x2745
- obj_tiles gBattleAnimSpriteSheet_054, 0x0080, 0x2746
- obj_tiles gBattleAnimSpriteSheet_055, 0x0200, 0x2747
- obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 0x2748
- obj_tiles gBattleAnimSpriteSheet_057, 0x0180, 0x2749
- obj_tiles gBattleAnimSpriteSheet_058, 0x0c00, 0x274a
- obj_tiles gBattleAnimSpriteSheet_059, 0x0100, 0x274b
- obj_tiles gBattleAnimSpriteSheet_060, 0x0040, 0x274c
- obj_tiles gBattleAnimSpriteSheet_061, 0x0180, 0x274d
- obj_tiles gBattleAnimSpriteSheet_062, 0x0800, 0x274e
- obj_tiles gBattleAnimSpriteSheet_063, 0x0480, 0x274f
- obj_tiles gBattleAnimSpriteSheet_064, 0x0200, 0x2750
- obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2751
- obj_tiles gBattleAnimSpriteSheet_066, 0x0100, 0x2752
- obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2753
- obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2754
- obj_tiles gBattleAnimSpriteSheet_065, 0x0200, 0x2755
- obj_tiles gBattleAnimSpriteSheet_070, 0x0200, 0x2756
- obj_tiles gBattleAnimSpriteSheet_071, 0x0a00, 0x2757
- obj_tiles gBattleAnimSpriteSheet_072, 0x0300, 0x2758
- obj_tiles gBattleAnimSpriteSheet_073, 0x0180, 0x2759
- obj_tiles gBattleAnimSpriteSheet_074, 0x00a0, 0x275a
- obj_tiles gBattleAnimSpriteSheet_075, 0x0700, 0x275b
- obj_tiles gBattleAnimSpriteSheet_076, 0x0400, 0x275c
- obj_tiles gBattleAnimSpriteSheet_077, 0x0200, 0x275d
- obj_tiles gBattleAnimSpriteSheet_078, 0x0300, 0x275e
- obj_tiles gBattleAnimSpriteSheet_079, 0x0c00, 0x275f
- obj_tiles gBattleAnimSpriteSheet_080, 0x0a00, 0x2760
- obj_tiles gBattleAnimSpriteSheet_081, 0x0080, 0x2761
- obj_tiles gBattleAnimSpriteSheet_082, 0x0040, 0x2762
- obj_tiles gBattleAnimSpriteSheet_083, 0x0e00, 0x2763
- obj_tiles gBattleAnimSpriteSheet_084, 0x0e00, 0x2764
- obj_tiles gBattleAnimSpriteSheet_085, 0x0280, 0x2765
- obj_tiles gBattleAnimSpriteSheet_086, 0x0200, 0x2766
- obj_tiles gBattleAnimSpriteSheet_087, 0x0080, 0x2767
- obj_tiles gBattleAnimSpriteSheet_088, 0x00c0, 0x2768
- obj_tiles gBattleAnimSpriteSheet_089, 0x0a00, 0x2769
- obj_tiles gBattleAnimSpriteSheet_090, 0x0200, 0x276a
- obj_tiles gBattleAnimSpriteSheet_091, 0x0180, 0x276b
- obj_tiles gBattleAnimSpriteSheet_092, 0x0080, 0x276c
- obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 0x276d
- obj_tiles gBattleAnimSpriteSheet_094, 0x0a00, 0x276e
- obj_tiles gBattleAnimSpriteSheet_095, 0x0180, 0x276f
- obj_tiles gBattleAnimSpriteSheet_096, 0x0380, 0x2770
- obj_tiles gBattleAnimSpriteSheet_097, 0x0c00, 0x2771
- obj_tiles gBattleAnimSpriteSheet_098, 0x0200, 0x2772
- obj_tiles gBattleAnimSpriteSheet_099, 0x0200, 0x2773
- obj_tiles gBattleAnimSpriteSheet_100, 0x0200, 0x2774
- obj_tiles gBattleAnimSpriteSheet_101, 0x0200, 0x2775
- obj_tiles gBattleAnimSpriteSheet_102, 0x0400, 0x2776
- obj_tiles gBattleAnimSpriteSheet_103, 0x0080, 0x2777
- obj_tiles gBattleAnimSpriteSheet_104, 0x0400, 0x2778
- obj_tiles gBattleAnimSpriteSheet_105, 0x0c00, 0x2779
- obj_tiles gBattleAnimSpriteSheet_106, 0x0200, 0x277a
- obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 0x277b
- obj_tiles gBattleAnimSpriteSheet_108, 0x0a00, 0x277c
- obj_tiles gBattleAnimSpriteSheet_109, 0x0020, 0x277d
- obj_tiles gBattleAnimSpriteSheet_110, 0x0e00, 0x277e
- obj_tiles gBattleAnimSpriteSheet_111, 0x0080, 0x277f
- obj_tiles gBattleAnimSpriteSheet_112, 0x0a00, 0x2780
- obj_tiles gBattleAnimSpriteSheet_113, 0x0400, 0x2781
- obj_tiles gBattleAnimSpriteSheet_114, 0x0200, 0x2782
- obj_tiles gBattleAnimSpriteSheet_115, 0x0700, 0x2783
- obj_tiles gBattleAnimSpriteSheet_116, 0x0800, 0x2784
- obj_tiles gBattleAnimSpriteSheet_117, 0x0a00, 0x2785
- obj_tiles gBattleAnimSpriteSheet_118, 0x0600, 0x2786
- obj_tiles gBattleAnimSpriteSheet_119, 0x0800, 0x2787
- obj_tiles gBattleAnimSpriteSheet_120, 0x0200, 0x2788
- obj_tiles gBattleAnimSpriteSheet_121, 0x0040, 0x2789
- obj_tiles gBattleAnimSpriteSheet_122, 0x0180, 0x278a
- obj_tiles gBattleAnimSpriteSheet_123, 0x0600, 0x278b
- obj_tiles gBattleAnimSpriteSheet_124, 0x0600, 0x278c
- obj_tiles gBattleAnimSpriteSheet_125, 0x0200, 0x278d
- obj_tiles gBattleAnimSpriteSheet_126, 0x0080, 0x278e
- obj_tiles gBattleAnimSpriteSheet_127, 0x0200, 0x278f
- obj_tiles gBattleAnimSpriteSheet_128, 0x0800, 0x2790
- obj_tiles gBattleAnimSpriteSheet_129, 0x0080, 0x2791
- obj_tiles gBattleAnimSpriteSheet_130, 0x0a00, 0x2792
- obj_tiles gBattleAnimSpriteSheet_131, 0x0280, 0x2793
- obj_tiles gBattleAnimSpriteSheet_132, 0x0280, 0x2794
- obj_tiles gBattleAnimSpriteSheet_133, 0x0100, 0x2795
- obj_tiles gBattleAnimSpriteSheet_134, 0x0200, 0x2796
- obj_tiles gBattleAnimSpriteSheet_135, 0x0200, 0x2797
- obj_tiles gBattleAnimSpriteSheet_136, 0x0020, 0x2798
- obj_tiles gBattleAnimSpriteSheet_137, 0x0a00, 0x2799
- obj_tiles gBattleAnimSpriteSheet_138, 0x0800, 0x279a
- obj_tiles gBattleAnimSpriteSheet_139, 0x0800, 0x279b
- obj_tiles gBattleAnimSpriteSheet_140, 0x00c0, 0x279c
- obj_tiles gBattleAnimSpriteSheet_141, 0x01c0, 0x279d
- obj_tiles gBattleAnimSpriteSheet_142, 0x0100, 0x279e
- obj_tiles gBattleAnimSpriteSheet_143, 0x0800, 0x279f
- obj_tiles gBattleAnimSpriteSheet_144, 0x0200, 0x27a0
- obj_tiles gBattleAnimSpriteSheet_145, 0x0800, 0x27a1
- obj_tiles gBattleAnimSpriteSheet_146, 0x0180, 0x27a2
- obj_tiles gBattleAnimSpriteSheet_147, 0x0180, 0x27a3
- obj_tiles gBattleAnimSpriteSheet_148, 0x0200, 0x27a4
- obj_tiles gBattleAnimSpriteSheet_149, 0x0200, 0x27a5
- obj_tiles gBattleAnimSpriteSheet_150, 0x0180, 0x27a6
- obj_tiles gBattleAnimSpriteSheet_151, 0x0400, 0x27a7
- obj_tiles gBattleAnimSpriteSheet_152, 0x0080, 0x27a8
- obj_tiles gBattleAnimSpriteSheet_153, 0x0100, 0x27a9
- obj_tiles gBattleAnimSpriteSheet_154, 0x0100, 0x27aa
- obj_tiles gBattleAnimSpriteSheet_155, 0x0140, 0x27ab
- obj_tiles gBattleAnimSpriteSheet_156, 0x0800, 0x27ac
- obj_tiles gBattleAnimSpriteSheet_157, 0x0200, 0x27ad
- obj_tiles gBattleAnimSpriteSheet_158, 0x0100, 0x27ae
- obj_tiles gBattleAnimSpriteSheet_159, 0x00a0, 0x27af
- obj_tiles gBattleAnimSpriteSheet_160, 0x0100, 0x27b0
- obj_tiles gBattleAnimSpriteSheet_161, 0x0080, 0x27b1
- obj_tiles gBattleAnimSpriteSheet_162, 0x0300, 0x27b2
- obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x27b3
- obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x27b4
- obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x27b5
- obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b6
- obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b7
- obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b8
- obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27b9
- obj_tiles gBattleAnimSpriteSheet_166, 0x0800, 0x27ba
- obj_tiles gBattleAnimSpriteSheet_171, 0x0080, 0x27bb
- obj_tiles gBattleAnimSpriteSheet_144, 0x0200, 0x27bc
- obj_tiles gBattleAnimSpriteSheet_173, 0x0200, 0x27bd
- obj_tiles gBattleAnimSpriteSheet_174, 0x0200, 0x27be
- obj_tiles gBattleAnimSpriteSheet_175, 0x0080, 0x27bf
- obj_tiles gBattleAnimSpriteSheet_176, 0x0200, 0x27c0
- obj_tiles gBattleAnimSpriteSheet_177, 0x0500, 0x27c1
- obj_tiles gBattleAnimSpriteSheet_178, 0x0800, 0x27c2
- obj_tiles gBattleAnimSpriteSheet_179, 0x0400, 0x27c3
- obj_tiles gBattleAnimSpriteSheet_180, 0x0020, 0x27c4
- obj_tiles gBattleAnimSpriteSheet_181, 0x0800, 0x27c5
- obj_tiles gBattleAnimSpriteSheet_182, 0x0100, 0x27c6
- obj_tiles gBattleAnimSpriteSheet_183, 0x0800, 0x27c7
- obj_tiles gBattleAnimSpriteSheet_184, 0x0400, 0x27c8
- obj_tiles gBattleAnimSpriteSheet_185, 0x0a00, 0x27c9
- obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 0x27ca
- obj_tiles gBattleAnimSpriteSheet_187, 0x0800, 0x27cb
- obj_tiles gBattleAnimSpriteSheet_188, 0x0400, 0x27cc
- obj_tiles gBattleAnimSpriteSheet_189, 0x0200, 0x27cd
- obj_tiles gBattleAnimSpriteSheet_190, 0x0800, 0x27ce
- obj_tiles gBattleAnimSpriteSheet_191, 0x0800, 0x27cf
- obj_tiles gBattleAnimSpriteSheet_192, 0x0800, 0x27d0
- obj_tiles gBattleAnimSpriteSheet_193, 0x0200, 0x27d1
- obj_tiles gBattleAnimSpriteSheet_194, 0x0800, 0x27d2
- obj_tiles gBattleAnimSpriteSheet_195, 0x0200, 0x27d3
- obj_tiles gBattleAnimSpriteSheet_196, 0x0800, 0x27d4
- obj_tiles gBattleAnimSpriteSheet_197, 0x0200, 0x27d5
- obj_tiles gBattleAnimSpriteSheet_198, 0x0800, 0x27d6
- obj_tiles gBattleAnimSpriteSheet_199, 0x0400, 0x27d7
- obj_tiles gBattleAnimSpriteSheet_200, 0x0200, 0x27d8
- obj_tiles gBattleAnimSpriteSheet_201, 0x0a80, 0x27d9
- obj_tiles gBattleAnimSpriteSheet_202, 0x0600, 0x27da
- obj_tiles gBattleAnimSpriteSheet_203, 0x0800, 0x27db
- obj_tiles gBattleAnimSpriteSheet_204, 0x0200, 0x27dc
- obj_tiles gBattleAnimSpriteSheet_205, 0x0600, 0x27dd
- obj_tiles gBattleAnimSpriteSheet_206, 0x0800, 0x27de
- obj_tiles gBattleAnimSpriteSheet_207, 0x0180, 0x27df
- obj_tiles gBattleAnimSpriteSheet_208, 0x0800, 0x27e0
- obj_tiles gBattleAnimSpriteSheet_209, 0x0800, 0x27e1
- obj_tiles gBattleAnimSpriteSheet_210, 0x0080, 0x27e2
- obj_tiles gBattleAnimSpriteSheet_211, 0x0080, 0x27e3
- obj_tiles gBattleAnimSpriteSheet_212, 0x0800, 0x27e4
- obj_tiles gBattleAnimSpriteSheet_213, 0x0800, 0x27e5
- obj_tiles gBattleAnimSpriteSheet_214, 0x0600, 0x27e6
- obj_tiles gBattleAnimSpriteSheet_215, 0x0600, 0x27e7
- obj_tiles gBattleAnimSpriteSheet_210, 0x0080, 0x27e8
- obj_tiles gBattleAnimSpriteSheet_217, 0x0080, 0x27e9
- obj_tiles gBattleAnimSpriteSheet_218, 0x0180, 0x27ea
- obj_tiles gBattleAnimSpriteSheet_210, 0x0080, 0x27eb
- obj_tiles gBattleAnimSpriteSheet_220, 0x0200, 0x27ec
- obj_tiles gBattleAnimSpriteSheet_221, 0x0400, 0x27ed
- obj_tiles gBattleAnimSpriteSheet_222, 0x0a00, 0x27ee
- obj_tiles gBattleAnimSpriteSheet_223, 0x0800, 0x27ef
- obj_tiles gBattleAnimSpriteSheet_224, 0x0200, 0x27f0
- obj_tiles gBattleAnimSpriteSheet_225, 0x0400, 0x27f1
- obj_tiles gBattleAnimSpriteSheet_226, 0x0080, 0x27f2
- obj_tiles gBattleAnimSpriteSheet_227, 0x0800, 0x27f3
- obj_tiles gBattleAnimSpriteSheet_228, 0x0200, 0x27f4
- obj_tiles gBattleAnimSpriteSheet_229, 0x0300, 0x27f5
- obj_tiles gBattleAnimSpriteSheet_230, 0x0800, 0x27f6
- obj_tiles gBattleAnimSpriteSheet_231, 0x0380, 0x27f7
- obj_tiles gBattleAnimSpriteSheet_232, 0x0800, 0x27f8
- obj_tiles gBattleAnimSpriteSheet_233, 0x00c0, 0x27f9
- obj_tiles gBattleAnimSpriteSheet_234, 0x0800, 0x27fa
- obj_tiles gBattleAnimSpriteSheet_235, 0x0060, 0x27fb
- obj_tiles gBattleAnimSpriteSheet_235, 0x0060, 0x27fc
- obj_tiles gBattleAnimSpriteSheet_235, 0x0060, 0x27fd
- obj_tiles gBattleAnimSpriteSheet_238, 0x0080, 0x27fe
- obj_tiles gBattleAnimSpriteSheet_239, 0x0180, 0x27ff
- obj_tiles gBattleAnimSpriteSheet_240, 0x0180, 0x2800
- obj_tiles gBattleAnimSpriteSheet_241, 0x0200, 0x2801
- obj_tiles gBattleAnimSpriteSheet_242, 0x0200, 0x2802
- obj_tiles gBattleAnimSpriteSheet_243, 0x0020, 0x2803
- obj_tiles gBattleAnimSpriteSheet_244, 0x0400, 0x2804
- obj_tiles gBattleAnimSpriteSheet_245, 0x0600, 0x2805
- obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 0x2806
- obj_tiles gBattleAnimSpriteSheet_247, 0x0400, 0x2807
- obj_tiles gBattleAnimSpriteSheet_248, 0x0020, 0x2808
- obj_tiles gBattleAnimSpriteSheet_249, 0x0080, 0x2809
- obj_tiles gBattleAnimSpriteSheet_250, 0x0800, 0x280a
- obj_tiles gBattleAnimSpriteSheet_251, 0x0080, 0x280b
- obj_tiles gBattleAnimSpriteSheet_252, 0x0200, 0x280c
- obj_tiles gBattleAnimSpriteSheet_253, 0x0400, 0x280d
- obj_tiles gBattleAnimSpriteSheet_254, 0x0200, 0x280e
- obj_tiles gBattleAnimSpriteSheet_255, 0x0200, 0x280f
- obj_tiles gBattleAnimSpriteSheet_256, 0x0800, 0x2810
- obj_tiles gBattleAnimSpriteSheet_257, 0x0280, 0x2811
- obj_tiles gBattleAnimSpriteSheet_258, 0x0200, 0x2812
- obj_tiles gBattleAnimSpriteSheet_149, 0x0200, 0x2813
- obj_tiles gBattleAnimSpriteSheet_260, 0x0400, 0x2814
- obj_tiles gBattleAnimSpriteSheet_261, 0x0200, 0x2815
- obj_tiles gBattleAnimSpriteSheet_262, 0x0200, 0x2816
- obj_tiles gBattleAnimSpriteSheet_263, 0x0080, 0x2817
- obj_tiles gBattleAnimSpriteSheet_264, 0x0020, 0x2818
- obj_tiles gBattleAnimSpriteSheet_264, 0x0020, 0x2819
- obj_tiles gBattleAnimSpriteSheet_266, 0x0080, 0x281a
- obj_tiles gBattleAnimSpriteSheet_212, 0x0800, 0x281b
- obj_tiles gBattleAnimSpriteSheet_264, 0x0020, 0x281c
- obj_tiles gBattleAnimSpriteSheet_269, 0x0080, 0x281d
- obj_tiles gBattleAnimSpriteSheet_270, 0x0400, 0x281e
- obj_tiles gBattleAnimSpriteSheet_271, 0x0080, 0x281f
- obj_tiles gBattleAnimSpriteSheet_272, 0x0800, 0x2820
- obj_tiles gBattleAnimSpriteSheet_273, 0x0020, 0x2821
- obj_tiles gBattleAnimSpriteSheet_274, 0x0800, 0x2822
- obj_tiles gBattleAnimSpriteSheet_275, 0x0800, 0x2823
- obj_tiles gBattleAnimSpriteSheet_276, 0x0800, 0x2824
- obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 0x2825
- obj_tiles gBattleAnimSpriteSheet_278, 0x0800, 0x2826
- obj_tiles gBattleAnimSpriteSheet_279, 0x00a0, 0x2827
- obj_tiles gBattleAnimSpriteSheet_280, 0x0800, 0x2828
- obj_tiles gBattleAnimSpriteSheet_281, 0x0200, 0x2829
- obj_tiles gBattleAnimSpriteSheet_282, 0x0600, 0x282a
- obj_tiles gBattleAnimSpriteSheet_283, 0x0200, 0x282b
- obj_tiles gBattleAnimSpriteSheet_284, 0x0800, 0x282c
- obj_tiles gBattleAnimSpriteSheet_285, 0x0200, 0x282d
- obj_tiles gBattleAnimSpriteSheet_183, 0x0800, 0x282e
- obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 0x282f
- obj_tiles gBattleAnimSpriteSheet_163, 0x0100, 0x2830
-
- .align 2
-gBattleAnimPaletteTable:: @ 852544C
- obj_pal gBattleAnimSpritePalette_000, 0x2710
- obj_pal gBattleAnimSpritePalette_001, 0x2711
- obj_pal gBattleAnimSpritePalette_002, 0x2712
- obj_pal gBattleAnimSpritePalette_003, 0x2713
- obj_pal gBattleAnimSpritePalette_004, 0x2714
- obj_pal gBattleAnimSpritePalette_005, 0x2715
- obj_pal gBattleAnimSpritePalette_006, 0x2716
- obj_pal gBattleAnimSpritePalette_007, 0x2717
- obj_pal gBattleAnimSpritePalette_008, 0x2718
- obj_pal gBattleAnimSpritePalette_009, 0x2719
- obj_pal gBattleAnimSpritePalette_010, 0x271a
- obj_pal gBattleAnimSpritePalette_011, 0x271b
- obj_pal gBattleAnimSpritePalette_012, 0x271c
- obj_pal gBattleAnimSpritePalette_013, 0x271d
- obj_pal gBattleAnimSpritePalette_014, 0x271e
- obj_pal gBattleAnimSpritePalette_015, 0x271f
- obj_pal gBattleAnimSpritePalette_016, 0x2720
- obj_pal gBattleAnimSpritePalette_016, 0x2721
- obj_pal gBattleAnimSpritePalette_018, 0x2722
- obj_pal gBattleAnimSpritePalette_019, 0x2723
- obj_pal gBattleAnimSpritePalette_020, 0x2724
- obj_pal gBattleAnimSpritePalette_021, 0x2725
- obj_pal gBattleAnimSpritePalette_022, 0x2726
- obj_pal gBattleAnimSpritePalette_023, 0x2727
- obj_pal gBattleAnimSpritePalette_024, 0x2728
- obj_pal gBattleAnimSpritePalette_025, 0x2729
- obj_pal gBattleAnimSpritePalette_026, 0x272a
- obj_pal gBattleAnimSpritePalette_027, 0x272b
- obj_pal gBattleAnimSpritePalette_028, 0x272c
- obj_pal gBattleAnimSpritePalette_029, 0x272d
- obj_pal gBattleAnimSpritePalette_030, 0x272e
- obj_pal gBattleAnimSpritePalette_031, 0x272f
- obj_pal gBattleAnimSpritePalette_032, 0x2730
- obj_pal gBattleAnimSpritePalette_033, 0x2731
- obj_pal gBattleAnimSpritePalette_033, 0x2732
- obj_pal gBattleAnimSpritePalette_033, 0x2733
- obj_pal gBattleAnimSpritePalette_036, 0x2734
- obj_pal gBattleAnimSpritePalette_036, 0x2735
- obj_pal gBattleAnimSpritePalette_038, 0x2736
- obj_pal gBattleAnimSpritePalette_039, 0x2737
- obj_pal gBattleAnimSpritePalette_038, 0x2738
- obj_pal gBattleAnimSpritePalette_038, 0x2739
- obj_pal gBattleAnimSpritePalette_042, 0x273a
- obj_pal gBattleAnimSpritePalette_043, 0x273b
- obj_pal gBattleAnimSpritePalette_044, 0x273c
- obj_pal gBattleAnimSpritePalette_045, 0x273d
- obj_pal gBattleAnimSpritePalette_046, 0x273e
- obj_pal gBattleAnimSpritePalette_047, 0x273e
- obj_pal gBattleAnimSpritePalette_048, 0x2740
- obj_pal gBattleAnimSpritePalette_049, 0x2741
- obj_pal gBattleAnimSpritePalette_050, 0x2742
- obj_pal gBattleAnimSpritePalette_050, 0x2743
- obj_pal gBattleAnimSpritePalette_050, 0x2744
- obj_pal gBattleAnimSpritePalette_026, 0x2745
- obj_pal gBattleAnimSpritePalette_054, 0x2746
- obj_pal gBattleAnimSpritePalette_050, 0x2747
- obj_pal gBattleAnimSpritePalette_056, 0x2748
- obj_pal gBattleAnimSpritePalette_057, 0x2749
- obj_pal gBattleAnimSpritePalette_058, 0x274a
- obj_pal gBattleAnimSpritePalette_059, 0x274b
- obj_pal gBattleAnimSpritePalette_060, 0x274c
- obj_pal gBattleAnimSpritePalette_061, 0x274d
- obj_pal gBattleAnimSpritePalette_062, 0x274e
- obj_pal gBattleAnimSpritePalette_063, 0x274f
- obj_pal gBattleAnimSpritePalette_064, 0x2750
- obj_pal gBattleAnimSpritePalette_065, 0x2751
- obj_pal gBattleAnimSpritePalette_066, 0x2752
- obj_pal gBattleAnimSpritePalette_067, 0x2753
- obj_pal gBattleAnimSpritePalette_068, 0x2754
- obj_pal gBattleAnimSpritePalette_065, 0x2755
- obj_pal gBattleAnimSpritePalette_070, 0x2756
- obj_pal gBattleAnimSpritePalette_070, 0x2757
- obj_pal gBattleAnimSpritePalette_072, 0x2758
- obj_pal gBattleAnimSpritePalette_073, 0x2759
- obj_pal gBattleAnimSpritePalette_074, 0x275a
- obj_pal gBattleAnimSpritePalette_075, 0x275b
- obj_pal gBattleAnimSpritePalette_076, 0x275c
- obj_pal gBattleAnimSpritePalette_076, 0x275d
- obj_pal gBattleAnimSpritePalette_078, 0x275e
- obj_pal gBattleAnimSpritePalette_078, 0x275f
- obj_pal gBattleAnimSpritePalette_080, 0x2760
- obj_pal gBattleAnimSpritePalette_081, 0x2761
- obj_pal gBattleAnimSpritePalette_082, 0x2762
- obj_pal gBattleAnimSpritePalette_083, 0x2763
- obj_pal gBattleAnimSpritePalette_084, 0x2764
- obj_pal gBattleAnimSpritePalette_085, 0x2765
- obj_pal gBattleAnimSpritePalette_086, 0x2766
- obj_pal gBattleAnimSpritePalette_087, 0x2767
- obj_pal gBattleAnimSpritePalette_088, 0x2768
- obj_pal gBattleAnimSpritePalette_089, 0x2769
- obj_pal gBattleAnimSpritePalette_090, 0x276a
- obj_pal gBattleAnimSpritePalette_091, 0x276b
- obj_pal gBattleAnimSpritePalette_092, 0x276c
- obj_pal gBattleAnimSpritePalette_093, 0x276d
- obj_pal gBattleAnimSpritePalette_094, 0x276e
- obj_pal gBattleAnimSpritePalette_095, 0x276f
- obj_pal gBattleAnimSpritePalette_096, 0x2770
- obj_pal gBattleAnimSpritePalette_097, 0x2771
- obj_pal gBattleAnimSpritePalette_094, 0x2772
- obj_pal gBattleAnimSpritePalette_099, 0x2773
- obj_pal gBattleAnimSpritePalette_100, 0x2774
- obj_pal gBattleAnimSpritePalette_101, 0x2775
- obj_pal gBattleAnimSpritePalette_101, 0x2776
- obj_pal gBattleAnimSpritePalette_103, 0x2777
- obj_pal gBattleAnimSpritePalette_104, 0x2778
- obj_pal gBattleAnimSpritePalette_105, 0x2779
- obj_pal gBattleAnimSpritePalette_105, 0x277a
- obj_pal gBattleAnimSpritePalette_107, 0x277b
- obj_pal gBattleAnimSpritePalette_107, 0x277c
- obj_pal gBattleAnimSpritePalette_109, 0x277d
- obj_pal gBattleAnimSpritePalette_109, 0x277e
- obj_pal gBattleAnimSpritePalette_111, 0x277f
- obj_pal gBattleAnimSpritePalette_112, 0x2780
- obj_pal gBattleAnimSpritePalette_113, 0x2781
- obj_pal gBattleAnimSpritePalette_114, 0x2782
- obj_pal gBattleAnimSpritePalette_115, 0x2783
- obj_pal gBattleAnimSpritePalette_116, 0x2784
- obj_pal gBattleAnimSpritePalette_117, 0x2785
- obj_pal gBattleAnimSpritePalette_118, 0x2786
- obj_pal gBattleAnimSpritePalette_119, 0x2787
- obj_pal gBattleAnimSpritePalette_120, 0x2788
- obj_pal gBattleAnimSpritePalette_121, 0x2789
- obj_pal gBattleAnimSpritePalette_122, 0x278a
- obj_pal gBattleAnimSpritePalette_122, 0x278b
- obj_pal gBattleAnimSpritePalette_124, 0x278c
- obj_pal gBattleAnimSpritePalette_125, 0x278d
- obj_pal gBattleAnimSpritePalette_126, 0x278e
- obj_pal gBattleAnimSpritePalette_127, 0x278f
- obj_pal gBattleAnimSpritePalette_128, 0x2790
- obj_pal gBattleAnimSpritePalette_128, 0x2791
- obj_pal gBattleAnimSpritePalette_130, 0x2792
- obj_pal gBattleAnimSpritePalette_130, 0x2793
- obj_pal gBattleAnimSpritePalette_132, 0x2794
- obj_pal gBattleAnimSpritePalette_133, 0x2795
- obj_pal gBattleAnimSpritePalette_133, 0x2796
- obj_pal gBattleAnimSpritePalette_135, 0x2797
- obj_pal gBattleAnimSpritePalette_136, 0x2798
- obj_pal gBattleAnimSpritePalette_135, 0x2799
- obj_pal gBattleAnimSpritePalette_135, 0x279a
- obj_pal gBattleAnimSpritePalette_139, 0x279b
- obj_pal gBattleAnimSpritePalette_140, 0x279c
- obj_pal gBattleAnimSpritePalette_141, 0x279d
- obj_pal gBattleAnimSpritePalette_141, 0x279e
- obj_pal gBattleAnimSpritePalette_143, 0x279f
- obj_pal gBattleAnimSpritePalette_144, 0x27a0
- obj_pal gBattleAnimSpritePalette_139, 0x27a1
- obj_pal gBattleAnimSpritePalette_115, 0x27a2
- obj_pal gBattleAnimSpritePalette_147, 0x27a3
- obj_pal gBattleAnimSpritePalette_148, 0x27a4
- obj_pal gBattleAnimSpritePalette_148, 0x27a5
- obj_pal gBattleAnimSpritePalette_150, 0x27a6
- obj_pal gBattleAnimSpritePalette_150, 0x27a7
- obj_pal gBattleAnimSpritePalette_152, 0x27a8
- obj_pal gBattleAnimSpritePalette_153, 0x27a9
- obj_pal gBattleAnimSpritePalette_154, 0x27aa
- obj_pal gBattleAnimSpritePalette_155, 0x27ab
- obj_pal gBattleAnimSpritePalette_156, 0x27ac
- obj_pal gBattleAnimSpritePalette_157, 0x27ad
- obj_pal gBattleAnimSpritePalette_158, 0x27ae
- obj_pal gBattleAnimSpritePalette_159, 0x27af
- obj_pal gBattleAnimSpritePalette_160, 0x27b0
- obj_pal gBattleAnimSpritePalette_161, 0x27b1
- obj_pal gBattleAnimSpritePalette_162, 0x27b2
- obj_pal gBattleAnimSpritePalette_163, 0x27b3
- obj_pal gBattleAnimSpritePalette_164, 0x27b4
- obj_pal gBattleAnimSpritePalette_165, 0x27b5
- obj_pal gBattleAnimSpritePalette_166, 0x27b6
- obj_pal gBattleAnimSpritePalette_167, 0x27b7
- obj_pal gBattleAnimSpritePalette_168, 0x27b8
- obj_pal gBattleAnimSpritePalette_169, 0x27b9
- obj_pal gBattleAnimSpritePalette_170, 0x27ba
- obj_pal gBattleAnimSpritePalette_171, 0x27bb
- obj_pal gBattleAnimSpritePalette_172, 0x27bc
- obj_pal gBattleAnimSpritePalette_001, 0x27bd
- obj_pal gBattleAnimSpritePalette_174, 0x27be
- obj_pal gBattleAnimSpritePalette_175, 0x27bf
- obj_pal gBattleAnimSpritePalette_176, 0x27c0
- obj_pal gBattleAnimSpritePalette_177, 0x27c1
- obj_pal gBattleAnimSpritePalette_178, 0x27c2
- obj_pal gBattleAnimSpritePalette_179, 0x27c3
- obj_pal gBattleAnimSpritePalette_179, 0x27c4
- obj_pal gBattleAnimSpritePalette_179, 0x27c5
- obj_pal gBattleAnimSpritePalette_182, 0x27c6
- obj_pal gBattleAnimSpritePalette_183, 0x27c7
- obj_pal gBattleAnimSpritePalette_184, 0x27c8
- obj_pal gBattleAnimSpritePalette_185, 0x27c9
- obj_pal gBattleAnimSpritePalette_186, 0x27ca
- obj_pal gBattleAnimSpritePalette_187, 0x27cb
- obj_pal gBattleAnimSpritePalette_188, 0x27cc
- obj_pal gBattleAnimSpritePalette_189, 0x27cd
- obj_pal gBattleAnimSpritePalette_190, 0x27ce
- obj_pal gBattleAnimSpritePalette_191, 0x27cf
- obj_pal gBattleAnimSpritePalette_192, 0x27d0
- obj_pal gBattleAnimSpritePalette_193, 0x27d1
- obj_pal gBattleAnimSpritePalette_194, 0x27d2
- obj_pal gBattleAnimSpritePalette_195, 0x27d3
- obj_pal gBattleAnimSpritePalette_196, 0x27d4
- obj_pal gBattleAnimSpritePalette_197, 0x27d5
- obj_pal gBattleAnimSpritePalette_198, 0x27d6
- obj_pal gBattleAnimSpritePalette_199, 0x27d7
- obj_pal gBattleAnimSpritePalette_200, 0x27d8
- obj_pal gBattleAnimSpritePalette_201, 0x27d9
- obj_pal gBattleAnimSpritePalette_202, 0x27da
- obj_pal gBattleAnimSpritePalette_203, 0x27db
- obj_pal gBattleAnimSpritePalette_204, 0x27dc
- obj_pal gBattleAnimSpritePalette_205, 0x27dd
- obj_pal gBattleAnimSpritePalette_206, 0x27de
- obj_pal gBattleAnimSpritePalette_207, 0x27df
- obj_pal gBattleAnimSpritePalette_167, 0x27e0
- obj_pal gBattleAnimSpritePalette_209, 0x27e1
- obj_pal gBattleAnimSpritePalette_210, 0x27e2
- obj_pal gBattleAnimSpritePalette_211, 0x27e3
- obj_pal gBattleAnimSpritePalette_211, 0x27e4
- obj_pal gBattleAnimSpritePalette_211, 0x27e5
- obj_pal gBattleAnimSpritePalette_064, 0x27e6
- obj_pal gBattleAnimSpritePalette_215, 0x27e7
- obj_pal gBattleAnimSpritePalette_216, 0x27e8
- obj_pal gBattleAnimSpritePalette_217, 0x27e9
- obj_pal gBattleAnimSpritePalette_218, 0x27ea
- obj_pal gBattleAnimSpritePalette_219, 0x27eb
- obj_pal gBattleAnimSpritePalette_220, 0x27ec
- obj_pal gBattleAnimSpritePalette_221, 0x27ed
- obj_pal gBattleAnimSpritePalette_222, 0x27ee
- obj_pal gBattleAnimSpritePalette_223, 0x27ef
- obj_pal gBattleAnimSpritePalette_224, 0x27f0
- obj_pal gBattleAnimSpritePalette_225, 0x27f1
- obj_pal gBattleAnimSpritePalette_226, 0x27f2
- obj_pal gBattleAnimSpritePalette_226, 0x27f3
- obj_pal gBattleAnimSpritePalette_228, 0x27f4
- obj_pal gBattleAnimSpritePalette_229, 0x27f5
- obj_pal gBattleAnimSpritePalette_230, 0x27f6
- obj_pal gBattleAnimSpritePalette_231, 0x27f7
- obj_pal gBattleAnimSpritePalette_231, 0x27f8
- obj_pal gBattleAnimSpritePalette_233, 0x27f9
- obj_pal gBattleAnimSpritePalette_234, 0x27fa
- obj_pal gBattleAnimSpritePalette_235, 0x27fb
- obj_pal gBattleAnimSpritePalette_236, 0x27fc
- obj_pal gBattleAnimSpritePalette_237, 0x27fd
- obj_pal gBattleAnimSpritePalette_238, 0x27fe
- obj_pal gBattleAnimSpritePalette_239, 0x27ff
- obj_pal gBattleAnimSpritePalette_240, 0x2800
- obj_pal gBattleAnimSpritePalette_241, 0x2801
- obj_pal gBattleAnimSpritePalette_242, 0x2802
- obj_pal gBattleAnimSpritePalette_243, 0x2803
- obj_pal gBattleAnimSpritePalette_244, 0x2804
- obj_pal gBattleAnimSpritePalette_245, 0x2805
- obj_pal gBattleAnimSpritePalette_245, 0x2806
- obj_pal gBattleAnimSpritePalette_064, 0x2807
- obj_pal gBattleAnimSpritePalette_248, 0x2808
- obj_pal gBattleAnimSpritePalette_249, 0x2809
- obj_pal gBattleAnimSpritePalette_249, 0x280a
- obj_pal gBattleAnimSpritePalette_251, 0x280b
- obj_pal gBattleAnimSpritePalette_252, 0x280c
- obj_pal gBattleAnimSpritePalette_253, 0x280d
- obj_pal gBattleAnimSpritePalette_254, 0x280e
- obj_pal gBattleAnimSpritePalette_255, 0x280f
- obj_pal gBattleAnimSpritePalette_256, 0x2810
- obj_pal gBattleAnimSpritePalette_257, 0x2811
- obj_pal gBattleAnimSpritePalette_258, 0x2812
- obj_pal gBattleAnimSpritePalette_259, 0x2813
- obj_pal gBattleAnimSpritePalette_260, 0x2814
- obj_pal gBattleAnimSpritePalette_261, 0x2815
- obj_pal gBattleAnimSpritePalette_262, 0x2816
- obj_pal gBattleAnimSpritePalette_263, 0x2817
- obj_pal gBattleAnimSpritePalette_264, 0x2818
- obj_pal gBattleAnimSpritePalette_265, 0x2819
- obj_pal gBattleAnimSpritePalette_266, 0x281a
- obj_pal gBattleAnimSpritePalette_267, 0x281b
- obj_pal gBattleAnimSpritePalette_268, 0x281c
- obj_pal gBattleAnimSpritePalette_269, 0x281d
- obj_pal gBattleAnimSpritePalette_270, 0x281e
- obj_pal gBattleAnimSpritePalette_271, 0x281f
- obj_pal gBattleAnimSpritePalette_272, 0x2820
- obj_pal gBattleAnimSpritePalette_272, 0x2821
- obj_pal gBattleAnimSpritePalette_274, 0x2822
- obj_pal gBattleAnimSpritePalette_274, 0x2823
- obj_pal gBattleAnimSpritePalette_274, 0x2824
- obj_pal gBattleAnimSpritePalette_277, 0x2825
- obj_pal gBattleAnimSpritePalette_278, 0x2826
- obj_pal gBattleAnimSpritePalette_279, 0x2827
- obj_pal gBattleAnimSpritePalette_280, 0x2828
- obj_pal gBattleAnimSpritePalette_281, 0x2829
- obj_pal gBattleAnimSpritePalette_282, 0x282a
- obj_pal gBattleAnimSpritePalette_283, 0x282b
- obj_pal gBattleAnimSpritePalette_284, 0x282c
- obj_pal gBattleAnimSpritePalette_285, 0x282d
- obj_pal gBattleAnimSpritePalette_286, 0x282e
- obj_pal gBattleAnimSpritePalette_287, 0x282f
- obj_pal gBattleAnimSpritePalette_288, 0x2830
-
- .align 2
-gBattleAnimBackgroundTable:: @ 8525D54
- .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00
- .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00
- .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02
- .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10
- .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11
- .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12
- .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13
- .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14
- .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15
- .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16
- .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07
- .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08
- .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20
- .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09
- .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05
- .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06
-
diff --git a/data/battle_frontier/battle_arena_move_mind_ratings.inc b/data/battle_frontier/battle_arena_move_mind_ratings.inc
deleted file mode 100644
index e1d0b26a9..000000000
--- a/data/battle_frontier/battle_arena_move_mind_ratings.inc
+++ /dev/null
@@ -1,357 +0,0 @@
- .align 2
-gBattleArenaMoveMindRatings:: @ 8611DC0
- .byte 0 @ -
- .byte 1 @ Pound
- .byte 1 @ Karate Chop
- .byte 1 @ Double Slap
- .byte 1 @ Comet Punch
- .byte 1 @ Mega Punch
- .byte 1 @ Pay Day
- .byte 1 @ Fire Punch
- .byte 1 @ Ice Punch
- .byte 1 @ Thunder Punch
- .byte 1 @ Scratch
- .byte 1 @ Vice Grip
- .byte 1 @ Guillotine
- .byte 1 @ Razor Wind
- .byte 0 @ Swords Dance
- .byte 1 @ Cut
- .byte 1 @ Gust
- .byte 1 @ Wing Attack
- .byte 0 @ Whirlwind
- .byte 1 @ Fly
- .byte 1 @ Bind
- .byte 1 @ Slam
- .byte 1 @ Vine Whip
- .byte 1 @ Stomp
- .byte 1 @ Double Kick
- .byte 1 @ Mega Kick
- .byte 1 @ Jump Kick
- .byte 1 @ Rolling Kick
- .byte 0 @ Sand-Attack
- .byte 1 @ Headbutt
- .byte 1 @ Horn Attack
- .byte 1 @ Fury Attack
- .byte 1 @ Horn Drill
- .byte 1 @ Tackle
- .byte 1 @ Body Slam
- .byte 1 @ Wrap
- .byte 1 @ Take Down
- .byte 1 @ Thrash
- .byte 1 @ Double-Edge
- .byte 0 @ Tail Whip
- .byte 1 @ Poison Sting
- .byte 1 @ Twineedle
- .byte 1 @ Pin Missile
- .byte 0 @ Leer
- .byte 1 @ Bite
- .byte 0 @ Growl
- .byte 0 @ Roar
- .byte 0 @ Sing
- .byte 0 @ Supersonic
- .byte 1 @ Sonic Boom
- .byte 0 @ Disable
- .byte 1 @ Acid
- .byte 1 @ Ember
- .byte 1 @ Flamethrower
- .byte 0 @ Mist
- .byte 1 @ Water Gun
- .byte 1 @ Hydro Pump
- .byte 1 @ Surf
- .byte 1 @ Ice Beam
- .byte 1 @ Blizzard
- .byte 1 @ Psybeam
- .byte 1 @ Bubble Beam
- .byte 1 @ Aurora Beam
- .byte 1 @ Hyper Beam
- .byte 1 @ Peck
- .byte 1 @ Drill Peck
- .byte 1 @ Submission
- .byte 1 @ Low Kick
- .byte 0 @ Counter
- .byte 1 @ Seismic Toss
- .byte 1 @ Strength
- .byte 1 @ Absorb
- .byte 1 @ Mega Drain
- .byte 0 @ Leech Seed
- .byte 0 @ Growth
- .byte 1 @ Razor Leaf
- .byte 1 @ Solar Beam
- .byte 0 @ Poison Powder
- .byte 0 @ Stun Spore
- .byte 0 @ Sleep Powder
- .byte 1 @ Petal Dance
- .byte 0 @ String Shot
- .byte 1 @ Dragon Rage
- .byte 1 @ Fire Spin
- .byte 1 @ Thunder Shock
- .byte 1 @ Thunderbolt
- .byte 0 @ Thunder Wave
- .byte 1 @ Thunder
- .byte 1 @ Rock Throw
- .byte 1 @ Earthquake
- .byte 1 @ Fissure
- .byte 1 @ Dig
- .byte 0 @ Toxic
- .byte 1 @ Confusion
- .byte 1 @ Psychic
- .byte 0 @ Hypnosis
- .byte 0 @ Meditate
- .byte 0 @ Agility
- .byte 1 @ Quick Attack
- .byte 1 @ Rage
- .byte 0 @ Teleport
- .byte 1 @ Night Shade
- .byte 0 @ Mimic
- .byte 0 @ Screech
- .byte 0 @ Double Team
- .byte 0 @ Recover
- .byte 0 @ Harden
- .byte 0 @ Minimize
- .byte 0 @ Smokescreen
- .byte 0 @ Confuse Ray
- .byte 0 @ Withdraw
- .byte 0 @ Defense Curl
- .byte 0 @ Barrier
- .byte 0 @ Light Screen
- .byte 0 @ Haze
- .byte 0 @ Reflect
- .byte 0 @ Focus Energy
- .byte 0 @ Bide
- .byte 0 @ Metronome
- .byte 0 @ Mirror Move
- .byte 1 @ Self-Destruct
- .byte 1 @ Egg Bomb
- .byte 1 @ Lick
- .byte 1 @ Smog
- .byte 1 @ Sludge
- .byte 1 @ Bone Club
- .byte 1 @ Fire Blast
- .byte 1 @ Waterfall
- .byte 1 @ Clamp
- .byte 1 @ Swift
- .byte 1 @ Skull Bash
- .byte 1 @ Spike Cannon
- .byte 1 @ Constrict
- .byte 0 @ Amnesia
- .byte 0 @ Kinesis
- .byte 0 @ Soft-Boiled
- .byte 1 @ Hi Jump Kick
- .byte 0 @ Glare
- .byte 1 @ Dream Eater
- .byte 0 @ Poison Gas
- .byte 1 @ Barrage
- .byte 1 @ Leech Life
- .byte 0 @ Lovely Kiss
- .byte 1 @ Sky Attack
- .byte 0 @ Transform
- .byte 1 @ Bubble
- .byte 1 @ Dizzy Punch
- .byte 0 @ Spore
- .byte 0 @ Flash
- .byte 1 @ Psywave
- .byte 0 @ Splash
- .byte 0 @ Acid Armor
- .byte 1 @ Crabhammer
- .byte 1 @ Explosion
- .byte 1 @ Fury Swipes
- .byte 1 @ Bonemerang
- .byte 0 @ Rest
- .byte 1 @ Rock Slide
- .byte 1 @ Hyper Fang
- .byte 0 @ Sharpen
- .byte 0 @ Conversion
- .byte 1 @ Tri Attack
- .byte 1 @ Super Fang
- .byte 1 @ Slash
- .byte 0 @ Substitute
- .byte 1 @ Struggle
- .byte 0 @ Sketch
- .byte 1 @ Triple Kick
- .byte 1 @ Thief
- .byte 0 @ Spider Web
- .byte 0 @ Mind Reader
- .byte 0 @ Nightmare
- .byte 1 @ Flame Wheel
- .byte 1 @ Snore
- .byte 0 @ Curse
- .byte 1 @ Flail
- .byte 0 @ Conversion 2
- .byte 1 @ Aeroblast
- .byte 0 @ Cotton Spore
- .byte 1 @ Reversal
- .byte 0 @ Spite
- .byte 1 @ Powder Snow
- .byte -1 @ Protect
- .byte 1 @ Mach Punch
- .byte 0 @ Scary Face
- .byte 1 @ Faint Attack
- .byte 0 @ Sweet Kiss
- .byte 0 @ Belly Drum
- .byte 1 @ Sludge Bomb
- .byte 1 @ Mud-Slap
- .byte 1 @ Octazooka
- .byte 0 @ Spikes
- .byte 1 @ Zap Cannon
- .byte 0 @ Foresight
- .byte 0 @ Destiny Bond
- .byte 0 @ Perish Song
- .byte 1 @ Icy Wind
- .byte -1 @ Detect
- .byte 1 @ Bone Rush
- .byte 0 @ Lock-On
- .byte 1 @ Outrage
- .byte 0 @ Sandstorm
- .byte 1 @ Giga Drain
- .byte -1 @ Endure
- .byte 0 @ Charm
- .byte 1 @ Rollout
- .byte 1 @ False Swipe
- .byte 0 @ Swagger
- .byte 0 @ Milk Drink
- .byte 1 @ Spark
- .byte 1 @ Fury Cutter
- .byte 1 @ Steel Wing
- .byte 0 @ Mean Look
- .byte 0 @ Attract
- .byte 0 @ Sleep Talk
- .byte 0 @ Heal Bell
- .byte 1 @ Return
- .byte 1 @ Present
- .byte 1 @ Frustration
- .byte 0 @ Safeguard
- .byte 0 @ Pain Split
- .byte 1 @ Sacred Fire
- .byte 1 @ Magnitude
- .byte 1 @ Dynamic Punch
- .byte 1 @ Megahorn
- .byte 1 @ Dragon Breath
- .byte 0 @ Baton Pass
- .byte 0 @ Encore
- .byte 1 @ Pursuit
- .byte 1 @ Rapid Spin
- .byte 0 @ Sweet Scent
- .byte 1 @ Iron Tail
- .byte 1 @ Metal Claw
- .byte 1 @ Vital Throw
- .byte 0 @ Morning Sun
- .byte 0 @ Synthesis
- .byte 0 @ Moonlight
- .byte 1 @ Hidden Power
- .byte 1 @ Cross Chop
- .byte 1 @ Twister
- .byte 0 @ Rain Dance
- .byte 0 @ Sunny Day
- .byte 1 @ Crunch
- .byte 0 @ Mirror Coat
- .byte 0 @ Psych Up
- .byte 1 @ Extreme Speed
- .byte 1 @ Ancient Power
- .byte 1 @ Shadow Ball
- .byte 1 @ Future Sight
- .byte 1 @ Rock Smash
- .byte 1 @ Whirlpool
- .byte 1 @ Beat Up
- .byte -1 @ Fake Out
- .byte 1 @ Uproar
- .byte 0 @ Stockpile
- .byte 1 @ Spit Up
- .byte 0 @ Swallow
- .byte 1 @ Heat Wave
- .byte 0 @ Hail
- .byte 0 @ Torment
- .byte 0 @ Flatter
- .byte 0 @ Will-O-Wisp
- .byte 0 @ Memento
- .byte 1 @ Facade
- .byte 1 @ Focus Punch
- .byte 1 @ Smelling Salt
- .byte 0 @ Follow Me
- .byte 0 @ Nature Power
- .byte 0 @ Charge
- .byte 0 @ Taunt
- .byte 0 @ Helping Hand
- .byte 0 @ Trick
- .byte 0 @ Role Play
- .byte 0 @ Wish
- .byte 0 @ Assist
- .byte 0 @ Ingrain
- .byte 1 @ Superpower
- .byte 0 @ Magic Coat
- .byte 0 @ Recycle
- .byte 1 @ Revenge
- .byte 1 @ Brick Break
- .byte 0 @ Yawn
- .byte 1 @ Knock Off
- .byte 1 @ Endeavor
- .byte 1 @ Eruption
- .byte 0 @ Skill Swap
- .byte 0 @ Imprison
- .byte 0 @ Refresh
- .byte 0 @ Grudge
- .byte 0 @ Snatch
- .byte 1 @ Secret Power
- .byte 1 @ Dive
- .byte 1 @ Arm Thrust
- .byte 0 @ Camouflage
- .byte 0 @ Tail Glow
- .byte 1 @ Luster Purge
- .byte 1 @ Mist Ball
- .byte 0 @ Feather Dance
- .byte 0 @ Teeter Dance
- .byte 1 @ Blaze Kick
- .byte 0 @ Mud Sport
- .byte 1 @ Ice Ball
- .byte 1 @ Needle Arm
- .byte 0 @ Slack Off
- .byte 1 @ Hyper Voice
- .byte 1 @ Poison Fang
- .byte 1 @ Crush Claw
- .byte 1 @ Blast Burn
- .byte 1 @ Hydro Cannon
- .byte 1 @ Meteor Mash
- .byte 1 @ Astonish
- .byte 1 @ Weather Ball
- .byte 0 @ Aromatherapy
- .byte 0 @ Fake Tears
- .byte 1 @ Air Cutter
- .byte 1 @ Overheat
- .byte 0 @ Odor Sleuth
- .byte 1 @ Rock Tomb
- .byte 1 @ Silver Wind
- .byte 0 @ Metal Sound
- .byte 0 @ Grass Whistle
- .byte 0 @ Tickle
- .byte 0 @ Cosmic Power
- .byte 1 @ Water Spout
- .byte 1 @ Signal Beam
- .byte 1 @ Shadow Punch
- .byte 1 @ Extrasensory
- .byte 1 @ Sky Uppercut
- .byte 1 @ Sand Tomb
- .byte 1 @ Sheer Cold
- .byte 1 @ Muddy Water
- .byte 1 @ Bullet Seed
- .byte 1 @ Aerial Ace
- .byte 1 @ Icicle Spear
- .byte 0 @ Iron Defense
- .byte 0 @ Block
- .byte 0 @ Howl
- .byte 1 @ Dragon Claw
- .byte 1 @ Frenzy Plant
- .byte 0 @ Bulk Up
- .byte 1 @ Bounce
- .byte 1 @ Mud Shot
- .byte 1 @ Poison Tail
- .byte 1 @ Covet
- .byte 1 @ Volt Tackle
- .byte 1 @ Magical Leaf
- .byte 0 @ Water Sport
- .byte 0 @ Calm Mind
- .byte 1 @ Leaf Blade
- .byte 0 @ Dragon Dance
- .byte 1 @ Rock Blast
- .byte 1 @ Shock Wave
- .byte 1 @ Water Pulse
- .byte 1 @ Doom Desire
- .byte 1 @ Psycho Boost
diff --git a/data/battle_frontier/battle_factory_style_move_lists.inc b/data/battle_frontier/battle_factory_style_move_lists.inc
deleted file mode 100644
index 3ec428525..000000000
--- a/data/battle_frontier/battle_factory_style_move_lists.inc
+++ /dev/null
@@ -1,191 +0,0 @@
- .align 2
-gBattleFactoryStyleRequiredMoveCounts:: @ 8611FC0
- .byte 3
- .byte 3
- .byte 3
- .byte 2
- .byte 2
- .byte 2
- .byte 2
-
- .align 2
-gBattleFactoryStyleMoveList_TotalPreparation:: @ 8611FC8
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_GROWTH
- .2byte MOVE_MEDITATE
- .2byte MOVE_AGILITY
- .2byte MOVE_DOUBLE_TEAM
- .2byte MOVE_HARDEN
- .2byte MOVE_MINIMIZE
- .2byte MOVE_WITHDRAW
- .2byte MOVE_DEFENSE_CURL
- .2byte MOVE_BARRIER
- .2byte MOVE_FOCUS_ENERGY
- .2byte MOVE_AMNESIA
- .2byte MOVE_ACID_ARMOR
- .2byte MOVE_SHARPEN
- .2byte MOVE_CONVERSION
- .2byte MOVE_CONVERSION_2
- .2byte MOVE_BELLY_DRUM
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_CHARGE
- .2byte MOVE_SNATCH
- .2byte MOVE_TAIL_GLOW
- .2byte MOVE_COSMIC_POWER
- .2byte MOVE_IRON_DEFENSE
- .2byte MOVE_HOWL
- .2byte MOVE_BULK_UP
- .2byte MOVE_CALM_MIND
- .2byte MOVE_DRAGON_DANCE
- .2byte 0
-
-gBattleFactoryStyleMoveList_ImpossibleToPredict:: @ 8612000
- .2byte MOVE_MIMIC
- .2byte MOVE_METRONOME
- .2byte MOVE_MIRROR_MOVE
- .2byte MOVE_TRANSFORM
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_SKETCH
- .2byte MOVE_CURSE
- .2byte MOVE_PRESENT
- .2byte MOVE_FOLLOW_ME
- .2byte MOVE_TRICK
- .2byte MOVE_ROLE_PLAY
- .2byte MOVE_ASSIST
- .2byte MOVE_SKILL_SWAP
- .2byte MOVE_CAMOUFLAGE
- .2byte 0
-
-gBattleFactoryStyleMoveList_WeakeningTheFoe:: @ 861201E
- .2byte MOVE_SAND_ATTACK
- .2byte MOVE_TAIL_WHIP
- .2byte MOVE_LEER
- .2byte MOVE_GROWL
- .2byte MOVE_STRING_SHOT
- .2byte MOVE_SCREECH
- .2byte MOVE_SMOKESCREEN
- .2byte MOVE_KINESIS
- .2byte MOVE_FLASH
- .2byte MOVE_COTTON_SPORE
- .2byte MOVE_SPITE
- .2byte MOVE_SCARY_FACE
- .2byte MOVE_CHARM
- .2byte MOVE_KNOCK_OFF
- .2byte MOVE_SWEET_SCENT
- .2byte MOVE_FEATHER_DANCE
- .2byte MOVE_FAKE_TEARS
- .2byte MOVE_METAL_SOUND
- .2byte MOVE_TICKLE
- .2byte 0
-
-gBattleFactoryStyleMoveList_HighRiskHighReturn:: @ 8612046
- .2byte MOVE_GUILLOTINE
- .2byte MOVE_HORN_DRILL
- .2byte MOVE_DOUBLE_EDGE
- .2byte MOVE_HYPER_BEAM
- .2byte MOVE_COUNTER
- .2byte MOVE_FISSURE
- .2byte MOVE_BIDE
- .2byte MOVE_SELF_DESTRUCT
- .2byte MOVE_SKY_ATTACK
- .2byte MOVE_EXPLOSION
- .2byte MOVE_FLAIL
- .2byte MOVE_REVERSAL
- .2byte MOVE_DESTINY_BOND
- .2byte MOVE_PERISH_SONG
- .2byte MOVE_PAIN_SPLIT
- .2byte MOVE_MIRROR_COAT
- .2byte MOVE_MEMENTO
- .2byte MOVE_GRUDGE
- .2byte MOVE_FACADE
- .2byte MOVE_FOCUS_PUNCH
- .2byte MOVE_BLAST_BURN
- .2byte MOVE_HYDRO_CANNON
- .2byte MOVE_OVERHEAT
- .2byte MOVE_FRENZY_PLANT
- .2byte MOVE_PSYCHO_BOOST
- .2byte MOVE_VOLT_TACKLE
- .2byte 0
-
-gBattleFactoryStyleMoveList_Endurance:: @ 861207C
- .2byte MOVE_MIST
- .2byte MOVE_RECOVER
- .2byte MOVE_LIGHT_SCREEN
- .2byte MOVE_HAZE
- .2byte MOVE_REFLECT
- .2byte MOVE_SOFT_BOILED
- .2byte MOVE_REST
- .2byte MOVE_PROTECT
- .2byte MOVE_DETECT
- .2byte MOVE_ENDURE
- .2byte MOVE_MILK_DRINK
- .2byte MOVE_HEAL_BELL
- .2byte MOVE_SAFEGUARD
- .2byte MOVE_BATON_PASS
- .2byte MOVE_MORNING_SUN
- .2byte MOVE_SYNTHESIS
- .2byte MOVE_MOONLIGHT
- .2byte MOVE_SWALLOW
- .2byte MOVE_WISH
- .2byte MOVE_INGRAIN
- .2byte MOVE_MAGIC_COAT
- .2byte MOVE_RECYCLE
- .2byte MOVE_REFRESH
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_SLACK_OFF
- .2byte MOVE_AROMATHERAPY
- .2byte MOVE_WATER_SPORT
- .2byte 0
-
-gBattleFactoryStyleMoveList_SlowAndSteady:: @ 86120B4
- .2byte MOVE_SING
- .2byte MOVE_SUPERSONIC
- .2byte MOVE_DISABLE
- .2byte MOVE_LEECH_SEED
- .2byte MOVE_POISON_POWDER
- .2byte MOVE_STUN_SPORE
- .2byte MOVE_SLEEP_POWDER
- .2byte MOVE_THUNDER_WAVE
- .2byte MOVE_TOXIC
- .2byte MOVE_HYPNOSIS
- .2byte MOVE_CONFUSE_RAY
- .2byte MOVE_GLARE
- .2byte MOVE_POISON_GAS
- .2byte MOVE_LOVELY_KISS
- .2byte MOVE_SPORE
- .2byte MOVE_SPIDER_WEB
- .2byte MOVE_SWEET_KISS
- .2byte MOVE_SPIKES
- .2byte MOVE_SWAGGER
- .2byte MOVE_MEAN_LOOK
- .2byte MOVE_ATTRACT
- .2byte MOVE_ENCORE
- .2byte MOVE_TORMENT
- .2byte MOVE_FLATTER
- .2byte MOVE_WILL_O_WISP
- .2byte MOVE_TAUNT
- .2byte MOVE_YAWN
- .2byte MOVE_IMPRISON
- .2byte MOVE_SNATCH
- .2byte MOVE_TEETER_DANCE
- .2byte MOVE_GRASS_WHISTLE
- .2byte MOVE_BLOCK
- .2byte 0
-
-gBattleFactoryStyleMoveList_DependsOnTheBattlesFlow:: @ 86120F6
- .2byte MOVE_SANDSTORM
- .2byte MOVE_RAIN_DANCE
- .2byte MOVE_SUNNY_DAY
- .2byte MOVE_HAIL
- .2byte MOVE_WEATHER_BALL
- .2byte 0
-
- .align 2
-gBattleFactoryStyleMoveListPointers:: @ 8612104
- .4byte gBattleFactoryStyleMoveList_TotalPreparation
- .4byte gBattleFactoryStyleMoveList_SlowAndSteady
- .4byte gBattleFactoryStyleMoveList_Endurance
- .4byte gBattleFactoryStyleMoveList_HighRiskHighReturn
- .4byte gBattleFactoryStyleMoveList_WeakeningTheFoe
- .4byte gBattleFactoryStyleMoveList_ImpossibleToPredict
- .4byte gBattleFactoryStyleMoveList_DependsOnTheBattlesFlow
diff --git a/data/battle_frontier/battle_frontier_trainers.inc b/data/battle_frontier/battle_frontier_trainers.inc
index 034c1b62c..8b05d88eb 100644
--- a/data/battle_frontier/battle_frontier_trainers.inc
+++ b/data/battle_frontier/battle_frontier_trainers.inc
@@ -625,7 +625,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Lauren
@ 24
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "KIPP$", 8
@ pre-battle speech
.2byte EC_WORD_IF_I_WIN
@@ -651,7 +651,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kipp
@ 25
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "JASON$", 8
@ pre-battle speech
.2byte EC_WORD_TEACH
@@ -677,7 +677,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jason
@ 26
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "JOHN$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -703,7 +703,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_John
@ 27
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "ANN$", 8
@ pre-battle speech
.2byte EC_WORD_IT_S
@@ -729,7 +729,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Ann
@ 28
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "EILEEN$", 8
@ pre-battle speech
.2byte EC_WORD_LET_S
@@ -755,7 +755,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Eileen
@ 29
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "CARLIE$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -937,7 +937,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kathy
@ 36
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "PEYTON$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -963,7 +963,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Peyton
@ 37
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "JULIAN$", 8
@ pre-battle speech
.2byte EC_WORD_YOU
@@ -989,7 +989,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Julian
@ 38
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "QUINN$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -1015,7 +1015,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Quinn
@ 39
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "HAYLEE$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -1041,7 +1041,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Haylee
@ 40
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "AMANDA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -1067,7 +1067,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Amanda
@ 41
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "STACY$", 8
@ pre-battle speech
.2byte EC_WORD_ALL
@@ -1093,7 +1093,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Stacy
@ 42
- .4byte FACILITY_CLASS_PKMN_BREEDER_2
+ .4byte FACILITY_CLASS_PKMN_BREEDER_M
.string "RAFAEL$", 8
@ pre-battle speech
.2byte EC_WORD_COME_ON
@@ -1119,7 +1119,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Rafael
@ 43
- .4byte FACILITY_CLASS_PKMN_BREEDER_2
+ .4byte FACILITY_CLASS_PKMN_BREEDER_M
.string "OLIVER$", 8
@ pre-battle speech
.2byte EC_WORD_A
@@ -1145,7 +1145,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Oliver
@ 44
- .4byte FACILITY_CLASS_PKMN_BREEDER_2
+ .4byte FACILITY_CLASS_PKMN_BREEDER_M
.string "PAYTON$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -1171,7 +1171,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Payton
@ 45
- .4byte FACILITY_CLASS_PKMN_BREEDER_1
+ .4byte FACILITY_CLASS_POKEMON_BREEDER_F
.string "PAMELA$", 8
@ pre-battle speech
.2byte EC_WORD_ALL
@@ -1197,7 +1197,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Pamela
@ 46
- .4byte FACILITY_CLASS_PKMN_BREEDER_1
+ .4byte FACILITY_CLASS_POKEMON_BREEDER_F
.string "ELIZA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -1223,7 +1223,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Eliza
@ 47
- .4byte FACILITY_CLASS_PKMN_BREEDER_1
+ .4byte FACILITY_CLASS_POKEMON_BREEDER_F
.string "MARISA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -2341,7 +2341,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Nash
@ 90
- .4byte FACILITY_CLASS_TRIATHLETE_3
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_M
.string "ROBBY$", 8
@ pre-battle speech
.2byte EC_WORD_HAHAHA
@@ -2367,7 +2367,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Robby
@ 91
- .4byte FACILITY_CLASS_TRIATHLETE_3
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_M
.string "REECE$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -2393,7 +2393,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Reece
@ 92
- .4byte FACILITY_CLASS_TRIATHLETE_4
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_F
.string "KATHRYN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -2419,7 +2419,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kathryn
@ 93
- .4byte FACILITY_CLASS_TRIATHLETE_4
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_F
.string "ELLEN$", 8
@ pre-battle speech
.2byte EC_WORD_CRUSH
@@ -2445,7 +2445,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Ellen
@ 94
- .4byte FACILITY_CLASS_TRIATHLETE_5
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_M
.string "RAMON$", 8
@ pre-battle speech
.2byte EC_WORD_OKAY
@@ -2471,7 +2471,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Ramon
@ 95
- .4byte FACILITY_CLASS_TRIATHLETE_5
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_M
.string "ARTHUR$", 8
@ pre-battle speech
.2byte EC_WORD_HERE_I_COME
@@ -2497,7 +2497,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Arthur
@ 96
- .4byte FACILITY_CLASS_TRIATHLETE_6
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_F
.string "ALONDRA$", 8
@ pre-battle speech
.2byte EC_WORD_EVERY
@@ -2523,7 +2523,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Alondra
@ 97
- .4byte FACILITY_CLASS_TRIATHLETE_6
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_F
.string "ADRIANA$", 8
@ pre-battle speech
.2byte EC_WORD_COME
@@ -2549,7 +2549,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Adriana
@ 98
- .4byte FACILITY_CLASS_TRIATHLETE_1
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_M
.string "MALIK$", 8
@ pre-battle speech
.2byte EC_WORD_OH
@@ -2575,7 +2575,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Malik
@ 99
- .4byte FACILITY_CLASS_TRIATHLETE_2
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_F
.string "JILL$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -2601,7 +2601,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jill
@ 100
- .4byte FACILITY_CLASS_TRIATHLETE_3
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_M
.string "ERIK$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -2627,7 +2627,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Erik
@ 101
- .4byte FACILITY_CLASS_TRIATHLETE_4
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_F
.string "YAZMIN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -2653,7 +2653,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Yazmin
@ 102
- .4byte FACILITY_CLASS_TRIATHLETE_5
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_M
.string "JAMAL$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -2679,7 +2679,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jamal
@ 103
- .4byte FACILITY_CLASS_TRIATHLETE_6
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_F
.string "LESLIE$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -2705,7 +2705,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Leslie
@ 104
- .4byte FACILITY_CLASS_TRIATHLETE_1
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_M
.string "DAVE$", 8
@ pre-battle speech
.2byte EC_WORD_WHAT
@@ -2731,7 +2731,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Dave
@ 105
- .4byte FACILITY_CLASS_TRIATHLETE_1
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_M
.string "CARLO$", 8
@ pre-battle speech
.2byte EC_WORD_HAH
@@ -2757,7 +2757,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Carlo
@ 106
- .4byte FACILITY_CLASS_TRIATHLETE_2
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_F
.string "EMILIA$", 8
@ pre-battle speech
.2byte EC_WORD_ME
@@ -2783,7 +2783,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Emilia
@ 107
- .4byte FACILITY_CLASS_TRIATHLETE_2
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_F
.string "DALIA$", 8
@ pre-battle speech
.2byte EC_WORD_MY
@@ -3043,7 +3043,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Joel
@ 117
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "KRISTEN$", 8
@ pre-battle speech
.2byte EC_WORD_HAHAHA
@@ -3069,7 +3069,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Kristen
@ 118
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "SELPHY$", 8
@ pre-battle speech
.2byte EC_WORD_HUH_QUES
@@ -3095,7 +3095,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Selphy
@ 119
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "CHLOE$", 8
@ pre-battle speech
.2byte EC_WORD_COME
@@ -4057,7 +4057,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Graham
@ 156
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "TYLOR$", 8
@ pre-battle speech
.2byte EC_WORD_ARE
@@ -4083,7 +4083,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Tylor
@ 157
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "JAREN$", 8
@ pre-battle speech
.2byte EC_WORD_FIGHTING
@@ -4109,7 +4109,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jaren
@ 158
- .4byte FACILITY_CLASS_PKMN_BREEDER_2
+ .4byte FACILITY_CLASS_PKMN_BREEDER_M
.string "CORDELL$", 8
@ pre-battle speech
.2byte EC_WORD_A
@@ -4135,7 +4135,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Cordell
@ 159
- .4byte FACILITY_CLASS_PKMN_BREEDER_1
+ .4byte FACILITY_CLASS_POKEMON_BREEDER_F
.string "JAZLYN$", 8
@ pre-battle speech
.2byte EC_WORD_IS
@@ -4577,7 +4577,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Gunnar
@ 176
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "CRAIG$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -4603,7 +4603,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Craig
@ 177
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "PIERCE$", 8
@ pre-battle speech
.2byte EC_WORD_THERE
@@ -4629,7 +4629,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Pierce
@ 178
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "REGINA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -4655,7 +4655,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Regina
@ 179
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "ALISON$", 8
@ pre-battle speech
.2byte EC_WORD_THIS
@@ -5513,7 +5513,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Joyce
@ 212
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "TODD$", 8
@ pre-battle speech
.2byte EC_WORD_YOU_RE
@@ -5539,7 +5539,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Todd
@ 213
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "GAVIN$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -5565,7 +5565,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Gavin
@ 214
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "MALORY$", 8
@ pre-battle speech
.2byte EC_WORD_PROMISE
@@ -5591,7 +5591,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Malory
@ 215
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "ESTHER$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -5617,7 +5617,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Esther
@ 216
- .4byte FACILITY_CLASS_PKMN_BREEDER_2
+ .4byte FACILITY_CLASS_PKMN_BREEDER_M
.string "OSCAR$", 8
@ pre-battle speech
.2byte EC_WORD_LET_S
@@ -5643,7 +5643,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Oscar
@ 217
- .4byte FACILITY_CLASS_PKMN_BREEDER_2
+ .4byte FACILITY_CLASS_PKMN_BREEDER_M
.string "WILSON$", 8
@ pre-battle speech
.2byte EC_WORD_WORK
@@ -5669,7 +5669,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Wilson
@ 218
- .4byte FACILITY_CLASS_PKMN_BREEDER_1
+ .4byte FACILITY_CLASS_POKEMON_BREEDER_F
.string "CLARE$", 8
@ pre-battle speech
.2byte EC_WORD_YAY
@@ -5695,7 +5695,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Clare
@ 219
- .4byte FACILITY_CLASS_PKMN_BREEDER_1
+ .4byte FACILITY_CLASS_POKEMON_BREEDER_F
.string "TESS$", 8
@ pre-battle speech
.2byte EC_WORD_WANT
@@ -6397,7 +6397,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jasper
@ 246
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "NADIA$", 8
@ pre-battle speech
.2byte EC_WORD_YOU
@@ -6423,7 +6423,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Nadia
@ 247
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "MIRANDA$", 8
@ pre-battle speech
.2byte EC_WORD_WELL
@@ -6449,7 +6449,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Miranda
@ 248
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "EMMA$", 8
@ pre-battle speech
.2byte EC_WORD_I_VE
@@ -6865,7 +6865,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Reese
@ 264
- .4byte FACILITY_CLASS_TRIATHLETE_3
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_M
.string "MASON$", 8
@ pre-battle speech
.2byte EC_WORD_PLEASE
@@ -6891,7 +6891,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Mason
@ 265
- .4byte FACILITY_CLASS_TRIATHLETE_3
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_M
.string "TOBY$", 8
@ pre-battle speech
.2byte EC_WORD_LISTEN
@@ -6917,7 +6917,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Toby
@ 266
- .4byte FACILITY_CLASS_TRIATHLETE_4
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_F
.string "DOROTHY$", 8
@ pre-battle speech
.2byte EC_WORD_THE
@@ -6943,7 +6943,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Dorothy
@ 267
- .4byte FACILITY_CLASS_TRIATHLETE_4
+ .4byte FACILITY_CLASS_RUNNING_TRIATHLETE_F
.string "PIPER$", 8
@ pre-battle speech
.2byte EC_WORD_COME_ON
@@ -6969,7 +6969,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Piper
@ 268
- .4byte FACILITY_CLASS_TRIATHLETE_5
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_M
.string "FINN$", 8
@ pre-battle speech
.2byte EC_WORD_NOT
@@ -6995,7 +6995,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Finn
@ 269
- .4byte FACILITY_CLASS_TRIATHLETE_5
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_M
.string "SAMIR$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -7021,7 +7021,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Samir
@ 270
- .4byte FACILITY_CLASS_TRIATHLETE_6
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_F
.string "FIONA$", 8
@ pre-battle speech
.2byte EC_WORD_DID
@@ -7047,7 +7047,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Fiona
@ 271
- .4byte FACILITY_CLASS_TRIATHLETE_6
+ .4byte FACILITY_CLASS_SWIMMING_TRIATHLETE_F
.string "GLORIA$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -7073,7 +7073,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Gloria
@ 272
- .4byte FACILITY_CLASS_TRIATHLETE_1
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_M
.string "NICO$", 8
@ pre-battle speech
.2byte EC_WORD_LIKE
@@ -7099,7 +7099,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Nico
@ 273
- .4byte FACILITY_CLASS_TRIATHLETE_1
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_M
.string "JEREMY$", 8
@ pre-battle speech
.2byte EC_WORD_A
@@ -7125,7 +7125,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Jeremy
@ 274
- .4byte FACILITY_CLASS_TRIATHLETE_2
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_F
.string "CAITLIN$", 8
@ pre-battle speech
.2byte EC_WORD_DON_T
@@ -7151,7 +7151,7 @@ gBattleFrontierTrainers:: @ 85D5ACC
.4byte gBattleFrontierTrainerMons_Caitlin
@ 275
- .4byte FACILITY_CLASS_TRIATHLETE_2
+ .4byte FACILITY_CLASS_CYCLING_TRIATHLETE_F
.string "REENA$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
diff --git a/data/battle_frontier/battle_pyramid_level_50_wild_mons.inc b/data/battle_frontier/battle_pyramid_level_50_wild_mons.inc
deleted file mode 100644
index 251a1aeae..000000000
--- a/data/battle_frontier/battle_pyramid_level_50_wild_mons.inc
+++ /dev/null
@@ -1,1003 +0,0 @@
- .align 2
-gBattlePyramidLevel50WildMons_Round1:: @ 86126B0
-@ 0
- .2byte SPECIES_PLUSLE
- .byte 35 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_MINUN
- .byte 35 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE
-
-@ 2
- .2byte SPECIES_PIKACHU
- .byte 37 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE
-
-@ 3
- .2byte SPECIES_ELECTABUZZ
- .byte 37 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE
-
-@ 4
- .2byte SPECIES_VILEPLUME
- .byte 39 @ base level
- .byte 2 @ unknown
- .2byte MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE
-
-@ 5
- .2byte SPECIES_MANECTRIC
- .byte 39 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE
-
-@ 6
- .2byte SPECIES_BRELOOM
- .byte 40 @ base level
- .byte 2 @ unknown
- .2byte MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH
-
-@ 7
- .2byte SPECIES_JOLTEON
- .byte 40 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK
-
-gBattlePyramidLevel50WildMons_Round2:: @ 8612710
-@ 0
- .2byte SPECIES_GULPIN
- .byte 36 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_ROSELIA
- .byte 36 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE
-
-@ 2
- .2byte SPECIES_BUTTERFREE
- .byte 38 @ base level
- .byte 2 @ unknown
- .2byte MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SEVIPER
- .byte 38 @ base level
- .byte 2 @ unknown
- .2byte MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL
-
-@ 4
- .2byte SPECIES_SKARMORY
- .byte 40 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE
-
-@ 5
- .2byte SPECIES_LUDICOLO
- .byte 40 @ base level
- .byte 1 @ unknown
- .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE
-
-@ 6
- .2byte SPECIES_CROBAT
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE
-
-gBattlePyramidLevel50WildMons_Round3:: @ 8612770
-@ 0
- .2byte SPECIES_GROWLITHE
- .byte 37 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_VULPIX
- .byte 37 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_MAGCARGO
- .byte 39 @ base level
- .byte 1 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE
-
-@ 3
- .2byte SPECIES_NINETALES
- .byte 39 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE
-
-@ 4
- .2byte SPECIES_MEDICHAM
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE
-
-@ 5
- .2byte SPECIES_WEEZING
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_DUSCLOPS
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH
-
-@ 7
- .2byte SPECIES_HOUNDOOM
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT
-
-gBattlePyramidLevel50WildMons_Round4:: @ 86127D0
-@ 0
- .2byte SPECIES_DUNSPARCE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_BANETTE
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_MISDREAVUS
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE
-
-@ 3
- .2byte SPECIES_NINETALES
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE
-
-@ 4
- .2byte SPECIES_ABSOL
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT
-
-@ 5
- .2byte SPECIES_DUSCLOPS
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL
-
-@ 6
- .2byte SPECIES_SHEDINJA
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE
-
-gBattlePyramidLevel50WildMons_Round5:: @ 8612830
-@ 0
- .2byte SPECIES_HAUNTER
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE
-
-@ 1
- .2byte SPECIES_CHIMECHO
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT
-
-@ 2
- .2byte SPECIES_SOLROCK
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC
-
-@ 3
- .2byte SPECIES_MISDREAVUS
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT
-
-@ 4
- .2byte SPECIES_CLAYDOL
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC
-
-@ 5
- .2byte SPECIES_WEEZING
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_FLYGON
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE
-
-gBattlePyramidLevel50WildMons_Round6:: @ 8612890
-@ 0
- .2byte SPECIES_DIGLETT
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE
-
-@ 1
- .2byte SPECIES_TRAPINCH
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE
-
-@ 2
- .2byte SPECIES_WYNAUT
- .byte 42 @ base level
- .byte 0 @ unknown
- .2byte MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT
-
-@ 3
- .2byte SPECIES_DIGLETT
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC
-
-@ 4
- .2byte SPECIES_TRAPINCH
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT
-
-@ 5
- .2byte SPECIES_WYNAUT
- .byte 44 @ base level
- .byte 0 @ unknown
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE
-
-@ 6
- .2byte SPECIES_WOBBUFFET
- .byte 45 @ base level
- .byte 0 @ unknown
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE
-
-@ 7
- .2byte SPECIES_DUGTRIO
- .byte 45 @ base level
- .byte 1 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT
-
-gBattlePyramidLevel50WildMons_Round7:: @ 86128F0
-@ 0
- .2byte SPECIES_GLALIE
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_SNEASEL
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_DEWGONG
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE
-
-@ 3
- .2byte SPECIES_PILOSWINE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE
-
-@ 4
- .2byte SPECIES_JYNX
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE
-
-@ 5
- .2byte SPECIES_CLOYSTER
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_WALREIN
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE
-
-@ 7
- .2byte SPECIES_LAPRAS
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC
-
-gBattlePyramidLevel50WildMons_Round8:: @ 8612950
-@ 0
- .2byte SPECIES_WEEZING
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE
-
-@ 1
- .2byte SPECIES_ELECTRODE
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE
-
-@ 2
- .2byte SPECIES_GENGAR
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE
-
-@ 3
- .2byte SPECIES_GOLEM
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_PINECO
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE
-
-@ 5
- .2byte SPECIES_SOLROCK
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_FORRETRESS
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_SHIFTRY
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT
-
-gBattlePyramidLevel50WildMons_Round9:: @ 86129B0
-@ 0
- .2byte SPECIES_WOBBUFFET
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND
-
-@ 1
- .2byte SPECIES_METANG
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC
-
-@ 2
- .2byte SPECIES_EXEGGUTOR
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SLOWKING
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER
-
-@ 4
- .2byte SPECIES_XATU
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING
-
-@ 5
- .2byte SPECIES_ALAKAZAM
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC
-
-@ 6
- .2byte SPECIES_STARMIE
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM
-
-@ 7
- .2byte SPECIES_ESPEON
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE
-
-gBattlePyramidLevel50WildMons_Round10:: @ 8612A10
-@ 0
- .2byte SPECIES_GOLEM
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_STEELIX
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_OMASTAR
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE
-
-@ 3
- .2byte SPECIES_LUNATONE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE
-
-@ 4
- .2byte SPECIES_SHUCKLE
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE
-
-@ 5
- .2byte SPECIES_ARMALDO
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_CRADILY
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE
-
-@ 7
- .2byte SPECIES_AERODACTYL
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE
-
-gBattlePyramidLevel50WildMons_Round11:: @ 8612A70
-@ 0
- .2byte SPECIES_POLIWRATH
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE
-
-@ 1
- .2byte SPECIES_HARIYAMA
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE
-
-@ 2
- .2byte SPECIES_BRELOOM
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE
-
-@ 3
- .2byte SPECIES_MEDICHAM
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH
-
-@ 4
- .2byte SPECIES_HITMONCHAN
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH
-
-@ 5
- .2byte SPECIES_HITMONLEE
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_HERACROSS
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE
-
-@ 7
- .2byte SPECIES_MACHAMP
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS
-
-gBattlePyramidLevel50WildMons_Round12:: @ 8612AD0
-@ 0
- .2byte SPECIES_QUAGSIRE
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_TROPIUS
- .byte 41 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_PUPITAR
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE
-
-@ 3
- .2byte SPECIES_LAPRAS
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_CACTURNE
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE
-
-@ 5
- .2byte SPECIES_FLAREON
- .byte 44 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_WALREIN
- .byte 45 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_GYARADOS
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE
-
-gBattlePyramidLevel50WildMons_Round13:: @ 8612B30
-@ 0
- .2byte SPECIES_PINECO
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_SHUCKLE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE
-
-@ 2
- .2byte SPECIES_VENOMOTH
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC
-
-@ 3
- .2byte SPECIES_SCIZOR
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT
-
-@ 4
- .2byte SPECIES_HERACROSS
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
-
-@ 5
- .2byte SPECIES_FORRETRESS
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_ARMALDO
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_SHEDINJA
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE
-
-gBattlePyramidLevel50WildMons_Round14:: @ 8612B90
-@ 0
- .2byte SPECIES_SABLEYE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_SNEASEL
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK
-
-@ 2
- .2byte SPECIES_CRAWDAUNT
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SHIFTRY
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN
-
-@ 4
- .2byte SPECIES_CACTURNE
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE
-
-@ 5
- .2byte SPECIES_ABSOL
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE
-
-@ 6
- .2byte SPECIES_HOUNDOOM
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT
-
-@ 7
- .2byte SPECIES_UMBREON
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK
-
-gBattlePyramidLevel50WildMons_Round15:: @ 8612BF0
-@ 0
- .2byte SPECIES_OCTILLERY
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE
-
-@ 1
- .2byte SPECIES_DEWGONG
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE
-
-@ 2
- .2byte SPECIES_PELIPPER
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE
-
-@ 3
- .2byte SPECIES_QUAGSIRE
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE
-
-@ 4
- .2byte SPECIES_LUDICOLO
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM
-
-@ 5
- .2byte SPECIES_SLOWKING
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE
-
-@ 6
- .2byte SPECIES_STARMIE
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD
-
-@ 7
- .2byte SPECIES_BLASTOISE
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE
-
-gBattlePyramidLevel50WildMons_Round16:: @ 8612C50
-@ 0
- .2byte SPECIES_DUSKULL
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT
-
-@ 1
- .2byte SPECIES_HAUNTER
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL
-
-@ 2
- .2byte SPECIES_BANETTE
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE
-
-@ 3
- .2byte SPECIES_MISDREAVUS
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE
-
-@ 4
- .2byte SPECIES_SABLEYE
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE
-
-@ 5
- .2byte SPECIES_DUSCLOPS
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE
-
-@ 6
- .2byte SPECIES_SHEDINJA
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE
-
-gBattlePyramidLevel50WildMons_Round17:: @ 8612CB0
-@ 0
- .2byte SPECIES_MAWILE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE
-
-@ 1
- .2byte SPECIES_MAGNETON
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_STEELIX
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SCIZOR
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_FORRETRESS
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE
-
-@ 5
- .2byte SPECIES_SKARMORY
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT
-
-@ 6
- .2byte SPECIES_AGGRON
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM
-
-@ 7
- .2byte SPECIES_METAGROSS
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK
-
-gBattlePyramidLevel50WildMons_Round18:: @ 8612D10
-@ 0
- .2byte SPECIES_DRAGONAIR
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE
-
-@ 1
- .2byte SPECIES_VIBRAVA
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING
-
-@ 2
- .2byte SPECIES_ALTARIA
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT
-
-@ 3
- .2byte SPECIES_FLYGON
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE
-
-@ 4
- .2byte SPECIES_AERODACTYL
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE
-
-@ 5
- .2byte SPECIES_GYARADOS
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE
-
-@ 6
- .2byte SPECIES_KINGDRA
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE
-
-@ 7
- .2byte SPECIES_CHARIZARD
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL
-
-gBattlePyramidLevel50WildMons_Round19:: @ 8612D70
-@ 0
- .2byte SPECIES_ARCANINE
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_POLIWRATH
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_RAICHU
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE
-
-@ 3
- .2byte SPECIES_VAPOREON
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_JOLTEON
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE
-
-@ 5
- .2byte SPECIES_FLAREON
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_NINETALES
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE
-
-@ 7
- .2byte SPECIES_STARMIE
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC
-
-gBattlePyramidLevel50WildMons_Round20:: @ 8612DD0
-@ 0
- .2byte SPECIES_KANGASKHAN
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH
-
-@ 1
- .2byte SPECIES_SWELLOW
- .byte 42 @ base level
- .byte 2 @ unknown
- .2byte MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE
-
-@ 2
- .2byte SPECIES_URSARING
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT
-
-@ 3
- .2byte SPECIES_PORYGON2
- .byte 46 @ base level
- .byte 2 @ unknown
- .2byte MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM
-
-@ 4
- .2byte SPECIES_TAUROS
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT
-
-@ 5
- .2byte SPECIES_FEAROW
- .byte 48 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT
-
-@ 6
- .2byte SPECIES_SNORLAX
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE
-
-@ 7
- .2byte SPECIES_SLAKING
- .byte 50 @ base level
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM
-
- .align 2
-gBattlePyramidLevel50WildMonPointers:: @ 8612E30
- .4byte gBattlePyramidLevel50WildMons_Round1
- .4byte gBattlePyramidLevel50WildMons_Round2
- .4byte gBattlePyramidLevel50WildMons_Round3
- .4byte gBattlePyramidLevel50WildMons_Round4
- .4byte gBattlePyramidLevel50WildMons_Round5
- .4byte gBattlePyramidLevel50WildMons_Round6
- .4byte gBattlePyramidLevel50WildMons_Round7
- .4byte gBattlePyramidLevel50WildMons_Round8
- .4byte gBattlePyramidLevel50WildMons_Round9
- .4byte gBattlePyramidLevel50WildMons_Round10
- .4byte gBattlePyramidLevel50WildMons_Round11
- .4byte gBattlePyramidLevel50WildMons_Round12
- .4byte gBattlePyramidLevel50WildMons_Round13
- .4byte gBattlePyramidLevel50WildMons_Round14
- .4byte gBattlePyramidLevel50WildMons_Round15
- .4byte gBattlePyramidLevel50WildMons_Round16
- .4byte gBattlePyramidLevel50WildMons_Round17
- .4byte gBattlePyramidLevel50WildMons_Round18
- .4byte gBattlePyramidLevel50WildMons_Round19
- .4byte gBattlePyramidLevel50WildMons_Round20
diff --git a/data/battle_frontier/battle_pyramid_open_level_wild_mons.inc b/data/battle_frontier/battle_pyramid_open_level_wild_mons.inc
deleted file mode 100644
index 0ae67a44b..000000000
--- a/data/battle_frontier/battle_pyramid_open_level_wild_mons.inc
+++ /dev/null
@@ -1,1003 +0,0 @@
- .align 2
-gBattlePyramidOpenLevelWildMons_Round1:: @ 8612E80
-@ 0
- .2byte SPECIES_PLUSLE
- .byte 15 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_MINUN
- .byte 15 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE
-
-@ 2
- .2byte SPECIES_PIKACHU
- .byte 13 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE
-
-@ 3
- .2byte SPECIES_ELECTABUZZ
- .byte 13 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE
-
-@ 4
- .2byte SPECIES_VILEPLUME
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE
-
-@ 5
- .2byte SPECIES_MANECTRIC
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE
-
-@ 6
- .2byte SPECIES_BRELOOM
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH
-
-@ 7
- .2byte SPECIES_JOLTEON
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK
-
-gBattlePyramidOpenLevelWildMons_Round2:: @ 8612EE0
-@ 0
- .2byte SPECIES_GULPIN
- .byte 14 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_ROSELIA
- .byte 14 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE
-
-@ 2
- .2byte SPECIES_BUTTERFREE
- .byte 12 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SEVIPER
- .byte 12 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL
-
-@ 4
- .2byte SPECIES_SKARMORY
- .byte 7 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE
-
-@ 5
- .2byte SPECIES_LUDICOLO
- .byte 7 @ base level difference
- .byte 1 @ unknown
- .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE
-
-@ 6
- .2byte SPECIES_CROBAT
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE
-
-gBattlePyramidOpenLevelWildMons_Round3:: @ 8612F40
-@ 0
- .2byte SPECIES_GROWLITHE
- .byte 13 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_VULPIX
- .byte 13 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_MAGCARGO
- .byte 11 @ base level difference
- .byte 1 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE
-
-@ 3
- .2byte SPECIES_NINETALES
- .byte 11 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE
-
-@ 4
- .2byte SPECIES_MEDICHAM
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE
-
-@ 5
- .2byte SPECIES_WEEZING
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_DUSCLOPS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH
-
-@ 7
- .2byte SPECIES_HOUNDOOM
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT
-
-gBattlePyramidOpenLevelWildMons_Round4:: @ 8612FA0
-@ 0
- .2byte SPECIES_DUNSPARCE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_BANETTE
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_MISDREAVUS
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE
-
-@ 3
- .2byte SPECIES_NINETALES
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE
-
-@ 4
- .2byte SPECIES_ABSOL
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT
-
-@ 5
- .2byte SPECIES_DUSCLOPS
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL
-
-@ 6
- .2byte SPECIES_SHEDINJA
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE
-
-gBattlePyramidOpenLevelWildMons_Round5:: @ 8613000
-@ 0
- .2byte SPECIES_HAUNTER
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE
-
-@ 1
- .2byte SPECIES_CHIMECHO
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT
-
-@ 2
- .2byte SPECIES_SOLROCK
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC
-
-@ 3
- .2byte SPECIES_MISDREAVUS
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT
-
-@ 4
- .2byte SPECIES_CLAYDOL
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC
-
-@ 5
- .2byte SPECIES_WEEZING
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_FLYGON
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE
-
-gBattlePyramidOpenLevelWildMons_Round6:: @ 8613060
-@ 0
- .2byte SPECIES_DIGLETT
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE
-
-@ 1
- .2byte SPECIES_TRAPINCH
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE
-
-@ 2
- .2byte SPECIES_WYNAUT
- .byte 8 @ base level difference
- .byte 0 @ unknown
- .2byte MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT
-
-@ 3
- .2byte SPECIES_DIGLETT
- .byte 8 @ base level difference
- .byte 1 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC
-
-@ 4
- .2byte SPECIES_TRAPINCH
- .byte 6 @ base level difference
- .byte 1 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT
-
-@ 5
- .2byte SPECIES_WYNAUT
- .byte 6 @ base level difference
- .byte 0 @ unknown
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE
-
-@ 6
- .2byte SPECIES_WOBBUFFET
- .byte 5 @ base level difference
- .byte 0 @ unknown
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE
-
-@ 7
- .2byte SPECIES_DUGTRIO
- .byte 5 @ base level difference
- .byte 1 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT
-
-gBattlePyramidOpenLevelWildMons_Round7:: @ 86130C0
-@ 0
- .2byte SPECIES_GLALIE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_SNEASEL
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_DEWGONG
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE
-
-@ 3
- .2byte SPECIES_PILOSWINE
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE
-
-@ 4
- .2byte SPECIES_JYNX
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE
-
-@ 5
- .2byte SPECIES_CLOYSTER
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_WALREIN
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE
-
-@ 7
- .2byte SPECIES_LAPRAS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC
-
-gBattlePyramidOpenLevelWildMons_Round8:: @ 8613120
-@ 0
- .2byte SPECIES_WEEZING
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE
-
-@ 1
- .2byte SPECIES_ELECTRODE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE
-
-@ 2
- .2byte SPECIES_GENGAR
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE
-
-@ 3
- .2byte SPECIES_GOLEM
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_PINECO
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE
-
-@ 5
- .2byte SPECIES_SOLROCK
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_FORRETRESS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_SHIFTRY
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT
-
-gBattlePyramidOpenLevelWildMons_Round9:: @ 8613180
-@ 0
- .2byte SPECIES_WOBBUFFET
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND
-
-@ 1
- .2byte SPECIES_METANG
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC
-
-@ 2
- .2byte SPECIES_EXEGGUTOR
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SLOWKING
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER
-
-@ 4
- .2byte SPECIES_XATU
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING
-
-@ 5
- .2byte SPECIES_ALAKAZAM
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC
-
-@ 6
- .2byte SPECIES_STARMIE
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM
-
-@ 7
- .2byte SPECIES_ESPEON
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE
-
-gBattlePyramidOpenLevelWildMons_Round10:: @ 86131E0
-@ 0
- .2byte SPECIES_GOLEM
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_STEELIX
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_OMASTAR
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE
-
-@ 3
- .2byte SPECIES_LUNATONE
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE
-
-@ 4
- .2byte SPECIES_SHUCKLE
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE
-
-@ 5
- .2byte SPECIES_ARMALDO
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_CRADILY
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE
-
-@ 7
- .2byte SPECIES_AERODACTYL
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE
-
-gBattlePyramidOpenLevelWildMons_Round11:: @ 8613240
-@ 0
- .2byte SPECIES_POLIWRATH
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE
-
-@ 1
- .2byte SPECIES_HARIYAMA
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE
-
-@ 2
- .2byte SPECIES_BRELOOM
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE
-
-@ 3
- .2byte SPECIES_MEDICHAM
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH
-
-@ 4
- .2byte SPECIES_HITMONCHAN
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH
-
-@ 5
- .2byte SPECIES_HITMONLEE
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_HERACROSS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE
-
-@ 7
- .2byte SPECIES_MACHAMP
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS
-
-gBattlePyramidOpenLevelWildMons_Round12:: @ 86132A0
-@ 0
- .2byte SPECIES_QUAGSIRE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE
-
-@ 1
- .2byte SPECIES_TROPIUS
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_PUPITAR
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE
-
-@ 3
- .2byte SPECIES_LAPRAS
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_CACTURNE
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE
-
-@ 5
- .2byte SPECIES_FLAREON
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_WALREIN
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_GYARADOS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE
-
-gBattlePyramidOpenLevelWildMons_Round13:: @ 8613300
-@ 0
- .2byte SPECIES_PINECO
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_SHUCKLE
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE
-
-@ 2
- .2byte SPECIES_VENOMOTH
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC
-
-@ 3
- .2byte SPECIES_SCIZOR
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT
-
-@ 4
- .2byte SPECIES_HERACROSS
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE
-
-@ 5
- .2byte SPECIES_FORRETRESS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE
-
-@ 6
- .2byte SPECIES_ARMALDO
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE
-
-@ 7
- .2byte SPECIES_SHEDINJA
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE
-
-gBattlePyramidOpenLevelWildMons_Round14:: @ 8613360
-@ 0
- .2byte SPECIES_SABLEYE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_SNEASEL
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK
-
-@ 2
- .2byte SPECIES_CRAWDAUNT
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SHIFTRY
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN
-
-@ 4
- .2byte SPECIES_CACTURNE
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE
-
-@ 5
- .2byte SPECIES_ABSOL
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE
-
-@ 6
- .2byte SPECIES_HOUNDOOM
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT
-
-@ 7
- .2byte SPECIES_UMBREON
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK
-
-gBattlePyramidOpenLevelWildMons_Round15:: @ 86133C0
-@ 0
- .2byte SPECIES_OCTILLERY
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE
-
-@ 1
- .2byte SPECIES_DEWGONG
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE
-
-@ 2
- .2byte SPECIES_PELIPPER
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE
-
-@ 3
- .2byte SPECIES_QUAGSIRE
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE
-
-@ 4
- .2byte SPECIES_LUDICOLO
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM
-
-@ 5
- .2byte SPECIES_SLOWKING
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE
-
-@ 6
- .2byte SPECIES_STARMIE
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD
-
-@ 7
- .2byte SPECIES_BLASTOISE
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE
-
-gBattlePyramidOpenLevelWildMons_Round16:: @ 8613420
-@ 0
- .2byte SPECIES_DUSKULL
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT
-
-@ 1
- .2byte SPECIES_HAUNTER
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL
-
-@ 2
- .2byte SPECIES_BANETTE
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE
-
-@ 3
- .2byte SPECIES_MISDREAVUS
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE
-
-@ 4
- .2byte SPECIES_SABLEYE
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE
-
-@ 5
- .2byte SPECIES_DUSCLOPS
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE
-
-@ 6
- .2byte SPECIES_SHEDINJA
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT
-
-@ 7
- .2byte SPECIES_GENGAR
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE
-
-gBattlePyramidOpenLevelWildMons_Round17:: @ 8613480
-@ 0
- .2byte SPECIES_MAWILE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE
-
-@ 1
- .2byte SPECIES_MAGNETON
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_STEELIX
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE
-
-@ 3
- .2byte SPECIES_SCIZOR
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_FORRETRESS
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE
-
-@ 5
- .2byte SPECIES_SKARMORY
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT
-
-@ 6
- .2byte SPECIES_AGGRON
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM
-
-@ 7
- .2byte SPECIES_METAGROSS
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK
-
-gBattlePyramidOpenLevelWildMons_Round18:: @ 86134E0
-@ 0
- .2byte SPECIES_DRAGONAIR
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE
-
-@ 1
- .2byte SPECIES_VIBRAVA
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING
-
-@ 2
- .2byte SPECIES_ALTARIA
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT
-
-@ 3
- .2byte SPECIES_FLYGON
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE
-
-@ 4
- .2byte SPECIES_AERODACTYL
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE
-
-@ 5
- .2byte SPECIES_GYARADOS
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE
-
-@ 6
- .2byte SPECIES_KINGDRA
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE
-
-@ 7
- .2byte SPECIES_CHARIZARD
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL
-
-gBattlePyramidOpenLevelWildMons_Round19:: @ 8613540
-@ 0
- .2byte SPECIES_ARCANINE
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE
-
-@ 1
- .2byte SPECIES_POLIWRATH
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 2
- .2byte SPECIES_RAICHU
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE
-
-@ 3
- .2byte SPECIES_VAPOREON
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE
-
-@ 4
- .2byte SPECIES_JOLTEON
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE
-
-@ 5
- .2byte SPECIES_FLAREON
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE
-
-@ 6
- .2byte SPECIES_NINETALES
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE
-
-@ 7
- .2byte SPECIES_STARMIE
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC
-
-gBattlePyramidOpenLevelWildMons_Round20:: @ 86135A0
-@ 0
- .2byte SPECIES_KANGASKHAN
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH
-
-@ 1
- .2byte SPECIES_SWELLOW
- .byte 10 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE
-
-@ 2
- .2byte SPECIES_URSARING
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT
-
-@ 3
- .2byte SPECIES_PORYGON2
- .byte 8 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM
-
-@ 4
- .2byte SPECIES_TAUROS
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT
-
-@ 5
- .2byte SPECIES_FEAROW
- .byte 6 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT
-
-@ 6
- .2byte SPECIES_SNORLAX
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE
-
-@ 7
- .2byte SPECIES_SLAKING
- .byte 5 @ base level difference
- .byte 2 @ unknown
- .2byte MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM
-
- .align 2
-gBattlePyramidOpenLevelWildMonPointers:: @ 8613600
- .4byte gBattlePyramidOpenLevelWildMons_Round1
- .4byte gBattlePyramidOpenLevelWildMons_Round2
- .4byte gBattlePyramidOpenLevelWildMons_Round3
- .4byte gBattlePyramidOpenLevelWildMons_Round4
- .4byte gBattlePyramidOpenLevelWildMons_Round5
- .4byte gBattlePyramidOpenLevelWildMons_Round6
- .4byte gBattlePyramidOpenLevelWildMons_Round7
- .4byte gBattlePyramidOpenLevelWildMons_Round8
- .4byte gBattlePyramidOpenLevelWildMons_Round9
- .4byte gBattlePyramidOpenLevelWildMons_Round10
- .4byte gBattlePyramidOpenLevelWildMons_Round11
- .4byte gBattlePyramidOpenLevelWildMons_Round12
- .4byte gBattlePyramidOpenLevelWildMons_Round13
- .4byte gBattlePyramidOpenLevelWildMons_Round14
- .4byte gBattlePyramidOpenLevelWildMons_Round15
- .4byte gBattlePyramidOpenLevelWildMons_Round16
- .4byte gBattlePyramidOpenLevelWildMons_Round17
- .4byte gBattlePyramidOpenLevelWildMons_Round18
- .4byte gBattlePyramidOpenLevelWildMons_Round19
- .4byte gBattlePyramidOpenLevelWildMons_Round20
diff --git a/data/battle_frontier/fallarbor_battle_tent_trainers.inc b/data/battle_frontier/fallarbor_battle_tent_trainers.inc
index 675314eb3..f1e2f8c4c 100644
--- a/data/battle_frontier/fallarbor_battle_tent_trainers.inc
+++ b/data/battle_frontier/fallarbor_battle_tent_trainers.inc
@@ -53,7 +53,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Javier
@ 2
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "NATALIE$", 8
@ pre-battle speech
.2byte EC_WORD_THE
@@ -79,7 +79,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Natalie
@ 3
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "TREVE$", 8
@ pre-battle speech
.2byte EC_WORD_LOOK
@@ -417,7 +417,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Mariana
@ 16
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "SHELDON$", 8
@ pre-battle speech
.2byte EC_WORD_A
@@ -443,7 +443,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Sheldon
@ 17
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "GIANNA$", 8
@ pre-battle speech
.2byte EC_WORD_AHAHA
@@ -495,7 +495,7 @@ gFallarborBattleTentTrainers:: @ 85DF084
.4byte gFallarborBattleTentTrainerMons_Yahir
@ 19
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "BRITNEY$", 8
@ pre-battle speech
.2byte EC_WORD_IT
diff --git a/data/battle_frontier/slateport_battle_tent_trainers.inc b/data/battle_frontier/slateport_battle_tent_trainers.inc
index 051514b94..92a2f2518 100644
--- a/data/battle_frontier/slateport_battle_tent_trainers.inc
+++ b/data/battle_frontier/slateport_battle_tent_trainers.inc
@@ -53,7 +53,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Malachi
@ 2
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "KELSIE$", 8
@ pre-battle speech
.2byte EC_WORD_GO
@@ -79,7 +79,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Kelsie
@ 3
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "DAVON$", 8
@ pre-battle speech
.2byte EC_WORD_YEAH_YEAH
@@ -417,7 +417,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Rebecca
@ 16
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "REGGIE$", 8
@ pre-battle speech
.2byte EC_WORD_POKEMON
@@ -443,7 +443,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Reggie
@ 17
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "JANAE$", 8
@ pre-battle speech
.2byte EC_WORD_I
@@ -495,7 +495,7 @@ gSlateportBattleTentTrainers:: @ 85DDA14
.4byte gSlateportBattleTentTrainerMons_Caiden
@ 19
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "KIRSTEN$", 8
@ pre-battle speech
.2byte EC_WORD_HUH_QUES
diff --git a/data/battle_frontier/verdanturf_battle_tent_trainers.inc b/data/battle_frontier/verdanturf_battle_tent_trainers.inc
index b375ce811..5f4dad133 100644
--- a/data/battle_frontier/verdanturf_battle_tent_trainers.inc
+++ b/data/battle_frontier/verdanturf_battle_tent_trainers.inc
@@ -53,7 +53,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Dilan
@ 2
- .4byte FACILITY_CLASS_TUBER_1
+ .4byte FACILITY_CLASS_TUBER_F
.string "ELIANA$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -79,7 +79,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Eliana
@ 3
- .4byte FACILITY_CLASS_TUBER_2
+ .4byte FACILITY_CLASS_TUBER_M
.string "MARKUS$", 8
@ pre-battle speech
.2byte EC_WORD_I_AM
@@ -417,7 +417,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Ashlyn
@ 16
- .4byte FACILITY_CLASS_POKEFAN_1
+ .4byte FACILITY_CLASS_POKEFAN_M
.string "ADDISON$", 8
@ pre-battle speech
.2byte EC_WORD_YES
@@ -443,7 +443,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Addison
@ 17
- .4byte FACILITY_CLASS_POKEFAN_2
+ .4byte FACILITY_CLASS_POKEFAN_F
.string "JUSTINE$", 8
@ pre-battle speech
.2byte EC_WORD_YES
@@ -495,7 +495,7 @@ gVerdanturfBattleTentTrainers:: @ 85DE610
.4byte gVerdanturfBattleTentTrainerMons_Tyson
@ 19
- .4byte FACILITY_CLASS_EXPERT_2
+ .4byte FACILITY_CLASS_EXPERT_F
.string "LAILA$", 8
@ pre-battle speech
.2byte EC_WORD_A
diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s
index 4074c360c..b1375e05f 100644
--- a/data/battle_frontier_1.s
+++ b/data/battle_frontier_1.s
@@ -6,31 +6,6 @@
.section .rodata
.align 2
-gUnknown_0860DE50:: @ 860DE50
- .4byte sub_8195980
- .4byte sub_8195A38
- .4byte sub_8195AE4
- .4byte sub_8195BB0
- .4byte sub_8195C20
- .4byte sub_8195C50
- .4byte sub_8195C7C
- .4byte sub_8195CE4
- .4byte sub_8195D28
- .4byte sub_8195DB8
-
-gUnknown_0860DE78:: @ 860DE78
- .2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
-
-gUnknown_0860DE84:: @ 860DE84
- .2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba, 0x0000
-
-gUnknown_0860DE98:: @ 860DE98
- .4byte 0x00000010, 0x00000020, 0x00400000, 0x00800000
-
-gUnknown_0860DEA8:: @ 860DEA8
- .4byte 0xffffffef, 0xffffffdf, 0xffbfffff, 0xff7fffff
-
- .align 2
gUnknown_0860DEB8:: @ 860DEB8 //struct
.2byte 0x0025, 0x0000, 0x0108, 0x0208, 0x0308, 0x0103, 0x0008, 0x0108, 0x0208, 0x0000
.2byte 0x02e1, 0x0000, 0x010c, 0x020c, 0x030c, 0x013e, 0x000c, 0x010c, 0x020c, 0x0000
diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s
deleted file mode 100644
index 51b62461d..000000000
--- a/data/battle_frontier_2.s
+++ /dev/null
@@ -1,1110 +0,0 @@
-#include "constants/moves.h"
-#include "constants/species.h"
-#include "constants/trainers.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_08611550:: @ 8611550
- .byte 0x23, 0x46, 0x23, 0x01, 0x04, 0x09, 0x05, 0x00, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x38, 0x1c, 0x01, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x8c, 0x38, 0x01, 0x15, 0x46, 0x23, 0x00
-
- .align 2
-gUnknown_0861156C:: @ 861156C
- .byte 0x41, 0x00, 0xb3, 0x00, 0x18, 0x0f, 0x6a, 0x00, 0x98, 0x98, 0x64, 0x00
-
- .align 2
-gUnknown_08611578:: @ 8611578
- .2byte 0x0009, 0x0007, 0x0008, 0x0032, 0x00f4, 0x008d, 0x0118, 0x9864, 0x0098, 0x0664, 0x007e, 0x015b, 0x00d8, 0x002e, 0x008f, 0x00b7
- .2byte 0x0318, 0x9898, 0x0000, 0x646a, 0x0022, 0x00bb, 0x0119, 0x00f7, 0x00f3, 0x008d, 0x0f1f, 0x009e, 0x64fc, 0x0000, 0x0055, 0x015b
- .2byte 0x0073, 0x009c, 0x0198, 0x00b3, 0x0f1f, 0x00fc, 0x06fc, 0x0000, 0x005e, 0x015b, 0x0069, 0x0151, 0x008f, 0x0086, 0x031f, 0xfcfc
- .2byte 0x0000, 0x0006, 0x00ae, 0x00d8, 0x009c, 0x00f7, 0x011d, 0x00c4, 0x0214, 0x9898, 0x006a, 0x0064, 0x0039, 0x0059, 0x003a, 0x0044
- .2byte 0x018d, 0x008d, 0x0314, 0x9898, 0x646a, 0x0000, 0x0059, 0x0118, 0x0151, 0x014c, 0x0006, 0x00b4, 0x1114, 0x9864, 0x986a, 0x0000
- .2byte 0x013b, 0x009d, 0x014c, 0x0059, 0x011d, 0x00c8, 0x021f, 0xfcfc, 0x0006, 0x0000, 0x0039, 0x0059, 0x003a, 0x00f3, 0x0190, 0x00b7
- .2byte 0x021f, 0xfcfc, 0x0006, 0x0000, 0x005e, 0x0135, 0x0059, 0x00b6, 0x0197, 0x0086, 0x0f1f, 0x00fc, 0x06fc, 0x0000, 0x0055, 0x005e
- .2byte 0x015b, 0x009c, 0x00a9, 0x00b3, 0x0310, 0x0098, 0x9800, 0x6a64, 0x006d, 0x0068, 0x005c, 0x0013, 0x016e, 0x00c6, 0x0010, 0x9898
- .2byte 0x6a00, 0x0064, 0x0059, 0x00cf, 0x00f7, 0x0118, 0x0083, 0x00b7, 0x1110, 0x0000, 0x00fc, 0x986a, 0x003a, 0x0020, 0x006d, 0x00b6
- .2byte 0x003b, 0x00b4, 0x0b1f, 0xfc06, 0x00fc, 0x0000, 0x013b, 0x00f5, 0x002e, 0x00b6, 0x016e, 0x00c6, 0x001f, 0xfc06, 0xfc00, 0x0000
- .2byte 0x003f, 0x0059, 0x00f7, 0x0119, 0x00f5, 0x00bb, 0x0b1f, 0x00fc, 0x06fc, 0x0000, 0x003b, 0x0039, 0x002c, 0x015b, 0x00d6, 0x00aa
- .2byte 0x0d14, 0x986a, 0x9800, 0x6400, 0x00e0, 0x013d, 0x00cb, 0x00b3, 0x00c5, 0x00c8, 0x1414, 0x0098, 0x0064, 0x6a98, 0x0022, 0x006d
- .2byte 0x005e, 0x00b9, 0x012f, 0x00b3, 0x0314, 0xfc00, 0xfc06, 0x0000, 0x00f7, 0x00d8, 0x006d, 0x014c, 0x00c5, 0x0086, 0x141f, 0x00fc
- .2byte 0x0000, 0x06fc, 0x0026, 0x006d, 0x009c, 0x005e, 0x005e, 0x00c8, 0x0f1f, 0x00fc, 0x00fc, 0x0006, 0x005e, 0x005f, 0x008a, 0x00c2
- .2byte 0x0133, 0x008d, 0x0d1f, 0xfc06, 0xfc00, 0x0000, 0x0093, 0x0108, 0x00ca, 0x001d, 0x018f, 0x008e, 0x021f, 0xfc00, 0x00fc, 0x0006
- .2byte 0x0071, 0x005e, 0x0073, 0x00e8, 0x00e3, 0x008e, 0x081f, 0x00fc, 0x0000, 0xfc06, 0x005c, 0x014c, 0x00b6, 0x00d3, 0x0180, 0x008e
- .2byte 0x031f, 0xfc00, 0x0000, 0x06fc, 0x0055, 0x00b6, 0x004c, 0x0151, 0x018f, 0x008e, 0x021f, 0xfc00, 0x00fc, 0x0006, 0x0071, 0x005e
- .2byte 0x0073, 0x00e8, 0x00e3, 0x008e, 0x081f, 0x00fc, 0x0000, 0xfc06, 0x005c, 0x014c, 0x00b6, 0x00d3, 0x0180, 0x008e, 0x031f, 0xfc00
- .2byte 0x0000, 0x06fc, 0x0055, 0x00b6, 0x004c, 0x0151, 0x017b, 0x00b7, 0x0210, 0x00fc, 0x00fc, 0x0006, 0x00cf, 0x00f2, 0x0131, 0x00ca
- .2byte 0x00d5, 0x0086, 0x0510, 0x00fc, 0x0000, 0xfc6a, 0x005c, 0x00c9, 0x00b6, 0x009c, 0x0149, 0x00c8, 0x0f10, 0x0098, 0x0064, 0x6a98
- .2byte 0x003a, 0x00f3, 0x0039, 0x0069, 0x017b, 0x00c4, 0x051f, 0x00fc, 0x0000, 0x06fc, 0x00cf, 0x00f2, 0x00bc, 0x00ca, 0x00d0, 0x00b3
- .2byte 0x021f, 0x00fc, 0x0000, 0xfc06, 0x0059, 0x009d, 0x0099, 0x0067, 0x0082, 0x0086, 0x031f, 0x06fc, 0x0000, 0xfc00, 0x015d, 0x00d8
- .2byte 0x002e, 0x009c, 0x0191, 0x00b7, 0x0310, 0x9898, 0x0000, 0x646a, 0x0099, 0x0114, 0x0059, 0x00f6, 0x0193, 0x00c8, 0x0310, 0x9898
- .2byte 0x0000, 0xc806, 0x0059, 0x00e8, 0x005c, 0x014e, 0x0192, 0x0086, 0x0f10, 0x006a, 0x0098, 0x9864, 0x003a, 0x0085, 0x0057, 0x009c
- .2byte 0x0090, 0x00c6, 0x101f, 0x0006, 0xfcfc, 0x0000, 0x003b, 0x0160, 0x014c, 0x0073, 0x0091, 0x008d, 0x101f, 0x0006, 0xfcfc, 0x0000
- .2byte 0x0057, 0x00c5, 0x0041, 0x0071, 0x0092, 0x00b3, 0x101f, 0x0006, 0xfcfc, 0x0000, 0x007e, 0x003f, 0x014c, 0x00db
-
-gUnknown_086118B4:: @ 86118B4
- .byte 0x01, 0x02, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x03, 0x04, 0x04
- .byte 0x01, 0x01, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x04, 0x05, 0x05, 0x02, 0x02, 0x00, 0x00
- .byte 0x05, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x05, 0x06, 0x06, 0x02, 0x02, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x06, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
- .byte 0x05, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x07, 0x08, 0x08, 0x03, 0x03, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x06, 0x00, 0x00
- .byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x08, 0x09, 0x09, 0x04, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
- .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x09, 0x0a, 0x0a, 0x04, 0x04, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
- .byte 0x09, 0x0a, 0x0b, 0x0b, 0x05, 0x05, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x0c, 0x0c
- .byte 0x05, 0x05, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x0d, 0x0d, 0x06, 0x06, 0x00, 0x00
- .byte 0x09, 0x0a, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x0d, 0x0e, 0x0e, 0x06, 0x06, 0x00, 0x00, 0x09, 0x0a, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
- .byte 0x09, 0x0a, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x0f, 0x0f, 0x07, 0x07, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00
- .byte 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x08, 0x08, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x0b, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00
- .byte 0x0f, 0x0f, 0x0f, 0x0f, 0x09, 0x09, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f
- .byte 0x09, 0x09, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b, 0x0c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0a, 0x0a, 0x00, 0x00
- .byte 0x0d, 0x0e, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0a, 0x0a, 0x00, 0x00, 0x0d, 0x0e, 0x00, 0x00
- .byte 0x0e, 0x00, 0x00, 0x00, 0x0c, 0x0d, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x0b, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00
- .byte 0x0d, 0x0e, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0b, 0x0b, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x00, 0x00
- .byte 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00
- .byte 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00
- .byte 0x0f, 0x0f, 0x0f, 0x0f, 0x0d, 0x0d, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f
- .byte 0x0d, 0x0d, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x00, 0x00
- .byte 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00
- .byte 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00
- .byte 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00
- .byte 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_08611BFC:: @ 8611BFC
- .2byte 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000
-
- .align 2
-gUnknown_08611C18:: @ 8611C18
- .4byte sub_81A17A0
- .4byte sub_81A1830
- .4byte sub_81A1968
- .4byte sub_81A1AD4
- .4byte sub_81A1B1C
- .4byte sub_81A1B28
- .4byte sub_81A1B38
- .4byte sub_81A1B98
- .4byte sub_81A31FC
- .4byte sub_81A35EC
- .4byte sub_81A3B00
- .4byte sub_81A3B64
- .4byte sub_81A3D30
- .4byte sub_81A3D58
- .4byte sub_81A3DA0
- .4byte sub_81A3FD4
- .4byte sub_81A4224
- .4byte sub_81A4230
- .4byte sub_81A43A8
- .4byte sub_81A4410
- .4byte sub_81A443C
- .4byte sub_81A447C
- .4byte sub_81A457C
-
- .align 2
-gUnknown_08611C74:: @ 8611C74
- window_template 0x00, 0x01, 0x01, 0x1c, 0x12, 0x0f, 0x0001
-
- .align 2
-gUnknown_08611C7C:: @ 8611C7C
- window_template 0x00, 0x02, 0x02, 0x1a, 0x0f, 0x0f, 0x0001
-
- .align 2
-gUnknown_08611C84:: @ 8611C84
- window_template 0x00, 0x02, 0x01, 0x1a, 0x11, 0x0f, 0x0001
-
-gUnknown_08611C8C:: @ 8611C8C
- .byte 0x46, 0x01, 0x47, 0x00, 0x49, 0x00, 0x48, 0x01, 0x4a, 0x00, 0x4b, 0x01, 0xea, 0x00
-
-gUnknown_08611C9A:: @ 8611C9A
- .2byte 0x0097, 0x0096, 0x00fa, 0x00f9, 0x00fb, 0x0194, 0x0195, 0x0196, 0x0199, 0x019a, 0xffff
-
- .align 2
-gUnknown_08611CB0:: @ 8611CB0
- .4byte gText_BattleTower2
- .4byte gUnknown_085ED164
- .4byte gText_BattleTower2
- .4byte gUnknown_085ED170
- .4byte gText_BattleTower2
- .4byte gUnknown_085ED17C
- .4byte gText_BattleDome
- .4byte gUnknown_085ED164
- .4byte gText_BattlePalace
- .4byte gUnknown_085ED164
- .4byte gText_BattleArena
- .4byte gUnknown_085ED190
- .4byte gText_BattleFactory
- .4byte gUnknown_085ED164
- .4byte gText_BattlePike
- .4byte gUnknown_085ED190
- .4byte gText_BattlePyramid
- .4byte gUnknown_085ED190
- .4byte gText_BattleTower2
- .4byte gUnknown_085ED188
-
- .align 2
-gUnknown_08611D00:: @ 8611D00
- .4byte gUnknown_085EE3B0
- .4byte gUnknown_085EE3B8
-
- .align 2
-gUnknown_08611D08:: @ 8611D08
- .4byte gUnknown_085EE3C4
- .4byte gUnknown_085EE3C4
- .4byte gUnknown_085EE3C4
- .4byte gUnknown_085EE3D4
- .4byte gUnknown_085EE3C4
- .4byte gUnknown_085EE3FC
- .4byte gUnknown_085EE3C4
- .4byte gUnknown_085EE3E8
- .4byte gUnknown_085EE410
- .4byte gUnknown_085EE3C4
-
- .align 1
-gFacilityToBrainTrainerId:: @ 8611D30
- .2byte TRAINER_ANABEL, TRAINER_TUCKER, TRAINER_SPENSER
- .2byte TRAINER_GRETA, TRAINER_NOLAND, TRAINER_LUCY
- .2byte TRAINER_BRANDON
-
- .align 2
-gUnknown_08611D40:: @ 8611D40
- .4byte gText_082C843F
- .4byte gText_082C848B
- .4byte gText_082C8628
- .4byte gText_082C85B4
- .4byte gText_082C8512
- .4byte gText_082C859D
- .4byte gText_082C86C3
-
- .align 2
-gUnknown_08611D5C:: @ 8611D5C
- .4byte gText_082C8458
- .4byte gText_082C84C1
- .4byte gText_082C8662
- .4byte gText_082C85E3
- .4byte gText_082C853B
- .4byte gText_082C85A4
- .4byte gText_082C86FE
-
- .align 2
-gUnknown_08611D78:: @ 8611D78
- .4byte gText_082C846C
- .4byte gText_082C84D0
- .4byte gText_082C8682
- .4byte gText_082C85F5
- .4byte gText_082C8561
- .4byte gText_082C85A9
- .4byte gText_082C8739
-
- .align 2
-gUnknown_08611D94:: @ 8611D94
- .4byte gText_082C8480
- .4byte gText_082C84F7
- .4byte gText_082C86B3
- .4byte gText_082C8611
- .4byte gText_082C8589
- .4byte gText_082C85AE
- .4byte gText_082C877B
-
- .align 2
-gUnknown_08611DB0:: @ 8611DB0
- .4byte gUnknown_08611D40
- .4byte gUnknown_08611D78
-
- .align 2
-gUnknown_08611DB8:: @ 8611DB8
- .4byte gUnknown_08611D5C
- .4byte gUnknown_08611D94
-
-@ 8611DC0
- .include "data/battle_frontier/battle_arena_move_mind_ratings.inc"
-
- .align 2
-gUnknown_08611F24:: @ 8611F24
- .byte 0x00, 0x00, 0x00, 0x40, 0x00, 0xf0, 0x00, 0x00
-
- .align 2
-gUnknown_08611F2C:: @ 8611F2C
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08611F34:: @ 8611F34
- .2byte 0x0004, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08611F3C:: @ 8611F3C
- .2byte 0x0008, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08611F44:: @ 8611F44
- .2byte 0x000c, 0x0001, 0xffff, 0x0000
-
- .align 2
-gUnknown_08611F4C:: @ 8611F4C
- .4byte gUnknown_08611F2C
- .4byte gUnknown_08611F34
- .4byte gUnknown_08611F3C
- .4byte gUnknown_08611F44
-
- .align 2
-gUnknown_08611F5C:: @ 8611F5C
- spr_template 0x03e8, 0xffff, gUnknown_08611F24, gUnknown_08611F4C, NULL, gDummySpriteAffineAnimTable, sub_81A5698
-
- .align 2
-gUnknown_08611F74:: @ 8611F74
- obj_tiles gUnknown_08D854E8, 0x0200, 0x03e8
- null_obj_tiles
-
- .align 2
-gUnknown_08611F84:: @ 8611F84
- .4byte sub_81A58B4
- .4byte sub_81A5964
- .4byte sub_81A59FC
- .4byte sub_81A5AC4
- .4byte sub_81A5B08
- .4byte sub_81A5B88
- .4byte sub_81A5BE0
-
- .align 1
-gUnknown_08611FA0:: @ 8611FA0
- .2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
-
- .align 1
-gUnknown_08611FAC:: @ 8611FAC
- .2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba, 0x0000
-
-@ 8611FC0
- .include "data/battle_frontier/battle_factory_style_move_lists.inc"
-
- .align 2
-gUnknown_08612120:: @ 8612120
- .4byte sub_81A5E94
- .4byte sub_81A5FA8
- .4byte sub_81A6054
- .4byte sub_81A613C
- .4byte nullsub_75
- .4byte nullsub_123
- .4byte sub_81A6188
- .4byte sub_81A6198
- .4byte sub_81A61A4
- .4byte sub_81A63CC
- .4byte sub_81A64C4
- .4byte sub_81A63B8
- .4byte sub_81A61B0
- .4byte sub_81A67EC
- .4byte sub_81A6A08
- .4byte sub_81A6AEC
- .4byte sub_81A6C1C
-
- .align 2
-gUnknown_08612164:: @ 8612164
- .4byte 0x00000100, 0x00000200, 0x01000000, 0x02000000
-
- .align 2
-gUnknown_08612174:: @ 8612174
- .4byte 0xfffffeff, 0xfffffdff, 0xfeffffff, 0xfdffffff
-
-gUnknown_08612184:: @ 8612184
- .byte 0x03, 0x06, 0x06, 0x09, 0x09, 0x0c, 0x0c, 0x0f, 0x0f, 0x12, 0x15, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f
-
- .align 1
-gUnknown_08612194:: @ 8612194
- .2byte 0x006e, 0x00c7, 0x00a2, 0x010a, 0x010b, 0x0173, 0x0174, 0x01d3, 0x01d4, 0x0233, 0x0234, 0x0293, 0x0294, 0x02f3, 0x0174, 0x0351
- .2byte 0x0174, 0x01d3, 0x01d4, 0x0233, 0x0234, 0x0293, 0x0294, 0x02f3, 0x0174, 0x0371, 0x0174, 0x0371, 0x0174, 0x0371, 0x0174, 0x0371
-
- .align 1
-gUnknown_086121D4:: @ 86121D4
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x016a, 0x0005, 0x0105, 0x00d4
- .2byte 0x005c, 0x0145
-
- .align 1
-gUnknown_086121F8:: @ 86121F8
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0065, 0x0005, 0x0099, 0x0078
- .2byte 0x0057, 0x005c
-
- .align 1
-gUnknown_0861221C:: @ 861221C
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x0133, 0x0005, 0x0093, 0x004e
- .2byte 0x004d, 0x00ed
-
- .align 1
-gUnknown_08612240:: @ 8612240
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0022, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x0039, 0x00ca, 0x0005, 0x0044, 0x00f3
- .2byte 0x00db, 0x00c2
-
- .align 2
-gUnknown_08612264:: @ 8612264
- .4byte gUnknown_086121D4
- .4byte gUnknown_086121F8
- .4byte gUnknown_0861221C
- .4byte gUnknown_08612240
-
- .align 1
-gUnknown_08612274:: @ 8612274
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x016a, 0x0005, 0x0105, 0x00d4
- .2byte 0x005c, 0x003a
-
- .align 1
-gUnknown_08612298:: @ 8612298
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0065, 0x0005, 0x0099, 0x0078
- .2byte 0x0057, 0x005c
-
- .align 1
-gUnknown_086122BC:: @ 86122BC
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x0133, 0x0005, 0x0093, 0x004e
- .2byte 0x004d, 0x00ed
-
- .align 1
-gUnknown_086122E0:: @ 86122E0
- .2byte 0x017b, 0x0004, 0x005c, 0x0089, 0x0131, 0x00bc, 0x0149, 0x0004, 0x005c, 0x005f, 0x0022, 0x003a, 0x00ca, 0x0005, 0x0044, 0x00f3
- .2byte 0x00db, 0x00e3
-
- .align 2
-gUnknown_08612304:: @ 8612304
- .4byte gUnknown_08612274
- .4byte gUnknown_08612298
- .4byte gUnknown_086122BC
- .4byte gUnknown_086122E0
-
- .align 2
-gUnknown_08612314:: @ 8612314
- .4byte gUnknown_08612264
- .4byte gUnknown_08612304
-
- .align 2
-gUnknown_0861231C:: @ 861231C
- .2byte 0x0012
- .byte 0x03, 0x05, 0x06
-
- .align 2
- .2byte 0x0005
- .byte 0x0d, 0x20, 0x25
-
- .align 2
- .2byte 0x0011
- .byte 0x08, 0x0b, 0x0c
-
- .align 2
- .2byte 0x0024
- .byte 0x22, 0x1e, 0x21
-
- .align 2
- .2byte 0x0015
- .byte 0x00, 0x00, 0x00
-
- .align 2
- .2byte 0x001e
- .byte 0x01, 0x01, 0x01
-
- .align 2
- .2byte 0x002c
- .byte 0x16, 0x17, 0x1b
-
- .align 2
- .2byte 0x0037
- .byte 0x08, 0x16, 0x1f
-
- .align 2
- .2byte 0x000e
- .byte 0x0d, 0x27, 0x15
-
- .align 2
- .2byte 0x0014
- .byte 0x02, 0x04, 0x11
-
- .align 2
- .2byte 0x0038
- .byte 0x1e, 0x14, 0x24
-
- .align 2
- .2byte 0x0042
- .byte 0x1c, 0x22, 0x19
-
- .align 2
- .2byte 0x0026
- .byte 0x17, 0x26, 0x1a
-
- .align 2
- .2byte 0x0032
- .byte 0x17, 0x1e, 0x0b
-
- .align 2
- .2byte 0x002f
- .byte 0x0f, 0x13, 0x0e
-
- .align 2
- .2byte 0x0027
- .byte 0x02, 0x1d, 0x1a
-
- .align 2
- .2byte 0x0033
- .byte 0x25, 0x0c, 0x20
-
- .align 2
- .2byte 0x0021
- .byte 0x18, 0x17, 0x26
-
- .align 2
- .2byte 0x0018
- .byte 0x05, 0x16, 0x04
-
- .align 2
- .2byte 0x000b
- .byte 0x29, 0x25, 0x23
-
- .align 2
- .2byte 0x0035
- .byte 0x27, 0x0e, 0x0d
-
- .align 2
- .2byte 0x0030
- .byte 0x0a, 0x07, 0x09
-
- .align 2
- .2byte 0x000c
- .byte 0x28, 0x14, 0x10
-
- .align 2
- .2byte 0x0034
- .byte 0x12, 0x0d, 0x15
-
- .align 2
- .2byte 0x0013
- .byte 0x16, 0x1f, 0x1b
-
- .align 2
-gUnknown_086123E4:: @ 86123E4
- .byte 0x29, 0x0a, 0x30, 0x06, 0x01, 0x0a, 0x0f, 0x14, 0x20, 0x10, 0x0e, 0x27
- .byte 0x2a, 0x0a, 0x1d, 0x08, 0x1b, 0x06, 0x34, 0x10, 0x20, 0x1e, 0x29, 0x0a
- .byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1a, 0x1c, 0x03, 0x0c
- .byte 0x0f, 0x1e, 0x0b, 0x10, 0x39, 0x10, 0x0f, 0x20, 0x2b, 0x10, 0x14, 0x0a
- .byte 0x3b, 0x10, 0x02, 0x0a, 0x1e, 0x16, 0x20, 0x10, 0x3e, 0x14, 0x03, 0x0c
- .byte 0x31, 0x0a, 0x02, 0x0e, 0x15, 0x0e, 0x36, 0x14, 0x37, 0x10, 0x0a, 0x1e
- .byte 0x29, 0x0a, 0x25, 0x10, 0x2a, 0x14, 0x34, 0x10, 0x0f, 0x1e, 0x1b, 0x0a
- .byte 0x01, 0x0a, 0x07, 0x0e, 0x2a, 0x12, 0x0f, 0x1e, 0x1f, 0x06, 0xff, 0xff
- .byte 0x35, 0x1a, 0x36, 0x10, 0x0f, 0x0e, 0x01, 0x0a, 0x21, 0x26, 0x0f, 0x1e
- .byte 0x25, 0x0e, 0x2f, 0x10, 0x2d, 0x06, 0x1e, 0x20, 0x03, 0x0c, 0xff, 0xff
- .byte 0x1d, 0x0c, 0x1d, 0x08, 0x2b, 0x0a, 0x0f, 0x10, 0x02, 0x0a, 0x03, 0x0c
- .byte 0x2a, 0x0a, 0x3e, 0x0a, 0x00, 0x20, 0x27, 0x10, 0x08, 0x1c, 0x04, 0x0c
- .byte 0x01, 0x0a, 0x12, 0x12, 0x01, 0x0a, 0x00, 0x10, 0x2d, 0x06, 0xff, 0xff
- .byte 0x22, 0x1e, 0x31, 0x12, 0x01, 0x0a, 0x18, 0x10, 0x1c, 0x1c, 0x03, 0x0c
- .byte 0x01, 0x0a, 0x0b, 0x06, 0x30, 0x10, 0x28, 0x0a, 0x49, 0x25, 0x24, 0x06
- .byte 0x14, 0x10, 0x2c, 0x0a, 0x15, 0x04, 0x42, 0x16, 0x1b, 0x1e, 0x03, 0x0c
- .byte 0x28, 0x06, 0x0f, 0x1a, 0x0b, 0x10, 0x17, 0x20, 0x00, 0x0c, 0xff, 0xff
- .byte 0x01, 0x0a, 0x15, 0x10, 0x47, 0x16, 0x0f, 0x1e, 0x39, 0x0e, 0x36, 0x0e
- .byte 0x01, 0x0a, 0x17, 0x10, 0x20, 0x16, 0x19, 0x0e, 0x31, 0x0a, 0x38, 0x0c
- .byte 0x1d, 0x0c, 0x1d, 0x08, 0x00, 0x0c, 0x22, 0x10, 0x12, 0x1c, 0x0b, 0x02
- .byte 0x29, 0x10, 0x04, 0x14, 0x2f, 0x10, 0x06, 0x10, 0x28, 0x1e, 0x1c, 0x1c
- .byte 0x29, 0x10, 0x20, 0x0e, 0x28, 0x10, 0x16, 0x1c, 0x29, 0x1e, 0x03, 0x0c
- .byte 0x0f, 0x1e, 0x0b, 0x10, 0x2f, 0x0e, 0x38, 0x06, 0x0c, 0x10, 0xff, 0xff
- .byte 0x29, 0x0a, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x06, 0x2c, 0x10, 0xff, 0xff
- .byte 0x23, 0x10, 0x0b, 0x10, 0x1d, 0x08, 0x2d, 0x06, 0x37, 0x10, 0x14, 0x0a
- .byte 0x29, 0x0a, 0x22, 0x10, 0x08, 0x14, 0x2f, 0x10, 0x1e, 0x16, 0x29, 0x10
- .byte 0x01, 0x06, 0x2c, 0x10, 0x01, 0x0a, 0x15, 0x10, 0x39, 0x0e, 0x36, 0x0e
- .byte 0x20, 0x10, 0x0b, 0x02, 0x3f, 0x10, 0x12, 0x1c, 0x04, 0x0c, 0xff, 0xff
- .byte 0x18, 0x10, 0x02, 0x0a, 0x3a, 0x10, 0x46, 0x04, 0x0e, 0x02, 0x03, 0x0c
- .byte 0x10, 0x1e, 0x0b, 0x02, 0x0a, 0x1e, 0x0b, 0x10, 0x3a, 0x06, 0xff, 0xff
- .byte 0x02, 0x0a, 0x12, 0x12, 0x0f, 0x1e, 0x0b, 0x10, 0x38, 0x06, 0x03, 0x0c
- .byte 0x22, 0x1e, 0x00, 0x10, 0x1b, 0x16, 0x3f, 0x10, 0x0f, 0x1e, 0x03, 0x0c
- .byte 0x29, 0x0a, 0x1e, 0x0e, 0x25, 0x10, 0x26, 0x1e, 0x00, 0x0c, 0xff, 0xff
- .byte 0x01, 0x0a, 0x1e, 0x0e, 0x36, 0x12, 0x2f, 0x10, 0x0b, 0x12, 0x04, 0x0c
- .byte 0x05, 0x28, 0x0f, 0x1e, 0x1b, 0x0a, 0x0b, 0x10, 0x20, 0x10, 0x3b, 0x06
- .byte 0x01, 0x0a, 0x1f, 0x10, 0x3e, 0x0a, 0x37, 0x10, 0x20, 0x10, 0x28, 0x06
- .byte 0x26, 0x10, 0x31, 0x0a, 0x29, 0x1e, 0x1c, 0x1c, 0x01, 0x0a, 0x12, 0x12
- .byte 0x0a, 0x0c, 0x00, 0x0c, 0x29, 0x10, 0x1c, 0x10, 0x0f, 0x1e, 0x23, 0x0c
- .byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x39, 0x10, 0x2a, 0x14, 0x04, 0x0c
- .byte 0x28, 0x0a, 0x0e, 0x02, 0x0f, 0x10, 0x20, 0x06, 0x2f, 0x10, 0x3c, 0x04
- .byte 0x39, 0x0c, 0x39, 0x0c, 0x00, 0x0c, 0x29, 0x0a, 0x17, 0x20, 0x39, 0x0c
- .byte 0x5c, 0x26, 0x0b, 0x10, 0x20, 0x10, 0x30, 0x12, 0x05, 0x1e, 0x0c, 0x10
-
-gUnknown_086125DC:: @ 86125DC
- .byte 0x23, 0x46, 0x23, 0x01, 0x04, 0x09, 0x05, 0x00, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x38, 0x1c, 0x01, 0x15, 0x2a, 0x15, 0x01, 0x1c, 0x8c, 0x38, 0x01, 0x15, 0x46, 0x23, 0x00
-
- .align 2
-gUnknown_086125F8:: @ 86125F8
- .4byte sub_81A705C
- .4byte sub_81A7140
- .4byte sub_81A7248
- .4byte sub_81A73B8
- .4byte sub_81A7070
- .4byte sub_81A73EC
- .4byte sub_81A7400
- .4byte sub_81A740C
- .4byte sub_81A7418
- .4byte nullsub_76
- .4byte nullsub_124
- .4byte sub_81A7468
- .4byte sub_81A74CC
- .4byte sub_81A74E0
- .4byte sub_81A7508
- .4byte sub_81A7580
- .4byte sub_81A8090
- .4byte sub_81A80DC
- .4byte sub_81A825C
- .4byte sub_81A827C
- .4byte sub_81A84B4
- .4byte sub_81A84EC
- .4byte sub_81A863C
- .4byte sub_81A8658
- .4byte sub_81A869C
- .4byte sub_81A86C0
- .4byte sub_81A8794
- .4byte sub_81A87E8
- .4byte sub_81A8830
-
-gUnknown_0861266C:: @ 861266C
- .byte 0x03, 0x03, 0x01, 0x00, 0x00, 0x02, 0x02, 0x01, 0x04
-
-gUnknown_08612675:: @ 8612675
- .byte 0x02, 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x01, 0x02, 0x00
-
- .align 2
-gUnknown_08612688:: @ 8612688
- .4byte sub_81A7D8C
- .4byte sub_81A7DE8
-
- .align 2
-gUnknown_08612690:: @ 8612690
- .4byte 0x00000400, 0x00000800
-
-gUnknown_08612698:: @ 8612698
- store_lock_anim
- walk_right
- free_unlock_anim
- step_end
-
-gUnknown_0861269C:: @ 861269C
- store_lock_anim
- walk_down
- free_unlock_anim
- step_end
-
-gUnknown_086126A0:: @ 86126A0
- store_lock_anim
- walk_left
- free_unlock_anim
- step_end
-
-gUnknown_086126A4:: @ 86126A4
- store_lock_anim
- walk_up
- free_unlock_anim
- step_end
-
-gUnknown_086126A8:: @ 86126A8
- face_right
- step_end
-
-gUnknown_086126AA:: @ 86126AA
- face_down
- step_end
-
-gUnknown_086126AC:: @ 86126AC
- face_left
- step_end
-
-gUnknown_086126AE:: @ 86126AE
- face_up
- step_end
-
-@ 86126B0
- .include "data/battle_frontier/battle_pyramid_level_50_wild_mons.inc"
-
-@ 8612E80
- .include "data/battle_frontier/battle_pyramid_open_level_wild_mons.inc"
-
- .align 2
-gUnknown_08613650:: @ 8613650
- .byte 0x07, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x80, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00
- .byte 0x05, 0x03, 0x00, 0x00, 0x78, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x78, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x00, 0x00, 0x00
- .byte 0x04, 0x04, 0x00, 0x01, 0x70, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x02, 0x70, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00
- .byte 0x03, 0x05, 0x00, 0x00, 0x68, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x01, 0x68, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x00, 0x00, 0x00
- .byte 0x04, 0x05, 0x00, 0x02, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x03, 0x06, 0x00, 0x04, 0x60, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00
- .byte 0x02, 0x03, 0x00, 0x00, 0x58, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0x58, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x00
- .byte 0x03, 0x07, 0x00, 0x00, 0x50, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x50, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x00, 0x00, 0x00
- .byte 0x03, 0x06, 0x00, 0x00, 0x50, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x08, 0x00, 0x00, 0x50, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00
-
-gUnknown_08613750:: @ 8613750
- .byte 0x28, 0x00, 0x46, 0x01, 0x5a, 0x02, 0x64, 0x03, 0x23, 0x01, 0x37, 0x02, 0x4b, 0x03, 0x5a, 0x04, 0x64, 0x0a, 0x23, 0x02, 0x37, 0x03, 0x4b, 0x04, 0x5a, 0x05, 0x64, 0x0b, 0x23, 0x03, 0x37, 0x04
- .byte 0x4b, 0x05, 0x5a, 0x06, 0x64, 0x0c, 0x23, 0x04, 0x37, 0x05, 0x4b, 0x06, 0x5a, 0x07, 0x64, 0x0d, 0x23, 0x05, 0x37, 0x06, 0x4b, 0x07, 0x5a, 0x08, 0x64, 0x0e, 0x23, 0x06, 0x37, 0x07, 0x4b, 0x08
- .byte 0x5a, 0x09, 0x64, 0x0f
-
-gUnknown_08613794:: @ 8613794
- .byte 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
-
- .align 1
-gUnknown_0861379C:: @ 861379C
- .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
- .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
- .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
- .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
- .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
- .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
- .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
- .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
- .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
- .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
- .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
- .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
- .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
-
- .align 1
-gUnknown_0861392C:: @ 861392C
- .2byte 0x0015, 0x0051, 0x0085, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x0087, 0x0022, 0x008a, 0x0018
- .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x0088, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
- .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x0086, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
- .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
- .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
- .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
- .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
- .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025, 0x0015, 0x004d, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db
- .2byte 0x0019, 0x002d, 0x0015, 0x004e, 0x008d, 0x0022, 0x008a, 0x0018, 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004f, 0x008d, 0x0022
- .2byte 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x0049, 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
- .2byte 0x0015, 0x0051, 0x008d, 0x0022, 0x008d, 0x0018, 0x00b3, 0x00db, 0x0019, 0x002d, 0x0015, 0x004a, 0x008d, 0x0022, 0x008a, 0x0018
- .2byte 0x00c8, 0x00ba, 0x0013, 0x0025, 0x0015, 0x004b, 0x008d, 0x0022, 0x008d, 0x0018, 0x00c6, 0x00c4, 0x0019, 0x002d, 0x0015, 0x004c
- .2byte 0x008d, 0x0022, 0x008a, 0x0018, 0x00b7, 0x00bb, 0x0013, 0x0025
-
-gUnknown_08613ABC:: @ 8613ABC
- .byte 0x1f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x0f, 0x00, 0x2e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06
- .byte 0x61, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3d, 0x02, 0x47, 0x03, 0x51, 0x04, 0x5b, 0x05, 0x5e, 0x06, 0x61, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04
- .byte 0x58, 0x05, 0x5c, 0x07, 0x60, 0x08, 0x64, 0x09, 0x0f, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x09, 0x0f, 0x00, 0x1e, 0x01, 0x3a, 0x02
- .byte 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x07, 0x64, 0x08, 0x1c, 0x00, 0x2b, 0x01, 0x3a, 0x02, 0x44, 0x03, 0x4e, 0x04, 0x58, 0x05, 0x5c, 0x06, 0x60, 0x08, 0x64, 0x09
-
-gUnknown_08613B3A:: @ 8613B3A
- .byte 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x00, 0x00, 0x00
-
- .align 2
-gUnknown_08613B44:: @ 8613B44
- .byte 0x03, 0x06
-
- .align 2
- .byte 0x0b, 0x06
-
- .align 2
- .byte 0x0d, 0x06
-
- .align 2
- .byte 0x0f, 0x01
-
- .align 2
- .byte 0x2b, 0x04
-
- .align 2
- .byte 0x2d, 0x01
-
- .align 2
- .byte 0x24, 0x09
-
- .align 2
- .byte 0x29, 0x04
-
- .align 2
- .byte 0x05, 0x05
-
- .align 2
- .byte 0x18, 0x04
-
- .align 2
- .byte 0x2f, 0x00
-
- .align 2
- .byte 0x2e, 0x09
-
- .align 2
- .byte 0x11, 0x0c
-
- .align 2
- .byte 0x10, 0x0b
-
- .align 2
- .byte 0x1e, 0x0d
-
- .align 2
- .byte 0x08, 0x01
-
- .align 2
- .byte 0x17, 0x03
-
- .align 2
- .byte 0x0c, 0x04
-
- .align 2
- .byte 0x38, 0x04
-
- .align 2
- .byte 0x1c, 0x03
-
- .align 2
- .byte 0x1a, 0x00
-
- .align 2
- .byte 0x19, 0x0b
-
- .align 2
- .byte 0x09, 0x07
-
- .align 2
- .byte 0x31, 0x07
-
- .align 2
- .byte 0x35, 0x07
-
- .align 2
- .byte 0x36, 0x01
-
- .align 2
- .byte 0x33, 0x00
-
- .align 2
- .byte 0x2a, 0x03
-
- .align 2
- .byte 0x16, 0x0d
-
- .align 2
- .byte 0x0e, 0x03
-
- .align 2
- .byte 0x15, 0x01
-
- .align 2
- .byte 0x14, 0x01
-
- .align 2
- .byte 0x2c, 0x01
-
- .align 2
- .byte 0x1b, 0x02
-
- .align 2
- .byte 0x04, 0x01
-
- .align 2
- .byte 0x07, 0x03
-
- .align 2
- .byte 0x34, 0x05
-
- .align 2
- .byte 0x32, 0x00
-
- .align 2
- .byte 0x37, 0x02
-
- .align 2
- .byte 0x1d, 0x04
-
- .align 2
- .byte 0x22, 0x09
-
- .align 2
- .byte 0x1f, 0x01
-
- .align 2
- .byte 0x25, 0x00
-
- .align 2
- .byte 0x0a, 0x04
-
- .align 2
- .byte 0x28, 0x00
-
- .align 2
- .byte 0x06, 0x05
-
- .align 2
- .byte 0x27, 0x0b
-
- .align 2
- .byte 0x26, 0x00
-
- .align 2
- .byte 0x13, 0x00
-
- .align 2
- .byte 0x12, 0x02
-
- .align 2
- .byte 0x39, 0x08
-
- .align 2
- .byte 0x02, 0x0b
-
- .align 2
- .byte 0x20, 0x01
-
- .align 2
- .byte 0x21, 0x00
-
- .align 2
-gUnknown_08613C1C:: @ 8613C1C
- .byte 0x0d, 0x03, 0x0e, 0x04, 0x10, 0x01, 0x11, 0x00, 0x03, 0x02, 0x12, 0x03, 0x0c, 0x03, 0x13, 0x03, 0x14, 0x03, 0x15, 0x02, 0x17, 0x02, 0x07, 0x02, 0x0a, 0x04, 0x19, 0x02, 0x1a, 0x02, 0x1b, 0x00
- .byte 0x1d, 0x02, 0x1e, 0x02, 0x1f, 0x03, 0x20, 0x04, 0x26, 0x00, 0x27, 0x01, 0x29, 0x04, 0x2a, 0x05, 0x09, 0x04, 0x16, 0x05, 0x2b, 0x00, 0x2d, 0x04, 0x2e, 0x02, 0x30, 0x02, 0x32, 0x02, 0x31, 0x03
- .byte 0x2f, 0x03, 0x33, 0x03, 0x34, 0x02, 0x04, 0x02, 0x35, 0x00, 0x36, 0x03, 0x37, 0x03, 0x38, 0x03, 0x1c, 0x01, 0x3a, 0x02, 0x05, 0x02, 0x42, 0x02, 0x02, 0x03, 0x44, 0x02, 0x45, 0x03, 0x47, 0x03
- .byte 0x43, 0x00, 0x00, 0x04
-
- .align 2
-gUnknown_08613C80:: @ 8613C80
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D2D
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D57
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252D81
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DAB
-
- .align 2
-gUnknown_08613C90:: @ 8613C90
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25330B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2532CC
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25328B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253248
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253206
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2531C4
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253183
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253140
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530FD
-
- .align 2
-gUnknown_08613CB4:: @ 8613CB4
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544A6
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25445A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25440B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2543BA
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25436A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25431A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2542CB
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25427A
-
- .align 2
-gUnknown_08613CD4:: @ 8613CD4
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252DD5
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E03
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E31
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E5F
-
- .align 2
-gUnknown_08613CE4:: @ 8613CE4
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25362E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2535D4
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253578
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25351A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2534BD
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253460
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253404
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2533A6
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25334D
-
- .align 2
-gUnknown_08613D08:: @ 8613D08
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25471E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2546CC
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25467C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25462A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2545D9
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254588
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254538
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2544E6
-
- .align 2
-gUnknown_08613D28:: @ 8613D28
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252E8D
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EAA
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EC7
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252EE4
-
- .align 2
-gUnknown_08613D38:: @ 8613D38
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2539EC
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253980
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253915
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2538A8
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25383C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2537D0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253765
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2536F8
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25368B
-
- .align 2
-gUnknown_08613D5C:: @ 8613D5C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A0B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2549AE
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25494D
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2548EB
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25488A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254829
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2547C9
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254767
-
- .align 2
-gUnknown_08613D7C:: @ 8613D7C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F01
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F3A
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252F73
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FAC
-
- .align 2
-gUnknown_08613D8C:: @ 8613D8C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D3E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253CE0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C87
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253C2C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253BD2
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B78
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253B1F
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253AC4
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253A69
-
- .align 2
-gUnknown_08613DB0:: @ 8613DB0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C3E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BF1
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254BAE
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B69
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254B25
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254AE1
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A9E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254A59
-
- .align 2
-gUnknown_08613DD0:: @ 8613DD0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_252FE5
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253000
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25301B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253036
-
- .align 2
-gUnknown_08613DE0:: @ 8613DE0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F6C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253F34
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EFA
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253EBE
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E83
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E48
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253E0E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253DD2
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253D96
-
- .align 2
-gUnknown_08613E04:: @ 8613E04
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E6E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254E27
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254DE0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D97
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D4F
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254D07
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254CC0
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254C77
-
- .align 2
-gUnknown_08613E24:: @ 8613E24
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253051
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25307C
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530A7
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2530D2
-
- .align 2
-gUnknown_08613E34:: @ 8613E34
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25422B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2541DD
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25418D
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25413B
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_2540EA
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254099
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254049
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FF7
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_253FA5
-
- .align 2
-gUnknown_08613E58:: @ 8613E58
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_255068
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_25502F
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FF6
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254FBB
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F81
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F47
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254F0E
- .4byte BattleFrontier_BattlePyramidEmptySquare_Text_254ED3
-
- .align 2
-gUnknown_08613E78:: @ 8613E78
- .4byte gUnknown_08613C80
- .4byte gUnknown_08613C90
- .4byte gUnknown_08613CB4
-
- .align 2
-gUnknown_08613E84:: @ 8613E84
- .4byte gUnknown_08613CD4
- .4byte gUnknown_08613CE4
- .4byte gUnknown_08613D08
-
- .align 2
-gUnknown_08613E90:: @ 8613E90
- .4byte gUnknown_08613D28
- .4byte gUnknown_08613D38
- .4byte gUnknown_08613D5C
-
- .align 2
-gUnknown_08613E9C:: @ 8613E9C
- .4byte gUnknown_08613D7C
- .4byte gUnknown_08613D8C
- .4byte gUnknown_08613DB0
-
- .align 2
-gUnknown_08613EA8:: @ 8613EA8
- .4byte gUnknown_08613DD0
- .4byte gUnknown_08613DE0
- .4byte gUnknown_08613E04
-
- .align 2
-gUnknown_08613EB4:: @ 8613EB4
- .4byte gUnknown_08613E24
- .4byte gUnknown_08613E34
- .4byte gUnknown_08613E58
-
- .align 2
-gUnknown_08613EC0:: @ 8613EC0
- .4byte gUnknown_08613E78
- .4byte gUnknown_08613E84
- .4byte gUnknown_08613E90
- .4byte gUnknown_08613E9C
- .4byte gUnknown_08613EA8
- .4byte gUnknown_08613EB4
-
-gUnknown_08613ED8:: @ 8613ED8
- .byte 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x03, 0x04
-
- .align 2
-gUnknown_08613EE0:: @ 8613EE0
- .4byte sub_81A8E9C
- .4byte sub_81A8F38
- .4byte sub_81A9048
- .4byte sub_81A9134
- .4byte sub_81A917C
- .4byte sub_81A91FC
- .4byte sub_81A9254
- .4byte CalculateBattlePyramidItemBallItemId
- .4byte sub_81A93C8
- .4byte sub_81A9414
- .4byte sub_81A9424
- .4byte sub_81A9618
- .4byte sub_81A966C
- .4byte sub_81A9684
- .4byte sub_81A975C
- .4byte sub_81A97C8
- .4byte sub_81A9828
- .4byte sub_81A9834
-
- .align 1
-gUnknown_08613F28:: @ 8613F28
- .2byte 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
-
- .align 2
-gUnknown_08613F34:: @ 8613F34
- .2byte 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
-
-gUnknown_08613F46:: @ 8613F46
- .byte 0x01, 0x04, 0xff, 0xff, 0x00, 0x02, 0x05, 0xff, 0x01, 0x03, 0x06, 0xff, 0x02, 0x07, 0xff, 0xff, 0x00, 0x05, 0x08, 0xff, 0x01, 0x04, 0x06, 0x09, 0x02, 0x05, 0x07, 0x0a, 0x03, 0x06, 0x0b, 0xff
- .byte 0x04, 0x09, 0x0c, 0xff, 0x05, 0x08, 0x0a, 0x0d, 0x06, 0x09, 0x0b, 0x0e, 0x07, 0x0a, 0x0f, 0xff, 0x08, 0x0d, 0xff, 0xff, 0x09, 0x0c, 0x0e, 0xff, 0x0a, 0x0d, 0x0f, 0xff, 0x0b, 0x0e, 0xff, 0xff
-
-gUnknown_08613F86:: @ 8613F86
- .byte 0x1e, 0x28, 0x32, 0x3c, 0x46, 0x50, 0x55, 0x5a, 0x5f, 0x64
-
diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s
index d8f681686..be91c7c7e 100644
--- a/data/battle_scripts_1.s
+++ b/data/battle_scripts_1.s
@@ -318,7 +318,7 @@ BattleScript_EffectSleep::
goto BattleScript_MoveEnd
BattleScript_AlreadyAsleep::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNALREADYASLEEP
waitmessage 0x40
@@ -731,7 +731,7 @@ BattleScript_EffectToxic::
goto BattleScript_MoveEnd
BattleScript_AlreadyPoisoned::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x40
printstring STRINGID_PKMNALREADYPOISONED
waitmessage 0x40
@@ -779,7 +779,7 @@ BattleScript_RestCantSleep::
goto BattleScript_MoveEnd
BattleScript_RestIsAlreadyAsleep::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNALREADYASLEEP2
waitmessage 0x40
@@ -944,7 +944,7 @@ BattleScript_EffectConfuse::
goto BattleScript_MoveEnd
BattleScript_AlreadyConfused::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40
@@ -1051,7 +1051,7 @@ BattleScript_EffectParalyze::
goto BattleScript_MoveEnd
BattleScript_AlreadyParalyzed::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNISALREADYPARALYZED
waitmessage 0x40
@@ -1128,7 +1128,7 @@ BattleScript_SubstituteString::
waitmessage 0x40
goto BattleScript_MoveEnd
BattleScript_AlreadyHasSubstitute::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNHASSUBSTITUTE
waitmessage 0x40
@@ -1601,12 +1601,12 @@ BattleScript_EffectPerishSong::
waitanimation
printstring STRINGID_FAINTINTHREE
waitmessage 0x40
- setbyte sBANK, 0x0
+ setbyte sBATTLER, 0x0
BattleScript_PerishSongLoop::
jumpifability BS_SCRIPTING, ABILITY_SOUNDPROOF, BattleScript_PerishSongNotAffected
BattleScript_PerishSongLoopIncrement::
- addbyte sBANK, 0x1
- jumpifbytenotequal sBANK, gBattlersCount, BattleScript_PerishSongLoop
+ addbyte sBATTLER, 0x1
+ jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_PerishSongLoop
goto BattleScript_MoveEnd
BattleScript_PerishSongNotAffected::
@@ -2226,7 +2226,7 @@ BattleScript_WaterVeilPrevents::
goto BattleScript_MoveEnd
BattleScript_AlreadyBurned::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNALREADYHASBURN
waitmessage 0x40
@@ -2493,7 +2493,7 @@ BattleScript_EffectYawn::
waitmessage 0x40
goto BattleScript_MoveEnd
BattleScript_PrintBankAbilityMadeIneffective::
- copybyte sBANK, sBANK_WITH_ABILITY
+ copybyte sBATTLER, sBATTLER_WITH_ABILITY
BattleScript_PrintAbilityMadeIneffective::
pause 0x20
printstring STRINGID_PKMNSXMADEITINEFFECTIVE
@@ -2643,7 +2643,7 @@ BattleScript_TeeterDanceSubstitutePrevents::
goto BattleScript_TeeterDanceDoMoveEndIncrement
BattleScript_TeeterDanceAlreadyConfused::
- various23 BS_ATTACKER
+ setalreadystatusedmoveattempt BS_ATTACKER
pause 0x20
printstring STRINGID_PKMNALREADYCONFUSED
waitmessage 0x40
@@ -3523,7 +3523,7 @@ BattleScript_RapidSpinAway::
BattleScript_WrapFree::
printstring STRINGID_PKMNGOTFREE
waitmessage 0x40
- copybyte gBattlerTarget, sBANK
+ copybyte gBattlerTarget, sBATTLER
return
BattleScript_LeechSeedFree::
@@ -4030,11 +4030,11 @@ BattleScript_ShedSkinActivates::
end3
BattleScript_WeatherFormChanges::
- setbyte sBANK, 0x0
+ setbyte sBATTLER, 0x0
BattleScript_WeatherFormChangesLoop::
trycastformdatachange
- addbyte sBANK, 0x1
- jumpifbytenotequal sBANK, gBattlersCount, BattleScript_WeatherFormChangesLoop
+ addbyte sBATTLER, 0x1
+ jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_WeatherFormChangesLoop
return
BattleScript_CastformChange::
@@ -4487,54 +4487,54 @@ BattleScript_ArenaTurnBeginning::
pause 0x8
playse SE_HANTEI1
various14 BS_ATTACKER
- various16 8
- various17 8
+ arenajudmengtstring 8
+ arenawaitmessage 8
pause 0x40
various15 BS_ATTACKER
volumeup
end2
-BattleScript_82DB8E0::
+BattleScript_82DB8E0:: @ Unused battlescript
playse SE_PINPON
various14 BS_ATTACKER
- various16 BS_TARGET
- various17 BS_TARGET
+ arenajudmengtstring BS_TARGET
+ arenawaitmessage BS_TARGET
pause 0x40
various15 BS_ATTACKER
end2
-BattleScript_82DB8F3::
- makevisible 11
+BattleScript_ArenaDoJudgment::
+ makevisible BS_PLAYER1
waitstate
makevisible BS_OPPONENT1
waitstate
volumedown
- playse 0x109
+ playse SE_HANTEI1
pause 0x8
- playse 0x109
+ playse SE_HANTEI1
pause 0x40
various14 BS_ATTACKER
- various16 BS_ATTACKER
- various17 BS_ATTACKER
+ arenajudmengtstring 1
+ arenawaitmessage 1
pause 0x40
setbyte gBattleCommunication, 0x0
- various9 BS_ATTACKER
+ arenajudgmentwindow
pause 0x40
- various9 BS_ATTACKER
- various16 BS_EFFECT_BATTLER
- various17 BS_EFFECT_BATTLER
- various9 BS_ATTACKER
- various16 BS_FAINTED
- various17 BS_FAINTED
- various9 BS_ATTACKER
- various16 0x4
- various17 0x4
- various9 BS_ATTACKER
- jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x3, BattleScript_82DB973
- jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x4, BattleScript_82DB992
- various16 0x5
- various17 0x5
- various9 BS_ATTACKER
+ arenajudgmentwindow
+ arenajudmengtstring 2
+ arenawaitmessage 2
+ arenajudgmentwindow
+ arenajudmengtstring 3
+ arenawaitmessage 3
+ arenajudgmentwindow
+ arenajudmengtstring 4
+ arenawaitmessage 4
+ arenajudgmentwindow
+ jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x3, BattleScript_ArenaJudgmentPlayerLoses
+ jumpifbyte CMP_EQUAL, gBattleCommunication + 1, 0x4, BattleScript_ArenaJudgmentDraw
+ arenajudmengtstring 5
+ arenawaitmessage 5
+ arenajudgmentwindow
various15 BS_ATTACKER
printstring STRINGID_DEFEATEDOPPONENTBYREFEREE
waitmessage 0x40
@@ -4542,39 +4542,39 @@ BattleScript_82DB8F3::
waitcry BS_ATTACKER
dofaintanimation BS_OPPONENT1
cleareffectsonfaint BS_OPPONENT1
- various10 BS_ATTACKER
+ arenaopponentmonlost
end2
-BattleScript_82DB973::
- various16 0x6
- various17 0x6
- various9 BS_ATTACKER
+BattleScript_ArenaJudgmentPlayerLoses:
+ arenajudmengtstring 6
+ arenawaitmessage 6
+ arenajudgmentwindow
various15 BS_ATTACKER
printstring STRINGID_LOSTTOOPPONENTBYREFEREE
waitmessage 0x40
- playfaintcry 11
+ playfaintcry BS_PLAYER1
waitcry BS_ATTACKER
- dofaintanimation 11
- cleareffectsonfaint 11
- various11 BS_ATTACKER
+ dofaintanimation BS_PLAYER1
+ cleareffectsonfaint BS_PLAYER1
+ arenaplayermonlost
end2
-BattleScript_82DB992::
- various16 BS_BATTLER_0
- various17 BS_BATTLER_0
- various9 BS_ATTACKER
+BattleScript_ArenaJudgmentDraw:
+ arenajudmengtstring 7
+ arenawaitmessage 7
+ arenajudgmentwindow
various15 BS_ATTACKER
printstring STRINGID_TIEDOPPONENTBYREFEREE
waitmessage 0x40
- playfaintcry 11
+ playfaintcry BS_PLAYER1
waitcry BS_ATTACKER
- dofaintanimation 11
- cleareffectsonfaint 11
+ dofaintanimation BS_PLAYER1
+ cleareffectsonfaint BS_PLAYER1
playfaintcry BS_OPPONENT1
waitcry BS_ATTACKER
dofaintanimation BS_OPPONENT1
cleareffectsonfaint BS_OPPONENT1
- various12 BS_ATTACKER
+ arenabothmonlost
end2
BattleScript_AskIfWantsToForfeitMatch::
diff --git a/data/battle_tower.s b/data/battle_tower.s
index 2cc0aa639..9f7e1ade4 100644
--- a/data/battle_tower.s
+++ b/data/battle_tower.s
@@ -21,19 +21,19 @@
@ 85D97BC
.include "data/battle_frontier/battle_frontier_mons.inc"
-gUnknown_085DCEDC:: @ 85DCEDC
+gTowerMaleFacilityClasses:: @ 85DCEDC
.byte 0x0e, 0x11, 0x03, 0x15, 0x17, 0x07, 0x0a, 0x19, 0x1a, 0x1b, 0x1d, 0x1e, 0x20, 0x26, 0x29, 0x09, 0x2b, 0x2d, 0x2e, 0x30, 0x32, 0x34, 0x04, 0x35, 0x3a, 0x05, 0x42, 0x44, 0x43, 0x00
-gUnknown_085DCEFA:: @ 85DCEFA
+gTowerFemaleFacilityClasses:: @ 85DCEFA
.byte 0x0d, 0x10, 0x12, 0x0c, 0x13, 0x14, 0x1f, 0x27, 0x2a, 0x16, 0x2f, 0x31, 0x33, 0x36, 0x37, 0x38, 0x1c, 0x02, 0x45, 0x47
-gUnknown_085DCF0E:: @ 85DCF0E
+gTowerMaleTrainerGfxIds:: @ 85DCF0E
.byte 0x37, 0x36, 0x21, 0x0f, 0x27, 0x33, 0x2c, 0x42, 0x42, 0x1f, 0x27, 0x25, 0x30, 0x26, 0x19, 0x15, 0x23, 0x32, 0x38, 0x33, 0x33, 0x21, 0x42, 0x05, 0x31, 0x27, 0x41, 0x1f, 0x24, 0x37
-gUnknown_085DCF2C:: @ 85DCF2C
+gTowerFemaleTrainerGfxIds:: @ 85DCF2C
.byte 0x14, 0x35, 0x22, 0x28, 0x14, 0x2d, 0x2f, 0x0e, 0x12, 0x16, 0x39, 0x34, 0x34, 0x0e, 0x22, 0x34, 0x20, 0x14, 0x20, 0x2f
-gUnknown_085DCF40:: @ 85DCF40
+sRubyFacilityClassToEmerald:: @ 85DCF40
.byte 0x00, 0x0b, 0x01, 0x01, 0x02, 0x06, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x0f, 0x06, 0x10, 0x07, 0x11, 0x08, 0x03, 0x09, 0x12, 0x0a, 0x0c, 0x0b, 0x13, 0x0c, 0x14, 0x0d, 0x15, 0x0e, 0x17, 0x0f, 0x07
.byte 0x10, 0x0a, 0x11, 0x19, 0x12, 0x1a, 0x13, 0x1b, 0x14, 0x1d, 0x15, 0x1e, 0x16, 0x1f, 0x17, 0x20, 0x18, 0x21, 0x19, 0x22, 0x1a, 0x23, 0x1b, 0x24, 0x1c, 0x25, 0x1d, 0x26, 0x1e, 0x27, 0x1f, 0x28
.byte 0x20, 0x29, 0x21, 0x2a, 0x22, 0x09, 0x23, 0x16, 0x24, 0x2b, 0x25, 0x2c, 0x26, 0x2d, 0x27, 0x2e, 0x28, 0x2f, 0x29, 0x30, 0x2a, 0x31, 0x2b, 0x32, 0x2c, 0x33, 0x2d, 0x34, 0x2e, 0x04, 0x2f, 0x35
@@ -640,7 +640,7 @@ gUnknown_085DD690:: @ 85DD690
.4byte gUnknown_085DD0F0
.4byte gUnknown_085DD104
-gUnknown_085DD6D0:: @ 85DD6D0
+sStevenMons:: @ 85DD6D0
.byte 0x8f, 0x01, 0x1f, 0x2a, 0x02
gUnknown_085DD6D5:: @ 85DD6D5
@@ -677,57 +677,3 @@ gUnknown_085DD6DC:: @ 85DD6DC
@ 85DF69C
.include "data/battle_frontier/fallarbor_battle_tent_mons.inc"
-
- .align 2
-gUnknown_085DF96C:: @ 85DF96C
- .4byte sub_8161F94
- .4byte sub_8162054
- .4byte sub_81620F4
- .4byte sub_81623F0
- .4byte sub_81621C0
- .4byte sub_816502C
- .4byte sub_8164040
- .4byte sub_8163914
- .4byte nullsub_61
- .4byte nullsub_116
- .4byte sub_81642A0
- .4byte sub_8164828
- .4byte sub_8164B74
- .4byte sub_8164DCC
- .4byte sub_8164DE4
- .4byte sub_8164E04
-
- .align 2
-gUnknown_085DF9AC:: @ 85DF9AC
- .4byte 0x00000001, 0x00000002, 0x00004000, 0x00008000, 0x00010000, 0x00020000, 0x00040000, 0x00080000
-
- .align 2
-gUnknown_085DF9CC:: @ 85DF9CC
- .4byte 0xfffffffe, 0xfffffffd, 0xffffbfff, 0xffff7fff, 0xfffeffff, 0xfffdffff, 0xfffbffff, 0xfff7ffff
-
-gUnknown_085DF9EC:: @ 85DF9EC
- .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c
-
-gUnknown_085DF9F6:: @ 85DF9F6
- .byte 0x03, 0x04, 0x02, 0x02
-
- .align 1
-gUnknown_085DF9FA:: @ 85DF9FA
- .2byte 0x0000, 0x0063, 0x0050, 0x0077, 0x0064, 0x008b, 0x0078, 0x009f, 0x008c, 0x00b3, 0x00a0, 0x00c7, 0x00b4, 0x00db, 0x00c8, 0x012b
-
- .align 1
-gUnknown_085DFA1A:: @ 85DFA1A
- .2byte 0x0064, 0x0077, 0x0078, 0x008b, 0x008c, 0x009f, 0x00a0, 0x00b3, 0x00b4, 0x00c7, 0x00c8, 0x00db, 0x00dc, 0x00ef, 0x00c8, 0x012b
- .2byte 0x00b3, 0x008d, 0x00c8, 0x00b7
-
-gUnknown_085DFA42:: @ 85DFA42
- .byte 0x03, 0x04, 0x02, 0x02
-
- .align 1
-gUnknown_085DFA46:: @ 85DFA46
- .2byte 0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01
-
- .align 1
-gUnknown_085DFA52:: @ 85DFA52
- .2byte 0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04, 0x0000
-
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 77c0f44cc..e4fb20cd6 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1,12 +1,15 @@
+#include "constants/battle_frontier.h"
+#include "constants/battle_setup.h"
+#include "constants/field_effects.h"
#include "constants/flags.h"
#include "constants/items.h"
+#include "constants/heal_locations.h"
#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/species.h"
-#include "constants/vars.h"
-#include "constants/heal_locations.h"
#include "constants/trainers.h"
+#include "constants/vars.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.include "constants/constants.inc"
@@ -45,11 +48,11 @@ gSpecialVars:: @ 81DBA0C
gStdScripts:: @ 81DC2A0
.4byte Std_ObtainItem
.4byte Std_FindItem
- .4byte Std_2
- .4byte Std_3
- .4byte Std_4
- .4byte Std_5
- .4byte Std_6
+ .4byte Std_MsgboxNPC
+ .4byte Std_MsgboxSign
+ .4byte Std_MsgboxDefault
+ .4byte Std_MsgboxYesNo
+ .4byte Std_MsgboxAutoclose
.4byte Std_ObtainDecoration
.4byte Std_RegisteredInMatchCall
.4byte Std_9
@@ -433,13 +436,13 @@ gStdScripts_End:: @ 81DC2CC
EventScript_SecretBasePC:: @ 823B4BB
lockall
- playse 2
+ playse SE_PC_LOGIN
message Text_276805
- dofieldeffect 61
+ dofieldeffect FLDEFF_PCTURN_ON
waitstate
waitmessage
waitbuttonpress
- playse 5
+ playse SE_SELECT
goto EventScript_23B4D3
end
@@ -476,7 +479,7 @@ EventScript_23B531:: @ 823B531
end
EventScript_23B568:: @ 823B568
- msgbox Text_2766AA, 5
+ msgbox Text_2766AA, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_23B4D3
closemessage
@@ -495,12 +498,12 @@ EventScript_23B585:: @ 823B585
EventScript_RecordMixingSecretBasePC:: @ 823B589
lockall
message Text_276805
- playse 2
- dofieldeffect 61
+ playse SE_PC_LOGIN
+ dofieldeffect FLDEFF_PCTURN_ON
waitstate
waitmessage
waitbuttonpress
- playse 5
+ playse SE_SELECT
goto EventScript_23B5A1
end
@@ -528,34 +531,34 @@ EventScript_23B5F0:: @ 823B5F0
compare VAR_RESULT, 2
goto_eq EventScript_23B652
special sub_80E980C
- msgbox Text_276707, 5
+ msgbox Text_276707, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_23B5A1
- msgbox Text_2767D1, 3
+ msgbox Text_2767D1, MSGBOX_SIGN
special sub_80E9C2C
special sub_80FA57C
releaseall
end
EventScript_23B62F:: @ 823B62F
- msgbox Text_276731, 5
+ msgbox Text_276731, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_23B5A1
- msgbox Text_2767E9, 3
+ msgbox Text_2767E9, MSGBOX_SIGN
special sub_80E9C2C
special sub_80FA57C
releaseall
end
EventScript_23B652:: @ 823B652
- msgbox Text_27676F, 3
+ msgbox Text_27676F, MSGBOX_SIGN
special sub_80FA57C
closemessage
releaseall
end
EventScript_23B660:: @ 823B660
- msgbox Text_276835, 4
+ msgbox Text_276835, MSGBOX_DEFAULT
goto EventScript_23B5A1
end
@@ -583,7 +586,7 @@ EventScript_23B680:: @ 823B680
EventScript_SecretBaseSandOrnament:: @ 823B684
special sub_80EBE7C
- dofieldeffect 52
+ dofieldeffect FLDEFF_SAND_PILLAR
waitstate
end
@@ -600,19 +603,19 @@ EventScript_SecretBaseShieldOrToyTV:: @ 823B68C
end
EventScript_23B6BC:: @ 823B6BC
- msgbox Text_27692B, 3
+ msgbox Text_27692B, MSGBOX_SIGN
end
EventScript_23B6C5:: @ 823B6C5
- msgbox Text_276974, 3
+ msgbox Text_276974, MSGBOX_SIGN
end
EventScript_23B6CE:: @ 823B6CE
- msgbox Text_2769B8, 3
+ msgbox Text_2769B8, MSGBOX_SIGN
end
EventScript_23B6D7:: @ 823B6D7
- msgbox Text_2769FF, 3
+ msgbox Text_2769FF, MSGBOX_SIGN
end
gText_23B6E0:: @ 823B6E0
@@ -777,7 +780,7 @@ SecretBase_RedCave1_Text_23B759: @ 823B759
.include "data/maps/Route119_House/scripts.inc"
.include "data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc"
-Std_2: @ 8271315
+Std_MsgboxNPC: @ 8271315
lock
faceplayer
message 0x0
@@ -786,7 +789,7 @@ Std_2: @ 8271315
release
return
-Std_3: @ 8271320
+Std_MsgboxSign: @ 8271320
lockall
message 0x0
waitmessage
@@ -794,13 +797,13 @@ Std_3: @ 8271320
releaseall
return
-Std_4: @ 827132A
+Std_MsgboxDefault: @ 827132A
message 0x0
waitmessage
waitbuttonpress
return
-Std_5: @ 8271332
+Std_MsgboxYesNo: @ 8271332
message 0x0
waitmessage
yesnobox 20, 8
@@ -979,7 +982,7 @@ EventScript_271491:: @ 8271491
releaseall
end
-Std_6:: @ 8271494
+Std_MsgboxAutoclose:: @ 8271494
message 0x0
waitmessage
waitbuttonpress
@@ -1070,165 +1073,165 @@ EventScript_27149D:: @ 827149D
return
EventScript_2715DE:: @ 82715DE
- setflag FLAG_0x056
- setflag FLAG_0x301
- setflag FLAG_0x302
- setflag FLAG_0x303
- setflag FLAG_0x2D1
- setflag FLAG_0x379
- setflag FLAG_0x32B
- setflag FLAG_0x32C
- setflag FLAG_0x346
- setflag FLAG_0x2D6
- setflag FLAG_0x363
- setflag FLAG_0x2DB
- setflag FLAG_0x2DC
- setflag FLAG_0x32E
- setflag FLAG_0x34C
- setflag FLAG_0x364
- setflag FLAG_0x2E3
- setflag FLAG_0x371
- setflag FLAG_0x2E2
- setflag FLAG_0x2E4
- setflag FLAG_0x2E5
- setflag FLAG_0x2E7
- setflag FLAG_0x2E8
- setflag FLAG_0x38A
- setflag FLAG_0x345
- setflag FLAG_0x306
- setflag FLAG_0x37F
- setflag FLAG_0x308
- setflag FLAG_0x309
- setflag FLAG_0x30A
- setflag FLAG_0x30B
- setflag FLAG_0x30C
- setflag FLAG_0x30D
- setflag FLAG_0x338
- setflag FLAG_0x2E9
- setflag FLAG_0x2EA
- setflag FLAG_0x2F8
- setflag FLAG_0x2D2
- setflag FLAG_0x2DE
- setflag FLAG_0x351
- setflag FLAG_0x32F
+ setflag FLAG_LINK_CONTEST_POKE_BALL
+ setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLY
+ setflag FLAG_UNKNOWN_0x363
+ setflag FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT
+ setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
+ setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
+ setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
+ setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
+ setflag FLAG_HIDE_ROUTE_110_BIRCH
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
+ setflag FLAG_HIDE_PETALBURG_GYM_GREETER
+ setflag FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
+ setflag FLAG_HIDE_PLAYERS_HOUSE_DAD
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
setflag FLAG_HIDE_FANCLUB_OLD_LADY
setflag FLAG_HIDE_FANCLUB_BOY
setflag FLAG_HIDE_FANCLUB_LITTLE_BOY
setflag FLAG_HIDE_FANCLUB_LADY
- setflag FLAG_0x2DA
- setflag FLAG_0x31D
- setflag FLAG_0x31E
- setflag FLAG_0x31F
- setflag FLAG_0x385
- setflag FLAG_0x386
- setflag FLAG_0x387
- setflag FLAG_0x388
- setflag FLAG_0x323
- setflag FLAG_0x322
- setflag FLAG_0x326
- setflag FLAG_0x328
- setflag FLAG_0x329
- setflag FLAG_0x3D8
- setflag FLAG_0x2FE
- setflag FLAG_0x33E
- setflag FLAG_0x362
- setflag FLAG_0x365
- setflag FLAG_0x33C
- setflag FLAG_0x33D
- setflag FLAG_0x33F
- setflag FLAG_0x35B
- setflag FLAG_0x355
- setflag FLAG_0x349
- setflag FLAG_0x34D
- setflag FLAG_0x34E
- setflag FLAG_0x35C
- setflag FLAG_0x35D
- setflag FLAG_0x343
- setflag FLAG_0x348
- setflag FLAG_0x350
- setflag FLAG_0x353
- setflag FLAG_0x312
- setflag FLAG_0x3CD
- setflag FLAG_0x330
- setflag FLAG_0x366
- setflag FLAG_0x368
- setflag FLAG_0x36D
- setflag FLAG_0x3E2
- setflag FLAG_0x36F
- setflag FLAG_0x37B
- setflag FLAG_0x370
- setflag FLAG_0x36E
- setflag FLAG_0x327
- setflag FLAG_0x3D7
- setflag FLAG_0x376
- setflag FLAG_0x374
- setflag FLAG_0x375
- setflag FLAG_SPRITEVIS_SLATEPORT_MUSEUM_POPULATION
- setflag FLAG_0x378
- setflag FLAG_0x2F0
- setflag FLAG_0x2F5
- setflag FLAG_0x31A
- setflag FLAG_0x31B
- setflag FLAG_0x37C
- setflag FLAG_0x380
- setflag FLAG_0x381
- setflag FLAG_0x382
- setflag FLAG_0x38D
- setflag FLAG_0x2EC
- setflag FLAG_0x38E
- setflag FLAG_0x38F
+ setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
+ setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
+ setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
+ setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN
+ setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
+ setflag FLAG_HIDE_PETALBURG_GYM_WALLY
+ setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
+ setflag FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
+ setflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
+ setflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
+ setflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW
+ setflag FLAG_HIDE_ROUTE_119_RIVAL
+ setflag FLAG_HIDE_ROUTE_119_SCOTT
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
+ setflag FLAG_HIDE_LANETTES_HOUSE_LANETTE
+ setflag FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN
+ setflag FLAG_HIDE_MT_CHIMNEY_TRAINERS
+ setflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN
+ setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN
+ setflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2
+ setflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ setflag FLAG_HIDE_BATTLE_TOWER_OPPONENT
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
+ setflag FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
+ setflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ setflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_ROUTE_103_BIRCH
+ setflag FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR
+ setflag FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER
+ setflag FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE
+ setflag FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON
setflag FLAG_0x393
- setflag FLAG_0x358
- setflag FLAG_SPRITEVIS_MAUVILLE_CITY_WATTSON
- setflag FLAG_0x2FD
- setflag FLAG_0x398
- setflag FLAG_0x399
- setflag FLAG_0x39A
- setflag FLAG_0x39B
- setflag FLAG_0x2CF
- setflag FLAG_0x39D
- setflag FLAG_0x3A1
- setflag FLAG_0x3A2
- setflag FLAG_0x3A6
- setflag FLAG_0x3AA
- setflag FLAG_0x3AC
- setflag FLAG_0x3A0
- setflag FLAG_0x3E0
- setflag FLAG_0x342
- setflag FLAG_0x3B0
- setflag FLAG_0x3B1
- setflag FLAG_0x3B3
- setflag FLAG_0x3B4
- setflag FLAG_0x2ED
- setflag FLAG_0x35A
- setflag FLAG_0x2EF
- setflag FLAG_0x3B6
- setflag FLAG_0x3C7
- setflag FLAG_0x3C8
- setflag FLAG_0x2D7
- setflag FLAG_0x3D3
- setflag FLAG_0x3DF
- setflag FLAG_0x3E3
- setflag FLAG_0x3E4
- setflag FLAG_0x3E5
- setflag FLAG_0x3E6
- setflag FLAG_0x356
- setflag FLAG_0x33A
- setflag FLAG_0x33B
- setflag FLAG_0x36C
- setflag FLAG_0x36B
- setflag FLAG_0x36A
- setflag FLAG_0x337
- setflag FLAG_0x2F4
- setflag FLAG_0x35E
- setflag FLAG_0x35F
- setflag FLAG_0x340
- setflag FLAG_0x2FB
- setflag FLAG_0x2EB
- setflag FLAG_0x2FF
- setflag FLAG_0x319
- setflag FLAG_0x357
- setflag FLAG_0x050
+ setflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE
+ setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
+ setflag FLAG_HIDE_MAUVILLE_CITY_SCOTT
+ setflag FLAG_HIDE_CHAMPIONS_ROOM_RIVAL
+ setflag FLAG_HIDE_CHAMPIONS_ROOM_BIRCH
+ setflag FLAG_HIDE_ROUTE_110_RIVAL_2
+ setflag FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE
+ setflag FLAG_HIDE_ROUTE_104_RIVAL
+ setflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
+ setflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2
+ setflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL
+ setflag FLAG_HIDE_METEOR_FALLS_TEAM_AQUA
+ setflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN
+ setflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO
+ setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M
+ setflag FLAG_HIDE_ROUTE_128_STEVEN
+ setflag FLAG_HIDE_ROUTE_128_ARCHIE
+ setflag FLAG_HIDE_ROUTE_128_MAXIE
+ setflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
+ setflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
+ setflag FLAG_HIDE_SLATEPORT_CITY_SCOTT
+ setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
+ setflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
+ setflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
+ setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
+ setflag FLAG_HIDE_ROUTE_101_BOY
+ setflag FLAG_HIDE_PETALBURG_CITY_SCOTT
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
+ setflag FLAG_HIDE_ROUTE_111_DESERT_FOSSIL
+ setflag FLAG_HIDE_ROUTE_111_DESERT_RIVAL
+ setflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
+ setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ setflag FLAG_HIDE_DEOXYS
+ setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
+ setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
+ setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
+ setflag FLAG_HIDE_SKY_PILLAR_WALLACE
+ setflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT
call EventScript_27149D
end
@@ -1238,26 +1241,26 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
call EverGrandeCity_HallOfFame_EventScript_271829
compare VAR_0x40CC, 0
call_if 1, EverGrandeCity_HallOfFame_EventScript_271839
- clearflag FLAG_0x39D
+ clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
call EverGrandeCity_HallOfFame_EventScript_2718CC
- setflag FLAG_0x365
- clearflag FLAG_0x3B6
- clearflag FLAG_0x2D7
+ setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
+ clearflag FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
setvar VAR_0x40C6, 2
- setflag FLAG_0x35A
- clearflag FLAG_0x2EF
- clearflag FLAG_0x35C
- clearflag FLAG_0x35D
- setflag FLAG_0x2CD
- clearflag FLAG_0x2EB
- setflag FLAG_0x3CB
+ setflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
+ clearflag FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
+ clearflag FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
+ setflag FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS
+ clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
+ setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL
special sub_813BA60
checkflag FLAG_0x123
call_if 0, EverGrandeCity_HallOfFame_EventScript_271843
checkflag FLAG_0x12A
call_if 0, EverGrandeCity_HallOfFame_EventScript_27183F
- setflag FLAG_0x2F8
- setflag FLAG_0x2D2
+ 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
return
@@ -1275,13 +1278,13 @@ EverGrandeCity_HallOfFame_EventScript_271839:: @ 8271839
return
EverGrandeCity_HallOfFame_EventScript_27183F:: @ 827183F
- clearflag FLAG_0x3C8
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
return
EverGrandeCity_HallOfFame_EventScript_271843:: @ 8271843
setvar VAR_0x4082, 3
setvar VAR_0x408C, 3
- clearflag FLAG_0x2DE
+ clearflag FLAG_HIDE_PLAYERS_HOUSE_DAD
return
EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851
@@ -1303,35 +1306,35 @@ EventScript_271862:: @ 8271862
end
EverGrandeCity_HallOfFame_EventScript_271884:: @ 8271884
- setflag FLAG_0x2E4
- setflag FLAG_0x2E7
- setflag FLAG_0x2E5
- setflag FLAG_0x2E8
- clearflag FLAG_0x2E6
- clearflag FLAG_0x2E3
- clearflag FLAG_0x371
+ setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
+ clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
+ clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
end
EverGrandeCity_HallOfFame_EventScript_27189A:: @ 827189A
- setflag FLAG_0x2E5
- setflag FLAG_0x2E8
- setflag FLAG_0x2E2
- setflag FLAG_0x2E6
- setflag FLAG_0x2E3
- setflag FLAG_0x371
- clearflag FLAG_0x2E4
- clearflag FLAG_0x2E7
+ setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
+ clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
end
EverGrandeCity_HallOfFame_EventScript_2718B3:: @ 82718B3
- setflag FLAG_0x2E2
- setflag FLAG_0x2E6
- setflag FLAG_0x2E3
- setflag FLAG_0x371
- setflag FLAG_0x2E4
- setflag FLAG_0x2E7
- clearflag FLAG_0x2E5
- clearflag FLAG_0x2E8
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
+ setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
+ clearflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
end
EverGrandeCity_HallOfFame_EventScript_2718CC:: @ 82718CC
@@ -1355,11 +1358,11 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27374E
checkflag FLAG_0x4F4
goto_eq OldaleTown_PokemonCenter_1F_EventScript_27374E
- checkflag FLAG_0x2E6
+ checkflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27190C
- checkflag FLAG_0x2E4
+ checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271912
- checkflag FLAG_0x2E5
+ checkflag FLAG_HIDE_ROUTE_108_MR_BRINEY
goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271918
return
@@ -1399,7 +1402,7 @@ VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
specialvar VAR_RESULT, sub_80C2E40
compare VAR_RESULT, 4
goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A68
- msgbox gUnknown_082726EB, 5
+ msgbox gUnknown_082726EB, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq OldaleTown_PokemonCenter_1F_EventScript_27195A
compare VAR_RESULT, 0
@@ -1434,8 +1437,8 @@ OldaleTown_PokemonCenter_1F_EventScript_27198D:: @ 827198D
OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725A4
waitmovement 0
- dofieldeffect 25
- waitfieldeffect 25
+ dofieldeffect FLDEFF_POKECENTER_HEAL
+ waitfieldeffect FLDEFF_POKECENTER_HEAL
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725AA
waitmovement 0
special HealPlayerParty
@@ -1474,7 +1477,7 @@ OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03
OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19
checkflag FLAG_0x880
goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
- msgbox gUnknown_08272798, 4
+ msgbox gUnknown_08272798, MSGBOX_DEFAULT
setflag FLAG_0x880
message OldaleTown_PokemonCenter_1F_Text_278A48
waitmessage
@@ -1500,20 +1503,20 @@ OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68
checkflag FLAG_0x159
goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AAC
setflag FLAG_0x159
- msgbox gUnknown_082727F5, 4
+ msgbox gUnknown_082727F5, MSGBOX_DEFAULT
playse SE_PIN
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_272598
waitmovement 0
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_27259A
waitmovement 0
- msgbox gUnknown_08272860, 5
+ msgbox gUnknown_08272860, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
message gUnknown_08272A07
return
OldaleTown_PokemonCenter_1F_EventScript_271AAC:: @ 8271AAC
- msgbox gUnknown_08272982, 5
+ msgbox gUnknown_08272982, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
message gUnknown_08272A07
@@ -1587,7 +1590,7 @@ EventScript_271B85:: @ 8271B85
EventScript_271B95:: @ 8271B95
message gUnknown_08272A78
waitfanfare
- msgbox gUnknown_08272A9A, 4
+ msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -1621,7 +1624,7 @@ EventScript_271BE0:: @ 8271BE0
playfanfare MUS_FANFA4
message gUnknown_08272B09
waitfanfare
- msgbox gUnknown_08272B48, 4
+ msgbox gUnknown_08272B48, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -1660,14 +1663,14 @@ EventScript_271C3A:: @ 8271C3A
waitmessage
bufferitemnameplural 1, VAR_0x8004, 32773
setvar VAR_0x8004, 12
- special sub_81A8E7C
+ special CallBattlePyramidFunction
compare VAR_RESULT, 1
goto_eq EventScript_271C86
- msgbox gUnknown_08272A9A, 4
+ msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
return
EventScript_271C86:: @ 8271C86
- msgbox gUnknown_08272AEA, 4
+ msgbox gUnknown_08272AEA, MSGBOX_DEFAULT
return
EventScript_271C8F:: @ 8271C8F
@@ -1680,8 +1683,8 @@ EventScript_271C9B:: @ 8271C9B
return
EventScript_271CA1:: @ 8271CA1
- msgbox gUnknown_08272A78, 4
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272A78, MSGBOX_DEFAULT
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
@@ -1725,15 +1728,15 @@ EventScript_271D2A:: @ 8271D2A
waitfanfare
bufferitemnameplural 1, VAR_0x8004, 1
copyvar VAR_0x8004, VAR_0x8008
- msgbox gUnknown_08272A9A, 4
+ msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
special sub_80EDCE8
special SetFlagInVar
releaseall
end
EventScript_271D47:: @ 8271D47
- msgbox gUnknown_08272ABF, 4
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272ABF, MSGBOX_DEFAULT
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
releaseall
end
@@ -1741,7 +1744,7 @@ EventScript_271D47:: @ 8271D47
EventScript_271D5E:: @ 8271D5E
lock
faceplayer
- msgbox Text_27260D, 5
+ msgbox Text_27260D, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq EventScript_271D83
compare VAR_RESULT, 0
@@ -1766,12 +1769,12 @@ EventScript_PC:: @ 8271D92
setvar VAR_0x8004, 0
special DoPCTurnOnEffect
playse SE_PC_ON
- msgbox Text_27265A, 4
+ msgbox Text_27265A, MSGBOX_DEFAULT
goto EventScript_271DAC
end
EventScript_271DAC:: @ 8271DAC
- message gUnknown_0827266F
+ message gText_WhichPCShouldBeAccessed
waitmessage
special ScrSpecial_CreatePCMenu
waitstate
@@ -1789,7 +1792,7 @@ EventScript_271DBC:: @ 8271DBC
EventScript_271DF9:: @ 8271DF9
playse SE_PC_LOGIN
- msgbox gUnknown_082726C2, 4
+ msgbox gUnknown_082726C2, MSGBOX_DEFAULT
special PlayerPC
waitstate
goto EventScript_271DAC
@@ -1801,18 +1804,18 @@ EventScript_271E0E:: @ 8271E0E
call_if 0, EventScript_271E35
checkflag FLAG_SYS_PC_LANETTE
call_if 1, EventScript_271E3E
- msgbox gUnknown_082726A3, 4
+ msgbox gUnknown_082726A3, MSGBOX_DEFAULT
special ShowPokemonStorageSystem
waitstate
goto EventScript_271DAC
end
EventScript_271E35:: @ 8271E35
- msgbox gUnknown_0827268C, 4
+ msgbox gUnknown_0827268C, MSGBOX_DEFAULT
return
EventScript_271E3E:: @ 8271E3E
- msgbox gUnknown_082726D4, 4
+ msgbox gUnknown_082726D4, MSGBOX_DEFAULT
return
EventScript_271E47:: @ 8271E47
@@ -1843,7 +1846,7 @@ RustboroCity_EventScript_271E6A:: @ 8271E6A
SlateportCity_EventScript_271E6A:: @ 8271E6A
SootopolisCity_EventScript_271E6A:: @ 8271E6A
VerdanturfTown_EventScript_271E6A:: @ 8271E6A
- msgbox gUnknown_08272B6A, 3
+ msgbox gUnknown_08272B6A, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_271E73:: @ 8271E73
@@ -1862,7 +1865,7 @@ RustboroCity_EventScript_271E73:: @ 8271E73
SlateportCity_EventScript_271E73:: @ 8271E73
SootopolisCity_EventScript_271E73:: @ 8271E73
VerdanturfTown_EventScript_271E73:: @ 8271E73
- msgbox gUnknown_08272B9E, 3
+ msgbox gUnknown_08272B9E, MSGBOX_SIGN
end
BattleFrontier_BattleTowerLobby_EventScript_271E7C:: @ 8271E7C
@@ -1884,7 +1887,7 @@ DewfordTown_Gym_EventScript_271E84:: @ 8271E84
LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84
MauvilleCity_Gym_EventScript_271E84:: @ 8271E84
RustboroCity_Gym_EventScript_271E84:: @ 8271E84
- clearflag FLAG_0x30D
+ clearflag FLAG_HIDE_PETALBURG_GYM_GREETER
setflag FLAG_0x128
return
@@ -1909,11 +1912,11 @@ EventScript_UseSurf:: @ 8271EA0
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
lockall
- msgbox gUnknown_08272FD6, 5
+ msgbox gUnknown_08272FD6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_271ED5
- msgbox gUnknown_0827300D, 4
- dofieldeffect 9
+ msgbox gUnknown_0827300D, MSGBOX_DEFAULT
+ dofieldeffect FLDEFF_USE_SURF
EventScript_271ED5:: @ 8271ED5
releaseall
@@ -2127,7 +2130,7 @@ SootopolisCity_EventScript_272054:: @ 8272054
SootopolisCity_Gym_1F_EventScript_272054:: @ 8272054
SootopolisCity_House1_EventScript_272054:: @ 8272054
VerdanturfTown_BattleTentLobby_EventScript_272054:: @ 8272054
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
release
end
@@ -2144,11 +2147,11 @@ Route110_TrickHouseEnd_EventScript_27205E:: @ 827205E
Route110_TrickHouseEntrance_EventScript_27205E:: @ 827205E
Route113_GlassWorkshop_EventScript_27205E:: @ 827205E
SootopolisCity_Gym_1F_EventScript_27205E:: @ 827205E
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
return
Route114_LanettesHouse_EventScript_272067:: @ 8272067
- msgbox gUnknown_08272B1A, 4
+ msgbox gUnknown_08272B1A, MSGBOX_DEFAULT
release
end
@@ -2157,7 +2160,7 @@ MauvilleCity_GameCorner_EventScript_272071:: @ 8272071
Route110_TrickHouseEnd_EventScript_272071:: @ 8272071
Route110_TrickHouseEntrance_EventScript_272071:: @ 8272071
Route113_GlassWorkshop_EventScript_272071:: @ 8272071
- msgbox gUnknown_08272B1A, 4
+ msgbox gUnknown_08272B1A, MSGBOX_DEFAULT
return
EverGrandeCity_EventScript_27207A:: @ 827207A
@@ -2203,7 +2206,7 @@ SSTidalRooms_EventScript_272083:: @ 8272083
EventScript_RegionMap:: @ 827208F
lockall
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F8820, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F8820, MSGBOX_DEFAULT
fadescreen 1
special FieldShowRegionMap
waitstate
@@ -2250,24 +2253,24 @@ Route103_EventScript_2720AD:: @ 82720AD
return
Route101_EventScript_27211A:: @ 827211A
- clearflag FLAG_0x2D1
- clearflag FLAG_0x380
- setflag FLAG_0x381
- setflag FLAG_0x382
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ setflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_ROUTE_103_BIRCH
return
Route101_EventScript_272127:: @ 8272127
- clearflag FLAG_0x381
- setflag FLAG_0x2D1
- setflag FLAG_0x380
- setflag FLAG_0x382
+ clearflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
+ setflag FLAG_HIDE_ROUTE_103_BIRCH
return
Route101_EventScript_272134:: @ 8272134
- clearflag FLAG_0x382
- setflag FLAG_0x381
- setflag FLAG_0x2D1
- setflag FLAG_0x380
+ clearflag FLAG_HIDE_ROUTE_103_BIRCH
+ setflag FLAG_HIDE_ROUTE_101_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
return
LittlerootTown_ProfessorBirchsLab_EventScript_272141:: @ 8272141
@@ -2281,7 +2284,7 @@ Route103_EventScript_272141:: @ 8272141
goto_if 0, Route101_EventScript_1FA2D2
Route101_EventScript_272155:: @ 8272155
- msgbox gUnknown_082A5C9C, 5
+ msgbox gUnknown_082A5C9C, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route101_EventScript_27216F
call Route101_EventScript_272184
@@ -2289,7 +2292,7 @@ Route101_EventScript_272155:: @ 8272155
end
Route101_EventScript_27216F:: @ 827216F
- msgbox Route101_Text_2A5CEB, 4
+ msgbox Route101_Text_2A5CEB, MSGBOX_DEFAULT
release
end
@@ -2309,7 +2312,7 @@ Route101_EventScript_272184:: @ 8272184
copyvar VAR_0x800A, VAR_RESULT
buffernumberstring 0, VAR_0x8008
buffernumberstring 1, VAR_0x8009
- msgbox gUnknown_082A5D2C, 4
+ msgbox gUnknown_082A5D2C, MSGBOX_DEFAULT
call Route101_EventScript_272179
compare VAR_0x800A, 0
goto_eq Route101_EventScript_27374E
@@ -2319,7 +2322,7 @@ Route101_EventScript_272184:: @ 8272184
copyvar VAR_0x8009, VAR_0x8006
buffernumberstring 0, VAR_0x8008
buffernumberstring 1, VAR_0x8009
- msgbox gUnknown_082A633D, 4
+ msgbox gUnknown_082A633D, MSGBOX_DEFAULT
return
BattleFrontier_OutsideWest_EventScript_2721E2:: @ 82721E2
@@ -2341,22 +2344,22 @@ SlateportCity_Harbor_Movement_2721F0: @ 82721F0
step_end
PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8
- setflag FLAG_0x2E4
- setflag FLAG_0x2E7
- setflag FLAG_0x2E5
- setflag FLAG_0x2E8
- setflag FLAG_0x2E2
- setflag FLAG_0x2E6
- setflag FLAG_0x2E3
- setflag FLAG_0x371
+ setflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_108_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
setvar VAR_0x4096, 0
return
RusturfTunnel_EventScript_272216:: @ 8272216
removeobject 1
removeobject 10
- clearflag FLAG_0x328
- clearflag FLAG_0x3D8
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN
setvar VAR_RUSTURF_TUNNEL_STATE, 6
setflag FLAG_RUSTURF_TUNNEL_OPENED
return
@@ -2492,19 +2495,19 @@ Route120_EventScript_272336:: @ 8272336
checkitem ITEM_DEVON_SCOPE, 1
compare VAR_RESULT, 1
goto_eq Route119_EventScript_272350
- msgbox Route119_Text_1F5D00, 4
+ msgbox Route119_Text_1F5D00, MSGBOX_DEFAULT
release
end
Route119_EventScript_272350:: @ 8272350
- msgbox Route119_Text_1F5D23, 5
+ msgbox Route119_Text_1F5D23, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route119_EventScript_272365
release
end
Route119_EventScript_272365:: @ 8272365
- msgbox Route119_Text_1F5D63, 4
+ msgbox Route119_Text_1F5D63, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Route119_Movement_27259E
waitmovement 0
@@ -3075,31 +3078,31 @@ Movement_2725CB:: @ 82725CB
step_end
EventScript_PictureBookShelf:: @ 82725CE
- msgbox Text_2A81E5, 3
+ msgbox Text_2A81E5, MSGBOX_SIGN
end
EventScript_BookShelf:: @ 82725D7
- msgbox Text_2A820D, 3
+ msgbox Text_2A820D, MSGBOX_SIGN
end
EventScript_PokemonCenterBookshelf:: @ 82725E0
- msgbox Text_2A8232, 3
+ msgbox Text_2A8232, MSGBOX_SIGN
end
EventScript_Vase:: @ 82725E9
- msgbox Text_2A8276, 3
+ msgbox Text_2A8276, MSGBOX_SIGN
end
EventScript_TrashCan:: @ 82725F2
- msgbox Text_2A82B3, 3
+ msgbox Text_2A82B3, MSGBOX_SIGN
end
EventScript_ShopShelf:: @ 82725FB
- msgbox Text_2A82BF, 3
+ msgbox Text_2A82BF, MSGBOX_SIGN
end
EventScript_Blueprint:: @ 8272604
- msgbox Text_2A82F7, 3
+ msgbox Text_2A82F7, MSGBOX_SIGN
end
Text_27260D: @ 827260D
@@ -3112,7 +3115,7 @@ Text_272640: @ 8272640
Text_27265A: @ 827265A
.string "{PLAYER} booted up the PC.$"
-gUnknown_0827266F:: @ 827266F
+gText_WhichPCShouldBeAccessed:: @ 827266F
.string "Which PC should be accessed?$"
gUnknown_0827268C:: @ 827268C
@@ -3319,12 +3322,12 @@ gUnknown_08273684:: @ 8273684
.string "The intense sunshine appears to\nhave subsided…$"
EventScript_2736B3:: @ 82736B3
- msgbox gUnknown_08272C98, 3
+ msgbox gUnknown_08272C98, MSGBOX_SIGN
end
EventScript_Poison:: @ 82736BC
lockall
- special sub_80F972C
+ special ExecuteWhiteOut
waitstate
compare VAR_RESULT, 1
goto_eq EventScript_2736D9
@@ -3355,11 +3358,11 @@ EventScript_2736F8:: @ 82736F8
waitmessage
waitbuttonpress
setvar VAR_0x8004, 16
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
setvar VAR_0x8004, 12
- special sub_81A8E7C
+ special CallBattlePyramidFunction
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
compare VAR_RESULT, 2
@@ -3495,7 +3498,7 @@ TerraCave_End_EventScript_273776:: @ 8273776
removeobject VAR_LAST_TALKED
fadescreenswapbuffers 0
bufferspeciesname 0, VAR_0x8004
- msgbox gUnknown_08273204, 4
+ msgbox gUnknown_08273204, MSGBOX_DEFAULT
release
end
@@ -3535,39 +3538,39 @@ LittlerootTown_ProfessorBirchsLab_EventScript_2737BB:: @ 82737BB
specialvar VAR_RESULT, sub_813B21C
compare VAR_RESULT, 1
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4
- msgbox gText_PkmnTransferredSomeonesPC, 4
+ msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4
specialvar VAR_RESULT, get_unknown_box_id
bufferboxname 2, 32781
- msgbox gText_PkmnBoxSomeonesPCFull, 4
+ msgbox gText_PkmnBoxSomeonesPCFull, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6
specialvar VAR_RESULT, sub_813B21C
compare VAR_RESULT, 1
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF
- msgbox gText_PkmnTransferredLanettesPC, 4
+ msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_2737FF:: @ 82737FF
specialvar VAR_RESULT, get_unknown_box_id
bufferboxname 2, 32781
- msgbox gText_PkmnBoxLanettesPCFull, 4
+ msgbox gText_PkmnBoxLanettesPCFull, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_273811:: @ 8273811
MossdeepCity_StevensHouse_EventScript_273811:: @ 8273811
Route119_WeatherInstitute_2F_EventScript_273811:: @ 8273811
RustboroCity_DevonCorp_2F_EventScript_273811:: @ 8273811
- msgbox gUnknown_0827331C, 4
+ msgbox gUnknown_0827331C, MSGBOX_DEFAULT
release
end
EventScript_Questionnaire:: @ 827381B
lockall
- msgbox gUnknown_0827339F, 5
+ msgbox gUnknown_0827339F, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_2738FD
setvar VAR_0x8004, 20
@@ -3597,9 +3600,9 @@ EventScript_27386D:: @ 827386D
waitmovement 0
applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_27259A
waitmovement 0
- msgbox gUnknown_08273506, 4
+ msgbox gUnknown_08273506, MSGBOX_DEFAULT
setflag FLAG_SYS_MYSTERY_EVENT_ENABLE
- msgbox gUnknown_08273559, 4
+ msgbox gUnknown_08273559, MSGBOX_DEFAULT
releaseall
end
@@ -3615,9 +3618,9 @@ EventScript_2738B5:: @ 82738B5
waitmovement 0
applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_27259A
waitmovement 0
- msgbox gUnknown_08273446, 4
+ msgbox gUnknown_08273446, MSGBOX_DEFAULT
setflag FLAG_SYS_MYSTERY_GIFT_ENABLE
- msgbox gUnknown_082734CC, 4
+ msgbox gUnknown_082734CC, MSGBOX_DEFAULT
releaseall
end
@@ -3628,7 +3631,7 @@ EventScript_2738FD:: @ 82738FD
EventScript_2738FF:: @ 82738FF
applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0
waitmovement 0
- msgbox gUnknown_082733D8, 4
+ msgbox gUnknown_082733D8, MSGBOX_DEFAULT
releaseall
end
@@ -3841,12 +3844,12 @@ Route105_EventScript_273D31:: @ 8273D31
end
Route105_EventScript_273D51:: @ 8273D51
- msgbox gUnknown_08273656, 4
+ msgbox gUnknown_08273656, MSGBOX_DEFAULT
goto Route105_EventScript_273D31
end
Route105_EventScript_273D5F:: @ 8273D5F
- msgbox gUnknown_08273684, 4
+ msgbox gUnknown_08273684, MSGBOX_DEFAULT
goto Route105_EventScript_273D31
end
@@ -4083,7 +4086,7 @@ Std_RegisteredInMatchCall:: @ 82742C9
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox gUnknown_08272E0F, 4
+ msgbox gUnknown_08272E0F, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -4441,30 +4444,30 @@ EventScript_275A50:: @ 8275A50
compare VAR_RESULT, 6
goto_eq EventScript_275A91
bufferpartymonnick 0, VAR_RESULT
- msgbox gText_23B704, 5
+ msgbox gText_23B704, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_275CDE
- msgbox Route103_Text_290771, 4
+ msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
- dofieldeffect 11
+ dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
waitstate
goto EventScript_275A9B
end
EventScript_275A86:: @ 8275A86
lockall
- dofieldeffect 11
+ dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
waitstate
goto EventScript_275A9B
end
EventScript_275A91:: @ 8275A91
- msgbox gText_23B6E0, 4
+ msgbox gText_23B6E0, MSGBOX_DEFAULT
releaseall
end
EventScript_275A9B:: @ 8275A9B
- msgbox gText_23B73E, 4
+ msgbox gText_23B73E, MSGBOX_DEFAULT
goto EventScript_275B5B
end
@@ -4473,30 +4476,30 @@ EventScript_275AA9:: @ 8275AA9
compare VAR_RESULT, 6
goto_eq EventScript_275AEA
bufferpartymonnick 0, VAR_RESULT
- msgbox Text_274779, 5
+ msgbox Text_274779, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_275CDE
- msgbox Route103_Text_290771, 4
+ msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
- dofieldeffect 26
+ dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
waitstate
goto EventScript_275AF4
end
EventScript_275ADF:: @ 8275ADF
lockall
- dofieldeffect 26
+ dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
waitstate
goto EventScript_275AF4
end
EventScript_275AEA:: @ 8275AEA
- msgbox Text_274746, 4
+ msgbox Text_274746, MSGBOX_DEFAULT
releaseall
end
EventScript_275AF4:: @ 8275AF4
- msgbox Text_2747C2, 4
+ msgbox Text_2747C2, MSGBOX_DEFAULT
goto EventScript_275B5B
end
@@ -4505,30 +4508,30 @@ EventScript_275B02:: @ 8275B02
compare VAR_RESULT, 6
goto_eq EventScript_275B43
bufferpartymonnick 0, VAR_RESULT
- msgbox Text_274825, 5
+ msgbox Text_274825, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_275CDE
- msgbox Route103_Text_290771, 4
+ msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
- dofieldeffect 27
+ dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
waitstate
goto EventScript_275B4D
end
EventScript_275B38:: @ 8275B38
lockall
- dofieldeffect 27
+ dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
waitstate
goto EventScript_275B4D
end
EventScript_275B43:: @ 8275B43
- msgbox Text_2747DD, 4
+ msgbox Text_2747DD, MSGBOX_DEFAULT
releaseall
end
EventScript_275B4D:: @ 8275B4D
- msgbox Text_274883, 4
+ msgbox Text_274883, MSGBOX_DEFAULT
goto EventScript_275B5B
end
@@ -4536,7 +4539,7 @@ EventScript_275B5B:: @ 8275B5B
closemessage
playse SE_KAIDAN
setvar VAR_0x4097, 0
- setflag FLAG_0x0AD
+ setflag FLAG_DECORATION_0
special sub_80E8E18
special sub_80E9068
setvar VAR_0x8004, 0
@@ -4550,7 +4553,7 @@ SecretBase_RedCave1_EventScript_275B81:: @ 8275B81
applymovement 255, SecretBase_RedCave1_Movement_275BB4
waitmovement 0
setvar VAR_0x4097, 1
- msgbox SecretBase_RedCave1_Text_23B759, 5
+ msgbox SecretBase_RedCave1_Text_23B759, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_275BAB
closemessage
@@ -4577,14 +4580,14 @@ EventScript_275BB7:: @ 8275BB7
special sub_80E9744
compare VAR_RESULT, 0
goto_eq EventScript_275BDB
- clearflag FLAG_0x0AD
+ clearflag FLAG_DECORATION_0
special sub_80E9068
setvar VAR_0x4089, 0
waitstate
end
EventScript_275BDB:: @ 8275BDB
- setflag FLAG_0x0AD
+ setflag FLAG_DECORATION_0
special sub_80E9068
setvar VAR_0x4089, 0
waitstate
@@ -4598,22 +4601,22 @@ EventScript_275BE8:: @ 8275BE8
setorcopyvar VAR_0x8004, VAR_RESULT
lockall
special GetSecretBaseNearbyMapName
- msgbox Text_276A3D, 5
+ msgbox Text_276A3D, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_275CDE
- msgbox Text_2766AA, 5
+ msgbox Text_2766AA, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_275CDE
fadescreenswapbuffers 1
special sub_80E9B70
closemessage
fadescreenswapbuffers 0
- msgbox Text_276A95, 5
+ msgbox Text_276A95, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_275CDE
bufferpartymonnick 0, VAR_0x8004
buffermovename 1, MOVE_SECRET_POWER
- msgbox Route103_Text_290771, 4
+ msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
closemessage
compare VAR_0x8007, 1
@@ -4655,20 +4658,20 @@ EventScript_275CDE:: @ 8275CDE
LittlerootTown_BrendansHouse_2F_EventScript_275CE1:: @ 8275CE1
LittlerootTown_MaysHouse_2F_EventScript_275CE1:: @ 8275CE1
SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1
- setflag FLAG_0x0AE
- setflag FLAG_0x0AF
- setflag FLAG_0x0B0
- setflag FLAG_0x0B1
- setflag FLAG_0x0B2
- setflag FLAG_0x0B3
- setflag FLAG_0x0B4
- setflag FLAG_0x0B5
- setflag FLAG_0x0B6
- setflag FLAG_0x0B7
- setflag FLAG_0x0B8
- setflag FLAG_0x0B9
- setflag FLAG_0x0BA
- setflag FLAG_0x0BB
+ setflag FLAG_DECORATION_1
+ setflag FLAG_DECORATION_2
+ setflag FLAG_DECORATION_3
+ setflag FLAG_DECORATION_4
+ setflag FLAG_DECORATION_5
+ setflag FLAG_DECORATION_6
+ setflag FLAG_DECORATION_7
+ setflag FLAG_DECORATION_8
+ setflag FLAG_DECORATION_9
+ setflag FLAG_DECORATION_10
+ setflag FLAG_DECORATION_11
+ setflag FLAG_DECORATION_12
+ setflag FLAG_DECORATION_13
+ setflag FLAG_DECORATION_14
return
EventScript_275D0C:: @ 8275D0C
@@ -4761,7 +4764,7 @@ SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6
goto_if 0, SecretBase_RedCave1_EventScript_275E25
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_275E44
- msgbox SecretBase_RedCave1_Text_2748A0, 5
+ msgbox SecretBase_RedCave1_Text_2748A0, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275E2F
setvar VAR_RESULT, 1
@@ -4769,12 +4772,12 @@ SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275E2F
- msgbox SecretBase_RedCave1_Text_274939, 4
+ msgbox SecretBase_RedCave1_Text_274939, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_275E25:: @ 8275E25
- msgbox SecretBase_RedCave1_Text_2749ED, 4
+ msgbox SecretBase_RedCave1_Text_2749ED, MSGBOX_DEFAULT
release
end
@@ -4782,12 +4785,12 @@ SecretBase_RedCave1_EventScript_275E2F:: @ 8275E2F
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_27494D, 4
+ msgbox SecretBase_RedCave1_Text_27494D, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_275E44:: @ 8275E44
- msgbox SecretBase_RedCave1_Text_2749AA, 4
+ msgbox SecretBase_RedCave1_Text_2749AA, MSGBOX_DEFAULT
release
end
@@ -4798,7 +4801,7 @@ SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E
goto_if 0, SecretBase_RedCave1_EventScript_275E9D
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_275EBC
- msgbox SecretBase_RedCave1_Text_274C13, 5
+ msgbox SecretBase_RedCave1_Text_274C13, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275EA7
setvar VAR_RESULT, 1
@@ -4806,12 +4809,12 @@ SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275EA7
- msgbox SecretBase_RedCave1_Text_274CB0, 4
+ msgbox SecretBase_RedCave1_Text_274CB0, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_275E9D:: @ 8275E9D
- msgbox SecretBase_RedCave1_Text_274D69, 4
+ msgbox SecretBase_RedCave1_Text_274D69, MSGBOX_DEFAULT
release
end
@@ -4819,12 +4822,12 @@ SecretBase_RedCave1_EventScript_275EA7:: @ 8275EA7
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274CDA, 4
+ msgbox SecretBase_RedCave1_Text_274CDA, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC
- msgbox SecretBase_RedCave1_Text_274D34, 4
+ msgbox SecretBase_RedCave1_Text_274D34, MSGBOX_DEFAULT
release
end
@@ -4835,7 +4838,7 @@ SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6
goto_if 0, SecretBase_RedCave1_EventScript_275F15
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_275F34
- msgbox SecretBase_RedCave1_Text_274F39, 5
+ msgbox SecretBase_RedCave1_Text_274F39, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275F1F
setvar VAR_RESULT, 1
@@ -4843,12 +4846,12 @@ SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275F1F
- msgbox SecretBase_RedCave1_Text_274FCA, 4
+ msgbox SecretBase_RedCave1_Text_274FCA, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_275F15:: @ 8275F15
- msgbox SecretBase_RedCave1_Text_2750A4, 4
+ msgbox SecretBase_RedCave1_Text_2750A4, MSGBOX_DEFAULT
release
end
@@ -4856,12 +4859,12 @@ SecretBase_RedCave1_EventScript_275F1F:: @ 8275F1F
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274FDA, 4
+ msgbox SecretBase_RedCave1_Text_274FDA, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_275F34:: @ 8275F34
- msgbox SecretBase_RedCave1_Text_27502A, 4
+ msgbox SecretBase_RedCave1_Text_27502A, MSGBOX_DEFAULT
release
end
@@ -4872,7 +4875,7 @@ SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E
goto_if 0, SecretBase_RedCave1_EventScript_275F8D
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_275FAC
- msgbox SecretBase_RedCave1_Text_275287, 5
+ msgbox SecretBase_RedCave1_Text_275287, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275F97
setvar VAR_RESULT, 1
@@ -4880,12 +4883,12 @@ SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_275F97
- msgbox SecretBase_RedCave1_Text_275315, 4
+ msgbox SecretBase_RedCave1_Text_275315, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_275F8D:: @ 8275F8D
- msgbox SecretBase_RedCave1_Text_2753AB, 4
+ msgbox SecretBase_RedCave1_Text_2753AB, MSGBOX_DEFAULT
release
end
@@ -4893,12 +4896,12 @@ SecretBase_RedCave1_EventScript_275F97:: @ 8275F97
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_275330, 4
+ msgbox SecretBase_RedCave1_Text_275330, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC
- msgbox SecretBase_RedCave1_Text_275374, 4
+ msgbox SecretBase_RedCave1_Text_275374, MSGBOX_DEFAULT
release
end
@@ -4909,7 +4912,7 @@ SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6
goto_if 0, SecretBase_RedCave1_EventScript_276005
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_276024
- msgbox SecretBase_RedCave1_Text_2755D2, 5
+ msgbox SecretBase_RedCave1_Text_2755D2, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_27600F
setvar VAR_RESULT, 1
@@ -4917,12 +4920,12 @@ SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_27600F
- msgbox SecretBase_RedCave1_Text_275679, 4
+ msgbox SecretBase_RedCave1_Text_275679, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_276005:: @ 8276005
- msgbox SecretBase_RedCave1_Text_27571E, 4
+ msgbox SecretBase_RedCave1_Text_27571E, MSGBOX_DEFAULT
release
end
@@ -4930,12 +4933,12 @@ SecretBase_RedCave1_EventScript_27600F:: @ 827600F
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_275696, 4
+ msgbox SecretBase_RedCave1_Text_275696, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_276024:: @ 8276024
- msgbox SecretBase_RedCave1_Text_2756EF, 4
+ msgbox SecretBase_RedCave1_Text_2756EF, MSGBOX_DEFAULT
release
end
@@ -4946,7 +4949,7 @@ SecretBase_RedCave1_EventScript_27602E:: @ 827602E
goto_if 0, SecretBase_RedCave1_EventScript_27607D
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_27609C
- msgbox SecretBase_RedCave1_Text_274A64, 5
+ msgbox SecretBase_RedCave1_Text_274A64, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_276087
setvar VAR_RESULT, 1
@@ -4954,12 +4957,12 @@ SecretBase_RedCave1_EventScript_27602E:: @ 827602E
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_276087
- msgbox SecretBase_RedCave1_Text_274AFA, 4
+ msgbox SecretBase_RedCave1_Text_274AFA, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_27607D:: @ 827607D
- msgbox SecretBase_RedCave1_Text_274BA2, 4
+ msgbox SecretBase_RedCave1_Text_274BA2, MSGBOX_DEFAULT
release
end
@@ -4967,12 +4970,12 @@ SecretBase_RedCave1_EventScript_276087:: @ 8276087
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274B0B, 4
+ msgbox SecretBase_RedCave1_Text_274B0B, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_27609C:: @ 827609C
- msgbox SecretBase_RedCave1_Text_274B6C, 4
+ msgbox SecretBase_RedCave1_Text_274B6C, MSGBOX_DEFAULT
release
end
@@ -4983,7 +4986,7 @@ SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6
goto_if 0, SecretBase_RedCave1_EventScript_2760F5
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_276114
- msgbox SecretBase_RedCave1_Text_274DD2, 5
+ msgbox SecretBase_RedCave1_Text_274DD2, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_2760FF
setvar VAR_RESULT, 1
@@ -4991,12 +4994,12 @@ SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_2760FF
- msgbox SecretBase_RedCave1_Text_274E41, 4
+ msgbox SecretBase_RedCave1_Text_274E41, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_2760F5:: @ 82760F5
- msgbox SecretBase_RedCave1_Text_274EF1, 4
+ msgbox SecretBase_RedCave1_Text_274EF1, MSGBOX_DEFAULT
release
end
@@ -5004,12 +5007,12 @@ SecretBase_RedCave1_EventScript_2760FF:: @ 82760FF
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_274E5A, 4
+ msgbox SecretBase_RedCave1_Text_274E5A, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_276114:: @ 8276114
- msgbox SecretBase_RedCave1_Text_274EB3, 4
+ msgbox SecretBase_RedCave1_Text_274EB3, MSGBOX_DEFAULT
release
end
@@ -5020,7 +5023,7 @@ SecretBase_RedCave1_EventScript_27611E:: @ 827611E
goto_if 0, SecretBase_RedCave1_EventScript_27616D
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_27618C
- msgbox SecretBase_RedCave1_Text_275114, 5
+ msgbox SecretBase_RedCave1_Text_275114, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_276177
setvar VAR_RESULT, 1
@@ -5028,12 +5031,12 @@ SecretBase_RedCave1_EventScript_27611E:: @ 827611E
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_276177
- msgbox SecretBase_RedCave1_Text_2751AF, 4
+ msgbox SecretBase_RedCave1_Text_2751AF, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_27616D:: @ 827616D
- msgbox SecretBase_RedCave1_Text_275226, 4
+ msgbox SecretBase_RedCave1_Text_275226, MSGBOX_DEFAULT
release
end
@@ -5041,12 +5044,12 @@ SecretBase_RedCave1_EventScript_276177:: @ 8276177
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_2751CA, 4
+ msgbox SecretBase_RedCave1_Text_2751CA, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_27618C:: @ 827618C
- msgbox SecretBase_RedCave1_Text_2751EC, 4
+ msgbox SecretBase_RedCave1_Text_2751EC, MSGBOX_DEFAULT
release
end
@@ -5057,7 +5060,7 @@ SecretBase_RedCave1_EventScript_276196:: @ 8276196
goto_if 0, SecretBase_RedCave1_EventScript_2761E5
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_276204
- msgbox SecretBase_RedCave1_Text_275405, 5
+ msgbox SecretBase_RedCave1_Text_275405, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_2761EF
setvar VAR_RESULT, 1
@@ -5065,12 +5068,12 @@ SecretBase_RedCave1_EventScript_276196:: @ 8276196
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_2761EF
- msgbox SecretBase_RedCave1_Text_2754B2, 4
+ msgbox SecretBase_RedCave1_Text_2754B2, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_2761E5:: @ 82761E5
- msgbox SecretBase_RedCave1_Text_275546, 4
+ msgbox SecretBase_RedCave1_Text_275546, MSGBOX_DEFAULT
release
end
@@ -5078,12 +5081,12 @@ SecretBase_RedCave1_EventScript_2761EF:: @ 82761EF
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_2754D8, 4
+ msgbox SecretBase_RedCave1_Text_2754D8, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_276204:: @ 8276204
- msgbox SecretBase_RedCave1_Text_27550C, 4
+ msgbox SecretBase_RedCave1_Text_27550C, MSGBOX_DEFAULT
release
end
@@ -5094,7 +5097,7 @@ SecretBase_RedCave1_EventScript_27620E:: @ 827620E
goto_if 0, SecretBase_RedCave1_EventScript_27625D
compare VAR_RESULT, 1
goto_eq SecretBase_RedCave1_EventScript_27627C
- msgbox SecretBase_RedCave1_Text_2757B5, 5
+ msgbox SecretBase_RedCave1_Text_2757B5, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_276267
setvar VAR_RESULT, 1
@@ -5102,12 +5105,12 @@ SecretBase_RedCave1_EventScript_27620E:: @ 827620E
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
goto_eq SecretBase_RedCave1_EventScript_276267
- msgbox SecretBase_RedCave1_Text_275884, 4
+ msgbox SecretBase_RedCave1_Text_275884, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
SecretBase_RedCave1_EventScript_27625D:: @ 827625D
- msgbox SecretBase_RedCave1_Text_275944, 4
+ msgbox SecretBase_RedCave1_Text_275944, MSGBOX_DEFAULT
release
end
@@ -5115,20 +5118,20 @@ SecretBase_RedCave1_EventScript_276267:: @ 8276267
special sub_80EB300
setvar VAR_RESULT, 0
special sub_80EA30C
- msgbox SecretBase_RedCave1_Text_27589D, 4
+ msgbox SecretBase_RedCave1_Text_27589D, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_27627C:: @ 827627C
- msgbox SecretBase_RedCave1_Text_275909, 4
+ msgbox SecretBase_RedCave1_Text_275909, MSGBOX_DEFAULT
release
end
SecretBase_RedCave1_EventScript_276286:: @ 8276286
special sub_80EA2E4
- setvar VAR_0x8004, 1
+ setvar VAR_0x8004, SPECIAL_BATTLE_SECRET_BASE
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
compare VAR_RESULT, 3
call_if 1, SecretBase_RedCave1_EventScript_2762BD
@@ -5509,7 +5512,7 @@ SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0
compare VAR_RESULT, 1
goto_eq SlateportCity_PokemonFanClub_EventScript_28C879
copyvar VAR_0x8009, VAR_0x8006
- msgbox SlateportCity_PokemonFanClub_Text_280674, 5
+ msgbox SlateportCity_PokemonFanClub_Text_280674, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_PokemonFanClub_EventScript_28C827
compare VAR_RESULT, 0
@@ -5517,7 +5520,7 @@ SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0
end
SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827
- msgbox SlateportCity_PokemonFanClub_Text_28073B, 4
+ msgbox SlateportCity_PokemonFanClub_Text_28073B, MSGBOX_DEFAULT
setvar VAR_0x8004, 5
copyvar VAR_0x8005, VAR_0x8009
setvar VAR_0x8006, 1
@@ -5531,18 +5534,18 @@ SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827
end
SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C
- msgbox SlateportCity_PokemonFanClub_Text_2805E2, 4
+ msgbox SlateportCity_PokemonFanClub_Text_2805E2, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_28C866:: @ 828C866
- msgbox SlateportCity_PokemonFanClub_Text_280789, 4
+ msgbox SlateportCity_PokemonFanClub_Text_280789, MSGBOX_DEFAULT
setvar VAR_0x8005, 1
goto SlateportCity_PokemonFanClub_EventScript_28C7E9
end
SlateportCity_PokemonFanClub_EventScript_28C879:: @ 828C879
- msgbox SlateportCity_PokemonFanClub_Text_28062E, 4
+ msgbox SlateportCity_PokemonFanClub_Text_28062E, MSGBOX_DEFAULT
release
end
@@ -5557,7 +5560,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883
checkflag FLAG_0x069
goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8C8
setflag FLAG_0x069
- msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, 5
+ msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
compare VAR_RESULT, 0
@@ -5565,7 +5568,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883
end
SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8
- msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, 5
+ msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
compare VAR_RESULT, 0
@@ -5573,7 +5576,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8
end
SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7
- msgbox SlateportCity_OceanicMuseum_1F_Text_2812F2, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_2812F2, MSGBOX_DEFAULT
setvar VAR_0x8004, 5
copyvar VAR_0x8005, VAR_0x8009
setvar VAR_0x8006, 0
@@ -5587,18 +5590,18 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7
end
SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C
- msgbox SlateportCity_OceanicMuseum_1F_Text_281367, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_281367, MSGBOX_DEFAULT
release
end
SlateportCity_OceanicMuseum_1F_EventScript_28C926:: @ 828C926
- msgbox SlateportCity_OceanicMuseum_1F_Text_2813B9, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_2813B9, MSGBOX_DEFAULT
setvar VAR_0x8005, 2
goto SlateportCity_OceanicMuseum_1F_EventScript_28C7E9
end
SlateportCity_OceanicMuseum_1F_EventScript_28C939:: @ 828C939
- msgbox SlateportCity_OceanicMuseum_1F_Text_28144D, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_28144D, MSGBOX_DEFAULT
release
end
@@ -5613,7 +5616,7 @@ SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943
compare VAR_RESULT, 1
goto_eq SlateportCity_PokemonFanClub_EventScript_28CA4F
copyvar VAR_0x8009, VAR_0x8006
- msgbox SlateportCity_PokemonFanClub_Text_280270, 5
+ msgbox SlateportCity_PokemonFanClub_Text_280270, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_PokemonFanClub_EventScript_28C98C
compare VAR_RESULT, 0
@@ -5621,7 +5624,7 @@ SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943
end
SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C
- msgbox SlateportCity_PokemonFanClub_Text_28034F, 4
+ msgbox SlateportCity_PokemonFanClub_Text_28034F, MSGBOX_DEFAULT
random 3
copyvar VAR_0x800A, VAR_RESULT
switch VAR_RESULT
@@ -5631,17 +5634,17 @@ SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C
end
SlateportCity_PokemonFanClub_EventScript_28C9C3:: @ 828C9C3
- msgbox SlateportCity_PokemonFanClub_Text_280393, 4
+ msgbox SlateportCity_PokemonFanClub_Text_280393, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_28C9ED
end
SlateportCity_PokemonFanClub_EventScript_28C9D1:: @ 828C9D1
- msgbox SlateportCity_PokemonFanClub_Text_2803EF, 4
+ msgbox SlateportCity_PokemonFanClub_Text_2803EF, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_28C9ED
end
SlateportCity_PokemonFanClub_EventScript_28C9DF:: @ 828C9DF
- msgbox SlateportCity_PokemonFanClub_Text_280454, 4
+ msgbox SlateportCity_PokemonFanClub_Text_280454, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_28C9ED
end
@@ -5654,40 +5657,40 @@ SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED
faceplayer
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
- msgbox SlateportCity_PokemonFanClub_Text_2804AC, 4
+ 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
- msgbox SlateportCity_PokemonFanClub_Text_280523, 4
+ msgbox SlateportCity_PokemonFanClub_Text_280523, MSGBOX_DEFAULT
copyvar VAR_0x8007, VAR_0x800A
setvar VAR_0x8005, 3
goto SlateportCity_PokemonFanClub_EventScript_28C7E9
end
SlateportCity_PokemonFanClub_EventScript_28CA45:: @ 828CA45
- msgbox SlateportCity_PokemonFanClub_Text_2805E2, 4
+ msgbox SlateportCity_PokemonFanClub_Text_2805E2, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F
- msgbox SlateportCity_PokemonFanClub_Text_28062E, 4
+ msgbox SlateportCity_PokemonFanClub_Text_28062E, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59
lock
faceplayer
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq LilycoveCity_ContestLobby_EventScript_28CB21
setvar VAR_0x8005, 6
special InterviewBefore
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_28CB21
copyvar VAR_0x8009, VAR_0x8006
- msgbox LilycoveCity_ContestLobby_Text_27EF15, 5
+ msgbox LilycoveCity_ContestLobby_Text_27EF15, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_28CA9B
compare VAR_RESULT, 0
@@ -5695,7 +5698,7 @@ LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59
end
LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B
- msgbox LilycoveCity_ContestLobby_Text_27EFE7, 4
+ msgbox LilycoveCity_ContestLobby_Text_27EFE7, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
copyvar VAR_0x8005, VAR_0x8009
setvar VAR_0x8006, 0
@@ -5709,14 +5712,14 @@ LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B
end
LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0
- msgbox LilycoveCity_ContestLobby_Text_27F1EF, 4
+ msgbox LilycoveCity_ContestLobby_Text_27F1EF, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA
setvar VAR_0x8004, 24
special SetContestCategoryStringVarForInterview
- msgbox LilycoveCity_ContestLobby_Text_27F03E, 4
+ msgbox LilycoveCity_ContestLobby_Text_27F03E, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
copyvar VAR_0x8005, VAR_0x8009
setvar VAR_0x8006, 1
@@ -5725,14 +5728,14 @@ LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA
faceplayer
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
- msgbox LilycoveCity_ContestLobby_Text_27F0EC, 4
- setflag FLAG_0x002
+ msgbox LilycoveCity_ContestLobby_Text_27F0EC, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_2
setvar VAR_0x8005, 6
goto LilycoveCity_ContestLobby_EventScript_28C7E9
end
LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21
- msgbox LilycoveCity_ContestLobby_Text_27F23F, 4
+ msgbox LilycoveCity_ContestLobby_Text_27F23F, MSGBOX_DEFAULT
release
end
@@ -5753,7 +5756,7 @@ LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B
end
LilycoveCity_ContestLobby_EventScript_28CB91:: @ 828CB91
- clearflag FLAG_0x322
+ clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
return
LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95
@@ -5762,14 +5765,14 @@ LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95
BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96
lock
faceplayer
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
setvar VAR_0x8005, 7
special InterviewBefore
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
copyvar VAR_0x8009, VAR_0x8006
- msgbox BattleFrontier_BattleTowerLobby_Text_27F704, 5
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F704, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8
compare VAR_RESULT, 0
@@ -5785,7 +5788,7 @@ BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC38
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC41
- msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, MSGBOX_DEFAULT
setvar VAR_0x8004, 12
copyvar VAR_0x8005, VAR_0x8009
call BattleFrontier_BattleTowerLobby_EventScript_271E7C
@@ -5798,35 +5801,35 @@ BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
end
BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E
- msgbox BattleFrontier_BattleTowerLobby_Text_27F84C, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F84C, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_28CC38:: @ 828CC38
- msgbox BattleFrontier_BattleTowerLobby_Text_27F8AE, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F8AE, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41
- msgbox BattleFrontier_BattleTowerLobby_Text_27F921, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F921, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
- msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, 4
- setflag FLAG_0x002
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_2
copyvar VAR_0x8004, VAR_0x8008
setvar VAR_0x8005, 7
goto BattleFrontier_BattleTowerLobby_EventScript_28C7E9
end
BattleFrontier_BattleTowerLobby_EventScript_28CC70:: @ 828CC70
- msgbox BattleFrontier_BattleTowerLobby_Text_27FA6F, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_27FA6F, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A
- msgbox BattleFrontier_BattleTowerLobby_Text_27FAF3, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_27FAF3, MSGBOX_DEFAULT
release
end
@@ -5837,11 +5840,11 @@ BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84
special InterviewBefore
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
- clearflag FLAG_0x396
+ clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER
return
BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6
- setflag FLAG_0x396
+ setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
return
.include "data/scripts/gabby_and_ty.inc"
@@ -5860,7 +5863,7 @@ EventScript_2926F8:: @ 82926F8
.include "data/scripts/players_house.inc"
EventScript_RunningShoesManual:: @ 8292DE5
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, 3
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, MSGBOX_SIGN
end
.include "data/scripts/pokeblocks.inc"
@@ -5931,7 +5934,7 @@ gUnknown_082944D5:: @ 82944D5
.include "data/text/trainers.inc"
EventScript_RepelWoreOff:: @ 82A4B2A
- msgbox Text_RepelWoreOff, 3
+ msgbox Text_RepelWoreOff, MSGBOX_SIGN
end
Text_RepelWoreOff: @ 82A4B33
@@ -6057,7 +6060,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A836B:: @ 82A836B
LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395
lock
faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818DBE8
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0
@@ -6068,13 +6071,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395
end
LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8AB1, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8AB1, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0
special sub_818DC2C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818DC60
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435
@@ -6093,17 +6096,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8ACE, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8ACE, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B36, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B36, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
compare VAR_RESULT, 1
@@ -6111,12 +6114,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BCD, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BCD, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A845E:: @ 82A845E
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BAD, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BAD, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A846C
end
@@ -6132,7 +6135,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
compare VAR_RESULT, 0
@@ -6149,7 +6152,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD
LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9
special sub_818DC2C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, MSGBOX_DEFAULT
release
end
@@ -6163,20 +6166,20 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6
LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2
special sub_818DC2C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84FF:: @ 82A84FF
special sub_818DC2C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8510
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510
setvar VAR_0x8004, 0
specialvar VAR_0x8004, sub_818DEA0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, MSGBOX_DEFAULT
giveitem_std VAR_0x8004
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545
@@ -6185,7 +6188,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8DBD, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8DBD, MSGBOX_DEFAULT
release
end
@@ -6197,7 +6200,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A854F:: @ 82A854F
LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554
lock
faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E038
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585
@@ -6226,23 +6229,23 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E4E, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E4E, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85D2:: @ 82A85D2
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85E0:: @ 82A85E0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE
setvar VAR_0x8004, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
compare VAR_RESULT, 0
@@ -6250,7 +6253,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F65, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F65, MSGBOX_DEFAULT
release
end
@@ -6281,7 +6284,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F
compare VAR_RESULT, 0
@@ -6289,13 +6292,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660
end
LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F9A, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F9A, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689
special sub_818E37C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E308
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7
@@ -6307,7 +6310,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0
playse SE_SEIKAI
delay 10
playse SE_SEIKAI
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A8FC7, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8FC7, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
end
@@ -6317,8 +6320,8 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7
playse SE_HAZURE
delay 10
playse SE_HAZURE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A90A5, 4
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A90CD, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A90A5, MSGBOX_DEFAULT
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A90CD, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
end
@@ -6331,12 +6334,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8716:: @ 82A8716
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724
end
@@ -6351,13 +6354,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724
end
LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, MSGBOX_DEFAULT
special sub_818E39C
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785
compare VAR_RESULT, 0
@@ -6366,12 +6369,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759
LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778
special sub_818E3EC
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8785:: @ 82A8785
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9153, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9153, MSGBOX_DEFAULT
LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D
fadescreen 1
@@ -6385,7 +6388,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D
end
LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
compare VAR_RESULT, 0
@@ -6393,7 +6396,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF
end
LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, MSGBOX_DEFAULT
special sub_818E430
special sub_818E3BC
setvar VAR_0x8004, 16
@@ -6408,7 +6411,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1
end
LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
compare VAR_RESULT, 0
@@ -6419,14 +6422,14 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817
special sub_818E490
special sub_818E4A4
special sub_818E510
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A
lock
faceplayer
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E8B4
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850
@@ -6443,17 +6446,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850
end
LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A93D6, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A93D6, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876
special sub_818E914
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, MSGBOX_DEFAULT
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
compare VAR_RESULT, 1
@@ -6461,7 +6464,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876
end
LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9556, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9556, MSGBOX_DEFAULT
release
end
@@ -6476,7 +6479,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA
end
LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, 5
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
compare VAR_RESULT, 0
@@ -6484,7 +6487,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7
end
LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, MSGBOX_DEFAULT
special sub_818E940
special sub_818E960
goto LilycoveCity_PokemonCenter_1F_EventScript_2A890A
@@ -6522,13 +6525,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A95AD, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A95AD, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
end
LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E
special sub_818E914
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, MSGBOX_DEFAULT
goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
end
@@ -6540,13 +6543,13 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F
end
LilycoveCity_PokemonCenter_1F_EventScript_2A89A1:: @ 82A89A1
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9669, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9669, MSGBOX_DEFAULT
special PutLilycoveContestLadyShowOnTheAir
release
end
LilycoveCity_PokemonCenter_1F_EventScript_2A89AE:: @ 82A89AE
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9451, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9451, MSGBOX_DEFAULT
release
end
@@ -6596,7 +6599,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A
faceplayer
waitse
playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A96DA, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A96DA, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -6606,7 +6609,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D:: @ 82A8A1D
faceplayer
waitse
playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A970E, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A970E, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -6616,7 +6619,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8A30:: @ 82A8A30
faceplayer
waitse
playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A96F6, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A96F6, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -6626,7 +6629,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8A43:: @ 82A8A43
faceplayer
waitse
playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A96E6, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A96E6, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -6636,7 +6639,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8A56:: @ 82A8A56
faceplayer
waitse
playmoncry VAR_0x8005, 0
- msgbox LilycoveCity_PokemonCenter_1F_Text_2A9703, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9703, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -9854,7 +9857,7 @@ gText_MrStone_Pokenav_2B67ED:: @ 82B67ED
.string "sometime!$"
.include "data/scripts/apprentice.inc"
-
+
gBattleDomeOpponentPotential1::
.string "The best candidate to be a champ!$"
@@ -9863,7 +9866,7 @@ gBattleDomeOpponentPotential2::
gBattleDomeOpponentPotential3::
.string "A likely top-three finisher.$"
-
+
gBattleDomeOpponentPotential4::
.string "A candidate to finish first.$"
@@ -9906,7 +9909,7 @@ gBattleDomeOpponentPotential16::
gBattleDomeOpponentPotential17::
.string "The perfect, invincible superstar!$"
-gBattleDomeOpponentStyle1::
+gBattleDomeOpponentStyle1::
.string "Willing to risk total disaster at times.$"
gBattleDomeOpponentStyle2::
@@ -10203,9 +10206,9 @@ BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B
BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25
setvar VAR_0x8004, 4
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 5
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
@@ -10250,7 +10253,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8
setvar VAR_OBJ_GFX_ID_1, 28
setvar VAR_OBJ_GFX_ID_0, 28
setvar VAR_0x8004, 5
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 3
goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
compare VAR_RESULT, 6
@@ -10293,24 +10296,24 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 5
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
@@ -10348,7 +10351,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D:: @ 82C406D
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_2, 0
lockall
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, MSGBOX_DEFAULT
closemessage
end
@@ -10361,35 +10364,35 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_2, 0
lockall
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, MSGBOX_DEFAULT
closemessage
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
setvar VAR_0x8004, 25
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
compare VAR_RESULT, 1
call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 3
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
compare VAR_RESULT, 0
@@ -10401,14 +10404,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128
setvar VAR_0x8004, 24
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136
setvar VAR_0x8004, 24
setvar VAR_0x8005, 0
- special sub_81A703C
+ special CallBattlePikeFunction
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144
@@ -10429,31 +10432,31 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
setvar VAR_0x8004, 7
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 25
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
compare VAR_RESULT, 1
call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 3
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
compare VAR_RESULT, 0
@@ -10470,7 +10473,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_2, 0
lockall
- msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, MSGBOX_DEFAULT
closemessage
end
@@ -10478,7 +10481,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222:: @ 82C4222
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
@@ -10488,7 +10491,7 @@ BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E
setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 1
setvar VAR_0x8005, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
compare VAR_RESULT, 1
@@ -10502,7 +10505,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271:: @ 82C4271
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271:: @ 82C4271
setvar VAR_0x8004, 21
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A: @ 82C427A
@@ -11330,13 +11333,13 @@ SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16
faceplayer
checkflag FLAG_0x1B1
goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F74
- msgbox SlateportCity_PokemonFanClub_Text_2C6E37, 5
+ msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
call SlateportCity_PokemonFanClub_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
- msgbox SlateportCity_PokemonFanClub_Text_2C6F66, 4
+ msgbox SlateportCity_PokemonFanClub_Text_2C6F66, MSGBOX_DEFAULT
setvar VAR_0x8005, 23
call SlateportCity_PokemonFanClub_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11346,12 +11349,12 @@ SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16
end
SlateportCity_PokemonFanClub_EventScript_2C7F6A:: @ 82C7F6A
- msgbox SlateportCity_PokemonFanClub_Text_2C6F33, 4
+ msgbox SlateportCity_PokemonFanClub_Text_2C6F33, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74
- msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, 4
+ msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, MSGBOX_DEFAULT
release
end
@@ -11360,13 +11363,13 @@ MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E
faceplayer
checkflag FLAG_0x1B2
goto_eq MauvilleCity_EventScript_2C7FDC
- msgbox MauvilleCity_Text_2C6FDB, 5
+ msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_EventScript_2C7FD2
call MauvilleCity_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq MauvilleCity_EventScript_2C7FD2
- msgbox MauvilleCity_Text_2C70F3, 4
+ msgbox MauvilleCity_Text_2C70F3, MSGBOX_DEFAULT
setvar VAR_0x8005, 16
call MauvilleCity_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11376,12 +11379,12 @@ MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E
end
MauvilleCity_EventScript_2C7FD2:: @ 82C7FD2
- msgbox MauvilleCity_Text_2C70C4, 4
+ msgbox MauvilleCity_Text_2C70C4, MSGBOX_DEFAULT
release
end
MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC
- msgbox MauvilleCity_Text_2C7133, 4
+ msgbox MauvilleCity_Text_2C7133, MSGBOX_DEFAULT
release
end
@@ -11390,13 +11393,13 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6
faceplayer
checkflag FLAG_0x1B3
goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, 5
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, 4
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, MSGBOX_DEFAULT
setvar VAR_0x8005, 29
call VerdanturfTown_PokemonCenter_1F_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11406,12 +11409,12 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6
end
VerdanturfTown_PokemonCenter_1F_EventScript_2C803A:: @ 82C803A
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, 4
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, MSGBOX_DEFAULT
release
end
VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044
- msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, 4
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, MSGBOX_DEFAULT
release
end
@@ -11420,13 +11423,13 @@ LavaridgeTown_House_EventScript_2C804E:: @ 82C804E
faceplayer
checkflag FLAG_0x1B4
goto_eq LavaridgeTown_House_EventScript_2C80AC
- msgbox LavaridgeTown_House_Text_2C72B6, 5
+ msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LavaridgeTown_House_EventScript_2C80A2
call LavaridgeTown_House_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq LavaridgeTown_House_EventScript_2C80A2
- msgbox LavaridgeTown_House_Text_2C73B1, 4
+ msgbox LavaridgeTown_House_Text_2C73B1, MSGBOX_DEFAULT
setvar VAR_0x8005, 7
call LavaridgeTown_House_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11436,12 +11439,12 @@ LavaridgeTown_House_EventScript_2C804E:: @ 82C804E
end
LavaridgeTown_House_EventScript_2C80A2:: @ 82C80A2
- msgbox LavaridgeTown_House_Text_2C737F, 4
+ msgbox LavaridgeTown_House_Text_2C737F, MSGBOX_DEFAULT
release
end
LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC
- msgbox LavaridgeTown_House_Text_2C73F6, 4
+ msgbox LavaridgeTown_House_Text_2C73F6, MSGBOX_DEFAULT
release
end
@@ -11450,13 +11453,13 @@ FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6
faceplayer
checkflag FLAG_0x1B5
goto_eq FallarborTown_Mart_EventScript_2C8114
- msgbox FallarborTown_Mart_Text_2C7449, 5
+ msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq FallarborTown_Mart_EventScript_2C810A
call FallarborTown_Mart_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq FallarborTown_Mart_EventScript_2C810A
- msgbox FallarborTown_Mart_Text_2C7582, 4
+ msgbox FallarborTown_Mart_Text_2C7582, MSGBOX_DEFAULT
setvar VAR_0x8005, 8
call FallarborTown_Mart_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11466,12 +11469,12 @@ FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6
end
FallarborTown_Mart_EventScript_2C810A:: @ 82C810A
- msgbox FallarborTown_Mart_Text_2C7556, 4
+ msgbox FallarborTown_Mart_Text_2C7556, MSGBOX_DEFAULT
release
end
FallarborTown_Mart_EventScript_2C8114:: @ 82C8114
- msgbox FallarborTown_Mart_Text_2C75B5, 4
+ msgbox FallarborTown_Mart_Text_2C75B5, MSGBOX_DEFAULT
release
end
@@ -11480,13 +11483,13 @@ FortreeCity_House2_EventScript_2C811E:: @ 82C811E
faceplayer
checkflag FLAG_0x1B6
goto_eq FortreeCity_House2_EventScript_2C817C
- msgbox FortreeCity_House2_Text_2C7637, 5
+ msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq FortreeCity_House2_EventScript_2C8172
call FortreeCity_House2_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq FortreeCity_House2_EventScript_2C8172
- msgbox FortreeCity_House2_Text_2C7721, 4
+ msgbox FortreeCity_House2_Text_2C7721, MSGBOX_DEFAULT
setvar VAR_0x8005, 24
call FortreeCity_House2_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11496,12 +11499,12 @@ FortreeCity_House2_EventScript_2C811E:: @ 82C811E
end
FortreeCity_House2_EventScript_2C8172:: @ 82C8172
- msgbox FortreeCity_House2_Text_2C76E2, 4
+ msgbox FortreeCity_House2_Text_2C76E2, MSGBOX_DEFAULT
release
end
FortreeCity_House2_EventScript_2C817C:: @ 82C817C
- msgbox FortreeCity_House2_Text_2C775A, 4
+ msgbox FortreeCity_House2_Text_2C775A, MSGBOX_DEFAULT
release
end
@@ -11510,13 +11513,13 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186
faceplayer
checkflag FLAG_0x1B7
goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, 5
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, MSGBOX_DEFAULT
setvar VAR_0x8005, 14
call LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11526,12 +11529,12 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186
end
LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA:: @ 82C81DA
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, MSGBOX_DEFAULT
release
end
@@ -11540,13 +11543,13 @@ MossdeepCity_EventScript_2C81EE:: @ 82C81EE
faceplayer
checkflag FLAG_0x1B8
goto_eq MossdeepCity_EventScript_2C824C
- msgbox MossdeepCity_Text_2C79A6, 5
+ msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_EventScript_2C8242
call MossdeepCity_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq MossdeepCity_EventScript_2C8242
- msgbox MossdeepCity_Text_2C7B0D, 4
+ msgbox MossdeepCity_Text_2C7B0D, MSGBOX_DEFAULT
setvar VAR_0x8005, 15
call MossdeepCity_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11556,12 +11559,12 @@ MossdeepCity_EventScript_2C81EE:: @ 82C81EE
end
MossdeepCity_EventScript_2C8242:: @ 82C8242
- msgbox MossdeepCity_Text_2C7AD4, 4
+ msgbox MossdeepCity_Text_2C7AD4, MSGBOX_DEFAULT
release
end
MossdeepCity_EventScript_2C824C:: @ 82C824C
- msgbox MossdeepCity_Text_2C7B4F, 4
+ msgbox MossdeepCity_Text_2C7B4F, MSGBOX_DEFAULT
release
end
@@ -11570,13 +11573,13 @@ SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256
faceplayer
checkflag FLAG_0x1B9
goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, 5
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
call SootopolisCity_PokemonCenter_1F_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, MSGBOX_DEFAULT
setvar VAR_0x8005, 4
call SootopolisCity_PokemonCenter_1F_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11586,12 +11589,12 @@ SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256
end
SootopolisCity_PokemonCenter_1F_EventScript_2C82AA:: @ 82C82AA
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, MSGBOX_DEFAULT
release
end
SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4
- msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, MSGBOX_DEFAULT
release
end
@@ -11600,13 +11603,13 @@ PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE
faceplayer
checkflag FLAG_0x1BA
goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, 5
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D
compare VAR_RESULT, 0
goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, 4
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, MSGBOX_DEFAULT
setvar VAR_0x8005, 12
call PacifidlogTown_PokemonCenter_1F_EventScript_2C8326
compare VAR_RESULT, 0
@@ -11616,12 +11619,12 @@ PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE
end
PacifidlogTown_PokemonCenter_1F_EventScript_2C8312:: @ 82C8312
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, 4
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, MSGBOX_DEFAULT
release
end
PacifidlogTown_PokemonCenter_1F_EventScript_2C831C:: @ 82C831C
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, 4
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, MSGBOX_DEFAULT
release
end
@@ -11651,7 +11654,7 @@ PacifidlogTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
SlateportCity_PokemonFanClub_EventScript_2C832D:: @ 82C832D
SootopolisCity_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
VerdanturfTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
- msgbox MauvilleCity_Text_2C6E05, 5
+ msgbox MauvilleCity_Text_2C6E05, MSGBOX_YESNO
return
TrainerHill_1F_MapScript1_2C8336: @ 82C8336
@@ -11664,7 +11667,7 @@ TrainerHill_Roof_MapScript1_2C8336: @ 82C8336
special sp194_trainer_tower
setvar VAR_0x8004, 1
setvar VAR_0x8005, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq TrainerHill_1F_EventScript_2C83C9
compare VAR_RESULT, 3
@@ -11695,7 +11698,7 @@ EventScript_TrainerHillTimer:: @ 82C8393
lockall
setvar VAR_0x8004, 7
special sp194_trainer_tower
- msgbox TrainerHill_Entrance_Text_268D47, 4
+ msgbox TrainerHill_Entrance_Text_268D47, MSGBOX_DEFAULT
releaseall
end
@@ -11732,7 +11735,7 @@ TrainerHill_1F_Movement_2C83EE:: @ 82C83EE
step_end
EventScript_2C83F0:: @ 82C83F0
- trainerbattle 12, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
+ trainerbattle TRAINER_BATTLE_12, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
setvar VAR_0x8004, 11
special sp194_trainer_tower
waitmessage
@@ -11745,7 +11748,7 @@ Text_ThisIsATestSignpostMsg:: @ 82C840A
.string "This is a signpost.$"
EventScript_TestSignpostMsg:: @ 82C8436
- msgbox Text_ThisIsATestSignpostMsg, 3
+ msgbox Text_ThisIsATestSignpostMsg, MSGBOX_SIGN
end
gText_082C843F:: @ 82C843F
diff --git a/data/graphics/pokemon/footprint_table.inc b/data/graphics/pokemon/footprint_table.inc
deleted file mode 100644
index b5de0e11d..000000000
--- a/data/graphics/pokemon/footprint_table.inc
+++ /dev/null
@@ -1,415 +0,0 @@
- .align 2
-gMonFootprintTable:: @ 856E694
- .4byte gMonFootprint_Bulbasaur
- .4byte gMonFootprint_Bulbasaur
- .4byte gMonFootprint_Ivysaur
- .4byte gMonFootprint_Venusaur
- .4byte gMonFootprint_Charmander
- .4byte gMonFootprint_Charmeleon
- .4byte gMonFootprint_Charizard
- .4byte gMonFootprint_Squirtle
- .4byte gMonFootprint_Wartortle
- .4byte gMonFootprint_Blastoise
- .4byte gMonFootprint_Caterpie
- .4byte gMonFootprint_Metapod
- .4byte gMonFootprint_Butterfree
- .4byte gMonFootprint_Weedle
- .4byte gMonFootprint_Kakuna
- .4byte gMonFootprint_Beedrill
- .4byte gMonFootprint_Pidgey
- .4byte gMonFootprint_Pidgeotto
- .4byte gMonFootprint_Pidgeot
- .4byte gMonFootprint_Rattata
- .4byte gMonFootprint_Raticate
- .4byte gMonFootprint_Spearow
- .4byte gMonFootprint_Fearow
- .4byte gMonFootprint_Ekans
- .4byte gMonFootprint_Arbok
- .4byte gMonFootprint_Pikachu
- .4byte gMonFootprint_Raichu
- .4byte gMonFootprint_Sandshrew
- .4byte gMonFootprint_Sandslash
- .4byte gMonFootprint_NidoranF
- .4byte gMonFootprint_Nidorina
- .4byte gMonFootprint_Nidoqueen
- .4byte gMonFootprint_NidoranM
- .4byte gMonFootprint_Nidorino
- .4byte gMonFootprint_Nidoking
- .4byte gMonFootprint_Clefairy
- .4byte gMonFootprint_Clefable
- .4byte gMonFootprint_Vulpix
- .4byte gMonFootprint_Ninetales
- .4byte gMonFootprint_Jigglypuff
- .4byte gMonFootprint_Wigglytuff
- .4byte gMonFootprint_Zubat
- .4byte gMonFootprint_Golbat
- .4byte gMonFootprint_Oddish
- .4byte gMonFootprint_Gloom
- .4byte gMonFootprint_Vileplume
- .4byte gMonFootprint_Paras
- .4byte gMonFootprint_Parasect
- .4byte gMonFootprint_Venonat
- .4byte gMonFootprint_Venomoth
- .4byte gMonFootprint_Diglett
- .4byte gMonFootprint_Dugtrio
- .4byte gMonFootprint_Meowth
- .4byte gMonFootprint_Persian
- .4byte gMonFootprint_Psyduck
- .4byte gMonFootprint_Golduck
- .4byte gMonFootprint_Mankey
- .4byte gMonFootprint_Primeape
- .4byte gMonFootprint_Growlithe
- .4byte gMonFootprint_Arcanine
- .4byte gMonFootprint_Poliwag
- .4byte gMonFootprint_Poliwhirl
- .4byte gMonFootprint_Poliwrath
- .4byte gMonFootprint_Abra
- .4byte gMonFootprint_Kadabra
- .4byte gMonFootprint_Alakazam
- .4byte gMonFootprint_Machop
- .4byte gMonFootprint_Machoke
- .4byte gMonFootprint_Machamp
- .4byte gMonFootprint_Bellsprout
- .4byte gMonFootprint_Weepinbell
- .4byte gMonFootprint_Victreebel
- .4byte gMonFootprint_Tentacool
- .4byte gMonFootprint_Tentacruel
- .4byte gMonFootprint_Geodude
- .4byte gMonFootprint_Graveler
- .4byte gMonFootprint_Golem
- .4byte gMonFootprint_Ponyta
- .4byte gMonFootprint_Rapidash
- .4byte gMonFootprint_Slowpoke
- .4byte gMonFootprint_Slowbro
- .4byte gMonFootprint_Magnemite
- .4byte gMonFootprint_Magneton
- .4byte gMonFootprint_Farfetchd
- .4byte gMonFootprint_Doduo
- .4byte gMonFootprint_Dodrio
- .4byte gMonFootprint_Seel
- .4byte gMonFootprint_Dewgong
- .4byte gMonFootprint_Grimer
- .4byte gMonFootprint_Muk
- .4byte gMonFootprint_Shellder
- .4byte gMonFootprint_Cloyster
- .4byte gMonFootprint_Gastly
- .4byte gMonFootprint_Haunter
- .4byte gMonFootprint_Gengar
- .4byte gMonFootprint_Onix
- .4byte gMonFootprint_Drowzee
- .4byte gMonFootprint_Hypno
- .4byte gMonFootprint_Krabby
- .4byte gMonFootprint_Kingler
- .4byte gMonFootprint_Voltorb
- .4byte gMonFootprint_Electrode
- .4byte gMonFootprint_Exeggcute
- .4byte gMonFootprint_Exeggutor
- .4byte gMonFootprint_Cubone
- .4byte gMonFootprint_Marowak
- .4byte gMonFootprint_Hitmonlee
- .4byte gMonFootprint_Hitmonchan
- .4byte gMonFootprint_Lickitung
- .4byte gMonFootprint_Koffing
- .4byte gMonFootprint_Weezing
- .4byte gMonFootprint_Rhyhorn
- .4byte gMonFootprint_Rhydon
- .4byte gMonFootprint_Chansey
- .4byte gMonFootprint_Tangela
- .4byte gMonFootprint_Kangaskhan
- .4byte gMonFootprint_Horsea
- .4byte gMonFootprint_Seadra
- .4byte gMonFootprint_Goldeen
- .4byte gMonFootprint_Seaking
- .4byte gMonFootprint_Staryu
- .4byte gMonFootprint_Starmie
- .4byte gMonFootprint_Mrmime
- .4byte gMonFootprint_Scyther
- .4byte gMonFootprint_Jynx
- .4byte gMonFootprint_Electabuzz
- .4byte gMonFootprint_Magmar
- .4byte gMonFootprint_Pinsir
- .4byte gMonFootprint_Tauros
- .4byte gMonFootprint_Magikarp
- .4byte gMonFootprint_Gyarados
- .4byte gMonFootprint_Lapras
- .4byte gMonFootprint_Ditto
- .4byte gMonFootprint_Eevee
- .4byte gMonFootprint_Vaporeon
- .4byte gMonFootprint_Jolteon
- .4byte gMonFootprint_Flareon
- .4byte gMonFootprint_Porygon
- .4byte gMonFootprint_Omanyte
- .4byte gMonFootprint_Omastar
- .4byte gMonFootprint_Kabuto
- .4byte gMonFootprint_Kabutops
- .4byte gMonFootprint_Aerodactyl
- .4byte gMonFootprint_Snorlax
- .4byte gMonFootprint_Articuno
- .4byte gMonFootprint_Zapdos
- .4byte gMonFootprint_Moltres
- .4byte gMonFootprint_Dratini
- .4byte gMonFootprint_Dragonair
- .4byte gMonFootprint_Dragonite
- .4byte gMonFootprint_Mewtwo
- .4byte gMonFootprint_Mew
- .4byte gMonFootprint_Chikorita
- .4byte gMonFootprint_Bayleef
- .4byte gMonFootprint_Meganium
- .4byte gMonFootprint_Cyndaquil
- .4byte gMonFootprint_Quilava
- .4byte gMonFootprint_Typhlosion
- .4byte gMonFootprint_Totodile
- .4byte gMonFootprint_Croconaw
- .4byte gMonFootprint_Feraligatr
- .4byte gMonFootprint_Sentret
- .4byte gMonFootprint_Furret
- .4byte gMonFootprint_Hoothoot
- .4byte gMonFootprint_Noctowl
- .4byte gMonFootprint_Ledyba
- .4byte gMonFootprint_Ledian
- .4byte gMonFootprint_Spinarak
- .4byte gMonFootprint_Ariados
- .4byte gMonFootprint_Crobat
- .4byte gMonFootprint_Chinchou
- .4byte gMonFootprint_Lanturn
- .4byte gMonFootprint_Pichu
- .4byte gMonFootprint_Cleffa
- .4byte gMonFootprint_Igglybuff
- .4byte gMonFootprint_Togepi
- .4byte gMonFootprint_Togetic
- .4byte gMonFootprint_Natu
- .4byte gMonFootprint_Xatu
- .4byte gMonFootprint_Mareep
- .4byte gMonFootprint_Flaaffy
- .4byte gMonFootprint_Ampharos
- .4byte gMonFootprint_Bellossom
- .4byte gMonFootprint_Marill
- .4byte gMonFootprint_Azumarill
- .4byte gMonFootprint_Sudowoodo
- .4byte gMonFootprint_Politoed
- .4byte gMonFootprint_Hoppip
- .4byte gMonFootprint_Skiploom
- .4byte gMonFootprint_Jumpluff
- .4byte gMonFootprint_Aipom
- .4byte gMonFootprint_Sunkern
- .4byte gMonFootprint_Sunflora
- .4byte gMonFootprint_Yanma
- .4byte gMonFootprint_Wooper
- .4byte gMonFootprint_Quagsire
- .4byte gMonFootprint_Espeon
- .4byte gMonFootprint_Umbreon
- .4byte gMonFootprint_Murkrow
- .4byte gMonFootprint_Slowking
- .4byte gMonFootprint_Misdreavus
- .4byte gMonFootprint_Unown
- .4byte gMonFootprint_Wobbuffet
- .4byte gMonFootprint_Girafarig
- .4byte gMonFootprint_Pineco
- .4byte gMonFootprint_Forretress
- .4byte gMonFootprint_Dunsparce
- .4byte gMonFootprint_Gligar
- .4byte gMonFootprint_Steelix
- .4byte gMonFootprint_Snubbull
- .4byte gMonFootprint_Granbull
- .4byte gMonFootprint_Qwilfish
- .4byte gMonFootprint_Scizor
- .4byte gMonFootprint_Shuckle
- .4byte gMonFootprint_Heracross
- .4byte gMonFootprint_Sneasel
- .4byte gMonFootprint_Teddiursa
- .4byte gMonFootprint_Ursaring
- .4byte gMonFootprint_Slugma
- .4byte gMonFootprint_Magcargo
- .4byte gMonFootprint_Swinub
- .4byte gMonFootprint_Piloswine
- .4byte gMonFootprint_Corsola
- .4byte gMonFootprint_Remoraid
- .4byte gMonFootprint_Octillery
- .4byte gMonFootprint_Delibird
- .4byte gMonFootprint_Mantine
- .4byte gMonFootprint_Skarmory
- .4byte gMonFootprint_Houndour
- .4byte gMonFootprint_Houndoom
- .4byte gMonFootprint_Kingdra
- .4byte gMonFootprint_Phanpy
- .4byte gMonFootprint_Donphan
- .4byte gMonFootprint_Porygon2
- .4byte gMonFootprint_Stantler
- .4byte gMonFootprint_Smeargle
- .4byte gMonFootprint_Tyrogue
- .4byte gMonFootprint_Hitmontop
- .4byte gMonFootprint_Smoochum
- .4byte gMonFootprint_Elekid
- .4byte gMonFootprint_Magby
- .4byte gMonFootprint_Miltank
- .4byte gMonFootprint_Blissey
- .4byte gMonFootprint_Raikou
- .4byte gMonFootprint_Entei
- .4byte gMonFootprint_Suicune
- .4byte gMonFootprint_Larvitar
- .4byte gMonFootprint_Pupitar
- .4byte gMonFootprint_Tyranitar
- .4byte gMonFootprint_Lugia
- .4byte gMonFootprint_HoOh
- .4byte gMonFootprint_Celebi
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_Treecko
- .4byte gMonFootprint_Grovyle
- .4byte gMonFootprint_Sceptile
- .4byte gMonFootprint_Torchic
- .4byte gMonFootprint_Combusken
- .4byte gMonFootprint_Blaziken
- .4byte gMonFootprint_Mudkip
- .4byte gMonFootprint_Marshtomp
- .4byte gMonFootprint_Swampert
- .4byte gMonFootprint_Poochyena
- .4byte gMonFootprint_Mightyena
- .4byte gMonFootprint_Zigzagoon
- .4byte gMonFootprint_Linoone
- .4byte gMonFootprint_Wurmple
- .4byte gMonFootprint_Silcoon
- .4byte gMonFootprint_Beautifly
- .4byte gMonFootprint_Cascoon
- .4byte gMonFootprint_Dustox
- .4byte gMonFootprint_Lotad
- .4byte gMonFootprint_Lombre
- .4byte gMonFootprint_Ludicolo
- .4byte gMonFootprint_Seedot
- .4byte gMonFootprint_Nuzleaf
- .4byte gMonFootprint_Shiftry
- .4byte gMonFootprint_Nincada
- .4byte gMonFootprint_Ninjask
- .4byte gMonFootprint_Shedinja
- .4byte gMonFootprint_Taillow
- .4byte gMonFootprint_Swellow
- .4byte gMonFootprint_Shroomish
- .4byte gMonFootprint_Breloom
- .4byte gMonFootprint_Spinda
- .4byte gMonFootprint_Wingull
- .4byte gMonFootprint_Pelipper
- .4byte gMonFootprint_Surskit
- .4byte gMonFootprint_Masquerain
- .4byte gMonFootprint_Wailmer
- .4byte gMonFootprint_Wailord
- .4byte gMonFootprint_Skitty
- .4byte gMonFootprint_Delcatty
- .4byte gMonFootprint_Kecleon
- .4byte gMonFootprint_Baltoy
- .4byte gMonFootprint_Claydol
- .4byte gMonFootprint_Nosepass
- .4byte gMonFootprint_Torkoal
- .4byte gMonFootprint_Sableye
- .4byte gMonFootprint_Barboach
- .4byte gMonFootprint_Whiscash
- .4byte gMonFootprint_Luvdisc
- .4byte gMonFootprint_Corphish
- .4byte gMonFootprint_Crawdaunt
- .4byte gMonFootprint_Feebas
- .4byte gMonFootprint_Milotic
- .4byte gMonFootprint_Carvanha
- .4byte gMonFootprint_Sharpedo
- .4byte gMonFootprint_Trapinch
- .4byte gMonFootprint_Vibrava
- .4byte gMonFootprint_Flygon
- .4byte gMonFootprint_Makuhita
- .4byte gMonFootprint_Hariyama
- .4byte gMonFootprint_Electrike
- .4byte gMonFootprint_Manectric
- .4byte gMonFootprint_Numel
- .4byte gMonFootprint_Camerupt
- .4byte gMonFootprint_Spheal
- .4byte gMonFootprint_Sealeo
- .4byte gMonFootprint_Walrein
- .4byte gMonFootprint_Cacnea
- .4byte gMonFootprint_Cacturne
- .4byte gMonFootprint_Snorunt
- .4byte gMonFootprint_Glalie
- .4byte gMonFootprint_Lunatone
- .4byte gMonFootprint_Solrock
- .4byte gMonFootprint_Azurill
- .4byte gMonFootprint_Spoink
- .4byte gMonFootprint_Grumpig
- .4byte gMonFootprint_Plusle
- .4byte gMonFootprint_Minun
- .4byte gMonFootprint_Mawile
- .4byte gMonFootprint_Meditite
- .4byte gMonFootprint_Medicham
- .4byte gMonFootprint_Swablu
- .4byte gMonFootprint_Altaria
- .4byte gMonFootprint_Wynaut
- .4byte gMonFootprint_Duskull
- .4byte gMonFootprint_Dusclops
- .4byte gMonFootprint_Roselia
- .4byte gMonFootprint_Slakoth
- .4byte gMonFootprint_Vigoroth
- .4byte gMonFootprint_Slaking
- .4byte gMonFootprint_Gulpin
- .4byte gMonFootprint_Swalot
- .4byte gMonFootprint_Tropius
- .4byte gMonFootprint_Whismur
- .4byte gMonFootprint_Loudred
- .4byte gMonFootprint_Exploud
- .4byte gMonFootprint_Clamperl
- .4byte gMonFootprint_Huntail
- .4byte gMonFootprint_Gorebyss
- .4byte gMonFootprint_Absol
- .4byte gMonFootprint_Shuppet
- .4byte gMonFootprint_Banette
- .4byte gMonFootprint_Seviper
- .4byte gMonFootprint_Zangoose
- .4byte gMonFootprint_Relicanth
- .4byte gMonFootprint_Aron
- .4byte gMonFootprint_Lairon
- .4byte gMonFootprint_Aggron
- .4byte gMonFootprint_Castform
- .4byte gMonFootprint_Volbeat
- .4byte gMonFootprint_Illumise
- .4byte gMonFootprint_Lileep
- .4byte gMonFootprint_Cradily
- .4byte gMonFootprint_Anorith
- .4byte gMonFootprint_Armaldo
- .4byte gMonFootprint_Ralts
- .4byte gMonFootprint_Kirlia
- .4byte gMonFootprint_Gardevoir
- .4byte gMonFootprint_Bagon
- .4byte gMonFootprint_Shelgon
- .4byte gMonFootprint_Salamence
- .4byte gMonFootprint_Beldum
- .4byte gMonFootprint_Metang
- .4byte gMonFootprint_Metagross
- .4byte gMonFootprint_Regirock
- .4byte gMonFootprint_Regice
- .4byte gMonFootprint_Registeel
- .4byte gMonFootprint_Kyogre
- .4byte gMonFootprint_Groudon
- .4byte gMonFootprint_Rayquaza
- .4byte gMonFootprint_Latias
- .4byte gMonFootprint_Latios
- .4byte gMonFootprint_Jirachi
- .4byte gMonFootprint_Deoxys
- .4byte gMonFootprint_Chimecho
- .4byte gMonFootprint_Bulbasaur
diff --git a/data/maps/AbandonedShip_CaptainsOffice/events.inc b/data/maps/AbandonedShip_CaptainsOffice/events.inc
index dfe6d84e0..b59eb456a 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/events.inc
+++ b/data/maps/AbandonedShip_CaptainsOffice/events.inc
@@ -1,6 +1,6 @@
AbandonedShip_CaptainsOffice_EventObjects: @ 8536A5C
object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AbandonedShip_CaptainsOffice_EventScript_2387E2, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_CaptainsOffice_EventScript_29126E, 1100
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_CaptainsOffice_EventScript_29126E, FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY
AbandonedShip_CaptainsOffice_MapWarps: @ 8536A8C
warp_def 7, 6, 3, 4, MAP_ABANDONED_SHIP_DECK
diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
index 5b3941dd2..0cec9f04e 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
+++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
@@ -4,24 +4,24 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1
AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2
lock
faceplayer
- checkflag FLAG_0x126
+ checkflag FLAG_TRADED_SCANNER_TO_STERN
goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A
checkitem ITEM_SCANNER, 1
compare VAR_RESULT, 1
goto_eq AbandonedShip_CaptainsOffice_EventScript_238810
- checkflag FLAG_0x436
+ checkflag FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER
goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A
- msgbox AbandonedShip_CaptainsOffice_Text_238824, 4
+ msgbox AbandonedShip_CaptainsOffice_Text_238824, MSGBOX_DEFAULT
release
end
AbandonedShip_CaptainsOffice_EventScript_238810:: @ 8238810
- msgbox AbandonedShip_CaptainsOffice_Text_23889D, 4
+ msgbox AbandonedShip_CaptainsOffice_Text_23889D, MSGBOX_DEFAULT
release
end
AbandonedShip_CaptainsOffice_EventScript_23881A:: @ 823881A
- msgbox AbandonedShip_CaptainsOffice_Text_238918, 4
+ msgbox AbandonedShip_CaptainsOffice_Text_238918, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AbandonedShip_Corridors_1F/scripts.inc b/data/maps/AbandonedShip_Corridors_1F/scripts.inc
index 39c7861a1..348e3f6fd 100644
--- a/data/maps/AbandonedShip_Corridors_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Corridors_1F/scripts.inc
@@ -2,12 +2,12 @@ AbandonedShip_Corridors_1F_MapScripts:: @ 82379A4
.byte 0
AbandonedShip_Corridors_1F_EventScript_2379A5:: @ 82379A5
- msgbox AbandonedShip_Corridors_1F_Text_237A60, 2
+ msgbox AbandonedShip_Corridors_1F_Text_237A60, MSGBOX_NPC
end
AbandonedShip_Corridors_1F_EventScript_2379AE:: @ 82379AE
- trainerbattle 0, TRAINER_CHARLIE, 0, AbandonedShip_Corridors_1F_Text_2379C5, AbandonedShip_Corridors_1F_Text_237A01
- msgbox AbandonedShip_Corridors_1F_Text_237A1B, 6
+ trainerbattle_single TRAINER_CHARLIE, AbandonedShip_Corridors_1F_Text_2379C5, AbandonedShip_Corridors_1F_Text_237A01
+ msgbox AbandonedShip_Corridors_1F_Text_237A1B, MSGBOX_AUTOCLOSE
end
AbandonedShip_Corridors_1F_Text_2379C5: @ 82379C5
@@ -24,4 +24,3 @@ AbandonedShip_Corridors_1F_Text_237A1B: @ 8237A1B
AbandonedShip_Corridors_1F_Text_237A60: @ 8237A60
.string "Isn’t it fun here?\n"
.string "I get excited just being here!$"
-
diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
index f19dfe322..9cf3ca04a 100644
--- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
@@ -23,7 +23,7 @@ AbandonedShip_Corridors_B1F_EventScript_237DB5:: @ 8237DB5
return
AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF
- msgbox AbandonedShip_Corridors_B1F_Text_237F03, 2
+ msgbox AbandonedShip_Corridors_B1F_Text_237F03, MSGBOX_NPC
end
AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8
@@ -33,7 +33,7 @@ AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8
checkitem ITEM_STORAGE_KEY, 1
compare VAR_RESULT, 0
goto_eq AbandonedShip_Corridors_B1F_EventScript_237DFF
- msgbox AbandonedShip_Corridors_B1F_Text_237F4B, 4
+ msgbox AbandonedShip_Corridors_B1F_Text_237F4B, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_STORAGE_KEY, 1
setflag FLAG_0x0EF
@@ -43,18 +43,18 @@ AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8
end
AbandonedShip_Corridors_B1F_EventScript_237DFF:: @ 8237DFF
- msgbox AbandonedShip_Corridors_B1F_Text_237F15, 4
+ msgbox AbandonedShip_Corridors_B1F_Text_237F15, MSGBOX_DEFAULT
releaseall
end
AbandonedShip_Corridors_B1F_EventScript_237E09:: @ 8237E09
- msgbox AbandonedShip_Corridors_B1F_Text_237FA5, 4
+ msgbox AbandonedShip_Corridors_B1F_Text_237FA5, MSGBOX_DEFAULT
releaseall
end
AbandonedShip_Corridors_B1F_EventScript_237E13:: @ 8237E13
- trainerbattle 0, TRAINER_DUNCAN, 0, AbandonedShip_Corridors_B1F_Text_237E2A, AbandonedShip_Corridors_B1F_Text_237E80
- msgbox AbandonedShip_Corridors_B1F_Text_237E92, 6
+ trainerbattle_single TRAINER_DUNCAN, AbandonedShip_Corridors_B1F_Text_237E2A, AbandonedShip_Corridors_B1F_Text_237E80
+ msgbox AbandonedShip_Corridors_B1F_Text_237E92, MSGBOX_AUTOCLOSE
end
AbandonedShip_Corridors_B1F_Text_237E2A: @ 8237E2A
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
index 2cd278f91..e3c3ced5c 100644
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
@@ -65,7 +65,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19
checkitem ITEM_ROOM_1_KEY, 1
compare VAR_RESULT, 0
goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_1_KEY, 1
setflag FLAG_0x0F0
@@ -81,7 +81,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50
checkitem ITEM_ROOM_2_KEY, 1
compare VAR_RESULT, 0
goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_2_KEY, 1
setflag FLAG_0x0F1
@@ -97,7 +97,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87
checkitem ITEM_ROOM_4_KEY, 1
compare VAR_RESULT, 0
goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_4_KEY, 1
setflag FLAG_0x0F2
@@ -113,7 +113,7 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE
checkitem ITEM_ROOM_6_KEY, 1
compare VAR_RESULT, 0
goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_6_KEY, 1
setflag FLAG_0x0F3
@@ -123,27 +123,27 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE
end
AbandonedShip_HiddenFloorCorridors_EventScript_238AF5:: @ 8238AF5
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238B27, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238B27, MSGBOX_DEFAULT
releaseall
end
AbandonedShip_HiddenFloorCorridors_EventScript_238AFF:: @ 8238AFF
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238B5B, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238B5B, MSGBOX_DEFAULT
releaseall
end
AbandonedShip_HiddenFloorCorridors_EventScript_238B09:: @ 8238B09
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238B8F, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238B8F, MSGBOX_DEFAULT
releaseall
end
AbandonedShip_HiddenFloorCorridors_EventScript_238B13:: @ 8238B13
- msgbox AbandonedShip_HiddenFloorCorridors_Text_238BC3, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BC3, MSGBOX_DEFAULT
releaseall
end
AbandonedShip_HiddenFloorCorridors_EventScript_238B1D:: @ 8238B1D
- msgbox AbandonedShip_HiddenFloorCorridors_Text_237FA5, 4
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_237FA5, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/events.inc b/data/maps/AbandonedShip_HiddenFloorRooms/events.inc
index 07dd3558b..b2cf9b11b 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/events.inc
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/events.inc
@@ -1,8 +1,8 @@
AbandonedShip_HiddenFloorRooms_EventObjects: @ 8536B40
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 41, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_29127B, 1077
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291288, 1078
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_2912A2, 1102
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291295, 1101
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 41, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_29127B, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291288, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_2912A2, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291295, FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE
AbandonedShip_HiddenFloorRooms_MapWarps: @ 8536BA0
warp_def 6, 14, 3, 0, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
@@ -16,10 +16,10 @@ AbandonedShip_HiddenFloorRooms_MapWarps: @ 8536BA0
warp_def 36, 1, 3, 5, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
AbandonedShip_HiddenFloorRooms_MapBGEvents: @ 8536BE8
- bg_hidden_item_event 42, 10, 3, ITEM_ROOM_1_KEY, 31
- bg_hidden_item_event 20, 5, 3, ITEM_ROOM_2_KEY, 32
- bg_hidden_item_event 1, 12, 3, ITEM_ROOM_4_KEY, 33
- bg_hidden_item_event 1, 2, 0, ITEM_ROOM_6_KEY, 34
+ bg_hidden_item_event 42, 10, 3, ITEM_ROOM_1_KEY, FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY
+ bg_hidden_item_event 20, 5, 3, ITEM_ROOM_2_KEY, FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY
+ bg_hidden_item_event 1, 12, 3, ITEM_ROOM_4_KEY, FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY
+ bg_hidden_item_event 1, 2, 0, ITEM_ROOM_6_KEY, FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY
bg_event 8, 5, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
bg_event 11, 3, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
bg_event 10, 10, 3, BG_EVENT_PLAYER_FACING_ANY, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
index 628c9cece..2cc0806ec 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
@@ -138,7 +138,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3
AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3
lockall
- msgbox AbandonedShip_HiddenFloorRooms_Text_238DFE, 4
+ msgbox AbandonedShip_HiddenFloorRooms_Text_238DFE, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/AbandonedShip_Room_B1F/events.inc b/data/maps/AbandonedShip_Room_B1F/events.inc
index f3a1d3327..bd882d6d8 100644
--- a/data/maps/AbandonedShip_Room_B1F/events.inc
+++ b/data/maps/AbandonedShip_Room_B1F/events.inc
@@ -1,5 +1,5 @@
AbandonedShip_Room_B1F_EventObjects: @ 853697C
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Room_B1F_EventScript_291254, 1098
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Room_B1F_EventScript_291254, FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13
AbandonedShip_Room_B1F_MapWarps: @ 8536994
warp_def 4, 7, 3, 5, MAP_ABANDONED_SHIP_CORRIDORS_B1F
diff --git a/data/maps/AbandonedShip_Rooms2_1F/events.inc b/data/maps/AbandonedShip_Rooms2_1F/events.inc
index 34fdb9fd7..6e4b9b280 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/events.inc
+++ b/data/maps/AbandonedShip_Rooms2_1F/events.inc
@@ -1,7 +1,7 @@
AbandonedShip_Rooms2_1F_EventObjects: @ 85369B8
object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 7, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, AbandonedShip_Rooms2_1F_EventScript_2380A7, 0
object_event 2, EVENT_OBJ_GFX_WOMAN_4, 0, 6, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, AbandonedShip_Rooms2_1F_EventScript_23810B, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_1F_EventScript_291261, 1099
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_1F_EventScript_291261, FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE
object_event 4, EVENT_OBJ_GFX_HIKER, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, AbandonedShip_Rooms2_1F_EventScript_238186, 0
object_event 5, EVENT_OBJ_GFX_TUBER_F, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, AbandonedShip_Rooms2_1F_EventScript_23816F, 0
diff --git a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
index 2ffe3afc7..981b62c36 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
@@ -2,59 +2,53 @@ AbandonedShip_Rooms2_1F_MapScripts:: @ 82380A6
.byte 0
AbandonedShip_Rooms2_1F_EventScript_2380A7:: @ 82380A7
- trainerbattle 6, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_23819D, AbandonedShip_Rooms2_1F_Text_2381DA, AbandonedShip_Rooms2_1F_Text_238257, AbandonedShip_Rooms2_1F_EventScript_2380D7
+ 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
- msgbox AbandonedShip_Rooms2_1F_Text_23820F, 4
+ msgbox AbandonedShip_Rooms2_1F_Text_23820F, MSGBOX_DEFAULT
release
end
AbandonedShip_Rooms2_1F_EventScript_2380D7:: @ 82380D7
- msgbox AbandonedShip_Rooms2_1F_Text_2383BB, 4
- setvar VAR_0x8004, 642
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 642
- callstd 8
+ msgbox AbandonedShip_Rooms2_1F_Text_2383BB, MSGBOX_DEFAULT
+ register_matchcall TRAINER_KIRA_AND_DAN_1
release
end
AbandonedShip_Rooms2_1F_EventScript_2380F0:: @ 82380F0
- trainerbattle 7, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_2383FF, AbandonedShip_Rooms2_1F_Text_238473, AbandonedShip_Rooms2_1F_Text_238509
- msgbox AbandonedShip_Rooms2_1F_Text_238491, 6
+ trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_2383FF, AbandonedShip_Rooms2_1F_Text_238473, AbandonedShip_Rooms2_1F_Text_238509
+ msgbox AbandonedShip_Rooms2_1F_Text_238491, MSGBOX_AUTOCLOSE
end
AbandonedShip_Rooms2_1F_EventScript_23810B:: @ 823810B
- trainerbattle 6, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_2382A4, AbandonedShip_Rooms2_1F_Text_2382F4, AbandonedShip_Rooms2_1F_Text_23836F, AbandonedShip_Rooms2_1F_EventScript_23813B
+ 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
- msgbox AbandonedShip_Rooms2_1F_Text_23830A, 4
+ msgbox AbandonedShip_Rooms2_1F_Text_23830A, MSGBOX_DEFAULT
release
end
AbandonedShip_Rooms2_1F_EventScript_23813B:: @ 823813B
- msgbox AbandonedShip_Rooms2_1F_Text_2383BB, 4
- setvar VAR_0x8004, 642
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 642
- callstd 8
+ msgbox AbandonedShip_Rooms2_1F_Text_2383BB, MSGBOX_DEFAULT
+ register_matchcall TRAINER_KIRA_AND_DAN_1
release
end
AbandonedShip_Rooms2_1F_EventScript_238154:: @ 8238154
- trainerbattle 7, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_238556, AbandonedShip_Rooms2_1F_Text_2385F2, AbandonedShip_Rooms2_1F_Text_238668
- msgbox AbandonedShip_Rooms2_1F_Text_23860B, 6
+ trainerbattle_rematch_double TRAINER_KIRA_AND_DAN_1, AbandonedShip_Rooms2_1F_Text_238556, AbandonedShip_Rooms2_1F_Text_2385F2, AbandonedShip_Rooms2_1F_Text_238668
+ msgbox AbandonedShip_Rooms2_1F_Text_23860B, MSGBOX_AUTOCLOSE
end
AbandonedShip_Rooms2_1F_EventScript_23816F:: @ 823816F
- trainerbattle 0, TRAINER_JANI, 0, AbandonedShip_Rooms2_1F_Text_2386B4, AbandonedShip_Rooms2_1F_Text_2386E8
- msgbox AbandonedShip_Rooms2_1F_Text_238708, 6
+ trainerbattle_single TRAINER_JANI, AbandonedShip_Rooms2_1F_Text_2386B4, AbandonedShip_Rooms2_1F_Text_2386E8
+ msgbox AbandonedShip_Rooms2_1F_Text_238708, MSGBOX_AUTOCLOSE
end
AbandonedShip_Rooms2_1F_EventScript_238186:: @ 8238186
- trainerbattle 0, TRAINER_GARRISON, 0, AbandonedShip_Rooms2_1F_Text_23873F, AbandonedShip_Rooms2_1F_Text_238779
- msgbox AbandonedShip_Rooms2_1F_Text_2387A9, 6
+ trainerbattle_single TRAINER_GARRISON, AbandonedShip_Rooms2_1F_Text_23873F, AbandonedShip_Rooms2_1F_Text_238779
+ msgbox AbandonedShip_Rooms2_1F_Text_2387A9, MSGBOX_AUTOCLOSE
end
AbandonedShip_Rooms2_1F_Text_23819D: @ 823819D
@@ -155,4 +149,3 @@ AbandonedShip_Rooms2_1F_Text_238779: @ 8238779
AbandonedShip_Rooms2_1F_Text_2387A9: @ 82387A9
.string "In a cabin somewhere on board,\n"
.string "I saw something sparkle.$"
-
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/events.inc b/data/maps/AbandonedShip_Rooms2_B1F/events.inc
index 05d48a618..3bb29619a 100644
--- a/data/maps/AbandonedShip_Rooms2_B1F/events.inc
+++ b/data/maps/AbandonedShip_Rooms2_B1F/events.inc
@@ -1,6 +1,6 @@
AbandonedShip_Rooms2_B1F_EventObjects: @ 85368F4
object_event 1, EVENT_OBJ_GFX_CAMPER, 0, 3, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_238025, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_291247, 1097
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_291247, FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL
AbandonedShip_Rooms2_B1F_MapWarps: @ 8536924
warp_def 4, 7, 3, 1, MAP_ABANDONED_SHIP_CORRIDORS_B1F
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc
index 00b3d0fb9..0a3671f04 100644
--- a/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms2_B1F/scripts.inc
@@ -2,7 +2,7 @@ AbandonedShip_Rooms2_B1F_MapScripts:: @ 8238024
.byte 0
AbandonedShip_Rooms2_B1F_EventScript_238025:: @ 8238025
- msgbox AbandonedShip_Rooms2_B1F_Text_23802E, 2
+ msgbox AbandonedShip_Rooms2_B1F_Text_23802E, MSGBOX_NPC
end
AbandonedShip_Rooms2_B1F_Text_23802E: @ 823802E
diff --git a/data/maps/AbandonedShip_Rooms_1F/events.inc b/data/maps/AbandonedShip_Rooms_1F/events.inc
index 3b6fc136e..f0322558b 100644
--- a/data/maps/AbandonedShip_Rooms_1F/events.inc
+++ b/data/maps/AbandonedShip_Rooms_1F/events.inc
@@ -1,6 +1,6 @@
AbandonedShip_Rooms_1F_EventObjects: @ 8536764
object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 12, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_1F_EventScript_237A93, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_1F_EventScript_29122D, 1095
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_1F_EventScript_29122D, FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL
object_event 3, EVENT_OBJ_GFX_BEAUTY, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, AbandonedShip_Rooms_1F_EventScript_237AB3, 0
object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 10, 16, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 4, AbandonedShip_Rooms_1F_EventScript_237A9C, 0
diff --git a/data/maps/AbandonedShip_Rooms_1F/scripts.inc b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
index 2a6bc36b6..055cf140b 100644
--- a/data/maps/AbandonedShip_Rooms_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
@@ -2,37 +2,34 @@ AbandonedShip_Rooms_1F_MapScripts:: @ 8237A92
.byte 0
AbandonedShip_Rooms_1F_EventScript_237A93:: @ 8237A93
- msgbox AbandonedShip_Rooms_1F_Text_237B15, 2
+ msgbox AbandonedShip_Rooms_1F_Text_237B15, MSGBOX_NPC
end
AbandonedShip_Rooms_1F_EventScript_237A9C:: @ 8237A9C
- trainerbattle 0, TRAINER_DEMETRIUS, 0, AbandonedShip_Rooms_1F_Text_237D0C, AbandonedShip_Rooms_1F_Text_237D2A
- msgbox AbandonedShip_Rooms_1F_Text_237D41, 6
+ trainerbattle_single TRAINER_DEMETRIUS, AbandonedShip_Rooms_1F_Text_237D0C, AbandonedShip_Rooms_1F_Text_237D2A
+ msgbox AbandonedShip_Rooms_1F_Text_237D41, MSGBOX_AUTOCLOSE
end
AbandonedShip_Rooms_1F_EventScript_237AB3:: @ 8237AB3
- trainerbattle 2, TRAINER_THALIA_1, 0, AbandonedShip_Rooms_1F_Text_237B76, AbandonedShip_Rooms_1F_Text_237BB8, AbandonedShip_Rooms_1F_EventScript_237ADF
+ 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
- msgbox AbandonedShip_Rooms_1F_Text_237BDB, 4
+ msgbox AbandonedShip_Rooms_1F_Text_237BDB, MSGBOX_DEFAULT
release
end
AbandonedShip_Rooms_1F_EventScript_237ADF:: @ 8237ADF
special sub_80B4808
waitmovement 0
- msgbox AbandonedShip_Rooms_1F_Text_237C2A, 4
- setvar VAR_0x8004, 144
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 144
- callstd 8
+ msgbox AbandonedShip_Rooms_1F_Text_237C2A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_THALIA_1
release
end
AbandonedShip_Rooms_1F_EventScript_237AFE:: @ 8237AFE
- trainerbattle 5, TRAINER_THALIA_1, 0, AbandonedShip_Rooms_1F_Text_237C69, AbandonedShip_Rooms_1F_Text_237CB2
- msgbox AbandonedShip_Rooms_1F_Text_237CC9, 6
+ trainerbattle_rematch TRAINER_THALIA_1, AbandonedShip_Rooms_1F_Text_237C69, AbandonedShip_Rooms_1F_Text_237CB2
+ msgbox AbandonedShip_Rooms_1F_Text_237CC9, MSGBOX_AUTOCLOSE
end
AbandonedShip_Rooms_1F_Text_237B15: @ 8237B15
diff --git a/data/maps/AbandonedShip_Rooms_B1F/events.inc b/data/maps/AbandonedShip_Rooms_B1F/events.inc
index 97a8aa246..4af246e5c 100644
--- a/data/maps/AbandonedShip_Rooms_B1F/events.inc
+++ b/data/maps/AbandonedShip_Rooms_B1F/events.inc
@@ -1,6 +1,6 @@
AbandonedShip_Rooms_B1F_EventObjects: @ 8536898
object_event 1, EVENT_OBJ_GFX_FAT_MAN, 0, 25, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, AbandonedShip_Rooms_B1F_EventScript_237FC6, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_B1F_EventScript_29123A, 1096
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AbandonedShip_Rooms_B1F_EventScript_29123A, FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE
AbandonedShip_Rooms_B1F_MapWarps: @ 85368C8
warp_def 4, 1, 3, 2, MAP_ABANDONED_SHIP_CORRIDORS_B1F
diff --git a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
index d4a5c9233..d2937cd2d 100644
--- a/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_B1F/scripts.inc
@@ -7,7 +7,7 @@ AbandonedShip_Rooms_B1F_MapScript1_237FBD: @ 8237FBD
end
AbandonedShip_Rooms_B1F_EventScript_237FC6:: @ 8237FC6
- msgbox AbandonedShip_Rooms_B1F_Text_237FCF, 2
+ msgbox AbandonedShip_Rooms_B1F_Text_237FCF, MSGBOX_NPC
end
AbandonedShip_Rooms_B1F_Text_237FCF: @ 8237FCF
diff --git a/data/maps/AncientTomb/events.inc b/data/maps/AncientTomb/events.inc
index 207744c30..3e784dea2 100644
--- a/data/maps/AncientTomb/events.inc
+++ b/data/maps/AncientTomb/events.inc
@@ -1,5 +1,5 @@
AncientTomb_EventObjects: @ 8536CDC
- object_event 1, EVENT_OBJ_GFX_REGISTEEL, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AncientTomb_EventScript_23905A, 937
+ object_event 1, EVENT_OBJ_GFX_REGISTEEL, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AncientTomb_EventScript_23905A, FLAG_HIDE_REGISTEEL
AncientTomb_MapWarps: @ 8536CF4
warp_def 8, 29, 3, 0, MAP_ROUTE120
diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc
index 9dbacfe8e..f3c42b690 100644
--- a/data/maps/AncientTomb/scripts.inc
+++ b/data/maps/AncientTomb/scripts.inc
@@ -23,7 +23,7 @@ AncientTomb_MapScript1_238FE1: @ 8238FE1
end
AncientTomb_EventScript_238FEE:: @ 8238FEE
- clearflag FLAG_0x3A9
+ clearflag FLAG_HIDE_REGISTEEL
return
AncientTomb_MapScript1_238FF2: @ 8238FF2
@@ -51,7 +51,7 @@ AncientTomb_EventScript_239033:: @ 8239033
end
AncientTomb_EventScript_239046:: @ 8239046
- msgbox gUnknown_0827304E, 4
+ msgbox gUnknown_0827304E, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/AquaHideout_1F/events.inc b/data/maps/AquaHideout_1F/events.inc
index ab7c49b30..6a4f0972f 100644
--- a/data/maps/AquaHideout_1F/events.inc
+++ b/data/maps/AquaHideout_1F/events.inc
@@ -1,7 +1,7 @@
AquaHideout_1F_EventObjects: @ 8535304
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AquaHideout_1F_EventScript_233494, 821
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 14, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AquaHideout_1F_EventScript_2334C6, 822
- object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 20, 4, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 13, 5, 1, 3, AquaHideout_1F_EventScript_2334F8, 924
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AquaHideout_1F_EventScript_233494, FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 14, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, AquaHideout_1F_EventScript_2334C6, FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE
+ object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 20, 4, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 13, 5, 1, 3, AquaHideout_1F_EventScript_2334F8, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
AquaHideout_1F_MapWarps: @ 853534C
warp_def 13, 27, 1, 6, MAP_LILYCOVE_CITY
diff --git a/data/maps/AquaHideout_1F/scripts.inc b/data/maps/AquaHideout_1F/scripts.inc
index 9172c3927..c23b511b4 100644
--- a/data/maps/AquaHideout_1F/scripts.inc
+++ b/data/maps/AquaHideout_1F/scripts.inc
@@ -8,17 +8,17 @@ AquaHideout_1F_EventScript_233494:: @ 8233494
goto_eq AquaHideout_1F_EventScript_2334BC
checkflag FLAG_0x0D4
goto_eq AquaHideout_1F_EventScript_2334B2
- msgbox AquaHideout_1F_Text_23351D, 4
+ msgbox AquaHideout_1F_Text_23351D, MSGBOX_DEFAULT
release
end
AquaHideout_1F_EventScript_2334B2:: @ 82334B2
- msgbox AquaHideout_1F_Text_2335E3, 4
+ msgbox AquaHideout_1F_Text_2335E3, MSGBOX_DEFAULT
release
end
AquaHideout_1F_EventScript_2334BC:: @ 82334BC
- msgbox AquaHideout_1F_Text_23367D, 4
+ msgbox AquaHideout_1F_Text_23367D, MSGBOX_DEFAULT
release
end
@@ -29,27 +29,27 @@ AquaHideout_1F_EventScript_2334C6:: @ 82334C6
goto_eq AquaHideout_1F_EventScript_2334EE
checkflag FLAG_0x0D4
goto_eq AquaHideout_1F_EventScript_2334E4
- msgbox AquaHideout_1F_Text_233739, 4
+ msgbox AquaHideout_1F_Text_233739, MSGBOX_DEFAULT
release
end
AquaHideout_1F_EventScript_2334E4:: @ 82334E4
- msgbox AquaHideout_1F_Text_2337FA, 4
+ msgbox AquaHideout_1F_Text_2337FA, MSGBOX_DEFAULT
release
end
AquaHideout_1F_EventScript_2334EE:: @ 82334EE
- msgbox AquaHideout_1F_Text_233884, 4
+ msgbox AquaHideout_1F_Text_233884, MSGBOX_DEFAULT
release
end
AquaHideout_1F_EventScript_2334F8:: @ 82334F8
- trainerbattle 2, TRAINER_GRUNT_1, 0, AquaHideout_1F_Text_23393D, AquaHideout_1F_Text_233964, AquaHideout_1F_EventScript_233513
- msgbox AquaHideout_1F_Text_233977, 6
+ trainerbattle_single TRAINER_GRUNT_1, AquaHideout_1F_Text_23393D, AquaHideout_1F_Text_233964, AquaHideout_1F_EventScript_233513
+ msgbox AquaHideout_1F_Text_233977, MSGBOX_AUTOCLOSE
end
AquaHideout_1F_EventScript_233513:: @ 8233513
- msgbox AquaHideout_1F_Text_233977, 4
+ msgbox AquaHideout_1F_Text_233977, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AquaHideout_B1F/events.inc b/data/maps/AquaHideout_B1F/events.inc
index bbada49f8..6dd83aebf 100644
--- a/data/maps/AquaHideout_B1F/events.inc
+++ b/data/maps/AquaHideout_B1F/events.inc
@@ -1,13 +1,13 @@
AquaHideout_B1F_EventObjects: @ 8535378
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 28, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 4, AquaHideout_B1F_EventScript_233A85, 924
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 5, AquaHideout_B1F_EventScript_233AB0, 924
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AquaHideout_B1F_EventScript_291372, 1071
- object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 20, 18, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 4, 0, 1, 4, AquaHideout_B1F_EventScript_233AD5, 924
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_291358, 1124
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_2339EB, 977
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_291365, 1132
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_233A38, 978
- object_event 9, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 28, 21, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, AquaHideout_B1F_EventScript_233AEC, 924
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 28, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 4, AquaHideout_B1F_EventScript_233A85, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 5, AquaHideout_B1F_EventScript_233AB0, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AquaHideout_B1F_EventScript_291372, FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR
+ object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 20, 18, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 4, 0, 1, 4, AquaHideout_B1F_EventScript_233AD5, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_291358, FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_2339EB, FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_291365, FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET
+ object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, AquaHideout_B1F_EventScript_233A38, FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2
+ object_event 9, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 28, 21, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, AquaHideout_B1F_EventScript_233AEC, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
AquaHideout_B1F_MapWarps: @ 8535450
warp_def 29, 1, 3, 2, MAP_AQUA_HIDEOUT_1F
diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc
index 12c25faac..2073dea29 100644
--- a/data/maps/AquaHideout_B1F/scripts.inc
+++ b/data/maps/AquaHideout_B1F/scripts.inc
@@ -23,11 +23,11 @@ AquaHideout_B1F_MapScript1_2339D0: @ 82339D0
end
AquaHideout_B1F_EventScript_2339E3:: @ 82339E3
- clearflag FLAG_0x3D1
+ clearflag FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1
return
AquaHideout_B1F_EventScript_2339E7:: @ 82339E7
- clearflag FLAG_0x3D2
+ clearflag FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2
return
AquaHideout_B1F_EventScript_2339EB:: @ 82339EB
@@ -85,35 +85,35 @@ AquaHideout_B1F_EventScript_233A7C:: @ 8233A7C
end
AquaHideout_B1F_EventScript_233A85:: @ 8233A85
- trainerbattle 2, TRAINER_GRUNT_2, 0, AquaHideout_B1F_Text_233B03, AquaHideout_B1F_Text_233B4A, AquaHideout_B1F_EventScript_233AA0
- msgbox AquaHideout_B1F_Text_233B5E, 6
+ trainerbattle_single TRAINER_GRUNT_2, AquaHideout_B1F_Text_233B03, AquaHideout_B1F_Text_233B4A, AquaHideout_B1F_EventScript_233AA0
+ msgbox AquaHideout_B1F_Text_233B5E, MSGBOX_AUTOCLOSE
end
AquaHideout_B1F_EventScript_233AA0:: @ 8233AA0
special sub_80B4808
waitmovement 0
- msgbox AquaHideout_B1F_Text_233B5E, 4
+ msgbox AquaHideout_B1F_Text_233B5E, MSGBOX_DEFAULT
release
end
AquaHideout_B1F_EventScript_233AB0:: @ 8233AB0
- trainerbattle 2, TRAINER_GRUNT_3, 0, AquaHideout_B1F_Text_233BC5, AquaHideout_B1F_Text_233C27, AquaHideout_B1F_EventScript_233ACB
- msgbox AquaHideout_B1F_Text_233C41, 6
+ trainerbattle_single TRAINER_GRUNT_3, AquaHideout_B1F_Text_233BC5, AquaHideout_B1F_Text_233C27, AquaHideout_B1F_EventScript_233ACB
+ msgbox AquaHideout_B1F_Text_233C41, MSGBOX_AUTOCLOSE
end
AquaHideout_B1F_EventScript_233ACB:: @ 8233ACB
- msgbox AquaHideout_B1F_Text_233C41, 4
+ msgbox AquaHideout_B1F_Text_233C41, MSGBOX_DEFAULT
release
end
AquaHideout_B1F_EventScript_233AD5:: @ 8233AD5
- trainerbattle 0, TRAINER_GRUNT_21, 0, AquaHideout_B1F_Text_233C89, AquaHideout_B1F_Text_233CCA
- msgbox AquaHideout_B1F_Text_233CDC, 6
+ trainerbattle_single TRAINER_GRUNT_21, AquaHideout_B1F_Text_233C89, AquaHideout_B1F_Text_233CCA
+ msgbox AquaHideout_B1F_Text_233CDC, MSGBOX_AUTOCLOSE
end
AquaHideout_B1F_EventScript_233AEC:: @ 8233AEC
- trainerbattle 0, TRAINER_GRUNT_25, 0, AquaHideout_B1F_Text_233D1B, AquaHideout_B1F_Text_233D6E
- msgbox AquaHideout_B1F_Text_233D84, 6
+ trainerbattle_single TRAINER_GRUNT_25, AquaHideout_B1F_Text_233D1B, AquaHideout_B1F_Text_233D6E
+ msgbox AquaHideout_B1F_Text_233D84, MSGBOX_AUTOCLOSE
end
AquaHideout_B1F_Text_233B03: @ 8233B03
diff --git a/data/maps/AquaHideout_B2F/events.inc b/data/maps/AquaHideout_B2F/events.inc
index 09846d401..552a95ad4 100644
--- a/data/maps/AquaHideout_B2F/events.inc
+++ b/data/maps/AquaHideout_B2F/events.inc
@@ -1,10 +1,10 @@
AquaHideout_B2F_EventObjects: @ 853552C
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 23, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, AquaHideout_B2F_EventScript_233E09, 924
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 23, 10, 3, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 4, 3, 1, 3, AquaHideout_B2F_EventScript_233E8A, 924
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AquaHideout_B2F_EventScript_29137F, 1072
- object_event 4, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 19, 20, 1, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 943
- object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 5, AquaHideout_B2F_EventScript_233EAF, 924
- object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 5, AquaHideout_B2F_EventScript_233EC6, 924
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 23, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, AquaHideout_B2F_EventScript_233E09, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 23, 10, 3, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 4, 3, 1, 3, AquaHideout_B2F_EventScript_233E8A, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, AquaHideout_B2F_EventScript_29137F, FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL
+ object_event 4, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 19, 20, 1, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_AQUA_HIDEOUT_B2F_SUBMARINE_SHADOW
+ object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 5, AquaHideout_B2F_EventScript_233EAF, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 5, AquaHideout_B2F_EventScript_233EC6, FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
AquaHideout_B2F_MapWarps: @ 85355BC
warp_def 18, 1, 3, 1, MAP_AQUA_HIDEOUT_B1F
diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc
index fd3868512..a2bd702e6 100644
--- a/data/maps/AquaHideout_B2F/scripts.inc
+++ b/data/maps/AquaHideout_B2F/scripts.inc
@@ -24,8 +24,8 @@ AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5
end
AquaHideout_B2F_EventScript_233E09:: @ 8233E09
- trainerbattle 2, TRAINER_MATT, 0, AquaHideout_B2F_Text_233EDD, AquaHideout_B2F_Text_233F8D, AquaHideout_B2F_EventScript_233E25
- msgbox AquaHideout_B2F_Text_233FF2, 4
+ trainerbattle_single TRAINER_MATT, AquaHideout_B2F_Text_233EDD, AquaHideout_B2F_Text_233F8D, AquaHideout_B2F_EventScript_233E25
+ msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT
release
end
@@ -37,7 +37,7 @@ AquaHideout_B2F_EventScript_233E25:: @ 8233E25
delay 20
applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E
waitmovement 0
- msgbox AquaHideout_B2F_Text_233FA6, 4
+ msgbox AquaHideout_B2F_Text_233FA6, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8008, AquaHideout_B2F_Movement_2725A4
applymovement VAR_0x8009, AquaHideout_B2F_Movement_233E80
@@ -46,9 +46,9 @@ AquaHideout_B2F_EventScript_233E25:: @ 8233E25
delay 20
applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E
waitmovement 0
- msgbox AquaHideout_B2F_Text_233FF2, 4
+ msgbox AquaHideout_B2F_Text_233FF2, MSGBOX_DEFAULT
setflag FLAG_0x070
- setflag FLAG_0x354
+ setflag FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
release
end
@@ -67,23 +67,23 @@ AquaHideout_B2F_Movement_233E85: @ 8233E85
step_end
AquaHideout_B2F_EventScript_233E8A:: @ 8233E8A
- trainerbattle 2, TRAINER_GRUNT_4, 0, AquaHideout_B2F_Text_2340B4, AquaHideout_B2F_Text_2340F0, AquaHideout_B2F_EventScript_233EA5
- msgbox AquaHideout_B2F_Text_234112, 6
+ trainerbattle_single TRAINER_GRUNT_4, AquaHideout_B2F_Text_2340B4, AquaHideout_B2F_Text_2340F0, AquaHideout_B2F_EventScript_233EA5
+ msgbox AquaHideout_B2F_Text_234112, MSGBOX_AUTOCLOSE
end
AquaHideout_B2F_EventScript_233EA5:: @ 8233EA5
- msgbox AquaHideout_B2F_Text_234112, 4
+ msgbox AquaHideout_B2F_Text_234112, MSGBOX_DEFAULT
release
end
AquaHideout_B2F_EventScript_233EAF:: @ 8233EAF
- trainerbattle 0, TRAINER_GRUNT_22, 0, AquaHideout_B2F_Text_23412D, AquaHideout_B2F_Text_2341CE
- msgbox AquaHideout_B2F_Text_2341FE, 6
+ trainerbattle_single TRAINER_GRUNT_22, AquaHideout_B2F_Text_23412D, AquaHideout_B2F_Text_2341CE
+ msgbox AquaHideout_B2F_Text_2341FE, MSGBOX_AUTOCLOSE
end
AquaHideout_B2F_EventScript_233EC6:: @ 8233EC6
- trainerbattle 0, TRAINER_GRUNT_26, 0, AquaHideout_B2F_Text_23426F, AquaHideout_B2F_Text_2342CC
- msgbox AquaHideout_B2F_Text_2342FF, 6
+ trainerbattle_single TRAINER_GRUNT_26, AquaHideout_B2F_Text_23426F, AquaHideout_B2F_Text_2342CC
+ msgbox AquaHideout_B2F_Text_2342FF, MSGBOX_AUTOCLOSE
end
AquaHideout_B2F_Text_233EDD: @ 8233EDD
diff --git a/data/maps/ArtisanCave_1F/events.inc b/data/maps/ArtisanCave_1F/events.inc
index 7f7405a55..30f920220 100644
--- a/data/maps/ArtisanCave_1F/events.inc
+++ b/data/maps/ArtisanCave_1F/events.inc
@@ -1,5 +1,5 @@
ArtisanCave_1F_EventObjects: @ 8537774
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ArtisanCave_1F_EventScript_2914D1, 1163
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ArtisanCave_1F_EventScript_2914D1, FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS
ArtisanCave_1F_MapWarps: @ 853778C
warp_def 10, 17, 0, 13, MAP_BATTLE_FRONTIER_OUTSIDE_EAST
diff --git a/data/maps/ArtisanCave_B1F/events.inc b/data/maps/ArtisanCave_B1F/events.inc
index 5b47d72a5..9df844aa3 100644
--- a/data/maps/ArtisanCave_B1F/events.inc
+++ b/data/maps/ArtisanCave_B1F/events.inc
@@ -1,15 +1,15 @@
ArtisanCave_B1F_EventObjects: @ 8537708
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 38, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ArtisanCave_B1F_EventScript_2914C4, 1162
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 38, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ArtisanCave_B1F_EventScript_2914C4, FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP
ArtisanCave_B1F_MapWarps: @ 8537720
warp_def 8, 48, 0, 10, MAP_BATTLE_FRONTIER_OUTSIDE_WEST
warp_def 38, 5, 0, 1, MAP_ARTISAN_CAVE_1F
ArtisanCave_B1F_MapBGEvents: @ 8537730
- bg_hidden_item_event 32, 29, 0, ITEM_ZINC, 102
- bg_hidden_item_event 27, 8, 0, ITEM_CALCIUM, 101
- bg_hidden_item_event 7, 5, 0, ITEM_PROTEIN, 103
- bg_hidden_item_event 19, 43, 0, ITEM_IRON, 104
+ bg_hidden_item_event 32, 29, 0, ITEM_ZINC, FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC
+ bg_hidden_item_event 27, 8, 0, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM
+ bg_hidden_item_event 7, 5, 0, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN
+ bg_hidden_item_event 19, 43, 0, ITEM_IRON, FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON
ArtisanCave_B1F_MapEvents:: @ 8537760
map_events ArtisanCave_B1F_EventObjects, ArtisanCave_B1F_MapWarps, 0x0, ArtisanCave_B1F_MapBGEvents
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
index 076eeab6e..60329d24f 100644
--- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
@@ -11,7 +11,7 @@ BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C
BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0
setvar VAR_0x8004, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
call BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE
end
@@ -42,7 +42,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
@@ -51,7 +51,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
@@ -64,7 +64,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5
waitmovement 0
@@ -73,8 +73,8 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
waitse
waitmovement 0
setvar VAR_0x8004, 6
- special sub_81A5238
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, 4
+ special CallBattleArenaFunction
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, MSGBOX_DEFAULT
closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
waitmovement 0
@@ -82,14 +82,14 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
waitmovement 0
setvar VAR_0x8004, 5
- special sub_8195960
- msgbox 0x2021fc4, 4
+ special CallBattlePalaceFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
switch VAR_RESULT
@@ -105,14 +105,14 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB:: @ 82575DB
waitse
waitmovement 0
setvar VAR_0x8004, 6
- special sub_81A5238
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, 4
+ special CallBattleArenaFunction
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
waitstate
@@ -120,12 +120,12 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE7
@@ -135,25 +135,25 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257870
compare VAR_RESULT, 2
@@ -199,7 +199,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0:: @ 82577D0
goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA:: @ 82577DA
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257E6B, 5
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257E6B, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25789A
@@ -227,7 +227,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257852:: @ 8257852
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
waitstate
@@ -266,18 +266,18 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 2
- special sub_81A5238
+ special CallBattleArenaFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC
compare VAR_TEMP_2, 1
goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4
@@ -311,7 +311,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE4
waitmovement 0
@@ -319,7 +319,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
playse SE_W187
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257FED, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257FED, MSGBOX_DEFAULT
closemessage
addobject 7
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF4
@@ -332,24 +332,24 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
case 4, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, MSGBOX_DEFAULT
closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258068, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258068, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C
@@ -358,42 +358,42 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F
BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleArenaBattleRoom_Text_25819C
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, MSGBOX_DEFAULT
closemessage
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582BB, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582BB, MSGBOX_DEFAULT
BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15
@@ -402,23 +402,23 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8
BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleArenaBattleRoom_Text_25835B
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E:: @ 8257B5E
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
return
@@ -429,17 +429,17 @@ FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
- setvar VAR_0x8004, 5
+ setvar VAR_0x8004, SPECIAL_BATTLE_ARENA
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, 18
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
setvar VAR_0x8004, 21
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9:: @ 8257BA9
@@ -451,7 +451,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9:: @ 8257BA9
playse SE_BAN
waitse
waitmovement 0
- msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, 4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA
return
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
index a353379c2..5ffb5de3d 100644
--- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
@@ -14,7 +14,7 @@ BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9
waitmovement 0
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444
waitmovement 0
- msgbox BattleFrontier_BattleArenaCorridor_Text_257449, 3
+ msgbox BattleFrontier_BattleArenaCorridor_Text_257449, MSGBOX_SIGN
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446
waitmovement 0
applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_25742C
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
index 9ef9a2812..406d9f37d 100644
--- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
@@ -22,25 +22,25 @@ BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55
BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
lockall
- msgbox BattleFrontier_BattleArenaLobby_Text_256811, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256811, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A5238
+ special CallBattleArenaFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A5238
+ special CallBattleArenaFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
releaseall
end
@@ -48,24 +48,24 @@ BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF
lockall
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0
- msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_255CF8
BattleFrontier_BattleArenaLobby_EventScript_255CF0:: @ 8255CF0
- msgbox BattleFrontier_BattleArenaLobby_Text_2572D9, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_2572D9, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8
- msgbox BattleFrontier_BattleArenaLobby_Text_257353, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_257353, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattleArenaLobby_Text_241520, 9
message BattleFrontier_BattleArenaLobby_Text_256931
waitmessage
call BattleFrontier_BattleArenaLobby_EventScript_255D59
- msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256A74, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -78,9 +78,9 @@ BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A5238
+ special CallBattleArenaFunction
call BattleFrontier_BattleArenaLobby_EventScript_255D59
- msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256A74, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -88,12 +88,12 @@ BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
- special sub_81A5238
+ special CallBattleArenaFunction
playse SE_SAVE
waitse
call BattleFrontier_BattleArenaLobby_EventScript_23E8E0
@@ -119,13 +119,13 @@ BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 1
- special sub_81A5238
+ special CallBattleArenaFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
goto BattleFrontier_BattleArenaLobby_EventScript_255F54
@@ -135,7 +135,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4
setvar VAR_FRONTIER_FACILITY, 3
setvar VAR_FRONTIER_BATTLE_MODE, 0
special SavePlayerParty
- msgbox BattleFrontier_BattleArenaLobby_Text_256166, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256166, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_255E0B:: @ 8255E0B
message BattleFrontier_BattleArenaLobby_Text_2561EA
@@ -155,14 +155,14 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB
case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleArenaLobby_Text_256573, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleArenaLobby_Text_256573, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleArenaLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -171,7 +171,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8
- msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, 5
+ msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8
case 1, BattleFrontier_BattleArenaLobby_EventScript_255EE8
@@ -181,21 +181,21 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
- special sub_81A5238
+ special CallBattleArenaFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
- special sub_81A5238
+ special CallBattleArenaFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -208,12 +208,12 @@ BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256005
compare VAR_RESULT, 1
@@ -224,7 +224,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
end
BattleFrontier_BattleArenaLobby_EventScript_255F9F:: @ 8255F9F
- msgbox BattleFrontier_BattleArenaLobby_Text_25624C, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_25624C, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_255E0B
BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC
@@ -233,25 +233,25 @@ BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC
case 1, BattleFrontier_BattleArenaLobby_EventScript_255FD4
BattleFrontier_BattleArenaLobby_EventScript_255FC7:: @ 8255FC7
- msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_256003
BattleFrontier_BattleArenaLobby_EventScript_255FD4:: @ 8255FD4
- msgbox BattleFrontier_BattleArenaLobby_Text_2565A5, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_2565A5, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_256003
BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleArenaLobby_EventScript_255FFB
BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8
special LoadPlayerParty
BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB
- msgbox BattleFrontier_BattleArenaLobby_Text_25621F, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_25621F, MSGBOX_DEFAULT
BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003
release
@@ -346,31 +346,31 @@ BattleFrontier_BattleArenaLobby_EventScript_256092:: @ 8256092
lockall
setvar VAR_0x8004, 7
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleArenaLobby_EventScript_2560A6:: @ 82560A6
- msgbox BattleFrontier_BattleArenaLobby_Text_256B5C, 2
+ msgbox BattleFrontier_BattleArenaLobby_Text_256B5C, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_2560AF:: @ 82560AF
- msgbox BattleFrontier_BattleArenaLobby_Text_256BCB, 2
+ msgbox BattleFrontier_BattleArenaLobby_Text_256BCB, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_2560B8:: @ 82560B8
- msgbox BattleFrontier_BattleArenaLobby_Text_256C19, 2
+ msgbox BattleFrontier_BattleArenaLobby_Text_256C19, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_2560C1:: @ 82560C1
- msgbox BattleFrontier_BattleArenaLobby_Text_256C9A, 2
+ msgbox BattleFrontier_BattleArenaLobby_Text_256C9A, MSGBOX_NPC
end
BattleFrontier_BattleArenaLobby_EventScript_2560CA:: @ 82560CA
lockall
- msgbox BattleFrontier_BattleArenaLobby_Text_256DB8, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256DB8, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
end
@@ -388,22 +388,22 @@ BattleFrontier_BattleArenaLobby_EventScript_2560D9:: @ 82560D9
end
BattleFrontier_BattleArenaLobby_EventScript_25612C:: @ 825612C
- msgbox BattleFrontier_BattleArenaLobby_Text_256E02, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256E02, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
end
BattleFrontier_BattleArenaLobby_EventScript_25613A:: @ 825613A
- msgbox BattleFrontier_BattleArenaLobby_Text_256F43, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256F43, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
end
BattleFrontier_BattleArenaLobby_EventScript_256148:: @ 8256148
- msgbox BattleFrontier_BattleArenaLobby_Text_256FF2, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_256FF2, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
end
BattleFrontier_BattleArenaLobby_EventScript_256156:: @ 8256156
- msgbox BattleFrontier_BattleArenaLobby_Text_257202, 4
+ msgbox BattleFrontier_BattleArenaLobby_Text_257202, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
end
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
index 3d5704dba..c8338d110 100644
--- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
@@ -10,7 +10,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1
special CallBattleDomeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C919
@@ -46,7 +46,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A
applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
waitmovement 0
call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, MSGBOX_DEFAULT
closemessage
showobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
compare VAR_TEMP_F, 3
@@ -73,7 +73,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61
BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
setvar VAR_0x8004, 4
special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, MSGBOX_DEFAULT
closemessage
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C789
@@ -81,7 +81,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
special sub_8161F74
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 5
special CallBattleDomeFunction
@@ -94,7 +94,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
setvar VAR_TEMP_2, 1
BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, MSGBOX_DEFAULT
closemessage
playse SE_W227B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
@@ -137,14 +137,14 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
@ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5
BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1
setvar VAR_0x8004, 20
setvar VAR_0x8005, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
message BattleFrontier_BattleDomeBattleRoom_Text_24C9E1
waitmessage
return
@@ -152,7 +152,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1
BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5:: @ 824BEC5
setvar VAR_0x8004, 20
setvar VAR_0x8005, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
message BattleFrontier_BattleDomeBattleRoom_Text_24CB34
waitmessage
return
@@ -179,12 +179,12 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
special CallBattleDomeFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
setvar VAR_0x8006, 1
@@ -196,14 +196,14 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62:: @ 824BF62
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E
BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96:: @ 824BF96
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA44, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA44, MSGBOX_DEFAULT
BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E
special sub_8175280
@@ -213,15 +213,15 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3:: @ 824BFC3
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C9BE, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C9BE, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CB9D, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CB9D, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5
@@ -340,11 +340,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C151:: @ 824C151
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C158:: @ 824C158
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEBE, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEBE, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C161:: @ 824C161
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D232, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D232, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A:: @ 824C16A
@@ -379,7 +379,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6:: @ 824C1B6
BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB
@@ -390,11 +390,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB
case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209
BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC:: @ 824C1FC
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEDE, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEDE, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C211
BattleFrontier_BattleDomeBattleRoom_EventScript_24C209:: @ 824C209
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D26C, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D26C, MSGBOX_DEFAULT
BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211
closemessage
@@ -428,83 +428,83 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211
case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, MSGBOX_DEFAULT
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
switch VAR_RESULT
case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, MSGBOX_DEFAULT
setvar VAR_0x8004, 12
setvar VAR_0x8005, 1
special CallBattleDomeFunction
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
closemessage
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
waitmovement 0
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D172, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D172, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleDomeBattleRoom_Text_24D1AA
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, MSGBOX_DEFAULT
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
switch VAR_RESULT
case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, MSGBOX_DEFAULT
setvar VAR_0x8004, 12
setvar VAR_0x8005, 1
special CallBattleDomeFunction
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
closemessage
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
waitmovement 0
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D47F, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D47F, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleDomeBattleRoom_Text_24D522
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
BattleFrontier_BattleDomeBattleRoom_EventScript_24C400:: @ 824C400
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D677, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D677, MSGBOX_DEFAULT
closemessage
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C787
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C829
@@ -513,7 +513,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C400:: @ 824C400
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C420:: @ 824C420
- msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D127, 4
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D127, MSGBOX_DEFAULT
playse SE_W227B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
waitse
@@ -527,12 +527,12 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
- setvar VAR_0x8004, 3
+ setvar VAR_0x8004, SPECIAL_BATTLE_DOME
setvar VAR_0x8005, 0
setvar VAR_TEMP_9, 1
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
setvar VAR_TEMP_9, 0
setvar VAR_0x8004, 17
@@ -554,11 +554,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B
applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 3
goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
copyvar VAR_TEMP_E, VAR_RESULT
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
index 989ebe2f3..a4c0dafc4 100644
--- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
@@ -11,7 +11,7 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E
setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
index 6a879df16..f66674444 100644
--- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
@@ -29,12 +29,12 @@ BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F
BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24A45F, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A45F, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
@@ -51,7 +51,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
releaseall
end
@@ -60,28 +60,28 @@ BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B
call BattleFrontier_BattleDomeLobby_EventScript_241EBA
lockall
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1
- msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_2498C9
BattleFrontier_BattleDomeLobby_EventScript_2498C1:: @ 82498C1
- msgbox BattleFrontier_BattleDomeLobby_Text_24AD67, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AD67, MSGBOX_DEFAULT
BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
- msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattleDomeLobby_Text_241520, 9
message BattleFrontier_BattleDomeLobby_Text_24A5D6
waitmessage
special LoadPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
@@ -100,15 +100,15 @@ BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, MSGBOX_DEFAULT
message BattleFrontier_BattleDomeLobby_Text_24A5D6
waitmessage
special LoadPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
@@ -141,7 +141,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499E4:: @ 82499E4
call BattleFrontier_BattleDomeLobby_EventScript_23E8B4
BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9
- msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_249F74, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -149,7 +149,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9
BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24A5FE, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A5FE, MSGBOX_DEFAULT
message BattleFrontier_BattleDomeLobby_Text_24A61A
waitmessage
setvar VAR_0x8004, 13
@@ -160,7 +160,7 @@ BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
goto BattleFrontier_BattleDomeLobby_EventScript_249BC2
@@ -208,14 +208,14 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64
case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C15
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleDomeLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -224,7 +224,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C61
- msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, 5
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61
case 1, BattleFrontier_BattleDomeLobby_EventScript_249B60
@@ -234,17 +234,17 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
special CallBattleDomeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -259,10 +259,10 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 15
special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A437, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattleDomeLobby_EventScript_249C6E
special HealPlayerParty
@@ -284,25 +284,25 @@ BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15
case 1, BattleFrontier_BattleDomeLobby_EventScript_249C3D
BattleFrontier_BattleDomeLobby_EventScript_249C30:: @ 8249C30
- msgbox BattleFrontier_BattleDomeLobby_Text_24A353, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A353, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
BattleFrontier_BattleDomeLobby_EventScript_249C3D:: @ 8249C3D
- msgbox BattleFrontier_BattleDomeLobby_Text_24A2AB, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A2AB, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleDomeLobby_EventScript_249C64
BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61
special LoadPlayerParty
BattleFrontier_BattleDomeLobby_EventScript_249C64:: @ 8249C64
- msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_249F74, MSGBOX_DEFAULT
BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C
release
@@ -350,11 +350,11 @@ BattleFrontier_BattleDomeLobby_EventScript_249CF5:: @ 8249CF5
return
BattleFrontier_BattleDomeLobby_EventScript_249CFD:: @ 8249CFD
- msgbox BattleFrontier_BattleDomeLobby_Text_249EB7, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_249EB7, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeLobby_EventScript_249D06:: @ 8249D06
- msgbox BattleFrontier_BattleDomeLobby_Text_24A664, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A664, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeLobby_EventScript_249D0F:: @ 8249D0F
@@ -366,11 +366,11 @@ BattleFrontier_BattleDomeLobby_EventScript_249D15:: @ 8249D15
return
BattleFrontier_BattleDomeLobby_EventScript_249D1B:: @ 8249D1B
- msgbox BattleFrontier_BattleDomeLobby_Text_249F8E, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_249F8E, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeLobby_EventScript_249D24:: @ 8249D24
- msgbox BattleFrontier_BattleDomeLobby_Text_24A721, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A721, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomeLobby_EventScript_249D2D:: @ 8249D2D
@@ -413,7 +413,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D52:: @ 8249D52
setvar VAR_0x8004, 7
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -424,7 +424,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B
setvar VAR_0x8004, 7
setvar VAR_0x8005, 1
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -449,56 +449,54 @@ BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84
end
BattleFrontier_BattleDomeLobby_EventScript_249DC9:: @ 8249DC9
- msgbox BattleFrontier_BattleDomeLobby_Text_24A966, 3
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A966, MSGBOX_SIGN
return
BattleFrontier_BattleDomeLobby_EventScript_249DD2:: @ 8249DD2
- msgbox BattleFrontier_BattleDomeLobby_Text_24A9A9, 3
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A9A9, MSGBOX_SIGN
return
BattleFrontier_BattleDomeLobby_EventScript_249DDB:: @ 8249DDB
- msgbox BattleFrontier_BattleDomeLobby_Text_24A9EC, 3
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A9EC, MSGBOX_SIGN
return
BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4
- msgbox BattleFrontier_BattleDomeLobby_Text_24AA31, 3
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AA31, MSGBOX_SIGN
return
BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED
setvar VAR_0x8004, 20
special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, 2
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, MSGBOX_NPC
end
BattleFrontier_BattleDomeLobby_EventScript_249DFE:: @ 8249DFE
- msgbox BattleFrontier_BattleDomeLobby_Text_24AB94, 2
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AB94, MSGBOX_NPC
end
BattleFrontier_BattleDomeLobby_EventScript_249E07:: @ 8249E07
- msgbox BattleFrontier_BattleDomeLobby_Text_24AC76, 2
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AC76, MSGBOX_NPC
end
BattleFrontier_BattleDomeLobby_EventScript_249E10:: @ 8249E10
- msgbox BattleFrontier_BattleDomeLobby_Text_24ACD3, 2
+ msgbox BattleFrontier_BattleDomeLobby_Text_24ACD3, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_249E19:: @ 8249E19
- msgbox BattleFrontier_OutsideWest_Text_24AB06, 2
+ msgbox BattleFrontier_OutsideWest_Text_24AB06, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_249E22:: @ 8249E22
- loadword 0, BattleFrontier_OutsideWest_Text_24AB44
- callstd 2
+ msgbox BattleFrontier_OutsideWest_Text_24AB44, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_249E2B:: @ 8249E2B
- loadword 0, BattleFrontier_OutsideWest_Text_24AB75
- callstd 2
+ msgbox BattleFrontier_OutsideWest_Text_24AB75, MSGBOX_NPC
end
BattleFrontier_BattleDomeLobby_EventScript_249E34:: @ 8249E34
lockall
- msgbox BattleFrontier_BattleDomeLobby_Text_24AE63, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AE63, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_249E43
end
@@ -515,17 +513,17 @@ BattleFrontier_BattleDomeLobby_EventScript_249E43:: @ 8249E43
end
BattleFrontier_BattleDomeLobby_EventScript_249E8B:: @ 8249E8B
- msgbox BattleFrontier_BattleDomeLobby_Text_24AEAE, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AEAE, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_249E43
end
BattleFrontier_BattleDomeLobby_EventScript_249E99:: @ 8249E99
- msgbox BattleFrontier_BattleDomeLobby_Text_24AF4C, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AF4C, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_249E43
end
BattleFrontier_BattleDomeLobby_EventScript_249EA7:: @ 8249EA7
- msgbox BattleFrontier_BattleDomeLobby_Text_24B073, 4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24B073, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_249E43
end
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
index e004eafac..ee23f919e 100644
--- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
@@ -22,7 +22,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 1
applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652
waitmovement 0
@@ -69,7 +69,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F:: @ 824B33F
goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349:: @ 824B349
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA69, 5
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA69, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB
@@ -100,11 +100,11 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 6
special CallBattleDomeFunction
@@ -122,7 +122,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452
@@ -131,19 +131,19 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449:: @ 824B449
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452:: @ 824B452
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B:: @ 824B45B
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA21, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA21, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464:: @ 824B464
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA46, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA46, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
@@ -157,7 +157,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
special sub_80F9490
waitstate
setvar VAR_0x8004, 21
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
setvar VAR_0x8004, 2
@@ -167,7 +167,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
special CallBattleDomeFunction
setvar VAR_0x8004, 9
special CallBattleDomeFunction
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F
waitmovement 0
@@ -187,7 +187,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB:: @ 824B4FB
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540
@@ -209,7 +209,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546:: @ 824B546
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B
case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0
@@ -219,34 +219,34 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, 4
- setflag FLAG_0x001
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_1
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, 4
- setflag FLAG_0x001
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_1
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5:: @ 824B5B5
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC63, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC63, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
setvar VAR_TEMP_0, 1
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, MSGBOX_DEFAULT
special LoadPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -260,7 +260,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634
case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D
@@ -268,15 +268,15 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634:: @ 824B634
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D:: @ 824B63D
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646:: @ 824B646
- msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B83F, 4
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B83F, MSGBOX_DEFAULT
return
BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F: @ 824B64F
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
index 2968e2c0f..8e08404cd 100644
--- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
@@ -6,14 +6,14 @@ BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB
BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB
setvar VAR_0x8004, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
checkplayergender
compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3
@@ -51,7 +51,7 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31: @ 825AE31
.2byte 0
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2, MSGBOX_DEFAULT
closemessage
applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
@@ -69,7 +69,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
setvar VAR_0x8004, 11
- special sub_81A5E74
+ special CallBattleFactoryFunction
removeobject 2
setobjectxyperm 2, 7, 1
addobject 2
@@ -80,19 +80,19 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
compare VAR_TEMP_F, 0
goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C
setvar VAR_0x8004, 5
- special sub_8195960
+ special CallBattlePalaceFunction
lockall
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
- setvar VAR_0x8004, 6
+ setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
switch VAR_RESULT
case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F
@@ -102,21 +102,21 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8:: @ 825AEF8
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
@ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
- special sub_81A5E74
+ special CallBattleFactoryFunction
compare VAR_RESULT, 9999
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
- special sub_81A5E74
+ special CallBattleFactoryFunction
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E
call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA
@@ -124,12 +124,12 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43:: @ 825AF43
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
setvar VAR_0x8006, 1
@@ -140,7 +140,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
@@ -150,16 +150,16 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
case 4, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C
@@ -167,10 +167,10 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
waitmovement 0
@@ -179,23 +179,23 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B
@@ -203,10 +203,10 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, 4
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, MSGBOX_DEFAULT
waitmessage
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
waitmovement 0
@@ -215,8 +215,8 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
@@ -224,38 +224,38 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
- setvar VAR_0x8004, 6
+ setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
return
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
- special sub_81A5E74
+ special CallBattleFactoryFunction
compare VAR_RESULT, 9999
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A5E74
+ special CallBattleFactoryFunction
compare VAR_RESULT, 9999
goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
end
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
index 7846da874..0c6c35071 100644
--- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
@@ -22,31 +22,31 @@ BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407
BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
lockall
- msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 8
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
releaseall
end
@@ -54,30 +54,30 @@ BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B
lockall
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD
- msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6
BattleFrontier_BattleFactoryLobby_EventScript_2584BD:: @ 82584BD
- msgbox BattleFrontier_BattleFactoryLobby_Text_25926A, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_25926A, MSGBOX_DEFAULT
waitmessage
BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6
- msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattleFactoryLobby_Text_241520, 9
message BattleFrontier_BattleFactoryLobby_Text_259323
waitmessage
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
playse SE_SAVE
waitse
goto BattleFrontier_BattleFactoryLobby_EventScript_25853B
@@ -88,15 +88,15 @@ BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
message BattleFrontier_BattleFactoryLobby_Text_258CC7
waitmessage
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
playse SE_SAVE
waitse
@@ -116,7 +116,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25857D:: @ 825857D
call BattleFrontier_BattleFactoryLobby_EventScript_23E8B4
BattleFrontier_BattleFactoryLobby_EventScript_258582:: @ 8258582
- msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -128,13 +128,13 @@ BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 1
- special sub_81A5E74
+ special CallBattleFactoryFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
setvar VAR_0x8006, 2
goto BattleFrontier_BattleFactoryLobby_EventScript_25871A
@@ -183,8 +183,8 @@ BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, 5
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryLobby_EventScript_25879A
case 1, BattleFrontier_BattleFactoryLobby_EventScript_2586B9
@@ -193,19 +193,19 @@ BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653
BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
closemessage
delay 2
call BattleFrontier_BattleFactoryLobby_EventScript_27134F
@@ -216,7 +216,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
special SavePlayerParty
- msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, MSGBOX_DEFAULT
closemessage
compare VAR_FRONTIER_BATTLE_MODE, 0
call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C
@@ -249,14 +249,14 @@ BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleFactoryLobby_EventScript_25879D
BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A
special LoadPlayerParty
BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D
- msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, MSGBOX_DEFAULT
release
end
@@ -275,11 +275,11 @@ BattleFrontier_BattleFactoryLobby_Movement_2587AC: @ 82587AC
step_end
BattleFrontier_BattleFactoryLobby_EventScript_2587B1:: @ 82587B1
- msgbox BattleFrontier_BattleFactoryLobby_Text_2588EE, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2588EE, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryLobby_EventScript_2587BA:: @ 82587BA
- msgbox BattleFrontier_BattleFactoryLobby_Text_258F93, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258F93, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryLobby_EventScript_2587C3:: @ 82587C3
@@ -291,11 +291,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_2587C9:: @ 82587C9
return
BattleFrontier_BattleFactoryLobby_EventScript_2587CF:: @ 82587CF
- msgbox BattleFrontier_BattleFactoryLobby_Text_2589B3, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2589B3, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryLobby_EventScript_2587D8:: @ 82587D8
- msgbox BattleFrontier_BattleFactoryLobby_Text_259058, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259058, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1
@@ -303,7 +303,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1
setvar VAR_0x8004, 7
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -314,33 +314,33 @@ BattleFrontier_BattleFactoryLobby_EventScript_2587FA:: @ 82587FA
setvar VAR_0x8004, 7
setvar VAR_0x8005, 4
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattleFactoryLobby_EventScript_258813:: @ 8258813
- msgbox BattleFrontier_BattleFactoryLobby_Text_2593D7, 2
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2593D7, MSGBOX_NPC
end
BattleFrontier_BattleFactoryLobby_EventScript_25881C:: @ 825881C
- msgbox BattleFrontier_BattleFactoryLobby_Text_2594E5, 2
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2594E5, MSGBOX_NPC
end
BattleFrontier_BattleFactoryLobby_EventScript_258825:: @ 8258825
lock
- msgbox BattleFrontier_BattleFactoryLobby_Text_259547, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259547, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleFactoryLobby_EventScript_258830:: @ 8258830
- msgbox BattleFrontier_BattleFactoryLobby_Text_2595C4, 2
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2595C4, MSGBOX_NPC
end
BattleFrontier_BattleFactoryLobby_EventScript_258839:: @ 8258839
lockall
- msgbox BattleFrontier_BattleFactoryLobby_Text_259721, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259721, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryLobby_EventScript_258848
end
@@ -359,27 +359,27 @@ BattleFrontier_BattleFactoryLobby_EventScript_258848:: @ 8258848
end
BattleFrontier_BattleFactoryLobby_EventScript_2588A6:: @ 82588A6
- msgbox BattleFrontier_BattleFactoryLobby_Text_259766, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259766, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryLobby_EventScript_258848
end
BattleFrontier_BattleFactoryLobby_EventScript_2588B4:: @ 82588B4
- msgbox BattleFrontier_BattleFactoryLobby_Text_2597FB, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2597FB, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryLobby_EventScript_258848
end
BattleFrontier_BattleFactoryLobby_EventScript_2588C2:: @ 82588C2
- msgbox BattleFrontier_BattleFactoryLobby_Text_25987E, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_25987E, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryLobby_EventScript_258848
end
BattleFrontier_BattleFactoryLobby_EventScript_2588D0:: @ 82588D0
- msgbox BattleFrontier_BattleFactoryLobby_Text_259920, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259920, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryLobby_EventScript_258848
end
BattleFrontier_BattleFactoryLobby_EventScript_2588DE:: @ 82588DE
- msgbox BattleFrontier_BattleFactoryLobby_Text_259A5E, 4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259A5E, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryLobby_EventScript_258848
end
diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
index e05c49885..e41efdc85 100644
--- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
@@ -32,27 +32,27 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9
compare VAR_0x8006, 2
goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69
setvar VAR_0x8004, 13
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 12
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 14
- special sub_81A5E74
+ special CallBattleFactoryFunction
setorcopyvar VAR_0x8005, VAR_RESULT
setvar VAR_0x8004, 15
- special sub_81A5E74
+ special CallBattleFactoryFunction
setorcopyvar VAR_0x8006, VAR_RESULT
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 8
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 6
- special sub_81A5E74
+ special CallBattleFactoryFunction
waitstate
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7
compare VAR_RESULT, 0
@@ -66,28 +66,28 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
setvar VAR_0x8004, 9
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 16
- special sub_81A5E74
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4
+ special CallBattleFactoryFunction
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26
playse 263
waitse
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF
waitmovement 0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3
waitmovement 0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89, MSGBOX_DEFAULT
closemessage
delay 16
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
@@ -95,14 +95,14 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D
compare VAR_RESULT, 2
@@ -148,7 +148,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E:: @ 8259D2E
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38:: @ 8259D38
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350, 5
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47
@@ -165,16 +165,16 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66:: @ 8259D66
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98
setvar VAR_0x8004, 12
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 14
- special sub_81A5E74
+ special CallBattleFactoryFunction
setorcopyvar VAR_0x8005, VAR_RESULT
setvar VAR_0x8004, 15
- special sub_81A5E74
+ special CallBattleFactoryFunction
setorcopyvar VAR_0x8006, VAR_RESULT
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, 5
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2
@@ -183,13 +183,13 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2
fadescreen 1
setvar VAR_0x8004, 7
- special sub_81A5E74
+ special CallBattleFactoryFunction
waitstate
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
setvar VAR_0x8004, 8
- special sub_81A5E74
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, 4
+ special CallBattleFactoryFunction
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, MSGBOX_DEFAULT
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D:: @ 8259E1D
@@ -227,28 +227,28 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47
waitmessage
setvar VAR_0x8004, 3
setvar VAR_0x8005, 2
- special sub_81A5E74
+ special CallBattleFactoryFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
special SavePlayerParty
setvar VAR_0x8004, 10
setvar VAR_0x8005, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
special CalculatePlayerPartyCount
goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, MSGBOX_DEFAULT
compare VAR_0x8005, 0
call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62
compare VAR_0x8005, 1
@@ -288,75 +288,75 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B:: @ 8259F6B
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74:: @ 8259F74
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D:: @ 8259F7D
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86:: @ 8259F86
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F:: @ 8259F8F
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98:: @ 8259F98
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1:: @ 8259FA1
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA:: @ 8259FAA
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3:: @ 8259FB3
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC:: @ 8259FBC
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5:: @ 8259FC5
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE:: @ 8259FCE
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7:: @ 8259FD7
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0:: @ 8259FE0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9:: @ 8259FE9
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2:: @ 8259FF2
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004
@@ -381,39 +381,39 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6, 4
+ msgbox Text_StyleUnrestrained, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE, 4
+ msgbox Text_StyleTotalPreparation, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9, 4
+ msgbox Text_StyleSlowAndSteady, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912, 4
+ msgbox Text_StyleEndurance, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C, 4
+ msgbox Text_StyleHighRisk, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16, 4
+ msgbox Text_StyleWeakenFoe, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7, 4
+ msgbox Text_StyleImpossibleToPredict, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C, 4
+ msgbox Text_StyleDependsOnFlow, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A, 4
+ msgbox Text_StyleFlexible, MSGBOX_DEFAULT
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9
@@ -439,8 +439,8 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110:: @ 825A110
case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61, 4
- msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, 5
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2
@@ -642,39 +642,39 @@ BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893: @ 825A893
.string "The TRAINER appears to have no clear\n"
.string "favorites when it comes to type.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9: @ 825A8D9
+Text_StyleSlowAndSteady: @ 825A8D9
.string "The favorite battle style appears to\n"
.string "be slow and steady.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912: @ 825A912
+Text_StyleEndurance: @ 825A912
.string "The favorite battle style appears to\n"
.string "be one of endurance.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C: @ 825A94C
+Text_StyleHighRisk: @ 825A94C
.string "The favorite battle style appears to\n"
.string "be high risk, high return.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C: @ 825A98C
+Text_StyleDependsOnFlow: @ 825A98C
.string "The favorite battle style appears to\n"
.string "depend on the battle’s flow.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE: @ 825A9CE
+Text_StyleTotalPreparation: @ 825A9CE
.string "The favorite battle style appears to\n"
.string "be one based on total preparation.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16: @ 825AA16
+Text_StyleWeakenFoe: @ 825AA16
.string "The favorite battle style appears\n"
.string "to be weakening the foe to start.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A: @ 825AA5A
+Text_StyleFlexible: @ 825AA5A
.string "The favorite battle style appears to\n"
.string "be flexibly adaptable to the situation.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7: @ 825AAA7
+Text_StyleImpossibleToPredict: @ 825AAA7
.string "The favorite battle style appears to\n"
.string "be impossible to predict.$"
-BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6: @ 825AAE6
+Text_StyleUnrestrained: @ 825AAE6
.string "The favorite battle style appears to\n"
.string "be free-spirited and unrestrained.$"
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
index 372b5da76..2b8f8d763 100644
--- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
@@ -6,7 +6,7 @@ BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815
BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825
setvar VAR_0x8004, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
end
@@ -36,7 +36,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B
@@ -46,7 +46,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5:: @ 824F8B5
@@ -60,8 +60,8 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1
waitmovement 0
setvar VAR_0x8004, 5
- special sub_8195960
- msgbox 0x2021fc4, 4
+ special CallBattlePalaceFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
switch VAR_RESULT
@@ -71,19 +71,19 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA:: @ 824F8FA
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7
@@ -92,25 +92,25 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
waitmovement 0
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66
compare VAR_RESULT, 2
@@ -156,7 +156,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA:: @ 824FAAA
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4:: @ 824FAB4
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250030, 5
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250030, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F
@@ -181,7 +181,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28:: @ 824FB28
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
@@ -189,18 +189,18 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
waitmessage
setvar VAR_0x8004, 7
setvar VAR_0x8005, 2
- special sub_8195960
+ special CallBattlePalaceFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61
compare VAR_TEMP_2, 1
goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79
@@ -227,7 +227,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0:: @ 824FBD0
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06
call BattleFrontier_BattlePalaceBattleRoom_EventScript_242170
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25017C, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25017C, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
@@ -246,16 +246,16 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06
case 4, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7
@@ -263,42 +263,42 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
setvar VAR_0x8004, 6
- special sub_8195960
+ special CallBattlePalaceFunction
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25036D, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25036D, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePalaceBattleRoom_Text_2503DC
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
+ special CallFrontierUtilFunc
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6
waitmovement 0
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
waitmovement 0
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84
@@ -306,27 +306,27 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
setvar VAR_0x8004, 6
- special sub_8195960
+ special CallBattlePalaceFunction
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250629, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250629, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePalaceBattleRoom_Text_250699
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
+ special CallFrontierUtilFunc
applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6
waitmovement 0
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
waitmovement 0
- msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, 4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7:: @ 824FDF7
@@ -336,17 +336,17 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
- setvar VAR_0x8004, 4
+ setvar VAR_0x8004, SPECIAL_BATTLE_PALACE
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, 18
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
setvar VAR_0x8004, 21
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34: @ 824FE34
diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
index c8142a207..2af0d954f 100644
--- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
@@ -13,7 +13,7 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
waitmovement 0
lockall
setvar VAR_0x8004, 3
- special sub_8195960
+ special CallBattlePalaceFunction
compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B
compare VAR_RESULT, 1
@@ -27,7 +27,7 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
closemessage
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD
@@ -60,23 +60,23 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F581:: @ 824F581
end
BattleFrontier_BattlePalaceCorridor_EventScript_24F58B:: @ 824F58B
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F5DD, 4
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F5DD, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceCorridor_EventScript_24F594:: @ 824F594
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F65B, 4
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F65B, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceCorridor_EventScript_24F59D:: @ 824F59D
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F718, 4
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F718, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6:: @ 824F5A6
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F78C, 4
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F78C, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF:: @ 824F5AF
- msgbox BattleFrontier_BattlePalaceCorridor_Text_24F7D4, 4
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F7D4, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceCorridor_Movement_24F5B8: @ 824F5B8
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
index b86ffa2fb..cf3ecfb14 100644
--- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
@@ -22,25 +22,25 @@ BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D
BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
lockall
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E636, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E636, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_8195960
+ special CallBattlePalaceFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_8195960
+ special CallBattlePalaceFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
releaseall
end
@@ -48,24 +48,24 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817
lockall
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24D840
BattleFrontier_BattlePalaceLobby_EventScript_24D838:: @ 824D838
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EE81, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EE81, MSGBOX_DEFAULT
BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattlePalaceLobby_Text_241520, 9
message BattleFrontier_BattlePalaceLobby_Text_24E4F7
waitmessage
call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -78,9 +78,9 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_8195960
+ special CallBattlePalaceFunction
call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -88,12 +88,12 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
- special sub_8195960
+ special CallBattlePalaceFunction
playse SE_SAVE
waitse
call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0
@@ -115,18 +115,18 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D907:: @ 824D907
BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908
lockall
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E5D8, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E5D8, MSGBOX_DEFAULT
message BattleFrontier_BattlePalaceLobby_Text_24E5F6
waitmessage
setvar VAR_0x8004, 7
setvar VAR_0x8005, 1
- special sub_8195960
+ special CallBattlePalaceFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3
@@ -149,7 +149,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956
BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
setvar VAR_0x8004, 1
setvar VAR_0x8005, 0
- special sub_8195960
+ special CallBattlePalaceFunction
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817
special SavePlayerParty
@@ -179,14 +179,14 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattlePalaceLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -195,7 +195,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, 5
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91
case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DA87
@@ -205,21 +205,21 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
- special sub_8195960
+ special CallBattlePalaceFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
- special sub_8195960
+ special CallBattlePalaceFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -232,8 +232,8 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13
@@ -244,11 +244,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20
compare VAR_FRONTIER_BATTLE_MODE, 1
goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
- msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
BattleFrontier_BattlePalaceLobby_EventScript_24DB38:: @ 824DB38
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EBC2, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EBC2, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45
@@ -257,36 +257,36 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45
case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D
BattleFrontier_BattlePalaceLobby_EventScript_24DB60:: @ 824DB60
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
BattleFrontier_BattlePalaceLobby_EventScript_24DB6D:: @ 824DB6D
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E29E, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E29E, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94
BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91
special LoadPlayerParty
BattleFrontier_BattlePalaceLobby_EventScript_24DB94:: @ 824DB94
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, MSGBOX_DEFAULT
BattleFrontier_BattlePalaceLobby_EventScript_24DB9C:: @ 824DB9C
release
end
BattleFrontier_BattlePalaceLobby_EventScript_24DB9E:: @ 824DB9E
- msgbox BattleFrontier_BattlePalaceLobby_Text_24DD5B, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24DD5B, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceLobby_EventScript_24DBA7:: @ 824DBA7
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EB06, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EB06, MSGBOX_DEFAULT
return
BattleFrontier_BattlePalaceLobby_EventScript_24DBB0:: @ 824DBB0
@@ -364,7 +364,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DC50:: @ 824DC50
setvar VAR_0x8004, 7
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -375,31 +375,31 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DC69:: @ 824DC69
setvar VAR_0x8004, 7
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattlePalaceLobby_EventScript_24DC82:: @ 824DC82
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E6E3, 2
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E6E3, MSGBOX_NPC
end
BattleFrontier_BattlePalaceLobby_EventScript_24DC8B:: @ 824DC8B
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E851, 2
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E851, MSGBOX_NPC
end
BattleFrontier_BattlePalaceLobby_EventScript_24DC94:: @ 824DC94
- msgbox BattleFrontier_BattlePalaceLobby_Text_24E992, 2
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E992, MSGBOX_NPC
end
BattleFrontier_BattlePalaceLobby_EventScript_24DC9D:: @ 824DC9D
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EA4B, 2
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EA4B, MSGBOX_NPC
end
BattleFrontier_BattlePalaceLobby_EventScript_24DCA6:: @ 824DCA6
lockall
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EF66, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EF66, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
end
@@ -418,27 +418,27 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DCB5:: @ 824DCB5
end
BattleFrontier_BattlePalaceLobby_EventScript_24DD13:: @ 824DD13
- msgbox BattleFrontier_BattlePalaceLobby_Text_24EFAB, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EFAB, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
end
BattleFrontier_BattlePalaceLobby_EventScript_24DD21:: @ 824DD21
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F049, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F049, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
end
BattleFrontier_BattlePalaceLobby_EventScript_24DD2F:: @ 824DD2F
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F190, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F190, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
end
BattleFrontier_BattlePalaceLobby_EventScript_24DD3D:: @ 824DD3D
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F2E8, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F2E8, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
end
BattleFrontier_BattlePalaceLobby_EventScript_24DD4B:: @ 824DD4B
- msgbox BattleFrontier_BattlePalaceLobby_Text_24F3F4, 4
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F3F4, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
end
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
index 23ad26692..0a0df3636 100644
--- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
@@ -12,17 +12,17 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 20
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 24
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B
applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
waitmovement 0
lockall
- msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, 4
+ msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, MSGBOX_DEFAULT
closemessage
releaseall
applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80E
@@ -30,7 +30,7 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 99
- special sub_81A1780
+ special CallFrontierUtilFunc
call BattleFrontier_BattlePikeCorridor_EventScript_25BB49
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
waitstate
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
index 0b356792f..278bd0407 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
@@ -21,28 +21,28 @@ BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD
BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
special HealPlayerParty
setvar VAR_0x8004, 27
- special sub_81A703C
+ special CallBattlePikeFunction
lockall
- msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
releaseall
end
@@ -50,44 +50,44 @@ BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762
lockall
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25B784
- msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattlePikeLobby_EventScript_25B78D
BattleFrontier_BattlePikeLobby_EventScript_25B784:: @ 825B784
- msgbox BattleFrontier_BattlePikeLobby_Text_25C383, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C383, MSGBOX_DEFAULT
waitmessage
BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
- msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattlePikeLobby_Text_241520, 9
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
- special sub_81A703C
+ special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A703C
+ special CallBattlePikeFunction
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 27
- special sub_81A703C
+ special CallBattlePikeFunction
message BattleFrontier_BattlePikeLobby_Text_25C1DF
waitmessage
setvar VAR_0x8004, 8
setvar VAR_0x8005, 0
- special sub_81A703C
+ special CallBattlePikeFunction
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -98,25 +98,25 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
message BattleFrontier_BattlePikeLobby_Text_25C146
waitmessage
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
setvar VAR_0x8006, 0
- special sub_81A703C
+ special CallBattlePikeFunction
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 27
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 8
setvar VAR_0x8005, 0
- special sub_81A703C
+ special CallBattlePikeFunction
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -128,7 +128,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868
setvar VAR_FRONTIER_FACILITY, 5
setvar VAR_FRONTIER_BATTLE_MODE, 0
special SavePlayerParty
- msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, MSGBOX_DEFAULT
BattleFrontier_BattlePikeLobby_EventScript_25B87F:: @ 825B87F
message BattleFrontier_BattlePikeLobby_Text_25BBC1
@@ -148,14 +148,14 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76
case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattlePikeLobby_Text_25C094, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C094, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattlePikeLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -164,7 +164,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73
- msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, 5
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73
case 1, BattleFrontier_BattlePikeLobby_EventScript_25B95C
@@ -175,40 +175,40 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_TEMP_1, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 28
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
setvar VAR_0x8006, 1
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 26
- special sub_81A703C
+ special CallBattlePikeFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
call BattleFrontier_BattlePikeLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, 26
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox BattleFrontier_BattlePikeLobby_Text_25C130, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C130, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
call BattleFrontier_BattlePikeLobby_EventScript_25BA94
special HealPlayerParty
call BattleFrontier_BattlePikeLobby_EventScript_25BB49
@@ -218,7 +218,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
end
BattleFrontier_BattlePikeLobby_EventScript_25BA1A:: @ 825BA1A
- msgbox BattleFrontier_BattlePikeLobby_Text_25BBF5, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BBF5, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25B87F
BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27
@@ -227,25 +227,25 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27
case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA4F
BattleFrontier_BattlePikeLobby_EventScript_25BA42:: @ 825BA42
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
BattleFrontier_BattlePikeLobby_EventScript_25BA4F:: @ 825BA4F
- msgbox BattleFrontier_BattlePikeLobby_Text_25BF9A, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BF9A, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattlePikeLobby_EventScript_25BA76
BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73
special LoadPlayerParty
BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76
- msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
BattleFrontier_BattlePikeLobby_EventScript_25BA7E:: @ 825BA7E
release
@@ -255,7 +255,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80
lockall
setvar VAR_0x8004, 7
setvar VAR_0x8005, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -277,20 +277,20 @@ BattleFrontier_BattlePikeLobby_Movement_25BAA7: @ 825BAA7
step_end
BattleFrontier_BattlePikeLobby_EventScript_25BAAB:: @ 825BAAB
- msgbox BattleFrontier_BattlePikeLobby_Text_25C422, 2
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C422, MSGBOX_NPC
end
BattleFrontier_BattlePikeLobby_EventScript_25BAB4:: @ 825BAB4
- msgbox BattleFrontier_BattlePikeLobby_Text_25C4A5, 2
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C4A5, MSGBOX_NPC
end
BattleFrontier_BattlePikeLobby_EventScript_25BABD:: @ 825BABD
- msgbox BattleFrontier_BattlePikeLobby_Text_25C4FD, 2
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C4FD, MSGBOX_NPC
end
BattleFrontier_BattlePikeLobby_EventScript_25BAC6:: @ 825BAC6
lockall
- msgbox BattleFrontier_BattlePikeLobby_Text_25C5FB, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C5FB, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
end
@@ -307,17 +307,17 @@ BattleFrontier_BattlePikeLobby_EventScript_25BAD5:: @ 825BAD5
end
BattleFrontier_BattlePikeLobby_EventScript_25BB1D:: @ 825BB1D
- msgbox BattleFrontier_BattlePikeLobby_Text_25C644, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C644, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
end
BattleFrontier_BattlePikeLobby_EventScript_25BB2B:: @ 825BB2B
- msgbox BattleFrontier_BattlePikeLobby_Text_25C68A, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C68A, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
end
BattleFrontier_BattlePikeLobby_EventScript_25BB39:: @ 825BB39
- msgbox BattleFrontier_BattlePikeLobby_Text_25C6EB, 4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C6EB, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
end
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
index 509806531..3778d4af6 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
@@ -12,7 +12,7 @@ BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171
setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 5
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E
@@ -29,14 +29,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
- special sub_81A703C
- msgbox 0x2021fc4, 4
+ special CallBattlePikeFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
releaseall
- setvar VAR_0x8004, 7
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226
@@ -45,7 +45,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A:: @ 825D20A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
@@ -58,21 +58,21 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226:: @ 825D226
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231
lockall
delay 16
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE, MSGBOX_DEFAULT
waitmessage
closemessage
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
- special sub_81A703C
- msgbox 0x2021fc4, 4
+ special CallBattlePikeFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
releaseall
- setvar VAR_0x8004, 7
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285
@@ -86,11 +86,11 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285:: @ 825D285
waitmovement 0
lock
faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, MSGBOX_DEFAULT
closemessage
release
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
@@ -103,14 +103,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF
waitmovement 0
setvar VAR_0x8004, 23
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, MSGBOX_DEFAULT
closemessage
special SpawnScriptEventObject
applymovement 127, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0
@@ -137,23 +137,23 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7
waitmovement 0
setvar VAR_0x8004, 22
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416
case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA
@@ -161,34 +161,34 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA:: @ 825D3DA
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E003, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E003, MSGBOX_DEFAULT
closemessage
goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460
@@ -196,18 +196,18 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePikeRandomRoom1_Text_25E118
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E140, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E140, MSGBOX_DEFAULT
closemessage
goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
end
@@ -219,30 +219,30 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A703C
+ special CallBattlePikeFunction
call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
waitstate
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC:: @ 825D4DC
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E15D, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E15D, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA:: @ 825D4EA
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC:: @ 825D4FC
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E238, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E238, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
@@ -258,7 +258,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E:: @ 825D50E
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
waitmovement 0
@@ -281,20 +281,20 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
- special sub_81A703C
- msgbox 0x2021fc4, 4
+ special CallBattlePikeFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
closemessage
delay 16
applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 1
- special sub_81A703C
- msgbox 0x2021fc4, 4
+ special CallBattlePikeFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 9
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC
@@ -318,25 +318,25 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA
waitmovement 0
setvar VAR_0x8004, 12
- special sub_81A703C
+ special CallBattlePikeFunction
copyvar VAR_0x8004, VAR_RESULT
compare VAR_0x8004, 0
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
compare VAR_0x8004, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, MSGBOX_DEFAULT
closemessage
releaseall
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4, MSGBOX_DEFAULT
closemessage
waitse
playmoncry SPECIES_KIRLIA, 0
waitmoncry
setvar VAR_0x8004, 11
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 2
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
compare VAR_RESULT, 1
@@ -346,7 +346,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
compare VAR_RESULT, 4
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
setvar VAR_0x8004, 15
- special sub_81A703C
+ special CallBattlePikeFunction
waitstate
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
waitmovement 0
@@ -355,7 +355,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
waitse
playmoncry SPECIES_KIRLIA, 0
waitmoncry
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, MSGBOX_DEFAULT
waitse
playmoncry SPECIES_KIRLIA, 0
waitmoncry
@@ -363,23 +363,23 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4
waitmovement 0
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF, MSGBOX_DEFAULT
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DC01, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DC01, MSGBOX_DEFAULT
closemessage
waitse
playmoncry SPECIES_DUSCLOPS, 0
waitmoncry
setvar VAR_0x8004, 11
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 0
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
setvar VAR_0x8004, 15
- special sub_81A703C
+ special CallBattlePikeFunction
waitstate
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
waitmovement 0
@@ -388,7 +388,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
waitse
playmoncry SPECIES_DUSCLOPS, 0
waitmoncry
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, MSGBOX_DEFAULT
waitse
playmoncry SPECIES_DUSCLOPS, 0
waitmoncry
@@ -396,7 +396,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4
waitmovement 0
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD06, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD06, MSGBOX_DEFAULT
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751:: @ 825D751
@@ -433,9 +433,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B
closemessage
applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
waitmovement 0
- setvar VAR_0x8004, 7
+ setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
return
@@ -579,7 +579,7 @@ BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED
setvar VAR_0x8004, 5
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B
case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831
@@ -589,8 +589,8 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B
lock
faceplayer
setvar VAR_0x8004, 14
- special sub_81A703C
- msgbox 0x2021fc4, 4
+ special CallBattlePikeFunction
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
release
@@ -599,21 +599,21 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831
lock
faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3, MSGBOX_DEFAULT
closemessage
release
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
setvar VAR_0x8004, 13
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 2
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
compare VAR_RESULT, 1
call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875
playfanfare MUS_ME_ASA
waitfanfare
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, MSGBOX_DEFAULT
closemessage
release
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E
@@ -623,21 +623,21 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875:: @ 825D875
lock
faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA51, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA51, MSGBOX_DEFAULT
closemessage
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881:: @ 825D881
lock
faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E32E, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E32E, MSGBOX_DEFAULT
closemessage
return
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D:: @ 825D88D
lock
faceplayer
- msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6, MSGBOX_DEFAULT
closemessage
release
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
index 4f0d4632b..83031af95 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
@@ -14,9 +14,9 @@ BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7:: @ 825E3A7
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
lockall
- msgbox BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2, 4
+ msgbox BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2, MSGBOX_DEFAULT
closemessage
releaseall
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
index 9256764e8..b00b41fd7 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
@@ -12,14 +12,14 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C
setvar VAR_TEMP_0, 1
setvar VAR_0x8004, 6
- special sub_81A703C
+ special CallBattlePikeFunction
end
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
waitstate
end
@@ -37,7 +37,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A
call BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271
setvar VAR_0x8004, 1
setvar VAR_0x8005, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
compare VAR_RESULT, 3
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
index a4725036b..3d42b2e36 100644
--- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
@@ -23,7 +23,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A:: @ 825C89A
@@ -37,33 +37,33 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
waitmessage
setvar VAR_0x8004, 8
setvar VAR_0x8005, 1
- special sub_81A703C
+ special CallBattlePikeFunction
playse SE_SAVE
waitse
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA, MSGBOX_DEFAULT
closemessage
releaseall
setvar VAR_0x8004, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 99
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968
case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978
@@ -77,54 +77,54 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968:: @ 825C968
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978:: @ 825C978
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC00, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC00, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988:: @ 825C988
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC23, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC23, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998:: @ 825C998
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC46, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC46, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8:: @ 825C9A8
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC69, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC69, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8:: @ 825C9B8
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8:: @ 825C9C8
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4, 5
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A
case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A
@@ -133,22 +133,22 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
setvar VAR_0x8004, 6
- special sub_81A1780
+ special CallFrontierUtilFunc
message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08
waitmessage
special LoadPlayerParty
setvar VAR_0x8004, 8
setvar VAR_0x8005, 2
- special sub_81A703C
+ special CallBattlePikeFunction
playse SE_SAVE
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A:: @ 825CA2A
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB, 5
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB, MSGBOX_YESNO
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A
@@ -167,7 +167,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
setvar VAR_0x8004, 17
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
setvar VAR_TEMP_5, 255
@@ -181,7 +181,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE
waitmovement 0
lockall
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D094, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D094, MSGBOX_DEFAULT
releaseall
applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5
waitmovement 0
@@ -190,12 +190,12 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
setvar VAR_0x8004, 19
- special sub_81A703C
+ special CallBattlePikeFunction
compare VAR_RESULT, 4
goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, 5
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, MSGBOX_YESNO
switch VAR_RESULT
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00
@@ -204,13 +204,13 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB, MSGBOX_DEFAULT
release
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A
setvar VAR_0x8004, 18
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46
@@ -218,20 +218,20 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39:: @ 825CB39
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF64, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF64, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46:: @ 825CB46
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF23, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF23, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60
setvar VAR_0x8004, 19
- special sub_81A703C
+ special CallBattlePikeFunction
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A
case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4
@@ -240,29 +240,29 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A:: @ 825CB9A
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D054, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D054, MSGBOX_DEFAULT
release
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4:: @ 825CBA4
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D017, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D017, MSGBOX_DEFAULT
release
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE:: @ 825CBAE
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3, MSGBOX_DEFAULT
release
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8:: @ 825CBB8
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5, MSGBOX_DEFAULT
release
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2:: @ 825CBC2
lock
faceplayer
- msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D125, 4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D125, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
index 5bb6a87e0..6e85b849a 100644
--- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
@@ -2,12 +2,12 @@ BattleFrontier_BattlePointExchangeServiceCorner_MapScripts:: @ 825F070
.byte 0
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071:: @ 825F071
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, MSGBOX_DEFAULT
special sub_813A958
return
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, MSGBOX_DEFAULT
special sub_813A988
release
end
@@ -16,7 +16,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A
specialvar VAR_TEMP_1, sub_813AA04
compare VAR_TEMP_1, VAR_0x8008
goto_if 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, MSGBOX_DEFAULT
compare VAR_TEMP_2, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
compare VAR_TEMP_2, 1
@@ -43,14 +43,14 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5
givedecoration VAR_0x8009
special sub_813A8FC
playse SE_REGI
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, MSGBOX_DEFAULT
compare VAR_TEMP_2, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, MSGBOX_DEFAULT
special sub_813A988
release
end
@@ -64,14 +64,14 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
giveitem VAR_0x8009, 1
special sub_813A8FC
playse SE_REGI
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, MSGBOX_DEFAULT
compare VAR_TEMP_2, 2
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, MSGBOX_DEFAULT
special sub_813A988
release
end
@@ -106,7 +106,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 16
@@ -115,7 +115,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 32
@@ -124,7 +124,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 32
@@ -133,7 +133,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
@@ -142,7 +142,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
@@ -151,7 +151,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
@@ -160,7 +160,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
@@ -169,7 +169,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 80
@@ -178,7 +178,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 80
@@ -187,7 +187,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 80
@@ -220,7 +220,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 128
@@ -229,7 +229,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 128
@@ -238,7 +238,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 256
@@ -247,7 +247,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 256
@@ -256,7 +256,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 256
@@ -290,7 +290,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
@@ -299,7 +299,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
@@ -308,7 +308,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
@@ -317,7 +317,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
@@ -326,7 +326,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
@@ -335,7 +335,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
@@ -372,7 +372,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
@@ -381,7 +381,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
@@ -390,7 +390,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
@@ -399,7 +399,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
@@ -408,7 +408,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
@@ -417,7 +417,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
@@ -426,7 +426,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
@@ -435,7 +435,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
@@ -444,7 +444,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, 5
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
@@ -453,25 +453,25 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB:: @ 825F7CB
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_260099, 2
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_260099, MSGBOX_NPC
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4:: @ 825F7D4
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E, 2
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E, MSGBOX_NPC
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD:: @ 825F7DD
lock
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0, 4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0, MSGBOX_DEFAULT
release
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8:: @ 825F7E8
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D, 2
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D, MSGBOX_NPC
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1:: @ 825F7F1
- msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D, 2
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D, MSGBOX_NPC
end
BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA: @ 825F7FA
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
index eacee4cf3..3aa041fb4 100644
--- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
@@ -19,7 +19,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D
setvar VAR_RESULT, 0
BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
- special sub_81A8E7C
+ special CallBattlePyramidFunction
delay 2
compare VAR_RESULT, 2
goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
@@ -39,16 +39,16 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98
BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
setvar VAR_0x8004, 15
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_TEMP_0
case 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
case 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66
case 2, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
setvar VAR_0x8004, 1
setvar VAR_0x8005, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 4
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
compare VAR_RESULT, 5
@@ -63,12 +63,12 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
setvar VAR_0x8004, 14
setvar VAR_0x8005, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_D, 1
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
setvar VAR_0x8004, 17
- special sub_81A8E7C
+ special CallBattlePyramidFunction
end
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42
@@ -76,20 +76,20 @@ BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
setvar VAR_0x8006, 255
- special sub_81A8E7C
+ special CallBattlePyramidFunction
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66
BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
setvar VAR_0x8004, 13
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 14
- special sub_81A8E7C
+ special CallBattlePyramidFunction
special HealPlayerParty
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
waitstate
@@ -98,17 +98,17 @@ BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
setvar VAR_0x8004, 3
setvar VAR_0x8005, 1
- special sub_81A8E7C
+ special CallBattlePyramidFunction
special SavePlayerParty
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 9
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_F, 1
end
@@ -121,27 +121,27 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5
setvar VAR_0x8004, 13
setvar VAR_0x8005, 32
setvar VAR_0x8006, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
return
BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 7
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
setvar VAR_0x8004, 6
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_RESULT, 0
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
waitstate
@@ -153,9 +153,9 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45
end
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
- trainerbattle 9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
+ trainerbattle TRAINER_BATTLE_9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
setvar VAR_0x8004, 10
- special sub_81A8E7C
+ special CallBattlePyramidFunction
waitmessage
waitbuttonpress
closemessage
@@ -164,12 +164,12 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A
setvar VAR_0x8004, 7
- special sub_81A8E7C
- callstd 1
+ special CallBattlePyramidFunction
+ callstd STD_FIND_ITEM
compare VAR_0x8007, 0
goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87
setvar VAR_0x8004, 8
- special sub_81A8E7C
+ special CallBattlePyramidFunction
BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87:: @ 8252C87
end
@@ -781,4 +781,3 @@ BattleFrontier_BattlePyramidEmptySquare_Text_25502F:: @ 825502F
BattleFrontier_BattlePyramidEmptySquare_Text_255068:: @ 8255068
.string "There aren’t any TRAINERS left that\n"
.string "can take you on now…$"
-
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
index ccc7b1032..9b5ea145e 100644
--- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
@@ -22,7 +22,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735
BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
@@ -35,15 +35,15 @@ BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
releaseall
end
@@ -51,14 +51,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1
lockall
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2
- msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA
BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2
- msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
special sub_81B95E0
@@ -66,29 +66,29 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
call_if 1, BattleFrontier_BattlePyramidLobby_EventScript_250DDB
clearflag FLAG_SPECIAL_FLAG_0x4004
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
setvar VAR_0x8004, 14
- special sub_81A8E7C
+ special CallBattlePyramidFunction
special HealPlayerParty
message BattleFrontier_BattlePyramidLobby_Text_2519F8
waitmessage
playse SE_EXPMAX
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_252662, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252662, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattlePyramidLobby_Text_241520, 9
message BattleFrontier_BattlePyramidLobby_Text_251A77
waitmessage
setvar VAR_0x8004, 4
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -96,10 +96,10 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
setvar VAR_0x8004, 14
- special sub_81A8E7C
+ special CallBattlePyramidFunction
special HealPlayerParty
lockall
message BattleFrontier_BattlePyramidLobby_Text_251B5A
@@ -111,13 +111,13 @@ BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
playse SE_SAVE
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -132,7 +132,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1
setvar VAR_FRONTIER_FACILITY, 6
setvar VAR_FRONTIER_BATTLE_MODE, 0
special SavePlayerParty
- msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_2508C8:: @ 82508C8
message BattleFrontier_BattlePyramidLobby_Text_250FA7
@@ -152,14 +152,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattlePyramidLobby_Text_251297, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251297, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattlePyramidLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -168,7 +168,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1
- msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, 5
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1
case 1, BattleFrontier_BattlePyramidLobby_EventScript_2509A5
@@ -178,25 +178,25 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
setvar VAR_0x8006, 1
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 6
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 9
- special sub_81A8E7C
+ special CallBattlePyramidFunction
special LoadPlayerParty
closemessage
delay 2
@@ -209,14 +209,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox BattleFrontier_BattlePyramidLobby_Text_251531, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251531, MSGBOX_DEFAULT
closemessage
call BattleFrontier_BattlePyramidLobby_EventScript_250D56
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_RESULT, 0
special HealPlayerParty
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
@@ -225,7 +225,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
end
BattleFrontier_BattlePyramidLobby_EventScript_250A68:: @ 8250A68
- msgbox BattleFrontier_BattlePyramidLobby_Text_25100C, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25100C, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_2508C8
BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75
@@ -234,25 +234,25 @@ BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75
case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A9D
BattleFrontier_BattlePyramidLobby_EventScript_250A90:: @ 8250A90
- msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
BattleFrontier_BattlePyramidLobby_EventScript_250A9D:: @ 8250A9D
- msgbox BattleFrontier_BattlePyramidLobby_Text_2512E2, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2512E2, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4
BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1
special LoadPlayerParty
BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4
- msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_250ACC:: @ 8250ACC
release
@@ -262,9 +262,9 @@ BattleFrontier_BattlePyramidLobby_EventScript_250ACE:: @ 8250ACE
lockall
applymovement 2, BattleFrontier_BattlePyramidLobby_Movement_27259E
waitmovement 0
- msgbox BattleFrontier_BattlePyramidLobby_Text_251C3B, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251C3B, MSGBOX_DEFAULT
call BattleFrontier_BattlePyramidLobby_EventScript_250AF0
- msgbox BattleFrontier_BattlePyramidLobby_Text_252461, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252461, MSGBOX_DEFAULT
releaseall
end
@@ -281,10 +281,10 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B27:: @ 8250B27
return
BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
- msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
setvar VAR_0x8005, 5
- special sub_81A8E7C
+ special CallBattlePyramidFunction
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53
setvar VAR_RESULT, 0
@@ -294,15 +294,15 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
- special sub_81A8E7C
+ special CallBattlePyramidFunction
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
return
BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
- msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
setvar VAR_0x8005, 6
- special sub_81A8E7C
+ special CallBattlePyramidFunction
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91
setvar VAR_RESULT, 0
@@ -312,7 +312,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91
setvar VAR_0x8004, 1
setvar VAR_0x8005, 4
- special sub_81A8E7C
+ special CallBattlePyramidFunction
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
return
@@ -343,90 +343,90 @@ BattleFrontier_BattlePyramidLobby_EventScript_250BA4:: @ 8250BA4
return
BattleFrontier_BattlePyramidLobby_EventScript_250C8E:: @ 8250C8E
- msgbox BattleFrontier_BattlePyramidLobby_Text_251CB3, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251CB3, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250C97:: @ 8250C97
- msgbox BattleFrontier_BattlePyramidLobby_Text_251D07, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251D07, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CA0:: @ 8250CA0
- msgbox BattleFrontier_BattlePyramidLobby_Text_251D54, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251D54, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CA9:: @ 8250CA9
- msgbox BattleFrontier_BattlePyramidLobby_Text_251D9C, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251D9C, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CB2:: @ 8250CB2
- msgbox BattleFrontier_BattlePyramidLobby_Text_251E3D, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251E3D, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CBB:: @ 8250CBB
- msgbox BattleFrontier_BattlePyramidLobby_Text_251EA1, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251EA1, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CC4:: @ 8250CC4
- msgbox BattleFrontier_BattlePyramidLobby_Text_251F17, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251F17, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CCD:: @ 8250CCD
- msgbox BattleFrontier_BattlePyramidLobby_Text_251F6E, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251F6E, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CD6:: @ 8250CD6
- msgbox BattleFrontier_BattlePyramidLobby_Text_251FC7, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251FC7, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CDF:: @ 8250CDF
- msgbox BattleFrontier_BattlePyramidLobby_Text_25201B, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25201B, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CE8:: @ 8250CE8
- msgbox BattleFrontier_BattlePyramidLobby_Text_252068, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252068, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CF1:: @ 8250CF1
- msgbox BattleFrontier_BattlePyramidLobby_Text_2520BA, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2520BA, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250CFA:: @ 8250CFA
- msgbox BattleFrontier_BattlePyramidLobby_Text_252158, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252158, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D03:: @ 8250D03
- msgbox BattleFrontier_BattlePyramidLobby_Text_2521B4, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2521B4, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D0C:: @ 8250D0C
- msgbox BattleFrontier_BattlePyramidLobby_Text_252206, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252206, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D15:: @ 8250D15
- msgbox BattleFrontier_BattlePyramidLobby_Text_25225A, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25225A, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D1E:: @ 8250D1E
- msgbox BattleFrontier_BattlePyramidLobby_Text_2522AE, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2522AE, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D27:: @ 8250D27
- msgbox BattleFrontier_BattlePyramidLobby_Text_25230B, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25230B, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D30:: @ 8250D30
- msgbox BattleFrontier_BattlePyramidLobby_Text_252364, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252364, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D39:: @ 8250D39
- msgbox BattleFrontier_BattlePyramidLobby_Text_252403, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252403, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42
lockall
setvar VAR_0x8004, 7
setvar VAR_0x8005, 6
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -436,24 +436,24 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56
applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4
applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DCD
waitmovement 0
- msgbox BattleFrontier_BattlePyramidLobby_Text_251569, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A8E7C
+ special CallBattlePyramidFunction
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
- msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C
BattleFrontier_BattlePyramidLobby_EventScript_250D94:: @ 8250D94
- msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, MSGBOX_DEFAULT
BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C
message BattleFrontier_BattlePyramidLobby_Text_25161E
waitmessage
playse SE_EXPMAX
waitse
- msgbox BattleFrontier_BattlePyramidLobby_Text_251647, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251647, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5
waitmovement 0
@@ -493,7 +493,7 @@ BattleFrontier_BattlePyramidLobby_Movement_250DD8: @ 8250DD8
step_end
BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB
- msgbox BattleFrontier_BattlePyramidLobby_Text_2517FC, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2517FC, MSGBOX_DEFAULT
setflag FLAG_SPECIAL_FLAG_0x4004
special sub_81C6A94
compare VAR_RESULT, 0
@@ -504,7 +504,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB
end
BattleFrontier_BattlePyramidLobby_EventScript_250E00:: @ 8250E00
- msgbox BattleFrontier_BattlePyramidLobby_Text_251881, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251881, MSGBOX_DEFAULT
return
BattleFrontier_BattlePyramidLobby_EventScript_250E09:: @ 8250E09
@@ -539,23 +539,23 @@ BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60
return
BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F
- msgbox BattleFrontier_BattlePyramidLobby_Text_25194F, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25194F, MSGBOX_DEFAULT
message BattleFrontier_BattlePyramidLobby_Text_25197E
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
end
BattleFrontier_BattlePyramidLobby_EventScript_250E83:: @ 8250E83
- msgbox BattleFrontier_BattlePyramidLobby_Text_2524DA, 2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2524DA, MSGBOX_NPC
end
BattleFrontier_BattlePyramidLobby_EventScript_250E8C:: @ 8250E8C
- msgbox BattleFrontier_BattlePyramidLobby_Text_252595, 2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252595, MSGBOX_NPC
end
BattleFrontier_BattlePyramidLobby_EventScript_250E95:: @ 8250E95
lockall
- msgbox BattleFrontier_BattlePyramidLobby_Text_2526B6, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2526B6, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
end
@@ -573,22 +573,22 @@ BattleFrontier_BattlePyramidLobby_EventScript_250EA4:: @ 8250EA4
end
BattleFrontier_BattlePyramidLobby_EventScript_250EF7:: @ 8250EF7
- msgbox BattleFrontier_BattlePyramidLobby_Text_2526FC, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2526FC, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
end
BattleFrontier_BattlePyramidLobby_EventScript_250F05:: @ 8250F05
- msgbox BattleFrontier_BattlePyramidLobby_Text_2527A9, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2527A9, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
end
BattleFrontier_BattlePyramidLobby_EventScript_250F13:: @ 8250F13
- msgbox BattleFrontier_BattlePyramidLobby_Text_25285A, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25285A, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
end
BattleFrontier_BattlePyramidLobby_EventScript_250F21:: @ 8250F21
- msgbox BattleFrontier_BattlePyramidLobby_Text_252924, 4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252924, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
end
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
index 886b3fe01..7454dd10a 100644
--- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
@@ -9,7 +9,7 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6
setvar VAR_0x8004, 13
setvar VAR_0x8005, 200
setvar VAR_0x8006, 0
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_TEMP_F, 1
end
@@ -29,7 +29,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3
BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattlePyramidTop_EventScript_25510C
call BattleFrontier_BattlePyramidTop_EventScript_242170
@@ -37,14 +37,14 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4
BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C
copyvar VAR_TEMP_C, VAR_RESULT
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_TEMP_0
case 0, BattleFrontier_BattlePyramidTop_EventScript_255193
case 1, BattleFrontier_BattlePyramidTop_EventScript_252B66
case 2, BattleFrontier_BattlePyramidTop_EventScript_255193
setvar VAR_0x8004, 1
setvar VAR_0x8005, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
compare VAR_RESULT, 3
@@ -71,17 +71,17 @@ BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A
BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
setvar VAR_0x8004, 3
setvar VAR_0x8005, 1
- special sub_81A8E7C
+ special CallBattlePyramidFunction
special SavePlayerParty
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 9
- special sub_81A8E7C
+ special CallBattlePyramidFunction
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_F, 1
end
@@ -92,7 +92,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0
goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255236
compare VAR_TEMP_C, 0
goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255240
- msgbox BattleFrontier_BattlePyramidTop_Text_255410, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255410, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
waitmovement 0
@@ -110,18 +110,18 @@ BattleFrontier_BattlePyramidTop_EventScript_25521A:: @ 825521A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
waitstate
end
BattleFrontier_BattlePyramidTop_EventScript_255236:: @ 8255236
- msgbox BattleFrontier_BattlePyramidTop_Text_255BFE, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255BFE, MSGBOX_DEFAULT
closemessage
end
BattleFrontier_BattlePyramidTop_EventScript_255240:: @ 8255240
- msgbox BattleFrontier_BattlePyramidTop_Text_25551F, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_25551F, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
setvar VAR_TEMP_D, 1
closemessage
@@ -135,20 +135,20 @@ BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256
case 4, BattleFrontier_BattlePyramidTop_EventScript_255388
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2552D0
special SpawnScriptEventObject
applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_255669, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_25573E, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_25573E, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidTop_EventScript_2552DA
end
@@ -157,7 +157,7 @@ BattleFrontier_BattlePyramidTop_EventScript_2552D0:: @ 82552D0
waitmovement 0
BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA
- msgbox BattleFrontier_BattlePyramidTop_Text_255846, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255846, MSGBOX_DEFAULT
call BattleFrontier_BattlePyramidTop_EventScript_2553ED
playbgm MUS_PYRAMID_TOP, 0
compare VAR_RESULT, 1
@@ -166,36 +166,36 @@ BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA
BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_25521A
- msgbox BattleFrontier_BattlePyramidTop_Text_255873, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255873, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePyramidTop_Text_2558E9
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattlePyramidTop_Text_25591D, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePyramidTop_Text_25591D, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidTop_EventScript_25521A
BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255388
special SpawnScriptEventObject
applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_255951, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
waitmovement 0
- msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidTop_EventScript_255392
end
@@ -204,7 +204,7 @@ BattleFrontier_BattlePyramidTop_EventScript_255388:: @ 8255388
waitmovement 0
BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392
- msgbox BattleFrontier_BattlePyramidTop_Text_255AA1, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255AA1, MSGBOX_DEFAULT
call BattleFrontier_BattlePyramidTop_EventScript_2553ED
playbgm MUS_PYRAMID_TOP, 0
compare VAR_RESULT, 1
@@ -213,24 +213,24 @@ BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392
BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattlePyramidTop_EventScript_25521A
- msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, 4
+ msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePyramidTop_Text_255B59
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattlePyramidTop_Text_255B82, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattlePyramidTop_Text_255B82, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidTop_EventScript_25521A
BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED
closemessage
- setvar VAR_0x8004, 10
+ setvar VAR_0x8004, SPECIAL_BATTLE_PYRAMID
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
return
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc
index 55aed13a4..0fd75debb 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc
@@ -1,5 +1,5 @@
BattleFrontier_BattleTowerBattleRoom_EventObjects: @ 853B7D0
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 888
+ object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
index d687f83dd..2a0a2ce48 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
@@ -22,7 +22,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
@@ -33,7 +33,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3
@@ -45,7 +45,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
special sub_8161F74
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
switch VAR_RESULT
@@ -56,7 +56,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
special sub_8161F74
@@ -74,27 +74,27 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
waitmovement 0
removeobject 1
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
call_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
waitmovement 0
applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
waitmovement 0
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
setvar VAR_0x8004, 9
- special sub_81A1780
+ special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44
call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
@@ -129,7 +129,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241D72:: @ 8241D72
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C:: @ 8241D7C
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2423FC, 5
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2423FC, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E22
@@ -156,7 +156,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
special sub_8161F74
@@ -174,7 +174,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44
@@ -224,7 +224,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA:: @ 8241EBA
BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA:: @ 8241EBA
setvar VAR_0x8004, 17
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3
@@ -247,7 +247,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3
BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A
compare VAR_TEMP_2, 1
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22
@@ -288,16 +288,16 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_242029
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046
@@ -306,32 +306,32 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046
call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleTowerBattleRoom_Text_24270E
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF
@@ -340,17 +340,17 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF
call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
setvar VAR_0x8004, 12
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 2
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleTowerBattleRoom_Text_242932
waitmessage
waitfanfare
setvar VAR_0x8004, 13
- special sub_81A1780
- msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E:: @ 824210E
@@ -360,27 +360,27 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
- setvar VAR_0x8004, 0
+ setvar VAR_0x8004, SPECIAL_BATTLE_TOWER
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE
compare VAR_0x8004, 3
goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
setvar VAR_0x8004, 18
- special sub_81A1780
+ special CallFrontierUtilFunc
special HealPlayerParty
setvar VAR_0x8004, 21
- special sub_81A1780
+ special CallFrontierUtilFunc
BattleFrontier_BattleTowerBattleRoom_EventScript_24215A:: @ 824215A
setvar VAR_0x8004, 15
special sub_8161F74
setvar VAR_0x8004, 1
setvar VAR_0x8005, 5
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleArenaBattleRoom_EventScript_242170:: @ 8242170
@@ -390,7 +390,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_242170:: @ 8242170
BattleFrontier_BattlePyramidTop_EventScript_242170:: @ 8242170
BattleFrontier_BattleTowerBattleRoom_EventScript_242170:: @ 8242170
setvar VAR_0x8004, 22
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleTowerBattleRoom_Movement_242179: @ 8242179
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc
index 505a903da..90232cf5b 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc
@@ -1,8 +1,8 @@
BattleFrontier_BattleTowerBattleRoom2_EventObjects: @ 853BFC4
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 888
+ object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
- object_event 4, EVENT_OBJ_GFX_TRADER, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 888
+ object_event 4, EVENT_OBJ_GFX_TRADER, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT
object_event 5, 255, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
object_event 6, 254, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
index 556d4499a..fa17ef5af 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
@@ -47,7 +47,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4
applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
@@ -59,7 +59,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4
@@ -78,14 +78,14 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4
delay 15
applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
waitmovement 0
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
setvar VAR_0x8004, 7
setvar VAR_0x8005, 1
special sub_8161F74
applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
waitmovement 0
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249069
@@ -117,7 +117,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
special sub_8161F74
@@ -144,7 +144,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 3
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
- msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, 4
+ msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121
BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118
@@ -156,7 +156,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
special LoadPlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_FRONTIER_BATTLE_MODE, 3
call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
playfanfare MUS_ME_ASA
@@ -166,7 +166,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD
compare VAR_FRONTIER_BATTLE_MODE, 3
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
@@ -203,7 +203,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249219:: @ 8249219
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
BattleFrontier_BattleTowerBattleRoom2_EventScript_249223:: @ 8249223
- msgbox BattleFrontier_BattleTowerBattleRoom2_Text_2423FC, 5
+ msgbox BattleFrontier_BattleTowerBattleRoom2_Text_2423FC, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB
@@ -220,7 +220,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249251:: @ 8249251
BattleFrontier_BattleTowerBattleRoom2_EventScript_249283:: @ 8249283
closemessage
- clearflag FLAG_0x002
+ clearflag FLAG_TEMP_2
applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249526
applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249526
waitmovement 0
@@ -234,7 +234,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
special sub_8161F74
@@ -252,7 +252,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD
@@ -349,7 +349,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412
return
BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249457
multichoice 19, 6, 105, 1
switch VAR_RESULT
@@ -387,7 +387,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8:: @ 82494A8
case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
end
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/events.inc b/data/maps/BattleFrontier_BattleTowerLobby/events.inc
index 0961aa403..d100dec0b 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/events.inc
@@ -3,8 +3,8 @@ BattleFrontier_BattleTowerLobby_EventObjects: @ 853B638
object_event 2, EVENT_OBJ_GFX_MAN_4, 0, 23, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EEE7, 0
object_event 3, EVENT_OBJ_GFX_WOMAN_5, 0, 17, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0
object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 15, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, 918
- object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, 701
+ object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, FLAG_HIDE_BATTLE_TOWER_REPORTER
+ object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE
object_event 7, EVENT_OBJ_GFX_TEALA, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0
object_event 8, EVENT_OBJ_GFX_TEALA, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0
object_event 9, EVENT_OBJ_GFX_TEALA, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
index 73c56351f..018dbfb31 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
@@ -19,7 +19,7 @@ BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6C1
BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5
- clearflag FLAG_0x2BD
+ clearflag FLAG_HIDE_APPRENTICE
setvar VAR_0x8004, 23
special CallApprenticeFunction
@@ -27,7 +27,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E6C0:: @ 823E6C0
end
BattleFrontier_BattleTowerLobby_EventScript_23E6C1:: @ 823E6C1
- setflag FLAG_0x2BD
+ setflag FLAG_HIDE_APPRENTICE
goto BattleFrontier_BattleTowerLobby_EventScript_23E6C0
BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9
@@ -49,13 +49,13 @@ BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD
BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
lock
faceplayer
- msgbox BattleFrontier_BattleTowerLobby_Text_23F583, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F583, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
@@ -68,7 +68,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
release
end
@@ -77,7 +77,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758
lock
faceplayer
setvar VAR_0x8004, 10
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E778
message BattleFrontier_BattleTowerLobby_Text_23F60D
@@ -85,7 +85,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758
goto BattleFrontier_BattleTowerLobby_EventScript_23E780
BattleFrontier_BattleTowerLobby_EventScript_23E778:: @ 823E778
- msgbox BattleFrontier_BattleTowerLobby_Text_241486, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241486, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780
setvar VAR_0x8004, 5
@@ -96,12 +96,12 @@ BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox BattleFrontier_BattleTowerLobby_Text_23F89F, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F89F, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5
- msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, MSGBOX_DEFAULT
setvar VAR_0x8004, 11
- special sub_81A1780
+ special CallFrontierUtilFunc
msgbox BattleFrontier_BattleTowerLobby_Text_241520, 9
call BattleFrontier_BattleTowerLobby_EventScript_23E84D
setvar VAR_0x8004, 1
@@ -109,10 +109,10 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5
special sub_8161F74
compare VAR_RESULT, 49
goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E7E2
- msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
- msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
release
@@ -141,7 +141,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E830:: @ 823E830
message BattleFrontier_BattleTowerLobby_Text_23F6F7
waitmessage
call BattleFrontier_BattleTowerLobby_EventScript_23E84D
- msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
release
@@ -151,7 +151,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
message BattleFrontier_BattleTowerLobby_Text_23F70F
waitmessage
setvar VAR_0x8004, 8
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
special HealPlayerParty
setvar VAR_0x8004, 6
@@ -182,15 +182,15 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4:: @ 823E8B4
BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4
setvar VAR_0x8004, 19
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7
playse SE_SAVE
- msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF
BattleFrontier_BattleTowerLobby_EventScript_23E8D7:: @ 823E8D7
- msgbox gText_BattleRecordCouldntBeSaved, 4
+ msgbox gText_BattleRecordCouldntBeSaved, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E8DF:: @ 823E8DF
return
@@ -208,7 +208,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0:: @ 823E8E0
BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 6
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
@@ -228,7 +228,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
end
@@ -241,7 +241,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_240537, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240537, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948
message BattleFrontier_BattleTowerLobby_Text_2405B3
@@ -262,14 +262,14 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -278,7 +278,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA2A
@@ -287,7 +287,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0
special sub_8161F74
@@ -298,7 +298,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -312,7 +312,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
end
BattleFrontier_BattleTowerLobby_EventScript_23EA91:: @ 823EA91
- msgbox BattleFrontier_BattleTowerLobby_Text_2405EC, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2405EC, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23E948
end
@@ -321,7 +321,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1
message BattleFrontier_BattleTowerLobby_Text_24085E
@@ -342,14 +342,14 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleTowerLobby_Text_240A50, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleTowerLobby_Text_240A50, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -358,7 +358,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
case 1, BattleFrontier_BattleTowerLobby_EventScript_23EB93
@@ -367,7 +367,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0
special sub_8161F74
@@ -378,7 +378,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -392,7 +392,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
end
BattleFrontier_BattleTowerLobby_EventScript_23EBFA:: @ 823EBFA
- msgbox BattleFrontier_BattleTowerLobby_Text_240897, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240897, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23EAB1
end
@@ -402,7 +402,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08
setvar VAR_FRONTIER_FACILITY, 0
clearflag FLAG_0x152
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D
message BattleFrontier_BattleTowerLobby_Text_240B06
@@ -423,14 +423,14 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -439,7 +439,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
case 1, BattleFrontier_BattleTowerLobby_EventScript_23ECFF
@@ -448,7 +448,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0
special sub_8161F74
@@ -459,7 +459,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -473,7 +473,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
end
BattleFrontier_BattleTowerLobby_EventScript_23ED66:: @ 823ED66
- msgbox BattleFrontier_BattleTowerLobby_Text_240B3E, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240B3E, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23EC1D
end
@@ -482,7 +482,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74
faceplayer
setvar VAR_FRONTIER_FACILITY, 0
special SavePlayerParty
- msgbox BattleFrontier_BattleTowerLobby_Text_240E15, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240E15, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86
message BattleFrontier_BattleTowerLobby_Text_240E95
@@ -503,14 +503,14 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
- msgbox BattleFrontier_BattleTowerLobby_Text_24115E, 4
+ special CallFrontierUtilFunc
+ msgbox BattleFrontier_BattleTowerLobby_Text_24115E, MSGBOX_DEFAULT
fadescreen 1
call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
copyvar VAR_0x8004, VAR_RESULT
@@ -519,7 +519,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
- msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
case 1, BattleFrontier_BattleTowerLobby_EventScript_23EE68
@@ -528,7 +528,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 0
special sub_8161F74
@@ -539,7 +539,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -573,7 +573,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EEE7:: @ 823EEE7
end
BattleFrontier_BattleTowerLobby_EventScript_23EF32:: @ 823EF32
- msgbox BattleFrontier_BattleTowerLobby_Text_23F969, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F969, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
call BattleFrontier_BattleTowerLobby_EventScript_271E7C
lock
@@ -582,7 +582,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EF32:: @ 823EF32
end
BattleFrontier_BattleTowerLobby_EventScript_23EF4C:: @ 823EF4C
- msgbox BattleFrontier_BattleTowerLobby_Text_23F9AA, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F9AA, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
call BattleFrontier_BattleTowerLobby_EventScript_271E7C
lock
@@ -591,7 +591,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EF4C:: @ 823EF4C
end
BattleFrontier_BattleTowerLobby_EventScript_23EF66:: @ 823EF66
- msgbox BattleFrontier_BattleTowerLobby_Text_23F9D4, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F9D4, MSGBOX_DEFAULT
setvar VAR_0x8004, 3
call BattleFrontier_BattleTowerLobby_EventScript_271E7C
lock
@@ -600,7 +600,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EF66:: @ 823EF66
end
BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80
- msgbox BattleFrontier_BattleTowerLobby_Text_23FA0F, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FA0F, MSGBOX_DEFAULT
release
end
@@ -612,21 +612,21 @@ BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A
end
BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1
- msgbox BattleFrontier_BattleTowerLobby_Text_23FA4F, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FA4F, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_23EFAB:: @ 823EFAB
- msgbox BattleFrontier_BattleTowerLobby_Text_23FA83, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FA83, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_23EFB5:: @ 823EFB5
- msgbox BattleFrontier_BattleTowerLobby_Text_23FAC0, 2
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FAC0, MSGBOX_NPC
end
BattleFrontier_BattleTowerLobby_EventScript_23EFBE:: @ 823EFBE
- msgbox BattleFrontier_BattleTowerLobby_Text_23FB26, 2
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FB26, MSGBOX_NPC
end
BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7
@@ -634,7 +634,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -645,7 +645,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EFE0:: @ 823EFE0
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -656,7 +656,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EFF9:: @ 823EFF9
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
setvar VAR_0x8006, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -667,7 +667,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -682,17 +682,17 @@ BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046
switch VAR_FRONTIER_BATTLE_MODE
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D
- msgbox BattleFrontier_BattleTowerLobby_Text_24038B, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_24038B, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
BattleFrontier_BattleTowerLobby_EventScript_23F06F:: @ 823F06F
- msgbox BattleFrontier_BattleTowerLobby_Text_240027, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240027, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D
- msgbox BattleFrontier_BattleTowerLobby_Text_2401DB, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2401DB, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
@@ -700,24 +700,24 @@ BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B
switch VAR_FRONTIER_BATTLE_MODE
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4
case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2
- msgbox BattleFrontier_BattleTowerLobby_Text_24046B, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_24046B, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
BattleFrontier_BattleTowerLobby_EventScript_23F0B4:: @ 823F0B4
- msgbox BattleFrontier_BattleTowerLobby_Text_24010B, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_24010B, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
BattleFrontier_BattleTowerLobby_EventScript_23F0C2:: @ 823F0C2
- msgbox BattleFrontier_BattleTowerLobby_Text_2402BD, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2402BD, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
end
BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerLobby_EventScript_23F0E6
end
@@ -726,7 +726,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3
BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
special CloseLink
- msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
release
@@ -736,7 +736,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3
special SavePlayerParty
setvar VAR_0x8004, 3
call BattleFrontier_BattleTowerLobby_EventScript_23F272
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_RESULT, 0
BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
@@ -756,7 +756,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135
call BattleFrontier_BattleTowerLobby_EventScript_23F1A7
compare VAR_FRONTIER_BATTLE_MODE, 3
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
- msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F15B
BattleFrontier_BattleTowerLobby_EventScript_23F152:: @ 823F152
@@ -924,7 +924,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
return
BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
@@ -954,20 +954,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327
special CloseLink
compare VAR_0x8005, 3
goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
- msgbox BattleFrontier_BattleTowerLobby_Text_278255, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_278255, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F
- msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, 4
- msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, MSGBOX_DEFAULT
+ msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351
- msgbox BattleFrontier_BattleTowerLobby_Text_241240, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241240, MSGBOX_DEFAULT
special CloseLink
- msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, MSGBOX_DEFAULT
release
end
@@ -979,20 +979,20 @@ BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F39D
compare VAR_0x8005, 2
call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F3A6
- msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_23F394:: @ 823F394
- msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_23F39D:: @ 823F39D
- msgbox BattleFrontier_BattleTowerLobby_Text_241285, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241285, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_23F3A6:: @ 823F3A6
- msgbox BattleFrontier_BattleTowerLobby_Text_2412B3, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2412B3, MSGBOX_DEFAULT
return
BattleFrontier_BattleTowerLobby_EventScript_23F3AF:: @ 823F3AF
@@ -1012,7 +1012,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F3AF:: @ 823F3AF
end
BattleFrontier_BattleTowerLobby_EventScript_23F3DA:: @ 823F3DA
- msgbox BattleFrontier_BattleTowerLobby_Text_240ED2, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_240ED2, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23ED86
end
@@ -1075,7 +1075,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F496:: @ 823F496
BattleFrontier_BattleTowerLobby_EventScript_23F4BE:: @ 823F4BE
lockall
- msgbox BattleFrontier_BattleTowerLobby_Text_241540, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241540, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
end
@@ -1093,22 +1093,22 @@ BattleFrontier_BattleTowerLobby_EventScript_23F4CD:: @ 823F4CD
end
BattleFrontier_BattleTowerLobby_EventScript_23F520:: @ 823F520
- msgbox BattleFrontier_BattleTowerLobby_Text_241586, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241586, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
end
BattleFrontier_BattleTowerLobby_EventScript_23F52E:: @ 823F52E
- msgbox BattleFrontier_BattleTowerLobby_Text_241693, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241693, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
end
BattleFrontier_BattleTowerLobby_EventScript_23F53C:: @ 823F53C
- msgbox BattleFrontier_BattleTowerLobby_Text_241777, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_241777, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
end
BattleFrontier_BattleTowerLobby_EventScript_23F54A:: @ 823F54A
- msgbox BattleFrontier_BattleTowerLobby_Text_24187E, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_24187E, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
end
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc
index 533e6af8b..9212f2fd2 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc
@@ -1,13 +1,13 @@
BattleFrontier_BattleTowerMultiBattleRoom_EventObjects: @ 853BE64
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, 711
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, 712
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, 713
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, 714
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, 715
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, 716
- object_event 8, 246, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, 864
- object_event 9, 247, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, 865
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
+ object_event 8, 246, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
+ object_event 9, 247, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
BattleFrontier_BattleTowerMultiBattleRoom_MapEvents:: @ 853BF3C
map_events BattleFrontier_BattleTowerMultiBattleRoom_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
index a2f003b85..b2b05a054 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
@@ -7,20 +7,20 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7
setvar VAR_0x8004, 17
- special sub_81A8E7C
+ special CallBattlePyramidFunction
end
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0
checkflag FLAG_0x152
goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA
- clearflag FLAG_0x2C7
- clearflag FLAG_0x2C8
- clearflag FLAG_0x2C9
- clearflag FLAG_0x2CA
- clearflag FLAG_0x2CB
- clearflag FLAG_0x2CC
- setflag FLAG_0x360
- setflag FLAG_0x361
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
+ clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
+ setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
+ setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
setvar VAR_0x8004, 10
special sub_8161F74
end
@@ -67,7 +67,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41
moveobjectoffscreen 1
applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
waitmovement 0
- msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, 4
+ msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT
special HealPlayerParty
setvar VAR_TEMP_1, 1
releaseall
@@ -90,7 +90,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A
multichoicedefault 20, 8, 94, 1, 0
compare VAR_RESULT, 0
goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D
- msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, 4
+ msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, MSGBOX_DEFAULT
release
end
@@ -98,12 +98,12 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03
end
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5
- msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, 4
+ msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
waitmovement 0
diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc
index ba8ca0cb6..b8b199ee2 100644
--- a/data/maps/BattleFrontier_Lounge1/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge1/scripts.inc
@@ -22,11 +22,11 @@ BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792
end
BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD
- msgbox BattleFrontier_Lounge1_Text_25E95F, 4
+ msgbox BattleFrontier_Lounge1_Text_25E95F, MSGBOX_DEFAULT
return
BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6
- msgbox BattleFrontier_Lounge1_Text_25EEF6, 4
+ msgbox BattleFrontier_Lounge1_Text_25EEF6, MSGBOX_DEFAULT
return
BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF
@@ -45,7 +45,7 @@ BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF
end
BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF
- msgbox BattleFrontier_Lounge1_Text_25EF5E, 4
+ msgbox BattleFrontier_Lounge1_Text_25EF5E, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E792
end
@@ -80,86 +80,86 @@ BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D
end
BattleFrontier_Lounge1_EventScript_25E87F:: @ 825E87F
- msgbox BattleFrontier_Lounge1_Text_25EA92, 4
+ msgbox BattleFrontier_Lounge1_Text_25EA92, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E80D
end
BattleFrontier_Lounge1_EventScript_25E88D:: @ 825E88D
- msgbox BattleFrontier_Lounge1_Text_25EAD9, 4
+ msgbox BattleFrontier_Lounge1_Text_25EAD9, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E80D
end
BattleFrontier_Lounge1_EventScript_25E89B:: @ 825E89B
- msgbox BattleFrontier_Lounge1_Text_25EB2A, 4
+ msgbox BattleFrontier_Lounge1_Text_25EB2A, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E80D
end
BattleFrontier_Lounge1_EventScript_25E8A9:: @ 825E8A9
- msgbox BattleFrontier_Lounge1_Text_25EB6F, 4
+ msgbox BattleFrontier_Lounge1_Text_25EB6F, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E80D
end
BattleFrontier_Lounge1_EventScript_25E8B7:: @ 825E8B7
- msgbox BattleFrontier_Lounge1_Text_25EBBB, 4
+ msgbox BattleFrontier_Lounge1_Text_25EBBB, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E850
end
BattleFrontier_Lounge1_EventScript_25E8C5:: @ 825E8C5
- msgbox BattleFrontier_Lounge1_Text_25EBF8, 4
+ msgbox BattleFrontier_Lounge1_Text_25EBF8, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E850
end
BattleFrontier_Lounge1_EventScript_25E8D3:: @ 825E8D3
- msgbox BattleFrontier_Lounge1_Text_25EC39, 4
+ msgbox BattleFrontier_Lounge1_Text_25EC39, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E850
end
BattleFrontier_Lounge1_EventScript_25E8E1:: @ 825E8E1
- msgbox BattleFrontier_Lounge1_Text_25ED0E, 4
+ msgbox BattleFrontier_Lounge1_Text_25ED0E, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E850
end
BattleFrontier_Lounge1_EventScript_25E8EF:: @ 825E8EF
- msgbox BattleFrontier_Lounge1_Text_25EC7B, 4
+ msgbox BattleFrontier_Lounge1_Text_25EC7B, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E850
end
BattleFrontier_Lounge1_EventScript_25E8FD:: @ 825E8FD
- msgbox BattleFrontier_Lounge1_Text_25ECC4, 4
+ msgbox BattleFrontier_Lounge1_Text_25ECC4, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E850
end
BattleFrontier_Lounge1_EventScript_25E90B:: @ 825E90B
- msgbox BattleFrontier_Lounge1_Text_25ED4E, 4
+ msgbox BattleFrontier_Lounge1_Text_25ED4E, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E87D
end
BattleFrontier_Lounge1_EventScript_25E919:: @ 825E919
- msgbox BattleFrontier_Lounge1_Text_25ED87, 4
+ msgbox BattleFrontier_Lounge1_Text_25ED87, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E87D
end
BattleFrontier_Lounge1_EventScript_25E927:: @ 825E927
- msgbox BattleFrontier_Lounge1_Text_25EDC1, 4
+ msgbox BattleFrontier_Lounge1_Text_25EDC1, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E87D
end
BattleFrontier_Lounge1_EventScript_25E935:: @ 825E935
- msgbox BattleFrontier_Lounge1_Text_25EDF6, 4
+ msgbox BattleFrontier_Lounge1_Text_25EDF6, MSGBOX_DEFAULT
goto BattleFrontier_Lounge1_EventScript_25E87D
end
BattleFrontier_Lounge1_EventScript_25E943:: @ 825E943
- msgbox BattleFrontier_Lounge1_Text_25EE37, 4
+ msgbox BattleFrontier_Lounge1_Text_25EE37, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge1_EventScript_25E94D:: @ 825E94D
- msgbox BattleFrontier_Lounge1_Text_25EFDD, 2
+ msgbox BattleFrontier_Lounge1_Text_25EFDD, MSGBOX_NPC
end
BattleFrontier_Lounge1_EventScript_25E956:: @ 825E956
- msgbox BattleFrontier_Lounge1_Text_25F020, 2
+ msgbox BattleFrontier_Lounge1_Text_25F020, MSGBOX_NPC
end
BattleFrontier_Lounge1_Text_25E95F: @ 825E95F
diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc
index bbb298b5b..fed3672be 100644
--- a/data/maps/BattleFrontier_Lounge2/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge2/scripts.inc
@@ -7,12 +7,12 @@ BattleFrontier_Lounge2_EventScript_260643:: @ 8260643
checkflag FLAG_0x154
goto_eq BattleFrontier_Lounge2_EventScript_26065F
setflag FLAG_0x154
- msgbox BattleFrontier_Lounge2_Text_260766, 4
+ msgbox BattleFrontier_Lounge2_Text_260766, MSGBOX_DEFAULT
goto BattleFrontier_Lounge2_EventScript_26066D
end
BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F
- msgbox BattleFrontier_Lounge2_Text_260857, 4
+ msgbox BattleFrontier_Lounge2_Text_260857, MSGBOX_DEFAULT
goto BattleFrontier_Lounge2_EventScript_26066D
end
@@ -48,11 +48,11 @@ BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D
end
BattleFrontier_Lounge2_EventScript_2606F8:: @ 82606F8
- msgbox BattleFrontier_Lounge2_Text_260933, 4
+ msgbox BattleFrontier_Lounge2_Text_260933, MSGBOX_DEFAULT
return
BattleFrontier_Lounge2_EventScript_260701:: @ 8260701
- msgbox BattleFrontier_Lounge2_Text_2608F2, 4
+ msgbox BattleFrontier_Lounge2_Text_2608F2, MSGBOX_DEFAULT
return
BattleFrontier_Lounge2_EventScript_26070A:: @ 826070A
@@ -97,24 +97,24 @@ BattleFrontier_Lounge2_EventScript_260737:: @ 8260737
BattleFrontier_Lounge2_EventScript_26073C:: @ 826073C
lock
- msgbox BattleFrontier_Lounge2_Text_261C9C, 4
+ msgbox BattleFrontier_Lounge2_Text_261C9C, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge2_EventScript_260747:: @ 8260747
lock
- msgbox BattleFrontier_Lounge2_Text_261CDC, 4
+ msgbox BattleFrontier_Lounge2_Text_261CDC, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge2_EventScript_260752:: @ 8260752
lock
- msgbox BattleFrontier_Lounge2_Text_261D1D, 4
+ msgbox BattleFrontier_Lounge2_Text_261D1D, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge2_EventScript_26075D:: @ 826075D
- msgbox BattleFrontier_Lounge2_Text_261D5C, 2
+ msgbox BattleFrontier_Lounge2_Text_261D5C, MSGBOX_NPC
end
BattleFrontier_Lounge2_Text_260766:: @ 8260766
diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc
index 2638541b2..e1e6c68a5 100644
--- a/data/maps/BattleFrontier_Lounge3/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge3/scripts.inc
@@ -10,7 +10,7 @@ BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83
compare VAR_0x8004, 2
goto_if 3, BattleFrontier_Lounge3_EventScript_261EEB
setflag FLAG_0x157
- msgbox BattleFrontier_Lounge3_Text_262061, 4
+ msgbox BattleFrontier_Lounge3_Text_262061, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261DAF
end
@@ -18,10 +18,10 @@ BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
special sub_813A820
waitmessage
waitbuttonpress
- msgbox BattleFrontier_Lounge3_Text_262A60, 5
+ msgbox BattleFrontier_Lounge3_Text_262A60, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_Lounge3_EventScript_261FA5
- msgbox BattleFrontier_Lounge3_Text_262ABD, 5
+ msgbox BattleFrontier_Lounge3_Text_262ABD, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_Lounge3_EventScript_261FA5
message BattleFrontier_Lounge3_Text_262B42
@@ -60,7 +60,7 @@ BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51
specialvar VAR_TEMP_1, sub_813AA04
compare VAR_TEMP_1, VAR_0x8008
goto_if 4, BattleFrontier_Lounge3_EventScript_261E75
- msgbox BattleFrontier_Lounge3_Text_262B6E, 4
+ msgbox BattleFrontier_Lounge3_Text_262B6E, MSGBOX_DEFAULT
message BattleFrontier_Lounge3_Text_262B42
waitmessage
goto BattleFrontier_Lounge3_EventScript_261DE9
@@ -72,7 +72,7 @@ BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75
setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
special sub_813A8FC
playse SE_REGI
- msgbox BattleFrontier_Lounge3_Text_262BE0, 4
+ msgbox BattleFrontier_Lounge3_Text_262BE0, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261E96
end
@@ -107,12 +107,12 @@ BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5
return
BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB
- msgbox BattleFrontier_Lounge3_Text_261FFE, 4
+ msgbox BattleFrontier_Lounge3_Text_261FFE, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261FF1
end
BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9
- msgbox BattleFrontier_Lounge3_Text_26346B, 4
+ msgbox BattleFrontier_Lounge3_Text_26346B, MSGBOX_DEFAULT
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
goto_if 4, BattleFrontier_Lounge3_EventScript_261F12
goto BattleFrontier_Lounge3_EventScript_261DAF
@@ -127,7 +127,7 @@ BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12
end
BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
- msgbox BattleFrontier_Lounge3_Text_263334, 4
+ msgbox BattleFrontier_Lounge3_Text_263334, MSGBOX_DEFAULT
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0
call_if 1, BattleFrontier_Lounge3_EventScript_261F80
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1
@@ -136,13 +136,13 @@ BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
call_if 1, BattleFrontier_Lounge3_EventScript_261F94
msgbox BattleFrontier_Lounge3_Text_2633D4, 9
special sub_813A9D0
- msgbox BattleFrontier_Lounge3_Text_2633F2, 4
+ msgbox BattleFrontier_Lounge3_Text_2633F2, MSGBOX_DEFAULT
setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
release
end
BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71
- msgbox BattleFrontier_Lounge3_Text_263298, 4
+ msgbox BattleFrontier_Lounge3_Text_263298, MSGBOX_DEFAULT
setvar VAR_FRONTIER_GAMBLER_PLACED_BET_F, 0
release
end
@@ -170,7 +170,7 @@ BattleFrontier_Lounge3_EventScript_261F9E:: @ 8261F9E
end
BattleFrontier_Lounge3_EventScript_261FA5:: @ 8261FA5
- msgbox BattleFrontier_Lounge3_Text_26342D, 4
+ msgbox BattleFrontier_Lounge3_Text_26342D, MSGBOX_DEFAULT
release
end
@@ -180,27 +180,27 @@ BattleFrontier_Lounge3_EventScript_261FAF:: @ 8261FAF
end
BattleFrontier_Lounge3_EventScript_261FB8:: @ 8261FB8
- msgbox BattleFrontier_Lounge3_Text_263545, 2
+ msgbox BattleFrontier_Lounge3_Text_263545, MSGBOX_NPC
end
BattleFrontier_Lounge3_EventScript_261FC1:: @ 8261FC1
lock
faceplayer
- msgbox BattleFrontier_Lounge3_Text_26346F, 4
+ msgbox BattleFrontier_Lounge3_Text_26346F, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261FF1
end
BattleFrontier_Lounge3_EventScript_261FD1:: @ 8261FD1
lock
faceplayer
- msgbox BattleFrontier_Lounge3_Text_26351D, 4
+ msgbox BattleFrontier_Lounge3_Text_26351D, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261FF1
end
BattleFrontier_Lounge3_EventScript_261FE1:: @ 8261FE1
lock
faceplayer
- msgbox BattleFrontier_Lounge3_Text_2634C9, 4
+ msgbox BattleFrontier_Lounge3_Text_2634C9, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261FF1
end
diff --git a/data/maps/BattleFrontier_Lounge4/scripts.inc b/data/maps/BattleFrontier_Lounge4/scripts.inc
index 1108ceee7..5e666c9ef 100644
--- a/data/maps/BattleFrontier_Lounge4/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge4/scripts.inc
@@ -2,15 +2,15 @@ BattleFrontier_Lounge4_MapScripts:: @ 826358C
.byte 0
BattleFrontier_Lounge4_EventScript_26358D:: @ 826358D
- msgbox BattleFrontier_Lounge4_Text_2635A8, 2
+ msgbox BattleFrontier_Lounge4_Text_2635A8, MSGBOX_NPC
end
BattleFrontier_Lounge4_EventScript_263596:: @ 8263596
- msgbox BattleFrontier_Lounge4_Text_2635EC, 2
+ msgbox BattleFrontier_Lounge4_Text_2635EC, MSGBOX_NPC
end
BattleFrontier_Lounge4_EventScript_26359F:: @ 826359F
- msgbox BattleFrontier_Lounge4_Text_263625, 2
+ msgbox BattleFrontier_Lounge4_Text_263625, MSGBOX_NPC
end
BattleFrontier_Lounge4_Text_2635A8: @ 82635A8
diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc
index bb1feceec..6c3ca56fd 100644
--- a/data/maps/BattleFrontier_Lounge5/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge5/scripts.inc
@@ -4,7 +4,7 @@ BattleFrontier_Lounge5_MapScripts:: @ 82645C5
BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6
lock
faceplayer
- msgbox BattleFrontier_Lounge5_Text_264632, 5
+ msgbox BattleFrontier_Lounge5_Text_264632, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_Lounge5_EventScript_26460D
special sub_81B94B0
@@ -23,25 +23,25 @@ BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6
end
BattleFrontier_Lounge5_EventScript_264603:: @ 8264603
- msgbox BattleFrontier_Lounge5_Text_264EEE, 4
+ msgbox BattleFrontier_Lounge5_Text_264EEE, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge5_EventScript_26460D:: @ 826460D
- msgbox BattleFrontier_Lounge5_Text_26467F, 4
+ msgbox BattleFrontier_Lounge5_Text_26467F, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge5_EventScript_264617:: @ 8264617
- msgbox BattleFrontier_Lounge5_Text_264F22, 2
+ msgbox BattleFrontier_Lounge5_Text_264F22, MSGBOX_NPC
end
BattleFrontier_Lounge5_EventScript_264620:: @ 8264620
- msgbox BattleFrontier_Lounge5_Text_264F64, 2
+ msgbox BattleFrontier_Lounge5_Text_264F64, MSGBOX_NPC
end
BattleFrontier_Lounge5_EventScript_264629:: @ 8264629
- msgbox BattleFrontier_Lounge5_Text_264FAB, 2
+ msgbox BattleFrontier_Lounge5_Text_264FAB, MSGBOX_NPC
end
BattleFrontier_Lounge5_Text_264632:: @ 8264632
diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc
index c779e7c76..2f929f082 100644
--- a/data/maps/BattleFrontier_Lounge6/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge6/scripts.inc
@@ -10,7 +10,7 @@ BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
- msgbox BattleFrontier_Lounge6_Text_26508D, 5
+ msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_Lounge6_EventScript_26506B
special sub_81B94B0
@@ -28,24 +28,24 @@ BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED
special sub_807EA10
special sub_807F0E4
waitstate
- msgbox BattleFrontier_Lounge6_Text_265128, 4
+ msgbox BattleFrontier_Lounge6_Text_265128, MSGBOX_DEFAULT
setflag FLAG_0x09C
release
end
BattleFrontier_Lounge6_EventScript_26506B:: @ 826506B
- msgbox BattleFrontier_Lounge6_Text_2651CB, 4
+ msgbox BattleFrontier_Lounge6_Text_2651CB, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge6_EventScript_265075:: @ 8265075
bufferspeciesname 0, VAR_0x8009
- msgbox BattleFrontier_Lounge6_Text_26518D, 4
+ msgbox BattleFrontier_Lounge6_Text_26518D, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge6_EventScript_265083:: @ 8265083
- msgbox BattleFrontier_Lounge6_Text_26520E, 4
+ msgbox BattleFrontier_Lounge6_Text_26520E, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc
index 0b810d4f7..882f7a7eb 100644
--- a/data/maps/BattleFrontier_Lounge7/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge7/scripts.inc
@@ -7,13 +7,13 @@ BattleFrontier_Lounge7_EventScript_265255:: @ 8265255
setvar VAR_TEMP_C, 9
checkflag FLAG_0x15A
goto_eq BattleFrontier_Lounge7_EventScript_265276
- msgbox BattleFrontier_Lounge7_Text_2656ED, 4
+ msgbox BattleFrontier_Lounge7_Text_2656ED, MSGBOX_DEFAULT
setflag FLAG_0x15A
goto BattleFrontier_Lounge7_EventScript_265284
end
BattleFrontier_Lounge7_EventScript_265276:: @ 8265276
- msgbox BattleFrontier_Lounge7_Text_2658AB, 4
+ msgbox BattleFrontier_Lounge7_Text_2658AB, MSGBOX_DEFAULT
goto BattleFrontier_Lounge7_EventScript_265284
end
@@ -122,13 +122,13 @@ BattleFrontier_Lounge7_EventScript_265445:: @ 8265445
setvar VAR_TEMP_C, 10
checkflag FLAG_0x15B
goto_eq BattleFrontier_Lounge7_EventScript_265466
- msgbox BattleFrontier_Lounge7_Text_265A6C, 4
+ msgbox BattleFrontier_Lounge7_Text_265A6C, MSGBOX_DEFAULT
setflag FLAG_0x15B
goto BattleFrontier_Lounge7_EventScript_265474
end
BattleFrontier_Lounge7_EventScript_265466:: @ 8265466
- msgbox BattleFrontier_Lounge7_Text_265C2C, 4
+ msgbox BattleFrontier_Lounge7_Text_265C2C, MSGBOX_DEFAULT
goto BattleFrontier_Lounge7_EventScript_265474
end
@@ -234,12 +234,12 @@ BattleFrontier_Lounge7_EventScript_26562A:: @ 826562A
BattleFrontier_Lounge7_EventScript_265635:: @ 8265635
special sub_813ADB8
special sub_813A988
- msgbox BattleFrontier_Lounge7_Text_265A0E, 4
+ msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT
release
end
BattleFrontier_Lounge7_EventScript_265645:: @ 8265645
- msgbox BattleFrontier_Lounge7_Text_265A0E, 4
+ msgbox BattleFrontier_Lounge7_Text_265A0E, MSGBOX_DEFAULT
release
end
@@ -249,18 +249,18 @@ BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F
special sub_813AC7C
buffernumberstring 1, VAR_0x8008
copyvar VAR_0x8004, VAR_TEMP_C
- msgbox BattleFrontier_Lounge7_Text_265921, 5
+ msgbox BattleFrontier_Lounge7_Text_265921, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_Lounge7_EventScript_2656CA
specialvar VAR_TEMP_1, sub_813AA04
compare VAR_TEMP_1, VAR_0x8008
goto_if 4, BattleFrontier_Lounge7_EventScript_265696
- msgbox BattleFrontier_Lounge7_Text_265997, 4
+ msgbox BattleFrontier_Lounge7_Text_265997, MSGBOX_DEFAULT
goto BattleFrontier_Lounge7_EventScript_2656CA
end
BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
- msgbox BattleFrontier_Lounge7_Text_26595A, 4
+ msgbox BattleFrontier_Lounge7_Text_26595A, MSGBOX_DEFAULT
special sub_813AEB4
fadescreen 1
special sub_813A988
@@ -269,7 +269,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
waitstate
compare VAR_RESULT, 0
goto_eq BattleFrontier_Lounge7_EventScript_265645
- msgbox BattleFrontier_Lounge7_Text_2659C7, 4
+ msgbox BattleFrontier_Lounge7_Text_2659C7, MSGBOX_DEFAULT
copyvar VAR_0x8004, VAR_0x8008
special sub_813A9A4
release
@@ -282,11 +282,11 @@ BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA
end
BattleFrontier_Lounge7_EventScript_2656DB:: @ 82656DB
- msgbox BattleFrontier_Lounge7_Text_265C6F, 2
+ msgbox BattleFrontier_Lounge7_Text_265C6F, MSGBOX_NPC
end
BattleFrontier_Lounge7_EventScript_2656E4:: @ 82656E4
- msgbox BattleFrontier_Lounge7_Text_265D17, 2
+ msgbox BattleFrontier_Lounge7_Text_265D17, MSGBOX_NPC
end
BattleFrontier_Lounge7_Text_2656ED: @ 82656ED
diff --git a/data/maps/BattleFrontier_Lounge8/scripts.inc b/data/maps/BattleFrontier_Lounge8/scripts.inc
index 35f83baff..e6399433e 100644
--- a/data/maps/BattleFrontier_Lounge8/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge8/scripts.inc
@@ -2,15 +2,15 @@ BattleFrontier_Lounge8_MapScripts:: @ 82676C9
.byte 0
BattleFrontier_Lounge8_EventScript_2676CA:: @ 82676CA
- msgbox BattleFrontier_Lounge8_Text_2676E5, 2
+ msgbox BattleFrontier_Lounge8_Text_2676E5, MSGBOX_NPC
end
BattleFrontier_Lounge8_EventScript_2676D3:: @ 82676D3
- msgbox BattleFrontier_Lounge8_Text_26779C, 2
+ msgbox BattleFrontier_Lounge8_Text_26779C, MSGBOX_NPC
end
BattleFrontier_Lounge8_EventScript_2676DC:: @ 82676DC
- msgbox BattleFrontier_Lounge8_Text_26782C, 2
+ msgbox BattleFrontier_Lounge8_Text_26782C, MSGBOX_NPC
end
BattleFrontier_Lounge8_Text_2676E5: @ 82676E5
diff --git a/data/maps/BattleFrontier_Mart/scripts.inc b/data/maps/BattleFrontier_Mart/scripts.inc
index 0b7f5b767..f3708b565 100644
--- a/data/maps/BattleFrontier_Mart/scripts.inc
+++ b/data/maps/BattleFrontier_Mart/scripts.inc
@@ -7,7 +7,7 @@ BattleFrontier_Mart_EventScript_267ACC:: @ 8267ACC
message gUnknown_08272A21
waitmessage
pokemart BattleFrontier_Mart_Pokemart_267AE4
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -31,19 +31,19 @@ BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4
end
BattleFrontier_Mart_EventScript_267B02:: @ 8267B02
- msgbox BattleFrontier_Mart_Text_267B29, 2
+ msgbox BattleFrontier_Mart_Text_267B29, MSGBOX_NPC
end
BattleFrontier_Mart_EventScript_267B0B:: @ 8267B0B
lock
applymovement 2, BattleFrontier_Mart_Movement_2725B0
waitmovement 0
- msgbox BattleFrontier_Mart_Text_267B8F, 4
+ msgbox BattleFrontier_Mart_Text_267B8F, MSGBOX_DEFAULT
release
end
BattleFrontier_Mart_EventScript_267B20:: @ 8267B20
- msgbox BattleFrontier_Mart_Text_267C01, 2
+ msgbox BattleFrontier_Mart_Text_267C01, MSGBOX_NPC
end
BattleFrontier_Mart_Text_267B29: @ 8267B29
diff --git a/data/maps/BattleFrontier_OutsideEast/events.inc b/data/maps/BattleFrontier_OutsideEast/events.inc
index dab98712a..a16bca779 100644
--- a/data/maps/BattleFrontier_OutsideEast/events.inc
+++ b/data/maps/BattleFrontier_OutsideEast/events.inc
@@ -12,7 +12,7 @@ BattleFrontier_OutsideEast_EventObjects: @ 853BB10
object_event 11, EVENT_OBJ_GFX_TWIN, 0, 18, 40, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242CCD, 0
object_event 12, EVENT_OBJ_GFX_MAN_1, 0, 17, 40, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242CD6, 0
object_event 13, EVENT_OBJ_GFX_ZIGZAGOON_2, 0, 40, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242C9F, 0
- object_event 14, EVENT_OBJ_GFX_SUDOWOODO, 0, 54, 62, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242CEA, 842
+ object_event 14, EVENT_OBJ_GFX_SUDOWOODO, 0, 54, 62, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242CEA, FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO
object_event 15, EVENT_OBJ_GFX_MANIAC, 0, 42, 34, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242D79, 0
object_event 16, EVENT_OBJ_GFX_GIRL_3, 0, 51, 53, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_OutsideEast_EventScript_242D82, 0
object_event 17, EVENT_OBJ_GFX_PSYCHIC_M, 0, 62, 18, 0, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 2, 6, 0, 0, BattleFrontier_OutsideEast_EventScript_242D8B, 0
diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc
index 0a3723acc..be0bdc809 100644
--- a/data/maps/BattleFrontier_OutsideEast/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc
@@ -17,54 +17,54 @@ BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19
BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D
setvar VAR_0x40BC, 0
- setflag FLAG_0x396
+ setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
checkflag FLAG_0x1C6
call_if 0, BattleFrontier_OutsideEast_EventScript_242C3F
end
BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F
- clearflag FLAG_0x34A
+ clearflag FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO
return
BattleFrontier_OutsideEast_EventScript_242C43:: @ 8242C43
- msgbox BattleFrontier_OutsideEast_Text_242E11, 3
+ msgbox BattleFrontier_OutsideEast_Text_242E11, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_242C4C:: @ 8242C4C
- msgbox BattleFrontier_OutsideEast_Text_242E58, 3
+ msgbox BattleFrontier_OutsideEast_Text_242E58, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_242C55:: @ 8242C55
- msgbox BattleFrontier_OutsideEast_Text_242E96, 3
+ msgbox BattleFrontier_OutsideEast_Text_242E96, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_242C5E:: @ 8242C5E
- msgbox BattleFrontier_OutsideEast_Text_242ECF, 3
+ msgbox BattleFrontier_OutsideEast_Text_242ECF, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_242C67:: @ 8242C67
- msgbox BattleFrontier_OutsideEast_Text_242F8C, 2
+ msgbox BattleFrontier_OutsideEast_Text_242F8C, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242C70:: @ 8242C70
- msgbox BattleFrontier_OutsideEast_Text_242FDC, 2
+ msgbox BattleFrontier_OutsideEast_Text_242FDC, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242C79:: @ 8242C79
- msgbox BattleFrontier_OutsideEast_Text_24308C, 2
+ msgbox BattleFrontier_OutsideEast_Text_24308C, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242C82:: @ 8242C82
- msgbox BattleFrontier_OutsideEast_Text_243106, 2
+ msgbox BattleFrontier_OutsideEast_Text_243106, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242C8B:: @ 8242C8B
- msgbox BattleFrontier_OutsideEast_Text_2431A5, 2
+ msgbox BattleFrontier_OutsideEast_Text_2431A5, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242C94:: @ 8242C94
lock
- msgbox BattleFrontier_OutsideEast_Text_2432DD, 4
+ msgbox BattleFrontier_OutsideEast_Text_2432DD, MSGBOX_DEFAULT
release
end
@@ -73,35 +73,35 @@ BattleFrontier_OutsideEast_EventScript_242C9F:: @ 8242C9F
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox BattleFrontier_OutsideEast_Text_24334B, 4
+ msgbox BattleFrontier_OutsideEast_Text_24334B, MSGBOX_DEFAULT
waitmoncry
release
end
BattleFrontier_OutsideEast_EventScript_242CB2:: @ 8242CB2
- msgbox BattleFrontier_OutsideEast_Text_243363, 2
+ msgbox BattleFrontier_OutsideEast_Text_243363, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242CBB:: @ 8242CBB
- msgbox BattleFrontier_OutsideEast_Text_243425, 2
+ msgbox BattleFrontier_OutsideEast_Text_243425, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242CC4:: @ 8242CC4
- msgbox BattleFrontier_OutsideEast_Text_2434A0, 2
+ msgbox BattleFrontier_OutsideEast_Text_2434A0, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242CCD:: @ 8242CCD
- msgbox BattleFrontier_OutsideEast_Text_243504, 2
+ msgbox BattleFrontier_OutsideEast_Text_243504, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242CD6:: @ 8242CD6
lock
- msgbox BattleFrontier_OutsideEast_Text_243529, 4
+ msgbox BattleFrontier_OutsideEast_Text_243529, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideEast_EventScript_242CE1:: @ 8242CE1
- msgbox BattleFrontier_OutsideEast_Text_243230, 2
+ msgbox BattleFrontier_OutsideEast_Text_243230, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA
@@ -123,7 +123,7 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
playse 269
applymovement 14, BattleFrontier_OutsideEast_Movement_242D69
waitmovement 0
- msgbox gUnknown_082731BD, 4
+ msgbox gUnknown_082731BD, MSGBOX_DEFAULT
closemessage
waitse
playmoncry SPECIES_SUDOWOODO, 2
@@ -169,55 +169,55 @@ BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69
step_end
BattleFrontier_OutsideEast_EventScript_242D79:: @ 8242D79
- msgbox BattleFrontier_OutsideEast_Text_243598, 2
+ msgbox BattleFrontier_OutsideEast_Text_243598, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242D82:: @ 8242D82
- msgbox BattleFrontier_OutsideEast_Text_243668, 2
+ msgbox BattleFrontier_OutsideEast_Text_243668, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242D8B:: @ 8242D8B
- msgbox BattleFrontier_OutsideEast_Text_2436F2, 2
+ msgbox BattleFrontier_OutsideEast_Text_2436F2, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242D94:: @ 8242D94
- msgbox BattleFrontier_OutsideEast_Text_243809, 2
+ msgbox BattleFrontier_OutsideEast_Text_243809, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242D9D:: @ 8242D9D
- msgbox BattleFrontier_OutsideEast_Text_243895, 2
+ msgbox BattleFrontier_OutsideEast_Text_243895, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242DA6:: @ 8242DA6
- msgbox BattleFrontier_OutsideEast_Text_243943, 2
+ msgbox BattleFrontier_OutsideEast_Text_243943, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242DAF:: @ 8242DAF
- msgbox BattleFrontier_OutsideEast_Text_2439A0, 2
+ msgbox BattleFrontier_OutsideEast_Text_2439A0, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242DB8:: @ 8242DB8
lock
- msgbox BattleFrontier_OutsideEast_Text_243A2B, 4
+ msgbox BattleFrontier_OutsideEast_Text_243A2B, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideEast_EventScript_242DC3:: @ 8242DC3
lock
- msgbox BattleFrontier_OutsideEast_Text_243A53, 4
+ msgbox BattleFrontier_OutsideEast_Text_243A53, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideEast_EventScript_242DCE:: @ 8242DCE
- msgbox BattleFrontier_OutsideEast_Text_242F0D, 3
+ msgbox BattleFrontier_OutsideEast_Text_242F0D, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_242DD7:: @ 8242DD7
- msgbox BattleFrontier_OutsideEast_Text_242F4A, 3
+ msgbox BattleFrontier_OutsideEast_Text_242F4A, MSGBOX_SIGN
end
BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0
- msgbox BattleFrontier_OutsideEast_Text_243B68, 2
+ msgbox BattleFrontier_OutsideEast_Text_243B68, MSGBOX_NPC
end
BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9
@@ -225,17 +225,17 @@ BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9
faceplayer
checkflag FLAG_0x1C6
goto_eq BattleFrontier_OutsideEast_EventScript_242DFE
- msgbox BattleFrontier_OutsideEast_Text_243C2C, 4
+ msgbox BattleFrontier_OutsideEast_Text_243C2C, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideEast_EventScript_242DFE:: @ 8242DFE
- msgbox BattleFrontier_OutsideEast_Text_243CA3, 4
+ msgbox BattleFrontier_OutsideEast_Text_243CA3, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideEast_EventScript_242E08:: @ 8242E08
- msgbox BattleFrontier_OutsideEast_Text_243D0B, 2
+ msgbox BattleFrontier_OutsideEast_Text_243D0B, MSGBOX_NPC
end
BattleFrontier_OutsideEast_Text_242E11: @ 8242E11
diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc
index bd9d508dd..a735e7ffd 100644
--- a/data/maps/BattleFrontier_OutsideWest/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc
@@ -4,13 +4,13 @@ BattleFrontier_OutsideWest_MapScripts:: @ 823D3E1
BattleFrontier_OutsideWest_MapScript1_23D3E7: @ 823D3E7
setvar VAR_0x40BC, 0
- setflag FLAG_0x396
+ setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
end
BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0
lock
faceplayer
- msgbox BattleFrontier_OutsideWest_Text_23D808, 4
+ msgbox BattleFrontier_OutsideWest_Text_23D808, MSGBOX_DEFAULT
checkitem ITEM_SS_TICKET, 1
compare VAR_RESULT, 0
goto_eq BattleFrontier_OutsideWest_EventScript_23D44E
@@ -29,15 +29,15 @@ BattleFrontier_OutsideWest_EventScript_23D416:: @ 823D416
end
BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E
- msgbox BattleFrontier_OutsideWest_Text_23D842, 4
+ msgbox BattleFrontier_OutsideWest_Text_23D842, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458
- msgbox BattleFrontier_OutsideWest_Text_23D8F2, 5
+ msgbox BattleFrontier_OutsideWest_Text_23D8F2, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE
- msgbox BattleFrontier_OutsideWest_Text_23D94B, 4
+ msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT
call BattleFrontier_OutsideWest_EventScript_23D4BA
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
waitstate
@@ -45,10 +45,10 @@ BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458
end
BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483
- msgbox BattleFrontier_OutsideWest_Text_23D90E, 5
+ msgbox BattleFrontier_OutsideWest_Text_23D90E, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE
- msgbox BattleFrontier_OutsideWest_Text_23D94B, 4
+ msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT
call BattleFrontier_OutsideWest_EventScript_23D4BA
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
@@ -72,32 +72,32 @@ BattleFrontier_OutsideWest_EventScript_23D4BA:: @ 823D4BA
return
BattleFrontier_OutsideWest_EventScript_23D4D8:: @ 823D4D8
- msgbox BattleFrontier_OutsideWest_Text_23D929, 4
+ msgbox BattleFrontier_OutsideWest_Text_23D929, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideWest_EventScript_23D4E2:: @ 823D4E2
- msgbox BattleFrontier_OutsideWest_Text_23D6F7, 3
+ msgbox BattleFrontier_OutsideWest_Text_23D6F7, MSGBOX_SIGN
end
BattleFrontier_OutsideWest_EventScript_23D4EB:: @ 823D4EB
- msgbox BattleFrontier_OutsideWest_Text_23D737, 3
+ msgbox BattleFrontier_OutsideWest_Text_23D737, MSGBOX_SIGN
end
BattleFrontier_OutsideWest_EventScript_23D4F4:: @ 823D4F4
- msgbox BattleFrontier_OutsideWest_Text_23D772, 3
+ msgbox BattleFrontier_OutsideWest_Text_23D772, MSGBOX_SIGN
end
BattleFrontier_OutsideWest_EventScript_23D4FD:: @ 823D4FD
- msgbox BattleFrontier_OutsideWest_Text_23D7A6, 2
+ msgbox BattleFrontier_OutsideWest_Text_23D7A6, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D506:: @ 823D4FD
- msgbox BattleFrontier_OutsideWest_Text_23D9DD, 2
+ msgbox BattleFrontier_OutsideWest_Text_23D9DD, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D50F:: @ 823D50F
- msgbox BattleFrontier_OutsideWest_Text_23D99C, 2
+ msgbox BattleFrontier_OutsideWest_Text_23D99C, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518
@@ -112,7 +112,7 @@ BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518
end
BattleFrontier_OutsideWest_EventScript_23D52D:: @ 823D52D
- msgbox BattleFrontier_OutsideWest_Text_23DABF, 2
+ msgbox BattleFrontier_OutsideWest_Text_23DABF, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D536:: @ 823D536
@@ -128,10 +128,10 @@ BattleFrontier_OutsideWest_EventScript_23D53D:: @ 823D53D
BattleFrontier_OutsideWest_EventScript_23D544:: @ 823D544
applymovement 9, BattleFrontier_OutsideWest_Movement_2725A8
waitmovement 0
- msgbox BattleFrontier_OutsideWest_Text_23DB7D, 4
+ msgbox BattleFrontier_OutsideWest_Text_23DB7D, MSGBOX_DEFAULT
applymovement 10, BattleFrontier_OutsideWest_Movement_2725A4
waitmovement 0
- msgbox BattleFrontier_OutsideWest_Text_23DBCE, 4
+ msgbox BattleFrontier_OutsideWest_Text_23DBCE, MSGBOX_DEFAULT
closemessage
delay 25
applymovement 9, BattleFrontier_OutsideWest_Movement_2725A6
@@ -152,7 +152,7 @@ BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F
call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
compare VAR_FACING, 4
call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
- msgbox BattleFrontier_OutsideWest_Text_23DC36, 4
+ msgbox BattleFrontier_OutsideWest_Text_23DC36, MSGBOX_DEFAULT
release
end
@@ -224,7 +224,7 @@ BattleFrontier_OutsideWest_Movement_23D632: @ 823D632
BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635
lock
faceplayer
- msgbox BattleFrontier_OutsideWest_Text_23DD3B, 4
+ msgbox BattleFrontier_OutsideWest_Text_23DD3B, MSGBOX_DEFAULT
random 2
compare VAR_RESULT, 1
goto_eq BattleFrontier_OutsideWest_EventScript_23D653
@@ -232,71 +232,71 @@ BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635
end
BattleFrontier_OutsideWest_EventScript_23D653:: @ 823D653
- msgbox BattleFrontier_OutsideWest_Text_23DD7A, 4
+ msgbox BattleFrontier_OutsideWest_Text_23DD7A, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideWest_EventScript_23D65D:: @ 823D65D
- msgbox BattleFrontier_OutsideWest_Text_23DDAD, 4
+ msgbox BattleFrontier_OutsideWest_Text_23DDAD, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideWest_EventScript_23D667:: @ 823D667
- msgbox BattleFrontier_OutsideWest_Text_23DE15, 2
+ msgbox BattleFrontier_OutsideWest_Text_23DE15, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D670:: @ 823D670
- msgbox BattleFrontier_OutsideWest_Text_23DF7D, 2
+ msgbox BattleFrontier_OutsideWest_Text_23DF7D, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D679:: @ 823D679
- msgbox BattleFrontier_OutsideWest_Text_23DEFD, 2
+ msgbox BattleFrontier_OutsideWest_Text_23DEFD, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D682:: @ 823D682
- msgbox BattleFrontier_OutsideWest_Text_23DEB4, 2
+ msgbox BattleFrontier_OutsideWest_Text_23DEB4, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D68B:: @ 823D68B
- msgbox BattleFrontier_OutsideWest_Text_23DFBF, 2
+ msgbox BattleFrontier_OutsideWest_Text_23DFBF, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D694:: @ 823D694
- msgbox BattleFrontier_OutsideWest_Text_23E01E, 2
+ msgbox BattleFrontier_OutsideWest_Text_23E01E, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D69D:: @ 823D69D
- msgbox BattleFrontier_OutsideWest_Text_23E09F, 2
+ msgbox BattleFrontier_OutsideWest_Text_23E09F, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D6A6:: @ 823D6A6
- msgbox BattleFrontier_OutsideWest_Text_23E102, 2
+ msgbox BattleFrontier_OutsideWest_Text_23E102, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D6AF:: @ 823D6AF
- msgbox BattleFrontier_OutsideWest_Text_23E154, 2
+ msgbox BattleFrontier_OutsideWest_Text_23E154, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D6B8:: @ 823D6B8
lock
- msgbox BattleFrontier_OutsideWest_Text_23E273, 4
+ msgbox BattleFrontier_OutsideWest_Text_23E273, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideWest_EventScript_23D6C3:: @ 823D6C3
lock
- msgbox BattleFrontier_OutsideWest_Text_23E2E9, 4
+ msgbox BattleFrontier_OutsideWest_Text_23E2E9, MSGBOX_DEFAULT
release
end
BattleFrontier_OutsideWest_EventScript_23D6CE:: @ 823D6CE
- msgbox BattleFrontier_OutsideWest_Text_23E37E, 2
+ msgbox BattleFrontier_OutsideWest_Text_23E37E, MSGBOX_NPC
end
BattleFrontier_OutsideWest_EventScript_23D6D7:: @ 823D6D7
lock
faceplayer
- msgbox BattleFrontier_OutsideWest_Text_23E410, 4
+ msgbox BattleFrontier_OutsideWest_Text_23E410, MSGBOX_DEFAULT
closemessage
applymovement 23, BattleFrontier_OutsideWest_Movement_2725A2
waitmovement 0
@@ -304,7 +304,7 @@ BattleFrontier_OutsideWest_EventScript_23D6D7:: @ 823D6D7
end
BattleFrontier_OutsideWest_EventScript_23D6EE:: @ 823D6EE
- msgbox BattleFrontier_OutsideWest_Text_23E5A5, 2
+ msgbox BattleFrontier_OutsideWest_Text_23E5A5, MSGBOX_NPC
end
BattleFrontier_OutsideWest_Text_23D6F7: @ 823D6F7
diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc
index 3dff67a93..e37842cf5 100644
--- a/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc
+++ b/data/maps/BattleFrontier_PokemonCenter_1F/scripts.inc
@@ -16,15 +16,15 @@ BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908
end
BattleFrontier_PokemonCenter_1F_EventScript_267916:: @ 8267916
- msgbox BattleFrontier_PokemonCenter_1F_Text_267944, 2
+ msgbox BattleFrontier_PokemonCenter_1F_Text_267944, MSGBOX_NPC
end
BattleFrontier_PokemonCenter_1F_EventScript_26791F:: @ 826791F
- msgbox BattleFrontier_PokemonCenter_1F_Text_2679EB, 2
+ msgbox BattleFrontier_PokemonCenter_1F_Text_2679EB, MSGBOX_NPC
end
BattleFrontier_PokemonCenter_1F_EventScript_267928:: @ 8267928
- msgbox BattleFrontier_PokemonCenter_1F_Text_267A4B, 2
+ msgbox BattleFrontier_PokemonCenter_1F_Text_267A4B, MSGBOX_NPC
end
BattleFrontier_PokemonCenter_1F_EventScript_267931:: @ 8267931
@@ -32,7 +32,7 @@ BattleFrontier_PokemonCenter_1F_EventScript_267931:: @ 8267931
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox BattleFrontier_PokemonCenter_1F_Text_267A90, 4
+ msgbox BattleFrontier_PokemonCenter_1F_Text_267A90, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/events.inc b/data/maps/BattleFrontier_PokemonCenter_2F/events.inc
index 4d0b88090..75bd2ebbb 100644
--- a/data/maps/BattleFrontier_PokemonCenter_2F/events.inc
+++ b/data/maps/BattleFrontier_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ BattleFrontier_PokemonCenter_2F_EventObjects: @ 853D600
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
BattleFrontier_PokemonCenter_2F_MapWarps: @ 853D660
warp_def 1, 6, 4, 2, MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F
diff --git a/data/maps/BattleFrontier_RankingHall/scripts.inc b/data/maps/BattleFrontier_RankingHall/scripts.inc
index e469024e9..65b093b32 100644
--- a/data/maps/BattleFrontier_RankingHall/scripts.inc
+++ b/data/maps/BattleFrontier_RankingHall/scripts.inc
@@ -62,43 +62,43 @@ BattleFrontier_RankingHall_EventScript_25E516:: @ 825E516
end
BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522
- special sub_81A4AA0
+ special ShowRankingHallRecordsWindow
waitbuttonpress
- special sub_81A4AE8
+ special ScrollRankingHallRecordsWindow
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_RankingHall_EventScript_25E52F:: @ 825E52F
- msgbox BattleFrontier_RankingHall_Text_25E57C, 2
+ msgbox BattleFrontier_RankingHall_Text_25E57C, MSGBOX_NPC
end
BattleFrontier_RankingHall_EventScript_25E538:: @ 825E538
- msgbox BattleFrontier_RankingHall_Text_25E5F9, 3
+ msgbox BattleFrontier_RankingHall_Text_25E5F9, MSGBOX_SIGN
end
BattleFrontier_RankingHall_EventScript_25E541:: @ 825E541
- msgbox BattleFrontier_RankingHall_Text_25E62E, 3
+ msgbox BattleFrontier_RankingHall_Text_25E62E, MSGBOX_SIGN
end
BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A
lock
faceplayer
- msgbox BattleFrontier_RankingHall_Text_25E666, 5
+ msgbox BattleFrontier_RankingHall_Text_25E666, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq BattleFrontier_RankingHall_EventScript_25E569
- msgbox BattleFrontier_RankingHall_Text_25E6B6, 4
+ msgbox BattleFrontier_RankingHall_Text_25E6B6, MSGBOX_DEFAULT
release
end
BattleFrontier_RankingHall_EventScript_25E569:: @ 825E569
- msgbox BattleFrontier_RankingHall_Text_25E685, 4
+ msgbox BattleFrontier_RankingHall_Text_25E685, MSGBOX_DEFAULT
release
end
BattleFrontier_RankingHall_EventScript_25E573:: @ 825E573
- msgbox BattleFrontier_RankingHall_Text_25E715, 2
+ msgbox BattleFrontier_RankingHall_Text_25E715, MSGBOX_NPC
end
BattleFrontier_RankingHall_Text_25E57C: @ 825E57C
diff --git a/data/maps/BattleFrontier_ReceptionGate/events.inc b/data/maps/BattleFrontier_ReceptionGate/events.inc
index c29718501..551cb802f 100644
--- a/data/maps/BattleFrontier_ReceptionGate/events.inc
+++ b/data/maps/BattleFrontier_ReceptionGate/events.inc
@@ -2,7 +2,7 @@ BattleFrontier_ReceptionGate_EventObjects: @ 853D420
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 0, 11, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_ReceptionGate_EventScript_2662FC, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 8, 11, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, BattleFrontier_ReceptionGate_EventScript_266310, 0
object_event 3, EVENT_OBJ_GFX_MAN_2, 0, 8, 4, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, BattleFrontier_ReceptionGate_EventScript_266436, 0
- object_event 4, EVENT_OBJ_GFX_SCOTT, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 836
+ object_event 4, EVENT_OBJ_GFX_SCOTT, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_BATTLE_FRONTIER_RECEPTION_GATE_SCOTT
object_event 5, EVENT_OBJ_GFX_MAN_2, 0, 0, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_ReceptionGate_EventScript_2664F4, 0
BattleFrontier_ReceptionGate_MapWarps: @ 853D498
diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
index ec38c3e9d..d5364a2af 100644
--- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc
+++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
@@ -19,7 +19,7 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3
waitmovement 0
applymovement 1, BattleFrontier_ReceptionGate_Movement_27259A
waitmovement 0
- msgbox BattleFrontier_ReceptionGate_Text_266580, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266580, MSGBOX_DEFAULT
closemessage
applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D2
waitmovement 0
@@ -27,16 +27,16 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3
end
BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229
- msgbox BattleFrontier_ReceptionGate_Text_2665B2, 4
- msgbox BattleFrontier_ReceptionGate_Text_2665F7, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2665B2, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_2665F7, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message BattleFrontier_ReceptionGate_Text_266676
waitfanfare
waitmessage
- msgbox BattleFrontier_ReceptionGate_Text_266695, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266695, MSGBOX_DEFAULT
setflag FLAG_SYS_FRONTIER_PASS
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
- msgbox BattleFrontier_ReceptionGate_Text_266703, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_266703, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_ReceptionGate_Movement_2725A6
applymovement 2, BattleFrontier_ReceptionGate_Movement_2725A6
@@ -47,14 +47,14 @@ BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229
applymovement 2, BattleFrontier_ReceptionGate_Movement_272598
applymovement 255, BattleFrontier_ReceptionGate_Movement_272598
waitmovement 0
- msgbox BattleFrontier_ReceptionGate_Text_266733, 4
+ 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 4, BattleFrontier_ReceptionGate_Movement_2662E0
waitmovement 0
- msgbox BattleFrontier_ReceptionGate_Text_266764, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266764, MSGBOX_DEFAULT
closemessage
applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E8
waitmovement 0
@@ -121,15 +121,15 @@ BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6
BattleFrontier_ReceptionGate_EventScript_2662FC:: @ 82662FC
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_2665B2, 4
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2665B2, MSGBOX_DEFAULT
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
release
end
BattleFrontier_ReceptionGate_EventScript_266310:: @ 8266310
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_266857, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266857, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
@@ -154,59 +154,59 @@ BattleFrontier_ReceptionGate_EventScript_266320:: @ 8266320
end
BattleFrontier_ReceptionGate_EventScript_2663AE:: @ 82663AE
- msgbox BattleFrontier_ReceptionGate_Text_2668C2, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2668C2, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_2663BC:: @ 82663BC
- msgbox BattleFrontier_ReceptionGate_Text_26696F, 4
+ msgbox BattleFrontier_ReceptionGate_Text_26696F, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_2663CA:: @ 82663CA
- msgbox BattleFrontier_ReceptionGate_Text_266A34, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266A34, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_2663D8:: @ 82663D8
- msgbox BattleFrontier_ReceptionGate_Text_266AC2, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266AC2, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_2663E6:: @ 82663E6
- msgbox BattleFrontier_ReceptionGate_Text_266B5D, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266B5D, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_2663F4:: @ 82663F4
- msgbox BattleFrontier_ReceptionGate_Text_266C24, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266C24, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_266402:: @ 8266402
- msgbox BattleFrontier_ReceptionGate_Text_266CBB, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266CBB, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_266410:: @ 8266410
- msgbox BattleFrontier_ReceptionGate_Text_266D1C, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266D1C, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_26641E:: @ 826641E
- msgbox BattleFrontier_ReceptionGate_Text_266DCB, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266DCB, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266320
end
BattleFrontier_ReceptionGate_EventScript_26642C:: @ 826642C
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
release
end
BattleFrontier_ReceptionGate_EventScript_266436:: @ 8266436
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_266E66, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266E66, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266446
end
@@ -225,39 +225,39 @@ BattleFrontier_ReceptionGate_EventScript_266446:: @ 8266446
end
BattleFrontier_ReceptionGate_EventScript_2664A4:: @ 82664A4
- msgbox BattleFrontier_ReceptionGate_Text_266F04, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266F04, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266446
end
BattleFrontier_ReceptionGate_EventScript_2664B2:: @ 82664B2
- msgbox BattleFrontier_ReceptionGate_Text_266F69, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266F69, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266446
end
BattleFrontier_ReceptionGate_EventScript_2664C0:: @ 82664C0
- msgbox BattleFrontier_ReceptionGate_Text_267080, 4
+ msgbox BattleFrontier_ReceptionGate_Text_267080, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266446
end
BattleFrontier_ReceptionGate_EventScript_2664CE:: @ 82664CE
- msgbox BattleFrontier_ReceptionGate_Text_26716A, 4
+ msgbox BattleFrontier_ReceptionGate_Text_26716A, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266446
end
BattleFrontier_ReceptionGate_EventScript_2664DC:: @ 82664DC
- msgbox BattleFrontier_ReceptionGate_Text_267298, 4
+ msgbox BattleFrontier_ReceptionGate_Text_267298, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266446
end
BattleFrontier_ReceptionGate_EventScript_2664EA:: @ 82664EA
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
release
end
BattleFrontier_ReceptionGate_EventScript_2664F4:: @ 82664F4
lock
faceplayer
- msgbox BattleFrontier_ReceptionGate_Text_267357, 4
+ msgbox BattleFrontier_ReceptionGate_Text_267357, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266504
end
@@ -274,22 +274,22 @@ BattleFrontier_ReceptionGate_EventScript_266504:: @ 8266504
end
BattleFrontier_ReceptionGate_EventScript_26654C:: @ 826654C
- msgbox BattleFrontier_ReceptionGate_Text_2673A1, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2673A1, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266504
end
BattleFrontier_ReceptionGate_EventScript_26655A:: @ 826655A
- msgbox BattleFrontier_ReceptionGate_Text_2674F3, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2674F3, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266504
end
BattleFrontier_ReceptionGate_EventScript_266568:: @ 8266568
- msgbox BattleFrontier_ReceptionGate_Text_26761C, 4
+ msgbox BattleFrontier_ReceptionGate_Text_26761C, MSGBOX_DEFAULT
goto BattleFrontier_ReceptionGate_EventScript_266504
end
BattleFrontier_ReceptionGate_EventScript_266576:: @ 8266576
- msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
index da73da354..818fb92b0 100644
--- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc
+++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
@@ -4,11 +4,11 @@ BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7
BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8
lock
faceplayer
- checkflag FLAG_0x004
+ checkflag FLAG_TEMP_4
goto_eq BattleFrontier_ScottsHouse_EventScript_2637DA
- checkflag FLAG_0x003
+ checkflag FLAG_TEMP_3
goto_eq BattleFrontier_ScottsHouse_EventScript_2638AA
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq BattleFrontier_ScottsHouse_EventScript_263939
goto BattleFrontier_ScottsHouse_EventScript_2636CB
end
@@ -46,12 +46,12 @@ BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704
goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
checkflag FLAG_SYS_PYRAMID_SILVER
goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- msgbox BattleFrontier_ScottsHouse_Text_2640BC, 4
+ msgbox BattleFrontier_ScottsHouse_Text_2640BC, MSGBOX_DEFAULT
giveitem_std ITEM_LANSAT_BERRY
compare VAR_RESULT, 0
goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0
setflag FLAG_0x05C
- setflag FLAG_0x004
+ setflag FLAG_TEMP_4
release
end
@@ -70,22 +70,22 @@ BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A
goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
checkflag FLAG_SYS_PYRAMID_GOLD
goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- msgbox BattleFrontier_ScottsHouse_Text_264216, 4
+ msgbox BattleFrontier_ScottsHouse_Text_264216, MSGBOX_DEFAULT
giveitem_std ITEM_STARF_BERRY
compare VAR_RESULT, 0
goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0
setflag FLAG_0x1D2
- setflag FLAG_0x004
+ setflag FLAG_TEMP_4
release
end
BattleFrontier_ScottsHouse_EventScript_2637D0:: @ 82637D0
- msgbox BattleFrontier_ScottsHouse_Text_2643EB, 4
+ msgbox BattleFrontier_ScottsHouse_Text_2643EB, MSGBOX_DEFAULT
release
end
BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA
- msgbox BattleFrontier_ScottsHouse_Text_264373, 4
+ msgbox BattleFrontier_ScottsHouse_Text_264373, MSGBOX_DEFAULT
release
end
@@ -95,17 +95,17 @@ BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4
goto_eq BattleFrontier_ScottsHouse_EventScript_263807
compare VAR_RESULT, 2
goto_eq BattleFrontier_ScottsHouse_EventScript_263811
- msgbox BattleFrontier_ScottsHouse_Text_263DDD, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263DDD, MSGBOX_DEFAULT
release
end
BattleFrontier_ScottsHouse_EventScript_263807:: @ 8263807
- msgbox BattleFrontier_ScottsHouse_Text_263F12, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263F12, MSGBOX_DEFAULT
release
end
BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811
- msgbox BattleFrontier_ScottsHouse_Text_263FFE, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263FFE, MSGBOX_DEFAULT
release
end
@@ -114,7 +114,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_8161F74
@@ -123,7 +123,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_8161F74
@@ -133,22 +133,22 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
end
BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A
- msgbox BattleFrontier_ScottsHouse_Text_264412, 4
+ msgbox BattleFrontier_ScottsHouse_Text_264412, MSGBOX_DEFAULT
givedecoration_std 42
compare VAR_RESULT, 0
goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0
setflag FLAG_0x0ED
- setflag FLAG_0x003
+ setflag FLAG_TEMP_3
goto BattleFrontier_ScottsHouse_EventScript_2638AA
end
BattleFrontier_ScottsHouse_EventScript_2638A0:: @ 82638A0
- msgbox BattleFrontier_ScottsHouse_Text_264583, 4
+ msgbox BattleFrontier_ScottsHouse_Text_264583, MSGBOX_DEFAULT
release
end
BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA
- msgbox BattleFrontier_ScottsHouse_Text_264546, 4
+ msgbox BattleFrontier_ScottsHouse_Text_264546, MSGBOX_DEFAULT
release
end
@@ -157,7 +157,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_8161F74
@@ -166,7 +166,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_8161F74
@@ -176,22 +176,22 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
end
BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913
- msgbox BattleFrontier_ScottsHouse_Text_26449F, 4
+ msgbox BattleFrontier_ScottsHouse_Text_26449F, MSGBOX_DEFAULT
givedecoration_std 43
compare VAR_RESULT, 0
goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0
setflag FLAG_0x0EE
- setflag FLAG_0x003
+ setflag FLAG_TEMP_3
goto BattleFrontier_ScottsHouse_EventScript_2638AA
end
BattleFrontier_ScottsHouse_EventScript_263939:: @ 8263939
- msgbox BattleFrontier_ScottsHouse_Text_263DB8, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263DB8, MSGBOX_DEFAULT
release
end
BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943
- msgbox BattleFrontier_ScottsHouse_Text_263A3F, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263A3F, MSGBOX_DEFAULT
closemessage
delay 30
compare VAR_FACING, 2
@@ -202,10 +202,10 @@ BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943
call_if 1, BattleFrontier_ScottsHouse_EventScript_263A29
compare VAR_FACING, 3
call_if 1, BattleFrontier_ScottsHouse_EventScript_263A34
- msgbox BattleFrontier_ScottsHouse_Text_263B29, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263B29, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_ScottsHouse_Movement_27259E
waitmovement 0
- msgbox BattleFrontier_ScottsHouse_Text_263BD4, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263BD4, MSGBOX_DEFAULT
compare VAR_0x40D1, 13
goto_eq BattleFrontier_ScottsHouse_EventScript_2639BC
compare VAR_0x40D1, 9
@@ -242,9 +242,9 @@ BattleFrontier_ScottsHouse_EventScript_2639E9:: @ 82639E9
BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8
special sub_813A9D0
msgbox BattleFrontier_ScottsHouse_Text_263CB0, 9
- msgbox BattleFrontier_ScottsHouse_Text_263CD0, 4
+ msgbox BattleFrontier_ScottsHouse_Text_263CD0, MSGBOX_DEFAULT
setflag FLAG_0x1D1
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
release
end
diff --git a/data/maps/BirthIsland_Exterior/events.inc b/data/maps/BirthIsland_Exterior/events.inc
index 4093e4086..c5a485f9a 100644
--- a/data/maps/BirthIsland_Exterior/events.inc
+++ b/data/maps/BirthIsland_Exterior/events.inc
@@ -1,6 +1,6 @@
BirthIsland_Exterior_EventObjects: @ 853D7DC
- object_event 1, EVENT_OBJ_GFX_DEOXYS_TRIANGLE, 0, 15, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BirthIsland_Exterior_EventScript_267F83, 764
- object_event 2, EVENT_OBJ_GFX_DEOXYS, 0, 15, 3, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 763
+ object_event 1, EVENT_OBJ_GFX_DEOXYS_TRIANGLE, 0, 15, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BirthIsland_Exterior_EventScript_267F83, FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
+ object_event 2, EVENT_OBJ_GFX_DEOXYS, 0, 15, 3, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_DEOXYS
BirthIsland_Exterior_MapWarps: @ 853D80C
warp_def 15, 24, 0, 0, MAP_BIRTH_ISLAND_HARBOR
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index 787230c60..7bd9c1e60 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -20,14 +20,14 @@ BirthIsland_Exterior_MapScript1_267F29: @ 8267F29
end
BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E
- setflag FLAG_0x2FB
- setflag FLAG_0x2FC
+ setflag FLAG_HIDE_DEOXYS
+ setflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
return
BirthIsland_Exterior_EventScript_267F55:: @ 8267F55
checkflag FLAG_0x1AC
goto_eq BirthIsland_Exterior_EventScript_27374E
- clearflag FLAG_0x2FC
+ clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
clearflag FLAG_0x8D4
return
diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc
index fe939172d..dc3407e33 100644
--- a/data/maps/BirthIsland_Harbor/scripts.inc
+++ b/data/maps/BirthIsland_Harbor/scripts.inc
@@ -4,10 +4,10 @@ BirthIsland_Harbor_MapScripts:: @ 826805C
BirthIsland_Harbor_EventScript_26805D:: @ 826805D
lock
faceplayer
- msgbox BirthIsland_Harbor_Text_2C6B90, 5
+ msgbox BirthIsland_Harbor_Text_2C6B90, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq BirthIsland_Harbor_EventScript_2680A2
- msgbox BirthIsland_Harbor_Text_2A6A5D, 4
+ msgbox BirthIsland_Harbor_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, BirthIsland_Harbor_Movement_2725AA
waitmovement 0
@@ -21,7 +21,7 @@ BirthIsland_Harbor_EventScript_26805D:: @ 826805D
end
BirthIsland_Harbor_EventScript_2680A2:: @ 82680A2
- msgbox BirthIsland_Harbor_Text_2A6A82, 4
+ msgbox BirthIsland_Harbor_Text_2A6A82, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/CaveOfOrigin_B1F/events.inc b/data/maps/CaveOfOrigin_B1F/events.inc
index bd1b79bc0..94f30d262 100644
--- a/data/maps/CaveOfOrigin_B1F/events.inc
+++ b/data/maps/CaveOfOrigin_B1F/events.inc
@@ -1,5 +1,5 @@
CaveOfOrigin_B1F_EventObjects: @ 8535DD0
- object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 9, 13, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, CaveOfOrigin_B1F_EventScript_2357A9, 820
+ object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 9, 13, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, CaveOfOrigin_B1F_EventScript_2357A9, FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE
CaveOfOrigin_B1F_MapWarps: @ 8535DE8
warp_def 9, 3, 3, 1, MAP_CAVE_OF_ORIGIN_1F
diff --git a/data/maps/CaveOfOrigin_B1F/scripts.inc b/data/maps/CaveOfOrigin_B1F/scripts.inc
index 5ac3ec64a..21ff3537b 100644
--- a/data/maps/CaveOfOrigin_B1F/scripts.inc
+++ b/data/maps/CaveOfOrigin_B1F/scripts.inc
@@ -4,7 +4,7 @@ CaveOfOrigin_B1F_MapScripts:: @ 82357A8
CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9
lock
faceplayer
- msgbox CaveOfOrigin_B1F_Text_23586E, 4
+ msgbox CaveOfOrigin_B1F_Text_23586E, MSGBOX_DEFAULT
closemessage
applymovement 1, CaveOfOrigin_B1F_Movement_2725A6
waitmovement 0
@@ -47,14 +47,14 @@ CaveOfOrigin_B1F_EventScript_235842:: @ 8235842
goto CaveOfOrigin_B1F_EventScript_2357F0
CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D
- msgbox CaveOfOrigin_B1F_Text_235CEE, 4
+ msgbox CaveOfOrigin_B1F_Text_235CEE, MSGBOX_DEFAULT
closemessage
playse SE_KAIDAN
fadescreenspeed 1, 4
setflag FLAG_0x137
setvar VAR_0x405E, 3
removeobject 1
- clearflag FLAG_0x357
+ clearflag FLAG_HIDE_SKY_PILLAR_WALLACE
fadescreen 0
release
end
diff --git a/data/maps/DesertRuins/events.inc b/data/maps/DesertRuins/events.inc
index 036127ca8..e7a815ce0 100644
--- a/data/maps/DesertRuins/events.inc
+++ b/data/maps/DesertRuins/events.inc
@@ -1,5 +1,5 @@
DesertRuins_EventObjects: @ 8534354
- object_event 1, EVENT_OBJ_GFX_REGIROCK, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DesertRuins_EventScript_22DA02, 935
+ object_event 1, EVENT_OBJ_GFX_REGIROCK, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, DesertRuins_EventScript_22DA02, FLAG_HIDE_REGIROCK
DesertRuins_MapWarps: @ 853436C
warp_def 8, 29, 3, 1, MAP_ROUTE111
diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc
index 45d192c80..760336d91 100644
--- a/data/maps/DesertRuins/scripts.inc
+++ b/data/maps/DesertRuins/scripts.inc
@@ -37,7 +37,7 @@ DesertRuins_MapScript1_22D9CA: @ 822D9CA
end
DesertRuins_EventScript_22D9D7:: @ 822D9D7
- clearflag FLAG_0x3A7
+ clearflag FLAG_HIDE_REGIROCK
return
DesertRuins_EventScript_22D9DB:: @ 822D9DB
@@ -51,7 +51,7 @@ DesertRuins_EventScript_22D9DB:: @ 822D9DB
end
DesertRuins_EventScript_22D9EE:: @ 822D9EE
- msgbox gUnknown_0827304E, 4
+ msgbox gUnknown_0827304E, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/DesertUnderpass/events.inc b/data/maps/DesertUnderpass/events.inc
index 76215c65a..aec461c34 100644
--- a/data/maps/DesertUnderpass/events.inc
+++ b/data/maps/DesertUnderpass/events.inc
@@ -1,5 +1,5 @@
DesertUnderpass_EventObjects: @ 85376D4
- object_event 1, EVENT_OBJ_GFX_FOSSIL, 0, 132, 10, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DesertUnderpass_EventScript_23AF41, 874
+ object_event 1, EVENT_OBJ_GFX_FOSSIL, 0, 132, 10, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DesertUnderpass_EventScript_23AF41, FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
DesertUnderpass_MapWarps: @ 85376EC
warp_def 10, 12, 0, 2, MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL
diff --git a/data/maps/DewfordTown/events.inc b/data/maps/DewfordTown/events.inc
index aa637587c..3d2d0af4a 100644
--- a/data/maps/DewfordTown/events.inc
+++ b/data/maps/DewfordTown/events.inc
@@ -1,8 +1,8 @@
DewfordTown_EventObjects: @ 8527964
object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 7, 12, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_EventScript_1E95B1, 0
- object_event 2, EVENT_OBJ_GFX_EXPERT_M, 0, 12, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 1, 0, 3, DewfordTown_EventScript_1E9511, 740
+ object_event 2, EVENT_OBJ_GFX_EXPERT_M, 0, 12, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 1, 0, 3, DewfordTown_EventScript_1E9511, FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
object_event 3, EVENT_OBJ_GFX_FISHERMAN, 0, 12, 14, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_EventScript_1E95D5, 0
- object_event 4, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 12, 8, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 743
+ object_event 4, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 12, 8, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
object_event 5, EVENT_OBJ_GFX_BOY_1, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, DewfordTown_EventScript_1E9922, 0
DewfordTown_MapWarps: @ 85279DC
diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc
index 157c1f4d5..07f7d9ac8 100644
--- a/data/maps/DewfordTown/scripts.inc
+++ b/data/maps/DewfordTown/scripts.inc
@@ -22,53 +22,53 @@ DewfordTown_EventScript_1E9511:: @ 81E9511
end
DewfordTown_EventScript_1E955A:: @ 81E955A
- msgbox DewfordTown_Text_1E9CE5, 4
+ msgbox DewfordTown_Text_1E9CE5, MSGBOX_DEFAULT
closemessage
goto DewfordTown_EventScript_1E9660
release
end
DewfordTown_EventScript_1E956A:: @ 81E956A
- msgbox DewfordTown_Text_1E9D3A, 4
+ msgbox DewfordTown_Text_1E9D3A, MSGBOX_DEFAULT
closemessage
goto DewfordTown_EventScript_1E96E7
release
end
DewfordTown_EventScript_1E957A:: @ 81E957A
- msgbox DewfordTown_Text_1E9D8F, 4
+ msgbox DewfordTown_Text_1E9D8F, MSGBOX_DEFAULT
closemessage
release
end
DewfordTown_EventScript_1E9585:: @ 81E9585
- msgbox DewfordTown_Text_1E9B24, 5
+ msgbox DewfordTown_Text_1E9B24, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq DewfordTown_EventScript_1E95A2
- msgbox DewfordTown_Text_1E9BD9, 4
+ msgbox DewfordTown_Text_1E9BD9, MSGBOX_DEFAULT
release
end
DewfordTown_EventScript_1E95A2:: @ 81E95A2
- msgbox DewfordTown_Text_1E9B7F, 4
+ msgbox DewfordTown_Text_1E9B7F, MSGBOX_DEFAULT
closemessage
goto DewfordTown_EventScript_1E9660
end
DewfordTown_EventScript_1E95B1:: @ 81E95B1
- msgbox DewfordTown_Text_1E99A8, 2
+ msgbox DewfordTown_Text_1E99A8, MSGBOX_NPC
end
DewfordTown_EventScript_1E95BA:: @ 81E95BA
- msgbox DewfordTown_Text_1E9A0F, 3
+ msgbox DewfordTown_Text_1E9A0F, MSGBOX_SIGN
end
DewfordTown_EventScript_1E95C3:: @ 81E95C3
- msgbox DewfordTown_Text_1E9A3D, 3
+ msgbox DewfordTown_Text_1E9A3D, MSGBOX_SIGN
end
DewfordTown_EventScript_1E95CC:: @ 81E95CC
- msgbox DewfordTown_Text_1E9A7F, 3
+ msgbox DewfordTown_Text_1E9A7F, MSGBOX_SIGN
end
DewfordTown_EventScript_1E95D5:: @ 81E95D5
@@ -76,7 +76,7 @@ DewfordTown_EventScript_1E95D5:: @ 81E95D5
faceplayer
checkflag FLAG_0x101
goto_eq DewfordTown_EventScript_1E962A
- msgbox DewfordTown_Text_1E9DD1, 5
+ msgbox DewfordTown_Text_1E9DD1, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq DewfordTown_EventScript_1E95FF
compare VAR_RESULT, 0
@@ -84,15 +84,15 @@ DewfordTown_EventScript_1E95D5:: @ 81E95D5
end
DewfordTown_EventScript_1E95FF:: @ 81E95FF
- msgbox DewfordTown_Text_1E9E14, 4
+ msgbox DewfordTown_Text_1E9E14, MSGBOX_DEFAULT
giveitem_std ITEM_OLD_ROD
setflag FLAG_0x101
- msgbox DewfordTown_Text_1E9E65, 4
+ msgbox DewfordTown_Text_1E9E65, MSGBOX_DEFAULT
release
end
DewfordTown_EventScript_1E9620:: @ 81E9620
- msgbox DewfordTown_Text_1E9F92, 4
+ msgbox DewfordTown_Text_1E9F92, MSGBOX_DEFAULT
release
end
@@ -107,12 +107,12 @@ DewfordTown_EventScript_1E962A:: @ 81E962A
end
DewfordTown_EventScript_1E964C:: @ 81E964C
- msgbox DewfordTown_Text_1E9FD0, 4
+ msgbox DewfordTown_Text_1E9FD0, MSGBOX_DEFAULT
release
end
DewfordTown_EventScript_1E9656:: @ 81E9656
- msgbox DewfordTown_Text_1EA004, 4
+ msgbox DewfordTown_Text_1EA004, MSGBOX_DEFAULT
release
end
@@ -135,10 +135,10 @@ DewfordTown_EventScript_1E9660:: @ 81E9660
applymovement 255, DewfordTown_Movement_1E9914
waitmovement 0
showobjectat 255, MAP_ROUTE104
- clearflag FLAG_0x2E3
- clearflag FLAG_0x371
- clearflag FLAG_0x2E6
- setflag FLAG_0x2E7
+ 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
@@ -171,10 +171,10 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7
setobjectpriority 2, MAP_ROUTE109, 0
applymovement 2, DewfordTown_Movement_1E991F
waitmovement 0
- clearflag FLAG_0x2E5
+ clearflag FLAG_HIDE_ROUTE_108_MR_BRINEY
addobject 1
- clearflag FLAG_0x2E8
- setflag FLAG_0x2E7
+ 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
@@ -189,11 +189,11 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7
end
DewfordTown_EventScript_1E9790:: @ 81E9790
- msgbox DewfordTown_Text_1EEC1D, 4
+ msgbox DewfordTown_Text_1EEC1D, MSGBOX_DEFAULT
return
DewfordTown_EventScript_1E9799:: @ 81E9799
- msgbox DewfordTown_Text_1EEDA7, 4
+ msgbox DewfordTown_Text_1EEDA7, MSGBOX_DEFAULT
return
DewfordTown_Movement_1E97A2: @ 81E97A2
@@ -598,7 +598,7 @@ DewfordTown_EventScript_1E9922:: @ 81E9922
lock
faceplayer
call DewfordTown_EventScript_271E8B
- msgbox DewfordTown_Text_1EA136, 5
+ msgbox DewfordTown_Text_1EA136, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq DewfordTown_EventScript_1E9948
compare VAR_RESULT, 0
@@ -606,12 +606,12 @@ DewfordTown_EventScript_1E9922:: @ 81E9922
end
DewfordTown_EventScript_1E9948:: @ 81E9948
- msgbox DewfordTown_Text_1EA491, 4
+ msgbox DewfordTown_Text_1EA491, MSGBOX_DEFAULT
release
end
DewfordTown_EventScript_1E9952:: @ 81E9952
- msgbox DewfordTown_Text_1EA242, 4
+ msgbox DewfordTown_Text_1EA242, MSGBOX_DEFAULT
setvar VAR_0x8004, 9
call DewfordTown_EventScript_271E7C
lock
@@ -626,17 +626,17 @@ DewfordTown_EventScript_1E997D:: @ 81E997D
incrementgamestat 2
compare VAR_0x8004, 0
goto_eq DewfordTown_EventScript_1E999E
- msgbox DewfordTown_Text_1EA2AA, 4
+ msgbox DewfordTown_Text_1EA2AA, MSGBOX_DEFAULT
release
end
DewfordTown_EventScript_1E9994:: @ 81E9994
- msgbox DewfordTown_Text_1EA443, 4
+ msgbox DewfordTown_Text_1EA443, MSGBOX_DEFAULT
release
end
DewfordTown_EventScript_1E999E:: @ 81E999E
- msgbox DewfordTown_Text_1EA3FE, 4
+ msgbox DewfordTown_Text_1EA3FE, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc
index 6acd67792..ade729c96 100644
--- a/data/maps/DewfordTown_Gym/scripts.inc
+++ b/data/maps/DewfordTown_Gym/scripts.inc
@@ -156,13 +156,13 @@ DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1
return
DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2
- trainerbattle 1, TRAINER_BRAWLY_1, 0, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7
+ 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
- msgbox DewfordTown_Gym_Text_1FD20D, 4
+ msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT
release
end
@@ -171,7 +171,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
message DewfordTown_Gym_Text_1FD07D
waitmessage
call DewfordTown_Gym_EventScript_27207E
- msgbox DewfordTown_Gym_Text_1FD0A8, 4
+ msgbox DewfordTown_Gym_Text_1FD0A8, MSGBOX_DEFAULT
setflag FLAG_0x4F1
setflag FLAG_BADGE02_GET
addvar VAR_0x4085, 1
@@ -183,7 +183,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox DewfordTown_Gym_Text_1FD1E0, 4
+ msgbox DewfordTown_Gym_Text_1FD1E0, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -197,7 +197,7 @@ DewfordTown_Gym_EventScript_1FC855:: @ 81FC855
giveitem_std ITEM_TM08
compare VAR_RESULT, 0
goto_eq DewfordTown_Gym_EventScript_27205E
- msgbox DewfordTown_Gym_Text_1FD181, 4
+ msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT
setflag FLAG_0x0A6
return
@@ -205,19 +205,19 @@ DewfordTown_Gym_EventScript_1FC878:: @ 81FC878
giveitem_std ITEM_TM08
compare VAR_RESULT, 0
goto_eq DewfordTown_Gym_EventScript_272054
- msgbox DewfordTown_Gym_Text_1FD181, 4
+ msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT
setflag FLAG_0x0A6
release
end
DewfordTown_Gym_EventScript_1FC89C:: @ 81FC89C
- trainerbattle 7, TRAINER_BRAWLY_1, 0, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE
- msgbox DewfordTown_Gym_Text_1FD37B, 6
+ trainerbattle_rematch_double TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE
+ msgbox DewfordTown_Gym_Text_1FD37B, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC8B7:: @ 81FC8B7
- trainerbattle 2, TRAINER_TAKAO, 0, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2
- msgbox DewfordTown_Gym_Text_1FCBCA, 6
+ trainerbattle_single TRAINER_TAKAO, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2
+ msgbox DewfordTown_Gym_Text_1FCBCA, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2
@@ -226,8 +226,8 @@ DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2
end
DewfordTown_Gym_EventScript_1FC8D9:: @ 81FC8D9
- trainerbattle 2, TRAINER_JOCELYN, 0, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4
- msgbox DewfordTown_Gym_Text_1FCC6B, 6
+ trainerbattle_single TRAINER_JOCELYN, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4
+ msgbox DewfordTown_Gym_Text_1FCC6B, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4
@@ -236,8 +236,8 @@ DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4
end
DewfordTown_Gym_EventScript_1FC8FB:: @ 81FC8FB
- trainerbattle 2, TRAINER_LAURA, 0, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916
- msgbox DewfordTown_Gym_Text_1FCD4F, 6
+ trainerbattle_single TRAINER_LAURA, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916
+ msgbox DewfordTown_Gym_Text_1FCD4F, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC916:: @ 81FC916
@@ -246,8 +246,8 @@ DewfordTown_Gym_EventScript_1FC916:: @ 81FC916
end
DewfordTown_Gym_EventScript_1FC91D:: @ 81FC91D
- trainerbattle 2, TRAINER_BRENDEN, 0, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938
- msgbox DewfordTown_Gym_Text_1FCEAB, 6
+ trainerbattle_single TRAINER_BRENDEN, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938
+ msgbox DewfordTown_Gym_Text_1FCEAB, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC938:: @ 81FC938
@@ -256,8 +256,8 @@ DewfordTown_Gym_EventScript_1FC938:: @ 81FC938
end
DewfordTown_Gym_EventScript_1FC93F:: @ 81FC93F
- trainerbattle 2, TRAINER_CRISTIAN, 0, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A
- msgbox DewfordTown_Gym_Text_1FCF26, 6
+ trainerbattle_single TRAINER_CRISTIAN, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A
+ msgbox DewfordTown_Gym_Text_1FCF26, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A
@@ -266,8 +266,8 @@ DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A
end
DewfordTown_Gym_EventScript_1FC961:: @ 81FC961
- trainerbattle 2, TRAINER_LILITH, 0, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C
- msgbox DewfordTown_Gym_Text_1FCE08, 6
+ trainerbattle_single TRAINER_LILITH, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C
+ msgbox DewfordTown_Gym_Text_1FCE08, MSGBOX_AUTOCLOSE
end
DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C
@@ -280,12 +280,12 @@ DewfordTown_Gym_EventScript_1FC983:: @ 81FC983
faceplayer
checkflag FLAG_0x4F1
goto_eq DewfordTown_Gym_EventScript_1FC998
- msgbox DewfordTown_Gym_Text_1FC9D6, 4
+ msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT
release
end
DewfordTown_Gym_EventScript_1FC998:: @ 81FC998
- msgbox DewfordTown_Gym_Text_1FCB5C, 4
+ msgbox DewfordTown_Gym_Text_1FCB5C, MSGBOX_DEFAULT
release
end
@@ -304,12 +304,12 @@ DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2
end
DewfordTown_Gym_EventScript_1FC9C2:: @ 81FC9C2
- msgbox DewfordTown_Gym_Text_1FD28B, 4
+ msgbox DewfordTown_Gym_Text_1FD28B, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Gym_EventScript_1FC9CC:: @ 81FC9CC
- msgbox DewfordTown_Gym_Text_1FD272, 4
+ msgbox DewfordTown_Gym_Text_1FD272, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/DewfordTown_Hall/events.inc b/data/maps/DewfordTown_Hall/events.inc
index 3f150c6f6..4f1881f92 100644
--- a/data/maps/DewfordTown_Hall/events.inc
+++ b/data/maps/DewfordTown_Hall/events.inc
@@ -7,7 +7,7 @@ DewfordTown_Hall_EventObjects: @ 852DC48
object_event 6, EVENT_OBJ_GFX_LITTLE_BOY, 0, 14, 7, 0, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD57F, 0
object_event 7, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 12, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD62F, 0
object_event 8, EVENT_OBJ_GFX_PSYCHIC_M, 0, 15, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD63B, 0
- object_event 9, EVENT_OBJ_GFX_MANIAC, 0, 8, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD7DA, 940
+ object_event 9, EVENT_OBJ_GFX_MANIAC, 0, 8, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD7DA, FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN
DewfordTown_Hall_MapWarps: @ 852DD20
warp_def 5, 8, 0, 0, MAP_DEWFORD_TOWN
diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc
index 37122a640..fa142696c 100644
--- a/data/maps/DewfordTown_Hall/scripts.inc
+++ b/data/maps/DewfordTown_Hall/scripts.inc
@@ -8,12 +8,12 @@ DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0
special TrendyPhraseIsOld
compare VAR_RESULT, 1
goto_eq DewfordTown_Hall_EventScript_1FD4EF
- msgbox DewfordTown_Hall_Text_1FD818, 4
+ msgbox DewfordTown_Hall_Text_1FD818, MSGBOX_DEFAULT
release
end
DewfordTown_Hall_EventScript_1FD4EF:: @ 81FD4EF
- msgbox DewfordTown_Hall_Text_1FD877, 4
+ msgbox DewfordTown_Hall_Text_1FD877, MSGBOX_DEFAULT
release
end
@@ -21,7 +21,7 @@ DewfordTown_Hall_EventScript_1FD4F9:: @ 81FD4F9
lock
faceplayer
call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FD8ED, 4
+ msgbox DewfordTown_Hall_Text_1FD8ED, MSGBOX_DEFAULT
release
end
@@ -30,7 +30,7 @@ DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A
faceplayer
call DewfordTown_Hall_EventScript_271E8B
special sub_811EF6C
- msgbox DewfordTown_Hall_Text_1FD948, 5
+ msgbox DewfordTown_Hall_Text_1FD948, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq DewfordTown_Hall_EventScript_1FD533
compare VAR_RESULT, 0
@@ -38,12 +38,12 @@ DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A
end
DewfordTown_Hall_EventScript_1FD533:: @ 81FD533
- msgbox DewfordTown_Hall_Text_1FD9B3, 4
+ msgbox DewfordTown_Hall_Text_1FD9B3, MSGBOX_DEFAULT
release
end
DewfordTown_Hall_EventScript_1FD53D:: @ 81FD53D
- msgbox DewfordTown_Hall_Text_1FDA06, 4
+ msgbox DewfordTown_Hall_Text_1FDA06, MSGBOX_DEFAULT
release
end
@@ -51,7 +51,7 @@ DewfordTown_Hall_EventScript_1FD547:: @ 81FD547
lock
faceplayer
call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDA5C, 4
+ msgbox DewfordTown_Hall_Text_1FDA5C, MSGBOX_DEFAULT
closemessage
applymovement 4, DewfordTown_Hall_Movement_2725A6
waitmovement 0
@@ -62,7 +62,7 @@ DewfordTown_Hall_EventScript_1FD563:: @ 81FD563
lock
faceplayer
call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDA99, 4
+ msgbox DewfordTown_Hall_Text_1FDA99, MSGBOX_DEFAULT
closemessage
applymovement 5, DewfordTown_Hall_Movement_2725A6
waitmovement 0
@@ -73,14 +73,14 @@ DewfordTown_Hall_EventScript_1FD57F:: @ 81FD57F
lock
faceplayer
call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDAC4, 4
+ msgbox DewfordTown_Hall_Text_1FDAC4, MSGBOX_DEFAULT
release
end
DewfordTown_Hall_EventScript_1FD590:: @ 81FD590
lockall
call DewfordTown_Hall_EventScript_271E8B
- msgbox DewfordTown_Hall_Text_1FDB89, 4
+ msgbox DewfordTown_Hall_Text_1FDB89, MSGBOX_DEFAULT
releaseall
end
@@ -100,22 +100,22 @@ DewfordTown_Hall_EventScript_1FD5A0:: @ 81FD5A0
end
DewfordTown_Hall_EventScript_1FD607:: @ 81FD607
- msgbox DewfordTown_Hall_Text_1FDC05, 4
+ msgbox DewfordTown_Hall_Text_1FDC05, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD611:: @ 81FD611
- msgbox DewfordTown_Hall_Text_1FDC21, 4
+ msgbox DewfordTown_Hall_Text_1FDC21, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD61B:: @ 81FD61B
- msgbox DewfordTown_Hall_Text_1FDC3C, 4
+ msgbox DewfordTown_Hall_Text_1FDC3C, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD625:: @ 81FD625
- msgbox DewfordTown_Hall_Text_1FDC57, 4
+ msgbox DewfordTown_Hall_Text_1FDC57, MSGBOX_DEFAULT
releaseall
end
@@ -147,41 +147,41 @@ DewfordTown_Hall_EventScript_1FD647:: @ 81FD647
DewfordTown_Hall_EventScript_1FD6AD:: @ 81FD6AD
call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDC76, 4
+ msgbox DewfordTown_Hall_Text_1FDC76, MSGBOX_DEFAULT
call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDCE2, 4
+ msgbox DewfordTown_Hall_Text_1FDCE2, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD6C9:: @ 81FD6C9
call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDD95, 4
+ msgbox DewfordTown_Hall_Text_1FDD95, MSGBOX_DEFAULT
call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDE0E, 4
+ msgbox DewfordTown_Hall_Text_1FDE0E, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD6E5:: @ 81FD6E5
call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDE77, 4
+ msgbox DewfordTown_Hall_Text_1FDE77, MSGBOX_DEFAULT
call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDED8, 4
+ msgbox DewfordTown_Hall_Text_1FDED8, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD701:: @ 81FD701
call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FDF72, 4
+ msgbox DewfordTown_Hall_Text_1FDF72, MSGBOX_DEFAULT
call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FDFF1, 4
+ msgbox DewfordTown_Hall_Text_1FDFF1, MSGBOX_DEFAULT
releaseall
end
DewfordTown_Hall_EventScript_1FD71D:: @ 81FD71D
call DewfordTown_Hall_EventScript_1FD73A
- msgbox DewfordTown_Hall_Text_1FE09A, 4
+ msgbox DewfordTown_Hall_Text_1FE09A, MSGBOX_DEFAULT
call DewfordTown_Hall_EventScript_1FD772
- msgbox DewfordTown_Hall_Text_1FE0F2, 4
+ msgbox DewfordTown_Hall_Text_1FE0F2, MSGBOX_DEFAULT
releaseall
end
@@ -252,18 +252,18 @@ DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA
lock
faceplayer
call DewfordTown_Hall_EventScript_271E8B
- checkflag FLAG_0x0E6
+ checkflag FLAG_RECEIVED_TM_36
goto_eq DewfordTown_Hall_EventScript_1FD80E
- msgbox DewfordTown_Hall_Text_1FE142, 4
+ msgbox DewfordTown_Hall_Text_1FE142, MSGBOX_DEFAULT
giveitem_std ITEM_TM36
compare VAR_RESULT, 0
goto_eq DewfordTown_Hall_EventScript_272054
- setflag FLAG_0x0E6
+ setflag FLAG_RECEIVED_TM_36
release
end
DewfordTown_Hall_EventScript_1FD80E:: @ 81FD80E
- msgbox DewfordTown_Hall_Text_1FE1ED, 4
+ msgbox DewfordTown_Hall_Text_1FE1ED, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/DewfordTown_House1/scripts.inc b/data/maps/DewfordTown_House1/scripts.inc
index 59c490d81..d051cfc19 100644
--- a/data/maps/DewfordTown_House1/scripts.inc
+++ b/data/maps/DewfordTown_House1/scripts.inc
@@ -2,11 +2,11 @@ DewfordTown_House1_MapScripts:: @ 81FC3CD
.byte 0
DewfordTown_House1_EventScript_1FC3CE:: @ 81FC3CE
- msgbox DewfordTown_House1_Text_1FC3F3, 2
+ msgbox DewfordTown_House1_Text_1FC3F3, MSGBOX_NPC
end
DewfordTown_House1_EventScript_1FC3D7:: @ 81FC3D7
- msgbox DewfordTown_House1_Text_1FC45B, 2
+ msgbox DewfordTown_House1_Text_1FC45B, MSGBOX_NPC
end
DewfordTown_House1_EventScript_1FC3E0:: @ 81FC3E0
@@ -14,7 +14,7 @@ DewfordTown_House1_EventScript_1FC3E0:: @ 81FC3E0
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox DewfordTown_House1_Text_1FC510, 4
+ msgbox DewfordTown_House1_Text_1FC510, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc
index 1805164af..2385b8328 100644
--- a/data/maps/DewfordTown_House2/scripts.inc
+++ b/data/maps/DewfordTown_House2/scripts.inc
@@ -6,7 +6,7 @@ DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E
faceplayer
checkflag FLAG_0x121
goto_eq DewfordTown_House2_EventScript_1FE267
- msgbox DewfordTown_House2_Text_1FE27A, 4
+ msgbox DewfordTown_House2_Text_1FE27A, MSGBOX_DEFAULT
giveitem_std ITEM_SILK_SCARF
compare VAR_RESULT, 0
goto_eq DewfordTown_House2_EventScript_1FE25D
@@ -15,17 +15,17 @@ DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E
end
DewfordTown_House2_EventScript_1FE25D:: @ 81FE25D
- msgbox DewfordTown_House2_Text_1FE356, 4
+ msgbox DewfordTown_House2_Text_1FE356, MSGBOX_DEFAULT
release
end
DewfordTown_House2_EventScript_1FE267:: @ 81FE267
- msgbox DewfordTown_House2_Text_1FE3D1, 4
+ msgbox DewfordTown_House2_Text_1FE3D1, MSGBOX_DEFAULT
release
end
DewfordTown_House2_EventScript_1FE271:: @ 81FE271
- msgbox DewfordTown_House2_Text_1FE444, 2
+ msgbox DewfordTown_House2_Text_1FE444, MSGBOX_NPC
end
DewfordTown_House2_Text_1FE27A: @ 81FE27A
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc
index a9ce59bc1..e01e37f7b 100644
--- a/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/DewfordTown_PokemonCenter_1F/scripts.inc
@@ -17,11 +17,11 @@ DewfordTown_PokemonCenter_1F_EventScript_1FC537:: @ 81FC537
end
DewfordTown_PokemonCenter_1F_EventScript_1FC545:: @ 81FC545
- msgbox DewfordTown_PokemonCenter_1F_Text_1FC557, 2
+ msgbox DewfordTown_PokemonCenter_1F_Text_1FC557, MSGBOX_NPC
end
DewfordTown_PokemonCenter_1F_EventScript_1FC54E:: @ 81FC54E
- msgbox DewfordTown_PokemonCenter_1F_Text_1FC5AE, 2
+ msgbox DewfordTown_PokemonCenter_1F_Text_1FC5AE, MSGBOX_NPC
end
DewfordTown_PokemonCenter_1F_Text_1FC557: @ 81FC557
diff --git a/data/maps/DewfordTown_PokemonCenter_2F/events.inc b/data/maps/DewfordTown_PokemonCenter_2F/events.inc
index f9d67ecbf..4f37111a5 100644
--- a/data/maps/DewfordTown_PokemonCenter_2F/events.inc
+++ b/data/maps/DewfordTown_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ DewfordTown_PokemonCenter_2F_EventObjects: @ 852DAA8
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
DewfordTown_PokemonCenter_2F_MapWarps: @ 852DB08
warp_def 1, 6, 4, 2, MAP_DEWFORD_TOWN_POKEMON_CENTER_1F
diff --git a/data/maps/EverGrandeCity/scripts.inc b/data/maps/EverGrandeCity/scripts.inc
index 178621217..5bb85a3c1 100644
--- a/data/maps/EverGrandeCity/scripts.inc
+++ b/data/maps/EverGrandeCity/scripts.inc
@@ -8,15 +8,15 @@ EverGrandeCity_MapScript1_1E7D21: @ 81E7D21
end
EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B
- msgbox EverGrandeCity_Text_1E7D4F, 3
+ msgbox EverGrandeCity_Text_1E7D4F, MSGBOX_SIGN
end
EverGrandeCity_EventScript_1E7D34:: @ 81E7D34
- msgbox EverGrandeCity_Text_1E7D89, 3
+ msgbox EverGrandeCity_Text_1E7D89, MSGBOX_SIGN
end
EverGrandeCity_EventScript_1E7D3D:: @ 81E7D3D
- msgbox EverGrandeCity_Text_1E7D65, 3
+ msgbox EverGrandeCity_Text_1E7D65, MSGBOX_SIGN
end
EverGrandeCity_EventScript_1E7D46:: @ 81E7D46
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/events.inc b/data/maps/EverGrandeCity_ChampionsRoom/events.inc
index b09221dca..bd4cc71e3 100644
--- a/data/maps/EverGrandeCity_ChampionsRoom/events.inc
+++ b/data/maps/EverGrandeCity_ChampionsRoom/events.inc
@@ -1,7 +1,7 @@
EverGrandeCity_ChampionsRoom_EventObjects: @ 8533700
object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 920
- object_event 3, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 921
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL
+ object_event 3, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_BIRCH
EverGrandeCity_ChampionsRoom_MapWarps: @ 8533748
warp_def 6, 12, 3, 1, MAP_EVER_GRANDE_CITY_HALL4
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
index 3e68f4fed..2bba37d4d 100644
--- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
@@ -39,8 +39,8 @@ EverGrandeCity_ChampionsRoom_Movement_228A42: @ 8228A42
EverGrandeCity_ChampionsRoom_EventScript_228A45:: @ 8228A45
playbgm MUS_DAIGO, 0
- msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, 4
- trainerbattle 3, TRAINER_WALLACE, 0, EverGrandeCity_ChampionsRoom_Text_228EAC
+ msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_WALLACE, EverGrandeCity_ChampionsRoom_Text_228EAC
goto EverGrandeCity_ChampionsRoom_EventScript_228A61
end
@@ -49,7 +49,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61
setmetatile 6, 1, 838, 0
setmetatile 6, 2, 839, 0
special DrawWholeMapView
- msgbox EverGrandeCity_ChampionsRoom_Text_228F66, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_228F66, MSGBOX_DEFAULT
closemessage
playse SE_DOOR
checkplayergender
@@ -75,7 +75,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228AC1:: @ 8228AC1
return
EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6
- msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, MSGBOX_DEFAULT
delay 40
playse SE_PIN
applymovement 2, EverGrandeCity_ChampionsRoom_Movement_272598
@@ -83,12 +83,12 @@ EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6
applymovement 2, EverGrandeCity_ChampionsRoom_Movement_27259A
waitmovement 0
call EverGrandeCity_ChampionsRoom_EventScript_228C12
- msgbox EverGrandeCity_ChampionsRoom_Text_22910B, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_22910B, MSGBOX_DEFAULT
goto EverGrandeCity_ChampionsRoom_EventScript_228B30
end
EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB
- msgbox EverGrandeCity_ChampionsRoom_Text_229152, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_229152, MSGBOX_DEFAULT
delay 40
playse SE_PIN
applymovement 2, EverGrandeCity_ChampionsRoom_Movement_272598
@@ -96,7 +96,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB
applymovement 2, EverGrandeCity_ChampionsRoom_Movement_27259A
waitmovement 0
call EverGrandeCity_ChampionsRoom_EventScript_228C12
- msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, MSGBOX_DEFAULT
goto EverGrandeCity_ChampionsRoom_EventScript_228B30
end
@@ -107,15 +107,15 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
waitmovement 0
applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A8
waitmovement 0
- msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT
call EverGrandeCity_ChampionsRoom_EventScript_272184
- msgbox EverGrandeCity_ChampionsRoom_Text_22934D, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_22934D, MSGBOX_DEFAULT
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_2725A6
waitmovement 0
delay 20
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_2725AA
waitmovement 0
- msgbox EverGrandeCity_ChampionsRoom_Text_229399, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_229399, MSGBOX_DEFAULT
closemessage
delay 30
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B
@@ -126,7 +126,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
delay 20
applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725AA
waitmovement 0
- msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT
checkplayergender
compare VAR_RESULT, 0
call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BEB
@@ -136,18 +136,18 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F
applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C20
waitmovement 0
- setflag FLAG_0x30D
+ setflag FLAG_HIDE_PETALBURG_GYM_GREETER
warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16
waitstate
releaseall
end
EverGrandeCity_ChampionsRoom_EventScript_228BEB:: @ 8228BEB
- msgbox EverGrandeCity_ChampionsRoom_Text_229479, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_229479, MSGBOX_DEFAULT
return
EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4
- msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, 4
+ msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, MSGBOX_DEFAULT
return
EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD
diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
index 4c90417af..519bb535f 100644
--- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
@@ -44,13 +44,13 @@ EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3
checkflag FLAG_0x4FE
goto_eq EverGrandeCity_DrakesRoom_EventScript_22871A
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_DrakesRoom_Text_22873E, 4
- trainerbattle 3, TRAINER_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_228895
+ msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895
goto EverGrandeCity_DrakesRoom_EventScript_228724
end
EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A
- msgbox EverGrandeCity_DrakesRoom_Text_2288B0, 4
+ msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT
release
end
@@ -59,7 +59,7 @@ EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724
special sub_813BF7C
setflag FLAG_0x4FE
call EverGrandeCity_DrakesRoom_EventScript_2723F8
- msgbox EverGrandeCity_DrakesRoom_Text_2288B0, 4
+ msgbox EverGrandeCity_DrakesRoom_Text_2288B0, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
index f1d846f03..0f7d2248d 100644
--- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
@@ -44,20 +44,20 @@ EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469
checkflag FLAG_0x4FD
goto_eq EverGrandeCity_GlaciasRoom_EventScript_228490
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, 4
- trainerbattle 3, TRAINER_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_2285B4
+ msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4
goto EverGrandeCity_GlaciasRoom_EventScript_22849A
end
EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490
- msgbox EverGrandeCity_GlaciasRoom_Text_228640, 4
+ msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT
release
end
EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A
setflag FLAG_0x4FD
call EverGrandeCity_GlaciasRoom_EventScript_2723F8
- msgbox EverGrandeCity_GlaciasRoom_Text_228640, 4
+ msgbox EverGrandeCity_GlaciasRoom_Text_228640, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
index 763d2ebb1..8f510c13e 100644
--- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc
+++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
@@ -23,7 +23,7 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8
applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4
waitmovement 0
- msgbox EverGrandeCity_HallOfFame_Text_22990E, 4
+ msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT
closemessage
applymovement 1, EverGrandeCity_HallOfFame_Movement_229908
applymovement 255, EverGrandeCity_HallOfFame_Movement_229908
@@ -32,7 +32,7 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8
applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4
waitmovement 0
- msgbox EverGrandeCity_HallOfFame_Text_2299A3, 4
+ msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT
closemessage
applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A6
applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A6
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
index 679e4f663..a1062bab5 100644
--- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
@@ -44,20 +44,20 @@ EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB
checkflag FLAG_0x4FC
goto_eq EverGrandeCity_PhoebesRoom_EventScript_2281F2
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_PhoebesRoom_Text_22820E, 4
- trainerbattle 3, TRAINER_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_228325
+ msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325
goto EverGrandeCity_PhoebesRoom_EventScript_2281FC
end
EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2
- msgbox EverGrandeCity_PhoebesRoom_Text_228343, 4
+ msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT
release
end
EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC
setflag FLAG_0x4FC
call EverGrandeCity_PhoebesRoom_EventScript_2723F8
- msgbox EverGrandeCity_PhoebesRoom_Text_228343, 4
+ msgbox EverGrandeCity_PhoebesRoom_Text_228343, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc
index f6fa3987f..23e555622 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/events.inc
@@ -2,7 +2,7 @@ EverGrandeCity_PokemonCenter_1F_EventObjects: @ 8533930
object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A59, 0
object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A67, 0
object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A70, 0
- object_event 4, EVENT_OBJ_GFX_SCOTT, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A79, 793
+ object_event 4, EVENT_OBJ_GFX_SCOTT, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A79, FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
EverGrandeCity_PokemonCenter_1F_MapWarps: @ 8533990
warp_def 7, 8, 3, 1, MAP_EVER_GRANDE_CITY
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
index 16b82a592..e1ec4c671 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
@@ -12,7 +12,7 @@ EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F
EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C
checkflag FLAG_BADGE06_GET
goto_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_27374E
- clearflag FLAG_0x319
+ clearflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
return
EverGrandeCity_PokemonCenter_1F_EventScript_229A59:: @ 8229A59
@@ -24,17 +24,17 @@ EverGrandeCity_PokemonCenter_1F_EventScript_229A59:: @ 8229A59
end
EverGrandeCity_PokemonCenter_1F_EventScript_229A67:: @ 8229A67
- msgbox EverGrandeCity_PokemonCenter_1F_Text_229ADA, 2
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_229ADA, MSGBOX_NPC
end
EverGrandeCity_PokemonCenter_1F_EventScript_229A70:: @ 8229A70
- msgbox EverGrandeCity_PokemonCenter_1F_Text_229B62, 2
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_229B62, MSGBOX_NPC
end
EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79
lock
faceplayer
- msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, 4
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AB6
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc
index 08dbeb5c6..855336146 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ EverGrandeCity_PokemonCenter_2F_EventObjects: @ 85339BC
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
EverGrandeCity_PokemonCenter_2F_MapWarps: @ 8533A1C
warp_def 1, 6, 4, 2, MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
index b4046d022..7477cf5d5 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
@@ -29,7 +29,7 @@ EverGrandeCity_PokemonLeague_1F_EventScript_22960A:: @ 822960A
message gUnknown_08272A21
waitmessage
pokemart EverGrandeCity_PokemonLeague_1F_Pokemart_229624
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -88,14 +88,14 @@ EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3
EverGrandeCity_PokemonLeague_1F_EventScript_2296AE:: @ 82296AE
playse SE_HAZURE
- msgbox EverGrandeCity_PokemonLeague_1F_Text_229787, 4
+ msgbox EverGrandeCity_PokemonLeague_1F_Text_229787, MSGBOX_DEFAULT
releaseall
end
EverGrandeCity_PokemonLeague_1F_EventScript_2296BB:: @ 82296BB
applymovement VAR_LAST_TALKED, EverGrandeCity_PokemonLeague_1F_Movement_27259E
waitmovement 0
- msgbox EverGrandeCity_PokemonLeague_1F_Text_2297EF, 4
+ msgbox EverGrandeCity_PokemonLeague_1F_Text_2297EF, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, EverGrandeCity_PokemonLeague_1F_Movement_2725A2
waitmovement 0
diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/events.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/events.inc
index 18d45eef9..b6497d824 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_2F/events.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_2F/events.inc
@@ -2,7 +2,7 @@ EverGrandeCity_PokemonLeague_2F_EventObjects: @ 8533A48
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
EverGrandeCity_PokemonLeague_2F_MapWarps: @ 8533AA8
warp_def 1, 6, 4, 4, MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F
diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
index b2db55e36..f8182bbf3 100644
--- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
@@ -7,7 +7,7 @@ EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01
EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16
setflag FLAG_0x1CF
- setflag FLAG_0x319
+ setflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
end
EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D
@@ -51,20 +51,20 @@ EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64
checkflag FLAG_0x4FB
goto_eq EverGrandeCity_SidneysRoom_EventScript_227F8B
playbgm MUS_SITENNOU, 0
- msgbox EverGrandeCity_SidneysRoom_Text_227FA7, 4
- trainerbattle 3, TRAINER_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_2280A2
+ msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2
goto EverGrandeCity_SidneysRoom_EventScript_227F95
end
EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B
- msgbox EverGrandeCity_SidneysRoom_Text_2280EC, 4
+ msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT
release
end
EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95
setflag FLAG_0x4FB
call EverGrandeCity_SidneysRoom_EventScript_2723F8
- msgbox EverGrandeCity_SidneysRoom_Text_2280EC, 4
+ msgbox EverGrandeCity_SidneysRoom_Text_2280EC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FallarborTown/events.inc b/data/maps/FallarborTown/events.inc
index b2246ad5a..9b2f0a2de 100644
--- a/data/maps/FallarborTown/events.inc
+++ b/data/maps/FallarborTown/events.inc
@@ -2,7 +2,7 @@ FallarborTown_EventObjects: @ 8527BE0
object_event 1, EVENT_OBJ_GFX_GIRL_1, 0, 8, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, FallarborTown_EventScript_1EB22B, 0
object_event 2, EVENT_OBJ_GFX_EXPERT_M, 0, 11, 9, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, FallarborTown_EventScript_1EB20C, 0
object_event 3, EVENT_OBJ_GFX_GENTLEMAN, 0, 11, 15, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, FallarborTown_EventScript_1EB234, 0
- object_event 4, EVENT_OBJ_GFX_AZURILL, 0, 8, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 0, 0, 0, FallarborTown_EventScript_1EB23D, 907
+ object_event 4, EVENT_OBJ_GFX_AZURILL, 0, 8, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 0, 0, 0, FallarborTown_EventScript_1EB23D, FLAG_HIDE_FALLARBOR_AZURILL
FallarborTown_MapWarps: @ 8527C40
warp_def 15, 15, 0, 0, MAP_FALLARBOR_TOWN_MART
@@ -19,7 +19,7 @@ FallarborTown_MapBGEvents: @ 8527C68
bg_event 10, 11, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_EventScript_1EB259
bg_event 17, 15, 0, BG_EVENT_PLAYER_FACING_NORTH, FallarborTown_EventScript_271E6A
bg_event 3, 7, 0, BG_EVENT_PLAYER_FACING_ANY, FallarborTown_EventScript_1EB262
- bg_hidden_item_event 2, 15, 3, ITEM_NUGGET, 28
+ bg_hidden_item_event 2, 15, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET
FallarborTown_MapEvents:: @ 8527CC8
map_events FallarborTown_EventObjects, FallarborTown_MapWarps, 0x0, FallarborTown_MapBGEvents
diff --git a/data/maps/FallarborTown/scripts.inc b/data/maps/FallarborTown/scripts.inc
index 21cea72e1..80dc91f9e 100644
--- a/data/maps/FallarborTown/scripts.inc
+++ b/data/maps/FallarborTown/scripts.inc
@@ -13,21 +13,21 @@ FallarborTown_EventScript_1EB20C:: @ 81EB20C
faceplayer
checkflag FLAG_0x08B
goto_eq FallarborTown_EventScript_1EB221
- msgbox FallarborTown_Text_1EB26B, 4
+ msgbox FallarborTown_Text_1EB26B, MSGBOX_DEFAULT
release
end
FallarborTown_EventScript_1EB221:: @ 81EB221
- msgbox FallarborTown_Text_1EB2DE, 4
+ msgbox FallarborTown_Text_1EB2DE, MSGBOX_DEFAULT
release
end
FallarborTown_EventScript_1EB22B:: @ 81EB22B
- msgbox FallarborTown_Text_1EB35F, 2
+ msgbox FallarborTown_Text_1EB35F, MSGBOX_NPC
end
FallarborTown_EventScript_1EB234:: @ 81EB234
- msgbox FallarborTown_Text_1EB3CA, 2
+ msgbox FallarborTown_Text_1EB3CA, MSGBOX_NPC
end
FallarborTown_EventScript_1EB23D:: @ 81EB23D
@@ -35,21 +35,21 @@ FallarborTown_EventScript_1EB23D:: @ 81EB23D
faceplayer
waitse
playmoncry SPECIES_AZURILL, 0
- msgbox FallarborTown_Text_1EB3B5, 4
+ msgbox FallarborTown_Text_1EB3B5, MSGBOX_DEFAULT
waitmoncry
release
end
FallarborTown_EventScript_1EB250:: @ 81EB250
- msgbox FallarborTown_Text_1EB4C2, 3
+ msgbox FallarborTown_Text_1EB4C2, MSGBOX_SIGN
end
FallarborTown_EventScript_1EB259:: @ 81EB259
- msgbox FallarborTown_Text_1EB4FE, 3
+ msgbox FallarborTown_Text_1EB4FE, MSGBOX_SIGN
end
FallarborTown_EventScript_1EB262:: @ 81EB262
- msgbox FallarborTown_Text_1EB534, 3
+ msgbox FallarborTown_Text_1EB534, MSGBOX_SIGN
end
FallarborTown_Text_1EB26B: @ 81EB26B
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
index e373ff5ad..f3e1edbbf 100644
--- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
@@ -37,7 +37,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, FallarborTown_BattleTentBattleRoom_EventScript_200B73
@@ -51,10 +51,10 @@ FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
playse SE_W187
waitse
waitmovement 0
- msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, 4
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, MSGBOX_DEFAULT
setvar VAR_0x8004, 4
special sub_81B99B4
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call FallarborTown_BattleTentBattleRoom_EventScript_257B6C
switch VAR_RESULT
@@ -65,13 +65,13 @@ FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
waitmovement 0
setvar VAR_0x8004, 6
special sub_81B9B80
- msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, 4
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, MSGBOX_DEFAULT
FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -81,18 +81,18 @@ FallarborTown_BattleTentBattleRoom_EventScript_20099C:: @ 820099C
playse SE_BAN
waitse
waitmovement 0
- msgbox FallarborTown_BattleTentBattleRoom_Text_257CB3, 4
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257CB3, MSGBOX_DEFAULT
closemessage
FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 3, FallarborTown_BattleTentBattleRoom_EventScript_200AF3
applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B9E
@@ -102,12 +102,12 @@ FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
waitmovement 0
applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94
waitmovement 0
- msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, 4
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -115,7 +115,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B43
compare VAR_RESULT, 2
@@ -127,7 +127,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
case 2, FallarborTown_BattleTentBattleRoom_EventScript_200AA6
FallarborTown_BattleTentBattleRoom_EventScript_200A78:: @ 8200A78
- msgbox FallarborTown_BattleTentBattleRoom_Text_257E6B, 5
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257E6B, MSGBOX_YESNO
switch VAR_RESULT
case 0, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
case 1, FallarborTown_BattleTentBattleRoom_EventScript_200B51
@@ -156,20 +156,20 @@ FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
- special sub_81A5238
+ special CallBattleArenaFunction
compare VAR_RESULT, 9999
goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A5238
+ special CallBattleArenaFunction
FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43
message FallarborTown_BattleTentBattleRoom_Text_257D17
@@ -191,7 +191,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_200B51:: @ 8200B51
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
FallarborTown_BattleTentBattleRoom_EventScript_200B73:: @ 8200B73
diff --git a/data/maps/FallarborTown_BattleTentLobby/events.inc b/data/maps/FallarborTown_BattleTentLobby/events.inc
index 937a15f27..6a9741c50 100644
--- a/data/maps/FallarborTown_BattleTentLobby/events.inc
+++ b/data/maps/FallarborTown_BattleTentLobby/events.inc
@@ -3,7 +3,7 @@ FallarborTown_BattleTentLobby_EventObjects: @ 852E370
object_event 2, EVENT_OBJ_GFX_HIKER, 0, 1, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, FallarborTown_BattleTentLobby_EventScript_20020D, 0
object_event 3, EVENT_OBJ_GFX_LITTLE_BOY, 0, 12, 6, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, FallarborTown_BattleTentLobby_EventScript_200216, 0
object_event 4, EVENT_OBJ_GFX_LASS, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FallarborTown_BattleTentLobby_EventScript_20021F, 0
- object_event 5, EVENT_OBJ_GFX_SCOTT, 0, 0, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, FallarborTown_BattleTentLobby_EventScript_200228, 767
+ object_event 5, EVENT_OBJ_GFX_SCOTT, 0, 0, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, FallarborTown_BattleTentLobby_EventScript_200228, FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
FallarborTown_BattleTentLobby_MapWarps: @ 852E3E8
warp_def 6, 9, 0, 1, MAP_FALLARBOR_TOWN
diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
index daf76cba2..34906cfd3 100644
--- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
@@ -22,28 +22,28 @@ FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85
FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8
lockall
- msgbox FallarborTown_BattleTentLobby_Text_2C4DED, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4DED, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
releaseall
end
FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED
lockall
- msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, MSGBOX_DEFAULT
message FallarborTown_BattleTentLobby_Text_2C4EFF
waitmessage
setvar VAR_0x8004, 4
@@ -51,7 +51,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9B80
@@ -59,7 +59,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED
waitse
FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27
- msgbox FallarborTown_BattleTentLobby_Text_2C4F22, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4F22, MSGBOX_DEFAULT
setvar VAR_0x8004, 5
special sub_81B9B80
switch VAR_RESULT
@@ -67,19 +67,19 @@ FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
message FallarborTown_BattleTentLobby_Text_2C4F69
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73
- msgbox FallarborTown_BattleTentLobby_Text_2C4F83, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4F83, MSGBOX_DEFAULT
waitmessage
closemessage
setvar VAR_TEMP_0, 255
@@ -88,7 +88,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73
FallarborTown_BattleTentLobby_EventScript_1FFF84:: @ 81FFF84
lockall
- msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_1FFF27
end
@@ -99,13 +99,13 @@ FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9B80
playse SE_SAVE
waitse
- msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C501F, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -123,7 +123,7 @@ FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
goto FallarborTown_BattleTentLobby_EventScript_20013C
@@ -135,7 +135,7 @@ FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001
compare VAR_RESULT, 0
goto_if 5, FallarborTown_BattleTentLobby_EventScript_1FFF84
special SavePlayerParty
- msgbox FallarborTown_BattleTentLobby_Text_2C47EB, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C47EB, MSGBOX_DEFAULT
FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021
message FallarborTown_BattleTentLobby_Text_2C4843
@@ -152,14 +152,14 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_RESULT, 2
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq FallarborTown_BattleTentLobby_EventScript_200176
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
- special sub_81A1780
- msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, 4
+ special CallFrontierUtilFunc
+ msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
@@ -167,7 +167,7 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
waitstate
compare VAR_RESULT, 0
goto_eq FallarborTown_BattleTentLobby_EventScript_2001C2
- msgbox FallarborTown_BattleTentLobby_Text_2C4B35, 5
+ msgbox FallarborTown_BattleTentLobby_Text_2C4B35, MSGBOX_YESNO
switch VAR_RESULT
case 0, FallarborTown_BattleTentLobby_EventScript_2001C2
case 1, FallarborTown_BattleTentLobby_EventScript_2000E2
@@ -177,17 +177,17 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
special sub_81B9B80
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -200,8 +200,8 @@ FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, 4
+ special CallFrontierUtilFunc
+ msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, MSGBOX_DEFAULT
closemessage
call FallarborTown_BattleTentLobby_EventScript_2001CF
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
@@ -210,7 +210,7 @@ FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
end
FallarborTown_BattleTentLobby_EventScript_200169:: @ 8200169
- msgbox FallarborTown_BattleTentLobby_Text_2C48AC, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C48AC, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_200021
FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176
@@ -219,25 +219,25 @@ FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176
case 1, FallarborTown_BattleTentLobby_EventScript_20019E
FallarborTown_BattleTentLobby_EventScript_200191:: @ 8200191
- msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_2001CD
FallarborTown_BattleTentLobby_EventScript_20019E:: @ 820019E
- msgbox FallarborTown_BattleTentLobby_Text_2C4CC0, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C4CC0, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_2001CD
FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto FallarborTown_BattleTentLobby_EventScript_2001C5
FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2
special LoadPlayerParty
FallarborTown_BattleTentLobby_EventScript_2001C5:: @ 82001C5
- msgbox FallarborTown_BattleTentLobby_Text_2C487F, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C487F, MSGBOX_DEFAULT
FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD
release
@@ -280,15 +280,15 @@ FallarborTown_BattleTentLobby_Movement_200209: @ 8200209
step_end
FallarborTown_BattleTentLobby_EventScript_20020D:: @ 820020D
- msgbox FallarborTown_BattleTentLobby_Text_20045A, 2
+ msgbox FallarborTown_BattleTentLobby_Text_20045A, MSGBOX_NPC
end
FallarborTown_BattleTentLobby_EventScript_200216:: @ 8200216
- msgbox FallarborTown_BattleTentLobby_Text_200304, 2
+ msgbox FallarborTown_BattleTentLobby_Text_200304, MSGBOX_NPC
end
FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F
- msgbox FallarborTown_BattleTentLobby_Text_200382, 2
+ msgbox FallarborTown_BattleTentLobby_Text_200382, MSGBOX_NPC
end
FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228
@@ -296,20 +296,20 @@ FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228
faceplayer
checkflag FLAG_0x1CD
goto_eq FallarborTown_BattleTentLobby_EventScript_200245
- msgbox FallarborTown_BattleTentLobby_Text_200501, 4
+ msgbox FallarborTown_BattleTentLobby_Text_200501, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x1CD
release
end
FallarborTown_BattleTentLobby_EventScript_200245:: @ 8200245
- msgbox FallarborTown_BattleTentLobby_Text_200653, 4
+ msgbox FallarborTown_BattleTentLobby_Text_200653, MSGBOX_DEFAULT
release
end
FallarborTown_BattleTentLobby_EventScript_20024F:: @ 820024F
lockall
- msgbox FallarborTown_BattleTentLobby_Text_256DB8, 4
+ msgbox FallarborTown_BattleTentLobby_Text_256DB8, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_20025E
end
@@ -328,27 +328,27 @@ FallarborTown_BattleTentLobby_EventScript_20025E:: @ 820025E
end
FallarborTown_BattleTentLobby_EventScript_2002BC:: @ 82002BC
- msgbox FallarborTown_BattleTentLobby_Text_2C67CD, 4
+ msgbox FallarborTown_BattleTentLobby_Text_2C67CD, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_20025E
end
FallarborTown_BattleTentLobby_EventScript_2002CA:: @ 82002CA
- msgbox FallarborTown_BattleTentLobby_Text_256E02, 4
+ msgbox FallarborTown_BattleTentLobby_Text_256E02, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_20025E
end
FallarborTown_BattleTentLobby_EventScript_2002D8:: @ 82002D8
- msgbox FallarborTown_BattleTentLobby_Text_256F43, 4
+ msgbox FallarborTown_BattleTentLobby_Text_256F43, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_20025E
end
FallarborTown_BattleTentLobby_EventScript_2002E6:: @ 82002E6
- msgbox FallarborTown_BattleTentLobby_Text_256FF2, 4
+ msgbox FallarborTown_BattleTentLobby_Text_256FF2, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_20025E
end
FallarborTown_BattleTentLobby_EventScript_2002F4:: @ 82002F4
- msgbox FallarborTown_BattleTentLobby_Text_257202, 4
+ msgbox FallarborTown_BattleTentLobby_Text_257202, MSGBOX_DEFAULT
goto FallarborTown_BattleTentLobby_EventScript_20025E
end
diff --git a/data/maps/FallarborTown_House1/events.inc b/data/maps/FallarborTown_House1/events.inc
index 972ba61b6..da261afb4 100644
--- a/data/maps/FallarborTown_House1/events.inc
+++ b/data/maps/FallarborTown_House1/events.inc
@@ -1,5 +1,5 @@
FallarborTown_House1_EventObjects: @ 852E5B8
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FallarborTown_House1_EventScript_200F13, 928
+ object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FallarborTown_House1_EventScript_200F13, FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO
object_event 2, EVENT_OBJ_GFX_WOMAN_2, 0, 5, 6, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, FallarborTown_House1_EventScript_200FBC, 0
FallarborTown_House1_MapWarps: @ 852E5E8
diff --git a/data/maps/FallarborTown_House1/scripts.inc b/data/maps/FallarborTown_House1/scripts.inc
index 47459f8d5..e759b43b3 100644
--- a/data/maps/FallarborTown_House1/scripts.inc
+++ b/data/maps/FallarborTown_House1/scripts.inc
@@ -9,45 +9,45 @@ FallarborTown_House1_EventScript_200F13:: @ 8200F13
checkitem ITEM_METEORITE, 1
compare VAR_RESULT, 1
goto_eq FallarborTown_House1_EventScript_200F38
- msgbox FallarborTown_House1_Text_200FEE, 4
+ msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT
release
end
FallarborTown_House1_EventScript_200F38:: @ 8200F38
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
call_if 0, FallarborTown_House1_EventScript_200F8B
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
call_if 1, FallarborTown_House1_EventScript_200F9C
compare VAR_RESULT, 0
goto_eq FallarborTown_House1_EventScript_200FA5
- msgbox FallarborTown_House1_Text_201159, 4
+ msgbox FallarborTown_House1_Text_201159, MSGBOX_DEFAULT
giveitem_std ITEM_TM27
compare VAR_RESULT, 0
goto_eq FallarborTown_House1_EventScript_272054
setvar VAR_0x8004, 280
call FallarborTown_House1_EventScript_2723E4
setflag FLAG_0x0E5
- msgbox FallarborTown_House1_Text_2011A5, 4
+ msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT
release
end
FallarborTown_House1_EventScript_200F8B:: @ 8200F8B
- msgbox FallarborTown_House1_Text_200FEE, 4
- msgbox FallarborTown_House1_Text_2010A2, 5
+ msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT
+ msgbox FallarborTown_House1_Text_2010A2, MSGBOX_YESNO
return
FallarborTown_House1_EventScript_200F9C:: @ 8200F9C
- msgbox FallarborTown_House1_Text_201249, 5
+ msgbox FallarborTown_House1_Text_201249, MSGBOX_YESNO
return
FallarborTown_House1_EventScript_200FA5:: @ 8200FA5
- setflag FLAG_0x002
- msgbox FallarborTown_House1_Text_201212, 4
+ setflag FLAG_TEMP_2
+ msgbox FallarborTown_House1_Text_201212, MSGBOX_DEFAULT
release
end
FallarborTown_House1_EventScript_200FB2:: @ 8200FB2
- msgbox FallarborTown_House1_Text_2011A5, 4
+ msgbox FallarborTown_House1_Text_2011A5, MSGBOX_DEFAULT
release
end
@@ -58,17 +58,17 @@ FallarborTown_House1_EventScript_200FBC:: @ 8200FBC
goto_eq FallarborTown_House1_EventScript_200FE4
checkflag FLAG_0x08B
goto_eq FallarborTown_House1_EventScript_200FDA
- msgbox FallarborTown_House1_Text_2012BC, 4
+ msgbox FallarborTown_House1_Text_2012BC, MSGBOX_DEFAULT
release
end
FallarborTown_House1_EventScript_200FDA:: @ 8200FDA
- msgbox FallarborTown_House1_Text_201310, 4
+ msgbox FallarborTown_House1_Text_201310, MSGBOX_DEFAULT
release
end
FallarborTown_House1_EventScript_200FE4:: @ 8200FE4
- msgbox FallarborTown_House1_Text_20134B, 4
+ msgbox FallarborTown_House1_Text_20134B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc
index 7ab0666e8..e1d072e49 100644
--- a/data/maps/FallarborTown_House2/scripts.inc
+++ b/data/maps/FallarborTown_House2/scripts.inc
@@ -5,10 +5,10 @@ FallarborTown_House2_EventScript_201383:: @ 8201383
lockall
applymovement 1, FallarborTown_House2_Movement_27259E
waitmovement 0
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq FallarborTown_House2_EventScript_2013A8
- msgbox FallarborTown_House2_Text_20145C, 4
- setflag FLAG_0x001
+ msgbox FallarborTown_House2_Text_20145C, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_1
goto FallarborTown_House2_EventScript_2013A8
end
@@ -16,14 +16,14 @@ FallarborTown_House2_EventScript_2013A8:: @ 82013A8
checkitem ITEM_HEART_SCALE, 1
compare VAR_RESULT, 0
goto_eq FallarborTown_House2_EventScript_201452
- msgbox FallarborTown_House2_Text_201541, 5
+ msgbox FallarborTown_House2_Text_201541, MSGBOX_YESNO
switch VAR_RESULT
case 0, FallarborTown_House2_EventScript_201452
goto FallarborTown_House2_EventScript_2013D6
end
FallarborTown_House2_EventScript_2013D6:: @ 82013D6
- msgbox FallarborTown_House2_Text_2015A5, 4
+ msgbox FallarborTown_House2_Text_2015A5, MSGBOX_DEFAULT
special sub_81B951C
waitstate
compare VAR_0x8004, 255
@@ -37,28 +37,28 @@ FallarborTown_House2_EventScript_2013D6:: @ 82013D6
end
FallarborTown_House2_EventScript_20140C:: @ 820140C
- msgbox FallarborTown_House2_Text_2015C3, 4
+ msgbox FallarborTown_House2_Text_2015C3, MSGBOX_DEFAULT
special TeachMoveTutorMove
waitstate
compare VAR_0x8004, 0
goto_eq FallarborTown_House2_EventScript_2013D6
- msgbox FallarborTown_House2_Text_201627, 4
+ msgbox FallarborTown_House2_Text_201627, MSGBOX_DEFAULT
takeitem ITEM_HEART_SCALE, 1
goto FallarborTown_House2_EventScript_201452
end
FallarborTown_House2_EventScript_201436:: @ 8201436
- msgbox FallarborTown_House2_Text_2015DE, 4
+ msgbox FallarborTown_House2_Text_2015DE, MSGBOX_DEFAULT
goto FallarborTown_House2_EventScript_2013D6
end
FallarborTown_House2_EventScript_201444:: @ 8201444
- msgbox FallarborTown_House2_Text_201697, 4
+ msgbox FallarborTown_House2_Text_201697, MSGBOX_DEFAULT
goto FallarborTown_House2_EventScript_2013D6
end
FallarborTown_House2_EventScript_201452:: @ 8201452
- msgbox FallarborTown_House2_Text_201653, 4
+ msgbox FallarborTown_House2_Text_201653, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/FallarborTown_Mart/scripts.inc b/data/maps/FallarborTown_Mart/scripts.inc
index dbaf33f4e..4b7e0253c 100644
--- a/data/maps/FallarborTown_Mart/scripts.inc
+++ b/data/maps/FallarborTown_Mart/scripts.inc
@@ -7,7 +7,7 @@ FallarborTown_Mart_EventScript_1FFCBF:: @ 81FFCBF
message gUnknown_08272A21
waitmessage
pokemart FallarborTown_Mart_Pokemart_1FFCD8
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -30,11 +30,11 @@ FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8
end
FallarborTown_Mart_EventScript_1FFCF4:: @ 81FFCF4
- msgbox FallarborTown_Mart_Text_1FFD19, 2
+ msgbox FallarborTown_Mart_Text_1FFD19, MSGBOX_NPC
end
FallarborTown_Mart_EventScript_1FFCFD:: @ 81FFCFD
- msgbox FallarborTown_Mart_Text_1FFE09, 2
+ msgbox FallarborTown_Mart_Text_1FFE09, MSGBOX_NPC
end
FallarborTown_Mart_EventScript_1FFD06:: @ 81FFD06
@@ -42,7 +42,7 @@ FallarborTown_Mart_EventScript_1FFD06:: @ 81FFD06
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox FallarborTown_Mart_Text_1FFDFA, 4
+ msgbox FallarborTown_Mart_Text_1FFDFA, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/events.inc b/data/maps/FallarborTown_PokemonCenter_1F/events.inc
index 12b7f850e..cb6243c6f 100644
--- a/data/maps/FallarborTown_PokemonCenter_1F/events.inc
+++ b/data/maps/FallarborTown_PokemonCenter_1F/events.inc
@@ -2,7 +2,7 @@ FallarborTown_PokemonCenter_1F_EventObjects: @ 852E4A0
object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BE1, 0
object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 10, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BEF, 0
object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BF8, 0
- object_event 4, EVENT_OBJ_GFX_WOMAN_2, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200C01, 871
+ object_event 4, EVENT_OBJ_GFX_WOMAN_2, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200C01, FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE
FallarborTown_PokemonCenter_1F_MapWarps: @ 852E500
warp_def 7, 8, 3, 2, MAP_FALLARBOR_TOWN
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc
index d11caa86f..6138c615c 100644
--- a/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/FallarborTown_PokemonCenter_1F/scripts.inc
@@ -17,17 +17,17 @@ FallarborTown_PokemonCenter_1F_EventScript_200BE1:: @ 8200BE1
end
FallarborTown_PokemonCenter_1F_EventScript_200BEF:: @ 8200BEF
- msgbox FallarborTown_PokemonCenter_1F_Text_200E22, 2
+ msgbox FallarborTown_PokemonCenter_1F_Text_200E22, MSGBOX_NPC
end
FallarborTown_PokemonCenter_1F_EventScript_200BF8:: @ 8200BF8
- msgbox FallarborTown_PokemonCenter_1F_Text_200E8B, 2
+ msgbox FallarborTown_PokemonCenter_1F_Text_200E8B, MSGBOX_NPC
end
FallarborTown_PokemonCenter_1F_EventScript_200C01:: @ 8200C01
lock
faceplayer
- msgbox FallarborTown_PokemonCenter_1F_Text_200C6B, 4
+ msgbox FallarborTown_PokemonCenter_1F_Text_200C6B, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
case 2, FallarborTown_PokemonCenter_1F_EventScript_200C28
@@ -49,7 +49,7 @@ FallarborTown_PokemonCenter_1F_EventScript_200C38:: @ 8200C38
FallarborTown_PokemonCenter_1F_EventScript_200C48:: @ 8200C48
playse SE_JIDO_DOA
removeobject 4
- clearflag FLAG_0x366
+ clearflag FLAG_HIDE_LANETTES_HOUSE_LANETTE
release
end
diff --git a/data/maps/FallarborTown_PokemonCenter_2F/events.inc b/data/maps/FallarborTown_PokemonCenter_2F/events.inc
index 563b6bc50..233eab8d9 100644
--- a/data/maps/FallarborTown_PokemonCenter_2F/events.inc
+++ b/data/maps/FallarborTown_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ FallarborTown_PokemonCenter_2F_EventObjects: @ 852E52C
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
FallarborTown_PokemonCenter_2F_MapWarps: @ 852E58C
warp_def 1, 6, 4, 2, MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F
diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc
index 08331b33b..1fd5fdd35 100644
--- a/data/maps/FarawayIsland_Entrance/scripts.inc
+++ b/data/maps/FarawayIsland_Entrance/scripts.inc
@@ -19,10 +19,10 @@ FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D
FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2
lock
faceplayer
- msgbox FarawayIsland_Entrance_Text_2C6B42, 5
+ msgbox FarawayIsland_Entrance_Text_2C6B42, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq FarawayIsland_Entrance_EventScript_267CE7
- msgbox FarawayIsland_Entrance_Text_2A6A5D, 4
+ msgbox FarawayIsland_Entrance_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, FarawayIsland_Entrance_Movement_2725AA
waitmovement 0
@@ -36,11 +36,11 @@ FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2
end
FarawayIsland_Entrance_EventScript_267CE7:: @ 8267CE7
- msgbox FarawayIsland_Entrance_Text_2A6A82, 4
+ msgbox FarawayIsland_Entrance_Text_2A6A82, MSGBOX_DEFAULT
release
end
FarawayIsland_Entrance_EventScript_267CF1:: @ 8267CF1
- msgbox FarawayIsland_Entrance_Text_2C6D5A, 3
+ msgbox FarawayIsland_Entrance_Text_2C6D5A, MSGBOX_SIGN
end
diff --git a/data/maps/FarawayIsland_Interior/events.inc b/data/maps/FarawayIsland_Interior/events.inc
index b9242b5be..fc8d99166 100644
--- a/data/maps/FarawayIsland_Interior/events.inc
+++ b/data/maps/FarawayIsland_Interior/events.inc
@@ -1,5 +1,5 @@
FarawayIsland_Interior_EventObjects: @ 853D7A0
- object_event 1, EVENT_OBJ_GFX_MEW, 0, 13, 17, 3, MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS, 15, 15, 0, 1, FarawayIsland_Interior_EventScript_267DF2, 718
+ object_event 1, EVENT_OBJ_GFX_MEW, 0, 13, 17, 3, MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS, 15, 15, 0, 1, FarawayIsland_Interior_EventScript_267DF2, FLAG_HIDE_MEW
FarawayIsland_Interior_MapWarps: @ 853D7B8
warp_def 12, 19, 0, 0, MAP_FARAWAY_ISLAND_ENTRANCE
diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc
index 70e41b42d..7b62ab578 100644
--- a/data/maps/FarawayIsland_Interior/scripts.inc
+++ b/data/maps/FarawayIsland_Interior/scripts.inc
@@ -49,7 +49,7 @@ FarawayIsland_Interior_MapScript1_267D72: @ 8267D72
FarawayIsland_Interior_EventScript_267D86:: @ 8267D86
checkflag FLAG_0x1C7
goto_eq FarawayIsland_Interior_EventScript_27374E
- clearflag FLAG_0x2CE
+ clearflag FLAG_HIDE_MEW
setvar VAR_TEMP_1, 0
return
@@ -195,10 +195,10 @@ FarawayIsland_Interior_EventScript_267ED0:: @ 8267ED0
FarawayIsland_Interior_EventScript_267EDB:: @ 8267EDB
lockall
fadescreenswapbuffers 1
- setflag FLAG_0x2CE
+ setflag FLAG_HIDE_MEW
removeobject 1
fadescreenswapbuffers 0
- msgbox FarawayIsland_Interior_Text_267EF1, 4
+ msgbox FarawayIsland_Interior_Text_267EF1, MSGBOX_DEFAULT
closemessage
releaseall
end
diff --git a/data/maps/FieryPath/events.inc b/data/maps/FieryPath/events.inc
index 3b3985325..0ea132989 100644
--- a/data/maps/FieryPath/events.inc
+++ b/data/maps/FieryPath/events.inc
@@ -1,12 +1,12 @@
FieryPath_EventObjects: @ 8534C80
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FieryPath_EventScript_29119E, 1091
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 17
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 17, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 18
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 8, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 19
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 20
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 21
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 24, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 22
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FieryPath_EventScript_291191, 1111
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FieryPath_EventScript_29119E, FLAG_ITEM_FIERY_PATH_TM06
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, FLAG_TEMP_11
+ object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 17, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, FLAG_TEMP_12
+ object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 8, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, FLAG_TEMP_13
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, FLAG_TEMP_14
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, FLAG_TEMP_15
+ object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 24, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FieryPath_EventScript_2908BA, FLAG_TEMP_16
+ object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, FieryPath_EventScript_291191, FLAG_ITEM_FIERY_PATH_FIRE_STONE
FieryPath_MapWarps: @ 8534D40
warp_def 26, 36, 3, 4, MAP_ROUTE112
diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc
index a040a5327..f0a28345c 100644
--- a/data/maps/FieryPath/scripts.inc
+++ b/data/maps/FieryPath/scripts.inc
@@ -9,7 +9,7 @@ FieryPath_MapScript1_230F2A: @ 8230F2A
end
FieryPath_EventScript_230F37:: @ 8230F37
- setflag FLAG_0x2FE
- clearflag FLAG_0x2FF
+ setflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
+ clearflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
return
diff --git a/data/maps/FortreeCity/events.inc b/data/maps/FortreeCity/events.inc
index d0cede5fc..4dc9f3e83 100644
--- a/data/maps/FortreeCity/events.inc
+++ b/data/maps/FortreeCity/events.inc
@@ -5,7 +5,7 @@ FortreeCity_EventObjects: @ 8526B9C
object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 11, 14, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_EventScript_1E25F0, 0
object_event 5, EVENT_OBJ_GFX_OLD_MAN, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, FortreeCity_EventScript_1E25E7, 0
object_event 6, EVENT_OBJ_GFX_GAMEBOY_KID, 0, 9, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_EventScript_1E25F9, 0
- object_event 7, EVENT_OBJ_GFX_KECLEON_1, 0, 25, 8, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, FortreeCity_EventScript_1E2614, 969
+ object_event 7, EVENT_OBJ_GFX_KECLEON_1, 0, 25, 8, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, FortreeCity_EventScript_1E2614, FLAG_HIDE_FORTREE_CITY_KECLEON
FortreeCity_MapWarps: @ 8526C44
warp_def 5, 6, 0, 0, MAP_FORTREE_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc
index 4a28a180b..ad126f3bf 100644
--- a/data/maps/FortreeCity/scripts.inc
+++ b/data/maps/FortreeCity/scripts.inc
@@ -12,7 +12,7 @@ FortreeCity_MapScript1_1E25B3: @ 81E25B3
end
FortreeCity_EventScript_1E25B6:: @ 81E25B6
- msgbox FortreeCity_Text_1E2676, 2
+ msgbox FortreeCity_Text_1E2676, MSGBOX_NPC
end
FortreeCity_EventScript_1E25BF:: @ 81E25BF
@@ -20,37 +20,37 @@ FortreeCity_EventScript_1E25BF:: @ 81E25BF
faceplayer
checkflag FLAG_0x127
goto_eq FortreeCity_EventScript_1E25D4
- msgbox FortreeCity_Text_1E2738, 4
+ msgbox FortreeCity_Text_1E2738, MSGBOX_DEFAULT
release
end
FortreeCity_EventScript_1E25D4:: @ 81E25D4
- msgbox FortreeCity_Text_1E27B6, 4
+ msgbox FortreeCity_Text_1E27B6, MSGBOX_DEFAULT
release
end
FortreeCity_EventScript_1E25DE:: @ 81E25DE
- msgbox FortreeCity_Text_1E27FE, 2
+ msgbox FortreeCity_Text_1E27FE, MSGBOX_NPC
end
FortreeCity_EventScript_1E25E7:: @ 81E25E7
- msgbox FortreeCity_Text_1E2880, 2
+ msgbox FortreeCity_Text_1E2880, MSGBOX_NPC
end
FortreeCity_EventScript_1E25F0:: @ 81E25F0
- msgbox FortreeCity_Text_1E292E, 2
+ msgbox FortreeCity_Text_1E292E, MSGBOX_NPC
end
FortreeCity_EventScript_1E25F9:: @ 81E25F9
- msgbox FortreeCity_Text_1E299D, 2
+ msgbox FortreeCity_Text_1E299D, MSGBOX_NPC
end
FortreeCity_EventScript_1E2602:: @ 81E2602
- msgbox FortreeCity_Text_1E2AAC, 3
+ msgbox FortreeCity_Text_1E2AAC, MSGBOX_SIGN
end
FortreeCity_EventScript_1E260B:: @ 81E260B
- msgbox FortreeCity_Text_1E2AE6, 3
+ msgbox FortreeCity_Text_1E2AE6, MSGBOX_SIGN
end
FortreeCity_EventScript_1E2614:: @ 81E2614
@@ -59,19 +59,19 @@ FortreeCity_EventScript_1E2614:: @ 81E2614
checkitem ITEM_DEVON_SCOPE, 1
compare VAR_RESULT, 1
goto_eq FortreeCity_EventScript_1E2630
- msgbox FortreeCity_Text_1E29E5, 4
+ msgbox FortreeCity_Text_1E29E5, MSGBOX_DEFAULT
release
end
FortreeCity_EventScript_1E2630:: @ 81E2630
- msgbox FortreeCity_Text_1E2A08, 5
+ msgbox FortreeCity_Text_1E2A08, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq FortreeCity_EventScript_1E2645
release
end
FortreeCity_EventScript_1E2645:: @ 81E2645
- msgbox FortreeCity_Text_1E2A48, 4
+ msgbox FortreeCity_Text_1E2A48, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, FortreeCity_Movement_2723C7
waitmovement 0
diff --git a/data/maps/FortreeCity_DecorationShop/scripts.inc b/data/maps/FortreeCity_DecorationShop/scripts.inc
index 2229ab702..a94fe04d4 100644
--- a/data/maps/FortreeCity_DecorationShop/scripts.inc
+++ b/data/maps/FortreeCity_DecorationShop/scripts.inc
@@ -2,11 +2,11 @@ FortreeCity_DecorationShop_MapScripts:: @ 821800D
.byte 0
FortreeCity_DecorationShop_EventScript_21800E:: @ 821800E
- msgbox FortreeCity_DecorationShop_Text_218078, 2
+ msgbox FortreeCity_DecorationShop_Text_218078, MSGBOX_NPC
end
FortreeCity_DecorationShop_EventScript_218017:: @ 8218017
- msgbox FortreeCity_DecorationShop_Text_2180ED, 2
+ msgbox FortreeCity_DecorationShop_Text_2180ED, MSGBOX_NPC
end
FortreeCity_DecorationShop_EventScript_218020:: @ 8218020
@@ -15,7 +15,7 @@ FortreeCity_DecorationShop_EventScript_218020:: @ 8218020
message gUnknown_08272A21
waitmessage
pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218038
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -39,7 +39,7 @@ FortreeCity_DecorationShop_EventScript_21804C:: @ 821804C
message gUnknown_08272A21
waitmessage
pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218064
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc
index 1b1100cf3..fb91c5c1a 100644
--- a/data/maps/FortreeCity_Gym/scripts.inc
+++ b/data/maps/FortreeCity_Gym/scripts.inc
@@ -16,13 +16,13 @@ FortreeCity_Gym_EventScript_2165C4:: @ 82165C4
end
FortreeCity_Gym_EventScript_2165C8:: @ 82165C8
- trainerbattle 1, TRAINER_WINONA_1, 0, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD
+ 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
- msgbox FortreeCity_Gym_Text_217071, 4
+ msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT
release
end
@@ -30,7 +30,7 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD
message FortreeCity_Gym_Text_216EEC
waitmessage
call FortreeCity_Gym_EventScript_27207E
- msgbox FortreeCity_Gym_Text_216F17, 4
+ msgbox FortreeCity_Gym_Text_216F17, MSGBOX_DEFAULT
setflag FLAG_0x4F5
setflag FLAG_BADGE06_GET
setvar VAR_0x8008, 6
@@ -39,7 +39,7 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox FortreeCity_Gym_Text_217044, 4
+ msgbox FortreeCity_Gym_Text_217044, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -53,7 +53,7 @@ FortreeCity_Gym_EventScript_216646:: @ 8216646
giveitem_std ITEM_TM40
compare VAR_RESULT, 0
goto_eq FortreeCity_Gym_EventScript_272054
- msgbox FortreeCity_Gym_Text_216FEC, 4
+ msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT
setflag FLAG_0x0AA
release
end
@@ -62,43 +62,43 @@ FortreeCity_Gym_EventScript_21666A:: @ 821666A
giveitem_std ITEM_TM40
compare VAR_RESULT, 0
goto_eq FortreeCity_Gym_EventScript_27205E
- msgbox FortreeCity_Gym_Text_216FEC, 4
+ msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT
setflag FLAG_0x0AA
return
FortreeCity_Gym_EventScript_21668D:: @ 821668D
- trainerbattle 7, TRAINER_WINONA_1, 0, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292
- msgbox FortreeCity_Gym_Text_21720B, 6
+ trainerbattle_rematch_double TRAINER_WINONA_1, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292
+ msgbox FortreeCity_Gym_Text_21720B, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_2166A8:: @ 82166A8
- trainerbattle 0, TRAINER_JARED, 0, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3
- msgbox FortreeCity_Gym_Text_2168E7, 6
+ trainerbattle_single TRAINER_JARED, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3
+ msgbox FortreeCity_Gym_Text_2168E7, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_2166BF:: @ 82166BF
- trainerbattle 0, TRAINER_EDWARDO, 0, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7
- msgbox FortreeCity_Gym_Text_2169F1, 6
+ trainerbattle_single TRAINER_EDWARDO, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7
+ msgbox FortreeCity_Gym_Text_2169F1, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_2166D6:: @ 82166D6
- trainerbattle 0, TRAINER_FLINT, 0, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4
- msgbox FortreeCity_Gym_Text_216AD7, 6
+ trainerbattle_single TRAINER_FLINT, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4
+ msgbox FortreeCity_Gym_Text_216AD7, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_2166ED:: @ 82166ED
- trainerbattle 0, TRAINER_ASHLEY, 0, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51
- msgbox FortreeCity_Gym_Text_216B5F, 6
+ trainerbattle_single TRAINER_ASHLEY, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51
+ msgbox FortreeCity_Gym_Text_216B5F, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_216704:: @ 8216704
- trainerbattle 0, TRAINER_HUMBERTO, 0, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18
- msgbox FortreeCity_Gym_Text_216C32, 6
+ trainerbattle_single TRAINER_HUMBERTO, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18
+ msgbox FortreeCity_Gym_Text_216C32, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_21671B:: @ 821671B
- trainerbattle 0, TRAINER_DARIUS, 0, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2
- msgbox FortreeCity_Gym_Text_216D0F, 6
+ trainerbattle_single TRAINER_DARIUS, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2
+ msgbox FortreeCity_Gym_Text_216D0F, MSGBOX_AUTOCLOSE
end
FortreeCity_Gym_EventScript_216732:: @ 8216732
@@ -106,12 +106,12 @@ FortreeCity_Gym_EventScript_216732:: @ 8216732
faceplayer
checkflag FLAG_0x4F5
goto_eq FortreeCity_Gym_EventScript_216747
- msgbox FortreeCity_Gym_Text_216785, 4
+ msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT
release
end
FortreeCity_Gym_EventScript_216747:: @ 8216747
- msgbox FortreeCity_Gym_Text_21687D, 4
+ msgbox FortreeCity_Gym_Text_21687D, MSGBOX_DEFAULT
release
end
@@ -130,12 +130,12 @@ FortreeCity_Gym_EventScript_216761:: @ 8216761
end
FortreeCity_Gym_EventScript_216771:: @ 8216771
- msgbox FortreeCity_Gym_Text_2170C7, 4
+ msgbox FortreeCity_Gym_Text_2170C7, MSGBOX_DEFAULT
releaseall
end
FortreeCity_Gym_EventScript_21677B:: @ 821677B
- msgbox FortreeCity_Gym_Text_2170AE, 4
+ msgbox FortreeCity_Gym_Text_2170AE, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc
index 7e45bf87a..274057110 100644
--- a/data/maps/FortreeCity_House1/scripts.inc
+++ b/data/maps/FortreeCity_House1/scripts.inc
@@ -10,7 +10,7 @@ FortreeCity_House1_EventScript_2162BB:: @ 82162BB
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
- msgbox FortreeCity_House1_Text_21637B, 5
+ msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq FortreeCity_House1_EventScript_21633D
special sub_81B94B0
@@ -29,29 +29,29 @@ FortreeCity_House1_EventScript_2162BB:: @ 82162BB
special sub_807F0E4
waitstate
bufferspeciesname 0, VAR_0x8009
- msgbox FortreeCity_House1_Text_216440, 4
+ msgbox FortreeCity_House1_Text_216440, MSGBOX_DEFAULT
setflag FLAG_0x09B
release
end
FortreeCity_House1_EventScript_21633D:: @ 821633D
- msgbox FortreeCity_House1_Text_21649F, 4
+ msgbox FortreeCity_House1_Text_21649F, MSGBOX_DEFAULT
release
end
FortreeCity_House1_EventScript_216347:: @ 8216347
bufferspeciesname 0, VAR_0x8009
- msgbox FortreeCity_House1_Text_216474, 4
+ msgbox FortreeCity_House1_Text_216474, MSGBOX_DEFAULT
release
end
FortreeCity_House1_EventScript_216355:: @ 8216355
- msgbox FortreeCity_House1_Text_2164DB, 4
+ msgbox FortreeCity_House1_Text_2164DB, MSGBOX_DEFAULT
release
end
FortreeCity_House1_EventScript_21635F:: @ 821635F
- msgbox FortreeCity_House1_Text_21653B, 2
+ msgbox FortreeCity_House1_Text_21653B, MSGBOX_NPC
end
FortreeCity_House1_EventScript_216368:: @ 8216368
@@ -59,7 +59,7 @@ FortreeCity_House1_EventScript_216368:: @ 8216368
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox FortreeCity_House1_Text_216597, 4
+ msgbox FortreeCity_House1_Text_216597, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc
index 8f75b20d9..0a5042c09 100644
--- a/data/maps/FortreeCity_House2/scripts.inc
+++ b/data/maps/FortreeCity_House2/scripts.inc
@@ -8,39 +8,39 @@ FortreeCity_House2_EventScript_2177CB:: @ 82177CB
goto_eq FortreeCity_House2_EventScript_21786E
checkflag FLAG_0x076
call_if 0, FortreeCity_House2_EventScript_217862
- msgbox FortreeCity_House2_Text_2178D6, 4
+ msgbox FortreeCity_House2_Text_2178D6, MSGBOX_DEFAULT
multichoice 21, 8, 54, 1
switch VAR_RESULT
case 1, FortreeCity_House2_EventScript_217878
- msgbox FortreeCity_House2_Text_21796A, 4
+ msgbox FortreeCity_House2_Text_21796A, MSGBOX_DEFAULT
multichoice 21, 8, 54, 1
switch VAR_RESULT
case 1, FortreeCity_House2_EventScript_217878
- msgbox FortreeCity_House2_Text_2179C9, 4
+ msgbox FortreeCity_House2_Text_2179C9, MSGBOX_DEFAULT
multichoice 21, 8, 54, 1
switch VAR_RESULT
case 0, FortreeCity_House2_EventScript_217878
- msgbox FortreeCity_House2_Text_217A28, 4
+ msgbox FortreeCity_House2_Text_217A28, MSGBOX_DEFAULT
giveitem_std ITEM_TM10
compare VAR_RESULT, 0
goto_eq FortreeCity_House2_EventScript_272054
setflag FLAG_0x108
- msgbox FortreeCity_House2_Text_217A91, 4
+ msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT
release
end
FortreeCity_House2_EventScript_217862:: @ 8217862
- msgbox FortreeCity_House2_Text_217882, 4
+ msgbox FortreeCity_House2_Text_217882, MSGBOX_DEFAULT
setflag FLAG_0x076
return
FortreeCity_House2_EventScript_21786E:: @ 821786E
- msgbox FortreeCity_House2_Text_217A91, 4
+ msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT
release
end
FortreeCity_House2_EventScript_217878:: @ 8217878
- msgbox FortreeCity_House2_Text_217AC7, 4
+ msgbox FortreeCity_House2_Text_217AC7, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FortreeCity_House3/scripts.inc b/data/maps/FortreeCity_House3/scripts.inc
index 92b963811..742a16411 100644
--- a/data/maps/FortreeCity_House3/scripts.inc
+++ b/data/maps/FortreeCity_House3/scripts.inc
@@ -2,11 +2,11 @@ FortreeCity_House3_MapScripts:: @ 8217AE7
.byte 0
FortreeCity_House3_EventScript_217AE8:: @ 8217AE8
- msgbox FortreeCity_House3_Text_217AFA, 2
+ msgbox FortreeCity_House3_Text_217AFA, MSGBOX_NPC
end
FortreeCity_House3_EventScript_217AF1:: @ 8217AF1
- msgbox FortreeCity_House3_Text_217C22, 2
+ msgbox FortreeCity_House3_Text_217C22, MSGBOX_NPC
end
FortreeCity_House3_Text_217AFA: @ 8217AFA
diff --git a/data/maps/FortreeCity_House4/events.inc b/data/maps/FortreeCity_House4/events.inc
index 2a7842d5e..8c7e03f76 100644
--- a/data/maps/FortreeCity_House4/events.inc
+++ b/data/maps/FortreeCity_House4/events.inc
@@ -1,7 +1,7 @@
FortreeCity_House4_EventObjects: @ 8530FD8
object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 6, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, FortreeCity_House4_EventScript_217C81, 0
object_event 2, EVENT_OBJ_GFX_BOY_3, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_House4_EventScript_217C8A, 0
- object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_House4_EventScript_217D20, 933
+ object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, FortreeCity_House4_EventScript_217D20, FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL
FortreeCity_House4_MapWarps: @ 8531020
warp_def 3, 5, 0, 6, MAP_FORTREE_CITY
diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc
index 27ead9ec2..24d50afa3 100644
--- a/data/maps/FortreeCity_House4/scripts.inc
+++ b/data/maps/FortreeCity_House4/scripts.inc
@@ -2,7 +2,7 @@ FortreeCity_House4_MapScripts:: @ 8217C80
.byte 0
FortreeCity_House4_EventScript_217C81:: @ 8217C81
- msgbox FortreeCity_House4_Text_217D33, 2
+ msgbox FortreeCity_House4_Text_217D33, MSGBOX_NPC
end
FortreeCity_House4_EventScript_217C8A:: @ 8217C8A
@@ -13,10 +13,10 @@ FortreeCity_House4_EventScript_217C8A:: @ 8217C8A
goto_eq FortreeCity_House4_EventScript_217CD8
checkflag FLAG_0x0DE
goto_eq FortreeCity_House4_EventScript_217CC4
- msgbox FortreeCity_House4_Text_217DB9, 4
+ msgbox FortreeCity_House4_Text_217DB9, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x0DE
- clearflag FLAG_0x3A6
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL
applymovement 3, FortreeCity_House4_Movement_217D1A
waitmovement 0
removeobject 3
@@ -26,14 +26,14 @@ FortreeCity_House4_EventScript_217C8A:: @ 8217C8A
FortreeCity_House4_EventScript_217CC4:: @ 8217CC4
applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E
waitmovement 0
- msgbox FortreeCity_House4_Text_217DD2, 4
+ msgbox FortreeCity_House4_Text_217DD2, MSGBOX_DEFAULT
releaseall
end
FortreeCity_House4_EventScript_217CD8:: @ 8217CD8
applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E
waitmovement 0
- msgbox FortreeCity_House4_Text_217E05, 4
+ msgbox FortreeCity_House4_Text_217E05, MSGBOX_DEFAULT
giveitem_std ITEM_MENTAL_HERB
compare VAR_RESULT, 0
goto_eq FortreeCity_House4_EventScript_272054
@@ -44,7 +44,7 @@ FortreeCity_House4_EventScript_217CD8:: @ 8217CD8
FortreeCity_House4_EventScript_217D06:: @ 8217D06
applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E
waitmovement 0
- msgbox FortreeCity_House4_Text_217EA8, 4
+ msgbox FortreeCity_House4_Text_217EA8, MSGBOX_DEFAULT
releaseall
end
@@ -61,7 +61,7 @@ FortreeCity_House4_EventScript_217D20:: @ 8217D20
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox FortreeCity_House4_Text_217EE0, 4
+ msgbox FortreeCity_House4_Text_217EE0, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/FortreeCity_House5/scripts.inc b/data/maps/FortreeCity_House5/scripts.inc
index d4f1f2b02..cb0bc72fc 100644
--- a/data/maps/FortreeCity_House5/scripts.inc
+++ b/data/maps/FortreeCity_House5/scripts.inc
@@ -2,11 +2,11 @@ FortreeCity_House5_MapScripts:: @ 8217EF1
.byte 0
FortreeCity_House5_EventScript_217EF2:: @ 8217EF2
- msgbox FortreeCity_House5_Text_217F17, 2
+ msgbox FortreeCity_House5_Text_217F17, MSGBOX_NPC
end
FortreeCity_House5_EventScript_217EFB:: @ 8217EFB
- msgbox FortreeCity_House5_Text_217F80, 2
+ msgbox FortreeCity_House5_Text_217F80, MSGBOX_NPC
end
FortreeCity_House5_EventScript_217F04:: @ 8217F04
@@ -14,7 +14,7 @@ FortreeCity_House5_EventScript_217F04:: @ 8217F04
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox FortreeCity_House5_Text_217FFB, 4
+ msgbox FortreeCity_House5_Text_217FFB, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/FortreeCity_Mart/scripts.inc b/data/maps/FortreeCity_Mart/scripts.inc
index 050fc8f4c..25d7646b7 100644
--- a/data/maps/FortreeCity_Mart/scripts.inc
+++ b/data/maps/FortreeCity_Mart/scripts.inc
@@ -7,7 +7,7 @@ FortreeCity_Mart_EventScript_217666:: @ 8217666
message gUnknown_08272A21
waitmessage
pokemart FortreeCity_Mart_Pokemart_217680
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -28,15 +28,15 @@ FortreeCity_Mart_Pokemart_217680: @ 8217680
end
FortreeCity_Mart_EventScript_217698:: @ 8217698
- msgbox FortreeCity_Mart_Text_2176B3, 2
+ msgbox FortreeCity_Mart_Text_2176B3, MSGBOX_NPC
end
FortreeCity_Mart_EventScript_2176A1:: @ 82176A1
- msgbox FortreeCity_Mart_Text_217715, 2
+ msgbox FortreeCity_Mart_Text_217715, MSGBOX_NPC
end
FortreeCity_Mart_EventScript_2176AA:: @ 82176AA
- msgbox FortreeCity_Mart_Text_21778E, 2
+ msgbox FortreeCity_Mart_Text_21778E, MSGBOX_NPC
end
FortreeCity_Mart_Text_2176B3: @ 82176B3
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc
index 4885c7f15..24449ed2b 100644
--- a/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/FortreeCity_PokemonCenter_1F/scripts.inc
@@ -16,15 +16,15 @@ FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7
end
FortreeCity_PokemonCenter_1F_EventScript_2173F5:: @ 82173F5
- msgbox FortreeCity_PokemonCenter_1F_Text_217410, 2
+ msgbox FortreeCity_PokemonCenter_1F_Text_217410, MSGBOX_NPC
end
FortreeCity_PokemonCenter_1F_EventScript_2173FE:: @ 82173FE
- msgbox FortreeCity_PokemonCenter_1F_Text_21746D, 2
+ msgbox FortreeCity_PokemonCenter_1F_Text_21746D, MSGBOX_NPC
end
FortreeCity_PokemonCenter_1F_EventScript_217407:: @ 8217407
- msgbox FortreeCity_PokemonCenter_1F_Text_21751F, 2
+ msgbox FortreeCity_PokemonCenter_1F_Text_21751F, MSGBOX_NPC
end
FortreeCity_PokemonCenter_1F_Text_217410: @ 8217410
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/events.inc b/data/maps/FortreeCity_PokemonCenter_2F/events.inc
index 43e74e0d7..028b5cada 100644
--- a/data/maps/FortreeCity_PokemonCenter_2F/events.inc
+++ b/data/maps/FortreeCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ FortreeCity_PokemonCenter_2F_EventObjects: @ 8530E20
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
FortreeCity_PokemonCenter_2F_MapWarps: @ 8530E80
warp_def 1, 6, 4, 2, MAP_FORTREE_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/GraniteCave_1F/events.inc b/data/maps/GraniteCave_1F/events.inc
index bba8bbe40..8228e1678 100644
--- a/data/maps/GraniteCave_1F/events.inc
+++ b/data/maps/GraniteCave_1F/events.inc
@@ -1,6 +1,6 @@
GraniteCave_1F_EventObjects: @ 85343BC
object_event 1, EVENT_OBJ_GFX_HIKER, 0, 36, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_1F_EventScript_22DA5E, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 17, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, GraniteCave_1F_EventScript_291150, 1050
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 17, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, GraniteCave_1F_EventScript_291150, FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE
GraniteCave_1F_MapWarps: @ 85343EC
warp_def 37, 12, 3, 0, MAP_ROUTE106
diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc
index f3d303c0f..0bbb708bd 100644
--- a/data/maps/GraniteCave_1F/scripts.inc
+++ b/data/maps/GraniteCave_1F/scripts.inc
@@ -6,15 +6,15 @@ GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E
faceplayer
checkflag FLAG_0x06D
goto_eq GraniteCave_1F_EventScript_22DA8A
- msgbox GraniteCave_1F_Text_22DA94, 4
+ msgbox GraniteCave_1F_Text_22DA94, MSGBOX_DEFAULT
giveitem_std ITEM_HM05
setflag FLAG_0x06D
- msgbox GraniteCave_1F_Text_22DBB7, 4
+ msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT
release
end
GraniteCave_1F_EventScript_22DA8A:: @ 822DA8A
- msgbox GraniteCave_1F_Text_22DBB7, 4
+ msgbox GraniteCave_1F_Text_22DBB7, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/GraniteCave_B1F/events.inc b/data/maps/GraniteCave_B1F/events.inc
index 4b4a08870..b27a68f17 100644
--- a/data/maps/GraniteCave_B1F/events.inc
+++ b/data/maps/GraniteCave_B1F/events.inc
@@ -1,5 +1,5 @@
GraniteCave_B1F_EventObjects: @ 8534420
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B1F_EventScript_29115D, 1051
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B1F_EventScript_29115D, FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL
GraniteCave_B1F_MapWarps: @ 8534438
warp_def 25, 13, 3, 1, MAP_GRANITE_CAVE_1F
diff --git a/data/maps/GraniteCave_B2F/events.inc b/data/maps/GraniteCave_B2F/events.inc
index e128b40b2..08ac73a5a 100644
--- a/data/maps/GraniteCave_B2F/events.inc
+++ b/data/maps/GraniteCave_B2F/events.inc
@@ -1,13 +1,13 @@
GraniteCave_B2F_EventObjects: @ 8534484
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B2F_EventScript_29116A, 1053
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B2F_EventScript_291177, 1054
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 5, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 17
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 18
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 2, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 19
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 7, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 20
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 4, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 21
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 6, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 22
- object_event 9, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, 23
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B2F_EventScript_29116A, FLAG_ITEM_GRANITE_CAVE_B2F_REPEL
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_B2F_EventScript_291177, FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY
+ object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 5, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_11
+ object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_12
+ object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 2, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_13
+ object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 7, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_14
+ object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 4, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_15
+ object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 6, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_16
+ object_event 9, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, GraniteCave_B2F_EventScript_2907A6, FLAG_TEMP_17
GraniteCave_B2F_MapWarps: @ 853455C
warp_def 29, 13, 3, 2, MAP_GRANITE_CAVE_B1F
@@ -17,8 +17,8 @@ GraniteCave_B2F_MapWarps: @ 853455C
warp_def 29, 2, 3, 6, MAP_GRANITE_CAVE_B1F
GraniteCave_B2F_MapBGEvents: @ 8534584
- bg_hidden_item_event 28, 6, 3, ITEM_EVERSTONE, 48
- bg_hidden_item_event 15, 11, 3, ITEM_EVERSTONE, 49
+ bg_hidden_item_event 28, 6, 3, ITEM_EVERSTONE, FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1
+ bg_hidden_item_event 15, 11, 3, ITEM_EVERSTONE, FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2
GraniteCave_B2F_MapEvents:: @ 853459C
map_events GraniteCave_B2F_EventObjects, GraniteCave_B2F_MapWarps, 0x0, GraniteCave_B2F_MapBGEvents
diff --git a/data/maps/GraniteCave_StevensRoom/events.inc b/data/maps/GraniteCave_StevensRoom/events.inc
index 43cc6e444..387770626 100644
--- a/data/maps/GraniteCave_StevensRoom/events.inc
+++ b/data/maps/GraniteCave_StevensRoom/events.inc
@@ -1,5 +1,5 @@
GraniteCave_StevensRoom_EventObjects: @ 85345B0
- object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 7, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_StevensRoom_EventScript_22DC7B, 833
+ object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 7, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, GraniteCave_StevensRoom_EventScript_22DC7B, FLAG_HIDE_GRANITE_CAVE_STEVEN
GraniteCave_StevensRoom_MapWarps: @ 85345C8
warp_def 7, 3, 3, 3, MAP_GRANITE_CAVE_1F
diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc
index b057a0548..473837fab 100644
--- a/data/maps/GraniteCave_StevensRoom/scripts.inc
+++ b/data/maps/GraniteCave_StevensRoom/scripts.inc
@@ -4,24 +4,24 @@ GraniteCave_StevensRoom_MapScripts:: @ 822DC7A
GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B
lock
faceplayer
- msgbox GraniteCave_StevensRoom_Text_22DD5A, 4
+ msgbox GraniteCave_StevensRoom_Text_22DD5A, MSGBOX_DEFAULT
setvar VAR_0x8004, 274
call GraniteCave_StevensRoom_EventScript_2723E4
setflag FLAG_0x0BD
- msgbox GraniteCave_StevensRoom_Text_22DDBD, 4
+ msgbox GraniteCave_StevensRoom_Text_22DDBD, MSGBOX_DEFAULT
giveitem_std ITEM_TM47
compare VAR_RESULT, 0
call_if 1, GraniteCave_StevensRoom_EventScript_22DD3C
- msgbox GraniteCave_StevensRoom_Text_22DE6B, 4
+ msgbox GraniteCave_StevensRoom_Text_22DE6B, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox GraniteCave_StevensRoom_Text_22DF6A, 4
+ msgbox GraniteCave_StevensRoom_Text_22DF6A, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_0x131
- msgbox GraniteCave_StevensRoom_Text_22DF8C, 4
+ msgbox GraniteCave_StevensRoom_Text_22DF8C, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, GraniteCave_StevensRoom_EventScript_22DD0D
@@ -54,7 +54,7 @@ GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A
return
GraniteCave_StevensRoom_EventScript_22DD3C:: @ 822DD3C
- msgbox GraniteCave_StevensRoom_Text_22DFAA, 4
+ msgbox GraniteCave_StevensRoom_Text_22DFAA, MSGBOX_DEFAULT
return
GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45
diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc
index 24fe954a8..c995db5e4 100644
--- a/data/maps/InsideOfTruck/scripts.inc
+++ b/data/maps/InsideOfTruck/scripts.inc
@@ -26,11 +26,11 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04
InsideOfTruck_EventScript_23BF20:: @ 823BF20
setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F
setvar VAR_0x4092, 1
- setflag FLAG_0x2F7
- setflag FLAG_0x2FA
- setflag FLAG_0x310
- setflag FLAG_0x2DF
- setflag FLAG_0x331
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
setvar VAR_0x408C, 1
setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 3, 10
releaseall
@@ -39,18 +39,18 @@ InsideOfTruck_EventScript_23BF20:: @ 823BF20
InsideOfTruck_EventScript_23BF46:: @ 823BF46
setrespawn HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F
setvar VAR_0x4092, 2
- setflag FLAG_0x2F6
- setflag FLAG_0x2F9
- setflag FLAG_0x311
- setflag FLAG_0x2E0
- setflag FLAG_0x332
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
setvar VAR_0x4082, 1
setdynamicwarp MAP_LITTLEROOT_TOWN, 255, 12, 10
releaseall
end
InsideOfTruck_EventScript_23BF6C:: @ 823BF6C
- msgbox InsideOfTruck_Text_23BF75, 3
+ msgbox InsideOfTruck_Text_23BF75, MSGBOX_SIGN
end
InsideOfTruck_Text_23BF75: @ 823BF75
diff --git a/data/maps/IslandCave/events.inc b/data/maps/IslandCave/events.inc
index 01283e146..f6abd57a7 100644
--- a/data/maps/IslandCave/events.inc
+++ b/data/maps/IslandCave/events.inc
@@ -1,5 +1,5 @@
IslandCave_EventObjects: @ 8536C74
- object_event 1, EVENT_OBJ_GFX_REGICE, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, IslandCave_EventScript_238F58, 936
+ object_event 1, EVENT_OBJ_GFX_REGICE, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, IslandCave_EventScript_238F58, FLAG_HIDE_REGICE
IslandCave_MapWarps: @ 8536C8C
warp_def 8, 29, 3, 0, MAP_ROUTE105
diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc
index b00b41d40..e18b73a7a 100644
--- a/data/maps/IslandCave/scripts.inc
+++ b/data/maps/IslandCave/scripts.inc
@@ -38,7 +38,7 @@ IslandCave_MapScript1_238E99: @ 8238E99
end
IslandCave_EventScript_238EAB:: @ 8238EAB
- clearflag FLAG_0x3A8
+ clearflag FLAG_HIDE_REGICE
return
IslandCave_EventScript_238EAF:: @ 8238EAF
@@ -55,29 +55,29 @@ IslandCave_EventScript_238EAF:: @ 8238EAF
IslandCave_EventScript_238EEF:: @ 8238EEF
lockall
- checkflag FLAG_0x003
+ checkflag FLAG_TEMP_3
call_if 1, IslandCave_EventScript_238F45
checkflag FLAG_SYS_BRAILLE_WAIT
goto_eq IslandCave_EventScript_238F13
braillemessage IslandCave_Braille_2A6CD4
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
special ShouldDoBrailleRegicePuzzle
goto IslandCave_EventScript_238F41
end
IslandCave_EventScript_238F13:: @ 8238F13
- msgbox gUnknown_0827304E, 4
+ msgbox gUnknown_0827304E, MSGBOX_DEFAULT
releaseall
end
IslandCave_EventScript_238F1D:: @ 8238F1D
lockall
- checkflag FLAG_0x003
+ checkflag FLAG_TEMP_3
call_if 1, IslandCave_EventScript_238F45
braillemessage IslandCave_Braille_2A6CD4
checkflag FLAG_SYS_BRAILLE_WAIT
goto_eq IslandCave_EventScript_238F41
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
special ShouldDoBrailleRegicePuzzle
goto IslandCave_EventScript_238F41
end
@@ -92,7 +92,7 @@ IslandCave_EventScript_238F45:: @ 8238F45
setvar VAR_0x403B, 0
setvar VAR_0x403C, 0
setvar VAR_0x403D, 0
- clearflag FLAG_0x003
+ clearflag FLAG_TEMP_3
return
IslandCave_EventScript_238F58:: @ 8238F58
diff --git a/data/maps/JaggedPass/events.inc b/data/maps/JaggedPass/events.inc
index b1028c978..f9a82c89b 100644
--- a/data/maps/JaggedPass/events.inc
+++ b/data/maps/JaggedPass/events.inc
@@ -1,9 +1,9 @@
JaggedPass_EventObjects: @ 8534AE4
object_event 1, EVENT_OBJ_GFX_HIKER, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, JaggedPass_EventScript_230785, 0
object_event 2, EVENT_OBJ_GFX_CAMPER, 0, 16, 35, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 4, JaggedPass_EventScript_2307FB, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 24, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, JaggedPass_EventScript_291184, 1070
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 24, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, JaggedPass_EventScript_291184, FLAG_ITEM_JAGGED_PASS_BURN_HEAL
object_event 4, EVENT_OBJ_GFX_PICNICKER, 0, 9, 21, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, JaggedPass_EventScript_23079C, 0
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 16, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, JaggedPass_EventScript_230718, 847
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 16, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, JaggedPass_EventScript_230718, FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD
object_event 6, EVENT_OBJ_GFX_PICNICKER, 0, 14, 25, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, JaggedPass_EventScript_230871, 0
object_event 7, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 18, 25, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, JaggedPass_EventScript_23085A, 0
@@ -27,8 +27,8 @@ JaggedPass_MapCoordEvents: @ 8534BB4
coord_event 13, 15, 3, VAR_0x40C8, 1, JaggedPass_EventScript_2306BB
JaggedPass_MapBGEvents: @ 8534C54
- bg_hidden_item_event 8, 10, 3, ITEM_FULL_HEAL, 77
- bg_hidden_item_event 7, 29, 3, ITEM_GREAT_BALL, 76
+ bg_hidden_item_event 8, 10, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL
+ bg_hidden_item_event 7, 29, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL
JaggedPass_MapEvents:: @ 8534C6C
map_events JaggedPass_EventObjects, JaggedPass_MapWarps, JaggedPass_MapCoordEvents, JaggedPass_MapBGEvents
diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc
index 15ac1bae6..8a8832dec 100644
--- a/data/maps/JaggedPass/scripts.inc
+++ b/data/maps/JaggedPass/scripts.inc
@@ -48,7 +48,7 @@ JaggedPass_EventScript_2306BB:: @ 82306BB
setvar VAR_0x8007, 5
special sub_8139560
waitstate
- msgbox JaggedPass_Text_230DBA, 4
+ msgbox JaggedPass_Text_230DBA, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
@@ -78,9 +78,9 @@ JaggedPass_EventScript_230718:: @ 8230718
waitmovement 0
applymovement 5, JaggedPass_Movement_27259E
waitmovement 0
- msgbox JaggedPass_Text_230CCB, 4
+ msgbox JaggedPass_Text_230CCB, MSGBOX_DEFAULT
closemessage
- trainerbattle 3, TRAINER_GRUNT_30, 0, JaggedPass_Text_230D2D
+ trainerbattle_no_intro TRAINER_GRUNT_30, JaggedPass_Text_230D2D
setflag FLAG_0x139
applymovement 5, JaggedPass_Movement_2725A2
waitmovement 0
@@ -90,7 +90,7 @@ JaggedPass_EventScript_230718:: @ 8230718
JaggedPass_EventScript_230766:: @ 8230766
applymovement 5, JaggedPass_Movement_27259E
waitmovement 0
- msgbox JaggedPass_Text_230D65, 4
+ msgbox JaggedPass_Text_230D65, MSGBOX_DEFAULT
closemessage
applymovement 5, JaggedPass_Movement_2725A2
waitmovement 0
@@ -98,66 +98,60 @@ JaggedPass_EventScript_230766:: @ 8230766
end
JaggedPass_EventScript_230785:: @ 8230785
- trainerbattle 0, TRAINER_ERIC, 0, JaggedPass_Text_230888, JaggedPass_Text_2308FF
- msgbox JaggedPass_Text_230916, 6
+ trainerbattle_single TRAINER_ERIC, JaggedPass_Text_230888, JaggedPass_Text_2308FF
+ msgbox JaggedPass_Text_230916, MSGBOX_AUTOCLOSE
end
JaggedPass_EventScript_23079C:: @ 823079C
- trainerbattle 2, TRAINER_DIANA_1, 0, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8
+ 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
- msgbox JaggedPass_Text_2309D8, 4
+ msgbox JaggedPass_Text_2309D8, MSGBOX_DEFAULT
release
end
JaggedPass_EventScript_2307C8:: @ 82307C8
special sub_80B4808
- msgbox JaggedPass_Text_230A2C, 4
- setvar VAR_0x8004, 474
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 474
- callstd 8
+ msgbox JaggedPass_Text_230A2C, MSGBOX_DEFAULT
+ register_matchcall TRAINER_DIANA_1
release
end
JaggedPass_EventScript_2307E4:: @ 82307E4
- trainerbattle 5, TRAINER_DIANA_1, 0, JaggedPass_Text_230A76, JaggedPass_Text_230AAA
- msgbox JaggedPass_Text_230AD7, 6
+ trainerbattle_rematch TRAINER_DIANA_1, JaggedPass_Text_230A76, JaggedPass_Text_230AAA
+ msgbox JaggedPass_Text_230AD7, MSGBOX_AUTOCLOSE
end
JaggedPass_EventScript_2307FB:: @ 82307FB
- trainerbattle 2, TRAINER_ETHAN_1, 0, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827
+ 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
- msgbox JaggedPass_Text_230B93, 4
+ msgbox JaggedPass_Text_230B93, MSGBOX_DEFAULT
release
end
JaggedPass_EventScript_230827:: @ 8230827
special sub_80B4808
- msgbox JaggedPass_Text_230BC6, 4
- setvar VAR_0x8004, 216
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 216
- callstd 8
+ msgbox JaggedPass_Text_230BC6, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ETHAN_1
release
end
JaggedPass_EventScript_230843:: @ 8230843
- trainerbattle 5, TRAINER_ETHAN_1, 0, JaggedPass_Text_230C28, JaggedPass_Text_230C60
- msgbox JaggedPass_Text_230C94, 6
+ trainerbattle_rematch TRAINER_ETHAN_1, JaggedPass_Text_230C28, JaggedPass_Text_230C60
+ msgbox JaggedPass_Text_230C94, MSGBOX_AUTOCLOSE
end
JaggedPass_EventScript_23085A:: @ 823085A
- trainerbattle 0, TRAINER_JULIO, 0, JaggedPass_Text_230DF7, JaggedPass_Text_230E38
- msgbox JaggedPass_Text_230E57, 6
+ trainerbattle_single TRAINER_JULIO, JaggedPass_Text_230DF7, JaggedPass_Text_230E38
+ msgbox JaggedPass_Text_230E57, MSGBOX_AUTOCLOSE
end
JaggedPass_EventScript_230871:: @ 8230871
- trainerbattle 0, TRAINER_AUTUMN, 0, JaggedPass_Text_230E8E, JaggedPass_Text_230ECD
- msgbox JaggedPass_Text_230EE3, 6
+ trainerbattle_single TRAINER_AUTUMN, JaggedPass_Text_230E8E, JaggedPass_Text_230ECD
+ msgbox JaggedPass_Text_230EE3, MSGBOX_AUTOCLOSE
end
JaggedPass_Text_230888: @ 8230888
diff --git a/data/maps/LavaridgeTown/events.inc b/data/maps/LavaridgeTown/events.inc
index 1d4b1239a..4822762ea 100644
--- a/data/maps/LavaridgeTown/events.inc
+++ b/data/maps/LavaridgeTown/events.inc
@@ -5,8 +5,8 @@ LavaridgeTown_EventObjects: @ 8527A54
object_event 4, EVENT_OBJ_GFX_TWIN, 0, 10, 13, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, LavaridgeTown_EventScript_1EA720, 0
object_event 5, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA729, 0
object_event 6, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA732, 0
- object_event 7, EVENT_OBJ_GFX_GIDDY, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 930
- object_event 8, EVENT_OBJ_GFX_HIPSTER, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 929
+ object_event 7, EVENT_OBJ_GFX_GIDDY, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2
+ object_event 8, EVENT_OBJ_GFX_HIPSTER, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
object_event 9, EVENT_OBJ_GFX_EXPERT_F, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_EventScript_1EA744, 0
LavaridgeTown_MapWarps: @ 8527B2C
@@ -28,7 +28,7 @@ LavaridgeTown_MapBGEvents: @ 8527B6C
bg_event 10, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_271E73
bg_event 16, 5, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_271E6A
bg_event 11, 6, 0, BG_EVENT_PLAYER_FACING_NORTH, LavaridgeTown_EventScript_271E73
- bg_hidden_item_event 4, 5, 3, ITEM_ICE_HEAL, 0
+ bg_hidden_item_event 4, 5, 3, ITEM_ICE_HEAL, FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL
LavaridgeTown_MapEvents:: @ 8527BCC
map_events LavaridgeTown_EventObjects, LavaridgeTown_MapWarps, LavaridgeTown_MapCoordEvents, LavaridgeTown_MapBGEvents
diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc
index 5670d9b6e..7eb9336f3 100644
--- a/data/maps/LavaridgeTown/scripts.inc
+++ b/data/maps/LavaridgeTown/scripts.inc
@@ -31,11 +31,11 @@ LavaridgeTown_EventScript_1EA529:: @ 81EA529
setobjectxyperm 8, 11, 9
setobjectxyperm 7, 9, 8
setobjectmovementtype 7, 7
- clearflag FLAG_0x3A1
+ clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
return
LavaridgeTown_EventScript_1EA53F:: @ 81EA53F
- clearflag FLAG_0x36D
+ clearflag FLAG_HIDE_MT_CHIMNEY_TRAINERS
return
LavaridgeTown_EventScript_1EA543:: @ 81EA543
@@ -71,18 +71,18 @@ LavaridgeTown_EventScript_1EA551:: @ 81EA551
end
LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5
- msgbox LavaridgeTown_Text_1EA7C0, 4
+ msgbox LavaridgeTown_Text_1EA7C0, MSGBOX_DEFAULT
giveitem_std ITEM_GO_GOGGLES
setflag FLAG_0x0DD
- msgbox LavaridgeTown_Text_1EA897, 4
+ msgbox LavaridgeTown_Text_1EA897, MSGBOX_DEFAULT
goto LavaridgeTown_EventScript_1EA5FF
end
LavaridgeTown_EventScript_1EA5DA:: @ 81EA5DA
- msgbox LavaridgeTown_Text_1EA9A2, 4
+ msgbox LavaridgeTown_Text_1EA9A2, MSGBOX_DEFAULT
giveitem_std ITEM_GO_GOGGLES
setflag FLAG_0x0DD
- msgbox LavaridgeTown_Text_1EAA2E, 4
+ msgbox LavaridgeTown_Text_1EAA2E, MSGBOX_DEFAULT
goto LavaridgeTown_EventScript_1EA5FF
end
@@ -222,27 +222,27 @@ LavaridgeTown_EventScript_1EA70B:: @ 81EA70B
end
LavaridgeTown_EventScript_1EA70E:: @ 81EA70E
- msgbox LavaridgeTown_Text_1EAE03, 2
+ msgbox LavaridgeTown_Text_1EAE03, MSGBOX_NPC
end
LavaridgeTown_EventScript_1EA717:: @ 81EA717
- msgbox LavaridgeTown_Text_1EAEE1, 3
+ msgbox LavaridgeTown_Text_1EAEE1, MSGBOX_SIGN
end
LavaridgeTown_EventScript_1EA720:: @ 81EA720
- msgbox LavaridgeTown_Text_1EAF9B, 2
+ msgbox LavaridgeTown_Text_1EAF9B, MSGBOX_NPC
end
LavaridgeTown_EventScript_1EA729:: @ 81EA729
- msgbox LavaridgeTown_Text_1EB003, 2
+ msgbox LavaridgeTown_Text_1EB003, MSGBOX_NPC
end
LavaridgeTown_EventScript_1EA732:: @ 81EA732
- msgbox LavaridgeTown_Text_1EB092, 2
+ msgbox LavaridgeTown_Text_1EB092, MSGBOX_NPC
end
LavaridgeTown_EventScript_1EA73B:: @ 81EA73B
- msgbox LavaridgeTown_Text_1EAF4E, 2
+ msgbox LavaridgeTown_Text_1EAF4E, MSGBOX_NPC
end
LavaridgeTown_EventScript_1EA744:: @ 81EA744
@@ -250,13 +250,13 @@ LavaridgeTown_EventScript_1EA744:: @ 81EA744
faceplayer
checkflag FLAG_0x10A
goto_eq LavaridgeTown_EventScript_1EA787
- msgbox LavaridgeTown_Text_1EAB80, 5
+ msgbox LavaridgeTown_Text_1EAB80, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LavaridgeTown_EventScript_1EA79B
getpartysize
compare VAR_RESULT, 6
goto_eq LavaridgeTown_EventScript_1EA791
- msgbox LavaridgeTown_Text_1EACC0, 4
+ msgbox LavaridgeTown_Text_1EACC0, MSGBOX_DEFAULT
setflag FLAG_0x10A
playfanfare MUS_FANFA4
message LavaridgeTown_Text_1EACF4
@@ -266,30 +266,30 @@ LavaridgeTown_EventScript_1EA744:: @ 81EA744
end
LavaridgeTown_EventScript_1EA787:: @ 81EA787
- msgbox LavaridgeTown_Text_1EAD9E, 4
+ msgbox LavaridgeTown_Text_1EAD9E, MSGBOX_DEFAULT
release
end
LavaridgeTown_EventScript_1EA791:: @ 81EA791
- msgbox LavaridgeTown_Text_1EAD09, 4
+ msgbox LavaridgeTown_Text_1EAD09, MSGBOX_DEFAULT
release
end
LavaridgeTown_EventScript_1EA79B:: @ 81EA79B
- msgbox LavaridgeTown_Text_1EAD44, 4
+ msgbox LavaridgeTown_Text_1EAD44, MSGBOX_DEFAULT
release
end
LavaridgeTown_EventScript_1EA7A5:: @ 81EA7A5
- msgbox LavaridgeTown_Text_1EB12B, 3
+ msgbox LavaridgeTown_Text_1EB12B, MSGBOX_SIGN
end
LavaridgeTown_EventScript_1EA7AE:: @ 81EA7AE
- msgbox LavaridgeTown_Text_1EB178, 3
+ msgbox LavaridgeTown_Text_1EB178, MSGBOX_SIGN
end
LavaridgeTown_EventScript_1EA7B7:: @ 81EA7B7
- msgbox LavaridgeTown_Text_1EB1CB, 3
+ msgbox LavaridgeTown_Text_1EB1CB, MSGBOX_SIGN
end
LavaridgeTown_Text_1EA7C0: @ 81EA7C0
diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
index 1d317d43b..77c4a7b5d 100644
--- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
@@ -59,13 +59,13 @@ LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B
return
LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C
- trainerbattle 1, TRAINER_FLANNERY_1, 0, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1
+ 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
- msgbox LavaridgeTown_Gym_1F_Text_1FF546, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT
release
end
@@ -73,7 +73,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
message LavaridgeTown_Gym_1F_Text_1FF32F
waitmessage
call LavaridgeTown_Gym_1F_EventScript_27207E
- msgbox LavaridgeTown_Gym_1F_Text_1FF359, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF359, MSGBOX_DEFAULT
setflag FLAG_0x06C
setflag FLAG_0x4F3
setflag FLAG_BADGE04_GET
@@ -82,13 +82,13 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
call_if 1, LavaridgeTown_Gym_1F_EventScript_271E84
setvar VAR_0x8008, 4
call LavaridgeTown_Gym_1F_EventScript_271F43
- setflag FLAG_0x326
+ setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
setvar VAR_0x4053, 1
call LavaridgeTown_Gym_1F_EventScript_1FE841
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox LavaridgeTown_Gym_1F_Text_1FF517, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF517, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -100,7 +100,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D
giveitem_std ITEM_TM50
compare VAR_RESULT, 0
goto_eq LavaridgeTown_Gym_1F_EventScript_272054
- msgbox LavaridgeTown_Gym_1F_Text_1FF45C, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT
setflag FLAG_0x0A8
release
end
@@ -109,18 +109,18 @@ LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841
giveitem_std ITEM_TM50
compare VAR_RESULT, 0
goto_eq LavaridgeTown_Gym_1F_EventScript_27205E
- msgbox LavaridgeTown_Gym_1F_Text_1FF45C, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT
setflag FLAG_0x0A8
return
LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864
- trainerbattle 7, TRAINER_FLANNERY_1, 0, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E
- msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, 6
+ trainerbattle_rematch_double TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E
+ msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_1F_EventScript_1FE87F:: @ 81FE87F
- trainerbattle 2, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_1F_EventScript_1FE89A:: @ 81FE89A
@@ -133,38 +133,38 @@ LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A
end
LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF
- trainerbattle 2, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_B1F_EventScript_1FE8CA:: @ 81FE8CA
- trainerbattle 2, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FED02, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FED02, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_1F_EventScript_1FE8E5:: @ 81FE8E5
- trainerbattle 2, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_1F_EventScript_1FE900:: @ 81FE900
- trainerbattle 2, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_B1F_EventScript_1FE91B:: @ 81FE91B
- trainerbattle 2, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_B1F_EventScript_1FE936:: @ 81FE936
- trainerbattle 2, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951
- trainerbattle 2, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A
- msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, 6
+ trainerbattle TRAINER_BATTLE_CONTINUE_SCRIPT, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, MSGBOX_AUTOCLOSE
end
LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C
@@ -172,12 +172,12 @@ LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C
faceplayer
checkflag FLAG_0x4F3
goto_eq LavaridgeTown_Gym_1F_EventScript_1FE981
- msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT
release
end
LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981
- msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, MSGBOX_DEFAULT
release
end
@@ -196,12 +196,12 @@ LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B
end
LavaridgeTown_Gym_1F_EventScript_1FE9AB:: @ 81FE9AB
- msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, MSGBOX_DEFAULT
releaseall
end
LavaridgeTown_Gym_1F_EventScript_1FE9B5:: @ 81FE9B5
- msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, 4
+ msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc
index 6af8132e4..14e08bed2 100644
--- a/data/maps/LavaridgeTown_HerbShop/scripts.inc
+++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc
@@ -7,7 +7,7 @@ LavaridgeTown_HerbShop_EventScript_1FE4D7:: @ 81FE4D7
message LavaridgeTown_HerbShop_Text_1FE53E
waitmessage
pokemart LavaridgeTown_HerbShop_Pokemart_1FE4F0
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -22,7 +22,7 @@ LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0
end
LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC
- msgbox LavaridgeTown_HerbShop_Text_1FE685, 2
+ msgbox LavaridgeTown_HerbShop_Text_1FE685, MSGBOX_NPC
end
LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505
@@ -30,7 +30,7 @@ LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505
faceplayer
checkflag FLAG_0x0FE
goto_eq LavaridgeTown_HerbShop_EventScript_1FE534
- msgbox LavaridgeTown_HerbShop_Text_1FE584, 4
+ msgbox LavaridgeTown_HerbShop_Text_1FE584, MSGBOX_DEFAULT
giveitem_std ITEM_CHARCOAL
compare VAR_RESULT, 0
goto_eq LavaridgeTown_HerbShop_EventScript_272054
@@ -39,7 +39,7 @@ LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505
end
LavaridgeTown_HerbShop_EventScript_1FE534:: @ 81FE534
- msgbox LavaridgeTown_HerbShop_Text_1FE5EB, 4
+ msgbox LavaridgeTown_HerbShop_Text_1FE5EB, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LavaridgeTown_House/scripts.inc b/data/maps/LavaridgeTown_House/scripts.inc
index 14d112de9..19424af1a 100644
--- a/data/maps/LavaridgeTown_House/scripts.inc
+++ b/data/maps/LavaridgeTown_House/scripts.inc
@@ -2,7 +2,7 @@ LavaridgeTown_House_MapScripts:: @ 81FF911
.byte 0
LavaridgeTown_House_EventScript_1FF912:: @ 81FF912
- msgbox LavaridgeTown_House_Text_1FF92E, 2
+ msgbox LavaridgeTown_House_Text_1FF92E, MSGBOX_NPC
end
LavaridgeTown_House_EventScript_1FF91B:: @ 81FF91B
@@ -10,7 +10,7 @@ LavaridgeTown_House_EventScript_1FF91B:: @ 81FF91B
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox LavaridgeTown_House_Text_1FF9BB, 4
+ msgbox LavaridgeTown_House_Text_1FF9BB, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/LavaridgeTown_Mart/scripts.inc b/data/maps/LavaridgeTown_Mart/scripts.inc
index 2c5681983..c3bb550cb 100644
--- a/data/maps/LavaridgeTown_Mart/scripts.inc
+++ b/data/maps/LavaridgeTown_Mart/scripts.inc
@@ -7,7 +7,7 @@ LavaridgeTown_Mart_EventScript_1FF9CE:: @ 81FF9CE
message gUnknown_08272A21
waitmessage
pokemart LavaridgeTown_Mart_Pokemart_1FF9E8
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -27,11 +27,11 @@ LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8
end
LavaridgeTown_Mart_EventScript_1FF9FE:: @ 81FF9FE
- msgbox LavaridgeTown_Mart_Text_1FFA10, 2
+ msgbox LavaridgeTown_Mart_Text_1FFA10, MSGBOX_NPC
end
LavaridgeTown_Mart_EventScript_1FFA07:: @ 81FFA07
- msgbox LavaridgeTown_Mart_Text_1FFA83, 2
+ msgbox LavaridgeTown_Mart_Text_1FFA83, MSGBOX_NPC
end
LavaridgeTown_Mart_Text_1FFA10: @ 81FFA10
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc
index c7db56a0d..ee60c7d62 100644
--- a/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/scripts.inc
@@ -17,15 +17,15 @@ LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E:: @ 81FFB0E
end
LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C:: @ 81FFB1C
- msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFBAD, 2
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFBAD, MSGBOX_NPC
end
LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25:: @ 81FFB25
- msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFB37, 2
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFB37, MSGBOX_NPC
end
LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E:: @ 81FFB2E
- msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFC21, 2
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFC21, MSGBOX_NPC
end
LavaridgeTown_PokemonCenter_1F_Text_1FFB37: @ 81FFB37
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc
index e55b08e7b..6e1011dd8 100644
--- a/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc
+++ b/data/maps/LavaridgeTown_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ LavaridgeTown_PokemonCenter_2F_EventObjects: @ 852E248
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
LavaridgeTown_PokemonCenter_2F_MapWarps: @ 852E2A8
warp_def 1, 6, 4, 2, MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F
diff --git a/data/maps/LilycoveCity/events.inc b/data/maps/LilycoveCity/events.inc
index 427f49201..2c7f71d5c 100644
--- a/data/maps/LilycoveCity/events.inc
+++ b/data/maps/LilycoveCity/events.inc
@@ -8,14 +8,14 @@ LilycoveCity_EventObjects: @ 8526CE8
object_event 7, EVENT_OBJ_GFX_EXPERT_M, 0, 35, 37, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_EventScript_1E2C9A, 0
object_event 8, EVENT_OBJ_GFX_EXPERT_F, 0, 34, 37, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_EventScript_1E2CA3, 0
object_event 9, EVENT_OBJ_GFX_EXPERT_M, 0, 57, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, LilycoveCity_EventScript_1E2CAC, 0
- object_event 10, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 73, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2D7D, 852
- object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 61, 36, 5, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, LilycoveCity_EventScript_2910E8, 1042
- object_event 12, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 43, 18, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, LilycoveCity_EventScript_1E2DD5, 852
- object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 46, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DBA, 852
- object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 45, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, 852
- object_event 15, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 38, 9, 5, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, 852
+ object_event 10, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 73, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2D7D, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
+ object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 61, 36, 5, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, LilycoveCity_EventScript_2910E8, FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL
+ object_event 12, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 43, 18, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, LilycoveCity_EventScript_1E2DD5, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
+ object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 46, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DBA, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
+ object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 45, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
+ object_event 15, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 38, 9, 5, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS
object_event 16, EVENT_OBJ_GFX_GENTLEMAN, 0, 50, 7, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_1E2BD8, 0
- object_event 17, EVENT_OBJ_GFX_HIPSTER, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, 971
+ object_event 17, EVENT_OBJ_GFX_HIPSTER, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL
object_event 18, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 16, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E302D, 0
object_event 19, EVENT_OBJ_GFX_WOMAN_3, 0, 41, 25, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CEE, 0
object_event 20, EVENT_OBJ_GFX_MAN_2, 0, 40, 25, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CDD, 0
@@ -49,9 +49,9 @@ LilycoveCity_MapBGEvents: @ 8526F68
bg_event 6, 30, 3, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_1E2D44
bg_event 36, 14, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_1E2D62
bg_event 34, 6, 0, BG_EVENT_PLAYER_FACING_ANY, LilycoveCity_EventScript_1E2D74
- bg_hidden_item_event 36, 31, 3, ITEM_HEART_SCALE, 27
- bg_hidden_item_event 61, 7, 0, ITEM_PP_UP, 43
- bg_hidden_item_event 64, 31, 0, ITEM_POKE_BALL, 75
+ bg_hidden_item_event 36, 31, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE
+ bg_hidden_item_event 61, 7, 0, ITEM_PP_UP, FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP
+ bg_hidden_item_event 64, 31, 0, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL
LilycoveCity_MapEvents:: @ 8527004
map_events LilycoveCity_EventObjects, LilycoveCity_MapWarps, 0x0, LilycoveCity_MapBGEvents
diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc
index 70018b229..6b325d549 100644
--- a/data/maps/LilycoveCity/scripts.inc
+++ b/data/maps/LilycoveCity/scripts.inc
@@ -6,7 +6,7 @@ LilycoveCity_MapScripts:: @ 81E2B3C
LilycoveCity_MapScript1_1E2B47: @ 81E2B47
setflag FLAG_VISITED_LILYCOVE_CITY
setvar VAR_0x4086, 0
- setflag FLAG_0x322
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
checkflag FLAG_SYS_WEATHER_CTRL
call_if 1, LilycoveCity_EventScript_27207A
call LilycoveCity_EventScript_271ED7
@@ -38,24 +38,24 @@ LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8
dodailyevents
checkflag FLAG_0x92F
goto_eq LilycoveCity_EventScript_1E2C18
- msgbox LilycoveCity_Text_2A7244, 4
+ 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
setflag FLAG_0x92F
- msgbox LilycoveCity_Text_2A72E3, 4
+ msgbox LilycoveCity_Text_2A72E3, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C18:: @ 81E2C18
- msgbox LilycoveCity_Text_2A7321, 4
+ msgbox LilycoveCity_Text_2A7321, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C22:: @ 81E2C22
- msgbox LilycoveCity_Text_1E3D9E, 2
+ msgbox LilycoveCity_Text_1E3D9E, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B
@@ -63,17 +63,17 @@ LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B
faceplayer
checkflag FLAG_BADGE07_GET
goto_eq LilycoveCity_EventScript_1E2C40
- msgbox LilycoveCity_Text_1E3E3C, 4
+ msgbox LilycoveCity_Text_1E3E3C, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C40:: @ 81E2C40
- msgbox LilycoveCity_Text_1E3E7D, 4
+ msgbox LilycoveCity_Text_1E3E7D, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A
- msgbox LilycoveCity_Text_1E3F05, 2
+ msgbox LilycoveCity_Text_1E3F05, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2C53:: @ 81E2C53
@@ -81,12 +81,12 @@ LilycoveCity_EventScript_1E2C53:: @ 81E2C53
faceplayer
checkflag FLAG_0x070
goto_eq LilycoveCity_EventScript_1E2C68
- msgbox LilycoveCity_Text_1E3FAB, 4
+ msgbox LilycoveCity_Text_1E3FAB, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C68:: @ 81E2C68
- msgbox LilycoveCity_Text_1E4020, 4
+ msgbox LilycoveCity_Text_1E4020, MSGBOX_DEFAULT
release
end
@@ -95,25 +95,25 @@ LilycoveCity_EventScript_1E2C72:: @ 81E2C72
faceplayer
checkflag FLAG_0x070
goto_eq LilycoveCity_EventScript_1E2C87
- msgbox LilycoveCity_Text_1E40AD, 4
+ msgbox LilycoveCity_Text_1E40AD, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C87:: @ 81E2C87
- msgbox LilycoveCity_Text_1E4145, 4
+ msgbox LilycoveCity_Text_1E4145, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2C91:: @ 81E2C91
- msgbox LilycoveCity_Text_1E417B, 2
+ msgbox LilycoveCity_Text_1E417B, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2C9A:: @ 81E2C9A
- msgbox LilycoveCity_Text_1E420B, 3
+ msgbox LilycoveCity_Text_1E420B, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3
- msgbox LilycoveCity_Text_1E4283, 3
+ msgbox LilycoveCity_Text_1E4283, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC
@@ -121,45 +121,45 @@ LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC
faceplayer
checkflag FLAG_BADGE07_GET
goto_eq LilycoveCity_EventScript_1E2CC1
- msgbox LilycoveCity_Text_1E42FC, 4
+ msgbox LilycoveCity_Text_1E42FC, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2CC1:: @ 81E2CC1
- msgbox LilycoveCity_Text_1E43FF, 4
+ msgbox LilycoveCity_Text_1E43FF, MSGBOX_DEFAULT
release
end
LilycoveCity_EventScript_1E2CCB:: @ 81E2CCB
- msgbox LilycoveCity_Text_1E48A5, 2
+ msgbox LilycoveCity_Text_1E48A5, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2CD4:: @ 81E2CD4
- msgbox LilycoveCity_Text_1E4902, 2
+ msgbox LilycoveCity_Text_1E4902, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2CDD:: @ 81E2CDD
lockall
- msgbox LilycoveCity_Text_1E494D, 2
+ msgbox LilycoveCity_Text_1E494D, MSGBOX_NPC
applymovement 20, LilycoveCity_Movement_2725A2
end
LilycoveCity_EventScript_1E2CEE:: @ 81E2CEE
lockall
- msgbox LilycoveCity_Text_1E49F4, 2
+ msgbox LilycoveCity_Text_1E49F4, MSGBOX_NPC
applymovement 19, LilycoveCity_Movement_2725A2
end
LilycoveCity_EventScript_1E2CFF:: @ 81E2CFF
- msgbox LilycoveCity_Text_1E448B, 3
+ msgbox LilycoveCity_Text_1E448B, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2D08:: @ 81E2D08
- msgbox LilycoveCity_Text_1E44C3, 3
+ msgbox LilycoveCity_Text_1E44C3, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2D11:: @ 81E2D11
- msgbox LilycoveCity_Text_1E44FC, 3
+ msgbox LilycoveCity_Text_1E44FC, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2D1A:: @ 81E2D1A
@@ -167,12 +167,12 @@ LilycoveCity_EventScript_1E2D1A:: @ 81E2D1A
specialvar VAR_0x8004, sub_80F8940
switch VAR_0x8004
case 0, LilycoveCity_EventScript_1E2D3A
- msgbox LilycoveCity_Text_1E4571, 4
+ msgbox LilycoveCity_Text_1E4571, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A
- msgbox LilycoveCity_Text_1E4534, 4
+ msgbox LilycoveCity_Text_1E4534, MSGBOX_DEFAULT
releaseall
end
@@ -180,35 +180,35 @@ LilycoveCity_EventScript_1E2D44:: @ 81E2D44
lockall
checkflag FLAG_SYS_GAME_CLEAR
goto_eq LilycoveCity_EventScript_1E2D58
- msgbox LilycoveCity_Text_1E45A7, 4
+ msgbox LilycoveCity_Text_1E45A7, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_EventScript_1E2D58:: @ 81E2D58
- msgbox LilycoveCity_Text_1E4624, 4
+ msgbox LilycoveCity_Text_1E4624, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_EventScript_1E2D62:: @ 81E2D62
- msgbox LilycoveCity_Text_1E466E, 3
+ msgbox LilycoveCity_Text_1E466E, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2D6B:: @ 81E2D6B
- msgbox LilycoveCity_Text_1E46BE, 3
+ msgbox LilycoveCity_Text_1E46BE, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2D74:: @ 81E2D74
- msgbox LilycoveCity_Text_1E473D, 3
+ msgbox LilycoveCity_Text_1E473D, MSGBOX_SIGN
end
LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D
lockall
checkflag FLAG_0x0DA
goto_eq LilycoveCity_EventScript_1E2DB0
- msgbox LilycoveCity_Text_1E3D1F, 4
+ msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, LilycoveCity_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_Text_1E3D4A, 4
+ msgbox LilycoveCity_Text_1E3D4A, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, LilycoveCity_Movement_2725A2
waitmovement 0
setflag FLAG_0x0DA
@@ -216,24 +216,24 @@ LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D
end
LilycoveCity_EventScript_1E2DB0:: @ 81E2DB0
- msgbox LilycoveCity_Text_1E3D1F, 4
+ msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_EventScript_1E2DBA:: @ 81E2DBA
- msgbox LilycoveCity_Text_1E3B2C, 2
+ msgbox LilycoveCity_Text_1E3B2C, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2DC3:: @ 81E2DC3
- msgbox LilycoveCity_Text_1E3B95, 2
+ msgbox LilycoveCity_Text_1E3B95, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2DCC:: @ 81E2DCC
- msgbox LilycoveCity_Text_1E3C46, 2
+ msgbox LilycoveCity_Text_1E3C46, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2DD5:: @ 81E2DD5
- msgbox LilycoveCity_Text_1E3CBE, 2
+ msgbox LilycoveCity_Text_1E3CBE, MSGBOX_NPC
end
LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE
@@ -254,7 +254,7 @@ LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8
call_if 0, LilycoveCity_EventScript_1E2E51
compare VAR_RESULT, 0
goto_eq LilycoveCity_EventScript_1E2E5A
- msgbox LilycoveCity_Text_1E3234, 4
+ msgbox LilycoveCity_Text_1E3234, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, LilycoveCity_EventScript_1E2EDE
case 1, LilycoveCity_EventScript_1E2EEE
@@ -262,16 +262,16 @@ LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8
end
LilycoveCity_EventScript_1E2E48:: @ 81E2E48
- msgbox LilycoveCity_Text_1E31F5, 5
+ msgbox LilycoveCity_Text_1E31F5, MSGBOX_YESNO
return
LilycoveCity_EventScript_1E2E51:: @ 81E2E51
- msgbox LilycoveCity_Text_1E3061, 5
+ msgbox LilycoveCity_Text_1E3061, MSGBOX_YESNO
return
LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A
setflag FLAG_0x11E
- msgbox LilycoveCity_Text_1E318D, 4
+ msgbox LilycoveCity_Text_1E318D, MSGBOX_DEFAULT
savebgm MUS_DUMMY
fadedefaultbgm
release
@@ -285,7 +285,7 @@ LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B
call_if 0, LilycoveCity_EventScript_1E2EC4
compare VAR_RESULT, 0
goto_eq LilycoveCity_EventScript_1E2ECD
- msgbox LilycoveCity_Text_1E373C, 4
+ msgbox LilycoveCity_Text_1E373C, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, LilycoveCity_EventScript_1E2F0E
case 1, LilycoveCity_EventScript_1E2F1E
@@ -293,53 +293,53 @@ LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B
end
LilycoveCity_EventScript_1E2EBB:: @ 81E2EBB
- msgbox LilycoveCity_Text_1E36FA, 5
+ msgbox LilycoveCity_Text_1E36FA, MSGBOX_YESNO
return
LilycoveCity_EventScript_1E2EC4:: @ 81E2EC4
- msgbox LilycoveCity_Text_1E3608, 5
+ msgbox LilycoveCity_Text_1E3608, MSGBOX_YESNO
return
LilycoveCity_EventScript_1E2ECD:: @ 81E2ECD
setflag FLAG_0x11E
- msgbox LilycoveCity_Text_1E36BF, 4
+ msgbox LilycoveCity_Text_1E36BF, MSGBOX_DEFAULT
savebgm MUS_DUMMY
fadedefaultbgm
release
end
LilycoveCity_EventScript_1E2EDE:: @ 81E2EDE
- trainerbattle 3, TRAINER_MAY_12, 0, LilycoveCity_Text_1E3275
+ trainerbattle_no_intro TRAINER_MAY_12, LilycoveCity_Text_1E3275
goto LilycoveCity_EventScript_1E2F3E
end
LilycoveCity_EventScript_1E2EEE:: @ 81E2EEE
- trainerbattle 3, TRAINER_MAY_13, 0, LilycoveCity_Text_1E3275
+ trainerbattle_no_intro TRAINER_MAY_13, LilycoveCity_Text_1E3275
goto LilycoveCity_EventScript_1E2F3E
end
LilycoveCity_EventScript_1E2EFE:: @ 81E2EFE
- trainerbattle 3, TRAINER_MAY_11, 0, LilycoveCity_Text_1E3275
+ trainerbattle_no_intro TRAINER_MAY_11, LilycoveCity_Text_1E3275
goto LilycoveCity_EventScript_1E2F3E
end
LilycoveCity_EventScript_1E2F0E:: @ 81E2F0E
- trainerbattle 3, TRAINER_BRENDAN_14, 0, LilycoveCity_Text_1E3777
+ trainerbattle_no_intro TRAINER_BRENDAN_14, LilycoveCity_Text_1E3777
goto LilycoveCity_EventScript_1E2FAA
end
LilycoveCity_EventScript_1E2F1E:: @ 81E2F1E
- trainerbattle 3, TRAINER_BRENDAN_15, 0, LilycoveCity_Text_1E3777
+ trainerbattle_no_intro TRAINER_BRENDAN_15, LilycoveCity_Text_1E3777
goto LilycoveCity_EventScript_1E2FAA
end
LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E
- trainerbattle 3, TRAINER_BRENDAN_13, 0, LilycoveCity_Text_1E3777
+ trainerbattle_no_intro TRAINER_BRENDAN_13, LilycoveCity_Text_1E3777
goto LilycoveCity_EventScript_1E2FAA
end
LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E
- msgbox LilycoveCity_Text_1E32FB, 4
+ msgbox LilycoveCity_Text_1E32FB, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
checkflag FLAG_BADGE06_GET
call_if 1, LilycoveCity_EventScript_1E2F76
@@ -347,8 +347,8 @@ LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E
call_if 1, LilycoveCity_EventScript_1E2F86
compare VAR_RESULT, 1
call_if 1, LilycoveCity_EventScript_1E2F8F
- clearflag FLAG_0x2D2
- clearflag FLAG_0x351
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
goto LilycoveCity_EventScript_1E3006
end
@@ -362,21 +362,21 @@ LilycoveCity_EventScript_1E2F80:: @ 81E2F80
return
LilycoveCity_EventScript_1E2F86:: @ 81E2F86
- msgbox LilycoveCity_Text_1E3398, 4
+ msgbox LilycoveCity_Text_1E3398, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F
checkflag FLAG_SYS_GAME_CLEAR
goto_eq LilycoveCity_EventScript_1E2FA1
- msgbox LilycoveCity_Text_1E346D, 4
+ msgbox LilycoveCity_Text_1E346D, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1
- msgbox LilycoveCity_Text_1E353A, 4
+ msgbox LilycoveCity_Text_1E353A, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA
- msgbox LilycoveCity_Text_1E37D7, 4
+ msgbox LilycoveCity_Text_1E37D7, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
checkflag FLAG_BADGE06_GET
call_if 1, LilycoveCity_EventScript_1E2F76
@@ -384,23 +384,23 @@ LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA
call_if 1, LilycoveCity_EventScript_1E2FE2
compare VAR_RESULT, 1
call_if 1, LilycoveCity_EventScript_1E2FEB
- clearflag FLAG_0x2F8
- clearflag FLAG_0x32F
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
goto LilycoveCity_EventScript_1E3006
end
LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2
- msgbox LilycoveCity_Text_1E3876, 4
+ msgbox LilycoveCity_Text_1E3876, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB
checkflag FLAG_SYS_GAME_CLEAR
goto_eq LilycoveCity_EventScript_1E2FFD
- msgbox LilycoveCity_Text_1E390C, 4
+ msgbox LilycoveCity_Text_1E390C, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E2FFD:: @ 81E2FFD
- msgbox LilycoveCity_Text_1E39E3, 4
+ msgbox LilycoveCity_Text_1E39E3, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E3006:: @ 81E3006
@@ -422,7 +422,7 @@ LilycoveCity_EventScript_1E3006:: @ 81E3006
LilycoveCity_EventScript_1E302D:: @ 81E302D
lock
faceplayer
- msgbox LilycoveCity_Text_1E4774, 5
+ msgbox LilycoveCity_Text_1E4774, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, LilycoveCity_EventScript_1E304F
compare VAR_RESULT, 0
@@ -431,11 +431,11 @@ LilycoveCity_EventScript_1E302D:: @ 81E302D
end
LilycoveCity_EventScript_1E304F:: @ 81E304F
- msgbox LilycoveCity_Text_1E47A1, 4
+ msgbox LilycoveCity_Text_1E47A1, MSGBOX_DEFAULT
return
LilycoveCity_EventScript_1E3058:: @ 81E3058
- msgbox LilycoveCity_Text_1E4824, 4
+ msgbox LilycoveCity_Text_1E4824, MSGBOX_DEFAULT
return
LilycoveCity_Text_1E3061: @ 81E3061
diff --git a/data/maps/LilycoveCity_ContestHall/scripts.inc b/data/maps/LilycoveCity_ContestHall/scripts.inc
index 3f02a404c..945f01fb0 100644
--- a/data/maps/LilycoveCity_ContestHall/scripts.inc
+++ b/data/maps/LilycoveCity_ContestHall/scripts.inc
@@ -2,25 +2,25 @@ LilycoveCity_ContestHall_MapScripts:: @ 821B484
.byte 0
LilycoveCity_ContestHall_EventScript_21B485:: @ 821B485
- msgbox LilycoveCity_ContestHall_Text_21B74E, 2
+ msgbox LilycoveCity_ContestHall_Text_21B74E, MSGBOX_NPC
end
LilycoveCity_ContestHall_EventScript_21B48E:: @ 821B48E
- msgbox LilycoveCity_ContestHall_Text_21B7D7, 2
+ msgbox LilycoveCity_ContestHall_Text_21B7D7, MSGBOX_NPC
end
LilycoveCity_ContestHall_EventScript_21B497:: @ 821B497
- msgbox LilycoveCity_ContestHall_Text_21B899, 2
+ msgbox LilycoveCity_ContestHall_Text_21B899, MSGBOX_NPC
end
LilycoveCity_ContestHall_EventScript_21B4A0:: @ 821B4A0
- msgbox LilycoveCity_ContestHall_Text_21B911, 2
+ msgbox LilycoveCity_ContestHall_Text_21B911, MSGBOX_NPC
end
LilycoveCity_ContestHall_EventScript_21B4A9:: @ 821B4A9
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21B977, 4
+ msgbox LilycoveCity_ContestHall_Text_21B977, MSGBOX_DEFAULT
closemessage
applymovement 4, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -30,7 +30,7 @@ LilycoveCity_ContestHall_EventScript_21B4A9:: @ 821B4A9
LilycoveCity_ContestHall_EventScript_21B4C0:: @ 821B4C0
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21B9DC, 4
+ msgbox LilycoveCity_ContestHall_Text_21B9DC, MSGBOX_DEFAULT
closemessage
applymovement 5, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -40,7 +40,7 @@ LilycoveCity_ContestHall_EventScript_21B4C0:: @ 821B4C0
LilycoveCity_ContestHall_EventScript_21B4D7:: @ 821B4D7
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BA44, 4
+ msgbox LilycoveCity_ContestHall_Text_21BA44, MSGBOX_DEFAULT
closemessage
applymovement 6, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -50,7 +50,7 @@ LilycoveCity_ContestHall_EventScript_21B4D7:: @ 821B4D7
LilycoveCity_ContestHall_EventScript_21B4EE:: @ 821B4EE
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BAD5, 4
+ msgbox LilycoveCity_ContestHall_Text_21BAD5, MSGBOX_DEFAULT
closemessage
applymovement 7, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -60,7 +60,7 @@ LilycoveCity_ContestHall_EventScript_21B4EE:: @ 821B4EE
LilycoveCity_ContestHall_EventScript_21B505:: @ 821B505
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BB84, 4
+ msgbox LilycoveCity_ContestHall_Text_21BB84, MSGBOX_DEFAULT
closemessage
applymovement 8, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -70,7 +70,7 @@ LilycoveCity_ContestHall_EventScript_21B505:: @ 821B505
LilycoveCity_ContestHall_EventScript_21B51C:: @ 821B51C
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BBDD, 4
+ msgbox LilycoveCity_ContestHall_Text_21BBDD, MSGBOX_DEFAULT
closemessage
applymovement 9, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -78,13 +78,13 @@ LilycoveCity_ContestHall_EventScript_21B51C:: @ 821B51C
end
LilycoveCity_ContestHall_EventScript_21B533:: @ 821B533
- msgbox LilycoveCity_ContestHall_Text_21BC65, 3
+ msgbox LilycoveCity_ContestHall_Text_21BC65, MSGBOX_SIGN
end
LilycoveCity_ContestHall_EventScript_21B53C:: @ 821B53C
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BC89, 4
+ msgbox LilycoveCity_ContestHall_Text_21BC89, MSGBOX_DEFAULT
closemessage
applymovement 12, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -94,7 +94,7 @@ LilycoveCity_ContestHall_EventScript_21B53C:: @ 821B53C
LilycoveCity_ContestHall_EventScript_21B553:: @ 821B553
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BD30, 4
+ msgbox LilycoveCity_ContestHall_Text_21BD30, MSGBOX_DEFAULT
closemessage
applymovement 22, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -104,7 +104,7 @@ LilycoveCity_ContestHall_EventScript_21B553:: @ 821B553
LilycoveCity_ContestHall_EventScript_21B56A:: @ 821B56A
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BD70, 4
+ msgbox LilycoveCity_ContestHall_Text_21BD70, MSGBOX_DEFAULT
closemessage
applymovement 11, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -114,7 +114,7 @@ LilycoveCity_ContestHall_EventScript_21B56A:: @ 821B56A
LilycoveCity_ContestHall_EventScript_21B581:: @ 821B581
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BDDD, 4
+ msgbox LilycoveCity_ContestHall_Text_21BDDD, MSGBOX_DEFAULT
closemessage
applymovement 13, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -124,7 +124,7 @@ LilycoveCity_ContestHall_EventScript_21B581:: @ 821B581
LilycoveCity_ContestHall_EventScript_21B598:: @ 821B598
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BE16, 4
+ msgbox LilycoveCity_ContestHall_Text_21BE16, MSGBOX_DEFAULT
closemessage
applymovement 14, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -134,7 +134,7 @@ LilycoveCity_ContestHall_EventScript_21B598:: @ 821B598
LilycoveCity_ContestHall_EventScript_21B5AF:: @ 821B5AF
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BE77, 4
+ msgbox LilycoveCity_ContestHall_Text_21BE77, MSGBOX_DEFAULT
closemessage
applymovement 15, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -144,7 +144,7 @@ LilycoveCity_ContestHall_EventScript_21B5AF:: @ 821B5AF
LilycoveCity_ContestHall_EventScript_21B5C6:: @ 821B5C6
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BEDE, 4
+ msgbox LilycoveCity_ContestHall_Text_21BEDE, MSGBOX_DEFAULT
closemessage
applymovement 16, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -154,7 +154,7 @@ LilycoveCity_ContestHall_EventScript_21B5C6:: @ 821B5C6
LilycoveCity_ContestHall_EventScript_21B5DD:: @ 821B5DD
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BF6E, 4
+ msgbox LilycoveCity_ContestHall_Text_21BF6E, MSGBOX_DEFAULT
closemessage
applymovement 17, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -164,7 +164,7 @@ LilycoveCity_ContestHall_EventScript_21B5DD:: @ 821B5DD
LilycoveCity_ContestHall_EventScript_21B5F4:: @ 821B5F4
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21BFE3, 4
+ msgbox LilycoveCity_ContestHall_Text_21BFE3, MSGBOX_DEFAULT
closemessage
applymovement 18, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -174,7 +174,7 @@ LilycoveCity_ContestHall_EventScript_21B5F4:: @ 821B5F4
LilycoveCity_ContestHall_EventScript_21B60B:: @ 821B60B
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C07F, 4
+ msgbox LilycoveCity_ContestHall_Text_21C07F, MSGBOX_DEFAULT
closemessage
applymovement 19, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -184,7 +184,7 @@ LilycoveCity_ContestHall_EventScript_21B60B:: @ 821B60B
LilycoveCity_ContestHall_EventScript_21B622:: @ 821B622
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C0D8, 4
+ msgbox LilycoveCity_ContestHall_Text_21C0D8, MSGBOX_DEFAULT
closemessage
applymovement 21, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -194,7 +194,7 @@ LilycoveCity_ContestHall_EventScript_21B622:: @ 821B622
LilycoveCity_ContestHall_EventScript_21B639:: @ 821B639
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C137, 4
+ msgbox LilycoveCity_ContestHall_Text_21C137, MSGBOX_DEFAULT
closemessage
applymovement 20, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -204,7 +204,7 @@ LilycoveCity_ContestHall_EventScript_21B639:: @ 821B639
LilycoveCity_ContestHall_EventScript_21B650:: @ 821B650
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C1A4, 4
+ msgbox LilycoveCity_ContestHall_Text_21C1A4, MSGBOX_DEFAULT
closemessage
applymovement 23, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -214,7 +214,7 @@ LilycoveCity_ContestHall_EventScript_21B650:: @ 821B650
LilycoveCity_ContestHall_EventScript_21B667:: @ 821B667
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C215, 4
+ msgbox LilycoveCity_ContestHall_Text_21C215, MSGBOX_DEFAULT
closemessage
applymovement 24, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -224,7 +224,7 @@ LilycoveCity_ContestHall_EventScript_21B667:: @ 821B667
LilycoveCity_ContestHall_EventScript_21B67E:: @ 821B67E
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C27F, 4
+ msgbox LilycoveCity_ContestHall_Text_21C27F, MSGBOX_DEFAULT
closemessage
applymovement 25, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -234,7 +234,7 @@ LilycoveCity_ContestHall_EventScript_21B67E:: @ 821B67E
LilycoveCity_ContestHall_EventScript_21B695:: @ 821B695
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C2BB, 4
+ msgbox LilycoveCity_ContestHall_Text_21C2BB, MSGBOX_DEFAULT
closemessage
applymovement 26, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -244,7 +244,7 @@ LilycoveCity_ContestHall_EventScript_21B695:: @ 821B695
LilycoveCity_ContestHall_EventScript_21B6AC:: @ 821B6AC
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C307, 4
+ msgbox LilycoveCity_ContestHall_Text_21C307, MSGBOX_DEFAULT
closemessage
applymovement 27, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -254,7 +254,7 @@ LilycoveCity_ContestHall_EventScript_21B6AC:: @ 821B6AC
LilycoveCity_ContestHall_EventScript_21B6C3:: @ 821B6C3
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C365, 4
+ msgbox LilycoveCity_ContestHall_Text_21C365, MSGBOX_DEFAULT
closemessage
applymovement 28, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -265,19 +265,19 @@ LilycoveCity_ContestHall_EventScript_21B6DA:: @ 821B6DA
lockall
applymovement 29, LilycoveCity_ContestHall_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_ContestHall_Text_21C3F4, 4
+ msgbox LilycoveCity_ContestHall_Text_21C3F4, MSGBOX_DEFAULT
closemessage
applymovement 29, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
delay 25
- msgbox LilycoveCity_ContestHall_Text_21C411, 4
+ msgbox LilycoveCity_ContestHall_Text_21C411, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestHall_EventScript_21B705:: @ 821B705
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C4B1, 4
+ msgbox LilycoveCity_ContestHall_Text_21C4B1, MSGBOX_DEFAULT
closemessage
applymovement 31, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -287,7 +287,7 @@ LilycoveCity_ContestHall_EventScript_21B705:: @ 821B705
LilycoveCity_ContestHall_EventScript_21B71C:: @ 821B71C
lock
faceplayer
- msgbox LilycoveCity_ContestHall_Text_21C445, 4
+ msgbox LilycoveCity_ContestHall_Text_21C445, MSGBOX_DEFAULT
closemessage
applymovement 30, LilycoveCity_ContestHall_Movement_2725A2
waitmovement 0
@@ -295,15 +295,15 @@ LilycoveCity_ContestHall_EventScript_21B71C:: @ 821B71C
end
LilycoveCity_ContestHall_EventScript_21B733:: @ 821B733
- msgbox LilycoveCity_ContestHall_Text_21C512, 3
+ msgbox LilycoveCity_ContestHall_Text_21C512, MSGBOX_SIGN
end
LilycoveCity_ContestHall_EventScript_21B73C:: @ 821B73C
- msgbox LilycoveCity_ContestHall_Text_21C548, 3
+ msgbox LilycoveCity_ContestHall_Text_21C548, MSGBOX_SIGN
end
LilycoveCity_ContestHall_EventScript_21B745:: @ 821B745
- msgbox LilycoveCity_ContestHall_Text_21C57B, 3
+ msgbox LilycoveCity_ContestHall_Text_21C57B, MSGBOX_SIGN
end
LilycoveCity_ContestHall_Text_21B74E: @ 821B74E
diff --git a/data/maps/LilycoveCity_ContestLobby/events.inc b/data/maps/LilycoveCity_ContestLobby/events.inc
index 636e0db5a..fa04b72e7 100644
--- a/data/maps/LilycoveCity_ContestLobby/events.inc
+++ b/data/maps/LilycoveCity_ContestLobby/events.inc
@@ -2,27 +2,27 @@ LilycoveCity_ContestLobby_EventObjects: @ 8531534
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 14, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A554, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 15, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A806, 0
object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 26, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FA2, 0
- object_event 4, EVENT_OBJ_GFX_ARTIST, 0, 9, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 774
+ object_event 4, EVENT_OBJ_GFX_ARTIST, 0, 9, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1
object_event 5, EVENT_OBJ_GFX_BLACK_BELT, 0, 18, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A708, 0
object_event 6, EVENT_OBJ_GFX_GIRL_2, 0, 4, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, LilycoveCity_ContestLobby_EventScript_21A711, 0
object_event 7, EVENT_OBJ_GFX_ARTIST, 0, 3, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A71A, 0
- object_event 8, EVENT_OBJ_GFX_REPORTER_M, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_28CA59, 802
+ object_event 8, EVENT_OBJ_GFX_REPORTER_M, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_28CA59, FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
object_event 9, EVENT_OBJ_GFX_BOY_1, 0, 23, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A768, 0
object_event 10, EVENT_OBJ_GFX_TWIN, 0, 28, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FB4, 0
- object_event 11, EVENT_OBJ_GFX_ARTIST, 0, 21, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 895
+ object_event 11, EVENT_OBJ_GFX_ARTIST, 0, 21, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2
object_event 12, EVENT_OBJ_GFX_FISHERMAN, 0, 5, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A72C, 0
object_event 13, EVENT_OBJ_GFX_FAT_MAN, 0, 0, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A723, 0
object_event 14, EVENT_OBJ_GFX_NINJA_BOY, 0, 8, 7, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A735, 0
object_event 15, EVENT_OBJ_GFX_POKEFAN_F, 0, 22, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FAB, 0
- object_event 16, EVENT_OBJ_GFX_EXPERT_M, 0, 26, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FBD, 873
+ object_event 16, EVENT_OBJ_GFX_EXPERT_M, 0, 26, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FBD, FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT
object_event 17, EVENT_OBJ_GFX_GIRL_1, 0, 24, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A771, 0
- object_event 18, EVENT_OBJ_GFX_MAN_5, 0, 27, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7B3, 832
- object_event 19, EVENT_OBJ_GFX_CAMPER, 0, 28, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7BE, 832
- object_event 20, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 28, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7C9, 832
- object_event 21, EVENT_OBJ_GFX_SCIENTIST_2, 0, 26, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7D9, 832
- object_event 22, EVENT_OBJ_GFX_WOMAN_1, 0, 27, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7E9, 832
- object_event 23, EVENT_OBJ_GFX_NINJA_BOY, 0, 26, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7A8, 832
- object_event 24, EVENT_OBJ_GFX_OLD_MAN, 0, 26, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A798, 832
+ object_event 18, EVENT_OBJ_GFX_MAN_5, 0, 27, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7B3, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ object_event 19, EVENT_OBJ_GFX_CAMPER, 0, 28, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7BE, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ object_event 20, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 28, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7C9, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ object_event 21, EVENT_OBJ_GFX_SCIENTIST_2, 0, 26, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7D9, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ object_event 22, EVENT_OBJ_GFX_WOMAN_1, 0, 27, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7E9, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ object_event 23, EVENT_OBJ_GFX_NINJA_BOY, 0, 26, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7A8, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
+ object_event 24, EVENT_OBJ_GFX_OLD_MAN, 0, 26, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_ContestLobby_EventScript_21A798, FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
object_event 25, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 9, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 2, 2, 0, 0, LilycoveCity_ContestLobby_EventScript_21ACF1, 0
LilycoveCity_ContestLobby_MapWarps: @ 853178C
diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc
index 956766395..16c4dd915 100644
--- a/data/maps/LilycoveCity_ContestLobby/scripts.inc
+++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc
@@ -12,13 +12,13 @@ LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227
getpricereduction 4
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_21A23C
- clearflag FLAG_0x369
- setflag FLAG_0x340
+ clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
return
LilycoveCity_ContestLobby_EventScript_21A23C:: @ 821A23C
- setflag FLAG_0x369
- clearflag FLAG_0x340
+ setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT
+ clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
return
LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243
@@ -27,7 +27,7 @@ LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243
.2byte 0
LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255
- checkflag FLAG_0x307
+ checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
goto_eq LilycoveCity_ContestLobby_EventScript_21A264
setvar VAR_0x4099, 0
end
@@ -39,12 +39,12 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264
waitmovement 4
applymovement 255, LilycoveCity_ContestLobby_Movement_21A418
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21ADB9, 4
+ msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT
lockall
fadescreen 1
drawcontestwinner 0
lockall
- msgbox LilycoveCity_ContestLobby_Text_21AE78, 5
+ msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA
compare VAR_RESULT, 0
@@ -53,11 +53,11 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264
end
LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA
- msgbox LilycoveCity_ContestLobby_Text_21AF63, 4
+ msgbox LilycoveCity_ContestLobby_Text_21AF63, MSGBOX_DEFAULT
closemessage
special sub_80F88DC
setvar VAR_0x4099, 0
- specialvar VAR_RESULT, sub_80F8C7C
+ specialvar VAR_RESULT, GiveMonArtistRibbon
compare VAR_RESULT, 1
call_if 1, LilycoveCity_ContestLobby_EventScript_21A314
applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
@@ -69,10 +69,10 @@ LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA
end
LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4
- msgbox LilycoveCity_ContestLobby_Text_21B0BC, 5
+ msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA
- msgbox LilycoveCity_ContestLobby_Text_21B132, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT
closemessage
applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
waitmovement 0
@@ -91,12 +91,12 @@ LilycoveCity_ContestLobby_EventScript_21A314:: @ 821A314
waitmovement 0
applymovement 4, LilycoveCity_ContestLobby_Movement_21A41E
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21B030, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B030, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- msgbox LilycoveCity_ContestLobby_Text_21B07E, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B07E, MSGBOX_DEFAULT
waitfanfare
- msgbox LilycoveCity_ContestLobby_Text_21B094, 4
- msgbox LilycoveCity_ContestLobby_Text_21B0AD, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B094, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_21B0AD, MSGBOX_DEFAULT
closemessage
return
@@ -111,23 +111,23 @@ LilycoveCity_ContestLobby_EventScript_21A360:: @ 821A360
return
LilycoveCity_ContestLobby_EventScript_21A3A2:: @ 821A3A2
- clearflag FLAG_0x308
+ clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1
return
LilycoveCity_ContestLobby_EventScript_21A3A6:: @ 821A3A6
- clearflag FLAG_0x309
+ clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2
return
LilycoveCity_ContestLobby_EventScript_21A3AA:: @ 821A3AA
- clearflag FLAG_0x30A
+ clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3
return
LilycoveCity_ContestLobby_EventScript_21A3AE:: @ 821A3AE
- clearflag FLAG_0x30B
+ clearflag FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4
return
LilycoveCity_ContestLobby_EventScript_21A3B2:: @ 821A3B2
- clearflag FLAG_0x30C
+ clearflag FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
return
LilycoveCity_ContestLobby_EventScript_21A3B6:: @ 821A3B6
@@ -202,7 +202,7 @@ LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E
step_end
LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427
- checkflag FLAG_0x307
+ checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
goto_eq LilycoveCity_ContestLobby_EventScript_21A436
setvar VAR_0x4099, 0
end
@@ -214,11 +214,11 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436
waitmovement 11
applymovement 255, LilycoveCity_ContestLobby_Movement_21A545
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21ADB9, 4
+ msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT
lockall
fadescreen 1
drawcontestwinner 0
- msgbox LilycoveCity_ContestLobby_Text_21AE78, 5
+ msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_21A47A
compare VAR_RESULT, 0
@@ -226,11 +226,11 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436
end
LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
- msgbox LilycoveCity_ContestLobby_Text_21AF63, 4
+ msgbox LilycoveCity_ContestLobby_Text_21AF63, MSGBOX_DEFAULT
closemessage
special sub_80F88DC
setvar VAR_0x4099, 0
- specialvar VAR_RESULT, sub_80F8C7C
+ specialvar VAR_RESULT, GiveMonArtistRibbon
compare VAR_RESULT, 1
call_if 1, LilycoveCity_ContestLobby_EventScript_21A4E4
applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
@@ -242,10 +242,10 @@ LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
end
LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4
- msgbox LilycoveCity_ContestLobby_Text_21B0BC, 5
+ msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_21A47A
- msgbox LilycoveCity_ContestLobby_Text_21B132, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT
closemessage
applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
waitmovement 0
@@ -265,12 +265,12 @@ LilycoveCity_ContestLobby_EventScript_21A4E4:: @ 821A4E4
waitmovement 0
applymovement 11, LilycoveCity_ContestLobby_Movement_21A54B
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_21B030, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B030, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- msgbox LilycoveCity_ContestLobby_Text_21B07E, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B07E, MSGBOX_DEFAULT
waitfanfare
- msgbox LilycoveCity_ContestLobby_Text_21B094, 4
- msgbox LilycoveCity_ContestLobby_Text_21B0AD, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B094, MSGBOX_DEFAULT
+ msgbox LilycoveCity_ContestLobby_Text_21B0AD, MSGBOX_DEFAULT
closemessage
return
@@ -324,7 +324,7 @@ LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554
goto_eq LilycoveCity_ContestLobby_EventScript_21A5CF
call LilycoveCity_ContestLobby_EventScript_279CC5
call LilycoveCity_ContestLobby_EventScript_21A670
- special sub_80F87D8
+ special SetContestTrainerGfxIds
call LilycoveCity_ContestLobby_EventScript_23BEB6
call LilycoveCity_ContestLobby_EventScript_21A585
call LilycoveCity_ContestLobby_EventScript_21A5EF
@@ -356,7 +356,7 @@ LilycoveCity_ContestLobby_EventScript_21A5C9:: @ 821A5C9
return
LilycoveCity_ContestLobby_EventScript_21A5CF:: @ 821A5CF
- setflag FLAG_0x307
+ setflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
copyvar VAR_0x4094, 0x1
giveitem ITEM_CONTEST_PASS, 1
setvar VAR_0x800B, 8
@@ -424,7 +424,7 @@ LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670
waitmovement 0
applymovement 255, LilycoveCity_ContestLobby_Movement_21A6F2
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_27B653, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B653, MSGBOX_DEFAULT
closemessage
applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD
applymovement 255, LilycoveCity_ContestLobby_Movement_21A6E8
@@ -477,27 +477,27 @@ LilycoveCity_ContestLobby_Movement_21A706: @ 821A706
step_end
LilycoveCity_ContestLobby_EventScript_21A708:: @ 821A708
- msgbox LilycoveCity_ContestLobby_Text_21B1B1, 2
+ msgbox LilycoveCity_ContestLobby_Text_21B1B1, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A711:: @ 821A711
- msgbox LilycoveCity_ContestLobby_Text_21B24D, 2
+ msgbox LilycoveCity_ContestLobby_Text_21B24D, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A71A:: @ 821A71A
- msgbox LilycoveCity_ContestLobby_Text_21B2BA, 2
+ msgbox LilycoveCity_ContestLobby_Text_21B2BA, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A723:: @ 821A723
- msgbox LilycoveCity_ContestLobby_Text_21B334, 2
+ msgbox LilycoveCity_ContestLobby_Text_21B334, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A72C:: @ 821A72C
- msgbox LilycoveCity_ContestLobby_Text_21B392, 2
+ msgbox LilycoveCity_ContestLobby_Text_21B392, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A735:: @ 821A735
- msgbox LilycoveCity_ContestLobby_Text_21B3FC, 2
+ msgbox LilycoveCity_ContestLobby_Text_21B3FC, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A73E:: @ 821A73E
@@ -543,11 +543,11 @@ LilycoveCity_ContestLobby_EventScript_21A761:: @ 821A761
end
LilycoveCity_ContestLobby_EventScript_21A768:: @ 821A768
- msgbox LilycoveCity_ContestLobby_Text_2931AA, 2
+ msgbox LilycoveCity_ContestLobby_Text_2931AA, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A771:: @ 821A771
- msgbox LilycoveCity_ContestLobby_Text_2931C6, 2
+ msgbox LilycoveCity_ContestLobby_Text_2931C6, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A
@@ -562,7 +562,7 @@ LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784
lockall
setvar VAR_0x8004, 7
setvar VAR_0x8005, 7
- special sub_81A1780
+ special CallFrontierUtilFunc
waitbuttonpress
special RemoveRecordsWindow
releaseall
@@ -571,46 +571,46 @@ LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784
LilycoveCity_ContestLobby_EventScript_21A798:: @ 821A798
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C427C, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C427C, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A7F9
end
LilycoveCity_ContestLobby_EventScript_21A7A8:: @ 821A7A8
lock
- msgbox LilycoveCity_ContestLobby_Text_2C464B, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C464B, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21A7B3:: @ 821A7B3
lock
- msgbox LilycoveCity_ContestLobby_Text_2C465A, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C465A, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21A7BE:: @ 821A7BE
lock
- msgbox LilycoveCity_ContestLobby_Text_2C4669, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C4669, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21A7C9:: @ 821A7C9
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C4679, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C4679, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A7F9
end
LilycoveCity_ContestLobby_EventScript_21A7D9:: @ 821A7D9
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C46B1, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C46B1, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A7F9
end
LilycoveCity_ContestLobby_EventScript_21A7E9:: @ 821A7E9
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_2C4763, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C4763, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A7F9
end
@@ -625,7 +625,7 @@ LilycoveCity_ContestLobby_EventScript_21A806:: @ 821A806
special sub_80F9154
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_27C063, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C063, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A819
end
@@ -641,7 +641,7 @@ LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819
end
LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856
- msgbox LilycoveCity_ContestLobby_Text_27BD17, 5
+ msgbox LilycoveCity_ContestLobby_Text_27BD17, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
call LilycoveCity_ContestLobby_EventScript_27134F
@@ -694,28 +694,28 @@ LilycoveCity_ContestLobby_EventScript_21A90D:: @ 821A90D
end
LilycoveCity_ContestLobby_EventScript_21A955:: @ 821A955
- msgbox LilycoveCity_ContestLobby_Text_27C340, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C340, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A90D
end
LilycoveCity_ContestLobby_EventScript_21A963:: @ 821A963
- msgbox LilycoveCity_ContestLobby_Text_27C5B1, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C5B1, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A90D
end
LilycoveCity_ContestLobby_EventScript_21A971:: @ 821A971
- msgbox LilycoveCity_ContestLobby_Text_27C742, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C742, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A90D
end
LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4
+ msgbox LilycoveCity_ContestLobby_Text_27BD4F, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C
- msgbox LilycoveCity_ContestLobby_Text_27C1C3, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C1C3, MSGBOX_DEFAULT
setvar VAR_CONTEST_RANK, 0
choosecontestmon
compare VAR_0x8004, 255
@@ -734,17 +734,17 @@ LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C
end
LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0
- msgbox LilycoveCity_ContestLobby_Text_27B471, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B471, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A98C
end
LilycoveCity_ContestLobby_EventScript_21A9EE:: @ 821A9EE
- msgbox LilycoveCity_ContestLobby_Text_27C186, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C186, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A98C
end
LilycoveCity_ContestLobby_EventScript_21A9FC:: @ 821A9FC
- msgbox LilycoveCity_ContestLobby_Text_27C140, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C140, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A98C
end
@@ -796,34 +796,34 @@ LilycoveCity_ContestLobby_EventScript_21AAC0:: @ 821AAC0
return
LilycoveCity_ContestLobby_EventScript_21AAC5:: @ 821AAC5
- msgbox LilycoveCity_ContestLobby_Text_27BF0E, 4
+ msgbox LilycoveCity_ContestLobby_Text_27BF0E, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A97F
end
LilycoveCity_ContestLobby_EventScript_21AAD3:: @ 821AAD3
- msgbox LilycoveCity_ContestLobby_Text_27BF4B, 4
+ msgbox LilycoveCity_ContestLobby_Text_27BF4B, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A97F
end
LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1
- msgbox LilycoveCity_ContestLobby_Text_27C254, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C254, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A97F
end
LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27821C, 4
+ msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27C879, 4
+ msgbox LilycoveCity_ContestLobby_Text_27C879, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21AB09:: @ 821AB09
- msgbox LilycoveCity_ContestLobby_Text_27BEFA, 4
+ msgbox LilycoveCity_ContestLobby_Text_27BEFA, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_21A97F
end
@@ -1008,12 +1008,12 @@ LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1
faceplayer
checkflag FLAG_0x05F
goto_eq LilycoveCity_ContestLobby_EventScript_21AD06
- msgbox LilycoveCity_ContestLobby_Text_21AD10, 4
+ msgbox LilycoveCity_ContestLobby_Text_21AD10, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_21AD06:: @ 821AD06
- msgbox LilycoveCity_ContestLobby_Text_21AD55, 4
+ msgbox LilycoveCity_ContestLobby_Text_21AD55, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
index 3468299a9..9b434a0c2 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
@@ -7,10 +7,10 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189
goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA
checkflag FLAG_BADGE07_GET
goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, MSGBOX_DEFAULT
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_21831E, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_21831E, MSGBOX_DEFAULT
closemessage
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2
waitmovement 0
@@ -18,10 +18,10 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189
end
LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3:: @ 82181C3
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_2183C3, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_2183C3, MSGBOX_DEFAULT
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_218470, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_218470, MSGBOX_DEFAULT
closemessage
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2
waitmovement 0
@@ -29,10 +29,10 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3:: @ 82181C3
end
LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA:: @ 82181EA
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_218544, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_218544, MSGBOX_DEFAULT
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_2185F4, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_2185F4, MSGBOX_DEFAULT
closemessage
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2
waitmovement 0
@@ -48,7 +48,7 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211
waitmovement 0
applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA
waitmovement 0
- msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, 4
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT
closemessage
applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_218259
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc
index 810fe5af9..d7e508ec6 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/events.inc
@@ -1,11 +1,11 @@
LilycoveCity_CoveLilyMotel_2F_EventObjects: @ 8531188
- object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3, 925
- object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218729, 925
- object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218732, 925
- object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218720, 925
- object_event 5, EVENT_OBJ_GFX_GAMEBOY_KID, 0, 7, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218744, 925
- object_event 6, EVENT_OBJ_GFX_WOMAN_2, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21873B, 925
- object_event 7, EVENT_OBJ_GFX_SCOTT, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21874D, 787
+ object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3, FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218729, FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218732, FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218720, FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ object_event 5, EVENT_OBJ_GFX_GAMEBOY_KID, 0, 7, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218744, FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ object_event 6, EVENT_OBJ_GFX_WOMAN_2, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21873B, FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
+ object_event 7, EVENT_OBJ_GFX_SCOTT, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21874D, FLAG_HIDE_LILCOVE_MOTEL_SCOTT
LilycoveCity_CoveLilyMotel_2F_MapWarps: @ 8531230
warp_def 2, 1, 0, 2, MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
index 90769b550..f92df5b42 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
@@ -4,9 +4,9 @@ LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2
LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3
lock
faceplayer
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
specialvar VAR_RESULT, sub_80C08E4
compare VAR_RESULT, 1
@@ -15,11 +15,11 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3
end
LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9:: @ 82186F9
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218774, 4
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218774, MSGBOX_DEFAULT
return
LilycoveCity_CoveLilyMotel_2F_EventScript_218702:: @ 8218702
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
playfanfare MUS_FANFA4
waitfanfare
goto LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
@@ -35,23 +35,23 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F
end
LilycoveCity_CoveLilyMotel_2F_EventScript_218720:: @ 8218720
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_2188D6, 2
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_2188D6, MSGBOX_NPC
end
LilycoveCity_CoveLilyMotel_2F_EventScript_218729:: @ 8218729
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_21892B, 2
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_21892B, MSGBOX_NPC
end
LilycoveCity_CoveLilyMotel_2F_EventScript_218732:: @ 8218732
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_21896C, 2
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_21896C, MSGBOX_NPC
end
LilycoveCity_CoveLilyMotel_2F_EventScript_21873B:: @ 821873B
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A21, 2
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A21, MSGBOX_NPC
end
LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A5B, 2
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A5B, MSGBOX_NPC
end
LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D
@@ -59,14 +59,14 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D
faceplayer
checkflag FLAG_0x1CE
goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_21876A
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, 4
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x1CE
release
end
LilycoveCity_CoveLilyMotel_2F_EventScript_21876A:: @ 821876A
- msgbox LilycoveCity_CoveLilyMotel_2F_Text_218C33, 4
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218C33, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
index 372d16dae..bcc3649e2 100644
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
@@ -5,7 +5,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624
lock
faceplayer
setvar VAR_0x8004, 0
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC
copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR
special sub_8139B60
@@ -120,7 +120,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5
waitse
special ShakeScreenInElevator
waitstate
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
return
LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc
index 5d0b88445..594a439ce 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/events.inc
@@ -1,7 +1,7 @@
LilycoveCity_DepartmentStoreRooftop_EventObjects: @ 853241C
object_event 1, EVENT_OBJ_GFX_MAN_2, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220268, 0
object_event 2, EVENT_OBJ_GFX_MAN_3, 0, 7, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22028C, 0
- object_event 3, EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22022F, 962
+ object_event 3, EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22022F, FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN
object_event 4, EVENT_OBJ_GFX_WOMAN_3, 0, 15, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186, 0
LilycoveCity_DepartmentStoreRooftop_MapWarps: @ 853247C
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
index da97bbf81..e683b8d07 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
@@ -11,11 +11,11 @@ LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D: @ 822020D
end
LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227
- clearflag FLAG_0x3C2
+ clearflag FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN
return
LilycoveCity_DepartmentStoreRooftop_EventScript_22022B:: @ 822022B
- setflag FLAG_0x3C2
+ setflag FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN
return
LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F
@@ -24,7 +24,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F
message gUnknown_08272A21
waitmessage
pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -54,17 +54,17 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268
getpricereduction 3
compare VAR_RESULT, 1
call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220282
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStoreRooftop_EventScript_220282:: @ 8220282
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2204C9, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2204C9, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStoreRooftop_EventScript_22028C:: @ 822028C
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_220552, 2
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_220552, MSGBOX_NPC
end
LilycoveCity_DepartmentStoreRooftop_EventScript_220295:: @ 8220295
@@ -82,7 +82,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6
case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4
case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF
case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_220603, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_220603, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
end
@@ -147,11 +147,11 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
nop
bufferitemname 0, VAR_TEMP_0
playse SE_JIHANKI
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, MSGBOX_DEFAULT
giveitem VAR_TEMP_0, 1
bufferitemname 1, VAR_TEMP_0
bufferstdstring 2, 14
- msgbox gUnknown_08272A9A, 4
+ msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
random 64
compare VAR_RESULT, 0
goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436
@@ -159,11 +159,11 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
compare VAR_RESULT, 0
goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
playse SE_JIHANKI
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT
giveitem VAR_TEMP_0, 1
bufferitemname 1, VAR_TEMP_0
bufferstdstring 2, 14
- msgbox gUnknown_08272A9A, 4
+ msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
random 64
compare VAR_RESULT, 0
goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436
@@ -171,11 +171,11 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
compare VAR_RESULT, 0
goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
playse SE_JIHANKI
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT
giveitem VAR_TEMP_0, 1
bufferitemname 1, VAR_TEMP_0
bufferstdstring 2, 14
- msgbox gUnknown_08272A9A, 4
+ msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436
end
@@ -186,12 +186,12 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220436:: @ 8220436
end
LilycoveCity_DepartmentStoreRooftop_EventScript_220442:: @ 8220442
- msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205F1, 4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205F1, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
end
LilycoveCity_DepartmentStoreRooftop_EventScript_220450:: @ 8220450
- msgbox gUnknown_08272A89, 4
+ msgbox gUnknown_08272A89, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
end
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
index 4a375cf5e..942adedc8 100644
--- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
@@ -2,7 +2,7 @@ LilycoveCity_DepartmentStore_1F_MapScripts:: @ 821F692
.byte 0
LilycoveCity_DepartmentStore_1F_EventScript_21F693:: @ 821F693
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F866, 2
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F866, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
@@ -13,7 +13,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_21F7F7
checkflag FLAG_0x92A
goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F78D
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, 5
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797
setflag FLAG_0x92A
@@ -22,7 +22,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
special RetrieveLotteryNumber
copyvar VAR_0x8008, VAR_RESULT
special BufferLottoTicketNumber
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, MSGBOX_DEFAULT
applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_2725A8
waitmovement 0
playse SE_PC_ON
@@ -57,47 +57,47 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
end
LilycoveCity_DepartmentStore_1F_EventScript_21F77B:: @ 821F77B
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6592, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6592, MSGBOX_DEFAULT
return
LilycoveCity_DepartmentStore_1F_EventScript_21F784:: @ 821F784
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A65E6, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A65E6, MSGBOX_DEFAULT
return
LilycoveCity_DepartmentStore_1F_EventScript_21F78D:: @ 821F78D
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6496, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6496, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStore_1F_EventScript_21F797:: @ 821F797
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A64B1, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A64B1, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStore_1F_EventScript_21F7A1:: @ 821F7A1
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A663C, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A663C, MSGBOX_DEFAULT
goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF
end
LilycoveCity_DepartmentStore_1F_EventScript_21F7AF:: @ 821F7AF
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6831, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6831, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStore_1F_EventScript_21F7B9:: @ 821F7B9
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6664, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6664, MSGBOX_DEFAULT
return
LilycoveCity_DepartmentStore_1F_EventScript_21F7C2:: @ 821F7C2
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A66A7, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A66A7, MSGBOX_DEFAULT
return
LilycoveCity_DepartmentStore_1F_EventScript_21F7CB:: @ 821F7CB
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A66ED, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A66ED, MSGBOX_DEFAULT
return
LilycoveCity_DepartmentStore_1F_EventScript_21F7D4:: @ 821F7D4
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A6731, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6731, MSGBOX_DEFAULT
return
LilycoveCity_DepartmentStore_1F_EventScript_21F7DD:: @ 821F7DD
@@ -107,12 +107,12 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F7DD:: @ 821F7DD
end
LilycoveCity_DepartmentStore_1F_EventScript_21F7ED:: @ 821F7ED
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A678C, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A678C, MSGBOX_DEFAULT
release
end
LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7
- msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, MSGBOX_DEFAULT
giveitem_std VAR_POKELOT_PRIZE
compare VAR_RESULT, 0
goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
@@ -125,15 +125,15 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7
end
LilycoveCity_DepartmentStore_1F_EventScript_21F82F:: @ 821F82F
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F88C, 2
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F88C, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_1F_EventScript_21F838:: @ 821F838
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F8F5, 2
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F8F5, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_1F_EventScript_21F841:: @ 821F841
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F92B, 2
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F92B, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_1F_EventScript_21F84A:: @ 821F84A
@@ -141,13 +141,13 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F84A:: @ 821F84A
faceplayer
waitse
playmoncry SPECIES_AZUMARILL, 0
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F974, 4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F974, MSGBOX_DEFAULT
waitmoncry
release
end
LilycoveCity_DepartmentStore_1F_EventScript_21F85D:: @ 821F85D
- msgbox LilycoveCity_DepartmentStore_1F_Text_21F98A, 3
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F98A, MSGBOX_SIGN
end
LilycoveCity_DepartmentStore_1F_Text_21F866: @ 821F866
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc
index 8bc6d8b29..ca163acdd 100644
--- a/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/scripts.inc
@@ -2,15 +2,15 @@ LilycoveCity_DepartmentStore_2F_MapScripts:: @ 821FB2C
.byte 0
LilycoveCity_DepartmentStore_2F_EventScript_21FB2D:: @ 821FB2D
- msgbox LilycoveCity_DepartmentStore_2F_Text_21FBAC, 2
+ msgbox LilycoveCity_DepartmentStore_2F_Text_21FBAC, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_2F_EventScript_21FB36:: @ 821FB36
- msgbox LilycoveCity_DepartmentStore_2F_Text_21FBDF, 2
+ msgbox LilycoveCity_DepartmentStore_2F_Text_21FBDF, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_2F_EventScript_21FB3F:: @ 821FB3F
- msgbox LilycoveCity_DepartmentStore_2F_Text_21FC23, 2
+ msgbox LilycoveCity_DepartmentStore_2F_Text_21FC23, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_2F_EventScript_21FB48:: @ 821FB48
@@ -19,7 +19,7 @@ LilycoveCity_DepartmentStore_2F_EventScript_21FB48:: @ 821FB48
message gUnknown_08272A21
waitmessage
pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB60
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -46,7 +46,7 @@ LilycoveCity_DepartmentStore_2F_EventScript_21FB7A:: @ 821FB7A
message gUnknown_08272A21
waitmessage
pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB94
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc
index 1d980f83e..8ecf415cd 100644
--- a/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/scripts.inc
@@ -7,7 +7,7 @@ LilycoveCity_DepartmentStore_3F_EventScript_21FC65:: @ 821FC65
message gUnknown_08272A21
waitmessage
pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -28,7 +28,7 @@ LilycoveCity_DepartmentStore_3F_EventScript_21FC8C:: @ 821FC8C
message gUnknown_08272A21
waitmessage
pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -46,15 +46,15 @@ LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4
end
LilycoveCity_DepartmentStore_3F_EventScript_21FCB6:: @ 821FCB6
- msgbox LilycoveCity_DepartmentStore_3F_Text_21FCD1, 2
+ msgbox LilycoveCity_DepartmentStore_3F_Text_21FCD1, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_3F_EventScript_21FCBF:: @ 821FCBF
- msgbox LilycoveCity_DepartmentStore_3F_Text_21FD3B, 2
+ msgbox LilycoveCity_DepartmentStore_3F_Text_21FD3B, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_3F_EventScript_21FCC8:: @ 821FCC8
- msgbox LilycoveCity_DepartmentStore_3F_Text_21FDB4, 2
+ msgbox LilycoveCity_DepartmentStore_3F_Text_21FDB4, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_3F_Text_21FCD1: @ 821FCD1
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc
index b162c4740..cee1cb0b7 100644
--- a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc
@@ -2,15 +2,15 @@ LilycoveCity_DepartmentStore_4F_MapScripts:: @ 821FDEA
.byte 0
LilycoveCity_DepartmentStore_4F_EventScript_21FDEB:: @ 821FDEB
- msgbox LilycoveCity_DepartmentStore_4F_Text_21FE50, 2
+ msgbox LilycoveCity_DepartmentStore_4F_Text_21FE50, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_4F_EventScript_21FDF4:: @ 821FDF4
- msgbox LilycoveCity_DepartmentStore_4F_Text_21FEC7, 2
+ msgbox LilycoveCity_DepartmentStore_4F_Text_21FEC7, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_4F_EventScript_21FDFD:: @ 821FDFD
- msgbox LilycoveCity_DepartmentStore_4F_Text_21FF2D, 2
+ msgbox LilycoveCity_DepartmentStore_4F_Text_21FF2D, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_4F_EventScript_21FE06:: @ 821FE06
@@ -19,7 +19,7 @@ LilycoveCity_DepartmentStore_4F_EventScript_21FE06:: @ 821FE06
message gUnknown_08272A21
waitmessage
pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE20
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -39,7 +39,7 @@ LilycoveCity_DepartmentStore_4F_EventScript_21FE2C:: @ 821FE2C
message gUnknown_08272A21
waitmessage
pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE44
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
index d5f5e49ad..b7155e9e4 100644
--- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
@@ -19,7 +19,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6
message gUnknown_08272A21
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -47,7 +47,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_21FFDC:: @ 821FFDC
message gUnknown_08272A21
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -72,7 +72,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_22000A:: @ 822000A
message gUnknown_08272A21
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220024
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -97,7 +97,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_22003A:: @ 822003A
message gUnknown_08272A21
waitmessage
pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220054
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -118,7 +118,7 @@ LilycoveCity_DepartmentStore_5F_Pokemart_220054: @ 8220054
end
LilycoveCity_DepartmentStore_5F_EventScript_22006C:: @ 822006C
- msgbox LilycoveCity_DepartmentStore_5F_Text_2200C5, 2
+ msgbox LilycoveCity_DepartmentStore_5F_Text_2200C5, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075
@@ -133,13 +133,13 @@ LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075
end
LilycoveCity_DepartmentStore_5F_EventScript_22009C:: @ 822009C
- msgbox LilycoveCity_DepartmentStore_5F_Text_22016B, 4
+ msgbox LilycoveCity_DepartmentStore_5F_Text_22016B, MSGBOX_DEFAULT
closemessage
releaseall
end
LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7
- msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, 4
+ msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, MSGBOX_DEFAULT
closemessage
applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_2725A6
waitmovement 0
@@ -147,7 +147,7 @@ LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7
end
LilycoveCity_DepartmentStore_5F_EventScript_2200BC:: @ 82200BC
- msgbox LilycoveCity_DepartmentStore_5F_Text_220122, 2
+ msgbox LilycoveCity_DepartmentStore_5F_Text_220122, MSGBOX_NPC
end
LilycoveCity_DepartmentStore_5F_Text_2200C5: @ 82200C5
diff --git a/data/maps/LilycoveCity_Harbor/events.inc b/data/maps/LilycoveCity_Harbor/events.inc
index 7828d58a4..4f69e4fc6 100644
--- a/data/maps/LilycoveCity_Harbor/events.inc
+++ b/data/maps/LilycoveCity_Harbor/events.inc
@@ -1,9 +1,9 @@
LilycoveCity_Harbor_EventObjects: @ 8531E1C
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_Harbor_EventScript_21E00F, 908
- object_event 2, EVENT_OBJ_GFX_SS_TIDAL, 0, 8, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 861
+ object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_Harbor_EventScript_21E00F, FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT
+ object_event 2, EVENT_OBJ_GFX_SS_TIDAL, 0, 8, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL
object_event 3, EVENT_OBJ_GFX_SAILOR, 0, 3, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_Harbor_EventScript_21E637, 0
- object_event 4, EVENT_OBJ_GFX_SAILOR, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 909
- object_event 5, EVENT_OBJ_GFX_EXPERT_M, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 748
+ object_event 4, EVENT_OBJ_GFX_SAILOR, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR
+ object_event 5, EVENT_OBJ_GFX_EXPERT_M, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER
LilycoveCity_Harbor_MapWarps: @ 8531E94
warp_def 11, 14, 0, 12, MAP_LILYCOVE_CITY
diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc
index 99ad20280..e537acb92 100644
--- a/data/maps/LilycoveCity_Harbor/scripts.inc
+++ b/data/maps/LilycoveCity_Harbor/scripts.inc
@@ -35,7 +35,7 @@ LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F
LilycoveCity_Harbor_EventScript_21E080:: @ 821E080
compare VAR_TEMP_A, 0
goto_eq LilycoveCity_Harbor_EventScript_21E557
- msgbox LilycoveCity_Harbor_Text_21E758, 4
+ msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT
message LilycoveCity_Harbor_Text_21E7ED
waitmessage
goto LilycoveCity_Harbor_EventScript_21E09F
@@ -86,7 +86,7 @@ LilycoveCity_Harbor_EventScript_21E139:: @ 821E139
end
LilycoveCity_Harbor_EventScript_21E149:: @ 821E149
- msgbox LilycoveCity_Harbor_Text_21E864, 5
+ msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_Harbor_EventScript_21E5C0
setvar VAR_PORTHOLE_STATE, 5
@@ -97,7 +97,7 @@ LilycoveCity_Harbor_EventScript_21E149:: @ 821E149
end
LilycoveCity_Harbor_EventScript_21E171:: @ 821E171
- msgbox LilycoveCity_Harbor_Text_21E880, 5
+ msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_Harbor_EventScript_21E5C0
call LilycoveCity_Harbor_EventScript_21E5CC
@@ -216,10 +216,10 @@ LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA
LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0
setflag FLAG_0x1AE
- msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
closemessage
call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2A68FC, 4
+ msgbox LilycoveCity_Harbor_Text_2A68FC, MSGBOX_DEFAULT
goto LilycoveCity_Harbor_EventScript_21E30F
end
@@ -233,10 +233,10 @@ LilycoveCity_Harbor_EventScript_21E30F:: @ 821E30F
LilycoveCity_Harbor_EventScript_21E320:: @ 821E320
setflag FLAG_0x1AF
- msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
closemessage
call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2C6A71, 4
+ msgbox LilycoveCity_Harbor_Text_2C6A71, MSGBOX_DEFAULT
goto LilycoveCity_Harbor_EventScript_21E33F
end
@@ -250,10 +250,10 @@ LilycoveCity_Harbor_EventScript_21E33F:: @ 821E33F
LilycoveCity_Harbor_EventScript_21E350:: @ 821E350
setflag FLAG_0x1B0
- msgbox LilycoveCity_Harbor_Text_2A6848, 4
+ msgbox LilycoveCity_Harbor_Text_2A6848, MSGBOX_DEFAULT
closemessage
call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2C68A5, 4
+ msgbox LilycoveCity_Harbor_Text_2C68A5, MSGBOX_DEFAULT
closemessage
applymovement 4, LilycoveCity_Harbor_Movement_2725A6
waitmovement 0
@@ -271,12 +271,12 @@ LilycoveCity_Harbor_EventScript_21E350:: @ 821E350
call_if 1, LilycoveCity_Harbor_EventScript_21E675
compare VAR_FACING, 4
call_if 1, LilycoveCity_Harbor_EventScript_21E680
- msgbox LilycoveCity_Harbor_Text_2C6951, 4
+ msgbox LilycoveCity_Harbor_Text_2C6951, MSGBOX_DEFAULT
compare VAR_FACING, 2
call_if 1, LilycoveCity_Harbor_EventScript_21E68B
compare VAR_FACING, 4
call_if 1, LilycoveCity_Harbor_EventScript_21E696
- msgbox LilycoveCity_Harbor_Text_2C69AA, 4
+ msgbox LilycoveCity_Harbor_Text_2C69AA, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, LilycoveCity_Harbor_EventScript_21E6A1
@@ -299,10 +299,10 @@ LilycoveCity_Harbor_EventScript_21E40C:: @ 821E40C
LilycoveCity_Harbor_EventScript_21E41D:: @ 821E41D
setflag FLAG_0x1DB
- msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
closemessage
call LilycoveCity_Harbor_EventScript_21E4EE
- msgbox LilycoveCity_Harbor_Text_2C6A71, 4
+ msgbox LilycoveCity_Harbor_Text_2C6A71, MSGBOX_DEFAULT
goto LilycoveCity_Harbor_EventScript_21E43C
end
@@ -315,7 +315,7 @@ LilycoveCity_Harbor_EventScript_21E43C:: @ 821E43C
end
LilycoveCity_Harbor_EventScript_21E44D:: @ 821E44D
- msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ msgbox LilycoveCity_Harbor_Text_2A68D2, MSGBOX_DEFAULT
closemessage
call LilycoveCity_Harbor_EventScript_21E4EE
message LilycoveCity_Harbor_Text_2C6BD4
@@ -335,7 +335,7 @@ LilycoveCity_Harbor_EventScript_21E44D:: @ 821E44D
end
LilycoveCity_Harbor_EventScript_21E4B6:: @ 821E4B6
- msgbox LilycoveCity_Harbor_Text_2A6A82, 4
+ msgbox LilycoveCity_Harbor_Text_2A6A82, MSGBOX_DEFAULT
closemessage
applymovement 4, LilycoveCity_Harbor_Movement_2725A6
waitmovement 0
@@ -346,7 +346,7 @@ LilycoveCity_Harbor_EventScript_21E4B6:: @ 821E4B6
waitmovement 0
showobjectat 1, MAP_LILYCOVE_CITY_HARBOR
delay 30
- msgbox LilycoveCity_Harbor_Text_21E842, 4
+ msgbox LilycoveCity_Harbor_Text_21E842, MSGBOX_DEFAULT
release
end
@@ -378,24 +378,24 @@ LilycoveCity_Harbor_EventScript_21E514:: @ 821E514
return
LilycoveCity_Harbor_EventScript_21E54D:: @ 821E54D
- msgbox LilycoveCity_Harbor_Text_21E6F1, 4
+ msgbox LilycoveCity_Harbor_Text_21E6F1, MSGBOX_DEFAULT
release
end
LilycoveCity_Harbor_EventScript_21E557:: @ 821E557
- msgbox LilycoveCity_Harbor_Text_21E758, 4
+ msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT
message LilycoveCity_Harbor_Text_21E7ED
waitmessage
goto LilycoveCity_Harbor_EventScript_21E09F
end
LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B
- msgbox LilycoveCity_Harbor_Text_21E792, 4
+ msgbox LilycoveCity_Harbor_Text_21E792, MSGBOX_DEFAULT
release
end
LilycoveCity_Harbor_EventScript_21E575:: @ 821E575
- msgbox LilycoveCity_Harbor_Text_21E864, 5
+ msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_Harbor_EventScript_21E5C0
setvar VAR_PORTHOLE_STATE, 5
@@ -406,7 +406,7 @@ LilycoveCity_Harbor_EventScript_21E575:: @ 821E575
end
LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D
- msgbox LilycoveCity_Harbor_Text_21E880, 5
+ msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_Harbor_EventScript_21E5C0
call LilycoveCity_Harbor_EventScript_21E5CC
@@ -422,7 +422,7 @@ LilycoveCity_Harbor_EventScript_21E5C0:: @ 821E5C0
end
LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC
- msgbox LilycoveCity_Harbor_Text_21E89D, 4
+ msgbox LilycoveCity_Harbor_Text_21E89D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, LilycoveCity_Harbor_Movement_2725A6
waitmovement 0
@@ -449,7 +449,7 @@ LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B
return
LilycoveCity_Harbor_EventScript_21E626:: @ 821E626
- msgbox LilycoveCity_Harbor_Text_21E842, 4
+ msgbox LilycoveCity_Harbor_Text_21E842, MSGBOX_DEFAULT
release
end
@@ -471,12 +471,12 @@ LilycoveCity_Harbor_EventScript_21E637:: @ 821E637
faceplayer
checkflag FLAG_SYS_GAME_CLEAR
goto_eq LilycoveCity_Harbor_EventScript_21E64C
- msgbox LilycoveCity_Harbor_Text_21E8EE, 4
+ msgbox LilycoveCity_Harbor_Text_21E8EE, MSGBOX_DEFAULT
release
end
LilycoveCity_Harbor_EventScript_21E64C:: @ 821E64C
- msgbox LilycoveCity_Harbor_Text_21E976, 4
+ msgbox LilycoveCity_Harbor_Text_21E976, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_House1/scripts.inc b/data/maps/LilycoveCity_House1/scripts.inc
index 59418e667..1484a6a1f 100644
--- a/data/maps/LilycoveCity_House1/scripts.inc
+++ b/data/maps/LilycoveCity_House1/scripts.inc
@@ -2,7 +2,7 @@ LilycoveCity_House1_MapScripts:: @ 821ECCD
.byte 0
LilycoveCity_House1_EventScript_21ECCE:: @ 821ECCE
- msgbox LilycoveCity_House1_Text_21ECEA, 2
+ msgbox LilycoveCity_House1_Text_21ECEA, MSGBOX_NPC
end
LilycoveCity_House1_EventScript_21ECD7:: @ 821ECD7
@@ -10,7 +10,7 @@ LilycoveCity_House1_EventScript_21ECD7:: @ 821ECD7
faceplayer
waitse
playmoncry SPECIES_KECLEON, 0
- msgbox LilycoveCity_House1_Text_21ED63, 4
+ msgbox LilycoveCity_House1_Text_21ED63, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc
index 486df9be0..2a78e6df5 100644
--- a/data/maps/LilycoveCity_House2/scripts.inc
+++ b/data/maps/LilycoveCity_House2/scripts.inc
@@ -6,17 +6,17 @@ LilycoveCity_House2_EventScript_21ED75:: @ 821ED75
faceplayer
checkflag FLAG_0x0EA
goto_eq LilycoveCity_House2_EventScript_21EDAC
- msgbox LilycoveCity_House2_Text_21EDB6, 4
+ msgbox LilycoveCity_House2_Text_21EDB6, MSGBOX_DEFAULT
giveitem_std ITEM_TM44
compare VAR_RESULT, 0
goto_eq LilycoveCity_House2_EventScript_272054
setflag FLAG_0x0EA
- msgbox LilycoveCity_House2_Text_21EDF9, 4
+ msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT
release
end
LilycoveCity_House2_EventScript_21EDAC:: @ 821EDAC
- msgbox LilycoveCity_House2_Text_21EDF9, 4
+ msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc
index 38210196e..a05403de3 100644
--- a/data/maps/LilycoveCity_House3/scripts.inc
+++ b/data/maps/LilycoveCity_House3/scripts.inc
@@ -10,10 +10,10 @@ LilycoveCity_House3_MapScript1_21EE42: @ 821EE42
LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B
lock
faceplayer
- msgbox LilycoveCity_House3_Text_21EF99, 5
+ msgbox LilycoveCity_House3_Text_21EF99, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_House3_EventScript_21EE75
- msgbox LilycoveCity_House3_Text_21F0F8, 4
+ msgbox LilycoveCity_House3_Text_21F0F8, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
waitmovement 0
@@ -21,7 +21,7 @@ LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B
end
LilycoveCity_House3_EventScript_21EE75:: @ 821EE75
- msgbox LilycoveCity_House3_Text_21F0A9, 4
+ msgbox LilycoveCity_House3_Text_21F0A9, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
waitmovement 0
@@ -31,7 +31,7 @@ LilycoveCity_House3_EventScript_21EE75:: @ 821EE75
LilycoveCity_House3_EventScript_21EE8A:: @ 821EE8A
lock
faceplayer
- msgbox LilycoveCity_House3_Text_21F430, 4
+ msgbox LilycoveCity_House3_Text_21F430, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
waitmovement 0
@@ -79,22 +79,22 @@ LilycoveCity_House3_EventScript_21EF3D:: @ 821EF3D
end
LilycoveCity_House3_EventScript_21EF71:: @ 821EF71
- msgbox LilycoveCity_House3_Text_21F4A7, 4
+ msgbox LilycoveCity_House3_Text_21F4A7, MSGBOX_DEFAULT
release
end
LilycoveCity_House3_EventScript_21EF7B:: @ 821EF7B
- msgbox LilycoveCity_House3_Text_21F4E0, 4
+ msgbox LilycoveCity_House3_Text_21F4E0, MSGBOX_DEFAULT
release
end
LilycoveCity_House3_EventScript_21EF85:: @ 821EF85
- msgbox LilycoveCity_House3_Text_21F523, 4
+ msgbox LilycoveCity_House3_Text_21F523, MSGBOX_DEFAULT
release
end
LilycoveCity_House3_EventScript_21EF8F:: @ 821EF8F
- msgbox LilycoveCity_House3_Text_21F55A, 4
+ msgbox LilycoveCity_House3_Text_21F55A, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_House4/scripts.inc b/data/maps/LilycoveCity_House4/scripts.inc
index 8bfdb2d48..e3feb8e25 100644
--- a/data/maps/LilycoveCity_House4/scripts.inc
+++ b/data/maps/LilycoveCity_House4/scripts.inc
@@ -2,11 +2,11 @@ LilycoveCity_House4_MapScripts:: @ 821F5B4
.byte 0
LilycoveCity_House4_EventScript_21F5B5:: @ 821F5B5
- msgbox LilycoveCity_House4_Text_21F5C7, 2
+ msgbox LilycoveCity_House4_Text_21F5C7, MSGBOX_NPC
end
LilycoveCity_House4_EventScript_21F5BE:: @ 821F5BE
- msgbox LilycoveCity_House4_Text_21F62B, 2
+ msgbox LilycoveCity_House4_Text_21F62B, MSGBOX_NPC
end
LilycoveCity_House4_Text_21F5C7: @ 821F5C7
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc
index ea9606936..52f7a2f9e 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/events.inc
@@ -1,14 +1,14 @@
LilycoveCity_LilycoveMuseum_1F_EventObjects: @ 853124C
object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 5, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9, 0
- object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 16, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2, 775
+ object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 16, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2, FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
object_event 3, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5, 0
object_event 4, EVENT_OBJ_GFX_ARTIST, 0, 13, 10, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE, 0
object_event 5, EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E07, 0
object_event 6, EVENT_OBJ_GFX_WOMAN_4, 0, 3, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E10, 0
- object_event 7, EVENT_OBJ_GFX_WOMAN_2, 0, 11, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E19, 776
- object_event 8, EVENT_OBJ_GFX_ARTIST, 0, 19, 3, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B, 779
- object_event 9, EVENT_OBJ_GFX_FAT_MAN, 0, 2, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E42, 780
- object_event 10, EVENT_OBJ_GFX_PSYCHIC_M, 0, 6, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E22, 778
+ object_event 7, EVENT_OBJ_GFX_WOMAN_2, 0, 11, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E19, FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1
+ object_event 8, EVENT_OBJ_GFX_ARTIST, 0, 19, 3, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B, FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4
+ object_event 9, EVENT_OBJ_GFX_FAT_MAN, 0, 2, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 2, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E42, FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
+ object_event 10, EVENT_OBJ_GFX_PSYCHIC_M, 0, 6, 2, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E22, FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3
LilycoveCity_LilycoveMuseum_1F_MapWarps: @ 853133C
warp_def 9, 13, 0, 3, MAP_LILYCOVE_CITY
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
index c2f3be7d6..9a7e466f0 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
@@ -2,7 +2,7 @@ LilycoveCity_LilycoveMuseum_1F_MapScripts:: @ 8218CB8
.byte 0
LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9:: @ 8218CB9
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218E4B, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218E4B, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2
@@ -18,11 +18,11 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F5C, 2
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F5C, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, 5
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14
compare VAR_RESULT, 1
@@ -30,12 +30,12 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_218FF8, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218FF8, MSGBOX_SIGN
releaseall
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219035, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219035, MSGBOX_SIGN
applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_218D99
waitmovement 0
removeobject 2
@@ -89,70 +89,70 @@ LilycoveCity_LilycoveMuseum_1F_Movement_218DA1: @ 8218DA1
step_end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4:: @ 8218DA4
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219080, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219080, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD:: @ 8218DAD
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190BF, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190BF, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6:: @ 8218DB6
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190F9, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190F9, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF:: @ 8218DBF
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219142, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219142, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8:: @ 8218DC8
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2191A2, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2191A2, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1:: @ 8218DD1
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21920D, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21920D, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA:: @ 8218DDA
LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA:: @ 8218DDA
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219260, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219260, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3:: @ 8218DE3
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2192AA, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2192AA, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC:: @ 8218DEC
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219311, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219311, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5:: @ 8218DF5
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2193B4, 2
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2193B4, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE:: @ 8218DFE
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21941A, 2
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21941A, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218E07:: @ 8218E07
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194BA, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194BA, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218E10:: @ 8218E10
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194E1, 3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194E1, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218E19:: @ 8218E19
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_219515, 2
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219515, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218E22:: @ 8218E22
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21959B, 2
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21959B, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B:: @ 8218E2B
lock
faceplayer
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_2195FF, 4
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2195FF, MSGBOX_DEFAULT
closemessage
applymovement 8, LilycoveCity_LilycoveMuseum_1F_Movement_2725A2
waitmovement 0
@@ -160,7 +160,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B:: @ 8218E2B
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218E42:: @ 8218E42
- msgbox LilycoveCity_LilycoveMuseum_1F_Text_21967A, 2
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21967A, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_1F_Text_218E4B: @ 8218E4B
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc
index ce4a6e169..ecae340c0 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/events.inc
@@ -1,8 +1,8 @@
LilycoveCity_LilycoveMuseum_2F_EventObjects: @ 8531428
object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219866, 0
- object_event 2, EVENT_OBJ_GFX_GIRL_2, 0, 19, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21998A, 777
- object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219993, 780
- object_event 4, EVENT_OBJ_GFX_RICH_BOY, 0, 14, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21999C, 780
+ object_event 2, EVENT_OBJ_GFX_GIRL_2, 0, 19, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21998A, FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2
+ object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219993, FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
+ object_event 4, EVENT_OBJ_GFX_RICH_BOY, 0, 14, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21999C, FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS
LilycoveCity_LilycoveMuseum_2F_MapWarps: @ 8531488
warp_def 13, 1, 0, 2, MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
index 6b4f0f3da..a09d304b4 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
@@ -70,17 +70,17 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, MSGBOX_SIGN
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
waitmovement 0
applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219863
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, MSGBOX_SIGN
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
waitmovement 0
applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, MSGBOX_SIGN
copyvar VAR_0x4094, 0x1
releaseall
end
@@ -105,25 +105,25 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866
case 3, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
case 4, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
case 5, LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219CF3, 2
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219CF3, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA:: @ 82198BA
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219D42, 2
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219D42, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3:: @ 82198C3
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DD4, 4
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DD4, MSGBOX_DEFAULT
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DE6, 4
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DE6, MSGBOX_DEFAULT
goto LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, 4
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, MSGBOX_DEFAULT
givedecoration_std 44
compare VAR_RESULT, 0
goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911
@@ -134,13 +134,13 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA
LilycoveCity_LilycoveMuseum_2F_EventScript_219911:: @ 8219911
call LilycoveCity_LilycoveMuseum_2F_EventScript_272071
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EED, 4
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EED, MSGBOX_DEFAULT
closemessage
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219F1B, 2
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219F1B, MSGBOX_NPC
releaseall
end
@@ -148,79 +148,79 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B
lockall
checkflag FLAG_0x0A2
goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, 3
+ 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
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, 3
+ 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
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, 3
+ 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
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, 3
+ 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
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_2F_EventScript_21998A:: @ 821998A
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0BD, 2
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0BD, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219993:: @ 8219993
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A132, 2
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A132, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_2F_EventScript_21999C:: @ 821999C
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A1A8, 2
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A1A8, MSGBOX_NPC
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5:: @ 82199A5
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
fadescreen 1
drawcontestwinner 9
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3:: @ 82199B3
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
fadescreen 1
drawcontestwinner 10
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1:: @ 82199C1
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
fadescreen 1
drawcontestwinner 11
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF:: @ 82199CF
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
fadescreen 1
drawcontestwinner 12
releaseall
end
LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD:: @ 82199DD
- msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, MSGBOX_SIGN
fadescreen 1
drawcontestwinner 13
releaseall
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
index 19471d2e1..aa69aa7ec 100644
--- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
@@ -5,7 +5,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA0B:: @ 821EA0B
lockall
applymovement 1, LilycoveCity_MoveDeletersHouse_Movement_27259E
waitmovement 0
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EAFD, 5
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EAFD, MSGBOX_YESNO
switch VAR_RESULT
case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
@@ -13,7 +13,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA0B:: @ 821EA0B
end
LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EB65, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EB65, MSGBOX_DEFAULT
special sub_81B94B0
waitstate
compare VAR_0x8004, 255
@@ -24,14 +24,14 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B
special sub_81B96D0
compare VAR_RESULT, 1
goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, MSGBOX_DEFAULT
fadescreen 1
special sub_81B968C
fadescreen 0
compare VAR_0x8005, 4
goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
special sub_81B9718
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, 5
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, MSGBOX_YESNO
switch VAR_RESULT
case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EAB0
case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
@@ -45,29 +45,29 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0
special sub_81B9770
playfanfare MUS_ME_WASURE
waitfanfare
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC06, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC06, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_MoveDeletersHouse_EventScript_21EACF:: @ 821EACF
special sub_81B9718
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EBA9, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EBA9, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_MoveDeletersHouse_EventScript_21EADC:: @ 821EADC
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC78, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC78, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_MoveDeletersHouse_EventScript_21EAE6:: @ 821EAE6
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC3F, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC3F, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_MoveDeletersHouse_EventScript_21EAF0:: @ 821EAF0
special sub_81B9718
- msgbox LilycoveCity_MoveDeletersHouse_Text_21EC9C, 4
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC9C, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
index 42b4949a2..3ab130771 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc
@@ -3,7 +3,7 @@ LilycoveCity_PokemonCenter_1F_EventObjects: @ 8531BCC
object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5F6, 0
object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5FF, 0
object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0
- object_event 5, EVENT_OBJ_GFX_TRADER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, 993
+ object_event 5, EVENT_OBJ_GFX_TRADER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
LilycoveCity_PokemonCenter_1F_MapWarps: @ 8531C44
warp_def 7, 8, 3, 2, MAP_LILYCOVE_CITY
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
index 934f666ad..0f643ad3e 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
@@ -17,11 +17,11 @@ LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0
- setflag FLAG_0x3E1
+ setflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5E4:: @ 821C5E4
- clearflag FLAG_0x3E1
+ clearflag FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5E8:: @ 821C5E8
@@ -33,7 +33,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_21C5E8:: @ 821C5E8
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6
- msgbox LilycoveCity_PokemonCenter_1F_Text_21C61E, 2
+ msgbox LilycoveCity_PokemonCenter_1F_Text_21C61E, MSGBOX_NPC
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF
@@ -41,12 +41,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF
faceplayer
checkflag FLAG_BADGE07_GET
goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C614
- msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonCenter_1F_EventScript_21C614:: @ 821C614
- msgbox LilycoveCity_PokemonCenter_1F_Text_21C6F6, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_21C6F6, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/events.inc b/data/maps/LilycoveCity_PokemonCenter_2F/events.inc
index 910dd36ab..1a7e9a6a2 100644
--- a/data/maps/LilycoveCity_PokemonCenter_2F/events.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ LilycoveCity_PokemonCenter_2F_EventObjects: @ 8531C70
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
LilycoveCity_PokemonCenter_2F_MapWarps: @ 8531CD0
warp_def 1, 6, 4, 2, MAP_LILYCOVE_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc
index 7ba16fbb9..3d08ce647 100644
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/events.inc
@@ -3,11 +3,11 @@ LilycoveCity_PokemonTrainerFanClub_EventObjects: @ 8531D20
object_event 2, EVENT_OBJ_GFX_MAN_4, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17, 0
object_event 3, EVENT_OBJ_GFX_POKEFAN_M, 0, 6, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05, 0
object_event 4, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C, 0
- object_event 5, EVENT_OBJ_GFX_NINJA_BOY, 0, 7, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3, 791
- object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55, 790
- object_event 7, EVENT_OBJ_GFX_WOMAN_3, 0, 3, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7, 792
- object_event 8, EVENT_OBJ_GFX_EXPERT_F, 0, 10, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19, 789
- object_event 9, EVENT_OBJ_GFX_BOY_1, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B, 730
+ object_event 5, EVENT_OBJ_GFX_NINJA_BOY, 0, 7, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3, FLAG_HIDE_FANCLUB_LITTLE_BOY
+ object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55, FLAG_HIDE_FANCLUB_BOY
+ object_event 7, EVENT_OBJ_GFX_WOMAN_3, 0, 3, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7, FLAG_HIDE_FANCLUB_LADY
+ object_event 8, EVENT_OBJ_GFX_EXPERT_F, 0, 10, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19, FLAG_HIDE_FANCLUB_OLD_LADY
+ object_event 9, EVENT_OBJ_GFX_BOY_1, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B, FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
LilycoveCity_PokemonTrainerFanClub_MapWarps: @ 8531DF8
warp_def 6, 13, 0, 5, MAP_LILYCOVE_CITY
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
index 9587bcae3..e8fc1886c 100644
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
@@ -11,13 +11,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A
lockall
applymovement 1, LilycoveCity_PokemonTrainerFanClub_Movement_2725AA
waitmovement 0
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, MSGBOX_DEFAULT
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD
applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5
waitmovement 0
applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8
waitmovement 0
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804
waitmovement 0
applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4
@@ -109,12 +109,12 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA
specialvar VAR_RESULT, sub_80EE7C0
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1
- clearflag FLAG_0x2DA
+ clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
clearflag FLAG_0x0D2
return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1
- setflag FLAG_0x2DA
+ setflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5
@@ -217,7 +217,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT
release
end
@@ -225,22 +225,22 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70:: @ 821CA70
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A:: @ 821CA7A
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84:: @ 821CA84
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, MSGBOX_DEFAULT
release
end
@@ -257,7 +257,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT
release
end
@@ -265,22 +265,22 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7:: @ 821CAE7
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1:: @ 821CAF1
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB:: @ 821CAFB
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, MSGBOX_DEFAULT
release
end
@@ -297,7 +297,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT
release
end
@@ -305,22 +305,22 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E:: @ 821CB5E
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68:: @ 821CB68
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72:: @ 821CB72
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, MSGBOX_DEFAULT
release
end
@@ -337,7 +337,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT
release
end
@@ -345,22 +345,22 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5:: @ 821CBD5
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF:: @ 821CBDF
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9:: @ 821CBE9
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, MSGBOX_DEFAULT
release
end
@@ -375,7 +375,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT
release
end
@@ -383,17 +383,17 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41:: @ 821CC41
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B:: @ 821CC4B
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, MSGBOX_DEFAULT
release
end
@@ -408,7 +408,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT
release
end
@@ -416,17 +416,17 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3:: @ 821CCA3
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD:: @ 821CCAD
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, MSGBOX_DEFAULT
release
end
@@ -441,7 +441,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT
release
end
@@ -449,17 +449,17 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05:: @ 821CD05
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F:: @ 821CD0F
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, MSGBOX_DEFAULT
release
end
@@ -474,7 +474,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT
release
end
@@ -482,17 +482,17 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67:: @ 821CD67
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE83, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE83, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, MSGBOX_DEFAULT
release
end
@@ -513,7 +513,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90
copyvar VAR_0x800A, VAR_0x8006
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, MSGBOX_DEFAULT
setvar VAR_0x8004, 14
copyvar VAR_0x8005, VAR_0x800A
call LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C
@@ -526,14 +526,14 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C06, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C06, MSGBOX_DEFAULT
goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, 5
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
compare VAR_RESULT, 0
@@ -543,7 +543,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE
LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, MSGBOX_DEFAULT
setvar VAR_0x8004, 14
copyvar VAR_0x8005, VAR_0x800A
call LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C
@@ -578,7 +578,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D
LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, 5
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
compare VAR_RESULT, 0
@@ -588,14 +588,14 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F
LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, MSGBOX_DEFAULT
release
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, MSGBOX_DEFAULT
setflag FLAG_0x0D2
release
end
@@ -603,7 +603,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8
LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED
setvar VAR_0x8004, 8
special BufferStreakTrainerText
- msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, 4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LinkContestRoom1/events.inc b/data/maps/LinkContestRoom1/events.inc
index 72fe038ff..99eeef56f 100644
--- a/data/maps/LinkContestRoom1/events.inc
+++ b/data/maps/LinkContestRoom1/events.inc
@@ -11,7 +11,7 @@ LinkContestRoom1_EventObjects: @ 8539EFC
object_event 10, 249, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0
object_event 11, 250, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
object_event 12, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0
- object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 86
+ object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_LINK_CONTEST_POKE_BALL
object_event 14, EVENT_OBJ_GFX_GIDDY, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0
object_event 15, EVENT_OBJ_GFX_ARTIST, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
diff --git a/data/maps/LittlerootTown/events.inc b/data/maps/LittlerootTown/events.inc
index 89057d387..71bf9a643 100644
--- a/data/maps/LittlerootTown/events.inc
+++ b/data/maps/LittlerootTown/events.inc
@@ -1,12 +1,12 @@
LittlerootTown_EventObjects: @ 85276A8
object_event 1, EVENT_OBJ_GFX_TWIN, 0, 16, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, LittlerootTown_EventScript_1E8034, 0
- object_event 2, EVENT_OBJ_GFX_FAT_MAN, 0, 12, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, LittlerootTown_EventScript_1E8022, 868
+ object_event 2, EVENT_OBJ_GFX_FAT_MAN, 0, 12, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, LittlerootTown_EventScript_1E8022, FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
object_event 3, EVENT_OBJ_GFX_BOY_2, 0, 14, 17, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, LittlerootTown_EventScript_1E802B, 0
- object_event 4, EVENT_OBJ_GFX_MOM, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, 752
- object_event 5, EVENT_OBJ_GFX_TRUCK, 0, 2, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 761
- object_event 6, EVENT_OBJ_GFX_TRUCK, 0, 11, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 762
- object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 794
- object_event 8, EVENT_OBJ_GFX_PROF_BIRCH, 0, 14, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 795
+ object_event 4, EVENT_OBJ_GFX_MOM, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
+ object_event 5, EVENT_OBJ_GFX_TRUCK, 0, 2, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK
+ object_event 6, EVENT_OBJ_GFX_TRUCK, 0, 11, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK
+ object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
+ object_event 8, EVENT_OBJ_GFX_PROF_BIRCH, 0, 14, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
LittlerootTown_MapWarps: @ 8527768
warp_def 14, 8, 0, 1, MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F
diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc
index eb78368af..1f4e2593c 100644
--- a/data/maps/LittlerootTown/scripts.inc
+++ b/data/maps/LittlerootTown/scripts.inc
@@ -41,7 +41,7 @@ LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F
LittlerootTown_EventScript_1E7E53:: @ 81E7E53
setvar VAR_0x40C7, 2
- setflag FLAG_0x3D3
+ setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
return
LittlerootTown_EventScript_1E7E5C:: @ 81E7E5C
@@ -66,7 +66,7 @@ LittlerootTown_EventScript_1E7E86:: @ 81E7E86
return
LittlerootTown_EventScript_1E7E92:: @ 81E7E92
- clearflag FLAG_0x2F0
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setobjectmovementtype 4, 8
checkplayergender
compare VAR_RESULT, 0
@@ -94,7 +94,7 @@ LittlerootTown_EventScript_1E7EDB:: @ 81E7EDB
setvar VAR_0x8004, 5
setvar VAR_0x8005, 8
call LittlerootTown_EventScript_1E7F17
- setflag FLAG_0x2F9
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK
warpsilent MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 255, 8, 8
waitstate
releaseall
@@ -105,7 +105,7 @@ LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9
setvar VAR_0x8004, 14
setvar VAR_0x8005, 8
call LittlerootTown_EventScript_1E7F17
- setflag FLAG_0x2FA
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK
warpsilent MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F, 255, 2, 8
waitstate
releaseall
@@ -126,7 +126,7 @@ LittlerootTown_EventScript_1E7F17:: @ 81E7F17
delay 10
applymovement 4, LittlerootTown_Movement_1E7F9A
waitmovement 0
- msgbox LittlerootTown_Text_1E86BC, 4
+ msgbox LittlerootTown_Text_1E86BC, MSGBOX_DEFAULT
closemessage
applymovement 4, LittlerootTown_Movement_1E7F9D
applymovement 255, LittlerootTown_Movement_1E7FA4
@@ -136,12 +136,12 @@ LittlerootTown_EventScript_1E7F17:: @ 81E7F17
applymovement 4, LittlerootTown_Movement_1E7FA1
applymovement 255, LittlerootTown_Movement_1E7FA9
waitmovement 0
- setflag FLAG_0x2F0
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setvar VAR_0x4092, 3
hideobjectat 255, MAP_PETALBURG_CITY
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
- clearflag FLAG_0x364
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
clearflag FLAG_SPECIAL_FLAG_0x4000
return
@@ -190,10 +190,10 @@ LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1
applymovement 8, LittlerootTown_Movement_272598
waitmovement 0
delay 80
- msgbox LittlerootTown_Text_1E8DA2, 4
+ msgbox LittlerootTown_Text_1E8DA2, MSGBOX_DEFAULT
closemessage
- clearflag FLAG_0x31A
- clearflag FLAG_0x31B
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
delay 20
clearflag FLAG_SPECIAL_FLAG_0x4000
warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
@@ -225,11 +225,11 @@ LittlerootTown_EventScript_1E8013:: @ 81E8013
end
LittlerootTown_EventScript_1E8022:: @ 81E8022
- msgbox LittlerootTown_Text_1E8ACF, 2
+ msgbox LittlerootTown_Text_1E8ACF, MSGBOX_NPC
end
LittlerootTown_EventScript_1E802B:: @ 81E802B
- msgbox LittlerootTown_Text_1E8B25, 2
+ msgbox LittlerootTown_Text_1E8B25, MSGBOX_NPC
end
LittlerootTown_EventScript_1E8034:: @ 81E8034
@@ -241,13 +241,13 @@ LittlerootTown_EventScript_1E8034:: @ 81E8034
goto_eq LittlerootTown_EventScript_1E807A
compare VAR_0x4050, 0
goto_if 5, LittlerootTown_EventScript_1E805D
- msgbox LittlerootTown_Text_1E8BB8, 4
+ msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
release
end
LittlerootTown_EventScript_1E805D:: @ 81E805D
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_Text_1E8C3A, 4
+ msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT
closemessage
applymovement 1, LittlerootTown_Movement_2725A2
waitmovement 0
@@ -257,12 +257,12 @@ LittlerootTown_EventScript_1E805D:: @ 81E805D
LittlerootTown_EventScript_1E807A:: @ 81E807A
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_Text_1E8CE3, 4
+ msgbox LittlerootTown_Text_1E8CE3, MSGBOX_DEFAULT
release
end
LittlerootTown_EventScript_1E8087:: @ 81E8087
- msgbox LittlerootTown_Text_1E8D07, 4
+ msgbox LittlerootTown_Text_1E8D07, MSGBOX_DEFAULT
release
end
@@ -277,12 +277,12 @@ LittlerootTown_EventScript_1E8091:: @ 81E8091
end
LittlerootTown_EventScript_1E80AD:: @ 81E80AD
- msgbox LittlerootTown_Text_1E8BB8, 4
+ msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
closemessage
applymovement 1, LittlerootTown_Movement_1E80DF
applymovement 255, LittlerootTown_Movement_1E80EB
waitmovement 0
- msgbox LittlerootTown_Text_1E8C07, 4
+ msgbox LittlerootTown_Text_1E8C07, MSGBOX_DEFAULT
closemessage
return
@@ -365,7 +365,7 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F
applymovement 255, LittlerootTown_Movement_2725A4
waitmovement 0
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_Text_1E8C3A, 4
+ msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT
closemessage
applymovement 1, LittlerootTown_Movement_2725A2
waitmovement 0
@@ -374,11 +374,11 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F
end
LittlerootTown_EventScript_1E8151:: @ 81E8151
- msgbox LittlerootTown_Text_1E8D32, 3
+ msgbox LittlerootTown_Text_1E8D32, MSGBOX_SIGN
end
LittlerootTown_EventScript_1E815A:: @ 81E815A
- msgbox LittlerootTown_Text_1E8D69, 3
+ msgbox LittlerootTown_Text_1E8D69, MSGBOX_SIGN
end
LittlerootTown_EventScript_1E8163:: @ 81E8163
@@ -392,11 +392,11 @@ LittlerootTown_EventScript_1E8163:: @ 81E8163
end
LittlerootTown_EventScript_1E817D:: @ 81E817D
- msgbox LittlerootTown_Text_1E8D83, 4
+ msgbox LittlerootTown_Text_1E8D83, MSGBOX_DEFAULT
return
LittlerootTown_EventScript_1E8186:: @ 81E8186
- msgbox LittlerootTown_Text_1E8D8E, 4
+ msgbox LittlerootTown_Text_1E8D8E, MSGBOX_DEFAULT
return
LittlerootTown_EventScript_1E818F:: @ 81E818F
@@ -410,11 +410,11 @@ LittlerootTown_EventScript_1E818F:: @ 81E818F
end
LittlerootTown_EventScript_1E81A9:: @ 81E81A9
- msgbox LittlerootTown_Text_1E8D8E, 4
+ msgbox LittlerootTown_Text_1E8D8E, MSGBOX_DEFAULT
return
LittlerootTown_EventScript_1E81B2:: @ 81E81B2
- msgbox LittlerootTown_Text_1E8D83, 4
+ msgbox LittlerootTown_Text_1E8D83, MSGBOX_DEFAULT
return
LittlerootTown_EventScript_1E81BB:: @ 81E81BB
@@ -466,7 +466,7 @@ LittlerootTown_EventScript_1E8211:: @ 81E8211
call_if 1, LittlerootTown_EventScript_1E8281
compare VAR_RESULT, 1
call_if 1, LittlerootTown_EventScript_1E828C
- msgbox LittlerootTown_Text_1E87E1, 4
+ msgbox LittlerootTown_Text_1E87E1, MSGBOX_DEFAULT
closemessage
checkplayergender
compare VAR_RESULT, 0
@@ -917,13 +917,13 @@ LittlerootTown_EventScript_1E8686:: @ 81E8686
end
LittlerootTown_EventScript_1E8693:: @ 81E8693
- msgbox LittlerootTown_Text_1E87F0, 4
+ msgbox LittlerootTown_Text_1E87F0, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message LittlerootTown_Text_1E8925
waitfanfare
setflag FLAG_0x112
- msgbox LittlerootTown_Text_1E894F, 4
- msgbox LittlerootTown_Text_1E8A03, 4
+ msgbox LittlerootTown_Text_1E894F, MSGBOX_DEFAULT
+ msgbox LittlerootTown_Text_1E8A03, MSGBOX_DEFAULT
closemessage
delay 30
return
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/events.inc b/data/maps/LittlerootTown_BrendansHouse_1F/events.inc
index abe7a5bc8..6f327d330 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/events.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/events.inc
@@ -1,11 +1,11 @@
LittlerootTown_BrendansHouse_1F_EventObjects: @ 852D08C
- object_event 1, EVENT_OBJ_GFX_MOM, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_2929C5, 758
- object_event 2, EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX, 0, 1, 3, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 3, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ACD, 755
- object_event 3, EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY, 0, 4, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ABA, 754
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 2, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F89F3, 784
- object_event 5, EVENT_OBJ_GFX_NORMAN, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 734
- object_event 6, EVENT_OBJ_GFX_NINJA_BOY, 0, 1, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D, 735
- object_event 7, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 8, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 745
+ object_event 1, EVENT_OBJ_GFX_MOM, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_2929C5, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM
+ object_event 2, EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX, 0, 1, 3, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 3, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ACD, FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2
+ object_event 3, EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY, 0, 4, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ABA, FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1
+ object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 2, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F89F3, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM
+ object_event 5, EVENT_OBJ_GFX_NORMAN, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_PLAYERS_HOUSE_DAD
+ object_event 6, EVENT_OBJ_GFX_NINJA_BOY, 0, 1, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING
+ object_event 7, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 8, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
LittlerootTown_BrendansHouse_1F_MapWarps: @ 852D134
warp_def 9, 8, 0, 1, MAP_LITTLEROOT_TOWN
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
index 4c904b001..4a0c9f082 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
@@ -60,7 +60,7 @@ LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA: @ 81F77EA
LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814
lockall
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F783A
applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A
@@ -99,7 +99,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E
applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C
waitmovement 0
special GetRivalSonDaughterString
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT
setflag FLAG_0x057
setvar VAR_0x4082, 2
releaseall
@@ -160,7 +160,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F7997
compare VAR_0x8008, 2
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79A2
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79C1
@@ -170,9 +170,9 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79E5
playse SE_KAIDAN
removeobject 7
- setflag FLAG_0x2E9
- setflag FLAG_0x331
- clearflag FLAG_0x2F8
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
delay 30
setvar VAR_0x408D, 3
setvar VAR_0x4050, 1
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
index 8ea295cdf..07ce48998 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc
@@ -1,20 +1,20 @@
LittlerootTown_BrendansHouse_2F_EventObjects: @ 852D1A0
- object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, 760
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 185
- object_event 14, EVENT_OBJ_GFX_MOM, 0, 7, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, 757
- object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, 817
- object_event 16, EVENT_OBJ_GFX_SWABLU_DOLL, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, 815
+ object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_MOM, 0, 7, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
+ object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
+ object_event 16, EVENT_OBJ_GFX_SWABLU_DOLL, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
LittlerootTown_BrendansHouse_2F_MapWarps: @ 852D320
warp_def 7, 1, 0, 2, MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index 2382305bb..cdd8b83b0 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -58,7 +58,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481
lockall
compare VAR_0x408D, 2
goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, MSGBOX_DEFAULT
releaseall
end
@@ -83,8 +83,8 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
compare VAR_FACING, 4
call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8594
setvar VAR_0x408D, 3
- setflag FLAG_0x331
- clearflag FLAG_0x2F8
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
setvar VAR_0x4050, 1
savebgm MUS_DUMMY
fadedefaultbgm
@@ -96,7 +96,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507
waitmovement 0
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85CF
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6
@@ -108,7 +108,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536
waitmovement 0
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85E2
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB
@@ -120,7 +120,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565
waitmovement 0
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85F6
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED
@@ -132,7 +132,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594
waitmovement 0
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A6
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F8604
waitmovement 0
@@ -258,7 +258,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626
setvar VAR_0x8004, 1
special DoPCTurnOnEffect
playse SE_PC_ON
- msgbox gUnknown_08272D87, 4
+ msgbox gUnknown_08272D87, MSGBOX_DEFAULT
special BedroomPC
waitstate
releaseall
@@ -272,18 +272,18 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F863F:: @ 81F863F
end
LittlerootTown_BrendansHouse_2F_EventScript_1F864C:: @ 81F864C
- msgbox gUnknown_08272CD5, 4
+ msgbox gUnknown_08272CD5, MSGBOX_DEFAULT
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_1F8656:: @ 81F8656
LittlerootTown_MaysHouse_2F_EventScript_1F8656:: @ 81F8656
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F877F, 3
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F877F, MSGBOX_SIGN
end
LittlerootTown_BrendansHouse_2F_EventScript_1F865F:: @ 81F865F
LittlerootTown_MaysHouse_2F_EventScript_1F865F:: @ 81F865F
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F884F, 3
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F884F, MSGBOX_SIGN
end
LittlerootTown_BrendansHouse_2F_Text_1F8668: @ 81F8668
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/events.inc b/data/maps/LittlerootTown_MaysHouse_1F/events.inc
index 69fb6af63..3075945f1 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/events.inc
+++ b/data/maps/LittlerootTown_MaysHouse_1F/events.inc
@@ -1,11 +1,11 @@
LittlerootTown_MaysHouse_1F_EventObjects: @ 852D36C
- object_event 1, EVENT_OBJ_GFX_MOM, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_2929C5, 759
- object_event 2, EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY, 0, 6, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ABA, 754
- object_event 3, EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX, 0, 9, 3, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 3, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ACD, 755
- object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F89F3, 785
- object_event 5, EVENT_OBJ_GFX_NORMAN, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 734
- object_event 6, EVENT_OBJ_GFX_NINJA_BOY, 0, 9, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A3D, 736
- object_event 7, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 746
+ object_event 1, EVENT_OBJ_GFX_MOM, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_2929C5, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM
+ object_event 2, EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY, 0, 6, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ABA, FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1
+ object_event 3, EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX, 0, 9, 3, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 3, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ACD, FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2
+ object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F89F3, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM
+ object_event 5, EVENT_OBJ_GFX_NORMAN, 0, 5, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, FLAG_HIDE_PLAYERS_HOUSE_DAD
+ object_event 6, EVENT_OBJ_GFX_NINJA_BOY, 0, 9, 5, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A3D, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING
+ object_event 7, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN
LittlerootTown_MaysHouse_1F_MapWarps: @ 852D414
warp_def 1, 8, 0, 0, MAP_LITTLEROOT_TOWN
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
index 99d47f938..ef5ff3df1 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
@@ -60,7 +60,7 @@ LittlerootTown_MaysHouse_1F_MapScript2_1F893A: @ 81F893A
LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964
lockall
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, 4
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F898A
applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A
@@ -99,7 +99,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE
applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC
waitmovement 0
special GetRivalSonDaughterString
- msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, 4
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, MSGBOX_DEFAULT
setflag FLAG_0x057
setvar VAR_0x408C, 2
releaseall
@@ -125,22 +125,22 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3
compare VAR_0x408D, 3
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F
special GetRivalSonDaughterString
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, MSGBOX_DEFAULT
release
end
LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F:: @ 81F8A1F
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D37, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D37, MSGBOX_DEFAULT
release
end
LittlerootTown_BrendansHouse_1F_EventScript_1F8A29:: @ 81F8A29
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D93, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D93, MSGBOX_DEFAULT
release
end
LittlerootTown_BrendansHouse_1F_EventScript_1F8A33:: @ 81F8A33
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8E01, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8E01, MSGBOX_DEFAULT
release
end
@@ -149,7 +149,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A3D:: @ 81F8A3D
lock
faceplayer
special GetPlayerBigGuyGirlString
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F9262, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F9262, MSGBOX_DEFAULT
release
end
@@ -199,7 +199,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B40
compare VAR_0x8008, 2
call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B4B
- msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, 4
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B6A
@@ -209,9 +209,9 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B8E
playse SE_KAIDAN
removeobject 7
- setflag FLAG_0x2EA
- setflag FLAG_0x332
- clearflag FLAG_0x2D2
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
delay 30
setvar VAR_0x408D, 3
setvar VAR_0x4050, 1
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/events.inc b/data/maps/LittlerootTown_MaysHouse_2F/events.inc
index a9d7001b7..8c93a570a 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/events.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/events.inc
@@ -1,20 +1,20 @@
LittlerootTown_MaysHouse_2F_EventObjects: @ 852D480
- object_event 1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, 722
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 185
- object_event 14, EVENT_OBJ_GFX_MOM, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, 757
- object_event 15, EVENT_OBJ_GFX_PICHU_DOLL, 0, 3, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 849
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, 818
+ object_event 1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, EVENT_OBJ_GFX_MOM, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM
+ object_event 15, EVENT_OBJ_GFX_PICHU_DOLL, 0, 3, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
+ object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
LittlerootTown_MaysHouse_2F_MapWarps: @ 852D600
warp_def 1, 1, 0, 2, MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index 14e269445..3d7e47d19 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -59,7 +59,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334
lockall
compare VAR_0x408D, 2
goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A
- msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, 4
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, MSGBOX_DEFAULT
releaseall
end
@@ -84,8 +84,8 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
compare VAR_FACING, 4
call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9440
setvar VAR_0x408D, 3
- setflag FLAG_0x332
- clearflag FLAG_0x2D2
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
setvar VAR_0x4050, 1
savebgm MUS_DUMMY
fadedefaultbgm
@@ -97,7 +97,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA
waitmovement 0
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9483
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479
@@ -109,7 +109,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9
waitmovement 0
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9497
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F
@@ -121,7 +121,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418
waitmovement 0
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A6
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94A4
waitmovement 0
@@ -132,7 +132,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440
waitmovement 0
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
waitmovement 0
- msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F94BB
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2
@@ -260,12 +260,12 @@ LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1
end
LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F978A, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F978A, MSGBOX_DEFAULT
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_1F94ED:: @ 81F94ED
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9962, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9962, MSGBOX_DEFAULT
releaseall
end
@@ -284,21 +284,21 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7
LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D
checkflag FLAG_0x125
goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F9541
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, 4
+ 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
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, MSGBOX_DEFAULT
return
LittlerootTown_BrendansHouse_2F_EventScript_1F9541:: @ 81F9541
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9A9E, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9A9E, MSGBOX_DEFAULT
return
LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, MSGBOX_DEFAULT
return
EventScript_PlayerPCFemale:: @ 81F9553
@@ -311,7 +311,7 @@ EventScript_PlayerPCFemale:: @ 81F9553
end
LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C
- msgbox gUnknown_08272CD5, 4
+ msgbox gUnknown_08272CD5, MSGBOX_DEFAULT
releaseall
end
@@ -319,7 +319,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576
setvar VAR_0x8004, 2
special DoPCTurnOnEffect
playse SE_PC_ON
- msgbox gUnknown_08272D87, 4
+ msgbox gUnknown_08272D87, MSGBOX_DEFAULT
special BedroomPC
waitstate
releaseall
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
index df992a2e3..4eb310f74 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc
@@ -1,10 +1,10 @@
LittlerootTown_ProfessorBirchsLab_EventObjects: @ 852D64C
object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 9, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84, 0
- object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, 721
- object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, 889
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, 811
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, 812
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, 838
+ object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA
LittlerootTown_ProfessorBirchsLab_MapWarps: @ 852D6DC
warp_def 6, 12, 0, 2, MAP_LITTLEROOT_TOWN
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
index 75b83b6a1..22d5bc99b 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
@@ -98,7 +98,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, 5
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07
compare VAR_RESULT, 0
@@ -112,7 +112,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, 5
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
compare VAR_RESULT, 0
@@ -120,14 +120,14 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA9D5, 4
- clearflag FLAG_0x3DF
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA9D5, MSGBOX_DEFAULT
+ clearflag FLAG_HIDE_ROUTE_101_BOY
setvar VAR_0x4084, 3
releaseall
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, 5
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
compare VAR_RESULT, 0
@@ -154,7 +154,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
lockall
delay 30
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB16D, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB16D, MSGBOX_DEFAULT
closemessage
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F46
waitmovement 0
@@ -183,17 +183,17 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
waitmovement 0
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message LittlerootTown_ProfessorBirchsLab_Text_1FB436
waitmessage
waitfanfare
setflag FLAG_SYS_NATIONAL_DEX
special EnableNationalPokedex
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, MSGBOX_DEFAULT
closemessage
- setflag FLAG_0x31B
- setflag FLAG_0x31A
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCH
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_RIVAL
setvar VAR_0x40D3, 2
setvar VAR_0x40F5, 0
setflag FLAG_0x072
@@ -201,12 +201,12 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32:: @ 81F9F32
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB30F, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB30F, MSGBOX_DEFAULT
closemessage
return
LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C:: @ 81F9F3C
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB38E, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB38E, MSGBOX_DEFAULT
closemessage
return
@@ -246,7 +246,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62
lockall
applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C
waitmovement 0
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT
setvar VAR_0x40D3, 5
releaseall
end
@@ -268,18 +268,18 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84
goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1
checkflag FLAG_0x058
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, MSGBOX_DEFAULT
setflag FLAG_0x058
release
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7:: @ 81F9FA7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA641, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA641, MSGBOX_DEFAULT
release
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA6CE, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA6CE, MSGBOX_DEFAULT
release
end
@@ -290,7 +290,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
drawmonpic SPECIES_CYNDAQUIL, 10, 3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, 5
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C
@@ -303,7 +303,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
drawmonpic SPECIES_TOTODILE, 10, 3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, 5
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D
@@ -316,20 +316,20 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
drawmonpic SPECIES_CHIKORITA, 10, 3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, 5
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA057:: @ 81FA057
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBAF8, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBAF8, MSGBOX_DEFAULT
releaseall
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061
erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, MSGBOX_DEFAULT
releaseall
end
@@ -348,7 +348,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C
LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 4
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
@@ -359,7 +359,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 4
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
@@ -373,7 +373,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2
LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD
erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
setvar VAR_0x40D3, 6
releaseall
end
@@ -393,7 +393,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D
LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 5
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
@@ -404,7 +404,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 5
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
@@ -418,7 +418,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193
LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E
erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
setvar VAR_0x40D3, 6
releaseall
end
@@ -438,7 +438,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE
LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 6
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
@@ -449,7 +449,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
removeobject 6
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
@@ -463,7 +463,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234
LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F
erasemonpic
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, MSGBOX_DEFAULT
setvar VAR_0x40D3, 6
releaseall
end
@@ -490,17 +490,17 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A:: @ 81FA28A
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB787, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB787, MSGBOX_DEFAULT
release
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, MSGBOX_DEFAULT
release
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E
- checkflag FLAG_0x380
+ checkflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_272141
compare VAR_0x40D3, 3
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141
@@ -508,17 +508,17 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E
goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_272141
compare VAR_0x4084, 5
goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, MSGBOX_DEFAULT
release
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2:: @ 81FA2D2
Route101_EventScript_1FA2D2:: @ 81FA2D2
- msgbox Route101_Text_2B5F52, 4
+ msgbox Route101_Text_2B5F52, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route101_Text_2B603A, 4
+ msgbox Route101_Text_2B603A, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -528,9 +528,9 @@ Route101_EventScript_1FA2D2:: @ 81FA2D2
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAB22, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAB22, MSGBOX_DEFAULT
call LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAC4B, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAC4B, MSGBOX_DEFAULT
closemessage
applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0
waitmovement 0
@@ -550,20 +550,20 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, MSGBOX_DEFAULT
giveitem_std ITEM_POKE_BALL, 5
compare VAR_RESULT, 0
call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, MSGBOX_DEFAULT
giveitem_std ITEM_POKE_BALL, 5
compare VAR_RESULT, 0
call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -578,16 +578,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC:: @ 81FA3AC
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4:: @ 81FA3C4
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAD6F, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAD6F, MSGBOX_DEFAULT
release
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE:: @ 81FA3CE
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAEF3, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAEF3, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7:: @ 81FA3D7
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB05D, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB05D, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0: @ 81FA3E0
@@ -596,7 +596,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0: @ 81FA3E0
step_end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3:: @ 81FA3E3
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0A2, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0A2, MSGBOX_SIGN
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC
@@ -617,11 +617,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA428:: @ 81FA428
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF08, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF08, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB073, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB073, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A
@@ -634,11 +634,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA453:: @ 81FA453
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBB68, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBB68, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC2D, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC2D, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465
@@ -651,11 +651,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E:: @ 81FA47E
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC8D, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC8D, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBCD2, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBCD2, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490
@@ -668,23 +668,23 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9:: @ 81FA4A9
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB528, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB528, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2:: @ 81FA4B2
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB58A, 4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB58A, MSGBOX_DEFAULT
return
LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB:: @ 81FA4BB
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0E7, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0E7, MSGBOX_SIGN
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4:: @ 81FA4C4
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB124, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB124, MSGBOX_SIGN
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD:: @ 81FA4CD
- msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB148, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB148, MSGBOX_SIGN
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6:: @ 81FA4D6
diff --git a/data/maps/MagmaHideout_1F/events.inc b/data/maps/MagmaHideout_1F/events.inc
index 2fa18eade..fd82f78e0 100644
--- a/data/maps/MagmaHideout_1F/events.inc
+++ b/data/maps/MagmaHideout_1F/events.inc
@@ -1,10 +1,10 @@
MagmaHideout_1F_EventObjects: @ 85371CC
- object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 4, 5, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, MagmaHideout_1F_EventScript_23988C, 857
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 20, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_1F_EventScript_2914DE, 1151
- object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 30, 20, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, MagmaHideout_1F_EventScript_2398A3, 857
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 17
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 18
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 19
+ object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 4, 5, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, MagmaHideout_1F_EventScript_23988C, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 20, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_1F_EventScript_2914DE, FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY
+ object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 30, 20, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, MagmaHideout_1F_EventScript_2398A3, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, FLAG_TEMP_11
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, FLAG_TEMP_12
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, FLAG_TEMP_13
MagmaHideout_1F_MapWarps: @ 853725C
warp_def 10, 34, 3, 4, MAP_JAGGED_PASS
diff --git a/data/maps/MagmaHideout_1F/scripts.inc b/data/maps/MagmaHideout_1F/scripts.inc
index 0e133a890..deb805bb5 100644
--- a/data/maps/MagmaHideout_1F/scripts.inc
+++ b/data/maps/MagmaHideout_1F/scripts.inc
@@ -7,13 +7,13 @@ MagmaHideout_1F_MapScript1_239886: @ 8239886
end
MagmaHideout_1F_EventScript_23988C:: @ 823988C
- trainerbattle 0, TRAINER_GRUNT_38, 0, MagmaHideout_1F_Text_2398BA, MagmaHideout_1F_Text_239964
- msgbox MagmaHideout_1F_Text_2399B1, 6
+ trainerbattle_single TRAINER_GRUNT_38, MagmaHideout_1F_Text_2398BA, MagmaHideout_1F_Text_239964
+ msgbox MagmaHideout_1F_Text_2399B1, MSGBOX_AUTOCLOSE
end
MagmaHideout_1F_EventScript_2398A3:: @ 82398A3
- trainerbattle 0, TRAINER_GRUNT_39, 0, MagmaHideout_1F_Text_2399F5, MagmaHideout_1F_Text_239ABA
- msgbox MagmaHideout_1F_Text_239ACD, 6
+ trainerbattle_single TRAINER_GRUNT_39, MagmaHideout_1F_Text_2399F5, MagmaHideout_1F_Text_239ABA
+ msgbox MagmaHideout_1F_Text_239ACD, MSGBOX_AUTOCLOSE
end
MagmaHideout_1F_Text_2398BA: @ 82398BA
diff --git a/data/maps/MagmaHideout_2F_1R/events.inc b/data/maps/MagmaHideout_2F_1R/events.inc
index 723c9e914..d80849231 100644
--- a/data/maps/MagmaHideout_2F_1R/events.inc
+++ b/data/maps/MagmaHideout_2F_1R/events.inc
@@ -1,8 +1,8 @@
MagmaHideout_2F_1R_EventObjects: @ 8537290
- object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 18, 19, 3, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 5, 4, 1, 1, MagmaHideout_2F_1R_EventScript_239B7F, 857
- object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 14, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 7, 6, 1, 3, MagmaHideout_2F_1R_EventScript_239B96, 857
- object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 8, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 7, MagmaHideout_2F_1R_EventScript_239B51, 857
- object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, MagmaHideout_2F_1R_EventScript_239B68, 857
+ object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 18, 19, 3, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 5, 4, 1, 1, MagmaHideout_2F_1R_EventScript_239B7F, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 14, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 7, 6, 1, 3, MagmaHideout_2F_1R_EventScript_239B96, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 8, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 7, MagmaHideout_2F_1R_EventScript_239B51, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, MagmaHideout_2F_1R_EventScript_239B68, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
MagmaHideout_2F_1R_MapWarps: @ 85372F0
warp_def 11, 23, 0, 0, MAP_MAGMA_HIDEOUT_2F_2R
diff --git a/data/maps/MagmaHideout_2F_1R/scripts.inc b/data/maps/MagmaHideout_2F_1R/scripts.inc
index 33252bb57..9536ad433 100644
--- a/data/maps/MagmaHideout_2F_1R/scripts.inc
+++ b/data/maps/MagmaHideout_2F_1R/scripts.inc
@@ -2,23 +2,23 @@ MagmaHideout_2F_1R_MapScripts:: @ 8239B50
.byte 0
MagmaHideout_2F_1R_EventScript_239B51:: @ 8239B51
- trainerbattle 0, TRAINER_GRUNT_51, 0, MagmaHideout_2F_1R_Text_239BAD, MagmaHideout_2F_1R_Text_239C4B
- msgbox MagmaHideout_2F_1R_Text_239C74, 6
+ trainerbattle_single TRAINER_GRUNT_51, MagmaHideout_2F_1R_Text_239BAD, MagmaHideout_2F_1R_Text_239C4B
+ msgbox MagmaHideout_2F_1R_Text_239C74, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_1R_EventScript_239B68:: @ 8239B68
- trainerbattle 0, TRAINER_GRUNT_40, 0, MagmaHideout_2F_1R_Text_239CAB, MagmaHideout_2F_1R_Text_239D09
- msgbox MagmaHideout_2F_1R_Text_239D1D, 6
+ trainerbattle_single TRAINER_GRUNT_40, MagmaHideout_2F_1R_Text_239CAB, MagmaHideout_2F_1R_Text_239D09
+ msgbox MagmaHideout_2F_1R_Text_239D1D, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_1R_EventScript_239B7F:: @ 8239B7F
- trainerbattle 0, TRAINER_GRUNT_41, 0, MagmaHideout_2F_1R_Text_239D62, MagmaHideout_2F_1R_Text_239D75
- msgbox MagmaHideout_2F_1R_Text_239D7D, 6
+ trainerbattle_single TRAINER_GRUNT_41, MagmaHideout_2F_1R_Text_239D62, MagmaHideout_2F_1R_Text_239D75
+ msgbox MagmaHideout_2F_1R_Text_239D7D, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_1R_EventScript_239B96:: @ 8239B96
- trainerbattle 0, TRAINER_GRUNT_42, 0, MagmaHideout_2F_1R_Text_239DC5, MagmaHideout_2F_1R_Text_239DDA
- msgbox MagmaHideout_2F_1R_Text_239DE2, 6
+ trainerbattle_single TRAINER_GRUNT_42, MagmaHideout_2F_1R_Text_239DC5, MagmaHideout_2F_1R_Text_239DDA
+ msgbox MagmaHideout_2F_1R_Text_239DE2, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD
diff --git a/data/maps/MagmaHideout_2F_2R/events.inc b/data/maps/MagmaHideout_2F_2R/events.inc
index 277dcf530..8bc61def7 100644
--- a/data/maps/MagmaHideout_2F_2R/events.inc
+++ b/data/maps/MagmaHideout_2F_2R/events.inc
@@ -1,10 +1,10 @@
MagmaHideout_2F_2R_EventObjects: @ 853731C
- object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 29, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 7, MagmaHideout_2F_2R_EventScript_239E4D, 857
- object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 25, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, MagmaHideout_2F_2R_EventScript_239E36, 857
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 21, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_2F_2R_EventScript_2914EB, 1164
- object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, MagmaHideout_2F_2R_EventScript_239E1F, 857
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 7, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 1, MagmaHideout_2F_2R_EventScript_239E08, 857
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_2F_2R_EventScript_2914F8, 1165
+ object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 29, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 7, MagmaHideout_2F_2R_EventScript_239E4D, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 25, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, MagmaHideout_2F_2R_EventScript_239E36, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 21, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_2F_2R_EventScript_2914EB, FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR
+ object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, MagmaHideout_2F_2R_EventScript_239E1F, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 7, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 1, MagmaHideout_2F_2R_EventScript_239E08, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_2F_2R_EventScript_2914F8, FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE
MagmaHideout_2F_2R_MapWarps: @ 85373AC
warp_def 10, 22, 3, 0, MAP_MAGMA_HIDEOUT_2F_1R
diff --git a/data/maps/MagmaHideout_2F_2R/scripts.inc b/data/maps/MagmaHideout_2F_2R/scripts.inc
index 8b1e51f16..4fc06770c 100644
--- a/data/maps/MagmaHideout_2F_2R/scripts.inc
+++ b/data/maps/MagmaHideout_2F_2R/scripts.inc
@@ -2,23 +2,23 @@ MagmaHideout_2F_2R_MapScripts:: @ 8239E07
.byte 0
MagmaHideout_2F_2R_EventScript_239E08:: @ 8239E08
- trainerbattle 0, TRAINER_GRUNT_52, 0, MagmaHideout_2F_2R_Text_239E64, MagmaHideout_2F_2R_Text_239EA5
- msgbox MagmaHideout_2F_2R_Text_239EBB, 6
+ trainerbattle_single TRAINER_GRUNT_52, MagmaHideout_2F_2R_Text_239E64, MagmaHideout_2F_2R_Text_239EA5
+ msgbox MagmaHideout_2F_2R_Text_239EBB, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_2R_EventScript_239E1F:: @ 8239E1F
- trainerbattle 0, TRAINER_GRUNT_43, 0, MagmaHideout_2F_2R_Text_239F31, MagmaHideout_2F_2R_Text_239F71
- msgbox MagmaHideout_2F_2R_Text_239FA1, 6
+ trainerbattle_single TRAINER_GRUNT_43, MagmaHideout_2F_2R_Text_239F31, MagmaHideout_2F_2R_Text_239F71
+ msgbox MagmaHideout_2F_2R_Text_239FA1, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_2R_EventScript_239E36:: @ 8239E36
- trainerbattle 0, TRAINER_GRUNT_44, 0, MagmaHideout_2F_2R_Text_239FDE, MagmaHideout_2F_2R_Text_23A050
- msgbox MagmaHideout_2F_2R_Text_23A07D, 6
+ trainerbattle_single TRAINER_GRUNT_44, MagmaHideout_2F_2R_Text_239FDE, MagmaHideout_2F_2R_Text_23A050
+ msgbox MagmaHideout_2F_2R_Text_23A07D, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_2R_EventScript_239E4D:: @ 8239E4D
- trainerbattle 0, TRAINER_GRUNT_45, 0, MagmaHideout_2F_2R_Text_23A0E4, MagmaHideout_2F_2R_Text_23A14C
- msgbox MagmaHideout_2F_2R_Text_23A16F, 6
+ trainerbattle_single TRAINER_GRUNT_45, MagmaHideout_2F_2R_Text_23A0E4, MagmaHideout_2F_2R_Text_23A14C
+ msgbox MagmaHideout_2F_2R_Text_23A16F, MSGBOX_AUTOCLOSE
end
MagmaHideout_2F_2R_Text_239E64: @ 8239E64
diff --git a/data/maps/MagmaHideout_3F_1R/events.inc b/data/maps/MagmaHideout_3F_1R/events.inc
index 0f3ff3529..1fbad5042 100644
--- a/data/maps/MagmaHideout_3F_1R/events.inc
+++ b/data/maps/MagmaHideout_3F_1R/events.inc
@@ -1,7 +1,7 @@
MagmaHideout_3F_1R_EventObjects: @ 85373D0
- object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 2, 7, 4, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 5, MagmaHideout_3F_1R_EventScript_23A1B3, 857
- object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 21, 21, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, MagmaHideout_3F_1R_EventScript_23A1CA, 857
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 16, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_3F_1R_EventScript_291505, 1166
+ object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 2, 7, 4, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 5, MagmaHideout_3F_1R_EventScript_23A1B3, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 21, 21, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, MagmaHideout_3F_1R_EventScript_23A1CA, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 16, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_3F_1R_EventScript_291505, FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET
MagmaHideout_3F_1R_MapWarps: @ 8537418
warp_def 7, 21, 0, 0, MAP_MAGMA_HIDEOUT_4F
diff --git a/data/maps/MagmaHideout_3F_1R/scripts.inc b/data/maps/MagmaHideout_3F_1R/scripts.inc
index 068e71492..69fd661b2 100644
--- a/data/maps/MagmaHideout_3F_1R/scripts.inc
+++ b/data/maps/MagmaHideout_3F_1R/scripts.inc
@@ -2,13 +2,13 @@ MagmaHideout_3F_1R_MapScripts:: @ 823A1B2
.byte 0
MagmaHideout_3F_1R_EventScript_23A1B3:: @ 823A1B3
- trainerbattle 0, TRAINER_GRUNT_46, 0, MagmaHideout_3F_1R_Text_23A1E1, MagmaHideout_3F_1R_Text_23A229
- msgbox MagmaHideout_3F_1R_Text_23A246, 6
+ trainerbattle_single TRAINER_GRUNT_46, MagmaHideout_3F_1R_Text_23A1E1, MagmaHideout_3F_1R_Text_23A229
+ msgbox MagmaHideout_3F_1R_Text_23A246, MSGBOX_AUTOCLOSE
end
MagmaHideout_3F_1R_EventScript_23A1CA:: @ 823A1CA
- trainerbattle 0, TRAINER_GRUNT_53, 0, MagmaHideout_3F_1R_Text_23A293, MagmaHideout_3F_1R_Text_23A353
- msgbox MagmaHideout_3F_1R_Text_23A37C, 6
+ trainerbattle_single TRAINER_GRUNT_53, MagmaHideout_3F_1R_Text_23A293, MagmaHideout_3F_1R_Text_23A353
+ msgbox MagmaHideout_3F_1R_Text_23A37C, MSGBOX_AUTOCLOSE
end
MagmaHideout_3F_1R_Text_23A1E1: @ 823A1E1
diff --git a/data/maps/MagmaHideout_3F_2R/events.inc b/data/maps/MagmaHideout_3F_2R/events.inc
index d2bd79078..d00cbf423 100644
--- a/data/maps/MagmaHideout_3F_2R/events.inc
+++ b/data/maps/MagmaHideout_3F_2R/events.inc
@@ -1,6 +1,6 @@
MagmaHideout_3F_2R_EventObjects: @ 8537444
- object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 16, 3, 0, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, MagmaHideout_3F_2R_EventScript_23A3D5, 857
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 9, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_3F_2R_EventScript_291512, 1167
+ object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 16, 3, 0, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, MagmaHideout_3F_2R_EventScript_23A3D5, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 9, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_3F_2R_EventScript_291512, FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX
MagmaHideout_3F_2R_MapWarps: @ 8537474
warp_def 12, 15, 0, 1, MAP_MAGMA_HIDEOUT_3F_1R
diff --git a/data/maps/MagmaHideout_3F_2R/scripts.inc b/data/maps/MagmaHideout_3F_2R/scripts.inc
index 15d0c26ea..e4c232d32 100644
--- a/data/maps/MagmaHideout_3F_2R/scripts.inc
+++ b/data/maps/MagmaHideout_3F_2R/scripts.inc
@@ -2,8 +2,8 @@ MagmaHideout_3F_2R_MapScripts:: @ 823A3D4
.byte 0
MagmaHideout_3F_2R_EventScript_23A3D5:: @ 823A3D5
- trainerbattle 0, TRAINER_GRUNT_47, 0, MagmaHideout_3F_2R_Text_23A3EC, MagmaHideout_3F_2R_Text_23A4BB
- msgbox MagmaHideout_3F_2R_Text_23A4EF, 6
+ trainerbattle_single TRAINER_GRUNT_47, MagmaHideout_3F_2R_Text_23A3EC, MagmaHideout_3F_2R_Text_23A4BB
+ msgbox MagmaHideout_3F_2R_Text_23A4EF, MSGBOX_AUTOCLOSE
end
MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC
diff --git a/data/maps/MagmaHideout_3F_3R/events.inc b/data/maps/MagmaHideout_3F_3R/events.inc
index 2ced1f4fd..26ffa3dff 100644
--- a/data/maps/MagmaHideout_3F_3R/events.inc
+++ b/data/maps/MagmaHideout_3F_3R/events.inc
@@ -1,5 +1,5 @@
MagmaHideout_3F_3R_EventObjects: @ 8537574
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 19, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_3F_3R_EventScript_29152C, 1059
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 19, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_3F_3R_EventScript_29152C, FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE
MagmaHideout_3F_3R_MapWarps: @ 853758C
warp_def 16, 1, 0, 1, MAP_MAGMA_HIDEOUT_2F_3R
diff --git a/data/maps/MagmaHideout_4F/events.inc b/data/maps/MagmaHideout_4F/events.inc
index 435099c47..09e054109 100644
--- a/data/maps/MagmaHideout_4F/events.inc
+++ b/data/maps/MagmaHideout_4F/events.inc
@@ -1,12 +1,12 @@
MagmaHideout_4F_EventObjects: @ 8537490
- object_event 1, EVENT_OBJ_GFX_GROUDON_1, 0, 16, 17, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 853
- object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 31, 22, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, MagmaHideout_4F_EventScript_23A68C, 857
- object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 30, 13, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, MagmaHideout_4F_EventScript_23A6A3, 857
- object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 26, 13, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, MagmaHideout_4F_EventScript_23A6BA, 857
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 22, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, MagmaHideout_4F_EventScript_23A6D1, 857
- object_event 6, EVENT_OBJ_GFX_MAXIE, 0, 16, 21, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MagmaHideout_4F_EventScript_23A560, 857
- object_event 7, EVENT_OBJ_GFX_GROUDON_2, 0, 16, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 850
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 7, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_4F_EventScript_29151F, 1168
+ object_event 1, EVENT_OBJ_GFX_GROUDON_1, 0, 16, 17, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1
+ object_event 2, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 31, 22, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, MagmaHideout_4F_EventScript_23A68C, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 30, 13, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, MagmaHideout_4F_EventScript_23A6A3, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 26, 13, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, MagmaHideout_4F_EventScript_23A6BA, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 22, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, MagmaHideout_4F_EventScript_23A6D1, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 6, EVENT_OBJ_GFX_MAXIE, 0, 16, 21, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MagmaHideout_4F_EventScript_23A560, FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
+ object_event 7, EVENT_OBJ_GFX_GROUDON_2, 0, 16, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2
+ object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 7, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MagmaHideout_4F_EventScript_29151F, FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE
MagmaHideout_4F_MapWarps: @ 8537550
warp_def 46, 7, 0, 0, MAP_MAGMA_HIDEOUT_3F_1R
diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc
index 0cc0fea56..1eae21a57 100644
--- a/data/maps/MagmaHideout_4F/scripts.inc
+++ b/data/maps/MagmaHideout_4F/scripts.inc
@@ -4,7 +4,7 @@ MagmaHideout_4F_MapScripts:: @ 823A55F
MagmaHideout_4F_EventScript_23A560:: @ 823A560
lockall
playbgm MUS_MGM0, 0
- msgbox MagmaHideout_4F_Text_23A9F4, 4
+ msgbox MagmaHideout_4F_Text_23A9F4, MSGBOX_DEFAULT
closemessage
delay 20
setvar VAR_RESULT, 1
@@ -48,20 +48,20 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
delay 30
applymovement 6, MagmaHideout_4F_Movement_23A680
waitmovement 0
- msgbox MagmaHideout_4F_Text_23AADA, 4
+ msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT
closemessage
applymovement 255, MagmaHideout_4F_Movement_2725A8
waitmovement 0
delay 30
applymovement 6, MagmaHideout_4F_Movement_27259E
waitmovement 0
- msgbox MagmaHideout_4F_Text_23AB33, 4
+ msgbox MagmaHideout_4F_Text_23AB33, MSGBOX_DEFAULT
closemessage
- trainerbattle 3, TRAINER_MAXIE_1, 0, MagmaHideout_4F_Text_23ABB5
- msgbox MagmaHideout_4F_Text_23ABE2, 4
+ trainerbattle_no_intro TRAINER_MAXIE_1, MagmaHideout_4F_Text_23ABB5
+ msgbox MagmaHideout_4F_Text_23ABE2, MSGBOX_DEFAULT
closemessage
- clearflag FLAG_0x348
- clearflag FLAG_0x343
+ clearflag FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
+ clearflag FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
setvar VAR_0x4058, 1
setflag FLAG_0x06F
setvar VAR_0x40A0, 1
@@ -71,7 +71,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
removeobject 3
removeobject 4
removeobject 5
- setflag FLAG_0x359
+ setflag FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS
fadescreen 0
releaseall
end
@@ -109,23 +109,23 @@ MagmaHideout_4F_Movement_23A680: @ 823A680
step_end
MagmaHideout_4F_EventScript_23A68C:: @ 823A68C
- trainerbattle 0, TRAINER_GRUNT_48, 0, MagmaHideout_4F_Text_23A6E8, MagmaHideout_4F_Text_23A775
- msgbox MagmaHideout_4F_Text_23A7B5, 6
+ trainerbattle_single TRAINER_GRUNT_48, MagmaHideout_4F_Text_23A6E8, MagmaHideout_4F_Text_23A775
+ msgbox MagmaHideout_4F_Text_23A7B5, MSGBOX_AUTOCLOSE
end
MagmaHideout_4F_EventScript_23A6A3:: @ 823A6A3
- trainerbattle 0, TRAINER_GRUNT_49, 0, MagmaHideout_4F_Text_23A7DA, MagmaHideout_4F_Text_23A81B
- msgbox MagmaHideout_4F_Text_23A841, 6
+ trainerbattle_single TRAINER_GRUNT_49, MagmaHideout_4F_Text_23A7DA, MagmaHideout_4F_Text_23A81B
+ msgbox MagmaHideout_4F_Text_23A841, MSGBOX_AUTOCLOSE
end
MagmaHideout_4F_EventScript_23A6BA:: @ 823A6BA
- trainerbattle 0, TRAINER_GRUNT_50, 0, MagmaHideout_4F_Text_23A86D, MagmaHideout_4F_Text_23A8A7
- msgbox MagmaHideout_4F_Text_23A8C6, 6
+ trainerbattle_single TRAINER_GRUNT_50, MagmaHideout_4F_Text_23A86D, MagmaHideout_4F_Text_23A8A7
+ msgbox MagmaHideout_4F_Text_23A8C6, MSGBOX_AUTOCLOSE
end
MagmaHideout_4F_EventScript_23A6D1:: @ 823A6D1
- trainerbattle 0, TRAINER_TABITHA_3, 0, MagmaHideout_4F_Text_23A8E1, MagmaHideout_4F_Text_23A994
- msgbox MagmaHideout_4F_Text_23A9AC, 6
+ trainerbattle_single TRAINER_TABITHA_3, MagmaHideout_4F_Text_23A8E1, MagmaHideout_4F_Text_23A994
+ msgbox MagmaHideout_4F_Text_23A9AC, MSGBOX_AUTOCLOSE
end
MagmaHideout_4F_Text_23A6E8: @ 823A6E8
diff --git a/data/maps/MarineCave_End/events.inc b/data/maps/MarineCave_End/events.inc
index 8569e33ec..62d1cd37e 100644
--- a/data/maps/MarineCave_End/events.inc
+++ b/data/maps/MarineCave_End/events.inc
@@ -1,5 +1,5 @@
MarineCave_End_EventObjects: @ 85377E8
- object_event 1, EVENT_OBJ_GFX_KYOGRE_1, 0, 9, 22, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 782
+ object_event 1, EVENT_OBJ_GFX_KYOGRE_1, 0, 9, 22, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_MARINE_CAVE_KYOGRE
MarineCave_End_MapWarps: @ 8537800
warp_def 20, 4, 0, 0, MAP_MARINE_CAVE_ENTRANCE
diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc
index d6b4bbd8d..f61620c29 100644
--- a/data/maps/MarineCave_End/scripts.inc
+++ b/data/maps/MarineCave_End/scripts.inc
@@ -21,7 +21,7 @@ MarineCave_End_MapScript1_23B008: @ 823B008
end
MarineCave_End_EventScript_23B012:: @ 823B012
- clearflag FLAG_0x30E
+ clearflag FLAG_HIDE_MARINE_CAVE_KYOGRE
setvar VAR_TEMP_1, 1
return
diff --git a/data/maps/MauvilleCity/events.inc b/data/maps/MauvilleCity/events.inc
index 17ae4a327..ebdc866f5 100644
--- a/data/maps/MauvilleCity/events.inc
+++ b/data/maps/MauvilleCity/events.inc
@@ -4,12 +4,12 @@ MauvilleCity_EventObjects: @ 852662C
object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 14, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3BC, 0
object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 18, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3C5, 0
object_event 5, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 17, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3FB, 0
- object_event 6, EVENT_OBJ_GFX_WALLY, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MauvilleCity_EventScript_1DF452, 804
- object_event 7, EVENT_OBJ_GFX_POKEFAN_M, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_EventScript_1DF41D, 805
- object_event 8, EVENT_OBJ_GFX_WATTSON, 0, 29, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_EventScript_1DF73A, 912
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 28, 19, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_EventScript_2910CE, 1116
+ object_event 6, EVENT_OBJ_GFX_WALLY, 0, 8, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MauvilleCity_EventScript_1DF452, FLAG_HIDE_MAUVILLE_CITY_WALLY
+ object_event 7, EVENT_OBJ_GFX_POKEFAN_M, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_EventScript_1DF41D, FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE
+ object_event 8, EVENT_OBJ_GFX_WATTSON, 0, 29, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_EventScript_1DF73A, FLAG_HIDE_MAUVILLE_CITY_WATTSON
+ object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 28, 19, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_EventScript_2910CE, FLAG_ITEM_MAUVILLE_CITY_X_SPEED
object_event 10, EVENT_OBJ_GFX_FAT_MAN, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MauvilleCity_EventScript_2C7F7E, 0
- object_event 11, EVENT_OBJ_GFX_SCOTT, 0, 12, 14, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 765
+ object_event 11, EVENT_OBJ_GFX_SCOTT, 0, 12, 14, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_MAUVILLE_CITY_SCOTT
MauvilleCity_MapWarps: @ 8526734
warp_def 8, 5, 0, 0, MAP_MAUVILLE_CITY_GYM
diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc
index abb527d7f..cc15974a2 100644
--- a/data/maps/MauvilleCity/scripts.inc
+++ b/data/maps/MauvilleCity/scripts.inc
@@ -5,7 +5,7 @@ MauvilleCity_MapScripts:: @ 81DF385
MauvilleCity_MapScript1_1DF38B: @ 81DF38B
setflag FLAG_VISITED_MAUVILLE_CITY
clearflag FLAG_0x09D
- clearflag FLAG_SPRITEVIS_SLATEPORT_MUSEUM_POPULATION
+ clearflag FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
setflag FLAG_SYS_TV_START
clearflag FLAG_0x063
setvar VAR_0x4093, 0
@@ -14,41 +14,41 @@ MauvilleCity_MapScript1_1DF38B: @ 81DF38B
end
MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9
- clearflag FLAG_SPRITEVIS_MAUVILLE_GYM_WATTSON
- setflag FLAG_SPRITEVIS_MAUVILLE_CITY_WATTSON
+ clearflag FLAG_HIDE_MAUVILLE_GYM_WATTSON
+ setflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
setflag FLAG_WATTSON_REMATCH_AVAILABLE
return
MauvilleCity_EventScript_1DF3B3:: @ 81DF3B3
- msgbox MauvilleCity_Text_1E0301, 2
+ msgbox MauvilleCity_Text_1E0301, MSGBOX_NPC
end
MauvilleCity_EventScript_1DF3BC:: @ 81DF3BC
- msgbox MauvilleCity_Text_1E037C, 2
+ msgbox MauvilleCity_Text_1E037C, MSGBOX_NPC
end
MauvilleCity_EventScript_1DF3C5:: @ 81DF3C5
- msgbox MauvilleCity_Text_1E03FB, 2
+ msgbox MauvilleCity_Text_1E03FB, MSGBOX_NPC
end
MauvilleCity_EventScript_1DF3CE:: @ 81DF3CE
- msgbox MauvilleCity_Text_1E044A, 2
+ msgbox MauvilleCity_Text_1E044A, MSGBOX_NPC
end
MauvilleCity_EventScript_1DF3D7:: @ 81DF3D7
- msgbox MauvilleCity_Text_1E0485, 3
+ msgbox MauvilleCity_Text_1E0485, MSGBOX_SIGN
end
MauvilleCity_EventScript_1DF3E0:: @ 81DF3E0
- msgbox MauvilleCity_Text_1E04B7, 3
+ msgbox MauvilleCity_Text_1E04B7, MSGBOX_SIGN
end
MauvilleCity_EventScript_1DF3E9:: @ 81DF3E9
- msgbox MauvilleCity_Text_1E0504, 3
+ msgbox MauvilleCity_Text_1E0504, MSGBOX_SIGN
end
MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2
- msgbox MauvilleCity_Text_1E053C, 3
+ msgbox MauvilleCity_Text_1E053C, MSGBOX_SIGN
end
MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB
@@ -56,13 +56,13 @@ MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB
faceplayer
checkflag FLAG_0x062
goto_eq MauvilleCity_EventScript_1DF413
- msgbox MauvilleCity_Text_1E056A, 4
+ msgbox MauvilleCity_Text_1E056A, MSGBOX_DEFAULT
setflag FLAG_0x062
release
end
MauvilleCity_EventScript_1DF413:: @ 81DF413
- msgbox MauvilleCity_Text_1E0699, 4
+ msgbox MauvilleCity_Text_1E0699, MSGBOX_DEFAULT
release
end
@@ -71,7 +71,7 @@ MauvilleCity_EventScript_1DF41D:: @ 81DF41D
faceplayer
checkflag FLAG_0x11C
goto_eq MauvilleCity_EventScript_1DF43D
- msgbox MauvilleCity_Text_1DF7DC, 4
+ msgbox MauvilleCity_Text_1DF7DC, MSGBOX_DEFAULT
closemessage
applymovement 7, MauvilleCity_Movement_2725A2
waitmovement 0
@@ -79,7 +79,7 @@ MauvilleCity_EventScript_1DF41D:: @ 81DF41D
end
MauvilleCity_EventScript_1DF43D:: @ 81DF43D
- msgbox MauvilleCity_Text_1DFAA5, 4
+ msgbox MauvilleCity_Text_1DFAA5, MSGBOX_DEFAULT
closemessage
applymovement 7, MauvilleCity_Movement_2725A2
waitmovement 0
@@ -92,9 +92,9 @@ MauvilleCity_EventScript_1DF452:: @ 81DF452
goto_eq MauvilleCity_EventScript_1DF690
applymovement 6, MauvilleCity_Movement_2725A8
waitmovement 0
- msgbox MauvilleCity_Text_1DF845, 4
- msgbox MauvilleCity_Text_1DF8B9, 4
- msgbox MauvilleCity_Text_1DF963, 4
+ msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_1DF8B9, MSGBOX_DEFAULT
+ msgbox MauvilleCity_Text_1DF963, MSGBOX_DEFAULT
applymovement 6, MauvilleCity_Movement_27259E
waitmovement 0
playse SE_PIN
@@ -102,7 +102,7 @@ MauvilleCity_EventScript_1DF452:: @ 81DF452
waitmovement 0
applymovement 6, MauvilleCity_Movement_27259A
waitmovement 0
- msgbox MauvilleCity_Text_1DF9B2, 5
+ msgbox MauvilleCity_Text_1DF9B2, MSGBOX_YESNO
goto MauvilleCity_EventScript_1DF4AD
end
@@ -128,7 +128,7 @@ MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0
applymovement 255, MauvilleCity_Movement_1DF6EE
applymovement 7, MauvilleCity_Movement_1DF6F3
waitmovement 0
- msgbox MauvilleCity_Text_1DFD34, 4
+ msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT
closemessage
applymovement 255, MauvilleCity_Movement_1DF6CC
applymovement 7, MauvilleCity_Movement_1DF6FA
@@ -147,7 +147,7 @@ MauvilleCity_EventScript_1DF53D:: @ 81DF53D
delay 30
applymovement 7, MauvilleCity_Movement_1DF6F7
waitmovement 0
- msgbox MauvilleCity_Text_1DFD34, 4
+ msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT
closemessage
applymovement 255, MauvilleCity_Movement_1DF6D0
applymovement 7, MauvilleCity_Movement_1DF703
@@ -159,8 +159,8 @@ MauvilleCity_EventScript_1DF53D:: @ 81DF53D
MauvilleCity_EventScript_1DF593:: @ 81DF593
removeobject 6
removeobject 7
- clearflag FLAG_0x326
- clearflag FLAG_0x329
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE
setflag FLAG_0x0BE
setvar VAR_0x40F2, 0
setflag FLAG_0x088
@@ -170,7 +170,7 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593
call_if 1, MauvilleCity_EventScript_1DF601
applymovement 255, MauvilleCity_Movement_2725AA
waitmovement 0
- msgbox MauvilleCity_Text_1DFED5, 4
+ msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT
closemessage
addvar VAR_0x40D1, 1
compare VAR_FACING, 2
@@ -207,29 +207,29 @@ MauvilleCity_EventScript_1DF628:: @ 81DF628
return
MauvilleCity_EventScript_1DF63A:: @ 81DF63A
- msgbox MauvilleCity_Text_1DFB6D, 4
- trainerbattle 3, TRAINER_WALLY_2, 0, MauvilleCity_Text_1DFB96
+ msgbox MauvilleCity_Text_1DFB6D, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_WALLY_2, MauvilleCity_Text_1DFB96
applymovement 6, MauvilleCity_Movement_2725A8
waitmovement 0
- msgbox MauvilleCity_Text_1DFBC3, 4
+ msgbox MauvilleCity_Text_1DFBC3, MSGBOX_DEFAULT
applymovement 6, MauvilleCity_Movement_27259E
waitmovement 0
- msgbox MauvilleCity_Text_1DFBED, 4
+ msgbox MauvilleCity_Text_1DFBED, MSGBOX_DEFAULT
applymovement 6, MauvilleCity_Movement_2725A8
waitmovement 0
- msgbox MauvilleCity_Text_1DFC8A, 4
+ msgbox MauvilleCity_Text_1DFC8A, MSGBOX_DEFAULT
return
MauvilleCity_EventScript_1DF683:: @ 81DF683
setflag FLAG_0x11C
- msgbox MauvilleCity_Text_1DFA4A, 4
+ msgbox MauvilleCity_Text_1DFA4A, MSGBOX_DEFAULT
release
end
MauvilleCity_EventScript_1DF690:: @ 81DF690
applymovement 6, MauvilleCity_Movement_27259E
waitmovement 0
- msgbox MauvilleCity_Text_1DFB42, 5
+ msgbox MauvilleCity_Text_1DFB42, MSGBOX_YESNO
goto MauvilleCity_EventScript_1DF4AD
end
@@ -430,30 +430,30 @@ MauvilleCity_EventScript_1DF73A:: @ 81DF73A
goto_eq MauvilleCity_EventScript_1DF784
checkflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON
goto_eq MauvilleCity_EventScript_1DF77A
- msgbox MauvilleCity_Text_1DFFE4, 4
+ msgbox MauvilleCity_Text_1DFFE4, MSGBOX_DEFAULT
giveitem_std ITEM_BASEMENT_KEY
setflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON
- msgbox MauvilleCity_Text_1E0154, 4
+ msgbox MauvilleCity_Text_1E0154, MSGBOX_DEFAULT
release
end
MauvilleCity_EventScript_1DF77A:: @ 81DF77A
- msgbox MauvilleCity_Text_1E0154, 4
+ msgbox MauvilleCity_Text_1E0154, MSGBOX_DEFAULT
release
end
MauvilleCity_EventScript_1DF784:: @ 81DF784
- msgbox MauvilleCity_Text_1E020E, 4
+ msgbox MauvilleCity_Text_1E020E, MSGBOX_DEFAULT
giveitem_std ITEM_TM24
compare VAR_RESULT, 0
goto_eq MauvilleCity_EventScript_272054
setflag FLAG_GOT_TM24_FROM_WATTSON
- msgbox MauvilleCity_Text_1E02AA, 4
+ msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT
release
end
MauvilleCity_EventScript_1DF7B0:: @ 81DF7B0
- msgbox MauvilleCity_Text_1E02AA, 4
+ msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT
release
end
@@ -463,7 +463,7 @@ MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA
waitmessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox MauvilleCity_Text_1DFEB4, 4
+ msgbox MauvilleCity_Text_1DFEB4, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc
index 0231e5bde..2e0fac7c2 100644
--- a/data/maps/MauvilleCity_BikeShop/scripts.inc
+++ b/data/maps/MauvilleCity_BikeShop/scripts.inc
@@ -8,8 +8,8 @@ MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC
goto_eq MauvilleCity_BikeShop_EventScript_20EC94
checkflag FLAG_0x059
goto_eq MauvilleCity_BikeShop_EventScript_20EBF7
- msgbox MauvilleCity_BikeShop_Text_20EE22, 4
- msgbox MauvilleCity_BikeShop_Text_20EE99, 5
+ msgbox MauvilleCity_BikeShop_Text_20EE22, MSGBOX_DEFAULT
+ msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_BikeShop_EventScript_20EC4A
compare VAR_RESULT, 0
@@ -17,7 +17,7 @@ MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC
end
MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7
- msgbox MauvilleCity_BikeShop_Text_20EE99, 5
+ msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_BikeShop_EventScript_20EC4A
compare VAR_RESULT, 0
@@ -35,7 +35,7 @@ MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16
MauvilleCity_BikeShop_EventScript_20EC3D:: @ 820EC3D
setflag FLAG_0x059
- msgbox MauvilleCity_BikeShop_Text_20EEE8, 4
+ msgbox MauvilleCity_BikeShop_Text_20EEE8, MSGBOX_DEFAULT
release
end
@@ -45,25 +45,25 @@ MauvilleCity_BikeShop_EventScript_20EC4A:: @ 820EC4A
end
MauvilleCity_BikeShop_EventScript_20EC53:: @ 820EC53
- msgbox MauvilleCity_BikeShop_Text_20F18D, 4
+ msgbox MauvilleCity_BikeShop_Text_20F18D, MSGBOX_DEFAULT
giveitem_std ITEM_MACH_BIKE
goto MauvilleCity_BikeShop_EventScript_20EC87
end
MauvilleCity_BikeShop_EventScript_20EC6D:: @ 820EC6D
- msgbox MauvilleCity_BikeShop_Text_20F1A5, 4
+ msgbox MauvilleCity_BikeShop_Text_20F1A5, MSGBOX_DEFAULT
giveitem_std ITEM_ACRO_BIKE
goto MauvilleCity_BikeShop_EventScript_20EC87
end
MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87
- msgbox MauvilleCity_BikeShop_Text_20F1BD, 4
+ msgbox MauvilleCity_BikeShop_Text_20F1BD, MSGBOX_DEFAULT
special SwapRegisteredBike
release
end
MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94
- msgbox MauvilleCity_BikeShop_Text_20F1FB, 5
+ msgbox MauvilleCity_BikeShop_Text_20F1FB, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_BikeShop_EventScript_20ECB3
compare VAR_RESULT, 0
@@ -71,25 +71,25 @@ MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94
end
MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3
- msgbox MauvilleCity_BikeShop_Text_20F22F, 4
+ msgbox MauvilleCity_BikeShop_Text_20F22F, MSGBOX_DEFAULT
checkitem ITEM_ACRO_BIKE, 1
compare VAR_RESULT, 1
goto_eq MauvilleCity_BikeShop_EventScript_20ECEF
checkitem ITEM_MACH_BIKE, 1
compare VAR_RESULT, 1
goto_eq MauvilleCity_BikeShop_EventScript_20ED10
- msgbox MauvilleCity_BikeShop_Text_20F2F3, 4
+ msgbox MauvilleCity_BikeShop_Text_20F2F3, MSGBOX_DEFAULT
release
end
MauvilleCity_BikeShop_EventScript_20ECE5:: @ 820ECE5
- msgbox MauvilleCity_BikeShop_Text_20F2C4, 4
+ msgbox MauvilleCity_BikeShop_Text_20F2C4, MSGBOX_DEFAULT
release
end
MauvilleCity_BikeShop_EventScript_20ECEF:: @ 820ECEF
incrementgamestat 4
- msgbox MauvilleCity_BikeShop_Text_20F294, 4
+ msgbox MauvilleCity_BikeShop_Text_20F294, MSGBOX_DEFAULT
takeitem ITEM_ACRO_BIKE, 1
giveitem_std ITEM_MACH_BIKE
goto MauvilleCity_BikeShop_EventScript_20EC87
@@ -97,14 +97,14 @@ MauvilleCity_BikeShop_EventScript_20ECEF:: @ 820ECEF
MauvilleCity_BikeShop_EventScript_20ED10:: @ 820ED10
incrementgamestat 4
- msgbox MauvilleCity_BikeShop_Text_20F263, 4
+ msgbox MauvilleCity_BikeShop_Text_20F263, MSGBOX_DEFAULT
takeitem ITEM_MACH_BIKE, 1
giveitem_std ITEM_ACRO_BIKE
goto MauvilleCity_BikeShop_EventScript_20EC87
end
MauvilleCity_BikeShop_EventScript_20ED31:: @ 820ED31
- msgbox MauvilleCity_BikeShop_Text_20F3C3, 2
+ msgbox MauvilleCity_BikeShop_Text_20F3C3, MSGBOX_NPC
end
MauvilleCity_BikeShop_EventScript_20ED3A:: @ 820ED3A
diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc
index 733581b74..404cd62e7 100644
--- a/data/maps/MauvilleCity_GameCorner/scripts.inc
+++ b/data/maps/MauvilleCity_GameCorner/scripts.inc
@@ -4,7 +4,7 @@ MauvilleCity_GameCorner_MapScripts:: @ 820FBB8
MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210460, 4
+ msgbox MauvilleCity_GameCorner_Text_210460, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_20FCB7
@@ -43,7 +43,7 @@ MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33
nop
updatecoinsbox 1, 6
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210529, 4
+ msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -64,7 +64,7 @@ MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75
nop
updatecoinsbox 1, 6
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210529, 4
+ msgbox MauvilleCity_GameCorner_Text_210529, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -73,12 +73,12 @@ MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75
end
MauvilleCity_GameCorner_EventScript_20FCB7:: @ 820FCB7
- msgbox MauvilleCity_GameCorner_Text_21047E, 4
+ msgbox MauvilleCity_GameCorner_Text_21047E, MSGBOX_DEFAULT
release
end
MauvilleCity_GameCorner_EventScript_20FCC1:: @ 820FCC1
- msgbox MauvilleCity_GameCorner_Text_210553, 4
+ msgbox MauvilleCity_GameCorner_Text_210553, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -87,7 +87,7 @@ MauvilleCity_GameCorner_EventScript_20FCC1:: @ 820FCC1
end
MauvilleCity_GameCorner_EventScript_20FCD1:: @ 820FCD1
- msgbox MauvilleCity_GameCorner_Text_21059A, 4
+ msgbox MauvilleCity_GameCorner_Text_21059A, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -96,7 +96,7 @@ MauvilleCity_GameCorner_EventScript_20FCD1:: @ 820FCD1
end
MauvilleCity_GameCorner_EventScript_20FCE1:: @ 820FCE1
- msgbox MauvilleCity_GameCorner_Text_21057E, 4
+ msgbox MauvilleCity_GameCorner_Text_21057E, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -107,7 +107,7 @@ MauvilleCity_GameCorner_EventScript_20FCE1:: @ 820FCE1
MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_2105D7, 4
+ msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 1
goto_eq MauvilleCity_GameCorner_EventScript_20FD0D
@@ -152,7 +152,7 @@ MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83
goto MauvilleCity_GameCorner_EventScript_20FD91
MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91
- msgbox MauvilleCity_GameCorner_Text_210705, 5
+ msgbox MauvilleCity_GameCorner_Text_210705, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_20FE92
switch VAR_TEMP_1
@@ -173,7 +173,7 @@ MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB
givedecoration 88
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210646, 4
+ msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FD20
end
@@ -189,7 +189,7 @@ MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05
givedecoration 89
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210646, 4
+ msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FD20
end
@@ -205,12 +205,12 @@ MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F
givedecoration 90
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_210646, 4
+ msgbox MauvilleCity_GameCorner_Text_210646, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FD20
end
MauvilleCity_GameCorner_EventScript_20FE79:: @ 820FE79
- msgbox MauvilleCity_GameCorner_Text_210673, 4
+ msgbox MauvilleCity_GameCorner_Text_210673, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FD20
end
@@ -220,7 +220,7 @@ MauvilleCity_GameCorner_EventScript_20FE87:: @ 820FE87
end
MauvilleCity_GameCorner_EventScript_20FE92:: @ 820FE92
- msgbox MauvilleCity_GameCorner_Text_2106BF, 4
+ msgbox MauvilleCity_GameCorner_Text_2106BF, MSGBOX_DEFAULT
hidecoinsbox 0, 0
release
end
@@ -228,7 +228,7 @@ MauvilleCity_GameCorner_EventScript_20FE92:: @ 820FE92
MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_2105D7, 4
+ msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 1
goto_eq MauvilleCity_GameCorner_EventScript_20FEBB
@@ -291,7 +291,7 @@ MauvilleCity_GameCorner_EventScript_20FF77:: @ 820FF77
MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A
special sub_81398C0
- msgbox MauvilleCity_GameCorner_Text_210629, 5
+ msgbox MauvilleCity_GameCorner_Text_210629, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_210118
switch VAR_TEMP_1
@@ -313,7 +313,7 @@ MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD
giveitem ITEM_TM32, 1
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FECE
end
@@ -328,7 +328,7 @@ MauvilleCity_GameCorner_EventScript_210017:: @ 8210017
giveitem ITEM_TM29, 1
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FECE
end
@@ -343,7 +343,7 @@ MauvilleCity_GameCorner_EventScript_210051:: @ 8210051
giveitem ITEM_TM35, 1
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FECE
end
@@ -358,7 +358,7 @@ MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B
giveitem ITEM_TM24, 1
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FECE
end
@@ -373,12 +373,12 @@ MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5
giveitem ITEM_TM13, 1
updatecoinsbox 1, 1
playse SE_REGI
- msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ msgbox MauvilleCity_GameCorner_Text_21071B, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FECE
end
MauvilleCity_GameCorner_EventScript_2100FF:: @ 82100FF
- msgbox MauvilleCity_GameCorner_Text_210673, 4
+ msgbox MauvilleCity_GameCorner_Text_210673, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_20FECE
end
@@ -388,17 +388,17 @@ MauvilleCity_GameCorner_EventScript_21010D:: @ 821010D
end
MauvilleCity_GameCorner_EventScript_210118:: @ 8210118
- msgbox MauvilleCity_GameCorner_Text_2106BF, 4
+ msgbox MauvilleCity_GameCorner_Text_2106BF, MSGBOX_DEFAULT
hidecoinsbox 0, 0
release
end
MauvilleCity_GameCorner_EventScript_210125:: @ 8210125
- msgbox MauvilleCity_GameCorner_Text_2109D3, 2
+ msgbox MauvilleCity_GameCorner_Text_2109D3, MSGBOX_NPC
end
MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E
- msgbox MauvilleCity_GameCorner_Text_210A05, 2
+ msgbox MauvilleCity_GameCorner_Text_210A05, MSGBOX_NPC
end
MauvilleCity_GameCorner_EventScript_210137:: @ 8210137
@@ -406,7 +406,7 @@ MauvilleCity_GameCorner_EventScript_210137:: @ 8210137
faceplayer
checkflag FLAG_0x0E2
goto_eq MauvilleCity_GameCorner_EventScript_210213
- msgbox MauvilleCity_GameCorner_Text_210750, 5
+ msgbox MauvilleCity_GameCorner_Text_210750, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_210209
switch VAR_STARTER_MON
@@ -420,7 +420,7 @@ MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C
checkdecorspace 88
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_2101FA
- msgbox MauvilleCity_GameCorner_Text_21079C, 4
+ msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
givedecoration_std 88
setflag FLAG_0x0E2
goto MauvilleCity_GameCorner_EventScript_210213
@@ -431,7 +431,7 @@ MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6
checkdecorspace 89
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_2101FA
- msgbox MauvilleCity_GameCorner_Text_21079C, 4
+ msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
givedecoration_std 89
setflag FLAG_0x0E2
goto MauvilleCity_GameCorner_EventScript_210213
@@ -442,7 +442,7 @@ MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0
checkdecorspace 90
compare VAR_RESULT, 0
goto_eq MauvilleCity_GameCorner_EventScript_2101FA
- msgbox MauvilleCity_GameCorner_Text_21079C, 4
+ msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
givedecoration_std 90
setflag FLAG_0x0E2
goto MauvilleCity_GameCorner_EventScript_210213
@@ -450,17 +450,17 @@ MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0
MauvilleCity_GameCorner_EventScript_2101FA:: @ 82101FA
call MauvilleCity_GameCorner_EventScript_272071
- msgbox MauvilleCity_GameCorner_Text_2107A9, 4
+ msgbox MauvilleCity_GameCorner_Text_2107A9, MSGBOX_DEFAULT
release
end
MauvilleCity_GameCorner_EventScript_210209:: @ 8210209
- msgbox MauvilleCity_GameCorner_Text_2107CE, 4
+ msgbox MauvilleCity_GameCorner_Text_2107CE, MSGBOX_DEFAULT
release
end
MauvilleCity_GameCorner_EventScript_210213:: @ 8210213
- msgbox MauvilleCity_GameCorner_Text_2107FB, 4
+ msgbox MauvilleCity_GameCorner_Text_2107FB, MSGBOX_DEFAULT
release
end
@@ -470,7 +470,7 @@ MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 1
goto_eq MauvilleCity_GameCorner_EventScript_21023D
- msgbox MauvilleCity_GameCorner_Text_210830, 4
+ msgbox MauvilleCity_GameCorner_Text_210830, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
@@ -482,34 +482,34 @@ MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D
goto_if 4, MauvilleCity_GameCorner_EventScript_21026B
setflag FLAG_0x0E1
givecoins 20
- msgbox MauvilleCity_GameCorner_Text_2108A0, 4
+ msgbox MauvilleCity_GameCorner_Text_2108A0, MSGBOX_DEFAULT
playse SE_REGI
goto MauvilleCity_GameCorner_EventScript_21026B
end
MauvilleCity_GameCorner_EventScript_21026B:: @ 821026B
- msgbox MauvilleCity_GameCorner_Text_2108EF, 4
+ msgbox MauvilleCity_GameCorner_Text_2108EF, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
MauvilleCity_GameCorner_EventScript_210279:: @ 8210279
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210932, 4
+ msgbox MauvilleCity_GameCorner_Text_210932, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
MauvilleCity_GameCorner_EventScript_210289:: @ 8210289
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_21098E, 4
+ msgbox MauvilleCity_GameCorner_Text_21098E, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
MauvilleCity_GameCorner_EventScript_210299:: @ 8210299
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210A51, 4
+ msgbox MauvilleCity_GameCorner_Text_210A51, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
@@ -523,14 +523,14 @@ MauvilleCity_GameCorner_EventScript_2102A9:: @ 82102A9
MauvilleCity_GameCorner_EventScript_2102B6:: @ 82102B6
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210A82, 4
+ msgbox MauvilleCity_GameCorner_Text_210A82, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
MauvilleCity_GameCorner_EventScript_2102C6:: @ 82102C6
lock
faceplayer
- msgbox MauvilleCity_GameCorner_Text_210B04, 4
+ msgbox MauvilleCity_GameCorner_Text_210B04, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
@@ -667,7 +667,7 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436
end
MauvilleCity_GameCorner_EventScript_210456:: @ 8210456
- msgbox MauvilleCity_GameCorner_Text_210C2E, 4
+ msgbox MauvilleCity_GameCorner_Text_210C2E, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/MauvilleCity_Gym/events.inc b/data/maps/MauvilleCity_Gym/events.inc
index 84e6f7eff..4a05acafb 100644
--- a/data/maps/MauvilleCity_Gym/events.inc
+++ b/data/maps/MauvilleCity_Gym/events.inc
@@ -1,5 +1,5 @@
MauvilleCity_Gym_EventObjects: @ 852FD5C
- object_event 1, EVENT_OBJ_GFX_WATTSON, 0, 5, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_20DEEB, 913
+ object_event 1, EVENT_OBJ_GFX_WATTSON, 0, 5, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_20DEEB, FLAG_HIDE_MAUVILLE_GYM_WATTSON
object_event 2, EVENT_OBJ_GFX_MAN_5, 0, 7, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, MauvilleCity_Gym_EventScript_20E0D0, 0
object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 1, 16, 0, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0FE, 0
object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 5, 10, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0E7, 0
diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc
index 049833db0..5996fda47 100644
--- a/data/maps/MauvilleCity_Gym/scripts.inc
+++ b/data/maps/MauvilleCity_Gym/scripts.inc
@@ -76,7 +76,7 @@ MauvilleCity_Gym_EventScript_20DEE7:: @ 820DEE7
end
MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB
- trainerbattle 1, TRAINER_WATTSON_1, 0, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B
+ 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
@@ -84,7 +84,7 @@ MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB
goto_if 0, MauvilleCity_Gym_EventScript_20DF8D
compare VAR_0x40BA, 2
goto_eq MauvilleCity_Gym_EventScript_20DFD4
- msgbox MauvilleCity_Gym_Text_20E8E3, 4
+ msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT
release
end
@@ -92,9 +92,9 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
message MauvilleCity_Gym_Text_20E77F
waitmessage
call MauvilleCity_Gym_EventScript_27207E
- msgbox MauvilleCity_Gym_Text_20E7AA, 4
+ msgbox MauvilleCity_Gym_Text_20E7AA, MSGBOX_DEFAULT
setvar VAR_0x40D2, 3
- clearflag FLAG_0x2FE
+ clearflag FLAG_HIDE_VERDANTURF_TOWN_SCOTT
setflag FLAG_0x4F2
setflag FLAG_BADGE03_GET
addvar VAR_0x4085, 1
@@ -109,7 +109,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox MauvilleCity_Gym_Text_20E8B5, 4
+ msgbox MauvilleCity_Gym_Text_20E8B5, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -121,7 +121,7 @@ MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D
giveitem_std ITEM_TM34
compare VAR_RESULT, 0
goto_eq MauvilleCity_Gym_EventScript_272054
- msgbox MauvilleCity_Gym_Text_20E844, 4
+ msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT
setflag FLAG_0x0A7
release
end
@@ -130,18 +130,18 @@ MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1
giveitem_std ITEM_TM34
compare VAR_RESULT, 0
goto_eq MauvilleCity_Gym_EventScript_27205E
- msgbox MauvilleCity_Gym_Text_20E844, 4
+ msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT
setflag FLAG_0x0A7
return
MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4
- msgbox MauvilleCity_Gym_Text_20E925, 4
+ msgbox MauvilleCity_Gym_Text_20E925, MSGBOX_DEFAULT
release
end
MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE
- trainerbattle 7, TRAINER_WATTSON_1, 0, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD
- msgbox MauvilleCity_Gym_Text_20EA5E, 6
+ trainerbattle_rematch_double TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD
+ msgbox MauvilleCity_Gym_Text_20EA5E, MSGBOX_AUTOCLOSE
end
MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9
@@ -215,28 +215,28 @@ MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4
end
MauvilleCity_Gym_EventScript_20E0B9:: @ 820E0B9
- trainerbattle 0, TRAINER_KIRK, 0, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC
- msgbox MauvilleCity_Gym_Text_20E336, 6
+ trainerbattle_single TRAINER_KIRK, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC
+ msgbox MauvilleCity_Gym_Text_20E336, MSGBOX_AUTOCLOSE
end
MauvilleCity_Gym_EventScript_20E0D0:: @ 820E0D0
- trainerbattle 0, TRAINER_SHAWN, 0, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7
- msgbox MauvilleCity_Gym_Text_20E3C1, 6
+ trainerbattle_single TRAINER_SHAWN, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7
+ msgbox MauvilleCity_Gym_Text_20E3C1, MSGBOX_AUTOCLOSE
end
MauvilleCity_Gym_EventScript_20E0E7:: @ 820E0E7
- trainerbattle 0, TRAINER_BEN, 0, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469
- msgbox MauvilleCity_Gym_Text_20E47E, 6
+ trainerbattle_single TRAINER_BEN, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469
+ msgbox MauvilleCity_Gym_Text_20E47E, MSGBOX_AUTOCLOSE
end
MauvilleCity_Gym_EventScript_20E0FE:: @ 820E0FE
- trainerbattle 0, TRAINER_VIVIAN, 0, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4
- msgbox MauvilleCity_Gym_Text_20E50F, 6
+ trainerbattle_single TRAINER_VIVIAN, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4
+ msgbox MauvilleCity_Gym_Text_20E50F, MSGBOX_AUTOCLOSE
end
MauvilleCity_Gym_EventScript_20E115:: @ 820E115
- trainerbattle 0, TRAINER_ANGELO, 0, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8
- msgbox MauvilleCity_Gym_Text_20E5C2, 6
+ trainerbattle_single TRAINER_ANGELO, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8
+ msgbox MauvilleCity_Gym_Text_20E5C2, MSGBOX_AUTOCLOSE
end
MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C
@@ -244,12 +244,12 @@ MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C
faceplayer
checkflag FLAG_0x4F2
goto_eq MauvilleCity_Gym_EventScript_20E141
- msgbox MauvilleCity_Gym_Text_20E17F, 4
+ msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT
release
end
MauvilleCity_Gym_EventScript_20E141:: @ 820E141
- msgbox MauvilleCity_Gym_Text_20E283, 4
+ msgbox MauvilleCity_Gym_Text_20E283, MSGBOX_DEFAULT
release
end
@@ -268,12 +268,12 @@ MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B
end
MauvilleCity_Gym_EventScript_20E16B:: @ 820E16B
- msgbox MauvilleCity_Gym_Text_20E96C, 4
+ msgbox MauvilleCity_Gym_Text_20E96C, MSGBOX_DEFAULT
releaseall
end
MauvilleCity_Gym_EventScript_20E175:: @ 820E175
- msgbox MauvilleCity_Gym_Text_20E952, 4
+ msgbox MauvilleCity_Gym_Text_20E952, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc
index b36e116db..d5605e5d7 100644
--- a/data/maps/MauvilleCity_House1/scripts.inc
+++ b/data/maps/MauvilleCity_House1/scripts.inc
@@ -6,16 +6,16 @@ MauvilleCity_House1_EventScript_20F976:: @ 820F976
faceplayer
checkflag FLAG_0x06B
goto_eq MauvilleCity_House1_EventScript_20F9A5
- msgbox MauvilleCity_House1_Text_20F9AF, 4
+ msgbox MauvilleCity_House1_Text_20F9AF, MSGBOX_DEFAULT
giveitem_std ITEM_HM06
setflag FLAG_0x06B
- setflag FLAG_0x34B
- msgbox MauvilleCity_House1_Text_20FAA9, 4
+ setflag FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY
+ msgbox MauvilleCity_House1_Text_20FAA9, MSGBOX_DEFAULT
release
end
MauvilleCity_House1_EventScript_20F9A5:: @ 820F9A5
- msgbox MauvilleCity_House1_Text_20FB67, 4
+ msgbox MauvilleCity_House1_Text_20FB67, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc
index 7a1a1cad1..dcee418c4 100644
--- a/data/maps/MauvilleCity_House2/scripts.inc
+++ b/data/maps/MauvilleCity_House2/scripts.inc
@@ -6,7 +6,7 @@ MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D
faceplayer
checkflag FLAG_0x102
goto_eq MauvilleCity_House2_EventScript_210CDA
- msgbox MauvilleCity_House2_Text_210CEE, 4
+ msgbox MauvilleCity_House2_Text_210CEE, MSGBOX_DEFAULT
checkitem ITEM_HARBOR_MAIL, 1
compare VAR_RESULT, 1
goto_eq MauvilleCity_House2_EventScript_210C82
@@ -19,7 +19,7 @@ MauvilleCity_House2_EventScript_210C82:: @ 8210C82
waitmovement 0
applymovement VAR_LAST_TALKED, MauvilleCity_House2_Movement_27259A
waitmovement 0
- msgbox MauvilleCity_House2_Text_210D76, 5
+ msgbox MauvilleCity_House2_Text_210D76, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_House2_EventScript_210CB8
compare VAR_RESULT, 0
@@ -27,7 +27,7 @@ MauvilleCity_House2_EventScript_210C82:: @ 8210C82
end
MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8
- msgbox MauvilleCity_House2_Text_210DB3, 4
+ msgbox MauvilleCity_House2_Text_210DB3, MSGBOX_DEFAULT
takeitem ITEM_HARBOR_MAIL, 1
giveitem_std ITEM_COIN_CASE
setflag FLAG_0x102
@@ -35,12 +35,12 @@ MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8
end
MauvilleCity_House2_EventScript_210CDA:: @ 8210CDA
- msgbox MauvilleCity_House2_Text_210DE7, 4
+ msgbox MauvilleCity_House2_Text_210DE7, MSGBOX_DEFAULT
release
end
MauvilleCity_House2_EventScript_210CE4:: @ 8210CE4
- msgbox MauvilleCity_House2_Text_210E16, 4
+ msgbox MauvilleCity_House2_Text_210E16, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MauvilleCity_Mart/scripts.inc b/data/maps/MauvilleCity_Mart/scripts.inc
index 56ee9497f..d6c2c2fd4 100644
--- a/data/maps/MauvilleCity_Mart/scripts.inc
+++ b/data/maps/MauvilleCity_Mart/scripts.inc
@@ -7,7 +7,7 @@ MauvilleCity_Mart_EventScript_2110E6:: @ 82110E6
message gUnknown_08272A21
waitmessage
pokemart MauvilleCity_Mart_Pokemart_211100
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -30,11 +30,11 @@ MauvilleCity_Mart_Pokemart_211100: @ 8211100
end
MauvilleCity_Mart_EventScript_21111C:: @ 821111C
- msgbox MauvilleCity_Mart_Text_21112E, 2
+ msgbox MauvilleCity_Mart_Text_21112E, MSGBOX_NPC
end
MauvilleCity_Mart_EventScript_211125:: @ 8211125
- msgbox MauvilleCity_Mart_Text_2111D8, 2
+ msgbox MauvilleCity_Mart_Text_2111D8, MSGBOX_NPC
end
MauvilleCity_Mart_Text_21112E: @ 821112E
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc
index b2267122b..40914c740 100644
--- a/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/MauvilleCity_PokemonCenter_1F/scripts.inc
@@ -22,15 +22,15 @@ MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78
end
MauvilleCity_PokemonCenter_1F_EventScript_210E86:: @ 8210E86
- msgbox MauvilleCity_PokemonCenter_1F_Text_210EA1, 2
+ msgbox MauvilleCity_PokemonCenter_1F_Text_210EA1, MSGBOX_NPC
end
MauvilleCity_PokemonCenter_1F_EventScript_210E8F:: @ 8210E8F
- msgbox MauvilleCity_PokemonCenter_1F_Text_210F06, 2
+ msgbox MauvilleCity_PokemonCenter_1F_Text_210F06, MSGBOX_NPC
end
MauvilleCity_PokemonCenter_1F_EventScript_210E98:: @ 8210E98
- msgbox MauvilleCity_PokemonCenter_1F_Text_210F8A, 2
+ msgbox MauvilleCity_PokemonCenter_1F_Text_210F8A, MSGBOX_NPC
end
MauvilleCity_PokemonCenter_1F_Text_210EA1: @ 8210EA1
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/events.inc b/data/maps/MauvilleCity_PokemonCenter_2F/events.inc
index d445b3cca..031dac213 100644
--- a/data/maps/MauvilleCity_PokemonCenter_2F/events.inc
+++ b/data/maps/MauvilleCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ MauvilleCity_PokemonCenter_2F_EventObjects: @ 853026C
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
object_event 5, EVENT_OBJ_GFX_YOUNGSTER, 0, 8, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_21102F, 0
MauvilleCity_PokemonCenter_2F_MapWarps: @ 85302E4
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc
index c430b4440..10b0eca4b 100644
--- a/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/MauvilleCity_PokemonCenter_2F/scripts.inc
@@ -18,7 +18,7 @@ MauvilleCity_PokemonCenter_2F_EventScript_211029:: @ 8211029
end
MauvilleCity_PokemonCenter_2F_EventScript_21102F:: @ 821102F
- msgbox MauvilleCity_PokemonCenter_2F_Text_211038, 2
+ msgbox MauvilleCity_PokemonCenter_2F_Text_211038, MSGBOX_NPC
end
MauvilleCity_PokemonCenter_2F_Text_211038: @ 8211038
diff --git a/data/maps/MeteorFalls_1F_1R/events.inc b/data/maps/MeteorFalls_1F_1R/events.inc
index 068f9a356..8f84327d2 100644
--- a/data/maps/MeteorFalls_1F_1R/events.inc
+++ b/data/maps/MeteorFalls_1F_1R/events.inc
@@ -1,14 +1,14 @@
MeteorFalls_1F_1R_EventObjects: @ 8533F74
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911AB, 1044
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911C5, 1046
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911B8, 1045
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911D2, 1047
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 939
- object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 14, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 939
- object_event 7, EVENT_OBJ_GFX_ARCHIE, 0, 6, 20, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 938
- object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 20, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 938
- object_event 9, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 938
- object_event 10, EVENT_OBJ_GFX_SCIENTIST_1, 0, 13, 23, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_22BF25, 942
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911AB, FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911C5, FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911B8, FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911D2, FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA
+ object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 14, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA
+ object_event 7, EVENT_OBJ_GFX_ARCHIE, 0, 6, 20, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_METEOR_FALLS_TEAM_AQUA
+ object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 20, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_METEOR_FALLS_TEAM_AQUA
+ object_event 9, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_HIDE_METEOR_FALLS_TEAM_AQUA
+ object_event 10, EVENT_OBJ_GFX_SCIENTIST_1, 0, 13, 23, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_22BF25, FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO
MeteorFalls_1F_1R_MapWarps: @ 8534064
warp_def 27, 18, 4, 0, MAP_ROUTE114
diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc
index b786dc961..4bfaa7ad9 100644
--- a/data/maps/MeteorFalls_1F_1R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_1R/scripts.inc
@@ -22,7 +22,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
delay 30
applymovement 5, MeteorFalls_1F_1R_Movement_2725B4
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22BF47, 4
+ msgbox MeteorFalls_1F_1R_Text_22BF47, MSGBOX_DEFAULT
closemessage
applymovement 5, MeteorFalls_1F_1R_Movement_2725A6
applymovement 6, MeteorFalls_1F_1R_Movement_2725A6
@@ -32,11 +32,11 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
waitmovement 0
applymovement 5, MeteorFalls_1F_1R_Movement_27259A
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22BF84, 4
+ msgbox MeteorFalls_1F_1R_Text_22BF84, MSGBOX_DEFAULT
closemessage
applymovement 5, MeteorFalls_1F_1R_Movement_22BEC0
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22BFE4, 4
+ msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT
closemessage
applymovement 255, MeteorFalls_1F_1R_Movement_2725A4
applymovement 5, MeteorFalls_1F_1R_Movement_2725A4
@@ -53,7 +53,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
applymovement 5, MeteorFalls_1F_1R_Movement_2725A4
applymovement 6, MeteorFalls_1F_1R_Movement_2725A4
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C04E, 4
+ msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT
closemessage
applymovement 255, MeteorFalls_1F_1R_Movement_22BF1D
applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4
@@ -63,18 +63,18 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
removeobject 6
applymovement 7, MeteorFalls_1F_1R_Movement_22BEF8
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C11C, 4
+ msgbox MeteorFalls_1F_1R_Text_22C11C, MSGBOX_DEFAULT
closemessage
applymovement 8, MeteorFalls_1F_1R_Movement_22BF08
applymovement 9, MeteorFalls_1F_1R_Movement_22BF18
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C268, 4
+ msgbox MeteorFalls_1F_1R_Text_22C268, MSGBOX_DEFAULT
applymovement 7, MeteorFalls_1F_1R_Movement_2725AA
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C292, 4
+ msgbox MeteorFalls_1F_1R_Text_22C292, MSGBOX_DEFAULT
applymovement 7, MeteorFalls_1F_1R_Movement_2725A4
waitmovement 0
- msgbox MeteorFalls_1F_1R_Text_22C2FC, 4
+ msgbox MeteorFalls_1F_1R_Text_22C2FC, MSGBOX_DEFAULT
closemessage
applymovement 7, MeteorFalls_1F_1R_Movement_22BEF0
applymovement 8, MeteorFalls_1F_1R_Movement_22BEFE
@@ -84,9 +84,9 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
removeobject 7
removeobject 8
removeobject 9
- setflag FLAG_0x333
+ setflag FLAG_HIDE_ROUTE_112_TEAM_MAGMA
setflag FLAG_0x0CF
- setflag FLAG_0x2FF
+ setflag FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT
setvar VAR_0x40BF, 1
releaseall
end
@@ -224,12 +224,12 @@ MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25
checkflag FLAG_0x0F4
goto_eq MeteorFalls_1F_1R_EventScript_22BF3D
setflag FLAG_0x0F4
- msgbox MeteorFalls_1F_1R_Text_22C342, 4
+ msgbox MeteorFalls_1F_1R_Text_22C342, MSGBOX_DEFAULT
release
end
MeteorFalls_1F_1R_EventScript_22BF3D:: @ 822BF3D
- msgbox MeteorFalls_1F_1R_Text_22C47D, 4
+ msgbox MeteorFalls_1F_1R_Text_22C47D, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MeteorFalls_1F_2R/scripts.inc b/data/maps/MeteorFalls_1F_2R/scripts.inc
index 4f4ab7c6b..2deefd65d 100644
--- a/data/maps/MeteorFalls_1F_2R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_2R/scripts.inc
@@ -2,74 +2,65 @@ MeteorFalls_1F_2R_MapScripts:: @ 822C4DD
.byte 0
MeteorFalls_1F_2R_EventScript_22C4DE:: @ 822C4DE
- trainerbattle 2, TRAINER_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_22C608, MeteorFalls_1F_2R_Text_22C678, MeteorFalls_1F_2R_EventScript_22C50A
+ 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
- msgbox MeteorFalls_1F_2R_Text_22C6A3, 4
+ msgbox MeteorFalls_1F_2R_Text_22C6A3, MSGBOX_DEFAULT
release
end
MeteorFalls_1F_2R_EventScript_22C50A:: @ 822C50A
special sub_80B4808
waitmovement 0
- msgbox MeteorFalls_1F_2R_Text_22C6F6, 4
- setvar VAR_0x8004, 392
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 392
- callstd 8
+ msgbox MeteorFalls_1F_2R_Text_22C6F6, MSGBOX_DEFAULT
+ register_matchcall TRAINER_NICOLAS_1
release
end
MeteorFalls_1F_2R_EventScript_22C529:: @ 822C529
- trainerbattle 5, TRAINER_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_22C73F, MeteorFalls_1F_2R_Text_22C7AD
- msgbox MeteorFalls_1F_2R_Text_22C7D8, 6
+ trainerbattle_rematch TRAINER_NICOLAS_1, MeteorFalls_1F_2R_Text_22C73F, MeteorFalls_1F_2R_Text_22C7AD
+ msgbox MeteorFalls_1F_2R_Text_22C7D8, MSGBOX_AUTOCLOSE
end
MeteorFalls_1F_2R_EventScript_22C540:: @ 822C540
- trainerbattle 6, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22C843, MeteorFalls_1F_2R_Text_22C89C, MeteorFalls_1F_2R_Text_22C92B, MeteorFalls_1F_2R_EventScript_22C570
+ 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
- msgbox MeteorFalls_1F_2R_Text_22C8C1, 4
+ msgbox MeteorFalls_1F_2R_Text_22C8C1, MSGBOX_DEFAULT
release
end
MeteorFalls_1F_2R_EventScript_22C570:: @ 822C570
- msgbox MeteorFalls_1F_2R_Text_22C99C, 4
- setvar VAR_0x8004, 681
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 681
- callstd 8
+ msgbox MeteorFalls_1F_2R_Text_22C99C, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JOHN_AND_JAY_1
release
end
MeteorFalls_1F_2R_EventScript_22C589:: @ 822C589
- trainerbattle 7, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22CB47, MeteorFalls_1F_2R_Text_22CBA0, MeteorFalls_1F_2R_Text_22CC27
- msgbox MeteorFalls_1F_2R_Text_22CBC5, 6
+ trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22CB47, MeteorFalls_1F_2R_Text_22CBA0, MeteorFalls_1F_2R_Text_22CC27
+ msgbox MeteorFalls_1F_2R_Text_22CBC5, MSGBOX_AUTOCLOSE
end
MeteorFalls_1F_2R_EventScript_22C5A4:: @ 822C5A4
- trainerbattle 6, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22C9E6, MeteorFalls_1F_2R_Text_22CA44, MeteorFalls_1F_2R_Text_22CACD, MeteorFalls_1F_2R_EventScript_22C5D4
+ 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
- msgbox MeteorFalls_1F_2R_Text_22CA70, 4
+ msgbox MeteorFalls_1F_2R_Text_22CA70, MSGBOX_DEFAULT
release
end
MeteorFalls_1F_2R_EventScript_22C5D4:: @ 822C5D4
- msgbox MeteorFalls_1F_2R_Text_22C99C, 4
- setvar VAR_0x8004, 681
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 681
- callstd 8
+ msgbox MeteorFalls_1F_2R_Text_22C99C, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JOHN_AND_JAY_1
release
end
MeteorFalls_1F_2R_EventScript_22C5ED:: @ 822C5ED
- trainerbattle 7, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22CC98, MeteorFalls_1F_2R_Text_22CD08, MeteorFalls_1F_2R_Text_22CDAB
- msgbox MeteorFalls_1F_2R_Text_22CD34, 6
+ trainerbattle_rematch_double TRAINER_JOHN_AND_JAY_1, MeteorFalls_1F_2R_Text_22CC98, MeteorFalls_1F_2R_Text_22CD08, MeteorFalls_1F_2R_Text_22CDAB
+ msgbox MeteorFalls_1F_2R_Text_22CD34, MSGBOX_AUTOCLOSE
end
MeteorFalls_1F_2R_Text_22C608: @ 822C608
diff --git a/data/maps/MeteorFalls_B1F_2R/events.inc b/data/maps/MeteorFalls_B1F_2R/events.inc
index 85dafb869..44b283d1e 100644
--- a/data/maps/MeteorFalls_B1F_2R/events.inc
+++ b/data/maps/MeteorFalls_B1F_2R/events.inc
@@ -1,5 +1,5 @@
MeteorFalls_B1F_2R_EventObjects: @ 8534190
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MeteorFalls_B1F_2R_EventScript_2911DF, 1080
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MeteorFalls_B1F_2R_EventScript_2911DF, FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02
MeteorFalls_B1F_2R_MapWarps: @ 85341A8
warp_def 5, 15, 3, 3, MAP_METEOR_FALLS_B1F_1R
diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc
index 5226ddb4a..3d7722487 100644
--- a/data/maps/MeteorFalls_StevensCave/scripts.inc
+++ b/data/maps/MeteorFalls_StevensCave/scripts.inc
@@ -13,9 +13,9 @@ MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182
waitmovement 0
applymovement 1, MeteorFalls_StevensCave_Movement_27259E
waitmovement 0
- msgbox MeteorFalls_StevensCave_Text_23B1E1, 4
- trainerbattle 3, TRAINER_STEVEN, 0, MeteorFalls_StevensCave_Text_23B32D
- msgbox MeteorFalls_StevensCave_Text_23B358, 4
+ msgbox MeteorFalls_StevensCave_Text_23B1E1, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_STEVEN, MeteorFalls_StevensCave_Text_23B32D
+ msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT
setflag FLAG_0x4F8
release
end
@@ -23,7 +23,7 @@ MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182
MeteorFalls_StevensCave_EventScript_23B1CD:: @ 823B1CD
applymovement 1, MeteorFalls_StevensCave_Movement_27259E
waitmovement 0
- msgbox MeteorFalls_StevensCave_Text_23B358, 4
+ msgbox MeteorFalls_StevensCave_Text_23B358, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MirageTower_3F/events.inc b/data/maps/MirageTower_3F/events.inc
index d62e54f92..4f55d7485 100644
--- a/data/maps/MirageTower_3F/events.inc
+++ b/data/maps/MirageTower_3F/events.inc
@@ -1,6 +1,6 @@
MirageTower_3F_EventObjects: @ 853761C
- object_event 1, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MirageTower_3F_EventScript_2907A6, 17
- object_event 2, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MirageTower_3F_EventScript_2907A6, 18
+ object_event 1, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MirageTower_3F_EventScript_2907A6, FLAG_TEMP_11
+ object_event 2, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MirageTower_3F_EventScript_2907A6, FLAG_TEMP_12
MirageTower_3F_MapWarps: @ 853764C
warp_def 18, 12, 3, 0, MAP_MIRAGE_TOWER_2F
diff --git a/data/maps/MirageTower_4F/events.inc b/data/maps/MirageTower_4F/events.inc
index b9574637a..61c536c61 100644
--- a/data/maps/MirageTower_4F/events.inc
+++ b/data/maps/MirageTower_4F/events.inc
@@ -1,7 +1,7 @@
MirageTower_4F_EventObjects: @ 8537670
- object_event 1, EVENT_OBJ_GFX_FOSSIL, 0, 5, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MirageTower_4F_EventScript_23AD48, 963
- object_event 2, EVENT_OBJ_GFX_FOSSIL, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MirageTower_4F_EventScript_23AD89, 964
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MirageTower_4F_EventScript_2907A6, 17
+ object_event 1, EVENT_OBJ_GFX_FOSSIL, 0, 5, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MirageTower_4F_EventScript_23AD48, FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
+ object_event 2, EVENT_OBJ_GFX_FOSSIL, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MirageTower_4F_EventScript_23AD89, FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
+ object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MirageTower_4F_EventScript_2907A6, FLAG_TEMP_11
MirageTower_4F_MapWarps: @ 85376B8
warp_def 1, 4, 3, 1, MAP_MIRAGE_TOWER_3F
diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc
index 1e079c5d7..e60180559 100644
--- a/data/maps/MirageTower_4F/scripts.inc
+++ b/data/maps/MirageTower_4F/scripts.inc
@@ -4,13 +4,13 @@ MirageTower_4F_MapScripts:: @ 823AD47
MirageTower_4F_EventScript_23AD48:: @ 823AD48
lock
faceplayer
- msgbox MirageTower_4F_Text_23ADF9, 5
+ msgbox MirageTower_4F_Text_23ADF9, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MirageTower_4F_EventScript_23AD7F
giveitem_std ITEM_ROOT_FOSSIL
closemessage
- setflag FLAG_0x3C3
- setflag FLAG_0x3C4
+ setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
+ setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
removeobject 1
delay 30
setflag FLAG_0x14F
@@ -18,20 +18,20 @@ MirageTower_4F_EventScript_23AD48:: @ 823AD48
end
MirageTower_4F_EventScript_23AD7F:: @ 823AD7F
- msgbox MirageTower_4F_Text_23AE79, 4
+ msgbox MirageTower_4F_Text_23AE79, MSGBOX_DEFAULT
release
end
MirageTower_4F_EventScript_23AD89:: @ 823AD89
lock
faceplayer
- msgbox MirageTower_4F_Text_23AE98, 5
+ msgbox MirageTower_4F_Text_23AE98, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MirageTower_4F_EventScript_23ADC0
giveitem_std ITEM_CLAW_FOSSIL
closemessage
- setflag FLAG_0x3C4
- setflag FLAG_0x3C3
+ setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
+ setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
removeobject 2
delay 30
setflag FLAG_0x150
@@ -39,7 +39,7 @@ MirageTower_4F_EventScript_23AD89:: @ 823AD89
end
MirageTower_4F_EventScript_23ADC0:: @ 823ADC0
- msgbox MirageTower_4F_Text_23AF18, 4
+ msgbox MirageTower_4F_Text_23AF18, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MossdeepCity/events.inc b/data/maps/MossdeepCity/events.inc
index fead88f9b..5a653bc22 100644
--- a/data/maps/MossdeepCity/events.inc
+++ b/data/maps/MossdeepCity/events.inc
@@ -4,17 +4,17 @@ MossdeepCity_EventObjects: @ 8527018
object_event 3, EVENT_OBJ_GFX_POKEFAN_F, 0, 32, 12, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_EventScript_1E4AB2, 0
object_event 4, EVENT_OBJ_GFX_NINJA_BOY, 0, 26, 21, 5, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MossdeepCity_EventScript_1E4AF0, 0
object_event 5, EVENT_OBJ_GFX_GIRL_1, 0, 45, 18, 7, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_EventScript_1E4B02, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 62, 35, 5, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MossdeepCity_EventScript_2910F5, 1043
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 62, 35, 5, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MossdeepCity_EventScript_2910F5, FLAG_ITEM_MOSSDEEP_CITY_NET_BALL
object_event 7, EVENT_OBJ_GFX_MAN_1, 0, 55, 5, 7, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C10, 0
object_event 8, EVENT_OBJ_GFX_WOMAN_1, 0, 56, 21, 7, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MossdeepCity_EventScript_1E4B0B, 0
object_event 9, EVENT_OBJ_GFX_BOY_2, 0, 23, 13, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_EventScript_1E4C26, 0
- object_event 10, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 23, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 823
- object_event 11, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 24, 5, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 823
- object_event 12, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 25, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 823
- object_event 13, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 26, 5, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 823
- object_event 14, EVENT_OBJ_GFX_MAXIE, 0, 45, 25, 5, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 823
+ object_event 10, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 23, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ object_event 11, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 24, 5, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ object_event 12, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 25, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ object_event 13, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 44, 26, 5, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ object_event 14, EVENT_OBJ_GFX_MAXIE, 0, 45, 25, 5, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
object_event 15, EVENT_OBJ_GFX_BLACK_BELT, 0, 19, 25, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 3, 3, 0, 0, MossdeepCity_EventScript_2C81EE, 0
- object_event 16, EVENT_OBJ_GFX_SCOTT, 0, 61, 29, 5, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C85, 788
+ object_event 16, EVENT_OBJ_GFX_SCOTT, 0, 61, 29, 5, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C85, FLAG_HIDE_MOSSDEEP_CITY_SCOTT
object_event 17, EVENT_OBJ_GFX_BLACK_BELT, 0, 31, 29, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 3, 3, 0, 0, MossdeepCity_EventScript_1E4C7C, 0
MossdeepCity_MapWarps: @ 85271B0
diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc
index 8cce8efeb..e031501d4 100644
--- a/data/maps/MossdeepCity/scripts.inc
+++ b/data/maps/MossdeepCity/scripts.inc
@@ -16,12 +16,12 @@ MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2
faceplayer
checkflag FLAG_0x07B
goto_eq MossdeepCity_EventScript_1E4AC7
- msgbox MossdeepCity_Text_1E4E90, 4
+ msgbox MossdeepCity_Text_1E4E90, MSGBOX_DEFAULT
release
end
MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7
- msgbox MossdeepCity_Text_1E4F15, 4
+ msgbox MossdeepCity_Text_1E4F15, MSGBOX_DEFAULT
release
end
@@ -30,45 +30,45 @@ MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1
faceplayer
checkflag FLAG_0x07B
goto_eq MossdeepCity_EventScript_1E4AE6
- msgbox MossdeepCity_Text_1E4F50, 4
+ msgbox MossdeepCity_Text_1E4F50, MSGBOX_DEFAULT
release
end
MossdeepCity_EventScript_1E4AE6:: @ 81E4AE6
- msgbox MossdeepCity_Text_1E5051, 4
+ msgbox MossdeepCity_Text_1E5051, MSGBOX_DEFAULT
release
end
MossdeepCity_EventScript_1E4AF0:: @ 81E4AF0
- msgbox MossdeepCity_Text_1E4E22, 2
+ msgbox MossdeepCity_Text_1E4E22, MSGBOX_NPC
end
MossdeepCity_EventScript_1E4AF9:: @ 81E4AF9
- msgbox MossdeepCity_Text_1E5135, 2
+ msgbox MossdeepCity_Text_1E5135, MSGBOX_NPC
end
MossdeepCity_EventScript_1E4B02:: @ 81E4B02
- msgbox MossdeepCity_Text_1E50D9, 2
+ msgbox MossdeepCity_Text_1E50D9, MSGBOX_NPC
end
MossdeepCity_EventScript_1E4B0B:: @ 81E4B0B
- msgbox MossdeepCity_Text_1E529D, 2
+ msgbox MossdeepCity_Text_1E529D, MSGBOX_NPC
end
MossdeepCity_EventScript_1E4B14:: @ 81E4B14
- msgbox MossdeepCity_Text_1E5396, 3
+ msgbox MossdeepCity_Text_1E5396, MSGBOX_SIGN
end
MossdeepCity_EventScript_1E4B1D:: @ 81E4B1D
- msgbox MossdeepCity_Text_1E53A9, 3
+ msgbox MossdeepCity_Text_1E53A9, MSGBOX_SIGN
end
MossdeepCity_EventScript_1E4B26:: @ 81E4B26
- msgbox MossdeepCity_Text_1E53F2, 3
+ msgbox MossdeepCity_Text_1E53F2, MSGBOX_SIGN
end
MossdeepCity_EventScript_1E4B2F:: @ 81E4B2F
- msgbox MossdeepCity_Text_1E541F, 3
+ msgbox MossdeepCity_Text_1E541F, MSGBOX_SIGN
end
MossdeepCity_EventScript_1E4B38:: @ 81E4B38
@@ -98,7 +98,7 @@ MossdeepCity_EventScript_1E4B41:: @ 81E4B41
removeobject 13
delay 30
setvar VAR_0x405D, 2
- setflag FLAG_0x337
+ setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
releaseall
end
@@ -218,7 +218,7 @@ MossdeepCity_Movement_1E4C00: @ 81E4C00
MossdeepCity_EventScript_1E4C10:: @ 81E4C10
lock
faceplayer
- msgbox MossdeepCity_Text_1E5213, 4
+ msgbox MossdeepCity_Text_1E5213, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_Movement_2725A2
waitmovement 0
release
@@ -229,10 +229,10 @@ MossdeepCity_EventScript_1E4C26:: @ 81E4C26
faceplayer
checkflag FLAG_0x114
goto_eq MossdeepCity_EventScript_1E4C68
- msgbox MossdeepCity_Text_1E4CED, 5
+ msgbox MossdeepCity_Text_1E4CED, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_EventScript_1E4C72
- msgbox MossdeepCity_Text_1E4D5B, 4
+ msgbox MossdeepCity_Text_1E4D5B, MSGBOX_DEFAULT
giveitem_std ITEM_KINGS_ROCK
compare VAR_RESULT, 0
goto_eq MossdeepCity_EventScript_272054
@@ -241,23 +241,23 @@ MossdeepCity_EventScript_1E4C26:: @ 81E4C26
end
MossdeepCity_EventScript_1E4C68:: @ 81E4C68
- msgbox MossdeepCity_Text_1E4DB3, 4
+ msgbox MossdeepCity_Text_1E4DB3, MSGBOX_DEFAULT
release
end
MossdeepCity_EventScript_1E4C72:: @ 81E4C72
- msgbox MossdeepCity_Text_1E4DD7, 4
+ msgbox MossdeepCity_Text_1E4DD7, MSGBOX_DEFAULT
release
end
MossdeepCity_EventScript_1E4C7C:: @ 81E4C7C
- msgbox MossdeepCity_Text_1E5581, 2
+ msgbox MossdeepCity_Text_1E5581, MSGBOX_NPC
end
MossdeepCity_EventScript_1E4C85:: @ 81E4C85
lock
faceplayer
- msgbox MossdeepCity_Text_1E5453, 4
+ msgbox MossdeepCity_Text_1E5453, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, MossdeepCity_EventScript_1E4CB0
diff --git a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc
index ff5c14206..e45e9eb66 100644
--- a/data/maps/MossdeepCity_GameCorner_1F/scripts.inc
+++ b/data/maps/MossdeepCity_GameCorner_1F/scripts.inc
@@ -27,7 +27,7 @@ MossdeepCity_GameCorner_1F_EventScript_224B54:: @ 8224B54
end
MossdeepCity_GameCorner_1F_EventScript_224B5D:: @ 8224B5D
- msgbox MossdeepCity_GameCorner_1F_Text_224BFD, 3
+ msgbox MossdeepCity_GameCorner_1F_Text_224BFD, MSGBOX_SIGN
end
MossdeepCity_GameCorner_1F_Text_224B66: @ 8224B66
diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc
index f38fd606d..66c484365 100644
--- a/data/maps/MossdeepCity_Gym/scripts.inc
+++ b/data/maps/MossdeepCity_Gym/scripts.inc
@@ -49,13 +49,13 @@ MossdeepCity_Gym_EventScript_220885:: @ 8220885
end
MossdeepCity_Gym_EventScript_220898:: @ 8220898
- trainerbattle 8, TRAINER_TATE_AND_LIZA_1, 0, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1
+ 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
- msgbox MossdeepCity_Gym_Text_221B1D, 4
+ msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT
release
end
@@ -63,27 +63,27 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
message MossdeepCity_Gym_Text_22196A
waitmessage
call MossdeepCity_Gym_EventScript_27207E
- msgbox MossdeepCity_Gym_Text_221999, 4
+ msgbox MossdeepCity_Gym_Text_221999, MSGBOX_DEFAULT
setflag FLAG_0x4F6
setflag FLAG_BADGE07_GET
- setflag FLAG_0x39C
- clearflag FLAG_0x365
+ setflag FLAG_HIDE_AQUA_HIDEOUT_GRUNTS
+ clearflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
clearflag FLAG_0x393
setvar VAR_0x8008, 7
call MossdeepCity_Gym_EventScript_271F43
- clearflag FLAG_0x389
- clearflag FLAG_0x337
- clearflag FLAG_0x2F4
- clearflag FLAG_0x35E
- clearflag FLAG_0x35F
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
setvar VAR_0x405D, 1
- setflag FLAG_0x2F1
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN
setvar VAR_0x409F, 1
call MossdeepCity_Gym_EventScript_22095B
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox MossdeepCity_Gym_Text_221AEA, 4
+ msgbox MossdeepCity_Gym_Text_221AEA, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -95,7 +95,7 @@ MossdeepCity_Gym_EventScript_220937:: @ 8220937
giveitem_std ITEM_TM04
compare VAR_RESULT, 0
goto_eq MossdeepCity_Gym_EventScript_272054
- msgbox MossdeepCity_Gym_Text_221A40, 4
+ msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT
setflag FLAG_0x0AB
release
end
@@ -104,13 +104,13 @@ MossdeepCity_Gym_EventScript_22095B:: @ 822095B
giveitem_std ITEM_TM04
compare VAR_RESULT, 0
goto_eq MossdeepCity_Gym_EventScript_27205E
- msgbox MossdeepCity_Gym_Text_221A40, 4
+ msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT
setflag FLAG_0x0AB
return
MossdeepCity_Gym_EventScript_22097E:: @ 822097E
- trainerbattle 7, TRAINER_TATE_AND_LIZA_1, 0, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8
- msgbox MossdeepCity_Gym_Text_221E45, 6
+ trainerbattle_rematch_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8
+ msgbox MossdeepCity_Gym_Text_221E45, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220999:: @ 8220999
@@ -211,63 +211,63 @@ MossdeepCity_Gym_EventScript_220AF1:: @ 8220AF1
end
MossdeepCity_Gym_EventScript_220AFD:: @ 8220AFD
- trainerbattle 0, TRAINER_PRESTON, 0, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC
- msgbox MossdeepCity_Gym_Text_220ED3, 6
+ trainerbattle_single TRAINER_PRESTON, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC
+ msgbox MossdeepCity_Gym_Text_220ED3, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B14:: @ 8220B14
- trainerbattle 0, TRAINER_VIRGIL, 0, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A
- msgbox MossdeepCity_Gym_Text_220F3A, 6
+ trainerbattle_single TRAINER_VIRGIL, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A
+ msgbox MossdeepCity_Gym_Text_220F3A, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B2B:: @ 8220B2B
- trainerbattle 0, TRAINER_BLAKE, 0, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024
- msgbox MossdeepCity_Gym_Text_221055, 6
+ trainerbattle_single TRAINER_BLAKE, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024
+ msgbox MossdeepCity_Gym_Text_221055, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B42:: @ 8220B42
- trainerbattle 0, TRAINER_HANNAH, 0, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152
- msgbox MossdeepCity_Gym_Text_22116A, 6
+ trainerbattle_single TRAINER_HANNAH, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152
+ msgbox MossdeepCity_Gym_Text_22116A, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B59:: @ 8220B59
- trainerbattle 0, TRAINER_SAMANTHA, 0, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230
- msgbox MossdeepCity_Gym_Text_22123D, 6
+ trainerbattle_single TRAINER_SAMANTHA, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230
+ msgbox MossdeepCity_Gym_Text_22123D, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B70:: @ 8220B70
- trainerbattle 0, TRAINER_MAURA, 0, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309
- msgbox MossdeepCity_Gym_Text_22132E, 6
+ trainerbattle_single TRAINER_MAURA, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309
+ msgbox MossdeepCity_Gym_Text_22132E, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B87:: @ 8220B87
- trainerbattle 0, TRAINER_SYLVIA, 0, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4
- msgbox MossdeepCity_Gym_Text_221412, 6
+ trainerbattle_single TRAINER_SYLVIA, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4
+ msgbox MossdeepCity_Gym_Text_221412, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220B9E:: @ 8220B9E
- trainerbattle 0, TRAINER_NATE, 0, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7
- msgbox MossdeepCity_Gym_Text_2214D3, 6
+ trainerbattle_single TRAINER_NATE, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7
+ msgbox MossdeepCity_Gym_Text_2214D3, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220BB5:: @ 8220BB5
- trainerbattle 0, TRAINER_MACEY, 0, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658
- msgbox MossdeepCity_Gym_Text_221680, 6
+ trainerbattle_single TRAINER_MACEY, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658
+ msgbox MossdeepCity_Gym_Text_221680, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220BCC:: @ 8220BCC
- trainerbattle 0, TRAINER_CLIFFORD, 0, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8
- msgbox MossdeepCity_Gym_Text_2215E2, 6
+ trainerbattle_single TRAINER_CLIFFORD, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8
+ msgbox MossdeepCity_Gym_Text_2215E2, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220BE3:: @ 8220BE3
- trainerbattle 0, TRAINER_NICHOLAS, 0, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D
- msgbox MossdeepCity_Gym_Text_22173A, 6
+ trainerbattle_single TRAINER_NICHOLAS, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D
+ msgbox MossdeepCity_Gym_Text_22173A, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA
- trainerbattle 0, TRAINER_KATHLEEN, 0, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B
- msgbox MossdeepCity_Gym_Text_221545, 6
+ trainerbattle_single TRAINER_KATHLEEN, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B
+ msgbox MossdeepCity_Gym_Text_221545, MSGBOX_AUTOCLOSE
end
MossdeepCity_Gym_EventScript_220C11:: @ 8220C11
@@ -275,12 +275,12 @@ MossdeepCity_Gym_EventScript_220C11:: @ 8220C11
faceplayer
checkflag FLAG_0x4F6
goto_eq MossdeepCity_Gym_EventScript_220C26
- msgbox MossdeepCity_Gym_Text_220CD5, 4
+ msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT
release
end
MossdeepCity_Gym_EventScript_220C26:: @ 8220C26
- msgbox MossdeepCity_Gym_Text_220E2A, 4
+ msgbox MossdeepCity_Gym_Text_220E2A, MSGBOX_DEFAULT
release
end
@@ -304,12 +304,12 @@ MossdeepCity_Gym_EventScript_220C43:: @ 8220C43
end
MossdeepCity_Gym_EventScript_220C53:: @ 8220C53
- msgbox MossdeepCity_Gym_Text_221CCA, 4
+ msgbox MossdeepCity_Gym_Text_221CCA, MSGBOX_DEFAULT
releaseall
end
MossdeepCity_Gym_EventScript_220C5D:: @ 8220C5D
- msgbox MossdeepCity_Gym_Text_221CB0, 4
+ msgbox MossdeepCity_Gym_Text_221CB0, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/MossdeepCity_House1/scripts.inc b/data/maps/MossdeepCity_House1/scripts.inc
index b08d296c7..056e2b057 100644
--- a/data/maps/MossdeepCity_House1/scripts.inc
+++ b/data/maps/MossdeepCity_House1/scripts.inc
@@ -5,21 +5,21 @@ MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6
lock
faceplayer
bufferleadmonspeciesname 0
- msgbox MossdeepCity_House1_Text_22200F, 4
+ msgbox MossdeepCity_House1_Text_22200F, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetPokeblockNameByMonNature
compare VAR_RESULT, 0
goto_eq MossdeepCity_House1_EventScript_221FFC
- msgbox MossdeepCity_House1_Text_22201D, 4
+ msgbox MossdeepCity_House1_Text_22201D, MSGBOX_DEFAULT
release
end
MossdeepCity_House1_EventScript_221FFC:: @ 8221FFC
- msgbox MossdeepCity_House1_Text_222068, 4
+ msgbox MossdeepCity_House1_Text_222068, MSGBOX_DEFAULT
release
end
MossdeepCity_House1_EventScript_222006:: @ 8222006
- msgbox MossdeepCity_House1_Text_222099, 2
+ msgbox MossdeepCity_House1_Text_222099, MSGBOX_NPC
end
MossdeepCity_House1_Text_22200F: @ 822200F
diff --git a/data/maps/MossdeepCity_House2/events.inc b/data/maps/MossdeepCity_House2/events.inc
index 001039dfc..8e169c3b0 100644
--- a/data/maps/MossdeepCity_House2/events.inc
+++ b/data/maps/MossdeepCity_House2/events.inc
@@ -1,7 +1,7 @@
MossdeepCity_House2_EventObjects: @ 85329CC
object_event 1, EVENT_OBJ_GFX_MAN_4, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220DF, 0
object_event 2, EVENT_OBJ_GFX_TWIN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220E8, 0
- object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220F1, 934
+ object_event 3, EVENT_OBJ_GFX_WINGULL, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220F1, FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL
MossdeepCity_House2_MapWarps: @ 8532A14
warp_def 3, 8, 0, 3, MAP_MOSSDEEP_CITY
diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc
index c61f74d99..84dcc8244 100644
--- a/data/maps/MossdeepCity_House2/scripts.inc
+++ b/data/maps/MossdeepCity_House2/scripts.inc
@@ -2,11 +2,11 @@ MossdeepCity_House2_MapScripts:: @ 82220DE
.byte 0
MossdeepCity_House2_EventScript_2220DF:: @ 82220DF
- msgbox MossdeepCity_House2_Text_222146, 2
+ msgbox MossdeepCity_House2_Text_222146, MSGBOX_NPC
end
MossdeepCity_House2_EventScript_2220E8:: @ 82220E8
- msgbox MossdeepCity_House2_Text_2221A6, 2
+ msgbox MossdeepCity_House2_Text_2221A6, MSGBOX_NPC
end
MossdeepCity_House2_EventScript_2220F1:: @ 82220F1
@@ -14,11 +14,11 @@ MossdeepCity_House2_EventScript_2220F1:: @ 82220F1
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox MossdeepCity_House2_Text_22222E, 4
+ msgbox MossdeepCity_House2_Text_22222E, MSGBOX_DEFAULT
waitmoncry
closemessage
setflag FLAG_0x0E0
- clearflag FLAG_0x3A5
+ clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL
compare VAR_FACING, 2
call_if 1, MossdeepCity_House2_EventScript_222124
compare VAR_FACING, 3
diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc
index dfdbfa956..be294f292 100644
--- a/data/maps/MossdeepCity_House3/scripts.inc
+++ b/data/maps/MossdeepCity_House3/scripts.inc
@@ -6,23 +6,23 @@ MossdeepCity_House3_EventScript_2225C3:: @ 82225C3
faceplayer
checkflag FLAG_0x098
goto_eq MossdeepCity_House3_EventScript_222602
- msgbox MossdeepCity_House3_Text_222616, 5
+ msgbox MossdeepCity_House3_Text_222616, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_House3_EventScript_22260C
- msgbox MossdeepCity_House3_Text_2226B6, 4
+ msgbox MossdeepCity_House3_Text_2226B6, MSGBOX_DEFAULT
giveitem_std ITEM_SUPER_ROD
setflag FLAG_0x098
- msgbox MossdeepCity_House3_Text_2226F0, 4
+ msgbox MossdeepCity_House3_Text_2226F0, MSGBOX_DEFAULT
release
end
MossdeepCity_House3_EventScript_222602:: @ 8222602
- msgbox MossdeepCity_House3_Text_222751, 4
+ msgbox MossdeepCity_House3_Text_222751, MSGBOX_DEFAULT
release
end
MossdeepCity_House3_EventScript_22260C:: @ 822260C
- msgbox MossdeepCity_House3_Text_222733, 4
+ msgbox MossdeepCity_House3_Text_222733, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc
index cb3cc0d16..66d76aa41 100644
--- a/data/maps/MossdeepCity_House4/scripts.inc
+++ b/data/maps/MossdeepCity_House4/scripts.inc
@@ -6,12 +6,12 @@ MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8
faceplayer
checkflag FLAG_SYS_GAME_CLEAR
goto_eq MossdeepCity_House4_EventScript_222DED
- msgbox MossdeepCity_House4_Text_222E31, 4
+ msgbox MossdeepCity_House4_Text_222E31, MSGBOX_DEFAULT
release
end
MossdeepCity_House4_EventScript_222DED:: @ 8222DED
- msgbox MossdeepCity_House4_Text_222E73, 4
+ msgbox MossdeepCity_House4_Text_222E73, MSGBOX_DEFAULT
release
end
@@ -22,12 +22,12 @@ MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7
compare VAR_RESULT, 0
goto_eq MossdeepCity_House4_EventScript_222E14
special GetSecretBaseNearbyMapName
- msgbox MossdeepCity_House4_Text_222ECC, 4
+ msgbox MossdeepCity_House4_Text_222ECC, MSGBOX_DEFAULT
release
end
MossdeepCity_House4_EventScript_222E14:: @ 8222E14
- msgbox MossdeepCity_House4_Text_222EF7, 4
+ msgbox MossdeepCity_House4_Text_222EF7, MSGBOX_DEFAULT
release
end
@@ -36,7 +36,7 @@ MossdeepCity_House4_EventScript_222E1E:: @ 8222E1E
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox MossdeepCity_House4_Text_222F31, 4
+ msgbox MossdeepCity_House4_Text_222F31, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/MossdeepCity_Mart/scripts.inc b/data/maps/MossdeepCity_Mart/scripts.inc
index ed7ecd035..b995b396e 100644
--- a/data/maps/MossdeepCity_Mart/scripts.inc
+++ b/data/maps/MossdeepCity_Mart/scripts.inc
@@ -7,7 +7,7 @@ MossdeepCity_Mart_EventScript_2223C8:: @ 82223C8
message gUnknown_08272A21
waitmessage
pokemart MossdeepCity_Mart_Pokemart_2223E0
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -27,15 +27,15 @@ MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0
end
MossdeepCity_Mart_EventScript_2223F6:: @ 82223F6
- msgbox MossdeepCity_Mart_Text_222411, 2
+ msgbox MossdeepCity_Mart_Text_222411, MSGBOX_NPC
end
MossdeepCity_Mart_EventScript_2223FF:: @ 82223FF
- msgbox MossdeepCity_Mart_Text_2224A0, 2
+ msgbox MossdeepCity_Mart_Text_2224A0, MSGBOX_NPC
end
MossdeepCity_Mart_EventScript_222408:: @ 8222408
- msgbox MossdeepCity_Mart_Text_2224FA, 2
+ msgbox MossdeepCity_Mart_Text_2224FA, MSGBOX_NPC
end
MossdeepCity_Mart_Text_222411: @ 8222411
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc
index 2ff03b7f3..28573a3c1 100644
--- a/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_PokemonCenter_1F/scripts.inc
@@ -16,11 +16,11 @@ MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E
end
MossdeepCity_PokemonCenter_1F_EventScript_22225C:: @ 822225C
- msgbox MossdeepCity_PokemonCenter_1F_Text_22226E, 2
+ msgbox MossdeepCity_PokemonCenter_1F_Text_22226E, MSGBOX_NPC
end
MossdeepCity_PokemonCenter_1F_EventScript_222265:: @ 8222265
- msgbox MossdeepCity_PokemonCenter_1F_Text_2222D9, 2
+ msgbox MossdeepCity_PokemonCenter_1F_Text_2222D9, MSGBOX_NPC
end
MossdeepCity_PokemonCenter_1F_Text_22226E: @ 822226E
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/events.inc b/data/maps/MossdeepCity_PokemonCenter_2F/events.inc
index 1641be959..c2158f4f4 100644
--- a/data/maps/MossdeepCity_PokemonCenter_2F/events.inc
+++ b/data/maps/MossdeepCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ MossdeepCity_PokemonCenter_2F_EventObjects: @ 8532AAC
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
object_event 5, EVENT_OBJ_GFX_WOMAN_5, 0, 11, 7, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_22235B, 0
MossdeepCity_PokemonCenter_2F_MapWarps: @ 8532B24
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc
index 142bce560..e8fbb6e02 100644
--- a/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_PokemonCenter_2F/scripts.inc
@@ -18,7 +18,7 @@ MossdeepCity_PokemonCenter_2F_EventScript_222355:: @ 8222355
end
MossdeepCity_PokemonCenter_2F_EventScript_22235B:: @ 822235B
- msgbox MossdeepCity_PokemonCenter_2F_Text_222364, 2
+ msgbox MossdeepCity_PokemonCenter_2F_Text_222364, MSGBOX_NPC
end
MossdeepCity_PokemonCenter_2F_Text_222364: @ 8222364
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/events.inc b/data/maps/MossdeepCity_SpaceCenter_1F/events.inc
index c45f433f2..dbb5a47eb 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/events.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/events.inc
@@ -4,12 +4,12 @@ MossdeepCity_SpaceCenter_1F_EventObjects: @ 8532D18
object_event 3, EVENT_OBJ_GFX_SAILOR, 0, 6, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_22308E, 0
object_event 4, EVENT_OBJ_GFX_OLD_MAN, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_223168, 0
object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 14, 7, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_22312D, 0
- object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 12, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231DA, 756
- object_event 7, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 11, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231F1, 756
- object_event 8, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_223208, 756
- object_event 9, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, MossdeepCity_SpaceCenter_1F_EventScript_22321F, 756
- object_event 10, EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 5, 0, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231CF, 737
- object_event 11, EVENT_OBJ_GFX_STEVEN, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231B9, 753
+ object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 12, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231DA, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ object_event 7, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 11, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231F1, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ object_event 8, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_223208, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ object_event 9, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 0, MossdeepCity_SpaceCenter_1F_EventScript_22321F, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ object_event 10, EVENT_OBJ_GFX_NINJA_BOY, 0, 2, 5, 0, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231CF, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY
+ object_event 11, EVENT_OBJ_GFX_STEVEN, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231B9, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN
MossdeepCity_SpaceCenter_1F_MapWarps: @ 8532E20
warp_def 7, 9, 0, 8, MAP_MOSSDEEP_CITY
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
index 2edf6d251..6027591ee 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
@@ -66,11 +66,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8
end
MossdeepCity_SpaceCenter_1F_EventScript_223012:: @ 8223012
- msgbox MossdeepCity_SpaceCenter_1F_Text_2232A7, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2232A7, MSGBOX_DEFAULT
return
MossdeepCity_SpaceCenter_1F_EventScript_22301B:: @ 822301B
- msgbox MossdeepCity_SpaceCenter_1F_Text_2232C8, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2232C8, MSGBOX_DEFAULT
return
MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024
@@ -88,11 +88,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024
end
MossdeepCity_SpaceCenter_1F_EventScript_223051:: @ 8223051
- msgbox MossdeepCity_SpaceCenter_1F_Text_223305, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223305, MSGBOX_DEFAULT
return
MossdeepCity_SpaceCenter_1F_EventScript_22305A:: @ 822305A
- msgbox MossdeepCity_SpaceCenter_1F_Text_22335E, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_22335E, MSGBOX_DEFAULT
return
MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063
@@ -100,12 +100,12 @@ MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063
faceplayer
compare VAR_0x405D, 2
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A
- msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A
- msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
waitmovement 0
release
@@ -118,36 +118,36 @@ MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA
checkflag FLAG_0x0C0
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230D0
- msgbox MossdeepCity_SpaceCenter_1F_Text_223540, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT
giveitem_std ITEM_SUN_STONE
compare VAR_RESULT, 0
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
setflag FLAG_0x0C0
- msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0
- msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA
checkflag FLAG_0x0C0
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223119
- msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, MSGBOX_DEFAULT
giveitem_std ITEM_SUN_STONE
compare VAR_RESULT, 0
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
setflag FLAG_0x0C0
- msgbox MossdeepCity_SpaceCenter_1F_Text_223664, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
waitmovement 0
release
end
MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119
- msgbox MossdeepCity_SpaceCenter_1F_Text_223664, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
waitmovement 0
release
@@ -166,12 +166,12 @@ MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D
end
MossdeepCity_SpaceCenter_1F_EventScript_223154:: @ 8223154
- msgbox MossdeepCity_SpaceCenter_1F_Text_2236A6, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2236A6, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E
- msgbox MossdeepCity_SpaceCenter_1F_Text_2236E8, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2236E8, MSGBOX_DEFAULT
release
end
@@ -188,7 +188,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168
end
MossdeepCity_SpaceCenter_1F_EventScript_22318F:: @ 822318F
- msgbox MossdeepCity_SpaceCenter_1F_Text_22375B, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_22375B, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
waitmovement 0
@@ -196,7 +196,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_22318F:: @ 822318F
end
MossdeepCity_SpaceCenter_1F_EventScript_2231A4:: @ 82231A4
- msgbox MossdeepCity_SpaceCenter_1F_Text_2237B5, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2237B5, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
waitmovement 0
@@ -206,7 +206,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_2231A4:: @ 82231A4
MossdeepCity_SpaceCenter_1F_EventScript_2231B9:: @ 82231B9
lock
faceplayer
- msgbox MossdeepCity_SpaceCenter_1F_Text_223849, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223849, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
waitmovement 0
release
@@ -214,23 +214,23 @@ MossdeepCity_SpaceCenter_1F_EventScript_2231B9:: @ 82231B9
MossdeepCity_SpaceCenter_1F_EventScript_2231CF:: @ 82231CF
lockall
- msgbox MossdeepCity_SpaceCenter_1F_Text_223C2C, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223C2C, MSGBOX_DEFAULT
releaseall
end
MossdeepCity_SpaceCenter_1F_EventScript_2231DA:: @ 82231DA
- trainerbattle 0, TRAINER_GRUNT_32, 0, MossdeepCity_SpaceCenter_1F_Text_22396C, MossdeepCity_SpaceCenter_1F_Text_223999
- msgbox MossdeepCity_SpaceCenter_1F_Text_2239AA, 6
+ trainerbattle_single TRAINER_GRUNT_32, MossdeepCity_SpaceCenter_1F_Text_22396C, MossdeepCity_SpaceCenter_1F_Text_223999
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2239AA, MSGBOX_AUTOCLOSE
end
MossdeepCity_SpaceCenter_1F_EventScript_2231F1:: @ 82231F1
- trainerbattle 0, TRAINER_GRUNT_16, 0, MossdeepCity_SpaceCenter_1F_Text_2239E6, MossdeepCity_SpaceCenter_1F_Text_223A21
- msgbox MossdeepCity_SpaceCenter_1F_Text_223A4B, 6
+ trainerbattle_single TRAINER_GRUNT_16, MossdeepCity_SpaceCenter_1F_Text_2239E6, MossdeepCity_SpaceCenter_1F_Text_223A21
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223A4B, MSGBOX_AUTOCLOSE
end
MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208
- trainerbattle 0, TRAINER_GRUNT_33, 0, MossdeepCity_SpaceCenter_1F_Text_223A8A, MossdeepCity_SpaceCenter_1F_Text_223AFA
- msgbox MossdeepCity_SpaceCenter_1F_Text_223B37, 6
+ trainerbattle_single TRAINER_GRUNT_33, MossdeepCity_SpaceCenter_1F_Text_223A8A, MossdeepCity_SpaceCenter_1F_Text_223AFA
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223B37, MSGBOX_AUTOCLOSE
end
MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
@@ -238,8 +238,8 @@ MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
faceplayer
checkflag FLAG_0x0BF
goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22326E
- msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, 4
- trainerbattle 3, TRAINER_GRUNT_23, 0, MossdeepCity_SpaceCenter_1F_Text_223BC2
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2
setflag FLAG_0x0BF
moveobjectoffscreen 9
switch VAR_FACING
@@ -252,7 +252,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
end
MossdeepCity_SpaceCenter_1F_EventScript_22326E:: @ 822326E
- msgbox MossdeepCity_SpaceCenter_1F_Text_223BD3, 4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223BD3, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/events.inc b/data/maps/MossdeepCity_SpaceCenter_2F/events.inc
index 02b771bf6..6c271b5de 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/events.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/events.inc
@@ -2,12 +2,12 @@ MossdeepCity_SpaceCenter_2F_EventObjects: @ 8532E4C
object_event 1, EVENT_OBJ_GFX_RICH_BOY, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F03, 0
object_event 2, EVENT_OBJ_GFX_GENTLEMAN, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223EC8, 0
object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 5, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223E8D, 0
- object_event 4, EVENT_OBJ_GFX_STEVEN, 0, 1, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F7A, 863
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F3E, 862
- object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 13, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F50, 862
- object_event 7, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 14, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F47, 862
- object_event 8, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F59, 862
- object_event 9, EVENT_OBJ_GFX_MAXIE, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F6F, 862
+ object_event 4, EVENT_OBJ_GFX_STEVEN, 0, 1, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F7A, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F3E, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 13, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F50, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ object_event 7, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 14, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F47, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ object_event 8, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F59, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ object_event 9, EVENT_OBJ_GFX_MAXIE, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F6F, FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
MossdeepCity_SpaceCenter_2F_MapWarps: @ 8532F24
warp_def 13, 1, 0, 2, MAP_MOSSDEEP_CITY_SPACE_CENTER_1F
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
index 36bfc422a..22fcc1476 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
@@ -36,10 +36,10 @@ MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF
waitmovement 0
applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_27259A
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, 5
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09
- msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, MSGBOX_DEFAULT
closemessage
applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_223E07
waitmovement 0
@@ -53,20 +53,20 @@ MossdeepCity_SpaceCenter_2F_Movement_223E07: @ 8223E07
step_end
MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09
- msgbox MossdeepCity_SpaceCenter_2F_Text_22442D, 4
- trainerbattle 3, TRAINER_GRUNT_34, 0, MossdeepCity_SpaceCenter_2F_Text_224461
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22442D, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461
applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85
waitmovement 0
applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A4
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, 4
- trainerbattle 3, TRAINER_GRUNT_35, 0, MossdeepCity_SpaceCenter_2F_Text_224499
+ 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
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, 4
- trainerbattle 3, TRAINER_GRUNT_36, 0, MossdeepCity_SpaceCenter_2F_Text_2244F1
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1
applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_223E89
waitmovement 0
setvar VAR_0x409F, 2
@@ -107,12 +107,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D
end
MossdeepCity_SpaceCenter_2F_EventScript_223EB4:: @ 8223EB4
- msgbox MossdeepCity_SpaceCenter_2F_Text_2241A1, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2241A1, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE
- msgbox MossdeepCity_SpaceCenter_2F_Text_22420C, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22420C, MSGBOX_DEFAULT
release
end
@@ -129,12 +129,12 @@ MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8
end
MossdeepCity_SpaceCenter_2F_EventScript_223EEF:: @ 8223EEF
- msgbox MossdeepCity_SpaceCenter_2F_Text_224253, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224253, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9
- msgbox MossdeepCity_SpaceCenter_2F_Text_2242C5, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2242C5, MSGBOX_DEFAULT
release
end
@@ -151,31 +151,31 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03
end
MossdeepCity_SpaceCenter_2F_EventScript_223F2A:: @ 8223F2A
- msgbox MossdeepCity_SpaceCenter_2F_Text_224342, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224342, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_2F_EventScript_223F34:: @ 8223F34
- msgbox MossdeepCity_SpaceCenter_2F_Text_224376, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224376, MSGBOX_DEFAULT
release
end
MossdeepCity_SpaceCenter_2F_EventScript_223F3E:: @ 8223F3E
- msgbox MossdeepCity_SpaceCenter_2F_Text_22452C, 2
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22452C, MSGBOX_NPC
end
MossdeepCity_SpaceCenter_2F_EventScript_223F47:: @ 8223F47
- msgbox MossdeepCity_SpaceCenter_2F_Text_224570, 2
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224570, MSGBOX_NPC
end
MossdeepCity_SpaceCenter_2F_EventScript_223F50:: @ 8223F50
- msgbox MossdeepCity_SpaceCenter_2F_Text_2245AF, 2
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2245AF, MSGBOX_NPC
end
MossdeepCity_SpaceCenter_2F_EventScript_223F59:: @ 8223F59
lock
faceplayer
- msgbox MossdeepCity_SpaceCenter_2F_Text_2245D9, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2245D9, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725A2
waitmovement 0
release
@@ -183,7 +183,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F59:: @ 8223F59
MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F
lockall
- msgbox MossdeepCity_SpaceCenter_2F_Text_22467B, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22467B, MSGBOX_DEFAULT
releaseall
end
@@ -192,8 +192,8 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A
checkflag FLAG_0x0CD
goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223FDA
setflag FLAG_0x0CD
- msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, 4
- msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, MSGBOX_DEFAULT
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, MSGBOX_DEFAULT
closemessage
delay 30
playse SE_KOUKA_L
@@ -237,10 +237,10 @@ MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF
MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_27259E
waitmovement 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, 5
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C
- msgbox MossdeepCity_SpaceCenter_2F_Text_224854, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224854, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA
waitmovement 0
@@ -260,16 +260,16 @@ MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C
goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA
MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
- special ReducePlayerPartyToThree
+ special ReducePlayerPartyToSelectedMons
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
- setvar VAR_0x8004, 8
+ special CallFrontierUtilFunc
+ setvar VAR_0x8004, SPECIAL_BATTLE_STEVEN
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
setvar VAR_0x8004, 6
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
switch VAR_RESULT
case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071
@@ -278,7 +278,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
waitstate
MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
- msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, MSGBOX_DEFAULT
closemessage
delay 20
applymovement 9, MossdeepCity_SpaceCenter_2F_Movement_2725A4
@@ -289,15 +289,15 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
applymovement 8, MossdeepCity_SpaceCenter_2F_Movement_2725A8
waitmovement 0
delay 20
- msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, MSGBOX_DEFAULT
closemessage
setvar VAR_0x405D, 3
fadedefaultbgm
fadescreen 1
setvar VAR_0x409F, 3
- setflag FLAG_0x2F4
- setflag FLAG_0x35E
- setflag FLAG_0x337
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA
+ setflag FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA
removeobject 5
removeobject 7
removeobject 6
@@ -311,16 +311,16 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
turnobject 1, 2
call MossdeepCity_SpaceCenter_2F_EventScript_224131
fadescreen 0
- msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, MSGBOX_DEFAULT
closemessage
fadescreen 1
setflag FLAG_0x075
- setflag FLAG_0x3C7
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
removeobject 4
- setflag FLAG_0x2E1
- clearflag FLAG_0x3C7
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY
+ clearflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
setvar VAR_0x40C6, 1
- setflag FLAG_0x314
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT
removeobject 3
setobjectxyperm 3, 5, 6
setobjectmovementtype 3, 2
@@ -343,11 +343,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_224152:: @ 8224152
return
MossdeepCity_SpaceCenter_2F_EventScript_224157:: @ 8224157
- trainerbattle 10, TRAINER_MAXIE_3, 0, MossdeepCity_SpaceCenter_2F_Text_22487C, MossdeepCity_SpaceCenter_2F_Text_22487C
+ trainerbattle TRAINER_BATTLE_SET_TRAINER_A, TRAINER_MAXIE_3, 0, MossdeepCity_SpaceCenter_2F_Text_22487C, MossdeepCity_SpaceCenter_2F_Text_22487C
end
MossdeepCity_SpaceCenter_2F_EventScript_224166:: @ 8224166
- trainerbattle 11, TRAINER_TABITHA_1, 0, MossdeepCity_SpaceCenter_Text_2248AD, MossdeepCity_SpaceCenter_Text_2248AD
+ trainerbattle TRAINER_BATTLE_SET_TRAINER_B, TRAINER_TABITHA_1, 0, MossdeepCity_SpaceCenter_Text_2248AD, MossdeepCity_SpaceCenter_Text_2248AD
end
MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175
diff --git a/data/maps/MossdeepCity_StevensHouse/events.inc b/data/maps/MossdeepCity_StevensHouse/events.inc
index 208ec7db0..dd8b3d1b4 100644
--- a/data/maps/MossdeepCity_StevensHouse/events.inc
+++ b/data/maps/MossdeepCity_StevensHouse/events.inc
@@ -1,7 +1,7 @@
MossdeepCity_StevensHouse_EventObjects: @ 8532C10
- object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222912, 967
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_222841, 968
- object_event 3, EVENT_OBJ_GFX_NINJA_BOY, 0, 6, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_22291B, 727
+ object_event 1, EVENT_OBJ_GFX_STEVEN, 0, 9, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222912, FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_222841, FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
+ object_event 3, EVENT_OBJ_GFX_NINJA_BOY, 0, 6, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, MossdeepCity_StevensHouse_EventScript_22291B, FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY
MossdeepCity_StevensHouse_MapWarps: @ 8532C58
warp_def 3, 7, 0, 6, MAP_MOSSDEEP_CITY
diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc
index 14d0cd5c7..2c8aef889 100644
--- a/data/maps/MossdeepCity_StevensHouse/scripts.inc
+++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc
@@ -38,17 +38,17 @@ MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA
waitmovement 0
applymovement 1, MossdeepCity_StevensHouse_Movement_222833
waitmovement 0
- msgbox MossdeepCity_StevensHouse_Text_222936, 4
+ msgbox MossdeepCity_StevensHouse_Text_222936, MSGBOX_DEFAULT
giveitem_std ITEM_HM08
setflag FLAG_0x07B
setflag FLAG_0x12E
- msgbox MossdeepCity_StevensHouse_Text_222A0E, 4
+ msgbox MossdeepCity_StevensHouse_Text_222A0E, MSGBOX_DEFAULT
closemessage
delay 20
applymovement 1, MossdeepCity_StevensHouse_Movement_22283B
waitmovement 0
- setflag FLAG_0x314
- setflag FLAG_0x3AD
+ setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT
setvar VAR_0x40C6, 2
releaseall
end
@@ -73,14 +73,14 @@ MossdeepCity_StevensHouse_Movement_22283B: @ 822283B
MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841
lockall
- msgbox MossdeepCity_StevensHouse_Text_222B9E, 5
+ msgbox MossdeepCity_StevensHouse_Text_222B9E, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_StevensHouse_EventScript_22285B
goto MossdeepCity_StevensHouse_EventScript_222865
end
MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B
- msgbox MossdeepCity_StevensHouse_Text_222C2A, 4
+ msgbox MossdeepCity_StevensHouse_Text_222C2A, MSGBOX_DEFAULT
releaseall
end
@@ -96,7 +96,7 @@ MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865
MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
call MossdeepCity_StevensHouse_EventScript_2228EB
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_StevensHouse_EventScript_222901
call MossdeepCity_StevensHouse_EventScript_27378B
@@ -106,7 +106,7 @@ MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD
call MossdeepCity_StevensHouse_EventScript_2228EB
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_StevensHouse_EventScript_2228E0
call MossdeepCity_StevensHouse_EventScript_273797
@@ -129,22 +129,22 @@ MossdeepCity_StevensHouse_EventScript_2228EB:: @ 82228EB
return
MossdeepCity_StevensHouse_EventScript_222901:: @ 8222901
- setflag FLAG_0x3C8
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL
setflag FLAG_0x12A
releaseall
end
MossdeepCity_StevensHouse_EventScript_222909:: @ 8222909
- msgbox MossdeepCity_StevensHouse_Text_222D97, 3
+ msgbox MossdeepCity_StevensHouse_Text_222D97, MSGBOX_SIGN
end
MossdeepCity_StevensHouse_EventScript_222912:: @ 8222912
- msgbox MossdeepCity_StevensHouse_Text_222B11, 2
+ msgbox MossdeepCity_StevensHouse_Text_222B11, MSGBOX_NPC
end
MossdeepCity_StevensHouse_EventScript_22291B:: @ 822291B
lockall
- msgbox MossdeepCity_StevensHouse_Text_222C4E, 4
+ msgbox MossdeepCity_StevensHouse_Text_222C4E, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/MtChimney/events.inc b/data/maps/MtChimney/events.inc
index 343f6a203..d11ba584e 100644
--- a/data/maps/MtChimney/events.inc
+++ b/data/maps/MtChimney/events.inc
@@ -1,34 +1,34 @@
MtChimney_EventObjects: @ 85347C8
- object_event 1, EVENT_OBJ_GFX_ARCHIE, 0, 24, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22EDD5, 926
- object_event 2, EVENT_OBJ_GFX_MAXIE, 0, 13, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22EE0B, 927
- object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, MtChimney_EventScript_22F06E, 927
- object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 32, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0C0, 927
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 28, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0B7, 927
- object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 19, 39, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F05C, 926
- object_event 7, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 29, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F053, 926
- object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 31, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F065, 926
- object_event 9, EVENT_OBJ_GFX_OLD_WOMAN, 0, 19, 39, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22EEF3, 994
- object_event 10, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 22, 39, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0C9, 927
- object_event 11, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 19, 3, MOVEMENT_TYPE_RUN_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926
- object_event 12, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 18, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927
- object_event 13, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 23, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_22F0A5, 927
- object_event 14, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 20, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927
- object_event 15, EVENT_OBJ_GFX_POOCHYENA, 0, 22, 19, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927
- object_event 16, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 23, 21, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MtChimney_EventScript_22F0AE, 927
- object_event 17, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 21, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F09C, 927
- object_event 18, EVENT_OBJ_GFX_POOCHYENA, 0, 30, 12, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926
- object_event 19, EVENT_OBJ_GFX_POOCHYENA, 0, 29, 12, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927
- object_event 20, EVENT_OBJ_GFX_POOCHYENA, 0, 30, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926
- object_event 21, EVENT_OBJ_GFX_POOCHYENA, 0, 31, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927
- object_event 22, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 9, 16, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtChimney_EventScript_22F085, 927
- object_event 23, EVENT_OBJ_GFX_POOCHYENA, 0, 20, 39, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926
- object_event 24, EVENT_OBJ_GFX_POOCHYENA, 0, 21, 39, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927
- object_event 25, EVENT_OBJ_GFX_EXPERT_F, 0, 16, 18, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, MtChimney_EventScript_22F14A, 877
- object_event 26, EVENT_OBJ_GFX_BEAUTY, 0, 14, 7, 3, MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, 0, 0, 1, 6, MtChimney_EventScript_22F1AC, 877
- object_event 27, EVENT_OBJ_GFX_BEAUTY, 0, 29, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, MtChimney_EventScript_22F1C3, 877
- object_event 28, EVENT_OBJ_GFX_BEAUTY, 0, 27, 17, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, MtChimney_EventScript_22F1DA, 877
- object_event 29, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 13, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, MtChimney_EventScript_22F1F1, 927
- object_event 30, EVENT_OBJ_GFX_HIKER, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 6, MtChimney_EventScript_22F208, 877
+ object_event 1, EVENT_OBJ_GFX_ARCHIE, 0, 24, 19, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22EDD5, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 2, EVENT_OBJ_GFX_MAXIE, 0, 13, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22EE0B, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 3, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 12, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, MtChimney_EventScript_22F06E, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 32, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0C0, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 28, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0B7, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 19, 39, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F05C, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 7, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 29, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F053, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 31, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F065, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 9, EVENT_OBJ_GFX_OLD_WOMAN, 0, 19, 39, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22EEF3, FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY
+ object_event 10, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 22, 39, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0C9, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 11, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 19, 3, MOVEMENT_TYPE_RUN_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 12, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 18, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 13, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 23, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtChimney_EventScript_22F0A5, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 14, EVENT_OBJ_GFX_POOCHYENA, 0, 23, 20, 3, MOVEMENT_TYPE_WALK_IN_PLACE_UP, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 15, EVENT_OBJ_GFX_POOCHYENA, 0, 22, 19, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 16, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 23, 21, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, MtChimney_EventScript_22F0AE, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 17, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 21, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F09C, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 18, EVENT_OBJ_GFX_POOCHYENA, 0, 30, 12, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 19, EVENT_OBJ_GFX_POOCHYENA, 0, 29, 12, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 20, EVENT_OBJ_GFX_POOCHYENA, 0, 30, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 21, EVENT_OBJ_GFX_POOCHYENA, 0, 31, 5, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 22, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 9, 16, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtChimney_EventScript_22F085, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 23, EVENT_OBJ_GFX_POOCHYENA, 0, 20, 39, 3, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
+ object_event 24, EVENT_OBJ_GFX_POOCHYENA, 0, 21, 39, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 25, EVENT_OBJ_GFX_EXPERT_F, 0, 16, 18, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, MtChimney_EventScript_22F14A, FLAG_HIDE_MT_CHIMNEY_TRAINERS
+ object_event 26, EVENT_OBJ_GFX_BEAUTY, 0, 14, 7, 3, MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, 0, 0, 1, 6, MtChimney_EventScript_22F1AC, FLAG_HIDE_MT_CHIMNEY_TRAINERS
+ object_event 27, EVENT_OBJ_GFX_BEAUTY, 0, 29, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, MtChimney_EventScript_22F1C3, FLAG_HIDE_MT_CHIMNEY_TRAINERS
+ object_event 28, EVENT_OBJ_GFX_BEAUTY, 0, 27, 17, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, MtChimney_EventScript_22F1DA, FLAG_HIDE_MT_CHIMNEY_TRAINERS
+ object_event 29, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 13, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, MtChimney_EventScript_22F1F1, FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
+ object_event 30, EVENT_OBJ_GFX_HIKER, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 6, MtChimney_EventScript_22F208, FLAG_HIDE_MT_CHIMNEY_TRAINERS
MtChimney_MapWarps: @ 8534A98
warp_def 17, 36, 0, 0, MAP_MT_CHIMNEY_CABLE_CAR_STATION
diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc
index 5abd7c176..ddd8b8d42 100644
--- a/data/maps/MtChimney/scripts.inc
+++ b/data/maps/MtChimney/scripts.inc
@@ -26,17 +26,17 @@ MtChimney_EventScript_22EDD5:: @ 822EDD5
end
MtChimney_EventScript_22EDF9:: @ 822EDF9
- msgbox MtChimney_Text_22FAD2, 4
+ msgbox MtChimney_Text_22FAD2, MSGBOX_DEFAULT
return
MtChimney_EventScript_22EE02:: @ 822EE02
- msgbox MtChimney_Text_22FBC7, 4
+ msgbox MtChimney_Text_22FBC7, MSGBOX_DEFAULT
return
MtChimney_EventScript_22EE0B:: @ 822EE0B
lockall
playbgm MUS_MGM0, 0
- msgbox MtChimney_Text_22F26A, 4
+ msgbox MtChimney_Text_22F26A, MSGBOX_DEFAULT
applymovement 2, MtChimney_Movement_27259E
waitmovement 0
playse SE_PIN
@@ -44,9 +44,9 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B
waitmovement 0
applymovement 2, MtChimney_Movement_27259A
waitmovement 0
- msgbox MtChimney_Text_22F32E, 4
- trainerbattle 3, TRAINER_MAXIE_2, 0, MtChimney_Text_22F5CF
- msgbox MtChimney_Text_22F5F7, 4
+ msgbox MtChimney_Text_22F32E, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_MAXIE_2, MtChimney_Text_22F5CF
+ msgbox MtChimney_Text_22F5F7, MSGBOX_DEFAULT
closemessage
delay 30
fadescreen 1
@@ -54,7 +54,7 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B
removeobject 29
removeobject 3
removeobject 22
- setflag FLAG_0x39F
+ setflag FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA
fadescreen 0
setobjectxyperm 1, 10, 12
addobject 1
@@ -64,18 +64,18 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B
call_if 1, MtChimney_EventScript_22EED2
applymovement 255, MtChimney_Movement_2725A4
waitmovement 0
- msgbox MtChimney_Text_22FC3D, 4
+ msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 4
call_if 1, MtChimney_EventScript_22EEDD
compare VAR_FACING, 2
call_if 1, MtChimney_EventScript_22EEE8
removeobject 1
- setflag FLAG_0x39E
+ setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
setflag FLAG_0x08B
- clearflag FLAG_0x3A0
- setflag FLAG_0x3AE
- clearflag FLAG_0x3E2
+ clearflag FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO
+ setflag FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO
+ clearflag FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY
releaseall
end
@@ -103,13 +103,13 @@ MtChimney_EventScript_22EEF3:: @ 822EEF3
lock
faceplayer
showmoneybox 0, 0, 0
- msgbox MtChimney_Text_22FE04, 5
+ msgbox MtChimney_Text_22FE04, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MtChimney_EventScript_22EF69
checkmoney 0xc8, 0
compare VAR_RESULT, 0
goto_eq MtChimney_EventScript_22EF76
- msgbox MtChimney_Text_22FE4D, 4
+ msgbox MtChimney_Text_22FE4D, MSGBOX_DEFAULT
checkitemspace ITEM_LAVA_COOKIE, 1
compare VAR_RESULT, 1
call_if 1, MtChimney_EventScript_22EF5E
@@ -123,7 +123,7 @@ MtChimney_EventScript_22EEF3:: @ 822EEF3
end
MtChimney_EventScript_22EF51:: @ 822EF51
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -137,7 +137,7 @@ MtChimney_EventScript_22EF5E:: @ 822EF5E
return
MtChimney_EventScript_22EF69:: @ 822EF69
- msgbox MtChimney_Text_22FE9B, 4
+ msgbox MtChimney_Text_22FE9B, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -145,7 +145,7 @@ MtChimney_EventScript_22EF69:: @ 822EF69
end
MtChimney_EventScript_22EF76:: @ 822EF76
- msgbox MtChimney_Text_22FE5E, 4
+ msgbox MtChimney_Text_22FE5E, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -399,57 +399,57 @@ MtChimney_Movement_22F04F: @ 822F04F
step_end
MtChimney_EventScript_22F053:: @ 822F053
- msgbox MtChimney_Text_22FD1F, 3
+ msgbox MtChimney_Text_22FD1F, MSGBOX_SIGN
end
MtChimney_EventScript_22F05C:: @ 822F05C
- msgbox MtChimney_Text_22FD5B, 3
+ msgbox MtChimney_Text_22FD5B, MSGBOX_SIGN
end
MtChimney_EventScript_22F065:: @ 822F065
- msgbox MtChimney_Text_22FDA1, 3
+ msgbox MtChimney_Text_22FDA1, MSGBOX_SIGN
end
MtChimney_EventScript_22F06E:: @ 822F06E
- trainerbattle 0, TRAINER_TABITHA_2, 0, MtChimney_Text_22F6AA, MtChimney_Text_22F72C
- msgbox MtChimney_Text_22F76D, 6
+ trainerbattle_single TRAINER_TABITHA_2, MtChimney_Text_22F6AA, MtChimney_Text_22F72C
+ msgbox MtChimney_Text_22F76D, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F085:: @ 822F085
- trainerbattle 0, TRAINER_GRUNT_31, 0, MtChimney_Text_22F7A2, MtChimney_Text_22F83A
- msgbox MtChimney_Text_22F859, 6
+ trainerbattle_single TRAINER_GRUNT_31, MtChimney_Text_22F7A2, MtChimney_Text_22F83A
+ msgbox MtChimney_Text_22F859, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F09C:: @ 822F09C
- msgbox MtChimney_Text_22F978, 3
+ msgbox MtChimney_Text_22F978, MSGBOX_SIGN
end
MtChimney_EventScript_22F0A5:: @ 822F0A5
- msgbox MtChimney_Text_22F9B2, 3
+ msgbox MtChimney_Text_22F9B2, MSGBOX_SIGN
end
MtChimney_EventScript_22F0AE:: @ 822F0AE
- msgbox MtChimney_Text_22F9D1, 3
+ msgbox MtChimney_Text_22F9D1, MSGBOX_SIGN
end
MtChimney_EventScript_22F0B7:: @ 822F0B7
- msgbox MtChimney_Text_22FA2F, 3
+ msgbox MtChimney_Text_22FA2F, MSGBOX_SIGN
end
MtChimney_EventScript_22F0C0:: @ 822F0C0
- msgbox MtChimney_Text_22FA8B, 3
+ msgbox MtChimney_Text_22FA8B, MSGBOX_SIGN
end
MtChimney_EventScript_22F0C9:: @ 822F0C9
- msgbox MtChimney_Text_22FAA5, 3
+ msgbox MtChimney_Text_22FAA5, MSGBOX_SIGN
end
MtChimney_EventScript_22F0D2:: @ 822F0D2
- msgbox MtChimney_Text_22FACB, 3
+ msgbox MtChimney_Text_22FACB, MSGBOX_SIGN
end
MtChimney_EventScript_22F0DB:: @ 822F0DB
- msgbox MtChimney_Text_22FDFC, 3
+ msgbox MtChimney_Text_22FDFC, MSGBOX_SIGN
end
MtChimney_EventScript_22F0E4:: @ 822F0E4
@@ -458,102 +458,96 @@ MtChimney_EventScript_22F0E4:: @ 822F0E4
goto_if 0, MtChimney_EventScript_22F137
checkflag FLAG_0x073
goto_eq MtChimney_EventScript_22F12D
- msgbox MtChimney_Text_22FF12, 5
+ msgbox MtChimney_Text_22FF12, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MtChimney_EventScript_22F123
- msgbox MtChimney_Text_22FF66, 4
+ msgbox MtChimney_Text_22FF66, MSGBOX_DEFAULT
giveitem_std ITEM_METEORITE
setflag FLAG_0x073
releaseall
end
MtChimney_EventScript_22F123:: @ 822F123
- msgbox MtChimney_Text_22FF9C, 4
+ msgbox MtChimney_Text_22FF9C, MSGBOX_DEFAULT
releaseall
end
MtChimney_EventScript_22F12D:: @ 822F12D
- msgbox MtChimney_Text_22FFC0, 4
+ msgbox MtChimney_Text_22FFC0, MSGBOX_DEFAULT
releaseall
end
MtChimney_EventScript_22F137:: @ 822F137
- msgbox MtChimney_Text_22FEAA, 4
+ msgbox MtChimney_Text_22FEAA, MSGBOX_DEFAULT
releaseall
end
MtChimney_EventScript_22F141:: @ 822F141
- msgbox MtChimney_Text_22FFFA, 3
+ msgbox MtChimney_Text_22FFFA, MSGBOX_SIGN
end
MtChimney_EventScript_22F14A:: @ 822F14A
- trainerbattle 2, TRAINER_SHELBY_1, 0, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176
+ 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
- msgbox MtChimney_Text_2300A2, 4
+ msgbox MtChimney_Text_2300A2, MSGBOX_DEFAULT
release
end
MtChimney_EventScript_22F176:: @ 822F176
special sub_80B4808
waitmovement 0
- msgbox MtChimney_Text_2300E3, 4
- setvar VAR_0x8004, 313
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 313
- callstd 8
+ msgbox MtChimney_Text_2300E3, MSGBOX_DEFAULT
+ register_matchcall TRAINER_SHELBY_1
release
end
MtChimney_EventScript_22F195:: @ 822F195
- trainerbattle 5, TRAINER_SHELBY_1, 0, MtChimney_Text_230153, MtChimney_Text_2301BB
- msgbox MtChimney_Text_2301E7, 6
+ trainerbattle_rematch TRAINER_SHELBY_1, MtChimney_Text_230153, MtChimney_Text_2301BB
+ msgbox MtChimney_Text_2301E7, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F1AC:: @ 822F1AC
- trainerbattle 0, TRAINER_MELISSA, 0, MtChimney_Text_23022A, MtChimney_Text_23026D
- msgbox MtChimney_Text_230292, 6
+ trainerbattle_single TRAINER_MELISSA, MtChimney_Text_23022A, MtChimney_Text_23026D
+ msgbox MtChimney_Text_230292, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F1C3:: @ 822F1C3
- trainerbattle 0, TRAINER_SHEILA, 0, MtChimney_Text_2302BD, MtChimney_Text_230304
- msgbox MtChimney_Text_23033A, 6
+ trainerbattle_single TRAINER_SHEILA, MtChimney_Text_2302BD, MtChimney_Text_230304
+ msgbox MtChimney_Text_23033A, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F1DA:: @ 822F1DA
- trainerbattle 0, TRAINER_SHIRLEY, 0, MtChimney_Text_2303DF, MtChimney_Text_230436
- msgbox MtChimney_Text_230463, 6
+ trainerbattle_single TRAINER_SHIRLEY, MtChimney_Text_2303DF, MtChimney_Text_230436
+ msgbox MtChimney_Text_230463, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F1F1:: @ 822F1F1
- trainerbattle 0, TRAINER_GRUNT_24, 0, MtChimney_Text_22F8B6, MtChimney_Text_22F921
- msgbox MtChimney_Text_22F93A, 6
+ trainerbattle_single TRAINER_GRUNT_24, MtChimney_Text_22F8B6, MtChimney_Text_22F921
+ msgbox MtChimney_Text_22F93A, MSGBOX_AUTOCLOSE
end
MtChimney_EventScript_22F208:: @ 822F208
- trainerbattle 2, TRAINER_SAWYER_1, 0, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234
+ 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
- msgbox MtChimney_Text_230519, 4
+ msgbox MtChimney_Text_230519, MSGBOX_DEFAULT
release
end
MtChimney_EventScript_22F234:: @ 822F234
special sub_80B4808
waitmovement 0
- msgbox MtChimney_Text_230557, 4
- setvar VAR_0x8004, 1
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 1
- callstd 8
+ msgbox MtChimney_Text_230557, MSGBOX_DEFAULT
+ register_matchcall TRAINER_SAWYER_1
release
end
MtChimney_EventScript_22F253:: @ 822F253
- trainerbattle 5, TRAINER_SAWYER_1, 0, MtChimney_Text_23059C, MtChimney_Text_2305E3
- msgbox MtChimney_Text_230614, 6
+ trainerbattle_rematch TRAINER_SAWYER_1, MtChimney_Text_23059C, MtChimney_Text_2305E3
+ msgbox MtChimney_Text_230614, MSGBOX_AUTOCLOSE
end
MtChimney_Text_22F26A: @ 822F26A
diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc
index b6c2118db..2544e6729 100644
--- a/data/maps/MtChimney_CableCarStation/scripts.inc
+++ b/data/maps/MtChimney_CableCarStation/scripts.inc
@@ -31,7 +31,7 @@ MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27
MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B
lock
faceplayer
- msgbox MtChimney_CableCarStation_Text_22ACB9, 5
+ msgbox MtChimney_CableCarStation_Text_22ACB9, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MtChimney_CableCarStation_EventScript_22AC6C
compare VAR_RESULT, 0
@@ -39,7 +39,7 @@ MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B
end
MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C
- msgbox MtChimney_CableCarStation_Text_22ACF8, 4
+ msgbox MtChimney_CableCarStation_Text_22ACF8, MSGBOX_DEFAULT
closemessage
applymovement 1, MtChimney_CableCarStation_Movement_22ACA5
applymovement 255, MtChimney_CableCarStation_Movement_22ACAF
@@ -54,7 +54,7 @@ MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C
end
MtChimney_CableCarStation_EventScript_22AC9B:: @ 822AC9B
- msgbox MtChimney_CableCarStation_Text_22AD0E, 4
+ msgbox MtChimney_CableCarStation_Text_22AD0E, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc
index 51c8a88fb..755536d8d 100644
--- a/data/maps/MtPyre_1F/scripts.inc
+++ b/data/maps/MtPyre_1F/scripts.inc
@@ -6,7 +6,7 @@ MtPyre_1F_EventScript_230F3F:: @ 8230F3F
faceplayer
checkflag FLAG_0x11A
goto_eq MtPyre_1F_EventScript_230F6E
- msgbox MtPyre_1F_Text_230F8A, 4
+ msgbox MtPyre_1F_Text_230F8A, MSGBOX_DEFAULT
giveitem_std ITEM_CLEANSE_TAG
compare VAR_RESULT, 0
goto_eq MtPyre_1F_EventScript_272054
@@ -15,16 +15,16 @@ MtPyre_1F_EventScript_230F3F:: @ 8230F3F
end
MtPyre_1F_EventScript_230F6E:: @ 8230F6E
- msgbox MtPyre_1F_Text_231005, 4
+ msgbox MtPyre_1F_Text_231005, MSGBOX_DEFAULT
release
end
MtPyre_1F_EventScript_230F78:: @ 8230F78
- msgbox MtPyre_1F_Text_23104F, 2
+ msgbox MtPyre_1F_Text_23104F, MSGBOX_NPC
end
MtPyre_1F_EventScript_230F81:: @ 8230F81
- msgbox MtPyre_1F_Text_2310BA, 2
+ msgbox MtPyre_1F_Text_2310BA, MSGBOX_NPC
end
MtPyre_1F_Text_230F8A: @ 8230F8A
diff --git a/data/maps/MtPyre_2F/events.inc b/data/maps/MtPyre_2F/events.inc
index c025089e3..f9fad9f46 100644
--- a/data/maps/MtPyre_2F/events.inc
+++ b/data/maps/MtPyre_2F/events.inc
@@ -1,6 +1,6 @@
MtPyre_2F_EventObjects: @ 8534DF0
object_event 1, EVENT_OBJ_GFX_MANIAC, 0, 3, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, MtPyre_2F_EventScript_231128, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_2F_EventScript_2912FD, 1129
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_2F_EventScript_2912FD, FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL
object_event 3, EVENT_OBJ_GFX_WOMAN_1, 0, 9, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, MtPyre_2F_EventScript_231116, 0
object_event 4, EVENT_OBJ_GFX_POKEFAN_M, 0, 12, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, MtPyre_2F_EventScript_23111F, 0
object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 2, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, MtPyre_2F_EventScript_23115A, 0
diff --git a/data/maps/MtPyre_2F/scripts.inc b/data/maps/MtPyre_2F/scripts.inc
index de8520954..830ed5cf7 100644
--- a/data/maps/MtPyre_2F/scripts.inc
+++ b/data/maps/MtPyre_2F/scripts.inc
@@ -10,36 +10,36 @@ MtPyre_2F_MapScript1_23110B: @ 823110B
end
MtPyre_2F_EventScript_231116:: @ 8231116
- msgbox MtPyre_2F_Text_2311A3, 2
+ msgbox MtPyre_2F_Text_2311A3, MSGBOX_NPC
end
MtPyre_2F_EventScript_23111F:: @ 823111F
- msgbox MtPyre_2F_Text_2311E6, 2
+ msgbox MtPyre_2F_Text_2311E6, MSGBOX_NPC
end
MtPyre_2F_EventScript_231128:: @ 8231128
- trainerbattle 0, TRAINER_MARK, 0, MtPyre_2F_Text_231258, MtPyre_2F_Text_2312A2
- msgbox MtPyre_2F_Text_2312CB, 6
+ trainerbattle_single TRAINER_MARK, MtPyre_2F_Text_231258, MtPyre_2F_Text_2312A2
+ msgbox MtPyre_2F_Text_2312CB, MSGBOX_AUTOCLOSE
end
MtPyre_2F_EventScript_23113F:: @ 823113F
- trainerbattle 4, TRAINER_DEZ_AND_LUKE, 0, MtPyre_2F_Text_23130F, MtPyre_2F_Text_2313A1, MtPyre_2F_Text_231414
- msgbox MtPyre_2F_Text_2313B1, 6
+ trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_23130F, MtPyre_2F_Text_2313A1, MtPyre_2F_Text_231414
+ msgbox MtPyre_2F_Text_2313B1, MSGBOX_AUTOCLOSE
end
MtPyre_2F_EventScript_23115A:: @ 823115A
- trainerbattle 4, TRAINER_DEZ_AND_LUKE, 0, MtPyre_2F_Text_231492, MtPyre_2F_Text_231534, MtPyre_2F_Text_231582
- msgbox MtPyre_2F_Text_23154D, 6
+ trainerbattle_double TRAINER_DEZ_AND_LUKE, MtPyre_2F_Text_231492, MtPyre_2F_Text_231534, MtPyre_2F_Text_231582
+ msgbox MtPyre_2F_Text_23154D, MSGBOX_AUTOCLOSE
end
MtPyre_2F_EventScript_231175:: @ 8231175
- trainerbattle 0, TRAINER_LEAH, 0, MtPyre_2F_Text_231604, MtPyre_2F_Text_231645
- msgbox MtPyre_2F_Text_23165A, 6
+ trainerbattle_single TRAINER_LEAH, MtPyre_2F_Text_231604, MtPyre_2F_Text_231645
+ msgbox MtPyre_2F_Text_23165A, MSGBOX_AUTOCLOSE
end
MtPyre_2F_EventScript_23118C:: @ 823118C
- trainerbattle 0, TRAINER_ZANDER, 0, MtPyre_2F_Text_2316C7, MtPyre_2F_Text_2316E1
- msgbox MtPyre_2F_Text_2316FB, 6
+ trainerbattle_single TRAINER_ZANDER, MtPyre_2F_Text_2316C7, MtPyre_2F_Text_2316E1
+ msgbox MtPyre_2F_Text_2316FB, MSGBOX_AUTOCLOSE
end
MtPyre_2F_Text_2311A3: @ 82311A3
diff --git a/data/maps/MtPyre_3F/events.inc b/data/maps/MtPyre_3F/events.inc
index 8d841d828..f78373aca 100644
--- a/data/maps/MtPyre_3F/events.inc
+++ b/data/maps/MtPyre_3F/events.inc
@@ -1,7 +1,7 @@
MtPyre_3F_EventObjects: @ 8534EEC
object_event 1, EVENT_OBJ_GFX_PSYCHIC_M, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 4, MtPyre_3F_EventScript_231753, 0
object_event 2, EVENT_OBJ_GFX_LASS, 0, 11, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 4, MtPyre_3F_EventScript_23176A, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_3F_EventScript_29130A, 1120
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_3F_EventScript_29130A, FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL
object_event 4, EVENT_OBJ_GFX_WOMAN_2, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 1, 4, MtPyre_3F_EventScript_231781, 0
MtPyre_3F_MapWarps: @ 8534F4C
diff --git a/data/maps/MtPyre_3F/scripts.inc b/data/maps/MtPyre_3F/scripts.inc
index ec5373509..890fc4d22 100644
--- a/data/maps/MtPyre_3F/scripts.inc
+++ b/data/maps/MtPyre_3F/scripts.inc
@@ -2,38 +2,35 @@ MtPyre_3F_MapScripts:: @ 8231752
.byte 0
MtPyre_3F_EventScript_231753:: @ 8231753
- trainerbattle 0, TRAINER_WILLIAM, 0, MtPyre_3F_Text_2317E3, MtPyre_3F_Text_231853
- msgbox MtPyre_3F_Text_231869, 6
+ trainerbattle_single TRAINER_WILLIAM, MtPyre_3F_Text_2317E3, MtPyre_3F_Text_231853
+ msgbox MtPyre_3F_Text_231869, MSGBOX_AUTOCLOSE
end
MtPyre_3F_EventScript_23176A:: @ 823176A
- trainerbattle 0, TRAINER_KAYLA, 0, MtPyre_3F_Text_2318A1, MtPyre_3F_Text_2318DD
- msgbox MtPyre_3F_Text_2318F2, 6
+ trainerbattle_single TRAINER_KAYLA, MtPyre_3F_Text_2318A1, MtPyre_3F_Text_2318DD
+ msgbox MtPyre_3F_Text_2318F2, MSGBOX_AUTOCLOSE
end
MtPyre_3F_EventScript_231781:: @ 8231781
- trainerbattle 2, TRAINER_GABRIELLE_1, 0, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD
+ 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
- msgbox MtPyre_3F_Text_23199B, 4
+ msgbox MtPyre_3F_Text_23199B, MSGBOX_DEFAULT
release
end
MtPyre_3F_EventScript_2317AD:: @ 82317AD
special sub_80B4808
waitmovement 0
- msgbox MtPyre_3F_Text_231A49, 4
- setvar VAR_0x8004, 9
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 9
- callstd 8
+ msgbox MtPyre_3F_Text_231A49, MSGBOX_DEFAULT
+ register_matchcall TRAINER_GABRIELLE_1
release
end
MtPyre_3F_EventScript_2317CC:: @ 82317CC
- trainerbattle 5, TRAINER_GABRIELLE_1, 0, MtPyre_3F_Text_231AAB, MtPyre_3F_Text_231AE6
- msgbox MtPyre_3F_Text_231B0D, 6
+ trainerbattle_rematch TRAINER_GABRIELLE_1, MtPyre_3F_Text_231AAB, MtPyre_3F_Text_231AE6
+ msgbox MtPyre_3F_Text_231B0D, MSGBOX_AUTOCLOSE
end
MtPyre_3F_Text_2317E3: @ 82317E3
diff --git a/data/maps/MtPyre_4F/events.inc b/data/maps/MtPyre_4F/events.inc
index 73c0a59cf..ffe568880 100644
--- a/data/maps/MtPyre_4F/events.inc
+++ b/data/maps/MtPyre_4F/events.inc
@@ -1,6 +1,6 @@
MtPyre_4F_EventObjects: @ 8534F90
object_event 1, EVENT_OBJ_GFX_HEX_MANIAC, 0, 11, 7, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 1, 1, 1, 2, MtPyre_4F_EventScript_231C6E, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_4F_EventScript_291317, 1130
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_4F_EventScript_291317, FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE
MtPyre_4F_MapWarps: @ 8534FC0
warp_def 10, 1, 3, 1, MAP_MT_PYRE_5F
diff --git a/data/maps/MtPyre_4F/scripts.inc b/data/maps/MtPyre_4F/scripts.inc
index 0573e0f11..27883c8ed 100644
--- a/data/maps/MtPyre_4F/scripts.inc
+++ b/data/maps/MtPyre_4F/scripts.inc
@@ -2,8 +2,8 @@ MtPyre_4F_MapScripts:: @ 8231BC8
.byte 0
MtPyre_5F_EventScript_231BC9:: @ 8231BC9
- trainerbattle 0, TRAINER_ATSUSHI, 0, MtPyre_5F_Text_231BE0, MtPyre_5F_Text_231C08
- msgbox MtPyre_5F_Text_231C24, 6
+ trainerbattle_single TRAINER_ATSUSHI, MtPyre_5F_Text_231BE0, MtPyre_5F_Text_231C08
+ msgbox MtPyre_5F_Text_231C24, MSGBOX_AUTOCLOSE
end
MtPyre_5F_Text_231BE0: @ 8231BE0
diff --git a/data/maps/MtPyre_5F/events.inc b/data/maps/MtPyre_5F/events.inc
index e1fffe025..afd3801e3 100644
--- a/data/maps/MtPyre_5F/events.inc
+++ b/data/maps/MtPyre_5F/events.inc
@@ -1,6 +1,6 @@
MtPyre_5F_EventObjects: @ 8535004
object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 3, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 2, MtPyre_5F_EventScript_231BC9, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_5F_EventScript_291324, 1052
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_5F_EventScript_291324, FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE
MtPyre_5F_MapWarps: @ 8535034
warp_def 2, 1, 3, 0, MAP_MT_PYRE_6F
diff --git a/data/maps/MtPyre_5F/scripts.inc b/data/maps/MtPyre_5F/scripts.inc
index 4678ac7e0..5a5365baf 100644
--- a/data/maps/MtPyre_5F/scripts.inc
+++ b/data/maps/MtPyre_5F/scripts.inc
@@ -2,8 +2,8 @@ MtPyre_5F_MapScripts:: @ 8231C6D
.byte 0
MtPyre_4F_EventScript_231C6E:: @ 8231C6E
- trainerbattle 0, TRAINER_TASHA, 0, MtPyre_4F_Text_231C85, MtPyre_4F_Text_231CDB
- msgbox MtPyre_4F_Text_231CEE, 6
+ trainerbattle_single TRAINER_TASHA, MtPyre_4F_Text_231C85, MtPyre_4F_Text_231CDB
+ msgbox MtPyre_4F_Text_231CEE, MSGBOX_AUTOCLOSE
end
MtPyre_4F_Text_231C85: @ 8231C85
diff --git a/data/maps/MtPyre_6F/events.inc b/data/maps/MtPyre_6F/events.inc
index 607c0902a..3ab5dcf70 100644
--- a/data/maps/MtPyre_6F/events.inc
+++ b/data/maps/MtPyre_6F/events.inc
@@ -1,6 +1,6 @@
MtPyre_6F_EventObjects: @ 8535070
object_event 1, EVENT_OBJ_GFX_HEX_MANIAC, 0, 6, 3, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 1, 1, 1, 3, MtPyre_6F_EventScript_231D3B, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_6F_EventScript_291331, 1089
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MtPyre_6F_EventScript_291331, FLAG_ITEM_MT_PYRE_6F_TM_30
object_event 3, EVENT_OBJ_GFX_PSYCHIC_M, 0, 10, 3, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 1, 1, 1, 3, MtPyre_6F_EventScript_231D9D, 0
MtPyre_6F_MapWarps: @ 85350B8
diff --git a/data/maps/MtPyre_6F/scripts.inc b/data/maps/MtPyre_6F/scripts.inc
index 8d5d912c2..62b4e87b7 100644
--- a/data/maps/MtPyre_6F/scripts.inc
+++ b/data/maps/MtPyre_6F/scripts.inc
@@ -2,33 +2,30 @@ MtPyre_6F_MapScripts:: @ 8231D3A
.byte 0
MtPyre_6F_EventScript_231D3B:: @ 8231D3B
- trainerbattle 2, TRAINER_VALERIE_1, 0, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67
+ 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
- msgbox MtPyre_6F_Text_231DFC, 4
+ msgbox MtPyre_6F_Text_231DFC, MSGBOX_DEFAULT
release
end
MtPyre_6F_EventScript_231D67:: @ 8231D67
special sub_80B4808
waitmovement 0
- msgbox MtPyre_6F_Text_231E43, 4
- setvar VAR_0x8004, 108
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 108
- callstd 8
+ msgbox MtPyre_6F_Text_231E43, MSGBOX_DEFAULT
+ register_matchcall TRAINER_VALERIE_1
release
end
MtPyre_6F_EventScript_231D86:: @ 8231D86
- trainerbattle 5, TRAINER_VALERIE_1, 0, MtPyre_6F_Text_231EB3, MtPyre_6F_Text_231ECB
- msgbox MtPyre_6F_Text_231EE1, 6
+ trainerbattle_rematch TRAINER_VALERIE_1, MtPyre_6F_Text_231EB3, MtPyre_6F_Text_231ECB
+ msgbox MtPyre_6F_Text_231EE1, MSGBOX_AUTOCLOSE
end
MtPyre_6F_EventScript_231D9D:: @ 8231D9D
- trainerbattle 0, TRAINER_CEDRIC, 0, MtPyre_6F_Text_231F11, MtPyre_6F_Text_231F4A
- msgbox MtPyre_6F_Text_231F5C, 6
+ trainerbattle_single TRAINER_CEDRIC, MtPyre_6F_Text_231F11, MtPyre_6F_Text_231F4A
+ msgbox MtPyre_6F_Text_231F5C, MSGBOX_AUTOCLOSE
end
MtPyre_6F_Text_231DB4: @ 8231DB4
diff --git a/data/maps/MtPyre_Exterior/events.inc b/data/maps/MtPyre_Exterior/events.inc
index 16fd3530f..75c9489e4 100644
--- a/data/maps/MtPyre_Exterior/events.inc
+++ b/data/maps/MtPyre_Exterior/events.inc
@@ -1,6 +1,6 @@
MtPyre_Exterior_EventObjects: @ 85350DC
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29133E, 1073
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 40, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29134B, 1074
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29133E, FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 40, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29134B, FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48
MtPyre_Exterior_MapWarps: @ 853510C
warp_def 10, 42, 3, 1, MAP_MT_PYRE_1F
@@ -15,8 +15,8 @@ MtPyre_Exterior_MapCoordEvents: @ 8535124
coord_event 26, 21, 3, 0, 0, MtPyre_Exterior_EventScript_231FED
MtPyre_Exterior_MapBGEvents: @ 8535174
- bg_hidden_item_event 9, 8, 0, ITEM_ULTRA_BALL, 29
- bg_hidden_item_event 16, 22, 0, ITEM_MAX_ETHER, 78
+ bg_hidden_item_event 9, 8, 0, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL
+ bg_hidden_item_event 16, 22, 0, ITEM_MAX_ETHER, FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER
MtPyre_Exterior_MapEvents:: @ 853518C
map_events MtPyre_Exterior_EventObjects, MtPyre_Exterior_MapWarps, MtPyre_Exterior_MapCoordEvents, MtPyre_Exterior_MapBGEvents
diff --git a/data/maps/MtPyre_Summit/events.inc b/data/maps/MtPyre_Summit/events.inc
index 554eaa75e..b112fbcfe 100644
--- a/data/maps/MtPyre_Summit/events.inc
+++ b/data/maps/MtPyre_Summit/events.inc
@@ -1,12 +1,12 @@
MtPyre_Summit_EventObjects: @ 85351A0
object_event 1, EVENT_OBJ_GFX_OLD_MAN, 0, 22, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtPyre_Summit_EventScript_23213C, 0
- object_event 2, EVENT_OBJ_GFX_ARCHIE, 0, 23, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 916
+ object_event 2, EVENT_OBJ_GFX_ARCHIE, 0, 23, 6, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE
object_event 3, EVENT_OBJ_GFX_EXPERT_F, 0, 23, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MtPyre_Summit_EventScript_2321A2, 0
- object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 21, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtPyre_Summit_EventScript_2323FD, 917
- object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 25, 18, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, MtPyre_Summit_EventScript_232414, 917
- object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtPyre_Summit_EventScript_23242B, 917
- object_event 7, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 25, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, MtPyre_Summit_EventScript_232442, 917
- object_event 8, EVENT_OBJ_GFX_MAXIE, 0, 23, 6, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 856
+ object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 21, 15, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtPyre_Summit_EventScript_2323FD, FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
+ object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 25, 18, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, MtPyre_Summit_EventScript_232414, FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
+ object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, MtPyre_Summit_EventScript_23242B, FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
+ object_event 7, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 25, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, MtPyre_Summit_EventScript_232442, FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
+ object_event 8, EVENT_OBJ_GFX_MAXIE, 0, 23, 6, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE
MtPyre_Summit_MapWarps: @ 8535260
warp_def 22, 31, 3, 1, MAP_MT_PYRE_EXTERIOR
@@ -22,8 +22,8 @@ MtPyre_Summit_MapCoordEvents: @ 8535278
coord_event 24, 9, 3, VAR_0x40B9, 2, MtPyre_Summit_EventScript_232204
MtPyre_Summit_MapBGEvents: @ 85352D8
- bg_hidden_item_event 9, 25, 0, ITEM_ZINC, 79
- bg_hidden_item_event 37, 7, 3, ITEM_RARE_CANDY, 80
+ bg_hidden_item_event 9, 25, 0, ITEM_ZINC, FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC
+ bg_hidden_item_event 37, 7, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY
MtPyre_Summit_MapEvents:: @ 85352F0
map_events MtPyre_Summit_EventObjects, MtPyre_Summit_MapWarps, MtPyre_Summit_MapCoordEvents, MtPyre_Summit_MapBGEvents
diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc
index fe39e9d48..ee03362ed 100644
--- a/data/maps/MtPyre_Summit/scripts.inc
+++ b/data/maps/MtPyre_Summit/scripts.inc
@@ -43,7 +43,7 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C
call_if 1, MtPyre_Summit_EventScript_2320EB
compare VAR_0x8008, 2
call_if 1, MtPyre_Summit_EventScript_2320EC
- msgbox MtPyre_Summit_Text_23281A, 4
+ msgbox MtPyre_Summit_Text_23281A, MSGBOX_DEFAULT
closemessage
fadescreen 1
removeobject 2
@@ -51,8 +51,8 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C
removeobject 5
removeobject 6
removeobject 7
- setflag FLAG_0x394
- setflag FLAG_0x395
+ setflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE
+ setflag FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA
fadedefaultbgm
fadescreen 0
delay 20
@@ -63,10 +63,10 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C
call_if 1, MtPyre_Summit_EventScript_23210C
compare VAR_0x8008, 2
call_if 1, MtPyre_Summit_EventScript_232117
- msgbox MtPyre_Summit_Text_23290E, 4
+ msgbox MtPyre_Summit_Text_23290E, MSGBOX_DEFAULT
giveitem_std ITEM_MAGMA_EMBLEM
setflag FLAG_0x0D4
- setflag FLAG_0x34F
+ setflag FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD
releaseall
end
@@ -133,7 +133,7 @@ MtPyre_Summit_EventScript_23213C:: @ 823213C
faceplayer
checkflag FLAG_0x09E
goto_eq MtPyre_Summit_EventScript_232167
- msgbox MtPyre_Summit_Text_232E0C, 5
+ msgbox MtPyre_Summit_Text_232E0C, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, MtPyre_Summit_EventScript_232187
compare VAR_RESULT, 0
@@ -142,7 +142,7 @@ MtPyre_Summit_EventScript_23213C:: @ 823213C
end
MtPyre_Summit_EventScript_232167:: @ 8232167
- msgbox MtPyre_Summit_Text_2331A6, 5
+ msgbox MtPyre_Summit_Text_2331A6, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, MtPyre_Summit_EventScript_232199
compare VAR_RESULT, 0
@@ -151,15 +151,15 @@ MtPyre_Summit_EventScript_232167:: @ 8232167
end
MtPyre_Summit_EventScript_232187:: @ 8232187
- msgbox MtPyre_Summit_Text_232F27, 4
+ msgbox MtPyre_Summit_Text_232F27, MSGBOX_DEFAULT
return
MtPyre_Summit_EventScript_232190:: @ 8232190
- msgbox MtPyre_Summit_Text_233162, 4
+ msgbox MtPyre_Summit_Text_233162, MSGBOX_DEFAULT
return
MtPyre_Summit_EventScript_232199:: @ 8232199
- msgbox MtPyre_Summit_Text_23325D, 4
+ msgbox MtPyre_Summit_Text_23325D, MSGBOX_DEFAULT
return
MtPyre_Summit_EventScript_2321A2:: @ 82321A2
@@ -171,23 +171,23 @@ MtPyre_Summit_EventScript_2321A2:: @ 82321A2
call_if 4, MtPyre_Summit_EventScript_2321CB
checkflag FLAG_0x081
goto_eq MtPyre_Summit_EventScript_2321D8
- msgbox MtPyre_Summit_Text_232AD8, 4
+ msgbox MtPyre_Summit_Text_232AD8, MSGBOX_DEFAULT
release
end
MtPyre_Summit_EventScript_2321CB:: @ 82321CB
- msgbox MtPyre_Summit_Text_232CA6, 4
+ msgbox MtPyre_Summit_Text_232CA6, MSGBOX_DEFAULT
setflag FLAG_0x103
release
end
MtPyre_Summit_EventScript_2321D8:: @ 82321D8
- msgbox MtPyre_Summit_Text_232B4F, 4
+ msgbox MtPyre_Summit_Text_232B4F, MSGBOX_DEFAULT
release
end
MtPyre_Summit_EventScript_2321E2:: @ 82321E2
- msgbox MtPyre_Summit_Text_232D1E, 4
+ msgbox MtPyre_Summit_Text_232D1E, MSGBOX_DEFAULT
release
end
@@ -231,7 +231,7 @@ MtPyre_Summit_EventScript_232210:: @ 8232210
call_if 1, MtPyre_Summit_EventScript_232328
compare VAR_0x8008, 2
call_if 1, MtPyre_Summit_EventScript_232341
- msgbox MtPyre_Summit_Text_233183, 4
+ msgbox MtPyre_Summit_Text_233183, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, MtPyre_Summit_EventScript_23235A
@@ -425,23 +425,23 @@ MtPyre_Summit_Movement_2323F8: @ 82323F8
step_end
MtPyre_Summit_EventScript_2323FD:: @ 82323FD
- trainerbattle 0, TRAINER_GRUNT_17, 0, MtPyre_Summit_Text_232459, MtPyre_Summit_Text_2324A0
- msgbox MtPyre_Summit_Text_2324E0, 6
+ trainerbattle_single TRAINER_GRUNT_17, MtPyre_Summit_Text_232459, MtPyre_Summit_Text_2324A0
+ msgbox MtPyre_Summit_Text_2324E0, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_EventScript_232414:: @ 8232414
- trainerbattle 0, TRAINER_GRUNT_18, 0, MtPyre_Summit_Text_232513, MtPyre_Summit_Text_2325B0
- msgbox MtPyre_Summit_Text_2325E4, 6
+ trainerbattle_single TRAINER_GRUNT_18, MtPyre_Summit_Text_232513, MtPyre_Summit_Text_2325B0
+ msgbox MtPyre_Summit_Text_2325E4, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_EventScript_23242B:: @ 823242B
- trainerbattle 0, TRAINER_GRUNT_19, 0, MtPyre_Summit_Text_23261D, MtPyre_Summit_Text_232678
- msgbox MtPyre_Summit_Text_2326B3, 6
+ trainerbattle_single TRAINER_GRUNT_19, MtPyre_Summit_Text_23261D, MtPyre_Summit_Text_232678
+ msgbox MtPyre_Summit_Text_2326B3, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_EventScript_232442:: @ 8232442
- trainerbattle 0, TRAINER_GRUNT_29, 0, MtPyre_Summit_Text_23271B, MtPyre_Summit_Text_23279A
- msgbox MtPyre_Summit_Text_2327D8, 6
+ trainerbattle_single TRAINER_GRUNT_29, MtPyre_Summit_Text_23271B, MtPyre_Summit_Text_23279A
+ msgbox MtPyre_Summit_Text_2327D8, MSGBOX_AUTOCLOSE
end
MtPyre_Summit_Text_232459: @ 8232459
diff --git a/data/maps/NavelRock_Bottom/events.inc b/data/maps/NavelRock_Bottom/events.inc
index 49a39c162..d18565161 100644
--- a/data/maps/NavelRock_Bottom/events.inc
+++ b/data/maps/NavelRock_Bottom/events.inc
@@ -1,5 +1,5 @@
NavelRock_Bottom_EventObjects: @ 853DD50
- object_event 1, EVENT_OBJ_GFX_LUGIA, 0, 11, 13, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, NavelRock_Bottom_EventScript_2692A2, 800
+ object_event 1, EVENT_OBJ_GFX_LUGIA, 0, 11, 13, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, NavelRock_Bottom_EventScript_2692A2, FLAG_HIDE_LUGIA
NavelRock_Bottom_MapWarps: @ 853DD68
warp_def 14, 19, 0, 0, MAP_NAVEL_ROCK_DOWN11
diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc
index febe106bf..3abd0c84a 100644
--- a/data/maps/NavelRock_Bottom/scripts.inc
+++ b/data/maps/NavelRock_Bottom/scripts.inc
@@ -11,13 +11,13 @@ NavelRock_Bottom_MapScript1_269260: @ 8269260
end
NavelRock_Bottom_EventScript_269273:: @ 8269273
- setflag FLAG_0x320
+ setflag FLAG_HIDE_LUGIA
return
NavelRock_Bottom_EventScript_269277:: @ 8269277
checkflag FLAG_0x1DD
goto_eq NavelRock_Bottom_EventScript_27374E
- clearflag FLAG_0x320
+ clearflag FLAG_HIDE_LUGIA
return
NavelRock_Bottom_MapScript1_269284: @ 8269284
diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc
index 7f5a9e4c7..910dc8eed 100644
--- a/data/maps/NavelRock_Harbor/scripts.inc
+++ b/data/maps/NavelRock_Harbor/scripts.inc
@@ -4,10 +4,10 @@ NavelRock_Harbor_MapScripts:: @ 82690BC
NavelRock_Harbor_EventScript_2690BD:: @ 82690BD
lock
faceplayer
- msgbox NavelRock_Harbor_Text_2C6CE6, 5
+ msgbox NavelRock_Harbor_Text_2C6CE6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq NavelRock_Harbor_EventScript_269102
- msgbox NavelRock_Harbor_Text_2A6A5D, 4
+ msgbox NavelRock_Harbor_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, NavelRock_Harbor_Movement_2725AA
waitmovement 0
@@ -21,7 +21,7 @@ NavelRock_Harbor_EventScript_2690BD:: @ 82690BD
end
NavelRock_Harbor_EventScript_269102:: @ 8269102
- msgbox NavelRock_Harbor_Text_2A6A82, 4
+ msgbox NavelRock_Harbor_Text_2A6A82, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/NavelRock_Top/events.inc b/data/maps/NavelRock_Top/events.inc
index ef781a838..abd337cb2 100644
--- a/data/maps/NavelRock_Top/events.inc
+++ b/data/maps/NavelRock_Top/events.inc
@@ -1,5 +1,5 @@
NavelRock_Top_EventObjects: @ 853DB74
- object_event 1, EVENT_OBJ_GFX_HOOH, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 801
+ object_event 1, EVENT_OBJ_GFX_HOOH, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_HOOH
NavelRock_Top_MapWarps: @ 853DB8C
warp_def 13, 20, 3, 1, MAP_NAVEL_ROCK_UP4
@@ -8,7 +8,7 @@ NavelRock_Top_MapCoordEvents: @ 853DB94
coord_event 12, 10, 3, VAR_TEMP_1, 0, NavelRock_Top_EventScript_26916F
NavelRock_Top_MapBGEvents: @ 853DBA4
- bg_hidden_item_event 12, 9, 3, ITEM_SACRED_ASH, 109
+ bg_hidden_item_event 12, 9, 3, ITEM_SACRED_ASH, FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH
NavelRock_Top_MapEvents:: @ 853DBB0
map_events NavelRock_Top_EventObjects, NavelRock_Top_MapWarps, NavelRock_Top_MapCoordEvents, NavelRock_Top_MapBGEvents
diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc
index 4310529dd..8ae17cb37 100644
--- a/data/maps/NavelRock_Top/scripts.inc
+++ b/data/maps/NavelRock_Top/scripts.inc
@@ -12,7 +12,7 @@ NavelRock_Top_MapScript1_26911E: @ 826911E
NavelRock_Top_EventScript_269131:: @ 8269131
setvar VAR_TEMP_1, 1
- setflag FLAG_0x321
+ setflag FLAG_HIDE_HOOH
return
NavelRock_Top_EventScript_26913A:: @ 826913A
@@ -20,7 +20,7 @@ NavelRock_Top_EventScript_26913A:: @ 826913A
checkflag FLAG_0x1DC
goto_eq NavelRock_Top_EventScript_27374E
setvar VAR_TEMP_1, 0
- clearflag FLAG_0x321
+ clearflag FLAG_HIDE_HOOH
return
NavelRock_Top_MapScript1_269151: @ 8269151
diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc
index 727b77985..714a20b6b 100644
--- a/data/maps/NewMauville_Entrance/scripts.inc
+++ b/data/maps/NewMauville_Entrance/scripts.inc
@@ -25,14 +25,14 @@ NewMauville_Entrance_EventScript_2372FF:: @ 82372FF
lockall
applymovement 255, NewMauville_Entrance_Movement_2725A6
waitmovement 0
- msgbox NewMauville_Entrance_Text_237382, 4
+ msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT
checkitem ITEM_BASEMENT_KEY, 1
compare VAR_RESULT, 0
goto_eq NewMauville_Entrance_EventScript_237380
- msgbox NewMauville_Entrance_Text_237396, 5
+ msgbox NewMauville_Entrance_Text_237396, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq NewMauville_Entrance_EventScript_237380
- msgbox NewMauville_Entrance_Text_2373AC, 4
+ msgbox NewMauville_Entrance_Text_2373AC, MSGBOX_DEFAULT
setmetatile 3, 0, 707, 0
setmetatile 4, 0, 708, 0
setmetatile 5, 0, 709, 0
diff --git a/data/maps/NewMauville_Inside/events.inc b/data/maps/NewMauville_Inside/events.inc
index af8f10f99..568f4b22e 100644
--- a/data/maps/NewMauville_Inside/events.inc
+++ b/data/maps/NewMauville_Inside/events.inc
@@ -1,12 +1,12 @@
NewMauville_Inside_EventObjects: @ 85364A8
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911EC, 1075
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911F9, 1076
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 39, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_291206, 1110
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 17, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_291213, 1122
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_291220, 1123
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_2377AF, 974
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_2377FC, 975
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_237849, 976
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911EC, FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911F9, FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 39, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_291206, FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 17, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_291213, FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_291220, FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_2377AF, FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_2377FC, FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2
+ object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, NewMauville_Inside_EventScript_237849, FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3
NewMauville_Inside_MapWarps: @ 8536568
warp_def 32, 33, 3, 1, MAP_NEW_MAUVILLE_ENTRANCE
diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc
index e6d80c33d..b0f0a18c7 100644
--- a/data/maps/NewMauville_Inside/scripts.inc
+++ b/data/maps/NewMauville_Inside/scripts.inc
@@ -32,15 +32,15 @@ NewMauville_Inside_MapScript1_23741B: @ 823741B
end
NewMauville_Inside_EventScript_237441:: @ 8237441
- clearflag FLAG_0x3CE
+ clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1
return
NewMauville_Inside_EventScript_237445:: @ 8237445
- clearflag FLAG_0x3CF
+ clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2
return
NewMauville_Inside_EventScript_237449:: @ 8237449
- clearflag FLAG_0x3D0
+ clearflag FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3
return
NewMauville_Inside_MapScript1_23744D: @ 823744D
@@ -150,7 +150,7 @@ NewMauville_Inside_EventScript_2375D7:: @ 82375D7
NewMauville_Inside_EventScript_237725:: @ 8237725
lockall
- msgbox NewMauville_Inside_Text_237932, 4
+ msgbox NewMauville_Inside_Text_237932, MSGBOX_DEFAULT
call NewMauville_Inside_EventScript_23773A
setvar VAR_0x40BA, 2
releaseall
@@ -173,12 +173,12 @@ NewMauville_Inside_EventScript_23778F:: @ 823778F
lockall
compare VAR_0x40BA, 2
goto_eq NewMauville_Inside_EventScript_2377A5
- msgbox NewMauville_Inside_Text_237896, 4
+ msgbox NewMauville_Inside_Text_237896, MSGBOX_DEFAULT
releaseall
end
NewMauville_Inside_EventScript_2377A5:: @ 82377A5
- msgbox NewMauville_Inside_Text_237916, 4
+ msgbox NewMauville_Inside_Text_237916, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/OldaleTown/events.inc b/data/maps/OldaleTown/events.inc
index 8c637b2bf..bbf84390c 100644
--- a/data/maps/OldaleTown/events.inc
+++ b/data/maps/OldaleTown/events.inc
@@ -2,7 +2,7 @@ OldaleTown_EventObjects: @ 8527854
object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 16, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, OldaleTown_EventScript_1E8EF3, 0
object_event 2, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_EventScript_1E8EFC, 0
object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_EventScript_1E901F, 0
- object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, 979
+ object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL
OldaleTown_MapWarps: @ 85278B4
warp_def 5, 7, 0, 0, MAP_OLDALE_TOWN_HOUSE1
diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc
index 32bca3703..faf2821f5 100644
--- a/data/maps/OldaleTown/scripts.inc
+++ b/data/maps/OldaleTown/scripts.inc
@@ -28,11 +28,11 @@ OldaleTown_EventScript_1E8EDE:: @ 81E8EDE
return
OldaleTown_EventScript_1E8EEA:: @ 81E8EEA
- msgbox OldaleTown_Text_1E94DA, 3
+ msgbox OldaleTown_Text_1E94DA, MSGBOX_SIGN
end
OldaleTown_EventScript_1E8EF3:: @ 81E8EF3
- msgbox OldaleTown_Text_1E918E, 2
+ msgbox OldaleTown_Text_1E918E, MSGBOX_NPC
end
OldaleTown_EventScript_1E8EFC:: @ 81E8EFC
@@ -40,11 +40,11 @@ OldaleTown_EventScript_1E8EFC:: @ 81E8EFC
faceplayer
checkflag FLAG_0x084
goto_eq OldaleTown_EventScript_1E8FB9
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq OldaleTown_EventScript_1E8FB9
- setflag FLAG_0x001
+ setflag FLAG_TEMP_1
playbgm MUS_TSURETEK, 0
- msgbox OldaleTown_Text_1E91C0, 4
+ msgbox OldaleTown_Text_1E91C0, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
case 1, OldaleTown_EventScript_1E8F47
@@ -74,23 +74,23 @@ OldaleTown_EventScript_1E8F75:: @ 81E8F75
end
OldaleTown_EventScript_1E8F8C:: @ 81E8F8C
- msgbox OldaleTown_Text_1E91FD, 4
+ msgbox OldaleTown_Text_1E91FD, MSGBOX_DEFAULT
giveitem_std ITEM_POTION
compare VAR_RESULT, 0
goto_eq OldaleTown_EventScript_1E8FC3
- msgbox OldaleTown_Text_1E92AF, 4
+ msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT
setflag FLAG_0x084
fadedefaultbgm
release
end
OldaleTown_EventScript_1E8FB9:: @ 81E8FB9
- msgbox OldaleTown_Text_1E92AF, 4
+ msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT
release
end
OldaleTown_EventScript_1E8FC3:: @ 81E8FC3
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
fadedefaultbgm
release
end
@@ -197,7 +197,7 @@ OldaleTown_EventScript_1E901F:: @ 81E901F
faceplayer
checkflag FLAG_0x074
goto_eq OldaleTown_EventScript_1E9066
- msgbox OldaleTown_Text_1E939A, 4
+ msgbox OldaleTown_Text_1E939A, MSGBOX_DEFAULT
closemessage
applymovement 3, OldaleTown_Movement_2725A2
waitmovement 0
@@ -209,7 +209,7 @@ OldaleTown_EventScript_1E903F:: @ 81E903F
applymovement 255, OldaleTown_Movement_1E9182
applymovement 3, OldaleTown_Movement_1E9185
waitmovement 0
- msgbox OldaleTown_Text_1E9313, 4
+ msgbox OldaleTown_Text_1E9313, MSGBOX_DEFAULT
closemessage
applymovement 3, OldaleTown_Movement_1E918B
waitmovement 0
@@ -217,7 +217,7 @@ OldaleTown_EventScript_1E903F:: @ 81E903F
end
OldaleTown_EventScript_1E9066:: @ 81E9066
- msgbox OldaleTown_Text_1E93F8, 4
+ msgbox OldaleTown_Text_1E93F8, MSGBOX_DEFAULT
release
end
@@ -268,12 +268,12 @@ OldaleTown_EventScript_1E90E6:: @ 81E90E6
end
OldaleTown_EventScript_1E90FE:: @ 81E90FE
- msgbox OldaleTown_Text_1E9462, 4
+ msgbox OldaleTown_Text_1E9462, MSGBOX_DEFAULT
goto OldaleTown_EventScript_1E911A
end
OldaleTown_EventScript_1E910C:: @ 81E910C
- msgbox OldaleTown_Text_1E948A, 4
+ msgbox OldaleTown_Text_1E948A, MSGBOX_DEFAULT
goto OldaleTown_EventScript_1E911A
end
@@ -287,7 +287,7 @@ OldaleTown_EventScript_1E911A:: @ 81E911A
waitmovement 0
removeobject 4
setvar VAR_0x40C7, 2
- setflag FLAG_0x3D3
+ setflag FLAG_HIDE_OLDALE_TOWN_RIVAL
releaseall
end
diff --git a/data/maps/OldaleTown_House1/scripts.inc b/data/maps/OldaleTown_House1/scripts.inc
index 6a36ff57e..71010116e 100644
--- a/data/maps/OldaleTown_House1/scripts.inc
+++ b/data/maps/OldaleTown_House1/scripts.inc
@@ -2,7 +2,7 @@ OldaleTown_House1_MapScripts:: @ 81FBE85
.byte 0
OldaleTown_House1_EventScript_1FBE86:: @ 81FBE86
- msgbox OldaleTown_House1_Text_1FBE8F, 2
+ msgbox OldaleTown_House1_Text_1FBE8F, MSGBOX_NPC
end
OldaleTown_House1_Text_1FBE8F: @ 81FBE8F
diff --git a/data/maps/OldaleTown_House2/scripts.inc b/data/maps/OldaleTown_House2/scripts.inc
index 55941705c..3f2adc9fa 100644
--- a/data/maps/OldaleTown_House2/scripts.inc
+++ b/data/maps/OldaleTown_House2/scripts.inc
@@ -2,11 +2,11 @@ OldaleTown_House2_MapScripts:: @ 81FBF5A
.byte 0
OldaleTown_House2_EventScript_1FBF5B:: @ 81FBF5B
- msgbox OldaleTown_House2_Text_1FBF6D, 2
+ msgbox OldaleTown_House2_Text_1FBF6D, MSGBOX_NPC
end
OldaleTown_House2_EventScript_1FBF64:: @ 81FBF64
- msgbox OldaleTown_House2_Text_1FBFB0, 2
+ msgbox OldaleTown_House2_Text_1FBFB0, MSGBOX_NPC
end
OldaleTown_House2_Text_1FBF6D: @ 81FBF6D
diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc
index de8893712..f73e2d9ff 100644
--- a/data/maps/OldaleTown_Mart/scripts.inc
+++ b/data/maps/OldaleTown_Mart/scripts.inc
@@ -9,7 +9,7 @@ OldaleTown_Mart_EventScript_1FC240:: @ 81FC240
checkflag FLAG_0x074
goto_eq OldaleTown_Mart_EventScript_1FC26C
pokemart OldaleTown_Mart_Pokemart_1FC260
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -24,7 +24,7 @@ OldaleTown_Mart_Pokemart_1FC260: @ 81FC260
OldaleTown_Mart_EventScript_1FC26C:: @ 81FC26C
pokemart OldaleTown_Mart_Pokemart_1FC27C
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -44,17 +44,17 @@ OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A
faceplayer
checkflag FLAG_0x074
goto_eq OldaleTown_Mart_EventScript_1FC29F
- msgbox OldaleTown_Mart_Text_1FC2B2, 4
+ msgbox OldaleTown_Mart_Text_1FC2B2, MSGBOX_DEFAULT
release
end
OldaleTown_Mart_EventScript_1FC29F:: @ 81FC29F
- msgbox OldaleTown_Mart_Text_1FC2F3, 4
+ msgbox OldaleTown_Mart_Text_1FC2F3, MSGBOX_DEFAULT
release
end
OldaleTown_Mart_EventScript_1FC2A9:: @ 81FC2A9
- msgbox OldaleTown_Mart_Text_1FC338, 2
+ msgbox OldaleTown_Mart_Text_1FC338, MSGBOX_NPC
end
OldaleTown_Mart_Text_1FC2B2: @ 81FC2B2
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
index e99e628a6..28d309662 100644
--- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
@@ -17,11 +17,11 @@ OldaleTown_PokemonCenter_1F_EventScript_1FC01A:: @ 81FC01A
end
OldaleTown_PokemonCenter_1F_EventScript_1FC028:: @ 81FC028
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC059, 2
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC059, MSGBOX_NPC
end
OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC0CD, 2
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC0CD, MSGBOX_NPC
end
OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A
@@ -29,12 +29,12 @@ OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A
faceplayer
checkflag FLAG_SYS_POKEDEX_GET
goto_eq OldaleTown_PokemonCenter_1F_EventScript_1FC04F
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, 4
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_1F_EventScript_1FC04F:: @ 81FC04F
- msgbox OldaleTown_PokemonCenter_1F_Text_1FC1B9, 4
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC1B9, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/events.inc b/data/maps/OldaleTown_PokemonCenter_2F/events.inc
index fe8490c9c..34f343eb4 100644
--- a/data/maps/OldaleTown_PokemonCenter_2F/events.inc
+++ b/data/maps/OldaleTown_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ OldaleTown_PokemonCenter_2F_EventObjects: @ 852D8D0
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
OldaleTown_PokemonCenter_2F_MapWarps: @ 852D930
warp_def 1, 6, 4, 2, MAP_OLDALE_TOWN_POKEMON_CENTER_1F
diff --git a/data/maps/PacifidlogTown/scripts.inc b/data/maps/PacifidlogTown/scripts.inc
index 1f4f0e872..ef64a7e2e 100644
--- a/data/maps/PacifidlogTown/scripts.inc
+++ b/data/maps/PacifidlogTown/scripts.inc
@@ -12,19 +12,19 @@ PacifidlogTown_MapScript1_1EBAC0: @ 81EBAC0
end
PacifidlogTown_EventScript_1EBAC3:: @ 81EBAC3
- msgbox PacifidlogTown_Text_1EBB6C, 2
+ msgbox PacifidlogTown_Text_1EBB6C, MSGBOX_NPC
end
PacifidlogTown_EventScript_1EBACC:: @ 81EBACC
- msgbox PacifidlogTown_Text_1EBAE7, 2
+ msgbox PacifidlogTown_Text_1EBAE7, MSGBOX_NPC
end
PacifidlogTown_EventScript_1EBAD5:: @ 81EBAD5
- msgbox PacifidlogTown_Text_1EBBAC, 2
+ msgbox PacifidlogTown_Text_1EBBAC, MSGBOX_NPC
end
PacifidlogTown_EventScript_1EBADE:: @ 81EBADE
- msgbox PacifidlogTown_Text_1EBC7A, 3
+ msgbox PacifidlogTown_Text_1EBC7A, MSGBOX_SIGN
end
PacifidlogTown_Text_1EBAE7: @ 81EBAE7
diff --git a/data/maps/PacifidlogTown_House1/scripts.inc b/data/maps/PacifidlogTown_House1/scripts.inc
index b4fe4c979..159575eec 100644
--- a/data/maps/PacifidlogTown_House1/scripts.inc
+++ b/data/maps/PacifidlogTown_House1/scripts.inc
@@ -2,11 +2,11 @@ PacifidlogTown_House1_MapScripts:: @ 820365C
.byte 0
PacifidlogTown_House1_EventScript_20365D:: @ 820365D
- msgbox PacifidlogTown_House1_Text_20366F, 2
+ msgbox PacifidlogTown_House1_Text_20366F, MSGBOX_NPC
end
PacifidlogTown_House1_EventScript_203666:: @ 8203666
- msgbox PacifidlogTown_House1_Text_20373A, 2
+ msgbox PacifidlogTown_House1_Text_20373A, MSGBOX_NPC
end
PacifidlogTown_House1_Text_20366F: @ 820366F
diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc
index 21345242d..d603cbd2d 100644
--- a/data/maps/PacifidlogTown_House2/scripts.inc
+++ b/data/maps/PacifidlogTown_House2/scripts.inc
@@ -31,12 +31,12 @@ PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE
return
PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8
- msgbox PacifidlogTown_House2_Text_20395B, 4
+ msgbox PacifidlogTown_House2_Text_20395B, MSGBOX_DEFAULT
return
PacifidlogTown_House2_EventScript_203801:: @ 8203801
- msgbox PacifidlogTown_House2_Text_2038C7, 4
- msgbox PacifidlogTown_House2_Text_20395B, 4
+ msgbox PacifidlogTown_House2_Text_2038C7, MSGBOX_DEFAULT
+ msgbox PacifidlogTown_House2_Text_20395B, MSGBOX_DEFAULT
return
PacifidlogTown_House2_EventScript_203812:: @ 8203812
@@ -44,36 +44,36 @@ PacifidlogTown_House2_EventScript_203812:: @ 8203812
return
PacifidlogTown_House2_EventScript_203816:: @ 8203816
- msgbox PacifidlogTown_House2_Text_20396D, 4
+ msgbox PacifidlogTown_House2_Text_20396D, MSGBOX_DEFAULT
giveitem_std ITEM_TM27
compare VAR_RESULT, 0
goto_eq PacifidlogTown_House2_EventScript_272054
setflag FLAG_0x12B
special SetPacifidlogTMReceivedDay
- msgbox PacifidlogTown_House2_Text_203A85, 4
+ msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT
release
end
PacifidlogTown_House2_EventScript_203845:: @ 8203845
- msgbox PacifidlogTown_House2_Text_2039CE, 4
+ msgbox PacifidlogTown_House2_Text_2039CE, MSGBOX_DEFAULT
release
end
PacifidlogTown_House2_EventScript_20384F:: @ 820384F
- msgbox PacifidlogTown_House2_Text_203A2F, 4
+ msgbox PacifidlogTown_House2_Text_203A2F, MSGBOX_DEFAULT
giveitem_std ITEM_TM21
compare VAR_RESULT, 0
goto_eq PacifidlogTown_House2_EventScript_272054
setflag FLAG_0x12B
special SetPacifidlogTMReceivedDay
- msgbox PacifidlogTown_House2_Text_203A85, 4
+ msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT
release
end
PacifidlogTown_House2_EventScript_20387E:: @ 820387E
specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable
buffernumberstring 0, VAR_RESULT
- msgbox PacifidlogTown_House2_Text_203AF4, 4
+ msgbox PacifidlogTown_House2_Text_203AF4, MSGBOX_DEFAULT
release
end
@@ -82,9 +82,9 @@ PacifidlogTown_House2_EventScript_203891:: @ 8203891
faceplayer
waitse
playmoncry SPECIES_AZURILL, 0
- msgbox PacifidlogTown_House2_Text_203B8D, 4
+ msgbox PacifidlogTown_House2_Text_203B8D, MSGBOX_DEFAULT
waitmoncry
- msgbox PacifidlogTown_House2_Text_203B9D, 4
+ msgbox PacifidlogTown_House2_Text_203B9D, MSGBOX_DEFAULT
release
end
@@ -93,9 +93,9 @@ PacifidlogTown_House2_EventScript_2038AC:: @ 82038AC
faceplayer
waitse
playmoncry SPECIES_AZURILL, 2
- msgbox PacifidlogTown_House2_Text_203BCE, 4
+ msgbox PacifidlogTown_House2_Text_203BCE, MSGBOX_DEFAULT
waitmoncry
- msgbox PacifidlogTown_House2_Text_203BDF, 4
+ msgbox PacifidlogTown_House2_Text_203BDF, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc
index 98977b766..3fb023148 100644
--- a/data/maps/PacifidlogTown_House3/scripts.inc
+++ b/data/maps/PacifidlogTown_House3/scripts.inc
@@ -10,7 +10,7 @@ PacifidlogTown_House3_EventScript_203C11:: @ 8203C11
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
- msgbox PacifidlogTown_House3_Text_203CBE, 5
+ msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq PacifidlogTown_House3_EventScript_203C93
special sub_81B94B0
@@ -29,29 +29,29 @@ PacifidlogTown_House3_EventScript_203C11:: @ 8203C11
special sub_807F0E4
waitstate
bufferspeciesname 0, VAR_0x8009
- msgbox PacifidlogTown_House3_Text_203D87, 4
+ msgbox PacifidlogTown_House3_Text_203D87, MSGBOX_DEFAULT
setflag FLAG_0x09A
release
end
PacifidlogTown_House3_EventScript_203C93:: @ 8203C93
- msgbox PacifidlogTown_House3_Text_203E12, 4
+ msgbox PacifidlogTown_House3_Text_203E12, MSGBOX_DEFAULT
release
end
PacifidlogTown_House3_EventScript_203C9D:: @ 8203C9D
bufferspeciesname 0, VAR_0x8009
- msgbox PacifidlogTown_House3_Text_203DDE, 4
+ msgbox PacifidlogTown_House3_Text_203DDE, MSGBOX_DEFAULT
release
end
PacifidlogTown_House3_EventScript_203CAB:: @ 8203CAB
- msgbox PacifidlogTown_House3_Text_203E7F, 4
+ msgbox PacifidlogTown_House3_Text_203E7F, MSGBOX_DEFAULT
release
end
PacifidlogTown_House3_EventScript_203CB5:: @ 8203CB5
- msgbox PacifidlogTown_House3_Text_203EF1, 2
+ msgbox PacifidlogTown_House3_Text_203EF1, MSGBOX_NPC
end
PacifidlogTown_House3_Text_203CBE: @ 8203CBE
diff --git a/data/maps/PacifidlogTown_House4/scripts.inc b/data/maps/PacifidlogTown_House4/scripts.inc
index a3e9cf0a4..d6fb43334 100644
--- a/data/maps/PacifidlogTown_House4/scripts.inc
+++ b/data/maps/PacifidlogTown_House4/scripts.inc
@@ -2,17 +2,17 @@ PacifidlogTown_House4_MapScripts:: @ 8203F4B
.byte 0
PacifidlogTown_House4_EventScript_203F4C:: @ 8203F4C
- msgbox PacifidlogTown_House4_Text_204017, 2
+ msgbox PacifidlogTown_House4_Text_204017, MSGBOX_NPC
end
PacifidlogTown_House4_EventScript_203F55:: @ 8203F55
- msgbox PacifidlogTown_House4_Text_203F93, 2
+ msgbox PacifidlogTown_House4_Text_203F93, MSGBOX_NPC
end
PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E
lock
faceplayer
- msgbox PacifidlogTown_House4_Text_204035, 5
+ msgbox PacifidlogTown_House4_Text_204035, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PacifidlogTown_House4_EventScript_203F7F
compare VAR_RESULT, 0
@@ -20,12 +20,12 @@ PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E
end
PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F
- msgbox PacifidlogTown_House4_Text_20404E, 4
+ msgbox PacifidlogTown_House4_Text_20404E, MSGBOX_DEFAULT
release
end
PacifidlogTown_House4_EventScript_203F89:: @ 8203F89
- msgbox PacifidlogTown_House4_Text_204084, 4
+ msgbox PacifidlogTown_House4_Text_204084, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PacifidlogTown_House5/scripts.inc b/data/maps/PacifidlogTown_House5/scripts.inc
index ec97a639e..0e9af702f 100644
--- a/data/maps/PacifidlogTown_House5/scripts.inc
+++ b/data/maps/PacifidlogTown_House5/scripts.inc
@@ -7,17 +7,17 @@ PacifidlogTown_House5_EventScript_204111:: @ 8204111
specialvar VAR_RESULT, IsMirageIslandPresent
compare VAR_RESULT, 1
goto_eq PacifidlogTown_House5_EventScript_20412D
- msgbox PacifidlogTown_House5_Text_204140, 4
+ msgbox PacifidlogTown_House5_Text_204140, MSGBOX_DEFAULT
release
end
PacifidlogTown_House5_EventScript_20412D:: @ 820412D
- msgbox PacifidlogTown_House5_Text_204161, 4
+ msgbox PacifidlogTown_House5_Text_204161, MSGBOX_DEFAULT
release
end
PacifidlogTown_House5_EventScript_204137:: @ 8204137
- msgbox PacifidlogTown_House5_Text_20418B, 2
+ msgbox PacifidlogTown_House5_Text_20418B, MSGBOX_NPC
end
PacifidlogTown_House5_Text_204140: @ 8204140
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc
index 65af1cdc7..a4dc90bd6 100644
--- a/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/PacifidlogTown_PokemonCenter_1F/scripts.inc
@@ -16,15 +16,15 @@ PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6
end
PacifidlogTown_PokemonCenter_1F_EventScript_2034C4:: @ 82034C4
- msgbox PacifidlogTown_PokemonCenter_1F_Text_2034DF, 2
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2034DF, MSGBOX_NPC
end
PacifidlogTown_PokemonCenter_1F_EventScript_2034CD:: @ 82034CD
- msgbox PacifidlogTown_PokemonCenter_1F_Text_20350F, 2
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_20350F, MSGBOX_NPC
end
PacifidlogTown_PokemonCenter_1F_EventScript_2034D6:: @ 82034D6
- msgbox PacifidlogTown_PokemonCenter_1F_Text_20356F, 2
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_20356F, MSGBOX_NPC
end
PacifidlogTown_PokemonCenter_1F_Text_2034DF: @ 82034DF
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc
index 1b961ee74..d41f1fa71 100644
--- a/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc
+++ b/data/maps/PacifidlogTown_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ PacifidlogTown_PokemonCenter_2F_EventObjects: @ 852EB14
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
PacifidlogTown_PokemonCenter_2F_MapWarps: @ 852EB74
warp_def 1, 6, 4, 2, MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F
diff --git a/data/maps/PetalburgCity/events.inc b/data/maps/PetalburgCity/events.inc
index 3e85ad434..10d85c939 100644
--- a/data/maps/PetalburgCity/events.inc
+++ b/data/maps/PetalburgCity/events.inc
@@ -1,13 +1,13 @@
PetalburgCity_EventObjects: @ 8525FD0
- object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 16, 18, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PetalburgCity_EventScript_1DC3FD, 728
- object_event 2, EVENT_OBJ_GFX_WALLY, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 726
+ object_event 1, EVENT_OBJ_GFX_WOMAN_4, 0, 16, 18, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, PetalburgCity_EventScript_1DC3FD, FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT
+ object_event 2, EVENT_OBJ_GFX_WALLY, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_PETALBURG_CITY_WALLY
object_event 3, EVENT_OBJ_GFX_BOY_1, 0, 8, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_EventScript_1DC3E6, 0
object_event 4, EVENT_OBJ_GFX_GENTLEMAN, 0, 20, 10, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, PetalburgCity_EventScript_1DC488, 0
- object_event 5, EVENT_OBJ_GFX_POKEFAN_M, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 830
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_2910B4, 1039
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 28, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_2910C1, 1040
+ object_event 5, EVENT_OBJ_GFX_POKEFAN_M, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_2910B4, FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 28, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_2910C1, FLAG_ITEM_PETALBURG_CITY_ETHER
object_event 8, EVENT_OBJ_GFX_BOY_2, 0, 12, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgCity_EventScript_1DC82E, 0
- object_event 9, EVENT_OBJ_GFX_SCOTT, 0, 13, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, 995
+ object_event 9, EVENT_OBJ_GFX_SCOTT, 0, 13, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_PETALBURG_CITY_SCOTT
PetalburgCity_MapWarps: @ 85260A8
warp_def 10, 19, 0, 0, MAP_PETALBURG_CITY_HOUSE1
@@ -35,7 +35,7 @@ PetalburgCity_MapBGEvents: @ 8526158
bg_event 22, 16, 0, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_EventScript_271E73
bg_event 27, 12, 0, BG_EVENT_PLAYER_FACING_NORTH, PetalburgCity_EventScript_271E6A
bg_event 8, 9, 0, BG_EVENT_PLAYER_FACING_ANY, PetalburgCity_EventScript_1DC491
- bg_hidden_item_event 11, 29, 3, ITEM_RARE_CANDY, 95
+ bg_hidden_item_event 11, 29, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY
PetalburgCity_MapEvents:: @ 85261B8
map_events PetalburgCity_EventObjects, PetalburgCity_MapWarps, PetalburgCity_MapCoordEvents, PetalburgCity_MapBGEvents
diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc
index 67a9f83f3..4905c83d9 100644
--- a/data/maps/PetalburgCity/scripts.inc
+++ b/data/maps/PetalburgCity/scripts.inc
@@ -35,13 +35,13 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E
applymovement 2, PetalburgCity_Movement_1DC451
applymovement 255, PetalburgCity_Movement_1DC430
waitmovement 0
- msgbox PetalburgCity_Text_1EC1F8, 4
+ msgbox PetalburgCity_Text_1EC1F8, MSGBOX_DEFAULT
special StartWallyTutorialBattle
waitstate
- msgbox PetalburgCity_Text_1EC271, 4
+ msgbox PetalburgCity_Text_1EC271, MSGBOX_DEFAULT
applymovement 2, PetalburgCity_Movement_2725A4, MAP_PETALBURG_CITY
waitmovement 2, MAP_PETALBURG_CITY
- msgbox PetalburgCity_Text_1EC297, 4
+ msgbox PetalburgCity_Text_1EC297, MSGBOX_DEFAULT
closemessage
clearflag FLAG_SPECIAL_FLAG_0x4000
setvar VAR_0x4057, 3
@@ -67,7 +67,7 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390
applymovement 5, PetalburgCity_Movement_1DC42D
applymovement 255, PetalburgCity_Movement_1DC418
waitmovement 0
- setflag FLAG_0x33E
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
hideobjectat 255, MAP_PETALBURG_CITY
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
@@ -82,7 +82,7 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390
PetalburgCity_EventScript_1DC3E6:: @ 81DC3E6
lock
faceplayer
- msgbox PetalburgCity_Text_1DC985, 4
+ msgbox PetalburgCity_Text_1DC985, MSGBOX_DEFAULT
closemessage
applymovement 3, PetalburgCity_Movement_2725A2
waitmovement 0
@@ -90,7 +90,7 @@ PetalburgCity_EventScript_1DC3E6:: @ 81DC3E6
end
PetalburgCity_EventScript_1DC3FD:: @ 81DC3FD
- msgbox PetalburgCity_Text_1DC837, 2
+ msgbox PetalburgCity_Text_1DC837, MSGBOX_NPC
end
PetalburgCity_Movement_1DC406: @ 81DC406
@@ -218,19 +218,19 @@ PetalburgCity_Movement_1DC451: @ 81DC451
step_end
PetalburgCity_EventScript_1DC476:: @ 81DC476
- msgbox PetalburgCity_Text_1DCAAA, 3
+ msgbox PetalburgCity_Text_1DCAAA, MSGBOX_SIGN
end
PetalburgCity_EventScript_1DC47F:: @ 81DC47F
- msgbox PetalburgCity_Text_1DCAF1, 3
+ msgbox PetalburgCity_Text_1DCAF1, MSGBOX_SIGN
end
PetalburgCity_EventScript_1DC488:: @ 81DC488
- msgbox PetalburgCity_Text_1DCA30, 2
+ msgbox PetalburgCity_Text_1DCA30, MSGBOX_NPC
end
PetalburgCity_EventScript_1DC491:: @ 81DC491
- msgbox PetalburgCity_Text_1DCB23, 3
+ msgbox PetalburgCity_Text_1DCB23, MSGBOX_SIGN
end
PetalburgCity_EventScript_1DC49A:: @ 81DC49A
@@ -274,7 +274,7 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
call_if 1, PetalburgCity_EventScript_1DC59F
compare VAR_0x8008, 3
call_if 1, PetalburgCity_EventScript_1DC5B4
- msgbox PetalburgCity_Text_1DC881, 4
+ msgbox PetalburgCity_Text_1DC881, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, PetalburgCity_EventScript_1DC5C9
@@ -284,11 +284,11 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
call_if 1, PetalburgCity_EventScript_1DC5ED
compare VAR_0x8008, 3
call_if 1, PetalburgCity_EventScript_1DC5FF
- msgbox PetalburgCity_Text_1DC91B, 4
+ msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT
applymovement 8, PetalburgCity_Movement_2725A8
applymovement 255, PetalburgCity_Movement_2725A8
waitmovement 0
- msgbox PetalburgCity_Text_1DC93E, 4
+ msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT
closemessage
applymovement 8, PetalburgCity_Movement_1DC658
waitmovement 0
@@ -547,17 +547,17 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9
applymovement 255, PetalburgCity_Movement_2725A8
waitmovement 0
setvar VAR_0x40D1, 1
- msgbox PetalburgCity_Text_1DCB31, 4
+ msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT
closemessage
applymovement 9, PetalburgCity_Movement_2725A8
waitmovement 0
delay 30
- msgbox PetalburgCity_Text_1DCB82, 4
+ msgbox PetalburgCity_Text_1DCB82, MSGBOX_DEFAULT
closemessage
applymovement 9, PetalburgCity_Movement_2725A4
waitmovement 0
delay 30
- msgbox PetalburgCity_Text_1DCC09, 4
+ msgbox PetalburgCity_Text_1DCC09, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, PetalburgCity_EventScript_1DC78E
@@ -705,7 +705,7 @@ PetalburgCity_Movement_1DC828: @ 81DC828
step_end
PetalburgCity_EventScript_1DC82E:: @ 81DC82E
- msgbox PetalburgCity_Text_1DC881, 2
+ msgbox PetalburgCity_Text_1DC881, MSGBOX_NPC
end
PetalburgCity_Text_1DC837: @ 81DC837
diff --git a/data/maps/PetalburgCity_Gym/events.inc b/data/maps/PetalburgCity_Gym/events.inc
index 42a0a8fc7..4c75dc7f6 100644
--- a/data/maps/PetalburgCity_Gym/events.inc
+++ b/data/maps/PetalburgCity_Gym/events.inc
@@ -1,5 +1,5 @@
PetalburgCity_Gym_EventObjects: @ 852EDC8
- object_event 1, EVENT_OBJ_GFX_NORMAN, 0, 4, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_2049F1, 772
+ object_event 1, EVENT_OBJ_GFX_NORMAN, 0, 4, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_2049F1, FLAG_HIDE_PETALYBURG_GYM_NORMAN
object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 4, 94, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2054AA, 0
object_event 3, EVENT_OBJ_GFX_MAN_3, 0, 4, 81, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2053BA, 0
object_event 4, EVENT_OBJ_GFX_MAN_3, 0, 4, 42, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2053F6, 0
@@ -7,9 +7,9 @@ PetalburgCity_Gym_EventObjects: @ 852EDC8
object_event 6, EVENT_OBJ_GFX_MAN_3, 0, 4, 68, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_205432, 0
object_event 7, EVENT_OBJ_GFX_WOMAN_5, 0, 4, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_205522, 0
object_event 8, EVENT_OBJ_GFX_MAN_3, 0, 4, 29, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_20546E, 0
- object_event 9, EVENT_OBJ_GFX_MAN_2, 0, 3, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_20574F, 781
- object_event 10, EVENT_OBJ_GFX_WALLY, 0, 4, 111, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 866
- object_event 11, EVENT_OBJ_GFX_POKEFAN_M, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 824
+ object_event 9, EVENT_OBJ_GFX_MAN_2, 0, 3, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_20574F, FLAG_HIDE_PETALBURG_GYM_GREETER
+ object_event 10, EVENT_OBJ_GFX_WALLY, 0, 4, 111, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_PETALBURG_GYM_WALLY
+ object_event 11, EVENT_OBJ_GFX_POKEFAN_M, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE
PetalburgCity_Gym_MapWarps: @ 852EED0
warp_def 4, 111, 3, 2, MAP_PETALBURG_CITY
diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc
index e95e434b5..29459f5e5 100644
--- a/data/maps/PetalburgCity_Gym/scripts.inc
+++ b/data/maps/PetalburgCity_Gym/scripts.inc
@@ -88,19 +88,19 @@ PetalburgCity_Gym_MapScript2_20499A: @ 820499A
PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4
lockall
- msgbox PetalburgCity_Gym_Text_205B32, 4
- msgbox PetalburgCity_Gym_Text_205B4C, 4
+ msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT
+ msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT
closemessage
applymovement 255, PetalburgCity_Gym_Movement_2725AA
applymovement 10, PetalburgCity_Gym_Movement_2049EC
waitmovement 0
playse SE_KAIDAN
removeobject 10
- setflag FLAG_0x2D6
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLY
delay 30
applymovement 255, PetalburgCity_Gym_Movement_2725A6
waitmovement 0
- msgbox PetalburgCity_Gym_Text_205C40, 4
+ msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT
setvar VAR_0x4085, 2
releaseall
end
@@ -123,7 +123,7 @@ PetalburgCity_Gym_EventScript_2049F1:: @ 82049F1
case 6, PetalburgCity_Gym_EventScript_204E3B
case 7, PetalburgCity_Gym_EventScript_204D80
case 8, PetalburgCity_Gym_EventScript_204DB3
- msgbox PetalburgCity_Gym_Text_2057A2, 4
+ msgbox PetalburgCity_Gym_Text_2057A2, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
case 1, PetalburgCity_Gym_EventScript_204A80
@@ -163,10 +163,10 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
call_if 1, PetalburgCity_Gym_EventScript_204C5F
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_204C5F
- msgbox PetalburgCity_Gym_Text_2058B1, 4
- msgbox PetalburgCity_Gym_Text_2058DB, 4
- msgbox PetalburgCity_Gym_Text_205910, 4
- msgbox PetalburgCity_Gym_Text_2059D8, 4
+ 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
compare VAR_0x8008, 1
@@ -175,7 +175,7 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
call_if 1, PetalburgCity_Gym_EventScript_204CE4
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_204CF6
- msgbox PetalburgCity_Gym_Text_2059E8, 4
+ msgbox PetalburgCity_Gym_Text_2059E8, MSGBOX_DEFAULT
compare VAR_0x8008, 0
call_if 1, PetalburgCity_Gym_EventScript_204D08
compare VAR_0x8008, 1
@@ -184,9 +184,9 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
call_if 1, PetalburgCity_Gym_EventScript_204D1E
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_204D29
- msgbox PetalburgCity_Gym_Text_205A46, 4
- msgbox PetalburgCity_Gym_Text_205A89, 4
- msgbox PetalburgCity_Gym_Text_205AF4, 4
+ 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
compare VAR_0x8008, 1
@@ -203,7 +203,7 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
call_if 1, PetalburgCity_Gym_EventScript_204D34
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_204D34
- msgbox PetalburgCity_Gym_Text_205B0F, 4
+ msgbox PetalburgCity_Gym_Text_205B0F, MSGBOX_DEFAULT
closemessage
setflag FLAG_SPECIAL_FLAG_0x4001
playbgm MUS_TSURETEK, 0
@@ -216,12 +216,12 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_204CB5
removeobject 10
- setflag FLAG_0x2D8
+ setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT
setvar VAR_0x4085, 1
setvar VAR_0x4057, 2
- clearflag FLAG_0x2D6
- clearflag FLAG_0x362
- setflag FLAG_0x379
+ clearflag FLAG_HIDE_PETALBURG_CITY_WALLY
+ clearflag FLAG_HIDE_PETALBURG_GYM_WALLY
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
special InitBirchState
warp MAP_PETALBURG_CITY, 255, 15, 8
waitstate
@@ -328,22 +328,22 @@ PetalburgCity_Gym_EventScript_204D3F:: @ 8204D3F
return
PetalburgCity_Gym_EventScript_204D4A:: @ 8204D4A
- msgbox PetalburgCity_Gym_Text_205DB4, 4
+ msgbox PetalburgCity_Gym_Text_205DB4, MSGBOX_DEFAULT
release
end
PetalburgCity_Gym_EventScript_204D54:: @ 8204D54
- msgbox PetalburgCity_Gym_Text_205EAE, 4
+ msgbox PetalburgCity_Gym_Text_205EAE, MSGBOX_DEFAULT
release
end
PetalburgCity_Gym_EventScript_204D5E:: @ 8204D5E
- msgbox PetalburgCity_Gym_Text_205F87, 4
+ msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT
release
end
PetalburgCity_Gym_EventScript_204D68:: @ 8204D68
- msgbox PetalburgCity_Gym_Text_205F87, 4
+ msgbox PetalburgCity_Gym_Text_205F87, MSGBOX_DEFAULT
release
end
@@ -369,7 +369,7 @@ PetalburgCity_Gym_EventScript_204D80:: @ 8204D80
goto_if 0, PetalburgCity_Gym_EventScript_204DAC
checkflag FLAG_SYS_GAME_CLEAR
goto_eq PetalburgCity_Gym_EventScript_20512D
- msgbox PetalburgCity_Gym_Text_206417, 4
+ msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT
release
end
@@ -379,8 +379,8 @@ PetalburgCity_Gym_EventScript_204DAC:: @ 8204DAC
end
PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3
- trainerbattle 7, TRAINER_NORMAN_1, 0, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A
- msgbox PetalburgCity_Gym_Text_2075F7, 6
+ trainerbattle_rematch_double TRAINER_NORMAN_1, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A
+ msgbox PetalburgCity_Gym_Text_2075F7, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE
@@ -395,7 +395,7 @@ PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE
goto_eq PetalburgCity_Gym_EventScript_204E17
compare VAR_ENIGMA_BERRY_AVAILABLE, 0
goto_eq PetalburgCity_Gym_EventScript_204E17
- msgbox PetalburgCity_Gym_Text_2A6D3D, 4
+ msgbox PetalburgCity_Gym_Text_2A6D3D, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -412,27 +412,27 @@ PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D
end
PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B
- msgbox PetalburgCity_Gym_Text_205FE5, 4
- trainerbattle 3, TRAINER_NORMAN_1, 0, PetalburgCity_Gym_Text_206107
+ msgbox PetalburgCity_Gym_Text_205FE5, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_NORMAN_1, PetalburgCity_Gym_Text_206107
message PetalburgCity_Gym_Text_206162
waitmessage
call PetalburgCity_Gym_EventScript_27207E
- msgbox PetalburgCity_Gym_Text_20618A, 4
+ msgbox PetalburgCity_Gym_Text_20618A, MSGBOX_DEFAULT
setflag FLAG_0x4F4
setvar VAR_0x4085, 7
setflag FLAG_BADGE05_GET
special sub_813B9A0
call PetalburgCity_Gym_EventScript_2721F8
- setflag FLAG_SPRITEVIS_MAUVILLE_GYM_WATTSON
- clearflag FLAG_SPRITEVIS_MAUVILLE_CITY_WATTSON
+ setflag FLAG_HIDE_MAUVILLE_GYM_WATTSON
+ clearflag FLAG_HIDE_MAUVILLE_CITY_WATTSON
setvar VAR_0x8008, 5
call PetalburgCity_Gym_EventScript_271F43
- clearflag FLAG_0x3AC
+ clearflag FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN
call PetalburgCity_Gym_EventScript_2048FF
special DrawWholeMapView
call PetalburgCity_Gym_EventScript_204ED2
delay 30
- msgbox PetalburgCity_Gym_Text_2062FB, 4
+ msgbox PetalburgCity_Gym_Text_2062FB, MSGBOX_DEFAULT
closemessage
delay 40
playse SE_DOOR
@@ -449,7 +449,7 @@ PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2
compare VAR_RESULT, 0
goto_eq PetalburgCity_Gym_EventScript_27205E
setflag FLAG_0x0A9
- msgbox PetalburgCity_Gym_Text_206254, 4
+ msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT
return
PetalburgCity_Gym_EventScript_204EF5:: @ 8204EF5
@@ -479,7 +479,7 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
call_if 1, PetalburgCity_Gym_EventScript_205009
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_205025
- msgbox PetalburgCity_Gym_Text_206377, 4
+ msgbox PetalburgCity_Gym_Text_206377, MSGBOX_DEFAULT
closemessage
delay 20
compare VAR_0x8008, 1
@@ -488,7 +488,7 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
call_if 1, PetalburgCity_Gym_EventScript_204FD7
compare VAR_0x8008, 3
call_if 1, PetalburgCity_Gym_EventScript_204FE2
- msgbox PetalburgCity_Gym_Text_2063CA, 4
+ msgbox PetalburgCity_Gym_Text_2063CA, MSGBOX_DEFAULT
closemessage
setflag FLAG_SPECIAL_FLAG_0x4001
playbgm MUS_TSURETEK, 0
@@ -500,7 +500,7 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
call_if 1, PetalburgCity_Gym_EventScript_20506C
removeobject 11
setvar VAR_0x4057, 4
- clearflag FLAG_0x33E
+ clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
warp MAP_PETALBURG_CITY, 255, 15, 8
waitstate
release
@@ -780,7 +780,7 @@ PetalburgCity_Gym_Movement_205123: @ 8205123
step_end
PetalburgCity_Gym_EventScript_20512D:: @ 820512D
- msgbox PetalburgCity_Gym_Text_2064C3, 4
+ msgbox PetalburgCity_Gym_Text_2064C3, MSGBOX_DEFAULT
release
end
@@ -790,7 +790,7 @@ PetalburgCity_Gym_EventScript_205137:: @ 8205137
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 85
- msgbox PetalburgCity_Gym_Text_20721E, 5
+ msgbox PetalburgCity_Gym_Text_20721E, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -810,7 +810,7 @@ PetalburgCity_Gym_EventScript_20517B:: @ 820517B
end
PetalburgCity_Gym_EventScript_20517D:: @ 820517D
- msgbox PetalburgCity_Gym_Text_2071F4, 4
+ msgbox PetalburgCity_Gym_Text_2071F4, MSGBOX_DEFAULT
releaseall
end
@@ -820,7 +820,7 @@ PetalburgCity_Gym_EventScript_205187:: @ 8205187
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 98
- msgbox PetalburgCity_Gym_Text_207280, 5
+ msgbox PetalburgCity_Gym_Text_207280, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -833,7 +833,7 @@ PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 46
- msgbox PetalburgCity_Gym_Text_2072BB, 5
+ msgbox PetalburgCity_Gym_Text_2072BB, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -846,7 +846,7 @@ PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 59
- msgbox PetalburgCity_Gym_Text_2072F7, 5
+ msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -859,7 +859,7 @@ PetalburgCity_Gym_EventScript_205222:: @ 8205222
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 59
- msgbox PetalburgCity_Gym_Text_2072F7, 5
+ msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -872,7 +872,7 @@ PetalburgCity_Gym_EventScript_205255:: @ 8205255
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 72
- msgbox PetalburgCity_Gym_Text_207331, 5
+ msgbox PetalburgCity_Gym_Text_207331, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -885,7 +885,7 @@ PetalburgCity_Gym_EventScript_205288:: @ 8205288
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 20
- msgbox PetalburgCity_Gym_Text_20736C, 5
+ msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -898,7 +898,7 @@ PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 20
- msgbox PetalburgCity_Gym_Text_20736C, 5
+ msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -911,7 +911,7 @@ PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 33
- msgbox PetalburgCity_Gym_Text_2073A7, 5
+ msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -924,7 +924,7 @@ PetalburgCity_Gym_EventScript_205321:: @ 8205321
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 33
- msgbox PetalburgCity_Gym_Text_2073A7, 5
+ msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -937,7 +937,7 @@ PetalburgCity_Gym_EventScript_205354:: @ 8205354
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 7
- msgbox PetalburgCity_Gym_Text_2073E4, 5
+ msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -950,7 +950,7 @@ PetalburgCity_Gym_EventScript_205387:: @ 8205387
goto_if 0, PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 7
- msgbox PetalburgCity_Gym_Text_2073E4, 5
+ msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
@@ -958,10 +958,10 @@ PetalburgCity_Gym_EventScript_205387:: @ 8205387
end
PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA
- trainerbattle 2, TRAINER_RANDALL, 0, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE
+ 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
- msgbox PetalburgCity_Gym_Text_2067D8, 6
+ msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE
@@ -972,14 +972,14 @@ PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE
end
PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED
- msgbox PetalburgCity_Gym_Text_20685E, 2
+ msgbox PetalburgCity_Gym_Text_20685E, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6
- trainerbattle 2, TRAINER_PARKER, 0, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A
+ 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
- msgbox PetalburgCity_Gym_Text_206996, 6
+ msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_20541A:: @ 820541A
@@ -990,14 +990,14 @@ PetalburgCity_Gym_EventScript_20541A:: @ 820541A
end
PetalburgCity_Gym_EventScript_205429:: @ 8205429
- msgbox PetalburgCity_Gym_Text_2069D9, 2
+ msgbox PetalburgCity_Gym_Text_2069D9, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_205432:: @ 8205432
- trainerbattle 2, TRAINER_GEORGE, 0, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456
+ 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
- msgbox PetalburgCity_Gym_Text_206AE9, 6
+ msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_205456:: @ 8205456
@@ -1008,14 +1008,14 @@ PetalburgCity_Gym_EventScript_205456:: @ 8205456
end
PetalburgCity_Gym_EventScript_205465:: @ 8205465
- msgbox PetalburgCity_Gym_Text_206BB1, 2
+ msgbox PetalburgCity_Gym_Text_206BB1, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_20546E:: @ 820546E
- trainerbattle 2, TRAINER_BERKE, 0, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492
+ 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
- msgbox PetalburgCity_Gym_Text_206C9F, 6
+ msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_205492:: @ 8205492
@@ -1026,14 +1026,14 @@ PetalburgCity_Gym_EventScript_205492:: @ 8205492
end
PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1
- msgbox PetalburgCity_Gym_Text_206D56, 2
+ msgbox PetalburgCity_Gym_Text_206D56, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA
- trainerbattle 2, TRAINER_MARY, 0, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE
+ 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
- msgbox PetalburgCity_Gym_Text_206E26, 6
+ msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE
@@ -1044,14 +1044,14 @@ PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE
end
PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD
- msgbox PetalburgCity_Gym_Text_206ED8, 2
+ msgbox PetalburgCity_Gym_Text_206ED8, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6
- trainerbattle 2, TRAINER_ALEXIA, 0, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A
+ 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
- msgbox PetalburgCity_Gym_Text_206F9F, 6
+ msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_20550A:: @ 820550A
@@ -1062,14 +1062,14 @@ PetalburgCity_Gym_EventScript_20550A:: @ 820550A
end
PetalburgCity_Gym_EventScript_205519:: @ 8205519
- msgbox PetalburgCity_Gym_Text_207069, 2
+ msgbox PetalburgCity_Gym_Text_207069, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_205522:: @ 8205522
- trainerbattle 2, TRAINER_JODY, 0, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546
+ 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
- msgbox PetalburgCity_Gym_Text_2070FB, 6
+ msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE
end
PetalburgCity_Gym_EventScript_205546:: @ 8205546
@@ -1080,7 +1080,7 @@ PetalburgCity_Gym_EventScript_205546:: @ 8205546
end
PetalburgCity_Gym_EventScript_205555:: @ 8205555
- msgbox PetalburgCity_Gym_Text_207170, 2
+ msgbox PetalburgCity_Gym_Text_207170, MSGBOX_NPC
end
PetalburgCity_Gym_EventScript_20555E:: @ 820555E
@@ -1217,12 +1217,12 @@ PetalburgCity_Gym_EventScript_20574F:: @ 820574F
faceplayer
checkflag FLAG_0x4F4
goto_eq PetalburgCity_Gym_EventScript_205764
- msgbox PetalburgCity_Gym_Text_206542, 4
+ msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT
release
end
PetalburgCity_Gym_EventScript_205764:: @ 8205764
- msgbox PetalburgCity_Gym_Text_2066F3, 4
+ msgbox PetalburgCity_Gym_Text_2066F3, MSGBOX_DEFAULT
release
end
@@ -1241,12 +1241,12 @@ PetalburgCity_Gym_EventScript_20577E:: @ 820577E
end
PetalburgCity_Gym_EventScript_20578E:: @ 820578E
- msgbox PetalburgCity_Gym_Text_207467, 4
+ msgbox PetalburgCity_Gym_Text_207467, MSGBOX_DEFAULT
releaseall
end
PetalburgCity_Gym_EventScript_205798:: @ 8205798
- msgbox PetalburgCity_Gym_Text_20744C, 4
+ msgbox PetalburgCity_Gym_Text_20744C, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/PetalburgCity_House1/scripts.inc b/data/maps/PetalburgCity_House1/scripts.inc
index f727ec8a1..cb511bbed 100644
--- a/data/maps/PetalburgCity_House1/scripts.inc
+++ b/data/maps/PetalburgCity_House1/scripts.inc
@@ -2,11 +2,11 @@ PetalburgCity_House1_MapScripts:: @ 8207799
.byte 0
PetalburgCity_House1_EventScript_20779A:: @ 820779A
- msgbox PetalburgCity_House1_Text_2077AC, 2
+ msgbox PetalburgCity_House1_Text_2077AC, MSGBOX_NPC
end
PetalburgCity_House1_EventScript_2077A3:: @ 82077A3
- msgbox PetalburgCity_House1_Text_2077FB, 2
+ msgbox PetalburgCity_House1_Text_2077FB, MSGBOX_NPC
end
PetalburgCity_House1_Text_2077AC: @ 82077AC
diff --git a/data/maps/PetalburgCity_House2/scripts.inc b/data/maps/PetalburgCity_House2/scripts.inc
index 44987b3d6..4fe971339 100644
--- a/data/maps/PetalburgCity_House2/scripts.inc
+++ b/data/maps/PetalburgCity_House2/scripts.inc
@@ -2,11 +2,11 @@ PetalburgCity_House2_MapScripts:: @ 82078F2
.byte 0
PetalburgCity_House2_EventScript_2078F3:: @ 82078F3
- msgbox PetalburgCity_House2_Text_207905, 2
+ msgbox PetalburgCity_House2_Text_207905, MSGBOX_NPC
end
PetalburgCity_House2_EventScript_2078FC:: @ 82078FC
- msgbox PetalburgCity_House2_Text_207969, 2
+ msgbox PetalburgCity_House2_Text_207969, MSGBOX_NPC
end
PetalburgCity_House2_Text_207905: @ 8207905
diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc
index 665ad3bae..9ee996374 100644
--- a/data/maps/PetalburgCity_Mart/scripts.inc
+++ b/data/maps/PetalburgCity_Mart/scripts.inc
@@ -9,7 +9,7 @@ PetalburgCity_Mart_EventScript_207D69:: @ 8207D69
checkflag FLAG_0x128
goto_eq PetalburgCity_Mart_EventScript_207DA6
pokemart PetalburgCity_Mart_Pokemart_207D8C
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -32,7 +32,7 @@ PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C
PetalburgCity_Mart_EventScript_207DA6:: @ 8207DA6
pokemart PetalburgCity_Mart_Pokemart_207DB8
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -56,15 +56,15 @@ PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8
end
PetalburgCity_Mart_EventScript_207DD6:: @ 8207DD6
- msgbox PetalburgCity_Mart_Text_207DF1, 2
+ msgbox PetalburgCity_Mart_Text_207DF1, MSGBOX_NPC
end
PetalburgCity_Mart_EventScript_207DDF:: @ 8207DDF
- msgbox PetalburgCity_Mart_Text_207E60, 2
+ msgbox PetalburgCity_Mart_Text_207E60, MSGBOX_NPC
end
PetalburgCity_Mart_EventScript_207DE8:: @ 8207DE8
- msgbox PetalburgCity_Mart_Text_207EB0, 2
+ msgbox PetalburgCity_Mart_Text_207EB0, MSGBOX_NPC
end
PetalburgCity_Mart_Text_207DF1: @ 8207DF1
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
index 130a43de9..d0a279cf2 100644
--- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
@@ -17,17 +17,17 @@ PetalburgCity_PokemonCenter_1F_EventScript_2079FC:: @ 82079FC
end
PetalburgCity_PokemonCenter_1F_EventScript_207A0A:: @ 8207A0A
- msgbox PetalburgCity_PokemonCenter_1F_Text_207A76, 2
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207A76, MSGBOX_NPC
end
PetalburgCity_PokemonCenter_1F_EventScript_207A13:: @ 8207A13
- msgbox PetalburgCity_PokemonCenter_1F_Text_207AD6, 2
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207AD6, MSGBOX_NPC
end
PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C
lock
faceplayer
- msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, MSGBOX_DEFAULT
specialvar VAR_RESULT, IsStarterInParty
compare VAR_RESULT, 1
goto_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38
@@ -45,15 +45,15 @@ PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38
end
PetalburgCity_PokemonCenter_1F_EventScript_207A5B:: @ 8207A5B
- msgbox PetalburgCity_PokemonCenter_1F_Text_207BB0, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207BB0, MSGBOX_DEFAULT
return
PetalburgCity_PokemonCenter_1F_EventScript_207A64:: @ 8207A64
- msgbox PetalburgCity_PokemonCenter_1F_Text_207C35, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207C35, MSGBOX_DEFAULT
return
PetalburgCity_PokemonCenter_1F_EventScript_207A6D:: @ 8207A6D
- msgbox PetalburgCity_PokemonCenter_1F_Text_207CB7, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207CB7, MSGBOX_DEFAULT
return
PetalburgCity_PokemonCenter_1F_Text_207A76: @ 8207A76
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/events.inc b/data/maps/PetalburgCity_PokemonCenter_2F/events.inc
index d83875c10..08bd8f524 100644
--- a/data/maps/PetalburgCity_PokemonCenter_2F/events.inc
+++ b/data/maps/PetalburgCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ PetalburgCity_PokemonCenter_2F_EventObjects: @ 852F208
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
PetalburgCity_PokemonCenter_2F_MapWarps: @ 852F268
warp_def 1, 6, 4, 2, MAP_PETALBURG_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc
index e64bd57b1..babfb6229 100644
--- a/data/maps/PetalburgCity_WallysHouse/scripts.inc
+++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc
@@ -18,10 +18,10 @@ PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247
PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251
lockall
- msgbox PetalburgCity_WallysHouse_Text_20446E, 4
+ msgbox PetalburgCity_WallysHouse_Text_20446E, MSGBOX_DEFAULT
giveitem_std ITEM_HM03
setflag FLAG_0x07A
- msgbox PetalburgCity_WallysHouse_Text_20461A, 4
+ msgbox PetalburgCity_WallysHouse_Text_20461A, MSGBOX_DEFAULT
setvar VAR_0x4057, 5
releaseall
end
@@ -35,23 +35,23 @@ PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278
goto_eq PetalburgCity_WallysHouse_EventScript_2042A2
checkflag FLAG_0x087
goto_eq PetalburgCity_WallysHouse_EventScript_2042B6
- msgbox PetalburgCity_WallysHouse_Text_2042DF, 4
+ msgbox PetalburgCity_WallysHouse_Text_2042DF, MSGBOX_DEFAULT
setflag FLAG_0x087
release
end
PetalburgCity_WallysHouse_EventScript_2042A2:: @ 82042A2
- msgbox PetalburgCity_WallysHouse_Text_204661, 4
+ msgbox PetalburgCity_WallysHouse_Text_204661, MSGBOX_DEFAULT
release
end
PetalburgCity_WallysHouse_EventScript_2042AC:: @ 82042AC
- msgbox PetalburgCity_WallysHouse_Text_204698, 4
+ msgbox PetalburgCity_WallysHouse_Text_204698, MSGBOX_DEFAULT
release
end
PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6
- msgbox PetalburgCity_WallysHouse_Text_20444D, 4
+ msgbox PetalburgCity_WallysHouse_Text_20444D, MSGBOX_DEFAULT
release
end
@@ -60,12 +60,12 @@ PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0
faceplayer
checkflag FLAG_0x07A
goto_eq PetalburgCity_WallysHouse_EventScript_2042D5
- msgbox PetalburgCity_WallysHouse_Text_204732, 4
+ msgbox PetalburgCity_WallysHouse_Text_204732, MSGBOX_DEFAULT
release
end
PetalburgCity_WallysHouse_EventScript_2042D5:: @ 82042D5
- msgbox PetalburgCity_WallysHouse_Text_2047A7, 4
+ msgbox PetalburgCity_WallysHouse_Text_2047A7, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PetalburgWoods/events.inc b/data/maps/PetalburgWoods/events.inc
index e0bfbc630..b64e38885 100644
--- a/data/maps/PetalburgWoods/events.inc
+++ b/data/maps/PetalburgWoods/events.inc
@@ -1,16 +1,16 @@
PetalburgWoods_EventObjects: @ 85345E4
- object_event 1, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 19, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, 17
- object_event 2, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 19, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, 18
- object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 26, 17, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 725
- object_event 4, EVENT_OBJ_GFX_MAN_2, 0, 26, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, 724
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 45, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgWoods_EventScript_29110F, 1056
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 35, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgWoods_EventScript_291102, 1055
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_29111C, 1058
+ object_event 1, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 19, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, FLAG_TEMP_11
+ object_event 2, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 19, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, FLAG_TEMP_12
+ object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 26, 17, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT
+ object_event 4, EVENT_OBJ_GFX_MAN_2, 0, 26, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_HIDE_PETALBURG_WOODS_DEVON_EMPLOYEE
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 45, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgWoods_EventScript_29110F, FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 35, 20, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, PetalburgWoods_EventScript_291102, FLAG_ITEM_PETALBURG_WOODS_X_ATTACK
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, PetalburgWoods_EventScript_29111C, FLAG_ITEM_PETALBURG_WOODS_ETHER
object_event 8, EVENT_OBJ_GFX_BOY_2, 0, 15, 19, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 2, 0, 0, PetalburgWoods_EventScript_22E210, 0
object_event 9, EVENT_OBJ_GFX_BUG_CATCHER, 0, 7, 32, 3, MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT, 0, 0, 1, 3, PetalburgWoods_EventScript_22E26D, 0
object_event 10, EVENT_OBJ_GFX_BUG_CATCHER, 0, 4, 14, 3, MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT, 0, 0, 1, 3, PetalburgWoods_EventScript_22E284, 0
object_event 11, EVENT_OBJ_GFX_BOY_3, 0, 30, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 2, 1, 0, 0, PetalburgWoods_EventScript_22E219, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PetalburgWoods_EventScript_291129, 1117
+ object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PetalburgWoods_EventScript_291129, FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL
object_event 13, EVENT_OBJ_GFX_GIRL_2, 0, 33, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, PetalburgWoods_EventScript_22E222, 0
PetalburgWoods_MapWarps: @ 853471C
@@ -27,10 +27,10 @@ PetalburgWoods_MapCoordEvents: @ 853474C
PetalburgWoods_MapBGEvents: @ 853476C
bg_event 14, 32, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgWoods_EventScript_22E25B
- bg_hidden_item_event 39, 35, 3, ITEM_POTION, 58
- bg_hidden_item_event 26, 6, 3, ITEM_TINY_MUSHROOM, 59
- bg_hidden_item_event 40, 29, 3, ITEM_TINY_MUSHROOM, 60
- bg_hidden_item_event 4, 19, 3, ITEM_POKE_BALL, 61
+ bg_hidden_item_event 39, 35, 3, ITEM_POTION, FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION
+ bg_hidden_item_event 26, 6, 3, ITEM_TINY_MUSHROOM, FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1
+ bg_hidden_item_event 40, 29, 3, ITEM_TINY_MUSHROOM, FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2
+ bg_hidden_item_event 4, 19, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL
bg_event 11, 8, 3, BG_EVENT_PLAYER_FACING_ANY, PetalburgWoods_EventScript_22E264
PetalburgWoods_MapEvents:: @ 85347B4
diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc
index 7c9a1ae49..82e49abb2 100644
--- a/data/maps/PetalburgWoods/scripts.inc
+++ b/data/maps/PetalburgWoods/scripts.inc
@@ -6,27 +6,27 @@ PetalburgWoods_EventScript_22DFD7:: @ 822DFD7
call PetalburgWoods_EventScript_22E124
applymovement 4, PetalburgWoods_Movement_22E1CB
waitmovement 0
- msgbox PetalburgWoods_Text_22E34F, 4
+ msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 0
applymovement 3, PetalburgWoods_Movement_22E209
waitmovement 0
- msgbox PetalburgWoods_Text_22E3AA, 4
+ msgbox PetalburgWoods_Text_22E3AA, MSGBOX_DEFAULT
closemessage
applymovement 3, PetalburgWoods_Movement_22E1F6
waitmovement 0
applymovement 4, PetalburgWoods_Movement_2725A6
waitmovement 0
- msgbox PetalburgWoods_Text_22E428, 4
+ msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT
closemessage
applymovement 4, PetalburgWoods_Movement_22E1E4
waitmovement 0
- msgbox PetalburgWoods_Text_22E457, 4
+ msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT
closemessage
applymovement 3, PetalburgWoods_Movement_22E20E
waitmovement 0
- msgbox PetalburgWoods_Text_22E4A5, 4
- trainerbattle 3, TRAINER_GRUNT_8, 0, PetalburgWoods_Text_22E542
+ 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
@@ -43,26 +43,26 @@ PetalburgWoods_EventScript_22E079:: @ 822E079
waitmovement 0
applymovement 255, PetalburgWoods_Movement_2725A4
waitmovement 0
- msgbox PetalburgWoods_Text_22E34F, 4
+ msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 0
applymovement 3, PetalburgWoods_Movement_22E209
waitmovement 0
- msgbox PetalburgWoods_Text_22E3AA, 4
+ msgbox PetalburgWoods_Text_22E3AA, MSGBOX_DEFAULT
closemessage
applymovement 3, PetalburgWoods_Movement_22E205
waitmovement 0
applymovement 4, PetalburgWoods_Movement_2725A6
waitmovement 0
- msgbox PetalburgWoods_Text_22E428, 4
+ msgbox PetalburgWoods_Text_22E428, MSGBOX_DEFAULT
closemessage
applymovement 4, PetalburgWoods_Movement_22E1EA
waitmovement 0
- msgbox PetalburgWoods_Text_22E457, 4
+ msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT
applymovement 255, PetalburgWoods_Movement_2725A6
waitmovement 0
- msgbox PetalburgWoods_Text_22E4A5, 4
- trainerbattle 3, TRAINER_GRUNT_8, 0, PetalburgWoods_Text_22E542
+ 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
@@ -75,19 +75,19 @@ PetalburgWoods_EventScript_22E079:: @ 822E079
PetalburgWoods_EventScript_22E124:: @ 822E124
applymovement 4, PetalburgWoods_Movement_22E1B1
waitmovement 0
- msgbox PetalburgWoods_Text_22E332, 4
+ msgbox PetalburgWoods_Text_22E332, MSGBOX_DEFAULT
closemessage
return
PetalburgWoods_EventScript_22E138:: @ 822E138
- msgbox PetalburgWoods_Text_22E563, 4
+ msgbox PetalburgWoods_Text_22E563, MSGBOX_DEFAULT
closemessage
applymovement 3, PetalburgWoods_Movement_22E1FD
waitmovement 0
removeobject 3
applymovement 255, PetalburgWoods_Movement_2725AA
waitmovement 0
- msgbox PetalburgWoods_Text_22E63D, 4
+ msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT
giveitem_std ITEM_GREAT_BALL
compare VAR_RESULT, 0
goto_eq PetalburgWoods_EventScript_22E17D
@@ -95,15 +95,15 @@ PetalburgWoods_EventScript_22E138:: @ 822E138
end
PetalburgWoods_EventScript_22E17D:: @ 822E17D
- msgbox PetalburgWoods_Text_22E741, 4
+ msgbox PetalburgWoods_Text_22E741, MSGBOX_DEFAULT
goto PetalburgWoods_EventScript_22E18B
end
PetalburgWoods_EventScript_22E18B:: @ 822E18B
- msgbox PetalburgWoods_Text_22E6C7, 4
+ msgbox PetalburgWoods_Text_22E6C7, MSGBOX_DEFAULT
applymovement 4, PetalburgWoods_Movement_22E1EE
waitmovement 0
- msgbox PetalburgWoods_Text_22E712, 4
+ msgbox PetalburgWoods_Text_22E712, MSGBOX_DEFAULT
closemessage
return
@@ -239,11 +239,11 @@ PetalburgWoods_Movement_22E20E: @ 822E20E
step_end
PetalburgWoods_EventScript_22E210:: @ 822E210
- msgbox PetalburgWoods_Text_22EA0C, 2
+ msgbox PetalburgWoods_Text_22EA0C, MSGBOX_NPC
end
PetalburgWoods_EventScript_22E219:: @ 822E219
- msgbox PetalburgWoods_Text_22EA8B, 2
+ msgbox PetalburgWoods_Text_22EA8B, MSGBOX_NPC
end
PetalburgWoods_EventScript_22E222:: @ 822E222
@@ -251,7 +251,7 @@ PetalburgWoods_EventScript_22E222:: @ 822E222
faceplayer
checkflag FLAG_0x129
goto_eq PetalburgWoods_EventScript_22E251
- msgbox PetalburgWoods_Text_22EAFE, 4
+ msgbox PetalburgWoods_Text_22EAFE, MSGBOX_DEFAULT
giveitem_std ITEM_MIRACLE_SEED
compare VAR_RESULT, 0
goto_eq PetalburgWoods_EventScript_272054
@@ -260,25 +260,25 @@ PetalburgWoods_EventScript_22E222:: @ 822E222
end
PetalburgWoods_EventScript_22E251:: @ 822E251
- msgbox PetalburgWoods_Text_22EB63, 4
+ msgbox PetalburgWoods_Text_22EB63, MSGBOX_DEFAULT
release
end
PetalburgWoods_EventScript_22E25B:: @ 822E25B
- msgbox PetalburgWoods_Text_22EC10, 3
+ msgbox PetalburgWoods_Text_22EC10, MSGBOX_SIGN
end
PetalburgWoods_EventScript_22E264:: @ 822E264
- msgbox PetalburgWoods_Text_22ED07, 3
+ msgbox PetalburgWoods_Text_22ED07, MSGBOX_SIGN
end
PetalburgWoods_EventScript_22E26D:: @ 822E26D
- trainerbattle 0, TRAINER_LYLE, 0, PetalburgWoods_Text_22E77D, PetalburgWoods_Text_22E7C1
- msgbox PetalburgWoods_Text_22E7EF, 6
+ trainerbattle_single TRAINER_LYLE, PetalburgWoods_Text_22E77D, PetalburgWoods_Text_22E7C1
+ msgbox PetalburgWoods_Text_22E7EF, MSGBOX_AUTOCLOSE
end
PetalburgWoods_EventScript_22E284:: @ 822E284
- trainerbattle 2, TRAINER_JAMES_1, 0, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5
+ 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
@@ -286,7 +286,7 @@ PetalburgWoods_EventScript_22E284:: @ 822E284
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq PetalburgWoods_EventScript_22E2EF
- msgbox PetalburgWoods_Text_22E889, 4
+ msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
release
end
@@ -299,33 +299,27 @@ PetalburgWoods_EventScript_22E2C5:: @ 822E2C5
end
PetalburgWoods_EventScript_22E2D6:: @ 822E2D6
- msgbox PetalburgWoods_Text_22E8C3, 4
- setvar VAR_0x8004, 621
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 621
- callstd 8
+ msgbox PetalburgWoods_Text_22E8C3, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JAMES_1
release
end
PetalburgWoods_EventScript_22E2EF:: @ 822E2EF
checkflag FLAG_HAS_MATCH_CALL
goto_eq PetalburgWoods_EventScript_22E302
- msgbox PetalburgWoods_Text_22E889, 4
+ msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
release
end
PetalburgWoods_EventScript_22E302:: @ 822E302
- msgbox PetalburgWoods_Text_22E914, 4
- setvar VAR_0x8004, 621
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 621
- callstd 8
+ msgbox PetalburgWoods_Text_22E914, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JAMES_1
release
end
PetalburgWoods_EventScript_22E31B:: @ 822E31B
- trainerbattle 5, TRAINER_JAMES_1, 0, PetalburgWoods_Text_22E966, PetalburgWoods_Text_22E998
- msgbox PetalburgWoods_Text_22E9B6, 6
+ trainerbattle_rematch TRAINER_JAMES_1, PetalburgWoods_Text_22E966, PetalburgWoods_Text_22E998
+ msgbox PetalburgWoods_Text_22E9B6, MSGBOX_AUTOCLOSE
end
PetalburgWoods_Text_22E332: @ 822E332
diff --git a/data/maps/Route101/events.inc b/data/maps/Route101/events.inc
index d43253baa..77ee2848f 100644
--- a/data/maps/Route101/events.inc
+++ b/data/maps/Route101/events.inc
@@ -1,10 +1,10 @@
Route101_EventObjects: @ 8527E98
object_event 1, EVENT_OBJ_GFX_YOUNGSTER, 0, 16, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_1EBDFB, 0
- object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 9, 13, 0, MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT, 0, 0, 0, 0, 0x0, 720
- object_event 3, EVENT_OBJ_GFX_BIRCHS_BAG, 0, 7, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_1EBE16, 700
- object_event 4, EVENT_OBJ_GFX_ZIGZAGOON_1, 0, 10, 13, 0, MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, 0, 0, 0, 0, 0x0, 750
- object_event 5, EVENT_OBJ_GFX_PROF_BIRCH, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_272141, 897
- object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 2, 13, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, Route101_EventScript_1EBE04, 991
+ object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 9, 13, 0, MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE
+ object_event 3, EVENT_OBJ_GFX_BIRCHS_BAG, 0, 7, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_1EBE16, FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG
+ object_event 4, EVENT_OBJ_GFX_ZIGZAGOON_1, 0, 10, 13, 0, MOVEMENT_TYPE_JOG_IN_PLACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_101_ZIGZAGOON
+ object_event 5, EVENT_OBJ_GFX_PROF_BIRCH, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route101_EventScript_272141, FLAG_HIDE_ROUTE_101_BIRCH
+ object_event 6, EVENT_OBJ_GFX_BOY_2, 0, 2, 13, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 1, 0, 0, Route101_EventScript_1EBE04, FLAG_HIDE_ROUTE_101_BOY
Route101_MapCoordEvents: @ 8527F28
coord_event 10, 19, 3, VAR_0x4060, 1, Route101_EventScript_1EBCDE
diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc
index 97e832761..341f7a572 100644
--- a/data/maps/Route101/scripts.inc
+++ b/data/maps/Route101/scripts.inc
@@ -19,7 +19,7 @@ Route101_EventScript_1EBCD5:: @ 81EBCD5
Route101_EventScript_1EBCDE:: @ 81EBCDE
lockall
playbgm MUS_EVENT0, 1
- msgbox Route101_Text_1EBE8F, 4
+ msgbox Route101_Text_1EBE8F, MSGBOX_DEFAULT
closemessage
setobjectxy 2, 0, 15
setobjectxy 4, 0, 16
@@ -35,7 +35,7 @@ Route101_EventScript_1EBCDE:: @ 81EBCDE
applymovement 4, Route101_Movement_1EBDBD
applymovement 2, Route101_Movement_1EBDEF
waitmovement 0
- msgbox Route101_Text_1EBE9A, 4
+ msgbox Route101_Text_1EBE9A, MSGBOX_DEFAULT
closemessage
setvar VAR_0x4060, 2
releaseall
@@ -43,7 +43,7 @@ Route101_EventScript_1EBCDE:: @ 81EBCDE
Route101_EventScript_1EBD4E:: @ 81EBD4E
lockall
- msgbox Route101_Text_1EBEDF, 4
+ msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
closemessage
applymovement 255, Route101_Movement_1EBD90
waitmovement 0
@@ -52,7 +52,7 @@ Route101_EventScript_1EBD4E:: @ 81EBD4E
Route101_EventScript_1EBD64:: @ 81EBD64
lockall
- msgbox Route101_Text_1EBEDF, 4
+ msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
closemessage
applymovement 255, Route101_Movement_1EBD92
waitmovement 0
@@ -61,7 +61,7 @@ Route101_EventScript_1EBD64:: @ 81EBD64
Route101_EventScript_1EBD7A:: @ 81EBD7A
lockall
- msgbox Route101_Text_1EBEDF, 4
+ msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
closemessage
applymovement 255, Route101_Movement_1EBD94
waitmovement 0
@@ -204,15 +204,15 @@ Route101_Movement_1EBDF7: @ 81EBDF7
step_end
Route101_EventScript_1EBDFB:: @ 81EBDFB
- msgbox Route101_Text_1EBFDD, 2
+ msgbox Route101_Text_1EBFDD, MSGBOX_NPC
end
Route101_EventScript_1EBE04:: @ 81EBE04
- msgbox Route101_Text_1EC04A, 2
+ msgbox Route101_Text_1EC04A, MSGBOX_NPC
end
Route101_EventScript_1EBE0D:: @ 81EBE0D
- msgbox Route101_Text_1EC0C8, 3
+ msgbox Route101_Text_1EC0C8, MSGBOX_SIGN
end
Route101_EventScript_1EBE16:: @ 81EBE16
@@ -229,11 +229,11 @@ Route101_EventScript_1EBE16:: @ 81EBE16
waitstate
applymovement 2, Route101_Movement_1EBE8D
waitmovement 0
- msgbox Route101_Text_1EBF12, 4
+ msgbox Route101_Text_1EBF12, MSGBOX_DEFAULT
special HealPlayerParty
- setflag FLAG_0x2D0
- clearflag FLAG_0x2D1
- setflag FLAG_0x2BC
+ setflag FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH
+ setflag FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG
setvar VAR_0x4084, 2
setvar VAR_0x4060, 3
clearflag FLAG_SPECIAL_FLAG_0x4000
@@ -248,11 +248,11 @@ Route101_EventScript_1EBE16:: @ 81EBE16
end
Route101_EventScript_1EBE85:: @ 81EBE85
- setflag FLAG_0x2D2
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
return
Route101_EventScript_1EBE89:: @ 81EBE89
- setflag FLAG_0x2F8
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
return
Route101_Movement_1EBE8D: @ 81EBE8D
diff --git a/data/maps/Route102/events.inc b/data/maps/Route102/events.inc
index 1c660cda4..b2299feea 100644
--- a/data/maps/Route102/events.inc
+++ b/data/maps/Route102/events.inc
@@ -4,7 +4,7 @@ Route102_EventObjects: @ 8527FD8
object_event 3, EVENT_OBJ_GFX_BUG_CATCHER, 0, 25, 15, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 2, Route102_EventScript_1EC1B3, 0
object_event 4, EVENT_OBJ_GFX_LASS, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route102_EventScript_1EC1CA, 0
object_event 5, EVENT_OBJ_GFX_BOY_1, 0, 37, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route102_EventScript_1EC0FC, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route102_EventScript_290CD8, 1000
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route102_EventScript_290CD8, FLAG_ITEM_ROUTE_102_POTION
object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 24, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 2, BerryTreeScript, 0
object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 25, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 1, BerryTreeScript, 0
object_event 9, EVENT_OBJ_GFX_YOUNGSTER, 0, 19, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 3, Route102_EventScript_1EC1E1, 0
diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc
index d25794242..6eb35c32f 100644
--- a/data/maps/Route102/scripts.inc
+++ b/data/maps/Route102/scripts.inc
@@ -2,23 +2,23 @@ Route102_MapScripts:: @ 81EC0E0
.byte 0
Route102_EventScript_1EC0E1:: @ 81EC0E1
- msgbox Route102_Text_1EC2C0, 2
+ msgbox Route102_Text_1EC2C0, MSGBOX_NPC
end
Route102_EventScript_1EC0EA:: @ 81EC0EA
- msgbox Route102_Text_1EC35B, 3
+ msgbox Route102_Text_1EC35B, MSGBOX_SIGN
end
Route102_EventScript_1EC0F3:: @ 81EC0F3
- msgbox Route102_Text_1EC373, 3
+ msgbox Route102_Text_1EC373, MSGBOX_SIGN
end
Route102_EventScript_1EC0FC:: @ 81EC0FC
- msgbox Route102_Text_1EC32E, 2
+ msgbox Route102_Text_1EC32E, MSGBOX_NPC
end
Route102_EventScript_1EC105:: @ 81EC105
- trainerbattle 2, TRAINER_CALVIN_1, 0, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146
+ 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
@@ -26,7 +26,7 @@ Route102_EventScript_1EC105:: @ 81EC105
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq Route102_EventScript_1EC170
- msgbox Route102_Text_2945AC, 4
+ msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
release
end
@@ -39,48 +39,42 @@ Route102_EventScript_1EC146:: @ 81EC146
end
Route102_EventScript_1EC157:: @ 81EC157
- msgbox Route102_Text_294668, 4
- setvar VAR_0x8004, 318
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 318
- callstd 8
+ msgbox Route102_Text_294668, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CALVIN_1
release
end
Route102_EventScript_1EC170:: @ 81EC170
checkflag FLAG_HAS_MATCH_CALL
goto_eq Route102_EventScript_1EC183
- msgbox Route102_Text_2945AC, 4
+ msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
release
end
Route102_EventScript_1EC183:: @ 81EC183
- msgbox Route102_Text_2945EB, 4
- setvar VAR_0x8004, 318
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 318
- callstd 8
+ msgbox Route102_Text_2945EB, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CALVIN_1
release
end
Route102_EventScript_1EC19C:: @ 81EC19C
- trainerbattle 5, TRAINER_CALVIN_1, 0, Route102_Text_2946AE, Route102_Text_29470C
- msgbox Route102_Text_29473C, 6
+ trainerbattle_rematch TRAINER_CALVIN_1, Route102_Text_2946AE, Route102_Text_29470C
+ msgbox Route102_Text_29473C, MSGBOX_AUTOCLOSE
end
Route102_EventScript_1EC1B3:: @ 81EC1B3
- trainerbattle 0, TRAINER_RICK, 0, Route102_Text_29480C, Route102_Text_294847
- msgbox Route102_Text_294859, 6
+ trainerbattle_single TRAINER_RICK, Route102_Text_29480C, Route102_Text_294847
+ msgbox Route102_Text_294859, MSGBOX_AUTOCLOSE
end
Route102_EventScript_1EC1CA:: @ 81EC1CA
- trainerbattle 0, TRAINER_TIANA, 0, Route102_Text_29489E, Route102_Text_2948F3
- msgbox Route102_Text_294916, 6
+ trainerbattle_single TRAINER_TIANA, Route102_Text_29489E, Route102_Text_2948F3
+ msgbox Route102_Text_294916, MSGBOX_AUTOCLOSE
end
Route102_EventScript_1EC1E1:: @ 81EC1E1
- trainerbattle 0, TRAINER_ALLEN, 0, Route102_Text_294775, Route102_Text_2947AA
- msgbox Route102_Text_2947DB, 6
+ trainerbattle_single TRAINER_ALLEN, Route102_Text_294775, Route102_Text_2947AA
+ msgbox Route102_Text_2947DB, MSGBOX_AUTOCLOSE
end
PetalburgCity_Text_1EC1F8: @ 81EC1F8
diff --git a/data/maps/Route103/events.inc b/data/maps/Route103/events.inc
index f11191970..30a7292a0 100644
--- a/data/maps/Route103/events.inc
+++ b/data/maps/Route103/events.inc
@@ -1,6 +1,6 @@
Route103_EventObjects: @ 85280DC
object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 49, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route103_EventScript_1EC5E2, 0
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, 723
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL
object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 71, 11, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route103_EventScript_1EC5F4, 0
object_event 4, EVENT_OBJ_GFX_TWIN, 0, 65, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC66E, 0
object_event 5, EVENT_OBJ_GFX_TWIN, 0, 64, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC60B, 0
@@ -9,16 +9,16 @@ Route103_EventObjects: @ 85280DC
object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 59, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 6, BerryTreeScript, 0
object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 60, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 7, BerryTreeScript, 0
object_event 10, EVENT_OBJ_GFX_BOY_1, 0, 20, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, Route103_EventScript_1EC5D9, 0
- object_event 11, EVENT_OBJ_GFX_PROF_BIRCH, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route103_EventScript_272141, 898
+ object_event 11, EVENT_OBJ_GFX_PROF_BIRCH, 0, 7, 3, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route103_EventScript_272141, FLAG_HIDE_ROUTE_103_BIRCH
object_event 12, EVENT_OBJ_GFX_POKEFAN_M, 0, 56, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 5, Route103_EventScript_1EC6E8, 0
- object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 50, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_290CE5, 1114
- object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 67, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_2906BB, 18
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 72, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_2906BB, 19
+ object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 50, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_290CE5, FLAG_ITEM_ROUTE_103_GUARD_SPEC
+ object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 67, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_2906BB, FLAG_TEMP_12
+ object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 72, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_2906BB, FLAG_TEMP_13
object_event 16, EVENT_OBJ_GFX_BLACK_BELT, 0, 67, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, Route103_EventScript_1EC761, 0
object_event 17, EVENT_OBJ_GFX_MAN_5, 0, 67, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 2, Route103_EventScript_1EC74A, 0
object_event 18, EVENT_OBJ_GFX_SWIMMER_F, 0, 36, 6, 1, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 3, 1, 5, Route103_EventScript_1EC78F, 0
object_event 19, EVENT_OBJ_GFX_SWIMMER_M, 0, 36, 13, 1, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 1, 3, 1, 5, Route103_EventScript_1EC778, 0
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 64, 7, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_290CF2, 1137
+ object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 64, 7, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route103_EventScript_290CF2, FLAG_ITEM_ROUTE_103_PP_UP
Route103_MapWarps: @ 85282BC
warp_def 45, 6, 0, 0, MAP_ALTERING_CAVE
diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc
index 6674662f7..063beaca7 100644
--- a/data/maps/Route103/scripts.inc
+++ b/data/maps/Route103/scripts.inc
@@ -28,7 +28,7 @@ Route103_EventScript_1EC3C1:: @ 81EC3C1
end
Route103_EventScript_1EC3DA:: @ 81EC3DA
- msgbox Route103_Text_1EC7A6, 4
+ msgbox Route103_Text_1EC7A6, MSGBOX_DEFAULT
closemessage
playbgm MUS_GIRL_SUP, 1
applymovement 2, Route103_Movement_27259E
@@ -37,7 +37,7 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA
waitmovement 0
applymovement 2, Route103_Movement_27259A
waitmovement 0
- msgbox Route103_Text_1EC7DE, 4
+ msgbox Route103_Text_1EC7DE, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route103_EventScript_1EC48E
case 1, Route103_EventScript_1EC49E
@@ -45,7 +45,7 @@ Route103_EventScript_1EC3DA:: @ 81EC3DA
end
Route103_EventScript_1EC434:: @ 81EC434
- msgbox Route103_Text_1EC989, 4
+ msgbox Route103_Text_1EC989, MSGBOX_DEFAULT
closemessage
playbgm MUS_BOY_SUP, 1
applymovement 2, Route103_Movement_27259E
@@ -54,7 +54,7 @@ Route103_EventScript_1EC434:: @ 81EC434
waitmovement 0
applymovement 2, Route103_Movement_27259A
waitmovement 0
- msgbox Route103_Text_1EC9CE, 4
+ msgbox Route103_Text_1EC9CE, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route103_EventScript_1EC4BE
case 1, Route103_EventScript_1EC4CE
@@ -62,42 +62,42 @@ Route103_EventScript_1EC434:: @ 81EC434
end
Route103_EventScript_1EC48E:: @ 81EC48E
- trainerbattle 3, TRAINER_MAY_4, 0, Route103_Text_1EC881
+ trainerbattle_no_intro TRAINER_MAY_4, Route103_Text_1EC881
goto Route103_EventScript_1EC4EE
end
Route103_EventScript_1EC49E:: @ 81EC49E
- trainerbattle 3, TRAINER_MAY_7, 0, Route103_Text_1EC881
+ trainerbattle_no_intro TRAINER_MAY_7, Route103_Text_1EC881
goto Route103_EventScript_1EC4EE
end
Route103_EventScript_1EC4AE:: @ 81EC4AE
- trainerbattle 3, TRAINER_MAY_1, 0, Route103_Text_1EC881
+ trainerbattle_no_intro TRAINER_MAY_1, Route103_Text_1EC881
goto Route103_EventScript_1EC4EE
end
Route103_EventScript_1EC4BE:: @ 81EC4BE
- trainerbattle 3, TRAINER_BRENDAN_4, 0, Route103_Text_1ECA59
+ trainerbattle_no_intro TRAINER_BRENDAN_4, Route103_Text_1ECA59
goto Route103_EventScript_1EC4FC
end
Route103_EventScript_1EC4CE:: @ 81EC4CE
- trainerbattle 3, TRAINER_BRENDAN_7, 0, Route103_Text_1ECA59
+ trainerbattle_no_intro TRAINER_BRENDAN_7, Route103_Text_1ECA59
goto Route103_EventScript_1EC4FC
end
Route103_EventScript_1EC4DE:: @ 81EC4DE
- trainerbattle 3, TRAINER_BRENDAN_1, 0, Route103_Text_1ECA59
+ trainerbattle_no_intro TRAINER_BRENDAN_1, Route103_Text_1ECA59
goto Route103_EventScript_1EC4FC
end
Route103_EventScript_1EC4EE:: @ 81EC4EE
- msgbox Route103_Text_1EC8AE, 4
+ msgbox Route103_Text_1EC8AE, MSGBOX_DEFAULT
goto Route103_EventScript_1EC50A
end
Route103_EventScript_1EC4FC:: @ 81EC4FC
- msgbox Route103_Text_1ECA79, 4
+ msgbox Route103_Text_1ECA79, MSGBOX_DEFAULT
goto Route103_EventScript_1EC50A
end
@@ -142,10 +142,10 @@ Route103_EventScript_1EC585:: @ 81EC585
Route103_EventScript_1EC5A2:: @ 81EC5A2
removeobject 2
setvar VAR_0x4084, 4
- clearflag FLAG_0x379
+ clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL
setflag FLAG_0x082
setvar VAR_0x40C7, 1
- clearflag FLAG_0x3D3
+ clearflag FLAG_HIDE_OLDALE_TOWN_RIVAL
savebgm MUS_DUMMY
fadedefaultbgm
releaseall
@@ -191,114 +191,105 @@ Route103_Movement_1EC5D6: @ 81EC5D6
step_end
Route103_EventScript_1EC5D9:: @ 81EC5D9
- msgbox Route103_Text_1ECB73, 2
+ msgbox Route103_Text_1ECB73, MSGBOX_NPC
end
Route103_EventScript_1EC5E2:: @ 81EC5E2
- msgbox Route103_Text_1ECBB5, 2
+ msgbox Route103_Text_1ECBB5, MSGBOX_NPC
end
Route103_EventScript_1EC5EB:: @ 81EC5EB
- msgbox Route103_Text_1ECC1A, 3
+ msgbox Route103_Text_1ECC1A, MSGBOX_SIGN
end
Route103_EventScript_1EC5F4:: @ 81EC5F4
- trainerbattle 0, TRAINER_DAISY, 0, Route103_Text_29495A, Route103_Text_29498F
- msgbox Route103_Text_2949B4, 6
+ trainerbattle_single TRAINER_DAISY, Route103_Text_29495A, Route103_Text_29498F
+ msgbox Route103_Text_2949B4, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC60B:: @ 81EC60B
- trainerbattle 6, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A
+ 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
- msgbox Route103_Text_294A52, 6
+ msgbox Route103_Text_294A52, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC63A:: @ 81EC63A
- msgbox Route103_Text_294B8A, 4
- setvar VAR_0x8004, 481
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 481
- callstd 8
+ msgbox Route103_Text_294B8A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_AMY_AND_LIV_1
release
end
Route103_EventScript_1EC653:: @ 81EC653
- trainerbattle 7, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294C29, Route103_Text_294C6D, Route103_Text_294CEF
- msgbox Route103_Text_294C93, 6
+ trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_294C29, Route103_Text_294C6D, Route103_Text_294CEF
+ msgbox Route103_Text_294C93, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC66E:: @ 81EC66E
- trainerbattle 6, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D
+ 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
- msgbox Route103_Text_294B40, 6
+ msgbox Route103_Text_294B40, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC69D:: @ 81EC69D
- msgbox Route103_Text_294B8A, 4
- setvar VAR_0x8004, 481
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 481
- callstd 8
+ msgbox Route103_Text_294B8A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_AMY_AND_LIV_1
release
end
Route103_EventScript_1EC6B6:: @ 81EC6B6
- trainerbattle 7, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294D3E, Route103_Text_294D63, Route103_Text_294DDB
- msgbox Route103_Text_294D89, 6
+ trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_294D3E, Route103_Text_294D63, Route103_Text_294DDB
+ msgbox Route103_Text_294D89, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC6D1:: @ 81EC6D1
- trainerbattle 0, TRAINER_ANDREW, 0, Route103_Text_294E34, Route103_Text_294E92
- msgbox Route103_Text_294EBB, 6
+ trainerbattle_single TRAINER_ANDREW, Route103_Text_294E34, Route103_Text_294E92
+ msgbox Route103_Text_294EBB, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC6E8:: @ 81EC6E8
- trainerbattle 2, TRAINER_MIGUEL_1, 0, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714
+ 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
- msgbox Route103_Text_294F42, 4
+ msgbox Route103_Text_294F42, MSGBOX_DEFAULT
release
end
Route103_EventScript_1EC714:: @ 81EC714
special sub_80B4808
waitmovement 0
- msgbox Route103_Text_294F7E, 4
- setvar VAR_0x8004, 293
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 293
- callstd 8
+ msgbox Route103_Text_294F7E, MSGBOX_DEFAULT
+ register_matchcall TRAINER_MIGUEL_1
release
end
Route103_EventScript_1EC733:: @ 81EC733
- trainerbattle 5, TRAINER_MIGUEL_1, 0, Route103_Text_294FC3, Route103_Text_295006
- msgbox Route103_Text_29501E, 6
+ trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_294FC3, Route103_Text_295006
+ msgbox Route103_Text_29501E, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC74A:: @ 81EC74A
- trainerbattle 0, TRAINER_MARCOS, 0, Route103_Text_295206, Route103_Text_29522B
- msgbox Route103_Text_295246, 6
+ trainerbattle_single TRAINER_MARCOS, Route103_Text_295206, Route103_Text_29522B
+ msgbox Route103_Text_295246, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC761:: @ 81EC761
- trainerbattle 0, TRAINER_RHETT, 0, Route103_Text_295199, Route103_Text_2951C6
- msgbox Route103_Text_2951DE, 6
+ trainerbattle_single TRAINER_RHETT, Route103_Text_295199, Route103_Text_2951C6
+ msgbox Route103_Text_2951DE, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC778:: @ 81EC778
- trainerbattle 0, TRAINER_PETE, 0, Route103_Text_295063, Route103_Text_295093
- msgbox Route103_Text_2950AA, 6
+ trainerbattle_single TRAINER_PETE, Route103_Text_295063, Route103_Text_295093
+ msgbox Route103_Text_2950AA, MSGBOX_AUTOCLOSE
end
Route103_EventScript_1EC78F:: @ 81EC78F
- trainerbattle 0, TRAINER_ISABELLE, 0, Route103_Text_295116, Route103_Text_295146
- msgbox Route103_Text_29514D, 6
+ trainerbattle_single TRAINER_ISABELLE, Route103_Text_295116, Route103_Text_295146
+ msgbox Route103_Text_29514D, MSGBOX_AUTOCLOSE
end
Route103_Text_1EC7A6: @ 81EC7A6
diff --git a/data/maps/Route104/events.inc b/data/maps/Route104/events.inc
index 94642fbba..889ef3595 100644
--- a/data/maps/Route104/events.inc
+++ b/data/maps/Route104/events.inc
@@ -5,8 +5,8 @@ Route104_EventObjects: @ 85282E4
object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 27, 63, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, Route104_EventScript_1ED045, 0
object_event 5, EVENT_OBJ_GFX_WOMAN_2, 0, 30, 50, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route104_EventScript_1ED04E, 0
object_event 6, EVENT_OBJ_GFX_GIRL_3, 0, 28, 74, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route104_EventScript_1ED090, 0
- object_event 7, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 12, 54, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 742
- object_event 8, EVENT_OBJ_GFX_EXPERT_M, 0, 12, 51, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 738
+ object_event 7, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 12, 54, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
+ object_event 8, EVENT_OBJ_GFX_EXPERT_M, 0, 12, 51, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_104_MR_BRINEY
object_event 9, EVENT_OBJ_GFX_FISHERMAN, 0, 29, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route104_EventScript_1ED35F, 0
object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 34, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 8, BerryTreeScript, 0
object_event 11, EVENT_OBJ_GFX_BERRY_TREE, 0, 35, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 9, BerryTreeScript, 0
@@ -19,20 +19,20 @@ Route104_EventObjects: @ 85282E4
object_event 18, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 4, BerryTreeScript, 0
object_event 19, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 24, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 75, BerryTreeScript, 0
object_event 20, EVENT_OBJ_GFX_BERRY_TREE, 0, 3, 25, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 76, BerryTreeScript, 0
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 39, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route104_EventScript_290CFF, 1002
- object_event 22, EVENT_OBJ_GFX_WOMAN_5, 0, 8, 19, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route104_EventScript_1ECFCD, 906
+ object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 39, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route104_EventScript_290CFF, FLAG_ITEM_ROUTE_104_PP_UP
+ object_event 22, EVENT_OBJ_GFX_WOMAN_5, 0, 8, 19, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route104_EventScript_1ECFCD, FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
object_event 23, EVENT_OBJ_GFX_TWIN, 0, 27, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route104_EventScript_1ED597, 0
object_event 24, EVENT_OBJ_GFX_TWIN, 0, 28, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route104_EventScript_1ED5B6, 0
object_event 25, EVENT_OBJ_GFX_RICH_BOY, 0, 21, 25, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route104_EventScript_1ED43B, 0
object_event 26, EVENT_OBJ_GFX_WOMAN_2, 0, 11, 44, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route104_EventScript_1ED4E9, 0
- object_event 27, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D0C, 1057
+ object_event 27, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D0C, FLAG_ITEM_ROUTE_104_POKE_BALL
object_event 28, EVENT_OBJ_GFX_YOUNGSTER, 0, 18, 67, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 5, 6, 1, 2, Route104_EventScript_1ED376, 0
- object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 37, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D19, 1115
- object_event 30, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 35, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_2906BB, 17
- object_event 31, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D26, 1135
+ object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 37, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D19, FLAG_ITEM_ROUTE_104_X_ACCURACY
+ object_event 30, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 35, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_2906BB, FLAG_TEMP_11
+ object_event 31, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D26, FLAG_ITEM_ROUTE_104_POTION
object_event 32, EVENT_OBJ_GFX_BOY_2, 0, 5, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ED057, 0
object_event 33, EVENT_OBJ_GFX_FISHERMAN, 0, 15, 59, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, Route104_EventScript_1ED5D5, 0
- object_event 34, EVENT_OBJ_GFX_HIPSTER, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, 719
+ object_event 34, EVENT_OBJ_GFX_HIPSTER, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL
Route104_MapWarps: @ 8528614
warp_def 17, 50, 0, 0, MAP_ROUTE104_MR_BRINEYS_HOUSE
@@ -53,11 +53,11 @@ Route104_MapBGEvents: @ 8528664
bg_event 23, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_1ED02A
bg_event 7, 20, 0, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_1ED033
bg_event 17, 23, 3, BG_EVENT_PLAYER_FACING_ANY, Route104_EventScript_1ED03C
- bg_hidden_item_event 7, 6, 3, ITEM_SUPER_POTION, 44
- bg_hidden_item_event 3, 9, 3, ITEM_POKE_BALL, 62
- bg_hidden_item_event 14, 55, 3, ITEM_POTION, 37
- bg_hidden_item_event 16, 72, 3, ITEM_ANTIDOTE, 85
- bg_hidden_item_event 16, 64, 3, ITEM_HEART_SCALE, 88
+ bg_hidden_item_event 7, 6, 3, ITEM_SUPER_POTION, FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION
+ bg_hidden_item_event 3, 9, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL
+ bg_hidden_item_event 14, 55, 3, ITEM_POTION, FLAG_HIDDEN_ITEM_ROUTE_104_POTION
+ bg_hidden_item_event 16, 72, 3, ITEM_ANTIDOTE, FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE
+ bg_hidden_item_event 16, 64, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE
Route104_MapEvents:: @ 85286DC
map_events Route104_EventObjects, Route104_MapWarps, Route104_MapCoordEvents, Route104_MapBGEvents
diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc
index 9b45844f0..fcef181eb 100644
--- a/data/maps/Route104/scripts.inc
+++ b/data/maps/Route104/scripts.inc
@@ -23,11 +23,11 @@ Route104_EventScript_1ECC5E:: @ 81ECC5E
goto_if 0, Route104_EventScript_1ECC74
checkflag FLAG_BADGE03_GET
goto_if 0, Route104_EventScript_1ECC74
- clearflag FLAG_0x38A
+ clearflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
return
Route104_EventScript_1ECC74:: @ 81ECC74
- setflag FLAG_0x38A
+ setflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
return
Route104_EventScript_1ECC78:: @ 81ECC78
@@ -52,14 +52,14 @@ Route104_EventScript_1ECC9E:: @ 81ECC9E
Route104_EventScript_1ECCB3:: @ 81ECCB3
lockall
- setflag FLAG_0x32E
+ setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
setvar VAR_0x405A, 8
setvar VAR_0x4063, 2
applymovement 255, Route104_Movement_2725A6
waitmovement 0
delay 10
addobject 34
- clearflag FLAG_0x2CF
+ clearflag FLAG_HIDE_ROUTE_104_RIVAL
applymovement 255, Route104_Movement_1ECF86
waitmovement 0
applymovement 34, Route104_Movement_1ECF8A
@@ -104,27 +104,27 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B
checkflag FLAG_0x07C
goto_eq Route104_EventScript_1ECDD0
setflag FLAG_0x07C
- msgbox Route104_Text_1EDBFF, 4
+ msgbox Route104_Text_1EDBFF, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route104_Text_1EDC8F, 4
+ msgbox Route104_Text_1EDC8F, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_0x0FD
applymovement 255, Route104_Movement_1ECDCD
applymovement 34, Route104_Movement_1ECDC8
- msgbox Route104_Text_1EDCB1, 4
+ msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT
closemessage
waitmovement 0
applymovement 34, Route104_Movement_1ECDCA
waitmovement 0
moveobjectoffscreen 34
- msgbox Route104_Text_1EDCED, 5
+ msgbox Route104_Text_1EDCED, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route104_EventScript_1ECDED
- msgbox Route104_Text_1EDD2A, 4
+ msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT
call Route104_EventScript_1ECE31
releaseall
end
@@ -144,15 +144,15 @@ Route104_Movement_1ECDCD: @ 81ECDCD
step_end
Route104_EventScript_1ECDD0:: @ 81ECDD0
- msgbox Route104_Text_1EDD9F, 5
+ msgbox Route104_Text_1EDD9F, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route104_EventScript_1ECDED
- msgbox Route104_Text_1EDD2A, 4
+ msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT
releaseall
end
Route104_EventScript_1ECDED:: @ 81ECDED
- msgbox Route104_Text_1EDDDB, 4
+ msgbox Route104_Text_1EDDDB, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route104_EventScript_1ECE36
case 1, Route104_EventScript_1ECE49
@@ -160,7 +160,7 @@ Route104_EventScript_1ECDED:: @ 81ECDED
end
Route104_EventScript_1ECE1C:: @ 81ECE1C
- msgbox Route104_Text_1EDE3E, 4
+ msgbox Route104_Text_1EDE3E, MSGBOX_DEFAULT
compare VAR_0x8008, 0
call_if 1, Route104_EventScript_1ECE31
releaseall
@@ -172,19 +172,19 @@ Route104_EventScript_1ECE31:: @ 81ECE31
return
Route104_EventScript_1ECE36:: @ 81ECE36
- trainerbattle 3, TRAINER_MAY_14, 0, Route104_Text_1EDE18
+ trainerbattle_no_intro TRAINER_MAY_14, Route104_Text_1EDE18
setflag FLAG_0x07D
goto Route104_EventScript_1ECE1C
end
Route104_EventScript_1ECE49:: @ 81ECE49
- trainerbattle 3, TRAINER_MAY_15, 0, Route104_Text_1EDE18
+ trainerbattle_no_intro TRAINER_MAY_15, Route104_Text_1EDE18
setflag FLAG_0x07D
goto Route104_EventScript_1ECE1C
end
Route104_EventScript_1ECE5C:: @ 81ECE5C
- trainerbattle 3, TRAINER_MAY_10, 0, Route104_Text_1EDE18
+ trainerbattle_no_intro TRAINER_MAY_10, Route104_Text_1EDE18
setflag FLAG_0x07D
goto Route104_EventScript_1ECE1C
end
@@ -195,41 +195,41 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F
checkflag FLAG_0x07C
goto_eq Route104_EventScript_1ECEEC
setflag FLAG_0x07C
- msgbox Route104_Text_1EDF04, 4
+ msgbox Route104_Text_1EDF04, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route104_Text_1EDFA0, 4
+ msgbox Route104_Text_1EDFA0, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_0x0FD
applymovement 255, Route104_Movement_1ECDCD
applymovement 34, Route104_Movement_1ECDC8
- msgbox Route104_Text_1EDFC6, 4
+ msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT
closemessage
waitmovement 0
applymovement 34, Route104_Movement_1ECDCA
waitmovement 0
moveobjectoffscreen 34
- msgbox Route104_Text_1EE009, 5
+ msgbox Route104_Text_1EE009, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route104_EventScript_1ECF09
- msgbox Route104_Text_1EE04D, 4
+ msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT
call Route104_EventScript_1ECE31
releaseall
end
Route104_EventScript_1ECEEC:: @ 81ECEEC
- msgbox Route104_Text_1EE094, 5
+ msgbox Route104_Text_1EE094, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route104_EventScript_1ECF09
- msgbox Route104_Text_1EE04D, 4
+ msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT
releaseall
end
Route104_EventScript_1ECF09:: @ 81ECF09
- msgbox Route104_Text_1EE0C7, 4
+ msgbox Route104_Text_1EE0C7, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route104_EventScript_1ECF4D
case 1, Route104_EventScript_1ECF60
@@ -237,26 +237,26 @@ Route104_EventScript_1ECF09:: @ 81ECF09
end
Route104_EventScript_1ECF38:: @ 81ECF38
- msgbox Route104_Text_1EE120, 4
+ msgbox Route104_Text_1EE120, MSGBOX_DEFAULT
compare VAR_0x8008, 0
call_if 1, Route104_EventScript_1ECE31
releaseall
end
Route104_EventScript_1ECF4D:: @ 81ECF4D
- trainerbattle 3, TRAINER_BRENDAN_10, 0, Route104_Text_1EE107
+ trainerbattle_no_intro TRAINER_BRENDAN_10, Route104_Text_1EE107
setflag FLAG_0x07D
goto Route104_EventScript_1ECF38
end
Route104_EventScript_1ECF60:: @ 81ECF60
- trainerbattle 3, TRAINER_BRENDAN_12, 0, Route104_Text_1EE107
+ trainerbattle_no_intro TRAINER_BRENDAN_12, Route104_Text_1EE107
setflag FLAG_0x07D
goto Route104_EventScript_1ECF38
end
Route104_EventScript_1ECF73:: @ 81ECF73
- trainerbattle 3, TRAINER_BRENDAN_11, 0, Route104_Text_1EE107
+ trainerbattle_no_intro TRAINER_BRENDAN_11, Route104_Text_1EE107
setflag FLAG_0x07D
goto Route104_EventScript_1ECF38
end
@@ -276,17 +276,17 @@ Route104_EventScript_1ECF8C:: @ 81ECF8C
faceplayer
checkflag FLAG_0x0F6
goto_eq Route104_EventScript_1ECFC3
- msgbox Route104_Text_2A6D86, 4
+ msgbox Route104_Text_2A6D86, MSGBOX_DEFAULT
giveitem_std ITEM_CHESTO_BERRY
compare VAR_RESULT, 0
goto_eq Route104_EventScript_272054
setflag FLAG_0x0F6
- msgbox Route104_Text_2A6E32, 4
+ msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ECFC3:: @ 81ECFC3
- msgbox Route104_Text_2A6E32, 4
+ msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT
release
end
@@ -295,7 +295,7 @@ Route104_EventScript_1ECFCD:: @ 81ECFCD
faceplayer
checkflag FLAG_0x117
goto_eq Route104_EventScript_1ECFFC
- msgbox Route104_Text_1ED96A, 4
+ msgbox Route104_Text_1ED96A, MSGBOX_DEFAULT
giveitem_std ITEM_WHITE_HERB
compare VAR_RESULT, 0
goto_eq Route104_EventScript_272054
@@ -304,44 +304,44 @@ Route104_EventScript_1ECFCD:: @ 81ECFCD
end
Route104_EventScript_1ECFFC:: @ 81ECFFC
- msgbox Route104_Text_1EDA0F, 4
+ msgbox Route104_Text_1EDA0F, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED006:: @ 81ED006
- msgbox Route104_Text_1ED5EC, 2
+ msgbox Route104_Text_1ED5EC, MSGBOX_NPC
end
Route104_EventScript_1ED00F:: @ 81ED00F
- msgbox Route104_Text_1ED662, 3
+ msgbox Route104_Text_1ED662, MSGBOX_SIGN
end
Route104_EventScript_1ED018:: @ 81ED018
- msgbox Route104_Text_1EDA8C, 3
+ msgbox Route104_Text_1EDA8C, MSGBOX_SIGN
end
Route104_EventScript_1ED021:: @ 81ED021
- msgbox Route104_Text_1EDAA1, 3
+ msgbox Route104_Text_1EDAA1, MSGBOX_SIGN
end
Route104_EventScript_1ED02A:: @ 81ED02A
- msgbox Route104_Text_1EDABC, 3
+ msgbox Route104_Text_1EDABC, MSGBOX_SIGN
end
Route104_EventScript_1ED033:: @ 81ED033
- msgbox Route104_Text_1EDAD6, 3
+ msgbox Route104_Text_1EDAD6, MSGBOX_SIGN
end
Route104_EventScript_1ED03C:: @ 81ED03C
- msgbox Route104_Text_1EDAEF, 3
+ msgbox Route104_Text_1EDAEF, MSGBOX_SIGN
end
Route104_EventScript_1ED045:: @ 81ED045
- msgbox Route104_Text_1ED6A2, 2
+ msgbox Route104_Text_1ED6A2, MSGBOX_NPC
end
Route104_EventScript_1ED04E:: @ 81ED04E
- msgbox Route104_Text_1ED735, 2
+ msgbox Route104_Text_1ED735, MSGBOX_NPC
end
Route104_EventScript_1ED057:: @ 81ED057
@@ -349,7 +349,7 @@ Route104_EventScript_1ED057:: @ 81ED057
faceplayer
checkflag FLAG_0x106
goto_eq Route104_EventScript_1ED086
- msgbox Route104_Text_1ED838, 4
+ msgbox Route104_Text_1ED838, MSGBOX_DEFAULT
giveitem_std ITEM_TM09
compare VAR_RESULT, 0
goto_eq Route104_EventScript_272054
@@ -358,12 +358,12 @@ Route104_EventScript_1ED057:: @ 81ED057
end
Route104_EventScript_1ED086:: @ 81ED086
- msgbox Route104_Text_1ED8E7, 4
+ msgbox Route104_Text_1ED8E7, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED090:: @ 81ED090
- msgbox Route104_Text_1ED7A2, 2
+ msgbox Route104_Text_1ED7A2, MSGBOX_NPC
end
Route104_EventScript_1ED099:: @ 81ED099
@@ -396,7 +396,7 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF
waitmessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route104_Text_1EE463, 4
+ msgbox Route104_Text_1EE463, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -418,13 +418,13 @@ Route104_EventScript_1ED139:: @ 81ED139
setobjectxyperm 2, 12, 8
addobject 2
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
- clearflag FLAG_0x2E4
+ clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
applymovement 2, Route104_Movement_1ED35C
waitmovement 0
addobject 4
- clearflag FLAG_0x2E7
+ clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
call Route104_EventScript_2720A8
- setflag FLAG_0x2E6
+ setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
hideobjectat 7, MAP_ROUTE104
copyvar VAR_0x4096, VAR_0x8008
resetobjectpriority 255, MAP_ROUTE104
@@ -438,12 +438,12 @@ Route104_EventScript_1ED139:: @ 81ED139
end
Route104_EventScript_1ED1B4:: @ 81ED1B4
- msgbox Route104_Text_1E9AAF, 4
+ msgbox Route104_Text_1E9AAF, MSGBOX_DEFAULT
releaseall
end
Route104_EventScript_1ED1BE:: @ 81ED1BE
- msgbox Route104_Text_1E9C1D, 4
+ msgbox Route104_Text_1E9C1D, MSGBOX_DEFAULT
releaseall
end
@@ -871,17 +871,17 @@ Route104_Movement_1ED35C: @ 81ED35C
step_end
Route104_EventScript_1ED35F:: @ 81ED35F
- trainerbattle 0, TRAINER_IVAN, 0, Route104_Text_2954BD, Route104_Text_295509
- msgbox Route104_Text_29554E, 6
+ trainerbattle_single TRAINER_IVAN, Route104_Text_2954BD, Route104_Text_295509
+ msgbox Route104_Text_29554E, MSGBOX_AUTOCLOSE
end
Route104_EventScript_1ED376:: @ 81ED376
- trainerbattle 0, TRAINER_BILLY, 0, Route104_Text_29558A, Route104_Text_2955B4
- msgbox Route104_Text_2955E8, 6
+ trainerbattle_single TRAINER_BILLY, Route104_Text_29558A, Route104_Text_2955B4
+ msgbox Route104_Text_2955E8, MSGBOX_AUTOCLOSE
end
Route104_EventScript_1ED38D:: @ 81ED38D
- trainerbattle 2, TRAINER_HALEY_1, 0, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE
+ 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
@@ -889,7 +889,7 @@ Route104_EventScript_1ED38D:: @ 81ED38D
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq Route104_EventScript_1ED3F8
- msgbox Route104_Text_295689, 4
+ msgbox Route104_Text_295689, MSGBOX_DEFAULT
release
end
@@ -902,37 +902,31 @@ Route104_EventScript_1ED3CE:: @ 81ED3CE
end
Route104_EventScript_1ED3DF:: @ 81ED3DF
- msgbox Route104_Text_29576B, 4
- setvar VAR_0x8004, 604
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 604
- callstd 8
+ msgbox Route104_Text_29576B, MSGBOX_DEFAULT
+ register_matchcall TRAINER_HALEY_1
release
end
Route104_EventScript_1ED3F8:: @ 81ED3F8
checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED40B
- msgbox Route104_Text_295689, 4
+ msgbox Route104_Text_295689, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED40B:: @ 81ED40B
- msgbox Route104_Text_2956FF, 4
- setvar VAR_0x8004, 604
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 604
- callstd 8
+ msgbox Route104_Text_2956FF, MSGBOX_DEFAULT
+ register_matchcall TRAINER_HALEY_1
release
end
Route104_EventScript_1ED424:: @ 81ED424
- trainerbattle 5, TRAINER_HALEY_1, 0, Route104_Text_2957D7, Route104_Text_2957F0
- msgbox Route104_Text_29580C, 6
+ trainerbattle_rematch TRAINER_HALEY_1, Route104_Text_2957D7, Route104_Text_2957F0
+ msgbox Route104_Text_29580C, MSGBOX_AUTOCLOSE
end
Route104_EventScript_1ED43B:: @ 81ED43B
- trainerbattle 2, TRAINER_WINSTON_1, 0, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C
+ 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
@@ -940,7 +934,7 @@ Route104_EventScript_1ED43B:: @ 81ED43B
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq Route104_EventScript_1ED4A6
- msgbox Route104_Text_2958C1, 4
+ msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
release
end
@@ -953,37 +947,31 @@ Route104_EventScript_1ED47C:: @ 81ED47C
end
Route104_EventScript_1ED48D:: @ 81ED48D
- msgbox Route104_Text_29595A, 4
- setvar VAR_0x8004, 136
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 136
- callstd 8
+ msgbox Route104_Text_29595A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_WINSTON_1
release
end
Route104_EventScript_1ED4A6:: @ 81ED4A6
checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED4B9
- msgbox Route104_Text_2958C1, 4
+ msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED4B9:: @ 81ED4B9
- msgbox Route104_Text_2958F8, 4
- setvar VAR_0x8004, 136
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 136
- callstd 8
+ msgbox Route104_Text_2958F8, MSGBOX_DEFAULT
+ register_matchcall TRAINER_WINSTON_1
release
end
Route104_EventScript_1ED4D2:: @ 81ED4D2
- trainerbattle 5, TRAINER_WINSTON_1, 0, Route104_Text_2959BC, Route104_Text_2959FC
- msgbox Route104_Text_295A1E, 6
+ trainerbattle_rematch TRAINER_WINSTON_1, Route104_Text_2959BC, Route104_Text_2959FC
+ msgbox Route104_Text_295A1E, MSGBOX_AUTOCLOSE
end
Route104_EventScript_1ED4E9:: @ 81ED4E9
- trainerbattle 2, TRAINER_CINDY_1, 0, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A
+ 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
@@ -991,7 +979,7 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq Route104_EventScript_1ED554
- msgbox Route104_Text_295AC3, 4
+ msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
release
end
@@ -1004,52 +992,46 @@ Route104_EventScript_1ED52A:: @ 81ED52A
end
Route104_EventScript_1ED53B:: @ 81ED53B
- msgbox Route104_Text_295B60, 4
- setvar VAR_0x8004, 114
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 114
- callstd 8
+ msgbox Route104_Text_295B60, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CINDY_1
release
end
Route104_EventScript_1ED554:: @ 81ED554
checkflag FLAG_HAS_MATCH_CALL
goto_eq Route104_EventScript_1ED567
- msgbox Route104_Text_295AC3, 4
+ msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED567:: @ 81ED567
- msgbox Route104_Text_295B01, 4
- setvar VAR_0x8004, 114
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 114
- callstd 8
+ msgbox Route104_Text_295B01, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CINDY_1
release
end
Route104_EventScript_1ED580:: @ 81ED580
- trainerbattle 5, TRAINER_CINDY_1, 0, Route104_Text_295BC8, Route104_Text_295BFA
- msgbox Route104_Text_295C1F, 6
+ trainerbattle_rematch TRAINER_CINDY_1, Route104_Text_295BC8, Route104_Text_295BFA
+ msgbox Route104_Text_295C1F, MSGBOX_AUTOCLOSE
end
Route104_EventScript_1ED597:: @ 81ED597
- trainerbattle 4, TRAINER_GINA_AND_MIA_1, 0, Route104_Text_2952BB, Route104_Text_2952E6, Route104_Text_295330
+ trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_2952BB, Route104_Text_2952E6, Route104_Text_295330
special GetPlayerBigGuyGirlString
- msgbox Route104_Text_2952FE, 4
+ msgbox Route104_Text_2952FE, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED5B6:: @ 81ED5B6
- trainerbattle 4, TRAINER_GINA_AND_MIA_1, 0, Route104_Text_2953AF, Route104_Text_2953E1, Route104_Text_295449
+ trainerbattle_double TRAINER_GINA_AND_MIA_1, Route104_Text_2953AF, Route104_Text_2953E1, Route104_Text_295449
special GetPlayerBigGuyGirlString
- msgbox Route104_Text_29540D, 4
+ msgbox Route104_Text_29540D, MSGBOX_DEFAULT
release
end
Route104_EventScript_1ED5D5:: @ 81ED5D5
- trainerbattle 0, TRAINER_DARIAN, 0, Route104_Text_295C5D, Route104_Text_295CC9
- msgbox Route104_Text_295CD3, 6
+ trainerbattle_single TRAINER_DARIAN, Route104_Text_295C5D, Route104_Text_295CC9
+ msgbox Route104_Text_295CD3, MSGBOX_AUTOCLOSE
end
Route104_Text_1ED5EC: @ 81ED5EC
diff --git a/data/maps/Route104_MrBrineysHouse/events.inc b/data/maps/Route104_MrBrineysHouse/events.inc
index d6422508c..daee7759a 100644
--- a/data/maps/Route104_MrBrineysHouse/events.inc
+++ b/data/maps/Route104_MrBrineysHouse/events.inc
@@ -1,6 +1,6 @@
Route104_MrBrineysHouse_EventObjects: @ 8533AD4
- object_event 1, EVENT_OBJ_GFX_EXPERT_M, 0, 5, 3, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 3, 3, 0, 0, Route104_MrBrineysHouse_EventScript_229D67, 739
- object_event 2, EVENT_OBJ_GFX_WINGULL, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 3, 3, 0, 0, Route104_MrBrineysHouse_EventScript_229E5D, 881
+ object_event 1, EVENT_OBJ_GFX_EXPERT_M, 0, 5, 3, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 3, 3, 0, 0, Route104_MrBrineysHouse_EventScript_229D67, FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ object_event 2, EVENT_OBJ_GFX_WINGULL, 0, 6, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 3, 3, 0, 0, Route104_MrBrineysHouse_EventScript_229E5D, FLAG_HIDE_BRINEYS_HOUSE_PEEKO
Route104_MrBrineysHouse_MapWarps: @ 8533B04
warp_def 5, 8, 0, 0, MAP_ROUTE104
diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc
index 1721fa4a0..077f9fab4 100644
--- a/data/maps/Route104_MrBrineysHouse/scripts.inc
+++ b/data/maps/Route104_MrBrineysHouse/scripts.inc
@@ -11,7 +11,7 @@ Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34
end
Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C
- setflag FLAG_0x32E
+ setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
return
Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50
@@ -35,8 +35,8 @@ Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67
Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A
setflag FLAG_0x093
- msgbox Route104_MrBrineysHouse_Text_229E70, 4
- msgbox Route104_MrBrineysHouse_Text_229E9B, 5
+ 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 Route104_MrBrineysHouse_EventScript_229E27
@@ -53,40 +53,40 @@ Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE
end
Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1
- msgbox Route104_MrBrineysHouse_Text_22A0AD, 5
+ msgbox Route104_MrBrineysHouse_Text_22A0AD, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route104_MrBrineysHouse_EventScript_229E13
goto Route104_MrBrineysHouse_EventScript_229E27
end
Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA
- msgbox Route104_MrBrineysHouse_Text_22A18F, 5
+ msgbox Route104_MrBrineysHouse_Text_22A18F, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route104_MrBrineysHouse_EventScript_229E13
goto Route104_MrBrineysHouse_EventScript_229E27
end
Route104_MrBrineysHouse_EventScript_229E13:: @ 8229E13
- msgbox Route104_MrBrineysHouse_Text_22A041, 4
+ msgbox Route104_MrBrineysHouse_Text_22A041, MSGBOX_DEFAULT
release
end
Route104_MrBrineysHouse_EventScript_229E1D:: @ 8229E1D
- msgbox Route104_MrBrineysHouse_Text_22A2C3, 4
+ msgbox Route104_MrBrineysHouse_Text_22A2C3, MSGBOX_DEFAULT
release
end
Route104_MrBrineysHouse_EventScript_229E27:: @ 8229E27
- msgbox Route104_MrBrineysHouse_Text_229FE9, 4
+ msgbox Route104_MrBrineysHouse_Text_229FE9, MSGBOX_DEFAULT
call Route104_MrBrineysHouse_EventScript_271E95
setvar VAR_0x408E, 1
- clearflag FLAG_0x2E2
- setflag FLAG_0x2E3
- setflag FLAG_0x371
+ clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
setvar VAR_0x405A, 8
setvar VAR_0x4063, 2
- setflag FLAG_0x32E
- setflag FLAG_0x2CF
+ setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
+ setflag FLAG_HIDE_ROUTE_104_RIVAL
warp MAP_ROUTE104, 255, 13, 51
waitstate
releaseall
@@ -97,7 +97,7 @@ Route104_MrBrineysHouse_EventScript_229E5D:: @ 8229E5D
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox Route104_MrBrineysHouse_Text_22A337, 4
+ msgbox Route104_MrBrineysHouse_Text_22A337, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
index 5142a1282..08b5b7389 100644
--- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
+++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
@@ -8,7 +8,7 @@ Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352
goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
checkflag FLAG_BADGE03_GET
goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
- setflag FLAG_0x001
+ setflag FLAG_TEMP_1
end
Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B
@@ -18,13 +18,13 @@ Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B
Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373
lock
faceplayer
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3E4
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, MSGBOX_DEFAULT
checkflag FLAG_0x07F
goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3B2
setflag FLAG_0x07F
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, 5
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2
compare VAR_RESULT, 0
@@ -33,7 +33,7 @@ Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373
end
Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2
- msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, 5
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2
compare VAR_RESULT, 0
@@ -42,18 +42,18 @@ Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2
end
Route104_PrettyPetalFlowerShop_EventScript_22A3D2:: @ 822A3D2
- msgbox Route104_PrettyPetalFlowerShop_Text_2A775B, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A775B, MSGBOX_DEFAULT
return
Route104_PrettyPetalFlowerShop_EventScript_22A3DB:: @ 822A3DB
- msgbox Route104_PrettyPetalFlowerShop_Text_2A78DF, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A78DF, MSGBOX_DEFAULT
return
Route104_PrettyPetalFlowerShop_EventScript_22A3E4:: @ 822A3E4
message gUnknown_08272A52
waitmessage
pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_22A3FC
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -74,14 +74,14 @@ Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C
faceplayer
checkflag FLAG_0x05E
goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A421
- msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT
release
end
Route104_PrettyPetalFlowerShop_EventScript_22A421:: @ 822A421
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, MSGBOX_DEFAULT
giveitem_std ITEM_WAILMER_PAIL
- msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT
setflag FLAG_0x05E
release
end
@@ -92,19 +92,19 @@ Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442
dodailyevents
checkflag FLAG_0x930
goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A482
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, 4
+ 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
setflag FLAG_0x930
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT
release
end
Route104_PrettyPetalFlowerShop_EventScript_22A482:: @ 822A482
- msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, 4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route105/events.inc b/data/maps/Route105/events.inc
index d11bb8cab..e22aa668c 100644
--- a/data/maps/Route105/events.inc
+++ b/data/maps/Route105/events.inc
@@ -3,7 +3,7 @@ Route105_EventObjects: @ 85286F0
object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 27, 36, 1, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 7, 0, 1, 3, Route105_EventScript_1EE278, 0
object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 8, 45, 1, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 0, 7, 1, 3, Route105_EventScript_1EE28F, 0
object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 19, 9, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 5, 1, 3, Route105_EventScript_1EE2A6, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 73, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route105_EventScript_290D33, 1003
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 73, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route105_EventScript_290D33, FLAG_ITEM_ROUTE_105_IRON
object_event 6, EVENT_OBJ_GFX_HIKER, 0, 17, 48, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 0, 7, 1, 3, Route105_EventScript_1EE24A, 0
object_event 7, EVENT_OBJ_GFX_MAN_5, 0, 4, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 2, 1, 2, Route105_EventScript_1EE2BD, 0
object_event 8, EVENT_OBJ_GFX_HIKER, 0, 4, 58, 3, MOVEMENT_TYPE_FACE_UP, 0, 2, 1, 4, Route105_EventScript_1EE2D4, 0
@@ -12,8 +12,8 @@ Route105_MapWarps: @ 85287B0
warp_def 9, 20, 0, 0, MAP_ISLAND_CAVE
Route105_MapBGEvents: @ 85287B8
- bg_hidden_item_event 15, 68, 3, ITEM_HEART_SCALE, 89
- bg_hidden_item_event 5, 56, 3, ITEM_BIG_PEARL, 111
+ bg_hidden_item_event 15, 68, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE
+ bg_hidden_item_event 5, 56, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL
Route105_MapEvents:: @ 85287D0
map_events Route105_EventObjects, Route105_MapWarps, 0x0, Route105_MapBGEvents
diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc
index 3cb6d9ae6..18fe07cbe 100644
--- a/data/maps/Route105/scripts.inc
+++ b/data/maps/Route105/scripts.inc
@@ -32,58 +32,55 @@ Route105_MapScript2_1EE240: @ 81EE240
.2byte 0
Route105_EventScript_1EE24A:: @ 81EE24A
- trainerbattle 0, TRAINER_FOSTER, 0, Route105_Text_295D0F, Route105_Text_295D62
- msgbox Route105_Text_295DAB, 6
+ trainerbattle_single TRAINER_FOSTER, Route105_Text_295D0F, Route105_Text_295D62
+ msgbox Route105_Text_295DAB, MSGBOX_AUTOCLOSE
end
Route105_EventScript_1EE261:: @ 81EE261
- trainerbattle 0, TRAINER_LUIS, 0, Route105_Text_295DF5, Route105_Text_295E66
- msgbox Route105_Text_295E72, 6
+ trainerbattle_single TRAINER_LUIS, Route105_Text_295DF5, Route105_Text_295E66
+ msgbox Route105_Text_295E72, MSGBOX_AUTOCLOSE
end
Route105_EventScript_1EE278:: @ 81EE278
- trainerbattle 0, TRAINER_DOMINIK, 0, Route105_Text_295EB7, Route105_Text_295EEA
- msgbox Route105_Text_295F08, 6
+ trainerbattle_single TRAINER_DOMINIK, Route105_Text_295EB7, Route105_Text_295EEA
+ msgbox Route105_Text_295F08, MSGBOX_AUTOCLOSE
end
Route105_EventScript_1EE28F:: @ 81EE28F
- trainerbattle 0, TRAINER_BEVERLY, 0, Route105_Text_295F5C, Route105_Text_295FA0
- msgbox Route105_Text_295FAE, 6
+ trainerbattle_single TRAINER_BEVERLY, Route105_Text_295F5C, Route105_Text_295FA0
+ msgbox Route105_Text_295FAE, MSGBOX_AUTOCLOSE
end
Route105_EventScript_1EE2A6:: @ 81EE2A6
- trainerbattle 0, TRAINER_IMANI, 0, Route105_Text_296025, Route105_Text_296059
- msgbox Route105_Text_296076, 6
+ trainerbattle_single TRAINER_IMANI, Route105_Text_296025, Route105_Text_296059
+ msgbox Route105_Text_296076, MSGBOX_AUTOCLOSE
end
Route105_EventScript_1EE2BD:: @ 81EE2BD
- trainerbattle 0, TRAINER_JOSUE, 0, Route105_Text_29626F, Route105_Text_2962CB
- msgbox Route105_Text_2962EC, 6
+ trainerbattle_single TRAINER_JOSUE, Route105_Text_29626F, Route105_Text_2962CB
+ msgbox Route105_Text_2962EC, MSGBOX_AUTOCLOSE
end
Route105_EventScript_1EE2D4:: @ 81EE2D4
- trainerbattle 2, TRAINER_ANDRES_1, 0, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300
+ 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
- msgbox Route105_Text_2960FA, 4
+ msgbox Route105_Text_2960FA, MSGBOX_DEFAULT
release
end
Route105_EventScript_1EE300:: @ 81EE300
special sub_80B4808
waitmovement 0
- msgbox Route105_Text_296159, 4
- setvar VAR_0x8004, 737
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 737
- callstd 8
+ msgbox Route105_Text_296159, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ANDRES_1
release
end
Route105_EventScript_1EE31F:: @ 81EE31F
- trainerbattle 5, TRAINER_ANDRES_1, 0, Route105_Text_29619E, Route105_Text_2961DD
- msgbox Route105_Text_2961FE, 6
+ trainerbattle_rematch TRAINER_ANDRES_1, Route105_Text_29619E, Route105_Text_2961DD
+ msgbox Route105_Text_2961FE, MSGBOX_AUTOCLOSE
end
Route104_Text_1EE336: @ 81EE336
diff --git a/data/maps/Route106/events.inc b/data/maps/Route106/events.inc
index 11541f2bf..9ff0f41dd 100644
--- a/data/maps/Route106/events.inc
+++ b/data/maps/Route106/events.inc
@@ -3,15 +3,15 @@ Route106_EventObjects: @ 85287E4
object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 29, 10, 1, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route106_EventScript_1EE4AA, 0
object_event 3, EVENT_OBJ_GFX_FISHERMAN, 0, 51, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route106_EventScript_1EE4C1, 0
object_event 4, EVENT_OBJ_GFX_FISHERMAN, 0, 65, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route106_EventScript_1EE523, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route106_EventScript_290D40, 1004
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route106_EventScript_290D40, FLAG_ITEM_ROUTE_106_PROTEIN
Route106_MapWarps: @ 852885C
warp_def 48, 16, 0, 0, MAP_GRANITE_CAVE_1F
Route106_MapBGEvents: @ 8528864
- bg_hidden_item_event 41, 11, 3, ITEM_POKE_BALL, 63
- bg_hidden_item_event 53, 12, 0, ITEM_STARDUST, 46
- bg_hidden_item_event 68, 15, 3, ITEM_HEART_SCALE, 47
+ bg_hidden_item_event 41, 11, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL
+ bg_hidden_item_event 53, 12, 0, ITEM_STARDUST, FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST
+ bg_hidden_item_event 68, 15, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE
bg_event 59, 13, 3, BG_EVENT_PLAYER_FACING_ANY, Route106_EventScript_1EE48A
Route106_MapEvents:: @ 8528894
diff --git a/data/maps/Route106/scripts.inc b/data/maps/Route106/scripts.inc
index fdfff0587..533f65254 100644
--- a/data/maps/Route106/scripts.inc
+++ b/data/maps/Route106/scripts.inc
@@ -2,47 +2,44 @@ Route106_MapScripts:: @ 81EE489
.byte 0
Route106_EventScript_1EE48A:: @ 81EE48A
- msgbox Route106_Text_1EE53A, 3
+ msgbox Route106_Text_1EE53A, MSGBOX_SIGN
end
Route106_EventScript_1EE493:: @ 81EE493
- trainerbattle 0, TRAINER_DOUGLAS, 0, Route106_Text_2965BB, Route106_Text_2965FD
- msgbox Route106_Text_296608, 6
+ trainerbattle_single TRAINER_DOUGLAS, Route106_Text_2965BB, Route106_Text_2965FD
+ msgbox Route106_Text_296608, MSGBOX_AUTOCLOSE
end
Route106_EventScript_1EE4AA:: @ 81EE4AA
- trainerbattle 0, TRAINER_KYLA, 0, Route106_Text_296628, Route106_Text_296674
- msgbox Route106_Text_29669E, 6
+ trainerbattle_single TRAINER_KYLA, Route106_Text_296628, Route106_Text_296674
+ msgbox Route106_Text_29669E, MSGBOX_AUTOCLOSE
end
Route106_EventScript_1EE4C1:: @ 81EE4C1
- trainerbattle 2, TRAINER_ELLIOT_1, 0, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED
+ 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
- msgbox Route106_Text_29638C, 4
+ msgbox Route106_Text_29638C, MSGBOX_DEFAULT
release
end
Route106_EventScript_1EE4ED:: @ 81EE4ED
special sub_80B4808
waitmovement 0
- msgbox Route106_Text_2963E3, 4
- setvar VAR_0x8004, 339
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 339
- callstd 8
+ msgbox Route106_Text_2963E3, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ELLIOT_1
release
end
Route106_EventScript_1EE50C:: @ 81EE50C
- trainerbattle 5, TRAINER_ELLIOT_1, 0, Route106_Text_29642E, Route106_Text_296477
- msgbox Route106_Text_296493, 6
+ trainerbattle_rematch TRAINER_ELLIOT_1, Route106_Text_29642E, Route106_Text_296477
+ msgbox Route106_Text_296493, MSGBOX_AUTOCLOSE
end
Route106_EventScript_1EE523:: @ 81EE523
- trainerbattle 0, TRAINER_NED, 0, Route106_Text_2964D4, Route106_Text_296553
- msgbox Route106_Text_296588, 6
+ trainerbattle_single TRAINER_NED, Route106_Text_2964D4, Route106_Text_296553
+ msgbox Route106_Text_296588, MSGBOX_AUTOCLOSE
end
Route106_Text_1EE53A: @ 81EE53A
diff --git a/data/maps/Route107/scripts.inc b/data/maps/Route107/scripts.inc
index 2c8364592..5f840b3fb 100644
--- a/data/maps/Route107/scripts.inc
+++ b/data/maps/Route107/scripts.inc
@@ -2,57 +2,54 @@ Route107_MapScripts:: @ 81EE594
.byte 0
Route107_EventScript_1EE595:: @ 81EE595
- trainerbattle 0, TRAINER_DARRIN, 0, Route107_Text_2966E5, Route107_Text_29672F
- msgbox Route107_Text_29675B, 6
+ trainerbattle_single TRAINER_DARRIN, Route107_Text_2966E5, Route107_Text_29672F
+ msgbox Route107_Text_29675B, MSGBOX_AUTOCLOSE
end
Route107_EventScript_1EE5AC:: @ 81EE5AC
- trainerbattle 2, TRAINER_TONY_1, 0, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8
+ 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
- msgbox Route107_Text_2967FF, 4
+ msgbox Route107_Text_2967FF, MSGBOX_DEFAULT
release
end
Route107_EventScript_1EE5D8:: @ 81EE5D8
special sub_80B4808
waitmovement 0
- msgbox Route107_Text_29685A, 4
- setvar VAR_0x8004, 155
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 155
- callstd 8
+ msgbox Route107_Text_29685A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_TONY_1
release
end
Route107_EventScript_1EE5F7:: @ 81EE5F7
- trainerbattle 5, TRAINER_TONY_1, 0, Route107_Text_296897, Route107_Text_2968D5
- msgbox Route107_Text_296923, 6
+ trainerbattle_rematch TRAINER_TONY_1, Route107_Text_296897, Route107_Text_2968D5
+ msgbox Route107_Text_296923, MSGBOX_AUTOCLOSE
end
Route107_EventScript_1EE60E:: @ 81EE60E
- trainerbattle 0, TRAINER_DENISE, 0, Route107_Text_296974, Route107_Text_29699E
- msgbox Route107_Text_2969AB, 6
+ trainerbattle_single TRAINER_DENISE, Route107_Text_296974, Route107_Text_29699E
+ msgbox Route107_Text_2969AB, MSGBOX_AUTOCLOSE
end
Route107_EventScript_1EE625:: @ 81EE625
- trainerbattle 0, TRAINER_BETH, 0, Route107_Text_2969E4, Route107_Text_296A17
- msgbox Route107_Text_296A35, 6
+ trainerbattle_single TRAINER_BETH, Route107_Text_2969E4, Route107_Text_296A17
+ msgbox Route107_Text_296A35, MSGBOX_AUTOCLOSE
end
Route107_EventScript_1EE63C:: @ 81EE63C
- trainerbattle 4, TRAINER_LISA_AND_RAY, 0, Route107_Text_296A77, Route107_Text_296AA7, Route107_Text_296B1E
- msgbox Route107_Text_296ADC, 6
+ trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_296A77, Route107_Text_296AA7, Route107_Text_296B1E
+ msgbox Route107_Text_296ADC, MSGBOX_AUTOCLOSE
end
Route107_EventScript_1EE657:: @ 81EE657
- trainerbattle 4, TRAINER_LISA_AND_RAY, 0, Route107_Text_296B57, Route107_Text_296BB3, Route107_Text_296C34
- msgbox Route107_Text_296BE1, 6
+ trainerbattle_double TRAINER_LISA_AND_RAY, Route107_Text_296B57, Route107_Text_296BB3, Route107_Text_296C34
+ msgbox Route107_Text_296BE1, MSGBOX_AUTOCLOSE
end
Route107_EventScript_1EE672:: @ 81EE672
- trainerbattle 0, TRAINER_CAMRON, 0, Route107_Text_296C6F, Route107_Text_296CAD
- msgbox Route107_Text_296CC0, 6
+ trainerbattle_single TRAINER_CAMRON, Route107_Text_296C6F, Route107_Text_296CAD
+ msgbox Route107_Text_296CC0, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route108/events.inc b/data/maps/Route108/events.inc
index a92fe680d..094eb0bc7 100644
--- a/data/maps/Route108/events.inc
+++ b/data/maps/Route108/events.inc
@@ -5,13 +5,13 @@ Route108_EventObjects: @ 8528964
object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 8, 7, 1, MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT, 6, 0, 1, 3, Route108_EventScript_1EE6CF, 0
object_event 5, EVENT_OBJ_GFX_WOMAN_5, 0, 41, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 1, Route108_EventScript_1EE6E6, 0
object_event 6, EVENT_OBJ_GFX_SAILOR, 0, 43, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 1, Route108_EventScript_1EE6FD, 0
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 42, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route108_EventScript_290D4D, 1139
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 42, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route108_EventScript_290D4D, FLAG_ITEM_ROUTE_108_STAR_PIECE
Route108_MapWarps: @ 8528A0C
warp_def 29, 6, 3, 0, MAP_ABANDONED_SHIP_DECK
Route108_MapBGEvents: @ 8528A14
- bg_hidden_item_event 38, 14, 3, ITEM_RARE_CANDY, 86
+ bg_hidden_item_event 38, 14, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY
Route108_MapEvents:: @ 8528A20
map_events Route108_EventObjects, Route108_MapWarps, 0x0, Route108_MapBGEvents
diff --git a/data/maps/Route108/scripts.inc b/data/maps/Route108/scripts.inc
index 25657c5a4..73ddb031d 100644
--- a/data/maps/Route108/scripts.inc
+++ b/data/maps/Route108/scripts.inc
@@ -2,52 +2,49 @@ Route108_MapScripts:: @ 81EE689
.byte 0
Route108_EventScript_1EE68A:: @ 81EE68A
- trainerbattle 0, TRAINER_JEROME, 0, Route108_Text_296D10, Route108_Text_296D3C
- msgbox Route108_Text_296D6E, 6
+ trainerbattle_single TRAINER_JEROME, Route108_Text_296D10, Route108_Text_296D3C
+ msgbox Route108_Text_296D6E, MSGBOX_AUTOCLOSE
end
Route108_EventScript_1EE6A1:: @ 81EE6A1
- trainerbattle 0, TRAINER_MATTHEW, 0, Route108_Text_296DAF, Route108_Text_296DEA
- msgbox Route108_Text_296E03, 6
+ trainerbattle_single TRAINER_MATTHEW, Route108_Text_296DAF, Route108_Text_296DEA
+ msgbox Route108_Text_296E03, MSGBOX_AUTOCLOSE
end
Route108_EventScript_1EE6B8:: @ 81EE6B8
- trainerbattle 0, TRAINER_TARA, 0, Route108_Text_296E33, Route108_Text_296E71
- msgbox Route108_Text_296E7A, 6
+ trainerbattle_single TRAINER_TARA, Route108_Text_296E33, Route108_Text_296E71
+ msgbox Route108_Text_296E7A, MSGBOX_AUTOCLOSE
end
Route108_EventScript_1EE6CF:: @ 81EE6CF
- trainerbattle 0, TRAINER_MISSY, 0, Route108_Text_296EC7, Route108_Text_296EFC
- msgbox Route108_Text_296F2A, 6
+ trainerbattle_single TRAINER_MISSY, Route108_Text_296EC7, Route108_Text_296EFC
+ msgbox Route108_Text_296F2A, MSGBOX_AUTOCLOSE
end
Route108_EventScript_1EE6E6:: @ 81EE6E6
- trainerbattle 0, TRAINER_CAROLINA, 0, Route108_Text_297094, Route108_Text_2970D7
- msgbox Route108_Text_2970F0, 6
+ trainerbattle_single TRAINER_CAROLINA, Route108_Text_297094, Route108_Text_2970D7
+ msgbox Route108_Text_2970F0, MSGBOX_AUTOCLOSE
end
Route108_EventScript_1EE6FD:: @ 81EE6FD
- trainerbattle 2, TRAINER_CORY_1, 0, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729
+ 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
- msgbox Route108_Text_296FB0, 4
+ msgbox Route108_Text_296FB0, MSGBOX_DEFAULT
release
end
Route108_EventScript_1EE729:: @ 81EE729
special sub_80B4808
waitmovement 0
- msgbox Route108_Text_296FD8, 4
- setvar VAR_0x8004, 740
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 740
- callstd 8
+ msgbox Route108_Text_296FD8, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CORY_1
release
end
Route108_EventScript_1EE748:: @ 81EE748
- trainerbattle 5, TRAINER_CORY_1, 0, Route108_Text_297011, Route108_Text_297036
- msgbox Route108_Text_297059, 6
+ trainerbattle_rematch TRAINER_CORY_1, Route108_Text_297011, Route108_Text_297036
+ msgbox Route108_Text_297059, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route109/events.inc b/data/maps/Route109/events.inc
index e74aa5dfa..322055874 100644
--- a/data/maps/Route109/events.inc
+++ b/data/maps/Route109/events.inc
@@ -1,6 +1,6 @@
Route109_EventObjects: @ 8528A34
- object_event 1, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 21, 26, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 744
- object_event 2, EVENT_OBJ_GFX_EXPERT_M, 0, 21, 24, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route109_EventScript_1EE910, 741
+ object_event 1, EVENT_OBJ_GFX_MR_BRINEYS_BOAT, 0, 21, 26, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
+ object_event 2, EVENT_OBJ_GFX_EXPERT_M, 0, 21, 24, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route109_EventScript_1EE910, FLAG_HIDE_ROUTE_108_MR_BRINEY
object_event 3, EVENT_OBJ_GFX_SWIMMER_M, 0, 12, 36, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 5, Route109_EventScript_1EEA3D, 0
object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 25, 39, 1, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 5, Route109_EventScript_1EEA54, 0
object_event 5, EVENT_OBJ_GFX_SAILOR, 0, 15, 17, 4, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route109_EventScript_1EEA6B, 0
@@ -8,7 +8,7 @@ Route109_EventObjects: @ 8528A34
object_event 7, EVENT_OBJ_GFX_TUBER_M, 0, 19, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route109_EventScript_1EEA99, 0
object_event 8, EVENT_OBJ_GFX_TUBER_F, 0, 22, 7, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 0, 0, 1, 4, Route109_EventScript_1EEAFB, 0
object_event 9, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 11, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route109_EventScript_1EE995, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 46, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route109_EventScript_290D5A, 1005
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 46, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route109_EventScript_290D5A, FLAG_ITEM_ROUTE_109_PP_UP
object_event 11, EVENT_OBJ_GFX_TUBER_F, 0, 29, 32, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, Route109_EventScript_1EEB74, 0
object_event 12, EVENT_OBJ_GFX_TUBER_F, 0, 28, 31, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route109_EventScript_1EEB5D, 0
object_event 13, EVENT_OBJ_GFX_FISHERMAN, 0, 21, 56, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route109_EventScript_1EEB8B, 0
@@ -21,7 +21,7 @@ Route109_EventObjects: @ 8528A34
object_event 20, EVENT_OBJ_GFX_ZIGZAGOON_2, 0, 32, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_1EEA18, 0
object_event 21, EVENT_OBJ_GFX_TUBER_F, 0, 17, 13, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 1, 1, 1, 6, Route109_EventScript_1EEBEF, 0
object_event 22, EVENT_OBJ_GFX_TUBER_M, 0, 27, 7, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT, 1, 1, 1, 4, Route109_EventScript_1EEBD8, 0
- object_event 23, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_290D67, 1140
+ object_event 23, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route109_EventScript_290D67, FLAG_0x474
object_event 24, EVENT_OBJ_GFX_MAN_5, 0, 17, 56, 3, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 1, 1, 1, 3, Route109_EventScript_1EEC06, 0
Route109_MapWarps: @ 8528C74
@@ -30,12 +30,12 @@ Route109_MapWarps: @ 8528C74
Route109_MapBGEvents: @ 8528C7C
bg_event 15, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route109_EventScript_1EEA2B
bg_event 29, 10, 3, BG_EVENT_PLAYER_FACING_ANY, Route109_EventScript_1EEA34
- bg_hidden_item_event 16, 23, 3, ITEM_REVIVE, 50
- bg_hidden_item_event 33, 5, 3, ITEM_HEART_SCALE, 52
- bg_hidden_item_event 9, 10, 3, ITEM_GREAT_BALL, 51
- bg_hidden_item_event 28, 20, 3, ITEM_ETHER, 64
- bg_hidden_item_event 13, 16, 3, ITEM_HEART_SCALE, 90
- bg_hidden_item_event 8, 42, 3, ITEM_HEART_SCALE, 91
+ bg_hidden_item_event 16, 23, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE
+ bg_hidden_item_event 33, 5, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1
+ bg_hidden_item_event 9, 10, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL
+ bg_hidden_item_event 28, 20, 3, ITEM_ETHER, FLAG_HIDDEN_ITEM_ROUTE_109_ETHER
+ bg_hidden_item_event 13, 16, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2
+ bg_hidden_item_event 8, 42, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3
Route109_MapEvents:: @ 8528CDC
map_events Route109_EventObjects, Route109_MapWarps, 0x0, Route109_MapBGEvents
diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc
index 84f7b7c34..050dad358 100644
--- a/data/maps/Route109/scripts.inc
+++ b/data/maps/Route109/scripts.inc
@@ -44,16 +44,16 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5
applymovement 255, Route109_Movement_1EE900
waitmovement 0
addobject 4
- clearflag FLAG_0x2E7
+ clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
setobjectxyperm 2, 12, 8
addobject 2
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
applymovement 2, Route109_Movement_1EE90D
waitmovement 0
- clearflag FLAG_0x2E4
- setflag FLAG_0x2E8
+ clearflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
+ setflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
hideobjectat 1, MAP_ROUTE109
- msgbox Route109_Text_1E9C1D, 4
+ msgbox Route109_Text_1E9C1D, MSGBOX_DEFAULT
closemessage
copyvar VAR_0x4096, VAR_0x8008
resetobjectpriority 255, MAP_ROUTE109
@@ -279,7 +279,7 @@ Route109_EventScript_1EE910:: @ 81EE910
Route109_EventScript_1EE921:: @ 81EE921
message Route109_Text_1EEC96
- msgbox Route109_Text_1EEC96, 5
+ msgbox Route109_Text_1EEC96, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route109_EventScript_1EE981
goto Route109_EventScript_1EE972
@@ -296,29 +296,29 @@ Route109_EventScript_1EE93F:: @ 81EE93F
end
Route109_EventScript_1EE972:: @ 81EE972
- msgbox Route109_Text_1EED06, 4
+ msgbox Route109_Text_1EED06, MSGBOX_DEFAULT
closemessage
goto Route109_EventScript_1EE760
end
Route109_EventScript_1EE981:: @ 81EE981
- msgbox Route109_Text_1EED5E, 4
+ msgbox Route109_Text_1EED5E, MSGBOX_DEFAULT
release
end
Route109_EventScript_1EE98B:: @ 81EE98B
- msgbox Route109_Text_1EEE72, 4
+ msgbox Route109_Text_1EEE72, MSGBOX_DEFAULT
release
end
Route109_EventScript_1EE995:: @ 81EE995
- msgbox Route109_Text_1EEEB4, 2
+ msgbox Route109_Text_1EEEB4, MSGBOX_NPC
end
Route109_EventScript_1EE99E:: @ 81EE99E
lock
faceplayer
- msgbox Route109_Text_1EEFB0, 4
+ msgbox Route109_Text_1EEFB0, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Route109_Movement_2725A2
waitmovement 0
@@ -331,7 +331,7 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5
special GetPlayerBigGuyGirlString
checkflag FLAG_0x118
goto_eq Route109_EventScript_1EE9F2
- msgbox Route109_Text_1EEFDE, 4
+ msgbox Route109_Text_1EEFDE, MSGBOX_DEFAULT
giveitem_std ITEM_SOFT_SAND
compare VAR_RESULT, 0
goto_eq Route109_EventScript_272054
@@ -343,18 +343,18 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5
end
Route109_EventScript_1EE9F2:: @ 81EE9F2
- msgbox Route109_Text_1EEFF1, 4
+ msgbox Route109_Text_1EEFF1, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Route109_Movement_2725A2
waitmovement 0
release
end
Route109_EventScript_1EEA06:: @ 81EEA06
- msgbox Route109_Text_1EEF08, 2
+ msgbox Route109_Text_1EEF08, MSGBOX_NPC
end
Route109_EventScript_1EEA0F:: @ 81EEA0F
- msgbox Route109_Text_1EF080, 2
+ msgbox Route109_Text_1EF080, MSGBOX_NPC
end
Route109_EventScript_1EEA18:: @ 81EEA18
@@ -362,127 +362,121 @@ Route109_EventScript_1EEA18:: @ 81EEA18
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox Route109_Text_1EF173, 4
+ msgbox Route109_Text_1EF173, MSGBOX_DEFAULT
waitmoncry
release
end
Route109_EventScript_1EEA2B:: @ 81EEA2B
- msgbox Route109_Text_1EF185, 3
+ msgbox Route109_Text_1EF185, MSGBOX_SIGN
end
Route109_EventScript_1EEA34:: @ 81EEA34
- msgbox Route109_Text_1EF1D5, 3
+ msgbox Route109_Text_1EF1D5, MSGBOX_SIGN
end
Route109_EventScript_1EEA3D:: @ 81EEA3D
- trainerbattle 0, TRAINER_DAVID, 0, Route109_Text_297140, Route109_Text_29717D
- msgbox Route109_Text_297191, 6
+ trainerbattle_single TRAINER_DAVID, Route109_Text_297140, Route109_Text_29717D
+ msgbox Route109_Text_297191, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEA54:: @ 81EEA54
- trainerbattle 0, TRAINER_ALICE, 0, Route109_Text_2971D1, Route109_Text_2971FD
- msgbox Route109_Text_29720F, 6
+ trainerbattle_single TRAINER_ALICE, Route109_Text_2971D1, Route109_Text_2971FD
+ msgbox Route109_Text_29720F, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEA6B:: @ 81EEA6B
- trainerbattle 0, TRAINER_HUEY, 0, Route109_Text_297235, Route109_Text_29727B
- msgbox Route109_Text_29728C, 6
+ trainerbattle_single TRAINER_HUEY, Route109_Text_297235, Route109_Text_29727B
+ msgbox Route109_Text_29728C, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEA82:: @ 81EEA82
- trainerbattle 0, TRAINER_EDMOND, 0, Route109_Text_2972B3, Route109_Text_2972CE
- msgbox Route109_Text_2972ED, 6
+ trainerbattle_single TRAINER_EDMOND, Route109_Text_2972B3, Route109_Text_2972CE
+ msgbox Route109_Text_2972ED, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEA99:: @ 81EEA99
- trainerbattle 2, TRAINER_RICKY_1, 0, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5
+ 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
- msgbox Route109_Text_297380, 4
+ msgbox Route109_Text_297380, MSGBOX_DEFAULT
release
end
Route109_EventScript_1EEAC5:: @ 81EEAC5
special sub_80B4808
waitmovement 0
- msgbox Route109_Text_2973C1, 4
- setvar VAR_0x8004, 64
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 64
- callstd 8
+ msgbox Route109_Text_2973C1, MSGBOX_DEFAULT
+ register_matchcall TRAINER_RICKY_1
release
end
Route109_EventScript_1EEAE4:: @ 81EEAE4
- trainerbattle 5, TRAINER_RICKY_1, 0, Route109_Text_2973FF, Route109_Text_297437
- msgbox Route109_Text_297458, 6
+ trainerbattle_rematch TRAINER_RICKY_1, Route109_Text_2973FF, Route109_Text_297437
+ msgbox Route109_Text_297458, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEAFB:: @ 81EEAFB
- trainerbattle 2, TRAINER_LOLA_1, 0, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27
+ 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
- msgbox Route109_Text_2974D6, 4
+ msgbox Route109_Text_2974D6, MSGBOX_DEFAULT
release
end
Route109_EventScript_1EEB27:: @ 81EEB27
special sub_80B4808
waitmovement 0
- msgbox Route109_Text_297520, 4
- setvar VAR_0x8004, 57
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 57
- callstd 8
+ msgbox Route109_Text_297520, MSGBOX_DEFAULT
+ register_matchcall TRAINER_LOLA_1
release
end
Route109_EventScript_1EEB46:: @ 81EEB46
- trainerbattle 5, TRAINER_LOLA_1, 0, Route109_Text_297538, Route109_Text_297576
- msgbox Route109_Text_29757D, 6
+ trainerbattle_rematch TRAINER_LOLA_1, Route109_Text_297538, Route109_Text_297576
+ msgbox Route109_Text_29757D, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEB5D:: @ 81EEB5D
- trainerbattle 0, TRAINER_AUSTINA, 0, Route109_Text_2975C0, Route109_Text_297601
- msgbox Route109_Text_29762A, 6
+ trainerbattle_single TRAINER_AUSTINA, Route109_Text_2975C0, Route109_Text_297601
+ msgbox Route109_Text_29762A, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEB74:: @ 81EEB74
- trainerbattle 0, TRAINER_GWEN, 0, Route109_Text_297667, Route109_Text_297691
- msgbox Route109_Text_2976A4, 6
+ trainerbattle_single TRAINER_GWEN, Route109_Text_297667, Route109_Text_297691
+ msgbox Route109_Text_2976A4, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEB8B:: @ 81EEB8B
- trainerbattle 0, TRAINER_CARTER, 0, Route109_Text_2976C5, Route109_Text_2976FC
- msgbox Route109_Text_297715, 6
+ trainerbattle_single TRAINER_CARTER, Route109_Text_2976C5, Route109_Text_2976FC
+ msgbox Route109_Text_297715, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEBA2:: @ 81EEBA2
- trainerbattle 4, TRAINER_MEL_AND_PAUL, 0, Route109_Text_297754, Route109_Text_2977B0, Route109_Text_29781D
- msgbox Route109_Text_2977C7, 6
+ trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_297754, Route109_Text_2977B0, Route109_Text_29781D
+ msgbox Route109_Text_2977C7, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEBBD:: @ 81EEBBD
- trainerbattle 4, TRAINER_MEL_AND_PAUL, 0, Route109_Text_297872, Route109_Text_2978BD, Route109_Text_29792E
- msgbox Route109_Text_2978F1, 6
+ trainerbattle_double TRAINER_MEL_AND_PAUL, Route109_Text_297872, Route109_Text_2978BD, Route109_Text_29792E
+ msgbox Route109_Text_2978F1, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEBD8:: @ 81EEBD8
- trainerbattle 0, TRAINER_CHANDLER, 0, Route109_Text_29798A, Route109_Text_2979AE
- msgbox Route109_Text_2979BF, 6
+ trainerbattle_single TRAINER_CHANDLER, Route109_Text_29798A, Route109_Text_2979AE
+ msgbox Route109_Text_2979BF, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEBEF:: @ 81EEBEF
- trainerbattle 0, TRAINER_HAILEY, 0, Route109_Text_2979EC, Route109_Text_297A15
- msgbox Route109_Text_297A40, 6
+ trainerbattle_single TRAINER_HAILEY, Route109_Text_2979EC, Route109_Text_297A15
+ msgbox Route109_Text_297A40, MSGBOX_AUTOCLOSE
end
Route109_EventScript_1EEC06:: @ 81EEC06
- trainerbattle 0, TRAINER_ELIJAH, 0, Route109_Text_297A82, Route109_Text_297AC7
- msgbox Route109_Text_297AE5, 6
+ trainerbattle_single TRAINER_ELIJAH, Route109_Text_297A82, Route109_Text_297AC7
+ msgbox Route109_Text_297AE5, MSGBOX_AUTOCLOSE
end
DewfordTown_Text_1EEC1D: @ 81EEC1D
diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc
index e70f91ca8..323dc2bf8 100644
--- a/data/maps/Route109_SeashoreHouse/scripts.inc
+++ b/data/maps/Route109_SeashoreHouse/scripts.inc
@@ -13,20 +13,20 @@ Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE
goto_eq Route109_SeashoreHouse_EventScript_269460
checkflag FLAG_0x08D
goto_eq Route109_SeashoreHouse_EventScript_269432
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq Route109_SeashoreHouse_EventScript_269428
- msgbox Route109_SeashoreHouse_Text_269555, 4
- setflag FLAG_0x002
+ msgbox Route109_SeashoreHouse_Text_269555, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_2
release
end
Route109_SeashoreHouse_EventScript_269428:: @ 8269428
- msgbox Route109_SeashoreHouse_Text_269635, 4
+ msgbox Route109_SeashoreHouse_Text_269635, MSGBOX_DEFAULT
release
end
Route109_SeashoreHouse_EventScript_269432:: @ 8269432
- msgbox Route109_SeashoreHouse_Text_269685, 4
+ msgbox Route109_SeashoreHouse_Text_269685, MSGBOX_DEFAULT
giveitem_std ITEM_SODA_POP, 6
compare VAR_RESULT, 0
goto_eq Route109_SeashoreHouse_EventScript_269456
@@ -35,16 +35,16 @@ Route109_SeashoreHouse_EventScript_269432:: @ 8269432
end
Route109_SeashoreHouse_EventScript_269456:: @ 8269456
- msgbox Route109_SeashoreHouse_Text_26973A, 4
+ msgbox Route109_SeashoreHouse_Text_26973A, MSGBOX_DEFAULT
release
end
Route109_SeashoreHouse_EventScript_269460:: @ 8269460
showmoneybox 0, 0, 0
- msgbox Route109_SeashoreHouse_Text_26977E, 5
+ msgbox Route109_SeashoreHouse_Text_26977E, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route109_SeashoreHouse_EventScript_269484
- msgbox Route109_SeashoreHouse_Text_2697EF, 4
+ msgbox Route109_SeashoreHouse_Text_2697EF, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -58,7 +58,7 @@ Route109_SeashoreHouse_EventScript_269484:: @ 8269484
checkitemspace ITEM_SODA_POP, 1
compare VAR_RESULT, 0
goto_eq Route109_SeashoreHouse_EventScript_2694D5
- msgbox Route109_SeashoreHouse_Text_2697C8, 4
+ msgbox Route109_SeashoreHouse_Text_2697C8, MSGBOX_DEFAULT
takemoney 0x12c, 0
updatemoneybox 0, 0
nop
@@ -70,7 +70,7 @@ Route109_SeashoreHouse_EventScript_269484:: @ 8269484
end
Route109_SeashoreHouse_EventScript_2694C8:: @ 82694C8
- msgbox Route109_SeashoreHouse_Text_2697D5, 4
+ msgbox Route109_SeashoreHouse_Text_2697D5, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -78,7 +78,7 @@ Route109_SeashoreHouse_EventScript_2694C8:: @ 82694C8
end
Route109_SeashoreHouse_EventScript_2694D5:: @ 82694D5
- msgbox gUnknown_08272AD0, 4
+ msgbox gUnknown_08272AD0, MSGBOX_DEFAULT
hidemoneybox
nop
nop
@@ -86,18 +86,18 @@ Route109_SeashoreHouse_EventScript_2694D5:: @ 82694D5
end
Route109_SeashoreHouse_EventScript_2694E2:: @ 82694E2
- trainerbattle 2, TRAINER_DWAYNE, 0, Route109_SeashoreHouse_Text_269803, Route109_SeashoreHouse_Text_269867, Route109_SeashoreHouse_EventScript_269533
- msgbox Route109_SeashoreHouse_Text_26989D, 6
+ trainerbattle_single TRAINER_DWAYNE, Route109_SeashoreHouse_Text_269803, Route109_SeashoreHouse_Text_269867, Route109_SeashoreHouse_EventScript_269533
+ msgbox Route109_SeashoreHouse_Text_26989D, MSGBOX_AUTOCLOSE
end
Route109_SeashoreHouse_EventScript_2694FD:: @ 82694FD
- trainerbattle 2, TRAINER_JOHANNA, 0, Route109_SeashoreHouse_Text_2698E3, Route109_SeashoreHouse_Text_269947, Route109_SeashoreHouse_EventScript_269533
- msgbox Route109_SeashoreHouse_Text_269953, 6
+ trainerbattle_single TRAINER_JOHANNA, Route109_SeashoreHouse_Text_2698E3, Route109_SeashoreHouse_Text_269947, Route109_SeashoreHouse_EventScript_269533
+ msgbox Route109_SeashoreHouse_Text_269953, MSGBOX_AUTOCLOSE
end
Route109_SeashoreHouse_EventScript_269518:: @ 8269518
- trainerbattle 2, TRAINER_SIMON, 0, Route109_SeashoreHouse_Text_269986, Route109_SeashoreHouse_Text_2699C5, Route109_SeashoreHouse_EventScript_269533
- msgbox Route109_SeashoreHouse_Text_2699DF, 6
+ trainerbattle_single TRAINER_SIMON, Route109_SeashoreHouse_Text_269986, Route109_SeashoreHouse_Text_2699C5, Route109_SeashoreHouse_EventScript_269533
+ msgbox Route109_SeashoreHouse_Text_2699DF, MSGBOX_AUTOCLOSE
end
Route109_SeashoreHouse_EventScript_269533:: @ 8269533
diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc
index c767f91d3..221dd6f6c 100644
--- a/data/maps/Route110/events.inc
+++ b/data/maps/Route110/events.inc
@@ -17,24 +17,24 @@ Route110_EventObjects: @ 8528CF0
object_event 16, EVENT_OBJ_GFX_BERRY_TREE, 0, 5, 11, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 16, BerryTreeScript, 0
object_event 17, EVENT_OBJ_GFX_BERRY_TREE, 0, 6, 11, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 17, BerryTreeScript, 0
object_event 18, EVENT_OBJ_GFX_BERRY_TREE, 0, 7, 11, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 18, BerryTreeScript, 0
- object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 69, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_EventScript_290D81, 1007
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 47, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_EventScript_290D74, 1006
+ object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 69, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_EventScript_290D81, FLAG_ITEM_ROUTE_110_DIRE_HIT
+ object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 47, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_EventScript_290D74, FLAG_ITEM_ROUTE_109_RARE_CANDY
object_event 21, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 27, 92, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route110_EventScript_1EF3B7, 0
- object_event 22, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 7, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2AA, 900
- object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2C0, 900
- object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 9, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2D6, 900
- object_event 25, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2EC, 900
- object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 82, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 900
+ object_event 22, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 7, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2AA, FLAG_HIDE_ROUTE_110_TEAM_AQUA
+ object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2C0, FLAG_HIDE_ROUTE_110_TEAM_AQUA
+ object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 9, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2D6, FLAG_HIDE_ROUTE_110_TEAM_AQUA
+ object_event 25, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2EC, FLAG_HIDE_ROUTE_110_TEAM_AQUA
+ object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 82, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_TEAM_AQUA
object_event 27, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 21, 78, 4, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 7, 1, 1, 2, Route110_EventScript_1EF499, 0
- object_event 28, EVENT_OBJ_GFX_HIPSTER, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, 919
- object_event 29, EVENT_OBJ_GFX_GIDDY, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 922
+ object_event 28, EVENT_OBJ_GFX_HIPSTER, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1
+ object_event 29, EVENT_OBJ_GFX_GIDDY, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2
object_event 30, EVENT_OBJ_GFX_YOUNGSTER, 0, 33, 69, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route110_EventScript_1EF604, 0
object_event 31, EVENT_OBJ_GFX_POKEFAN_F, 0, 10, 76, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_EventScript_1EF5A2, 0
object_event 32, EVENT_OBJ_GFX_POKEFAN_M, 0, 7, 76, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, Route110_EventScript_1EF61C, 0
object_event 33, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 10, 39, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 6, Route110_EventScript_1EF64A, 0
object_event 34, EVENT_OBJ_GFX_MAN_5, 0, 36, 40, 3, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 1, 1, 1, 3, Route110_EventScript_1EF633, 0
- object_event 35, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 38, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route110_EventScript_290D8E, 1141
- object_event 36, EVENT_OBJ_GFX_PROF_BIRCH, 0, 9, 79, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, 837
+ object_event 35, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 38, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route110_EventScript_290D8E, FLAG_ITEM_ROUTE_110_ELIXIR
+ object_event 36, EVENT_OBJ_GFX_PROF_BIRCH, 0, 9, 79, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_BIRCH
Route110_MapWarps: @ 8529050
warp_def 35, 24, 3, 0, MAP_NEW_MAUVILLE_ENTRANCE
@@ -68,10 +68,10 @@ Route110_MapBGEvents: @ 8529110
bg_event 37, 70, 3, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_1EF380
bg_event 8, 67, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_1EF389
bg_event 32, 93, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_1EF392
- bg_hidden_item_event 35, 39, 3, ITEM_REVIVE, 54
- bg_hidden_item_event 33, 45, 3, ITEM_GREAT_BALL, 53
- bg_hidden_item_event 4, 35, 3, ITEM_POKE_BALL, 65
- bg_hidden_item_event 37, 67, 3, ITEM_FULL_HEAL, 55
+ bg_hidden_item_event 35, 39, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE
+ bg_hidden_item_event 33, 45, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL
+ bg_hidden_item_event 4, 35, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL
+ bg_hidden_item_event 37, 67, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL
bg_event 13, 16, 0, BG_EVENT_PLAYER_FACING_ANY, Route110_EventScript_1EF34A
Route110_MapEvents:: @ 85291DC
diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc
index fe07de8dc..9ff7667c5 100644
--- a/data/maps/Route110/scripts.inc
+++ b/data/maps/Route110/scripts.inc
@@ -31,7 +31,7 @@ Route110_EventScript_1EF2A1:: @ 81EF2A1
Route110_EventScript_1EF2AA:: @ 81EF2AA
lock
faceplayer
- msgbox Route110_Text_1EFB5D, 4
+ msgbox Route110_Text_1EFB5D, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
waitmovement 0
release
@@ -40,7 +40,7 @@ Route110_EventScript_1EF2AA:: @ 81EF2AA
Route110_EventScript_1EF2C0:: @ 81EF2C0
lock
faceplayer
- msgbox Route110_Text_1EFB93, 4
+ msgbox Route110_Text_1EFB93, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
waitmovement 0
release
@@ -49,7 +49,7 @@ Route110_EventScript_1EF2C0:: @ 81EF2C0
Route110_EventScript_1EF2D6:: @ 81EF2D6
lock
faceplayer
- msgbox Route110_Text_1EFBCA, 4
+ msgbox Route110_Text_1EFBCA, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
waitmovement 0
release
@@ -58,74 +58,74 @@ Route110_EventScript_1EF2D6:: @ 81EF2D6
Route110_EventScript_1EF2EC:: @ 81EF2EC
lock
faceplayer
- msgbox Route110_Text_1EFC0D, 4
+ msgbox Route110_Text_1EFC0D, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
waitmovement 0
release
end
Route110_EventScript_1EF302:: @ 81EF302
- msgbox Route110_Text_1EFFC3, 2
+ msgbox Route110_Text_1EFFC3, MSGBOX_NPC
end
Route110_EventScript_1EF30B:: @ 81EF30B
- msgbox Route110_Text_1F0006, 2
+ msgbox Route110_Text_1F0006, MSGBOX_NPC
end
Route110_EventScript_1EF314:: @ 81EF314
- msgbox Route110_Text_1F006A, 2
+ msgbox Route110_Text_1F006A, MSGBOX_NPC
end
Route110_EventScript_1EF31D:: @ 81EF31D
- msgbox Route110_Text_1F0261, 2
+ msgbox Route110_Text_1F0261, MSGBOX_NPC
end
Route110_EventScript_1EF326:: @ 81EF326
- msgbox Route110_Text_1F02CA, 2
+ msgbox Route110_Text_1F02CA, MSGBOX_NPC
end
Route110_EventScript_1EF32F:: @ 81EF32F
- msgbox Route110_Text_1F030E, 2
+ msgbox Route110_Text_1F030E, MSGBOX_NPC
end
Route110_EventScript_1EF338:: @ 81EF338
- msgbox Route110_Text_1F0390, 2
+ msgbox Route110_Text_1F0390, MSGBOX_NPC
end
Route110_EventScript_1EF341:: @ 81EF341
- msgbox Route110_Text_1F0812, 3
+ msgbox Route110_Text_1F0812, MSGBOX_SIGN
end
Route110_EventScript_1EF34A:: @ 81EF34A
- msgbox Route110_Text_1F082D, 3
+ msgbox Route110_Text_1F082D, MSGBOX_SIGN
end
Route110_EventScript_1EF353:: @ 81EF353
- msgbox Route110_Text_1F0842, 3
+ msgbox Route110_Text_1F0842, MSGBOX_SIGN
end
Route110_EventScript_1EF35C:: @ 81EF35C
- msgbox Route110_Text_1F08CD, 3
+ msgbox Route110_Text_1F08CD, MSGBOX_SIGN
end
Route110_EventScript_1EF365:: @ 81EF365
- msgbox Route110_Text_1F08E3, 3
+ msgbox Route110_Text_1F08E3, MSGBOX_SIGN
end
Route110_EventScript_1EF36E:: @ 81EF36E
- msgbox Route110_Text_1F08F3, 3
+ msgbox Route110_Text_1F08F3, MSGBOX_SIGN
end
Route110_EventScript_1EF377:: @ 81EF377
- msgbox Route110_Text_1F090D, 3
+ msgbox Route110_Text_1F090D, MSGBOX_SIGN
end
Route110_EventScript_1EF380:: @ 81EF380
- msgbox Route110_Text_1F0992, 3
+ msgbox Route110_Text_1F0992, MSGBOX_SIGN
end
Route110_EventScript_1EF389:: @ 81EF389
- msgbox Route110_Text_1F09DB, 3
+ msgbox Route110_Text_1F09DB, MSGBOX_SIGN
end
Route110_EventScript_1EF392:: @ 81EF392
@@ -133,12 +133,12 @@ Route110_EventScript_1EF392:: @ 81EF392
specialvar VAR_RESULT, GetRecordedCyclingRoadResults
compare VAR_RESULT, 0
goto_eq Route110_EventScript_1EF3AD
- msgbox Route110_Text_1F0A1E, 4
+ msgbox Route110_Text_1F0A1E, MSGBOX_DEFAULT
releaseall
end
Route110_EventScript_1EF3AD:: @ 81EF3AD
- msgbox Route110_Text_1F0A5E, 4
+ msgbox Route110_Text_1F0A5E, MSGBOX_DEFAULT
releaseall
end
@@ -150,171 +150,159 @@ Route110_EventScript_1EF3B7:: @ 81EF3B7
goto_eq Route110_EventScript_1EF3E8
compare VAR_CYCLING_CHALLENGE_STATE, 0
goto_eq Route110_EventScript_1EF3DE
- msgbox Route110_Text_1F06FB, 4
+ msgbox Route110_Text_1F06FB, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF3DE:: @ 81EF3DE
- msgbox Route110_Text_1F0661, 4
+ msgbox Route110_Text_1F0661, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF3E8:: @ 81EF3E8
- msgbox Route110_Text_1F0755, 4
+ msgbox Route110_Text_1F0755, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF3F2:: @ 81EF3F2
- trainerbattle 0, TRAINER_EDWARD, 0, Route110_Text_29802B, Route110_Text_298064
- msgbox Route110_Text_29808A, 6
+ trainerbattle_single TRAINER_EDWARD, Route110_Text_29802B, Route110_Text_298064
+ msgbox Route110_Text_29808A, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF409:: @ 81EF409
- trainerbattle 0, TRAINER_JACLYN, 0, Route110_Text_2980B9, Route110_Text_2980E5
- msgbox Route110_Text_2980F8, 6
+ trainerbattle_single TRAINER_JACLYN, Route110_Text_2980B9, Route110_Text_2980E5
+ msgbox Route110_Text_2980F8, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF420:: @ 81EF420
- trainerbattle 2, TRAINER_EDWIN_1, 0, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C
+ 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
- msgbox Route110_Text_2981B3, 4
+ msgbox Route110_Text_2981B3, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF44C:: @ 81EF44C
special sub_80B4808
waitmovement 0
- msgbox Route110_Text_298201, 4
- setvar VAR_0x8004, 512
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 512
- callstd 8
+ msgbox Route110_Text_298201, MSGBOX_DEFAULT
+ register_matchcall TRAINER_EDWIN_1
release
end
Route110_EventScript_1EF46B:: @ 81EF46B
- trainerbattle 5, TRAINER_EDWIN_1, 0, Route110_Text_298232, Route110_Text_298288
- msgbox Route110_Text_2982A2, 6
+ trainerbattle_rematch TRAINER_EDWIN_1, Route110_Text_298232, Route110_Text_298288
+ msgbox Route110_Text_2982A2, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF482:: @ 81EF482
- trainerbattle 0, TRAINER_DALE, 0, Route110_Text_2982CC, Route110_Text_2982F5
- msgbox Route110_Text_298303, 6
+ trainerbattle_single TRAINER_DALE, Route110_Text_2982CC, Route110_Text_2982F5
+ msgbox Route110_Text_298303, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF499:: @ 81EF499
- trainerbattle 0, TRAINER_JACOB, 0, Route110_Text_297B3F, Route110_Text_297B77
- msgbox Route110_Text_297B8F, 6
+ trainerbattle_single TRAINER_JACOB, Route110_Text_297B3F, Route110_Text_297B77
+ msgbox Route110_Text_297B8F, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF4B0:: @ 81EF4B0
- trainerbattle 0, TRAINER_ANTHONY, 0, Route110_Text_297BE7, Route110_Text_297C0F
- msgbox Route110_Text_297C1F, 6
+ trainerbattle_single TRAINER_ANTHONY, Route110_Text_297BE7, Route110_Text_297C0F
+ msgbox Route110_Text_297C1F, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF4C7:: @ 81EF4C7
- trainerbattle 2, TRAINER_BENJAMIN_1, 0, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3
+ 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
- msgbox Route110_Text_297CB4, 4
+ msgbox Route110_Text_297CB4, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF4F3:: @ 81EF4F3
special sub_80B4808
waitmovement 0
- msgbox Route110_Text_297CFE, 4
- setvar VAR_0x8004, 353
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 353
- callstd 8
+ msgbox Route110_Text_297CFE, MSGBOX_DEFAULT
+ register_matchcall TRAINER_BENJAMIN_1
release
end
Route110_EventScript_1EF512:: @ 81EF512
- trainerbattle 5, TRAINER_BENJAMIN_1, 0, Route110_Text_297D4B, Route110_Text_297D8E
- msgbox Route110_Text_297DB0, 6
+ trainerbattle_rematch TRAINER_BENJAMIN_1, Route110_Text_297D4B, Route110_Text_297D8E
+ msgbox Route110_Text_297DB0, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF529:: @ 81EF529
- trainerbattle 0, TRAINER_JASMINE, 0, Route110_Text_297F93, Route110_Text_297FD0
- msgbox Route110_Text_297FF1, 6
+ trainerbattle_single TRAINER_JASMINE, Route110_Text_297F93, Route110_Text_297FD0
+ msgbox Route110_Text_297FF1, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF540:: @ 81EF540
- trainerbattle 2, TRAINER_ABIGAIL_1, 0, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C
+ 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
- msgbox Route110_Text_297E88, 4
+ msgbox Route110_Text_297E88, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF56C:: @ 81EF56C
special sub_80B4808
waitmovement 0
- msgbox Route110_Text_297ECD, 4
- setvar VAR_0x8004, 358
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 358
- callstd 8
+ msgbox Route110_Text_297ECD, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ABIGAIL_1
release
end
Route110_EventScript_1EF58B:: @ 81EF58B
- trainerbattle 5, TRAINER_ABIGAIL_1, 0, Route110_Text_297F09, Route110_Text_297F37
- msgbox Route110_Text_297F58, 6
+ trainerbattle_rematch TRAINER_ABIGAIL_1, Route110_Text_297F09, Route110_Text_297F37
+ msgbox Route110_Text_297F58, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF5A2:: @ 81EF5A2
- trainerbattle 2, TRAINER_ISABEL_1, 0, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE
+ 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
- msgbox Route110_Text_2983A2, 4
+ msgbox Route110_Text_2983A2, MSGBOX_DEFAULT
release
end
Route110_EventScript_1EF5CE:: @ 81EF5CE
special sub_80B4808
waitmovement 0
- msgbox Route110_Text_2983EE, 4
- setvar VAR_0x8004, 302
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 302
- callstd 8
+ msgbox Route110_Text_2983EE, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ISABEL_1
release
end
Route110_EventScript_1EF5ED:: @ 81EF5ED
- trainerbattle 5, TRAINER_ISABEL_1, 0, Route110_Text_298466, Route110_Text_2984AF
- msgbox Route110_Text_2984C8, 6
+ trainerbattle_rematch TRAINER_ISABEL_1, Route110_Text_298466, Route110_Text_2984AF
+ msgbox Route110_Text_2984C8, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF604:: @ 81EF604
- trainerbattle 0, TRAINER_TIMMY, 0, Route110_Text_298525, Route110_Text_298559
- msgbox Route110_Text_298579, 6
+ trainerbattle_single TRAINER_TIMMY, Route110_Text_298525, Route110_Text_298559
+ msgbox Route110_Text_298579, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF61B:: @ 81EF61B
end
Route110_EventScript_1EF61C:: @ 81EF61C
- trainerbattle 0, TRAINER_KALEB, 0, Route110_Text_2986ED, Route110_Text_298735
- msgbox Route110_Text_298755, 6
+ trainerbattle_single TRAINER_KALEB, Route110_Text_2986ED, Route110_Text_298735
+ msgbox Route110_Text_298755, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF633:: @ 81EF633
- trainerbattle 0, TRAINER_JOSEPH, 0, Route110_Text_298642, Route110_Text_298686
- msgbox Route110_Text_2986A9, 6
+ trainerbattle_single TRAINER_JOSEPH, Route110_Text_298642, Route110_Text_298686
+ msgbox Route110_Text_2986A9, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF64A:: @ 81EF64A
- trainerbattle 0, TRAINER_ALYSSA, 0, Route110_Text_2985AB, Route110_Text_2985F9
- msgbox Route110_Text_298612, 6
+ trainerbattle_single TRAINER_ALYSSA, Route110_Text_2985AB, Route110_Text_2985F9
+ msgbox Route110_Text_298612, MSGBOX_AUTOCLOSE
end
Route110_EventScript_1EF661:: @ 81EF661
@@ -327,7 +315,7 @@ Route110_EventScript_1EF661:: @ 81EF661
Route110_EventScript_1EF673:: @ 81EF673
special FinishCyclingRoadChallenge
- msgbox Route110_Text_1F03FF, 4
+ msgbox Route110_Text_1F03FF, MSGBOX_DEFAULT
switch VAR_RESULT
case 10, Route110_EventScript_1EF6FD
case 9, Route110_EventScript_1EF70B
@@ -343,27 +331,27 @@ Route110_EventScript_1EF673:: @ 81EF673
end
Route110_EventScript_1EF6FD:: @ 81EF6FD
- msgbox Route110_Text_1F0431, 4
+ msgbox Route110_Text_1F0431, MSGBOX_DEFAULT
goto Route110_EventScript_1EF743
end
Route110_EventScript_1EF70B:: @ 81EF70B
- msgbox Route110_Text_1F04A4, 4
+ msgbox Route110_Text_1F04A4, MSGBOX_DEFAULT
goto Route110_EventScript_1EF743
end
Route110_EventScript_1EF719:: @ 81EF719
- msgbox Route110_Text_1F0500, 4
+ msgbox Route110_Text_1F0500, MSGBOX_DEFAULT
goto Route110_EventScript_1EF743
end
Route110_EventScript_1EF727:: @ 81EF727
- msgbox Route110_Text_1F0567, 4
+ msgbox Route110_Text_1F0567, MSGBOX_DEFAULT
goto Route110_EventScript_1EF743
end
Route110_EventScript_1EF735:: @ 81EF735
- msgbox Route110_Text_1F05CE, 4
+ msgbox Route110_Text_1F05CE, MSGBOX_DEFAULT
goto Route110_EventScript_1EF743
end
@@ -425,7 +413,7 @@ Route110_EventScript_1EF7E6:: @ 81EF7E6
return
Route110_EventScript_1EF7EB:: @ 81EF7EB
- msgbox Route110_Text_1EFC48, 4
+ msgbox Route110_Text_1EFC48, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route110_EventScript_1EF81A
case 1, Route110_EventScript_1EF82A
@@ -433,29 +421,29 @@ Route110_EventScript_1EF7EB:: @ 81EF7EB
end
Route110_EventScript_1EF81A:: @ 81EF81A
- trainerbattle 3, TRAINER_MAY_5, 0, Route110_Text_1EFCCB
+ trainerbattle_no_intro TRAINER_MAY_5, Route110_Text_1EFCCB
goto Route110_EventScript_1EF84A
end
Route110_EventScript_1EF82A:: @ 81EF82A
- trainerbattle 3, TRAINER_MAY_8, 0, Route110_Text_1EFCCB
+ trainerbattle_no_intro TRAINER_MAY_8, Route110_Text_1EFCCB
goto Route110_EventScript_1EF84A
end
Route110_EventScript_1EF83A:: @ 81EF83A
- trainerbattle 3, TRAINER_MAY_2, 0, Route110_Text_1EFCCB
+ trainerbattle_no_intro TRAINER_MAY_2, Route110_Text_1EFCCB
goto Route110_EventScript_1EF84A
end
Route110_EventScript_1EF84A:: @ 81EF84A
- msgbox Route110_Text_1EFCF1, 4
+ msgbox Route110_Text_1EFCF1, MSGBOX_DEFAULT
call Route110_EventScript_1EF8DF
- msgbox Route110_Text_1EFD58, 4
+ msgbox Route110_Text_1EFD58, MSGBOX_DEFAULT
goto Route110_EventScript_1EF8EC
end
Route110_EventScript_1EF865:: @ 81EF865
- msgbox Route110_Text_1EFE3F, 4
+ msgbox Route110_Text_1EFE3F, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route110_EventScript_1EF894
case 1, Route110_EventScript_1EF8A4
@@ -463,24 +451,24 @@ Route110_EventScript_1EF865:: @ 81EF865
end
Route110_EventScript_1EF894:: @ 81EF894
- trainerbattle 3, TRAINER_BRENDAN_5, 0, Route110_Text_1EFEB4
+ trainerbattle_no_intro TRAINER_BRENDAN_5, Route110_Text_1EFEB4
goto Route110_EventScript_1EF8C4
end
Route110_EventScript_1EF8A4:: @ 81EF8A4
- trainerbattle 3, TRAINER_BRENDAN_8, 0, Route110_Text_1EFEB4
+ trainerbattle_no_intro TRAINER_BRENDAN_8, Route110_Text_1EFEB4
goto Route110_EventScript_1EF8C4
end
Route110_EventScript_1EF8B4:: @ 81EF8B4
- trainerbattle 3, TRAINER_BRENDAN_2, 0, Route110_Text_1EFEB4
+ trainerbattle_no_intro TRAINER_BRENDAN_2, Route110_Text_1EFEB4
goto Route110_EventScript_1EF8C4
end
Route110_EventScript_1EF8C4:: @ 81EF8C4
- msgbox Route110_Text_1EFECD, 4
+ msgbox Route110_Text_1EFECD, MSGBOX_DEFAULT
call Route110_EventScript_1EF8DF
- msgbox Route110_Text_1EFF1C, 4
+ msgbox Route110_Text_1EFF1C, MSGBOX_DEFAULT
goto Route110_EventScript_1EF8EC
end
@@ -640,7 +628,7 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7
call_if 1, Route110_EventScript_1EFAEE
compare VAR_0x8008, 4
call_if 1, Route110_EventScript_1EFAF9
- msgbox Route110_Text_1F0AB5, 4
+ msgbox Route110_Text_1F0AB5, MSGBOX_DEFAULT
closemessage
delay 20
applymovement 36, Route110_Movement_2725A4
@@ -652,16 +640,16 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7
applymovement 36, Route110_Movement_2725AA
waitmovement 0
delay 30
- msgbox Route110_Text_1F0AFF, 4
+ msgbox Route110_Text_1F0AFF, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox Route110_Text_1F0C0C, 4
+ msgbox Route110_Text_1F0C0C, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_0x119
- msgbox Route110_Text_1F0C33, 4
+ msgbox Route110_Text_1F0C33, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 1
call_if 1, Route110_EventScript_1EFB04
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
index cbb5070a2..571cda664 100644
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
@@ -4,7 +4,7 @@ Route110_SeasideCyclingRoadNorthEntrance_MapScripts:: @ 826EA77
Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA78:: @ 826EA78
lock
faceplayer
- msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EAC1, 4
+ msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EAC1, MSGBOX_DEFAULT
release
end
@@ -19,7 +19,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84
end
Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F:: @ 826EA9F
- msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, 4
+ msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, MSGBOX_DEFAULT
closemessage
applymovement 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4
waitmovement 0
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
index b38bbf896..7bec38fa6 100644
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
@@ -16,7 +16,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE
Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBC4:: @ 826EBC4
lock
faceplayer
- msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26EC23, 4
+ msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26EC23, MSGBOX_DEFAULT
release
end
@@ -37,7 +37,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6
return
Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC
- msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, 4
+ msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, MSGBOX_DEFAULT
closemessage
applymovement 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11
waitmovement 0
diff --git a/data/maps/Route110_TrickHouseEnd/events.inc b/data/maps/Route110_TrickHouseEnd/events.inc
index 44539d4cc..1e371bbbe 100644
--- a/data/maps/Route110_TrickHouseEnd/events.inc
+++ b/data/maps/Route110_TrickHouseEnd/events.inc
@@ -1,5 +1,5 @@
Route110_TrickHouseEnd_EventObjects: @ 853DEFC
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route110_TrickHouseEnd_EventScript_26AD17, 899
+ object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route110_TrickHouseEnd_EventScript_26AD17, FLAG_HIDE_TRICK_HOUSE_END_MAN
Route110_TrickHouseEnd_MapWarps: @ 853DF14
warp_def 10, 1, 3, 2, MAP_ROUTE110_TRICK_HOUSE_PUZZLE1
@@ -9,7 +9,7 @@ Route110_TrickHouseEnd_MapCoordEvents: @ 853DF24
coord_event 2, 2, 3, VAR_TEMP_2, 0, Route110_TrickHouseEnd_EventScript_26B041
Route110_TrickHouseEnd_MapBGEvents: @ 853DF34
- bg_hidden_item_event 4, 5, 3, ITEM_NUGGET, 1
+ bg_hidden_item_event 4, 5, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET
Route110_TrickHouseEnd_MapEvents:: @ 853DF40
map_events Route110_TrickHouseEnd_EventObjects, Route110_TrickHouseEnd_MapWarps, Route110_TrickHouseEnd_MapCoordEvents, Route110_TrickHouseEnd_MapBGEvents
diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc
index 4e15ddbe7..8d6da9a8c 100644
--- a/data/maps/Route110_TrickHouseEnd/scripts.inc
+++ b/data/maps/Route110_TrickHouseEnd/scripts.inc
@@ -43,7 +43,7 @@ Route110_TrickHouseEnd_EventScript_26AD0D:: @ 826AD0D
Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17
lock
faceplayer
- msgbox Route110_TrickHouseEnd_Text_26B08D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B08D, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
switch VAR_0x4044
case 0, Route110_TrickHouseEnd_EventScript_26AD84
@@ -57,98 +57,98 @@ Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17
end
Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84
- msgbox Route110_TrickHouseEnd_Text_26B0BC, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B0BC, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_RARE_CANDY
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0
- msgbox Route110_TrickHouseEnd_Text_26B13B, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B13B, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_TIMER_BALL
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC
- msgbox Route110_TrickHouseEnd_Text_26B1AD, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B1AD, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_HARD_STONE
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38
- msgbox Route110_TrickHouseEnd_Text_26B223, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B223, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_SMOKE_BALL
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74
- msgbox Route110_TrickHouseEnd_Text_26B293, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B293, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_TM12
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0
- msgbox Route110_TrickHouseEnd_Text_26B315, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B315, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_MAGNET
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC
- msgbox Route110_TrickHouseEnd_Text_26B365, 4
- msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ msgbox Route110_TrickHouseEnd_Text_26B365, MSGBOX_DEFAULT
+ msgbox Route110_TrickHouseEnd_Text_26B73D, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
giveitem_std ITEM_PP_MAX
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
- msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
release
end
Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28
- msgbox Route110_TrickHouseEnd_Text_26B3AB, 4
+ msgbox Route110_TrickHouseEnd_Text_26B3AB, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 1
call_if 1, Route110_TrickHouseEnd_EventScript_26B015
@@ -159,17 +159,17 @@ Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28
compare VAR_FACING, 4
call_if 1, Route110_TrickHouseEnd_EventScript_26B036
delay 30
- msgbox Route110_TrickHouseEnd_Text_26B3FA, 4
+ msgbox Route110_TrickHouseEnd_Text_26B3FA, MSGBOX_DEFAULT
closemessage
applymovement 1, Route110_TrickHouseEnd_Movement_27259E
waitmovement 0
delay 30
- msgbox Route110_TrickHouseEnd_Text_26B485, 4
+ msgbox Route110_TrickHouseEnd_Text_26B485, MSGBOX_DEFAULT
setvar VAR_0x40C1, 0
call Route110_TrickHouseEnd_EventScript_26AFA5
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEnd_EventScript_26B002
- msgbox Route110_TrickHouseEnd_Text_26B69A, 4
+ msgbox Route110_TrickHouseEnd_Text_26B69A, MSGBOX_DEFAULT
call Route110_TrickHouseEnd_EventScript_26AFCF
special ResetTrickHouseEndRoomFlag
release
@@ -201,13 +201,13 @@ Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF
Route110_TrickHouseEnd_EventScript_26AFEF:: @ 826AFEF
call Route110_TrickHouseEnd_EventScript_27205E
- msgbox Route110_TrickHouseEnd_Text_26B760, 4
+ msgbox Route110_TrickHouseEnd_Text_26B760, MSGBOX_DEFAULT
setvar VAR_0x40C1, 1
return
Route110_TrickHouseEnd_EventScript_26B002:: @ 826B002
call Route110_TrickHouseEnd_EventScript_272071
- msgbox Route110_TrickHouseEnd_Text_26B615, 4
+ msgbox Route110_TrickHouseEnd_Text_26B615, MSGBOX_DEFAULT
setvar VAR_0x40C1, 1
return
@@ -243,7 +243,7 @@ Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041
playse SE_W153
applymovement 255, Route110_TrickHouseEnd_Movement_2725AA
waitmovement 0
- msgbox Route110_TrickHouseEnd_Text_26B8BD, 4
+ msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT
closemessage
applymovement 255, Route110_TrickHouseEnd_Movement_26B089
waitmovement 0
diff --git a/data/maps/Route110_TrickHouseEntrance/events.inc b/data/maps/Route110_TrickHouseEntrance/events.inc
index 5255e5acf..ff83f0bdb 100644
--- a/data/maps/Route110_TrickHouseEntrance/events.inc
+++ b/data/maps/Route110_TrickHouseEntrance/events.inc
@@ -1,5 +1,5 @@
Route110_TrickHouseEntrance_EventObjects: @ 853DE6C
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route110_TrickHouseEntrance_EventScript_269D3B, 872
+ object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 6, 2, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route110_TrickHouseEntrance_EventScript_269D3B, FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN
Route110_TrickHouseEntrance_MapWarps: @ 853DE84
warp_def 5, 7, 3, 1, MAP_ROUTE110
diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc
index 859a28d6a..e82c052fc 100644
--- a/data/maps/Route110_TrickHouseEntrance/scripts.inc
+++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc
@@ -214,7 +214,7 @@ Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8
delay 20
compare VAR_0x4044, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_269E48
- msgbox Route110_TrickHouseEntrance_Text_26A78C, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A78C, MSGBOX_DEFAULT
closemessage
delay 20
applymovement 1, Route110_TrickHouseEntrance_Movement_269E36
@@ -271,35 +271,35 @@ Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E
end
Route110_TrickHouseEntrance_EventScript_269DEE:: @ 8269DEE
- msgbox Route110_TrickHouseEntrance_Text_26A48A, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A48A, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269DF7:: @ 8269DF7
- msgbox Route110_TrickHouseEntrance_Text_26A4DA, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A4DA, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E00:: @ 8269E00
- msgbox Route110_TrickHouseEntrance_Text_26A529, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A529, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E09:: @ 8269E09
- msgbox Route110_TrickHouseEntrance_Text_26A577, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A577, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E12:: @ 8269E12
- msgbox Route110_TrickHouseEntrance_Text_26A5C8, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A5C8, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E1B:: @ 8269E1B
- msgbox Route110_TrickHouseEntrance_Text_26A616, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A616, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E24:: @ 8269E24
- msgbox Route110_TrickHouseEntrance_Text_26A665, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A665, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E2D:: @ 8269E2D
- msgbox Route110_TrickHouseEntrance_Text_26A6B6, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A6B6, MSGBOX_DEFAULT
return
Route110_TrickHouseEnd_Movement_269E36: @ 8269E36
@@ -327,11 +327,11 @@ Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F
step_end
Route110_TrickHouseEntrance_EventScript_269E48:: @ 8269E48
- msgbox Route110_TrickHouseEntrance_Text_26A709, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A709, MSGBOX_DEFAULT
return
Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51
- msgbox Route110_TrickHouseEntrance_Text_26A921, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A921, MSGBOX_DEFAULT
closemessage
applymovement 1, Route110_TrickHouseEntrance_Movement_27259E
waitmovement 0
@@ -340,7 +340,7 @@ Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51
waitmovement 0
applymovement 1, Route110_TrickHouseEntrance_Movement_27259A
waitmovement 0
- msgbox Route110_TrickHouseEntrance_Text_26A9AF, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A9AF, MSGBOX_DEFAULT
applymovement 1, Route110_TrickHouseEntrance_Movement_2725A6
waitmovement 0
releaseall
@@ -349,7 +349,7 @@ Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51
Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F
applymovement 1, Route110_TrickHouseEntrance_Movement_27259E
waitmovement 0
- msgbox Route110_TrickHouseEntrance_Text_26AA82, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AA82, MSGBOX_DEFAULT
compare VAR_0x4044, 1
goto_eq Route110_TrickHouseEntrance_EventScript_269EEF
compare VAR_0x4044, 2
@@ -372,7 +372,7 @@ Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -382,7 +382,7 @@ Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -392,7 +392,7 @@ Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -402,7 +402,7 @@ Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -412,7 +412,7 @@ Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -422,7 +422,7 @@ Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -432,7 +432,7 @@ Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7
goto_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
- msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -447,13 +447,13 @@ Route110_TrickHouseEntrance_EventScript_26A023:: @ 826A023
Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039
applymovement 1, Route110_TrickHouseEntrance_Movement_27259E
waitmovement 0
- msgbox Route110_TrickHouseEntrance_Text_26AB2C, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AB2C, MSGBOX_DEFAULT
call Route110_TrickHouseEntrance_EventScript_26A070
compare VAR_RESULT, 1
goto_eq Route110_TrickHouseEntrance_EventScript_26A09A
compare VAR_RESULT, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_272071
- msgbox Route110_TrickHouseEntrance_Text_26ABBD, 4
+ msgbox Route110_TrickHouseEntrance_Text_26ABBD, MSGBOX_DEFAULT
releaseall
end
@@ -472,7 +472,7 @@ Route110_TrickHouseEntrance_EventScript_26A092:: @ 826A092
return
Route110_TrickHouseEntrance_EventScript_26A09A:: @ 826A09A
- msgbox Route110_TrickHouseEntrance_Text_26ABAE, 4
+ msgbox Route110_TrickHouseEntrance_Text_26ABAE, MSGBOX_DEFAULT
closemessage
applymovement 1, Route110_TrickHouseEntrance_Movement_26D632
waitmovement 0
@@ -497,12 +497,12 @@ Route110_TrickHouseEntrance_EventScript_26A0D3:: @ 826A0D3
end
Route110_TrickHouseEntrance_EventScript_26A106:: @ 826A106
- msgbox Route110_TrickHouseEntrance_Text_26A878, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110
- msgbox Route110_TrickHouseEntrance_Text_26A887, 5
+ msgbox Route110_TrickHouseEntrance_Text_26A887, MSGBOX_YESNO
closemessage
compare VAR_RESULT, 1
goto_eq Route110_TrickHouseEntrance_EventScript_26A126
@@ -581,19 +581,19 @@ Route110_TrickHouseEntrance_EventScript_26A1F6:: @ 826A1F6
end
Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201
- msgbox Route110_TrickHouseEntrance_Text_26A8BD, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A8BD, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B
compare VAR_0x4044, 8
goto_eq Route110_TrickHouseEntrance_EventScript_26A220
- msgbox Route110_TrickHouseEntrance_Text_26A878, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_26A220:: @ 826A220
- msgbox Route110_TrickHouseEntrance_Text_26A8BD, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A8BD, MSGBOX_DEFAULT
releaseall
end
@@ -613,7 +613,7 @@ Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A
Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
compare VAR_0x40AB, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle1_Text_26B98D, 4
+ msgbox Route110_TrickHousePuzzle1_Text_26B98D, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AB, 2
setmetatile 13, 1, 523, 0
@@ -624,7 +624,7 @@ Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
compare VAR_0x40AC, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle2_Text_26BCBA, 4
+ msgbox Route110_TrickHousePuzzle2_Text_26BCBA, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AC, 2
setmetatile 13, 1, 523, 0
@@ -635,7 +635,7 @@ Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
compare VAR_0x40AD, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle3_Text_26C609, 4
+ msgbox Route110_TrickHousePuzzle3_Text_26C609, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AD, 2
setmetatile 13, 1, 523, 0
@@ -646,7 +646,7 @@ Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
compare VAR_0x40AE, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle4_Text_26C8C3, 4
+ msgbox Route110_TrickHousePuzzle4_Text_26C8C3, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AE, 2
setmetatile 13, 1, 523, 0
@@ -657,7 +657,7 @@ Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
compare VAR_0x40AF, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle5_Text_26D660, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D660, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AF, 2
setmetatile 13, 1, 523, 0
@@ -668,7 +668,7 @@ Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
compare VAR_0x40B0, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle6_Text_26DE26, 4
+ msgbox Route110_TrickHousePuzzle6_Text_26DE26, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40B0, 2
setmetatile 13, 1, 523, 0
@@ -679,7 +679,7 @@ Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
compare VAR_0x40B1, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle7_EventScript_26E413, 4
+ msgbox Route110_TrickHousePuzzle7_EventScript_26E413, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40B1, 2
setmetatile 13, 1, 523, 0
@@ -690,7 +690,7 @@ Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8
compare VAR_0x40B2, 0
goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
- msgbox Route110_TrickHousePuzzle8_EventScript_26E864, 4
+ msgbox Route110_TrickHousePuzzle8_EventScript_26E864, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40B2, 2
setmetatile 13, 1, 523, 0
@@ -699,7 +699,7 @@ Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8
end
Route110_TrickHouseEntrance_EventScript_26A3D1:: @ 826A3D1
- msgbox Route110_TrickHouseEntrance_Text_26AC4F, 4
+ msgbox Route110_TrickHouseEntrance_Text_26AC4F, MSGBOX_DEFAULT
releaseall
end
@@ -711,7 +711,7 @@ Route110_TrickHousePuzzle5_EventScript_26A3DB:: @ 826A3DB
Route110_TrickHousePuzzle6_EventScript_26A3DB:: @ 826A3DB
Route110_TrickHousePuzzle7_EventScript_26A3DB:: @ 826A3DB
Route110_TrickHousePuzzle8_EventScript_26A3DB:: @ 826A3DB
- msgbox Route110_TrickHousePuzzle1_Text_26AC2F, 4
+ msgbox Route110_TrickHousePuzzle1_Text_26AC2F, MSGBOX_DEFAULT
releaseall
end
@@ -726,13 +726,13 @@ Route110_TrickHousePuzzle8_EventScript_26A3E5:: @ 826A3E5
playfanfare MUS_FANFA4
message Route110_TrickHousePuzzle1_Text_26ABE8
waitfanfare
- msgbox Route110_TrickHousePuzzle1_Text_26ABFB, 4
+ msgbox Route110_TrickHousePuzzle1_Text_26ABFB, MSGBOX_DEFAULT
releaseall
end
Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8
lockall
- msgbox Route110_TrickHouseEntrance_Text_26A474, 4
+ msgbox Route110_TrickHouseEntrance_Text_26A474, MSGBOX_DEFAULT
releaseall
compare VAR_0x4044, 0
call_if 1, Route110_TrickHouseEntrance_EventScript_26A429
diff --git a/data/maps/Route110_TrickHousePuzzle1/events.inc b/data/maps/Route110_TrickHousePuzzle1/events.inc
index ae6de093d..02dfa58bc 100644
--- a/data/maps/Route110_TrickHousePuzzle1/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle1/events.inc
@@ -2,18 +2,18 @@ Route110_TrickHousePuzzle1_EventObjects: @ 853DF88
object_event 1, EVENT_OBJ_GFX_LASS, 0, 14, 20, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 6, Route110_TrickHousePuzzle1_EventScript_26B948, 0
object_event 2, EVENT_OBJ_GFX_YOUNGSTER, 0, 14, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_26B95F, 0
object_event 3, EVENT_OBJ_GFX_LASS, 0, 2, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_26B976, 0
- object_event 4, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 19
- object_event 5, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 13, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 18
- object_event 6, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 14, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 20
- object_event 7, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 23
- object_event 8, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 22
- object_event 9, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 21
- object_event 10, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 25
- object_event 11, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 13, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 24
- object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 0, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 27
- object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_29140E, 1060
- object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 28
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 2, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 30
+ object_event 4, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_13
+ object_event 5, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 13, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_12
+ object_event 6, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 14, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_14
+ object_event 7, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_17
+ object_event 8, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_16
+ object_event 9, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 11, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_15
+ object_event 10, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 2, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_19
+ object_event 11, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 13, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_18
+ object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 0, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_1B
+ object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_29140E, FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL
+ object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_1C
+ object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 2, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, FLAG_TEMP_1E
Route110_TrickHousePuzzle1_MapWarps: @ 853E0F0
warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
diff --git a/data/maps/Route110_TrickHousePuzzle1/scripts.inc b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
index 340a7e03c..aeeec549d 100644
--- a/data/maps/Route110_TrickHousePuzzle1/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
@@ -24,18 +24,18 @@ Route110_TrickHousePuzzle1_EventScript_26B93D:: @ 826B93D
end
Route110_TrickHousePuzzle1_EventScript_26B948:: @ 826B948
- trainerbattle 0, TRAINER_SALLY, 0, Route110_TrickHousePuzzle1_Text_26B9FB, Route110_TrickHousePuzzle1_Text_26BA3F
- msgbox Route110_TrickHousePuzzle1_Text_26BA57, 6
+ trainerbattle_single TRAINER_SALLY, Route110_TrickHousePuzzle1_Text_26B9FB, Route110_TrickHousePuzzle1_Text_26BA3F
+ msgbox Route110_TrickHousePuzzle1_Text_26BA57, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle1_EventScript_26B95F:: @ 826B95F
- trainerbattle 0, TRAINER_EDDIE, 0, Route110_TrickHousePuzzle1_Text_26BA82, Route110_TrickHousePuzzle1_Text_26BAB0
- msgbox Route110_TrickHousePuzzle1_Text_26BAC3, 6
+ trainerbattle_single TRAINER_EDDIE, Route110_TrickHousePuzzle1_Text_26BA82, Route110_TrickHousePuzzle1_Text_26BAB0
+ msgbox Route110_TrickHousePuzzle1_Text_26BAC3, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle1_EventScript_26B976:: @ 826B976
- trainerbattle 0, TRAINER_ROBIN, 0, Route110_TrickHousePuzzle1_Text_26BB10, Route110_TrickHousePuzzle1_Text_26BB2E
- msgbox Route110_TrickHousePuzzle1_Text_26BB52, 6
+ trainerbattle_single TRAINER_ROBIN, Route110_TrickHousePuzzle1_Text_26BB10, Route110_TrickHousePuzzle1_Text_26BB2E
+ msgbox Route110_TrickHousePuzzle1_Text_26BB52, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle1_Text_26B98D:: @ 826B98D
diff --git a/data/maps/Route110_TrickHousePuzzle2/events.inc b/data/maps/Route110_TrickHousePuzzle2/events.inc
index 0e8d3607b..e49d391e6 100644
--- a/data/maps/Route110_TrickHousePuzzle2/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle2/events.inc
@@ -2,8 +2,8 @@ Route110_TrickHousePuzzle2_EventObjects: @ 853E128
object_event 1, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle2_EventScript_26BC75, 0
object_event 2, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 10, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 4, Route110_TrickHousePuzzle2_EventScript_26BC8C, 0
object_event 3, EVENT_OBJ_GFX_GIRL_3, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_TrickHousePuzzle2_EventScript_26BCA3, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_291428, 1062
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_29141B, 1061
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_291428, FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_29141B, FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL
Route110_TrickHousePuzzle2_MapWarps: @ 853E1A0
warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
index b724b986d..80d09866b 100644
--- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
@@ -90,18 +90,18 @@ Route110_TrickHousePuzzle2_EventScript_26BC62:: @ 826BC62
return
Route110_TrickHousePuzzle2_EventScript_26BC75:: @ 826BC75
- trainerbattle 0, TRAINER_TED, 0, Route110_TrickHousePuzzle2_Text_26BD25, Route110_TrickHousePuzzle2_Text_26BD45
- msgbox Route110_TrickHousePuzzle2_Text_26BD70, 6
+ trainerbattle_single TRAINER_TED, Route110_TrickHousePuzzle2_Text_26BD25, Route110_TrickHousePuzzle2_Text_26BD45
+ msgbox Route110_TrickHousePuzzle2_Text_26BD70, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle2_EventScript_26BC8C:: @ 826BC8C
- trainerbattle 0, TRAINER_PAUL, 0, Route110_TrickHousePuzzle2_Text_26BD9E, Route110_TrickHousePuzzle2_Text_26BDCF
- msgbox Route110_TrickHousePuzzle2_Text_26BDEC, 6
+ trainerbattle_single TRAINER_PAUL, Route110_TrickHousePuzzle2_Text_26BD9E, Route110_TrickHousePuzzle2_Text_26BDCF
+ msgbox Route110_TrickHousePuzzle2_Text_26BDEC, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle2_EventScript_26BCA3:: @ 826BCA3
- trainerbattle 0, TRAINER_GEORGIA, 0, Route110_TrickHousePuzzle2_Text_26BE31, Route110_TrickHousePuzzle2_Text_26BE77
- msgbox Route110_TrickHousePuzzle2_Text_26BE97, 6
+ trainerbattle_single TRAINER_GEORGIA, Route110_TrickHousePuzzle2_Text_26BE31, Route110_TrickHousePuzzle2_Text_26BE77
+ msgbox Route110_TrickHousePuzzle2_Text_26BE97, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle2_Text_26BCBA: @ 826BCBA
diff --git a/data/maps/Route110_TrickHousePuzzle3/events.inc b/data/maps/Route110_TrickHousePuzzle3/events.inc
index 38063f98d..118667076 100644
--- a/data/maps/Route110_TrickHousePuzzle3/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle3/events.inc
@@ -2,10 +2,10 @@ Route110_TrickHousePuzzle3_EventObjects: @ 853E218
object_event 1, EVENT_OBJ_GFX_CAMPER, 0, 7, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route110_TrickHousePuzzle3_EventScript_26C5C4, 0
object_event 2, EVENT_OBJ_GFX_PICNICKER, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_26C5DB, 0
object_event 3, EVENT_OBJ_GFX_HIKER, 0, 10, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_26C5F2, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291442, 1064
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291435, 1063
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 1, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, 21
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 2, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, 22
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291442, FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291435, FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL
+ object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 1, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, FLAG_TEMP_15
+ object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 2, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, FLAG_TEMP_16
Route110_TrickHousePuzzle3_MapWarps: @ 853E2C0
warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
index 9956f9889..2c94012fb 100644
--- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
@@ -302,18 +302,18 @@ Route110_TrickHousePuzzle3_EventScript_26C5B9:: @ 826C5B9
end
Route110_TrickHousePuzzle3_EventScript_26C5C4:: @ 826C5C4
- trainerbattle 0, TRAINER_JUSTIN, 0, Route110_TrickHousePuzzle3_Text_26C676, Route110_TrickHousePuzzle3_Text_26C69D
- msgbox Route110_TrickHousePuzzle3_Text_26C6E6, 6
+ trainerbattle_single TRAINER_JUSTIN, Route110_TrickHousePuzzle3_Text_26C676, Route110_TrickHousePuzzle3_Text_26C69D
+ msgbox Route110_TrickHousePuzzle3_Text_26C6E6, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle3_EventScript_26C5DB:: @ 826C5DB
- trainerbattle 0, TRAINER_MARTHA, 0, Route110_TrickHousePuzzle3_Text_26C726, Route110_TrickHousePuzzle3_Text_26C763
- msgbox Route110_TrickHousePuzzle3_Text_26C776, 6
+ trainerbattle_single TRAINER_MARTHA, Route110_TrickHousePuzzle3_Text_26C726, Route110_TrickHousePuzzle3_Text_26C763
+ msgbox Route110_TrickHousePuzzle3_Text_26C776, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle3_EventScript_26C5F2:: @ 826C5F2
- trainerbattle 0, TRAINER_ALAN, 0, Route110_TrickHousePuzzle3_Text_26C7AA, Route110_TrickHousePuzzle3_Text_26C7EC
- msgbox Route110_TrickHousePuzzle3_Text_26C80C, 6
+ trainerbattle_single TRAINER_ALAN, Route110_TrickHousePuzzle3_Text_26C7AA, Route110_TrickHousePuzzle3_Text_26C7EC
+ msgbox Route110_TrickHousePuzzle3_Text_26C80C, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle3_Text_26C609: @ 826C609
diff --git a/data/maps/Route110_TrickHousePuzzle4/events.inc b/data/maps/Route110_TrickHousePuzzle4/events.inc
index f5406539f..4bad58814 100644
--- a/data/maps/Route110_TrickHousePuzzle4/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle4/events.inc
@@ -2,17 +2,17 @@ Route110_TrickHousePuzzle4_EventObjects: @ 853E338
object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route110_TrickHousePuzzle4_EventScript_26C87E, 0
object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 14, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_26C8AC, 0
object_event 3, EVENT_OBJ_GFX_BLACK_BELT, 0, 2, 14, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_26C895, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_29144F, 1065
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 17
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 18
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 19
- object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 20
- object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 21
- object_event 10, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 22
- object_event 11, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 23
- object_event 12, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 24
- object_event 13, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 14, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 25
- object_event 14, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 26
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_29144F, FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_11
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_12
+ object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_13
+ object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_14
+ object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_15
+ object_event 10, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_16
+ object_event 11, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_17
+ object_event 12, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_18
+ object_event 13, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 14, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_19
+ object_event 14, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, FLAG_TEMP_1A
Route110_TrickHousePuzzle4_MapWarps: @ 853E488
warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
diff --git a/data/maps/Route110_TrickHousePuzzle4/scripts.inc b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
index 56b4b02fb..2cc97127b 100644
--- a/data/maps/Route110_TrickHousePuzzle4/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
@@ -14,18 +14,18 @@ Route110_TrickHousePuzzle4_EventScript_26C873:: @ 826C873
end
Route110_TrickHousePuzzle4_EventScript_26C87E:: @ 826C87E
- trainerbattle 0, TRAINER_CORA, 0, Route110_TrickHousePuzzle4_Text_26C92D, Route110_TrickHousePuzzle4_Text_26C96E
- msgbox Route110_TrickHousePuzzle4_Text_26C9A2, 6
+ trainerbattle_single TRAINER_CORA, Route110_TrickHousePuzzle4_Text_26C92D, Route110_TrickHousePuzzle4_Text_26C96E
+ msgbox Route110_TrickHousePuzzle4_Text_26C9A2, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle4_EventScript_26C895:: @ 826C895
- trainerbattle 0, TRAINER_YUJI, 0, Route110_TrickHousePuzzle4_Text_26C9E4, Route110_TrickHousePuzzle4_Text_26CA20
- msgbox Route110_TrickHousePuzzle4_Text_26CA53, 6
+ trainerbattle_single TRAINER_YUJI, Route110_TrickHousePuzzle4_Text_26C9E4, Route110_TrickHousePuzzle4_Text_26CA20
+ msgbox Route110_TrickHousePuzzle4_Text_26CA53, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle4_EventScript_26C8AC:: @ 826C8AC
- trainerbattle 0, TRAINER_PAULA, 0, Route110_TrickHousePuzzle4_Text_26CA9C, Route110_TrickHousePuzzle4_Text_26CACB
- msgbox Route110_TrickHousePuzzle4_Text_26CAD1, 6
+ trainerbattle_single TRAINER_PAULA, Route110_TrickHousePuzzle4_Text_26CA9C, Route110_TrickHousePuzzle4_Text_26CACB
+ msgbox Route110_TrickHousePuzzle4_Text_26CAD1, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle4_Text_26C8C3: @ 826C8C3
diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
index 5afce1c88..96c727dc0 100644
--- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
@@ -227,7 +227,7 @@ Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
compare VAR_TEMP_9, 4
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
- msgbox Route110_TrickHousePuzzle5_Text_26D6CE, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D6CE, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26CF45
@@ -253,7 +253,7 @@ Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D374
compare VAR_TEMP_9, 5
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3AC
- msgbox Route110_TrickHousePuzzle5_Text_26D8EA, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D8EA, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26CFAE
@@ -277,7 +277,7 @@ Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
compare VAR_TEMP_9, 4
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
- msgbox Route110_TrickHousePuzzle5_Text_26DA1E, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DA1E, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D017
@@ -301,7 +301,7 @@ Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
compare VAR_TEMP_9, 4
call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
- msgbox Route110_TrickHousePuzzle5_Text_26DB4C, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DB4C, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D080
@@ -317,7 +317,7 @@ Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2
waitmovement 0
applymovement 5, Route110_TrickHousePuzzle5_Movement_27259A
waitmovement 0
- msgbox Route110_TrickHousePuzzle5_Text_26DC78, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DC78, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D0E9
@@ -326,7 +326,7 @@ Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2
end
Route110_TrickHousePuzzle5_EventScript_26CF45:: @ 826CF45
- msgbox Route110_TrickHousePuzzle5_Text_26D757, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D757, MSGBOX_DEFAULT
multichoice 0, 0, 25, 1
switch VAR_RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -334,7 +334,7 @@ Route110_TrickHousePuzzle5_EventScript_26CF45:: @ 826CF45
end
Route110_TrickHousePuzzle5_EventScript_26CF68:: @ 826CF68
- msgbox Route110_TrickHousePuzzle5_Text_26D7AA, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D7AA, MSGBOX_DEFAULT
multichoice 0, 0, 26, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -342,7 +342,7 @@ Route110_TrickHousePuzzle5_EventScript_26CF68:: @ 826CF68
end
Route110_TrickHousePuzzle5_EventScript_26CF8B:: @ 826CF8B
- msgbox Route110_TrickHousePuzzle5_Text_26D7FC, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D7FC, MSGBOX_DEFAULT
multichoice 0, 0, 27, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -350,7 +350,7 @@ Route110_TrickHousePuzzle5_EventScript_26CF8B:: @ 826CF8B
end
Route110_TrickHousePuzzle5_EventScript_26CFAE:: @ 826CFAE
- msgbox Route110_TrickHousePuzzle5_Text_26D940, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D940, MSGBOX_DEFAULT
multichoice 0, 0, 28, 1
switch VAR_RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -358,7 +358,7 @@ Route110_TrickHousePuzzle5_EventScript_26CFAE:: @ 826CFAE
end
Route110_TrickHousePuzzle5_EventScript_26CFD1:: @ 826CFD1
- msgbox Route110_TrickHousePuzzle5_Text_26D98C, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D98C, MSGBOX_DEFAULT
multichoice 0, 0, 29, 1
switch VAR_RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -366,7 +366,7 @@ Route110_TrickHousePuzzle5_EventScript_26CFD1:: @ 826CFD1
end
Route110_TrickHousePuzzle5_EventScript_26CFF4:: @ 826CFF4
- msgbox Route110_TrickHousePuzzle5_Text_26D9CE, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D9CE, MSGBOX_DEFAULT
multichoice 0, 0, 30, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -374,7 +374,7 @@ Route110_TrickHousePuzzle5_EventScript_26CFF4:: @ 826CFF4
end
Route110_TrickHousePuzzle5_EventScript_26D017:: @ 826D017
- msgbox Route110_TrickHousePuzzle5_Text_26DA64, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DA64, MSGBOX_DEFAULT
multichoice 0, 0, 31, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -382,7 +382,7 @@ Route110_TrickHousePuzzle5_EventScript_26D017:: @ 826D017
end
Route110_TrickHousePuzzle5_EventScript_26D03A:: @ 826D03A
- msgbox Route110_TrickHousePuzzle5_Text_26DAAD, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DAAD, MSGBOX_DEFAULT
multichoice 0, 0, 32, 1
switch VAR_RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -390,7 +390,7 @@ Route110_TrickHousePuzzle5_EventScript_26D03A:: @ 826D03A
end
Route110_TrickHousePuzzle5_EventScript_26D05D:: @ 826D05D
- msgbox Route110_TrickHousePuzzle5_Text_26DAFF, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DAFF, MSGBOX_DEFAULT
multichoice 0, 0, 33, 1
switch VAR_RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -398,7 +398,7 @@ Route110_TrickHousePuzzle5_EventScript_26D05D:: @ 826D05D
end
Route110_TrickHousePuzzle5_EventScript_26D080:: @ 826D080
- msgbox Route110_TrickHousePuzzle5_Text_26DB94, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DB94, MSGBOX_DEFAULT
multichoice 0, 0, 34, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -406,7 +406,7 @@ Route110_TrickHousePuzzle5_EventScript_26D080:: @ 826D080
end
Route110_TrickHousePuzzle5_EventScript_26D0A3:: @ 826D0A3
- msgbox Route110_TrickHousePuzzle5_Text_26DBD7, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DBD7, MSGBOX_DEFAULT
multichoice 0, 0, 35, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -414,7 +414,7 @@ Route110_TrickHousePuzzle5_EventScript_26D0A3:: @ 826D0A3
end
Route110_TrickHousePuzzle5_EventScript_26D0C6:: @ 826D0C6
- msgbox Route110_TrickHousePuzzle5_Text_26DC2A, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DC2A, MSGBOX_DEFAULT
multichoice 0, 0, 36, 1
switch VAR_RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -422,7 +422,7 @@ Route110_TrickHousePuzzle5_EventScript_26D0C6:: @ 826D0C6
end
Route110_TrickHousePuzzle5_EventScript_26D0E9:: @ 826D0E9
- msgbox Route110_TrickHousePuzzle5_Text_26DCCB, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DCCB, MSGBOX_DEFAULT
multichoice 0, 0, 37, 1
switch VAR_RESULT
case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -430,7 +430,7 @@ Route110_TrickHousePuzzle5_EventScript_26D0E9:: @ 826D0E9
end
Route110_TrickHousePuzzle5_EventScript_26D10C:: @ 826D10C
- msgbox Route110_TrickHousePuzzle5_Text_26DD1B, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DD1B, MSGBOX_DEFAULT
multichoice 0, 0, 38, 1
switch VAR_RESULT
case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -438,7 +438,7 @@ Route110_TrickHousePuzzle5_EventScript_26D10C:: @ 826D10C
end
Route110_TrickHousePuzzle5_EventScript_26D12F:: @ 826D12F
- msgbox Route110_TrickHousePuzzle5_Text_26DD5F, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26DD5F, MSGBOX_DEFAULT
multichoice 0, 0, 39, 1
switch VAR_RESULT
case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
@@ -448,15 +448,15 @@ Route110_TrickHousePuzzle5_EventScript_26D12F:: @ 826D12F
Route110_TrickHousePuzzle5_EventScript_26D152:: @ 826D152
waitse
playse SE_HAZURE
- msgbox Route110_TrickHousePuzzle5_Text_26D883, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D883, MSGBOX_DEFAULT
applymovement 1, Route110_TrickHousePuzzle5_Movement_26D632
applymovement 2, Route110_TrickHousePuzzle5_Movement_26D632
applymovement 3, Route110_TrickHousePuzzle5_Movement_26D632
applymovement 4, Route110_TrickHousePuzzle5_Movement_26D632
applymovement 5, Route110_TrickHousePuzzle5_Movement_26D632
- msgbox Route110_TrickHousePuzzle5_Text_26D8A1, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D8A1, MSGBOX_DEFAULT
waitmovement 0
- msgbox Route110_TrickHousePuzzle5_Text_26D8C9, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D8C9, MSGBOX_DEFAULT
closemessage
warp MAP_ROUTE110_TRICK_HOUSE_PUZZLE5, 255, 0, 21
waitstate
@@ -470,7 +470,7 @@ Route110_TrickHousePuzzle5_EventScript_26D1A0:: @ 826D1A0
end
Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA
- msgbox Route110_TrickHousePuzzle5_Text_26D84D, 4
+ msgbox Route110_TrickHousePuzzle5_Text_26D84D, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/Route110_TrickHousePuzzle6/events.inc b/data/maps/Route110_TrickHousePuzzle6/events.inc
index 72fc4fbc6..f172622ea 100644
--- a/data/maps/Route110_TrickHousePuzzle6/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle6/events.inc
@@ -2,7 +2,7 @@ Route110_TrickHousePuzzle6_EventObjects: @ 853E6D0
object_event 1, EVENT_OBJ_GFX_PICNICKER, 0, 7, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle6_EventScript_26DDE1, 0
object_event 2, EVENT_OBJ_GFX_MAN_5, 0, 11, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route110_TrickHousePuzzle6_EventScript_26DDF8, 0
object_event 3, EVENT_OBJ_GFX_CAMPER, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, Route110_TrickHousePuzzle6_EventScript_26DE0F, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle6_EventScript_29145C, 1067
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle6_EventScript_29145C, FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL
Route110_TrickHousePuzzle6_MapWarps: @ 853E730
warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
index 0f20aac1f..4881ac87a 100644
--- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
@@ -28,18 +28,18 @@ Route110_TrickHousePuzzle6_EventScript_26DDD6:: @ 826DDD6
end
Route110_TrickHousePuzzle6_EventScript_26DDE1:: @ 826DDE1
- trainerbattle 0, TRAINER_SOPHIA, 0, Route110_TrickHousePuzzle6_Text_26DE93, Route110_TrickHousePuzzle6_Text_26DED2
- msgbox Route110_TrickHousePuzzle6_Text_26DEF3, 6
+ trainerbattle_single TRAINER_SOPHIA, Route110_TrickHousePuzzle6_Text_26DE93, Route110_TrickHousePuzzle6_Text_26DED2
+ msgbox Route110_TrickHousePuzzle6_Text_26DEF3, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle6_EventScript_26DDF8:: @ 826DDF8
- trainerbattle 0, TRAINER_BENNY, 0, Route110_TrickHousePuzzle6_Text_26DF55, Route110_TrickHousePuzzle6_Text_26DF8D
- msgbox Route110_TrickHousePuzzle6_Text_26DFA0, 6
+ trainerbattle_single TRAINER_BENNY, Route110_TrickHousePuzzle6_Text_26DF55, Route110_TrickHousePuzzle6_Text_26DF8D
+ msgbox Route110_TrickHousePuzzle6_Text_26DFA0, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle6_EventScript_26DE0F:: @ 826DE0F
- trainerbattle 0, TRAINER_SEBASTIAN, 0, Route110_TrickHousePuzzle6_Text_26DFD7, Route110_TrickHousePuzzle6_Text_26E004
- msgbox Route110_TrickHousePuzzle6_Text_26E048, 6
+ trainerbattle_single TRAINER_SEBASTIAN, Route110_TrickHousePuzzle6_Text_26DFD7, Route110_TrickHousePuzzle6_Text_26E004
+ msgbox Route110_TrickHousePuzzle6_Text_26E048, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle6_Text_26DE26: @ 826DE26
diff --git a/data/maps/Route110_TrickHousePuzzle7/events.inc b/data/maps/Route110_TrickHousePuzzle7/events.inc
index 62a52420b..d29c76263 100644
--- a/data/maps/Route110_TrickHousePuzzle7/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle7/events.inc
@@ -2,7 +2,7 @@ Route110_TrickHousePuzzle7_EventObjects: @ 853E768
object_event 1, EVENT_OBJ_GFX_PSYCHIC_M, 0, 9, 20, 0, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E389, 0
object_event 2, EVENT_OBJ_GFX_LASS, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3B7, 0
object_event 3, EVENT_OBJ_GFX_HEX_MANIAC, 0, 8, 17, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3A0, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_291469, 1068
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_291469, FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL
object_event 5, EVENT_OBJ_GFX_PSYCHIC_M, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3E5, 0
object_event 6, EVENT_OBJ_GFX_LASS, 0, 8, 13, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3CE, 0
object_event 7, EVENT_OBJ_GFX_GENTLEMAN, 0, 9, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3FC, 0
diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
index fdf734423..3df92dc99 100644
--- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
@@ -304,33 +304,33 @@ Route110_TrickHousePuzzle7_EventScript_26E373:: @ 826E373
end
Route110_TrickHousePuzzle7_EventScript_26E389:: @ 826E389
- trainerbattle 0, TRAINER_JOSHUA, 0, Route110_TrickHousePuzzle7_Text_26E481, Route110_TrickHousePuzzle7_Text_26E4C1
- msgbox Route110_TrickHousePuzzle7_Text_26E4F4, 6
+ trainerbattle_single TRAINER_JOSHUA, Route110_TrickHousePuzzle7_Text_26E481, Route110_TrickHousePuzzle7_Text_26E4C1
+ msgbox Route110_TrickHousePuzzle7_Text_26E4F4, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle7_EventScript_26E3A0:: @ 826E3A0
- trainerbattle 0, TRAINER_PATRICIA, 0, Route110_TrickHousePuzzle7_Text_26E531, Route110_TrickHousePuzzle7_Text_26E564
- msgbox Route110_TrickHousePuzzle7_Text_26E57F, 6
+ trainerbattle_single TRAINER_PATRICIA, Route110_TrickHousePuzzle7_Text_26E531, Route110_TrickHousePuzzle7_Text_26E564
+ msgbox Route110_TrickHousePuzzle7_Text_26E57F, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle7_EventScript_26E3B7:: @ 826E3B7
- trainerbattle 0, TRAINER_ALEXIS, 0, Route110_TrickHousePuzzle7_Text_26E5C0, Route110_TrickHousePuzzle7_Text_26E604
- msgbox Route110_TrickHousePuzzle7_Text_26E61E, 6
+ trainerbattle_single TRAINER_ALEXIS, Route110_TrickHousePuzzle7_Text_26E5C0, Route110_TrickHousePuzzle7_Text_26E604
+ msgbox Route110_TrickHousePuzzle7_Text_26E61E, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle7_EventScript_26E3CE:: @ 826E3CE
- trainerbattle 0, TRAINER_MARIELA, 0, Route110_TrickHousePuzzle7_Text_26E66B, Route110_TrickHousePuzzle7_Text_26E69C
- msgbox Route110_TrickHousePuzzle7_Text_26E6BC, 6
+ trainerbattle_single TRAINER_MARIELA, Route110_TrickHousePuzzle7_Text_26E66B, Route110_TrickHousePuzzle7_Text_26E69C
+ msgbox Route110_TrickHousePuzzle7_Text_26E6BC, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle7_EventScript_26E3E5:: @ 826E3E5
- trainerbattle 0, TRAINER_ALVARO, 0, Route110_TrickHousePuzzle7_Text_26E6DA, Route110_TrickHousePuzzle7_Text_26E700
- msgbox Route110_TrickHousePuzzle7_Text_26E722, 6
+ trainerbattle_single TRAINER_ALVARO, Route110_TrickHousePuzzle7_Text_26E6DA, Route110_TrickHousePuzzle7_Text_26E700
+ msgbox Route110_TrickHousePuzzle7_Text_26E722, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle7_EventScript_26E3FC:: @ 826E3FC
- trainerbattle 0, TRAINER_EVERETT, 0, Route110_TrickHousePuzzle7_Text_26E78D, Route110_TrickHousePuzzle7_Text_26E7AB
- msgbox Route110_TrickHousePuzzle7_Text_26E7C4, 6
+ trainerbattle_single TRAINER_EVERETT, Route110_TrickHousePuzzle7_Text_26E78D, Route110_TrickHousePuzzle7_Text_26E7AB
+ msgbox Route110_TrickHousePuzzle7_Text_26E7C4, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle7_EventScript_26E413:: @ 826E413
diff --git a/data/maps/Route110_TrickHousePuzzle8/events.inc b/data/maps/Route110_TrickHousePuzzle8/events.inc
index 8dff961ac..909c8cbfd 100644
--- a/data/maps/Route110_TrickHousePuzzle8/events.inc
+++ b/data/maps/Route110_TrickHousePuzzle8/events.inc
@@ -2,7 +2,7 @@ Route110_TrickHousePuzzle8_EventObjects: @ 853E908
object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 1, 10, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E81F, 0
object_event 2, EVENT_OBJ_GFX_MAN_3, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E84D, 0
object_event 3, EVENT_OBJ_GFX_WOMAN_5, 0, 8, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E836, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle8_EventScript_291476, 1069
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 2, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route110_TrickHousePuzzle8_EventScript_291476, FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL
Route110_TrickHousePuzzle8_MapWarps: @ 853E968
warp_def 0, 21, 3, 2, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
index 369bc59a7..0f9155faf 100644
--- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
@@ -14,18 +14,18 @@ Route110_TrickHousePuzzle8_EventScript_26E814:: @ 826E814
end
Route110_TrickHousePuzzle8_EventScript_26E81F:: @ 826E81F
- trainerbattle 0, TRAINER_VINCENT, 0, Route110_TrickHousePuzzle8_Text_26E8CD, Route110_TrickHousePuzzle8_Text_26E8F6
- msgbox Route110_TrickHousePuzzle8_Text_26E918, 6
+ trainerbattle_single TRAINER_VINCENT, Route110_TrickHousePuzzle8_Text_26E8CD, Route110_TrickHousePuzzle8_Text_26E8F6
+ msgbox Route110_TrickHousePuzzle8_Text_26E918, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle8_EventScript_26E836:: @ 826E836
- trainerbattle 0, TRAINER_KEIRA, 0, Route110_TrickHousePuzzle8_Text_26E954, Route110_TrickHousePuzzle8_Text_26E97F
- msgbox Route110_TrickHousePuzzle8_Text_26E99F, 6
+ trainerbattle_single TRAINER_KEIRA, Route110_TrickHousePuzzle8_Text_26E954, Route110_TrickHousePuzzle8_Text_26E97F
+ msgbox Route110_TrickHousePuzzle8_Text_26E99F, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle8_EventScript_26E84D:: @ 826E84D
- trainerbattle 0, TRAINER_LEROY, 0, Route110_TrickHousePuzzle8_Text_26E9D7, Route110_TrickHousePuzzle8_Text_26EA14
- msgbox Route110_TrickHousePuzzle8_Text_26EA3F, 6
+ trainerbattle_single TRAINER_LEROY, Route110_TrickHousePuzzle8_Text_26E9D7, Route110_TrickHousePuzzle8_Text_26EA14
+ msgbox Route110_TrickHousePuzzle8_Text_26EA3F, MSGBOX_AUTOCLOSE
end
Route110_TrickHousePuzzle8_EventScript_26E864:: @ 826E864
diff --git a/data/maps/Route111/events.inc b/data/maps/Route111/events.inc
index 93767ff41..46e3b067b 100644
--- a/data/maps/Route111/events.inc
+++ b/data/maps/Route111/events.inc
@@ -1,8 +1,8 @@
Route111_EventObjects: @ 85291F0
- object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 13, 114, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1F0FC5, 768
- object_event 2, EVENT_OBJ_GFX_POKEFAN_F, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 769
- object_event 3, EVENT_OBJ_GFX_LASS, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, 770
- object_event 4, EVENT_OBJ_GFX_EXPERT_F, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 771
+ object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 13, 114, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_1F0FC5, FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE
+ object_event 2, EVENT_OBJ_GFX_POKEFAN_F, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE
+ object_event 3, EVENT_OBJ_GFX_LASS, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE
+ object_event 4, EVENT_OBJ_GFX_EXPERT_F, 0, 13, 113, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE
object_event 5, EVENT_OBJ_GFX_PICNICKER, 0, 28, 51, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route111_EventScript_1F121B, 0
object_event 6, EVENT_OBJ_GFX_BERRY_TREE, 0, 22, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 19, BerryTreeScript, 0
object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 23, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 20, BerryTreeScript, 0
@@ -11,27 +11,27 @@ Route111_EventObjects: @ 85291F0
object_event 10, EVENT_OBJ_GFX_HIKER, 0, 27, 69, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT, 2, 2, 1, 2, Route111_EventScript_1F1260, 0
object_event 11, EVENT_OBJ_GFX_CAMPER, 0, 21, 47, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, Route111_EventScript_1F1232, 0
object_event 12, EVENT_OBJ_GFX_PICNICKER, 0, 32, 66, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route111_EventScript_1F1249, 0
- object_event 13, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CDF6, 796
- object_event 14, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CDD6, 796
- object_event 15, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 18, 101, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_2907A6, 17
- object_event 16, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 19, 100, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_2907A6, 18
+ object_event 13, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CDF6, FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
+ object_event 14, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CDD6, FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
+ object_event 15, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 18, 101, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_2907A6, FLAG_TEMP_11
+ object_event 16, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 19, 100, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_2907A6, FLAG_TEMP_12
object_event 17, EVENT_OBJ_GFX_GIRL_1, 0, 23, 8, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route111_EventScript_1F0EB9, 0
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 104, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_290D9B, 1008
+ object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 104, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_290D9B, FLAG_ITEM_ROUTE_111_TM_37
object_event 19, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 80, BerryTreeScript, 0
object_event 20, EVENT_OBJ_GFX_BERRY_TREE, 0, 19, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 81, BerryTreeScript, 0
- object_event 21, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CE96, 799
- object_event 22, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CEB6, 799
- object_event 23, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CF16, 903
- object_event 24, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CF36, 903
- object_event 25, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 54, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_290DA8, 1009
- object_event 26, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 114, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_290DB5, 1010
- object_event 27, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 22, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_2906BB, 19
+ object_event 21, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CE96, FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
+ object_event 22, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CEB6, FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
+ object_event 23, EVENT_OBJ_GFX_REPORTER_F, 0, 13, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CF16, FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
+ object_event 24, EVENT_OBJ_GFX_CAMERAMAN, 0, 14, 86, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route111_EventScript_28CF36, FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
+ object_event 25, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 54, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_290DA8, FLAG_ITEM_ROUTE_111_STARDUST
+ object_event 26, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 114, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_290DB5, FLAG_ITEM_ROUTE_111_HP_UP
+ object_event 27, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 22, 21, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route111_EventScript_2906BB, FLAG_TEMP_13
object_event 28, EVENT_OBJ_GFX_PICNICKER, 0, 10, 82, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route111_EventScript_1F12D9, 0
object_event 29, EVENT_OBJ_GFX_CAMPER, 0, 11, 71, 3, MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT, 0, 0, 1, 3, Route111_EventScript_1F12C2, 0
object_event 30, EVENT_OBJ_GFX_BLACK_BELT, 0, 32, 29, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 1, 0, 1, 2, Route111_EventScript_1F12F0, 0
object_event 31, EVENT_OBJ_GFX_WOMAN_5, 0, 11, 11, 3, MOVEMENT_TYPE_FACE_UP, 4, 0, 1, 4, Route111_EventScript_1F1369, 0
object_event 32, EVENT_OBJ_GFX_MAN_3, 0, 9, 27, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route111_EventScript_1F1307, 0
- object_event 33, EVENT_OBJ_GFX_BOY_1, 0, 13, 20, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_2765FF, 960
+ object_event 33, EVENT_OBJ_GFX_BOY_1, 0, 13, 20, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_2765FF, FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN
object_event 34, EVENT_OBJ_GFX_MAN_4, 0, 20, 114, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route111_EventScript_1F1192, 0
object_event 35, EVENT_OBJ_GFX_CAMPER, 0, 26, 132, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 5, Route111_EventScript_1F13F9, 0
object_event 36, EVENT_OBJ_GFX_WOMAN_2, 0, 20, 132, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 5, Route111_EventScript_1F1410, 0
@@ -40,11 +40,11 @@ Route111_EventObjects: @ 85291F0
object_event 39, EVENT_OBJ_GFX_HIKER, 0, 29, 77, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 1, 7, Route111_EventScript_1F143E, 0
object_event 40, EVENT_OBJ_GFX_PICNICKER, 0, 22, 77, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 6, Route111_EventScript_1F1427, 0
object_event 41, EVENT_OBJ_GFX_CAMPER, 0, 37, 77, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 7, Route111_EventScript_1F1455, 0
- object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 118, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_290DC2, 1142
+ object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 118, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_290DC2, FLAG_ITEM_ROUTE_111_ELIXIR
object_event 43, EVENT_OBJ_GFX_HIKER, 0, 14, 56, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 0, 0, Route111_EventScript_1F119B, 0
- object_event 44, EVENT_OBJ_GFX_FOSSIL, 0, 20, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 876
- object_event 45, EVENT_OBJ_GFX_HIPSTER, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 875
- object_event 46, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 101, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_1F11E4, 843
+ object_event 44, EVENT_OBJ_GFX_FOSSIL, 0, 20, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_DESERT_FOSSIL
+ object_event 45, EVENT_OBJ_GFX_HIPSTER, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_DESERT_RIVAL
+ object_event 46, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 101, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_1F11E4, FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY
Route111_MapWarps: @ 8529640
warp_def 13, 113, 0, 0, MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE
@@ -100,13 +100,13 @@ Route111_MapBGEvents: @ 8529888
bg_event 25, 19, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_1F1177
bg_secret_base_event 35, 1, 0, SECRET_BASE_RED_CAVE2_3
bg_secret_base_event 35, 31, 0, SECRET_BASE_YELLOW_CAVE4_3
- bg_hidden_item_event 26, 70, 0, ITEM_STARDUST, 2
+ bg_hidden_item_event 26, 70, 0, ITEM_STARDUST, FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST
bg_secret_base_event 27, 27, 3, SECRET_BASE_RED_CAVE4_3
bg_event 7, 84, 3, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_1F1180
bg_secret_base_event 14, 19, 0, SECRET_BASE_TREE1_4
bg_secret_base_event 13, 19, 0, SECRET_BASE_TREE1_1
- bg_hidden_item_event 19, 55, 0, ITEM_PROTEIN, 56
- bg_hidden_item_event 35, 66, 0, ITEM_RARE_CANDY, 57
+ bg_hidden_item_event 19, 55, 0, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN
+ bg_hidden_item_event 35, 66, 0, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY
bg_event 24, 116, 0, BG_EVENT_PLAYER_FACING_ANY, Route111_EventScript_1F146C
Route111_MapEvents:: @ 8529960
diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc
index 6be0eba1d..f03dc38ac 100644
--- a/data/maps/Route111/scripts.inc
+++ b/data/maps/Route111/scripts.inc
@@ -89,10 +89,10 @@ Route111_EventScript_1F0E25:: @ 81F0E25
return
Route111_EventScript_1F0E26:: @ 81F0E26
- clearflag FLAG_0x300
- setflag FLAG_0x301
- setflag FLAG_0x302
- setflag FLAG_0x303
+ clearflag FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE
+ setflag FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE
cleartrainerflag TRAINER_VICTOR
cleartrainerflag TRAINER_VICTORIA
cleartrainerflag TRAINER_VIVI
@@ -137,15 +137,15 @@ Route111_EventScript_1F0E60:: @ 81F0E60
special sub_81BEB7C
waitstate
setvar VAR_0x40CB, 2
- clearflag FLAG_0x36A
+ clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
checkflag FLAG_0x150
goto_eq Route111_EventScript_1F0EA7
- msgbox Route111_Text_1F1C74, 4
+ msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT
releaseall
end
Route111_EventScript_1F0EA7:: @ 81F0EA7
- msgbox Route111_Text_1F1C9F, 4
+ msgbox Route111_Text_1F1C9F, MSGBOX_DEFAULT
releaseall
end
@@ -165,18 +165,18 @@ Route111_EventScript_1F0EB9:: @ 81F0EB9
dodailyevents
checkflag FLAG_0x92C
goto_eq Route111_EventScript_1F0EF4
- msgbox Route111_Text_2A6EBD, 4
+ msgbox Route111_Text_2A6EBD, MSGBOX_DEFAULT
giveitem_std ITEM_RAZZ_BERRY
compare VAR_RESULT, 0
goto_eq Route111_EventScript_272054
setflag FLAG_0x92C
special GetPlayerBigGuyGirlString
- msgbox Route111_Text_2A6F3D, 4
+ msgbox Route111_Text_2A6F3D, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F0EF4:: @ 81F0EF4
- msgbox Route111_Text_2A6F9A, 4
+ msgbox Route111_Text_2A6F9A, MSGBOX_DEFAULT
release
end
@@ -213,7 +213,7 @@ Route111_EventScript_1F0F2E:: @ 81F0F2E
end
Route111_EventScript_1F0F45:: @ 81F0F45
- msgbox gUnknown_08272C5F, 4
+ msgbox gUnknown_08272C5F, MSGBOX_DEFAULT
closemessage
compare VAR_0x8004, 0
call_if 1, Route111_EventScript_1F0F7C
@@ -279,20 +279,20 @@ Route111_EventScript_1F0FC5:: @ 81F0FC5
lock
faceplayer
setflag FLAG_LANDMARK_WINSTRATE_FAMILY
- msgbox Route111_Text_1F1475, 5
+ msgbox Route111_Text_1F1475, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route111_EventScript_1F0FE7
- msgbox Route111_Text_1F14F5, 4
+ msgbox Route111_Text_1F14F5, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F0FE7:: @ 81F0FE7
- msgbox Route111_Text_1F1523, 4
- trainerbattle 3, TRAINER_VICTOR, 0, Route111_Text_1F1542
+ msgbox Route111_Text_1F1523, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VICTOR, Route111_Text_1F1542
applymovement 1, Route111_Movement_2725A6
waitmovement 0
call Route111_EventScript_1F113C
- msgbox Route111_Text_1F156F, 4
+ msgbox Route111_Text_1F156F, MSGBOX_DEFAULT
closemessage
applymovement 1, Route111_Movement_1F114A
waitmovement 0
@@ -305,12 +305,12 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7
applymovement 2, Route111_Movement_1F114D
waitmovement 0
call Route111_EventScript_1F1143
- msgbox Route111_Text_1F159D, 4
- trainerbattle 3, TRAINER_VICTORIA, 0, Route111_Text_1F1616
+ msgbox Route111_Text_1F159D, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VICTORIA, Route111_Text_1F1616
applymovement 2, Route111_Movement_2725A6
waitmovement 0
call Route111_EventScript_1F113C
- msgbox Route111_Text_1F1645, 4
+ msgbox Route111_Text_1F1645, MSGBOX_DEFAULT
closemessage
applymovement 2, Route111_Movement_1F114A
waitmovement 0
@@ -323,12 +323,12 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7
applymovement 3, Route111_Movement_1F114D
waitmovement 0
call Route111_EventScript_1F1143
- msgbox Route111_Text_1F167E, 4
- trainerbattle 3, TRAINER_VIVI, 0, Route111_Text_1F16C6
+ msgbox Route111_Text_1F167E, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VIVI, Route111_Text_1F16C6
applymovement 3, Route111_Movement_2725A6
waitmovement 0
call Route111_EventScript_1F113C
- msgbox Route111_Text_1F16DC, 4
+ msgbox Route111_Text_1F16DC, MSGBOX_DEFAULT
closemessage
applymovement 3, Route111_Movement_1F114A
waitmovement 0
@@ -341,9 +341,9 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7
applymovement 4, Route111_Movement_1F114D
waitmovement 0
call Route111_EventScript_1F1143
- msgbox Route111_Text_1F16FB, 4
- trainerbattle 3, TRAINER_VICKY, 0, Route111_Text_1F1756
- msgbox Route111_Text_1F1788, 4
+ msgbox Route111_Text_1F16FB, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_VICKY, Route111_Text_1F1756
+ msgbox Route111_Text_1F1788, MSGBOX_DEFAULT
closemessage
applymovement 4, Route111_Movement_2725A6
waitmovement 0
@@ -381,35 +381,35 @@ Route111_Movement_1F114F: @ 81F114F
step_end
Route111_EventScript_1F1153:: @ 81F1153
- msgbox Route111_Text_1F18CE, 3
+ msgbox Route111_Text_1F18CE, MSGBOX_SIGN
end
Route111_EventScript_1F115C:: @ 81F115C
- msgbox Route111_Text_1F18E8, 3
+ msgbox Route111_Text_1F18E8, MSGBOX_SIGN
end
Route111_EventScript_1F1165:: @ 81F1165
- msgbox Route111_Text_1F1921, 3
+ msgbox Route111_Text_1F1921, MSGBOX_SIGN
end
Route111_EventScript_1F116E:: @ 81F116E
- msgbox Route111_Text_1F1937, 3
+ msgbox Route111_Text_1F1937, MSGBOX_SIGN
end
Route111_EventScript_1F1177:: @ 81F1177
- msgbox Route111_Text_1F194D, 3
+ msgbox Route111_Text_1F194D, MSGBOX_SIGN
end
Route111_EventScript_1F1180:: @ 81F1180
- msgbox Route111_Text_1F1987, 3
+ msgbox Route111_Text_1F1987, MSGBOX_SIGN
end
Route111_EventScript_1F1189:: @ 81F1189
- msgbox Route111_Text_1F17BA, 2
+ msgbox Route111_Text_1F17BA, MSGBOX_NPC
end
Route111_EventScript_1F1192:: @ 81F1192
- msgbox Route111_Text_1F186E, 2
+ msgbox Route111_Text_1F186E, MSGBOX_NPC
end
Route111_EventScript_1F119B:: @ 81F119B
@@ -421,22 +421,22 @@ Route111_EventScript_1F119B:: @ 81F119B
goto_eq Route111_EventScript_1F11D0
checkflag FLAG_0x14E
goto_eq Route111_EventScript_1F11DA
- msgbox Route111_Text_1F1A22, 4
+ msgbox Route111_Text_1F1A22, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F11C6:: @ 81F11C6
- msgbox Route111_Text_1F1C12, 4
+ msgbox Route111_Text_1F1C12, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F11D0:: @ 81F11D0
- msgbox Route111_Text_1F1B92, 4
+ msgbox Route111_Text_1F1B92, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F11DA:: @ 81F11DA
- msgbox Route111_Text_1F1AC7, 4
+ msgbox Route111_Text_1F1AC7, MSGBOX_DEFAULT
release
end
@@ -444,7 +444,7 @@ Route111_EventScript_1F11E4:: @ 81F11E4
lockall
applymovement 46, Route111_Movement_27259E
waitmovement 0
- msgbox Route111_Text_1F1CCA, 4
+ msgbox Route111_Text_1F1CCA, MSGBOX_DEFAULT
closemessage
applymovement 46, Route111_Movement_2725A2
waitmovement 0
@@ -452,152 +452,143 @@ Route111_EventScript_1F11E4:: @ 81F11E4
end
Route111_EventScript_1F1204:: @ 81F1204
- trainerbattle 0, TRAINER_DREW, 0, Route111_Text_29878E, Route111_Text_29880A
- msgbox Route111_Text_298853, 6
+ trainerbattle_single TRAINER_DREW, Route111_Text_29878E, Route111_Text_29880A
+ msgbox Route111_Text_298853, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F121B:: @ 81F121B
- trainerbattle 0, TRAINER_HEIDI, 0, Route111_Text_2988A3, Route111_Text_298908
- msgbox Route111_Text_29891B, 6
+ trainerbattle_single TRAINER_HEIDI, Route111_Text_2988A3, Route111_Text_298908
+ msgbox Route111_Text_29891B, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1232:: @ 81F1232
- trainerbattle 0, TRAINER_BEAU, 0, Route111_Text_29898E, Route111_Text_2989E6
- msgbox Route111_Text_298A03, 6
+ trainerbattle_single TRAINER_BEAU, Route111_Text_29898E, Route111_Text_2989E6
+ msgbox Route111_Text_298A03, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1249:: @ 81F1249
- trainerbattle 0, TRAINER_BECKY, 0, Route111_Text_298A65, Route111_Text_298AAF
- msgbox Route111_Text_298AC0, 6
+ trainerbattle_single TRAINER_BECKY, Route111_Text_298A65, Route111_Text_298AAF
+ msgbox Route111_Text_298AC0, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1260:: @ 81F1260
- trainerbattle 2, TRAINER_DUSTY_1, 0, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C
+ 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
- msgbox Route111_Text_298B9A, 4
+ msgbox Route111_Text_298B9A, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F128C:: @ 81F128C
special sub_80B4808
waitmovement 0
- msgbox Route111_Text_298C00, 4
- setvar VAR_0x8004, 44
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 44
- callstd 8
+ msgbox Route111_Text_298C00, MSGBOX_DEFAULT
+ register_matchcall TRAINER_DUSTY_1
release
end
Route111_EventScript_1F12AB:: @ 81F12AB
- trainerbattle 5, TRAINER_DUSTY_1, 0, Route111_Text_298C5F, Route111_Text_298CD2
- msgbox Route111_Text_298D0C, 6
+ trainerbattle_rematch TRAINER_DUSTY_1, Route111_Text_298C5F, Route111_Text_298CD2
+ msgbox Route111_Text_298D0C, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F12C2:: @ 81F12C2
- trainerbattle 0, TRAINER_TRAVIS, 0, Route111_Text_298DA9, Route111_Text_298DD8
- msgbox Route111_Text_298DF1, 6
+ trainerbattle_single TRAINER_TRAVIS, Route111_Text_298DA9, Route111_Text_298DD8
+ msgbox Route111_Text_298DF1, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F12D9:: @ 81F12D9
- trainerbattle 0, TRAINER_IRENE, 0, Route111_Text_298E2F, Route111_Text_298E6E
- msgbox Route111_Text_298E8C, 6
+ trainerbattle_single TRAINER_IRENE, Route111_Text_298E2F, Route111_Text_298E6E
+ msgbox Route111_Text_298E8C, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F12F0:: @ 81F12F0
- trainerbattle 0, TRAINER_DAISUKE, 0, Route111_Text_298EE6, Route111_Text_298F14
- msgbox Route111_Text_298F26, 6
+ trainerbattle_single TRAINER_DAISUKE, Route111_Text_298EE6, Route111_Text_298F14
+ msgbox Route111_Text_298F26, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1307:: @ 81F1307
- trainerbattle 2, TRAINER_WILTON_1, 0, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333
+ 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
- msgbox Route111_Text_298FD4, 4
+ msgbox Route111_Text_298FD4, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F1333:: @ 81F1333
special sub_80B4808
waitmovement 0
- msgbox Route111_Text_29903D, 4
- setvar VAR_0x8004, 78
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 78
- callstd 8
+ msgbox Route111_Text_29903D, MSGBOX_DEFAULT
+ register_matchcall TRAINER_WILTON_1
release
end
Route111_EventScript_1F1352:: @ 81F1352
- trainerbattle 5, TRAINER_WILTON_1, 0, Route111_Text_29909B, Route111_Text_2990EE
- msgbox Route111_Text_299102, 6
+ trainerbattle_rematch TRAINER_WILTON_1, Route111_Text_29909B, Route111_Text_2990EE
+ msgbox Route111_Text_299102, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1369:: @ 81F1369
- trainerbattle 2, TRAINER_BROOKE_1, 0, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395
+ 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
- msgbox Route111_Text_2991C2, 4
+ msgbox Route111_Text_2991C2, MSGBOX_DEFAULT
release
end
Route111_EventScript_1F1395:: @ 81F1395
special sub_80B4808
waitmovement 0
- msgbox Route111_Text_29921D, 4
- setvar VAR_0x8004, 94
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 94
- callstd 8
+ msgbox Route111_Text_29921D, MSGBOX_DEFAULT
+ register_matchcall TRAINER_BROOKE_1
release
end
Route111_EventScript_1F13B4:: @ 81F13B4
- trainerbattle 5, TRAINER_BROOKE_1, 0, Route111_Text_29925D, Route111_Text_2992D6
- msgbox Route111_Text_2992F5, 6
+ trainerbattle_rematch TRAINER_BROOKE_1, Route111_Text_29925D, Route111_Text_2992D6
+ msgbox Route111_Text_2992F5, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F13CB:: @ 81F13CB
- trainerbattle 0, TRAINER_HAYDEN, 0, Route111_Text_299682, Route111_Text_2996BE
- msgbox Route111_Text_2996C5, 6
+ trainerbattle_single TRAINER_HAYDEN, Route111_Text_299682, Route111_Text_2996BE
+ msgbox Route111_Text_2996C5, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F13E2:: @ 81F13E2
- trainerbattle 0, TRAINER_BIANCA, 0, Route111_Text_2996FE, Route111_Text_29973D
- msgbox Route111_Text_29975D, 6
+ trainerbattle_single TRAINER_BIANCA, Route111_Text_2996FE, Route111_Text_29973D
+ msgbox Route111_Text_29975D, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F13F9:: @ 81F13F9
- trainerbattle 0, TRAINER_TYRON, 0, Route111_Text_299524, Route111_Text_299549
- msgbox Route111_Text_299576, 6
+ trainerbattle_single TRAINER_TYRON, Route111_Text_299524, Route111_Text_299549
+ msgbox Route111_Text_299576, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1410:: @ 81F1410
- trainerbattle 0, TRAINER_CELINA, 0, Route111_Text_2995F0, Route111_Text_299625
- msgbox Route111_Text_29964B, 6
+ trainerbattle_single TRAINER_CELINA, Route111_Text_2995F0, Route111_Text_299625
+ msgbox Route111_Text_29964B, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1427:: @ 81F1427
- trainerbattle 0, TRAINER_CELIA, 0, Route111_Text_29934B, Route111_Text_299384
- msgbox Route111_Text_2993A7, 6
+ trainerbattle_single TRAINER_CELIA, Route111_Text_29934B, Route111_Text_299384
+ msgbox Route111_Text_2993A7, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F143E:: @ 81F143E
- trainerbattle 0, TRAINER_BRYAN, 0, Route111_Text_299401, Route111_Text_299431
- msgbox Route111_Text_29945F, 6
+ trainerbattle_single TRAINER_BRYAN, Route111_Text_299401, Route111_Text_299431
+ msgbox Route111_Text_29945F, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F1455:: @ 81F1455
- trainerbattle 0, TRAINER_BRANDEN, 0, Route111_Text_299493, Route111_Text_2994C5
- msgbox Route111_Text_2994FB, 6
+ trainerbattle_single TRAINER_BRANDEN, Route111_Text_299493, Route111_Text_2994C5
+ msgbox Route111_Text_2994FB, MSGBOX_AUTOCLOSE
end
Route111_EventScript_1F146C:: @ 81F146C
- msgbox Route111_Text_1F1D61, 3
+ msgbox Route111_Text_1F1D61, MSGBOX_SIGN
end
Route111_Text_1F1475: @ 81F1475
diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc
index 015a584f4..d1dea14d3 100644
--- a/data/maps/Route111_OldLadysRestStop/scripts.inc
+++ b/data/maps/Route111_OldLadysRestStop/scripts.inc
@@ -9,7 +9,7 @@ Route111_OldLadysRestStop_MapScript1_22A91C: @ 822A91C
Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920
lock
faceplayer
- msgbox Route111_OldLadysRestStop_Text_22A978, 5
+ msgbox Route111_OldLadysRestStop_Text_22A978, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route111_OldLadysRestStop_EventScript_22A941
compare VAR_RESULT, 0
@@ -17,10 +17,10 @@ Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920
end
Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941
- msgbox Route111_OldLadysRestStop_Text_22A9EC, 4
+ msgbox Route111_OldLadysRestStop_Text_22A9EC, MSGBOX_DEFAULT
closemessage
call Route111_OldLadysRestStop_EventScript_272083
- msgbox Route111_OldLadysRestStop_Text_22AA16, 5
+ msgbox Route111_OldLadysRestStop_Text_22AA16, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route111_OldLadysRestStop_EventScript_22A941
compare VAR_RESULT, 0
@@ -28,7 +28,7 @@ Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941
end
Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E
- msgbox Route111_OldLadysRestStop_Text_22AA8F, 4
+ msgbox Route111_OldLadysRestStop_Text_22AA8F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
index 847119d2e..c1aca9b8f 100644
--- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
+++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
@@ -5,7 +5,7 @@ Route111_WinstrateFamilysHouse_EventScript_22A48D:: @ 822A48D
lock
faceplayer
setvar VAR_0x8008, 2
- msgbox Route111_WinstrateFamilysHouse_Text_22A539, 4
+ msgbox Route111_WinstrateFamilysHouse_Text_22A539, MSGBOX_DEFAULT
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
end
@@ -15,7 +15,7 @@ Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2
setvar VAR_0x8008, 3
checkflag FLAG_0x115
goto_eq Route111_WinstrateFamilysHouse_EventScript_22A4DA
- msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, 4
+ msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, MSGBOX_DEFAULT
giveitem_std ITEM_MACHO_BRACE
compare VAR_RESULT, 0
goto_eq Route111_WinstrateFamilysHouse_EventScript_272054
@@ -24,7 +24,7 @@ Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2
end
Route111_WinstrateFamilysHouse_EventScript_22A4DA:: @ 822A4DA
- msgbox Route111_WinstrateFamilysHouse_Text_22A6B4, 4
+ msgbox Route111_WinstrateFamilysHouse_Text_22A6B4, MSGBOX_DEFAULT
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
end
@@ -32,7 +32,7 @@ Route111_WinstrateFamilysHouse_EventScript_22A4E8:: @ 822A4E8
lock
faceplayer
setvar VAR_0x8008, 1
- msgbox Route111_WinstrateFamilysHouse_Text_22A6F7, 4
+ msgbox Route111_WinstrateFamilysHouse_Text_22A6F7, MSGBOX_DEFAULT
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
end
@@ -40,15 +40,15 @@ Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD
lock
faceplayer
setvar VAR_0x8008, 4
- checkflag FLAG_0x004
+ checkflag FLAG_TEMP_4
goto_eq Route111_WinstrateFamilysHouse_EventScript_22A51E
- msgbox Route111_WinstrateFamilysHouse_Text_22A780, 4
- setflag FLAG_0x004
+ msgbox Route111_WinstrateFamilysHouse_Text_22A780, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_4
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
end
Route111_WinstrateFamilysHouse_EventScript_22A51E:: @ 822A51E
- msgbox Route111_WinstrateFamilysHouse_Text_22A89B, 4
+ msgbox Route111_WinstrateFamilysHouse_Text_22A89B, MSGBOX_DEFAULT
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
end
diff --git a/data/maps/Route112/events.inc b/data/maps/Route112/events.inc
index 123385208..cfa145e97 100644
--- a/data/maps/Route112/events.inc
+++ b/data/maps/Route112/events.inc
@@ -1,16 +1,16 @@
Route112_EventObjects: @ 8529974
- object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 26, 30, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route112_EventScript_1F1DB7, 819
+ object_event 1, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 26, 30, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route112_EventScript_1F1DB7, FLAG_HIDE_ROUTE_112_TEAM_MAGMA
object_event 2, EVENT_OBJ_GFX_HIKER, 0, 24, 34, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route112_EventScript_1F1E6A, 0
object_event 3, EVENT_OBJ_GFX_CAMPER, 0, 29, 49, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route112_EventScript_1F1EE3, 0
object_event 4, EVENT_OBJ_GFX_PICNICKER, 0, 22, 46, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route112_EventScript_1F1EFA, 0
object_event 5, EVENT_OBJ_GFX_HIKER, 0, 15, 40, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route112_EventScript_1F1E81, 0
- object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 27, 30, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route112_EventScript_1F1DB7, 819
+ object_event 6, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 27, 30, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route112_EventScript_1F1DB7, FLAG_HIDE_ROUTE_112_TEAM_MAGMA
object_event 7, EVENT_OBJ_GFX_BERRY_TREE, 0, 27, 6, 0, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 24, BerryTreeScript, 0
object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 28, 6, 0, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 23, BerryTreeScript, 0
object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 29, 6, 0, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 22, BerryTreeScript, 0
object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 30, 6, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 21, BerryTreeScript, 0
object_event 11, EVENT_OBJ_GFX_HIKER, 0, 8, 50, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 0, 3, 0, 0, Route112_EventScript_1F1E61, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 43, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route112_EventScript_290DCF, 1011
+ object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 43, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route112_EventScript_290DCF, FLAG_ITEM_ROUTE_112_NUGGET
object_event 13, EVENT_OBJ_GFX_MAN_5, 0, 31, 7, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 3, Route112_EventScript_1F1F11, 0
object_event 14, EVENT_OBJ_GFX_WOMAN_2, 0, 31, 11, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 1, 3, Route112_EventScript_1F1F28, 0
diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc
index 4f7e20b94..cb6a48dce 100644
--- a/data/maps/Route112/scripts.inc
+++ b/data/maps/Route112/scripts.inc
@@ -13,7 +13,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7
applymovement 1, Route112_Movement_2725A8
waitmovement 0
delay 20
- msgbox Route112_Text_1F1F3F, 4
+ msgbox Route112_Text_1F1F3F, MSGBOX_DEFAULT
closemessage
applymovement 1, Route112_Movement_2725A2
waitmovement 0
@@ -21,7 +21,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7
applymovement 6, Route112_Movement_2725A4
waitmovement 0
delay 20
- msgbox Route112_Text_1F1F7A, 4
+ msgbox Route112_Text_1F1F7A, MSGBOX_DEFAULT
closemessage
applymovement 6, Route112_Movement_2725A2
waitmovement 0
@@ -29,7 +29,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7
applymovement 1, Route112_Movement_2725A8
waitmovement 0
delay 20
- msgbox Route112_Text_1F1FBA, 4
+ msgbox Route112_Text_1F1FBA, MSGBOX_DEFAULT
closemessage
applymovement 1, Route112_Movement_2725A2
waitmovement 0
@@ -37,7 +37,7 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7
applymovement 6, Route112_Movement_2725A4
waitmovement 0
delay 20
- msgbox Route112_Text_1F2003, 4
+ msgbox Route112_Text_1F2003, MSGBOX_DEFAULT
closemessage
applymovement 6, Route112_Movement_2725A2
waitmovement 0
@@ -45,69 +45,66 @@ Route112_EventScript_1F1DB7:: @ 81F1DB7
end
Route112_EventScript_1F1E46:: @ 81F1E46
- msgbox Route112_Text_1F20C1, 3
+ msgbox Route112_Text_1F20C1, MSGBOX_SIGN
end
Route112_EventScript_1F1E4F:: @ 81F1E4F
- msgbox Route112_Text_1F20ED, 3
+ msgbox Route112_Text_1F20ED, MSGBOX_SIGN
end
Route112_EventScript_1F1E58:: @ 81F1E58
- msgbox Route112_Text_1F2138, 3
+ msgbox Route112_Text_1F2138, MSGBOX_SIGN
end
Route112_EventScript_1F1E61:: @ 81F1E61
- msgbox Route112_Text_1F204E, 2
+ msgbox Route112_Text_1F204E, MSGBOX_NPC
end
Route112_EventScript_1F1E6A:: @ 81F1E6A
- trainerbattle 0, TRAINER_BRICE, 0, Route112_Text_29978E, Route112_Text_2997CA
- msgbox Route112_Text_2997DC, 6
+ trainerbattle_single TRAINER_BRICE, Route112_Text_29978E, Route112_Text_2997CA
+ msgbox Route112_Text_2997DC, MSGBOX_AUTOCLOSE
end
Route112_EventScript_1F1E81:: @ 81F1E81
- trainerbattle 2, TRAINER_TRENT_1, 0, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD
+ 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
- msgbox Route112_Text_299896, 4
+ msgbox Route112_Text_299896, MSGBOX_DEFAULT
release
end
Route112_EventScript_1F1EAD:: @ 81F1EAD
special sub_80B4808
waitmovement 0
- msgbox Route112_Text_29993C, 4
- setvar VAR_0x8004, 627
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 627
- callstd 8
+ msgbox Route112_Text_29993C, MSGBOX_DEFAULT
+ register_matchcall TRAINER_TRENT_1
release
end
Route112_EventScript_1F1ECC:: @ 81F1ECC
- trainerbattle 5, TRAINER_TRENT_1, 0, Route112_Text_2999BD, Route112_Text_2999F7
- msgbox Route112_Text_299A0F, 6
+ trainerbattle_rematch TRAINER_TRENT_1, Route112_Text_2999BD, Route112_Text_2999F7
+ msgbox Route112_Text_299A0F, MSGBOX_AUTOCLOSE
end
Route112_EventScript_1F1EE3:: @ 81F1EE3
- trainerbattle 0, TRAINER_LARRY, 0, Route112_Text_299A89, Route112_Text_299AAC
- msgbox Route112_Text_299AB4, 6
+ trainerbattle_single TRAINER_LARRY, Route112_Text_299A89, Route112_Text_299AAC
+ msgbox Route112_Text_299AB4, MSGBOX_AUTOCLOSE
end
Route112_EventScript_1F1EFA:: @ 81F1EFA
- trainerbattle 0, TRAINER_CAROL, 0, Route112_Text_299AE4, Route112_Text_299B36
- msgbox Route112_Text_299B4C, 6
+ trainerbattle_single TRAINER_CAROL, Route112_Text_299AE4, Route112_Text_299B36
+ msgbox Route112_Text_299B4C, MSGBOX_AUTOCLOSE
end
Route112_EventScript_1F1F11:: @ 81F1F11
- trainerbattle 0, TRAINER_BRYANT, 0, Route112_Text_299BAE, Route112_Text_299BDF
- msgbox Route112_Text_299BFB, 6
+ trainerbattle_single TRAINER_BRYANT, Route112_Text_299BAE, Route112_Text_299BDF
+ msgbox Route112_Text_299BFB, MSGBOX_AUTOCLOSE
end
Route112_EventScript_1F1F28:: @ 81F1F28
- trainerbattle 0, TRAINER_SHAYLA, 0, Route112_Text_299C34, Route112_Text_299C8F
- msgbox Route112_Text_299CC6, 6
+ trainerbattle_single TRAINER_SHAYLA, Route112_Text_299C34, Route112_Text_299C8F
+ msgbox Route112_Text_299CC6, MSGBOX_AUTOCLOSE
end
Route112_Text_1F1F3F: @ 81F1F3F
diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc
index 93e8ea759..905e9e9ea 100644
--- a/data/maps/Route112_CableCarStation/scripts.inc
+++ b/data/maps/Route112_CableCarStation/scripts.inc
@@ -32,7 +32,7 @@ Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3
Route112_CableCarStation_EventScript_22AB17:: @ 822AB17
lock
faceplayer
- msgbox Route112_CableCarStation_Text_22AB85, 5
+ msgbox Route112_CableCarStation_Text_22AB85, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route112_CableCarStation_EventScript_22AB38
compare VAR_RESULT, 0
@@ -40,7 +40,7 @@ Route112_CableCarStation_EventScript_22AB17:: @ 822AB17
end
Route112_CableCarStation_EventScript_22AB38:: @ 822AB38
- msgbox Route112_CableCarStation_Text_22ABC2, 4
+ msgbox Route112_CableCarStation_Text_22ABC2, MSGBOX_DEFAULT
closemessage
applymovement 1, Route112_CableCarStation_Movement_22AB71
applymovement 255, Route112_CableCarStation_Movement_22AB7B
@@ -55,7 +55,7 @@ Route112_CableCarStation_EventScript_22AB38:: @ 822AB38
end
Route112_CableCarStation_EventScript_22AB67:: @ 822AB67
- msgbox Route112_CableCarStation_Text_22ABD8, 4
+ msgbox Route112_CableCarStation_Text_22ABD8, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route113/events.inc b/data/maps/Route113/events.inc
index 21bae5dc6..b2481d6ed 100644
--- a/data/maps/Route113/events.inc
+++ b/data/maps/Route113/events.inc
@@ -4,13 +4,13 @@ Route113_EventObjects: @ 8529B2C
object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 62, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route113_EventScript_1F21C0, 0
object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 21, 11, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 3, Route113_EventScript_1F21D7, 0
object_event 5, EVENT_OBJ_GFX_WOMAN_5, 0, 51, 11, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 2, Route113_EventScript_1F21EE, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 53, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route113_EventScript_290DDC, 1012
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 79, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route113_EventScript_290DE9, 1013
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 53, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route113_EventScript_290DDC, FLAG_ITEM_ROUTE_113_MAX_ETHER
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 79, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route113_EventScript_290DE9, FLAG_ITEM_ROUTE_113_SUPER_REPEL
object_event 8, EVENT_OBJ_GFX_NINJA_BOY, 0, 29, 6, 3, MOVEMENT_TYPE_HIDDEN, 0, 0, 3, 1, Route113_EventScript_1F2250, 0
object_event 9, EVENT_OBJ_GFX_NINJA_BOY, 0, 71, 2, 3, MOVEMENT_TYPE_HIDDEN, 0, 0, 3, 1, Route113_EventScript_1F22B2, 0
object_event 10, EVENT_OBJ_GFX_TWIN, 0, 45, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route113_EventScript_1F22C9, 0
object_event 11, EVENT_OBJ_GFX_TWIN, 0, 46, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route113_EventScript_1F22E4, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route113_EventScript_290DF6, 1143
+ object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 15, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route113_EventScript_290DF6, FLAG_ITEM_ROUTE_113_HYPER_POTION
object_event 13, EVENT_OBJ_GFX_MANIAC, 0, 75, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, Route113_EventScript_1F2344, 0
object_event 14, EVENT_OBJ_GFX_CAMPER, 0, 71, 4, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 1, Route113_EventScript_1F232D, 0
object_event 15, EVENT_OBJ_GFX_PICNICKER, 0, 7, 6, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 3, 1, 6, Route113_EventScript_1F22FF, 0
@@ -48,9 +48,9 @@ Route113_MapBGEvents: @ 8529DF4
bg_event 58, 4, 3, BG_EVENT_PLAYER_FACING_ANY, Route113_EventScript_1F21B7
bg_event 31, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route113_EventScript_1F21AE
bg_secret_base_event 49, 8, 3, SECRET_BASE_RED_CAVE1_3
- bg_hidden_item_event 66, 3, 3, ITEM_ETHER, 3
- bg_hidden_item_event 22, 5, 3, ITEM_TM32, 30
- bg_hidden_item_event 73, 3, 3, ITEM_NUGGET, 98
+ bg_hidden_item_event 66, 3, 3, ITEM_ETHER, FLAG_HIDDEN_ITEM_ROUTE_113_ETHER
+ bg_hidden_item_event 22, 5, 3, ITEM_TM32, FLAG_HIDDEN_ITEM_ROUTE_113_TM_32
+ bg_hidden_item_event 73, 3, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET
Route113_MapEvents:: @ 8529E54
map_events Route113_EventObjects, Route113_MapWarps, Route113_MapCoordEvents, Route113_MapBGEvents
diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc
index ce2c4b47d..550029289 100644
--- a/data/maps/Route113/scripts.inc
+++ b/data/maps/Route113/scripts.inc
@@ -25,122 +25,116 @@ Route113_EventScript_1F2189:: @ 81F2189
return
Route113_EventScript_1F218A:: @ 81F218A
- msgbox Route113_Text_1F235B, 2
+ msgbox Route113_Text_1F235B, MSGBOX_NPC
end
Route113_EventScript_1F2193:: @ 81F2193
- msgbox Route113_Text_1F23CA, 2
+ msgbox Route113_Text_1F23CA, MSGBOX_NPC
end
Route113_EventScript_1F219C:: @ 81F219C
- msgbox Route113_Text_1F2440, 3
+ msgbox Route113_Text_1F2440, MSGBOX_SIGN
end
Route113_EventScript_1F21A5:: @ 81F21A5
- msgbox Route113_Text_1F2456, 3
+ msgbox Route113_Text_1F2456, MSGBOX_SIGN
end
Route113_EventScript_1F21AE:: @ 81F21AE
- msgbox Route113_Text_1F24F8, 3
+ msgbox Route113_Text_1F24F8, MSGBOX_SIGN
end
Route113_EventScript_1F21B7:: @ 81F21B7
- msgbox Route113_Text_1F2471, 3
+ msgbox Route113_Text_1F2471, MSGBOX_SIGN
end
Route113_EventScript_1F21C0:: @ 81F21C0
- trainerbattle 0, TRAINER_JAYLEN, 0, Route113_Text_299D3C, Route113_Text_299D68
- msgbox Route113_Text_299D7D, 6
+ trainerbattle_single TRAINER_JAYLEN, Route113_Text_299D3C, Route113_Text_299D68
+ msgbox Route113_Text_299D7D, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F21D7:: @ 81F21D7
- trainerbattle 0, TRAINER_DILLON, 0, Route113_Text_299DE3, Route113_Text_299E1C
- msgbox Route113_Text_299E38, 6
+ trainerbattle_single TRAINER_DILLON, Route113_Text_299DE3, Route113_Text_299E1C
+ msgbox Route113_Text_299E38, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F21EE:: @ 81F21EE
- trainerbattle 2, TRAINER_MADELINE_1, 0, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A
+ 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
- msgbox Route113_Text_299F15, 4
+ msgbox Route113_Text_299F15, MSGBOX_DEFAULT
release
end
Route113_EventScript_1F221A:: @ 81F221A
special sub_80B4808
waitmovement 0
- msgbox Route113_Text_299F49, 4
- setvar VAR_0x8004, 434
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 434
- callstd 8
+ msgbox Route113_Text_299F49, MSGBOX_DEFAULT
+ register_matchcall TRAINER_MADELINE_1
release
end
Route113_EventScript_1F2239:: @ 81F2239
- trainerbattle 5, TRAINER_MADELINE_1, 0, Route113_Text_299F8A, Route113_Text_299FC9
- msgbox Route113_Text_299FD8, 6
+ trainerbattle_rematch TRAINER_MADELINE_1, Route113_Text_299F8A, Route113_Text_299FC9
+ msgbox Route113_Text_299FD8, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F2250:: @ 81F2250
- trainerbattle 2, TRAINER_LAO_1, 0, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C
+ 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
- msgbox Route113_Text_29A067, 4
+ msgbox Route113_Text_29A067, MSGBOX_DEFAULT
release
end
Route113_EventScript_1F227C:: @ 81F227C
special sub_80B4808
waitmovement 0
- msgbox Route113_Text_29A0A2, 4
- setvar VAR_0x8004, 419
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 419
- callstd 8
+ msgbox Route113_Text_29A0A2, MSGBOX_DEFAULT
+ register_matchcall TRAINER_LAO_1
release
end
Route113_EventScript_1F229B:: @ 81F229B
- trainerbattle 5, TRAINER_LAO_1, 0, Route113_Text_29A0E8, Route113_Text_29A11F
- msgbox Route113_Text_29A13A, 6
+ trainerbattle_rematch TRAINER_LAO_1, Route113_Text_29A0E8, Route113_Text_29A11F
+ msgbox Route113_Text_29A13A, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F22B2:: @ 81F22B2
- trainerbattle 0, TRAINER_LUNG, 0, Route113_Text_29A192, Route113_Text_29A1C6
- msgbox Route113_Text_29A219, 6
+ trainerbattle_single TRAINER_LUNG, Route113_Text_29A192, Route113_Text_29A1C6
+ msgbox Route113_Text_29A219, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F22C9:: @ 81F22C9
- trainerbattle 4, TRAINER_TORI_AND_TIA, 0, Route113_Text_29A261, Route113_Text_29A29D, Route113_Text_29A31F
- msgbox Route113_Text_29A2DE, 6
+ trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_29A261, Route113_Text_29A29D, Route113_Text_29A31F
+ msgbox Route113_Text_29A2DE, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F22E4:: @ 81F22E4
- trainerbattle 4, TRAINER_TORI_AND_TIA, 0, Route113_Text_29A35C, Route113_Text_29A397, Route113_Text_29A419
- msgbox Route113_Text_29A3DA, 6
+ trainerbattle_double TRAINER_TORI_AND_TIA, Route113_Text_29A35C, Route113_Text_29A397, Route113_Text_29A419
+ msgbox Route113_Text_29A3DA, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F22FF:: @ 81F22FF
- trainerbattle 0, TRAINER_SOPHIE, 0, Route113_Text_29A4BF, Route113_Text_29A508
- msgbox Route113_Text_29A529, 6
+ trainerbattle_single TRAINER_SOPHIE, Route113_Text_29A4BF, Route113_Text_29A508
+ msgbox Route113_Text_29A529, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F2316:: @ 81F2316
- trainerbattle 0, TRAINER_COBY, 0, Route113_Text_29A453, Route113_Text_29A480
- msgbox Route113_Text_29A489, 6
+ trainerbattle_single TRAINER_COBY, Route113_Text_29A453, Route113_Text_29A480
+ msgbox Route113_Text_29A489, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F232D:: @ 81F232D
- trainerbattle 0, TRAINER_LAWRENCE, 0, Route113_Text_29A566, Route113_Text_29A5A0
- msgbox Route113_Text_29A5BE, 6
+ trainerbattle_single TRAINER_LAWRENCE, Route113_Text_29A566, Route113_Text_29A5A0
+ msgbox Route113_Text_29A5BE, MSGBOX_AUTOCLOSE
end
Route113_EventScript_1F2344:: @ 81F2344
- trainerbattle 0, TRAINER_WYATT, 0, Route113_Text_29A5E4, Route113_Text_29A628
- msgbox Route113_Text_29A65D, 6
+ trainerbattle_single TRAINER_WYATT, Route113_Text_29A5E4, Route113_Text_29A628
+ msgbox Route113_Text_29A65D, MSGBOX_AUTOCLOSE
end
Route113_Text_1F235B: @ 81F235B
diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc
index 5ea100567..7784cc79c 100644
--- a/data/maps/Route113_GlassWorkshop/scripts.inc
+++ b/data/maps/Route113_GlassWorkshop/scripts.inc
@@ -21,15 +21,15 @@ Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E
goto_eq Route113_GlassWorkshop_EventScript_26ED6E
compare VAR_0x40BE, 1
goto_eq Route113_GlassWorkshop_EventScript_26ED64
- msgbox Route113_GlassWorkshop_Text_26F19D, 4
+ msgbox Route113_GlassWorkshop_Text_26F19D, MSGBOX_DEFAULT
giveitem_std ITEM_SOOT_SACK
setvar VAR_0x40BE, 1
- msgbox Route113_GlassWorkshop_Text_26F252, 4
+ msgbox Route113_GlassWorkshop_Text_26F252, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64
- msgbox Route113_GlassWorkshop_Text_26F252, 4
+ msgbox Route113_GlassWorkshop_Text_26F252, MSGBOX_DEFAULT
release
end
@@ -37,7 +37,7 @@ Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E
checkitem ITEM_SOOT_SACK, 1
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26ED9D
- msgbox Route113_GlassWorkshop_Text_26F312, 4
+ msgbox Route113_GlassWorkshop_Text_26F312, MSGBOX_DEFAULT
compare VAR_ASH_GATHER_COUNT, 250
goto_if 0, Route113_GlassWorkshop_EventScript_26EFD6
message Route113_GlassWorkshop_Text_26F40A
@@ -46,7 +46,7 @@ Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E
end
Route113_GlassWorkshop_EventScript_26ED9D:: @ 826ED9D
- msgbox Route113_GlassWorkshop_Text_26F772, 4
+ msgbox Route113_GlassWorkshop_Text_26F772, MSGBOX_DEFAULT
release
end
@@ -73,7 +73,7 @@ Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E
setvar VAR_0x800A, 250
compare VAR_ASH_GATHER_COUNT, 250
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 10
@@ -87,7 +87,7 @@ Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A
setvar VAR_0x800A, 500
compare VAR_ASH_GATHER_COUNT, 500
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 11
@@ -101,7 +101,7 @@ Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96
setvar VAR_0x800A, 500
compare VAR_ASH_GATHER_COUNT, 500
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 12
@@ -115,7 +115,7 @@ Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2
setvar VAR_0x800A, 1000
compare VAR_ASH_GATHER_COUNT, 1000
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 13
@@ -129,7 +129,7 @@ Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E
setvar VAR_0x800A, 1000
compare VAR_ASH_GATHER_COUNT, 1000
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 14
@@ -144,7 +144,7 @@ Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A
setvar VAR_0x800A, 6000
compare VAR_ASH_GATHER_COUNT, 6000
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 15
@@ -159,7 +159,7 @@ Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B
setvar VAR_0x800A, 8000
compare VAR_ASH_GATHER_COUNT, 8000
goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
- msgbox Route113_GlassWorkshop_Text_26F480, 5
+ msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 16
@@ -168,7 +168,7 @@ Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B
end
Route113_GlassWorkshop_EventScript_26EFCC:: @ 826EFCC
- msgbox Route113_GlassWorkshop_Text_26F641, 4
+ msgbox Route113_GlassWorkshop_Text_26F641, MSGBOX_DEFAULT
release
end
@@ -176,7 +176,7 @@ Route113_GlassWorkshop_EventScript_26EFD6:: @ 826EFD6
setvar VAR_0x800A, 250
subvar VAR_0x800A, 16456
buffernumberstring 0, VAR_0x800A
- msgbox Route113_GlassWorkshop_Text_26F34E, 4
+ msgbox Route113_GlassWorkshop_Text_26F34E, MSGBOX_DEFAULT
release
end
@@ -195,13 +195,13 @@ Route113_GlassWorkshop_EventScript_26F003:: @ 826F003
end
Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F
- msgbox Route113_GlassWorkshop_Text_26F4DA, 4
+ msgbox Route113_GlassWorkshop_Text_26F4DA, MSGBOX_DEFAULT
closemessage
fadescreen 1
playse SE_SELECT
delay 30
fadescreen 0
- msgbox Route113_GlassWorkshop_Text_26F688, 4
+ msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT
compare VAR_0x8009, 0
call_if 1, Route113_GlassWorkshop_EventScript_26F047
compare VAR_0x8009, 1
@@ -224,13 +224,13 @@ Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F
Route113_GlassWorkshop_EventScript_26F072:: @ 826F072
call Route113_GlassWorkshop_EventScript_27205E
- msgbox Route113_GlassWorkshop_Text_26F6B7, 4
+ msgbox Route113_GlassWorkshop_Text_26F6B7, MSGBOX_DEFAULT
release
end
Route113_GlassWorkshop_EventScript_26F081:: @ 826F081
call Route113_GlassWorkshop_EventScript_272071
- msgbox Route113_GlassWorkshop_Text_26F715, 4
+ msgbox Route113_GlassWorkshop_Text_26F715, MSGBOX_DEFAULT
release
end
@@ -295,7 +295,7 @@ Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B
end
Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F
- msgbox Route113_GlassWorkshop_Text_26F688, 4
+ msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT
compare VAR_0x8009, 0
call_if 1, Route113_GlassWorkshop_EventScript_26F047
compare VAR_0x8009, 1
@@ -305,7 +305,7 @@ Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F
end
Route113_GlassWorkshop_EventScript_26F194:: @ 826F194
- msgbox Route113_GlassWorkshop_Text_26F7EC, 2
+ msgbox Route113_GlassWorkshop_Text_26F7EC, MSGBOX_NPC
end
Route113_GlassWorkshop_Text_26F19D: @ 826F19D
diff --git a/data/maps/Route114/events.inc b/data/maps/Route114/events.inc
index 910d5e004..55ea12195 100644
--- a/data/maps/Route114/events.inc
+++ b/data/maps/Route114/events.inc
@@ -7,24 +7,24 @@ Route114_EventObjects: @ 8529E68
object_event 6, EVENT_OBJ_GFX_PICNICKER, 0, 19, 35, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 3, Route114_EventScript_1F2685, 0
object_event 7, EVENT_OBJ_GFX_MANIAC, 0, 20, 56, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, Route114_EventScript_1F269C, 0
object_event 8, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 45, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 68, BerryTreeScript, 0
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_290E03, 1014
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 37, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_290E10, 1015
- object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 12, 43, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_2907A6, 17
+ object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_290E03, FLAG_ITEM_ROUTE_114_RARE_CANDY
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 11, 37, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_290E10, FLAG_ITEM_ROUTE_114_PROTEIN
+ object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 12, 43, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_EventScript_2907A6, FLAG_TEMP_11
object_event 12, EVENT_OBJ_GFX_GENTLEMAN, 0, 19, 11, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route114_EventScript_1F25D1, 0
object_event 13, EVENT_OBJ_GFX_POOCHYENA, 0, 19, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route114_EventScript_1F2612, 0
object_event 14, EVENT_OBJ_GFX_MAN_4, 0, 27, 42, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, Route114_EventScript_1F2582, 0
object_event 15, EVENT_OBJ_GFX_FISHERMAN, 0, 25, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route114_EventScript_1F2777, 0
object_event 16, EVENT_OBJ_GFX_FISHERMAN, 0, 19, 26, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, Route114_EventScript_1F2760, 0
object_event 17, EVENT_OBJ_GFX_MAN_5, 0, 30, 58, 5, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 3, Route114_EventScript_1F26FE, 0
- object_event 18, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 29, 53, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, 18
- object_event 19, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 30, 54, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, 19
- object_event 20, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 22, 69, 7, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, 20
- object_event 21, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 64, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, 21
+ object_event 18, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 29, 53, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, FLAG_TEMP_12
+ object_event 19, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 30, 54, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, FLAG_TEMP_13
+ object_event 20, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 22, 69, 7, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, FLAG_TEMP_14
+ object_event 21, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 64, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_2907A6, FLAG_TEMP_15
object_event 22, EVENT_OBJ_GFX_LASS, 0, 24, 44, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route114_EventScript_1F27A9, 0
object_event 23, EVENT_OBJ_GFX_LASS, 0, 23, 44, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route114_EventScript_1F278E, 0
object_event 24, EVENT_OBJ_GFX_PICNICKER, 0, 28, 20, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, Route114_EventScript_1F27DB, 0
object_event 25, EVENT_OBJ_GFX_PICNICKER, 0, 26, 72, 5, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 4, Route114_EventScript_1F27C4, 0
- object_event 26, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 19, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_290E1D, 1160
+ object_event 26, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 19, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route114_EventScript_290E1D, FLAG_ITEM_ROUTE_114_ENERGY_POWDER
object_event 27, EVENT_OBJ_GFX_FISHERMAN, 0, 28, 16, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, Route114_EventScript_1F27F2, 0
Route114_MapWarps: @ 852A0F0
@@ -44,9 +44,9 @@ Route114_MapBGEvents: @ 852A118
bg_secret_base_event 11, 27, 0, SECRET_BASE_TREE3_2
bg_secret_base_event 12, 27, 0, SECRET_BASE_TREE4_2
bg_event 25, 38, 3, BG_EVENT_PLAYER_FACING_ANY, Route114_EventScript_1F2637
- bg_hidden_item_event 20, 57, 3, ITEM_CARBOS, 4
+ bg_hidden_item_event 20, 57, 3, ITEM_CARBOS, FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS
bg_secret_base_event 32, 57, 0, SECRET_BASE_BROWN_CAVE4_3
- bg_hidden_item_event 7, 30, 3, ITEM_REVIVE, 42
+ bg_hidden_item_event 7, 30, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_ROUTE_113_REVIVE
Route114_MapEvents:: @ 852A1A8
map_events Route114_EventObjects, Route114_MapWarps, 0x0, Route114_MapBGEvents
diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc
index 9443d35bc..e47a3660f 100644
--- a/data/maps/Route114/scripts.inc
+++ b/data/maps/Route114/scripts.inc
@@ -30,7 +30,7 @@ Route114_EventScript_1F2582:: @ 81F2582
dodailyevents
checkflag FLAG_0x92B
goto_eq Route114_EventScript_1F25C7
- msgbox Route114_Text_2A6FCB, 4
+ msgbox Route114_Text_2A6FCB, MSGBOX_DEFAULT
random 5
addvar VAR_RESULT, 15
addvar VAR_RESULT, 133
@@ -38,12 +38,12 @@ Route114_EventScript_1F2582:: @ 81F2582
compare VAR_RESULT, 0
goto_eq Route114_EventScript_272054
setflag FLAG_0x92B
- msgbox Route114_Text_2A7034, 4
+ msgbox Route114_Text_2A7034, MSGBOX_DEFAULT
release
end
Route114_EventScript_1F25C7:: @ 81F25C7
- msgbox Route114_Text_2A706E, 4
+ msgbox Route114_Text_2A706E, MSGBOX_DEFAULT
release
end
@@ -52,17 +52,17 @@ Route114_EventScript_1F25D1:: @ 81F25D1
faceplayer
checkflag FLAG_0x0E7
goto_eq Route114_EventScript_1F2608
- msgbox Route114_Text_1F2809, 4
+ msgbox Route114_Text_1F2809, MSGBOX_DEFAULT
giveitem_std ITEM_TM05
compare VAR_RESULT, 0
goto_eq Route114_EventScript_272054
setflag FLAG_0x0E7
- msgbox Route114_Text_1F2872, 4
+ msgbox Route114_Text_1F2872, MSGBOX_DEFAULT
release
end
Route114_EventScript_1F2608:: @ 81F2608
- msgbox Route114_Text_1F2872, 4
+ msgbox Route114_Text_1F2872, MSGBOX_DEFAULT
release
end
@@ -71,126 +71,120 @@ Route114_EventScript_1F2612:: @ 81F2612
faceplayer
waitse
playmoncry SPECIES_POOCHYENA, 2
- msgbox Route114_Text_1F28A6, 4
+ msgbox Route114_Text_1F28A6, MSGBOX_DEFAULT
waitmoncry
release
end
Route114_EventScript_1F2625:: @ 81F2625
- msgbox Route114_Text_1F28B3, 3
+ msgbox Route114_Text_1F28B3, MSGBOX_SIGN
end
Route114_EventScript_1F262E:: @ 81F262E
- msgbox Route114_Text_1F28DB, 3
+ msgbox Route114_Text_1F28DB, MSGBOX_SIGN
end
Route114_EventScript_1F2637:: @ 81F2637
- msgbox Route114_Text_1F2910, 3
+ msgbox Route114_Text_1F2910, MSGBOX_SIGN
end
Route114_EventScript_1F2640:: @ 81F2640
- trainerbattle 0, TRAINER_LENNY, 0, Route114_Text_29A6B1, Route114_Text_29A707
- msgbox Route114_Text_29A715, 6
+ trainerbattle_single TRAINER_LENNY, Route114_Text_29A6B1, Route114_Text_29A707
+ msgbox Route114_Text_29A715, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F2657:: @ 81F2657
- trainerbattle 0, TRAINER_LUCAS_1, 0, Route114_Text_29A777, Route114_Text_29A7B5
- msgbox Route114_Text_29A7D4, 6
+ trainerbattle_single TRAINER_LUCAS_1, Route114_Text_29A777, Route114_Text_29A7B5
+ msgbox Route114_Text_29A7D4, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F266E:: @ 81F266E
- trainerbattle 0, TRAINER_SHANE, 0, Route114_Text_29A818, Route114_Text_29A88F
- msgbox Route114_Text_29A89F, 6
+ trainerbattle_single TRAINER_SHANE, Route114_Text_29A818, Route114_Text_29A88F
+ msgbox Route114_Text_29A89F, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F2685:: @ 81F2685
- trainerbattle 0, TRAINER_NANCY, 0, Route114_Text_29A8D9, Route114_Text_29A90E
- msgbox Route114_Text_29A916, 6
+ trainerbattle_single TRAINER_NANCY, Route114_Text_29A8D9, Route114_Text_29A90E
+ msgbox Route114_Text_29A916, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F269C:: @ 81F269C
- trainerbattle 2, TRAINER_STEVE_1, 0, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8
+ 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
- msgbox Route114_Text_29A981, 4
+ msgbox Route114_Text_29A981, MSGBOX_DEFAULT
release
end
Route114_EventScript_1F26C8:: @ 81F26C8
special sub_80B4808
waitmovement 0
- msgbox Route114_Text_29A9F7, 4
- setvar VAR_0x8004, 143
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 143
- callstd 8
+ msgbox Route114_Text_29A9F7, MSGBOX_DEFAULT
+ register_matchcall TRAINER_STEVE_1
release
end
Route114_EventScript_1F26E7:: @ 81F26E7
- trainerbattle 5, TRAINER_STEVE_1, 0, Route114_Text_29AA3E, Route114_Text_29AA67
- msgbox Route114_Text_29AA94, 6
+ trainerbattle_rematch TRAINER_STEVE_1, Route114_Text_29AA3E, Route114_Text_29AA67
+ msgbox Route114_Text_29AA94, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F26FE:: @ 81F26FE
- trainerbattle 2, TRAINER_BERNIE_1, 0, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A
+ 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
- msgbox Route114_Text_29AB36, 4
+ msgbox Route114_Text_29AB36, MSGBOX_DEFAULT
release
end
Route114_EventScript_1F272A:: @ 81F272A
special sub_80B4808
waitmovement 0
- msgbox Route114_Text_29ABA6, 4
- setvar VAR_0x8004, 206
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 206
- callstd 8
+ msgbox Route114_Text_29ABA6, MSGBOX_DEFAULT
+ register_matchcall TRAINER_BERNIE_1
release
end
Route114_EventScript_1F2749:: @ 81F2749
- trainerbattle 5, TRAINER_BERNIE_1, 0, Route114_Text_29ABDC, Route114_Text_29AC10
- msgbox Route114_Text_29AC43, 6
+ trainerbattle_rematch TRAINER_BERNIE_1, Route114_Text_29ABDC, Route114_Text_29AC10
+ msgbox Route114_Text_29AC43, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F2760:: @ 81F2760
- trainerbattle 0, TRAINER_CLAUDE, 0, Route114_Text_29ACB3, Route114_Text_29AD0A
- msgbox Route114_Text_29AD2E, 6
+ trainerbattle_single TRAINER_CLAUDE, Route114_Text_29ACB3, Route114_Text_29AD0A
+ msgbox Route114_Text_29AD2E, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F2777:: @ 81F2777
- trainerbattle 0, TRAINER_NOLAN, 0, Route114_Text_29ADA1, Route114_Text_29AE05
- msgbox Route114_Text_29AE3D, 6
+ trainerbattle_single TRAINER_NOLAN, Route114_Text_29ADA1, Route114_Text_29AE05
+ msgbox Route114_Text_29AE3D, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F278E:: @ 81F278E
- trainerbattle 4, TRAINER_TYRA_AND_IVY, 0, Route114_Text_29AE96, Route114_Text_29AEE7, Route114_Text_29AF3D
- msgbox Route114_Text_29AF0B, 6
+ trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_29AE96, Route114_Text_29AEE7, Route114_Text_29AF3D
+ msgbox Route114_Text_29AF0B, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F27A9:: @ 81F27A9
- trainerbattle 4, TRAINER_TYRA_AND_IVY, 0, Route114_Text_29AF89, Route114_Text_29AFAC, Route114_Text_29B01B
- msgbox Route114_Text_29AFCF, 6
+ trainerbattle_double TRAINER_TYRA_AND_IVY, Route114_Text_29AF89, Route114_Text_29AFAC, Route114_Text_29B01B
+ msgbox Route114_Text_29AFCF, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F27C4:: @ 81F27C4
- trainerbattle 0, TRAINER_ANGELINA, 0, Route114_Text_29B16F, Route114_Text_29B19C
- msgbox Route114_Text_29B1BC, 6
+ trainerbattle_single TRAINER_ANGELINA, Route114_Text_29B16F, Route114_Text_29B19C
+ msgbox Route114_Text_29B1BC, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F27DB:: @ 81F27DB
- trainerbattle 0, TRAINER_CHARLOTTE, 0, Route114_Text_29B0DB, Route114_Text_29B0FB
- msgbox Route114_Text_29B11A, 6
+ trainerbattle_single TRAINER_CHARLOTTE, Route114_Text_29B0DB, Route114_Text_29B0FB
+ msgbox Route114_Text_29B11A, MSGBOX_AUTOCLOSE
end
Route114_EventScript_1F27F2:: @ 81F27F2
- trainerbattle 0, TRAINER_KAI, 0, Route114_Text_29B05D, Route114_Text_29B089
- msgbox Route114_Text_29B0B5, 6
+ trainerbattle_single TRAINER_KAI, Route114_Text_29B05D, Route114_Text_29B089
+ msgbox Route114_Text_29B0B5, MSGBOX_AUTOCLOSE
end
Route114_Text_1F2809: @ 81F2809
diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc
index f14c15f9e..eecb4fd0d 100644
--- a/data/maps/Route114_FossilManiacsHouse/scripts.inc
+++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc
@@ -11,7 +11,7 @@ Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A
faceplayer
checkflag FLAG_0x105
goto_eq Route114_FossilManiacsHouse_EventScript_22AD69
- msgbox Route114_FossilManiacsHouse_Text_22AD85, 4
+ msgbox Route114_FossilManiacsHouse_Text_22AD85, MSGBOX_DEFAULT
giveitem_std ITEM_TM28
compare VAR_RESULT, 0
goto_eq Route114_FossilManiacsHouse_EventScript_272054
@@ -20,16 +20,16 @@ Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A
end
Route114_FossilManiacsHouse_EventScript_22AD69:: @ 822AD69
- msgbox Route114_FossilManiacsHouse_Text_22AE48, 4
+ msgbox Route114_FossilManiacsHouse_Text_22AE48, MSGBOX_DEFAULT
release
end
Route114_FossilManiacsHouse_EventScript_22AD73:: @ 822AD73
- msgbox Route114_FossilManiacsHouse_Text_22AE92, 3
+ msgbox Route114_FossilManiacsHouse_Text_22AE92, MSGBOX_SIGN
end
Route114_FossilManiacsHouse_EventScript_22AD7C:: @ 822AD7C
- msgbox Route114_FossilManiacsHouse_Text_22AEC2, 3
+ msgbox Route114_FossilManiacsHouse_Text_22AEC2, MSGBOX_SIGN
end
Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85
diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
index bc5a6d977..fae011f32 100644
--- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc
+++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
@@ -28,7 +28,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66
applymovement 1, Route114_FossilManiacsTunnel_Movement_2725A6
applymovement 255, Route114_FossilManiacsTunnel_Movement_2725AA
waitmovement 0
- msgbox Route114_FossilManiacsTunnel_Text_22B1F7, 4
+ msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT
setvar VAR_0x40CC, 2
releaseall
end
@@ -44,17 +44,17 @@ Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87
checkitem ITEM_CLAW_FOSSIL, 1
compare VAR_RESULT, 1
goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
- msgbox Route114_FossilManiacsTunnel_Text_22AFD0, 4
+ msgbox Route114_FossilManiacsTunnel_Text_22AFD0, MSGBOX_DEFAULT
release
end
Route114_FossilManiacsTunnel_EventScript_22AFBC:: @ 822AFBC
- msgbox Route114_FossilManiacsTunnel_Text_22B0D6, 4
+ msgbox Route114_FossilManiacsTunnel_Text_22B0D6, MSGBOX_DEFAULT
release
end
Route114_FossilManiacsTunnel_EventScript_22AFC6:: @ 822AFC6
- msgbox Route114_FossilManiacsTunnel_Text_22B1CC, 4
+ msgbox Route114_FossilManiacsTunnel_Text_22B1CC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route114_LanettesHouse/events.inc b/data/maps/Route114_LanettesHouse/events.inc
index 15b016bba..17030ddc1 100644
--- a/data/maps/Route114_LanettesHouse/events.inc
+++ b/data/maps/Route114_LanettesHouse/events.inc
@@ -1,5 +1,5 @@
Route114_LanettesHouse_EventObjects: @ 8533DD4
- object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 5, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_LanettesHouse_EventScript_22B2D2, 870
+ object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 5, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route114_LanettesHouse_EventScript_22B2D2, FLAG_HIDE_LANETTES_HOUSE_LANETTE
Route114_LanettesHouse_MapWarps: @ 8533DEC
warp_def 5, 7, 0, 2, MAP_ROUTE114
diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc
index 00bb4f226..f90462c60 100644
--- a/data/maps/Route114_LanettesHouse/scripts.inc
+++ b/data/maps/Route114_LanettesHouse/scripts.inc
@@ -12,7 +12,7 @@ Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2
checkflag FLAG_0x083
goto_eq Route114_LanettesHouse_EventScript_22B2FF
setflag FLAG_SYS_PC_LANETTE
- msgbox Route114_LanettesHouse_Text_22B34E, 4
+ msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT
givedecoration_std 99
compare VAR_RESULT, 0
goto_eq Route114_LanettesHouse_EventScript_272067
@@ -21,32 +21,32 @@ Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2
end
Route114_LanettesHouse_EventScript_22B2FF:: @ 822B2FF
- msgbox Route114_LanettesHouse_Text_22B407, 4
+ msgbox Route114_LanettesHouse_Text_22B407, MSGBOX_DEFAULT
release
end
Route114_LanettesHouse_EventScript_22B309:: @ 822B309
lockall
- msgbox Route114_LanettesHouse_Text_22B485, 5
+ msgbox Route114_LanettesHouse_Text_22B485, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route114_LanettesHouse_EventScript_22B327
- msgbox Route114_LanettesHouse_Text_22B6E4, 4
+ msgbox Route114_LanettesHouse_Text_22B6E4, MSGBOX_DEFAULT
releaseall
end
Route114_LanettesHouse_EventScript_22B327:: @ 822B327
- msgbox Route114_LanettesHouse_Text_22B53C, 5
+ msgbox Route114_LanettesHouse_Text_22B53C, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, Route114_LanettesHouse_EventScript_22B33C
releaseall
end
Route114_LanettesHouse_EventScript_22B33C:: @ 822B33C
- msgbox Route114_LanettesHouse_Text_22B5EF, 4
+ msgbox Route114_LanettesHouse_Text_22B5EF, MSGBOX_DEFAULT
return
Route114_LanettesHouse_EventScript_22B345:: @ 822B345
- msgbox Route114_LanettesHouse_Text_22B6FC, 3
+ msgbox Route114_LanettesHouse_Text_22B6FC, MSGBOX_SIGN
end
Route114_LanettesHouse_Text_22B34E: @ 822B34E
diff --git a/data/maps/Route115/events.inc b/data/maps/Route115/events.inc
index c79c836ea..18179deb1 100644
--- a/data/maps/Route115/events.inc
+++ b/data/maps/Route115/events.inc
@@ -8,20 +8,20 @@ Route115_EventObjects: @ 852A1BC
object_event 7, EVENT_OBJ_GFX_GIRL_3, 0, 15, 50, 3, MOVEMENT_TYPE_WALK_IN_PLACE_DOWN, 0, 0, 1, 3, Route115_EventScript_1F2A69, 0
object_event 8, EVENT_OBJ_GFX_BLACK_BELT, 0, 19, 15, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 5, 0, 1, 2, Route115_EventScript_1F29F0, 0
object_event 9, EVENT_OBJ_GFX_MANIAC, 0, 24, 62, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 4, Route115_EventScript_1F2ACB, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 60, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_290E2A, 1016
- object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 18, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_290E37, 1017
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 29, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_290E44, 1018
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 60, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_290E2A, FLAG_ITEM_ROUTE_115_SUPER_POTION
+ object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 18, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_290E37, FLAG_ITEM_ROUTE_115_TM_01
+ object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 29, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route115_EventScript_290E44, FLAG_ITEM_ROUTE_115_IRON
object_event 13, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 64, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 55, BerryTreeScript, 0
object_event 14, EVENT_OBJ_GFX_BERRY_TREE, 0, 31, 65, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 56, BerryTreeScript, 0
- object_event 15, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 29, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_2907A6, 17
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_290E51, 1118
+ object_event 15, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 29, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_2907A6, FLAG_TEMP_11
+ object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_290E51, FLAG_ITEM_ROUTE_115_GREAT_BALL
object_event 17, EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 10, 15, 3, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 3, 3, 1, 2, Route115_EventScript_1F2AE2, 0
object_event 18, EVENT_OBJ_GFX_NINJA_BOY, 0, 11, 12, 3, MOVEMENT_TYPE_TREE_DISGUISE, 1, 1, 1, 3, Route115_EventScript_1F2AF9, 0
object_event 19, EVENT_OBJ_GFX_GIRL_3, 0, 15, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, Route115_EventScript_1F2B27, 0
object_event 20, EVENT_OBJ_GFX_LASS, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 4, Route115_EventScript_1F2B10, 0
object_event 21, EVENT_OBJ_GFX_LASS, 0, 28, 62, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, Route115_EventScript_1F2B3E, 0
- object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 67, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_290E6B, 1161
- object_event 23, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_290E5E, 1144
+ object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 67, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_290E6B, FLAG_ITEM_ROUTE_115_PP_UP
+ object_event 23, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route115_EventScript_290E5E, FLAG_ITEM_ROUTE_115_HEAL_POWDER
Route115_MapWarps: @ 852A3E4
warp_def 27, 37, 0, 1, MAP_METEOR_FALLS_1F_1R
@@ -42,7 +42,7 @@ Route115_MapBGEvents: @ 852A3FC
bg_secret_base_event 8, 20, 0, SECRET_BASE_TREE3_3
bg_secret_base_event 25, 24, 0, SECRET_BASE_BROWN_CAVE3_3
bg_secret_base_event 20, 53, 0, SECRET_BASE_RED_CAVE3_1
- bg_hidden_item_event 15, 49, 3, ITEM_HEART_SCALE, 97
+ bg_hidden_item_event 15, 49, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE
Route115_MapEvents:: @ 852A4A4
map_events Route115_EventObjects, Route115_MapWarps, 0x0, Route115_MapBGEvents
diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc
index 967f2f9ce..3dcf7adee 100644
--- a/data/maps/Route115/scripts.inc
+++ b/data/maps/Route115/scripts.inc
@@ -25,125 +25,116 @@ Route115_MapScript2_1F2969: @ 81F2969
.2byte 0
Route115_EventScript_1F2973:: @ 81F2973
- msgbox Route115_Text_1F2B55, 2
+ msgbox Route115_Text_1F2B55, MSGBOX_NPC
end
Route115_EventScript_1F297C:: @ 81F297C
- msgbox Route115_Text_1F2BC9, 3
+ msgbox Route115_Text_1F2BC9, MSGBOX_SIGN
end
Route115_EventScript_1F2985:: @ 81F2985
- msgbox Route115_Text_1F2BE3, 3
+ msgbox Route115_Text_1F2BE3, MSGBOX_SIGN
end
Route115_EventScript_1F298E:: @ 81F298E
- trainerbattle 2, TRAINER_TIMOTHY_1, 0, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA
+ 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
- msgbox Route115_Text_29B258, 4
+ msgbox Route115_Text_29B258, MSGBOX_DEFAULT
release
end
Route115_EventScript_1F29BA:: @ 81F29BA
special sub_80B4808
waitmovement 0
- msgbox Route115_Text_29B2B3, 4
- setvar VAR_0x8004, 307
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 307
- callstd 8
+ msgbox Route115_Text_29B2B3, MSGBOX_DEFAULT
+ register_matchcall TRAINER_TIMOTHY_1
release
end
Route115_EventScript_1F29D9:: @ 81F29D9
- trainerbattle 5, TRAINER_TIMOTHY_1, 0, Route115_Text_29B32C, Route115_Text_29B372
- msgbox Route115_Text_29B385, 6
+ trainerbattle_rematch TRAINER_TIMOTHY_1, Route115_Text_29B32C, Route115_Text_29B372
+ msgbox Route115_Text_29B385, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F29F0:: @ 81F29F0
- trainerbattle 0, TRAINER_KOICHI, 0, Route115_Text_29B3CC, Route115_Text_29B3ED
- msgbox Route115_Text_29B3FF, 6
+ trainerbattle_single TRAINER_KOICHI, Route115_Text_29B3CC, Route115_Text_29B3ED
+ msgbox Route115_Text_29B3FF, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2A07:: @ 81F2A07
- trainerbattle 2, TRAINER_NOB_1, 0, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33
+ 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
- msgbox Route115_Text_29B49D, 4
+ msgbox Route115_Text_29B49D, MSGBOX_DEFAULT
release
end
Route115_EventScript_1F2A33:: @ 81F2A33
special sub_80B4808
waitmovement 0
- msgbox Route115_Text_29B50B, 4
- setvar VAR_0x8004, 183
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 183
- callstd 8
+ msgbox Route115_Text_29B50B, MSGBOX_DEFAULT
+ register_matchcall TRAINER_NOB_1
release
end
Route115_EventScript_1F2A52:: @ 81F2A52
- trainerbattle 5, TRAINER_NOB_1, 0, Route115_Text_29B547, Route115_Text_29B59D
- msgbox Route115_Text_29B5B5, 6
+ trainerbattle_rematch TRAINER_NOB_1, Route115_Text_29B547, Route115_Text_29B59D
+ msgbox Route115_Text_29B5B5, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2A69:: @ 81F2A69
- trainerbattle 2, TRAINER_CYNDY_1, 0, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95
+ 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
- msgbox Route115_Text_29B647, 4
+ msgbox Route115_Text_29B647, MSGBOX_DEFAULT
release
end
Route115_EventScript_1F2A95:: @ 81F2A95
special sub_80B4808
waitmovement 0
- msgbox Route115_Text_29B6AB, 4
- setvar VAR_0x8004, 427
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 427
- callstd 8
+ msgbox Route115_Text_29B6AB, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CYNDY_1
release
end
Route115_EventScript_1F2AB4:: @ 81F2AB4
- trainerbattle 5, TRAINER_CYNDY_1, 0, Route115_Text_29B6FA, Route115_Text_29B71A
- msgbox Route115_Text_29B737, 6
+ trainerbattle_rematch TRAINER_CYNDY_1, Route115_Text_29B6FA, Route115_Text_29B71A
+ msgbox Route115_Text_29B737, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2ACB:: @ 81F2ACB
- trainerbattle 0, TRAINER_HECTOR, 0, Route115_Text_29B78F, Route115_Text_29B7C5
- msgbox Route115_Text_29B7EA, 6
+ trainerbattle_single TRAINER_HECTOR, Route115_Text_29B78F, Route115_Text_29B7C5
+ msgbox Route115_Text_29B7EA, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2AE2:: @ 81F2AE2
- trainerbattle 0, TRAINER_KYRA, 0, Route115_Text_29B826, Route115_Text_29B85D
- msgbox Route115_Text_29B869, 6
+ trainerbattle_single TRAINER_KYRA, Route115_Text_29B826, Route115_Text_29B85D
+ msgbox Route115_Text_29B869, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2AF9:: @ 81F2AF9
- trainerbattle 0, TRAINER_JAIDEN, 0, Route115_Text_29B8C1, Route115_Text_29B8E8
- msgbox Route115_Text_29B904, 6
+ trainerbattle_single TRAINER_JAIDEN, Route115_Text_29B8C1, Route115_Text_29B8E8
+ msgbox Route115_Text_29B904, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2B10:: @ 81F2B10
- trainerbattle 0, TRAINER_ALIX, 0, Route115_Text_29B9CB, Route115_Text_29B9F6
- msgbox Route115_Text_29BA04, 6
+ trainerbattle_single TRAINER_ALIX, Route115_Text_29B9CB, Route115_Text_29B9F6
+ msgbox Route115_Text_29BA04, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2B27:: @ 81F2B27
- trainerbattle 0, TRAINER_HELENE, 0, Route115_Text_29B92D, Route115_Text_29B958
- msgbox Route115_Text_29B971, 6
+ trainerbattle_single TRAINER_HELENE, Route115_Text_29B92D, Route115_Text_29B958
+ msgbox Route115_Text_29B971, MSGBOX_AUTOCLOSE
end
Route115_EventScript_1F2B3E:: @ 81F2B3E
- trainerbattle 0, TRAINER_MARLENE, 0, Route115_Text_29BA2C, Route115_Text_29BA67
- msgbox Route115_Text_29BA87, 6
+ trainerbattle_single TRAINER_MARLENE, Route115_Text_29BA2C, Route115_Text_29BA67
+ msgbox Route115_Text_29BA87, MSGBOX_AUTOCLOSE
end
Route115_Text_1F2B55: @ 81F2B55
diff --git a/data/maps/Route116/events.inc b/data/maps/Route116/events.inc
index f967ebbba..37c54eb7e 100644
--- a/data/maps/Route116/events.inc
+++ b/data/maps/Route116/events.inc
@@ -2,29 +2,29 @@ Route116_EventObjects: @ 852A4B8
object_event 1, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 25, BerryTreeScript, 0
object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 19, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 26, BerryTreeScript, 0
object_event 3, EVENT_OBJ_GFX_YOUNGSTER, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route116_EventScript_1F2E89, 0
- object_event 4, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 21, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, 17
- object_event 5, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 32, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, 18
+ object_event 4, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 21, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, FLAG_TEMP_11
+ object_event 5, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 32, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, FLAG_TEMP_12
object_event 6, EVENT_OBJ_GFX_BUG_CATCHER, 0, 13, 17, 3, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 2, Route116_EventScript_1F2EA0, 0
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_290E85, 1019
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_290E92, 1020
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_290E85, FLAG_ITEM_ROUTE_116_ETHER
+ object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_290E92, FLAG_ITEM_ROUTE_116_REPEL
object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 20, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 66, BerryTreeScript, 0
object_event 10, EVENT_OBJ_GFX_BERRY_TREE, 0, 21, 2, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 67, BerryTreeScript, 0
- object_event 11, EVENT_OBJ_GFX_EXPERT_M, 0, 46, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_1F2D84, 891
- object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 28, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, 19
+ object_event 11, EVENT_OBJ_GFX_EXPERT_M, 0, 46, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_1F2D84, FLAG_HIDE_ROUTE_116_MR_BRINEY
+ object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 28, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, FLAG_TEMP_13
object_event 13, EVENT_OBJ_GFX_HIKER, 0, 36, 17, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 3, Route116_EventScript_1F2F65, 0
- object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 24, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, 20
- object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 80, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_290E9F, 1021
+ object_event 14, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 24, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_2906BB, FLAG_TEMP_14
+ object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 80, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route116_EventScript_290E9F, FLAG_ITEM_ROUTE_116_HP_UP
object_event 16, EVENT_OBJ_GFX_LASS, 0, 26, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 2, Route116_EventScript_1F2F7C, 0
object_event 17, EVENT_OBJ_GFX_GIRL_3, 0, 22, 16, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 3, Route116_EventScript_1F2F93, 0
object_event 18, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 28, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, Route116_EventScript_1F2EB7, 0
- object_event 19, EVENT_OBJ_GFX_MAN_2, 0, 46, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_1F2CA2, 947
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 55, 12, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_290E78, 1001
- object_event 21, EVENT_OBJ_GFX_BLACK_BELT, 0, 38, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, Route116_EventScript_1F2C70, 894
- object_event 22, EVENT_OBJ_GFX_MANIAC, 0, 74, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_1F2DB6, 813
+ object_event 19, EVENT_OBJ_GFX_MAN_2, 0, 46, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_1F2CA2, FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
+ object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 55, 12, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_290E78, FLAG_ITEM_ROUTE_116_X_SPECIAL
+ object_event 21, EVENT_OBJ_GFX_BLACK_BELT, 0, 38, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, Route116_EventScript_1F2C70, FLAG_HIDE_ROUTE_116_TUNNELER
+ object_event 22, EVENT_OBJ_GFX_MANIAC, 0, 74, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_1F2DB6, FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN
object_event 23, EVENT_OBJ_GFX_WOMAN_2, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 1, Route116_EventScript_1F3041, 0
object_event 24, EVENT_OBJ_GFX_BOY_2, 0, 33, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route116_EventScript_1F3058, 0
- object_event 25, EVENT_OBJ_GFX_ITEM_BALL, 0, 34, 7, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_290EAC, 1146
- object_event 26, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 30, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_2906BB, 21
+ object_event 25, EVENT_OBJ_GFX_ITEM_BALL, 0, 34, 7, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_290EAC, FLAG_ITEM_ROUTE_116_POTION
+ object_event 26, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 30, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route116_EventScript_2906BB, FLAG_TEMP_15
object_event 27, EVENT_OBJ_GFX_YOUNGSTER, 0, 36, 13, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 5, Route116_EventScript_1F3086, 0
object_event 28, EVENT_OBJ_GFX_HIKER, 0, 42, 13, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 5, Route116_EventScript_1F306F, 0
@@ -48,8 +48,8 @@ Route116_MapBGEvents: @ 852A790
bg_event 29, 10, 0, BG_EVENT_PLAYER_FACING_ANY, Route116_EventScript_1F2D7B
bg_secret_base_event 56, 6, 0, SECRET_BASE_BLUE_CAVE3_2
bg_secret_base_event 55, 15, 0, SECRET_BASE_BLUE_CAVE4_2
- bg_hidden_item_event 22, 9, 3, ITEM_SUPER_POTION, 45
- bg_hidden_item_event 70, 13, 3, ITEM_BLACK_GLASSES, 96
+ bg_hidden_item_event 22, 9, 3, ITEM_SUPER_POTION, FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION
+ bg_hidden_item_event 70, 13, 3, ITEM_BLACK_GLASSES, FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES
Route116_MapEvents:: @ 852A814
map_events Route116_EventObjects, Route116_MapWarps, Route116_MapCoordEvents, Route116_MapBGEvents
diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc
index 769d254a5..af9210a36 100644
--- a/data/maps/Route116/scripts.inc
+++ b/data/maps/Route116/scripts.inc
@@ -37,17 +37,17 @@ Route116_EventScript_1F2C70:: @ 81F2C70
goto_eq Route116_EventScript_1F2C8E
checkflag FLAG_0x08E
goto_eq Route116_EventScript_1F2C98
- msgbox Route116_Text_1F3140, 4
+ msgbox Route116_Text_1F3140, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2C8E:: @ 81F2C8E
- msgbox Route116_Text_1F32C1, 4
+ msgbox Route116_Text_1F32C1, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2C98:: @ 81F2C98
- msgbox Route116_Text_1F3166, 4
+ msgbox Route116_Text_1F3166, MSGBOX_DEFAULT
release
end
@@ -56,7 +56,7 @@ Route116_EventScript_1F2CA2:: @ 81F2CA2
faceplayer
checkflag FLAG_0x11F
goto_eq Route116_EventScript_1F2D2B
- msgbox Route116_Text_1F3317, 4
+ msgbox Route116_Text_1F3317, MSGBOX_DEFAULT
goto Route116_EventScript_1F2CBB
end
@@ -65,7 +65,7 @@ Route116_EventScript_1F2CBB:: @ 81F2CBB
giveitem_std ITEM_REPEAT_BALL
compare VAR_RESULT, 0
goto_eq Route116_EventScript_1F2D39
- msgbox Route116_Text_1F3521, 4
+ msgbox Route116_Text_1F3521, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, Route116_EventScript_1F2D15
@@ -76,7 +76,7 @@ Route116_EventScript_1F2CBB:: @ 81F2CBB
compare VAR_FACING, 4
call_if 1, Route116_EventScript_1F2D20
removeobject VAR_LAST_TALKED
- clearflag FLAG_0x3B5
+ clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
setflag FLAG_0x100
release
end
@@ -92,12 +92,12 @@ Route116_EventScript_1F2D20:: @ 81F2D20
return
Route116_EventScript_1F2D2B:: @ 81F2D2B
- msgbox Route116_Text_1F35CE, 4
+ msgbox Route116_Text_1F35CE, MSGBOX_DEFAULT
goto Route116_EventScript_1F2CBB
end
Route116_EventScript_1F2D39:: @ 81F2D39
- msgbox Route116_Text_1F3593, 4
+ msgbox Route116_Text_1F3593, MSGBOX_DEFAULT
release
end
@@ -126,29 +126,29 @@ Route116_Movement_1F2D4C: @ 81F2D4C
step_end
Route116_EventScript_1F2D57:: @ 81F2D57
- msgbox Route116_Text_1F379D, 3
+ msgbox Route116_Text_1F379D, MSGBOX_SIGN
end
Route116_EventScript_1F2D60:: @ 81F2D60
- msgbox Route116_Text_1F37B7, 3
+ msgbox Route116_Text_1F37B7, MSGBOX_SIGN
end
Route116_EventScript_1F2D69:: @ 81F2D69
- msgbox Route116_Text_1F380F, 3
+ msgbox Route116_Text_1F380F, MSGBOX_SIGN
end
Route116_EventScript_1F2D72:: @ 81F2D72
- msgbox Route116_Text_1F3825, 3
+ msgbox Route116_Text_1F3825, MSGBOX_SIGN
end
Route116_EventScript_1F2D7B:: @ 81F2D7B
- msgbox Route116_Text_1F38D4, 3
+ msgbox Route116_Text_1F38D4, MSGBOX_SIGN
end
Route116_EventScript_1F2D84:: @ 81F2D84
lock
faceplayer
- msgbox Route116_Text_1F309D, 4
+ msgbox Route116_Text_1F309D, MSGBOX_DEFAULT
setvar VAR_0x406F, 2
release
end
@@ -158,7 +158,7 @@ Route116_EventScript_1F2D95:: @ 81F2D95
applymovement 11, Route116_Movement_2725A8
applymovement 255, Route116_Movement_2725A4
waitmovement 0
- msgbox Route116_Text_1F309D, 4
+ msgbox Route116_Text_1F309D, MSGBOX_DEFAULT
setvar VAR_0x406F, 2
releaseall
end
@@ -172,28 +172,28 @@ Route116_EventScript_1F2DB6:: @ 81F2DB6
specialvar VAR_RESULT, FoundBlackGlasses
compare VAR_RESULT, 1
goto_eq Route116_EventScript_1F2DE2
- msgbox Route116_Text_1F3657, 4
+ msgbox Route116_Text_1F3657, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2DE2:: @ 81F2DE2
- msgbox Route116_Text_1F3718, 4
+ msgbox Route116_Text_1F3718, MSGBOX_DEFAULT
closemessage
goto Route116_EventScript_1F2E2A
end
Route116_EventScript_1F2DF1:: @ 81F2DF1
- msgbox Route116_Text_1F3657, 4
- msgbox Route116_Text_1F3688, 4
+ msgbox Route116_Text_1F3657, MSGBOX_DEFAULT
+ msgbox Route116_Text_1F3688, MSGBOX_DEFAULT
specialvar VAR_RESULT, FoundBlackGlasses
compare VAR_RESULT, 1
goto_eq Route116_EventScript_1F2E1B
- msgbox Route116_Text_1F375E, 4
+ msgbox Route116_Text_1F375E, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2E1B:: @ 81F2E1B
- msgbox Route116_Text_1F36B4, 4
+ msgbox Route116_Text_1F36B4, MSGBOX_DEFAULT
closemessage
goto Route116_EventScript_1F2E2A
end
@@ -248,17 +248,17 @@ Route116_Movement_1F2E7E: @ 81F2E7E
step_end
Route116_EventScript_1F2E89:: @ 81F2E89
- trainerbattle 0, TRAINER_JOEY, 0, Route116_Text_29BB79, Route116_Text_29BB9A
- msgbox Route116_Text_29BBC6, 6
+ trainerbattle_single TRAINER_JOEY, Route116_Text_29BB79, Route116_Text_29BB9A
+ msgbox Route116_Text_29BBC6, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F2EA0:: @ 81F2EA0
- trainerbattle 0, TRAINER_JOSE, 0, Route116_Text_29BBFD, Route116_Text_29BC25
- msgbox Route116_Text_29BC42, 6
+ trainerbattle_single TRAINER_JOSE, Route116_Text_29BBFD, Route116_Text_29BC25
+ msgbox Route116_Text_29BC42, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F2EB7:: @ 81F2EB7
- trainerbattle 2, TRAINER_JERRY_1, 0, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8
+ 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
@@ -266,7 +266,7 @@ Route116_EventScript_1F2EB7:: @ 81F2EB7
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq Route116_EventScript_1F2F22
- msgbox Route116_Text_29BD92, 4
+ msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
release
end
@@ -279,47 +279,41 @@ Route116_EventScript_1F2EF8:: @ 81F2EF8
Route116_EventScript_1F2F03:: @ 81F2F03
special sub_80B4808
waitmovement 0
- msgbox Route116_Text_29BE71, 4
- setvar VAR_0x8004, 273
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 273
- callstd 8
+ msgbox Route116_Text_29BE71, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JERRY_1
release
end
Route116_EventScript_1F2F22:: @ 81F2F22
checkflag FLAG_HAS_MATCH_CALL
goto_eq Route116_EventScript_1F2F35
- msgbox Route116_Text_29BD92, 4
+ msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2F35:: @ 81F2F35
- msgbox Route116_Text_29BDEF, 4
- setvar VAR_0x8004, 273
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 273
- callstd 8
+ msgbox Route116_Text_29BDEF, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JERRY_1
release
end
Route116_EventScript_1F2F4E:: @ 81F2F4E
- trainerbattle 5, TRAINER_JERRY_1, 0, Route116_Text_29BEF3, Route116_Text_29BF4C
- msgbox Route116_Text_29BF68, 6
+ trainerbattle_rematch TRAINER_JERRY_1, Route116_Text_29BEF3, Route116_Text_29BF4C
+ msgbox Route116_Text_29BF68, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F2F65:: @ 81F2F65
- trainerbattle 0, TRAINER_CLARK, 0, Route116_Text_29BACD, Route116_Text_29BB0F
- msgbox Route116_Text_29BB31, 6
+ trainerbattle_single TRAINER_CLARK, Route116_Text_29BACD, Route116_Text_29BB0F
+ msgbox Route116_Text_29BB31, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F2F7C:: @ 81F2F7C
- trainerbattle 0, TRAINER_JANICE, 0, Route116_Text_29BC7F, Route116_Text_29BCB3
- msgbox Route116_Text_29BCCC, 6
+ trainerbattle_single TRAINER_JANICE, Route116_Text_29BC7F, Route116_Text_29BCB3
+ msgbox Route116_Text_29BCCC, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F2F93:: @ 81F2F93
- trainerbattle 2, TRAINER_KAREN_1, 0, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4
+ 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
@@ -327,7 +321,7 @@ Route116_EventScript_1F2F93:: @ 81F2F93
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
goto_eq Route116_EventScript_1F2FFE
- msgbox Route116_Text_29C010, 4
+ msgbox Route116_Text_29C010, MSGBOX_DEFAULT
release
end
@@ -340,53 +334,47 @@ Route116_EventScript_1F2FD4:: @ 81F2FD4
Route116_EventScript_1F2FDF:: @ 81F2FDF
special sub_80B4808
waitmovement 0
- msgbox Route116_Text_29C096, 4
- setvar VAR_0x8004, 280
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 280
- callstd 8
+ msgbox Route116_Text_29C096, MSGBOX_DEFAULT
+ register_matchcall TRAINER_KAREN_1
release
end
Route116_EventScript_1F2FFE:: @ 81F2FFE
checkflag FLAG_HAS_MATCH_CALL
goto_eq Route116_EventScript_1F3011
- msgbox Route116_Text_29C010, 4
+ msgbox Route116_Text_29C010, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F3011:: @ 81F3011
- msgbox Route116_Text_29C052, 4
- setvar VAR_0x8004, 280
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 280
- callstd 8
+ msgbox Route116_Text_29C052, MSGBOX_DEFAULT
+ register_matchcall TRAINER_KAREN_1
release
end
Route116_EventScript_1F302A:: @ 81F302A
- trainerbattle 5, TRAINER_KAREN_1, 0, Route116_Text_29C0DA, Route116_Text_29C11F
- msgbox Route116_Text_29C13B, 6
+ trainerbattle_rematch TRAINER_KAREN_1, Route116_Text_29C0DA, Route116_Text_29C11F
+ msgbox Route116_Text_29C13B, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F3041:: @ 81F3041
- trainerbattle 0, TRAINER_SARAH, 0, Route116_Text_29C173, Route116_Text_29C1B8
- msgbox Route116_Text_29C1EA, 6
+ trainerbattle_single TRAINER_SARAH, Route116_Text_29C173, Route116_Text_29C1B8
+ msgbox Route116_Text_29C1EA, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F3058:: @ 81F3058
- trainerbattle 0, TRAINER_DAWSON, 0, Route116_Text_29C266, Route116_Text_29C2C2
- msgbox Route116_Text_29C2DD, 6
+ trainerbattle_single TRAINER_DAWSON, Route116_Text_29C266, Route116_Text_29C2C2
+ msgbox Route116_Text_29C2DD, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F306F:: @ 81F306F
- trainerbattle 0, TRAINER_DEVAN, 0, Route116_Text_29C350, Route116_Text_29C365
- msgbox Route116_Text_29C380, 6
+ trainerbattle_single TRAINER_DEVAN, Route116_Text_29C350, Route116_Text_29C365
+ msgbox Route116_Text_29C380, MSGBOX_AUTOCLOSE
end
Route116_EventScript_1F3086:: @ 81F3086
- trainerbattle 0, TRAINER_JOHNSON, 0, Route116_Text_29C3C1, Route116_Text_29C3F7
- msgbox Route116_Text_29C418, 6
+ trainerbattle_single TRAINER_JOHNSON, Route116_Text_29C3C1, Route116_Text_29C3F7
+ msgbox Route116_Text_29C418, MSGBOX_AUTOCLOSE
end
Route116_Text_1F309D: @ 81F309D
diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc
index b2c009337..3e7204e75 100644
--- a/data/maps/Route116_TunnelersRestHouse/scripts.inc
+++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc
@@ -7,11 +7,11 @@ Route116_TunnelersRestHouse_MapScript1_22B856: @ 822B856
end
Route116_TunnelersRestHouse_EventScript_22B85A:: @ 822B85A
- msgbox Route116_TunnelersRestHouse_Text_22B88B, 2
+ msgbox Route116_TunnelersRestHouse_Text_22B88B, MSGBOX_NPC
end
Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863
- msgbox Route116_TunnelersRestHouse_Text_22B99F, 2
+ msgbox Route116_TunnelersRestHouse_Text_22B99F, MSGBOX_NPC
end
Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C
@@ -19,12 +19,12 @@ Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C
faceplayer
checkflag FLAG_RUSTURF_TUNNEL_OPENED
goto_eq Route116_TunnelersRestHouse_EventScript_22B881
- msgbox Route116_TunnelersRestHouse_Text_22BAAF, 4
+ msgbox Route116_TunnelersRestHouse_Text_22BAAF, MSGBOX_DEFAULT
release
end
Route116_TunnelersRestHouse_EventScript_22B881:: @ 822B881
- msgbox Route116_TunnelersRestHouse_Text_22BB3B, 4
+ msgbox Route116_TunnelersRestHouse_Text_22BB3B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route117/events.inc b/data/maps/Route117/events.inc
index 0a1e6bead..4cede4040 100644
--- a/data/maps/Route117/events.inc
+++ b/data/maps/Route117/events.inc
@@ -12,9 +12,9 @@ Route117_EventObjects: @ 852A828
object_event 11, EVENT_OBJ_GFX_BERRY_TREE, 0, 41, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 29, BerryTreeScript, 0
object_event 12, EVENT_OBJ_GFX_BERRY_TREE, 0, 42, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 28, BerryTreeScript, 0
object_event 13, EVENT_OBJ_GFX_BERRY_TREE, 0, 43, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 27, BerryTreeScript, 0
- object_event 14, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_290EB9, 1022
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_2906BB, 17
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_290EC6, 1023
+ object_event 14, EVENT_OBJ_GFX_ITEM_BALL, 0, 16, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_290EB9, FLAG_ITEM_ROUTE_117_GREAT_BALL
+ object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_2906BB, FLAG_TEMP_11
+ object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 9, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route117_EventScript_290EC6, FLAG_ITEM_ROUTE_117_REVIVE
object_event 17, EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 26, 13, 3, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN, 2, 2, 1, 5, Route117_EventScript_1F3AF6, 0
object_event 18, EVENT_OBJ_GFX_MANIAC, 0, 17, 12, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, Route117_EventScript_1F3B58, 0
object_event 19, EVENT_OBJ_GFX_LASS, 0, 43, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route117_EventScript_1F3BD3, 0
@@ -31,7 +31,7 @@ Route117_MapBGEvents: @ 852AA70
bg_event 16, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route117_EventScript_1F39B5
bg_event 49, 12, 0, BG_EVENT_PLAYER_FACING_ANY, Route117_EventScript_1F39BE
bg_event 49, 5, 0, BG_EVENT_PLAYER_FACING_ANY, Route117_EventScript_1F39C7
- bg_hidden_item_event 3, 18, 3, ITEM_REPEL, 72
+ bg_hidden_item_event 3, 18, 3, ITEM_REPEL, FLAG_HIDDEN_ITEM_ROUTE_117_REPEL
Route117_MapEvents:: @ 852AAA0
map_events Route117_EventObjects, Route117_MapWarps, 0x0, Route117_MapBGEvents
diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc
index eb04664bd..e80148cd7 100644
--- a/data/maps/Route117/scripts.inc
+++ b/data/maps/Route117/scripts.inc
@@ -15,193 +15,175 @@ Route117_EventScript_1F3999:: @ 81F3999
return
Route117_EventScript_1F399A:: @ 81F399A
- msgbox Route117_Text_1F3CFD, 2
+ msgbox Route117_Text_1F3CFD, MSGBOX_NPC
end
Route117_EventScript_1F39A3:: @ 81F39A3
- msgbox Route117_Text_1F3D41, 2
+ msgbox Route117_Text_1F3D41, MSGBOX_NPC
end
Route117_EventScript_1F39AC:: @ 81F39AC
- msgbox Route117_Text_1F3C7C, 2
+ msgbox Route117_Text_1F3C7C, MSGBOX_NPC
end
Route117_EventScript_1F39B5:: @ 81F39B5
- msgbox Route117_Text_1F3D58, 3
+ msgbox Route117_Text_1F3D58, MSGBOX_SIGN
end
Route117_EventScript_1F39BE:: @ 81F39BE
- msgbox Route117_Text_1F3D74, 3
+ msgbox Route117_Text_1F3D74, MSGBOX_SIGN
end
Route117_EventScript_1F39C7:: @ 81F39C7
- msgbox Route117_Text_1F3D8E, 3
+ msgbox Route117_Text_1F3D8E, MSGBOX_SIGN
end
Route117_EventScript_1F39D0:: @ 81F39D0
- trainerbattle 2, TRAINER_ISAAC_1, 0, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC
+ 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
- msgbox Route117_Text_29C498, 4
+ msgbox Route117_Text_29C498, MSGBOX_DEFAULT
release
end
Route117_EventScript_1F39FC:: @ 81F39FC
special sub_80B4808
waitmovement 0
- msgbox Route117_Text_29C508, 4
- setvar VAR_0x8004, 538
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 538
- callstd 8
+ msgbox Route117_Text_29C508, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ISAAC_1
release
end
Route117_EventScript_1F3A1B:: @ 81F3A1B
- trainerbattle 5, TRAINER_ISAAC_1, 0, Route117_Text_29C549, Route117_Text_29C58B
- msgbox Route117_Text_29C5D0, 6
+ trainerbattle_rematch TRAINER_ISAAC_1, Route117_Text_29C549, Route117_Text_29C58B
+ msgbox Route117_Text_29C5D0, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3A32:: @ 81F3A32
- trainerbattle 2, TRAINER_LYDIA_1, 0, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E
+ 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
- msgbox Route117_Text_29C679, 4
+ msgbox Route117_Text_29C679, MSGBOX_DEFAULT
release
end
Route117_EventScript_1F3A5E:: @ 81F3A5E
special sub_80B4808
waitmovement 0
- msgbox Route117_Text_29C6BC, 4
- setvar VAR_0x8004, 545
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 545
- callstd 8
+ msgbox Route117_Text_29C6BC, MSGBOX_DEFAULT
+ register_matchcall TRAINER_LYDIA_1
release
end
Route117_EventScript_1F3A7D:: @ 81F3A7D
- trainerbattle 5, TRAINER_LYDIA_1, 0, Route117_Text_29C6FD, Route117_Text_29C73E
- msgbox Route117_Text_29C75A, 6
+ trainerbattle_rematch TRAINER_LYDIA_1, Route117_Text_29C6FD, Route117_Text_29C73E
+ msgbox Route117_Text_29C75A, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3A94:: @ 81F3A94
- trainerbattle 2, TRAINER_DYLAN_1, 0, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0
+ 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
- msgbox Route117_Text_29C800, 4
+ msgbox Route117_Text_29C800, MSGBOX_DEFAULT
release
end
Route117_EventScript_1F3AC0:: @ 81F3AC0
special sub_80B4808
waitmovement 0
- msgbox Route117_Text_29C846, 4
- setvar VAR_0x8004, 364
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 364
- callstd 8
+ msgbox Route117_Text_29C846, MSGBOX_DEFAULT
+ register_matchcall TRAINER_DYLAN_1
release
end
Route117_EventScript_1F3ADF:: @ 81F3ADF
- trainerbattle 5, TRAINER_DYLAN_1, 0, Route117_Text_29C880, Route117_Text_29C8E3
- msgbox Route117_Text_29C8FE, 6
+ trainerbattle_rematch TRAINER_DYLAN_1, Route117_Text_29C880, Route117_Text_29C8E3
+ msgbox Route117_Text_29C8FE, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3AF6:: @ 81F3AF6
- trainerbattle 2, TRAINER_MARIA_1, 0, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22
+ 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
- msgbox Route117_Text_29C9D0, 4
+ msgbox Route117_Text_29C9D0, MSGBOX_DEFAULT
release
end
Route117_EventScript_1F3B22:: @ 81F3B22
special sub_80B4808
waitmovement 0
- msgbox Route117_Text_29CA32, 4
- setvar VAR_0x8004, 369
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 369
- callstd 8
+ msgbox Route117_Text_29CA32, MSGBOX_DEFAULT
+ register_matchcall TRAINER_MARIA_1
release
end
Route117_EventScript_1F3B41:: @ 81F3B41
- trainerbattle 5, TRAINER_MARIA_1, 0, Route117_Text_29CA7C, Route117_Text_29CACC
- msgbox Route117_Text_29CAF6, 6
+ trainerbattle_rematch TRAINER_MARIA_1, Route117_Text_29CA7C, Route117_Text_29CACC
+ msgbox Route117_Text_29CAF6, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3B58:: @ 81F3B58
- trainerbattle 0, TRAINER_DEREK, 0, Route117_Text_29CB32, Route117_Text_29CB87
- msgbox Route117_Text_29CBAD, 6
+ trainerbattle_single TRAINER_DEREK, Route117_Text_29CB32, Route117_Text_29CB87
+ msgbox Route117_Text_29CBAD, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3B6F:: @ 81F3B6F
- trainerbattle 6, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F
+ 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
- msgbox Route117_Text_29CCCB, 4
+ msgbox Route117_Text_29CCCB, MSGBOX_DEFAULT
release
end
Route117_EventScript_1F3B9F:: @ 81F3B9F
- msgbox Route117_Text_29CD1D, 4
- setvar VAR_0x8004, 287
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 287
- callstd 8
+ msgbox Route117_Text_29CD1D, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ANNA_AND_MEG_1
release
end
Route117_EventScript_1F3BB8:: @ 81F3BB8
- trainerbattle 7, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CEB6, Route117_Text_29CEF6, Route117_Text_29CF6E
- msgbox Route117_Text_29CF1C, 6
+ trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CEB6, Route117_Text_29CEF6, Route117_Text_29CF6E
+ msgbox Route117_Text_29CF1C, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3BD3:: @ 81F3BD3
- trainerbattle 6, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03
+ 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
- msgbox Route117_Text_29CE17, 4
+ msgbox Route117_Text_29CE17, MSGBOX_DEFAULT
release
end
Route117_EventScript_1F3C03:: @ 81F3C03
- msgbox Route117_Text_29CD1D, 4
- setvar VAR_0x8004, 287
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 287
- callstd 8
+ msgbox Route117_Text_29CD1D, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ANNA_AND_MEG_1
release
end
Route117_EventScript_1F3C1C:: @ 81F3C1C
- trainerbattle 7, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CFAA, Route117_Text_29CFED, Route117_Text_29D053
- msgbox Route117_Text_29CFFE, 6
+ trainerbattle_rematch_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CFAA, Route117_Text_29CFED, Route117_Text_29D053
+ msgbox Route117_Text_29CFFE, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3C37:: @ 81F3C37
- trainerbattle 0, TRAINER_MELINA, 0, Route117_Text_29D0B7, Route117_Text_29D0F1
- msgbox Route117_Text_29D10E, 6
+ trainerbattle_single TRAINER_MELINA, Route117_Text_29D0B7, Route117_Text_29D0F1
+ msgbox Route117_Text_29D10E, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3C4E:: @ 81F3C4E
- trainerbattle 0, TRAINER_BRANDI, 0, Route117_Text_29D14B, Route117_Text_29D189
- msgbox Route117_Text_29D196, 6
+ trainerbattle_single TRAINER_BRANDI, Route117_Text_29D14B, Route117_Text_29D189
+ msgbox Route117_Text_29D196, MSGBOX_AUTOCLOSE
end
Route117_EventScript_1F3C65:: @ 81F3C65
- trainerbattle 0, TRAINER_AISHA, 0, Route117_Text_29D1D1, Route117_Text_29D206
- msgbox Route117_Text_29D24C, 6
+ trainerbattle_single TRAINER_AISHA, Route117_Text_29D1D1, Route117_Text_29D206
+ msgbox Route117_Text_29D24C, MSGBOX_AUTOCLOSE
end
Route117_Text_1F3C7C: @ 81F3C7C
diff --git a/data/maps/Route118/events.inc b/data/maps/Route118/events.inc
index 19d36d602..fe131549f 100644
--- a/data/maps/Route118/events.inc
+++ b/data/maps/Route118/events.inc
@@ -3,22 +3,22 @@ Route118_EventObjects: @ 852AAB4
object_event 2, EVENT_OBJ_GFX_BERRY_TREE, 0, 36, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 32, BerryTreeScript, 0
object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 37, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 33, BerryTreeScript, 0
object_event 4, EVENT_OBJ_GFX_MAN_5, 0, 64, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route118_EventScript_1F4079, 0
- object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CE16, 797
- object_event 6, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CE36, 797
+ object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CE16, FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
+ object_event 6, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CE36, FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
object_event 7, EVENT_OBJ_GFX_GIRL_2, 0, 12, 10, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route118_EventScript_1F3E73, 0
- object_event 8, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CED6, 901
- object_event 9, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CEF6, 901
- object_event 10, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CF16, 904
- object_event 11, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CF36, 904
- object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 38, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route118_EventScript_2906BB, 17
+ object_event 8, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CED6, FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
+ object_event 9, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CEF6, FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
+ object_event 10, EVENT_OBJ_GFX_REPORTER_F, 0, 33, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CF16, FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
+ object_event 11, EVENT_OBJ_GFX_CAMERAMAN, 0, 34, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route118_EventScript_28CF36, FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
+ object_event 12, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 38, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route118_EventScript_2906BB, FLAG_TEMP_11
object_event 13, EVENT_OBJ_GFX_FISHERMAN, 0, 28, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route118_EventScript_1F3E14, 0
object_event 14, EVENT_OBJ_GFX_WOMAN_2, 0, 7, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, Route118_EventScript_1F3F87, 0
object_event 15, EVENT_OBJ_GFX_FISHERMAN, 0, 14, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 0, Route118_EventScript_1F4000, 0
object_event 16, EVENT_OBJ_GFX_MAN_5, 0, 56, 7, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 0, 0, 1, 3, Route118_EventScript_1F4090, 0
object_event 17, EVENT_OBJ_GFX_FISHERMAN, 0, 39, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 1, 2, Route118_EventScript_1F3FE9, 0
object_event 18, EVENT_OBJ_GFX_MAN_5, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 1, 3, Route118_EventScript_1F4017, 0
- object_event 19, EVENT_OBJ_GFX_STEVEN, 0, 44, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 966
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 69, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route118_EventScript_290ED3, 1121
+ object_event 19, EVENT_OBJ_GFX_STEVEN, 0, 44, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_118_STEVEN
+ object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 69, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route118_EventScript_290ED3, FLAG_ITEM_ROUTE_118_HYPER_POTION
object_event 21, EVENT_OBJ_GFX_YOUNGSTER, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, Route118_EventScript_1F40A7, 0
Route118_MapWarps: @ 852ACAC
@@ -38,8 +38,8 @@ Route118_MapBGEvents: @ 852ACEC
bg_secret_base_event 29, 5, 0, SECRET_BASE_YELLOW_CAVE1_2
bg_secret_base_event 47, 5, 0, SECRET_BASE_TREE1_3
bg_secret_base_event 46, 5, 0, SECRET_BASE_TREE2_1
- bg_hidden_item_event 31, 13, 3, ITEM_IRON, 67
- bg_hidden_item_event 12, 14, 3, ITEM_HEART_SCALE, 66
+ bg_hidden_item_event 31, 13, 3, ITEM_IRON, FLAG_HIDDEN_ITEM_ROUTE_118_IRON
+ bg_hidden_item_event 12, 14, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE
Route118_MapEvents:: @ 852AD58
map_events Route118_EventObjects, Route118_MapWarps, Route118_MapCoordEvents, Route118_MapBGEvents
diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc
index 09fad07e7..f88e0e9c3 100644
--- a/data/maps/Route118/scripts.inc
+++ b/data/maps/Route118/scripts.inc
@@ -30,7 +30,7 @@ Route118_EventScript_1F3E14:: @ 81F3E14
faceplayer
checkflag FLAG_0x0E3
goto_eq Route118_EventScript_1F3E69
- msgbox Route118_Text_1F427B, 5
+ msgbox Route118_Text_1F427B, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route118_EventScript_1F3E3E
compare VAR_RESULT, 0
@@ -38,33 +38,33 @@ Route118_EventScript_1F3E14:: @ 81F3E14
end
Route118_EventScript_1F3E3E:: @ 81F3E3E
- msgbox Route118_Text_1F42AF, 4
+ msgbox Route118_Text_1F42AF, MSGBOX_DEFAULT
giveitem_std ITEM_GOOD_ROD
setflag FLAG_0x0E3
- msgbox Route118_Text_1F42E7, 4
+ msgbox Route118_Text_1F42E7, MSGBOX_DEFAULT
release
end
Route118_EventScript_1F3E5F:: @ 81F3E5F
- msgbox Route118_Text_1F4319, 4
+ msgbox Route118_Text_1F4319, MSGBOX_DEFAULT
release
end
Route118_EventScript_1F3E69:: @ 81F3E69
- msgbox Route118_Text_1F4331, 4
+ msgbox Route118_Text_1F4331, MSGBOX_DEFAULT
release
end
Route118_EventScript_1F3E73:: @ 81F3E73
- msgbox Route118_Text_1F4367, 2
+ msgbox Route118_Text_1F4367, MSGBOX_NPC
end
Route118_EventScript_1F3E7C:: @ 81F3E7C
- msgbox Route118_Text_1F43F4, 3
+ msgbox Route118_Text_1F43F4, MSGBOX_SIGN
end
Route118_EventScript_1F3E85:: @ 81F3E85
- msgbox Route118_Text_1F440E, 3
+ msgbox Route118_Text_1F440E, MSGBOX_SIGN
end
Route118_EventScript_1F3E8E:: @ 81F3E8E
@@ -100,7 +100,7 @@ Route118_EventScript_1F3EE4:: @ 81F3EE4
applymovement 19, Route118_Movement_1F3F65
waitmovement 0
delay 30
- msgbox Route118_Text_1F40BE, 4
+ msgbox Route118_Text_1F40BE, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, Route118_EventScript_1F3F28
@@ -187,78 +187,72 @@ Route118_Movement_1F3F7E: @ 81F3F7E
step_end
Route118_EventScript_1F3F87:: @ 81F3F87
- trainerbattle 2, TRAINER_ROSE_1, 0, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3
+ 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
- msgbox Route118_Text_29D2FA, 4
+ msgbox Route118_Text_29D2FA, MSGBOX_DEFAULT
release
end
Route118_EventScript_1F3FB3:: @ 81F3FB3
special sub_80B4808
waitmovement 0
- msgbox Route118_Text_29D343, 4
- setvar VAR_0x8004, 37
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 37
- callstd 8
+ msgbox Route118_Text_29D343, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ROSE_1
release
end
Route118_EventScript_1F3FD2:: @ 81F3FD2
- trainerbattle 5, TRAINER_ROSE_1, 0, Route118_Text_29D382, Route118_Text_29D3AA
- msgbox Route118_Text_29D3D9, 6
+ trainerbattle_rematch TRAINER_ROSE_1, Route118_Text_29D382, Route118_Text_29D3AA
+ msgbox Route118_Text_29D3D9, MSGBOX_AUTOCLOSE
end
Route118_EventScript_1F3FE9:: @ 81F3FE9
- trainerbattle 0, TRAINER_BARNY, 0, Route118_Text_29D515, Route118_Text_29D55C
- msgbox Route118_Text_29D587, 6
+ trainerbattle_single TRAINER_BARNY, Route118_Text_29D515, Route118_Text_29D55C
+ msgbox Route118_Text_29D587, MSGBOX_AUTOCLOSE
end
Route118_EventScript_1F4000:: @ 81F4000
- trainerbattle 0, TRAINER_WADE, 0, Route118_Text_29D5DF, Route118_Text_29D64C
- msgbox Route118_Text_29D663, 6
+ trainerbattle_single TRAINER_WADE, Route118_Text_29D5DF, Route118_Text_29D64C
+ msgbox Route118_Text_29D663, MSGBOX_AUTOCLOSE
end
Route118_EventScript_1F4017:: @ 81F4017
- trainerbattle 2, TRAINER_DALTON_1, 0, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043
+ 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
- msgbox Route118_Text_29D6D8, 4
+ msgbox Route118_Text_29D6D8, MSGBOX_DEFAULT
release
end
Route118_EventScript_1F4043:: @ 81F4043
special sub_80B4808
waitmovement 0
- msgbox Route118_Text_29D74A, 4
- setvar VAR_0x8004, 196
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 196
- callstd 8
+ msgbox Route118_Text_29D74A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_DALTON_1
release
end
Route118_EventScript_1F4062:: @ 81F4062
- trainerbattle 5, TRAINER_DALTON_1, 0, Route118_Text_29D789, Route118_Text_29D7CA
- msgbox Route118_Text_29D7D5, 6
+ trainerbattle_rematch TRAINER_DALTON_1, Route118_Text_29D789, Route118_Text_29D7CA
+ msgbox Route118_Text_29D7D5, MSGBOX_AUTOCLOSE
end
Route118_EventScript_1F4079:: @ 81F4079
- trainerbattle 0, TRAINER_PERRY, 0, Route118_Text_29D41D, Route118_Text_29D45B
- msgbox Route118_Text_29D46C, 6
+ trainerbattle_single TRAINER_PERRY, Route118_Text_29D41D, Route118_Text_29D45B
+ msgbox Route118_Text_29D46C, MSGBOX_AUTOCLOSE
end
Route118_EventScript_1F4090:: @ 81F4090
- trainerbattle 0, TRAINER_CHESTER, 0, Route118_Text_29D4A6, Route118_Text_29D4C4
- msgbox Route118_Text_29D4DA, 6
+ trainerbattle_single TRAINER_CHESTER, Route118_Text_29D4A6, Route118_Text_29D4C4
+ msgbox Route118_Text_29D4DA, MSGBOX_AUTOCLOSE
end
Route118_EventScript_1F40A7:: @ 81F40A7
- trainerbattle 0, TRAINER_DEANDRE, 0, Route118_Text_29D81B, Route118_Text_29D83C
- msgbox Route118_Text_29D872, 6
+ trainerbattle_single TRAINER_DEANDRE, Route118_Text_29D81B, Route118_Text_29D83C
+ msgbox Route118_Text_29D872, MSGBOX_AUTOCLOSE
end
Route118_Text_1F40BE: @ 81F40BE
diff --git a/data/maps/Route119/events.inc b/data/maps/Route119/events.inc
index 1abed81eb..3a7d1422b 100644
--- a/data/maps/Route119/events.inc
+++ b/data/maps/Route119/events.inc
@@ -14,34 +14,34 @@ Route119_EventObjects: @ 852AD6C
object_event 13, EVENT_OBJ_GFX_NINJA_BOY, 0, 19, 49, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 0, 0, 1, 3, Route119_EventScript_1F4919, 0
object_event 14, EVENT_OBJ_GFX_MAN_5, 0, 10, 50, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route119_EventScript_1F48D4, 0
object_event 15, EVENT_OBJ_GFX_MAN_5, 0, 8, 63, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 5, Route119_EventScript_1F48EB, 0
- object_event 16, EVENT_OBJ_GFX_HIPSTER, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 851
- object_event 17, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 121, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EE0, 1024
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 96, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EED, 1025
- object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EFA, 1026
- object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 76, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F07, 1027
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F14, 1028
- object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 117, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F21, 1029
- object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 33, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49A3, 890
- object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 34, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49BA, 890
- object_event 25, EVENT_OBJ_GFX_GIDDY, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 923
+ object_event 16, EVENT_OBJ_GFX_HIPSTER, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL
+ object_event 17, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 121, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EE0, FLAG_ITEM_ROUTE_119_SUPER_REPEL
+ object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 96, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EED, FLAG_ITEM_ROUTE_119_ZINC
+ object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EFA, FLAG_ITEM_ROUTE_119_ELIXIR_1
+ object_event 20, EVENT_OBJ_GFX_ITEM_BALL, 0, 25, 76, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F07, FLAG_ITEM_ROUTE_119_LEAF_STONE
+ object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F14, FLAG_ITEM_ROUTE_119_RARE_CANDY
+ object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 117, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F21, FLAG_ITEM_ROUTE_119_HYPER_POTION_1
+ object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 33, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49A3, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 34, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49BA, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 25, EVENT_OBJ_GFX_GIDDY, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE
object_event 26, EVENT_OBJ_GFX_BOY_3, 0, 31, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route119_EventScript_1F49D1, 0
object_event 27, EVENT_OBJ_GFX_BERRY_TREE, 0, 8, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 83, BerryTreeScript, 0
object_event 28, EVENT_OBJ_GFX_BERRY_TREE, 0, 9, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 84, BerryTreeScript, 0
object_event 29, EVENT_OBJ_GFX_BERRY_TREE, 0, 29, 90, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 85, BerryTreeScript, 0
object_event 30, EVENT_OBJ_GFX_BERRY_TREE, 0, 30, 90, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 86, BerryTreeScript, 0
object_event 31, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 19, 133, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 2, 1, 0, 0, Route119_EventScript_1F476B, 0
- object_event 32, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_290F2E, 1106
+ object_event 32, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 56, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_290F2E, FLAG_ITEM_ROUTE_119_HYPER_POTION_2
object_event 33, EVENT_OBJ_GFX_BOY_2, 0, 35, 93, 4, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route119_EventScript_1F49DA, 0
object_event 34, EVENT_OBJ_GFX_NINJA_BOY, 0, 29, 6, 3, MOVEMENT_TYPE_TREE_DISGUISE, 1, 1, 1, 3, Route119_EventScript_1F4930, 0
- object_event 35, EVENT_OBJ_GFX_KECLEON_1, 0, 31, 6, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route119_EventScript_27231C, 989
- object_event 36, EVENT_OBJ_GFX_KECLEON_1, 0, 25, 15, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route119_EventScript_272329, 990
+ object_event 35, EVENT_OBJ_GFX_KECLEON_1, 0, 31, 6, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route119_EventScript_27231C, FLAG_HIDE_ROUTE_119_KECLEON_1
+ object_event 36, EVENT_OBJ_GFX_KECLEON_1, 0, 25, 15, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route119_EventScript_272329, FLAG_HIDE_ROUTE_119_KECLEON_2
object_event 37, EVENT_OBJ_GFX_FISHERMAN, 0, 13, 104, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 0, Route119_EventScript_1F4947, 0
object_event 38, EVENT_OBJ_GFX_WOMAN_2, 0, 8, 68, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 5, Route119_EventScript_1F498C, 0
object_event 39, EVENT_OBJ_GFX_MAN_5, 0, 16, 52, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, Route119_EventScript_1F4975, 0
object_event 40, EVENT_OBJ_GFX_MAN_5, 0, 32, 15, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 4, Route119_EventScript_1F495E, 0
- object_event 41, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_291399, 1134
- object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 24, 42, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_290F3B, 1147
- object_event 43, EVENT_OBJ_GFX_SCOTT, 0, 28, 25, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 786
+ object_event 41, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_291399, FLAG_ITEM_ROUTE_119_NUGGET
+ object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 24, 42, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route119_EventScript_290F3B, FLAG_ITEM_ROUTE_119_ELIXIR_2
+ object_event 43, EVENT_OBJ_GFX_SCOTT, 0, 28, 25, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_SCOTT
Route119_MapWarps: @ 852B174
warp_def 6, 32, 0, 0, MAP_ROUTE119_WEATHER_INSTITUTE_1F
@@ -83,15 +83,15 @@ Route119_MapBGEvents: @ 852B2F4
bg_secret_base_event 31, 73, 3, SECRET_BASE_SHRUB4_1
bg_secret_base_event 16, 81, 0, SECRET_BASE_BLUE_CAVE3_3
bg_secret_base_event 16, 28, 0, SECRET_BASE_BLUE_CAVE4_3
- bg_hidden_item_event 17, 82, 3, ITEM_CALCIUM, 5
- bg_hidden_item_event 38, 63, 3, ITEM_ULTRA_BALL, 6
+ bg_hidden_item_event 17, 82, 3, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM
+ bg_hidden_item_event 38, 63, 3, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL
bg_secret_base_event 26, 81, 0, SECRET_BASE_RED_CAVE3_3
bg_secret_base_event 19, 76, 0, SECRET_BASE_TREE2_3
bg_secret_base_event 18, 76, 0, SECRET_BASE_TREE4_3
bg_secret_base_event 4, 15, 0, SECRET_BASE_SHRUB3_3
bg_secret_base_event 6, 2, 0, SECRET_BASE_SHRUB4_3
- bg_hidden_item_event 26, 120, 3, ITEM_FULL_HEAL, 68
- bg_hidden_item_event 20, 29, 3, ITEM_MAX_ETHER, 87
+ bg_hidden_item_event 26, 120, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL
+ bg_hidden_item_event 20, 29, 3, ITEM_MAX_ETHER, FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER
bg_event 28, 9, 0, BG_EVENT_PLAYER_FACING_ANY, Route119_EventScript_1F49E3
Route119_MapEvents:: @ 852B3E4
diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc
index f2e52d50c..87acdeb84 100644
--- a/data/maps/Route119/scripts.inc
+++ b/data/maps/Route119/scripts.inc
@@ -24,8 +24,8 @@ Route119_MapScript1_1F444D: @ 81F444D
end
Route119_EventScript_1F4466:: @ 81F4466
- setflag FLAG_0x37D
- clearflag FLAG_0x37C
+ setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS
+ clearflag FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
setvar VAR_WEATHER_INSTITUTE_STATE, 2
return
@@ -79,7 +79,7 @@ Route119_EventScript_1F4506:: @ 81F4506
return
Route119_EventScript_1F450B:: @ 81F450B
- msgbox Route119_Text_1F49FD, 4
+ msgbox Route119_Text_1F49FD, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route119_EventScript_1F453A
case 1, Route119_EventScript_1F454A
@@ -87,29 +87,29 @@ Route119_EventScript_1F450B:: @ 81F450B
end
Route119_EventScript_1F453A:: @ 81F453A
- trainerbattle 3, TRAINER_MAY_6, 0, Route119_Text_1F4A98
+ trainerbattle_no_intro TRAINER_MAY_6, Route119_Text_1F4A98
goto Route119_EventScript_1F456A
end
Route119_EventScript_1F454A:: @ 81F454A
- trainerbattle 3, TRAINER_MAY_9, 0, Route119_Text_1F4A98
+ trainerbattle_no_intro TRAINER_MAY_9, Route119_Text_1F4A98
goto Route119_EventScript_1F456A
end
Route119_EventScript_1F455A:: @ 81F455A
- trainerbattle 3, TRAINER_MAY_3, 0, Route119_Text_1F4A98
+ trainerbattle_no_intro TRAINER_MAY_3, Route119_Text_1F4A98
goto Route119_EventScript_1F456A
end
Route119_EventScript_1F456A:: @ 81F456A
- msgbox Route119_Text_1F4AF3, 4
+ msgbox Route119_Text_1F4AF3, MSGBOX_DEFAULT
call Route119_EventScript_1F45FF
- msgbox Route119_Text_1F4B56, 4
+ msgbox Route119_Text_1F4B56, MSGBOX_DEFAULT
goto Route119_EventScript_1F460F
end
Route119_EventScript_1F4585:: @ 81F4585
- msgbox Route119_Text_1F4C9A, 4
+ msgbox Route119_Text_1F4C9A, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, Route119_EventScript_1F45B4
case 1, Route119_EventScript_1F45C4
@@ -117,24 +117,24 @@ Route119_EventScript_1F4585:: @ 81F4585
end
Route119_EventScript_1F45B4:: @ 81F45B4
- trainerbattle 3, TRAINER_BRENDAN_6, 0, Route119_Text_1F4D24
+ trainerbattle_no_intro TRAINER_BRENDAN_6, Route119_Text_1F4D24
goto Route119_EventScript_1F45E4
end
Route119_EventScript_1F45C4:: @ 81F45C4
- trainerbattle 3, TRAINER_BRENDAN_9, 0, Route119_Text_1F4D24
+ trainerbattle_no_intro TRAINER_BRENDAN_9, Route119_Text_1F4D24
goto Route119_EventScript_1F45E4
end
Route119_EventScript_1F45D4:: @ 81F45D4
- trainerbattle 3, TRAINER_BRENDAN_3, 0, Route119_Text_1F4D24
+ trainerbattle_no_intro TRAINER_BRENDAN_3, Route119_Text_1F4D24
goto Route119_EventScript_1F45E4
end
Route119_EventScript_1F45E4:: @ 81F45E4
- msgbox Route119_Text_1F4D4B, 4
+ msgbox Route119_Text_1F4D4B, MSGBOX_DEFAULT
call Route119_EventScript_1F45FF
- msgbox Route119_Text_1F4DB5, 4
+ msgbox Route119_Text_1F4DB5, MSGBOX_DEFAULT
goto Route119_EventScript_1F460F
end
@@ -169,7 +169,7 @@ Route119_EventScript_1F460F:: @ 81F460F
applymovement 43, Route119_Movement_1F4752
waitmovement 0
addvar VAR_0x40D1, 1
- msgbox Route119_Text_1F4E60, 4
+ msgbox Route119_Text_1F4E60, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
call_if 1, Route119_EventScript_1F46B0
@@ -325,146 +325,140 @@ Route119_Movement_1F4763: @ 81F4763
step_end
Route119_EventScript_1F476B:: @ 81F476B
- msgbox Route119_Text_1F5261, 2
+ msgbox Route119_Text_1F5261, MSGBOX_NPC
end
Route119_EventScript_1F4774:: @ 81F4774
- msgbox Route119_Text_1F530E, 3
+ msgbox Route119_Text_1F530E, MSGBOX_SIGN
end
Route119_EventScript_1F477D:: @ 81F477D
- msgbox Route119_Text_1F5327, 3
+ msgbox Route119_Text_1F5327, MSGBOX_SIGN
end
Route119_EventScript_1F4786:: @ 81F4786
- trainerbattle 0, TRAINER_BRENT, 0, Route119_Text_29D8C2, Route119_Text_29D8F0
- msgbox Route119_Text_29D902, 6
+ trainerbattle_single TRAINER_BRENT, Route119_Text_29D8C2, Route119_Text_29D8F0
+ msgbox Route119_Text_29D902, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F479D:: @ 81F479D
- trainerbattle 0, TRAINER_DONALD, 0, Route119_Text_29D941, Route119_Text_29D97C
- msgbox Route119_Text_29D993, 6
+ trainerbattle_single TRAINER_DONALD, Route119_Text_29D941, Route119_Text_29D97C
+ msgbox Route119_Text_29D993, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F47B4:: @ 81F47B4
- trainerbattle 0, TRAINER_TAYLOR, 0, Route119_Text_29D9CD, Route119_Text_29DA14
- msgbox Route119_Text_29DA2C, 6
+ trainerbattle_single TRAINER_TAYLOR, Route119_Text_29D9CD, Route119_Text_29DA14
+ msgbox Route119_Text_29DA2C, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F47CB:: @ 81F47CB
- trainerbattle 0, TRAINER_DOUG, 0, Route119_Text_29DA7D, Route119_Text_29DABC
- msgbox Route119_Text_29DADB, 6
+ trainerbattle_single TRAINER_DOUG, Route119_Text_29DA7D, Route119_Text_29DABC
+ msgbox Route119_Text_29DADB, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F47E2:: @ 81F47E2
- trainerbattle 0, TRAINER_GREG, 0, Route119_Text_29DB17, Route119_Text_29DB66
- msgbox Route119_Text_29DB7C, 6
+ trainerbattle_single TRAINER_GREG, Route119_Text_29DB17, Route119_Text_29DB66
+ msgbox Route119_Text_29DB7C, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F47F9:: @ 81F47F9
- trainerbattle 0, TRAINER_KENT, 0, Route119_Text_29DBC2, Route119_Text_29DC20
- msgbox Route119_Text_29DC2B, 6
+ trainerbattle_single TRAINER_KENT, Route119_Text_29DBC2, Route119_Text_29DC20
+ msgbox Route119_Text_29DC2B, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4810:: @ 81F4810
- trainerbattle 2, TRAINER_JACKSON_1, 0, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C
+ 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
- msgbox Route119_Text_29DCC6, 4
+ msgbox Route119_Text_29DCC6, MSGBOX_DEFAULT
release
end
Route119_EventScript_1F483C:: @ 81F483C
special sub_80B4808
waitmovement 0
- msgbox Route119_Text_29DD1C, 4
- setvar VAR_0x8004, 552
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 552
- callstd 8
+ msgbox Route119_Text_29DD1C, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JACKSON_1
release
end
Route119_EventScript_1F485B:: @ 81F485B
- trainerbattle 5, TRAINER_JACKSON_1, 0, Route119_Text_29DD62, Route119_Text_29DDA5
- msgbox Route119_Text_29DDBD, 6
+ trainerbattle_rematch TRAINER_JACKSON_1, Route119_Text_29DD62, Route119_Text_29DDA5
+ msgbox Route119_Text_29DDBD, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4872:: @ 81F4872
- trainerbattle 2, TRAINER_CATHERINE_1, 0, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E
+ 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
- msgbox Route119_Text_29DE88, 4
+ msgbox Route119_Text_29DE88, MSGBOX_DEFAULT
release
end
Route119_EventScript_1F489E:: @ 81F489E
special sub_80B4808
waitmovement 0
- msgbox Route119_Text_29DEF7, 4
- setvar VAR_0x8004, 559
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 559
- callstd 8
+ msgbox Route119_Text_29DEF7, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CATHERINE_1
release
end
Route119_EventScript_1F48BD:: @ 81F48BD
- trainerbattle 5, TRAINER_CATHERINE_1, 0, Route119_Text_29DF6B, Route119_Text_29DF92
- msgbox Route119_Text_29DFAF, 6
+ trainerbattle_rematch TRAINER_CATHERINE_1, Route119_Text_29DF6B, Route119_Text_29DF92
+ msgbox Route119_Text_29DFAF, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F48D4:: @ 81F48D4
- trainerbattle 0, TRAINER_HUGH, 0, Route119_Text_29E007, Route119_Text_29E063
- msgbox Route119_Text_29E071, 6
+ trainerbattle_single TRAINER_HUGH, Route119_Text_29E007, Route119_Text_29E063
+ msgbox Route119_Text_29E071, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F48EB:: @ 81F48EB
- trainerbattle 0, TRAINER_PHIL, 0, Route119_Text_29E0A5, Route119_Text_29E0E1
- msgbox Route119_Text_29E0F6, 6
+ trainerbattle_single TRAINER_PHIL, Route119_Text_29E0A5, Route119_Text_29E0E1
+ msgbox Route119_Text_29E0F6, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4902:: @ 81F4902
- trainerbattle 0, TRAINER_YASU, 0, Route119_Text_29E134, Route119_Text_29E18D
- msgbox Route119_Text_29E19D, 6
+ trainerbattle_single TRAINER_YASU, Route119_Text_29E134, Route119_Text_29E18D
+ msgbox Route119_Text_29E19D, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4919:: @ 81F4919
- trainerbattle 0, TRAINER_TAKASHI, 0, Route119_Text_29E1F5, Route119_Text_29E22B
- msgbox Route119_Text_29E245, 6
+ trainerbattle_single TRAINER_TAKASHI, Route119_Text_29E1F5, Route119_Text_29E22B
+ msgbox Route119_Text_29E245, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4930:: @ 81F4930
- trainerbattle 0, TRAINER_HIDEO, 0, Route119_Text_29E26A, Route119_Text_29E288
- msgbox Route119_Text_29E2A3, 6
+ trainerbattle_single TRAINER_HIDEO, Route119_Text_29E26A, Route119_Text_29E288
+ msgbox Route119_Text_29E2A3, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4947:: @ 81F4947
- trainerbattle 0, TRAINER_CHRIS, 0, Route119_Text_29E30D, Route119_Text_29E372
- msgbox Route119_Text_29E3A2, 6
+ trainerbattle_single TRAINER_CHRIS, Route119_Text_29E30D, Route119_Text_29E372
+ msgbox Route119_Text_29E3A2, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F495E:: @ 81F495E
- trainerbattle 0, TRAINER_FABIAN, 0, Route119_Text_29E3FF, Route119_Text_29E44F
- msgbox Route119_Text_29E492, 6
+ trainerbattle_single TRAINER_FABIAN, Route119_Text_29E3FF, Route119_Text_29E44F
+ msgbox Route119_Text_29E492, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F4975:: @ 81F4975
- trainerbattle 0, TRAINER_DAYTON, 0, Route119_Text_29E4DF, Route119_Text_29E513
- msgbox Route119_Text_29E532, 6
+ trainerbattle_single TRAINER_DAYTON, Route119_Text_29E4DF, Route119_Text_29E513
+ msgbox Route119_Text_29E532, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F498C:: @ 81F498C
- trainerbattle 0, TRAINER_RACHEL, 0, Route119_Text_29E56F, Route119_Text_29E5B1
- msgbox Route119_Text_29E5CB, 6
+ trainerbattle_single TRAINER_RACHEL, Route119_Text_29E56F, Route119_Text_29E5B1
+ msgbox Route119_Text_29E5CB, MSGBOX_AUTOCLOSE
end
Route119_EventScript_1F49A3:: @ 81F49A3
lock
faceplayer
- msgbox Route119_Text_1F50EB, 4
+ msgbox Route119_Text_1F50EB, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Route119_Movement_2725A2
waitmovement 0
@@ -474,7 +468,7 @@ Route119_EventScript_1F49A3:: @ 81F49A3
Route119_EventScript_1F49BA:: @ 81F49BA
lock
faceplayer
- msgbox Route119_Text_1F5147, 4
+ msgbox Route119_Text_1F5147, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, Route119_Movement_2725A2
waitmovement 0
@@ -482,15 +476,15 @@ Route119_EventScript_1F49BA:: @ 81F49BA
end
Route119_EventScript_1F49D1:: @ 81F49D1
- msgbox Route119_Text_1F51A2, 2
+ msgbox Route119_Text_1F51A2, MSGBOX_NPC
end
Route119_EventScript_1F49DA:: @ 81F49DA
- msgbox Route119_Text_1F52B9, 2
+ msgbox Route119_Text_1F52B9, MSGBOX_NPC
end
Route119_EventScript_1F49E3:: @ 81F49E3
- msgbox Route119_Text_1F5339, 3
+ msgbox Route119_Text_1F5339, MSGBOX_SIGN
end
Route119_EventScript_1F49EC:: @ 81F49EC
diff --git a/data/maps/Route119_House/scripts.inc b/data/maps/Route119_House/scripts.inc
index 5e633437d..4d4826bdf 100644
--- a/data/maps/Route119_House/scripts.inc
+++ b/data/maps/Route119_House/scripts.inc
@@ -2,7 +2,7 @@ Route119_House_MapScripts:: @ 8270965
.byte 0
Route119_House_EventScript_270966:: @ 8270966
- msgbox Route119_House_Text_270982, 2
+ msgbox Route119_House_Text_270982, MSGBOX_NPC
end
Route119_House_EventScript_27096F:: @ 827096F
@@ -10,7 +10,7 @@ Route119_House_EventScript_27096F:: @ 827096F
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox Route119_House_Text_270A17, 4
+ msgbox Route119_House_Text_270A17, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/Route119_WeatherInstitute_1F/events.inc b/data/maps/Route119_WeatherInstitute_1F/events.inc
index a46081332..6d72fea9c 100644
--- a/data/maps/Route119_WeatherInstitute_1F/events.inc
+++ b/data/maps/Route119_WeatherInstitute_1F/events.inc
@@ -1,8 +1,8 @@
Route119_WeatherInstitute_1F_EventObjects: @ 853EB20
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 15, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route119_WeatherInstitute_1F_EventScript_26FB29, 890
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route119_WeatherInstitute_1F_EventScript_26FB40, 890
- object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB0F, 892
- object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAC8, 892
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 15, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route119_WeatherInstitute_1F_EventScript_26FB29, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 2, Route119_WeatherInstitute_1F_EventScript_26FB40, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB0F, FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
+ object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 2, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAC8, FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS
object_event 5, EVENT_OBJ_GFX_NINJA_BOY, 0, 14, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAA4, 0
Route119_WeatherInstitute_1F_MapWarps: @ 853EB98
diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
index b008f52c0..f5b97bffa 100644
--- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
@@ -18,12 +18,12 @@ Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4
special GetPlayerBigGuyGirlString
compare VAR_WEATHER_INSTITUTE_STATE, 0
goto_eq Route119_WeatherInstitute_1F_EventScript_26FABE
- msgbox Route119_WeatherInstitute_1F_Text_26FCE5, 4
+ msgbox Route119_WeatherInstitute_1F_Text_26FCE5, MSGBOX_DEFAULT
release
end
Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE
- msgbox Route119_WeatherInstitute_1F_Text_26FCB7, 4
+ msgbox Route119_WeatherInstitute_1F_Text_26FCB7, MSGBOX_DEFAULT
release
end
@@ -39,7 +39,7 @@ Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8
call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF
compare VAR_0x8004, 2
goto_eq Route119_WeatherInstitute_1F_EventScript_26FB05
- msgbox Route119_WeatherInstitute_1F_Text_26FDE8, 4
+ msgbox Route119_WeatherInstitute_1F_Text_26FDE8, MSGBOX_DEFAULT
release
end
@@ -48,30 +48,30 @@ Route119_WeatherInstitute_1F_EventScript_26FAFF:: @ 826FAFF
return
Route119_WeatherInstitute_1F_EventScript_26FB05:: @ 826FB05
- msgbox Route119_WeatherInstitute_1F_Text_26FD2E, 4
+ msgbox Route119_WeatherInstitute_1F_Text_26FD2E, MSGBOX_DEFAULT
release
end
Route119_WeatherInstitute_1F_EventScript_26FB0F:: @ 826FB0F
- msgbox Route119_WeatherInstitute_1F_Text_26FE94, 2
+ msgbox Route119_WeatherInstitute_1F_Text_26FE94, MSGBOX_NPC
end
Route119_WeatherInstitute_1F_EventScript_26FB18:: @ 826FB18
lockall
- msgbox Route119_WeatherInstitute_1F_Text_26FEFC, 4
+ msgbox Route119_WeatherInstitute_1F_Text_26FEFC, MSGBOX_DEFAULT
closemessage
call Route119_WeatherInstitute_1F_EventScript_272083
releaseall
end
Route119_WeatherInstitute_1F_EventScript_26FB29:: @ 826FB29
- trainerbattle 0, TRAINER_GRUNT_11, 0, Route119_WeatherInstitute_1F_Text_26FB57, Route119_WeatherInstitute_1F_Text_26FBBB
- msgbox Route119_WeatherInstitute_1F_Text_26FBD7, 6
+ trainerbattle_single TRAINER_GRUNT_11, Route119_WeatherInstitute_1F_Text_26FB57, Route119_WeatherInstitute_1F_Text_26FBBB
+ msgbox Route119_WeatherInstitute_1F_Text_26FBD7, MSGBOX_AUTOCLOSE
end
Route119_WeatherInstitute_1F_EventScript_26FB40:: @ 826FB40
- trainerbattle 0, TRAINER_GRUNT_20, 0, Route119_WeatherInstitute_1F_Text_26FC34, Route119_WeatherInstitute_1F_Text_26FC52
- msgbox Route119_WeatherInstitute_1F_Text_26FC60, 6
+ trainerbattle_single TRAINER_GRUNT_20, Route119_WeatherInstitute_1F_Text_26FC34, Route119_WeatherInstitute_1F_Text_26FC52
+ msgbox Route119_WeatherInstitute_1F_Text_26FC60, MSGBOX_AUTOCLOSE
end
Route119_WeatherInstitute_1F_Text_26FB57: @ 826FB57
diff --git a/data/maps/Route119_WeatherInstitute_2F/events.inc b/data/maps/Route119_WeatherInstitute_2F/events.inc
index ae7f8b9fc..d2cc64d40 100644
--- a/data/maps/Route119_WeatherInstitute_2F/events.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/events.inc
@@ -1,12 +1,12 @@
Route119_WeatherInstitute_2F_EventObjects: @ 853EBF4
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route119_WeatherInstitute_2F_EventScript_26FF7F, 890
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 2, Route119_WeatherInstitute_2F_EventScript_26FF96, 890
- object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, Route119_WeatherInstitute_2F_EventScript_26FFAD, 890
- object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 893
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 4, Route119_WeatherInstitute_2F_EventScript_26FF7F, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_UP, 0, 0, 1, 2, Route119_WeatherInstitute_2F_EventScript_26FF96, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 4, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 0, Route119_WeatherInstitute_2F_EventScript_26FFAD, FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ object_event 4, EVENT_OBJ_GFX_MAN_4, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS
object_event 5, EVENT_OBJ_GFX_SCIENTIST_1, 0, 18, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 2, 1, 0, 0, Route119_WeatherInstitute_2F_EventScript_27018B, 0
- object_event 6, EVENT_OBJ_GFX_MAN_4, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 893
- object_event 7, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 16, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 992
- object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 19, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, Route119_WeatherInstitute_2F_EventScript_26FF68, 890
+ object_event 6, EVENT_OBJ_GFX_MAN_4, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS
+ object_event 7, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 16, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M
+ object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 19, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, Route119_WeatherInstitute_2F_EventScript_26FF68, FLAG_HIDE_ROUTE_119_TEAM_AQUA
Route119_WeatherInstitute_2F_MapWarps: @ 853ECB4
warp_def 17, 1, 0, 2, MAP_ROUTE119_WEATHER_INSTITUTE_1F
diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
index b2341bf3d..1b7ba28de 100644
--- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
@@ -27,47 +27,47 @@ Route119_WeatherInstitute_2F_EventScript_26FF5C:: @ 826FF5C
return
Route119_WeatherInstitute_2F_EventScript_26FF68:: @ 826FF68
- trainerbattle 0, TRAINER_GRUNT_37, 0, Route119_WeatherInstitute_2F_Text_270335, Route119_WeatherInstitute_2F_Text_27039F
- msgbox Route119_WeatherInstitute_2F_Text_2703C0, 6
+ trainerbattle_single TRAINER_GRUNT_37, Route119_WeatherInstitute_2F_Text_270335, Route119_WeatherInstitute_2F_Text_27039F
+ msgbox Route119_WeatherInstitute_2F_Text_2703C0, MSGBOX_AUTOCLOSE
end
Route119_WeatherInstitute_2F_EventScript_26FF7F:: @ 826FF7F
- trainerbattle 0, TRAINER_GRUNT_12, 0, Route119_WeatherInstitute_2F_Text_27019C, Route119_WeatherInstitute_2F_Text_270208
- msgbox Route119_WeatherInstitute_2F_Text_27022B, 6
+ trainerbattle_single TRAINER_GRUNT_12, Route119_WeatherInstitute_2F_Text_27019C, Route119_WeatherInstitute_2F_Text_270208
+ msgbox Route119_WeatherInstitute_2F_Text_27022B, MSGBOX_AUTOCLOSE
end
Route119_WeatherInstitute_2F_EventScript_26FF96:: @ 826FF96
- trainerbattle 0, TRAINER_GRUNT_13, 0, Route119_WeatherInstitute_2F_Text_270292, Route119_WeatherInstitute_2F_Text_2702CE
- msgbox Route119_WeatherInstitute_2F_Text_2702DA, 6
+ trainerbattle_single TRAINER_GRUNT_13, Route119_WeatherInstitute_2F_Text_270292, Route119_WeatherInstitute_2F_Text_2702CE
+ msgbox Route119_WeatherInstitute_2F_Text_2702DA, MSGBOX_AUTOCLOSE
end
Route119_WeatherInstitute_2F_EventScript_26FFAD:: @ 826FFAD
- trainerbattle 2, TRAINER_SHELLY_1, 0, Route119_WeatherInstitute_2F_Text_270409, Route119_WeatherInstitute_2F_Text_2704BD, Route119_WeatherInstitute_2F_EventScript_26FFC8
- msgbox Route119_WeatherInstitute_2F_Text_2704E4, 6
+ trainerbattle_single TRAINER_SHELLY_1, Route119_WeatherInstitute_2F_Text_270409, Route119_WeatherInstitute_2F_Text_2704BD, Route119_WeatherInstitute_2F_EventScript_26FFC8
+ msgbox Route119_WeatherInstitute_2F_Text_2704E4, MSGBOX_AUTOCLOSE
end
Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
- msgbox Route119_WeatherInstitute_2F_Text_2704E4, 4
+ msgbox Route119_WeatherInstitute_2F_Text_2704E4, MSGBOX_DEFAULT
closemessage
addobject 7
applymovement 7, Route119_WeatherInstitute_2F_Movement_270170
applymovement 255, Route119_WeatherInstitute_2F_Movement_27017C
waitmovement 0
- msgbox Route119_WeatherInstitute_2F_Text_270568, 4
+ msgbox Route119_WeatherInstitute_2F_Text_270568, MSGBOX_DEFAULT
closemessage
playse SE_PIN
applymovement 3, Route119_WeatherInstitute_2F_Movement_272598
waitmovement 0
applymovement 3, Route119_WeatherInstitute_2F_Movement_27259A
waitmovement 0
- msgbox Route119_WeatherInstitute_2F_Text_2705DD, 4
+ msgbox Route119_WeatherInstitute_2F_Text_2705DD, MSGBOX_DEFAULT
closemessage
setvar VAR_WEATHER_INSTITUTE_STATE, 1
- clearflag FLAG_0x37D
+ clearflag FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS
fadedefaultbgm
fadescreen 1
- setflag FLAG_0x37A
- setflag FLAG_0x3E0
+ setflag FLAG_HIDE_ROUTE_119_TEAM_AQUA
+ setflag FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M
removeobject 1
removeobject 2
removeobject 3
@@ -83,7 +83,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
end
Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D
- msgbox Route119_WeatherInstitute_2F_Text_270650, 4
+ msgbox Route119_WeatherInstitute_2F_Text_270650, MSGBOX_DEFAULT
setvar VAR_TEMP_1, 385
givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0
compare VAR_RESULT, 0
@@ -95,7 +95,7 @@ Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D
Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
call Route119_WeatherInstitute_2F_EventScript_2700DB
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route119_WeatherInstitute_2F_EventScript_2700EA
call Route119_WeatherInstitute_2F_EventScript_27378B
@@ -105,7 +105,7 @@ Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD
call Route119_WeatherInstitute_2F_EventScript_2700DB
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route119_WeatherInstitute_2F_EventScript_2700D0
call Route119_WeatherInstitute_2F_EventScript_273797
@@ -126,7 +126,7 @@ Route119_WeatherInstitute_2F_EventScript_2700DB:: @ 82700DB
return
Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA
- msgbox Route119_WeatherInstitute_2F_Text_2706FE, 4
+ msgbox Route119_WeatherInstitute_2F_Text_2706FE, MSGBOX_DEFAULT
setflag FLAG_0x097
release
end
@@ -134,7 +134,7 @@ Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA
Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7
checkflag FLAG_SYS_GAME_CLEAR
goto_eq Route119_WeatherInstitute_2F_EventScript_27010A
- msgbox Route119_WeatherInstitute_2F_Text_27077E, 4
+ msgbox Route119_WeatherInstitute_2F_Text_27077E, MSGBOX_DEFAULT
release
end
@@ -146,23 +146,23 @@ Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A
call_if 1, Route119_WeatherInstitute_2F_EventScript_270160
compare VAR_0x8004, 2
goto_eq Route119_WeatherInstitute_2F_EventScript_270166
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
call_if 0, Route119_WeatherInstitute_2F_EventScript_270159
specialvar VAR_RESULT, sub_813B374
compare VAR_RESULT, 1
goto_eq Route119_WeatherInstitute_2F_EventScript_27014F
- msgbox Route119_WeatherInstitute_2F_Text_2707F1, 4
+ msgbox Route119_WeatherInstitute_2F_Text_2707F1, MSGBOX_DEFAULT
release
end
Route119_WeatherInstitute_2F_EventScript_27014F:: @ 827014F
- msgbox Route119_WeatherInstitute_2F_Text_270873, 4
+ msgbox Route119_WeatherInstitute_2F_Text_270873, MSGBOX_DEFAULT
release
end
Route119_WeatherInstitute_2F_EventScript_270159:: @ 8270159
special sub_813B2E4
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
return
Route119_WeatherInstitute_2F_EventScript_270160:: @ 8270160
@@ -170,7 +170,7 @@ Route119_WeatherInstitute_2F_EventScript_270160:: @ 8270160
return
Route119_WeatherInstitute_2F_EventScript_270166:: @ 8270166
- msgbox Route119_WeatherInstitute_2F_Text_2708FC, 4
+ msgbox Route119_WeatherInstitute_2F_Text_2708FC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route120/events.inc b/data/maps/Route120/events.inc
index 717e75055..4400081f7 100644
--- a/data/maps/Route120/events.inc
+++ b/data/maps/Route120/events.inc
@@ -14,35 +14,35 @@ Route120_EventObjects: @ 852B3F8
object_event 13, EVENT_OBJ_GFX_CAMPER, 0, 27, 51, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 7, Route120_EventScript_1F5850, 0
object_event 14, EVENT_OBJ_GFX_PICNICKER, 0, 36, 45, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route120_EventScript_1F5867, 0
object_event 15, EVENT_OBJ_GFX_MANIAC, 0, 19, 80, 5, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 3, Route120_EventScript_1F587E, 0
- object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 55, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_290F48, 1030
- object_event 17, EVENT_OBJ_GFX_CAMERAMAN, 0, 37, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CE76, 798
- object_event 18, EVENT_OBJ_GFX_REPORTER_F, 0, 36, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CE56, 798
- object_event 19, EVENT_OBJ_GFX_REPORTER_F, 0, 36, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CF16, 902
- object_event 20, EVENT_OBJ_GFX_CAMERAMAN, 0, 37, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CF36, 902
- object_event 21, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 35, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_2906BB, 17
- object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 89, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_290F55, 1031
+ object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 55, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_290F48, FLAG_ITEM_ROUTE_120_NUGGET
+ object_event 17, EVENT_OBJ_GFX_CAMERAMAN, 0, 37, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CE76, FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
+ object_event 18, EVENT_OBJ_GFX_REPORTER_F, 0, 36, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CE56, FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
+ object_event 19, EVENT_OBJ_GFX_REPORTER_F, 0, 36, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CF16, FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
+ object_event 20, EVENT_OBJ_GFX_CAMERAMAN, 0, 37, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, Route120_EventScript_28CF36, FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
+ object_event 21, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 35, 32, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_2906BB, FLAG_TEMP_11
+ object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 89, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route120_EventScript_290F55, FLAG_ITEM_ROUTE_120_FULL_HEAL
object_event 23, EVENT_OBJ_GFX_BEAUTY, 0, 14, 92, 5, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, Route120_EventScript_1F5527, 0
object_event 24, EVENT_OBJ_GFX_WOMAN_5, 0, 31, 37, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 1, 4, Route120_EventScript_1F58E0, 0
object_event 25, EVENT_OBJ_GFX_HIKER, 0, 9, 60, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 1, 4, Route120_EventScript_1F58F7, 0
object_event 26, EVENT_OBJ_GFX_WOMAN_5, 0, 16, 6, 3, MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE, 0, 0, 1, 4, Route120_EventScript_1F590E, 0
object_event 27, EVENT_OBJ_GFX_WOMAN_5, 0, 18, 34, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route120_EventScript_1F5925, 0
- object_event 28, EVENT_OBJ_GFX_ITEM_BALL, 0, 22, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F6F, 1108
- object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 82, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F62, 1107
- object_event 30, EVENT_OBJ_GFX_KECLEON_1, 0, 12, 16, 4, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1F57BC, 970
- object_event 31, EVENT_OBJ_GFX_STEVEN, 0, 13, 15, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route120_EventScript_1F5641, 972
- object_event 32, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 20, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_2906BB, 20
- object_event 33, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_2906BB, 18
+ object_event 28, EVENT_OBJ_GFX_ITEM_BALL, 0, 22, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F6F, FLAG_ITEM_ROUTE_120_NEST_BALL
+ object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 23, 82, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F62, FLAG_ITEM_ROUTE_120_HYPER_POTION
+ object_event 30, EVENT_OBJ_GFX_KECLEON_1, 0, 12, 16, 4, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_1F57BC, FLAG_HIDE_ROUTE_120_KECLEON_1
+ object_event 31, EVENT_OBJ_GFX_STEVEN, 0, 13, 15, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route120_EventScript_1F5641, FLAG_0x3CC
+ object_event 32, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 20, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_2906BB, FLAG_TEMP_14
+ object_event 33, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 15, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_2906BB, FLAG_TEMP_12
object_event 34, EVENT_OBJ_GFX_NINJA_BOY, 0, 10, 72, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 1, 1, 1, 3, Route120_EventScript_1F593C, 0
object_event 35, EVENT_OBJ_GFX_NINJA_BOY, 0, 19, 28, 3, MOVEMENT_TYPE_TREE_DISGUISE, 1, 1, 1, 3, Route120_EventScript_1F5953, 0
- object_event 36, EVENT_OBJ_GFX_KECLEON_2, 0, 12, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 981
- object_event 37, EVENT_OBJ_GFX_KECLEON_1, 0, 20, 11, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_2722DB, 982
- object_event 38, EVENT_OBJ_GFX_KECLEON_1, 0, 27, 2, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_2722E8, 985
- object_event 39, EVENT_OBJ_GFX_KECLEON_1, 0, 4, 77, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_2722F5, 986
- object_event 40, EVENT_OBJ_GFX_KECLEON_1, 0, 7, 51, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_27230F, 988
- object_event 41, EVENT_OBJ_GFX_KECLEON_1, 0, 19, 48, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_272302, 987
+ object_event 36, EVENT_OBJ_GFX_KECLEON_2, 0, 12, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE
+ object_event 37, EVENT_OBJ_GFX_KECLEON_1, 0, 20, 11, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_2722DB, FLAG_HIDE_ROUTE_120_KECLEON_2
+ object_event 38, EVENT_OBJ_GFX_KECLEON_1, 0, 27, 2, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_2722E8, FLAG_HIDE_ROUTE_120_KECLEON_3
+ object_event 39, EVENT_OBJ_GFX_KECLEON_1, 0, 4, 77, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_2722F5, FLAG_HIDE_ROUTE_120_KECLEON_4
+ object_event 40, EVENT_OBJ_GFX_KECLEON_1, 0, 7, 51, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_27230F, FLAG_HIDE_ROUTE_120_KECLEON_6
+ object_event 41, EVENT_OBJ_GFX_KECLEON_1, 0, 19, 48, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Route120_EventScript_272302, FLAG_HIDE_ROUTE_120_KECLEON_5
object_event 42, EVENT_OBJ_GFX_GIRL_3, 0, 19, 32, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, Route120_EventScript_1F5981, 0
object_event 43, EVENT_OBJ_GFX_MAN_3, 0, 14, 34, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, Route120_EventScript_1F596A, 0
- object_event 44, EVENT_OBJ_GFX_ITEM_BALL, 0, 24, 33, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F7C, 1148
+ object_event 44, EVENT_OBJ_GFX_ITEM_BALL, 0, 24, 33, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route120_EventScript_290F7C, FLAG_ITEM_ROUTE_120_REVIVE
Route120_MapWarps: @ 852B818
warp_def 7, 55, 0, 0, MAP_ANCIENT_TOMB
@@ -79,10 +79,10 @@ Route120_MapBGEvents: @ 852B958
bg_secret_base_event 18, 12, 0, SECRET_BASE_BLUE_CAVE2_3
bg_secret_base_event 38, 54, 0, SECRET_BASE_SHRUB1_3
bg_secret_base_event 31, 23, 0, SECRET_BASE_SHRUB2_3
- bg_hidden_item_event 9, 1, 3, ITEM_RARE_CANDY, 71
- bg_hidden_item_event 31, 11, 3, ITEM_REVIVE, 84
- bg_hidden_item_event 0, 86, 3, ITEM_RARE_CANDY, 69
- bg_hidden_item_event 24, 42, 3, ITEM_ZINC, 70
+ bg_hidden_item_event 9, 1, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1
+ bg_hidden_item_event 31, 11, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE
+ bg_hidden_item_event 0, 86, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2
+ bg_hidden_item_event 24, 42, 3, ITEM_ZINC, FLAG_HIDDEN_ITEM_ROUTE_120_ZINC
bg_secret_base_event 5, 76, 0, SECRET_BASE_SHRUB1_4
Route120_MapEvents:: @ 852BA00
diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc
index 0bcff1a93..86bf1b10e 100644
--- a/data/maps/Route120/scripts.inc
+++ b/data/maps/Route120/scripts.inc
@@ -105,7 +105,7 @@ Route120_EventScript_1F5527:: @ 81F5527
dodailyevents
checkflag FLAG_0x92E
goto_eq Route120_EventScript_1F5625
- msgbox Route120_Text_2A70C7, 5
+ msgbox Route120_Text_2A70C7, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, Route120_EventScript_1F562F
compare VAR_RESULT, 0
@@ -154,21 +154,21 @@ Route120_EventScript_1F5601:: @ 81F5601
compare VAR_RESULT, 0
goto_eq Route120_EventScript_272054
setflag FLAG_0x92E
- msgbox Route120_Text_2A71D5, 4
+ msgbox Route120_Text_2A71D5, MSGBOX_DEFAULT
release
end
Route120_EventScript_1F5625:: @ 81F5625
- msgbox Route120_Text_2A7217, 4
+ msgbox Route120_Text_2A7217, MSGBOX_DEFAULT
release
end
Route120_EventScript_1F562F:: @ 81F562F
- msgbox Route120_Text_2A7147, 4
+ msgbox Route120_Text_2A7147, MSGBOX_DEFAULT
return
Route120_EventScript_1F5638:: @ 81F5638
- msgbox Route120_Text_2A7183, 4
+ msgbox Route120_Text_2A7183, MSGBOX_DEFAULT
return
Route120_EventScript_1F5641:: @ 81F5641
@@ -176,27 +176,27 @@ Route120_EventScript_1F5641:: @ 81F5641
faceplayer
checkflag FLAG_0x122
goto_eq Route120_EventScript_1F5672
- msgbox Route120_Text_1F5998, 5
+ msgbox Route120_Text_1F5998, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route120_EventScript_1F5665
goto Route120_EventScript_1F568B
end
Route120_EventScript_1F5665:: @ 81F5665
- msgbox Route120_Text_1F5AAC, 4
+ msgbox Route120_Text_1F5AAC, MSGBOX_DEFAULT
setflag FLAG_0x122
release
end
Route120_EventScript_1F5672:: @ 81F5672
- msgbox Route120_Text_1F5ADE, 5
+ msgbox Route120_Text_1F5ADE, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route120_EventScript_1F5665
goto Route120_EventScript_1F568B
end
Route120_EventScript_1F568B:: @ 81F568B
- msgbox Route120_Text_1F5B0F, 4
+ msgbox Route120_Text_1F5B0F, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, Route120_EventScript_1F57A3
@@ -205,7 +205,7 @@ Route120_EventScript_1F568B:: @ 81F568B
applymovement 31, Route120_Movement_2725A4
waitmovement 0
delay 20
- msgbox Route120_Text_1F5B43, 4
+ msgbox Route120_Text_1F5B43, MSGBOX_DEFAULT
closemessage
applymovement 30, Route120_Movement_2725A8
waitmovement 0
@@ -242,10 +242,10 @@ Route120_EventScript_1F572C:: @ 81F572C
applymovement 31, Route120_Movement_2725AA
applymovement 255, Route120_Movement_2725A6
waitmovement 0
- msgbox Route120_Text_1F5BAF, 4
+ msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT
giveitem_std ITEM_DEVON_SCOPE
setflag FLAG_0x11D
- msgbox Route120_Text_1F5C7B, 4
+ msgbox Route120_Text_1F5C7B, MSGBOX_DEFAULT
closemessage
applymovement 31, Route120_Movement_2725AA
waitmovement 0
@@ -279,120 +279,114 @@ Route120_Movement_1F57B9: @ 81F57B9
step_end
Route120_EventScript_1F57BC:: @ 81F57BC
- msgbox Route120_Text_1F5D00, 2
+ msgbox Route120_Text_1F5D00, MSGBOX_NPC
end
Route120_EventScript_1F57C5:: @ 81F57C5
- msgbox Route120_Text_1F5DCB, 3
+ msgbox Route120_Text_1F5DCB, MSGBOX_SIGN
end
Route120_EventScript_1F57CE:: @ 81F57CE
- msgbox Route120_Text_1F5DE4, 3
+ msgbox Route120_Text_1F5DE4, MSGBOX_SIGN
end
Route120_EventScript_1F57D7:: @ 81F57D7
- trainerbattle 0, TRAINER_COLIN, 0, Route120_Text_29E62D, Route120_Text_29E665
- msgbox Route120_Text_29E67A, 6
+ trainerbattle_single TRAINER_COLIN, Route120_Text_29E62D, Route120_Text_29E665
+ msgbox Route120_Text_29E67A, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F57EE:: @ 81F57EE
- trainerbattle 2, TRAINER_ROBERT_1, 0, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A
+ 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
- msgbox Route120_Text_29E726, 4
+ msgbox Route120_Text_29E726, MSGBOX_DEFAULT
release
end
Route120_EventScript_1F581A:: @ 81F581A
special sub_80B4808
waitmovement 0
- msgbox Route120_Text_29E75D, 4
- setvar VAR_0x8004, 406
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 406
- callstd 8
+ msgbox Route120_Text_29E75D, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ROBERT_1
release
end
Route120_EventScript_1F5839:: @ 81F5839
- trainerbattle 5, TRAINER_ROBERT_1, 0, Route120_Text_29E7AA, Route120_Text_29E7E1
- msgbox Route120_Text_29E804, 6
+ trainerbattle_rematch TRAINER_ROBERT_1, Route120_Text_29E7AA, Route120_Text_29E7E1
+ msgbox Route120_Text_29E804, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F5850:: @ 81F5850
- trainerbattle 0, TRAINER_LORENZO, 0, Route120_Text_29E843, Route120_Text_29E884
- msgbox Route120_Text_29E8C5, 6
+ trainerbattle_single TRAINER_LORENZO, Route120_Text_29E843, Route120_Text_29E884
+ msgbox Route120_Text_29E8C5, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F5867:: @ 81F5867
- trainerbattle 0, TRAINER_JENNA, 0, Route120_Text_29E91C, Route120_Text_29E980
- msgbox Route120_Text_29E996, 6
+ trainerbattle_single TRAINER_JENNA, Route120_Text_29E91C, Route120_Text_29E980
+ msgbox Route120_Text_29E996, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F587E:: @ 81F587E
- trainerbattle 2, TRAINER_JEFFREY_1, 0, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA
+ 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
- msgbox Route120_Text_29EA08, 4
+ msgbox Route120_Text_29EA08, MSGBOX_DEFAULT
release
end
Route120_EventScript_1F58AA:: @ 81F58AA
special sub_80B4808
waitmovement 0
- msgbox Route120_Text_29EA31, 4
- setvar VAR_0x8004, 226
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 226
- callstd 8
+ msgbox Route120_Text_29EA31, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JEFFREY_1
release
end
Route120_EventScript_1F58C9:: @ 81F58C9
- trainerbattle 5, TRAINER_JEFFREY_1, 0, Route120_Text_29EA61, Route120_Text_29EA8F
- msgbox Route120_Text_29EAA9, 6
+ trainerbattle_rematch TRAINER_JEFFREY_1, Route120_Text_29EA61, Route120_Text_29EA8F
+ msgbox Route120_Text_29EAA9, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F58E0:: @ 81F58E0
- trainerbattle 0, TRAINER_JENNIFER, 0, Route120_Text_29EAEF, Route120_Text_29EB53
- msgbox Route120_Text_29EB6E, 6
+ trainerbattle_single TRAINER_JENNIFER, Route120_Text_29EAEF, Route120_Text_29EB53
+ msgbox Route120_Text_29EB6E, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F58F7:: @ 81F58F7
- trainerbattle 0, TRAINER_CHIP, 0, Route120_Text_29EBAF, Route120_Text_29EC25
- msgbox Route120_Text_29EC41, 6
+ trainerbattle_single TRAINER_CHIP, Route120_Text_29EBAF, Route120_Text_29EC25
+ msgbox Route120_Text_29EC41, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F590E:: @ 81F590E
- trainerbattle 0, TRAINER_CLARISSA, 0, Route120_Text_29ECA6, Route120_Text_29ECEF
- msgbox Route120_Text_29ED19, 6
+ trainerbattle_single TRAINER_CLARISSA, Route120_Text_29ECA6, Route120_Text_29ECEF
+ msgbox Route120_Text_29ED19, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F5925:: @ 81F5925
- trainerbattle 0, TRAINER_ANGELICA, 0, Route120_Text_29ED71, Route120_Text_29EDD3
- msgbox Route120_Text_29EDF7, 6
+ trainerbattle_single TRAINER_ANGELICA, Route120_Text_29ED71, Route120_Text_29EDD3
+ msgbox Route120_Text_29EDF7, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F593C:: @ 81F593C
- trainerbattle 0, TRAINER_KEIGO, 0, Route120_Text_29EE50, Route120_Text_29EE97
- msgbox Route120_Text_29EED4, 6
+ trainerbattle_single TRAINER_KEIGO, Route120_Text_29EE50, Route120_Text_29EE97
+ msgbox Route120_Text_29EED4, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F5953:: @ 81F5953
- trainerbattle 0, TRAINER_RILEY, 0, Route120_Text_29EF08, Route120_Text_29EF63
- msgbox Route120_Text_29EF89, 6
+ trainerbattle_single TRAINER_RILEY, Route120_Text_29EF08, Route120_Text_29EF63
+ msgbox Route120_Text_29EF89, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F596A:: @ 81F596A
- trainerbattle 0, TRAINER_LEONEL, 0, Route120_Text_29F04F, Route120_Text_29F080
- msgbox Route120_Text_29F0A1, 6
+ trainerbattle_single TRAINER_LEONEL, Route120_Text_29F04F, Route120_Text_29F080
+ msgbox Route120_Text_29F0A1, MSGBOX_AUTOCLOSE
end
Route120_EventScript_1F5981:: @ 81F5981
- trainerbattle 0, TRAINER_CALLIE, 0, Route120_Text_29EFB1, Route120_Text_29EFE1
- msgbox Route120_Text_29F002, 6
+ trainerbattle_single TRAINER_CALLIE, Route120_Text_29EFB1, Route120_Text_29EFE1
+ msgbox Route120_Text_29F002, MSGBOX_AUTOCLOSE
end
Route120_Text_1F5998: @ 81F5998
diff --git a/data/maps/Route121/events.inc b/data/maps/Route121/events.inc
index b252be7a0..4f27079a6 100644
--- a/data/maps/Route121/events.inc
+++ b/data/maps/Route121/events.inc
@@ -10,24 +10,24 @@ Route121_EventObjects: @ 852BA14
object_event 9, EVENT_OBJ_GFX_BERRY_TREE, 0, 67, 14, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 54, BerryTreeScript, 0
object_event 10, EVENT_OBJ_GFX_LASS, 0, 39, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route121_EventScript_1F5F04, 0
object_event 11, EVENT_OBJ_GFX_LASS, 0, 40, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route121_EventScript_1F5F1F, 0
- object_event 12, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 914
- object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 914
- object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 31, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 914
- object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 32, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route121_EventScript_2906BB, 17
- object_event 16, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 65, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route121_EventScript_2906BB, 18
+ object_event 12, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_0x392
+ object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_0x392
+ object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 31, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_0x392
+ object_event 15, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 32, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route121_EventScript_2906BB, FLAG_TEMP_11
+ object_event 16, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 65, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route121_EventScript_2906BB, FLAG_TEMP_12
object_event 17, EVENT_OBJ_GFX_POKEFAN_F, 0, 63, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, Route121_EventScript_1F5E74, 0
object_event 18, EVENT_OBJ_GFX_GENTLEMAN, 0, 55, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, Route121_EventScript_1F5E8B, 0
object_event 19, EVENT_OBJ_GFX_HEX_MANIAC, 0, 11, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, Route121_EventScript_1F5EED, 0
object_event 20, EVENT_OBJ_GFX_BEAUTY, 0, 22, 5, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 1, 4, Route121_EventScript_1F5F3A, 0
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 55, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_290F89, 1103
- object_event 22, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 26, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_2906BB, 19
+ object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 55, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_290F89, FLAG_ITEM_ROUTE_121_CARBOS
+ object_event 22, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 26, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_2906BB, FLAG_TEMP_13
object_event 23, EVENT_OBJ_GFX_MANIAC, 0, 11, 6, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 4, 1, 3, Route121_EventScript_1F5F9C, 0
object_event 24, EVENT_OBJ_GFX_MAN_4, 0, 59, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, Route121_EventScript_1F5FB3, 0
object_event 25, EVENT_OBJ_GFX_WOMAN_2, 0, 59, 13, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, Route121_EventScript_1F5FCA, 0
object_event 26, EVENT_OBJ_GFX_MAN_3, 0, 65, 9, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 6, Route121_EventScript_1F5FE1, 0
object_event 27, EVENT_OBJ_GFX_WOMAN_5, 0, 72, 9, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 6, Route121_EventScript_1F5FF8, 0
- object_event 28, EVENT_OBJ_GFX_ITEM_BALL, 0, 60, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_290F96, 1149
- object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 38, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_290FA3, 1150
+ object_event 28, EVENT_OBJ_GFX_ITEM_BALL, 0, 60, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_290F96, FLAG_ITEM_ROUTE_121_REVIVE
+ object_event 29, EVENT_OBJ_GFX_ITEM_BALL, 0, 38, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route121_EventScript_290FA3, FLAG_ITEM_ROUTE_121_ZINC
Route121_MapWarps: @ 852BCCC
warp_def 37, 5, 0, 2, MAP_ROUTE121_SAFARI_ZONE_ENTRANCE
@@ -45,10 +45,10 @@ Route121_MapBGEvents: @ 852BD14
bg_secret_base_event 43, 7, 0, SECRET_BASE_TREE1_2
bg_secret_base_event 42, 7, 0, SECRET_BASE_TREE2_2
bg_event 39, 6, 0, BG_EVENT_PLAYER_FACING_ANY, Route121_EventScript_1F5E0F
- bg_hidden_item_event 23, 10, 3, ITEM_HP_UP, 39
- bg_hidden_item_event 58, 3, 3, ITEM_NUGGET, 40
- bg_hidden_item_event 72, 5, 3, ITEM_FULL_HEAL, 73
- bg_hidden_item_event 68, 8, 3, ITEM_MAX_REVIVE, 100
+ bg_hidden_item_event 23, 10, 3, ITEM_HP_UP, FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP
+ bg_hidden_item_event 58, 3, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET
+ bg_hidden_item_event 72, 5, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL
+ bg_hidden_item_event 68, 8, 3, ITEM_MAX_REVIVE, FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE
Route121_MapEvents:: @ 852BD8C
map_events Route121_EventObjects, Route121_MapWarps, Route121_MapCoordEvents, Route121_MapBGEvents
diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc
index f133ffe56..84c7473e9 100644
--- a/data/maps/Route121/scripts.inc
+++ b/data/maps/Route121/scripts.inc
@@ -2,15 +2,15 @@ Route121_MapScripts:: @ 81F5DFC
.byte 0
Route121_EventScript_1F5DFD:: @ 81F5DFD
- msgbox Route121_Text_1F607F, 2
+ msgbox Route121_Text_1F607F, MSGBOX_NPC
end
Route121_EventScript_1F5E06:: @ 81F5E06
- msgbox Route121_Text_1F60D3, 3
+ msgbox Route121_Text_1F60D3, MSGBOX_SIGN
end
Route121_EventScript_1F5E0F:: @ 81F5E0F
- msgbox Route121_Text_1F611E, 3
+ msgbox Route121_Text_1F611E, MSGBOX_SIGN
end
Route121_EventScript_1F5E18:: @ 81F5E18
@@ -18,7 +18,7 @@ Route121_EventScript_1F5E18:: @ 81F5E18
playbgm MUS_AQA_0, 0
applymovement 13, Route121_Movement_2725B8
waitmovement 0
- msgbox Route121_Text_1F605A, 4
+ msgbox Route121_Text_1F605A, MSGBOX_DEFAULT
closemessage
applymovement 12, Route121_Movement_1F5E59
applymovement 13, Route121_Movement_1F5E62
@@ -66,118 +66,109 @@ Route121_Movement_1F5E6B: @ 81F5E6B
step_end
Route121_EventScript_1F5E74:: @ 81F5E74
- trainerbattle 0, TRAINER_VANESSA, 0, Route121_Text_29F0EC, Route121_Text_29F11F
- msgbox Route121_Text_29F138, 6
+ trainerbattle_single TRAINER_VANESSA, Route121_Text_29F0EC, Route121_Text_29F11F
+ msgbox Route121_Text_29F138, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5E8B:: @ 81F5E8B
- trainerbattle 2, TRAINER_WALTER_1, 0, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7
+ 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
- msgbox Route121_Text_29F21E, 4
+ msgbox Route121_Text_29F21E, MSGBOX_DEFAULT
release
end
Route121_EventScript_1F5EB7:: @ 81F5EB7
special sub_80B4808
waitmovement 0
- msgbox Route121_Text_29F25B, 4
- setvar VAR_0x8004, 254
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 254
- callstd 8
+ msgbox Route121_Text_29F25B, MSGBOX_DEFAULT
+ register_matchcall TRAINER_WALTER_1
release
end
Route121_EventScript_1F5ED6:: @ 81F5ED6
- trainerbattle 5, TRAINER_WALTER_1, 0, Route121_Text_29F2A6, Route121_Text_29F31A
- msgbox Route121_Text_29F32B, 6
+ trainerbattle_rematch TRAINER_WALTER_1, Route121_Text_29F2A6, Route121_Text_29F31A
+ msgbox Route121_Text_29F32B, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5EED:: @ 81F5EED
- trainerbattle 0, TRAINER_TAMMY, 0, Route121_Text_29F381, Route121_Text_29F3B9
- msgbox Route121_Text_29F3C6, 6
+ trainerbattle_single TRAINER_TAMMY, Route121_Text_29F381, Route121_Text_29F3B9
+ msgbox Route121_Text_29F3C6, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5F04:: @ 81F5F04
- trainerbattle 4, TRAINER_KATE_AND_JOY, 0, Route121_Text_29F3FB, Route121_Text_29F43F, Route121_Text_29F4C9
- msgbox Route121_Text_29F476, 6
+ trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_29F3FB, Route121_Text_29F43F, Route121_Text_29F4C9
+ msgbox Route121_Text_29F476, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5F1F:: @ 81F5F1F
- trainerbattle 4, TRAINER_KATE_AND_JOY, 0, Route121_Text_29F521, Route121_Text_29F564, Route121_Text_29F5CE
- msgbox Route121_Text_29F582, 6
+ trainerbattle_double TRAINER_KATE_AND_JOY, Route121_Text_29F521, Route121_Text_29F564, Route121_Text_29F5CE
+ msgbox Route121_Text_29F582, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5F3A:: @ 81F5F3A
- trainerbattle 2, TRAINER_JESSICA_1, 0, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66
+ 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
- msgbox Route121_Text_29F66F, 4
+ msgbox Route121_Text_29F66F, MSGBOX_DEFAULT
release
end
Route121_EventScript_1F5F66:: @ 81F5F66
special sub_80B4808
waitmovement 0
- msgbox Route121_Text_29F69F, 4
- setvar VAR_0x8004, 127
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 127
- callstd 8
+ msgbox Route121_Text_29F69F, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JESSICA_1
release
end
Route121_EventScript_1F5F85:: @ 81F5F85
- trainerbattle 5, TRAINER_JESSICA_1, 0, Route121_Text_29F6E4, Route121_Text_29F710
- msgbox Route121_Text_29F740, 6
+ trainerbattle_rematch TRAINER_JESSICA_1, Route121_Text_29F6E4, Route121_Text_29F710
+ msgbox Route121_Text_29F740, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5F9C:: @ 81F5F9C
- trainerbattle 0, TRAINER_CALE, 0, Route121_Text_29F91A, Route121_Text_29F97B
- msgbox Route121_Text_29F9AE, 6
+ trainerbattle_single TRAINER_CALE, Route121_Text_29F91A, Route121_Text_29F97B
+ msgbox Route121_Text_29F9AE, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5FB3:: @ 81F5FB3
- trainerbattle 0, TRAINER_MYLES, 0, Route121_Text_29FA1E, Route121_Text_29FA64
- msgbox Route121_Text_29FA73, 6
+ trainerbattle_single TRAINER_MYLES, Route121_Text_29FA1E, Route121_Text_29FA64
+ msgbox Route121_Text_29FA73, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5FCA:: @ 81F5FCA
- trainerbattle 0, TRAINER_PAT, 0, Route121_Text_29FAA7, Route121_Text_29FAD8
- msgbox Route121_Text_29FAEA, 6
+ trainerbattle_single TRAINER_PAT, Route121_Text_29FAA7, Route121_Text_29FAD8
+ msgbox Route121_Text_29FAEA, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5FE1:: @ 81F5FE1
- trainerbattle 0, TRAINER_MARCEL, 0, Route121_Text_29FB35, Route121_Text_29FB8C
- msgbox Route121_Text_29FBA8, 6
+ trainerbattle_single TRAINER_MARCEL, Route121_Text_29FB35, Route121_Text_29FB8C
+ msgbox Route121_Text_29FBA8, MSGBOX_AUTOCLOSE
end
Route121_EventScript_1F5FF8:: @ 81F5FF8
- trainerbattle 2, TRAINER_CRISTIN_1, 0, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024
+ 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
- msgbox Route121_Text_29F7D4, 4
+ msgbox Route121_Text_29F7D4, MSGBOX_DEFAULT
release
end
Route121_EventScript_1F6024:: @ 81F6024
special sub_80B4808
waitmovement 0
- msgbox Route121_Text_29F80D, 4
- setvar VAR_0x8004, 767
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 767
- callstd 8
+ msgbox Route121_Text_29F80D, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CRISTIN_1
release
end
Route121_EventScript_1F6043:: @ 81F6043
- trainerbattle 5, TRAINER_CRISTIN_1, 0, Route121_Text_29F855, Route121_Text_29F8A8
- msgbox Route121_Text_29F8D0, 6
+ trainerbattle_rematch TRAINER_CRISTIN_1, Route121_Text_29F855, Route121_Text_29F8A8
+ msgbox Route121_Text_29F8D0, MSGBOX_AUTOCLOSE
end
Route121_Text_1F605A: @ 81F605A
diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc
index 1973b0e9e..12fa8112e 100644
--- a/data/maps/Route121_SafariZoneEntrance/scripts.inc
+++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc
@@ -26,21 +26,21 @@ Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD
step_end
Route121_SafariZoneEntrance_EventScript_22BBE6:: @ 822BBE6
- msgbox Route121_SafariZoneEntrance_Text_2A4D12, 2
+ msgbox Route121_SafariZoneEntrance_Text_2A4D12, MSGBOX_NPC
end
Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF
lock
faceplayer
- msgbox Route121_SafariZoneEntrance_Text_2A4E46, 5
+ msgbox Route121_SafariZoneEntrance_Text_2A4E46, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route121_SafariZoneEntrance_EventScript_22BC0E
- msgbox Route121_SafariZoneEntrance_Text_2A4E7E, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A4E7E, MSGBOX_DEFAULT
release
end
Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E
- msgbox Route121_SafariZoneEntrance_Text_2A4EA1, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A4EA1, MSGBOX_DEFAULT
release
end
@@ -49,10 +49,10 @@ Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18
applymovement 255, Route121_SafariZoneEntrance_Movement_2725A6
waitmovement 0
showmoneybox 0, 0, 0
- msgbox Route121_SafariZoneEntrance_Text_2A4F74, 5
+ msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route121_SafariZoneEntrance_EventScript_22BC48
- msgbox Route121_SafariZoneEntrance_Text_2A4FD7, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A4FD7, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_22BD06
end
@@ -65,15 +65,15 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
compare VAR_RESULT, 0
goto_eq Route121_SafariZoneEntrance_EventScript_22BCF8
playse SE_REGI
- msgbox Route121_SafariZoneEntrance_Text_2A501B, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT
takemoney 0x1f4, 0
updatemoneybox 0, 0
nop
- msgbox Route121_SafariZoneEntrance_Text_2A5036, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A5036, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message Route121_SafariZoneEntrance_Text_2A5052
waitfanfare
- msgbox Route121_SafariZoneEntrance_Text_2A506F, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A506F, MSGBOX_DEFAULT
closemessage
hidemoneybox
nop
@@ -94,7 +94,7 @@ Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF
specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace
compare VAR_RESULT, 1
goto_eq Route121_SafariZoneEntrance_EventScript_22BCE9
- msgbox Route121_SafariZoneEntrance_Text_2A50E5, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A50E5, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_22BD06
end
@@ -102,12 +102,12 @@ Route121_SafariZoneEntrance_EventScript_22BCE9:: @ 822BCE9
return
Route121_SafariZoneEntrance_EventScript_22BCEA:: @ 822BCEA
- msgbox Route121_SafariZoneEntrance_Text_2A5105, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A5105, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_22BD06
end
Route121_SafariZoneEntrance_EventScript_22BCF8:: @ 822BCF8
- msgbox Route121_SafariZoneEntrance_Text_2A4FF7, 4
+ msgbox Route121_SafariZoneEntrance_Text_2A4FF7, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_22BD06
end
@@ -137,6 +137,6 @@ Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18
step_end
Route121_SafariZoneEntrance_EventScript_22BD21:: @ 822BD21
- msgbox Route121_SafariZoneEntrance_Text_2A55BB, 3
+ msgbox Route121_SafariZoneEntrance_Text_2A55BB, MSGBOX_SIGN
end
diff --git a/data/maps/Route123/events.inc b/data/maps/Route123/events.inc
index c1a7e57f8..d45ac0222 100644
--- a/data/maps/Route123/events.inc
+++ b/data/maps/Route123/events.inc
@@ -16,10 +16,10 @@ Route123_EventObjects: @ 852BDBC
object_event 15, EVENT_OBJ_GFX_BERRY_TREE, 0, 18, 3, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 14, BerryTreeScript, 0
object_event 16, EVENT_OBJ_GFX_BERRY_TREE, 0, 11, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 15, BerryTreeScript, 0
object_event 17, EVENT_OBJ_GFX_BERRY_TREE, 0, 12, 5, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 30, BerryTreeScript, 0
- object_event 18, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 101, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_2906BB, 17
- object_event 19, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 129, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_2906BB, 18
- object_event 20, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 92, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_2906BB, 19
- object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_290FB0, 1032
+ object_event 18, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 101, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_2906BB, FLAG_TEMP_11
+ object_event 19, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 129, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_2906BB, FLAG_TEMP_12
+ object_event 20, EVENT_OBJ_GFX_CUTTABLE_TREE, 0, 92, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_2906BB, FLAG_TEMP_13
+ object_event 21, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route123_EventScript_290FB0, FLAG_ITEM_ROUTE_123_CALCIUM
object_event 22, EVENT_OBJ_GFX_GIRL_3, 0, 108, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 0, 0, 0, 0, Route123_EventScript_1F6151, 0
object_event 23, EVENT_OBJ_GFX_BERRY_TREE, 0, 109, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 87, BerryTreeScript, 0
object_event 24, EVENT_OBJ_GFX_BERRY_TREE, 0, 110, 13, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 88, BerryTreeScript, 0
@@ -30,18 +30,18 @@ Route123_EventObjects: @ 852BDBC
object_event 29, EVENT_OBJ_GFX_PSYCHIC_M, 0, 138, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 7, Route123_EventScript_1F620A, 0
object_event 30, EVENT_OBJ_GFX_LASS, 0, 49, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route123_EventScript_1F626C, 0
object_event 31, EVENT_OBJ_GFX_HEX_MANIAC, 0, 87, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 4, Route123_EventScript_1F6304, 0
- object_event 32, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FBD, 1104
- object_event 33, EVENT_OBJ_GFX_ITEM_BALL, 0, 75, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FCA, 1109
+ object_event 32, EVENT_OBJ_GFX_ITEM_BALL, 0, 27, 18, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FBD, FLAG_ITEM_ROUTE_123_ULTRA_BALL
+ object_event 33, EVENT_OBJ_GFX_ITEM_BALL, 0, 75, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FCA, FLAG_ITEM_ROUTE_123_ELIXIR
object_event 34, EVENT_OBJ_GFX_NINJA_BOY, 0, 138, 14, 3, MOVEMENT_TYPE_TREE_DISGUISE, 1, 1, 1, 1, Route123_EventScript_1F6377, 0
object_event 35, EVENT_OBJ_GFX_WOMAN_2, 0, 138, 16, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 1, Route123_EventScript_1F6360, 0
object_event 36, EVENT_OBJ_GFX_MANIAC, 0, 87, 17, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, Route123_EventScript_1F6349, 0
object_event 37, EVENT_OBJ_GFX_MAN_5, 0, 66, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, Route123_EventScript_1F63BC, 0
object_event 38, EVENT_OBJ_GFX_MAN_5, 0, 66, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 2, Route123_EventScript_1F6332, 0
object_event 39, EVENT_OBJ_GFX_EXPERT_M, 0, 49, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 2, Route123_EventScript_1F631B, 0
- object_event 40, EVENT_OBJ_GFX_ITEM_BALL, 0, 43, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FD7, 1152
+ object_event 40, EVENT_OBJ_GFX_ITEM_BALL, 0, 43, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FD7, FLAG_ITEM_ROUTE_123_PP_UP
object_event 41, EVENT_OBJ_GFX_WOMAN_5, 0, 14, 16, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, Route123_EventScript_1F638E, 0
object_event 42, EVENT_OBJ_GFX_YOUNGSTER, 0, 14, 12, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 3, 1, 3, Route123_EventScript_1F63A5, 0
- object_event 43, EVENT_OBJ_GFX_ITEM_BALL, 0, 57, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FE4, 1153
+ object_event 43, EVENT_OBJ_GFX_ITEM_BALL, 0, 57, 16, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route123_EventScript_290FE4, FLAG_ITEM_ROUTE_123_REVIVAL_HERB
Route123_MapWarps: @ 852C1C4
warp_def 22, 6, 0, 0, MAP_ROUTE123_BERRY_MASTERS_HOUSE
@@ -75,13 +75,13 @@ Route123_MapBGEvents: @ 852C32C
bg_secret_base_event 47, 3, 0, SECRET_BASE_BLUE_CAVE1_2
bg_secret_base_event 49, 3, 0, SECRET_BASE_BLUE_CAVE2_2
bg_event 10, 12, 3, BG_EVENT_PLAYER_FACING_ANY, Route123_EventScript_1F61AA
- bg_hidden_item_event 75, 1, 3, ITEM_SUPER_REPEL, 7
+ bg_hidden_item_event 75, 1, 3, ITEM_SUPER_REPEL, FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL
bg_event 20, 7, 3, BG_EVENT_PLAYER_FACING_ANY, Route123_EventScript_1F61BC
bg_secret_base_event 57, 5, 0, SECRET_BASE_BLUE_CAVE1_3
- bg_hidden_item_event 12, 1, 3, ITEM_REVIVE, 41
- bg_hidden_item_event 91, 15, 3, ITEM_HYPER_POTION, 74
- bg_hidden_item_event 139, 15, 3, ITEM_PP_UP, 99
- bg_hidden_item_event 138, 18, 3, ITEM_RARE_CANDY, 110
+ bg_hidden_item_event 12, 1, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE
+ bg_hidden_item_event 91, 15, 3, ITEM_HYPER_POTION, FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION
+ bg_hidden_item_event 139, 15, 3, ITEM_PP_UP, FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP
+ bg_hidden_item_event 138, 18, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY
Route123_MapEvents:: @ 852C3B0
map_events Route123_EventObjects, Route123_MapWarps, Route123_MapCoordEvents, Route123_MapBGEvents
diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc
index 43e48b627..ab5b5abb9 100644
--- a/data/maps/Route123/scripts.inc
+++ b/data/maps/Route123/scripts.inc
@@ -11,16 +11,16 @@ Route123_EventScript_1F6151:: @ 81F6151
faceplayer
checkflag FLAG_0x0E8
goto_eq Route123_EventScript_1F61A0
- msgbox Route123_Text_1F641E, 4
+ msgbox Route123_Text_1F641E, MSGBOX_DEFAULT
special IsGrassTypeInParty
compare VAR_RESULT, 0
goto_eq Route123_EventScript_1F619E
- msgbox Route123_Text_1F645D, 4
+ msgbox Route123_Text_1F645D, MSGBOX_DEFAULT
giveitem_std ITEM_TM19
compare VAR_RESULT, 0
goto_eq Route123_EventScript_272054
setflag FLAG_0x0E8
- msgbox Route123_Text_1F64CF, 4
+ msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT
release
end
@@ -29,160 +29,151 @@ Route123_EventScript_1F619E:: @ 81F619E
end
Route123_EventScript_1F61A0:: @ 81F61A0
- msgbox Route123_Text_1F64CF, 4
+ msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT
release
end
Route123_EventScript_1F61AA:: @ 81F61AA
- msgbox Route123_Text_1F6511, 3
+ msgbox Route123_Text_1F6511, MSGBOX_SIGN
end
Route123_EventScript_1F61B3:: @ 81F61B3
- msgbox Route123_Text_1F6529, 3
+ msgbox Route123_Text_1F6529, MSGBOX_SIGN
end
Route123_EventScript_1F61BC:: @ 81F61BC
- msgbox Route123_Text_1F6557, 3
+ msgbox Route123_Text_1F6557, MSGBOX_SIGN
end
Route123_EventScript_1F61C5:: @ 81F61C5
- trainerbattle 0, TRAINER_WENDY, 0, Route123_Text_29FBEB, Route123_Text_29FC23
- msgbox Route123_Text_29FC42, 6
+ trainerbattle_single TRAINER_WENDY, Route123_Text_29FBEB, Route123_Text_29FC23
+ msgbox Route123_Text_29FC42, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F61DC:: @ 81F61DC
- trainerbattle 0, TRAINER_BRAXTON, 0, Route123_Text_29FC6F, Route123_Text_29FCD6
- msgbox Route123_Text_29FCF4, 6
+ trainerbattle_single TRAINER_BRAXTON, Route123_Text_29FC6F, Route123_Text_29FCD6
+ msgbox Route123_Text_29FCF4, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F61F3:: @ 81F61F3
- trainerbattle 0, TRAINER_VIOLET, 0, Route123_Text_29FD1D, Route123_Text_29FD53
- msgbox Route123_Text_29FD7B, 6
+ trainerbattle_single TRAINER_VIOLET, Route123_Text_29FD1D, Route123_Text_29FD53
+ msgbox Route123_Text_29FD7B, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F620A:: @ 81F620A
- trainerbattle 2, TRAINER_CAMERON_1, 0, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236
+ 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
- msgbox Route123_Text_29FE2A, 4
+ msgbox Route123_Text_29FE2A, MSGBOX_DEFAULT
release
end
Route123_EventScript_1F6236:: @ 81F6236
special sub_80B4808
waitmovement 0
- msgbox Route123_Text_29FE70, 4
- setvar VAR_0x8004, 238
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 238
- callstd 8
+ msgbox Route123_Text_29FE70, MSGBOX_DEFAULT
+ register_matchcall TRAINER_CAMERON_1
release
end
Route123_EventScript_1F6255:: @ 81F6255
- trainerbattle 5, TRAINER_CAMERON_1, 0, Route123_Text_29FED4, Route123_Text_29FF1B
- msgbox Route123_Text_29FF27, 6
+ trainerbattle_rematch TRAINER_CAMERON_1, Route123_Text_29FED4, Route123_Text_29FF1B
+ msgbox Route123_Text_29FF27, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F626C:: @ 81F626C
- trainerbattle 2, TRAINER_JACKI_1, 0, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298
+ 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
- msgbox Route123_Text_29FFE5, 4
+ msgbox Route123_Text_29FFE5, MSGBOX_DEFAULT
release
end
Route123_EventScript_1F6298:: @ 81F6298
special sub_80B4808
waitmovement 0
- msgbox Route123_Text_2A0027, 4
- setvar VAR_0x8004, 249
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 249
- callstd 8
+ msgbox Route123_Text_2A0027, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JACKI_1
release
end
Route123_EventScript_1F62B7:: @ 81F62B7
- trainerbattle 5, TRAINER_JACKI_1, 0, Route123_Text_2A005E, Route123_Text_2A008D
- msgbox Route123_Text_2A0099, 6
+ trainerbattle_rematch TRAINER_JACKI_1, Route123_Text_2A005E, Route123_Text_2A008D
+ msgbox Route123_Text_2A0099, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F62CE:: @ 81F62CE
- trainerbattle 4, TRAINER_MIU_AND_YUKI, 0, Route123_Text_2A00D6, Route123_Text_2A0119, Route123_Text_2A016D
- msgbox Route123_Text_2A012E, 6
+ trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_2A00D6, Route123_Text_2A0119, Route123_Text_2A016D
+ msgbox Route123_Text_2A012E, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F62E9:: @ 81F62E9
- trainerbattle 4, TRAINER_MIU_AND_YUKI, 0, Route123_Text_2A01A7, Route123_Text_2A01D8, Route123_Text_2A0224
- msgbox Route123_Text_2A01EE, 6
+ trainerbattle_double TRAINER_MIU_AND_YUKI, Route123_Text_2A01A7, Route123_Text_2A01D8, Route123_Text_2A0224
+ msgbox Route123_Text_2A01EE, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F6304:: @ 81F6304
- trainerbattle 0, TRAINER_KINDRA, 0, Route123_Text_2A025F, Route123_Text_2A02A6
- msgbox Route123_Text_2A02C1, 6
+ trainerbattle_single TRAINER_KINDRA, Route123_Text_2A025F, Route123_Text_2A02A6
+ msgbox Route123_Text_2A02C1, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F631B:: @ 81F631B
- trainerbattle 0, TRAINER_FREDRICK, 0, Route123_Text_2A060A, Route123_Text_2A0631
- msgbox Route123_Text_2A0672, 6
+ trainerbattle_single TRAINER_FREDRICK, Route123_Text_2A060A, Route123_Text_2A0631
+ msgbox Route123_Text_2A0672, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F6332:: @ 81F6332
- trainerbattle 0, TRAINER_ALBERTO, 0, Route123_Text_2A06AF, Route123_Text_2A0704
- msgbox Route123_Text_2A072B, 6
+ trainerbattle_single TRAINER_ALBERTO, Route123_Text_2A06AF, Route123_Text_2A0704
+ msgbox Route123_Text_2A072B, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F6349:: @ 81F6349
- trainerbattle 0, TRAINER_ED, 0, Route123_Text_2A079B, Route123_Text_2A07F0
- msgbox Route123_Text_2A080D, 6
+ trainerbattle_single TRAINER_ED, Route123_Text_2A079B, Route123_Text_2A07F0
+ msgbox Route123_Text_2A080D, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F6360:: @ 81F6360
- trainerbattle 0, TRAINER_KAYLEY, 0, Route123_Text_2A0902, Route123_Text_2A0943
- msgbox Route123_Text_2A096E, 6
+ trainerbattle_single TRAINER_KAYLEY, Route123_Text_2A0902, Route123_Text_2A0943
+ msgbox Route123_Text_2A096E, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F6377:: @ 81F6377
- trainerbattle 0, TRAINER_JONAS, 0, Route123_Text_2A0854, Route123_Text_2A088A
- msgbox Route123_Text_2A08CA, 6
+ trainerbattle_single TRAINER_JONAS, Route123_Text_2A0854, Route123_Text_2A088A
+ msgbox Route123_Text_2A08CA, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F638E:: @ 81F638E
- trainerbattle 0, TRAINER_JAZMYN, 0, Route123_Text_2A054E, Route123_Text_2A0592
- msgbox Route123_Text_2A05AC, 6
+ trainerbattle_single TRAINER_JAZMYN, Route123_Text_2A054E, Route123_Text_2A0592
+ msgbox Route123_Text_2A05AC, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F63A5:: @ 81F63A5
- trainerbattle 0, TRAINER_DAVIS, 0, Route123_Text_2A04C0, Route123_Text_2A04FE
- msgbox Route123_Text_2A0512, 6
+ trainerbattle_single TRAINER_DAVIS, Route123_Text_2A04C0, Route123_Text_2A04FE
+ msgbox Route123_Text_2A0512, MSGBOX_AUTOCLOSE
end
Route123_EventScript_1F63BC:: @ 81F63BC
- trainerbattle 2, TRAINER_FERNANDO_1, 0, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8
+ 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
- msgbox Route123_Text_2A0389, 4
+ msgbox Route123_Text_2A0389, MSGBOX_DEFAULT
release
end
Route123_EventScript_1F63E8:: @ 81F63E8
special sub_80B4808
waitmovement 0
- msgbox Route123_Text_2A03C1, 4
- setvar VAR_0x8004, 195
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 195
- callstd 8
+ msgbox Route123_Text_2A03C1, MSGBOX_DEFAULT
+ register_matchcall TRAINER_FERNANDO_1
release
end
Route123_EventScript_1F6407:: @ 81F6407
- trainerbattle 5, TRAINER_FERNANDO_1, 0, Route123_Text_2A03FB, Route123_Text_2A045A
- msgbox Route123_Text_2A0487, 6
+ trainerbattle_rematch TRAINER_FERNANDO_1, Route123_Text_2A03FB, Route123_Text_2A045A
+ msgbox Route123_Text_2A0487, MSGBOX_AUTOCLOSE
end
Route123_Text_1F641E: @ 81F641E
diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc
index 9e865ad6a..3ab35b195 100644
--- a/data/maps/Route123_BerryMastersHouse/scripts.inc
+++ b/data/maps/Route123_BerryMastersHouse/scripts.inc
@@ -12,7 +12,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
dodailyevents
checkflag FLAG_0x92D
goto_eq Route123_BerryMastersHouse_EventScript_26F8B6
- msgbox Route123_BerryMastersHouse_Text_2A7386, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7386, MSGBOX_DEFAULT
random 10
addvar VAR_RESULT, 20
addvar VAR_RESULT, 133
@@ -20,19 +20,19 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x92D
- msgbox Route123_BerryMastersHouse_Text_2A7428, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT
random 10
addvar VAR_RESULT, 20
addvar VAR_RESULT, 133
giveitem_std VAR_RESULT
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
- msgbox Route123_BerryMastersHouse_Text_2A7445, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7445, MSGBOX_DEFAULT
release
end
Route123_BerryMastersHouse_EventScript_26F8B6:: @ 826F8B6
- msgbox Route123_BerryMastersHouse_Text_2A749E, 4
+ msgbox Route123_BerryMastersHouse_Text_2A749E, MSGBOX_DEFAULT
release
end
@@ -42,7 +42,7 @@ Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0
dodailyevents
checkflag FLAG_0x931
goto_eq Route123_BerryMastersHouse_EventScript_26FA6F
- msgbox Route123_BerryMastersHouse_Text_2A74E6, 4
+ msgbox Route123_BerryMastersHouse_Text_2A74E6, MSGBOX_DEFAULT
setvar VAR_0x8004, 13
call Route123_BerryMastersHouse_EventScript_271E7C
lock
@@ -54,8 +54,8 @@ Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0
end
Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7
- msgbox Route123_BerryMastersHouse_Text_2A7682, 4
- msgbox Route123_BerryMastersHouse_Text_2A761B, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7682, MSGBOX_DEFAULT
+ msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT
release
end
@@ -75,7 +75,7 @@ Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909
end
Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C
- msgbox Route123_BerryMastersHouse_Text_2A75D0, 4
+ msgbox Route123_BerryMastersHouse_Text_2A75D0, MSGBOX_DEFAULT
random 10
addvar VAR_RESULT, 133
giveitem_std VAR_RESULT
@@ -88,7 +88,7 @@ Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C
Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A
checkflag FLAG_0x0F8
goto_eq Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_SPELON_BERRY
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
@@ -99,7 +99,7 @@ Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A
Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB
checkflag FLAG_0x0F9
goto_eq Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_PAMTRE_BERRY
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
@@ -110,7 +110,7 @@ Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB
Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC
checkflag FLAG_0x0FA
goto_eq Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_WATMEL_BERRY
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
@@ -121,7 +121,7 @@ Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC
Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D
checkflag FLAG_0x0FB
goto_eq Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_DURIN_BERRY
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
@@ -132,7 +132,7 @@ Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D
Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E
checkflag FLAG_0x0FC
goto_eq Route123_BerryMastersHouse_EventScript_26F94C
- msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_BELUE_BERRY
compare VAR_RESULT, 0
goto_eq Route123_BerryMastersHouse_EventScript_272054
@@ -141,13 +141,13 @@ Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E
end
Route123_BerryMastersHouse_EventScript_26FA6F:: @ 826FA6F
- msgbox Route123_BerryMastersHouse_Text_2A761B, 4
+ msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT
release
end
Route123_BerryMastersHouse_EventScript_26FA79:: @ 826FA79
setflag FLAG_0x931
- msgbox Route123_BerryMastersHouse_Text_2A761B, 4
+ msgbox Route123_BerryMastersHouse_Text_2A761B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route124/events.inc b/data/maps/Route124/events.inc
index 30ff07ee9..4b52615fc 100644
--- a/data/maps/Route124/events.inc
+++ b/data/maps/Route124/events.inc
@@ -4,9 +4,9 @@ Route124_EventObjects: @ 852C3C4
object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 49, 45, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route124_EventScript_1F65B3, 0
object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 7, 23, 1, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 6, 8, 1, 5, Route124_EventScript_1F6615, 0
object_event 5, EVENT_OBJ_GFX_SWIMMER_M, 0, 58, 58, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 7, 0, 1, 2, Route124_EventScript_1F662C, 0
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 28, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_290FF1, 1092
- object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_290FFE, 1093
- object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 58, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_29100B, 1066
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 28, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_290FF1, FLAG_ITEM_ROUTE_124_RED_SHARD
+ object_event 7, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_290FFE, FLAG_ITEM_ROUTE_124_BLUE_SHARD
+ object_event 8, EVENT_OBJ_GFX_ITEM_BALL, 0, 58, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route124_EventScript_29100B, FLAG_ITEM_ROUTE_124_YELLOW_SHARD
object_event 9, EVENT_OBJ_GFX_SWIMMER_F, 0, 18, 44, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route124_EventScript_1F6643, 0
object_event 10, EVENT_OBJ_GFX_TUBER_M_SWIMMING, 0, 17, 44, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route124_EventScript_1F66A7, 0
object_event 11, EVENT_OBJ_GFX_SWIMMER_M, 0, 7, 29, 1, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 5, Route124_EventScript_1F670B, 0
diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc
index b21e55417..d9d43b531 100644
--- a/data/maps/Route124/scripts.inc
+++ b/data/maps/Route124/scripts.inc
@@ -8,108 +8,99 @@ Route124_MapScript1_1F6572: @ 81F6572
end
Route124_EventScript_1F657C:: @ 81F657C
- msgbox Route124_Text_1F6739, 3
+ msgbox Route124_Text_1F6739, MSGBOX_SIGN
end
Route124_EventScript_1F6585:: @ 81F6585
- trainerbattle 0, TRAINER_SPENCER, 0, Route124_Text_2A09B1, Route124_Text_2A0A02
- msgbox Route124_Text_2A0A20, 6
+ trainerbattle_single TRAINER_SPENCER, Route124_Text_2A09B1, Route124_Text_2A0A02
+ msgbox Route124_Text_2A0A20, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F659C:: @ 81F659C
- trainerbattle 0, TRAINER_ROLAND, 0, Route124_Text_2A0A84, Route124_Text_2A0ACC
- msgbox Route124_Text_2A0AD9, 6
+ trainerbattle_single TRAINER_ROLAND, Route124_Text_2A0A84, Route124_Text_2A0ACC
+ msgbox Route124_Text_2A0AD9, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F65B3:: @ 81F65B3
- trainerbattle 2, TRAINER_JENNY_1, 0, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF
+ 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
- msgbox Route124_Text_2A0B9A, 4
+ msgbox Route124_Text_2A0B9A, MSGBOX_DEFAULT
release
end
Route124_EventScript_1F65DF:: @ 81F65DF
special sub_80B4808
waitmovement 0
- msgbox Route124_Text_2A0C14, 4
- setvar VAR_0x8004, 449
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 449
- callstd 8
+ msgbox Route124_Text_2A0C14, MSGBOX_DEFAULT
+ register_matchcall TRAINER_JENNY_1
release
end
Route124_EventScript_1F65FE:: @ 81F65FE
- trainerbattle 5, TRAINER_JENNY_1, 0, Route124_Text_2A0C60, Route124_Text_2A0CA0
- msgbox Route124_Text_2A0CBE, 6
+ trainerbattle_rematch TRAINER_JENNY_1, Route124_Text_2A0C60, Route124_Text_2A0CA0
+ msgbox Route124_Text_2A0CBE, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F6615:: @ 81F6615
- trainerbattle 0, TRAINER_GRACE, 0, Route124_Text_2A0D0A, Route124_Text_2A0D3D
- msgbox Route124_Text_2A0D66, 6
+ trainerbattle_single TRAINER_GRACE, Route124_Text_2A0D0A, Route124_Text_2A0D3D
+ msgbox Route124_Text_2A0D66, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F662C:: @ 81F662C
- trainerbattle 0, TRAINER_CHAD, 0, Route124_Text_2A0DA0, Route124_Text_2A0DFF
- msgbox Route124_Text_2A0E1E, 6
+ trainerbattle_single TRAINER_CHAD, Route124_Text_2A0DA0, Route124_Text_2A0DFF
+ msgbox Route124_Text_2A0E1E, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F6643:: @ 81F6643
- trainerbattle 6, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673
+ 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
- msgbox Route124_Text_2A0F3A, 4
+ msgbox Route124_Text_2A0F3A, MSGBOX_DEFAULT
release
end
Route124_EventScript_1F6673:: @ 81F6673
- msgbox Route124_Text_2A109F, 4
- setvar VAR_0x8004, 687
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 687
- callstd 8
+ msgbox Route124_Text_2A109F, MSGBOX_DEFAULT
+ register_matchcall TRAINER_LILA_AND_ROY_1
release
end
Route124_EventScript_1F668C:: @ 81F668C
- trainerbattle 7, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A111E, Route124_Text_2A11B2, Route124_Text_2A1255
- msgbox Route124_Text_2A1203, 6
+ trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A111E, Route124_Text_2A11B2, Route124_Text_2A1255
+ msgbox Route124_Text_2A1203, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F66A7:: @ 81F66A7
- trainerbattle 6, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7
+ 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
- msgbox Route124_Text_2A103E, 4
+ msgbox Route124_Text_2A103E, MSGBOX_DEFAULT
release
end
Route124_EventScript_1F66D7:: @ 81F66D7
- msgbox Route124_Text_2A109F, 4
- setvar VAR_0x8004, 687
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 687
- callstd 8
+ msgbox Route124_Text_2A109F, MSGBOX_DEFAULT
+ register_matchcall TRAINER_LILA_AND_ROY_1
release
end
Route124_EventScript_1F66F0:: @ 81F66F0
- trainerbattle 7, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A129A, Route124_Text_2A12DD, Route124_Text_2A1384
- msgbox Route124_Text_2A130F, 6
+ trainerbattle_rematch_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A129A, Route124_Text_2A12DD, Route124_Text_2A1384
+ msgbox Route124_Text_2A130F, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F670B:: @ 81F670B
- trainerbattle 0, TRAINER_DECLAN, 0, Route124_Text_2A13BD, Route124_Text_2A142C
- msgbox Route124_Text_2A144F, 6
+ trainerbattle_single TRAINER_DECLAN, Route124_Text_2A13BD, Route124_Text_2A142C
+ msgbox Route124_Text_2A144F, MSGBOX_AUTOCLOSE
end
Route124_EventScript_1F6722:: @ 81F6722
- trainerbattle 0, TRAINER_ISABELLA, 0, Route124_Text_2A148E, Route124_Text_2A14BC
- msgbox Route124_Text_2A14ED, 6
+ trainerbattle_single TRAINER_ISABELLA, Route124_Text_2A148E, Route124_Text_2A14BC
+ msgbox Route124_Text_2A14ED, MSGBOX_AUTOCLOSE
end
Route124_Text_1F6739: @ 81F6739
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
index 7e64ecaff..57b64eae8 100644
--- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
@@ -11,13 +11,13 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32
faceplayer
checkflag FLAG_0x0D9
goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270A4E
- msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, MSGBOX_DEFAULT
setflag FLAG_0x0D9
goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
end
Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E
- msgbox Route124_DivingTreasureHuntersHouse_Text_270FE5, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_270FE5, MSGBOX_DEFAULT
goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
end
@@ -61,7 +61,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270ACA:: @ 8270ACA
return
Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0
- msgbox Route124_DivingTreasureHuntersHouse_Text_271098, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271098, MSGBOX_DEFAULT
goto Route124_DivingTreasureHuntersHouse_EventScript_270ADE
end
@@ -246,7 +246,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270EB1:: @ 8270EB1
Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0
bufferitemname 0, VAR_0x8008
bufferitemname 1, VAR_0x8009
- msgbox Route124_DivingTreasureHuntersHouse_Text_271132, 5
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271132, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D
checkitemspace VAR_0x8009, 1
@@ -261,28 +261,28 @@ Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0
Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01
takeitem VAR_0x8008, 1
giveitem_std VAR_0x8009
- msgbox Route124_DivingTreasureHuntersHouse_Text_271158, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271158, MSGBOX_DEFAULT
call Route124_DivingTreasureHuntersHouse_EventScript_270A72
compare VAR_TEMP_1, 0
goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61
- msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, 5
+ msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE
goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
end
Route124_DivingTreasureHuntersHouse_EventScript_270F43:: @ 8270F43
- msgbox Route124_DivingTreasureHuntersHouse_Text_2711A0, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_2711A0, MSGBOX_DEFAULT
release
end
Route124_DivingTreasureHuntersHouse_EventScript_270F4D:: @ 8270F4D
- msgbox Route124_DivingTreasureHuntersHouse_Text_2711D8, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_2711D8, MSGBOX_DEFAULT
release
end
Route124_DivingTreasureHuntersHouse_EventScript_270F57:: @ 8270F57
- msgbox Route124_DivingTreasureHuntersHouse_Text_271027, 4
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271027, MSGBOX_DEFAULT
release
end
@@ -291,7 +291,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270F61:: @ 8270F61
end
Route124_DivingTreasureHuntersHouse_EventScript_270F63:: @ 8270F63
- msgbox Route124_DivingTreasureHuntersHouse_Text_271217, 3
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271217, MSGBOX_SIGN
end
Route124_DivingTreasureHuntersHouse_Text_270F6C: @ 8270F6C
diff --git a/data/maps/Route125/events.inc b/data/maps/Route125/events.inc
index 2a408aec6..256802406 100644
--- a/data/maps/Route125/events.inc
+++ b/data/maps/Route125/events.inc
@@ -8,7 +8,7 @@ Route125_EventObjects: @ 852C50C
object_event 7, EVENT_OBJ_GFX_LASS, 0, 18, 19, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 1, Route125_EventScript_1F687D, 0
object_event 8, EVENT_OBJ_GFX_MAN_5, 0, 43, 19, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 2, 1, 1, 3, Route125_EventScript_1F6898, 0
object_event 9, EVENT_OBJ_GFX_EXPERT_M, 0, 48, 19, 3, MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT, 2, 1, 1, 3, Route125_EventScript_1F68AF, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 46, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route125_EventScript_291018, 1154
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 46, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route125_EventScript_291018, FLAG_ITEM_ROUTE_125_BIG_PEARL
Route125_MapWarps: @ 852C5FC
warp_def 22, 19, 0, 0, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc
index 2dda3fb2d..528eda704 100644
--- a/data/maps/Route125/scripts.inc
+++ b/data/maps/Route125/scripts.inc
@@ -27,67 +27,64 @@ Route125_MapScript2_1F679A: @ 81F679A
.2byte 0
Route125_EventScript_1F67A4:: @ 81F67A4
- trainerbattle 0, TRAINER_NOLEN, 0, Route125_Text_2A1527, Route125_Text_2A155A
- msgbox Route125_Text_2A1567, 6
+ trainerbattle_single TRAINER_NOLEN, Route125_Text_2A1527, Route125_Text_2A155A
+ msgbox Route125_Text_2A1567, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F67BB:: @ 81F67BB
- trainerbattle 0, TRAINER_STAN, 0, Route125_Text_2A159F, Route125_Text_2A15C7
- msgbox Route125_Text_2A15D5, 6
+ trainerbattle_single TRAINER_STAN, Route125_Text_2A159F, Route125_Text_2A15C7
+ msgbox Route125_Text_2A15D5, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F67D2:: @ 81F67D2
- trainerbattle 0, TRAINER_TANYA, 0, Route125_Text_2A1615, Route125_Text_2A164D
- msgbox Route125_Text_2A165E, 6
+ trainerbattle_single TRAINER_TANYA, Route125_Text_2A1615, Route125_Text_2A164D
+ msgbox Route125_Text_2A165E, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F67E9:: @ 81F67E9
- trainerbattle 0, TRAINER_SHARON, 0, Route125_Text_2A1686, Route125_Text_2A16C5
- msgbox Route125_Text_2A16CE, 6
+ trainerbattle_single TRAINER_SHARON, Route125_Text_2A1686, Route125_Text_2A16C5
+ msgbox Route125_Text_2A16CE, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F6800:: @ 81F6800
- trainerbattle 2, TRAINER_ERNEST_1, 0, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C
+ 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
- msgbox Route125_Text_2A1755, 4
+ msgbox Route125_Text_2A1755, MSGBOX_DEFAULT
release
end
Route125_EventScript_1F682C:: @ 81F682C
special sub_80B4808
waitmovement 0
- msgbox Route125_Text_2A17CF, 4
- setvar VAR_0x8004, 492
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 492
- callstd 8
+ msgbox Route125_Text_2A17CF, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ERNEST_1
release
end
Route125_EventScript_1F684B:: @ 81F684B
- trainerbattle 5, TRAINER_ERNEST_1, 0, Route125_Text_2A180E, Route125_Text_2A1851
- msgbox Route125_Text_2A187A, 6
+ trainerbattle_rematch TRAINER_ERNEST_1, Route125_Text_2A180E, Route125_Text_2A1851
+ msgbox Route125_Text_2A187A, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F6862:: @ 81F6862
- trainerbattle 4, TRAINER_KIM_AND_IRIS, 0, Route125_Text_2A192B, Route125_Text_2A1989, Route125_Text_2A19F8
- msgbox Route125_Text_2A19A6, 6
+ trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_2A192B, Route125_Text_2A1989, Route125_Text_2A19F8
+ msgbox Route125_Text_2A19A6, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F687D:: @ 81F687D
- trainerbattle 4, TRAINER_KIM_AND_IRIS, 0, Route125_Text_2A1A35, Route125_Text_2A1A71, Route125_Text_2A1AD9
- msgbox Route125_Text_2A1A92, 6
+ trainerbattle_double TRAINER_KIM_AND_IRIS, Route125_Text_2A1A35, Route125_Text_2A1A71, Route125_Text_2A1AD9
+ msgbox Route125_Text_2A1A92, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F6898:: @ 81F6898
- trainerbattle 0, TRAINER_PRESLEY, 0, Route125_Text_2A1B1A, Route125_Text_2A1B4E
- msgbox Route125_Text_2A1B70, 6
+ trainerbattle_single TRAINER_PRESLEY, Route125_Text_2A1B1A, Route125_Text_2A1B4E
+ msgbox Route125_Text_2A1B70, MSGBOX_AUTOCLOSE
end
Route125_EventScript_1F68AF:: @ 81F68AF
- trainerbattle 0, TRAINER_AURON, 0, Route125_Text_2A1BCE, Route125_Text_2A1BFD
- msgbox Route125_Text_2A1C2A, 6
+ trainerbattle_single TRAINER_AURON, Route125_Text_2A1BCE, Route125_Text_2A1BFD
+ msgbox Route125_Text_2A1C2A, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route126/events.inc b/data/maps/Route126/events.inc
index 0c3180a79..8754a0006 100644
--- a/data/maps/Route126/events.inc
+++ b/data/maps/Route126/events.inc
@@ -3,7 +3,7 @@ Route126_EventObjects: @ 852C648
object_event 2, EVENT_OBJ_GFX_SWIMMER_M, 0, 56, 22, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 9, 0, 1, 3, Route126_EventScript_1F68ED, 0
object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 63, 43, 1, MOVEMENT_TYPE_ROTATE_CLOCKWISE, 0, 0, 1, 3, Route126_EventScript_1F6904, 0
object_event 4, EVENT_OBJ_GFX_SWIMMER_F, 0, 9, 48, 1, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 3, Route126_EventScript_1F691B, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route126_EventScript_291025, 1105
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route126_EventScript_291025, FLAG_ITEM_ROUTE_126_GREEN_SHARD
object_event 6, EVENT_OBJ_GFX_SWIMMER_F, 0, 15, 66, 1, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 1, 1, 1, 7, Route126_EventScript_1F6960, 0
object_event 7, EVENT_OBJ_GFX_SWIMMER_M, 0, 7, 66, 1, MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT, 1, 1, 1, 7, Route126_EventScript_1F6977, 0
object_event 8, EVENT_OBJ_GFX_SWIMMER_F, 0, 64, 5, 1, MOVEMENT_TYPE_WALK_IN_PLACE_LEFT, 1, 1, 1, 7, Route126_EventScript_1F6949, 0
diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc
index 3ea9ba786..0be11144a 100644
--- a/data/maps/Route126/scripts.inc
+++ b/data/maps/Route126/scripts.inc
@@ -8,62 +8,59 @@ Route126_MapScript1_1F68CC: @ 81F68CC
end
Route126_EventScript_1F68D6:: @ 81F68D6
- trainerbattle 0, TRAINER_BARRY, 0, Route126_Text_2A1C95, Route126_Text_2A1CC8
- msgbox Route126_Text_2A1CDD, 6
+ trainerbattle_single TRAINER_BARRY, Route126_Text_2A1C95, Route126_Text_2A1CC8
+ msgbox Route126_Text_2A1CDD, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F68ED:: @ 81F68ED
- trainerbattle 0, TRAINER_DEAN, 0, Route126_Text_2A1D2A, Route126_Text_2A1D63
- msgbox Route126_Text_2A1D72, 6
+ trainerbattle_single TRAINER_DEAN, Route126_Text_2A1D2A, Route126_Text_2A1D63
+ msgbox Route126_Text_2A1D72, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F6904:: @ 81F6904
- trainerbattle 0, TRAINER_NIKKI, 0, Route126_Text_2A1DAE, Route126_Text_2A1DC8
- msgbox Route126_Text_2A1E03, 6
+ trainerbattle_single TRAINER_NIKKI, Route126_Text_2A1DAE, Route126_Text_2A1DC8
+ msgbox Route126_Text_2A1E03, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F691B:: @ 81F691B
- trainerbattle 0, TRAINER_BRENDA, 0, Route126_Text_2A1E3E, Route126_Text_2A1E63
- msgbox Route126_Text_2A1E70, 6
+ trainerbattle_single TRAINER_BRENDA, Route126_Text_2A1E3E, Route126_Text_2A1E63
+ msgbox Route126_Text_2A1E70, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F6932:: @ 81F6932
- trainerbattle 0, TRAINER_LEONARDO, 0, Route126_Text_2A2063, Route126_Text_2A20C6
- msgbox Route126_Text_2A20F7, 6
+ trainerbattle_single TRAINER_LEONARDO, Route126_Text_2A2063, Route126_Text_2A20C6
+ msgbox Route126_Text_2A20F7, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F6949:: @ 81F6949
- trainerbattle 0, TRAINER_ISOBEL, 0, Route126_Text_2A216A, Route126_Text_2A21A3
- msgbox Route126_Text_2A21B8, 6
+ trainerbattle_single TRAINER_ISOBEL, Route126_Text_2A216A, Route126_Text_2A21A3
+ msgbox Route126_Text_2A21B8, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F6960:: @ 81F6960
- trainerbattle 0, TRAINER_SIENNA, 0, Route126_Text_2A21EF, Route126_Text_2A2216
- msgbox Route126_Text_2A222A, 6
+ trainerbattle_single TRAINER_SIENNA, Route126_Text_2A21EF, Route126_Text_2A2216
+ msgbox Route126_Text_2A222A, MSGBOX_AUTOCLOSE
end
Route126_EventScript_1F6977:: @ 81F6977
- trainerbattle 2, TRAINER_PABLO_1, 0, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3
+ 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
- msgbox Route126_Text_2A1F10, 4
+ msgbox Route126_Text_2A1F10, MSGBOX_DEFAULT
release
end
Route126_EventScript_1F69A3:: @ 81F69A3
special sub_80B4808
waitmovement 0
- msgbox Route126_Text_2A1F5A, 4
- setvar VAR_0x8004, 377
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 377
- callstd 8
+ msgbox Route126_Text_2A1F5A, MSGBOX_DEFAULT
+ register_matchcall TRAINER_PABLO_1
release
end
Route126_EventScript_1F69C2:: @ 81F69C2
- trainerbattle 5, TRAINER_PABLO_1, 0, Route126_Text_2A1F98, Route126_Text_2A1FD8
- msgbox Route126_Text_2A200C, 6
+ trainerbattle_rematch TRAINER_PABLO_1, Route126_Text_2A1F98, Route126_Text_2A1FD8
+ msgbox Route126_Text_2A200C, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route127/events.inc b/data/maps/Route127/events.inc
index bb434202b..78dc26899 100644
--- a/data/maps/Route127/events.inc
+++ b/data/maps/Route127/events.inc
@@ -1,15 +1,15 @@
Route127_EventObjects: @ 852C734
object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 45, 42, 1, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 2, Route127_EventScript_1F6A35, 0
object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 18, 68, 1, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 0, 0, 1, 4, Route127_EventScript_1F6A4C, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_291032, 1034
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 64, 39, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_29103F, 1035
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_291032, FLAG_ITEM_ROUTE_127_ZINC
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 64, 39, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_29103F, FLAG_ITEM_ROUTE_127_CARBOS
object_event 5, EVENT_OBJ_GFX_FISHERMAN, 0, 42, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 0, Route127_EventScript_1F6A63, 0
object_event 6, EVENT_OBJ_GFX_FISHERMAN, 0, 64, 19, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 0, Route127_EventScript_1F6A91, 0
object_event 7, EVENT_OBJ_GFX_FISHERMAN, 0, 54, 14, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 0, Route127_EventScript_1F6A7A, 0
object_event 8, EVENT_OBJ_GFX_MAN_5, 0, 15, 23, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, Route127_EventScript_1F6AA8, 0
object_event 9, EVENT_OBJ_GFX_BLACK_BELT, 0, 63, 63, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 1, 3, Route127_EventScript_1F6AD6, 0
object_event 10, EVENT_OBJ_GFX_WOMAN_5, 0, 12, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, Route127_EventScript_1F6ABF, 0
- object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_29104C, 1155
+ object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route127_EventScript_29104C, FLAG_ITEM_ROUTE_127_RARE_CANDY
Route127_MapBGEvents: @ 852C83C
bg_secret_base_event 59, 67, 0, SECRET_BASE_RED_CAVE4_1
diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc
index 12e5bf127..f9c3290b9 100644
--- a/data/maps/Route127/scripts.inc
+++ b/data/maps/Route127/scripts.inc
@@ -27,62 +27,59 @@ Route127_MapScript2_1F6A2B: @ 81F6A2B
.2byte 0
Route127_EventScript_1F6A35:: @ 81F6A35
- trainerbattle 0, TRAINER_CAMDEN, 0, Route127_Text_2A225F, Route127_Text_2A2294
- msgbox Route127_Text_2A22A1, 6
+ trainerbattle_single TRAINER_CAMDEN, Route127_Text_2A225F, Route127_Text_2A2294
+ msgbox Route127_Text_2A22A1, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6A4C:: @ 81F6A4C
- trainerbattle 0, TRAINER_DONNY, 0, Route127_Text_2A22DD, Route127_Text_2A2315
- msgbox Route127_Text_2A232C, 6
+ trainerbattle_single TRAINER_DONNY, Route127_Text_2A22DD, Route127_Text_2A2315
+ msgbox Route127_Text_2A232C, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6A63:: @ 81F6A63
- trainerbattle 0, TRAINER_JONAH, 0, Route127_Text_2A2381, Route127_Text_2A23E1
- msgbox Route127_Text_2A240C, 6
+ trainerbattle_single TRAINER_JONAH, Route127_Text_2A2381, Route127_Text_2A23E1
+ msgbox Route127_Text_2A240C, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6A7A:: @ 81F6A7A
- trainerbattle 0, TRAINER_HENRY, 0, Route127_Text_2A2450, Route127_Text_2A2483
- msgbox Route127_Text_2A2494, 6
+ trainerbattle_single TRAINER_HENRY, Route127_Text_2A2450, Route127_Text_2A2483
+ msgbox Route127_Text_2A2494, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6A91:: @ 81F6A91
- trainerbattle 0, TRAINER_ROGER, 0, Route127_Text_2A24C6, Route127_Text_2A250B
- msgbox Route127_Text_2A2538, 6
+ trainerbattle_single TRAINER_ROGER, Route127_Text_2A24C6, Route127_Text_2A250B
+ msgbox Route127_Text_2A2538, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6AA8:: @ 81F6AA8
- trainerbattle 0, TRAINER_AIDAN, 0, Route127_Text_2A257A, Route127_Text_2A25C1
- msgbox Route127_Text_2A25D2, 6
+ trainerbattle_single TRAINER_AIDAN, Route127_Text_2A257A, Route127_Text_2A25C1
+ msgbox Route127_Text_2A25D2, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6ABF:: @ 81F6ABF
- trainerbattle 0, TRAINER_ATHENA, 0, Route127_Text_2A27D0, Route127_Text_2A27FC
- msgbox Route127_Text_2A2832, 6
+ trainerbattle_single TRAINER_ATHENA, Route127_Text_2A27D0, Route127_Text_2A27FC
+ msgbox Route127_Text_2A2832, MSGBOX_AUTOCLOSE
end
Route127_EventScript_1F6AD6:: @ 81F6AD6
- trainerbattle 2, TRAINER_KOJI_1, 0, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02
+ 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
- msgbox Route127_Text_2A26AC, 4
+ msgbox Route127_Text_2A26AC, MSGBOX_DEFAULT
release
end
Route127_EventScript_1F6B02:: @ 81F6B02
special sub_80B4808
waitmovement 0
- msgbox Route127_Text_2A26EE, 4
- setvar VAR_0x8004, 672
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 672
- callstd 8
+ msgbox Route127_Text_2A26EE, MSGBOX_DEFAULT
+ register_matchcall TRAINER_KOJI_1
release
end
Route127_EventScript_1F6B21:: @ 81F6B21
- trainerbattle 5, TRAINER_KOJI_1, 0, Route127_Text_2A2734, Route127_Text_2A276B
- msgbox Route127_Text_2A278E, 6
+ trainerbattle_rematch TRAINER_KOJI_1, Route127_Text_2A2734, Route127_Text_2A276B
+ msgbox Route127_Text_2A278E, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route128/events.inc b/data/maps/Route128/events.inc
index 5c0b82cee..792ff5ca3 100644
--- a/data/maps/Route128/events.inc
+++ b/data/maps/Route128/events.inc
@@ -1,9 +1,9 @@
Route128_EventObjects: @ 852C88C
object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 35, 33, 1, MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN, 5, 5, 1, 3, Route128_EventScript_1F6CBE, 0
object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 78, 24, 1, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 5, 0, 1, 7, Route128_EventScript_1F6D20, 0
- object_event 3, EVENT_OBJ_GFX_STEVEN, 0, 40, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 834
- object_event 4, EVENT_OBJ_GFX_ARCHIE, 0, 37, 22, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 944
- object_event 5, EVENT_OBJ_GFX_MAXIE, 0, 38, 21, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 945
+ object_event 3, EVENT_OBJ_GFX_STEVEN, 0, 40, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_128_STEVEN
+ object_event 4, EVENT_OBJ_GFX_ARCHIE, 0, 37, 22, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_128_ARCHIE
+ object_event 5, EVENT_OBJ_GFX_MAXIE, 0, 38, 21, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_128_MAXIE
object_event 6, EVENT_OBJ_GFX_FISHERMAN, 0, 63, 28, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 0, Route128_EventScript_1F6DB0, 0
object_event 7, EVENT_OBJ_GFX_MAN_3, 0, 47, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 3, Route128_EventScript_1F6D99, 0
object_event 8, EVENT_OBJ_GFX_WOMAN_5, 0, 24, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, Route128_EventScript_1F6D82, 0
@@ -11,9 +11,9 @@ Route128_EventObjects: @ 852C88C
object_event 10, EVENT_OBJ_GFX_SWIMMER_M, 0, 101, 22, 1, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 3, 1, 4, Route128_EventScript_1F6DC7, 0
Route128_MapBGEvents: @ 852C97C
- bg_hidden_item_event 49, 9, 3, ITEM_HEART_SCALE, 92
- bg_hidden_item_event 57, 21, 3, ITEM_HEART_SCALE, 93
- bg_hidden_item_event 31, 33, 3, ITEM_HEART_SCALE, 94
+ bg_hidden_item_event 49, 9, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1
+ bg_hidden_item_event 57, 21, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2
+ bg_hidden_item_event 31, 33, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3
Route128_MapEvents:: @ 852C9A0
map_events Route128_EventObjects, 0x0, 0x0, Route128_MapBGEvents
diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc
index 8e2742ff5..ec47bf39c 100644
--- a/data/maps/Route128/scripts.inc
+++ b/data/maps/Route128/scripts.inc
@@ -17,29 +17,29 @@ Route128_EventScript_1F6B57:: @ 81F6B57
delay 20
applymovement 4, Route128_Movement_1F6C89
waitmovement 0
- msgbox Route128_Text_1F6DF5, 4
+ msgbox Route128_Text_1F6DF5, MSGBOX_DEFAULT
closemessage
applymovement 4, Route128_Movement_1F6C91
waitmovement 0
- msgbox Route128_Text_1F6E48, 4
+ msgbox Route128_Text_1F6E48, MSGBOX_DEFAULT
closemessage
applymovement 5, Route128_Movement_1F6CAD
waitmovement 0
applymovement 4, Route128_Movement_2725A6
waitmovement 0
- msgbox Route128_Text_1F6E5A, 4
+ msgbox Route128_Text_1F6E5A, MSGBOX_DEFAULT
closemessage
applymovement 5, Route128_Movement_1F6CBB
waitmovement 0
applymovement 255, Route128_Movement_2725A6
waitmovement 0
- msgbox Route128_Text_1F6F1E, 4
+ msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT
closemessage
applymovement 4, Route128_Movement_1F6C96
applymovement 255, Route128_Movement_2725A4
applymovement 5, Route128_Movement_1F6CA8
waitmovement 0
- msgbox Route128_Text_1F704F, 4
+ msgbox Route128_Text_1F704F, MSGBOX_DEFAULT
closemessage
delay 40
applymovement 5, Route128_Movement_1F6CB0
@@ -56,15 +56,15 @@ Route128_EventScript_1F6B57:: @ 81F6B57
waitmovement 0
applymovement 255, Route128_Movement_2725A8
waitmovement 0
- msgbox Route128_Text_1F70C9, 4
+ msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT
closemessage
applymovement 3, Route128_Movement_1F6C85
applymovement 255, Route128_Movement_2725A6
waitmovement 0
- msgbox Route128_Text_1F70EA, 4
+ msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT
applymovement 3, Route128_Movement_2725AA
waitmovement 0
- msgbox Route128_Text_1F721B, 4
+ msgbox Route128_Text_1F721B, MSGBOX_DEFAULT
closemessage
applymovement 3, Route128_Movement_2725AA
waitmovement 0
@@ -176,78 +176,72 @@ Route128_Movement_1F6CBB: @ 81F6CBB
step_end
Route128_EventScript_1F6CBE:: @ 81F6CBE
- trainerbattle 2, TRAINER_ISAIAH_1, 0, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA
+ 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
- msgbox Route128_Text_2A28D7, 4
+ msgbox Route128_Text_2A28D7, MSGBOX_DEFAULT
release
end
Route128_EventScript_1F6CEA:: @ 81F6CEA
special sub_80B4808
waitmovement 0
- msgbox Route128_Text_2A2916, 4
- setvar VAR_0x8004, 376
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 376
- callstd 8
+ msgbox Route128_Text_2A2916, MSGBOX_DEFAULT
+ register_matchcall TRAINER_ISAIAH_1
release
end
Route128_EventScript_1F6D09:: @ 81F6D09
- trainerbattle 5, TRAINER_ISAIAH_1, 0, Route128_Text_2A2975, Route128_Text_2A29B8
- msgbox Route128_Text_2A29DC, 6
+ trainerbattle_rematch TRAINER_ISAIAH_1, Route128_Text_2A2975, Route128_Text_2A29B8
+ msgbox Route128_Text_2A29DC, MSGBOX_AUTOCLOSE
end
Route128_EventScript_1F6D20:: @ 81F6D20
- trainerbattle 2, TRAINER_KATELYN_1, 0, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C
+ 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
- msgbox Route128_Text_2A2AB7, 4
+ msgbox Route128_Text_2A2AB7, MSGBOX_DEFAULT
release
end
Route128_EventScript_1F6D4C:: @ 81F6D4C
special sub_80B4808
waitmovement 0
- msgbox Route128_Text_2A2AF9, 4
- setvar VAR_0x8004, 386
- special SetMatchCallRegisteredFlag
- setorcopyvar VAR_0x8000, 386
- callstd 8
+ msgbox Route128_Text_2A2AF9, MSGBOX_DEFAULT
+ register_matchcall TRAINER_KATELYN_1
release
end
Route128_EventScript_1F6D6B:: @ 81F6D6B
- trainerbattle 5, TRAINER_KATELYN_1, 0, Route128_Text_2A2B41, Route128_Text_2A2BAB
- msgbox Route128_Text_2A2BDD, 6
+ trainerbattle_rematch TRAINER_KATELYN_1, Route128_Text_2A2B41, Route128_Text_2A2BAB
+ msgbox Route128_Text_2A2BDD, MSGBOX_AUTOCLOSE
end
Route128_EventScript_1F6D82:: @ 81F6D82
- trainerbattle 0, TRAINER_ALEXA, 0, Route128_Text_2A2C1C, Route128_Text_2A2C79
- msgbox Route128_Text_2A2C95, 6
+ trainerbattle_single TRAINER_ALEXA, Route128_Text_2A2C1C, Route128_Text_2A2C79
+ msgbox Route128_Text_2A2C95, MSGBOX_AUTOCLOSE
end
Route128_EventScript_1F6D99:: @ 81F6D99
- trainerbattle 0, TRAINER_RUBEN, 0, Route128_Text_2A2CD9, Route128_Text_2A2CFE
- msgbox Route128_Text_2A2D0D, 6
+ trainerbattle_single TRAINER_RUBEN, Route128_Text_2A2CD9, Route128_Text_2A2CFE
+ msgbox Route128_Text_2A2D0D, MSGBOX_AUTOCLOSE
end
Route128_EventScript_1F6DB0:: @ 81F6DB0
- trainerbattle 0, TRAINER_WAYNE, 0, Route128_Text_2A2D3D, Route128_Text_2A2DA9
- msgbox Route128_Text_2A2DBA, 6
+ trainerbattle_single TRAINER_WAYNE, Route128_Text_2A2D3D, Route128_Text_2A2DA9
+ msgbox Route128_Text_2A2DBA, MSGBOX_AUTOCLOSE
end
Route128_EventScript_1F6DC7:: @ 81F6DC7
- trainerbattle 0, TRAINER_HARRISON, 0, Route128_Text_2A2E0F, Route128_Text_2A2E44
- msgbox Route128_Text_2A2E6C, 6
+ trainerbattle_single TRAINER_HARRISON, Route128_Text_2A2E0F, Route128_Text_2A2E44
+ msgbox Route128_Text_2A2E6C, MSGBOX_AUTOCLOSE
end
Route128_EventScript_1F6DDE:: @ 81F6DDE
- trainerbattle 0, TRAINER_CARLEE, 0, Route128_Text_2A2EC8, Route128_Text_2A2EFA
- msgbox Route128_Text_2A2F2F, 6
+ trainerbattle_single TRAINER_CARLEE, Route128_Text_2A2EC8, Route128_Text_2A2EFA
+ msgbox Route128_Text_2A2F2F, MSGBOX_AUTOCLOSE
end
Route128_Text_1F6DF5: @ 81F6DF5
diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc
index 170d87e56..b58e9ddd4 100644
--- a/data/maps/Route129/scripts.inc
+++ b/data/maps/Route129/scripts.inc
@@ -32,27 +32,27 @@ Route129_MapScript2_1F72E2: @ 81F72E2
.2byte 0
Route129_EventScript_1F72EC:: @ 81F72EC
- trainerbattle 0, TRAINER_CHASE, 0, Route129_Text_2A2F66, Route129_Text_2A2F9D
- msgbox Route129_Text_2A2FB9, 6
+ trainerbattle_single TRAINER_CHASE, Route129_Text_2A2F66, Route129_Text_2A2F9D
+ msgbox Route129_Text_2A2FB9, MSGBOX_AUTOCLOSE
end
Route129_EventScript_1F7303:: @ 81F7303
- trainerbattle 0, TRAINER_ALLISON, 0, Route129_Text_2A2FF2, Route129_Text_2A3034
- msgbox Route129_Text_2A3048, 6
+ trainerbattle_single TRAINER_ALLISON, Route129_Text_2A2FF2, Route129_Text_2A3034
+ msgbox Route129_Text_2A3048, MSGBOX_AUTOCLOSE
end
Route129_EventScript_1F731A:: @ 81F731A
- trainerbattle 0, TRAINER_REED, 0, Route129_Text_2A30CD, Route129_Text_2A30F1
- msgbox Route129_Text_2A3114, 6
+ trainerbattle_single TRAINER_REED, Route129_Text_2A30CD, Route129_Text_2A30F1
+ msgbox Route129_Text_2A3114, MSGBOX_AUTOCLOSE
end
Route129_EventScript_1F7331:: @ 81F7331
- trainerbattle 0, TRAINER_TISHA, 0, Route129_Text_2A314E, Route129_Text_2A317D
- msgbox Route129_Text_2A31A6, 6
+ trainerbattle_single TRAINER_TISHA, Route129_Text_2A314E, Route129_Text_2A317D
+ msgbox Route129_Text_2A31A6, MSGBOX_AUTOCLOSE
end
Route129_EventScript_1F7348:: @ 81F7348
- trainerbattle 0, TRAINER_CLARENCE, 0, Route129_Text_2A3204, Route129_Text_2A3239
- msgbox Route129_Text_2A3252, 6
+ trainerbattle_single TRAINER_CLARENCE, Route129_Text_2A3204, Route129_Text_2A3239
+ msgbox Route129_Text_2A3252, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route130/events.inc b/data/maps/Route130/events.inc
index 227e359b6..97532e576 100644
--- a/data/maps/Route130/events.inc
+++ b/data/maps/Route130/events.inc
@@ -1,7 +1,7 @@
Route130_EventObjects: @ 852CA40
object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 70, 21, 1, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 3, 6, 1, 3, Route130_EventScript_1F73BF, 0
object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 7, 21, 1, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 4, 1, 5, Route130_EventScript_1F73D6, 0
- object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 52, 9, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 82, BerryTreeScript, 17
+ object_event 3, EVENT_OBJ_GFX_BERRY_TREE, 0, 52, 9, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 82, BerryTreeScript, FLAG_TEMP_11
object_event 4, EVENT_OBJ_GFX_SWIMMER_M, 0, 7, 30, 1, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 1, 4, 1, 5, Route130_EventScript_1F73ED, 0
Route130_MapEvents:: @ 852CAA0
diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc
index 26278cf50..6698837d2 100644
--- a/data/maps/Route130/scripts.inc
+++ b/data/maps/Route130/scripts.inc
@@ -8,21 +8,21 @@ Route130_MapScript1_1F7365: @ 81F7365
specialvar VAR_RESULT, IsMirageIslandPresent
compare VAR_RESULT, 1
goto_eq Route130_EventScript_1F73B1
- setflag FLAG_0x011
- setflag FLAG_0x012
- setflag FLAG_0x013
- setflag FLAG_0x014
- setflag FLAG_0x015
- setflag FLAG_0x016
- setflag FLAG_0x017
- setflag FLAG_0x018
- setflag FLAG_0x019
- setflag FLAG_0x01A
- setflag FLAG_0x01B
- setflag FLAG_0x01C
- setflag FLAG_0x01D
- setflag FLAG_0x01E
- setflag FLAG_0x01F
+ setflag FLAG_TEMP_11
+ setflag FLAG_TEMP_12
+ setflag FLAG_TEMP_13
+ setflag FLAG_TEMP_14
+ setflag FLAG_TEMP_15
+ setflag FLAG_TEMP_16
+ setflag FLAG_TEMP_17
+ setflag FLAG_TEMP_18
+ setflag FLAG_TEMP_19
+ setflag FLAG_TEMP_1A
+ setflag FLAG_TEMP_1B
+ setflag FLAG_TEMP_1C
+ setflag FLAG_TEMP_1D
+ setflag FLAG_TEMP_1E
+ setflag FLAG_TEMP_1F
setmaplayoutindex 263
end
@@ -36,17 +36,17 @@ Route130_EventScript_1F73B5:: @ 81F73B5
return
Route130_EventScript_1F73BF:: @ 81F73BF
- trainerbattle 0, TRAINER_RODNEY, 0, Route130_Text_2A328A, Route130_Text_2A32E6
- msgbox Route130_Text_2A3300, 6
+ trainerbattle_single TRAINER_RODNEY, Route130_Text_2A328A, Route130_Text_2A32E6
+ msgbox Route130_Text_2A3300, MSGBOX_AUTOCLOSE
end
Route130_EventScript_1F73D6:: @ 81F73D6
- trainerbattle 0, TRAINER_KATIE, 0, Route130_Text_2A3363, Route130_Text_2A33AC
- msgbox Route130_Text_2A33F5, 6
+ trainerbattle_single TRAINER_KATIE, Route130_Text_2A3363, Route130_Text_2A33AC
+ msgbox Route130_Text_2A33F5, MSGBOX_AUTOCLOSE
end
Route130_EventScript_1F73ED:: @ 81F73ED
- trainerbattle 0, TRAINER_SANTIAGO, 0, Route130_Text_2A343A, Route130_Text_2A346D
- msgbox Route130_Text_2A3494, 6
+ trainerbattle_single TRAINER_SANTIAGO, Route130_Text_2A343A, Route130_Text_2A346D
+ msgbox Route130_Text_2A3494, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc
index 566cbef66..618d17fdb 100644
--- a/data/maps/Route131/scripts.inc
+++ b/data/maps/Route131/scripts.inc
@@ -18,42 +18,42 @@ Route131_EventScript_1F741F:: @ 81F741F
return
Route131_EventScript_1F7429:: @ 81F7429
- trainerbattle 0, TRAINER_RICHARD, 0, Route131_Text_2A34C8, Route131_Text_2A350D
- msgbox Route131_Text_2A353D, 6
+ trainerbattle_single TRAINER_RICHARD, Route131_Text_2A34C8, Route131_Text_2A350D
+ msgbox Route131_Text_2A353D, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F7440:: @ 81F7440
- trainerbattle 0, TRAINER_HERMAN, 0, Route131_Text_2A35C6, Route131_Text_2A3626
- msgbox Route131_Text_2A362D, 6
+ trainerbattle_single TRAINER_HERMAN, Route131_Text_2A35C6, Route131_Text_2A3626
+ msgbox Route131_Text_2A362D, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F7457:: @ 81F7457
- trainerbattle 0, TRAINER_SUSIE, 0, Route131_Text_2A367B, Route131_Text_2A36AB
- msgbox Route131_Text_2A36D6, 6
+ trainerbattle_single TRAINER_SUSIE, Route131_Text_2A367B, Route131_Text_2A36AB
+ msgbox Route131_Text_2A36D6, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F746E:: @ 81F746E
- trainerbattle 0, TRAINER_KARA, 0, Route131_Text_2A3751, Route131_Text_2A378A
- msgbox Route131_Text_2A379F, 6
+ trainerbattle_single TRAINER_KARA, Route131_Text_2A3751, Route131_Text_2A378A
+ msgbox Route131_Text_2A379F, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F7485:: @ 81F7485
- trainerbattle 4, TRAINER_RELI_AND_IAN, 0, Route131_Text_2A37E9, Route131_Text_2A381F, Route131_Text_2A38B7
- msgbox Route131_Text_2A3855, 6
+ trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_2A37E9, Route131_Text_2A381F, Route131_Text_2A38B7
+ msgbox Route131_Text_2A3855, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F74A0:: @ 81F74A0
- trainerbattle 4, TRAINER_RELI_AND_IAN, 0, Route131_Text_2A38F8, Route131_Text_2A3925, Route131_Text_2A39CD
- msgbox Route131_Text_2A3960, 6
+ trainerbattle_double TRAINER_RELI_AND_IAN, Route131_Text_2A38F8, Route131_Text_2A3925, Route131_Text_2A39CD
+ msgbox Route131_Text_2A3960, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F74BB:: @ 81F74BB
- trainerbattle 0, TRAINER_TALIA, 0, Route131_Text_2A39FE, Route131_Text_2A3A38
- msgbox Route131_Text_2A3A48, 6
+ trainerbattle_single TRAINER_TALIA, Route131_Text_2A39FE, Route131_Text_2A3A38
+ msgbox Route131_Text_2A3A48, MSGBOX_AUTOCLOSE
end
Route131_EventScript_1F74D2:: @ 81F74D2
- trainerbattle 0, TRAINER_KEVIN, 0, Route131_Text_2A3AA0, Route131_Text_2A3AFC
- msgbox Route131_Text_2A3B02, 6
+ trainerbattle_single TRAINER_KEVIN, Route131_Text_2A3AA0, Route131_Text_2A3AFC
+ msgbox Route131_Text_2A3B02, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route132/events.inc b/data/maps/Route132/events.inc
index 817d7b038..da648b925 100644
--- a/data/maps/Route132/events.inc
+++ b/data/maps/Route132/events.inc
@@ -1,14 +1,14 @@
Route132_EventObjects: @ 852CB90
object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 40, 13, 1, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT, 3, 3, 1, 2, Route132_EventScript_1F74EA, 0
object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 10, 6, 1, MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT, 3, 3, 1, 2, Route132_EventScript_1F7501, 0
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route132_EventScript_291059, 1036
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 10, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route132_EventScript_291059, FLAG_ITEM_ROUTE_132_RARE_CANDY
object_event 4, EVENT_OBJ_GFX_BLACK_BELT, 0, 9, 15, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 4, Route132_EventScript_1F752F, 0
object_event 5, EVENT_OBJ_GFX_FISHERMAN, 0, 49, 28, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 1, Route132_EventScript_1F7518, 0
object_event 6, EVENT_OBJ_GFX_EXPERT_M, 0, 33, 26, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, Route132_EventScript_1F7546, 0
object_event 7, EVENT_OBJ_GFX_WOMAN_5, 0, 33, 31, 3, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 1, 4, 1, 4, Route132_EventScript_1F755D, 0
object_event 8, EVENT_OBJ_GFX_EXPERT_F, 0, 21, 30, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, Route132_EventScript_1F758B, 0
object_event 9, EVENT_OBJ_GFX_MAN_3, 0, 21, 25, 3, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 1, 4, 1, 4, Route132_EventScript_1F7574, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 27, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route132_EventScript_291066, 1156
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 20, 27, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route132_EventScript_291066, FLAG_ITEM_ROUTE_132_PROTEIN
Route132_MapEvents:: @ 852CC80
map_events Route132_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route132/scripts.inc b/data/maps/Route132/scripts.inc
index a4ae6f716..aed4d0673 100644
--- a/data/maps/Route132/scripts.inc
+++ b/data/maps/Route132/scripts.inc
@@ -2,42 +2,42 @@ Route132_MapScripts:: @ 81F74E9
.byte 0
Route132_EventScript_1F74EA:: @ 81F74EA
- trainerbattle 0, TRAINER_GILBERT, 0, Route132_Text_2A3B4C, Route132_Text_2A3BAC
- msgbox Route132_Text_2A3BC0, 6
+ trainerbattle_single TRAINER_GILBERT, Route132_Text_2A3B4C, Route132_Text_2A3BAC
+ msgbox Route132_Text_2A3BC0, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F7501:: @ 81F7501
- trainerbattle 0, TRAINER_DANA, 0, Route132_Text_2A3C04, Route132_Text_2A3C39
- msgbox Route132_Text_2A3C49, 6
+ trainerbattle_single TRAINER_DANA, Route132_Text_2A3C04, Route132_Text_2A3C39
+ msgbox Route132_Text_2A3C49, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F7518:: @ 81F7518
- trainerbattle 0, TRAINER_RONALD, 0, Route132_Text_2A3C7F, Route132_Text_2A3CAD
- msgbox Route132_Text_2A3CC5, 6
+ trainerbattle_single TRAINER_RONALD, Route132_Text_2A3C7F, Route132_Text_2A3CAD
+ msgbox Route132_Text_2A3CC5, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F752F:: @ 81F752F
- trainerbattle 0, TRAINER_KIYO, 0, Route132_Text_2A3D26, Route132_Text_2A3D6C
- msgbox Route132_Text_2A3D8B, 6
+ trainerbattle_single TRAINER_KIYO, Route132_Text_2A3D26, Route132_Text_2A3D6C
+ msgbox Route132_Text_2A3D8B, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F7546:: @ 81F7546
- trainerbattle 0, TRAINER_PAXTON, 0, Route132_Text_2A3F4F, Route132_Text_2A3FA8
- msgbox Route132_Text_2A3FE5, 6
+ trainerbattle_single TRAINER_PAXTON, Route132_Text_2A3F4F, Route132_Text_2A3FA8
+ msgbox Route132_Text_2A3FE5, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F755D:: @ 81F755D
- trainerbattle 0, TRAINER_DARCY, 0, Route132_Text_2A4026, Route132_Text_2A406E
- msgbox Route132_Text_2A40A4, 6
+ trainerbattle_single TRAINER_DARCY, Route132_Text_2A4026, Route132_Text_2A406E
+ msgbox Route132_Text_2A40A4, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F7574:: @ 81F7574
- trainerbattle 0, TRAINER_JONATHAN, 0, Route132_Text_2A3EAC, Route132_Text_2A3EDD
- msgbox Route132_Text_2A3F03, 6
+ trainerbattle_single TRAINER_JONATHAN, Route132_Text_2A3EAC, Route132_Text_2A3EDD
+ msgbox Route132_Text_2A3F03, MSGBOX_AUTOCLOSE
end
Route132_EventScript_1F758B:: @ 81F758B
- trainerbattle 0, TRAINER_MAKAYLA, 0, Route132_Text_2A3DF0, Route132_Text_2A3E2C
- msgbox Route132_Text_2A3E4E, 6
+ trainerbattle_single TRAINER_MAKAYLA, Route132_Text_2A3DF0, Route132_Text_2A3E2C
+ msgbox Route132_Text_2A3E4E, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route133/events.inc b/data/maps/Route133/events.inc
index b1cbb4bb1..36f8b747d 100644
--- a/data/maps/Route133/events.inc
+++ b/data/maps/Route133/events.inc
@@ -2,13 +2,13 @@ Route133_EventObjects: @ 852CC94
object_event 1, EVENT_OBJ_GFX_SWIMMER_M, 0, 68, 27, 1, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 0, 2, 1, 3, Route133_EventScript_1F75A3, 0
object_event 2, EVENT_OBJ_GFX_SWIMMER_F, 0, 13, 3, 1, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, Route133_EventScript_1F75D1, 0
object_event 3, EVENT_OBJ_GFX_SWIMMER_F, 0, 68, 28, 1, MOVEMENT_TYPE_WALK_DOWN_AND_UP, 0, 2, 1, 3, Route133_EventScript_1F75BA, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 53, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route133_EventScript_291073, 1037
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route133_EventScript_291080, 1038
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 53, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route133_EventScript_291073, FLAG_ITEM_ROUTE_133_BIG_PEARL
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route133_EventScript_291080, FLAG_ITEM_ROUTE_133_STAR_PIECE
object_event 6, EVENT_OBJ_GFX_MAN_5, 0, 7, 14, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 2, Route133_EventScript_1F75FF, 0
object_event 7, EVENT_OBJ_GFX_MAN_3, 0, 37, 15, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 4, Route133_EventScript_1F75E8, 0
object_event 8, EVENT_OBJ_GFX_EXPERT_F, 0, 56, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 3, Route133_EventScript_1F7616, 0
object_event 9, EVENT_OBJ_GFX_EXPERT_M, 0, 56, 15, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, Route133_EventScript_1F762D, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 48, 28, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route133_EventScript_29108D, 1157
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 48, 28, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route133_EventScript_29108D, FLAG_ITEM_ROUTE_133_MAX_REVIVE
Route133_MapEvents:: @ 852CD84
map_events Route133_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route133/scripts.inc b/data/maps/Route133/scripts.inc
index dc15a5d40..a91eeead3 100644
--- a/data/maps/Route133/scripts.inc
+++ b/data/maps/Route133/scripts.inc
@@ -2,37 +2,37 @@ Route133_MapScripts:: @ 81F75A2
.byte 0
Route133_EventScript_1F75A3:: @ 81F75A3
- trainerbattle 0, TRAINER_FRANKLIN, 0, Route133_Text_2A40F0, Route133_Text_2A413F
- msgbox Route133_Text_2A4154, 6
+ trainerbattle_single TRAINER_FRANKLIN, Route133_Text_2A40F0, Route133_Text_2A413F
+ msgbox Route133_Text_2A4154, MSGBOX_AUTOCLOSE
end
Route133_EventScript_1F75BA:: @ 81F75BA
- trainerbattle 0, TRAINER_DEBRA, 0, Route133_Text_2A41A8, Route133_Text_2A4200
- msgbox Route133_Text_2A420E, 6
+ trainerbattle_single TRAINER_DEBRA, Route133_Text_2A41A8, Route133_Text_2A4200
+ msgbox Route133_Text_2A420E, MSGBOX_AUTOCLOSE
end
Route133_EventScript_1F75D1:: @ 81F75D1
- trainerbattle 0, TRAINER_LINDA, 0, Route133_Text_2A4236, Route133_Text_2A4258
- msgbox Route133_Text_2A4264, 6
+ trainerbattle_single TRAINER_LINDA, Route133_Text_2A4236, Route133_Text_2A4258
+ msgbox Route133_Text_2A4264, MSGBOX_AUTOCLOSE
end
Route133_EventScript_1F75E8:: @ 81F75E8
- trainerbattle 0, TRAINER_WARREN, 0, Route133_Text_2A4290, Route133_Text_2A42E0
- msgbox Route133_Text_2A4304, 6
+ trainerbattle_single TRAINER_WARREN, Route133_Text_2A4290, Route133_Text_2A42E0
+ msgbox Route133_Text_2A4304, MSGBOX_AUTOCLOSE
end
Route133_EventScript_1F75FF:: @ 81F75FF
- trainerbattle 0, TRAINER_BECK, 0, Route133_Text_2A436A, Route133_Text_2A439C
- msgbox Route133_Text_2A43B9, 6
+ trainerbattle_single TRAINER_BECK, Route133_Text_2A436A, Route133_Text_2A439C
+ msgbox Route133_Text_2A43B9, MSGBOX_AUTOCLOSE
end
Route133_EventScript_1F7616:: @ 81F7616
- trainerbattle 0, TRAINER_MOLLIE, 0, Route133_Text_2A4401, Route133_Text_2A443A
- msgbox Route133_Text_2A4477, 6
+ trainerbattle_single TRAINER_MOLLIE, Route133_Text_2A4401, Route133_Text_2A443A
+ msgbox Route133_Text_2A4477, MSGBOX_AUTOCLOSE
end
Route133_EventScript_1F762D:: @ 81F762D
- trainerbattle 0, TRAINER_CONOR, 0, Route133_Text_2A44BA, Route133_Text_2A4505
- msgbox Route133_Text_2A4527, 6
+ trainerbattle_single TRAINER_CONOR, Route133_Text_2A44BA, Route133_Text_2A4505
+ msgbox Route133_Text_2A4527, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/Route134/events.inc b/data/maps/Route134/events.inc
index 4201b8068..8caf4da1e 100644
--- a/data/maps/Route134/events.inc
+++ b/data/maps/Route134/events.inc
@@ -8,8 +8,8 @@ Route134_EventObjects: @ 852CD98
object_event 7, EVENT_OBJ_GFX_SAILOR, 0, 24, 30, 3, MOVEMENT_TYPE_WALK_UP_AND_DOWN, 0, 3, 1, 6, Route134_EventScript_1F770B, 0
object_event 8, EVENT_OBJ_GFX_GIRL_3, 0, 50, 16, 3, MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT, 6, 0, 1, 5, Route134_EventScript_1F76DD, 0
object_event 9, EVENT_OBJ_GFX_SAILOR, 0, 63, 14, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 1, 1, 1, 3, Route134_EventScript_1F76C6, 0
- object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 50, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route134_EventScript_29109A, 1158
- object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 22, 27, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route134_EventScript_2910A7, 1159
+ object_event 10, EVENT_OBJ_GFX_ITEM_BALL, 0, 50, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route134_EventScript_29109A, FLAG_ITEM_ROUTE_134_CARBOS
+ object_event 11, EVENT_OBJ_GFX_ITEM_BALL, 0, 22, 27, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route134_EventScript_2910A7, FLAG_ITEM_ROUTE_134_STAR_PIECE
Route134_MapEvents:: @ 852CEA0
map_events Route134_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/Route134/scripts.inc b/data/maps/Route134/scripts.inc
index bdec88c42..f6f4feee3 100644
--- a/data/maps/Route134/scripts.inc
+++ b/data/maps/Route134/scripts.inc
@@ -7,47 +7,47 @@ Route134_MapScript1_1F764A: @ 81F764A
end
Route134_EventScript_1F7653:: @ 81F7653
- trainerbattle 0, TRAINER_JACK, 0, Route134_Text_2A4571, Route134_Text_2A45BB
- msgbox Route134_Text_2A45C5, 6
+ trainerbattle_single TRAINER_JACK, Route134_Text_2A4571, Route134_Text_2A45BB
+ msgbox Route134_Text_2A45C5, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F766A:: @ 81F766A
- trainerbattle 0, TRAINER_LAUREL, 0, Route134_Text_2A4609, Route134_Text_2A4643
- msgbox Route134_Text_2A464B, 6
+ trainerbattle_single TRAINER_LAUREL, Route134_Text_2A4609, Route134_Text_2A4643
+ msgbox Route134_Text_2A464B, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F7681:: @ 81F7681
- trainerbattle 0, TRAINER_ALEX, 0, Route134_Text_2A4682, Route134_Text_2A46BE
- msgbox Route134_Text_2A46D2, 6
+ trainerbattle_single TRAINER_ALEX, Route134_Text_2A4682, Route134_Text_2A46BE
+ msgbox Route134_Text_2A46D2, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F7698:: @ 81F7698
- trainerbattle 0, TRAINER_AARON, 0, Route134_Text_2A479E, Route134_Text_2A47E1
- msgbox Route134_Text_2A47FD, 6
+ trainerbattle_single TRAINER_AARON, Route134_Text_2A479E, Route134_Text_2A47E1
+ msgbox Route134_Text_2A47FD, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F76AF:: @ 81F76AF
- trainerbattle 0, TRAINER_HITOSHI, 0, Route134_Text_2A4709, Route134_Text_2A4745
- msgbox Route134_Text_2A475D, 6
+ trainerbattle_single TRAINER_HITOSHI, Route134_Text_2A4709, Route134_Text_2A4745
+ msgbox Route134_Text_2A475D, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F76C6:: @ 81F76C6
- trainerbattle 0, TRAINER_HUDSON, 0, Route134_Text_2A4A8F, Route134_Text_2A4AC1
- msgbox Route134_Text_2A4AD8, 6
+ trainerbattle_single TRAINER_HUDSON, Route134_Text_2A4A8F, Route134_Text_2A4AC1
+ msgbox Route134_Text_2A4AD8, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F76DD:: @ 81F76DD
- trainerbattle 0, TRAINER_REYNA, 0, Route134_Text_2A49E9, Route134_Text_2A4A10
- msgbox Route134_Text_2A4A34, 6
+ trainerbattle_single TRAINER_REYNA, Route134_Text_2A49E9, Route134_Text_2A4A10
+ msgbox Route134_Text_2A4A34, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F76F4:: @ 81F76F4
- trainerbattle 0, TRAINER_MARLEY, 0, Route134_Text_2A4937, Route134_Text_2A496B
- msgbox Route134_Text_2A49B1, 6
+ trainerbattle_single TRAINER_MARLEY, Route134_Text_2A4937, Route134_Text_2A496B
+ msgbox Route134_Text_2A49B1, MSGBOX_AUTOCLOSE
end
Route134_EventScript_1F770B:: @ 81F770B
- trainerbattle 0, TRAINER_KELVIN, 0, Route134_Text_2A4875, Route134_Text_2A489B
- msgbox Route134_Text_2A48BD, 6
+ trainerbattle_single TRAINER_KELVIN, Route134_Text_2A4875, Route134_Text_2A489B
+ msgbox Route134_Text_2A48BD, MSGBOX_AUTOCLOSE
end
diff --git a/data/maps/RustboroCity/events.inc b/data/maps/RustboroCity/events.inc
index 2f14304ba..48d125d0f 100644
--- a/data/maps/RustboroCity/events.inc
+++ b/data/maps/RustboroCity/events.inc
@@ -7,13 +7,13 @@ RustboroCity_EventObjects: @ 85267E0
object_event 6, EVENT_OBJ_GFX_MAN_3, 0, 26, 23, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0893, 0
object_event 7, EVENT_OBJ_GFX_LITTLE_BOY, 0, 24, 51, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_EventScript_1E0922, 0
object_event 8, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 25, 51, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_EventScript_1E0938, 0
- object_event 9, EVENT_OBJ_GFX_MAN_2, 0, 30, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, RustboroCity_EventScript_1E0ADD, 732
- object_event 10, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 21, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 731
+ object_event 9, EVENT_OBJ_GFX_MAN_2, 0, 30, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, RustboroCity_EventScript_1E0ADD, FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
+ object_event 10, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 21, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT
object_event 11, EVENT_OBJ_GFX_DEVON_EMPLOYEE, 0, 13, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E087E, 0
- object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 36, 51, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, 1041
+ object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 36, 51, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, FLAG_ITEM_RUSTBORO_CITY_X_DEFEND
object_event 13, EVENT_OBJ_GFX_MAN_4, 0, 19, 27, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_1E094E, 0
- object_event 14, EVENT_OBJ_GFX_HIPSTER, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, 814
- object_event 15, EVENT_OBJ_GFX_SCIENTIST_1, 0, 11, 15, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, 844
+ object_event 14, EVENT_OBJ_GFX_HIPSTER, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL
+ object_event 15, EVENT_OBJ_GFX_SCIENTIST_1, 0, 11, 15, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
object_event 16, EVENT_OBJ_GFX_BOY_1, 0, 31, 36, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 1, 0, 0, RustboroCity_EventScript_1E1236, 0
RustboroCity_MapWarps: @ 8526960
diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc
index f4c8d5434..a524e3969 100644
--- a/data/maps/RustboroCity/scripts.inc
+++ b/data/maps/RustboroCity/scripts.inc
@@ -50,7 +50,7 @@ RustboroCity_EventScript_1E0715:: @ 81E0715
waitmovement 0
applymovement 15, RustboroCity_Movement_1E084E
waitmovement 0
- msgbox RustboroCity_Text_1E22A5, 4
+ msgbox RustboroCity_Text_1E22A5, MSGBOX_DEFAULT
closemessage
setflag FLAG_HAS_MATCH_CALL
applymovement 15, RustboroCity_Movement_2725A4
@@ -65,13 +65,13 @@ RustboroCity_EventScript_1E0715:: @ 81E0715
delay 20
applymovement 15, RustboroCity_Movement_2725AA
waitmovement 0
- msgbox RustboroCity_Text_1E2331, 4
+ msgbox RustboroCity_Text_1E2331, MSGBOX_DEFAULT
closemessage
delay 20
goto RustboroCity_EventScript_1E07BD
RustboroCity_EventScript_1E07AC:: @ 81E07AC
- msgbox RustboroCity_Text_1E2449, 4
+ msgbox RustboroCity_Text_1E2449, MSGBOX_DEFAULT
closemessage
delay 10
goto RustboroCity_EventScript_1E07BD
@@ -92,13 +92,13 @@ RustboroCity_EventScript_1E07BD:: @ 81E07BD
special sub_81C72A4
waitstate
delay 20
- msgbox RustboroCity_Text_1E2464, 4
+ msgbox RustboroCity_Text_1E2464, MSGBOX_DEFAULT
closemessage
applymovement 15, RustboroCity_Movement_1E085D
waitmovement 0
playse SE_KAIDAN
removeobject 15
- setflag FLAG_0x34C
+ setflag FLAG_HIDE_RUSTBORO_CITY_SCIENTIST
setvar VAR_0x405A, 7
clearflag FLAG_SPECIAL_FLAG_0x4000
releaseall
@@ -136,24 +136,24 @@ RustboroCity_EventScript_1E085F:: @ 81E085F
faceplayer
checkflag FLAG_0x08E
goto_eq RustboroCity_EventScript_1E0874
- msgbox RustboroCity_Text_1E123F, 4
+ msgbox RustboroCity_Text_1E123F, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_1E0874:: @ 81E0874
- msgbox RustboroCity_Text_1E12AC, 4
+ msgbox RustboroCity_Text_1E12AC, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_1E087E:: @ 81E087E
lock
faceplayer
- msgbox RustboroCity_Text_1E1407, 4
+ msgbox RustboroCity_Text_1E1407, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_1E088A:: @ 81E088A
- msgbox RustboroCity_Text_1E1480, 2
+ msgbox RustboroCity_Text_1E1480, MSGBOX_NPC
end
RustboroCity_EventScript_1E0893:: @ 81E0893
@@ -161,12 +161,12 @@ RustboroCity_EventScript_1E0893:: @ 81E0893
faceplayer
checkflag FLAG_BADGE01_GET
goto_eq RustboroCity_EventScript_1E08A8
- msgbox RustboroCity_Text_1E130D, 4
+ msgbox RustboroCity_Text_1E130D, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_1E08A8:: @ 81E08A8
- msgbox RustboroCity_Text_1E139E, 4
+ msgbox RustboroCity_Text_1E139E, MSGBOX_DEFAULT
release
end
@@ -175,55 +175,55 @@ RustboroCity_EventScript_1E08B2:: @ 81E08B2
faceplayer
checkflag FLAG_0x0BC
goto_eq RustboroCity_EventScript_1E08C7
- msgbox RustboroCity_Text_1E1520, 4
+ msgbox RustboroCity_Text_1E1520, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_1E08C7:: @ 81E08C7
- msgbox RustboroCity_Text_1E1589, 4
+ msgbox RustboroCity_Text_1E1589, MSGBOX_DEFAULT
release
end
RustboroCity_EventScript_1E08D1:: @ 81E08D1
- msgbox RustboroCity_Text_1E1633, 2
+ msgbox RustboroCity_Text_1E1633, MSGBOX_NPC
end
RustboroCity_EventScript_1E08DA:: @ 81E08DA
- msgbox RustboroCity_Text_1E1695, 3
+ msgbox RustboroCity_Text_1E1695, MSGBOX_SIGN
end
RustboroCity_EventScript_1E08E3:: @ 81E08E3
- msgbox RustboroCity_Text_1E20A6, 3
+ msgbox RustboroCity_Text_1E20A6, MSGBOX_SIGN
end
RustboroCity_EventScript_1E08EC:: @ 81E08EC
- msgbox RustboroCity_Text_1E2128, 3
+ msgbox RustboroCity_Text_1E2128, MSGBOX_SIGN
end
RustboroCity_EventScript_1E08F5:: @ 81E08F5
- msgbox RustboroCity_Text_1E2167, 3
+ msgbox RustboroCity_Text_1E2167, MSGBOX_SIGN
end
RustboroCity_EventScript_1E08FE:: @ 81E08FE
- msgbox RustboroCity_Text_1E21B3, 3
+ msgbox RustboroCity_Text_1E21B3, MSGBOX_SIGN
end
RustboroCity_EventScript_1E0907:: @ 81E0907
- msgbox RustboroCity_Text_1E220B, 3
+ msgbox RustboroCity_Text_1E220B, MSGBOX_SIGN
end
RustboroCity_EventScript_1E0910:: @ 81E0910
- msgbox RustboroCity_Text_1E2253, 3
+ msgbox RustboroCity_Text_1E2253, MSGBOX_SIGN
end
RustboroCity_EventScript_1E0919:: @ 81E0919
- msgbox RustboroCity_Text_1E2296, 3
+ msgbox RustboroCity_Text_1E2296, MSGBOX_SIGN
end
RustboroCity_EventScript_1E0922:: @ 81E0922
lock
faceplayer
- msgbox RustboroCity_Text_1E16F4, 4
+ msgbox RustboroCity_Text_1E16F4, MSGBOX_DEFAULT
applymovement 7, RustboroCity_Movement_2725A2
waitmovement 0
release
@@ -232,7 +232,7 @@ RustboroCity_EventScript_1E0922:: @ 81E0922
RustboroCity_EventScript_1E0938:: @ 81E0938
lock
faceplayer
- msgbox RustboroCity_Text_1E174B, 4
+ msgbox RustboroCity_Text_1E174B, MSGBOX_DEFAULT
applymovement 8, RustboroCity_Movement_2725A2
waitmovement 0
release
@@ -241,7 +241,7 @@ RustboroCity_EventScript_1E0938:: @ 81E0938
RustboroCity_EventScript_1E094E:: @ 81E094E
lock
faceplayer
- msgbox RustboroCity_Text_1E1789, 4
+ msgbox RustboroCity_Text_1E1789, MSGBOX_DEFAULT
release
end
@@ -286,7 +286,7 @@ RustboroCity_EventScript_1E09B6:: @ 81E09B6
end
RustboroCity_EventScript_1E09CD:: @ 81E09CD
- msgbox RustboroCity_Text_1E17FE, 4
+ msgbox RustboroCity_Text_1E17FE, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 0
addobject 10
@@ -296,32 +296,32 @@ RustboroCity_EventScript_1E09CD:: @ 81E09CD
removeobject 10
applymovement 9, RustboroCity_Movement_1E0AB1
waitmovement 0
- msgbox RustboroCity_Text_1E1817, 4
+ msgbox RustboroCity_Text_1E1817, MSGBOX_DEFAULT
closemessage
applymovement 9, RustboroCity_Movement_1E0AB9
waitmovement 0
fadedefaultbgm
removeobject 9
setobjectxyperm 9, 30, 10
- clearflag FLAG_0x2DC
+ clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
setflag FLAG_0x08E
setvar VAR_0x405A, 2
setvar VAR_RUSTURF_TUNNEL_STATE, 2
setvar VAR_0x406F, 1
- clearflag FLAG_0x37B
- clearflag FLAG_0x370
- clearflag FLAG_0x36E
- setflag FLAG_0x2E3
- setflag FLAG_0x371
+ clearflag FLAG_HIDE_ROUTE_116_MR_BRINEY
+ clearflag FLAG_HIDE_RUSTURF_TUNNEL_PEEKO
+ clearflag FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT
+ setflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ setflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
releaseall
end
RustboroCity_EventScript_1E0A3B:: @ 81E0A3B
- msgbox RustboroCity_Text_1E1904, 4
+ msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT
return
RustboroCity_EventScript_1E0A44:: @ 81E0A44
- msgbox RustboroCity_Text_1E194D, 4
+ msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT
return
RustboroCity_EventScript_1E0A4D:: @ 81E0A4D
@@ -453,7 +453,7 @@ RustboroCity_EventScript_1E0ADD:: @ 81E0ADD
faceplayer
checkflag FLAG_0x08F
goto_eq RustboroCity_EventScript_1E0AF2
- msgbox RustboroCity_Text_1E1904, 4
+ msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT
release
end
@@ -499,7 +499,7 @@ RustboroCity_EventScript_1E0B2E:: @ 81E0B2E
setflag FLAG_0x09F
setvar VAR_0x405A, 3
moveobjectoffscreen 9
- msgbox RustboroCity_Text_1E183E, 4
+ msgbox RustboroCity_Text_1E183E, MSGBOX_DEFAULT
releaseall
end
@@ -592,14 +592,14 @@ RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
call_if 1, RustboroCity_EventScript_1E0D60
compare VAR_TEMP_1, 4
call_if 1, RustboroCity_EventScript_1E0D96
- msgbox RustboroCity_Text_1E194D, 4
+ msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT
giveitem_std ITEM_GREAT_BALL
compare VAR_RESULT, 0
call_if 1, RustboroCity_EventScript_1E0CD3
- msgbox RustboroCity_Text_1E1A21, 4
+ msgbox RustboroCity_Text_1E1A21, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x090
- setflag FLAG_0x2DC
+ setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1
setvar VAR_0x405A, 5
delay 30
warp MAP_RUSTBORO_CITY_DEVON_CORP_3F, 255, 2, 2
@@ -608,7 +608,7 @@ RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
end
RustboroCity_EventScript_1E0CD3:: @ 81E0CD3
- msgbox RustboroCity_Text_1E19E5, 4
+ msgbox RustboroCity_Text_1E19E5, MSGBOX_DEFAULT
return
RustboroCity_EventScript_1E0CDC:: @ 81E0CDC
@@ -838,11 +838,11 @@ RustboroCity_EventScript_1E100B:: @ 81E100B
checkflag FLAG_0x120
goto_eq RustboroCity_EventScript_1E1070
setflag FLAG_0x120
- msgbox RustboroCity_Text_1E1A49, 4
+ msgbox RustboroCity_Text_1E1A49, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox RustboroCity_Text_1E1ADB, 4
+ msgbox RustboroCity_Text_1E1ADB, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -850,25 +850,25 @@ RustboroCity_EventScript_1E100B:: @ 81E100B
setvar VAR_0x405A, 8
setvar VAR_0x4063, 2
setvar VAR_0x8008, 0
- msgbox RustboroCity_Text_1E1AFA, 5
+ msgbox RustboroCity_Text_1E1AFA, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq RustboroCity_EventScript_1E1092
- msgbox RustboroCity_Text_1E1BD3, 4
+ msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT
call RustboroCity_EventScript_1E10D6
releaseall
end
RustboroCity_EventScript_1E1070:: @ 81E1070
setvar VAR_0x8008, 1
- msgbox RustboroCity_Text_1E1C48, 5
+ msgbox RustboroCity_Text_1E1C48, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq RustboroCity_EventScript_1E1092
- msgbox RustboroCity_Text_1E1BD3, 4
+ msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT
releaseall
end
RustboroCity_EventScript_1E1092:: @ 81E1092
- msgbox RustboroCity_Text_1E1C84, 4
+ msgbox RustboroCity_Text_1E1C84, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, RustboroCity_EventScript_1E10DB
case 1, RustboroCity_EventScript_1E10EE
@@ -876,7 +876,7 @@ RustboroCity_EventScript_1E1092:: @ 81E1092
end
RustboroCity_EventScript_1E10C1:: @ 81E10C1
- msgbox RustboroCity_Text_1E1CE7, 4
+ msgbox RustboroCity_Text_1E1CE7, MSGBOX_DEFAULT
compare VAR_0x8008, 0
call_if 1, RustboroCity_EventScript_1E10D6
releaseall
@@ -888,19 +888,19 @@ RustboroCity_EventScript_1E10D6:: @ 81E10D6
return
RustboroCity_EventScript_1E10DB:: @ 81E10DB
- trainerbattle 3, TRAINER_MAY_14, 0, RustboroCity_Text_1E1CC1
+ trainerbattle_no_intro TRAINER_MAY_14, RustboroCity_Text_1E1CC1
setflag FLAG_0x0D3
goto RustboroCity_EventScript_1E10C1
end
RustboroCity_EventScript_1E10EE:: @ 81E10EE
- trainerbattle 3, TRAINER_MAY_15, 0, RustboroCity_Text_1E1CC1
+ trainerbattle_no_intro TRAINER_MAY_15, RustboroCity_Text_1E1CC1
setflag FLAG_0x0D3
goto RustboroCity_EventScript_1E10C1
end
RustboroCity_EventScript_1E1101:: @ 81E1101
- trainerbattle 3, TRAINER_MAY_10, 0, RustboroCity_Text_1E1CC1
+ trainerbattle_no_intro TRAINER_MAY_10, RustboroCity_Text_1E1CC1
setflag FLAG_0x0D3
goto RustboroCity_EventScript_1E10C1
end
@@ -911,35 +911,35 @@ RustboroCity_EventScript_1E1114:: @ 81E1114
checkflag FLAG_0x120
goto_eq RustboroCity_EventScript_1E1174
setflag FLAG_0x120
- msgbox RustboroCity_Text_1E1D7D, 4
+ msgbox RustboroCity_Text_1E1D7D, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox RustboroCity_Text_1E1E11, 4
+ msgbox RustboroCity_Text_1E1E11, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_0x0FD
setvar VAR_0x405A, 8
setvar VAR_0x4063, 2
- msgbox RustboroCity_Text_1E1E34, 5
+ msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq RustboroCity_EventScript_1E1191
- msgbox RustboroCity_Text_1E1F2F, 4
+ msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT
call RustboroCity_EventScript_1E10D6
releaseall
end
RustboroCity_EventScript_1E1174:: @ 81E1174
- msgbox RustboroCity_Text_1E1F76, 5
+ msgbox RustboroCity_Text_1E1F76, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq RustboroCity_EventScript_1E1191
- msgbox RustboroCity_Text_1E1F2F, 4
+ msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT
releaseall
end
RustboroCity_EventScript_1E1191:: @ 81E1191
- msgbox RustboroCity_Text_1E1FA9, 4
+ msgbox RustboroCity_Text_1E1FA9, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, RustboroCity_EventScript_1E11D5
case 1, RustboroCity_EventScript_1E11E8
@@ -947,26 +947,26 @@ RustboroCity_EventScript_1E1191:: @ 81E1191
end
RustboroCity_EventScript_1E11C0:: @ 81E11C0
- msgbox RustboroCity_Text_1E2002, 4
+ msgbox RustboroCity_Text_1E2002, MSGBOX_DEFAULT
compare VAR_0x8008, 0
call_if 1, RustboroCity_EventScript_1E10D6
releaseall
end
RustboroCity_EventScript_1E11D5:: @ 81E11D5
- trainerbattle 3, TRAINER_BRENDAN_10, 0, RustboroCity_Text_1E1FE9
+ trainerbattle_no_intro TRAINER_BRENDAN_10, RustboroCity_Text_1E1FE9
setflag FLAG_0x0D3
goto RustboroCity_EventScript_1E11C0
end
RustboroCity_EventScript_1E11E8:: @ 81E11E8
- trainerbattle 3, TRAINER_BRENDAN_12, 0, RustboroCity_Text_1E1FE9
+ trainerbattle_no_intro TRAINER_BRENDAN_12, RustboroCity_Text_1E1FE9
setflag FLAG_0x0D3
goto RustboroCity_EventScript_1E11C0
end
RustboroCity_EventScript_1E11FB:: @ 81E11FB
- trainerbattle 3, TRAINER_BRENDAN_11, 0, RustboroCity_Text_1E1FE9
+ trainerbattle_no_intro TRAINER_BRENDAN_11, RustboroCity_Text_1E1FE9
setflag FLAG_0x0D3
goto RustboroCity_EventScript_1E11C0
end
@@ -1028,7 +1028,7 @@ RustboroCity_Movement_1E1230: @ 81E1230
step_end
RustboroCity_EventScript_1E1236:: @ 81E1236
- msgbox RustboroCity_Text_1E249D, 2
+ msgbox RustboroCity_Text_1E249D, MSGBOX_NPC
end
RustboroCity_Text_1E123F: @ 81E123F
diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc
index e5c7527f7..6736af297 100644
--- a/data/maps/RustboroCity_CuttersHouse/scripts.inc
+++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc
@@ -6,20 +6,20 @@ RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4
faceplayer
checkflag FLAG_0x089
goto_eq RustboroCity_CuttersHouse_EventScript_215C00
- msgbox RustboroCity_CuttersHouse_Text_215C13, 4
+ msgbox RustboroCity_CuttersHouse_Text_215C13, MSGBOX_DEFAULT
giveitem_std ITEM_HM01
setflag FLAG_0x089
- msgbox RustboroCity_CuttersHouse_Text_215D33, 4
+ msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT
release
end
RustboroCity_CuttersHouse_EventScript_215C00:: @ 8215C00
- msgbox RustboroCity_CuttersHouse_Text_215D33, 4
+ msgbox RustboroCity_CuttersHouse_Text_215D33, MSGBOX_DEFAULT
release
end
RustboroCity_CuttersHouse_EventScript_215C0A:: @ 8215C0A
- msgbox RustboroCity_CuttersHouse_Text_215E39, 2
+ msgbox RustboroCity_CuttersHouse_Text_215E39, MSGBOX_NPC
end
RustboroCity_CuttersHouse_Text_215C13: @ 8215C13
diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
index 97d7dcf78..b5af318e8 100644
--- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
@@ -19,17 +19,17 @@ RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261
goto_eq RustboroCity_DevonCorp_1F_EventScript_211289
checkflag FLAG_0x08E
goto_eq RustboroCity_DevonCorp_1F_EventScript_21127F
- msgbox RustboroCity_DevonCorp_1F_Text_2113D1, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_2113D1, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_21127F:: @ 821127F
- msgbox RustboroCity_DevonCorp_1F_Text_211446, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_211446, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289
- msgbox RustboroCity_DevonCorp_1F_Text_2114DE, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_2114DE, MSGBOX_DEFAULT
release
end
@@ -42,17 +42,17 @@ RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293
goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4
checkflag FLAG_0x08E
goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4
- msgbox RustboroCity_DevonCorp_1F_Text_21151B, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_21151B, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_2112BA:: @ 82112BA
- msgbox RustboroCity_DevonCorp_1F_Text_211585, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_211585, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4
- msgbox RustboroCity_DevonCorp_1F_Text_211558, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_211558, MSGBOX_DEFAULT
release
end
@@ -65,26 +65,26 @@ RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE
goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF
checkflag FLAG_0x08E
goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF
- msgbox RustboroCity_DevonCorp_1F_Text_21131B, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_2112F5:: @ 82112F5
- msgbox RustboroCity_DevonCorp_1F_Text_21131B, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_2112FF:: @ 82112FF
- msgbox RustboroCity_DevonCorp_1F_Text_21138B, 4
+ msgbox RustboroCity_DevonCorp_1F_Text_21138B, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_1F_EventScript_211309:: @ 8211309
- msgbox RustboroCity_DevonCorp_1F_Text_2115AC, 3
+ msgbox RustboroCity_DevonCorp_1F_Text_2115AC, MSGBOX_SIGN
end
RustboroCity_DevonCorp_1F_EventScript_211312:: @ 8211312
- msgbox RustboroCity_DevonCorp_1F_Text_211722, 3
+ msgbox RustboroCity_DevonCorp_1F_Text_211722, MSGBOX_SIGN
end
RustboroCity_DevonCorp_1F_Text_21131B: @ 821131B
diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
index 88f0c2e73..c656fcac4 100644
--- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
@@ -16,7 +16,7 @@ RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F
faceplayer
compare VAR_0x40C4, 1
call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
- msgbox RustboroCity_DevonCorp_2F_Text_211BFB, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211BFB, MSGBOX_DEFAULT
release
end
@@ -27,12 +27,12 @@ RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886
call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
checkflag FLAG_0x11F
goto_eq RustboroCity_DevonCorp_2F_EventScript_2118A6
- msgbox RustboroCity_DevonCorp_2F_Text_211C50, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211C50, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_2F_EventScript_2118A6:: @ 82118A6
- msgbox RustboroCity_DevonCorp_2F_Text_211C99, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211C99, MSGBOX_DEFAULT
release
end
@@ -43,12 +43,12 @@ RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0
call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
checkflag FLAG_0x0BC
goto_eq RustboroCity_DevonCorp_2F_EventScript_2118D0
- msgbox RustboroCity_DevonCorp_2F_Text_211D9F, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211D9F, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_2F_EventScript_2118D0:: @ 82118D0
- msgbox RustboroCity_DevonCorp_2F_Text_211DF3, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211DF3, MSGBOX_DEFAULT
release
end
@@ -57,7 +57,7 @@ RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA
faceplayer
compare VAR_0x40C4, 1
call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
- msgbox RustboroCity_DevonCorp_2F_Text_211EE0, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211EE0, MSGBOX_DEFAULT
release
end
@@ -68,7 +68,7 @@ RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1
goto_eq RustboroCity_DevonCorp_2F_EventScript_211A03
compare VAR_0x40C4, 1
goto_eq RustboroCity_DevonCorp_2F_EventScript_2119F9
- msgbox RustboroCity_DevonCorp_2F_Text_211F48, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_211F48, MSGBOX_DEFAULT
checkitem ITEM_ROOT_FOSSIL, 1
compare VAR_RESULT, 1
goto_eq RustboroCity_DevonCorp_2F_EventScript_211933
@@ -85,7 +85,7 @@ RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933
waitmovement 0
applymovement 5, RustboroCity_DevonCorp_2F_Movement_27259A
waitmovement 0
- msgbox RustboroCity_DevonCorp_2F_Text_211FA6, 5
+ msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
checkitem ITEM_CLAW_FOSSIL, 1
@@ -96,7 +96,7 @@ RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933
RustboroCity_DevonCorp_2F_EventScript_211974:: @ 8211974
bufferitemname 0, ITEM_ROOT_FOSSIL
- msgbox RustboroCity_DevonCorp_2F_Text_212153, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212153, MSGBOX_DEFAULT
takeitem ITEM_ROOT_FOSSIL, 1
setvar VAR_0x40C4, 1
setvar VAR_0x40C5, 1
@@ -110,7 +110,7 @@ RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991
waitmovement 0
applymovement 5, RustboroCity_DevonCorp_2F_Movement_27259A
waitmovement 0
- msgbox RustboroCity_DevonCorp_2F_Text_211FA6, 5
+ msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
checkitem ITEM_ROOT_FOSSIL, 1
@@ -121,7 +121,7 @@ RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991
RustboroCity_DevonCorp_2F_EventScript_2119D2:: @ 82119D2
bufferitemname 0, ITEM_CLAW_FOSSIL
- msgbox RustboroCity_DevonCorp_2F_Text_212153, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212153, MSGBOX_DEFAULT
takeitem ITEM_CLAW_FOSSIL, 1
setvar VAR_0x40C4, 1
setvar VAR_0x40C5, 2
@@ -129,12 +129,12 @@ RustboroCity_DevonCorp_2F_EventScript_2119D2:: @ 82119D2
end
RustboroCity_DevonCorp_2F_EventScript_2119EF:: @ 82119EF
- msgbox RustboroCity_DevonCorp_2F_Text_212046, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212046, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9
- msgbox RustboroCity_DevonCorp_2F_Text_2121A2, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_2121A2, MSGBOX_DEFAULT
release
end
@@ -147,13 +147,13 @@ RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03
RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A
bufferspeciesname 1, SPECIES_LILEEP
- msgbox RustboroCity_DevonCorp_2F_Text_212251, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212251, MSGBOX_DEFAULT
goto RustboroCity_DevonCorp_2F_EventScript_211A3E
end
RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C
bufferspeciesname 1, SPECIES_ANORITH
- msgbox RustboroCity_DevonCorp_2F_Text_212251, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212251, MSGBOX_DEFAULT
goto RustboroCity_DevonCorp_2F_EventScript_211AE1
end
@@ -169,7 +169,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E
RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
call RustboroCity_DevonCorp_2F_EventScript_211AC4
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_2F_EventScript_211AD7
call RustboroCity_DevonCorp_2F_EventScript_27378B
@@ -179,7 +179,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96
call RustboroCity_DevonCorp_2F_EventScript_211AC4
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_2F_EventScript_211AB9
call RustboroCity_DevonCorp_2F_EventScript_273797
@@ -218,7 +218,7 @@ RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1
RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
call RustboroCity_DevonCorp_2F_EventScript_211B67
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_2F_EventScript_211B7A
call RustboroCity_DevonCorp_2F_EventScript_27378B
@@ -228,7 +228,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39
call RustboroCity_DevonCorp_2F_EventScript_211B67
- msgbox gUnknown_08273374, 5
+ msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_2F_EventScript_211B5C
call RustboroCity_DevonCorp_2F_EventScript_273797
@@ -285,12 +285,12 @@ RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF
call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
compare VAR_0x405A, 6
goto_if 4, RustboroCity_DevonCorp_2F_EventScript_211BF1
- msgbox RustboroCity_DevonCorp_2F_Text_212338, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212338, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_2F_EventScript_211BF1:: @ 8211BF1
- msgbox RustboroCity_DevonCorp_2F_Text_212386, 4
+ msgbox RustboroCity_DevonCorp_2F_Text_212386, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_DevonCorp_3F/events.inc b/data/maps/RustboroCity_DevonCorp_3F/events.inc
index 164391cf6..df8ba0293 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/events.inc
+++ b/data/maps/RustboroCity_DevonCorp_3F/events.inc
@@ -1,6 +1,6 @@
RustboroCity_DevonCorp_3F_EventObjects: @ 85304BC
object_event 1, EVENT_OBJ_GFX_GENTLEMAN, 0, 17, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_21256C, 0
- object_event 2, EVENT_OBJ_GFX_MAN_2, 0, 3, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_2125E1, 949
+ object_event 2, EVENT_OBJ_GFX_MAN_2, 0, 3, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_2125E1, FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
object_event 3, EVENT_OBJ_GFX_GENTLEMAN, 0, 15, 5, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, RustboroCity_DevonCorp_3F_EventScript_21256C, 0
RustboroCity_DevonCorp_3F_MapWarps: @ 8530504
diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
index ffc2614cb..f7681a6f6 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
@@ -28,45 +28,45 @@ RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464
RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E
lockall
- msgbox RustboroCity_DevonCorp_3F_Text_212C37, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212C37, MSGBOX_DEFAULT
closemessage
applymovement 2, RustboroCity_DevonCorp_3F_Movement_212546
waitmovement 0
delay 80
applymovement 2, RustboroCity_DevonCorp_3F_Movement_21254F
waitmovement 0
- msgbox RustboroCity_DevonCorp_3F_Text_212DE8, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212DE8, MSGBOX_DEFAULT
closemessage
playbgm MUS_TSURETEK, 0
applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534
applymovement 255, RustboroCity_DevonCorp_3F_Movement_212558
waitmovement 0
- msgbox RustboroCity_DevonCorp_3F_Text_212E2F, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212E2F, MSGBOX_DEFAULT
closemessage
fadedefaultbgm
applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543
applymovement 255, RustboroCity_DevonCorp_3F_Movement_212566
waitmovement 0
- msgbox RustboroCity_DevonCorp_3F_Text_212609, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212609, MSGBOX_DEFAULT
giveitem_std ITEM_LETTER
- msgbox RustboroCity_DevonCorp_3F_Text_21277C, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_21277C, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message RustboroCity_DevonCorp_3F_Text_212820
waitfanfare
setflag FLAG_SYS_POKENAV_GET
setflag FLAG_0x0BC
- setflag FLAG_0x3E7
- msgbox RustboroCity_DevonCorp_3F_Text_212837, 4
+ setflag FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT
+ msgbox RustboroCity_DevonCorp_3F_Text_212837, MSGBOX_DEFAULT
closemessage
call RustboroCity_DevonCorp_3F_EventScript_272083
- msgbox RustboroCity_DevonCorp_3F_Text_2129D2, 4
- setflag FLAG_0x37E
- clearflag FLAG_0x327
- clearflag FLAG_0x3D7
- clearflag FLAG_0x2E3
- clearflag FLAG_0x371
+ msgbox RustboroCity_DevonCorp_3F_Text_2129D2, MSGBOX_DEFAULT
+ setflag FLAG_HIDE_ROUTE_116_TUNNELER
+ clearflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN
+ clearflag FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN
+ clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
+ clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
setvar VAR_0x4096, 1
- clearflag FLAG_0x32E
+ clearflag FLAG_HIDE_RUSBORO_CITY_RIVAL
setvar VAR_0x408F, 1
setvar VAR_0x405A, 6
releaseall
@@ -154,7 +154,7 @@ RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C
goto_eq RustboroCity_DevonCorp_3F_EventScript_2125CC
checkflag FLAG_0x0BD
goto_eq RustboroCity_DevonCorp_3F_EventScript_212595
- msgbox RustboroCity_DevonCorp_3F_Text_212A09, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212A09, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
waitmovement 0
@@ -162,12 +162,12 @@ RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C
end
RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595
- msgbox RustboroCity_DevonCorp_3F_Text_212A29, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212A29, MSGBOX_DEFAULT
giveitem_std ITEM_EXP_SHARE
compare VAR_RESULT, 0
goto_eq RustboroCity_DevonCorp_3F_EventScript_272054
setflag FLAG_0x110
- msgbox RustboroCity_DevonCorp_3F_Text_212A9E, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212A9E, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
waitmovement 0
@@ -175,7 +175,7 @@ RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595
end
RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC
- msgbox RustboroCity_DevonCorp_3F_Text_212B78, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212B78, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
waitmovement 0
@@ -187,17 +187,17 @@ RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1
faceplayer
checkflag FLAG_0x100
goto_eq RustboroCity_DevonCorp_3F_EventScript_2125F6
- msgbox RustboroCity_DevonCorp_3F_Text_212E41, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212E41, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_3F_EventScript_2125F6:: @ 82125F6
- msgbox RustboroCity_DevonCorp_3F_Text_212E88, 4
+ msgbox RustboroCity_DevonCorp_3F_Text_212E88, MSGBOX_DEFAULT
release
end
RustboroCity_DevonCorp_3F_EventScript_212600:: @ 8212600
- msgbox RustboroCity_DevonCorp_3F_Text_212EE9, 3
+ msgbox RustboroCity_DevonCorp_3F_Text_212EE9, MSGBOX_SIGN
end
RustboroCity_DevonCorp_3F_Text_212609: @ 8212609
diff --git a/data/maps/RustboroCity_Flat1_1F/scripts.inc b/data/maps/RustboroCity_Flat1_1F/scripts.inc
index 947ea14d3..9cff0b010 100644
--- a/data/maps/RustboroCity_Flat1_1F/scripts.inc
+++ b/data/maps/RustboroCity_Flat1_1F/scripts.inc
@@ -2,11 +2,11 @@ RustboroCity_Flat1_1F_MapScripts:: @ 82150CD
.byte 0
RustboroCity_Flat1_1F_EventScript_2150CE:: @ 82150CE
- msgbox RustboroCity_Flat1_1F_Text_2150E0, 2
+ msgbox RustboroCity_Flat1_1F_Text_2150E0, MSGBOX_NPC
end
RustboroCity_Flat1_1F_EventScript_2150D7:: @ 82150D7
- msgbox RustboroCity_Flat1_1F_Text_215115, 2
+ msgbox RustboroCity_Flat1_1F_Text_215115, MSGBOX_NPC
end
RustboroCity_Flat1_1F_Text_2150E0: @ 82150E0
diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc
index 425d61f52..2113da526 100644
--- a/data/maps/RustboroCity_Flat1_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc
@@ -25,50 +25,50 @@ RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157
end
RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D
- msgbox RustboroCity_Flat1_2F_Text_2152FA, 5
+ msgbox RustboroCity_Flat1_2F_Text_2152FA, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_Flat1_2F_EventScript_2151CD
- msgbox RustboroCity_Flat1_2F_Text_2154AD, 4
+ 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, 5
+ msgbox RustboroCity_Flat1_2F_Text_215448, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_Flat1_2F_EventScript_2151CD
- msgbox RustboroCity_Flat1_2F_Text_2154AD, 4
+ msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT
goto RustboroCity_Flat1_2F_EventScript_215157
RustboroCity_Flat1_2F_EventScript_2151CD:: @ 82151CD
- msgbox RustboroCity_Flat1_2F_Text_2154E7, 4
+ msgbox RustboroCity_Flat1_2F_Text_2154E7, MSGBOX_DEFAULT
release
end
RustboroCity_Flat1_2F_EventScript_2151D7:: @ 82151D7
- msgbox RustboroCity_Flat1_2F_Text_2156E3, 4
+ msgbox RustboroCity_Flat1_2F_Text_2156E3, MSGBOX_DEFAULT
release
end
RustboroCity_Flat1_2F_EventScript_2151E1:: @ 82151E1
- msgbox RustboroCity_Flat1_2F_Text_21561E, 4
+ msgbox RustboroCity_Flat1_2F_Text_21561E, MSGBOX_DEFAULT
call RustboroCity_Flat1_2F_EventScript_215238
- msgbox RustboroCity_Flat1_2F_Text_215699, 4
+ msgbox RustboroCity_Flat1_2F_Text_215699, MSGBOX_DEFAULT
release
end
RustboroCity_Flat1_2F_EventScript_2151F8:: @ 82151F8
- msgbox RustboroCity_Flat1_2F_Text_215535, 4
+ msgbox RustboroCity_Flat1_2F_Text_215535, MSGBOX_DEFAULT
call RustboroCity_Flat1_2F_EventScript_215238
- msgbox RustboroCity_Flat1_2F_Text_215565, 4
+ msgbox RustboroCity_Flat1_2F_Text_215565, MSGBOX_DEFAULT
applymovement 6, RustboroCity_Flat1_2F_Movement_27259E
waitmovement 0
- msgbox RustboroCity_Flat1_2F_Text_215792, 4
+ msgbox RustboroCity_Flat1_2F_Text_215792, MSGBOX_DEFAULT
release
end
RustboroCity_Flat1_2F_EventScript_215221:: @ 8215221
- msgbox RustboroCity_Flat1_2F_Text_2155A4, 4
+ msgbox RustboroCity_Flat1_2F_Text_2155A4, MSGBOX_DEFAULT
call RustboroCity_Flat1_2F_EventScript_215238
- msgbox RustboroCity_Flat1_2F_Text_2155D4, 4
+ msgbox RustboroCity_Flat1_2F_Text_2155D4, MSGBOX_DEFAULT
release
end
@@ -77,11 +77,11 @@ RustboroCity_Flat1_2F_EventScript_215238:: @ 8215238
return
RustboroCity_Flat1_2F_EventScript_21523D:: @ 821523D
- msgbox RustboroCity_Flat1_2F_Text_21524F, 2
+ msgbox RustboroCity_Flat1_2F_Text_21524F, MSGBOX_NPC
end
RustboroCity_Flat1_2F_EventScript_215246:: @ 8215246
- msgbox RustboroCity_Flat1_2F_Text_215923, 3
+ msgbox RustboroCity_Flat1_2F_Text_215923, MSGBOX_SIGN
end
RustboroCity_Flat1_2F_Text_21524F: @ 821524F
diff --git a/data/maps/RustboroCity_Flat2_1F/scripts.inc b/data/maps/RustboroCity_Flat2_1F/scripts.inc
index fbb174a29..184ccdb72 100644
--- a/data/maps/RustboroCity_Flat2_1F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_1F/scripts.inc
@@ -2,7 +2,7 @@ RustboroCity_Flat2_1F_MapScripts:: @ 8215F76
.byte 0
RustboroCity_Flat2_1F_EventScript_215F77:: @ 8215F77
- msgbox RustboroCity_Flat2_1F_Text_215F93, 2
+ msgbox RustboroCity_Flat2_1F_Text_215F93, MSGBOX_NPC
end
RustboroCity_Flat2_1F_EventScript_215F80:: @ 8215F80
@@ -10,7 +10,7 @@ RustboroCity_Flat2_1F_EventScript_215F80:: @ 8215F80
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox RustboroCity_Flat2_1F_Text_215FC6, 4
+ msgbox RustboroCity_Flat2_1F_Text_215FC6, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc
index e623aa485..9835f3622 100644
--- a/data/maps/RustboroCity_Flat2_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc
@@ -2,7 +2,7 @@ RustboroCity_Flat2_2F_MapScripts:: @ 8215FD7
.byte 0
RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8
- msgbox RustboroCity_Flat2_2F_Text_21601A, 2
+ msgbox RustboroCity_Flat2_2F_Text_21601A, MSGBOX_NPC
end
RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1
@@ -10,7 +10,7 @@ RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1
faceplayer
checkflag FLAG_0x0D5
goto_eq RustboroCity_Flat2_2F_EventScript_216010
- msgbox RustboroCity_Flat2_2F_Text_21605A, 4
+ msgbox RustboroCity_Flat2_2F_Text_21605A, MSGBOX_DEFAULT
giveitem_std ITEM_PREMIER_BALL
compare VAR_RESULT, 0
goto_eq RustboroCity_Flat2_2F_EventScript_272054
@@ -19,7 +19,7 @@ RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1
end
RustboroCity_Flat2_2F_EventScript_216010:: @ 8216010
- msgbox RustboroCity_Flat2_2F_Text_2160BD, 4
+ msgbox RustboroCity_Flat2_2F_Text_2160BD, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_Flat2_3F/scripts.inc b/data/maps/RustboroCity_Flat2_3F/scripts.inc
index 6a267c336..c38e46cbf 100644
--- a/data/maps/RustboroCity_Flat2_3F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_3F/scripts.inc
@@ -2,11 +2,11 @@ RustboroCity_Flat2_3F_MapScripts:: @ 8216116
.byte 0
RustboroCity_Flat2_3F_EventScript_216117:: @ 8216117
- msgbox RustboroCity_Flat2_3F_Text_216129, 2
+ msgbox RustboroCity_Flat2_3F_Text_216129, MSGBOX_NPC
end
RustboroCity_Flat2_3F_EventScript_216120:: @ 8216120
- msgbox RustboroCity_Flat2_3F_Text_216159, 2
+ msgbox RustboroCity_Flat2_3F_Text_216159, MSGBOX_NPC
end
RustboroCity_Flat2_3F_Text_216129: @ 8216129
diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc
index 1d722b7de..f39374c64 100644
--- a/data/maps/RustboroCity_Gym/scripts.inc
+++ b/data/maps/RustboroCity_Gym/scripts.inc
@@ -2,13 +2,13 @@ RustboroCity_Gym_MapScripts:: @ 8212F30
.byte 0
RustboroCity_Gym_EventScript_212F31:: @ 8212F31
- trainerbattle 1, TRAINER_ROXANNE_1, 0, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66
+ 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
- msgbox RustboroCity_Gym_Text_2139A7, 4
+ msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT
release
end
@@ -16,7 +16,7 @@ RustboroCity_Gym_EventScript_212F66:: @ 8212F66
message RustboroCity_Gym_Text_2137EC
waitmessage
call RustboroCity_Gym_EventScript_27207E
- msgbox RustboroCity_Gym_Text_213816, 4
+ msgbox RustboroCity_Gym_Text_213816, MSGBOX_DEFAULT
setflag FLAG_0x4F0
setflag FLAG_BADGE01_GET
setvar VAR_0x405A, 1
@@ -33,28 +33,28 @@ RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4
compare VAR_RESULT, 0
goto_eq RustboroCity_Gym_EventScript_272054
setflag FLAG_0x0A5
- msgbox RustboroCity_Gym_Text_2138B1, 4
+ msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT
release
end
RustboroCity_Gym_EventScript_212FC8:: @ 8212FC8
- trainerbattle 7, TRAINER_ROXANNE_1, 0, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93
- msgbox RustboroCity_Gym_Text_213D12, 6
+ trainerbattle_rematch_double TRAINER_ROXANNE_1, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93
+ msgbox RustboroCity_Gym_Text_213D12, MSGBOX_AUTOCLOSE
end
RustboroCity_Gym_EventScript_212FE3:: @ 8212FE3
- trainerbattle 0, TRAINER_JOSH, 0, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D
- msgbox RustboroCity_Gym_Text_213447, 6
+ trainerbattle_single TRAINER_JOSH, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D
+ msgbox RustboroCity_Gym_Text_213447, MSGBOX_AUTOCLOSE
end
RustboroCity_Gym_EventScript_212FFA:: @ 8212FFA
- trainerbattle 0, TRAINER_TOMMY, 0, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6
- msgbox RustboroCity_Gym_Text_2134E6, 6
+ trainerbattle_single TRAINER_TOMMY, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6
+ msgbox RustboroCity_Gym_Text_2134E6, MSGBOX_AUTOCLOSE
end
RustboroCity_Gym_EventScript_213011:: @ 8213011
- trainerbattle 0, TRAINER_MARC, 0, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589
- msgbox RustboroCity_Gym_Text_2135C0, 6
+ trainerbattle_single TRAINER_MARC, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589
+ msgbox RustboroCity_Gym_Text_2135C0, MSGBOX_AUTOCLOSE
end
RustboroCity_Gym_EventScript_213028:: @ 8213028
@@ -62,12 +62,12 @@ RustboroCity_Gym_EventScript_213028:: @ 8213028
faceplayer
checkflag FLAG_0x4F0
goto_eq RustboroCity_Gym_EventScript_21303D
- msgbox RustboroCity_Gym_Text_21309D, 4
+ msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT
release
end
RustboroCity_Gym_EventScript_21303D:: @ 821303D
- msgbox RustboroCity_Gym_Text_2132E2, 4
+ msgbox RustboroCity_Gym_Text_2132E2, MSGBOX_DEFAULT
release
end
@@ -86,12 +86,12 @@ RustboroCity_Gym_EventScript_213057:: @ 8213057
end
RustboroCity_Gym_EventScript_213067:: @ 8213067
- msgbox RustboroCity_Gym_Text_213A3B, 4
+ msgbox RustboroCity_Gym_Text_213A3B, MSGBOX_DEFAULT
releaseall
end
RustboroCity_Gym_EventScript_213071:: @ 8213071
- msgbox RustboroCity_Gym_Text_213A21, 4
+ msgbox RustboroCity_Gym_Text_213A21, MSGBOX_DEFAULT
releaseall
end
@@ -101,7 +101,7 @@ RustboroCity_Gym_EventScript_21307B:: @ 821307B
waitmessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox RustboroCity_Gym_Text_213C01, 4
+ msgbox RustboroCity_Gym_Text_213C01, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc
index d63536c55..ccf7ef046 100644
--- a/data/maps/RustboroCity_House1/scripts.inc
+++ b/data/maps/RustboroCity_House1/scripts.inc
@@ -10,7 +10,7 @@ RustboroCity_House1_EventScript_21593F:: @ 821593F
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
- msgbox RustboroCity_House1_Text_2159E8, 5
+ msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq RustboroCity_House1_EventScript_2159BD
special sub_81B94B0
@@ -28,29 +28,29 @@ RustboroCity_House1_EventScript_21593F:: @ 821593F
special sub_807EA10
special sub_807F0E4
waitstate
- msgbox RustboroCity_House1_Text_215A77, 4
+ msgbox RustboroCity_House1_Text_215A77, MSGBOX_DEFAULT
setflag FLAG_0x099
release
end
RustboroCity_House1_EventScript_2159BD:: @ 82159BD
- msgbox RustboroCity_House1_Text_215ACE, 4
+ msgbox RustboroCity_House1_Text_215ACE, MSGBOX_DEFAULT
release
end
RustboroCity_House1_EventScript_2159C7:: @ 82159C7
bufferspeciesname 0, VAR_0x8009
- msgbox RustboroCity_House1_Text_215A9D, 4
+ msgbox RustboroCity_House1_Text_215A9D, MSGBOX_DEFAULT
release
end
RustboroCity_House1_EventScript_2159D5:: @ 82159D5
- msgbox RustboroCity_House1_Text_215B17, 4
+ msgbox RustboroCity_House1_Text_215B17, MSGBOX_DEFAULT
release
end
RustboroCity_House1_EventScript_2159DF:: @ 82159DF
- msgbox RustboroCity_House1_Text_215B57, 2
+ msgbox RustboroCity_House1_Text_215B57, MSGBOX_NPC
end
RustboroCity_House1_Text_2159E8: @ 82159E8
diff --git a/data/maps/RustboroCity_House2/scripts.inc b/data/maps/RustboroCity_House2/scripts.inc
index fd71dc016..37f3b4c43 100644
--- a/data/maps/RustboroCity_House2/scripts.inc
+++ b/data/maps/RustboroCity_House2/scripts.inc
@@ -2,11 +2,11 @@ RustboroCity_House2_MapScripts:: @ 8215EB3
.byte 0
RustboroCity_House2_EventScript_215EB4:: @ 8215EB4
- msgbox RustboroCity_House2_Text_215EC6, 2
+ msgbox RustboroCity_House2_Text_215EC6, MSGBOX_NPC
end
RustboroCity_House2_EventScript_215EBD:: @ 8215EBD
- msgbox RustboroCity_House2_Text_215F21, 2
+ msgbox RustboroCity_House2_Text_215F21, MSGBOX_NPC
end
RustboroCity_House2_Text_215EC6: @ 8215EC6
diff --git a/data/maps/RustboroCity_House3/scripts.inc b/data/maps/RustboroCity_House3/scripts.inc
index 87d278099..2d927086e 100644
--- a/data/maps/RustboroCity_House3/scripts.inc
+++ b/data/maps/RustboroCity_House3/scripts.inc
@@ -2,11 +2,11 @@ RustboroCity_House3_MapScripts:: @ 8216190
.byte 0
RustboroCity_House3_EventScript_216191:: @ 8216191
- msgbox RustboroCity_House3_Text_2161B6, 2
+ msgbox RustboroCity_House3_Text_2161B6, MSGBOX_NPC
end
RustboroCity_House3_EventScript_21619A:: @ 821619A
- msgbox RustboroCity_House3_Text_21622A, 2
+ msgbox RustboroCity_House3_Text_21622A, MSGBOX_NPC
end
RustboroCity_House3_EventScript_2161A3:: @ 82161A3
@@ -14,7 +14,7 @@ RustboroCity_House3_EventScript_2161A3:: @ 82161A3
faceplayer
waitse
playmoncry SPECIES_PIKACHU, 0
- msgbox RustboroCity_House3_Text_2162AB, 4
+ msgbox RustboroCity_House3_Text_2162AB, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc
index daa445a0e..ed91cf68e 100644
--- a/data/maps/RustboroCity_Mart/scripts.inc
+++ b/data/maps/RustboroCity_Mart/scripts.inc
@@ -14,7 +14,7 @@ RustboroCity_Mart_EventScript_214F06:: @ 8214F06
RustboroCity_Mart_EventScript_214F21:: @ 8214F21
pokemart RustboroCity_Mart_Pokemart_214F30
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -35,7 +35,7 @@ RustboroCity_Mart_Pokemart_214F30: @ 8214F30
RustboroCity_Mart_EventScript_214F48:: @ 8214F48
pokemart RustboroCity_Mart_Pokemart_214F58
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -58,15 +58,15 @@ RustboroCity_Mart_Pokemart_214F58: @ 8214F58
end
RustboroCity_Mart_EventScript_214F74:: @ 8214F74
- msgbox RustboroCity_Mart_Text_214F8F, 2
+ msgbox RustboroCity_Mart_Text_214F8F, MSGBOX_NPC
end
RustboroCity_Mart_EventScript_214F7D:: @ 8214F7D
- msgbox RustboroCity_Mart_Text_214FF1, 2
+ msgbox RustboroCity_Mart_Text_214FF1, MSGBOX_NPC
end
RustboroCity_Mart_EventScript_214F86:: @ 8214F86
- msgbox RustboroCity_Mart_Text_21505C, 2
+ msgbox RustboroCity_Mart_Text_21505C, MSGBOX_NPC
end
RustboroCity_Mart_Text_214F8F: @ 8214F8F
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc
index acf33e647..0a5a6ed92 100644
--- a/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/RustboroCity_PokemonCenter_1F/scripts.inc
@@ -17,15 +17,15 @@ RustboroCity_PokemonCenter_1F_EventScript_214D76:: @ 8214D76
end
RustboroCity_PokemonCenter_1F_EventScript_214D84:: @ 8214D84
- msgbox RustboroCity_PokemonCenter_1F_Text_214D9F, 2
+ msgbox RustboroCity_PokemonCenter_1F_Text_214D9F, MSGBOX_NPC
end
RustboroCity_PokemonCenter_1F_EventScript_214D8D:: @ 8214D8D
- msgbox RustboroCity_PokemonCenter_1F_Text_214E13, 2
+ msgbox RustboroCity_PokemonCenter_1F_Text_214E13, MSGBOX_NPC
end
RustboroCity_PokemonCenter_1F_EventScript_214D96:: @ 8214D96
- msgbox RustboroCity_PokemonCenter_1F_Text_214E81, 2
+ msgbox RustboroCity_PokemonCenter_1F_Text_214E81, MSGBOX_NPC
end
RustboroCity_PokemonCenter_1F_Text_214D9F: @ 8214D9F
diff --git a/data/maps/RustboroCity_PokemonCenter_2F/events.inc b/data/maps/RustboroCity_PokemonCenter_2F/events.inc
index f1f9fe356..346a4de16 100644
--- a/data/maps/RustboroCity_PokemonCenter_2F/events.inc
+++ b/data/maps/RustboroCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ RustboroCity_PokemonCenter_2F_EventObjects: @ 8530780
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
RustboroCity_PokemonCenter_2F_MapWarps: @ 85307E0
warp_def 1, 6, 4, 2, MAP_RUSTBORO_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/RustboroCity_PokemonSchool/events.inc b/data/maps/RustboroCity_PokemonSchool/events.inc
index d32f8ad46..0c6ca19dc 100644
--- a/data/maps/RustboroCity_PokemonSchool/events.inc
+++ b/data/maps/RustboroCity_PokemonSchool/events.inc
@@ -5,7 +5,7 @@ RustboroCity_PokemonSchool_EventObjects: @ 85305EC
object_event 4, EVENT_OBJ_GFX_LASS, 0, 10, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F7A, 0
object_event 5, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 3, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F83, 0
object_event 6, EVENT_OBJ_GFX_GENTLEMAN, 0, 5, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, RustboroCity_PokemonSchool_EventScript_213F95, 0
- object_event 7, EVENT_OBJ_GFX_SCOTT, 0, 0, 10, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, RustboroCity_PokemonSchool_EventScript_214040, 999
+ object_event 7, EVENT_OBJ_GFX_SCOTT, 0, 0, 10, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, RustboroCity_PokemonSchool_EventScript_214040, FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT
RustboroCity_PokemonSchool_MapWarps: @ 8530694
warp_def 5, 10, 0, 4, MAP_RUSTBORO_CITY
diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc
index f5030facd..6ec120258 100644
--- a/data/maps/RustboroCity_PokemonSchool/scripts.inc
+++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc
@@ -3,7 +3,7 @@ RustboroCity_PokemonSchool_MapScripts:: @ 8213EA8
RustboroCity_PokemonSchool_EventScript_213EA9:: @ 8213EA9
lockall
- msgbox RustboroCity_PokemonSchool_Text_2140B2, 4
+ msgbox RustboroCity_PokemonSchool_Text_2140B2, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_213EB8
end
@@ -22,27 +22,27 @@ RustboroCity_PokemonSchool_EventScript_213EB8:: @ 8213EB8
end
RustboroCity_PokemonSchool_EventScript_213F17:: @ 8213F17
- msgbox RustboroCity_PokemonSchool_Text_21411A, 4
+ msgbox RustboroCity_PokemonSchool_Text_21411A, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_213EB8
end
RustboroCity_PokemonSchool_EventScript_213F25:: @ 8213F25
- msgbox RustboroCity_PokemonSchool_Text_2141D8, 4
+ msgbox RustboroCity_PokemonSchool_Text_2141D8, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_213EB8
end
RustboroCity_PokemonSchool_EventScript_213F33:: @ 8213F33
- msgbox RustboroCity_PokemonSchool_Text_21427D, 4
+ msgbox RustboroCity_PokemonSchool_Text_21427D, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_213EB8
end
RustboroCity_PokemonSchool_EventScript_213F41:: @ 8213F41
- msgbox RustboroCity_PokemonSchool_Text_214336, 4
+ msgbox RustboroCity_PokemonSchool_Text_214336, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_213EB8
end
RustboroCity_PokemonSchool_EventScript_213F4F:: @ 8213F4F
- msgbox RustboroCity_PokemonSchool_Text_2143B8, 4
+ msgbox RustboroCity_PokemonSchool_Text_2143B8, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_213EB8
end
@@ -51,27 +51,27 @@ RustboroCity_PokemonSchool_EventScript_213F5D:: @ 8213F5D
end
RustboroCity_PokemonSchool_EventScript_213F5F:: @ 8213F5F
- msgbox RustboroCity_PokemonSchool_Text_21459F, 2
+ msgbox RustboroCity_PokemonSchool_Text_21459F, MSGBOX_NPC
end
RustboroCity_PokemonSchool_EventScript_213F68:: @ 8213F68
- msgbox RustboroCity_PokemonSchool_Text_2145CD, 2
+ msgbox RustboroCity_PokemonSchool_Text_2145CD, MSGBOX_NPC
end
RustboroCity_PokemonSchool_EventScript_213F71:: @ 8213F71
- msgbox RustboroCity_PokemonSchool_Text_214604, 2
+ msgbox RustboroCity_PokemonSchool_Text_214604, MSGBOX_NPC
end
RustboroCity_PokemonSchool_EventScript_213F7A:: @ 8213F7A
- msgbox RustboroCity_PokemonSchool_Text_214669, 2
+ msgbox RustboroCity_PokemonSchool_Text_214669, MSGBOX_NPC
end
RustboroCity_PokemonSchool_EventScript_213F83:: @ 8213F83
- msgbox RustboroCity_PokemonSchool_Text_214719, 2
+ msgbox RustboroCity_PokemonSchool_Text_214719, MSGBOX_NPC
end
RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C
- msgbox RustboroCity_PokemonSchool_Text_2147A2, 3
+ msgbox RustboroCity_PokemonSchool_Text_2147A2, MSGBOX_SIGN
end
RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95
@@ -83,7 +83,7 @@ RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95
call_if 1, RustboroCity_PokemonSchool_EventScript_213FE5
compare VAR_FACING, 3
call_if 1, RustboroCity_PokemonSchool_EventScript_213FF0
- msgbox RustboroCity_PokemonSchool_Text_214433, 4
+ msgbox RustboroCity_PokemonSchool_Text_214433, MSGBOX_DEFAULT
giveitem_std ITEM_QUICK_CLAW
compare VAR_RESULT, 0
goto_eq RustboroCity_PokemonSchool_EventScript_272054
@@ -105,7 +105,7 @@ RustboroCity_PokemonSchool_EventScript_213FF0:: @ 8213FF0
return
RustboroCity_PokemonSchool_EventScript_213FFB:: @ 8213FFB
- msgbox RustboroCity_PokemonSchool_Text_2144C8, 4
+ msgbox RustboroCity_PokemonSchool_Text_2144C8, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA
waitmovement 0
@@ -173,7 +173,7 @@ RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040
goto_eq RustboroCity_PokemonSchool_EventScript_21406F
checkflag FLAG_BADGE01_GET
goto_eq RustboroCity_PokemonSchool_EventScript_214082
- msgbox RustboroCity_PokemonSchool_Text_2148C0, 4
+ msgbox RustboroCity_PokemonSchool_Text_2148C0, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x136
release
@@ -182,17 +182,17 @@ RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040
RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F
checkflag FLAG_BADGE01_GET
goto_eq RustboroCity_PokemonSchool_EventScript_214090
- msgbox RustboroCity_PokemonSchool_Text_214A5F, 4
+ msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT
release
end
RustboroCity_PokemonSchool_EventScript_214082:: @ 8214082
- msgbox RustboroCity_PokemonSchool_Text_214B8A, 4
+ msgbox RustboroCity_PokemonSchool_Text_214B8A, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_21409E
end
RustboroCity_PokemonSchool_EventScript_214090:: @ 8214090
- msgbox RustboroCity_PokemonSchool_Text_214AB6, 4
+ msgbox RustboroCity_PokemonSchool_Text_214AB6, MSGBOX_DEFAULT
goto RustboroCity_PokemonSchool_EventScript_21409E
end
@@ -203,7 +203,7 @@ RustboroCity_PokemonSchool_EventScript_21409E:: @ 821409E
end
RustboroCity_PokemonSchool_EventScript_2140A8:: @ 82140A8
- msgbox RustboroCity_PokemonSchool_Text_214A5F, 4
+ msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RusturfTunnel/events.inc b/data/maps/RusturfTunnel/events.inc
index 5d3f3c8be..292bda57d 100644
--- a/data/maps/RusturfTunnel/events.inc
+++ b/data/maps/RusturfTunnel/events.inc
@@ -1,14 +1,14 @@
RusturfTunnel_EventObjects: @ 85341C4
- object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 23, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RusturfTunnel_EventScript_22CE76, 807
- object_event 2, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 24, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, 931
- object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_291136, 1048
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_291143, 1049
- object_event 5, EVENT_OBJ_GFX_EXPERT_M, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 879
- object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0C2, 878
- object_event 7, EVENT_OBJ_GFX_WINGULL, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0AF, 880
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 24, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, 932
+ object_event 1, EVENT_OBJ_GFX_BLACK_BELT, 0, 23, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, RusturfTunnel_EventScript_22CE76, FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN
+ object_event 2, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 24, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1
+ object_event 3, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 1, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_291136, FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RusturfTunnel_EventScript_291143, FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER
+ object_event 5, EVENT_OBJ_GFX_EXPERT_M, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN
+ object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0C2, FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT
+ object_event 7, EVENT_OBJ_GFX_WINGULL, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0AF, FLAG_HIDE_RUSTURF_TUNNEL_PEEKO
+ object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 24, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2
object_event 9, EVENT_OBJ_GFX_HIKER, 0, 32, 13, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 3, RusturfTunnel_EventScript_22D1B1, 0
- object_event 10, EVENT_OBJ_GFX_WOMAN_2, 0, 25, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, RusturfTunnel_EventScript_22CE5F, 983
+ object_event 10, EVENT_OBJ_GFX_WOMAN_2, 0, 25, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, RusturfTunnel_EventScript_22CE5F, FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN
RusturfTunnel_MapWarps: @ 85342B4
warp_def 4, 10, 3, 0, MAP_ROUTE116
diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc
index 33e87bda5..c93f7d5c4 100644
--- a/data/maps/RusturfTunnel/scripts.inc
+++ b/data/maps/RusturfTunnel/scripts.inc
@@ -21,7 +21,7 @@ RusturfTunnel_EventScript_22CE50:: @ 822CE50
RusturfTunnel_EventScript_22CE5F:: @ 822CE5F
lock
faceplayer
- msgbox RusturfTunnel_Text_22D7A3, 4
+ msgbox RusturfTunnel_Text_22D7A3, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2
waitmovement 0
@@ -31,10 +31,10 @@ RusturfTunnel_EventScript_22CE5F:: @ 822CE5F
RusturfTunnel_EventScript_22CE76:: @ 822CE76
lock
faceplayer
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq RusturfTunnel_EventScript_22CE99
- setflag FLAG_0x001
- msgbox RusturfTunnel_Text_22D510, 4
+ setflag FLAG_TEMP_1
+ msgbox RusturfTunnel_Text_22D510, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2
waitmovement 0
@@ -42,7 +42,7 @@ RusturfTunnel_EventScript_22CE76:: @ 822CE76
end
RusturfTunnel_EventScript_22CE99:: @ 822CE99
- msgbox RusturfTunnel_Text_22D5F3, 4
+ msgbox RusturfTunnel_Text_22D5F3, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2
waitmovement 0
@@ -58,14 +58,14 @@ RusturfTunnel_EventScript_22CEAE:: @ 822CEAE
compare VAR_TEMP_1, 3
call_if 1, RusturfTunnel_EventScript_22CFC7
call RusturfTunnel_EventScript_22CFFF
- msgbox RusturfTunnel_Text_22D65C, 4
+ msgbox RusturfTunnel_Text_22D65C, MSGBOX_DEFAULT
compare VAR_TEMP_1, 2
call_if 1, RusturfTunnel_EventScript_22CFC8
compare VAR_TEMP_1, 3
call_if 1, RusturfTunnel_EventScript_22CFC8
giveitem_std ITEM_HM04
setflag FLAG_0x06A
- msgbox RusturfTunnel_Text_22D6D2, 4
+ msgbox RusturfTunnel_Text_22D6D2, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
call_if 1, RusturfTunnel_EventScript_22CF5D
@@ -73,7 +73,7 @@ RusturfTunnel_EventScript_22CEAE:: @ 822CEAE
call_if 1, RusturfTunnel_EventScript_22CF6F
compare VAR_TEMP_1, 3
call_if 1, RusturfTunnel_EventScript_22CF8B
- msgbox RusturfTunnel_Text_22D745, 4
+ msgbox RusturfTunnel_Text_22D745, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
call_if 1, RusturfTunnel_EventScript_22CFD4
@@ -281,7 +281,7 @@ RusturfTunnel_EventScript_22D07D:: @ 822D07D
RusturfTunnel_EventScript_22D083:: @ 822D083
lockall
- msgbox RusturfTunnel_Text_22D1C8, 4
+ msgbox RusturfTunnel_Text_22D1C8, MSGBOX_DEFAULT
closemessage
applymovement 6, RusturfTunnel_Movement_22D0AB
applymovement 7, RusturfTunnel_Movement_22D0AB
@@ -303,7 +303,7 @@ RusturfTunnel_EventScript_22D0AF:: @ 822D0AF
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox RusturfTunnel_Text_22D1F7, 4
+ msgbox RusturfTunnel_Text_22D1F7, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -312,9 +312,9 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
lock
faceplayer
playbgm MUS_AQA_0, 0
- msgbox RusturfTunnel_Text_22D20A, 4
- trainerbattle 3, TRAINER_GRUNT_10, 0, RusturfTunnel_Text_22D2B0
- msgbox RusturfTunnel_Text_22D2E1, 4
+ msgbox RusturfTunnel_Text_22D20A, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_10, RusturfTunnel_Text_22D2B0
+ msgbox RusturfTunnel_Text_22D2E1, MSGBOX_DEFAULT
giveitem_std ITEM_DEVON_GOODS
closemessage
applymovement 255, RusturfTunnel_Movement_22D178
@@ -328,7 +328,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
applymovement 255, RusturfTunnel_Movement_22D17E
applymovement 5, RusturfTunnel_Movement_22D1A4
waitmovement 0
- msgbox RusturfTunnel_Text_22D395, 4
+ msgbox RusturfTunnel_Text_22D395, MSGBOX_DEFAULT
applymovement 5, RusturfTunnel_Movement_27259E
waitmovement 0
message RusturfTunnel_Text_22D3BA
@@ -348,7 +348,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
setflag FLAG_0x08F
setvar VAR_0x405A, 4
setvar VAR_0x4090, 1
- setflag FLAG_0x37B
+ setflag FLAG_HIDE_ROUTE_116_MR_BRINEY
release
end
@@ -426,8 +426,8 @@ RusturfTunnel_Movement_22D1A7: @ 822D1A7
step_end
RusturfTunnel_EventScript_22D1B1:: @ 822D1B1
- trainerbattle 0, TRAINER_MIKE_2, 0, RusturfTunnel_Text_22D84D, RusturfTunnel_Text_22D8DB
- msgbox RusturfTunnel_Text_22D8F9, 6
+ trainerbattle_single TRAINER_MIKE_2, RusturfTunnel_Text_22D84D, RusturfTunnel_Text_22D8DB
+ msgbox RusturfTunnel_Text_22D8F9, MSGBOX_AUTOCLOSE
end
RusturfTunnel_Text_22D1C8: @ 822D1C8
diff --git a/data/maps/SSTidalCorridor/events.inc b/data/maps/SSTidalCorridor/events.inc
index 6ed455cad..c36e38fda 100644
--- a/data/maps/SSTidalCorridor/events.inc
+++ b/data/maps/SSTidalCorridor/events.inc
@@ -1,9 +1,9 @@
SSTidalCorridor_EventObjects: @ 853A158
object_event 1, EVENT_OBJ_GFX_SAILOR, 0, 1, 11, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SSTidalCorridor_EventScript_23C119, 0
object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 16, 7, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, SSTidalCorridor_EventScript_23C1A3, 0
- object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SSTidalCorridor_EventScript_23C0D9, 950
- object_event 4, EVENT_OBJ_GFX_WINGULL, 0, 7, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SSTidalCorridor_EventScript_23C0E2, 950
- object_event 5, EVENT_OBJ_GFX_SCOTT, 0, 9, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 810
+ object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SSTidalCorridor_EventScript_23C0D9, FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
+ object_event 4, EVENT_OBJ_GFX_WINGULL, 0, 7, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SSTidalCorridor_EventScript_23C0E2, FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY
+ object_event 5, EVENT_OBJ_GFX_SCOTT, 0, 9, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT
SSTidalCorridor_MapWarps: @ 853A1D0
warp_def 4, 9, 3, 0, MAP_SS_TIDAL_ROOMS
diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc
index 8fcd6e59b..91780d608 100644
--- a/data/maps/SSTidalCorridor/scripts.inc
+++ b/data/maps/SSTidalCorridor/scripts.inc
@@ -15,7 +15,7 @@ SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF
setvar VAR_PORTHOLE_STATE, 2
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C462, 4
+ msgbox SSTidalCorridor_Text_23C462, MSGBOX_DEFAULT
releaseall
end
@@ -23,7 +23,7 @@ SSTidalCorridor_EventScript_23C015:: @ 823C015
setvar VAR_PORTHOLE_STATE, 6
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C4E3, 4
+ msgbox SSTidalCorridor_Text_23C4E3, MSGBOX_DEFAULT
releaseall
end
@@ -31,14 +31,14 @@ SSTidalRooms_EventScript_23C028:: @ 823C028
special SetSSTidalFlag
setvar VAR_PORTHOLE_STATE, 7
playse SE_PINPON
- msgbox SSTidalRooms_Text_23C462, 4
+ msgbox SSTidalRooms_Text_23C462, MSGBOX_DEFAULT
return
SSTidalRooms_EventScript_23C03C:: @ 823C03C
special ResetSSTidalFlag
setvar VAR_PORTHOLE_STATE, 4
playse SE_PINPON
- msgbox SSTidalRooms_Text_23C553, 4
+ msgbox SSTidalRooms_Text_23C553, MSGBOX_DEFAULT
return
SSTidalCorridor_EventScript_23C050:: @ 823C050
@@ -53,7 +53,7 @@ SSTidalCorridor_EventScript_23C067:: @ 823C067
setvar VAR_PORTHOLE_STATE, 3
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C4E3, 4
+ msgbox SSTidalCorridor_Text_23C4E3, MSGBOX_DEFAULT
releaseall
end
@@ -62,7 +62,7 @@ SSTidalCorridor_EventScript_23C07D:: @ 823C07D
setvar VAR_PORTHOLE_STATE, 8
lockall
playse SE_PINPON
- msgbox SSTidalCorridor_Text_23C50F, 4
+ msgbox SSTidalCorridor_Text_23C50F, MSGBOX_DEFAULT
releaseall
end
@@ -70,7 +70,7 @@ SSTidalRooms_EventScript_23C093:: @ 823C093
special ResetSSTidalFlag
setvar VAR_PORTHOLE_STATE, 8
playse SE_PINPON
- msgbox SSTidalRooms_Text_23C50F, 4
+ msgbox SSTidalRooms_Text_23C50F, MSGBOX_DEFAULT
return
SSTidalRooms_EventScript_23C0A7:: @ 823C0A7
@@ -82,7 +82,7 @@ SSTidalRooms_EventScript_23C0A7:: @ 823C0A7
return
SSTidalCorridor_EventScript_23C0D9:: @ 823C0D9
- msgbox SSTidalCorridor_Text_23C6EC, 2
+ msgbox SSTidalCorridor_Text_23C6EC, MSGBOX_NPC
end
SSTidalCorridor_EventScript_23C0E2:: @ 823C0E2
@@ -90,25 +90,25 @@ SSTidalCorridor_EventScript_23C0E2:: @ 823C0E2
faceplayer
waitse
playmoncry SPECIES_WINGULL, 0
- msgbox SSTidalCorridor_Text_23C7E1, 4
+ msgbox SSTidalCorridor_Text_23C7E1, MSGBOX_DEFAULT
waitmoncry
release
end
SSTidalCorridor_EventScript_23C0F5:: @ 823C0F5
- msgbox SSTidalCorridor_Text_23C7F8, 3
+ msgbox SSTidalCorridor_Text_23C7F8, MSGBOX_SIGN
end
SSTidalCorridor_EventScript_23C0FE:: @ 823C0FE
- msgbox SSTidalCorridor_Text_23C800, 3
+ msgbox SSTidalCorridor_Text_23C800, MSGBOX_SIGN
end
SSTidalCorridor_EventScript_23C107:: @ 823C107
- msgbox SSTidalCorridor_Text_23C808, 3
+ msgbox SSTidalCorridor_Text_23C808, MSGBOX_SIGN
end
SSTidalCorridor_EventScript_23C110:: @ 823C110
- msgbox SSTidalCorridor_Text_23C810, 3
+ msgbox SSTidalCorridor_Text_23C810, MSGBOX_SIGN
end
SSTidalCorridor_EventScript_23C119:: @ 823C119
@@ -118,13 +118,13 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119
goto_eq SSTidalCorridor_EventScript_23C13B
compare VAR_PORTHOLE_STATE, 8
goto_eq SSTidalCorridor_EventScript_23C15A
- msgbox SSTidalCorridor_Text_23C596, 4
+ msgbox SSTidalCorridor_Text_23C596, MSGBOX_DEFAULT
release
end
SSTidalCorridor_EventScript_23C13B:: @ 823C13B
setrespawn HEAL_LOCATION_LILYCOVE_CITY
- msgbox SSTidalCorridor_Text_23C64F, 4
+ msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT
checkflag FLAG_0x104
call_if 1, SSTidalCorridor_EventScript_23C179
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
@@ -134,7 +134,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B
SSTidalCorridor_EventScript_23C15A:: @ 823C15A
setrespawn HEAL_LOCATION_SLATEPORT_CITY
- msgbox SSTidalCorridor_Text_23C64F, 4
+ msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT
checkflag FLAG_0x104
call_if 1, SSTidalCorridor_EventScript_23C179
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
@@ -143,7 +143,7 @@ SSTidalCorridor_EventScript_23C15A:: @ 823C15A
end
SSTidalCorridor_EventScript_23C179:: @ 823C179
- setflag FLAG_0x3B7
+ setflag FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER
return
SSTidalCorridor_EventScript_23C17D:: @ 823C17D
@@ -152,7 +152,7 @@ SSTidalCorridor_EventScript_23C17D:: @ 823C17D
goto_eq SSTidalCorridor_EventScript_23C19E
compare VAR_PORTHOLE_STATE, 7
goto_eq SSTidalCorridor_EventScript_23C19E
- msgbox SSTidalCorridor_Text_23C6C3, 4
+ msgbox SSTidalCorridor_Text_23C6C3, MSGBOX_DEFAULT
releaseall
end
@@ -167,12 +167,12 @@ SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3
checkflag FLAG_0x0F7
goto_eq SSTidalCorridor_EventScript_23C1BD
call SSTidalCorridor_EventScript_23C1C7
- msgbox SSTidalCorridor_Text_23C65E, 4
+ msgbox SSTidalCorridor_Text_23C65E, MSGBOX_DEFAULT
release
end
SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD
- msgbox SSTidalCorridor_Text_23C6B0, 4
+ msgbox SSTidalCorridor_Text_23C6B0, MSGBOX_DEFAULT
release
end
@@ -206,7 +206,7 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219
waitmovement 0
applymovement 255, SSTidalCorridor_Movement_2725A8
waitmovement 0
- msgbox SSTidalCorridor_Text_23C28F, 4
+ msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT
closemessage
applymovement 255, SSTidalCorridor_Movement_23C27D
applymovement 1, SSTidalCorridor_Movement_23C284
diff --git a/data/maps/SSTidalLowerDeck/events.inc b/data/maps/SSTidalLowerDeck/events.inc
index be32d9ad4..65ced7c13 100644
--- a/data/maps/SSTidalLowerDeck/events.inc
+++ b/data/maps/SSTidalLowerDeck/events.inc
@@ -6,7 +6,7 @@ SSTidalLowerDeck_MapWarps: @ 853A2EC
warp_def 15, 2, 3, 8, MAP_SS_TIDAL_CORRIDOR
SSTidalLowerDeck_MapBGEvents: @ 853A2F4
- bg_hidden_item_event 0, 2, 0, ITEM_LEFTOVERS, 35
+ bg_hidden_item_event 0, 2, 0, ITEM_LEFTOVERS, FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS
SSTidalLowerDeck_MapEvents:: @ 853A300
map_events SSTidalLowerDeck_EventObjects, SSTidalLowerDeck_MapWarps, 0x0, SSTidalLowerDeck_MapBGEvents
diff --git a/data/maps/SSTidalLowerDeck/scripts.inc b/data/maps/SSTidalLowerDeck/scripts.inc
index 2ad1ed580..b7e15a82d 100644
--- a/data/maps/SSTidalLowerDeck/scripts.inc
+++ b/data/maps/SSTidalLowerDeck/scripts.inc
@@ -2,13 +2,13 @@ SSTidalLowerDeck_MapScripts:: @ 823C818
.byte 0
SSTidalLowerDeck_EventScript_23C819:: @ 823C819
- trainerbattle 0, TRAINER_PHILLIP, 0, SSTidalLowerDeck_Text_23C847, SSTidalLowerDeck_Text_23C8A0
- msgbox SSTidalLowerDeck_Text_23C8B4, 6
+ trainerbattle_single TRAINER_PHILLIP, SSTidalLowerDeck_Text_23C847, SSTidalLowerDeck_Text_23C8A0
+ msgbox SSTidalLowerDeck_Text_23C8B4, MSGBOX_AUTOCLOSE
end
SSTidalLowerDeck_EventScript_23C830:: @ 823C830
- trainerbattle 0, TRAINER_LEONARD, 0, SSTidalLowerDeck_Text_23C917, SSTidalLowerDeck_Text_23C97D
- msgbox SSTidalLowerDeck_Text_23C98E, 6
+ trainerbattle_single TRAINER_LEONARD, SSTidalLowerDeck_Text_23C917, SSTidalLowerDeck_Text_23C97D
+ msgbox SSTidalLowerDeck_Text_23C98E, MSGBOX_AUTOCLOSE
end
SSTidalLowerDeck_Text_23C847: @ 823C847
diff --git a/data/maps/SSTidalRooms/events.inc b/data/maps/SSTidalRooms/events.inc
index cca2bc821..99937ef75 100644
--- a/data/maps/SSTidalRooms/events.inc
+++ b/data/maps/SSTidalRooms/events.inc
@@ -6,7 +6,7 @@ SSTidalRooms_EventObjects: @ 853A314
object_event 5, EVENT_OBJ_GFX_WOMAN_4, 0, 4, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, SSTidalRooms_EventScript_23CAA9, 0
object_event 6, EVENT_OBJ_GFX_RICH_BOY, 0, 22, 11, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 3, SSTidalRooms_EventScript_23CAC4, 0
object_event 7, EVENT_OBJ_GFX_WOMAN_2, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, SSTidalRooms_EventScript_23CADB, 0
- object_event 8, EVENT_OBJ_GFX_MANIAC, 0, 28, 5, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SSTidalRooms_EventScript_23C9F2, 951
+ object_event 8, EVENT_OBJ_GFX_MANIAC, 0, 28, 5, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SSTidalRooms_EventScript_23C9F2, FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER
SSTidalRooms_MapWarps: @ 853A3D4
warp_def 4, 16, 0, 0, MAP_SS_TIDAL_CORRIDOR
diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc
index 39c453e98..055973787 100644
--- a/data/maps/SSTidalRooms/scripts.inc
+++ b/data/maps/SSTidalRooms/scripts.inc
@@ -6,23 +6,23 @@ SSTidalRooms_EventScript_23C9F2:: @ 823C9F2
faceplayer
checkflag FLAG_0x104
goto_eq SSTidalRooms_EventScript_23CA29
- msgbox SSTidalRooms_Text_23D098, 4
+ msgbox SSTidalRooms_Text_23D098, MSGBOX_DEFAULT
giveitem_std ITEM_TM49
compare VAR_RESULT, 0
goto_eq SSTidalRooms_EventScript_272054
setflag FLAG_0x104
- msgbox SSTidalRooms_Text_23D145, 4
+ msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT
release
end
SSTidalRooms_EventScript_23CA29:: @ 823CA29
- msgbox SSTidalRooms_Text_23D145, 4
+ msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT
release
end
SSTidalRooms_EventScript_23CA33:: @ 823CA33
lockall
- msgbox SSTidalRooms_Text_23CAF2, 4
+ msgbox SSTidalRooms_Text_23CAF2, MSGBOX_DEFAULT
closemessage
call SSTidalRooms_EventScript_272083
call SSTidalRooms_EventScript_23C0A7
@@ -30,38 +30,38 @@ SSTidalRooms_EventScript_23CA33:: @ 823CA33
end
SSTidalRooms_EventScript_23CA49:: @ 823CA49
- trainerbattle 0, TRAINER_COLTON, 0, SSTidalRooms_Text_23CB14, SSTidalRooms_Text_23CB58
- msgbox SSTidalRooms_Text_23CB75, 6
+ trainerbattle_single TRAINER_COLTON, SSTidalRooms_Text_23CB14, SSTidalRooms_Text_23CB58
+ msgbox SSTidalRooms_Text_23CB75, MSGBOX_AUTOCLOSE
end
SSTidalRooms_EventScript_23CA60:: @ 823CA60
- trainerbattle 0, TRAINER_MICAH, 0, SSTidalRooms_Text_23CBEB, SSTidalRooms_Text_23CC04
- msgbox SSTidalRooms_Text_23CC26, 6
+ trainerbattle_single TRAINER_MICAH, SSTidalRooms_Text_23CBEB, SSTidalRooms_Text_23CC04
+ msgbox SSTidalRooms_Text_23CC26, MSGBOX_AUTOCLOSE
end
SSTidalRooms_EventScript_23CA77:: @ 823CA77
- trainerbattle 0, TRAINER_THOMAS, 0, SSTidalRooms_Text_23CC68, SSTidalRooms_Text_23CC8A
- msgbox SSTidalRooms_Text_23CCBB, 6
+ trainerbattle_single TRAINER_THOMAS, SSTidalRooms_Text_23CC68, SSTidalRooms_Text_23CC8A
+ msgbox SSTidalRooms_Text_23CCBB, MSGBOX_AUTOCLOSE
end
SSTidalRooms_EventScript_23CA8E:: @ 823CA8E
- trainerbattle 4, TRAINER_LEA_AND_JED, 0, SSTidalRooms_Text_23CD04, SSTidalRooms_Text_23CD54, SSTidalRooms_Text_23CDC6
- msgbox SSTidalRooms_Text_23CD5F, 6
+ trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_23CD04, SSTidalRooms_Text_23CD54, SSTidalRooms_Text_23CDC6
+ msgbox SSTidalRooms_Text_23CD5F, MSGBOX_AUTOCLOSE
end
SSTidalRooms_EventScript_23CAA9:: @ 823CAA9
- trainerbattle 4, TRAINER_LEA_AND_JED, 0, SSTidalRooms_Text_23CE04, SSTidalRooms_Text_23CE4B, SSTidalRooms_Text_23CEB0
- msgbox SSTidalRooms_Text_23CE59, 6
+ trainerbattle_double TRAINER_LEA_AND_JED, SSTidalRooms_Text_23CE04, SSTidalRooms_Text_23CE4B, SSTidalRooms_Text_23CEB0
+ msgbox SSTidalRooms_Text_23CE59, MSGBOX_AUTOCLOSE
end
SSTidalRooms_EventScript_23CAC4:: @ 823CAC4
- trainerbattle 0, TRAINER_GARRET, 0, SSTidalRooms_Text_23CEEE, SSTidalRooms_Text_23CF36
- msgbox SSTidalRooms_Text_23CF45, 6
+ trainerbattle_single TRAINER_GARRET, SSTidalRooms_Text_23CEEE, SSTidalRooms_Text_23CF36
+ msgbox SSTidalRooms_Text_23CF45, MSGBOX_AUTOCLOSE
end
SSTidalRooms_EventScript_23CADB:: @ 823CADB
- trainerbattle 0, TRAINER_NAOMI, 0, SSTidalRooms_Text_23CF97, SSTidalRooms_Text_23CFF4
- msgbox SSTidalRooms_Text_23D013, 6
+ trainerbattle_single TRAINER_NAOMI, SSTidalRooms_Text_23CF97, SSTidalRooms_Text_23CFF4
+ msgbox SSTidalRooms_Text_23D013, MSGBOX_AUTOCLOSE
end
SSTidalRooms_Text_23CAF2: @ 823CAF2
diff --git a/data/maps/SafariZone_North/events.inc b/data/maps/SafariZone_North/events.inc
index 11e4b2e28..152fa54c5 100644
--- a/data/maps/SafariZone_North/events.inc
+++ b/data/maps/SafariZone_North/events.inc
@@ -1,13 +1,13 @@
SafariZone_North_EventObjects: @ 853B160
object_event 1, EVENT_OBJ_GFX_FISHERMAN, 0, 22, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_23D254, 0
object_event 2, EVENT_OBJ_GFX_MAN_4, 0, 6, 29, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_23D25D, 0
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 25, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, 17
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 25, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, 18
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 28, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, 19
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 23, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, 20
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, 21
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 27, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, 22
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2912C9, 1119
+ object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 25, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, FLAG_TEMP_11
+ object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 25, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, FLAG_TEMP_12
+ object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 28, 14, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, FLAG_TEMP_13
+ object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 23, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, FLAG_TEMP_14
+ object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, FLAG_TEMP_15
+ object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 27, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2907A6, FLAG_TEMP_16
+ object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_North_EventScript_2912C9, FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM
SafariZone_North_MapEvents:: @ 853B238
map_events SafariZone_North_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/SafariZone_North/scripts.inc b/data/maps/SafariZone_North/scripts.inc
index a96b6b95d..d98fdca88 100644
--- a/data/maps/SafariZone_North/scripts.inc
+++ b/data/maps/SafariZone_North/scripts.inc
@@ -2,10 +2,10 @@ SafariZone_North_MapScripts:: @ 823D253
.byte 0
SafariZone_North_EventScript_23D254:: @ 823D254
- msgbox SafariZone_North_Text_2A5489, 2
+ msgbox SafariZone_North_Text_2A5489, MSGBOX_NPC
end
SafariZone_North_EventScript_23D25D:: @ 823D25D
- msgbox SafariZone_North_Text_2A54F0, 2
+ msgbox SafariZone_North_Text_2A54F0, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_Northeast/events.inc b/data/maps/SafariZone_Northeast/events.inc
index a3d1ad0a3..dc0393b4d 100644
--- a/data/maps/SafariZone_Northeast/events.inc
+++ b/data/maps/SafariZone_Northeast/events.inc
@@ -1,17 +1,17 @@
SafariZone_Northeast_EventObjects: @ 853B968
object_event 1, EVENT_OBJ_GFX_BOY_3, 0, 8, 20, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_23D3C6, 0
object_event 2, EVENT_OBJ_GFX_GIRL_3, 0, 30, 22, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_23D3D8, 0
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, 21
+ object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 11, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, FLAG_TEMP_15
object_event 4, EVENT_OBJ_GFX_WOMAN_1, 0, 13, 35, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_23D3CF, 0
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, 19
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 9, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, 17
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, 20
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, 18
- object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2912E3, 1169
+ object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, FLAG_TEMP_13
+ object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 9, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, FLAG_TEMP_11
+ object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 8, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, FLAG_TEMP_14
+ object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2907A6, FLAG_TEMP_12
+ object_event 9, EVENT_OBJ_GFX_ITEM_BALL, 0, 8, 17, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northeast_EventScript_2912E3, FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET
SafariZone_Northeast_MapBGEvents: @ 853BA40
- bg_hidden_item_event 31, 35, 3, ITEM_RARE_CANDY, 106
- bg_hidden_item_event 21, 5, 3, ITEM_ZINC, 107
+ bg_hidden_item_event 31, 35, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY
+ bg_hidden_item_event 21, 5, 3, ITEM_ZINC, FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC
SafariZone_Northeast_MapEvents:: @ 853BA58
map_events SafariZone_Northeast_EventObjects, 0x0, 0x0, SafariZone_Northeast_MapBGEvents
diff --git a/data/maps/SafariZone_Northwest/events.inc b/data/maps/SafariZone_Northwest/events.inc
index c43db4125..95b6623ac 100644
--- a/data/maps/SafariZone_Northwest/events.inc
+++ b/data/maps/SafariZone_Northwest/events.inc
@@ -1,6 +1,6 @@
SafariZone_Northwest_EventObjects: @ 853B11C
object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 8, 8, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_Northwest_EventScript_23D24A, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northwest_EventScript_2912BC, 1094
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Northwest_EventScript_2912BC, FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22
SafariZone_Northwest_MapEvents:: @ 853B14C
map_events SafariZone_Northwest_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/SafariZone_Northwest/scripts.inc b/data/maps/SafariZone_Northwest/scripts.inc
index 34e510237..a64c142fe 100644
--- a/data/maps/SafariZone_Northwest/scripts.inc
+++ b/data/maps/SafariZone_Northwest/scripts.inc
@@ -2,6 +2,6 @@ SafariZone_Northwest_MapScripts:: @ 823D249
.byte 0
SafariZone_Northwest_EventScript_23D24A:: @ 823D24A
- msgbox SafariZone_Northwest_Text_2A542C, 2
+ msgbox SafariZone_Northwest_Text_2A542C, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_RestHouse/scripts.inc b/data/maps/SafariZone_RestHouse/scripts.inc
index 22657eeb1..e08cfe3da 100644
--- a/data/maps/SafariZone_RestHouse/scripts.inc
+++ b/data/maps/SafariZone_RestHouse/scripts.inc
@@ -2,14 +2,14 @@ SafariZone_RestHouse_MapScripts:: @ 8242BE6
.byte 0
SafariZone_RestHouse_EventScript_242BE7:: @ 8242BE7
- msgbox SafariZone_RestHouse_Text_2A5639, 2
+ msgbox SafariZone_RestHouse_Text_2A5639, MSGBOX_NPC
end
SafariZone_RestHouse_EventScript_242BF0:: @ 8242BF0
- msgbox SafariZone_RestHouse_Text_2A56E1, 2
+ msgbox SafariZone_RestHouse_Text_2A56E1, MSGBOX_NPC
end
SafariZone_RestHouse_EventScript_242BF9:: @ 8242BF9
- msgbox SafariZone_RestHouse_Text_2A5764, 2
+ msgbox SafariZone_RestHouse_Text_2A5764, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_South/events.inc b/data/maps/SafariZone_South/events.inc
index 21626d410..6d8d84877 100644
--- a/data/maps/SafariZone_South/events.inc
+++ b/data/maps/SafariZone_South/events.inc
@@ -3,8 +3,8 @@ SafariZone_South_EventObjects: @ 853B2A4
object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 26, 28, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_South_EventScript_23D2CA, 0
object_event 3, EVENT_OBJ_GFX_MAN_4, 0, 16, 6, 5, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_South_EventScript_23D2D3, 0
object_event 4, EVENT_OBJ_GFX_YOUNGSTER, 0, 15, 31, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_South_EventScript_23D2DC, 0
- object_event 5, EVENT_OBJ_GFX_CAMPER, 0, 36, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_South_EventScript_23D390, 717
- object_event 6, EVENT_OBJ_GFX_CAMPER, 0, 36, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_South_EventScript_23D3A2, 717
+ object_event 5, EVENT_OBJ_GFX_CAMPER, 0, 36, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_South_EventScript_23D390, FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS
+ object_event 6, EVENT_OBJ_GFX_CAMPER, 0, 36, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_South_EventScript_23D3A2, FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS
SafariZone_South_MapWarps: @ 853B334
warp_def 32, 33, 0, 0, MAP_ROUTE121_SAFARI_ZONE_ENTRANCE
diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc
index 19f51b873..6579b6571 100644
--- a/data/maps/SafariZone_South/scripts.inc
+++ b/data/maps/SafariZone_South/scripts.inc
@@ -37,15 +37,15 @@ SafariZone_South_Movement_23D2C7: @ 823D2C7
step_end
SafariZone_South_EventScript_23D2CA:: @ 823D2CA
- msgbox SafariZone_South_Text_2A52EF, 2
+ msgbox SafariZone_South_Text_2A52EF, MSGBOX_NPC
end
SafariZone_South_EventScript_23D2D3:: @ 823D2D3
- msgbox SafariZone_South_Text_2A533B, 2
+ msgbox SafariZone_South_Text_2A533B, MSGBOX_NPC
end
SafariZone_South_EventScript_23D2DC:: @ 823D2DC
- msgbox SafariZone_South_Text_2A553E, 2
+ msgbox SafariZone_South_Text_2A553E, MSGBOX_NPC
end
SafariZone_South_EventScript_23D2E5:: @ 823D2E5
@@ -53,21 +53,21 @@ SafariZone_South_EventScript_23D2E5:: @ 823D2E5
faceplayer
checkflag FLAG_0x05D
goto_if 0, SafariZone_South_EventScript_23D30D
- msgbox SafariZone_South_Text_2A51D4, 5
+ msgbox SafariZone_South_Text_2A51D4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SafariZone_South_EventScript_23D31A
- msgbox SafariZone_South_Text_2A521A, 4
+ msgbox SafariZone_South_Text_2A521A, MSGBOX_DEFAULT
release
end
SafariZone_South_EventScript_23D30D:: @ 823D30D
setflag FLAG_0x05D
- msgbox SafariZone_South_Text_2A52AB, 4
+ msgbox SafariZone_South_Text_2A52AB, MSGBOX_DEFAULT
release
end
SafariZone_South_EventScript_23D31A:: @ 823D31A
- msgbox SafariZone_South_Text_2A5248, 4
+ msgbox SafariZone_South_Text_2A5248, MSGBOX_DEFAULT
closemessage
switch VAR_FACING
case 2, SafariZone_South_EventScript_23D33F
@@ -117,38 +117,38 @@ SafariZone_South_Movement_23D38D: @ 823D38D
step_end
SafariZone_South_EventScript_23D390:: @ 823D390
- msgbox SafariZone_South_Text_2A57EE, 2
+ msgbox SafariZone_South_Text_2A57EE, MSGBOX_NPC
end
SafariZone_Southeast_EventScript_23D399:: @ 823D399
- msgbox SafariZone_Southeast_Text_2A582D, 2
+ msgbox SafariZone_Southeast_Text_2A582D, MSGBOX_NPC
end
SafariZone_South_EventScript_23D3A2:: @ 823D3A2
- msgbox SafariZone_South_Text_2A5887, 2
+ msgbox SafariZone_South_Text_2A5887, MSGBOX_NPC
end
SafariZone_Southeast_EventScript_23D3AB:: @ 823D3AB
- msgbox SafariZone_Southeast_Text_2A58C6, 2
+ msgbox SafariZone_Southeast_Text_2A58C6, MSGBOX_NPC
end
SafariZone_Southeast_EventScript_23D3B4:: @ 823D3B4
- msgbox SafariZone_Southeast_Text_2A58FD, 2
+ msgbox SafariZone_Southeast_Text_2A58FD, MSGBOX_NPC
end
SafariZone_Southeast_EventScript_23D3BD:: @ 823D3BD
- msgbox SafariZone_Southeast_Text_2A5960, 2
+ msgbox SafariZone_Southeast_Text_2A5960, MSGBOX_NPC
end
SafariZone_Northeast_EventScript_23D3C6:: @ 823D3C6
- msgbox SafariZone_Northeast_Text_2A59A4, 2
+ msgbox SafariZone_Northeast_Text_2A59A4, MSGBOX_NPC
end
SafariZone_Northeast_EventScript_23D3CF:: @ 823D3CF
- msgbox SafariZone_Northeast_Text_2A5A09, 2
+ msgbox SafariZone_Northeast_Text_2A5A09, MSGBOX_NPC
end
SafariZone_Northeast_EventScript_23D3D8:: @ 823D3D8
- msgbox SafariZone_Northeast_Text_2A5A44, 2
+ msgbox SafariZone_Northeast_Text_2A5A44, MSGBOX_NPC
end
diff --git a/data/maps/SafariZone_Southeast/events.inc b/data/maps/SafariZone_Southeast/events.inc
index d1be808cc..badaaefd4 100644
--- a/data/maps/SafariZone_Southeast/events.inc
+++ b/data/maps/SafariZone_Southeast/events.inc
@@ -2,12 +2,12 @@ SafariZone_Southeast_EventObjects: @ 853BA6C
object_event 1, EVENT_OBJ_GFX_RICH_BOY, 0, 7, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_23D3BD, 0
object_event 2, EVENT_OBJ_GFX_FAT_MAN, 0, 20, 30, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_23D3B4, 0
object_event 3, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 8, 26, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_23D3AB, 0
- object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_2912F0, 1170
- object_event 5, EVENT_OBJ_GFX_CAMPER, 0, 12, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_Southeast_EventScript_23D399, 747
+ object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 31, 15, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Southeast_EventScript_2912F0, FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL
+ object_event 5, EVENT_OBJ_GFX_CAMPER, 0, 12, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, SafariZone_Southeast_EventScript_23D399, FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
SafariZone_Southeast_MapBGEvents: @ 853BAE4
- bg_hidden_item_event 19, 36, 3, ITEM_PP_UP, 108
- bg_hidden_item_event 32, 33, 0, ITEM_FULL_RESTORE, 105
+ bg_hidden_item_event 19, 36, 3, ITEM_PP_UP, FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP
+ bg_hidden_item_event 32, 33, 0, ITEM_FULL_RESTORE, FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE
SafariZone_Southeast_MapEvents:: @ 853BAFC
map_events SafariZone_Southeast_EventObjects, 0x0, 0x0, SafariZone_Southeast_MapBGEvents
diff --git a/data/maps/SafariZone_Southwest/events.inc b/data/maps/SafariZone_Southwest/events.inc
index f4750621d..930d3c8ed 100644
--- a/data/maps/SafariZone_Southwest/events.inc
+++ b/data/maps/SafariZone_Southwest/events.inc
@@ -1,6 +1,6 @@
SafariZone_Southwest_EventObjects: @ 853B24C
object_event 1, EVENT_OBJ_GFX_WOMAN_2, 0, 22, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SafariZone_Southwest_EventScript_23D267, 0
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 37, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Southwest_EventScript_2912D6, 1131
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 0, 37, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SafariZone_Southwest_EventScript_2912D6, FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE
SafariZone_Southwest_MapWarps: @ 853B27C
warp_def 29, 7, 3, 0, MAP_SAFARI_ZONE_REST_HOUSE
diff --git a/data/maps/SafariZone_Southwest/scripts.inc b/data/maps/SafariZone_Southwest/scripts.inc
index d2e75eb1b..069f22b49 100644
--- a/data/maps/SafariZone_Southwest/scripts.inc
+++ b/data/maps/SafariZone_Southwest/scripts.inc
@@ -2,10 +2,10 @@ SafariZone_Southwest_MapScripts:: @ 823D266
.byte 0
SafariZone_Southwest_EventScript_23D267:: @ 823D267
- msgbox SafariZone_Southwest_Text_2A53B7, 2
+ msgbox SafariZone_Southwest_Text_2A53B7, MSGBOX_NPC
end
SafariZone_Southwest_EventScript_23D270:: @ 823D270
- msgbox SafariZone_Southwest_Text_2A5613, 3
+ msgbox SafariZone_Southwest_Text_2A5613, MSGBOX_SIGN
end
diff --git a/data/maps/ScorchedSlab/events.inc b/data/maps/ScorchedSlab/events.inc
index 5bbe88c20..20a5fc145 100644
--- a/data/maps/ScorchedSlab/events.inc
+++ b/data/maps/ScorchedSlab/events.inc
@@ -1,5 +1,5 @@
ScorchedSlab_EventObjects: @ 8536F88
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, ScorchedSlab_EventScript_2912AF, 1079
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, ScorchedSlab_EventScript_2912AF, FLAG_ITEM_SCORCHED_SLAB_TM_11
ScorchedSlab_MapWarps: @ 8536FA0
warp_def 7, 16, 1, 1, MAP_ROUTE120
diff --git a/data/maps/SeafloorCavern_Entrance/events.inc b/data/maps/SeafloorCavern_Entrance/events.inc
index 11a8211de..b0574d14e 100644
--- a/data/maps/SeafloorCavern_Entrance/events.inc
+++ b/data/maps/SeafloorCavern_Entrance/events.inc
@@ -1,5 +1,5 @@
SeafloorCavern_Entrance_EventObjects: @ 85356BC
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SeafloorCavern_Entrance_EventScript_234485, 941
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SeafloorCavern_Entrance_EventScript_234485, FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT
SeafloorCavern_Entrance_MapWarps: @ 85356D4
warp_def 10, 18, 3, 0, MAP_UNDERWATER4
diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc
index 9eb71d5e3..db5dd7f02 100644
--- a/data/maps/SeafloorCavern_Entrance/scripts.inc
+++ b/data/maps/SeafloorCavern_Entrance/scripts.inc
@@ -27,7 +27,7 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
delay 30
setvar VAR_0x40D9, 1
moveobjectoffscreen 1
- msgbox SeafloorCavern_Entrance_Text_234544, 4
+ msgbox SeafloorCavern_Entrance_Text_234544, MSGBOX_DEFAULT
closemessage
applymovement 1, SeafloorCavern_Entrance_Movement_2725A6
waitmovement 0
@@ -41,7 +41,7 @@ SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED
call_if 1, SeafloorCavern_Entrance_EventScript_234523
compare VAR_FACING, 2
call_if 1, SeafloorCavern_Entrance_EventScript_234539
- msgbox SeafloorCavern_Entrance_Text_2346C8, 4
+ msgbox SeafloorCavern_Entrance_Text_2346C8, MSGBOX_DEFAULT
closemessage
applymovement 1, SeafloorCavern_Entrance_Movement_2725A6
waitmovement 0
diff --git a/data/maps/SeafloorCavern_Room1/events.inc b/data/maps/SeafloorCavern_Room1/events.inc
index 2c8e51e30..2c507151b 100644
--- a/data/maps/SeafloorCavern_Room1/events.inc
+++ b/data/maps/SeafloorCavern_Room1/events.inc
@@ -1,9 +1,9 @@
SeafloorCavern_Room1_EventObjects: @ 85356F8
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, 17
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, 18
- object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 5, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2907A6, 19
- object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 1, 2, SeafloorCavern_Room1_EventScript_2347EC, 946
- object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, SeafloorCavern_Room1_EventScript_234803, 946
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, FLAG_TEMP_11
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, FLAG_TEMP_12
+ object_event 3, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 5, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2907A6, FLAG_TEMP_13
+ object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 1, 2, SeafloorCavern_Room1_EventScript_2347EC, FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
+ object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 15, 10, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, SeafloorCavern_Room1_EventScript_234803, FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
SeafloorCavern_Room1_MapWarps: @ 8535770
warp_def 5, 18, 3, 1, MAP_SEAFLOOR_CAVERN_ENTRANCE
diff --git a/data/maps/SeafloorCavern_Room1/scripts.inc b/data/maps/SeafloorCavern_Room1/scripts.inc
index d3308fca2..96ef36d38 100644
--- a/data/maps/SeafloorCavern_Room1/scripts.inc
+++ b/data/maps/SeafloorCavern_Room1/scripts.inc
@@ -2,13 +2,13 @@ SeafloorCavern_Room1_MapScripts:: @ 82347EB
.byte 0
SeafloorCavern_Room1_EventScript_2347EC:: @ 82347EC
- trainerbattle 0, TRAINER_GRUNT_5, 0, SeafloorCavern_Room1_Text_23481A, SeafloorCavern_Room1_Text_23484A
- msgbox SeafloorCavern_Room1_Text_23485D, 6
+ trainerbattle_single TRAINER_GRUNT_5, SeafloorCavern_Room1_Text_23481A, SeafloorCavern_Room1_Text_23484A
+ msgbox SeafloorCavern_Room1_Text_23485D, MSGBOX_AUTOCLOSE
end
SeafloorCavern_Room1_EventScript_234803:: @ 8234803
- trainerbattle 0, TRAINER_GRUNT_6, 0, SeafloorCavern_Room1_Text_234898, SeafloorCavern_Room1_Text_2348CD
- msgbox SeafloorCavern_Room1_Text_2348E3, 6
+ trainerbattle_single TRAINER_GRUNT_6, SeafloorCavern_Room1_Text_234898, SeafloorCavern_Room1_Text_2348CD
+ msgbox SeafloorCavern_Room1_Text_2348E3, MSGBOX_AUTOCLOSE
end
SeafloorCavern_Room1_Text_23481A: @ 823481A
diff --git a/data/maps/SeafloorCavern_Room2/events.inc b/data/maps/SeafloorCavern_Room2/events.inc
index 82f924121..1cc30957a 100644
--- a/data/maps/SeafloorCavern_Room2/events.inc
+++ b/data/maps/SeafloorCavern_Room2/events.inc
@@ -1,12 +1,12 @@
SeafloorCavern_Room2_EventObjects: @ 853579C
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 18
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 19
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 17
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 21
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 22
- object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 8, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, 24
- object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 9, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, 25
- object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 23
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, FLAG_TEMP_12
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 10, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, FLAG_TEMP_13
+ object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, FLAG_TEMP_11
+ object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, FLAG_TEMP_15
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, FLAG_TEMP_16
+ object_event 6, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 8, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, FLAG_TEMP_18
+ object_event 7, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 9, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, FLAG_TEMP_19
+ object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, FLAG_TEMP_17
SeafloorCavern_Room2_MapWarps: @ 853585C
warp_def 10, 7, 3, 2, MAP_SEAFLOOR_CAVERN_ROOM1
diff --git a/data/maps/SeafloorCavern_Room3/events.inc b/data/maps/SeafloorCavern_Room3/events.inc
index 9a1399705..e48782693 100644
--- a/data/maps/SeafloorCavern_Room3/events.inc
+++ b/data/maps/SeafloorCavern_Room3/events.inc
@@ -1,13 +1,13 @@
SeafloorCavern_Room3_EventObjects: @ 8535890
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 18
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 20
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 21
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 22
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 23
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 24
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 25
- object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 9, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 6, SeafloorCavern_Room3_EventScript_234938, 946
- object_event 9, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 4, SeafloorCavern_Room3_EventScript_23494F, 946
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_12
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_14
+ object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_15
+ object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_16
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_17
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_18
+ object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, FLAG_TEMP_19
+ object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 9, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 6, SeafloorCavern_Room3_EventScript_234938, FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
+ object_event 9, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 4, SeafloorCavern_Room3_EventScript_23494F, FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
SeafloorCavern_Room3_MapWarps: @ 8535968
warp_def 8, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM8
diff --git a/data/maps/SeafloorCavern_Room3/scripts.inc b/data/maps/SeafloorCavern_Room3/scripts.inc
index f57d58e22..29bfcc89a 100644
--- a/data/maps/SeafloorCavern_Room3/scripts.inc
+++ b/data/maps/SeafloorCavern_Room3/scripts.inc
@@ -2,13 +2,13 @@ SeafloorCavern_Room3_MapScripts:: @ 8234937
.byte 0
SeafloorCavern_Room3_EventScript_234938:: @ 8234938
- trainerbattle 0, TRAINER_SHELLY_2, 0, SeafloorCavern_Room3_Text_234966, SeafloorCavern_Room3_Text_234A79
- msgbox SeafloorCavern_Room3_Text_234A8A, 6
+ trainerbattle_single TRAINER_SHELLY_2, SeafloorCavern_Room3_Text_234966, SeafloorCavern_Room3_Text_234A79
+ msgbox SeafloorCavern_Room3_Text_234A8A, MSGBOX_AUTOCLOSE
end
SeafloorCavern_Room3_EventScript_23494F:: @ 823494F
- trainerbattle 0, TRAINER_GRUNT_27, 0, SeafloorCavern_Room3_Text_234B3A, SeafloorCavern_Room3_Text_234BFE
- msgbox SeafloorCavern_Room3_Text_234C04, 6
+ trainerbattle_single TRAINER_GRUNT_27, SeafloorCavern_Room3_Text_234B3A, SeafloorCavern_Room3_Text_234BFE
+ msgbox SeafloorCavern_Room3_Text_234C04, MSGBOX_AUTOCLOSE
end
SeafloorCavern_Room3_Text_234966: @ 8234966
diff --git a/data/maps/SeafloorCavern_Room4/events.inc b/data/maps/SeafloorCavern_Room4/events.inc
index e67cb0d5b..c4e96aee0 100644
--- a/data/maps/SeafloorCavern_Room4/events.inc
+++ b/data/maps/SeafloorCavern_Room4/events.inc
@@ -1,6 +1,6 @@
SeafloorCavern_Room4_EventObjects: @ 8535994
- object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, SeafloorCavern_Room4_EventScript_234C9C, 946
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 5, 12, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, SeafloorCavern_Room4_EventScript_234CB3, 946
+ object_event 1, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 1, 1, 1, 3, SeafloorCavern_Room4_EventScript_234C9C, FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 5, 12, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 3, SeafloorCavern_Room4_EventScript_234CB3, FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
SeafloorCavern_Room4_MapWarps: @ 85359C4
warp_def 13, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM2
diff --git a/data/maps/SeafloorCavern_Room4/scripts.inc b/data/maps/SeafloorCavern_Room4/scripts.inc
index e509013d6..92e165c7b 100644
--- a/data/maps/SeafloorCavern_Room4/scripts.inc
+++ b/data/maps/SeafloorCavern_Room4/scripts.inc
@@ -2,13 +2,13 @@ SeafloorCavern_Room4_MapScripts:: @ 8234C9B
.byte 0
SeafloorCavern_Room4_EventScript_234C9C:: @ 8234C9C
- trainerbattle 0, TRAINER_GRUNT_7, 0, SeafloorCavern_Room4_Text_234CCA, SeafloorCavern_Room4_Text_234CF3
- msgbox SeafloorCavern_Room4_Text_234CFC, 6
+ trainerbattle_single TRAINER_GRUNT_7, SeafloorCavern_Room4_Text_234CCA, SeafloorCavern_Room4_Text_234CF3
+ msgbox SeafloorCavern_Room4_Text_234CFC, MSGBOX_AUTOCLOSE
end
SeafloorCavern_Room4_EventScript_234CB3:: @ 8234CB3
- trainerbattle 0, TRAINER_GRUNT_9, 0, SeafloorCavern_Room4_Text_234D3A, SeafloorCavern_Room4_Text_234D68
- msgbox SeafloorCavern_Room4_Text_234D79, 6
+ trainerbattle_single TRAINER_GRUNT_9, SeafloorCavern_Room4_Text_234D3A, SeafloorCavern_Room4_Text_234D68
+ msgbox SeafloorCavern_Room4_Text_234D79, MSGBOX_AUTOCLOSE
end
SeafloorCavern_Room4_Text_234CCA: @ 8234CCA
diff --git a/data/maps/SeafloorCavern_Room5/events.inc b/data/maps/SeafloorCavern_Room5/events.inc
index f0c69175b..e4780db22 100644
--- a/data/maps/SeafloorCavern_Room5/events.inc
+++ b/data/maps/SeafloorCavern_Room5/events.inc
@@ -1,10 +1,10 @@
SeafloorCavern_Room5_EventObjects: @ 85359F8
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 17
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 18
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 19
- object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, 21
- object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, 22
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 20
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, FLAG_TEMP_11
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 11, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, FLAG_TEMP_12
+ object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 11, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, FLAG_TEMP_13
+ object_event 4, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 3, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, FLAG_TEMP_15
+ object_event 5, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, FLAG_TEMP_16
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, FLAG_TEMP_14
SeafloorCavern_Room5_MapWarps: @ 8535A88
warp_def 4, 1, 3, 1, MAP_SEAFLOOR_CAVERN_ROOM1
diff --git a/data/maps/SeafloorCavern_Room8/events.inc b/data/maps/SeafloorCavern_Room8/events.inc
index d69b12f7e..c34ec76d3 100644
--- a/data/maps/SeafloorCavern_Room8/events.inc
+++ b/data/maps/SeafloorCavern_Room8/events.inc
@@ -1,16 +1,16 @@
SeafloorCavern_Room8_EventObjects: @ 8535B04
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 17
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 18
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 19
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 20
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 21
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 22
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 23
- object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 24
- object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 25
- object_event 10, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 26
- object_event 11, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 27
- object_event 12, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 28
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_11
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_12
+ object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_13
+ object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_14
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_15
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_16
+ object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_17
+ object_event 8, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_18
+ object_event 9, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 3, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_19
+ object_event 10, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_1A
+ object_event 11, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 6, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_1B
+ object_event 12, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, FLAG_TEMP_1C
SeafloorCavern_Room8_MapWarps: @ 8535C24
warp_def 5, 2, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM9
diff --git a/data/maps/SeafloorCavern_Room9/events.inc b/data/maps/SeafloorCavern_Room9/events.inc
index 2fb2d069b..6ca415e12 100644
--- a/data/maps/SeafloorCavern_Room9/events.inc
+++ b/data/maps/SeafloorCavern_Room9/events.inc
@@ -1,11 +1,11 @@
SeafloorCavern_Room9_EventObjects: @ 8535C48
- object_event 1, EVENT_OBJ_GFX_KYOGRE_1, 0, 17, 38, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 859
- object_event 2, EVENT_OBJ_GFX_ARCHIE, 0, 9, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 828
- object_event 3, EVENT_OBJ_GFX_MAXIE, 0, 9, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 829
- object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 8, 41, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 831
- object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 8, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 831
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SeafloorCavern_Room9_EventScript_291401, 1090
- object_event 7, EVENT_OBJ_GFX_KYOGRE_2, 0, 17, 38, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 733
+ object_event 1, EVENT_OBJ_GFX_KYOGRE_1, 0, 17, 38, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
+ object_event 2, EVENT_OBJ_GFX_ARCHIE, 0, 9, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
+ object_event 3, EVENT_OBJ_GFX_MAXIE, 0, 9, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
+ object_event 4, EVENT_OBJ_GFX_MAGMA_MEMBER_M, 0, 8, 41, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
+ object_event 5, EVENT_OBJ_GFX_MAGMA_MEMBER_F, 0, 8, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 14, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SeafloorCavern_Room9_EventScript_291401, FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26
+ object_event 7, EVENT_OBJ_GFX_KYOGRE_2, 0, 17, 38, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2
SeafloorCavern_Room9_MapWarps: @ 8535CF0
warp_def 5, 4, 3, 0, MAP_SEAFLOOR_CAVERN_ROOM8
diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc
index cbfbccfe4..70e37ac5e 100644
--- a/data/maps/SeafloorCavern_Room9/scripts.inc
+++ b/data/maps/SeafloorCavern_Room9/scripts.inc
@@ -12,27 +12,27 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
applymovement 255, SeafloorCavern_Room9_Movement_23505C
waitmovement 0
playbgm MUS_AQA_0, 0
- msgbox SeafloorCavern_Room9_Text_23505F, 4
+ msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT
closemessage
addobject VAR_0x8004
applymovement 255, SeafloorCavern_Room9_Movement_2725A4
waitmovement 0
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23507C, 4
+ msgbox SeafloorCavern_Room9_Text_23507C, MSGBOX_DEFAULT
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2350A6, 4
+ msgbox SeafloorCavern_Room9_Text_2350A6, MSGBOX_DEFAULT
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_27259E
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23512C, 4
- trainerbattle 3, TRAINER_ARCHIE, 0, SeafloorCavern_Room9_Text_2351BC
- msgbox SeafloorCavern_Room9_Text_2351E5, 4
+ 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
doweather
special sub_80B05B4
waitstate
- msgbox SeafloorCavern_Room9_Text_235279, 4
+ msgbox SeafloorCavern_Room9_Text_235279, MSGBOX_DEFAULT
special WaitWeather
waitstate
setvar VAR_RESULT, 1
@@ -80,21 +80,21 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
setvar VAR_0x8005, 3
setvar VAR_0x8006, 4
setvar VAR_0x8007, 5
- msgbox SeafloorCavern_Room9_Text_2352A7, 4
+ msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT
playse SE_PC_LOGIN
applymovement 255, SeafloorCavern_Room9_Movement_2725A4
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2352F6, 4
+ msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_235035
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23532B, 4
+ msgbox SeafloorCavern_Room9_Text_23532B, MSGBOX_DEFAULT
closemessage
playse SE_PC_OFF
delay 20
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725AA
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_23546F, 4
+ msgbox SeafloorCavern_Room9_Text_23546F, MSGBOX_DEFAULT
closemessage
addobject VAR_0x8005
addobject VAR_0x8006
@@ -105,41 +105,41 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
waitmovement 0
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A4
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2354F0, 4
+ msgbox SeafloorCavern_Room9_Text_2354F0, MSGBOX_DEFAULT
playse SE_PIN
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_272598
waitmovement 0
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_27259A
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_2355C2, 4
- msgbox SeafloorCavern_Room9_Text_235692, 4
+ msgbox SeafloorCavern_Room9_Text_2355C2, MSGBOX_DEFAULT
+ msgbox SeafloorCavern_Room9_Text_235692, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_235054
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23503A
waitmovement 0
- msgbox SeafloorCavern_Room9_Text_235723, 4
+ msgbox SeafloorCavern_Room9_Text_235723, MSGBOX_DEFAULT
setvar VAR_0x407B, 1
setvar VAR_0x405E, 1
- clearflag FLAG_0x3CD
- clearflag FLAG_0x33A
- clearflag FLAG_0x33B
- clearflag FLAG_0x356
- clearflag FLAG_0x3E6
- clearflag FLAG_0x3E5
- setflag FLAG_0x347
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1
setflag FLAG_LEGENDARIES_IN_SOOTOPOLIS
- clearflag FLAG_0x3B0
- clearflag FLAG_0x3B1
+ clearflag FLAG_HIDE_ROUTE_128_ARCHIE
+ clearflag FLAG_HIDE_ROUTE_128_MAXIE
setflag FLAG_SYS_WEATHER_CTRL
setflag FLAG_0x081
- setflag FLAG_0x3C7
+ setflag FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN
setvar VAR_0x40C6, 2
setvar VAR_0x40A2, 1
- setflag FLAG_0x33C
- setflag FLAG_0x33D
- setflag FLAG_0x33F
- setflag FLAG_0x35B
- setflag FLAG_0x3B2
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1
+ setflag FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS
setflag FLAG_SPECIAL_FLAG_0x4000
warp MAP_ROUTE128, 255, 38, 22
waitstate
diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc
index 9cd3727bb..a906d338e 100644
--- a/data/maps/SealedChamber_InnerRoom/scripts.inc
+++ b/data/maps/SealedChamber_InnerRoom/scripts.inc
@@ -28,7 +28,7 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8
waitstate
playse SE_DOOR
delay 40
- msgbox gUnknown_0827301B, 4
+ msgbox gUnknown_0827301B, MSGBOX_DEFAULT
closemessage
fadeinbgm 0
setflag FLAG_0x0E4
diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc
index e9e79d1e9..7d3e32479 100644
--- a/data/maps/SealedChamber_OuterRoom/scripts.inc
+++ b/data/maps/SealedChamber_OuterRoom/scripts.inc
@@ -118,7 +118,7 @@ SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0
end
SealedChamber_OuterRoom_EventScript_2391E3:: @ 82391E3
- msgbox gUnknown_0827304E, 4
+ msgbox gUnknown_0827304E, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SecretBase_BlueCave1/events.inc b/data/maps/SecretBase_BlueCave1/events.inc
index 606999612..87361e082 100644
--- a/data/maps/SecretBase_BlueCave1/events.inc
+++ b/data/maps/SecretBase_BlueCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave1_EventObjects: @ 8537BEC
- object_event 1, 255, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave1_MapWarps: @ 8537D54
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BlueCave2/events.inc b/data/maps/SecretBase_BlueCave2/events.inc
index 0991d03e2..ad584e2bb 100644
--- a/data/maps/SecretBase_BlueCave2/events.inc
+++ b/data/maps/SecretBase_BlueCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave2_EventObjects: @ 8538504
- object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave2_MapWarps: @ 853866C
warp_def 7, 5, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BlueCave3/events.inc b/data/maps/SecretBase_BlueCave3/events.inc
index e0bd13a3b..af85949d3 100644
--- a/data/maps/SecretBase_BlueCave3/events.inc
+++ b/data/maps/SecretBase_BlueCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave3_EventObjects: @ 8538E1C
- object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave3_MapWarps: @ 8538F84
warp_def 4, 15, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BlueCave4/events.inc b/data/maps/SecretBase_BlueCave4/events.inc
index 15266e18b..6ff0d4e67 100644
--- a/data/maps/SecretBase_BlueCave4/events.inc
+++ b/data/maps/SecretBase_BlueCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_BlueCave4_EventObjects: @ 8539734
- object_event 1, 255, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BlueCave4_MapWarps: @ 853989C
warp_def 4, 15, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave1/events.inc b/data/maps/SecretBase_BrownCave1/events.inc
index 8c2771f4e..5a49bb704 100644
--- a/data/maps/SecretBase_BrownCave1/events.inc
+++ b/data/maps/SecretBase_BrownCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave1_EventObjects: @ 8537A68
- object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave1_MapWarps: @ 8537BD0
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave2/events.inc b/data/maps/SecretBase_BrownCave2/events.inc
index f5e168e36..569b808bd 100644
--- a/data/maps/SecretBase_BrownCave2/events.inc
+++ b/data/maps/SecretBase_BrownCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave2_EventObjects: @ 8538380
- object_event 1, 255, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave2_MapWarps: @ 85384E8
warp_def 1, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave3/events.inc b/data/maps/SecretBase_BrownCave3/events.inc
index c41147bc6..4dd9655b8 100644
--- a/data/maps/SecretBase_BrownCave3/events.inc
+++ b/data/maps/SecretBase_BrownCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave3_EventObjects: @ 8538C98
- object_event 1, 255, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave3_MapWarps: @ 8538E00
warp_def 11, 9, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_BrownCave4/events.inc b/data/maps/SecretBase_BrownCave4/events.inc
index 40d00597e..506c3cafc 100644
--- a/data/maps/SecretBase_BrownCave4/events.inc
+++ b/data/maps/SecretBase_BrownCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_BrownCave4_EventObjects: @ 85395B0
- object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_BrownCave4_MapWarps: @ 8539718
warp_def 2, 8, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave1/events.inc b/data/maps/SecretBase_RedCave1/events.inc
index 1b5f202cf..edc9b8e78 100644
--- a/data/maps/SecretBase_RedCave1/events.inc
+++ b/data/maps/SecretBase_RedCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave1_EventObjects: @ 85378E4
- object_event 1, 255, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave1_MapWarps: @ 8537A4C
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave2/events.inc b/data/maps/SecretBase_RedCave2/events.inc
index d84f297a2..c5817721e 100644
--- a/data/maps/SecretBase_RedCave2/events.inc
+++ b/data/maps/SecretBase_RedCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave2_EventObjects: @ 85381FC
- object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave2_MapWarps: @ 8538364
warp_def 3, 14, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave3/events.inc b/data/maps/SecretBase_RedCave3/events.inc
index f288371e8..af7854d9e 100644
--- a/data/maps/SecretBase_RedCave3/events.inc
+++ b/data/maps/SecretBase_RedCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave3_EventObjects: @ 8538B14
- object_event 1, 255, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave3_MapWarps: @ 8538C7C
warp_def 3, 6, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_RedCave4/events.inc b/data/maps/SecretBase_RedCave4/events.inc
index 9090f940e..181e8d7c6 100644
--- a/data/maps/SecretBase_RedCave4/events.inc
+++ b/data/maps/SecretBase_RedCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_RedCave4_EventObjects: @ 853942C
- object_event 1, 255, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_RedCave4_MapWarps: @ 8539594
warp_def 2, 12, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub1/events.inc b/data/maps/SecretBase_Shrub1/events.inc
index aa886a0aa..aa8054a80 100644
--- a/data/maps/SecretBase_Shrub1/events.inc
+++ b/data/maps/SecretBase_Shrub1/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub1_EventObjects: @ 8538078
- object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub1_MapWarps: @ 85381E0
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub2/events.inc b/data/maps/SecretBase_Shrub2/events.inc
index 1acb5d0a1..ecbbdfcb4 100644
--- a/data/maps/SecretBase_Shrub2/events.inc
+++ b/data/maps/SecretBase_Shrub2/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub2_EventObjects: @ 8538990
- object_event 1, 255, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub2_MapWarps: @ 8538AF8
warp_def 7, 5, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub3/events.inc b/data/maps/SecretBase_Shrub3/events.inc
index 7902f3fc7..2a280d6c5 100644
--- a/data/maps/SecretBase_Shrub3/events.inc
+++ b/data/maps/SecretBase_Shrub3/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub3_EventObjects: @ 85392A8
- object_event 1, 255, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub3_MapWarps: @ 8539410
warp_def 6, 9, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Shrub4/events.inc b/data/maps/SecretBase_Shrub4/events.inc
index c6d5f32f5..bef5f0ca2 100644
--- a/data/maps/SecretBase_Shrub4/events.inc
+++ b/data/maps/SecretBase_Shrub4/events.inc
@@ -1,19 +1,19 @@
SecretBase_Shrub4_EventObjects: @ 8539BC0
- object_event 1, 255, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Shrub4_MapWarps: @ 8539D28
warp_def 11, 8, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree1/events.inc b/data/maps/SecretBase_Tree1/events.inc
index 593fb5dbb..a2863ced7 100644
--- a/data/maps/SecretBase_Tree1/events.inc
+++ b/data/maps/SecretBase_Tree1/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree1_EventObjects: @ 8537EF4
- object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree1_MapWarps: @ 853805C
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree2/events.inc b/data/maps/SecretBase_Tree2/events.inc
index 189911755..d930de64f 100644
--- a/data/maps/SecretBase_Tree2/events.inc
+++ b/data/maps/SecretBase_Tree2/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree2_EventObjects: @ 853880C
- object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree2_MapWarps: @ 8538974
warp_def 3, 14, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree3/events.inc b/data/maps/SecretBase_Tree3/events.inc
index b2d950a40..6dda3e303 100644
--- a/data/maps/SecretBase_Tree3/events.inc
+++ b/data/maps/SecretBase_Tree3/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree3_EventObjects: @ 8539124
- object_event 1, 255, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree3_MapWarps: @ 853928C
warp_def 8, 6, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_Tree4/events.inc b/data/maps/SecretBase_Tree4/events.inc
index a1d7f7b50..493bc93db 100644
--- a/data/maps/SecretBase_Tree4/events.inc
+++ b/data/maps/SecretBase_Tree4/events.inc
@@ -1,19 +1,19 @@
SecretBase_Tree4_EventObjects: @ 8539A3C
- object_event 1, 255, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_Tree4_MapWarps: @ 8539BA4
warp_def 7, 12, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave1/events.inc b/data/maps/SecretBase_YellowCave1/events.inc
index 9b394350c..04045999a 100644
--- a/data/maps/SecretBase_YellowCave1/events.inc
+++ b/data/maps/SecretBase_YellowCave1/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave1_EventObjects: @ 8537D70
- object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave1_MapWarps: @ 8537ED8
warp_def 5, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave2/events.inc b/data/maps/SecretBase_YellowCave2/events.inc
index a958fcb53..d26d337ae 100644
--- a/data/maps/SecretBase_YellowCave2/events.inc
+++ b/data/maps/SecretBase_YellowCave2/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave2_EventObjects: @ 8538688
- object_event 1, 255, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave2_MapWarps: @ 85387F0
warp_def 12, 7, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave3/events.inc b/data/maps/SecretBase_YellowCave3/events.inc
index 2decabcee..e888677b4 100644
--- a/data/maps/SecretBase_YellowCave3/events.inc
+++ b/data/maps/SecretBase_YellowCave3/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave3_EventObjects: @ 8538FA0
- object_event 1, 255, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave3_MapWarps: @ 8539108
warp_def 5, 9, 0, 126, MAP_NONE
diff --git a/data/maps/SecretBase_YellowCave4/events.inc b/data/maps/SecretBase_YellowCave4/events.inc
index 535ca8e4c..577693af9 100644
--- a/data/maps/SecretBase_YellowCave4/events.inc
+++ b/data/maps/SecretBase_YellowCave4/events.inc
@@ -1,19 +1,19 @@
SecretBase_YellowCave4_EventObjects: @ 85398B8
- object_event 1, 255, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, 173
- object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 174
- object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 175
- object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 176
- object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 177
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 178
- object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 179
- object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 180
- object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 181
- object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 182
- object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 183
- object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 184
- object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 185
- object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 186
- object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 187
+ object_event 1, 255, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0
+ object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1
+ object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2
+ object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3
+ object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5
+ object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6
+ object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7
+ object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8
+ object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9
+ object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10
+ object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11
+ object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12
+ object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13
+ object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14
SecretBase_YellowCave4_MapWarps: @ 8539A20
warp_def 6, 12, 0, 126, MAP_NONE
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/events.inc b/data/maps/ShoalCave_LowTideEntranceRoom/events.inc
index 875bed2fb..899ad3eb8 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/events.inc
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/events.inc
@@ -1,5 +1,5 @@
ShoalCave_LowTideEntranceRoom_EventObjects: @ 853627C
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_2913C0, 1081
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 30, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_2913C0, FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL
object_event 2, EVENT_OBJ_GFX_EXPERT_M, 0, 18, 15, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_236DD9, 0
ShoalCave_LowTideEntranceRoom_MapWarps: @ 85362AC
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
index f57a27c1d..7d63928ab 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
@@ -28,7 +28,7 @@ ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9
checkitem ITEM_SHOAL_SHELL, 4
compare VAR_RESULT, 0
goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, 5
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF
checkitemspace ITEM_SHELL_BELL, 1
@@ -36,14 +36,14 @@ ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9
call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236E69
compare VAR_RESULT, 2
goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7FAC, 4
+ 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
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, 4
- setflag FLAG_0x002
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_2
release
end
@@ -64,7 +64,7 @@ ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B
return
ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A80F5, 4
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A80F5, MSGBOX_DEFAULT
release
end
@@ -75,17 +75,17 @@ ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B
checkitem ITEM_SHOAL_SHELL, 1
compare VAR_RESULT, 1
goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, 4
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, MSGBOX_DEFAULT
release
end
ShoalCave_LowTideEntranceRoom_EventScript_236EC5:: @ 8236EC5
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A7EB3, 4
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7EB3, MSGBOX_DEFAULT
release
end
ShoalCave_LowTideEntranceRoom_EventScript_236ECF:: @ 8236ECF
- msgbox ShoalCave_LowTideEntranceRoom_Text_2A80C6, 4
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A80C6, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/ShoalCave_LowTideIceRoom/events.inc b/data/maps/ShoalCave_LowTideIceRoom/events.inc
index 5f4fe1dac..99ab13475 100644
--- a/data/maps/ShoalCave_LowTideIceRoom/events.inc
+++ b/data/maps/ShoalCave_LowTideIceRoom/events.inc
@@ -1,6 +1,6 @@
ShoalCave_LowTideIceRoom_EventObjects: @ 8537100
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913E7, 1112
- object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 21, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913F4, 1113
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913E7, FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07
+ object_event 2, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 21, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913F4, FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE
ShoalCave_LowTideIceRoom_MapWarps: @ 8537130
warp_def 17, 10, 3, 3, MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/events.inc b/data/maps/ShoalCave_LowTideInnerRoom/events.inc
index 543a7d02b..4f446148e 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/events.inc
+++ b/data/maps/ShoalCave_LowTideInnerRoom/events.inc
@@ -1,5 +1,5 @@
ShoalCave_LowTideInnerRoom_EventObjects: @ 85362E0
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 14, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_2913CD, 1082
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 26, 14, 5, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_2913CD, FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY
ShoalCave_LowTideInnerRoom_MapWarps: @ 85362F8
warp_def 34, 29, 3, 1, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
index 94505a96d..a92e84e3a 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
@@ -82,7 +82,7 @@ ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA
end
ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC
- msgbox ShoalCave_LowTideInnerRoom_Text_2A81A8, 4
+ msgbox ShoalCave_LowTideInnerRoom_Text_2A81A8, MSGBOX_DEFAULT
releaseall
end
@@ -139,7 +139,7 @@ ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C
end
ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE
- msgbox ShoalCave_LowTideInnerRoom_Text_2A8169, 4
+ msgbox ShoalCave_LowTideInnerRoom_Text_2A8169, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/events.inc b/data/maps/ShoalCave_LowTideLowerRoom/events.inc
index dabb85971..b487edcd7 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/events.inc
+++ b/data/maps/ShoalCave_LowTideLowerRoom/events.inc
@@ -1,5 +1,5 @@
ShoalCave_LowTideLowerRoom_EventObjects: @ 85363DC
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 25, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2908BA, 17
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 25, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2908BA, FLAG_TEMP_11
object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 11, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2371B2, 0
ShoalCave_LowTideLowerRoom_MapWarps: @ 853640C
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
index 9883bf3da..fc0fb32a7 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
@@ -29,7 +29,7 @@ ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176
end
ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8
- msgbox ShoalCave_LowTideLowerRoom_Text_2A8169, 4
+ msgbox ShoalCave_LowTideLowerRoom_Text_2A8169, MSGBOX_DEFAULT
releaseall
end
@@ -38,7 +38,7 @@ ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2
faceplayer
checkflag FLAG_0x11B
goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371E1
- msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, 4
+ msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, MSGBOX_DEFAULT
giveitem_std ITEM_FOCUS_BAND
compare VAR_RESULT, 0
goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054
@@ -47,7 +47,7 @@ ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2
end
ShoalCave_LowTideLowerRoom_EventScript_2371E1:: @ 82371E1
- msgbox ShoalCave_LowTideLowerRoom_Text_23728D, 4
+ msgbox ShoalCave_LowTideLowerRoom_Text_23728D, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/events.inc b/data/maps/ShoalCave_LowTideStairsRoom/events.inc
index b6af468c5..6dbf50eb5 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/events.inc
+++ b/data/maps/ShoalCave_LowTideStairsRoom/events.inc
@@ -1,5 +1,5 @@
ShoalCave_LowTideStairsRoom_EventObjects: @ 8536394
- object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_2913DA, 1083
+ object_event 1, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_2913DA, FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL
ShoalCave_LowTideStairsRoom_MapWarps: @ 85363AC
warp_def 3, 12, 3, 1, MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
index e8c87bd98..de2faf65b 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
@@ -29,7 +29,7 @@ ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A
end
ShoalCave_LowTideStairsRoom_EventScript_23714C:: @ 823714C
- msgbox ShoalCave_LowTideStairsRoom_Text_2A8169, 4
+ msgbox ShoalCave_LowTideStairsRoom_Text_2A8169, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SkyPillar_Outside/events.inc b/data/maps/SkyPillar_Outside/events.inc
index 386ea0b35..9519d1248 100644
--- a/data/maps/SkyPillar_Outside/events.inc
+++ b/data/maps/SkyPillar_Outside/events.inc
@@ -1,5 +1,5 @@
SkyPillar_Outside_EventObjects: @ 853701C
- object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SkyPillar_Outside_EventScript_2393F8, 855
+ object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SkyPillar_Outside_EventScript_2393F8, FLAG_HIDE_SKY_PILLAR_WALLACE
SkyPillar_Outside_MapWarps: @ 8537034
warp_def 17, 13, 3, 1, MAP_SKY_PILLAR_ENTRANCE
diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc
index e9fbf4ad6..c809130b7 100644
--- a/data/maps/SkyPillar_Outside/scripts.inc
+++ b/data/maps/SkyPillar_Outside/scripts.inc
@@ -40,7 +40,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
waitmovement 0
applymovement 255, SkyPillar_Outside_Movement_2725A4
waitmovement 0
- msgbox SkyPillar_Outside_Text_239416, 4
+ msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT
closemessage
delay 30
setvar VAR_0x8004, 1
@@ -50,7 +50,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
special sub_8139560
waitstate
delay 40
- msgbox SkyPillar_Outside_Text_2394BC, 4
+ msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT
closemessage
applymovement 255, SkyPillar_Outside_Movement_2393EB
applymovement 1, SkyPillar_Outside_Movement_2393DE
@@ -71,7 +71,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
applymovement 1, SkyPillar_Outside_Movement_2725AA
waitmovement 0
delay 30
- msgbox SkyPillar_Outside_Text_23950C, 4
+ msgbox SkyPillar_Outside_Text_23950C, MSGBOX_DEFAULT
closemessage
setflag FLAG_SYS_WEATHER_CTRL
setweather 15
@@ -79,14 +79,14 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
special WaitWeather
waitstate
delay 30
- msgbox SkyPillar_Outside_Text_23953A, 4
+ msgbox SkyPillar_Outside_Text_23953A, MSGBOX_DEFAULT
closemessage
playse SE_KAIDAN
fadescreenswapbuffers 1
clearflag FLAG_SPECIAL_FLAG_0x4000
setvar VAR_0x405E, 4
removeobject 1
- clearflag FLAG_0x330
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
fadescreenswapbuffers 0
releaseall
end
@@ -138,7 +138,7 @@ SkyPillar_Outside_EventScript_2393F8:: @ 82393F8
end
SkyPillar_Outside_EventScript_2393F9:: @ 82393F9
- msgbox SkyPillar_Outside_Text_239402, 3
+ msgbox SkyPillar_Outside_Text_239402, MSGBOX_SIGN
end
SkyPillar_Outside_Text_239402: @ 8239402
diff --git a/data/maps/SkyPillar_Top/events.inc b/data/maps/SkyPillar_Top/events.inc
index 9271dd4d3..a47e5e77f 100644
--- a/data/maps/SkyPillar_Top/events.inc
+++ b/data/maps/SkyPillar_Top/events.inc
@@ -1,6 +1,6 @@
SkyPillar_Top_EventObjects: @ 8537170
- object_event 1, EVENT_OBJ_GFX_RAYQUAZA_2, 0, 14, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 773
- object_event 2, EVENT_OBJ_GFX_RAYQUAZA_1, 0, 14, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SkyPillar_Top_EventScript_239722, 80
+ object_event 1, EVENT_OBJ_GFX_RAYQUAZA_2, 0, 14, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2
+ object_event 2, EVENT_OBJ_GFX_RAYQUAZA_1, 0, 14, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SkyPillar_Top_EventScript_239722, FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT
SkyPillar_Top_MapWarps: @ 85371A0
warp_def 16, 14, 3, 1, MAP_SKY_PILLAR_5F
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index 690464698..ef0419cdb 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -34,7 +34,7 @@ SkyPillar_Top_EventScript_239705:: @ 8239705
return
SkyPillar_Top_EventScript_23970F:: @ 823970F
- clearflag FLAG_0x050
+ clearflag FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT
return
SkyPillar_Top_MapScript2_239713: @ 8239713
@@ -89,7 +89,7 @@ SkyPillar_Top_EventScript_239785:: @ 8239785
removeobject VAR_LAST_TALKED
fadescreenswapbuffers 0
bufferspeciesname 0, VAR_0x8004
- msgbox gUnknown_08273204, 4
+ msgbox gUnknown_08273204, MSGBOX_DEFAULT
releaseall
end
@@ -124,7 +124,7 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A
applymovement 1, SkyPillar_Top_Movement_23984B
waitmovement 0
removeobject 1
- msgbox SkyPillar_Top_Text_239860, 4
+ msgbox SkyPillar_Top_Text_239860, MSGBOX_DEFAULT
closemessage
delay 20
fadeinbgm 1
diff --git a/data/maps/SlateportCity/events.inc b/data/maps/SlateportCity/events.inc
index 841de657e..2987c2020 100644
--- a/data/maps/SlateportCity/events.inc
+++ b/data/maps/SlateportCity/events.inc
@@ -3,37 +3,37 @@ SlateportCity_EventObjects: @ 85261CC
object_event 2, EVENT_OBJ_GFX_MAN_1, 0, 34, 29, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SlateportCity_EventScript_1DCEF6, 0
object_event 3, EVENT_OBJ_GFX_RICH_BOY, 0, 5, 13, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, SlateportCity_EventScript_1DCEB8, 0
object_event 4, EVENT_OBJ_GFX_WOMAN_4, 0, 26, 29, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_EventScript_1DCF17, 0
- object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 31, 27, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_EventScript_1DD009, 882
+ object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 31, 27, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_EventScript_1DD009, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
object_event 6, EVENT_OBJ_GFX_COOK, 0, 5, 43, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_1DCE42, 0
object_event 7, EVENT_OBJ_GFX_OLD_WOMAN, 0, 20, 37, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_1DCE63, 0
object_event 8, EVENT_OBJ_GFX_GIRL_1, 0, 8, 42, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_1DCE84, 0
- object_event 9, EVENT_OBJ_GFX_CAMERAMAN, 0, 29, 13, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_EventScript_1DD353, 835
- object_event 10, EVENT_OBJ_GFX_REPORTER_F, 0, 28, 14, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_EventScript_1DD35C, 835
- object_event 11, EVENT_OBJ_GFX_SCIENTIST_1, 0, 28, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD1F8, 840
+ object_event 9, EVENT_OBJ_GFX_CAMERAMAN, 0, 29, 13, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_EventScript_1DD353, FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
+ object_event 10, EVENT_OBJ_GFX_REPORTER_F, 0, 28, 14, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_EventScript_1DD35C, FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY
+ object_event 11, EVENT_OBJ_GFX_SCIENTIST_1, 0, 28, 13, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD1F8, FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN
object_event 12, EVENT_OBJ_GFX_SAILOR, 0, 37, 41, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DCFE5, 0
object_event 13, EVENT_OBJ_GFX_SAILOR, 0, 28, 46, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SlateportCity_EventScript_1DCFEE, 0
object_event 14, EVENT_OBJ_GFX_POKEFAN_F, 0, 9, 50, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, SlateportCity_EventScript_1DCFF7, 0
object_event 15, EVENT_OBJ_GFX_MAN_3, 0, 16, 46, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, SlateportCity_EventScript_1DD000, 0
object_event 16, EVENT_OBJ_GFX_MANIAC, 0, 8, 24, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, SlateportCity_EventScript_1DCFBB, 0
object_event 17, EVENT_OBJ_GFX_WOMAN_5, 0, 15, 31, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_EventScript_1DCFDC, 0
- object_event 18, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD020, 882
- object_event 19, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 29, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD037, 882
+ object_event 18, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 30, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD020, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 19, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 29, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD037, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
object_event 20, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 6, 38, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_EventScript_1DD198, 0
object_event 21, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 5, 51, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_1DD16A, 0
object_event 22, EVENT_OBJ_GFX_MAN_5, 0, 34, 51, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_1DD365, 0
object_event 23, EVENT_OBJ_GFX_WOMAN_5, 0, 4, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_EventScript_1DCDE4, 0
- object_event 24, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 11, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_EventScript_1DD1D8, 948
+ object_event 24, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 11, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_EventScript_1DD1D8, FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
object_event 25, EVENT_OBJ_GFX_POKEFAN_M, 0, 5, 47, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_EventScript_1DCDBD, 0
- object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 22, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD04E, 882
- object_event 27, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 23, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD065, 882
- object_event 28, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 24, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD07C, 882
- object_event 29, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 21, 26, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD093, 882
- object_event 30, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 20, 26, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD0AA, 882
- object_event 31, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 26, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD0C1, 882
- object_event 32, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 28, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD14A, 882
- object_event 33, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 25, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD153, 882
+ object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 22, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD04E, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 27, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 23, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD065, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 28, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 24, 27, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD07C, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 29, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 21, 26, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD093, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 30, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 20, 26, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_EventScript_1DD0AA, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 31, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 26, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD0C1, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 32, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 28, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD14A, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
+ object_event 33, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 25, 27, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_EventScript_1DD153, FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
object_event 34, EVENT_OBJ_GFX_POKEFAN_F, 0, 11, 37, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 2, 0, 0, SlateportCity_EventScript_1DD36E, 0
- object_event 35, EVENT_OBJ_GFX_SCOTT, 0, 10, 12, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 2, 0, 0, 0x0, 749
+ object_event 35, EVENT_OBJ_GFX_SCOTT, 0, 10, 12, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 2, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_SCOTT
SlateportCity_MapWarps: @ 8526514
warp_def 19, 19, 0, 0, MAP_SLATEPORT_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc
index 9a5e41b15..d13953d0d 100644
--- a/data/maps/SlateportCity/scripts.inc
+++ b/data/maps/SlateportCity/scripts.inc
@@ -15,7 +15,7 @@ SlateportCity_MapScript1_1DCC6C: @ 81DCC6C
SlateportCity_EventScript_1DCC8D:: @ 81DCC8D
setflag FLAG_VISITED_SLATEPORT_CITY
setvar VAR_0x4086, 0
- setflag FLAG_0x323
+ setflag FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER
return
SlateportCity_EventScript_1DCC99:: @ 81DCC99
@@ -59,24 +59,24 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C
applymovement 255, SlateportCity_Movement_1DCDA8
applymovement 35, SlateportCity_Movement_1DCDAC
waitmovement 0
- msgbox SlateportCity_Text_1DF032, 4
+ msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT
closemessage
applymovement 35, SlateportCity_Movement_2725A4
waitmovement 0
delay 60
- msgbox SlateportCity_Text_1DF0FE, 4
+ msgbox SlateportCity_Text_1DF0FE, MSGBOX_DEFAULT
applymovement 35, SlateportCity_Movement_2725A8
waitmovement 0
- msgbox SlateportCity_Text_1DF12B, 4
+ msgbox SlateportCity_Text_1DF12B, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox SlateportCity_Text_1DF1A6, 4
+ msgbox SlateportCity_Text_1DF1A6, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
setflag FLAG_0x0D7
- msgbox SlateportCity_Text_1DF1D3, 4
+ msgbox SlateportCity_Text_1DF1D3, MSGBOX_DEFAULT
closemessage
applymovement 35, SlateportCity_Movement_1DCDB4
waitmovement 0
@@ -122,7 +122,7 @@ SlateportCity_EventScript_1DCDBD:: @ 81DCDBD
message SlateportCity_Text_1DD64A
waitmessage
pokemart SlateportCity_Pokemart_1DCDD4
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -141,29 +141,29 @@ SlateportCity_EventScript_1DCDE4:: @ 81DCDE4
lock
faceplayer
bufferleadmonspeciesname 0
- msgbox SlateportCity_Text_1DD68A, 4
+ msgbox SlateportCity_Text_1DD68A, MSGBOX_DEFAULT
specialvar VAR_RESULT, LeadMonHasEffortRibbon
compare VAR_RESULT, 1
call_if 1, SlateportCity_EventScript_1DCE38
specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut
compare VAR_RESULT, 0
call_if 1, SlateportCity_EventScript_1DCE2E
- msgbox SlateportCity_Text_1DD697, 4
+ msgbox SlateportCity_Text_1DD697, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message SlateportCity_Text_1DD6E3
waitfanfare
- msgbox SlateportCity_Text_1DD702, 4
+ msgbox SlateportCity_Text_1DD702, MSGBOX_DEFAULT
special GiveLeadMonEffortRibbon
release
end
SlateportCity_EventScript_1DCE2E:: @ 81DCE2E
- msgbox SlateportCity_Text_1DD722, 4
+ msgbox SlateportCity_Text_1DD722, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCE38:: @ 81DCE38
- msgbox SlateportCity_Text_1DD77B, 4
+ msgbox SlateportCity_Text_1DD77B, MSGBOX_DEFAULT
release
end
@@ -172,12 +172,12 @@ SlateportCity_EventScript_1DCE42:: @ 81DCE42
faceplayer
compare VAR_0x4058, 1
call_if 1, SlateportCity_EventScript_1DCE59
- msgbox SlateportCity_Text_1DD81A, 4
+ msgbox SlateportCity_Text_1DD81A, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCE59:: @ 81DCE59
- msgbox SlateportCity_Text_1DE3E2, 4
+ msgbox SlateportCity_Text_1DE3E2, MSGBOX_DEFAULT
release
end
@@ -186,12 +186,12 @@ SlateportCity_EventScript_1DCE63:: @ 81DCE63
faceplayer
compare VAR_0x4058, 1
call_if 1, SlateportCity_EventScript_1DCE7A
- msgbox SlateportCity_Text_1DD8A6, 4
+ msgbox SlateportCity_Text_1DD8A6, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCE7A:: @ 81DCE7A
- msgbox SlateportCity_Text_1DE28E, 4
+ msgbox SlateportCity_Text_1DE28E, MSGBOX_DEFAULT
release
end
@@ -202,17 +202,17 @@ SlateportCity_EventScript_1DCE84:: @ 81DCE84
call_if 1, SlateportCity_EventScript_1DCEA4
checkflag FLAG_0x060
goto_eq SlateportCity_EventScript_1DCEAE
- msgbox SlateportCity_Text_1DD93D, 4
+ msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCEA4:: @ 81DCEA4
- msgbox SlateportCity_Text_1DE30C, 4
+ msgbox SlateportCity_Text_1DE30C, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCEAE:: @ 81DCEAE
- msgbox SlateportCity_Text_1DD999, 4
+ msgbox SlateportCity_Text_1DD999, MSGBOX_DEFAULT
release
end
@@ -221,23 +221,23 @@ SlateportCity_EventScript_1DCEB8:: @ 81DCEB8
faceplayer
compare VAR_0x4058, 1
call_if 1, SlateportCity_EventScript_1DCECF
- msgbox SlateportCity_Text_1DDA34, 4
+ msgbox SlateportCity_Text_1DDA34, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCECF:: @ 81DCECF
- msgbox SlateportCity_Text_1DE376, 4
+ msgbox SlateportCity_Text_1DE376, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCED9:: @ 81DCED9
compare VAR_0x4058, 1
goto_eq SlateportCity_EventScript_1DCEED
- msgbox SlateportCity_Text_1DDA9A, 2
+ msgbox SlateportCity_Text_1DDA9A, MSGBOX_NPC
end
SlateportCity_EventScript_1DCEED:: @ 81DCEED
- msgbox SlateportCity_Text_1DE43D, 3
+ msgbox SlateportCity_Text_1DE43D, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCEF6:: @ 81DCEF6
@@ -245,12 +245,12 @@ SlateportCity_EventScript_1DCEF6:: @ 81DCEF6
faceplayer
compare VAR_0x4058, 1
call_if 1, SlateportCity_EventScript_1DCF0D
- msgbox SlateportCity_Text_1DDB21, 4
+ msgbox SlateportCity_Text_1DDB21, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCF0D:: @ 81DCF0D
- msgbox SlateportCity_Text_1DE460, 4
+ msgbox SlateportCity_Text_1DE460, MSGBOX_DEFAULT
release
end
@@ -259,17 +259,17 @@ SlateportCity_EventScript_1DCF17:: @ 81DCF17
faceplayer
checkflag FLAG_0x094
goto_eq SlateportCity_EventScript_1DCF2C
- msgbox SlateportCity_Text_1DDBAC, 4
+ msgbox SlateportCity_Text_1DDBAC, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCF2C:: @ 81DCF2C
- msgbox SlateportCity_Text_1DDBD5, 4
+ msgbox SlateportCity_Text_1DDBD5, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCF36:: @ 81DCF36
- msgbox SlateportCity_Text_1DE8BC, 3
+ msgbox SlateportCity_Text_1DE8BC, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCF3F:: @ 81DCF3F
@@ -278,51 +278,51 @@ SlateportCity_EventScript_1DCF3F:: @ 81DCF3F
goto_eq SlateportCity_EventScript_1DCF66
checkflag FLAG_BADGE07_GET
goto_eq SlateportCity_EventScript_1DCF5C
- msgbox SlateportCity_Text_1DE8F8, 4
+ msgbox SlateportCity_Text_1DE8F8, MSGBOX_DEFAULT
releaseall
end
SlateportCity_EventScript_1DCF5C:: @ 81DCF5C
- msgbox SlateportCity_Text_1DE940, 4
+ msgbox SlateportCity_Text_1DE940, MSGBOX_DEFAULT
releaseall
end
SlateportCity_EventScript_1DCF66:: @ 81DCF66
- msgbox SlateportCity_Text_1DE9AA, 4
+ msgbox SlateportCity_Text_1DE9AA, MSGBOX_DEFAULT
releaseall
end
SlateportCity_EventScript_1DCF70:: @ 81DCF70
- msgbox SlateportCity_Text_1DEA0B, 3
+ msgbox SlateportCity_Text_1DEA0B, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCF79:: @ 81DCF79
- msgbox SlateportCity_Text_1DEA3B, 3
+ msgbox SlateportCity_Text_1DEA3B, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCF82:: @ 81DCF82
- msgbox SlateportCity_Text_1DEA6F, 3
+ msgbox SlateportCity_Text_1DEA6F, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCF8B:: @ 81DCF8B
- msgbox SlateportCity_Text_1DEAAF, 3
+ msgbox SlateportCity_Text_1DEAAF, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCF94:: @ 81DCF94
lockall
checkflag FLAG_SYS_GAME_CLEAR
goto_eq SlateportCity_EventScript_1DCFA8
- msgbox SlateportCity_Text_1DEAE3, 4
+ msgbox SlateportCity_Text_1DEAE3, MSGBOX_DEFAULT
releaseall
end
SlateportCity_EventScript_1DCFA8:: @ 81DCFA8
- msgbox SlateportCity_Text_1DEB5A, 4
+ msgbox SlateportCity_Text_1DEB5A, MSGBOX_DEFAULT
releaseall
end
SlateportCity_EventScript_1DCFB2:: @ 81DCFB2
- msgbox SlateportCity_Text_1DEBA0, 3
+ msgbox SlateportCity_Text_1DEBA0, MSGBOX_SIGN
end
SlateportCity_EventScript_1DCFBB:: @ 81DCFBB
@@ -330,39 +330,39 @@ SlateportCity_EventScript_1DCFBB:: @ 81DCFBB
faceplayer
compare VAR_0x4058, 1
call_if 1, SlateportCity_EventScript_1DCFD2
- msgbox SlateportCity_Text_1DE10E, 4
+ msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCFD2:: @ 81DCFD2
- msgbox SlateportCity_Text_1DE10E, 4
+ msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT
release
end
SlateportCity_EventScript_1DCFDC:: @ 81DCFDC
- msgbox SlateportCity_Text_1DE16C, 2
+ msgbox SlateportCity_Text_1DE16C, MSGBOX_NPC
end
SlateportCity_EventScript_1DCFE5:: @ 81DCFE5
- msgbox SlateportCity_Text_1DDFF7, 2
+ msgbox SlateportCity_Text_1DDFF7, MSGBOX_NPC
end
SlateportCity_EventScript_1DCFEE:: @ 81DCFEE
- msgbox SlateportCity_Text_1DE04B, 2
+ msgbox SlateportCity_Text_1DE04B, MSGBOX_NPC
end
SlateportCity_EventScript_1DCFF7:: @ 81DCFF7
- msgbox SlateportCity_Text_1DE0D2, 2
+ msgbox SlateportCity_Text_1DE0D2, MSGBOX_NPC
end
SlateportCity_EventScript_1DD000:: @ 81DD000
- msgbox SlateportCity_Text_1DE1EC, 2
+ msgbox SlateportCity_Text_1DE1EC, MSGBOX_NPC
end
SlateportCity_EventScript_1DD009:: @ 81DD009
lock
faceplayer
- msgbox SlateportCity_Text_1DDC4F, 4
+ msgbox SlateportCity_Text_1DDC4F, MSGBOX_DEFAULT
closemessage
applymovement 5, SlateportCity_Movement_2725A2
waitmovement 0
@@ -372,7 +372,7 @@ SlateportCity_EventScript_1DD009:: @ 81DD009
SlateportCity_EventScript_1DD020:: @ 81DD020
lock
faceplayer
- msgbox SlateportCity_Text_1DDC8A, 4
+ msgbox SlateportCity_Text_1DDC8A, MSGBOX_DEFAULT
closemessage
applymovement 18, SlateportCity_Movement_2725A2
waitmovement 0
@@ -382,7 +382,7 @@ SlateportCity_EventScript_1DD020:: @ 81DD020
SlateportCity_EventScript_1DD037:: @ 81DD037
lock
faceplayer
- msgbox SlateportCity_Text_1DDCD5, 4
+ msgbox SlateportCity_Text_1DDCD5, MSGBOX_DEFAULT
closemessage
applymovement 19, SlateportCity_Movement_2725A2
waitmovement 0
@@ -392,7 +392,7 @@ SlateportCity_EventScript_1DD037:: @ 81DD037
SlateportCity_EventScript_1DD04E:: @ 81DD04E
lock
faceplayer
- msgbox SlateportCity_Text_1DDD18, 4
+ msgbox SlateportCity_Text_1DDD18, MSGBOX_DEFAULT
closemessage
applymovement 26, SlateportCity_Movement_2725A2
waitmovement 0
@@ -402,7 +402,7 @@ SlateportCity_EventScript_1DD04E:: @ 81DD04E
SlateportCity_EventScript_1DD065:: @ 81DD065
lock
faceplayer
- msgbox SlateportCity_Text_1DDD7D, 4
+ msgbox SlateportCity_Text_1DDD7D, MSGBOX_DEFAULT
closemessage
applymovement 27, SlateportCity_Movement_2725A2
waitmovement 0
@@ -412,7 +412,7 @@ SlateportCity_EventScript_1DD065:: @ 81DD065
SlateportCity_EventScript_1DD07C:: @ 81DD07C
lock
faceplayer
- msgbox SlateportCity_Text_1DDDC0, 4
+ msgbox SlateportCity_Text_1DDDC0, MSGBOX_DEFAULT
closemessage
applymovement 28, SlateportCity_Movement_2725A2
waitmovement 0
@@ -422,7 +422,7 @@ SlateportCity_EventScript_1DD07C:: @ 81DD07C
SlateportCity_EventScript_1DD093:: @ 81DD093
lock
faceplayer
- msgbox SlateportCity_Text_1DDDDF, 4
+ msgbox SlateportCity_Text_1DDDDF, MSGBOX_DEFAULT
closemessage
applymovement 29, SlateportCity_Movement_2725A2
waitmovement 0
@@ -432,7 +432,7 @@ SlateportCity_EventScript_1DD093:: @ 81DD093
SlateportCity_EventScript_1DD0AA:: @ 81DD0AA
lock
faceplayer
- msgbox SlateportCity_Text_1DDE2F, 4
+ msgbox SlateportCity_Text_1DDE2F, MSGBOX_DEFAULT
closemessage
applymovement 30, SlateportCity_Movement_2725A2
waitmovement 0
@@ -447,7 +447,7 @@ SlateportCity_EventScript_1DD0C1:: @ 81DD0C1
waitmovement 0
applymovement 31, SlateportCity_Movement_27259A
waitmovement 0
- msgbox SlateportCity_Text_1DDE6E, 4
+ msgbox SlateportCity_Text_1DDE6E, MSGBOX_DEFAULT
closemessage
applymovement 31, SlateportCity_Movement_2725A2
waitmovement 0
@@ -455,13 +455,13 @@ SlateportCity_EventScript_1DD0C1:: @ 81DD0C1
waitmovement 0
applymovement 31, SlateportCity_Movement_27259E
waitmovement 0
- msgbox SlateportCity_Text_1DDE86, 4
+ msgbox SlateportCity_Text_1DDE86, MSGBOX_DEFAULT
closemessage
applymovement 31, SlateportCity_Movement_2725A2
waitmovement 0
applymovement 31, SlateportCity_Movement_1DD147
waitmovement 0
- msgbox SlateportCity_Text_1DDEB8, 4
+ msgbox SlateportCity_Text_1DDEB8, MSGBOX_DEFAULT
closemessage
applymovement 31, SlateportCity_Movement_27259E
waitmovement 0
@@ -478,13 +478,13 @@ SlateportCity_Movement_1DD147: @ 81DD147
step_end
SlateportCity_EventScript_1DD14A:: @ 81DD14A
- msgbox SlateportCity_Text_1DDF32, 3
+ msgbox SlateportCity_Text_1DDF32, MSGBOX_SIGN
end
SlateportCity_EventScript_1DD153:: @ 81DD153
lock
faceplayer
- msgbox SlateportCity_Text_1DDF8D, 4
+ msgbox SlateportCity_Text_1DDF8D, MSGBOX_DEFAULT
closemessage
applymovement 33, SlateportCity_Movement_2725A2
waitmovement 0
@@ -497,7 +497,7 @@ SlateportCity_EventScript_1DD16A:: @ 81DD16A
message gUnknown_08272A21
waitmessage
pokemartdecoration SlateportCity_PokemartDecor_1DD184
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -511,7 +511,7 @@ SlateportCity_PokemartDecor_1DD184: @ 81DD184
end
SlateportCity_EventScript_1DD18E:: @ 81DD18E
- msgbox gUnknown_08272E30, 4
+ msgbox gUnknown_08272E30, MSGBOX_DEFAULT
release
end
@@ -523,7 +523,7 @@ SlateportCity_EventScript_1DD198:: @ 81DD198
message gUnknown_08272A21
waitmessage
pokemartdecoration SlateportCity_PokemartDecor_1DD1B8
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -552,7 +552,7 @@ SlateportCity_EventScript_1DD1D8:: @ 81DD1D8
message gUnknown_08272A21
waitmessage
pokemart SlateportCity_Pokemart_1DD1F0
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -566,8 +566,8 @@ SlateportCity_Pokemart_1DD1F0: @ 81DD1F0
SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
lockall
- msgbox SlateportCity_Text_1DE502, 4
- msgbox SlateportCity_Text_1DE54A, 4
+ msgbox SlateportCity_Text_1DE502, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_1DE54A, MSGBOX_DEFAULT
closemessage
applymovement 10, SlateportCity_Movement_2725A8
waitmovement 0
@@ -582,12 +582,12 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
waitmovement 0
removeobject 10
removeobject 9
- msgbox SlateportCity_Text_1DE5F7, 4
+ msgbox SlateportCity_Text_1DE5F7, MSGBOX_DEFAULT
applymovement 11, SlateportCity_Movement_2725A6
waitmovement 0
- msgbox SlateportCity_Text_1DE64F, 4
+ msgbox SlateportCity_Text_1DE64F, MSGBOX_DEFAULT
playbgm MUS_AQA_0, 0
- msgbox SlateportCity_Text_1DE724, 4
+ msgbox SlateportCity_Text_1DE724, MSGBOX_DEFAULT
applymovement 6, SlateportCity_Movement_2725A4
applymovement 1, SlateportCity_Movement_2725A4
applymovement 7, SlateportCity_Movement_1DD309
@@ -596,7 +596,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
waitmovement 0
applymovement 11, SlateportCity_Movement_2725AA
waitmovement 0
- msgbox SlateportCity_Text_1DE7F7, 4
+ msgbox SlateportCity_Text_1DE7F7, MSGBOX_DEFAULT
playse SE_PIN
applymovement 11, SlateportCity_Movement_272598
waitmovement 0
@@ -604,17 +604,17 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
waitmovement 0
applymovement 11, SlateportCity_Movement_2725A6
waitmovement 0
- msgbox SlateportCity_Text_1DE860, 4
- msgbox SlateportCity_Text_1DE8A0, 4
+ msgbox SlateportCity_Text_1DE860, MSGBOX_DEFAULT
+ msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT
closemessage
applymovement 11, SlateportCity_Movement_1DD337
applymovement 255, SlateportCity_Movement_1DD344
waitmovement 0
removeobject 11
- clearflag FLAG_0x349
- clearflag FLAG_0x350
- clearflag FLAG_0x34D
- clearflag FLAG_0x34E
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
setvar VAR_0x4058, 2
warp MAP_SLATEPORT_CITY_HARBOR, 255, 11, 14
waitstate
@@ -714,15 +714,15 @@ SlateportCity_Movement_1DD34A: @ 81DD34A
step_end
SlateportCity_EventScript_1DD353:: @ 81DD353
- msgbox SlateportCity_Text_1DE491, 3
+ msgbox SlateportCity_Text_1DE491, MSGBOX_SIGN
end
SlateportCity_EventScript_1DD35C:: @ 81DD35C
- msgbox SlateportCity_Text_1DE4C4, 3
+ msgbox SlateportCity_Text_1DE4C4, MSGBOX_SIGN
end
SlateportCity_EventScript_1DD365:: @ 81DD365
- msgbox SlateportCity_Text_1DD7AD, 2
+ msgbox SlateportCity_Text_1DD7AD, MSGBOX_NPC
end
SlateportCity_EventScript_1DD36E:: @ 81DD36E
@@ -730,10 +730,10 @@ SlateportCity_EventScript_1DD36E:: @ 81DD36E
faceplayer
checkflag FLAG_0x151
goto_eq SlateportCity_EventScript_1DD39A
- msgbox SlateportCity_Text_1DEBCE, 4
+ msgbox SlateportCity_Text_1DEBCE, MSGBOX_DEFAULT
giveitem_std ITEM_POWDER_JAR
setflag FLAG_0x151
- msgbox SlateportCity_Text_1DED27, 4
+ msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT
release
end
@@ -742,13 +742,13 @@ SlateportCity_EventScript_1DD39A:: @ 81DD39A
specialvar VAR_RESULT, sub_80246D4
compare VAR_RESULT, 0
goto_eq SlateportCity_EventScript_1DD3C0
- msgbox SlateportCity_Text_1DEE40, 4
+ msgbox SlateportCity_Text_1DEE40, MSGBOX_DEFAULT
special sub_80248B0
goto SlateportCity_EventScript_1DD3CA
end
SlateportCity_EventScript_1DD3C0:: @ 81DD3C0
- msgbox SlateportCity_Text_1DED27, 4
+ msgbox SlateportCity_Text_1DED27, MSGBOX_DEFAULT
release
end
@@ -852,13 +852,13 @@ SlateportCity_EventScript_1DD536:: @ 81DD536
end
SlateportCity_EventScript_1DD54A:: @ 81DD54A
- msgbox SlateportCity_Text_1DEFBC, 4
+ msgbox SlateportCity_Text_1DEFBC, MSGBOX_DEFAULT
special sub_8024918
release
end
SlateportCity_EventScript_1DD557:: @ 81DD557
- msgbox SlateportCity_Text_1DEE90, 5
+ msgbox SlateportCity_Text_1DEE90, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SlateportCity_EventScript_1DD3CA
copyvar VAR_0x8004, VAR_0x8009
@@ -871,22 +871,22 @@ SlateportCity_EventScript_1DD557:: @ 81DD557
copyvar VAR_0x8004, VAR_0x8009
special sub_802477C
special sub_802488C
- msgbox SlateportCity_Text_1DEEF7, 5
+ msgbox SlateportCity_Text_1DEEF7, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_EventScript_1DD3CA
- msgbox SlateportCity_Text_1DEF79, 4
+ msgbox SlateportCity_Text_1DEF79, MSGBOX_DEFAULT
special sub_8024918
release
end
SlateportCity_EventScript_1DD5C1:: @ 81DD5C1
- msgbox gUnknown_08272A89, 4
+ msgbox gUnknown_08272A89, MSGBOX_DEFAULT
special sub_8024918
release
end
SlateportCity_EventScript_1DD5CE:: @ 81DD5CE
- msgbox SlateportCity_Text_1DEEC9, 4
+ msgbox SlateportCity_Text_1DEEC9, MSGBOX_DEFAULT
goto SlateportCity_EventScript_1DD3CA
end
@@ -902,7 +902,7 @@ SlateportCity_EventScript_1DD5DC:: @ 81DD5DC
waitmovement 0
closedoor 10, 12
waitdooranim
- msgbox SlateportCity_Text_1DF28C, 4
+ msgbox SlateportCity_Text_1DF28C, MSGBOX_DEFAULT
closemessage
applymovement 255, SlateportCity_Movement_1DD634
applymovement 35, SlateportCity_Movement_1DD63A
diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
index 150cc425b..3cff83bd8 100644
--- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
@@ -42,7 +42,7 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99
waitmovement 0
setvar VAR_0x8004, 11
- special sub_81A5E74
+ special CallBattleFactoryFunction
setobjectxyperm 2, 5, 1
removeobject 2
addobject 2
@@ -51,13 +51,13 @@ SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
setvar VAR_0x8004, 4
special sub_81B99B4
lockall
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
closemessage
special HealPlayerParty
- setvar VAR_0x8004, 6
+ setvar VAR_0x8004, SPECIAL_BATTLE_FACTORY
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
switch VAR_RESULT
case 1, SlateportCity_BattleTentBattleRoom_EventScript_209A39
@@ -66,7 +66,7 @@ SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -74,12 +74,12 @@ SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B
SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 3, SlateportCity_BattleTentBattleRoom_EventScript_209A7B
@ case 3, SlateportCity_BattleTentCorridor_EventScript_209A7B
@@ -92,7 +92,7 @@ SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
warp MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
index 0a9eb6cf5..4e676460c 100644
--- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
@@ -35,14 +35,14 @@ SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65
special sub_81B9D08
setvar VAR_0x8004, 8
special sub_81B9D08
- msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, 4
+ msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 6
special sub_81B9D08
waitstate
SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
- msgbox SlateportCity_BattleTentCorridor_Text_25AB96, 4
+ msgbox SlateportCity_BattleTentCorridor_Text_25AB96, MSGBOX_DEFAULT
closemessage
applymovement 1, SlateportCity_BattleTentCorridor_Movement_2725A6
waitmovement 0
@@ -59,10 +59,10 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
setvar VAR_0x8004, 9
- special sub_81A5E74
+ special CallBattleFactoryFunction
setvar VAR_0x8004, 16
- special sub_81A5E74
- msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4
+ special CallBattleFactoryFunction
+ msgbox SlateportCity_BattleTentCorridor_Text_25A22D, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -70,7 +70,7 @@ SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
call_if 1, SlateportCity_BattleTentCorridor_EventScript_209014
compare VAR_RESULT, 2
@@ -82,7 +82,7 @@ SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
case 2, SlateportCity_BattleTentCorridor_EventScript_208F89
SlateportCity_BattleTentCorridor_EventScript_208F5B:: @ 8208F5B
- msgbox SlateportCity_BattleTentCorridor_Text_25A350, 5
+ msgbox SlateportCity_BattleTentCorridor_Text_25A350, MSGBOX_YESNO
switch VAR_RESULT
case 0, SlateportCity_BattleTentCorridor_EventScript_208F0D
case 1, SlateportCity_BattleTentCorridor_EventScript_209022
@@ -100,7 +100,7 @@ SlateportCity_BattleTentCorridor_EventScript_208F89:: @ 8208F89
SlateportCity_BattleTentCorridor_EventScript_208FBB:: @ 8208FBB
setvar VAR_0x8004, 8
special sub_81B9D08
- msgbox SlateportCity_BattleTentCorridor_Text_25AB2E, 5
+ msgbox SlateportCity_BattleTentCorridor_Text_25AB2E, MSGBOX_YESNO
switch VAR_RESULT
case 0, SlateportCity_BattleTentCorridor_EventScript_208EB4
case 1, SlateportCity_BattleTentCorridor_EventScript_208FF1
@@ -113,7 +113,7 @@ SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1
waitstate
compare VAR_RESULT, 1
goto_eq SlateportCity_BattleTentCorridor_EventScript_208EB4
- msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, 4
+ msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, MSGBOX_DEFAULT
goto SlateportCity_BattleTentCorridor_EventScript_208EB4
SlateportCity_BattleTentCorridor_EventScript_209014:: @ 8209014
@@ -136,14 +136,14 @@ SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044
special SavePlayerParty
setvar VAR_0x8004, 10
setvar VAR_0x8005, 0
- special sub_81A5E74
+ special CallBattleFactoryFunction
goto SlateportCity_BattleTentCorridor_EventScript_208F0D
SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059
diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
index 76b12e31e..8cf551943 100644
--- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
@@ -22,22 +22,22 @@ SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F
SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782
lockall
- msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
releaseall
end
@@ -50,7 +50,7 @@ SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9D08
@@ -58,7 +58,7 @@ SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7
waitse
SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9
- msgbox SlateportCity_BattleTentLobby_Text_2C5D14, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5D14, MSGBOX_DEFAULT
setvar VAR_0x8004, 5
special sub_81B9D08
switch VAR_RESULT
@@ -66,7 +66,7 @@ SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
message SlateportCity_BattleTentLobby_Text_23F68C
waitmessage
playfanfare MUS_FANFA4
@@ -74,7 +74,7 @@ SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9
goto SlateportCity_BattleTentLobby_EventScript_208861
SlateportCity_BattleTentLobby_EventScript_20882A:: @ 820882A
- msgbox SlateportCity_BattleTentLobby_Text_2C5D52, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5D52, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208861
SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837
@@ -84,7 +84,7 @@ SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 3
setvar VAR_0x8005, 0
special sub_81B9D08
@@ -92,7 +92,7 @@ SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837
waitse
SlateportCity_BattleTentLobby_EventScript_208861:: @ 8208861
- msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -110,7 +110,7 @@ SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
setvar VAR_0x8006, 2
goto SlateportCity_BattleTentLobby_EventScript_2089AC
@@ -123,7 +123,7 @@ SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA
compare VAR_RESULT, 0
goto_if 5, SlateportCity_BattleTentLobby_EventScript_2087E9
special SavePlayerParty
- msgbox SlateportCity_BattleTentLobby_Text_2C5810, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5810, MSGBOX_DEFAULT
SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA
message SlateportCity_BattleTentLobby_Text_2C586A
@@ -141,8 +141,8 @@ SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
- special sub_81A1780
- msgbox SlateportCity_BattleTentLobby_Text_2C5B06, 5
+ special CallFrontierUtilFunc
+ msgbox SlateportCity_BattleTentLobby_Text_2C5B06, MSGBOX_YESNO
switch VAR_RESULT
case 0, SlateportCity_BattleTentLobby_EventScript_208A2B
case 1, SlateportCity_BattleTentLobby_EventScript_208950
@@ -152,17 +152,17 @@ SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
special sub_81B9D08
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
closemessage
delay 2
call SlateportCity_BattleTentLobby_EventScript_27134F
@@ -172,7 +172,7 @@ SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
setvar VAR_0x8006, 0
SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC
- msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, MSGBOX_DEFAULT
closemessage
call SlateportCity_BattleTentLobby_EventScript_2089C9
warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7
@@ -217,21 +217,21 @@ SlateportCity_BattleTentLobby_Movement_208A03: @ 8208A03
step_end
SlateportCity_BattleTentLobby_EventScript_208A07:: @ 8208A07
- msgbox SlateportCity_BattleTentLobby_Text_2C589C, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C589C, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_2088CA
SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto SlateportCity_BattleTentLobby_EventScript_208A2E
SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B
special LoadPlayerParty
SlateportCity_BattleTentLobby_EventScript_208A2E:: @ 8208A2E
- msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, MSGBOX_DEFAULT
release
end
@@ -247,35 +247,35 @@ SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D
faceplayer
checkflag FLAG_0x109
goto_eq SlateportCity_BattleTentLobby_EventScript_208A74
- msgbox SlateportCity_BattleTentLobby_Text_208B4E, 4
+ msgbox SlateportCity_BattleTentLobby_Text_208B4E, MSGBOX_DEFAULT
giveitem_std ITEM_TM41
compare VAR_RESULT, 0
goto_eq SlateportCity_BattleTentLobby_EventScript_272054
setflag FLAG_0x109
- msgbox SlateportCity_BattleTentLobby_Text_208C5C, 4
+ msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT
release
end
SlateportCity_BattleTentLobby_EventScript_208A74:: @ 8208A74
- msgbox SlateportCity_BattleTentLobby_Text_208C5C, 4
+ msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT
release
end
SlateportCity_BattleTentLobby_EventScript_208A7E:: @ 8208A7E
- msgbox SlateportCity_BattleTentLobby_Text_208D27, 2
+ msgbox SlateportCity_BattleTentLobby_Text_208D27, MSGBOX_NPC
end
SlateportCity_BattleTentLobby_EventScript_208A87:: @ 8208A87
- msgbox SlateportCity_BattleTentLobby_Text_208DA6, 2
+ msgbox SlateportCity_BattleTentLobby_Text_208DA6, MSGBOX_NPC
end
SlateportCity_BattleTentLobby_EventScript_208A90:: @ 8208A90
- msgbox SlateportCity_BattleTentLobby_Text_208DF1, 2
+ msgbox SlateportCity_BattleTentLobby_Text_208DF1, MSGBOX_NPC
end
SlateportCity_BattleTentLobby_EventScript_208A99:: @ 8208A99
lockall
- msgbox SlateportCity_BattleTentLobby_Text_259721, 4
+ msgbox SlateportCity_BattleTentLobby_Text_259721, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208AA8
end
@@ -294,27 +294,27 @@ SlateportCity_BattleTentLobby_EventScript_208AA8:: @ 8208AA8
end
SlateportCity_BattleTentLobby_EventScript_208B06:: @ 8208B06
- msgbox SlateportCity_BattleTentLobby_Text_2C5F08, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5F08, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208AA8
end
SlateportCity_BattleTentLobby_EventScript_208B14:: @ 8208B14
- msgbox SlateportCity_BattleTentLobby_Text_2C5F9D, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C5F9D, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208AA8
end
SlateportCity_BattleTentLobby_EventScript_208B22:: @ 8208B22
- msgbox SlateportCity_BattleTentLobby_Text_2C6020, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C6020, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208AA8
end
SlateportCity_BattleTentLobby_EventScript_208B30:: @ 8208B30
- msgbox SlateportCity_BattleTentLobby_Text_2C60C0, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C60C0, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208AA8
end
SlateportCity_BattleTentLobby_EventScript_208B3E:: @ 8208B3E
- msgbox SlateportCity_BattleTentLobby_Text_2C61FE, 4
+ msgbox SlateportCity_BattleTentLobby_Text_2C61FE, MSGBOX_DEFAULT
goto SlateportCity_BattleTentLobby_EventScript_208AA8
end
diff --git a/data/maps/SlateportCity_Harbor/events.inc b/data/maps/SlateportCity_Harbor/events.inc
index ba5f25d98..e0781c2cb 100644
--- a/data/maps/SlateportCity_Harbor/events.inc
+++ b/data/maps/SlateportCity_Harbor/events.inc
@@ -1,12 +1,12 @@
SlateportCity_Harbor_EventObjects: @ 852FA68
- object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CAF1, 905
- object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC52, 905
- object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 1, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC99, 905
- object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CCA2, 841
- object_event 5, EVENT_OBJ_GFX_SS_TIDAL, 0, 8, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 860
- object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 7, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 845
- object_event 7, EVENT_OBJ_GFX_ARCHIE, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 846
- object_event 8, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 7, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 848
+ object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CAF1, FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
+ object_event 2, EVENT_OBJ_GFX_SAILOR, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC52, FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
+ object_event 3, EVENT_OBJ_GFX_FAT_MAN, 0, 1, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC99, FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
+ object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 6, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CCA2, FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
+ object_event 5, EVENT_OBJ_GFX_SS_TIDAL, 0, 8, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
+ object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 7, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT
+ object_event 7, EVENT_OBJ_GFX_ARCHIE, 0, 8, 10, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE
+ object_event 8, EVENT_OBJ_GFX_SUBMARINE_SHADOW, 0, 7, 9, 1, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW
SlateportCity_Harbor_MapWarps: @ 852FB28
warp_def 11, 14, 0, 8, MAP_SLATEPORT_CITY
diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc
index 58c318d37..bad96e2b0 100644
--- a/data/maps/SlateportCity_Harbor/scripts.inc
+++ b/data/maps/SlateportCity_Harbor/scripts.inc
@@ -12,14 +12,14 @@ SlateportCity_Harbor_MapScript1_20C983: @ 820C983
end
SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5
- clearflag FLAG_0x35C
+ clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL
return
SlateportCity_Harbor_EventScript_20C9A9:: @ 820C9A9
savebgm MUS_AQA_0
setobjectxyperm 4, 12, 13
setobjectmovementtype 4, 9
- setflag FLAG_0x389
+ setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
return
SlateportCity_Harbor_EventScript_20C9BB:: @ 820C9BB
@@ -54,7 +54,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
applymovement 6, SlateportCity_Harbor_Movement_2725AA
applymovement 255, SlateportCity_Harbor_Movement_2725A6
waitmovement 0
- msgbox SlateportCity_Harbor_Text_20D291, 4
+ msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT
closemessage
applymovement 6, SlateportCity_Harbor_Movement_20CAC8
applymovement 7, SlateportCity_Harbor_Movement_20CAC8
@@ -65,7 +65,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
removeobject 8
setvar VAR_0x40A0, 2
setflag FLAG_0x061
- setflag FLAG_0x313
+ setflag FLAG_HIDE_LILCOVE_MOTEL_SCOTT
compare VAR_0x8008, 0
call_if 1, SlateportCity_Harbor_EventScript_20CA89
compare VAR_0x8008, 1
@@ -74,10 +74,10 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
call_if 1, SlateportCity_Harbor_EventScript_20CAB3
compare VAR_0x8008, 3
call_if 1, SlateportCity_Harbor_EventScript_20CAB3
- msgbox SlateportCity_Harbor_Text_20D35A, 4
+ msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT
closemessage
- setflag FLAG_0x335
- setflag FLAG_0x336
+ setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
+ setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE
moveobjectoffscreen 4
setobjectmovementtype 4, 10
releaseall
@@ -164,12 +164,12 @@ SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1
faceplayer
checkflag FLAG_SYS_GAME_CLEAR
goto_eq SlateportCity_Harbor_EventScript_20CB06
- msgbox SlateportCity_Harbor_Text_20CE20, 4
+ msgbox SlateportCity_Harbor_Text_20CE20, MSGBOX_DEFAULT
release
end
SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06
- msgbox SlateportCity_Harbor_Text_20CE87, 4
+ msgbox SlateportCity_Harbor_Text_20CE87, MSGBOX_DEFAULT
message SlateportCity_Harbor_Text_20CF1C
waitmessage
goto SlateportCity_Harbor_EventScript_20CB1A
@@ -195,12 +195,12 @@ SlateportCity_Harbor_EventScript_20CB50:: @ 820CB50
end
SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88
- msgbox SlateportCity_Harbor_Text_20CEC1, 4
+ msgbox SlateportCity_Harbor_Text_20CEC1, MSGBOX_DEFAULT
release
end
SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92
- msgbox SlateportCity_Harbor_Text_20CF93, 5
+ msgbox SlateportCity_Harbor_Text_20CF93, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SlateportCity_Harbor_EventScript_20CBDD
setvar VAR_PORTHOLE_STATE, 1
@@ -211,7 +211,7 @@ SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92
end
SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA
- msgbox SlateportCity_Harbor_Text_20CFAE, 5
+ msgbox SlateportCity_Harbor_Text_20CFAE, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SlateportCity_Harbor_EventScript_20CBDD
call SlateportCity_Harbor_EventScript_20CBE9
@@ -227,7 +227,7 @@ SlateportCity_Harbor_EventScript_20CBDD:: @ 820CBDD
end
SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9
- msgbox SlateportCity_Harbor_Text_20CFCB, 4
+ msgbox SlateportCity_Harbor_Text_20CFCB, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A6
waitmovement 0
@@ -244,7 +244,7 @@ SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9
return
SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D
- msgbox SlateportCity_Harbor_Text_20CF71, 4
+ msgbox SlateportCity_Harbor_Text_20CF71, MSGBOX_DEFAULT
release
end
@@ -279,12 +279,12 @@ SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52
call_if 1, SlateportCity_Harbor_EventScript_20CC93
compare VAR_0x8004, 2
goto_eq SlateportCity_Harbor_EventScript_20CC89
- msgbox SlateportCity_Harbor_Text_20D08E, 4
+ msgbox SlateportCity_Harbor_Text_20D08E, MSGBOX_DEFAULT
release
end
SlateportCity_Harbor_EventScript_20CC89:: @ 820CC89
- msgbox SlateportCity_Harbor_Text_20D01C, 4
+ msgbox SlateportCity_Harbor_Text_20D01C, MSGBOX_DEFAULT
release
end
@@ -293,7 +293,7 @@ SlateportCity_Harbor_EventScript_20CC93:: @ 820CC93
return
SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99
- msgbox SlateportCity_Harbor_Text_20D194, 2
+ msgbox SlateportCity_Harbor_Text_20D194, MSGBOX_NPC
end
SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2
@@ -307,7 +307,7 @@ SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2
goto_eq SlateportCity_Harbor_EventScript_20CCE9
compare VAR_0x40A0, 2
goto_eq SlateportCity_Harbor_EventScript_20CCDF
- msgbox SlateportCity_Harbor_Text_20D232, 4
+ msgbox SlateportCity_Harbor_Text_20D232, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A2
waitmovement 0
@@ -315,18 +315,18 @@ SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2
end
SlateportCity_Harbor_EventScript_20CCDF:: @ 820CCDF
- msgbox SlateportCity_Harbor_Text_20D35A, 4
+ msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT
release
end
SlateportCity_Harbor_EventScript_20CCE9:: @ 820CCE9
setflag FLAG_0x10F
- msgbox SlateportCity_Harbor_Text_20D42B, 4
+ msgbox SlateportCity_Harbor_Text_20D42B, MSGBOX_DEFAULT
release
end
SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6
- msgbox SlateportCity_Harbor_Text_20D58A, 4
+ msgbox SlateportCity_Harbor_Text_20D58A, MSGBOX_DEFAULT
release
end
@@ -338,12 +338,12 @@ SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00
goto_eq SlateportCity_Harbor_EventScript_20CD38
checkflag FLAG_SYS_GAME_CLEAR
goto_eq SlateportCity_Harbor_EventScript_20CD2E
- msgbox SlateportCity_Harbor_Text_20D65C, 4
+ msgbox SlateportCity_Harbor_Text_20D65C, MSGBOX_DEFAULT
release
end
SlateportCity_Harbor_EventScript_20CD2E:: @ 820CD2E
- msgbox SlateportCity_Harbor_Text_20D6CB, 4
+ msgbox SlateportCity_Harbor_Text_20D6CB, MSGBOX_DEFAULT
release
end
@@ -363,33 +363,33 @@ SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44
end
SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B
- msgbox SlateportCity_Harbor_Text_20D8BC, 5
+ msgbox SlateportCity_Harbor_Text_20D8BC, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SlateportCity_Harbor_EventScript_20CE05
giveitem_std ITEM_DEEP_SEA_TOOTH
compare VAR_RESULT, 0
goto_eq SlateportCity_Harbor_EventScript_272054
takeitem ITEM_SCANNER, 1
- msgbox SlateportCity_Harbor_Text_20D94A, 4
- setflag FLAG_0x126
+ msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT
+ setflag FLAG_TRADED_SCANNER_TO_STERN
goto SlateportCity_Harbor_EventScript_20CE11
end
SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB
- msgbox SlateportCity_Harbor_Text_20D8F1, 5
+ msgbox SlateportCity_Harbor_Text_20D8F1, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SlateportCity_Harbor_EventScript_20CE05
giveitem_std ITEM_DEEP_SEA_SCALE
compare VAR_RESULT, 0
goto_eq SlateportCity_Harbor_EventScript_272054
takeitem ITEM_SCANNER, 1
- msgbox SlateportCity_Harbor_Text_20D94A, 4
- setflag FLAG_0x126
+ msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT
+ setflag FLAG_TRADED_SCANNER_TO_STERN
goto SlateportCity_Harbor_EventScript_20CE11
end
SlateportCity_Harbor_EventScript_20CDFB:: @ 820CDFB
- msgbox SlateportCity_Harbor_Text_20D841, 4
+ msgbox SlateportCity_Harbor_Text_20D841, MSGBOX_DEFAULT
release
end
@@ -401,7 +401,7 @@ SlateportCity_Harbor_EventScript_20CE05:: @ 820CE05
SlateportCity_Harbor_EventScript_20CE11:: @ 820CE11
setvar VAR_TEMP_1, 1
- msgbox SlateportCity_Harbor_Text_20D970, 4
+ msgbox SlateportCity_Harbor_Text_20D970, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc
index 745cc6627..6b0fff3b3 100644
--- a/data/maps/SlateportCity_House1/scripts.inc
+++ b/data/maps/SlateportCity_House1/scripts.inc
@@ -4,7 +4,7 @@ SlateportCity_House1_MapScripts:: @ 8209AA4
SlateportCity_House1_EventScript_209AA5:: @ 8209AA5
lock
faceplayer
- msgbox SlateportCity_House1_Text_209B8E, 5
+ msgbox SlateportCity_House1_Text_209B8E, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_House1_EventScript_209AC6
compare VAR_RESULT, 0
@@ -12,7 +12,7 @@ SlateportCity_House1_EventScript_209AA5:: @ 8209AA5
end
SlateportCity_House1_EventScript_209AC6:: @ 8209AC6
- msgbox SlateportCity_House1_Text_209BFF, 4
+ msgbox SlateportCity_House1_Text_209BFF, MSGBOX_DEFAULT
special sub_81B94B0
waitstate
compare VAR_0x8004, 255
@@ -22,7 +22,7 @@ SlateportCity_House1_EventScript_209AC6:: @ 8209AC6
end
SlateportCity_House1_EventScript_209AE9:: @ 8209AE9
- msgbox SlateportCity_House1_Text_209D42, 4
+ msgbox SlateportCity_House1_Text_209D42, MSGBOX_DEFAULT
release
end
@@ -38,7 +38,7 @@ SlateportCity_House1_EventScript_209AF3:: @ 8209AF3
special TV_CopyNicknameToStringVar1AndEnsureTerminated
compare VAR_RESULT, 1
goto_eq SlateportCity_House1_EventScript_209B50
- msgbox SlateportCity_House1_Text_209C2B, 5
+ msgbox SlateportCity_House1_Text_209C2B, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_House1_EventScript_209B5A
compare VAR_RESULT, 0
@@ -46,28 +46,28 @@ SlateportCity_House1_EventScript_209AF3:: @ 8209AF3
end
SlateportCity_House1_EventScript_209B46:: @ 8209B46
- msgbox SlateportCity_House1_Text_209E74, 4
+ msgbox SlateportCity_House1_Text_209E74, MSGBOX_DEFAULT
release
end
SlateportCity_House1_EventScript_209B50:: @ 8209B50
- msgbox SlateportCity_House1_Text_209DF0, 4
+ msgbox SlateportCity_House1_Text_209DF0, MSGBOX_DEFAULT
release
end
SlateportCity_House1_EventScript_209B5A:: @ 8209B5A
- msgbox SlateportCity_House1_Text_209CA4, 4
+ msgbox SlateportCity_House1_Text_209CA4, MSGBOX_DEFAULT
call SlateportCity_House1_EventScript_2723DD
specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicnkameChanged
special TV_CopyNicknameToStringVar1AndEnsureTerminated
compare VAR_RESULT, 1
goto_eq SlateportCity_House1_EventScript_209B84
- msgbox SlateportCity_House1_Text_209D5E, 4
+ msgbox SlateportCity_House1_Text_209D5E, MSGBOX_DEFAULT
release
end
SlateportCity_House1_EventScript_209B84:: @ 8209B84
- msgbox SlateportCity_House1_Text_209CD4, 4
+ msgbox SlateportCity_House1_Text_209CD4, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SlateportCity_House2/scripts.inc b/data/maps/SlateportCity_House2/scripts.inc
index 28a05ed38..5946b6f43 100644
--- a/data/maps/SlateportCity_House2/scripts.inc
+++ b/data/maps/SlateportCity_House2/scripts.inc
@@ -2,11 +2,11 @@ SlateportCity_House2_MapScripts:: @ 820D9AE
.byte 0
SlateportCity_House2_EventScript_20D9AF:: @ 820D9AF
- msgbox SlateportCity_House2_Text_20D9C1, 2
+ msgbox SlateportCity_House2_Text_20D9C1, MSGBOX_NPC
end
SlateportCity_House2_EventScript_20D9B8:: @ 820D9B8
- msgbox SlateportCity_House2_Text_20DA59, 2
+ msgbox SlateportCity_House2_Text_20DA59, MSGBOX_NPC
end
SlateportCity_House2_Text_20D9C1: @ 820D9C1
diff --git a/data/maps/SlateportCity_Mart/scripts.inc b/data/maps/SlateportCity_Mart/scripts.inc
index da217f809..cc1eff7f6 100644
--- a/data/maps/SlateportCity_Mart/scripts.inc
+++ b/data/maps/SlateportCity_Mart/scripts.inc
@@ -7,7 +7,7 @@ SlateportCity_Mart_EventScript_20DC49:: @ 820DC49
message gUnknown_08272A21
waitmessage
pokemart SlateportCity_Mart_Pokemart_20DC60
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -26,11 +26,11 @@ SlateportCity_Mart_Pokemart_20DC60: @ 820DC60
end
SlateportCity_Mart_EventScript_20DC76:: @ 820DC76
- msgbox SlateportCity_Mart_Text_20DC88, 2
+ msgbox SlateportCity_Mart_Text_20DC88, MSGBOX_NPC
end
SlateportCity_Mart_EventScript_20DC7F:: @ 820DC7F
- msgbox SlateportCity_Mart_Text_20DCF8, 2
+ msgbox SlateportCity_Mart_Text_20DCF8, MSGBOX_NPC
end
SlateportCity_Mart_Text_20DC88: @ 820DC88
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/events.inc b/data/maps/SlateportCity_OceanicMuseum_1F/events.inc
index 8e3a7879f..8d727f483 100644
--- a/data/maps/SlateportCity_OceanicMuseum_1F/events.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/events.inc
@@ -1,18 +1,18 @@
SlateportCity_OceanicMuseum_1F_EventObjects: @ 852F670
object_event 1, EVENT_OBJ_GFX_BEAUTY, 0, 7, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD96, 0
- object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE5F, 883
- object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE68, 883
- object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE56, 883
- object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE4D, 883
- object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE71, 883
+ object_event 2, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE5F, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
+ object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 12, 2, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE68, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
+ object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE56, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
+ object_event 5, EVENT_OBJ_GFX_AQUA_MEMBER_F, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE4D, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
+ object_event 6, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 14, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE71, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
object_event 7, EVENT_OBJ_GFX_BEAUTY, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD96, 0
- object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE7A, 883
- object_event 9, EVENT_OBJ_GFX_WOMAN_5, 0, 4, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AED4, 961
- object_event 10, EVENT_OBJ_GFX_MANIAC, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEDD, 961
- object_event 11, EVENT_OBJ_GFX_POKEFAN_M, 0, 17, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEE6, 961
- object_event 12, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 18, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEEF, 961
- object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEF8, 965
- object_event 14, EVENT_OBJ_GFX_REPORTER_M, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_28C883, 961
+ object_event 8, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE7A, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
+ object_event 9, EVENT_OBJ_GFX_WOMAN_5, 0, 4, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AED4, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ object_event 10, EVENT_OBJ_GFX_MANIAC, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEDD, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ object_event 11, EVENT_OBJ_GFX_POKEFAN_M, 0, 17, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEE6, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ object_event 12, EVENT_OBJ_GFX_LITTLE_GIRL, 0, 18, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEEF, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ object_event 13, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 9, 4, 3, MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEF8, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT
+ object_event 14, EVENT_OBJ_GFX_REPORTER_M, 0, 7, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_28C883, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
SlateportCity_OceanicMuseum_1F_MapWarps: @ 852F7C0
warp_def 9, 8, 0, 5, MAP_SLATEPORT_CITY
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
index 4464ee582..33bcafc6f 100644
--- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
@@ -2,7 +2,7 @@ SlateportCity_OceanicMuseum_1F_MapScripts:: @ 820AD95
.byte 0
SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F
@@ -21,7 +21,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0
SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1
showmoneybox 0, 0, 0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, 5
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8
closemessage
@@ -41,7 +41,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
takemoney 0x32, 0
updatemoneybox 0, 0
nop
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, MSGBOX_DEFAULT
setvar VAR_0x40AA, 1
hidemoneybox
nop
@@ -52,7 +52,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18
checkflag FLAG_0x095
goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE39
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, MSGBOX_DEFAULT
closemessage
hidemoneybox
nop
@@ -63,7 +63,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE39:: @ 820AE39
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B075, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B075, MSGBOX_DEFAULT
setvar VAR_0x40AA, 1
hidemoneybox
nop
@@ -76,79 +76,79 @@ SlateportCity_OceanicMuseum_1F_Movement_20AE4B: @ 820AE4B
step_end
SlateportCity_OceanicMuseum_1F_EventScript_20AE4D:: @ 820AE4D
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B0E8, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B0E8, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE56:: @ 820AE56
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B112, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B112, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE5F:: @ 820AE5F
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B165, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B165, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE68:: @ 820AE68
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B19C, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B19C, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE71:: @ 820AE71
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B1D4, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B1D4, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE7A:: @ 820AE7A
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B218, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B218, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE83:: @ 820AE83
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B4CF, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B4CF, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE8C:: @ 820AE8C
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B547, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B547, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE95:: @ 820AE95
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B5CA, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B5CA, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE9E:: @ 820AE9E
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B699, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B699, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEA7:: @ 820AEA7
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B74B, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B74B, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEB0:: @ 820AEB0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B81F, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B81F, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEB9:: @ 820AEB9
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B912, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B912, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEC2:: @ 820AEC2
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B9C0, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B9C0, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AECB:: @ 820AECB
- msgbox SlateportCity_OceanicMuseum_1F_Text_20BA9C, 3
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20BA9C, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_1F_EventScript_20AED4:: @ 820AED4
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B25F, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B25F, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEDD:: @ 820AEDD
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B2A2, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B2A2, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEE6:: @ 820AEE6
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B302, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B302, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEEF:: @ 820AEEF
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B369, 2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B369, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8
@@ -160,12 +160,12 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8
waitmovement 0
applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_27259A
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, MSGBOX_DEFAULT
giveitem_std ITEM_TM46
compare VAR_RESULT, 0
goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5
setflag FLAG_0x10D
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C
@@ -198,14 +198,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93
end
SlateportCity_OceanicMuseum_1F_EventScript_20AFAA:: @ 820AFAA
- setflag FLAG_0x3C5
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT
playse SE_KAIDAN
removeobject 13
release
end
SlateportCity_OceanicMuseum_1F_EventScript_20AFB5:: @ 820AFB5
- msgbox SlateportCity_OceanicMuseum_1F_Text_20B49B, 4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B49B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/events.inc b/data/maps/SlateportCity_OceanicMuseum_2F/events.inc
index 3ca657bb6..14499f35b 100644
--- a/data/maps/SlateportCity_OceanicMuseum_2F/events.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/events.inc
@@ -1,11 +1,11 @@
SlateportCity_OceanicMuseum_2F_EventObjects: @ 852F8A8
- object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 13, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BB00, 887
- object_event 2, EVENT_OBJ_GFX_ARCHIE, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 886
- object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 884
- object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 885
- object_event 5, EVENT_OBJ_GFX_OLD_MAN, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD64, 961
- object_event 6, EVENT_OBJ_GFX_POKEFAN_F, 0, 9, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD6D, 961
- object_event 7, EVENT_OBJ_GFX_NINJA_BOY, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD76, 961
+ object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 13, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BB00, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN
+ object_event 2, EVENT_OBJ_GFX_ARCHIE, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE
+ object_event 3, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1
+ object_event 4, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 6, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2
+ object_event 5, EVENT_OBJ_GFX_OLD_MAN, 0, 12, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD64, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ object_event 6, EVENT_OBJ_GFX_POKEFAN_F, 0, 9, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD6D, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
+ object_event 7, EVENT_OBJ_GFX_NINJA_BOY, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD76, FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION
SlateportCity_OceanicMuseum_2F_MapWarps: @ 852F950
warp_def 6, 1, 0, 2, MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
index 4172c47ef..b2a7ed510 100644
--- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
@@ -4,7 +4,7 @@ SlateportCity_OceanicMuseum_2F_MapScripts:: @ 820BAFF
SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
lock
faceplayer
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BD8D, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BD8D, MSGBOX_DEFAULT
closemessage
playbgm MUS_AQA_0, 1
addobject 3
@@ -20,11 +20,11 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92
compare VAR_FACING, 4
call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, MSGBOX_DEFAULT
compare VAR_FACING, 4
call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_20BC9D
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, 4
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, 4
+ 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
@@ -32,32 +32,32 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCA8
compare VAR_FACING, 3
call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCB3
- trainerbattle 3, TRAINER_GRUNT_14, 0, SlateportCity_OceanicMuseum_2F_Text_20BEE2
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, 4
+ trainerbattle_no_intro TRAINER_GRUNT_14, SlateportCity_OceanicMuseum_2F_Text_20BEE2
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, MSGBOX_DEFAULT
closemessage
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCEF
waitmovement 0
applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE2
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BF35, 4
- trainerbattle 3, TRAINER_GRUNT_15, 0, SlateportCity_OceanicMuseum_2F_Text_20BF66
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BF35, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_GRUNT_15, SlateportCity_OceanicMuseum_2F_Text_20BF66
applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCEF
waitmovement 0
applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_2725AA
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_2725A6
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, MSGBOX_DEFAULT
closemessage
delay 35
addobject 2
applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD8
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCFE
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20BFF2, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BFF2, MSGBOX_DEFAULT
closemessage
applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD6
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C059, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C059, MSGBOX_DEFAULT
closemessage
savebgm MUS_DUMMY
fadedefaultbgm
@@ -67,25 +67,25 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
removeobject 4
fadescreen 0
delay 30
- setflag FLAG_0x373
+ setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A8
waitmovement 0
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT
setvar VAR_0x8004, 269
call SlateportCity_OceanicMuseum_2F_EventScript_2723E4
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C36C, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C36C, MSGBOX_DEFAULT
closemessage
fadescreen 1
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
removeobject 1
- setflag FLAG_0x384
+ setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA
compare VAR_0x40DA, 0
call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC8C
setflag FLAG_0x095
- clearflag FLAG_0x3B3
- setflag FLAG_0x3B5
+ clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
+ setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
setvar VAR_0x40D2, 1
fadescreen 0
release
@@ -216,57 +216,57 @@ SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE
step_end
SlateportCity_OceanicMuseum_2F_EventScript_20BD0A:: @ 820BD0A
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C4F9, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C4F9, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD13:: @ 820BD13
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C566, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C566, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD1C:: @ 820BD1C
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C5C6, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C5C6, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD25:: @ 820BD25
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C6C7, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C6C7, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD2E:: @ 820BD2E
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C72F, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C72F, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD37:: @ 820BD37
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C7C1, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C7C1, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD40:: @ 820BD40
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C82F, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C82F, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD49:: @ 820BD49
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C88B, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C88B, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD52:: @ 820BD52
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C8E8, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C8E8, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD5B:: @ 820BD5B
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C93A, 3
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C93A, MSGBOX_SIGN
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD64:: @ 820BD64
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C43F, 2
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C43F, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD6D:: @ 820BD6D
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C495, 2
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C495, MSGBOX_NPC
end
SlateportCity_OceanicMuseum_2F_EventScript_20BD76:: @ 820BD76
lock
faceplayer
- msgbox SlateportCity_OceanicMuseum_2F_Text_20C4C2, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C4C2, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_2725A2
waitmovement 0
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc
index dd62280bb..bbc91609c 100644
--- a/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/SlateportCity_PokemonCenter_1F/scripts.inc
@@ -17,11 +17,11 @@ SlateportCity_PokemonCenter_1F_EventScript_20DAD3:: @ 820DAD3
end
SlateportCity_PokemonCenter_1F_EventScript_20DAE1:: @ 820DAE1
- msgbox SlateportCity_PokemonCenter_1F_Text_20DAF3, 2
+ msgbox SlateportCity_PokemonCenter_1F_Text_20DAF3, MSGBOX_NPC
end
SlateportCity_PokemonCenter_1F_EventScript_20DAEA:: @ 820DAEA
- msgbox SlateportCity_PokemonCenter_1F_Text_20DBBC, 2
+ msgbox SlateportCity_PokemonCenter_1F_Text_20DBBC, MSGBOX_NPC
end
SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3
diff --git a/data/maps/SlateportCity_PokemonCenter_2F/events.inc b/data/maps/SlateportCity_PokemonCenter_2F/events.inc
index e20e593cb..c28c3111a 100644
--- a/data/maps/SlateportCity_PokemonCenter_2F/events.inc
+++ b/data/maps/SlateportCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ SlateportCity_PokemonCenter_2F_EventObjects: @ 852FC64
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
SlateportCity_PokemonCenter_2F_MapWarps: @ 852FCC4
warp_def 1, 6, 4, 2, MAP_SLATEPORT_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
index 307f42af5..0f97b0d86 100644
--- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc
+++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
@@ -17,7 +17,7 @@ SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96
SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2
setvar VAR_0x40B7, 1
- msgbox SlateportCity_PokemonFanClub_Text_20A445, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A445, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_209F45
end
@@ -37,17 +37,17 @@ SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5
call_if 1, SlateportCity_PokemonFanClub_EventScript_209FCA
compare VAR_0x40B7, 2
goto_eq SlateportCity_PokemonFanClub_EventScript_209F3B
- msgbox SlateportCity_PokemonFanClub_Text_20A62A, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A62A, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_209F45
end
SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B
- msgbox SlateportCity_PokemonFanClub_Text_20A9E1, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A9E1, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45
- msgbox SlateportCity_PokemonFanClub_Text_20A65F, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A65F, MSGBOX_DEFAULT
setvar VAR_TEMP_1, 0
checkflag FLAG_0x0CC
call_if 0, SlateportCity_PokemonFanClub_EventScript_20A13B
@@ -79,7 +79,7 @@ SlateportCity_PokemonFanClub_EventScript_209FD0:: @ 8209FD0
return
SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6
- msgbox SlateportCity_PokemonFanClub_Text_20A66E, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A66E, MSGBOX_DEFAULT
release
end
@@ -87,10 +87,10 @@ SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0
checkitemspace ITEM_RED_SCARF, 1
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0C8
giveitem_std ITEM_RED_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A827, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A827, MSGBOX_DEFAULT
release
end
@@ -98,10 +98,10 @@ SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011
checkitemspace ITEM_BLUE_SCARF, 1
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0C9
giveitem_std ITEM_BLUE_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A880, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A880, MSGBOX_DEFAULT
release
end
@@ -109,10 +109,10 @@ SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042
checkitemspace ITEM_PINK_SCARF, 1
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0CA
giveitem_std ITEM_PINK_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A8D7, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A8D7, MSGBOX_DEFAULT
release
end
@@ -120,10 +120,10 @@ SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073
checkitemspace ITEM_GREEN_SCARF, 1
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0CB
giveitem_std ITEM_GREEN_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A933, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A933, MSGBOX_DEFAULT
release
end
@@ -131,15 +131,15 @@ SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4
checkitemspace ITEM_YELLOW_SCARF, 1
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0CC
giveitem_std ITEM_YELLOW_SCARF
- msgbox SlateportCity_PokemonFanClub_Text_20A984, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A984, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5
- msgbox SlateportCity_PokemonFanClub_Text_20A719, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A719, MSGBOX_DEFAULT
release
end
@@ -196,18 +196,18 @@ SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C
SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152
checkflag FLAG_0x156
goto_eq SlateportCity_PokemonFanClub_EventScript_20A168
- msgbox SlateportCity_PokemonFanClub_Text_20A233, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT
setflag FLAG_0x156
release
end
SlateportCity_PokemonFanClub_EventScript_20A168:: @ 820A168
- msgbox SlateportCity_PokemonFanClub_Text_20A3EE, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A3EE, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172
- msgbox SlateportCity_PokemonFanClub_Text_20A233, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT
setflag FLAG_0x156
return
@@ -216,7 +216,7 @@ SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E
faceplayer
checkflag FLAG_0x116
goto_eq SlateportCity_PokemonFanClub_EventScript_20A1DE
- msgbox SlateportCity_PokemonFanClub_Text_20AA77, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20AA77, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 4
goto_if 4, SlateportCity_PokemonFanClub_EventScript_20A1A3
@@ -229,7 +229,7 @@ SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3
waitmovement 0
applymovement VAR_LAST_TALKED, SlateportCity_PokemonFanClub_Movement_27259A
waitmovement 0
- msgbox SlateportCity_PokemonFanClub_Text_20AB63, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20AB63, MSGBOX_DEFAULT
giveitem_std ITEM_SOOTHE_BELL
compare VAR_RESULT, 0
goto_eq SlateportCity_PokemonFanClub_EventScript_272054
@@ -238,16 +238,16 @@ SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3
end
SlateportCity_PokemonFanClub_EventScript_20A1DE:: @ 820A1DE
- msgbox SlateportCity_PokemonFanClub_Text_20ABC4, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20ABC4, MSGBOX_DEFAULT
release
end
SlateportCity_PokemonFanClub_EventScript_20A1E8:: @ 820A1E8
- msgbox SlateportCity_PokemonFanClub_Text_20AC47, 2
+ msgbox SlateportCity_PokemonFanClub_Text_20AC47, MSGBOX_NPC
end
SlateportCity_PokemonFanClub_EventScript_20A1F1:: @ 820A1F1
- msgbox SlateportCity_PokemonFanClub_Text_20ACF9, 2
+ msgbox SlateportCity_PokemonFanClub_Text_20ACF9, MSGBOX_NPC
end
SlateportCity_PokemonFanClub_EventScript_20A1FA:: @ 820A1FA
@@ -255,7 +255,7 @@ SlateportCity_PokemonFanClub_EventScript_20A1FA:: @ 820A1FA
faceplayer
waitse
playmoncry SPECIES_SKITTY, 0
- msgbox SlateportCity_PokemonFanClub_Text_20AD5A, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20AD5A, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -265,7 +265,7 @@ SlateportCity_PokemonFanClub_EventScript_20A20D:: @ 820A20D
faceplayer
waitse
playmoncry SPECIES_ZIGZAGOON, 0
- msgbox SlateportCity_PokemonFanClub_Text_20AD6E, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20AD6E, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -275,7 +275,7 @@ SlateportCity_PokemonFanClub_EventScript_20A220:: @ 820A220
faceplayer
waitse
playmoncry SPECIES_AZUMARILL, 0
- msgbox SlateportCity_PokemonFanClub_Text_20AD80, 4
+ msgbox SlateportCity_PokemonFanClub_Text_20AD80, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/events.inc b/data/maps/SlateportCity_SternsShipyard_1F/events.inc
index 107a00ee0..5bad8c5e2 100644
--- a/data/maps/SlateportCity_SternsShipyard_1F/events.inc
+++ b/data/maps/SlateportCity_SternsShipyard_1F/events.inc
@@ -2,7 +2,7 @@ SlateportCity_SternsShipyard_1F_EventObjects: @ 852F318
object_event 1, EVENT_OBJ_GFX_MAN_1, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207F40, 0
object_event 2, EVENT_OBJ_GFX_SCIENTIST_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FED, 0
object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 18, 8, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FF6, 0
- object_event 4, EVENT_OBJ_GFX_EXPERT_M, 0, 12, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FFF, 869
+ object_event 4, EVENT_OBJ_GFX_EXPERT_M, 0, 12, 11, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 2, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FFF, FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
SlateportCity_SternsShipyard_1F_MapWarps: @ 852F378
warp_def 2, 14, 0, 2, MAP_SLATEPORT_CITY
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
index 8197eb873..05e378c7e 100644
--- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
+++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
@@ -11,36 +11,36 @@ SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40
goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FD9
checkflag FLAG_0x094
goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FBA
- msgbox SlateportCity_SternsShipyard_1F_Text_208008, 4
+ msgbox SlateportCity_SternsShipyard_1F_Text_208008, MSGBOX_DEFAULT
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_2080A5, 4
+ msgbox SlateportCity_SternsShipyard_1F_Text_2080A5, MSGBOX_DEFAULT
closemessage
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2
waitmovement 0
setflag FLAG_0x094
- setflag FLAG_0x372
+ setflag FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_207F92:: @ 8207F92
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_208323, 4
+ msgbox SlateportCity_SternsShipyard_1F_Text_208323, MSGBOX_DEFAULT
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_207FA6:: @ 8207FA6
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_2082A8, 4
+ msgbox SlateportCity_SternsShipyard_1F_Text_2082A8, MSGBOX_DEFAULT
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_207FBA:: @ 8207FBA
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_2081A5, 4
+ msgbox SlateportCity_SternsShipyard_1F_Text_2081A5, MSGBOX_DEFAULT
closemessage
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2
waitmovement 0
@@ -50,20 +50,20 @@ SlateportCity_SternsShipyard_1F_EventScript_207FBA:: @ 8207FBA
SlateportCity_SternsShipyard_1F_EventScript_207FD9:: @ 8207FD9
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
waitmovement 0
- msgbox SlateportCity_SternsShipyard_1F_Text_208213, 4
+ msgbox SlateportCity_SternsShipyard_1F_Text_208213, MSGBOX_DEFAULT
releaseall
end
SlateportCity_SternsShipyard_1F_EventScript_207FED:: @ 8207FED
- msgbox SlateportCity_SternsShipyard_1F_Text_208558, 2
+ msgbox SlateportCity_SternsShipyard_1F_Text_208558, MSGBOX_NPC
end
SlateportCity_SternsShipyard_1F_EventScript_207FF6:: @ 8207FF6
- msgbox SlateportCity_SternsShipyard_1F_Text_2085FF, 2
+ msgbox SlateportCity_SternsShipyard_1F_Text_2085FF, MSGBOX_NPC
end
SlateportCity_SternsShipyard_1F_EventScript_207FFF:: @ 8207FFF
- msgbox SlateportCity_SternsShipyard_1F_Text_2083EE, 2
+ msgbox SlateportCity_SternsShipyard_1F_Text_2083EE, MSGBOX_NPC
end
SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc
index a599ac9b8..eed3804f8 100644
--- a/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc
+++ b/data/maps/SlateportCity_SternsShipyard_2F/scripts.inc
@@ -2,11 +2,11 @@ SlateportCity_SternsShipyard_2F_MapScripts:: @ 820863D
.byte 0
SlateportCity_SternsShipyard_2F_EventScript_20863E:: @ 820863E
- msgbox SlateportCity_SternsShipyard_2F_Text_208650, 2
+ msgbox SlateportCity_SternsShipyard_2F_Text_208650, MSGBOX_NPC
end
SlateportCity_SternsShipyard_2F_EventScript_208647:: @ 8208647
- msgbox SlateportCity_SternsShipyard_2F_Text_2086BA, 2
+ msgbox SlateportCity_SternsShipyard_2F_Text_2086BA, MSGBOX_NPC
end
SlateportCity_SternsShipyard_2F_Text_208650: @ 8208650
diff --git a/data/maps/SootopolisCity/events.inc b/data/maps/SootopolisCity/events.inc
index 52dcb8f53..9ca0bb20d 100644
--- a/data/maps/SootopolisCity/events.inc
+++ b/data/maps/SootopolisCity/events.inc
@@ -1,22 +1,22 @@
SootopolisCity_EventObjects: @ 8527314
object_event 1, EVENT_OBJ_GFX_EXPERT_M, 0, 31, 18, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_1E5E8D, 0
- object_event 2, EVENT_OBJ_GFX_WOMAN_4, 0, 47, 33, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SootopolisCity_EventScript_1E5FE2, 854
+ object_event 2, EVENT_OBJ_GFX_WOMAN_4, 0, 47, 33, 0, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, SootopolisCity_EventScript_1E5FE2, FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
object_event 3, EVENT_OBJ_GFX_GIRL_2, 0, 9, 43, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SootopolisCity_EventScript_1E5ED8, 0
object_event 4, EVENT_OBJ_GFX_NINJA_BOY, 0, 51, 14, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SootopolisCity_EventScript_1E608E, 0
object_event 5, EVENT_OBJ_GFX_BOY_1, 0, 43, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, SootopolisCity_EventScript_1E60E3, 0
- object_event 6, EVENT_OBJ_GFX_MAN_1, 0, 26, 4, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SootopolisCity_EventScript_1E6017, 839
- object_event 7, EVENT_OBJ_GFX_STEVEN, 0, 20, 36, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E6166, 973
+ object_event 6, EVENT_OBJ_GFX_MAN_1, 0, 26, 4, 3, MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT, 1, 0, 0, 0, SootopolisCity_EventScript_1E6017, FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1
+ object_event 7, EVENT_OBJ_GFX_STEVEN, 0, 20, 36, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E6166, FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
object_event 8, EVENT_OBJ_GFX_WOMAN_5, 0, 49, 34, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E6038, 0
- object_event 9, EVENT_OBJ_GFX_GROUDON_3, 0, 28, 44, 0, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 1, 1, 0, 0, 0x0, 998
- object_event 10, EVENT_OBJ_GFX_KYOGRE_3, 0, 34, 44, 1, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT, 1, 1, 0, 0, 0x0, 997
- object_event 11, EVENT_OBJ_GFX_RAYQUAZA_2, 0, 31, 41, 1, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 996
- object_event 12, EVENT_OBJ_GFX_MANIAC, 0, 17, 44, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_1E6411, 854
- object_event 13, EVENT_OBJ_GFX_GIRL_3, 0, 14, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_1E63DB, 854
- object_event 14, EVENT_OBJ_GFX_BLACK_BELT, 0, 17, 40, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_1E6393, 854
- object_event 15, EVENT_OBJ_GFX_BOY_2, 0, 19, 37, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E635D, 854
- object_event 16, EVENT_OBJ_GFX_MAXIE, 0, 29, 33, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E64F2, 827
- object_event 17, EVENT_OBJ_GFX_ARCHIE, 0, 31, 33, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E651F, 826
- object_event 18, EVENT_OBJ_GFX_WALLACE, 0, 31, 18, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E6446, 816
+ object_event 9, EVENT_OBJ_GFX_GROUDON_3, 0, 28, 44, 0, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT, 1, 1, 0, 0, 0x0, FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON
+ object_event 10, EVENT_OBJ_GFX_KYOGRE_3, 0, 34, 44, 1, MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT, 1, 1, 0, 0, 0x0, FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE
+ object_event 11, EVENT_OBJ_GFX_RAYQUAZA_2, 0, 31, 41, 1, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA
+ object_event 12, EVENT_OBJ_GFX_MANIAC, 0, 17, 44, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_1E6411, FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ object_event 13, EVENT_OBJ_GFX_GIRL_3, 0, 14, 42, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_1E63DB, FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ object_event 14, EVENT_OBJ_GFX_BLACK_BELT, 0, 17, 40, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, SootopolisCity_EventScript_1E6393, FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ object_event 15, EVENT_OBJ_GFX_BOY_2, 0, 19, 37, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E635D, FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ object_event 16, EVENT_OBJ_GFX_MAXIE, 0, 29, 33, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E64F2, FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
+ object_event 17, EVENT_OBJ_GFX_ARCHIE, 0, 31, 33, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E651F, FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
+ object_event 18, EVENT_OBJ_GFX_WALLACE, 0, 31, 18, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_EventScript_1E6446, FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
SootopolisCity_MapWarps: @ 85274C4
warp_def 43, 31, 0, 0, MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index 06ceba8c0..b3411a9c2 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -704,22 +704,22 @@ SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D
goto_eq SootopolisCity_EventScript_1E5ECE
compare VAR_0x405E, 2
goto_if 4, SootopolisCity_EventScript_1E5EBA
- msgbox SootopolisCity_Text_1E6D77, 4
+ msgbox SootopolisCity_Text_1E6D77, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E5EBA:: @ 81E5EBA
- msgbox SootopolisCity_Text_1E6DFE, 4
+ msgbox SootopolisCity_Text_1E6DFE, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E5EC4:: @ 81E5EC4
- msgbox SootopolisCity_Text_1E6F38, 4
+ msgbox SootopolisCity_Text_1E6F38, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E5ECE:: @ 81E5ECE
- msgbox SootopolisCity_Text_1E6ED4, 4
+ msgbox SootopolisCity_Text_1E6ED4, MSGBOX_DEFAULT
release
end
@@ -732,7 +732,7 @@ SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8
goto_if 4, SootopolisCity_EventScript_1E5F1B
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E5F10
- msgbox SootopolisCity_Text_1E6BFF, 4
+ msgbox SootopolisCity_Text_1E6BFF, MSGBOX_DEFAULT
closemessage
applymovement 3, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -740,7 +740,7 @@ SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8
end
SootopolisCity_EventScript_1E5F10:: @ 81E5F10
- msgbox SootopolisCity_Text_1E6C53, 4
+ msgbox SootopolisCity_Text_1E6C53, MSGBOX_DEFAULT
closemessage
release
end
@@ -750,7 +750,7 @@ SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B
special GetPlayerBigGuyGirlString
checkflag FLAG_0x932
goto_eq SootopolisCity_EventScript_1E5FBB
- msgbox SootopolisCity_Text_2A7BB0, 4
+ msgbox SootopolisCity_Text_2A7BB0, MSGBOX_DEFAULT
random 10
addvar VAR_RESULT, 20
addvar VAR_RESULT, 133
@@ -758,7 +758,7 @@ SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B
compare VAR_RESULT, 0
goto_eq SootopolisCity_EventScript_272054
setflag FLAG_0x932
- msgbox SootopolisCity_Text_2A7C7C, 4
+ msgbox SootopolisCity_Text_2A7C7C, MSGBOX_DEFAULT
random 2
compare VAR_RESULT, 0
goto_eq SootopolisCity_EventScript_1E5F79
@@ -770,7 +770,7 @@ SootopolisCity_EventScript_1E5F79:: @ 81E5F79
giveitem_std ITEM_FIGY_BERRY
compare VAR_RESULT, 0
goto_eq SootopolisCity_EventScript_272054
- msgbox SootopolisCity_Text_2A7CB7, 4
+ msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT
release
end
@@ -778,20 +778,20 @@ SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A
giveitem_std ITEM_IAPAPA_BERRY
compare VAR_RESULT, 0
goto_eq SootopolisCity_EventScript_272054
- msgbox SootopolisCity_Text_2A7CB7, 4
+ msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB
- msgbox SootopolisCity_Text_2A7CEC, 5
+ msgbox SootopolisCity_Text_2A7CEC, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SootopolisCity_EventScript_1E5FD8
- msgbox SootopolisCity_Text_2A7DD2, 4
+ msgbox SootopolisCity_Text_2A7DD2, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E5FD8:: @ 81E5FD8
- msgbox SootopolisCity_Text_2A7D80, 4
+ msgbox SootopolisCity_Text_2A7D80, MSGBOX_DEFAULT
release
end
@@ -801,7 +801,7 @@ SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2
waitmovement 0
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E600D
- msgbox SootopolisCity_Text_1E71A1, 4
+ msgbox SootopolisCity_Text_1E71A1, MSGBOX_DEFAULT
closemessage
applymovement 2, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -809,7 +809,7 @@ SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2
end
SootopolisCity_EventScript_1E600D:: @ 81E600D
- msgbox SootopolisCity_Text_1E728C, 4
+ msgbox SootopolisCity_Text_1E728C, MSGBOX_DEFAULT
releaseall
end
@@ -818,12 +818,12 @@ SootopolisCity_EventScript_1E6017:: @ 81E6017
faceplayer
compare VAR_0x405E, 6
goto_if 4, SootopolisCity_EventScript_1E602E
- msgbox SootopolisCity_Text_1E6CCA, 4
+ msgbox SootopolisCity_Text_1E6CCA, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E602E:: @ 81E602E
- msgbox SootopolisCity_Text_1E6D57, 4
+ msgbox SootopolisCity_Text_1E6D57, MSGBOX_DEFAULT
release
end
@@ -836,12 +836,12 @@ SootopolisCity_EventScript_1E6038:: @ 81E6038
goto_eq SootopolisCity_EventScript_1E6084
compare VAR_0x405E, 2
goto_if 4, SootopolisCity_EventScript_1E6065
- msgbox SootopolisCity_Text_1E6F90, 4
+ msgbox SootopolisCity_Text_1E6F90, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E6065:: @ 81E6065
- msgbox SootopolisCity_Text_1E7078, 4
+ msgbox SootopolisCity_Text_1E7078, MSGBOX_DEFAULT
closemessage
applymovement 8, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -849,12 +849,12 @@ SootopolisCity_EventScript_1E6065:: @ 81E6065
end
SootopolisCity_EventScript_1E607A:: @ 81E607A
- msgbox SootopolisCity_Text_1E710B, 4
+ msgbox SootopolisCity_Text_1E710B, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E6084:: @ 81E6084
- msgbox SootopolisCity_Text_1E70D4, 4
+ msgbox SootopolisCity_Text_1E70D4, MSGBOX_DEFAULT
release
end
@@ -868,7 +868,7 @@ SootopolisCity_EventScript_1E608E:: @ 81E608E
goto_if 4, SootopolisCity_EventScript_1E60CF
compare VAR_0x405E, 1
goto_if 3, SootopolisCity_EventScript_1E60CF
- msgbox SootopolisCity_Text_1E690B, 4
+ msgbox SootopolisCity_Text_1E690B, MSGBOX_DEFAULT
closemessage
applymovement 4, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -876,12 +876,12 @@ SootopolisCity_EventScript_1E608E:: @ 81E608E
end
SootopolisCity_EventScript_1E60CF:: @ 81E60CF
- msgbox SootopolisCity_Text_1E68A1, 4
+ msgbox SootopolisCity_Text_1E68A1, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E60D9:: @ 81E60D9
- msgbox SootopolisCity_Text_1E6920, 4
+ msgbox SootopolisCity_Text_1E6920, MSGBOX_DEFAULT
release
end
@@ -897,7 +897,7 @@ SootopolisCity_EventScript_1E60E3:: @ 81E60E3
goto_if 4, SootopolisCity_EventScript_1E6141
compare VAR_0x405E, 1
goto_if 3, SootopolisCity_EventScript_1E6141
- msgbox SootopolisCity_Text_1E6692, 4
+ msgbox SootopolisCity_Text_1E6692, MSGBOX_DEFAULT
closemessage
applymovement 5, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -905,30 +905,30 @@ SootopolisCity_EventScript_1E60E3:: @ 81E60E3
end
SootopolisCity_EventScript_1E612D:: @ 81E612D
- msgbox SootopolisCity_Text_1E6750, 4
+ msgbox SootopolisCity_Text_1E6750, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E6137:: @ 81E6137
- msgbox SootopolisCity_Text_1E677F, 4
+ msgbox SootopolisCity_Text_1E677F, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E6141:: @ 81E6141
- msgbox SootopolisCity_Text_1E6618, 4
+ msgbox SootopolisCity_Text_1E6618, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E614B:: @ 81E614B
- msgbox SootopolisCity_Text_1E656F, 3
+ msgbox SootopolisCity_Text_1E656F, MSGBOX_SIGN
end
SootopolisCity_EventScript_1E6154:: @ 81E6154
- msgbox SootopolisCity_Text_1E65C8, 3
+ msgbox SootopolisCity_Text_1E65C8, MSGBOX_SIGN
end
EventScript_ClosedSootopolisDoor:: @ 81E615D
- msgbox SootopolisCity_Text_1E6604, 3
+ msgbox SootopolisCity_Text_1E6604, MSGBOX_SIGN
end
SootopolisCity_EventScript_1E6166:: @ 81E6166
@@ -945,33 +945,33 @@ SootopolisCity_EventScript_1E6166:: @ 81E6166
goto_eq SootopolisCity_EventScript_1E61C2
checkflag FLAG_0x09E
goto_eq SootopolisCity_EventScript_1E61B8
- msgbox SootopolisCity_Text_1E78E5, 4
+ msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT
releaseall
end
SootopolisCity_EventScript_1E61AE:: @ 81E61AE
- msgbox SootopolisCity_Text_1E7866, 4
+ msgbox SootopolisCity_Text_1E7866, MSGBOX_DEFAULT
releaseall
end
SootopolisCity_EventScript_1E61B8:: @ 81E61B8
- msgbox SootopolisCity_Text_1E794B, 4
+ msgbox SootopolisCity_Text_1E794B, MSGBOX_DEFAULT
releaseall
end
SootopolisCity_EventScript_1E61C2:: @ 81E61C2
- msgbox SootopolisCity_Text_1E789A, 4
+ msgbox SootopolisCity_Text_1E789A, MSGBOX_DEFAULT
releaseall
end
SootopolisCity_EventScript_1E61CC:: @ 81E61CC
- msgbox SootopolisCity_Text_1E75CB, 4
+ msgbox SootopolisCity_Text_1E75CB, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 3
call_if 1, SootopolisCity_EventScript_1E6243
compare VAR_FACING, 2
call_if 1, SootopolisCity_EventScript_1E6255
- msgbox SootopolisCity_Text_1E7737, 4
+ msgbox SootopolisCity_Text_1E7737, MSGBOX_DEFAULT
closemessage
applymovement 7, SootopolisCity_Movement_1E62D4
applymovement 255, SootopolisCity_Movement_1E630E
@@ -982,7 +982,7 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC
applymovement 7, SootopolisCity_Movement_1E6344
applymovement 255, SootopolisCity_Movement_1E634F
waitmovement 0
- msgbox SootopolisCity_Text_1E77F0, 4
+ msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x133
applymovement 255, SootopolisCity_Movement_1E635A
@@ -1273,7 +1273,7 @@ SootopolisCity_EventScript_1E635D:: @ 81E635D
waitmovement 0
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E6388
- msgbox SootopolisCity_Text_1E67DC, 4
+ msgbox SootopolisCity_Text_1E67DC, MSGBOX_DEFAULT
closemessage
applymovement 15, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -1281,7 +1281,7 @@ SootopolisCity_EventScript_1E635D:: @ 81E635D
end
SootopolisCity_EventScript_1E6388:: @ 81E6388
- msgbox SootopolisCity_Text_1E6853, 4
+ msgbox SootopolisCity_Text_1E6853, MSGBOX_DEFAULT
closemessage
releaseall
end
@@ -1290,11 +1290,11 @@ SootopolisCity_EventScript_1E6393:: @ 81E6393
lockall
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E63C7
- msgbox SootopolisCity_Text_1E6936, 4
+ msgbox SootopolisCity_Text_1E6936, MSGBOX_DEFAULT
closemessage
applymovement 14, SootopolisCity_Movement_27259E
waitmovement 0
- msgbox SootopolisCity_Text_1E696C, 4
+ msgbox SootopolisCity_Text_1E696C, MSGBOX_DEFAULT
closemessage
applymovement 14, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -1304,7 +1304,7 @@ SootopolisCity_EventScript_1E6393:: @ 81E6393
SootopolisCity_EventScript_1E63C7:: @ 81E63C7
applymovement 14, SootopolisCity_Movement_27259E
waitmovement 0
- msgbox SootopolisCity_Text_1E69B8, 4
+ msgbox SootopolisCity_Text_1E69B8, MSGBOX_DEFAULT
releaseall
end
@@ -1314,7 +1314,7 @@ SootopolisCity_EventScript_1E63DB:: @ 81E63DB
waitmovement 0
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E6406
- msgbox SootopolisCity_Text_1E6C7C, 4
+ msgbox SootopolisCity_Text_1E6C7C, MSGBOX_DEFAULT
closemessage
applymovement 13, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -1322,7 +1322,7 @@ SootopolisCity_EventScript_1E63DB:: @ 81E63DB
end
SootopolisCity_EventScript_1E6406:: @ 81E6406
- msgbox SootopolisCity_Text_1E6CA6, 4
+ msgbox SootopolisCity_Text_1E6CA6, MSGBOX_DEFAULT
closemessage
releaseall
end
@@ -1333,7 +1333,7 @@ SootopolisCity_EventScript_1E6411:: @ 81E6411
waitmovement 0
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E643C
- msgbox SootopolisCity_Text_1E6A50, 4
+ msgbox SootopolisCity_Text_1E6A50, MSGBOX_DEFAULT
closemessage
applymovement 12, SootopolisCity_Movement_2725A2
waitmovement 0
@@ -1341,7 +1341,7 @@ SootopolisCity_EventScript_1E6411:: @ 81E6411
end
SootopolisCity_EventScript_1E643C:: @ 81E643C
- msgbox SootopolisCity_Text_1E6B2A, 4
+ msgbox SootopolisCity_Text_1E6B2A, MSGBOX_DEFAULT
releaseall
end
@@ -1354,15 +1354,15 @@ SootopolisCity_EventScript_1E6446:: @ 81E6446
goto_eq SootopolisCity_EventScript_1E64E2
checkflag FLAG_0x09E
goto_eq SootopolisCity_EventScript_1E646F
- msgbox SootopolisCity_Text_1E7A3E, 4
+ msgbox SootopolisCity_Text_1E7A3E, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E646F:: @ 81E646F
- msgbox SootopolisCity_Text_1E7ACF, 4
+ msgbox SootopolisCity_Text_1E7ACF, MSGBOX_DEFAULT
giveitem_std ITEM_HM07
setflag FLAG_0x138
- msgbox SootopolisCity_Text_1E7B86, 4
+ msgbox SootopolisCity_Text_1E7B86, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, SootopolisCity_EventScript_1E64B2
@@ -1388,12 +1388,12 @@ SootopolisCity_EventScript_1E64C5:: @ 81E64C5
return
SootopolisCity_EventScript_1E64D8:: @ 81E64D8
- msgbox SootopolisCity_Text_1E79C8, 4
+ msgbox SootopolisCity_Text_1E79C8, MSGBOX_DEFAULT
release
end
SootopolisCity_EventScript_1E64E2:: @ 81E64E2
- msgbox SootopolisCity_Text_1E7CBC, 4
+ msgbox SootopolisCity_Text_1E7CBC, MSGBOX_DEFAULT
release
end
@@ -1411,13 +1411,13 @@ SootopolisCity_EventScript_1E64F2:: @ 81E64F2
lockall
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E6509
- msgbox SootopolisCity_Text_1E72DB, 4
+ msgbox SootopolisCity_Text_1E72DB, MSGBOX_DEFAULT
closemessage
releaseall
end
SootopolisCity_EventScript_1E6509:: @ 81E6509
- msgbox SootopolisCity_Text_1E737E, 4
+ msgbox SootopolisCity_Text_1E737E, MSGBOX_DEFAULT
setflag FLAG_0x135
checkflag FLAG_0x134
goto_eq SootopolisCity_EventScript_1E654C
@@ -1428,13 +1428,13 @@ SootopolisCity_EventScript_1E651F:: @ 81E651F
lockall
compare VAR_0x405E, 5
goto_eq SootopolisCity_EventScript_1E6536
- msgbox SootopolisCity_Text_1E7460, 4
+ msgbox SootopolisCity_Text_1E7460, MSGBOX_DEFAULT
closemessage
releaseall
end
SootopolisCity_EventScript_1E6536:: @ 81E6536
- msgbox SootopolisCity_Text_1E74F6, 4
+ msgbox SootopolisCity_Text_1E74F6, MSGBOX_DEFAULT
setflag FLAG_0x134
checkflag FLAG_0x135
goto_eq SootopolisCity_EventScript_1E654C
@@ -1442,11 +1442,11 @@ SootopolisCity_EventScript_1E6536:: @ 81E6536
end
SootopolisCity_EventScript_1E654C:: @ 81E654C
- setflag FLAG_0x33B
- setflag FLAG_0x33A
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE
setflag FLAG_0x09E
- clearflag FLAG_0x358
- clearflag FLAG_0x394
+ clearflag FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE
+ clearflag FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE
setvar VAR_0x40B9, 2
warpsilent MAP_SOOTOPOLIS_CITY, 255, 31, 34
waitstate
diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc
index af661890f..b04243b90 100644
--- a/data/maps/SootopolisCity_Gym_1F/scripts.inc
+++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc
@@ -86,7 +86,7 @@ SootopolisCity_Gym_1F_Movement_224F42: @ 8224F42
step_end
SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44
- trainerbattle 1, TRAINER_JUAN_1, 0, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82
+ 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
@@ -94,7 +94,7 @@ SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44
goto_if 0, SootopolisCity_Gym_1F_EventScript_224FF7
checkflag FLAG_BADGE06_GET
goto_if 0, SootopolisCity_Gym_1F_EventScript_22501B
- msgbox SootopolisCity_Gym_1F_Text_225778, 4
+ msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT
release
end
@@ -102,21 +102,21 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
message SootopolisCity_Gym_1F_Text_225598
waitmessage
call SootopolisCity_Gym_1F_EventScript_27207E
- msgbox SootopolisCity_Gym_1F_Text_2255BE, 4
+ msgbox SootopolisCity_Gym_1F_Text_2255BE, MSGBOX_DEFAULT
setflag FLAG_0x4F7
setflag FLAG_BADGE08_GET
- setflag FLAG_0x356
- setflag FLAG_0x3CD
- setflag FLAG_0x330
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN
+ setflag FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE
setvar VAR_0x405E, 6
- clearflag FLAG_0x347
+ clearflag FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1
setvar VAR_0x8008, 8
call SootopolisCity_Gym_1F_EventScript_271F43
call SootopolisCity_Gym_1F_EventScript_224FD4
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox SootopolisCity_Gym_1F_Text_22574D, 4
+ msgbox SootopolisCity_Gym_1F_Text_22574D, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -128,7 +128,7 @@ SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4
giveitem_std ITEM_TM03
compare VAR_RESULT, 0
goto_eq SootopolisCity_Gym_1F_EventScript_27205E
- msgbox SootopolisCity_Gym_1F_Text_2256C1, 4
+ msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT
setflag FLAG_0x0AC
return
@@ -136,19 +136,19 @@ SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7
giveitem_std ITEM_TM03
compare VAR_RESULT, 0
goto_eq SootopolisCity_Gym_1F_EventScript_272054
- msgbox SootopolisCity_Gym_1F_Text_2256C1, 4
+ msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT
setflag FLAG_0x0AC
release
end
SootopolisCity_Gym_1F_EventScript_22501B:: @ 822501B
- msgbox SootopolisCity_Gym_1F_Text_225865, 4
+ msgbox SootopolisCity_Gym_1F_Text_225865, MSGBOX_DEFAULT
release
end
SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025
- trainerbattle 7, TRAINER_JUAN_1, 0, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48
- msgbox SootopolisCity_Gym_1F_Text_225A67, 6
+ trainerbattle_rematch_double TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48
+ msgbox SootopolisCity_Gym_1F_Text_225A67, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040
@@ -156,12 +156,12 @@ SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040
faceplayer
checkflag FLAG_0x4F7
goto_eq SootopolisCity_Gym_1F_EventScript_225055
- msgbox SootopolisCity_Gym_1F_Text_225093, 4
+ msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT
release
end
SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055
- msgbox SootopolisCity_Gym_1F_Text_2251AF, 4
+ msgbox SootopolisCity_Gym_1F_Text_2251AF, MSGBOX_DEFAULT
release
end
@@ -180,12 +180,12 @@ SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F
end
SootopolisCity_Gym_1F_EventScript_22507F:: @ 822507F
- msgbox SootopolisCity_Gym_1F_Text_225916, 4
+ msgbox SootopolisCity_Gym_1F_Text_225916, MSGBOX_DEFAULT
releaseall
end
SootopolisCity_Gym_1F_EventScript_225089:: @ 8225089
- msgbox SootopolisCity_Gym_1F_Text_2258FA, 4
+ msgbox SootopolisCity_Gym_1F_Text_2258FA, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SootopolisCity_Gym_B1F/scripts.inc b/data/maps/SootopolisCity_Gym_B1F/scripts.inc
index 8aaa604e2..33840b427 100644
--- a/data/maps/SootopolisCity_Gym_B1F/scripts.inc
+++ b/data/maps/SootopolisCity_Gym_B1F/scripts.inc
@@ -2,53 +2,53 @@ SootopolisCity_Gym_B1F_MapScripts:: @ 8225C8A
.byte 0
SootopolisCity_Gym_B1F_EventScript_225C8B:: @ 8225C8B
- trainerbattle 0, TRAINER_ANDREA, 0, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6
- msgbox SootopolisCity_Gym_B1F_Text_225DCF, 6
+ trainerbattle_single TRAINER_ANDREA, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6
+ msgbox SootopolisCity_Gym_B1F_Text_225DCF, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225CA2:: @ 8225CA2
- trainerbattle 0, TRAINER_CRISSY, 0, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60
- msgbox SootopolisCity_Gym_B1F_Text_225E90, 6
+ trainerbattle_single TRAINER_CRISSY, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60
+ msgbox SootopolisCity_Gym_B1F_Text_225E90, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225CB9:: @ 8225CB9
- trainerbattle 0, TRAINER_BRIANNA, 0, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495
- msgbox SootopolisCity_Gym_B1F_Text_2264BC, 6
+ trainerbattle_single TRAINER_BRIANNA, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495
+ msgbox SootopolisCity_Gym_B1F_Text_2264BC, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225CD0:: @ 8225CD0
- trainerbattle 0, TRAINER_CONNIE, 0, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB
- msgbox SootopolisCity_Gym_B1F_Text_225FFE, 6
+ trainerbattle_single TRAINER_CONNIE, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB
+ msgbox SootopolisCity_Gym_B1F_Text_225FFE, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225CE7:: @ 8225CE7
- trainerbattle 0, TRAINER_BRIDGET, 0, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6
- msgbox SootopolisCity_Gym_B1F_Text_2260D1, 6
+ trainerbattle_single TRAINER_BRIDGET, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6
+ msgbox SootopolisCity_Gym_B1F_Text_2260D1, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225CFE:: @ 8225CFE
- trainerbattle 0, TRAINER_OLIVIA, 0, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7
- msgbox SootopolisCity_Gym_B1F_Text_2261B5, 6
+ trainerbattle_single TRAINER_OLIVIA, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7
+ msgbox SootopolisCity_Gym_B1F_Text_2261B5, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225D15:: @ 8225D15
- trainerbattle 0, TRAINER_TIFFANY, 0, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274
- msgbox SootopolisCity_Gym_B1F_Text_226286, 6
+ trainerbattle_single TRAINER_TIFFANY, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274
+ msgbox SootopolisCity_Gym_B1F_Text_226286, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225D2C:: @ 8225D2C
- trainerbattle 0, TRAINER_BETHANY, 0, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B
- msgbox SootopolisCity_Gym_B1F_Text_226341, 6
+ trainerbattle_single TRAINER_BETHANY, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B
+ msgbox SootopolisCity_Gym_B1F_Text_226341, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225D43:: @ 8225D43
- trainerbattle 0, TRAINER_ANNIKA, 0, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD
- msgbox SootopolisCity_Gym_B1F_Text_2263F4, 6
+ trainerbattle_single TRAINER_ANNIKA, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD
+ msgbox SootopolisCity_Gym_B1F_Text_2263F4, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_EventScript_225D5A:: @ 8225D5A
- trainerbattle 0, TRAINER_DAPHNE, 0, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35
- msgbox SootopolisCity_Gym_B1F_Text_225F67, 6
+ trainerbattle_single TRAINER_DAPHNE, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35
+ msgbox SootopolisCity_Gym_B1F_Text_225F67, MSGBOX_AUTOCLOSE
end
SootopolisCity_Gym_B1F_Text_225D71: @ 8225D71
diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc
index 7c898a0b2..c23b90bb3 100644
--- a/data/maps/SootopolisCity_House1/scripts.inc
+++ b/data/maps/SootopolisCity_House1/scripts.inc
@@ -6,17 +6,17 @@ SootopolisCity_House1_EventScript_22694D:: @ 822694D
faceplayer
checkflag FLAG_0x079
goto_eq SootopolisCity_House1_EventScript_226984
- msgbox SootopolisCity_House1_Text_2269A1, 4
+ msgbox SootopolisCity_House1_Text_2269A1, MSGBOX_DEFAULT
giveitem_std ITEM_TM31
compare VAR_RESULT, 0
goto_eq SootopolisCity_House1_EventScript_272054
setflag FLAG_0x079
- msgbox SootopolisCity_House1_Text_226A13, 4
+ msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT
release
end
SootopolisCity_House1_EventScript_226984:: @ 8226984
- msgbox SootopolisCity_House1_Text_226A13, 4
+ msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT
release
end
@@ -25,7 +25,7 @@ SootopolisCity_House1_EventScript_22698E:: @ 822698E
faceplayer
waitse
playmoncry SPECIES_KECLEON, 0
- msgbox SootopolisCity_House1_Text_226A60, 4
+ msgbox SootopolisCity_House1_Text_226A60, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/SootopolisCity_House2/scripts.inc b/data/maps/SootopolisCity_House2/scripts.inc
index 82270ca56..676ec4ed2 100644
--- a/data/maps/SootopolisCity_House2/scripts.inc
+++ b/data/maps/SootopolisCity_House2/scripts.inc
@@ -4,7 +4,7 @@ SootopolisCity_House2_MapScripts:: @ 8226A76
SootopolisCity_House2_EventScript_226A77:: @ 8226A77
lock
faceplayer
- msgbox SootopolisCity_House2_Text_226AAB, 5
+ msgbox SootopolisCity_House2_Text_226AAB, MSGBOX_YESNO
compare VAR_RESULT, 1
call_if 1, SootopolisCity_House2_EventScript_226A99
compare VAR_RESULT, 0
@@ -13,11 +13,11 @@ SootopolisCity_House2_EventScript_226A77:: @ 8226A77
end
SootopolisCity_House2_EventScript_226A99:: @ 8226A99
- msgbox SootopolisCity_House2_Text_226AF1, 4
+ msgbox SootopolisCity_House2_Text_226AF1, MSGBOX_DEFAULT
return
SootopolisCity_House2_EventScript_226AA2:: @ 8226AA2
- msgbox SootopolisCity_House2_Text_226B41, 4
+ msgbox SootopolisCity_House2_Text_226B41, MSGBOX_DEFAULT
return
SootopolisCity_House2_Text_226AAB: @ 8226AAB
diff --git a/data/maps/SootopolisCity_House3/scripts.inc b/data/maps/SootopolisCity_House3/scripts.inc
index 415f90642..90c9ab155 100644
--- a/data/maps/SootopolisCity_House3/scripts.inc
+++ b/data/maps/SootopolisCity_House3/scripts.inc
@@ -4,20 +4,20 @@ SootopolisCity_House3_MapScripts:: @ 8226B71
SootopolisCity_House3_EventScript_226B72:: @ 8226B72
lock
faceplayer
- msgbox SootopolisCity_House3_Text_226BA4, 5
+ msgbox SootopolisCity_House3_Text_226BA4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq SootopolisCity_House3_EventScript_226B91
- msgbox SootopolisCity_House3_Text_226C44, 4
+ msgbox SootopolisCity_House3_Text_226C44, MSGBOX_DEFAULT
release
end
SootopolisCity_House3_EventScript_226B91:: @ 8226B91
- msgbox SootopolisCity_House3_Text_226C20, 4
+ msgbox SootopolisCity_House3_Text_226C20, MSGBOX_DEFAULT
release
end
SootopolisCity_House3_EventScript_226B9B:: @ 8226B9B
- msgbox SootopolisCity_House3_Text_226C9C, 2
+ msgbox SootopolisCity_House3_Text_226C9C, MSGBOX_NPC
end
SootopolisCity_House3_Text_226BA4: @ 8226BA4
diff --git a/data/maps/SootopolisCity_House4/scripts.inc b/data/maps/SootopolisCity_House4/scripts.inc
index e34e6991d..d92df9be2 100644
--- a/data/maps/SootopolisCity_House4/scripts.inc
+++ b/data/maps/SootopolisCity_House4/scripts.inc
@@ -2,11 +2,11 @@ SootopolisCity_House4_MapScripts:: @ 8226D15
.byte 0
SootopolisCity_House4_EventScript_226D16:: @ 8226D16
- msgbox SootopolisCity_House4_Text_226D3B, 2
+ msgbox SootopolisCity_House4_Text_226D3B, MSGBOX_NPC
end
SootopolisCity_House4_EventScript_226D1F:: @ 8226D1F
- msgbox SootopolisCity_House4_Text_226DEA, 2
+ msgbox SootopolisCity_House4_Text_226DEA, MSGBOX_NPC
end
SootopolisCity_House4_EventScript_226D28:: @ 8226D28
@@ -14,7 +14,7 @@ SootopolisCity_House4_EventScript_226D28:: @ 8226D28
faceplayer
waitse
playmoncry SPECIES_AZUMARILL, 0
- msgbox SootopolisCity_House4_Text_226E7F, 4
+ msgbox SootopolisCity_House4_Text_226E7F, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/SootopolisCity_House5/scripts.inc b/data/maps/SootopolisCity_House5/scripts.inc
index 51da02de1..04b9feca2 100644
--- a/data/maps/SootopolisCity_House5/scripts.inc
+++ b/data/maps/SootopolisCity_House5/scripts.inc
@@ -2,11 +2,11 @@ SootopolisCity_House5_MapScripts:: @ 8226E93
.byte 0
SootopolisCity_House5_EventScript_226E94:: @ 8226E94
- msgbox SootopolisCity_House5_Text_226EA6, 2
+ msgbox SootopolisCity_House5_Text_226EA6, MSGBOX_NPC
end
SootopolisCity_House5_EventScript_226E9D:: @ 8226E9D
- msgbox SootopolisCity_House5_Text_226F35, 2
+ msgbox SootopolisCity_House5_Text_226F35, MSGBOX_NPC
end
SootopolisCity_House5_Text_226EA6: @ 8226EA6
diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc
index 38c8456a3..3341ad1c1 100644
--- a/data/maps/SootopolisCity_House6/scripts.inc
+++ b/data/maps/SootopolisCity_House6/scripts.inc
@@ -6,10 +6,10 @@ SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C
faceplayer
checkflag FLAG_0x0F5
goto_eq SootopolisCity_House6_EventScript_226FA3
- msgbox SootopolisCity_House6_Text_226FC3, 5
+ msgbox SootopolisCity_House6_Text_226FC3, MSGBOX_YESNO
compare VAR_RESULT, 0
call_if 1, SootopolisCity_House6_EventScript_226F99
- msgbox SootopolisCity_House6_Text_227034, 4
+ msgbox SootopolisCity_House6_Text_227034, MSGBOX_DEFAULT
givedecoration_std 117
compare VAR_RESULT, 0
goto_eq SootopolisCity_House6_EventScript_226FAD
@@ -18,19 +18,19 @@ SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C
end
SootopolisCity_House6_EventScript_226F99:: @ 8226F99
- msgbox SootopolisCity_House6_Text_22708F, 4
+ msgbox SootopolisCity_House6_Text_22708F, MSGBOX_DEFAULT
release
end
SootopolisCity_House6_EventScript_226FA3:: @ 8226FA3
- msgbox SootopolisCity_House6_Text_2270B7, 4
+ msgbox SootopolisCity_House6_Text_2270B7, MSGBOX_DEFAULT
release
end
SootopolisCity_House6_EventScript_226FAD:: @ 8226FAD
bufferdecorationname 1, 117
- msgbox gUnknown_08272B1A, 4
- msgbox SootopolisCity_House6_Text_22704A, 4
+ msgbox gUnknown_08272B1A, MSGBOX_DEFAULT
+ msgbox SootopolisCity_House6_Text_22704A, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SootopolisCity_House7/scripts.inc b/data/maps/SootopolisCity_House7/scripts.inc
index 9df9cde0b..e679e5cd5 100644
--- a/data/maps/SootopolisCity_House7/scripts.inc
+++ b/data/maps/SootopolisCity_House7/scripts.inc
@@ -2,11 +2,11 @@ SootopolisCity_House7_MapScripts:: @ 82270CB
.byte 0
SootopolisCity_House7_EventScript_2270CC:: @ 82270CC
- msgbox SootopolisCity_House7_Text_2270DE, 2
+ msgbox SootopolisCity_House7_Text_2270DE, MSGBOX_NPC
end
SootopolisCity_House7_EventScript_2270D5:: @ 82270D5
- msgbox SootopolisCity_House7_Text_227190, 2
+ msgbox SootopolisCity_House7_Text_227190, MSGBOX_NPC
end
SootopolisCity_House7_Text_2270DE: @ 82270DE
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
index 26a322b89..3acf88c12 100644
--- a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
@@ -5,7 +5,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B
special GetSeedotSizeRecordInfo
lock
faceplayer
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227369, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227369, MSGBOX_DEFAULT
special sub_81B94B0
waitstate
copyvar VAR_RESULT, VAR_0x8004
@@ -22,22 +22,22 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227272:: @ 8227272
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_2275BC, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_2275BC, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_22727C:: @ 822727C
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227584, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227584, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227286:: @ 8227286
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227544, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227544, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, MSGBOX_DEFAULT
giveitem_std ITEM_ELIXIR
compare VAR_RESULT, 0
goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2
@@ -46,7 +46,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290
end
SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2:: @ 82272B2
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227524, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227524, MSGBOX_DEFAULT
release
end
@@ -54,7 +54,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC
special GetLotadSizeRecordInfo
lock
faceplayer
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227676, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227676, MSGBOX_DEFAULT
special sub_81B94B0
waitstate
copyvar VAR_RESULT, VAR_0x8004
@@ -71,22 +71,22 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227303:: @ 8227303
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227896, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227896, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_22730D:: @ 822730D
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227867, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227867, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227317:: @ 8227317
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_22782A, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_22782A, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, MSGBOX_DEFAULT
giveitem_std ITEM_ELIXIR
compare VAR_RESULT, 0
goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343
@@ -95,21 +95,21 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321
end
SootopolisCity_LotadAndSeedotHouse_EventScript_227343:: @ 8227343
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_22780A, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_22780A, MSGBOX_DEFAULT
release
end
SootopolisCity_LotadAndSeedotHouse_EventScript_22734D:: @ 822734D
special GetSeedotSizeRecordInfo
lockall
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_227617, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227617, MSGBOX_DEFAULT
releaseall
end
SootopolisCity_LotadAndSeedotHouse_EventScript_22735B:: @ 822735B
special GetLotadSizeRecordInfo
lockall
- msgbox SootopolisCity_LotadAndSeedotHouse_Text_2278F2, 4
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_2278F2, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc
index 26ab5497c..b6d713930 100644
--- a/data/maps/SootopolisCity_Mart/scripts.inc
+++ b/data/maps/SootopolisCity_Mart/scripts.inc
@@ -7,7 +7,7 @@ SootopolisCity_Mart_EventScript_226795:: @ 8226795
message gUnknown_08272A21
waitmessage
pokemart SootopolisCity_Mart_Pokemart_2267AC
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -32,12 +32,12 @@ SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2
goto_if 4, SootopolisCity_Mart_EventScript_2267E2
checkflag FLAG_0x081
goto_if 0, SootopolisCity_Mart_EventScript_2267E2
- msgbox SootopolisCity_Mart_Text_22685D, 4
+ msgbox SootopolisCity_Mart_Text_22685D, MSGBOX_DEFAULT
release
end
SootopolisCity_Mart_EventScript_2267E2:: @ 82267E2
- msgbox SootopolisCity_Mart_Text_226816, 4
+ msgbox SootopolisCity_Mart_Text_226816, MSGBOX_DEFAULT
release
end
@@ -48,12 +48,12 @@ SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC
goto_if 4, SootopolisCity_Mart_EventScript_22680C
checkflag FLAG_0x081
goto_if 0, SootopolisCity_Mart_EventScript_22680C
- msgbox SootopolisCity_Mart_Text_226928, 4
+ msgbox SootopolisCity_Mart_Text_226928, MSGBOX_DEFAULT
release
end
SootopolisCity_Mart_EventScript_22680C:: @ 822680C
- msgbox SootopolisCity_Mart_Text_2268AF, 4
+ msgbox SootopolisCity_Mart_Text_2268AF, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
index 36d0edd3a..f24af7785 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
@@ -5,7 +5,7 @@ SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953
SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E
setvar VAR_0x8004, 16
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D
compare VAR_0x40C0, 0
@@ -51,15 +51,15 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7
end
SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04:: @ 8227A04
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227DB8, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227DB8, MSGBOX_DEFAULT
return
SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D:: @ 8227A0D
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227E03, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227E03, MSGBOX_DEFAULT
return
SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16:: @ 8227A16
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D5B, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D5B, MSGBOX_DEFAULT
return
SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F: @ 8227A1F
@@ -75,30 +75,30 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24
lock
faceplayer
setvar VAR_0x8004, 16
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E
compare VAR_TEMP_1, 1
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT
release
end
SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT
release
end
SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
special SavePlayerParty
special BufferEReaderTrainerName
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF
compare VAR_RESULT, 0
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, 5
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
special LoadPlayerParty
@@ -106,8 +106,8 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
compare VAR_RESULT, 0
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
special SavePlayerParty
- special ReducePlayerPartyToThree
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, 4
+ special ReducePlayerPartyToSelectedMons
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE
@@ -122,12 +122,12 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2:: @ 8227AE2
special LoadPlayerParty
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, MSGBOX_DEFAULT
release
end
SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF
- msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C84, 4
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C84, MSGBOX_DEFAULT
fadescreen 1
special sub_80F9438
waitstate
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
index b29ef99a5..9a6b4b1b3 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
@@ -4,7 +4,7 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScripts:: @ 8227E4F
.byte 0
SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A: @ 8227E5A
- special sub_8162794
+ special SetEReaderTrainerGfxId
end
SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E
@@ -15,12 +15,12 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
lockall
applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3
waitmovement 0
- special sub_8165360
- msgbox 0x2021fc4, 4
+ special CopyEReaderTrainerGreeting
+ msgbox gStringVar4, MSGBOX_DEFAULT
closemessage
- setvar VAR_0x8004, 2
+ setvar VAR_0x8004, SPECIAL_BATTLE_EREADER
setvar VAR_0x8005, 0
- special sub_8163AC4
+ special DoSpecialTrainerBattle
waitstate
compare VAR_RESULT, 3
call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF
@@ -41,7 +41,7 @@ SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF:: @ 8227ECF
setvar VAR_0x40C0, 3
- msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_227D40, 4
+ msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_227D40, MSGBOX_DEFAULT
return
SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD:: @ 8227EDD
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
index 46dccd97e..5c5f63dd3 100644
--- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
@@ -22,12 +22,12 @@ SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E
goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_22652E
checkflag FLAG_0x081
goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_22652E
- msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, MSGBOX_DEFAULT
release
end
SootopolisCity_PokemonCenter_1F_EventScript_22652E:: @ 822652E
- msgbox SootopolisCity_PokemonCenter_1F_Text_226562, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_226562, MSGBOX_DEFAULT
release
end
@@ -38,12 +38,12 @@ SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538
goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_226558
checkflag FLAG_0x081
goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_226558
- msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, MSGBOX_DEFAULT
release
end
SootopolisCity_PokemonCenter_1F_EventScript_226558:: @ 8226558
- msgbox SootopolisCity_PokemonCenter_1F_Text_2266B9, 4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2266B9, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/events.inc b/data/maps/SootopolisCity_PokemonCenter_2F/events.inc
index f9e4626ea..0062c87e1 100644
--- a/data/maps/SootopolisCity_PokemonCenter_2F/events.inc
+++ b/data/maps/SootopolisCity_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ SootopolisCity_PokemonCenter_2F_EventObjects: @ 8533200
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
SootopolisCity_PokemonCenter_2F_MapWarps: @ 8533260
warp_def 1, 6, 4, 2, MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F
diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc
index d303e0614..12d27a61f 100644
--- a/data/maps/SouthernIsland_Exterior/scripts.inc
+++ b/data/maps/SouthernIsland_Exterior/scripts.inc
@@ -9,10 +9,10 @@ SouthernIsland_Exterior_MapScript1_2429CE: @ 82429CE
SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2
lock
faceplayer
- msgbox SouthernIsland_Exterior_Text_2A69F1, 5
+ msgbox SouthernIsland_Exterior_Text_2A69F1, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq SouthernIsland_Exterior_EventScript_242A17
- msgbox SouthernIsland_Exterior_Text_2A6A5D, 4
+ msgbox SouthernIsland_Exterior_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, SouthernIsland_Exterior_Movement_2725AA
waitmovement 0
@@ -26,7 +26,7 @@ SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2
end
SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17
- msgbox SouthernIsland_Exterior_Text_2A6A82, 4
+ msgbox SouthernIsland_Exterior_Text_2A6A82, MSGBOX_DEFAULT
release
end
@@ -50,6 +50,6 @@ BattleFrontier_OutsideWest_Movement_242A39: @ 8242A39
step_end
SouthernIsland_Exterior_EventScript_242A3C:: @ 8242A3C
- msgbox SouthernIsland_Exterior_Text_2A6AD5, 3
+ msgbox SouthernIsland_Exterior_Text_2A6AD5, MSGBOX_SIGN
end
diff --git a/data/maps/SouthernIsland_Interior/events.inc b/data/maps/SouthernIsland_Interior/events.inc
index b65134679..cc8256e8c 100644
--- a/data/maps/SouthernIsland_Interior/events.inc
+++ b/data/maps/SouthernIsland_Interior/events.inc
@@ -1,6 +1,6 @@
SouthernIsland_Interior_EventObjects: @ 853B89C
- object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 910
- object_event 2, EVENT_OBJ_GFX_TRADER, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 911
+ object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE
+ object_event 2, EVENT_OBJ_GFX_TRADER, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON
SouthernIsland_Interior_MapWarps: @ 853B8CC
warp_def 13, 18, 3, 0, MAP_SOUTHERN_ISLAND_EXTERIOR
diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc
index 3005e32d7..b21fdecab 100644
--- a/data/maps/SouthernIsland_Interior/scripts.inc
+++ b/data/maps/SouthernIsland_Interior/scripts.inc
@@ -56,7 +56,7 @@ SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4
end
SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq SouthernIsland_Interior_EventScript_242B9A
checkflag FLAG_0x1C8
goto_eq SouthernIsland_Interior_EventScript_242B9A
@@ -65,7 +65,7 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
checkflag FLAG_SYS_HAS_EON_TICKET
goto_if 0, SouthernIsland_Interior_EventScript_242B9A
setflag FLAG_0x0CE
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
special SpawnScriptEventObject
applymovement 127, SouthernIsland_Interior_Movement_242BCA
waitmovement 0
@@ -113,7 +113,7 @@ SouthernIsland_Interior_EventScript_242B8F:: @ 8242B8F
end
SouthernIsland_Interior_EventScript_242B9A:: @ 8242B9A
- msgbox SouthernIsland_Interior_Text_2A6AA1, 4
+ msgbox SouthernIsland_Interior_Text_2A6AA1, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/maps/TerraCave_End/events.inc b/data/maps/TerraCave_End/events.inc
index aa23659eb..553b4151a 100644
--- a/data/maps/TerraCave_End/events.inc
+++ b/data/maps/TerraCave_End/events.inc
@@ -1,5 +1,5 @@
TerraCave_End_EventObjects: @ 8537850
- object_event 1, EVENT_OBJ_GFX_GROUDON_1, 0, 17, 22, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 783
+ object_event 1, EVENT_OBJ_GFX_GROUDON_1, 0, 17, 22, 1, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_TERRA_CAVE_GROUDON
TerraCave_End_MapWarps: @ 8537868
warp_def 5, 4, 3, 1, MAP_TERRA_CAVE_ENTRANCE
diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc
index d603f2274..b23cc23f1 100644
--- a/data/maps/TerraCave_End/scripts.inc
+++ b/data/maps/TerraCave_End/scripts.inc
@@ -21,7 +21,7 @@ TerraCave_End_MapScript1_23B0D9: @ 823B0D9
end
TerraCave_End_EventScript_23B0E3:: @ 823B0E3
- clearflag FLAG_0x30F
+ clearflag FLAG_HIDE_TERRA_CAVE_GROUDON
setvar VAR_TEMP_1, 1
return
diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc
index ff731393b..e9117efe2 100644
--- a/data/maps/TrainerHill_Elevator/scripts.inc
+++ b/data/maps/TrainerHill_Elevator/scripts.inc
@@ -23,7 +23,7 @@ TrainerHill_Elevator_EventScript_269375:: @ 8269375
applymovement 1, TrainerHill_Elevator_Movement_2693EE
waitmovement 0
lockall
- msgbox TrainerHill_Elevator_Text_268F3E, 5
+ msgbox TrainerHill_Elevator_Text_268F3E, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq TrainerHill_Elevator_EventScript_269360
releaseall
diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc
index 84543ff2b..e85d50a04 100644
--- a/data/maps/TrainerHill_Entrance/scripts.inc
+++ b/data/maps/TrainerHill_Entrance/scripts.inc
@@ -84,13 +84,13 @@ TrainerHill_Entrance_EventScript_268182:: @ 8268182
TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5
lockall
applymovement 255, TrainerHill_Entrance_Movement_26837F
- msgbox TrainerHill_Entrance_Text_268689, 4
+ msgbox TrainerHill_Entrance_Text_268689, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_2681DA
TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA
lockall
applymovement 255, TrainerHill_Entrance_Movement_26837F
- msgbox TrainerHill_Entrance_Text_268712, 4
+ msgbox TrainerHill_Entrance_Text_268712, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA
closemessage
@@ -118,11 +118,11 @@ TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD
special sp194_trainer_tower
compare VAR_RESULT, 0
goto_eq TrainerHill_Entrance_EventScript_26821F
- msgbox TrainerHill_Entrance_Text_2686F4, 4
+ msgbox TrainerHill_Entrance_Text_2686F4, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_268227
TrainerHill_Entrance_EventScript_26821F:: @ 826821F
- msgbox TrainerHill_Entrance_Text_2687AC, 4
+ msgbox TrainerHill_Entrance_Text_2687AC, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_268227:: @ 8268227
release
@@ -133,7 +133,7 @@ TrainerHill_Entrance_EventScript_268229:: @ 8268229
applymovement 255, TrainerHill_Entrance_Movement_26837F
checkflag FLAG_SYS_GAME_CLEAR
goto_if 0, TrainerHill_Entrance_EventScript_26836A
- msgbox TrainerHill_Entrance_Text_2684C6, 4
+ msgbox TrainerHill_Entrance_Text_2684C6, MSGBOX_DEFAULT
setvar VAR_0x8004, 13
special sp194_trainer_tower
compare VAR_RESULT, 0
@@ -142,11 +142,11 @@ TrainerHill_Entrance_EventScript_268229:: @ 8268229
special sp194_trainer_tower
compare VAR_RESULT, 1
goto_eq TrainerHill_Entrance_EventScript_268275
- msgbox TrainerHill_Entrance_Text_268564, 4
+ msgbox TrainerHill_Entrance_Text_268564, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_26827D
TrainerHill_Entrance_EventScript_268275:: @ 8268275
- msgbox TrainerHill_Entrance_Text_26859E, 4
+ msgbox TrainerHill_Entrance_Text_26859E, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_26827D:: @ 826827D
message TrainerHill_Entrance_Text_2685F8
@@ -160,7 +160,7 @@ TrainerHill_Entrance_EventScript_26827D:: @ 826827D
end
TrainerHill_Entrance_EventScript_2682BA:: @ 82682BA
- msgbox TrainerHill_Entrance_Text_2687C3, 4
+ msgbox TrainerHill_Entrance_Text_2687C3, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_26827D
end
@@ -175,7 +175,7 @@ TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8
setvar VAR_0x40D6, 1
setvar VAR_TEMP_5, 0
special HealPlayerParty
- msgbox TrainerHill_Entrance_Text_26862A, 4
+ msgbox TrainerHill_Entrance_Text_26862A, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
special sp194_trainer_tower
releaseall
@@ -183,7 +183,7 @@ TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8
TrainerHill_Entrance_EventScript_268314:: @ 8268314
setvar VAR_TEMP_5, 0
- msgbox TrainerHill_Entrance_Text_26866F, 4
+ msgbox TrainerHill_Entrance_Text_26866F, MSGBOX_DEFAULT
closemessage
applymovement 255, TrainerHill_Entrance_Movement_268381
waitmovement 0
@@ -191,7 +191,7 @@ TrainerHill_Entrance_EventScript_268314:: @ 8268314
end
TrainerHill_Entrance_EventScript_26832E:: @ 826832E
- msgbox TrainerHill_Entrance_Text_26851C, 4
+ msgbox TrainerHill_Entrance_Text_26851C, MSGBOX_DEFAULT
setvar VAR_0x8004, 14
special sp194_trainer_tower
setvar VAR_TEMP_5, 1
@@ -209,7 +209,7 @@ TrainerHill_Entrance_EventScript_26835C:: @ 826835C
end
TrainerHill_Entrance_EventScript_26836A:: @ 826836A
- msgbox TrainerHill_Entrance_Text_268430, 4
+ msgbox TrainerHill_Entrance_Text_268430, MSGBOX_DEFAULT
closemessage
applymovement 255, TrainerHill_Entrance_Movement_268381
waitmovement 0
@@ -244,21 +244,21 @@ TrainerHill_Entrance_EventScript_268388:: @ 8268388
TrainerHill_Entrance_EventScript_268391:: @ 8268391
checkflag FLAG_SYS_GAME_CLEAR
goto_if 0, TrainerHill_Entrance_EventScript_2683A3
- msgbox TrainerHill_Entrance_Text_268D5A, 2
+ msgbox TrainerHill_Entrance_Text_268D5A, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3
- msgbox TrainerHill_Entrance_Text_268DDA, 2
+ msgbox TrainerHill_Entrance_Text_268DDA, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC
checkflag FLAG_SYS_GAME_CLEAR
goto_if 0, TrainerHill_Entrance_EventScript_2683BE
- msgbox TrainerHill_Entrance_Text_268E6A, 2
+ msgbox TrainerHill_Entrance_Text_268E6A, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_2683BE:: @ 82683BE
- msgbox TrainerHill_Entrance_Text_268EDC, 2
+ msgbox TrainerHill_Entrance_Text_268EDC, MSGBOX_NPC
end
TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7
@@ -269,7 +269,7 @@ TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7
checkflag FLAG_SYS_GAME_CLEAR
goto_eq TrainerHill_Entrance_EventScript_268402
pokemart TrainerHill_Entrance_Pokemart_2683E8
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -292,7 +292,7 @@ TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8
TrainerHill_Entrance_EventScript_268402:: @ 8268402
pokemart TrainerHill_Entrance_Pokemart_268414
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/TrainerHill_Roof/scripts.inc b/data/maps/TrainerHill_Roof/scripts.inc
index bdec2f7aa..19e8ef567 100644
--- a/data/maps/TrainerHill_Roof/scripts.inc
+++ b/data/maps/TrainerHill_Roof/scripts.inc
@@ -16,7 +16,7 @@ TrainerHill_Roof_EventScript_268FB2:: @ 8268FB2
case 2, TrainerHill_Roof_EventScript_2690A8
TrainerHill_Roof_EventScript_268FEA:: @ 8268FEA
- msgbox TrainerHill_Roof_Text_268986, 4
+ msgbox TrainerHill_Roof_Text_268986, MSGBOX_DEFAULT
TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2
setvar VAR_0x8004, 2
@@ -27,7 +27,7 @@ TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2
case 2, TrainerHill_Roof_EventScript_269054
TrainerHill_Roof_EventScript_269020:: @ 8269020
- msgbox TrainerHill_Roof_Text_268AC5, 4
+ msgbox TrainerHill_Roof_Text_268AC5, MSGBOX_DEFAULT
playfanfare MUS_FANFA1
message gUnknown_08272A78
waitfanfare
@@ -35,9 +35,9 @@ TrainerHill_Roof_EventScript_269020:: @ 8269020
goto TrainerHill_Roof_EventScript_269054
TrainerHill_Roof_EventScript_269037:: @ 8269037
- msgbox TrainerHill_Roof_Text_268AC5, 4
- msgbox gUnknown_08272A89, 4
- msgbox TrainerHill_Roof_Text_268B07, 4
+ msgbox TrainerHill_Roof_Text_268AC5, MSGBOX_DEFAULT
+ msgbox gUnknown_08272A89, MSGBOX_DEFAULT
+ msgbox TrainerHill_Roof_Text_268B07, MSGBOX_DEFAULT
goto TrainerHill_Roof_EventScript_269054
TrainerHill_Roof_EventScript_269054:: @ 8269054
@@ -49,22 +49,22 @@ TrainerHill_Roof_EventScript_269054:: @ 8269054
case 2, TrainerHill_Roof_EventScript_26909E
TrainerHill_Roof_EventScript_269082:: @ 8269082
- msgbox TrainerHill_Roof_Text_268B43, 4
+ msgbox TrainerHill_Roof_Text_268B43, MSGBOX_DEFAULT
goto TrainerHill_Roof_EventScript_26909E
end
TrainerHill_Roof_EventScript_269090:: @ 8269090
- msgbox TrainerHill_Roof_Text_268C03, 4
+ msgbox TrainerHill_Roof_Text_268C03, MSGBOX_DEFAULT
goto TrainerHill_Roof_EventScript_26909E
end
TrainerHill_Roof_EventScript_26909E:: @ 826909E
- msgbox TrainerHill_Roof_Text_268C31, 4
+ msgbox TrainerHill_Roof_Text_268C31, MSGBOX_DEFAULT
release
end
TrainerHill_Roof_EventScript_2690A8:: @ 82690A8
- msgbox TrainerHill_Roof_Text_268C31, 4
+ msgbox TrainerHill_Roof_Text_268C31, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Underwater1/events.inc b/data/maps/Underwater1/events.inc
index 102a5f6e7..7d3866eb0 100644
--- a/data/maps/Underwater1/events.inc
+++ b/data/maps/Underwater1/events.inc
@@ -1,11 +1,11 @@
Underwater1_MapBGEvents: @ 852CEB4
- bg_hidden_item_event 42, 51, 0, ITEM_CARBOS, 8
- bg_hidden_item_event 14, 40, 0, ITEM_GREEN_SHARD, 9
- bg_hidden_item_event 66, 34, 3, ITEM_PEARL, 10
- bg_hidden_item_event 64, 54, 3, ITEM_BIG_PEARL, 11
- bg_hidden_item_event 70, 64, 3, ITEM_HEART_SCALE, 13
- bg_hidden_item_event 42, 5, 3, ITEM_CALCIUM, 36
- bg_hidden_item_event 45, 36, 3, ITEM_HEART_SCALE, 38
+ bg_hidden_item_event 42, 51, 0, ITEM_CARBOS, FLAG_HIDDEN_ITEM_UNDERWATER_1_CARBOS
+ bg_hidden_item_event 14, 40, 0, ITEM_GREEN_SHARD, FLAG_HIDDEN_ITEM_UNDERWATER_1_GREEN_SHARD
+ bg_hidden_item_event 66, 34, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_UNDERWATER_1_PEARL
+ bg_hidden_item_event 64, 54, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_UNDERWATER_1_BIG_PEARL
+ bg_hidden_item_event 70, 64, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_1
+ bg_hidden_item_event 42, 5, 3, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_UNDERWATER_1_CALCIUM
+ bg_hidden_item_event 45, 36, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_2
Underwater1_MapEvents:: @ 852CF08
map_events 0x0, 0x0, 0x0, Underwater1_MapBGEvents
diff --git a/data/maps/Underwater2/events.inc b/data/maps/Underwater2/events.inc
index ca98f25ac..dd2421506 100644
--- a/data/maps/Underwater2/events.inc
+++ b/data/maps/Underwater2/events.inc
@@ -2,14 +2,14 @@ Underwater2_MapWarps: @ 852CF1C
warp_def 45, 65, 0, 0, MAP_UNDERWATER_SOOTOPOLIS_CITY
Underwater2_MapBGEvents: @ 852CF24
- bg_hidden_item_event 30, 17, 3, ITEM_HEART_SCALE, 14
- bg_hidden_item_event 41, 19, 3, ITEM_ULTRA_BALL, 15
- bg_hidden_item_event 63, 19, 3, ITEM_STARDUST, 16
- bg_hidden_item_event 10, 36, 3, ITEM_PEARL, 17
- bg_hidden_item_event 11, 39, 3, ITEM_IRON, 19
- bg_hidden_item_event 12, 35, 3, ITEM_YELLOW_SHARD, 18
- bg_hidden_item_event 65, 60, 3, ITEM_BIG_PEARL, 20
- bg_hidden_item_event 9, 77, 3, ITEM_BLUE_SHARD, 12
+ bg_hidden_item_event 30, 17, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_UNDERWATER_2_HEART_SCALE
+ bg_hidden_item_event 41, 19, 3, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_UNDERWATER_2_ULTRA_BALL
+ bg_hidden_item_event 63, 19, 3, ITEM_STARDUST, FLAG_HIDDEN_ITEM_UNDERWATER_2_STARDUST
+ bg_hidden_item_event 10, 36, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_UNDERWATER_2_PEARL
+ bg_hidden_item_event 11, 39, 3, ITEM_IRON, FLAG_HIDDEN_ITEM_UNDERWATER_2_IRON
+ bg_hidden_item_event 12, 35, 3, ITEM_YELLOW_SHARD, FLAG_HIDDEN_ITEM_UNDERWATER_2_YELLOW_SHARD
+ bg_hidden_item_event 65, 60, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_UNDERWATER_2_BIG_PEARL
+ bg_hidden_item_event 9, 77, 3, ITEM_BLUE_SHARD, FLAG_HIDDEN_ITEM_UNDERWATER_2_BLUE_SHARD
Underwater2_MapEvents:: @ 852CF84
map_events 0x0, Underwater2_MapWarps, 0x0, Underwater2_MapBGEvents
diff --git a/data/maps/Underwater3/events.inc b/data/maps/Underwater3/events.inc
index 0a5dc773d..02ac86aa1 100644
--- a/data/maps/Underwater3/events.inc
+++ b/data/maps/Underwater3/events.inc
@@ -3,10 +3,10 @@ Underwater3_MapWarps: @ 852CF98
warp_def 67, 38, 0, 0, MAP_UNDERWATER_MARINE_CAVE
Underwater3_MapBGEvents: @ 852CFA8
- bg_hidden_item_event 12, 42, 3, ITEM_STAR_PIECE, 21
- bg_hidden_item_event 50, 36, 3, ITEM_HP_UP, 22
- bg_hidden_item_event 34, 72, 3, ITEM_HEART_SCALE, 23
- bg_hidden_item_event 72, 20, 3, ITEM_RED_SHARD, 24
+ bg_hidden_item_event 12, 42, 3, ITEM_STAR_PIECE, FLAG_HIDDEN_ITEM_UNDERWATER_3_STAR_PIECE
+ bg_hidden_item_event 50, 36, 3, ITEM_HP_UP, FLAG_HIDDEN_ITEM_UNDERWATER_3_HP_UP
+ bg_hidden_item_event 34, 72, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_UNDERWATER_3_HEART_SCALE
+ bg_hidden_item_event 72, 20, 3, ITEM_RED_SHARD, FLAG_HIDDEN_ITEM_UNDERWATER_3_RED_SHARD
Underwater3_MapEvents:: @ 852CFD8
map_events 0x0, Underwater3_MapWarps, 0x0, Underwater3_MapBGEvents
diff --git a/data/maps/Underwater4/events.inc b/data/maps/Underwater4/events.inc
index 7799e0ad6..5a08e82f9 100644
--- a/data/maps/Underwater4/events.inc
+++ b/data/maps/Underwater4/events.inc
@@ -2,8 +2,8 @@ Underwater4_MapWarps: @ 852CFEC
warp_def 38, 26, 3, 0, MAP_UNDERWATER_SEAFLOOR_CAVERN
Underwater4_MapBGEvents: @ 852CFF4
- bg_hidden_item_event 38, 19, 3, ITEM_PROTEIN, 25
- bg_hidden_item_event 69, 18, 3, ITEM_PEARL, 26
+ bg_hidden_item_event 38, 19, 3, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_UNDERWATER_4_PROTEIN
+ bg_hidden_item_event 69, 18, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_UNDERWATER_4_PEARL
Underwater4_MapEvents:: @ 852D00C
map_events 0x0, Underwater4_MapWarps, 0x0, Underwater4_MapBGEvents
diff --git a/data/maps/Underwater_SeafloorCavern/events.inc b/data/maps/Underwater_SeafloorCavern/events.inc
index fbad57bc8..468dedcd6 100644
--- a/data/maps/Underwater_SeafloorCavern/events.inc
+++ b/data/maps/Underwater_SeafloorCavern/events.inc
@@ -1,8 +1,8 @@
Underwater_SeafloorCavern_EventObjects: @ 8535640
- object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 5, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980
- object_event 2, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 6, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980
- object_event 3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980
- object_event 4, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 8, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980
+ object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 5, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE
+ object_event 2, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 6, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE
+ object_event 3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE
+ object_event 4, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 8, 4, 3, MOVEMENT_TYPE_INVISIBLE, 1, 1, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE
Underwater_SeafloorCavern_MapWarps: @ 85356A0
warp_def 6, 7, 0, 0, MAP_UNDERWATER4
diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc
index 128cb31c0..7cdd3402d 100644
--- a/data/maps/Underwater_SeafloorCavern/scripts.inc
+++ b/data/maps/Underwater_SeafloorCavern/scripts.inc
@@ -11,7 +11,7 @@ Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B
end
Underwater_SeafloorCavern_EventScript_234358:: @ 8234358
- setflag FLAG_0x3D4
+ setflag FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE
end
Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C
@@ -39,7 +39,7 @@ Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3
end
Underwater_SeafloorCavern_EventScript_2343DC:: @ 82343DC
- msgbox Underwater_SeafloorCavern_Text_2343E5, 3
+ msgbox Underwater_SeafloorCavern_Text_2343E5, MSGBOX_SIGN
end
Underwater_SeafloorCavern_Text_2343E5: @ 82343E5
diff --git a/data/maps/UnionRoom/events.inc b/data/maps/UnionRoom/events.inc
index 3396b5b8b..0cebf1502 100644
--- a/data/maps/UnionRoom/events.inc
+++ b/data/maps/UnionRoom/events.inc
@@ -1,13 +1,13 @@
UnionRoom_EventObjects: @ 853B020
object_event 1, EVENT_OBJ_GFX_UNION_ROOM_NURSE, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, UnionRoom_EventScript_23D236, 0
- object_event 2, EVENT_OBJ_GFX_GIDDY, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, 706
- object_event 3, 247, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, 710
- object_event 4, 246, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, 709
- object_event 5, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, 708
- object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, 707
- object_event 7, EVENT_OBJ_GFX_STORYTELLER, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, 705
- object_event 8, EVENT_OBJ_GFX_TRADER, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, 704
- object_event 9, EVENT_OBJ_GFX_HIPSTER, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, 703
+ object_event 2, EVENT_OBJ_GFX_GIDDY, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4
+ object_event 3, 247, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8
+ object_event 4, 246, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7
+ object_event 5, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6
+ object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5
+ object_event 7, EVENT_OBJ_GFX_STORYTELLER, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3
+ object_event 8, EVENT_OBJ_GFX_TRADER, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2
+ object_event 9, EVENT_OBJ_GFX_HIPSTER, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1
UnionRoom_MapWarps: @ 853B0F8
warp_def 7, 11, 3, 127, MAP_NONE
diff --git a/data/maps/UnionRoom/scripts.inc b/data/maps/UnionRoom/scripts.inc
index 250b4b402..f71c40e3d 100644
--- a/data/maps/UnionRoom/scripts.inc
+++ b/data/maps/UnionRoom/scripts.inc
@@ -4,14 +4,14 @@ UnionRoom_MapScripts:: @ 823D1A6
.byte 0
UnionRoom_MapScript1_23D1B1: @ 823D1B1
- setflag FLAG_0x2BF
- setflag FLAG_0x2C0
- setflag FLAG_0x2C1
- setflag FLAG_0x2C2
- setflag FLAG_0x2C3
- setflag FLAG_0x2C4
- setflag FLAG_0x2C5
- setflag FLAG_0x2C6
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_1
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_2
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_3
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_4
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_5
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_6
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_7
+ setflag FLAG_HIDE_UNION_ROOM_PLAYER_8
removeobject 9
removeobject 8
removeobject 7
diff --git a/data/maps/UnknownMap_25_34/scripts.inc b/data/maps/UnknownMap_25_34/scripts.inc
index eb6bf8da4..2e13983fa 100644
--- a/data/maps/UnknownMap_25_34/scripts.inc
+++ b/data/maps/UnknownMap_25_34/scripts.inc
@@ -18,7 +18,7 @@ LinkContestRoom1_MapScript1_23B79F: @ 823B79F
LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF
call LinkContestRoom1_EventScript_27A133
- special sub_80F8FA0
+ special ScriptGetMultiplayerId
compare VAR_RESULT, 0
call_if 1, LinkContestRoom1_EventScript_23B7EF
compare VAR_RESULT, 1
@@ -134,7 +134,7 @@ LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED
LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8
setvar VAR_RESULT, 32
- special sub_80F8FE8
+ special ScriptRandom
addvar VAR_RESULT, 1
switch VAR_RESULT
case 1, LinkContestRoom1_EventScript_23BA6B
diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc
index 8cc8f6f4d..922fcaa77 100644
--- a/data/maps/VerdanturfTown/scripts.inc
+++ b/data/maps/VerdanturfTown/scripts.inc
@@ -12,25 +12,25 @@ VerdanturfTown_EventScript_1EB575:: @ 81EB575
faceplayer
checkflag FLAG_RUSTURF_TUNNEL_OPENED
goto_eq VerdanturfTown_EventScript_1EB594
- msgbox VerdanturfTown_Text_1EB5FD, 4
+ msgbox VerdanturfTown_Text_1EB5FD, MSGBOX_DEFAULT
applymovement 2, VerdanturfTown_Movement_2725A2
waitmovement 0
release
end
VerdanturfTown_EventScript_1EB594:: @ 81EB594
- msgbox VerdanturfTown_Text_1EB6E0, 4
+ msgbox VerdanturfTown_Text_1EB6E0, MSGBOX_DEFAULT
applymovement 2, VerdanturfTown_Movement_2725A2
waitmovement 0
release
end
VerdanturfTown_EventScript_1EB5A8:: @ 81EB5A8
- msgbox VerdanturfTown_Text_1EB736, 2
+ msgbox VerdanturfTown_Text_1EB736, MSGBOX_NPC
end
VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1
- msgbox VerdanturfTown_Text_1EB7E2, 2
+ msgbox VerdanturfTown_Text_1EB7E2, MSGBOX_NPC
end
VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA
@@ -38,29 +38,29 @@ VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA
faceplayer
checkflag FLAG_RUSTURF_TUNNEL_OPENED
goto_eq VerdanturfTown_EventScript_1EB5CF
- msgbox VerdanturfTown_Text_1EB854, 4
+ msgbox VerdanturfTown_Text_1EB854, MSGBOX_DEFAULT
release
end
VerdanturfTown_EventScript_1EB5CF:: @ 81EB5CF
- msgbox VerdanturfTown_Text_1EB935, 4
+ msgbox VerdanturfTown_Text_1EB935, MSGBOX_DEFAULT
release
end
VerdanturfTown_EventScript_1EB5D9:: @ 81EB5D9
- msgbox VerdanturfTown_Text_1EB9C4, 3
+ msgbox VerdanturfTown_Text_1EB9C4, MSGBOX_SIGN
end
VerdanturfTown_EventScript_1EB5E2:: @ 81EB5E2
- msgbox VerdanturfTown_Text_1EBA11, 3
+ msgbox VerdanturfTown_Text_1EBA11, MSGBOX_SIGN
end
VerdanturfTown_EventScript_1EB5EB:: @ 81EB5EB
- msgbox VerdanturfTown_Text_1EBA1F, 3
+ msgbox VerdanturfTown_Text_1EBA1F, MSGBOX_SIGN
end
VerdanturfTown_EventScript_1EB5F4:: @ 81EB5F4
- msgbox VerdanturfTown_Text_1EBA59, 3
+ msgbox VerdanturfTown_Text_1EBA59, MSGBOX_SIGN
end
VerdanturfTown_Text_1EB5FD: @ 81EB5FD
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
index b7f687cdf..93b7802be 100644
--- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
@@ -36,7 +36,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 0
goto_if 5, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
@@ -48,7 +48,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F
waitmovement 0
setvar VAR_0x8004, 4
special sub_81B99B4
- msgbox 0x2021fc4, 4
+ msgbox gStringVar4, MSGBOX_DEFAULT
waitmessage
call VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7
switch VAR_RESULT
@@ -58,7 +58,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -66,12 +66,12 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA
VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 2
copyvar VAR_0x8006, VAR_RESULT
- special sub_81A1780
+ special CallFrontierUtilFunc
switch VAR_RESULT
case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_202501
applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581
@@ -80,12 +80,12 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
applymovement 3, VerdanturfTown_BattleTentBattleRoom_Movement_2725AA
applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_2725A6
waitmovement 0
- msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, 4
+ msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, MSGBOX_DEFAULT
special LoadPlayerParty
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -93,7 +93,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_RESULT, 1
call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_202565
compare VAR_RESULT, 2
@@ -105,7 +105,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8
VerdanturfTown_BattleTentBattleRoom_EventScript_20248A:: @ 820248A
- msgbox VerdanturfTown_BattleTentBattleRoom_Text_250030, 5
+ msgbox VerdanturfTown_BattleTentBattleRoom_Text_250030, MSGBOX_YESNO
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20251F
@@ -131,7 +131,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 3
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
waitstate
@@ -146,7 +146,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F
waitse
fadescreen 1
setvar VAR_0x8004, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
end
VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/events.inc b/data/maps/VerdanturfTown_BattleTentLobby/events.inc
index 1da591d59..1dfb49dd9 100644
--- a/data/maps/VerdanturfTown_BattleTentLobby/events.inc
+++ b/data/maps/VerdanturfTown_BattleTentLobby/events.inc
@@ -3,7 +3,7 @@ VerdanturfTown_BattleTentLobby_EventObjects: @ 852E648
object_event 2, EVENT_OBJ_GFX_GIRL_1, 0, 0, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201A7B, 0
object_event 3, EVENT_OBJ_GFX_BOY_3, 0, 9, 7, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201ABC, 0
object_event 4, EVENT_OBJ_GFX_BOY_2, 0, 1, 8, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AC5, 0
- object_event 5, EVENT_OBJ_GFX_SCOTT, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AD0, 766
+ object_event 5, EVENT_OBJ_GFX_SCOTT, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AD0, FLAG_HIDE_VERDANTURF_TOWN_SCOTT
object_event 6, EVENT_OBJ_GFX_LITTLE_BOY, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AF7, 0
VerdanturfTown_BattleTentLobby_MapWarps: @ 852E6D8
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
index a4cfc20c2..bde086dce 100644
--- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
@@ -22,28 +22,28 @@ VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF
VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719
setvar VAR_0x8004, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
end
VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_24E636, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24E636, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
releaseall
end
VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, MSGBOX_DEFAULT
message VerdanturfTown_BattleTentLobby_Text_2C5791
waitmessage
setvar VAR_0x8004, 6
@@ -51,7 +51,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 5
setvar VAR_0x8005, 0
special sub_81B99B4
@@ -59,7 +59,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757
waitse
VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791
- msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, MSGBOX_DEFAULT
setvar VAR_0x8004, 7
special sub_81B99B4
switch VAR_RESULT
@@ -67,19 +67,19 @@ VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
message VerdanturfTown_BattleTentLobby_Text_24A554
waitmessage
playfanfare MUS_FANFA4
waitfanfare
- msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
end
VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD
- msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, MSGBOX_DEFAULT
waitmessage
closemessage
setvar VAR_TEMP_0, 255
@@ -88,7 +88,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD
VerdanturfTown_BattleTentLobby_EventScript_2017EE:: @ 82017EE
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201791
end
@@ -99,13 +99,13 @@ VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 5
setvar VAR_0x8005, 0
special sub_81B99B4
playse SE_SAVE
waitse
- msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_0, 255
releaseall
@@ -113,7 +113,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD
VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_24E5D8, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24E5D8, MSGBOX_DEFAULT
message VerdanturfTown_BattleTentLobby_Text_24E5F6
waitmessage
setvar VAR_0x8004, 5
@@ -124,7 +124,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_TEMP_0, 255
goto VerdanturfTown_BattleTentLobby_EventScript_2019AE
@@ -136,7 +136,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873
compare VAR_RESULT, 0
goto_if 5, VerdanturfTown_BattleTentLobby_EventScript_2017EE
special SavePlayerParty
- msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, MSGBOX_DEFAULT
VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893
message VerdanturfTown_BattleTentLobby_Text_2C5129
@@ -153,14 +153,14 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
setvar VAR_FRONTIER_BATTLE_MODE, 0
setvar VAR_RESULT, 2
setvar VAR_0x8004, 15
- special sub_81A1780
+ special CallFrontierUtilFunc
compare VAR_0x8004, 1
goto_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
- special sub_81A1780
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, 4
+ special CallFrontierUtilFunc
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8004, 1
setvar VAR_0x8005, 3
@@ -168,7 +168,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
waitstate
compare VAR_RESULT, 0
goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A34
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, 5
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, MSGBOX_YESNO
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34
case 1, VerdanturfTown_BattleTentLobby_EventScript_201954
@@ -178,17 +178,17 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
setvar VAR_TEMP_0, 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 0
special sub_81B99B4
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 1
- special sub_81A1780
+ special CallFrontierUtilFunc
setvar VAR_0x8004, 2
setvar VAR_0x8005, 3
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
special LoadPlayerParty
closemessage
delay 2
@@ -201,8 +201,8 @@ VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
- special sub_81A1780
- msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, 4
+ special CallFrontierUtilFunc
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, MSGBOX_DEFAULT
closemessage
call VerdanturfTown_BattleTentLobby_EventScript_201A41
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
@@ -211,7 +211,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
end
VerdanturfTown_BattleTentLobby_EventScript_2019DB:: @ 82019DB
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5163, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5163, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201893
VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8
@@ -220,25 +220,25 @@ VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8
case 1, VerdanturfTown_BattleTentLobby_EventScript_201A10
VerdanturfTown_BattleTentLobby_EventScript_201A03:: @ 8201A03
- msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
VerdanturfTown_BattleTentLobby_EventScript_201A10:: @ 8201A10
- msgbox VerdanturfTown_BattleTentLobby_Text_2C5538, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5538, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
setvar VAR_0x8006, 0
- special sub_81A1780
+ special CallFrontierUtilFunc
goto VerdanturfTown_BattleTentLobby_EventScript_201A37
VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34
special LoadPlayerParty
VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37
- msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, MSGBOX_DEFAULT
VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F
release
@@ -279,27 +279,27 @@ VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B
faceplayer
checkflag FLAG_0x0EB
goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AB2
- msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, MSGBOX_DEFAULT
giveitem_std ITEM_TM45
compare VAR_RESULT, 0
goto_eq VerdanturfTown_BattleTentLobby_EventScript_272054
setflag FLAG_0x0EB
- msgbox VerdanturfTown_BattleTentLobby_Text_201E43, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT
release
end
VerdanturfTown_BattleTentLobby_EventScript_201AB2:: @ 8201AB2
- msgbox VerdanturfTown_BattleTentLobby_Text_201E43, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT
release
end
VerdanturfTown_BattleTentLobby_EventScript_201ABC:: @ 8201ABC
- msgbox VerdanturfTown_BattleTentLobby_Text_201EB1, 2
+ msgbox VerdanturfTown_BattleTentLobby_Text_201EB1, MSGBOX_NPC
end
VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5
lock
- msgbox VerdanturfTown_BattleTentLobby_Text_201BD4, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_201BD4, MSGBOX_DEFAULT
release
end
@@ -308,26 +308,26 @@ VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0
faceplayer
checkflag FLAG_0x1CC
goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AED
- msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x1CC
release
end
VerdanturfTown_BattleTentLobby_EventScript_201AED:: @ 8201AED
- msgbox VerdanturfTown_BattleTentLobby_Text_202025, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_202025, MSGBOX_DEFAULT
release
end
VerdanturfTown_BattleTentLobby_EventScript_201AF7:: @ 8201AF7
lock
- msgbox VerdanturfTown_BattleTentLobby_Text_201D11, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_201D11, MSGBOX_DEFAULT
release
end
VerdanturfTown_BattleTentLobby_EventScript_201B02:: @ 8201B02
lockall
- msgbox VerdanturfTown_BattleTentLobby_Text_2C6878, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C6878, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
@@ -349,32 +349,32 @@ VerdanturfTown_BattleTentLobby_EventScript_201B11:: @ 8201B11
end
VerdanturfTown_BattleTentLobby_EventScript_201B7E:: @ 8201B7E
- msgbox VerdanturfTown_BattleTentLobby_Text_2C67CD, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C67CD, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
VerdanturfTown_BattleTentLobby_EventScript_201B8C:: @ 8201B8C
- msgbox VerdanturfTown_BattleTentLobby_Text_24EFAB, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24EFAB, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
VerdanturfTown_BattleTentLobby_EventScript_201B9A:: @ 8201B9A
- msgbox VerdanturfTown_BattleTentLobby_Text_24F049, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F049, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
VerdanturfTown_BattleTentLobby_EventScript_201BA8:: @ 8201BA8
- msgbox VerdanturfTown_BattleTentLobby_Text_24F190, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F190, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
VerdanturfTown_BattleTentLobby_EventScript_201BB6:: @ 8201BB6
- msgbox VerdanturfTown_BattleTentLobby_Text_24F2E8, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F2E8, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
VerdanturfTown_BattleTentLobby_EventScript_201BC4:: @ 8201BC4
- msgbox VerdanturfTown_BattleTentLobby_Text_24F3F4, 4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F3F4, MSGBOX_DEFAULT
goto VerdanturfTown_BattleTentLobby_EventScript_201B11
end
diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc
index 28030d869..f677b3aab 100644
--- a/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc
+++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/scripts.inc
@@ -4,7 +4,7 @@ VerdanturfTown_FriendshipRatersHouse_MapScripts:: @ 8203030
VerdanturfTown_FriendshipRatersHouse_EventScript_203031:: @ 8203031
lock
faceplayer
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_2030ED, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_2030ED, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetLeadMonFriendshipScore
switch VAR_RESULT
case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_203094
@@ -18,37 +18,37 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_203031:: @ 8203031
end
VerdanturfTown_FriendshipRatersHouse_EventScript_203094:: @ 8203094
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_2032DF, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_2032DF, MSGBOX_DEFAULT
release
end
VerdanturfTown_FriendshipRatersHouse_EventScript_20309E:: @ 820309E
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203288, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203288, MSGBOX_DEFAULT
release
end
VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8:: @ 82030A8
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203249, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203249, MSGBOX_DEFAULT
release
end
VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2:: @ 82030B2
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203213, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203213, MSGBOX_DEFAULT
release
end
VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC:: @ 82030BC
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_2031D1, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_2031D1, MSGBOX_DEFAULT
release
end
VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6:: @ 82030C6
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203192, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203192, MSGBOX_DEFAULT
release
end
VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0:: @ 82030D0
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_203141, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203141, MSGBOX_DEFAULT
release
end
@@ -57,7 +57,7 @@ VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA:: @ 82030DA
faceplayer
waitse
playmoncry SPECIES_PIKACHU, 0
- msgbox VerdanturfTown_FriendshipRatersHouse_Text_20334A, 4
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_20334A, MSGBOX_DEFAULT
waitmoncry
release
end
diff --git a/data/maps/VerdanturfTown_House/scripts.inc b/data/maps/VerdanturfTown_House/scripts.inc
index ce48fd662..c6028c784 100644
--- a/data/maps/VerdanturfTown_House/scripts.inc
+++ b/data/maps/VerdanturfTown_House/scripts.inc
@@ -2,11 +2,11 @@ VerdanturfTown_House_MapScripts:: @ 820335E
.byte 0
VerdanturfTown_House_EventScript_20335F:: @ 820335F
- msgbox VerdanturfTown_House_Text_203371, 2
+ msgbox VerdanturfTown_House_Text_203371, MSGBOX_NPC
end
VerdanturfTown_House_EventScript_203368:: @ 8203368
- msgbox VerdanturfTown_House_Text_2033EE, 2
+ msgbox VerdanturfTown_House_Text_2033EE, MSGBOX_NPC
end
VerdanturfTown_House_Text_203371: @ 8203371
diff --git a/data/maps/VerdanturfTown_Mart/scripts.inc b/data/maps/VerdanturfTown_Mart/scripts.inc
index 96daf2c84..cfaf2e021 100644
--- a/data/maps/VerdanturfTown_Mart/scripts.inc
+++ b/data/maps/VerdanturfTown_Mart/scripts.inc
@@ -7,7 +7,7 @@ VerdanturfTown_Mart_EventScript_202587:: @ 8202587
message gUnknown_08272A21
waitmessage
pokemart VerdanturfTown_Mart_Pokemart_2025A0
- msgbox gUnknown_08272A3F, 4
+ msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
end
@@ -29,15 +29,15 @@ VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0
end
VerdanturfTown_Mart_EventScript_2025BA:: @ 82025BA
- msgbox VerdanturfTown_Mart_Text_2025D5, 2
+ msgbox VerdanturfTown_Mart_Text_2025D5, MSGBOX_NPC
end
VerdanturfTown_Mart_EventScript_2025C3:: @ 82025C3
- msgbox VerdanturfTown_Mart_Text_20264C, 2
+ msgbox VerdanturfTown_Mart_Text_20264C, MSGBOX_NPC
end
VerdanturfTown_Mart_EventScript_2025CC:: @ 82025CC
- msgbox VerdanturfTown_Mart_Text_2026C9, 2
+ msgbox VerdanturfTown_Mart_Text_2026C9, MSGBOX_NPC
end
VerdanturfTown_Mart_Text_2025D5: @ 82025D5
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc
index 131df00f7..10a8b6479 100644
--- a/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/VerdanturfTown_PokemonCenter_1F/scripts.inc
@@ -17,11 +17,11 @@ VerdanturfTown_PokemonCenter_1F_EventScript_20273A:: @ 820273A
end
VerdanturfTown_PokemonCenter_1F_EventScript_202748:: @ 8202748
- msgbox VerdanturfTown_PokemonCenter_1F_Text_20275A, 2
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_20275A, MSGBOX_NPC
end
VerdanturfTown_PokemonCenter_1F_EventScript_202751:: @ 8202751
- msgbox VerdanturfTown_PokemonCenter_1F_Text_20280B, 2
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_20280B, MSGBOX_NPC
end
VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc
index 6aa0d681a..e3e959838 100644
--- a/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc
+++ b/data/maps/VerdanturfTown_PokemonCenter_2F/events.inc
@@ -2,7 +2,7 @@ VerdanturfTown_PokemonCenter_2F_EventObjects: @ 852E8A0
object_event 1, EVENT_OBJ_GFX_TEALA, 0, 6, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_27375B, 0
object_event 2, EVENT_OBJ_GFX_TEALA, 0, 2, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_273761, 0
object_event 3, EVENT_OBJ_GFX_TEALA, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_273767, 0
- object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_276B03, 702
+ object_event 4, EVENT_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 1, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_276B03, FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
VerdanturfTown_PokemonCenter_2F_MapWarps: @ 852E900
warp_def 1, 6, 4, 2, MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F
diff --git a/data/maps/VerdanturfTown_WandasHouse/events.inc b/data/maps/VerdanturfTown_WandasHouse/events.inc
index 5f0fd0b3c..f8d6f4db5 100644
--- a/data/maps/VerdanturfTown_WandasHouse/events.inc
+++ b/data/maps/VerdanturfTown_WandasHouse/events.inc
@@ -1,9 +1,9 @@
VerdanturfTown_WandasHouse_EventObjects: @ 852E92C
- object_event 1, EVENT_OBJ_GFX_WALLY, 0, 14, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028BF, 806
- object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_202913, 808
- object_event 3, EVENT_OBJ_GFX_POKEFAN_M, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028E1, 809
+ object_event 1, EVENT_OBJ_GFX_WALLY, 0, 14, 5, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028BF, FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
+ object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_202913, FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN
+ object_event 3, EVENT_OBJ_GFX_POKEFAN_M, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028E1, FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE
object_event 4, EVENT_OBJ_GFX_POKEFAN_F, 0, 2, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20294E, 0
- object_event 5, EVENT_OBJ_GFX_WOMAN_2, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20291C, 984
+ object_event 5, EVENT_OBJ_GFX_WOMAN_2, 0, 5, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20291C, FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN
VerdanturfTown_WandasHouse_MapWarps: @ 852E9A4
warp_def 7, 7, 0, 3, MAP_VERDANTURF_TOWN
diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc
index 8184f4c21..6c3b90fc3 100644
--- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc
+++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc
@@ -6,13 +6,13 @@ VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF
faceplayer
checkflag FLAG_0x0C1
goto_eq VerdanturfTown_WandasHouse_EventScript_2028D7
- msgbox VerdanturfTown_WandasHouse_Text_202993, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202993, MSGBOX_DEFAULT
setflag FLAG_0x0C1
release
end
VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7
- msgbox VerdanturfTown_WandasHouse_Text_202ABE, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202ABE, MSGBOX_DEFAULT
release
end
@@ -23,22 +23,22 @@ VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1
goto_eq VerdanturfTown_WandasHouse_EventScript_202909
checkflag FLAG_0x4F3
goto_eq VerdanturfTown_WandasHouse_EventScript_2028FF
- msgbox VerdanturfTown_WandasHouse_Text_202B37, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202B37, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_2028FF:: @ 82028FF
- msgbox VerdanturfTown_WandasHouse_Text_202C20, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202C20, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_202909:: @ 8202909
- msgbox VerdanturfTown_WandasHouse_Text_202C4E, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202C4E, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913
- msgbox VerdanturfTown_WandasHouse_Text_202E00, 2
+ msgbox VerdanturfTown_WandasHouse_Text_202E00, MSGBOX_NPC
end
VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C
@@ -48,17 +48,17 @@ VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C
goto_eq VerdanturfTown_WandasHouse_EventScript_202944
checkflag FLAG_0x0BE
goto_eq VerdanturfTown_WandasHouse_EventScript_20293A
- msgbox VerdanturfTown_WandasHouse_Text_202D91, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_20293A:: @ 820293A
- msgbox VerdanturfTown_WandasHouse_Text_202CCF, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202CCF, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944
- msgbox VerdanturfTown_WandasHouse_Text_202D91, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT
release
end
@@ -71,22 +71,22 @@ VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E
goto_eq VerdanturfTown_WandasHouse_EventScript_20297F
checkflag FLAG_RUSTURF_TUNNEL_OPENED
goto_eq VerdanturfTown_WandasHouse_EventScript_202975
- msgbox VerdanturfTown_WandasHouse_Text_202E47, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202E47, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_202975:: @ 8202975
- msgbox VerdanturfTown_WandasHouse_Text_202F19, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202F19, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_20297F:: @ 820297F
- msgbox VerdanturfTown_WandasHouse_Text_202F73, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202F73, MSGBOX_DEFAULT
release
end
VerdanturfTown_WandasHouse_EventScript_202989:: @ 8202989
- msgbox VerdanturfTown_WandasHouse_Text_202FDB, 4
+ msgbox VerdanturfTown_WandasHouse_Text_202FDB, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/VictoryRoad_1F/events.inc b/data/maps/VictoryRoad_1F/events.inc
index f162a9d80..05cafcc48 100644
--- a/data/maps/VictoryRoad_1F/events.inc
+++ b/data/maps/VictoryRoad_1F/events.inc
@@ -2,10 +2,10 @@ VictoryRoad_1F_EventObjects: @ 8535E04
object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 33, 22, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 3, VictoryRoad_1F_EventScript_235E73, 0
object_event 2, EVENT_OBJ_GFX_WOMAN_5, 0, 6, 15, 4, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 4, VictoryRoad_1F_EventScript_235EA1, 0
object_event 3, EVENT_OBJ_GFX_MAN_3, 0, 27, 34, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, VictoryRoad_1F_EventScript_235E8A, 0
- object_event 4, EVENT_OBJ_GFX_WALLY, 0, 12, 25, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VictoryRoad_1F_EventScript_235E2C, 858
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 40, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_291483, 1084
- object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 37, 39, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_291490, 1085
- object_event 7, EVENT_OBJ_GFX_WALLY, 0, 31, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_235E35, 751
+ object_event 4, EVENT_OBJ_GFX_WALLY, 0, 12, 25, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, VictoryRoad_1F_EventScript_235E2C, FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 40, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_291483, FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR
+ object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 37, 39, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_291490, FLAG_ITEM_VICTORY_ROAD_1F_PP_UP
+ object_event 7, EVENT_OBJ_GFX_WALLY, 0, 31, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_1F_EventScript_235E35, FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY
object_event 8, EVENT_OBJ_GFX_WOMAN_5, 0, 29, 17, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, VictoryRoad_1F_EventScript_235ECF, 0
object_event 9, EVENT_OBJ_GFX_MAN_3, 0, 32, 17, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, VictoryRoad_1F_EventScript_235EB8, 0
@@ -21,7 +21,7 @@ VictoryRoad_1F_MapCoordEvents: @ 8535F04
coord_event 3, 23, 4, VAR_0x40C3, 0, VictoryRoad_1F_EventScript_235DC8
VictoryRoad_1F_MapBGEvents: @ 8535F24
- bg_hidden_item_event 30, 39, 4, ITEM_ULTRA_BALL, 81
+ bg_hidden_item_event 30, 39, 4, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL
VictoryRoad_1F_MapEvents:: @ 8535F30
map_events VictoryRoad_1F_EventObjects, VictoryRoad_1F_MapWarps, VictoryRoad_1F_MapCoordEvents, VictoryRoad_1F_MapBGEvents
diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc
index 2ed1c6baf..abe42e6d6 100644
--- a/data/maps/VictoryRoad_1F/scripts.inc
+++ b/data/maps/VictoryRoad_1F/scripts.inc
@@ -40,10 +40,10 @@ VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8
VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1
applymovement 255, VictoryRoad_1F_Movement_2725AA
waitmovement 0
- msgbox VictoryRoad_1F_Text_235EE6, 4
- trainerbattle 3, TRAINER_WALLY_1, 0, VictoryRoad_1F_Text_235FFC
- msgbox VictoryRoad_1F_Text_236020, 4
- clearflag FLAG_0x35A
+ msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT
+ trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC
+ msgbox VictoryRoad_1F_Text_236020, MSGBOX_DEFAULT
+ clearflag FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY
moveobjectoffscreen 4
setflag FLAG_0x07E
copyvar VAR_0x40C3, VAR_0x8008
@@ -78,45 +78,45 @@ VictoryRoad_1F_Movement_235E21: @ 8235E21
step_end
VictoryRoad_1F_EventScript_235E2C:: @ 8235E2C
- msgbox VictoryRoad_1F_Text_236020, 2
+ msgbox VictoryRoad_1F_Text_236020, MSGBOX_NPC
end
VictoryRoad_1F_EventScript_235E35:: @ 8235E35
- trainerbattle 0, TRAINER_WALLY_3, 0, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
+ 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
- msgbox VictoryRoad_1F_Text_2360FE, 6
+ msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_EventScript_235E5C:: @ 8235E5C
- trainerbattle 5, TRAINER_WALLY_3, 0, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
- msgbox VictoryRoad_1F_Text_2360FE, 6
+ trainerbattle_rematch TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
+ msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_EventScript_235E73:: @ 8235E73
- trainerbattle 0, TRAINER_EDGAR, 0, VictoryRoad_1F_Text_236184, VictoryRoad_1F_Text_2361CB
- msgbox VictoryRoad_1F_Text_2361E5, 6
+ trainerbattle_single TRAINER_EDGAR, VictoryRoad_1F_Text_236184, VictoryRoad_1F_Text_2361CB
+ msgbox VictoryRoad_1F_Text_2361E5, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_EventScript_235E8A:: @ 8235E8A
- trainerbattle 0, TRAINER_ALBERT, 0, VictoryRoad_1F_Text_236248, VictoryRoad_1F_Text_236290
- msgbox VictoryRoad_1F_Text_2362A4, 6
+ trainerbattle_single TRAINER_ALBERT, VictoryRoad_1F_Text_236248, VictoryRoad_1F_Text_236290
+ msgbox VictoryRoad_1F_Text_2362A4, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_EventScript_235EA1:: @ 8235EA1
- trainerbattle 0, TRAINER_HOPE, 0, VictoryRoad_1F_Text_2362EE, VictoryRoad_1F_Text_236336
- msgbox VictoryRoad_1F_Text_236356, 6
+ trainerbattle_single TRAINER_HOPE, VictoryRoad_1F_Text_2362EE, VictoryRoad_1F_Text_236336
+ msgbox VictoryRoad_1F_Text_236356, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_EventScript_235EB8:: @ 8235EB8
- trainerbattle 0, TRAINER_QUINCY, 0, VictoryRoad_1F_Text_236390, VictoryRoad_1F_Text_2363C4
- msgbox VictoryRoad_1F_Text_2363D5, 6
+ trainerbattle_single TRAINER_QUINCY, VictoryRoad_1F_Text_236390, VictoryRoad_1F_Text_2363C4
+ msgbox VictoryRoad_1F_Text_2363D5, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_EventScript_235ECF:: @ 8235ECF
- trainerbattle 0, TRAINER_KATELYNN, 0, VictoryRoad_1F_Text_236468, VictoryRoad_1F_Text_2364A7
- msgbox VictoryRoad_1F_Text_2364BB, 6
+ trainerbattle_single TRAINER_KATELYNN, VictoryRoad_1F_Text_236468, VictoryRoad_1F_Text_2364A7
+ msgbox VictoryRoad_1F_Text_2364BB, MSGBOX_AUTOCLOSE
end
VictoryRoad_1F_Text_235EE6: @ 8235EE6
@@ -217,4 +217,3 @@ VictoryRoad_1F_Text_2364A7: @ 82364A7
VictoryRoad_1F_Text_2364BB: @ 82364BB
.string "Humph, go right on ahead.\n"
.string "See if I care.$"
-
diff --git a/data/maps/VictoryRoad_B1F/events.inc b/data/maps/VictoryRoad_B1F/events.inc
index 14d400fec..814d8a73d 100644
--- a/data/maps/VictoryRoad_B1F/events.inc
+++ b/data/maps/VictoryRoad_B1F/events.inc
@@ -1,23 +1,23 @@
VictoryRoad_B1F_EventObjects: @ 8535F44
- object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 20, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 19
- object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 21, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 20
- object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 17
- object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 18
- object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 20, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 23
- object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 21, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 22
- object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 35, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 30
- object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 19, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 25
- object_event 9, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 26
- object_event 10, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 18, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 27
- object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 28
- object_event 12, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 21, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 29
- object_event 13, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 34, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 31
+ object_event 1, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 20, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_13
+ object_event 2, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 21, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_14
+ object_event 3, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_11
+ object_event 4, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 9, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_12
+ object_event 5, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 20, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_17
+ object_event 6, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 21, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_16
+ object_event 7, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 35, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_1E
+ object_event 8, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 19, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, FLAG_TEMP_19
+ object_event 9, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, FLAG_TEMP_1A
+ object_event 10, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 18, 12, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, FLAG_TEMP_1B
+ object_event 11, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 20, 25, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, FLAG_TEMP_1C
+ object_event 12, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 21, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, FLAG_TEMP_1D
+ object_event 13, EVENT_OBJ_GFX_PUSHABLE_BOULDER, 0, 34, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, FLAG_TEMP_1F
object_event 14, EVENT_OBJ_GFX_MAN_3, 0, 37, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 3, VictoryRoad_B1F_EventScript_2364E5, 0
object_event 15, EVENT_OBJ_GFX_WOMAN_5, 0, 26, 16, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 1, 4, VictoryRoad_B1F_EventScript_2364FC, 0
object_event 16, EVENT_OBJ_GFX_WOMAN_5, 0, 5, 21, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, VictoryRoad_B1F_EventScript_236513, 0
- object_event 17, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 34, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 21
- object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 42, 8, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_29149D, 1086
- object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_2914AA, 1087
+ object_event 17, EVENT_OBJ_GFX_BREAKABLE_ROCK, 0, 34, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_2907A6, FLAG_TEMP_15
+ object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 42, 8, 4, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_29149D, FLAG_ITEM_VICTORY_ROAD_B1F_TM_29
+ object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 32, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B1F_EventScript_2914AA, FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE
object_event 20, EVENT_OBJ_GFX_MAN_3, 0, 14, 16, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 4, VictoryRoad_B1F_EventScript_23652A, 0
object_event 21, EVENT_OBJ_GFX_WOMAN_5, 0, 14, 20, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 1, 3, VictoryRoad_B1F_EventScript_236541, 0
diff --git a/data/maps/VictoryRoad_B1F/scripts.inc b/data/maps/VictoryRoad_B1F/scripts.inc
index 376fda7d5..d6d2d6861 100644
--- a/data/maps/VictoryRoad_B1F/scripts.inc
+++ b/data/maps/VictoryRoad_B1F/scripts.inc
@@ -2,28 +2,28 @@ VictoryRoad_B1F_MapScripts:: @ 82364E4
.byte 0
VictoryRoad_B1F_EventScript_2364E5:: @ 82364E5
- trainerbattle 0, TRAINER_SAMUEL, 0, VictoryRoad_B1F_Text_236558, VictoryRoad_B1F_Text_2365AD
- msgbox VictoryRoad_B1F_Text_2365C4, 6
+ trainerbattle_single TRAINER_SAMUEL, VictoryRoad_B1F_Text_236558, VictoryRoad_B1F_Text_2365AD
+ msgbox VictoryRoad_B1F_Text_2365C4, MSGBOX_AUTOCLOSE
end
VictoryRoad_B1F_EventScript_2364FC:: @ 82364FC
- trainerbattle 0, TRAINER_SHANNON, 0, VictoryRoad_B1F_Text_2365FD, VictoryRoad_B1F_Text_23664D
- msgbox VictoryRoad_B1F_Text_236678, 6
+ trainerbattle_single TRAINER_SHANNON, VictoryRoad_B1F_Text_2365FD, VictoryRoad_B1F_Text_23664D
+ msgbox VictoryRoad_B1F_Text_236678, MSGBOX_AUTOCLOSE
end
VictoryRoad_B1F_EventScript_236513:: @ 8236513
- trainerbattle 0, TRAINER_MICHELLE, 0, VictoryRoad_B1F_Text_2366C2, VictoryRoad_B1F_Text_23670B
- msgbox VictoryRoad_B1F_Text_23671B, 6
+ trainerbattle_single TRAINER_MICHELLE, VictoryRoad_B1F_Text_2366C2, VictoryRoad_B1F_Text_23670B
+ msgbox VictoryRoad_B1F_Text_23671B, MSGBOX_AUTOCLOSE
end
VictoryRoad_B1F_EventScript_23652A:: @ 823652A
- trainerbattle 0, TRAINER_MITCHELL, 0, VictoryRoad_B1F_Text_236757, VictoryRoad_B1F_Text_236780
- msgbox VictoryRoad_B1F_Text_2367A7, 6
+ trainerbattle_single TRAINER_MITCHELL, VictoryRoad_B1F_Text_236757, VictoryRoad_B1F_Text_236780
+ msgbox VictoryRoad_B1F_Text_2367A7, MSGBOX_AUTOCLOSE
end
VictoryRoad_B1F_EventScript_236541:: @ 8236541
- trainerbattle 0, TRAINER_HALLE, 0, VictoryRoad_B1F_Text_2367FD, VictoryRoad_B1F_Text_23683B
- msgbox VictoryRoad_B1F_Text_23684C, 6
+ trainerbattle_single TRAINER_HALLE, VictoryRoad_B1F_Text_2367FD, VictoryRoad_B1F_Text_23683B
+ msgbox VictoryRoad_B1F_Text_23684C, MSGBOX_AUTOCLOSE
end
VictoryRoad_B1F_Text_236558: @ 8236558
diff --git a/data/maps/VictoryRoad_B2F/events.inc b/data/maps/VictoryRoad_B2F/events.inc
index 17d878215..1ad4f3e50 100644
--- a/data/maps/VictoryRoad_B2F/events.inc
+++ b/data/maps/VictoryRoad_B2F/events.inc
@@ -3,7 +3,7 @@ VictoryRoad_B2F_EventObjects: @ 8536188
object_event 2, EVENT_OBJ_GFX_MAN_3, 0, 43, 14, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 4, VictoryRoad_B2F_EventScript_2368EC, 0
object_event 3, EVENT_OBJ_GFX_WOMAN_5, 0, 2, 17, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_236903, 0
object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 35, 22, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_23691A, 0
- object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B2F_EventScript_2914B7, 1088
+ object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 13, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, VictoryRoad_B2F_EventScript_2914B7, FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL
object_event 6, EVENT_OBJ_GFX_WOMAN_5, 0, 25, 18, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_236948, 0
object_event 7, EVENT_OBJ_GFX_MAN_3, 0, 25, 21, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 1, 2, VictoryRoad_B2F_EventScript_236931, 0
@@ -14,8 +14,8 @@ VictoryRoad_B2F_MapWarps: @ 8536230
warp_def 5, 26, 3, 6, MAP_VICTORY_ROAD_B1F
VictoryRoad_B2F_MapBGEvents: @ 8536250
- bg_hidden_item_event 28, 5, 3, ITEM_ELIXIR, 82
- bg_hidden_item_event 37, 1, 3, ITEM_MAX_REPEL, 83
+ bg_hidden_item_event 28, 5, 3, ITEM_ELIXIR, FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR
+ bg_hidden_item_event 37, 1, 3, ITEM_MAX_REPEL, FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL
VictoryRoad_B2F_MapEvents:: @ 8536268
map_events VictoryRoad_B2F_EventObjects, VictoryRoad_B2F_MapWarps, 0x0, VictoryRoad_B2F_MapBGEvents
diff --git a/data/maps/VictoryRoad_B2F/scripts.inc b/data/maps/VictoryRoad_B2F/scripts.inc
index 15deea104..245440135 100644
--- a/data/maps/VictoryRoad_B2F/scripts.inc
+++ b/data/maps/VictoryRoad_B2F/scripts.inc
@@ -2,33 +2,33 @@ VictoryRoad_B2F_MapScripts:: @ 82368D4
.byte 0
VictoryRoad_B2F_EventScript_2368D5:: @ 82368D5
- trainerbattle 0, TRAINER_VITO, 0, VictoryRoad_B2F_Text_23695F, VictoryRoad_B2F_Text_2369B3
- msgbox VictoryRoad_B2F_Text_2369DE, 6
+ trainerbattle_single TRAINER_VITO, VictoryRoad_B2F_Text_23695F, VictoryRoad_B2F_Text_2369B3
+ msgbox VictoryRoad_B2F_Text_2369DE, MSGBOX_AUTOCLOSE
end
VictoryRoad_B2F_EventScript_2368EC:: @ 82368EC
- trainerbattle 0, TRAINER_OWEN, 0, VictoryRoad_B2F_Text_236A4C, VictoryRoad_B2F_Text_236A92
- msgbox VictoryRoad_B2F_Text_236AAE, 6
+ trainerbattle_single TRAINER_OWEN, VictoryRoad_B2F_Text_236A4C, VictoryRoad_B2F_Text_236A92
+ msgbox VictoryRoad_B2F_Text_236AAE, MSGBOX_AUTOCLOSE
end
VictoryRoad_B2F_EventScript_236903:: @ 8236903
- trainerbattle 0, TRAINER_CAROLINE, 0, VictoryRoad_B2F_Text_236AF0, VictoryRoad_B2F_Text_236B14
- msgbox VictoryRoad_B2F_Text_236B2F, 6
+ trainerbattle_single TRAINER_CAROLINE, VictoryRoad_B2F_Text_236AF0, VictoryRoad_B2F_Text_236B14
+ msgbox VictoryRoad_B2F_Text_236B2F, MSGBOX_AUTOCLOSE
end
VictoryRoad_B2F_EventScript_23691A:: @ 823691A
- trainerbattle 0, TRAINER_JULIE, 0, VictoryRoad_B2F_Text_236B88, VictoryRoad_B2F_Text_236C0A
- msgbox VictoryRoad_B2F_Text_236C21, 6
+ trainerbattle_single TRAINER_JULIE, VictoryRoad_B2F_Text_236B88, VictoryRoad_B2F_Text_236C0A
+ msgbox VictoryRoad_B2F_Text_236C21, MSGBOX_AUTOCLOSE
end
VictoryRoad_B2F_EventScript_236931:: @ 8236931
- trainerbattle 0, TRAINER_FELIX, 0, VictoryRoad_B2F_Text_236C67, VictoryRoad_B2F_Text_236CAB
- msgbox VictoryRoad_B2F_Text_236CBA, 6
+ trainerbattle_single TRAINER_FELIX, VictoryRoad_B2F_Text_236C67, VictoryRoad_B2F_Text_236CAB
+ msgbox VictoryRoad_B2F_Text_236CBA, MSGBOX_AUTOCLOSE
end
VictoryRoad_B2F_EventScript_236948:: @ 8236948
- trainerbattle 0, TRAINER_DIANNE, 0, VictoryRoad_B2F_Text_236D27, VictoryRoad_B2F_Text_236D6E
- msgbox VictoryRoad_B2F_Text_236D8C, 6
+ trainerbattle_single TRAINER_DIANNE, VictoryRoad_B2F_Text_236D27, VictoryRoad_B2F_Text_236D6E
+ msgbox VictoryRoad_B2F_Text_236D8C, MSGBOX_AUTOCLOSE
end
VictoryRoad_B2F_Text_23695F: @ 823695F
diff --git a/data/mossdeep_gym.s b/data/mossdeep_gym.s
new file mode 100644
index 000000000..01eb792b7
--- /dev/null
+++ b/data/mossdeep_gym.s
@@ -0,0 +1,43 @@
+ .include "asm/macros.inc"
+
+ .section .rodata
+
+gUnknown_08612698:: @ 8612698
+ store_lock_anim
+ walk_right
+ free_unlock_anim
+ step_end
+
+gUnknown_0861269C:: @ 861269C
+ store_lock_anim
+ walk_down
+ free_unlock_anim
+ step_end
+
+gUnknown_086126A0:: @ 86126A0
+ store_lock_anim
+ walk_left
+ free_unlock_anim
+ step_end
+
+gUnknown_086126A4:: @ 86126A4
+ store_lock_anim
+ walk_up
+ free_unlock_anim
+ step_end
+
+gUnknown_086126A8:: @ 86126A8
+ face_right
+ step_end
+
+gUnknown_086126AA:: @ 86126AA
+ face_down
+ step_end
+
+gUnknown_086126AC:: @ 86126AC
+ face_left
+ step_end
+
+gUnknown_086126AE:: @ 86126AE
+ face_up
+ step_end
diff --git a/data/pokedex.s b/data/pokedex.s
deleted file mode 100644
index fde603020..000000000
--- a/data/pokedex.s
+++ /dev/null
@@ -1,244 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-.macro unk_dex_struct texts, a2, a3, a4
- .4byte \texts
- .byte \a2, \a3, \a4
- .byte 0 @padding
-.endm
-
-.macro unk_dex_struct_2 text, a2, a3, a4, a5, a6, a7
- .4byte \text
- .byte \a2, \a3, \a4, \a5, \a6, \a7
- .2byte 0 @padding
-.endm
-
-.macro unk_dex_struct_3 text, a2, a3, a4
- .4byte \text
- .byte \a2, \a3, \a4
- .byte 0 @padding
-.endm
-
- .align 2
-gUnknown_0855D30C:: @ 855D30C
- .string "$"
-
-@ 855D30D
- .include "data/text/pokedex_text.inc"
-
-@ 856B5B0
- .include "data/pokedex_entries.inc"
-
- .align 2
-gUnknown_0856E610:: @ 856E610
- .incbin "graphics/pokedex/black.gbapal"
-
- .align 2
-gUnknown_0856E630:: @ 856E630
- .4byte 0x000030c8, 0x000000d1, 0x000010ea, 0x000020f3
-
- .align 2
-gUnknown_0856E640:: @ 856E640
- window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001
- window_template 0x02, 0x19, 0x08, 0x02, 0x02, 0x0f, 0x0281
- window_template 0x00, 0x00, 0x0c, 0x20, 0x07, 0x08, 0x0285
- window_template 0x02, 0x12, 0x03, 0x0a, 0x08, 0x09, 0x0365
- window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
-
- .align 2
-gUnknown_0856E668:: @ 856E668
- .4byte 0x000020ea, 0x000030f7
-
- .align 2
-gUnknown_0856E670:: @ 856E670
- window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001
- window_template 0x02, 0x19, 0x08, 0x02, 0x02, 0x0f, 0x0281
- window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
-
-sText_TenDashes2:: @ 856E688
- .string "----------$"
-
-@ 856E694
- .include "data/graphics/pokemon/footprint_table.inc"
-
-gUnknown_0856ED08:: @ 856ED08
- .byte 0x00, 0x00, 0x00, 0x00, 0xbb, 0x03, 0xd5, 0x03, 0xbe, 0x03, 0xd8, 0x03, 0xc1, 0x03, 0xdb, 0x03, 0xc4, 0x03, 0xde, 0x03, 0xc7, 0x03, 0xe1, 0x03, 0xca, 0x03, 0xe4, 0x03, 0xcd, 0x03, 0xe7, 0x03
- .byte 0xd0, 0x03, 0xea, 0x03, 0xd3, 0x02, 0xed, 0x02
-
-gUnknown_0856ED30:: @ 856ED30
- unk_dex_struct_3 gUnknown_085E87A5, 0, 0, 5
- unk_dex_struct_3 gUnknown_085E87D6, 6, 0, 5
- unk_dex_struct_3 gUnknown_085E87EF, 12, 0, 5
-
-gUnknown_0856ED48:: @ 856ED48
- unk_dex_struct_2 gUnknown_085E8840, 0, 2, 5, 5, 2, 12
- unk_dex_struct_2 gUnknown_085E887C, 0, 4, 5, 5, 4, 12
- unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 5, 6, 6
- unk_dex_struct_2 gUnknown_085E88A6, 0, 6, 5, 11, 6, 6
- unk_dex_struct_2 gUnknown_085E881F, 0, 8, 5, 5, 8, 12
- unk_dex_struct_2 gUnknown_085E8806, 0, 10, 5, 5, 10, 12
- unk_dex_struct_2 gUnknown_085E88C8, 0, 12, 5, 0, 0, 0
-
- .align 1
-gUnknown_0856ED9C:: @ 856ED9C
- .2byte 0xffff, 0x01ff, 0xffff, 0x0200, 0x03ff, 0x0401, 0xff02, 0x0401, 0xffff, 0x0502, 0xffff, 0x0604, 0xffff, 0xff05
-
- .align 1
-gUnknown_0856EDB8:: @ 856EDB8
- .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x05ff, 0xffff, 0x0604, 0xffff, 0xff05
-
- .align 1
-gUnknown_0856EDD4:: @ 856EDD4
- .2byte 0xffff, 0x01ff, 0xffff, 0x0200, 0x03ff, 0x0401, 0xff02, 0x0401, 0xffff, 0x0602, 0xffff, 0xffff, 0xffff, 0xff04
-
- .align 1
-gUnknown_0856EDF0:: @ 856EDF0
- .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x06ff, 0xffff, 0xffff, 0xffff, 0xff04
-
- .align 2
-gUnknown_0856EE0C:: @ 856EE0C
- .4byte gUnknown_085E89A4
- .4byte gUnknown_085E88DF
- .4byte gUnknown_085E89BB
- .4byte gUnknown_085E88E9
- .4byte NULL
- .4byte NULL
-
- .align 2
-gUnknown_0856EE24:: @ 856EE24
- .4byte gUnknown_085E89D4
- .4byte gUnknown_085E88F6
- .4byte gUnknown_085E8A02
- .4byte gUnknown_085E8905
- .4byte gUnknown_085E8A37
- .4byte gUnknown_085E8911
- .4byte gUnknown_085E8A73
- .4byte gUnknown_085E891F
- .4byte gUnknown_085E8AAF
- .4byte gUnknown_085E892D
- .4byte gUnknown_085E8AEA
- .4byte gUnknown_085E893A
- .4byte 0
- .4byte 0
-
-gUnknown_0856EE5C:: @ 856EE5C
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8B26
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8948
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E894C
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8950
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8954
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8958
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E895C
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8960
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8964
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8968
- .4byte 0
- .4byte 0
-
-gUnknown_0856EEB4:: @ 856EEB4
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8B26
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E896B
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E896F
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8974
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E897B
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8981
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8987
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E898D
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8994
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8999
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E899F
- .4byte 0
- .4byte 0
-
-@ read from type table for each type except ???, entry is 7 byte of length
-gUnknown_0856EF14:: @ 856EF14
- .4byte gUnknown_085E8B25
- .4byte gUnknown_085E8B35
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 0
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 7
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 14
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 21
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 28
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 35
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 42
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 49
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 56
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 70
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 77
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 84
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 91
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 98
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 105
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 112
- .4byte gUnknown_085E8B25
- .4byte gTypeNames + 119
- .4byte 0
- .4byte 0
-
-gUnknown_0856EFAC:: @ 856EFAC
- .byte 0x00, 0x01
-
-gUnknown_0856EFAE:: @ 856EFAE
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05
-
-gUnknown_0856EFB4:: @ 856EFB4
- .byte 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x00, 0x00
-
- .align 2
-gUnknown_0856EFC8:: @ 856EFC8
- unk_dex_struct gUnknown_0856EE5C, 6, 7, 10
- unk_dex_struct gUnknown_0856EEB4, 8, 9, 11
- unk_dex_struct gUnknown_0856EF14, 10,11, 18
- unk_dex_struct gUnknown_0856EF14, 12, 13, 18
- unk_dex_struct gUnknown_0856EE24, 4, 5, 6
- unk_dex_struct gUnknown_0856EE0C, 2, 3, 2
-
- .align 2
-gUnknown_0856EFF8:: @ 856EFF8
- .4byte 0x000000c8, 0x000010d1, 0x000020ea, 0x000030f3
-
- .align 2
-gUnknown_0856F008:: @ 856F008
- window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001
- null_window_template
-
diff --git a/data/pokedex_area_screen.s b/data/pokedex_area_screen.s
deleted file mode 100644
index 77d17a047..000000000
--- a/data/pokedex_area_screen.s
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "constants/flags.h"
-#include "constants/region_map_sections.h"
-#include "constants/species.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_085B3D94:: @ 85B3D94
- .incbin "graphics/pokedex/area_glow.gbapal"
-
- .align 2
-gUnknown_085B3DB4:: @ 85B3DB4
- .incbin "graphics/pokedex/area_glow.4bpp.lz"
-
- .align 1
-gUnknown_085B3EE8:: @ 85B3EE8
- .2byte 0x0168
-
- .align 1
-gUnknown_085B3EEA:: @ 85B3EEA
- .2byte MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_TERRA_CAVE
-
- .align 1
-gUnknown_085B3EF0:: @ 85B3EF0
- .2byte SPECIES_FEEBAS, 0x0000, 0x0022
- .2byte SPECIES_EGG, 0x0000, 0x0000
-
- .align 1
-gUnknown_085B3EFC:: @ 85B3EFC
- .2byte MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR
- .2byte MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN
- .2byte MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE
- .2byte MAPSEC_MIRAGE_TOWER, FLAG_LANDMARK_MIRAGE_TOWER
- .2byte MAPSEC_DESERT_UNDERPASS, FLAG_LANDMARK_DESERT_UNDERPASS
- .2byte MAPSEC_ARTISAN_CAVE, FLAG_0x8DF
- .2byte MAPSEC_NONE, 0x0000
-
-gUnknown_085B3F18:: @ 85B3F18
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x13, 0x22, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x14, 0x01, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x15, 0x20, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x16, 0x21, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x17, 0x22, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x18, 0x01, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x19, 0x20, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x1a, 0x21, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x1b, 0x22, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x1c, 0x01, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x1d, 0x20, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
- .byte 0x1e, 0x21, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
-
- .align 2
-gUnknown_085B4018:: @ 85B4018
- .4byte 0x00002003
-
- .align 2
-gUnknown_085B401C:: @ 85B401C
- obj_tiles AreaMarkerTiles, 0x0080, 0x0002
-
- .align 2
-gUnknown_085B4024:: @ 85B4024
- obj_pal AreaMarkerPalette, 0x0002
-
- .align 2
-gUnknown_085B402C:: @ 85B402C
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gUnknown_085B4034:: @ 85B4034
- spr_template 0x0002, 0x0002, gUnknown_085B402C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-AreaMarkerPalette:: @ 85B404C
- .incbin "graphics/pokedex/area_marker.gbapal"
-
- .align 2
-AreaMarkerTiles:: @ 85B406C
- .incbin "graphics/pokedex/area_marker.4bpp"
-
- .align 2
-gUnknown_085B40EC:: @ 85B40EC
- obj_pal gPokedexAreaScreenAreaUnknown_Pal, 0x0003
-
- .align 2
-gOamData_85B40F4:: @ 85B40F4
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gSpriteTemplate_85B40FC:: @ 85B40FC
- spr_template 0x0003, 0x0003, gOamData_85B40F4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/data/pokedex_cry_screen.s b/data/pokedex_cry_screen.s
deleted file mode 100644
index 4b84c3ece..000000000
--- a/data/pokedex_cry_screen.s
+++ /dev/null
@@ -1,110 +0,0 @@
-
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-CryMeterNeedlePalette: @ 85B7B58
- .incbin "graphics/pokedex/cry_meter_needle.gbapal"
-
- .align 2
-CryMeterNeedleTiles: @ 85B7B78
- .incbin "graphics/pokedex/cry_meter_needle.4bpp"
-
- .align 1
-gUnknown_085B8378:: @ 85B8378
- .incbin "graphics/pokedex/cry_meter_map.bin"
-
- .align 1
-gUnknown_085B8418:: @ 85B8418
- .incbin "graphics/pokedex/cry_meter.gbapal"
-
- .align 2
-gUnknown_085B8438:: @ 85B8438
- .incbin "graphics/pokedex/cry_meter.4bpp.lz"
-
- .align 1
-gUnknown_085B8770:: @ 85B8770
- .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C
- .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C
- .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D
- .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D
- .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E
- .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E
- .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F
- .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F
-
- .align 1
-gUnknown_085B8BF0:: @ 85B8BF0
- .incbin "graphics/pokedex/85B8BF0.gbapal"
-
-gUnknown_085B8C10:: @ 85B8C10
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x11
- .byte 0x22
- .byte 0x22
- .byte 0x22
- .byte 0x22
-
-gUnknown_085B8C30:: @ 85B8C30
- .byte 0xF0, 0x0F
-
-gUnknown_085B8C32:: @ 85B8C32
- .byte 0x0F,0x0E,0x0D,0x0C,0x0B,0x0A,0x09,0x08,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F
- .byte 0xF0,0xE0,0xD0,0xC0,0xB0,0xA0,0x90,0x80,0x80,0x90,0xA0,0xB0,0xC0,0xD0,0xE0,0xF0
-
- .align 2
-gSpriteAnim_85B8C54:: @ 85B8C54
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_85B8C5C:: @ 85B8C5C
- .4byte gSpriteAnim_85B8C54
-
- .align 2
-gOamData_85B8C60:: @ 85B8C60
- .2byte 0x01A0
- .2byte 0xC000
- .2byte 0x0400
-
- .align 2
-gUnknown_085B8C68:: @ 85B8C68
- spr_template 8192, 8192, gOamData_85B8C60, gSpriteAnimTable_85B8C5C, NULL, gDummySpriteAffineAnimTable, sub_814596C
-
- .align 2
-gCryMeterNeedleSpriteSheets:: @ 85B8C80
- obj_tiles CryMeterNeedleTiles, 0x800, 8192
- null_obj_tiles
-
- .align 2
-gCryMeterNeedleSpritePalettes:: @ 85B8C90
- obj_pal CryMeterNeedlePalette, 8192
- null_obj_pal
diff --git a/data/pokedex_entries.inc b/data/pokedex_entries.inc
deleted file mode 100644
index ce98a7b26..000000000
--- a/data/pokedex_entries.inc
+++ /dev/null
@@ -1,776 +0,0 @@
- .align 2
-gPokedexEntries:: @ 856B5B0
- .string "UNKNOWN$", 12
- pokedex_entry 0, 0, gDummyPokedexText, 256, 0, 256, 0
- .string "SEED$", 12
- pokedex_entry 7, 69, gBulbasaurPokedexText, 356, 17, 256, 0
- .string "SEED$", 12
- pokedex_entry 10, 130, gIvysaurPokedexText, 335, 13, 256, 0
- .string "SEED$", 12
- pokedex_entry 20, 1000, gVenusaurPokedexText, 256, 0, 388, 6
- .string "LIZARD$", 12
- pokedex_entry 6, 85, gCharmanderPokedexText, 444, 18, 256, 0
- .string "FLAME$", 12
- pokedex_entry 11, 190, gCharmeleonPokedexText, 302, 9, 256, 0
- .string "FLAME$", 12
- pokedex_entry 17, 905, gCharizardPokedexText, 256, 1, 302, 3
- .string "TINY TURTLE$", 12
- pokedex_entry 5, 90, gSquirtlePokedexText, 412, 18, 256, 0
- .string "TURTLE$", 12
- pokedex_entry 10, 225, gWartortlePokedexText, 332, 10, 256, 0
- .string "SHELLFISH$", 12
- pokedex_entry 16, 855, gBlastoisePokedexText, 256, -1, 293, 2
- .string "WORM$", 12
- pokedex_entry 3, 29, gCaterpiePokedexText, 549, 22, 256, 0
- .string "COCOON$", 12
- pokedex_entry 7, 99, gMetapodPokedexText, 350, 18, 256, 0
- .string "BUTTERFLY$", 12
- pokedex_entry 11, 320, gButterfreePokedexText, 312, 2, 256, 0
- .string "HAIRY BUG$", 12
- pokedex_entry 3, 32, gWeedlePokedexText, 455, 22, 256, 0
- .string "COCOON$", 12
- pokedex_entry 6, 100, gKakunaPokedexText, 424, 17, 256, 0
- .string "POISON BEE$", 12
- pokedex_entry 10, 295, gBeedrillPokedexText, 366, 2, 256, 0
- .string "TINY BIRD$", 12
- pokedex_entry 3, 18, gPidgeyPokedexText, 508, -3, 256, 0
- .string "BIRD$", 12
- pokedex_entry 11, 300, gPidgeottoPokedexText, 331, 10, 256, 0
- .string "BIRD$", 12
- pokedex_entry 15, 395, gPidgeotPokedexText, 269, 0, 256, 0
- .string "MOUSE$", 12
- pokedex_entry 3, 35, gRattataPokedexText, 481, 21, 256, 0
- .string "MOUSE$", 12
- pokedex_entry 7, 185, gRaticatePokedexText, 459, 18, 256, 0
- .string "TINY BIRD$", 12
- pokedex_entry 3, 20, gSpearowPokedexText, 571, 22, 256, 0
- .string "BEAK$", 12
- pokedex_entry 12, 380, gFearowPokedexText, 278, 1, 256, 0
- .string "SNAKE$", 12
- pokedex_entry 20, 69, gEkansPokedexText, 298, 12, 256, 0
- .string "COBRA$", 12
- pokedex_entry 35, 650, gArbokPokedexText, 256, 0, 296, 2
- .string "MOUSE$", 12
- pokedex_entry 4, 60, gPikachuPokedexText, 479, 19, 256, 0
- .string "MOUSE$", 12
- pokedex_entry 8, 300, gRaichuPokedexText, 426, 13, 256, 0
- .string "MOUSE$", 12
- pokedex_entry 6, 120, gSandshrewPokedexText, 365, 18, 256, 0
- .string "MOUSE$", 12
- pokedex_entry 10, 295, gSandslashPokedexText, 341, 11, 256, 0
- .string "POISON PIN$", 12
- pokedex_entry 4, 70, gNidoranFPokedexText, 488, 21, 256, 0
- .string "POISON PIN$", 12
- pokedex_entry 8, 200, gNidorinaPokedexText, 381, 15, 256, 0
- .string "DRILL$", 12
- pokedex_entry 13, 600, gNidoqueenPokedexText, 293, 4, 256, 0
- .string "POISON PIN$", 12
- pokedex_entry 5, 90, gNidoranMPokedexText, 511, 20, 256, 0
- .string "POISON PIN$", 12
- pokedex_entry 9, 195, gNidorinoPokedexText, 408, 15, 256, 0
- .string "DRILL$", 12
- pokedex_entry 14, 620, gNidokingPokedexText, 256, 0, 256, 0
- .string "FAIRY$", 12
- pokedex_entry 6, 75, gClefairyPokedexText, 441, 20, 256, 0
- .string "FAIRY$", 12
- pokedex_entry 13, 400, gClefablePokedexText, 256, 5, 256, 0
- .string "FOX$", 12
- pokedex_entry 6, 99, gVulpixPokedexText, 542, 19, 256, 0
- .string "FOX$", 12
- pokedex_entry 11, 199, gNinetalesPokedexText, 339, 10, 256, 0
- .string "BALLOON$", 12
- pokedex_entry 5, 55, gJigglypuffPokedexText, 433, 2, 256, 0
- .string "BALLOON$", 12
- pokedex_entry 10, 120, gWigglytuffPokedexText, 328, 11, 256, 0
- .string "BAT$", 12
- pokedex_entry 8, 75, gZubatPokedexText, 362, -5, 256, 0
- .string "BAT$", 12
- pokedex_entry 16, 550, gGolbatPokedexText, 256, 1, 256, 0
- .string "WEED$", 12
- pokedex_entry 5, 54, gOddishPokedexText, 423, 19, 256, 0
- .string "WEED$", 12
- pokedex_entry 8, 86, gGloomPokedexText, 329, 13, 256, 0
- .string "FLOWER$", 12
- pokedex_entry 12, 186, gVileplumePokedexText, 256, 4, 256, 0
- .string "MUSHROOM$", 12
- pokedex_entry 3, 54, gParasPokedexText, 593, 22, 256, 0
- .string "MUSHROOM$", 12
- pokedex_entry 10, 295, gParasectPokedexText, 307, 8, 256, 0
- .string "INSECT$", 12
- pokedex_entry 10, 300, gVenonatPokedexText, 360, 0, 256, -1
- .string "POISON MOTH$", 12
- pokedex_entry 15, 125, gVenomothPokedexText, 285, 2, 256, 1
- .string "MOLE$", 12
- pokedex_entry 2, 8, gDiglettPokedexText, 833, 25, 256, 0
- .string "MOLE$", 12
- pokedex_entry 7, 333, gDugtrioPokedexText, 406, 18, 256, 0
- .string "SCRATCH CAT$", 12
- pokedex_entry 4, 42, gMeowthPokedexText, 480, 19, 256, 0
- .string "CLASSY CAT$", 12
- pokedex_entry 10, 320, gPersianPokedexText, 320, 10, 256, 0
- .string "DUCK$", 12
- pokedex_entry 8, 196, gPsyduckPokedexText, 369, 15, 256, 0
- .string "DUCK$", 12
- pokedex_entry 17, 766, gGolduckPokedexText, 256, 1, 273, 1
- .string "PIG MONKEY$", 12
- pokedex_entry 5, 280, gMankeyPokedexText, 404, 19, 256, 0
- .string "PIG MONKEY$", 12
- pokedex_entry 10, 320, gPrimeapePokedexText, 326, 10, 256, 0
- .string "PUPPY$", 12
- pokedex_entry 7, 190, gGrowlithePokedexText, 346, 14, 256, 0
- .string "LEGENDARY$", 12
- pokedex_entry 19, 1550, gArcaninePokedexText, 256, 1, 312, 4
- .string "TADPOLE$", 12
- pokedex_entry 6, 124, gPoliwagPokedexText, 369, 20, 256, 0
- .string "TADPOLE$", 12
- pokedex_entry 10, 200, gPoliwhirlPokedexText, 288, 11, 256, 0
- .string "TADPOLE$", 12
- pokedex_entry 13, 540, gPoliwrathPokedexText, 256, 6, 256, 0
- .string "PSI$", 12
- pokedex_entry 9, 195, gAbraPokedexText, 363, 14, 256, 0
- .string "PSI$", 12
- pokedex_entry 13, 565, gKadabraPokedexText, 256, 3, 256, 0
- .string "PSI$", 12
- pokedex_entry 15, 480, gAlakazamPokedexText, 256, 3, 256, 0
- .string "SUPERPOWER$", 12
- pokedex_entry 8, 195, gMachopPokedexText, 342, 14, 256, 0
- .string "SUPERPOWER$", 12
- pokedex_entry 15, 705, gMachokePokedexText, 323, 9, 257, 0
- .string "SUPERPOWER$", 12
- pokedex_entry 16, 1300, gMachampPokedexText, 280, 1, 269, -1
- .string "FLOWER$", 12
- pokedex_entry 7, 40, gBellsproutPokedexText, 354, 16, 256, 0
- .string "FLYCATCHER$", 12
- pokedex_entry 10, 64, gWeepinbellPokedexText, 256, 0, 256, 0
- .string "FLYCATCHER$", 12
- pokedex_entry 17, 155, gVictreebelPokedexText, 256, 1, 312, 3
- .string "JELLYFISH$", 12
- pokedex_entry 9, 455, gTentacoolPokedexText, 256, 0, 256, 0
- .string "JELLYFISH$", 12
- pokedex_entry 16, 550, gTentacruelPokedexText, 256, 0, 312, 1
- .string "ROCK$", 12
- pokedex_entry 4, 200, gGeodudePokedexText, 347, 18, 256, 0
- .string "ROCK$", 12
- pokedex_entry 10, 1050, gGravelerPokedexText, 256, 2, 256, 0
- .string "MEGATON$", 12
- pokedex_entry 14, 3000, gGolemPokedexText, 256, 3, 296, 2
- .string "FIRE HORSE$", 12
- pokedex_entry 10, 300, gPonytaPokedexText, 283, 8, 256, 0
- .string "FIRE HORSE$", 12
- pokedex_entry 17, 950, gRapidashPokedexText, 256, 0, 289, 1
- .string "DOPEY$", 12
- pokedex_entry 12, 360, gSlowpokePokedexText, 256, 10, 256, 0
- .string "HERMIT CRAB$", 12
- pokedex_entry 16, 785, gSlowbroPokedexText, 256, 6, 296, 2
- .string "MAGNET$", 12
- pokedex_entry 3, 60, gMagnemitePokedexText, 288, -9, 256, 0
- .string "MAGNET$", 12
- pokedex_entry 10, 600, gMagnetonPokedexText, 292, 1, 256, 0
- .string "WILD DUCK$", 12
- pokedex_entry 8, 150, gFarfetchdPokedexText, 330, 2, 293, 2
- .string "TWIN BIRD$", 12
- pokedex_entry 14, 392, gDoduoPokedexText, 256, 3, 257, -1
- .string "TRIPLE BIRD$", 12
- pokedex_entry 18, 852, gDodrioPokedexText, 256, 0, 268, 0
- .string "SEA LION$", 12
- pokedex_entry 11, 900, gSeelPokedexText, 297, 8, 256, 0
- .string "SEA LION$", 12
- pokedex_entry 17, 1200, gDewgongPokedexText, 256, 0, 275, 0
- .string "SLUDGE$", 12
- pokedex_entry 9, 300, gGrimerPokedexText, 258, 10, 256, 0
- .string "SLUDGE$", 12
- pokedex_entry 12, 300, gMukPokedexText, 256, 2, 256, 0
- .string "BIVALVE$", 12
- pokedex_entry 3, 40, gShellderPokedexText, 675, 24, 256, 0
- .string "BIVALVE$", 12
- pokedex_entry 15, 1325, gCloysterPokedexText, 256, 0, 269, 1
- .string "GAS$", 12
- pokedex_entry 13, 1, gGastlyPokedexText, 256, 0, 256, 0
- .string "GAS$", 12
- pokedex_entry 16, 1, gHaunterPokedexText, 256, 2, 293, 2
- .string "SHADOW$", 12
- pokedex_entry 15, 405, gGengarPokedexText, 256, 2, 302, 2
- .string "ROCK SNAKE$", 12
- pokedex_entry 88, 2100, gOnixPokedexText, 256, 1, 515, 14
- .string "HYPNOSIS$", 12
- pokedex_entry 10, 324, gDrowzeePokedexText, 274, 6, 256, 0
- .string "HYPNOSIS$", 12
- pokedex_entry 16, 756, gHypnoPokedexText, 256, 3, 257, 0
- .string "RIVER CRAB$", 12
- pokedex_entry 4, 65, gKrabbyPokedexText, 469, 20, 256, 0
- .string "PINCER$", 12
- pokedex_entry 13, 600, gKinglerPokedexText, 256, 2, 256, 0
- .string "BALL$", 12
- pokedex_entry 5, 104, gVoltorbPokedexText, 364, -8, 256, 0
- .string "BALL$", 12
- pokedex_entry 12, 666, gElectrodePokedexText, 256, 0, 256, 0
- .string "EGG$", 12
- pokedex_entry 4, 25, gExeggcutePokedexText, 489, -4, 256, 0
- .string "COCONUT$", 12
- pokedex_entry 20, 1200, gExeggutorPokedexText, 256, 0, 309, 5
- .string "LONELY$", 12
- pokedex_entry 4, 65, gCubonePokedexText, 545, 21, 256, 0
- .string "BONE KEEPER$", 12
- pokedex_entry 10, 450, gMarowakPokedexText, 293, 12, 256, 0
- .string "KICKING$", 12
- pokedex_entry 15, 498, gHitmonleePokedexText, 256, 3, 259, 1
- .string "PUNCHING$", 12
- pokedex_entry 14, 502, gHitmonchanPokedexText, 256, 2, 277, 2
- .string "LICKING$", 12
- pokedex_entry 12, 655, gLickitungPokedexText, 256, 4, 256, 0
- .string "POISON GAS$", 12
- pokedex_entry 6, 10, gKoffingPokedexText, 369, -1, 256, 0
- .string "POISON GAS$", 12
- pokedex_entry 12, 95, gWeezingPokedexText, 305, 3, 256, 0
- .string "SPIKES$", 12
- pokedex_entry 10, 1150, gRhyhornPokedexText, 267, 6, 256, 0
- .string "DRILL$", 12
- pokedex_entry 19, 1200, gRhydonPokedexText, 256, 1, 299, 2
- .string "EGG$", 12
- pokedex_entry 11, 346, gChanseyPokedexText, 257, 7, 256, 0
- .string "VINE$", 12
- pokedex_entry 10, 350, gTangelaPokedexText, 304, 1, 256, 0
- .string "PARENT$", 12
- pokedex_entry 22, 800, gKangaskhanPokedexText, 256, 0, 387, 8
- .string "DRAGON$", 12
- pokedex_entry 4, 80, gHorseaPokedexText, 399, -1, 256, 0
- .string "DRAGON$", 12
- pokedex_entry 12, 250, gSeadraPokedexText, 299, 3, 256, 0
- .string "GOLDFISH$", 12
- pokedex_entry 6, 150, gGoldeenPokedexText, 379, 4, 256, 0
- .string "GOLDFISH$", 12
- pokedex_entry 13, 390, gSeakingPokedexText, 256, 3, 256, 0
- .string "STAR SHAPE$", 12
- pokedex_entry 8, 345, gStaryuPokedexText, 326, 1, 256, 0
- .string "MYSTERIOUS$", 12
- pokedex_entry 11, 800, gStarmiePokedexText, 301, 3, 256, 0
- .string "BARRIER$", 12
- pokedex_entry 13, 545, gMrmimePokedexText, 258, 6, 256, 0
- .string "MANTIS$", 12
- pokedex_entry 15, 560, gScytherPokedexText, 256, 1, 293, 2
- .string "HUMAN SHAPE$", 12
- pokedex_entry 14, 406, gJynxPokedexText, 256, 3, 300, 1
- .string "ELECTRIC$", 12
- pokedex_entry 11, 300, gElectabuzzPokedexText, 351, 8, 256, 0
- .string "SPITFIRE$", 12
- pokedex_entry 13, 445, gMagmarPokedexText, 277, 5, 256, 0
- .string "STAG BEETLE$", 12
- pokedex_entry 15, 550, gPinsirPokedexText, 256, 2, 257, 0
- .string "WILD BULL$", 12
- pokedex_entry 14, 884, gTaurosPokedexText, 256, 0, 256, 0
- .string "FISH$", 12
- pokedex_entry 9, 100, gMagikarpPokedexText, 310, 4, 256, 0
- .string "ATROCIOUS$", 12
- pokedex_entry 65, 2350, gGyaradosPokedexText, 256, 6, 481, 13
- .string "TRANSPORT$", 12
- pokedex_entry 25, 2200, gLaprasPokedexText, 257, 10, 423, 8
- .string "TRANSFORM$", 12
- pokedex_entry 3, 40, gDittoPokedexText, 633, 23, 256, 0
- .string "EVOLUTION$", 12
- pokedex_entry 3, 65, gEeveePokedexText, 476, 18, 256, 0
- .string "BUBBLE JET$", 12
- pokedex_entry 10, 290, gVaporeonPokedexText, 316, 8, 256, 0
- .string "LIGHTNING$", 12
- pokedex_entry 8, 245, gJolteonPokedexText, 283, 8, 256, 0
- .string "FLAME$", 12
- pokedex_entry 9, 250, gFlareonPokedexText, 306, 12, 256, 0
- .string "VIRTUAL$", 12
- pokedex_entry 8, 365, gPorygonPokedexText, 328, 15, 256, 0
- .string "SPIRAL$", 12
- pokedex_entry 4, 75, gOmanytePokedexText, 521, 22, 256, 0
- .string "SPIRAL$", 12
- pokedex_entry 10, 350, gOmastarPokedexText, 307, 7, 256, 0
- .string "SHELLFISH$", 12
- pokedex_entry 5, 115, gKabutoPokedexText, 454, 21, 256, 0
- .string "SHELLFISH$", 12
- pokedex_entry 13, 405, gKabutopsPokedexText, 271, 3, 256, 0
- .string "FOSSIL$", 12
- pokedex_entry 18, 590, gAerodactylPokedexText, 256, 0, 302, 4
- .string "SLEEPING$", 12
- pokedex_entry 21, 4600, gSnorlaxPokedexText, 256, 4, 423, 11
- .string "FREEZE$", 12
- pokedex_entry 17, 554, gArticunoPokedexText, 256, 0, 309, 2
- .string "ELECTRIC$", 12
- pokedex_entry 16, 526, gZapdosPokedexText, 256, 0, 318, 3
- .string "FLAME$", 12
- pokedex_entry 20, 600, gMoltresPokedexText, 270, 0, 387, 8
- .string "DRAGON$", 12
- pokedex_entry 18, 33, gDratiniPokedexText, 256, 8, 386, 6
- .string "DRAGON$", 12
- pokedex_entry 40, 165, gDragonairPokedexText, 256, 0, 411, 5
- .string "DRAGON$", 12
- pokedex_entry 22, 2100, gDragonitePokedexText, 256, 0, 309, 4
- .string "GENETIC$", 12
- pokedex_entry 20, 1220, gMewtwoPokedexText, 256, 0, 309, 4
- .string "NEW SPECIES$", 12
- pokedex_entry 4, 40, gMewPokedexText, 457, -2, 256, 0
- .string "LEAF$", 12
- pokedex_entry 9, 64, gChikoritaPokedexText, 512, 20, 256, 0
- .string "LEAF$", 12
- pokedex_entry 12, 158, gBayleefPokedexText, 296, 4, 256, 0
- .string "HERB$", 12
- pokedex_entry 18, 1005, gMeganiumPokedexText, 256, 0, 277, 1
- .string "FIRE MOUSE$", 12
- pokedex_entry 5, 79, gCyndaquilPokedexText, 539, 21, 256, 0
- .string "VOLCANO$", 12
- pokedex_entry 9, 190, gQuilavaPokedexText, 329, 11, 256, 0
- .string "VOLCANO$", 12
- pokedex_entry 17, 795, gTyphlosionPokedexText, 256, 0, 268, 1
- .string "BIG JAW$", 12
- pokedex_entry 6, 95, gTotodilePokedexText, 487, 20, 256, 0
- .string "BIG JAW$", 12
- pokedex_entry 11, 250, gCroconawPokedexText, 378, 13, 256, 0
- .string "BIG JAW$", 12
- pokedex_entry 23, 888, gFeraligatrPokedexText, 256, 0, 342, 7
- .string "SCOUT$", 12
- pokedex_entry 8, 60, gSentretPokedexText, 439, 12, 256, 0
- .string "LONG BODY$", 12
- pokedex_entry 18, 325, gFurretPokedexText, 346, 11, 256, 0
- .string "OWL$", 12
- pokedex_entry 7, 212, gHoothootPokedexText, 380, -2, 256, 0
- .string "OWL$", 12
- pokedex_entry 16, 408, gNoctowlPokedexText, 278, 3, 256, 0
- .string "FIVE STAR$", 12
- pokedex_entry 10, 108, gLedybaPokedexText, 256, 4, 256, 0
- .string "FIVE STAR$", 12
- pokedex_entry 14, 356, gLedianPokedexText, 256, 2, 256, 0
- .string "STRING SPIT$", 12
- pokedex_entry 5, 85, gSpinarakPokedexText, 414, 21, 256, 0
- .string "LONG LEG$", 12
- pokedex_entry 11, 335, gAriadosPokedexText, 316, 8, 256, 0
- .string "BAT$", 12
- pokedex_entry 18, 750, gCrobatPokedexText, 256, 0, 281, 1
- .string "ANGLER$", 12
- pokedex_entry 5, 120, gChinchouPokedexText, 424, -2, 256, 0
- .string "LIGHT$", 12
- pokedex_entry 12, 225, gLanturnPokedexText, 269, 6, 256, 0
- .string "TINY MOUSE$", 12
- pokedex_entry 3, 20, gPichuPokedexText, 508, 20, 256, 0
- .string "STAR SHAPE$", 12
- pokedex_entry 3, 30, gCleffaPokedexText, 462, 23, 256, 0
- .string "BALLOON$", 12
- pokedex_entry 3, 10, gIgglybuffPokedexText, 457, -1, 256, 0
- .string "SPIKE BALL$", 12
- pokedex_entry 3, 15, gTogepiPokedexText, 507, 23, 256, 0
- .string "HAPPINESS$", 12
- pokedex_entry 6, 32, gTogeticPokedexText, 424, 17, 256, 0
- .string "TINY BIRD$", 12
- pokedex_entry 2, 20, gNatuPokedexText, 610, 25, 256, 0
- .string "MYSTIC$", 12
- pokedex_entry 15, 150, gXatuPokedexText, 256, 6, 318, 4
- .string "WOOL$", 12
- pokedex_entry 6, 78, gMareepPokedexText, 379, 18, 256, 0
- .string "WOOL$", 12
- pokedex_entry 8, 133, gFlaaffyPokedexText, 372, 15, 256, 0
- .string "LIGHT$", 12
- pokedex_entry 14, 615, gAmpharosPokedexText, 256, 4, 256, 0
- .string "FLOWER$", 12
- pokedex_entry 4, 58, gBellossomPokedexText, 472, 21, 256, 0
- .string "AQUA MOUSE$", 12
- pokedex_entry 4, 85, gMarillPokedexText, 476, 20, 256, 0
- .string "AQUA RABBIT$", 12
- pokedex_entry 8, 285, gAzumarillPokedexText, 448, 16, 256, 0
- .string "IMITATION$", 12
- pokedex_entry 12, 380, gSudowoodoPokedexText, 305, 8, 256, 0
- .string "FROG$", 12
- pokedex_entry 11, 339, gPolitoedPokedexText, 289, 6, 256, 0
- .string "COTTONWEED$", 12
- pokedex_entry 4, 5, gHoppipPokedexText, 562, -7, 256, 0
- .string "COTTONWEED$", 12
- pokedex_entry 6, 10, gSkiploomPokedexText, 387, 0, 256, 0
- .string "COTTONWEED$", 12
- pokedex_entry 8, 30, gJumpluffPokedexText, 418, -4, 256, 0
- .string "LONG TAIL$", 12
- pokedex_entry 8, 115, gAipomPokedexText, 363, 6, 256, 0
- .string "SEED$", 12
- pokedex_entry 3, 18, gSunkernPokedexText, 541, 0, 256, 0
- .string "SUN$", 12
- pokedex_entry 8, 85, gSunfloraPokedexText, 444, 15, 256, 0
- .string "CLEAR WING$", 12
- pokedex_entry 12, 380, gYanmaPokedexText, 274, -1, 256, 0
- .string "WATER FISH$", 12
- pokedex_entry 4, 85, gWooperPokedexText, 479, 21, 256, 0
- .string "WATER FISH$", 12
- pokedex_entry 14, 750, gQuagsirePokedexText, 256, 4, 256, 0
- .string "SUN$", 12
- pokedex_entry 9, 265, gEspeonPokedexText, 363, 14, 256, 0
- .string "MOONLIGHT$", 12
- pokedex_entry 10, 270, gUmbreonPokedexText, 317, 11, 256, 0
- .string "DARKNESS$", 12
- pokedex_entry 5, 21, gMurkrowPokedexText, 401, -8, 256, 1
- .string "ROYAL$", 12
- pokedex_entry 20, 795, gSlowkingPokedexText, 256, 0, 309, 5
- .string "SCREECH$", 12
- pokedex_entry 7, 10, gMisdreavusPokedexText, 407, -8, 256, 0
- .string "SYMBOL$", 12
- pokedex_entry 5, 50, gUnownPokedexText, 411, 2, 256, 0
- .string "PATIENT$", 12
- pokedex_entry 13, 285, gWobbuffetPokedexText, 274, 4, 256, 0
- .string "LONG NECK$", 12
- pokedex_entry 15, 415, gGirafarigPokedexText, 281, 1, 256, 0
- .string "BAGWORM$", 12
- pokedex_entry 6, 72, gPinecoPokedexText, 445, 2, 256, 0
- .string "BAGWORM$", 12
- pokedex_entry 12, 1258, gForretressPokedexText, 293, 5, 256, 0
- .string "LAND SNAKE$", 12
- pokedex_entry 15, 140, gDunsparcePokedexText, 316, 17, 256, 0
- .string "FLYSCORPION$", 12
- pokedex_entry 11, 648, gGligarPokedexText, 350, -1, 256, 0
- .string "IRON SNAKE$", 12
- pokedex_entry 92, 4000, gSteelixPokedexText, 256, 0, 516, 13
- .string "FAIRY$", 12
- pokedex_entry 6, 78, gSnubbullPokedexText, 465, 19, 256, 0
- .string "FAIRY$", 12
- pokedex_entry 14, 487, gGranbullPokedexText, 256, 4, 256, 0
- .string "BALLOON$", 12
- pokedex_entry 5, 39, gQwilfishPokedexText, 430, 0, 256, 0
- .string "PINCER$", 12
- pokedex_entry 18, 1180, gScizorPokedexText, 278, 1, 256, 0
- .string "MOLD$", 12
- pokedex_entry 6, 205, gShucklePokedexText, 485, 18, 256, 0
- .string "SINGLE HORN$", 12
- pokedex_entry 15, 540, gHeracrossPokedexText, 256, 0, 256, 0
- .string "SHARP CLAW$", 12
- pokedex_entry 9, 280, gSneaselPokedexText, 413, -3, 256, 0
- .string "LITTLE BEAR$", 12
- pokedex_entry 6, 88, gTeddiursaPokedexText, 455, 19, 256, 0
- .string "HIBERNATOR$", 12
- pokedex_entry 18, 1258, gUrsaringPokedexText, 256, 0, 256, 0
- .string "LAVA$", 12
- pokedex_entry 7, 350, gSlugmaPokedexText, 329, 15, 256, 0
- .string "LAVA$", 12
- pokedex_entry 8, 550, gMagcargoPokedexText, 332, 15, 256, 0
- .string "PIG$", 12
- pokedex_entry 4, 65, gSwinubPokedexText, 324, 20, 256, 0
- .string "SWINE$", 12
- pokedex_entry 11, 558, gPiloswinePokedexText, 306, 10, 256, 0
- .string "CORAL$", 12
- pokedex_entry 6, 50, gCorsolaPokedexText, 410, 15, 256, 0
- .string "JET$", 12
- pokedex_entry 6, 120, gRemoraidPokedexText, 316, 4, 256, 0
- .string "JET$", 12
- pokedex_entry 9, 285, gOctilleryPokedexText, 296, 3, 256, 0
- .string "DELIVERY$", 12
- pokedex_entry 9, 160, gDelibirdPokedexText, 293, 11, 256, 0
- .string "KITE$", 12
- pokedex_entry 21, 2200, gMantinePokedexText, 256, 0, 342, 7
- .string "ARMOR BIRD$", 12
- pokedex_entry 17, 505, gSkarmoryPokedexText, 256, 0, 271, 1
- .string "DARK$", 12
- pokedex_entry 6, 108, gHoundourPokedexText, 393, 16, 256, 0
- .string "DARK$", 12
- pokedex_entry 14, 350, gHoundoomPokedexText, 256, 4, 256, 0
- .string "DRAGON$", 12
- pokedex_entry 18, 1520, gKingdraPokedexText, 256, 0, 287, 0
- .string "LONG NOSE$", 12
- pokedex_entry 5, 335, gPhanpyPokedexText, 465, 21, 256, 0
- .string "ARMOR$", 12
- pokedex_entry 11, 1200, gDonphanPokedexText, 313, 9, 256, 0
- .string "VIRTUAL$", 12
- pokedex_entry 6, 325, gPorygon2PokedexText, 320, 17, 256, 0
- .string "BIG HORN$", 12
- pokedex_entry 14, 712, gStantlerPokedexText, 256, 0, 256, 0
- .string "PAINTER$", 12
- pokedex_entry 12, 580, gSmearglePokedexText, 287, 5, 256, 0
- .string "SCUFFLE$", 12
- pokedex_entry 7, 210, gTyroguePokedexText, 292, 9, 256, 0
- .string "HANDSTAND$", 12
- pokedex_entry 14, 480, gHitmontopPokedexText, 256, 2, 257, 0
- .string "KISS$", 12
- pokedex_entry 4, 60, gSmoochumPokedexText, 440, 20, 256, 0
- .string "ELECTRIC$", 12
- pokedex_entry 6, 235, gElekidPokedexText, 363, 14, 256, 0
- .string "LIVE COAL$", 12
- pokedex_entry 7, 214, gMagbyPokedexText, 284, 13, 256, 0
- .string "MILK COW$", 12
- pokedex_entry 12, 755, gMiltankPokedexText, 280, 5, 256, 0
- .string "HAPPINESS$", 12
- pokedex_entry 15, 468, gBlisseyPokedexText, 256, 4, 310, 3
- .string "THUNDER$", 12
- pokedex_entry 19, 1780, gRaikouPokedexText, 256, 0, 345, 7
- .string "VOLCANO$", 12
- pokedex_entry 21, 1980, gEnteiPokedexText, 259, 0, 345, 7
- .string "AURORA$", 12
- pokedex_entry 20, 1870, gSuicunePokedexText, 269, 0, 345, 7
- .string "ROCK SKIN$", 12
- pokedex_entry 6, 720, gLarvitarPokedexText, 472, 18, 256, 0
- .string "HARD SHELL$", 12
- pokedex_entry 12, 1520, gPupitarPokedexText, 292, 8, 256, 0
- .string "ARMOR$", 12
- pokedex_entry 20, 2020, gTyranitarPokedexText, 256, 0, 345, 7
- .string "DIVING$", 12
- pokedex_entry 52, 2160, gLugiaPokedexText, 256, 0, 721, 19
- .string "RAINBOW$", 12
- pokedex_entry 38, 1990, gHoOhPokedexText, 256, 0, 610, 17
- .string "TIME TRAVEL$", 12
- pokedex_entry 6, 50, gCelebiPokedexText, 393, -10, 256, 0
- .string "WOOD GECKO$", 12
- pokedex_entry 5, 50, gTreeckoPokedexText, 541, 19, 256, 0
- .string "WOOD GECKO$", 12
- pokedex_entry 9, 216, gGrovylePokedexText, 360, 5, 256, 0
- .string "FOREST$", 12
- pokedex_entry 17, 522, gSceptilePokedexText, 256, -1, 275, 2
- .string "CHICK$", 12
- pokedex_entry 4, 25, gTorchicPokedexText, 566, 19, 256, 0
- .string "YOUNG FOWL$", 12
- pokedex_entry 9, 195, gCombuskenPokedexText, 343, 5, 256, 0
- .string "BLAZE$", 12
- pokedex_entry 19, 520, gBlazikenPokedexText, 256, 0, 301, 4
- .string "MUD FISH$", 12
- pokedex_entry 4, 76, gMudkipPokedexText, 535, 20, 256, 0
- .string "MUD FISH$", 12
- pokedex_entry 7, 280, gMarshtompPokedexText, 340, 7, 256, 0
- .string "MUD FISH$", 12
- pokedex_entry 15, 819, gSwampertPokedexText, 256, 0, 256, 0
- .string "BITE$", 12
- pokedex_entry 5, 136, gPoochyenaPokedexText, 481, 19, 256, 0
- .string "BITE$", 12
- pokedex_entry 10, 370, gMightyenaPokedexText, 362, 9, 256, 0
- .string "TINYRACCOON$", 12
- pokedex_entry 4, 175, gZigzagoonPokedexText, 560, 22, 256, 0
- .string "RUSHING$", 12
- pokedex_entry 5, 325, gLinoonePokedexText, 321, 7, 256, 0
- .string "WORM$", 12
- pokedex_entry 3, 36, gWurmplePokedexText, 711, 24, 256, 0
- .string "COCOON$", 12
- pokedex_entry 6, 100, gSilcoonPokedexText, 431, 19, 256, 0
- .string "BUTTERFLY$", 12
- pokedex_entry 10, 284, gBeautiflyPokedexText, 298, -1, 256, 0
- .string "COCOON$", 12
- pokedex_entry 7, 115, gCascoonPokedexText, 391, 20, 256, 0
- .string "POISON MOTH$", 12
- pokedex_entry 12, 316, gDustoxPokedexText, 269, 1, 256, 0
- .string "WATER WEED$", 12
- pokedex_entry 5, 26, gLotadPokedexText, 406, 19, 256, 0
- .string "JOLLY$", 12
- pokedex_entry 12, 325, gLombrePokedexText, 277, 9, 256, 0
- .string "CAREFREE$", 12
- pokedex_entry 15, 550, gLudicoloPokedexText, 256, 0, 268, -1
- .string "ACORN$", 12
- pokedex_entry 5, 40, gSeedotPokedexText, 472, 20, 256, 0
- .string "WILY$", 12
- pokedex_entry 10, 280, gNuzleafPokedexText, 299, 10, 256, 0
- .string "WICKED$", 12
- pokedex_entry 13, 596, gShiftryPokedexText, 290, 4, 256, 0
- .string "TINYSWALLOW$", 12
- pokedex_entry 3, 23, gTaillowPokedexText, 465, 21, 256, 0
- .string "SWALLOW$", 12
- pokedex_entry 7, 198, gSwellowPokedexText, 428, 15, 256, 0
- .string "SEAGULL$", 12
- pokedex_entry 6, 95, gWingullPokedexText, 295, -2, 256, 0
- .string "WATER BIRD$", 12
- pokedex_entry 12, 280, gPelipperPokedexText, 288, 1, 256, 0
- .string "FEELING$", 12
- pokedex_entry 4, 66, gRaltsPokedexText, 457, -3, 256, 0
- .string "EMOTION$", 12
- pokedex_entry 8, 202, gKirliaPokedexText, 354, 0, 256, 0
- .string "EMBRACE$", 12
- pokedex_entry 16, 484, gGardevoirPokedexText, 256, 0, 256, 0
- .string "POND SKATER$", 12
- pokedex_entry 5, 17, gSurskitPokedexText, 375, 17, 256, 0
- .string "EYEBALL$", 12
- pokedex_entry 8, 36, gMasquerainPokedexText, 378, 8, 256, 0
- .string "MUSHROOM$", 12
- pokedex_entry 4, 45, gShroomishPokedexText, 513, 22, 256, 0
- .string "MUSHROOM$", 12
- pokedex_entry 12, 392, gBreloomPokedexText, 324, 6, 256, 0
- .string "SLACKER$", 12
- pokedex_entry 8, 240, gSlakothPokedexText, 291, 16, 256, 0
- .string "WILD MONKEY$", 12
- pokedex_entry 14, 465, gVigorothPokedexText, 301, 2, 256, 0
- .string "LAZY$", 12
- pokedex_entry 20, 1305, gSlakingPokedexText, 256, 2, 300, 1
- .string "TRAINEE$", 12
- pokedex_entry 5, 55, gNincadaPokedexText, 405, 21, 256, 0
- .string "NINJA$", 12
- pokedex_entry 8, 120, gNinjaskPokedexText, 383, -9, 256, 0
- .string "SHED$", 12
- pokedex_entry 8, 12, gShedinjaPokedexText, 372, -8, 256, 0
- .string "WHISPER$", 12
- pokedex_entry 6, 163, gWhismurPokedexText, 373, 17, 256, 0
- .string "BIG VOICE$", 12
- pokedex_entry 10, 405, gLoudredPokedexText, 356, 10, 256, 0
- .string "LOUD NOISE$", 12
- pokedex_entry 15, 840, gExploudPokedexText, 284, 1, 256, 0
- .string "GUTS$", 12
- pokedex_entry 10, 864, gMakuhitaPokedexText, 256, 10, 256, 0
- .string "ARM THRUST$", 12
- pokedex_entry 23, 2538, gHariyamaPokedexText, 256, 0, 343, 7
- .string "POLKA DOT$", 12
- pokedex_entry 2, 20, gAzurillPokedexText, 603, 23, 256, 0
- .string "COMPASS$", 12
- pokedex_entry 10, 970, gNosepassPokedexText, 256, 9, 289, 3
- .string "KITTEN$", 12
- pokedex_entry 6, 110, gSkittyPokedexText, 492, 19, 256, 0
- .string "PRIM$", 12
- pokedex_entry 11, 326, gDelcattyPokedexText, 322, 10, 256, 0
- .string "DARKNESS$", 12
- pokedex_entry 5, 110, gSableyePokedexText, 451, 17, 256, 0
- .string "DECEIVER$", 12
- pokedex_entry 6, 115, gMawilePokedexText, 466, 17, 256, 0
- .string "IRON ARMOR$", 12
- pokedex_entry 4, 600, gAronPokedexText, 419, 23, 256, 0
- .string "IRON ARMOR$", 12
- pokedex_entry 9, 1200, gLaironPokedexText, 275, 12, 256, 0
- .string "IRON ARMOR$", 12
- pokedex_entry 21, 3600, gAggronPokedexText, 256, -1, 350, 6
- .string "MEDITATE$", 12
- pokedex_entry 6, 112, gMedititePokedexText, 465, 17, 256, 0
- .string "MEDITATE$", 12
- pokedex_entry 13, 315, gMedichamPokedexText, 298, 5, 256, 0
- .string "LIGHTNING$", 12
- pokedex_entry 6, 152, gElectrikePokedexText, 290, 15, 256, 0
- .string "DISCHARGE$", 12
- pokedex_entry 15, 402, gManectricPokedexText, 256, 3, 257, 0
- .string "CHEERING$", 12
- pokedex_entry 4, 42, gPluslePokedexText, 515, -9, 256, 0
- .string "CHEERING$", 12
- pokedex_entry 4, 42, gMinunPokedexText, 512, -7, 256, 0
- .string "FIREFLY$", 12
- pokedex_entry 7, 177, gVolbeatPokedexText, 442, 16, 256, 0
- .string "FIREFLY$", 12
- pokedex_entry 6, 177, gIllumisePokedexText, 572, 19, 256, 0
- .string "THORN$", 12
- pokedex_entry 3, 20, gRoseliaPokedexText, 677, 20, 256, 0
- .string "STOMACH$", 12
- pokedex_entry 4, 103, gGulpinPokedexText, 593, 23, 256, 0
- .string "POISON BAG$", 12
- pokedex_entry 17, 800, gSwalotPokedexText, 256, 6, 345, 3
- .string "SAVAGE$", 12
- pokedex_entry 8, 208, gCarvanhaPokedexText, 362, 0, 256, 0
- .string "BRUTAL$", 12
- pokedex_entry 18, 888, gSharpedoPokedexText, 256, 0, 317, 3
- .string "BALL WHALE$", 12
- pokedex_entry 20, 1300, gWailmerPokedexText, 256, 2, 493, 0
- .string "FLOAT WHALE$", 12
- pokedex_entry 145, 3980, gWailordPokedexText, 256, 0, 1352, 18
- .string "NUMB$", 12
- pokedex_entry 7, 240, gNumelPokedexText, 342, 17, 256, 0
- .string "ERUPTION$", 12
- pokedex_entry 19, 2200, gCameruptPokedexText, 256, 7, 345, 6
- .string "COAL$", 12
- pokedex_entry 5, 804, gTorkoalPokedexText, 390, 9, 256, 0
- .string "BOUNCE$", 12
- pokedex_entry 7, 306, gSpoinkPokedexText, 423, 17, 256, 0
- .string "MANIPULATE$", 12
- pokedex_entry 9, 715, gGrumpigPokedexText, 358, 10, 256, 0
- .string "SPOT PANDA$", 12
- pokedex_entry 11, 50, gSpindaPokedexText, 321, 4, 256, 0
- .string "ANT PIT$", 12
- pokedex_entry 7, 150, gTrapinchPokedexText, 298, 17, 256, 0
- .string "VIBRATION$", 12
- pokedex_entry 11, 153, gVibravaPokedexText, 370, 11, 256, 0
- .string "MYSTIC$", 12
- pokedex_entry 20, 820, gFlygonPokedexText, 256, 0, 268, 1
- .string "CACTUS$", 12
- pokedex_entry 4, 513, gCacneaPokedexText, 455, 20, 256, 0
- .string "SCARECROW$", 12
- pokedex_entry 13, 774, gCacturnePokedexText, 327, 5, 256, 0
- .string "COTTON BIRD$", 12
- pokedex_entry 4, 12, gSwabluPokedexText, 422, -8, 256, 0
- .string "HUMMING$", 12
- pokedex_entry 11, 206, gAltariaPokedexText, 327, 0, 256, 0
- .string "CAT FERRET$", 12
- pokedex_entry 13, 403, gZangoosePokedexText, 256, 3, 256, 0
- .string "FANG SNAKE$", 12
- pokedex_entry 27, 525, gSeviperPokedexText, 275, 7, 256, 0
- .string "METEORITE$", 12
- pokedex_entry 10, 1680, gLunatonePokedexText, 300, 3, 256, 0
- .string "METEORITE$", 12
- pokedex_entry 12, 1540, gSolrockPokedexText, 328, 0, 256, 0
- .string "WHISKERS$", 12
- pokedex_entry 4, 19, gBarboachPokedexText, 581, -3, 256, 0
- .string "WHISKERS$", 12
- pokedex_entry 9, 236, gWhiscashPokedexText, 317, 1, 256, 0
- .string "RUFFIAN$", 12
- pokedex_entry 6, 115, gCorphishPokedexText, 484, 19, 256, 0
- .string "ROGUE$", 12
- pokedex_entry 11, 328, gCrawdauntPokedexText, 365, 9, 256, 0
- .string "CLAY DOLL$", 12
- pokedex_entry 5, 215, gBaltoyPokedexText, 457, 21, 256, 0
- .string "CLAY DOLL$", 12
- pokedex_entry 15, 1080, gClaydolPokedexText, 256, 3, 280, 1
- .string "SEA LILY$", 12
- pokedex_entry 10, 238, gLileepPokedexText, 305, 8, 256, 0
- .string "BARNACLE$", 12
- pokedex_entry 15, 604, gCradilyPokedexText, 267, 0, 256, 0
- .string "OLD SHRIMP$", 12
- pokedex_entry 7, 125, gAnorithPokedexText, 296, 4, 256, 0
- .string "PLATE$", 12
- pokedex_entry 15, 682, gArmaldoPokedexText, 312, 3, 271, 0
- .string "FISH$", 12
- pokedex_entry 6, 74, gFeebasPokedexText, 423, -4, 256, 0
- .string "TENDER$", 12
- pokedex_entry 62, 1620, gMiloticPokedexText, 256, 0, 360, 7
- .string "WEATHER$", 12
- pokedex_entry 3, 8, gCastformPokedexText, 435, -5, 256, 0
- .string "COLOR SWAP$", 12
- pokedex_entry 10, 220, gKecleonPokedexText, 316, 10, 256, 0
- .string "PUPPET$", 12
- pokedex_entry 6, 23, gShuppetPokedexText, 440, 20, 256, 0
- .string "MARIONETTE$", 12
- pokedex_entry 11, 125, gBanettePokedexText, 262, 9, 256, 0
- .string "REQUIEM$", 12
- pokedex_entry 8, 150, gDuskullPokedexText, 406, -4, 256, 0
- .string "BECKON$", 12
- pokedex_entry 16, 306, gDusclopsPokedexText, 256, 3, 299, 1
- .string "FRUIT$", 12
- pokedex_entry 20, 1000, gTropiusPokedexText, 256, 0, 344, 7
- .string "WIND CHIME$", 12
- pokedex_entry 6, 10, gChimechoPokedexText, 505, 0, 256, 0
- .string "DISASTER$", 12
- pokedex_entry 12, 470, gAbsolPokedexText, 301, 3, 256, 0
- .string "BRIGHT$", 12
- pokedex_entry 6, 140, gWynautPokedexText, 484, 19, 256, 0
- .string "SNOW HAT$", 12
- pokedex_entry 7, 168, gSnoruntPokedexText, 380, 15, 256, 0
- .string "FACE$", 12
- pokedex_entry 15, 2565, gGlaliePokedexText, 256, 3, 344, 0
- .string "CLAP$", 12
- pokedex_entry 8, 395, gSphealPokedexText, 315, 16, 256, 0
- .string "BALL ROLL$", 12
- pokedex_entry 11, 876, gSealeoPokedexText, 338, 13, 256, 0
- .string "ICE BREAK$", 12
- pokedex_entry 14, 1506, gWalreinPokedexText, 316, 4, 256, 0
- .string "BIVALVE$", 12
- pokedex_entry 4, 525, gClamperlPokedexText, 691, 22, 256, 0
- .string "DEEP SEA$", 12
- pokedex_entry 17, 270, gHuntailPokedexText, 307, 1, 256, 0
- .string "SOUTH SEA$", 12
- pokedex_entry 18, 226, gGorebyssPokedexText, 278, 5, 256, 0
- .string "LONGEVITY$", 12
- pokedex_entry 10, 234, gRelicanthPokedexText, 316, 7, 256, 0
- .string "RENDEZVOUS$", 12
- pokedex_entry 6, 87, gLuvdiscPokedexText, 371, 2, 256, 0
- .string "ROCK HEAD$", 12
- pokedex_entry 6, 421, gBagonPokedexText, 448, 18, 256, 0
- .string "ENDURANCE$", 12
- pokedex_entry 11, 1105, gShelgonPokedexText, 311, 12, 256, 0
- .string "DRAGON$", 12
- pokedex_entry 15, 1026, gSalamencePokedexText, 256, 0, 256, 0
- .string "IRON BALL$", 12
- pokedex_entry 6, 952, gBeldumPokedexText, 414, -1, 256, 0
- .string "IRON CLAW$", 12
- pokedex_entry 12, 2025, gMetangPokedexText, 256, 6, 256, 0
- .string "IRON LEG$", 12
- pokedex_entry 16, 5500, gMetagrossPokedexText, 256, 4, 447, 9
- .string "ROCK PEAK$", 12
- pokedex_entry 17, 2300, gRegirockPokedexText, 256, 2, 309, 1
- .string "ICEBERG$", 12
- pokedex_entry 18, 1750, gRegicePokedexText, 256, 0, 301, 2
- .string "IRON$", 12
- pokedex_entry 19, 2050, gRegisteelPokedexText, 256, 0, 359, 6
- .string "EON$", 12
- pokedex_entry 14, 400, gLatiasPokedexText, 304, 3, 256, 0
- .string "EON$", 12
- pokedex_entry 20, 600, gLatiosPokedexText, 256, 0, 294, 3
- .string "SEA BASIN$", 12
- pokedex_entry 45, 3520, gKyogrePokedexText, 256, 0, 614, 13
- .string "CONTINENT$", 12
- pokedex_entry 35, 9500, gGroudonPokedexText, 256, 0, 515, 14
- .string "SKY HIGH$", 12
- pokedex_entry 70, 2065, gRayquazaPokedexText, 256, 0, 448, 12
- .string "WISH$", 12
- pokedex_entry 3, 11, gJirachiPokedexText, 608, -8, 256, 0
- .string "DNA$", 12
- pokedex_entry 17, 608, gDeoxysPokedexText, 256, 0, 290, 2
diff --git a/data/script_menu.s b/data/script_menu.s
deleted file mode 100644
index dbfb05621..000000000
--- a/data/script_menu.s
+++ /dev/null
@@ -1,780 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gUnknown_0858ABD8:: @ 858ABD8
- .4byte gUnknown_085EAD37, 0
- .4byte gUnknown_085EAD41, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858ABF0:: @ 58ABF0
- .4byte gUnknown_085EAD67, 0
- .4byte gUnknown_085EAD6D, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC08:: @ 58AC08
- .4byte gUnknown_085EAD72, 0
- .4byte gUnknown_085EAD84, 0
- .4byte gUnknown_085EAD96, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858AC28:: @ 58AC28
- .4byte gUnknown_085EADA4, 0
- .4byte gUnknown_085EADB5, 0
- .4byte gUnknown_085EADC4, 0
- .4byte gUnknown_085EADD5, 0
- .4byte gUnknown_085EADE7, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC58:: @ 58AC58
- .4byte gUnknown_085EADF9, 0
- .4byte gUnknown_085EAE04, 0
- .4byte gUnknown_085EAE12, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC78:: @ 58AC78
- .4byte gUnknown_085EADF9, 0
- .4byte gUnknown_085EAE04, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AC90:: @ 58AC90
- .4byte gMenuText_Register, 0
- .4byte gUnknown_085EAE12, 0
- .4byte gUnknown_085EAE1B, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858ACB0:: @ 58ACB0
- .4byte gUnknown_085EAE27, 0
- .4byte gUnknown_085EAE2C, 0
-
-gUnknown_0858ACC0:: @ 58ACC0
- .4byte gUnknown_085EAE31, 0
- .4byte gUnknown_085EAE35, 0
- .4byte gUnknown_085EAE39, 0
- .4byte gUnknown_085EAE3D, 0
- .4byte gUnknown_085EAE41, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858ACF0:: @ 58ACF0
- .4byte gUnknown_085EAD5F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AD00:: @ 58AD00
- .4byte gUnknown_085EAE53, 0
- .4byte gUnknown_085EAE5A, 0
-
-gUnknown_0858AD10:: @ 58AD10
- .4byte gText_Yes, 0
- .4byte gText_No, 0
- .4byte gUnknown_085EAD6D, 0
-
-gUnknown_0858AD28:: @ 58AD28
- .4byte gUnknown_085EAEA2, 0
- .4byte gUnknown_085EAEAC, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AD40:: @ 58AD40
- .4byte gText_Lv50, 0
- .4byte gText_OpenLevel, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AD58:: @ 58AD58
- .4byte gUnknown_0827ECBC, 0
- .4byte gUnknown_0827ECC3, 0
- .4byte gUnknown_0827ECCD, 0
-
-gUnknown_0858AD70:: @ 58AD70
- .4byte gUnknown_0827ECD5, 0
- .4byte gUnknown_0827ECDD, 0
- .4byte gUnknown_0827ECE3, 0
-
-gUnknown_0858AD88:: @ 58AD88
- .4byte gUnknown_0827ECEB, 0
- .4byte gUnknown_0827ECF2, 0
- .4byte gUnknown_0827ECF8, 0
-
-gUnknown_0858ADA0:: @ 58ADA0
- .4byte gUnknown_0827ED00, 0
- .4byte gUnknown_0827ED06, 0
- .4byte gUnknown_0827ED10, 0
-
-gUnknown_0858ADB8:: @ 58ADB8
- .4byte gUnknown_0827ED18, 0
- .4byte gUnknown_0827ED22, 0
- .4byte gUnknown_0827ED2C, 0
-
-gUnknown_0858ADD0:: @ 58ADD0
- .4byte gUnknown_0827ED36, 0
- .4byte gUnknown_0827ED40, 0
- .4byte gUnknown_0827ED46, 0
-
-gUnknown_0858ADE8:: @ 58ADE8
- .4byte gUnknown_0827ED4F, 0
- .4byte gUnknown_0827ED59, 0
- .4byte gUnknown_0827ED65, 0
-
-gUnknown_0858AE00:: @ 58AE00
- .4byte gUnknown_0827ED70, 0
- .4byte gUnknown_0827ED74, 0
- .4byte gUnknown_0827ED78, 0
-
-gUnknown_0858AE18:: @ 58AE18
- .4byte gUnknown_0827ED80, 0
- .4byte gUnknown_0827ED95, 0
- .4byte gUnknown_0827EDAA, 0
-
-gUnknown_0858AE30:: @ 58AE30
- .4byte gUnknown_0827EDB5, 0
- .4byte gUnknown_0827EDBA, 0
- .4byte gUnknown_0827EDC1, 0
-
-gUnknown_0858AE48:: @ 58AE48
- .4byte gUnknown_0827EDC9, 0
- .4byte gUnknown_0827EDD5, 0
- .4byte gUnknown_0827EDE4, 0
-
-gUnknown_0858AE60:: @ 58AE60
- .4byte gUnknown_0827EDF0, 0
- .4byte gUnknown_0827EDF5, 0
- .4byte gUnknown_0827EDF7, 0
-
-gUnknown_0858AE78:: @ 58AE78
- .4byte gUnknown_0827EDF9, 0
- .4byte gUnknown_0827EDFB, 0
- .4byte gUnknown_0827EDFD, 0
-
-gUnknown_0858AE90:: @ 58AE90
- .4byte gUnknown_0827EDFF, 0
- .4byte gUnknown_0827EE01, 0
- .4byte gUnknown_0827EE03, 0
-
-gUnknown_0858AEA8:: @ 58AEA8
- .4byte gUnknown_0827EE05, 0
- .4byte gUnknown_0827EE07, 0
- .4byte gUnknown_0827EE09, 0
-
-gUnknown_0858AEC0:: @ 58AEC0
- .4byte gUnknown_085EAEC3, 0
- .4byte gUnknown_085EAED6, 0
- .4byte gUnknown_085EAEE6, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AEE0:: @ 58AEE0
- .4byte gUnknown_085EAEF6, 0
- .4byte gUnknown_085EAF02, 0
- .4byte gUnknown_085EAF0E, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AF00:: @ 58AF00
- .4byte gUnknown_085EAF1B, 0
- .4byte gUnknown_085EAF24, 0
- .4byte gUnknown_085EAF2F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AF20:: @ 58AF20
- .4byte gUnknown_085EAF34, 0
- .4byte gUnknown_085EAF3E, 0
-
-gUnknown_0858AF30:: @ 58AF30
- .4byte gUnknown_085EAF4B, 0
- .4byte gUnknown_085EAF58, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AF48:: @ 58AF48
- .4byte gUnknown_085EAF65, 0
- .4byte gUnknown_085EAF70, 0
- .4byte gUnknown_085EAF7D, 0
- .4byte gUnknown_085EAF87, 0
- .4byte gUnknown_085EAF93, 0
- .4byte gUnknown_085EAF9F, 0
- .4byte gUnknown_085EAFAB, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858AF88:: @ 58AF88
- .4byte gUnknown_085EAFB6, 0
- .4byte gUnknown_085EAFCF, 0
- .4byte gUnknown_085EAFE8, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AFA8:: @ 58AFA8
- .4byte gUnknown_085EB089, 0
- .4byte gUnknown_085EB09C, 0
- .4byte gUnknown_085EB0AF, 0
- .4byte gUnknown_085EB0C2, 0
- .4byte gUnknown_085EB0D5, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AFD8:: @ 58AFD8
- .4byte gUnknown_085EB002, 0
- .4byte gUnknown_085EB017, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858AFF0:: @ 58AFF0
- .4byte gUnknown_085EB02A, 0
- .4byte gUnknown_085EB034, 0
-
-gUnknown_0858B000:: @ 58B000
- .4byte gText_LilycoveCity, 0
- .4byte gText_BattleFrontier, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B018:: @ 58B018
- .4byte gText_SlateportCity, 0
- .4byte gText_LilycoveCity, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B030:: @ 58B030
- .4byte gUnknown_085EB07E, 0
- .4byte gUnknown_085EB084, 0
-
-gUnknown_0858B040:: @ 58B040
- .4byte gText_LilycoveCity, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B050:: @ 58B050
- .4byte gText_5F, 0
- .4byte gText_4F, 0
- .4byte gText_3F, 0
- .4byte gText_2F, 0
- .4byte gText_1F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B080:: @ 58B080
- .4byte gUnknown_085EB040, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B090:: @ 58B090
- .4byte gUnknown_085EB04A, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0A0:: @ 58B0A0
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0B8:: @ 58B0B8
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0C8:: @ 58B0C8
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0E0:: @ 58B0E0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B0F8:: @ 58B0F8
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B118:: @ 58B118
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B128:: @ 58B128
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B140:: @ 58B140
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B158:: @ 58B158
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B178:: @ 58B178
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B190:: @ 58B190
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B1B0:: @ 58B1B0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B1D0:: @ 58B1D0
- .4byte gUnknown_085EB040, 0
- .4byte gUnknown_085EB04A, 0
- .4byte gUnknown_085EB057, 0
- .4byte gUnknown_085EB062, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B1F8:: @ 58B1F8
- .4byte gText_Opponent, 0
- .4byte gText_Tourney_Tree, 0
- .4byte gText_ReadyToStart, 0
- .4byte gUnknown_085EB5BC, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B228:: @ 58B228
- .4byte gText_Opponent, 0
- .4byte gText_Tourney_Tree, 0
- .4byte gText_ReadyToStart, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B250:: @ 58B250
- .4byte gUnknown_085EB29A, 0
- .4byte gUnknown_085EB2A3, 0
-
-gUnknown_0858B260:: @ 58B260
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gUnknown_085EB389, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B280:: @ 58B280
- .4byte gText_Yes, 0
- .4byte gText_No, 0
- .4byte gUnknown_085EAD6D, 0
-
-gUnknown_0858B298:: @ 58B298
- .4byte gUnknown_085EAE6E, 0
- .4byte gUnknown_085EAE7C, 0
- .4byte gUnknown_085EAE8A, 0
- .4byte gUnknown_085EAD6D, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B2C0:: @ 58B2C0
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gUnknown_085EB397, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B2E0:: @ 58B2E0
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gUnknown_085EB389, 0
- .4byte gUnknown_085EB397, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B308:: @ 58B308
- .4byte gUnknown_085EB372, 0
- .4byte gUnknown_085EB37F, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B320:: @ 58B320
- .4byte gUnknown_085EB3A4, 0
- .4byte gUnknown_085EB3B1, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B338:: @ 58B338
- .4byte gUnknown_085EB3D4, 0
- .4byte gUnknown_085EB3C6, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B350:: @ 58B350
- .4byte gText_NormalRank, 0
- .4byte gText_SuperRank, 0
- .4byte gText_HyperRank, 0
- .4byte gText_MasterRank, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B378:: @ 58B378
- .4byte gText_BattleBag, 0
- .4byte gText_HeldItem, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B390:: @ 58B390
- .4byte gText_LinkContest, 0
- .4byte gText_AboutE_Mode, 0
- .4byte gText_AboutG_Mode, 0
- .4byte gText_Cancel2, 0
-
-gUnknown_0858B3B0:: @ 58B3B0
- .4byte gText_E_Mode, 0
- .4byte gText_G_Mode, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B3C8:: @ 58B3C8
- .4byte gText_MenuOptionPokedex, 0
- .4byte gText_MenuOptionPokemon, 0
- .4byte gText_MenuOptionBag, 0
- .4byte gText_MenuOptionPokenav, 0
- .4byte gUnknown_085EB278, 0
- .4byte gText_MenuOptionSave, 0
- .4byte gText_MenuOptionOption, 0
- .4byte gText_MenuOptionExit, 0
-
-gUnknown_0858B408:: @ 58B408
- .4byte gUnknown_085EB28A, 0
- .4byte gUnknown_085EB290, 0
- .4byte gUnknown_085EB295, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B428:: @ 58B428
- .4byte gText_SouthernIsland, 0
- .4byte gText_BirthIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B440:: @ 58B440
- .4byte gText_SouthernIsland, 0
- .4byte gText_FarawayIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B458:: @ 58B458
- .4byte gText_BirthIsland, 0
- .4byte gText_FarawayIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B470:: @ 58B470
- .4byte gText_SouthernIsland, 0
- .4byte gText_BirthIsland, 0
- .4byte gText_FarawayIsland, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B490:: @ 58B490
- .4byte gUnknown_085EB2E4, 0
- .4byte gUnknown_085EB2F0, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B4A8:: @ 58B4A8
- .4byte gText_Yes, 0
- .4byte gUnknown_085EB2FC, 0
-
-gUnknown_0858B4B8:: @ 58B4B8
- .4byte gUnknown_085EB3DF, 0
- .4byte gUnknown_085EB3EA, 0
- .4byte gUnknown_085EB3F1, 0
- .4byte gUnknown_085EB3FC, 0
- .4byte gUnknown_085EB40A, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B4E8:: @ 58B4E8
- .4byte gUnknown_085EB415, 0
- .4byte gUnknown_085EB41D, 0
- .4byte gUnknown_085EB424, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B508:: @ 58B508
- .4byte gUnknown_085EB45C, 0
- .4byte gUnknown_085EB469, 0
- .4byte gUnknown_085EB475, 0
- .4byte gUnknown_085EB482, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B530:: @ 58B530
- .4byte gUnknown_085EB42F, 0
- .4byte gUnknown_085EB43A, 0
- .4byte gUnknown_085EB444, 0
- .4byte gUnknown_085EB451, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B558:: @ 58B558
- .4byte gUnknown_085EB48E, 0
- .4byte gUnknown_085EB496, 0
- .4byte gUnknown_085EB4A3, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B578:: @ 58B578
- .4byte gUnknown_085EB4AD, 0
- .4byte gUnknown_085EB4B9, 0
- .4byte gUnknown_085EB4C7, 0
- .4byte gUnknown_085EB4D4, 0
- .4byte gUnknown_085EB4E0, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B5A8:: @ 58B5A8
- .4byte gText_BattleBasics, 0
- .4byte gText_PokemonNature, 0
- .4byte gText_PokemonMoves, 0
- .4byte gText_Underpowered, 0
- .4byte gText_WhenInDanger, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B5D8:: @ 58B5D8
- .4byte gUnknown_085EB532, 0
- .4byte gUnknown_085EB543, 0
- .4byte gUnknown_085EB555, 0
- .4byte gUnknown_085EB563, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B600:: @ 58B600
- .4byte gUnknown_085EB56E, 0
- .4byte gUnknown_085EB57E, 0
- .4byte gUnknown_085EB589, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B620:: @ 58B620
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5BC, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B640:: @ 58B640
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5C3, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B658:: @ 58B658
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5BC, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B670:: @ 58B670
- .4byte gUnknown_085EB5B6, 0
- .4byte gUnknown_085EB5C8, 0
-
-gUnknown_0858B680:: @ 58B680
- .4byte gUnknown_085EE14B, 0
- .4byte gUnknown_085EE14F, 0
-
-gUnknown_0858B690:: @ 58B690
- .4byte gUnknown_085EB2FF, 0
- .4byte gUnknown_085EB310, 0
- .4byte gUnknown_085EB317, 0
- .4byte gUnknown_085EB31F, 0
-
-gUnknown_0858B6B0:: @ 58B6B0
- .4byte gText_CaveOfOrigin, 0
- .4byte gText_MtPyre, 0
- .4byte gText_SkyPillar, 0
- .4byte gText_DontRemember, 0
-
-gUnknown_0858B6D0:: @ 58B6D0
- .4byte gUnknown_085EB4AD, 0
- .4byte gUnknown_085EB4B9, 0
- .4byte gUnknown_085EB4C7, 0
- .4byte gUnknown_085EB4D4, 0
- .4byte gUnknown_085EB597, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B700:: @ 58B700
- .4byte gText_BattleTrainers, 0
- .4byte gUnknown_085EB45C, 0
- .4byte gUnknown_085EB469, 0
- .4byte gUnknown_085EB475, 0
- .4byte gUnknown_085EB482, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B730:: @ 58B730
- .4byte gUnknown_085EB32D, 0
- .4byte gUnknown_085EB33E, 0
- .4byte gUnknown_085EB350, 0
- .4byte gUnknown_085EB361, 0
- .4byte gText_Exit, 0
-
-gUnknown_0858B758:: @ 58B758
- .4byte gText_Exit, 0
-
-
-gUnknown_0858B760:: @ 858B760
- .4byte gUnknown_0858ABD8, 3
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858ABF0, 3
- .4byte gUnknown_0858AC08, 4
- .4byte gUnknown_0858AC28, 6
- .4byte gUnknown_0858AC78, 3
- .4byte gUnknown_0858AC58, 4
- .4byte gUnknown_0858AC90, 4
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B4E8, 4
- .4byte gUnknown_0858ACB0, 2
- .4byte gUnknown_0858ACC0, 6
- .4byte gUnknown_0858ACF0, 2
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AD00, 2
- .4byte gUnknown_0858B280, 3
- .4byte gUnknown_0858B298, 5
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AD10, 3
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AD28, 3
- .4byte gUnknown_0858AD40, 3
- .4byte gUnknown_0858AD58, 3
- .4byte gUnknown_0858AD70, 3
- .4byte gUnknown_0858AD88, 3
- .4byte gUnknown_0858ADA0, 3
- .4byte gUnknown_0858ADB8, 3
- .4byte gUnknown_0858ADD0, 3
- .4byte gUnknown_0858ADE8, 3
- .4byte gUnknown_0858AE00, 3
- .4byte gUnknown_0858AE18, 3
- .4byte gUnknown_0858AE30, 3
- .4byte gUnknown_0858AE48, 3
- .4byte gUnknown_0858AE60, 3
- .4byte gUnknown_0858AE78, 3
- .4byte gUnknown_0858AE90, 3
- .4byte gUnknown_0858AEA8, 3
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858AEC0, 4
- .4byte gUnknown_0858AEE0, 4
- .4byte gUnknown_0858AF00, 4
- .4byte gUnknown_0858AF20, 2
- .4byte gUnknown_0858AF30, 3
- .4byte gUnknown_0858AF48, 8
- .4byte gUnknown_0858AF88, 4
- .4byte gUnknown_0858AFD8, 3
- .4byte gUnknown_0858AFF0, 2
- .4byte gUnknown_0858B758, 1
- .4byte gUnknown_0858B000, 3
- .4byte gUnknown_0858B018, 3
- .4byte gUnknown_0858B030, 2
- .4byte gUnknown_0858AFA8, 6
- .4byte gUnknown_0858B040, 2
- .4byte gUnknown_0858B050, 6
- .4byte gUnknown_0858B080, 2
- .4byte gUnknown_0858B090, 2
- .4byte gUnknown_0858B0A0, 3
- .4byte gUnknown_0858B0B8, 2
- .4byte gUnknown_0858B0C8, 3
- .4byte gUnknown_0858B0E0, 3
- .4byte gUnknown_0858B0F8, 4
- .4byte gUnknown_0858B118, 2
- .4byte gUnknown_0858B128, 3
- .4byte gUnknown_0858B140, 3
- .4byte gUnknown_0858B158, 4
- .4byte gUnknown_0858B178, 3
- .4byte gUnknown_0858B190, 4
- .4byte gUnknown_0858B1B0, 4
- .4byte gUnknown_0858B1D0, 5
- .4byte gUnknown_0858B1F8, 6
- .4byte gUnknown_0858B308, 3
- .4byte gUnknown_0858B308, 3
- .4byte gUnknown_0858B260, 4
- .4byte gUnknown_0858B260, 4
- .4byte gUnknown_0858B2C0, 4
- .4byte gUnknown_0858B2E0, 5
- .4byte gUnknown_0858B320, 3
- .4byte gUnknown_0858B338, 3
- .4byte gUnknown_0858B350, 5
- .4byte gUnknown_0858B378, 3
- .4byte gUnknown_0858B390, 4
- .4byte gUnknown_0858B3B0, 3
- .4byte gUnknown_0858B3C8, 8
- .4byte gUnknown_0858B408, 4
- .4byte gUnknown_0858B250, 2
- .4byte gUnknown_0858B428, 3
- .4byte gUnknown_0858B440, 3
- .4byte gUnknown_0858B458, 3
- .4byte gUnknown_0858B470, 4
- .4byte gUnknown_0858B490, 3
- .4byte gUnknown_0858B4A8, 2
- .4byte gUnknown_0858B4B8, 6
- .4byte gUnknown_0858B508, 5
- .4byte gUnknown_0858B530, 5
- .4byte gUnknown_0858B558, 4
- .4byte gUnknown_0858B578, 6
- .4byte gUnknown_0858B5A8, 6
- .4byte gUnknown_0858B5D8, 5
- .4byte gUnknown_0858B600, 4
- .4byte gUnknown_0858B620, 4
- .4byte gUnknown_0858B640, 3
- .4byte gUnknown_0858B658, 3
- .4byte gUnknown_0858B670, 2
- .4byte gUnknown_0858B228, 5
- .4byte gUnknown_0858B680, 2
- .4byte gUnknown_0858B690, 4
- .4byte gUnknown_0858B6B0, 4
- .4byte gUnknown_0858B6D0, 6
- .4byte gUnknown_0858B700, 6
- .4byte gUnknown_0858B730, 5
-
-gUnknown_0858BAF0:: @ 858BAF0
- .4byte gText_Cool
- .4byte gText_Beauty
- .4byte gText_Cute
- .4byte gText_Smart
- .4byte gText_Tough
- .4byte gText_Normal
- .4byte gText_Super
- .4byte gText_Hyper
- .4byte gText_Master
- .4byte gText_Cool2
- .4byte gText_Beauty2
- .4byte gText_Cute2
- .4byte gText_Smart2
- .4byte gText_Tough2
- .4byte gText_Items
- .4byte gText_Key_Items
- .4byte gText_Poke_Balls
- .4byte gText_TMs_Hms
- .4byte gText_Berries2
- .4byte gText_Single2
- .4byte gText_Double2
- .4byte gText_Multi
- .4byte gText_MultiLink
- .4byte gText_BattleTower2
- .4byte gText_BattleDome
- .4byte gText_BattleFactory
- .4byte gText_BattlePalace
- .4byte gText_BattleArena
- .4byte gText_BattlePike
- .4byte gText_BattlePyramid
-
-gUnknown_0858BB68:: @ 858BB68
- .byte 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
-
- .align 2
-gUnknown_0858BB70:: @ 858BB70
- .4byte gText_SomeonesPC
- .4byte gText_LanettesPC
- .4byte gText_PlayersPC
- .4byte gText_LogOff
-
-gUnknown_0858BB80:: @ 858BB80
- .4byte gText_SlateportCity
- .4byte gText_BattleFrontier
- .4byte gText_SouthernIsland
- .4byte gText_NavelRock
- .4byte gText_BirthIsland
- .4byte gText_FarawayIsland
- .4byte gText_Exit
-
-gUnknown_0858BB9C:: @ 858BB9C
- .4byte OldaleTown_PokemonCenter_2F_Text_277F1B
- .4byte OldaleTown_PokemonCenter_2F_Text_277F5A
- .4byte OldaleTown_PokemonCenter_2F_Text_277F96
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBAC:: @ 858BBAC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_278831
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBBC:: @ 858BBBC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_2787FC
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBCC:: @ 858BBCC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_278831
- .4byte OldaleTown_PokemonCenter_2F_Text_2787FC
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBE0:: @ 858BBE0
- .4byte OldaleTown_PokemonCenter_2F_Text_277F1B
- .4byte OldaleTown_PokemonCenter_2F_Text_277F5A
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
-
-gUnknown_0858BBEC:: @ 858BBEC
- .4byte OldaleTown_PokemonCenter_2F_Text_27879F
- .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
- .4byte OldaleTown_PokemonCenter_2F_Text_27889C
diff --git a/data/script_pokemon_util_80F87D8.s b/data/script_pokemon_util_80F87D8.s
deleted file mode 100644
index dcf9edeea..000000000
--- a/data/script_pokemon_util_80F87D8.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-gUnknown_0858D8EC:: @ 858D8EC
- .byte 3, 4, 5, 14
diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc
index a644008d0..bbb7662ba 100644
--- a/data/scripts/apprentice.inc
+++ b/data/scripts/apprentice.inc
@@ -289,7 +289,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6DD4:
end
Script_Apprentice_SetLeavingFlags:
- setflag FLAG_0x2BD
+ setflag FLAG_HIDE_APPRENTICE
setflag FLAG_0x934
return
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index 1fda1133f..21ab4256c 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -31,7 +31,7 @@ Route102_EventScript_274359:: @ 8274359
end
Route102_EventScript_274374:: @ 8274374
- msgbox Route102_Text_274507, 5
+ msgbox Route102_Text_274507, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route102_EventScript_274393
compare VAR_RESULT, 0
@@ -106,7 +106,7 @@ Route102_EventScript_274421:: @ 8274421
lock
faceplayer
special EventObjectInteractionGetBerryCountString
- msgbox Route102_Text_2745EE, 5
+ msgbox Route102_Text_2745EE, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route102_EventScript_274448
compare VAR_RESULT, 0
@@ -155,7 +155,7 @@ Route102_EventScript_27448D:: @ 827448D
compare VAR_RESULT, 0
goto_eq Route102_EventScript_2744BE
special EventObjectInteractionGetBerryName
- msgbox Route102_Text_2746E4, 5
+ msgbox Route102_Text_2746E4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route102_EventScript_2744C4
compare VAR_RESULT, 0
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index ce3dea170..c92c14763 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -29,11 +29,11 @@ OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5
end
OldaleTown_PokemonCenter_2F_EventScript_276AFB:: @ 8276AFB
- clearflag FLAG_0x2BE
+ clearflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
return
OldaleTown_PokemonCenter_2F_EventScript_276AFF:: @ 8276AFF
- setflag FLAG_0x2BE
+ setflag FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN
return
BattleFrontier_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
@@ -63,7 +63,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19
execram
OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A
- msgbox gUnknown_08273178, 2
+ msgbox gUnknown_08273178, MSGBOX_NPC
end
OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23
@@ -72,16 +72,16 @@ OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23
goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
checkflag FLAG_SYS_HAS_EON_TICKET
goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
- msgbox gUnknown_08273594, 4
+ msgbox gUnknown_08273594, MSGBOX_DEFAULT
giveitem_std ITEM_EON_TICKET
setflag FLAG_SYS_HAS_EON_TICKET
setvar VAR_0x403F, 0
- msgbox gUnknown_082735F2, 4
+ msgbox gUnknown_082735F2, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_276B62:: @ 8276B62
- msgbox gUnknown_08273178, 4
+ msgbox gUnknown_08273178, MSGBOX_DEFAULT
release
end
@@ -331,12 +331,12 @@ OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0
lockall
applymovement 255, OldaleTown_PokemonCenter_2F_Movement_2725A6
waitmovement 0
- msgbox OldaleTown_PokemonCenter_2F_Text_27964A, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT
closemessage
applymovement 255, OldaleTown_PokemonCenter_2F_Movement_276E10
waitmovement 0
delay 30
- msgbox OldaleTown_PokemonCenter_2F_Text_279718, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT
setvar VAR_0x40CD, 2
releaseall
end
@@ -354,7 +354,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276E13:: @ 8276E13
end
OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22
- msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_276E30
end
@@ -399,7 +399,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276EC2:: @ 8276EC2
end
OldaleTown_PokemonCenter_2F_EventScript_276F15:: @ 8276F15
- msgbox OldaleTown_PokemonCenter_2F_Text_279142, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
end
@@ -417,7 +417,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E
end
OldaleTown_PokemonCenter_2F_EventScript_276F47:: @ 8276F47
- msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
end
@@ -502,25 +502,25 @@ OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046
OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_27833D, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27833D, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
end
OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278307, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278307, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
end
OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
end
OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278372, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278372, MSGBOX_DEFAULT
release
end
@@ -593,12 +593,12 @@ OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199
return
OldaleTown_PokemonCenter_2F_EventScript_2771BF:: @ 82771BF
- msgbox OldaleTown_PokemonCenter_2F_Text_278027, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278027, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
OldaleTown_PokemonCenter_2F_EventScript_2771CD:: @ 82771CD
- msgbox OldaleTown_PokemonCenter_2F_Text_278061, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278061, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
@@ -659,45 +659,45 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278565, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278565, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5
OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_27821C, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27821C, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2
OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278255, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278255, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278291, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278291, MSGBOX_DEFAULT
release
end
MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9
special CloseLink
- msgbox MossdeepCity_GameCorner_1F_Text_278D51, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278D51, MSGBOX_DEFAULT
release
end
@@ -709,29 +709,29 @@ OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306
OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328
special CloseLink
- msgbox OldaleTown_PokemonCenter_2F_Text_278651, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_278651, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_277335:: @ 8277335
- msgbox gUnknown_0827306F, 4
+ msgbox gUnknown_0827306F, MSGBOX_DEFAULT
release
end
OldaleTown_PokemonCenter_2F_EventScript_27733F:: @ 827733F
- msgbox gUnknown_082730BC, 4
+ msgbox gUnknown_082730BC, MSGBOX_DEFAULT
releaseall
end
@@ -917,34 +917,34 @@ RecordCorner_EventScript_277471:: @ 8277471
end
EventScript_TradeRoom_ReadTrainerCard1:: @ 827747E
- msgbox Text_278452, 4
+ msgbox Text_278452, MSGBOX_DEFAULT
fadescreen 1
special sp02A_crash_sound
waitstate
end
EventScript_TradeRoom_ReadTrainerCard2:: @ 827748D
- msgbox Text_27847B, 4
+ msgbox Text_27847B, MSGBOX_DEFAULT
fadescreen 1
special sp02A_crash_sound
waitstate
end
EventScript_TradeRoom_TooBusyToNotice:: @ 827749C
- msgbox Text_27842E, 4
+ msgbox Text_27842E, MSGBOX_DEFAULT
closemessage
end
SingleBattleColosseum_EventScript_2774A6:: @ 82774A6
special sub_8098574
- msgbox SingleBattleColosseum_Text_2784B4, 4
+ msgbox SingleBattleColosseum_Text_2784B4, MSGBOX_DEFAULT
special sub_809859C
closemessage
end
TradeCenter_EventScript_2774B6:: @ 82774B6
special sub_8098574
- msgbox TradeCenter_Text_2784E2, 4
+ msgbox TradeCenter_Text_2784E2, MSGBOX_DEFAULT
special sub_809859C
closemessage
end
@@ -970,7 +970,7 @@ RecordCorner_EventScript_2774E0:: @ 82774E0
end
gUnknown_082774EF:: @ 82774EF
- msgbox Text_2783A8, 5
+ msgbox Text_2783A8, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq gUnknown_08277509
erasebox 0, 0, 29, 19
@@ -1029,7 +1029,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- msgbox OldaleTown_PokemonCenter_2F_Text_27961C, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27961C, MSGBOX_DEFAULT
closemessage
special HealPlayerParty
setvar VAR_0x8004, 6
@@ -1068,17 +1068,17 @@ OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626
return
OldaleTown_PokemonCenter_2F_EventScript_27764C:: @ 827764C
- msgbox OldaleTown_PokemonCenter_2F_Text_27893E, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27893E, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_273755
end
OldaleTown_PokemonCenter_2F_EventScript_27765A:: @ 827765A
- msgbox OldaleTown_PokemonCenter_2F_Text_27897B, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27897B, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_273755
end
OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668
- msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, MSGBOX_DEFAULT
release
return
@@ -1087,15 +1087,15 @@ OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672
faceplayer
checkflag FLAG_SYS_POKEDEX_GET
goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
- msgbox OldaleTown_PokemonCenter_2F_Text_279937, 5
+ msgbox OldaleTown_PokemonCenter_2F_Text_279937, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_27769A
- msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, MSGBOX_DEFAULT
release
return
OldaleTown_PokemonCenter_2F_EventScript_27769A:: @ 827769A
- msgbox OldaleTown_PokemonCenter_2F_Text_279C91, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_279C91, MSGBOX_DEFAULT
release
return
@@ -1165,7 +1165,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB
end
OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D
- msgbox OldaleTown_PokemonCenter_2F_Text_27909D, 5
+ msgbox OldaleTown_PokemonCenter_2F_Text_27909D, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
call OldaleTown_PokemonCenter_2F_EventScript_277199
@@ -1202,7 +1202,7 @@ OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899
end
OldaleTown_PokemonCenter_2F_EventScript_2778B2:: @ 82778B2
- msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_27783B
end
@@ -1212,12 +1212,12 @@ OldaleTown_PokemonCenter_2F_EventScript_2778C0:: @ 82778C0
end
OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB
- msgbox OldaleTown_PokemonCenter_2F_Text_279142, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_279142, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_27783B
end
OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9
- msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, 5
+ msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
setvar VAR_0x8004, 12
@@ -1225,7 +1225,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9
end
OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7
- msgbox OldaleTown_PokemonCenter_2F_Text_279114, 5
+ msgbox OldaleTown_PokemonCenter_2F_Text_279114, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
special HasAtLeastOneBerry
@@ -1236,7 +1236,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7
end
OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923
- msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, MSGBOX_DEFAULT
goto OldaleTown_PokemonCenter_2F_EventScript_2776E3
end
@@ -1402,12 +1402,12 @@ EventScript_WirelessBoxResults:: @ 8277B8A
fadescreen 1
special sub_801A42C
waitstate
- msgbox OldaleTown_PokemonCenter_2F_Text_27874F, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27874F, MSGBOX_DEFAULT
releaseall
end
EventScript_277BB4:: @ 8277BB4
- msgbox OldaleTown_PokemonCenter_2F_Text_27871F, 4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27871F, MSGBOX_DEFAULT
releaseall
end
@@ -1476,17 +1476,17 @@ MossdeepCity_GameCorner_1F_EventScript_277C34:: @ 8277C34
end
MossdeepCity_GameCorner_1F_EventScript_277C73:: @ 8277C73
- msgbox MossdeepCity_GameCorner_1F_Text_278ACB, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278ACB, MSGBOX_DEFAULT
release
end
MossdeepCity_GameCorner_1F_EventScript_277C7D:: @ 8277C7D
- msgbox MossdeepCity_GameCorner_1F_Text_278BF1, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278BF1, MSGBOX_DEFAULT
release
end
MossdeepCity_GameCorner_1F_EventScript_277C87:: @ 8277C87
- msgbox MossdeepCity_GameCorner_1F_Text_278CAC, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278CAC, MSGBOX_DEFAULT
release
end
@@ -1514,7 +1514,7 @@ MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9
special sub_802C920
compare VAR_RESULT, 0
goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55
- msgbox MossdeepCity_GameCorner_1F_Text_278DD9, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8005, 0
special sub_81B8958
@@ -1533,7 +1533,7 @@ MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35
special sub_8027A5C
compare VAR_RESULT, 0
goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55
- msgbox MossdeepCity_GameCorner_1F_Text_278DD9, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8005, 1
special sub_81B8958
@@ -1602,12 +1602,12 @@ MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E
MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48
delay 60
- msgbox MossdeepCity_GameCorner_1F_Text_278D68, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278D68, MSGBOX_DEFAULT
release
end
MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55
- msgbox MossdeepCity_GameCorner_1F_Text_278E60, 5
+ msgbox MossdeepCity_GameCorner_1F_Text_278E60, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
compare VAR_0x8005, 0
@@ -1618,11 +1618,11 @@ MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55
end
MossdeepCity_GameCorner_1F_EventScript_277E84:: @ 8277E84
- msgbox MossdeepCity_GameCorner_1F_Text_278EDC, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278EDC, MSGBOX_DEFAULT
return
MossdeepCity_GameCorner_1F_EventScript_277E8D:: @ 8277E8D
- msgbox MossdeepCity_GameCorner_1F_Text_278FA4, 4
+ msgbox MossdeepCity_GameCorner_1F_Text_278FA4, MSGBOX_DEFAULT
return
MossdeepCity_GameCorner_1F_EventScript_277E96:: @ 8277E96
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index d89c78f18..d522469c6 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -11,18 +11,18 @@ LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5
end
LilycoveCity_ContestLobby_EventScript_279CEA:: @ 8279CEA
- msgbox LilycoveCity_ContestLobby_Text_27AEA8, 4
+ msgbox LilycoveCity_ContestLobby_Text_27AEA8, MSGBOX_DEFAULT
return
LilycoveCity_ContestLobby_EventScript_279CF3:: @ 8279CF3
- msgbox LilycoveCity_ContestLobby_Text_27ADA7, 4
+ msgbox LilycoveCity_ContestLobby_Text_27ADA7, MSGBOX_DEFAULT
giveitem_std ITEM_POKEBLOCK_CASE
setflag FLAG_0x05F
- msgbox LilycoveCity_ContestLobby_Text_27AE47, 4
+ msgbox LilycoveCity_ContestLobby_Text_27AE47, MSGBOX_DEFAULT
return
LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13
- msgbox LilycoveCity_ContestLobby_Text_27B67B, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B67B, MSGBOX_DEFAULT
switch VAR_0x408A
case 4, LilycoveCity_ContestLobby_EventScript_279D2C
end
@@ -38,7 +38,7 @@ LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C
LilycoveCity_ContestLobby_EventScript_279D4B:: @ 8279D4B
call LilycoveCity_ContestLobby_EventScript_27205E
- msgbox LilycoveCity_ContestLobby_Text_27B6E7, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B6E7, MSGBOX_DEFAULT
release
end
@@ -66,27 +66,27 @@ LilycoveCity_ContestLobby_EventScript_279D97:: @ 8279D97
end
LilycoveCity_ContestLobby_EventScript_279DDF:: @ 8279DDF
- msgbox LilycoveCity_ContestLobby_Text_27AF7A, 4
+ msgbox LilycoveCity_ContestLobby_Text_27AF7A, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_279D97
end
LilycoveCity_ContestLobby_EventScript_279DED:: @ 8279DED
- msgbox LilycoveCity_ContestLobby_Text_27B17D, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B17D, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_279D97
end
LilycoveCity_ContestLobby_EventScript_279DFB:: @ 8279DFB
- msgbox LilycoveCity_ContestLobby_Text_27B221, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B221, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_279D97
end
LilycoveCity_ContestLobby_EventScript_279E09:: @ 8279E09
- msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4
+ msgbox LilycoveCity_ContestLobby_Text_27BD4F, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13
- msgbox LilycoveCity_ContestLobby_Text_27B44A, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B44A, MSGBOX_DEFAULT
choosecontestmon
compare VAR_0x8004, 255
goto_eq LilycoveCity_ContestLobby_EventScript_279E09
@@ -148,39 +148,39 @@ LilycoveCity_ContestLobby_EventScript_279EE1:: @ 8279EE1
end
LilycoveCity_ContestLobby_EventScript_279F12:: @ 8279F12
- msgbox LilycoveCity_ContestLobby_Text_27B471, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B471, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_279E13
release
end
LilycoveCity_ContestLobby_EventScript_279F21:: @ 8279F21
- msgbox LilycoveCity_ContestLobby_Text_27B5C4, 5
+ msgbox LilycoveCity_ContestLobby_Text_27B5C4, MSGBOX_YESNO
switch VAR_RESULT
case 0, LilycoveCity_ContestLobby_EventScript_279E13
case 1, LilycoveCity_ContestLobby_EventScript_279F87
end
LilycoveCity_ContestLobby_EventScript_279F45:: @ 8279F45
- msgbox LilycoveCity_ContestLobby_Text_27B547, 5
+ msgbox LilycoveCity_ContestLobby_Text_27B547, MSGBOX_YESNO
switch VAR_RESULT
case 0, LilycoveCity_ContestLobby_EventScript_279E13
case 1, LilycoveCity_ContestLobby_EventScript_279F87
end
LilycoveCity_ContestLobby_EventScript_279F69:: @ 8279F69
- msgbox LilycoveCity_ContestLobby_Text_27B4C4, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B4C4, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_279E13
release
end
LilycoveCity_ContestLobby_EventScript_279F78:: @ 8279F78
- msgbox LilycoveCity_ContestLobby_Text_27B501, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B501, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_279E13
release
end
LilycoveCity_ContestLobby_EventScript_279F87:: @ 8279F87
- msgbox LilycoveCity_ContestLobby_Text_27B5E2, 4
+ msgbox LilycoveCity_ContestLobby_Text_27B5E2, MSGBOX_DEFAULT
closemessage
releaseall
setvar VAR_0x4086, 1
@@ -276,7 +276,7 @@ LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A0C7
lockall
- msgbox LinkContestRoom1_Text_27B711, 4
+ msgbox LinkContestRoom1_Text_27B711, MSGBOX_DEFAULT
releaseall
return
@@ -388,7 +388,7 @@ LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2
releaseall
addvar VAR_0x8006, 65535
playse SE_BOWA2
- special sub_80F8D28
+ special ShowContestEntryMonPic
call LinkContestRoom1_EventScript_27A217
return
@@ -423,7 +423,7 @@ LinkContestRoom1_EventScript_27A230:: @ 827A230
LinkContestRoom1_EventScript_27A26C:: @ 827A26C
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A280
- msgbox LinkContestRoom1_Text_27B830, 4
+ msgbox LinkContestRoom1_Text_27B830, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A280:: @ 827A280
@@ -517,7 +517,7 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F
LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5
setvar VAR_RESULT, 8
- special sub_80F8FE8
+ special ScriptRandom
compare VAR_RESULT, 0
call_if 1, LinkContestRoom1_EventScript_27A65A
compare VAR_RESULT, 1
@@ -847,7 +847,7 @@ LinkContestRoom1_EventScript_27A801:: @ 827A801
LinkContestRoom1_EventScript_27A853:: @ 827A853
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A867
- msgbox LinkContestRoom1_Text_27B904, 4
+ msgbox LinkContestRoom1_Text_27B904, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A867:: @ 827A867
@@ -897,7 +897,7 @@ LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5
LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A90F
- msgbox LinkContestRoom1_Text_27BA15, 4
+ msgbox LinkContestRoom1_Text_27BA15, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A90F:: @ 827A90F
@@ -910,7 +910,7 @@ LinkContestRoom1_EventScript_27A90F:: @ 827A90F
LinkContestRoom1_EventScript_27A91E:: @ 827A91E
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A932
- msgbox LinkContestRoom1_Text_27BA30, 4
+ msgbox LinkContestRoom1_Text_27BA30, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A932:: @ 827A932
@@ -923,7 +923,7 @@ LinkContestRoom1_EventScript_27A932:: @ 827A932
LinkContestRoom1_EventScript_27A941:: @ 827A941
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A955
- msgbox LinkContestRoom1_Text_27BAAC, 4
+ msgbox LinkContestRoom1_Text_27BAAC, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A955:: @ 827A955
@@ -936,7 +936,7 @@ LinkContestRoom1_EventScript_27A955:: @ 827A955
LinkContestRoom1_EventScript_27A964:: @ 827A964
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27A978
- msgbox LinkContestRoom1_Text_27BB25, 4
+ msgbox LinkContestRoom1_Text_27BB25, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A978:: @ 827A978
@@ -987,7 +987,7 @@ LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4
LinkContestRoom1_EventScript_27AA00:: @ 827AA00
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27AA14
- msgbox LinkContestRoom1_Text_27BB4C, 4
+ msgbox LinkContestRoom1_Text_27BB4C, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27AA14:: @ 827AA14
@@ -1086,10 +1086,10 @@ LinkContestRoom1_EventScript_27AB36:: @ 827AB36
compare VAR_0x4088, 5
goto_eq LinkContestRoom1_EventScript_27ABD8
call LinkContestRoom1_EventScript_27AB9E
- checkflag FLAG_0x002
+ checkflag FLAG_TEMP_2
goto_eq LinkContestRoom1_EventScript_27AB82
lockall
- msgbox LinkContestRoom1_Text_27BBA8, 4
+ msgbox LinkContestRoom1_Text_27BBA8, MSGBOX_DEFAULT
releaseall
call LinkContestRoom1_EventScript_27ABF8
call LinkContestRoom1_EventScript_27AC5E
@@ -1104,7 +1104,7 @@ LinkContestRoom1_EventScript_27AB36:: @ 827AB36
LinkContestRoom1_EventScript_27AB82:: @ 827AB82
lockall
- msgbox LinkContestRoom1_Text_27BB7A, 4
+ msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
delay 90
special sub_80F88E8
@@ -1127,7 +1127,7 @@ LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF
LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE
compare VAR_CONTEST_RANK, 3
goto_eq LinkContestRoom1_EventScript_27ABCD
- setflag FLAG_0x002
+ setflag FLAG_TEMP_2
return
LinkContestRoom1_EventScript_27ABCD:: @ 827ABCD
@@ -1199,7 +1199,7 @@ LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E
compare VAR_0x8005, 3
goto_eq LinkContestRoom1_EventScript_27AC77
lockall
- msgbox LinkContestRoom1_Text_27BB7A, 4
+ msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
return
@@ -1212,14 +1212,14 @@ LinkContestRoom1_EventScript_27AC77:: @ 827AC77
compare VAR_CONTEST_RANK, 3
goto_eq LinkContestRoom1_EventScript_27ACBD
lockall
- msgbox LinkContestRoom1_Text_27BB7A, 4
+ msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
return
LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8
lockall
call LinkContestRoom1_EventScript_27205E
- msgbox LinkContestRoom1_Text_27BC2F, 4
+ msgbox LinkContestRoom1_Text_27BC2F, MSGBOX_DEFAULT
releaseall
setvar VAR_0x408A, 4
return
@@ -1229,7 +1229,7 @@ LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD
compare VAR_RESULT, 0
goto_eq LinkContestRoom1_EventScript_27ACA8
lockall
- msgbox LinkContestRoom1_Text_27BB7A, 4
+ msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
return
@@ -1238,12 +1238,12 @@ LinkContestRoom1_EventScript_27ACDF:: @ 827ACDF
incrementgamestat 42
setflag FLAG_SYS_RIBBON_GET
lockall
- msgbox LinkContestRoom1_Text_27BBD4, 4
+ msgbox LinkContestRoom1_Text_27BBD4, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
- msgbox LinkContestRoom1_Text_27BC00, 4
+ msgbox LinkContestRoom1_Text_27BC00, MSGBOX_DEFAULT
waitfanfare
special sub_80F8390
- msgbox LinkContestRoom1_Text_27BC16, 4
+ msgbox LinkContestRoom1_Text_27BC16, MSGBOX_DEFAULT
releaseall
return
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index 7b306a261..3a2194132 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -9,18 +9,18 @@ Route117_EventScript_291C18:: @ 8291C18
goto_eq Route117_EventScript_291CD1
compare VAR_RESULT, 3
goto_eq Route117_EventScript_291CE8
- msgbox Route117_Text_291FCF, 4
+ msgbox Route117_Text_291FCF, MSGBOX_DEFAULT
release
end
Route117_EventScript_291C4D:: @ 8291C4D
- msgbox Route117_Text_29205D, 5
+ msgbox Route117_Text_29205D, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_EventScript_291C83
- msgbox Route117_Text_2922C6, 5
+ msgbox Route117_Text_2922C6, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_EventScript_291C83
- msgbox Route117_Text_292149, 4
+ msgbox Route117_Text_292149, MSGBOX_DEFAULT
clearflag FLAG_PENDING_DAYCARE_EGG
special RejectEggFromDayCare
release
@@ -30,7 +30,7 @@ Route117_EventScript_291C83:: @ 8291C83
specialvar VAR_RESULT, CalculatePlayerPartyCount
compare VAR_RESULT, 6
goto_if 5, Route117_EventScript_291C9D
- msgbox Route117_Text_29216A, 4
+ msgbox Route117_Text_29216A, MSGBOX_DEFAULT
release
end
@@ -39,7 +39,7 @@ Route117_EventScript_291C9D:: @ 8291C9D
playfanfare MUS_FANFA1
waitfanfare
waitbuttonpress
- msgbox Route117_Text_2921CF, 4
+ msgbox Route117_Text_2921CF, MSGBOX_DEFAULT
special GiveEggFromDaycare
clearflag FLAG_PENDING_DAYCARE_EGG
release
@@ -52,12 +52,12 @@ Route117_EventScript_291CB7:: @ 8291CB7
return
Route117_EventScript_291CC8:: @ 8291CC8
- msgbox Route117_Text_2921E5, 4
+ msgbox Route117_Text_2921E5, MSGBOX_DEFAULT
return
Route117_EventScript_291CD1:: @ 8291CD1
special GetDaycareMonNicknames
- msgbox Route117_Text_292114, 4
+ msgbox Route117_Text_292114, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
call Route117_EventScript_291CB7
release
@@ -65,7 +65,7 @@ Route117_EventScript_291CD1:: @ 8291CD1
Route117_EventScript_291CE8:: @ 8291CE8
special GetDaycareMonNicknames
- msgbox Route117_Text_292299, 4
+ msgbox Route117_Text_292299, MSGBOX_DEFAULT
special SetDaycareCompatibilityString
special ShowFieldMessageStringVar4
waitmessage
@@ -87,10 +87,10 @@ Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11
goto_eq Route117_PokemonDayCare_EventScript_291E2F
compare VAR_RESULT, 3
goto_eq Route117_PokemonDayCare_EventScript_291F5C
- msgbox Route117_PokemonDayCare_Text_2922F4, 5
+ msgbox Route117_PokemonDayCare_Text_2922F4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291D56
- msgbox Route117_PokemonDayCare_Text_292416, 4
+ msgbox Route117_PokemonDayCare_Text_292416, MSGBOX_DEFAULT
release
end
@@ -101,7 +101,7 @@ Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
specialvar VAR_RESULT, sub_80722E0
compare VAR_RESULT, 2
goto_eq Route117_PokemonDayCare_EventScript_291E01
- msgbox Route117_PokemonDayCare_Text_292349, 4
+ msgbox Route117_PokemonDayCare_Text_292349, MSGBOX_DEFAULT
fadescreen 1
special ChooseSendDaycareMon
waitstate
@@ -113,7 +113,7 @@ Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
specialvar VAR_0x8005, GetSelectedMonNickAndSpecies
waitse
playmoncry VAR_0x8005, 0
- msgbox Route117_PokemonDayCare_Text_292370, 4
+ msgbox Route117_PokemonDayCare_Text_292370, MSGBOX_DEFAULT
waitmoncry
special StoreSelectedPokemonInDaycare
incrementgamestat 47
@@ -124,39 +124,39 @@ Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
end
Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA
- msgbox Route117_PokemonDayCare_Text_292476, 4
+ msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
release
end
Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4
- msgbox Route117_PokemonDayCare_Text_2923AF, 5
+ msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291D56
goto Route117_PokemonDayCare_EventScript_291DCA
end
Route117_PokemonDayCare_EventScript_291DED:: @ 8291DED
- msgbox Route117_PokemonDayCare_Text_2925BB, 4
+ msgbox Route117_PokemonDayCare_Text_2925BB, MSGBOX_DEFAULT
release
end
Route117_PokemonDayCare_EventScript_291DF7:: @ 8291DF7
- msgbox Route117_PokemonDayCare_Text_292617, 4
+ msgbox Route117_PokemonDayCare_Text_292617, MSGBOX_DEFAULT
release
end
Route117_PokemonDayCare_EventScript_291E01:: @ 8291E01
- msgbox Route117_PokemonDayCare_Text_29266D, 4
+ msgbox Route117_PokemonDayCare_Text_29266D, MSGBOX_DEFAULT
release
end
Route117_PokemonDayCare_EventScript_291E0B:: @ 8291E0B
- msgbox Route117_PokemonDayCare_Text_2923F6, 4
+ msgbox Route117_PokemonDayCare_Text_2923F6, MSGBOX_DEFAULT
release
end
Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15
- msgbox Route117_PokemonDayCare_Text_2924CC, 4
+ msgbox Route117_PokemonDayCare_Text_2924CC, MSGBOX_DEFAULT
return
Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E
@@ -166,13 +166,13 @@ Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E
return
Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F
- msgbox Route117_PokemonDayCare_Text_292488, 4
+ msgbox Route117_PokemonDayCare_Text_292488, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
call Route117_PokemonDayCare_EventScript_291E1E
- msgbox Route117_PokemonDayCare_Text_2923AF, 5
+ msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291D56
- msgbox Route117_PokemonDayCare_Text_2925F6, 5
+ msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291E6D
goto Route117_PokemonDayCare_EventScript_291DCA
@@ -196,7 +196,7 @@ Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D
Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC
special GetDaycareCost
- msgbox Route117_PokemonDayCare_Text_292549, 5
+ msgbox Route117_PokemonDayCare_Text_292549, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291EC8
goto Route117_PokemonDayCare_EventScript_291DCA
@@ -206,7 +206,7 @@ Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8
specialvar VAR_RESULT, IsEnoughForCostInVar0x8005
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291EE2
- msgbox Route117_PokemonDayCare_Text_292432, 4
+ msgbox Route117_PokemonDayCare_Text_292432, MSGBOX_DEFAULT
release
end
@@ -216,10 +216,10 @@ Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
specialvar VAR_RESULT, TakePokemonFromDaycare
special SubtractMoneyFromVar0x8005
playse SE_REGI
- msgbox Route117_PokemonDayCare_Text_292575, 4
+ msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT
waitse
playmoncry VAR_RESULT, 0
- msgbox Route117_PokemonDayCare_Text_292593, 4
+ msgbox Route117_PokemonDayCare_Text_292593, MSGBOX_DEFAULT
waitmoncry
specialvar VAR_RESULT, GetDaycareState
compare VAR_RESULT, 2
@@ -228,14 +228,14 @@ Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
end
Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24
- msgbox Route117_PokemonDayCare_Text_29244F, 5
+ msgbox Route117_PokemonDayCare_Text_29244F, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291E6D
goto Route117_PokemonDayCare_EventScript_291DCA
end
Route117_PokemonDayCare_EventScript_291F3D:: @ 8291F3D
- msgbox Route117_PokemonDayCare_Text_2924EF, 4
+ msgbox Route117_PokemonDayCare_Text_2924EF, MSGBOX_DEFAULT
release
end
@@ -265,15 +265,15 @@ Route117_PokemonDayCare_EventScript_291F5B:: @ 8291F5B
end
Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C
- msgbox Route117_PokemonDayCare_Text_292488, 4
+ msgbox Route117_PokemonDayCare_Text_292488, MSGBOX_DEFAULT
setvar VAR_0x8004, 0
call Route117_PokemonDayCare_EventScript_291E1E
setvar VAR_0x8004, 1
call Route117_PokemonDayCare_EventScript_291E1E
- msgbox Route117_PokemonDayCare_Text_2925F6, 5
+ msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route117_PokemonDayCare_EventScript_291E6D
- msgbox Route117_PokemonDayCare_Text_292476, 4
+ msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
release
end
@@ -284,14 +284,14 @@ Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95
goto_eq Route117_PokemonDayCare_EventScript_291DCA
copyvar VAR_0x8004, VAR_RESULT
specialvar VAR_RESULT, TakePokemonFromDaycare
- msgbox Route117_PokemonDayCare_Text_292575, 4
- msgbox Route117_PokemonDayCare_Text_292476, 4
+ msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT
+ msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
release
end
EventScript_EggHatch:: @ 8291FC0
lockall
- msgbox Text_292668, 4
+ msgbox Text_292668, MSGBOX_DEFAULT
special EggHatch
waitstate
releaseall
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
index aba6bec97..15bb7a7e6 100644
--- a/data/scripts/field_move_scripts.inc
+++ b/data/scripts/field_move_scripts.inc
@@ -18,10 +18,10 @@ Route123_EventScript_2906BB:: @ 82906BB
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_CUT
- msgbox Route103_Text_29072E, 5
+ msgbox Route103_Text_29072E, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route103_EventScript_29072B
- msgbox Route103_Text_290771, 4
+ msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect 2
waitstate
@@ -47,7 +47,7 @@ Route103_Movement_29071F: @ 829071F
step_end
Route103_EventScript_290721:: @ 8290721
- msgbox Route103_Text_29077D, 4
+ msgbox Route103_Text_29077D, MSGBOX_DEFAULT
releaseall
end
@@ -92,10 +92,10 @@ VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_ROCK_SMASH
- msgbox Route111_Text_29083A, 5
+ msgbox Route111_Text_29083A, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq Route111_EventScript_290837
- msgbox Route111_Text_290771, 4
+ msgbox Route111_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect 37
waitstate
@@ -132,7 +132,7 @@ Route111_Movement_29082B: @ 829082B
step_end
Route111_EventScript_29082D:: @ 829082D
- msgbox Route111_Text_29087F, 4
+ msgbox Route111_Text_29087F, MSGBOX_DEFAULT
releaseall
end
@@ -168,7 +168,7 @@ VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA
compare VAR_RESULT, 6
goto_eq FieryPath_EventScript_290915
setfieldeffectargument 0, VAR_RESULT
- msgbox FieryPath_Text_29092C, 5
+ msgbox FieryPath_Text_29092C, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq FieryPath_EventScript_290929
closemessage
@@ -186,17 +186,17 @@ FieryPath_EventScript_2908FD:: @ 82908FD
FieryPath_EventScript_290908:: @ 8290908
setflag FLAG_SYS_USE_STRENGTH
- msgbox FieryPath_Text_29098C, 4
+ msgbox FieryPath_Text_29098C, MSGBOX_DEFAULT
releaseall
end
FieryPath_EventScript_290915:: @ 8290915
- msgbox FieryPath_Text_2909D6, 4
+ msgbox FieryPath_Text_2909D6, MSGBOX_DEFAULT
releaseall
end
FieryPath_EventScript_29091F:: @ 829091F
- msgbox FieryPath_Text_290A16, 4
+ msgbox FieryPath_Text_290A16, MSGBOX_DEFAULT
releaseall
end
@@ -230,10 +230,10 @@ EventScript_UseWaterfall:: @ 8290A49
goto_eq EventScript_290A84
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
- msgbox Text_290AC3, 5
+ msgbox Text_290AC3, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_290A8C
- msgbox Text_290AFC, 4
+ msgbox Text_290AFC, MSGBOX_DEFAULT
dofieldeffect 43
goto EventScript_290A8C
@@ -241,7 +241,7 @@ EventScript_CannotUseWaterfall:: @ 8290A83
lockall
EventScript_290A84:: @ 8290A84
- msgbox Text_290A8E, 4
+ msgbox Text_290A8E, MSGBOX_DEFAULT
EventScript_290A8C:: @ 8290A8C
releaseall
@@ -266,16 +266,16 @@ EventScript_UseDive:: @ 8290B0F
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
- msgbox Text_290BE8, 5
+ msgbox Text_290BE8, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_290B58
- msgbox Text_290C1A, 4
+ msgbox Text_290C1A, MSGBOX_DEFAULT
dofieldeffect 44
goto EventScript_290B58
end
EventScript_290B4E:: @ 8290B4E
- msgbox Text_290BAA, 4
+ msgbox Text_290BAA, MSGBOX_DEFAULT
releaseall
end
@@ -291,17 +291,17 @@ EventScript_UseDiveUnderwater:: @ 8290B5A
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
- msgbox Text_290C6E, 5
+ msgbox Text_290C6E, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq EventScript_290BA8
- msgbox Text_290C1A, 4
+ msgbox Text_290C1A, MSGBOX_DEFAULT
dofieldeffect 44
goto EventScript_290BA8
end
EventScript_290B99:: @ 8290B99
lockall
- msgbox Text_290C28, 4
+ msgbox Text_290C28, MSGBOX_DEFAULT
goto EventScript_290BA8
end
@@ -329,7 +329,7 @@ Text_290C6E: @ 8290C6E
.string "Would you like to use DIVE?$"
EventScript_290CAE:: @ 8290CAE
- msgbox Text_290CB7, 3
+ msgbox Text_290CB7, MSGBOX_SIGN
end
Text_290CB7: @ 8290CB7
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index 5a03a0e98..f95cfa0ab 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -72,142 +72,142 @@ Route111_EventScript_28CD8B:: @ 828CD8B
return
Route111_EventScript_28CD96:: @ 828CD96
- setflag FLAG_0x31C
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
return
Route111_EventScript_28CD9A:: @ 828CD9A
- clearflag FLAG_0x31C
+ clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1
return
Route111_EventScript_28CD9E:: @ 828CD9E
- setflag FLAG_0x31D
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
return
Route111_EventScript_28CDA2:: @ 828CDA2
- clearflag FLAG_0x31D
+ clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1
return
Route111_EventScript_28CDA6:: @ 828CDA6
- setflag FLAG_0x31E
+ setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
return
Route111_EventScript_28CDAA:: @ 828CDAA
- clearflag FLAG_0x31E
+ clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1
return
Route111_EventScript_28CDAE:: @ 828CDAE
- setflag FLAG_0x31F
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
return
Route111_EventScript_28CDB2:: @ 828CDB2
- clearflag FLAG_0x31F
+ clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3
return
Route111_EventScript_28CDB6:: @ 828CDB6
- setflag FLAG_0x385
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
return
Route111_EventScript_28CDBA:: @ 828CDBA
- clearflag FLAG_0x385
+ clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2
return
Route111_EventScript_28CDBE:: @ 828CDBE
- setflag FLAG_0x386
+ setflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
return
Route111_EventScript_28CDC2:: @ 828CDC2
- clearflag FLAG_0x386
+ clearflag FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2
return
Route111_EventScript_28CDC6:: @ 828CDC6
- setflag FLAG_0x387
+ setflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
return
Route111_EventScript_28CDCA:: @ 828CDCA
- clearflag FLAG_0x387
+ clearflag FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2
return
Route111_EventScript_28CDCE:: @ 828CDCE
- setflag FLAG_0x388
+ setflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
return
Route111_EventScript_28CDD2:: @ 828CDD2
- clearflag FLAG_0x388
+ clearflag FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3
return
Route111_EventScript_28CDD6:: @ 828CDD6
- trainerbattle 6, TRAINER_GABBY_AND_TY_1, 0, Route111_Text_28AF05, Route111_Text_28B000, Route111_Text_28B5EC, Route111_EventScript_28CF56
- msgbox Route111_Text_28B5C0, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_1, Route111_Text_28AF05, Route111_Text_28B000, Route111_Text_28B5EC, Route111_EventScript_28CF56
+ msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
release
end
Route111_EventScript_28CDF6:: @ 828CDF6
- trainerbattle 6, TRAINER_GABBY_AND_TY_1, 0, Route111_Text_28B75C, Route111_Text_28B8B1, Route111_Text_28B841, Route111_EventScript_28CF56
- msgbox Route111_Text_28B805, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_1, Route111_Text_28B75C, Route111_Text_28B8B1, Route111_Text_28B841, Route111_EventScript_28CF56
+ msgbox Route111_Text_28B805, MSGBOX_DEFAULT
release
end
Route118_EventScript_28CE16:: @ 828CE16
- trainerbattle 6, TRAINER_GABBY_AND_TY_2, 0, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B5C0, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_2, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B5C0, MSGBOX_DEFAULT
release
end
Route118_EventScript_28CE36:: @ 828CE36
- trainerbattle 6, TRAINER_GABBY_AND_TY_2, 0, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B805, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_2, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B805, MSGBOX_DEFAULT
release
end
Route120_EventScript_28CE56:: @ 828CE56
- trainerbattle 6, TRAINER_GABBY_AND_TY_3, 0, Route120_Text_28AF7D, Route120_Text_28B719, Route120_Text_28B5EC, Route120_EventScript_28CFC3
- msgbox Route120_Text_28B5C0, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_3, Route120_Text_28AF7D, Route120_Text_28B719, Route120_Text_28B5EC, Route120_EventScript_28CFC3
+ msgbox Route120_Text_28B5C0, MSGBOX_DEFAULT
release
end
Route120_EventScript_28CE76:: @ 828CE76
- trainerbattle 6, TRAINER_GABBY_AND_TY_3, 0, Route120_Text_28B7B1, Route120_Text_28B8F6, Route120_Text_28B841, Route120_EventScript_28CFC3
- msgbox Route120_Text_28B805, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_3, Route120_Text_28B7B1, Route120_Text_28B8F6, Route120_Text_28B841, Route120_EventScript_28CFC3
+ msgbox Route120_Text_28B805, MSGBOX_DEFAULT
release
end
Route111_EventScript_28CE96:: @ 828CE96
- trainerbattle 6, TRAINER_GABBY_AND_TY_4, 0, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B5C0, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_4, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
release
end
Route111_EventScript_28CEB6:: @ 828CEB6
- trainerbattle 6, TRAINER_GABBY_AND_TY_4, 0, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B805, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_4, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B805, MSGBOX_DEFAULT
release
end
Route118_EventScript_28CED6:: @ 828CED6
- trainerbattle 6, TRAINER_GABBY_AND_TY_5, 0, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B5C0, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_5, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B5C0, MSGBOX_DEFAULT
release
end
Route118_EventScript_28CEF6:: @ 828CEF6
- trainerbattle 6, TRAINER_GABBY_AND_TY_5, 0, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
- msgbox Route118_Text_28B805, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_5, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B805, MSGBOX_DEFAULT
release
end
Route111_EventScript_28CF16:: @ 828CF16
Route118_EventScript_28CF16:: @ 828CF16
Route120_EventScript_28CF16:: @ 828CF16
- trainerbattle 6, TRAINER_GABBY_AND_TY_6, 0, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B5C0, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_6, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
release
end
Route111_EventScript_28CF36:: @ 828CF36
Route118_EventScript_28CF36:: @ 828CF36
Route120_EventScript_28CF36:: @ 828CF36
- trainerbattle 6, TRAINER_GABBY_AND_TY_6, 0, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
- msgbox Route111_Text_28B805, 4
+ trainerbattle_double TRAINER_GABBY_AND_TY_6, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B805, MSGBOX_DEFAULT
release
end
@@ -220,9 +220,9 @@ Route111_EventScript_28CF56:: @ 828CF56
call_if 1, Route111_EventScript_28CF9F
compare VAR_FACING, 4
call_if 1, Route111_EventScript_28CFB1
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq Route111_EventScript_28D0EE
- msgbox Route111_Text_28B042, 5
+ msgbox Route111_Text_28B042, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
@@ -254,12 +254,12 @@ Route120_EventScript_28CFC3:: @ 828CFC3
call_if 1, Route111_EventScript_28CF9F
compare VAR_FACING, 4
call_if 1, Route111_EventScript_28CFB1
- checkflag FLAG_0x001
+ checkflag FLAG_TEMP_1
goto_eq Route111_EventScript_28D0EE
specialvar VAR_RESULT, GabbyAndTyGetLastQuote
compare VAR_RESULT, 0
goto_eq Route111_EventScript_28D053
- msgbox Route111_Text_28B137, 4
+ msgbox Route111_Text_28B137, MSGBOX_DEFAULT
specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia
switch VAR_RESULT
case 0, Route111_EventScript_28D061
@@ -282,58 +282,58 @@ Route111_Movement_28D051: @ 828D051
step_end
Route111_EventScript_28D053:: @ 828D053
- msgbox Route111_Text_28B62D, 5
+ msgbox Route111_Text_28B62D, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
Route111_EventScript_28D061:: @ 828D061
- msgbox Route111_Text_28B3F3, 5
+ msgbox Route111_Text_28B3F3, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
Route111_EventScript_28D06F:: @ 828D06F
- msgbox Route111_Text_28B1B3, 5
+ msgbox Route111_Text_28B1B3, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
Route111_EventScript_28D07D:: @ 828D07D
- msgbox Route111_Text_28B23D, 5
+ msgbox Route111_Text_28B23D, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
Route111_EventScript_28D08B:: @ 828D08B
- msgbox Route111_Text_28B2FA, 5
+ msgbox Route111_Text_28B2FA, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
Route111_EventScript_28D099:: @ 828D099
- msgbox Route111_Text_28B379, 5
+ msgbox Route111_Text_28B379, MSGBOX_YESNO
goto Route111_EventScript_28D0A7
end
Route111_EventScript_28D0A7:: @ 828D0A7
compare VAR_RESULT, 0
goto_eq Route111_EventScript_28D0E1
- msgbox Route111_Text_28B433, 4
+ 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
- msgbox Route111_Text_28B4AB, 4
+ msgbox Route111_Text_28B4AB, MSGBOX_DEFAULT
special GabbyAndTyAfterInterview
- setflag FLAG_0x001
+ setflag FLAG_TEMP_1
release
end
Route111_EventScript_28D0E1:: @ 828D0E1
- msgbox Route111_Text_28B577, 4
- setflag FLAG_0x001
+ msgbox Route111_Text_28B577, MSGBOX_DEFAULT
+ setflag FLAG_TEMP_1
release
end
Route111_EventScript_28D0EE:: @ 828D0EE
- msgbox Route111_Text_28B5C0, 4
+ msgbox Route111_Text_28B5C0, MSGBOX_DEFAULT
release
end
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
index 46be101e1..52ae750b0 100644
--- a/data/scripts/mauville_man.inc
+++ b/data/scripts/mauville_man.inc
@@ -11,7 +11,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066
MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6
lock
faceplayer
- msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7
compare VAR_RESULT, 0
@@ -25,17 +25,17 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7
special ScrSpecial_HasBardSongBeenChanged
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4
- msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA
- msgbox MauvilleCity_PokemonCenter_1F_Text_2903C0, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2903C0, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4
- msgbox MauvilleCity_PokemonCenter_1F_Text_290421, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290421, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
compare VAR_RESULT, 0
@@ -49,20 +49,20 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113
faceplayer
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
- msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
special ScrSpecial_PlayBardSong
delay 60
- msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
special ScrSpecial_SaveBardSongLyrics
- msgbox MauvilleCity_PokemonCenter_1F_Text_290514, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290514, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E15D:: @ 828E15D
- msgbox MauvilleCity_PokemonCenter_1F_Text_29049B, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29049B, MSGBOX_DEFAULT
release
end
@@ -70,11 +70,11 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
lock
faceplayer
setflag FLAG_SYS_HIPSTER_MEET
- msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, MSGBOX_DEFAULT
special ScrSpecial_GetHipsterSpokenFlag
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C
- msgbox MauvilleCity_PokemonCenter_1F_Text_290598, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290598, MSGBOX_DEFAULT
release
end
@@ -82,12 +82,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C
special ScrSpecial_HipsterTeachWord
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4
- msgbox MauvilleCity_PokemonCenter_1F_Text_290602, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290602, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4
- msgbox MauvilleCity_PokemonCenter_1F_Text_290666, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290666, MSGBOX_DEFAULT
special ScrSpecial_SetHipsterSpokenFlag
release
end
@@ -154,7 +154,7 @@ MauvilleCity_PokemonCenter_1F_Text_28E45A: @ 828E45A
MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4
lock
faceplayer
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503
special ScrSpecial_GetTraderTradedFlag
@@ -166,12 +166,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4
end
MauvilleCity_PokemonCenter_1F_EventScript_28E503:: @ 828E503
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E1E8, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E1E8, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E20E, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E20E, MSGBOX_DEFAULT
release
end
@@ -182,7 +182,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558
compare VAR_0x8004, 65535
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E
special ScrSpecial_DoesPlayerHaveNoDecorations
@@ -192,7 +192,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
end
MauvilleCity_PokemonCenter_1F_EventScript_28E558:: @ 828E558
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E27F, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E27F, MSGBOX_DEFAULT
release
end
@@ -209,12 +209,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E56E:: @ 828E56E
end
MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E2E3, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E2E3, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, MSGBOX_DEFAULT
special ScrSpecial_TraderMenuGiveDecoration
waitstate
compare VAR_0x8006, 0
@@ -224,26 +224,26 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584
special ScrSpecial_IsDecorationFull
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584
special ScrSpecial_TraderDoDecorationTrade
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E5D4:: @ 828E5D4
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E356, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E356, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_28E5DE:: @ 828E5DE
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E3EC, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E3EC, MSGBOX_DEFAULT
goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
end
MauvilleCity_PokemonCenter_1F_EventScript_28E5EC:: @ 828E5EC
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E380, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E380, MSGBOX_DEFAULT
release
end
@@ -810,7 +810,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A
setvar VAR_0x8009, 0
setvar VAR_0x800A, 0
setvar VAR_0x800B, 0
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot
@@ -836,38 +836,38 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7
end
MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, 4
+ 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 MauvilleCity_PokemonCenter_1F_EventScript_2901E2
MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E6AE, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E6AE, MSGBOX_DEFAULT
MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, MSGBOX_YESNO
compare VAR_RESULT, 0
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_29020F:: @ 829020F
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E726, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E726, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_290219:: @ 8290219
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E64D, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E64D, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_290223:: @ 8290223
- msgbox MauvilleCity_PokemonCenter_1F_Text_28E8D9, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E8D9, MSGBOX_DEFAULT
release
end
@@ -895,7 +895,7 @@ MauvilleCity_PokemonCenter_1F_Text_2902BD: @ 82902BD
MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6
lock
faceplayer
- msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, 5
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290317
compare VAR_RESULT, 0
@@ -919,7 +919,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331
end
MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B
- msgbox MauvilleCity_PokemonCenter_1F_Text_2902A7, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2902A7, MSGBOX_DEFAULT
goto MauvilleCity_PokemonCenter_1F_EventScript_290359
end
@@ -935,12 +935,12 @@ MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359
end
MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A
- msgbox MauvilleCity_PokemonCenter_1F_Text_290281, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290281, MSGBOX_DEFAULT
release
end
MauvilleCity_PokemonCenter_1F_EventScript_290384:: @ 8290384
- msgbox MauvilleCity_PokemonCenter_1F_Text_2902BD, 4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2902BD, MSGBOX_DEFAULT
release
end
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
index 3fba532bf..cd2885ea5 100644
--- a/data/scripts/mystery_event_club.inc
+++ b/data/scripts/mystery_event_club.inc
@@ -3,12 +3,12 @@ PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539
faceplayer
checkflag FLAG_SYS_CHAT_USED
goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915F5
- msgbox PetalburgCity_PokemonCenter_1F_Text_291687, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291687, MSGBOX_DEFAULT
goto PetalburgCity_PokemonCenter_1F_EventScript_291552
end
PetalburgCity_PokemonCenter_1F_EventScript_291552:: @ 8291552
- msgbox PetalburgCity_PokemonCenter_1F_Text_2916FF, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_2916FF, MSGBOX_DEFAULT
multichoice 17, 6, 20, 0
switch VAR_RESULT
case 0, PetalburgCity_PokemonCenter_1F_EventScript_29159F
@@ -18,12 +18,12 @@ PetalburgCity_PokemonCenter_1F_EventScript_291552:: @ 8291552
end
PetalburgCity_PokemonCenter_1F_EventScript_291591:: @ 8291591
- msgbox PetalburgCity_PokemonCenter_1F_Text_291729, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291729, MSGBOX_DEFAULT
goto PetalburgCity_PokemonCenter_1F_EventScript_291552
end
PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F
- msgbox PetalburgCity_PokemonCenter_1F_Text_291969, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291969, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 0
call PetalburgCity_PokemonCenter_1F_EventScript_271E7C
@@ -36,7 +36,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F
end
PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB
- msgbox PetalburgCity_PokemonCenter_1F_Text_2919DC, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_2919DC, MSGBOX_DEFAULT
release
end
@@ -45,22 +45,22 @@ PetalburgCity_PokemonCenter_1F_EventScript_2915D5:: @ 82915D5
special sub_811EECC
waitmessage
delay 80
- msgbox PetalburgCity_PokemonCenter_1F_Text_291B22, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291B22, MSGBOX_DEFAULT
release
end
PetalburgCity_PokemonCenter_1F_EventScript_2915EB:: @ 82915EB
- msgbox PetalburgCity_PokemonCenter_1F_Text_291991, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291991, MSGBOX_DEFAULT
release
end
PetalburgCity_PokemonCenter_1F_EventScript_2915F5:: @ 82915F5
- msgbox PetalburgCity_PokemonCenter_1F_Text_291A1B, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291A1B, MSGBOX_DEFAULT
goto PetalburgCity_PokemonCenter_1F_EventScript_291603
end
PetalburgCity_PokemonCenter_1F_EventScript_291603:: @ 8291603
- msgbox PetalburgCity_PokemonCenter_1F_Text_291A4F, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291A4F, MSGBOX_DEFAULT
multichoice 17, 6, 20, 0
switch VAR_RESULT
case 0, PetalburgCity_PokemonCenter_1F_EventScript_291650
@@ -70,12 +70,12 @@ PetalburgCity_PokemonCenter_1F_EventScript_291603:: @ 8291603
end
PetalburgCity_PokemonCenter_1F_EventScript_291642:: @ 8291642
- msgbox PetalburgCity_PokemonCenter_1F_Text_291729, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291729, MSGBOX_DEFAULT
goto PetalburgCity_PokemonCenter_1F_EventScript_291603
end
PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650
- msgbox PetalburgCity_PokemonCenter_1F_Text_291A6B, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291A6B, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 0
call PetalburgCity_PokemonCenter_1F_EventScript_271E7C
@@ -88,7 +88,7 @@ PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650
end
PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C
- msgbox PetalburgCity_PokemonCenter_1F_Text_291ABA, 4
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291ABA, MSGBOX_DEFAULT
release
end
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index 734831f7f..81ea87871 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -5,14 +5,14 @@ LittlerootTown_MaysHouse_2F_EventScript_2926FE:: @ 82926FE
LittlerootTown_BrendansHouse_1F_EventScript_292704:: @ 8292704
LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT
applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_27259E
waitmovement 0
compare VAR_0x8005, 0
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_29274D
compare VAR_0x8005, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292758
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, MSGBOX_DEFAULT
closemessage
setvar VAR_0x4092, 4
applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292763
@@ -37,7 +37,7 @@ LittlerootTown_BrendansHouse_1F_Movement_292763: @ 8292763
LittlerootTown_BrendansHouse_1F_EventScript_292765:: @ 8292765
LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6
applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AF0
@@ -61,13 +61,13 @@ LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799
LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799
checkflag FLAG_0x051
goto_eq LittlerootTown_BrendansHouse_2F_EventScript_29283F
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, MSGBOX_DEFAULT
call LittlerootTown_BrendansHouse_2F_EventScript_292849
delay 30
setvar VAR_0x4092, 6
setflag FLAG_0x051
- setflag FLAG_0x2F2
- setflag FLAG_0x2F3
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1
+ setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2
checkplayergender
compare VAR_RESULT, 0
call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2927DF
@@ -85,7 +85,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF
waitmovement 0
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292857
waitmovement 0
@@ -98,7 +98,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F
waitmovement 0
applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A4
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, 4
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292862
waitmovement 0
@@ -161,7 +161,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D
applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE0
waitmovement 0
playbgm MUS_INTER_V, 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7
waitmovement 0
@@ -170,8 +170,8 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D
call LittlerootTown_BrendansHouse_1F_EventScript_29296C
applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, 4
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_1, 1
applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929BD
@@ -186,7 +186,7 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC
applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AE8
waitmovement 0
playbgm MUS_INTER_V, 0
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, 4
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA
waitmovement 0
@@ -195,8 +195,8 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC
call LittlerootTown_MaysHouse_1F_EventScript_29296C
applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8
waitmovement 0
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, 4
- msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, 4
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_1, 1
applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929C1
@@ -211,7 +211,7 @@ LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B
waitmovement 0
applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_27259A
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B96, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B96, MSGBOX_DEFAULT
closemessage
return
@@ -219,7 +219,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C
LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C
applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A6
waitmovement 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT
fadedefaultbgm
special TurnOffTVScreen
setflag FLAG_SYS_TV_HOME
@@ -326,23 +326,23 @@ LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94
compare VAR_0x4092, 7
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT
release
end
LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT
release
end
LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19
checkflag FLAG_0x0D8
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A43
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, MSGBOX_DEFAULT
closemessage
delay 30
playfanfare MUS_ME_TORE_EYE
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E89, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E89, MSGBOX_DEFAULT
waitfanfare
closemessage
delay 30
@@ -358,22 +358,22 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43
LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51
checkflag FLAG_0x085
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, MSGBOX_DEFAULT
giveitem_std ITEM_AMULET_COIN
compare VAR_RESULT, 0
goto_eq LittlerootTown_BrendansHouse_1F_EventScript_272054
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT
setflag FLAG_0x085
release
end
LittlerootTown_BrendansHouse_1F_EventScript_292A86:: @ 8292A86
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D08, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D08, MSGBOX_DEFAULT
goto LittlerootTown_BrendansHouse_1F_EventScript_292A9E
end
LittlerootTown_BrendansHouse_1F_EventScript_292A94:: @ 8292A94
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CC3, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CC3, MSGBOX_DEFAULT
release
end
@@ -381,12 +381,12 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A9E:: @ 8292A9E
closemessage
call LittlerootTown_BrendansHouse_1F_EventScript_272083
incrementgamestat 16
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D5C, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D5C, MSGBOX_DEFAULT
release
end
LittlerootTown_BrendansHouse_1F_EventScript_292AB0:: @ 8292AB0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CD8, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CD8, MSGBOX_DEFAULT
release
end
@@ -396,7 +396,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292ABA:: @ 8292ABA
faceplayer
waitse
playmoncry SPECIES_VIGOROTH, 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EA8, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EA8, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -407,7 +407,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292ACD:: @ 8292ACD
faceplayer
waitse
playmoncry SPECIES_VIGOROTH, 0
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EB3, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EB3, MSGBOX_DEFAULT
waitmoncry
release
end
@@ -464,16 +464,16 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C96
compare VAR_0x8008, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CA1
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, MSGBOX_DEFAULT
giveitem_std ITEM_SS_TICKET
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, MSGBOX_DEFAULT
closemessage
delay 20
compare VAR_0x8008, 0
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CAC
compare VAR_0x8008, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CC1
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CD6
@@ -488,7 +488,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
compare VAR_0x8008, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D5D
delay 20
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, MSGBOX_DEFAULT
closemessage
setflag FLAG_SYS_TV_LATI
special TurnOnTVScreen
@@ -497,13 +497,13 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D72
compare VAR_0x8008, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D7D
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D1E
compare VAR_0x8008, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D33
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT
closemessage
clearflag FLAG_SYS_TV_LATI
setflag FLAG_0x0FF
@@ -512,12 +512,12 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D88
compare VAR_0x8008, 1
call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D9D
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, MSGBOX_DEFAULT
multichoice 22, 8, 108, 1
copyvar VAR_0x8004, VAR_RESULT
special InitRoamer
copyvar VAR_0x40D5, VAR_RESULT
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F83A1, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F83A1, MSGBOX_DEFAULT
closemessage
setvar VAR_0x4082, 4
setvar VAR_0x408C, 4
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
index 3187c95f4..324944bb1 100644
--- a/data/scripts/pokeblocks.inc
+++ b/data/scripts/pokeblocks.inc
@@ -247,24 +247,24 @@ LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4
EventScript_Pblock1_Ask:: @ 8293C3E
lockall
- checkflag FLAG_0x340
+ checkflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB
setvar VAR_0x8009, 1
applymovement 16, LilycoveCity_ContestLobby_Movement_294053
waitmovement 0
- msgbox Text_Pblock1_Ask, 5
+ msgbox Text_Pblock1_Ask, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq EventScript_Pblock1_Yes
goto EventScript_Pblock1_No
end
EventScript_Pblock1_No: @ 8293C70
- msgbox Text_Pblock1_No, 4
+ msgbox Text_Pblock1_No, MSGBOX_DEFAULT
releaseall
end
EventScript_Pblock1_NoBerries: @ 8293C7A
- msgbox Text_Pblock1_NoBerries, 4
+ msgbox Text_Pblock1_NoBerries, MSGBOX_DEFAULT
dodailyevents
checkflag FLAG_0x921
goto_eq LilycoveCity_ContestLobby_EventScript_293C92
@@ -272,31 +272,31 @@ EventScript_Pblock1_NoBerries: @ 8293C7A
end
LilycoveCity_ContestLobby_EventScript_293C92: @ 8293C92
- msgbox LilycoveCity_ContestLobby_Text_29307D, 4
+ msgbox LilycoveCity_ContestLobby_Text_29307D, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C
- msgbox LilycoveCity_ContestLobby_Text_292FD1, 4
+ msgbox LilycoveCity_ContestLobby_Text_292FD1, MSGBOX_DEFAULT
giveitem_std ITEM_PECHA_BERRY
setflag FLAG_0x921
goto EventScript_Pblock1_KnowHow
end
EventScript_Pblock1_KnowHow: @ 8293CB9
- msgbox Text_Pblock1_KnowHow, 5
+ msgbox Text_Pblock1_KnowHow, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq EventScript_Pblock1_Start
goto EventScript_Pblock1_Explain
end
EventScript_Pblock1_Start: @ 8293CD2
- msgbox Text_Pblock1_Start, 4
+ msgbox Text_Pblock1_Start, MSGBOX_DEFAULT
goto EventScript_StartBlending
end
EventScript_Pblock1_Explain: @ 8293CE0
- msgbox Text_Pblock1_Explain, 4
+ msgbox Text_Pblock1_Explain, MSGBOX_DEFAULT
goto EventScript_Pblock1_Start
end
@@ -310,7 +310,7 @@ EventScript_Pblock1_Yes: @ 8293CEE
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
goto_eq EventScript_Pblock1_NoBerries
- msgbox Text_Pblock1_Yes, 4
+ msgbox Text_Pblock1_Yes, MSGBOX_DEFAULT
goto EventScript_Pblock1_KnowHow
end
@@ -323,12 +323,12 @@ EventScript_StartBlending: @ 8293D2C
end
EventScript_Pblock1_FullPokeblock: @ 8293D39
- msgbox Text_Pblock1_FullPokeblock, 4
+ msgbox Text_Pblock1_FullPokeblock, MSGBOX_DEFAULT
releaseall
end
EventScript_Pblock1_NoPokeblock: @ 8293D43
- msgbox Text_Pblock1_NoPokeblock, 4
+ msgbox Text_Pblock1_NoPokeblock, MSGBOX_DEFAULT
releaseall
end
@@ -338,36 +338,36 @@ LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D
applymovement 10, LilycoveCity_ContestLobby_Movement_2725A2
applymovement 3, LilycoveCity_ContestLobby_Movement_294053
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_293201, 5
+ msgbox LilycoveCity_ContestLobby_Text_293201, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293DC6
goto LilycoveCity_ContestLobby_EventScript_293D7D
end
LilycoveCity_ContestLobby_EventScript_293D7D: @ 8293D7D
- msgbox LilycoveCity_ContestLobby_Text_29323D, 4
+ msgbox LilycoveCity_ContestLobby_Text_29323D, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87
- msgbox LilycoveCity_ContestLobby_Text_293394, 4
+ msgbox LilycoveCity_ContestLobby_Text_293394, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91
- msgbox LilycoveCity_ContestLobby_Text_29328C, 5
+ msgbox LilycoveCity_ContestLobby_Text_29328C, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293DAA
goto LilycoveCity_ContestLobby_EventScript_293DB8
end
LilycoveCity_ContestLobby_EventScript_293DAA: @ 8293DAA
- msgbox LilycoveCity_ContestLobby_Text_2932C3, 4
+ msgbox LilycoveCity_ContestLobby_Text_2932C3, MSGBOX_DEFAULT
goto EventScript_StartBlending
end
LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8
- msgbox LilycoveCity_ContestLobby_Text_2932F1, 4
+ msgbox LilycoveCity_ContestLobby_Text_2932F1, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_293DAA
end
@@ -378,7 +378,7 @@ LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_293E14
- msgbox LilycoveCity_ContestLobby_Text_293237, 4
+ msgbox LilycoveCity_ContestLobby_Text_293237, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
goto_if 5, LilycoveCity_ContestLobby_EventScript_293D91
@@ -387,12 +387,12 @@ LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6
end
LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A
- msgbox LilycoveCity_ContestLobby_Text_29343E, 4
+ msgbox LilycoveCity_ContestLobby_Text_29343E, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293E14: @ 8293E14
- msgbox LilycoveCity_ContestLobby_Text_2934A2, 4
+ msgbox LilycoveCity_ContestLobby_Text_2934A2, MSGBOX_DEFAULT
releaseall
end
@@ -404,36 +404,36 @@ LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E
applymovement 17, LilycoveCity_ContestLobby_Movement_2725A2
applymovement VAR_0x8008, LilycoveCity_ContestLobby_Movement_294053
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_293842, 5
+ msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293EA3
goto LilycoveCity_ContestLobby_EventScript_293E5A
end
LilycoveCity_ContestLobby_EventScript_293E5A: @ 8293E5A
- msgbox LilycoveCity_ContestLobby_Text_293558, 4
+ msgbox LilycoveCity_ContestLobby_Text_293558, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64
- msgbox LilycoveCity_ContestLobby_Text_29367D, 4
+ msgbox LilycoveCity_ContestLobby_Text_29367D, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E
- msgbox LilycoveCity_ContestLobby_Text_29357E, 5
+ msgbox LilycoveCity_ContestLobby_Text_29357E, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293E87
goto LilycoveCity_ContestLobby_EventScript_293E95
end
LilycoveCity_ContestLobby_EventScript_293E87: @ 8293E87
- msgbox LilycoveCity_ContestLobby_Text_2935B1, 4
+ msgbox LilycoveCity_ContestLobby_Text_2935B1, MSGBOX_DEFAULT
goto EventScript_StartBlending
end
LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95
- msgbox LilycoveCity_ContestLobby_Text_2935E5, 4
+ msgbox LilycoveCity_ContestLobby_Text_2935E5, MSGBOX_DEFAULT
goto LilycoveCity_ContestLobby_EventScript_293E87
end
@@ -444,7 +444,7 @@ LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_293EF1
- msgbox LilycoveCity_ContestLobby_Text_29354E, 4
+ msgbox LilycoveCity_ContestLobby_Text_29354E, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
goto_if 5, LilycoveCity_ContestLobby_EventScript_293E6E
@@ -453,27 +453,27 @@ LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3
end
LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7
- msgbox LilycoveCity_ContestLobby_Text_293738, 4
+ msgbox LilycoveCity_ContestLobby_Text_293738, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293EF1: @ 8293EF1
- msgbox LilycoveCity_ContestLobby_Text_293792, 4
+ msgbox LilycoveCity_ContestLobby_Text_293792, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB
lockall
setvar VAR_0x8009, 1
- msgbox LilycoveCity_ContestLobby_Text_2C42F4, 5
+ msgbox LilycoveCity_ContestLobby_Text_2C42F4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293F28
- msgbox LilycoveCity_ContestLobby_Text_2C4332, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C4332, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E
- msgbox LilycoveCity_ContestLobby_Text_2C439D, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C439D, MSGBOX_DEFAULT
releaseall
end
@@ -492,37 +492,37 @@ LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28
end
LilycoveCity_ContestLobby_EventScript_293F64: @ 8293F64
- msgbox LilycoveCity_ContestLobby_Text_2C43FA, 5
+ msgbox LilycoveCity_ContestLobby_Text_2C43FA, MSGBOX_YESNO
compare VAR_RESULT, 0
call_if 1, LilycoveCity_ContestLobby_EventScript_293F85
- msgbox LilycoveCity_ContestLobby_Text_2C451B, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C451B, MSGBOX_DEFAULT
goto EventScript_StartBlending
end
LilycoveCity_ContestLobby_EventScript_293F85: @ 8293F85
- msgbox LilycoveCity_ContestLobby_Text_2C444C, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C444C, MSGBOX_DEFAULT
return
LilycoveCity_ContestLobby_EventScript_293F8E: @ 8293F8E
- msgbox LilycoveCity_ContestLobby_Text_2C4573, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C4573, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293F98: @ 8293F98
- msgbox LilycoveCity_ContestLobby_Text_2C45E8, 4
+ msgbox LilycoveCity_ContestLobby_Text_2C45E8, MSGBOX_DEFAULT
releaseall
end
LilycoveCity_ContestLobby_EventScript_293FA2:: @ 8293FA2
- msgbox LilycoveCity_ContestLobby_Text_2937F9, 2
+ msgbox LilycoveCity_ContestLobby_Text_2937F9, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_293FAB:: @ 8293FAB
- msgbox LilycoveCity_ContestLobby_Text_293842, 2
+ msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_293FB4:: @ 8293FB4
- msgbox LilycoveCity_ContestLobby_Text_29388F, 2
+ msgbox LilycoveCity_ContestLobby_Text_29388F, MSGBOX_NPC
end
LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD
@@ -533,7 +533,7 @@ LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD
LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8
lock
faceplayer
- msgbox Text_Pblock1_Talk_0, 4
+ msgbox Text_Pblock1_Talk_0, MSGBOX_DEFAULT
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293FEE
@@ -542,7 +542,7 @@ LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8
end
LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE
- msgbox Text_Pblock1_Talk_1, 4
+ msgbox Text_Pblock1_Talk_1, MSGBOX_DEFAULT
release
end
@@ -560,15 +560,15 @@ LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8
end
LilycoveCity_ContestLobby_EventScript_294028: @ 8294028
- msgbox LilycoveCity_ContestLobby_Text_293BB4, 4
+ msgbox LilycoveCity_ContestLobby_Text_293BB4, MSGBOX_DEFAULT
release
end
LilycoveCity_ContestLobby_EventScript_294032: @ 8294032
- msgbox LilycoveCity_ContestLobby_Text_293AF0, 4
+ msgbox LilycoveCity_ContestLobby_Text_293AF0, MSGBOX_DEFAULT
giveitem_std ITEM_PECHA_BERRY
setflag FLAG_0x921
- msgbox LilycoveCity_ContestLobby_Text_293B76, 4
+ msgbox LilycoveCity_ContestLobby_Text_293B76, MSGBOX_DEFAULT
release
end
@@ -592,7 +592,7 @@ EventScript_PblockLink:: @ 8294055
end
EventScript_PblocLink_Ask: @ 8294092
- msgbox Text_PblockLink_Ask, 5
+ msgbox Text_PblockLink_Ask, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq EventScript_PblocLink_TryConnect
compare VAR_RESULT, 0
@@ -600,7 +600,7 @@ EventScript_PblocLink_Ask: @ 8294092
end
EventScript_PblocLink_NoBerries: @ 82940B1
- msgbox Text_PblockLink_NoBerries, 4
+ msgbox Text_PblockLink_NoBerries, MSGBOX_DEFAULT
releaseall
end
@@ -628,17 +628,17 @@ EventScript_PblocLink_TryConnect: @ 82940BB
end
EventScript_PblocLink_1Arrived: @ 829411D
- msgbox Text_PblockLink_1Arrived, 4
+ msgbox Text_PblockLink_1Arrived, MSGBOX_DEFAULT
goto EventScript_PblocLink_StartLinkBlending
end
EventScript_PblocLink_2Arrived: @ 829412B
- msgbox Text_PblockLink_2Arrived, 4
+ msgbox Text_PblockLink_2Arrived, MSGBOX_DEFAULT
goto EventScript_PblocLink_StartLinkBlending
end
EventScript_PblocLink_3Arrived: @ 8294139
- msgbox Text_PblockLink_3Arrived, 4
+ msgbox Text_PblockLink_3Arrived, MSGBOX_DEFAULT
goto EventScript_PblocLink_StartLinkBlending
end
@@ -659,36 +659,36 @@ EventScript_PblocLink_End: @ 8294160
end
EventScript_PblocLink_FullPokeblock: @ 8294162
- msgbox Text_PblockLink_FullPokeblock, 4
+ msgbox Text_PblockLink_FullPokeblock, MSGBOX_DEFAULT
releaseall
end
EventScript_PblocLink_NoPokeblock: @ 829416C
- msgbox Text_PblockLink_NoPokeblock, 4
+ msgbox Text_PblockLink_NoPokeblock, MSGBOX_DEFAULT
releaseall
end
EventScript_PblocLink_SomeoneNotReady: @ 8294176
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_2781C7, 4
+ msgbox LilycoveCity_ContestLobby_Text_2781C7, MSGBOX_DEFAULT
releaseall
end
EventScript_PblocLink_DifferentSelections: @ 8294183
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_278255, 4
+ msgbox LilycoveCity_ContestLobby_Text_278255, MSGBOX_DEFAULT
releaseall
end
EventScript_PblocLink_CloseLink: @ 8294190
special CloseLink
- msgbox gUnknown_08272D9C, 4
+ msgbox gUnknown_08272D9C, MSGBOX_DEFAULT
releaseall
end
EventScript_PblocLink_LinkError: @ 829419D
special CloseLink
- msgbox LilycoveCity_ContestLobby_Text_27821C, 4
+ msgbox LilycoveCity_ContestLobby_Text_27821C, MSGBOX_DEFAULT
releaseall
end
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index e4b1fce41..84bb3982d 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -13,7 +13,7 @@ EventScript_2A4B5D:: @ 82A4B5D
EventScript_2A4B6F:: @ 82A4B6F
lockall
- msgbox Text_2A4BF4, 5
+ msgbox Text_2A4BF4, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq EventScript_2A4B85
releaseall
@@ -45,7 +45,7 @@ EventScript_2A4BAC:: @ 82A4BAC
special GetPokeblockFeederInFront
compare VAR_RESULT, 65535
goto_if 5, EventScript_2A4BEB
- msgbox Text_2A4C90, 5
+ msgbox Text_2A4C90, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq EventScript_2A4BD0
releaseall
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index 33e7f2e5b..aa1f4afee 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -36,10 +36,10 @@ Route111_Text_27659D: @ 827659D
Route111_EventScript_2765FF:: @ 82765FF
lock
faceplayer
- msgbox Route111_Text_2762C9, 5
+ msgbox Route111_Text_2762C9, MSGBOX_YESNO
compare VAR_RESULT, 1
goto_eq Route111_EventScript_27661E
- msgbox Route111_Text_27655C, 4
+ msgbox Route111_Text_27655C, MSGBOX_DEFAULT
release
end
@@ -47,10 +47,10 @@ Route111_EventScript_27661E:: @ 827661E
giveitem_std ITEM_TM43
compare VAR_RESULT, 0
goto_eq Route111_EventScript_276680
- msgbox Route111_Text_27636E, 4
+ msgbox Route111_Text_27636E, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x060
- clearflag FLAG_0x3B4
+ clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
compare VAR_FACING, 3
call_if 1, Route111_EventScript_27666A
compare VAR_FACING, 4
@@ -72,7 +72,7 @@ Route111_EventScript_276675:: @ 8276675
return
Route111_EventScript_276680:: @ 8276680
- msgbox Route111_Text_27659D, 4
+ msgbox Route111_Text_27659D, MSGBOX_DEFAULT
release
end
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index 2292e9984..9033e741f 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -32,18 +32,18 @@ EventScript_27EE54:: @ 827EE54
EventScript_27EE8A:: @ 827EE8A
special GetMomOrDadStringForTVMessage
- msgbox gUnknown_08272BCF, 4
+ msgbox gUnknown_08272BCF, MSGBOX_DEFAULT
special TurnOffTVScreen
releaseall
end
EventScript_27EE9A:: @ 827EE9A
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F0F, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F0F, MSGBOX_DEFAULT
releaseall
end
EventScript_27EEA4:: @ 827EEA4
- msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT
special InitRoamer
clearflag FLAG_SYS_TV_LATI
setflag FLAG_0x0FF
@@ -68,7 +68,7 @@ EventScript_27EED0:: @ 827EED0
EventScript_27EED8:: @ 827EED8
special GetMomOrDadStringForTVMessage
- msgbox gUnknown_08272BCF, 4
+ msgbox gUnknown_08272BCF, MSGBOX_DEFAULT
goto EventScript_27EED0
end
diff --git a/data/shop.s b/data/shop.s
deleted file mode 100644
index 45ecbb585..000000000
--- a/data/shop.s
+++ /dev/null
@@ -1,80 +0,0 @@
-@ the third big chunk of data
-
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-gUnknown_08589A08:: @ 8589A08
- .4byte BuyMenuTryMakePurchase
- .4byte BuyMenuReturnToItemList
-
-gUnknown_08589A10:: @ 8589A10
- .4byte gUnknown_085E93C7
- .4byte HandleShopMenuBuy
- .4byte gUnknown_085E93CB
- .4byte HandleShopMenuSell
- .4byte gUnknown_085E93D0
- .4byte HandleShopMenuQuit
-
-gUnknown_08589A28:: @ 8589A28
- .4byte gUnknown_085E93C7
- .4byte HandleShopMenuBuy
- .4byte gUnknown_085E93D0
- .4byte HandleShopMenuQuit
-
-gUnknown_08589A38:: @ 8589A38
- window_template 0, 2, 1, 9, 6, 15, 8
- window_template 0, 2, 1, 9, 4, 15, 8
-
-gUnknown_08589A48:: @ 8589A48
- .byte 0, 0, 0, 0
- .4byte BuyMenuPrintItemDescriptionAndShowItemIcon
- .4byte BuyMenuPrintPriceInList
- .byte 0, 0, 0, 0, 1, 0, 8, 0, 33, 48, 0, 7
-
-gUnknown_08589A60:: @ 8589A60
- .4byte 0x1F8
- .4byte 0x11E1
- .4byte 0x21D2
- .4byte 0x31C3
-
-gUnknown_08589A70:: @ 8589A70
- window_template 0, 1, 1, 10, 2, 15, 30
- window_template 0, 14, 2, 15, 16, 15, 50
- window_template 0, 0, 13, 14, 6, 15, 0x122
- window_template 0, 1, 11, 12, 2, 15, 0x176
- window_template 0, 18, 11, 10, 2, 15, 0x18E
- window_template 0, 2, 15, 27, 4, 15, 0x1A2
- null_window_template
-
-gUnknown_08589AA8:: @ 8589AA8
- window_template 0, 21, 9, 5, 4, 15, 0x20E
-
-gUnknown_08589AB0:: @ 8589AB0
- .byte 1, 2, 3
- .byte 0, 2, 3
- .byte 0, 3, 2
-
- .align 1
-
-gUnknown_08589ABA:: @ 8589ABA
- .2byte 0x284, 0x282, 0x280
-
-gUnknown_08589AC0:: @ 8589AC0
- .2byte 0x285, 0x283, 0x281
-
-gUnknown_08589AC6:: @ 8589AC6
- .2byte 0x28C, 0x28A, 0x288
-
-gUnknown_08589ACC:: @ 8589ACC
- .2byte 0x28D, 0x28B, 0x289
-
-gUnknown_08589AD2:: @ 8589AD2
- .2byte 0x2A0, 0x2A2, 0x2A4
-
-gUnknown_08589AD8:: @ 8589AD8
- .2byte 0x2A1, 0x2A3, 0x2A5
-
-gUnknown_08589ADE:: @ 8589ADE
- .2byte 0x2A8, 0x2AA, 0x2AC
diff --git a/data/specials.inc b/data/specials.inc
index cec36932a..a1d9734ca 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -94,7 +94,7 @@ gSpecials:: @ 81DBA64
def_special sub_80F8390
def_special sub_80F8850
def_special sub_80F82B4
- def_special sub_80F87D8
+ def_special SetContestTrainerGfxIds
def_special sub_80F7F30
def_special sub_80F8970
def_special sub_80F8AFC
@@ -102,7 +102,7 @@ gSpecials:: @ 81DBA64
def_special sub_80F7F7C
def_special sub_80F7FFC
def_special sub_80F8D24
- def_special sub_80F8C7C
+ def_special GiveMonArtistRibbon
def_special sub_80B3000
def_special SaveGame
def_special sub_80FAFF8
@@ -210,7 +210,7 @@ gSpecials:: @ 81DBA64
def_special ShowLinkBattleRecords
def_special IsEnoughForCostInVar0x8005
def_special SubtractMoneyFromVar0x8005
- def_special sub_80F972C
+ def_special ExecuteWhiteOut
def_special sp0C8_whiteout_maybe
def_special RotatingGate_InitPuzzle
def_special RotatingGate_InitPuzzleAndGraphics
@@ -242,16 +242,16 @@ gSpecials:: @ 81DBA64
def_special FinishCyclingRoadChallenge
def_special UpdateCyclingRoadState
def_special GetLeadMonFriendshipScore
- def_special sub_81A1780
+ def_special CallFrontierUtilFunc
def_special sub_8161F74
def_special CallBattleDomeFunction
- def_special sub_8195960
- def_special sub_8165360
- def_special sub_8163AC4
- def_special sub_81A5238
- def_special sub_81A5E74
- def_special sub_81A703C
- def_special sub_81A8E7C
+ def_special CallBattlePalaceFunction
+ def_special CopyEReaderTrainerGreeting
+ def_special DoSpecialTrainerBattle
+ def_special CallBattleArenaFunction
+ def_special CallBattleFactoryFunction
+ def_special CallBattlePikeFunction
+ def_special CallBattlePyramidFunction
def_special StopMapMusic
def_special sub_81B99B4
def_special sub_81B9B80
@@ -259,7 +259,7 @@ gSpecials:: @ 81DBA64
def_special sub_80F9490
def_special ValidateEReaderTrainer
def_special GetBestBattleTowerStreak
- def_special ReducePlayerPartyToThree
+ def_special ReducePlayerPartyToSelectedMons
def_special BedroomPC
def_special PlayerPC
def_special FieldShowRegionMap
@@ -330,13 +330,13 @@ gSpecials:: @ 81DBA64
def_special sub_80AC81C
def_special sp13E_warp_to_last_warp
def_special sp13F_fall_to_last_warp
- def_special sub_80F8D28
+ def_special ShowContestEntryMonPic
def_special sub_80F8EB8
- def_special sub_8162794
+ def_special SetEReaderTrainerGfxId
def_special BattleSetup_StartLatiBattle
def_special SetRoute119Weather
def_special SetRoute123Weather
- def_special sub_80F8FA0
+ def_special ScriptGetMultiplayerId
def_special ScriptGetPartyMonSpecies
def_special sub_81B98DC
def_special nullsub_54
@@ -350,7 +350,7 @@ gSpecials:: @ 81DBA64
def_special BufferLottoTicketNumber
def_special sub_81653CC
def_special sub_80F9370
- def_special sub_80F8FE8
+ def_special ScriptRandom
def_special sub_81AFDD0
def_special sub_80EDCE8
def_special sub_80EE2CC
@@ -448,8 +448,8 @@ gSpecials:: @ 81DBA64
def_special sub_80F90DC
def_special sub_80F910C
def_special sub_80F9160
- def_special sub_81A4AA0
- def_special sub_81A4AE8
+ def_special ShowRankingHallRecordsWindow
+ def_special ScrollRankingHallRecordsWindow
def_special sub_8139F20
def_special sub_80F9134
def_special sub_80F9154
diff --git a/data/text/pokedex_text.inc b/data/text/pokedex_text.inc
deleted file mode 100644
index caa41912d..000000000
--- a/data/text/pokedex_text.inc
+++ /dev/null
@@ -1,2321 +0,0 @@
-gDummyPokedexText:: @ 855D30D
- .string "This is a newly discovered POKéMON.\n"
- .string "It is currently under investigation.\n"
- .string "No detailed information is available\n"
- .string "at this time.$"
-
-gBulbasaurPokedexText:: @ 855D389
- .string "BULBASAUR can be seen napping in bright\n"
- .string "sunlight. There is a seed on its back.\n"
- .string "By soaking up the sun’s rays, the seed\n"
- .string "grows progressively larger.$"
-
-gIvysaurPokedexText:: @ 855D41B
- .string "To support its bulb, IVYSAUR’s legs\n"
- .string "grow sturdy. If it spends more time lying in\n"
- .string "the sunlight, the bud will soon bloom into\n"
- .string "a large flower.$"
-
-gVenusaurPokedexText:: @ 855D4A7
- .string "VENUSAUR’s flower is said to take on vivid\n"
- .string "colors if it gets plenty of nutrition and\n"
- .string "sunlight. The flower’s aroma soothes the\n"
- .string "emotions of people.$"
-
-gCharmanderPokedexText:: @ 855D539
- .string "The flame that burns at the tip of its\n"
- .string "tail is an indication of its emotions.\n"
- .string "The flame wavers when CHARMANDER is\n"
- .string "happy, and blazes when it is enraged.$"
-
-gCharmeleonPokedexText:: @ 855D5D1
- .string "Without pity, its sharp claws destroy foes.\n"
- .string "If it encounters a strong enemy, it\n"
- .string "becomes agitated, and the flame on its\n"
- .string "tail flares with a bluish white color.$"
-
-gCharizardPokedexText:: @ 855D66F
- .string "A CHARIZARD flies about in search of\n"
- .string "strong opponents. It breathes intense\n"
- .string "flames that can melt any material. However,\n"
- .string "it will never torch a weaker foe.$"
-
-gSquirtlePokedexText:: @ 855D708
- .string "Its shell is not just for protection.\n"
- .string "Its rounded shape and the grooves on its\n"
- .string "surface minimize resistance in water,\n"
- .string "enabling SQUIRTLE to swim at high speeds.$"
-
-gWartortlePokedexText:: @ 855D7A7
- .string "Its large tail is covered with rich, thick\n"
- .string "fur that deepens in color with age.\n"
- .string "The scratches on its shell are evidence\n"
- .string "of this POKéMON’s toughness in battle.$"
-
-gBlastoisePokedexText:: @ 855D845
- .string "The waterspouts that protrude from its\n"
- .string "shell are highly accurate. Their bullets of\n"
- .string "water can precisely nail tin cans from\n"
- .string "a distance of over 160 feet.$"
-
-gCaterpiePokedexText:: @ 855D8DC
- .string "Its voracious appetite compels it to\n"
- .string "devour leaves bigger than itself without\n"
- .string "hesitation. It releases a terribly strong\n"
- .string "odor from its antennae.$"
-
-gMetapodPokedexText:: @ 855D96C
- .string "Its shell is as hard as an iron slab.\n"
- .string "A METAPOD does not move very much\n"
- .string "because it is preparing its soft innards\n"
- .string "for evolution inside the shell.$"
-
-gButterfreePokedexText:: @ 855D9FD
- .string "It has a superior ability to search for\n"
- .string "delicious honey from flowers. It can seek,\n"
- .string "extract, and carry honey from flowers\n"
- .string "blooming over six miles away.$"
-
-gWeedlePokedexText:: @ 855DA94
- .string "A WEEDLE has an extremely acute sense\n"
- .string "of smell. It distinguishes its favorite\n"
- .string "kinds of leaves from those it dislikes by\n"
- .string "sniffing with its big red proboscis (nose).$"
-
-gKakunaPokedexText:: @ 855DB38
- .string "It remains virtually immobile while it\n"
- .string "clings to a tree. However, on the inside,\n"
- .string "it busily prepares for evolution. This is\n"
- .string "evident from how hot its shell becomes.$"
-
-gBeedrillPokedexText:: @ 855DBDB
- .string "A BEEDRILL is extremely territorial.\n"
- .string "For safety reasons, no one should \n"
- .string "ever approach its nest. If angered,\n"
- .string "they will attack in a swarm.$"
-
-gPidgeyPokedexText:: @ 855DC64
- .string "It has an extremely sharp sense of\n"
- .string "direction. It can unerringly return home to\n"
- .string "its nest, however far it may be removed\n"
- .string "from its familiar surroundings.$"
-
-gPidgeottoPokedexText:: @ 855DCFB
- .string "This POKéMON flies around, patrolling its\n"
- .string "large territory. If its living space is\n"
- .string "violated, it shows no mercy in thoroughly\n"
- .string "punishing the foe with its sharp claws.$"
-
-gPidgeotPokedexText:: @ 855DD9F
- .string "This POKéMON has gorgeous, glossy\n"
- .string "feathers. Many TRAINERS are so captivated\n"
- .string "by the beautiful feathers on its head that\n"
- .string "they choose PIDGEOT as their POKéMON.$"
-
-gRattataPokedexText:: @ 855DE3C
- .string "A RATTATA is cautious in the extreme.\n"
- .string "Even while it is asleep, it constantly\n"
- .string "moves its ears and listens for danger.\n"
- .string "It will make its nest anywhere.$"
-
-gRaticatePokedexText:: @ 855DED0
- .string "A RATICATE’s sturdy fangs grow steadily.\n"
- .string "To keep them ground down, it gnaws on\n"
- .string "rocks and logs. It may even chew on the\n"
- .string "walls of houses.$"
-
-gSpearowPokedexText:: @ 855DF58
- .string "Its loud cry can be heard over half a mile\n"
- .string "away. If its high, keening cry is heard\n"
- .string "echoing all around, it is a sign that they\n"
- .string "are warning each other of danger.$"
-
-gFearowPokedexText:: @ 855DFF8
- .string "Its long neck and elongated beak are\n"
- .string "ideal for catching prey in soil or water.\n"
- .string "It deftly moves this extended and skinny\n"
- .string "beak to pluck prey.$"
-
-gEkansPokedexText:: @ 855E084
- .string "An EKANS curls itself up in a spiral while\n"
- .string "it rests. This position allows it to quickly\n"
- .string "respond to an enemy from any direction\n"
- .string "with a threat from its upraised head.$"
-
-gArbokPokedexText:: @ 855E129
- .string "This POKéMON has a terrifically strong\n"
- .string "constricting power. It can even flatten\n"
- .string "steel oil drums. Once it wraps its body\n"
- .string "around its foe, escaping is impossible.$"
-
-gPikachuPokedexText:: @ 855E1C8
- .string "It stores electricity in the electric sacs\n"
- .string "on its cheeks. When it releases pent-up\n"
- .string "energy in a burst, the electric power is\n"
- .string "equal to a lightning bolt.$"
-
-gRaichuPokedexText:: @ 855E25F
- .string "If it stores too much electricity, its\n"
- .string "behavior turns aggressive. To avoid this,\n"
- .string "it occasionally discharges excess energy\n"
- .string "and calms itself down.$"
-
-gSandshrewPokedexText:: @ 855E2F0
- .string "When it curls up in a ball, it can make any\n"
- .string "attack bounce off harmlessly. Its hide has\n"
- .string "turned tough and solid as a result of\n"
- .string "living in the desert.$"
-
-gSandslashPokedexText:: @ 855E383
- .string "It curls up in a ball to protect itself from\n"
- .string "enemy attacks. It also curls up to prevent\n"
- .string "heatstroke during the daytime when\n"
- .string "temperatures rise sharply.$"
-
-gNidoranFPokedexText:: @ 855E419
- .string "Its highly toxic barbs are thought to have\n"
- .string "developed as protection for this small-\n"
- .string "bodied POKéMON. When enraged, it releases\n"
- .string "a horrible toxin from its horn.$"
-
-gNidorinaPokedexText:: @ 855E4B6
- .string "When it is with its friends or\n"
- .string "family, its barbs are tucked away to\n"
- .string "prevent injury. It appears to become\n"
- .string "nervous if separated from the others.$"
-
-gNidoqueenPokedexText:: @ 855E545
- .string "It is adept at sending foes flying with\n"
- .string "harsh tackles using its tough, scaly body.\n"
- .string "This POKéMON is at its strongest when\n"
- .string "it is defending its young.$"
-
-gNidoranMPokedexText:: @ 855E5D9
- .string "The male NIDORAN has developed muscles\n"
- .string "that freely move its ears in any direction.\n"
- .string "Even the slightest sound does not escape\n"
- .string "this POKéMON’s notice.$"
-
-gNidorinoPokedexText:: @ 855E66C
- .string "Its horn is harder than a diamond.\n"
- .string "If it senses a hostile presence, all the\n"
- .string "barbs on its back bristle up at once, and it\n"
- .string "challenges the foe with all its might.$"
-
-gNidokingPokedexText:: @ 855E70C
- .string "A NIDOKING’s thick tail packs enormously\n"
- .string "destructive power capable of toppling\n"
- .string "a metal transmission tower. Once it goes\n"
- .string "on a rampage, there is no stopping it.$"
-
-gClefairyPokedexText:: @ 855E7AB
- .string "On every night of a full moon, they come\n"
- .string "out to play. When dawn arrives, the tired\n"
- .string "CLEFAIRY go to sleep nestled up against\n"
- .string "each other in deep and quiet mountains.$"
-
-gClefablePokedexText:: @ 855E84E
- .string "A CLEFABLE uses its wings to skip lightly \n"
- .string "as if it were flying. Its bouncy step\n"
- .string "lets it even walk on water. On quiet,\n"
- .string "moonlit nights, it strolls on lakes.$"
-
-gVulpixPokedexText:: @ 855E8EA
- .string "It can freely control fire, making fiery\n"
- .string "orbs fly like will-o’-the-wisps. Just\n"
- .string "before evolution, its six tails grow hot \n"
- .string "as if on fire.$"
-
-gNinetalesPokedexText:: @ 855E972
- .string "It has long been said that each of the\n"
- .string "nine tails embody an enchanted power.\n"
- .string "A long-lived NINETALES will have fur that\n"
- .string "shines like gold.$"
-
-gJigglypuffPokedexText:: @ 855E9FB
- .string "Nothing can avoid falling asleep hearing a\n"
- .string "JIGGLYPUFF’s song. The sound waves of its\n"
- .string "singing voice match the brain waves of\n"
- .string "someone in a deep sleep.$"
-
-gWigglytuffPokedexText:: @ 855EA90
- .string "Its fur is the ultimate in luxuriousness.\n"
- .string "Sleeping alongside a WIGGLYTUFF is simply\n"
- .string "divine. Its body expands seemingly without\n"
- .string "end when it inhales.$"
-
-gZubatPokedexText:: @ 855EB24
- .string "While living in pitch-black caverns, their\n"
- .string "eyes gradually grew shut and deprived\n"
- .string "them of vision. They use ultrasonic waves\n"
- .string "to detect obstacles.$"
-
-gGolbatPokedexText:: @ 855EBB4
- .string "Its fangs easily puncture even thick\n"
- .string "animal hide. It loves to feast on the blood\n"
- .string "of people and POKéMON. It flits about in\n"
- .string "darkness and strikes from behind.$"
-
-gOddishPokedexText:: @ 855EC50
- .string "This POKéMON grows by absorbing moonlight.\n"
- .string "During the daytime, it buries itself in the\n"
- .string "ground, leaving only its leaves exposed to\n"
- .string "avoid detection by its enemies.$"
-
-gGloomPokedexText:: @ 855ECF2
- .string "A horribly noxious honey drools from its\n"
- .string "mouth. One whiff of the honey can result\n"
- .string "in memory loss. Some fans are said to\n"
- .string "enjoy this overwhelming stink, however.$"
-
-gVileplumePokedexText:: @ 855ED92
- .string "In seasons when it produces more pollen,\n"
- .string "the air around a VILEPLUME turns yellow\n"
- .string "with the powder as it walks. The pollen is\n"
- .string "highly toxic and causes paralysis.$"
-
-gParasPokedexText:: @ 855EE31
- .string "A PARAS has parasitic tochukaso\n"
- .string "mushrooms growing on its back. They grow\n"
- .string "by drawing nutrients from the host. They\n"
- .string "are valued as a medicine for long life.$"
-
-gParasectPokedexText:: @ 855EECB
- .string "PARASECT are known to infest the roots of\n"
- .string "large trees en masse and drain nutrients.\n"
- .string "When an infested tree dies, they move\n"
- .string "onto another tree all at once.$"
-
-gVenonatPokedexText:: @ 855EF64
- .string "Its coat of thin, stiff hair that covers\n"
- .string "its entire body is said to have evolved\n"
- .string "for protection. Its large eyes never fail\n"
- .string "to spot even miniscule prey.$"
-
-gVenomothPokedexText:: @ 855EFFC
- .string "VENOMOTH are nocturnal--they only are\n"
- .string "active at night. Their favorite prey are\n"
- .string "insects that gather around streetlights,\n"
- .string "attracted by the light in the darkness.$"
-
-gDiglettPokedexText:: @ 855F09C
- .string "DIGLETT are raised in most farms.\n"
- .string "The reason is simple--wherever they\n"
- .string "burrow, the soil is left perfectly tilled\n"
- .string "for growing delicious crops.$"
-
-gDugtrioPokedexText:: @ 855F129
- .string "Because the triplets originally split from\n"
- .string "one body, they think exactly alike.\n"
- .string "They work cooperatively to burrow\n"
- .string "endlessly through the ground.$"
-
-gMeowthPokedexText:: @ 855F1B8
- .string "MEOWTH withdraw their sharp claws into\n"
- .string "their paws to silently sneak about.\n"
- .string "For some reason, this POKéMON loves\n"
- .string "shiny coins that glitter with light.$"
-
-gPersianPokedexText:: @ 855F24C
- .string "A PERSIAN’s six bold whiskers sense air\n"
- .string "movements to determine what is in its\n"
- .string "vicinity. It becomes docile if grabbed\n"
- .string "by the whiskers.$"
-
-gPsyduckPokedexText:: @ 855F2D2
- .string "When its headache intensifies, it starts\n"
- .string "using strange powers. However, it has no\n"
- .string "recollection of its powers, so it always\n"
- .string "looks befuddled and bewildered.$"
-
-gGolduckPokedexText:: @ 855F36D
- .string "A GOLDUCK is an adept swimmer.\n"
- .string "It sometimes joins competitive swimmers\n"
- .string "in training. It uses psychic powers when\n"
- .string "its forehead shimmers with light.$"
-
-gMankeyPokedexText:: @ 855F3FF
- .string "When it starts shaking and its nasal\n"
- .string "breathing turns rough, it’s a sure sign\n"
- .string "of anger. However, since this happens\n"
- .string "instantly, there is no time to flee.$"
-
-gPrimeapePokedexText:: @ 855F497
- .string "When it becomes furious, its blood\n"
- .string "circulation becomes more robust, and\n"
- .string "its muscles are made stronger. But it\n"
- .string "also becomes much less intelligent.$"
-
-gGrowlithePokedexText:: @ 855F529
- .string "Its superb sense of smell ensures that\n"
- .string "this POKéMON won’t forget any scent,\n"
- .string "no matter what. It uses its sense of smell\n"
- .string "to detect the emotions of others.$"
-
-gArcaninePokedexText:: @ 855F5C2
- .string "This fleet-footed POKéMON is said to run\n"
- .string "over 6,200 miles in a single day and night.\n"
- .string "The fire that blazes wildly within its body\n"
- .string "is its source of power.$"
-
-gPoliwagPokedexText:: @ 855F65B
- .string "It is possible to see this POKéMON’s spiral\n"
- .string "innards right through its thin skin.\n"
- .string "However, the skin is also very flexible.\n"
- .string "Even sharp fangs bounce right off it.$"
-
-gPoliwhirlPokedexText:: @ 855F6FB
- .string "Its body surface is always wet and slick\n"
- .string "with an oily fluid. Because of this greasy\n"
- .string "covering, it can easily slip and slide out\n"
- .string "of the clutches of any enemy in battle.$"
-
-gPoliwrathPokedexText:: @ 855F7A2
- .string "Its highly developed muscles never grow\n"
- .string "fatigued, however much it exercises.\n"
- .string "This POKéMON can swim back and forth\n"
- .string "across the Pacific Ocean without effort.$"
-
-gAbraPokedexText:: @ 855F83D
- .string "A POKéMON that sleeps 18 hours a day.\n"
- .string "Observation revealed that it uses\n"
- .string "TELEPORT to change its location once\n"
- .string "every hour.$"
-
-gKadabraPokedexText:: @ 855F8B6
- .string "It is rumored that a boy with psychic\n"
- .string "abilities suddenly transformed into\n"
- .string "KADABRA while he was assisting research\n"
- .string "into extrasensory powers.$"
-
-gAlakazamPokedexText:: @ 855F942
- .string "While it has strong psychic abilities and\n"
- .string "high intelligence, an ALAKAZAM’s muscles\n"
- .string "are very weak. It uses psychic power to\n"
- .string "move its body.$"
-
-gMachopPokedexText:: @ 855F9CC
- .string "It continually undertakes strenuous\n"
- .string "training to master all forms of martial\n"
- .string "arts. Its strength lets it easily hoist\n"
- .string "a sumo wrestler onto its shoulders.$"
-
-gMachokePokedexText:: @ 855FA64
- .string "A belt is worn by a MACHOKE to keep its\n"
- .string "overwhelming power under control.\n"
- .string "Because it is so dangerous, no one has\n"
- .string "ever removed the belt.$"
-
-gMachampPokedexText:: @ 855FAEC
- .string "It is impossible to defend against punches\n"
- .string "and chops doled out by its four arms.\n"
- .string "Its fighting spirit flares up when it faces\n"
- .string "a tough opponent.$"
-
-gBellsproutPokedexText:: @ 855FB7B
- .string "A BELLSPROUT’s thin and flexible body lets\n"
- .string "it bend and sway to avoid any attack,\n"
- .string "however strong it may be. From its mouth,\n"
- .string "it leaks a fluid that melts even iron.$"
-
-gWeepinbellPokedexText:: @ 855FC1D
- .string "At night, a WEEPINBELL hangs on to a tree\n"
- .string "branch with its hooked rear and sleeps.\n"
- .string "If it moves around in its sleep, it may\n"
- .string "wake up to find itself on the ground.$"
-
-gVictreebelPokedexText:: @ 855FCBD
- .string "The long vine extending from its head is\n"
- .string "waved about as if it were a living thing to\n"
- .string "attract prey. When an unsuspecting victim\n"
- .string "approaches, it is swallowed whole.$"
-
-gTentacoolPokedexText:: @ 855FD5F
- .string "Its body is almost entirely composed of\n"
- .string "water. It ensnares its foe with its two\n"
- .string "long tentacles, then stabs with the poison\n"
- .string "stingers at their tips.$"
-
-gTentacruelPokedexText:: @ 855FDF2
- .string "It lives in complex rock formations on\n"
- .string "the ocean floor and traps prey using its\n"
- .string "80 tentacles. Its red orbs glow when it\n"
- .string "grows excited or agitated.$"
-
-gGeodudePokedexText:: @ 855FE85
- .string "It climbs mountain paths using only the\n"
- .string "power of its arms. Because they look just\n"
- .string "like boulders lining paths, hikers may step\n"
- .string "on them without noticing.$"
-
-gGravelerPokedexText:: @ 855FF1D
- .string "They descend from mountains by tumbling\n"
- .string "down steep slopes. They are so brutal,\n"
- .string "they smash aside obstructing trees and\n"
- .string "massive boulders with thunderous tackles.$"
-
-gGolemPokedexText:: @ 855FFBD
- .string "It is said to live in volcanic craters\n"
- .string "on mountain peaks. Once a year, it sheds\n"
- .string "its hide and grows larger. The shed hide\n"
- .string "crumbles and returns to the soil.$"
-
-gPonytaPokedexText:: @ 8560058
- .string "A PONYTA is very weak at birth. It can\n"
- .string "barely stand up. Its legs become stronger\n"
- .string "as it stumbles and falls while trying to\n"
- .string "keep up with its parent.$"
-
-gRapidashPokedexText:: @ 85600EB
- .string "It usually canters casually in the fields\n"
- .string "and plains. But once a RAPIDASH turns\n"
- .string "serious, its fiery manes flare and blaze\n"
- .string "as it gallops its way up to 150 mph.$"
-
-gSlowpokePokedexText:: @ 8560189
- .string "It catches prey by dipping its tail in\n"
- .string "water at the side of a river. But it often\n"
- .string "forgets what it is doing and spends entire\n"
- .string "days just loafing at water’s edge.$"
-
-gSlowbroPokedexText:: @ 8560229
- .string "Its tail has a SHELLDER firmly attached\n"
- .string "with a bite. As a result, the tail can’t be\n"
- .string "used for fishing anymore. This forces it\n"
- .string "to reluctantly swim and catch prey.$"
-
-gMagnemitePokedexText:: @ 85602CA
- .string "The units at its sides are extremely\n"
- .string "powerful magnets. They generate enough\n"
- .string "magnetism to draw in iron objects from\n"
- .string "over 300 feet away.$"
-
-gMagnetonPokedexText:: @ 8560351
- .string "It is actually three MAGNEMITE linked\n"
- .string "by magnetism. It generates powerful radio\n"
- .string "waves that raise temperatures by 3.6\n"
- .string "degrees F within a 3,300-foot radius.$"
-
-gFarfetchdPokedexText:: @ 85603EC
- .string "It is always seen with a stick from a plant.\n"
- .string "Apparently, there are good sticks and bad\n"
- .string "sticks. This POKéMON occasionally fights\n"
- .string "with others over choice sticks.$"
-
-gDoduoPokedexText:: @ 856048C
- .string "Even while eating or sleeping, one of the\n"
- .string "heads remains always vigilant for any sign\n"
- .string "of danger. When threatened, it flees at\n"
- .string "over 60 miles per hour.$"
-
-gDodrioPokedexText:: @ 8560521
- .string "A peculiar POKéMON species with three\n"
- .string "heads. It vigorously races across grassy\n"
- .string "plains even in arid seasons with little\n"
- .string "rainfall.$"
-
-gSeelPokedexText:: @ 85605A2
- .string "SEEL hunt for prey in frigid, ice-covered\n"
- .string "seas. When it needs to breathe, it punches\n"
- .string "a hole through the ice with the sharply\n"
- .string "protruding section of its head.$"
-
-gDewgongPokedexText:: @ 856063F
- .string "It loves to snooze on bitterly cold ice.\n"
- .string "The sight of this POKéMON sleeping on\n"
- .string "a glacier was mistakenly thought to be\n"
- .string "a mermaid by a mariner long ago.$"
-
-gGrimerPokedexText:: @ 85606D6
- .string "Born from polluted sludge in the sea,\n"
- .string "GRIMER’s favorite food is anything filthy.\n"
- .string "They feed on wastewater pumped out from\n"
- .string "factories.$"
-
-gMukPokedexText:: @ 856075A
- .string "It prefers warm and humid habitats.\n"
- .string "In the summertime, the toxic substances\n"
- .string "in its body intensify, making MUK reek like\n"
- .string "putrid kitchen garbage.$"
-
-gShellderPokedexText:: @ 85607EA
- .string "At night, it burrows a hole in the seafloor\n"
- .string "with its broad tongue to make a place to\n"
- .string "sleep. While asleep, it closes its shell,\n"
- .string "but leaves its tongue hanging out.$"
-
-gCloysterPokedexText:: @ 856088C
- .string "It swims in the sea by swallowing water,\n"
- .string "then jetting it out toward the rear.\n"
- .string "The CLOYSTER shoots spikes from its\n"
- .string "shell using the same system.$"
-
-gGastlyPokedexText:: @ 856091B
- .string "When exposed to a strong wind, a GASTLY’s\n"
- .string "gaseous body quickly dwindles away.\n"
- .string "They cluster under the eaves of houses\n"
- .string "to escape the ravages of wind.$"
-
-gHaunterPokedexText:: @ 85609AF
- .string "If a HAUNTER beckons you while it is\n"
- .string "floating in darkness, don’t approach it.\n"
- .string "This POKéMON will try to lick you with its\n"
- .string "tongue and steal your life away.$"
-
-gGengarPokedexText:: @ 8560A49
- .string "Deep in the night, your shadow cast by\n"
- .string "a streetlight may suddenly overtake you.\n"
- .string "It is actually a GENGAR running past\n"
- .string "you, pretending to be your shadow.$"
-
-gOnixPokedexText:: @ 8560AE1
- .string "There is a magnet in its brain that\n"
- .string "prevents an ONIX from losing direction\n"
- .string "while tunneling. As it grows older, its body\n"
- .string "becomes steadily rounder and smoother.$"
-
-gDrowzeePokedexText:: @ 8560B80
- .string "If your nose becomes itchy while you are\n"
- .string "sleeping, it’s a sure sign that a DROWZEE is\n"
- .string "standing above your pillow and trying to\n"
- .string "eat your dream through your nostrils.$"
-
-gHypnoPokedexText:: @ 8560C25
- .string "The arcing movement and glitter of the\n"
- .string "pendulum in a HYPNO’s hand lull the foe\n"
- .string "into deep hypnosis. While searching for\n"
- .string "prey, it polishes the pendulum.$"
-
-gKrabbyPokedexText:: @ 8560CBC
- .string "KRABBY live in holes dug into beaches.\n"
- .string "On sandy shores with little in the way\n"
- .string "of food, they can be seen squabbling with\n"
- .string "each other over territory.$"
-
-gKinglerPokedexText:: @ 8560D4F
- .string "It waves its huge, oversized claw in the\n"
- .string "air to communicate with others.\n"
- .string "But since the claw is so heavy, this\n"
- .string "POKéMON quickly tires.$"
-
-gVoltorbPokedexText:: @ 8560DD4
- .string "It bears an uncanny and unexplained\n"
- .string "resemblance to a POKé BALL. Because it\n"
- .string "explodes at the slightest shock, even\n"
- .string "veteran TRAINERS treat it with caution.$"
-
-gElectrodePokedexText:: @ 8560E6D
- .string "They appear in great numbers at electric\n"
- .string "power plants. Because they feed on\n"
- .string "electricity, they cause massive and\n"
- .string "chaotic blackouts in nearby cities.$"
-
-gExeggcutePokedexText:: @ 8560F01
- .string "It consists of six eggs that care for each\n"
- .string "other. The eggs attract each other and\n"
- .string "spin around. When cracks increasingly\n"
- .string "appear, it is close to evolution.$"
-
-gExeggutorPokedexText:: @ 8560F9B
- .string "Originally from the tropics, EXEGGUTOR’s\n"
- .string "heads grow larger from exposure to strong\n"
- .string "sunlight. It is said that when the heads\n"
- .string "fall, they group to form an EXEGGCUTE.$"
-
-gCubonePokedexText:: @ 856103E
- .string "It pines for the mother it will never see\n"
- .string "again. Seeing a likeness of its mother in\n"
- .string "the full moon, it cries. The stains on the\n"
- .string "skull it wears are from its tears.$"
-
-gMarowakPokedexText:: @ 85610E0
- .string "A MAROWAK is the evolved form of a CUBONE\n"
- .string "that has grown tough by overcoming the\n"
- .string "grief of losing its mother. Its tempered\n"
- .string "and hardened spirit is not easily broken.$"
-
-gHitmonleePokedexText:: @ 8561184
- .string "Its legs freely stretch and contract.\n"
- .string "Using these springlike limbs, it bowls over\n"
- .string "foes with devastating kicks. After battle,\n"
- .string "it rubs down its tired legs.$"
-
-gHitmonchanPokedexText:: @ 856121E
- .string "A HITMONCHAN is said to possess the\n"
- .string "spirit of a boxer who aimed to become the\n"
- .string "world champion. Having an indomitable\n"
- .string "spirit means that it will never give up.$"
-
-gLickitungPokedexText:: @ 85612BB
- .string "Whenever it sees something unfamiliar,\n"
- .string "it always licks the object because it\n"
- .string "memorizes things by texture and taste.\n"
- .string "It is somewhat put off by sour things.$"
-
-gKoffingPokedexText:: @ 8561356
- .string "Getting up close to a KOFFING will give\n"
- .string "you a chance to observe, through its thin\n"
- .string "skin, the toxic gases swirling inside. It\n"
- .string "blows up at the slightest stimulation.$"
-
-gWeezingPokedexText:: @ 85613F9
- .string "By diluting its toxic gases with a special\n"
- .string "process, the highest grade of perfume can\n"
- .string "be extracted. To WEEZING, gases emanating\n"
- .string "from garbage are the ultimate feast.$"
-
-gRhyhornPokedexText:: @ 856149D
- .string "Once it starts running, it doesn’t stop.\n"
- .string "Its tiny brain makes it so stupid that it\n"
- .string "can’t remember why it started running in\n"
- .string "the first place.$"
-
-gRhydonPokedexText:: @ 856152A
- .string "Its horn, which rotates like a drill,\n"
- .string "destroys tall buildings with one strike.\n"
- .string "It stands on its hind legs, and its brain\n"
- .string "is well developed.$"
-
-gChanseyPokedexText:: @ 85615B6
- .string "CHANSEY lay nutritionally excellent eggs\n"
- .string "every day. The eggs are so delicious, they\n"
- .string "are eagerly devoured by even those people\n"
- .string "who have lost their appetite.$"
-
-gTangelaPokedexText:: @ 8561652
- .string "Its vines snap off easily and painlessly\n"
- .string "if they are grabbed, allowing it to make a\n"
- .string "quick getaway. The lost vines are replaced\n"
- .string "by new growth the very next day.$"
-
-gKangaskhanPokedexText:: @ 85616F2
- .string "If you come across a young KANGASKHAN\n"
- .string "playing by itself, never try to catch it.\n"
- .string "The baby’s parent is sure to be in the area,\n"
- .string "and it will become violently enraged.$"
-
-gHorseaPokedexText:: @ 8561795
- .string "By cleverly flicking the fins on its back\n"
- .string "side to side, it moves in any direction\n"
- .string "while facing forward. It spits ink to\n"
- .string "escape if it senses danger.$"
-
-gSeadraPokedexText:: @ 8561829
- .string "The poisonous barbs all over its body are\n"
- .string "highly valued as ingredients for making\n"
- .string "traditional herbal medicine. It shows no\n"
- .string "mercy to anything approaching its nest.$"
-
-gGoldeenPokedexText:: @ 85618CC
- .string "In the springtime, schools of GOLDEEN\n"
- .string "can be seen swimming up falls and rivers.\n"
- .string "It metes out staggering damage with its\n"
- .string "single horn.$"
-
-gSeakingPokedexText:: @ 8561951
- .string "It punches holes in boulders on stream-\n"
- .string "beds. This is a clever innovation that\n"
- .string "prevents its eggs from being attacked or\n"
- .string "washed away by the current.$"
-
-gStaryuPokedexText:: @ 85619E5
- .string "It gathers with others in the night and\n"
- .string "makes its red core glow on and off with\n"
- .string "the twinkling stars. It can regenerate\n"
- .string "limbs if they are severed from its body.$"
-
-gStarmiePokedexText:: @ 8561A85
- .string "People in ancient times imagined that\n"
- .string "STARMIE were transformed from the\n"
- .string "reflections of stars that twinkled on\n"
- .string "gentle waves at night.$"
-
-gMrmimePokedexText:: @ 8561B0A
- .string "A MR. MIME is a master of pantomime. It can\n"
- .string "convince others that something unseeable\n"
- .string "actually exists. Once believed, the\n"
- .string "imaginary object does become real.$"
-
-gScytherPokedexText:: @ 8561BA6
- .string "Its blindingly fast speed adds to the\n"
- .string "sharpness of its twin forearm scythes.\n"
- .string "The scythes can slice through thick logs\n"
- .string "in one wicked stroke.$"
-
-gJynxPokedexText:: @ 8561C32
- .string "A JYNX sashays rhythmically as if it were\n"
- .string "dancing. Its motions are so bouncingly\n"
- .string "alluring, people seeing it are compelled to\n"
- .string "shake their hips without noticing.$"
-
-gElectabuzzPokedexText:: @ 8561CD2
- .string "When a storm approaches, it competes with\n"
- .string "others to scale heights that are likely to\n"
- .string "be stricken by lightning. Some towns use\n"
- .string "ELECTABUZZ in place of lightning rods.$"
-
-gMagmarPokedexText:: @ 8561D77
- .string "In battle, it blows out intense flames from\n"
- .string "all over its body to intimidate its foe.\n"
- .string "These fiery bursts create heat waves that\n"
- .string "ignite grass and trees in the area.$"
-
-gPinsirPokedexText:: @ 8561E1A
- .string "Their pincers are strong enough to\n"
- .string "shatter thick logs. Because they dislike\n"
- .string "cold, PINSIR burrow and sleep under\n"
- .string "the ground on chilly nights.$"
-
-gTaurosPokedexText:: @ 8561EA7
- .string "It is not satisfied unless it is rampaging\n"
- .string "at all times. If there is no opponent for\n"
- .string "TAUROS to battle, it will charge at thick\n"
- .string "trees and knock them down to calm itself.$"
-
-gMagikarpPokedexText:: @ 8561F50
- .string "Its swimming muscles are weak, so it is\n"
- .string "easily washed away by currents. In places\n"
- .string "where water pools, you can see many\n"
- .string "MAGIKARP deposited there by the flow.$"
-
-gGyaradosPokedexText:: @ 8561FEC
- .string "It is an extremely vicious and violent\n"
- .string "POKéMON. When humans begin to fight,\n"
- .string "it will appear and burn everything to the\n"
- .string "ground with intensely hot flames.$"
-
-gLaprasPokedexText:: @ 8562084
- .string "People have driven LAPRAS almost to the\n"
- .string "point of extinction. In the evenings,\n"
- .string "it is said to sing plaintively as it seeks\n"
- .string "what few others of its kind still remain.$"
-
-gDittoPokedexText:: @ 8562127
- .string "A DITTO rearranges its cell structure to\n"
- .string "transform itself. However, if it tries to\n"
- .string "change based on its memory, it will get\n"
- .string "details wrong.$"
-
-gEeveePokedexText:: @ 85621B1
- .string "An EEVEE has an unstable genetic makeup\n"
- .string "that suddenly mutates due to its\n"
- .string "environment. Radiation from various\n"
- .string "STONES causes this POKéMON to evolve.$"
-
-gVaporeonPokedexText:: @ 8562244
- .string "VAPOREON underwent a spontaneous\n"
- .string "mutation and grew fins and gills that\n"
- .string "allow them to live underwater. They have\n"
- .string "the ability to freely control water.$"
-
-gJolteonPokedexText:: @ 85622D9
- .string "Its cells generate weak power that is\n"
- .string "amplified by its fur’s static electricity\n"
- .string "to drop thunderbolts. The bristling fur is\n"
- .string "made of electrically charged needles.$"
-
-gFlareonPokedexText:: @ 856237A
- .string "FLAREON’s fluffy fur releases heat into\n"
- .string "the air so that its body does not get\n"
- .string "excessively hot. Its body temperature can\n"
- .string "rise to a maximum of 1,650 degrees F.$"
-
-gPorygonPokedexText:: @ 8562418
- .string "It is capable of reverting itself entirely\n"
- .string "back to program data in order to enter\n"
- .string "cyberspace. A PORYGON is copy-\n"
- .string "protected so it cannot be duplicated.$"
-
-gOmanytePokedexText:: @ 85624AF
- .string "One of the ancient and long-since-extinct\n"
- .string "POKéMON that have been regenerated\n"
- .string "from fossils by humans. If attacked,\n"
- .string "it withdraws into its hard shell.$"
-
-gOmastarPokedexText:: @ 8562543
- .string "An OMASTAR uses its tentacles to capture\n"
- .string "its prey. It is believed to have become\n"
- .string "extinct because its shell grew too large,\n"
- .string "making its movements slow and ponderous.$"
-
-gKabutoPokedexText:: @ 85625E7
- .string "It is a POKéMON that has been regenerated\n"
- .string "from a fossil. However, in rare cases, living\n"
- .string "examples have been discovered. KABUTO\n"
- .string "have not changed for 300 million years.$"
-
-gKabutopsPokedexText:: @ 856268D
- .string "KABUTOPS once swam underwater to hunt \n"
- .string "for prey. It was apparently evolving from\n"
- .string "being a water dweller to living on land as\n"
- .string "evident from changes in its gills and legs.$"
-
-gAerodactylPokedexText:: @ 8562735
- .string "AERODACTYL is a POKéMON from the age\n"
- .string "of dinosaurs. It was regenerated from DNA\n"
- .string "extracted from amber. It is imagined to\n"
- .string "have been the king of the skies.$"
-
-gSnorlaxPokedexText:: @ 85627CD
- .string "SNORLAX’s typical day consists of nothing\n"
- .string "more than eating and sleeping. It is such\n"
- .string "a docile POKéMON that there are children\n"
- .string "who use its big belly as a place to play.$"
-
-gArticunoPokedexText:: @ 8562874
- .string "ARTICUNO is a legendary bird POKéMON that\n"
- .string "can control ice. The flapping of its wings\n"
- .string "chills the air. As a result, it is said that\n"
- .string "when this POKéMON flies, snow will fall.$"
-
-gZapdosPokedexText:: @ 856291F
- .string "ZAPDOS is a legendary bird POKéMON that\n"
- .string "has the ability to control electricity.\n"
- .string "It usually lives in thunderclouds. It gains\n"
- .string "power if it is stricken by lightning bolts.$"
-
-gMoltresPokedexText:: @ 85629C7
- .string "MOLTRES is a legendary bird POKéMON\n"
- .string "that can control fire. If injured, it is said\n"
- .string "to dip its body in the molten magma of\n"
- .string "a volcano to burn and heal itself.$"
-
-gDratiniPokedexText:: @ 8562A63
- .string "A DRATINI continually molts and sloughs\n"
- .string "off its old skin. It does so because the\n"
- .string "life energy within its body steadily builds\n"
- .string "to reach uncontrollable levels.$"
-
-gDragonairPokedexText:: @ 8562B00
- .string "A DRAGONAIR stores an enormous amount of\n"
- .string "energy inside its body. It is said to alter\n"
- .string "the weather around it by loosing energy\n"
- .string "from the crystals on its neck and tail.$"
-
-gDragonitePokedexText:: @ 8562BA5
- .string "It can circle the globe in just 16 hours.\n"
- .string "It is a kindhearted POKéMON that leads\n"
- .string "lost and foundering ships in a storm\n"
- .string "to the safety of land.$"
-
-gMewtwoPokedexText:: @ 8562C32
- .string "A POKéMON that was created by genetic\n"
- .string "manipulation. However, even though the\n"
- .string "scientific power of humans made its body,\n"
- .string "they failed to give it a warm heart.$"
-
-gMewPokedexText:: @ 8562CCE
- .string "A MEW is said to possess the genes of all\n"
- .string "POKéMON. It is capable of making itself\n"
- .string "invisible at will, so it entirely avoids\n"
- .string "notice even if it approaches people.$"
-
-gChikoritaPokedexText:: @ 8562D6E
- .string "It waves its leaf around to keep foes\n"
- .string "at bay. However, a sweet fragrance also\n"
- .string "wafts from the leaf, creating a friendly\n"
- .string "atmosphere that becalms the battlers.$"
-
-gBayleefPokedexText:: @ 8562E0B
- .string "A BAYLEEF’s neck is ringed by curled-up\n"
- .string "leaves. Inside each leaf is a small tree\n"
- .string "shoot. The fragrance of this shoot\n"
- .string "makes people peppy.$"
-
-gMeganiumPokedexText:: @ 8562E93
- .string "The fragrance of a MEGANIUM’s flower\n"
- .string "soothes and calms emotions. In battle,\n"
- .string "it gives off more of its becalming scent\n"
- .string "to blunt the foe’s fighting spirit.$"
-
-gCyndaquilPokedexText:: @ 8562F2C
- .string "It flares flames from its back to protect\n"
- .string "itself. The fire burns vigorously if the\n"
- .string "POKéMON is angry. When it is tired,\n"
- .string "it sputters with incomplete combustion.$"
-
-gQuilavaPokedexText:: @ 8562FCB
- .string "It intimidates foes with intense gusts of\n"
- .string "flames and superheated air. Its quick\n"
- .string "nimbleness lets it dodge attacks even\n"
- .string "while scorching an enemy.$"
-
-gTyphlosionPokedexText:: @ 856305B
- .string "It can hide behind a shimmering heat haze\n"
- .string "that it creates using its intense flames.\n"
- .string "TYPHLOSION create blazing explosive\n"
- .string "blasts that burn everything to cinders.$"
-
-gTotodilePokedexText:: @ 85630FB
- .string "Despite its small body, TOTODILE’s jaws\n"
- .string "are very powerful. While it may think it is\n"
- .string "just playfully nipping, its bite has enough\n"
- .string "strength to cause serious injury.$"
-
-gCroconawPokedexText:: @ 856319D
- .string "Once its jaws clamp down on its foe, it will\n"
- .string "absolutely not let go. Because the tips of\n"
- .string "its fangs are forked back like fishhooks,\n"
- .string "they become irremovably embedded.$"
-
-gFeraligatrPokedexText:: @ 8563241
- .string "It opens its huge mouth to intimidate\n"
- .string "enemies. In battle, it runs using its thick\n"
- .string "and powerful hind legs to charge the\n"
- .string "foe with incredible speed.$"
-
-gSentretPokedexText:: @ 85632D3
- .string "They take turns standing guard when it\n"
- .string "is time to sleep. The sentry awakens the\n"
- .string "others if it senses danger. If one becomes\n"
- .string "separated, it turns sleepless with fear.$"
-
-gFurretPokedexText:: @ 8563377
- .string "A FURRET has a very slim build. When under\n"
- .string "attack, it can squirm through narrow\n"
- .string "spaces and get away. In spite of its short\n"
- .string "limbs, it is very nimble and fleet.$"
-
-gHoothootPokedexText:: @ 8563416
- .string "It has an internal organ that senses\n"
- .string "the earth’s rotation. Using this special\n"
- .string "organ, a HOOTHOOT begins hooting at\n"
- .string "precisely the same time every day.$"
-
-gNoctowlPokedexText:: @ 85634AB
- .string "It unfailingly catches prey in darkness.\n"
- .string "NOCTOWL owe their success to superior\n"
- .string "vision that allows them to see in minimal\n"
- .string "light, and to their supple and silent wings.$"
-
-gLedybaPokedexText:: @ 8563551
- .string "LEDYBA communicate using a fluid that\n"
- .string "they secrete from where the legs join the\n"
- .string "body. They are said to convey feelings to\n"
- .string "others by altering the fluid’s scent.$"
-
-gLedianPokedexText:: @ 85635F1
- .string "It is said that in lands with clean air,\n"
- .string "where the stars fill the sky, there live\n"
- .string "many LEDIAN. For good reason, they use\n"
- .string "the light of the stars as energy.$"
-
-gSpinarakPokedexText:: @ 856368C
- .string "The web it spins can be considered its\n"
- .string "second nervous system. It is said that a\n"
- .string "SPINARAK determines its prey by the tiny\n"
- .string "vibrations it feels through the web.$"
-
-gAriadosPokedexText:: @ 856372A
- .string "Its feet are tipped with tiny hooked claws\n"
- .string "that enable it to scuttle on ceilings and\n"
- .string "vertical walls. It constricts its foe with\n"
- .string "thin and strong silk webbing.$"
-
-gCrobatPokedexText:: @ 85637C8
- .string "Over the course of evolution, its hind legs\n"
- .string "turned into wings. By alternately resting\n"
- .string "its front and rear wings, it can fly all day\n"
- .string "without having to stop.$"
-
-gChinchouPokedexText:: @ 8563863
- .string "When it senses danger, it discharges\n"
- .string "positive and negative electricity from its\n"
- .string "two antennae. It lives in depths beyond\n"
- .string "sunlight’s reach.$"
-
-gLanturnPokedexText:: @ 85638ED
- .string "The light-emitting orbs on its back are\n"
- .string "very bright. They are formed from a part of\n"
- .string "its dorsal fin. This POKéMON illuminates\n"
- .string "the inky darkness of deep seas.$"
-
-gPichuPokedexText:: @ 856398A
- .string "It is still inept at retaining electricity.\n"
- .string "When it is startled, it discharges power\n"
- .string "accidentally. It gets better at holding\n"
- .string "power as it grows older.$"
-
-gCleffaPokedexText:: @ 8563A20
- .string "On nights with many shooting stars,\n"
- .string "CLEFFA can be seen dancing in a ring.\n"
- .string "They dance until daybreak, when they\n"
- .string "quench their thirst with the morning dew.$"
-
-gIgglybuffPokedexText:: @ 8563AB9
- .string "Its soft and pliable body is very bouncy.\n"
- .string "When it sings continuously with all its\n"
- .string "might, its body steadily turns a deepening\n"
- .string "pink color.$"
-
-gTogepiPokedexText:: @ 8563B42
- .string "As its energy, it uses the feelings of\n"
- .string "compassion and pleasure exuded by\n"
- .string "people and POKéMON. It stores up happy\n"
- .string "feelings in its shell, then shares them out.$"
-
-gTogeticPokedexText:: @ 8563BDF
- .string "It is said to be a POKéMON that brings good\n"
- .string "fortune. When it spots someone who is pure\n"
- .string "of heart, a TOGETIC appears and shares its\n"
- .string "happiness with that person.$"
-
-gNatuPokedexText:: @ 8563C7D
- .string "It runs up short trees that grow on the\n"
- .string "savanna to peck at new shoots.\n"
- .string "A NATU’s eyes look as if they are\n"
- .string "always observing something.$"
-
-gXatuPokedexText:: @ 8563D02
- .string "It has the enigmatic power of foreseeing\n"
- .string "the future. Some people in different lands\n"
- .string "have long believed that XATU are\n"
- .string "emissaries from another world.$"
-
-gMareepPokedexText:: @ 8563D96
- .string "Its fluffy wool rubs together and builds\n"
- .string "a static charge. The more energy is\n"
- .string "charged, the more brightly the lightbulb\n"
- .string "at the tip of its tail glows.$"
-
-gFlaaffyPokedexText:: @ 8563E2A
- .string "Its fleece quality changes to generate\n"
- .string "strong static electricity with a small\n"
- .string "amount of wool. The bare, slick parts of its\n"
- .string "hide are shielded against electricity.$"
-
-gAmpharosPokedexText:: @ 8563ECC
- .string "It gives off so much light that it can be\n"
- .string "seen even from space. People in the old\n"
- .string "days used its light to send signals back\n"
- .string "and forth with others far away.$"
-
-gBellossomPokedexText:: @ 8563F67
- .string "Its flower petals deepen in color through\n"
- .string "exposure to sunlight. When cloudy weather\n"
- .string "persists, it does a dance that is thought\n"
- .string "to be a ritual for summoning the sun.$"
-
-gMarillPokedexText:: @ 856400B
- .string "Its body is covered with water-repellent\n"
- .string "fur. Because of the fur, it can swim\n"
- .string "through water at high speed without being\n"
- .string "slowed by the water’s resistance.$"
-
-gAzumarillPokedexText:: @ 85640A5
- .string "It lives in water virtually all day long.\n"
- .string "Its body color and pattern act as\n"
- .string "camouflage that makes it tough for\n"
- .string "enemies to spot in water.$"
-
-gSudowoodoPokedexText:: @ 856412E
- .string "It mimics a tree to avoid being attacked\n"
- .string "by enemies. But since its forelegs\n"
- .string "remain green throughout the year, it is\n"
- .string "easily identified as a fake in the winter.$"
-
-gPolitoedPokedexText:: @ 85641CD
- .string "The curled hair on its head proves its\n"
- .string "status as a king. It is said that the\n"
- .string "longer and curlier the hair, the more\n"
- .string "respect it earns from its peers.$"
-
-gHoppipPokedexText:: @ 8564261
- .string "This POKéMON drifts and floats with the\n"
- .string "wind. If it senses the approach of strong\n"
- .string "winds, a HOPPIP links leaves with others\n"
- .string "to prepare against being blown away.$"
-
-gSkiploomPokedexText:: @ 8564301
- .string "It blossoms when the temperature rises\n"
- .string "above 64 degrees F. Because its flower’s\n"
- .string "blooming changes with the temperature,\n"
- .string "it is sometimes used as a thermometer.$"
-
-gJumpluffPokedexText:: @ 856439F
- .string "JUMPLUFF ride warm southern winds to\n"
- .string "cross the sea and fly to foreign lands.\n"
- .string "This POKéMON lands when it encounters\n"
- .string "cold air while it is floating.$"
-
-gAipomPokedexText:: @ 8564431
- .string "Its tail ends with a dexterous, handlike\n"
- .string "appendage. However, because it uses the\n"
- .string "tail so much, AIPOM’s real hands have\n"
- .string "become rather clumsy.$"
-
-gSunkernPokedexText:: @ 85644BE
- .string "SUNKERN try to minimize movement to\n"
- .string "conserve the nutrients they have stored\n"
- .string "in their bodies for evolution. They will\n"
- .string "not eat, subsisting only on morning dew.$"
-
-gSunfloraPokedexText:: @ 856455C
- .string "SUNFLORA convert solar energy into\n"
- .string "nutrition. They are highly active in the\n"
- .string "warm daytime but suddenly stop moving as\n"
- .string "soon as the sun sets.$"
-
-gYanmaPokedexText:: @ 85645E7
- .string "It can see 360 degrees without moving\n"
- .string "its eyes. It is a great flier capable of\n"
- .string "making sudden stops and turning midair to\n"
- .string "quickly chase down targeted prey.$"
-
-gWooperPokedexText:: @ 8564682
- .string "WOOPER usually live in water but come\n"
- .string "out onto land seeking food occasionally.\n"
- .string "On land, they coat their bodies with a\n"
- .string "gooey, toxic film.$"
-
-gQuagsirePokedexText:: @ 856470B
- .string "A QUAGSIRE hunts by leaving its mouth wide\n"
- .string "open in water and waiting for its prey to\n"
- .string "blunder in. Because it doesn’t move, it\n"
- .string "does not get very hungry.$"
-
-gEspeonPokedexText:: @ 85647A2
- .string "An ESPEON is extremely loyal to any\n"
- .string "TRAINER it considers to be worthy. It is\n"
- .string "said to have developed precognitive\n"
- .string "powers to protect its TRAINER from harm.$"
-
-gUmbreonPokedexText:: @ 856483C
- .string "UMBREON evolved from exposure to the\n"
- .string "moon’s energy pulses. It lurks in darkness\n"
- .string "and waits for its foes to move. The rings\n"
- .string "on its body glow when it leaps to attack.$"
-
-gMurkrowPokedexText:: @ 85648E0
- .string "MURKROW were feared as the alleged\n"
- .string "bearers of ill fortune. It shows strong\n"
- .string "interest in anything that sparkles. It will\n"
- .string "even try to steal rings from women.$"
-
-gSlowkingPokedexText:: @ 856497B
- .string "It undertakes research every day to\n"
- .string "solve the mysteries of the world.\n"
- .string "However, it apparently forgets everything\n"
- .string "if the SHELLDER on its head comes off.$"
-
-gMisdreavusPokedexText:: @ 8564A12
- .string "A MISDREAVUS frightens people with a\n"
- .string "creepy, sobbing cry. It apparently uses\n"
- .string "its red spheres to absorb the fear of foes\n"
- .string "as its nutrition.$"
-
-gUnownPokedexText:: @ 8564A9C
- .string "This POKéMON is shaped like ancient text\n"
- .string "characters. Although research is ongoing,\n"
- .string "it is a mystery as to which came first,\n"
- .string "the ancient writings or the various UNOWN.$"
-
-gWobbuffetPokedexText:: @ 8564B42
- .string "Usually docile, a WOBBUFFET strikes back\n"
- .string "ferociously if its black tail is attacked.\n"
- .string "It makes its lair in caves where it waits\n"
- .string "for nightfall.$"
-
-gGirafarigPokedexText:: @ 8564BCF
- .string "A GIRAFARIG is an herbivore--it eats\n"
- .string "grass and tree shoots. While it is eating,\n"
- .string "its tail makes chewing and swallowing\n"
- .string "motions as if it were also eating.$"
-
-gPinecoPokedexText:: @ 8564C68
- .string "A PINECO hangs from a tree branch and\n"
- .string "waits for prey. While eating, if it is\n"
- .string "disturbed by someone shaking its tree, it\n"
- .string "falls on the ground and suddenly explodes.$"
-
-gForretressPokedexText:: @ 8564D0A
- .string "It keeps itself inside its steel shell.\n"
- .string "The shell is opened when it is catching\n"
- .string "prey, but it is so quick that the shell’s\n"
- .string "inside cannot be seen.$"
-
-gDunsparcePokedexText:: @ 8564D9B
- .string "Its drill-tipped tail is used to burrow into\n"
- .string "the ground backwards. This POKéMON is\n"
- .string "known to make its nest in complex shapes\n"
- .string "deep under the ground.$"
-
-gGligarPokedexText:: @ 8564E2E
- .string "It glides without making a single sound.\n"
- .string "It grasps the face of its foe using its\n"
- .string "hind and large front claws, then stabs\n"
- .string "with its poison barb.$"
-
-gSteelixPokedexText:: @ 8564EBC
- .string "STEELIX live even further underground\n"
- .string "than ONIX. This POKéMON is known to dig\n"
- .string "toward the earth’s core, reaching a depth\n"
- .string "of over six-tenths of a mile underground.$"
-
-gSnubbullPokedexText:: @ 8564F5E
- .string "By baring its fangs and making a scary\n"
- .string "face, it sends smaller POKéMON scurrying\n"
- .string "in terror. The SNUBBULL does seem a\n"
- .string "little sad at making its foes flee.$"
-
-gGranbullPokedexText:: @ 8564FF6
- .string "It has a particularly well-developed lower\n"
- .string "jaw. The huge fangs are heavy, causing\n"
- .string "it to tilt its head. Unless it is startled, it\n"
- .string "will not try to bite.$"
-
-gQwilfishPokedexText:: @ 856508D
- .string "A QWILFISH uses the pressure of water\n"
- .string "it swallows to shoot toxic quills all at\n"
- .string "once from all over its body. It finds\n"
- .string "swimming to be somewhat challenging.$"
-
-gScizorPokedexText:: @ 8565127
- .string "A SCIZOR has a body with the hardness of\n"
- .string "steel. It is not easily fazed by ordinary\n"
- .string "sorts of attacks. It flaps its wings to\n"
- .string "regulate its body temperature.$"
-
-gShucklePokedexText:: @ 85651C1
- .string "A SHUCKLE hides under rocks, keeping its\n"
- .string "body concealed inside its shell while\n"
- .string "eating stored berries. The berries mix with\n"
- .string "its body fluids to become a juice.$"
-
-gHeracrossPokedexText:: @ 856525F
- .string "They gather in forests seeking the sweet\n"
- .string "sap of trees. It is completely clad in a\n"
- .string "steel-hard shell. It is proud of its horn,\n"
- .string "which it uses to fling foes.$"
-
-gSneaselPokedexText:: @ 85652F9
- .string "A SNEASEL scales trees by punching its\n"
- .string "hooked claws into the bark. It seeks out\n"
- .string "unguarded nests and steals eggs for food\n"
- .string "while the parents are away.$"
-
-gTeddiursaPokedexText:: @ 856538E
- .string "It licks its palms that are sweetened by\n"
- .string "being soaked in honey. A TEDDIURSA makes\n"
- .string "its own honey by blending fruits and pollen\n"
- .string "collected by BEEDRILL.$"
-
-gUrsaringPokedexText:: @ 8565423
- .string "In forests, it is said that there are many\n"
- .string "streams and towering trees where an\n"
- .string "URSARING gathers food. It walks through\n"
- .string "its forest collecting food every day.$"
-
-gSlugmaPokedexText:: @ 85654C0
- .string "It is a species of POKéMON that lives in\n"
- .string "volcanic areas. If its body cools, its skin\n"
- .string "hardens and immobilizes it. To avoid that,\n"
- .string "it sleeps near magma.$"
-
-gMagcargoPokedexText:: @ 8565556
- .string "The shell on its back is made of hardened\n"
- .string "magma. Tens of thousands of years spent\n"
- .string "living in volcanic craters have turned\n"
- .string "MAGCARGO’s bodies into magma.$"
-
-gSwinubPokedexText:: @ 85655ED
- .string "It roots for food by rubbing its snout\n"
- .string "against the ground. Its favorite food is a\n"
- .string "mushroom that grows under dried grass.\n"
- .string "It occasionally roots out hot springs.$"
-
-gPiloswinePokedexText:: @ 856568D
- .string "A PILOSWINE is covered by a thick coat\n"
- .string "of long hair for enduring freezing cold.\n"
- .string "It uses its tusks to dig up food that has\n"
- .string "been buried under ice.$"
-
-gCorsolaPokedexText:: @ 856571E
- .string "CORSOLA live in warm southern seas.\n"
- .string "If the sea becomes polluted, the beautiful\n"
- .string "coral stalks become discolored and crumble\n"
- .string "away in tatters.$"
-
-gRemoraidPokedexText:: @ 85657A9
- .string "A REMORAID uses its abdominal muscles\n"
- .string "to forcefully expel swallowed water, then\n"
- .string "shoot down flying prey. When evolution\n"
- .string "approaches, it travels down rivers.$"
-
-gOctilleryPokedexText:: @ 8565844
- .string "It ensnares its foe with its suction-\n"
- .string "cupped tentacles before delivering the\n"
- .string "finishing blow. If the foe turns out to be\n"
- .string "too strong, it spews ink to escape.$"
-
-gDelibirdPokedexText:: @ 85658E0
- .string "It carries food bundled up in its tail.\n"
- .string "There was a famous explorer who\n"
- .string "managed to scale Mt. Everest thanks\n"
- .string "to a DELIBIRD sharing its food.$"
-
-gMantinePokedexText:: @ 856596C
- .string "On sunny days, schools of MANTINE can be\n"
- .string "seen elegantly leaping over the waves.\n"
- .string "It is not bothered by the REMORAID that\n"
- .string "hitches rides.$"
-
-gSkarmoryPokedexText:: @ 85659F3
- .string "A POKéMON that has a body and wings of\n"
- .string "steel. People in the past used feathers\n"
- .string "fallen from SKARMORY to make swords and\n"
- .string "knives.$"
-
-gHoundourPokedexText:: @ 8565A72
- .string "HOUNDOUR communicate with each other\n"
- .string "using a variety of cries to corner their\n"
- .string "prey. This POKéMON’s remarkable teamwork\n"
- .string "is simply unparalleled.$"
-
-gHoundoomPokedexText:: @ 8565B01
- .string "In a HOUNDOOM pack, the one with its horns\n"
- .string "raked sharply back serves a leadership\n"
- .string "role. They choose their leader by fighting\n"
- .string "among themselves.$"
-
-gKingdraPokedexText:: @ 8565B90
- .string "It sleeps quietly, deep on the seafloor.\n"
- .string "When it comes up to the surface, it\n"
- .string "creates a huge whirlpool that can swallow\n"
- .string "even ships.$"
-
-gPhanpyPokedexText:: @ 8565C13
- .string "PHANPY’s big ears serve as broad fans.\n"
- .string "When it becomes hot, it flaps the ears\n"
- .string "busily to cool down. Even the young are\n"
- .string "very strong.$"
-
-gDonphanPokedexText:: @ 8565C96
- .string "A DONPHAN is so strong it can easily haul\n"
- .string "a dump truck. Its hide has toughened to a\n"
- .string "rock-hard state. An ordinary sort of\n"
- .string "attack won’t even leave a scratch.$"
-
-gPorygon2PokedexText:: @ 8565D32
- .string "It was created by humans using the power\n"
- .string "of science. It has been given artificial\n"
- .string "intelligence that enables it to learn new\n"
- .string "gestures and emotions on its own.$"
-
-gStantlerPokedexText:: @ 8565DD0
- .string "STANTLER’s magnificent antlers were\n"
- .string "once traded at high prices as works of art.\n"
- .string "As a result, this POKéMON was hunted\n"
- .string "close to extinction.$"
-
-gSmearglePokedexText:: @ 8565E5A
- .string "A SMEARGLE marks its territory using a\n"
- .string "fluid that leaks out from the tip of its\n"
- .string "tail. About 5,000 different marks left by\n"
- .string "this POKéMON have been found.$"
-
-gTyroguePokedexText:: @ 8565EF2
- .string "TYROGUE become stressed out if they do\n"
- .string "not get to train every day. When raising\n"
- .string "this POKéMON, the TRAINER must establish\n"
- .string "a regular training schedule.$"
-
-gHitmontopPokedexText:: @ 8565F88
- .string "Its technique of kicking while spinning is\n"
- .string "a remarkable mix of both offense and\n"
- .string "defense. HITMONTOP travel faster\n"
- .string "spinning than they do walking.$"
-
-gSmoochumPokedexText:: @ 8566018
- .string "It actively runs about, but also falls\n"
- .string "often. Whenever it falls, it will check its\n"
- .string "reflection on a lake’s surface to make\n"
- .string "sure its face hasn’t become dirty.$"
-
-gElekidPokedexText:: @ 85660B5
- .string "If it touches metal and discharges the\n"
- .string "electricity it has stored in its body, an\n"
- .string "ELEKID begins swinging its arms in circles\n"
- .string "to recharge itself.$"
-
-gMagbyPokedexText:: @ 8566145
- .string "If a MAGBY is spouting yellow flames from\n"
- .string "its mouth, it is in good health. When it is\n"
- .string "fatigued, black smoke will be mixed in with\n"
- .string "the flames.$"
-
-gMiltankPokedexText:: @ 85661D3
- .string "It gives over five gallons of milk daily.\n"
- .string "Its sweet milk is enjoyed by children and\n"
- .string "grown-ups alike. People who can’t drink\n"
- .string "milk turn it into yogurt and eat it instead.$"
-
-gBlisseyPokedexText:: @ 856627C
- .string "If it senses sadness with its fluffy fur,\n"
- .string "a BLISSEY will rush over to the sad person,\n"
- .string "however far away, to share an egg of\n"
- .string "happiness that brings a smile to any face.$"
-
-gRaikouPokedexText:: @ 8566322
- .string "RAIKOU embodies the speed of lightning.\n"
- .string "Its roars send shock waves shuddering\n"
- .string "through the air and ground as if\n"
- .string "lightning bolts were crashing down.$"
-
-gEnteiPokedexText:: @ 85663B5
- .string "ENTEI embodies the passion of magma.\n"
- .string "It is thought to have been born in the\n"
- .string "eruption of a volcano. It blasts fire that\n"
- .string "consumes all that it touches.$"
-
-gSuicunePokedexText:: @ 856644A
- .string "SUICUNE embodies the compassion of\n"
- .string "a pure spring of water. It runs across\n"
- .string "the land with gliding elegance. It has the\n"
- .string "power to purify dirty water.$"
-
-gLarvitarPokedexText:: @ 85664DC
- .string "A LARVITAR is born deep under the ground.\n"
- .string "It must eat its way through the soil above\n"
- .string "and reach the surface for it to see its\n"
- .string "parents’ faces.$"
-
-gPupitarPokedexText:: @ 8566569
- .string "A PUPITAR creates a gas inside its body\n"
- .string "that it ejects under compression to propel\n"
- .string "itself like a jet. Its body can withstand\n"
- .string "a collision with solid steel.$"
-
-gTyranitarPokedexText:: @ 8566604
- .string "A TYRANITAR is so overwhelmingly powerful,\n"
- .string "it can bring down a whole mountain to make\n"
- .string "its nest. It roams in mountains seeking\n"
- .string "new opponents to fight.$"
-
-gLugiaPokedexText:: @ 856669A
- .string "LUGIA is so powerful even a light\n"
- .string "fluttering of its wings can blow apart\n"
- .string "houses. As a result, it chooses to live out\n"
- .string "of sight deep under the sea.$"
-
-gHoOhPokedexText:: @ 856672C
- .string "Its feathers--which glow in seven colors\n"
- .string "depending on the angle at which they are\n"
- .string "struck by light--are thought to bring joy.\n"
- .string "It is said to live at the foot of a rainbow.$"
-
-gCelebiPokedexText:: @ 85667D6
- .string "This POKéMON came from the future by\n"
- .string "crossing over time. It is thought that so\n"
- .string "long as CELEBI appears, a bright and\n"
- .string "shining future awaits us.$"
-
-gTreeckoPokedexText:: @ 8566864
- .string "It makes its nest in a giant tree in the\n"
- .string "forest. It ferociously guards against\n"
- .string "anything nearing its territory. It is said\n"
- .string "to be the protector of the forest’s trees.$"
-
-gGrovylePokedexText:: @ 8566909
- .string "Leaves grow out of this POKéMON’s body.\n"
- .string "They help obscure a GROVYLE from the eyes\n"
- .string "of its enemies while it is in a thickly\n"
- .string "overgrown forest.$"
-
-gSceptilePokedexText:: @ 8566995
- .string "In the jungle, its power is without equal.\n"
- .string "This POKéMON carefully grows trees and\n"
- .string "plants. It regulates its body temperature\n"
- .string "by basking in sunlight.$"
-
-gTorchicPokedexText:: @ 8566A29
- .string "If attacked, it strikes back by spitting\n"
- .string "balls of fire it forms in its stomach.\n"
- .string "A TORCHIC dislikes darkness because it\n"
- .string "can’t see its surroundings.$"
-
-gCombuskenPokedexText:: @ 8566ABC
- .string "It lashes out with 10 kicks per second.\n"
- .string "Its strong fighting instinct compels it\n"
- .string "to keep up its offensive until the\n"
- .string "opponent gives up.$"
-
-gBlazikenPokedexText:: @ 8566B42
- .string "It learns martial arts that use punches\n"
- .string "and kicks. Every several years, its old\n"
- .string "feathers burn off, and new, supple\n"
- .string "feathers grow back in their place.$"
-
-gMudkipPokedexText:: @ 8566BD8
- .string "On land, it can powerfully lift large\n"
- .string "boulders by planting its four feet and\n"
- .string "heaving. It sleeps by burying itself in soil\n"
- .string "at the water’s edge.$"
-
-gMarshtompPokedexText:: @ 8566C67
- .string "Its toughened hind legs enable it to stand\n"
- .string "upright. Because it weakens if its skin\n"
- .string "dries out, it replenishes fluids by playing\n"
- .string "in mud.$"
-
-gSwampertPokedexText:: @ 8566CEE
- .string "If it senses the approach of a storm and\n"
- .string "a tidal wave, it protects its seaside nest\n"
- .string "by piling up boulders. It swims as fast as\n"
- .string "a jet ski.$"
-
-gPoochyenaPokedexText:: @ 8566D78
- .string "It savagely threatens foes with bared\n"
- .string "fangs. It chases after fleeing targets\n"
- .string "tenaciously. It turns tail and runs,\n"
- .string "however, if the foe strikes back.$"
-
-gMightyenaPokedexText:: @ 8566E0C
- .string "In the wild, MIGHTYENA live in a pack.\n"
- .string "They never defy their leader’s orders.\n"
- .string "They defeat foes with perfectly\n"
- .string "coordinated teamwork.$"
-
-gZigzagoonPokedexText:: @ 8566E90
- .string "Rubbing its nose against the ground, it\n"
- .string "always wanders about back and forth in\n"
- .string "search of something. It is distinguished\n"
- .string "by the zigzag footprints it leaves.$"
-
-gLinoonePokedexText:: @ 8566F2C
- .string "It is exceedingly fast if it only has to run\n"
- .string "in a straight line. When it spots pond-\n"
- .string "dwelling prey underwater, it quickly leaps\n"
- .string "in and catches it with its sharp claws.$"
-
-gWurmplePokedexText:: @ 8566FD4
- .string "It sticks to tree branches and eats\n"
- .string "leaves. The thread it spits from its mouth,\n"
- .string "which becomes gooey when it touches\n"
- .string "air, slows the movement of its foes.$"
-
-gSilcoonPokedexText:: @ 856706D
- .string "It prepares for evolution using the\n"
- .string "energy it stored while it was a WURMPLE.\n"
- .string "It keeps watch over the surroundings with\n"
- .string "its two eyes.$"
-
-gBeautiflyPokedexText:: @ 85670F2
- .string "Its colorfully patterned wings are its\n"
- .string "most prominent feature. It flies through\n"
- .string "flower-covered fields collecting pollen.\n"
- .string "It attacks ferociously when angered.$"
-
-gCascoonPokedexText:: @ 8567190
- .string "To avoid detection by its enemies, it hides\n"
- .string "motionlessly beneath large leaves and in\n"
- .string "the gaps of branches. It also attaches\n"
- .string "dead leaves to its body for camouflage.$"
-
-gDustoxPokedexText:: @ 8567234
- .string "It is a nocturnal POKéMON that flies from\n"
- .string "fields and mountains to the attraction of\n"
- .string "streetlights at night. It looses highly\n"
- .string "toxic powder from its wings.$"
-
-gLotadPokedexText:: @ 85672CD
- .string "This POKéMON lives in ponds with clean\n"
- .string "water. It is known to ferry small POKéMON\n"
- .string "across ponds by carrying them on the\n"
- .string "broad leaf on its head.$"
-
-gLombrePokedexText:: @ 856735B
- .string "In the evening, it takes great delight in\n"
- .string "popping out of rivers and startling people.\n"
- .string "It feeds on aquatic moss that grows on\n"
- .string "rocks in the riverbed.$"
-
-gLudicoloPokedexText:: @ 85673EF
- .string "When it hears festive music, all the cells\n"
- .string "in its body become stimulated, and it\n"
- .string "begins moving in rhythm. It does not\n"
- .string "quail even when it faces a tough opponent.$"
-
-gSeedotPokedexText:: @ 8567490
- .string "It hangs off branches and absorbs\n"
- .string "nutrients. When it finishes eating, its\n"
- .string "body becomes so heavy that it drops to\n"
- .string "the ground with a thump.$"
-
-gNuzleafPokedexText:: @ 856751A
- .string "A forest-dwelling POKéMON that is skilled\n"
- .string "at climbing trees. Its long and pointed\n"
- .string "nose is its weak point. It loses power if\n"
- .string "the nose is gripped.$"
-
-gShiftryPokedexText:: @ 85675AB
- .string "It is said to arrive on chilly, wintry winds.\n"
- .string "Feared from long ago as the guardian of\n"
- .string "forests, this POKéMON lives in a deep\n"
- .string "forest where people do not venture.$"
-
-gTaillowPokedexText:: @ 856764B
- .string "Although it is small, it is very courageous.\n"
- .string "It will take on a larger SKARMORY on an\n"
- .string "equal footing. However, its will weakens if\n"
- .string "it becomes hungry.$"
-
-gSwellowPokedexText:: @ 85676DF
- .string "A SWELLOW dives upon prey from far above.\n"
- .string "It never misses its targets. It takes to\n"
- .string "the skies in search of lands with a warm\n"
- .string "climate.$"
-
-gWingullPokedexText:: @ 8567764
- .string "It makes its nest on a sheer cliff at the\n"
- .string "edge of the sea. It has trouble keeping\n"
- .string "its wings flapping in flight. Instead, it\n"
- .string "soars on updrafts.$"
-
-gPelipperPokedexText:: @ 85677F3
- .string "It skims the tops of waves as it flies.\n"
- .string "When it spots prey, it uses its large beak\n"
- .string "to scoop up the victim with water.\n"
- .string "It protects its eggs in its beak.$"
-
-gRaltsPokedexText:: @ 856788B
- .string "A RALTS has the power to sense the\n"
- .string "emotions of people and POKéMON with the\n"
- .string "horns on its head. It takes cover if it\n"
- .string "senses any hostility.$"
-
-gKirliaPokedexText:: @ 8567914
- .string "A KIRLIA has the psychic power to create \n"
- .string "a rip in the dimensions and see into the\n"
- .string "future. It is said to dance with pleasure\n"
- .string "on sunny mornings.$"
-
-gGardevoirPokedexText:: @ 85679A4
- .string "It apparently does not feel the pull of\n"
- .string "gravity because it supports itself with\n"
- .string "psychic power. It will give its life to\n"
- .string "protect its TRAINER.$"
-
-gSurskitPokedexText:: @ 8567A31
- .string "They gather on puddles after evening\n"
- .string "downpours, gliding across the surface\n"
- .string "of water as if sliding. It secretes honey\n"
- .string "with a sweet aroma from its head.$"
-
-gMasquerainPokedexText:: @ 8567AC8
- .string "It intimidates foes with the large eyelike\n"
- .string "patterns on its antennae. Because it can’t\n"
- .string "fly if its wings get wet, it shelters itself\n"
- .string "from rain under large trees and eaves.$"
-
-gShroomishPokedexText:: @ 8567B72
- .string "It loves to eat damp, composted soil in\n"
- .string "forests. If you enter a forest after a\n"
- .string "long rain, you can see many SHROOMISH\n"
- .string "feasting on composted soil.$"
-
-gBreloomPokedexText:: @ 8567C03
- .string "It scatters spores from holes in the cap\n"
- .string "on its head. It loves warm and humid\n"
- .string "climates. It feeds on trees and plants in\n"
- .string "fields and forests.$"
-
-gSlakothPokedexText:: @ 8567C8F
- .string "It sleeps virtually all day and night long.\n"
- .string "It doesn’t change its nest its entire life,\n"
- .string "but it sometimes travels great distances\n"
- .string "by swimming in rivers.$"
-
-gVigorothPokedexText:: @ 8567D27
- .string "It can’t keep still because its blood boils\n"
- .string "with energy. It runs through the fields\n"
- .string "and mountains all day to calm itself. If it\n"
- .string "doesn’t, it can’t sleep at night.$"
-
-gSlakingPokedexText:: @ 8567DC9
- .string "Hordes of SLAKING gather around trees\n"
- .string "when fruits come into season. They wait\n"
- .string "around patiently for ripened fruits to fall\n"
- .string "out of the trees.$"
-
-gNincadaPokedexText:: @ 8567E55
- .string "It makes its nest at the roots of a mighty\n"
- .string "tree. Using its whiskerlike antennae, it\n"
- .string "probes its surroundings in the\n"
- .string "pitch-black darkness of soil.$"
-
-gNinjaskPokedexText:: @ 8567EE6
- .string "Because it darts about vigorously at high\n"
- .string "speed, it is very difficult to see. Hearing\n"
- .string "its distinctive cries for too long induces\n"
- .string "a headache.$"
-
-gShedinjaPokedexText:: @ 8567F73
- .string "A peculiar POKéMON that floats in air even\n"
- .string "though its wings remain completely still.\n"
- .string "The inside of its body is hollow and\n"
- .string "utterly dark.$"
-
-gWhismurPokedexText:: @ 8567FFB
- .string "Its cries equal a jet plane in volume.\n"
- .string "It inhales through its ear canals. Because\n"
- .string "of this system, it can cry continually\n"
- .string "without having to catch its breath.$"
-
-gLoudredPokedexText:: @ 8568098
- .string "It positions the round speakers on its\n"
- .string "head to assail foes with ultrasonic waves\n"
- .string "at massive volume. It builds power by\n"
- .string "stomping the ground.$"
-
-gExploudPokedexText:: @ 8568124
- .string "It has sound-generating organs all over\n"
- .string "its body. It communicates with others by\n"
- .string "adjusting the tone and volume of the cries\n"
- .string "it emits.$"
-
-gMakuhitaPokedexText:: @ 85681AA
- .string "It loves to toughen up its body above all\n"
- .string "else. If you hear quaking rumbles in a cave,\n"
- .string "it is the sound of MAKUHITA undertaking\n"
- .string "strenuous training.$"
-
-gHariyamaPokedexText:: @ 856823D
- .string "It has the habit of challenging others\n"
- .string "without hesitation to tests of strength.\n"
- .string "It’s been known to stand on train tracks\n"
- .string "and stop trains using forearm thrusts.$"
-
-gAzurillPokedexText:: @ 85682DD
- .string "Its tail, which is packed with nutrition,\n"
- .string "is very bouncy like a rubber ball. On sunny\n"
- .string "days they gather at the edge of water and\n"
- .string "splash about for fun.$"
-
-gNosepassPokedexText:: @ 8568373
- .string "Its body emits a powerful magnetism.\n"
- .string "It feeds on prey that is pulled in by the\n"
- .string "force. Its magnetism is stronger in cold\n"
- .string "seasons.$"
-
-gSkittyPokedexText:: @ 85683F4
- .string "A SKITTY’s adorably cute behavior makes it\n"
- .string "highly popular. In battle, it makes its tail\n"
- .string "puff out. It threatens foes with a sharp\n"
- .string "growl.$"
-
-gDelcattyPokedexText:: @ 856847C
- .string "Rather than keeping a permanent lair,\n"
- .string "it habitually seeks comfortable spots and\n"
- .string "sleeps there. It is nocturnal and becomes\n"
- .string "active at dusk.$"
-
-gSableyePokedexText:: @ 8568506
- .string "It digs branching holes in caves using its\n"
- .string "sharp claws in search of food--raw gems.\n"
- .string "A SABLEYE lurks in darkness and is seen\n"
- .string "only rarely.$"
-
-gMawilePokedexText:: @ 856858F
- .string "Its giant jaws are actually steel horns\n"
- .string "that transformed. It fools foes into\n"
- .string "complacency with its adorable gestures,\n"
- .string "then chomps them with its huge jaws.$"
-
-gAronPokedexText:: @ 8568629
- .string "A POKéMON that is clad in steel armor.\n"
- .string "A new suit of armor is made when it evolves.\n"
- .string "The old, discarded armor is salvaged as\n"
- .string "metal for making iron products.$"
-
-gLaironPokedexText:: @ 85686C5
- .string "When two LAIRON meet in the wild, they\n"
- .string "fight for territory by bashing into each\n"
- .string "other with their steel bodies. The sound\n"
- .string "of their collision carries for miles.$"
-
-gAggronPokedexText:: @ 8568764
- .string "Its iron horns grow longer a little at\n"
- .string "a time. They are used to determine the\n"
- .string "AGGRON’s age. The gouges in its armor are\n"
- .string "worn with pride as mementos from battles.$"
-
-gMedititePokedexText:: @ 8568806
- .string "It continually meditates for hours every\n"
- .string "day. As a result of rigorous and dedicated\n"
- .string "yoga training, it has tempered its\n"
- .string "spiritual power so much it can fly.$"
-
-gMedichamPokedexText:: @ 85688A1
- .string "Through crushingly harsh yoga training, it\n"
- .string "gained the power to foretell its foe’s\n"
- .string "actions. It battles with elegant, dance-\n"
- .string "like movement.$"
-
-gElectrikePokedexText:: @ 856892B
- .string "It generates electricity using friction\n"
- .string "from the atmosphere. In seasons with\n"
- .string "especially arid air, its entire body blazes\n"
- .string "with violent showers of sparks.$"
-
-gManectricPokedexText:: @ 85689C4
- .string "Because lightning falls in their vicinities,\n"
- .string "MANECTRIC were thought to have been born\n"
- .string "from lightning. In battle, they create\n"
- .string "thunderclouds.$"
-
-gPluslePokedexText:: @ 8568A50
- .string "It has the trait of cheering on its fellow\n"
- .string "POKéMON. By shorting out the electricity\n"
- .string "it releases from its paws, it creates\n"
- .string "pom-poms for cheering.$"
-
-gMinunPokedexText:: @ 8568AE1
- .string "At a meeting of POKéMON academics, it was\n"
- .string "announced that simultaneous exposure to\n"
- .string "electricity from a PLUSLE and MINUN will\n"
- .string "promote circulation and boost vitality.$"
-
-gVolbeatPokedexText:: @ 8568B84
- .string "With their taillights lit, VOLBEAT fly in\n"
- .string "a swarm, drawing geometric designs in the\n"
- .string "night sky. They move their nests if their\n"
- .string "pond water becomes dirty.$"
-
-gIllumisePokedexText:: @ 8568C1C
- .string "A nocturnal POKéMON that becomes active\n"
- .string "upon nightfall. It leads a VOLBEAT swarm\n"
- .string "to draw patterns in the night sky. Over 200\n"
- .string "different patterns have been confirmed.$"
-
-gRoseliaPokedexText:: @ 8568CC1
- .string "A ROSELIA that drinks nutritionally rich\n"
- .string "springwater blooms with lovely flowers.\n"
- .string "The fragrance of its flowers has the\n"
- .string "effect of making its foes careless.$"
-
-gGulpinPokedexText:: @ 8568D5B
- .string "This POKéMON’s stomach fluid can even\n"
- .string "digest scrap iron. In one gulp, it can\n"
- .string "swallow something that is as large as\n"
- .string "itself.$"
-
-gSwalotPokedexText:: @ 8568DD6
- .string "Its powerful stomach acid is capable of\n"
- .string "digesting almost anything. The one thing\n"
- .string "in the whole world a SWALOT can’t digest is\n"
- .string "its own stomach.$"
-
-gCarvanhaPokedexText:: @ 8568E64
- .string "CARVANHA attack ships in swarms, making\n"
- .string "them sink. Although it is said to be a very\n"
- .string "vicious POKéMON, it timidly flees as soon\n"
- .string "as it finds itself alone.$"
-
-gSharpedoPokedexText:: @ 8568EFC
- .string "The vicious and sly gangster of the sea.\n"
- .string "Its skin is specially textured to minimize\n"
- .string "drag in water. Its speed tops out at over\n"
- .string "75 miles per hour.$"
-
-gWailmerPokedexText:: @ 8568F8D
- .string "While this POKéMON usually lives in the sea,\n"
- .string "it can survive on land, although not too\n"
- .string "long. It loses vitality if its body becomes\n"
- .string "dried out.$"
-
-gWailordPokedexText:: @ 856901A
- .string "It breathes through nostrils that it\n"
- .string "raises above the sea. By inhaling to its\n"
- .string "maximum capacity, a WAILORD can dive close\n"
- .string "to 10,000 feet beneath the waves.$"
-
-gNumelPokedexText:: @ 85690B5
- .string "A NUMEL stores boiling magma in the hump\n"
- .string "on its back. It is a hardy POKéMON that can\n"
- .string "transport a 220-pound load. It has served\n"
- .string "humans at work since long ago.$"
-
-gCameruptPokedexText:: @ 8569153
- .string "A POKéMON that lives in the crater of\n"
- .string "a volcano. Every 10 years, the volcanoes\n"
- .string "on its back erupt violently. Research is\n"
- .string "under way on the cause of eruption.$"
-
-gTorkoalPokedexText:: @ 85691EF
- .string "It battles using energy it gets from\n"
- .string "burning coal. When loosing smoke from its\n"
- .string "nostrils, it lets off a sound that is\n"
- .string "similar to a locomotive’s horn.$"
-
-gSpoinkPokedexText:: @ 8569284
- .string "A POKéMON that manipulates psychic power\n"
- .string "at will. It doesn’t stop bouncing even when\n"
- .string "it is asleep. It loves eating mushrooms\n"
- .string "that grow underground.$"
-
-gGrumpigPokedexText:: @ 8569318
- .string "It stores power in the black pearls on its\n"
- .string "forehead. When it uses psychic power, it\n"
- .string "performs an odd dance step. Its style of\n"
- .string "dancing became hugely popular overseas.$"
-
-gSpindaPokedexText:: @ 85693BD
- .string "It is distinguished by a pattern of\n"
- .string "spots that is always different. Its\n"
- .string "unsteady, tottering walk has the\n"
- .string "effect of fouling its foe’s aim.$"
-
-gTrapinchPokedexText:: @ 8569447
- .string "Its big jaws crunch through boulders.\n"
- .string "Because its head is so big, it has a hard\n"
- .string "time getting back upright if it tips over\n"
- .string "onto its back.$"
-
-gVibravaPokedexText:: @ 85694D0
- .string "It looses ultrasonic waves by rubbing its\n"
- .string "wings together. Since a VIBRAVA’s wings\n"
- .string "are still in the process of growing, it can\n"
- .string "only fly short distances.$"
-
-gFlygonPokedexText:: @ 8569568
- .string "The flapping of its wings sounds like\n"
- .string "singing. To prevent detection by enemies,\n"
- .string "it hides itself by flapping up a cloud of\n"
- .string "desert sand.$"
-
-gCacneaPokedexText:: @ 85695EF
- .string "CACNEA live in deserts with virtually no\n"
- .string "rainfall. It battles by swinging its thick,\n"
- .string "spiked arms. Once a year, a yellow flower\n"
- .string "blooms.$"
-
-gCacturnePokedexText:: @ 8569676
- .string "After spending thousands of years in\n"
- .string "harsh deserts, its blood transformed into\n"
- .string "the same substances as sand. It is\n"
- .string "nocturnal, so it hunts at night.$"
-
-gSwabluPokedexText:: @ 8569709
- .string "A POKéMON that has wings like cottony\n"
- .string "clouds. After enduring winter, in which\n"
- .string "little food is available, SWABLU flocks\n"
- .string "move closer to towns in the spring.$"
-
-gAltariaPokedexText:: @ 85697A3
- .string "It hums in a beautiful soprano voice.\n"
- .string "It flies among white clouds in the blue\n"
- .string "sky. It launches intensely hot fireballs\n"
- .string "from its mouth.$"
-
-gZangoosePokedexText:: @ 856982A
- .string "When it battles, it stands on its hind legs\n"
- .string "and attacks with its sharply clawed\n"
- .string "forelegs. Its fur bristles if it encounters\n"
- .string "any SEVIPER.$"
-
-gSeviperPokedexText:: @ 85698B3
- .string "SEVIPER and ZANGOOSE are eternal rivals.\n"
- .string "It counters a ZANGOOSE’s dazzling agility\n"
- .string "with its swordlike tail, which also oozes\n"
- .string "a horrible poison.$"
-
-gLunatonePokedexText:: @ 8569943
- .string "It becomes very active on the night of\n"
- .string "a full moon. This POKéMON was first\n"
- .string "discovered 40 years ago at the site of\n"
- .string "a meteor strike.$"
-
-gSolrockPokedexText:: @ 85699C6
- .string "Solar energy is the source of this \n"
- .string "POKéMON’s power. On sunny days, groups of\n"
- .string "SOLROCK line up facing the sun and absorb\n"
- .string "its light.$"
-
-gBarboachPokedexText:: @ 8569A49
- .string "Its body is covered with a slimy film.\n"
- .string "The film acts as a barrier to prevent germs\n"
- .string "in muddy water from entering the\n"
- .string "BARBOACH’s body.$"
-
-gWhiscashPokedexText:: @ 8569ACE
- .string "Mysteriously, it can foretell earthquakes.\n"
- .string "In the daytime, it sleeps in mud at the\n"
- .string "bottom of a pond. When it awakens, it\n"
- .string "continually feeds throughout the night.$"
-
-gCorphishPokedexText:: @ 8569B6F
- .string "Once it grips prey with its large pincers,\n"
- .string "it will never let go, no matter what.\n"
- .string "It is a hardy POKéMON that can thrive\n"
- .string "in any environment.$"
-
-gCrawdauntPokedexText:: @ 8569BFA
- .string "A brutish POKéMON that loves to battle.\n"
- .string "A veteran CRAWDAUNT that has prevailed in\n"
- .string "hundreds of battles has giant pincers\n"
- .string "marked with countless scars.$"
-
-gBaltoyPokedexText:: @ 8569C8F
- .string "A BALTOY moves by spinning on its single\n"
- .string "foot. It has been depicted in murals \n"
- .string "adorning the walls of a once-bustling city\n"
- .string "in an ancient age.$"
-
-gClaydolPokedexText:: @ 8569D1C
- .string "A CLAYDOL sleeps while hovering in midair.\n"
- .string "Its arms are separate from its body.\n"
- .string "They are kept floating by the POKéMON’s\n"
- .string "manipulation of psychic power.$"
-
-gLileepPokedexText:: @ 8569DB3
- .string "It disguises itself as seaweed by making\n"
- .string "its tentacles sway. Unsuspecting prey\n"
- .string "that come too close are swallowed whole.\n"
- .string "It became extinct 100 million years ago.$"
-
-gCradilyPokedexText:: @ 8569E54
- .string "It drags its heavy body along the\n"
- .string "seafloor. It makes its nest in the shallows\n"
- .string "of warm seas. CRADILY can be seen on\n"
- .string "beaches when the tide goes out.$"
-
-gAnorithPokedexText:: @ 8569EE7
- .string "It was resurrected from a fossil using the\n"
- .string "power of science. It swims by undulating\n"
- .string "the eight wings at its sides. They were\n"
- .string "feet that adapted to life in the sea.$"
-
-gArmaldoPokedexText:: @ 8569F89
- .string "ARMALDO usually lives on land. However,\n"
- .string "when it hunts for prey, it dives beneath\n"
- .string "the ocean. It swims around using its two\n"
- .string "large wings.$"
-
-gFeebasPokedexText:: @ 856A010
- .string "FEEBAS live in ponds that are heavily\n"
- .string "infested with weeds. Because of its\n"
- .string "hopelessly shabby appearance, it\n"
- .string "seems as if few TRAINERS raise it.$"
-
-gMiloticPokedexText:: @ 856A09E
- .string "It is said to live at the bottom of\n"
- .string "large lakes. Considered to be the most\n"
- .string "beautiful of all POKéMON, it has been\n"
- .string "depicted in paintings and statues.$"
-
-gCastformPokedexText:: @ 856A132
- .string "It alters its form depending on the\n"
- .string "weather. Changes in the climate such as\n"
- .string "the temperature and humidity appear to\n"
- .string "affect its cellular structure.$"
-
-gKecleonPokedexText:: @ 856A1C4
- .string "A POKéMON that has the ability to alter its\n"
- .string "body colors to match its surroundings.\n"
- .string "A KECLEON reverts to its original colors if\n"
- .string "it is startled.$"
-
-gShuppetPokedexText:: @ 856A253
- .string "This POKéMON roams about deep in the\n"
- .string "night seeking such negative emotions as\n"
- .string "grudges and envy. It retreats to its nest\n"
- .string "when the sun begins to rise.$"
-
-gBanettePokedexText:: @ 856A2E7
- .string "An abandoned plush doll became this\n"
- .string "POKéMON. They are said to live in garbage\n"
- .string "dumps and wander about in search of the\n"
- .string "children that threw them away.$"
-
-gDuskullPokedexText:: @ 856A37C
- .string "A glare from its single scarlet eye makes\n"
- .string "even burly grown-ups freeze in utter fear.\n"
- .string "It is a nocturnal POKéMON that roams\n"
- .string "about under the cloak of darkness.$"
-
-gDusclopsPokedexText:: @ 856A419
- .string "It is thought that its body is hollow with\n"
- .string "only a spectral ball of fire burning inside.\n"
- .string "However, no one has been able to\n"
- .string "confirm this theory as fact.$"
-
-gTropiusPokedexText:: @ 856A4AF
- .string "It flies by flapping its broad leaves.\n"
- .string "The bunch of fruit that grows around its\n"
- .string "neck is deliciously sweet. In the spring,\n"
- .string "it scatters pollen from its neck.$"
-
-gChimechoPokedexText:: @ 856A54B
- .string "They fly about very actively when the hot\n"
- .string "season arrives. They communicate among\n"
- .string "themselves using seven different and\n"
- .string "distinguishing cries.$"
-
-gAbsolPokedexText:: @ 856A5D7
- .string "It sharply senses even subtle changes in\n"
- .string "the sky and the land to predict natural\n"
- .string "disasters. It is a long-lived POKéMON that\n"
- .string "has a life-span of 100 years.$"
-
-gWynautPokedexText:: @ 856A671
- .string "A WYNAUT loves to eat sweet fruits.\n"
- .string "It cleverly picks fruits using its earlike\n"
- .string "arms. They gather in fruit gardens, drawn\n"
- .string "by the fragrance.$"
-
-gSnoruntPokedexText:: @ 856A6FC
- .string "They tend to move about in groups of\n"
- .string "around five SNORUNT. In snowy regions,\n"
- .string "it is said that when they are seen late at\n"
- .string "night, snowfall will arrive by morning.$"
-
-gGlaliePokedexText:: @ 856A79B
- .string "A GLALIE has the power to instantaneously\n"
- .string "freeze moisture in the atmosphere.\n"
- .string "A dazzling cloud of diamondlike ice\n"
- .string "crystals forms around its body.$"
-
-gSphealPokedexText:: @ 856A82C
- .string "It is completely covered with plushy fur.\n"
- .string "As a result, it never feels the cold even\n"
- .string "when it is rolling about on ice floes or\n"
- .string "diving in the sea.$"
-
-gSealeoPokedexText:: @ 856A8BC
- .string "SEALEO live in herds on ice floes. Using its\n"
- .string "powerful flippers, it shatters ice.\n"
- .string "It dives into the sea to hunt prey five\n"
- .string "times a day.$"
-
-gWalreinPokedexText:: @ 856A942
- .string "To protect its herd, the leader battles\n"
- .string "anything that invades its territory, even\n"
- .string "at the cost of its life. Its tusks may snap\n"
- .string "off in battle.$"
-
-gClamperlPokedexText:: @ 856A9CF
- .string "A CLAMPERL slams its shell closed on prey\n"
- .string "to prevent escape. The pearl it creates\n"
- .string "upon evolution is said to be infused with\n"
- .string "a mysterious energy.$"
-
-gHuntailPokedexText:: @ 856AA60
- .string "To withstand the crushing pressure of\n"
- .string "water deep under the sea, its spine is very\n"
- .string "thick and sturdy. Its tail, which is shaped\n"
- .string "like a small fish, has eyes that light up.$"
-
-gGorebyssPokedexText:: @ 856AB09
- .string "A GOREBYSS siphons the body fluids of prey\n"
- .string "through its thin, tubular mouth. Its light\n"
- .string "pink body color turns vivid when it\n"
- .string "finishes feeding.$"
-
-gRelicanthPokedexText:: @ 856AB95
- .string "A POKéMON that was once believed to have\n"
- .string "been extinct. The species has not changed\n"
- .string "its form for 100 million years. It walks on\n"
- .string "the seafloor using its pectoral fins.$"
-
-gLuvdiscPokedexText:: @ 856AC3A
- .string "LUVDISC make the branches of CORSOLA\n"
- .string "their nests. There is a custom from long\n"
- .string "ago of giving a LUVDISC as a gift to\n"
- .string "express one’s feelings of love.$"
-
-gBagonPokedexText:: @ 856ACCD
- .string "Although it is small, this POKéMON is very\n"
- .string "powerful because its body is a bundle of\n"
- .string "muscles. It launches head-butts with its\n"
- .string "ironlike skull.$"
-
-gShelgonPokedexText:: @ 856AD5A
- .string "It hardly eats while it awaits evolution.\n"
- .string "It becomes hardier by enduring hunger.\n"
- .string "Its shell peels off the instant it begins\n"
- .string "to evolve.$"
-
-gSalamencePokedexText:: @ 856ADE0
- .string "After many long years, its cellular\n"
- .string "structure underwent a sudden mutation to\n"
- .string "grow wings. When angered, it loses all\n"
- .string "thought and rampages out of control.$"
-
-gBeldumPokedexText:: @ 856AE79
- .string "When BELDUM gather in a swarm, they move\n"
- .string "in perfect unison as if they were but one\n"
- .string "POKéMON. They communicate with each other\n"
- .string "using brain waves.$"
-
-gMetangPokedexText:: @ 856AF09
- .string "The claws tipping its arms pack the\n"
- .string "destructive power to tear through thick\n"
- .string "iron sheets as if they were silk. It flies\n"
- .string "at over 60 miles per hour.$"
-
-gMetagrossPokedexText:: @ 856AF9B
- .string "METAGROSS has four brains that are joined\n"
- .string "by a complex neural network. As a result of\n"
- .string "integration, this POKéMON is smarter than\n"
- .string "a supercomputer.$"
-
-gRegirockPokedexText:: @ 856B02C
- .string "A POKéMON that is made entirely of rocks\n"
- .string "and boulders. If parts of its body chip off\n"
- .string "in battle, REGIROCK repairs itself by\n"
- .string "adding new rocks.$"
-
-gRegicePokedexText:: @ 856B0B9
- .string "Its entire body is made of Antarctic ice.\n"
- .string "After extensive studies, researchers\n"
- .string "believe the ice was formed during an\n"
- .string "ice age.$"
-
-gRegisteelPokedexText:: @ 856B136
- .string "Its body is harder than any other kind of\n"
- .string "metal. The body metal is composed of a\n"
- .string "mysterious substance. Not only is it hard,\n"
- .string "it shrinks and stretches flexibly.$"
-
-gLatiasPokedexText:: @ 856B1D5
- .string "They make a small herd of only several\n"
- .string "members. They rarely make contact with\n"
- .string "people or other POKéMON. They disappear\n"
- .string "if they sense enemies.$"
-
-gLatiosPokedexText:: @ 856B262
- .string "Even in hiding, it can detect the locations\n"
- .string "of others and sense their emotions since\n"
- .string "it has telepathy. Its intelligence allows\n"
- .string "it to understand human languages.$"
-
-gKyogrePokedexText:: @ 856B303
- .string "KYOGRE has appeared in mythology as the\n"
- .string "creator of the sea. After long years of\n"
- .string "feuding with GROUDON, it took to sleep at\n"
- .string "the bottom of the sea.$"
-
-gGroudonPokedexText:: @ 856B394
- .string "GROUDON has appeared in mythology as the\n"
- .string "creator of the land. It sleeps in magma\n"
- .string "underground and is said to make volcanoes\n"
- .string "erupt on awakening.$"
-
-gRayquazaPokedexText:: @ 856B423
- .string "A POKéMON that flies endlessly in the\n"
- .string "ozone layer. It is said it would descend\n"
- .string "to the ground if KYOGRE and GROUDON\n"
- .string "were to fight.$"
-
-gJirachiPokedexText:: @ 856B4A5
- .string "JIRACHI is said to make wishes come true.\n"
- .string "While it sleeps, a tough crystalline shell\n"
- .string "envelops the body to protect it from\n"
- .string "enemies.$"
-
-gDeoxysPokedexText:: @ 856B528
- .string "A POKéMON that mutated from an\n"
- .string "extraterrestrial virus exposed to a laser\n"
- .string "beam. Its body is configured for superior\n"
- .string "agility and speed.$"
diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s
index 8497f59ad..c257961d3 100644
--- a/data/use_pokeblock.s
+++ b/data/use_pokeblock.s
@@ -2,6 +2,8 @@
.include "constants/constants.inc"
.section .rodata
+
+.align 4
gUnknown_085DFA60:: @ 85DFA60
.incbin "graphics/interface/85DFA60.bin"
diff --git a/graphics/interface/menu.png b/graphics/battle_interface/textbox.png
index 96f6b8b15..96f6b8b15 100644
--- a/graphics/interface/menu.png
+++ b/graphics/battle_interface/textbox.png
Binary files differ
diff --git a/graphics/interface/menu_0.pal b/graphics/battle_interface/textbox_0.pal
index 67e1af896..67e1af896 100644
--- a/graphics/interface/menu_0.pal
+++ b/graphics/battle_interface/textbox_0.pal
diff --git a/graphics/interface/menu_1.pal b/graphics/battle_interface/textbox_1.pal
index 3adc73766..3adc73766 100644
--- a/graphics/interface/menu_1.pal
+++ b/graphics/battle_interface/textbox_1.pal
diff --git a/graphics/interface/menu_map.bin b/graphics/battle_interface/textbox_map.bin
index 8a7b3f1f0..8a7b3f1f0 100644
--- a/graphics/interface/menu_map.bin
+++ b/graphics/battle_interface/textbox_map.bin
Binary files differ
diff --git a/graphics/pokedex/85B8BF0.pal b/graphics/pokedex/85B8BF0.pal
deleted file mode 100644
index 969c38cbd..000000000
--- a/graphics/pokedex/85B8BF0.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-0 0 148
-0 131 131
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-148 148 255
-156 156 255
-172 172 255
-189 189 255
-205 205 255
-222 222 255
-238 238 255
-255 255 255
diff --git a/graphics/pokedex/85B8C10.png b/graphics/pokedex/85B8C10.png
new file mode 100755
index 000000000..ef52a4138
--- /dev/null
+++ b/graphics/pokedex/85B8C10.png
Binary files differ
diff --git a/graphics/trainers/front_pics/winstrate_f_front_pic.png b/graphics/trainers/front_pics/pokefan_f_front_pic.png
index 4d4f9cffe..4d4f9cffe 100644
--- a/graphics/trainers/front_pics/winstrate_f_front_pic.png
+++ b/graphics/trainers/front_pics/pokefan_f_front_pic.png
Binary files differ
diff --git a/graphics/trainers/front_pics/winstrate_m_front_pic.png b/graphics/trainers/front_pics/pokefan_m_front_pic.png
index a6dc4a18e..a6dc4a18e 100644
--- a/graphics/trainers/front_pics/winstrate_m_front_pic.png
+++ b/graphics/trainers/front_pics/pokefan_m_front_pic.png
Binary files differ
diff --git a/graphics/trainers/palettes/winstrate_f.pal b/graphics/trainers/palettes/pokefan_f.pal
index 09728f005..09728f005 100644
--- a/graphics/trainers/palettes/winstrate_f.pal
+++ b/graphics/trainers/palettes/pokefan_f.pal
diff --git a/graphics/trainers/palettes/winstrate_m.pal b/graphics/trainers/palettes/pokefan_m.pal
index 1d1f48875..1d1f48875 100644
--- a/graphics/trainers/palettes/winstrate_m.pal
+++ b/graphics/trainers/palettes/pokefan_m.pal
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index fb250ad82..0a22a711c 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -309,8 +309,8 @@ graphics/pokenav/region_map.8bpp: %.8bpp: %.png
$(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 29
-$(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \
- $(INTERFACEGFXDIR)/menu_1.gbapal
+$(BATINTGFXDIR)/textbox.gbapal: $(BATINTGFXDIR)/textbox_0.gbapal \
+ $(BATINTGFXDIR)/textbox_1.gbapal
@cat $^ >$@
$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \
diff --git a/include/apprentice.h b/include/apprentice.h
index ca0b04800..195106c53 100644
--- a/include/apprentice.h
+++ b/include/apprentice.h
@@ -9,7 +9,8 @@ struct ApprenticeTrainer
u16 otId;
u8 facilityClass;
u16 species[APPRENTICE_SPECIES_COUNT];
- u8 rest[14];
+ u8 id;
+ u16 easyChatWords[6];
};
extern const struct ApprenticeTrainer gApprentices[];
diff --git a/include/battle.h b/include/battle.h
index 87aa2a45b..c4a0fe9a5 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -498,10 +498,12 @@ struct BattleStruct
struct BattleTv tv;
u8 notSureWhatFieldLol[0x28];
u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT];
- u8 field_298[8];
- u8 field_2A0;
- u8 field_2A1;
- u8 field_2A2;
+ s8 arenaMindPoints[2];
+ s8 arenaSkillPoints[2];
+ u16 arenaStartHp[2];
+ u8 arenaLostPlayerMons; // Bits for party member, lost as in referee's decision, not by fainting.
+ u8 arenaLostOpponentMons;
+ u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed pokemon.
};
#define GET_MOVE_TYPE(move, typeArg) \
@@ -561,6 +563,7 @@ struct BattleScripting
u8 field_23;
u8 windowsType; // 0 - normal, 1 - battle arena
u8 multiplayerId;
+ u8 specialTrainerBattleType;
};
// rom_80A5C6C
@@ -657,10 +660,22 @@ struct MonSpritesGfx
u8 field_F4[0x80];
u8 *barFontGfx;
void *field_178;
- void *field_17C;
+ u16 *field_17C;
};
// All battle variables are declared in battle_main.c
+extern u16 gBattle_BG0_X;
+extern u16 gBattle_BG0_Y;
+extern u16 gBattle_BG1_X;
+extern u16 gBattle_BG1_Y;
+extern u16 gBattle_BG2_X;
+extern u16 gBattle_BG2_Y;
+extern u16 gBattle_BG3_X;
+extern u16 gBattle_BG3_Y;
+extern u16 gBattle_WIN0H;
+extern u16 gBattle_WIN0V;
+extern u16 gBattle_WIN1H;
+extern u16 gBattle_WIN1V;
extern u8 gDisplayedStringBattle[300];
extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 200b9fdb1..c3601bbd9 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -1,12 +1,15 @@
#ifndef GUARD_BATTLE_ANIM_H
#define GUARD_BATTLE_ANIM_H
+#include "battle.h"
+#include "constants/battle_anim.h"
+
enum
{
BG_ANIM_SCREEN_SIZE,
BG_ANIM_AREA_OVERFLOW_MODE,
BG_ANIM2,
- BG_ANIM3,
+ BG_ANIM_CHAR_BASE_BLOCK,
BG_ANIM_PRIORITY,
BG_ANIM_5,
BG_ANIM_6
@@ -24,16 +27,13 @@ struct UnknownAnimStruct2
struct BattleAnimBackground
{
- void *image;
- void *palette;
- void *tilemap;
+ const u32 *image;
+ const u32 *palette;
+ const u32 *tilemap;
};
#define ANIM_ARGS_COUNT 8
-#define PAN_SIDE_PLAYER -64
-#define PAN_SIDE_OPPONENT 63
-
extern void (*gAnimScriptCallback)(void);
extern bool8 gAnimScriptActive;
extern u8 gAnimVisualTaskCount;
@@ -64,6 +64,7 @@ s8 BattleAnimAdjustPanning2(s8 pan);
s16 KeepPanInRange(s16 a);
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
void sub_80A4720(u16 a, u16 *b, u32 c, u8 d);
+void sub_80A477C(bool8);
// battle_anim_80FE840.s
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
@@ -72,9 +73,35 @@ void HandleIntroSlide(u8 terrainId);
u32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_80A5C6C.s
-void sub_80A6EEC(struct Sprite *sprite);
-void sub_80A68D4(struct Sprite *sprite);
+void sub_80A6450(struct Sprite *sprite);
+void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y);
+void move_anim_8074EE0(struct Sprite *sprite);
+void sub_80A656C(struct Sprite *sprite);
+void InitAnimSpritePos(struct Sprite *sprite, u8 a2);
+void sub_80A6980(struct Sprite *sprite, bool8 a2);
+void StartAnimLinearTranslation(struct Sprite *sprite);
+void InitAnimArcTranslation(struct Sprite *sprite);
bool8 TranslateAnimLinear(struct Sprite *sprite);
+void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
+void sub_80A8EE4(struct Sprite *sprite);
+u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId);
+void sub_80A6FD4(struct Sprite *sprite);
+u16 ArcTan2Neg(s16 a, s16 b);
+void sub_80A73E0(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation);
+void sub_80A67BC(struct Sprite *sprite);
+void sub_80A66DC(struct Sprite *sprite);
+void sub_80A6838(struct Sprite *sprite);
+void sub_80A67D8(struct Sprite *sprite);
+void sub_80A6864(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);
+void *sub_80A8050(s16 bottom, s16 top);
+void sub_80A8048(s16 *bottom, s16 *top, const void *ptr);
void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
@@ -84,9 +111,19 @@ void sub_80A6630(struct Sprite *sprite);
void sub_80A6680(struct Sprite *sprite);
void sub_80A7344(u8 spriteId);
void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
-void sub_80A6E14(struct Sprite *sprite);
+void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
void sub_80A7270(u8 spriteId, u8 objMode);
void sub_80A73A0(u8 spriteId);
+u32 sub_80A75AC(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7);
+u32 sub_80A76C4(u8 a1, u8 a2, u8 a3, u8 a4);
+u8 sub_80A77AC(u8 a1);
+s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8);
+void obj_delete_but_dont_free_vram(struct Sprite*);
+u8 sub_80A89C8(int, u8, int);
+void sub_80A6D60(struct UnknownAnimStruct2*, const void*, u32);
+void sub_80A6CC0(u32, const void*, u32);
+void sub_80A6DAC(bool8);
+void sub_80A634C(struct Sprite *);
enum
{
@@ -127,6 +164,56 @@ u8 ItemIdToBallId(u16 itemId);
u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId);
+// battle_anim_utility_funcs.s
+void sub_8116EB4(u8);
+
+u32 UnpackSelectedBattleAnimPalettes(s16);
+
u8 GetBattlerSpriteFinal_Y(u8, u16, u8);
+extern const struct OamData gUnknown_08524944;
+extern const struct OamData gUnknown_08524A8C;
+extern const struct OamData gUnknown_08524904;
+extern const struct OamData gUnknown_085249C4;
+extern const struct OamData gUnknown_0852490C;
+extern const struct OamData gUnknown_08524934;
+extern const struct OamData gUnknown_08524974;
+extern const struct OamData gUnknown_0852499C;
+extern const struct OamData gUnknown_085249CC;
+extern const struct OamData gUnknown_08524914;
+extern const struct OamData gUnknown_0852496C;
+extern const struct OamData gUnknown_08524A34;
+extern const struct OamData gUnknown_08524A3C;
+extern const struct OamData gUnknown_08524A94;
+extern const struct OamData gUnknown_08524954;
+extern const struct OamData gUnknown_08524AE4;
+extern const struct OamData gUnknown_085249D4;
+extern const struct OamData gUnknown_08524A9C;
+extern const struct OamData gUnknown_08524ADC;
+extern const struct OamData gUnknown_08524B14;
+extern const struct OamData gUnknown_08524A54;
+extern const struct OamData gUnknown_08524A14;
+extern const struct OamData gUnknown_08524A1C;
+extern const struct OamData gUnknown_085249BC;
+extern const struct OamData gUnknown_08524AF4;
+extern const struct OamData gUnknown_085249DC;
+extern const struct OamData gUnknown_08524AFC;
+extern const struct OamData gUnknown_08524B1C;
+extern const struct OamData gUnknown_08524A04;
+extern const struct OamData gUnknown_08524A2C;
+extern const struct OamData gUnknown_08524AEC;
+extern const struct OamData gUnknown_08524964;
+extern const struct OamData gUnknown_08524B24;
+extern const struct OamData gUnknown_08524A24;
+extern const struct OamData gUnknown_08524AC4;
+extern const struct OamData gUnknown_08524A84;
+extern const struct OamData gUnknown_08524A64;
+extern const struct OamData gUnknown_0852491C;
+extern const struct OamData gUnknown_0852495C;
+extern const struct OamData gUnknown_0852497C;
+extern const struct OamData gUnknown_085249F4;
+extern const struct OamData gUnknown_0852493C;
+extern const struct OamData gUnknown_08524A5C;
+extern const struct OamData gUnknown_08524A74;
+
#endif // GUARD_BATTLE_ANIM_H
diff --git a/include/battle_arena.h b/include/battle_arena.h
new file mode 100644
index 000000000..bf305ea4e
--- /dev/null
+++ b/include/battle_arena.h
@@ -0,0 +1,14 @@
+#ifndef GUARD_BATTLE_ARENA_H
+#define GUARD_BATTLE_ARENA_H
+
+void CallBattleArenaFunction(void);
+u8 BattleArena_ShowJudgmentWindow(u8 *state);
+void BattleArena_InitPoints(void);
+void BattleArena_AddMindPoints(u8 battler);
+void BattleArena_AddSkillPoints(u8 battler);
+void BattleArena_DeductMindPoints(u8 battler, u16 stringId);
+void sub_81A586C(u8 battler);
+void sub_81A5BF8(void);
+void sub_81A5D44(void);
+
+#endif //GUARD_BATTLE_ARENA_H
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index b449bb501..9449f1986 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -1,8 +1,6 @@
#ifndef GUARD_BATTLE_CONTROLLERS_H
#define GUARD_BATTLE_CONTROLLERS_H
-#include "battle.h"
-
enum
{
REQUEST_ALL_BATTLE,
@@ -177,6 +175,7 @@ enum
CONTROLLER_CMDS_COUNT
};
+extern struct UnusedControllerStruct gUnknown_02022D0C;
// general functions
void HandleLinkBattleSetup(void);
diff --git a/include/battle_dome.h b/include/battle_dome.h
index d05b08689..2265f14ce 100644
--- a/include/battle_dome.h
+++ b/include/battle_dome.h
@@ -3,7 +3,7 @@
extern u32 gUnknown_0203CD70;
-s32 GetTrainerMonCountInBits(u16 tournamentTrainerId);
+s32 GetDomeTrainerMonCountInBits(u16 tournamentTrainerId);
s32 TrainerIdToDomeTournamentId(u16 trainerId);
#endif // GUARD_BATTLE_DOME_H
diff --git a/include/battle_factory.h b/include/battle_factory.h
index 1b0e44943..2db041b06 100644
--- a/include/battle_factory.h
+++ b/include/battle_factory.h
@@ -1,7 +1,12 @@
#ifndef GUARD_BATTLE_FACTORY_H
#define GUARD_BATTLE_FACTORY_H
-void DoBattleFactorySelectScreen(void);
-void DoBattleFactorySwapScreen(void);
+void CallBattleFactoryFunction(void);
+bool8 sub_81A6BF4(void);
+u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1);
+void FillFactoryBrainParty(void);
+u8 sub_81A6F70(u8 battleMode, u8 lvlMode);
+u32 GetAiScriptsInBattleFactory(void);
+void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 moveArg, u8 moveSlot);
#endif // GUARD_BATTLE_FACTORY_H
diff --git a/include/battle_factory_screen.h b/include/battle_factory_screen.h
new file mode 100644
index 000000000..86d6177f6
--- /dev/null
+++ b/include/battle_factory_screen.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_BATTLE_FACTORY_SCREEN_H
+#define GUARD_BATTLE_FACTORY_SCREEN_H
+
+void DoBattleFactorySelectScreen(void);
+void DoBattleFactorySwapScreen(void);
+
+#endif // GUARD_BATTLE_FACTORY_SCREEN_H
diff --git a/include/battle_frontier_1.h b/include/battle_frontier_1.h
deleted file mode 100644
index bc777914a..000000000
--- a/include/battle_frontier_1.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef GUARD_BATTLE_FRONTIER_1_H
-#define GUARD_BATTLE_FRONTIER_1_H
-
-bool32 sub_8196034(void);
-
-#endif // GUARD_BATTLE_FRONTIER_1_H
diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h
deleted file mode 100644
index 573053f10..000000000
--- a/include/battle_frontier_2.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef GUARD_BATTLE_FRONTIER_2_H
-#define GUARD_BATTLE_FRONTIER_2_H
-
-#define FRONTIER_BEFORE_TEXT 0
-#define FRONTIER_WIN_TEXT 1
-#define FRONTIER_LOSE_TEXT 2
-
-void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
-void sub_81A8934(u8);
-void sub_81A895C(void);
-u16 sub_81A89A0(u8);
-void sub_81A8AF8(void);
-bool8 InBattlePike(void);
-void sub_81AA078(u16*, u8);
-void sub_81A4C30(void);
-bool8 sub_81A6BF4(void);
-
-#endif // GUARD_BATTLE_FRONTIER_2_H
diff --git a/include/battle_interface.h b/include/battle_interface.h
index 3145939d0..66a7f9828 100644
--- a/include/battle_interface.h
+++ b/include/battle_interface.h
@@ -1,8 +1,6 @@
#ifndef GUARD_BATTLE_INTERFACE_H
#define GUARD_BATTLE_INTERFACE_H
-#include "battle_controllers.h"
-
enum
{
HP_CURRENT,
diff --git a/include/battle_pike.h b/include/battle_pike.h
new file mode 100644
index 000000000..ada5b2441
--- /dev/null
+++ b/include/battle_pike.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_BATTLE_PIKE_H
+#define GUARD_BATTLE_PIKE_H
+
+void CallBattlePikeFunction(void);
+u8 GetBattlePikeWildMonHeaderId(void);
+bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
+bool8 InBattlePike(void);
+
+#endif // GUARD_BATTLE_PIKE_H
diff --git a/include/battle_pyramid.h b/include/battle_pyramid.h
new file mode 100644
index 000000000..5d38e9f35
--- /dev/null
+++ b/include/battle_pyramid.h
@@ -0,0 +1,24 @@
+#ifndef GUARD_BATTLE_PYRAMID_H
+#define GUARD_BATTLE_PYRAMID_H
+
+void CallBattlePyramidFunction(void);
+u16 LocalIdToPyramidTrainerId(u8 localId);
+bool8 GetBattlePyramidTrainerFlag(u8 eventId);
+void sub_81A9B04(void);
+void GenerateBattlePyramidWildMon(void);
+u8 GetPyramidRunMultiplier(void);
+u8 InBattlePyramid(void);
+bool8 InBattlePyramid_(void);
+void sub_81A9E90(void);
+void sub_81A9EC8(void);
+void CopyPyramidTrainerSpeechBefore(u16 trainerId);
+void CopyPyramidTrainerWinSpeech(u16 trainerId);
+void CopyPyramidTrainerLoseSpeech(u16 trainerId);
+u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerId);
+void sub_81AA078(u16 *mapArg, u8 arg1);
+void sub_81AA1D8(void);
+void sub_81AA2F8(void);
+u8 sub_81AAA40(void);
+u16 GetBattlePyramidPickupItemId(void);
+
+#endif // GUARD_BATTLE_PYRAMID_H
diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h
index 2301b0aa0..48f8de3c0 100644
--- a/include/battle_pyramid_bag.h
+++ b/include/battle_pyramid_bag.h
@@ -34,6 +34,7 @@ struct PyramidBagCursorData
extern struct PyramidBagResources *gPyramidBagResources;
extern struct PyramidBagCursorData gPyramidBagCursorData;
+void sub_81C4EEC(void);
void CB2_PyramidBagMenuFromStartMenu(void);
void sub_81C4F84(void);
void sub_81C5924(void);
diff --git a/include/battle_scripts.h b/include/battle_scripts.h
index 9c4537363..a23fa6948 100644
--- a/include/battle_scripts.h
+++ b/include/battle_scripts.h
@@ -206,7 +206,7 @@ extern const u8 BattleScript_BerryFocusEnergyEnd2[];
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
extern const u8 BattleScript_ArenaTurnBeginning[];
extern const u8 BattleScript_82DB881[];
-extern const u8 BattleScript_82DB8F3[];
+extern const u8 BattleScript_ArenaDoJudgment[];
extern const u8 BattleScript_82DAA0B[];
extern const u8 BattleScript_AskIfWantsToForfeitMatch[];
extern const u8 BattleScript_PrintPlayerForfeited[];
diff --git a/include/battle_setup.h b/include/battle_setup.h
index 0caa3df27..98c366acd 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -1,23 +1,6 @@
#ifndef GUARD_BATTLE_SETUP_H
#define GUARD_BATTLE_SETUP_H
-enum
-{
- TRAINER_BATTLE_NORMAL,
- TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC,
- TRAINER_BATTLE_CONTINUE_SCRIPT,
- TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT,
- TRAINER_BATTLE_DOUBLE,
- TRAINER_BATTLE_REMATCH,
- TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE,
- TRAINER_BATTLE_REMATCH_DOUBLE,
- TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC,
- TRAINER_BATTLE_9,
- TRAINER_BATTLE_SET_TRAINER_A,
- TRAINER_BATTLE_SET_TRAINER_B,
- TRAINER_BATTLE_12,
-};
-
#define REMATCHES_COUNT 5
#define REMATCH_TABLE_ENTRIES 78
#define REMATCH_WALLY_ENTRY 64
diff --git a/include/battle_tower.h b/include/battle_tower.h
index 5879a73bb..b6adcec0c 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -3,35 +3,25 @@
struct RSBattleTowerRecord
{
- /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
- /*0x01*/ u8 trainerClass;
+ /*0x00*/ u8 lvlMode; // 0 = level 50, 1 = level 100
+ /*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
- /*0x10*/ struct {
- u16 easyChat[6];
- } greeting;
+ /*0x10*/ u16 greeting[6];
/*0x1C*/ struct UnknownPokemonStruct party[3];
/*0xA0*/ u32 checksum;
- /*0xA4*/ u16 unk_11c8;
};
-union BattleTowerRecord
-{
- struct RSBattleTowerRecord ruby_sapphire;
- struct EmeraldBattleTowerRecord emerald;
-};
-
-#define FRONTIER_TRAINER_NAME_LENGTH 7
-
struct BattleFrontierTrainer
{
- u32 facilityClass;
- u8 trainerName[FRONTIER_TRAINER_NAME_LENGTH + 1];
+ u8 facilityClass;
+ u8 filler1[3];
+ u8 trainerName[PLAYER_NAME_LENGTH + 1];
u16 speechBefore[6];
u16 speechWin[6];
u16 speechLose[6];
- const u16 *btMonPool;
+ const u16 *monSets;
};
struct FacilityMon
@@ -43,17 +33,49 @@ struct FacilityMon
u8 nature;
};
+extern const u8 gTowerMaleFacilityClasses[30];
+extern const u8 gTowerMaleTrainerGfxIds[30];
+extern const u8 gTowerFemaleFacilityClasses[20];
+extern const u8 gTowerFemaleTrainerGfxIds[20];
+
+extern u16 gUnknown_03006298[];
+
extern const struct BattleFrontierTrainer *gFacilityTrainers;
extern const struct FacilityMon *gFacilityTrainerMons;
-u16 sub_8164FCC(u8, u8);
-void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1);
-bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *);
-void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *);
-void sub_81628A0(union BattleTowerRecord *);
-void sub_8162614(u16 trainerId, u8);
-void ConvertBattleFrontierTrainerSpeechToString(const u16 *words);
-void GetFrontierTrainerName(u8 *dest, u16 trainerIdx);
-void GetEreaderTrainerName(u8 *dest);
+void sub_8161F74(void);
+u16 sub_8162548(u8 challengeNum, u8 battleNum);
+void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);
+void SetEReaderTrainerGfxId(void);
+u8 GetBattleFacilityTrainerGfxId(u16 trainerId);
+void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm);
+u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
+u8 GetFrontierOpponentClass(u16 trainerId);
+void GetFrontierTrainerName(u8 *dst, u16 trainerId);
+void FillFrontierTrainerParty(u8 monsCount);
+void FillFrontierTrainersParties(u8 monsCount);
+u16 RandomizeFacilityTrainerMonSet(u16 trainerId);
+void FrontierSpeechToString(const u16 *words);
+void DoSpecialTrainerBattle(void);
+void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record);
+void CalcRubyBattleTowerChecksum(struct RSBattleTowerRecord *record);
+u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode);
+u8 GetEreaderTrainerFrontSpriteId(void);
+u8 GetEreaderTrainerClassId(void);
+void GetEreaderTrainerName(u8 *dst);
+void ValidateEReaderTrainer(void);
+void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer);
+void CopyEReaderTrainerGreeting(void);
+void sub_81653CC(void);
+bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct EmeraldBattleTowerRecord *dst);
+bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, struct RSBattleTowerRecord *dst);
+void CalcApprenticeChecksum(struct Apprentice *apprentice);
+void GetBattleTowerTrainerLanguage(u8 *dst, u16 trainerId);
+u8 SetFacilityPtrsGetLevel(void);
+u8 GetFrontierEnemyMonLevel(u8 lvlMode);
+s32 GetHighestLevelInPlayerParty(void);
+u8 sub_81660B8(u8 facilityClass);
+bool32 ValidateBattleTowerRecord(u8 recordId); // unused
+void sub_8166188(void);
#endif //GUARD_BATTLE_TOWER_H
diff --git a/include/berry.h b/include/berry.h
index 1a8b7fa25..bef56ae41 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -1,6 +1,8 @@
#ifndef GUARD_BERRY_H
#define GUARD_BERRY_H
+#define BERRY_NONE 0
+
enum
{
BERRY_FIRMNESS_UNKNOWN,
@@ -21,6 +23,17 @@ enum
FLAVOR_COUNT
};
+enum
+{
+ BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat.
+ BERRY_STAGE_PLANTED,
+ BERRY_STAGE_SPROUTED,
+ BERRY_STAGE_TALLER,
+ BERRY_STAGE_FLOWERING,
+ BERRY_STAGE_BERRIES,
+ BERRY_STAGE_SPARKLING = 0xFF,
+};
+
#define NUM_BERRIES 44
extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[];
@@ -29,7 +42,6 @@ extern const u8 *const gBerryTreePaletteSlotTablePointers[];
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
-u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
bool32 IsEnigmaBerryValid(void);
const struct Berry *GetBerryInfo(u8 berry);
struct BerryTree *GetBerryTreeInfo(u8 id);
@@ -37,28 +49,20 @@ bool32 EventObjectInteractionWaterBerryTree(void);
bool8 IsPlayerFacingPlantedBerryTree(void);
bool8 TryToWaterBerryTree(void);
void ClearBerryTrees(void);
-bool32 BerryTreeGrow(struct BerryTree *tree);
void BerryTreeTimeUpdate(s32 minutes);
void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle);
void RemoveBerryTree(u8 id);
u8 GetBerryTypeByBerryTreeId(u8 id);
u8 GetStageByBerryTreeId(u8);
u8 ItemIdToBerryType(u16 item);
-u16 BerryTypeToItemId(u16 berry);
void GetBerryNameByBerryType(u8 berry, u8 *string);
void ResetBerryTreeSparkleFlag(u8 id);
-u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree);
-u8 GetNumStagesWateredByBerryTreeId(u8 id);
-u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water);
-u8 CalcBerryYield(struct BerryTree *tree);
-u8 GetBerryCountByBerryTreeId(u8 id);
-u16 GetStageDurationByBerryType(u8);
void Bag_ChooseBerry(void);
void EventObjectInteractionGetBerryTreeData(void);
void EventObjectInteractionPlantBerryTree(void);
void EventObjectInteractionPickBerryTree(void);
void EventObjectInteractionRemoveBerryTree(void);
-u8 PlayerHasBerries(void);
+bool8 PlayerHasBerries(void);
void ResetBerryTreeSparkleFlags(void);
extern const struct Berry gBerries[];
diff --git a/include/berry_blender.h b/include/berry_blender.h
index fb62e3fa3..e8f7bb83d 100644
--- a/include/berry_blender.h
+++ b/include/berry_blender.h
@@ -1,6 +1,8 @@
#ifndef GUARD_BERRY_BLENDER_H
#define GUARD_BERRY_BLENDER_H
+extern u8 gInGameOpponentsNo;
+
void DoBerryBlending(void);
u16 GetBlenderArrowPosition(void);
void ShowBerryBlenderRecordWindow(void);
diff --git a/include/bg.h b/include/bg.h
index f2d4e7948..a10abaa8d 100644
--- a/include/bg.h
+++ b/include/bg.h
@@ -70,14 +70,14 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
-void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
+void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 unused, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, s16 palette1, s16 tileOffset);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta);
u16 GetBgMetricTextMode(u8 bg, u8 whichMetric);
u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric);
u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32 screenHeight);
-void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2);
+void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2);
u32 GetBgType(u8 bg);
bool32 IsInvalidBg32(u8 bg);
bool32 IsTileMapOutsideWram(u8 bg);
diff --git a/include/blit.h b/include/blit.h
index e7f384cc8..2fe99d7bd 100644
--- a/include/blit.h
+++ b/include/blit.h
@@ -1,6 +1,13 @@
#ifndef GUARD_BLIT_H
#define GUARD_BLIT_H
+struct Bitmap
+{
+ 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 FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h
index 2b21aad9e..34a45395c 100644
--- a/include/constants/battle_anim.h
+++ b/include/constants/battle_anim.h
@@ -7,312 +7,316 @@
// Particle ids.
#define ANIM_SPRITES_START 10000
-#define ANIM_TAG_BONE (ANIM_SPRITES_START + 0)
-#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1)
-#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2)
-#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3)
-#define ANIM_TAG_004 (ANIM_SPRITES_START + 4) // ?
-#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5)
-#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6)
-#define ANIM_TAG_007 (ANIM_SPRITES_START + 7) // ?
-#define ANIM_TAG_008 (ANIM_SPRITES_START + 8) // ?
-#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9)
-#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10)
-#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11)
-#define ANIM_TAG_012 (ANIM_SPRITES_START + 12) // ?
-#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13)
-#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14)
-#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15)
-#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16)
-#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17)
-#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18)
-#define ANIM_TAG_019 (ANIM_SPRITES_START + 19) // ?
-#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20)
-#define ANIM_TAG_021 (ANIM_SPRITES_START + 21) // ?
-#define ANIM_TAG_022 (ANIM_SPRITES_START + 22) // ?
-#define ANIM_TAG_023 (ANIM_SPRITES_START + 23) // ?
-#define ANIM_TAG_024 (ANIM_SPRITES_START + 24) // ?
-#define ANIM_TAG_025 (ANIM_SPRITES_START + 25) // ?
-#define ANIM_TAG_026 (ANIM_SPRITES_START + 26) // ?
-#define ANIM_TAG_GLARE (ANIM_SPRITES_START + 27)
-#define ANIM_TAG_028 (ANIM_SPRITES_START + 28) // ?
-#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29)
-#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30)
-#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31)
-#define ANIM_TAG_032 (ANIM_SPRITES_START + 32) // ?
-#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33)
-#define ANIM_TAG_034 (ANIM_SPRITES_START + 34) // ?
-#define ANIM_TAG_035 (ANIM_SPRITES_START + 35) // ?
-#define ANIM_TAG_036 (ANIM_SPRITES_START + 36) // ?
-#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37)
-#define ANIM_TAG_038 (ANIM_SPRITES_START + 38) // ?
-#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39)
-#define ANIM_TAG_040 (ANIM_SPRITES_START + 40) // ?
-#define ANIM_TAG_041 (ANIM_SPRITES_START + 41) // ?
-#define ANIM_TAG_042 (ANIM_SPRITES_START + 42) // ?
-#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43)
-#define ANIM_TAG_044 (ANIM_SPRITES_START + 44) // ?
-#define ANIM_TAG_PINK_HEART (ANIM_SPRITES_START + 45) // ?
-#define ANIM_TAG_046 (ANIM_SPRITES_START + 46) // ?
-#define ANIM_TAG_047 (ANIM_SPRITES_START + 47) // ?
-#define ANIM_TAG_048 (ANIM_SPRITES_START + 48) // ?
-#define ANIM_TAG_SPARKLE (ANIM_SPRITES_START + 49)
-#define ANIM_TAG_050 (ANIM_SPRITES_START + 50) // ?
-#define ANIM_TAG_051 (ANIM_SPRITES_START + 51)
-#define ANIM_TAG_052 (ANIM_SPRITES_START + 52)
-#define ANIM_TAG_053 (ANIM_SPRITES_START + 53)
-#define ANIM_TAG_054 (ANIM_SPRITES_START + 54)
-#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55)
-#define ANIM_TAG_056 (ANIM_SPRITES_START + 56)
-#define ANIM_TAG_057 (ANIM_SPRITES_START + 57)
-#define ANIM_TAG_058 (ANIM_SPRITES_START + 58)
-#define ANIM_TAG_059 (ANIM_SPRITES_START + 59)
-#define ANIM_TAG_060 (ANIM_SPRITES_START + 60)
-#define ANIM_TAG_061 (ANIM_SPRITES_START + 61)
-#define ANIM_TAG_062 (ANIM_SPRITES_START + 62)
-#define ANIM_TAG_063 (ANIM_SPRITES_START + 63)
-#define ANIM_TAG_064 (ANIM_SPRITES_START + 64)
-#define ANIM_TAG_065 (ANIM_SPRITES_START + 65)
-#define ANIM_TAG_066 (ANIM_SPRITES_START + 66)
-#define ANIM_TAG_067 (ANIM_SPRITES_START + 67)
-#define ANIM_TAG_068 (ANIM_SPRITES_START + 68)
-#define ANIM_TAG_069 (ANIM_SPRITES_START + 69)
-#define ANIM_TAG_070 (ANIM_SPRITES_START + 70)
-#define ANIM_TAG_071 (ANIM_SPRITES_START + 71)
-#define ANIM_TAG_MUSIC_NOTES2 (ANIM_SPRITES_START + 72)
-#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73)
-#define ANIM_TAG_074 (ANIM_SPRITES_START + 74)
-#define ANIM_TAG_075 (ANIM_SPRITES_START + 75)
-#define ANIM_TAG_076 (ANIM_SPRITES_START + 76)
-#define ANIM_TAG_077 (ANIM_SPRITES_START + 77)
-#define ANIM_TAG_078 (ANIM_SPRITES_START + 78)
-#define ANIM_TAG_079 (ANIM_SPRITES_START + 79)
-#define ANIM_TAG_080 (ANIM_SPRITES_START + 80)
-#define ANIM_TAG_081 (ANIM_SPRITES_START + 81)
-#define ANIM_TAG_082 (ANIM_SPRITES_START + 82)
-#define ANIM_TAG_083 (ANIM_SPRITES_START + 83)
-#define ANIM_TAG_084 (ANIM_SPRITES_START + 84)
-#define ANIM_TAG_085 (ANIM_SPRITES_START + 85)
-#define ANIM_TAG_086 (ANIM_SPRITES_START + 86)
-#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87)
-#define ANIM_TAG_088 (ANIM_SPRITES_START + 88)
-#define ANIM_TAG_089 (ANIM_SPRITES_START + 89)
-#define ANIM_TAG_090 (ANIM_SPRITES_START + 90)
-#define ANIM_TAG_091 (ANIM_SPRITES_START + 91)
-#define ANIM_TAG_092 (ANIM_SPRITES_START + 92)
-#define ANIM_TAG_093 (ANIM_SPRITES_START + 93)
-#define ANIM_TAG_094 (ANIM_SPRITES_START + 94)
-#define ANIM_TAG_095 (ANIM_SPRITES_START + 95)
-#define ANIM_TAG_096 (ANIM_SPRITES_START + 96)
-#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97)
-#define ANIM_TAG_098 (ANIM_SPRITES_START + 98)
-#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99)
-#define ANIM_TAG_100 (ANIM_SPRITES_START + 100)
-#define ANIM_TAG_101 (ANIM_SPRITES_START + 101)
-#define ANIM_TAG_102 (ANIM_SPRITES_START + 102)
-#define ANIM_TAG_103 (ANIM_SPRITES_START + 103)
-#define ANIM_TAG_104 (ANIM_SPRITES_START + 104)
-#define ANIM_TAG_105 (ANIM_SPRITES_START + 105)
-#define ANIM_TAG_106 (ANIM_SPRITES_START + 106)
-#define ANIM_TAG_107 (ANIM_SPRITES_START + 107)
-#define ANIM_TAG_108 (ANIM_SPRITES_START + 108)
-#define ANIM_TAG_109 (ANIM_SPRITES_START + 109)
-#define ANIM_TAG_110 (ANIM_SPRITES_START + 110)
-#define ANIM_TAG_111 (ANIM_SPRITES_START + 111)
-#define ANIM_TAG_112 (ANIM_SPRITES_START + 112)
-#define ANIM_TAG_113 (ANIM_SPRITES_START + 113)
-#define ANIM_TAG_114 (ANIM_SPRITES_START + 114)
-#define ANIM_TAG_115 (ANIM_SPRITES_START + 115)
-#define ANIM_TAG_116 (ANIM_SPRITES_START + 116)
-#define ANIM_TAG_117 (ANIM_SPRITES_START + 117)
-#define ANIM_TAG_118 (ANIM_SPRITES_START + 118)
-#define ANIM_TAG_119 (ANIM_SPRITES_START + 119)
-#define ANIM_TAG_ITEM_BAG2 (ANIM_SPRITES_START + 120)
-#define ANIM_TAG_121 (ANIM_SPRITES_START + 121)
-#define ANIM_TAG_122 (ANIM_SPRITES_START + 122)
-#define ANIM_TAG_123 (ANIM_SPRITES_START + 123)
-#define ANIM_TAG_124 (ANIM_SPRITES_START + 124)
-#define ANIM_TAG_125 (ANIM_SPRITES_START + 125)
-#define ANIM_TAG_126 (ANIM_SPRITES_START + 126)
-#define ANIM_TAG_127 (ANIM_SPRITES_START + 127)
-#define ANIM_TAG_128 (ANIM_SPRITES_START + 128)
-#define ANIM_TAG_129 (ANIM_SPRITES_START + 129)
-#define ANIM_TAG_130 (ANIM_SPRITES_START + 130)
-#define ANIM_TAG_131 (ANIM_SPRITES_START + 131)
-#define ANIM_TAG_132 (ANIM_SPRITES_START + 132)
-#define ANIM_TAG_133 (ANIM_SPRITES_START + 133)
-#define ANIM_TAG_134 (ANIM_SPRITES_START + 134)
-#define ANIM_TAG_135 (ANIM_SPRITES_START + 135)
-#define ANIM_TAG_136 (ANIM_SPRITES_START + 136)
-#define ANIM_TAG_137 (ANIM_SPRITES_START + 137)
-#define ANIM_TAG_138 (ANIM_SPRITES_START + 138)
-#define ANIM_TAG_139 (ANIM_SPRITES_START + 139)
-#define ANIM_TAG_140 (ANIM_SPRITES_START + 140)
-#define ANIM_TAG_141 (ANIM_SPRITES_START + 141)
-#define ANIM_TAG_142 (ANIM_SPRITES_START + 142)
-#define ANIM_TAG_143 (ANIM_SPRITES_START + 143)
-#define ANIM_TAG_144 (ANIM_SPRITES_START + 144)
-#define ANIM_TAG_145 (ANIM_SPRITES_START + 145)
-#define ANIM_TAG_146 (ANIM_SPRITES_START + 146)
-#define ANIM_TAG_147 (ANIM_SPRITES_START + 147)
-#define ANIM_TAG_148 (ANIM_SPRITES_START + 148)
-#define ANIM_TAG_149 (ANIM_SPRITES_START + 149)
-#define ANIM_TAG_POISON_BUBBLE (ANIM_SPRITES_START + 150)
-#define ANIM_TAG_TOXIC_BUBBLE (ANIM_SPRITES_START + 151)
-#define ANIM_TAG_152 (ANIM_SPRITES_START + 152)
-#define ANIM_TAG_153 (ANIM_SPRITES_START + 153)
-#define ANIM_TAG_154 (ANIM_SPRITES_START + 154)
-#define ANIM_TAG_155 (ANIM_SPRITES_START + 155)
-#define ANIM_TAG_156 (ANIM_SPRITES_START + 156)
-#define ANIM_TAG_157 (ANIM_SPRITES_START + 157)
-#define ANIM_TAG_158 (ANIM_SPRITES_START + 158)
-#define ANIM_TAG_159 (ANIM_SPRITES_START + 159)
-#define ANIM_TAG_160 (ANIM_SPRITES_START + 160)
-#define ANIM_TAG_161 (ANIM_SPRITES_START + 161)
-#define ANIM_TAG_162 (ANIM_SPRITES_START + 162)
-#define ANIM_TAG_163 (ANIM_SPRITES_START + 163)
-#define ANIM_TAG_164 (ANIM_SPRITES_START + 164)
-#define ANIM_TAG_165 (ANIM_SPRITES_START + 165)
-#define ANIM_TAG_166 (ANIM_SPRITES_START + 166)
-#define ANIM_TAG_167 (ANIM_SPRITES_START + 167)
-#define ANIM_TAG_168 (ANIM_SPRITES_START + 168)
-#define ANIM_TAG_169 (ANIM_SPRITES_START + 169)
-#define ANIM_TAG_170 (ANIM_SPRITES_START + 170)
-#define ANIM_TAG_171 (ANIM_SPRITES_START + 171)
-#define ANIM_TAG_172 (ANIM_SPRITES_START + 172)
-#define ANIM_TAG_173 (ANIM_SPRITES_START + 173)
-#define ANIM_TAG_174 (ANIM_SPRITES_START + 174)
-#define ANIM_TAG_175 (ANIM_SPRITES_START + 175)
-#define ANIM_TAG_176 (ANIM_SPRITES_START + 176)
-#define ANIM_TAG_177 (ANIM_SPRITES_START + 177)
-#define ANIM_TAG_178 (ANIM_SPRITES_START + 178)
-#define ANIM_TAG_179 (ANIM_SPRITES_START + 179)
-#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180)
-#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181)
-#define ANIM_TAG_182 (ANIM_SPRITES_START + 182)
-#define ANIM_TAG_183 (ANIM_SPRITES_START + 183)
-#define ANIM_TAG_184 (ANIM_SPRITES_START + 184)
-#define ANIM_TAG_185 (ANIM_SPRITES_START + 185)
-#define ANIM_TAG_186 (ANIM_SPRITES_START + 186)
-#define ANIM_TAG_EYE (ANIM_SPRITES_START + 187)
-#define ANIM_TAG_188 (ANIM_SPRITES_START + 188)
-#define ANIM_TAG_189 (ANIM_SPRITES_START + 189)
-#define ANIM_TAG_OPENING_EYE (ANIM_SPRITES_START + 190)
-#define ANIM_TAG_191 (ANIM_SPRITES_START + 191)
-#define ANIM_TAG_192 (ANIM_SPRITES_START + 192)
-#define ANIM_TAG_193 (ANIM_SPRITES_START + 193)
-#define ANIM_TAG_MOON (ANIM_SPRITES_START + 194)
-#define ANIM_TAG_GREEN_SPARKLE (ANIM_SPRITES_START + 195)
-#define ANIM_TAG_196 (ANIM_SPRITES_START + 196)
-#define ANIM_TAG_197 (ANIM_SPRITES_START + 197)
-#define ANIM_TAG_EXPLOSION (ANIM_SPRITES_START + 198)
-#define ANIM_TAG_NAIL (ANIM_SPRITES_START + 199)
-#define ANIM_TAG_200 (ANIM_SPRITES_START + 200)
-#define ANIM_TAG_201 (ANIM_SPRITES_START + 201)
-#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202)
-#define ANIM_TAG_203 (ANIM_SPRITES_START + 203)
-#define ANIM_TAG_204 (ANIM_SPRITES_START + 204)
-#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205)
-#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 206)
-#define ANIM_TAG_207 (ANIM_SPRITES_START + 207)
-#define ANIM_TAG_208 (ANIM_SPRITES_START + 208)
-#define ANIM_TAG_209 (ANIM_SPRITES_START + 209)
-#define ANIM_TAG_PURPLE_HEART (ANIM_SPRITES_START + 210)
-#define ANIM_TAG_211 (ANIM_SPRITES_START + 211)
-#define ANIM_TAG_212 (ANIM_SPRITES_START + 212)
-#define ANIM_TAG_213 (ANIM_SPRITES_START + 213)
-#define ANIM_TAG_214 (ANIM_SPRITES_START + 214)
-#define ANIM_TAG_215 (ANIM_SPRITES_START + 215)
-#define ANIM_TAG_216 (ANIM_SPRITES_START + 216)
-#define ANIM_TAG_217 (ANIM_SPRITES_START + 217)
-#define ANIM_TAG_218 (ANIM_SPRITES_START + 218)
-#define ANIM_TAG_219 (ANIM_SPRITES_START + 219)
-#define ANIM_TAG_ANGEL (ANIM_SPRITES_START + 220)
-#define ANIM_TAG_EVIL_ANGEL (ANIM_SPRITES_START + 221)
-#define ANIM_TAG_222 (ANIM_SPRITES_START + 222)
-#define ANIM_TAG_223 (ANIM_SPRITES_START + 223)
-#define ANIM_TAG_ITEM_BAG (ANIM_SPRITES_START + 224)
-#define ANIM_TAG_225 (ANIM_SPRITES_START + 225)
-#define ANIM_TAG_226 (ANIM_SPRITES_START + 226)
-#define ANIM_TAG_227 (ANIM_SPRITES_START + 227)
-#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
-#define ANIM_TAG_229 (ANIM_SPRITES_START + 229)
-#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
-#define ANIM_TAG_231 (ANIM_SPRITES_START + 231)
-#define ANIM_TAG_232 (ANIM_SPRITES_START + 232)
-#define ANIM_TAG_233 (ANIM_SPRITES_START + 233)
-#define ANIM_TAG_234 (ANIM_SPRITES_START + 234)
-#define ANIM_TAG_235 (ANIM_SPRITES_START + 235)
-#define ANIM_TAG_236 (ANIM_SPRITES_START + 236)
-#define ANIM_TAG_237 (ANIM_SPRITES_START + 237)
-#define ANIM_TAG_238 (ANIM_SPRITES_START + 238)
-#define ANIM_TAG_239 (ANIM_SPRITES_START + 239)
-#define ANIM_TAG_240 (ANIM_SPRITES_START + 240)
-#define ANIM_TAG_GREEN_STAR (ANIM_SPRITES_START + 241)
-#define ANIM_TAG_242 (ANIM_SPRITES_START + 242)
-#define ANIM_TAG_243 (ANIM_SPRITES_START + 243)
-#define ANIM_TAG_244 (ANIM_SPRITES_START + 244)
-#define ANIM_TAG_245 (ANIM_SPRITES_START + 245)
-#define ANIM_TAG_246 (ANIM_SPRITES_START + 246)
-#define ANIM_TAG_HAND (ANIM_SPRITES_START + 247)
-#define ANIM_TAG_248 (ANIM_SPRITES_START + 248)
-#define ANIM_TAG_249 (ANIM_SPRITES_START + 249)
-#define ANIM_TAG_X_SIGN (ANIM_SPRITES_START + 250)
-#define ANIM_TAG_251 (ANIM_SPRITES_START + 251)
-#define ANIM_TAG_252 (ANIM_SPRITES_START + 252)
-#define ANIM_TAG_253 (ANIM_SPRITES_START + 253)
-#define ANIM_TAG_254 (ANIM_SPRITES_START + 254)
-#define ANIM_TAG_255 (ANIM_SPRITES_START + 255)
-#define ANIM_TAG_256 (ANIM_SPRITES_START + 256)
-#define ANIM_TAG_257 (ANIM_SPRITES_START + 257)
-#define ANIM_TAG_MAGNIFYING_GLASS (ANIM_SPRITES_START + 258)
-#define ANIM_TAG_259 (ANIM_SPRITES_START + 259)
-#define ANIM_TAG_260 (ANIM_SPRITES_START + 260)
-#define ANIM_TAG_261 (ANIM_SPRITES_START + 261)
-#define ANIM_TAG_262 (ANIM_SPRITES_START + 262)
-#define ANIM_TAG_263 (ANIM_SPRITES_START + 263)
-#define ANIM_TAG_264 (ANIM_SPRITES_START + 264)
-#define ANIM_TAG_265 (ANIM_SPRITES_START + 265)
-#define ANIM_TAG_266 (ANIM_SPRITES_START + 266)
-#define ANIM_TAG_267 (ANIM_SPRITES_START + 267)
-#define ANIM_TAG_268 (ANIM_SPRITES_START + 268)
-#define ANIM_TAG_269 (ANIM_SPRITES_START + 269)
-#define ANIM_TAG_270 (ANIM_SPRITES_START + 270)
-#define ANIM_TAG_271 (ANIM_SPRITES_START + 271)
-#define ANIM_TAG_272 (ANIM_SPRITES_START + 272)
-#define ANIM_TAG_273 (ANIM_SPRITES_START + 273)
-#define ANIM_TAG_274 (ANIM_SPRITES_START + 274)
-#define ANIM_TAG_275 (ANIM_SPRITES_START + 275)
-#define ANIM_TAG_276 (ANIM_SPRITES_START + 276)
-#define ANIM_TAG_277 (ANIM_SPRITES_START + 277)
-#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278)
-#define ANIM_TAG_279 (ANIM_SPRITES_START + 279)
-#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280)
-#define ANIM_TAG_281 (ANIM_SPRITES_START + 281)
-#define ANIM_TAG_282 (ANIM_SPRITES_START + 282)
-#define ANIM_TAG_283 (ANIM_SPRITES_START + 283)
-#define ANIM_TAG_284 (ANIM_SPRITES_START + 284)
-#define ANIM_TAG_285 (ANIM_SPRITES_START + 285)
-#define ANIM_TAG_286 (ANIM_SPRITES_START + 286)
-#define ANIM_TAG_287 (ANIM_SPRITES_START + 287)
-#define ANIM_TAG_288 (ANIM_SPRITES_START + 288)
-#define ANIM_TAG_289 (ANIM_SPRITES_START + 289)
-#define ANIM_TAG_290 (ANIM_SPRITES_START + 290)
-#define ANIM_TAG_291 (ANIM_SPRITES_START + 291)
-#define ANIM_TAG_292 (ANIM_SPRITES_START + 292)
-#define ANIM_TAG_293 (ANIM_SPRITES_START + 293)
-#define ANIM_TAG_294 (ANIM_SPRITES_START + 294)
-#define ANIM_TAG_295 (ANIM_SPRITES_START + 295)
-#define ANIM_TAG_296 (ANIM_SPRITES_START + 296)
-#define ANIM_TAG_297 (ANIM_SPRITES_START + 297)
-#define ANIM_TAG_298 (ANIM_SPRITES_START + 298)
+#define ANIM_TAG_BONE (ANIM_SPRITES_START + 0)
+#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1)
+#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2)
+#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3)
+#define ANIM_TAG_UNUSED_ORB (ANIM_SPRITES_START + 4)
+#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5)
+#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6)
+#define ANIM_TAG_UNUSED_EXPLOSION (ANIM_SPRITES_START + 7)
+#define ANIM_TAG_UNUSED_PINK_ORB (ANIM_SPRITES_START + 8)
+#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9)
+#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10)
+#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11)
+#define ANIM_TAG_UNUSED_ORANGE (ANIM_SPRITES_START + 12)
+#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13)
+#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14)
+#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15)
+#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16)
+#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17)
+#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18)
+#define ANIM_TAG_UNUSED_GLASS (ANIM_SPRITES_START + 19)
+#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20)
+#define ANIM_TAG_UNUSED_HIT (ANIM_SPRITES_START + 21)
+#define ANIM_TAG_UNUSED_HIT_2 (ANIM_SPRITES_START + 22)
+#define ANIM_TAG_UNUSED_BLUE_SHARDS (ANIM_SPRITES_START + 23)
+#define ANIM_TAG_UNUSED_CLOSING_EYE (ANIM_SPRITES_START + 24)
+#define ANIM_TAG_UNUSED_WAVING_HAND (ANIM_SPRITES_START + 25)
+#define ANIM_TAG_UNUSED_HIT_DUPLICATE (ANIM_SPRITES_START + 26)
+#define ANIM_TAG_LEER (ANIM_SPRITES_START + 27)
+#define ANIM_TAG_UNUSED_BLUE_BURST (ANIM_SPRITES_START + 28)
+#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29)
+#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30)
+#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31)
+#define ANIM_TAG_UNUSED_BUBBLE_BURST (ANIM_SPRITES_START + 32)
+#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33)
+#define ANIM_TAG_UNUSED_SPINNING_FIRE (ANIM_SPRITES_START + 34)
+#define ANIM_TAG_FIRE_PLUME (ANIM_SPRITES_START + 35)
+#define ANIM_TAG_UNUSED_LIGHTNING (ANIM_SPRITES_START + 36)
+#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37)
+#define ANIM_TAG_UNUSED_CLAW_SLASH (ANIM_SPRITES_START + 38)
+#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39)
+#define ANIM_TAG_UNUSED_SCRATCH (ANIM_SPRITES_START + 40)
+#define ANIM_TAG_UNUSED_SCRATCH_2 (ANIM_SPRITES_START + 41)
+#define ANIM_TAG_UNUSED_BUBBLE_BURST_2 (ANIM_SPRITES_START + 42)
+#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43)
+#define ANIM_TAG_UNUSED_GLASS_2 (ANIM_SPRITES_START + 44)
+#define ANIM_TAG_UNUSED_PINK_HEART (ANIM_SPRITES_START + 45)
+#define ANIM_TAG_UNUSED_SAP_DRIP (ANIM_SPRITES_START + 46)
+#define ANIM_TAG_UNUSED_SAP_DRIP_2 (ANIM_SPRITES_START + 47)
+#define ANIM_TAG_SPARKLE_1 (ANIM_SPRITES_START + 48)
+#define ANIM_TAG_SPARKLE_2 (ANIM_SPRITES_START + 49)
+#define ANIM_TAG_HUMANOID_FOOT (ANIM_SPRITES_START + 50)
+#define ANIM_TAG_UNUSED_MONSTER_FOOT (ANIM_SPRITES_START + 51)
+#define ANIM_TAG_UNUSED_HUMANOID_HAND (ANIM_SPRITES_START + 52)
+#define ANIM_TAG_NOISE_LINE (ANIM_SPRITES_START + 53)
+#define ANIM_TAG_UNUSED_YELLOW_UNK (ANIM_SPRITES_START + 54)
+#define ANIM_TAG_UNUSED_RED_FIST (ANIM_SPRITES_START + 55)
+#define ANIM_TAG_SLAM_HIT (ANIM_SPRITES_START + 56)
+#define ANIM_TAG_UNUSED_RING (ANIM_SPRITES_START + 57)
+#define ANIM_TAG_ROCKS (ANIM_SPRITES_START + 58)
+#define ANIM_TAG_UNUSED_Z (ANIM_SPRITES_START + 59)
+#define ANIM_TAG_UNUSED_YELLOW_UNK_2 (ANIM_SPRITES_START + 60)
+#define ANIM_TAG_UNUSED_AIR_SLASH (ANIM_SPRITES_START + 61)
+#define ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS (ANIM_SPRITES_START + 62)
+#define ANIM_TAG_LEAF (ANIM_SPRITES_START + 63)
+#define ANIM_TAG_FINGER (ANIM_SPRITES_START + 64)
+#define ANIM_TAG_POISON_POWDER (ANIM_SPRITES_START + 65)
+#define ANIM_TAG_UNUSED_BROWN_TRIANGLE (ANIM_SPRITES_START + 66)
+#define ANIM_TAG_SLEEP_POWDER (ANIM_SPRITES_START + 67)
+#define ANIM_TAG_STUN_SPORE (ANIM_SPRITES_START + 68)
+#define ANIM_TAG_UNUSED_POWDER (ANIM_SPRITES_START + 69)
+#define ANIM_TAG_SPARKLE_3 (ANIM_SPRITES_START + 70)
+#define ANIM_TAG_SPARKLE_4 (ANIM_SPRITES_START + 71)
+#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 72)
+#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73)
+#define ANIM_TAG_MUD_SAND (ANIM_SPRITES_START + 74)
+#define ANIM_TAG_ALERT (ANIM_SPRITES_START + 75)
+#define ANIM_TAG_UNUSED_BLUE_FLAMES (ANIM_SPRITES_START + 76)
+#define ANIM_TAG_UNUSED_BLUE_FLAMES_2 (ANIM_SPRITES_START + 77)
+#define ANIM_TAG_UNUSED_SHOCK (ANIM_SPRITES_START + 78)
+#define ANIM_TAG_SHOCK (ANIM_SPRITES_START + 79)
+#define ANIM_TAG_UNUSED_BELL (ANIM_SPRITES_START + 80)
+#define ANIM_TAG_UNUSED_PINK_GLOVE (ANIM_SPRITES_START + 81)
+#define ANIM_TAG_UNUSED_BLUE_LINES (ANIM_SPRITES_START + 82)
+#define ANIM_TAG_UNUSED_IMPACT (ANIM_SPRITES_START + 83)
+#define ANIM_TAG_UNUSED_IMPACT_2 (ANIM_SPRITES_START + 84)
+#define ANIM_TAG_UNUSED_RETICLE (ANIM_SPRITES_START + 85)
+#define ANIM_TAG_BREATH (ANIM_SPRITES_START + 86)
+#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87)
+#define ANIM_TAG_UNUSED_SNOWBALL (ANIM_SPRITES_START + 88)
+#define ANIM_TAG_UNUSED_VINE (ANIM_SPRITES_START + 89)
+#define ANIM_TAG_UNUSED_SWORD (ANIM_SPRITES_START + 90)
+#define ANIM_TAG_UNUSED_CLAPPING (ANIM_SPRITES_START + 91)
+#define ANIM_TAG_UNUSED_RED_TUBE (ANIM_SPRITES_START + 92)
+#define ANIM_TAG_AMNESIA (ANIM_SPRITES_START + 93)
+#define ANIM_TAG_UNUSED_STRING (ANIM_SPRITES_START + 94)
+#define ANIM_TAG_UNUSED_PENCIL (ANIM_SPRITES_START + 95)
+#define ANIM_TAG_UNUSED_PETAL (ANIM_SPRITES_START + 96)
+#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97)
+#define ANIM_TAG_UNUSED_WEB (ANIM_SPRITES_START + 98)
+#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99)
+#define ANIM_TAG_COIN (ANIM_SPRITES_START + 100)
+#define ANIM_TAG_UNUSED_CRACKED_EGG (ANIM_SPRITES_START + 101)
+#define ANIM_TAG_UNUSED_HATCHED_EGG (ANIM_SPRITES_START + 102)
+#define ANIM_TAG_UNUSED_FRESH_EGG (ANIM_SPRITES_START + 103)
+#define ANIM_TAG_UNUSED_FANGS (ANIM_SPRITES_START + 104)
+#define ANIM_TAG_UNUSED_EXPLOSION_2 (ANIM_SPRITES_START + 105)
+#define ANIM_TAG_UNUSED_EXPLOSION_3 (ANIM_SPRITES_START + 106)
+#define ANIM_TAG_UNUSED_WATER_DROPLET (ANIM_SPRITES_START + 107)
+#define ANIM_TAG_UNUSED_WATER_DROPLET_2 (ANIM_SPRITES_START + 108)
+#define ANIM_TAG_UNUSED_SEED (ANIM_SPRITES_START + 109)
+#define ANIM_TAG_UNUSED_SPROUT (ANIM_SPRITES_START + 110)
+#define ANIM_TAG_UNUSED_RED_WAND (ANIM_SPRITES_START + 111)
+#define ANIM_TAG_UNUSED_PURPLE_GREEN_UNK (ANIM_SPRITES_START + 112)
+#define ANIM_TAG_UNUSED_WATER_COLUMN (ANIM_SPRITES_START + 113)
+#define ANIM_TAG_UNUSED_MUD_UNK (ANIM_SPRITES_START + 114)
+#define ANIM_TAG_RAIN_DROPS (ANIM_SPRITES_START + 115)
+#define ANIM_TAG_UNUSED_FURY_SWIPES (ANIM_SPRITES_START + 116)
+#define ANIM_TAG_UNUSED_VINE_2 (ANIM_SPRITES_START + 117)
+#define ANIM_TAG_UNUSED_TEETH (ANIM_SPRITES_START + 118)
+#define ANIM_TAG_UNUSED_BONE (ANIM_SPRITES_START + 119)
+#define ANIM_TAG_UNUSED_WHITE_BAG (ANIM_SPRITES_START + 120)
+#define ANIM_TAG_UNUSED_UNKNOWN (ANIM_SPRITES_START + 121)
+#define ANIM_TAG_UNUSED_PURPLE_CORAL (ANIM_SPRITES_START + 122)
+#define ANIM_TAG_UNUSED_PURPLE_DROPLET (ANIM_SPRITES_START + 123)
+#define ANIM_TAG_UNUSED_SHOCK_2 (ANIM_SPRITES_START + 124)
+#define ANIM_TAG_UNUSED_CLOSING_EYE_2 (ANIM_SPRITES_START + 125)
+#define ANIM_TAG_UNUSED_METAL_BALL (ANIM_SPRITES_START + 126)
+#define ANIM_TAG_UNUSED_MONSTER_DOLL (ANIM_SPRITES_START + 127)
+#define ANIM_TAG_UNUSED_WHIRLWIND (ANIM_SPRITES_START + 128)
+#define ANIM_TAG_UNUSED_WHIRLWIND_2 (ANIM_SPRITES_START + 129)
+#define ANIM_TAG_UNUSED_EXPLOSION_4 (ANIM_SPRITES_START + 130)
+#define ANIM_TAG_UNUSED_EXPLOSION_5 (ANIM_SPRITES_START + 131)
+#define ANIM_TAG_UNUSED_TONGUE (ANIM_SPRITES_START + 132)
+#define ANIM_TAG_UNUSED_SMOKE (ANIM_SPRITES_START + 133)
+#define ANIM_TAG_UNUSED_SMOKE_2 (ANIM_SPRITES_START + 134)
+#define ANIM_TAG_IMPACT (ANIM_SPRITES_START + 135)
+#define ANIM_TAG_CIRCLE_IMPACT (ANIM_SPRITES_START + 136)
+#define ANIM_TAG_SCRATCH (ANIM_SPRITES_START + 137)
+#define ANIM_TAG_CUT (ANIM_SPRITES_START + 138)
+#define ANIM_TAG_SHARP_TEETH (ANIM_SPRITES_START + 139)
+#define ANIM_TAG_RAINBOW_RINGS (ANIM_SPRITES_START + 140)
+#define ANIM_TAG_ICE_CRYSTALS (ANIM_SPRITES_START + 141)
+#define ANIM_TAG_ICE_SPIKES (ANIM_SPRITES_START + 142)
+#define ANIM_TAG_HANDS_AND_FEET (ANIM_SPRITES_START + 143)
+#define ANIM_TAG_MIST_CLOUD (ANIM_SPRITES_START + 144)
+#define ANIM_TAG_CLAMP (ANIM_SPRITES_START + 145)
+#define ANIM_TAG_BUBBLE (ANIM_SPRITES_START + 146)
+#define ANIM_TAG_ORBS (ANIM_SPRITES_START + 147)
+#define ANIM_TAG_WATER_IMPACT (ANIM_SPRITES_START + 148)
+#define ANIM_TAG_WATER_ORB (ANIM_SPRITES_START + 149)
+#define ANIM_TAG_POISON_BUBBLE (ANIM_SPRITES_START + 150)
+#define ANIM_TAG_TOXIC_BUBBLE (ANIM_SPRITES_START + 151)
+#define ANIM_TAG_SPIKES (ANIM_SPRITES_START + 152)
+#define ANIM_TAG_HORN_HIT_2 (ANIM_SPRITES_START + 153)
+#define ANIM_TAG_AIR_WAVE_2 (ANIM_SPRITES_START + 154)
+#define ANIM_TAG_SMALL_BUBBLES (ANIM_SPRITES_START + 155)
+#define ANIM_TAG_ROUND_SHADOW (ANIM_SPRITES_START + 156)
+#define ANIM_TAG_SUNLIGHT (ANIM_SPRITES_START + 157)
+#define ANIM_TAG_SPORE (ANIM_SPRITES_START + 158)
+#define ANIM_TAG_FLOWER (ANIM_SPRITES_START + 159)
+#define ANIM_TAG_RAZOR_LEAF (ANIM_SPRITES_START + 160)
+#define ANIM_TAG_NEEDLE (ANIM_SPRITES_START + 161)
+#define ANIM_TAG_WHIRLWIND_LINES (ANIM_SPRITES_START + 162)
+#define ANIM_TAG_GOLD_RING (ANIM_SPRITES_START + 163)
+#define ANIM_TAG_PURPLE_RING (ANIM_SPRITES_START + 164)
+#define ANIM_TAG_BLUE_RING (ANIM_SPRITES_START + 165)
+#define ANIM_TAG_GREEN_LIGHT_WALL (ANIM_SPRITES_START + 166)
+#define ANIM_TAG_BLUE_LIGHT_WALL (ANIM_SPRITES_START + 167)
+#define ANIM_TAG_RED_LIGHT_WALL (ANIM_SPRITES_START + 168)
+#define ANIM_TAG_GRAY_LIGHT_WALL (ANIM_SPRITES_START + 169)
+#define ANIM_TAG_ORANGE_LIGHT_WALL (ANIM_SPRITES_START + 170)
+#define ANIM_TAG_BLACK_BALL_2 (ANIM_SPRITES_START + 171)
+#define ANIM_TAG_PURPLE_GAS_CLOUD (ANIM_SPRITES_START + 172)
+#define ANIM_TAG_SPARK_H (ANIM_SPRITES_START + 173)
+#define ANIM_TAG_YELLOW_STAR (ANIM_SPRITES_START + 174)
+#define ANIM_TAG_LARGE_FRESH_EGG (ANIM_SPRITES_START + 175)
+#define ANIM_TAG_SHADOW_BALL (ANIM_SPRITES_START + 176)
+#define ANIM_TAG_LICK (ANIM_SPRITES_START + 177)
+#define ANIM_TAG_UNUSED_VOID_LINES (ANIM_SPRITES_START + 178)
+#define ANIM_TAG_STRING (ANIM_SPRITES_START + 179)
+#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180)
+#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181)
+#define ANIM_TAG_UNUSED_LIGHTBULB (ANIM_SPRITES_START + 182)
+#define ANIM_TAG_SLASH (ANIM_SPRITES_START + 183)
+#define ANIM_TAG_FOCUS_ENERGY (ANIM_SPRITES_START + 184)
+#define ANIM_TAG_SPHERE_TO_CUBE (ANIM_SPRITES_START + 185)
+#define ANIM_TAG_TENDRILS (ANIM_SPRITES_START + 186)
+#define ANIM_TAG_EYE (ANIM_SPRITES_START + 187)
+#define ANIM_TAG_WHITE_SHADOW (ANIM_SPRITES_START + 188)
+#define ANIM_TAG_TEAL_ALERT (ANIM_SPRITES_START + 189)
+#define ANIM_TAG_OPENING_EYE (ANIM_SPRITES_START + 190)
+#define ANIM_TAG_ROUND_WHITE_HALO (ANIM_SPRITES_START + 191)
+#define ANIM_TAG_FANG_ATTACK (ANIM_SPRITES_START + 192)
+#define ANIM_TAG_PURPLE_HAND_OUTLINE (ANIM_SPRITES_START + 193)
+#define ANIM_TAG_MOON (ANIM_SPRITES_START + 194)
+#define ANIM_TAG_GREEN_SPARKLE (ANIM_SPRITES_START + 195)
+#define ANIM_TAG_SPIRAL (ANIM_SPRITES_START + 196)
+#define ANIM_TAG_SNORE_Z (ANIM_SPRITES_START + 197)
+#define ANIM_TAG_EXPLOSION (ANIM_SPRITES_START + 198)
+#define ANIM_TAG_NAIL (ANIM_SPRITES_START + 199)
+#define ANIM_TAG_GHOSTLY_SPIRIT (ANIM_SPRITES_START + 200)
+#define ANIM_TAG_WARM_ROCK (ANIM_SPRITES_START + 201)
+#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202)
+#define ANIM_TAG_THIN_RING (ANIM_SPRITES_START + 203)
+#define ANIM_TAG_UNUSED_PUNCH_IMPACT (ANIM_SPRITES_START + 204)
+#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205)
+#define ANIM_TAG_MUSIC_NOTES_2 (ANIM_SPRITES_START + 206)
+#define ANIM_TAG_SPEED_DUST (ANIM_SPRITES_START + 207)
+#define ANIM_TAG_TORN_METAL (ANIM_SPRITES_START + 208)
+#define ANIM_TAG_THOUGHT_BUBBLE (ANIM_SPRITES_START + 209)
+#define ANIM_TAG_MAGENTA_HEART (ANIM_SPRITES_START + 210)
+#define ANIM_TAG_ELECTRIC_ORBS (ANIM_SPRITES_START + 211)
+#define ANIM_TAG_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 212)
+#define ANIM_TAG_ELECTRICITY (ANIM_SPRITES_START + 213)
+#define ANIM_TAG_FINGER_2 (ANIM_SPRITES_START + 214)
+#define ANIM_TAG_MOVEMENT_WAVES (ANIM_SPRITES_START + 215)
+#define ANIM_TAG_RED_HEART (ANIM_SPRITES_START + 216)
+#define ANIM_TAG_RED_ORB (ANIM_SPRITES_START + 217)
+#define ANIM_TAG_EYE_SPARKLE (ANIM_SPRITES_START + 218)
+#define ANIM_TAG_PINK_HEART (ANIM_SPRITES_START + 219)
+#define ANIM_TAG_ANGEL (ANIM_SPRITES_START + 220)
+#define ANIM_TAG_DEVIL (ANIM_SPRITES_START + 221)
+#define ANIM_TAG_SWIPE (ANIM_SPRITES_START + 222)
+#define ANIM_TAG_ROOTS (ANIM_SPRITES_START + 223)
+#define ANIM_TAG_ITEM_BAG (ANIM_SPRITES_START + 224)
+#define ANIM_TAG_JAGGED_MUSIC_NOTE (ANIM_SPRITES_START + 225)
+#define ANIM_TAG_POKEBALL (ANIM_SPRITES_START + 226)
+#define ANIM_TAG_SPOTLIGHT (ANIM_SPRITES_START + 227)
+#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
+#define ANIM_TAG_RAPID_SPIN (ANIM_SPRITES_START + 229)
+#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
+#define ANIM_TAG_WISP_ORB (ANIM_SPRITES_START + 231)
+#define ANIM_TAG_WISP_FIRE (ANIM_SPRITES_START + 232)
+#define ANIM_TAG_GOLD_STARS (ANIM_SPRITES_START + 233)
+#define ANIM_TAG_ECLIPSING_ORB (ANIM_SPRITES_START + 234)
+#define ANIM_TAG_GRAY_ORB (ANIM_SPRITES_START + 235)
+#define ANIM_TAG_BLUE_ORB (ANIM_SPRITES_START + 236)
+#define ANIM_TAG_RED_ORB_2 (ANIM_SPRITES_START + 237)
+#define ANIM_TAG_PINK_PETAL (ANIM_SPRITES_START + 238)
+#define ANIM_TAG_PAIN_SPLIT (ANIM_SPRITES_START + 239)
+#define ANIM_TAG_CONFETTI (ANIM_SPRITES_START + 240)
+#define ANIM_TAG_GREEN_STAR (ANIM_SPRITES_START + 241)
+#define ANIM_TAG_PINK_CLOUD (ANIM_SPRITES_START + 242)
+#define ANIM_TAG_SWEAT_DROP (ANIM_SPRITES_START + 243)
+#define ANIM_TAG_GUARD_RING (ANIM_SPRITES_START + 244)
+#define ANIM_TAG_PURPLE_SCRATCH (ANIM_SPRITES_START + 245)
+#define ANIM_TAG_PURPLE_SWIPE (ANIM_SPRITES_START + 246)
+#define ANIM_TAG_TAG_HAND (ANIM_SPRITES_START + 247)
+#define ANIM_TAG_SMALL_RED_EYE (ANIM_SPRITES_START + 248)
+#define ANIM_TAG_HOLLOW_ORB (ANIM_SPRITES_START + 249)
+#define ANIM_TAG_X_SIGN (ANIM_SPRITES_START + 250)
+#define ANIM_TAG_BLUEGREEN_ORB (ANIM_SPRITES_START + 251)
+#define ANIM_TAG_PAW_PRINT (ANIM_SPRITES_START + 252)
+#define ANIM_TAG_PURPLE_FLAME (ANIM_SPRITES_START + 253)
+#define ANIM_TAG_RED_BALL (ANIM_SPRITES_START + 254)
+#define ANIM_TAG_SMELLINGSALT_EFFECT (ANIM_SPRITES_START + 255)
+#define ANIM_TAG_METEOR (ANIM_SPRITES_START + 256)
+#define ANIM_TAG_FLAT_ROCK (ANIM_SPRITES_START + 257)
+#define ANIM_TAG_MAGNIFYING_GLASS (ANIM_SPRITES_START + 258)
+#define ANIM_TAG_BROWN_ORB (ANIM_SPRITES_START + 259)
+#define ANIM_TAG_METAL_SOUND_WAVES (ANIM_SPRITES_START + 260)
+#define ANIM_TAG_FLYING_DIRT (ANIM_SPRITES_START + 261)
+#define ANIM_TAG_ICICLE_SPEAR (ANIM_SPRITES_START + 262)
+#define ANIM_TAG_HAIL (ANIM_SPRITES_START + 263)
+#define ANIM_TAG_GLOWY_RED_ORB (ANIM_SPRITES_START + 264)
+#define ANIM_TAG_GLOWY_GREEN_ORB (ANIM_SPRITES_START + 265)
+#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
+#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
+#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
+#define ANIM_TAG_UNUSED_RED_BRICK (ANIM_SPRITES_START + 269)
+#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
+#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
+#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
+#define ANIM_TAG_SWEAT_BEAD (ANIM_SPRITES_START + 273)
+#define ANIM_TAG_UNUSED_GEM_1 (ANIM_SPRITES_START + 274)
+#define ANIM_TAG_UNUSED_GEM_2 (ANIM_SPRITES_START + 275)
+#define ANIM_TAG_UNUSED_GEM_3 (ANIM_SPRITES_START + 276)
+#define ANIM_TAG_SLAM_HIT_2 (ANIM_SPRITES_START + 277)
+#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278)
+#define ANIM_TAG_UNUSED_RED_PARTICLES (ANIM_SPRITES_START + 279)
+#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280)
+#define ANIM_TAG_DIRT_MOUND (ANIM_SPRITES_START + 281)
+#define ANIM_TAG_SHOCK_3 (ANIM_SPRITES_START + 282)
+#define ANIM_TAG_WEATHER_BALL (ANIM_SPRITES_START + 283)
+#define ANIM_TAG_BIRD (ANIM_SPRITES_START + 284)
+#define ANIM_TAG_CROSS_IMPACT (ANIM_SPRITES_START + 285)
+#define ANIM_TAG_SLASH_2 (ANIM_SPRITES_START + 286)
+#define ANIM_TAG_WHIP_HIT (ANIM_SPRITES_START + 287)
+#define ANIM_TAG_BLUE_RING_2 (ANIM_SPRITES_START + 288)
// battlers
-#define ANIM_ATTACKER 0
-#define ANIM_TARGET 1
+#define ANIM_ATTACKER 0
+#define ANIM_TARGET 1
#define ANIM_ATK_PARTNER 2
#define ANIM_DEF_PARTNER 3
+// stereo panning constants [0-255]
+//
+// 0
+// . .
+// . .
+// 192 . . 63
+// . .
+// . .
+// . .
+// 127
+//
+#define SOUND_PAN_ATTACKER -64
+#define SOUND_PAN_TARGET 63
+
// move background ids
#define BG_DARK_ 0 // the same as BG_DARK but is unused
#define BG_DARK 1
@@ -406,4 +410,33 @@
#define ANIM_WEATHER_SANDSTORM 3
#define ANIM_WEATHER_HAIL 4
+// Battle mon back animations.
+#define BACK_ANIM_NONE 0x00
+#define BACK_ANIM_H_SLIDE_QUICK 0x01
+#define BACK_ANIM_H_SLIDE 0x02
+#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1 0x03
+#define BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2 0x04
+#define BACK_ANIM_SHRINK_GROW_1 0x05
+#define BACK_ANIM_GROW_1 0x06
+#define BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE 0x07
+#define BACK_ANIM_HORIZONTAL_SHAKE 0x08
+#define BACK_ANIM_VERTICAL_SHAKE 0x09
+#define BACK_ANIM_V_SHAKE_WITH_H_SLIDE 0x0a
+#define BACK_ANIM_VERTICAL_STRETCH 0x0b
+#define BACK_ANIM_HORIZONTAL_STRETCH 0x0c
+#define BACK_ANIM_GROW_2 0x0d
+#define BACK_ANIM_V_SHAKE_WITH_PAUSE 0x0e
+#define BACK_ANIM_CIRCLE_MOVE_CLOCKWISE 0x0f
+#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL 0x10
+#define BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE 0x11
+#define BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE 0x12
+#define BACK_ANIM_DIP_RIGHT_SIDE 0x13
+#define BACK_ANIM_SHRINK_GROW_2 0x14
+#define BACK_ANIM_JOLT_RIGHT 0x15
+#define BACK_ANIM_FLASH_YELLOW_WITH_SHAKE 0x16
+#define BACK_ANIM_FADE_RED_WITH_SHAKE 0x17
+#define BACK_ANIM_FADE_GREEN_WITH_SHAKE 0x18
+#define BACK_ANIM_FADE_BLUE_WITH_SHAKE 0x19
+
+
#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h
index 1cd750a3d..b5ad4f072 100644
--- a/include/constants/battle_frontier.h
+++ b/include/constants/battle_frontier.h
@@ -10,6 +10,10 @@
#define FRONTIER_FACILITY_PIKE 5
#define FRONTIER_FACILITY_PYRAMID 6
+#define TENT_VERDANTURF 2
+#define TENT_FALLARBOR 3
+#define TENT_SLATEPORT 4
+
// Battle Frontier lvl modes.
#define FRONTIER_LVL_50 0
#define FRONTIER_LVL_OPEN 1
@@ -21,4 +25,20 @@
#define FRONTIER_MODE_MULTIS 2
#define FRONTIER_MODE_LINK_MULTIS 3
+// Special trainer battles.
+#define SPECIAL_BATTLE_TOWER 0
+#define SPECIAL_BATTLE_SECRET_BASE 1
+#define SPECIAL_BATTLE_EREADER 2
+#define SPECIAL_BATTLE_DOME 3
+#define SPECIAL_BATTLE_PALACE 4
+#define SPECIAL_BATTLE_ARENA 5
+#define SPECIAL_BATTLE_FACTORY 6
+#define SPECIAL_BATTLE_PIKE_SINGLE 7
+#define SPECIAL_BATTLE_STEVEN 8
+#define SPECIAL_BATTLE_PIKE_DOUBLE 9
+#define SPECIAL_BATTLE_PYRAMID 10
+
+// For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special.
+#define RESULTS_LINK_CONTEST 7
+
#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
index bd9d8e67d..e8a2980a5 100644
--- a/include/constants/battle_script_commands.h
+++ b/include/constants/battle_script_commands.h
@@ -11,9 +11,9 @@
#define sB_ANIM_ARG2 gBattleScripting + 0x11
#define sTRIPLE_KICK_POWER gBattleScripting + 0x12
#define sMOVEEND_STATE gBattleScripting + 0x14
-#define sBANK_WITH_ABILITY gBattleScripting + 0x15
+#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15
#define sMULTIHIT_EFFECT gBattleScripting + 0x16
-#define sBANK gBattleScripting + 0x17
+#define sBATTLER gBattleScripting + 0x17
#define sB_ANIM_TURN gBattleScripting + 0x18
#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19
#define sSTATCHANGER gBattleScripting + 0x1A
@@ -26,8 +26,9 @@
#define sRESHOW_MAIN_STATE gBattleScripting + 0x21
#define sRESHOW_HELPER_STATE gBattleScripting + 0x22
#define sFIELD_23 gBattleScripting + 0x23
-#define sFIELD_24 gBattleScripting + 0x24
+#define sWINDOWS_TYPE gBattleScripting + 0x24
#define sMULTIPLAYER_ID gBattleScripting + 0x25
+#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26
#define cEFFECT_CHOOSER gBattleCommunication + 3
#define cMULTISTRING_CHOOSER gBattleCommunication + 5
@@ -67,12 +68,19 @@
#define VARIOUS_GET_MOVE_TARGET 3
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
+#define VARIOUS_ARENA_JUDGMENT_WINDOW 9
+#define VARIOUS_ARENA_OPPONENT_MON_LOST 10
+#define VARIOUS_ARENA_PLAYER_MON_LOST 11
+#define VARIOUS_ARENA_BOTH_MONS_LOST 12
#define VARIOUS_EMIT_YESNOBOX 13
+#define VARIOUS_ARENA_JUDGMENT_STRING 16
+#define VARIOUS_ARENA_WAIT_STRING 17
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
#define VARIOUS_VOLUME_DOWN 21
#define VARIOUS_VOLUME_UP 22
+#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
diff --git a/include/constants/battle_setup.h b/include/constants/battle_setup.h
new file mode 100644
index 000000000..329bfa650
--- /dev/null
+++ b/include/constants/battle_setup.h
@@ -0,0 +1,18 @@
+#ifndef GUARD_CONSTANTS_BATTLE_SETUP_H
+#define GUARD_CONSTANTS_BATTLE_SETUP_H
+
+#define TRAINER_BATTLE_SINGLE 0
+#define TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC 1
+#define TRAINER_BATTLE_CONTINUE_SCRIPT 2
+#define TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT 3
+#define TRAINER_BATTLE_DOUBLE 4
+#define TRAINER_BATTLE_REMATCH 5
+#define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE 6
+#define TRAINER_BATTLE_REMATCH_DOUBLE 7
+#define TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC 8
+#define TRAINER_BATTLE_9 9
+#define TRAINER_BATTLE_SET_TRAINER_A 10
+#define TRAINER_BATTLE_SET_TRAINER_B 11
+#define TRAINER_BATTLE_12 12
+
+#endif // GUARD_CONSTANTS_BATTLE_SETUP_H
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
new file mode 100644
index 000000000..b93b98201
--- /dev/null
+++ b/include/constants/field_effects.h
@@ -0,0 +1,72 @@
+#ifndef GUARD_FIELD_EFFECT_CONSTANTS_H
+#define GUARD_FIELD_EFFECT_CONSTANTS_H
+
+#define FLDEFF_EXCLAMATION_MARK_ICON 0
+#define FLDEFF_USE_CUT_ON_GRASS 1
+#define FLDEFF_USE_CUT_ON_TREE 2
+#define FLDEFF_SHADOW 3
+#define FLDEFF_TALL_GRASS 4
+#define FLDEFF_RIPPLE 5
+#define FLDEFF_FIELD_MOVE_SHOW_MON 6
+#define FLDEFF_ASH 7
+#define FLDEFF_SURF_BLOB 8
+#define FLDEFF_USE_SURF 9
+#define FLDEFF_DUST 10
+#define FLDEFF_USE_SECRET_POWER_CAVE 11
+#define FLDEFF_JUMP_TALL_GRASS 12
+#define FLDEFF_SAND_FOOTPRINTS 13
+#define FLDEFF_JUMP_BIG_SPLASH 14
+#define FLDEFF_SPLASH 15
+#define FLDEFF_JUMP_SMALL_SPLASH 16
+#define FLDEFF_LONG_GRASS 17
+#define FLDEFF_JUMP_LONG_GRASS 18
+#define FLDEFF_UNKNOWN_19 19
+#define FLDEFF_UNKNOWN_20 20
+#define FLDEFF_UNKNOWN_21 21
+#define FLDEFF_UNKNOWN_22 22
+#define FLDEFF_BERRY_TREE_GROWTH_SPARKLE 23
+#define FLDEFF_DEEP_SAND_FOOTPRINTS 24
+#define FLDEFF_POKECENTER_HEAL 25
+#define FLDEFF_USE_SECRET_POWER_TREE 26
+#define FLDEFF_USE_SECRET_POWER_SHRUB 27
+#define FLDEFF_TREE_DISGUISE 28
+#define FLDEFF_MOUNTAIN_DISGUISE 29
+#define FLDEFF_NPCFLY_OUT 30
+#define FLDEFF_USE_FLY 31
+#define FLDEFF_FLY_IN 32
+#define FLDEFF_QUESTION_MARK_ICON 33
+#define FLDEFF_FEET_IN_FLOWING_WATER 34
+#define FLDEFF_BIKE_TIRE_TRACKS 35
+#define FLDEFF_SAND_DISGUISE 36
+#define FLDEFF_USE_ROCK_SMASH 37
+#define FLDEFF_USE_DIG 38
+#define FLDEFF_SAND_PILE 39
+#define FLDEFF_USE_STRENGTH 40
+#define FLDEFF_SHORT_GRASS 41
+#define FLDEFF_HOT_SPRINGS_WATER 42
+#define FLDEFF_USE_WATERFALL 43
+#define FLDEFF_USE_DIVE 44
+#define FLDEFF_POKEBALL 45
+#define FLDEFF_HEART_ICON 46
+#define FLDEFF_NOP_47 47
+#define FLDEFF_NOP_48 48
+#define FLDEFF_POP_OUT_OF_ASH 49
+#define FLDEFF_LAVARIDGE_GYM_WARP 50
+#define FLDEFF_SWEET_SCENT 51
+#define FLDEFF_SAND_PILLAR 52
+#define FLDEFF_BUBBLES 53
+#define FLDEFF_SPARKLE 54
+#define FLDEFF_SECRET_POWER_CAVE 55
+#define FLDEFF_SECRET_POWER_TREE 56
+#define FLDEFF_SECRET_POWER_SHRUB 57
+#define FLDEFF_CUT_GRASS 58
+#define FLDEFF_FIELD_MOVE_SHOW_MON_INIT 59
+#define FLDEFF_USE_FLY_ANCIENT_TOMB 60
+#define FLDEFF_PCTURN_ON 61
+#define FLDEFF_HALL_OF_FAME_RECORD 62
+#define FLDEFF_USE_TELEPORT 63
+#define FLDEFF_64 64
+#define FLDEFF_65 65
+#define FLDEFF_66 66
+
+#endif
diff --git a/include/constants/flags.h b/include/constants/flags.h
index ff403a299..c21affd61 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,38 +1,43 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
-#define FLAG_0x001 0x1
-#define FLAG_0x002 0x2
-#define FLAG_0x003 0x3
-#define FLAG_0x004 0x4
-#define FLAG_0x005 0x5
-#define FLAG_0x006 0x6
-#define FLAG_0x007 0x7
-#define FLAG_0x008 0x8
-#define FLAG_0x009 0x9
-#define FLAG_0x00A 0xA
-#define FLAG_0x00B 0xB
-#define FLAG_0x00C 0xC
-#define FLAG_0x00D 0xD
-#define FLAG_0x00E 0xE
-#define FLAG_0x00F 0xF
-#define FLAG_0x010 0x10
-#define FLAG_0x011 0x11
-#define FLAG_0x012 0x12
-#define FLAG_0x013 0x13
-#define FLAG_0x014 0x14
-#define FLAG_0x015 0x15
-#define FLAG_0x016 0x16
-#define FLAG_0x017 0x17
-#define FLAG_0x018 0x18
-#define FLAG_0x019 0x19
-#define FLAG_0x01A 0x1A
-#define FLAG_0x01B 0x1B
-#define FLAG_0x01C 0x1C
-#define FLAG_0x01D 0x1D
-#define FLAG_0x01E 0x1E
-#define FLAG_0x01F 0x1F
-#define FLAG_0x020 0x20
+// temporary flags
+// These temporary flags are are cleared every time a map is loaded. They are used
+// for things like shortening an NPCs introduction text if the player already spoke
+// to them once.
+#define FLAG_TEMP_1 0x1
+#define FLAG_TEMP_2 0x2
+#define FLAG_TEMP_3 0x3
+#define FLAG_TEMP_4 0x4
+#define FLAG_TEMP_5 0x5
+#define FLAG_TEMP_6 0x6
+#define FLAG_TEMP_7 0x7
+#define FLAG_TEMP_8 0x8
+#define FLAG_TEMP_9 0x9
+#define FLAG_TEMP_A 0xA
+#define FLAG_TEMP_B 0xB
+#define FLAG_TEMP_C 0xC
+#define FLAG_TEMP_D 0xD
+#define FLAG_TEMP_E 0xE
+#define FLAG_TEMP_F 0xF
+#define FLAG_TEMP_10 0x10
+#define FLAG_TEMP_11 0x11
+#define FLAG_TEMP_12 0x12
+#define FLAG_TEMP_13 0x13
+#define FLAG_TEMP_14 0x14
+#define FLAG_TEMP_15 0x15
+#define FLAG_TEMP_16 0x16
+#define FLAG_TEMP_17 0x17
+#define FLAG_TEMP_18 0x18
+#define FLAG_TEMP_19 0x19
+#define FLAG_TEMP_1A 0x1A
+#define FLAG_TEMP_1B 0x1B
+#define FLAG_TEMP_1C 0x1C
+#define FLAG_TEMP_1D 0x1D
+#define FLAG_TEMP_1E 0x1E
+#define FLAG_TEMP_1F 0x1F
+#define FLAG_TEMP_20 0x20
+
#define FLAG_0x021 0x21
#define FLAG_0x022 0x22
#define FLAG_0x023 0x23
@@ -80,13 +85,13 @@
#define FLAG_0x04D 0x4D
#define FLAG_0x04E 0x4E
#define FLAG_0x04F 0x4F
-#define FLAG_0x050 0x50
+#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT 0x50
#define FLAG_0x051 0x51
#define FLAG_0x052 0x52
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
#define FLAG_0x054 0x54
#define FLAG_0x055 0x55
-#define FLAG_0x056 0x56
+#define FLAG_LINK_CONTEST_POKE_BALL 0x56
#define FLAG_0x057 0x57
#define FLAG_0x058 0x58
#define FLAG_0x059 0x59
@@ -173,21 +178,24 @@
#define FLAG_0x0AA 0xAA
#define FLAG_0x0AB 0xAB
#define FLAG_0x0AC 0xAC
-#define FLAG_0x0AD 0xAD
-#define FLAG_0x0AE 0xAE
-#define FLAG_0x0AF 0xAF
-#define FLAG_0x0B0 0xB0
-#define FLAG_0x0B1 0xB1
-#define FLAG_0x0B2 0xB2
-#define FLAG_0x0B3 0xB3
-#define FLAG_0x0B4 0xB4
-#define FLAG_0x0B5 0xB5
-#define FLAG_0x0B6 0xB6
-#define FLAG_0x0B7 0xB7
-#define FLAG_0x0B8 0xB8
-#define FLAG_0x0B9 0xB9
-#define FLAG_0x0BA 0xBA
-#define FLAG_0x0BB 0xBB
+
+#define FLAG_DECORATION_0 0xAD
+#define FLAG_DECORATION_1 0xAE
+#define FLAG_DECORATION_2 0xAF
+#define FLAG_DECORATION_3 0xB0
+#define FLAG_DECORATION_4 0xB1
+#define FLAG_DECORATION_5 0xB2
+#define FLAG_DECORATION_6 0xB3
+#define FLAG_DECORATION_7 0xB4
+#define FLAG_DECORATION_8 0xB5
+#define FLAG_DECORATION_9 0xB6
+#define FLAG_DECORATION_10 0xB7
+#define FLAG_DECORATION_11 0xB8
+#define FLAG_DECORATION_12 0xB9
+#define FLAG_DECORATION_13 0xBA
+#define FLAG_DECORATION_14 0xBB
+
+// scripts
#define FLAG_0x0BC 0xBC
#define FLAG_0x0BD 0xBD
#define FLAG_0x0BE 0xBE
@@ -230,7 +238,7 @@
#define FLAG_0x0E3 0xE3
#define FLAG_0x0E4 0xE4
#define FLAG_0x0E5 0xE5
-#define FLAG_0x0E6 0xE6
+#define FLAG_RECEIVED_TM_36 0xE6
#define FLAG_0x0E7 0xE7
#define FLAG_0x0E8 0xE8
#define FLAG_0x0E9 0xE9
@@ -292,9 +300,11 @@
#define FLAG_0x121 0x121
#define FLAG_0x122 0x122
#define FLAG_0x123 0x123
+
+// upper flags?
#define FLAG_0x124 0x124
#define FLAG_0x125 0x125
-#define FLAG_0x126 0x126
+#define FLAG_TRADED_SCANNER_TO_STERN 0x126
#define FLAG_0x127 0x127
#define FLAG_0x128 0x128
#define FLAG_0x129 0x129
@@ -335,8 +345,8 @@
#define FLAG_0x14C 0x14C
#define FLAG_0x14D 0x14D
#define FLAG_0x14E 0x14E
-#define FLAG_0x14F 0x14F
-#define FLAG_0x150 0x150
+#define FLAG_0x14F 0x14F// PLAYER CHOSE CLAW FOSSIL
+#define FLAG_0x150 0x150// PLAYER CHOSE ROOT FOSSIL
#define FLAG_0x151 0x151
#define FLAG_0x152 0x152
#define FLAG_0x153 0x153
@@ -501,677 +511,599 @@
#define FLAG_0x1F1 0x1F1
#define FLAG_0x1F2 0x1F2
#define FLAG_0x1F3 0x1F3
+#define FLAG_0x1F5 0x1F5 // trick house end room?
+
+// Hidden Items -- sorted by location
#define FLAG_HIDDEN_ITEMS_START 0x1F4
-#define FLAG_0x1F5 0x1F5
-#define FLAG_0x1F6 0x1F6
-#define FLAG_0x1F7 0x1F7
-#define FLAG_0x1F8 0x1F8
-#define FLAG_0x1F9 0x1F9
-#define FLAG_0x1FA 0x1FA
-#define FLAG_0x1FB 0x1FB
-#define FLAG_0x1FC 0x1FC
-#define FLAG_0x1FD 0x1FD
-#define FLAG_0x1FE 0x1FE
-#define FLAG_0x1FF 0x1FF
-#define FLAG_0x200 0x200
-#define FLAG_0x201 0x201
-#define FLAG_0x202 0x202
-#define FLAG_0x203 0x203
-#define FLAG_0x204 0x204
-#define FLAG_0x205 0x205
-#define FLAG_0x206 0x206
-#define FLAG_0x207 0x207
-#define FLAG_0x208 0x208
-#define FLAG_0x209 0x209
-#define FLAG_0x20A 0x20A
-#define FLAG_0x20B 0x20B
-#define FLAG_0x20C 0x20C
-#define FLAG_0x20D 0x20D
-#define FLAG_0x20E 0x20E
-#define FLAG_0x20F 0x20F
-#define FLAG_0x210 0x210
-#define FLAG_0x211 0x211
-#define FLAG_0x212 0x212
-#define FLAG_HIDDEN_ITEM_1F 0x213
-#define FLAG_HIDDEN_ITEM_20 0x214
-#define FLAG_HIDDEN_ITEM_21 0x215
-#define FLAG_HIDDEN_ITEM_22 0x216
-#define FLAG_0x217 0x217
-#define FLAG_0x218 0x218
-#define FLAG_0x219 0x219
-#define FLAG_0x21A 0x21A
-#define FLAG_0x21B 0x21B
-#define FLAG_0x21C 0x21C
-#define FLAG_0x21D 0x21D
-#define FLAG_0x21E 0x21E
-#define FLAG_0x21F 0x21F
-#define FLAG_0x220 0x220
-#define FLAG_0x221 0x221
-#define FLAG_0x222 0x222
-#define FLAG_0x223 0x223
-#define FLAG_0x224 0x224
-#define FLAG_0x225 0x225
-#define FLAG_0x226 0x226
-#define FLAG_0x227 0x227
-#define FLAG_0x228 0x228
-#define FLAG_0x229 0x229
-#define FLAG_0x22A 0x22A
-#define FLAG_0x22B 0x22B
-#define FLAG_0x22C 0x22C
-#define FLAG_0x22D 0x22D
-#define FLAG_0x22E 0x22E
-#define FLAG_0x22F 0x22F
-#define FLAG_0x230 0x230
-#define FLAG_0x231 0x231
-#define FLAG_0x232 0x232
-#define FLAG_0x233 0x233
-#define FLAG_0x234 0x234
-#define FLAG_0x235 0x235
-#define FLAG_0x236 0x236
-#define FLAG_0x237 0x237
-#define FLAG_0x238 0x238
-#define FLAG_0x239 0x239
-#define FLAG_0x23A 0x23A
-#define FLAG_0x23B 0x23B
-#define FLAG_0x23C 0x23C
-#define FLAG_0x23D 0x23D
-#define FLAG_0x23E 0x23E
-#define FLAG_0x23F 0x23F
-#define FLAG_0x240 0x240
-#define FLAG_0x241 0x241
-#define FLAG_0x242 0x242
-#define FLAG_0x243 0x243
-#define FLAG_0x244 0x244
-#define FLAG_0x245 0x245
-#define FLAG_0x246 0x246
-#define FLAG_0x247 0x247
-#define FLAG_0x248 0x248
-#define FLAG_0x249 0x249
-#define FLAG_0x24A 0x24A
-#define FLAG_0x24B 0x24B
-#define FLAG_0x24C 0x24C
-#define FLAG_0x24D 0x24D
-#define FLAG_0x24E 0x24E
-#define FLAG_0x24F 0x24F
-#define FLAG_0x250 0x250
-#define FLAG_0x251 0x251
-#define FLAG_0x252 0x252
-#define FLAG_0x253 0x253
-#define FLAG_HIDDEN_ITEM_BLACK_GLASSES 0x254
-#define FLAG_0x255 0x255
-#define FLAG_0x256 0x256
-#define FLAG_0x257 0x257
-#define FLAG_0x258 0x258
-#define FLAG_0x259 0x259
-#define FLAG_0x25A 0x25A
-#define FLAG_0x25B 0x25B
-#define FLAG_0x25C 0x25C
-#define FLAG_0x25D 0x25D
-#define FLAG_0x25E 0x25E
-#define FLAG_0x25F 0x25F
-#define FLAG_0x260 0x260
-#define FLAG_0x261 0x261
-#define FLAG_0x262 0x262
-#define FLAG_0x263 0x263
-#define FLAG_0x264 0x264
-#define FLAG_0x265 0x265
-#define FLAG_0x266 0x266
-#define FLAG_0x267 0x267
-#define FLAG_0x268 0x268
-#define FLAG_0x269 0x269
-#define FLAG_0x26A 0x26A
-#define FLAG_0x26B 0x26B
-#define FLAG_0x26C 0x26C
-#define FLAG_0x26D 0x26D
-#define FLAG_0x26E 0x26E
-#define FLAG_0x26F 0x26F
-#define FLAG_0x270 0x270
-#define FLAG_0x271 0x271
-#define FLAG_0x272 0x272
-#define FLAG_0x273 0x273
-#define FLAG_0x274 0x274
-#define FLAG_0x275 0x275
-#define FLAG_0x276 0x276
-#define FLAG_0x277 0x277
-#define FLAG_0x278 0x278
-#define FLAG_0x279 0x279
-#define FLAG_0x27A 0x27A
-#define FLAG_0x27B 0x27B
-#define FLAG_0x27C 0x27C
-#define FLAG_0x27D 0x27D
-#define FLAG_0x27E 0x27E
-#define FLAG_0x27F 0x27F
-#define FLAG_0x280 0x280
-#define FLAG_0x281 0x281
-#define FLAG_0x282 0x282
-#define FLAG_0x283 0x283
-#define FLAG_0x284 0x284
-#define FLAG_0x285 0x285
-#define FLAG_0x286 0x286
-#define FLAG_0x287 0x287
-#define FLAG_0x288 0x288
-#define FLAG_0x289 0x289
-#define FLAG_0x28A 0x28A
-#define FLAG_0x28B 0x28B
-#define FLAG_0x28C 0x28C
-#define FLAG_0x28D 0x28D
-#define FLAG_0x28E 0x28E
-#define FLAG_0x28F 0x28F
-#define FLAG_0x290 0x290
-#define FLAG_0x291 0x291
-#define FLAG_0x292 0x292
-#define FLAG_0x293 0x293
-#define FLAG_0x294 0x294
-#define FLAG_0x295 0x295
-#define FLAG_0x296 0x296
-#define FLAG_0x297 0x297
-#define FLAG_0x298 0x298
-#define FLAG_0x299 0x299
-#define FLAG_0x29A 0x29A
-#define FLAG_0x29B 0x29B
-#define FLAG_0x29C 0x29C
-#define FLAG_0x29D 0x29D
-#define FLAG_0x29E 0x29E
-#define FLAG_0x29F 0x29F
-#define FLAG_0x2A0 0x2A0
-#define FLAG_0x2A1 0x2A1
-#define FLAG_0x2A2 0x2A2
-#define FLAG_0x2A3 0x2A3
-#define FLAG_0x2A4 0x2A4
-#define FLAG_0x2A5 0x2A5
-#define FLAG_0x2A6 0x2A6
-#define FLAG_0x2A7 0x2A7
-#define FLAG_0x2A8 0x2A8
-#define FLAG_0x2A9 0x2A9
-#define FLAG_0x2AA 0x2AA
-#define FLAG_0x2AB 0x2AB
-#define FLAG_0x2AC 0x2AC
-#define FLAG_0x2AD 0x2AD
-#define FLAG_0x2AE 0x2AE
-#define FLAG_0x2AF 0x2AF
-#define FLAG_0x2B0 0x2B0
-#define FLAG_0x2B1 0x2B1
-#define FLAG_0x2B2 0x2B2
-#define FLAG_0x2B3 0x2B3
-#define FLAG_0x2B4 0x2B4
-#define FLAG_0x2B5 0x2B5
-#define FLAG_0x2B6 0x2B6
-#define FLAG_0x2B7 0x2B7
-#define FLAG_0x2B8 0x2B8
-#define FLAG_0x2B9 0x2B9
-#define FLAG_0x2BA 0x2BA
-#define FLAG_0x2BB 0x2BB
-#define FLAG_0x2BC 0x2BC
-#define FLAG_0x2BD 0x2BD
-#define FLAG_0x2BE 0x2BE
-#define FLAG_0x2BF 0x2BF
-#define FLAG_0x2C0 0x2C0
-#define FLAG_0x2C1 0x2C1
-#define FLAG_0x2C2 0x2C2
-#define FLAG_0x2C3 0x2C3
-#define FLAG_0x2C4 0x2C4
-#define FLAG_0x2C5 0x2C5
-#define FLAG_0x2C6 0x2C6
-#define FLAG_0x2C7 0x2C7
-#define FLAG_0x2C8 0x2C8
-#define FLAG_0x2C9 0x2C9
-#define FLAG_0x2CA 0x2CA
-#define FLAG_0x2CB 0x2CB
-#define FLAG_0x2CC 0x2CC
-#define FLAG_0x2CD 0x2CD
-#define FLAG_0x2CE 0x2CE
-#define FLAG_0x2CF 0x2CF
-#define FLAG_0x2D0 0x2D0
-#define FLAG_0x2D1 0x2D1
-#define FLAG_0x2D2 0x2D2
-#define FLAG_0x2D3 0x2D3
-#define FLAG_0x2D4 0x2D4
-#define FLAG_0x2D5 0x2D5
-#define FLAG_0x2D6 0x2D6
-#define FLAG_0x2D7 0x2D7
-#define FLAG_0x2D8 0x2D8
-#define FLAG_0x2D9 0x2D9
-#define FLAG_0x2DA 0x2DA
-#define FLAG_0x2DB 0x2DB
-#define FLAG_0x2DC 0x2DC
-#define FLAG_0x2DD 0x2DD
-#define FLAG_0x2DE 0x2DE
-#define FLAG_0x2DF 0x2DF
-#define FLAG_0x2E0 0x2E0
-#define FLAG_0x2E1 0x2E1
-#define FLAG_0x2E2 0x2E2
-#define FLAG_0x2E3 0x2E3
-#define FLAG_0x2E4 0x2E4
-#define FLAG_0x2E5 0x2E5
-#define FLAG_0x2E6 0x2E6
-#define FLAG_0x2E7 0x2E7
-#define FLAG_0x2E8 0x2E8
-#define FLAG_0x2E9 0x2E9
-#define FLAG_0x2EA 0x2EA
-#define FLAG_0x2EB 0x2EB
-#define FLAG_0x2EC 0x2EC
-#define FLAG_0x2ED 0x2ED
-#define FLAG_0x2EE 0x2EE
-#define FLAG_0x2EF 0x2EF
-#define FLAG_0x2F0 0x2F0
-#define FLAG_0x2F1 0x2F1
-#define FLAG_0x2F2 0x2F2
-#define FLAG_0x2F3 0x2F3
-#define FLAG_0x2F4 0x2F4
-#define FLAG_0x2F5 0x2F5
-#define FLAG_0x2F6 0x2F6
-#define FLAG_0x2F7 0x2F7
-#define FLAG_0x2F8 0x2F8
-#define FLAG_0x2F9 0x2F9
-#define FLAG_0x2FA 0x2FA
-#define FLAG_0x2FB 0x2FB
-#define FLAG_0x2FC 0x2FC
-#define FLAG_0x2FD 0x2FD
-#define FLAG_0x2FE 0x2FE
-#define FLAG_0x2FF 0x2FF
-#define FLAG_0x300 0x300
-#define FLAG_0x301 0x301
-#define FLAG_0x302 0x302
-#define FLAG_0x303 0x303
-#define FLAG_0x304 0x304
-#define FLAG_0x305 0x305
-#define FLAG_0x306 0x306
-#define FLAG_0x307 0x307
-#define FLAG_0x308 0x308
-#define FLAG_0x309 0x309
-#define FLAG_0x30A 0x30A
-#define FLAG_0x30B 0x30B
-#define FLAG_0x30C 0x30C
-#define FLAG_0x30D 0x30D
-#define FLAG_0x30E 0x30E
-#define FLAG_0x30F 0x30F
-#define FLAG_0x310 0x310
-#define FLAG_0x311 0x311
-#define FLAG_0x312 0x312
-#define FLAG_0x313 0x313
-#define FLAG_0x314 0x314
-#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315
-#define FLAG_HIDE_FANCLUB_BOY 0x316
-#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317
-#define FLAG_HIDE_FANCLUB_LADY 0x318
-#define FLAG_0x319 0x319
-#define FLAG_0x31A 0x31A
-#define FLAG_0x31B 0x31B
-#define FLAG_0x31C 0x31C
-#define FLAG_0x31D 0x31D
-#define FLAG_0x31E 0x31E
-#define FLAG_0x31F 0x31F
-#define FLAG_0x320 0x320
-#define FLAG_0x321 0x321
-#define FLAG_0x322 0x322
-#define FLAG_0x323 0x323
-#define FLAG_0x324 0x324
-#define FLAG_0x325 0x325
-#define FLAG_0x326 0x326
-#define FLAG_0x327 0x327
-#define FLAG_0x328 0x328
-#define FLAG_0x329 0x329
-#define FLAG_0x32A 0x32A
-#define FLAG_0x32B 0x32B
-#define FLAG_0x32C 0x32C
-#define FLAG_0x32D 0x32D
-#define FLAG_0x32E 0x32E
-#define FLAG_0x32F 0x32F
-#define FLAG_0x330 0x330
-#define FLAG_0x331 0x331
-#define FLAG_0x332 0x332
-#define FLAG_0x333 0x333
-#define FLAG_0x334 0x334
-#define FLAG_0x335 0x335
-#define FLAG_0x336 0x336
-#define FLAG_0x337 0x337
-#define FLAG_0x338 0x338
-#define FLAG_0x339 0x339
-#define FLAG_0x33A 0x33A
-#define FLAG_0x33B 0x33B
-#define FLAG_0x33C 0x33C
-#define FLAG_0x33D 0x33D
-#define FLAG_0x33E 0x33E
-#define FLAG_0x33F 0x33F
-#define FLAG_0x340 0x340
-#define FLAG_0x341 0x341
-#define FLAG_0x342 0x342
-#define FLAG_0x343 0x343
-#define FLAG_0x344 0x344
-#define FLAG_0x345 0x345
-#define FLAG_0x346 0x346
-#define FLAG_0x347 0x347
-#define FLAG_0x348 0x348
-#define FLAG_0x349 0x349
-#define FLAG_0x34A 0x34A
-#define FLAG_0x34B 0x34B
-#define FLAG_0x34C 0x34C
-#define FLAG_0x34D 0x34D
-#define FLAG_0x34E 0x34E
-#define FLAG_0x34F 0x34F
-#define FLAG_0x350 0x350
-#define FLAG_0x351 0x351
-#define FLAG_0x352 0x352
-#define FLAG_0x353 0x353
-#define FLAG_0x354 0x354
-#define FLAG_0x355 0x355
-#define FLAG_0x356 0x356
-#define FLAG_0x357 0x357
-#define FLAG_0x358 0x358
-#define FLAG_0x359 0x359
-#define FLAG_0x35A 0x35A
-#define FLAG_0x35B 0x35B
-#define FLAG_0x35C 0x35C
-#define FLAG_0x35D 0x35D
-#define FLAG_0x35E 0x35E
-#define FLAG_0x35F 0x35F
-#define FLAG_0x360 0x360
-#define FLAG_0x361 0x361
-#define FLAG_0x362 0x362
-#define FLAG_0x363 0x363
-#define FLAG_0x364 0x364
-#define FLAG_0x365 0x365
-#define FLAG_0x366 0x366
-#define FLAG_0x367 0x367
-#define FLAG_0x368 0x368
-#define FLAG_0x369 0x369
-#define FLAG_0x36A 0x36A
-#define FLAG_0x36B 0x36B
-#define FLAG_0x36C 0x36C
-#define FLAG_0x36D 0x36D
-#define FLAG_0x36E 0x36E
-#define FLAG_0x36F 0x36F
-#define FLAG_0x370 0x370
-#define FLAG_0x371 0x371
-#define FLAG_0x372 0x372
-#define FLAG_0x373 0x373
-#define FLAG_0x374 0x374
-#define FLAG_0x375 0x375
-#define FLAG_0x376 0x376
-#define FLAG_0x377 0x377
-#define FLAG_0x378 0x378
-#define FLAG_0x379 0x379
-#define FLAG_0x37A 0x37A
-#define FLAG_0x37B 0x37B
-#define FLAG_0x37C 0x37C
-#define FLAG_0x37D 0x37D
-#define FLAG_0x37E 0x37E
-#define FLAG_0x37F 0x37F
-#define FLAG_0x380 0x380
-#define FLAG_0x381 0x381
-#define FLAG_0x382 0x382
-#define FLAG_0x383 0x383
-#define FLAG_0x384 0x384
-#define FLAG_0x385 0x385
-#define FLAG_0x386 0x386
-#define FLAG_0x387 0x387
-#define FLAG_0x388 0x388
-#define FLAG_0x389 0x389
-#define FLAG_0x38A 0x38A
-#define FLAG_0x38B 0x38B
-#define FLAG_0x38C 0x38C
-#define FLAG_0x38D 0x38D
-#define FLAG_0x38E 0x38E
-#define FLAG_0x38F 0x38F
-#define FLAG_SPRITEVIS_MAUVILLE_CITY_WATTSON 0x390
-#define FLAG_SPRITEVIS_MAUVILLE_GYM_WATTSON 0x391
-#define FLAG_0x392 0x392
-#define FLAG_0x393 0x393
-#define FLAG_0x394 0x394
-#define FLAG_0x395 0x395
-#define FLAG_0x396 0x396
-#define FLAG_0x397 0x397
-#define FLAG_0x398 0x398
-#define FLAG_0x399 0x399
-#define FLAG_0x39A 0x39A
-#define FLAG_0x39B 0x39B
-#define FLAG_0x39C 0x39C
-#define FLAG_0x39D 0x39D
-#define FLAG_0x39E 0x39E
-#define FLAG_0x39F 0x39F
-#define FLAG_0x3A0 0x3A0
-#define FLAG_0x3A1 0x3A1
-#define FLAG_0x3A2 0x3A2
-#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3
-#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4
-#define FLAG_0x3A5 0x3A5
-#define FLAG_0x3A6 0x3A6
-#define FLAG_0x3A7 0x3A7
-#define FLAG_0x3A8 0x3A8
-#define FLAG_0x3A9 0x3A9
-#define FLAG_0x3AA 0x3AA
-#define FLAG_0x3AB 0x3AB
-#define FLAG_0x3AC 0x3AC
-#define FLAG_0x3AD 0x3AD
-#define FLAG_0x3AE 0x3AE
-#define FLAG_0x3AF 0x3AF
-#define FLAG_0x3B0 0x3B0
-#define FLAG_0x3B1 0x3B1
-#define FLAG_0x3B2 0x3B2
-#define FLAG_0x3B3 0x3B3
-#define FLAG_0x3B4 0x3B4
-#define FLAG_0x3B5 0x3B5
-#define FLAG_0x3B6 0x3B6
-#define FLAG_0x3B7 0x3B7
-#define FLAG_0x3B8 0x3B8
-#define FLAG_0x3B9 0x3B9
-#define FLAG_0x3BA 0x3BA
-#define FLAG_0x3BB 0x3BB
-#define FLAG_0x3BC 0x3BC
-#define FLAG_0x3BD 0x3BD
-#define FLAG_0x3BE 0x3BE
-#define FLAG_0x3BF 0x3BF
-#define FLAG_0x3C0 0x3C0
-#define FLAG_SPRITEVIS_SLATEPORT_MUSEUM_POPULATION 0x3C1
-#define FLAG_0x3C2 0x3C2
-#define FLAG_0x3C3 0x3C3
-#define FLAG_0x3C4 0x3C4
-#define FLAG_0x3C5 0x3C5
-#define FLAG_0x3C6 0x3C6
-#define FLAG_0x3C7 0x3C7
-#define FLAG_0x3C8 0x3C8
-#define FLAG_0x3C9 0x3C9
-#define FLAG_0x3CA 0x3CA
-#define FLAG_0x3CB 0x3CB
-#define FLAG_0x3CC 0x3CC
-#define FLAG_0x3CD 0x3CD
-#define FLAG_0x3CE 0x3CE
-#define FLAG_0x3CF 0x3CF
-#define FLAG_0x3D0 0x3D0
-#define FLAG_0x3D1 0x3D1
-#define FLAG_0x3D2 0x3D2
-#define FLAG_0x3D3 0x3D3
-#define FLAG_0x3D4 0x3D4
-#define FLAG_0x3D5 0x3D5
-#define FLAG_0x3D6 0x3D6
-#define FLAG_0x3D7 0x3D7
-#define FLAG_0x3D8 0x3D8
-#define FLAG_0x3D9 0x3D9
-#define FLAG_0x3DA 0x3DA
-#define FLAG_0x3DB 0x3DB
-#define FLAG_0x3DC 0x3DC
-#define FLAG_0x3DD 0x3DD
-#define FLAG_0x3DE 0x3DE
-#define FLAG_0x3DF 0x3DF
-#define FLAG_0x3E0 0x3E0
-#define FLAG_0x3E1 0x3E1
-#define FLAG_0x3E2 0x3E2
-#define FLAG_0x3E3 0x3E3
-#define FLAG_0x3E4 0x3E4
-#define FLAG_0x3E5 0x3E5
-#define FLAG_0x3E6 0x3E6
-#define FLAG_0x3E7 0x3E7
-#define FLAG_0x3E8 0x3E8
-#define FLAG_0x3E9 0x3E9
-#define FLAG_0x3EA 0x3EA
-#define FLAG_0x3EB 0x3EB
-#define FLAG_0x3EC 0x3EC
-#define FLAG_0x3ED 0x3ED
-#define FLAG_0x3EE 0x3EE
-#define FLAG_0x3EF 0x3EF
-#define FLAG_0x3F0 0x3F0
-#define FLAG_0x3F1 0x3F1
-#define FLAG_0x3F2 0x3F2
-#define FLAG_0x3F3 0x3F3
-#define FLAG_0x3F4 0x3F4
-#define FLAG_0x3F5 0x3F5
-#define FLAG_0x3F6 0x3F6
-#define FLAG_0x3F7 0x3F7
-#define FLAG_0x3F8 0x3F8
-#define FLAG_0x3F9 0x3F9
-#define FLAG_0x3FA 0x3FA
-#define FLAG_0x3FB 0x3FB
-#define FLAG_0x3FC 0x3FC
-#define FLAG_0x3FD 0x3FD
-#define FLAG_0x3FE 0x3FE
-#define FLAG_0x3FF 0x3FF
-#define FLAG_0x400 0x400
-#define FLAG_0x401 0x401
-#define FLAG_0x402 0x402
-#define FLAG_0x403 0x403
-#define FLAG_0x404 0x404
-#define FLAG_0x405 0x405
-#define FLAG_0x406 0x406
-#define FLAG_0x407 0x407
-#define FLAG_0x408 0x408
-#define FLAG_0x409 0x409
-#define FLAG_0x40A 0x40A
-#define FLAG_0x40B 0x40B
-#define FLAG_0x40C 0x40C
-#define FLAG_0x40D 0x40D
-#define FLAG_0x40E 0x40E
-#define FLAG_0x40F 0x40F
-#define FLAG_0x410 0x410
-#define FLAG_0x411 0x411
-#define FLAG_0x412 0x412
-#define FLAG_0x413 0x413
-#define FLAG_0x414 0x414
-#define FLAG_0x415 0x415
-#define FLAG_0x416 0x416
-#define FLAG_0x417 0x417
-#define FLAG_0x418 0x418
-#define FLAG_0x419 0x419
-#define FLAG_0x41A 0x41A
-#define FLAG_0x41B 0x41B
-#define FLAG_0x41C 0x41C
-#define FLAG_0x41D 0x41D
-#define FLAG_0x41E 0x41E
-#define FLAG_0x41F 0x41F
-#define FLAG_0x420 0x420
-#define FLAG_0x421 0x421
-#define FLAG_0x422 0x422
-#define FLAG_0x423 0x423
-#define FLAG_0x424 0x424
-#define FLAG_0x425 0x425
-#define FLAG_0x426 0x426
-#define FLAG_0x427 0x427
-#define FLAG_0x428 0x428
-#define FLAG_0x429 0x429
-#define FLAG_0x42A 0x42A
-#define FLAG_0x42B 0x42B
-#define FLAG_0x42C 0x42C
-#define FLAG_0x42D 0x42D
-#define FLAG_0x42E 0x42E
-#define FLAG_0x42F 0x42F
-#define FLAG_0x430 0x430
-#define FLAG_0x431 0x431
-#define FLAG_0x432 0x432
-#define FLAG_0x433 0x433
-#define FLAG_0x434 0x434
-#define FLAG_0x435 0x435
-#define FLAG_0x436 0x436
-#define FLAG_0x437 0x437
-#define FLAG_0x438 0x438
-#define FLAG_0x439 0x439
-#define FLAG_0x43A 0x43A
-#define FLAG_0x43B 0x43B
-#define FLAG_0x43C 0x43C
-#define FLAG_0x43D 0x43D
-#define FLAG_0x43E 0x43E
-#define FLAG_0x43F 0x43F
-#define FLAG_0x440 0x440
-#define FLAG_0x441 0x441
-#define FLAG_0x442 0x442
-#define FLAG_0x443 0x443
-#define FLAG_0x444 0x444
-#define FLAG_0x445 0x445
-#define FLAG_0x446 0x446
-#define FLAG_0x447 0x447
-#define FLAG_0x448 0x448
-#define FLAG_0x449 0x449
-#define FLAG_0x44A 0x44A
-#define FLAG_0x44B 0x44B
-#define FLAG_0x44C 0x44C
-#define FLAG_0x44D 0x44D
-#define FLAG_0x44E 0x44E
-#define FLAG_0x44F 0x44F
-#define FLAG_0x450 0x450
-#define FLAG_0x451 0x451
-#define FLAG_0x452 0x452
-#define FLAG_0x453 0x453
-#define FLAG_0x454 0x454
-#define FLAG_0x455 0x455
-#define FLAG_0x456 0x456
-#define FLAG_0x457 0x457
-#define FLAG_0x458 0x458
-#define FLAG_0x459 0x459
-#define FLAG_0x45A 0x45A
-#define FLAG_0x45B 0x45B
-#define FLAG_0x45C 0x45C
-#define FLAG_0x45D 0x45D
-#define FLAG_0x45E 0x45E
-#define FLAG_0x45F 0x45F
-#define FLAG_0x460 0x460
-#define FLAG_0x461 0x461
-#define FLAG_0x462 0x462
-#define FLAG_0x463 0x463
-#define FLAG_0x464 0x464
-#define FLAG_0x465 0x465
-#define FLAG_0x466 0x466
-#define FLAG_0x467 0x467
-#define FLAG_0x468 0x468
-#define FLAG_0x469 0x469
-#define FLAG_0x46A 0x46A
-#define FLAG_0x46B 0x46B
-#define FLAG_0x46C 0x46C
-#define FLAG_0x46D 0x46D
-#define FLAG_0x46E 0x46E
-#define FLAG_0x46F 0x46F
-#define FLAG_0x470 0x470
-#define FLAG_0x471 0x471
-#define FLAG_0x472 0x472
-#define FLAG_0x473 0x473
-#define FLAG_0x474 0x474
-#define FLAG_0x475 0x475
-#define FLAG_0x476 0x476
-#define FLAG_0x477 0x477
-#define FLAG_0x478 0x478
-#define FLAG_0x479 0x479
-#define FLAG_0x47A 0x47A
-#define FLAG_0x47B 0x47B
-#define FLAG_0x47C 0x47C
-#define FLAG_0x47D 0x47D
-#define FLAG_0x47E 0x47E
-#define FLAG_0x47F 0x47F
-#define FLAG_0x480 0x480
-#define FLAG_0x481 0x481
-#define FLAG_0x482 0x482
-#define FLAG_0x483 0x483
-#define FLAG_0x484 0x484
-#define FLAG_0x485 0x485
-#define FLAG_0x486 0x486
-#define FLAG_0x487 0x487
-#define FLAG_0x488 0x488
-#define FLAG_0x489 0x489
-#define FLAG_0x48A 0x48A
-#define FLAG_0x48B 0x48B
-#define FLAG_0x48C 0x48C
-#define FLAG_0x48D 0x48D
-#define FLAG_0x48E 0x48E
-#define FLAG_0x48F 0x48F
-#define FLAG_0x490 0x490
-#define FLAG_0x491 0x491
-#define FLAG_0x492 0x492
+#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x08)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_GREEN_SHARD (FLAG_HIDDEN_ITEMS_START + 0x09)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0A)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x0B)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x0D)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x24)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_1_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x26)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x0E)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x0F)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x10)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_PEARL (FLAG_HIDDEN_ITEMS_START + 0x11)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_IRON (FLAG_HIDDEN_ITEMS_START + 0x13)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_YELLOW_SHARD (FLAG_HIDDEN_ITEMS_START + 0x12)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x14)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_2_BLUE_SHARD (FLAG_HIDDEN_ITEMS_START + 0x0C)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_3_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0x15)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x16)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_3_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x17)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_3_RED_SHARD (FLAG_HIDDEN_ITEMS_START + 0x18)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x19)
+#define FLAG_HIDDEN_ITEM_UNDERWATER_4_PEARL (FLAG_HIDDEN_ITEMS_START + 0x1A)
+#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C)
+#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0x00)
+#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F)
+#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20)
+#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21)
+#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY (FLAG_HIDDEN_ITEMS_START + 0x22)
+#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x65)
+#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC (FLAG_HIDDEN_ITEMS_START + 0x66)
+#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x67)
+#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON (FLAG_HIDDEN_ITEMS_START + 0x68)
+#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 (FLAG_HIDDEN_ITEMS_START + 0x30)
+#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 (FLAG_HIDDEN_ITEMS_START + 0x31)
+#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x4C)
+#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x4D)
+#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B)
+#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x2B)
+#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x4B)
+#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D)
+#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x4E)
+#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC (FLAG_HIDDEN_ITEMS_START + 0x4F)
+#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x50)
+#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0x6D)
+#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x5F)
+#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION (FLAG_HIDDEN_ITEMS_START + 0x3A)
+#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 (FLAG_HIDDEN_ITEMS_START + 0x3B)
+#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0x3C)
+#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3D)
+#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0x52)
+#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0x53)
+#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6A)
+#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC (FLAG_HIDDEN_ITEMS_START + 0x6B)
+#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x6C)
+#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0x69)
+#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0x23)
+#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x51)
+#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2C)
+#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3E)
+#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION (FLAG_HIDDEN_ITEMS_START + 0x25)
+#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0x55)
+#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x58)
+#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x59)
+#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0x6F)
+#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x3F)
+#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x2E)
+#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x2F)
+#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x56)
+#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x32)
+#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x34)
+#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x33)
+#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER (FLAG_HIDDEN_ITEMS_START + 0x40)
+#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5A)
+#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5B)
+#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x36)
+#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0x35)
+#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0x41)
+#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x37)
+#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST (FLAG_HIDDEN_ITEMS_START + 0x02)
+#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0x38)
+#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x39)
+#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER (FLAG_HIDDEN_ITEMS_START + 0x03)
+#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_32 (FLAG_HIDDEN_ITEMS_START + 0x1E)
+#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x62)
+#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS (FLAG_HIDDEN_ITEMS_START + 0x04)
+#define FLAG_HIDDEN_ITEM_ROUTE_113_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x2A)
+#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x61)
+#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x2D)
+#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES (FLAG_HIDDEN_ITEMS_START + 0x60)
+#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL (FLAG_HIDDEN_ITEMS_START + 0x48)
+#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x42)
+#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON (FLAG_HIDDEN_ITEMS_START + 0x43)
+#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0x05)
+#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x06)
+#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x44)
+#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0x57)
+#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 (FLAG_HIDDEN_ITEMS_START + 0x47)
+#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x54)
+#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 (FLAG_HIDDEN_ITEMS_START + 0x45)
+#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC (FLAG_HIDDEN_ITEMS_START + 0x46)
+#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP (FLAG_HIDDEN_ITEMS_START + 0x27)
+#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x28)
+#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0x49)
+#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x64)
+#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL (FLAG_HIDDEN_ITEMS_START + 0x07)
+#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE (FLAG_HIDDEN_ITEMS_START + 0x29)
+#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0x4A)
+#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP (FLAG_HIDDEN_ITEMS_START + 0x63)
+#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0x6E)
+#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0x5C)
+#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D)
+#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E)
+
+// Event Flags
+#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x2BC
+#define FLAG_HIDE_APPRENTICE 0x2BD
+#define FLAG_HIDE_POKEMON_CENTER_2F_MYSTERY_GIFT_MAN 0x2BE
+#define FLAG_HIDE_UNION_ROOM_PLAYER_1 0x2BF
+#define FLAG_HIDE_UNION_ROOM_PLAYER_2 0x2C0
+#define FLAG_HIDE_UNION_ROOM_PLAYER_3 0x2C1
+#define FLAG_HIDE_UNION_ROOM_PLAYER_4 0x2C2
+#define FLAG_HIDE_UNION_ROOM_PLAYER_5 0x2C3
+#define FLAG_HIDE_UNION_ROOM_PLAYER_6 0x2C4
+#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x2C5
+#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x2C6
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 0x2C7
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 0x2C8
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 0x2C9
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 0x2CA
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 0x2CB
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 0x2CC
+#define FLAG_HIDE_SAFARI_ZONE_SOUTH_CONSTRUCTION_WORKERS 0x2CD
+#define FLAG_HIDE_MEW 0x2CE
+#define FLAG_HIDE_ROUTE_104_RIVAL 0x2CF
+#define FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE 0x2D0
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH 0x2D1
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM 0x2D2
+#define FLAG_HIDE_ROUTE_103_RIVAL 0x2D3
+#define FLAG_HIDE_PETALBURG_WOODS_DEVON_EMPLOYEE 0x2D4
+#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT 0x2D5
+#define FLAG_HIDE_PETALBURG_CITY_WALLY 0x2D6
+#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY 0x2D7
+#define FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT 0x2D8
+#define FLAG_UNUSED_0x2D9 0x2D9
+#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER 0x2DA
+#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT 0x2DB
+#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 0x2DC
+#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2 0x2DD
+#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0
+#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY 0x2E1
+#define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x2E2
+#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x2E3
+#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x2E4
+#define FLAG_HIDE_ROUTE_108_MR_BRINEY 0x2E5
+#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x2E6
+#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x2E7
+#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x2E8
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x2E9
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN 0x2EA
+#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x2EB
+#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER 0x2EC
+#define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x2ED
+#define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x2EE
+#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x2EF
+#define FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE 0x2F0
+#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_STEVEN 0x2F1
+#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1 0x2F2
+#define FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 0x2F3
+#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_1F_TEAM_MAGMA 0x2F4
+#define FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM 0x2F5
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_MOM 0x2F6
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MOM 0x2F7
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM 0x2F8
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK 0x2F9
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK 0x2FA
+#define FLAG_HIDE_DEOXYS 0x2FB
+#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x2FC
+#define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x2FD
+#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x2FE
+#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF
+#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x300
+#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x301
+#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302
+#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE 0x303
+#define FLAG_HIDE_PETALYBURG_GYM_NORMAN 0x304
+#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2 0x305
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 0x306
+#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR 0x307
+#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 0x308
+#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_2 0x309
+#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_3 0x30A
+#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_4 0x30B
+#define FLAG_HIDE_LILYCOVE_MUSEUM_TOURISTS 0x30C
+#define FLAG_HIDE_PETALBURG_GYM_GREETER 0x30D
+#define FLAG_HIDE_MARINE_CAVE_KYOGRE 0x30E
+#define FLAG_HIDE_TERRA_CAVE_GROUDON 0x30F
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM 0x310
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM 0x311
+#define FLAG_HIDE_ROUTE_119_SCOTT 0x312
+#define FLAG_HIDE_LILCOVE_MOTEL_SCOTT 0x313
+#define FLAG_HIDE_MOSSDEEP_CITY_SCOTT 0x314
+#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315
+#define FLAG_HIDE_FANCLUB_BOY 0x316
+#define FLAG_HIDE_FANCLUB_LITTLE_BOY 0x317
+#define FLAG_HIDE_FANCLUB_LADY 0x318
+#define FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT 0x319
+#define FLAG_HIDE_LITTLEROOT_TOWN_RIVAL 0x31A
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCH 0x31B
+#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_1 0x31C
+#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_1 0x31D
+#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_1 0x31E
+#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_3 0x31F
+#define FLAG_HIDE_LUGIA 0x320
+#define FLAG_HIDE_HOOH 0x321
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER 0x322
+#define FLAG_HIDE_SLATEPORT_CITY_CONTEST_REPORTER 0x323
+#define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x324
+#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x325
+#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x326
+#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN 0x327
+#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN 0x328
+#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x329
+#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x32A
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x32B
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x32C
+#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x32D
+#define FLAG_HIDE_RUSBORO_CITY_RIVAL 0x32E
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x32F
+#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x330
+#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x331
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL 0x332
+#define FLAG_HIDE_ROUTE_112_TEAM_MAGMA 0x333
+#define FLAG_HIDE_CAVE_OF_ORIGIN_B1F_WALLACE 0x334
+#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE 0x335
+#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336
+#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337
+#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338
+#define FLAG_UNUSED_0x339 0x339
+#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A
+#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B
+#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C
+#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D
+#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E
+#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS 0x340
+#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341
+#define FLAG_HIDE_ROUTE_128_STEVEN 0x342
+#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x343
+#define FLAG_HIDE_BATTLE_FRONTIER_RECEPTION_GATE_SCOTT 0x344
+#define FLAG_HIDE_ROUTE_110_BIRCH 0x345
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA 0x346
+#define FLAG_HIDE_SOOTOPOLIS_CITY_MAN_1 0x347
+#define FLAG_HIDE_SLATEPORT_CITY_CAPTAIN_STERN 0x348
+#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN 0x349
+#define FLAG_HIDE_BATTLE_FRONTIER_SUDOWOODO 0x34A
+#define FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY 0x34B
+#define FLAG_HIDE_RUSTBORO_CITY_SCIENTIST 0x34C
+#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_AQUA_GRUNT 0x34D
+#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_ARCHIE 0x34E
+#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD 0x34F
+#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW 0x350
+#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL 0x351
+#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2 0x352
+#define FLAG_HIDE_ROUTE_119_RIVAL 0x353
+#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS 0x354
+#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 0x355
+#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS 0x356
+#define FLAG_HIDE_SKY_PILLAR_WALLACE 0x357
+#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE 0x358
+#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS 0x359
+#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY 0x35A
+#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 0x35B
+#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL 0x35C
+#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL 0x35D
+#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA 0x35E
+#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_STEVEN 0x35F
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 0x360
+#define FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 0x361
+#define FLAG_HIDE_PETALBURG_GYM_WALLY 0x362
+#define FLAG_UNKNOWN_0x363 0x363
+#define FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN 0x364
+#define FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY 0x365
+#define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366
+#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367
+#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT 0x369
+#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A
+#define FLAG_HIDE_ROUTE_111_DESERT_RIVAL 0x36B
+#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x36C
+#define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x36D
+#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x36E
+#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN 0x36F
+#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x370
+#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x371
+#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x372
+#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS 0x373
+#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_1 0x374
+#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_AQUA_GRUNT_2 0x375
+#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_ARCHIE 0x376
+#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_2F_CAPTAIN_STERN 0x377
+#define FLAG_HIDE_BATTLE_TOWER_OPPONENT 0x378
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL 0x379
+#define FLAG_HIDE_ROUTE_119_TEAM_AQUA 0x37A
+#define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B
+#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C
+#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D
+#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E
+#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F
+#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380
+#define FLAG_HIDE_ROUTE_101_BIRCH 0x381
+#define FLAG_HIDE_ROUTE_103_BIRCH 0x382
+#define FLAG_HIDE_TRICK_HOUSE_END_MAN 0x383
+#define FLAG_HIDE_ROUTE_110_TEAM_AQUA 0x384
+#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_2 0x385
+#define FLAG_HIDE_ROUTE_120_GABBY_AND_TY_2 0x386
+#define FLAG_HIDE_ROUTE_111_GABBY_AND_TY_2 0x387
+#define FLAG_HIDE_ROUTE_118_GABBY_AND_TY_3 0x388
+#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS 0x389
+#define FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST 0x38A
+#define FLAG_HIDE_FALLARBOR_AZURILL 0x38B
+#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_ATTENDANT 0x38C
+#define FLAG_HIDE_LILYCOVE_HARBOR_FERRY_SAILOR 0x38D
+#define FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE 0x38E
+#define FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON 0x38F
+#define FLAG_HIDE_MAUVILLE_CITY_WATTSON 0x390
+#define FLAG_HIDE_MAUVILLE_GYM_WATTSON 0x391
+#define FLAG_0x392 0x392
+#define FLAG_0x393 0x393
+#define FLAG_HIDE_MT_PYRE_SUMMIT_ARCHIE 0x394
+#define FLAG_HIDE_MT_PYRE_SUMMIT_TEAM_AQUA 0x395
+#define FLAG_HIDE_BATTLE_TOWER_REPORTER 0x396
+#define FLAG_HIDE_ROUTE_110_RIVAL_1 0x397
+#define FLAG_HIDE_CHAMPIONS_ROOM_RIVAL 0x398
+#define FLAG_HIDE_CHAMPIONS_ROOM_BIRCH 0x399
+#define FLAG_HIDE_ROUTE_110_RIVAL_2 0x39A
+#define FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE 0x39B
+#define FLAG_HIDE_AQUA_HIDEOUT_GRUNTS 0x39C
+#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D
+#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E
+#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F
+#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0
+#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1
+#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2
+#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3
+#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4
+#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x3A5
+#define FLAG_HIDE_MOSSDEEP_CITY_HOUSE_2_WINGULL 0x3A6
+#define FLAG_HIDE_REGIROCK 0x3A7
+#define FLAG_HIDE_REGICE 0x3A8
+#define FLAG_HIDE_REGISTEEL 0x3A9
+#define FLAG_HIDE_METEOR_FALLS_TEAM_AQUA 0x3AA
+#define FLAG_HIDE_METEOR_FALLS_TEAM_MAGMA 0x3AB
+#define FLAG_HIDE_DEWFORD_HALL_SLUDGE_BOMB_MAN 0x3AC
+#define FLAG_HIDE_SEAFLOOR_CAVERN_ENTRANCE_AQUA_GRUNT 0x3AD
+#define FLAG_HIDE_METEOR_FALLS_1F_1R_COZMO 0x3AE
+#define FLAG_HIDE_AQUA_HIDEOUT_B2F_SUBMARINE_SHADOW 0x3AF
+#define FLAG_HIDE_ROUTE_128_ARCHIE 0x3B0
+#define FLAG_HIDE_ROUTE_128_MAXIE 0x3B1
+#define FLAG_HIDE_SEAFLOOR_CAVERN_AQUA_GRUNTS 0x3B2
+#define FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE 0x3B3
+#define FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN 0x3B4
+#define FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE 0x3B5
+#define FLAG_HIDE_SS_TIDAL_CORRIDOR_MR_BRINEY 0x3B6
+#define FLAG_HIDE_SS_TIDAL_ROOMS_SNATCH_GIVER 0x3B7
+#define FLAG_0x3B8 0x3B8
+#define FLAG_0x3B9 0x3B9
+#define FLAG_0x3BA 0x3BA
+#define FLAG_0x3BB 0x3BB
+#define FLAG_0x3BC 0x3BC
+#define FLAG_0x3BD 0x3BD
+#define FLAG_0x3BE 0x3BE
+#define FLAG_0x3BF 0x3BF
+#define FLAG_HIDE_ROUTE_111_SECRET_POWER_MAN 0x3C0
+#define FLAG_HIDE_SLATEPORT_MUSEUM_POPULATION 0x3C1
+#define FLAG_HIDE_LILYCOVE_DEPARTMENT_STORE_ROOFTOP_SALE_WOMAN 0x3C2
+#define FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL 0x3C3
+#define FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL 0x3C4
+#define FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_FAMILIAR_AQUA_GRUNT 0x3C5
+#define FLAG_HIDE_ROUTE_118_STEVEN 0x3C6
+#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7
+#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8
+#define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9
+#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA
+#define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB
+#define FLAG_0x3CC 0x3CC
+#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD
+#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_1 0x3CE
+#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_2 0x3CF
+#define FLAG_HIDE_NEW_MAUVILLE_VOLTORB_3 0x3D0
+#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_1 0x3D1
+#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2
+#define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3
+#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4
+#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5
+#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6
+#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7
+#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8
+#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9
+#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA
+#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB
+#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC
+#define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD
+#define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE
+#define FLAG_HIDE_ROUTE_101_BOY 0x3DF
+#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x3E0
+#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY 0x3E1
+#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x3E2
+#define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x3E3
+#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x3E4
+#define FLAG_HIDE_SOOTOPOLIS_CITY_KYOGRE 0x3E5
+#define FLAG_HIDE_SOOTOPOLIS_CITY_GROUDON 0x3E6
+#define FLAG_HIDE_RUSTBORO_CITY_POKEMON_SCHOOL_SCOTT 0x3E7
+
+// Item Ball Flags
+#define FLAG_ITEM_ROUTE_102_POTION 0x3E8
+#define FLAG_ITEM_ROUTE_116_X_SPECIAL 0x3E9
+#define FLAG_ITEM_ROUTE_104_PP_UP 0x3EA
+#define FLAG_ITEM_ROUTE_105_IRON 0x3EB
+#define FLAG_ITEM_ROUTE_106_PROTEIN 0x3EC
+#define FLAG_ITEM_ROUTE_109_PP_UP 0x3ED
+#define FLAG_ITEM_ROUTE_109_RARE_CANDY 0x3EE
+#define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x3EF
+#define FLAG_ITEM_ROUTE_111_TM_37 0x3F0
+#define FLAG_ITEM_ROUTE_111_STARDUST 0x3F1
+#define FLAG_ITEM_ROUTE_111_HP_UP 0x3F2
+#define FLAG_ITEM_ROUTE_112_NUGGET 0x3F3
+#define FLAG_ITEM_ROUTE_113_MAX_ETHER 0x3F4
+#define FLAG_ITEM_ROUTE_113_SUPER_REPEL 0x3F5
+#define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x3F6
+#define FLAG_ITEM_ROUTE_114_PROTEIN 0x3F7
+#define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x3F8
+#define FLAG_ITEM_ROUTE_115_TM_01 0x3F9
+#define FLAG_ITEM_ROUTE_115_IRON 0x3FA
+#define FLAG_ITEM_ROUTE_116_ETHER 0x3FB
+#define FLAG_ITEM_ROUTE_116_REPEL 0x3FC
+#define FLAG_ITEM_ROUTE_116_HP_UP 0x3FD
+#define FLAG_ITEM_ROUTE_117_GREAT_BALL 0x3FE
+#define FLAG_ITEM_ROUTE_117_REVIVE 0x3FF
+#define FLAG_ITEM_ROUTE_119_SUPER_REPEL 0x400
+#define FLAG_ITEM_ROUTE_119_ZINC 0x401
+#define FLAG_ITEM_ROUTE_119_ELIXIR_1 0x402
+#define FLAG_ITEM_ROUTE_119_LEAF_STONE 0x403
+#define FLAG_ITEM_ROUTE_119_RARE_CANDY 0x404
+#define FLAG_ITEM_ROUTE_119_HYPER_POTION_1 0x405
+#define FLAG_ITEM_ROUTE_120_NUGGET 0x406
+#define FLAG_ITEM_ROUTE_120_FULL_HEAL 0x407
+#define FLAG_ITEM_ROUTE_123_CALCIUM 0x408
+#define FLAG_UNUSED_0x409 0x409
+#define FLAG_ITEM_ROUTE_127_ZINC 0x40A
+#define FLAG_ITEM_ROUTE_127_CARBOS 0x40B
+#define FLAG_ITEM_ROUTE_132_RARE_CANDY 0x40C
+#define FLAG_ITEM_ROUTE_133_BIG_PEARL 0x40D
+#define FLAG_ITEM_ROUTE_133_STAR_PIECE 0x40E
+#define FLAG_ITEM_PETALBURG_CITY_MAX_REVIVE 0x40F
+#define FLAG_ITEM_PETALBURG_CITY_ETHER 0x410
+#define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x411
+#define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x412
+#define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x413
+#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_23 0x414
+#define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x415
+#define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x416
+#define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x417
+#define FLAG_ITEM_RUSTURF_TUNNEL_POKE_BALL 0x418
+#define FLAG_ITEM_RUSTURF_TUNNEL_MAX_ETHER 0x419
+#define FLAG_ITEM_GRANITE_CAVE_1F_ESCAPE_ROPE 0x41A
+#define FLAG_ITEM_GRANITE_CAVE_B1F_POKE_BALL 0x41B
+#define FLAG_ITEM_MT_PYRE_5F_LAX_INCENSE 0x41C
+#define FLAG_ITEM_GRANITE_CAVE_B2F_REPEL 0x41D
+#define FLAG_ITEM_GRANITE_CAVE_B2F_RARE_CANDY 0x41E
+#define FLAG_ITEM_PETALBURG_WOODS_X_ATTACK 0x41F
+#define FLAG_ITEM_PETALBURG_WOODS_GREAT_BALL 0x420
+#define FLAG_ITEM_ROUTE_104_POKE_BALL 0x421
+#define FLAG_ITEM_PETALBURG_WOODS_ETHER 0x422
+#define FLAG_ITEM_MAGMA_HIDEOUT_3F_3R_ECAPE_ROPE 0x423
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_1_ORANGE_MAIL 0x424
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_HARBOR_MAIL 0x425
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_2_WAVE_MAIL 0x426
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_SHADOW_MAIL 0x427
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_3_WOOD_MAIL 0x428
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_4_MECH_MAIL 0x429
+#define FLAG_ITEM_ROUTE_124_YELLOW_SHARD 0x42A
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_6_GLITTER_MAIL 0x42B
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_7_TROPIC_MAIL 0x42C
+#define FLAG_ITEM_TRICK_HOUSE_PUZZLE_8_BEAD_MAIL 0x42D
+#define FLAG_ITEM_JAGGED_PASS_BURN_HEAL 0x42E
+#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x42F
+#define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x430
+#define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x431
+#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_48 0x432
+#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433
+#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434
+#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435
+#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER 0x436
+#define FLAG_ITEM_SCORCHED_SLAB_TM_11 0x437
+#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_02 0x438
+#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439
+#define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x43A
+#define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x43B
+#define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x43C
+#define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x43D
+#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_29 0x43E
+#define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x43F
+#define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x440
+#define FLAG_ITEM_MT_PYRE_6F_TM_30 0x441
+#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_26 0x442
+#define FLAG_ITEM_FIERY_PATH_TM06 0x443
+#define FLAG_ITEM_ROUTE_124_RED_SHARD 0x444
+#define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x445
+#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_22 0x446
+#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x447
+#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x448
+#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x449
+#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_13 0x44A
+#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x44B
+#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x44C
+#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D
+#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_18 0x44E
+#define FLAG_ITEM_ROUTE_121_CARBOS 0x44F
+#define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x450
+#define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x451
+#define FLAG_ITEM_ROUTE_119_HYPER_POTION_2 0x452
+#define FLAG_ITEM_ROUTE_120_HYPER_POTION 0x453
+#define FLAG_ITEM_ROUTE_120_NEST_BALL 0x454
+#define FLAG_ITEM_ROUTE_123_ELIXIR 0x455
+#define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x456
+#define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x457
+#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_07 0x458
+#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x459
+#define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x45A
+#define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x45B
+#define FLAG_ITEM_MAUVILLE_CITY_X_SPEED 0x45C
+#define FLAG_ITEM_PETALBURD_WOODS_PARALYZE_HEAL 0x45D
+#define FLAG_ITEM_ROUTE_115_GREAT_BALL 0x45E
+#define FLAG_ITEM_SAFARI_ZONE_NORTH_CALCIUM 0x45F
+#define FLAG_ITEM_MT_PYRE_3F_SUPER_REPEL 0x460
+#define FLAG_ITEM_ROUTE_118_HYPER_POTION 0x461
+#define FLAG_ITEM_NEW_MAUVILLE_FULL_HEAL 0x462
+#define FLAG_ITEM_NEW_MAUVILLE_PARALYZE_HEAL 0x463
+#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MASTER_BALL 0x464
+#define FLAG_UNUSED_0x465 0x465
+#define FLAG_UNUSED_0x466 0x466
+#define FLAG_UNUSED_0x467 0x467
+#define FLAG_UNUSED_0x468 0x468
+#define FLAG_ITEM_MT_PYRE_2F_ULTRA_BALL 0x469
+#define FLAG_ITEM_MT_PYRE_4F_SEA_INCENSE 0x46A
+#define FLAG_ITEM_SAFARI_ZONE_SOUTH_WEST_MAX_REVIVE 0x46B
+#define FLAG_ITEM_AQUA_HIDEOUT_B1F_NUGGET 0x46C
+#define FLAG_UNUSED_0x46D 0x46D
+#define FLAG_ITEM_ROUTE_119_NUGGET 0x46E
+#define FLAG_ITEM_ROUTE_104_POTION 0x46F
+#define FLAG_UNUSED_0x470 0x470
+#define FLAG_ITEM_ROUTE_103_PP_UP 0x471
+#define FLAG_UNUSED_0x472 0x472
+#define FLAG_ITEM_ROUTE_108_STAR_PIECE 0x473
+#define FLAG_0x474 0x474
+#define FLAG_ITEM_ROUTE_110_ELIXIR 0x475
+#define FLAG_ITEM_ROUTE_111_ELIXIR 0x476
+#define FLAG_ITEM_ROUTE_113_HYPER_POTION 0x477
+#define FLAG_ITEM_ROUTE_115_HEAL_POWDER 0x478
+#define FLAG_UNUSED_0x479 0x479
+#define FLAG_ITEM_ROUTE_116_POTION 0x47A
+#define FLAG_ITEM_ROUTE_119_ELIXIR_2 0x47B
+#define FLAG_ITEM_ROUTE_120_REVIVE 0x47C
+#define FLAG_ITEM_ROUTE_121_REVIVE 0x47D
+#define FLAG_ITEM_ROUTE_121_ZINC 0x47E
+#define FLAG_ITEM_MAGMA_HIDEOUT_1F_RARE_CANDY 0x47F
+#define FLAG_ITEM_ROUTE_123_PP_UP 0x480
+#define FLAG_ITEM_ROUTE_123_REVIVAL_HERB 0x481
+#define FLAG_ITEM_ROUTE_125_BIG_PEARL 0x482
+#define FLAG_ITEM_ROUTE_127_RARE_CANDY 0x483
+#define FLAG_ITEM_ROUTE_132_PROTEIN 0x484
+#define FLAG_ITEM_ROUTE_133_MAX_REVIVE 0x485
+#define FLAG_ITEM_ROUTE_134_CARBOS 0x486
+#define FLAG_ITEM_ROUTE_134_STAR_PIECE 0x487
+#define FLAG_ITEM_ROUTE_114_ENERGY_POWDER 0x488
+#define FLAG_ITEM_ROUTE_115_PP_UP 0x489
+#define FLAG_ITEM_ARTISAN_CAVE_B1F_HP_UP 0x48A
+#define FLAG_ITEM_ARTISAN_CAVE_1F_CARBOS 0x48B
+#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_MAX_ELIXIR 0x48C
+#define FLAG_ITEM_MAGMA_HIDEOUT_2F_2R_FULL_RESTORE 0x48D
+#define FLAG_ITEM_MAGMA_HIDEOUT_3F_1R_NUGGET 0x48E
+#define FLAG_ITEM_MAGMA_HIDEOUT_3F_2R_PP_MAX 0x48F
+#define FLAG_ITEM_MAGMA_HIDEOUT_4F_MAX_REVIVE 0x490
+#define FLAG_ITEM_SAFARI_ZONE_NORTH_EAST_NUGGET 0x491
+#define FLAG_ITEM_SAFARI_ZONE_SOUTH_EAST_BIG_PEARL 0x492
+
+
#define FLAG_0x493 0x493
#define FLAG_0x494 0x494
#define FLAG_0x495 0x495
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index 78c1583b4..f63d755ad 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -2,6 +2,7 @@
#define GUARD_CONSTANTS_POKEMON_H
// Pokemon types
+#define TYPE_NONE 0xFF
#define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01
#define TYPE_FLYING 0x02
@@ -22,6 +23,7 @@
#define TYPE_DARK 0x11
#define NUMBER_OF_MON_TYPES 0x12
+
// Pokemon egg groups
#define EGG_GROUP_NONE 0
#define EGG_GROUP_MONSTER 1
@@ -74,7 +76,10 @@
#define STAT_SPEED 3
#define STAT_SPATK 4
#define STAT_SPDEF 5
-#define STAT_ACC 6 // only in battles
-#define STAT_EVASION 7 // only in battles
+#define STAT_ACC 6 // Only in battles.
+#define STAT_EVASION 7 // Only in battles.
+
+#define NUM_STATS 6
+#define NUM_BATTLE_STATS 8
#endif // GUARD_CONSTANTS_POKEMON_H
diff --git a/include/constants/species.h b/include/constants/species.h
index cd9b13743..02e5ea396 100644
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -449,6 +449,7 @@
// National Dex Index Defines
+#define NATIONAL_DEX_NONE 0
#define NATIONAL_DEX_BULBASAUR 1
#define NATIONAL_DEX_IVYSAUR 2
#define NATIONAL_DEX_VENUSAUR 3
@@ -865,6 +866,7 @@
// Hoenn Dex Index Defines
+#define HOENN_DEX_NONE 0
#define HOENN_DEX_BULBASAUR 203
#define HOENN_DEX_IVYSAUR 204
#define HOENN_DEX_VENUSAUR 205
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index f79216d94..cf6eaf929 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -4,17 +4,20 @@
#include "constants/opponents.h"
// Special Trainer Ids.
-#define TRAINER_FRONTIER_BRAIN 1022
-#define TRAINER_PLAYER 1023
-#define TRAINER_SECRET_BASE 1024
-#define TRAINER_LINK_OPPONENT 2048
-#define TRAINER_OPPONENT_C00 3072
-#define TRAINER_STEVEN_PARTNER 3075
+#define TRAINER_RECORD_MIXING_FRIEND 300
+#define TRAINER_RECORD_MIXING_APPRENTICE 400
+#define TRAINER_EREADER 500
+#define TRAINER_FRONTIER_BRAIN 1022
+#define TRAINER_PLAYER 1023
+#define TRAINER_SECRET_BASE 1024
+#define TRAINER_LINK_OPPONENT 2048
+#define TRAINER_OPPONENT_C00 3072
+#define TRAINER_STEVEN_PARTNER 3075
#define TRAINER_PIC_HIKER 0
#define TRAINER_PIC_AQUA_GRUNT_M 1
#define TRAINER_PIC_POKEMON_BREEDER_F 2
-#define TRAINER_PIC_COOL_TRAINER_M 3
+#define TRAINER_PIC_COOLTRAINER_M 3
#define TRAINER_PIC_BIRD_KEEPER 4
#define TRAINER_PIC_COLLECTOR 5
#define TRAINER_PIC_AQUA_GRUNT_F 6
@@ -31,7 +34,7 @@
#define TRAINER_PIC_INTERVIEWER 17
#define TRAINER_PIC_TUBER_F 18
#define TRAINER_PIC_TUBER_M 19
-#define TRAINER_PIC_COOL_TRAINER_F 20
+#define TRAINER_PIC_COOLTRAINER_F 20
#define TRAINER_PIC_LADY 21
#define TRAINER_PIC_BEAUTY 22
#define TRAINER_PIC_RICH_BOY 23
@@ -62,8 +65,8 @@
#define TRAINER_PIC_SCHOOL_KID_M 48
#define TRAINER_PIC_SCHOOL_KID_F 49
#define TRAINER_PIC_SR_AND_JR 50
-#define TRAINER_PIC_WINSTRATE_M 51
-#define TRAINER_PIC_WINSTRATE_F 52
+#define TRAINER_PIC_POKEFAN_M 51
+#define TRAINER_PIC_POKEFAN_F 52
#define TRAINER_PIC_YOUNGSTER 53
#define TRAINER_PIC_CHAMPION_WALLACE 54
#define TRAINER_PIC_FISHERMAN 55
@@ -102,8 +105,8 @@
#define TRAINER_PIC_PYRAMID_KING_BRANDON 88
#define TRAINER_PIC_RED 89
#define TRAINER_PIC_LEAF 90
-#define TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN 91
-#define TRAINER_PIC_RUBY_SAPPHIRE_MAY 92
+#define TRAINER_PIC_RS_BRENDAN 91
+#define TRAINER_PIC_RS_MAY 92
#define TRAINER_BACK_PIC_BRENDAN 0
#define TRAINER_BACK_PIC_MAY 1
@@ -114,95 +117,95 @@
#define TRAINER_BACK_PIC_WALLY 6
#define TRAINER_BACK_PIC_STEVEN 7
-#define FACILITY_CLASS_HIKER 0x0
-#define FACILITY_CLASS_TEAM_AQUA_1 0x1
-#define FACILITY_CLASS_PKMN_BREEDER_1 0x2
-#define FACILITY_CLASS_COOLTRAINER_M 0x3
-#define FACILITY_CLASS_BIRD_KEEPER 0x4
-#define FACILITY_CLASS_COLLECTOR 0x5
-#define FACILITY_CLASS_TEAM_AQUA_2 0x6
-#define FACILITY_CLASS_SWIMMER_M 0x7
-#define FACILITY_CLASS_TEAM_MAGMA_1 0x8
-#define FACILITY_CLASS_EXPERT_M 0x9
-#define FACILITY_CLASS_BLACK_BELT 0xa
-#define FACILITY_CLASS_AQUA_LEADER 0xb
-#define FACILITY_CLASS_HEX_MANIAC 0xc
-#define FACILITY_CLASS_AROMA_LADY 0xd
-#define FACILITY_CLASS_RUIN_MANIAC 0xe
-#define FACILITY_CLASS_INTERVIEWER 0xf
-#define FACILITY_CLASS_TUBER_1 0x10
-#define FACILITY_CLASS_TUBER_2 0x11
-#define FACILITY_CLASS_COOLTRAINER_F 0x12
-#define FACILITY_CLASS_LADY 0x13
-#define FACILITY_CLASS_BEAUTY 0x14
-#define FACILITY_CLASS_RICH_BOY 0x15
-#define FACILITY_CLASS_EXPERT_2 0x16
-#define FACILITY_CLASS_POKEMANIAC 0x17
-#define FACILITY_CLASS_TEAM_MAGMA_2 0x18
-#define FACILITY_CLASS_GUITARIST 0x19
-#define FACILITY_CLASS_KINDLER 0x1a
-#define FACILITY_CLASS_CAMPER 0x1b
-#define FACILITY_CLASS_PICNICKER 0x1c
-#define FACILITY_CLASS_BUG_MANIAC 0x1d
-#define FACILITY_CLASS_PSYCHIC_M 0x1e
-#define FACILITY_CLASS_PSYCHIC_F 0x1f
-#define FACILITY_CLASS_GENTLEMAN 0x20
-#define FACILITY_CLASS_ELITE_FOUR_1 0x21
-#define FACILITY_CLASS_ELITE_FOUR_2 0x22
-#define FACILITY_CLASS_LEADER_1 0x23
-#define FACILITY_CLASS_LEADER_2 0x24
-#define FACILITY_CLASS_LEADER_3 0x25
-#define FACILITY_CLASS_SCHOOL_KID_M 0x26
-#define FACILITY_CLASS_SCHOOL_KID_F 0x27
-#define FACILITY_CLASS_SR_AND_JR 0x28
-#define FACILITY_CLASS_POKEFAN_1 0x29
-#define FACILITY_CLASS_POKEFAN_2 0x2a
-#define FACILITY_CLASS_YOUNGSTER 0x2b
-#define FACILITY_CLASS_CHAMPION 0x2c
-#define FACILITY_CLASS_FISHERMAN 0x2d
-#define FACILITY_CLASS_TRIATHLETE_1 0x2e
-#define FACILITY_CLASS_TRIATHLETE_2 0x2f
-#define FACILITY_CLASS_TRIATHLETE_3 0x30
-#define FACILITY_CLASS_TRIATHLETE_4 0x31
-#define FACILITY_CLASS_TRIATHLETE_5 0x32
-#define FACILITY_CLASS_TRIATHLETE_6 0x33
-#define FACILITY_CLASS_DRAGON_TAMER 0x34
-#define FACILITY_CLASS_NINJA_BOY 0x35
-#define FACILITY_CLASS_BATTLE_GIRL 0x36
-#define FACILITY_CLASS_PARASOL_LADY 0x37
-#define FACILITY_CLASS_SWIMMER_F 0x38
-#define FACILITY_CLASS_TWINS 0x39
-#define FACILITY_CLASS_SAILOR 0x3a
-#define FACILITY_CLASS_PKMN_TRAINER_1 0x3b
-#define FACILITY_CLASS_PKMN_TRAINER_BRENDAN 0x3c
-#define FACILITY_CLASS_PKMN_TRAINER_3 0x3d
-#define FACILITY_CLASS_PKMN_TRAINER_4 0x3e
-#define FACILITY_CLASS_PKMN_TRAINER_MAY 0x3f
-#define FACILITY_CLASS_PKMN_TRAINER_6 0x40
-#define FACILITY_CLASS_PKMN_TRAINER_7 0x41
-#define FACILITY_CLASS_PKMN_BREEDER_2 0x42
-#define FACILITY_CLASS_BUG_CATCHER 0x43
-#define FACILITY_CLASS_PKMN_RANGER_M 0x44
-#define FACILITY_CLASS_PKMN_RANGER_F 0x45
-#define FACILITY_CLASS_MAGMA_LEADER 0x46
-#define FACILITY_CLASS_LASS 0x47
-#define FACILITY_CLASS_YOUNG_COUPLE 0x48
-#define FACILITY_CLASS_OLD_COUPLE 0x49
-#define FACILITY_CLASS_SIS_AND_BRO 0x4a
-#define FACILITY_CLASS_PKMN_TRAINER_STEVEN 0x4b
-#define FACILITY_CLASS_SALON_MAIDEN 0x4c
-#define FACILITY_CLASS_DOME_ACE 0x4d
-#define FACILITY_CLASS_PKMN_TRAINER_RED 0x4e
-#define FACILITY_CLASS_PKMN_TRAINER_LEAF 0x4f
-#define FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN 0x50
-#define FACILITY_CLASS_PKMN_TRAINER_RS_MAY 0x51
+#define FACILITY_CLASS_HIKER 0x0
+#define FACILITY_CLASS_AQUA_GRUNT_M 0x1
+#define FACILITY_CLASS_POKEMON_BREEDER_F 0x2
+#define FACILITY_CLASS_COOLTRAINER_M 0x3
+#define FACILITY_CLASS_BIRD_KEEPER 0x4
+#define FACILITY_CLASS_COLLECTOR 0x5
+#define FACILITY_CLASS_AQUA_GRUNT_F 0x6
+#define FACILITY_CLASS_SWIMMER_M 0x7
+#define FACILITY_CLASS_MAGMA_GRUNT_M 0x8
+#define FACILITY_CLASS_EXPERT_M 0x9
+#define FACILITY_CLASS_BLACK_BELT 0xa
+#define FACILITY_CLASS_AQUA_LEADER_ARCHIE 0xb
+#define FACILITY_CLASS_HEX_MANIAC 0xc
+#define FACILITY_CLASS_AROMA_LADY 0xd
+#define FACILITY_CLASS_RUIN_MANIAC 0xe
+#define FACILITY_CLASS_INTERVIEWER 0xf
+#define FACILITY_CLASS_TUBER_F 0x10
+#define FACILITY_CLASS_TUBER_M 0x11
+#define FACILITY_CLASS_COOLTRAINER_F 0x12
+#define FACILITY_CLASS_LADY 0x13
+#define FACILITY_CLASS_BEAUTY 0x14
+#define FACILITY_CLASS_RICH_BOY 0x15
+#define FACILITY_CLASS_EXPERT_F 0x16
+#define FACILITY_CLASS_POKEMANIAC 0x17
+#define FACILITY_CLASS_MAGMA_GRUNT_F 0x18
+#define FACILITY_CLASS_GUITARIST 0x19
+#define FACILITY_CLASS_KINDLER 0x1a
+#define FACILITY_CLASS_CAMPER 0x1b
+#define FACILITY_CLASS_PICNICKER 0x1c
+#define FACILITY_CLASS_BUG_MANIAC 0x1d
+#define FACILITY_CLASS_PSYCHIC_M 0x1e
+#define FACILITY_CLASS_PSYCHIC_F 0x1f
+#define FACILITY_CLASS_GENTLEMAN 0x20
+#define FACILITY_CLASS_ELITE_FOUR_SIDNEY 0x21
+#define FACILITY_CLASS_ELITE_FOUR_PHOEBE 0x22
+#define FACILITY_CLASS_LEADER_ROXANNE 0x23
+#define FACILITY_CLASS_LEADER_BRAWLY 0x24
+#define FACILITY_CLASS_LEADER_TATE_AND_LIZA 0x25
+#define FACILITY_CLASS_SCHOOL_KID_M 0x26
+#define FACILITY_CLASS_SCHOOL_KID_F 0x27
+#define FACILITY_CLASS_SR_AND_JR 0x28
+#define FACILITY_CLASS_POKEFAN_M 0x29
+#define FACILITY_CLASS_POKEFAN_F 0x2a
+#define FACILITY_CLASS_YOUNGSTER 0x2b
+#define FACILITY_CLASS_CHAMPION_WALLACE 0x2c
+#define FACILITY_CLASS_FISHERMAN 0x2d
+#define FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x2e
+#define FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x2f
+#define FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x30
+#define FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x31
+#define FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x32
+#define FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x33
+#define FACILITY_CLASS_DRAGON_TAMER 0x34
+#define FACILITY_CLASS_NINJA_BOY 0x35
+#define FACILITY_CLASS_BATTLE_GIRL 0x36
+#define FACILITY_CLASS_PARASOL_LADY 0x37
+#define FACILITY_CLASS_SWIMMER_F 0x38
+#define FACILITY_CLASS_TWINS 0x39
+#define FACILITY_CLASS_SAILOR 0x3a
+#define FACILITY_CLASS_WALLY 0x3b
+#define FACILITY_CLASS_BRENDAN 0x3c
+#define FACILITY_CLASS_BRENDAN_2 0x3d
+#define FACILITY_CLASS_BRENDAN_3 0x3e
+#define FACILITY_CLASS_MAY 0x3f
+#define FACILITY_CLASS_MAY_2 0x40
+#define FACILITY_CLASS_MAY_3 0x41
+#define FACILITY_CLASS_PKMN_BREEDER_M 0x42
+#define FACILITY_CLASS_BUG_CATCHER 0x43
+#define FACILITY_CLASS_PKMN_RANGER_M 0x44
+#define FACILITY_CLASS_PKMN_RANGER_F 0x45
+#define FACILITY_CLASS_MAGMA_LEADER_MAXIE 0x46
+#define FACILITY_CLASS_LASS 0x47
+#define FACILITY_CLASS_YOUNG_COUPLE 0x48
+#define FACILITY_CLASS_OLD_COUPLE 0x49
+#define FACILITY_CLASS_SIS_AND_BRO 0x4a
+#define FACILITY_CLASS_STEVEN 0x4b
+#define FACILITY_CLASS_SALON_MAIDEN_ANABEL 0x4c
+#define FACILITY_CLASS_DOME_ACE_TUCKER 0x4d
+#define FACILITY_CLASS_RED 0x4e
+#define FACILITY_CLASS_LEAF 0x4f
+#define FACILITY_CLASS_RS_BRENDAN 0x50
+#define FACILITY_CLASS_RS_MAY 0x51
#define TRAINER_CLASS_PKMN_TRAINER_1 0x0
#define TRAINER_CLASS_PKMN_TRAINER_2 0x1
#define TRAINER_CLASS_HIKER 0x2
#define TRAINER_CLASS_TEAM_AQUA 0x3
#define TRAINER_CLASS_PKMN_BREEDER 0x4
-#define TRAINER_CLASS_COOLTRAINER_1 0x5
+#define TRAINER_CLASS_COOLTRAINER 0x5
#define TRAINER_CLASS_BIRD_KEEPER 0x6
#define TRAINER_CLASS_COLLECTOR 0x7
#define TRAINER_CLASS_SWIMMER_M 0x8
@@ -215,8 +218,8 @@
#define TRAINER_CLASS_AROMA_LADY 0xf
#define TRAINER_CLASS_RUIN_MANIAC 0x10
#define TRAINER_CLASS_INTERVIEWER 0x11
-#define TRAINER_CLASS_TUBER_1 0x12
-#define TRAINER_CLASS_TUBER_2 0x13
+#define TRAINER_CLASS_TUBER_F 0x12
+#define TRAINER_CLASS_TUBER_M 0x13
#define TRAINER_CLASS_LADY 0x14
#define TRAINER_CLASS_BEAUTY 0x15
#define TRAINER_CLASS_RICH_BOY 0x16
@@ -245,7 +248,7 @@
#define TRAINER_CLASS_SWIMMER_F 0x2d
#define TRAINER_CLASS_TWINS 0x2e
#define TRAINER_CLASS_SAILOR 0x2f
-#define TRAINER_CLASS_COOLTRAINER_2 0x30
+#define TRAINER_CLASS_COOLTRAINER_UNUSED 0x30
#define TRAINER_CLASS_MAGMA_ADMIN 0x31
#define TRAINER_CLASS_PKMN_TRAINER_3 0x32
#define TRAINER_CLASS_BUG_CATCHER 0x33
diff --git a/include/contest.h b/include/contest.h
index f15a7310e..368176bba 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -226,6 +226,11 @@ extern u8 gUnknown_02039F24;
extern u16 gSpecialVar_ContestCategory;
extern u16 gSpecialVar_ContestRank;
extern u8 gUnknown_02039F30;
+extern u8 gContestFinalStandings[4];
+extern u8 gContestPlayerMonIndex;
+extern s16 gUnknown_02039F08[4];
+extern s16 gContestMonConditions[4];
+extern u8 gIsLinkContest;
struct Shared18000
{
@@ -239,7 +244,7 @@ struct Shared18000
struct ContestStruct_field_18
{
- u16 unk0;
+ u16 species;
u16 unk2;
u8 unk4_0:1;
u8 unk5;
@@ -428,5 +433,6 @@ 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/contest_link_80F57C4.h b/include/contest_link_80F57C4.h
index 3c12e5e53..b4ccf2803 100644
--- a/include/contest_link_80F57C4.h
+++ b/include/contest_link_80F57C4.h
@@ -1,7 +1,10 @@
#ifndef GUARD_CONTEST_LINK_80F57C4_H
#define GUARD_CONTEST_LINK_80F57C4_H
+void sub_80F8264(void);
+void sub_80F8290(void);
void sub_80F840C(void);
+void sub_80F8438(void);
void sub_80F8484(void);
void sub_80F84C4(u8);
void sub_80FC998(u8 taskId);
diff --git a/include/contest_painting.h b/include/contest_painting.h
index f8366a997..67a845d62 100644
--- a/include/contest_painting.h
+++ b/include/contest_painting.h
@@ -2,5 +2,6 @@
#define GUARD_CONTESTPAINTING_H
void sub_812FDA8(u32);
+void sub_812FDEC(void);
#endif
diff --git a/include/decompress.h b/include/decompress.h
index e98181c82..853230aea 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -5,8 +5,8 @@
extern u8 gDecompressionBuffer[0x4000];
-void LZDecompressWram(const void *src, void *dest);
-void LZDecompressVram(const void *src, void *dest);
+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);
@@ -28,6 +28,6 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32
void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic);
-u32 GetDecompressedDataSize(const u8 *ptr);
+u32 GetDecompressedDataSize(const u32 *ptr);
#endif // GUARD_DECOMPRESS_H
diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h
index e1fec36ea..7539f7240 100644
--- a/include/decoration_inventory.h
+++ b/include/decoration_inventory.h
@@ -1,12 +1,15 @@
#ifndef GUARD_DECORATION_INVENTORY_H
#define GUARD_DECORATION_INVENTORY_H
-struct DecorationInventory {
+
+struct DecorationInventory
+{
u8 *items;
u8 size;
};
extern struct DecorationInventory gDecorationInventories[];
+void SetDecorationInventoriesPointers(void);
void ClearDecorationInventories(void);
s8 GetFirstEmptyDecorSlot(u8 idx);
u8 CheckHasDecoration(u8);
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index ddccfe39b..cc45f1531 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -19,7 +19,8 @@ enum SpinnerRunnerFollowPatterns
RUNFOLLOW_SOUTH_EAST_WEST
};
-struct UnkStruct_085094AC {
+struct UnkStruct_085094AC
+{
const union AnimCmd *const *anims;
u8 animPos[4];
};
@@ -45,28 +46,6 @@ struct UnkStruct_085094AC {
#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18)
#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19)
-#define movement_type_def(setup, table) \
-static u8 setup##_callback(struct EventObject *, struct Sprite *);\
-void setup(struct Sprite *sprite)\
-{\
- UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
-}\
-static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
-{\
- return table[sprite->data[1]](eventObject, sprite);\
-}
-
-#define movement_type_empty_callback(setup) \
-static u8 setup##_callback(struct EventObject *, struct Sprite *);\
-void setup(struct Sprite *sprite)\
-{\
- UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
-}\
-static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
-{\
- return 0;\
-}
-
struct PairedPalettes
{
u16 tag;
@@ -75,14 +54,14 @@ struct PairedPalettes
struct LockedAnimEventObjects
{
- u8 eventObjectIds[NUM_EVENT_OBJECTS];
+ u8 eventObjectIds[EVENT_OBJECTS_COUNT];
u8 count;
};
extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
extern const u8 gReflectionEffectPaletteMap[];
-void sub_808D438(void);
+void ResetEventObjects(void);
u8 GetMoveDirectionAnimNum(u8);
u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8);
bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
@@ -143,9 +122,27 @@ u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 d
u8 GetFaceDirectionMovementAction(u32);
u8 GetWalkNormalMovementAction(u32);
u8 GetWalkFastMovementAction(u32);
+u8 GetRideWaterCurrentMovementAction(u32);
u8 GetWalkFastestMovementAction(u32);
+u8 GetPlayerRunMovementAction(u32);
u8 GetJumpInPlaceMovementAction(u32);
+u8 GetAcroWheelieFaceDirectionMovementAction(u32);
+u8 GetAcroPopWheelieFaceDirectionMovementAction(u32);
+u8 GetAcroEndWheelieFaceDirectionMovementAction(u32);
+u8 GetAcroWheelieHopFaceDirectionMovementAction(u32);
+u8 GetAcroWheelieHopDirectionMovementAction(u32);
+u8 GetAcroWheelieJumpDirectionMovementAction(u32);
+u8 GetJumpInPlaceTurnAroundMovementAction(u32);
+u8 GetAcroWheelieInPlaceDirectionMovementAction(u32);
+u8 GetAcroPopWheelieMoveDirectionMovementAction(u32);
+u8 GetAcroWheelieMoveDirectionMovementAction(u32);
+u8 GetAcroEndWheelieMoveDirectionMovementAction(u32);
+u8 GetFishingDirectionAnimNum(u8 direction);
+u8 GetAcroWheelieDirectionAnimNum(u8 direction);
+u8 GetFishingBiteDirectionAnimNum(u8 direction);
+u8 GetFishingNoCatchDirectionAnimNum(u8 direction);
bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId);
+void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId);
bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject);
u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject);
u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject);
@@ -162,9 +159,7 @@ u8 ZCoordToPriority(u8);
void EventObjectUpdateZCoord(struct EventObject *pObject);
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
bool8 IsZCoordMismatchAt(u8, s16, s16);
-void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *);
void UnfreezeEventObject(struct EventObject *);
-void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
u8 FindLockedEventObjectIndex(struct EventObject *);
bool8 obj_npc_ministep(struct Sprite *sprite);
bool8 sub_80976EC(struct Sprite *sprite);
@@ -194,6 +189,7 @@ u16 GetObjectPaletteTag(u8 palSlot);
void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible);
s16 sub_809773C(s16 a1);
s16 sub_8097728(s16 a1);
+void CameraObjectReset2(void);
void MovementType_None(struct Sprite *);
void MovementType_LookAround(struct Sprite *);
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 5b8b74d8b..058cec39b 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1,7 +1,3 @@
-//
-// Created by scott on 9/12/2017.
-//
-
#ifndef GUARD_EVENT_SCRIPTS_H
#define GUARD_EVENT_SCRIPTS_H
@@ -528,4 +524,59 @@ extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[];
-#endif //GUARD_EVENT_SCRIPTS_H
+extern const u8 EventScript_PlayerPCMale[];
+extern const u8 EventScript_PlayerPCFemale[];
+extern const u8 EventScript_SecretBasePC[];
+extern const u8 EventScript_RecordMixingSecretBasePC[];
+extern const u8 EventScript_SecretPower1[];
+extern const u8 EventScript_SecretPower2[];
+extern const u8 EventScript_PC[];
+extern const u8 EventScript_TestSignpostMsg[];
+extern const u8 EventScript_HiddenItemScript[];
+extern const u8 EventScript_2759F1[];
+extern const u8 EventScript_TV[];
+extern const u8 EventScript_ClosedSootopolisDoor[];
+extern const u8 SkyPillar_Outside_EventScript_2393F9[];
+extern const u8 EventScript_CableBoxResults[];
+extern const u8 EventScript_2A4BAC[];
+extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[];
+extern const u8 EventScript_RegionMap[];
+extern const u8 EventScript_RunningShoesManual[];
+extern const u8 EventScript_PictureBookShelf[];
+extern const u8 EventScript_BookShelf[];
+extern const u8 EventScript_PokemonCenterBookshelf[];
+extern const u8 EventScript_Vase[];
+extern const u8 EventScript_TrashCan[];
+extern const u8 EventScript_ShopShelf[];
+extern const u8 EventScript_Blueprint[];
+extern const u8 EventScript_WirelessBoxResults[];
+extern const u8 EventScript_CableBoxResults[];
+extern const u8 EventScript_Questionnaire[];
+extern const u8 EventScript_TrainerHillTimer[];
+extern const u8 EventScript_SecretBaseSandOrnament[];
+extern const u8 EventScript_SecretBaseShieldOrToyTV[];
+extern const u8 EventScript_UseSurf[];
+extern const u8 EventScript_UseWaterfall[];
+extern const u8 EventScript_CannotUseWaterfall[];
+extern const u8 EventScript_UseDive[];
+extern const u8 EventScript_UseDiveUnderwater[];
+extern const u8 EventScript_FallDownHole[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[];
+extern const u8 EventScript_Poison[];
+extern const u8 EventScript_EggHatch[];
+extern const u8 gUnknown_08273D1F[];
+extern const u8 IslandCave_EventScript_238EAF[];
+extern const u8 MauvilleCity_EventScript_1DF7BA[];
+extern const u8 Route119_EventScript_1F49EC[];
+extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[];
+extern const u8 RustboroCity_Gym_EventScript_21307B[];
+extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[];
+extern const u8 SSTidalCorridor_EventScript_23C050[];
+extern const u8 gUnknown_082A8350[];
+
+// Battle Pyramid.
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[];
+
+#endif // GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_camera.h b/include/field_camera.h
index fcc19ce9a..fdc4c5450 100644
--- a/include/field_camera.h
+++ b/include/field_camera.h
@@ -7,16 +7,16 @@ struct CameraObject
{
void (*callback)(struct CameraObject *);
u32 spriteId;
- s32 unk8;
- s32 unkC;
+ s32 movementSpeedX;
+ s32 movementSpeedY;
s32 x;
s32 y;
};
// Exported RAM declarations
-extern struct CameraObject gUnknown_03005DD0;
-extern u16 gUnknown_03005DEC;
-extern u16 gUnknown_03005DE8;
+extern struct CameraObject gFieldCamera;
+extern u16 gTotalCameraPixelOffsetX;
+extern u16 gTotalCameraPixelOffsetY;
// Exported ROM declarations
void DrawWholeMapView(void);
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index 536f218a3..24adbe4b3 100644
--- a/include/field_control_avatar.h
+++ b/include/field_control_avatar.h
@@ -25,7 +25,7 @@ struct FieldInput
void FieldClearPlayerInput(struct FieldInput *pStruct);
void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);
-int sub_809C014(struct FieldInput *pStruct);
+int ProcessPlayerFieldInput(struct FieldInput *pStruct);
u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void);
void RestartWildEncounterImmunitySteps(void);
diff --git a/include/field_effect.h b/include/field_effect.h
index e05ded621..7620cedcd 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -1,85 +1,12 @@
#ifndef GUARD_FIELD_EFFECTS_H
#define GUARD_FIELD_EFFECTS_H
-#include "task.h"
-
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[2];
extern const struct SpritePalette gNewGameBirchObjectPaletteInfo;
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[2];
extern const struct SpriteTemplate gNewGameBirchObjectTemplate;
extern const struct OamData gNewGameBirchOamAttributes;
-enum FieldEffectScriptIdx
-{
- FLDEFF_EXCLAMATION_MARK_ICON,
- FLDEFF_USE_CUT_ON_GRASS,
- FLDEFF_USE_CUT_ON_TREE,
- FLDEFF_SHADOW,
- FLDEFF_TALL_GRASS,
- FLDEFF_RIPPLE,
- FLDEFF_FIELD_MOVE_SHOW_MON,
- FLDEFF_ASH,
- FLDEFF_SURF_BLOB,
- FLDEFF_USE_SURF,
- FLDEFF_DUST,
- FLDEFF_USE_SECRET_POWER_CAVE,
- FLDEFF_JUMP_TALL_GRASS,
- FLDEFF_SAND_FOOTPRINTS,
- FLDEFF_JUMP_BIG_SPLASH,
- FLDEFF_SPLASH,
- FLDEFF_JUMP_SMALL_SPLASH,
- FLDEFF_LONG_GRASS,
- FLDEFF_JUMP_LONG_GRASS,
- FLDEFF_UNKNOWN_19,
- FLDEFF_UNKNOWN_20,
- FLDEFF_UNKNOWN_21,
- FLDEFF_UNKNOWN_22,
- FLDEFF_BERRY_TREE_GROWTH_SPARKLE,
- FLDEFF_DEEP_SAND_FOOTPRINTS,
- FLDEFF_POKECENTER_HEAL,
- FLDEFF_USE_SECRET_POWER_TREE,
- FLDEFF_USE_SECRET_POWER_SHRUB,
- FLDEFF_TREE_DISGUISE,
- FLDEFF_MOUNTAIN_DISGUISE,
- FLDEFF_NPCFLY_OUT,
- FLDEFF_USE_FLY,
- FLDEFF_FLY_IN,
- FLDEFF_QUESTION_MARK_ICON,
- FLDEFF_FEET_IN_FLOWING_WATER,
- FLDEFF_BIKE_TIRE_TRACKS,
- FLDEFF_SAND_DISGUISE,
- FLDEFF_USE_ROCK_SMASH,
- FLDEFF_USE_DIG,
- FLDEFF_SAND_PILE,
- FLDEFF_USE_STRENGTH,
- FLDEFF_SHORT_GRASS,
- FLDEFF_HOT_SPRINGS_WATER,
- FLDEFF_USE_WATERFALL,
- FLDEFF_USE_DIVE,
- FLDEFF_POKEBALL,
- FLDEFF_HEART_ICON,
- FLDEFF_NOP_47,
- FLDEFF_NOP_48,
- FLDEFF_POP_OUT_OF_ASH,
- FLDEFF_LAVARIDGE_GYM_WARP,
- FLDEFF_SWEET_SCENT,
- FLDEFF_SAND_PILLAR,
- FLDEFF_BUBBLES,
- FLDEFF_SPARKLE,
- FLDEFF_SECRET_POWER_CAVE,
- FLDEFF_SECRET_POWER_TREE,
- FLDEFF_SECRET_POWER_SHRUB,
- FLDEFF_CUT_GRASS,
- FLDEFF_FIELD_MOVE_SHOW_MON_INIT,
- FLDEFF_USE_FLY_ANCIENT_TOMB,
- FLDEFF_PCTURN_ON,
- FLDEFF_HALL_OF_FAME_RECORD,
- FLDEFF_USE_TELEPORT,
- FLDEFF_64,
- FLDEFF_65,
- FLDEFF_66,
-};
-
extern s32 gFieldEffectArguments[8];
extern void (*gPostMenuFieldCallback)(void);
extern bool8 (*gFieldCallback2)(void);
@@ -109,126 +36,6 @@ bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val);
-void PokecenterHealEffect_0(struct Task *);
-void PokecenterHealEffect_1(struct Task *);
-void PokecenterHealEffect_2(struct Task *);
-void PokecenterHealEffect_3(struct Task *);
-
-void HallOfFameRecordEffect_0(struct Task *);
-void HallOfFameRecordEffect_1(struct Task *);
-void HallOfFameRecordEffect_2(struct Task *);
-void HallOfFameRecordEffect_3(struct Task *);
-
-void PokeballGlowEffect_0(struct Sprite *);
-void PokeballGlowEffect_1(struct Sprite *);
-void PokeballGlowEffect_2(struct Sprite *);
-void PokeballGlowEffect_3(struct Sprite *);
-void PokeballGlowEffect_4(struct Sprite *);
-void PokeballGlowEffect_5(struct Sprite *);
-void PokeballGlowEffect_6(struct Sprite *);
-void PokeballGlowEffect_7(struct Sprite *);
-
-bool8 sub_80B6BCC(struct Task *);
-bool8 sub_80B6C74(struct Task *);
-bool8 sub_80B6C90(struct Task *);
-bool8 sub_80B6D04(struct Task *);
-bool8 sub_80B6DBC(struct Task *);
-bool8 sub_80B6DD8(struct Task *);
-bool8 sub_80B6E18(struct Task *);
-
-bool8 sub_80B6EC0(struct Task *);
-bool8 sub_80B6EE0(struct Task *);
-bool8 sub_80B6F50(struct Task *);
-bool8 sub_80B6F74(struct Task *);
-bool8 sub_80B6F84(struct Task *);
-bool8 sub_80B6FA8(struct Task *);
-
-bool8 sub_80B7114(struct Task *);
-bool8 sub_80B7190(struct Task *);
-bool8 sub_80B71D0(struct Task *);
-bool8 sub_80B7230(struct Task *);
-bool8 sub_80B7270(struct Task *);
-bool8 sub_80B72D0(struct Task *);
-bool8 sub_80B72F4(struct Task *);
-
-bool8 sub_80B73D0(struct Task *, struct EventObject *);
-bool8 waterfall_1_do_anim_probably(struct Task *, struct EventObject *);
-bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct EventObject *);
-bool8 sub_80B7450(struct Task *, struct EventObject *);
-bool8 sub_80B7478(struct Task *, struct EventObject *);
-
-bool8 dive_1_lock(struct Task *);
-bool8 dive_2_unknown(struct Task *);
-bool8 dive_3_unknown(struct Task *);
-
-bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *);
-
-bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *);
-
-bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *);
-
-void sub_80B7D14(struct Task *);
-void sub_80B7D34(struct Task *);
-
-void sub_80B7EC4(struct Task *);
-void sub_80B7EE8(struct Task *);
-
-void sub_80B8280(struct Task *);
-void sub_80B830C(struct Task *);
-void sub_80B8410(struct Task *);
-
-void sub_80B8584(struct Task *);
-void sub_80B85F8(struct Task *);
-void sub_80B8660(struct Task *);
-void sub_80B86EC(struct Task *);
-void sub_80B871C(struct Task *);
-void sub_80B8770(struct Task *);
-void overworld_bg_setup_2(struct Task *);
-
-void sub_80B88E4(struct Task *);
-void sub_80B8920(struct Task *);
-void sub_80B898C(struct Task *);
-void sub_80B89DC(struct Task *);
-void sub_80B8A0C(struct Task *);
-void sub_80B8A44(struct Task *);
-void sub_80B8A64(struct Task *);
-
-void sub_80B8DB4(struct Task *);
-void sub_80B8E14(struct Task *);
-void sub_80B8E60(struct Task *);
-void sub_80B8EA8(struct Task *);
-void sub_80B8F24(struct Task *);
-
-void sub_80B9204(struct Task *);
-void sub_80B925C(struct Task *);
-void sub_80B92A0(struct Task *);
-void sub_80B92F8(struct Task *);
-void sub_80B933C(struct Task *);
-void sub_80B9390(struct Task *);
-void sub_80B9418(struct Task *);
-void sub_80B9474(struct Task *);
-void sub_80B9494(struct Task *);
-
-void sub_80B9804(struct Task *);
-void sub_80B98B8(struct Task *);
-void sub_80B9924(struct Task *);
-void sub_80B9978(struct Task *);
-void sub_80B99F0(struct Task *);
-void sub_80B9A28(struct Task *);
-void sub_80B9A60(struct Task *);
-
void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
@@ -237,5 +44,7 @@ void sub_80B7CAC(struct Sprite*);
void sub_80B7A58(struct Sprite*);
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
+void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
+u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index 9c354159b..6022467e4 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -7,9 +7,10 @@
// Exported ROM declarations
u8 CreateWarpArrowSprite(void);
+u8 sub_8155800(u8 oldSpriteId);
+void sub_81555AC(u8, u8);
bool8 sub_8155DA0(struct EventObject *);
void sub_8155D78(struct EventObject *);
-void sub_81555AC(u8, u8);
void StartAshFieldEffect(s16, s16, u16, s16);
void SetUpReflection(struct EventObject*, struct Sprite*, u8);
u32 StartFieldEffectForEventObject(u8, struct EventObject*);
@@ -17,7 +18,7 @@ u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s
void sub_8155F80(struct Sprite*);
void UpdateShadowFieldEffect(struct Sprite*);
void UpdateTallGrassFieldEffect(struct Sprite*);
-void sub_81561D0(struct Sprite*);
+void WaitFieldEffectSpriteAnim(struct Sprite*);
void UpdateAshFieldEffect(struct Sprite*);
void UpdateSurfBlobFieldEffect(struct Sprite*);
void sub_8156194(struct Sprite*);
@@ -30,5 +31,8 @@ void UpdateShortGrassFieldEffect(struct Sprite*);
void UpdateHotSpringsWaterFieldEffect(struct Sprite*);
void UpdateBubblesFieldEffect(struct Sprite*);
void UpdateSparkleFieldEffect(struct Sprite*);
+void SetSpriteInvisible(u8 spriteId);
+void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);
+void sub_8155604(u8 spriteId, u8 value, s16 data1);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index ee2cbb3c8..adb51f889 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -1,6 +1,17 @@
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
#define GUARD_FIELD_PLAYER_AVATAR_H
+enum {
+ PLAYER_AVATAR_STATE_NORMAL,
+ PLAYER_AVATAR_STATE_MACH_BIKE,
+ PLAYER_AVATAR_STATE_ACRO_BIKE,
+ PLAYER_AVATAR_STATE_SURFING,
+ PLAYER_AVATAR_STATE_UNDERWATER,
+ PLAYER_AVATAR_STATE_FIELD_MOVE,
+ PLAYER_AVATAR_STATE_FISHING,
+ PLAYER_AVATAR_STATE_WATERING,
+};
+
void player_step(u8 a, u16 b, u16 c);
void ClearPlayerAvatarInfo(void);
void SetPlayerAvatarExtraStateTransition(u8, u8);
@@ -13,7 +24,7 @@ u8 GetPlayerMovementDirection(void);
u8 PlayerGetCopyableMovement(void);
void PlayerGoSpeed1(u8);
void PlayerGoSpeed2(u8);
-void PlayerGoSpeed3(u8);
+void PlayerRideWaterCurrent(u8);
void PlayerGoSpeed4(u8);
void PlayerOnBikeCollide(u8);
void PlayerFaceDirection(u8 a);
@@ -48,22 +59,4 @@ bool8 PartyHasMonWithSurf(void);
bool8 IsPlayerFacingSurfableFishableWater(void);
bool8 IsPlayerSurfingNorth(void);
-bool8 ForcedMovement_None(void);
-bool8 ForcedMovement_Slip(void);
-bool8 ForcedMovement_WalkSouth(void);
-bool8 ForcedMovement_WalkNorth(void);
-bool8 ForcedMovement_WalkWest(void);
-bool8 ForcedMovement_WalkEast(void);
-bool8 ForcedMovement_PushedSouthByCurrent(void);
-bool8 ForcedMovement_PushedNorthByCurrent(void);
-bool8 ForcedMovement_PushedWestByCurrent(void);
-bool8 ForcedMovement_PushedEastByCurrent(void);
-bool8 ForcedMovement_SlideSouth(void);
-bool8 ForcedMovement_SlideNorth(void);
-bool8 ForcedMovement_SlideWest(void);
-bool8 ForcedMovement_SlideEast(void);
-bool8 ForcedMovement_0xBB(void);
-bool8 ForcedMovement_0xBC(void);
-bool8 ForcedMovement_MuddySlope(void);
-
#endif // GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_poison.h b/include/field_poison.h
index 6a1ba17f2..a23a93ca5 100644
--- a/include/field_poison.h
+++ b/include/field_poison.h
@@ -13,7 +13,7 @@ enum {
FLDPSN_FNT
};
-void sub_80F972C(void);
-int DoPoisonFieldEffect(void);
+void ExecuteWhiteOut(void);
+s32 DoPoisonFieldEffect(void);
#endif //GUARD_FIELD_POISON_H
diff --git a/include/field_region_map.h b/include/field_region_map.h
deleted file mode 100644
index d50f1265c..000000000
--- a/include/field_region_map.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef GUARD_FIELD_REGION_MAP_H
-#define GUARD_FIELD_REGION_MAP_H
-
-void FieldInitRegionMap(MainCallback callback);
-
-#endif // GUARD_FIELD_REGION_MAP_H
diff --git a/include/field_specials.h b/include/field_specials.h
index 0e2daf9c3..5adc7f3cb 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -15,5 +15,7 @@ bool32 sub_8138168(void);
bool32 sub_81381B0(void);
bool32 sub_81381F8(void);
bool32 CountSSTidalStep(u16 delta);
+void sub_813A128(void);
+void sub_813A878(u8 a0);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/fieldmap.h b/include/fieldmap.h
index 8287229ed..a50c79b43 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -35,6 +35,7 @@ bool8 sub_8088BF0(u16*, u16, u8);
struct MapConnection *sub_8088950(u8 direction, int x, int y);
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
+void save_serialize_map(void);
void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);
diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h
index 87a20d290..027bb4273 100644
--- a/include/fldeff_80F9BCC.h
+++ b/include/fldeff_80F9BCC.h
@@ -11,7 +11,7 @@ void sub_80FA5E4(s16 id, s16 x, s16 y);
void sub_80FA794(s16 x, s16 y);
void CreateRecordMixingSprite(void);
void DestroyRecordMixingSprite(void);
-void overworld_poison_effect(void);
+void FldeffPoison_Start(void);
void sub_80FA970(s16);
void sub_80FA9D0(void);
bool8 sub_80FADE4(u16, u8);
diff --git a/include/fldeff_teleport.h b/include/fldeff_teleport.h
deleted file mode 100644
index 71fb64ad2..000000000
--- a/include/fldeff_teleport.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef GUARD_FLDEFF_TELEPORT_H
-#define GUARD_FLDEFF_TELEPORT_H
-
-void hm_teleport_run_dp02scr(void);
-void sub_817C94C(void);
-
-#endif // GUARD_FLDEFF_TELEPORT_H
diff --git a/include/frontier_util.h b/include/frontier_util.h
new file mode 100644
index 000000000..9464ba91c
--- /dev/null
+++ b/include/frontier_util.h
@@ -0,0 +1,34 @@
+#ifndef GUARD_FRONTIER_UTIL_H
+#define GUARD_FRONTIER_UTIL_H
+
+#define FRONTIER_BEFORE_TEXT 0
+#define FRONTIER_PLAYER_LOST_TEXT 1
+#define FRONTIER_PLAYER_WON_TEXT 2
+
+void CallFrontierUtilFunc(void);
+u8 sub_81A3610(void);
+void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
+void sub_81A3908(void);
+u32 GetCurrentFacilityWinStreak(void);
+void sub_81A3ACC(void);
+u8 GetPlayerSymbolCountForFacility(u8 facility);
+void ShowRankingHallRecordsWindow(void);
+void ScrollRankingHallRecordsWindow(void);
+void ClearRankingHallRecords(void);
+void sub_81A4C30(void);
+u8 GetFrontierBrainTrainerPicIndex(void);
+u8 GetFrontierBrainTrainerClass(void);
+void CopyFrontierBrainTrainerName(u8 *dst);
+bool8 IsFrontierBrainFemale(void);
+void SetFrontierBrainEventObjGfx_2(void);
+void CreateFrontierBrainPokemon(void);
+u16 GetFrontierBrainMonSpecies(u8 monId);
+void SetFrontierBrainEventObjGfx(u8 facility);
+u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId);
+u8 GetFrontierBrainMonNature(u8 monId);
+u8 GetFrontierBrainMonEvs(u8 monId, u8 evStatId);
+s32 GetFronterBrainSymbol(void);
+
+extern const u16 gFrontierBannedSpecies[];
+
+#endif // GUARD_FRONTIER_UTIL_H
diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h
index 03faa1a87..c20b69886 100644
--- a/include/gba/io_reg.h
+++ b/include/gba/io_reg.h
@@ -565,12 +565,14 @@
#define WINOUT_WIN01_BG1 (1 << 1)
#define WINOUT_WIN01_BG2 (1 << 2)
#define WINOUT_WIN01_BG3 (1 << 3)
+#define WINOUT_WIN01_BG_ALL (WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3)
#define WINOUT_WIN01_OBJ (1 << 4)
#define WINOUT_WIN01_CLR (1 << 5)
#define WINOUT_WINOBJ_BG0 (1 << 8)
#define WINOUT_WINOBJ_BG1 (1 << 9)
#define WINOUT_WINOBJ_BG2 (1 << 10)
#define WINOUT_WINOBJ_BG3 (1 << 11)
+#define WINOUT_WINOBJ_BG_ALL (WINOUT_WINOBJ_BG0 | WINOUT_WINOBJ_BG1 | WINOUT_WINOBJ_BG2 | WINOUT_WINOBJ_BG3)
#define WINOUT_WINOBJ_OBJ (1 << 12)
#define WINOUT_WINOBJ_CLR (1 << 13)
diff --git a/include/gba/syscall.h b/include/gba/syscall.h
index deddec5ba..f3382b874 100644
--- a/include/gba/syscall.h
+++ b/include/gba/syscall.h
@@ -35,9 +35,9 @@ void BgAffineSet(struct BgAffineSrcData *src, struct BgAffineDstData *dest, s32
void ObjAffineSet(struct ObjAffineSrcData *src, void *dest, s32 count, s32 offset);
-void LZ77UnCompWram(const void *src, void *dest);
+void LZ77UnCompWram(const u32 *src, void *dest);
-void LZ77UnCompVram(const void *src, void *dest);
+void LZ77UnCompVram(const u32 *src, void *dest);
void RLUnCompWram(const void *src, void *dest);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 66d5b5e4c..1f14880f0 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -1,8 +1,6 @@
#ifndef GUARD_GLOBAL_FIELDMAP_H
#define GUARD_GLOBAL_FIELDMAP_H
-#define NUM_EVENT_OBJECTS 16
-
enum
{
CONNECTION_SOUTH = 1,
@@ -194,8 +192,8 @@ struct EventObject
struct __attribute__((packed)) {
u8 x:4;
u8 y:4;
- } __attribute__((aligned (1))) as_nybbles;
- } __attribute__((aligned (1))) range;
+ } ALIGNED(1) as_nybbles;
+ } ALIGNED(1) range;
/*0x1A*/ u8 fieldEffectSpriteId;
/*0x1B*/ u8 warpArrowSpriteId;
/*0x1C*/ u8 movementActionId;
@@ -228,14 +226,14 @@ struct EventObjectGraphicsInfo
/*0x20*/ const union AffineAnimCmd *const *affineAnims;
};
-#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
-#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
-#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
-#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
-#define PLAYER_AVATAR_FLAG_4 (1 << 4)
-#define PLAYER_AVATAR_FLAG_5 (1 << 5)
-#define PLAYER_AVATAR_FLAG_6 (1 << 6)
-#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
+#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0)
+#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
+#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
+#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
+#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4)
+#define PLAYER_AVATAR_FLAG_5 (1 << 5)
+#define PLAYER_AVATAR_FLAG_6 (1 << 6)
+#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
enum
{
@@ -311,7 +309,7 @@ struct Camera
s32 y;
};
-extern struct EventObject gEventObjects[NUM_EVENT_OBJECTS];
+extern struct EventObject gEventObjects[EVENT_OBJECTS_COUNT];
extern u8 gSelectedEventObject;
extern struct MapHeader gMapHeader;
extern struct PlayerAvatar gPlayerAvatar;
diff --git a/include/global.h b/include/global.h
index 027065481..cc8df049f 100644
--- a/include/global.h
+++ b/include/global.h
@@ -61,11 +61,6 @@
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
-extern u8 gStringVar1[];
-extern u8 gStringVar2[];
-extern u8 gStringVar3[];
-extern u8 gStringVar4[];
-
// There are many quirks in the source code which have overarching behavioral differences from
// a number of other files. For example, diploma.c seems to declare rodata before each use while
// other files declare out of order and must be at the beginning. There are also a number of
@@ -119,24 +114,26 @@ enum LanguageId
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
// capacities of various saveblock objects
-#define DAYCARE_MON_COUNT 2
-#define POKEBLOCKS_COUNT 40
-#define EVENT_OBJECTS_COUNT 16
+#define DAYCARE_MON_COUNT 2
+#define POKEBLOCKS_COUNT 40
+#define EVENT_OBJECTS_COUNT 16
#define BERRY_TREES_COUNT 128
#define FLAGS_COUNT 300
#define VARS_COUNT 256
-#define MAIL_COUNT 16
-#define SECRET_BASES_COUNT 20
-#define TV_SHOWS_COUNT 25
-#define POKE_NEWS_COUNT 16
-#define PC_ITEMS_COUNT 50
-#define BAG_ITEMS_COUNT 30
-#define BAG_KEYITEMS_COUNT 30
-#define BAG_POKEBALLS_COUNT 16
-#define BAG_TMHM_COUNT 64
-#define BAG_BERRIES_COUNT 46
+#define MAIL_COUNT 16
+#define SECRET_BASES_COUNT 20
+#define TV_SHOWS_COUNT 25
+#define POKE_NEWS_COUNT 16
+#define PC_ITEMS_COUNT 50
+#define BAG_ITEMS_COUNT 30
+#define BAG_KEYITEMS_COUNT 30
+#define BAG_POKEBALLS_COUNT 16
+#define BAG_TMHM_COUNT 64
+#define BAG_BERRIES_COUNT 46
+#define EVENT_OBJECT_TEMPLATES_COUNT 64
#define PYRAMID_BAG_ITEMS_COUNT 10
+#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
// string lengths
#define ITEM_NAME_LENGTH 14
@@ -275,26 +272,6 @@ struct BerryCrush
u32 unk;
};
-struct UnknownSaveBlock2Struct
-{
- u8 field_0;
- u8 field_1;
- u8 field_2[2];
- u8 field_4[8];
- u8 field_C[16];
- u16 field_1C[6];
- u16 field_28[6];
- u8 field_34[176];
- u8 field_E4;
- u8 field_E5;
- u8 field_E6;
- u8 field_E7;
- u8 field_E8;
- u8 field_E9;
- u8 field_EA;
- u8 field_EB;
-}; // sizeof = 0xEC
-
struct ApprenticeMon
{
u16 species;
@@ -308,12 +285,12 @@ struct Apprentice
u8 lvlMode:2; // + 1
u8 field_1;
u8 number;
- struct ApprenticeMon monData[3];
+ struct ApprenticeMon party[3];
u16 easyChatWords[6];
u8 playerId[4];
u8 playerName[PLAYER_NAME_LENGTH];
u8 language;
- u32 unk40;
+ u32 checksum;
};
struct UnknownPokemonStruct
@@ -345,20 +322,33 @@ struct UnknownPokemonStruct
struct EmeraldBattleTowerRecord
{
- /*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
- /*0x01*/ u8 trainerClass;
+ /*0x00*/ u8 lvlMode; // 0 = level 50, 1 = level 100
+ /*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
- /*0x10*/ struct {
- u16 easyChat[6];
- } greeting;
- /*0x1C*/ u8 filler_1c[0x18];
+ /*0x10*/ u16 greeting[6];
+ /*0x1C*/ u16 speechWon[6];
+ /*0x28*/ u16 speechLost[6];
/*0x34*/ struct UnknownPokemonStruct party[4];
/*0xE4*/ u8 language;
/*0xE8*/ u32 checksum;
};
+struct BattleTowerEReaderTrainer
+{
+ /*0x00*/ u8 unk0;
+ /*0x01*/ u8 facilityClass;
+ /*0x02*/ u16 winStreak;
+ /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
+ /*0x0C*/ u8 trainerId[4];
+ /*0x10*/ u16 greeting[6];
+ /*0x1C*/ u16 farewellPlayerLost[6];
+ /*0x28*/ u16 farewellPlayerWon[6];
+ /*0x34*/ struct UnknownPokemonStruct party[3];
+ /*0xB8*/ u32 checksum;
+};
+
struct FrontierMonData
{
u16 moves[4];
@@ -386,18 +376,14 @@ struct BattleDomeTrainer
struct BattleFrontier
{
- /*0x64C*/ struct EmeraldBattleTowerRecord battleTower;
- /*0x738*/ struct UnknownSaveBlock2Struct field_738[5]; // No idea here, it's probably wrong, no clue.
+ /*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer;
+ /*0x738*/ struct EmeraldBattleTowerRecord towerRecords[5]; // From record mixing.
/*0xBD4*/ u16 field_BD4;
/*0xBD6*/ u16 field_BD6;
- /*0xBD8*/ u8 field_BD8[11];
- /*0xBE3*/ u8 field_BE3[8];
+ /*0xBD8*/ u8 field_BD8[PLAYER_NAME_LENGTH + 1];
+ /*0xBE3*/ u8 field_BE0[POKEMON_NAME_LENGTH + 1];
/*0xBEB*/ u8 field_BEB;
- /*0xBEC*/ u8 filler_BEC[16];
- /*0xBFC*/ u16 ecwords_BFC[6];
- /*0xC08*/ u16 ecwords_C08[6];
- /*0xC14*/ u16 ecwords_C14[6];
- /*0xC20*/ u8 filler_C20[0x88];
+ /*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer;
/*0xCA8*/ u8 field_CA8;
/*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3
/*0xCA9*/ u8 field_CA9_a:1; // 0x4
@@ -406,16 +392,16 @@ struct BattleFrontier
/*0xCA9*/ u8 field_CA9_d:1; // 0x20
/*0xCA9*/ u8 field_CA9_e:1; // 0x40
/*0xCA9*/ u8 field_CA9_f:1; // 0x80
- /*0xCAA*/ u16 field_CAA[3];
+ /*0xCAA*/ u16 selectedPartyMons[3];
/*0xCB0*/ u16 field_CB0;
- /*0xCB2*/ u16 field_CB2;
+ /*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
/*0xCB4*/ u16 field_CB4[20];
/*0xCDC*/ u32 field_CDC;
- /*0xCE0*/ u16 field_CE0[4][2];
- /*0xCF0*/ u16 field_CF0[2];
- /*0xCF4*/ u16 field_CF4[2];
- /*0xCF8*/ u16 field_CF8[2];
- /*0xCFC*/ u16 field_CFC[5];
+ /*0xCE0*/ u16 towerWinStreaks[4][2];
+ /*0xCF0*/ u16 towerRecordWinStreaks[4][2];
+ /*0xD00*/ u16 field_D00;
+ /*0xD02*/ u16 field_D02;
+ /*0xD04*/ u16 field_D04;
/*0xD06*/ u8 field_D06;
/*0xD07*/ u8 field_D07;
/*0xD08*/ u8 field_D08_0:1;
@@ -429,47 +415,44 @@ struct BattleFrontier
/*0xD09*/ u8 filler_D09;
/*0xD0A*/ u8 field_D0A;
/*0xD0B*/ u8 field_D0B;
- /*0xD0C*/ u16 field_D0C[2][2];
- /*0xD14*/ u16 field_D14[2][2];
- /*0xD1C*/ u16 field_D1C[2][2];
+ /*0xD0C*/ u16 domeWinStreaks[2][2];
+ /*0xD14*/ u16 domeRecordWinStreaks[2][2];
+ /*0xD1C*/ u16 domeTotalChampionships[2][2];
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
- /*0xD64*/ u16 domeMonId[DOME_TOURNAMENT_TRAINERS_COUNT][3];
- /*0xD64*/ u16 field_DC4[2];
- /*0xDC8*/ u16 field_DC8[2][2];
- /*0xDD0*/ u16 field_DD0[2][2];
+ /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3];
+ /*0xDC4*/ u16 field_DC4;
+ /*0xDC6*/ u16 field_DC6;
+ /*0xDC8*/ u16 palaceWinStreaks[2][2];
+ /*0xDD0*/ u16 palaceRecordWinStreaks[2][2];
/*0xDD8*/ u16 field_DD8;
- /*0xDDA*/ u16 field_DDA[2];
- /*0xDDE*/ u16 field_DDE[2];
- /*0xDE2*/ u16 field_DE2[2][2];
- /*0xDEA*/ u16 field_DEA[2];
- /*0xDEE*/ u16 field_DEE;
- /*0xDF0*/ u16 field_DF0;
- /*0xDF2*/ u16 field_DF2;
- /*0xDF4*/ u16 field_DF4;
- /*0xDF6*/ u16 field_DF6;
- /*0xDF8*/ u16 field_DF8;
- /*0xDFA*/ u16 field_DFA;
- /*0xDFC*/ u16 field_DFC;
- /*0xDFE*/ u16 field_DFE;
- /*0xE00*/ u16 field_E00;
+ /*0xDDA*/ u16 arenaWinStreaks[2];
+ /*0xDDE*/ u16 arenaRecordStreaks[2];
+ /*0xDE2*/ u16 factoryWinStreaks[2][2];
+ /*0xDEA*/ u16 factoryRecordWinStreaks[2][2];
+ /*0xDF6*/ u16 factoryRentsCount[2][2];
+ /*0xDFA*/ u16 factoryRecordRentsCount[2][2];
/*0xE02*/ u16 field_E02;
- /*0xE04*/ u16 field_E04[2];
- /*0xE08*/ u16 field_E08[9];
- /*0xE1A*/ u16 field_E1A[2];
- /*0xE1E*/ u16 field_E1E[7];
+ /*0xE04*/ u16 pikeWinStreaks[2];
+ /*0xE08*/ u16 pikeRecordStreaks[2];
+ /*0xE0C*/ u16 pikeTotalStreaks[2];
+ /*0xE10*/ u8 field_E10_1:3;
+ /*0xE10*/ u8 field_E10_2:4;
+ /*0xE10*/ u8 field_E10_3:1;
+ /*0xE12*/ u16 field_E12[3];
+ /*0xE18*/ u16 field_E18;
+ /*0xE1A*/ u16 pyramidWinStreaks[2];
+ /*0xE1E*/ u16 pyramidRecordStreaks[2];
+ /*0xE22*/ u16 field_E22[4];
+ /*0xE2A*/ u8 field_E2A;
/*0xE2C*/ struct PyramidBag pyramidBag;
- /*0xE58*/ u16 field_E58;
+ /*0xE68*/ u8 field_E68;
/*0xE6A*/ u16 field_E6A;
/*0xE6C*/ u16 field_E6C;
/*0xE6E*/ u16 field_E6E;
/*0xE70*/ struct Struct_field_E70 field_E70[6];
- /*0xEB8*/ u16 frontierBattlePoints;
- /*0xEBA*/ u8 field_EBA;
- /*0xEBB*/ u8 field_EBB;
- /*0xEBC*/ u8 field_EBC;
- /*0xEBD*/ u8 field_EBD;
- /*0xEBE*/ u8 field_EBE;
- /*0xEBF*/ u8 field_EBF;
+ /*0xEB8*/ u16 battlePoints;
+ /*0xEBA*/ u16 field_EBA;
+ /*0xEBC*/ u32 battlesCount;
/*0xEC0*/ u16 field_EC0[16];
/*0xEE0*/ u8 field_EE0;
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1];
@@ -502,6 +485,24 @@ struct PlayersApprentice
/*0xB8*/ struct Sav2_B8 field_B8[9];
};
+struct RankingHall1P
+{
+ u8 id[4];
+ u16 winStreak;
+ u8 name[PLAYER_NAME_LENGTH + 1];
+ u8 language;
+};
+
+struct RankingHall2P
+{
+ u8 id1[4];
+ u8 id2[4];
+ u16 winStreak;
+ u8 name1[PLAYER_NAME_LENGTH + 1];
+ u8 name2[PLAYER_NAME_LENGTH + 1];
+ u8 language;
+};
+
struct SaveBlock2
{
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
@@ -526,12 +527,13 @@ struct SaveBlock2
/*0xA8*/ u32 field_A8;
/*0xAC*/ u32 encryptionKey;
/*0xB0*/ struct PlayersApprentice playerApprentice;
- /*0xDC*/ struct Apprentice apprentices[4];
+ /*0xDC*/ struct Apprentice apprentices[4]; // From record mixing.
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
- /*0x21C*/ u8 field_21C[1032];
- /*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
+ /*0x21C*/ struct RankingHall1P hallRecords1P[HALL_FACILITIES_COUNT][2][3]; // From record mixing.
+ /*0x57C*/ struct RankingHall2P hallRecords2P[2][3]; // From record mixing.
+ /*0x624*/ u16 contestLinkResults[5][4]; // 4 positions for 5 categories.
/*0x64C*/ struct BattleFrontier frontier;
}; // sizeof=0xF2C
@@ -901,7 +903,7 @@ struct SaveBlock1
/*0x9C8*/ u16 trainerRematchStepCounter;
/*0x9CA*/ u8 trainerRematches[100];
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
- /*0xC70*/ struct EventObjectTemplate eventObjectTemplates[64];
+ /*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT];
/*0x1270*/ u8 flags[FLAGS_COUNT];
/*0x139C*/ u16 vars[VARS_COUNT];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
@@ -976,13 +978,4 @@ struct UnkStruct_8054FF8
u16 field_C;
};
-struct Bitmap // TODO: Find a better spot for this
-{
- u8* pixels;
- u32 width:16;
- u32 height:16;
-};
-
-extern u8 gReservedSpritePaletteCount;
-
#endif // GUARD_GLOBAL_H
diff --git a/include/graphics.h b/include/graphics.h
index a7bbc5b68..5bff2f91f 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -6,3055 +6,3056 @@ extern const u32 gMessageBox_Gfx[];
extern const u16 gMessageBox_Pal[];
// interface pokeballs
-extern const u8 gInterfaceGfx_PokeBall[];
-extern const u8 gInterfacePal_PokeBall[];
-extern const u8 gInterfaceGfx_GreatBall[];
-extern const u8 gInterfacePal_GreatBall[];
-extern const u8 gInterfaceGfx_SafariBall[];
-extern const u8 gInterfacePal_SafariBall[];
-extern const u8 gInterfaceGfx_UltraBall[];
-extern const u8 gInterfacePal_UltraBall[];
-extern const u8 gInterfaceGfx_MasterBall[];
-extern const u8 gInterfacePal_MasterBall[];
-extern const u8 gInterfaceGfx_NetBall[];
-extern const u8 gInterfacePal_NetBall[];
-extern const u8 gInterfaceGfx_DiveBall[];
-extern const u8 gInterfacePal_DiveBall[];
-extern const u8 gInterfaceGfx_NestBall[];
-extern const u8 gInterfacePal_NestBall[];
-extern const u8 gInterfaceGfx_RepeatBall[];
-extern const u8 gInterfacePal_RepeatBall[];
-extern const u8 gInterfaceGfx_TimerBall[];
-extern const u8 gInterfacePal_TimerBall[];
-extern const u8 gInterfaceGfx_LuxuryBall[];
-extern const u8 gInterfacePal_LuxuryBall[];
-extern const u8 gInterfaceGfx_PremierBall[];
-extern const u8 gInterfacePal_PremierBall[];
-extern const u8 gOpenPokeballGfx[];
+extern const u32 gInterfaceGfx_PokeBall[];
+extern const u32 gInterfacePal_PokeBall[];
+extern const u32 gInterfaceGfx_GreatBall[];
+extern const u32 gInterfacePal_GreatBall[];
+extern const u32 gInterfaceGfx_SafariBall[];
+extern const u32 gInterfacePal_SafariBall[];
+extern const u32 gInterfaceGfx_UltraBall[];
+extern const u32 gInterfacePal_UltraBall[];
+extern const u32 gInterfaceGfx_MasterBall[];
+extern const u32 gInterfacePal_MasterBall[];
+extern const u32 gInterfaceGfx_NetBall[];
+extern const u32 gInterfacePal_NetBall[];
+extern const u32 gInterfaceGfx_DiveBall[];
+extern const u32 gInterfacePal_DiveBall[];
+extern const u32 gInterfaceGfx_NestBall[];
+extern const u32 gInterfacePal_NestBall[];
+extern const u32 gInterfaceGfx_RepeatBall[];
+extern const u32 gInterfacePal_RepeatBall[];
+extern const u32 gInterfaceGfx_TimerBall[];
+extern const u32 gInterfacePal_TimerBall[];
+extern const u32 gInterfaceGfx_LuxuryBall[];
+extern const u32 gInterfacePal_LuxuryBall[];
+extern const u32 gInterfaceGfx_PremierBall[];
+extern const u32 gInterfacePal_PremierBall[];
+extern const u32 gOpenPokeballGfx[];
// pokemon gfx
-extern const u8 gMonFrontPic_Bulbasaur[];
-extern const u8 gMonPalette_Bulbasaur[];
-extern const u8 gMonBackPic_Bulbasaur[];
-extern const u8 gMonShinyPalette_Bulbasaur[];
-extern const u8 gMonStillFrontPic_Bulbasaur[];
+extern const u32 gMonFrontPic_Bulbasaur[];
+extern const u32 gMonPalette_Bulbasaur[];
+extern const u32 gMonBackPic_Bulbasaur[];
+extern const u32 gMonShinyPalette_Bulbasaur[];
+extern const u32 gMonStillFrontPic_Bulbasaur[];
extern const u8 gMonIcon_Bulbasaur[];
extern const u8 gMonFootprint_Bulbasaur[];
-extern const u8 gMonFrontPic_Ivysaur[];
-extern const u8 gMonPalette_Ivysaur[];
-extern const u8 gMonBackPic_Ivysaur[];
-extern const u8 gMonShinyPalette_Ivysaur[];
-extern const u8 gMonStillFrontPic_Ivysaur[];
+extern const u32 gMonFrontPic_Ivysaur[];
+extern const u32 gMonPalette_Ivysaur[];
+extern const u32 gMonBackPic_Ivysaur[];
+extern const u32 gMonShinyPalette_Ivysaur[];
+extern const u32 gMonStillFrontPic_Ivysaur[];
extern const u8 gMonIcon_Ivysaur[];
extern const u8 gMonFootprint_Ivysaur[];
-extern const u8 gMonFrontPic_Venusaur[];
-extern const u8 gMonPalette_Venusaur[];
-extern const u8 gMonBackPic_Venusaur[];
-extern const u8 gMonShinyPalette_Venusaur[];
-extern const u8 gMonStillFrontPic_Venusaur[];
+extern const u32 gMonFrontPic_Venusaur[];
+extern const u32 gMonPalette_Venusaur[];
+extern const u32 gMonBackPic_Venusaur[];
+extern const u32 gMonShinyPalette_Venusaur[];
+extern const u32 gMonStillFrontPic_Venusaur[];
extern const u8 gMonIcon_Venusaur[];
extern const u8 gMonFootprint_Venusaur[];
-extern const u8 gMonFrontPic_Charmander[];
-extern const u8 gMonPalette_Charmander[];
-extern const u8 gMonBackPic_Charmander[];
-extern const u8 gMonShinyPalette_Charmander[];
-extern const u8 gMonStillFrontPic_Charmander[];
+extern const u32 gMonFrontPic_Charmander[];
+extern const u32 gMonPalette_Charmander[];
+extern const u32 gMonBackPic_Charmander[];
+extern const u32 gMonShinyPalette_Charmander[];
+extern const u32 gMonStillFrontPic_Charmander[];
extern const u8 gMonIcon_Charmander[];
extern const u8 gMonFootprint_Charmander[];
-extern const u8 gMonFrontPic_Charmeleon[];
-extern const u8 gMonPalette_Charmeleon[];
-extern const u8 gMonBackPic_Charmeleon[];
-extern const u8 gMonShinyPalette_Charmeleon[];
-extern const u8 gMonStillFrontPic_Charmeleon[];
+extern const u32 gMonFrontPic_Charmeleon[];
+extern const u32 gMonPalette_Charmeleon[];
+extern const u32 gMonBackPic_Charmeleon[];
+extern const u32 gMonShinyPalette_Charmeleon[];
+extern const u32 gMonStillFrontPic_Charmeleon[];
extern const u8 gMonIcon_Charmeleon[];
extern const u8 gMonFootprint_Charmeleon[];
-extern const u8 gMonFrontPic_Charizard[];
-extern const u8 gMonPalette_Charizard[];
-extern const u8 gMonBackPic_Charizard[];
-extern const u8 gMonShinyPalette_Charizard[];
-extern const u8 gMonStillFrontPic_Charizard[];
+extern const u32 gMonFrontPic_Charizard[];
+extern const u32 gMonPalette_Charizard[];
+extern const u32 gMonBackPic_Charizard[];
+extern const u32 gMonShinyPalette_Charizard[];
+extern const u32 gMonStillFrontPic_Charizard[];
extern const u8 gMonIcon_Charizard[];
extern const u8 gMonFootprint_Charizard[];
-extern const u8 gMonFrontPic_Squirtle[];
-extern const u8 gMonPalette_Squirtle[];
-extern const u8 gMonBackPic_Squirtle[];
-extern const u8 gMonShinyPalette_Squirtle[];
-extern const u8 gMonStillFrontPic_Squirtle[];
+extern const u32 gMonFrontPic_Squirtle[];
+extern const u32 gMonPalette_Squirtle[];
+extern const u32 gMonBackPic_Squirtle[];
+extern const u32 gMonShinyPalette_Squirtle[];
+extern const u32 gMonStillFrontPic_Squirtle[];
extern const u8 gMonIcon_Squirtle[];
extern const u8 gMonFootprint_Squirtle[];
-extern const u8 gMonFrontPic_Wartortle[];
-extern const u8 gMonPalette_Wartortle[];
-extern const u8 gMonBackPic_Wartortle[];
-extern const u8 gMonShinyPalette_Wartortle[];
-extern const u8 gMonStillFrontPic_Wartortle[];
+extern const u32 gMonFrontPic_Wartortle[];
+extern const u32 gMonPalette_Wartortle[];
+extern const u32 gMonBackPic_Wartortle[];
+extern const u32 gMonShinyPalette_Wartortle[];
+extern const u32 gMonStillFrontPic_Wartortle[];
extern const u8 gMonIcon_Wartortle[];
extern const u8 gMonFootprint_Wartortle[];
-extern const u8 gMonFrontPic_Blastoise[];
-extern const u8 gMonPalette_Blastoise[];
-extern const u8 gMonBackPic_Blastoise[];
-extern const u8 gMonShinyPalette_Blastoise[];
-extern const u8 gMonStillFrontPic_Blastoise[];
+extern const u32 gMonFrontPic_Blastoise[];
+extern const u32 gMonPalette_Blastoise[];
+extern const u32 gMonBackPic_Blastoise[];
+extern const u32 gMonShinyPalette_Blastoise[];
+extern const u32 gMonStillFrontPic_Blastoise[];
extern const u8 gMonIcon_Blastoise[];
extern const u8 gMonFootprint_Blastoise[];
-extern const u8 gMonFrontPic_Caterpie[];
-extern const u8 gMonPalette_Caterpie[];
-extern const u8 gMonBackPic_Caterpie[];
-extern const u8 gMonShinyPalette_Caterpie[];
-extern const u8 gMonStillFrontPic_Caterpie[];
+extern const u32 gMonFrontPic_Caterpie[];
+extern const u32 gMonPalette_Caterpie[];
+extern const u32 gMonBackPic_Caterpie[];
+extern const u32 gMonShinyPalette_Caterpie[];
+extern const u32 gMonStillFrontPic_Caterpie[];
extern const u8 gMonIcon_Caterpie[];
extern const u8 gMonFootprint_Caterpie[];
-extern const u8 gMonFrontPic_Metapod[];
-extern const u8 gMonPalette_Metapod[];
-extern const u8 gMonBackPic_Metapod[];
-extern const u8 gMonShinyPalette_Metapod[];
-extern const u8 gMonStillFrontPic_Metapod[];
+extern const u32 gMonFrontPic_Metapod[];
+extern const u32 gMonPalette_Metapod[];
+extern const u32 gMonBackPic_Metapod[];
+extern const u32 gMonShinyPalette_Metapod[];
+extern const u32 gMonStillFrontPic_Metapod[];
extern const u8 gMonIcon_Metapod[];
extern const u8 gMonFootprint_Metapod[];
-extern const u8 gMonFrontPic_Butterfree[];
-extern const u8 gMonPalette_Butterfree[];
-extern const u8 gMonBackPic_Butterfree[];
-extern const u8 gMonShinyPalette_Butterfree[];
-extern const u8 gMonStillFrontPic_Butterfree[];
+extern const u32 gMonFrontPic_Butterfree[];
+extern const u32 gMonPalette_Butterfree[];
+extern const u32 gMonBackPic_Butterfree[];
+extern const u32 gMonShinyPalette_Butterfree[];
+extern const u32 gMonStillFrontPic_Butterfree[];
extern const u8 gMonIcon_Butterfree[];
extern const u8 gMonFootprint_Butterfree[];
-extern const u8 gMonFrontPic_Weedle[];
-extern const u8 gMonPalette_Weedle[];
-extern const u8 gMonBackPic_Weedle[];
-extern const u8 gMonShinyPalette_Weedle[];
-extern const u8 gMonStillFrontPic_Weedle[];
+extern const u32 gMonFrontPic_Weedle[];
+extern const u32 gMonPalette_Weedle[];
+extern const u32 gMonBackPic_Weedle[];
+extern const u32 gMonShinyPalette_Weedle[];
+extern const u32 gMonStillFrontPic_Weedle[];
extern const u8 gMonIcon_Weedle[];
extern const u8 gMonFootprint_Weedle[];
-extern const u8 gMonFrontPic_Kakuna[];
-extern const u8 gMonPalette_Kakuna[];
-extern const u8 gMonBackPic_Kakuna[];
-extern const u8 gMonShinyPalette_Kakuna[];
-extern const u8 gMonStillFrontPic_Kakuna[];
+extern const u32 gMonFrontPic_Kakuna[];
+extern const u32 gMonPalette_Kakuna[];
+extern const u32 gMonBackPic_Kakuna[];
+extern const u32 gMonShinyPalette_Kakuna[];
+extern const u32 gMonStillFrontPic_Kakuna[];
extern const u8 gMonIcon_Kakuna[];
extern const u8 gMonFootprint_Kakuna[];
-extern const u8 gMonFrontPic_Beedrill[];
-extern const u8 gMonPalette_Beedrill[];
-extern const u8 gMonBackPic_Beedrill[];
-extern const u8 gMonShinyPalette_Beedrill[];
-extern const u8 gMonStillFrontPic_Beedrill[];
+extern const u32 gMonFrontPic_Beedrill[];
+extern const u32 gMonPalette_Beedrill[];
+extern const u32 gMonBackPic_Beedrill[];
+extern const u32 gMonShinyPalette_Beedrill[];
+extern const u32 gMonStillFrontPic_Beedrill[];
extern const u8 gMonIcon_Beedrill[];
extern const u8 gMonFootprint_Beedrill[];
-extern const u8 gMonFrontPic_Pidgey[];
-extern const u8 gMonPalette_Pidgey[];
-extern const u8 gMonBackPic_Pidgey[];
-extern const u8 gMonShinyPalette_Pidgey[];
-extern const u8 gMonStillFrontPic_Pidgey[];
+extern const u32 gMonFrontPic_Pidgey[];
+extern const u32 gMonPalette_Pidgey[];
+extern const u32 gMonBackPic_Pidgey[];
+extern const u32 gMonShinyPalette_Pidgey[];
+extern const u32 gMonStillFrontPic_Pidgey[];
extern const u8 gMonIcon_Pidgey[];
extern const u8 gMonFootprint_Pidgey[];
-extern const u8 gMonFrontPic_Pidgeotto[];
-extern const u8 gMonPalette_Pidgeotto[];
-extern const u8 gMonBackPic_Pidgeotto[];
-extern const u8 gMonShinyPalette_Pidgeotto[];
-extern const u8 gMonStillFrontPic_Pidgeotto[];
+extern const u32 gMonFrontPic_Pidgeotto[];
+extern const u32 gMonPalette_Pidgeotto[];
+extern const u32 gMonBackPic_Pidgeotto[];
+extern const u32 gMonShinyPalette_Pidgeotto[];
+extern const u32 gMonStillFrontPic_Pidgeotto[];
extern const u8 gMonIcon_Pidgeotto[];
extern const u8 gMonFootprint_Pidgeotto[];
-extern const u8 gMonFrontPic_Pidgeot[];
-extern const u8 gMonPalette_Pidgeot[];
-extern const u8 gMonBackPic_Pidgeot[];
-extern const u8 gMonShinyPalette_Pidgeot[];
-extern const u8 gMonStillFrontPic_Pidgeot[];
+extern const u32 gMonFrontPic_Pidgeot[];
+extern const u32 gMonPalette_Pidgeot[];
+extern const u32 gMonBackPic_Pidgeot[];
+extern const u32 gMonShinyPalette_Pidgeot[];
+extern const u32 gMonStillFrontPic_Pidgeot[];
extern const u8 gMonIcon_Pidgeot[];
extern const u8 gMonFootprint_Pidgeot[];
-extern const u8 gMonFrontPic_Rattata[];
-extern const u8 gMonPalette_Rattata[];
-extern const u8 gMonBackPic_Rattata[];
-extern const u8 gMonShinyPalette_Rattata[];
-extern const u8 gMonStillFrontPic_Rattata[];
+extern const u32 gMonFrontPic_Rattata[];
+extern const u32 gMonPalette_Rattata[];
+extern const u32 gMonBackPic_Rattata[];
+extern const u32 gMonShinyPalette_Rattata[];
+extern const u32 gMonStillFrontPic_Rattata[];
extern const u8 gMonIcon_Rattata[];
extern const u8 gMonFootprint_Rattata[];
-extern const u8 gMonFrontPic_Raticate[];
-extern const u8 gMonPalette_Raticate[];
-extern const u8 gMonBackPic_Raticate[];
-extern const u8 gMonShinyPalette_Raticate[];
-extern const u8 gMonStillFrontPic_Raticate[];
+extern const u32 gMonFrontPic_Raticate[];
+extern const u32 gMonPalette_Raticate[];
+extern const u32 gMonBackPic_Raticate[];
+extern const u32 gMonShinyPalette_Raticate[];
+extern const u32 gMonStillFrontPic_Raticate[];
extern const u8 gMonIcon_Raticate[];
extern const u8 gMonFootprint_Raticate[];
-extern const u8 gMonFrontPic_Spearow[];
-extern const u8 gMonPalette_Spearow[];
-extern const u8 gMonBackPic_Spearow[];
-extern const u8 gMonShinyPalette_Spearow[];
-extern const u8 gMonStillFrontPic_Spearow[];
+extern const u32 gMonFrontPic_Spearow[];
+extern const u32 gMonPalette_Spearow[];
+extern const u32 gMonBackPic_Spearow[];
+extern const u32 gMonShinyPalette_Spearow[];
+extern const u32 gMonStillFrontPic_Spearow[];
extern const u8 gMonIcon_Spearow[];
extern const u8 gMonFootprint_Spearow[];
-extern const u8 gMonFrontPic_Fearow[];
-extern const u8 gMonPalette_Fearow[];
-extern const u8 gMonBackPic_Fearow[];
-extern const u8 gMonShinyPalette_Fearow[];
-extern const u8 gMonStillFrontPic_Fearow[];
+extern const u32 gMonFrontPic_Fearow[];
+extern const u32 gMonPalette_Fearow[];
+extern const u32 gMonBackPic_Fearow[];
+extern const u32 gMonShinyPalette_Fearow[];
+extern const u32 gMonStillFrontPic_Fearow[];
extern const u8 gMonIcon_Fearow[];
extern const u8 gMonFootprint_Fearow[];
-extern const u8 gMonFrontPic_Ekans[];
-extern const u8 gMonPalette_Ekans[];
-extern const u8 gMonBackPic_Ekans[];
-extern const u8 gMonShinyPalette_Ekans[];
-extern const u8 gMonStillFrontPic_Ekans[];
+extern const u32 gMonFrontPic_Ekans[];
+extern const u32 gMonPalette_Ekans[];
+extern const u32 gMonBackPic_Ekans[];
+extern const u32 gMonShinyPalette_Ekans[];
+extern const u32 gMonStillFrontPic_Ekans[];
extern const u8 gMonIcon_Ekans[];
extern const u8 gMonFootprint_Ekans[];
-extern const u8 gMonFrontPic_Arbok[];
-extern const u8 gMonPalette_Arbok[];
-extern const u8 gMonBackPic_Arbok[];
-extern const u8 gMonShinyPalette_Arbok[];
+extern const u32 gMonFrontPic_Arbok[];
+extern const u32 gMonPalette_Arbok[];
+extern const u32 gMonBackPic_Arbok[];
+extern const u32 gMonShinyPalette_Arbok[];
extern const u8 gMonIcon_Arbok[];
extern const u8 gMonFootprint_Arbok[];
-extern const u8 gMonFrontPic_Pikachu[];
-extern const u8 gMonPalette_Pikachu[];
-extern const u8 gMonBackPic_Pikachu[];
-extern const u8 gMonShinyPalette_Pikachu[];
-extern const u8 gMonStillFrontPic_Arbok[];
+extern const u32 gMonFrontPic_Pikachu[];
+extern const u32 gMonPalette_Pikachu[];
+extern const u32 gMonBackPic_Pikachu[];
+extern const u32 gMonShinyPalette_Pikachu[];
+extern const u32 gMonStillFrontPic_Arbok[];
extern const u8 gMonIcon_Pikachu[];
extern const u8 gMonFootprint_Pikachu[];
-extern const u8 gMonStillFrontPic_Pikachu[];
-extern const u8 gMonFrontPic_Raichu[];
-extern const u8 gMonPalette_Raichu[];
-extern const u8 gMonBackPic_Raichu[];
-extern const u8 gMonShinyPalette_Raichu[];
-extern const u8 gMonStillFrontPic_Raichu[];
+extern const u32 gMonStillFrontPic_Pikachu[];
+extern const u32 gMonFrontPic_Raichu[];
+extern const u32 gMonPalette_Raichu[];
+extern const u32 gMonBackPic_Raichu[];
+extern const u32 gMonShinyPalette_Raichu[];
+extern const u32 gMonStillFrontPic_Raichu[];
extern const u8 gMonIcon_Raichu[];
extern const u8 gMonFootprint_Raichu[];
-extern const u8 gMonFrontPic_Sandshrew[];
-extern const u8 gMonPalette_Sandshrew[];
-extern const u8 gMonBackPic_Sandshrew[];
-extern const u8 gMonShinyPalette_Sandshrew[];
-extern const u8 gMonStillFrontPic_Sandshrew[];
+extern const u32 gMonFrontPic_Sandshrew[];
+extern const u32 gMonPalette_Sandshrew[];
+extern const u32 gMonBackPic_Sandshrew[];
+extern const u32 gMonShinyPalette_Sandshrew[];
+extern const u32 gMonStillFrontPic_Sandshrew[];
extern const u8 gMonIcon_Sandshrew[];
extern const u8 gMonFootprint_Sandshrew[];
-extern const u8 gMonFrontPic_Sandslash[];
-extern const u8 gMonPalette_Sandslash[];
-extern const u8 gMonBackPic_Sandslash[];
-extern const u8 gMonShinyPalette_Sandslash[];
-extern const u8 gMonStillFrontPic_Sandslash[];
+extern const u32 gMonFrontPic_Sandslash[];
+extern const u32 gMonPalette_Sandslash[];
+extern const u32 gMonBackPic_Sandslash[];
+extern const u32 gMonShinyPalette_Sandslash[];
+extern const u32 gMonStillFrontPic_Sandslash[];
extern const u8 gMonIcon_Sandslash[];
extern const u8 gMonFootprint_Sandslash[];
-extern const u8 gMonFrontPic_NidoranF[];
-extern const u8 gMonPalette_NidoranF[];
-extern const u8 gMonBackPic_NidoranF[];
-extern const u8 gMonShinyPalette_NidoranF[];
-extern const u8 gMonStillFrontPic_NidoranF[];
+extern const u32 gMonFrontPic_NidoranF[];
+extern const u32 gMonPalette_NidoranF[];
+extern const u32 gMonBackPic_NidoranF[];
+extern const u32 gMonShinyPalette_NidoranF[];
+extern const u32 gMonStillFrontPic_NidoranF[];
extern const u8 gMonIcon_NidoranF[];
extern const u8 gMonFootprint_NidoranF[];
-extern const u8 gMonFrontPic_Nidorina[];
-extern const u8 gMonPalette_Nidorina[];
-extern const u8 gMonBackPic_Nidorina[];
-extern const u8 gMonShinyPalette_Nidorina[];
-extern const u8 gMonStillFrontPic_Nidorina[];
+extern const u32 gMonFrontPic_Nidorina[];
+extern const u32 gMonPalette_Nidorina[];
+extern const u32 gMonBackPic_Nidorina[];
+extern const u32 gMonShinyPalette_Nidorina[];
+extern const u32 gMonStillFrontPic_Nidorina[];
extern const u8 gMonIcon_Nidorina[];
extern const u8 gMonFootprint_Nidorina[];
-extern const u8 gMonFrontPic_Nidoqueen[];
-extern const u8 gMonPalette_Nidoqueen[];
-extern const u8 gMonBackPic_Nidoqueen[];
-extern const u8 gMonShinyPalette_Nidoqueen[];
-extern const u8 gMonStillFrontPic_Nidoqueen[];
+extern const u32 gMonFrontPic_Nidoqueen[];
+extern const u32 gMonPalette_Nidoqueen[];
+extern const u32 gMonBackPic_Nidoqueen[];
+extern const u32 gMonShinyPalette_Nidoqueen[];
+extern const u32 gMonStillFrontPic_Nidoqueen[];
extern const u8 gMonIcon_Nidoqueen[];
extern const u8 gMonFootprint_Nidoqueen[];
-extern const u8 gMonFrontPic_NidoranM[];
-extern const u8 gMonPalette_NidoranM[];
-extern const u8 gMonBackPic_NidoranM[];
-extern const u8 gMonShinyPalette_NidoranM[];
-extern const u8 gMonStillFrontPic_NidoranM[];
+extern const u32 gMonFrontPic_NidoranM[];
+extern const u32 gMonPalette_NidoranM[];
+extern const u32 gMonBackPic_NidoranM[];
+extern const u32 gMonShinyPalette_NidoranM[];
+extern const u32 gMonStillFrontPic_NidoranM[];
extern const u8 gMonIcon_NidoranM[];
extern const u8 gMonFootprint_NidoranM[];
-extern const u8 gMonFrontPic_Nidorino[];
-extern const u8 gMonPalette_Nidorino[];
-extern const u8 gMonBackPic_Nidorino[];
-extern const u8 gMonShinyPalette_Nidorino[];
-extern const u8 gMonStillFrontPic_Nidorino[];
+extern const u32 gMonFrontPic_Nidorino[];
+extern const u32 gMonPalette_Nidorino[];
+extern const u32 gMonBackPic_Nidorino[];
+extern const u32 gMonShinyPalette_Nidorino[];
+extern const u32 gMonStillFrontPic_Nidorino[];
extern const u8 gMonIcon_Nidorino[];
extern const u8 gMonFootprint_Nidorino[];
-extern const u8 gMonFrontPic_Nidoking[];
-extern const u8 gMonPalette_Nidoking[];
-extern const u8 gMonBackPic_Nidoking[];
-extern const u8 gMonShinyPalette_Nidoking[];
-extern const u8 gMonStillFrontPic_Nidoking[];
+extern const u32 gMonFrontPic_Nidoking[];
+extern const u32 gMonPalette_Nidoking[];
+extern const u32 gMonBackPic_Nidoking[];
+extern const u32 gMonShinyPalette_Nidoking[];
+extern const u32 gMonStillFrontPic_Nidoking[];
extern const u8 gMonIcon_Nidoking[];
extern const u8 gMonFootprint_Nidoking[];
-extern const u8 gMonFrontPic_Clefairy[];
-extern const u8 gMonPalette_Clefairy[];
-extern const u8 gMonBackPic_Clefairy[];
-extern const u8 gMonShinyPalette_Clefairy[];
-extern const u8 gMonStillFrontPic_Clefairy[];
+extern const u32 gMonFrontPic_Clefairy[];
+extern const u32 gMonPalette_Clefairy[];
+extern const u32 gMonBackPic_Clefairy[];
+extern const u32 gMonShinyPalette_Clefairy[];
+extern const u32 gMonStillFrontPic_Clefairy[];
extern const u8 gMonIcon_Clefairy[];
extern const u8 gMonFootprint_Clefairy[];
-extern const u8 gMonFrontPic_Clefable[];
-extern const u8 gMonPalette_Clefable[];
-extern const u8 gMonBackPic_Clefable[];
-extern const u8 gMonShinyPalette_Clefable[];
-extern const u8 gMonStillFrontPic_Clefable[];
+extern const u32 gMonFrontPic_Clefable[];
+extern const u32 gMonPalette_Clefable[];
+extern const u32 gMonBackPic_Clefable[];
+extern const u32 gMonShinyPalette_Clefable[];
+extern const u32 gMonStillFrontPic_Clefable[];
extern const u8 gMonIcon_Clefable[];
extern const u8 gMonFootprint_Clefable[];
-extern const u8 gMonFrontPic_Vulpix[];
-extern const u8 gMonPalette_Vulpix[];
-extern const u8 gMonBackPic_Vulpix[];
-extern const u8 gMonShinyPalette_Vulpix[];
-extern const u8 gMonStillFrontPic_Vulpix[];
+extern const u32 gMonFrontPic_Vulpix[];
+extern const u32 gMonPalette_Vulpix[];
+extern const u32 gMonBackPic_Vulpix[];
+extern const u32 gMonShinyPalette_Vulpix[];
+extern const u32 gMonStillFrontPic_Vulpix[];
extern const u8 gMonIcon_Vulpix[];
extern const u8 gMonFootprint_Vulpix[];
-extern const u8 gMonFrontPic_Ninetales[];
-extern const u8 gMonPalette_Ninetales[];
-extern const u8 gMonBackPic_Ninetales[];
-extern const u8 gMonShinyPalette_Ninetales[];
-extern const u8 gMonStillFrontPic_Ninetales[];
+extern const u32 gMonFrontPic_Ninetales[];
+extern const u32 gMonPalette_Ninetales[];
+extern const u32 gMonBackPic_Ninetales[];
+extern const u32 gMonShinyPalette_Ninetales[];
+extern const u32 gMonStillFrontPic_Ninetales[];
extern const u8 gMonIcon_Ninetales[];
extern const u8 gMonFootprint_Ninetales[];
-extern const u8 gMonFrontPic_Jigglypuff[];
-extern const u8 gMonPalette_Jigglypuff[];
-extern const u8 gMonBackPic_Jigglypuff[];
-extern const u8 gMonShinyPalette_Jigglypuff[];
-extern const u8 gMonStillFrontPic_Jigglypuff[];
+extern const u32 gMonFrontPic_Jigglypuff[];
+extern const u32 gMonPalette_Jigglypuff[];
+extern const u32 gMonBackPic_Jigglypuff[];
+extern const u32 gMonShinyPalette_Jigglypuff[];
+extern const u32 gMonStillFrontPic_Jigglypuff[];
extern const u8 gMonIcon_Jigglypuff[];
extern const u8 gMonFootprint_Jigglypuff[];
-extern const u8 gMonFrontPic_Wigglytuff[];
-extern const u8 gMonPalette_Wigglytuff[];
-extern const u8 gMonBackPic_Wigglytuff[];
-extern const u8 gMonShinyPalette_Wigglytuff[];
-extern const u8 gMonStillFrontPic_Wigglytuff[];
+extern const u32 gMonFrontPic_Wigglytuff[];
+extern const u32 gMonPalette_Wigglytuff[];
+extern const u32 gMonBackPic_Wigglytuff[];
+extern const u32 gMonShinyPalette_Wigglytuff[];
+extern const u32 gMonStillFrontPic_Wigglytuff[];
extern const u8 gMonIcon_Wigglytuff[];
extern const u8 gMonFootprint_Wigglytuff[];
-extern const u8 gMonFrontPic_Zubat[];
-extern const u8 gMonPalette_Zubat[];
-extern const u8 gMonBackPic_Zubat[];
-extern const u8 gMonShinyPalette_Zubat[];
-extern const u8 gMonStillFrontPic_Zubat[];
+extern const u32 gMonFrontPic_Zubat[];
+extern const u32 gMonPalette_Zubat[];
+extern const u32 gMonBackPic_Zubat[];
+extern const u32 gMonShinyPalette_Zubat[];
+extern const u32 gMonStillFrontPic_Zubat[];
extern const u8 gMonIcon_Zubat[];
extern const u8 gMonFootprint_Zubat[];
-extern const u8 gMonFrontPic_Golbat[];
-extern const u8 gMonPalette_Golbat[];
-extern const u8 gMonBackPic_Golbat[];
-extern const u8 gMonShinyPalette_Golbat[];
-extern const u8 gMonStillFrontPic_Golbat[];
+extern const u32 gMonFrontPic_Golbat[];
+extern const u32 gMonPalette_Golbat[];
+extern const u32 gMonBackPic_Golbat[];
+extern const u32 gMonShinyPalette_Golbat[];
+extern const u32 gMonStillFrontPic_Golbat[];
extern const u8 gMonIcon_Golbat[];
extern const u8 gMonFootprint_Golbat[];
-extern const u8 gMonFrontPic_Oddish[];
-extern const u8 gMonPalette_Oddish[];
-extern const u8 gMonBackPic_Oddish[];
-extern const u8 gMonShinyPalette_Oddish[];
-extern const u8 gMonStillFrontPic_Oddish[];
+extern const u32 gMonFrontPic_Oddish[];
+extern const u32 gMonPalette_Oddish[];
+extern const u32 gMonBackPic_Oddish[];
+extern const u32 gMonShinyPalette_Oddish[];
+extern const u32 gMonStillFrontPic_Oddish[];
extern const u8 gMonIcon_Oddish[];
extern const u8 gMonFootprint_Oddish[];
-extern const u8 gMonFrontPic_Gloom[];
-extern const u8 gMonPalette_Gloom[];
-extern const u8 gMonBackPic_Gloom[];
-extern const u8 gMonShinyPalette_Gloom[];
-extern const u8 gMonStillFrontPic_Gloom[];
+extern const u32 gMonFrontPic_Gloom[];
+extern const u32 gMonPalette_Gloom[];
+extern const u32 gMonBackPic_Gloom[];
+extern const u32 gMonShinyPalette_Gloom[];
+extern const u32 gMonStillFrontPic_Gloom[];
extern const u8 gMonIcon_Gloom[];
extern const u8 gMonFootprint_Gloom[];
-extern const u8 gMonFrontPic_Vileplume[];
-extern const u8 gMonPalette_Vileplume[];
-extern const u8 gMonBackPic_Vileplume[];
-extern const u8 gMonShinyPalette_Vileplume[];
-extern const u8 gMonStillFrontPic_Vileplume[];
+extern const u32 gMonFrontPic_Vileplume[];
+extern const u32 gMonPalette_Vileplume[];
+extern const u32 gMonBackPic_Vileplume[];
+extern const u32 gMonShinyPalette_Vileplume[];
+extern const u32 gMonStillFrontPic_Vileplume[];
extern const u8 gMonIcon_Vileplume[];
extern const u8 gMonFootprint_Vileplume[];
-extern const u8 gMonFrontPic_Paras[];
-extern const u8 gMonPalette_Paras[];
-extern const u8 gMonBackPic_Paras[];
-extern const u8 gMonShinyPalette_Paras[];
-extern const u8 gMonStillFrontPic_Paras[];
+extern const u32 gMonFrontPic_Paras[];
+extern const u32 gMonPalette_Paras[];
+extern const u32 gMonBackPic_Paras[];
+extern const u32 gMonShinyPalette_Paras[];
+extern const u32 gMonStillFrontPic_Paras[];
extern const u8 gMonIcon_Paras[];
extern const u8 gMonFootprint_Paras[];
-extern const u8 gMonFrontPic_Parasect[];
-extern const u8 gMonPalette_Parasect[];
-extern const u8 gMonBackPic_Parasect[];
-extern const u8 gMonShinyPalette_Parasect[];
-extern const u8 gMonStillFrontPic_Parasect[];
+extern const u32 gMonFrontPic_Parasect[];
+extern const u32 gMonPalette_Parasect[];
+extern const u32 gMonBackPic_Parasect[];
+extern const u32 gMonShinyPalette_Parasect[];
+extern const u32 gMonStillFrontPic_Parasect[];
extern const u8 gMonIcon_Parasect[];
extern const u8 gMonFootprint_Parasect[];
-extern const u8 gMonFrontPic_Venonat[];
-extern const u8 gMonPalette_Venonat[];
-extern const u8 gMonBackPic_Venonat[];
-extern const u8 gMonShinyPalette_Venonat[];
-extern const u8 gMonStillFrontPic_Venonat[];
+extern const u32 gMonFrontPic_Venonat[];
+extern const u32 gMonPalette_Venonat[];
+extern const u32 gMonBackPic_Venonat[];
+extern const u32 gMonShinyPalette_Venonat[];
+extern const u32 gMonStillFrontPic_Venonat[];
extern const u8 gMonIcon_Venonat[];
extern const u8 gMonFootprint_Venonat[];
-extern const u8 gMonFrontPic_Venomoth[];
-extern const u8 gMonPalette_Venomoth[];
-extern const u8 gMonBackPic_Venomoth[];
-extern const u8 gMonShinyPalette_Venomoth[];
-extern const u8 gMonStillFrontPic_Venomoth[];
+extern const u32 gMonFrontPic_Venomoth[];
+extern const u32 gMonPalette_Venomoth[];
+extern const u32 gMonBackPic_Venomoth[];
+extern const u32 gMonShinyPalette_Venomoth[];
+extern const u32 gMonStillFrontPic_Venomoth[];
extern const u8 gMonIcon_Venomoth[];
extern const u8 gMonFootprint_Venomoth[];
-extern const u8 gMonFrontPic_Diglett[];
-extern const u8 gMonPalette_Diglett[];
-extern const u8 gMonBackPic_Diglett[];
-extern const u8 gMonShinyPalette_Diglett[];
-extern const u8 gMonStillFrontPic_Diglett[];
+extern const u32 gMonFrontPic_Diglett[];
+extern const u32 gMonPalette_Diglett[];
+extern const u32 gMonBackPic_Diglett[];
+extern const u32 gMonShinyPalette_Diglett[];
+extern const u32 gMonStillFrontPic_Diglett[];
extern const u8 gMonIcon_Diglett[];
extern const u8 gMonFootprint_Diglett[];
-extern const u8 gMonFrontPic_Dugtrio[];
-extern const u8 gMonPalette_Dugtrio[];
-extern const u8 gMonBackPic_Dugtrio[];
-extern const u8 gMonShinyPalette_Dugtrio[];
-extern const u8 gMonStillFrontPic_Dugtrio[];
+extern const u32 gMonFrontPic_Dugtrio[];
+extern const u32 gMonPalette_Dugtrio[];
+extern const u32 gMonBackPic_Dugtrio[];
+extern const u32 gMonShinyPalette_Dugtrio[];
+extern const u32 gMonStillFrontPic_Dugtrio[];
extern const u8 gMonIcon_Dugtrio[];
extern const u8 gMonFootprint_Dugtrio[];
-extern const u8 gMonFrontPic_Meowth[];
-extern const u8 gMonPalette_Meowth[];
-extern const u8 gMonBackPic_Meowth[];
-extern const u8 gMonShinyPalette_Meowth[];
-extern const u8 gMonStillFrontPic_Meowth[];
+extern const u32 gMonFrontPic_Meowth[];
+extern const u32 gMonPalette_Meowth[];
+extern const u32 gMonBackPic_Meowth[];
+extern const u32 gMonShinyPalette_Meowth[];
+extern const u32 gMonStillFrontPic_Meowth[];
extern const u8 gMonIcon_Meowth[];
extern const u8 gMonFootprint_Meowth[];
-extern const u8 gMonFrontPic_Persian[];
-extern const u8 gMonPalette_Persian[];
-extern const u8 gMonBackPic_Persian[];
-extern const u8 gMonShinyPalette_Persian[];
-extern const u8 gMonStillFrontPic_Persian[];
+extern const u32 gMonFrontPic_Persian[];
+extern const u32 gMonPalette_Persian[];
+extern const u32 gMonBackPic_Persian[];
+extern const u32 gMonShinyPalette_Persian[];
+extern const u32 gMonStillFrontPic_Persian[];
extern const u8 gMonIcon_Persian[];
extern const u8 gMonFootprint_Persian[];
-extern const u8 gMonFrontPic_Psyduck[];
-extern const u8 gMonPalette_Psyduck[];
-extern const u8 gMonBackPic_Psyduck[];
-extern const u8 gMonShinyPalette_Psyduck[];
-extern const u8 gMonStillFrontPic_Psyduck[];
+extern const u32 gMonFrontPic_Psyduck[];
+extern const u32 gMonPalette_Psyduck[];
+extern const u32 gMonBackPic_Psyduck[];
+extern const u32 gMonShinyPalette_Psyduck[];
+extern const u32 gMonStillFrontPic_Psyduck[];
extern const u8 gMonIcon_Psyduck[];
extern const u8 gMonFootprint_Psyduck[];
-extern const u8 gMonFrontPic_Golduck[];
-extern const u8 gMonPalette_Golduck[];
-extern const u8 gMonBackPic_Golduck[];
-extern const u8 gMonShinyPalette_Golduck[];
-extern const u8 gMonStillFrontPic_Golduck[];
+extern const u32 gMonFrontPic_Golduck[];
+extern const u32 gMonPalette_Golduck[];
+extern const u32 gMonBackPic_Golduck[];
+extern const u32 gMonShinyPalette_Golduck[];
+extern const u32 gMonStillFrontPic_Golduck[];
extern const u8 gMonIcon_Golduck[];
extern const u8 gMonFootprint_Golduck[];
-extern const u8 gMonFrontPic_Mankey[];
-extern const u8 gMonPalette_Mankey[];
-extern const u8 gMonBackPic_Mankey[];
-extern const u8 gMonShinyPalette_Mankey[];
-extern const u8 gMonStillFrontPic_Mankey[];
+extern const u32 gMonFrontPic_Mankey[];
+extern const u32 gMonPalette_Mankey[];
+extern const u32 gMonBackPic_Mankey[];
+extern const u32 gMonShinyPalette_Mankey[];
+extern const u32 gMonStillFrontPic_Mankey[];
extern const u8 gMonIcon_Mankey[];
extern const u8 gMonFootprint_Mankey[];
-extern const u8 gMonFrontPic_Primeape[];
-extern const u8 gMonPalette_Primeape[];
-extern const u8 gMonBackPic_Primeape[];
-extern const u8 gMonShinyPalette_Primeape[];
-extern const u8 gMonStillFrontPic_Primeape[];
+extern const u32 gMonFrontPic_Primeape[];
+extern const u32 gMonPalette_Primeape[];
+extern const u32 gMonBackPic_Primeape[];
+extern const u32 gMonShinyPalette_Primeape[];
+extern const u32 gMonStillFrontPic_Primeape[];
extern const u8 gMonIcon_Primeape[];
extern const u8 gMonFootprint_Primeape[];
-extern const u8 gMonFrontPic_Growlithe[];
-extern const u8 gMonPalette_Growlithe[];
-extern const u8 gMonBackPic_Growlithe[];
-extern const u8 gMonShinyPalette_Growlithe[];
-extern const u8 gMonStillFrontPic_Growlithe[];
+extern const u32 gMonFrontPic_Growlithe[];
+extern const u32 gMonPalette_Growlithe[];
+extern const u32 gMonBackPic_Growlithe[];
+extern const u32 gMonShinyPalette_Growlithe[];
+extern const u32 gMonStillFrontPic_Growlithe[];
extern const u8 gMonIcon_Growlithe[];
extern const u8 gMonFootprint_Growlithe[];
-extern const u8 gMonFrontPic_Arcanine[];
-extern const u8 gMonPalette_Arcanine[];
-extern const u8 gMonBackPic_Arcanine[];
-extern const u8 gMonShinyPalette_Arcanine[];
-extern const u8 gMonStillFrontPic_Arcanine[];
+extern const u32 gMonFrontPic_Arcanine[];
+extern const u32 gMonPalette_Arcanine[];
+extern const u32 gMonBackPic_Arcanine[];
+extern const u32 gMonShinyPalette_Arcanine[];
+extern const u32 gMonStillFrontPic_Arcanine[];
extern const u8 gMonIcon_Arcanine[];
extern const u8 gMonFootprint_Arcanine[];
-extern const u8 gMonFrontPic_Poliwag[];
-extern const u8 gMonPalette_Poliwag[];
-extern const u8 gMonBackPic_Poliwag[];
-extern const u8 gMonShinyPalette_Poliwag[];
-extern const u8 gMonStillFrontPic_Poliwag[];
+extern const u32 gMonFrontPic_Poliwag[];
+extern const u32 gMonPalette_Poliwag[];
+extern const u32 gMonBackPic_Poliwag[];
+extern const u32 gMonShinyPalette_Poliwag[];
+extern const u32 gMonStillFrontPic_Poliwag[];
extern const u8 gMonIcon_Poliwag[];
extern const u8 gMonFootprint_Poliwag[];
-extern const u8 gMonFrontPic_Poliwhirl[];
-extern const u8 gMonPalette_Poliwhirl[];
-extern const u8 gMonBackPic_Poliwhirl[];
-extern const u8 gMonShinyPalette_Poliwhirl[];
-extern const u8 gMonStillFrontPic_Poliwhirl[];
+extern const u32 gMonFrontPic_Poliwhirl[];
+extern const u32 gMonPalette_Poliwhirl[];
+extern const u32 gMonBackPic_Poliwhirl[];
+extern const u32 gMonShinyPalette_Poliwhirl[];
+extern const u32 gMonStillFrontPic_Poliwhirl[];
extern const u8 gMonIcon_Poliwhirl[];
extern const u8 gMonFootprint_Poliwhirl[];
-extern const u8 gMonFrontPic_Poliwrath[];
-extern const u8 gMonPalette_Poliwrath[];
-extern const u8 gMonBackPic_Poliwrath[];
-extern const u8 gMonShinyPalette_Poliwrath[];
-extern const u8 gMonStillFrontPic_Poliwrath[];
+extern const u32 gMonFrontPic_Poliwrath[];
+extern const u32 gMonPalette_Poliwrath[];
+extern const u32 gMonBackPic_Poliwrath[];
+extern const u32 gMonShinyPalette_Poliwrath[];
+extern const u32 gMonStillFrontPic_Poliwrath[];
extern const u8 gMonIcon_Poliwrath[];
extern const u8 gMonFootprint_Poliwrath[];
-extern const u8 gMonFrontPic_Abra[];
-extern const u8 gMonPalette_Abra[];
-extern const u8 gMonBackPic_Abra[];
-extern const u8 gMonShinyPalette_Abra[];
-extern const u8 gMonStillFrontPic_Abra[];
+extern const u32 gMonFrontPic_Abra[];
+extern const u32 gMonPalette_Abra[];
+extern const u32 gMonBackPic_Abra[];
+extern const u32 gMonShinyPalette_Abra[];
+extern const u32 gMonStillFrontPic_Abra[];
extern const u8 gMonIcon_Abra[];
extern const u8 gMonFootprint_Abra[];
-extern const u8 gMonFrontPic_Kadabra[];
-extern const u8 gMonPalette_Kadabra[];
-extern const u8 gMonBackPic_Kadabra[];
-extern const u8 gMonShinyPalette_Kadabra[];
-extern const u8 gMonStillFrontPic_Kadabra[];
+extern const u32 gMonFrontPic_Kadabra[];
+extern const u32 gMonPalette_Kadabra[];
+extern const u32 gMonBackPic_Kadabra[];
+extern const u32 gMonShinyPalette_Kadabra[];
+extern const u32 gMonStillFrontPic_Kadabra[];
extern const u8 gMonIcon_Kadabra[];
extern const u8 gMonFootprint_Kadabra[];
-extern const u8 gMonFrontPic_Alakazam[];
-extern const u8 gMonPalette_Alakazam[];
-extern const u8 gMonBackPic_Alakazam[];
-extern const u8 gMonShinyPalette_Alakazam[];
-extern const u8 gMonStillFrontPic_Alakazam[];
+extern const u32 gMonFrontPic_Alakazam[];
+extern const u32 gMonPalette_Alakazam[];
+extern const u32 gMonBackPic_Alakazam[];
+extern const u32 gMonShinyPalette_Alakazam[];
+extern const u32 gMonStillFrontPic_Alakazam[];
extern const u8 gMonIcon_Alakazam[];
extern const u8 gMonFootprint_Alakazam[];
-extern const u8 gMonFrontPic_Machop[];
-extern const u8 gMonPalette_Machop[];
-extern const u8 gMonBackPic_Machop[];
-extern const u8 gMonShinyPalette_Machop[];
-extern const u8 gMonStillFrontPic_Machop[];
+extern const u32 gMonFrontPic_Machop[];
+extern const u32 gMonPalette_Machop[];
+extern const u32 gMonBackPic_Machop[];
+extern const u32 gMonShinyPalette_Machop[];
+extern const u32 gMonStillFrontPic_Machop[];
extern const u8 gMonIcon_Machop[];
extern const u8 gMonFootprint_Machop[];
-extern const u8 gMonFrontPic_Machoke[];
-extern const u8 gMonPalette_Machoke[];
-extern const u8 gMonBackPic_Machoke[];
-extern const u8 gMonShinyPalette_Machoke[];
-extern const u8 gMonStillFrontPic_Machoke[];
+extern const u32 gMonFrontPic_Machoke[];
+extern const u32 gMonPalette_Machoke[];
+extern const u32 gMonBackPic_Machoke[];
+extern const u32 gMonShinyPalette_Machoke[];
+extern const u32 gMonStillFrontPic_Machoke[];
extern const u8 gMonIcon_Machoke[];
extern const u8 gMonFootprint_Machoke[];
-extern const u8 gMonFrontPic_Machamp[];
-extern const u8 gMonPalette_Machamp[];
-extern const u8 gMonBackPic_Machamp[];
-extern const u8 gMonShinyPalette_Machamp[];
-extern const u8 gMonStillFrontPic_Machamp[];
+extern const u32 gMonFrontPic_Machamp[];
+extern const u32 gMonPalette_Machamp[];
+extern const u32 gMonBackPic_Machamp[];
+extern const u32 gMonShinyPalette_Machamp[];
+extern const u32 gMonStillFrontPic_Machamp[];
extern const u8 gMonIcon_Machamp[];
extern const u8 gMonFootprint_Machamp[];
-extern const u8 gMonFrontPic_Bellsprout[];
-extern const u8 gMonPalette_Bellsprout[];
-extern const u8 gMonBackPic_Bellsprout[];
-extern const u8 gMonShinyPalette_Bellsprout[];
-extern const u8 gMonStillFrontPic_Bellsprout[];
+extern const u32 gMonFrontPic_Bellsprout[];
+extern const u32 gMonPalette_Bellsprout[];
+extern const u32 gMonBackPic_Bellsprout[];
+extern const u32 gMonShinyPalette_Bellsprout[];
+extern const u32 gMonStillFrontPic_Bellsprout[];
extern const u8 gMonIcon_Bellsprout[];
extern const u8 gMonFootprint_Bellsprout[];
-extern const u8 gMonFrontPic_Weepinbell[];
-extern const u8 gMonPalette_Weepinbell[];
-extern const u8 gMonBackPic_Weepinbell[];
-extern const u8 gMonShinyPalette_Weepinbell[];
-extern const u8 gMonStillFrontPic_Weepinbell[];
+extern const u32 gMonFrontPic_Weepinbell[];
+extern const u32 gMonPalette_Weepinbell[];
+extern const u32 gMonBackPic_Weepinbell[];
+extern const u32 gMonShinyPalette_Weepinbell[];
+extern const u32 gMonStillFrontPic_Weepinbell[];
extern const u8 gMonIcon_Weepinbell[];
extern const u8 gMonFootprint_Weepinbell[];
-extern const u8 gMonFrontPic_Victreebel[];
-extern const u8 gMonPalette_Victreebel[];
-extern const u8 gMonBackPic_Victreebel[];
-extern const u8 gMonShinyPalette_Victreebel[];
-extern const u8 gMonStillFrontPic_Victreebel[];
+extern const u32 gMonFrontPic_Victreebel[];
+extern const u32 gMonPalette_Victreebel[];
+extern const u32 gMonBackPic_Victreebel[];
+extern const u32 gMonShinyPalette_Victreebel[];
+extern const u32 gMonStillFrontPic_Victreebel[];
extern const u8 gMonIcon_Victreebel[];
extern const u8 gMonFootprint_Victreebel[];
-extern const u8 gMonFrontPic_Tentacool[];
-extern const u8 gMonPalette_Tentacool[];
-extern const u8 gMonBackPic_Tentacool[];
-extern const u8 gMonShinyPalette_Tentacool[];
-extern const u8 gMonStillFrontPic_Tentacool[];
+extern const u32 gMonFrontPic_Tentacool[];
+extern const u32 gMonPalette_Tentacool[];
+extern const u32 gMonBackPic_Tentacool[];
+extern const u32 gMonShinyPalette_Tentacool[];
+extern const u32 gMonStillFrontPic_Tentacool[];
extern const u8 gMonIcon_Tentacool[];
extern const u8 gMonFootprint_Tentacool[];
-extern const u8 gMonFrontPic_Tentacruel[];
-extern const u8 gMonPalette_Tentacruel[];
-extern const u8 gMonBackPic_Tentacruel[];
-extern const u8 gMonShinyPalette_Tentacruel[];
-extern const u8 gMonStillFrontPic_Tentacruel[];
+extern const u32 gMonFrontPic_Tentacruel[];
+extern const u32 gMonPalette_Tentacruel[];
+extern const u32 gMonBackPic_Tentacruel[];
+extern const u32 gMonShinyPalette_Tentacruel[];
+extern const u32 gMonStillFrontPic_Tentacruel[];
extern const u8 gMonIcon_Tentacruel[];
extern const u8 gMonFootprint_Tentacruel[];
-extern const u8 gMonFrontPic_Geodude[];
-extern const u8 gMonPalette_Geodude[];
-extern const u8 gMonBackPic_Geodude[];
-extern const u8 gMonShinyPalette_Geodude[];
-extern const u8 gMonStillFrontPic_Geodude[];
+extern const u32 gMonFrontPic_Geodude[];
+extern const u32 gMonPalette_Geodude[];
+extern const u32 gMonBackPic_Geodude[];
+extern const u32 gMonShinyPalette_Geodude[];
+extern const u32 gMonStillFrontPic_Geodude[];
extern const u8 gMonIcon_Geodude[];
extern const u8 gMonFootprint_Geodude[];
-extern const u8 gMonFrontPic_Graveler[];
-extern const u8 gMonPalette_Graveler[];
-extern const u8 gMonBackPic_Graveler[];
-extern const u8 gMonShinyPalette_Graveler[];
-extern const u8 gMonStillFrontPic_Graveler[];
+extern const u32 gMonFrontPic_Graveler[];
+extern const u32 gMonPalette_Graveler[];
+extern const u32 gMonBackPic_Graveler[];
+extern const u32 gMonShinyPalette_Graveler[];
+extern const u32 gMonStillFrontPic_Graveler[];
extern const u8 gMonIcon_Graveler[];
extern const u8 gMonFootprint_Graveler[];
-extern const u8 gMonFrontPic_Golem[];
-extern const u8 gMonPalette_Golem[];
-extern const u8 gMonBackPic_Golem[];
-extern const u8 gMonShinyPalette_Golem[];
-extern const u8 gMonStillFrontPic_Golem[];
+extern const u32 gMonFrontPic_Golem[];
+extern const u32 gMonPalette_Golem[];
+extern const u32 gMonBackPic_Golem[];
+extern const u32 gMonShinyPalette_Golem[];
+extern const u32 gMonStillFrontPic_Golem[];
extern const u8 gMonIcon_Golem[];
extern const u8 gMonFootprint_Golem[];
-extern const u8 gMonFrontPic_Ponyta[];
-extern const u8 gMonPalette_Ponyta[];
-extern const u8 gMonBackPic_Ponyta[];
-extern const u8 gMonShinyPalette_Ponyta[];
-extern const u8 gMonStillFrontPic_Ponyta[];
+extern const u32 gMonFrontPic_Ponyta[];
+extern const u32 gMonPalette_Ponyta[];
+extern const u32 gMonBackPic_Ponyta[];
+extern const u32 gMonShinyPalette_Ponyta[];
+extern const u32 gMonStillFrontPic_Ponyta[];
extern const u8 gMonIcon_Ponyta[];
extern const u8 gMonFootprint_Ponyta[];
-extern const u8 gMonFrontPic_Rapidash[];
-extern const u8 gMonPalette_Rapidash[];
-extern const u8 gMonBackPic_Rapidash[];
-extern const u8 gMonShinyPalette_Rapidash[];
-extern const u8 gMonStillFrontPic_Rapidash[];
+extern const u32 gMonFrontPic_Rapidash[];
+extern const u32 gMonPalette_Rapidash[];
+extern const u32 gMonBackPic_Rapidash[];
+extern const u32 gMonShinyPalette_Rapidash[];
+extern const u32 gMonStillFrontPic_Rapidash[];
extern const u8 gMonIcon_Rapidash[];
extern const u8 gMonFootprint_Rapidash[];
-extern const u8 gMonFrontPic_Slowpoke[];
-extern const u8 gMonPalette_Slowpoke[];
-extern const u8 gMonBackPic_Slowpoke[];
-extern const u8 gMonShinyPalette_Slowpoke[];
-extern const u8 gMonStillFrontPic_Slowpoke[];
+extern const u32 gMonFrontPic_Slowpoke[];
+extern const u32 gMonPalette_Slowpoke[];
+extern const u32 gMonBackPic_Slowpoke[];
+extern const u32 gMonShinyPalette_Slowpoke[];
+extern const u32 gMonStillFrontPic_Slowpoke[];
extern const u8 gMonIcon_Slowpoke[];
extern const u8 gMonFootprint_Slowpoke[];
-extern const u8 gMonFrontPic_Slowbro[];
-extern const u8 gMonPalette_Slowbro[];
-extern const u8 gMonBackPic_Slowbro[];
-extern const u8 gMonShinyPalette_Slowbro[];
-extern const u8 gMonStillFrontPic_Slowbro[];
+extern const u32 gMonFrontPic_Slowbro[];
+extern const u32 gMonPalette_Slowbro[];
+extern const u32 gMonBackPic_Slowbro[];
+extern const u32 gMonShinyPalette_Slowbro[];
+extern const u32 gMonStillFrontPic_Slowbro[];
extern const u8 gMonIcon_Slowbro[];
extern const u8 gMonFootprint_Slowbro[];
-extern const u8 gMonFrontPic_Magnemite[];
-extern const u8 gMonPalette_Magnemite[];
-extern const u8 gMonBackPic_Magnemite[];
-extern const u8 gMonShinyPalette_Magnemite[];
-extern const u8 gMonStillFrontPic_Magnemite[];
+extern const u32 gMonFrontPic_Magnemite[];
+extern const u32 gMonPalette_Magnemite[];
+extern const u32 gMonBackPic_Magnemite[];
+extern const u32 gMonShinyPalette_Magnemite[];
+extern const u32 gMonStillFrontPic_Magnemite[];
extern const u8 gMonIcon_Magnemite[];
extern const u8 gMonFootprint_Magnemite[];
-extern const u8 gMonFrontPic_Magneton[];
-extern const u8 gMonPalette_Magneton[];
-extern const u8 gMonBackPic_Magneton[];
-extern const u8 gMonShinyPalette_Magneton[];
-extern const u8 gMonStillFrontPic_Magneton[];
+extern const u32 gMonFrontPic_Magneton[];
+extern const u32 gMonPalette_Magneton[];
+extern const u32 gMonBackPic_Magneton[];
+extern const u32 gMonShinyPalette_Magneton[];
+extern const u32 gMonStillFrontPic_Magneton[];
extern const u8 gMonIcon_Magneton[];
extern const u8 gMonFootprint_Magneton[];
-extern const u8 gMonFrontPic_Farfetchd[];
-extern const u8 gMonPalette_Farfetchd[];
-extern const u8 gMonBackPic_Farfetchd[];
-extern const u8 gMonShinyPalette_Farfetchd[];
-extern const u8 gMonStillFrontPic_Farfetchd[];
+extern const u32 gMonFrontPic_Farfetchd[];
+extern const u32 gMonPalette_Farfetchd[];
+extern const u32 gMonBackPic_Farfetchd[];
+extern const u32 gMonShinyPalette_Farfetchd[];
+extern const u32 gMonStillFrontPic_Farfetchd[];
extern const u8 gMonIcon_Farfetchd[];
extern const u8 gMonFootprint_Farfetchd[];
-extern const u8 gMonFrontPic_Doduo[];
-extern const u8 gMonPalette_Doduo[];
-extern const u8 gMonBackPic_Doduo[];
-extern const u8 gMonShinyPalette_Doduo[];
-extern const u8 gMonStillFrontPic_Doduo[];
+extern const u32 gMonFrontPic_Doduo[];
+extern const u32 gMonPalette_Doduo[];
+extern const u32 gMonBackPic_Doduo[];
+extern const u32 gMonShinyPalette_Doduo[];
+extern const u32 gMonStillFrontPic_Doduo[];
extern const u8 gMonIcon_Doduo[];
extern const u8 gMonFootprint_Doduo[];
-extern const u8 gMonFrontPic_Dodrio[];
-extern const u8 gMonPalette_Dodrio[];
-extern const u8 gMonBackPic_Dodrio[];
-extern const u8 gMonShinyPalette_Dodrio[];
-extern const u8 gMonStillFrontPic_Dodrio[];
+extern const u32 gMonFrontPic_Dodrio[];
+extern const u32 gMonPalette_Dodrio[];
+extern const u32 gMonBackPic_Dodrio[];
+extern const u32 gMonShinyPalette_Dodrio[];
+extern const u32 gMonStillFrontPic_Dodrio[];
extern const u8 gMonIcon_Dodrio[];
extern const u8 gMonFootprint_Dodrio[];
-extern const u8 gMonFrontPic_Seel[];
-extern const u8 gMonPalette_Seel[];
-extern const u8 gMonBackPic_Seel[];
-extern const u8 gMonShinyPalette_Seel[];
-extern const u8 gMonStillFrontPic_Seel[];
+extern const u32 gMonFrontPic_Seel[];
+extern const u32 gMonPalette_Seel[];
+extern const u32 gMonBackPic_Seel[];
+extern const u32 gMonShinyPalette_Seel[];
+extern const u32 gMonStillFrontPic_Seel[];
extern const u8 gMonIcon_Seel[];
extern const u8 gMonFootprint_Seel[];
-extern const u8 gMonFrontPic_Dewgong[];
-extern const u8 gMonPalette_Dewgong[];
-extern const u8 gMonBackPic_Dewgong[];
-extern const u8 gMonShinyPalette_Dewgong[];
-extern const u8 gMonStillFrontPic_Dewgong[];
+extern const u32 gMonFrontPic_Dewgong[];
+extern const u32 gMonPalette_Dewgong[];
+extern const u32 gMonBackPic_Dewgong[];
+extern const u32 gMonShinyPalette_Dewgong[];
+extern const u32 gMonStillFrontPic_Dewgong[];
extern const u8 gMonIcon_Dewgong[];
extern const u8 gMonFootprint_Dewgong[];
-extern const u8 gMonFrontPic_Grimer[];
-extern const u8 gMonPalette_Grimer[];
-extern const u8 gMonBackPic_Grimer[];
-extern const u8 gMonShinyPalette_Grimer[];
-extern const u8 gMonStillFrontPic_Grimer[];
+extern const u32 gMonFrontPic_Grimer[];
+extern const u32 gMonPalette_Grimer[];
+extern const u32 gMonBackPic_Grimer[];
+extern const u32 gMonShinyPalette_Grimer[];
+extern const u32 gMonStillFrontPic_Grimer[];
extern const u8 gMonIcon_Grimer[];
extern const u8 gMonFootprint_Grimer[];
-extern const u8 gMonStillFrontPic_Muk[];
-extern const u8 gMonFrontPic_Muk[];
-extern const u8 gMonPalette_Muk[];
-extern const u8 gMonBackPic_Muk[];
-extern const u8 gMonShinyPalette_Muk[];
-extern const u8 gMonStillFrontPic_Shellder[];
+extern const u32 gMonStillFrontPic_Muk[];
+extern const u32 gMonFrontPic_Muk[];
+extern const u32 gMonPalette_Muk[];
+extern const u32 gMonBackPic_Muk[];
+extern const u32 gMonShinyPalette_Muk[];
+extern const u32 gMonStillFrontPic_Shellder[];
extern const u8 gMonIcon_Muk[];
extern const u8 gMonFootprint_Muk[];
-extern const u8 gMonFrontPic_Shellder[];
-extern const u8 gMonPalette_Shellder[];
-extern const u8 gMonBackPic_Shellder[];
-extern const u8 gMonShinyPalette_Shellder[];
-extern const u8 gMonStillFrontPic_Cloyster[];
+extern const u32 gMonFrontPic_Shellder[];
+extern const u32 gMonPalette_Shellder[];
+extern const u32 gMonBackPic_Shellder[];
+extern const u32 gMonShinyPalette_Shellder[];
+extern const u32 gMonStillFrontPic_Cloyster[];
extern const u8 gMonIcon_Shellder[];
extern const u8 gMonFootprint_Shellder[];
-extern const u8 gMonFrontPic_Cloyster[];
-extern const u8 gMonPalette_Cloyster[];
-extern const u8 gMonBackPic_Cloyster[];
-extern const u8 gMonShinyPalette_Cloyster[];
-extern const u8 gMonStillFrontPic_Gastly[];
+extern const u32 gMonFrontPic_Cloyster[];
+extern const u32 gMonPalette_Cloyster[];
+extern const u32 gMonBackPic_Cloyster[];
+extern const u32 gMonShinyPalette_Cloyster[];
+extern const u32 gMonStillFrontPic_Gastly[];
extern const u8 gMonIcon_Cloyster[];
extern const u8 gMonFootprint_Cloyster[];
-extern const u8 gMonFrontPic_Gastly[];
-extern const u8 gMonPalette_Gastly[];
-extern const u8 gMonBackPic_Gastly[];
-extern const u8 gMonShinyPalette_Gastly[];
-extern const u8 gMonStillFrontPic_Haunter[];
+extern const u32 gMonFrontPic_Gastly[];
+extern const u32 gMonPalette_Gastly[];
+extern const u32 gMonBackPic_Gastly[];
+extern const u32 gMonShinyPalette_Gastly[];
+extern const u32 gMonStillFrontPic_Haunter[];
extern const u8 gMonIcon_Gastly[];
extern const u8 gMonFootprint_Gastly[];
-extern const u8 gMonFrontPic_Haunter[];
-extern const u8 gMonPalette_Haunter[];
-extern const u8 gMonBackPic_Haunter[];
-extern const u8 gMonShinyPalette_Haunter[];
-extern const u8 gMonStillFrontPic_Haunter[];
+extern const u32 gMonFrontPic_Haunter[];
+extern const u32 gMonPalette_Haunter[];
+extern const u32 gMonBackPic_Haunter[];
+extern const u32 gMonShinyPalette_Haunter[];
+extern const u32 gMonStillFrontPic_Haunter[];
extern const u8 gMonIcon_Haunter[];
extern const u8 gMonFootprint_Haunter[];
-extern const u8 gMonFrontPic_Gengar[];
-extern const u8 gMonPalette_Gengar[];
-extern const u8 gMonBackPic_Gengar[];
-extern const u8 gMonShinyPalette_Gengar[];
-extern const u8 gMonStillFrontPic_Gengar[];
+extern const u32 gMonFrontPic_Gengar[];
+extern const u32 gMonPalette_Gengar[];
+extern const u32 gMonBackPic_Gengar[];
+extern const u32 gMonShinyPalette_Gengar[];
+extern const u32 gMonStillFrontPic_Gengar[];
extern const u8 gMonIcon_Gengar[];
extern const u8 gMonFootprint_Gengar[];
-extern const u8 gMonFrontPic_Onix[];
-extern const u8 gMonPalette_Onix[];
-extern const u8 gMonBackPic_Onix[];
-extern const u8 gMonShinyPalette_Onix[];
-extern const u8 gMonStillFrontPic_Onix[];
+extern const u32 gMonFrontPic_Onix[];
+extern const u32 gMonPalette_Onix[];
+extern const u32 gMonBackPic_Onix[];
+extern const u32 gMonShinyPalette_Onix[];
+extern const u32 gMonStillFrontPic_Onix[];
extern const u8 gMonIcon_Onix[];
extern const u8 gMonFootprint_Onix[];
-extern const u8 gMonFrontPic_Drowzee[];
-extern const u8 gMonPalette_Drowzee[];
-extern const u8 gMonBackPic_Drowzee[];
-extern const u8 gMonShinyPalette_Drowzee[];
-extern const u8 gMonStillFrontPic_Drowzee[];
+extern const u32 gMonFrontPic_Drowzee[];
+extern const u32 gMonPalette_Drowzee[];
+extern const u32 gMonBackPic_Drowzee[];
+extern const u32 gMonShinyPalette_Drowzee[];
+extern const u32 gMonStillFrontPic_Drowzee[];
extern const u8 gMonIcon_Drowzee[];
extern const u8 gMonFootprint_Drowzee[];
-extern const u8 gMonFrontPic_Hypno[];
-extern const u8 gMonPalette_Hypno[];
-extern const u8 gMonBackPic_Hypno[];
-extern const u8 gMonShinyPalette_Hypno[];
-extern const u8 gMonStillFrontPic_Hypno[];
+extern const u32 gMonFrontPic_Hypno[];
+extern const u32 gMonPalette_Hypno[];
+extern const u32 gMonBackPic_Hypno[];
+extern const u32 gMonShinyPalette_Hypno[];
+extern const u32 gMonStillFrontPic_Hypno[];
extern const u8 gMonIcon_Hypno[];
extern const u8 gMonFootprint_Hypno[];
-extern const u8 gMonFrontPic_Krabby[];
-extern const u8 gMonPalette_Krabby[];
-extern const u8 gMonBackPic_Krabby[];
-extern const u8 gMonShinyPalette_Krabby[];
-extern const u8 gMonStillFrontPic_Krabby[];
+extern const u32 gMonFrontPic_Krabby[];
+extern const u32 gMonPalette_Krabby[];
+extern const u32 gMonBackPic_Krabby[];
+extern const u32 gMonShinyPalette_Krabby[];
+extern const u32 gMonStillFrontPic_Krabby[];
extern const u8 gMonIcon_Krabby[];
extern const u8 gMonFootprint_Krabby[];
-extern const u8 gMonFrontPic_Kingler[];
-extern const u8 gMonPalette_Kingler[];
-extern const u8 gMonBackPic_Kingler[];
-extern const u8 gMonShinyPalette_Kingler[];
-extern const u8 gMonStillFrontPic_Kingler[];
+extern const u32 gMonFrontPic_Kingler[];
+extern const u32 gMonPalette_Kingler[];
+extern const u32 gMonBackPic_Kingler[];
+extern const u32 gMonShinyPalette_Kingler[];
+extern const u32 gMonStillFrontPic_Kingler[];
extern const u8 gMonIcon_Kingler[];
extern const u8 gMonFootprint_Kingler[];
-extern const u8 gMonFrontPic_Voltorb[];
-extern const u8 gMonPalette_Voltorb[];
-extern const u8 gMonBackPic_Voltorb[];
-extern const u8 gMonShinyPalette_Voltorb[];
-extern const u8 gMonStillFrontPic_Voltorb[];
+extern const u32 gMonFrontPic_Voltorb[];
+extern const u32 gMonPalette_Voltorb[];
+extern const u32 gMonBackPic_Voltorb[];
+extern const u32 gMonShinyPalette_Voltorb[];
+extern const u32 gMonStillFrontPic_Voltorb[];
extern const u8 gMonIcon_Voltorb[];
extern const u8 gMonFootprint_Voltorb[];
-extern const u8 gMonFrontPic_Electrode[];
-extern const u8 gMonPalette_Electrode[];
-extern const u8 gMonBackPic_Electrode[];
-extern const u8 gMonShinyPalette_Electrode[];
-extern const u8 gMonStillFrontPic_Electrode[];
+extern const u32 gMonFrontPic_Electrode[];
+extern const u32 gMonPalette_Electrode[];
+extern const u32 gMonBackPic_Electrode[];
+extern const u32 gMonShinyPalette_Electrode[];
+extern const u32 gMonStillFrontPic_Electrode[];
extern const u8 gMonIcon_Electrode[];
extern const u8 gMonFootprint_Electrode[];
-extern const u8 gMonFrontPic_Exeggcute[];
-extern const u8 gMonPalette_Exeggcute[];
-extern const u8 gMonBackPic_Exeggcute[];
-extern const u8 gMonShinyPalette_Exeggcute[];
-extern const u8 gMonStillFrontPic_Exeggcute[];
+extern const u32 gMonFrontPic_Exeggcute[];
+extern const u32 gMonPalette_Exeggcute[];
+extern const u32 gMonBackPic_Exeggcute[];
+extern const u32 gMonShinyPalette_Exeggcute[];
+extern const u32 gMonStillFrontPic_Exeggcute[];
extern const u8 gMonIcon_Exeggcute[];
extern const u8 gMonFootprint_Exeggcute[];
-extern const u8 gMonFrontPic_Exeggutor[];
-extern const u8 gMonPalette_Exeggutor[];
-extern const u8 gMonBackPic_Exeggutor[];
-extern const u8 gMonShinyPalette_Exeggutor[];
-extern const u8 gMonStillFrontPic_Exeggutor[];
+extern const u32 gMonFrontPic_Exeggutor[];
+extern const u32 gMonPalette_Exeggutor[];
+extern const u32 gMonBackPic_Exeggutor[];
+extern const u32 gMonShinyPalette_Exeggutor[];
+extern const u32 gMonStillFrontPic_Exeggutor[];
extern const u8 gMonIcon_Exeggutor[];
extern const u8 gMonFootprint_Exeggutor[];
-extern const u8 gMonFrontPic_Cubone[];
-extern const u8 gMonPalette_Cubone[];
-extern const u8 gMonBackPic_Cubone[];
-extern const u8 gMonShinyPalette_Cubone[];
-extern const u8 gMonStillFrontPic_Cubone[];
+extern const u32 gMonFrontPic_Cubone[];
+extern const u32 gMonPalette_Cubone[];
+extern const u32 gMonBackPic_Cubone[];
+extern const u32 gMonShinyPalette_Cubone[];
+extern const u32 gMonStillFrontPic_Cubone[];
extern const u8 gMonIcon_Cubone[];
extern const u8 gMonFootprint_Cubone[];
-extern const u8 gMonFrontPic_Marowak[];
-extern const u8 gMonPalette_Marowak[];
-extern const u8 gMonBackPic_Marowak[];
-extern const u8 gMonShinyPalette_Marowak[];
-extern const u8 gMonStillFrontPic_Marowak[];
+extern const u32 gMonFrontPic_Marowak[];
+extern const u32 gMonPalette_Marowak[];
+extern const u32 gMonBackPic_Marowak[];
+extern const u32 gMonShinyPalette_Marowak[];
+extern const u32 gMonStillFrontPic_Marowak[];
extern const u8 gMonIcon_Marowak[];
extern const u8 gMonFootprint_Marowak[];
-extern const u8 gMonFrontPic_Hitmonlee[];
-extern const u8 gMonPalette_Hitmonlee[];
-extern const u8 gMonBackPic_Hitmonlee[];
-extern const u8 gMonShinyPalette_Hitmonlee[];
-extern const u8 gMonStillFrontPic_Hitmonlee[];
+extern const u32 gMonFrontPic_Hitmonlee[];
+extern const u32 gMonPalette_Hitmonlee[];
+extern const u32 gMonBackPic_Hitmonlee[];
+extern const u32 gMonShinyPalette_Hitmonlee[];
+extern const u32 gMonStillFrontPic_Hitmonlee[];
extern const u8 gMonIcon_Hitmonlee[];
extern const u8 gMonFootprint_Hitmonlee[];
-extern const u8 gMonFrontPic_Hitmonchan[];
-extern const u8 gMonPalette_Hitmonchan[];
-extern const u8 gMonBackPic_Hitmonchan[];
-extern const u8 gMonShinyPalette_Hitmonchan[];
-extern const u8 gMonStillFrontPic_Hitmonchan[];
+extern const u32 gMonFrontPic_Hitmonchan[];
+extern const u32 gMonPalette_Hitmonchan[];
+extern const u32 gMonBackPic_Hitmonchan[];
+extern const u32 gMonShinyPalette_Hitmonchan[];
+extern const u32 gMonStillFrontPic_Hitmonchan[];
extern const u8 gMonIcon_Hitmonchan[];
extern const u8 gMonFootprint_Hitmonchan[];
-extern const u8 gMonFrontPic_Lickitung[];
-extern const u8 gMonPalette_Lickitung[];
-extern const u8 gMonBackPic_Lickitung[];
-extern const u8 gMonShinyPalette_Lickitung[];
-extern const u8 gMonStillFrontPic_Lickitung[];
+extern const u32 gMonFrontPic_Lickitung[];
+extern const u32 gMonPalette_Lickitung[];
+extern const u32 gMonBackPic_Lickitung[];
+extern const u32 gMonShinyPalette_Lickitung[];
+extern const u32 gMonStillFrontPic_Lickitung[];
extern const u8 gMonIcon_Lickitung[];
extern const u8 gMonFootprint_Lickitung[];
-extern const u8 gMonFrontPic_Koffing[];
-extern const u8 gMonPalette_Koffing[];
-extern const u8 gMonBackPic_Koffing[];
-extern const u8 gMonShinyPalette_Koffing[];
-extern const u8 gMonStillFrontPic_Koffing[];
+extern const u32 gMonFrontPic_Koffing[];
+extern const u32 gMonPalette_Koffing[];
+extern const u32 gMonBackPic_Koffing[];
+extern const u32 gMonShinyPalette_Koffing[];
+extern const u32 gMonStillFrontPic_Koffing[];
extern const u8 gMonIcon_Koffing[];
extern const u8 gMonFootprint_Koffing[];
-extern const u8 gMonFrontPic_Weezing[];
-extern const u8 gMonPalette_Weezing[];
-extern const u8 gMonBackPic_Weezing[];
-extern const u8 gMonShinyPalette_Weezing[];
-extern const u8 gMonStillFrontPic_Weezing[];
+extern const u32 gMonFrontPic_Weezing[];
+extern const u32 gMonPalette_Weezing[];
+extern const u32 gMonBackPic_Weezing[];
+extern const u32 gMonShinyPalette_Weezing[];
+extern const u32 gMonStillFrontPic_Weezing[];
extern const u8 gMonIcon_Weezing[];
extern const u8 gMonFootprint_Weezing[];
-extern const u8 gMonFrontPic_Rhyhorn[];
-extern const u8 gMonPalette_Rhyhorn[];
-extern const u8 gMonBackPic_Rhyhorn[];
-extern const u8 gMonShinyPalette_Rhyhorn[];
-extern const u8 gMonStillFrontPic_Rhyhorn[];
+extern const u32 gMonFrontPic_Rhyhorn[];
+extern const u32 gMonPalette_Rhyhorn[];
+extern const u32 gMonBackPic_Rhyhorn[];
+extern const u32 gMonShinyPalette_Rhyhorn[];
+extern const u32 gMonStillFrontPic_Rhyhorn[];
extern const u8 gMonIcon_Rhyhorn[];
extern const u8 gMonFootprint_Rhyhorn[];
-extern const u8 gMonFrontPic_Rhydon[];
-extern const u8 gMonPalette_Rhydon[];
-extern const u8 gMonBackPic_Rhydon[];
-extern const u8 gMonShinyPalette_Rhydon[];
-extern const u8 gMonStillFrontPic_Rhydon[];
+extern const u32 gMonFrontPic_Rhydon[];
+extern const u32 gMonPalette_Rhydon[];
+extern const u32 gMonBackPic_Rhydon[];
+extern const u32 gMonShinyPalette_Rhydon[];
+extern const u32 gMonStillFrontPic_Rhydon[];
extern const u8 gMonIcon_Rhydon[];
extern const u8 gMonFootprint_Rhydon[];
-extern const u8 gMonFrontPic_Chansey[];
-extern const u8 gMonPalette_Chansey[];
-extern const u8 gMonBackPic_Chansey[];
-extern const u8 gMonShinyPalette_Chansey[];
-extern const u8 gMonStillFrontPic_Chansey[];
+extern const u32 gMonFrontPic_Chansey[];
+extern const u32 gMonPalette_Chansey[];
+extern const u32 gMonBackPic_Chansey[];
+extern const u32 gMonShinyPalette_Chansey[];
+extern const u32 gMonStillFrontPic_Chansey[];
extern const u8 gMonIcon_Chansey[];
extern const u8 gMonFootprint_Chansey[];
-extern const u8 gMonFrontPic_Tangela[];
-extern const u8 gMonPalette_Tangela[];
-extern const u8 gMonBackPic_Tangela[];
-extern const u8 gMonShinyPalette_Tangela[];
-extern const u8 gMonStillFrontPic_Tangela[];
+extern const u32 gMonFrontPic_Tangela[];
+extern const u32 gMonPalette_Tangela[];
+extern const u32 gMonBackPic_Tangela[];
+extern const u32 gMonShinyPalette_Tangela[];
+extern const u32 gMonStillFrontPic_Tangela[];
extern const u8 gMonIcon_Tangela[];
extern const u8 gMonFootprint_Tangela[];
-extern const u8 gMonFrontPic_Kangaskhan[];
-extern const u8 gMonPalette_Kangaskhan[];
-extern const u8 gMonBackPic_Kangaskhan[];
-extern const u8 gMonShinyPalette_Kangaskhan[];
-extern const u8 gMonStillFrontPic_Kangaskhan[];
+extern const u32 gMonFrontPic_Kangaskhan[];
+extern const u32 gMonPalette_Kangaskhan[];
+extern const u32 gMonBackPic_Kangaskhan[];
+extern const u32 gMonShinyPalette_Kangaskhan[];
+extern const u32 gMonStillFrontPic_Kangaskhan[];
extern const u8 gMonIcon_Kangaskhan[];
extern const u8 gMonFootprint_Kangaskhan[];
-extern const u8 gMonFrontPic_Horsea[];
-extern const u8 gMonPalette_Horsea[];
-extern const u8 gMonBackPic_Horsea[];
-extern const u8 gMonShinyPalette_Horsea[];
-extern const u8 gMonStillFrontPic_Horsea[];
+extern const u32 gMonFrontPic_Horsea[];
+extern const u32 gMonPalette_Horsea[];
+extern const u32 gMonBackPic_Horsea[];
+extern const u32 gMonShinyPalette_Horsea[];
+extern const u32 gMonStillFrontPic_Horsea[];
extern const u8 gMonIcon_Horsea[];
extern const u8 gMonFootprint_Horsea[];
-extern const u8 gMonFrontPic_Seadra[];
-extern const u8 gMonPalette_Seadra[];
-extern const u8 gMonBackPic_Seadra[];
-extern const u8 gMonShinyPalette_Seadra[];
-extern const u8 gMonStillFrontPic_Seadra[];
+extern const u32 gMonFrontPic_Seadra[];
+extern const u32 gMonPalette_Seadra[];
+extern const u32 gMonBackPic_Seadra[];
+extern const u32 gMonShinyPalette_Seadra[];
+extern const u32 gMonStillFrontPic_Seadra[];
extern const u8 gMonIcon_Seadra[];
extern const u8 gMonFootprint_Seadra[];
-extern const u8 gMonFrontPic_Goldeen[];
-extern const u8 gMonPalette_Goldeen[];
-extern const u8 gMonBackPic_Goldeen[];
-extern const u8 gMonShinyPalette_Goldeen[];
-extern const u8 gMonStillFrontPic_Goldeen[];
+extern const u32 gMonFrontPic_Goldeen[];
+extern const u32 gMonPalette_Goldeen[];
+extern const u32 gMonBackPic_Goldeen[];
+extern const u32 gMonShinyPalette_Goldeen[];
+extern const u32 gMonStillFrontPic_Goldeen[];
extern const u8 gMonIcon_Goldeen[];
extern const u8 gMonFootprint_Goldeen[];
-extern const u8 gMonFrontPic_Seaking[];
-extern const u8 gMonPalette_Seaking[];
-extern const u8 gMonBackPic_Seaking[];
-extern const u8 gMonShinyPalette_Seaking[];
-extern const u8 gMonStillFrontPic_Seaking[];
+extern const u32 gMonFrontPic_Seaking[];
+extern const u32 gMonPalette_Seaking[];
+extern const u32 gMonBackPic_Seaking[];
+extern const u32 gMonShinyPalette_Seaking[];
+extern const u32 gMonStillFrontPic_Seaking[];
extern const u8 gMonIcon_Seaking[];
extern const u8 gMonFootprint_Seaking[];
-extern const u8 gMonFrontPic_Staryu[];
-extern const u8 gMonPalette_Staryu[];
-extern const u8 gMonBackPic_Staryu[];
-extern const u8 gMonShinyPalette_Staryu[];
-extern const u8 gMonStillFrontPic_Staryu[];
+extern const u32 gMonFrontPic_Staryu[];
+extern const u32 gMonPalette_Staryu[];
+extern const u32 gMonBackPic_Staryu[];
+extern const u32 gMonShinyPalette_Staryu[];
+extern const u32 gMonStillFrontPic_Staryu[];
extern const u8 gMonIcon_Staryu[];
extern const u8 gMonFootprint_Staryu[];
-extern const u8 gMonFrontPic_Starmie[];
-extern const u8 gMonPalette_Starmie[];
-extern const u8 gMonBackPic_Starmie[];
-extern const u8 gMonShinyPalette_Starmie[];
-extern const u8 gMonStillFrontPic_Starmie[];
+extern const u32 gMonFrontPic_Starmie[];
+extern const u32 gMonPalette_Starmie[];
+extern const u32 gMonBackPic_Starmie[];
+extern const u32 gMonShinyPalette_Starmie[];
+extern const u32 gMonStillFrontPic_Starmie[];
extern const u8 gMonIcon_Starmie[];
extern const u8 gMonFootprint_Starmie[];
-extern const u8 gMonFrontPic_Mrmime[];
-extern const u8 gMonPalette_Mrmime[];
-extern const u8 gMonBackPic_Mrmime[];
-extern const u8 gMonShinyPalette_Mrmime[];
-extern const u8 gMonStillFrontPic_Mrmime[];
+extern const u32 gMonFrontPic_Mrmime[];
+extern const u32 gMonPalette_Mrmime[];
+extern const u32 gMonBackPic_Mrmime[];
+extern const u32 gMonShinyPalette_Mrmime[];
+extern const u32 gMonStillFrontPic_Mrmime[];
extern const u8 gMonIcon_Mrmime[];
extern const u8 gMonFootprint_Mrmime[];
-extern const u8 gMonFrontPic_Scyther[];
-extern const u8 gMonPalette_Scyther[];
-extern const u8 gMonBackPic_Scyther[];
-extern const u8 gMonShinyPalette_Scyther[];
-extern const u8 gMonStillFrontPic_Scyther[];
+extern const u32 gMonFrontPic_Scyther[];
+extern const u32 gMonPalette_Scyther[];
+extern const u32 gMonBackPic_Scyther[];
+extern const u32 gMonShinyPalette_Scyther[];
+extern const u32 gMonStillFrontPic_Scyther[];
extern const u8 gMonIcon_Scyther[];
extern const u8 gMonFootprint_Scyther[];
-extern const u8 gMonFrontPic_Jynx[];
-extern const u8 gMonPalette_Jynx[];
-extern const u8 gMonBackPic_Jynx[];
-extern const u8 gMonShinyPalette_Jynx[];
-extern const u8 gMonStillFrontPic_Jynx[];
+extern const u32 gMonFrontPic_Jynx[];
+extern const u32 gMonPalette_Jynx[];
+extern const u32 gMonBackPic_Jynx[];
+extern const u32 gMonShinyPalette_Jynx[];
+extern const u32 gMonStillFrontPic_Jynx[];
extern const u8 gMonIcon_Jynx[];
extern const u8 gMonFootprint_Jynx[];
-extern const u8 gMonFrontPic_Electabuzz[];
-extern const u8 gMonPalette_Electabuzz[];
-extern const u8 gMonBackPic_Electabuzz[];
-extern const u8 gMonShinyPalette_Electabuzz[];
-extern const u8 gMonStillFrontPic_Electabuzz[];
+extern const u32 gMonFrontPic_Electabuzz[];
+extern const u32 gMonPalette_Electabuzz[];
+extern const u32 gMonBackPic_Electabuzz[];
+extern const u32 gMonShinyPalette_Electabuzz[];
+extern const u32 gMonStillFrontPic_Electabuzz[];
extern const u8 gMonIcon_Electabuzz[];
extern const u8 gMonFootprint_Electabuzz[];
-extern const u8 gMonFrontPic_Magmar[];
-extern const u8 gMonPalette_Magmar[];
-extern const u8 gMonBackPic_Magmar[];
-extern const u8 gMonShinyPalette_Magmar[];
-extern const u8 gMonStillFrontPic_Magmar[];
+extern const u32 gMonFrontPic_Magmar[];
+extern const u32 gMonPalette_Magmar[];
+extern const u32 gMonBackPic_Magmar[];
+extern const u32 gMonShinyPalette_Magmar[];
+extern const u32 gMonStillFrontPic_Magmar[];
extern const u8 gMonIcon_Magmar[];
extern const u8 gMonFootprint_Magmar[];
-extern const u8 gMonFrontPic_Pinsir[];
-extern const u8 gMonPalette_Pinsir[];
-extern const u8 gMonBackPic_Pinsir[];
-extern const u8 gMonShinyPalette_Pinsir[];
-extern const u8 gMonStillFrontPic_Pinsir[];
+extern const u32 gMonFrontPic_Pinsir[];
+extern const u32 gMonPalette_Pinsir[];
+extern const u32 gMonBackPic_Pinsir[];
+extern const u32 gMonShinyPalette_Pinsir[];
+extern const u32 gMonStillFrontPic_Pinsir[];
extern const u8 gMonIcon_Pinsir[];
extern const u8 gMonFootprint_Pinsir[];
-extern const u8 gMonFrontPic_Tauros[];
-extern const u8 gMonPalette_Tauros[];
-extern const u8 gMonBackPic_Tauros[];
-extern const u8 gMonShinyPalette_Tauros[];
-extern const u8 gMonStillFrontPic_Tauros[];
+extern const u32 gMonFrontPic_Tauros[];
+extern const u32 gMonPalette_Tauros[];
+extern const u32 gMonBackPic_Tauros[];
+extern const u32 gMonShinyPalette_Tauros[];
+extern const u32 gMonStillFrontPic_Tauros[];
extern const u8 gMonIcon_Tauros[];
extern const u8 gMonFootprint_Tauros[];
-extern const u8 gMonFrontPic_Magikarp[];
-extern const u8 gMonPalette_Magikarp[];
-extern const u8 gMonBackPic_Magikarp[];
-extern const u8 gMonShinyPalette_Magikarp[];
-extern const u8 gMonStillFrontPic_Magikarp[];
+extern const u32 gMonFrontPic_Magikarp[];
+extern const u32 gMonPalette_Magikarp[];
+extern const u32 gMonBackPic_Magikarp[];
+extern const u32 gMonShinyPalette_Magikarp[];
+extern const u32 gMonStillFrontPic_Magikarp[];
extern const u8 gMonIcon_Magikarp[];
extern const u8 gMonFootprint_Magikarp[];
-extern const u8 gMonFrontPic_Gyarados[];
-extern const u8 gMonPalette_Gyarados[];
-extern const u8 gMonBackPic_Gyarados[];
-extern const u8 gMonShinyPalette_Gyarados[];
-extern const u8 gMonStillFrontPic_Gyarados[];
+extern const u32 gMonFrontPic_Gyarados[];
+extern const u32 gMonPalette_Gyarados[];
+extern const u32 gMonBackPic_Gyarados[];
+extern const u32 gMonShinyPalette_Gyarados[];
+extern const u32 gMonStillFrontPic_Gyarados[];
extern const u8 gMonIcon_Gyarados[];
extern const u8 gMonFootprint_Gyarados[];
-extern const u8 gMonFrontPic_Lapras[];
-extern const u8 gMonPalette_Lapras[];
-extern const u8 gMonBackPic_Lapras[];
-extern const u8 gMonShinyPalette_Lapras[];
-extern const u8 gMonStillFrontPic_Lapras[];
+extern const u32 gMonFrontPic_Lapras[];
+extern const u32 gMonPalette_Lapras[];
+extern const u32 gMonBackPic_Lapras[];
+extern const u32 gMonShinyPalette_Lapras[];
+extern const u32 gMonStillFrontPic_Lapras[];
extern const u8 gMonIcon_Lapras[];
extern const u8 gMonFootprint_Lapras[];
-extern const u8 gMonFrontPic_Ditto[];
-extern const u8 gMonPalette_Ditto[];
-extern const u8 gMonBackPic_Ditto[];
-extern const u8 gMonShinyPalette_Ditto[];
-extern const u8 gMonStillFrontPic_Ditto[];
+extern const u32 gMonFrontPic_Ditto[];
+extern const u32 gMonPalette_Ditto[];
+extern const u32 gMonBackPic_Ditto[];
+extern const u32 gMonShinyPalette_Ditto[];
+extern const u32 gMonStillFrontPic_Ditto[];
extern const u8 gMonIcon_Ditto[];
extern const u8 gMonFootprint_Ditto[];
-extern const u8 gMonFrontPic_Eevee[];
-extern const u8 gMonPalette_Eevee[];
-extern const u8 gMonBackPic_Eevee[];
-extern const u8 gMonShinyPalette_Eevee[];
-extern const u8 gMonStillFrontPic_Eevee[];
+extern const u32 gMonFrontPic_Eevee[];
+extern const u32 gMonPalette_Eevee[];
+extern const u32 gMonBackPic_Eevee[];
+extern const u32 gMonShinyPalette_Eevee[];
+extern const u32 gMonStillFrontPic_Eevee[];
extern const u8 gMonIcon_Eevee[];
extern const u8 gMonFootprint_Eevee[];
-extern const u8 gMonFrontPic_Vaporeon[];
-extern const u8 gMonPalette_Vaporeon[];
-extern const u8 gMonBackPic_Vaporeon[];
-extern const u8 gMonShinyPalette_Vaporeon[];
-extern const u8 gMonStillFrontPic_Vaporeon[];
+extern const u32 gMonFrontPic_Vaporeon[];
+extern const u32 gMonPalette_Vaporeon[];
+extern const u32 gMonBackPic_Vaporeon[];
+extern const u32 gMonShinyPalette_Vaporeon[];
+extern const u32 gMonStillFrontPic_Vaporeon[];
extern const u8 gMonIcon_Vaporeon[];
extern const u8 gMonFootprint_Vaporeon[];
-extern const u8 gMonFrontPic_Jolteon[];
-extern const u8 gMonPalette_Jolteon[];
-extern const u8 gMonBackPic_Jolteon[];
-extern const u8 gMonShinyPalette_Jolteon[];
-extern const u8 gMonStillFrontPic_Jolteon[];
+extern const u32 gMonFrontPic_Jolteon[];
+extern const u32 gMonPalette_Jolteon[];
+extern const u32 gMonBackPic_Jolteon[];
+extern const u32 gMonShinyPalette_Jolteon[];
+extern const u32 gMonStillFrontPic_Jolteon[];
extern const u8 gMonIcon_Jolteon[];
extern const u8 gMonFootprint_Jolteon[];
-extern const u8 gMonFrontPic_Flareon[];
-extern const u8 gMonPalette_Flareon[];
-extern const u8 gMonBackPic_Flareon[];
-extern const u8 gMonShinyPalette_Flareon[];
-extern const u8 gMonStillFrontPic_Flareon[];
+extern const u32 gMonFrontPic_Flareon[];
+extern const u32 gMonPalette_Flareon[];
+extern const u32 gMonBackPic_Flareon[];
+extern const u32 gMonShinyPalette_Flareon[];
+extern const u32 gMonStillFrontPic_Flareon[];
extern const u8 gMonIcon_Flareon[];
extern const u8 gMonFootprint_Flareon[];
-extern const u8 gMonFrontPic_Porygon[];
-extern const u8 gMonPalette_Porygon[];
-extern const u8 gMonBackPic_Porygon[];
-extern const u8 gMonShinyPalette_Porygon[];
-extern const u8 gMonStillFrontPic_Porygon[];
+extern const u32 gMonFrontPic_Porygon[];
+extern const u32 gMonPalette_Porygon[];
+extern const u32 gMonBackPic_Porygon[];
+extern const u32 gMonShinyPalette_Porygon[];
+extern const u32 gMonStillFrontPic_Porygon[];
extern const u8 gMonIcon_Porygon[];
extern const u8 gMonFootprint_Porygon[];
-extern const u8 gMonFrontPic_Omanyte[];
-extern const u8 gMonPalette_Omanyte[];
-extern const u8 gMonBackPic_Omanyte[];
-extern const u8 gMonShinyPalette_Omanyte[];
-extern const u8 gMonStillFrontPic_Omanyte[];
+extern const u32 gMonFrontPic_Omanyte[];
+extern const u32 gMonPalette_Omanyte[];
+extern const u32 gMonBackPic_Omanyte[];
+extern const u32 gMonShinyPalette_Omanyte[];
+extern const u32 gMonStillFrontPic_Omanyte[];
extern const u8 gMonIcon_Omanyte[];
extern const u8 gMonFootprint_Omanyte[];
-extern const u8 gMonFrontPic_Omastar[];
-extern const u8 gMonPalette_Omastar[];
-extern const u8 gMonBackPic_Omastar[];
-extern const u8 gMonShinyPalette_Omastar[];
-extern const u8 gMonStillFrontPic_Omastar[];
+extern const u32 gMonFrontPic_Omastar[];
+extern const u32 gMonPalette_Omastar[];
+extern const u32 gMonBackPic_Omastar[];
+extern const u32 gMonShinyPalette_Omastar[];
+extern const u32 gMonStillFrontPic_Omastar[];
extern const u8 gMonIcon_Omastar[];
extern const u8 gMonFootprint_Omastar[];
-extern const u8 gMonFrontPic_Kabuto[];
-extern const u8 gMonPalette_Kabuto[];
-extern const u8 gMonBackPic_Kabuto[];
-extern const u8 gMonShinyPalette_Kabuto[];
-extern const u8 gMonStillFrontPic_Kabuto[];
+extern const u32 gMonFrontPic_Kabuto[];
+extern const u32 gMonPalette_Kabuto[];
+extern const u32 gMonBackPic_Kabuto[];
+extern const u32 gMonShinyPalette_Kabuto[];
+extern const u32 gMonStillFrontPic_Kabuto[];
extern const u8 gMonIcon_Kabuto[];
extern const u8 gMonFootprint_Kabuto[];
-extern const u8 gMonFrontPic_Kabutops[];
-extern const u8 gMonPalette_Kabutops[];
-extern const u8 gMonBackPic_Kabutops[];
-extern const u8 gMonShinyPalette_Kabutops[];
-extern const u8 gMonStillFrontPic_Kabutops[];
+extern const u32 gMonFrontPic_Kabutops[];
+extern const u32 gMonPalette_Kabutops[];
+extern const u32 gMonBackPic_Kabutops[];
+extern const u32 gMonShinyPalette_Kabutops[];
+extern const u32 gMonStillFrontPic_Kabutops[];
extern const u8 gMonIcon_Kabutops[];
extern const u8 gMonFootprint_Kabutops[];
-extern const u8 gMonFrontPic_Aerodactyl[];
-extern const u8 gMonPalette_Aerodactyl[];
-extern const u8 gMonBackPic_Aerodactyl[];
-extern const u8 gMonShinyPalette_Aerodactyl[];
-extern const u8 gMonStillFrontPic_Aerodactyl[];
+extern const u32 gMonFrontPic_Aerodactyl[];
+extern const u32 gMonPalette_Aerodactyl[];
+extern const u32 gMonBackPic_Aerodactyl[];
+extern const u32 gMonShinyPalette_Aerodactyl[];
+extern const u32 gMonStillFrontPic_Aerodactyl[];
extern const u8 gMonIcon_Aerodactyl[];
extern const u8 gMonFootprint_Aerodactyl[];
-extern const u8 gMonFrontPic_Snorlax[];
-extern const u8 gMonPalette_Snorlax[];
-extern const u8 gMonBackPic_Snorlax[];
-extern const u8 gMonShinyPalette_Snorlax[];
-extern const u8 gMonStillFrontPic_Snorlax[];
+extern const u32 gMonFrontPic_Snorlax[];
+extern const u32 gMonPalette_Snorlax[];
+extern const u32 gMonBackPic_Snorlax[];
+extern const u32 gMonShinyPalette_Snorlax[];
+extern const u32 gMonStillFrontPic_Snorlax[];
extern const u8 gMonIcon_Snorlax[];
extern const u8 gMonFootprint_Snorlax[];
-extern const u8 gMonFrontPic_Articuno[];
-extern const u8 gMonPalette_Articuno[];
-extern const u8 gMonBackPic_Articuno[];
-extern const u8 gMonShinyPalette_Articuno[];
-extern const u8 gMonStillFrontPic_Articuno[];
+extern const u32 gMonFrontPic_Articuno[];
+extern const u32 gMonPalette_Articuno[];
+extern const u32 gMonBackPic_Articuno[];
+extern const u32 gMonShinyPalette_Articuno[];
+extern const u32 gMonStillFrontPic_Articuno[];
extern const u8 gMonIcon_Articuno[];
extern const u8 gMonFootprint_Articuno[];
-extern const u8 gMonFrontPic_Zapdos[];
-extern const u8 gMonPalette_Zapdos[];
-extern const u8 gMonBackPic_Zapdos[];
-extern const u8 gMonShinyPalette_Zapdos[];
-extern const u8 gMonStillFrontPic_Zapdos[];
+extern const u32 gMonFrontPic_Zapdos[];
+extern const u32 gMonPalette_Zapdos[];
+extern const u32 gMonBackPic_Zapdos[];
+extern const u32 gMonShinyPalette_Zapdos[];
+extern const u32 gMonStillFrontPic_Zapdos[];
extern const u8 gMonIcon_Zapdos[];
extern const u8 gMonFootprint_Zapdos[];
-extern const u8 gMonFrontPic_Moltres[];
-extern const u8 gMonPalette_Moltres[];
-extern const u8 gMonBackPic_Moltres[];
-extern const u8 gMonShinyPalette_Moltres[];
-extern const u8 gMonStillFrontPic_Moltres[];
+extern const u32 gMonFrontPic_Moltres[];
+extern const u32 gMonPalette_Moltres[];
+extern const u32 gMonBackPic_Moltres[];
+extern const u32 gMonShinyPalette_Moltres[];
+extern const u32 gMonStillFrontPic_Moltres[];
extern const u8 gMonIcon_Moltres[];
extern const u8 gMonFootprint_Moltres[];
-extern const u8 gMonFrontPic_Dratini[];
-extern const u8 gMonPalette_Dratini[];
-extern const u8 gMonBackPic_Dratini[];
-extern const u8 gMonShinyPalette_Dratini[];
-extern const u8 gMonStillFrontPic_Dratini[];
+extern const u32 gMonFrontPic_Dratini[];
+extern const u32 gMonPalette_Dratini[];
+extern const u32 gMonBackPic_Dratini[];
+extern const u32 gMonShinyPalette_Dratini[];
+extern const u32 gMonStillFrontPic_Dratini[];
extern const u8 gMonIcon_Dratini[];
extern const u8 gMonFootprint_Dratini[];
-extern const u8 gMonFrontPic_Dragonair[];
-extern const u8 gMonPalette_Dragonair[];
-extern const u8 gMonBackPic_Dragonair[];
-extern const u8 gMonShinyPalette_Dragonair[];
-extern const u8 gMonStillFrontPic_Dragonair[];
+extern const u32 gMonFrontPic_Dragonair[];
+extern const u32 gMonPalette_Dragonair[];
+extern const u32 gMonBackPic_Dragonair[];
+extern const u32 gMonShinyPalette_Dragonair[];
+extern const u32 gMonStillFrontPic_Dragonair[];
extern const u8 gMonIcon_Dragonair[];
extern const u8 gMonFootprint_Dragonair[];
-extern const u8 gMonFrontPic_Dragonite[];
-extern const u8 gMonPalette_Dragonite[];
-extern const u8 gMonBackPic_Dragonite[];
-extern const u8 gMonShinyPalette_Dragonite[];
-extern const u8 gMonStillFrontPic_Dragonite[];
+extern const u32 gMonFrontPic_Dragonite[];
+extern const u32 gMonPalette_Dragonite[];
+extern const u32 gMonBackPic_Dragonite[];
+extern const u32 gMonShinyPalette_Dragonite[];
+extern const u32 gMonStillFrontPic_Dragonite[];
extern const u8 gMonIcon_Dragonite[];
extern const u8 gMonFootprint_Dragonite[];
-extern const u8 gMonFrontPic_Mewtwo[];
-extern const u8 gMonPalette_Mewtwo[];
-extern const u8 gMonBackPic_Mewtwo[];
-extern const u8 gMonShinyPalette_Mewtwo[];
-extern const u8 gMonStillFrontPic_Mewtwo[];
+extern const u32 gMonFrontPic_Mewtwo[];
+extern const u32 gMonPalette_Mewtwo[];
+extern const u32 gMonBackPic_Mewtwo[];
+extern const u32 gMonShinyPalette_Mewtwo[];
+extern const u32 gMonStillFrontPic_Mewtwo[];
extern const u8 gMonIcon_Mewtwo[];
extern const u8 gMonFootprint_Mewtwo[];
-extern const u8 gMonFrontPic_Mew[];
-extern const u8 gMonPalette_Mew[];
-extern const u8 gMonBackPic_Mew[];
-extern const u8 gMonShinyPalette_Mew[];
-extern const u8 gMonStillFrontPic_Mew[];
+extern const u32 gMonFrontPic_Mew[];
+extern const u32 gMonPalette_Mew[];
+extern const u32 gMonBackPic_Mew[];
+extern const u32 gMonShinyPalette_Mew[];
+extern const u32 gMonStillFrontPic_Mew[];
extern const u8 gMonIcon_Mew[];
extern const u8 gMonFootprint_Mew[];
-extern const u8 gMonFrontPic_Chikorita[];
-extern const u8 gMonPalette_Chikorita[];
-extern const u8 gMonBackPic_Chikorita[];
-extern const u8 gMonShinyPalette_Chikorita[];
-extern const u8 gMonStillFrontPic_Chikorita[];
+extern const u32 gMonFrontPic_Chikorita[];
+extern const u32 gMonPalette_Chikorita[];
+extern const u32 gMonBackPic_Chikorita[];
+extern const u32 gMonShinyPalette_Chikorita[];
+extern const u32 gMonStillFrontPic_Chikorita[];
extern const u8 gMonIcon_Chikorita[];
extern const u8 gMonFootprint_Chikorita[];
-extern const u8 gMonFrontPic_Bayleef[];
-extern const u8 gMonPalette_Bayleef[];
-extern const u8 gMonBackPic_Bayleef[];
-extern const u8 gMonShinyPalette_Bayleef[];
-extern const u8 gMonStillFrontPic_Bayleef[];
+extern const u32 gMonFrontPic_Bayleef[];
+extern const u32 gMonPalette_Bayleef[];
+extern const u32 gMonBackPic_Bayleef[];
+extern const u32 gMonShinyPalette_Bayleef[];
+extern const u32 gMonStillFrontPic_Bayleef[];
extern const u8 gMonIcon_Bayleef[];
extern const u8 gMonFootprint_Bayleef[];
-extern const u8 gMonFrontPic_Meganium[];
-extern const u8 gMonPalette_Meganium[];
-extern const u8 gMonBackPic_Meganium[];
-extern const u8 gMonShinyPalette_Meganium[];
-extern const u8 gMonStillFrontPic_Meganium[];
+extern const u32 gMonFrontPic_Meganium[];
+extern const u32 gMonPalette_Meganium[];
+extern const u32 gMonBackPic_Meganium[];
+extern const u32 gMonShinyPalette_Meganium[];
+extern const u32 gMonStillFrontPic_Meganium[];
extern const u8 gMonIcon_Meganium[];
extern const u8 gMonFootprint_Meganium[];
-extern const u8 gMonFrontPic_Cyndaquil[];
-extern const u8 gMonPalette_Cyndaquil[];
-extern const u8 gMonBackPic_Cyndaquil[];
-extern const u8 gMonShinyPalette_Cyndaquil[];
-extern const u8 gMonStillFrontPic_Cyndaquil[];
+extern const u32 gMonFrontPic_Cyndaquil[];
+extern const u32 gMonPalette_Cyndaquil[];
+extern const u32 gMonBackPic_Cyndaquil[];
+extern const u32 gMonShinyPalette_Cyndaquil[];
+extern const u32 gMonStillFrontPic_Cyndaquil[];
extern const u8 gMonIcon_Cyndaquil[];
extern const u8 gMonFootprint_Cyndaquil[];
-extern const u8 gMonFrontPic_Quilava[];
-extern const u8 gMonPalette_Quilava[];
-extern const u8 gMonBackPic_Quilava[];
-extern const u8 gMonShinyPalette_Quilava[];
-extern const u8 gMonStillFrontPic_Quilava[];
+extern const u32 gMonFrontPic_Quilava[];
+extern const u32 gMonPalette_Quilava[];
+extern const u32 gMonBackPic_Quilava[];
+extern const u32 gMonShinyPalette_Quilava[];
+extern const u32 gMonStillFrontPic_Quilava[];
extern const u8 gMonIcon_Quilava[];
extern const u8 gMonFootprint_Quilava[];
-extern const u8 gMonFrontPic_Typhlosion[];
-extern const u8 gMonPalette_Typhlosion[];
-extern const u8 gMonBackPic_Typhlosion[];
-extern const u8 gMonShinyPalette_Typhlosion[];
-extern const u8 gMonStillFrontPic_Typhlosion[];
+extern const u32 gMonFrontPic_Typhlosion[];
+extern const u32 gMonPalette_Typhlosion[];
+extern const u32 gMonBackPic_Typhlosion[];
+extern const u32 gMonShinyPalette_Typhlosion[];
+extern const u32 gMonStillFrontPic_Typhlosion[];
extern const u8 gMonIcon_Typhlosion[];
extern const u8 gMonFootprint_Typhlosion[];
-extern const u8 gMonFrontPic_Totodile[];
-extern const u8 gMonPalette_Totodile[];
-extern const u8 gMonBackPic_Totodile[];
-extern const u8 gMonShinyPalette_Totodile[];
-extern const u8 gMonStillFrontPic_Totodile[];
+extern const u32 gMonFrontPic_Totodile[];
+extern const u32 gMonPalette_Totodile[];
+extern const u32 gMonBackPic_Totodile[];
+extern const u32 gMonShinyPalette_Totodile[];
+extern const u32 gMonStillFrontPic_Totodile[];
extern const u8 gMonIcon_Totodile[];
extern const u8 gMonFootprint_Totodile[];
-extern const u8 gMonFrontPic_Croconaw[];
-extern const u8 gMonPalette_Croconaw[];
-extern const u8 gMonBackPic_Croconaw[];
-extern const u8 gMonShinyPalette_Croconaw[];
-extern const u8 gMonStillFrontPic_Croconaw[];
+extern const u32 gMonFrontPic_Croconaw[];
+extern const u32 gMonPalette_Croconaw[];
+extern const u32 gMonBackPic_Croconaw[];
+extern const u32 gMonShinyPalette_Croconaw[];
+extern const u32 gMonStillFrontPic_Croconaw[];
extern const u8 gMonIcon_Croconaw[];
extern const u8 gMonFootprint_Croconaw[];
-extern const u8 gMonFrontPic_Feraligatr[];
-extern const u8 gMonPalette_Feraligatr[];
-extern const u8 gMonBackPic_Feraligatr[];
-extern const u8 gMonShinyPalette_Feraligatr[];
-extern const u8 gMonStillFrontPic_Feraligatr[];
+extern const u32 gMonFrontPic_Feraligatr[];
+extern const u32 gMonPalette_Feraligatr[];
+extern const u32 gMonBackPic_Feraligatr[];
+extern const u32 gMonShinyPalette_Feraligatr[];
+extern const u32 gMonStillFrontPic_Feraligatr[];
extern const u8 gMonIcon_Feraligatr[];
extern const u8 gMonFootprint_Feraligatr[];
-extern const u8 gMonFrontPic_Sentret[];
-extern const u8 gMonPalette_Sentret[];
-extern const u8 gMonBackPic_Sentret[];
-extern const u8 gMonShinyPalette_Sentret[];
-extern const u8 gMonStillFrontPic_Sentret[];
+extern const u32 gMonFrontPic_Sentret[];
+extern const u32 gMonPalette_Sentret[];
+extern const u32 gMonBackPic_Sentret[];
+extern const u32 gMonShinyPalette_Sentret[];
+extern const u32 gMonStillFrontPic_Sentret[];
extern const u8 gMonIcon_Sentret[];
extern const u8 gMonFootprint_Sentret[];
-extern const u8 gMonFrontPic_Furret[];
-extern const u8 gMonPalette_Furret[];
-extern const u8 gMonBackPic_Furret[];
-extern const u8 gMonShinyPalette_Furret[];
-extern const u8 gMonStillFrontPic_Furret[];
+extern const u32 gMonFrontPic_Furret[];
+extern const u32 gMonPalette_Furret[];
+extern const u32 gMonBackPic_Furret[];
+extern const u32 gMonShinyPalette_Furret[];
+extern const u32 gMonStillFrontPic_Furret[];
extern const u8 gMonIcon_Furret[];
extern const u8 gMonFootprint_Furret[];
-extern const u8 gMonFrontPic_Hoothoot[];
-extern const u8 gMonPalette_Hoothoot[];
-extern const u8 gMonBackPic_Hoothoot[];
-extern const u8 gMonShinyPalette_Hoothoot[];
-extern const u8 gMonStillFrontPic_Hoothoot[];
+extern const u32 gMonFrontPic_Hoothoot[];
+extern const u32 gMonPalette_Hoothoot[];
+extern const u32 gMonBackPic_Hoothoot[];
+extern const u32 gMonShinyPalette_Hoothoot[];
+extern const u32 gMonStillFrontPic_Hoothoot[];
extern const u8 gMonIcon_Hoothoot[];
extern const u8 gMonFootprint_Hoothoot[];
-extern const u8 gMonFrontPic_Noctowl[];
-extern const u8 gMonPalette_Noctowl[];
-extern const u8 gMonBackPic_Noctowl[];
-extern const u8 gMonShinyPalette_Noctowl[];
-extern const u8 gMonStillFrontPic_Noctowl[];
+extern const u32 gMonFrontPic_Noctowl[];
+extern const u32 gMonPalette_Noctowl[];
+extern const u32 gMonBackPic_Noctowl[];
+extern const u32 gMonShinyPalette_Noctowl[];
+extern const u32 gMonStillFrontPic_Noctowl[];
extern const u8 gMonIcon_Noctowl[];
extern const u8 gMonFootprint_Noctowl[];
-extern const u8 gMonFrontPic_Ledyba[];
-extern const u8 gMonPalette_Ledyba[];
-extern const u8 gMonBackPic_Ledyba[];
-extern const u8 gMonShinyPalette_Ledyba[];
-extern const u8 gMonStillFrontPic_Ledyba[];
+extern const u32 gMonFrontPic_Ledyba[];
+extern const u32 gMonPalette_Ledyba[];
+extern const u32 gMonBackPic_Ledyba[];
+extern const u32 gMonShinyPalette_Ledyba[];
+extern const u32 gMonStillFrontPic_Ledyba[];
extern const u8 gMonIcon_Ledyba[];
extern const u8 gMonFootprint_Ledyba[];
-extern const u8 gMonFrontPic_Ledian[];
-extern const u8 gMonPalette_Ledian[];
-extern const u8 gMonBackPic_Ledian[];
-extern const u8 gMonShinyPalette_Ledian[];
-extern const u8 gMonStillFrontPic_Ledian[];
+extern const u32 gMonFrontPic_Ledian[];
+extern const u32 gMonPalette_Ledian[];
+extern const u32 gMonBackPic_Ledian[];
+extern const u32 gMonShinyPalette_Ledian[];
+extern const u32 gMonStillFrontPic_Ledian[];
extern const u8 gMonIcon_Ledian[];
extern const u8 gMonFootprint_Ledian[];
-extern const u8 gMonFrontPic_Spinarak[];
-extern const u8 gMonPalette_Spinarak[];
-extern const u8 gMonBackPic_Spinarak[];
-extern const u8 gMonShinyPalette_Spinarak[];
-extern const u8 gMonStillFrontPic_Spinarak[];
+extern const u32 gMonFrontPic_Spinarak[];
+extern const u32 gMonPalette_Spinarak[];
+extern const u32 gMonBackPic_Spinarak[];
+extern const u32 gMonShinyPalette_Spinarak[];
+extern const u32 gMonStillFrontPic_Spinarak[];
extern const u8 gMonIcon_Spinarak[];
extern const u8 gMonFootprint_Spinarak[];
-extern const u8 gMonFrontPic_Ariados[];
-extern const u8 gMonPalette_Ariados[];
-extern const u8 gMonBackPic_Ariados[];
-extern const u8 gMonShinyPalette_Ariados[];
-extern const u8 gMonStillFrontPic_Ariados[];
+extern const u32 gMonFrontPic_Ariados[];
+extern const u32 gMonPalette_Ariados[];
+extern const u32 gMonBackPic_Ariados[];
+extern const u32 gMonShinyPalette_Ariados[];
+extern const u32 gMonStillFrontPic_Ariados[];
extern const u8 gMonIcon_Ariados[];
extern const u8 gMonFootprint_Ariados[];
-extern const u8 gMonFrontPic_Crobat[];
-extern const u8 gMonPalette_Crobat[];
-extern const u8 gMonBackPic_Crobat[];
-extern const u8 gMonShinyPalette_Crobat[];
-extern const u8 gMonStillFrontPic_Crobat[];
+extern const u32 gMonFrontPic_Crobat[];
+extern const u32 gMonPalette_Crobat[];
+extern const u32 gMonBackPic_Crobat[];
+extern const u32 gMonShinyPalette_Crobat[];
+extern const u32 gMonStillFrontPic_Crobat[];
extern const u8 gMonIcon_Crobat[];
extern const u8 gMonFootprint_Crobat[];
-extern const u8 gMonFrontPic_Chinchou[];
-extern const u8 gMonPalette_Chinchou[];
-extern const u8 gMonBackPic_Chinchou[];
-extern const u8 gMonShinyPalette_Chinchou[];
-extern const u8 gMonStillFrontPic_Chinchou[];
+extern const u32 gMonFrontPic_Chinchou[];
+extern const u32 gMonPalette_Chinchou[];
+extern const u32 gMonBackPic_Chinchou[];
+extern const u32 gMonShinyPalette_Chinchou[];
+extern const u32 gMonStillFrontPic_Chinchou[];
extern const u8 gMonIcon_Chinchou[];
extern const u8 gMonFootprint_Chinchou[];
-extern const u8 gMonFrontPic_Lanturn[];
-extern const u8 gMonPalette_Lanturn[];
-extern const u8 gMonBackPic_Lanturn[];
-extern const u8 gMonShinyPalette_Lanturn[];
-extern const u8 gMonStillFrontPic_Lanturn[];
+extern const u32 gMonFrontPic_Lanturn[];
+extern const u32 gMonPalette_Lanturn[];
+extern const u32 gMonBackPic_Lanturn[];
+extern const u32 gMonShinyPalette_Lanturn[];
+extern const u32 gMonStillFrontPic_Lanturn[];
extern const u8 gMonIcon_Lanturn[];
extern const u8 gMonFootprint_Lanturn[];
-extern const u8 gMonFrontPic_Pichu[];
-extern const u8 gMonPalette_Pichu[];
-extern const u8 gMonBackPic_Pichu[];
-extern const u8 gMonShinyPalette_Pichu[];
-extern const u8 gMonStillFrontPic_Pichu[];
+extern const u32 gMonFrontPic_Pichu[];
+extern const u32 gMonPalette_Pichu[];
+extern const u32 gMonBackPic_Pichu[];
+extern const u32 gMonShinyPalette_Pichu[];
+extern const u32 gMonStillFrontPic_Pichu[];
extern const u8 gMonIcon_Pichu[];
extern const u8 gMonFootprint_Pichu[];
-extern const u8 gMonFrontPic_Cleffa[];
-extern const u8 gMonPalette_Cleffa[];
-extern const u8 gMonBackPic_Cleffa[];
-extern const u8 gMonShinyPalette_Cleffa[];
-extern const u8 gMonStillFrontPic_Cleffa[];
+extern const u32 gMonFrontPic_Cleffa[];
+extern const u32 gMonPalette_Cleffa[];
+extern const u32 gMonBackPic_Cleffa[];
+extern const u32 gMonShinyPalette_Cleffa[];
+extern const u32 gMonStillFrontPic_Cleffa[];
extern const u8 gMonIcon_Cleffa[];
extern const u8 gMonFootprint_Cleffa[];
-extern const u8 gMonFrontPic_Igglybuff[];
-extern const u8 gMonPalette_Igglybuff[];
-extern const u8 gMonBackPic_Igglybuff[];
-extern const u8 gMonShinyPalette_Igglybuff[];
-extern const u8 gMonStillFrontPic_Igglybuff[];
+extern const u32 gMonFrontPic_Igglybuff[];
+extern const u32 gMonPalette_Igglybuff[];
+extern const u32 gMonBackPic_Igglybuff[];
+extern const u32 gMonShinyPalette_Igglybuff[];
+extern const u32 gMonStillFrontPic_Igglybuff[];
extern const u8 gMonIcon_Igglybuff[];
extern const u8 gMonFootprint_Igglybuff[];
-extern const u8 gMonFrontPic_Togepi[];
-extern const u8 gMonPalette_Togepi[];
-extern const u8 gMonBackPic_Togepi[];
-extern const u8 gMonShinyPalette_Togepi[];
-extern const u8 gMonStillFrontPic_Togepi[];
+extern const u32 gMonFrontPic_Togepi[];
+extern const u32 gMonPalette_Togepi[];
+extern const u32 gMonBackPic_Togepi[];
+extern const u32 gMonShinyPalette_Togepi[];
+extern const u32 gMonStillFrontPic_Togepi[];
extern const u8 gMonIcon_Togepi[];
extern const u8 gMonFootprint_Togepi[];
-extern const u8 gMonFrontPic_Togetic[];
-extern const u8 gMonPalette_Togetic[];
-extern const u8 gMonBackPic_Togetic[];
-extern const u8 gMonShinyPalette_Togetic[];
-extern const u8 gMonStillFrontPic_Togetic[];
+extern const u32 gMonFrontPic_Togetic[];
+extern const u32 gMonPalette_Togetic[];
+extern const u32 gMonBackPic_Togetic[];
+extern const u32 gMonShinyPalette_Togetic[];
+extern const u32 gMonStillFrontPic_Togetic[];
extern const u8 gMonIcon_Togetic[];
extern const u8 gMonFootprint_Togetic[];
-extern const u8 gMonFrontPic_Natu[];
-extern const u8 gMonPalette_Natu[];
-extern const u8 gMonBackPic_Natu[];
-extern const u8 gMonShinyPalette_Natu[];
-extern const u8 gMonStillFrontPic_Natu[];
+extern const u32 gMonFrontPic_Natu[];
+extern const u32 gMonPalette_Natu[];
+extern const u32 gMonBackPic_Natu[];
+extern const u32 gMonShinyPalette_Natu[];
+extern const u32 gMonStillFrontPic_Natu[];
extern const u8 gMonIcon_Natu[];
extern const u8 gMonFootprint_Natu[];
-extern const u8 gMonFrontPic_Xatu[];
-extern const u8 gMonPalette_Xatu[];
-extern const u8 gMonBackPic_Xatu[];
-extern const u8 gMonShinyPalette_Xatu[];
-extern const u8 gMonStillFrontPic_Xatu[];
+extern const u32 gMonFrontPic_Xatu[];
+extern const u32 gMonPalette_Xatu[];
+extern const u32 gMonBackPic_Xatu[];
+extern const u32 gMonShinyPalette_Xatu[];
+extern const u32 gMonStillFrontPic_Xatu[];
extern const u8 gMonIcon_Xatu[];
extern const u8 gMonFootprint_Xatu[];
-extern const u8 gMonFrontPic_Mareep[];
-extern const u8 gMonPalette_Mareep[];
-extern const u8 gMonBackPic_Mareep[];
-extern const u8 gMonShinyPalette_Mareep[];
-extern const u8 gMonStillFrontPic_Mareep[];
+extern const u32 gMonFrontPic_Mareep[];
+extern const u32 gMonPalette_Mareep[];
+extern const u32 gMonBackPic_Mareep[];
+extern const u32 gMonShinyPalette_Mareep[];
+extern const u32 gMonStillFrontPic_Mareep[];
extern const u8 gMonIcon_Mareep[];
extern const u8 gMonFootprint_Mareep[];
-extern const u8 gMonFrontPic_Flaaffy[];
-extern const u8 gMonPalette_Flaaffy[];
-extern const u8 gMonBackPic_Flaaffy[];
-extern const u8 gMonShinyPalette_Flaaffy[];
-extern const u8 gMonStillFrontPic_Flaaffy[];
+extern const u32 gMonFrontPic_Flaaffy[];
+extern const u32 gMonPalette_Flaaffy[];
+extern const u32 gMonBackPic_Flaaffy[];
+extern const u32 gMonShinyPalette_Flaaffy[];
+extern const u32 gMonStillFrontPic_Flaaffy[];
extern const u8 gMonIcon_Flaaffy[];
extern const u8 gMonFootprint_Flaaffy[];
-extern const u8 gMonFrontPic_Ampharos[];
-extern const u8 gMonPalette_Ampharos[];
-extern const u8 gMonBackPic_Ampharos[];
-extern const u8 gMonShinyPalette_Ampharos[];
-extern const u8 gMonStillFrontPic_Ampharos[];
+extern const u32 gMonFrontPic_Ampharos[];
+extern const u32 gMonPalette_Ampharos[];
+extern const u32 gMonBackPic_Ampharos[];
+extern const u32 gMonShinyPalette_Ampharos[];
+extern const u32 gMonStillFrontPic_Ampharos[];
extern const u8 gMonIcon_Ampharos[];
extern const u8 gMonFootprint_Ampharos[];
-extern const u8 gMonFrontPic_Bellossom[];
-extern const u8 gMonPalette_Bellossom[];
-extern const u8 gMonBackPic_Bellossom[];
-extern const u8 gMonShinyPalette_Bellossom[];
-extern const u8 gMonStillFrontPic_Bellossom[];
+extern const u32 gMonFrontPic_Bellossom[];
+extern const u32 gMonPalette_Bellossom[];
+extern const u32 gMonBackPic_Bellossom[];
+extern const u32 gMonShinyPalette_Bellossom[];
+extern const u32 gMonStillFrontPic_Bellossom[];
extern const u8 gMonIcon_Bellossom[];
extern const u8 gMonFootprint_Bellossom[];
-extern const u8 gMonFrontPic_Marill[];
-extern const u8 gMonPalette_Marill[];
-extern const u8 gMonBackPic_Marill[];
-extern const u8 gMonShinyPalette_Marill[];
-extern const u8 gMonStillFrontPic_Marill[];
+extern const u32 gMonFrontPic_Marill[];
+extern const u32 gMonPalette_Marill[];
+extern const u32 gMonBackPic_Marill[];
+extern const u32 gMonShinyPalette_Marill[];
+extern const u32 gMonStillFrontPic_Marill[];
extern const u8 gMonIcon_Marill[];
extern const u8 gMonFootprint_Marill[];
-extern const u8 gMonFrontPic_Azumarill[];
-extern const u8 gMonPalette_Azumarill[];
-extern const u8 gMonBackPic_Azumarill[];
-extern const u8 gMonShinyPalette_Azumarill[];
-extern const u8 gMonStillFrontPic_Azumarill[];
+extern const u32 gMonFrontPic_Azumarill[];
+extern const u32 gMonPalette_Azumarill[];
+extern const u32 gMonBackPic_Azumarill[];
+extern const u32 gMonShinyPalette_Azumarill[];
+extern const u32 gMonStillFrontPic_Azumarill[];
extern const u8 gMonIcon_Azumarill[];
extern const u8 gMonFootprint_Azumarill[];
-extern const u8 gMonFrontPic_Sudowoodo[];
-extern const u8 gMonPalette_Sudowoodo[];
-extern const u8 gMonBackPic_Sudowoodo[];
-extern const u8 gMonShinyPalette_Sudowoodo[];
-extern const u8 gMonStillFrontPic_Sudowoodo[];
+extern const u32 gMonFrontPic_Sudowoodo[];
+extern const u32 gMonPalette_Sudowoodo[];
+extern const u32 gMonBackPic_Sudowoodo[];
+extern const u32 gMonShinyPalette_Sudowoodo[];
+extern const u32 gMonStillFrontPic_Sudowoodo[];
extern const u8 gMonIcon_Sudowoodo[];
extern const u8 gMonFootprint_Sudowoodo[];
-extern const u8 gMonFrontPic_Politoed[];
-extern const u8 gMonPalette_Politoed[];
-extern const u8 gMonBackPic_Politoed[];
-extern const u8 gMonShinyPalette_Politoed[];
-extern const u8 gMonStillFrontPic_Politoed[];
+extern const u32 gMonFrontPic_Politoed[];
+extern const u32 gMonPalette_Politoed[];
+extern const u32 gMonBackPic_Politoed[];
+extern const u32 gMonShinyPalette_Politoed[];
+extern const u32 gMonStillFrontPic_Politoed[];
extern const u8 gMonIcon_Politoed[];
extern const u8 gMonFootprint_Politoed[];
-extern const u8 gMonFrontPic_Hoppip[];
-extern const u8 gMonPalette_Hoppip[];
-extern const u8 gMonBackPic_Hoppip[];
-extern const u8 gMonShinyPalette_Hoppip[];
-extern const u8 gMonStillFrontPic_Hoppip[];
+extern const u32 gMonFrontPic_Hoppip[];
+extern const u32 gMonPalette_Hoppip[];
+extern const u32 gMonBackPic_Hoppip[];
+extern const u32 gMonShinyPalette_Hoppip[];
+extern const u32 gMonStillFrontPic_Hoppip[];
extern const u8 gMonIcon_Hoppip[];
extern const u8 gMonFootprint_Hoppip[];
-extern const u8 gMonFrontPic_Skiploom[];
-extern const u8 gMonPalette_Skiploom[];
-extern const u8 gMonBackPic_Skiploom[];
-extern const u8 gMonShinyPalette_Skiploom[];
-extern const u8 gMonStillFrontPic_Skiploom[];
+extern const u32 gMonFrontPic_Skiploom[];
+extern const u32 gMonPalette_Skiploom[];
+extern const u32 gMonBackPic_Skiploom[];
+extern const u32 gMonShinyPalette_Skiploom[];
+extern const u32 gMonStillFrontPic_Skiploom[];
extern const u8 gMonIcon_Skiploom[];
extern const u8 gMonFootprint_Skiploom[];
-extern const u8 gMonFrontPic_Jumpluff[];
-extern const u8 gMonPalette_Jumpluff[];
-extern const u8 gMonBackPic_Jumpluff[];
-extern const u8 gMonShinyPalette_Jumpluff[];
-extern const u8 gMonStillFrontPic_Jumpluff[];
+extern const u32 gMonFrontPic_Jumpluff[];
+extern const u32 gMonPalette_Jumpluff[];
+extern const u32 gMonBackPic_Jumpluff[];
+extern const u32 gMonShinyPalette_Jumpluff[];
+extern const u32 gMonStillFrontPic_Jumpluff[];
extern const u8 gMonIcon_Jumpluff[];
extern const u8 gMonFootprint_Jumpluff[];
-extern const u8 gMonFrontPic_Aipom[];
-extern const u8 gMonPalette_Aipom[];
-extern const u8 gMonBackPic_Aipom[];
-extern const u8 gMonShinyPalette_Aipom[];
-extern const u8 gMonStillFrontPic_Aipom[];
+extern const u32 gMonFrontPic_Aipom[];
+extern const u32 gMonPalette_Aipom[];
+extern const u32 gMonBackPic_Aipom[];
+extern const u32 gMonShinyPalette_Aipom[];
+extern const u32 gMonStillFrontPic_Aipom[];
extern const u8 gMonIcon_Aipom[];
extern const u8 gMonFootprint_Aipom[];
-extern const u8 gMonFrontPic_Sunkern[];
-extern const u8 gMonPalette_Sunkern[];
-extern const u8 gMonBackPic_Sunkern[];
-extern const u8 gMonShinyPalette_Sunkern[];
-extern const u8 gMonStillFrontPic_Sunkern[];
+extern const u32 gMonFrontPic_Sunkern[];
+extern const u32 gMonPalette_Sunkern[];
+extern const u32 gMonBackPic_Sunkern[];
+extern const u32 gMonShinyPalette_Sunkern[];
+extern const u32 gMonStillFrontPic_Sunkern[];
extern const u8 gMonIcon_Sunkern[];
extern const u8 gMonFootprint_Sunkern[];
-extern const u8 gMonFrontPic_Sunflora[];
-extern const u8 gMonPalette_Sunflora[];
-extern const u8 gMonBackPic_Sunflora[];
-extern const u8 gMonShinyPalette_Sunflora[];
-extern const u8 gMonStillFrontPic_Sunflora[];
+extern const u32 gMonFrontPic_Sunflora[];
+extern const u32 gMonPalette_Sunflora[];
+extern const u32 gMonBackPic_Sunflora[];
+extern const u32 gMonShinyPalette_Sunflora[];
+extern const u32 gMonStillFrontPic_Sunflora[];
extern const u8 gMonIcon_Sunflora[];
extern const u8 gMonFootprint_Sunflora[];
-extern const u8 gMonFrontPic_Yanma[];
-extern const u8 gMonPalette_Yanma[];
-extern const u8 gMonBackPic_Yanma[];
-extern const u8 gMonShinyPalette_Yanma[];
-extern const u8 gMonStillFrontPic_Yanma[];
+extern const u32 gMonFrontPic_Yanma[];
+extern const u32 gMonPalette_Yanma[];
+extern const u32 gMonBackPic_Yanma[];
+extern const u32 gMonShinyPalette_Yanma[];
+extern const u32 gMonStillFrontPic_Yanma[];
extern const u8 gMonIcon_Yanma[];
extern const u8 gMonFootprint_Yanma[];
-extern const u8 gMonFrontPic_Wooper[];
-extern const u8 gMonPalette_Wooper[];
-extern const u8 gMonBackPic_Wooper[];
-extern const u8 gMonShinyPalette_Wooper[];
-extern const u8 gMonStillFrontPic_Wooper[];
+extern const u32 gMonFrontPic_Wooper[];
+extern const u32 gMonPalette_Wooper[];
+extern const u32 gMonBackPic_Wooper[];
+extern const u32 gMonShinyPalette_Wooper[];
+extern const u32 gMonStillFrontPic_Wooper[];
extern const u8 gMonIcon_Wooper[];
extern const u8 gMonFootprint_Wooper[];
-extern const u8 gMonFrontPic_Quagsire[];
-extern const u8 gMonPalette_Quagsire[];
-extern const u8 gMonBackPic_Quagsire[];
-extern const u8 gMonShinyPalette_Quagsire[];
-extern const u8 gMonStillFrontPic_Quagsire[];
+extern const u32 gMonFrontPic_Quagsire[];
+extern const u32 gMonPalette_Quagsire[];
+extern const u32 gMonBackPic_Quagsire[];
+extern const u32 gMonShinyPalette_Quagsire[];
+extern const u32 gMonStillFrontPic_Quagsire[];
extern const u8 gMonIcon_Quagsire[];
extern const u8 gMonFootprint_Quagsire[];
-extern const u8 gMonFrontPic_Espeon[];
-extern const u8 gMonPalette_Espeon[];
-extern const u8 gMonBackPic_Espeon[];
-extern const u8 gMonShinyPalette_Espeon[];
-extern const u8 gMonStillFrontPic_Espeon[];
+extern const u32 gMonFrontPic_Espeon[];
+extern const u32 gMonPalette_Espeon[];
+extern const u32 gMonBackPic_Espeon[];
+extern const u32 gMonShinyPalette_Espeon[];
+extern const u32 gMonStillFrontPic_Espeon[];
extern const u8 gMonIcon_Espeon[];
extern const u8 gMonFootprint_Espeon[];
-extern const u8 gMonFrontPic_Umbreon[];
-extern const u8 gMonPalette_Umbreon[];
-extern const u8 gMonBackPic_Umbreon[];
-extern const u8 gMonShinyPalette_Umbreon[];
-extern const u8 gMonStillFrontPic_Umbreon[];
+extern const u32 gMonFrontPic_Umbreon[];
+extern const u32 gMonPalette_Umbreon[];
+extern const u32 gMonBackPic_Umbreon[];
+extern const u32 gMonShinyPalette_Umbreon[];
+extern const u32 gMonStillFrontPic_Umbreon[];
extern const u8 gMonIcon_Umbreon[];
extern const u8 gMonFootprint_Umbreon[];
-extern const u8 gMonFrontPic_Murkrow[];
-extern const u8 gMonPalette_Murkrow[];
-extern const u8 gMonBackPic_Murkrow[];
-extern const u8 gMonShinyPalette_Murkrow[];
-extern const u8 gMonStillFrontPic_Murkrow[];
+extern const u32 gMonFrontPic_Murkrow[];
+extern const u32 gMonPalette_Murkrow[];
+extern const u32 gMonBackPic_Murkrow[];
+extern const u32 gMonShinyPalette_Murkrow[];
+extern const u32 gMonStillFrontPic_Murkrow[];
extern const u8 gMonIcon_Murkrow[];
extern const u8 gMonFootprint_Murkrow[];
-extern const u8 gMonFrontPic_Slowking[];
-extern const u8 gMonPalette_Slowking[];
-extern const u8 gMonBackPic_Slowking[];
-extern const u8 gMonShinyPalette_Slowking[];
-extern const u8 gMonStillFrontPic_Slowking[];
+extern const u32 gMonFrontPic_Slowking[];
+extern const u32 gMonPalette_Slowking[];
+extern const u32 gMonBackPic_Slowking[];
+extern const u32 gMonShinyPalette_Slowking[];
+extern const u32 gMonStillFrontPic_Slowking[];
extern const u8 gMonIcon_Slowking[];
extern const u8 gMonFootprint_Slowking[];
-extern const u8 gMonFrontPic_Misdreavus[];
-extern const u8 gMonPalette_Misdreavus[];
-extern const u8 gMonBackPic_Misdreavus[];
-extern const u8 gMonShinyPalette_Misdreavus[];
-extern const u8 gMonStillFrontPic_Misdreavus[];
+extern const u32 gMonFrontPic_Misdreavus[];
+extern const u32 gMonPalette_Misdreavus[];
+extern const u32 gMonBackPic_Misdreavus[];
+extern const u32 gMonShinyPalette_Misdreavus[];
+extern const u32 gMonStillFrontPic_Misdreavus[];
extern const u8 gMonIcon_Misdreavus[];
extern const u8 gMonFootprint_Misdreavus[];
-extern const u8 gMonFrontPic_UnownA[];
-extern const u8 gMonPalette_Unown[];
-extern const u8 gMonBackPic_UnownA[];
-extern const u8 gMonShinyPalette_Unown[];
-extern const u8 gMonStillFrontPic_UnownA[];
+extern const u32 gMonFrontPic_UnownA[];
+extern const u32 gMonPalette_Unown[];
+extern const u32 gMonBackPic_UnownA[];
+extern const u32 gMonShinyPalette_Unown[];
+extern const u32 gMonStillFrontPic_UnownA[];
extern const u8 gMonIcon_UnownA[];
extern const u8 gMonFootprint_Unown[];
-extern const u8 gMonFrontPic_Wobbuffet[];
-extern const u8 gMonPalette_Wobbuffet[];
-extern const u8 gMonBackPic_Wobbuffet[];
-extern const u8 gMonShinyPalette_Wobbuffet[];
-extern const u8 gMonStillFrontPic_Wobbuffet[];
+extern const u32 gMonFrontPic_Wobbuffet[];
+extern const u32 gMonPalette_Wobbuffet[];
+extern const u32 gMonBackPic_Wobbuffet[];
+extern const u32 gMonShinyPalette_Wobbuffet[];
+extern const u32 gMonStillFrontPic_Wobbuffet[];
extern const u8 gMonIcon_Wobbuffet[];
extern const u8 gMonFootprint_Wobbuffet[];
-extern const u8 gMonFrontPic_Girafarig[];
-extern const u8 gMonPalette_Girafarig[];
-extern const u8 gMonBackPic_Girafarig[];
-extern const u8 gMonShinyPalette_Girafarig[];
-extern const u8 gMonStillFrontPic_Girafarig[];
+extern const u32 gMonFrontPic_Girafarig[];
+extern const u32 gMonPalette_Girafarig[];
+extern const u32 gMonBackPic_Girafarig[];
+extern const u32 gMonShinyPalette_Girafarig[];
+extern const u32 gMonStillFrontPic_Girafarig[];
extern const u8 gMonIcon_Girafarig[];
extern const u8 gMonFootprint_Girafarig[];
-extern const u8 gMonFrontPic_Pineco[];
-extern const u8 gMonPalette_Pineco[];
-extern const u8 gMonBackPic_Pineco[];
-extern const u8 gMonShinyPalette_Pineco[];
-extern const u8 gMonStillFrontPic_Pineco[];
+extern const u32 gMonFrontPic_Pineco[];
+extern const u32 gMonPalette_Pineco[];
+extern const u32 gMonBackPic_Pineco[];
+extern const u32 gMonShinyPalette_Pineco[];
+extern const u32 gMonStillFrontPic_Pineco[];
extern const u8 gMonIcon_Pineco[];
extern const u8 gMonFootprint_Pineco[];
-extern const u8 gMonFrontPic_Forretress[];
-extern const u8 gMonPalette_Forretress[];
-extern const u8 gMonBackPic_Forretress[];
-extern const u8 gMonShinyPalette_Forretress[];
-extern const u8 gMonStillFrontPic_Forretress[];
+extern const u32 gMonFrontPic_Forretress[];
+extern const u32 gMonPalette_Forretress[];
+extern const u32 gMonBackPic_Forretress[];
+extern const u32 gMonShinyPalette_Forretress[];
+extern const u32 gMonStillFrontPic_Forretress[];
extern const u8 gMonIcon_Forretress[];
extern const u8 gMonFootprint_Forretress[];
-extern const u8 gMonFrontPic_Dunsparce[];
-extern const u8 gMonPalette_Dunsparce[];
-extern const u8 gMonBackPic_Dunsparce[];
-extern const u8 gMonShinyPalette_Dunsparce[];
-extern const u8 gMonStillFrontPic_Dunsparce[];
+extern const u32 gMonFrontPic_Dunsparce[];
+extern const u32 gMonPalette_Dunsparce[];
+extern const u32 gMonBackPic_Dunsparce[];
+extern const u32 gMonShinyPalette_Dunsparce[];
+extern const u32 gMonStillFrontPic_Dunsparce[];
extern const u8 gMonIcon_Dunsparce[];
extern const u8 gMonFootprint_Dunsparce[];
-extern const u8 gMonFrontPic_Gligar[];
-extern const u8 gMonPalette_Gligar[];
-extern const u8 gMonBackPic_Gligar[];
-extern const u8 gMonShinyPalette_Gligar[];
-extern const u8 gMonStillFrontPic_Gligar[];
+extern const u32 gMonFrontPic_Gligar[];
+extern const u32 gMonPalette_Gligar[];
+extern const u32 gMonBackPic_Gligar[];
+extern const u32 gMonShinyPalette_Gligar[];
+extern const u32 gMonStillFrontPic_Gligar[];
extern const u8 gMonIcon_Gligar[];
extern const u8 gMonFootprint_Gligar[];
-extern const u8 gMonFrontPic_Steelix[];
-extern const u8 gMonPalette_Steelix[];
-extern const u8 gMonBackPic_Steelix[];
-extern const u8 gMonShinyPalette_Steelix[];
-extern const u8 gMonStillFrontPic_Steelix[];
+extern const u32 gMonFrontPic_Steelix[];
+extern const u32 gMonPalette_Steelix[];
+extern const u32 gMonBackPic_Steelix[];
+extern const u32 gMonShinyPalette_Steelix[];
+extern const u32 gMonStillFrontPic_Steelix[];
extern const u8 gMonIcon_Steelix[];
extern const u8 gMonFootprint_Steelix[];
-extern const u8 gMonFrontPic_Snubbull[];
-extern const u8 gMonPalette_Snubbull[];
-extern const u8 gMonBackPic_Snubbull[];
-extern const u8 gMonShinyPalette_Snubbull[];
-extern const u8 gMonStillFrontPic_Snubbull[];
+extern const u32 gMonFrontPic_Snubbull[];
+extern const u32 gMonPalette_Snubbull[];
+extern const u32 gMonBackPic_Snubbull[];
+extern const u32 gMonShinyPalette_Snubbull[];
+extern const u32 gMonStillFrontPic_Snubbull[];
extern const u8 gMonIcon_Snubbull[];
extern const u8 gMonFootprint_Snubbull[];
-extern const u8 gMonFrontPic_Granbull[];
-extern const u8 gMonPalette_Granbull[];
-extern const u8 gMonBackPic_Granbull[];
-extern const u8 gMonShinyPalette_Granbull[];
-extern const u8 gMonStillFrontPic_Granbull[];
+extern const u32 gMonFrontPic_Granbull[];
+extern const u32 gMonPalette_Granbull[];
+extern const u32 gMonBackPic_Granbull[];
+extern const u32 gMonShinyPalette_Granbull[];
+extern const u32 gMonStillFrontPic_Granbull[];
extern const u8 gMonIcon_Granbull[];
extern const u8 gMonFootprint_Granbull[];
-extern const u8 gMonFrontPic_Qwilfish[];
-extern const u8 gMonPalette_Qwilfish[];
-extern const u8 gMonBackPic_Qwilfish[];
-extern const u8 gMonShinyPalette_Qwilfish[];
-extern const u8 gMonStillFrontPic_Qwilfish[];
+extern const u32 gMonFrontPic_Qwilfish[];
+extern const u32 gMonPalette_Qwilfish[];
+extern const u32 gMonBackPic_Qwilfish[];
+extern const u32 gMonShinyPalette_Qwilfish[];
+extern const u32 gMonStillFrontPic_Qwilfish[];
extern const u8 gMonIcon_Qwilfish[];
extern const u8 gMonFootprint_Qwilfish[];
-extern const u8 gMonFrontPic_Scizor[];
-extern const u8 gMonPalette_Scizor[];
-extern const u8 gMonBackPic_Scizor[];
-extern const u8 gMonShinyPalette_Scizor[];
-extern const u8 gMonStillFrontPic_Scizor[];
+extern const u32 gMonFrontPic_Scizor[];
+extern const u32 gMonPalette_Scizor[];
+extern const u32 gMonBackPic_Scizor[];
+extern const u32 gMonShinyPalette_Scizor[];
+extern const u32 gMonStillFrontPic_Scizor[];
extern const u8 gMonIcon_Scizor[];
extern const u8 gMonFootprint_Scizor[];
-extern const u8 gMonFrontPic_Shuckle[];
-extern const u8 gMonPalette_Shuckle[];
-extern const u8 gMonBackPic_Shuckle[];
-extern const u8 gMonShinyPalette_Shuckle[];
-extern const u8 gMonStillFrontPic_Shuckle[];
+extern const u32 gMonFrontPic_Shuckle[];
+extern const u32 gMonPalette_Shuckle[];
+extern const u32 gMonBackPic_Shuckle[];
+extern const u32 gMonShinyPalette_Shuckle[];
+extern const u32 gMonStillFrontPic_Shuckle[];
extern const u8 gMonIcon_Shuckle[];
extern const u8 gMonFootprint_Shuckle[];
-extern const u8 gMonFrontPic_Heracross[];
-extern const u8 gMonPalette_Heracross[];
-extern const u8 gMonBackPic_Heracross[];
-extern const u8 gMonShinyPalette_Heracross[];
-extern const u8 gMonStillFrontPic_Heracross[];
+extern const u32 gMonFrontPic_Heracross[];
+extern const u32 gMonPalette_Heracross[];
+extern const u32 gMonBackPic_Heracross[];
+extern const u32 gMonShinyPalette_Heracross[];
+extern const u32 gMonStillFrontPic_Heracross[];
extern const u8 gMonIcon_Heracross[];
extern const u8 gMonFootprint_Heracross[];
-extern const u8 gMonFrontPic_Sneasel[];
-extern const u8 gMonPalette_Sneasel[];
-extern const u8 gMonBackPic_Sneasel[];
-extern const u8 gMonShinyPalette_Sneasel[];
-extern const u8 gMonStillFrontPic_Sneasel[];
+extern const u32 gMonFrontPic_Sneasel[];
+extern const u32 gMonPalette_Sneasel[];
+extern const u32 gMonBackPic_Sneasel[];
+extern const u32 gMonShinyPalette_Sneasel[];
+extern const u32 gMonStillFrontPic_Sneasel[];
extern const u8 gMonIcon_Sneasel[];
extern const u8 gMonFootprint_Sneasel[];
-extern const u8 gMonFrontPic_Teddiursa[];
-extern const u8 gMonPalette_Teddiursa[];
-extern const u8 gMonBackPic_Teddiursa[];
-extern const u8 gMonShinyPalette_Teddiursa[];
-extern const u8 gMonStillFrontPic_Teddiursa[];
+extern const u32 gMonFrontPic_Teddiursa[];
+extern const u32 gMonPalette_Teddiursa[];
+extern const u32 gMonBackPic_Teddiursa[];
+extern const u32 gMonShinyPalette_Teddiursa[];
+extern const u32 gMonStillFrontPic_Teddiursa[];
extern const u8 gMonIcon_Teddiursa[];
extern const u8 gMonFootprint_Teddiursa[];
-extern const u8 gMonFrontPic_Ursaring[];
-extern const u8 gMonPalette_Ursaring[];
-extern const u8 gMonBackPic_Ursaring[];
-extern const u8 gMonShinyPalette_Ursaring[];
-extern const u8 gMonStillFrontPic_Ursaring[];
+extern const u32 gMonFrontPic_Ursaring[];
+extern const u32 gMonPalette_Ursaring[];
+extern const u32 gMonBackPic_Ursaring[];
+extern const u32 gMonShinyPalette_Ursaring[];
+extern const u32 gMonStillFrontPic_Ursaring[];
extern const u8 gMonIcon_Ursaring[];
extern const u8 gMonFootprint_Ursaring[];
-extern const u8 gMonFrontPic_Slugma[];
-extern const u8 gMonPalette_Slugma[];
-extern const u8 gMonBackPic_Slugma[];
-extern const u8 gMonShinyPalette_Slugma[];
-extern const u8 gMonStillFrontPic_Slugma[];
+extern const u32 gMonFrontPic_Slugma[];
+extern const u32 gMonPalette_Slugma[];
+extern const u32 gMonBackPic_Slugma[];
+extern const u32 gMonShinyPalette_Slugma[];
+extern const u32 gMonStillFrontPic_Slugma[];
extern const u8 gMonIcon_Slugma[];
extern const u8 gMonFootprint_Slugma[];
-extern const u8 gMonFrontPic_Magcargo[];
-extern const u8 gMonPalette_Magcargo[];
-extern const u8 gMonBackPic_Magcargo[];
-extern const u8 gMonShinyPalette_Magcargo[];
-extern const u8 gMonStillFrontPic_Magcargo[];
+extern const u32 gMonFrontPic_Magcargo[];
+extern const u32 gMonPalette_Magcargo[];
+extern const u32 gMonBackPic_Magcargo[];
+extern const u32 gMonShinyPalette_Magcargo[];
+extern const u32 gMonStillFrontPic_Magcargo[];
extern const u8 gMonIcon_Magcargo[];
extern const u8 gMonFootprint_Magcargo[];
-extern const u8 gMonFrontPic_Swinub[];
-extern const u8 gMonPalette_Swinub[];
-extern const u8 gMonBackPic_Swinub[];
-extern const u8 gMonShinyPalette_Swinub[];
-extern const u8 gMonStillFrontPic_Swinub[];
+extern const u32 gMonFrontPic_Swinub[];
+extern const u32 gMonPalette_Swinub[];
+extern const u32 gMonBackPic_Swinub[];
+extern const u32 gMonShinyPalette_Swinub[];
+extern const u32 gMonStillFrontPic_Swinub[];
extern const u8 gMonIcon_Swinub[];
extern const u8 gMonFootprint_Swinub[];
-extern const u8 gMonFrontPic_Piloswine[];
-extern const u8 gMonPalette_Piloswine[];
-extern const u8 gMonBackPic_Piloswine[];
-extern const u8 gMonShinyPalette_Piloswine[];
-extern const u8 gMonStillFrontPic_Piloswine[];
+extern const u32 gMonFrontPic_Piloswine[];
+extern const u32 gMonPalette_Piloswine[];
+extern const u32 gMonBackPic_Piloswine[];
+extern const u32 gMonShinyPalette_Piloswine[];
+extern const u32 gMonStillFrontPic_Piloswine[];
extern const u8 gMonIcon_Piloswine[];
extern const u8 gMonFootprint_Piloswine[];
-extern const u8 gMonFrontPic_Corsola[];
-extern const u8 gMonPalette_Corsola[];
-extern const u8 gMonBackPic_Corsola[];
-extern const u8 gMonShinyPalette_Corsola[];
-extern const u8 gMonStillFrontPic_Corsola[];
+extern const u32 gMonFrontPic_Corsola[];
+extern const u32 gMonPalette_Corsola[];
+extern const u32 gMonBackPic_Corsola[];
+extern const u32 gMonShinyPalette_Corsola[];
+extern const u32 gMonStillFrontPic_Corsola[];
extern const u8 gMonIcon_Corsola[];
extern const u8 gMonFootprint_Corsola[];
-extern const u8 gMonFrontPic_Remoraid[];
-extern const u8 gMonPalette_Remoraid[];
-extern const u8 gMonBackPic_Remoraid[];
-extern const u8 gMonShinyPalette_Remoraid[];
-extern const u8 gMonStillFrontPic_Remoraid[];
+extern const u32 gMonFrontPic_Remoraid[];
+extern const u32 gMonPalette_Remoraid[];
+extern const u32 gMonBackPic_Remoraid[];
+extern const u32 gMonShinyPalette_Remoraid[];
+extern const u32 gMonStillFrontPic_Remoraid[];
extern const u8 gMonIcon_Remoraid[];
extern const u8 gMonFootprint_Remoraid[];
-extern const u8 gMonFrontPic_Octillery[];
-extern const u8 gMonPalette_Octillery[];
-extern const u8 gMonBackPic_Octillery[];
-extern const u8 gMonShinyPalette_Octillery[];
-extern const u8 gMonStillFrontPic_Octillery[];
+extern const u32 gMonFrontPic_Octillery[];
+extern const u32 gMonPalette_Octillery[];
+extern const u32 gMonBackPic_Octillery[];
+extern const u32 gMonShinyPalette_Octillery[];
+extern const u32 gMonStillFrontPic_Octillery[];
extern const u8 gMonIcon_Octillery[];
extern const u8 gMonFootprint_Octillery[];
-extern const u8 gMonFrontPic_Delibird[];
-extern const u8 gMonPalette_Delibird[];
-extern const u8 gMonBackPic_Delibird[];
-extern const u8 gMonShinyPalette_Delibird[];
-extern const u8 gMonStillFrontPic_Delibird[];
+extern const u32 gMonFrontPic_Delibird[];
+extern const u32 gMonPalette_Delibird[];
+extern const u32 gMonBackPic_Delibird[];
+extern const u32 gMonShinyPalette_Delibird[];
+extern const u32 gMonStillFrontPic_Delibird[];
extern const u8 gMonIcon_Delibird[];
extern const u8 gMonFootprint_Delibird[];
-extern const u8 gMonFrontPic_Mantine[];
-extern const u8 gMonPalette_Mantine[];
-extern const u8 gMonBackPic_Mantine[];
-extern const u8 gMonShinyPalette_Mantine[];
-extern const u8 gMonStillFrontPic_Mantine[];
+extern const u32 gMonFrontPic_Mantine[];
+extern const u32 gMonPalette_Mantine[];
+extern const u32 gMonBackPic_Mantine[];
+extern const u32 gMonShinyPalette_Mantine[];
+extern const u32 gMonStillFrontPic_Mantine[];
extern const u8 gMonIcon_Mantine[];
extern const u8 gMonFootprint_Mantine[];
-extern const u8 gMonFrontPic_Skarmory[];
-extern const u8 gMonPalette_Skarmory[];
-extern const u8 gMonBackPic_Skarmory[];
-extern const u8 gMonShinyPalette_Skarmory[];
-extern const u8 gMonStillFrontPic_Skarmory[];
+extern const u32 gMonFrontPic_Skarmory[];
+extern const u32 gMonPalette_Skarmory[];
+extern const u32 gMonBackPic_Skarmory[];
+extern const u32 gMonShinyPalette_Skarmory[];
+extern const u32 gMonStillFrontPic_Skarmory[];
extern const u8 gMonIcon_Skarmory[];
extern const u8 gMonFootprint_Skarmory[];
-extern const u8 gMonFrontPic_Houndour[];
-extern const u8 gMonPalette_Houndour[];
-extern const u8 gMonBackPic_Houndour[];
-extern const u8 gMonShinyPalette_Houndour[];
-extern const u8 gMonStillFrontPic_Houndour[];
+extern const u32 gMonFrontPic_Houndour[];
+extern const u32 gMonPalette_Houndour[];
+extern const u32 gMonBackPic_Houndour[];
+extern const u32 gMonShinyPalette_Houndour[];
+extern const u32 gMonStillFrontPic_Houndour[];
extern const u8 gMonIcon_Houndour[];
extern const u8 gMonFootprint_Houndour[];
-extern const u8 gMonFrontPic_Houndoom[];
-extern const u8 gMonPalette_Houndoom[];
-extern const u8 gMonBackPic_Houndoom[];
-extern const u8 gMonShinyPalette_Houndoom[];
-extern const u8 gMonStillFrontPic_Houndoom[];
+extern const u32 gMonFrontPic_Houndoom[];
+extern const u32 gMonPalette_Houndoom[];
+extern const u32 gMonBackPic_Houndoom[];
+extern const u32 gMonShinyPalette_Houndoom[];
+extern const u32 gMonStillFrontPic_Houndoom[];
extern const u8 gMonIcon_Houndoom[];
extern const u8 gMonFootprint_Houndoom[];
-extern const u8 gMonFrontPic_Kingdra[];
-extern const u8 gMonPalette_Kingdra[];
-extern const u8 gMonBackPic_Kingdra[];
-extern const u8 gMonShinyPalette_Kingdra[];
-extern const u8 gMonStillFrontPic_Kingdra[];
+extern const u32 gMonFrontPic_Kingdra[];
+extern const u32 gMonPalette_Kingdra[];
+extern const u32 gMonBackPic_Kingdra[];
+extern const u32 gMonShinyPalette_Kingdra[];
+extern const u32 gMonStillFrontPic_Kingdra[];
extern const u8 gMonIcon_Kingdra[];
extern const u8 gMonFootprint_Kingdra[];
-extern const u8 gMonFrontPic_Phanpy[];
-extern const u8 gMonPalette_Phanpy[];
-extern const u8 gMonBackPic_Phanpy[];
-extern const u8 gMonShinyPalette_Phanpy[];
-extern const u8 gMonStillFrontPic_Phanpy[];
+extern const u32 gMonFrontPic_Phanpy[];
+extern const u32 gMonPalette_Phanpy[];
+extern const u32 gMonBackPic_Phanpy[];
+extern const u32 gMonShinyPalette_Phanpy[];
+extern const u32 gMonStillFrontPic_Phanpy[];
extern const u8 gMonIcon_Phanpy[];
extern const u8 gMonFootprint_Phanpy[];
-extern const u8 gMonFrontPic_Donphan[];
-extern const u8 gMonPalette_Donphan[];
-extern const u8 gMonBackPic_Donphan[];
-extern const u8 gMonShinyPalette_Donphan[];
-extern const u8 gMonStillFrontPic_Donphan[];
+extern const u32 gMonFrontPic_Donphan[];
+extern const u32 gMonPalette_Donphan[];
+extern const u32 gMonBackPic_Donphan[];
+extern const u32 gMonShinyPalette_Donphan[];
+extern const u32 gMonStillFrontPic_Donphan[];
extern const u8 gMonIcon_Donphan[];
extern const u8 gMonFootprint_Donphan[];
-extern const u8 gMonFrontPic_Porygon2[];
-extern const u8 gMonPalette_Porygon2[];
-extern const u8 gMonBackPic_Porygon2[];
-extern const u8 gMonShinyPalette_Porygon2[];
-extern const u8 gMonStillFrontPic_Porygon2[];
+extern const u32 gMonFrontPic_Porygon2[];
+extern const u32 gMonPalette_Porygon2[];
+extern const u32 gMonBackPic_Porygon2[];
+extern const u32 gMonShinyPalette_Porygon2[];
+extern const u32 gMonStillFrontPic_Porygon2[];
extern const u8 gMonIcon_Porygon2[];
extern const u8 gMonFootprint_Porygon2[];
-extern const u8 gMonFrontPic_Stantler[];
-extern const u8 gMonPalette_Stantler[];
-extern const u8 gMonBackPic_Stantler[];
-extern const u8 gMonShinyPalette_Stantler[];
-extern const u8 gMonStillFrontPic_Stantler[];
+extern const u32 gMonFrontPic_Stantler[];
+extern const u32 gMonPalette_Stantler[];
+extern const u32 gMonBackPic_Stantler[];
+extern const u32 gMonShinyPalette_Stantler[];
+extern const u32 gMonStillFrontPic_Stantler[];
extern const u8 gMonIcon_Stantler[];
extern const u8 gMonFootprint_Stantler[];
-extern const u8 gMonFrontPic_Smeargle[];
-extern const u8 gMonPalette_Smeargle[];
-extern const u8 gMonBackPic_Smeargle[];
-extern const u8 gMonShinyPalette_Smeargle[];
-extern const u8 gMonStillFrontPic_Smeargle[];
+extern const u32 gMonFrontPic_Smeargle[];
+extern const u32 gMonPalette_Smeargle[];
+extern const u32 gMonBackPic_Smeargle[];
+extern const u32 gMonShinyPalette_Smeargle[];
+extern const u32 gMonStillFrontPic_Smeargle[];
extern const u8 gMonIcon_Smeargle[];
extern const u8 gMonFootprint_Smeargle[];
-extern const u8 gMonFrontPic_Tyrogue[];
-extern const u8 gMonPalette_Tyrogue[];
-extern const u8 gMonBackPic_Tyrogue[];
-extern const u8 gMonShinyPalette_Tyrogue[];
-extern const u8 gMonStillFrontPic_Tyrogue[];
+extern const u32 gMonFrontPic_Tyrogue[];
+extern const u32 gMonPalette_Tyrogue[];
+extern const u32 gMonBackPic_Tyrogue[];
+extern const u32 gMonShinyPalette_Tyrogue[];
+extern const u32 gMonStillFrontPic_Tyrogue[];
extern const u8 gMonIcon_Tyrogue[];
extern const u8 gMonFootprint_Tyrogue[];
-extern const u8 gMonFrontPic_Hitmontop[];
-extern const u8 gMonPalette_Hitmontop[];
-extern const u8 gMonBackPic_Hitmontop[];
-extern const u8 gMonShinyPalette_Hitmontop[];
-extern const u8 gMonStillFrontPic_Hitmontop[];
+extern const u32 gMonFrontPic_Hitmontop[];
+extern const u32 gMonPalette_Hitmontop[];
+extern const u32 gMonBackPic_Hitmontop[];
+extern const u32 gMonShinyPalette_Hitmontop[];
+extern const u32 gMonStillFrontPic_Hitmontop[];
extern const u8 gMonIcon_Hitmontop[];
extern const u8 gMonFootprint_Hitmontop[];
-extern const u8 gMonFrontPic_Smoochum[];
-extern const u8 gMonPalette_Smoochum[];
-extern const u8 gMonBackPic_Smoochum[];
-extern const u8 gMonShinyPalette_Smoochum[];
-extern const u8 gMonStillFrontPic_Smoochum[];
+extern const u32 gMonFrontPic_Smoochum[];
+extern const u32 gMonPalette_Smoochum[];
+extern const u32 gMonBackPic_Smoochum[];
+extern const u32 gMonShinyPalette_Smoochum[];
+extern const u32 gMonStillFrontPic_Smoochum[];
extern const u8 gMonIcon_Smoochum[];
extern const u8 gMonFootprint_Smoochum[];
-extern const u8 gMonFrontPic_Elekid[];
-extern const u8 gMonPalette_Elekid[];
-extern const u8 gMonBackPic_Elekid[];
-extern const u8 gMonShinyPalette_Elekid[];
-extern const u8 gMonStillFrontPic_Elekid[];
+extern const u32 gMonFrontPic_Elekid[];
+extern const u32 gMonPalette_Elekid[];
+extern const u32 gMonBackPic_Elekid[];
+extern const u32 gMonShinyPalette_Elekid[];
+extern const u32 gMonStillFrontPic_Elekid[];
extern const u8 gMonIcon_Elekid[];
extern const u8 gMonFootprint_Elekid[];
-extern const u8 gMonFrontPic_Magby[];
-extern const u8 gMonPalette_Magby[];
-extern const u8 gMonBackPic_Magby[];
-extern const u8 gMonShinyPalette_Magby[];
-extern const u8 gMonStillFrontPic_Magby[];
+extern const u32 gMonFrontPic_Magby[];
+extern const u32 gMonPalette_Magby[];
+extern const u32 gMonBackPic_Magby[];
+extern const u32 gMonShinyPalette_Magby[];
+extern const u32 gMonStillFrontPic_Magby[];
extern const u8 gMonIcon_Magby[];
extern const u8 gMonFootprint_Magby[];
-extern const u8 gMonFrontPic_Miltank[];
-extern const u8 gMonPalette_Miltank[];
-extern const u8 gMonBackPic_Miltank[];
-extern const u8 gMonShinyPalette_Miltank[];
-extern const u8 gMonStillFrontPic_Miltank[];
+extern const u32 gMonFrontPic_Miltank[];
+extern const u32 gMonPalette_Miltank[];
+extern const u32 gMonBackPic_Miltank[];
+extern const u32 gMonShinyPalette_Miltank[];
+extern const u32 gMonStillFrontPic_Miltank[];
extern const u8 gMonIcon_Miltank[];
extern const u8 gMonFootprint_Miltank[];
-extern const u8 gMonFrontPic_Blissey[];
-extern const u8 gMonPalette_Blissey[];
-extern const u8 gMonBackPic_Blissey[];
-extern const u8 gMonShinyPalette_Blissey[];
-extern const u8 gMonStillFrontPic_Blissey[];
+extern const u32 gMonFrontPic_Blissey[];
+extern const u32 gMonPalette_Blissey[];
+extern const u32 gMonBackPic_Blissey[];
+extern const u32 gMonShinyPalette_Blissey[];
+extern const u32 gMonStillFrontPic_Blissey[];
extern const u8 gMonIcon_Blissey[];
extern const u8 gMonFootprint_Blissey[];
-extern const u8 gMonFrontPic_Raikou[];
-extern const u8 gMonPalette_Raikou[];
-extern const u8 gMonBackPic_Raikou[];
-extern const u8 gMonShinyPalette_Raikou[];
-extern const u8 gMonStillFrontPic_Raikou[];
+extern const u32 gMonFrontPic_Raikou[];
+extern const u32 gMonPalette_Raikou[];
+extern const u32 gMonBackPic_Raikou[];
+extern const u32 gMonShinyPalette_Raikou[];
+extern const u32 gMonStillFrontPic_Raikou[];
extern const u8 gMonIcon_Raikou[];
extern const u8 gMonFootprint_Raikou[];
-extern const u8 gMonFrontPic_Entei[];
-extern const u8 gMonPalette_Entei[];
-extern const u8 gMonBackPic_Entei[];
-extern const u8 gMonShinyPalette_Entei[];
-extern const u8 gMonStillFrontPic_Entei[];
+extern const u32 gMonFrontPic_Entei[];
+extern const u32 gMonPalette_Entei[];
+extern const u32 gMonBackPic_Entei[];
+extern const u32 gMonShinyPalette_Entei[];
+extern const u32 gMonStillFrontPic_Entei[];
extern const u8 gMonIcon_Entei[];
extern const u8 gMonFootprint_Entei[];
-extern const u8 gMonFrontPic_Suicune[];
-extern const u8 gMonPalette_Suicune[];
-extern const u8 gMonBackPic_Suicune[];
-extern const u8 gMonShinyPalette_Suicune[];
-extern const u8 gMonStillFrontPic_Suicune[];
+extern const u32 gMonFrontPic_Suicune[];
+extern const u32 gMonPalette_Suicune[];
+extern const u32 gMonBackPic_Suicune[];
+extern const u32 gMonShinyPalette_Suicune[];
+extern const u32 gMonStillFrontPic_Suicune[];
extern const u8 gMonIcon_Suicune[];
extern const u8 gMonFootprint_Suicune[];
-extern const u8 gMonFrontPic_Larvitar[];
-extern const u8 gMonPalette_Larvitar[];
-extern const u8 gMonBackPic_Larvitar[];
-extern const u8 gMonShinyPalette_Larvitar[];
-extern const u8 gMonStillFrontPic_Larvitar[];
+extern const u32 gMonFrontPic_Larvitar[];
+extern const u32 gMonPalette_Larvitar[];
+extern const u32 gMonBackPic_Larvitar[];
+extern const u32 gMonShinyPalette_Larvitar[];
+extern const u32 gMonStillFrontPic_Larvitar[];
extern const u8 gMonIcon_Larvitar[];
extern const u8 gMonFootprint_Larvitar[];
-extern const u8 gMonFrontPic_Pupitar[];
-extern const u8 gMonPalette_Pupitar[];
-extern const u8 gMonBackPic_Pupitar[];
-extern const u8 gMonShinyPalette_Pupitar[];
-extern const u8 gMonStillFrontPic_Pupitar[];
+extern const u32 gMonFrontPic_Pupitar[];
+extern const u32 gMonPalette_Pupitar[];
+extern const u32 gMonBackPic_Pupitar[];
+extern const u32 gMonShinyPalette_Pupitar[];
+extern const u32 gMonStillFrontPic_Pupitar[];
extern const u8 gMonIcon_Pupitar[];
extern const u8 gMonFootprint_Pupitar[];
-extern const u8 gMonFrontPic_Tyranitar[];
-extern const u8 gMonPalette_Tyranitar[];
-extern const u8 gMonBackPic_Tyranitar[];
-extern const u8 gMonShinyPalette_Tyranitar[];
-extern const u8 gMonStillFrontPic_Tyranitar[];
+extern const u32 gMonFrontPic_Tyranitar[];
+extern const u32 gMonPalette_Tyranitar[];
+extern const u32 gMonBackPic_Tyranitar[];
+extern const u32 gMonShinyPalette_Tyranitar[];
+extern const u32 gMonStillFrontPic_Tyranitar[];
extern const u8 gMonIcon_Tyranitar[];
extern const u8 gMonFootprint_Tyranitar[];
-extern const u8 gMonFrontPic_Lugia[];
-extern const u8 gMonPalette_Lugia[];
-extern const u8 gMonBackPic_Lugia[];
-extern const u8 gMonShinyPalette_Lugia[];
-extern const u8 gMonStillFrontPic_Lugia[];
+extern const u32 gMonFrontPic_Lugia[];
+extern const u32 gMonPalette_Lugia[];
+extern const u32 gMonBackPic_Lugia[];
+extern const u32 gMonShinyPalette_Lugia[];
+extern const u32 gMonStillFrontPic_Lugia[];
extern const u8 gMonIcon_Lugia[];
extern const u8 gMonFootprint_Lugia[];
-extern const u8 gMonFrontPic_HoOh[];
-extern const u8 gMonPalette_HoOh[];
-extern const u8 gMonBackPic_HoOh[];
-extern const u8 gMonShinyPalette_HoOh[];
-extern const u8 gMonStillFrontPic_HoOh[];
+extern const u32 gMonFrontPic_HoOh[];
+extern const u32 gMonPalette_HoOh[];
+extern const u32 gMonBackPic_HoOh[];
+extern const u32 gMonShinyPalette_HoOh[];
+extern const u32 gMonStillFrontPic_HoOh[];
extern const u8 gMonIcon_HoOh[];
extern const u8 gMonFootprint_HoOh[];
-extern const u8 gMonFrontPic_Celebi[];
-extern const u8 gMonPalette_Celebi[];
-extern const u8 gMonBackPic_Celebi[];
-extern const u8 gMonShinyPalette_Celebi[];
-extern const u8 gMonStillFrontPic_Celebi[];
+extern const u32 gMonFrontPic_Celebi[];
+extern const u32 gMonPalette_Celebi[];
+extern const u32 gMonBackPic_Celebi[];
+extern const u32 gMonShinyPalette_Celebi[];
+extern const u32 gMonStillFrontPic_Celebi[];
extern const u8 gMonIcon_Celebi[];
extern const u8 gMonFootprint_Celebi[];
-extern const u8 gMonFrontPic_QuestionMark[];
-extern const u8 gMonPalette_QuestionMark[];
-extern const u8 gMonBackPic_QuestionMark[];
-extern const u8 gMonShinyPalette_QuestionMark[];
-extern const u8 gMonFrontPic_Treecko[];
-extern const u8 gMonPalette_Treecko[];
-extern const u8 gMonBackPic_Treecko[];
-extern const u8 gMonShinyPalette_Treecko[];
-extern const u8 gMonStillFrontPic_Treecko[];
+extern const u32 gMonFrontPic_QuestionMark[];
+extern const u32 gMonPalette_QuestionMark[];
+extern const u32 gMonBackPic_QuestionMark[];
+extern const u32 gMonShinyPalette_QuestionMark[];
+extern const u32 gMonFrontPic_Treecko[];
+extern const u32 gMonPalette_Treecko[];
+extern const u32 gMonBackPic_Treecko[];
+extern const u32 gMonShinyPalette_Treecko[];
+extern const u32 gMonStillFrontPic_Treecko[];
extern const u8 gMonIcon_Treecko[];
extern const u8 gMonFootprint_Treecko[];
-extern const u8 gMonFrontPic_Grovyle[];
-extern const u8 gMonPalette_Grovyle[];
-extern const u8 gMonBackPic_Grovyle[];
-extern const u8 gMonShinyPalette_Grovyle[];
-extern const u8 gMonStillFrontPic_Grovyle[];
+extern const u32 gMonFrontPic_Grovyle[];
+extern const u32 gMonPalette_Grovyle[];
+extern const u32 gMonBackPic_Grovyle[];
+extern const u32 gMonShinyPalette_Grovyle[];
+extern const u32 gMonStillFrontPic_Grovyle[];
extern const u8 gMonIcon_Grovyle[];
extern const u8 gMonFootprint_Grovyle[];
-extern const u8 gMonFrontPic_Sceptile[];
-extern const u8 gMonPalette_Sceptile[];
-extern const u8 gMonBackPic_Sceptile[];
-extern const u8 gMonShinyPalette_Sceptile[];
-extern const u8 gMonStillFrontPic_Sceptile[];
+extern const u32 gMonFrontPic_Sceptile[];
+extern const u32 gMonPalette_Sceptile[];
+extern const u32 gMonBackPic_Sceptile[];
+extern const u32 gMonShinyPalette_Sceptile[];
+extern const u32 gMonStillFrontPic_Sceptile[];
extern const u8 gMonIcon_Sceptile[];
extern const u8 gMonFootprint_Sceptile[];
-extern const u8 gMonFrontPic_Torchic[];
-extern const u8 gMonPalette_Torchic[];
-extern const u8 gMonBackPic_Torchic[];
-extern const u8 gMonShinyPalette_Torchic[];
-extern const u8 gMonStillFrontPic_Torchic[];
+extern const u32 gMonFrontPic_Torchic[];
+extern const u32 gMonPalette_Torchic[];
+extern const u32 gMonBackPic_Torchic[];
+extern const u32 gMonShinyPalette_Torchic[];
+extern const u32 gMonStillFrontPic_Torchic[];
extern const u8 gMonIcon_Torchic[];
extern const u8 gMonFootprint_Torchic[];
-extern const u8 gMonFrontPic_Combusken[];
-extern const u8 gMonPalette_Combusken[];
-extern const u8 gMonBackPic_Combusken[];
-extern const u8 gMonShinyPalette_Combusken[];
-extern const u8 gMonStillFrontPic_Combusken[];
+extern const u32 gMonFrontPic_Combusken[];
+extern const u32 gMonPalette_Combusken[];
+extern const u32 gMonBackPic_Combusken[];
+extern const u32 gMonShinyPalette_Combusken[];
+extern const u32 gMonStillFrontPic_Combusken[];
extern const u8 gMonIcon_Combusken[];
extern const u8 gMonFootprint_Combusken[];
-extern const u8 gMonFrontPic_Blaziken[];
-extern const u8 gMonPalette_Blaziken[];
-extern const u8 gMonBackPic_Blaziken[];
-extern const u8 gMonShinyPalette_Blaziken[];
-extern const u8 gMonStillFrontPic_Blaziken[];
+extern const u32 gMonFrontPic_Blaziken[];
+extern const u32 gMonPalette_Blaziken[];
+extern const u32 gMonBackPic_Blaziken[];
+extern const u32 gMonShinyPalette_Blaziken[];
+extern const u32 gMonStillFrontPic_Blaziken[];
extern const u8 gMonIcon_Blaziken[];
extern const u8 gMonFootprint_Blaziken[];
-extern const u8 gMonFrontPic_Mudkip[];
-extern const u8 gMonPalette_Mudkip[];
-extern const u8 gMonBackPic_Mudkip[];
-extern const u8 gMonShinyPalette_Mudkip[];
-extern const u8 gMonStillFrontPic_Mudkip[];
+extern const u32 gMonFrontPic_Mudkip[];
+extern const u32 gMonPalette_Mudkip[];
+extern const u32 gMonBackPic_Mudkip[];
+extern const u32 gMonShinyPalette_Mudkip[];
+extern const u32 gMonStillFrontPic_Mudkip[];
extern const u8 gMonIcon_Mudkip[];
extern const u8 gMonFootprint_Mudkip[];
-extern const u8 gMonFrontPic_Marshtomp[];
-extern const u8 gMonPalette_Marshtomp[];
-extern const u8 gMonBackPic_Marshtomp[];
-extern const u8 gMonShinyPalette_Marshtomp[];
-extern const u8 gMonStillFrontPic_Marshtomp[];
+extern const u32 gMonFrontPic_Marshtomp[];
+extern const u32 gMonPalette_Marshtomp[];
+extern const u32 gMonBackPic_Marshtomp[];
+extern const u32 gMonShinyPalette_Marshtomp[];
+extern const u32 gMonStillFrontPic_Marshtomp[];
extern const u8 gMonIcon_Marshtomp[];
extern const u8 gMonFootprint_Marshtomp[];
-extern const u8 gMonFrontPic_Swampert[];
-extern const u8 gMonPalette_Swampert[];
-extern const u8 gMonBackPic_Swampert[];
-extern const u8 gMonShinyPalette_Swampert[];
-extern const u8 gMonStillFrontPic_Swampert[];
+extern const u32 gMonFrontPic_Swampert[];
+extern const u32 gMonPalette_Swampert[];
+extern const u32 gMonBackPic_Swampert[];
+extern const u32 gMonShinyPalette_Swampert[];
+extern const u32 gMonStillFrontPic_Swampert[];
extern const u8 gMonIcon_Swampert[];
extern const u8 gMonFootprint_Swampert[];
-extern const u8 gMonFrontPic_Poochyena[];
-extern const u8 gMonPalette_Poochyena[];
-extern const u8 gMonBackPic_Poochyena[];
-extern const u8 gMonShinyPalette_Poochyena[];
-extern const u8 gMonStillFrontPic_Poochyena[];
+extern const u32 gMonFrontPic_Poochyena[];
+extern const u32 gMonPalette_Poochyena[];
+extern const u32 gMonBackPic_Poochyena[];
+extern const u32 gMonShinyPalette_Poochyena[];
+extern const u32 gMonStillFrontPic_Poochyena[];
extern const u8 gMonIcon_Poochyena[];
extern const u8 gMonFootprint_Poochyena[];
-extern const u8 gMonFrontPic_Mightyena[];
-extern const u8 gMonPalette_Mightyena[];
-extern const u8 gMonBackPic_Mightyena[];
-extern const u8 gMonShinyPalette_Mightyena[];
-extern const u8 gMonStillFrontPic_Mightyena[];
+extern const u32 gMonFrontPic_Mightyena[];
+extern const u32 gMonPalette_Mightyena[];
+extern const u32 gMonBackPic_Mightyena[];
+extern const u32 gMonShinyPalette_Mightyena[];
+extern const u32 gMonStillFrontPic_Mightyena[];
extern const u8 gMonIcon_Mightyena[];
extern const u8 gMonFootprint_Mightyena[];
-extern const u8 gMonFrontPic_Zigzagoon[];
-extern const u8 gMonPalette_Zigzagoon[];
-extern const u8 gMonBackPic_Zigzagoon[];
-extern const u8 gMonShinyPalette_Zigzagoon[];
-extern const u8 gMonStillFrontPic_Zigzagoon[];
+extern const u32 gMonFrontPic_Zigzagoon[];
+extern const u32 gMonPalette_Zigzagoon[];
+extern const u32 gMonBackPic_Zigzagoon[];
+extern const u32 gMonShinyPalette_Zigzagoon[];
+extern const u32 gMonStillFrontPic_Zigzagoon[];
extern const u8 gMonIcon_Zigzagoon[];
extern const u8 gMonFootprint_Zigzagoon[];
-extern const u8 gMonFrontPic_Linoone[];
-extern const u8 gMonPalette_Linoone[];
-extern const u8 gMonBackPic_Linoone[];
-extern const u8 gMonShinyPalette_Linoone[];
-extern const u8 gMonStillFrontPic_Linoone[];
+extern const u32 gMonFrontPic_Linoone[];
+extern const u32 gMonPalette_Linoone[];
+extern const u32 gMonBackPic_Linoone[];
+extern const u32 gMonShinyPalette_Linoone[];
+extern const u32 gMonStillFrontPic_Linoone[];
extern const u8 gMonIcon_Linoone[];
extern const u8 gMonFootprint_Linoone[];
-extern const u8 gMonFrontPic_Wurmple[];
-extern const u8 gMonPalette_Wurmple[];
-extern const u8 gMonBackPic_Wurmple[];
-extern const u8 gMonShinyPalette_Wurmple[];
-extern const u8 gMonStillFrontPic_Wurmple[];
+extern const u32 gMonFrontPic_Wurmple[];
+extern const u32 gMonPalette_Wurmple[];
+extern const u32 gMonBackPic_Wurmple[];
+extern const u32 gMonShinyPalette_Wurmple[];
+extern const u32 gMonStillFrontPic_Wurmple[];
extern const u8 gMonIcon_Wurmple[];
extern const u8 gMonFootprint_Wurmple[];
-extern const u8 gMonFrontPic_Silcoon[];
-extern const u8 gMonPalette_Silcoon[];
-extern const u8 gMonBackPic_Silcoon[];
-extern const u8 gMonShinyPalette_Silcoon[];
-extern const u8 gMonStillFrontPic_Silcoon[];
+extern const u32 gMonFrontPic_Silcoon[];
+extern const u32 gMonPalette_Silcoon[];
+extern const u32 gMonBackPic_Silcoon[];
+extern const u32 gMonShinyPalette_Silcoon[];
+extern const u32 gMonStillFrontPic_Silcoon[];
extern const u8 gMonIcon_Silcoon[];
extern const u8 gMonFootprint_Silcoon[];
-extern const u8 gMonFrontPic_Beautifly[];
-extern const u8 gMonPalette_Beautifly[];
-extern const u8 gMonBackPic_Beautifly[];
-extern const u8 gMonShinyPalette_Beautifly[];
-extern const u8 gMonStillFrontPic_Beautifly[];
+extern const u32 gMonFrontPic_Beautifly[];
+extern const u32 gMonPalette_Beautifly[];
+extern const u32 gMonBackPic_Beautifly[];
+extern const u32 gMonShinyPalette_Beautifly[];
+extern const u32 gMonStillFrontPic_Beautifly[];
extern const u8 gMonIcon_Beautifly[];
extern const u8 gMonFootprint_Beautifly[];
-extern const u8 gMonFrontPic_Cascoon[];
-extern const u8 gMonPalette_Cascoon[];
-extern const u8 gMonBackPic_Cascoon[];
-extern const u8 gMonShinyPalette_Cascoon[];
-extern const u8 gMonStillFrontPic_Cascoon[];
+extern const u32 gMonFrontPic_Cascoon[];
+extern const u32 gMonPalette_Cascoon[];
+extern const u32 gMonBackPic_Cascoon[];
+extern const u32 gMonShinyPalette_Cascoon[];
+extern const u32 gMonStillFrontPic_Cascoon[];
extern const u8 gMonIcon_Cascoon[];
extern const u8 gMonFootprint_Cascoon[];
-extern const u8 gMonFrontPic_Dustox[];
-extern const u8 gMonPalette_Dustox[];
-extern const u8 gMonBackPic_Dustox[];
-extern const u8 gMonShinyPalette_Dustox[];
-extern const u8 gMonStillFrontPic_Dustox[];
+extern const u32 gMonFrontPic_Dustox[];
+extern const u32 gMonPalette_Dustox[];
+extern const u32 gMonBackPic_Dustox[];
+extern const u32 gMonShinyPalette_Dustox[];
+extern const u32 gMonStillFrontPic_Dustox[];
extern const u8 gMonIcon_Dustox[];
extern const u8 gMonFootprint_Dustox[];
-extern const u8 gMonFrontPic_Lotad[];
-extern const u8 gMonPalette_Lotad[];
-extern const u8 gMonBackPic_Lotad[];
-extern const u8 gMonShinyPalette_Lotad[];
-extern const u8 gMonStillFrontPic_Lotad[];
+extern const u32 gMonFrontPic_Lotad[];
+extern const u32 gMonPalette_Lotad[];
+extern const u32 gMonBackPic_Lotad[];
+extern const u32 gMonShinyPalette_Lotad[];
+extern const u32 gMonStillFrontPic_Lotad[];
extern const u8 gMonIcon_Lotad[];
extern const u8 gMonFootprint_Lotad[];
-extern const u8 gMonFrontPic_Lombre[];
-extern const u8 gMonPalette_Lombre[];
-extern const u8 gMonBackPic_Lombre[];
-extern const u8 gMonShinyPalette_Lombre[];
-extern const u8 gMonStillFrontPic_Lombre[];
+extern const u32 gMonFrontPic_Lombre[];
+extern const u32 gMonPalette_Lombre[];
+extern const u32 gMonBackPic_Lombre[];
+extern const u32 gMonShinyPalette_Lombre[];
+extern const u32 gMonStillFrontPic_Lombre[];
extern const u8 gMonIcon_Lombre[];
extern const u8 gMonFootprint_Lombre[];
-extern const u8 gMonFrontPic_Ludicolo[];
-extern const u8 gMonPalette_Ludicolo[];
-extern const u8 gMonBackPic_Ludicolo[];
-extern const u8 gMonShinyPalette_Ludicolo[];
-extern const u8 gMonStillFrontPic_Ludicolo[];
+extern const u32 gMonFrontPic_Ludicolo[];
+extern const u32 gMonPalette_Ludicolo[];
+extern const u32 gMonBackPic_Ludicolo[];
+extern const u32 gMonShinyPalette_Ludicolo[];
+extern const u32 gMonStillFrontPic_Ludicolo[];
extern const u8 gMonIcon_Ludicolo[];
extern const u8 gMonFootprint_Ludicolo[];
-extern const u8 gMonFrontPic_Seedot[];
-extern const u8 gMonPalette_Seedot[];
-extern const u8 gMonBackPic_Seedot[];
-extern const u8 gMonShinyPalette_Seedot[];
-extern const u8 gMonStillFrontPic_Seedot[];
+extern const u32 gMonFrontPic_Seedot[];
+extern const u32 gMonPalette_Seedot[];
+extern const u32 gMonBackPic_Seedot[];
+extern const u32 gMonShinyPalette_Seedot[];
+extern const u32 gMonStillFrontPic_Seedot[];
extern const u8 gMonIcon_Seedot[];
extern const u8 gMonFootprint_Seedot[];
-extern const u8 gMonFrontPic_Nuzleaf[];
-extern const u8 gMonPalette_Nuzleaf[];
-extern const u8 gMonBackPic_Nuzleaf[];
-extern const u8 gMonShinyPalette_Nuzleaf[];
-extern const u8 gMonStillFrontPic_Nuzleaf[];
+extern const u32 gMonFrontPic_Nuzleaf[];
+extern const u32 gMonPalette_Nuzleaf[];
+extern const u32 gMonBackPic_Nuzleaf[];
+extern const u32 gMonShinyPalette_Nuzleaf[];
+extern const u32 gMonStillFrontPic_Nuzleaf[];
extern const u8 gMonIcon_Nuzleaf[];
extern const u8 gMonFootprint_Nuzleaf[];
-extern const u8 gMonFrontPic_Shiftry[];
-extern const u8 gMonPalette_Shiftry[];
-extern const u8 gMonBackPic_Shiftry[];
-extern const u8 gMonShinyPalette_Shiftry[];
-extern const u8 gMonStillFrontPic_Shiftry[];
+extern const u32 gMonFrontPic_Shiftry[];
+extern const u32 gMonPalette_Shiftry[];
+extern const u32 gMonBackPic_Shiftry[];
+extern const u32 gMonShinyPalette_Shiftry[];
+extern const u32 gMonStillFrontPic_Shiftry[];
extern const u8 gMonIcon_Shiftry[];
extern const u8 gMonFootprint_Shiftry[];
-extern const u8 gMonFrontPic_Nincada[];
-extern const u8 gMonPalette_Nincada[];
-extern const u8 gMonBackPic_Nincada[];
-extern const u8 gMonShinyPalette_Nincada[];
-extern const u8 gMonStillFrontPic_Nincada[];
+extern const u32 gMonFrontPic_Nincada[];
+extern const u32 gMonPalette_Nincada[];
+extern const u32 gMonBackPic_Nincada[];
+extern const u32 gMonShinyPalette_Nincada[];
+extern const u32 gMonStillFrontPic_Nincada[];
extern const u8 gMonIcon_Nincada[];
extern const u8 gMonFootprint_Nincada[];
-extern const u8 gMonFrontPic_Ninjask[];
-extern const u8 gMonPalette_Ninjask[];
-extern const u8 gMonBackPic_Ninjask[];
-extern const u8 gMonShinyPalette_Ninjask[];
-extern const u8 gMonStillFrontPic_Ninjask[];
+extern const u32 gMonFrontPic_Ninjask[];
+extern const u32 gMonPalette_Ninjask[];
+extern const u32 gMonBackPic_Ninjask[];
+extern const u32 gMonShinyPalette_Ninjask[];
+extern const u32 gMonStillFrontPic_Ninjask[];
extern const u8 gMonIcon_Ninjask[];
extern const u8 gMonFootprint_Ninjask[];
-extern const u8 gMonFrontPic_Shedinja[];
-extern const u8 gMonPalette_Shedinja[];
-extern const u8 gMonBackPic_Shedinja[];
-extern const u8 gMonShinyPalette_Shedinja[];
-extern const u8 gMonStillFrontPic_Shedinja[];
+extern const u32 gMonFrontPic_Shedinja[];
+extern const u32 gMonPalette_Shedinja[];
+extern const u32 gMonBackPic_Shedinja[];
+extern const u32 gMonShinyPalette_Shedinja[];
+extern const u32 gMonStillFrontPic_Shedinja[];
extern const u8 gMonIcon_Shedinja[];
extern const u8 gMonFootprint_Shedinja[];
-extern const u8 gMonFrontPic_Taillow[];
-extern const u8 gMonPalette_Taillow[];
-extern const u8 gMonBackPic_Taillow[];
-extern const u8 gMonShinyPalette_Taillow[];
-extern const u8 gMonStillFrontPic_Taillow[];
+extern const u32 gMonFrontPic_Taillow[];
+extern const u32 gMonPalette_Taillow[];
+extern const u32 gMonBackPic_Taillow[];
+extern const u32 gMonShinyPalette_Taillow[];
+extern const u32 gMonStillFrontPic_Taillow[];
extern const u8 gMonIcon_Taillow[];
extern const u8 gMonFootprint_Taillow[];
-extern const u8 gMonFrontPic_Swellow[];
-extern const u8 gMonPalette_Swellow[];
-extern const u8 gMonBackPic_Swellow[];
-extern const u8 gMonShinyPalette_Swellow[];
-extern const u8 gMonStillFrontPic_Swellow[];
+extern const u32 gMonFrontPic_Swellow[];
+extern const u32 gMonPalette_Swellow[];
+extern const u32 gMonBackPic_Swellow[];
+extern const u32 gMonShinyPalette_Swellow[];
+extern const u32 gMonStillFrontPic_Swellow[];
extern const u8 gMonIcon_Swellow[];
extern const u8 gMonFootprint_Swellow[];
-extern const u8 gMonFrontPic_Shroomish[];
-extern const u8 gMonPalette_Shroomish[];
-extern const u8 gMonBackPic_Shroomish[];
-extern const u8 gMonShinyPalette_Shroomish[];
-extern const u8 gMonStillFrontPic_Shroomish[];
+extern const u32 gMonFrontPic_Shroomish[];
+extern const u32 gMonPalette_Shroomish[];
+extern const u32 gMonBackPic_Shroomish[];
+extern const u32 gMonShinyPalette_Shroomish[];
+extern const u32 gMonStillFrontPic_Shroomish[];
extern const u8 gMonIcon_Shroomish[];
extern const u8 gMonFootprint_Shroomish[];
-extern const u8 gMonFrontPic_Breloom[];
-extern const u8 gMonPalette_Breloom[];
-extern const u8 gMonBackPic_Breloom[];
-extern const u8 gMonShinyPalette_Breloom[];
-extern const u8 gMonStillFrontPic_Breloom[];
+extern const u32 gMonFrontPic_Breloom[];
+extern const u32 gMonPalette_Breloom[];
+extern const u32 gMonBackPic_Breloom[];
+extern const u32 gMonShinyPalette_Breloom[];
+extern const u32 gMonStillFrontPic_Breloom[];
extern const u8 gMonIcon_Breloom[];
extern const u8 gMonFootprint_Breloom[];
-extern const u8 gMonFrontPic_Spinda[];
-extern const u8 gMonPalette_Spinda[];
-extern const u8 gMonBackPic_Spinda[];
-extern const u8 gMonShinyPalette_Spinda[];
-extern const u8 gMonStillFrontPic_Spinda[];
+extern const u32 gMonFrontPic_Spinda[];
+extern const u32 gMonPalette_Spinda[];
+extern const u32 gMonBackPic_Spinda[];
+extern const u32 gMonShinyPalette_Spinda[];
+extern const u32 gMonStillFrontPic_Spinda[];
extern const u8 gMonIcon_Spinda[];
extern const u8 gMonFootprint_Spinda[];
-extern const u8 gMonFrontPic_Wingull[];
-extern const u8 gMonPalette_Wingull[];
-extern const u8 gMonBackPic_Wingull[];
-extern const u8 gMonShinyPalette_Wingull[];
-extern const u8 gMonStillFrontPic_Wingull[];
+extern const u32 gMonFrontPic_Wingull[];
+extern const u32 gMonPalette_Wingull[];
+extern const u32 gMonBackPic_Wingull[];
+extern const u32 gMonShinyPalette_Wingull[];
+extern const u32 gMonStillFrontPic_Wingull[];
extern const u8 gMonIcon_Wingull[];
extern const u8 gMonFootprint_Wingull[];
-extern const u8 gMonFrontPic_Pelipper[];
-extern const u8 gMonPalette_Pelipper[];
-extern const u8 gMonBackPic_Pelipper[];
-extern const u8 gMonShinyPalette_Pelipper[];
-extern const u8 gMonStillFrontPic_Pelipper[];
+extern const u32 gMonFrontPic_Pelipper[];
+extern const u32 gMonPalette_Pelipper[];
+extern const u32 gMonBackPic_Pelipper[];
+extern const u32 gMonShinyPalette_Pelipper[];
+extern const u32 gMonStillFrontPic_Pelipper[];
extern const u8 gMonIcon_Pelipper[];
extern const u8 gMonFootprint_Pelipper[];
-extern const u8 gMonFrontPic_Surskit[];
-extern const u8 gMonPalette_Surskit[];
-extern const u8 gMonBackPic_Surskit[];
-extern const u8 gMonShinyPalette_Surskit[];
-extern const u8 gMonStillFrontPic_Surskit[];
+extern const u32 gMonFrontPic_Surskit[];
+extern const u32 gMonPalette_Surskit[];
+extern const u32 gMonBackPic_Surskit[];
+extern const u32 gMonShinyPalette_Surskit[];
+extern const u32 gMonStillFrontPic_Surskit[];
extern const u8 gMonIcon_Surskit[];
extern const u8 gMonFootprint_Surskit[];
-extern const u8 gMonFrontPic_Masquerain[];
-extern const u8 gMonPalette_Masquerain[];
-extern const u8 gMonBackPic_Masquerain[];
-extern const u8 gMonShinyPalette_Masquerain[];
-extern const u8 gMonStillFrontPic_Masquerain[];
+extern const u32 gMonFrontPic_Masquerain[];
+extern const u32 gMonPalette_Masquerain[];
+extern const u32 gMonBackPic_Masquerain[];
+extern const u32 gMonShinyPalette_Masquerain[];
+extern const u32 gMonStillFrontPic_Masquerain[];
extern const u8 gMonIcon_Masquerain[];
extern const u8 gMonFootprint_Masquerain[];
-extern const u8 gMonFrontPic_Wailmer[];
-extern const u8 gMonPalette_Wailmer[];
-extern const u8 gMonBackPic_Wailmer[];
-extern const u8 gMonShinyPalette_Wailmer[];
-extern const u8 gMonStillFrontPic_Wailmer[];
+extern const u32 gMonFrontPic_Wailmer[];
+extern const u32 gMonPalette_Wailmer[];
+extern const u32 gMonBackPic_Wailmer[];
+extern const u32 gMonShinyPalette_Wailmer[];
+extern const u32 gMonStillFrontPic_Wailmer[];
extern const u8 gMonIcon_Wailmer[];
extern const u8 gMonFootprint_Wailmer[];
-extern const u8 gMonFrontPic_Wailord[];
-extern const u8 gMonPalette_Wailord[];
-extern const u8 gMonBackPic_Wailord[];
-extern const u8 gMonShinyPalette_Wailord[];
-extern const u8 gMonStillFrontPic_Wailord[];
+extern const u32 gMonFrontPic_Wailord[];
+extern const u32 gMonPalette_Wailord[];
+extern const u32 gMonBackPic_Wailord[];
+extern const u32 gMonShinyPalette_Wailord[];
+extern const u32 gMonStillFrontPic_Wailord[];
extern const u8 gMonIcon_Wailord[];
extern const u8 gMonFootprint_Wailord[];
-extern const u8 gMonFrontPic_Skitty[];
-extern const u8 gMonPalette_Skitty[];
-extern const u8 gMonBackPic_Skitty[];
-extern const u8 gMonShinyPalette_Skitty[];
-extern const u8 gMonStillFrontPic_Skitty[];
+extern const u32 gMonFrontPic_Skitty[];
+extern const u32 gMonPalette_Skitty[];
+extern const u32 gMonBackPic_Skitty[];
+extern const u32 gMonShinyPalette_Skitty[];
+extern const u32 gMonStillFrontPic_Skitty[];
extern const u8 gMonIcon_Skitty[];
extern const u8 gMonFootprint_Skitty[];
-extern const u8 gMonFrontPic_Delcatty[];
-extern const u8 gMonPalette_Delcatty[];
-extern const u8 gMonBackPic_Delcatty[];
-extern const u8 gMonShinyPalette_Delcatty[];
-extern const u8 gMonStillFrontPic_Delcatty[];
+extern const u32 gMonFrontPic_Delcatty[];
+extern const u32 gMonPalette_Delcatty[];
+extern const u32 gMonBackPic_Delcatty[];
+extern const u32 gMonShinyPalette_Delcatty[];
+extern const u32 gMonStillFrontPic_Delcatty[];
extern const u8 gMonIcon_Delcatty[];
extern const u8 gMonFootprint_Delcatty[];
-extern const u8 gMonFrontPic_Kecleon[];
-extern const u8 gMonPalette_Kecleon[];
-extern const u8 gMonBackPic_Kecleon[];
-extern const u8 gMonShinyPalette_Kecleon[];
-extern const u8 gMonStillFrontPic_Kecleon[];
+extern const u32 gMonFrontPic_Kecleon[];
+extern const u32 gMonPalette_Kecleon[];
+extern const u32 gMonBackPic_Kecleon[];
+extern const u32 gMonShinyPalette_Kecleon[];
+extern const u32 gMonStillFrontPic_Kecleon[];
extern const u8 gMonIcon_Kecleon[];
extern const u8 gMonFootprint_Kecleon[];
-extern const u8 gMonFrontPic_Baltoy[];
-extern const u8 gMonPalette_Baltoy[];
-extern const u8 gMonBackPic_Baltoy[];
-extern const u8 gMonShinyPalette_Baltoy[];
-extern const u8 gMonStillFrontPic_Baltoy[];
+extern const u32 gMonFrontPic_Baltoy[];
+extern const u32 gMonPalette_Baltoy[];
+extern const u32 gMonBackPic_Baltoy[];
+extern const u32 gMonShinyPalette_Baltoy[];
+extern const u32 gMonStillFrontPic_Baltoy[];
extern const u8 gMonIcon_Baltoy[];
extern const u8 gMonFootprint_Baltoy[];
-extern const u8 gMonFrontPic_Claydol[];
-extern const u8 gMonPalette_Claydol[];
-extern const u8 gMonBackPic_Claydol[];
-extern const u8 gMonShinyPalette_Claydol[];
-extern const u8 gMonStillFrontPic_Claydol[];
+extern const u32 gMonFrontPic_Claydol[];
+extern const u32 gMonPalette_Claydol[];
+extern const u32 gMonBackPic_Claydol[];
+extern const u32 gMonShinyPalette_Claydol[];
+extern const u32 gMonStillFrontPic_Claydol[];
extern const u8 gMonIcon_Claydol[];
extern const u8 gMonFootprint_Claydol[];
-extern const u8 gMonFrontPic_Nosepass[];
-extern const u8 gMonPalette_Nosepass[];
-extern const u8 gMonBackPic_Nosepass[];
-extern const u8 gMonShinyPalette_Nosepass[];
-extern const u8 gMonStillFrontPic_Nosepass[];
+extern const u32 gMonFrontPic_Nosepass[];
+extern const u32 gMonPalette_Nosepass[];
+extern const u32 gMonBackPic_Nosepass[];
+extern const u32 gMonShinyPalette_Nosepass[];
+extern const u32 gMonStillFrontPic_Nosepass[];
extern const u8 gMonIcon_Nosepass[];
extern const u8 gMonFootprint_Nosepass[];
-extern const u8 gMonFrontPic_Torkoal[];
-extern const u8 gMonPalette_Torkoal[];
-extern const u8 gMonBackPic_Torkoal[];
-extern const u8 gMonShinyPalette_Torkoal[];
-extern const u8 gMonStillFrontPic_Torkoal[];
+extern const u32 gMonFrontPic_Torkoal[];
+extern const u32 gMonPalette_Torkoal[];
+extern const u32 gMonBackPic_Torkoal[];
+extern const u32 gMonShinyPalette_Torkoal[];
+extern const u32 gMonStillFrontPic_Torkoal[];
extern const u8 gMonIcon_Torkoal[];
extern const u8 gMonFootprint_Torkoal[];
-extern const u8 gMonFrontPic_Sableye[];
-extern const u8 gMonPalette_Sableye[];
-extern const u8 gMonBackPic_Sableye[];
-extern const u8 gMonShinyPalette_Sableye[];
-extern const u8 gMonStillFrontPic_Sableye[];
+extern const u32 gMonFrontPic_Sableye[];
+extern const u32 gMonPalette_Sableye[];
+extern const u32 gMonBackPic_Sableye[];
+extern const u32 gMonShinyPalette_Sableye[];
+extern const u32 gMonStillFrontPic_Sableye[];
extern const u8 gMonIcon_Sableye[];
extern const u8 gMonFootprint_Sableye[];
-extern const u8 gMonFrontPic_Barboach[];
-extern const u8 gMonPalette_Barboach[];
-extern const u8 gMonBackPic_Barboach[];
-extern const u8 gMonShinyPalette_Barboach[];
-extern const u8 gMonStillFrontPic_Barboach[];
+extern const u32 gMonFrontPic_Barboach[];
+extern const u32 gMonPalette_Barboach[];
+extern const u32 gMonBackPic_Barboach[];
+extern const u32 gMonShinyPalette_Barboach[];
+extern const u32 gMonStillFrontPic_Barboach[];
extern const u8 gMonIcon_Barboach[];
extern const u8 gMonFootprint_Barboach[];
-extern const u8 gMonFrontPic_Whiscash[];
-extern const u8 gMonPalette_Whiscash[];
-extern const u8 gMonBackPic_Whiscash[];
-extern const u8 gMonShinyPalette_Whiscash[];
-extern const u8 gMonStillFrontPic_Whiscash[];
+extern const u32 gMonFrontPic_Whiscash[];
+extern const u32 gMonPalette_Whiscash[];
+extern const u32 gMonBackPic_Whiscash[];
+extern const u32 gMonShinyPalette_Whiscash[];
+extern const u32 gMonStillFrontPic_Whiscash[];
extern const u8 gMonIcon_Whiscash[];
extern const u8 gMonFootprint_Whiscash[];
-extern const u8 gMonFrontPic_Luvdisc[];
-extern const u8 gMonPalette_Luvdisc[];
-extern const u8 gMonBackPic_Luvdisc[];
-extern const u8 gMonShinyPalette_Luvdisc[];
-extern const u8 gMonStillFrontPic_Luvdisc[];
+extern const u32 gMonFrontPic_Luvdisc[];
+extern const u32 gMonPalette_Luvdisc[];
+extern const u32 gMonBackPic_Luvdisc[];
+extern const u32 gMonShinyPalette_Luvdisc[];
+extern const u32 gMonStillFrontPic_Luvdisc[];
extern const u8 gMonIcon_Luvdisc[];
extern const u8 gMonFootprint_Luvdisc[];
-extern const u8 gMonFrontPic_Corphish[];
-extern const u8 gMonPalette_Corphish[];
-extern const u8 gMonBackPic_Corphish[];
-extern const u8 gMonShinyPalette_Corphish[];
-extern const u8 gMonStillFrontPic_Corphish[];
+extern const u32 gMonFrontPic_Corphish[];
+extern const u32 gMonPalette_Corphish[];
+extern const u32 gMonBackPic_Corphish[];
+extern const u32 gMonShinyPalette_Corphish[];
+extern const u32 gMonStillFrontPic_Corphish[];
extern const u8 gMonIcon_Corphish[];
extern const u8 gMonFootprint_Corphish[];
-extern const u8 gMonFrontPic_Crawdaunt[];
-extern const u8 gMonPalette_Crawdaunt[];
-extern const u8 gMonBackPic_Crawdaunt[];
-extern const u8 gMonShinyPalette_Crawdaunt[];
-extern const u8 gMonStillFrontPic_Crawdaunt[];
+extern const u32 gMonFrontPic_Crawdaunt[];
+extern const u32 gMonPalette_Crawdaunt[];
+extern const u32 gMonBackPic_Crawdaunt[];
+extern const u32 gMonShinyPalette_Crawdaunt[];
+extern const u32 gMonStillFrontPic_Crawdaunt[];
extern const u8 gMonIcon_Crawdaunt[];
extern const u8 gMonFootprint_Crawdaunt[];
-extern const u8 gMonFrontPic_Feebas[];
-extern const u8 gMonPalette_Feebas[];
-extern const u8 gMonBackPic_Feebas[];
-extern const u8 gMonShinyPalette_Feebas[];
-extern const u8 gMonStillFrontPic_Feebas[];
+extern const u32 gMonFrontPic_Feebas[];
+extern const u32 gMonPalette_Feebas[];
+extern const u32 gMonBackPic_Feebas[];
+extern const u32 gMonShinyPalette_Feebas[];
+extern const u32 gMonStillFrontPic_Feebas[];
extern const u8 gMonIcon_Feebas[];
extern const u8 gMonFootprint_Feebas[];
-extern const u8 gMonFrontPic_Milotic[];
-extern const u8 gMonPalette_Milotic[];
-extern const u8 gMonBackPic_Milotic[];
-extern const u8 gMonShinyPalette_Milotic[];
-extern const u8 gMonStillFrontPic_Milotic[];
+extern const u32 gMonFrontPic_Milotic[];
+extern const u32 gMonPalette_Milotic[];
+extern const u32 gMonBackPic_Milotic[];
+extern const u32 gMonShinyPalette_Milotic[];
+extern const u32 gMonStillFrontPic_Milotic[];
extern const u8 gMonIcon_Milotic[];
extern const u8 gMonFootprint_Milotic[];
-extern const u8 gMonFrontPic_Carvanha[];
-extern const u8 gMonPalette_Carvanha[];
-extern const u8 gMonBackPic_Carvanha[];
-extern const u8 gMonShinyPalette_Carvanha[];
-extern const u8 gMonStillFrontPic_Carvanha[];
+extern const u32 gMonFrontPic_Carvanha[];
+extern const u32 gMonPalette_Carvanha[];
+extern const u32 gMonBackPic_Carvanha[];
+extern const u32 gMonShinyPalette_Carvanha[];
+extern const u32 gMonStillFrontPic_Carvanha[];
extern const u8 gMonIcon_Carvanha[];
extern const u8 gMonFootprint_Carvanha[];
-extern const u8 gMonFrontPic_Sharpedo[];
-extern const u8 gMonPalette_Sharpedo[];
-extern const u8 gMonBackPic_Sharpedo[];
-extern const u8 gMonShinyPalette_Sharpedo[];
-extern const u8 gMonStillFrontPic_Sharpedo[];
+extern const u32 gMonFrontPic_Sharpedo[];
+extern const u32 gMonPalette_Sharpedo[];
+extern const u32 gMonBackPic_Sharpedo[];
+extern const u32 gMonShinyPalette_Sharpedo[];
+extern const u32 gMonStillFrontPic_Sharpedo[];
extern const u8 gMonIcon_Sharpedo[];
extern const u8 gMonFootprint_Sharpedo[];
-extern const u8 gMonFrontPic_Trapinch[];
-extern const u8 gMonPalette_Trapinch[];
-extern const u8 gMonBackPic_Trapinch[];
-extern const u8 gMonShinyPalette_Trapinch[];
-extern const u8 gMonStillFrontPic_Trapinch[];
+extern const u32 gMonFrontPic_Trapinch[];
+extern const u32 gMonPalette_Trapinch[];
+extern const u32 gMonBackPic_Trapinch[];
+extern const u32 gMonShinyPalette_Trapinch[];
+extern const u32 gMonStillFrontPic_Trapinch[];
extern const u8 gMonIcon_Trapinch[];
extern const u8 gMonFootprint_Trapinch[];
-extern const u8 gMonFrontPic_Vibrava[];
-extern const u8 gMonPalette_Vibrava[];
-extern const u8 gMonBackPic_Vibrava[];
-extern const u8 gMonShinyPalette_Vibrava[];
-extern const u8 gMonStillFrontPic_Vibrava[];
+extern const u32 gMonFrontPic_Vibrava[];
+extern const u32 gMonPalette_Vibrava[];
+extern const u32 gMonBackPic_Vibrava[];
+extern const u32 gMonShinyPalette_Vibrava[];
+extern const u32 gMonStillFrontPic_Vibrava[];
extern const u8 gMonIcon_Vibrava[];
extern const u8 gMonFootprint_Vibrava[];
-extern const u8 gMonFrontPic_Flygon[];
-extern const u8 gMonPalette_Flygon[];
-extern const u8 gMonBackPic_Flygon[];
-extern const u8 gMonShinyPalette_Flygon[];
-extern const u8 gMonStillFrontPic_Flygon[];
+extern const u32 gMonFrontPic_Flygon[];
+extern const u32 gMonPalette_Flygon[];
+extern const u32 gMonBackPic_Flygon[];
+extern const u32 gMonShinyPalette_Flygon[];
+extern const u32 gMonStillFrontPic_Flygon[];
extern const u8 gMonIcon_Flygon[];
extern const u8 gMonFootprint_Flygon[];
-extern const u8 gMonFrontPic_Makuhita[];
-extern const u8 gMonPalette_Makuhita[];
-extern const u8 gMonBackPic_Makuhita[];
-extern const u8 gMonShinyPalette_Makuhita[];
-extern const u8 gMonStillFrontPic_Makuhita[];
+extern const u32 gMonFrontPic_Makuhita[];
+extern const u32 gMonPalette_Makuhita[];
+extern const u32 gMonBackPic_Makuhita[];
+extern const u32 gMonShinyPalette_Makuhita[];
+extern const u32 gMonStillFrontPic_Makuhita[];
extern const u8 gMonIcon_Makuhita[];
extern const u8 gMonFootprint_Makuhita[];
-extern const u8 gMonFrontPic_Hariyama[];
-extern const u8 gMonPalette_Hariyama[];
-extern const u8 gMonBackPic_Hariyama[];
-extern const u8 gMonShinyPalette_Hariyama[];
-extern const u8 gMonStillFrontPic_Hariyama[];
+extern const u32 gMonFrontPic_Hariyama[];
+extern const u32 gMonPalette_Hariyama[];
+extern const u32 gMonBackPic_Hariyama[];
+extern const u32 gMonShinyPalette_Hariyama[];
+extern const u32 gMonStillFrontPic_Hariyama[];
extern const u8 gMonIcon_Hariyama[];
extern const u8 gMonFootprint_Hariyama[];
-extern const u8 gMonFrontPic_Electrike[];
-extern const u8 gMonPalette_Electrike[];
-extern const u8 gMonBackPic_Electrike[];
-extern const u8 gMonShinyPalette_Electrike[];
-extern const u8 gMonStillFrontPic_Electrike[];
+extern const u32 gMonFrontPic_Electrike[];
+extern const u32 gMonPalette_Electrike[];
+extern const u32 gMonBackPic_Electrike[];
+extern const u32 gMonShinyPalette_Electrike[];
+extern const u32 gMonStillFrontPic_Electrike[];
extern const u8 gMonIcon_Electrike[];
extern const u8 gMonFootprint_Electrike[];
-extern const u8 gMonFrontPic_Manectric[];
-extern const u8 gMonPalette_Manectric[];
-extern const u8 gMonBackPic_Manectric[];
-extern const u8 gMonShinyPalette_Manectric[];
-extern const u8 gMonStillFrontPic_Manectric[];
+extern const u32 gMonFrontPic_Manectric[];
+extern const u32 gMonPalette_Manectric[];
+extern const u32 gMonBackPic_Manectric[];
+extern const u32 gMonShinyPalette_Manectric[];
+extern const u32 gMonStillFrontPic_Manectric[];
extern const u8 gMonIcon_Manectric[];
extern const u8 gMonFootprint_Manectric[];
-extern const u8 gMonFrontPic_Numel[];
-extern const u8 gMonPalette_Numel[];
-extern const u8 gMonBackPic_Numel[];
-extern const u8 gMonShinyPalette_Numel[];
-extern const u8 gMonStillFrontPic_Numel[];
+extern const u32 gMonFrontPic_Numel[];
+extern const u32 gMonPalette_Numel[];
+extern const u32 gMonBackPic_Numel[];
+extern const u32 gMonShinyPalette_Numel[];
+extern const u32 gMonStillFrontPic_Numel[];
extern const u8 gMonIcon_Numel[];
extern const u8 gMonFootprint_Numel[];
-extern const u8 gMonFrontPic_Camerupt[];
-extern const u8 gMonPalette_Camerupt[];
-extern const u8 gMonBackPic_Camerupt[];
-extern const u8 gMonShinyPalette_Camerupt[];
-extern const u8 gMonStillFrontPic_Camerupt[];
+extern const u32 gMonFrontPic_Camerupt[];
+extern const u32 gMonPalette_Camerupt[];
+extern const u32 gMonBackPic_Camerupt[];
+extern const u32 gMonShinyPalette_Camerupt[];
+extern const u32 gMonStillFrontPic_Camerupt[];
extern const u8 gMonIcon_Camerupt[];
extern const u8 gMonFootprint_Camerupt[];
-extern const u8 gMonFrontPic_Spheal[];
-extern const u8 gMonPalette_Spheal[];
-extern const u8 gMonBackPic_Spheal[];
-extern const u8 gMonShinyPalette_Spheal[];
-extern const u8 gMonStillFrontPic_Spheal[];
+extern const u32 gMonFrontPic_Spheal[];
+extern const u32 gMonPalette_Spheal[];
+extern const u32 gMonBackPic_Spheal[];
+extern const u32 gMonShinyPalette_Spheal[];
+extern const u32 gMonStillFrontPic_Spheal[];
extern const u8 gMonIcon_Spheal[];
extern const u8 gMonFootprint_Spheal[];
-extern const u8 gMonFrontPic_Sealeo[];
-extern const u8 gMonPalette_Sealeo[];
-extern const u8 gMonBackPic_Sealeo[];
-extern const u8 gMonShinyPalette_Sealeo[];
-extern const u8 gMonStillFrontPic_Sealeo[];
+extern const u32 gMonFrontPic_Sealeo[];
+extern const u32 gMonPalette_Sealeo[];
+extern const u32 gMonBackPic_Sealeo[];
+extern const u32 gMonShinyPalette_Sealeo[];
+extern const u32 gMonStillFrontPic_Sealeo[];
extern const u8 gMonIcon_Sealeo[];
extern const u8 gMonFootprint_Sealeo[];
-extern const u8 gMonFrontPic_Walrein[];
-extern const u8 gMonPalette_Walrein[];
-extern const u8 gMonBackPic_Walrein[];
-extern const u8 gMonShinyPalette_Walrein[];
-extern const u8 gMonStillFrontPic_Walrein[];
+extern const u32 gMonFrontPic_Walrein[];
+extern const u32 gMonPalette_Walrein[];
+extern const u32 gMonBackPic_Walrein[];
+extern const u32 gMonShinyPalette_Walrein[];
+extern const u32 gMonStillFrontPic_Walrein[];
extern const u8 gMonIcon_Walrein[];
extern const u8 gMonFootprint_Walrein[];
-extern const u8 gMonFrontPic_Cacnea[];
-extern const u8 gMonPalette_Cacnea[];
-extern const u8 gMonBackPic_Cacnea[];
-extern const u8 gMonShinyPalette_Cacnea[];
-extern const u8 gMonStillFrontPic_Cacnea[];
+extern const u32 gMonFrontPic_Cacnea[];
+extern const u32 gMonPalette_Cacnea[];
+extern const u32 gMonBackPic_Cacnea[];
+extern const u32 gMonShinyPalette_Cacnea[];
+extern const u32 gMonStillFrontPic_Cacnea[];
extern const u8 gMonIcon_Cacnea[];
extern const u8 gMonFootprint_Cacnea[];
-extern const u8 gMonFrontPic_Cacturne[];
-extern const u8 gMonPalette_Cacturne[];
-extern const u8 gMonBackPic_Cacturne[];
-extern const u8 gMonShinyPalette_Cacturne[];
-extern const u8 gMonStillFrontPic_Cacturne[];
+extern const u32 gMonFrontPic_Cacturne[];
+extern const u32 gMonPalette_Cacturne[];
+extern const u32 gMonBackPic_Cacturne[];
+extern const u32 gMonShinyPalette_Cacturne[];
+extern const u32 gMonStillFrontPic_Cacturne[];
extern const u8 gMonIcon_Cacturne[];
extern const u8 gMonFootprint_Cacturne[];
-extern const u8 gMonFrontPic_Snorunt[];
-extern const u8 gMonPalette_Snorunt[];
-extern const u8 gMonBackPic_Snorunt[];
-extern const u8 gMonShinyPalette_Snorunt[];
-extern const u8 gMonStillFrontPic_Snorunt[];
+extern const u32 gMonFrontPic_Snorunt[];
+extern const u32 gMonPalette_Snorunt[];
+extern const u32 gMonBackPic_Snorunt[];
+extern const u32 gMonShinyPalette_Snorunt[];
+extern const u32 gMonStillFrontPic_Snorunt[];
extern const u8 gMonIcon_Snorunt[];
extern const u8 gMonFootprint_Snorunt[];
-extern const u8 gMonFrontPic_Glalie[];
-extern const u8 gMonPalette_Glalie[];
-extern const u8 gMonBackPic_Glalie[];
-extern const u8 gMonShinyPalette_Glalie[];
-extern const u8 gMonStillFrontPic_Glalie[];
+extern const u32 gMonFrontPic_Glalie[];
+extern const u32 gMonPalette_Glalie[];
+extern const u32 gMonBackPic_Glalie[];
+extern const u32 gMonShinyPalette_Glalie[];
+extern const u32 gMonStillFrontPic_Glalie[];
extern const u8 gMonIcon_Glalie[];
extern const u8 gMonFootprint_Glalie[];
-extern const u8 gMonFrontPic_Lunatone[];
-extern const u8 gMonPalette_Lunatone[];
-extern const u8 gMonBackPic_Lunatone[];
-extern const u8 gMonShinyPalette_Lunatone[];
-extern const u8 gMonStillFrontPic_Lunatone[];
+extern const u32 gMonFrontPic_Lunatone[];
+extern const u32 gMonPalette_Lunatone[];
+extern const u32 gMonBackPic_Lunatone[];
+extern const u32 gMonShinyPalette_Lunatone[];
+extern const u32 gMonStillFrontPic_Lunatone[];
extern const u8 gMonIcon_Lunatone[];
extern const u8 gMonFootprint_Lunatone[];
-extern const u8 gMonFrontPic_Solrock[];
-extern const u8 gMonPalette_Solrock[];
-extern const u8 gMonBackPic_Solrock[];
-extern const u8 gMonShinyPalette_Solrock[];
-extern const u8 gMonStillFrontPic_Solrock[];
+extern const u32 gMonFrontPic_Solrock[];
+extern const u32 gMonPalette_Solrock[];
+extern const u32 gMonBackPic_Solrock[];
+extern const u32 gMonShinyPalette_Solrock[];
+extern const u32 gMonStillFrontPic_Solrock[];
extern const u8 gMonIcon_Solrock[];
extern const u8 gMonFootprint_Solrock[];
-extern const u8 gMonFrontPic_Azurill[];
-extern const u8 gMonPalette_Azurill[];
-extern const u8 gMonBackPic_Azurill[];
-extern const u8 gMonShinyPalette_Azurill[];
-extern const u8 gMonStillFrontPic_Azurill[];
+extern const u32 gMonFrontPic_Azurill[];
+extern const u32 gMonPalette_Azurill[];
+extern const u32 gMonBackPic_Azurill[];
+extern const u32 gMonShinyPalette_Azurill[];
+extern const u32 gMonStillFrontPic_Azurill[];
extern const u8 gMonIcon_Azurill[];
extern const u8 gMonFootprint_Azurill[];
-extern const u8 gMonFrontPic_Spoink[];
-extern const u8 gMonPalette_Spoink[];
-extern const u8 gMonBackPic_Spoink[];
-extern const u8 gMonShinyPalette_Spoink[];
-extern const u8 gMonStillFrontPic_Spoink[];
+extern const u32 gMonFrontPic_Spoink[];
+extern const u32 gMonPalette_Spoink[];
+extern const u32 gMonBackPic_Spoink[];
+extern const u32 gMonShinyPalette_Spoink[];
+extern const u32 gMonStillFrontPic_Spoink[];
extern const u8 gMonIcon_Spoink[];
extern const u8 gMonFootprint_Spoink[];
-extern const u8 gMonFrontPic_Grumpig[];
-extern const u8 gMonPalette_Grumpig[];
-extern const u8 gMonBackPic_Grumpig[];
-extern const u8 gMonShinyPalette_Grumpig[];
-extern const u8 gMonStillFrontPic_Grumpig[];
+extern const u32 gMonFrontPic_Grumpig[];
+extern const u32 gMonPalette_Grumpig[];
+extern const u32 gMonBackPic_Grumpig[];
+extern const u32 gMonShinyPalette_Grumpig[];
+extern const u32 gMonStillFrontPic_Grumpig[];
extern const u8 gMonIcon_Grumpig[];
extern const u8 gMonFootprint_Grumpig[];
-extern const u8 gMonFrontPic_Plusle[];
-extern const u8 gMonPalette_Plusle[];
-extern const u8 gMonBackPic_Plusle[];
-extern const u8 gMonShinyPalette_Plusle[];
-extern const u8 gMonStillFrontPic_Plusle[];
+extern const u32 gMonFrontPic_Plusle[];
+extern const u32 gMonPalette_Plusle[];
+extern const u32 gMonBackPic_Plusle[];
+extern const u32 gMonShinyPalette_Plusle[];
+extern const u32 gMonStillFrontPic_Plusle[];
extern const u8 gMonIcon_Plusle[];
extern const u8 gMonFootprint_Plusle[];
-extern const u8 gMonFrontPic_Minun[];
-extern const u8 gMonPalette_Minun[];
-extern const u8 gMonBackPic_Minun[];
-extern const u8 gMonShinyPalette_Minun[];
-extern const u8 gMonStillFrontPic_Minun[];
+extern const u32 gMonFrontPic_Minun[];
+extern const u32 gMonPalette_Minun[];
+extern const u32 gMonBackPic_Minun[];
+extern const u32 gMonShinyPalette_Minun[];
+extern const u32 gMonStillFrontPic_Minun[];
extern const u8 gMonIcon_Minun[];
extern const u8 gMonFootprint_Minun[];
-extern const u8 gMonFrontPic_Mawile[];
-extern const u8 gMonPalette_Mawile[];
-extern const u8 gMonBackPic_Mawile[];
-extern const u8 gMonShinyPalette_Mawile[];
-extern const u8 gMonStillFrontPic_Mawile[];
+extern const u32 gMonFrontPic_Mawile[];
+extern const u32 gMonPalette_Mawile[];
+extern const u32 gMonBackPic_Mawile[];
+extern const u32 gMonShinyPalette_Mawile[];
+extern const u32 gMonStillFrontPic_Mawile[];
extern const u8 gMonIcon_Mawile[];
extern const u8 gMonFootprint_Mawile[];
-extern const u8 gMonFrontPic_Meditite[];
-extern const u8 gMonPalette_Meditite[];
-extern const u8 gMonBackPic_Meditite[];
-extern const u8 gMonShinyPalette_Meditite[];
-extern const u8 gMonStillFrontPic_Meditite[];
+extern const u32 gMonFrontPic_Meditite[];
+extern const u32 gMonPalette_Meditite[];
+extern const u32 gMonBackPic_Meditite[];
+extern const u32 gMonShinyPalette_Meditite[];
+extern const u32 gMonStillFrontPic_Meditite[];
extern const u8 gMonIcon_Meditite[];
extern const u8 gMonFootprint_Meditite[];
-extern const u8 gMonFrontPic_Medicham[];
-extern const u8 gMonPalette_Medicham[];
-extern const u8 gMonBackPic_Medicham[];
-extern const u8 gMonShinyPalette_Medicham[];
-extern const u8 gMonStillFrontPic_Medicham[];
+extern const u32 gMonFrontPic_Medicham[];
+extern const u32 gMonPalette_Medicham[];
+extern const u32 gMonBackPic_Medicham[];
+extern const u32 gMonShinyPalette_Medicham[];
+extern const u32 gMonStillFrontPic_Medicham[];
extern const u8 gMonIcon_Medicham[];
extern const u8 gMonFootprint_Medicham[];
-extern const u8 gMonFrontPic_Swablu[];
-extern const u8 gMonPalette_Swablu[];
-extern const u8 gMonBackPic_Swablu[];
-extern const u8 gMonShinyPalette_Swablu[];
-extern const u8 gMonStillFrontPic_Swablu[];
+extern const u32 gMonFrontPic_Swablu[];
+extern const u32 gMonPalette_Swablu[];
+extern const u32 gMonBackPic_Swablu[];
+extern const u32 gMonShinyPalette_Swablu[];
+extern const u32 gMonStillFrontPic_Swablu[];
extern const u8 gMonIcon_Swablu[];
extern const u8 gMonFootprint_Swablu[];
-extern const u8 gMonFrontPic_Altaria[];
-extern const u8 gMonPalette_Altaria[];
-extern const u8 gMonBackPic_Altaria[];
-extern const u8 gMonShinyPalette_Altaria[];
-extern const u8 gMonStillFrontPic_Altaria[];
+extern const u32 gMonFrontPic_Altaria[];
+extern const u32 gMonPalette_Altaria[];
+extern const u32 gMonBackPic_Altaria[];
+extern const u32 gMonShinyPalette_Altaria[];
+extern const u32 gMonStillFrontPic_Altaria[];
extern const u8 gMonIcon_Altaria[];
extern const u8 gMonFootprint_Altaria[];
-extern const u8 gMonFrontPic_Wynaut[];
-extern const u8 gMonPalette_Wynaut[];
-extern const u8 gMonBackPic_Wynaut[];
-extern const u8 gMonShinyPalette_Wynaut[];
-extern const u8 gMonStillFrontPic_Wynaut[];
+extern const u32 gMonFrontPic_Wynaut[];
+extern const u32 gMonPalette_Wynaut[];
+extern const u32 gMonBackPic_Wynaut[];
+extern const u32 gMonShinyPalette_Wynaut[];
+extern const u32 gMonStillFrontPic_Wynaut[];
extern const u8 gMonIcon_Wynaut[];
extern const u8 gMonFootprint_Wynaut[];
-extern const u8 gMonFrontPic_Duskull[];
-extern const u8 gMonPalette_Duskull[];
-extern const u8 gMonBackPic_Duskull[];
-extern const u8 gMonShinyPalette_Duskull[];
-extern const u8 gMonStillFrontPic_Duskull[];
+extern const u32 gMonFrontPic_Duskull[];
+extern const u32 gMonPalette_Duskull[];
+extern const u32 gMonBackPic_Duskull[];
+extern const u32 gMonShinyPalette_Duskull[];
+extern const u32 gMonStillFrontPic_Duskull[];
extern const u8 gMonIcon_Duskull[];
extern const u8 gMonFootprint_Duskull[];
-extern const u8 gMonFrontPic_Dusclops[];
-extern const u8 gMonPalette_Dusclops[];
-extern const u8 gMonBackPic_Dusclops[];
-extern const u8 gMonShinyPalette_Dusclops[];
-extern const u8 gMonStillFrontPic_Dusclops[];
+extern const u32 gMonFrontPic_Dusclops[];
+extern const u32 gMonPalette_Dusclops[];
+extern const u32 gMonBackPic_Dusclops[];
+extern const u32 gMonShinyPalette_Dusclops[];
+extern const u32 gMonStillFrontPic_Dusclops[];
extern const u8 gMonIcon_Dusclops[];
extern const u8 gMonFootprint_Dusclops[];
-extern const u8 gMonFrontPic_Roselia[];
-extern const u8 gMonPalette_Roselia[];
-extern const u8 gMonBackPic_Roselia[];
-extern const u8 gMonShinyPalette_Roselia[];
-extern const u8 gMonStillFrontPic_Roselia[];
+extern const u32 gMonFrontPic_Roselia[];
+extern const u32 gMonPalette_Roselia[];
+extern const u32 gMonBackPic_Roselia[];
+extern const u32 gMonShinyPalette_Roselia[];
+extern const u32 gMonStillFrontPic_Roselia[];
extern const u8 gMonIcon_Roselia[];
extern const u8 gMonFootprint_Roselia[];
-extern const u8 gMonFrontPic_Slakoth[];
-extern const u8 gMonPalette_Slakoth[];
-extern const u8 gMonBackPic_Slakoth[];
-extern const u8 gMonShinyPalette_Slakoth[];
-extern const u8 gMonStillFrontPic_Slakoth[];
+extern const u32 gMonFrontPic_Slakoth[];
+extern const u32 gMonPalette_Slakoth[];
+extern const u32 gMonBackPic_Slakoth[];
+extern const u32 gMonShinyPalette_Slakoth[];
+extern const u32 gMonStillFrontPic_Slakoth[];
extern const u8 gMonIcon_Slakoth[];
extern const u8 gMonFootprint_Slakoth[];
-extern const u8 gMonFrontPic_Vigoroth[];
-extern const u8 gMonPalette_Vigoroth[];
-extern const u8 gMonBackPic_Vigoroth[];
-extern const u8 gMonShinyPalette_Vigoroth[];
-extern const u8 gMonStillFrontPic_Vigoroth[];
+extern const u32 gMonFrontPic_Vigoroth[];
+extern const u32 gMonPalette_Vigoroth[];
+extern const u32 gMonBackPic_Vigoroth[];
+extern const u32 gMonShinyPalette_Vigoroth[];
+extern const u32 gMonStillFrontPic_Vigoroth[];
extern const u8 gMonIcon_Vigoroth[];
extern const u8 gMonFootprint_Vigoroth[];
-extern const u8 gMonFrontPic_Slaking[];
-extern const u8 gMonPalette_Slaking[];
-extern const u8 gMonBackPic_Slaking[];
-extern const u8 gMonShinyPalette_Slaking[];
-extern const u8 gMonStillFrontPic_Slaking[];
+extern const u32 gMonFrontPic_Slaking[];
+extern const u32 gMonPalette_Slaking[];
+extern const u32 gMonBackPic_Slaking[];
+extern const u32 gMonShinyPalette_Slaking[];
+extern const u32 gMonStillFrontPic_Slaking[];
extern const u8 gMonIcon_Slaking[];
extern const u8 gMonFootprint_Slaking[];
-extern const u8 gMonFrontPic_Gulpin[];
-extern const u8 gMonPalette_Gulpin[];
-extern const u8 gMonBackPic_Gulpin[];
-extern const u8 gMonShinyPalette_Gulpin[];
-extern const u8 gMonStillFrontPic_Gulpin[];
+extern const u32 gMonFrontPic_Gulpin[];
+extern const u32 gMonPalette_Gulpin[];
+extern const u32 gMonBackPic_Gulpin[];
+extern const u32 gMonShinyPalette_Gulpin[];
+extern const u32 gMonStillFrontPic_Gulpin[];
extern const u8 gMonIcon_Gulpin[];
extern const u8 gMonFootprint_Gulpin[];
-extern const u8 gMonFrontPic_Swalot[];
-extern const u8 gMonPalette_Swalot[];
-extern const u8 gMonBackPic_Swalot[];
-extern const u8 gMonShinyPalette_Swalot[];
-extern const u8 gMonStillFrontPic_Swalot[];
+extern const u32 gMonFrontPic_Swalot[];
+extern const u32 gMonPalette_Swalot[];
+extern const u32 gMonBackPic_Swalot[];
+extern const u32 gMonShinyPalette_Swalot[];
+extern const u32 gMonStillFrontPic_Swalot[];
extern const u8 gMonIcon_Swalot[];
extern const u8 gMonFootprint_Swalot[];
-extern const u8 gMonFrontPic_Tropius[];
-extern const u8 gMonPalette_Tropius[];
-extern const u8 gMonBackPic_Tropius[];
-extern const u8 gMonShinyPalette_Tropius[];
-extern const u8 gMonStillFrontPic_Tropius[];
+extern const u32 gMonFrontPic_Tropius[];
+extern const u32 gMonPalette_Tropius[];
+extern const u32 gMonBackPic_Tropius[];
+extern const u32 gMonShinyPalette_Tropius[];
+extern const u32 gMonStillFrontPic_Tropius[];
extern const u8 gMonIcon_Tropius[];
extern const u8 gMonFootprint_Tropius[];
-extern const u8 gMonFrontPic_Whismur[];
-extern const u8 gMonPalette_Whismur[];
-extern const u8 gMonBackPic_Whismur[];
-extern const u8 gMonShinyPalette_Whismur[];
-extern const u8 gMonStillFrontPic_Whismur[];
+extern const u32 gMonFrontPic_Whismur[];
+extern const u32 gMonPalette_Whismur[];
+extern const u32 gMonBackPic_Whismur[];
+extern const u32 gMonShinyPalette_Whismur[];
+extern const u32 gMonStillFrontPic_Whismur[];
extern const u8 gMonIcon_Whismur[];
extern const u8 gMonFootprint_Whismur[];
-extern const u8 gMonFrontPic_Loudred[];
-extern const u8 gMonPalette_Loudred[];
-extern const u8 gMonBackPic_Loudred[];
-extern const u8 gMonShinyPalette_Loudred[];
-extern const u8 gMonStillFrontPic_Loudred[];
+extern const u32 gMonFrontPic_Loudred[];
+extern const u32 gMonPalette_Loudred[];
+extern const u32 gMonBackPic_Loudred[];
+extern const u32 gMonShinyPalette_Loudred[];
+extern const u32 gMonStillFrontPic_Loudred[];
extern const u8 gMonIcon_Loudred[];
extern const u8 gMonFootprint_Loudred[];
-extern const u8 gMonFrontPic_Exploud[];
-extern const u8 gMonPalette_Exploud[];
-extern const u8 gMonBackPic_Exploud[];
-extern const u8 gMonShinyPalette_Exploud[];
-extern const u8 gMonStillFrontPic_Exploud[];
+extern const u32 gMonFrontPic_Exploud[];
+extern const u32 gMonPalette_Exploud[];
+extern const u32 gMonBackPic_Exploud[];
+extern const u32 gMonShinyPalette_Exploud[];
+extern const u32 gMonStillFrontPic_Exploud[];
extern const u8 gMonIcon_Exploud[];
extern const u8 gMonFootprint_Exploud[];
-extern const u8 gMonFrontPic_Clamperl[];
-extern const u8 gMonPalette_Clamperl[];
-extern const u8 gMonBackPic_Clamperl[];
-extern const u8 gMonShinyPalette_Clamperl[];
-extern const u8 gMonStillFrontPic_Clamperl[];
+extern const u32 gMonFrontPic_Clamperl[];
+extern const u32 gMonPalette_Clamperl[];
+extern const u32 gMonBackPic_Clamperl[];
+extern const u32 gMonShinyPalette_Clamperl[];
+extern const u32 gMonStillFrontPic_Clamperl[];
extern const u8 gMonIcon_Clamperl[];
extern const u8 gMonFootprint_Clamperl[];
-extern const u8 gMonFrontPic_Huntail[];
-extern const u8 gMonPalette_Huntail[];
-extern const u8 gMonBackPic_Huntail[];
-extern const u8 gMonShinyPalette_Huntail[];
-extern const u8 gMonStillFrontPic_Huntail[];
+extern const u32 gMonFrontPic_Huntail[];
+extern const u32 gMonPalette_Huntail[];
+extern const u32 gMonBackPic_Huntail[];
+extern const u32 gMonShinyPalette_Huntail[];
+extern const u32 gMonStillFrontPic_Huntail[];
extern const u8 gMonIcon_Huntail[];
extern const u8 gMonFootprint_Huntail[];
-extern const u8 gMonFrontPic_Gorebyss[];
-extern const u8 gMonPalette_Gorebyss[];
-extern const u8 gMonBackPic_Gorebyss[];
-extern const u8 gMonShinyPalette_Gorebyss[];
-extern const u8 gMonStillFrontPic_Gorebyss[];
+extern const u32 gMonFrontPic_Gorebyss[];
+extern const u32 gMonPalette_Gorebyss[];
+extern const u32 gMonBackPic_Gorebyss[];
+extern const u32 gMonShinyPalette_Gorebyss[];
+extern const u32 gMonStillFrontPic_Gorebyss[];
extern const u8 gMonIcon_Gorebyss[];
extern const u8 gMonFootprint_Gorebyss[];
-extern const u8 gMonFrontPic_Absol[];
-extern const u8 gMonPalette_Absol[];
-extern const u8 gMonBackPic_Absol[];
-extern const u8 gMonShinyPalette_Absol[];
-extern const u8 gMonStillFrontPic_Absol[];
+extern const u32 gMonFrontPic_Absol[];
+extern const u32 gMonPalette_Absol[];
+extern const u32 gMonBackPic_Absol[];
+extern const u32 gMonShinyPalette_Absol[];
+extern const u32 gMonStillFrontPic_Absol[];
extern const u8 gMonIcon_Absol[];
extern const u8 gMonFootprint_Absol[];
-extern const u8 gMonFrontPic_Shuppet[];
-extern const u8 gMonPalette_Shuppet[];
-extern const u8 gMonBackPic_Shuppet[];
-extern const u8 gMonShinyPalette_Shuppet[];
-extern const u8 gMonStillFrontPic_Shuppet[];
+extern const u32 gMonFrontPic_Shuppet[];
+extern const u32 gMonPalette_Shuppet[];
+extern const u32 gMonBackPic_Shuppet[];
+extern const u32 gMonShinyPalette_Shuppet[];
+extern const u32 gMonStillFrontPic_Shuppet[];
extern const u8 gMonIcon_Shuppet[];
extern const u8 gMonFootprint_Shuppet[];
-extern const u8 gMonFrontPic_Banette[];
-extern const u8 gMonPalette_Banette[];
-extern const u8 gMonBackPic_Banette[];
-extern const u8 gMonShinyPalette_Banette[];
-extern const u8 gMonStillFrontPic_Banette[];
+extern const u32 gMonFrontPic_Banette[];
+extern const u32 gMonPalette_Banette[];
+extern const u32 gMonBackPic_Banette[];
+extern const u32 gMonShinyPalette_Banette[];
+extern const u32 gMonStillFrontPic_Banette[];
extern const u8 gMonIcon_Banette[];
extern const u8 gMonFootprint_Banette[];
-extern const u8 gMonFrontPic_Seviper[];
-extern const u8 gMonPalette_Seviper[];
-extern const u8 gMonBackPic_Seviper[];
-extern const u8 gMonShinyPalette_Seviper[];
-extern const u8 gMonStillFrontPic_Seviper[];
+extern const u32 gMonFrontPic_Seviper[];
+extern const u32 gMonPalette_Seviper[];
+extern const u32 gMonBackPic_Seviper[];
+extern const u32 gMonShinyPalette_Seviper[];
+extern const u32 gMonStillFrontPic_Seviper[];
extern const u8 gMonIcon_Seviper[];
extern const u8 gMonFootprint_Seviper[];
-extern const u8 gMonFrontPic_Zangoose[];
-extern const u8 gMonPalette_Zangoose[];
-extern const u8 gMonBackPic_Zangoose[];
-extern const u8 gMonShinyPalette_Zangoose[];
-extern const u8 gMonStillFrontPic_Zangoose[];
+extern const u32 gMonFrontPic_Zangoose[];
+extern const u32 gMonPalette_Zangoose[];
+extern const u32 gMonBackPic_Zangoose[];
+extern const u32 gMonShinyPalette_Zangoose[];
+extern const u32 gMonStillFrontPic_Zangoose[];
extern const u8 gMonIcon_Zangoose[];
extern const u8 gMonFootprint_Zangoose[];
-extern const u8 gMonFrontPic_Relicanth[];
-extern const u8 gMonPalette_Relicanth[];
-extern const u8 gMonBackPic_Relicanth[];
-extern const u8 gMonShinyPalette_Relicanth[];
-extern const u8 gMonStillFrontPic_Relicanth[];
+extern const u32 gMonFrontPic_Relicanth[];
+extern const u32 gMonPalette_Relicanth[];
+extern const u32 gMonBackPic_Relicanth[];
+extern const u32 gMonShinyPalette_Relicanth[];
+extern const u32 gMonStillFrontPic_Relicanth[];
extern const u8 gMonIcon_Relicanth[];
extern const u8 gMonFootprint_Relicanth[];
-extern const u8 gMonFrontPic_Aron[];
-extern const u8 gMonPalette_Aron[];
-extern const u8 gMonBackPic_Aron[];
-extern const u8 gMonShinyPalette_Aron[];
-extern const u8 gMonStillFrontPic_Aron[];
+extern const u32 gMonFrontPic_Aron[];
+extern const u32 gMonPalette_Aron[];
+extern const u32 gMonBackPic_Aron[];
+extern const u32 gMonShinyPalette_Aron[];
+extern const u32 gMonStillFrontPic_Aron[];
extern const u8 gMonIcon_Aron[];
extern const u8 gMonFootprint_Aron[];
-extern const u8 gMonFrontPic_Lairon[];
-extern const u8 gMonPalette_Lairon[];
-extern const u8 gMonBackPic_Lairon[];
-extern const u8 gMonShinyPalette_Lairon[];
-extern const u8 gMonStillFrontPic_Lairon[];
+extern const u32 gMonFrontPic_Lairon[];
+extern const u32 gMonPalette_Lairon[];
+extern const u32 gMonBackPic_Lairon[];
+extern const u32 gMonShinyPalette_Lairon[];
+extern const u32 gMonStillFrontPic_Lairon[];
extern const u8 gMonIcon_Lairon[];
extern const u8 gMonFootprint_Lairon[];
-extern const u8 gMonFrontPic_Aggron[];
-extern const u8 gMonPalette_Aggron[];
-extern const u8 gMonBackPic_Aggron[];
-extern const u8 gMonShinyPalette_Aggron[];
-extern const u8 gMonStillFrontPic_Aggron[];
+extern const u32 gMonFrontPic_Aggron[];
+extern const u32 gMonPalette_Aggron[];
+extern const u32 gMonBackPic_Aggron[];
+extern const u32 gMonShinyPalette_Aggron[];
+extern const u32 gMonStillFrontPic_Aggron[];
extern const u8 gMonIcon_Aggron[];
extern const u8 gMonFootprint_Aggron[];
-extern const u8 gMonFrontPic_Castform[];
-extern const u8 gMonPalette_Castform[];
-extern const u8 gMonBackPic_Castform[];
-extern const u8 gMonShinyPalette_Castform[];
-extern const u8 gMonStillFrontPic_Castform[];
+extern const u32 gMonFrontPic_Castform[];
+extern const u32 gMonPalette_Castform[];
+extern const u32 gMonBackPic_Castform[];
+extern const u32 gMonShinyPalette_Castform[];
+extern const u32 gMonStillFrontPic_Castform[];
extern const u8 gMonIcon_Castform[];
extern const u8 gMonFootprint_Castform[];
-extern const u8 gMonFrontPic_Volbeat[];
-extern const u8 gMonPalette_Volbeat[];
-extern const u8 gMonBackPic_Volbeat[];
-extern const u8 gMonShinyPalette_Volbeat[];
-extern const u8 gMonStillFrontPic_Volbeat[];
+extern const u32 gMonFrontPic_Volbeat[];
+extern const u32 gMonPalette_Volbeat[];
+extern const u32 gMonBackPic_Volbeat[];
+extern const u32 gMonShinyPalette_Volbeat[];
+extern const u32 gMonStillFrontPic_Volbeat[];
extern const u8 gMonIcon_Volbeat[];
extern const u8 gMonFootprint_Volbeat[];
-extern const u8 gMonFrontPic_Illumise[];
-extern const u8 gMonPalette_Illumise[];
-extern const u8 gMonBackPic_Illumise[];
-extern const u8 gMonShinyPalette_Illumise[];
-extern const u8 gMonStillFrontPic_Illumise[];
+extern const u32 gMonFrontPic_Illumise[];
+extern const u32 gMonPalette_Illumise[];
+extern const u32 gMonBackPic_Illumise[];
+extern const u32 gMonShinyPalette_Illumise[];
+extern const u32 gMonStillFrontPic_Illumise[];
extern const u8 gMonIcon_Illumise[];
extern const u8 gMonFootprint_Illumise[];
-extern const u8 gMonFrontPic_Lileep[];
-extern const u8 gMonPalette_Lileep[];
-extern const u8 gMonBackPic_Lileep[];
-extern const u8 gMonShinyPalette_Lileep[];
-extern const u8 gMonStillFrontPic_Lileep[];
+extern const u32 gMonFrontPic_Lileep[];
+extern const u32 gMonPalette_Lileep[];
+extern const u32 gMonBackPic_Lileep[];
+extern const u32 gMonShinyPalette_Lileep[];
+extern const u32 gMonStillFrontPic_Lileep[];
extern const u8 gMonIcon_Lileep[];
extern const u8 gMonFootprint_Lileep[];
-extern const u8 gMonFrontPic_Cradily[];
-extern const u8 gMonPalette_Cradily[];
-extern const u8 gMonBackPic_Cradily[];
-extern const u8 gMonShinyPalette_Cradily[];
-extern const u8 gMonStillFrontPic_Cradily[];
+extern const u32 gMonFrontPic_Cradily[];
+extern const u32 gMonPalette_Cradily[];
+extern const u32 gMonBackPic_Cradily[];
+extern const u32 gMonShinyPalette_Cradily[];
+extern const u32 gMonStillFrontPic_Cradily[];
extern const u8 gMonIcon_Cradily[];
extern const u8 gMonFootprint_Cradily[];
-extern const u8 gMonFrontPic_Anorith[];
-extern const u8 gMonPalette_Anorith[];
-extern const u8 gMonBackPic_Anorith[];
-extern const u8 gMonShinyPalette_Anorith[];
-extern const u8 gMonStillFrontPic_Anorith[];
+extern const u32 gMonFrontPic_Anorith[];
+extern const u32 gMonPalette_Anorith[];
+extern const u32 gMonBackPic_Anorith[];
+extern const u32 gMonShinyPalette_Anorith[];
+extern const u32 gMonStillFrontPic_Anorith[];
extern const u8 gMonIcon_Anorith[];
extern const u8 gMonFootprint_Anorith[];
-extern const u8 gMonFrontPic_Armaldo[];
-extern const u8 gMonPalette_Armaldo[];
-extern const u8 gMonBackPic_Armaldo[];
-extern const u8 gMonShinyPalette_Armaldo[];
-extern const u8 gMonStillFrontPic_Armaldo[];
+extern const u32 gMonFrontPic_Armaldo[];
+extern const u32 gMonPalette_Armaldo[];
+extern const u32 gMonBackPic_Armaldo[];
+extern const u32 gMonShinyPalette_Armaldo[];
+extern const u32 gMonStillFrontPic_Armaldo[];
extern const u8 gMonIcon_Armaldo[];
extern const u8 gMonFootprint_Armaldo[];
-extern const u8 gMonFrontPic_Ralts[];
-extern const u8 gMonPalette_Ralts[];
-extern const u8 gMonBackPic_Ralts[];
-extern const u8 gMonShinyPalette_Ralts[];
-extern const u8 gMonStillFrontPic_Ralts[];
+extern const u32 gMonFrontPic_Ralts[];
+extern const u32 gMonPalette_Ralts[];
+extern const u32 gMonBackPic_Ralts[];
+extern const u32 gMonShinyPalette_Ralts[];
+extern const u32 gMonStillFrontPic_Ralts[];
extern const u8 gMonIcon_Ralts[];
extern const u8 gMonFootprint_Ralts[];
-extern const u8 gMonFrontPic_Kirlia[];
-extern const u8 gMonPalette_Kirlia[];
-extern const u8 gMonBackPic_Kirlia[];
-extern const u8 gMonShinyPalette_Kirlia[];
-extern const u8 gMonStillFrontPic_Kirlia[];
+extern const u32 gMonFrontPic_Kirlia[];
+extern const u32 gMonPalette_Kirlia[];
+extern const u32 gMonBackPic_Kirlia[];
+extern const u32 gMonShinyPalette_Kirlia[];
+extern const u32 gMonStillFrontPic_Kirlia[];
extern const u8 gMonIcon_Kirlia[];
extern const u8 gMonFootprint_Kirlia[];
-extern const u8 gMonFrontPic_Gardevoir[];
-extern const u8 gMonPalette_Gardevoir[];
-extern const u8 gMonBackPic_Gardevoir[];
-extern const u8 gMonShinyPalette_Gardevoir[];
-extern const u8 gMonStillFrontPic_Gardevoir[];
+extern const u32 gMonFrontPic_Gardevoir[];
+extern const u32 gMonPalette_Gardevoir[];
+extern const u32 gMonBackPic_Gardevoir[];
+extern const u32 gMonShinyPalette_Gardevoir[];
+extern const u32 gMonStillFrontPic_Gardevoir[];
extern const u8 gMonIcon_Gardevoir[];
extern const u8 gMonFootprint_Gardevoir[];
-extern const u8 gMonFrontPic_Bagon[];
-extern const u8 gMonPalette_Bagon[];
-extern const u8 gMonBackPic_Bagon[];
-extern const u8 gMonShinyPalette_Bagon[];
-extern const u8 gMonStillFrontPic_Bagon[];
+extern const u32 gMonFrontPic_Bagon[];
+extern const u32 gMonPalette_Bagon[];
+extern const u32 gMonBackPic_Bagon[];
+extern const u32 gMonShinyPalette_Bagon[];
+extern const u32 gMonStillFrontPic_Bagon[];
extern const u8 gMonIcon_Bagon[];
extern const u8 gMonFootprint_Bagon[];
-extern const u8 gMonFrontPic_Shelgon[];
-extern const u8 gMonPalette_Shelgon[];
-extern const u8 gMonBackPic_Shelgon[];
-extern const u8 gMonShinyPalette_Shelgon[];
-extern const u8 gMonStillFrontPic_Shelgon[];
+extern const u32 gMonFrontPic_Shelgon[];
+extern const u32 gMonPalette_Shelgon[];
+extern const u32 gMonBackPic_Shelgon[];
+extern const u32 gMonShinyPalette_Shelgon[];
+extern const u32 gMonStillFrontPic_Shelgon[];
extern const u8 gMonIcon_Shelgon[];
extern const u8 gMonFootprint_Shelgon[];
-extern const u8 gMonFrontPic_Salamence[];
-extern const u8 gMonPalette_Salamence[];
-extern const u8 gMonBackPic_Salamence[];
-extern const u8 gMonShinyPalette_Salamence[];
-extern const u8 gMonStillFrontPic_Salamence[];
+extern const u32 gMonFrontPic_Salamence[];
+extern const u32 gMonPalette_Salamence[];
+extern const u32 gMonBackPic_Salamence[];
+extern const u32 gMonShinyPalette_Salamence[];
+extern const u32 gMonStillFrontPic_Salamence[];
extern const u8 gMonIcon_Salamence[];
extern const u8 gMonFootprint_Salamence[];
-extern const u8 gMonFrontPic_Beldum[];
-extern const u8 gMonPalette_Beldum[];
-extern const u8 gMonBackPic_Beldum[];
-extern const u8 gMonShinyPalette_Beldum[];
-extern const u8 gMonStillFrontPic_Beldum[];
+extern const u32 gMonFrontPic_Beldum[];
+extern const u32 gMonPalette_Beldum[];
+extern const u32 gMonBackPic_Beldum[];
+extern const u32 gMonShinyPalette_Beldum[];
+extern const u32 gMonStillFrontPic_Beldum[];
extern const u8 gMonIcon_Beldum[];
extern const u8 gMonFootprint_Beldum[];
-extern const u8 gMonFrontPic_Metang[];
-extern const u8 gMonPalette_Metang[];
-extern const u8 gMonBackPic_Metang[];
-extern const u8 gMonShinyPalette_Metang[];
-extern const u8 gMonStillFrontPic_Metang[];
+extern const u32 gMonFrontPic_Metang[];
+extern const u32 gMonPalette_Metang[];
+extern const u32 gMonBackPic_Metang[];
+extern const u32 gMonShinyPalette_Metang[];
+extern const u32 gMonStillFrontPic_Metang[];
extern const u8 gMonIcon_Metang[];
extern const u8 gMonFootprint_Metang[];
-extern const u8 gMonFrontPic_Metagross[];
-extern const u8 gMonPalette_Metagross[];
-extern const u8 gMonBackPic_Metagross[];
-extern const u8 gMonShinyPalette_Metagross[];
-extern const u8 gMonStillFrontPic_Metagross[];
+extern const u32 gMonFrontPic_Metagross[];
+extern const u32 gMonPalette_Metagross[];
+extern const u32 gMonBackPic_Metagross[];
+extern const u32 gMonShinyPalette_Metagross[];
+extern const u32 gMonStillFrontPic_Metagross[];
extern const u8 gMonIcon_Metagross[];
extern const u8 gMonFootprint_Metagross[];
-extern const u8 gMonFrontPic_Regirock[];
-extern const u8 gMonPalette_Regirock[];
-extern const u8 gMonBackPic_Regirock[];
-extern const u8 gMonShinyPalette_Regirock[];
-extern const u8 gMonStillFrontPic_Regirock[];
+extern const u32 gMonFrontPic_Regirock[];
+extern const u32 gMonPalette_Regirock[];
+extern const u32 gMonBackPic_Regirock[];
+extern const u32 gMonShinyPalette_Regirock[];
+extern const u32 gMonStillFrontPic_Regirock[];
extern const u8 gMonIcon_Regirock[];
extern const u8 gMonFootprint_Regirock[];
-extern const u8 gMonFrontPic_Regice[];
-extern const u8 gMonPalette_Regice[];
-extern const u8 gMonBackPic_Regice[];
-extern const u8 gMonShinyPalette_Regice[];
-extern const u8 gMonStillFrontPic_Regice[];
+extern const u32 gMonFrontPic_Regice[];
+extern const u32 gMonPalette_Regice[];
+extern const u32 gMonBackPic_Regice[];
+extern const u32 gMonShinyPalette_Regice[];
+extern const u32 gMonStillFrontPic_Regice[];
extern const u8 gMonIcon_Regice[];
extern const u8 gMonFootprint_Regice[];
-extern const u8 gMonFrontPic_Registeel[];
-extern const u8 gMonPalette_Registeel[];
-extern const u8 gMonBackPic_Registeel[];
-extern const u8 gMonShinyPalette_Registeel[];
-extern const u8 gMonStillFrontPic_Registeel[];
+extern const u32 gMonFrontPic_Registeel[];
+extern const u32 gMonPalette_Registeel[];
+extern const u32 gMonBackPic_Registeel[];
+extern const u32 gMonShinyPalette_Registeel[];
+extern const u32 gMonStillFrontPic_Registeel[];
extern const u8 gMonIcon_Registeel[];
extern const u8 gMonFootprint_Registeel[];
-extern const u8 gMonFrontPic_Kyogre[];
-extern const u8 gMonPalette_Kyogre[];
-extern const u8 gMonBackPic_Kyogre[];
-extern const u8 gMonShinyPalette_Kyogre[];
-extern const u8 gMonStillFrontPic_Kyogre[];
+extern const u32 gMonFrontPic_Kyogre[];
+extern const u32 gMonPalette_Kyogre[];
+extern const u32 gMonBackPic_Kyogre[];
+extern const u32 gMonShinyPalette_Kyogre[];
+extern const u32 gMonStillFrontPic_Kyogre[];
extern const u8 gMonIcon_Kyogre[];
extern const u8 gMonFootprint_Kyogre[];
-extern const u8 gMonFrontPic_Groudon[];
-extern const u8 gMonPalette_Groudon[];
-extern const u8 gMonBackPic_Groudon[];
-extern const u8 gMonShinyPalette_Groudon[];
-extern const u8 gMonStillFrontPic_Groudon[];
+extern const u32 gMonFrontPic_Groudon[];
+extern const u32 gMonPalette_Groudon[];
+extern const u32 gMonBackPic_Groudon[];
+extern const u32 gMonShinyPalette_Groudon[];
+extern const u32 gMonStillFrontPic_Groudon[];
extern const u8 gMonIcon_Groudon[];
extern const u8 gMonFootprint_Groudon[];
-extern const u8 gMonFrontPic_Rayquaza[];
-extern const u8 gMonPalette_Rayquaza[];
-extern const u8 gMonBackPic_Rayquaza[];
-extern const u8 gMonShinyPalette_Rayquaza[];
-extern const u8 gMonStillFrontPic_Rayquaza[];
+extern const u32 gMonFrontPic_Rayquaza[];
+extern const u32 gMonPalette_Rayquaza[];
+extern const u32 gMonBackPic_Rayquaza[];
+extern const u32 gMonShinyPalette_Rayquaza[];
+extern const u32 gMonStillFrontPic_Rayquaza[];
extern const u8 gMonIcon_Rayquaza[];
extern const u8 gMonFootprint_Rayquaza[];
-extern const u8 gMonFrontPic_Latias[];
-extern const u8 gMonPalette_Latias[];
-extern const u8 gMonBackPic_Latias[];
-extern const u8 gMonShinyPalette_Latias[];
-extern const u8 gMonStillFrontPic_Latias[];
+extern const u32 gMonFrontPic_Latias[];
+extern const u32 gMonPalette_Latias[];
+extern const u32 gMonBackPic_Latias[];
+extern const u32 gMonShinyPalette_Latias[];
+extern const u32 gMonStillFrontPic_Latias[];
extern const u8 gMonIcon_Latias[];
extern const u8 gMonFootprint_Latias[];
-extern const u8 gMonFrontPic_Latios[];
-extern const u8 gMonPalette_Latios[];
-extern const u8 gMonBackPic_Latios[];
-extern const u8 gMonShinyPalette_Latios[];
-extern const u8 gMonStillFrontPic_Latios[];
+extern const u32 gMonFrontPic_Latios[];
+extern const u32 gMonPalette_Latios[];
+extern const u32 gMonBackPic_Latios[];
+extern const u32 gMonShinyPalette_Latios[];
+extern const u32 gMonStillFrontPic_Latios[];
extern const u8 gMonIcon_Latios[];
extern const u8 gMonFootprint_Latios[];
-extern const u8 gMonFrontPic_Jirachi[];
-extern const u8 gMonPalette_Jirachi[];
-extern const u8 gMonBackPic_Jirachi[];
-extern const u8 gMonShinyPalette_Jirachi[];
-extern const u8 gMonStillFrontPic_Jirachi[];
+extern const u32 gMonFrontPic_Jirachi[];
+extern const u32 gMonPalette_Jirachi[];
+extern const u32 gMonBackPic_Jirachi[];
+extern const u32 gMonShinyPalette_Jirachi[];
+extern const u32 gMonStillFrontPic_Jirachi[];
extern const u8 gMonIcon_Jirachi[];
extern const u8 gMonFootprint_Jirachi[];
-extern const u8 gMonFrontPic_Deoxys[];
-extern const u8 gMonPalette_Deoxys[];
-extern const u8 gMonBackPic_Deoxys[];
-extern const u8 gMonShinyPalette_Deoxys[];
-extern const u8 gMonStillFrontPic_Deoxys[];
+extern const u32 gMonFrontPic_Deoxys[];
+extern const u32 gMonPalette_Deoxys[];
+extern const u32 gMonBackPic_Deoxys[];
+extern const u32 gMonShinyPalette_Deoxys[];
+extern const u32 gMonStillFrontPic_Deoxys[];
extern const u8 gMonIcon_Deoxys[];
extern const u8 gMonFootprint_Deoxys[];
-extern const u8 gMonFrontPic_Chimecho[];
-extern const u8 gMonPalette_Chimecho[];
-extern const u8 gMonBackPic_Chimecho[];
-extern const u8 gMonShinyPalette_Chimecho[];
-extern const u8 gMonStillFrontPic_Chimecho[];
+extern const u32 gMonFrontPic_Chimecho[];
+extern const u32 gMonPalette_Chimecho[];
+extern const u32 gMonBackPic_Chimecho[];
+extern const u32 gMonShinyPalette_Chimecho[];
+extern const u32 gMonStillFrontPic_Chimecho[];
extern const u8 gMonIcon_Chimecho[];
extern const u8 gMonFootprint_Chimecho[];
-extern const u8 gMonPic_Egg[];
-extern const u8 gMonPalette_Egg[];
-extern const u8 gMonFrontPic_Egg[];
-extern const u8 gMonStillFrontPic_Egg[];
+extern const u32 gMonPic_Egg[];
+extern const u32 gMonPalette_Egg[];
+extern const u32 gMonFrontPic_Egg[];
+extern const u32 gMonStillFrontPic_Egg[];
extern const u8 gMonIcon_Egg[];
-extern const u8 gMonFrontPic_UnownB[];
-extern const u8 gMonBackPic_UnownB[];
-extern const u8 gMonStillFrontPic_UnownB[];
+extern const u32 gMonFrontPic_UnownB[];
+extern const u32 gMonBackPic_UnownB[];
+extern const u32 gMonStillFrontPic_UnownB[];
extern const u8 gMonIcon_UnownB[];
-extern const u8 gMonFrontPic_UnownC[];
-extern const u8 gMonBackPic_UnownC[];
-extern const u8 gMonStillFrontPic_UnownC[];
+extern const u32 gMonFrontPic_UnownC[];
+extern const u32 gMonBackPic_UnownC[];
+extern const u32 gMonStillFrontPic_UnownC[];
extern const u8 gMonIcon_UnownC[];
-extern const u8 gMonFrontPic_UnownD[];
-extern const u8 gMonBackPic_UnownD[];
-extern const u8 gMonStillFrontPic_UnownD[];
+extern const u32 gMonFrontPic_UnownD[];
+extern const u32 gMonBackPic_UnownD[];
+extern const u32 gMonStillFrontPic_UnownD[];
extern const u8 gMonIcon_UnownD[];
-extern const u8 gMonFrontPic_UnownE[];
-extern const u8 gMonBackPic_UnownE[];
-extern const u8 gMonStillFrontPic_UnownE[];
+extern const u32 gMonFrontPic_UnownE[];
+extern const u32 gMonBackPic_UnownE[];
+extern const u32 gMonStillFrontPic_UnownE[];
extern const u8 gMonIcon_UnownE[];
-extern const u8 gMonFrontPic_UnownF[];
-extern const u8 gMonBackPic_UnownF[];
-extern const u8 gMonStillFrontPic_UnownF[];
+extern const u32 gMonFrontPic_UnownF[];
+extern const u32 gMonBackPic_UnownF[];
+extern const u32 gMonStillFrontPic_UnownF[];
extern const u8 gMonIcon_UnownF[];
-extern const u8 gMonFrontPic_UnownG[];
-extern const u8 gMonBackPic_UnownG[];
-extern const u8 gMonStillFrontPic_UnownG[];
+extern const u32 gMonFrontPic_UnownG[];
+extern const u32 gMonBackPic_UnownG[];
+extern const u32 gMonStillFrontPic_UnownG[];
extern const u8 gMonIcon_UnownG[];
-extern const u8 gMonFrontPic_UnownH[];
-extern const u8 gMonBackPic_UnownH[];
-extern const u8 gMonStillFrontPic_UnownH[];
+extern const u32 gMonFrontPic_UnownH[];
+extern const u32 gMonBackPic_UnownH[];
+extern const u32 gMonStillFrontPic_UnownH[];
extern const u8 gMonIcon_UnownH[];
-extern const u8 gMonFrontPic_UnownI[];
-extern const u8 gMonBackPic_UnownI[];
-extern const u8 gMonStillFrontPic_UnownI[];
+extern const u32 gMonFrontPic_UnownI[];
+extern const u32 gMonBackPic_UnownI[];
+extern const u32 gMonStillFrontPic_UnownI[];
extern const u8 gMonIcon_UnownI[];
-extern const u8 gMonFrontPic_UnownJ[];
-extern const u8 gMonBackPic_UnownJ[];
-extern const u8 gMonStillFrontPic_UnownJ[];
+extern const u32 gMonFrontPic_UnownJ[];
+extern const u32 gMonBackPic_UnownJ[];
+extern const u32 gMonStillFrontPic_UnownJ[];
extern const u8 gMonIcon_UnownJ[];
-extern const u8 gMonFrontPic_UnownK[];
-extern const u8 gMonBackPic_UnownK[];
-extern const u8 gMonStillFrontPic_UnownK[];
+extern const u32 gMonFrontPic_UnownK[];
+extern const u32 gMonBackPic_UnownK[];
+extern const u32 gMonStillFrontPic_UnownK[];
extern const u8 gMonIcon_UnownK[];
-extern const u8 gMonFrontPic_UnownL[];
-extern const u8 gMonBackPic_UnownL[];
-extern const u8 gMonStillFrontPic_UnownL[];
+extern const u32 gMonFrontPic_UnownL[];
+extern const u32 gMonBackPic_UnownL[];
+extern const u32 gMonStillFrontPic_UnownL[];
extern const u8 gMonIcon_UnownL[];
-extern const u8 gMonFrontPic_UnownM[];
-extern const u8 gMonBackPic_UnownM[];
-extern const u8 gMonStillFrontPic_UnownM[];
+extern const u32 gMonFrontPic_UnownM[];
+extern const u32 gMonBackPic_UnownM[];
+extern const u32 gMonStillFrontPic_UnownM[];
extern const u8 gMonIcon_UnownM[];
-extern const u8 gMonFrontPic_UnownN[];
-extern const u8 gMonBackPic_UnownN[];
-extern const u8 gMonStillFrontPic_UnownN[];
+extern const u32 gMonFrontPic_UnownN[];
+extern const u32 gMonBackPic_UnownN[];
+extern const u32 gMonStillFrontPic_UnownN[];
extern const u8 gMonIcon_UnownN[];
-extern const u8 gMonFrontPic_UnownO[];
-extern const u8 gMonBackPic_UnownO[];
-extern const u8 gMonStillFrontPic_UnownO[];
+extern const u32 gMonFrontPic_UnownO[];
+extern const u32 gMonBackPic_UnownO[];
+extern const u32 gMonStillFrontPic_UnownO[];
extern const u8 gMonIcon_UnownO[];
-extern const u8 gMonFrontPic_UnownP[];
-extern const u8 gMonBackPic_UnownP[];
-extern const u8 gMonStillFrontPic_UnownP[];
+extern const u32 gMonFrontPic_UnownP[];
+extern const u32 gMonBackPic_UnownP[];
+extern const u32 gMonStillFrontPic_UnownP[];
extern const u8 gMonIcon_UnownP[];
-extern const u8 gMonFrontPic_UnownQ[];
-extern const u8 gMonBackPic_UnownQ[];
-extern const u8 gMonStillFrontPic_UnownQ[];
+extern const u32 gMonFrontPic_UnownQ[];
+extern const u32 gMonBackPic_UnownQ[];
+extern const u32 gMonStillFrontPic_UnownQ[];
extern const u8 gMonIcon_UnownQ[];
-extern const u8 gMonFrontPic_UnownR[];
-extern const u8 gMonBackPic_UnownR[];
-extern const u8 gMonStillFrontPic_UnownR[];
+extern const u32 gMonFrontPic_UnownR[];
+extern const u32 gMonBackPic_UnownR[];
+extern const u32 gMonStillFrontPic_UnownR[];
extern const u8 gMonIcon_UnownR[];
-extern const u8 gMonFrontPic_UnownS[];
-extern const u8 gMonBackPic_UnownS[];
-extern const u8 gMonStillFrontPic_UnownS[];
+extern const u32 gMonFrontPic_UnownS[];
+extern const u32 gMonBackPic_UnownS[];
+extern const u32 gMonStillFrontPic_UnownS[];
extern const u8 gMonIcon_UnownS[];
-extern const u8 gMonFrontPic_UnownT[];
-extern const u8 gMonBackPic_UnownT[];
-extern const u8 gMonStillFrontPic_UnownT[];
+extern const u32 gMonFrontPic_UnownT[];
+extern const u32 gMonBackPic_UnownT[];
+extern const u32 gMonStillFrontPic_UnownT[];
extern const u8 gMonIcon_UnownT[];
-extern const u8 gMonFrontPic_UnownU[];
-extern const u8 gMonBackPic_UnownU[];
-extern const u8 gMonStillFrontPic_UnownU[];
+extern const u32 gMonFrontPic_UnownU[];
+extern const u32 gMonBackPic_UnownU[];
+extern const u32 gMonStillFrontPic_UnownU[];
extern const u8 gMonIcon_UnownU[];
-extern const u8 gMonFrontPic_UnownV[];
-extern const u8 gMonBackPic_UnownV[];
-extern const u8 gMonStillFrontPic_UnownV[];
+extern const u32 gMonFrontPic_UnownV[];
+extern const u32 gMonBackPic_UnownV[];
+extern const u32 gMonStillFrontPic_UnownV[];
extern const u8 gMonIcon_UnownV[];
-extern const u8 gMonFrontPic_UnownW[];
-extern const u8 gMonBackPic_UnownW[];
-extern const u8 gMonStillFrontPic_UnownW[];
+extern const u32 gMonFrontPic_UnownW[];
+extern const u32 gMonBackPic_UnownW[];
+extern const u32 gMonStillFrontPic_UnownW[];
extern const u8 gMonIcon_UnownW[];
-extern const u8 gMonFrontPic_UnownX[];
-extern const u8 gMonBackPic_UnownX[];
-extern const u8 gMonStillFrontPic_UnownX[];
+extern const u32 gMonFrontPic_UnownX[];
+extern const u32 gMonBackPic_UnownX[];
+extern const u32 gMonStillFrontPic_UnownX[];
extern const u8 gMonIcon_UnownX[];
-extern const u8 gMonFrontPic_UnownY[];
-extern const u8 gMonBackPic_UnownY[];
-extern const u8 gMonStillFrontPic_UnownY[];
+extern const u32 gMonFrontPic_UnownY[];
+extern const u32 gMonBackPic_UnownY[];
+extern const u32 gMonStillFrontPic_UnownY[];
extern const u8 gMonIcon_UnownY[];
-extern const u8 gMonFrontPic_UnownZ[];
-extern const u8 gMonBackPic_UnownZ[];
-extern const u8 gMonStillFrontPic_UnownZ[];
+extern const u32 gMonFrontPic_UnownZ[];
+extern const u32 gMonBackPic_UnownZ[];
+extern const u32 gMonStillFrontPic_UnownZ[];
extern const u8 gMonIcon_UnownZ[];
-extern const u8 gMonFrontPic_UnownExclamationMark[];
-extern const u8 gMonBackPic_UnownExclamationMark[];
-extern const u8 gMonStillFrontPic_UnownExclamationMark[];
+extern const u32 gMonFrontPic_UnownExclamationMark[];
+extern const u32 gMonBackPic_UnownExclamationMark[];
+extern const u32 gMonStillFrontPic_UnownExclamationMark[];
extern const u8 gMonIcon_UnownExclamationMark[];
-extern const u8 gMonFrontPic_UnownQuestionMark[];
-extern const u8 gMonStillFrontPic_UnownQuestionMark[];
-extern const u8 gMonBackPic_UnownQuestionMark[];
+extern const u32 gMonFrontPic_UnownQuestionMark[];
+extern const u32 gMonStillFrontPic_UnownQuestionMark[];
+extern const u32 gMonBackPic_UnownQuestionMark[];
extern const u8 gMonIcon_UnownQuestionMark[];
-extern const u8 gMonFrontPic_CircledQuestionMark[];
-extern const u8 gMonBackPic_CircledQuestionMark[];
-extern const u8 gMonPalette_CircledQuestionMark[];
-extern const u8 gMonShinyPalette_CircledQuestionMark[];
-extern const u8 gMonStillFrontPic_CircledQuestionMark[];
+extern const u32 gMonFrontPic_CircledQuestionMark[];
+extern const u32 gMonBackPic_CircledQuestionMark[];
+extern const u32 gMonPalette_CircledQuestionMark[];
+extern const u32 gMonShinyPalette_CircledQuestionMark[];
+extern const u32 gMonStillFrontPic_CircledQuestionMark[];
extern const u8 gMonIcon_QuestionMark[];
-extern const u8 gMonFrontPic_DoubleQuestionMark[];
-extern const u8 gMonBackPic_DoubleQuestionMark[];
-extern const u8 gMonPalette_DoubleQuestionMark[];
-extern const u8 gMonShinyPalette_DoubleQuestionMark[];
-extern const u8 gMonStillFrontPic_DoubleQuestionMark[];
+extern const u8 gMonFootprint_QuestionMark[];
+extern const u32 gMonFrontPic_DoubleQuestionMark[];
+extern const u32 gMonBackPic_DoubleQuestionMark[];
+extern const u32 gMonPalette_DoubleQuestionMark[];
+extern const u32 gMonShinyPalette_DoubleQuestionMark[];
+extern const u32 gMonStillFrontPic_DoubleQuestionMark[];
extern const u16 gMonIconPalettes[][16];
// trainer sprites
-extern const u8 gTrainerFrontPic_Hiker[];
-extern const u8 gTrainerFrontPic_AquaGruntM[];
-extern const u8 gTrainerFrontPic_PokemonBreederF[];
-extern const u8 gTrainerFrontPic_CoolTrainerM[];
-extern const u8 gTrainerFrontPic_BirdKeeper[];
-extern const u8 gTrainerFrontPic_Collector[];
-extern const u8 gTrainerFrontPic_AquaGruntF[];
-extern const u8 gTrainerFrontPic_SwimmerM[];
-extern const u8 gTrainerFrontPic_MagmaGruntM[];
-extern const u8 gTrainerFrontPic_ExpertM[];
-extern const u8 gTrainerFrontPic_AquaAdminM[];
-extern const u8 gTrainerFrontPic_BlackBelt[];
-extern const u8 gTrainerFrontPic_AquaAdminF[];
-extern const u8 gTrainerFrontPic_AquaLeaderArchie[];
-extern const u8 gTrainerFrontPic_HexManiac[];
-extern const u8 gTrainerFrontPic_AromaLady[];
-extern const u8 gTrainerFrontPic_RuinManiac[];
-extern const u8 gTrainerFrontPic_Interviewer[];
-extern const u8 gTrainerFrontPic_TuberF[];
-extern const u8 gTrainerFrontPic_TuberM[];
-extern const u8 gTrainerFrontPic_CoolTrainerF[];
-extern const u8 gTrainerFrontPic_Lady[];
-extern const u8 gTrainerFrontPic_Beauty[];
-extern const u8 gTrainerFrontPic_RichBoy[];
-extern const u8 gTrainerFrontPic_ExpertF[];
-extern const u8 gTrainerFrontPic_Pokemaniac[];
-extern const u8 gTrainerFrontPic_MagmaGruntF[];
-extern const u8 gTrainerFrontPic_Guitarist[];
-extern const u8 gTrainerFrontPic_Kindler[];
-extern const u8 gTrainerFrontPic_Camper[];
-extern const u8 gTrainerFrontPic_Picnicker[];
-extern const u8 gTrainerFrontPic_BugManiac[];
-extern const u8 gTrainerFrontPic_PokemonBreederM[];
-extern const u8 gTrainerFrontPic_PsychicM[];
-extern const u8 gTrainerFrontPic_PsychicF[];
-extern const u8 gTrainerFrontPic_Gentleman[];
-extern const u8 gTrainerFrontPic_EliteFourSidney[];
-extern const u8 gTrainerFrontPic_EliteFourPhoebe[];
-extern const u8 gTrainerFrontPic_EliteFourGlacia[];
-extern const u8 gTrainerFrontPic_EliteFourDrake[];
-extern const u8 gTrainerFrontPic_LeaderRoxanne[];
-extern const u8 gTrainerFrontPic_LeaderBrawly[];
-extern const u8 gTrainerFrontPic_LeaderWattson[];
-extern const u8 gTrainerFrontPic_LeaderFlannery[];
-extern const u8 gTrainerFrontPic_LeaderNorman[];
-extern const u8 gTrainerFrontPic_LeaderWinona[];
-extern const u8 gTrainerFrontPic_LeaderTateAndLiza[];
-extern const u8 gTrainerFrontPic_LeaderJuan[];
-extern const u8 gTrainerFrontPic_SchoolKidM[];
-extern const u8 gTrainerFrontPic_SchoolKidF[];
-extern const u8 gTrainerFrontPic_SrAndJr[];
-extern const u8 gTrainerFrontPic_WinstrateM[];
-extern const u8 gTrainerFrontPic_WinstrateF[];
-extern const u8 gTrainerFrontPic_Youngster[];
-extern const u8 gTrainerFrontPic_ChampionWallace[];
-extern const u8 gTrainerFrontPic_Fisherman[];
-extern const u8 gTrainerFrontPic_CyclingTriathleteM[];
-extern const u8 gTrainerFrontPic_CyclingTriathleteF[];
-extern const u8 gTrainerFrontPic_RunningTriathleteM[];
-extern const u8 gTrainerFrontPic_RunningTriathleteF[];
-extern const u8 gTrainerFrontPic_SwimmingTriathleteM[];
-extern const u8 gTrainerFrontPic_SwimmingTriathleteF[];
-extern const u8 gTrainerFrontPic_DragonTamer[];
-extern const u8 gTrainerFrontPic_NinjaBoy[];
-extern const u8 gTrainerFrontPic_BattleGirl[];
-extern const u8 gTrainerFrontPic_ParasolLady[];
-extern const u8 gTrainerFrontPic_SwimmerF[];
-extern const u8 gTrainerFrontPic_Twins[];
-extern const u8 gTrainerFrontPic_Sailor[];
-extern const u8 gTrainerFrontPic_MagmaAdmin[];
-extern const u8 gTrainerFrontPic_Wally[];
-extern const u8 gTrainerFrontPic_Brendan[];
-extern const u8 gTrainerFrontPic_May[];
-extern const u8 gTrainerFrontPic_BugCatcher[];
-extern const u8 gTrainerFrontPic_PokemonRangerM[];
-extern const u8 gTrainerFrontPic_PokemonRangerF[];
-extern const u8 gTrainerFrontPic_MagmaLeaderMaxie[];
-extern const u8 gTrainerFrontPic_Lass[];
-extern const u8 gTrainerFrontPic_YoungCouple[];
-extern const u8 gTrainerFrontPic_OldCouple[];
-extern const u8 gTrainerFrontPic_SisAndBro[];
-extern const u8 gTrainerFrontPic_Steven[];
-extern const u8 gTrainerFrontPic_SalonMaidenAnabel[];
-extern const u8 gTrainerFrontPic_DomeAceTucker[];
-extern const u8 gTrainerFrontPic_PalaceMavenSpenser[];
-extern const u8 gTrainerFrontPic_ArenaTycoonGreta[];
-extern const u8 gTrainerFrontPic_FactoryHeadNoland[];
-extern const u8 gTrainerFrontPic_PikeQueenLucy[];
-extern const u8 gTrainerFrontPic_PyramidKingBrandon[];
-extern const u8 gTrainerFrontPic_Red[];
-extern const u8 gTrainerFrontPic_Leaf[];
-extern const u8 gTrainerFrontPic_RubySapphireBrendan[];
-extern const u8 gTrainerFrontPic_RubySapphireMay[];
+extern const u32 gTrainerFrontPic_Hiker[];
+extern const u32 gTrainerFrontPic_AquaGruntM[];
+extern const u32 gTrainerFrontPic_PokemonBreederF[];
+extern const u32 gTrainerFrontPic_CoolTrainerM[];
+extern const u32 gTrainerFrontPic_BirdKeeper[];
+extern const u32 gTrainerFrontPic_Collector[];
+extern const u32 gTrainerFrontPic_AquaGruntF[];
+extern const u32 gTrainerFrontPic_SwimmerM[];
+extern const u32 gTrainerFrontPic_MagmaGruntM[];
+extern const u32 gTrainerFrontPic_ExpertM[];
+extern const u32 gTrainerFrontPic_AquaAdminM[];
+extern const u32 gTrainerFrontPic_BlackBelt[];
+extern const u32 gTrainerFrontPic_AquaAdminF[];
+extern const u32 gTrainerFrontPic_AquaLeaderArchie[];
+extern const u32 gTrainerFrontPic_HexManiac[];
+extern const u32 gTrainerFrontPic_AromaLady[];
+extern const u32 gTrainerFrontPic_RuinManiac[];
+extern const u32 gTrainerFrontPic_Interviewer[];
+extern const u32 gTrainerFrontPic_TuberF[];
+extern const u32 gTrainerFrontPic_TuberM[];
+extern const u32 gTrainerFrontPic_CoolTrainerF[];
+extern const u32 gTrainerFrontPic_Lady[];
+extern const u32 gTrainerFrontPic_Beauty[];
+extern const u32 gTrainerFrontPic_RichBoy[];
+extern const u32 gTrainerFrontPic_ExpertF[];
+extern const u32 gTrainerFrontPic_Pokemaniac[];
+extern const u32 gTrainerFrontPic_MagmaGruntF[];
+extern const u32 gTrainerFrontPic_Guitarist[];
+extern const u32 gTrainerFrontPic_Kindler[];
+extern const u32 gTrainerFrontPic_Camper[];
+extern const u32 gTrainerFrontPic_Picnicker[];
+extern const u32 gTrainerFrontPic_BugManiac[];
+extern const u32 gTrainerFrontPic_PokemonBreederM[];
+extern const u32 gTrainerFrontPic_PsychicM[];
+extern const u32 gTrainerFrontPic_PsychicF[];
+extern const u32 gTrainerFrontPic_Gentleman[];
+extern const u32 gTrainerFrontPic_EliteFourSidney[];
+extern const u32 gTrainerFrontPic_EliteFourPhoebe[];
+extern const u32 gTrainerFrontPic_EliteFourGlacia[];
+extern const u32 gTrainerFrontPic_EliteFourDrake[];
+extern const u32 gTrainerFrontPic_LeaderRoxanne[];
+extern const u32 gTrainerFrontPic_LeaderBrawly[];
+extern const u32 gTrainerFrontPic_LeaderWattson[];
+extern const u32 gTrainerFrontPic_LeaderFlannery[];
+extern const u32 gTrainerFrontPic_LeaderNorman[];
+extern const u32 gTrainerFrontPic_LeaderWinona[];
+extern const u32 gTrainerFrontPic_LeaderTateAndLiza[];
+extern const u32 gTrainerFrontPic_LeaderJuan[];
+extern const u32 gTrainerFrontPic_SchoolKidM[];
+extern const u32 gTrainerFrontPic_SchoolKidF[];
+extern const u32 gTrainerFrontPic_SrAndJr[];
+extern const u32 gTrainerFrontPic_PokefanM[];
+extern const u32 gTrainerFrontPic_PokefanF[];
+extern const u32 gTrainerFrontPic_Youngster[];
+extern const u32 gTrainerFrontPic_ChampionWallace[];
+extern const u32 gTrainerFrontPic_Fisherman[];
+extern const u32 gTrainerFrontPic_CyclingTriathleteM[];
+extern const u32 gTrainerFrontPic_CyclingTriathleteF[];
+extern const u32 gTrainerFrontPic_RunningTriathleteM[];
+extern const u32 gTrainerFrontPic_RunningTriathleteF[];
+extern const u32 gTrainerFrontPic_SwimmingTriathleteM[];
+extern const u32 gTrainerFrontPic_SwimmingTriathleteF[];
+extern const u32 gTrainerFrontPic_DragonTamer[];
+extern const u32 gTrainerFrontPic_NinjaBoy[];
+extern const u32 gTrainerFrontPic_BattleGirl[];
+extern const u32 gTrainerFrontPic_ParasolLady[];
+extern const u32 gTrainerFrontPic_SwimmerF[];
+extern const u32 gTrainerFrontPic_Twins[];
+extern const u32 gTrainerFrontPic_Sailor[];
+extern const u32 gTrainerFrontPic_MagmaAdmin[];
+extern const u32 gTrainerFrontPic_Wally[];
+extern const u32 gTrainerFrontPic_Brendan[];
+extern const u32 gTrainerFrontPic_May[];
+extern const u32 gTrainerFrontPic_BugCatcher[];
+extern const u32 gTrainerFrontPic_PokemonRangerM[];
+extern const u32 gTrainerFrontPic_PokemonRangerF[];
+extern const u32 gTrainerFrontPic_MagmaLeaderMaxie[];
+extern const u32 gTrainerFrontPic_Lass[];
+extern const u32 gTrainerFrontPic_YoungCouple[];
+extern const u32 gTrainerFrontPic_OldCouple[];
+extern const u32 gTrainerFrontPic_SisAndBro[];
+extern const u32 gTrainerFrontPic_Steven[];
+extern const u32 gTrainerFrontPic_SalonMaidenAnabel[];
+extern const u32 gTrainerFrontPic_DomeAceTucker[];
+extern const u32 gTrainerFrontPic_PalaceMavenSpenser[];
+extern const u32 gTrainerFrontPic_ArenaTycoonGreta[];
+extern const u32 gTrainerFrontPic_FactoryHeadNoland[];
+extern const u32 gTrainerFrontPic_PikeQueenLucy[];
+extern const u32 gTrainerFrontPic_PyramidKingBrandon[];
+extern const u32 gTrainerFrontPic_Red[];
+extern const u32 gTrainerFrontPic_Leaf[];
+extern const u32 gTrainerFrontPic_RubySapphireBrendan[];
+extern const u32 gTrainerFrontPic_RubySapphireMay[];
-extern const u8 gTrainerPalette_Hiker[];
-extern const u8 gTrainerPalette_AquaGruntM[];
-extern const u8 gTrainerPalette_PokemonBreederF[];
-extern const u8 gTrainerPalette_CoolTrainerM[];
-extern const u8 gTrainerPalette_BirdKeeper[];
-extern const u8 gTrainerPalette_Collector[];
-extern const u8 gTrainerPalette_AquaGruntF[];
-extern const u8 gTrainerPalette_SwimmerM[];
-extern const u8 gTrainerPalette_MagmaGruntM[];
-extern const u8 gTrainerPalette_ExpertM[];
-extern const u8 gTrainerPalette_AquaAdminM[];
-extern const u8 gTrainerPalette_BlackBelt[];
-extern const u8 gTrainerPalette_AquaAdminF[];
-extern const u8 gTrainerPalette_AquaLeaderArchie[];
-extern const u8 gTrainerPalette_HexManiac[];
-extern const u8 gTrainerPalette_AromaLady[];
-extern const u8 gTrainerPalette_RuinManiac[];
-extern const u8 gTrainerPalette_Interviewer[];
-extern const u8 gTrainerPalette_TuberF[];
-extern const u8 gTrainerPalette_TuberM[];
-extern const u8 gTrainerPalette_CoolTrainerF[];
-extern const u8 gTrainerPalette_Lady[];
-extern const u8 gTrainerPalette_Beauty[];
-extern const u8 gTrainerPalette_RichBoy[];
-extern const u8 gTrainerPalette_ExpertF[];
-extern const u8 gTrainerPalette_Pokemaniac[];
-extern const u8 gTrainerPalette_MagmaGruntF[];
-extern const u8 gTrainerPalette_Guitarist[];
-extern const u8 gTrainerPalette_Kindler[];
-extern const u8 gTrainerPalette_Camper[];
-extern const u8 gTrainerPalette_Picnicker[];
-extern const u8 gTrainerPalette_BugManiac[];
-extern const u8 gTrainerPalette_PokemonBreederM[];
-extern const u8 gTrainerPalette_PsychicM[];
-extern const u8 gTrainerPalette_PsychicF[];
-extern const u8 gTrainerPalette_Gentleman[];
-extern const u8 gTrainerPalette_EliteFourSidney[];
-extern const u8 gTrainerPalette_EliteFourPhoebe[];
-extern const u8 gTrainerPalette_EliteFourGlacia[];
-extern const u8 gTrainerPalette_EliteFourDrake[];
-extern const u8 gTrainerPalette_LeaderRoxanne[];
-extern const u8 gTrainerPalette_LeaderBrawly[];
-extern const u8 gTrainerPalette_LeaderWattson[];
-extern const u8 gTrainerPalette_LeaderFlannery[];
-extern const u8 gTrainerPalette_LeaderNorman[];
-extern const u8 gTrainerPalette_LeaderWinona[];
-extern const u8 gTrainerPalette_LeaderTateAndLiza[];
-extern const u8 gTrainerPalette_LeaderJuan[];
-extern const u8 gTrainerPalette_SchoolKidM[];
-extern const u8 gTrainerPalette_SchoolKidF[];
-extern const u8 gTrainerPalette_SrAndJr[];
-extern const u8 gTrainerPalette_WinstrateM[];
-extern const u8 gTrainerPalette_WinstrateF[];
-extern const u8 gTrainerPalette_Youngster[];
-extern const u8 gTrainerPalette_ChampionWallace[];
-extern const u8 gTrainerPalette_Fisherman[];
-extern const u8 gTrainerPalette_CyclingTriathleteM[];
-extern const u8 gTrainerPalette_CyclingTriathleteF[];
-extern const u8 gTrainerPalette_RunningTriathleteM[];
-extern const u8 gTrainerPalette_RunningTriathleteF[];
-extern const u8 gTrainerPalette_SwimmingTriathleteM[];
-extern const u8 gTrainerPalette_SwimmingTriathleteF[];
-extern const u8 gTrainerPalette_DragonTamer[];
-extern const u8 gTrainerPalette_NinjaBoy[];
-extern const u8 gTrainerPalette_BattleGirl[];
-extern const u8 gTrainerPalette_ParasolLady[];
-extern const u8 gTrainerPalette_SwimmerF[];
-extern const u8 gTrainerPalette_Twins[];
-extern const u8 gTrainerPalette_Sailor[];
-extern const u8 gTrainerPalette_MagmaAdmin[];
-extern const u8 gTrainerPalette_Wally[];
-extern const u8 gTrainerPalette_Brendan[];
-extern const u8 gTrainerPalette_May[];
-extern const u8 gTrainerPalette_BugCatcher[];
-extern const u8 gTrainerPalette_PokemonRangerM[];
-extern const u8 gTrainerPalette_PokemonRangerF[];
-extern const u8 gTrainerPalette_MagmaLeaderMaxie[];
-extern const u8 gTrainerPalette_Lass[];
-extern const u8 gTrainerPalette_YoungCouple[];
-extern const u8 gTrainerPalette_OldCouple[];
-extern const u8 gTrainerPalette_SisAndBro[];
-extern const u8 gTrainerPalette_Steven[];
-extern const u8 gTrainerPalette_SalonMaidenAnabel[];
-extern const u8 gTrainerPalette_DomeAceTucker[];
-extern const u8 gTrainerPalette_PalaceMavenSpenser[];
-extern const u8 gTrainerPalette_ArenaTycoonGreta[];
-extern const u8 gTrainerPalette_FactoryHeadNoland[];
-extern const u8 gTrainerPalette_PikeQueenLucy[];
-extern const u8 gTrainerPalette_PyramidKingBrandon[];
-extern const u8 gTrainerPalette_Red[];
-extern const u8 gTrainerPalette_Leaf[];
-extern const u8 gTrainerPalette_RubySapphireBrendan[];
-extern const u8 gTrainerPalette_RubySapphireMay[];
+extern const u32 gTrainerPalette_Hiker[];
+extern const u32 gTrainerPalette_AquaGruntM[];
+extern const u32 gTrainerPalette_PokemonBreederF[];
+extern const u32 gTrainerPalette_CoolTrainerM[];
+extern const u32 gTrainerPalette_BirdKeeper[];
+extern const u32 gTrainerPalette_Collector[];
+extern const u32 gTrainerPalette_AquaGruntF[];
+extern const u32 gTrainerPalette_SwimmerM[];
+extern const u32 gTrainerPalette_MagmaGruntM[];
+extern const u32 gTrainerPalette_ExpertM[];
+extern const u32 gTrainerPalette_AquaAdminM[];
+extern const u32 gTrainerPalette_BlackBelt[];
+extern const u32 gTrainerPalette_AquaAdminF[];
+extern const u32 gTrainerPalette_AquaLeaderArchie[];
+extern const u32 gTrainerPalette_HexManiac[];
+extern const u32 gTrainerPalette_AromaLady[];
+extern const u32 gTrainerPalette_RuinManiac[];
+extern const u32 gTrainerPalette_Interviewer[];
+extern const u32 gTrainerPalette_TuberF[];
+extern const u32 gTrainerPalette_TuberM[];
+extern const u32 gTrainerPalette_CoolTrainerF[];
+extern const u32 gTrainerPalette_Lady[];
+extern const u32 gTrainerPalette_Beauty[];
+extern const u32 gTrainerPalette_RichBoy[];
+extern const u32 gTrainerPalette_ExpertF[];
+extern const u32 gTrainerPalette_Pokemaniac[];
+extern const u32 gTrainerPalette_MagmaGruntF[];
+extern const u32 gTrainerPalette_Guitarist[];
+extern const u32 gTrainerPalette_Kindler[];
+extern const u32 gTrainerPalette_Camper[];
+extern const u32 gTrainerPalette_Picnicker[];
+extern const u32 gTrainerPalette_BugManiac[];
+extern const u32 gTrainerPalette_PokemonBreederM[];
+extern const u32 gTrainerPalette_PsychicM[];
+extern const u32 gTrainerPalette_PsychicF[];
+extern const u32 gTrainerPalette_Gentleman[];
+extern const u32 gTrainerPalette_EliteFourSidney[];
+extern const u32 gTrainerPalette_EliteFourPhoebe[];
+extern const u32 gTrainerPalette_EliteFourGlacia[];
+extern const u32 gTrainerPalette_EliteFourDrake[];
+extern const u32 gTrainerPalette_LeaderRoxanne[];
+extern const u32 gTrainerPalette_LeaderBrawly[];
+extern const u32 gTrainerPalette_LeaderWattson[];
+extern const u32 gTrainerPalette_LeaderFlannery[];
+extern const u32 gTrainerPalette_LeaderNorman[];
+extern const u32 gTrainerPalette_LeaderWinona[];
+extern const u32 gTrainerPalette_LeaderTateAndLiza[];
+extern const u32 gTrainerPalette_LeaderJuan[];
+extern const u32 gTrainerPalette_SchoolKidM[];
+extern const u32 gTrainerPalette_SchoolKidF[];
+extern const u32 gTrainerPalette_SrAndJr[];
+extern const u32 gTrainerPalette_PokefanM[];
+extern const u32 gTrainerPalette_PokefanF[];
+extern const u32 gTrainerPalette_Youngster[];
+extern const u32 gTrainerPalette_ChampionWallace[];
+extern const u32 gTrainerPalette_Fisherman[];
+extern const u32 gTrainerPalette_CyclingTriathleteM[];
+extern const u32 gTrainerPalette_CyclingTriathleteF[];
+extern const u32 gTrainerPalette_RunningTriathleteM[];
+extern const u32 gTrainerPalette_RunningTriathleteF[];
+extern const u32 gTrainerPalette_SwimmingTriathleteM[];
+extern const u32 gTrainerPalette_SwimmingTriathleteF[];
+extern const u32 gTrainerPalette_DragonTamer[];
+extern const u32 gTrainerPalette_NinjaBoy[];
+extern const u32 gTrainerPalette_BattleGirl[];
+extern const u32 gTrainerPalette_ParasolLady[];
+extern const u32 gTrainerPalette_SwimmerF[];
+extern const u32 gTrainerPalette_Twins[];
+extern const u32 gTrainerPalette_Sailor[];
+extern const u32 gTrainerPalette_MagmaAdmin[];
+extern const u32 gTrainerPalette_Wally[];
+extern const u32 gTrainerPalette_Brendan[];
+extern const u32 gTrainerPalette_May[];
+extern const u32 gTrainerPalette_BugCatcher[];
+extern const u32 gTrainerPalette_PokemonRangerM[];
+extern const u32 gTrainerPalette_PokemonRangerF[];
+extern const u32 gTrainerPalette_MagmaLeaderMaxie[];
+extern const u32 gTrainerPalette_Lass[];
+extern const u32 gTrainerPalette_YoungCouple[];
+extern const u32 gTrainerPalette_OldCouple[];
+extern const u32 gTrainerPalette_SisAndBro[];
+extern const u32 gTrainerPalette_Steven[];
+extern const u32 gTrainerPalette_SalonMaidenAnabel[];
+extern const u32 gTrainerPalette_DomeAceTucker[];
+extern const u32 gTrainerPalette_PalaceMavenSpenser[];
+extern const u32 gTrainerPalette_ArenaTycoonGreta[];
+extern const u32 gTrainerPalette_FactoryHeadNoland[];
+extern const u32 gTrainerPalette_PikeQueenLucy[];
+extern const u32 gTrainerPalette_PyramidKingBrandon[];
+extern const u32 gTrainerPalette_Red[];
+extern const u32 gTrainerPalette_Leaf[];
+extern const u32 gTrainerPalette_RubySapphireBrendan[];
+extern const u32 gTrainerPalette_RubySapphireMay[];
extern const u8 gTrainerBackPic_Brendan[];
extern const u8 gTrainerBackPic_May[];
@@ -3065,794 +3066,790 @@ extern const u8 gTrainerBackPic_RubySapphireMay[];
extern const u8 gTrainerBackPic_Wally[];
extern const u8 gTrainerBackPic_Steven[];
-extern const u8 gTrainerBackPicPalette_Red[];
-extern const u8 gTrainerBackPicPalette_Leaf[];
+extern const u32 gTrainerBackPicPalette_Red[];
+extern const u32 gTrainerBackPicPalette_Leaf[];
// pokeblock
-extern const u8 gMenuPokeblock_Gfx[];
+extern const u32 gMenuPokeblock_Gfx[];
extern const u8 gMenuPokeblock_Pal[];
-extern const u8 gMenuPokeblock_Tilemap[];
-extern const u8 gMenuPokeblockDevice_Gfx[];
-extern const u8 gMenuPokeblockDevice_Pal[];
-extern const u8 gPokeblockRed_Pal[];
-extern const u8 gPokeblockBlue_Pal[];
-extern const u8 gPokeblockPink_Pal[];
-extern const u8 gPokeblockGreen_Pal[];
-extern const u8 gPokeblockYellow_Pal[];
-extern const u8 gPokeblockPurple_Pal[];
-extern const u8 gPokeblockIndigo_Pal[];
-extern const u8 gPokeblockBrown_Pal[];
-extern const u8 gPokeblockLiteBlue_Pal[];
-extern const u8 gPokeblockOlive_Pal[];
-extern const u8 gPokeblockGray_Pal[];
-extern const u8 gPokeblockBlack_Pal[];
-extern const u8 gPokeblockWhite_Pal[];
-extern const u8 gPokeblockGold_Pal[];
-extern const u8 gPokeblock_Gfx[];
+extern const u32 gMenuPokeblock_Tilemap[];
+extern const u32 gMenuPokeblockDevice_Gfx[];
+extern const u32 gMenuPokeblockDevice_Pal[];
+extern const u32 gPokeblockRed_Pal[];
+extern const u32 gPokeblockBlue_Pal[];
+extern const u32 gPokeblockPink_Pal[];
+extern const u32 gPokeblockGreen_Pal[];
+extern const u32 gPokeblockYellow_Pal[];
+extern const u32 gPokeblockPurple_Pal[];
+extern const u32 gPokeblockIndigo_Pal[];
+extern const u32 gPokeblockBrown_Pal[];
+extern const u32 gPokeblockLiteBlue_Pal[];
+extern const u32 gPokeblockOlive_Pal[];
+extern const u32 gPokeblockGray_Pal[];
+extern const u32 gPokeblockBlack_Pal[];
+extern const u32 gPokeblockWhite_Pal[];
+extern const u32 gPokeblockGold_Pal[];
+extern const u32 gPokeblock_Gfx[];
-extern const u8 gItemIcon_QuestionMark[];
-extern const u8 gItemIconPalette_QuestionMark[];
-extern const u8 gUnknown_08DB7AA0[];
-extern const u8 gUnknown_08DB7B34[];
-extern const u8 gUnknown_08DB7B5C[];
-extern const u8 gUnknown_08DB7BEC[];
-extern const u8 gUnknown_08DB7C08[];
-extern const u8 gUnknown_08DB7CE8[];
-extern const u8 gUnknown_08DB7D08[];
-extern const u8 gUnknown_08DB7DCC[];
-extern const u8 gUnknown_08DB7DF4[];
-extern const u8 gUnknown_08DB7EA0[];
-extern const u8 gUnknown_08DB7EC4[];
-extern const u8 gUnknown_08DB7F60[];
-extern const u8 gUnknown_08DB7F7C[];
-extern const u8 gUnknown_08DB8070[];
-extern const u8 gUnknown_08DB808C[];
-extern const u8 gUnknown_08DB8138[];
-extern const u8 gUnknown_08DB8160[];
-extern const u8 gUnknown_08DB8218[];
-extern const u8 gUnknown_08DB823C[];
-extern const u8 gUnknown_08DB8300[];
-extern const u8 gUnknown_08DB8328[];
-extern const u8 gUnknown_08DB8430[];
-extern const u8 gUnknown_08DB8458[];
-extern const u8 gUnknown_08DB8528[];
-extern const u8 gUnknown_08DB854C[];
-extern const u8 gUnknown_08DB862C[];
-extern const u8 gUnknown_08DB8654[];
-extern const u8 gUnknown_08DB86C4[];
-extern const u8 gUnknown_08DB86E0[];
-extern const u8 gUnknown_08DB8750[];
-extern const u8 gUnknown_08DB876C[];
-extern const u8 gUnknown_08DB87DC[];
-extern const u8 gUnknown_08DB87F8[];
-extern const u8 gUnknown_08DB88D8[];
-extern const u8 gUnknown_08DB8900[];
-extern const u8 gUnknown_08DB89E0[];
-extern const u8 gUnknown_08DB8A08[];
-extern const u8 gUnknown_08DB8A68[];
-extern const u8 gUnknown_08DB8A84[];
-extern const u8 gUnknown_08DB8B40[];
-extern const u8 gUnknown_08DB8B68[];
-extern const u8 gUnknown_08DB8C40[];
-extern const u8 gUnknown_08DB8C5C[];
-extern const u8 gUnknown_08DB8CF4[];
-extern const u8 gUnknown_08DB8D18[];
-extern const u8 gUnknown_08DB8DB0[];
-extern const u8 gUnknown_08DB8DD4[];
-extern const u8 gUnknown_08DB8E80[];
-extern const u8 gUnknown_08DB8EA0[];
-extern const u8 gUnknown_08DB8F58[];
-extern const u8 gUnknown_08DB8F7C[];
-extern const u8 gUnknown_08DB9038[];
-extern const u8 gUnknown_08DB9058[];
-extern const u8 gUnknown_08DB9130[];
-extern const u8 gUnknown_08DB9154[];
-extern const u8 gUnknown_08DB9218[];
-extern const u8 gUnknown_08DB9234[];
-extern const u8 gUnknown_08DB92FC[];
-extern const u8 gUnknown_08DB931C[];
-extern const u8 gUnknown_08DB93E8[];
-extern const u8 gUnknown_08DB940C[];
-extern const u8 gUnknown_08DB94CC[];
-extern const u8 gUnknown_08DB94E8[];
-extern const u8 gUnknown_08DB95AC[];
-extern const u8 gUnknown_08DB95D0[];
-extern const u8 gUnknown_08DB96C4[];
-extern const u8 gUnknown_08DB96EC[];
-extern const u8 gUnknown_08DB97F4[];
-extern const u8 gUnknown_08DB981C[];
-extern const u8 gUnknown_08DB9908[];
-extern const u8 gUnknown_08DB9930[];
-extern const u8 gUnknown_08DB9A54[];
-extern const u8 gUnknown_08DB9A7C[];
-extern const u8 gUnknown_08DB9B7C[];
-extern const u8 gUnknown_08DB9BA4[];
-extern const u8 gUnknown_08DB9CB0[];
-extern const u8 gUnknown_08DB9CD8[];
-extern const u8 gUnknown_08DB9DAC[];
-extern const u8 gUnknown_08DB9DD4[];
-extern const u8 gUnknown_08DB9EE4[];
-extern const u8 gUnknown_08DB9F08[];
-extern const u8 gUnknown_08DB9FFC[];
-extern const u8 gUnknown_08DBA020[];
-extern const u8 gUnknown_08DBA12C[];
-extern const u8 gWallclock_Gfx[];
+extern const u32 gItemIcon_QuestionMark[];
+extern const u32 gItemIconPalette_QuestionMark[];
+extern const u32 gUnknown_08DB7AA0[];
+extern const u32 gUnknown_08DB7B34[];
+extern const u32 gUnknown_08DB7B5C[];
+extern const u32 gUnknown_08DB7BEC[];
+extern const u32 gUnknown_08DB7C08[];
+extern const u32 gUnknown_08DB7CE8[];
+extern const u32 gUnknown_08DB7D08[];
+extern const u32 gUnknown_08DB7DCC[];
+extern const u32 gUnknown_08DB7DF4[];
+extern const u32 gUnknown_08DB7EA0[];
+extern const u32 gUnknown_08DB7EC4[];
+extern const u32 gUnknown_08DB7F60[];
+extern const u32 gUnknown_08DB7F7C[];
+extern const u32 gUnknown_08DB8070[];
+extern const u32 gUnknown_08DB808C[];
+extern const u32 gUnknown_08DB8138[];
+extern const u32 gUnknown_08DB8160[];
+extern const u32 gUnknown_08DB8218[];
+extern const u32 gUnknown_08DB823C[];
+extern const u32 gUnknown_08DB8300[];
+extern const u32 gUnknown_08DB8328[];
+extern const u32 gUnknown_08DB8430[];
+extern const u32 gUnknown_08DB8458[];
+extern const u32 gUnknown_08DB8528[];
+extern const u32 gUnknown_08DB854C[];
+extern const u32 gUnknown_08DB862C[];
+extern const u32 gUnknown_08DB8654[];
+extern const u32 gUnknown_08DB86C4[];
+extern const u32 gUnknown_08DB86E0[];
+extern const u32 gUnknown_08DB8750[];
+extern const u32 gUnknown_08DB876C[];
+extern const u32 gUnknown_08DB87DC[];
+extern const u32 gUnknown_08DB87F8[];
+extern const u32 gUnknown_08DB88D8[];
+extern const u32 gUnknown_08DB8900[];
+extern const u32 gUnknown_08DB89E0[];
+extern const u32 gUnknown_08DB8A08[];
+extern const u32 gUnknown_08DB8A68[];
+extern const u32 gUnknown_08DB8A84[];
+extern const u32 gUnknown_08DB8B40[];
+extern const u32 gUnknown_08DB8B68[];
+extern const u32 gUnknown_08DB8C40[];
+extern const u32 gUnknown_08DB8C5C[];
+extern const u32 gUnknown_08DB8CF4[];
+extern const u32 gUnknown_08DB8D18[];
+extern const u32 gUnknown_08DB8DB0[];
+extern const u32 gUnknown_08DB8DD4[];
+extern const u32 gUnknown_08DB8E80[];
+extern const u32 gUnknown_08DB8EA0[];
+extern const u32 gUnknown_08DB8F58[];
+extern const u32 gUnknown_08DB8F7C[];
+extern const u32 gUnknown_08DB9038[];
+extern const u32 gUnknown_08DB9058[];
+extern const u32 gUnknown_08DB9130[];
+extern const u32 gUnknown_08DB9154[];
+extern const u32 gUnknown_08DB9218[];
+extern const u32 gUnknown_08DB9234[];
+extern const u32 gUnknown_08DB92FC[];
+extern const u32 gUnknown_08DB931C[];
+extern const u32 gUnknown_08DB93E8[];
+extern const u32 gUnknown_08DB940C[];
+extern const u32 gUnknown_08DB94CC[];
+extern const u32 gUnknown_08DB94E8[];
+extern const u32 gUnknown_08DB95AC[];
+extern const u32 gUnknown_08DB95D0[];
+extern const u32 gUnknown_08DB96C4[];
+extern const u32 gUnknown_08DB96EC[];
+extern const u32 gUnknown_08DB97F4[];
+extern const u32 gUnknown_08DB981C[];
+extern const u32 gUnknown_08DB9908[];
+extern const u32 gUnknown_08DB9930[];
+extern const u32 gUnknown_08DB9A54[];
+extern const u32 gUnknown_08DB9A7C[];
+extern const u32 gUnknown_08DB9B7C[];
+extern const u32 gUnknown_08DB9BA4[];
+extern const u32 gUnknown_08DB9CB0[];
+extern const u32 gUnknown_08DB9CD8[];
+extern const u32 gUnknown_08DB9DAC[];
+extern const u32 gUnknown_08DB9DD4[];
+extern const u32 gUnknown_08DB9EE4[];
+extern const u32 gUnknown_08DB9F08[];
+extern const u32 gUnknown_08DB9FFC[];
+extern const u32 gUnknown_08DBA020[];
+extern const u32 gUnknown_08DBA12C[];
+extern const u32 gWallclock_Gfx[];
extern const u16 gWallclockMale_Pal[];
extern const u16 gWallclockFemale_Pal[];
-extern const u8 gUnknown_08DCC648[];
-extern const u8 gUnknown_08DCC908[];
-extern const u8 gBerryFixGameboy_Gfx[];
-extern const u8 gBerryFixGameboy_Tilemap[];
+extern const u32 gUnknown_08DCC648[];
+extern const u32 gUnknown_08DCC908[];
+extern const u32 gBerryFixGameboy_Gfx[];
+extern const u32 gBerryFixGameboy_Tilemap[];
extern const u16 gBerryFixGameboy_Pal[];
-extern const u8 gBerryFixGameboyLogo_Gfx[];
-extern const u8 gBerryFixGameboyLogo_Tilemap[];
+extern const u32 gBerryFixGameboyLogo_Gfx[];
+extern const u32 gBerryFixGameboyLogo_Tilemap[];
extern const u16 gBerryFixGameboyLogo_Pal[];
-extern const u8 gBerryFixGbaTransfer_Gfx[];
-extern const u8 gBerryFixGbaTransfer_Tilemap[];
+extern const u32 gBerryFixGbaTransfer_Gfx[];
+extern const u32 gBerryFixGbaTransfer_Tilemap[];
extern const u16 gBerryFixGbaTransfer_Pal[];
-extern const u8 gBerryFixGbaTransferHighlight_Gfx[];
-extern const u8 gBerryFixGbaTransferHighlight_Tilemap[];
+extern const u32 gBerryFixGbaTransferHighlight_Gfx[];
+extern const u32 gBerryFixGbaTransferHighlight_Tilemap[];
extern const u16 gBerryFixGbaTransferHighlight_Pal[];
-extern const u8 gBerryFixGbaTransferError_Gfx[];
-extern const u8 gBerryFixGbaTransferError_Tilemap[];
+extern const u32 gBerryFixGbaTransferError_Gfx[];
+extern const u32 gBerryFixGbaTransferError_Tilemap[];
extern const u16 gBerryFixGbaTransferError_Pal[];
-extern const u8 gBerryFixWindow_Gfx[];
-extern const u8 gBerryFixWindow_Tilemap[];
+extern const u32 gBerryFixWindow_Gfx[];
+extern const u32 gBerryFixWindow_Tilemap[];
extern const u16 gBerryFixWindow_Pal[];
-extern const u8 gBattleTextboxTiles[];
-extern const u8 gBattleTextboxTilemap[];
-extern const u8 gBattleTextboxPalette[];
-extern const u8 gUnknown_08D778F0[];
-extern const u8 gUnknown_08D77B0C[];
-extern const u8 gUnknown_08D77AE4[];
-extern const u8 gUnknown_08D779D8[];
-extern const u8 gUnknown_08D857A8[];
-extern const u8 gUnknown_08D85A1C[];
-extern const u8 gUnknown_08D85600[];
+extern const u32 gBattleTextboxTiles[];
+extern const u32 gBattleTextboxTilemap[];
+extern const u32 gBattleTextboxPalette[];
+extern const u32 gUnknown_08D778F0[];
+extern const u32 gUnknown_08D77B0C[];
+extern const u32 gUnknown_08D77AE4[];
+extern const u32 gUnknown_08D779D8[];
+extern const u32 gUnknown_08D857A8[];
+extern const u32 gUnknown_08D85A1C[];
// battle terrains
-extern const u8 gBattleTerrainTiles_TallGrass[];
-extern const u8 gBattleTerrainTilemap_TallGrass[];
-extern const u8 gBattleTerrainAnimTiles_TallGrass[];
-extern const u8 gBattleTerrainAnimTilemap_TallGrass[];
-extern const u8 gBattleTerrainPalette_TallGrass[];
-extern const u8 gBattleTerrainTiles_LongGrass[];
-extern const u8 gBattleTerrainTilemap_LongGrass[];
-extern const u8 gBattleTerrainAnimTiles_LongGrass[];
-extern const u8 gBattleTerrainAnimTilemap_LongGrass[];
-extern const u8 gBattleTerrainPalette_LongGrass[];
-extern const u8 gBattleTerrainTiles_Sand[];
-extern const u8 gBattleTerrainTilemap_Sand[];
-extern const u8 gBattleTerrainAnimTiles_Sand[];
-extern const u8 gBattleTerrainAnimTilemap_Sand[];
-extern const u8 gBattleTerrainPalette_Sand[];
-extern const u8 gBattleTerrainTiles_Underwater[];
-extern const u8 gBattleTerrainTilemap_Underwater[];
-extern const u8 gBattleTerrainAnimTiles_Underwater[];
-extern const u8 gBattleTerrainAnimTilemap_Underwater[];
-extern const u8 gBattleTerrainPalette_Underwater[];
-extern const u8 gBattleTerrainTiles_Water[];
-extern const u8 gBattleTerrainTilemap_Water[];
-extern const u8 gBattleTerrainAnimTiles_Water[];
-extern const u8 gBattleTerrainAnimTilemap_Water[];
-extern const u8 gBattleTerrainPalette_Water[];
-extern const u8 gBattleTerrainTiles_PondWater[];
-extern const u8 gBattleTerrainTilemap_PondWater[];
-extern const u8 gBattleTerrainAnimTiles_PondWater[];
-extern const u8 gBattleTerrainAnimTilemap_PondWater[];
-extern const u8 gBattleTerrainPalette_PondWater[];
-extern const u8 gBattleTerrainTiles_Rock[];
-extern const u8 gBattleTerrainTilemap_Rock[];
-extern const u8 gBattleTerrainAnimTiles_Rock[];
-extern const u8 gBattleTerrainAnimTilemap_Rock[];
-extern const u8 gBattleTerrainPalette_Rock[];
-extern const u8 gBattleTerrainTiles_Cave[];
-extern const u8 gBattleTerrainTilemap_Cave[];
-extern const u8 gBattleTerrainAnimTiles_Cave[];
-extern const u8 gBattleTerrainAnimTilemap_Cave[];
-extern const u8 gBattleTerrainPalette_Cave[];
-extern const u8 gBattleTerrainTiles_Building[];
-extern const u8 gBattleTerrainTilemap_Building[];
-extern const u8 gBattleTerrainAnimTiles_Building[];
-extern const u8 gBattleTerrainAnimTilemap_Building[];
-extern const u8 gBattleTerrainPalette_Building[];
-extern const u8 gBattleTerrainPalette_Plain[];
-extern const u8 gBattleTerrainPalette_Frontier[];
-extern const u8 gBattleTerrainTiles_Stadium[];
-extern const u8 gBattleTerrainTilemap_Stadium[];
-extern const u8 gBattleTerrainTiles_Rayquaza[];
-extern const u8 gBattleTerrainTilemap_Rayquaza[];
-extern const u8 gBattleTerrainAnimTiles_Rayquaza[];
-extern const u8 gBattleTerrainAnimTilemap_Rayquaza[];
-extern const u8 gBattleTerrainPalette_Rayquaza[];
-extern const u8 gBattleTerrainPalette_Kyogre[];
-extern const u8 gBattleTerrainPalette_Groudon[];
-extern const u8 gBattleTerrainPalette_BuildingGym[];
-extern const u8 gBattleTerrainPalette_BuildingLeader[];
-extern const u8 gBattleTerrainPalette_StadiumAqua[];
-extern const u8 gBattleTerrainPalette_StadiumMagma[];
-extern const u8 gBattleTerrainPalette_StadiumSidney[];
-extern const u8 gBattleTerrainPalette_StadiumPhoebe[];
-extern const u8 gBattleTerrainPalette_StadiumGlacia[];
-extern const u8 gBattleTerrainPalette_StadiumDrake[];
-extern const u8 gBattleTerrainPalette_StadiumWallace[];
+extern const u32 gBattleTerrainTiles_TallGrass[];
+extern const u32 gBattleTerrainTilemap_TallGrass[];
+extern const u32 gBattleTerrainAnimTiles_TallGrass[];
+extern const u32 gBattleTerrainAnimTilemap_TallGrass[];
+extern const u32 gBattleTerrainPalette_TallGrass[];
+extern const u32 gBattleTerrainTiles_LongGrass[];
+extern const u32 gBattleTerrainTilemap_LongGrass[];
+extern const u32 gBattleTerrainAnimTiles_LongGrass[];
+extern const u32 gBattleTerrainAnimTilemap_LongGrass[];
+extern const u32 gBattleTerrainPalette_LongGrass[];
+extern const u32 gBattleTerrainTiles_Sand[];
+extern const u32 gBattleTerrainTilemap_Sand[];
+extern const u32 gBattleTerrainAnimTiles_Sand[];
+extern const u32 gBattleTerrainAnimTilemap_Sand[];
+extern const u32 gBattleTerrainPalette_Sand[];
+extern const u32 gBattleTerrainTiles_Underwater[];
+extern const u32 gBattleTerrainTilemap_Underwater[];
+extern const u32 gBattleTerrainAnimTiles_Underwater[];
+extern const u32 gBattleTerrainAnimTilemap_Underwater[];
+extern const u32 gBattleTerrainPalette_Underwater[];
+extern const u32 gBattleTerrainTiles_Water[];
+extern const u32 gBattleTerrainTilemap_Water[];
+extern const u32 gBattleTerrainAnimTiles_Water[];
+extern const u32 gBattleTerrainAnimTilemap_Water[];
+extern const u32 gBattleTerrainPalette_Water[];
+extern const u32 gBattleTerrainTiles_PondWater[];
+extern const u32 gBattleTerrainTilemap_PondWater[];
+extern const u32 gBattleTerrainAnimTiles_PondWater[];
+extern const u32 gBattleTerrainAnimTilemap_PondWater[];
+extern const u32 gBattleTerrainPalette_PondWater[];
+extern const u32 gBattleTerrainTiles_Rock[];
+extern const u32 gBattleTerrainTilemap_Rock[];
+extern const u32 gBattleTerrainAnimTiles_Rock[];
+extern const u32 gBattleTerrainAnimTilemap_Rock[];
+extern const u32 gBattleTerrainPalette_Rock[];
+extern const u32 gBattleTerrainTiles_Cave[];
+extern const u32 gBattleTerrainTilemap_Cave[];
+extern const u32 gBattleTerrainAnimTiles_Cave[];
+extern const u32 gBattleTerrainAnimTilemap_Cave[];
+extern const u32 gBattleTerrainPalette_Cave[];
+extern const u32 gBattleTerrainTiles_Building[];
+extern const u32 gBattleTerrainTilemap_Building[];
+extern const u32 gBattleTerrainAnimTiles_Building[];
+extern const u32 gBattleTerrainAnimTilemap_Building[];
+extern const u32 gBattleTerrainPalette_Building[];
+extern const u32 gBattleTerrainPalette_Plain[];
+extern const u32 gBattleTerrainPalette_Frontier[];
+extern const u32 gBattleTerrainTiles_Stadium[];
+extern const u32 gBattleTerrainTilemap_Stadium[];
+extern const u32 gBattleTerrainTiles_Rayquaza[];
+extern const u32 gBattleTerrainTilemap_Rayquaza[];
+extern const u32 gBattleTerrainAnimTiles_Rayquaza[];
+extern const u32 gBattleTerrainAnimTilemap_Rayquaza[];
+extern const u32 gBattleTerrainPalette_Rayquaza[];
+extern const u32 gBattleTerrainPalette_Kyogre[];
+extern const u32 gBattleTerrainPalette_Groudon[];
+extern const u32 gBattleTerrainPalette_BuildingGym[];
+extern const u32 gBattleTerrainPalette_BuildingLeader[];
+extern const u32 gBattleTerrainPalette_StadiumAqua[];
+extern const u32 gBattleTerrainPalette_StadiumMagma[];
+extern const u32 gBattleTerrainPalette_StadiumSidney[];
+extern const u32 gBattleTerrainPalette_StadiumPhoebe[];
+extern const u32 gBattleTerrainPalette_StadiumGlacia[];
+extern const u32 gBattleTerrainPalette_StadiumDrake[];
+extern const u32 gBattleTerrainPalette_StadiumWallace[];
// pokedex
-extern const u8 gPokedexMenu2_Gfx[];
+extern const u32 gPokedexMenu2_Gfx[];
extern const u16 gPokedexText_Pal[];
-extern const u8 gPokedexMenu_Gfx[];
-extern const u8 gUnknown_08DC2C5C[];
-extern const u8 gUnknown_08DC2DAC[];
-extern const u8 gUnknown_08DC2A08[];
-extern const u8 gUnknown_08DC2B1C[];
+extern const u32 gPokedexMenu_Gfx[];
+extern const u8 gPokedexTilemap_Main[];
+extern const u8 gPokedexTilemap_MainUnderlay[];
+extern const u8 gPokedexTilemap_StartMenu1[];
+extern const u8 gPokedexTilemap_StartMenu2[];
extern const u16 gPokedexHoennBg_Pal[];
extern const u16 gPokedexText_Pal[];
extern const u16 gPokedexNationalBg_Pal[];
-extern const u8 gUnknown_08DC3080[];
-extern const u8 gUnknown_08DC3198[];
-extern const u8 gUnknown_08DC2E6C[];
-extern const u8 gUnknown_08DC2F5C[];
-extern const u8 gUnknown_08DC2FEC[];
+extern const u8 gPokedexTilemap_DescriptionScreen[];
+extern const u8 gPokedexTilemap_CryScreen[];
+extern const u8 gPokedexTilemap_SizeScreen[];
+extern const u8 gPokedexTilemap_ScreenSelectBar1[];
+extern const u8 gPokedexTilemap_ScreenSelectBar2[];
extern const u16 gPokedexCaughtScreenFade_Pal[];
-extern const u8 gPokedexSearchMenu_Gfx[];
-extern const u8 gPokedexSearch2_Tilemap[];
-extern const u8 gPokedexSearch1_Tilemap[];
+extern const u32 gPokedexSearchMenu_Gfx[];
+extern const u32 gPokedexSearch2_Tilemap[];
+extern const u32 gPokedexSearch1_Tilemap[];
extern const u16 gPokedexSearchMenu_Pal[];
// berry tag screen
-extern const u8 gUnknown_08D9BB44[];
-extern const u8 gUnknown_08D9BF98[];
-extern const u8 gUnknown_08D9C13C[];
-extern const u8 gUnknown_08D9BEF0[];
+extern const u32 gUnknown_08D9BB44[];
+extern const u32 gUnknown_08D9BF98[];
+extern const u32 gUnknown_08D9C13C[];
+extern const u32 gUnknown_08D9BEF0[];
// rayquaza scene gfx
-extern const u8 gRaySceneGroudon_Gfx[];
-extern const u8 gRaySceneGroudon2_Gfx[];
-extern const u8 gRaySceneGroudon3_Gfx[];
-extern const u8 gRaySceneKyogre_Gfx[];
-extern const u8 gRaySceneKyogre2_Gfx[];
-extern const u8 gRaySceneKyogre3_Gfx[];
-extern const u8 gRaySceneGroudon_Pal[];
-extern const u8 gRaySceneKyogre_Pal[];
-extern const u8 gRaySceneSmoke_Gfx[];
-extern const u8 gRaySceneSmoke_Pal[];
-extern const u8 gRaySceneRayquaza_Pal[];
-extern const u8 gRaySceneRayquazaFly1_Gfx[];
-extern const u8 gRaySceneRayquazaTail_Gfx[];
-extern const u8 gRaySceneGroudonLeft_Gfx[];
-extern const u8 gRaySceneGroudonTail_Gfx[];
-extern const u8 gRaySceneKyogreRight_Gfx[];
-extern const u8 gRaySceneRayquazaHover_Gfx[];
-extern const u8 gRaySceneRayquazaFlyIn_Gfx[];
-extern const u8 gRaySceneOvercast_Gfx[];
-extern const u8 gRaySceneOvercast_Tilemap[];
-extern const u8 gRaySceneRayquaza_Gfx[];
-extern const u8 gRaySceneRayquaza_Tilemap[];
-extern const u8 gRaySceneSplash_Gfx[];
-extern const u8 gRaySceneGroudonLeft_Pal[];
-extern const u8 gRaySceneKyogreRight_Pal[];
-extern const u8 gRaySceneRayquazaHover_Pal[];
-extern const u8 gRaySceneSplash_Pal[];
-extern const u8 gRaySceneClouds_Gfx[];
-extern const u8 gRaySceneClouds_Pal[];
-extern const u8 gRaySceneClouds2_Tilemap[];
-extern const u8 gRaySceneClouds1_Tilemap[];
-extern const u8 gRaySceneClouds3_Tilemap[];
-extern const u8 gRaySceneRayquazaLight_Gfx[];
-extern const u8 gRaySceneRayquazaLight_Tilemap[];
-extern const u8 gRaySceneOvercast2_Gfx[];
-extern const u8 gRaySceneOvercast2_Tilemap[];
-extern const u8 gRaySceneOvercast2_Pal[];
-extern const u8 gRaySceneRayquazaChase_Gfx[];
-extern const u8 gRaySceneChaseStreaks_Gfx[];
-extern const u8 gRaySceneChaseBg_Gfx[];
-extern const u8 gRayChaseRayquazaChase2_Tilemap[];
-extern const u8 gRayChaseRayquazaChase_Tilemap[];
-extern const u8 gRaySceneChaseStreaks_Tilemap[];
-extern const u8 gRaySceneChaseBg_Tilemap[];
-extern const u8 gRaySceneChase_Pal[];
-extern const u8 gRaySceneHushRing_Tilemap[];
-extern const u8 gRaySceneHushBg_Tilemap[];
-extern const u8 gRaySceneHushRing_Map[];
-extern const u8 gRaySceneHushBg_Pal[];
-extern const u8 gRaySceneHushBg_Gfx[];
-extern const u8 gRaySceneHushRing_Gfx[];
+extern const u32 gRaySceneGroudon_Gfx[];
+extern const u32 gRaySceneGroudon2_Gfx[];
+extern const u32 gRaySceneGroudon3_Gfx[];
+extern const u32 gRaySceneKyogre_Gfx[];
+extern const u32 gRaySceneKyogre2_Gfx[];
+extern const u32 gRaySceneKyogre3_Gfx[];
+extern const u32 gRaySceneGroudon_Pal[];
+extern const u32 gRaySceneKyogre_Pal[];
+extern const u32 gRaySceneSmoke_Gfx[];
+extern const u32 gRaySceneSmoke_Pal[];
+extern const u32 gRaySceneRayquaza_Pal[];
+extern const u32 gRaySceneRayquazaFly1_Gfx[];
+extern const u32 gRaySceneRayquazaTail_Gfx[];
+extern const u32 gRaySceneGroudonLeft_Gfx[];
+extern const u32 gRaySceneGroudonTail_Gfx[];
+extern const u32 gRaySceneKyogreRight_Gfx[];
+extern const u32 gRaySceneRayquazaHover_Gfx[];
+extern const u32 gRaySceneRayquazaFlyIn_Gfx[];
+extern const u32 gRaySceneOvercast_Gfx[];
+extern const u32 gRaySceneOvercast_Tilemap[];
+extern const u32 gRaySceneRayquaza_Gfx[];
+extern const u32 gRaySceneRayquaza_Tilemap[];
+extern const u32 gRaySceneSplash_Gfx[];
+extern const u32 gRaySceneGroudonLeft_Pal[];
+extern const u32 gRaySceneKyogreRight_Pal[];
+extern const u32 gRaySceneRayquazaHover_Pal[];
+extern const u32 gRaySceneSplash_Pal[];
+extern const u32 gRaySceneClouds_Gfx[];
+extern const u32 gRaySceneClouds_Pal[];
+extern const u32 gRaySceneClouds2_Tilemap[];
+extern const u32 gRaySceneClouds1_Tilemap[];
+extern const u32 gRaySceneClouds3_Tilemap[];
+extern const u32 gRaySceneRayquazaLight_Gfx[];
+extern const u32 gRaySceneRayquazaLight_Tilemap[];
+extern const u32 gRaySceneOvercast2_Gfx[];
+extern const u32 gRaySceneOvercast2_Tilemap[];
+extern const u32 gRaySceneOvercast2_Pal[];
+extern const u32 gRaySceneRayquazaChase_Gfx[];
+extern const u32 gRaySceneChaseStreaks_Gfx[];
+extern const u32 gRaySceneChaseBg_Gfx[];
+extern const u32 gRayChaseRayquazaChase2_Tilemap[];
+extern const u32 gRayChaseRayquazaChase_Tilemap[];
+extern const u32 gRaySceneChaseStreaks_Tilemap[];
+extern const u32 gRaySceneChaseBg_Tilemap[];
+extern const u32 gRaySceneChase_Pal[];
+extern const u32 gRaySceneHushRing_Tilemap[];
+extern const u32 gRaySceneHushBg_Tilemap[];
+extern const u32 gRaySceneHushRing_Map[];
+extern const u32 gRaySceneHushBg_Pal[];
+extern const u32 gRaySceneHushBg_Gfx[];
+extern const u32 gRaySceneHushRing_Gfx[];
-// Item icons
-extern const u8 gItemIcon_QuestionMark[];
-extern const u8 gItemIconPalette_QuestionMark[];
// Pokeballs
-extern const u8 gItemIcon_MasterBall[];
-extern const u8 gItemIconPalette_MasterBall[];
-extern const u8 gItemIcon_UltraBall[];
-extern const u8 gItemIconPalette_UltraBall[];
-extern const u8 gItemIcon_GreatBall[];
-extern const u8 gItemIconPalette_GreatBall[];
-extern const u8 gItemIcon_PokeBall[];
-extern const u8 gItemIconPalette_PokeBall[];
-extern const u8 gItemIcon_SafariBall[];
-extern const u8 gItemIconPalette_SafariBall[];
-extern const u8 gItemIcon_NetBall[];
-extern const u8 gItemIconPalette_NetBall[];
-extern const u8 gItemIcon_DiveBall[];
-extern const u8 gItemIconPalette_DiveBall[];
-extern const u8 gItemIcon_NestBall[];
-extern const u8 gItemIconPalette_NestBall[];
-extern const u8 gItemIcon_RepeatBall[];
-extern const u8 gItemIconPalette_RepeatBall[];
-extern const u8 gItemIcon_TimerBall[];
-extern const u8 gItemIcon_LuxuryBall[];
-extern const u8 gItemIconPalette_LuxuryBall[];
-extern const u8 gItemIcon_PremierBall[];
+extern const u32 gItemIcon_MasterBall[];
+extern const u32 gItemIconPalette_MasterBall[];
+extern const u32 gItemIcon_UltraBall[];
+extern const u32 gItemIconPalette_UltraBall[];
+extern const u32 gItemIcon_GreatBall[];
+extern const u32 gItemIconPalette_GreatBall[];
+extern const u32 gItemIcon_PokeBall[];
+extern const u32 gItemIconPalette_PokeBall[];
+extern const u32 gItemIcon_SafariBall[];
+extern const u32 gItemIconPalette_SafariBall[];
+extern const u32 gItemIcon_NetBall[];
+extern const u32 gItemIconPalette_NetBall[];
+extern const u32 gItemIcon_DiveBall[];
+extern const u32 gItemIconPalette_DiveBall[];
+extern const u32 gItemIcon_NestBall[];
+extern const u32 gItemIconPalette_NestBall[];
+extern const u32 gItemIcon_RepeatBall[];
+extern const u32 gItemIconPalette_RepeatBall[];
+extern const u32 gItemIcon_TimerBall[];
+extern const u32 gItemIcon_LuxuryBall[];
+extern const u32 gItemIconPalette_LuxuryBall[];
+extern const u32 gItemIcon_PremierBall[];
// Medicine
-extern const u8 gItemIcon_Potion[];
-extern const u8 gItemIconPalette_Potion[];
-extern const u8 gItemIcon_Antidote[];
-extern const u8 gItemIconPalette_Antidote[];
-extern const u8 gItemIcon_StatusHeal[];
-extern const u8 gItemIconPalette_BurnHeal[];
-extern const u8 gItemIconPalette_IceHeal[];
-extern const u8 gItemIconPalette_Awakening[];
-extern const u8 gItemIconPalette_ParalyzeHeal[];
-extern const u8 gItemIcon_LargePotion[];
-extern const u8 gItemIconPalette_FullRestore[];
-extern const u8 gItemIconPalette_MaxPotion[];
-extern const u8 gItemIconPalette_HyperPotion[];
-extern const u8 gItemIconPalette_SuperPotion[];
-extern const u8 gItemIcon_FullHeal[];
-extern const u8 gItemIconPalette_FullHeal[];
-extern const u8 gItemIcon_Revive[];
-extern const u8 gItemIconPalette_Revive[];
-extern const u8 gItemIcon_MaxRevive[];
-extern const u8 gItemIcon_FreshWater[];
-extern const u8 gItemIconPalette_FreshWater[];
-extern const u8 gItemIcon_SodaPop[];
-extern const u8 gItemIconPalette_SodaPop[];
-extern const u8 gItemIcon_Lemonade[];
-extern const u8 gItemIconPalette_Lemonade[];
-extern const u8 gItemIcon_MoomooMilk[];
-extern const u8 gItemIconPalette_MoomooMilk[];
-extern const u8 gItemIcon_Powder[];
-extern const u8 gItemIconPalette_EnergyPowder[];
-extern const u8 gItemIcon_EnergyRoot[];
-extern const u8 gItemIconPalette_EnergyRoot[];
-extern const u8 gItemIconPalette_HealPowder[];
-extern const u8 gItemIcon_RevivalHerb[];
-extern const u8 gItemIconPalette_RevivalHerb[];
-extern const u8 gItemIcon_Ether[];
-extern const u8 gItemIconPalette_Ether[];
-extern const u8 gItemIconPalette_MaxEther[];
-extern const u8 gItemIconPalette_Elixir[];
-extern const u8 gItemIconPalette_MaxElixir[];
-extern const u8 gItemIcon_LavaCookie[];
-extern const u8 gItemIconPalette_LavaCookieAndLetter[];
-extern const u8 gItemIcon_Flute[];
-extern const u8 gItemIconPalette_BlueFlute[];
-extern const u8 gItemIconPalette_YellowFlute[];
-extern const u8 gItemIconPalette_RedFlute[];
-extern const u8 gItemIconPalette_BlackFlute[];
-extern const u8 gItemIconPalette_WhiteFlute[];
-extern const u8 gItemIcon_BerryJuice[];
-extern const u8 gItemIconPalette_BerryJuice[];
-extern const u8 gItemIcon_SacredAsh[];
-extern const u8 gItemIconPalette_SacredAsh[];
+extern const u32 gItemIcon_Potion[];
+extern const u32 gItemIconPalette_Potion[];
+extern const u32 gItemIcon_Antidote[];
+extern const u32 gItemIconPalette_Antidote[];
+extern const u32 gItemIcon_StatusHeal[];
+extern const u32 gItemIconPalette_BurnHeal[];
+extern const u32 gItemIconPalette_IceHeal[];
+extern const u32 gItemIconPalette_Awakening[];
+extern const u32 gItemIconPalette_ParalyzeHeal[];
+extern const u32 gItemIcon_LargePotion[];
+extern const u32 gItemIconPalette_FullRestore[];
+extern const u32 gItemIconPalette_MaxPotion[];
+extern const u32 gItemIconPalette_HyperPotion[];
+extern const u32 gItemIconPalette_SuperPotion[];
+extern const u32 gItemIcon_FullHeal[];
+extern const u32 gItemIconPalette_FullHeal[];
+extern const u32 gItemIcon_Revive[];
+extern const u32 gItemIconPalette_Revive[];
+extern const u32 gItemIcon_MaxRevive[];
+extern const u32 gItemIcon_FreshWater[];
+extern const u32 gItemIconPalette_FreshWater[];
+extern const u32 gItemIcon_SodaPop[];
+extern const u32 gItemIconPalette_SodaPop[];
+extern const u32 gItemIcon_Lemonade[];
+extern const u32 gItemIconPalette_Lemonade[];
+extern const u32 gItemIcon_MoomooMilk[];
+extern const u32 gItemIconPalette_MoomooMilk[];
+extern const u32 gItemIcon_Powder[];
+extern const u32 gItemIconPalette_EnergyPowder[];
+extern const u32 gItemIcon_EnergyRoot[];
+extern const u32 gItemIconPalette_EnergyRoot[];
+extern const u32 gItemIconPalette_HealPowder[];
+extern const u32 gItemIcon_RevivalHerb[];
+extern const u32 gItemIconPalette_RevivalHerb[];
+extern const u32 gItemIcon_Ether[];
+extern const u32 gItemIconPalette_Ether[];
+extern const u32 gItemIconPalette_MaxEther[];
+extern const u32 gItemIconPalette_Elixir[];
+extern const u32 gItemIconPalette_MaxElixir[];
+extern const u32 gItemIcon_LavaCookie[];
+extern const u32 gItemIconPalette_LavaCookieAndLetter[];
+extern const u32 gItemIcon_Flute[];
+extern const u32 gItemIconPalette_BlueFlute[];
+extern const u32 gItemIconPalette_YellowFlute[];
+extern const u32 gItemIconPalette_RedFlute[];
+extern const u32 gItemIconPalette_BlackFlute[];
+extern const u32 gItemIconPalette_WhiteFlute[];
+extern const u32 gItemIcon_BerryJuice[];
+extern const u32 gItemIconPalette_BerryJuice[];
+extern const u32 gItemIcon_SacredAsh[];
+extern const u32 gItemIconPalette_SacredAsh[];
// Collectibles
-extern const u8 gItemIconPalette_ShoalSalt[];
-extern const u8 gItemIcon_ShoalShell[];
-extern const u8 gItemIconPalette_Shell[];
-extern const u8 gItemIcon_Shard[];
-extern const u8 gItemIconPalette_RedShard[];
-extern const u8 gItemIconPalette_BlueShard[];
-extern const u8 gItemIconPalette_YellowShard[];
-extern const u8 gItemIconPalette_GreenShard[];
+extern const u32 gItemIconPalette_ShoalSalt[];
+extern const u32 gItemIcon_ShoalShell[];
+extern const u32 gItemIconPalette_Shell[];
+extern const u32 gItemIcon_Shard[];
+extern const u32 gItemIconPalette_RedShard[];
+extern const u32 gItemIconPalette_BlueShard[];
+extern const u32 gItemIconPalette_YellowShard[];
+extern const u32 gItemIconPalette_GreenShard[];
// Vitamins
-extern const u8 gItemIcon_HPUp[];
-extern const u8 gItemIconPalette_HPUp[];
-extern const u8 gItemIcon_Vitamin[];
-extern const u8 gItemIconPalette_Protein[];
-extern const u8 gItemIconPalette_Iron[];
-extern const u8 gItemIconPalette_Carbos[];
-extern const u8 gItemIconPalette_Calcium[];
-extern const u8 gItemIcon_RareCandy[];
-extern const u8 gItemIconPalette_RareCandy[];
-extern const u8 gItemIcon_PPUp[];
-extern const u8 gItemIconPalette_PPUp[];
-extern const u8 gItemIconPalette_Zinc[];
-extern const u8 gItemIcon_PPMax[];
-extern const u8 gItemIconPalette_PPMax[];
+extern const u32 gItemIcon_HPUp[];
+extern const u32 gItemIconPalette_HPUp[];
+extern const u32 gItemIcon_Vitamin[];
+extern const u32 gItemIconPalette_Protein[];
+extern const u32 gItemIconPalette_Iron[];
+extern const u32 gItemIconPalette_Carbos[];
+extern const u32 gItemIconPalette_Calcium[];
+extern const u32 gItemIcon_RareCandy[];
+extern const u32 gItemIconPalette_RareCandy[];
+extern const u32 gItemIcon_PPUp[];
+extern const u32 gItemIconPalette_PPUp[];
+extern const u32 gItemIconPalette_Zinc[];
+extern const u32 gItemIcon_PPMax[];
+extern const u32 gItemIconPalette_PPMax[];
// Battle items
-extern const u8 gItemIcon_BattleStatItem[];
-extern const u8 gItemIconPalette_GuardSpec[];
-extern const u8 gItemIconPalette_DireHit[];
-extern const u8 gItemIconPalette_XAttack[];
-extern const u8 gItemIconPalette_XDefend[];
-extern const u8 gItemIconPalette_XSpeed[];
-extern const u8 gItemIconPalette_XAccuracy[];
-extern const u8 gItemIconPalette_XSpecial[];
-extern const u8 gItemIcon_PokeDoll[];
-extern const u8 gItemIconPalette_PokeDoll[];
-extern const u8 gItemIcon_FluffyTail[];
-extern const u8 gItemIconPalette_FluffyTail[];
+extern const u32 gItemIcon_BattleStatItem[];
+extern const u32 gItemIconPalette_GuardSpec[];
+extern const u32 gItemIconPalette_DireHit[];
+extern const u32 gItemIconPalette_XAttack[];
+extern const u32 gItemIconPalette_XDefend[];
+extern const u32 gItemIconPalette_XSpeed[];
+extern const u32 gItemIconPalette_XAccuracy[];
+extern const u32 gItemIconPalette_XSpecial[];
+extern const u32 gItemIcon_PokeDoll[];
+extern const u32 gItemIconPalette_PokeDoll[];
+extern const u32 gItemIcon_FluffyTail[];
+extern const u32 gItemIconPalette_FluffyTail[];
// Field items
-extern const u8 gItemIcon_Repel[];
-extern const u8 gItemIconPalette_SuperRepel[];
-extern const u8 gItemIconPalette_MaxRepel[];
-extern const u8 gItemIcon_EscapeRope[];
-extern const u8 gItemIconPalette_EscapeRope[];
-extern const u8 gItemIcon_Repel[];
-extern const u8 gItemIconPalette_Repel[];
+extern const u32 gItemIcon_Repel[];
+extern const u32 gItemIconPalette_SuperRepel[];
+extern const u32 gItemIconPalette_MaxRepel[];
+extern const u32 gItemIcon_EscapeRope[];
+extern const u32 gItemIconPalette_EscapeRope[];
+extern const u32 gItemIcon_Repel[];
+extern const u32 gItemIconPalette_Repel[];
// Evolution stones
-extern const u8 gItemIcon_SunStone[];
-extern const u8 gItemIconPalette_SunStone[];
-extern const u8 gItemIcon_MoonStone[];
-extern const u8 gItemIconPalette_MoonStone[];
-extern const u8 gItemIcon_FireStone[];
-extern const u8 gItemIconPalette_FireStone[];
-extern const u8 gItemIcon_ThunderStone[];
-extern const u8 gItemIconPalette_ThunderStone[];
-extern const u8 gItemIcon_WaterStone[];
-extern const u8 gItemIconPalette_WaterStone[];
-extern const u8 gItemIcon_LeafStone[];
-extern const u8 gItemIconPalette_LeafStone[];
+extern const u32 gItemIcon_SunStone[];
+extern const u32 gItemIconPalette_SunStone[];
+extern const u32 gItemIcon_MoonStone[];
+extern const u32 gItemIconPalette_MoonStone[];
+extern const u32 gItemIcon_FireStone[];
+extern const u32 gItemIconPalette_FireStone[];
+extern const u32 gItemIcon_ThunderStone[];
+extern const u32 gItemIconPalette_ThunderStone[];
+extern const u32 gItemIcon_WaterStone[];
+extern const u32 gItemIconPalette_WaterStone[];
+extern const u32 gItemIcon_LeafStone[];
+extern const u32 gItemIconPalette_LeafStone[];
// Valuables
-extern const u8 gItemIcon_TinyMushroom[];
-extern const u8 gItemIconPalette_Mushroom[];
-extern const u8 gItemIcon_BigMushroom[];
-extern const u8 gItemIcon_Pearl[];
-extern const u8 gItemIconPalette_Pearl[];
-extern const u8 gItemIcon_BigPearl[];
-extern const u8 gItemIcon_Stardust[];
-extern const u8 gItemIconPalette_Star[];
-extern const u8 gItemIcon_StarPiece[];
-extern const u8 gItemIcon_Nugget[];
-extern const u8 gItemIconPalette_Nugget[];
-extern const u8 gItemIcon_HeartScale[];
-extern const u8 gItemIconPalette_HeartScale[];
+extern const u32 gItemIcon_TinyMushroom[];
+extern const u32 gItemIconPalette_Mushroom[];
+extern const u32 gItemIcon_BigMushroom[];
+extern const u32 gItemIcon_Pearl[];
+extern const u32 gItemIconPalette_Pearl[];
+extern const u32 gItemIcon_BigPearl[];
+extern const u32 gItemIcon_Stardust[];
+extern const u32 gItemIconPalette_Star[];
+extern const u32 gItemIcon_StarPiece[];
+extern const u32 gItemIcon_Nugget[];
+extern const u32 gItemIconPalette_Nugget[];
+extern const u32 gItemIcon_HeartScale[];
+extern const u32 gItemIconPalette_HeartScale[];
// Mail
-extern const u8 gItemIcon_OrangeMail[];
-extern const u8 gItemIconPalette_OrangeMail[];
-extern const u8 gItemIcon_HarborMail[];
-extern const u8 gItemIconPalette_HarborMail[];
-extern const u8 gItemIcon_GlitterMail[];
-extern const u8 gItemIconPalette_GlitterMail[];
-extern const u8 gItemIcon_MechMail[];
-extern const u8 gItemIconPalette_MechMail[];
-extern const u8 gItemIcon_WoodMail[];
-extern const u8 gItemIconPalette_WoodMail[];
-extern const u8 gItemIcon_WaveMail[];
-extern const u8 gItemIconPalette_WaveMail[];
-extern const u8 gItemIcon_BeadMail[];
-extern const u8 gItemIconPalette_BeadMail[];
-extern const u8 gItemIcon_ShadowMail[];
-extern const u8 gItemIconPalette_ShadowMail[];
-extern const u8 gItemIcon_TropicMail[];
-extern const u8 gItemIconPalette_TropicMail[];
-extern const u8 gItemIcon_DreamMail[];
-extern const u8 gItemIconPalette_DreamMail[];
-extern const u8 gItemIcon_FabMail[];
-extern const u8 gItemIconPalette_FabMail[];
-extern const u8 gItemIcon_RetroMail[];
-extern const u8 gItemIconPalette_RetroMail[];
+extern const u32 gItemIcon_OrangeMail[];
+extern const u32 gItemIconPalette_OrangeMail[];
+extern const u32 gItemIcon_HarborMail[];
+extern const u32 gItemIconPalette_HarborMail[];
+extern const u32 gItemIcon_GlitterMail[];
+extern const u32 gItemIconPalette_GlitterMail[];
+extern const u32 gItemIcon_MechMail[];
+extern const u32 gItemIconPalette_MechMail[];
+extern const u32 gItemIcon_WoodMail[];
+extern const u32 gItemIconPalette_WoodMail[];
+extern const u32 gItemIcon_WaveMail[];
+extern const u32 gItemIconPalette_WaveMail[];
+extern const u32 gItemIcon_BeadMail[];
+extern const u32 gItemIconPalette_BeadMail[];
+extern const u32 gItemIcon_ShadowMail[];
+extern const u32 gItemIconPalette_ShadowMail[];
+extern const u32 gItemIcon_TropicMail[];
+extern const u32 gItemIconPalette_TropicMail[];
+extern const u32 gItemIcon_DreamMail[];
+extern const u32 gItemIconPalette_DreamMail[];
+extern const u32 gItemIcon_FabMail[];
+extern const u32 gItemIconPalette_FabMail[];
+extern const u32 gItemIcon_RetroMail[];
+extern const u32 gItemIconPalette_RetroMail[];
// Berries
-extern const u8 gItemIcon_CheriBerry[];
-extern const u8 gItemIconPalette_CheriBerry[];
-extern const u8 gItemIcon_ChestoBerry[];
-extern const u8 gItemIconPalette_ChestoBerry[];
-extern const u8 gItemIcon_PechaBerry[];
-extern const u8 gItemIconPalette_PechaBerry[];
-extern const u8 gItemIcon_RawstBerry[];
-extern const u8 gItemIconPalette_RawstBerry[];
-extern const u8 gItemIcon_AspearBerry[];
-extern const u8 gItemIconPalette_AspearBerry[];
-extern const u8 gItemIcon_LeppaBerry[];
-extern const u8 gItemIconPalette_LeppaBerry[];
-extern const u8 gItemIcon_OranBerry[];
-extern const u8 gItemIconPalette_OranBerry[];
-extern const u8 gItemIcon_PersimBerry[];
-extern const u8 gItemIconPalette_PersimBerry[];
-extern const u8 gItemIcon_LumBerry[];
-extern const u8 gItemIconPalette_LumBerry[];
-extern const u8 gItemIcon_SitrusBerry[];
-extern const u8 gItemIconPalette_SitrusBerry[];
-extern const u8 gItemIcon_FigyBerry[];
-extern const u8 gItemIconPalette_FigyBerry[];
-extern const u8 gItemIcon_WikiBerry[];
-extern const u8 gItemIconPalette_WikiBerry[];
-extern const u8 gItemIcon_MagoBerry[];
-extern const u8 gItemIconPalette_MagoBerry[];
-extern const u8 gItemIcon_AguavBerry[];
-extern const u8 gItemIconPalette_AguavBerry[];
-extern const u8 gItemIcon_IapapaBerry[];
-extern const u8 gItemIconPalette_IapapaBerry[];
-extern const u8 gItemIcon_RazzBerry[];
-extern const u8 gItemIconPalette_RazzBerry[];
-extern const u8 gItemIcon_BlukBerry[];
-extern const u8 gItemIconPalette_BlukBerry[];
-extern const u8 gItemIcon_NanabBerry[];
-extern const u8 gItemIconPalette_NanabBerry[];
-extern const u8 gItemIcon_WepearBerry[];
-extern const u8 gItemIconPalette_WepearBerry[];
-extern const u8 gItemIcon_PinapBerry[];
-extern const u8 gItemIconPalette_PinapBerry[];
-extern const u8 gItemIcon_PomegBerry[];
-extern const u8 gItemIconPalette_PomegBerry[];
-extern const u8 gItemIcon_KelpsyBerry[];
-extern const u8 gItemIconPalette_KelpsyBerry[];
-extern const u8 gItemIcon_QualotBerry[];
-extern const u8 gItemIconPalette_QualotBerry[];
-extern const u8 gItemIcon_HondewBerry[];
-extern const u8 gItemIconPalette_HondewBerry[];
-extern const u8 gItemIcon_GrepaBerry[];
-extern const u8 gItemIconPalette_GrepaBerry[];
-extern const u8 gItemIcon_TamatoBerry[];
-extern const u8 gItemIconPalette_TamatoBerry[];
-extern const u8 gItemIcon_CornnBerry[];
-extern const u8 gItemIconPalette_CornnBerry[];
-extern const u8 gItemIcon_MagostBerry[];
-extern const u8 gItemIconPalette_MagostBerry[];
-extern const u8 gItemIcon_RabutaBerry[];
-extern const u8 gItemIconPalette_RabutaBerry[];
-extern const u8 gItemIcon_NomelBerry[];
-extern const u8 gItemIconPalette_NomelBerry[];
-extern const u8 gItemIcon_SpelonBerry[];
-extern const u8 gItemIconPalette_SpelonBerry[];
-extern const u8 gItemIcon_PamtreBerry[];
-extern const u8 gItemIconPalette_PamtreBerry[];
-extern const u8 gItemIcon_WatmelBerry[];
-extern const u8 gItemIconPalette_WatmelBerry[];
-extern const u8 gItemIcon_DurinBerry[];
-extern const u8 gItemIconPalette_DurinBerry[];
-extern const u8 gItemIcon_BelueBerry[];
-extern const u8 gItemIconPalette_BelueBerry[];
-extern const u8 gItemIcon_LiechiBerry[];
-extern const u8 gItemIconPalette_LiechiBerry[];
-extern const u8 gItemIcon_GanlonBerry[];
-extern const u8 gItemIconPalette_GanlonBerry[];
-extern const u8 gItemIcon_SalacBerry[];
-extern const u8 gItemIconPalette_SalacBerry[];
-extern const u8 gItemIcon_PetayaBerry[];
-extern const u8 gItemIconPalette_PetayaBerry[];
-extern const u8 gItemIcon_ApicotBerry[];
-extern const u8 gItemIconPalette_ApicotBerry[];
-extern const u8 gItemIcon_LansatBerry[];
-extern const u8 gItemIconPalette_LansatBerry[];
-extern const u8 gItemIcon_StarfBerry[];
-extern const u8 gItemIconPalette_StarfBerry[];
-extern const u8 gItemIcon_EnigmaBerry[];
-extern const u8 gItemIconPalette_EnigmaBerry[];
+extern const u32 gItemIcon_CheriBerry[];
+extern const u32 gItemIconPalette_CheriBerry[];
+extern const u32 gItemIcon_ChestoBerry[];
+extern const u32 gItemIconPalette_ChestoBerry[];
+extern const u32 gItemIcon_PechaBerry[];
+extern const u32 gItemIconPalette_PechaBerry[];
+extern const u32 gItemIcon_RawstBerry[];
+extern const u32 gItemIconPalette_RawstBerry[];
+extern const u32 gItemIcon_AspearBerry[];
+extern const u32 gItemIconPalette_AspearBerry[];
+extern const u32 gItemIcon_LeppaBerry[];
+extern const u32 gItemIconPalette_LeppaBerry[];
+extern const u32 gItemIcon_OranBerry[];
+extern const u32 gItemIconPalette_OranBerry[];
+extern const u32 gItemIcon_PersimBerry[];
+extern const u32 gItemIconPalette_PersimBerry[];
+extern const u32 gItemIcon_LumBerry[];
+extern const u32 gItemIconPalette_LumBerry[];
+extern const u32 gItemIcon_SitrusBerry[];
+extern const u32 gItemIconPalette_SitrusBerry[];
+extern const u32 gItemIcon_FigyBerry[];
+extern const u32 gItemIconPalette_FigyBerry[];
+extern const u32 gItemIcon_WikiBerry[];
+extern const u32 gItemIconPalette_WikiBerry[];
+extern const u32 gItemIcon_MagoBerry[];
+extern const u32 gItemIconPalette_MagoBerry[];
+extern const u32 gItemIcon_AguavBerry[];
+extern const u32 gItemIconPalette_AguavBerry[];
+extern const u32 gItemIcon_IapapaBerry[];
+extern const u32 gItemIconPalette_IapapaBerry[];
+extern const u32 gItemIcon_RazzBerry[];
+extern const u32 gItemIconPalette_RazzBerry[];
+extern const u32 gItemIcon_BlukBerry[];
+extern const u32 gItemIconPalette_BlukBerry[];
+extern const u32 gItemIcon_NanabBerry[];
+extern const u32 gItemIconPalette_NanabBerry[];
+extern const u32 gItemIcon_WepearBerry[];
+extern const u32 gItemIconPalette_WepearBerry[];
+extern const u32 gItemIcon_PinapBerry[];
+extern const u32 gItemIconPalette_PinapBerry[];
+extern const u32 gItemIcon_PomegBerry[];
+extern const u32 gItemIconPalette_PomegBerry[];
+extern const u32 gItemIcon_KelpsyBerry[];
+extern const u32 gItemIconPalette_KelpsyBerry[];
+extern const u32 gItemIcon_QualotBerry[];
+extern const u32 gItemIconPalette_QualotBerry[];
+extern const u32 gItemIcon_HondewBerry[];
+extern const u32 gItemIconPalette_HondewBerry[];
+extern const u32 gItemIcon_GrepaBerry[];
+extern const u32 gItemIconPalette_GrepaBerry[];
+extern const u32 gItemIcon_TamatoBerry[];
+extern const u32 gItemIconPalette_TamatoBerry[];
+extern const u32 gItemIcon_CornnBerry[];
+extern const u32 gItemIconPalette_CornnBerry[];
+extern const u32 gItemIcon_MagostBerry[];
+extern const u32 gItemIconPalette_MagostBerry[];
+extern const u32 gItemIcon_RabutaBerry[];
+extern const u32 gItemIconPalette_RabutaBerry[];
+extern const u32 gItemIcon_NomelBerry[];
+extern const u32 gItemIconPalette_NomelBerry[];
+extern const u32 gItemIcon_SpelonBerry[];
+extern const u32 gItemIconPalette_SpelonBerry[];
+extern const u32 gItemIcon_PamtreBerry[];
+extern const u32 gItemIconPalette_PamtreBerry[];
+extern const u32 gItemIcon_WatmelBerry[];
+extern const u32 gItemIconPalette_WatmelBerry[];
+extern const u32 gItemIcon_DurinBerry[];
+extern const u32 gItemIconPalette_DurinBerry[];
+extern const u32 gItemIcon_BelueBerry[];
+extern const u32 gItemIconPalette_BelueBerry[];
+extern const u32 gItemIcon_LiechiBerry[];
+extern const u32 gItemIconPalette_LiechiBerry[];
+extern const u32 gItemIcon_GanlonBerry[];
+extern const u32 gItemIconPalette_GanlonBerry[];
+extern const u32 gItemIcon_SalacBerry[];
+extern const u32 gItemIconPalette_SalacBerry[];
+extern const u32 gItemIcon_PetayaBerry[];
+extern const u32 gItemIconPalette_PetayaBerry[];
+extern const u32 gItemIcon_ApicotBerry[];
+extern const u32 gItemIconPalette_ApicotBerry[];
+extern const u32 gItemIcon_LansatBerry[];
+extern const u32 gItemIconPalette_LansatBerry[];
+extern const u32 gItemIcon_StarfBerry[];
+extern const u32 gItemIconPalette_StarfBerry[];
+extern const u32 gItemIcon_EnigmaBerry[];
+extern const u32 gItemIconPalette_EnigmaBerry[];
// Hold items
-extern const u8 gItemIcon_BrightPowder[];
-extern const u8 gItemIconPalette_BrightPowder[];
-extern const u8 gItemIcon_InBattleHerb[];
-extern const u8 gItemIconPalette_WhiteHerb[];
-extern const u8 gItemIcon_MachoBrace[];
-extern const u8 gItemIconPalette_MachoBrace[];
-extern const u8 gItemIcon_ExpShare[];
-extern const u8 gItemIconPalette_ExpShare[];
-extern const u8 gItemIcon_QuickClaw[];
-extern const u8 gItemIconPalette_QuickClaw[];
-extern const u8 gItemIcon_SootheBell[];
-extern const u8 gItemIconPalette_SootheBell[];
-extern const u8 gItemIcon_InBattleHerb[];
-extern const u8 gItemIconPalette_MentalHerb[];
-extern const u8 gItemIcon_ChoiceBand[];
-extern const u8 gItemIconPalette_ChoiceBand[];
-extern const u8 gItemIcon_KingsRock[];
-extern const u8 gItemIconPalette_KingsRock[];
-extern const u8 gItemIcon_SilverPowder[];
-extern const u8 gItemIconPalette_SilverPowder[];
-extern const u8 gItemIcon_AmuletCoin[];
-extern const u8 gItemIconPalette_AmuletCoin[];
-extern const u8 gItemIcon_CleanseTag[];
-extern const u8 gItemIconPalette_CleanseTag[];
-extern const u8 gItemIcon_SoulDew[];
-extern const u8 gItemIconPalette_SoulDew[];
-extern const u8 gItemIcon_DeepSeaTooth[];
-extern const u8 gItemIconPalette_DeepSeaTooth[];
-extern const u8 gItemIcon_DeepSeaScale[];
-extern const u8 gItemIconPalette_DeepSeaScale[];
-extern const u8 gItemIcon_SmokeBall[];
-extern const u8 gItemIconPalette_SmokeBall[];
-extern const u8 gItemIcon_Everstone[];
-extern const u8 gItemIconPalette_Everstone[];
-extern const u8 gItemIcon_FocusBand[];
-extern const u8 gItemIconPalette_FocusBand[];
-extern const u8 gItemIcon_LuckyEgg[];
-extern const u8 gItemIconPalette_LuckyEgg[];
-extern const u8 gItemIcon_ScopeLens[];
-extern const u8 gItemIconPalette_ScopeLens[];
-extern const u8 gItemIcon_MetalCoat[];
-extern const u8 gItemIconPalette_MetalCoat[];
-extern const u8 gItemIcon_Leftovers[];
-extern const u8 gItemIconPalette_Leftovers[];
-extern const u8 gItemIcon_DragonScale[];
-extern const u8 gItemIconPalette_DragonScale[];
-extern const u8 gItemIcon_LightBall[];
-extern const u8 gItemIconPalette_LightBall[];
-extern const u8 gItemIcon_SoftSand[];
-extern const u8 gItemIconPalette_SoftSand[];
-extern const u8 gItemIcon_HardStone[];
-extern const u8 gItemIconPalette_HardStone[];
-extern const u8 gItemIcon_MiracleSeed[];
-extern const u8 gItemIconPalette_MiracleSeed[];
-extern const u8 gItemIcon_BlackGlasses[];
-extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
-extern const u8 gItemIcon_BlackBelt[];
-extern const u8 gItemIconPalette_BlackTypeEnhancingItem[];
-extern const u8 gItemIcon_Magnet[];
-extern const u8 gItemIconPalette_Magnet[];
-extern const u8 gItemIcon_MysticWater[];
-extern const u8 gItemIconPalette_MysticWater[];
-extern const u8 gItemIcon_SharpBeak[];
-extern const u8 gItemIconPalette_SharpBeak[];
-extern const u8 gItemIcon_PoisonBarb[];
-extern const u8 gItemIconPalette_PoisonBarb[];
-extern const u8 gItemIcon_NeverMeltIce[];
-extern const u8 gItemIconPalette_NeverMeltIce[];
-extern const u8 gItemIcon_SpellTag[];
-extern const u8 gItemIconPalette_SpellTag[];
-extern const u8 gItemIcon_TwistedSpoon[];
-extern const u8 gItemIconPalette_TwistedSpoon[];
-extern const u8 gItemIcon_Charcoal[];
-extern const u8 gItemIconPalette_Charcoal[];
-extern const u8 gItemIcon_DragonFang[];
-extern const u8 gItemIconPalette_DragonFang[];
-extern const u8 gItemIcon_SilkScarf[];
-extern const u8 gItemIconPalette_SilkScarf[];
-extern const u8 gItemIcon_UpGrade[];
-extern const u8 gItemIconPalette_UpGrade[];
-extern const u8 gItemIcon_ShellBell[];
-extern const u8 gItemIconPalette_Shell[];
-extern const u8 gItemIcon_SeaIncense[];
-extern const u8 gItemIconPalette_SeaIncense[];
-extern const u8 gItemIcon_LaxIncense[];
-extern const u8 gItemIconPalette_LaxIncense[];
-extern const u8 gItemIcon_LuckyPunch[];
-extern const u8 gItemIconPalette_LuckyPunch[];
-extern const u8 gItemIcon_MetalPowder[];
-extern const u8 gItemIconPalette_MetalPowder[];
-extern const u8 gItemIcon_ThickClub[];
-extern const u8 gItemIconPalette_ThickClub[];
-extern const u8 gItemIcon_Stick[];
-extern const u8 gItemIconPalette_Stick[];
+extern const u32 gItemIcon_BrightPowder[];
+extern const u32 gItemIconPalette_BrightPowder[];
+extern const u32 gItemIcon_InBattleHerb[];
+extern const u32 gItemIconPalette_WhiteHerb[];
+extern const u32 gItemIcon_MachoBrace[];
+extern const u32 gItemIconPalette_MachoBrace[];
+extern const u32 gItemIcon_ExpShare[];
+extern const u32 gItemIconPalette_ExpShare[];
+extern const u32 gItemIcon_QuickClaw[];
+extern const u32 gItemIconPalette_QuickClaw[];
+extern const u32 gItemIcon_SootheBell[];
+extern const u32 gItemIconPalette_SootheBell[];
+extern const u32 gItemIcon_InBattleHerb[];
+extern const u32 gItemIconPalette_MentalHerb[];
+extern const u32 gItemIcon_ChoiceBand[];
+extern const u32 gItemIconPalette_ChoiceBand[];
+extern const u32 gItemIcon_KingsRock[];
+extern const u32 gItemIconPalette_KingsRock[];
+extern const u32 gItemIcon_SilverPowder[];
+extern const u32 gItemIconPalette_SilverPowder[];
+extern const u32 gItemIcon_AmuletCoin[];
+extern const u32 gItemIconPalette_AmuletCoin[];
+extern const u32 gItemIcon_CleanseTag[];
+extern const u32 gItemIconPalette_CleanseTag[];
+extern const u32 gItemIcon_SoulDew[];
+extern const u32 gItemIconPalette_SoulDew[];
+extern const u32 gItemIcon_DeepSeaTooth[];
+extern const u32 gItemIconPalette_DeepSeaTooth[];
+extern const u32 gItemIcon_DeepSeaScale[];
+extern const u32 gItemIconPalette_DeepSeaScale[];
+extern const u32 gItemIcon_SmokeBall[];
+extern const u32 gItemIconPalette_SmokeBall[];
+extern const u32 gItemIcon_Everstone[];
+extern const u32 gItemIconPalette_Everstone[];
+extern const u32 gItemIcon_FocusBand[];
+extern const u32 gItemIconPalette_FocusBand[];
+extern const u32 gItemIcon_LuckyEgg[];
+extern const u32 gItemIconPalette_LuckyEgg[];
+extern const u32 gItemIcon_ScopeLens[];
+extern const u32 gItemIconPalette_ScopeLens[];
+extern const u32 gItemIcon_MetalCoat[];
+extern const u32 gItemIconPalette_MetalCoat[];
+extern const u32 gItemIcon_Leftovers[];
+extern const u32 gItemIconPalette_Leftovers[];
+extern const u32 gItemIcon_DragonScale[];
+extern const u32 gItemIconPalette_DragonScale[];
+extern const u32 gItemIcon_LightBall[];
+extern const u32 gItemIconPalette_LightBall[];
+extern const u32 gItemIcon_SoftSand[];
+extern const u32 gItemIconPalette_SoftSand[];
+extern const u32 gItemIcon_HardStone[];
+extern const u32 gItemIconPalette_HardStone[];
+extern const u32 gItemIcon_MiracleSeed[];
+extern const u32 gItemIconPalette_MiracleSeed[];
+extern const u32 gItemIcon_BlackGlasses[];
+extern const u32 gItemIconPalette_BlackTypeEnhancingItem[];
+extern const u32 gItemIcon_BlackBelt[];
+extern const u32 gItemIconPalette_BlackTypeEnhancingItem[];
+extern const u32 gItemIcon_Magnet[];
+extern const u32 gItemIconPalette_Magnet[];
+extern const u32 gItemIcon_MysticWater[];
+extern const u32 gItemIconPalette_MysticWater[];
+extern const u32 gItemIcon_SharpBeak[];
+extern const u32 gItemIconPalette_SharpBeak[];
+extern const u32 gItemIcon_PoisonBarb[];
+extern const u32 gItemIconPalette_PoisonBarb[];
+extern const u32 gItemIcon_NeverMeltIce[];
+extern const u32 gItemIconPalette_NeverMeltIce[];
+extern const u32 gItemIcon_SpellTag[];
+extern const u32 gItemIconPalette_SpellTag[];
+extern const u32 gItemIcon_TwistedSpoon[];
+extern const u32 gItemIconPalette_TwistedSpoon[];
+extern const u32 gItemIcon_Charcoal[];
+extern const u32 gItemIconPalette_Charcoal[];
+extern const u32 gItemIcon_DragonFang[];
+extern const u32 gItemIconPalette_DragonFang[];
+extern const u32 gItemIcon_SilkScarf[];
+extern const u32 gItemIconPalette_SilkScarf[];
+extern const u32 gItemIcon_UpGrade[];
+extern const u32 gItemIconPalette_UpGrade[];
+extern const u32 gItemIcon_ShellBell[];
+extern const u32 gItemIconPalette_Shell[];
+extern const u32 gItemIcon_SeaIncense[];
+extern const u32 gItemIconPalette_SeaIncense[];
+extern const u32 gItemIcon_LaxIncense[];
+extern const u32 gItemIconPalette_LaxIncense[];
+extern const u32 gItemIcon_LuckyPunch[];
+extern const u32 gItemIconPalette_LuckyPunch[];
+extern const u32 gItemIcon_MetalPowder[];
+extern const u32 gItemIconPalette_MetalPowder[];
+extern const u32 gItemIcon_ThickClub[];
+extern const u32 gItemIconPalette_ThickClub[];
+extern const u32 gItemIcon_Stick[];
+extern const u32 gItemIconPalette_Stick[];
// Contest hold items
-extern const u8 gItemIcon_Scarf[];
-extern const u8 gItemIconPalette_RedScarf[];
-extern const u8 gItemIconPalette_BlueScarf[];
-extern const u8 gItemIconPalette_PinkScarf[];
-extern const u8 gItemIconPalette_GreenScarf[];
-extern const u8 gItemIconPalette_YellowScarf[];
+extern const u32 gItemIcon_Scarf[];
+extern const u32 gItemIconPalette_RedScarf[];
+extern const u32 gItemIconPalette_BlueScarf[];
+extern const u32 gItemIconPalette_PinkScarf[];
+extern const u32 gItemIconPalette_GreenScarf[];
+extern const u32 gItemIconPalette_YellowScarf[];
// Key items
-extern const u8 gItemIcon_MachBike[];
-extern const u8 gItemIconPalette_MachBike[];
-extern const u8 gItemIcon_CoinCase[];
-extern const u8 gItemIconPalette_CoinCase[];
-extern const u8 gItemIcon_Itemfinder[];
-extern const u8 gItemIconPalette_Itemfinder[];
-extern const u8 gItemIcon_OldRod[];
-extern const u8 gItemIconPalette_OldRod[];
-extern const u8 gItemIcon_GoodRod[];
-extern const u8 gItemIconPalette_GoodRod[];
-extern const u8 gItemIcon_SuperRod[];
-extern const u8 gItemIconPalette_SuperRod[];
-extern const u8 gItemIcon_SSTicket[];
-extern const u8 gItemIconPalette_SSTicket[];
-extern const u8 gItemIcon_ContestPass[];
-extern const u8 gItemIconPalette_ContestPass[];
-extern const u8 gItemIcon_WailmerPail[];
-extern const u8 gItemIconPalette_WailmerPail[];
-extern const u8 gItemIcon_DevonGoods[];
-extern const u8 gItemIconPalette_DevonGoods[];
-extern const u8 gItemIcon_SootSack[];
-extern const u8 gItemIconPalette_SootSack[];
-extern const u8 gItemIcon_BasementKey[];
-extern const u8 gItemIconPalette_OldKey[];
-extern const u8 gItemIcon_AcroBike[];
-extern const u8 gItemIconPalette_AcroBike[];
-extern const u8 gItemIcon_PokeblockCase[];
-extern const u8 gItemIconPalette_PokeblockCase[];
-extern const u8 gItemIcon_Letter[];
-extern const u8 gItemIcon_EonTicket[];
-extern const u8 gItemIconPalette_EonTicket[];
-extern const u8 gItemIcon_Orb[];
-extern const u8 gItemIconPalette_RedOrb[];
-extern const u8 gItemIconPalette_BlueOrb[];
-extern const u8 gItemIcon_Scanner[];
-extern const u8 gItemIconPalette_Scanner[];
-extern const u8 gItemIcon_GoGoggles[];
-extern const u8 gItemIconPalette_GoGoggles[];
-extern const u8 gItemIcon_Meteorite[];
-extern const u8 gItemIconPalette_Meteorite[];
-extern const u8 gItemIcon_Room1Key[];
-extern const u8 gItemIconPalette_Key[];
-extern const u8 gItemIcon_Room2Key[];
-extern const u8 gItemIcon_Room4Key[];
-extern const u8 gItemIcon_Room6Key[];
-extern const u8 gItemIcon_StorageKey[];
-extern const u8 gItemIcon_RootFossil[];
-extern const u8 gItemIconPalette_HoennFossil[];
-extern const u8 gItemIcon_ClawFossil[];
-extern const u8 gItemIcon_DevonScope[];
-extern const u8 gItemIconPalette_DevonScope[];
+extern const u32 gItemIcon_MachBike[];
+extern const u32 gItemIconPalette_MachBike[];
+extern const u32 gItemIcon_CoinCase[];
+extern const u32 gItemIconPalette_CoinCase[];
+extern const u32 gItemIcon_Itemfinder[];
+extern const u32 gItemIconPalette_Itemfinder[];
+extern const u32 gItemIcon_OldRod[];
+extern const u32 gItemIconPalette_OldRod[];
+extern const u32 gItemIcon_GoodRod[];
+extern const u32 gItemIconPalette_GoodRod[];
+extern const u32 gItemIcon_SuperRod[];
+extern const u32 gItemIconPalette_SuperRod[];
+extern const u32 gItemIcon_SSTicket[];
+extern const u32 gItemIconPalette_SSTicket[];
+extern const u32 gItemIcon_ContestPass[];
+extern const u32 gItemIconPalette_ContestPass[];
+extern const u32 gItemIcon_WailmerPail[];
+extern const u32 gItemIconPalette_WailmerPail[];
+extern const u32 gItemIcon_DevonGoods[];
+extern const u32 gItemIconPalette_DevonGoods[];
+extern const u32 gItemIcon_SootSack[];
+extern const u32 gItemIconPalette_SootSack[];
+extern const u32 gItemIcon_BasementKey[];
+extern const u32 gItemIconPalette_OldKey[];
+extern const u32 gItemIcon_AcroBike[];
+extern const u32 gItemIconPalette_AcroBike[];
+extern const u32 gItemIcon_PokeblockCase[];
+extern const u32 gItemIconPalette_PokeblockCase[];
+extern const u32 gItemIcon_Letter[];
+extern const u32 gItemIcon_EonTicket[];
+extern const u32 gItemIconPalette_EonTicket[];
+extern const u32 gItemIcon_Orb[];
+extern const u32 gItemIconPalette_RedOrb[];
+extern const u32 gItemIconPalette_BlueOrb[];
+extern const u32 gItemIcon_Scanner[];
+extern const u32 gItemIconPalette_Scanner[];
+extern const u32 gItemIcon_GoGoggles[];
+extern const u32 gItemIconPalette_GoGoggles[];
+extern const u32 gItemIcon_Meteorite[];
+extern const u32 gItemIconPalette_Meteorite[];
+extern const u32 gItemIcon_Room1Key[];
+extern const u32 gItemIconPalette_Key[];
+extern const u32 gItemIcon_Room2Key[];
+extern const u32 gItemIcon_Room4Key[];
+extern const u32 gItemIcon_Room6Key[];
+extern const u32 gItemIcon_StorageKey[];
+extern const u32 gItemIcon_RootFossil[];
+extern const u32 gItemIconPalette_HoennFossil[];
+extern const u32 gItemIcon_ClawFossil[];
+extern const u32 gItemIcon_DevonScope[];
+extern const u32 gItemIconPalette_DevonScope[];
// TMs/HMs
-extern const u8 gItemIcon_TM[];
-extern const u8 gItemIconPalette_FightingTMHM[];
-extern const u8 gItemIconPalette_DragonTMHM[];
-extern const u8 gItemIconPalette_WaterTMHM[];
-extern const u8 gItemIconPalette_PsychicTMHM[];
-extern const u8 gItemIconPalette_NormalTMHM[];
-extern const u8 gItemIconPalette_PoisonTMHM[];
-extern const u8 gItemIconPalette_IceTMHM[];
-extern const u8 gItemIconPalette_GrassTMHM[];
-extern const u8 gItemIconPalette_FireTMHM[];
-extern const u8 gItemIconPalette_DarkTMHM[];
-extern const u8 gItemIconPalette_SteelTMHM[];
-extern const u8 gItemIconPalette_ElectricTMHM[];
-extern const u8 gItemIconPalette_GroundTMHM[];
-extern const u8 gItemIconPalette_GhostTMHM[];
-extern const u8 gItemIconPalette_RockTMHM[];
-extern const u8 gItemIconPalette_FlyingTMHM[];
-extern const u8 gItemIcon_HM[];
+extern const u32 gItemIcon_TM[];
+extern const u32 gItemIconPalette_FightingTMHM[];
+extern const u32 gItemIconPalette_DragonTMHM[];
+extern const u32 gItemIconPalette_WaterTMHM[];
+extern const u32 gItemIconPalette_PsychicTMHM[];
+extern const u32 gItemIconPalette_NormalTMHM[];
+extern const u32 gItemIconPalette_PoisonTMHM[];
+extern const u32 gItemIconPalette_IceTMHM[];
+extern const u32 gItemIconPalette_GrassTMHM[];
+extern const u32 gItemIconPalette_FireTMHM[];
+extern const u32 gItemIconPalette_DarkTMHM[];
+extern const u32 gItemIconPalette_SteelTMHM[];
+extern const u32 gItemIconPalette_ElectricTMHM[];
+extern const u32 gItemIconPalette_GroundTMHM[];
+extern const u32 gItemIconPalette_GhostTMHM[];
+extern const u32 gItemIconPalette_RockTMHM[];
+extern const u32 gItemIconPalette_FlyingTMHM[];
+extern const u32 gItemIcon_HM[];
// FireRed/LeafGreen key items
-extern const u8 gItemIcon_OaksParcel[];
-extern const u8 gItemIconPalette_OaksParcel[];
-extern const u8 gItemIcon_PokeFlute[];
-extern const u8 gItemIconPalette_PokeFlute[];
-extern const u8 gItemIcon_SecretKey[];
-extern const u8 gItemIconPalette_SecretKey[];
-extern const u8 gItemIcon_BikeVoucher[];
-extern const u8 gItemIconPalette_BikeVoucher[];
-extern const u8 gItemIcon_GoldTeeth[];
-extern const u8 gItemIconPalette_GoldTeeth[];
-extern const u8 gItemIcon_OldAmber[];
-extern const u8 gItemIconPalette_OldAmber[];
-extern const u8 gItemIcon_CardKey[];
-extern const u8 gItemIconPalette_CardKey[];
-extern const u8 gItemIcon_LiftKey[];
-extern const u8 gItemIconPalette_Key[];
-extern const u8 gItemIcon_HelixFossil[];
-extern const u8 gItemIconPalette_KantoFossil[];
-extern const u8 gItemIcon_DomeFossil[];
-extern const u8 gItemIcon_SilphScope[];
-extern const u8 gItemIconPalette_SilphScope[];
-extern const u8 gItemIcon_Bicycle[];
-extern const u8 gItemIconPalette_Bicycle[];
-extern const u8 gItemIcon_TownMap[];
-extern const u8 gItemIconPalette_TownMap[];
-extern const u8 gItemIcon_VSSeeker[];
-extern const u8 gItemIconPalette_VSSeeker[];
-extern const u8 gItemIcon_FameChecker[];
-extern const u8 gItemIconPalette_FameChecker[];
-extern const u8 gItemIcon_TMCase[];
-extern const u8 gItemIconPalette_TMCase[];
-extern const u8 gItemIcon_BerryPouch[];
-extern const u8 gItemIconPalette_BerryPouch[];
-extern const u8 gItemIcon_TeachyTV[];
-extern const u8 gItemIconPalette_TeachyTV[];
-extern const u8 gItemIcon_TriPass[];
-extern const u8 gItemIconPalette_TriPass[];
-extern const u8 gItemIcon_RainbowPass[];
-extern const u8 gItemIconPalette_RainbowPass[];
-extern const u8 gItemIcon_Tea[];
-extern const u8 gItemIconPalette_Tea[];
-extern const u8 gItemIcon_MysticTicket[];
-extern const u8 gItemIconPalette_MysticTicket[];
-extern const u8 gItemIcon_AuroraTicket[];
-extern const u8 gItemIconPalette_AuroraTicket[];
-extern const u8 gItemIcon_PowderJar[];
-extern const u8 gItemIconPalette_PowderJar[];
-extern const u8 gItemIcon_Gem[];
-extern const u8 gItemIconPalette_Ruby[];
-extern const u8 gItemIconPalette_Sapphire[];
+extern const u32 gItemIcon_OaksParcel[];
+extern const u32 gItemIconPalette_OaksParcel[];
+extern const u32 gItemIcon_PokeFlute[];
+extern const u32 gItemIconPalette_PokeFlute[];
+extern const u32 gItemIcon_SecretKey[];
+extern const u32 gItemIconPalette_SecretKey[];
+extern const u32 gItemIcon_BikeVoucher[];
+extern const u32 gItemIconPalette_BikeVoucher[];
+extern const u32 gItemIcon_GoldTeeth[];
+extern const u32 gItemIconPalette_GoldTeeth[];
+extern const u32 gItemIcon_OldAmber[];
+extern const u32 gItemIconPalette_OldAmber[];
+extern const u32 gItemIcon_CardKey[];
+extern const u32 gItemIconPalette_CardKey[];
+extern const u32 gItemIcon_LiftKey[];
+extern const u32 gItemIconPalette_Key[];
+extern const u32 gItemIcon_HelixFossil[];
+extern const u32 gItemIconPalette_KantoFossil[];
+extern const u32 gItemIcon_DomeFossil[];
+extern const u32 gItemIcon_SilphScope[];
+extern const u32 gItemIconPalette_SilphScope[];
+extern const u32 gItemIcon_Bicycle[];
+extern const u32 gItemIconPalette_Bicycle[];
+extern const u32 gItemIcon_TownMap[];
+extern const u32 gItemIconPalette_TownMap[];
+extern const u32 gItemIcon_VSSeeker[];
+extern const u32 gItemIconPalette_VSSeeker[];
+extern const u32 gItemIcon_FameChecker[];
+extern const u32 gItemIconPalette_FameChecker[];
+extern const u32 gItemIcon_TMCase[];
+extern const u32 gItemIconPalette_TMCase[];
+extern const u32 gItemIcon_BerryPouch[];
+extern const u32 gItemIconPalette_BerryPouch[];
+extern const u32 gItemIcon_TeachyTV[];
+extern const u32 gItemIconPalette_TeachyTV[];
+extern const u32 gItemIcon_TriPass[];
+extern const u32 gItemIconPalette_TriPass[];
+extern const u32 gItemIcon_RainbowPass[];
+extern const u32 gItemIconPalette_RainbowPass[];
+extern const u32 gItemIcon_Tea[];
+extern const u32 gItemIconPalette_Tea[];
+extern const u32 gItemIcon_MysticTicket[];
+extern const u32 gItemIconPalette_MysticTicket[];
+extern const u32 gItemIcon_AuroraTicket[];
+extern const u32 gItemIconPalette_AuroraTicket[];
+extern const u32 gItemIcon_PowderJar[];
+extern const u32 gItemIconPalette_PowderJar[];
+extern const u32 gItemIcon_Gem[];
+extern const u32 gItemIconPalette_Ruby[];
+extern const u32 gItemIconPalette_Sapphire[];
// Emerald-only key items
-extern const u8 gItemIcon_MagmaEmblem[];
-extern const u8 gItemIconPalette_MagmaEmblem[];
-extern const u8 gItemIcon_OldSeaMap[];
-extern const u8 gItemIconPalette_OldSeaMap[];
+extern const u32 gItemIcon_MagmaEmblem[];
+extern const u32 gItemIconPalette_MagmaEmblem[];
+extern const u32 gItemIcon_OldSeaMap[];
+extern const u32 gItemIconPalette_OldSeaMap[];
-extern const u8 gItemIcon_ReturnToFieldArrow[];
-extern const u8 gItemIconPalette_ReturnToFieldArrow[];
+extern const u32 gItemIcon_ReturnToFieldArrow[];
+extern const u32 gItemIconPalette_ReturnToFieldArrow[];
//menu graphics
extern const u16 gFireRedMenuElements1_Pal[16];
@@ -3861,177 +3858,891 @@ extern const u16 gFireRedMenuElements3_Pal[16];
extern const u8 gFireRedMenuElements_Gfx[];
// item menu graphics
-extern const u8 gBagScreen_Gfx[];
+extern const u32 gBagScreen_Gfx[];
extern const u16 gBagScreenFemale_Pal[];
extern const u16 gBagScreenMale_Pal[];
extern const u8 gBagMenuHMIcon_Gfx[];
// item menu icons graphics
-extern const u8 gBagMaleTiles[];
-extern const u8 gBagFemaleTiles[];
-extern const u8 gBagPalette[];
-extern const u8 gBerryCheckCircle_Gfx[];
+extern const u32 gBagMaleTiles[];
+extern const u32 gBagFemaleTiles[];
+extern const u32 gBagPalette[];
+extern const u32 gBerryCheckCircle_Gfx[];
//intro graphics
-extern const u8 gIntro1SparkleGfx[];
-extern const u8 gIntro1FlygonGfx[];
+extern const u32 gIntro1SparkleGfx[];
+extern const u32 gIntro1FlygonGfx[];
extern const u16 gIntro3LightningPal[];
-extern const u8 gIntroCopyright_Gfx[];
-extern const u8 gIntroCopyright_Tilemap[];
+extern const u32 gIntroCopyright_Gfx[];
+extern const u32 gIntroCopyright_Tilemap[];
extern const u16 gIntroCopyright_Pal[16];
-extern const u8 gIntro2VolbeatGfx[];
-extern const u8 gIntro2TorchicGfx[];
-extern const u8 gIntro2ManectricGfx[];
+extern const u32 gIntro2VolbeatGfx[];
+extern const u32 gIntro2TorchicGfx[];
+extern const u32 gIntro2ManectricGfx[];
extern const u16 gIntro2VolbeatPal[];
extern const u16 gIntro2TorchicPal[];
extern const u16 gIntro2ManectricPal[];
-extern const u8 gIntro2BubblesGfx[];
+extern const u32 gIntro2BubblesGfx[];
extern const u16 gIntro2BubblesPal[];
-extern const u8 gIntro3LightningGfx[];
-extern const u8 gIntro3GroudonGfx[];
-extern const u8 gIntro3GroudonTilemap[];
-extern const u8 gIntro3LegendBgGfx[];
-extern const u8 gIntro3GroudonBgTilemap[];
-extern const u8 gIntro3GroudonBgTilemap[];
+extern const u32 gIntro3LightningGfx[];
+extern const u32 gIntro3GroudonGfx[];
+extern const u32 gIntro3GroudonTilemap[];
+extern const u32 gIntro3LegendBgGfx[];
+extern const u32 gIntro3GroudonBgTilemap[];
+extern const u32 gIntro3GroudonBgTilemap[];
extern const u8 gIntro3BgPal[0x200];
-extern const u8 gIntro3KyogreGfx[];
-extern const u8 gIntro3KyogreTilemap[];
-extern const u8 gIntro3KyogreBgTilemap[];
-extern const u8 gIntro3CloudsGfx[];
-extern const u8 gIntro3Clouds1Tilemap[];
-extern const u8 gIntro3Clouds2Tilemap[];
-extern const u8 gIntro3Clouds3Tilemap[];
-extern const u8 gIntro3Clouds4Tilemap[];
-extern const u8 gIntro3RayquazaTilemap[];
-extern const u8 gIntro3RayquazaGfx[];
-extern const u8 gIntro3Clouds2Gfx[];
+extern const u32 gIntro3KyogreGfx[];
+extern const u32 gIntro3KyogreTilemap[];
+extern const u32 gIntro3KyogreBgTilemap[];
+extern const u32 gIntro3CloudsGfx[];
+extern const u32 gIntro3Clouds1Tilemap[];
+extern const u32 gIntro3Clouds2Tilemap[];
+extern const u32 gIntro3Clouds3Tilemap[];
+extern const u32 gIntro3Clouds4Tilemap[];
+extern const u32 gIntro3RayquazaTilemap[];
+extern const u32 gIntro3RayquazaGfx[];
+extern const u32 gIntro3Clouds2Gfx[];
extern const u16 gIntro1GameFreakTextFadePal[];
//intro/credits graphics
-extern const u8 gIntro2BrendanNoTurnGfx[];
-extern const u8 gIntro2MayNoTurnGfx[];
+extern const u32 gIntro2BrendanNoTurnGfx[];
+extern const u32 gIntro2MayNoTurnGfx[];
extern const u16 gIntro2BrendanNoTurnPal[];
extern const u16 gIntro2FlygonPal[];
-extern const u8 gIntro2FlygonGfx[];
+extern const u32 gIntro2FlygonGfx[];
// party menu graphics
-extern const u8 gPartyMenuMisc_Gfx[];
-extern const u16 gPartyMenuMisc_Tilemap[];
+extern const u32 gPartyMenuMisc_Gfx[];
+extern const u32 gPartyMenuMisc_Tilemap[];
extern const u8 gPartyMenuMisc_Pal[];
// berry pics
-extern const u8 gBerryPic_Cheri[];
-extern const u8 gBerryPalette_Cheri[];
-extern const u8 gBerryPic_Chesto[];
-extern const u8 gBerryPalette_Chesto[];
-extern const u8 gBerryPic_Pecha[];
-extern const u8 gBerryPalette_Pecha[];
-extern const u8 gBerryPic_Rawst[];
-extern const u8 gBerryPalette_Rawst[];
-extern const u8 gBerryPic_Aspear[];
-extern const u8 gBerryPalette_Aspear[];
-extern const u8 gBerryPic_Leppa[];
-extern const u8 gBerryPalette_Leppa[];
-extern const u8 gBerryPic_Oran[];
-extern const u8 gBerryPalette_Oran[];
-extern const u8 gBerryPic_Persim[];
-extern const u8 gBerryPalette_Persim[];
-extern const u8 gBerryPic_Lum[];
-extern const u8 gBerryPalette_Lum[];
-extern const u8 gBerryPic_Sitrus[];
-extern const u8 gBerryPalette_Sitrus[];
-extern const u8 gBerryPic_Figy[];
-extern const u8 gBerryPalette_Figy[];
-extern const u8 gBerryPic_Wiki[];
-extern const u8 gBerryPalette_Wiki[];
-extern const u8 gBerryPic_Mago[];
-extern const u8 gBerryPalette_Mago[];
-extern const u8 gBerryPic_Aguav[];
-extern const u8 gBerryPalette_Aguav[];
-extern const u8 gBerryPic_Iapapa[];
-extern const u8 gBerryPalette_Iapapa[];
-extern const u8 gBerryPic_Razz[];
-extern const u8 gBerryPalette_Razz[];
-extern const u8 gBerryPic_Bluk[];
-extern const u8 gBerryPalette_Bluk[];
-extern const u8 gBerryPic_Nanab[];
-extern const u8 gBerryPalette_Nanab[];
-extern const u8 gBerryPic_Wepear[];
-extern const u8 gBerryPalette_Wepear[];
-extern const u8 gBerryPic_Pinap[];
-extern const u8 gBerryPalette_Pinap[];
-extern const u8 gBerryPic_Pomeg[];
-extern const u8 gBerryPalette_Pomeg[];
-extern const u8 gBerryPic_Kelpsy[];
-extern const u8 gBerryPalette_Kelpsy[];
-extern const u8 gBerryPic_Qualot[];
-extern const u8 gBerryPalette_Qualot[];
-extern const u8 gBerryPic_Hondew[];
-extern const u8 gBerryPalette_Hondew[];
-extern const u8 gBerryPic_Grepa[];
-extern const u8 gBerryPalette_Grepa[];
-extern const u8 gBerryPic_Tamato[];
-extern const u8 gBerryPalette_Tamato[];
-extern const u8 gBerryPic_Cornn[];
-extern const u8 gBerryPalette_Cornn[];
-extern const u8 gBerryPic_Magost[];
-extern const u8 gBerryPalette_Magost[];
-extern const u8 gBerryPic_Rabuta[];
-extern const u8 gBerryPalette_Rabuta[];
-extern const u8 gBerryPic_Nomel[];
-extern const u8 gBerryPalette_Nomel[];
-extern const u8 gBerryPic_Spelon[];
-extern const u8 gBerryPalette_Spelon[];
-extern const u8 gBerryPic_Pamtre[];
-extern const u8 gBerryPalette_Pamtre[];
-extern const u8 gBerryPic_Watmel[];
-extern const u8 gBerryPalette_Watmel[];
-extern const u8 gBerryPic_Durin[];
-extern const u8 gBerryPalette_Durin[];
-extern const u8 gBerryPic_Belue[];
-extern const u8 gBerryPalette_Belue[];
-extern const u8 gBerryPic_Liechi[];
-extern const u8 gBerryPalette_Liechi[];
-extern const u8 gBerryPic_Ganlon[];
-extern const u8 gBerryPalette_Ganlon[];
-extern const u8 gBerryPic_Salac[];
-extern const u8 gBerryPalette_Salac[];
-extern const u8 gBerryPic_Petaya[];
-extern const u8 gBerryPalette_Petaya[];
-extern const u8 gBerryPic_Apicot[];
-extern const u8 gBerryPalette_Apicot[];
-extern const u8 gBerryPic_Lansat[];
-extern const u8 gBerryPalette_Lansat[];
-extern const u8 gBerryPic_Starf[];
-extern const u8 gBerryPalette_Starf[];
-extern const u8 gBerryPic_Enigma[];
-extern const u8 gBerryPalette_Enigma[];
+extern const u32 gBerryPic_Cheri[];
+extern const u32 gBerryPalette_Cheri[];
+extern const u32 gBerryPic_Chesto[];
+extern const u32 gBerryPalette_Chesto[];
+extern const u32 gBerryPic_Pecha[];
+extern const u32 gBerryPalette_Pecha[];
+extern const u32 gBerryPic_Rawst[];
+extern const u32 gBerryPalette_Rawst[];
+extern const u32 gBerryPic_Aspear[];
+extern const u32 gBerryPalette_Aspear[];
+extern const u32 gBerryPic_Leppa[];
+extern const u32 gBerryPalette_Leppa[];
+extern const u32 gBerryPic_Oran[];
+extern const u32 gBerryPalette_Oran[];
+extern const u32 gBerryPic_Persim[];
+extern const u32 gBerryPalette_Persim[];
+extern const u32 gBerryPic_Lum[];
+extern const u32 gBerryPalette_Lum[];
+extern const u32 gBerryPic_Sitrus[];
+extern const u32 gBerryPalette_Sitrus[];
+extern const u32 gBerryPic_Figy[];
+extern const u32 gBerryPalette_Figy[];
+extern const u32 gBerryPic_Wiki[];
+extern const u32 gBerryPalette_Wiki[];
+extern const u32 gBerryPic_Mago[];
+extern const u32 gBerryPalette_Mago[];
+extern const u32 gBerryPic_Aguav[];
+extern const u32 gBerryPalette_Aguav[];
+extern const u32 gBerryPic_Iapapa[];
+extern const u32 gBerryPalette_Iapapa[];
+extern const u32 gBerryPic_Razz[];
+extern const u32 gBerryPalette_Razz[];
+extern const u32 gBerryPic_Bluk[];
+extern const u32 gBerryPalette_Bluk[];
+extern const u32 gBerryPic_Nanab[];
+extern const u32 gBerryPalette_Nanab[];
+extern const u32 gBerryPic_Wepear[];
+extern const u32 gBerryPalette_Wepear[];
+extern const u32 gBerryPic_Pinap[];
+extern const u32 gBerryPalette_Pinap[];
+extern const u32 gBerryPic_Pomeg[];
+extern const u32 gBerryPalette_Pomeg[];
+extern const u32 gBerryPic_Kelpsy[];
+extern const u32 gBerryPalette_Kelpsy[];
+extern const u32 gBerryPic_Qualot[];
+extern const u32 gBerryPalette_Qualot[];
+extern const u32 gBerryPic_Hondew[];
+extern const u32 gBerryPalette_Hondew[];
+extern const u32 gBerryPic_Grepa[];
+extern const u32 gBerryPalette_Grepa[];
+extern const u32 gBerryPic_Tamato[];
+extern const u32 gBerryPalette_Tamato[];
+extern const u32 gBerryPic_Cornn[];
+extern const u32 gBerryPalette_Cornn[];
+extern const u32 gBerryPic_Magost[];
+extern const u32 gBerryPalette_Magost[];
+extern const u32 gBerryPic_Rabuta[];
+extern const u32 gBerryPalette_Rabuta[];
+extern const u32 gBerryPic_Nomel[];
+extern const u32 gBerryPalette_Nomel[];
+extern const u32 gBerryPic_Spelon[];
+extern const u32 gBerryPalette_Spelon[];
+extern const u32 gBerryPic_Pamtre[];
+extern const u32 gBerryPalette_Pamtre[];
+extern const u32 gBerryPic_Watmel[];
+extern const u32 gBerryPalette_Watmel[];
+extern const u32 gBerryPic_Durin[];
+extern const u32 gBerryPalette_Durin[];
+extern const u32 gBerryPic_Belue[];
+extern const u32 gBerryPalette_Belue[];
+extern const u32 gBerryPic_Liechi[];
+extern const u32 gBerryPalette_Liechi[];
+extern const u32 gBerryPic_Ganlon[];
+extern const u32 gBerryPalette_Ganlon[];
+extern const u32 gBerryPic_Salac[];
+extern const u32 gBerryPalette_Salac[];
+extern const u32 gBerryPic_Petaya[];
+extern const u32 gBerryPalette_Petaya[];
+extern const u32 gBerryPic_Apicot[];
+extern const u32 gBerryPalette_Apicot[];
+extern const u32 gBerryPic_Lansat[];
+extern const u32 gBerryPalette_Lansat[];
+extern const u32 gBerryPic_Starf[];
+extern const u32 gBerryPalette_Starf[];
+extern const u32 gBerryPic_Enigma[];
+extern const u32 gBerryPalette_Enigma[];
//credits
-extern const u8 gCreditsCopyrightEnd_Gfx[];
+extern const u32 gCreditsCopyrightEnd_Gfx[];
//pokenav condition marker
extern const u8 gPokenavConditionMarker_Gfx[];
extern const u16 gPokenavConditionMarker_Pal[];
-extern const u8 gUnknown_08D9862C[];
-extern const u8 gUnknown_08D98CC8[];
-extern const u8 gUnknown_08D987FC[];
-extern const u8 gUnknown_08D9898C[];
-extern const u8 gUnknown_08D98B28[];
-extern const u8 gUnknown_08D9853C[];
-extern const u8 gUnknown_08D85620[];
+extern const u32 gUnknown_08D9862C[];
+extern const u32 gUnknown_08D98CC8[];
+extern const u32 gUnknown_08D987FC[];
+extern const u32 gUnknown_08D9898C[];
+extern const u32 gUnknown_08D98B28[];
+extern const u32 gUnknown_08D9853C[];
+extern const u16 gUnknown_08D85620[];
extern const u16 gSummaryScreenWindow_Tilemap[];
-extern const u16 gMoveTypes_Pal[];
-extern const u8 gUnknown_08D97D0C[];
+extern const u32 gMoveTypes_Pal[];
+extern const u32 gUnknown_08D97D0C[];
extern const u16 gSummaryScreenPowAcc_Tilemap[];
extern const u16 gUnknown_08DC3C34[];
-extern const u8 gMoveTypes_Gfx[];
-extern const u8 gUnknown_08D97BEC[];
-extern const u8 gUnknown_08D97CF4[];
-extern const u8 gStatusGfx_Icons[];
-extern const u8 gStatusPal_Icons[];
+extern const u32 gMoveTypes_Gfx[];
+extern const u32 gUnknown_08D97BEC[];
+extern const u32 gUnknown_08D97CF4[];
+extern const u32 gStatusGfx_Icons[];
+extern const u32 gStatusPal_Icons[];
+
+extern const u32 gBuyMenuFrame_Gfx[];
+extern const u32 gBuyMenuFrame_Tilemap[];
+extern const u32 gMenuMoneyGfx[];
+extern const u32 gMenuMoneyPal[];
+
+extern const u32 gBattleInterface_BallStatusBarGfx[];
+extern const u8 gBattleInterface_BallDisplayGfx[];
+extern const u16 gBattleInterface_BallStatusBarPal[];
+extern const u16 gBattleInterface_BallDisplayPal[];
+extern const u8 gHealthboxElementsGfxTable[][32];
+
+extern const u16 gNamingScreenMenu_Pal[];
+extern const u32 gNamingScreenMenu_Gfx[];
+extern const u32 gUnknown_08DD4544[];
+extern const u8 gUnknown_08DD4620[];
+extern const u8 gUnknown_08DD46E0[];
+extern const u8 gUnknown_08DD47A0[];
+extern const u8 gNamingScreenRWindow_Gfx[];
+extern const u8 gNamingScreenKeyboardButton_Gfx[];
+extern const u8 gNamingScreenROptions_Gfx[];
+extern const u8 gNamingScreenCursor_Gfx[];
+extern const u8 gNamingScreenRightPointingTriangleTiles[];
+extern const u8 gNamingScreenUnderscoreTiles[];
+
+extern const u32 gUnknown_08D9BA44[];
+
+extern const u32 gContestConfetti_Gfx[];
+extern const u32 gContestConfetti_Pal[];
+
+extern const u32 gUnknown_08C093F0[];
+extern const u32 gSubstituteDollTilemap[];
+extern const u32 gSubstituteDollGfx[];
+extern const u16 gSubstituteDollPal[];
+extern const u32 gHealthboxSinglesPlayerGfx[];
+extern const u32 gHealthboxSinglesOpponentGfx[];
+extern const u32 gHealthboxDoublesPlayerGfx[];
+extern const u32 gHealthboxDoublesOpponentGfx[];
+extern const u32 gHealthboxSafariGfx[];
+extern const u32 gBlankGfxCompressed[];
+extern const u16 gBattleInterface_BallStatusBarPal[];
+extern const u16 gBattleInterface_BallDisplayPal[];
+
+extern const u32 gBagSwapLineGfx[];
+extern const u32 gBagSwapLinePal[];
+
+extern const u32 gUnknown_08D9ADD0[];
+extern const u32 gUnknown_08D9AE04[];
+extern const u32 gUnknown_08D9AF44[];
+extern const u16 gUnknown_0860F074[];
+extern const u32 gBattleFrontierGfx_PyramidBag[];
+
+extern const u32 gTitleScreenEmeraldVersionGfx[];
+extern const u32 gTitleScreenPressStartGfx[];
+extern const u32 gTitleScreenPokemonLogoGfx[];
+extern const u32 gUnknown_08DE0644[];
+extern const u32 gUnknown_08DDE458[];
+extern const u16 gTitleScreenBgPalettes[];
+extern const u16 gTitleScreenPressStartPal[];
+extern const u16 gTitleScreenEmeraldVersionPal[];
+
+extern const u32 gUnknown_08D83D50[];
+extern const u32 gUnknown_08D84970[];
+extern const u32 gUnknown_08D84F00[];
+extern const u32 gUnknown_08D85444[];
+extern const u32 gUnknown_08D85358[];
+extern const u32 gUnknown_08D85600[];
+extern const u32 gUnknown_08D854C8[];
+extern const u32 gUnknown_08D82F10[];
+extern const u32 gUnknown_08D834FC[];
+extern const u32 gUnknown_08D83B2C[];
+extern const u32 gUnknown_08D83C3C[];
+extern const u32 gUnknown_08D83900[];
+extern const u32 gBattleFrontierGfx_DomeOptions[];
+
+extern const u32 gBattleAnimSpriteSheet_000[];
+extern const u32 gBattleAnimSpriteSheet_001[];
+extern const u32 gBattleAnimSpriteSheet_002[];
+extern const u32 gBattleAnimSpriteSheet_003[];
+extern const u32 gBattleAnimSpriteSheet_004[];
+extern const u32 gBattleAnimSpriteSheet_005[];
+extern const u32 gBattleAnimSpriteSheet_006[];
+extern const u32 gBattleAnimSpriteSheet_007[];
+extern const u32 gBattleAnimSpriteSheet_008[];
+extern const u32 gBattleAnimSpriteSheet_009[];
+extern const u32 gBattleAnimSpriteSheet_010[];
+extern const u32 gBattleAnimSpriteSheet_011[];
+extern const u32 gBattleAnimSpriteSheet_012[];
+extern const u32 gBattleAnimSpriteSheet_013[];
+extern const u32 gBattleAnimSpriteSheet_014[];
+extern const u32 gBattleAnimSpriteSheet_015[];
+extern const u32 gBattleAnimSpriteSheet_016[];
+extern const u32 gBattleAnimSpriteSheet_017[];
+extern const u32 gBattleAnimSpriteSheet_018[];
+extern const u32 gBattleAnimSpriteSheet_019[];
+extern const u32 gBattleAnimSpriteSheet_020[];
+extern const u32 gBattleAnimSpriteSheet_021[];
+extern const u32 gBattleAnimSpriteSheet_021[];
+extern const u32 gBattleAnimSpriteSheet_023[];
+extern const u32 gBattleAnimSpriteSheet_024[];
+extern const u32 gBattleAnimSpriteSheet_025[];
+extern const u32 gBattleAnimSpriteSheet_026[];
+extern const u32 gBattleAnimSpriteSheet_027[];
+extern const u32 gBattleAnimSpriteSheet_028[];
+extern const u32 gBattleAnimSpriteSheet_029[];
+extern const u32 gBattleAnimSpriteSheet_030[];
+extern const u32 gBattleAnimSpriteSheet_031[];
+extern const u32 gBattleAnimSpriteSheet_032[];
+extern const u32 gBattleAnimSpriteSheet_033[];
+extern const u32 gBattleAnimSpriteSheet_034[];
+extern const u32 gBattleAnimSpriteSheet_035[];
+extern const u32 gBattleAnimSpriteSheet_036[];
+extern const u32 gBattleAnimSpriteSheet_037[];
+extern const u32 gBattleAnimSpriteSheet_038[];
+extern const u32 gBattleAnimSpriteSheet_039[];
+extern const u32 gBattleAnimSpriteSheet_040[];
+extern const u32 gBattleAnimSpriteSheet_041[];
+extern const u32 gBattleAnimSpriteSheet_042[];
+extern const u32 gBattleAnimSpriteSheet_043[];
+extern const u32 gBattleAnimSpriteSheet_044[];
+extern const u32 gBattleAnimSpriteSheet_045[];
+extern const u32 gBattleAnimSpriteSheet_046[];
+extern const u32 gBattleAnimSpriteSheet_046[];
+extern const u32 gBattleAnimSpriteSheet_048[];
+extern const u32 gBattleAnimSpriteSheet_048[];
+extern const u32 gBattleAnimSpriteSheet_050[];
+extern const u32 gBattleAnimSpriteSheet_051[];
+extern const u32 gBattleAnimSpriteSheet_052[];
+extern const u32 gBattleAnimSpriteSheet_053[];
+extern const u32 gBattleAnimSpriteSheet_054[];
+extern const u32 gBattleAnimSpriteSheet_055[];
+extern const u32 gBattleAnimSpriteSheet_056[];
+extern const u32 gBattleAnimSpriteSheet_057[];
+extern const u32 gBattleAnimSpriteSheet_058[];
+extern const u32 gBattleAnimSpriteSheet_059[];
+extern const u32 gBattleAnimSpriteSheet_060[];
+extern const u32 gBattleAnimSpriteSheet_061[];
+extern const u32 gBattleAnimSpriteSheet_062[];
+extern const u32 gBattleAnimSpriteSheet_063[];
+extern const u32 gBattleAnimSpriteSheet_064[];
+extern const u32 gBattleAnimSpriteSheet_065[];
+extern const u32 gBattleAnimSpriteSheet_066[];
+extern const u32 gBattleAnimSpriteSheet_070[];
+extern const u32 gBattleAnimSpriteSheet_071[];
+extern const u32 gBattleAnimSpriteSheet_072[];
+extern const u32 gBattleAnimSpriteSheet_073[];
+extern const u32 gBattleAnimSpriteSheet_074[];
+extern const u32 gBattleAnimSpriteSheet_075[];
+extern const u32 gBattleAnimSpriteSheet_076[];
+extern const u32 gBattleAnimSpriteSheet_077[];
+extern const u32 gBattleAnimSpriteSheet_078[];
+extern const u32 gBattleAnimSpriteSheet_079[];
+extern const u32 gBattleAnimSpriteSheet_080[];
+extern const u32 gBattleAnimSpriteSheet_081[];
+extern const u32 gBattleAnimSpriteSheet_082[];
+extern const u32 gBattleAnimSpriteSheet_083[];
+extern const u32 gBattleAnimSpriteSheet_084[];
+extern const u32 gBattleAnimSpriteSheet_085[];
+extern const u32 gBattleAnimSpriteSheet_086[];
+extern const u32 gBattleAnimSpriteSheet_087[];
+extern const u32 gBattleAnimSpriteSheet_088[];
+extern const u32 gBattleAnimSpriteSheet_089[];
+extern const u32 gBattleAnimSpriteSheet_090[];
+extern const u32 gBattleAnimSpriteSheet_091[];
+extern const u32 gBattleAnimSpriteSheet_092[];
+extern const u32 gBattleAnimSpriteSheet_093[];
+extern const u32 gBattleAnimSpriteSheet_094[];
+extern const u32 gBattleAnimSpriteSheet_095[];
+extern const u32 gBattleAnimSpriteSheet_096[];
+extern const u32 gBattleAnimSpriteSheet_097[];
+extern const u32 gBattleAnimSpriteSheet_098[];
+extern const u32 gBattleAnimSpriteSheet_099[];
+extern const u32 gBattleAnimSpriteSheet_100[];
+extern const u32 gBattleAnimSpriteSheet_101[];
+extern const u32 gBattleAnimSpriteSheet_102[];
+extern const u32 gBattleAnimSpriteSheet_103[];
+extern const u32 gBattleAnimSpriteSheet_104[];
+extern const u32 gBattleAnimSpriteSheet_105[];
+extern const u32 gBattleAnimSpriteSheet_106[];
+extern const u32 gBattleAnimSpriteSheet_107[];
+extern const u32 gBattleAnimSpriteSheet_108[];
+extern const u32 gBattleAnimSpriteSheet_109[];
+extern const u32 gBattleAnimSpriteSheet_110[];
+extern const u32 gBattleAnimSpriteSheet_111[];
+extern const u32 gBattleAnimSpriteSheet_112[];
+extern const u32 gBattleAnimSpriteSheet_113[];
+extern const u32 gBattleAnimSpriteSheet_114[];
+extern const u32 gBattleAnimSpriteSheet_115[];
+extern const u32 gBattleAnimSpriteSheet_116[];
+extern const u32 gBattleAnimSpriteSheet_117[];
+extern const u32 gBattleAnimSpriteSheet_118[];
+extern const u32 gBattleAnimSpriteSheet_119[];
+extern const u32 gBattleAnimSpriteSheet_120[];
+extern const u32 gBattleAnimSpriteSheet_121[];
+extern const u32 gBattleAnimSpriteSheet_122[];
+extern const u32 gBattleAnimSpriteSheet_123[];
+extern const u32 gBattleAnimSpriteSheet_124[];
+extern const u32 gBattleAnimSpriteSheet_125[];
+extern const u32 gBattleAnimSpriteSheet_126[];
+extern const u32 gBattleAnimSpriteSheet_127[];
+extern const u32 gBattleAnimSpriteSheet_128[];
+extern const u32 gBattleAnimSpriteSheet_129[];
+extern const u32 gBattleAnimSpriteSheet_130[];
+extern const u32 gBattleAnimSpriteSheet_131[];
+extern const u32 gBattleAnimSpriteSheet_132[];
+extern const u32 gBattleAnimSpriteSheet_133[];
+extern const u32 gBattleAnimSpriteSheet_134[];
+extern const u32 gBattleAnimSpriteSheet_135[];
+extern const u32 gBattleAnimSpriteSheet_136[];
+extern const u32 gBattleAnimSpriteSheet_137[];
+extern const u32 gBattleAnimSpriteSheet_138[];
+extern const u32 gBattleAnimSpriteSheet_139[];
+extern const u32 gBattleAnimSpriteSheet_140[];
+extern const u32 gBattleAnimSpriteSheet_141[];
+extern const u32 gBattleAnimSpriteSheet_142[];
+extern const u32 gBattleAnimSpriteSheet_143[];
+extern const u32 gBattleAnimSpriteSheet_144[];
+extern const u32 gBattleAnimSpriteSheet_145[];
+//extern const struct CompressedSpriteSheet gBattleAnimSpriteSheet_146[];
+extern const u32 gBattleAnimSpriteSheet_146[];
+extern const u32 gBattleAnimSpriteSheet_147[];
+extern const u32 gBattleAnimSpriteSheet_148[];
+extern const u32 gBattleAnimSpriteSheet_149[];
+extern const u32 gBattleAnimSpriteSheet_150[];
+extern const u32 gBattleAnimSpriteSheet_151[];
+extern const u32 gBattleAnimSpriteSheet_152[];
+extern const u32 gBattleAnimSpriteSheet_153[];
+extern const u32 gBattleAnimSpriteSheet_154[];
+extern const u32 gBattleAnimSpriteSheet_155[];
+extern const u32 gBattleAnimSpriteSheet_156[];
+extern const u32 gBattleAnimSpriteSheet_157[];
+extern const u32 gBattleAnimSpriteSheet_158[];
+extern const u32 gBattleAnimSpriteSheet_159[];
+extern const u32 gBattleAnimSpriteSheet_160[];
+extern const u32 gBattleAnimSpriteSheet_161[];
+extern const u32 gBattleAnimSpriteSheet_162[];
+extern const u32 gBattleAnimSpriteSheet_163[];
+extern const u32 gBattleAnimSpriteSheet_166[];
+extern const u32 gBattleAnimSpriteSheet_171[];
+extern const u32 gBattleAnimSpriteSheet_173[];
+extern const u32 gBattleAnimSpriteSheet_174[];
+extern const u32 gBattleAnimSpriteSheet_175[];
+extern const u32 gBattleAnimSpriteSheet_176[];
+extern const u32 gBattleAnimSpriteSheet_177[];
+extern const u32 gBattleAnimSpriteSheet_178[];
+extern const u32 gBattleAnimSpriteSheet_179[];
+extern const u32 gBattleAnimSpriteSheet_180[];
+extern const u32 gBattleAnimSpriteSheet_181[];
+extern const u32 gBattleAnimSpriteSheet_182[];
+extern const u32 gBattleAnimSpriteSheet_183[];
+extern const u32 gBattleAnimSpriteSheet_184[];
+extern const u32 gBattleAnimSpriteSheet_185[];
+extern const u32 gBattleAnimSpriteSheet_186[];
+extern const u32 gBattleAnimSpriteSheet_187[];
+extern const u32 gBattleAnimSpriteSheet_188[];
+extern const u32 gBattleAnimSpriteSheet_189[];
+extern const u32 gBattleAnimSpriteSheet_190[];
+extern const u32 gBattleAnimSpriteSheet_191[];
+extern const u32 gBattleAnimSpriteSheet_192[];
+extern const u32 gBattleAnimSpriteSheet_193[];
+extern const u32 gBattleAnimSpriteSheet_194[];
+extern const u32 gBattleAnimSpriteSheet_195[];
+extern const u32 gBattleAnimSpriteSheet_196[];
+extern const u32 gBattleAnimSpriteSheet_197[];
+extern const u32 gBattleAnimSpriteSheet_198[];
+extern const u32 gBattleAnimSpriteSheet_199[];
+extern const u32 gBattleAnimSpriteSheet_200[];
+extern const u32 gBattleAnimSpriteSheet_201[];
+extern const u32 gBattleAnimSpriteSheet_202[];
+extern const u32 gBattleAnimSpriteSheet_203[];
+extern const u32 gBattleAnimSpriteSheet_204[];
+extern const u32 gBattleAnimSpriteSheet_205[];
+extern const u32 gBattleAnimSpriteSheet_206[];
+extern const u32 gBattleAnimSpriteSheet_207[];
+extern const u32 gBattleAnimSpriteSheet_208[];
+extern const u32 gBattleAnimSpriteSheet_209[];
+extern const u32 gBattleAnimSpriteSheet_210[];
+extern const u32 gBattleAnimSpriteSheet_211[];
+extern const u32 gBattleAnimSpriteSheet_212[];
+extern const u32 gBattleAnimSpriteSheet_213[];
+extern const u32 gBattleAnimSpriteSheet_214[];
+extern const u32 gBattleAnimSpriteSheet_215[];
+extern const u32 gBattleAnimSpriteSheet_210[];
+extern const u32 gBattleAnimSpriteSheet_217[];
+extern const u32 gBattleAnimSpriteSheet_218[];
+extern const u32 gBattleAnimSpriteSheet_210[];
+extern const u32 gBattleAnimSpriteSheet_220[];
+extern const u32 gBattleAnimSpriteSheet_221[];
+extern const u32 gBattleAnimSpriteSheet_222[];
+extern const u32 gBattleAnimSpriteSheet_223[];
+extern const u32 gBattleAnimSpriteSheet_224[];
+extern const u32 gBattleAnimSpriteSheet_225[];
+extern const u32 gBattleAnimSpriteSheet_226[];
+extern const u32 gBattleAnimSpriteSheet_227[];
+extern const u32 gBattleAnimSpriteSheet_228[];
+extern const u32 gBattleAnimSpriteSheet_229[];
+extern const u32 gBattleAnimSpriteSheet_230[];
+extern const u32 gBattleAnimSpriteSheet_231[];
+extern const u32 gBattleAnimSpriteSheet_232[];
+extern const u32 gBattleAnimSpriteSheet_233[];
+extern const u32 gBattleAnimSpriteSheet_234[];
+extern const u32 gBattleAnimSpriteSheet_235[];
+extern const u32 gBattleAnimSpriteSheet_235[];
+extern const u32 gBattleAnimSpriteSheet_235[];
+extern const u32 gBattleAnimSpriteSheet_238[];
+extern const u32 gBattleAnimSpriteSheet_239[];
+extern const u32 gBattleAnimSpriteSheet_240[];
+extern const u32 gBattleAnimSpriteSheet_241[];
+extern const u32 gBattleAnimSpriteSheet_242[];
+extern const u32 gBattleAnimSpriteSheet_243[];
+extern const u32 gBattleAnimSpriteSheet_244[];
+extern const u32 gBattleAnimSpriteSheet_245[];
+extern const u32 gBattleAnimSpriteSheet_246[];
+extern const u32 gBattleAnimSpriteSheet_247[];
+extern const u32 gBattleAnimSpriteSheet_248[];
+extern const u32 gBattleAnimSpriteSheet_249[];
+extern const u32 gBattleAnimSpriteSheet_250[];
+extern const u32 gBattleAnimSpriteSheet_251[];
+extern const u32 gBattleAnimSpriteSheet_252[];
+extern const u32 gBattleAnimSpriteSheet_253[];
+extern const u32 gBattleAnimSpriteSheet_254[];
+extern const u32 gBattleAnimSpriteSheet_255[];
+extern const u32 gBattleAnimSpriteSheet_256[];
+extern const u32 gBattleAnimSpriteSheet_257[];
+extern const u32 gBattleAnimSpriteSheet_258[];
+extern const u32 gBattleAnimSpriteSheet_260[];
+extern const u32 gBattleAnimSpriteSheet_261[];
+extern const u32 gBattleAnimSpriteSheet_262[];
+extern const u32 gBattleAnimSpriteSheet_263[];
+extern const u32 gBattleAnimSpriteSheet_264[];
+extern const u32 gBattleAnimSpriteSheet_266[];
+extern const u32 gBattleAnimSpriteSheet_269[];
+extern const u32 gBattleAnimSpriteSheet_270[];
+extern const u32 gBattleAnimSpriteSheet_271[];
+extern const u32 gBattleAnimSpriteSheet_272[];
+extern const u32 gBattleAnimSpriteSheet_273[];
+extern const u32 gBattleAnimSpriteSheet_274[];
+extern const u32 gBattleAnimSpriteSheet_275[];
+extern const u32 gBattleAnimSpriteSheet_276[];
+extern const u32 gBattleAnimSpriteSheet_277[];
+extern const u32 gBattleAnimSpriteSheet_278[];
+extern const u32 gBattleAnimSpriteSheet_279[];
+extern const u32 gBattleAnimSpriteSheet_280[];
+extern const u32 gBattleAnimSpriteSheet_281[];
+extern const u32 gBattleAnimSpriteSheet_282[];
+extern const u32 gBattleAnimSpriteSheet_283[];
+extern const u32 gBattleAnimSpriteSheet_284[];
+extern const u32 gBattleAnimSpriteSheet_285[];
+
+extern const u32 gBattleAnimSpritePalette_000[];
+extern const u32 gBattleAnimSpritePalette_001[];
+extern const u32 gBattleAnimSpritePalette_002[];
+extern const u32 gBattleAnimSpritePalette_003[];
+extern const u32 gBattleAnimSpritePalette_004[];
+extern const u32 gBattleAnimSpritePalette_005[];
+extern const u32 gBattleAnimSpritePalette_006[];
+extern const u32 gBattleAnimSpritePalette_007[];
+extern const u32 gBattleAnimSpritePalette_008[];
+extern const u32 gBattleAnimSpritePalette_009[];
+extern const u32 gBattleAnimSpritePalette_010[];
+extern const u32 gBattleAnimSpritePalette_011[];
+extern const u32 gBattleAnimSpritePalette_012[];
+extern const u32 gBattleAnimSpritePalette_013[];
+extern const u32 gBattleAnimSpritePalette_014[];
+extern const u32 gBattleAnimSpritePalette_015[];
+extern const u32 gBattleAnimSpritePalette_016[];
+extern const u32 gBattleAnimSpritePalette_016[];
+extern const u32 gBattleAnimSpritePalette_018[];
+extern const u32 gBattleAnimSpritePalette_019[];
+extern const u32 gBattleAnimSpritePalette_020[];
+extern const u32 gBattleAnimSpritePalette_021[];
+extern const u32 gBattleAnimSpritePalette_022[];
+extern const u32 gBattleAnimSpritePalette_023[];
+extern const u32 gBattleAnimSpritePalette_024[];
+extern const u32 gBattleAnimSpritePalette_025[];
+extern const u32 gBattleAnimSpritePalette_026[];
+extern const u32 gBattleAnimSpritePalette_027[];
+extern const u32 gBattleAnimSpritePalette_028[];
+extern const u32 gBattleAnimSpritePalette_029[];
+extern const u32 gBattleAnimSpritePalette_030[];
+extern const u32 gBattleAnimSpritePalette_031[];
+extern const u32 gBattleAnimSpritePalette_032[];
+extern const u32 gBattleAnimSpritePalette_033[];
+extern const u32 gBattleAnimSpritePalette_033[];
+extern const u32 gBattleAnimSpritePalette_033[];
+extern const u32 gBattleAnimSpritePalette_036[];
+extern const u32 gBattleAnimSpritePalette_036[];
+extern const u32 gBattleAnimSpritePalette_038[];
+extern const u32 gBattleAnimSpritePalette_039[];
+extern const u32 gBattleAnimSpritePalette_038[];
+extern const u32 gBattleAnimSpritePalette_038[];
+extern const u32 gBattleAnimSpritePalette_042[];
+extern const u32 gBattleAnimSpritePalette_043[];
+extern const u32 gBattleAnimSpritePalette_044[];
+extern const u32 gBattleAnimSpritePalette_045[];
+extern const u32 gBattleAnimSpritePalette_046[];
+extern const u32 gBattleAnimSpritePalette_047[];
+extern const u32 gBattleAnimSpritePalette_048[];
+extern const u32 gBattleAnimSpritePalette_049[];
+extern const u32 gBattleAnimSpritePalette_050[];
+extern const u32 gBattleAnimSpritePalette_050[];
+extern const u32 gBattleAnimSpritePalette_050[];
+extern const u32 gBattleAnimSpritePalette_026[];
+extern const u32 gBattleAnimSpritePalette_054[];
+extern const u32 gBattleAnimSpritePalette_050[];
+extern const u32 gBattleAnimSpritePalette_056[];
+extern const u32 gBattleAnimSpritePalette_057[];
+extern const u32 gBattleAnimSpritePalette_058[];
+extern const u32 gBattleAnimSpritePalette_059[];
+extern const u32 gBattleAnimSpritePalette_060[];
+extern const u32 gBattleAnimSpritePalette_061[];
+extern const u32 gBattleAnimSpritePalette_062[];
+extern const u32 gBattleAnimSpritePalette_063[];
+extern const u32 gBattleAnimSpritePalette_064[];
+extern const u32 gBattleAnimSpritePalette_065[];
+extern const u32 gBattleAnimSpritePalette_066[];
+extern const u32 gBattleAnimSpritePalette_067[];
+extern const u32 gBattleAnimSpritePalette_068[];
+extern const u32 gBattleAnimSpritePalette_065[];
+extern const u32 gBattleAnimSpritePalette_070[];
+extern const u32 gBattleAnimSpritePalette_070[];
+extern const u32 gBattleAnimSpritePalette_072[];
+extern const u32 gBattleAnimSpritePalette_073[];
+extern const u32 gBattleAnimSpritePalette_074[];
+extern const u32 gBattleAnimSpritePalette_075[];
+extern const u32 gBattleAnimSpritePalette_076[];
+extern const u32 gBattleAnimSpritePalette_076[];
+extern const u32 gBattleAnimSpritePalette_078[];
+extern const u32 gBattleAnimSpritePalette_078[];
+extern const u32 gBattleAnimSpritePalette_080[];
+extern const u32 gBattleAnimSpritePalette_081[];
+extern const u32 gBattleAnimSpritePalette_082[];
+extern const u32 gBattleAnimSpritePalette_083[];
+extern const u32 gBattleAnimSpritePalette_084[];
+extern const u32 gBattleAnimSpritePalette_085[];
+extern const u32 gBattleAnimSpritePalette_086[];
+extern const u32 gBattleAnimSpritePalette_087[];
+extern const u32 gBattleAnimSpritePalette_088[];
+extern const u32 gBattleAnimSpritePalette_089[];
+extern const u32 gBattleAnimSpritePalette_090[];
+extern const u32 gBattleAnimSpritePalette_091[];
+extern const u32 gBattleAnimSpritePalette_092[];
+extern const u32 gBattleAnimSpritePalette_093[];
+extern const u32 gBattleAnimSpritePalette_094[];
+extern const u32 gBattleAnimSpritePalette_095[];
+extern const u32 gBattleAnimSpritePalette_096[];
+extern const u32 gBattleAnimSpritePalette_097[];
+extern const u32 gBattleAnimSpritePalette_094[];
+extern const u32 gBattleAnimSpritePalette_099[];
+extern const u32 gBattleAnimSpritePalette_100[];
+extern const u32 gBattleAnimSpritePalette_101[];
+extern const u32 gBattleAnimSpritePalette_101[];
+extern const u32 gBattleAnimSpritePalette_103[];
+extern const u32 gBattleAnimSpritePalette_104[];
+extern const u32 gBattleAnimSpritePalette_105[];
+extern const u32 gBattleAnimSpritePalette_105[];
+extern const u32 gBattleAnimSpritePalette_107[];
+extern const u32 gBattleAnimSpritePalette_107[];
+extern const u32 gBattleAnimSpritePalette_109[];
+extern const u32 gBattleAnimSpritePalette_109[];
+extern const u32 gBattleAnimSpritePalette_111[];
+extern const u32 gBattleAnimSpritePalette_112[];
+extern const u32 gBattleAnimSpritePalette_113[];
+extern const u32 gBattleAnimSpritePalette_114[];
+extern const u32 gBattleAnimSpritePalette_115[];
+extern const u32 gBattleAnimSpritePalette_116[];
+extern const u32 gBattleAnimSpritePalette_117[];
+extern const u32 gBattleAnimSpritePalette_118[];
+extern const u32 gBattleAnimSpritePalette_119[];
+extern const u32 gBattleAnimSpritePalette_120[];
+extern const u32 gBattleAnimSpritePalette_121[];
+extern const u32 gBattleAnimSpritePalette_122[];
+extern const u32 gBattleAnimSpritePalette_122[];
+extern const u32 gBattleAnimSpritePalette_124[];
+extern const u32 gBattleAnimSpritePalette_125[];
+extern const u32 gBattleAnimSpritePalette_126[];
+extern const u32 gBattleAnimSpritePalette_127[];
+extern const u32 gBattleAnimSpritePalette_128[];
+extern const u32 gBattleAnimSpritePalette_128[];
+extern const u32 gBattleAnimSpritePalette_130[];
+extern const u32 gBattleAnimSpritePalette_130[];
+extern const u32 gBattleAnimSpritePalette_132[];
+extern const u32 gBattleAnimSpritePalette_133[];
+extern const u32 gBattleAnimSpritePalette_133[];
+extern const u32 gBattleAnimSpritePalette_135[];
+extern const u32 gBattleAnimSpritePalette_136[];
+extern const u32 gBattleAnimSpritePalette_135[];
+extern const u32 gBattleAnimSpritePalette_135[];
+extern const u32 gBattleAnimSpritePalette_139[];
+extern const u32 gBattleAnimSpritePalette_140[];
+extern const u32 gBattleAnimSpritePalette_141[];
+extern const u32 gBattleAnimSpritePalette_141[];
+extern const u32 gBattleAnimSpritePalette_143[];
+extern const u32 gBattleAnimSpritePalette_144[];
+extern const u32 gBattleAnimSpritePalette_139[];
+extern const u32 gBattleAnimSpritePalette_115[];
+extern const u32 gBattleAnimSpritePalette_147[];
+extern const u32 gBattleAnimSpritePalette_148[];
+extern const u32 gBattleAnimSpritePalette_148[];
+extern const u32 gBattleAnimSpritePalette_150[];
+extern const u32 gBattleAnimSpritePalette_150[];
+extern const u32 gBattleAnimSpritePalette_152[];
+extern const u32 gBattleAnimSpritePalette_153[];
+extern const u32 gBattleAnimSpritePalette_154[];
+extern const u32 gBattleAnimSpritePalette_155[];
+extern const u32 gBattleAnimSpritePalette_156[];
+extern const u32 gBattleAnimSpritePalette_157[];
+extern const u32 gBattleAnimSpritePalette_158[];
+extern const u32 gBattleAnimSpritePalette_159[];
+extern const u32 gBattleAnimSpritePalette_160[];
+extern const u32 gBattleAnimSpritePalette_161[];
+extern const u32 gBattleAnimSpritePalette_162[];
+extern const u32 gBattleAnimSpritePalette_163[];
+extern const u32 gBattleAnimSpritePalette_164[];
+extern const u32 gBattleAnimSpritePalette_165[];
+extern const u32 gBattleAnimSpritePalette_166[];
+extern const u32 gBattleAnimSpritePalette_167[];
+extern const u32 gBattleAnimSpritePalette_168[];
+extern const u32 gBattleAnimSpritePalette_169[];
+extern const u32 gBattleAnimSpritePalette_170[];
+extern const u32 gBattleAnimSpritePalette_171[];
+extern const u32 gBattleAnimSpritePalette_172[];
+extern const u32 gBattleAnimSpritePalette_174[];
+extern const u32 gBattleAnimSpritePalette_175[];
+extern const u32 gBattleAnimSpritePalette_176[];
+extern const u32 gBattleAnimSpritePalette_177[];
+extern const u32 gBattleAnimSpritePalette_178[];
+extern const u32 gBattleAnimSpritePalette_179[];
+extern const u32 gBattleAnimSpritePalette_182[];
+extern const u32 gBattleAnimSpritePalette_183[];
+extern const u32 gBattleAnimSpritePalette_184[];
+extern const u32 gBattleAnimSpritePalette_185[];
+extern const u32 gBattleAnimSpritePalette_186[];
+extern const u32 gBattleAnimSpritePalette_187[];
+extern const u32 gBattleAnimSpritePalette_188[];
+extern const u32 gBattleAnimSpritePalette_189[];
+extern const u32 gBattleAnimSpritePalette_190[];
+extern const u32 gBattleAnimSpritePalette_191[];
+extern const u32 gBattleAnimSpritePalette_192[];
+extern const u32 gBattleAnimSpritePalette_193[];
+extern const u32 gBattleAnimSpritePalette_194[];
+extern const u32 gBattleAnimSpritePalette_195[];
+extern const u32 gBattleAnimSpritePalette_196[];
+extern const u32 gBattleAnimSpritePalette_197[];
+extern const u32 gBattleAnimSpritePalette_198[];
+extern const u32 gBattleAnimSpritePalette_199[];
+extern const u32 gBattleAnimSpritePalette_200[];
+extern const u32 gBattleAnimSpritePalette_201[];
+extern const u32 gBattleAnimSpritePalette_202[];
+extern const u32 gBattleAnimSpritePalette_203[];
+extern const u32 gBattleAnimSpritePalette_204[];
+extern const u32 gBattleAnimSpritePalette_205[];
+extern const u32 gBattleAnimSpritePalette_206[];
+extern const u32 gBattleAnimSpritePalette_207[];
+extern const u32 gBattleAnimSpritePalette_209[];
+extern const u32 gBattleAnimSpritePalette_210[];
+extern const u32 gBattleAnimSpritePalette_211[];
+extern const u32 gBattleAnimSpritePalette_215[];
+extern const u32 gBattleAnimSpritePalette_216[];
+extern const u32 gBattleAnimSpritePalette_217[];
+extern const u32 gBattleAnimSpritePalette_218[];
+extern const u32 gBattleAnimSpritePalette_219[];
+extern const u32 gBattleAnimSpritePalette_220[];
+extern const u32 gBattleAnimSpritePalette_221[];
+extern const u32 gBattleAnimSpritePalette_222[];
+extern const u32 gBattleAnimSpritePalette_223[];
+extern const u32 gBattleAnimSpritePalette_224[];
+extern const u32 gBattleAnimSpritePalette_225[];
+extern const u32 gBattleAnimSpritePalette_226[];
+extern const u32 gBattleAnimSpritePalette_228[];
+extern const u32 gBattleAnimSpritePalette_229[];
+extern const u32 gBattleAnimSpritePalette_230[];
+extern const u32 gBattleAnimSpritePalette_231[];
+extern const u32 gBattleAnimSpritePalette_233[];
+extern const u32 gBattleAnimSpritePalette_234[];
+extern const u32 gBattleAnimSpritePalette_235[];
+extern const u32 gBattleAnimSpritePalette_236[];
+extern const u32 gBattleAnimSpritePalette_237[];
+extern const u32 gBattleAnimSpritePalette_238[];
+extern const u32 gBattleAnimSpritePalette_239[];
+extern const u32 gBattleAnimSpritePalette_240[];
+extern const u32 gBattleAnimSpritePalette_241[];
+extern const u32 gBattleAnimSpritePalette_242[];
+extern const u32 gBattleAnimSpritePalette_243[];
+extern const u32 gBattleAnimSpritePalette_244[];
+extern const u32 gBattleAnimSpritePalette_245[];
+extern const u32 gBattleAnimSpritePalette_248[];
+extern const u32 gBattleAnimSpritePalette_249[];
+extern const u32 gBattleAnimSpritePalette_251[];
+extern const u32 gBattleAnimSpritePalette_252[];
+extern const u32 gBattleAnimSpritePalette_253[];
+extern const u32 gBattleAnimSpritePalette_254[];
+extern const u32 gBattleAnimSpritePalette_255[];
+extern const u32 gBattleAnimSpritePalette_256[];
+extern const u32 gBattleAnimSpritePalette_257[];
+extern const u32 gBattleAnimSpritePalette_258[];
+extern const u32 gBattleAnimSpritePalette_259[];
+extern const u32 gBattleAnimSpritePalette_260[];
+extern const u32 gBattleAnimSpritePalette_261[];
+extern const u32 gBattleAnimSpritePalette_262[];
+extern const u32 gBattleAnimSpritePalette_263[];
+extern const u32 gBattleAnimSpritePalette_264[];
+extern const u32 gBattleAnimSpritePalette_265[];
+extern const u32 gBattleAnimSpritePalette_266[];
+extern const u32 gBattleAnimSpritePalette_267[];
+extern const u32 gBattleAnimSpritePalette_268[];
+extern const u32 gBattleAnimSpritePalette_269[];
+extern const u32 gBattleAnimSpritePalette_270[];
+extern const u32 gBattleAnimSpritePalette_271[];
+extern const u32 gBattleAnimSpritePalette_272[];
+extern const u32 gBattleAnimSpritePalette_274[];
+extern const u32 gBattleAnimSpritePalette_277[];
+extern const u32 gBattleAnimSpritePalette_278[];
+extern const u32 gBattleAnimSpritePalette_279[];
+extern const u32 gBattleAnimSpritePalette_280[];
+extern const u32 gBattleAnimSpritePalette_281[];
+extern const u32 gBattleAnimSpritePalette_282[];
+extern const u32 gBattleAnimSpritePalette_283[];
+extern const u32 gBattleAnimSpritePalette_284[];
+extern const u32 gBattleAnimSpritePalette_285[];
+extern const u32 gBattleAnimSpritePalette_286[];
+extern const u32 gBattleAnimSpritePalette_287[];
+extern const u32 gBattleAnimSpritePalette_288[];
+
+extern const u32 gBattleAnimBackgroundImage_00[];
+extern const u32 gBattleAnimBackgroundImage_02[];
+extern const u32 gBattleAnimBackgroundImage_03[];
+extern const u32 gBattleAnimBackgroundImage_04[];
+extern const u32 gBattleAnimBackgroundImage_07[];
+extern const u32 gBattleAnimBackgroundImage_09[];
+extern const u32 gBattleAnimBackgroundImage_11[];
+extern const u32 gBattleAnimBackgroundImage_12[];
+extern const u32 gBattleAnimBackgroundImage_15[];
+extern const u32 gBattleAnimBackgroundImage_16[];
+extern const u32 gBattleAnimBackgroundImage_17[];
+extern const u32 gBattleAnimBackgroundImage_20[];
+extern const u32 gBattleAnimBackgroundImage_21[];
+extern const u32 gBattleAnimBackgroundPalette_00[];
+extern const u32 gBattleAnimBackgroundPalette_02[];
+extern const u32 gBattleAnimBackgroundPalette_03[];
+extern const u32 gBattleAnimBackgroundPalette_04[];
+extern const u32 gBattleAnimBackgroundPalette_07[];
+extern const u32 gBattleAnimBackgroundPalette_09[];
+extern const u32 gBattleAnimBackgroundPalette_11[];
+extern const u32 gBattleAnimBackgroundPalette_12[];
+extern const u32 gBattleAnimBackgroundPalette_15[];
+extern const u32 gBattleAnimBackgroundPalette_16[];
+extern const u32 gBattleAnimBackgroundPalette_17[];
+extern const u32 gBattleAnimBackgroundPalette_18[];
+extern const u32 gBattleAnimBackgroundPalette_20[];
+extern const u32 gBattleAnimBackgroundPalette_21[];
+extern const u32 gBattleAnimBackgroundPalette_22[];
+extern const u32 gBattleAnimBackgroundPalette_24[];
+extern const u32 gBattleAnimBackgroundTilemap_00[];
+extern const u32 gBattleAnimBackgroundTilemap_02[];
+extern const u32 gBattleAnimBackgroundTilemap_03[];
+extern const u32 gBattleAnimBackgroundTilemap_04[];
+extern const u32 gBattleAnimBackgroundTilemap_05[];
+extern const u32 gBattleAnimBackgroundTilemap_06[];
+extern const u32 gBattleAnimBackgroundTilemap_07[];
+extern const u32 gBattleAnimBackgroundTilemap_08[];
+extern const u32 gBattleAnimBackgroundTilemap_09[];
+extern const u32 gBattleAnimBackgroundTilemap_10[];
+extern const u32 gBattleAnimBackgroundTilemap_11[];
+extern const u32 gBattleAnimBackgroundTilemap_12[];
+extern const u32 gBattleAnimBackgroundTilemap_13[];
+extern const u32 gBattleAnimBackgroundTilemap_14[];
+extern const u32 gBattleAnimBackgroundTilemap_15[];
+extern const u32 gBattleAnimBackgroundTilemap_16[];
+extern const u32 gBattleAnimBackgroundTilemap_17[];
+extern const u32 gBattleAnimBackgroundTilemap_20[];
+extern const u32 gBattleAnimBackgroundTilemap_21[];
+
+extern const u32 gUnknown_08C20668[];
+extern const u32 gUnknown_08C20684[];
+extern const u32 gBattleStatMask_Gfx[];
+extern const u32 gBattleStatMask1_Tilemap[];
+extern const u32 gBattleStatMask2_Tilemap[];
+extern const u32 gBattleStatMask1_Pal[];
+extern const u32 gBattleStatMask2_Pal[];
+extern const u32 gBattleStatMask3_Pal[];
+extern const u32 gBattleStatMask4_Pal[];
+extern const u32 gBattleStatMask5_Pal[];
+extern const u32 gBattleStatMask6_Pal[];
+extern const u32 gBattleStatMask7_Pal[];
+extern const u32 gBattleStatMask8_Pal[];
+
+extern const u32 gUnknown_08D9A88C[];
+extern const u32 gContestMiscGfx[];
+extern const u32 gContestAudienceGfx[];
+extern const u32 gUnknown_08C16FA8[];
+extern const u32 gUnknown_08C16E90[];
+extern const u32 gUnknown_08C17170[];
+
+// Berry blender
+extern const u32 gBerryBlenderArrowTiles[];
+extern const u32 gBerryBlenderStartTiles[];
+extern const u32 gBerryBlenderMarubatsuTiles[];
+extern const u32 gBerryBlenderParticlesTiles[];
+extern const u32 gBerryBlenderCountdownNumbersTiles[];
+extern const u16 gBerryBlenderMiscPalette[];
+extern const u16 gBerryBlenderArrowPalette[];
+extern const u32 sBlenderCenterGfx[];
+extern const u32 gUnknown_08D91DB8[];
+extern const u32 gUnknown_08D927EC[];
+
+extern const u32 gSlotMachineReelTime_Gfx[];
+
+extern const u32 gUnknown_08D8D410[];
+extern const u32 gUnknown_08D8D58C[];
+
+// Pokedex Area Screen
+extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[];
+extern const u16 gPokedexAreaScreenAreaUnknown_Pal[];
#endif //GUARD_GRAPHICS_H
diff --git a/include/international_string_util.h b/include/international_string_util.h
index 426a2d48c..2d5b1c871 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -2,22 +2,23 @@
#define GUARD_INTERNATIONAL_STRING_UTIL_H
#include "menu.h"
+#include "list_menu.h"
-void sub_81DB52C(const u8 *src);
-void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
-s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
-s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
-s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
-s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
-s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
-s32 sub_81DB3D8(const struct MenuAction *str, const u8* arg1, s32 arg2);
-// sub_81DB41C
-// CopyMonCategoryText
-// sub_81DB494
-void PadNameString(u8 *dst, u8 padWith);
+void sub_81DB52C(u8 *src);
+void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language);
+int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth);
+int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth);
+int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int totalWidth, int letterSpacing);
+int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing);
+int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1);
+int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2);
+int sub_81DB41C(const struct ListMenuTemplate *listMenu);
+void CopyMonCategoryText(int dexNum, u8 *dest);
+u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth);
+void PadNameString(u8 *dest, u8 padChar);
void sub_81DB554(u8 *, u8);
-// sub_81DB5AC
-u32 sub_81DB604(const u8 *);
-// sub_81DB620
+void sub_81DB5AC(u8 *);
+int sub_81DB604(u8 *);
+void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows);
#endif // GUARD_INTERNATIONAL_STRING_UTIL_H
diff --git a/include/item_menu.h b/include/item_menu.h
index b80d0628e..649eb934c 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -59,5 +59,6 @@ void bag_menu_mail_related(void);
void CB2_BagMenuFromStartMenu(void);
u8 sub_81ABB2C(u8 pocketId);
bool8 UseRegisteredKeyItemOnField(void);
+void CB2_GoToSellMenu(void);
#endif //GUARD_item_menu_H
diff --git a/include/librfu.h b/include/librfu.h
index 9d131f027..49df42541 100644
--- a/include/librfu.h
+++ b/include/librfu.h
@@ -1,3 +1,6 @@
+#ifndef GUARD_LIBRFU_H
+#define GUARD_LIBRFU_H
+
#include "main.h"
enum
@@ -81,7 +84,7 @@ struct UnkLinkRfuStruct_02022B14Substruct
u8 playerTrainerId[2];
};
-struct __attribute__((packed)) UnkLinkRfuStruct_02022B14
+struct __attribute__((packed, aligned(2))) UnkLinkRfuStruct_02022B14
{
struct UnkLinkRfuStruct_02022B14Substruct unk_00;
u8 unk_04[4];
@@ -169,13 +172,14 @@ struct RfuUnk3
u32 unk_dc;
};
-struct RfuUnk5Sub {
+struct RfuUnk5Sub
+{
u16 unk_00;
u8 unk_02;
u16 unk_04;
struct UnkLinkRfuStruct_02022B14 unk_06;
- u8 fill_13[2];
- u8 unk_15[8];
+ u8 fill_13[1];
+ u8 playerName[PLAYER_NAME_LENGTH + 1];
};
struct RfuUnk5
@@ -252,3 +256,5 @@ void rfu_UNI_readySendData(u8 a0);
void rfu_UNI_clearRecvNewDataFlag(u8 a0);
void rfu_REQ_PARENT_resumeRetransmitAndChange(void);
void rfu_NI_setSendData(u8, u8, u8 *, u8);
+
+#endif // GUARD_LIBRFU_H
diff --git a/include/link_rfu.h b/include/link_rfu.h
index c3ca75604..426565e56 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -1,6 +1,8 @@
#ifndef GUARD_LINK_RFU_H
#define GUARD_LINK_RFU_H
+#include "librfu.h"
+
// Exported type declarations
struct UnkLinkRfuStruct_02022B2C
@@ -32,7 +34,8 @@ struct UnkLinkRfuStruct_02022B44
u8 fill_84[0x58];
};
-struct UnkRfuStruct_1 {
+struct UnkRfuStruct_1
+{
/* 0x000 */ u8 unk_00;
/* 0x001 */ u8 unk_01;
/* 0x002 */ vu8 unk_02;
@@ -75,7 +78,8 @@ struct UnkRfuStruct_1 {
/* 0xeb4 */ u8 filler_e64[12];
};
-struct UnkRfuStruct_2_Sub_6c {
+struct UnkRfuStruct_2_Sub_6c
+{
/* 0x00 */ u16 unk_00;
/* 0x02 */ u16 unk_02;
/* 0x04 */ const u8 *unk_04;
@@ -86,7 +90,8 @@ struct UnkRfuStruct_2_Sub_6c {
/* 0x12 */ u8 unk_12;
};
-struct UnkRfuStruct_2_Sub_124 {
+struct UnkRfuStruct_2_Sub_124
+{
/* 0x000 */ u8 unk_00[32][70];
/* 0x8c0 */ vu8 unk_8c0;
/* 0x8c1 */ vu8 unk_8c1;
@@ -94,7 +99,8 @@ struct UnkRfuStruct_2_Sub_124 {
/* 0x8c3 */ vu8 unk_8c3;
};
-struct UnkRfuStruct_2_Sub_9e8 {
+struct UnkRfuStruct_2_Sub_9e8
+{
/* 0x000 */ u8 unk_00[40][14];
/* 0x230 */ vu8 unk_230;
/* 0x231 */ vu8 unk_231;
@@ -102,14 +108,16 @@ struct UnkRfuStruct_2_Sub_9e8 {
/* 0x233 */ vu8 unk_233;
};
-struct UnkRfuStruct_2_Sub_c1c {
+struct UnkRfuStruct_2_Sub_c1c
+{
/* 0x00 */ u8 unk_00[2][14];
/* 0x1c */ vu8 unk_1c;
/* 0x1d */ vu8 unk_1d;
/* 0x1e */ vu8 unk_1e;
};
-struct UnkRfuStruct_Sub_Unused {
+struct UnkRfuStruct_Sub_Unused
+{
/* 0x000 */ u8 unk_00[2][256];
/* 0x200 */ vu8 unk_200;
/* 0x201 */ vu8 unk_201;
@@ -117,7 +125,8 @@ struct UnkRfuStruct_Sub_Unused {
/* 0x203 */ vu8 unk_203;
};
-struct UnkRfuStruct_2 {
+struct UnkRfuStruct_2
+{
/* 0x000 */ void (*unk_00)(void);
/* 0x004 */ u16 unk_04;
/* 0x006 */ u8 filler_06[4];
@@ -149,7 +158,10 @@ struct UnkRfuStruct_2 {
/* 0x0fe */ u16 unk_fe;
/* 0x100 */ u16 unk_100;
/* 0x102 */ u8 unk_102;
- /* 0x103 */ u8 filler_103[0x21];
+ /* 0x103 */ u8 filler_103[0x10A - 0x103];
+ /* 0x10A */ struct UnkLinkRfuStruct_02022B14 unk_10A;
+ u8 filler_;
+ u8 playerName[PLAYER_NAME_LENGTH + 1];
/* 0x124 */ struct UnkRfuStruct_2_Sub_124 unk_124;
/* 0x9e8 */ struct UnkRfuStruct_2_Sub_9e8 unk_9e8;
/* 0xc1c */ struct UnkRfuStruct_2_Sub_c1c unk_c1c;
@@ -184,7 +196,8 @@ struct UnkRfuStruct_2 {
/* 0xcee */ u8 unk_cee[4];
}; // size = 0xcf4
-struct UnkRfuStruct_8010A14 {
+struct UnkRfuStruct_8010A14
+{
char unk_00[15];
u8 unk_0f;
u8 unk_10[4];
@@ -252,17 +265,18 @@ void sub_800E3A8(void);
void sub_800ED10(void);
void sub_800ED28(void);
void sub_8011090(u8 a0, u32 a1, u32 a2);
-void sub_8011FC8(u8 *a0, u16 a1);
+void sub_8011FC8(const u8 *src, u16 trainerId);
void sub_8010FA0(bool32 a0, bool32 a1);
void sub_8010F60(void);
void sub_8010FCC(u32 a0, u32 a1, u32 a2);
void sub_8011C84(void);
-void sub_8012188(const u8 *a0, struct UnkLinkRfuStruct_02022B14 *arg1, u8 arg2);
+void sub_8012188(const u8 *name, struct UnkLinkRfuStruct_02022B14 *structPtr, u8 a2);
bool32 sub_8011B90(void);
void sub_800FE50(u16 *a0);
bool32 sub_800E540(u16 id, u8 *name);
void sub_8011DE0(u32 arg0);
u8 sub_801100C(int a0);
void sub_800EF7C(void);
+bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx);
#endif //GUARD_LINK_RFU_H
diff --git a/include/load_save.h b/include/load_save.h
index 5fb5f6c42..c64a1179b 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -17,7 +17,7 @@ void SetSaveBlocksPointers(u16 offset);
void MoveSaveBlocks_ResetHeap(void);
u32 GetSecretBase2Field_9(void);
void ClearSecretBase2Field_9(void);
-void sub_8076D48(void);
+void SetSecretBase2Field_9(void);
void sub_8076D5C(void);
void sav2_gender2_inplace_and_xFE(void);
void SavePlayerParty(void);
@@ -30,6 +30,5 @@ void LoadPlayerBag(void);
void SavePlayerBag(void);
void ApplyNewEncryptionKeyToHword(u16 *hWord, u32 newKey);
void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey);
-void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
#endif // GUARD_LOAD_SAVE_H
diff --git a/include/main.h b/include/main.h
index 3de34de13..0d441035d 100644
--- a/include/main.h
+++ b/include/main.h
@@ -1,8 +1,6 @@
#ifndef GUARD_MAIN_H
#define GUARD_MAIN_H
-#include "global.h"
-
typedef void (*MainCallback)(void);
typedef void (*IntrCallback)(void);
typedef void (*IntrFunc)(void);
@@ -53,7 +51,7 @@ extern bool8 gSoftResetDisabled;
extern IntrFunc gIntrTable[];
extern u8 gLinkVSyncDisabled;
extern u32 IntrMain_Buffer[];
-extern u8 gPcmDmaCounter;
+extern s8 gPcmDmaCounter;
void AgbMain(void);
void SetMainCallback2(MainCallback callback);
diff --git a/include/menu.h b/include/menu.h
index d105eb5ec..eb525efe9 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -26,16 +26,16 @@ u16 RunTextPrintersAndIsPrinter0Active(void);
void sub_81973A4(void);
void NewMenuHelpers_DrawDialogueFrame(u8, u8);
void sub_819746C(u8 windowId, bool8 copyToVram);
-void NewMenuHelpers_DrawStdWindowFrame(u8, u8);
-u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
+u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
void PrintPlayerNameOnWindow(u8, const u8*, u16, u16);
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
void sub_8197434(u8 windowId, bool8 copyToVram);
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
-void sub_8197930(void);
-u8 GetPlayerTextSpeed(void);
+void DisplayYesNoMenu(void);
+u32 GetPlayerTextSpeed(void);
+u8 GetPlayerTextSpeedDelay(void);
void sub_81978B0(u16 arg0);
-void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16));
+void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16));
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
void sub_8198070(u8 windowId, bool8 copyToVram);
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
@@ -44,8 +44,8 @@ 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);
-s8 ProcessMenuInput(void);
-s8 Menu_ProcessInputNoWrapAround(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);
@@ -53,7 +53,7 @@ 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);
-s8 Menu_ProcessInputNoWrap_(void);
+s8 Menu_ProcessInputNoWrapClearOnChoose(void);
s8 ProcessMenuInput_other(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void);
@@ -83,10 +83,12 @@ void sub_819A344(u8 a0, u8 *dest, u8 color);
void RemoveMapNamePopUpWindow(void);
u8 GetMapNamePopUpWindowId(void);
u8 AddMapNamePopUpWindow(void);
-void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing);
+void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing);
void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
void sub_8197AE8(bool8 copyToVram);
+void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs);
+s8 Menu_ProcessInputGridLayout(void);
#endif // GUARD_MENU_H
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index 8301a22f2..e18639faf 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -77,7 +77,7 @@ bool8 MetatileBehavior_IsBerryTreeSoil(u8);
bool8 MetatileBehavior_IsAshGrass(u8);
bool8 MetatileBehavior_IsFootprints(u8);
bool8 MetatileBehavior_IsBridge(u8);
-u8 MetatileBehavior_GetBridgeSth(u8);
+u8 MetatileBehavior_GetBridgeType(u8);
u8 MetatileBehavior_8089510(u8);
bool8 MetatileBehavior_IsLandWildEncounter(u8);
bool8 MetatileBehavior_IsWaterWildEncounter(u8);
diff --git a/include/mossdeep_gym.h b/include/mossdeep_gym.h
new file mode 100644
index 000000000..c16730094
--- /dev/null
+++ b/include/mossdeep_gym.h
@@ -0,0 +1,9 @@
+#ifndef GUARD_MOSSDEEP_GYM_H
+#define GUARD_MOSSDEEP_GYM_H
+
+void InitMossdeepGymTiles(bool8 arg0);
+void FinishMossdeepGymTiles(void);
+u16 MossdeepGym_MoveEvents(u8 arg0);
+void MossdeepGym_TurnEvents(void);
+
+#endif // GUARD_MOSSDEEP_GYM_H
diff --git a/include/new_game.h b/include/new_game.h
index 7e1169ec3..f4d69cbce 100644
--- a/include/new_game.h
+++ b/include/new_game.h
@@ -1,9 +1,12 @@
#ifndef GUARD_NEW_GAME_H
#define GUARD_NEW_GAME_H
-void WriteUnalignedWord(u32 var, u8 *dataPtr);
-u32 ReadUnalignedWord(u8* dataPtr);
-void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom);
+extern bool8 gDifferentSaveFile;
+extern bool8 gUnknown_020322D5; // The purpose of this variable is unknown as it's read only 3 times(2 times in contest.c and 1 time in berry_blender.c), never written to.
+
+void SetTrainerId(u32 trainerId, u8 *dst);
+u32 GetTrainerId(u8 *trainerId);
+void CopyTrainerId(u8 *dst, u8 *src);
void NewGameInitData(void);
void sub_808447C(void);
void Sav2_ClearSetDefault(void);
diff --git a/include/overworld.h b/include/overworld.h
index 3dce20ab2..60d9d5133 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -22,9 +22,9 @@ extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4];
extern u16 *gBGTilemapBuffers1;
extern u16 *gBGTilemapBuffers2;
extern u16 *gBGTilemapBuffers3;
-
+extern u16 gUnknown_03005DA8;
extern void (*gFieldCallback)(void);
-
+extern bool8 (*gFieldCallback2)(void);
extern u8 gUnknown_03005DB4;
extern u8 gFieldLinkPlayerCount;
@@ -47,13 +47,8 @@ void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType);
const struct MapLayout *GetMapLayout(void);
void ApplyCurrentWarp(void);
void set_warp2_warp3_to_neg_1(void);
-void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
-bool32 IsDummyWarp(struct WarpData *warp);
struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
struct MapHeader const *const GetDestinationWarpMapHeader(void);
-void LoadCurrentMapData(void);
-void LoadSaveblockMapHeader(void);
-void SetPlayerCoordsFromWarp(void);
void WarpIntoMap(void);
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId);
@@ -67,15 +62,13 @@ void sub_8084D5C(s16 a1, s16 a2);
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void sub_8084E14(void);
void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
-void SetFixedDiveWarpAsDestination(void);
void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void SetFixedHoleWarpAsDestination(s16 x, s16 y);
void warp1_set_to_sav1w(void);
void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void sub_8084F6C(u8 a1);
-void sub_8084FAC(void);
+void sub_8084FAC(int unused);
const struct MapConnection *GetMapConnection(u8 dir);
-bool8 SetDiveWarp(u8 dir, u16 x, u16 y);
bool8 SetDiveWarpEmerge(u16 x, u16 y);
bool8 SetDiveWarpDive(u16 x, u16 y);
void mliX_load_map(u8 mapGroup, u8 mapNum);
@@ -105,7 +98,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter);
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
u8 GetMapTypeByWarpData(struct WarpData *warp);
u8 Overworld_GetMapTypeOfSaveblockLocation(void);
-u8 get_map_light_from_warp0(void);
+u8 GetLastUsedWarpMapType(void);
bool8 is_map_type_1_2_3_5_or_6(u8 mapType);
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
bool8 Overworld_MapTypeIsIndoors(u8 mapType);
diff --git a/include/party_menu.h b/include/party_menu.h
index 30a86e162..147a53304 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -77,6 +77,5 @@ extern void sub_81B67C8(u8, TaskFunc);
extern void sub_81B79E8(u8, TaskFunc);
extern void sub_81B6DC4(u8, TaskFunc);
extern void sub_81B7C74(u8, TaskFunc);
-extern u16 ItemIdToBattleMoveId(u16);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokedex.h b/include/pokedex.h
index f9e236588..3f90e9508 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -1,12 +1,8 @@
#ifndef GUARD_POKEDEX_H
#define GUARD_POKEDEX_H
-void ResetPokedex(void);
-void CopyMonCategoryText(u32 species, u8 *dst);
-u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
-u16 GetNationalPokedexCount(u8);
-u16 GetHoennPokedexCount(u8);
-u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
+extern u8 gUnknown_030060B0;
+extern void (*gUnknown_030060B4)(void);
enum
{
@@ -16,6 +12,24 @@ enum
FLAG_SET_CAUGHT
};
+struct PokedexEntry
+{
+ /*0x00*/ u8 categoryName[12];
+ /*0x0C*/ u16 height; //in decimeters
+ /*0x0E*/ u16 weight; //in hectograms
+ /*0x10*/ const u8 *description;
+ /*0x14*/ u16 unused;
+ /*0x16*/ u16 pokemonScale;
+ /*0x18*/ u16 pokemonOffset;
+ /*0x1A*/ u16 trainerScale;
+ /*0x1C*/ u16 trainerOffset;
+}; /*size = 0x20*/
+
+void ResetPokedex(void);
+u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
+u16 GetNationalPokedexCount(u8);
+u16 GetHoennPokedexCount(u8);
+u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 sub_80C0E9C(u16, s16, s16, u16);
diff --git a/include/pokedex_area_screen.h b/include/pokedex_area_screen.h
index 2fb5ade51..027d3e4a7 100755
--- a/include/pokedex_area_screen.h
+++ b/include/pokedex_area_screen.h
@@ -1,6 +1,6 @@
#ifndef GUARD_POKEDEX_AREA_SCREEN_H
#define GUARD_POKEDEX_AREA_SCREEN_H
-void sub_813D3D8(u16, u8*);
+void ShowPokedexAreaScreen(u16, u8*);
#endif // GUARD_POKEDEX_AREA_SCREEN_H
diff --git a/include/pokedex_cry_screen.h b/include/pokedex_cry_screen.h
index 6b5cc13f2..392e80a6d 100755
--- a/include/pokedex_cry_screen.h
+++ b/include/pokedex_cry_screen.h
@@ -13,7 +13,7 @@ struct CryRelatedStruct
bool8 sub_8145354(struct CryRelatedStruct*, u8);
void sub_814545C(u8);
void sub_8145534(u16);
-void sub_8145914(void);
bool8 sub_8145850(struct CryRelatedStruct*, u8);
+void sub_8145914(void);
#endif
diff --git a/include/pokemon.h b/include/pokemon.h
index 8259e7d34..5d7f7f2ae 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -112,25 +112,6 @@
#define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF
-#define TYPE_NORMAL 0x00
-#define TYPE_FIGHTING 0x01
-#define TYPE_FLYING 0x02
-#define TYPE_POISON 0x03
-#define TYPE_GROUND 0x04
-#define TYPE_ROCK 0x05
-#define TYPE_BUG 0x06
-#define TYPE_GHOST 0x07
-#define TYPE_STEEL 0x08
-#define TYPE_MYSTERY 0x09
-#define TYPE_FIRE 0x0a
-#define TYPE_WATER 0x0b
-#define TYPE_GRASS 0x0c
-#define TYPE_ELECTRIC 0x0d
-#define TYPE_PSYCHIC 0x0e
-#define TYPE_ICE 0x0f
-#define TYPE_DRAGON 0x10
-#define TYPE_DARK 0x11
-
#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused
#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused
@@ -151,7 +132,6 @@
#define STATUS_PRIMARY_FAINTED 0x7
#define MAX_TOTAL_EVS 510
-#define NUM_STATS 6
#define UNOWN_FORM_COUNT 28
struct PokemonSubstruct0
@@ -293,8 +273,6 @@ struct Unknown_806F160_Struct
struct SpriteFrameImage *frameImages;
};
-#define BATTLE_STATS_NO 8
-
struct BattlePokemon
{
/*0x00*/ u16 species;
@@ -312,7 +290,7 @@ struct BattlePokemon
/*0x17*/ u32 spDefenseIV:5;
/*0x17*/ u32 isEgg:1;
/*0x17*/ u32 altAbility:1;
- /*0x18*/ s8 statStages[BATTLE_STATS_NO];
+ /*0x18*/ s8 statStages[NUM_BATTLE_STATS];
/*0x20*/ u8 ability;
/*0x21*/ u8 type1;
/*0x22*/ u8 type2;
@@ -468,7 +446,6 @@ extern const u8 gUnknown_08329D2A[];
extern const u8 gStatStageRatios[][2];
extern const u16 gUnknown_08329D54[];
extern const struct SpriteTemplate gUnknown_08329D98[];
-extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const s8 gNatureStatTable[][5];
void ZeroBoxMonData(struct BoxPokemon *boxMon);
@@ -486,7 +463,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src);
void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50);
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
-void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
+void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest);
void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
bool8 sub_80688F8(u8 caseId, u8 battlerId);
@@ -595,8 +572,8 @@ u16 GetBattleBGM(void);
void PlayBattleBGM(void);
void PlayMapChosenOrBattleBGM(u16 songId);
void sub_806E694(u16 songId);
-const u8 *GetMonFrontSpritePal(struct Pokemon *mon);
-const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality);
+const u32 *GetMonFrontSpritePal(struct Pokemon *mon);
+const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality);
const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon);
const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality);
bool32 IsHMMove2(u16 move);
diff --git a/include/record_mixing.h b/include/record_mixing.h
index f1b74c143..0d50f46f9 100644
--- a/include/record_mixing.h
+++ b/include/record_mixing.h
@@ -1,35 +1,13 @@
#ifndef GUARD_RECORD_MIXING_H
#define GUARD_RECORD_MIXING_H
-// Exported type declarations
-struct UnkRecordMixingStruct2a
+struct PlayerHallRecords
{
- u8 playerId[4];
- u16 field_4;
- u8 playerName[PLAYER_NAME_LENGTH + 1];
- u8 language;
+ struct RankingHall1P onePlayer[9][2];
+ struct RankingHall2P twoPlayers[2];
};
-struct UnkRecordMixingStruct2b
-{
- u8 playerId1[4];
- u8 playerId2[4];
- u16 field_8;
- u8 playerName1[PLAYER_NAME_LENGTH + 1];
- u8 playerName2[PLAYER_NAME_LENGTH + 1];
- u8 language;
-};
-
-struct UnkRecordMixingStruct2
-{
- struct UnkRecordMixingStruct2a field_0[9][2];
- struct UnkRecordMixingStruct2b field_120[2];
-};
-
-// Exported RAM declarations
-
-// Exported ROM declarations
void sub_80E6BE8(void);
-void sub_80E8260(struct UnkRecordMixingStruct2 *arg0);
+void GetPlayerHallRecords(struct PlayerHallRecords *dst);
#endif //GUARD_RECORD_MIXING_H
diff --git a/include/recorded_battle.h b/include/recorded_battle.h
index 81c88a15e..84c5c2ea2 100644
--- a/include/recorded_battle.h
+++ b/include/recorded_battle.h
@@ -14,16 +14,16 @@ u8 sub_81850D0(void);
u8 sub_81850DC(u8 *arg0);
void sub_81851A8(u8 *arg0);
bool32 CanCopyRecordedBattleSaveData(void);
-u32 MoveRecordedBattleToSaveData(void);
+bool32 MoveRecordedBattleToSaveData(void);
void PlayRecordedBattle(void (*CB2_After)(void));
u8 GetRecordedBattleFrontierFacility(void);
-u8 sub_8185EAC(void);
+u8 GetRecordedBattleFronterBrainSymbol(void);
void RecordedBattle_SaveParties(void);
u8 GetActiveBattlerLinkPlayerGender(void);
void sub_8185F84(void);
void sub_8185F90(u16 arg0);
u8 sub_8185FAC(void);
-u8 GetBattleStyleInRecordedBattle(void);
+u8 GetBattleSceneInRecordedBattle(void);
u8 GetTextSpeedInRecordedBattle(void);
void RecordedBattle_CopyBattlerMoves(void);
void sub_818603C(u8 arg0);
@@ -31,11 +31,11 @@ u32 GetAiScriptsInRecordedBattle(void);
void sub_8186444(void);
bool8 sub_8186450(void);
void sub_8186468(u8 *dst);
-u8 sub_818649C(void);
-u8 sub_81864A8(void);
-u8 sub_81864B4(void);
-u8 sub_81864C0(void);
-void sub_81864CC(void);
-u16 *sub_81864E0(void);
+u8 GetRecordedBattleRecordMixFriendClass(void);
+u8 GetRecordedBattleApprenticeId(void);
+u8 GetRecordedBattleRecordMixFriendLanguage(void);
+u8 GetRecordedBattleApprenticeLanguage(void);
+void RecordedBattle_SaveBattleOutcome(void);
+u16 *GetRecordedBattleEasyChatSpeech(void);
#endif // GUARD_RECORDED_BATTLE_H
diff --git a/include/region_map.h b/include/region_map.h
index 6339f7a88..0c82232cf 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -78,6 +78,15 @@ struct RegionMap {
/*0x284*/ u8 cursorLargeImage[0x600];
}; // size = 0x884
+struct RegionMapLocation
+{
+ u8 x;
+ u8 y;
+ u8 width;
+ u8 height;
+ const u8 *name;
+};
+
// Exported RAM declarations
// Exported ROM declarations
@@ -95,5 +104,10 @@ u8 *GetMapName(u8 *, u16, u16);
bool32 sub_8124668(u8 mapSecId);
u8 *sub_81245DC(u8 *dest, u16 mapSecId);
u8 *sub_8124610(u8 *dest, u16 mapSecId);
+u16 CorrectSpecialMapSecId(u16 mapSecId);
+void sub_8122D88(struct RegionMap *regionMap);
+void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y);
+
+extern const struct RegionMapLocation gRegionMapEntries[];
#endif //GUARD_REGION_MAP_H
diff --git a/include/save.h b/include/save.h
index a87e31e99..b151f1064 100644
--- a/include/save.h
+++ b/include/save.h
@@ -54,7 +54,12 @@ enum
SAVE_HALL_OF_FAME_ERASE_BEFORE // unused
};
-#define SECTION_ID_RECORDED_BATTLE 31
+#define SECTOR_SAVE_SLOT_LENGTH 14
+#define SECTOR_ID_HOF_1 28
+#define SECTOR_ID_HOF_2 29
+#define SECTOR_ID_TRAINER_HILL 30
+#define SECTOR_ID_RECORDED_BATTLE 31
+#define SECTORS_COUNT 32
extern u16 gLastWrittenSector;
extern u32 gLastSaveCounter;
@@ -72,29 +77,9 @@ extern struct SaveSection gSaveDataBuffer;
void ClearSaveData(void);
void Save_ResetSaveCounters(void);
-bool32 SetDamagedSectorBits(u8 op, u8 bit);
-u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location);
-u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location);
-u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size);
-u8 TryWriteSector(u8 sector, u8 *data);
-u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location);
-u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location);
-u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location);
-u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location);
-u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location);
-u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location);
-u8 GetSaveValidStatus(const struct SaveSectionLocation *location);
-u8 sub_81530DC(u8 a1, u8 *data, u16 size);
-u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section);
-u16 CalculateChecksum(void *data, u16 size);
-void UpdateSaveAddresses(void);
u8 HandleSavingData(u8 saveType);
u8 TrySavingData(u8 saveType);
-u8 sub_8153380(void);
+bool8 sub_8153380(void);
bool8 sub_81533AC(void);
u8 sub_81533E0(void);
u8 sub_8153408(void);
diff --git a/include/save_location.h b/include/save_location.h
index 95b3a7d7d..71dbd3fd8 100644
--- a/include/save_location.h
+++ b/include/save_location.h
@@ -1,7 +1,6 @@
#ifndef GUARD_SAVE_LOCATION_H
#define GUARD_SAVE_LOCATION_H
-bool32 sub_81AFCEC(void);
void TrySetMapSaveWarpStatus(void);
void sub_81AFDA0(void);
void sub_81AFDD0(void);
diff --git a/include/script_menu.h b/include/script_menu.h
index 8870e80b9..a6d52c31e 100644
--- a/include/script_menu.h
+++ b/include/script_menu.h
@@ -1,7 +1,7 @@
#ifndef GUARD_SCRIPT_MENU_H
#define GUARD_SCRIPT_MENU_H
-extern const u8 *const gUnknown_0858BAF0[9];
+extern const u8 *const gUnknown_0858BAF0[];
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4);
bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5);
@@ -9,10 +9,10 @@ bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
-s32 convert_pixel_width_to_tile_width(s32);
+int convert_pixel_width_to_tile_width(int);
u8 CreateWindowFromRect(u8, u8, u8, u8);
void sub_80E2A78(u8);
-u32 display_text_and_get_width(const u8*, u32);
-u8 sub_80E2D5C(u8 arg0, u8 tileWidth);
+int display_text_and_get_width(const u8*, int);
+int sub_80E2D5C(int arg0, int tileWidth);
#endif //GUARD_SCRIPT_MENU_H
diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h
index 68aec7eb6..02a35ecba 100644
--- a/include/script_pokemon_util_80F87D8.h
+++ b/include/script_pokemon_util_80F87D8.h
@@ -1,8 +1,8 @@
-
#ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
u16 sub_80F903C(void);
-void ReducePlayerPartyToThree(void);
+void ReducePlayerPartyToSelectedMons(void);
+void HealPlayerParty(void);
#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
diff --git a/include/shop.h b/include/shop.h
index 067b8fee4..7f2d877dc 100644
--- a/include/shop.h
+++ b/include/shop.h
@@ -1,7 +1,7 @@
#ifndef GUARD_SHOP_H
#define GUARD_SHOP_H
-extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3];
+extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3];
enum
{
@@ -10,9 +10,19 @@ enum
MART_TYPE_2,
};
+// shop view window NPC info enum
+enum
+{
+ EVENT_OBJ_ID,
+ X_COORD,
+ Y_COORD,
+ ANIM_NUM,
+ LAYER_TYPE
+};
+
struct MartInfo
{
- /*0x0*/ void (* callback) (void);
+ /*0x0*/ void (*callback)(void);
/*0x4*/ const struct MenuAction *menuActions;
/*0x8*/ const u16 *itemList;
/*0xC*/ u16 itemCount;
@@ -20,23 +30,18 @@ struct MartInfo
/*0xF*/ u8 martType;
};
-struct BuyMenuLabel
-{
- u8 label[16];
-};
-
struct ShopData
{
- /*0x0000*/ u8 tilemapBuffers[4][0x800];
- /*0x2000*/ u8 filler2000[0x4];
- /*0x2004*/ u16 unk2004;
- /*0x2006*/ u8 filler2006[0x2];
- /*0x2008*/ u16 unk2008;
- /*0x200A*/ u8 filler200A;
+ /*0x0000*/ u16 tilemapBuffers[4][0x400];
+ /*0x2000*/ u32 totalCost;
+ /*0x2004*/ u16 itemsShowed;
+ /*0x2006*/ u16 selectedRow;
+ /*0x2008*/ u16 scrollOffset;
+ /*0x200A*/ u8 maxQuantity;
/*0x200B*/ u8 scrollIndicatorsTaskId;
- /*0x200C*/ u8 unk200C;
- /*0x200D*/ u8 unk200D[2];
- /*0x200F*/ u8 filler200F[0xA1];
+ /*0x200C*/ u8 iconSlot;
+ /*0x200D*/ u8 itemSpriteIds[2];
+ /*0x2010*/ s16 viewportObjects[16][5];
};
void CreatePokemartMenu(const u16 *);
diff --git a/include/sprite.h b/include/sprite.h
index 8fc45d501..32bdd9c55 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -6,21 +6,21 @@
struct SpriteSheet
{
- const u8 *data; // Raw uncompressed pixel data
+ const void *data; // Raw uncompressed pixel data
u16 size;
u16 tag;
};
struct CompressedSpriteSheet
{
- const u8 *data; // LZ77 compressed pixel data
+ const u32 *data; // LZ77 compressed pixel data
u16 size; // Uncompressed size of pixel data
u16 tag;
};
struct SpriteFrameImage
{
- const u8 *data;
+ const void *data;
u16 size;
};
@@ -36,7 +36,7 @@ struct SpritePalette
struct CompressedSpritePalette
{
- const u8 *data; // LZ77 compressed palette data
+ const u32 *data; // LZ77 compressed palette data
u16 tag;
};
@@ -103,12 +103,19 @@ struct AffineAnimJumpCmd
u16 target;
};
+struct AffineAnimEndCmdAlt
+{
+ s16 type;
+ u16 val;
+};
+
union AffineAnimCmd
{
s16 type;
struct AffineAnimFrameCmd frame;
struct AffineAnimLoopCmd loop;
struct AffineAnimJumpCmd jump;
+ struct AffineAnimEndCmdAlt end; // unused in code
};
#define AFFINEANIMCMDTYPE_LOOP 0x7FFD
@@ -123,6 +130,8 @@ union AffineAnimCmd
{.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
#define AFFINEANIMCMD_END \
{.type = AFFINEANIMCMDTYPE_END}
+#define AFFINEANIMCMD_END_ALT(_val) \
+ {.end = {.type = AFFINEANIMCMDTYPE_END, .val = _val}}
struct AffineAnimState
{
@@ -235,11 +244,15 @@ extern const struct OamData gDummyOamData;
extern const union AnimCmd *const gDummySpriteAnimTable[];
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
extern const struct SpriteTemplate gDummySpriteTemplate;
-extern s16 gSpriteCoordOffsetX;
-extern s16 gSpriteCoordOffsetY;
+extern u8 gReservedSpritePaletteCount;
extern struct Sprite gSprites[];
+extern u8 gOamLimit;
+extern u16 gReservedSpriteTileCount;
+extern s16 gSpriteCoordOffsetX;
+extern s16 gSpriteCoordOffsetY;
extern struct OamMatrix gOamMatrices[];
+extern bool8 gAffineAnimsDisabled;
void ResetSpriteData(void);
void AnimateSprites(void);
diff --git a/include/start_menu.h b/include/start_menu.h
index 5551b149d..2fdb3e652 100644
--- a/include/start_menu.h
+++ b/include/start_menu.h
@@ -1,7 +1,7 @@
#ifndef GUARD_START_MENU_H
#define GUARD_START_MENU_H
-extern bool8 (*gMenuCallback)(void); // Defined in sym_common.txt
+extern bool8 (*gMenuCallback)(void);
void sub_809FA18(void);
void sub_809FA34(u8 taskId);
diff --git a/include/starter_choose.h b/include/starter_choose.h
index 18af478aa..535e272b7 100644
--- a/include/starter_choose.h
+++ b/include/starter_choose.h
@@ -2,9 +2,9 @@
#define GUARD_STARTER_CHOOSE_H
extern const u16 gBirchBagGrassPal[2][16];
-extern const u8 gBirchBagTilemap[];
-extern const u8 gBirchGrassTilemap[];
-extern const u8 gBirchHelpGfx[];
+extern const u32 gBirchBagTilemap[];
+extern const u32 gBirchGrassTilemap[];
+extern const u32 gBirchHelpGfx[];
u16 GetStarterPokemon(u16 chosenStarterId);
void CB2_ChooseStarter(void);
diff --git a/include/string_util.h b/include/string_util.h
index 7b685fcea..d7a005ec5 100644
--- a/include/string_util.h
+++ b/include/string_util.h
@@ -1,6 +1,11 @@
#ifndef GUARD_STRING_UTIL_H
#define GUARD_STRING_UTIL_H
+extern u8 gStringVar1[];
+extern u8 gStringVar2[];
+extern u8 gStringVar3[];
+extern u8 gStringVar4[];
+
enum StringConvertMode
{
STR_CONV_MODE_LEFT_ALIGN,
@@ -34,7 +39,6 @@ u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color);
bool32 IsStringJapanese(u8 *str);
bool32 sub_800924C(u8 *str, s32 n);
u8 GetExtCtrlCodeLength(u8 code);
-static const u8 *SkipExtCtrlCode(const u8 *s);
s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2);
void ConvertInternationalString(u8 *s, u8 language);
void StripExtCtrlCodes(u8 *str);
diff --git a/include/strings.h b/include/strings.h
index d8b1f4f7c..22ff75bc5 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -15,6 +15,28 @@ extern const u8 gText_Cute[];
extern const u8 gText_Smart[];
extern const u8 gText_Tough[];
+extern const u8 gText_Normal[];
+extern const u8 gText_Super[];
+extern const u8 gText_Hyper[];
+extern const u8 gText_Master[];
+
+extern const u8 gText_Cool2[];
+extern const u8 gText_Beauty2[];
+extern const u8 gText_Cute2[];
+extern const u8 gText_Smart2[];
+extern const u8 gText_Tough2[];
+
+extern const u8 gText_Items[];
+extern const u8 gText_Key_Items[];
+extern const u8 gText_Poke_Balls[];
+extern const u8 gText_TMs_Hms[];
+extern const u8 gText_Berries2[];
+
+extern const u8 gText_Single2[];
+extern const u8 gText_Double2[];
+extern const u8 gText_Multi[];
+extern const u8 gText_MultiLink[];
+
extern const u8 gText_Single[];
extern const u8 gText_Double[];
@@ -201,6 +223,14 @@ extern const u8 gText_Peak[];
extern const u8 gText_SafariBallStock[];
extern const u8 gText_BattlePyramidFloor[];
+extern const u8 gText_MenuOptionPokedex[];
+extern const u8 gText_MenuOptionPokemon[];
+extern const u8 gText_MenuOptionBag[];
+extern const u8 gText_MenuOptionPokenav[];
+extern const u8 gText_MenuOptionSave[];
+extern const u8 gText_MenuOptionOption[];
+extern const u8 gText_MenuOptionExit[];
+
// save menu texts
extern const u8 gText_ConfirmSave[];
extern const u8 gText_DifferentSaveFile[];
@@ -862,5 +892,522 @@ extern const u8 gText_CanIHelpWithAnythingElse[];
extern const u8 gText_AnythingElseICanHelp[];
extern const u8 gText_QuitShopping[];
extern const u8 gText_PokedollarVar1[];
+extern const u8 gText_YouDontHaveMoney[];
+extern const u8 gText_Var1CertainlyHowMany2[];
+extern const u8 gText_Var1CertainlyHowMany[];
+extern const u8 gText_Var1IsItThatllBeVar2[];
+extern const u8 gText_YouWantedVar1ThatllBeVar2[];
+extern const u8 gText_InBagVar1[];
+extern const u8 gText_Var1AndYouWantedVar2[];
+extern const u8 gText_HereYouGoThankYou[];
+extern const u8 gText_NoMoreRoomForThis[];
+extern const u8 gText_ThankYouIllSendItHome[];
+extern const u8 gText_ThanksIllSendItHome[];
+extern const u8 gText_SpaceForVar1Full[];
+extern const u8 gText_ThrowInPremierBall[];
+extern const u8 gText_ShopBuy[];
+extern const u8 gText_ShopSell[];
+extern const u8 gText_ShopQuit[];
+
+extern const u8 gText_OhABite[];
+extern const u8 gText_PokemonOnHook[];
+extern const u8 gText_NotEvenANibble[];
+extern const u8 gText_ItGotAway[];
+
+extern const u8 gText_HallOfFame[];
+extern const u8 gText_LogOff[];
+extern const u8 gText_LanettesPC[];
+extern const u8 gText_SomeonesPC[];
+extern const u8 gText_PlayersPC[];
+extern const u8 gText_WhichPCShouldBeAccessed[];
+
+extern const u8 gUnknown_085EAD37[];
+extern const u8 gUnknown_085EAD41[];
+extern const u8 gUnknown_085EAD67[];
+extern const u8 gUnknown_085EAD6D[];
+extern const u8 gUnknown_085EAD72[];
+extern const u8 gUnknown_085EAD84[];
+extern const u8 gUnknown_085EAD96[];
+extern const u8 gUnknown_085EADA4[];
+extern const u8 gUnknown_085EADB5[];
+extern const u8 gUnknown_085EADC4[];
+extern const u8 gUnknown_085EADD5[];
+extern const u8 gUnknown_085EADE7[];
+extern const u8 gUnknown_085EADF9[];
+extern const u8 gUnknown_085EAE04[];
+extern const u8 gUnknown_085EAE12[];
+extern const u8 gUnknown_085EAE1B[];
+extern const u8 gUnknown_085EAE27[];
+extern const u8 gUnknown_085EAE2C[];
+extern const u8 gUnknown_085EAE31[];
+extern const u8 gUnknown_085EAE35[];
+extern const u8 gUnknown_085EAE39[];
+extern const u8 gUnknown_085EAE3D[];
+extern const u8 gUnknown_085EAE41[];
+extern const u8 gUnknown_085EAD5F[];
+extern const u8 gUnknown_085EAE53[];
+extern const u8 gUnknown_085EAE5A[];
+extern const u8 gText_Yes[];
+extern const u8 gText_No[];
+extern const u8 gUnknown_085EAEA2[];
+extern const u8 gUnknown_085EAEAC[];
+extern const u8 gUnknown_0827ECBC[];
+extern const u8 gUnknown_0827ECC3[];
+extern const u8 gUnknown_0827ECCD[];
+extern const u8 gUnknown_0827ECD5[];
+extern const u8 gUnknown_0827ECDD[];
+extern const u8 gUnknown_0827ECE3[];
+extern const u8 gUnknown_0827ECEB[];
+extern const u8 gUnknown_0827ECF2[];
+extern const u8 gUnknown_0827ECF8[];
+extern const u8 gUnknown_0827ED00[];
+extern const u8 gUnknown_0827ED06[];
+extern const u8 gUnknown_0827ED10[];
+extern const u8 gUnknown_0827ED18[];
+extern const u8 gUnknown_0827ED22[];
+extern const u8 gUnknown_0827ED2C[];
+extern const u8 gUnknown_0827ED36[];
+extern const u8 gUnknown_0827ED40[];
+extern const u8 gUnknown_0827ED46[];
+extern const u8 gUnknown_0827ED4F[];
+extern const u8 gUnknown_0827ED59[];
+extern const u8 gUnknown_0827ED65[];
+extern const u8 gUnknown_0827ED70[];
+extern const u8 gUnknown_0827ED74[];
+extern const u8 gUnknown_0827ED78[];
+extern const u8 gUnknown_0827ED80[];
+extern const u8 gUnknown_0827ED95[];
+extern const u8 gUnknown_0827EDAA[];
+extern const u8 gUnknown_0827EDB5[];
+extern const u8 gUnknown_0827EDBA[];
+extern const u8 gUnknown_0827EDC1[];
+extern const u8 gUnknown_0827EDC9[];
+extern const u8 gUnknown_0827EDD5[];
+extern const u8 gUnknown_0827EDE4[];
+extern const u8 gUnknown_0827EDF0[];
+extern const u8 gUnknown_0827EDF5[];
+extern const u8 gUnknown_0827EDF7[];
+extern const u8 gUnknown_0827EDF9[];
+extern const u8 gUnknown_0827EDFB[];
+extern const u8 gUnknown_0827EDFD[];
+extern const u8 gUnknown_0827EDFF[];
+extern const u8 gUnknown_0827EE01[];
+extern const u8 gUnknown_0827EE03[];
+extern const u8 gUnknown_0827EE05[];
+extern const u8 gUnknown_0827EE07[];
+extern const u8 gUnknown_0827EE09[];
+
+// Pokedex strings
+extern const u8 gUnknown_085E87A5[];
+extern const u8 gUnknown_085E87D6[];
+extern const u8 gUnknown_085E87EF[];
+extern const u8 gUnknown_085E8806[];
+extern const u8 gUnknown_085E881F[];
+extern const u8 gUnknown_085E8840[];
+extern const u8 gUnknown_085E887C[];
+extern const u8 gUnknown_085E88A6[];
+extern const u8 gUnknown_085E88C8[];
+extern const u8 gText_DexHoennTitle[];
+extern const u8 gText_DexNatTitle[];
+extern const u8 gText_DexSortNumericalTitle[];
+extern const u8 gText_DexSortAtoZTitle[];
+extern const u8 gText_DexSortHeaviestTitle[];
+extern const u8 gText_DexSortLightestTitle[];
+extern const u8 gText_DexSortTallestTitle[];
+extern const u8 gText_DexSortSmallestTitle[];
+extern const u8 gText_DexSearchAlphaABC[];
+extern const u8 gText_DexSearchAlphaDEF[];
+extern const u8 gText_DexSearchAlphaGHI[];
+extern const u8 gText_DexSearchAlphaJKL[];
+extern const u8 gText_DexSearchAlphaMNO[];
+extern const u8 gText_DexSearchAlphaPQR[];
+extern const u8 gText_DexSearchAlphaSTU[];
+extern const u8 gText_DexSearchAlphaVWX[];
+extern const u8 gText_DexSearchAlphaYZ[];
+extern const u8 gText_DexSearchColorRed[];
+extern const u8 gText_DexSearchColorBlue[];
+extern const u8 gText_DexSearchColorYellow[];
+extern const u8 gText_DexSearchColorGreen[];
+extern const u8 gText_DexSearchColorBlack[];
+extern const u8 gText_DexSearchColorBrown[];
+extern const u8 gText_DexSearchColorPurple[];
+extern const u8 gText_DexSearchColorGray[];
+extern const u8 gText_DexSearchColorWhite[];
+extern const u8 gText_DexSearchColorPink[];
+extern const u8 gText_DexHoennDescription[];
+extern const u8 gText_DexNatDescription[];
+extern const u8 gText_DexSortNumericalDescription[];
+extern const u8 gText_DexSortAtoZDescription[];
+extern const u8 gText_DexSortHeaviestDescription[];
+extern const u8 gText_DexSortLightestDescription[];
+extern const u8 gText_DexSortTallestDescription[];
+extern const u8 ggText_DexSortSmallestDescription[];
+extern const u8 gText_DexEmptyString[];
+extern const u8 gText_DexSearchDontSpecify[];
+extern const u8 gText_DexSearchTypeNone[];
+
+extern const u8 gUnknown_085EAEC3[];
+extern const u8 gUnknown_085EAED6[];
+extern const u8 gUnknown_085EAEE6[];
+extern const u8 gUnknown_085EAEF6[];
+extern const u8 gUnknown_085EAF02[];
+extern const u8 gUnknown_085EAF0E[];
+extern const u8 gUnknown_085EAF1B[];
+extern const u8 gUnknown_085EAF24[];
+extern const u8 gUnknown_085EAF2F[];
+extern const u8 gUnknown_085EAF34[];
+extern const u8 gUnknown_085EAF3E[];
+extern const u8 gUnknown_085EAF4B[];
+extern const u8 gUnknown_085EAF58[];
+extern const u8 gUnknown_085EAF65[];
+extern const u8 gUnknown_085EAF70[];
+extern const u8 gUnknown_085EAF7D[];
+extern const u8 gUnknown_085EAF87[];
+extern const u8 gUnknown_085EAF93[];
+extern const u8 gUnknown_085EAF9F[];
+extern const u8 gUnknown_085EAFAB[];
+extern const u8 gUnknown_085EAFB6[];
+extern const u8 gUnknown_085EAFCF[];
+extern const u8 gUnknown_085EAFE8[];
+extern const u8 gUnknown_085EB089[];
+extern const u8 gUnknown_085EB09C[];
+extern const u8 gUnknown_085EB0AF[];
+extern const u8 gUnknown_085EB0C2[];
+extern const u8 gUnknown_085EB0D5[];
+extern const u8 gUnknown_085EB002[];
+extern const u8 gUnknown_085EB017[];
+extern const u8 gUnknown_085EB02A[];
+extern const u8 gUnknown_085EB034[];
+extern const u8 gText_LilycoveCity[];
+extern const u8 gUnknown_085EB07E[];
+extern const u8 gUnknown_085EB084[];
+extern const u8 gUnknown_085EB040[];
+extern const u8 gUnknown_085EB04A[];
+extern const u8 gUnknown_085EB057[];
+extern const u8 gUnknown_085EB062[];
+extern const u8 gText_Opponent[];
+extern const u8 gText_Tourney_Tree[];
+extern const u8 gText_ReadyToStart[];
+extern const u8 gUnknown_085EB5BC[];
+extern const u8 gUnknown_085EB5C3[];
+extern const u8 gUnknown_085EB5C8[];
+extern const u8 gUnknown_085EB29A[];
+extern const u8 gUnknown_085EB2A3[];
+extern const u8 gUnknown_085EB372[];
+extern const u8 gUnknown_085EB37F[];
+extern const u8 gUnknown_085EB389[];
+extern const u8 gUnknown_085EAE6E[];
+extern const u8 gUnknown_085EAE7C[];
+extern const u8 gUnknown_085EAE8A[];
+extern const u8 gUnknown_085EAD6D[];
+extern const u8 gUnknown_085EB397[];
+extern const u8 gUnknown_085EB3A4[];
+extern const u8 gUnknown_085EB3B1[];
+extern const u8 gUnknown_085EB3D4[];
+extern const u8 gUnknown_085EB3C6[];
+extern const u8 gText_NormalRank[];
+extern const u8 gText_SuperRank[];
+extern const u8 gText_HyperRank[];
+extern const u8 gText_MasterRank[];
+extern const u8 gText_BattleBag[];
+extern const u8 gText_HeldItem[];
+extern const u8 gText_LinkContest[];
+extern const u8 gText_AboutE_Mode[];
+extern const u8 gText_AboutG_Mode[];
+extern const u8 gText_E_Mode[];
+extern const u8 gText_G_Mode[];
+extern const u8 gUnknown_085EB278[];
+extern const u8 gUnknown_085EB28A[];
+extern const u8 gUnknown_085EB290[];
+extern const u8 gUnknown_085EB295[];
+extern const u8 gUnknown_085EB2E4[];
+extern const u8 gUnknown_085EB2F0[];
+extern const u8 gUnknown_085EB2FC[];
+extern const u8 gUnknown_085EB3DF[];
+extern const u8 gUnknown_085EB3EA[];
+extern const u8 gUnknown_085EB3F1[];
+extern const u8 gUnknown_085EB3FC[];
+extern const u8 gUnknown_085EB40A[];
+extern const u8 gUnknown_085EB415[];
+extern const u8 gUnknown_085EB41D[];
+extern const u8 gUnknown_085EB424[];
+extern const u8 gUnknown_085EB45C[];
+extern const u8 gUnknown_085EB469[];
+extern const u8 gUnknown_085EB475[];
+extern const u8 gUnknown_085EB482[];
+extern const u8 gUnknown_085EB42F[];
+extern const u8 gUnknown_085EB43A[];
+extern const u8 gUnknown_085EB444[];
+extern const u8 gUnknown_085EB451[];
+extern const u8 gUnknown_085EB48E[];
+extern const u8 gUnknown_085EB496[];
+extern const u8 gUnknown_085EB4A3[];
+extern const u8 gUnknown_085EB4AD[];
+extern const u8 gUnknown_085EB4B9[];
+extern const u8 gUnknown_085EB4C7[];
+extern const u8 gUnknown_085EB4D4[];
+extern const u8 gUnknown_085EB4E0[];
+extern const u8 gUnknown_085EB532[];
+extern const u8 gUnknown_085EB543[];
+extern const u8 gUnknown_085EB555[];
+extern const u8 gUnknown_085EB563[];
+extern const u8 gUnknown_085EB56E[];
+extern const u8 gUnknown_085EB57E[];
+extern const u8 gUnknown_085EB589[];
+extern const u8 gUnknown_085EB5B6[];
+extern const u8 gUnknown_085EE14B[];
+extern const u8 gUnknown_085EE14F[];
+extern const u8 gUnknown_085EB2FF[];
+extern const u8 gUnknown_085EB310[];
+extern const u8 gUnknown_085EB317[];
+extern const u8 gUnknown_085EB31F[];
+extern const u8 gText_CaveOfOrigin[];
+extern const u8 gText_MtPyre[];
+extern const u8 gText_SkyPillar[];
+extern const u8 gText_DontRemember[];
+extern const u8 gUnknown_085EB597[];
+extern const u8 gUnknown_085EB32D[];
+extern const u8 gUnknown_085EB33E[];
+extern const u8 gUnknown_085EB350[];
+extern const u8 gUnknown_085EB361[];
+
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F96[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_278831[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787FC[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27879F[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_2787D5[];
+extern const u8 OldaleTown_PokemonCenter_2F_Text_27889C[];
+
+// Frontier records.
+extern const u8 gText_WinStreak[];
+extern const u8 gText_Record[];
+extern const u8 gText_Current[];
+extern const u8 gText_RoomsCleared[];
+extern const u8 gText_Prev[];
+extern const u8 gText_SingleBattleRoomResults[];
+extern const u8 gText_DoubleBattleRoomResults[];
+extern const u8 gText_MultiBattleRoomResults[];
+extern const u8 gText_LinkMultiBattleRoomResults[];
+extern const u8 gText_Lv502[];
+extern const u8 gText_OpenLv[];
+extern const u8 gText_RentalSwap[];
+extern const u8 gText_ClearStreak[];
+extern const u8 gText_Total[];
+extern const u8 gText_Championships[];
+extern const u8 gText_SingleBattleTourneyResults[];
+extern const u8 gText_DoubleBattleTourneyResults[];
+extern const u8 gText_SingleBattleHallResults[];
+extern const u8 gText_DoubleBattleHallResults[];
+extern const u8 gText_BattleChoiceResults[];
+extern const u8 gText_TimesCleared[];
+extern const u8 gText_KOsInARow[];
+extern const u8 gText_SetKOTourneyResults[];
+extern const u8 gText_TimesVar1[];
+extern const u8 gText_BattleSwapSingleResults[];
+extern const u8 gText_BattleSwapDoubleResults[];
+extern const u8 gText_FloorsCleared[];
+extern const u8 gText_BattleQuestResults[];
+extern const u8 gText_LinkContestResults[];
+extern const u8 gText_4th[];
+extern const u8 gText_3rd[];
+extern const u8 gText_2nd[];
+extern const u8 gText_1st[];
+extern const u8 gText_SpaceAndSpace[];
+extern const u8 gText_CommaSpace[];
+extern const u8 gText_NewLine[];
+extern const u8 gText_ScrollTextUp[];
+extern const u8 gText_Space2[];
+extern const u8 gText_Are[];
+extern const u8 gText_Are2[];
+extern const u8 gText_123Dot[][3];
+
+// Frontier util.
+extern const u8 gUnknown_085ED164[];
+extern const u8 gUnknown_085ED170[];
+extern const u8 gUnknown_085ED17C[];
+extern const u8 gUnknown_085ED188[];
+extern const u8 gUnknown_085ED190[];
+
+extern const u8 gText_RecordsLv50[];
+extern const u8 gText_RecordsOpenLevel[];
+extern const u8 gText_FrontierFacilityWinStreak[];
+extern const u8 gText_FrontierFacilityClearStreak[];
+extern const u8 gText_FrontierFacilityRoomsCleared[];
+extern const u8 gText_FrontierFacilityKOsStreak[];
+extern const u8 gText_FrontierFacilityFloorsCleared[];
+
+extern const u8 gText_082C843F[];
+extern const u8 gText_082C848B[];
+extern const u8 gText_082C8628[];
+extern const u8 gText_082C85B4[];
+extern const u8 gText_082C8512[];
+extern const u8 gText_082C859D[];
+extern const u8 gText_082C86C3[];
+extern const u8 gText_082C8458[];
+extern const u8 gText_082C84C1[];
+extern const u8 gText_082C8662[];
+extern const u8 gText_082C85E3[];
+extern const u8 gText_082C853B[];
+extern const u8 gText_082C85A4[];
+extern const u8 gText_082C86FE[];
+extern const u8 gText_082C846C[];
+extern const u8 gText_082C84D0[];
+extern const u8 gText_082C8682[];
+extern const u8 gText_082C85F5[];
+extern const u8 gText_082C8561[];
+extern const u8 gText_082C85A9[];
+extern const u8 gText_082C8739[];
+extern const u8 gText_082C8480[];
+extern const u8 gText_082C84F7[];
+extern const u8 gText_082C86B3[];
+extern const u8 gText_082C8611[];
+extern const u8 gText_082C8589[];
+extern const u8 gText_082C85AE[];
+extern const u8 gText_082C877B[];
+
+// Battle Pyramid.
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252D2D[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252D57[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252D81[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252DAB[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25330B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2532CC[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25328B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253248[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253206[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2531C4[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253183[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253140[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2530FD[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2544A6[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25445A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25440B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2543BA[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25436A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25431A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2542CB[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25427A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252DD5[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E03[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E31[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E5F[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25362E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2535D4[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253578[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25351A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2534BD[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253460[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253404[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2533A6[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25334D[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25471E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2546CC[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25467C[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25462A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2545D9[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254588[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254538[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2544E6[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E8D[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252EAA[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252EC7[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252EE4[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2539EC[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253980[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253915[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2538A8[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25383C[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2537D0[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253765[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2536F8[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25368B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254A0B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2549AE[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25494D[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2548EB[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25488A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254829[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2547C9[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254767[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252F01[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252F3A[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252F73[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252FAC[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253D3E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253CE0[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253C87[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253C2C[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253BD2[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253B78[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253B1F[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253AC4[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253A69[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254C3E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254BF1[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254BAE[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254B69[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254B25[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254AE1[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254A9E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254A59[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252FE5[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253000[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25301B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253036[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253F6C[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253F34[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253EFA[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253EBE[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253E83[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253E48[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253E0E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253DD2[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253D96[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254E6E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254E27[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254DE0[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254D97[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254D4F[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254D07[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254CC0[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254C77[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253051[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25307C[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2530A7[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2530D2[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25422B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2541DD[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25418D[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25413B[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2540EA[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254099[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254049[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253FF7[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253FA5[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_255068[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25502F[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254FF6[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254FBB[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F81[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F47[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F0E[];
+extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254ED3[];
#endif //GUARD_STRINGS_H
diff --git a/include/text.h b/include/text.h
index f677f2ced..69cbb87ed 100644
--- a/include/text.h
+++ b/include/text.h
@@ -89,6 +89,13 @@
#define EXT_CTRL_CODE_COLOR 0x1
#define EXT_CTRL_CODE_HIGHLIGHT 0x2
#define EXT_CTRL_CODE_SHADOW 0x3
+//
+#define EXT_CTRL_CODE_UNKNOWN_7 0x7
+//
+#define EXT_CTRL_CODE_CLEAR 0x11
+//
+#define EXT_CTRL_CODE_JPN 0x15
+#define EXT_CTRL_CODE_ENG 0x16
#define TEXT_COLOR_TRANSPARENT 0x0
#define TEXT_COLOR_WHITE 0x1
@@ -102,19 +109,17 @@
// battle placeholders are located in battle_message.h
-#define EXT_CTRL_CODE_JPN 0x15
-#define EXT_CTRL_CODE_ENG 0x16
-
#define NUM_TEXT_PRINTERS 32
#define TEXT_SPEED_FF 0xFF
-enum {
+enum
+{
FONTATTR_MAX_LETTER_WIDTH,
FONTATTR_MAX_LETTER_HEIGHT,
FONTATTR_LETTER_SPACING,
FONTATTR_LINE_SPACING,
- FONTATTR_COLOR_LOWNIBBLE, // dunno what this is yet
+ FONTATTR_UNKNOWN, // dunno what this is yet
FONTATTR_COLOR_FOREGROUND,
FONTATTR_COLOR_BACKGROUND,
FONTATTR_COLOR_SHADOW
@@ -122,23 +127,18 @@ enum {
struct TextPrinterSubStruct
{
- u8 font_type:4; // 0x14
- u8 font_type_upper:1;
- u8 font_type_5:3;
- u8 field_1:5;
- u8 field_1_upmid:2;
- u8 field_1_top:1;
- u8 frames_visible_counter;
- u8 field_3;
- u8 field_4; // 0x18
- u8 field_5;
- u8 field_6;
- u8 active;
+ u8 glyphId:4; // 0x14
+ bool8 hasPrintBeenSpedUp:1;
+ u8 unk:3;
+ u8 downArrowDelay:5;
+ u8 downArrowYPosIdx:2;
+ bool8 hasGlyphIdBeenSet:1;
+ u8 autoScrollDelay;
};
-struct TextSubPrinter // TODO: Better name
+struct TextPrinterTemplate
{
- const u8* current_text_offset;
+ const u8* currentChar;
u8 windowId;
u8 fontId;
u8 x;
@@ -147,7 +147,7 @@ struct TextSubPrinter // TODO: Better name
u8 currentY;
u8 letterSpacing;
u8 lineSpacing;
- u8 fontColor_l:4; // 0xC
+ u8 unk:4; // 0xC
u8 fgColor:4;
u8 bgColor:4;
u8 shadowColor:4;
@@ -155,18 +155,18 @@ struct TextSubPrinter // TODO: Better name
struct TextPrinter
{
- struct TextSubPrinter subPrinter;
+ struct TextPrinterTemplate printerTemplate;
- void (*callback)(struct TextSubPrinter *, u16); // 0x10
+ void (*callback)(struct TextPrinterTemplate *, u16); // 0x10
- union {
+ union __attribute__((packed)) {
struct TextPrinterSubStruct sub;
+ u8 fields[7];
+ } subUnion;
- u8 sub_fields[8];
- } sub_union;
-
+ u8 active;
u8 state; // 0x1C
- u8 text_speed;
+ u8 textSpeed;
u8 delayCounter;
u8 scrollDistance;
u8 minLetterSpacing; // 0x20
@@ -180,7 +180,7 @@ struct FontInfo
u8 maxLetterHeight;
u8 letterSpacing;
u8 lineSpacing;
- u8 fontColor_l:4;
+ u8 unk:4;
u8 fgColor:4;
u8 bgColor:4;
u8 shadowColor:4;
@@ -190,49 +190,50 @@ extern const struct FontInfo *gFonts;
struct GlyphWidthFunc
{
- u32 font_id;
+ u32 fontId;
u32 (*func)(u16 glyphId, bool32 isJapanese);
};
struct KeypadIcon
{
- u16 tile_offset;
+ u16 tileOffset;
u8 width;
u8 height;
};
typedef struct {
- u8 flag_0:1;
- u8 flag_1:1;
- u8 flag_2:1;
- u8 flag_3:1;
+ bool8 canABSpeedUpPrint:1;
+ bool8 useAlternateDownArrow:1;
+ bool8 autoScroll:1;
+ bool8 forceMidTextSpeed:1;
} TextFlags;
-extern TextFlags gTextFlags;
+struct Struct_03002F90
+{
+ u32 unk0[8];
+ u32 unk20[8];
+ u32 unk40[8];
+ u32 unk60[8];
+ u8 unk80;
+ u8 unk81;
+};
-extern u8 gStringVar1[];
-extern u8 gStringVar2[];
-extern u8 gStringVar3[];
-extern u8 gStringVar4[];
+extern TextFlags gTextFlags;
-u8 gUnknown_03002F84;
-u8 gUnknown_03002F90[0x20];
-u8 gUnknown_03002FB0[0x20];
-u8 gUnknown_03002FD0[0x20];
-u8 gUnknown_03002FF0[0x20];
-u8 gGlyphDimensions[0x2];
+extern u8 gUnknown_03002F84;
+extern struct Struct_03002F90 gUnknown_03002F90;
void SetFontsPointer(const struct FontInfo *fonts);
void DeactivateAllTextPrinters(void);
-u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16));
-bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16));
+u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
+bool16 AddTextPrinter(struct TextPrinterTemplate *template, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16));
void RunTextPrinters(void);
bool16 IsTextPrinterActive(u8 id);
u32 RenderFont(struct TextPrinter *textPrinter);
void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor);
void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor);
void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor);
-void DecompressGlyphTile(const u16 *src, u16 *dest);
+void DecompressGlyphTile(const void *src_, void *dest_);
u8 GetLastTextColor(u8 colorType);
void CopyGlyphToWindow(struct TextPrinter *x);
void ClearTextSpan(struct TextPrinter *textPrinter, u32 width);
diff --git a/include/tv.h b/include/tv.h
index 4f1d7730f..5528bada7 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -51,5 +51,7 @@ void BravoTrainerPokemonProfile_BeforeInterview1(u16 move);
void UpdateTVScreensOnMap(int, int);
void TV_PrintIntToStringVar(u8 varIdx, int value);
void SaveRecordedItemPurchasesForTVShow(void);
+bool8 sub_80EE818(void);
+void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
#endif //GUARD_TV_H
diff --git a/include/unk_pokedex_area_screen_helper.h b/include/unk_pokedex_area_screen_helper.h
new file mode 100755
index 000000000..45beed70e
--- /dev/null
+++ b/include/unk_pokedex_area_screen_helper.h
@@ -0,0 +1,17 @@
+#ifndef GUARD_UNK_POKEDEX_AREA_SCREEN_HELPER_H
+#define GUARD_UNK_POKEDEX_AREA_SCREEN_HELPER_H
+
+struct UnkStruct_1C4D70
+{
+ u32 bg:2;
+ u32 unk2:8;
+ u32 unk10:2;
+ u32 unk12:20;
+};
+
+void sub_81C4D70(const struct UnkStruct_1C4D70 *);
+bool32 sub_81C4E90(void);
+void sub_81C4ED0(u32);
+void sub_81C4EB4(void);
+
+#endif // GUARD_UNK_POKEDEX_AREA_SCREEN_HELPER_H
diff --git a/include/window.h b/include/window.h
index 1a6ff3808..692ca1d81 100644
--- a/include/window.h
+++ b/include/window.h
@@ -3,7 +3,7 @@
enum
{
- WINDOW_PRIORITY,
+ WINDOW_BG,
WINDOW_TILEMAP_LEFT,
WINDOW_TILEMAP_TOP,
WINDOW_WIDTH,
@@ -15,7 +15,7 @@ enum
struct WindowTemplate
{
- u8 priority;
+ u8 bg;
u8 tilemapLeft;
u8 tilemapTop;
u8 width;
@@ -55,7 +55,7 @@ void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height);
void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height);
void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight);
void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height);
-void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset);
+void CopyToWindowPixelBuffer(u8 windowId, const void *src, u16 size, u16 tileOffset);
void FillWindowPixelBuffer(u8 windowId, u8 fillValue);
void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue);
void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8));
diff --git a/ld_script.txt b/ld_script.txt
index 407df435a..506ac8552 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -54,7 +54,6 @@ SECTIONS {
src/string_util.o(.text);
src/link.o(.text);
src/link_rfu.o(.text);
- asm/link_rfu.o(.text);
src/rom_8011DC0.o(.text);
asm/rom_8011DC0.o(.text);
src/rtc.o(.text);
@@ -92,7 +91,6 @@ SECTIONS {
src/field_camera.o(.text);
src/field_door.o(.text);
src/field_player_avatar.o(.text);
- asm/field_player_avatar.o(.text);
src/event_object_movement.o(.text);
src/field_message_box.o(.text);
src/event_obj_lock.o(.text);
@@ -138,9 +136,9 @@ SECTIONS {
src/contest.o(.text);
asm/contest.o(.text);
src/shop.o(.text);
- asm/shop.o(.text);
+ src/fldeff_escalator.o(.text);
src/berry.o(.text);
- asm/script_menu.o(.text);
+ src/script_menu.o(.text);
src/naming_screen.o(.text);
src/money.o(.text);
src/contest_effect.o(.text);
@@ -148,7 +146,7 @@ SECTIONS {
src/secret_base.o(.text);
src/tv.o(.text);
asm/contest_link_80F57C4.o(.text);
- asm/script_pokemon_util_80F87D8.o(.text);
+ src/script_pokemon_util_80F87D8.o(.text);
src/field_poison.o(.text);
src/pokemon_size_record.o(.text);
asm/fldeff_80F9BCC.o(.text);
@@ -157,7 +155,25 @@ SECTIONS {
src/safari_zone.o(.text);
asm/contest_link_80FC4F4.o(.text);
src/item_use.o(.text);
- asm/battle_anim_80FE840.o(.text);
+ asm/battle_anim_effects_1.o(.text);
+ asm/battle_anim_effects_2.o(.text);
+ asm/water.o(.text);
+ asm/fire.o(.text);
+ asm/electric.o(.text);
+ asm/ice.o(.text);
+ src/fight.o(.text);
+ src/poison.o(.text);
+ asm/flying.o(.text);
+ asm/psychic.o(.text);
+ src/bug.o(.text);
+ src/rock.o(.text);
+ asm/ghost.o(.text);
+ src/dragon.o(.text);
+ asm/dark.o(.text);
+ src/ground.o(.text);
+ src/normal.o(.text);
+ src/battle_anim_utility_funcs.o(.text);
+ asm/battle_intro.o(.text);
src/bike.o(.text);
src/easy_chat.o(.text);
asm/easy_chat.o(.text);
@@ -171,6 +187,7 @@ SECTIONS {
asm/cute_sketch.o(.text);
src/decoration.o(.text);
src/slot_machine.o(.text);
+ src/contest_painting.o(.text);
asm/contest_painting.o(.text);
src/battle_ai_script_commands.o(.text);
src/trader.o(.text);
@@ -179,16 +196,16 @@ SECTIONS {
src/rom6.o(.text);
src/pokeblock.o(.text);
src/fldeff_flash.o(.text);
- asm/post_battle_event_funcs.o(.text);
+ src/post_battle_event_funcs.o(.text);
src/time_events.o(.text);
src/birch_pc.o(.text);
src/hof_pc.o(.text);
src/field_specials.o(.text);
src/battle_records.o(.text);
- asm/pokedex_area_screen.o(.text);
+ src/pokedex_area_screen.o(.text);
src/evolution_scene.o(.text);
asm/roulette.o(.text);
- asm/pokedex_cry_screen.o(.text);
+ src/pokedex_cry_screen.o(.text);
src/coins.o(.text);
src/landmark.o(.text);
src/fldeff_strength.o(.text);
@@ -212,7 +229,6 @@ SECTIONS {
src/decoration_inventory.o(.text);
src/roamer.o(.text);
src/battle_tower.o(.text);
- asm/battle_tower.o(.text);
src/use_pokeblock.o(.text);
asm/use_pokeblock.o(.text);
src/battle_controller_wally.o(.text);
@@ -243,12 +259,17 @@ SECTIONS {
src/trainer_pokemon_sprites.o(.text);
src/lilycove_lady.o(.text);
src/battle_dome.o(.text);
- src/battle_frontier_1.o(.text);
+ src/battle_palace.o(.text);
asm/battle_frontier_1.o(.text);
src/menu.o(.text);
- src/battle_factory.o(.text);
+ src/battle_factory_screen.o(.text);
src/apprentice.o(.text);
- asm/battle_frontier_2.o(.text);
+ src/frontier_util.o(.text);
+ src/battle_arena.o(.text);
+ src/battle_factory.o(.text);
+ src/battle_pike.o(.text);
+ src/mossdeep_gym.o(.text);
+ src/battle_pyramid.o(.text);
src/item_menu.o(.text);
src/list_menu.o(.text);
src/dynamic_placeholder_text_util.o(.text);
@@ -263,7 +284,6 @@ SECTIONS {
src/battle_controller_player_partner.o(.text);
src/fldeff_groundshake.o(.text);
src/fossil_specials.o(.text);
- asm/fossil_specials.o(.text);
src/berry_fix_program.o(.text);
src/pokemon_summary_screen.o(.text);
src/unk_pokedex_area_screen_helper.o(.text);
@@ -277,7 +297,6 @@ SECTIONS {
src/gym_leader_rematch.o(.text);
src/unk_transition.o(.text);
src/international_string_util.o(.text);
- asm/international_string_util.o(.text);
} =0
script_data :
@@ -420,7 +439,6 @@ SECTIONS {
src/tileset_anims.o(.rodata);
src/palette.o(.rodata);
data/fanfares.o(.rodata);
- data/battle_anims.o(.rodata);
src/battle_anim.o(.rodata);
src/battle_anim_80A5C6C.o(.rodata);
data/map_events.o(.rodata);
@@ -435,7 +453,6 @@ SECTIONS {
src/field_effect.o(.rodata);
src/option_menu.o(.rodata);
src/pokedex.o(.rodata);
- data/pokedex.o(.rodata);
data/trainer_card.o(.rodata);
src/pokemon_storage_system.o(.rodata);
data/pokemon_storage_system.o(.rodata);
@@ -443,10 +460,13 @@ SECTIONS {
src/fldeff_cut.o(.rodata);
src/map_name_popup.o(.rodata);
src/item_menu_icons.o(.rodata);
+ src/battle_anim_80D51AC.o(.rodata);
+ src/item.o(.rodata);
data/contest.o(.rodata);
- data/shop.o(.rodata);
+ src/shop.o(.rodata);
+ src/fldeff_escalator.o(.rodata);
src/berry.o(.rodata);
- data/script_menu.o(.rodata);
+ src/script_menu.o(.rodata);
src/naming_screen.o(.rodata);
src/money.o(.rodata);
src/contest_effect.o(.rodata);
@@ -454,13 +474,31 @@ SECTIONS {
src/secret_base.o(.rodata);
src/tv.o(.rodata);
data/contest_link_80F57C4.o(.rodata);
- data/script_pokemon_util_80F87D8.o(.rodata);
+ src/script_pokemon_util_80F87D8.o(.rodata);
src/pokemon_size_record.o(.rodata)
data/field_effect_misc.o(.rodata);
src/field_special_scene.o(.rodata);
src/rotating_gate.o(.rodata);
src/item_use.o(.rodata);
- data/battle_anim_80FE840.o(.rodata);
+ src/effects_1.o(.rodata);
+ src/effects_2.o(.rodata);
+ src/water.o(.rodata);
+ src/fire.o(.rodata);
+ src/electric.o(.rodata);
+ src/ice.o(.rodata);
+ src/fight.o(.rodata);
+ src/poison.o(.rodata);
+ src/flying.o(.rodata);
+ src/psychic.o(.rodata);
+ src/bug.o(.rodata);
+ src/rock.o(.rodata);
+ src/ghost.o(.rodata);
+ src/dragon.o(.rodata);
+ src/dark.o(.rodata);
+ src/ground.o(.rodata);
+ src/normal.o(.rodata);
+ src/battle_anim_utility_funcs.o(.rodata);
+ src/battle_intro.o(.rodata);
src/bike.o(.rodata);
data/easy_chat.o(.rodata);
src/mon_markings.o(.rodata);
@@ -483,10 +521,10 @@ SECTIONS {
src/time_events.o(.rodata);
src/field_specials.o(.rodata);
src/battle_records.o(.rodata);
- data/pokedex_area_screen.o(.rodata);
+ src/pokedex_area_screen.o(.rodata);
src/evolution_scene.o(.rodata);
data/roulette.o(.rodata);
- data/pokedex_cry_screen.o(.rodata);
+ src/pokedex_cry_screen.o(.rodata);
src/landmark.o(.rodata);
src/battle_transition.o(.rodata);
src/battle_controller_link_partner.o(.rodata);
@@ -501,6 +539,7 @@ SECTIONS {
src/learn_move.o(.rodata);
src/roamer.o(.rodata);
data/battle_tower.o(.rodata);
+ src/battle_tower.o(.rodata);
src/use_pokeblock.o(.rodata);
data/use_pokeblock.o(.rodata);
src/battle_controller_wally.o(.rodata);
@@ -529,11 +568,17 @@ SECTIONS {
src/trainer_pokemon_sprites.o(.rodata);
src/lilycove_lady.o(.rodata);
src/battle_dome.o(.rodata);
+ src/battle_palace.o(.rodata);
data/battle_frontier_1.o(.rodata);
src/menu.o(.rodata);
- src/battle_factory.o(.rodata);
+ src/battle_factory_screen.o(.rodata);
src/apprentice.o(.rodata);
- data/battle_frontier_2.o(.rodata);
+ src/frontier_util.o(.rodata);
+ src/battle_arena.o(.rodata);
+ src/battle_factory.o(.rodata);
+ src/battle_pike.o(.rodata);
+ data/mossdeep_gym.o(.rodata);
+ src/battle_pyramid.o(.rodata);
src/item_menu.o(.rodata);
src/list_menu.o(.rodata);
src/save_location.o(.rodata);
@@ -570,10 +615,10 @@ SECTIONS {
{
sound/songs/midi/mus_dummy.o(.rodata);
sound/songs/midi/se_kaifuku.o(.rodata);
- sound/songs/se_pc_login.o(.rodata);
- sound/songs/se_pc_off.o(.rodata);
- sound/songs/se_pc_on.o(.rodata);
- sound/songs/se_select.o(.rodata);
+ sound/songs/midi/se_pc_login.o(.rodata);
+ sound/songs/midi/se_pc_off.o(.rodata);
+ sound/songs/midi/se_pc_on.o(.rodata);
+ sound/songs/midi/se_select.o(.rodata);
sound/songs/se_win_open.o(.rodata);
sound/songs/se_wall_hit.o(.rodata);
sound/songs/midi/se_door.o(.rodata);
@@ -584,12 +629,12 @@ SECTIONS {
sound/songs/midi/se_kouka_m.o(.rodata);
sound/songs/midi/se_kouka_h.o(.rodata);
sound/songs/midi/se_bowa2.o(.rodata);
- sound/songs/se_poke_dead.o(.rodata);
- sound/songs/se_nigeru.o(.rodata);
+ sound/songs/midi/se_poke_dead.o(.rodata);
+ sound/songs/midi/se_nigeru.o(.rodata);
sound/songs/midi/se_jido_doa.o(.rodata);
- sound/songs/se_naminori.o(.rodata);
+ sound/songs/midi/se_naminori.o(.rodata);
sound/songs/midi/se_ban.o(.rodata);
- sound/songs/se_pin.o(.rodata);
+ sound/songs/midi/se_pin.o(.rodata);
sound/songs/midi/se_boo.o(.rodata);
sound/songs/midi/se_bowa.o(.rodata);
sound/songs/midi/se_jyuni.o(.rodata);
@@ -597,21 +642,21 @@ SECTIONS {
sound/songs/midi/se_i.o(.rodata);
sound/songs/se_u.o(.rodata);
sound/songs/midi/se_e.o(.rodata);
- sound/songs/se_o.o(.rodata);
- sound/songs/se_n.o(.rodata);
- sound/songs/se_seikai.o(.rodata);
+ sound/songs/midi/se_o.o(.rodata);
+ sound/songs/midi/se_n.o(.rodata);
+ sound/songs/midi/se_seikai.o(.rodata);
sound/songs/midi/se_hazure.o(.rodata);
sound/songs/midi/se_exp.o(.rodata);
sound/songs/midi/se_jite_pyoko.o(.rodata);
- sound/songs/se_mu_pachi.o(.rodata);
+ sound/songs/midi/se_mu_pachi.o(.rodata);
sound/songs/se_tk_kasya.o(.rodata);
sound/songs/midi/se_fu_zaku.o(.rodata);
sound/songs/midi/se_fu_zaku2.o(.rodata);
sound/songs/midi/se_fu_zuzuzu.o(.rodata);
- sound/songs/se_ru_gashin.o(.rodata);
- sound/songs/se_ru_gasyan.o(.rodata);
- sound/songs/se_ru_bari.o(.rodata);
- sound/songs/se_ru_hyuu.o(.rodata);
+ sound/songs/midi/se_ru_gashin.o(.rodata);
+ sound/songs/midi/se_ru_gasyan.o(.rodata);
+ sound/songs/midi/se_ru_bari.o(.rodata);
+ sound/songs/midi/se_ru_hyuu.o(.rodata);
sound/songs/midi/se_ki_gasyan.o(.rodata);
sound/songs/se_tk_warpin.o(.rodata);
sound/songs/se_tk_warpout.o(.rodata);
@@ -621,15 +666,15 @@ SECTIONS {
sound/songs/se_track_stop.o(.rodata);
sound/songs/se_track_haiki.o(.rodata);
sound/songs/se_track_door.o(.rodata);
- sound/songs/se_moter.o(.rodata);
+ sound/songs/midi/se_moter.o(.rodata);
sound/songs/midi/se_card.o(.rodata);
- sound/songs/se_save.o(.rodata);
+ sound/songs/midi/se_save.o(.rodata);
sound/songs/midi/se_kon.o(.rodata);
sound/songs/midi/se_kon2.o(.rodata);
sound/songs/midi/se_kon3.o(.rodata);
sound/songs/midi/se_kon4.o(.rodata);
- sound/songs/se_suikomu.o(.rodata);
- sound/songs/se_nageru.o(.rodata);
+ sound/songs/midi/se_suikomu.o(.rodata);
+ sound/songs/midi/se_nageru.o(.rodata);
sound/songs/se_toy_c.o(.rodata);
sound/songs/se_toy_d.o(.rodata);
sound/songs/se_toy_e.o(.rodata);
@@ -638,10 +683,10 @@ SECTIONS {
sound/songs/se_toy_a.o(.rodata);
sound/songs/se_toy_b.o(.rodata);
sound/songs/se_toy_c1.o(.rodata);
- sound/songs/se_mizu.o(.rodata);
+ sound/songs/midi/se_mizu.o(.rodata);
sound/songs/midi/se_hashi.o(.rodata);
sound/songs/midi/se_daugi.o(.rodata);
- sound/songs/se_pinpon.o(.rodata);
+ sound/songs/midi/se_pinpon.o(.rodata);
sound/songs/midi/se_fuusen1.o(.rodata);
sound/songs/midi/se_fuusen2.o(.rodata);
sound/songs/midi/se_fuusen3.o(.rodata);
@@ -649,37 +694,37 @@ SECTIONS {
sound/songs/se_toy_dango.o(.rodata);
sound/songs/midi/se_doku.o(.rodata);
sound/songs/midi/se_esuka.o(.rodata);
- sound/songs/se_t_ame.o(.rodata);
- sound/songs/se_t_ame_e.o(.rodata);
- sound/songs/se_t_ooame.o(.rodata);
- sound/songs/se_t_ooame_e.o(.rodata);
- sound/songs/se_t_koame.o(.rodata);
- sound/songs/se_t_koame_e.o(.rodata);
- sound/songs/se_t_kami.o(.rodata);
- sound/songs/se_t_kami2.o(.rodata);
+ sound/songs/midi/se_t_ame.o(.rodata);
+ sound/songs/midi/se_t_ame_e.o(.rodata);
+ sound/songs/midi/se_t_ooame.o(.rodata);
+ sound/songs/midi/se_t_ooame_e.o(.rodata);
+ sound/songs/midi/se_t_koame.o(.rodata);
+ sound/songs/midi/se_t_koame_e.o(.rodata);
+ sound/songs/midi/se_t_kami.o(.rodata);
+ sound/songs/midi/se_t_kami2.o(.rodata);
sound/songs/midi/se_elebeta.o(.rodata);
sound/songs/midi/se_hinsi.o(.rodata);
sound/songs/midi/se_expmax.o(.rodata);
sound/songs/se_tamakoro.o(.rodata);
sound/songs/se_tamakoro_e.o(.rodata);
sound/songs/midi/se_basabasa.o(.rodata);
- sound/songs/se_regi.o(.rodata);
+ sound/songs/midi/se_regi.o(.rodata);
sound/songs/midi/se_c_gaji.o(.rodata);
sound/songs/midi/se_c_maku_u.o(.rodata);
sound/songs/midi/se_c_maku_d.o(.rodata);
sound/songs/midi/se_c_pasi.o(.rodata);
sound/songs/midi/se_c_syu.o(.rodata);
sound/songs/midi/se_c_pikon.o(.rodata);
- sound/songs/se_reapoke.o(.rodata);
- sound/songs/se_op_basyu.o(.rodata);
+ sound/songs/midi/se_reapoke.o(.rodata);
+ sound/songs/midi/se_op_basyu.o(.rodata);
sound/songs/midi/se_bt_start.o(.rodata);
sound/songs/midi/se_dendou.o(.rodata);
sound/songs/midi/se_jihanki.o(.rodata);
sound/songs/se_tama.o(.rodata);
sound/songs/se_z_scroll.o(.rodata);
sound/songs/se_z_page.o(.rodata);
- sound/songs/se_pn_on.o(.rodata);
- sound/songs/se_pn_off.o(.rodata);
+ sound/songs/midi/se_pn_on.o(.rodata);
+ sound/songs/midi/se_pn_off.o(.rodata);
sound/songs/midi/se_z_search.o(.rodata);
sound/songs/se_tamago.o(.rodata);
sound/songs/se_tb_start.o(.rodata);
@@ -816,21 +861,21 @@ SECTIONS {
sound/songs/se_w287b.o(.rodata);
sound/songs/se_w114.o(.rodata);
sound/songs/se_w063b.o(.rodata);
- sound/songs/se_rg_w_door.o(.rodata);
- sound/songs/se_rg_card1.o(.rodata);
- sound/songs/se_rg_card2.o(.rodata);
- sound/songs/se_rg_card3.o(.rodata);
- sound/songs/se_rg_bag1.o(.rodata);
- sound/songs/se_rg_bag2.o(.rodata);
- sound/songs/se_rg_getting.o(.rodata);
- sound/songs/se_rg_shop.o(.rodata);
- sound/songs/se_rg_kiteki.o(.rodata);
- sound/songs/se_rg_help_op.o(.rodata);
- sound/songs/se_rg_help_cl.o(.rodata);
- sound/songs/se_rg_help_ng.o(.rodata);
- sound/songs/se_rg_deomov.o(.rodata);
- sound/songs/se_rg_excellent.o(.rodata);
- sound/songs/se_rg_nawamiss.o(.rodata);
+ sound/songs/midi/se_rg_w_door.o(.rodata);
+ sound/songs/midi/se_rg_card1.o(.rodata);
+ sound/songs/midi/se_rg_card2.o(.rodata);
+ sound/songs/midi/se_rg_card3.o(.rodata);
+ sound/songs/midi/se_rg_bag1.o(.rodata);
+ sound/songs/midi/se_rg_bag2.o(.rodata);
+ sound/songs/midi/se_rg_getting.o(.rodata);
+ sound/songs/midi/se_rg_shop.o(.rodata);
+ sound/songs/midi/se_rg_kiteki.o(.rodata);
+ sound/songs/midi/se_rg_help_op.o(.rodata);
+ sound/songs/midi/se_rg_help_cl.o(.rodata);
+ sound/songs/midi/se_rg_help_ng.o(.rodata);
+ sound/songs/midi/se_rg_deomov.o(.rodata);
+ sound/songs/midi/se_rg_excellent.o(.rodata);
+ sound/songs/midi/se_rg_nawamiss.o(.rodata);
sound/songs/se_toreeye.o(.rodata);
sound/songs/se_toreoff.o(.rodata);
sound/songs/midi/se_hantei1.o(.rodata);
diff --git a/songs.mk b/songs.mk
index dd65ffce7..3520e5c05 100644
--- a/songs.mk
+++ b/songs.mk
@@ -951,5 +951,155 @@ $(MID_SUBDIR)/se_kouka_l.s: %.s: %.mid
$(MID_SUBDIR)/se_kouka_m.s: %.s: %.mid
$(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5
+$(MID_SUBDIR)/se_mizu.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V020 -P4
+
+$(MID_SUBDIR)/se_moter.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4
+
+$(MID_SUBDIR)/se_mu_pachi.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4
+
+$(MID_SUBDIR)/se_n.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -P4
+
+$(MID_SUBDIR)/se_nageru.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P5
+
+$(MID_SUBDIR)/se_naminori.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V075 -P4
+
+$(MID_SUBDIR)/se_nigeru.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5
+
+$(MID_SUBDIR)/se_o.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4
+
+$(MID_SUBDIR)/se_op_basyu.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_pc_login.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_pc_off.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_pc_on.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_pin.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V060 -P4
+
+$(MID_SUBDIR)/se_pinpon.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5
+
+$(MID_SUBDIR)/se_pn_off.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_pn_on.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_poke_dead.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5
+
+$(MID_SUBDIR)/se_reapoke.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P5
+
+$(MID_SUBDIR)/se_regi.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5
+
+$(MID_SUBDIR)/se_rg_bag1.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_rg_bag2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_rg_card1.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_rg_card2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_rg_card3.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V112 -P5
+
+$(MID_SUBDIR)/se_rg_deomov.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V080 -P5
+
+$(MID_SUBDIR)/se_rg_excellent.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5
+
+$(MID_SUBDIR)/se_rg_getting.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V100 -P5
+
+$(MID_SUBDIR)/se_rg_help_cl.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V095 -P5
+
+$(MID_SUBDIR)/se_rg_help_ng.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V125 -P5
+
+$(MID_SUBDIR)/se_rg_help_op.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V096 -P5
+
+$(MID_SUBDIR)/se_rg_kiteki.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V096 -P5
+
+$(MID_SUBDIR)/se_rg_nawamiss.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P5
+
+$(MID_SUBDIR)/se_rg_shop.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V080 -P5
+
+$(MID_SUBDIR)/se_rg_w_door.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -V100 -P5
+
+$(MID_SUBDIR)/se_ru_bari.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4
+
+$(MID_SUBDIR)/se_ru_gashin.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4
+
+$(MID_SUBDIR)/se_ru_gasyan.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_ru_hyuu.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_save.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P5
+
+$(MID_SUBDIR)/se_seikai.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P4
+
+$(MID_SUBDIR)/se_select.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5
+
+$(MID_SUBDIR)/se_suikomu.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_t_ame.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2
+
+$(MID_SUBDIR)/se_t_ame_e.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2
+
+$(MID_SUBDIR)/se_t_kami.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P3
+
+$(MID_SUBDIR)/se_t_kami2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P3
+
+$(MID_SUBDIR)/se_t_koame.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2
+
+$(MID_SUBDIR)/se_t_koame_e.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V080 -P2
+
+$(MID_SUBDIR)/se_t_ooame.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P2
+
+$(MID_SUBDIR)/se_t_ooame_e.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P2
+
$(MID_SUBDIR)/se_z_search.s: %.s: %.mid
$(MID) $< $@ -E -R$(STD_REVERB) -G127 -P5
diff --git a/sound/song_table.inc b/sound/song_table.inc
index 5b5813ab2..42e62b832 100644
--- a/sound/song_table.inc
+++ b/sound/song_table.inc
@@ -3,7 +3,7 @@
gSongTable:: @ 86B49F0
song mus_dummy, 0, 0
song se_kaifuku, 1, 1 @ Healing Item
- song se_pc_login, 1, 1 @ PC Logon
+ song se_pc_login, 1, 1 @ PC Login
song se_pc_off, 1, 1 @ PC Shutdown
song se_pc_on, 1, 1 @ PC Startup
song se_select, 2, 2 @ Cursor Selection
@@ -36,7 +36,7 @@ gSongTable:: @ 86B49F0
song se_hazure, 1, 1 @ Failure
song se_exp, 1, 1 @ Exp. Bar
song se_jite_pyoko, 1, 1 @ Bunny Hop
- song se_mu_pachi, 1, 1
+ song se_mu_pachi, 1, 1 @ Toggle Switch
song se_tk_kasya, 1, 1 @ Mossdeep Gym/Trick House Switch
song se_fu_zaku, 1, 1
song se_fu_zaku2, 1, 1
@@ -44,7 +44,7 @@ gSongTable:: @ 86B49F0
song se_ru_gashin, 1, 1 @ Sootopolis Gym - Stairs Appear
song se_ru_gasyan, 1, 1 @ Sootopolis Gym - Ice Breaking
song se_ru_bari, 1, 1 @ Sootopolis Gym - Walking on Ice
- song se_ru_hyuu, 1, 1 @ Falling Down
+ song se_ru_hyuu, 1, 1 @ Falling Down a Hole
song se_ki_gasyan, 2, 2
song se_tk_warpin, 1, 1 @ Warp In
song se_tk_warpout, 1, 1 @ Warp Out
@@ -74,7 +74,7 @@ gSongTable:: @ 86B49F0
song se_mizu, 2, 2 @ Puddle
song se_hashi, 2, 2 @ Fortree Walkways
song se_daugi, 1, 1 @ Slots - Credits
- song se_pinpon, 1, 1 @ Ding-dong!
+ song se_pinpon, 1, 1 @ Elevator - Reached Destination
song se_fuusen1, 2, 2 @ Red Balloon
song se_fuusen2, 2, 2 @ Blue Balloon
song se_fuusen3, 2, 2 @ Yellow Balloon
@@ -104,7 +104,7 @@ gSongTable:: @ 86B49F0
song se_c_syu, 1, 1 @ Contest - Pokémon Switches Out
song se_c_pikon, 1, 1 @ Contest - Pokémon Switches In
song se_reapoke, 1, 1 @ Shiny Pokémon
- song se_op_basyu, 1, 1 @ Opening Movie -> Title Screen whoosh
+ song se_op_basyu, 1, 1 @ Opening Movie -> Title Screen Transition
song se_bt_start, 1, 1 @ Battle Mugshot whoosh
song se_dendou, 1, 1 @ Audience Cheering
song se_jihanki, 1, 1 @ Vending Machine
@@ -255,14 +255,14 @@ gSongTable:: @ 86B49F0
song se_rg_card3, 1, 1 @ Trainer Card 3 (FRLG)
song se_rg_bag1, 1, 1 @ Bag Scroll (FRLG)
song se_rg_bag2, 1, 1 @ Bag Pocket Change (FRLG)
- song se_rg_getting, 1, 1
+ song se_rg_getting, 1, 1
song se_rg_shop, 1, 1 @ Cash Register (FRLG)
song se_rg_kiteki, 1, 1 @ S.S. Anne Horn (FRLG)
song se_rg_help_op, 1, 1 @ Help Menu Open (FRLG)
song se_rg_help_cl, 1, 1 @ Help Menu Close (FRLG)
song se_rg_help_ng, 1, 1 @ Help Menu Error (FRLG)
song se_rg_deomov, 1, 1 @ Deoxys Moves
- song se_rg_excellent, 1, 1
+ song se_rg_excellent, 1, 1 @ HP Restored (FRLG)
song se_rg_nawamiss, 1, 1
song se_toreeye, 1, 1 @ Trainer's Eye Call
song se_toreoff, 1, 1 @ Trainer's Eye Hang Up
diff --git a/sound/songs/midi/se_mizu.mid b/sound/songs/midi/se_mizu.mid
new file mode 100644
index 000000000..dfdc85619
--- /dev/null
+++ b/sound/songs/midi/se_mizu.mid
Binary files differ
diff --git a/sound/songs/midi/se_moter.mid b/sound/songs/midi/se_moter.mid
new file mode 100644
index 000000000..8203333e5
--- /dev/null
+++ b/sound/songs/midi/se_moter.mid
Binary files differ
diff --git a/sound/songs/midi/se_mu_pachi.mid b/sound/songs/midi/se_mu_pachi.mid
new file mode 100644
index 000000000..3d909dadb
--- /dev/null
+++ b/sound/songs/midi/se_mu_pachi.mid
Binary files differ
diff --git a/sound/songs/midi/se_n.mid b/sound/songs/midi/se_n.mid
new file mode 100644
index 000000000..282bdf216
--- /dev/null
+++ b/sound/songs/midi/se_n.mid
Binary files differ
diff --git a/sound/songs/midi/se_nageru.mid b/sound/songs/midi/se_nageru.mid
new file mode 100644
index 000000000..171f45a5a
--- /dev/null
+++ b/sound/songs/midi/se_nageru.mid
Binary files differ
diff --git a/sound/songs/midi/se_naminori.mid b/sound/songs/midi/se_naminori.mid
new file mode 100644
index 000000000..ba2aa4931
--- /dev/null
+++ b/sound/songs/midi/se_naminori.mid
Binary files differ
diff --git a/sound/songs/midi/se_nigeru.mid b/sound/songs/midi/se_nigeru.mid
new file mode 100644
index 000000000..faf37d529
--- /dev/null
+++ b/sound/songs/midi/se_nigeru.mid
Binary files differ
diff --git a/sound/songs/midi/se_o.mid b/sound/songs/midi/se_o.mid
new file mode 100644
index 000000000..5dfc32727
--- /dev/null
+++ b/sound/songs/midi/se_o.mid
Binary files differ
diff --git a/sound/songs/midi/se_op_basyu.mid b/sound/songs/midi/se_op_basyu.mid
new file mode 100644
index 000000000..4648741c2
--- /dev/null
+++ b/sound/songs/midi/se_op_basyu.mid
Binary files differ
diff --git a/sound/songs/midi/se_pc_login.mid b/sound/songs/midi/se_pc_login.mid
new file mode 100644
index 000000000..f46a52e7a
--- /dev/null
+++ b/sound/songs/midi/se_pc_login.mid
Binary files differ
diff --git a/sound/songs/midi/se_pc_off.mid b/sound/songs/midi/se_pc_off.mid
new file mode 100644
index 000000000..acb0960ff
--- /dev/null
+++ b/sound/songs/midi/se_pc_off.mid
Binary files differ
diff --git a/sound/songs/midi/se_pc_on.mid b/sound/songs/midi/se_pc_on.mid
new file mode 100644
index 000000000..86c0fa1c6
--- /dev/null
+++ b/sound/songs/midi/se_pc_on.mid
Binary files differ
diff --git a/sound/songs/midi/se_pin.mid b/sound/songs/midi/se_pin.mid
new file mode 100644
index 000000000..fe59c2f97
--- /dev/null
+++ b/sound/songs/midi/se_pin.mid
Binary files differ
diff --git a/sound/songs/midi/se_pinpon.mid b/sound/songs/midi/se_pinpon.mid
new file mode 100644
index 000000000..924dafda5
--- /dev/null
+++ b/sound/songs/midi/se_pinpon.mid
Binary files differ
diff --git a/sound/songs/midi/se_pn_off.mid b/sound/songs/midi/se_pn_off.mid
new file mode 100644
index 000000000..2fba0d159
--- /dev/null
+++ b/sound/songs/midi/se_pn_off.mid
Binary files differ
diff --git a/sound/songs/midi/se_pn_on.mid b/sound/songs/midi/se_pn_on.mid
new file mode 100644
index 000000000..dfe850794
--- /dev/null
+++ b/sound/songs/midi/se_pn_on.mid
Binary files differ
diff --git a/sound/songs/midi/se_poke_dead.mid b/sound/songs/midi/se_poke_dead.mid
new file mode 100644
index 000000000..b6a0df4c8
--- /dev/null
+++ b/sound/songs/midi/se_poke_dead.mid
Binary files differ
diff --git a/sound/songs/midi/se_reapoke.mid b/sound/songs/midi/se_reapoke.mid
new file mode 100644
index 000000000..b9a4fe810
--- /dev/null
+++ b/sound/songs/midi/se_reapoke.mid
Binary files differ
diff --git a/sound/songs/midi/se_regi.mid b/sound/songs/midi/se_regi.mid
new file mode 100644
index 000000000..28b727cb5
--- /dev/null
+++ b/sound/songs/midi/se_regi.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_bag1.mid b/sound/songs/midi/se_rg_bag1.mid
new file mode 100644
index 000000000..ac783bd38
--- /dev/null
+++ b/sound/songs/midi/se_rg_bag1.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_bag2.mid b/sound/songs/midi/se_rg_bag2.mid
new file mode 100644
index 000000000..97a5b32df
--- /dev/null
+++ b/sound/songs/midi/se_rg_bag2.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_card1.mid b/sound/songs/midi/se_rg_card1.mid
new file mode 100644
index 000000000..22a50e6df
--- /dev/null
+++ b/sound/songs/midi/se_rg_card1.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_card2.mid b/sound/songs/midi/se_rg_card2.mid
new file mode 100644
index 000000000..02276b2ad
--- /dev/null
+++ b/sound/songs/midi/se_rg_card2.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_card3.mid b/sound/songs/midi/se_rg_card3.mid
new file mode 100644
index 000000000..47cc451d0
--- /dev/null
+++ b/sound/songs/midi/se_rg_card3.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_deomov.mid b/sound/songs/midi/se_rg_deomov.mid
new file mode 100644
index 000000000..0149d29db
--- /dev/null
+++ b/sound/songs/midi/se_rg_deomov.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_excellent.mid b/sound/songs/midi/se_rg_excellent.mid
new file mode 100644
index 000000000..8f7c267c4
--- /dev/null
+++ b/sound/songs/midi/se_rg_excellent.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_getting.mid b/sound/songs/midi/se_rg_getting.mid
new file mode 100644
index 000000000..f8bf4b38f
--- /dev/null
+++ b/sound/songs/midi/se_rg_getting.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_help_cl.mid b/sound/songs/midi/se_rg_help_cl.mid
new file mode 100644
index 000000000..09b151631
--- /dev/null
+++ b/sound/songs/midi/se_rg_help_cl.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_help_ng.mid b/sound/songs/midi/se_rg_help_ng.mid
new file mode 100644
index 000000000..f9597632a
--- /dev/null
+++ b/sound/songs/midi/se_rg_help_ng.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_help_op.mid b/sound/songs/midi/se_rg_help_op.mid
new file mode 100644
index 000000000..79b6c53a8
--- /dev/null
+++ b/sound/songs/midi/se_rg_help_op.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_kiteki.mid b/sound/songs/midi/se_rg_kiteki.mid
new file mode 100644
index 000000000..07e19663a
--- /dev/null
+++ b/sound/songs/midi/se_rg_kiteki.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_nawamiss.mid b/sound/songs/midi/se_rg_nawamiss.mid
new file mode 100644
index 000000000..c3c52f88f
--- /dev/null
+++ b/sound/songs/midi/se_rg_nawamiss.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_shop.mid b/sound/songs/midi/se_rg_shop.mid
new file mode 100644
index 000000000..81ade1a63
--- /dev/null
+++ b/sound/songs/midi/se_rg_shop.mid
Binary files differ
diff --git a/sound/songs/midi/se_rg_w_door.mid b/sound/songs/midi/se_rg_w_door.mid
new file mode 100644
index 000000000..e0b6ba957
--- /dev/null
+++ b/sound/songs/midi/se_rg_w_door.mid
Binary files differ
diff --git a/sound/songs/midi/se_ru_bari.mid b/sound/songs/midi/se_ru_bari.mid
new file mode 100644
index 000000000..14b1991e6
--- /dev/null
+++ b/sound/songs/midi/se_ru_bari.mid
Binary files differ
diff --git a/sound/songs/midi/se_ru_gashin.mid b/sound/songs/midi/se_ru_gashin.mid
new file mode 100644
index 000000000..ae29a385b
--- /dev/null
+++ b/sound/songs/midi/se_ru_gashin.mid
Binary files differ
diff --git a/sound/songs/midi/se_ru_gasyan.mid b/sound/songs/midi/se_ru_gasyan.mid
new file mode 100644
index 000000000..486eabb9b
--- /dev/null
+++ b/sound/songs/midi/se_ru_gasyan.mid
Binary files differ
diff --git a/sound/songs/midi/se_ru_hyuu.mid b/sound/songs/midi/se_ru_hyuu.mid
new file mode 100644
index 000000000..1adfc9268
--- /dev/null
+++ b/sound/songs/midi/se_ru_hyuu.mid
Binary files differ
diff --git a/sound/songs/midi/se_save.mid b/sound/songs/midi/se_save.mid
new file mode 100644
index 000000000..5c4b90697
--- /dev/null
+++ b/sound/songs/midi/se_save.mid
Binary files differ
diff --git a/sound/songs/midi/se_seikai.mid b/sound/songs/midi/se_seikai.mid
new file mode 100644
index 000000000..32bfa07a8
--- /dev/null
+++ b/sound/songs/midi/se_seikai.mid
Binary files differ
diff --git a/sound/songs/midi/se_select.mid b/sound/songs/midi/se_select.mid
new file mode 100644
index 000000000..5f38c82d7
--- /dev/null
+++ b/sound/songs/midi/se_select.mid
Binary files differ
diff --git a/sound/songs/midi/se_suikomu.mid b/sound/songs/midi/se_suikomu.mid
new file mode 100644
index 000000000..871c8e5d3
--- /dev/null
+++ b/sound/songs/midi/se_suikomu.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_ame.mid b/sound/songs/midi/se_t_ame.mid
new file mode 100644
index 000000000..9e15434cd
--- /dev/null
+++ b/sound/songs/midi/se_t_ame.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_ame_e.mid b/sound/songs/midi/se_t_ame_e.mid
new file mode 100644
index 000000000..2397eea64
--- /dev/null
+++ b/sound/songs/midi/se_t_ame_e.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_kami.mid b/sound/songs/midi/se_t_kami.mid
new file mode 100644
index 000000000..71d8163bd
--- /dev/null
+++ b/sound/songs/midi/se_t_kami.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_kami2.mid b/sound/songs/midi/se_t_kami2.mid
new file mode 100644
index 000000000..c47731b94
--- /dev/null
+++ b/sound/songs/midi/se_t_kami2.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_koame.mid b/sound/songs/midi/se_t_koame.mid
new file mode 100644
index 000000000..d8491b293
--- /dev/null
+++ b/sound/songs/midi/se_t_koame.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_koame_e.mid b/sound/songs/midi/se_t_koame_e.mid
new file mode 100644
index 000000000..4a04f73f9
--- /dev/null
+++ b/sound/songs/midi/se_t_koame_e.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_ooame.mid b/sound/songs/midi/se_t_ooame.mid
new file mode 100644
index 000000000..3aedd4404
--- /dev/null
+++ b/sound/songs/midi/se_t_ooame.mid
Binary files differ
diff --git a/sound/songs/midi/se_t_ooame_e.mid b/sound/songs/midi/se_t_ooame_e.mid
new file mode 100644
index 000000000..b73010142
--- /dev/null
+++ b/sound/songs/midi/se_t_ooame_e.mid
Binary files differ
diff --git a/sound/songs/se_mizu.s b/sound/songs/se_mizu.s
deleted file mode 100644
index f1c0d5e86..000000000
--- a/sound/songs/se_mizu.s
+++ /dev/null
@@ -1,54 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_mizu_grp, voicegroup128
- .equ se_mizu_pri, 4
- .equ se_mizu_rev, reverb_set+50
- .equ se_mizu_mvl, 127
- .equ se_mizu_key, 0
- .equ se_mizu_tbs, 1
- .equ se_mizu_exg, 0
- .equ se_mizu_cmp, 1
-
- .section .rodata
- .global se_mizu
- .align 2
-
-@********************** Track 1 **********************@
-
-se_mizu_1:
- .byte KEYSH , se_mizu_key+0
- .byte TEMPO , 150*se_mizu_tbs/2
- .byte VOICE , 23
- .byte VOL , 20*se_mizu_mvl/mxv
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte BEND , c_v-25
- .byte N03 , Gs4 , v112
- .byte W01
- .byte BEND , c_v-9
- .byte W01
- .byte c_v+9
- .byte W04
- .byte W02
- .byte VOL , 17*se_mizu_mvl/mxv
- .byte BEND , c_v+18
- .byte N02 , Gs4 , v127
- .byte W01
- .byte BEND , c_v+34
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_mizu:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_mizu_pri @ Priority
- .byte se_mizu_rev @ Reverb.
-
- .word se_mizu_grp
-
- .word se_mizu_1
-
- .end
diff --git a/sound/songs/se_moter.s b/sound/songs/se_moter.s
deleted file mode 100644
index 390835125..000000000
--- a/sound/songs/se_moter.s
+++ /dev/null
@@ -1,49 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_moter_grp, voicegroup128
- .equ se_moter_pri, 4
- .equ se_moter_rev, reverb_set+50
- .equ se_moter_mvl, 127
- .equ se_moter_key, 0
- .equ se_moter_tbs, 1
- .equ se_moter_exg, 0
- .equ se_moter_cmp, 1
-
- .section .rodata
- .global se_moter
- .align 2
-
-@********************** Track 1 **********************@
-
-se_moter_1:
- .byte KEYSH , se_moter_key+0
-se_moter_1_B1:
- .byte TEMPO , 150*se_moter_tbs/2
- .byte VOICE , 15
- .byte VOL , 90*se_moter_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte TIE , Gn2 , v100
- .byte W96
- .byte W96
- .byte W48
- .byte EOT
- .byte GOTO
- .word se_moter_1_B1
- .byte W48
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_moter:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_moter_pri @ Priority
- .byte se_moter_rev @ Reverb.
-
- .word se_moter_grp
-
- .word se_moter_1
-
- .end
diff --git a/sound/songs/se_mu_pachi.s b/sound/songs/se_mu_pachi.s
deleted file mode 100644
index dbea6603a..000000000
--- a/sound/songs/se_mu_pachi.s
+++ /dev/null
@@ -1,47 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_mu_pachi_grp, voicegroup127
- .equ se_mu_pachi_pri, 4
- .equ se_mu_pachi_rev, reverb_set+50
- .equ se_mu_pachi_mvl, 127
- .equ se_mu_pachi_key, 0
- .equ se_mu_pachi_tbs, 1
- .equ se_mu_pachi_exg, 0
- .equ se_mu_pachi_cmp, 1
-
- .section .rodata
- .global se_mu_pachi
- .align 2
-
-@********************** Track 1 **********************@
-
-se_mu_pachi_1:
- .byte KEYSH , se_mu_pachi_key+0
- .byte TEMPO , 150*se_mu_pachi_tbs/2
- .byte VOICE , 122
- .byte VOL , 100*se_mu_pachi_mvl/mxv
- .byte N01 , Ds3 , v127
- .byte W02
- .byte VOICE , 126
- .byte N01 , Gs4
- .byte W01
- .byte W03
- .byte W01
- .byte Gs4 , v088
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_mu_pachi:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_mu_pachi_pri @ Priority
- .byte se_mu_pachi_rev @ Reverb.
-
- .word se_mu_pachi_grp
-
- .word se_mu_pachi_1
-
- .end
diff --git a/sound/songs/se_n.s b/sound/songs/se_n.s
deleted file mode 100644
index dc1938b05..000000000
--- a/sound/songs/se_n.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_n_grp, voicegroup128
- .equ se_n_pri, 4
- .equ se_n_rev, reverb_set+50
- .equ se_n_mvl, 127
- .equ se_n_key, 0
- .equ se_n_tbs, 1
- .equ se_n_exg, 0
- .equ se_n_cmp, 1
-
- .section .rodata
- .global se_n
- .align 2
-
-@********************** Track 1 **********************@
-
-se_n_1:
- .byte KEYSH , se_n_key+0
- .byte TEMPO , 240*se_n_tbs/2
- .byte VOICE , 127
- .byte BENDR , 12
- .byte VOL , 127*se_n_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Cn3 , v127
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_n:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_n_pri @ Priority
- .byte se_n_rev @ Reverb.
-
- .word se_n_grp
-
- .word se_n_1
-
- .end
diff --git a/sound/songs/se_nageru.s b/sound/songs/se_nageru.s
deleted file mode 100644
index 379b790bd..000000000
--- a/sound/songs/se_nageru.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_nageru_grp, voicegroup128
- .equ se_nageru_pri, 5
- .equ se_nageru_rev, reverb_set+50
- .equ se_nageru_mvl, 127
- .equ se_nageru_key, 0
- .equ se_nageru_tbs, 1
- .equ se_nageru_exg, 0
- .equ se_nageru_cmp, 1
-
- .section .rodata
- .global se_nageru
- .align 2
-
-@********************** Track 1 **********************@
-
-se_nageru_1:
- .byte KEYSH , se_nageru_key+0
- .byte TEMPO , 150*se_nageru_tbs/2
- .byte VOICE , 22
- .byte BENDR , 12
- .byte VOL , 120*se_nageru_mvl/mxv
- .byte BEND , c_v+12
- .byte N06 , An2 , v127
- .byte W03
- .byte VOL , 78*se_nageru_mvl/mxv
- .byte BEND , c_v+20
- .byte W03
- .byte VOL , 120*se_nageru_mvl/mxv
- .byte BEND , c_v+36
- .byte N18 , Cn3
- .byte W02
- .byte BEND , c_v+35
- .byte W03
- .byte c_v+32
- .byte W02
- .byte c_v+26
- .byte W03
- .byte VOL , 102*se_nageru_mvl/mxv
- .byte BEND , c_v+18
- .byte W02
- .byte VOL , 68*se_nageru_mvl/mxv
- .byte BEND , c_v+7
- .byte W03
- .byte VOL , 34*se_nageru_mvl/mxv
- .byte BEND , c_v-9
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_nageru:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_nageru_pri @ Priority
- .byte se_nageru_rev @ Reverb.
-
- .word se_nageru_grp
-
- .word se_nageru_1
-
- .end
diff --git a/sound/songs/se_naminori.s b/sound/songs/se_naminori.s
deleted file mode 100644
index 7d3c3a637..000000000
--- a/sound/songs/se_naminori.s
+++ /dev/null
@@ -1,94 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_naminori_grp, voicegroup127
- .equ se_naminori_pri, 4
- .equ se_naminori_rev, reverb_set+50
- .equ se_naminori_mvl, 127
- .equ se_naminori_key, 0
- .equ se_naminori_tbs, 1
- .equ se_naminori_exg, 0
- .equ se_naminori_cmp, 1
-
- .section .rodata
- .global se_naminori
- .align 2
-
-@********************** Track 1 **********************@
-
-se_naminori_1:
- .byte KEYSH , se_naminori_key+0
- .byte TEMPO , 220*se_naminori_tbs/2
- .byte VOICE , 123
- .byte VOL , 75*se_naminori_mvl/mxv
- .byte N03 , Ds3 , v127
- .byte W03
- .byte TIE , Cn4
- .byte W21
- .byte W24
- .byte W18
- .byte VOL , 75*se_naminori_mvl/mxv
- .byte W06
- .byte 71*se_naminori_mvl/mxv
- .byte W05
- .byte 67*se_naminori_mvl/mxv
- .byte W03
- .byte 62*se_naminori_mvl/mxv
- .byte W04
- .byte 59*se_naminori_mvl/mxv
- .byte W05
- .byte 57*se_naminori_mvl/mxv
- .byte W03
- .byte 54*se_naminori_mvl/mxv
- .byte W04
- .byte W02
- .byte 50*se_naminori_mvl/mxv
- .byte W03
- .byte 49*se_naminori_mvl/mxv
- .byte W03
- .byte 44*se_naminori_mvl/mxv
- .byte W04
- .byte 41*se_naminori_mvl/mxv
- .byte W02
- .byte 38*se_naminori_mvl/mxv
- .byte W03
- .byte 35*se_naminori_mvl/mxv
- .byte W03
- .byte 32*se_naminori_mvl/mxv
- .byte W04
- .byte 28*se_naminori_mvl/mxv
- .byte W02
- .byte 24*se_naminori_mvl/mxv
- .byte W03
- .byte 21*se_naminori_mvl/mxv
- .byte W03
- .byte 18*se_naminori_mvl/mxv
- .byte W04
- .byte 14*se_naminori_mvl/mxv
- .byte W02
- .byte 11*se_naminori_mvl/mxv
- .byte W03
- .byte 9*se_naminori_mvl/mxv
- .byte W03
- .byte 6*se_naminori_mvl/mxv
- .byte W04
- .byte 3*se_naminori_mvl/mxv
- .byte W02
- .byte 1*se_naminori_mvl/mxv
- .byte W22
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_naminori:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_naminori_pri @ Priority
- .byte se_naminori_rev @ Reverb.
-
- .word se_naminori_grp
-
- .word se_naminori_1
-
- .end
diff --git a/sound/songs/se_nigeru.s b/sound/songs/se_nigeru.s
deleted file mode 100644
index babc7868d..000000000
--- a/sound/songs/se_nigeru.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_nigeru_grp, voicegroup127
- .equ se_nigeru_pri, 5
- .equ se_nigeru_rev, reverb_set+50
- .equ se_nigeru_mvl, 127
- .equ se_nigeru_key, 0
- .equ se_nigeru_tbs, 1
- .equ se_nigeru_exg, 0
- .equ se_nigeru_cmp, 1
-
- .section .rodata
- .global se_nigeru
- .align 2
-
-@********************** Track 1 **********************@
-
-se_nigeru_1:
- .byte KEYSH , se_nigeru_key+0
- .byte TEMPO , 150*se_nigeru_tbs/2
- .byte VOICE , 126
- .byte VOL , 90*se_nigeru_mvl/mxv
- .byte N03 , Fn4 , v120
- .byte W03
- .byte Gs4 , v112
- .byte W03
- .byte N02 , Fs3
- .byte W03
- .byte N03 , Gs4 , v072
- .byte W03
- .byte N02 , Fs3 , v096
- .byte W03
- .byte N03 , Gs4 , v056
- .byte W03
- .byte N02 , Fs3 , v080
- .byte W03
- .byte N03 , Gs4 , v040
- .byte W03
- .byte N02 , Fs3 , v064
- .byte W03
- .byte N03 , Gs4 , v024
- .byte W03
- .byte N02 , Fs3 , v048
- .byte W03
- .byte N03 , Gs4 , v020
- .byte W03
- .byte Fs3 , v028
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_nigeru:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_nigeru_pri @ Priority
- .byte se_nigeru_rev @ Reverb.
-
- .word se_nigeru_grp
-
- .word se_nigeru_1
-
- .end
diff --git a/sound/songs/se_o.s b/sound/songs/se_o.s
deleted file mode 100644
index a9c294f66..000000000
--- a/sound/songs/se_o.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_o_grp, voicegroup128
- .equ se_o_pri, 4
- .equ se_o_rev, reverb_set+50
- .equ se_o_mvl, 127
- .equ se_o_key, 0
- .equ se_o_tbs, 1
- .equ se_o_exg, 0
- .equ se_o_cmp, 1
-
- .section .rodata
- .global se_o
- .align 2
-
-@********************** Track 1 **********************@
-
-se_o_1:
- .byte KEYSH , se_o_key+0
- .byte TEMPO , 240*se_o_tbs/2
- .byte VOICE , 126
- .byte BENDR , 12
- .byte VOL , 120*se_o_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Cn3 , v127
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_o:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_o_pri @ Priority
- .byte se_o_rev @ Reverb.
-
- .word se_o_grp
-
- .word se_o_1
-
- .end
diff --git a/sound/songs/se_op_basyu.s b/sound/songs/se_op_basyu.s
deleted file mode 100644
index 70377b9e3..000000000
--- a/sound/songs/se_op_basyu.s
+++ /dev/null
@@ -1,174 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_op_basyu_grp, voicegroup127
- .equ se_op_basyu_pri, 5
- .equ se_op_basyu_rev, reverb_set+50
- .equ se_op_basyu_mvl, 127
- .equ se_op_basyu_key, 0
- .equ se_op_basyu_tbs, 1
- .equ se_op_basyu_exg, 0
- .equ se_op_basyu_cmp, 1
-
- .section .rodata
- .global se_op_basyu
- .align 2
-
-@********************** Track 1 **********************@
-
-se_op_basyu_1:
- .byte KEYSH , se_op_basyu_key+0
- .byte TEMPO , 110*se_op_basyu_tbs/2
- .byte VOICE , 123
- .byte BENDR , 12
- .byte VOL , 100*se_op_basyu_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N60 , Gs2 , v052
- .byte W06
- .byte W06
- .byte BEND , c_v+0
- .byte W02
- .byte c_v+1
- .byte W04
- .byte c_v+2
- .byte W02
- .byte c_v+3
- .byte W02
- .byte c_v+5
- .byte W02
- .byte W01
- .byte c_v+6
- .byte W02
- .byte c_v+8
- .byte W03
- .byte c_v+9
- .byte W02
- .byte c_v+11
- .byte W02
- .byte c_v+13
- .byte W02
- .byte W01
- .byte c_v+15
- .byte W02
- .byte c_v+17
- .byte W03
- .byte c_v+19
- .byte W02
- .byte c_v+24
- .byte W02
- .byte c_v+27
- .byte W02
- .byte W01
- .byte c_v+30
- .byte W02
- .byte c_v+38
- .byte W03
- .byte c_v+43
- .byte W02
- .byte c_v+56
- .byte W02
- .byte c_v+63
- .byte W02
- .byte c_v+0
- .byte N72 , Gs3
- .byte W04
- .byte BEND , c_v+0
- .byte W02
- .byte W01
- .byte c_v+1
- .byte W03
- .byte c_v+2
- .byte W02
- .byte W01
- .byte c_v+3
- .byte W02
- .byte c_v+5
- .byte W03
- .byte c_v+6
- .byte W02
- .byte c_v+8
- .byte W02
- .byte c_v+9
- .byte W02
- .byte VOL , 98*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+11
- .byte W01
- .byte VOL , 96*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+13
- .byte W01
- .byte VOL , 92*se_op_basyu_mvl/mxv
- .byte W02
- .byte BEND , c_v+15
- .byte W01
- .byte VOL , 92*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+17
- .byte W01
- .byte VOL , 85*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+19
- .byte W02
- .byte VOL , 81*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+24
- .byte W01
- .byte VOL , 74*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+27
- .byte W01
- .byte VOL , 66*se_op_basyu_mvl/mxv
- .byte W02
- .byte BEND , c_v+30
- .byte W01
- .byte VOL , 62*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+38
- .byte W01
- .byte VOL , 56*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+43
- .byte W02
- .byte VOL , 50*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+56
- .byte W01
- .byte VOL , 42*se_op_basyu_mvl/mxv
- .byte W01
- .byte BEND , c_v+63
- .byte W01
- .byte VOL , 34*se_op_basyu_mvl/mxv
- .byte W02
- .byte W01
- .byte 29*se_op_basyu_mvl/mxv
- .byte W02
- .byte 25*se_op_basyu_mvl/mxv
- .byte W03
- .byte 23*se_op_basyu_mvl/mxv
- .byte W02
- .byte 19*se_op_basyu_mvl/mxv
- .byte W02
- .byte 14*se_op_basyu_mvl/mxv
- .byte W02
- .byte W01
- .byte 11*se_op_basyu_mvl/mxv
- .byte W02
- .byte 5*se_op_basyu_mvl/mxv
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_op_basyu:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_op_basyu_pri @ Priority
- .byte se_op_basyu_rev @ Reverb.
-
- .word se_op_basyu_grp
-
- .word se_op_basyu_1
-
- .end
diff --git a/sound/songs/se_pc_login.s b/sound/songs/se_pc_login.s
deleted file mode 100644
index 19efbc0a1..000000000
--- a/sound/songs/se_pc_login.s
+++ /dev/null
@@ -1,49 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pc_login_grp, voicegroup127
- .equ se_pc_login_pri, 5
- .equ se_pc_login_rev, reverb_set+50
- .equ se_pc_login_mvl, 127
- .equ se_pc_login_key, 0
- .equ se_pc_login_tbs, 1
- .equ se_pc_login_exg, 0
- .equ se_pc_login_cmp, 1
-
- .section .rodata
- .global se_pc_login
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pc_login_1:
- .byte KEYSH , se_pc_login_key+0
- .byte TEMPO , 144*se_pc_login_tbs/2
- .byte VOICE , 4
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 100*se_pc_login_mvl/mxv
- .byte BEND , c_v-6
- .byte N08 , Cn4 , v112
- .byte W08
- .byte N04 , Cn4 , v028
- .byte W04
- .byte N08 , Cn4 , v112
- .byte W08
- .byte N04 , Cn4 , v024
- .byte W04
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pc_login:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pc_login_pri @ Priority
- .byte se_pc_login_rev @ Reverb.
-
- .word se_pc_login_grp
-
- .word se_pc_login_1
-
- .end
diff --git a/sound/songs/se_pc_off.s b/sound/songs/se_pc_off.s
deleted file mode 100644
index 1d372f92f..000000000
--- a/sound/songs/se_pc_off.s
+++ /dev/null
@@ -1,48 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pc_off_grp, voicegroup127
- .equ se_pc_off_pri, 5
- .equ se_pc_off_rev, reverb_set+50
- .equ se_pc_off_mvl, 127
- .equ se_pc_off_key, 0
- .equ se_pc_off_tbs, 1
- .equ se_pc_off_exg, 0
- .equ se_pc_off_cmp, 1
-
- .section .rodata
- .global se_pc_off
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pc_off_1:
- .byte KEYSH , se_pc_off_key+0
- .byte TEMPO , 120*se_pc_off_tbs/2
- .byte VOICE , 6
- .byte VOL , 100*se_pc_off_mvl/mxv
- .byte BEND , c_v-8
- .byte N04 , Cn3 , v112
- .byte W04
- .byte Cn2
- .byte W02
- .byte W02
- .byte Cn1
- .byte W04
- .byte Cn1 , v024
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pc_off:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pc_off_pri @ Priority
- .byte se_pc_off_rev @ Reverb.
-
- .word se_pc_off_grp
-
- .word se_pc_off_1
-
- .end
diff --git a/sound/songs/se_pc_on.s b/sound/songs/se_pc_on.s
deleted file mode 100644
index d46ced4a6..000000000
--- a/sound/songs/se_pc_on.s
+++ /dev/null
@@ -1,74 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pc_on_grp, voicegroup127
- .equ se_pc_on_pri, 5
- .equ se_pc_on_rev, reverb_set+50
- .equ se_pc_on_mvl, 127
- .equ se_pc_on_key, 0
- .equ se_pc_on_tbs, 1
- .equ se_pc_on_exg, 0
- .equ se_pc_on_cmp, 1
-
- .section .rodata
- .global se_pc_on
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pc_on_1:
- .byte KEYSH , se_pc_on_key+0
- .byte TEMPO , 144*se_pc_on_tbs/2
- .byte VOICE , 4
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 100*se_pc_on_mvl/mxv
- .byte BEND , c_v-11
- .byte N12 , Cn6 , v112
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte N04 , Cn5 , v080
- .byte W03
- .byte W01
- .byte Cn4
- .byte W02
- .byte W02
- .byte Gn4
- .byte W01
- .byte W03
- .byte Cn4
- .byte W03
- .byte W01
- .byte Cn5
- .byte W02
- .byte W02
- .byte Cn4
- .byte W01
- .byte W03
- .byte Cn6 , v100
- .byte W03
- .byte W01
- .byte Cn4 , v080
- .byte W02
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pc_on:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pc_on_pri @ Priority
- .byte se_pc_on_rev @ Reverb.
-
- .word se_pc_on_grp
-
- .word se_pc_on_1
-
- .end
diff --git a/sound/songs/se_pin.s b/sound/songs/se_pin.s
deleted file mode 100644
index 29d87b749..000000000
--- a/sound/songs/se_pin.s
+++ /dev/null
@@ -1,50 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pin_grp, voicegroup127
- .equ se_pin_pri, 4
- .equ se_pin_rev, reverb_set+50
- .equ se_pin_mvl, 127
- .equ se_pin_key, 0
- .equ se_pin_tbs, 1
- .equ se_pin_exg, 0
- .equ se_pin_cmp, 1
-
- .section .rodata
- .global se_pin
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pin_1:
- .byte KEYSH , se_pin_key+0
- .byte TEMPO , 100*se_pin_tbs/2
- .byte VOICE , 5
- .byte BENDR , 12
- .byte VOL , 60*se_pin_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Gn5 , v127
- .byte W03
- .byte Gn6 , v112
- .byte W03
- .byte Gn6 , v024
- .byte W03
- .byte Gn6 , v068
- .byte W03
- .byte Gn6 , v024
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pin:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pin_pri @ Priority
- .byte se_pin_rev @ Reverb.
-
- .word se_pin_grp
-
- .word se_pin_1
-
- .end
diff --git a/sound/songs/se_pinpon.s b/sound/songs/se_pinpon.s
deleted file mode 100644
index 55145fe3b..000000000
--- a/sound/songs/se_pinpon.s
+++ /dev/null
@@ -1,98 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pinpon_grp, voicegroup127
- .equ se_pinpon_pri, 5
- .equ se_pinpon_rev, reverb_set+50
- .equ se_pinpon_mvl, 127
- .equ se_pinpon_key, 0
- .equ se_pinpon_tbs, 1
- .equ se_pinpon_exg, 0
- .equ se_pinpon_cmp, 1
-
- .section .rodata
- .global se_pinpon
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pinpon_1:
- .byte KEYSH , se_pinpon_key+0
- .byte TEMPO , 150*se_pinpon_tbs/2
- .byte VOICE , 15
- .byte BENDR , 2
- .byte VOL , 90*se_pinpon_mvl/mxv
- .byte BEND , c_v+1
- .byte N24 , Ds4 , v092
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte BEND , c_v+15
- .byte N36 , Bn3
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_pinpon_2:
- .byte KEYSH , se_pinpon_key+0
- .byte VOICE , 14
- .byte VOL , 90*se_pinpon_mvl/mxv
- .byte BEND , c_v+1
- .byte N24 , Ds4 , v072
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte BEND , c_v+15
- .byte N36 , Bn3
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pinpon:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pinpon_pri @ Priority
- .byte se_pinpon_rev @ Reverb.
-
- .word se_pinpon_grp
-
- .word se_pinpon_1
- .word se_pinpon_2
-
- .end
diff --git a/sound/songs/se_pn_off.s b/sound/songs/se_pn_off.s
deleted file mode 100644
index b77a55fc7..000000000
--- a/sound/songs/se_pn_off.s
+++ /dev/null
@@ -1,86 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pn_off_grp, voicegroup127
- .equ se_pn_off_pri, 5
- .equ se_pn_off_rev, reverb_set+50
- .equ se_pn_off_mvl, 127
- .equ se_pn_off_key, 0
- .equ se_pn_off_tbs, 1
- .equ se_pn_off_exg, 0
- .equ se_pn_off_cmp, 1
-
- .section .rodata
- .global se_pn_off
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pn_off_1:
- .byte KEYSH , se_pn_off_key+0
- .byte TEMPO , 144*se_pn_off_tbs/2
- .byte VOICE , 4
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 100*se_pn_off_mvl/mxv
- .byte BEND , c_v-6
- .byte N02 , Gn4 , v060
- .byte W02
- .byte N01 , Gn4 , v032
- .byte W01
- .byte N02 , Dn4 , v060
- .byte W03
- .byte N01 , Dn4 , v032
- .byte W01
- .byte N02 , Gn4 , v060
- .byte W02
- .byte Gn4 , v032
- .byte W03
- .byte Gn3 , v060
- .byte W02
- .byte Gn3 , v032
- .byte W04
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_pn_off_2:
- .byte KEYSH , se_pn_off_key+0
- .byte VOICE , 14
- .byte VOL , 50*se_pn_off_mvl/mxv
- .byte BEND , c_v-2
- .byte W01
- .byte N02 , Gn4 , v060
- .byte W02
- .byte N01 , Gn4 , v032
- .byte W01
- .byte N02 , Dn4 , v060
- .byte W02
- .byte W01
- .byte N01 , Dn4 , v032
- .byte W01
- .byte N02 , Gn4 , v060
- .byte W02
- .byte Gn4 , v032
- .byte W02
- .byte W01
- .byte Gn3 , v060
- .byte W02
- .byte Gn3 , v032
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pn_off:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pn_off_pri @ Priority
- .byte se_pn_off_rev @ Reverb.
-
- .word se_pn_off_grp
-
- .word se_pn_off_1
- .word se_pn_off_2
-
- .end
diff --git a/sound/songs/se_pn_on.s b/sound/songs/se_pn_on.s
deleted file mode 100644
index 9c6186399..000000000
--- a/sound/songs/se_pn_on.s
+++ /dev/null
@@ -1,86 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_pn_on_grp, voicegroup127
- .equ se_pn_on_pri, 5
- .equ se_pn_on_rev, reverb_set+50
- .equ se_pn_on_mvl, 127
- .equ se_pn_on_key, 0
- .equ se_pn_on_tbs, 1
- .equ se_pn_on_exg, 0
- .equ se_pn_on_cmp, 1
-
- .section .rodata
- .global se_pn_on
- .align 2
-
-@********************** Track 1 **********************@
-
-se_pn_on_1:
- .byte KEYSH , se_pn_on_key+0
- .byte TEMPO , 144*se_pn_on_tbs/2
- .byte VOICE , 4
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 100*se_pn_on_mvl/mxv
- .byte BEND , c_v-6
- .byte N02 , Cn4 , v060
- .byte W02
- .byte N01 , Cn4 , v032
- .byte W01
- .byte N02 , Gn4 , v060
- .byte W03
- .byte N01 , Gn4 , v032
- .byte W01
- .byte N02 , Cn4 , v060
- .byte W02
- .byte Cn4 , v032
- .byte W03
- .byte Cn5 , v060
- .byte W02
- .byte Cn5 , v032
- .byte W04
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_pn_on_2:
- .byte KEYSH , se_pn_on_key+0
- .byte VOICE , 14
- .byte VOL , 50*se_pn_on_mvl/mxv
- .byte BEND , c_v-2
- .byte W01
- .byte N02 , Cn4 , v060
- .byte W02
- .byte N01 , Cn4 , v032
- .byte W01
- .byte N02 , Gn4 , v060
- .byte W02
- .byte W01
- .byte N01 , Gn4 , v032
- .byte W01
- .byte N02 , Cn4 , v060
- .byte W02
- .byte Cn4 , v032
- .byte W02
- .byte W01
- .byte Cn5 , v060
- .byte W02
- .byte Cn5 , v032
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_pn_on:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_pn_on_pri @ Priority
- .byte se_pn_on_rev @ Reverb.
-
- .word se_pn_on_grp
-
- .word se_pn_on_1
- .word se_pn_on_2
-
- .end
diff --git a/sound/songs/se_poke_dead.s b/sound/songs/se_poke_dead.s
deleted file mode 100644
index 0d66039a2..000000000
--- a/sound/songs/se_poke_dead.s
+++ /dev/null
@@ -1,84 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_poke_dead_grp, voicegroup127
- .equ se_poke_dead_pri, 5
- .equ se_poke_dead_rev, reverb_set+50
- .equ se_poke_dead_mvl, 127
- .equ se_poke_dead_key, 0
- .equ se_poke_dead_tbs, 1
- .equ se_poke_dead_exg, 0
- .equ se_poke_dead_cmp, 1
-
- .section .rodata
- .global se_poke_dead
- .align 2
-
-@********************** Track 1 **********************@
-
-se_poke_dead_1:
- .byte KEYSH , se_poke_dead_key+0
- .byte TEMPO , 90*se_poke_dead_tbs/2
- .byte VOICE , 90
- .byte VOL , 110*se_poke_dead_mvl/mxv
- .byte BEND , c_v+0
- .byte N09 , Cn4 , v100
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_poke_dead_2:
- .byte KEYSH , se_poke_dead_key+0
- .byte VOICE , 124
- .byte BENDR , 12
- .byte VOL , 82*se_poke_dead_mvl/mxv
- .byte BEND , c_v+0
- .byte N05 , Gs4 , v060
- .byte W03
- .byte VOL , 94*se_poke_dead_mvl/mxv
- .byte W03
- .byte 103*se_poke_dead_mvl/mxv
- .byte N22
- .byte W03
- .byte VOL , 110*se_poke_dead_mvl/mxv
- .byte W03
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_poke_dead_3:
- .byte KEYSH , se_poke_dead_key+0
- .byte VOICE , 0
- .byte VOL , 110*se_poke_dead_mvl/mxv
- .byte N06 , Cn3 , v080
- .byte W06
- .byte N18 , Cn3 , v092
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_poke_dead:
- .byte 3 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_poke_dead_pri @ Priority
- .byte se_poke_dead_rev @ Reverb.
-
- .word se_poke_dead_grp
-
- .word se_poke_dead_1
- .word se_poke_dead_2
- .word se_poke_dead_3
-
- .end
diff --git a/sound/songs/se_reapoke.s b/sound/songs/se_reapoke.s
deleted file mode 100644
index 11415920b..000000000
--- a/sound/songs/se_reapoke.s
+++ /dev/null
@@ -1,106 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_reapoke_grp, voicegroup128
- .equ se_reapoke_pri, 5
- .equ se_reapoke_rev, reverb_set+50
- .equ se_reapoke_mvl, 127
- .equ se_reapoke_key, 0
- .equ se_reapoke_tbs, 1
- .equ se_reapoke_exg, 0
- .equ se_reapoke_cmp, 1
-
- .section .rodata
- .global se_reapoke
- .align 2
-
-@********************** Track 1 **********************@
-
-se_reapoke_1:
- .byte KEYSH , se_reapoke_key+0
- .byte TEMPO , 220*se_reapoke_tbs/2
- .byte VOICE , 46
- .byte VOL , 95*se_reapoke_mvl/mxv
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte BEND , c_v+1
- .byte N03 , Cn6 , v127
- .byte W01
- .byte PAN , c_v+2
- .byte BEND , c_v+2
- .byte W01
- .byte c_v+4
- .byte W01
- .byte c_v+1
- .byte N06 , Gn6
- .byte W01
- .byte PAN , c_v+0
- .byte W02
- .byte W03
- .byte BEND , c_v+1
- .byte N03 , Cn6 , v104
- .byte W01
- .byte PAN , c_v-2
- .byte BEND , c_v+2
- .byte W02
- .byte c_v+4
- .byte W01
- .byte c_v+1
- .byte N06 , Gn6
- .byte W01
- .byte PAN , c_v+0
- .byte W04
- .byte W01
- .byte BEND , c_v+1
- .byte N03 , Cs6 , v080
- .byte W01
- .byte PAN , c_v+4
- .byte BEND , c_v+2
- .byte W01
- .byte c_v+4
- .byte W01
- .byte c_v+1
- .byte N06 , Gs6
- .byte W02
- .byte PAN , c_v+0
- .byte W04
- .byte BEND , c_v+1
- .byte N03 , Cs6 , v048
- .byte W02
- .byte PAN , c_v-5
- .byte BEND , c_v+2
- .byte W01
- .byte c_v+4
- .byte W01
- .byte c_v+1
- .byte N06 , Gs6
- .byte W01
- .byte PAN , c_v+0
- .byte W03
- .byte W02
- .byte c_v+4
- .byte BEND , c_v+1
- .byte N03 , Cs6 , v032
- .byte W01
- .byte BEND , c_v+2
- .byte W01
- .byte c_v+4
- .byte W02
- .byte c_v+0
- .byte N06 , Gs6
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_reapoke:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_reapoke_pri @ Priority
- .byte se_reapoke_rev @ Reverb.
-
- .word se_reapoke_grp
-
- .word se_reapoke_1
-
- .end
diff --git a/sound/songs/se_regi.s b/sound/songs/se_regi.s
deleted file mode 100644
index 2bc43c515..000000000
--- a/sound/songs/se_regi.s
+++ /dev/null
@@ -1,63 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_regi_grp, voicegroup127
- .equ se_regi_pri, 5
- .equ se_regi_rev, reverb_set+50
- .equ se_regi_mvl, 127
- .equ se_regi_key, 0
- .equ se_regi_tbs, 1
- .equ se_regi_exg, 0
- .equ se_regi_cmp, 1
-
- .section .rodata
- .global se_regi
- .align 2
-
-@********************** Track 1 **********************@
-
-se_regi_1:
- .byte KEYSH , se_regi_key+0
- .byte TEMPO , 128*se_regi_tbs/2
- .byte VOICE , 6
- .byte BENDR , 12
- .byte VOL , 90*se_regi_mvl/mxv
- .byte BEND , c_v-1
- .byte N01 , Ds3 , v127
- .byte W02
- .byte N03 , Gs3 , v100
- .byte W05
- .byte N16 , Fn5 , v072
- .byte W05
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_regi_2:
- .byte KEYSH , se_regi_key+0
- .byte VOICE , 14
- .byte VOL , 90*se_regi_mvl/mxv
- .byte BEND , c_v-8
- .byte W02
- .byte N03 , Gs3 , v060
- .byte W05
- .byte N16 , Fn5
- .byte W05
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_regi:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_regi_pri @ Priority
- .byte se_regi_rev @ Reverb.
-
- .word se_regi_grp
-
- .word se_regi_1
- .word se_regi_2
-
- .end
diff --git a/sound/songs/se_rg_bag1.s b/sound/songs/se_rg_bag1.s
deleted file mode 100644
index d2dd38ed5..000000000
--- a/sound/songs/se_rg_bag1.s
+++ /dev/null
@@ -1,60 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_bag1_grp, voicegroup129
- .equ se_rg_bag1_pri, 5
- .equ se_rg_bag1_rev, reverb_set+50
- .equ se_rg_bag1_mvl, 127
- .equ se_rg_bag1_key, 0
- .equ se_rg_bag1_tbs, 1
- .equ se_rg_bag1_exg, 0
- .equ se_rg_bag1_cmp, 1
-
- .section .rodata
- .global se_rg_bag1
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_bag1_1:
- .byte KEYSH , se_rg_bag1_key+0
- .byte TEMPO , 310*se_rg_bag1_tbs/2
- .byte VOICE , 10
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte VOL , 127*se_rg_bag1_mvl/mxv
- .byte BEND , c_v+2
- .byte N01 , Cs4 , v072
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_bag1_2:
- .byte VOL , 127*se_rg_bag1_mvl/mxv
- .byte KEYSH , se_rg_bag1_key+0
- .byte VOICE , 124
- .byte N01 , Cs5 , v072
- .byte W01
- .byte Ds5 , v104
- .byte W02
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_bag1:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_bag1_pri @ Priority
- .byte se_rg_bag1_rev @ Reverb.
-
- .word se_rg_bag1_grp
-
- .word se_rg_bag1_1
- .word se_rg_bag1_2
-
- .end
diff --git a/sound/songs/se_rg_bag2.s b/sound/songs/se_rg_bag2.s
deleted file mode 100644
index 7d4f338c5..000000000
--- a/sound/songs/se_rg_bag2.s
+++ /dev/null
@@ -1,65 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_bag2_grp, voicegroup129
- .equ se_rg_bag2_pri, 5
- .equ se_rg_bag2_rev, reverb_set+50
- .equ se_rg_bag2_mvl, 127
- .equ se_rg_bag2_key, 0
- .equ se_rg_bag2_tbs, 1
- .equ se_rg_bag2_exg, 0
- .equ se_rg_bag2_cmp, 1
-
- .section .rodata
- .global se_rg_bag2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_bag2_1:
- .byte KEYSH , se_rg_bag2_key+0
- .byte TEMPO , 422*se_rg_bag2_tbs/2
- .byte VOICE , 80
- .byte VOL , 64*se_rg_bag2_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Dn4 , v084
- .byte W02
- .byte BEND , c_v+17
- .byte N03 , Fs4 , v080
- .byte W01
- .byte BEND , c_v-40
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_bag2_2:
- .byte KEYSH , se_rg_bag2_key+0
- .byte VOICE , 2
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte VOL , 127*se_rg_bag2_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N04 , En3 , v127
- .byte W03
- .byte W01
- .byte VOICE , 2
- .byte N02 , Bn3
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_bag2:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_bag2_pri @ Priority
- .byte se_rg_bag2_rev @ Reverb.
-
- .word se_rg_bag2_grp
-
- .word se_rg_bag2_1
- .word se_rg_bag2_2
-
- .end
diff --git a/sound/songs/se_rg_card1.s b/sound/songs/se_rg_card1.s
deleted file mode 100644
index 1f2d72c3e..000000000
--- a/sound/songs/se_rg_card1.s
+++ /dev/null
@@ -1,48 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_card1_grp, voicegroup129
- .equ se_rg_card1_pri, 5
- .equ se_rg_card1_rev, reverb_set+50
- .equ se_rg_card1_mvl, 127
- .equ se_rg_card1_key, 0
- .equ se_rg_card1_tbs, 1
- .equ se_rg_card1_exg, 0
- .equ se_rg_card1_cmp, 1
-
- .section .rodata
- .global se_rg_card1
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_card1_1:
- .byte KEYSH , se_rg_card1_key+0
- .byte TEMPO , 182*se_rg_card1_tbs/2
- .byte VOICE , 125
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte PAN , c_v+0
- .byte VOL , 127*se_rg_card1_mvl/mxv
- .byte BEND , c_v+2
- .byte N01 , Cn4 , v127
- .byte W03
- .byte VOICE , 124
- .byte N01 , Cn5 , v064
- .byte W21
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_card1:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_card1_pri @ Priority
- .byte se_rg_card1_rev @ Reverb.
-
- .word se_rg_card1_grp
-
- .word se_rg_card1_1
-
- .end
diff --git a/sound/songs/se_rg_card2.s b/sound/songs/se_rg_card2.s
deleted file mode 100644
index 7f83de097..000000000
--- a/sound/songs/se_rg_card2.s
+++ /dev/null
@@ -1,62 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_card2_grp, voicegroup129
- .equ se_rg_card2_pri, 5
- .equ se_rg_card2_rev, reverb_set+50
- .equ se_rg_card2_mvl, 127
- .equ se_rg_card2_key, 0
- .equ se_rg_card2_tbs, 1
- .equ se_rg_card2_exg, 0
- .equ se_rg_card2_cmp, 1
-
- .section .rodata
- .global se_rg_card2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_card2_1:
- .byte KEYSH , se_rg_card2_key+0
- .byte TEMPO , 182*se_rg_card2_tbs/2
- .byte VOICE , 125
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte PAN , c_v+0
- .byte VOL , 16*se_rg_card2_mvl/mxv
- .byte BEND , c_v+2
- .byte N24 , Gn5 , v088
- .byte W03
- .byte VOL , 32*se_rg_card2_mvl/mxv
- .byte W03
- .byte 48*se_rg_card2_mvl/mxv
- .byte W03
- .byte 64*se_rg_card2_mvl/mxv
- .byte W03
- .byte 80*se_rg_card2_mvl/mxv
- .byte W03
- .byte 96*se_rg_card2_mvl/mxv
- .byte W03
- .byte 112*se_rg_card2_mvl/mxv
- .byte W03
- .byte 127*se_rg_card2_mvl/mxv
- .byte W03
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_card2:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_card2_pri @ Priority
- .byte se_rg_card2_rev @ Reverb.
-
- .word se_rg_card2_grp
-
- .word se_rg_card2_1
-
- .end
diff --git a/sound/songs/se_rg_card3.s b/sound/songs/se_rg_card3.s
deleted file mode 100644
index e456c6bbe..000000000
--- a/sound/songs/se_rg_card3.s
+++ /dev/null
@@ -1,110 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_card3_grp, voicegroup129
- .equ se_rg_card3_pri, 5
- .equ se_rg_card3_rev, reverb_set+50
- .equ se_rg_card3_mvl, 127
- .equ se_rg_card3_key, 0
- .equ se_rg_card3_tbs, 1
- .equ se_rg_card3_exg, 0
- .equ se_rg_card3_cmp, 1
-
- .section .rodata
- .global se_rg_card3
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_card3_1:
- .byte KEYSH , se_rg_card3_key+0
- .byte TEMPO , 174*se_rg_card3_tbs/2
- .byte VOICE , 46
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte VOL , 112*se_rg_card3_mvl/mxv
- .byte PAN , c_v+0
- .byte VOL , 112*se_rg_card3_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N03 , An5 , v112
- .byte W03
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte N03 , Bn5
- .byte W03
- .byte VOL , 112*se_rg_card3_mvl/mxv
- .byte PAN , c_v-48
- .byte N06 , En6
- .byte W03
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte W03
- .byte 112*se_rg_card3_mvl/mxv
- .byte PAN , c_v+48
- .byte N06 , En6 , v040
- .byte W03
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte W03
- .byte PAN , c_v-48
- .byte VOL , 97*se_rg_card3_mvl/mxv
- .byte N06 , En6 , v032
- .byte W03
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte W03
- .byte PAN , c_v+48
- .byte VOL , 96*se_rg_card3_mvl/mxv
- .byte N06 , En6 , v024
- .byte W03
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte W03
- .byte PAN , c_v-48
- .byte VOL , 80*se_rg_card3_mvl/mxv
- .byte N06 , En6 , v016
- .byte W03
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte W03
- .byte PAN , c_v+48
- .byte VOL , 80*se_rg_card3_mvl/mxv
- .byte N06 , En6 , v012
- .byte W03
- .byte VOL , 48*se_rg_card3_mvl/mxv
- .byte W03
- .byte N06 , En6 , v008
- .byte W03
- .byte VOL , 2*se_rg_card3_mvl/mxv
- .byte W03
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_card3_2:
- .byte KEYSH , se_rg_card3_key+0
- .byte VOICE , 124
- .byte PAN , c_v+0
- .byte VOL , 64*se_rg_card3_mvl/mxv
- .byte N03 , Cn5 , v092
- .byte W06
- .byte Cn5 , v032
- .byte W18
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_card3:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_card3_pri @ Priority
- .byte se_rg_card3_rev @ Reverb.
-
- .word se_rg_card3_grp
-
- .word se_rg_card3_1
- .word se_rg_card3_2
-
- .end
diff --git a/sound/songs/se_rg_deomov.s b/sound/songs/se_rg_deomov.s
deleted file mode 100644
index 7c2e691bf..000000000
--- a/sound/songs/se_rg_deomov.s
+++ /dev/null
@@ -1,204 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_deomov_grp, voicegroup129
- .equ se_rg_deomov_pri, 5
- .equ se_rg_deomov_rev, reverb_set+50
- .equ se_rg_deomov_mvl, 127
- .equ se_rg_deomov_key, 0
- .equ se_rg_deomov_tbs, 1
- .equ se_rg_deomov_exg, 0
- .equ se_rg_deomov_cmp, 1
-
- .section .rodata
- .global se_rg_deomov
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_deomov_1:
- .byte KEYSH , se_rg_deomov_key+0
- .byte TEMPO , 262*se_rg_deomov_tbs/2
- .byte VOICE , 123
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte PAN , c_v+0
- .byte VOL , 40*se_rg_deomov_mvl/mxv
- .byte BEND , c_v+2
- .byte N02 , Cn2 , v120
- .byte W08
- .byte N04 , Cn5
- .byte W16
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_deomov_2:
- .byte KEYSH , se_rg_deomov_key+0
- .byte VOICE , 31
- .byte LFOS , 44
- .byte BENDR , 12
- .byte VOL , 80*se_rg_deomov_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v-64
- .byte TIE , En4 , v032
- .byte W24
- .byte W04
- .byte BEND , c_v-55
- .byte W02
- .byte c_v-50
- .byte W02
- .byte c_v-39
- .byte W02
- .byte c_v-32
- .byte W02
- .byte c_v-23
- .byte W02
- .byte c_v-18
- .byte W02
- .byte c_v-9
- .byte W02
- .byte c_v-2
- .byte W02
- .byte c_v+16
- .byte W02
- .byte c_v+23
- .byte W02
- .byte c_v+32
- .byte W02
- .byte c_v+39
- .byte W02
- .byte c_v+48
- .byte W02
- .byte c_v+56
- .byte W02
- .byte c_v+63
- .byte W16
- .byte W24
- .byte W24
- .byte VOL , 70*se_rg_deomov_mvl/mxv
- .byte W04
- .byte 66*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 60*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 55*se_rg_deomov_mvl/mxv
- .byte W08
- .byte 49*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 44*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 40*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 35*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 30*se_rg_deomov_mvl/mxv
- .byte W04
- .byte 24*se_rg_deomov_mvl/mxv
- .byte W02
- .byte 20*se_rg_deomov_mvl/mxv
- .byte W02
- .byte 15*se_rg_deomov_mvl/mxv
- .byte W04
- .byte 10*se_rg_deomov_mvl/mxv
- .byte W06
- .byte 0*se_rg_deomov_mvl/mxv
- .byte W06
- .byte EOT
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_rg_deomov_3:
- .byte KEYSH , se_rg_deomov_key+0
- .byte VOICE , 50
- .byte VOL , 69*se_rg_deomov_mvl/mxv
- .byte PAN , c_v-64
- .byte W24
- .byte c_v+63
- .byte N01 , Fs4 , v064
- .byte W06
- .byte Gs4
- .byte W03
- .byte PAN , c_v-64
- .byte W07
- .byte N01 , En5
- .byte W05
- .byte Fs5
- .byte W03
- .byte PAN , c_v+63
- .byte W10
- .byte N01 , Dn5
- .byte W03
- .byte Cn5
- .byte W07
- .byte PAN , c_v-64
- .byte W04
- .byte N01 , Fs3
- .byte W03
- .byte Gs3
- .byte W09
- .byte PAN , c_v+63
- .byte W04
- .byte N01 , Bn4
- .byte W04
- .byte Dn5
- .byte W04
- .byte PAN , c_v-64
- .byte W09
- .byte N01 , Fs5
- .byte W09
- .byte Cs5
- .byte W06
- .byte PAN , c_v+63
- .byte W02
- .byte N01 , Cs4 , v036
- .byte W02
- .byte As3
- .byte W08
- .byte Fs3
- .byte W03
- .byte Gs3
- .byte W09
- .byte PAN , c_v-64
- .byte W03
- .byte N01 , Dn5 , v028
- .byte W03
- .byte Cn5
- .byte W06
- .byte Fs4
- .byte W03
- .byte Cn4
- .byte W04
- .byte Gn3
- .byte W05
- .byte PAN , c_v+63
- .byte W06
- .byte N01 , Gn4 , v020
- .byte W02
- .byte An4
- .byte W16
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_deomov:
- .byte 3 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_deomov_pri @ Priority
- .byte se_rg_deomov_rev @ Reverb.
-
- .word se_rg_deomov_grp
-
- .word se_rg_deomov_1
- .word se_rg_deomov_2
- .word se_rg_deomov_3
-
- .end
diff --git a/sound/songs/se_rg_excellent.s b/sound/songs/se_rg_excellent.s
deleted file mode 100644
index 63c0eae19..000000000
--- a/sound/songs/se_rg_excellent.s
+++ /dev/null
@@ -1,155 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_excellent_grp, voicegroup128
- .equ se_rg_excellent_pri, 5
- .equ se_rg_excellent_rev, reverb_set+50
- .equ se_rg_excellent_mvl, 127
- .equ se_rg_excellent_key, 0
- .equ se_rg_excellent_tbs, 1
- .equ se_rg_excellent_exg, 0
- .equ se_rg_excellent_cmp, 1
-
- .section .rodata
- .global se_rg_excellent
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_excellent_1:
- .byte KEYSH , se_rg_excellent_key+0
- .byte TEMPO , 150*se_rg_excellent_tbs/2
- .byte VOICE , 46
- .byte VOL , 110*se_rg_excellent_mvl/mxv
- .byte BENDR , 2
- .byte PAN , c_v+0
- .byte BEND , c_v+15
- .byte W01
- .byte N02 , Dn6 , v112
- .byte W02
- .byte Cs6
- .byte W03
- .byte PAN , c_v+8
- .byte N02 , An5
- .byte W02
- .byte Fs5
- .byte W01
- .byte W01
- .byte Dn5
- .byte W02
- .byte PAN , c_v-7
- .byte W01
- .byte N02 , Dn5 , v104
- .byte W02
- .byte Cs5 , v100
- .byte W03
- .byte PAN , c_v+0
- .byte N02 , An4 , v096
- .byte W02
- .byte Fs4 , v092
- .byte W01
- .byte W01
- .byte Dn4 , v088
- .byte W02
- .byte PAN , c_v+15
- .byte W01
- .byte N02 , Dn6
- .byte W02
- .byte Cs6 , v084
- .byte W03
- .byte An5 , v080
- .byte W02
- .byte Fs5 , v076
- .byte W01
- .byte W01
- .byte Dn5 , v072
- .byte W02
- .byte PAN , c_v-16
- .byte W01
- .byte N02 , Dn6 , v068
- .byte W02
- .byte Cs6 , v064
- .byte W03
- .byte An5 , v060
- .byte W02
- .byte Fs5 , v056
- .byte W01
- .byte W01
- .byte Dn5 , v052
- .byte W02
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_excellent_2:
- .byte KEYSH , se_rg_excellent_key+0
- .byte VOICE , 53
- .byte BENDR , 2
- .byte VOL , 43*se_rg_excellent_mvl/mxv
- .byte BEND , c_v+15
- .byte N02 , An6 , v112
- .byte W02
- .byte Fs6
- .byte W01
- .byte W01
- .byte Dn6
- .byte W02
- .byte W01
- .byte Cs6
- .byte W02
- .byte An5
- .byte W03
- .byte N02
- .byte W02
- .byte Fs5 , v104
- .byte W01
- .byte W01
- .byte Dn5 , v100
- .byte W02
- .byte W01
- .byte Cs5 , v096
- .byte W02
- .byte An4 , v092
- .byte W03
- .byte An6 , v088
- .byte W02
- .byte Fs6 , v084
- .byte W01
- .byte W01
- .byte Dn6 , v080
- .byte W02
- .byte W01
- .byte Cs6 , v076
- .byte W02
- .byte An5 , v072
- .byte W03
- .byte An6 , v068
- .byte W02
- .byte Fs6 , v064
- .byte W01
- .byte W01
- .byte Dn6 , v060
- .byte W02
- .byte W01
- .byte Cs6 , v056
- .byte W02
- .byte An5 , v052
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_excellent:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_excellent_pri @ Priority
- .byte se_rg_excellent_rev @ Reverb.
-
- .word se_rg_excellent_grp
-
- .word se_rg_excellent_1
- .word se_rg_excellent_2
-
- .end
diff --git a/sound/songs/se_rg_getting.s b/sound/songs/se_rg_getting.s
deleted file mode 100644
index 2c632f399..000000000
--- a/sound/songs/se_rg_getting.s
+++ /dev/null
@@ -1,69 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_getting_grp, voicegroup129
- .equ se_rg_getting_pri, 5
- .equ se_rg_getting_rev, reverb_set+50
- .equ se_rg_getting_mvl, 127
- .equ se_rg_getting_key, 0
- .equ se_rg_getting_tbs, 1
- .equ se_rg_getting_exg, 0
- .equ se_rg_getting_cmp, 1
-
- .section .rodata
- .global se_rg_getting
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_getting_1:
- .byte KEYSH , se_rg_getting_key+0
- .byte TEMPO , 310*se_rg_getting_tbs/2
- .byte VOICE , 3
- .byte XCMD , xIECV , 8
- .byte xIECL , 8
- .byte VOL , 100*se_rg_getting_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Bn3 , v120
- .byte W03
- .byte W03
- .byte W02
- .byte En4 , v127
- .byte W01
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_getting_2:
- .byte KEYSH , se_rg_getting_key+0
- .byte VOICE , 126
- .byte VOL , 100*se_rg_getting_mvl/mxv
- .byte W03
- .byte W01
- .byte N01 , Cn2 , v120
- .byte W02
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_getting:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_getting_pri @ Priority
- .byte se_rg_getting_rev @ Reverb.
-
- .word se_rg_getting_grp
-
- .word se_rg_getting_1
- .word se_rg_getting_2
-
- .end
diff --git a/sound/songs/se_rg_help_cl.s b/sound/songs/se_rg_help_cl.s
deleted file mode 100644
index 8daa70ae9..000000000
--- a/sound/songs/se_rg_help_cl.s
+++ /dev/null
@@ -1,82 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_help_cl_grp, voicegroup129
- .equ se_rg_help_cl_pri, 5
- .equ se_rg_help_cl_rev, reverb_set+50
- .equ se_rg_help_cl_mvl, 127
- .equ se_rg_help_cl_key, 0
- .equ se_rg_help_cl_tbs, 1
- .equ se_rg_help_cl_exg, 0
- .equ se_rg_help_cl_cmp, 1
-
- .section .rodata
- .global se_rg_help_cl
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_help_cl_1:
- .byte KEYSH , se_rg_help_cl_key+0
- .byte TEMPO , 420*se_rg_help_cl_tbs/2
- .byte VOICE , 24
- .byte LFOS , 44
- .byte BENDR , 12
- .byte VOL , 95*se_rg_help_cl_mvl/mxv
- .byte PAN , c_v+48
- .byte N04 , Dn5 , v092
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn5 , v032
- .byte W06
- .byte PAN , c_v+32
- .byte N04 , An4 , v096
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , An4 , v032
- .byte W06
- .byte PAN , c_v+32
- .byte N04 , Fs4 , v092
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Fs4 , v032
- .byte W06
- .byte PAN , c_v+16
- .byte N04 , En4 , v092
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , En4 , v032
- .byte W06
- .byte PAN , c_v-39
- .byte N04 , Dn4 , v096
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Dn4 , v032
- .byte W06
- .byte PAN , c_v-64
- .byte N04
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Dn4 , v016
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn4 , v012
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Dn4 , v004
- .byte W18
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_help_cl:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_help_cl_pri @ Priority
- .byte se_rg_help_cl_rev @ Reverb.
-
- .word se_rg_help_cl_grp
-
- .word se_rg_help_cl_1
-
- .end
diff --git a/sound/songs/se_rg_help_ng.s b/sound/songs/se_rg_help_ng.s
deleted file mode 100644
index f430c245a..000000000
--- a/sound/songs/se_rg_help_ng.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_help_ng_grp, voicegroup129
- .equ se_rg_help_ng_pri, 5
- .equ se_rg_help_ng_rev, reverb_set+50
- .equ se_rg_help_ng_mvl, 127
- .equ se_rg_help_ng_key, 0
- .equ se_rg_help_ng_tbs, 1
- .equ se_rg_help_ng_exg, 0
- .equ se_rg_help_ng_cmp, 1
-
- .section .rodata
- .global se_rg_help_ng
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_help_ng_1:
- .byte KEYSH , se_rg_help_ng_key+0
- .byte TEMPO , 420*se_rg_help_ng_tbs/2
- .byte VOICE , 24
- .byte LFOS , 44
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 96*se_rg_help_ng_mvl/mxv
- .byte N04 , Dn4 , v120
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn4 , v032
- .byte W06
- .byte PAN , c_v-1
- .byte N04 , Fs4 , v096
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Fs4 , v032
- .byte W06
- .byte VOICE , 92
- .byte PAN , c_v+0
- .byte VOL , 125*se_rg_help_ng_mvl/mxv
- .byte N04 , An1 , v112
- .byte W10
- .byte MOD , 8
- .byte W02
- .byte N06 , An1 , v088
- .byte W06
- .byte An1 , v024
- .byte W06
- .byte MOD , 0
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_help_ng:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_help_ng_pri @ Priority
- .byte se_rg_help_ng_rev @ Reverb.
-
- .word se_rg_help_ng_grp
-
- .word se_rg_help_ng_1
-
- .end
diff --git a/sound/songs/se_rg_help_op.s b/sound/songs/se_rg_help_op.s
deleted file mode 100644
index 8bffb7938..000000000
--- a/sound/songs/se_rg_help_op.s
+++ /dev/null
@@ -1,82 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_help_op_grp, voicegroup129
- .equ se_rg_help_op_pri, 5
- .equ se_rg_help_op_rev, reverb_set+50
- .equ se_rg_help_op_mvl, 127
- .equ se_rg_help_op_key, 0
- .equ se_rg_help_op_tbs, 1
- .equ se_rg_help_op_exg, 0
- .equ se_rg_help_op_cmp, 1
-
- .section .rodata
- .global se_rg_help_op
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_help_op_1:
- .byte KEYSH , se_rg_help_op_key+0
- .byte TEMPO , 420*se_rg_help_op_tbs/2
- .byte VOICE , 24
- .byte LFOS , 44
- .byte BENDR , 12
- .byte VOL , 96*se_rg_help_op_mvl/mxv
- .byte PAN , c_v-48
- .byte N04 , Dn4 , v096
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn4 , v032
- .byte W06
- .byte PAN , c_v-32
- .byte N04 , Fs4 , v096
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Fs4 , v032
- .byte W06
- .byte PAN , c_v-32
- .byte N04 , An4 , v096
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , An4 , v032
- .byte W06
- .byte PAN , c_v-16
- .byte N04 , Cs5 , v096
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Cs5 , v032
- .byte W06
- .byte PAN , c_v+32
- .byte N04 , Dn5 , v076
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn5 , v032
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Dn5 , v024
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn5 , v016
- .byte W06
- .byte PAN , c_v+63
- .byte N04 , Dn5 , v008
- .byte W06
- .byte PAN , c_v-64
- .byte N04 , Dn5 , v004
- .byte W18
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_help_op:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_help_op_pri @ Priority
- .byte se_rg_help_op_rev @ Reverb.
-
- .word se_rg_help_op_grp
-
- .word se_rg_help_op_1
-
- .end
diff --git a/sound/songs/se_rg_kiteki.s b/sound/songs/se_rg_kiteki.s
deleted file mode 100644
index 248ddc303..000000000
--- a/sound/songs/se_rg_kiteki.s
+++ /dev/null
@@ -1,161 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_kiteki_grp, voicegroup129
- .equ se_rg_kiteki_pri, 5
- .equ se_rg_kiteki_rev, reverb_set+50
- .equ se_rg_kiteki_mvl, 127
- .equ se_rg_kiteki_key, 0
- .equ se_rg_kiteki_tbs, 1
- .equ se_rg_kiteki_exg, 0
- .equ se_rg_kiteki_cmp, 1
-
- .section .rodata
- .global se_rg_kiteki
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_kiteki_1:
- .byte KEYSH , se_rg_kiteki_key+0
- .byte TEMPO , 164*se_rg_kiteki_tbs/2
- .byte VOICE , 9
- .byte BENDR , 12
- .byte LFOS , 44
- .byte PAN , c_v+0
- .byte VOL , 96*se_rg_kiteki_mvl/mxv
- .byte MOD , 1
- .byte N04 , En2 , v127
- .byte W04
- .byte N10 , En2 , v104
- .byte W20
- .byte W10
- .byte PAN , c_v-64
- .byte TIE , En2 , v127
- .byte W08
- .byte PAN , c_v-48
- .byte W06
- .byte W02
- .byte c_v-32
- .byte W08
- .byte c_v-16
- .byte W08
- .byte c_v+0
- .byte W06
- .byte c_v+16
- .byte W06
- .byte c_v+31
- .byte W06
- .byte c_v+48
- .byte W06
- .byte c_v+63
- .byte W06
- .byte W18
- .byte c_v+47
- .byte W06
- .byte c_v+40
- .byte W06
- .byte c_v+30
- .byte W06
- .byte c_v+10
- .byte W06
- .byte c_v-11
- .byte W06
- .byte c_v-25
- .byte W06
- .byte c_v-34
- .byte W06
- .byte c_v-50
- .byte W06
- .byte c_v-64
- .byte W06
- .byte W18
- .byte VOL , 80*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v-52
- .byte W06
- .byte VOL , 72*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v-41
- .byte W06
- .byte VOL , 64*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v-29
- .byte W06
- .byte VOL , 53*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v-18
- .byte W06
- .byte VOL , 48*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v+15
- .byte W06
- .byte VOL , 42*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v+25
- .byte W06
- .byte VOL , 32*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v+40
- .byte W02
- .byte VOL , 24*se_rg_kiteki_mvl/mxv
- .byte W04
- .byte 16*se_rg_kiteki_mvl/mxv
- .byte PAN , c_v+47
- .byte W04
- .byte VOL , 8*se_rg_kiteki_mvl/mxv
- .byte W02
- .byte EOT
- .byte VOL , 0*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_kiteki_2:
- .byte KEYSH , se_rg_kiteki_key+0
- .byte VOICE , 81
- .byte PAN , c_v+0
- .byte MOD , 15
- .byte VOL , 48*se_rg_kiteki_mvl/mxv
- .byte N04 , En1 , v127
- .byte W04
- .byte N10 , En1 , v104
- .byte W20
- .byte W10
- .byte TIE , En1 , v127
- .byte W14
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W18
- .byte VOL , 42*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 36*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 32*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 26*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 23*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 15*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 13*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte 8*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte EOT
- .byte VOL , 0*se_rg_kiteki_mvl/mxv
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_kiteki:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_kiteki_pri @ Priority
- .byte se_rg_kiteki_rev @ Reverb.
-
- .word se_rg_kiteki_grp
-
- .word se_rg_kiteki_1
- .word se_rg_kiteki_2
-
- .end
diff --git a/sound/songs/se_rg_nawamiss.s b/sound/songs/se_rg_nawamiss.s
deleted file mode 100644
index db24cf5f4..000000000
--- a/sound/songs/se_rg_nawamiss.s
+++ /dev/null
@@ -1,55 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_nawamiss_grp, voicegroup127
- .equ se_rg_nawamiss_pri, 5
- .equ se_rg_nawamiss_rev, reverb_set+50
- .equ se_rg_nawamiss_mvl, 127
- .equ se_rg_nawamiss_key, 0
- .equ se_rg_nawamiss_tbs, 1
- .equ se_rg_nawamiss_exg, 0
- .equ se_rg_nawamiss_cmp, 1
-
- .section .rodata
- .global se_rg_nawamiss
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_nawamiss_1:
- .byte KEYSH , se_rg_nawamiss_key+0
- .byte TEMPO , 240*se_rg_nawamiss_tbs/2
- .byte VOICE , 92
- .byte BENDR , 12
- .byte VOL , 127*se_rg_nawamiss_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Cn2 , v127
- .byte W03
- .byte Cn2 , v020
- .byte W03
- .byte N18 , Cn2 , v127
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte N09 , Cn2 , v020
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_nawamiss:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_nawamiss_pri @ Priority
- .byte se_rg_nawamiss_rev @ Reverb.
-
- .word se_rg_nawamiss_grp
-
- .word se_rg_nawamiss_1
-
- .end
diff --git a/sound/songs/se_rg_shop.s b/sound/songs/se_rg_shop.s
deleted file mode 100644
index d184e1e5d..000000000
--- a/sound/songs/se_rg_shop.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_shop_grp, voicegroup129
- .equ se_rg_shop_pri, 5
- .equ se_rg_shop_rev, reverb_set+50
- .equ se_rg_shop_mvl, 127
- .equ se_rg_shop_key, 0
- .equ se_rg_shop_tbs, 1
- .equ se_rg_shop_exg, 0
- .equ se_rg_shop_cmp, 1
-
- .section .rodata
- .global se_rg_shop
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_shop_1:
- .byte KEYSH , se_rg_shop_key+0
- .byte TEMPO , 124*se_rg_shop_tbs/2
- .byte VOICE , 8
- .byte VOL , 80*se_rg_shop_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N30 , Cn3 , v120
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_shop:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_shop_pri @ Priority
- .byte se_rg_shop_rev @ Reverb.
-
- .word se_rg_shop_grp
-
- .word se_rg_shop_1
-
- .end
diff --git a/sound/songs/se_rg_w_door.s b/sound/songs/se_rg_w_door.s
deleted file mode 100644
index 9c2349018..000000000
--- a/sound/songs/se_rg_w_door.s
+++ /dev/null
@@ -1,84 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_rg_w_door_grp, voicegroup129
- .equ se_rg_w_door_pri, 5
- .equ se_rg_w_door_rev, reverb_set+50
- .equ se_rg_w_door_mvl, 127
- .equ se_rg_w_door_key, 0
- .equ se_rg_w_door_tbs, 1
- .equ se_rg_w_door_exg, 0
- .equ se_rg_w_door_cmp, 1
-
- .section .rodata
- .global se_rg_w_door
- .align 2
-
-@********************** Track 1 **********************@
-
-se_rg_w_door_1:
- .byte KEYSH , se_rg_w_door_key+0
- .byte TEMPO , 110*se_rg_w_door_tbs/2
- .byte VOICE , 127
- .byte VOL , 100*se_rg_w_door_mvl/mxv
- .byte N03 , Fn2 , v100
- .byte N03 , As2 , v127
- .byte W06
- .byte N08 , Fs3 , v096
- .byte W06
- .byte VOL , 88*se_rg_w_door_mvl/mxv
- .byte W03
- .byte 54*se_rg_w_door_mvl/mxv
- .byte W03
- .byte 68*se_rg_w_door_mvl/mxv
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_rg_w_door_2:
- .byte KEYSH , se_rg_w_door_key+0
- .byte VOICE , 92
- .byte BENDR , 12
- .byte VOL , 43*se_rg_w_door_mvl/mxv
- .byte BEND , c_v+0
- .byte W04
- .byte c_v-50
- .byte N10 , Bn5 , v052
- .byte W02
- .byte BEND , c_v-45
- .byte W01
- .byte c_v-23
- .byte W01
- .byte c_v-2
- .byte W01
- .byte c_v+22
- .byte W01
- .byte c_v+28
- .byte W01
- .byte c_v+41
- .byte W01
- .byte VOL , 29*se_rg_w_door_mvl/mxv
- .byte BEND , c_v+53
- .byte W01
- .byte c_v+60
- .byte W02
- .byte VOL , 18*se_rg_w_door_mvl/mxv
- .byte BEND , c_v+63
- .byte W09
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_rg_w_door:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_rg_w_door_pri @ Priority
- .byte se_rg_w_door_rev @ Reverb.
-
- .word se_rg_w_door_grp
-
- .word se_rg_w_door_1
- .word se_rg_w_door_2
-
- .end
diff --git a/sound/songs/se_ru_bari.s b/sound/songs/se_ru_bari.s
deleted file mode 100644
index ffff1b406..000000000
--- a/sound/songs/se_ru_bari.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ru_bari_grp, voicegroup127
- .equ se_ru_bari_pri, 4
- .equ se_ru_bari_rev, reverb_set+50
- .equ se_ru_bari_mvl, 127
- .equ se_ru_bari_key, 0
- .equ se_ru_bari_tbs, 1
- .equ se_ru_bari_exg, 0
- .equ se_ru_bari_cmp, 1
-
- .section .rodata
- .global se_ru_bari
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ru_bari_1:
- .byte KEYSH , se_ru_bari_key+0
- .byte TEMPO , 150*se_ru_bari_tbs/2
- .byte VOICE , 9
- .byte VOL , 100*se_ru_bari_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Gn5 , v088
- .byte W01
- .byte N01
- .byte W02
- .byte Cn6 , v072
- .byte W03
- .byte Cn6 , v056
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_ru_bari_2:
- .byte KEYSH , se_ru_bari_key+0
- .byte VOICE , 122
- .byte VOL , 100*se_ru_bari_mvl/mxv
- .byte N01 , Gn2 , v112
- .byte W02
- .byte VOICE , 123
- .byte W01
- .byte N01 , Gs4 , v096
- .byte W03
- .byte Gs4 , v112
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ru_bari:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ru_bari_pri @ Priority
- .byte se_ru_bari_rev @ Reverb.
-
- .word se_ru_bari_grp
-
- .word se_ru_bari_1
- .word se_ru_bari_2
-
- .end
diff --git a/sound/songs/se_ru_gashin.s b/sound/songs/se_ru_gashin.s
deleted file mode 100644
index 1c9158cbd..000000000
--- a/sound/songs/se_ru_gashin.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ru_gashin_grp, voicegroup128
- .equ se_ru_gashin_pri, 4
- .equ se_ru_gashin_rev, reverb_set+50
- .equ se_ru_gashin_mvl, 127
- .equ se_ru_gashin_key, 0
- .equ se_ru_gashin_tbs, 1
- .equ se_ru_gashin_exg, 0
- .equ se_ru_gashin_cmp, 1
-
- .section .rodata
- .global se_ru_gashin
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ru_gashin_1:
- .byte KEYSH , se_ru_gashin_key+0
- .byte TEMPO , 150*se_ru_gashin_tbs/2
- .byte VOICE , 3
- .byte VOL , 90*se_ru_gashin_mvl/mxv
- .byte BEND , c_v+16
- .byte N03 , En3 , v112
- .byte W01
- .byte BEND , c_v+38
- .byte W01
- .byte c_v+62
- .byte W02
- .byte N12 , En4
- .byte W02
- .byte W06
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_ru_gashin_2:
- .byte KEYSH , se_ru_gashin_key+0
- .byte VOICE , 4
- .byte VOL , 90*se_ru_gashin_mvl/mxv
- .byte N03 , Gs3 , v096
- .byte W04
- .byte N12 , Gs4
- .byte W02
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ru_gashin:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ru_gashin_pri @ Priority
- .byte se_ru_gashin_rev @ Reverb.
-
- .word se_ru_gashin_grp
-
- .word se_ru_gashin_1
- .word se_ru_gashin_2
-
- .end
diff --git a/sound/songs/se_ru_gasyan.s b/sound/songs/se_ru_gasyan.s
deleted file mode 100644
index 8cf3f12ea..000000000
--- a/sound/songs/se_ru_gasyan.s
+++ /dev/null
@@ -1,83 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ru_gasyan_grp, voicegroup128
- .equ se_ru_gasyan_pri, 4
- .equ se_ru_gasyan_rev, reverb_set+50
- .equ se_ru_gasyan_mvl, 127
- .equ se_ru_gasyan_key, 0
- .equ se_ru_gasyan_tbs, 1
- .equ se_ru_gasyan_exg, 0
- .equ se_ru_gasyan_cmp, 1
-
- .section .rodata
- .global se_ru_gasyan
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ru_gasyan_1:
- .byte KEYSH , se_ru_gasyan_key+0
- .byte TEMPO , 120*se_ru_gasyan_tbs/2
- .byte VOICE , 3
- .byte VOL , 100*se_ru_gasyan_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Gn3 , v120
- .byte W03
- .byte W01
- .byte Cn4
- .byte W01
- .byte BEND , c_v+12
- .byte W01
- .byte c_v+22
- .byte W01
- .byte N01 , Cn5 , v112
- .byte W01
- .byte BEND , c_v+35
- .byte W01
- .byte W01
- .byte c_v+46
- .byte W01
- .byte c_v+54
- .byte N01 , Cn4 , v104
- .byte W01
- .byte W01
- .byte BEND , c_v+63
- .byte W01
- .byte N01 , Cn5 , v096
- .byte W01
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_ru_gasyan_2:
- .byte KEYSH , se_ru_gasyan_key+0
- .byte VOICE , 4
- .byte VOL , 100*se_ru_gasyan_mvl/mxv
- .byte N01 , Gs3 , v064
- .byte W03
- .byte W01
- .byte N01
- .byte W02
- .byte Fn4
- .byte W03
- .byte Gs3
- .byte W03
- .byte Fn4
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ru_gasyan:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ru_gasyan_pri @ Priority
- .byte se_ru_gasyan_rev @ Reverb.
-
- .word se_ru_gasyan_grp
-
- .word se_ru_gasyan_1
- .word se_ru_gasyan_2
-
- .end
diff --git a/sound/songs/se_ru_hyuu.s b/sound/songs/se_ru_hyuu.s
deleted file mode 100644
index cf495141c..000000000
--- a/sound/songs/se_ru_hyuu.s
+++ /dev/null
@@ -1,80 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ru_hyuu_grp, voicegroup128
- .equ se_ru_hyuu_pri, 4
- .equ se_ru_hyuu_rev, reverb_set+50
- .equ se_ru_hyuu_mvl, 127
- .equ se_ru_hyuu_key, 0
- .equ se_ru_hyuu_tbs, 1
- .equ se_ru_hyuu_exg, 0
- .equ se_ru_hyuu_cmp, 1
-
- .section .rodata
- .global se_ru_hyuu
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ru_hyuu_1:
- .byte KEYSH , se_ru_hyuu_key+0
- .byte TEMPO , 170*se_ru_hyuu_tbs/2
- .byte VOICE , 22
- .byte VOL , 110*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v+60
- .byte N44 , Gn3 , v080
- .byte W03
- .byte BEND , c_v+57
- .byte W03
- .byte c_v+52
- .byte W03
- .byte c_v+43
- .byte W03
- .byte c_v+36
- .byte W03
- .byte c_v+30
- .byte W03
- .byte c_v+22
- .byte W03
- .byte c_v+16
- .byte W03
- .byte VOL , 104*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v+11
- .byte W03
- .byte VOL , 90*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v+3
- .byte W03
- .byte VOL , 82*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v-8
- .byte W03
- .byte VOL , 71*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v-16
- .byte W03
- .byte VOL , 58*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v-24
- .byte W03
- .byte VOL , 45*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v-36
- .byte W03
- .byte VOL , 36*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v-50
- .byte W03
- .byte VOL , 11*se_ru_hyuu_mvl/mxv
- .byte BEND , c_v-63
- .byte W03
- .byte VOL , 3*se_ru_hyuu_mvl/mxv
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ru_hyuu:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ru_hyuu_pri @ Priority
- .byte se_ru_hyuu_rev @ Reverb.
-
- .word se_ru_hyuu_grp
-
- .word se_ru_hyuu_1
-
- .end
diff --git a/sound/songs/se_save.s b/sound/songs/se_save.s
deleted file mode 100644
index eaedd3e7b..000000000
--- a/sound/songs/se_save.s
+++ /dev/null
@@ -1,78 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_save_grp, voicegroup128
- .equ se_save_pri, 5
- .equ se_save_rev, reverb_set+50
- .equ se_save_mvl, 127
- .equ se_save_key, 0
- .equ se_save_tbs, 1
- .equ se_save_exg, 0
- .equ se_save_cmp, 1
-
- .section .rodata
- .global se_save
- .align 2
-
-@********************** Track 1 **********************@
-
-se_save_1:
- .byte KEYSH , se_save_key+0
- .byte TEMPO , 150*se_save_tbs/2
- .byte VOICE , 14
- .byte VOL , 80*se_save_mvl/mxv
- .byte BEND , c_v+17
- .byte N03 , En3 , v096
- .byte W03
- .byte Bn2
- .byte W03
- .byte En3
- .byte W03
- .byte Bn3
- .byte W03
- .byte N06 , Cn5
- .byte W06
- .byte N24 , Cn6
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_save_2:
- .byte KEYSH , se_save_key+0
- .byte VOICE , 17
- .byte VOL , 80*se_save_mvl/mxv
- .byte N03 , En3 , v100
- .byte W03
- .byte Bn2
- .byte W03
- .byte En3
- .byte W03
- .byte Bn3
- .byte W03
- .byte N06 , Cn5
- .byte W06
- .byte N24 , Cn6
- .byte W06
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_save:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_save_pri @ Priority
- .byte se_save_rev @ Reverb.
-
- .word se_save_grp
-
- .word se_save_1
- .word se_save_2
-
- .end
diff --git a/sound/songs/se_seikai.s b/sound/songs/se_seikai.s
deleted file mode 100644
index a3f27b6cd..000000000
--- a/sound/songs/se_seikai.s
+++ /dev/null
@@ -1,44 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_seikai_grp, voicegroup127
- .equ se_seikai_pri, 4
- .equ se_seikai_rev, reverb_set+50
- .equ se_seikai_mvl, 127
- .equ se_seikai_key, 0
- .equ se_seikai_tbs, 1
- .equ se_seikai_exg, 0
- .equ se_seikai_cmp, 1
-
- .section .rodata
- .global se_seikai
- .align 2
-
-@********************** Track 1 **********************@
-
-se_seikai_1:
- .byte KEYSH , se_seikai_key+0
- .byte TEMPO , 240*se_seikai_tbs/2
- .byte VOICE , 5
- .byte BENDR , 12
- .byte VOL , 80*se_seikai_mvl/mxv
- .byte BEND , c_v+0
- .byte N06 , Gn5 , v127
- .byte W06
- .byte N18 , Ds5
- .byte W18
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_seikai:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_seikai_pri @ Priority
- .byte se_seikai_rev @ Reverb.
-
- .word se_seikai_grp
-
- .word se_seikai_1
-
- .end
diff --git a/sound/songs/se_select.s b/sound/songs/se_select.s
deleted file mode 100644
index a20e08956..000000000
--- a/sound/songs/se_select.s
+++ /dev/null
@@ -1,50 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_select_grp, voicegroup127
- .equ se_select_pri, 5
- .equ se_select_rev, reverb_set+50
- .equ se_select_mvl, 127
- .equ se_select_key, 0
- .equ se_select_tbs, 1
- .equ se_select_exg, 0
- .equ se_select_cmp, 1
-
- .section .rodata
- .global se_select
- .align 2
-
-@********************** Track 1 **********************@
-
-se_select_1:
- .byte KEYSH , se_select_key+0
- .byte TEMPO , 300*se_select_tbs/2
- .byte VOICE , 87
- .byte VOL , 80*se_select_mvl/mxv
- .byte BEND , c_v+13
- .byte N03 , As5 , v068
- .byte W03
- .byte Gn6 , v127
- .byte W03
- .byte Gn6 , v068
- .byte W03
- .byte Gn6 , v127
- .byte W03
- .byte VOICE , 88
- .byte N06 , Gn6 , v068
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_select:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_select_pri @ Priority
- .byte se_select_rev @ Reverb.
-
- .word se_select_grp
-
- .word se_select_1
-
- .end
diff --git a/sound/songs/se_suikomu.s b/sound/songs/se_suikomu.s
deleted file mode 100644
index eff89df3a..000000000
--- a/sound/songs/se_suikomu.s
+++ /dev/null
@@ -1,78 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_suikomu_grp, voicegroup127
- .equ se_suikomu_pri, 5
- .equ se_suikomu_rev, reverb_set+50
- .equ se_suikomu_mvl, 127
- .equ se_suikomu_key, 0
- .equ se_suikomu_tbs, 1
- .equ se_suikomu_exg, 0
- .equ se_suikomu_cmp, 1
-
- .section .rodata
- .global se_suikomu
- .align 2
-
-@********************** Track 1 **********************@
-
-se_suikomu_1:
- .byte KEYSH , se_suikomu_key+0
- .byte VOICE , 13
- .byte BENDR , 12
- .byte VOL , 12*se_suikomu_mvl/mxv
- .byte BEND , c_v+49
- .byte N06 , Gn4 , v080
- .byte W01
- .byte VOL , 44*se_suikomu_mvl/mxv
- .byte BEND , c_v+22
- .byte W01
- .byte VOL , 75*se_suikomu_mvl/mxv
- .byte BEND , c_v+20
- .byte W01
- .byte VOL , 87*se_suikomu_mvl/mxv
- .byte BEND , c_v+33
- .byte W01
- .byte VOL , 100*se_suikomu_mvl/mxv
- .byte BEND , c_v+54
- .byte W01
- .byte c_v+63
- .byte W01
- .byte W03
- .byte N03 , Gn4 , v040
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_suikomu_2:
- .byte KEYSH , se_suikomu_key+0
- .byte VOICE , 123
- .byte VOL , 59*se_suikomu_mvl/mxv
- .byte N06 , Gs4 , v052
- .byte W01
- .byte VOL , 72*se_suikomu_mvl/mxv
- .byte W01
- .byte 90*se_suikomu_mvl/mxv
- .byte W01
- .byte 100*se_suikomu_mvl/mxv
- .byte W03
- .byte W03
- .byte N03 , Gs4 , v024
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_suikomu:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_suikomu_pri @ Priority
- .byte se_suikomu_rev @ Reverb.
-
- .word se_suikomu_grp
-
- .word se_suikomu_1
- .word se_suikomu_2
-
- .end
diff --git a/sound/songs/se_t_ame.s b/sound/songs/se_t_ame.s
deleted file mode 100644
index 78db57968..000000000
--- a/sound/songs/se_t_ame.s
+++ /dev/null
@@ -1,65 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_ame_grp, voicegroup128
- .equ se_t_ame_pri, 2
- .equ se_t_ame_rev, reverb_set+50
- .equ se_t_ame_mvl, 127
- .equ se_t_ame_key, 0
- .equ se_t_ame_tbs, 1
- .equ se_t_ame_exg, 0
- .equ se_t_ame_cmp, 1
-
- .section .rodata
- .global se_t_ame
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_ame_1:
- .byte KEYSH , se_t_ame_key+0
- .byte TEMPO , 220*se_t_ame_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 15*se_t_ame_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Gn3 , v060
- .byte W03
- .byte VOL , 27*se_t_ame_mvl/mxv
- .byte W03
- .byte 39*se_t_ame_mvl/mxv
- .byte W03
- .byte 44*se_t_ame_mvl/mxv
- .byte W03
- .byte 52*se_t_ame_mvl/mxv
- .byte W03
- .byte 59*se_t_ame_mvl/mxv
- .byte W03
- .byte 68*se_t_ame_mvl/mxv
- .byte W03
- .byte 80*se_t_ame_mvl/mxv
- .byte W03
-se_t_ame_1_B1:
- .byte N60 , Gn3 , v060
- .byte W24
- .byte W24
- .byte W12
- .byte GOTO
- .word se_t_ame_1_B1
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_ame:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_ame_pri @ Priority
- .byte se_t_ame_rev @ Reverb.
-
- .word se_t_ame_grp
-
- .word se_t_ame_1
-
- .end
diff --git a/sound/songs/se_t_ame_e.s b/sound/songs/se_t_ame_e.s
deleted file mode 100644
index 5558a5118..000000000
--- a/sound/songs/se_t_ame_e.s
+++ /dev/null
@@ -1,74 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_ame_e_grp, voicegroup128
- .equ se_t_ame_e_pri, 2
- .equ se_t_ame_e_rev, reverb_set+50
- .equ se_t_ame_e_mvl, 127
- .equ se_t_ame_e_key, 0
- .equ se_t_ame_e_tbs, 1
- .equ se_t_ame_e_exg, 0
- .equ se_t_ame_e_cmp, 1
-
- .section .rodata
- .global se_t_ame_e
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_ame_e_1:
- .byte KEYSH , se_t_ame_e_key+0
- .byte TEMPO , 220*se_t_ame_e_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 80*se_t_ame_e_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Gn3 , v060
- .byte W03
- .byte VOL , 76*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 74*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 72*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 68*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 64*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 58*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 50*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 44*se_t_ame_e_mvl/mxv
- .byte N24
- .byte W03
- .byte VOL , 38*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 34*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 27*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 20*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 15*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 10*se_t_ame_e_mvl/mxv
- .byte W03
- .byte 6*se_t_ame_e_mvl/mxv
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_ame_e:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_ame_e_pri @ Priority
- .byte se_t_ame_e_rev @ Reverb.
-
- .word se_t_ame_e_grp
-
- .word se_t_ame_e_1
-
- .end
diff --git a/sound/songs/se_t_kami.s b/sound/songs/se_t_kami.s
deleted file mode 100644
index 6ac8ae06f..000000000
--- a/sound/songs/se_t_kami.s
+++ /dev/null
@@ -1,98 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_kami_grp, voicegroup128
- .equ se_t_kami_pri, 3
- .equ se_t_kami_rev, reverb_set+50
- .equ se_t_kami_mvl, 127
- .equ se_t_kami_key, 0
- .equ se_t_kami_tbs, 1
- .equ se_t_kami_exg, 0
- .equ se_t_kami_cmp, 1
-
- .section .rodata
- .global se_t_kami
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_kami_1:
- .byte KEYSH , se_t_kami_key+0
- .byte TEMPO , 220*se_t_kami_tbs/2
- .byte VOICE , 18
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_t_kami_mvl/mxv
- .byte BEND , c_v+0
- .byte N09 , En3 , v112
- .byte W03
- .byte BEND , c_v+21
- .byte W03
- .byte c_v+0
- .byte W03
- .byte c_v+6
- .byte N15 , En3 , v120
- .byte W03
- .byte BEND , c_v+2
- .byte W03
- .byte c_v-9
- .byte W03
- .byte c_v-29
- .byte W06
- .byte c_v+0
- .byte N09 , Gn2
- .byte W06
- .byte BEND , c_v-8
- .byte W03
- .byte c_v-15
- .byte TIE , Gs2 , v112
- .byte W03
- .byte BEND , c_v-4
- .byte W09
- .byte c_v-8
- .byte W03
- .byte W06
- .byte c_v-13
- .byte W03
- .byte c_v-22
- .byte W09
- .byte c_v-32
- .byte W06
- .byte VOL , 102*se_t_kami_mvl/mxv
- .byte BEND , c_v-38
- .byte W09
- .byte VOL , 97*se_t_kami_mvl/mxv
- .byte W09
- .byte 92*se_t_kami_mvl/mxv
- .byte BEND , c_v-45
- .byte W06
- .byte W03
- .byte VOL , 83*se_t_kami_mvl/mxv
- .byte W06
- .byte BEND , c_v-52
- .byte W03
- .byte VOL , 72*se_t_kami_mvl/mxv
- .byte W09
- .byte 63*se_t_kami_mvl/mxv
- .byte W03
- .byte W06
- .byte 57*se_t_kami_mvl/mxv
- .byte W06
- .byte 46*se_t_kami_mvl/mxv
- .byte W12
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_kami:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_kami_pri @ Priority
- .byte se_t_kami_rev @ Reverb.
-
- .word se_t_kami_grp
-
- .word se_t_kami_1
-
- .end
diff --git a/sound/songs/se_t_kami2.s b/sound/songs/se_t_kami2.s
deleted file mode 100644
index 1c400fe6a..000000000
--- a/sound/songs/se_t_kami2.s
+++ /dev/null
@@ -1,80 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_kami2_grp, voicegroup128
- .equ se_t_kami2_pri, 3
- .equ se_t_kami2_rev, reverb_set+50
- .equ se_t_kami2_mvl, 127
- .equ se_t_kami2_key, 0
- .equ se_t_kami2_tbs, 1
- .equ se_t_kami2_exg, 0
- .equ se_t_kami2_cmp, 1
-
- .section .rodata
- .global se_t_kami2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_kami2_1:
- .byte KEYSH , se_t_kami2_key+0
- .byte TEMPO , 220*se_t_kami2_tbs/2
- .byte VOICE , 18
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 110*se_t_kami2_mvl/mxv
- .byte BEND , c_v+35
- .byte TIE , Dn2 , v112
- .byte W03
- .byte BEND , c_v+11
- .byte W03
- .byte c_v+0
- .byte W03
- .byte c_v+6
- .byte W06
- .byte c_v+0
- .byte W09
- .byte W15
- .byte c_v+0
- .byte W06
- .byte c_v-4
- .byte W03
- .byte W06
- .byte c_v-13
- .byte W09
- .byte c_v-18
- .byte W09
- .byte VOL , 102*se_t_kami2_mvl/mxv
- .byte BEND , c_v-25
- .byte W09
- .byte VOL , 97*se_t_kami2_mvl/mxv
- .byte BEND , c_v-38
- .byte W09
- .byte VOL , 92*se_t_kami2_mvl/mxv
- .byte BEND , c_v-45
- .byte W06
- .byte W03
- .byte VOL , 83*se_t_kami2_mvl/mxv
- .byte W06
- .byte BEND , c_v-52
- .byte W03
- .byte VOL , 64*se_t_kami2_mvl/mxv
- .byte W06
- .byte 47*se_t_kami2_mvl/mxv
- .byte W06
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_kami2:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_kami2_pri @ Priority
- .byte se_t_kami2_rev @ Reverb.
-
- .word se_t_kami2_grp
-
- .word se_t_kami2_1
-
- .end
diff --git a/sound/songs/se_t_koame.s b/sound/songs/se_t_koame.s
deleted file mode 100644
index 6a7acdbf5..000000000
--- a/sound/songs/se_t_koame.s
+++ /dev/null
@@ -1,65 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_koame_grp, voicegroup128
- .equ se_t_koame_pri, 2
- .equ se_t_koame_rev, reverb_set+50
- .equ se_t_koame_mvl, 127
- .equ se_t_koame_key, 0
- .equ se_t_koame_tbs, 1
- .equ se_t_koame_exg, 0
- .equ se_t_koame_cmp, 1
-
- .section .rodata
- .global se_t_koame
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_koame_1:
- .byte KEYSH , se_t_koame_key+0
- .byte TEMPO , 220*se_t_koame_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 15*se_t_koame_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Bn3 , v052
- .byte W03
- .byte VOL , 27*se_t_koame_mvl/mxv
- .byte W03
- .byte 39*se_t_koame_mvl/mxv
- .byte W03
- .byte 44*se_t_koame_mvl/mxv
- .byte W03
- .byte 52*se_t_koame_mvl/mxv
- .byte W03
- .byte 59*se_t_koame_mvl/mxv
- .byte W03
- .byte 68*se_t_koame_mvl/mxv
- .byte W03
- .byte 80*se_t_koame_mvl/mxv
- .byte W03
-se_t_koame_1_B1:
- .byte N60 , Bn3 , v052
- .byte W24
- .byte W24
- .byte W12
- .byte GOTO
- .word se_t_koame_1_B1
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_koame:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_koame_pri @ Priority
- .byte se_t_koame_rev @ Reverb.
-
- .word se_t_koame_grp
-
- .word se_t_koame_1
-
- .end
diff --git a/sound/songs/se_t_koame_e.s b/sound/songs/se_t_koame_e.s
deleted file mode 100644
index 7570d98cd..000000000
--- a/sound/songs/se_t_koame_e.s
+++ /dev/null
@@ -1,74 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_koame_e_grp, voicegroup128
- .equ se_t_koame_e_pri, 2
- .equ se_t_koame_e_rev, reverb_set+50
- .equ se_t_koame_e_mvl, 127
- .equ se_t_koame_e_key, 0
- .equ se_t_koame_e_tbs, 1
- .equ se_t_koame_e_exg, 0
- .equ se_t_koame_e_cmp, 1
-
- .section .rodata
- .global se_t_koame_e
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_koame_e_1:
- .byte KEYSH , se_t_koame_e_key+0
- .byte TEMPO , 220*se_t_koame_e_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 80*se_t_koame_e_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Bn3 , v052
- .byte W03
- .byte VOL , 76*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 74*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 72*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 68*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 64*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 58*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 50*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 44*se_t_koame_e_mvl/mxv
- .byte N24
- .byte W03
- .byte VOL , 38*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 34*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 27*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 20*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 15*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 10*se_t_koame_e_mvl/mxv
- .byte W03
- .byte 6*se_t_koame_e_mvl/mxv
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_koame_e:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_koame_e_pri @ Priority
- .byte se_t_koame_e_rev @ Reverb.
-
- .word se_t_koame_e_grp
-
- .word se_t_koame_e_1
-
- .end
diff --git a/sound/songs/se_t_ooame.s b/sound/songs/se_t_ooame.s
deleted file mode 100644
index 434f20779..000000000
--- a/sound/songs/se_t_ooame.s
+++ /dev/null
@@ -1,64 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_ooame_grp, voicegroup128
- .equ se_t_ooame_pri, 2
- .equ se_t_ooame_rev, reverb_set+50
- .equ se_t_ooame_mvl, 127
- .equ se_t_ooame_key, 0
- .equ se_t_ooame_tbs, 1
- .equ se_t_ooame_exg, 0
- .equ se_t_ooame_cmp, 1
-
- .section .rodata
- .global se_t_ooame
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_ooame_1:
- .byte KEYSH , se_t_ooame_key+0
- .byte TEMPO , 220*se_t_ooame_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 18*se_t_ooame_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Cn3 , v060
- .byte W03
- .byte VOL , 33*se_t_ooame_mvl/mxv
- .byte W03
- .byte 48*se_t_ooame_mvl/mxv
- .byte W03
- .byte 55*se_t_ooame_mvl/mxv
- .byte W03
- .byte 65*se_t_ooame_mvl/mxv
- .byte W03
- .byte 74*se_t_ooame_mvl/mxv
- .byte W03
- .byte 85*se_t_ooame_mvl/mxv
- .byte W03
- .byte 100*se_t_ooame_mvl/mxv
- .byte W03
-se_t_ooame_1_B1:
- .byte N36 , Cn3 , v060
- .byte W24
- .byte W12
- .byte GOTO
- .word se_t_ooame_1_B1
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_ooame:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_ooame_pri @ Priority
- .byte se_t_ooame_rev @ Reverb.
-
- .word se_t_ooame_grp
-
- .word se_t_ooame_1
-
- .end
diff --git a/sound/songs/se_t_ooame_e.s b/sound/songs/se_t_ooame_e.s
deleted file mode 100644
index 329cd3702..000000000
--- a/sound/songs/se_t_ooame_e.s
+++ /dev/null
@@ -1,74 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_t_ooame_e_grp, voicegroup128
- .equ se_t_ooame_e_pri, 2
- .equ se_t_ooame_e_rev, reverb_set+50
- .equ se_t_ooame_e_mvl, 127
- .equ se_t_ooame_e_key, 0
- .equ se_t_ooame_e_tbs, 1
- .equ se_t_ooame_e_exg, 0
- .equ se_t_ooame_e_cmp, 1
-
- .section .rodata
- .global se_t_ooame_e
- .align 2
-
-@********************** Track 1 **********************@
-
-se_t_ooame_e_1:
- .byte KEYSH , se_t_ooame_e_key+0
- .byte TEMPO , 220*se_t_ooame_e_tbs/2
- .byte VOICE , 36
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 100*se_t_ooame_e_mvl/mxv
- .byte BEND , c_v+0
- .byte N24 , Cn3 , v060
- .byte W03
- .byte VOL , 96*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 93*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 90*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 85*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 81*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 73*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 62*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 55*se_t_ooame_e_mvl/mxv
- .byte N24
- .byte W03
- .byte VOL , 48*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 42*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 33*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 25*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 18*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 12*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte 7*se_t_ooame_e_mvl/mxv
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_t_ooame_e:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_t_ooame_e_pri @ Priority
- .byte se_t_ooame_e_rev @ Reverb.
-
- .word se_t_ooame_e_grp
-
- .word se_t_ooame_e_1
-
- .end
diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c
index b30889a35..ba53ba193 100644
--- a/src/anim_mon_front_pics.c
+++ b/src/anim_mon_front_pics.c
@@ -1,424 +1,424 @@
#include "global.h"
-const u8 gMonFrontPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/circled_question_mark_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Venusaur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Charmander[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Charizard[] = INCBIN_U8("graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Squirtle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wartortle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Blastoise[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Caterpie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Metapod[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Butterfree[] = INCBIN_U8("graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Weedle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kakuna[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Beedrill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pidgey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Rattata[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Raticate[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Spearow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Fearow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ekans[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Arbok[] = INCBIN_U8("graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pikachu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Raichu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sandslash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz");
-const u8 gMonFrontPic_NidoranF[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nidorina[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz");
-const u8 gMonFrontPic_NidoranM[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nidorino[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nidoking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Clefairy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Clefable[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Vulpix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ninetales[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Zubat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Golbat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Oddish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gloom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Vileplume[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Paras[] = INCBIN_U8("graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Parasect[] = INCBIN_U8("graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Venonat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Venomoth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Diglett[] = INCBIN_U8("graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Meowth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Persian[] = INCBIN_U8("graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Psyduck[] = INCBIN_U8("graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Golduck[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mankey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Primeape[] = INCBIN_U8("graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Growlithe[] = INCBIN_U8("graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Arcanine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Poliwag[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Abra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kadabra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Alakazam[] = INCBIN_U8("graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Machop[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Machoke[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Machamp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Victreebel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tentacool[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Geodude[] = INCBIN_U8("graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Graveler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Golem[] = INCBIN_U8("graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ponyta[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Rapidash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Slowbro[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Magnemite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Magneton[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Doduo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dodrio[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Seel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dewgong[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Grimer[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Muk[] = INCBIN_U8("graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shellder[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cloyster[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gastly[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Haunter[] = INCBIN_U8("graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gengar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Onix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Drowzee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hypno[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Krabby[] = INCBIN_U8("graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kingler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Voltorb[] = INCBIN_U8("graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Electrode[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cubone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Marowak[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lickitung[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Koffing[] = INCBIN_U8("graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Weezing[] = INCBIN_U8("graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Rhydon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Chansey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tangela[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Horsea[] = INCBIN_U8("graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Seadra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Goldeen[] = INCBIN_U8("graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Seaking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Staryu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Starmie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mrmime[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Scyther[] = INCBIN_U8("graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Jynx[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Magmar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pinsir[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tauros[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Magikarp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gyarados[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lapras[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ditto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Eevee[] = INCBIN_U8("graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Jolteon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Flareon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Porygon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Omanyte[] = INCBIN_U8("graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Omastar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kabuto[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kabutops[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Snorlax[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Articuno[] = INCBIN_U8("graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Zapdos[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Moltres[] = INCBIN_U8("graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dratini[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dragonair[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dragonite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mew[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bulbasaur_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ivysaur_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venusaur_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charmander_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charmeleon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/anim_front_pics/charizard_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/squirtle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wartortle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blastoise_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/caterpie_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metapod_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/anim_front_pics/butterfree_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weedle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kakuna_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beedrill_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgey_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgeotto_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pidgeot_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rattata_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raticate_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spearow_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/fearow_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ekans_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/anim_front_pics/arbok_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pikachu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raichu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sandshrew_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sandslash_front_pic.4bpp.lz");
+const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoran_f_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidorina_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoqueen_front_pic.4bpp.lz");
+const u32 gMonFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoran_m_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidorino_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nidoking_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clefairy_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clefable_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vulpix_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ninetales_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jigglypuff_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wigglytuff_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zubat_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golbat_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/oddish_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gloom_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vileplume_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/anim_front_pics/paras_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/anim_front_pics/parasect_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venonat_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/venomoth_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/anim_front_pics/diglett_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dugtrio_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meowth_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/anim_front_pics/persian_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/anim_front_pics/psyduck_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golduck_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mankey_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/anim_front_pics/primeape_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/anim_front_pics/growlithe_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/arcanine_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwag_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwhirl_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poliwrath_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/abra_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kadabra_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/anim_front_pics/alakazam_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machop_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machoke_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/machamp_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bellsprout_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weepinbell_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/victreebel_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tentacool_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tentacruel_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/anim_front_pics/geodude_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/graveler_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/anim_front_pics/golem_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ponyta_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rapidash_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowpoke_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowbro_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magnemite_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magneton_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/anim_front_pics/farfetch_d_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/doduo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dodrio_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seel_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dewgong_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grimer_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/anim_front_pics/muk_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shellder_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cloyster_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gastly_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/anim_front_pics/haunter_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gengar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/onix_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/drowzee_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hypno_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/anim_front_pics/krabby_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kingler_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/anim_front_pics/voltorb_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electrode_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exeggcute_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exeggutor_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cubone_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marowak_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmonlee_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmonchan_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lickitung_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/anim_front_pics/koffing_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/anim_front_pics/weezing_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rhyhorn_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rhydon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chansey_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tangela_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kangaskhan_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/anim_front_pics/horsea_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seadra_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/anim_front_pics/goldeen_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seaking_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/staryu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/starmie_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mr_mime_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/anim_front_pics/scyther_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jynx_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electabuzz_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magmar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pinsir_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tauros_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magikarp_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gyarados_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lapras_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ditto_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/anim_front_pics/eevee_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vaporeon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jolteon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flareon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/anim_front_pics/omanyte_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/omastar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kabuto_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kabutops_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aerodactyl_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snorlax_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/anim_front_pics/articuno_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zapdos_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/anim_front_pics/moltres_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dratini_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dragonair_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dragonite_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mewtwo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mew_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Chikorita[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Bayleef[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Meganium[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Quilava[] = INCBIN_U8("graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Totodile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Croconaw[] = INCBIN_U8("graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sentret[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Furret[] = INCBIN_U8("graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Noctowl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ledyba[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ledian[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Spinarak[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ariados[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Crobat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Chinchou[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lanturn[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pichu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cleffa[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Togepi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Togetic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Natu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Xatu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mareep[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ampharos[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Bellossom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Marill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Azumarill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Politoed[] = INCBIN_U8("graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hoppip[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Skiploom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Aipom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sunkern[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sunflora[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Yanma[] = INCBIN_U8("graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wooper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Quagsire[] = INCBIN_U8("graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Espeon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Umbreon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Murkrow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Slowking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownA[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Girafarig[] = INCBIN_U8("graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pineco[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Forretress[] = INCBIN_U8("graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gligar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Steelix[] = INCBIN_U8("graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Snubbull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Granbull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Scizor[] = INCBIN_U8("graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shuckle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Heracross[] = INCBIN_U8("graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sneasel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ursaring[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Slugma[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Magcargo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Swinub[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Piloswine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Corsola[] = INCBIN_U8("graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Remoraid[] = INCBIN_U8("graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Octillery[] = INCBIN_U8("graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Delibird[] = INCBIN_U8("graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mantine[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Skarmory[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Houndour[] = INCBIN_U8("graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Houndoom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kingdra[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Phanpy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Donphan[] = INCBIN_U8("graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Porygon2[] = INCBIN_U8("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Stantler[] = INCBIN_U8("graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Smeargle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Smoochum[] = INCBIN_U8("graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Elekid[] = INCBIN_U8("graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Magby[] = INCBIN_U8("graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Miltank[] = INCBIN_U8("graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Blissey[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Raikou[] = INCBIN_U8("graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Entei[] = INCBIN_U8("graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Suicune[] = INCBIN_U8("graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Larvitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pupitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lugia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz");
-const u8 gMonFrontPic_HoOh[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Celebi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chikorita_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bayleef_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meganium_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cyndaquil_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/anim_front_pics/quilava_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/anim_front_pics/typhlosion_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/totodile_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/anim_front_pics/croconaw_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/anim_front_pics/feraligatr_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sentret_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/anim_front_pics/furret_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hoothoot_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/noctowl_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ledyba_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ledian_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spinarak_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ariados_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/crobat_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chinchou_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lanturn_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pichu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cleffa_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/igglybuff_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/togepi_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/togetic_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/natu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/xatu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mareep_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flaaffy_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ampharos_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bellossom_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marill_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/azumarill_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sudowoodo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/anim_front_pics/politoed_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hoppip_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skiploom_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jumpluff_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aipom_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sunkern_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sunflora_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/anim_front_pics/yanma_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wooper_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/anim_front_pics/quagsire_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/espeon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/umbreon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/murkrow_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slowking_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/anim_front_pics/misdreavus_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_a_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wobbuffet_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/anim_front_pics/girafarig_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pineco_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/anim_front_pics/forretress_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dunsparce_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gligar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/anim_front_pics/steelix_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snubbull_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/granbull_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/qwilfish_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/anim_front_pics/scizor_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shuckle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/anim_front_pics/heracross_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sneasel_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/anim_front_pics/teddiursa_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ursaring_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slugma_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magcargo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swinub_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/piloswine_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/anim_front_pics/corsola_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/anim_front_pics/remoraid_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/anim_front_pics/octillery_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/anim_front_pics/delibird_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mantine_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skarmory_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/anim_front_pics/houndour_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/houndoom_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kingdra_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/phanpy_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/anim_front_pics/donphan_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/anim_front_pics/porygon2_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/anim_front_pics/stantler_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/smeargle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tyrogue_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hitmontop_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/anim_front_pics/smoochum_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/anim_front_pics/elekid_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/anim_front_pics/magby_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/anim_front_pics/miltank_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blissey_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/anim_front_pics/raikou_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/anim_front_pics/entei_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/anim_front_pics/suicune_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/larvitar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pupitar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tyranitar_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lugia_front_pic.4bpp.lz");
+const u32 gMonFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ho_oh_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/celebi_front_pic.4bpp.lz");
-const u8 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/double_question_mark_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Treecko[] = INCBIN_U8("graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Grovyle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sceptile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Torchic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Combusken[] = INCBIN_U8("graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Blaziken[] = INCBIN_U8("graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mudkip[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Swampert[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Poochyena[] = INCBIN_U8("graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mightyena[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Linoone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wurmple[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Silcoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Beautifly[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cascoon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dustox[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lotad[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lombre[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Seedot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shiftry[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nincada[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ninjask[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shedinja[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Taillow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Swellow[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shroomish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Breloom[] = INCBIN_U8("graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Spinda[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wingull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Pelipper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Surskit[] = INCBIN_U8("graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Masquerain[] = INCBIN_U8("graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wailmer[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wailord[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Skitty[] = INCBIN_U8("graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Delcatty[] = INCBIN_U8("graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kecleon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Baltoy[] = INCBIN_U8("graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Claydol[] = INCBIN_U8("graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Nosepass[] = INCBIN_U8("graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Torkoal[] = INCBIN_U8("graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sableye[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Barboach[] = INCBIN_U8("graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Whiscash[] = INCBIN_U8("graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Corphish[] = INCBIN_U8("graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Feebas[] = INCBIN_U8("graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Milotic[] = INCBIN_U8("graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Carvanha[] = INCBIN_U8("graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Trapinch[] = INCBIN_U8("graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Vibrava[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Flygon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Makuhita[] = INCBIN_U8("graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Hariyama[] = INCBIN_U8("graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Electrike[] = INCBIN_U8("graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Manectric[] = INCBIN_U8("graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Numel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Camerupt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Spheal[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Sealeo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Walrein[] = INCBIN_U8("graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cacnea[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cacturne[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Snorunt[] = INCBIN_U8("graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Glalie[] = INCBIN_U8("graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lunatone[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Solrock[] = INCBIN_U8("graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Azurill[] = INCBIN_U8("graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Spoink[] = INCBIN_U8("graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Grumpig[] = INCBIN_U8("graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Plusle[] = INCBIN_U8("graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Minun[] = INCBIN_U8("graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Mawile[] = INCBIN_U8("graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Meditite[] = INCBIN_U8("graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Medicham[] = INCBIN_U8("graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Swablu[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Altaria[] = INCBIN_U8("graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Wynaut[] = INCBIN_U8("graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Duskull[] = INCBIN_U8("graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Dusclops[] = INCBIN_U8("graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Roselia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Slakoth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Slaking[] = INCBIN_U8("graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gulpin[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Swalot[] = INCBIN_U8("graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Tropius[] = INCBIN_U8("graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Whismur[] = INCBIN_U8("graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Loudred[] = INCBIN_U8("graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Exploud[] = INCBIN_U8("graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Clamperl[] = INCBIN_U8("graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Huntail[] = INCBIN_U8("graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Absol[] = INCBIN_U8("graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shuppet[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Banette[] = INCBIN_U8("graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Seviper[] = INCBIN_U8("graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Zangoose[] = INCBIN_U8("graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Relicanth[] = INCBIN_U8("graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Aron[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lairon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Aggron[] = INCBIN_U8("graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Castform[] = INCBIN_U8("graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Volbeat[] = INCBIN_U8("graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Illumise[] = INCBIN_U8("graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Lileep[] = INCBIN_U8("graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Cradily[] = INCBIN_U8("graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Anorith[] = INCBIN_U8("graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Armaldo[] = INCBIN_U8("graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Ralts[] = INCBIN_U8("graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kirlia[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Bagon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Shelgon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Salamence[] = INCBIN_U8("graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Beldum[] = INCBIN_U8("graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Metang[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Metagross[] = INCBIN_U8("graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Regirock[] = INCBIN_U8("graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Regice[] = INCBIN_U8("graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Registeel[] = INCBIN_U8("graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Kyogre[] = INCBIN_U8("graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Groudon[] = INCBIN_U8("graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Latias[] = INCBIN_U8("graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Latios[] = INCBIN_U8("graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Jirachi[] = INCBIN_U8("graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Deoxys[] = INCBIN_U8("graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Chimecho[] = INCBIN_U8("graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/anim_front_pics/treecko_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grovyle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sceptile_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/torchic_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/anim_front_pics/combusken_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/anim_front_pics/blaziken_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mudkip_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/anim_front_pics/marshtomp_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swampert_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/anim_front_pics/poochyena_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mightyena_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zigzagoon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/linoone_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wurmple_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/silcoon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beautifly_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cascoon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dustox_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lotad_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lombre_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ludicolo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seedot_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nuzleaf_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shiftry_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nincada_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ninjask_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shedinja_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/taillow_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swellow_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shroomish_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/anim_front_pics/breloom_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spinda_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wingull_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/pelipper_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/anim_front_pics/surskit_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/anim_front_pics/masquerain_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wailmer_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wailord_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/anim_front_pics/skitty_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/anim_front_pics/delcatty_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kecleon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/anim_front_pics/baltoy_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/anim_front_pics/claydol_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/anim_front_pics/nosepass_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/anim_front_pics/torkoal_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sableye_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/anim_front_pics/barboach_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/anim_front_pics/whiscash_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/anim_front_pics/luvdisc_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/anim_front_pics/corphish_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/crawdaunt_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/anim_front_pics/feebas_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/anim_front_pics/milotic_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/anim_front_pics/carvanha_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sharpedo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/anim_front_pics/trapinch_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vibrava_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/flygon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/anim_front_pics/makuhita_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/anim_front_pics/hariyama_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/anim_front_pics/electrike_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/anim_front_pics/manectric_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/numel_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/camerupt_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spheal_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/sealeo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/anim_front_pics/walrein_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cacnea_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cacturne_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/anim_front_pics/snorunt_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/anim_front_pics/glalie_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lunatone_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/anim_front_pics/solrock_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/anim_front_pics/azurill_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/anim_front_pics/spoink_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/anim_front_pics/grumpig_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/anim_front_pics/plusle_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/anim_front_pics/minun_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/anim_front_pics/mawile_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/anim_front_pics/meditite_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/anim_front_pics/medicham_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swablu_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/anim_front_pics/altaria_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/anim_front_pics/wynaut_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/anim_front_pics/duskull_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/anim_front_pics/dusclops_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/roselia_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slakoth_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/vigoroth_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/anim_front_pics/slaking_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gulpin_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/anim_front_pics/swalot_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/anim_front_pics/tropius_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/anim_front_pics/whismur_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/anim_front_pics/loudred_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/anim_front_pics/exploud_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/anim_front_pics/clamperl_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/anim_front_pics/huntail_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gorebyss_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/anim_front_pics/absol_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shuppet_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/anim_front_pics/banette_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/anim_front_pics/seviper_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/anim_front_pics/zangoose_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/anim_front_pics/relicanth_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aron_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lairon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/anim_front_pics/aggron_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/anim_front_pics/castform_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/anim_front_pics/volbeat_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/anim_front_pics/illumise_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/anim_front_pics/lileep_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/anim_front_pics/cradily_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anim_front_pics/anorith_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/anim_front_pics/armaldo_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/anim_front_pics/ralts_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kirlia_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/anim_front_pics/gardevoir_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/bagon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/shelgon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/anim_front_pics/salamence_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/anim_front_pics/beldum_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metang_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/anim_front_pics/metagross_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/anim_front_pics/regirock_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/anim_front_pics/regice_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/anim_front_pics/registeel_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/anim_front_pics/kyogre_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/anim_front_pics/groudon_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/anim_front_pics/rayquaza_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/anim_front_pics/latias_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/anim_front_pics/latios_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/anim_front_pics/jirachi_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/anim_front_pics/deoxys_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/anim_front_pics/chimecho_front_pic.4bpp.lz");
-const u8 gMonFrontPic_Egg[] = INCBIN_U8("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz");
+const u32 gMonFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/anim_front_pics/egg_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownB[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownC[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownD[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownE[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownF[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownG[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownH[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownI[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownJ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownK[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownL[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownM[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownN[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownO[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownP[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownQ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownR[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownS[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownT[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownU[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownV[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownW[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownX[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownY[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownZ[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz");
-const u8 gMonFrontPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_b_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_c_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_d_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_e_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_f_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_g_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_h_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_i_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_j_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_k_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_l_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_m_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_n_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_o_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_p_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_q_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_r_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_s_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_t_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_u_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_v_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_w_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_x_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_y_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_z_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_exclamation_mark_front_pic.4bpp.lz");
+const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/anim_front_pics/unown_question_mark_front_pic.4bpp.lz");
diff --git a/src/apprentice.c b/src/apprentice.c
index f2a8aa9c0..499f85094 100644
--- a/src/apprentice.c
+++ b/src/apprentice.c
@@ -340,16 +340,10 @@ extern const u8 gText_082B7185[];
extern const u8 gText_082B71C1[];
extern const u8 gText_082B71F9[];
-extern struct Unk030062ECStruct *gUnknown_030062EC;
-extern struct Unk030062F0Struct *gUnknown_030062F0;
-extern void (*gUnknown_030062F4)(void);
-
-extern void sub_8165AE8(struct Apprentice *);
-
-extern const u8 gUnknown_085DCEDC[];
-extern const u8 gUnknown_085DCF0E[];
-extern const u8 gUnknown_085DCEFA[];
-extern const u8 gUnknown_085DCF2C[];
+// IWRAM common
+struct Unk030062ECStruct *gUnknown_030062EC;
+struct Unk030062F0Struct *gUnknown_030062F0;
+void (*gUnknown_030062F4)(void);
// This file's functions.
static u16 sub_819FF98(u8 arg0);
@@ -382,7 +376,7 @@ static void sub_81A1218(void);
static void sub_81A1224(void);
static void sub_81A1438(void);
static void sub_81A150C(void);
-static void sub_81A15A4(void);
+static void Script_SetPlayerApprenticeTrainerGfxId(void);
static void sub_81A1644(void);
static void sub_81A1370(void);
@@ -395,112 +389,128 @@ const struct ApprenticeTrainer gApprentices[] =
.otId = 0xBDC9,
.facilityClass = 0x43,
.species = {SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT},
- .rest = {0, 0, 0x1D, 8, 0x3e, 20, 0, 12, 1, 10, 0x30, 6, 0x44, 20},
+ .id = 0,
+ .easyChatWords = {0x81D, 0x143E, 0xC00, 0xA01, 0x630, 0x1444},
},
{
.name = {_("ヒロオ"), _("LIONEL"), _("LIONEL"), _("CAIO"), _("LUDWIG"), _("LEO")},
.otId = 0xCF09,
.facilityClass = 0x2B,
.species = {SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH},
- .rest = {1, 0, 0x38, 12, 1, 10, 0x30, 6, 6, 10, 0x20, 0x10, 0x13, 0x22},
+ .id = 1,
+ .easyChatWords = {0xC38, 0xA01, 0x630, 0xA06, 0x1020, 0x2213},
},
{
.name = {_("ケイジ"), _("SONNY"), _("HERVE"), _("FEDRO"), _("WENZEL"), _("SANTI")},
.otId = 0x2E34,
.facilityClass = 0x26,
.species = {SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP},
- .rest = {2, 0, 1, 10, 10, 0x16, 0x15, 14, 0x30, 6, 0x3b, 12, 0x4, 12},
+ .id = 2,
+ .easyChatWords = {0xA01, 0x160A, 0xE15, 0x630, 0xC3B, 0xC04},
},
{
.name = {_("ユラ"), _("LAYLA"), _("LAYLA"), _("ASTRID"), _("SONJA"), _("LOLA")},
.otId = 0x84EF,
.facilityClass = 0x47,
.species = {SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA},
- .rest = {3, 0, 11, 16, 15, 0x1e, 0x39, 16, 0x21, 0x14, 0x3, 12, 0xff, 0xff},
+ .id = 3,
+ .easyChatWords = {0x100B, 0x1E0F, 0x1039, 0x1421, 0xC03, 0xFFFF},
},
{
.name = {_("ヨウカ"), _("MACY"), _("AMELIE"), _("CLEO"), _("MARIA"), _("ELISA")},
.otId = 0x1E43,
.facilityClass = 0x27,
.species = {SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY},
- .rest = {4, 0, 15, 0x1e, 0x14, 16, 6, 16, 15, 0x28, 0x1c, 0x1c, 0x13, 0x1c},
+ .id = 4,
+ .easyChatWords = {0x1E0F, 0x1014, 0x1006, 0x280F, 0x1C1C, 0x1C13},
},
{
.name = {_("ヤスシ"), _("DONTE"), _("BRAHIM"), _("GLAUCO"), _("JOSEF"), _("ROQUE")},
.otId = 0x379F,
.facilityClass = 0x30,
.species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA},
- .rest = {5, 0, 0x29, 0x0A, 0x08, 0x14, 0x2F, 0x10, 0x38, 0x16, 0x20, 0x08, 0x00, 0x0C},
+ .id = 5,
+ .easyChatWords = {0xA29, 0x1408, 0x102F, 0x1638, 0x820, 0xC00},
},
{
.name = {_("ミサオ"), _("AMIRA"), _("LAURE"), _("DAFNE"), _("AMELIE"), _("LARA")},
.otId = 0xF555,
.facilityClass = 0x31,
.species = {SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO},
- .rest = {6, 0, 0x0B, 0x0C, 0x3E, 0x12, 0x00, 0x0C, 0x31, 0x0A, 0x30, 0x14, 0x00, 0x0C},
+ .id = 6,
+ .easyChatWords = {0xC0B, 0x123E, 0xC00, 0xA31, 0x1430, 0xC00},
},
{
.name = {_("カズサ"), _("KALI"), _("JODIE"), _("ILENIA"), _("KARO"), _("ELSA")},
.otId = 0x8D26,
.facilityClass = 0x14,
.species = {SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC},
- .rest = {7, 0, 0x06, 0x0A, 0x20, 0x06, 0x1F, 0x0A, 0x02, 0x0A, 0x03, 0x0C, 0xFF, 0xFF},
+ .id = 7,
+ .easyChatWords = {0xA06, 0x620, 0xA1F, 0xA02, 0xC03, 0xFFFF},
},
{
.name = {_("スミレ"), _("ANNIE"), _("ANNIE"), _("IMELDA"), _("INES"), _("ROSA")},
.otId = 0x800C,
.facilityClass = 0xD,
.species = {SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY},
- .rest = {8, 0, 0x22, 0x1E, 0x33, 0x04, 0x0E, 0x02, 0x02, 0x0A, 0x1E, 0x10, 0x00, 0x0C},
+ .id = 8,
+ .easyChatWords = {0x1E22, 0x433, 0x20E, 0xA02, 0x101E, 0xC00},
},
{
.name = {_("アキノリ"), _("DILLEN"), _("RENE"), _("INDRO"), _("DETLEF"), _("PEDRO")},
.otId = 0x469f,
.facilityClass = 0,
.species = {SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON},
- .rest = {9, 0, 0x3D, 0x0A, 0x11, 0x10, 0x1E, 0x0E, 0x1C, 0x20, 0x04, 0x0C, 0xFF, 0xFF},
+ .id = 9,
+ .easyChatWords = {0xA3D, 0x1011, 0xE1E, 0x201C, 0xC04, 0xFFFF},
},
{
.name = {_("トウゾウ"), _("DALLAS"), _("BRUNO"), _("LEARCO"), _("ANSGAR"), _("MANOLO")},
.otId = 0x71FC,
.facilityClass = 0x2D,
.species = {SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA},
- .rest = {10, 0, 0x05, 0x0A, 0x06, 0x06, 0x0E, 0x16, 0x14, 0x0A, 0x00, 0x0C, 0xFF, 0xFF},
+ .id = 10,
+ .easyChatWords = {0xA05, 0x606, 0x160E, 0xA14, 0xC00, 0xFFFF},
},
{
.name = {_("セイヤ"), _("FRANK"), _("FRANK"), _("OLINDO"), _("FRANK"), _("MAURO")},
.otId = 0xA39E,
.facilityClass = 0x3A,
.species = {SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE},
- .rest = {11, 0, 0x0E, 0x28, 0x3D, 0x10, 0x0F, 0x24, 0x14, 0x0A, 0x23, 0x1E, 0x24, 0x10},
+ .id = 11,
+ .easyChatWords = {0x280E, 0x103D, 0x240F, 0xA14, 0x1E23, 0x1024},
},
{
.name = {_("リュウジ"), _("LAMONT"), _("XAV"), _("ORFEO"), _("JÜRGEN"), _("JORGE")},
.otId = 0xE590,
.facilityClass = 0x19,
.species = {SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING},
- .rest = {12, 0, 0x20, 0x10, 0x2E, 0x06, 0x0B, 0x10, 0x22, 0x1E, 0x0F, 0x1E, 0x0B, 0x10},
+ .id = 12,
+ .easyChatWords = {0x1020, 0x62E, 0x100B, 0x1E22, 0x1E0F, 0x100B},
},
{
.name = {_("カツアキ"), _("TYRESE"), _("ANDY"), _("PARIDE"), _("DAVID"), _("CHICHO")},
.otId = 0xD018,
.facilityClass = 10,
.species = {SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING},
- .rest = {13, 0, 0x29, 0x0A, 0x3A, 0x06, 0x15, 0x0E, 0x35, 0x14, 0x34, 0x10, 0x1E, 0x06},
+ .id = 13,
+ .easyChatWords = {0xA29, 0x63A, 0xE15, 0x1435, 0x1034, 0x61E},
},
{
.name = {_("トシミツ"), _("DANTE"), _("DANTE"), _("RAOUL"), _("LOTHAR"), _("PABLO")},
.otId = 0xBC75,
.facilityClass = 14,
.species = {SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM},
- .rest = {14, 0, 0x01, 0x0A, 0x17, 0x10, 0x43, 0x12, 0x22, 0x1E, 0x0B, 0x10, 0x0F, 0x28},
+ .id = 14,
+ .easyChatWords = {0xA01, 0x1017, 0x1243, 0x1E22, 0x100B, 0x280F},
},
{
.name = {_("ローウェン"), _("ARTURO"), _("ARTURO"), _("ROMOLO"), _("BRIAN"), _("ARTURO")},
.otId = 0xFA02,
.facilityClass = 0x20,
.species = {SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS},
- .rest = {15, 0, 0x0F, 0x1E, 0x04, 0x14, 0x2F, 0x10, 0x06, 0x10, 0x20, 0x10, 0x03, 0x0E},
+ .id = 15,
+ .easyChatWords = {0x1E0F, 0x1404, 0x102F, 0x1006, 0x1020, 0xE03},
},
};
@@ -1030,7 +1040,7 @@ static void (* const sApprenticeFunctions[])(void) =
sub_81A1224,
sub_81A1438,
sub_81A150C,
- sub_81A15A4,
+ Script_SetPlayerApprenticeTrainerGfxId,
sub_81A1644,
sub_81A1370,
};
@@ -1092,7 +1102,7 @@ void ResetAllApprenticeData(void)
for (j = 0; j < 4; j++)
gSaveBlock2Ptr->apprentices[i].playerId[j] = 0;
gSaveBlock2Ptr->apprentices[i].language = gGameLanguage;
- gSaveBlock2Ptr->apprentices[i].unk40 = 0;
+ gSaveBlock2Ptr->apprentices[i].checksum = 0;
}
Script_ResetPlayerApprentice();
@@ -1435,16 +1445,16 @@ static void sub_81A0390(u8 arg0)
for (i = 0; i < 3; i++)
{
- gSaveBlock2Ptr->apprentices[0].monData[i].species = 0;
- gSaveBlock2Ptr->apprentices[0].monData[i].item = 0;
+ gSaveBlock2Ptr->apprentices[0].party[i].species = 0;
+ gSaveBlock2Ptr->apprentices[0].party[i].item = 0;
for (j = 0; j < 4; j++)
- gSaveBlock2Ptr->apprentices[0].monData[i].moves[j] = 0;
+ gSaveBlock2Ptr->apprentices[0].party[i].moves[j] = 0;
}
j = PLAYER_APPRENTICE.field_B1_2;
for (i = 0; i < 3; i++)
{
- apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].monData[i];
+ apprenticeMons[j] = &gSaveBlock2Ptr->apprentices[0].party[i];
j = (j + 1) % 3;
}
@@ -1570,9 +1580,9 @@ static void Task_ChooseAnswer(u8 taskId)
s16 *data = gTasks[taskId].data;
if (!tWrapAround)
- input = Menu_ProcessInputNoWrapAround();
+ input = Menu_ProcessInputNoWrap();
else
- input = ProcessMenuInput();
+ input = Menu_ProcessInput();
switch (input)
{
@@ -1975,7 +1985,7 @@ static void sub_81A0FFC(void)
StringCopy(stringDst, gText_OpenLevel);
break;
case APPRENTICE_BUFF_EASY_CHAT:
- ConvertBattleFrontierTrainerSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords);
+ FrontierSpeechToString(gSaveBlock2Ptr->apprentices[0].easyChatWords);
StringCopy(stringDst, gStringVar4);
break;
case APPRENTICE_BUFF_SPECIES4:
@@ -2229,7 +2239,7 @@ static void sub_81A1370(void)
r9 = -1;
for (i = 1; i < 4; i++)
{
- if (ReadUnalignedWord(gSaveBlock2Ptr->apprentices[i].playerId) == ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId)
+ if (GetTrainerId(gSaveBlock2Ptr->apprentices[i].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId)
&& gSaveBlock2Ptr->apprentices[i].number < r10)
{
r10 = gSaveBlock2Ptr->apprentices[i].number;
@@ -2261,7 +2271,7 @@ static void sub_81A1438(void)
StringCopy(gSaveBlock2Ptr->apprentices[0].playerName, gSaveBlock2Ptr->playerName);
gSaveBlock2Ptr->apprentices[0].language = gGameLanguage;
- sub_8165AE8(&gSaveBlock2Ptr->apprentices[0]);
+ CalcApprenticeChecksum(&gSaveBlock2Ptr->apprentices[0]);
}
static void sub_81A150C(void)
@@ -2270,51 +2280,46 @@ static void sub_81A150C(void)
u8 mapObjectGfxId;
u8 class = gApprentices[gSaveBlock2Ptr->apprentices[0].id].facilityClass;
- for (i = 0; i < 30 && gUnknown_085DCEDC[i] != class; i++)
+ // Search male classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++)
;
-
- if (i != 30)
+ if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
{
- mapObjectGfxId = gUnknown_085DCF0E[i];
+ mapObjectGfxId = gTowerMaleTrainerGfxIds[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
+ return;
}
- else
- {
- for (i = 0; i < 20 && gUnknown_085DCEFA[i] != class; i++)
- ;
- if (i != 20)
- {
- mapObjectGfxId = gUnknown_085DCF2C[i];
- VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
- }
+ for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses) && gTowerFemaleFacilityClasses[i] != class; i++)
+ ;
+ if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
+ {
+ mapObjectGfxId = gTowerFemaleTrainerGfxIds[i];
+ VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
}
}
-static void sub_81A15A4(void)
+static void Script_SetPlayerApprenticeTrainerGfxId(void)
{
u8 i;
u8 mapObjectGfxId;
u8 class = gApprentices[PLAYER_APPRENTICE.id].facilityClass;
- for (i = 0; i < 30 && gUnknown_085DCEDC[i] != class; i++)
+ for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses) && gTowerMaleFacilityClasses[i] != class; i++)
;
-
- if (i != 30)
+ if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
{
- mapObjectGfxId = gUnknown_085DCF0E[i];
+ mapObjectGfxId = gTowerMaleTrainerGfxIds[i];
VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
+ return;
}
- else
- {
- for (i = 0; i < 20 && gUnknown_085DCEFA[i] != class; i++)
- ;
- if (i != 20)
- {
- mapObjectGfxId = gUnknown_085DCF2C[i];
- VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
- }
+ for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses) && gTowerFemaleFacilityClasses[i] != class; i++)
+ ;
+ if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
+ {
+ mapObjectGfxId = gTowerFemaleTrainerGfxIds[i];
+ VarSet(VAR_OBJ_GFX_ID_0, mapObjectGfxId);
}
}
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index e89d308f5..3e7064eb5 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -1,17 +1,18 @@
#include "global.h"
-#include "battle_ai_script_commands.h"
-#include "pokemon.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_factory.h"
#include "battle_setup.h"
+#include "item.h"
+#include "pokemon.h"
+#include "random.h"
#include "recorded_battle.h"
-#include "constants/species.h"
+#include "util.h"
#include "constants/abilities.h"
-#include "random.h"
-#include "item.h"
+#include "constants/battle_ai.h"
#include "constants/battle_move_effects.h"
#include "constants/moves.h"
-#include "util.h"
-#include "constants/battle_ai.h"
+#include "constants/species.h"
#define AI_ACTION_DONE 0x0001
#define AI_ACTION_FLEE 0x0002
@@ -44,8 +45,6 @@ AI scripts.
extern const u8 *const gBattleAI_ScriptsTable[];
-extern u32 GetAiScriptsInBattleFactory();
-
static u8 ChooseMoveOrAction_Singles(void);
static u8 ChooseMoveOrAction_Doubles(void);
static void RecordLastUsedMoveByTarget(void);
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index 40fffd6e5..ad25b483c 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -1,13 +1,13 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
-#include "constants/abilities.h"
-#include "constants/moves.h"
#include "pokemon.h"
-#include "constants/species.h"
#include "random.h"
#include "util.h"
+#include "constants/abilities.h"
#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
// this file's functions
static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng);
@@ -310,7 +310,7 @@ static bool8 AreStatsRaised(void)
u8 buffedStatsValue = 0;
s32 i;
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[gActiveBattler].statStages[i] > 6)
buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6;
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 0a5395b02..e8720fcfb 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -1,31 +1,25 @@
#include "global.h"
#include "battle.h"
#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "sprite.h"
-#include "contest.h"
-#include "m4a.h"
-#include "pokemon.h"
+#include "battle_controllers.h"
#include "battle_interface.h"
-#include "task.h"
+#include "bg.h"
+#include "contest.h"
#include "decompress.h"
-#include "sound.h"
#include "dma3.h"
-#include "bg.h"
#include "gpu_regs.h"
-#include "palette.h"
+#include "graphics.h"
#include "main.h"
+#include "m4a.h"
+#include "palette.h"
+#include "pokemon.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "constants/battle_anim.h"
#define ANIM_SPRITE_INDEX_COUNT 8
-extern u16 gBattle_WIN0H;
-extern u16 gBattle_WIN0V;
-extern u16 gBattle_WIN1H;
-extern u16 gBattle_WIN1V;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
@@ -123,7 +117,1273 @@ EWRAM_DATA u8 gBattleAnimTarget = 0;
EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA u8 gUnknown_02038440 = 0;
-// const rom data
+const struct OamData gUnknown_08524904 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 0,
+ .priority = 2,
+};
+
+
+const struct OamData gUnknown_0852490C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524914 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852491C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524924 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852492C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524934 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852493C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524944 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852494C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524954 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852495C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524964 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852496C =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524974 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852497C =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524984 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852498C =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524994 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_0852499C =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249A4 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249AC =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249B4 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249BC =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249C4 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249CC =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249D4 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249DC =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_SQUARE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249E4 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249EC =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249F4 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_085249FC =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A04 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A0C =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A14 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A1C =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A24 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A2C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A34 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A3C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A44 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A4C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A54 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A5C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A64 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A6C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A74 =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A7C =
+{
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A84 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A8C =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A94 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524A9C =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AA4 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AAC =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AB4 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524ABC =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AC4 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524ACC =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AD4 =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524ADC =
+{
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AE4 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AEC =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AF4 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524AFC =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_SQUARE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B04 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B0C =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B14 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B1C =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B24 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 0,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B2C =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 1,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B34 =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+const struct OamData gUnknown_08524B3C =
+{
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 3,
+ .priority = 2,
+};
+
+const struct CompressedSpriteSheet gBattleAnimPicTable[] =
+{
+ {gBattleAnimSpriteSheet_000, 0x0200, ANIM_TAG_BONE},
+ {gBattleAnimSpriteSheet_001, 0x0300, ANIM_TAG_SPARK},
+ {gBattleAnimSpriteSheet_002, 0x0200, ANIM_TAG_PENCIL},
+ {gBattleAnimSpriteSheet_003, 0x0100, ANIM_TAG_AIR_WAVE},
+ {gBattleAnimSpriteSheet_004, 0x0200, ANIM_TAG_UNUSED_ORB},
+ {gBattleAnimSpriteSheet_005, 0x0400, ANIM_TAG_SWORD},
+ {gBattleAnimSpriteSheet_006, 0x0180, ANIM_TAG_SEED},
+ {gBattleAnimSpriteSheet_007, 0x0800, ANIM_TAG_UNUSED_EXPLOSION},
+ {gBattleAnimSpriteSheet_008, 0x0020, ANIM_TAG_UNUSED_PINK_ORB},
+ {gBattleAnimSpriteSheet_009, 0x0400, ANIM_TAG_GUST},
+ {gBattleAnimSpriteSheet_010, 0x1200, ANIM_TAG_ICE_CUBE},
+ {gBattleAnimSpriteSheet_011, 0x0180, ANIM_TAG_SPARK_2},
+ {gBattleAnimSpriteSheet_012, 0x0080, ANIM_TAG_UNUSED_ORANGE},
+ {gBattleAnimSpriteSheet_013, 0x0080, ANIM_TAG_YELLOW_BALL},
+ {gBattleAnimSpriteSheet_014, 0x0280, ANIM_TAG_LOCK_ON},
+ {gBattleAnimSpriteSheet_015, 0x0080, ANIM_TAG_TIED_BAG},
+ {gBattleAnimSpriteSheet_016, 0x0100, ANIM_TAG_BLACK_SMOKE},
+ {gBattleAnimSpriteSheet_017, 0x0020, ANIM_TAG_BLACK_BALL},
+ {gBattleAnimSpriteSheet_018, 0x0080, ANIM_TAG_CONVERSION},
+ {gBattleAnimSpriteSheet_019, 0x0400, ANIM_TAG_UNUSED_GLASS},
+ {gBattleAnimSpriteSheet_020, 0x0200, ANIM_TAG_HORN_HIT},
+ {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT},
+ {gBattleAnimSpriteSheet_021, 0x0A00, ANIM_TAG_UNUSED_HIT_2},
+ {gBattleAnimSpriteSheet_023, 0x0380, ANIM_TAG_UNUSED_BLUE_SHARDS},
+ {gBattleAnimSpriteSheet_024, 0x0300, ANIM_TAG_UNUSED_CLOSING_EYE},
+ {gBattleAnimSpriteSheet_025, 0x0A00, ANIM_TAG_UNUSED_WAVING_HAND},
+ {gBattleAnimSpriteSheet_026, 0x0A00, ANIM_TAG_UNUSED_HIT_DUPLICATE},
+ {gBattleAnimSpriteSheet_027, 0x0A00, ANIM_TAG_LEER},
+ {gBattleAnimSpriteSheet_028, 0x0A00, ANIM_TAG_UNUSED_BLUE_BURST},
+ {gBattleAnimSpriteSheet_029, 0x0A00, ANIM_TAG_SMALL_EMBER},
+ {gBattleAnimSpriteSheet_030, 0x0A00, ANIM_TAG_GRAY_SMOKE},
+ {gBattleAnimSpriteSheet_031, 0x0E00, ANIM_TAG_BLUE_STAR},
+ {gBattleAnimSpriteSheet_032, 0x0380, ANIM_TAG_UNUSED_BUBBLE_BURST},
+ {gBattleAnimSpriteSheet_033, 0x1000, ANIM_TAG_FIRE},
+ {gBattleAnimSpriteSheet_034, 0x0800, ANIM_TAG_UNUSED_SPINNING_FIRE},
+ {gBattleAnimSpriteSheet_035, 0x0A00, ANIM_TAG_FIRE_PLUME},
+ {gBattleAnimSpriteSheet_036, 0x0800, ANIM_TAG_UNUSED_LIGHTNING},
+ {gBattleAnimSpriteSheet_037, 0x0A00, ANIM_TAG_LIGHTNING},
+ {gBattleAnimSpriteSheet_038, 0x0A00, ANIM_TAG_UNUSED_CLAW_SLASH},
+ {gBattleAnimSpriteSheet_039, 0x0A00, ANIM_TAG_CLAW_SLASH},
+ {gBattleAnimSpriteSheet_040, 0x0A00, ANIM_TAG_UNUSED_SCRATCH},
+ {gBattleAnimSpriteSheet_041, 0x0A00, ANIM_TAG_UNUSED_SCRATCH_2},
+ {gBattleAnimSpriteSheet_042, 0x0A00, ANIM_TAG_UNUSED_BUBBLE_BURST_2},
+ {gBattleAnimSpriteSheet_043, 0x0A00, ANIM_TAG_ICE_CHUNK},
+ {gBattleAnimSpriteSheet_044, 0x0A00, ANIM_TAG_UNUSED_GLASS_2},
+ {gBattleAnimSpriteSheet_045, 0x0A00, ANIM_TAG_UNUSED_PINK_HEART},
+ {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP},
+ {gBattleAnimSpriteSheet_046, 0x1000, ANIM_TAG_UNUSED_SAP_DRIP_2},
+ {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_1},
+ {gBattleAnimSpriteSheet_048, 0x1000, ANIM_TAG_SPARKLE_2},
+ {gBattleAnimSpriteSheet_050, 0x0200, ANIM_TAG_HUMANOID_FOOT},
+ {gBattleAnimSpriteSheet_051, 0x0200, ANIM_TAG_UNUSED_MONSTER_FOOT},
+ {gBattleAnimSpriteSheet_052, 0x0200, ANIM_TAG_UNUSED_HUMANOID_HAND},
+ {gBattleAnimSpriteSheet_053, 0x0800, ANIM_TAG_NOISE_LINE},
+ {gBattleAnimSpriteSheet_054, 0x0080, ANIM_TAG_UNUSED_YELLOW_UNK},
+ {gBattleAnimSpriteSheet_055, 0x0200, ANIM_TAG_UNUSED_RED_FIST},
+ {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_SLAM_HIT},
+ {gBattleAnimSpriteSheet_057, 0x0180, ANIM_TAG_UNUSED_RING},
+ {gBattleAnimSpriteSheet_058, 0x0C00, ANIM_TAG_ROCKS},
+ {gBattleAnimSpriteSheet_059, 0x0100, ANIM_TAG_UNUSED_Z},
+ {gBattleAnimSpriteSheet_060, 0x0040, ANIM_TAG_UNUSED_YELLOW_UNK_2},
+ {gBattleAnimSpriteSheet_061, 0x0180, ANIM_TAG_UNUSED_AIR_SLASH},
+ {gBattleAnimSpriteSheet_062, 0x0800, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS},
+ {gBattleAnimSpriteSheet_063, 0x0480, ANIM_TAG_LEAF},
+ {gBattleAnimSpriteSheet_064, 0x0200, ANIM_TAG_FINGER},
+ {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_POISON_POWDER},
+ {gBattleAnimSpriteSheet_066, 0x0100, ANIM_TAG_UNUSED_BROWN_TRIANGLE},
+ {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_SLEEP_POWDER},
+ {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_STUN_SPORE},
+ {gBattleAnimSpriteSheet_065, 0x0200, ANIM_TAG_UNUSED_POWDER},
+ {gBattleAnimSpriteSheet_070, 0x0200, ANIM_TAG_SPARKLE_3},
+ {gBattleAnimSpriteSheet_071, 0x0A00, ANIM_TAG_SPARKLE_4},
+ {gBattleAnimSpriteSheet_072, 0x0300, ANIM_TAG_MUSIC_NOTES},
+ {gBattleAnimSpriteSheet_073, 0x0180, ANIM_TAG_DUCK},
+ {gBattleAnimSpriteSheet_074, 0x00A0, ANIM_TAG_MUD_SAND},
+ {gBattleAnimSpriteSheet_075, 0x0700, ANIM_TAG_ALERT},
+ {gBattleAnimSpriteSheet_076, 0x0400, ANIM_TAG_UNUSED_BLUE_FLAMES},
+ {gBattleAnimSpriteSheet_077, 0x0200, ANIM_TAG_UNUSED_BLUE_FLAMES_2},
+ {gBattleAnimSpriteSheet_078, 0x0300, ANIM_TAG_UNUSED_SHOCK},
+ {gBattleAnimSpriteSheet_079, 0x0C00, ANIM_TAG_SHOCK},
+ {gBattleAnimSpriteSheet_080, 0x0A00, ANIM_TAG_UNUSED_BELL},
+ {gBattleAnimSpriteSheet_081, 0x0080, ANIM_TAG_UNUSED_PINK_GLOVE},
+ {gBattleAnimSpriteSheet_082, 0x0040, ANIM_TAG_UNUSED_BLUE_LINES},
+ {gBattleAnimSpriteSheet_083, 0x0E00, ANIM_TAG_UNUSED_IMPACT},
+ {gBattleAnimSpriteSheet_084, 0x0E00, ANIM_TAG_UNUSED_IMPACT_2},
+ {gBattleAnimSpriteSheet_085, 0x0280, ANIM_TAG_UNUSED_RETICLE},
+ {gBattleAnimSpriteSheet_086, 0x0200, ANIM_TAG_BREATH},
+ {gBattleAnimSpriteSheet_087, 0x0080, ANIM_TAG_ANGER},
+ {gBattleAnimSpriteSheet_088, 0x00C0, ANIM_TAG_UNUSED_SNOWBALL},
+ {gBattleAnimSpriteSheet_089, 0x0A00, ANIM_TAG_UNUSED_VINE},
+ {gBattleAnimSpriteSheet_090, 0x0200, ANIM_TAG_UNUSED_SWORD},
+ {gBattleAnimSpriteSheet_091, 0x0180, ANIM_TAG_UNUSED_CLAPPING},
+ {gBattleAnimSpriteSheet_092, 0x0080, ANIM_TAG_UNUSED_RED_TUBE},
+ {gBattleAnimSpriteSheet_093, 0x1000, ANIM_TAG_AMNESIA},
+ {gBattleAnimSpriteSheet_094, 0x0A00, ANIM_TAG_UNUSED_STRING},
+ {gBattleAnimSpriteSheet_095, 0x0180, ANIM_TAG_UNUSED_PENCIL},
+ {gBattleAnimSpriteSheet_096, 0x0380, ANIM_TAG_UNUSED_PETAL},
+ {gBattleAnimSpriteSheet_097, 0x0C00, ANIM_TAG_BENT_SPOON},
+ {gBattleAnimSpriteSheet_098, 0x0200, ANIM_TAG_UNUSED_WEB},
+ {gBattleAnimSpriteSheet_099, 0x0200, ANIM_TAG_MILK_BOTTLE},
+ {gBattleAnimSpriteSheet_100, 0x0200, ANIM_TAG_COIN},
+ {gBattleAnimSpriteSheet_101, 0x0200, ANIM_TAG_UNUSED_CRACKED_EGG},
+ {gBattleAnimSpriteSheet_102, 0x0400, ANIM_TAG_UNUSED_HATCHED_EGG},
+ {gBattleAnimSpriteSheet_103, 0x0080, ANIM_TAG_UNUSED_FRESH_EGG},
+ {gBattleAnimSpriteSheet_104, 0x0400, ANIM_TAG_UNUSED_FANGS},
+ {gBattleAnimSpriteSheet_105, 0x0c00, ANIM_TAG_UNUSED_EXPLOSION_2},
+ {gBattleAnimSpriteSheet_106, 0x0200, ANIM_TAG_UNUSED_EXPLOSION_3},
+ {gBattleAnimSpriteSheet_107, 0x1000, ANIM_TAG_UNUSED_WATER_DROPLET},
+ {gBattleAnimSpriteSheet_108, 0x0a00, ANIM_TAG_UNUSED_WATER_DROPLET_2},
+ {gBattleAnimSpriteSheet_109, 0x0020, ANIM_TAG_UNUSED_SEED},
+ {gBattleAnimSpriteSheet_110, 0x0e00, ANIM_TAG_UNUSED_SPROUT},
+ {gBattleAnimSpriteSheet_111, 0x0080, ANIM_TAG_UNUSED_RED_WAND},
+ {gBattleAnimSpriteSheet_112, 0x0a00, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK},
+ {gBattleAnimSpriteSheet_113, 0x0400, ANIM_TAG_UNUSED_WATER_COLUMN},
+ {gBattleAnimSpriteSheet_114, 0x0200, ANIM_TAG_UNUSED_MUD_UNK},
+ {gBattleAnimSpriteSheet_115, 0x0700, ANIM_TAG_RAIN_DROPS},
+ {gBattleAnimSpriteSheet_116, 0x0800, ANIM_TAG_UNUSED_FURY_SWIPES},
+ {gBattleAnimSpriteSheet_117, 0x0a00, ANIM_TAG_UNUSED_VINE_2},
+ {gBattleAnimSpriteSheet_118, 0x0600, ANIM_TAG_UNUSED_TEETH},
+ {gBattleAnimSpriteSheet_119, 0x0800, ANIM_TAG_UNUSED_BONE},
+ {gBattleAnimSpriteSheet_120, 0x0200, ANIM_TAG_UNUSED_WHITE_BAG},
+ {gBattleAnimSpriteSheet_121, 0x0040, ANIM_TAG_UNUSED_UNKNOWN},
+ {gBattleAnimSpriteSheet_122, 0x0180, ANIM_TAG_UNUSED_PURPLE_CORAL},
+ {gBattleAnimSpriteSheet_123, 0x0600, ANIM_TAG_UNUSED_PURPLE_DROPLET},
+ {gBattleAnimSpriteSheet_124, 0x0600, ANIM_TAG_UNUSED_SHOCK_2},
+ {gBattleAnimSpriteSheet_125, 0x0200, ANIM_TAG_UNUSED_CLOSING_EYE_2},
+ {gBattleAnimSpriteSheet_126, 0x0080, ANIM_TAG_UNUSED_METAL_BALL},
+ {gBattleAnimSpriteSheet_127, 0x0200, ANIM_TAG_UNUSED_MONSTER_DOLL},
+ {gBattleAnimSpriteSheet_128, 0x0800, ANIM_TAG_UNUSED_WHIRLWIND},
+ {gBattleAnimSpriteSheet_129, 0x0080, ANIM_TAG_UNUSED_WHIRLWIND_2},
+ {gBattleAnimSpriteSheet_130, 0x0a00, ANIM_TAG_UNUSED_EXPLOSION_4},
+ {gBattleAnimSpriteSheet_131, 0x0280, ANIM_TAG_UNUSED_EXPLOSION_5},
+ {gBattleAnimSpriteSheet_132, 0x0280, ANIM_TAG_UNUSED_TONGUE},
+ {gBattleAnimSpriteSheet_133, 0x0100, ANIM_TAG_UNUSED_SMOKE},
+ {gBattleAnimSpriteSheet_134, 0x0200, ANIM_TAG_UNUSED_SMOKE_2},
+ {gBattleAnimSpriteSheet_135, 0x0200, ANIM_TAG_IMPACT},
+ {gBattleAnimSpriteSheet_136, 0x0020, ANIM_TAG_CIRCLE_IMPACT},
+ {gBattleAnimSpriteSheet_137, 0x0a00, ANIM_TAG_SCRATCH},
+ {gBattleAnimSpriteSheet_138, 0x0800, ANIM_TAG_CUT},
+ {gBattleAnimSpriteSheet_139, 0x0800, ANIM_TAG_SHARP_TEETH},
+ {gBattleAnimSpriteSheet_140, 0x00c0, ANIM_TAG_RAINBOW_RINGS},
+ {gBattleAnimSpriteSheet_141, 0x01c0, ANIM_TAG_ICE_CRYSTALS},
+ {gBattleAnimSpriteSheet_142, 0x0100, ANIM_TAG_ICE_SPIKES},
+ {gBattleAnimSpriteSheet_143, 0x0800, ANIM_TAG_HANDS_AND_FEET},
+ {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_MIST_CLOUD},
+ {gBattleAnimSpriteSheet_145, 0x0800, ANIM_TAG_CLAMP},
+ {gBattleAnimSpriteSheet_146, 0x0180, ANIM_TAG_BUBBLE},
+ {gBattleAnimSpriteSheet_147, 0x0180, ANIM_TAG_ORBS},
+ {gBattleAnimSpriteSheet_148, 0x0200, ANIM_TAG_WATER_IMPACT},
+ {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_WATER_ORB},
+ {gBattleAnimSpriteSheet_150, 0x0180, ANIM_TAG_POISON_BUBBLE},
+ {gBattleAnimSpriteSheet_151, 0x0400, ANIM_TAG_TOXIC_BUBBLE},
+ {gBattleAnimSpriteSheet_152, 0x0080, ANIM_TAG_SPIKES},
+ {gBattleAnimSpriteSheet_153, 0x0100, ANIM_TAG_HORN_HIT_2},
+ {gBattleAnimSpriteSheet_154, 0x0100, ANIM_TAG_AIR_WAVE_2},
+ {gBattleAnimSpriteSheet_155, 0x0140, ANIM_TAG_SMALL_BUBBLES},
+ {gBattleAnimSpriteSheet_156, 0x0800, ANIM_TAG_ROUND_SHADOW},
+ {gBattleAnimSpriteSheet_157, 0x0200, ANIM_TAG_SUNLIGHT},
+ {gBattleAnimSpriteSheet_158, 0x0100, ANIM_TAG_SPORE},
+ {gBattleAnimSpriteSheet_159, 0x00a0, ANIM_TAG_FLOWER},
+ {gBattleAnimSpriteSheet_160, 0x0100, ANIM_TAG_RAZOR_LEAF},
+ {gBattleAnimSpriteSheet_161, 0x0080, ANIM_TAG_NEEDLE},
+ {gBattleAnimSpriteSheet_162, 0x0300, ANIM_TAG_WHIRLWIND_LINES},
+ {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_GOLD_RING},
+ {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_PURPLE_RING},
+ {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING},
+ {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL},
+ {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL},
+ {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_RED_LIGHT_WALL},
+ {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL},
+ {gBattleAnimSpriteSheet_166, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL},
+ {gBattleAnimSpriteSheet_171, 0x0080, ANIM_TAG_BLACK_BALL_2},
+ {gBattleAnimSpriteSheet_144, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD},
+ {gBattleAnimSpriteSheet_173, 0x0200, ANIM_TAG_SPARK_H},
+ {gBattleAnimSpriteSheet_174, 0x0200, ANIM_TAG_YELLOW_STAR},
+ {gBattleAnimSpriteSheet_175, 0x0080, ANIM_TAG_LARGE_FRESH_EGG},
+ {gBattleAnimSpriteSheet_176, 0x0200, ANIM_TAG_SHADOW_BALL},
+ {gBattleAnimSpriteSheet_177, 0x0500, ANIM_TAG_LICK},
+ {gBattleAnimSpriteSheet_178, 0x0800, ANIM_TAG_UNUSED_VOID_LINES},
+ {gBattleAnimSpriteSheet_179, 0x0400, ANIM_TAG_STRING},
+ {gBattleAnimSpriteSheet_180, 0x0020, ANIM_TAG_WEB_THREAD},
+ {gBattleAnimSpriteSheet_181, 0x0800, ANIM_TAG_SPIDER_WEB},
+ {gBattleAnimSpriteSheet_182, 0x0100, ANIM_TAG_UNUSED_LIGHTBULB},
+ {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH},
+ {gBattleAnimSpriteSheet_184, 0x0400, ANIM_TAG_FOCUS_ENERGY},
+ {gBattleAnimSpriteSheet_185, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE},
+ {gBattleAnimSpriteSheet_186, 0x1000, ANIM_TAG_TENDRILS},
+ {gBattleAnimSpriteSheet_187, 0x0800, ANIM_TAG_EYE},
+ {gBattleAnimSpriteSheet_188, 0x0400, ANIM_TAG_WHITE_SHADOW},
+ {gBattleAnimSpriteSheet_189, 0x0200, ANIM_TAG_TEAL_ALERT},
+ {gBattleAnimSpriteSheet_190, 0x0800, ANIM_TAG_OPENING_EYE},
+ {gBattleAnimSpriteSheet_191, 0x0800, ANIM_TAG_ROUND_WHITE_HALO},
+ {gBattleAnimSpriteSheet_192, 0x0800, ANIM_TAG_FANG_ATTACK},
+ {gBattleAnimSpriteSheet_193, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE},
+ {gBattleAnimSpriteSheet_194, 0x0800, ANIM_TAG_MOON},
+ {gBattleAnimSpriteSheet_195, 0x0200, ANIM_TAG_GREEN_SPARKLE},
+ {gBattleAnimSpriteSheet_196, 0x0800, ANIM_TAG_SPIRAL},
+ {gBattleAnimSpriteSheet_197, 0x0200, ANIM_TAG_SNORE_Z},
+ {gBattleAnimSpriteSheet_198, 0x0800, ANIM_TAG_EXPLOSION},
+ {gBattleAnimSpriteSheet_199, 0x0400, ANIM_TAG_NAIL},
+ {gBattleAnimSpriteSheet_200, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT},
+ {gBattleAnimSpriteSheet_201, 0x0a80, ANIM_TAG_WARM_ROCK},
+ {gBattleAnimSpriteSheet_202, 0x0600, ANIM_TAG_BREAKING_EGG},
+ {gBattleAnimSpriteSheet_203, 0x0800, ANIM_TAG_THIN_RING},
+ {gBattleAnimSpriteSheet_204, 0x0200, ANIM_TAG_UNUSED_PUNCH_IMPACT},
+ {gBattleAnimSpriteSheet_205, 0x0600, ANIM_TAG_BELL},
+ {gBattleAnimSpriteSheet_206, 0x0800, ANIM_TAG_MUSIC_NOTES_2},
+ {gBattleAnimSpriteSheet_207, 0x0180, ANIM_TAG_SPEED_DUST},
+ {gBattleAnimSpriteSheet_208, 0x0800, ANIM_TAG_TORN_METAL},
+ {gBattleAnimSpriteSheet_209, 0x0800, ANIM_TAG_THOUGHT_BUBBLE},
+ {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_MAGENTA_HEART},
+ {gBattleAnimSpriteSheet_211, 0x0080, ANIM_TAG_ELECTRIC_ORBS},
+ {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpriteSheet_213, 0x0800, ANIM_TAG_ELECTRICITY},
+ {gBattleAnimSpriteSheet_214, 0x0600, ANIM_TAG_FINGER_2},
+ {gBattleAnimSpriteSheet_215, 0x0600, ANIM_TAG_MOVEMENT_WAVES},
+ {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_RED_HEART},
+ {gBattleAnimSpriteSheet_217, 0x0080, ANIM_TAG_RED_ORB},
+ {gBattleAnimSpriteSheet_218, 0x0180, ANIM_TAG_EYE_SPARKLE},
+ {gBattleAnimSpriteSheet_210, 0x0080, ANIM_TAG_PINK_HEART},
+ {gBattleAnimSpriteSheet_220, 0x0200, ANIM_TAG_ANGEL},
+ {gBattleAnimSpriteSheet_221, 0x0400, ANIM_TAG_DEVIL},
+ {gBattleAnimSpriteSheet_222, 0x0a00, ANIM_TAG_SWIPE},
+ {gBattleAnimSpriteSheet_223, 0x0800, ANIM_TAG_ROOTS},
+ {gBattleAnimSpriteSheet_224, 0x0200, ANIM_TAG_ITEM_BAG},
+ {gBattleAnimSpriteSheet_225, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE},
+ {gBattleAnimSpriteSheet_226, 0x0080, ANIM_TAG_POKEBALL},
+ {gBattleAnimSpriteSheet_227, 0x0800, ANIM_TAG_SPOTLIGHT},
+ {gBattleAnimSpriteSheet_228, 0x0200, ANIM_TAG_LETTER_Z},
+ {gBattleAnimSpriteSheet_229, 0x0300, ANIM_TAG_RAPID_SPIN},
+ {gBattleAnimSpriteSheet_230, 0x0800, ANIM_TAG_TRI_FORCE_TRIANGLE},
+ {gBattleAnimSpriteSheet_231, 0x0380, ANIM_TAG_WISP_ORB},
+ {gBattleAnimSpriteSheet_232, 0x0800, ANIM_TAG_WISP_FIRE},
+ {gBattleAnimSpriteSheet_233, 0x00c0, ANIM_TAG_GOLD_STARS},
+ {gBattleAnimSpriteSheet_234, 0x0800, ANIM_TAG_ECLIPSING_ORB},
+ {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_GRAY_ORB},
+ {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_BLUE_ORB},
+ {gBattleAnimSpriteSheet_235, 0x0060, ANIM_TAG_RED_ORB_2},
+ {gBattleAnimSpriteSheet_238, 0x0080, ANIM_TAG_PINK_PETAL},
+ {gBattleAnimSpriteSheet_239, 0x0180, ANIM_TAG_PAIN_SPLIT},
+ {gBattleAnimSpriteSheet_240, 0x0180, ANIM_TAG_CONFETTI},
+ {gBattleAnimSpriteSheet_241, 0x0200, ANIM_TAG_GREEN_STAR},
+ {gBattleAnimSpriteSheet_242, 0x0200, ANIM_TAG_PINK_CLOUD},
+ {gBattleAnimSpriteSheet_243, 0x0020, ANIM_TAG_SWEAT_DROP},
+ {gBattleAnimSpriteSheet_244, 0x0400, ANIM_TAG_GUARD_RING},
+ {gBattleAnimSpriteSheet_245, 0x0600, ANIM_TAG_PURPLE_SCRATCH},
+ {gBattleAnimSpriteSheet_246, 0x1000, ANIM_TAG_PURPLE_SWIPE},
+ {gBattleAnimSpriteSheet_247, 0x0400, ANIM_TAG_TAG_HAND},
+ {gBattleAnimSpriteSheet_248, 0x0020, ANIM_TAG_SMALL_RED_EYE},
+ {gBattleAnimSpriteSheet_249, 0x0080, ANIM_TAG_HOLLOW_ORB},
+ {gBattleAnimSpriteSheet_250, 0x0800, ANIM_TAG_X_SIGN},
+ {gBattleAnimSpriteSheet_251, 0x0080, ANIM_TAG_BLUEGREEN_ORB},
+ {gBattleAnimSpriteSheet_252, 0x0200, ANIM_TAG_PAW_PRINT},
+ {gBattleAnimSpriteSheet_253, 0x0400, ANIM_TAG_PURPLE_FLAME},
+ {gBattleAnimSpriteSheet_254, 0x0200, ANIM_TAG_RED_BALL},
+ {gBattleAnimSpriteSheet_255, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT},
+ {gBattleAnimSpriteSheet_256, 0x0800, ANIM_TAG_METEOR},
+ {gBattleAnimSpriteSheet_257, 0x0280, ANIM_TAG_FLAT_ROCK},
+ {gBattleAnimSpriteSheet_258, 0x0200, ANIM_TAG_MAGNIFYING_GLASS},
+ {gBattleAnimSpriteSheet_149, 0x0200, ANIM_TAG_BROWN_ORB},
+ {gBattleAnimSpriteSheet_260, 0x0400, ANIM_TAG_METAL_SOUND_WAVES},
+ {gBattleAnimSpriteSheet_261, 0x0200, ANIM_TAG_FLYING_DIRT},
+ {gBattleAnimSpriteSheet_262, 0x0200, ANIM_TAG_ICICLE_SPEAR},
+ {gBattleAnimSpriteSheet_263, 0x0080, ANIM_TAG_HAIL},
+ {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_RED_ORB},
+ {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB},
+ {gBattleAnimSpriteSheet_266, 0x0080, ANIM_TAG_GREEN_SPIKE},
+ {gBattleAnimSpriteSheet_212, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpriteSheet_264, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB},
+ {gBattleAnimSpriteSheet_269, 0x0080, ANIM_TAG_UNUSED_RED_BRICK},
+ {gBattleAnimSpriteSheet_270, 0x0400, ANIM_TAG_WHITE_FEATHER},
+ {gBattleAnimSpriteSheet_271, 0x0080, ANIM_TAG_SPARKLE_6},
+ {gBattleAnimSpriteSheet_272, 0x0800, ANIM_TAG_SPLASH},
+ {gBattleAnimSpriteSheet_273, 0x0020, ANIM_TAG_SWEAT_BEAD},
+ {gBattleAnimSpriteSheet_274, 0x0800, ANIM_TAG_UNUSED_GEM_1},
+ {gBattleAnimSpriteSheet_275, 0x0800, ANIM_TAG_UNUSED_GEM_2},
+ {gBattleAnimSpriteSheet_276, 0x0800, ANIM_TAG_UNUSED_GEM_3},
+ {gBattleAnimSpriteSheet_277, 0x1000, ANIM_TAG_SLAM_HIT_2},
+ {gBattleAnimSpriteSheet_278, 0x0800, ANIM_TAG_RECYCLE},
+ {gBattleAnimSpriteSheet_279, 0x00a0, ANIM_TAG_UNUSED_RED_PARTICLES},
+ {gBattleAnimSpriteSheet_280, 0x0800, ANIM_TAG_PROTECT},
+ {gBattleAnimSpriteSheet_281, 0x0200, ANIM_TAG_DIRT_MOUND},
+ {gBattleAnimSpriteSheet_282, 0x0600, ANIM_TAG_SHOCK_3},
+ {gBattleAnimSpriteSheet_283, 0x0200, ANIM_TAG_WEATHER_BALL},
+ {gBattleAnimSpriteSheet_284, 0x0800, ANIM_TAG_BIRD},
+ {gBattleAnimSpriteSheet_285, 0x0200, ANIM_TAG_CROSS_IMPACT},
+ {gBattleAnimSpriteSheet_183, 0x0800, ANIM_TAG_SLASH_2},
+ {gBattleAnimSpriteSheet_056, 0x1000, ANIM_TAG_WHIP_HIT},
+ {gBattleAnimSpriteSheet_163, 0x0100, ANIM_TAG_BLUE_RING_2},
+};
+
+
+const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
+{
+ {gBattleAnimSpritePalette_000, ANIM_TAG_BONE},
+ {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK},
+ {gBattleAnimSpritePalette_002, ANIM_TAG_PENCIL},
+ {gBattleAnimSpritePalette_003, ANIM_TAG_AIR_WAVE},
+ {gBattleAnimSpritePalette_004, ANIM_TAG_UNUSED_ORB},
+ {gBattleAnimSpritePalette_005, ANIM_TAG_SWORD},
+ {gBattleAnimSpritePalette_006, ANIM_TAG_SEED},
+ {gBattleAnimSpritePalette_007, ANIM_TAG_UNUSED_EXPLOSION},
+ {gBattleAnimSpritePalette_008, ANIM_TAG_UNUSED_PINK_ORB},
+ {gBattleAnimSpritePalette_009, ANIM_TAG_GUST},
+ {gBattleAnimSpritePalette_010, ANIM_TAG_ICE_CUBE},
+ {gBattleAnimSpritePalette_011, ANIM_TAG_SPARK_2},
+ {gBattleAnimSpritePalette_012, ANIM_TAG_UNUSED_ORANGE},
+ {gBattleAnimSpritePalette_013, ANIM_TAG_YELLOW_BALL},
+ {gBattleAnimSpritePalette_014, ANIM_TAG_LOCK_ON},
+ {gBattleAnimSpritePalette_015, ANIM_TAG_TIED_BAG},
+ {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_SMOKE},
+ {gBattleAnimSpritePalette_016, ANIM_TAG_BLACK_BALL},
+ {gBattleAnimSpritePalette_018, ANIM_TAG_CONVERSION},
+ {gBattleAnimSpritePalette_019, ANIM_TAG_UNUSED_GLASS},
+ {gBattleAnimSpritePalette_020, ANIM_TAG_HORN_HIT},
+ {gBattleAnimSpritePalette_021, ANIM_TAG_UNUSED_HIT},
+ {gBattleAnimSpritePalette_022, ANIM_TAG_UNUSED_HIT_2},
+ {gBattleAnimSpritePalette_023, ANIM_TAG_UNUSED_BLUE_SHARDS},
+ {gBattleAnimSpritePalette_024, ANIM_TAG_UNUSED_CLOSING_EYE},
+ {gBattleAnimSpritePalette_025, ANIM_TAG_UNUSED_WAVING_HAND},
+ {gBattleAnimSpritePalette_026, ANIM_TAG_UNUSED_HIT_DUPLICATE},
+ {gBattleAnimSpritePalette_027, ANIM_TAG_LEER},
+ {gBattleAnimSpritePalette_028, ANIM_TAG_UNUSED_BLUE_BURST},
+ {gBattleAnimSpritePalette_029, ANIM_TAG_SMALL_EMBER},
+ {gBattleAnimSpritePalette_030, ANIM_TAG_GRAY_SMOKE},
+ {gBattleAnimSpritePalette_031, ANIM_TAG_BLUE_STAR},
+ {gBattleAnimSpritePalette_032, ANIM_TAG_UNUSED_BUBBLE_BURST},
+ {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE},
+ {gBattleAnimSpritePalette_033, ANIM_TAG_UNUSED_SPINNING_FIRE},
+ {gBattleAnimSpritePalette_033, ANIM_TAG_FIRE_PLUME},
+ {gBattleAnimSpritePalette_036, ANIM_TAG_UNUSED_LIGHTNING},
+ {gBattleAnimSpritePalette_036, ANIM_TAG_LIGHTNING},
+ {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_CLAW_SLASH},
+ {gBattleAnimSpritePalette_039, ANIM_TAG_CLAW_SLASH},
+ {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH},
+ {gBattleAnimSpritePalette_038, ANIM_TAG_UNUSED_SCRATCH_2},
+ {gBattleAnimSpritePalette_042, ANIM_TAG_UNUSED_BUBBLE_BURST_2},
+ {gBattleAnimSpritePalette_043, ANIM_TAG_ICE_CHUNK},
+ {gBattleAnimSpritePalette_044, ANIM_TAG_UNUSED_GLASS_2},
+ {gBattleAnimSpritePalette_045, ANIM_TAG_UNUSED_PINK_HEART},
+ {gBattleAnimSpritePalette_046, ANIM_TAG_UNUSED_SAP_DRIP},
+ {gBattleAnimSpritePalette_047, ANIM_TAG_UNUSED_SAP_DRIP},
+ {gBattleAnimSpritePalette_048, ANIM_TAG_SPARKLE_1},
+ {gBattleAnimSpritePalette_049, ANIM_TAG_SPARKLE_2},
+ {gBattleAnimSpritePalette_050, ANIM_TAG_HUMANOID_FOOT},
+ {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_MONSTER_FOOT},
+ {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_HUMANOID_HAND},
+ {gBattleAnimSpritePalette_026, ANIM_TAG_NOISE_LINE},
+ {gBattleAnimSpritePalette_054, ANIM_TAG_UNUSED_YELLOW_UNK},
+ {gBattleAnimSpritePalette_050, ANIM_TAG_UNUSED_RED_FIST},
+ {gBattleAnimSpritePalette_056, ANIM_TAG_SLAM_HIT},
+ {gBattleAnimSpritePalette_057, ANIM_TAG_UNUSED_RING},
+ {gBattleAnimSpritePalette_058, ANIM_TAG_ROCKS},
+ {gBattleAnimSpritePalette_059, ANIM_TAG_UNUSED_Z},
+ {gBattleAnimSpritePalette_060, ANIM_TAG_UNUSED_YELLOW_UNK_2},
+ {gBattleAnimSpritePalette_061, ANIM_TAG_UNUSED_AIR_SLASH},
+ {gBattleAnimSpritePalette_062, ANIM_TAG_UNUSED_SPINNING_GREEN_ORBS},
+ {gBattleAnimSpritePalette_063, ANIM_TAG_LEAF},
+ {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER},
+ {gBattleAnimSpritePalette_065, ANIM_TAG_POISON_POWDER},
+ {gBattleAnimSpritePalette_066, ANIM_TAG_UNUSED_BROWN_TRIANGLE},
+ {gBattleAnimSpritePalette_067, ANIM_TAG_SLEEP_POWDER},
+ {gBattleAnimSpritePalette_068, ANIM_TAG_STUN_SPORE},
+ {gBattleAnimSpritePalette_065, ANIM_TAG_UNUSED_POWDER},
+ {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_3},
+ {gBattleAnimSpritePalette_070, ANIM_TAG_SPARKLE_4},
+ {gBattleAnimSpritePalette_072, ANIM_TAG_MUSIC_NOTES},
+ {gBattleAnimSpritePalette_073, ANIM_TAG_DUCK},
+ {gBattleAnimSpritePalette_074, ANIM_TAG_MUD_SAND},
+ {gBattleAnimSpritePalette_075, ANIM_TAG_ALERT},
+ {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES},
+ {gBattleAnimSpritePalette_076, ANIM_TAG_UNUSED_BLUE_FLAMES_2},
+ {gBattleAnimSpritePalette_078, ANIM_TAG_UNUSED_SHOCK},
+ {gBattleAnimSpritePalette_078, ANIM_TAG_SHOCK},
+ {gBattleAnimSpritePalette_080, ANIM_TAG_UNUSED_BELL},
+ {gBattleAnimSpritePalette_081, ANIM_TAG_UNUSED_PINK_GLOVE},
+ {gBattleAnimSpritePalette_082, ANIM_TAG_UNUSED_BLUE_LINES},
+ {gBattleAnimSpritePalette_083, ANIM_TAG_UNUSED_IMPACT},
+ {gBattleAnimSpritePalette_084, ANIM_TAG_UNUSED_IMPACT_2},
+ {gBattleAnimSpritePalette_085, ANIM_TAG_UNUSED_RETICLE},
+ {gBattleAnimSpritePalette_086, ANIM_TAG_BREATH},
+ {gBattleAnimSpritePalette_087, ANIM_TAG_ANGER},
+ {gBattleAnimSpritePalette_088, ANIM_TAG_UNUSED_SNOWBALL},
+ {gBattleAnimSpritePalette_089, ANIM_TAG_UNUSED_VINE},
+ {gBattleAnimSpritePalette_090, ANIM_TAG_UNUSED_SWORD},
+ {gBattleAnimSpritePalette_091, ANIM_TAG_UNUSED_CLAPPING},
+ {gBattleAnimSpritePalette_092, ANIM_TAG_UNUSED_RED_TUBE},
+ {gBattleAnimSpritePalette_093, ANIM_TAG_AMNESIA},
+ {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_STRING},
+ {gBattleAnimSpritePalette_095, ANIM_TAG_UNUSED_PENCIL},
+ {gBattleAnimSpritePalette_096, ANIM_TAG_UNUSED_PETAL},
+ {gBattleAnimSpritePalette_097, ANIM_TAG_BENT_SPOON},
+ {gBattleAnimSpritePalette_094, ANIM_TAG_UNUSED_WEB},
+ {gBattleAnimSpritePalette_099, ANIM_TAG_MILK_BOTTLE},
+ {gBattleAnimSpritePalette_100, ANIM_TAG_COIN},
+ {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_CRACKED_EGG},
+ {gBattleAnimSpritePalette_101, ANIM_TAG_UNUSED_HATCHED_EGG},
+ {gBattleAnimSpritePalette_103, ANIM_TAG_UNUSED_FRESH_EGG},
+ {gBattleAnimSpritePalette_104, ANIM_TAG_UNUSED_FANGS},
+ {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_2},
+ {gBattleAnimSpritePalette_105, ANIM_TAG_UNUSED_EXPLOSION_3},
+ {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET},
+ {gBattleAnimSpritePalette_107, ANIM_TAG_UNUSED_WATER_DROPLET_2},
+ {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SEED},
+ {gBattleAnimSpritePalette_109, ANIM_TAG_UNUSED_SPROUT},
+ {gBattleAnimSpritePalette_111, ANIM_TAG_UNUSED_RED_WAND},
+ {gBattleAnimSpritePalette_112, ANIM_TAG_UNUSED_PURPLE_GREEN_UNK},
+ {gBattleAnimSpritePalette_113, ANIM_TAG_UNUSED_WATER_COLUMN},
+ {gBattleAnimSpritePalette_114, ANIM_TAG_UNUSED_MUD_UNK},
+ {gBattleAnimSpritePalette_115, ANIM_TAG_RAIN_DROPS},
+ {gBattleAnimSpritePalette_116, ANIM_TAG_UNUSED_FURY_SWIPES},
+ {gBattleAnimSpritePalette_117, ANIM_TAG_UNUSED_VINE_2},
+ {gBattleAnimSpritePalette_118, ANIM_TAG_UNUSED_TEETH},
+ {gBattleAnimSpritePalette_119, ANIM_TAG_UNUSED_BONE},
+ {gBattleAnimSpritePalette_120, ANIM_TAG_UNUSED_WHITE_BAG},
+ {gBattleAnimSpritePalette_121, ANIM_TAG_UNUSED_UNKNOWN},
+ {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_CORAL},
+ {gBattleAnimSpritePalette_122, ANIM_TAG_UNUSED_PURPLE_DROPLET},
+ {gBattleAnimSpritePalette_124, ANIM_TAG_UNUSED_SHOCK_2},
+ {gBattleAnimSpritePalette_125, ANIM_TAG_UNUSED_CLOSING_EYE_2},
+ {gBattleAnimSpritePalette_126, ANIM_TAG_UNUSED_METAL_BALL},
+ {gBattleAnimSpritePalette_127, ANIM_TAG_UNUSED_MONSTER_DOLL},
+ {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND},
+ {gBattleAnimSpritePalette_128, ANIM_TAG_UNUSED_WHIRLWIND_2},
+ {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_4},
+ {gBattleAnimSpritePalette_130, ANIM_TAG_UNUSED_EXPLOSION_5},
+ {gBattleAnimSpritePalette_132, ANIM_TAG_UNUSED_TONGUE},
+ {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE},
+ {gBattleAnimSpritePalette_133, ANIM_TAG_UNUSED_SMOKE_2},
+ {gBattleAnimSpritePalette_135, ANIM_TAG_IMPACT},
+ {gBattleAnimSpritePalette_136, ANIM_TAG_CIRCLE_IMPACT},
+ {gBattleAnimSpritePalette_135, ANIM_TAG_SCRATCH},
+ {gBattleAnimSpritePalette_135, ANIM_TAG_CUT},
+ {gBattleAnimSpritePalette_139, ANIM_TAG_SHARP_TEETH},
+ {gBattleAnimSpritePalette_140, ANIM_TAG_RAINBOW_RINGS},
+ {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_CRYSTALS},
+ {gBattleAnimSpritePalette_141, ANIM_TAG_ICE_SPIKES},
+ {gBattleAnimSpritePalette_143, ANIM_TAG_HANDS_AND_FEET},
+ {gBattleAnimSpritePalette_144, ANIM_TAG_MIST_CLOUD},
+ {gBattleAnimSpritePalette_139, ANIM_TAG_CLAMP},
+ {gBattleAnimSpritePalette_115, ANIM_TAG_BUBBLE},
+ {gBattleAnimSpritePalette_147, ANIM_TAG_ORBS},
+ {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_IMPACT},
+ {gBattleAnimSpritePalette_148, ANIM_TAG_WATER_ORB},
+ {gBattleAnimSpritePalette_150, ANIM_TAG_POISON_BUBBLE},
+ {gBattleAnimSpritePalette_150, ANIM_TAG_TOXIC_BUBBLE},
+ {gBattleAnimSpritePalette_152, ANIM_TAG_SPIKES},
+ {gBattleAnimSpritePalette_153, ANIM_TAG_HORN_HIT_2},
+ {gBattleAnimSpritePalette_154, ANIM_TAG_AIR_WAVE_2},
+ {gBattleAnimSpritePalette_155, ANIM_TAG_SMALL_BUBBLES},
+ {gBattleAnimSpritePalette_156, ANIM_TAG_ROUND_SHADOW},
+ {gBattleAnimSpritePalette_157, ANIM_TAG_SUNLIGHT},
+ {gBattleAnimSpritePalette_158, ANIM_TAG_SPORE},
+ {gBattleAnimSpritePalette_159, ANIM_TAG_FLOWER},
+ {gBattleAnimSpritePalette_160, ANIM_TAG_RAZOR_LEAF},
+ {gBattleAnimSpritePalette_161, ANIM_TAG_NEEDLE},
+ {gBattleAnimSpritePalette_162, ANIM_TAG_WHIRLWIND_LINES},
+ {gBattleAnimSpritePalette_163, ANIM_TAG_GOLD_RING},
+ {gBattleAnimSpritePalette_164, ANIM_TAG_PURPLE_RING},
+ {gBattleAnimSpritePalette_165, ANIM_TAG_BLUE_RING},
+ {gBattleAnimSpritePalette_166, ANIM_TAG_GREEN_LIGHT_WALL},
+ {gBattleAnimSpritePalette_167, ANIM_TAG_BLUE_LIGHT_WALL},
+ {gBattleAnimSpritePalette_168, ANIM_TAG_RED_LIGHT_WALL},
+ {gBattleAnimSpritePalette_169, ANIM_TAG_GRAY_LIGHT_WALL},
+ {gBattleAnimSpritePalette_170, ANIM_TAG_ORANGE_LIGHT_WALL},
+ {gBattleAnimSpritePalette_171, ANIM_TAG_BLACK_BALL_2},
+ {gBattleAnimSpritePalette_172, ANIM_TAG_PURPLE_GAS_CLOUD},
+ {gBattleAnimSpritePalette_001, ANIM_TAG_SPARK_H},
+ {gBattleAnimSpritePalette_174, ANIM_TAG_YELLOW_STAR},
+ {gBattleAnimSpritePalette_175, ANIM_TAG_LARGE_FRESH_EGG},
+ {gBattleAnimSpritePalette_176, ANIM_TAG_SHADOW_BALL},
+ {gBattleAnimSpritePalette_177, ANIM_TAG_LICK},
+ {gBattleAnimSpritePalette_178, ANIM_TAG_UNUSED_VOID_LINES},
+ {gBattleAnimSpritePalette_179, ANIM_TAG_STRING},
+ {gBattleAnimSpritePalette_179, ANIM_TAG_WEB_THREAD},
+ {gBattleAnimSpritePalette_179, ANIM_TAG_SPIDER_WEB},
+ {gBattleAnimSpritePalette_182, ANIM_TAG_UNUSED_LIGHTBULB},
+ {gBattleAnimSpritePalette_183, ANIM_TAG_SLASH},
+ {gBattleAnimSpritePalette_184, ANIM_TAG_FOCUS_ENERGY},
+ {gBattleAnimSpritePalette_185, ANIM_TAG_SPHERE_TO_CUBE},
+ {gBattleAnimSpritePalette_186, ANIM_TAG_TENDRILS},
+ {gBattleAnimSpritePalette_187, ANIM_TAG_EYE},
+ {gBattleAnimSpritePalette_188, ANIM_TAG_WHITE_SHADOW},
+ {gBattleAnimSpritePalette_189, ANIM_TAG_TEAL_ALERT},
+ {gBattleAnimSpritePalette_190, ANIM_TAG_OPENING_EYE},
+ {gBattleAnimSpritePalette_191, ANIM_TAG_ROUND_WHITE_HALO},
+ {gBattleAnimSpritePalette_192, ANIM_TAG_FANG_ATTACK},
+ {gBattleAnimSpritePalette_193, ANIM_TAG_PURPLE_HAND_OUTLINE},
+ {gBattleAnimSpritePalette_194, ANIM_TAG_MOON},
+ {gBattleAnimSpritePalette_195, ANIM_TAG_GREEN_SPARKLE},
+ {gBattleAnimSpritePalette_196, ANIM_TAG_SPIRAL},
+ {gBattleAnimSpritePalette_197, ANIM_TAG_SNORE_Z},
+ {gBattleAnimSpritePalette_198, ANIM_TAG_EXPLOSION},
+ {gBattleAnimSpritePalette_199, ANIM_TAG_NAIL},
+ {gBattleAnimSpritePalette_200, ANIM_TAG_GHOSTLY_SPIRIT},
+ {gBattleAnimSpritePalette_201, ANIM_TAG_WARM_ROCK},
+ {gBattleAnimSpritePalette_202, ANIM_TAG_BREAKING_EGG},
+ {gBattleAnimSpritePalette_203, ANIM_TAG_THIN_RING},
+ {gBattleAnimSpritePalette_204, ANIM_TAG_UNUSED_PUNCH_IMPACT},
+ {gBattleAnimSpritePalette_205, ANIM_TAG_BELL},
+ {gBattleAnimSpritePalette_206, ANIM_TAG_MUSIC_NOTES_2},
+ {gBattleAnimSpritePalette_207, ANIM_TAG_SPEED_DUST},
+ {gBattleAnimSpritePalette_167, ANIM_TAG_TORN_METAL},
+ {gBattleAnimSpritePalette_209, ANIM_TAG_THOUGHT_BUBBLE},
+ {gBattleAnimSpritePalette_210, ANIM_TAG_MAGENTA_HEART},
+ {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRIC_ORBS},
+ {gBattleAnimSpritePalette_211, ANIM_TAG_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpritePalette_211, ANIM_TAG_ELECTRICITY},
+ {gBattleAnimSpritePalette_064, ANIM_TAG_FINGER_2},
+ {gBattleAnimSpritePalette_215, ANIM_TAG_MOVEMENT_WAVES},
+ {gBattleAnimSpritePalette_216, ANIM_TAG_RED_HEART},
+ {gBattleAnimSpritePalette_217, ANIM_TAG_RED_ORB},
+ {gBattleAnimSpritePalette_218, ANIM_TAG_EYE_SPARKLE},
+ {gBattleAnimSpritePalette_219, ANIM_TAG_PINK_HEART},
+ {gBattleAnimSpritePalette_220, ANIM_TAG_ANGEL},
+ {gBattleAnimSpritePalette_221, ANIM_TAG_DEVIL},
+ {gBattleAnimSpritePalette_222, ANIM_TAG_SWIPE},
+ {gBattleAnimSpritePalette_223, ANIM_TAG_ROOTS},
+ {gBattleAnimSpritePalette_224, ANIM_TAG_ITEM_BAG},
+ {gBattleAnimSpritePalette_225, ANIM_TAG_JAGGED_MUSIC_NOTE},
+ {gBattleAnimSpritePalette_226, ANIM_TAG_POKEBALL},
+ {gBattleAnimSpritePalette_226, ANIM_TAG_SPOTLIGHT},
+ {gBattleAnimSpritePalette_228, ANIM_TAG_LETTER_Z},
+ {gBattleAnimSpritePalette_229, ANIM_TAG_RAPID_SPIN},
+ {gBattleAnimSpritePalette_230, ANIM_TAG_TRI_FORCE_TRIANGLE},
+ {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_ORB},
+ {gBattleAnimSpritePalette_231, ANIM_TAG_WISP_FIRE},
+ {gBattleAnimSpritePalette_233, ANIM_TAG_GOLD_STARS},
+ {gBattleAnimSpritePalette_234, ANIM_TAG_ECLIPSING_ORB},
+ {gBattleAnimSpritePalette_235, ANIM_TAG_GRAY_ORB},
+ {gBattleAnimSpritePalette_236, ANIM_TAG_BLUE_ORB},
+ {gBattleAnimSpritePalette_237, ANIM_TAG_RED_ORB_2},
+ {gBattleAnimSpritePalette_238, ANIM_TAG_PINK_PETAL},
+ {gBattleAnimSpritePalette_239, ANIM_TAG_PAIN_SPLIT},
+ {gBattleAnimSpritePalette_240, ANIM_TAG_CONFETTI},
+ {gBattleAnimSpritePalette_241, ANIM_TAG_GREEN_STAR},
+ {gBattleAnimSpritePalette_242, ANIM_TAG_PINK_CLOUD},
+ {gBattleAnimSpritePalette_243, ANIM_TAG_SWEAT_DROP},
+ {gBattleAnimSpritePalette_244, ANIM_TAG_GUARD_RING},
+ {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SCRATCH},
+ {gBattleAnimSpritePalette_245, ANIM_TAG_PURPLE_SWIPE},
+ {gBattleAnimSpritePalette_064, ANIM_TAG_TAG_HAND},
+ {gBattleAnimSpritePalette_248, ANIM_TAG_SMALL_RED_EYE},
+ {gBattleAnimSpritePalette_249, ANIM_TAG_HOLLOW_ORB},
+ {gBattleAnimSpritePalette_249, ANIM_TAG_X_SIGN},
+ {gBattleAnimSpritePalette_251, ANIM_TAG_BLUEGREEN_ORB},
+ {gBattleAnimSpritePalette_252, ANIM_TAG_PAW_PRINT},
+ {gBattleAnimSpritePalette_253, ANIM_TAG_PURPLE_FLAME},
+ {gBattleAnimSpritePalette_254, ANIM_TAG_RED_BALL},
+ {gBattleAnimSpritePalette_255, ANIM_TAG_SMELLINGSALT_EFFECT},
+ {gBattleAnimSpritePalette_256, ANIM_TAG_METEOR},
+ {gBattleAnimSpritePalette_257, ANIM_TAG_FLAT_ROCK},
+ {gBattleAnimSpritePalette_258, ANIM_TAG_MAGNIFYING_GLASS},
+ {gBattleAnimSpritePalette_259, ANIM_TAG_BROWN_ORB},
+ {gBattleAnimSpritePalette_260, ANIM_TAG_METAL_SOUND_WAVES},
+ {gBattleAnimSpritePalette_261, ANIM_TAG_FLYING_DIRT},
+ {gBattleAnimSpritePalette_262, ANIM_TAG_ICICLE_SPEAR},
+ {gBattleAnimSpritePalette_263, ANIM_TAG_HAIL},
+ {gBattleAnimSpritePalette_264, ANIM_TAG_GLOWY_RED_ORB},
+ {gBattleAnimSpritePalette_265, ANIM_TAG_GLOWY_GREEN_ORB},
+ {gBattleAnimSpritePalette_266, ANIM_TAG_GREEN_SPIKE},
+ {gBattleAnimSpritePalette_267, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpritePalette_268, ANIM_TAG_GLOWY_BLUE_ORB},
+ {gBattleAnimSpritePalette_269, ANIM_TAG_UNUSED_RED_BRICK},
+ {gBattleAnimSpritePalette_270, ANIM_TAG_WHITE_FEATHER},
+ {gBattleAnimSpritePalette_271, ANIM_TAG_SPARKLE_6},
+ {gBattleAnimSpritePalette_272, ANIM_TAG_SPLASH},
+ {gBattleAnimSpritePalette_272, ANIM_TAG_SWEAT_BEAD},
+ {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_1},
+ {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_2},
+ {gBattleAnimSpritePalette_274, ANIM_TAG_UNUSED_GEM_3},
+ {gBattleAnimSpritePalette_277, ANIM_TAG_SLAM_HIT_2},
+ {gBattleAnimSpritePalette_278, ANIM_TAG_RECYCLE},
+ {gBattleAnimSpritePalette_279, ANIM_TAG_UNUSED_RED_PARTICLES},
+ {gBattleAnimSpritePalette_280, ANIM_TAG_PROTECT},
+ {gBattleAnimSpritePalette_281, ANIM_TAG_DIRT_MOUND},
+ {gBattleAnimSpritePalette_282, ANIM_TAG_SHOCK_3},
+ {gBattleAnimSpritePalette_283, ANIM_TAG_WEATHER_BALL},
+ {gBattleAnimSpritePalette_284, ANIM_TAG_BIRD},
+ {gBattleAnimSpritePalette_285, ANIM_TAG_CROSS_IMPACT},
+ {gBattleAnimSpritePalette_286, ANIM_TAG_SLASH_2},
+ {gBattleAnimSpritePalette_287, ANIM_TAG_WHIP_HIT},
+ {gBattleAnimSpritePalette_288, ANIM_TAG_BLUE_RING_2},
+};
+
+const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
+{
+ {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00},
+ {gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00},
+ {gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02},
+ {gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03},
+ {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04},
+ {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05},
+ {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06},
+ {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07},
+ {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08},
+ {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09},
+ {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10},
+ {gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11},
+ {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12},
+ {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13},
+ {gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14},
+ {gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15},
+ {gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16},
+ {gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17},
+ {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07},
+ {gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08},
+ {gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20},
+ {gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21},
+ {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09},
+ {gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10},
+ {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04},
+ {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05},
+ {gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06},
+};
+
static void (* const sScriptCmdTable[])(void) =
{
ScriptCmd_loadspritegfx,
@@ -234,7 +1494,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
else
{
for (i = 0; i < 4; i++)
- gAnimBattlerSpecies[i] = gContestResources->field_18->unk0;
+ gAnimBattlerSpecies[i] = gContestResources->field_18->species;
}
if (!isMoveAnim)
@@ -691,7 +1951,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
battlerSpriteId = gBattlerSpriteIds[battlerId];
gBattle_BG1_X = -(gSprites[battlerSpriteId].pos1.x + gSprites[battlerSpriteId].pos2.x) + 0x20;
- if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->unk0))
+ if (IsContest() && IsSpeciesNotUnown(gContestResources->field_18->species))
gBattle_BG1_X--;
gBattle_BG1_Y = -(gSprites[battlerSpriteId].pos1.y + gSprites[battlerSpriteId].pos2.y) + 0x20;
@@ -749,7 +2009,7 @@ static void sub_80A46A0(void)
struct UnknownAnimStruct2 unknownStruct;
u16 *ptr;
- if (IsSpeciesNotUnown(gContestResources->field_18->unk0))
+ if (IsSpeciesNotUnown(gContestResources->field_18->species))
{
sub_80A6B30(&unknownStruct);
ptr = unknownStruct.unk4;
@@ -1183,7 +2443,7 @@ static void LoadMoveBg(u16 bgId)
{
if (IsContest())
{
- const void *tilemap = gBattleAnimBackgroundTable[bgId].tilemap;
+ const u32 *tilemap = gBattleAnimBackgroundTable[bgId].tilemap;
void *dmaSrc;
void *dmaDest;
@@ -1262,39 +2522,39 @@ s8 BattleAnimAdjustPanning(s8 pan)
if (!IsContest() && gBattleSpritesDataPtr->healthBoxesData[gBattleAnimAttacker].statusAnimActive)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
else
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
}
else if (IsContest())
{
- if (gBattleAnimAttacker != gBattleAnimTarget || gBattleAnimAttacker != 2 || pan != PAN_SIDE_OPPONENT)
+ if (gBattleAnimAttacker != gBattleAnimTarget || gBattleAnimAttacker != 2 || pan != SOUND_PAN_TARGET)
pan *= -1;
}
else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{
- if (pan == PAN_SIDE_OPPONENT)
- pan = PAN_SIDE_PLAYER;
- else if (pan != PAN_SIDE_PLAYER)
+ if (pan == SOUND_PAN_TARGET)
+ pan = SOUND_PAN_ATTACKER;
+ else if (pan != SOUND_PAN_ATTACKER)
pan *= -1;
}
}
else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
{
- if (pan == PAN_SIDE_PLAYER)
- pan = PAN_SIDE_OPPONENT;
+ if (pan == SOUND_PAN_ATTACKER)
+ pan = SOUND_PAN_TARGET;
}
else
{
pan *= -1;
}
- if (pan > PAN_SIDE_OPPONENT)
- pan = PAN_SIDE_OPPONENT;
- else if (pan < PAN_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ if (pan > SOUND_PAN_TARGET)
+ pan = SOUND_PAN_TARGET;
+ else if (pan < SOUND_PAN_ATTACKER)
+ pan = SOUND_PAN_ATTACKER;
return pan;
}
@@ -1304,9 +2564,9 @@ s8 BattleAnimAdjustPanning2(s8 pan)
if (!IsContest() && gBattleSpritesDataPtr->healthBoxesData[gBattleAnimAttacker].statusAnimActive)
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
else
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
}
else
{
@@ -1320,10 +2580,10 @@ s16 KeepPanInRange(s16 panArg)
{
s16 pan = panArg;
- if (pan > PAN_SIDE_OPPONENT)
- pan = PAN_SIDE_OPPONENT;
- else if (pan < PAN_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ if (pan > SOUND_PAN_TARGET)
+ pan = SOUND_PAN_TARGET;
+ else if (pan < SOUND_PAN_ATTACKER)
+ pan = SOUND_PAN_ATTACKER;
return pan;
}
diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c
index ebe1718b7..2ac6cca90 100644
--- a/src/battle_anim_80A5C6C.c
+++ b/src/battle_anim_80A5C6C.c
@@ -1,21 +1,21 @@
#include "global.h"
-#include "constants/battle_anim.h"
-#include "constants/species.h"
#include "battle.h"
#include "battle_anim.h"
+#include "bg.h"
#include "contest.h"
#include "data2.h"
#include "decompress.h"
+#include "dma3.h"
+#include "gpu_regs.h"
+#include "malloc.h"
#include "palette.h"
#include "pokemon_icon.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
#include "util.h"
-#include "gpu_regs.h"
-#include "bg.h"
-#include "malloc.h"
-#include "dma3.h"
+#include "constants/battle_anim.h"
+#include "constants/species.h"
#define GET_UNOWN_LETTER(personality) (( \
(((personality & 0x03000000) >> 24) << 6) \
@@ -36,9 +36,7 @@ extern const union AffineAnimCmd *gUnknown_082FF6C0[];
// This file's functions.
void sub_80A64EC(struct Sprite *sprite);
void sub_80A653C(struct Sprite *sprite);
-void InitAnimLinearTranslation(struct Sprite *sprite);
void sub_80A6FB4(struct Sprite *sprite);
-void sub_80A6F98(struct Sprite *sprite);
void sub_80A7144(struct Sprite *sprite);
void sub_80A791C(struct Sprite *sprite);
void sub_80A8DFC(struct Sprite *sprite);
@@ -50,8 +48,6 @@ void sub_80A7AFC(u8 taskId);
void sub_80A8CAC(u8 taskId);
void AnimTask_BlendMonInAndOutStep(u8 taskId);
bool8 sub_80A7238(void);
-void sub_80A8048(s16 *bottom, s16 *top, const void *ptr);
-void *sub_80A8050(s16 bottom, s16 top);
u8 sub_80A82E4(u8 battlerId);
void sub_80A8D78(struct Task *task, u8 taskId);
@@ -159,7 +155,7 @@ u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId)
if (shared19348.unk4_0)
species = shared19348.unk2;
else
- species = shared19348.unk0;
+ species = shared19348.species;
}
else
{
@@ -324,7 +320,7 @@ u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId)
if (shared19348.unk4_0)
species = shared19348.unk2;
else
- species = shared19348.unk0;
+ species = shared19348.species;
}
else
{
@@ -532,7 +528,7 @@ void sub_80A6450(struct Sprite *sprite)
// Simply waits until the sprite's data[0] hits zero.
// This is used to let sprite anims or affine anims to run for a designated
// duration.
-void sub_80A64B0(struct Sprite *sprite)
+void WaitAnimForDuration(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
sprite->data[0]--;
@@ -745,7 +741,7 @@ void sub_80A6864(struct Sprite *sprite, s16 a2)
}
}
-void sub_80A68D4(struct Sprite *sprite)
+void InitAnimArcTranslation(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -791,7 +787,7 @@ void sub_80A6980(struct Sprite *sprite, bool8 a2)
sprite->pos1.y += gBattleAnimArgs[1];
}
-void sub_80A69CC(struct Sprite *sprite, u8 a2)
+void InitAnimSpritePos(struct Sprite *sprite, u8 a2)
{
if (!a2)
{
@@ -940,18 +936,18 @@ void sub_80A6BFC(struct UnknownAnimStruct2 *unk)
}
}
-void sub_80A6C68(u32 arg0)
+void sub_80A6C68(u32 bgId)
{
struct UnknownAnimStruct2 unkStruct;
- sub_80A6B90(&unkStruct, arg0);
+ sub_80A6B90(&unkStruct, bgId);
CpuFill32(0, unkStruct.bgTiles, 0x2000);
LoadBgTiles(unkStruct.bgId, unkStruct.bgTiles, 0x2000, unkStruct.tilesOffset);
FillBgTilemapBufferRect(unkStruct.bgId, 0, 0, 0, 0x20, 0x40, 0x11);
CopyBgTilemapBufferToVram(unkStruct.bgId);
}
-void sub_80A6CC0(u32 bgId, void *src, u32 tilesOffset)
+void sub_80A6CC0(u32 bgId, const void *src, u32 tilesOffset)
{
CpuFill32(0, gUnknown_0202305C, 0x2000);
LZDecompressWram(src, gUnknown_0202305C);
@@ -1004,12 +1000,12 @@ void sub_80A6DEC(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sub_80A6E14(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->callback = sub_80A65A8;
sprite->callback(sprite);
}
-void sub_80A6E14(struct Sprite *sprite)
+void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
{
s16 x = (sprite->data[2] - sprite->data[1]) << 8;
s16 y = (sprite->data[4] - sprite->data[3]) << 8;
@@ -1047,7 +1043,7 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
sprite->data[3] = 0;
}
-void sub_80A6EEC(struct Sprite *sprite)
+void StartAnimLinearTranslation(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -1476,7 +1472,7 @@ void sub_80A77C8(struct Sprite *sprite)
else
var = FALSE;
if (!gBattleAnimArgs[2])
- sub_80A69CC(sprite, var);
+ InitAnimSpritePos(sprite, var);
else
sub_80A6980(sprite, var);
sprite->data[0]++;
@@ -1511,27 +1507,27 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
else
attributeId = BATTLER_COORD_Y;
- sub_80A69CC(sprite, v1);
+ InitAnimSpritePos(sprite, v1);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, attributeId) + gBattleAnimArgs[3];
- sprite->callback = sub_80A6EEC;
+ sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
void sub_80A78AC(struct Sprite *sprite)
{
- sub_80A69CC(sprite, 1);
+ InitAnimSpritePos(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
- sub_80A68D4(sprite);
+ InitAnimArcTranslation(sprite);
sprite->callback = sub_80A791C;
}
@@ -1558,7 +1554,7 @@ void sub_80A7938(struct Sprite *sprite)
}
if (!gBattleAnimArgs[5])
{
- sub_80A69CC(sprite, r4);
+ InitAnimSpritePos(sprite, r4);
battlerId = gBattleAnimAttacker;
}
else
@@ -1572,7 +1568,7 @@ void sub_80A7938(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3];
- sprite->callback = sub_80A6EEC;
+ sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -1854,7 +1850,7 @@ u16 sub_80A7F18(u8 spriteId)
{
if (IsContest())
{
- species = shared19348.unk0;
+ species = shared19348.species;
return gMonBackPicCoords[species].y_offset;
}
else
@@ -2112,7 +2108,7 @@ s16 sub_80A861C(u8 battlerId, u8 a2)
}
else
{
- species = shared19348.unk0;
+ species = shared19348.species;
personality = shared19348.unk8;
}
if (species == SPECIES_UNOWN)
@@ -2454,6 +2450,6 @@ void sub_80A8EE4(struct Sprite *sprite)
sprite->pos1.x += x;
sprite->pos1.y = gBattleAnimArgs[5] - 80;
}
- sprite->callback = sub_80A6EEC;
+ sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c
index 9b9218b1c..f1245a032 100644
--- a/src/battle_anim_80A9C70.c
+++ b/src/battle_anim_80A9C70.c
@@ -1,15 +1,15 @@
#include "global.h"
#include "battle.h"
#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "constants/rgb.h"
-#include "util.h"
#include "decompress.h"
+#include "gpu_regs.h"
#include "palette.h"
#include "sprite.h"
#include "task.h"
#include "trig.h"
-#include "gpu_regs.h"
+#include "util.h"
+#include "constants/battle_anim.h"
+#include "constants/rgb.h"
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
@@ -17,8 +17,6 @@ extern const u8 *const gBattleAnims_StatusConditions[];
extern const struct OamData gUnknown_08524904;
extern const struct OamData gUnknown_08524A3C;
-extern void sub_8116EB4(u8 taskId);
-
// This file's functions.
static void sub_80A9DB4(u8 taskId);
static void sub_80A9FD0(u8 taskId);
@@ -56,8 +54,8 @@ static const struct SpriteTemplate gUnknown_0853EF48 =
static const struct SpriteTemplate gUnknown_0853EF60 =
{
- .tileTag = ANIM_TAG_136,
- .paletteTag = ANIM_TAG_136,
+ .tileTag = ANIM_TAG_CIRCLE_IMPACT,
+ .paletteTag = ANIM_TAG_CIRCLE_IMPACT,
.oam = &gUnknown_08524904,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -73,8 +71,8 @@ u8 sub_80A9C70(u8 battlerId, bool8 b)
u8 spriteId2;
u8 i;
- LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_136)]);
+ LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
+ LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
gTasks[taskId].data[0] = battlerId;
if (b)
{
diff --git a/src/battle_anim_80D51AC.c b/src/battle_anim_80D51AC.c
index 1864a1a7a..bfd0635f6 100644
--- a/src/battle_anim_80D51AC.c
+++ b/src/battle_anim_80D51AC.c
@@ -11,15 +11,15 @@ void AnimTask_ShakeMon2Step(u8 taskId);
void AnimTask_ShakeMonInPlaceStep(u8 taskId);
void AnimTask_ShakeAndSinkMonStep(u8 taskId);
void sub_80D57B8(u8 taskId);
-void DoHorizontalLunge(struct Sprite *sprite);
-void ReverseHorizontalLungeDirection(struct Sprite *sprite);
-void DoVerticalDip(struct Sprite *sprite);
-void ReverseVerticalDipDirection(struct Sprite* sprite);
-void SlideMonToOriginalPos(struct Sprite *sprite);
-void SlideMonToOriginalPosStep(struct Sprite *sprite);
-void SlideMonToOffset(struct Sprite *sprite);
-void sub_80D5B48(struct Sprite *sprite);
-void sub_80D5C20(struct Sprite *sprite);
+static void DoHorizontalLunge(struct Sprite *sprite);
+static void ReverseHorizontalLungeDirection(struct Sprite *sprite);
+static void DoVerticalDip(struct Sprite *sprite);
+static void ReverseVerticalDipDirection(struct Sprite* sprite);
+static void SlideMonToOriginalPos(struct Sprite *sprite);
+static void SlideMonToOriginalPosStep(struct Sprite *sprite);
+static void SlideMonToOffset(struct Sprite *sprite);
+static void sub_80D5B48(struct Sprite *sprite);
+static void sub_80D5C20(struct Sprite *sprite);
void AnimTask_WindUpLungePart1(u8 taskId);
void AnimTask_WindUpLungePart2(u8 taskId);
void AnimTask_SwayMonStep(u8 taskId);
@@ -28,6 +28,61 @@ void sub_80D6308(u8 taskId);
void sub_80D646C(u8 taskId);
void sub_80A8B3C(u8 taskId);
+const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = DoHorizontalLunge,
+};
+
+const struct SpriteTemplate gVerticalDipSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = DoVerticalDip,
+};
+
+const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SlideMonToOriginalPos,
+};
+
+const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SlideMonToOffset,
+};
+
+const struct SpriteTemplate gUnknown_0857FE88 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D5B48,
+};
+
// Task to facilitate simple shaking of a pokemon's picture in battle.
// The shaking alternates between the original position and the target position.
// arg 0: anim battler
@@ -373,7 +428,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId)
// horizontally, and then moves back in the opposite direction.
// arg 0: duration of single lunge direction
// arg 1: x pixel delta that is applied each frame
-void DoHorizontalLunge(struct Sprite *sprite)
+static void DoHorizontalLunge(struct Sprite *sprite)
{
sprite->invisible = TRUE;
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -389,7 +444,7 @@ void DoHorizontalLunge(struct Sprite *sprite)
sprite->callback = sub_80A6630;
}
-void ReverseHorizontalLungeDirection(struct Sprite *sprite)
+static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[1] = -sprite->data[1];
@@ -402,7 +457,7 @@ void ReverseHorizontalLungeDirection(struct Sprite *sprite)
// arg 0: duration of single dip direction
// arg 1: y pixel delta that is applied each frame
// arg 2: battler
-void DoVerticalDip(struct Sprite *sprite)
+static void DoVerticalDip(struct Sprite *sprite)
{
u8 spriteId;
sprite->invisible = TRUE;
@@ -416,7 +471,7 @@ void DoVerticalDip(struct Sprite *sprite)
sprite->callback = sub_80A6630;
}
-void ReverseVerticalDipDirection(struct Sprite *sprite)
+static void ReverseVerticalDipDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[2] = -sprite->data[2];
@@ -429,7 +484,7 @@ void ReverseVerticalDipDirection(struct Sprite *sprite)
// arg 0: 1 = target or 0 = attacker
// arg 1: direction (0 = horizontal and vertical, 1 = horizontal only, 2 = vertical only)
// arg 2: duration
-void SlideMonToOriginalPos(struct Sprite *sprite)
+static void SlideMonToOriginalPos(struct Sprite *sprite)
{
u32 monSpriteId;
if (!gBattleAnimArgs[0])
@@ -442,7 +497,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
sprite->data[2] = gSprites[monSpriteId].pos1.x;
sprite->data[3] = gSprites[monSpriteId].pos1.y + gSprites[monSpriteId].pos2.y;
sprite->data[4] = gSprites[monSpriteId].pos1.y;
- sub_80A6E14(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = gSprites[monSpriteId].pos2.x;
@@ -459,7 +514,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
sprite->callback = SlideMonToOriginalPosStep;
}
-void SlideMonToOriginalPosStep(struct Sprite *sprite)
+static void SlideMonToOriginalPosStep(struct Sprite *sprite)
{
s8 monSpriteId;
u8 lo;
@@ -496,7 +551,7 @@ void SlideMonToOriginalPosStep(struct Sprite *sprite)
// arg 2: target y pixel offset
// arg 3: mirror vertical translation for opposite battle side
// arg 4: duration
-void SlideMonToOffset(struct Sprite *sprite)
+static void SlideMonToOffset(struct Sprite *sprite)
{
u8 battler;
u8 monSpriteId;
@@ -520,7 +575,7 @@ void SlideMonToOffset(struct Sprite *sprite)
sprite->data[2] = gSprites[monSpriteId].pos1.x + gBattleAnimArgs[1];
sprite->data[3] = gSprites[monSpriteId].pos1.y;
sprite->data[4] = gSprites[monSpriteId].pos1.y + gBattleAnimArgs[2];
- sub_80A6E14(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = 0;
sprite->data[4] = 0;
sprite->data[5] = monSpriteId;
@@ -529,7 +584,7 @@ void SlideMonToOffset(struct Sprite *sprite)
sprite->callback = sub_80A6680;
}
-void sub_80D5B48(struct Sprite *sprite)
+static void sub_80D5B48(struct Sprite *sprite)
{
u8 spriteId;
u8 battlerId;
@@ -556,7 +611,7 @@ void sub_80D5B48(struct Sprite *sprite)
sprite->data[2] = sprite->data[1] + gBattleAnimArgs[1];
sprite->data[3] = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y;
sprite->data[4] = sprite->data[3] + gBattleAnimArgs[2];
- sub_80A6E14(sprite);
+ InitSpriteDataForLinearTranslation(sprite);
sprite->data[3] = gSprites[spriteId].pos2.x << 8;
sprite->data[4] = gSprites[spriteId].pos2.y << 8;
sprite->data[5] = spriteId;
@@ -573,7 +628,7 @@ void sub_80D5B48(struct Sprite *sprite)
}
-void sub_80D5C20(struct Sprite *sprite)
+static void sub_80D5C20(struct Sprite *sprite)
{
gSprites[sprite->data[5]].pos2.x = 0;
gSprites[sprite->data[5]].pos2.y = 0;
diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c
index 6993bd2ee..07fb604b8 100644
--- a/src/battle_anim_sound_tasks.c
+++ b/src/battle_anim_sound_tasks.c
@@ -1,11 +1,11 @@
#include "global.h"
#include "battle.h"
-#include "constants/battle_anim.h"
-#include "constants/species.h"
#include "battle_anim.h"
-#include "task.h"
-#include "sound.h"
#include "contest.h"
+#include "sound.h"
+#include "task.h"
+#include "constants/battle_anim.h"
+#include "constants/species.h"
// this file's functions
static void sub_8158B98(u8 taskId);
@@ -23,8 +23,8 @@ void sub_8158B30(u8 taskId)
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1];
- pan1 = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
- pan2 = BattleAnimAdjustPanning(PAN_SIDE_OPPONENT);
+ pan1 = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
+ pan2 = BattleAnimAdjustPanning(SOUND_PAN_TARGET);
panIncrement = CalculatePanIncrement(pan1, pan2, 2);
gTasks[taskId].data[2] = pan1;
@@ -64,7 +64,7 @@ static void sub_8158C04(u8 taskId)
s8 pan;
gTasks[taskId].data[10] = 0;
- pan = BattleAnimAdjustPanning(PAN_SIDE_OPPONENT);
+ pan = BattleAnimAdjustPanning(SOUND_PAN_TARGET);
PlaySE12WithPanning(gTasks[taskId].data[1], pan);
if (++gTasks[taskId].data[11] == 2)
DestroyAnimSoundTask(taskId);
@@ -127,11 +127,11 @@ static void sub_8158D08(u8 taskId)
void sub_8158D8C(u8 taskId)
{
u16 species = 0;
- s8 pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
+ s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
- species = gContestResources->field_18->unk0;
+ species = gContestResources->field_18->species;
else
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
}
@@ -173,11 +173,11 @@ void sub_8158D8C(u8 taskId)
void sub_8158E9C(u8 taskId)
{
u16 species = 0;
- s8 pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
+ s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
- species = gContestResources->field_18->unk0;
+ species = gContestResources->field_18->species;
else
DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task.
}
@@ -278,10 +278,10 @@ void sub_81590B8(u8 taskId)
s8 pan;
gTasks[taskId].data[10] = gBattleAnimArgs[0];
- pan = BattleAnimAdjustPanning(PAN_SIDE_PLAYER);
+ pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER);
if (IsContest())
- species = gContestResources->field_18->unk0;
+ species = gContestResources->field_18->species;
else
species = gAnimBattlerSpecies[gBattleAnimAttacker];
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
new file mode 100644
index 000000000..6dfebe77f
--- /dev/null
+++ b/src/battle_anim_utility_funcs.c
@@ -0,0 +1,1060 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "contest.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "malloc.h"
+#include "palette.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "util.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+
+struct AnimStatsChangeData
+{
+ u8 battler1;
+ u8 battler2;
+ u8 higherPriority;
+ s16 data[8];
+ u16 species;
+};
+
+static EWRAM_DATA struct AnimStatsChangeData *sAnimStatsChangeData = {0};
+
+static void StartBlendAnimSpriteColor(u8, u32);
+static void AnimTask_BlendSpriteColor_Step2(u8);
+static void sub_81169A0(u8);
+static void sub_81169F8(u8);
+static void sub_8116AD0(struct Sprite*);
+static void sub_8116D64(u8);
+static void sub_8116F04(u8);
+static void sub_81170EC(u8);
+static void sub_81172EC(u8);
+static void sub_8117500(u8);
+static void sub_81175C4(u32, u16);
+static void sub_81176D8(u8);
+static void sub_8117A60(u8);
+static void sub_8117FD0(u8);
+
+const u16 gUnknown_08597418 = RGB(31, 31, 31);
+
+// no clue what these are...
+// possibly some register offsets
+const u8 gUnknown_0859741A[] = {0x08, 0x0a, 0x0c, 0x0e};
+const u8 gUnknown_0859741E[] = {0x08, 0x0a, 0x0c, 0x0e};
+
+void sub_8116620(u8 taskId)
+{
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
+ selectedPalettes |= sub_80A76C4((gBattleAnimArgs[0] >> 7) & 1,
+ (gBattleAnimArgs[0] >> 8) & 1,
+ (gBattleAnimArgs[0] >> 9) & 1,
+ (gBattleAnimArgs[0] >> 10) & 1);
+ StartBlendAnimSpriteColor(taskId, selectedPalettes);
+}
+
+void sub_8116664(u8 taskId)
+{
+ u8 battler;
+ u32 selectedPalettes;
+ u8 animBattlers[2];
+
+ animBattlers[1] = 0xFF;
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(1);
+ switch (gBattleAnimArgs[0])
+ {
+ case 2:
+ selectedPalettes = 0;
+ // fall through
+ case 0:
+ animBattlers[0] = gBattleAnimAttacker;
+ break;
+ case 3:
+ selectedPalettes = 0;
+ // fall through
+ case 1:
+ animBattlers[0] = gBattleAnimTarget;
+ break;
+ case 4:
+ animBattlers[0] = gBattleAnimAttacker;
+ animBattlers[1] = gBattleAnimTarget;
+ break;
+ case 5:
+ animBattlers[0] = 0xFF;
+ break;
+ case 6:
+ selectedPalettes = 0;
+ animBattlers[0] = BATTLE_PARTNER(gBattleAnimAttacker);
+ break;
+ case 7:
+ selectedPalettes = 0;
+ animBattlers[0] = BATTLE_PARTNER(gBattleAnimTarget);
+ break;
+ }
+
+ for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++)
+ {
+ if (battler != animBattlers[0] && battler != animBattlers[1] && IsBattlerSpriteVisible(battler))
+ selectedPalettes |= 0x10000 << sub_80A77AC(battler);
+ }
+
+ StartBlendAnimSpriteColor(taskId, selectedPalettes);
+}
+
+void AnimTask_SetCamouflageBlend(u8 taskId)
+{
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
+ switch (gBattleTerrain)
+ {
+ case BATTLE_TERRAIN_GRASS:
+ gBattleAnimArgs[4] = RGB(12, 24, 2);
+ break;
+ case BATTLE_TERRAIN_LONG_GRASS:
+ gBattleAnimArgs[4] = RGB(0, 15, 2);
+ break;
+ case BATTLE_TERRAIN_SAND:
+ gBattleAnimArgs[4] = RGB(30, 24, 11);
+ break;
+ case BATTLE_TERRAIN_UNDERWATER:
+ gBattleAnimArgs[4] = RGB(0, 0, 18);
+ break;
+ case BATTLE_TERRAIN_WATER:
+ gBattleAnimArgs[4] = RGB(11, 22, 31);
+ break;
+ case BATTLE_TERRAIN_POND:
+ gBattleAnimArgs[4] = RGB(11, 22, 31);
+ break;
+ case BATTLE_TERRAIN_MOUNTAIN:
+ gBattleAnimArgs[4] = RGB(22, 16, 10);
+ break;
+ case BATTLE_TERRAIN_CAVE:
+ gBattleAnimArgs[4] = RGB(14, 9, 3);
+ break;
+ case BATTLE_TERRAIN_BUILDING:
+ gBattleAnimArgs[4] = RGB(31, 31, 31);
+ break;
+ case BATTLE_TERRAIN_PLAIN:
+ gBattleAnimArgs[4] = RGB(31, 31, 31);
+ break;
+ }
+
+ StartBlendAnimSpriteColor(taskId, selectedPalettes);
+}
+
+void AnimTask_BlendParticle(u8 taskId)
+{
+ u8 paletteIndex = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
+ u32 selectedPalettes = 1 << (paletteIndex + 16);
+ StartBlendAnimSpriteColor(taskId, selectedPalettes);
+}
+
+void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes)
+{
+ gTasks[taskId].data[0] = selectedPalettes;
+ gTasks[taskId].data[1] = selectedPalettes >> 16;
+ gTasks[taskId].data[2] = gBattleAnimArgs[1];
+ gTasks[taskId].data[3] = gBattleAnimArgs[2];
+ gTasks[taskId].data[4] = gBattleAnimArgs[3];
+ gTasks[taskId].data[5] = gBattleAnimArgs[4];
+ gTasks[taskId].data[10] = gBattleAnimArgs[2];
+ gTasks[taskId].func = AnimTask_BlendSpriteColor_Step2;
+ gTasks[taskId].func(taskId);
+}
+
+static void AnimTask_BlendSpriteColor_Step2(u8 taskId)
+{
+ u32 selectedPalettes;
+ u16 singlePaletteMask = 0;
+
+ if (gTasks[taskId].data[9] == gTasks[taskId].data[2])
+ {
+ gTasks[taskId].data[9] = 0;
+ selectedPalettes = gTasks[taskId].data[0] | (gTasks[taskId].data[1] << 16);
+ while (selectedPalettes != 0)
+ {
+ if (selectedPalettes & 1)
+ BlendPalette(singlePaletteMask, 16, gTasks[taskId].data[10], gTasks[taskId].data[5]);
+ singlePaletteMask += 0x10;
+ selectedPalettes >>= 1;
+ }
+
+ if (gTasks[taskId].data[10] < gTasks[taskId].data[4])
+ gTasks[taskId].data[10]++;
+ else if (gTasks[taskId].data[10] > gTasks[taskId].data[4])
+ gTasks[taskId].data[10]--;
+ else
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ gTasks[taskId].data[9]++;
+ }
+}
+
+void sub_8116960(u8 taskId)
+{
+ BeginHardwarePaletteFade(
+ gBattleAnimArgs[0],
+ gBattleAnimArgs[1],
+ gBattleAnimArgs[2],
+ gBattleAnimArgs[3],
+ gBattleAnimArgs[4]);
+
+ gTasks[taskId].func = sub_81169A0;
+}
+
+static void sub_81169A0(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81169C0(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[0] = gBattleAnimArgs[0];
+ task->data[1] = 0;
+ task->data[2] = gBattleAnimArgs[1];
+ task->data[3] = gBattleAnimArgs[2];
+ task->data[4] = gBattleAnimArgs[3];
+ task->data[5] = 0;
+ task->func = sub_81169F8;
+}
+
+static void sub_81169F8(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (task->data[4])
+ {
+ if (task->data[1])
+ {
+ task->data[1]--;
+ }
+ else
+ {
+ task->data[6] = duplicate_obj_of_side_rel2move_in_transparent_mode(task->data[0]);
+ if (task->data[6] >= 0)
+ {
+ gSprites[task->data[6]].oam.priority = task->data[0] ? 1 : 2;
+ gSprites[task->data[6]].data[0] = task->data[3];
+ gSprites[task->data[6]].data[1] = taskId;
+ gSprites[task->data[6]].data[2] = 5;
+ gSprites[task->data[6]].callback = sub_8116AD0;
+ task->data[5]++;
+ }
+
+ task->data[4]--;
+ task->data[1] = task->data[2];
+ }
+ }
+ else if (task->data[5] == 0)
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+static void sub_8116AD0(struct Sprite *sprite)
+{
+ if (sprite->data[0])
+ {
+ sprite->data[0]--;
+ }
+ else
+ {
+ gTasks[sprite->data[1]].data[sprite->data[2]]--;
+ obj_delete_but_dont_free_vram(sprite);
+ }
+}
+
+void sub_8116B14(u8 taskId)
+{
+ u16 species;
+ int spriteId, newSpriteId;
+ u16 var0;
+ u16 bg1Cnt;
+ struct UnknownAnimStruct2 unknownStruct;
+
+ var0 = 0;
+ 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_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR
+ | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 12));
+ bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
+ ((struct BgCnt *)&bg1Cnt)->priority = 0;
+ ((struct BgCnt *)&bg1Cnt)->screenSize = 0;
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+
+ if (!IsContest())
+ {
+ ((struct BgCnt *)&bg1Cnt)->charBaseBlock = 1;
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+ }
+
+ 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 -= 1;
+ ((struct BgCnt *)&bg1Cnt)->priority = 1;
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+ 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(0);
+ newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
+ sub_80A6B30(&unknownStruct);
+ sub_80A6D60(&unknownStruct, gUnknown_08C20684, 0);
+ sub_80A6CC0(unknownStruct.bgId, gUnknown_08C20668, unknownStruct.tilesOffset);
+ LoadPalette(&gUnknown_08597418, unknownStruct.unk8 * 16 + 1, 2);
+
+ gBattle_BG1_X = -gSprites[spriteId].pos1.x + 32;
+ gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
+ gTasks[taskId].data[0] = newSpriteId;
+ gTasks[taskId].data[6] = var0;
+ gTasks[taskId].func = sub_8116D64;
+}
+
+static void sub_8116D64(u8 taskId)
+{
+ struct UnknownAnimStruct2 unknownStruct;
+ struct Sprite *sprite;
+ u16 bg1Cnt;
+
+ gTasks[taskId].data[10] += 4;
+ gBattle_BG1_Y -= 4;
+ if (gTasks[taskId].data[10] == 64)
+ {
+ gTasks[taskId].data[10] = 0;
+ gBattle_BG1_Y += 64;
+ if (++gTasks[taskId].data[11] == 4)
+ {
+ sub_80A477C(0);
+ 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_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR
+ | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ if (!IsContest())
+ {
+ bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
+ ((struct BgCnt *)&bg1Cnt)->charBaseBlock = 0;
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+ }
+
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ sprite = &gSprites[GetAnimBattlerSpriteId(0)]; // unused
+ sprite = &gSprites[gTasks[taskId].data[0]];
+ DestroySprite(sprite);
+
+ sub_80A6B30(&unknownStruct);
+ sub_80A6C68(unknownStruct.bgId);
+ if (gTasks[taskId].data[6] == 1)
+ gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
+
+ gBattle_BG1_Y = 0;
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8116EB4(u8 taskId)
+{
+ u8 i;
+
+ sAnimStatsChangeData = AllocZeroed(sizeof(struct AnimStatsChangeData));
+ for (i = 0; i < 8; i++)
+ sAnimStatsChangeData->data[i] = gBattleAnimArgs[i];
+
+ gTasks[taskId].func = sub_8116F04;
+}
+
+static void sub_8116F04(u8 taskId)
+{
+ if (sAnimStatsChangeData->data[2] == 0)
+ sAnimStatsChangeData->battler1 = gBattleAnimAttacker;
+ else
+ sAnimStatsChangeData->battler1 = gBattleAnimTarget;
+
+ sAnimStatsChangeData->battler2 = BATTLE_PARTNER(sAnimStatsChangeData->battler1);
+ if (IsContest() || (sAnimStatsChangeData->data[3] && !IsBattlerSpriteVisible(sAnimStatsChangeData->battler2)))
+ sAnimStatsChangeData->data[3] = 0;
+
+ 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_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR
+ | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ 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() && sAnimStatsChangeData->data[3] == 0)
+ {
+ if (GetBattlerPosition(sAnimStatsChangeData->battler1) == B_POSITION_OPPONENT_RIGHT
+ || GetBattlerPosition(sAnimStatsChangeData->battler1) == B_POSITION_PLAYER_LEFT)
+ {
+ if (IsBattlerSpriteVisible(sAnimStatsChangeData->battler2) == TRUE)
+ {
+ gSprites[gBattlerSpriteIds[sAnimStatsChangeData->battler2]].oam.priority -= 1;
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ sAnimStatsChangeData->higherPriority = 1;
+ }
+ }
+ }
+
+ if (IsContest())
+ {
+ sAnimStatsChangeData->species = gContestResources->field_18->species;
+ }
+ else
+ {
+ if (GetBattlerSide(sAnimStatsChangeData->battler1) != B_SIDE_PLAYER)
+ sAnimStatsChangeData->species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[sAnimStatsChangeData->battler1]], MON_DATA_SPECIES);
+ else
+ sAnimStatsChangeData->species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[sAnimStatsChangeData->battler1]], MON_DATA_SPECIES);
+ }
+
+ gTasks[taskId].func = sub_81170EC;
+}
+
+static void sub_81170EC(u8 taskId)
+{
+ struct UnknownAnimStruct2 unknownStruct;
+ u8 spriteId, spriteId2;
+ u8 battlerSpriteId;
+
+ spriteId2 = 0;
+ battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler1];
+ spriteId = sub_80A89C8(sAnimStatsChangeData->battler1, battlerSpriteId, sAnimStatsChangeData->species);
+ if (sAnimStatsChangeData->data[3])
+ {
+ battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
+ spriteId2 = sub_80A89C8(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
+ }
+
+ sub_80A6B30(&unknownStruct);
+ if (sAnimStatsChangeData->data[0] == 0)
+ sub_80A6D60(&unknownStruct, gBattleStatMask1_Tilemap, 0);
+ else
+ sub_80A6D60(&unknownStruct, gBattleStatMask2_Tilemap, 0);
+
+ sub_80A6CC0(unknownStruct.bgId, gBattleStatMask_Gfx, unknownStruct.tilesOffset);
+ switch (sAnimStatsChangeData->data[1])
+ {
+ case 0:
+ LoadCompressedPalette(gBattleStatMask2_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ case 1:
+ LoadCompressedPalette(gBattleStatMask1_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ case 2:
+ LoadCompressedPalette(gBattleStatMask3_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ case 3:
+ LoadCompressedPalette(gBattleStatMask4_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ case 4:
+ LoadCompressedPalette(gBattleStatMask6_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ case 5:
+ LoadCompressedPalette(gBattleStatMask7_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ case 6:
+ LoadCompressedPalette(gBattleStatMask8_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ default:
+ LoadCompressedPalette(gBattleStatMask5_Pal, unknownStruct.unk8 << 4, 32);
+ break;
+ }
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+
+ if (sAnimStatsChangeData->data[0] == 1)
+ {
+ gBattle_BG1_X = 64;
+ gTasks[taskId].data[1] = -3;
+ }
+ else
+ {
+ gTasks[taskId].data[1] = 3;
+ }
+
+ if (sAnimStatsChangeData->data[4] == 0)
+ {
+ gTasks[taskId].data[4] = 10;
+ gTasks[taskId].data[5] = 20;
+ }
+ else
+ {
+ gTasks[taskId].data[4] = 13;
+ gTasks[taskId].data[5] = 30;
+ }
+
+ gTasks[taskId].data[0] = spriteId;
+ gTasks[taskId].data[2] = sAnimStatsChangeData->data[3];
+ gTasks[taskId].data[3] = spriteId2;
+ gTasks[taskId].data[6] = sAnimStatsChangeData->higherPriority;
+ gTasks[taskId].data[7] = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
+ gTasks[taskId].func = sub_81172EC;
+
+ if (sAnimStatsChangeData->data[0] == 0)
+ PlaySE12WithPanning(SE_W287, BattleAnimAdjustPanning2(-64));
+ else
+ PlaySE12WithPanning(SE_W287B, BattleAnimAdjustPanning2(-64));
+}
+
+static void sub_81172EC(u8 taskId)
+{
+ gBattle_BG1_Y += gTasks[taskId].data[1];
+
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ if (gTasks[taskId].data[11]++ > 0)
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == gTasks[taskId].data[4])
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[10] == gTasks[taskId].data[5])
+ gTasks[taskId].data[15]++;
+ break;
+ case 2:
+ if (gTasks[taskId].data[11]++ > 0)
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]--;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == 0)
+ {
+ sub_80A477C(0);
+ gTasks[taskId].data[15]++;;
+ }
+ }
+ break;
+ case 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_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR
+ | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_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);
+ DestroySprite(&gSprites[gTasks[taskId].data[0]]);
+ if (gTasks[taskId].data[2])
+ DestroySprite(&gSprites[gTasks[taskId].data[3]]);
+
+ if (gTasks[taskId].data[6] == 1)
+ gSprites[gTasks[taskId].data[7]].oam.priority++;
+
+ Free(sAnimStatsChangeData);
+ sAnimStatsChangeData = NULL;
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8117494(u8 taskId)
+{
+ u32 selectedPalettes = sub_80A76C4(1, 1, 1, 1);
+ sub_81175C4(selectedPalettes, 0);
+ gTasks[taskId].data[14] = selectedPalettes >> 16;
+
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
+ sub_81175C4(selectedPalettes, 0xFFFF);
+ gTasks[taskId].data[15] = selectedPalettes;
+
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].func = sub_8117500;
+}
+
+static void sub_8117500(u8 taskId)
+{
+ u16 i;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[1] > 6)
+ {
+ task->data[1] = 0;
+ task->data[2] = 16;
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+ task->data[2]--;
+
+ for (i = 0; i < 16; i++)
+ {
+ if ((task->data[15] >> i) & 1)
+ {
+ u16 paletteOffset = i * 16;
+ BlendPalette(paletteOffset, 16, task->data[2], 0xFFFF);
+ }
+
+ if ((task->data[14] >> i) & 1)
+ {
+ u16 paletteOffset = i * 16 + 0x100;
+ BlendPalette(paletteOffset, 16, task->data[2], 0);
+ }
+ }
+
+ if (task->data[2] == 0)
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_81175C4(u32 selectedPalettes, u16 color)
+{
+ u16 i;
+
+ for (i = 0; i < 32; i++)
+ {
+ if (selectedPalettes & 1)
+ {
+ u16 curOffset = i * 16;
+ u16 paletteOffset = curOffset;
+ while (curOffset < paletteOffset + 16)
+ {
+ gPlttBufferFaded[curOffset] = color;
+ curOffset++;
+ }
+ }
+
+ selectedPalettes >>= 1;
+ }
+}
+
+void sub_8117610(u8 taskId)
+{
+ u32 battler;
+ int j;
+ u32 selectedPalettes = 0;
+
+ for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++)
+ {
+ if (gBattleAnimAttacker != battler)
+ selectedPalettes |= 1 << (battler + 16);
+ }
+
+ for (j = 5; j != 0; j--)
+ gBattleAnimArgs[j] = gBattleAnimArgs[j - 1];
+
+ StartBlendAnimSpriteColor(taskId, selectedPalettes);
+}
+
+void sub_8117660(u8 taskId)
+{
+ u8 newTaskId;
+
+ sub_80A6DAC(0);
+ newTaskId = CreateTask(sub_81176D8, 5);
+ if (gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ }
+
+ gTasks[newTaskId].data[1] = gBattleAnimArgs[0];
+ gTasks[newTaskId].data[2] = gBattleAnimArgs[1];
+ gTasks[newTaskId].data[3] = gBattleAnimArgs[3];
+ gTasks[newTaskId].data[0]++;
+ DestroyAnimVisualTask(taskId);
+}
+
+static void sub_81176D8(u8 taskId)
+{
+ gTasks[taskId].data[10] += gTasks[taskId].data[1];
+ gTasks[taskId].data[11] += gTasks[taskId].data[2];
+ gBattle_BG3_X += gTasks[taskId].data[10] >> 8;
+ gBattle_BG3_Y += gTasks[taskId].data[11] >> 8;
+ gTasks[taskId].data[10] &= 0xFF;
+ gTasks[taskId].data[11] &= 0xFF;
+
+ if (gBattleAnimArgs[7] == gTasks[taskId].data[3])
+ {
+ gBattle_BG3_X = 0;
+ gBattle_BG3_Y = 0;
+ sub_80A6DAC(1);
+ DestroyTask(taskId);
+ }
+}
+
+void AnimTask_GetAttackerSide(u8 taskId)
+{
+ gBattleAnimArgs[7] = GetBattlerSide(gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_GetTargetSide(u8 taskId)
+{
+ gBattleAnimArgs[7] = GetBattlerSide(gBattleAnimTarget);
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_GetTargetIsAttackerPartner(u8 taskId)
+{
+ gBattleAnimArgs[7] = BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81177E4(u8 taskId)
+{
+ u16 battler;
+
+ for (battler = 0; battler < MAX_BATTLERS_COUNT; battler++)
+ {
+ if (battler != gBattleAnimAttacker && IsBattlerSpriteVisible(battler))
+ gSprites[gBattlerSpriteIds[battler]].invisible = gBattleAnimArgs[0];
+ }
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette)
+{
+ u16 species;
+ u8 spriteId, spriteId2;
+ u16 bg1Cnt;
+ struct UnknownAnimStruct2 unknownStruct;
+ u8 battler2;
+
+ spriteId2 = 0;
+ battler2 = BATTLE_PARTNER(battler1);
+
+ if (IsContest() || (arg4 && !IsBattlerSpriteVisible(battler2)))
+ arg4 = 0;
+
+ 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_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR
+ | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
+ ((vBgCnt *)&bg1Cnt)->priority = 0;
+ ((vBgCnt *)&bg1Cnt)->screenSize = 0;
+ ((vBgCnt *)&bg1Cnt)->areaOverflowMode = 1;
+ if (!IsContest())
+ {
+ ((vBgCnt *)&bg1Cnt)->charBaseBlock = 1;
+ }
+
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+
+ if (IsContest())
+ {
+ species = gContestResources->field_18->species;
+ }
+ else
+ {
+ if (GetBattlerSide(battler1) != B_SIDE_PLAYER)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
+ else
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
+ }
+
+ spriteId = sub_80A89C8(battler1, gBattlerSpriteIds[battler1], species);
+ if (arg4)
+ spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species);
+
+ sub_80A6B30(&unknownStruct);
+ sub_80A6D60(&unknownStruct, arg9, 0);
+ sub_80A6CC0(unknownStruct.bgId, arg8, unknownStruct.tilesOffset);
+ LoadCompressedPalette(palette, unknownStruct.unk8 << 4, 32);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ gTasks[taskId].data[1] = arg2;
+ gTasks[taskId].data[4] = arg5;
+ gTasks[taskId].data[5] = arg7;
+ gTasks[taskId].data[6] = arg6;
+ gTasks[taskId].data[0] = spriteId;
+ gTasks[taskId].data[2] = arg4;
+ gTasks[taskId].data[3] = spriteId2;
+ gTasks[taskId].func = sub_8117A60;
+}
+
+static void sub_8117A60(u8 taskId)
+{
+ gTasks[taskId].data[13] += gTasks[taskId].data[1] < 0 ? -gTasks[taskId].data[1] : gTasks[taskId].data[1];
+ if (gTasks[taskId].data[1] < 0)
+ gBattle_BG1_Y -= gTasks[taskId].data[13] >> 8;
+ else
+ gBattle_BG1_Y += gTasks[taskId].data[13] >> 8;
+
+ gTasks[taskId].data[13] &= 0xFF;
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ if (gTasks[taskId].data[11]++ >= gTasks[taskId].data[6])
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == gTasks[taskId].data[4])
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[10] == gTasks[taskId].data[5])
+ gTasks[taskId].data[15]++;
+ break;
+ case 2:
+ if (gTasks[taskId].data[11]++ >= gTasks[taskId].data[6])
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]--;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == 0)
+ {
+ sub_80A477C(0);
+ 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_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR
+ | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ if (!IsContest())
+ {
+ u16 bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
+ ((vBgCnt *)&bg1Cnt)->charBaseBlock = 0;
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+ }
+
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroySprite(&gSprites[gTasks[taskId].data[0]]);
+ if (gTasks[taskId].data[2])
+ DestroySprite(&gSprites[gTasks[taskId].data[3]]);
+
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ break;
+ }
+}
+
+void AnimTask_GetBattleTerrain(u8 taskId)
+{
+ gBattleAnimArgs[0] = gBattleTerrain;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117C44(u8 taskId)
+{
+ gMonSpritesGfxPtr->field_17C = AllocZeroed(0x2000);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117C70(u8 taskId)
+{
+ Free(gMonSpritesGfxPtr->field_17C);
+ gMonSpritesGfxPtr->field_17C = NULL;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117CA0(u8 taskId)
+{
+ u32 selectedPalettes;
+ int paletteIndex = 0;
+
+ if (gBattleAnimArgs[0] == 0)
+ {
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ while ((selectedPalettes & 1) == 0)
+ {
+ selectedPalettes >>= 1;
+ paletteIndex++;
+ }
+ }
+ else if (gBattleAnimArgs[0] == 1)
+ {
+ paletteIndex = gBattleAnimAttacker + 16;
+ }
+ else if (gBattleAnimArgs[0] == 2)
+ {
+ paletteIndex = gBattleAnimTarget + 16;
+ }
+
+ memcpy(&gMonSpritesGfxPtr->field_17C[gBattleAnimArgs[1] * 16], &gPlttBufferUnfaded[paletteIndex * 16], 32);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117D3C(u8 taskId)
+{
+ u32 selectedPalettes;
+ int paletteIndex = 0;
+
+ if (gBattleAnimArgs[0] == 0)
+ {
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ while ((selectedPalettes & 1) == 0)
+ {
+ selectedPalettes >>= 1;
+ paletteIndex++;
+ }
+ }
+ else if (gBattleAnimArgs[0] == 1)
+ {
+ paletteIndex = gBattleAnimAttacker + 16;
+ }
+ else if (gBattleAnimArgs[0] == 2)
+ {
+ paletteIndex = gBattleAnimTarget + 16;
+ }
+
+ memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gMonSpritesGfxPtr->field_17C[gBattleAnimArgs[1] * 16], 32);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117DD8(u8 taskId)
+{
+ u32 selectedPalettes;
+ int paletteIndex = 0;
+
+ if (gBattleAnimArgs[0] == 0)
+ {
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ while ((selectedPalettes & 1) == 0)
+ {
+ selectedPalettes >>= 1;
+ paletteIndex++;
+ }
+ }
+ else if (gBattleAnimArgs[0] == 1)
+ {
+ paletteIndex = gBattleAnimAttacker + 16;
+ }
+ else if (gBattleAnimArgs[0] == 2)
+ {
+ paletteIndex = gBattleAnimTarget + 16;
+ }
+
+ memcpy(&gPlttBufferUnfaded[paletteIndex * 16], &gPlttBufferFaded[paletteIndex * 16], 32);
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_IsContest(u8 taskId)
+{
+ if (IsContest())
+ gBattleAnimArgs[7] = 1;
+ else
+ gBattleAnimArgs[7] = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117E94(u8 taskId)
+{
+ gBattleAnimAttacker = gBattlerTarget;
+ gBattleAnimTarget = gEffectBattler;
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_IsTargetSameSide(u8 taskId)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
+ gBattleAnimArgs[7] = 1;
+ else
+ gBattleAnimArgs[7] = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117F10(u8 taskId)
+{
+ gBattleAnimTarget = gBattlerTarget;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117F30(u8 taskId)
+{
+ gBattleAnimAttacker = gBattlerAttacker;
+ gBattleAnimTarget = gEffectBattler;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8117F60(u8 taskId)
+{
+ if (IsContest())
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible;
+ gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1;
+ gTasks[taskId].func = sub_8117FD0;
+ gAnimVisualTaskCount--;
+ }
+}
+
+static void sub_8117FD0(u8 taskId)
+{
+ if (gBattleAnimArgs[7] == 0x1000)
+ {
+ gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = (u8)gTasks[taskId].data[0] & 1;
+ DestroyTask(taskId);
+ }
+}
diff --git a/src/battle_arena.c b/src/battle_arena.c
new file mode 100644
index 000000000..cd2c976da
--- /dev/null
+++ b/src/battle_arena.c
@@ -0,0 +1,926 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_arena.h"
+#include "battle_message.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "bg.h"
+#include "decompress.h"
+#include "event_data.h"
+#include "frontier_util.h"
+#include "gpu_regs.h"
+#include "item.h"
+#include "m4a.h"
+#include "overworld.h"
+#include "palette.h"
+#include "random.h"
+#include "sound.h"
+#include "string_util.h"
+#include "text.h"
+#include "util.h"
+#include "constants/songs.h"
+#include "constants/battle_string_ids.h"
+#include "constants/battle_frontier.h"
+#include "constants/moves.h"
+
+extern const u32 gUnknown_08D854E8[];
+extern const u16 gUnknown_08D855E8[];
+
+// This file's functions.
+static void sub_81A58B4(void);
+static void sub_81A5964(void);
+static void sub_81A59FC(void);
+static void sub_81A5AC4(void);
+static void sub_81A5B08(void);
+static void sub_81A5B88(void);
+static void sub_81A5BE0(void);
+static void SpriteCb_JudgmentIcon(struct Sprite *sprite);
+static void ShowJudgmentSprite(u8 x, u8 y, u8 arg2, u8 battler);
+
+// Const rom data.
+static const s8 sMindRatings[] =
+{
+ [MOVE_NONE] = 0,
+ [MOVE_POUND] = 1,
+ [MOVE_KARATE_CHOP] = 1,
+ [MOVE_DOUBLE_SLAP] = 1,
+ [MOVE_COMET_PUNCH] = 1,
+ [MOVE_MEGA_PUNCH] = 1,
+ [MOVE_PAY_DAY] = 1,
+ [MOVE_FIRE_PUNCH] = 1,
+ [MOVE_ICE_PUNCH] = 1,
+ [MOVE_THUNDER_PUNCH] = 1,
+ [MOVE_SCRATCH] = 1,
+ [MOVE_VICE_GRIP] = 1,
+ [MOVE_GUILLOTINE] = 1,
+ [MOVE_RAZOR_WIND] = 1,
+ [MOVE_SWORDS_DANCE] = 0,
+ [MOVE_CUT] = 1,
+ [MOVE_GUST] = 1,
+ [MOVE_WING_ATTACK] = 1,
+ [MOVE_WHIRLWIND] = 0,
+ [MOVE_FLY] = 1,
+ [MOVE_BIND] = 1,
+ [MOVE_SLAM] = 1,
+ [MOVE_VINE_WHIP] = 1,
+ [MOVE_STOMP] = 1,
+ [MOVE_DOUBLE_KICK] = 1,
+ [MOVE_MEGA_KICK] = 1,
+ [MOVE_JUMP_KICK] = 1,
+ [MOVE_ROLLING_KICK] = 1,
+ [MOVE_SAND_ATTACK] = 0,
+ [MOVE_HEADBUTT] = 1,
+ [MOVE_HORN_ATTACK] = 1,
+ [MOVE_FURY_ATTACK] = 1,
+ [MOVE_HORN_DRILL] = 1,
+ [MOVE_TACKLE] = 1,
+ [MOVE_BODY_SLAM] = 1,
+ [MOVE_WRAP] = 1,
+ [MOVE_TAKE_DOWN] = 1,
+ [MOVE_THRASH] = 1,
+ [MOVE_DOUBLE_EDGE] = 1,
+ [MOVE_TAIL_WHIP] = 0,
+ [MOVE_POISON_STING] = 1,
+ [MOVE_TWINEEDLE] = 1,
+ [MOVE_PIN_MISSILE] = 1,
+ [MOVE_LEER] = 0,
+ [MOVE_BITE] = 1,
+ [MOVE_GROWL] = 0,
+ [MOVE_ROAR] = 0,
+ [MOVE_SING] = 0,
+ [MOVE_SUPERSONIC] = 0,
+ [MOVE_SONIC_BOOM] = 1,
+ [MOVE_DISABLE] = 0,
+ [MOVE_ACID] = 1,
+ [MOVE_EMBER] = 1,
+ [MOVE_FLAMETHROWER] = 1,
+ [MOVE_MIST] = 0,
+ [MOVE_WATER_GUN] = 1,
+ [MOVE_HYDRO_PUMP] = 1,
+ [MOVE_SURF] = 1,
+ [MOVE_ICE_BEAM] = 1,
+ [MOVE_BLIZZARD] = 1,
+ [MOVE_PSYBEAM] = 1,
+ [MOVE_BUBBLE_BEAM] = 1,
+ [MOVE_AURORA_BEAM] = 1,
+ [MOVE_HYPER_BEAM] = 1,
+ [MOVE_PECK] = 1,
+ [MOVE_DRILL_PECK] = 1,
+ [MOVE_SUBMISSION] = 1,
+ [MOVE_LOW_KICK] = 1,
+ [MOVE_COUNTER] = 0,
+ [MOVE_SEISMIC_TOSS] = 1,
+ [MOVE_STRENGTH] = 1,
+ [MOVE_ABSORB] = 1,
+ [MOVE_MEGA_DRAIN] = 1,
+ [MOVE_LEECH_SEED] = 0,
+ [MOVE_GROWTH] = 0,
+ [MOVE_RAZOR_LEAF] = 1,
+ [MOVE_SOLAR_BEAM] = 1,
+ [MOVE_POISON_POWDER] = 0,
+ [MOVE_STUN_SPORE] = 0,
+ [MOVE_SLEEP_POWDER] = 0,
+ [MOVE_PETAL_DANCE] = 1,
+ [MOVE_STRING_SHOT] = 0,
+ [MOVE_DRAGON_RAGE] = 1,
+ [MOVE_FIRE_SPIN] = 1,
+ [MOVE_THUNDER_SHOCK] = 1,
+ [MOVE_THUNDERBOLT] = 1,
+ [MOVE_THUNDER_WAVE] = 0,
+ [MOVE_THUNDER] = 1,
+ [MOVE_ROCK_THROW] = 1,
+ [MOVE_EARTHQUAKE] = 1,
+ [MOVE_FISSURE] = 1,
+ [MOVE_DIG] = 1,
+ [MOVE_TOXIC] = 0,
+ [MOVE_CONFUSION] = 1,
+ [MOVE_PSYCHIC] = 1,
+ [MOVE_HYPNOSIS] = 0,
+ [MOVE_MEDITATE] = 0,
+ [MOVE_AGILITY] = 0,
+ [MOVE_QUICK_ATTACK] = 1,
+ [MOVE_RAGE] = 1,
+ [MOVE_TELEPORT] = 0,
+ [MOVE_NIGHT_SHADE] = 1,
+ [MOVE_MIMIC] = 0,
+ [MOVE_SCREECH] = 0,
+ [MOVE_DOUBLE_TEAM] = 0,
+ [MOVE_RECOVER] = 0,
+ [MOVE_HARDEN] = 0,
+ [MOVE_MINIMIZE] = 0,
+ [MOVE_SMOKESCREEN] = 0,
+ [MOVE_CONFUSE_RAY] = 0,
+ [MOVE_WITHDRAW] = 0,
+ [MOVE_DEFENSE_CURL] = 0,
+ [MOVE_BARRIER] = 0,
+ [MOVE_LIGHT_SCREEN] = 0,
+ [MOVE_HAZE] = 0,
+ [MOVE_REFLECT] = 0,
+ [MOVE_FOCUS_ENERGY] = 0,
+ [MOVE_BIDE] = 0,
+ [MOVE_METRONOME] = 0,
+ [MOVE_MIRROR_MOVE] = 0,
+ [MOVE_SELF_DESTRUCT] = 1,
+ [MOVE_EGG_BOMB] = 1,
+ [MOVE_LICK] = 1,
+ [MOVE_SMOG] = 1,
+ [MOVE_SLUDGE] = 1,
+ [MOVE_BONE_CLUB] = 1,
+ [MOVE_FIRE_BLAST] = 1,
+ [MOVE_WATERFALL] = 1,
+ [MOVE_CLAMP] = 1,
+ [MOVE_SWIFT] = 1,
+ [MOVE_SKULL_BASH] = 1,
+ [MOVE_SPIKE_CANNON] = 1,
+ [MOVE_CONSTRICT] = 1,
+ [MOVE_AMNESIA] = 0,
+ [MOVE_KINESIS] = 0,
+ [MOVE_SOFT_BOILED] = 0,
+ [MOVE_HI_JUMP_KICK] = 1,
+ [MOVE_GLARE] = 0,
+ [MOVE_DREAM_EATER] = 1,
+ [MOVE_POISON_GAS] = 0,
+ [MOVE_BARRAGE] = 1,
+ [MOVE_LEECH_LIFE] = 1,
+ [MOVE_LOVELY_KISS] = 0,
+ [MOVE_SKY_ATTACK] = 1,
+ [MOVE_TRANSFORM] = 0,
+ [MOVE_BUBBLE] = 1,
+ [MOVE_DIZZY_PUNCH] = 1,
+ [MOVE_SPORE] = 0,
+ [MOVE_FLASH] = 0,
+ [MOVE_PSYWAVE] = 1,
+ [MOVE_SPLASH] = 0,
+ [MOVE_ACID_ARMOR] = 0,
+ [MOVE_CRABHAMMER] = 1,
+ [MOVE_EXPLOSION] = 1,
+ [MOVE_FURY_SWIPES] = 1,
+ [MOVE_BONEMERANG] = 1,
+ [MOVE_REST] = 0,
+ [MOVE_ROCK_SLIDE] = 1,
+ [MOVE_HYPER_FANG] = 1,
+ [MOVE_SHARPEN] = 0,
+ [MOVE_CONVERSION] = 0,
+ [MOVE_TRI_ATTACK] = 1,
+ [MOVE_SUPER_FANG] = 1,
+ [MOVE_SLASH] = 1,
+ [MOVE_SUBSTITUTE] = 0,
+ [MOVE_STRUGGLE] = 1,
+ [MOVE_SKETCH] = 0,
+ [MOVE_TRIPLE_KICK] = 1,
+ [MOVE_THIEF] = 1,
+ [MOVE_SPIDER_WEB] = 0,
+ [MOVE_MIND_READER] = 0,
+ [MOVE_NIGHTMARE] = 0,
+ [MOVE_FLAME_WHEEL] = 1,
+ [MOVE_SNORE] = 1,
+ [MOVE_CURSE] = 0,
+ [MOVE_FLAIL] = 1,
+ [MOVE_CONVERSION_2] = 0,
+ [MOVE_AEROBLAST] = 1,
+ [MOVE_COTTON_SPORE] = 0,
+ [MOVE_REVERSAL] = 1,
+ [MOVE_SPITE] = 0,
+ [MOVE_POWDER_SNOW] = 1,
+ [MOVE_PROTECT] = -1,
+ [MOVE_MACH_PUNCH] = 1,
+ [MOVE_SCARY_FACE] = 0,
+ [MOVE_FAINT_ATTACK] = 1,
+ [MOVE_SWEET_KISS] = 0,
+ [MOVE_BELLY_DRUM] = 0,
+ [MOVE_SLUDGE_BOMB] = 1,
+ [MOVE_MUD_SLAP] = 1,
+ [MOVE_OCTAZOOKA] = 1,
+ [MOVE_SPIKES] = 0,
+ [MOVE_ZAP_CANNON] = 1,
+ [MOVE_FORESIGHT] = 0,
+ [MOVE_DESTINY_BOND] = 0,
+ [MOVE_PERISH_SONG] = 0,
+ [MOVE_ICY_WIND] = 1,
+ [MOVE_DETECT] = -1,
+ [MOVE_BONE_RUSH] = 1,
+ [MOVE_LOCK_ON] = 0,
+ [MOVE_OUTRAGE] = 1,
+ [MOVE_SANDSTORM] = 0,
+ [MOVE_GIGA_DRAIN] = 1,
+ [MOVE_ENDURE] = -1,
+ [MOVE_CHARM] = 0,
+ [MOVE_ROLLOUT] = 1,
+ [MOVE_FALSE_SWIPE] = 1,
+ [MOVE_SWAGGER] = 0,
+ [MOVE_MILK_DRINK] = 0,
+ [MOVE_SPARK] = 1,
+ [MOVE_FURY_CUTTER] = 1,
+ [MOVE_STEEL_WING] = 1,
+ [MOVE_MEAN_LOOK] = 0,
+ [MOVE_ATTRACT] = 0,
+ [MOVE_SLEEP_TALK] = 0,
+ [MOVE_HEAL_BELL] = 0,
+ [MOVE_RETURN] = 1,
+ [MOVE_PRESENT] = 1,
+ [MOVE_FRUSTRATION] = 1,
+ [MOVE_SAFEGUARD] = 0,
+ [MOVE_PAIN_SPLIT] = 0,
+ [MOVE_SACRED_FIRE] = 1,
+ [MOVE_MAGNITUDE] = 1,
+ [MOVE_DYNAMIC_PUNCH] = 1,
+ [MOVE_MEGAHORN] = 1,
+ [MOVE_DRAGON_BREATH] = 1,
+ [MOVE_BATON_PASS] = 0,
+ [MOVE_ENCORE] = 0,
+ [MOVE_PURSUIT] = 1,
+ [MOVE_RAPID_SPIN] = 1,
+ [MOVE_SWEET_SCENT] = 0,
+ [MOVE_IRON_TAIL] = 1,
+ [MOVE_METAL_CLAW] = 1,
+ [MOVE_VITAL_THROW] = 1,
+ [MOVE_MORNING_SUN] = 0,
+ [MOVE_SYNTHESIS] = 0,
+ [MOVE_MOONLIGHT] = 0,
+ [MOVE_HIDDEN_POWER] = 1,
+ [MOVE_CROSS_CHOP] = 1,
+ [MOVE_TWISTER] = 1,
+ [MOVE_RAIN_DANCE] = 0,
+ [MOVE_SUNNY_DAY] = 0,
+ [MOVE_CRUNCH] = 1,
+ [MOVE_MIRROR_COAT] = 0,
+ [MOVE_PSYCH_UP] = 0,
+ [MOVE_EXTREME_SPEED] = 1,
+ [MOVE_ANCIENT_POWER] = 1,
+ [MOVE_SHADOW_BALL] = 1,
+ [MOVE_FUTURE_SIGHT] = 1,
+ [MOVE_ROCK_SMASH] = 1,
+ [MOVE_WHIRLPOOL] = 1,
+ [MOVE_BEAT_UP] = 1,
+ [MOVE_FAKE_OUT] = -1,
+ [MOVE_UPROAR] = 1,
+ [MOVE_STOCKPILE] = 0,
+ [MOVE_SPIT_UP] = 1,
+ [MOVE_SWALLOW] = 0,
+ [MOVE_HEAT_WAVE] = 1,
+ [MOVE_HAIL] = 0,
+ [MOVE_TORMENT] = 0,
+ [MOVE_FLATTER] = 0,
+ [MOVE_WILL_O_WISP] = 0,
+ [MOVE_MEMENTO] = 0,
+ [MOVE_FACADE] = 1,
+ [MOVE_FOCUS_PUNCH] = 1,
+ [MOVE_SMELLING_SALT] = 1,
+ [MOVE_FOLLOW_ME] = 0,
+ [MOVE_NATURE_POWER] = 0,
+ [MOVE_CHARGE] = 0,
+ [MOVE_TAUNT] = 0,
+ [MOVE_HELPING_HAND] = 0,
+ [MOVE_TRICK] = 0,
+ [MOVE_ROLE_PLAY] = 0,
+ [MOVE_WISH] = 0,
+ [MOVE_ASSIST] = 0,
+ [MOVE_INGRAIN] = 0,
+ [MOVE_SUPERPOWER] = 1,
+ [MOVE_MAGIC_COAT] = 0,
+ [MOVE_RECYCLE] = 0,
+ [MOVE_REVENGE] = 1,
+ [MOVE_BRICK_BREAK] = 1,
+ [MOVE_YAWN] = 0,
+ [MOVE_KNOCK_OFF] = 1,
+ [MOVE_ENDEAVOR] = 1,
+ [MOVE_ERUPTION] = 1,
+ [MOVE_SKILL_SWAP] = 0,
+ [MOVE_IMPRISON] = 0,
+ [MOVE_REFRESH] = 0,
+ [MOVE_GRUDGE] = 0,
+ [MOVE_SNATCH] = 0,
+ [MOVE_SECRET_POWER] = 1,
+ [MOVE_DIVE] = 1,
+ [MOVE_ARM_THRUST] = 1,
+ [MOVE_CAMOUFLAGE] = 0,
+ [MOVE_TAIL_GLOW] = 0,
+ [MOVE_LUSTER_PURGE] = 1,
+ [MOVE_MIST_BALL] = 1,
+ [MOVE_FEATHER_DANCE] = 0,
+ [MOVE_TEETER_DANCE] = 0,
+ [MOVE_BLAZE_KICK] = 1,
+ [MOVE_MUD_SPORT] = 0,
+ [MOVE_ICE_BALL] = 1,
+ [MOVE_NEEDLE_ARM] = 1,
+ [MOVE_SLACK_OFF] = 0,
+ [MOVE_HYPER_VOICE] = 1,
+ [MOVE_POISON_FANG] = 1,
+ [MOVE_CRUSH_CLAW] = 1,
+ [MOVE_BLAST_BURN] = 1,
+ [MOVE_HYDRO_CANNON] = 1,
+ [MOVE_METEOR_MASH] = 1,
+ [MOVE_ASTONISH] = 1,
+ [MOVE_WEATHER_BALL] = 1,
+ [MOVE_AROMATHERAPY] = 0,
+ [MOVE_FAKE_TEARS] = 0,
+ [MOVE_AIR_CUTTER] = 1,
+ [MOVE_OVERHEAT] = 1,
+ [MOVE_ODOR_SLEUTH] = 0,
+ [MOVE_ROCK_TOMB] = 1,
+ [MOVE_SILVER_WIND] = 1,
+ [MOVE_METAL_SOUND] = 0,
+ [MOVE_GRASS_WHISTLE] = 0,
+ [MOVE_TICKLE] = 0,
+ [MOVE_COSMIC_POWER] = 0,
+ [MOVE_WATER_SPOUT] = 1,
+ [MOVE_SIGNAL_BEAM] = 1,
+ [MOVE_SHADOW_PUNCH] = 1,
+ [MOVE_EXTRASENSORY] = 1,
+ [MOVE_SKY_UPPERCUT] = 1,
+ [MOVE_SAND_TOMB] = 1,
+ [MOVE_SHEER_COLD] = 1,
+ [MOVE_MUDDY_WATER] = 1,
+ [MOVE_BULLET_SEED] = 1,
+ [MOVE_AERIAL_ACE] = 1,
+ [MOVE_ICICLE_SPEAR] = 1,
+ [MOVE_IRON_DEFENSE] = 0,
+ [MOVE_BLOCK] = 0,
+ [MOVE_HOWL] = 0,
+ [MOVE_DRAGON_CLAW] = 1,
+ [MOVE_FRENZY_PLANT] = 1,
+ [MOVE_BULK_UP] = 0,
+ [MOVE_BOUNCE] = 1,
+ [MOVE_MUD_SHOT] = 1,
+ [MOVE_POISON_TAIL] = 1,
+ [MOVE_COVET] = 1,
+ [MOVE_VOLT_TACKLE] = 1,
+ [MOVE_MAGICAL_LEAF] = 1,
+ [MOVE_WATER_SPORT] = 0,
+ [MOVE_CALM_MIND] = 0,
+ [MOVE_LEAF_BLADE] = 1,
+ [MOVE_DRAGON_DANCE] = 0,
+ [MOVE_ROCK_BLAST] = 1,
+ [MOVE_SHOCK_WAVE] = 1,
+ [MOVE_WATER_PULSE] = 1,
+ [MOVE_DOOM_DESIRE] = 1,
+ [MOVE_PSYCHO_BOOST] = 1,
+};
+
+static const struct OamData sOamData_8611F24 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 15,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_8611F2C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8611F34[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8611F3C[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8611F44[] =
+{
+ ANIMCMD_FRAME(12, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_8611F4C[] =
+{
+ sSpriteAnim_8611F2C,
+ sSpriteAnim_8611F34,
+ sSpriteAnim_8611F3C,
+ sSpriteAnim_8611F44
+};
+
+static const struct SpriteTemplate sSpriteTemplate_JudgmentIcon =
+{
+ .tileTag = 0x3E8,
+ .paletteTag = 0xFFFF,
+ .oam = &sOamData_8611F24,
+ .anims = sSpriteAnimTable_8611F4C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCb_JudgmentIcon,
+};
+
+static const struct CompressedSpriteSheet gUnknown_08611F74[] =
+{
+ {gUnknown_08D854E8, 0x200, 0x3E8},
+ {0}
+};
+
+static void (* const sArenaFunctions[])(void) =
+{
+ sub_81A58B4,
+ sub_81A5964,
+ sub_81A59FC,
+ sub_81A5AC4,
+ sub_81A5B08,
+ sub_81A5B88,
+ sub_81A5BE0,
+};
+
+static const u16 gUnknown_08611FA0[6] =
+{
+ 0x003f, 0x0040, 0x0041, 0x0043, 0x0042, 0x0046
+};
+
+static const u16 gUnknown_08611FAC[9] =
+{
+ 0x00b3, 0x00b4, 0x00b7, 0x00c8, 0x00b9, 0x00bb, 0x00c4, 0x00c6, 0x00ba
+};
+
+// code
+void CallBattleArenaFunction(void)
+{
+ sArenaFunctions[gSpecialVar_0x8004]();
+}
+
+u8 BattleArena_ShowJudgmentWindow(u8 *state)
+{
+ s32 i;
+ u8 ret = 0;
+ switch (*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);
+ LoadCompressedPalette(gUnknown_08D855E8, 0x1F0, 0x20);
+ gBattle_WIN0H = 0xFF;
+ gBattle_WIN0V = 0x70;
+ (*state)++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ HandleBattleWindow(5, 0, 24, 13, 0);
+ (*state)++;
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ gBattleTextBuff1[0] = CHAR_0;
+ gBattleTextBuff1[1] = EOS;
+ gBattleTextBuff2[0] = CHAR_0;
+ gBattleTextBuff2[1] = EOS;
+ BattleStringExpandPlaceholdersToDisplayedString(gText_PlayerMon1Name);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 15);
+ BattlePutTextOnWindow(gText_Vs, 16);
+ BattleStringExpandPlaceholdersToDisplayedString(gText_OpponentMon1Name);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 17);
+ BattlePutTextOnWindow(gText_Mind, 18);
+ BattlePutTextOnWindow(gText_Skill, 19);
+ BattlePutTextOnWindow(gText_Body, 20);
+ BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 21);
+ (*state)++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ for (i = 0; i < 8; i++)
+ {
+ u8 spriteId = CreateSprite(&sSpriteTemplate_JudgmentIcon, 0x40 + (i * 0x10), 84, 0);
+ StartSpriteAnim(&gSprites[spriteId], 3);
+ }
+ ret = 1;
+ (*state)++;
+ }
+ break;
+ case 4:
+ PlaySE(SE_HANTEI1);
+ ShowJudgmentSprite(80, 40, 0, 0);
+ ShowJudgmentSprite(160, 40, 0, 1);
+ BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 21);
+ (*state)++;
+ ret = 1;
+ break;
+ case 5:
+ PlaySE(SE_HANTEI1);
+ ShowJudgmentSprite(80, 56, 1, 0);
+ ShowJudgmentSprite(160, 56, 1, 1);
+ BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 21);
+ (*state)++;
+ ret = 1;
+ break;
+ case 6:
+ PlaySE(SE_HANTEI1);
+ ShowJudgmentSprite(80, 72, 2, 0);
+ ShowJudgmentSprite(160, 72, 2, 1);
+ BattleStringExpandPlaceholdersToDisplayedString(gText_Judgement);
+ BattlePutTextOnWindow(gDisplayedStringBattle, 21);
+ (*state)++;
+ ret = 1;
+ break;
+ case 7:
+ PlaySE(SE_HANTEI2);
+ if (gBattleTextBuff1[0] > gBattleTextBuff2[0])
+ {
+ ret = 2;
+ gBattleScripting.battler = 0;
+ }
+ else if (gBattleTextBuff1[0] < gBattleTextBuff2[0])
+ {
+ ret = 3;
+ gBattleScripting.battler = 1;
+ }
+ else
+ {
+ ret = 4;
+ }
+ (*state)++;
+ break;
+ case 8:
+ (*state)++;
+ break;
+ case 9:
+ 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);
+ HandleBattleWindow(5, 0, 24, 13, WINDOW_CLEAR);
+ CopyBgTilemapBufferToVram(0);
+ m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
+ BeginNormalPaletteFade(0x7FFFFF1C, 4, 8, 0, 0);
+ (*state)++;
+ break;
+ case 10:
+ if (!gPaletteFade.active)
+ {
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ FreeSpriteTilesByTag(0x3E8);
+ ret = 1;
+ (*state)++;
+ }
+ break;
+ }
+
+ return ret;
+}
+
+static void ShowJudgmentSprite(u8 x, u8 y, u8 category, u8 battler)
+{
+ s32 animNum = 0;
+ s32 pointsPlayer = 0;
+ s32 pointsOpponent = 0;
+ s8 *mindPoints = gBattleStruct->arenaMindPoints;
+ s8 *skillPoints = gBattleStruct->arenaSkillPoints;
+ u16 *hpAtStart = gBattleStruct->arenaStartHp;
+
+ switch (category)
+ {
+ case 0:
+ pointsPlayer = mindPoints[battler];
+ pointsOpponent = mindPoints[BATTLE_OPPOSITE(battler)];
+ break;
+ case 1:
+ pointsPlayer = skillPoints[battler];
+ pointsOpponent = skillPoints[BATTLE_OPPOSITE(battler)];
+ break;
+ case 2:
+ pointsPlayer = (gBattleMons[battler].hp * 100) / hpAtStart[battler];
+ pointsOpponent = (gBattleMons[BATTLE_OPPOSITE(battler)].hp * 100) / hpAtStart[BATTLE_OPPOSITE(battler)];
+ break;
+ }
+
+ if (pointsPlayer > pointsOpponent)
+ {
+ animNum = 2;
+ if (battler != 0)
+ gBattleTextBuff2[0] += 2;
+ else
+ gBattleTextBuff1[0] += 2;
+ }
+ else if (pointsPlayer == pointsOpponent)
+ {
+ animNum = 1;
+ if (battler != 0)
+ gBattleTextBuff2[0] += 1;
+ else
+ gBattleTextBuff1[0] += 1;
+ }
+ else
+ {
+ animNum = 0;
+ }
+
+ pointsPlayer = CreateSprite(&sSpriteTemplate_JudgmentIcon, x, y, 0);
+ StartSpriteAnim(&gSprites[pointsPlayer], animNum);
+}
+
+static void SpriteCb_JudgmentIcon(struct Sprite *sprite)
+{
+ if (gBattleCommunication[0] > 8)
+ DestroySprite(sprite);
+}
+
+void BattleArena_InitPoints(void)
+{
+ s8 *mindPoints = gBattleStruct->arenaMindPoints;
+ s8 *skillPoints = gBattleStruct->arenaSkillPoints;
+ u16 *hpAtStart = gBattleStruct->arenaStartHp;
+
+ mindPoints[0] = 0;
+ mindPoints[1] = 0;
+ skillPoints[0] = 0;
+ skillPoints[1] = 0;
+ hpAtStart[0] = gBattleMons[0].hp;
+ hpAtStart[1] = gBattleMons[1].hp;
+}
+
+void BattleArena_AddMindPoints(u8 battler)
+{
+ s8 *mindPoints = gBattleStruct->arenaMindPoints;
+
+ mindPoints[battler] += sMindRatings[gCurrentMove];
+}
+
+void BattleArena_AddSkillPoints(u8 battler)
+{
+ s8 *skillPoints = gBattleStruct->arenaSkillPoints;
+
+ if (gHitMarker & HITMARKER_OBEYS)
+ {
+ u8 *failedMoveBits = &gBattleStruct->alreadyStatusedMoveAttempt;
+ if (*failedMoveBits & gBitTable[battler])
+ {
+ *failedMoveBits &= ~(gBitTable[battler]);
+ skillPoints[battler] -= 2;
+ }
+ else if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT)
+ {
+ if (!(gMoveResultFlags & MOVE_RESULT_MISSED) || gBattleCommunication[6] != 1)
+ skillPoints[battler] -= 2;
+ }
+ else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE && gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
+ {
+ skillPoints[battler] += 1;
+ }
+ else if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE)
+ {
+ skillPoints[battler] += 2;
+ }
+ else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE)
+ {
+ skillPoints[battler] -= 1;
+ }
+ else if (!gProtectStructs[battler].protected)
+ {
+ skillPoints[battler] += 1;
+ }
+ }
+}
+
+void BattleArena_DeductMindPoints(u8 battler, u16 stringId)
+{
+ s8 *skillPoints = gBattleStruct->arenaSkillPoints;
+
+ switch (stringId)
+ {
+ case STRINGID_PKMNSXMADEYUSELESS:
+ case STRINGID_PKMNSXMADEITINEFFECTIVE:
+ case STRINGID_PKMNSXPREVENTSFLINCHING:
+ case STRINGID_PKMNSXBLOCKSY2:
+ case STRINGID_PKMNSXPREVENTSYLOSS:
+ case STRINGID_PKMNSXMADEYINEFFECTIVE:
+ case STRINGID_PKMNSXPREVENTSBURNS:
+ case STRINGID_PKMNSXBLOCKSY:
+ case STRINGID_PKMNPROTECTEDBY:
+ case STRINGID_PKMNPREVENTSUSAGE:
+ case STRINGID_PKMNRESTOREDHPUSING:
+ case STRINGID_PKMNPREVENTSPARALYSISWITH:
+ case STRINGID_PKMNPREVENTSROMANCEWITH:
+ case STRINGID_PKMNPREVENTSPOISONINGWITH:
+ case STRINGID_PKMNPREVENTSCONFUSIONWITH:
+ case STRINGID_PKMNRAISEDFIREPOWERWITH:
+ case STRINGID_PKMNANCHORSITSELFWITH:
+ case STRINGID_PKMNPREVENTSSTATLOSSWITH:
+ case STRINGID_PKMNSTAYEDAWAKEUSING:
+ skillPoints[battler] -= 3;
+ break;
+ }
+}
+
+void sub_81A586C(u8 battler) // Unused.
+{
+ u16 *hpAtStart = gBattleStruct->arenaStartHp;
+
+ hpAtStart[battler] = gBattleMons[battler].hp;
+ if (hpAtStart[BATTLE_OPPOSITE(battler)] > gBattleMons[BATTLE_OPPOSITE(battler)].hp)
+ hpAtStart[BATTLE_OPPOSITE(battler)] = gBattleMons[BATTLE_OPPOSITE(battler)].hp;
+}
+
+static void sub_81A58B4(void)
+{
+ bool32 isCurrent;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_a = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_b = 0;
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
+ else
+ isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
+
+ if (!isCurrent)
+ gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
+
+ saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ gTrainerBattleOpponent_A = 0;
+}
+
+static void sub_81A5964(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DD8;
+ break;
+ case 1:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
+ break;
+ case 2:
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x80;
+ else
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x40;
+ break;
+ }
+}
+
+static void sub_81A59FC(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSaveBlock2Ptr->frontier.field_DD8 = gSpecialVar_0x8006;
+ break;
+ case 1:
+ gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = gSpecialVar_0x8006;
+ break;
+ case 2:
+ if (lvlMode != FRONTIER_LVL_50)
+ {
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= 0x80;
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= ~(0x80);
+ }
+ else
+ {
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= 0x40;
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= ~(0x40);
+ }
+ break;
+ }
+}
+
+static void sub_81A5AC4(void)
+{
+ gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ VarSet(VAR_TEMP_0, 0);
+ gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ sub_81A4C30();
+}
+
+static void sub_81A5B08(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 41)
+ gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FAC[Random() % ARRAY_COUNT(gUnknown_08611FAC)];
+ else
+ gSaveBlock2Ptr->frontier.field_DD8 = gUnknown_08611FA0[Random() % ARRAY_COUNT(gUnknown_08611FA0)];
+}
+
+static void sub_81A5B88(void)
+{
+ if (AddBagItem(gSaveBlock2Ptr->frontier.field_DD8, 1) == TRUE)
+ {
+ CopyItemName(gSaveBlock2Ptr->frontier.field_DD8, gStringVar1);
+ gSaveBlock2Ptr->frontier.field_DD8 = 0;
+ gSpecialVar_Result = TRUE;
+ }
+ else
+ {
+ gSpecialVar_Result = FALSE;
+ }
+}
+
+static void sub_81A5BE0(void)
+{
+ GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
+}
+
+void sub_81A5BF8(void)
+{
+ u8 width = 27;
+ u8 palNum = 7;
+
+ FillBgTilemapBufferRect(0, 0, 254, 14, 1, 6, palNum);
+ FillBgTilemapBufferRect(0, 0, 32, 14, 1, 6, palNum);
+ FillBgTilemapBufferRect(0, 0x31, 0, 14, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x33, 1, 14, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x34, 2, 14, width, 1, palNum);
+ width++;
+ FillBgTilemapBufferRect(0, 0x35, 28, 14, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x36, 29, 14, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x37, 0, 15, 1, 5, palNum);
+ FillBgTilemapBufferRect(0, 0x39, 1, 15, width, 5, palNum);
+ FillBgTilemapBufferRect(0, 0x3A, 29, 15, 1, 5, palNum);
+ FillBgTilemapBufferRect(0, 0x831, 0, 19, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x833, 1, 19, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x834, 2, 19, width - 2, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x835, 28, 19, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x836, 29, 19, 1, 1, palNum);
+}
+
+void sub_81A5D44(void)
+{
+ u8 width;
+ u8 height;
+ u8 palNum = 0;
+
+ FillBgTilemapBufferRect(0, 3, 0, 14, 1, 1, palNum);
+ height = 4;
+ FillBgTilemapBufferRect(0, 4, 1, 14, 1, 1, palNum);
+ width = 27;
+ FillBgTilemapBufferRect(0, 5, 2, 14, width, 1, palNum);
+ FillBgTilemapBufferRect(0, 6, 28, 14, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 7, 29, 14, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 8, 0, 15, 1, height, palNum);
+ FillBgTilemapBufferRect(0, 9, 1, 15, 1, height, palNum);
+ FillBgTilemapBufferRect(0, 0xA, 2, 15, width, height, palNum);
+ FillBgTilemapBufferRect(0, 0xB, 28, 15, 1, height, palNum);
+ FillBgTilemapBufferRect(0, 0xC, 29, 15, 1, height, palNum);
+ FillBgTilemapBufferRect(0, 0xD, 0, 19, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0xE, 1, 19, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0xF, 2, 19, width, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x10, 28, 19, 1, 1, palNum);
+ FillBgTilemapBufferRect(0, 0x11, 29, 19, 1, 1, palNum);
+}
diff --git a/src/battle_bg.c b/src/battle_bg.c
index a6c66b3c4..bb66a41fd 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -31,11 +31,6 @@ struct BattleBackground
const void *palette;
};
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-
extern u8 GetCurrentMapBattleScene(void);
// .rodata
@@ -162,10 +157,10 @@ const struct BgTemplate gBattleBgTemplates[] =
},
};
-static const struct WindowTemplate gUnknown_0831AA18[] =
+static const struct WindowTemplate gStandardBattleWindowTemplates[] =
{
- {
- .priority = 0,
+ { // 0 Standard battle message
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -173,8 +168,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 0,
.baseBlock = 0x0090,
},
- {
- .priority = 0,
+ { // 1 "What will (pokemon) do?"
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 35,
.width = 14,
@@ -182,8 +177,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 0,
.baseBlock = 0x01c0,
},
- {
- .priority = 0,
+ { // 2 "Fight/Pokemon/Bag/Run"
+ .bg = 0,
.tilemapLeft = 17,
.tilemapTop = 35,
.width = 12,
@@ -191,8 +186,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0190,
},
- {
- .priority = 0,
+ { // 3 Top left move
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 55,
.width = 8,
@@ -200,8 +195,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0300,
},
- {
- .priority = 0,
+ { // 4 Top right move
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 55,
.width = 8,
@@ -209,8 +204,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0310,
},
- {
- .priority = 0,
+ { // 5 Bottom left move
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 57,
.width = 8,
@@ -218,8 +213,8 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.paletteNum = 5,
.baseBlock = 0x0320,
},
- {
- .priority = 0,
+ { // 6 Bottom right move
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 57,
.width = 8,
@@ -228,7 +223,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0330,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 4,
@@ -237,7 +232,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0290,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 0,
@@ -246,7 +241,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0298,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 25,
.tilemapTop = 55,
.width = 4,
@@ -255,7 +250,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0298,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 8,
@@ -264,7 +259,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x02a0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 8,
@@ -273,7 +268,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x02b0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 26,
.tilemapTop = 9,
.width = 3,
@@ -282,7 +277,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0100,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 19,
.tilemapTop = 8,
.width = 10,
@@ -291,7 +286,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0100,
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 18,
.tilemapTop = 0,
.width = 12,
@@ -300,7 +295,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x016e,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 3,
.width = 6,
@@ -309,7 +304,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0020,
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 2,
.tilemapTop = 3,
.width = 6,
@@ -318,7 +313,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0040,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 2,
.width = 6,
@@ -327,7 +322,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0020,
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 2,
.tilemapTop = 2,
.width = 6,
@@ -336,7 +331,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0040,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 6,
.width = 6,
@@ -345,7 +340,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0060,
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 2,
.tilemapTop = 6,
.width = 6,
@@ -354,7 +349,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x0080,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 12,
.tilemapTop = 2,
.width = 6,
@@ -363,7 +358,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x00a0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 4,
.tilemapTop = 2,
.width = 7,
@@ -372,7 +367,7 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
.baseBlock = 0x00a0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 19,
.tilemapTop = 2,
.width = 7,
@@ -383,10 +378,10 @@ static const struct WindowTemplate gUnknown_0831AA18[] =
DUMMY_WIN_TEMPLATE
};
-static const struct WindowTemplate gUnknown_0831AAE0[] =
+static const struct WindowTemplate gBattleArenaWindowTemplates[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -395,7 +390,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0090,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 35,
.width = 14,
@@ -404,7 +399,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x01c0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 17,
.tilemapTop = 35,
.width = 12,
@@ -413,7 +408,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0190,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 55,
.width = 8,
@@ -422,7 +417,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0300,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 55,
.width = 8,
@@ -431,7 +426,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0310,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 57,
.width = 8,
@@ -440,7 +435,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0320,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 57,
.width = 8,
@@ -449,7 +444,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0330,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 4,
@@ -458,7 +453,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0290,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 0,
@@ -467,7 +462,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0298,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 25,
.tilemapTop = 55,
.width = 4,
@@ -476,7 +471,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0298,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 57,
.width = 8,
@@ -485,7 +480,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x02a0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 55,
.width = 8,
@@ -494,7 +489,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x02b0,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 26,
.tilemapTop = 9,
.width = 3,
@@ -503,7 +498,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0100,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 19,
.tilemapTop = 8,
.width = 10,
@@ -512,7 +507,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0100,
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 18,
.tilemapTop = 0,
.width = 12,
@@ -521,7 +516,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x016e,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 6,
.tilemapTop = 1,
.width = 8,
@@ -530,7 +525,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0100,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 14,
.tilemapTop = 1,
.width = 2,
@@ -539,7 +534,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0110,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 1,
.width = 8,
@@ -548,7 +543,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0114,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 12,
.tilemapTop = 4,
.width = 6,
@@ -557,7 +552,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0124,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 12,
.tilemapTop = 6,
.width = 6,
@@ -566,7 +561,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0130,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 12,
.tilemapTop = 8,
.width = 6,
@@ -575,7 +570,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x013c,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 8,
.tilemapTop = 11,
.width = 14,
@@ -584,7 +579,7 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
.baseBlock = 0x0148,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -597,8 +592,8 @@ static const struct WindowTemplate gUnknown_0831AAE0[] =
const struct WindowTemplate * const gBattleWindowTemplates[] =
{
- gUnknown_0831AA18,
- gUnknown_0831AAE0,
+ gStandardBattleWindowTemplates,
+ gBattleArenaWindowTemplates,
};
static const struct BattleBackground gBattleTerrainTable[] =
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 637b8c702..8cbc62aab 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -1,35 +1,32 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
-#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "battle_ai_script_commands.h"
+#include "battle_message.h"
+#include "battle_setup.h"
#include "battle_tv.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "constants/songs.h"
-#include "constants/trainers.h"
-#include "sound.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "battle_setup.h"
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
@@ -558,7 +555,7 @@ static void LinkOpponentHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyLinkOpponentMonData(i, monData + size);
@@ -892,7 +889,7 @@ static void LinkOpponentHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetLinkOpponentMonData(i);
@@ -1253,17 +1250,17 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|| (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN)
{
if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_LEAF];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RED];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE)
{
if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_MAY];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
}
else
{
@@ -1282,17 +1279,17 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_LEAF_GREEN)
{
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_LEAF];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RED];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_SAPPHIRE)
{
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_MAY];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
}
else
{
@@ -1346,7 +1343,7 @@ static void LinkOpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_8064470;
}
@@ -1364,7 +1361,7 @@ static void LinkOpponentHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
- PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT);
+ PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_TARGET);
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon;
gBattlerControllerFuncs[gActiveBattler] = sub_8064C14;
}
@@ -1660,9 +1657,9 @@ static void LinkOpponentHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
LinkOpponentBufferExecCompleted();
@@ -1708,7 +1705,7 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_80676FC);
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index bfaaf9e82..0cd15f39e 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -1,34 +1,30 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
-#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "battle_ai_script_commands.h"
+#include "battle_message.h"
+#include "battle_setup.h"
#include "battle_tv.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "constants/songs.h"
-#include "constants/trainers.h"
-#include "sound.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "battle_setup.h"
-
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
@@ -444,7 +440,7 @@ static void LinkPartnerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyLinkPartnerMonData(i, monData + size);
@@ -778,7 +774,7 @@ static void LinkPartnerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetLinkPartnerMonData(i);
@@ -1168,7 +1164,7 @@ static void LinkPartnerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_814AF54;
}
@@ -1187,7 +1183,7 @@ static void LinkPartnerHandleFaintAnimation(void)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
- PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
+ PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_ATTACKER);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00;
@@ -1485,9 +1481,9 @@ static void LinkPartnerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
LinkPartnerBufferExecCompleted();
@@ -1534,7 +1530,7 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index c490ad314..c057e8575 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1,48 +1,44 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
+#include "battle_arena.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
#include "battle_tv.h"
-#include "battle_ai_script_commands.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
+#include "frontier_util.h"
+#include "item.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "item.h"
-#include "constants/items.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "constants/moves.h"
-#include "constants/trainers.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "random.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "random.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "battle_setup.h"
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
-extern void sub_81A57E4(u8 battlerId, u16 stringId);
-extern u8 GetFrontierBrainTrainerPicIndex(void);
extern u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
-extern u8 GetEreaderTrainerFrontSpriteId(void);
// this file's functions
static void OpponentHandleGetMonData(void);
@@ -542,7 +538,7 @@ static void OpponentHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += GetOpponentMonData(i, monData + size);
@@ -885,7 +881,7 @@ static void OpponentHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetOpponentMonData(i);
@@ -1384,7 +1380,7 @@ static void OpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_805F240;
}
@@ -1402,7 +1398,7 @@ static void OpponentHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
- PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT);
+ PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_TARGET);
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon;
gBattlerControllerFuncs[gActiveBattler] = sub_805FAC4;
}
@@ -1513,7 +1509,7 @@ static void OpponentHandlePrintString(void)
BufferStringBattle(*stringId);
BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter;
- sub_81A57E4(gActiveBattler, *stringId);
+ BattleArena_DeductMindPoints(gActiveBattler, *stringId);
}
static void OpponentHandlePrintSelectionString(void)
@@ -1810,9 +1806,9 @@ static void OpponentHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
OpponentBufferExecCompleted();
@@ -1858,7 +1854,7 @@ static void OpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_806280C);
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 02479a1be..2bd5ef365 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -1,44 +1,42 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
+#include "battle_arena.h"
#include "battle_controllers.h"
-#include "battle_message.h"
+#include "battle_dome.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
+#include "battle_message.h"
+#include "battle_setup.h"
#include "battle_tv.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
+#include "item.h"
+#include "item_menu.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "item.h"
-#include "constants/items.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "constants/moves.h"
-#include "constants/trainers.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
-#include "task.h"
-#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "random.h"
+#include "party_menu.h"
#include "pokeball.h"
-#include "data2.h"
-#include "battle_setup.h"
-#include "item_menu.h"
+#include "pokemon.h"
+#include "random.h"
#include "recorded_battle.h"
-#include "party_menu.h"
-#include "battle_dome.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
extern u8 gUnknown_0203CEE8;
extern u8 gUnknown_0203CEE9;
extern u8 gUnknown_0203CF00[];
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
@@ -46,7 +44,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81AABB0(void);
-extern void sub_81A57E4(u8 battlerId, u16 stringId);
extern void sub_81851A8(u8 *);
// this file's functions
@@ -116,7 +113,7 @@ static void MoveSelectionDisplayPpNumber(void);
static void MoveSelectionDisplayPpString(void);
static void MoveSelectionDisplayMoveType(void);
static void MoveSelectionDisplayMoveNames(void);
-static void HandleMoveSwitchting(void);
+static void HandleMoveSwitching(void);
static void sub_8058FC0(void);
static void WaitForMonSelection(void);
static void CompleteWhenChoseItem(void);
@@ -619,7 +616,7 @@ static void HandleInputChooseMove(void)
MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27);
BattlePutTextOnWindow(gText_BattleSwitchWhich, 0xB);
- gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitchting;
+ gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitching;
}
}
}
@@ -674,7 +671,7 @@ u32 sub_8057FBC(void) // unused
return var;
}
-static void HandleMoveSwitchting(void)
+static void HandleMoveSwitching(void)
{
u8 perMovePPBonuses[4];
struct ChooseMoveStruct moveStruct;
@@ -1589,7 +1586,7 @@ static void PlayerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyPlayerMonData(i, monData + size);
@@ -1932,7 +1929,7 @@ static void PlayerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetPlayerMonData(i);
@@ -2387,7 +2384,7 @@ static void PlayerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1);
gBattlerControllerFuncs[gActiveBattler] = sub_80588B4;
@@ -2407,7 +2404,7 @@ static void PlayerHandleFaintAnimation(void)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
- PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
+ PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_ATTACKER);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00;
@@ -2537,7 +2534,7 @@ static void PlayerHandlePrintString(void)
BattlePutTextOnWindow(gDisplayedStringBattle, 0);
gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2;
BattleTv_SetDataBasedOnString(*stringId);
- sub_81A57E4(gActiveBattler, *stringId);
+ BattleArena_DeductMindPoints(gActiveBattler, *stringId);
}
static void PlayerHandlePrintSelectionString(void)
@@ -2600,9 +2597,11 @@ static void HandleChooseMoveAfterDma3(void)
}
}
+// arenaMindPoints is used here as a placeholder for a timer.
+
static void PlayerChooseMoveInBattlePalace(void)
{
- if (--*(gBattleStruct->field_298 + gActiveBattler) == 0)
+ if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0)
{
gBattlePalaceMoveSelectionRngValue = gRngValue;
BtlController_EmitTwoReturnValues(1, 10, ChooseMoveAndTargetInBattlePalace());
@@ -2614,7 +2613,7 @@ static void PlayerHandleChooseMove(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- *(gBattleStruct->field_298 + gActiveBattler) = 8;
+ *(gBattleStruct->arenaMindPoints + gActiveBattler) = 8;
gBattlerControllerFuncs[gActiveBattler] = PlayerChooseMoveInBattlePalace;
}
else
@@ -2882,9 +2881,9 @@ static void PlayerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
PlayerBufferExecCompleted();
@@ -2930,7 +2929,7 @@ static void PlayerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index c72847bd2..02dd1383b 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -1,42 +1,37 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "battle_ai_script_commands.h"
-#include "pokemon.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "bg.h"
+#include "data2.h"
+#include "item_use.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "constants/songs.h"
-#include "constants/trainers.h"
-#include "sound.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "battle_setup.h"
-#include "item_use.h"
-
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_81358F4(void);
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
-extern void SetMultiuseSpriteTemplateToPokemon(u16, u8);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void PlayerPartnerHandleGetMonData(void);
@@ -632,7 +627,7 @@ static void PlayerPartnerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyPlayerPartnerMonData(i, monData + size);
@@ -966,7 +961,7 @@ static void PlayerPartnerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetPlayerPartnerMonData(i);
@@ -1363,7 +1358,7 @@ static void PlayerPartnerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81BAE98;
}
@@ -1382,7 +1377,7 @@ static void PlayerPartnerHandleFaintAnimation(void)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
- PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_PLAYER);
+ PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_ATTACKER);
gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 5;
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039C00;
@@ -1739,9 +1734,9 @@ static void PlayerPartnerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
PlayerPartnerBufferExecCompleted();
@@ -1787,7 +1782,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index 963c535db..0cf3634dc 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -1,44 +1,40 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
-#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "battle_ai_script_commands.h"
+#include "battle_message.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
#include "battle_tv.h"
-#include "recorded_battle.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
+#include "item_use.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "constants/songs.h"
-#include "constants/trainers.h"
-#include "sound.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "recorded_battle.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "item_use.h"
-#include "battle_setup.h"
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
-extern u8 gUnknown_0203C7B4;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern u16 sub_8068B48(void);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void RecordedOpponentHandleGetMonData(void);
@@ -542,7 +538,7 @@ static void RecordedOpponentHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyRecordedOpponentMonData(i, monData + size);
@@ -876,7 +872,7 @@ static void RecordedOpponentHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetRecordedOpponentMonData(i);
@@ -1277,7 +1273,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81865C8;
}
@@ -1295,7 +1291,7 @@ static void RecordedOpponentHandleFaintAnimation(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive)
{
gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0;
- PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT);
+ PlaySE12WithPanning(SE_POKE_DEAD, SOUND_PAN_TARGET);
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon;
gBattlerControllerFuncs[gActiveBattler] = sub_8186D58;
}
@@ -1603,9 +1599,9 @@ static void RecordedOpponentHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
RecordedOpponentBufferExecCompleted();
@@ -1651,7 +1647,7 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_818962C);
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 1a043573f..4d7fdc01e 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -1,42 +1,36 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "battle_ai_script_commands.h"
-#include "recorded_battle.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
+#include "item_use.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "recorded_battle.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "item_use.h"
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/songs.h"
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT];
-extern u8 gUnknown_0203C7B4;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void RecordedPlayerHandleGetMonData(void);
@@ -527,7 +521,7 @@ static void RecordedPlayerHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyRecordedPlayerMonData(i, monData + size);
@@ -861,7 +855,7 @@ static void RecordedPlayerHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetRecordedPlayerMonData(i);
@@ -1278,7 +1272,7 @@ static void RecordedPlayerHandleTrainerSlideBack(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy);
gBattlerControllerFuncs[gActiveBattler] = sub_81899F0;
}
@@ -1624,9 +1618,9 @@ static void RecordedPlayerHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
RecordedPlayerBufferExecCompleted();
@@ -1673,7 +1667,7 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 898e18294..3f1542edb 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -1,30 +1,27 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
-#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
-#include "pokemon.h"
+#include "battle_message.h"
+#include "bg.h"
+#include "data2.h"
+#include "item_menu.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
-#include "task.h"
-#include "text.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
#include "pokeball.h"
-#include "data2.h"
#include "pokeblock.h"
-#include "item_menu.h"
-
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
+#include "pokemon.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "task.h"
+#include "text.h"
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/songs.h"
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
@@ -594,9 +591,9 @@ static void SafariHandlePlaySE(void)
s8 pan;
if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
else
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan);
SafariBufferExecCompleted();
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 80dd6d3bb..5d87c4f90 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -1,40 +1,35 @@
#include "global.h"
#include "battle.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
-#include "battle_message.h"
#include "battle_interface.h"
-#include "battle_anim.h"
-#include "constants/battle_anim.h"
+#include "battle_message.h"
+#include "battle_setup.h"
#include "battle_tv.h"
-#include "pokemon.h"
+#include "bg.h"
+#include "data2.h"
+#include "item.h"
+#include "item_menu.h"
#include "link.h"
-#include "util.h"
#include "main.h"
-#include "item.h"
-#include "constants/items.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "constants/moves.h"
-#include "constants/trainers.h"
-#include "window.h"
#include "m4a.h"
#include "palette.h"
+#include "party_menu.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "random.h"
+#include "reshow_battle_screen.h"
+#include "sound.h"
+#include "string_util.h"
#include "task.h"
#include "text.h"
-#include "string_util.h"
-#include "bg.h"
-#include "reshow_battle_screen.h"
-#include "random.h"
-#include "pokeball.h"
-#include "data2.h"
-#include "party_menu.h"
-#include "battle_setup.h"
-#include "item_menu.h"
-
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern s32 gUnknown_0203CD70;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
+#include "util.h"
+#include "window.h"
+#include "constants/battle_anim.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/trainers.h"
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
@@ -442,7 +437,7 @@ static void WallyHandleGetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
size += CopyWallyMonData(i, monData + size);
@@ -776,7 +771,7 @@ static void WallyHandleSetMonData(void)
else
{
monToCheck = gBattleBufferA[gActiveBattler][2];
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (monToCheck & 1)
SetWallyMonData(i);
@@ -1437,7 +1432,7 @@ static void WallyHandleIntroTrainerBallThrow(void)
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.y;
- gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_80A6EEC;
+ gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation;
gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler;
StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], sub_805CC00);
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 56ff34528..a6d6e9294 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -1,22 +1,22 @@
#include "global.h"
#include "battle.h"
+#include "battle_ai_script_commands.h"
+#include "battle_anim.h"
#include "battle_controllers.h"
+#include "battle_message.h"
#include "cable_club.h"
#include "link.h"
-#include "task.h"
-#include "battle_ai_script_commands.h"
-#include "battle_anim.h"
#include "pokemon.h"
-#include "constants/species.h"
#include "recorded_battle.h"
+#include "task.h"
#include "util.h"
#include "constants/abilities.h"
-#include "battle_message.h"
-
-extern u8 gUnknown_02022D08;
-extern u8 gUnknown_02022D09;
-extern u8 gUnknown_02022D0A;
+#include "constants/species.h"
+static EWRAM_DATA u8 sLinkSendTaskId = 0;
+static EWRAM_DATA u8 sLinkReceiveTaskId = 0;
+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
@@ -681,20 +681,20 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size)
static void CreateTasksForSendRecvLinkBuffers(void)
{
- gUnknown_02022D08 = CreateTask(Task_HandleSendLinkBuffersData, 0);
- gTasks[gUnknown_02022D08].data[11] = 0;
- gTasks[gUnknown_02022D08].data[12] = 0;
- gTasks[gUnknown_02022D08].data[13] = 0;
- gTasks[gUnknown_02022D08].data[14] = 0;
- gTasks[gUnknown_02022D08].data[15] = 0;
+ sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0);
+ gTasks[sLinkSendTaskId].data[11] = 0;
+ gTasks[sLinkSendTaskId].data[12] = 0;
+ gTasks[sLinkSendTaskId].data[13] = 0;
+ gTasks[sLinkSendTaskId].data[14] = 0;
+ gTasks[sLinkSendTaskId].data[15] = 0;
- gUnknown_02022D09 = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
- gTasks[gUnknown_02022D09].data[12] = 0;
- gTasks[gUnknown_02022D09].data[13] = 0;
- gTasks[gUnknown_02022D09].data[14] = 0;
- gTasks[gUnknown_02022D09].data[15] = 0;
+ sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
+ gTasks[sLinkReceiveTaskId].data[12] = 0;
+ gTasks[sLinkReceiveTaskId].data[13] = 0;
+ gTasks[sLinkReceiveTaskId].data[14] = 0;
+ gTasks[sLinkReceiveTaskId].data[15] = 0;
- gUnknown_02022D0A = 0;
+ sUnknown_02022D0A = 0;
}
enum
@@ -716,24 +716,24 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data)
s32 i;
alignedSize = size - size % 4 + 4;
- if (gTasks[gUnknown_02022D08].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
+ if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
{
- gTasks[gUnknown_02022D08].data[12] = gTasks[gUnknown_02022D08].data[14];
- gTasks[gUnknown_02022D08].data[14] = 0;
+ gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14];
+ gTasks[sLinkSendTaskId].data[14] = 0;
}
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
for (i = 0; i < size; i++)
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_DATA + i] = data[i];
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i];
- gTasks[gUnknown_02022D08].data[14] = gTasks[gUnknown_02022D08].data[14] + alignedSize + LINK_BUFF_DATA;
+ gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA;
}
static void Task_HandleSendLinkBuffersData(u8 taskId)
@@ -845,19 +845,19 @@ void sub_8033648(void)
#endif
r6 = gBlockRecvBuffer[i][2];
- if (gTasks[gUnknown_02022D09].data[14] + 9 + r6 > 0x1000)
+ if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000)
{
- gTasks[gUnknown_02022D09].data[12] = gTasks[gUnknown_02022D09].data[14];
- gTasks[gUnknown_02022D09].data[14] = 0;
+ gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14];
+ gTasks[sLinkReceiveTaskId].data[14] = 0;
}
- dest = &gLinkBattleRecvBuffer[gTasks[gUnknown_02022D09].data[14]];
+ dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
src = recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
- gTasks[gUnknown_02022D09].data[14] = gTasks[gUnknown_02022D09].data[14] + r6 + 8;
+ gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8;
}
}
}
diff --git a/src/battle_dome.c b/src/battle_dome.c
index 8de1c058c..0f5721fb9 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -3,6 +3,7 @@
#include "battle.h"
#include "battle_setup.h"
#include "battle_tower.h"
+#include "frontier_util.h"
#include "battle_message.h"
#include "event_data.h"
#include "overworld.h"
@@ -25,6 +26,7 @@
#include "international_string_util.h"
#include "trainer_pokemon_sprites.h"
#include "scanline_effect.h"
+#include "graphics.h"
#include "constants/species.h"
#include "constants/moves.h"
#include "constants/trainers.h"
@@ -55,51 +57,21 @@ struct UnkStruct_860DD10
};
extern void sub_81B8558(void);
-extern u32 sub_81A39C4(void);
-extern u16 sub_8162548(u8, u8);
-extern u16 RandomizeFacilityTrainerMonId(u16);
-extern u8 GetFacilityEnemyMonLevel(void);
-extern u16 sub_81A5060(u8 monId, u8 moveSlotId);
-extern u8 sub_81A50F0(u8, u8);
-extern u8 sub_81A50B0(u8);
-extern void sub_8162614(u16, u8);
+extern u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId);
+extern u8 GetFrontierBrainMonEvs(u8, u8);
+extern u8 GetFrontierBrainMonNature(u8);
extern void sub_81A4C30(void);
-extern bool8 sub_81A3610(void);
-extern u16 sub_81A4FF0(u8);
-extern u8 GetFrontierTrainerFrontSpriteId(u16);
-extern u8 GetFrontierOpponentClass(u16);
-extern void ReducePlayerPartyToThree(void);
-
-extern u8 gUnknown_0203CEF8[];
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
-extern u16 gBattle_BG3_Y;
+extern u8 sub_81A3610(void);
+extern u16 GetFrontierBrainMonSpecies(u8);
+extern void ReducePlayerPartyToSelectedMons(void);
+
+extern u8 gSelectedOrderFromParty[];
extern const u16 gBattleFrontierHeldItems[];
extern const struct FacilityMon gBattleFrontierMons[];
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern const struct SpriteTemplate gUnknown_0860CFA8;
-// gfx
-extern const u8 gUnknown_08D83D50[];
-extern const u8 gUnknown_08D84970[];
-extern const u8 gUnknown_08D84F00[];
-extern const u8 gUnknown_08D85444[];
-extern const u8 gUnknown_08D85358[];
-extern const u8 gUnknown_08D85600[];
-extern const u8 gUnknown_08D854C8[];
-extern const u8 gUnknown_08D82F10[];
-extern const u8 gUnknown_08D834FC[];
-extern const u8 gUnknown_08D83B2C[];
-extern const u8 gUnknown_08D83C3C[];
-extern const u8 gUnknown_08D83900[];
-extern const u8 gBattleFrontierGfx_DomeOptions[];
-
// text
extern const u8 gTrainerClassNames[][0xD];
@@ -806,7 +778,7 @@ static const struct BgTemplate gUnknown_0860CE84[4] =
static const struct WindowTemplate gUnknown_0860CE94[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 3,
.width = 8,
@@ -815,7 +787,7 @@ static const struct WindowTemplate gUnknown_0860CE94[] =
.baseBlock = 16,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 3,
.width = 8,
@@ -824,7 +796,7 @@ static const struct WindowTemplate gUnknown_0860CE94[] =
.baseBlock = 144,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 8,
.tilemapTop = 1,
.width = 14,
@@ -838,7 +810,7 @@ static const struct WindowTemplate gUnknown_0860CE94[] =
static const struct WindowTemplate gUnknown_0860CEB4[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 2,
.width = 26,
@@ -847,7 +819,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 1,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 5,
.width = 8,
@@ -856,7 +828,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 53,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 19,
.tilemapTop = 7,
.width = 9,
@@ -865,7 +837,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 69,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 10,
.width = 8,
@@ -874,7 +846,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 96,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 12,
.width = 26,
@@ -883,7 +855,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 112,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 5,
.tilemapTop = 2,
.width = 23,
@@ -892,7 +864,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 294,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 5,
.width = 8,
@@ -901,7 +873,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 340,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 20,
.tilemapTop = 5,
.width = 8,
@@ -910,7 +882,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 356,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 16,
.width = 26,
@@ -919,7 +891,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 372,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 2,
.width = 26,
@@ -928,7 +900,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 1,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 16,
.tilemapTop = 5,
.width = 8,
@@ -937,7 +909,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 53,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 19,
.tilemapTop = 7,
.width = 9,
@@ -946,7 +918,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 69,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 16,
.tilemapTop = 10,
.width = 8,
@@ -955,7 +927,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 96,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 12,
.width = 26,
@@ -964,7 +936,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 112,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 5,
.tilemapTop = 2,
.width = 23,
@@ -973,7 +945,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 294,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 5,
.width = 8,
@@ -982,7 +954,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 340,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 20,
.tilemapTop = 5,
.width = 8,
@@ -991,7 +963,7 @@ static const struct WindowTemplate gUnknown_0860CEB4[] =
.baseBlock = 356,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 16,
.width = 26,
@@ -2424,11 +2396,11 @@ static void sub_818E9CC(void)
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.field_CA8 = 0;
- gSaveBlock2Ptr->frontier.field_CB2 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]))
- gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
@@ -2442,7 +2414,7 @@ static void sub_818EA84(void)
switch (gSpecialVar_0x8005)
{
case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode];
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
break;
case 1:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode]) != 0);
@@ -2493,8 +2465,8 @@ static void sub_818EA84(void)
break;
case 8:
sub_81B8558();
- gUnknown_0203CEF8[0] = gSaveBlock2Ptr->frontier.field_CB0;
- gUnknown_0203CEF8[1] = gSaveBlock2Ptr->frontier.field_CB0 >> 8;
+ gSelectedOrderFromParty[0] = gSaveBlock2Ptr->frontier.field_CB0;
+ gSelectedOrderFromParty[1] = gSaveBlock2Ptr->frontier.field_CB0 >> 8;
break;
case 9:
gSpecialVar_Result = (gSaveBlock2Ptr->frontier.field_D0A * 2) - 3 + gSaveBlock2Ptr->frontier.field_D0B;
@@ -2510,7 +2482,7 @@ static void sub_818ED28(void)
switch (gSpecialVar_0x8005)
{
case 0:
- gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 1:
if (gSpecialVar_0x8006)
@@ -2563,7 +2535,7 @@ static void sub_818ED28(void)
}
break;
case 8:
- gSaveBlock2Ptr->frontier.field_CB0 = T1_READ_16(gUnknown_0203CEF8);
+ gSaveBlock2Ptr->frontier.field_CB0 = T1_READ_16(gSelectedOrderFromParty);
break;
}
}
@@ -2575,7 +2547,7 @@ static void InitDomeTrainers(void)
s32 species[3];
s32 monTypesBits, monTypesCount;
s32 trainerId;
- s32 monTournamentId;
+ s32 monSetId;
u16 *statSums;
s32 *statValues;
u8 ivs = 0;
@@ -2595,13 +2567,13 @@ static void InitDomeTrainers(void)
for (i = 0; i < 3; i++)
{
- gSaveBlock2Ptr->frontier.domeMonId[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_SPECIES, NULL);
+ gSaveBlock2Ptr->frontier.domeMonIds[0][i] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_SPECIES, NULL);
for (j = 0; j < 4; j++)
- gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_MOVE1 + j, NULL);
+ gSaveBlock2Ptr->frontier.field_EFC[i].moves[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + j, NULL);
for (j = 0; j < 6; j++)
- gSaveBlock2Ptr->frontier.field_EFC[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1], MON_DATA_HP_EV + j, NULL);
+ gSaveBlock2Ptr->frontier.field_EFC[i].evs[j] = GetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HP_EV + j, NULL);
- gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.field_CAA[i] - 1]);
+ gSaveBlock2Ptr->frontier.field_EFC[i].nature = GetNature(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1]);
}
for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
@@ -2610,7 +2582,7 @@ static void InitDomeTrainers(void)
{
do
{
- trainerId = sub_8162548(sub_81A39C4(), 0);
+ trainerId = sub_8162548(GetCurrentFacilityWinStreak(), 0);
for (j = 1; j < i; j++)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId)
@@ -2623,7 +2595,7 @@ static void InitDomeTrainers(void)
{
do
{
- trainerId = sub_8162548(sub_81A39C4() + 1, 0);
+ trainerId = sub_8162548(GetCurrentFacilityWinStreak() + 1, 0);
for (j = 1; j < i; j++)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId == trainerId)
@@ -2638,20 +2610,20 @@ static void InitDomeTrainers(void)
// Make sure the mon is valid.
do
{
- monTournamentId = RandomizeFacilityTrainerMonId(trainerId);
+ monSetId = RandomizeFacilityTrainerMonSet(trainerId);
for (k = 0; k < j; k++)
{
- s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonId[i][k];
- if (checkingMonId == monTournamentId
- || species[0] == gFacilityTrainerMons[monTournamentId].species
- || species[1] == gFacilityTrainerMons[monTournamentId].species
- || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monTournamentId].itemTableId)
+ s32 checkingMonSetId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
+ if (checkingMonSetId == monSetId
+ || species[0] == gFacilityTrainerMons[monSetId].species
+ || species[1] == gFacilityTrainerMons[monSetId].species
+ || gFacilityTrainerMons[checkingMonSetId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
break;
}
} while (k != j);
- gSaveBlock2Ptr->frontier.domeMonId[i][j] = monTournamentId;
- species[j] = gFacilityTrainerMons[monTournamentId].species;
+ gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId;
+ species[j] = gFacilityTrainerMons[monSetId].species;
}
gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0;
@@ -2663,7 +2635,7 @@ static void InitDomeTrainers(void)
statSums[0] = 0;
for (i = 0; i < 3; i++)
{
- trainerId = gSaveBlock2Ptr->frontier.field_CAA[i] - 1; // Great variable choice, gamefreak.
+ trainerId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1; // Great variable choice, gamefreak.
statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_ATK, NULL);
statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_DEF, NULL);
statSums[0] += GetMonData(&gPlayerParty[trainerId], MON_DATA_SPATK, NULL);
@@ -2681,7 +2653,7 @@ static void InitDomeTrainers(void)
monTypesBits >>= 1;
}
- monLevel = GetFacilityEnemyMonLevel();
+ monLevel = SetFacilityPtrsGetLevel();
statSums[0] += (monTypesCount * monLevel) / 20;
for (i = 1; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
@@ -2691,10 +2663,10 @@ static void InitDomeTrainers(void)
ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
for (j = 0; j < 3; j++)
{
- CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species,
+ CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
monLevel, ivs,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].evSpread,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].nature,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature,
statValues);
statSums[i] += statValues[STAT_ATK];
@@ -2703,8 +2675,8 @@ static void InitDomeTrainers(void)
statSums[i] += statValues[STAT_SPDEF];
statSums[i] += statValues[STAT_SPEED];
statSums[i] += statValues[STAT_HP];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type1];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type2];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2];
}
for (monTypesCount = 0, j = 0; j < 32; j++)
@@ -2757,7 +2729,7 @@ static void InitDomeTrainers(void)
}
for (i = 0; i < 3; i++)
- gSaveBlock2Ptr->frontier.domeMonId[j][i] = sub_81A4FF0(i);
+ gSaveBlock2Ptr->frontier.domeMonIds[j][i] = GetFrontierBrainMonSpecies(i);
}
Free(statSums);
@@ -2776,17 +2748,17 @@ static void CalcDomeMonStats(u16 species, s32 level, s32 ivs, u8 evBits, u8 natu
s32 i, count;
u8 bits;
u16 resultingEvs;
- s32 evs[6];
+ s32 evs[NUM_STATS];
count = 0, bits = evBits;
- for (i = 0; i < 6; bits >>= 1, i++)
+ for (i = 0; i < NUM_STATS; bits >>= 1, i++)
{
if (bits & 1)
count++;
}
resultingEvs = MAX_TOTAL_EVS / count;
- for (i = 0; i < 6; bits <<= 1, i++)
+ for (i = 0; i < NUM_STATS; bits <<= 1, i++)
{
evs[i] = 0;
if (evBits & bits)
@@ -2819,17 +2791,17 @@ static void SwapDomeTrainers(s32 id1, s32 id2, u16 *statsArray)
SWAP(gSaveBlock2Ptr->frontier.domeTrainers[id1].trainerId, gSaveBlock2Ptr->frontier.domeTrainers[id2].trainerId, temp);
for (i = 0; i < 3; i++)
- SWAP(gSaveBlock2Ptr->frontier.domeMonId[id1][i], gSaveBlock2Ptr->frontier.domeMonId[id2][i], temp);
+ SWAP(gSaveBlock2Ptr->frontier.domeMonIds[id1][i], gSaveBlock2Ptr->frontier.domeMonIds[id2][i], temp);
}
static void sub_818F9B0(void)
{
- StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]);
+ StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.curChallengeBattleNum]);
}
static void sub_818F9E0(void)
{
- StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.field_CB2]);
+ StringCopy(gStringVar1, gRoundsStringTable[gSaveBlock2Ptr->frontier.curChallengeBattleNum]);
CopyDomeTrainerName(gStringVar2, gTrainerBattleOpponent_A);
}
@@ -2847,26 +2819,26 @@ static void CreateDomeMon(u8 monPartyId, u16 tournamentTrainerId, u8 tournamentM
s32 i;
u8 happiness = 0xFF;
u8 fixedIv = GetDomeTrainerMonIvs(tournamentTrainerId); // BUG: Should be using trainerId instead of tournamentTrainerId. As a result, all Pokemon have ivs of 3.
- u8 level = GetFacilityEnemyMonLevel();
- CreateMonWithEVSpreadPersonalityOTID(&gEnemyParty[monPartyId],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].species,
+ u8 level = SetFacilityPtrsGetLevel();
+ CreateMonWithEVSpreadNatureOTID(&gEnemyParty[monPartyId],
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].species,
level,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].nature,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].nature,
fixedIv,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].evSpread, otId);
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].evSpread, otId);
happiness = 0xFF;
for (i = 0; i < 4; i++)
{
SetMonMoveSlot(&gEnemyParty[monPartyId],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].moves[i], i);
- if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION)
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].moves[i], i);
+ if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].moves[i] == MOVE_FRUSTRATION)
happiness = 0;
}
SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &happiness);
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM,
- &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][tournamentMonId]].itemTableId]);
+ &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][tournamentMonId]].itemTableId]);
}
static void CreateDomeTrainerMons(u16 tournamentTrainerId)
@@ -2876,7 +2848,7 @@ static void CreateDomeTrainerMons(u16 tournamentTrainerId)
s32 i, bits;
ZeroEnemyPartyMons();
- bits = GetTrainerMonCountInBits(tournamentTrainerId);
+ bits = GetDomeTrainerMonCountInBits(tournamentTrainerId);
otId = Random32();
if (Random() % 10 > 5)
{
@@ -2904,7 +2876,7 @@ static void CreateDomeTrainerMons(u16 tournamentTrainerId)
}
}
-s32 GetTrainerMonCountInBits(u16 tournamentTrainerId)
+s32 GetDomeTrainerMonCountInBits(u16 tournamentTrainerId)
{
s32 bits;
if (Random() & 1)
@@ -2937,12 +2909,12 @@ static s32 sub_818FCBC(u16 tournamentTrainerId, bool8 arg1)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
{
- array[i] += GetTypeEffectivenessPoints(sub_81A5060(i, moveId),
+ array[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0);
}
else
{
- array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId],
+ array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][i]].moves[moveId],
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 0);
}
}
@@ -2965,12 +2937,12 @@ static s32 sub_818FDB8(u16 tournamentTrainerId, bool8 arg1)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[tournamentTrainerId].trainerId == TRAINER_FRONTIER_BRAIN)
{
- array[i] += GetTypeEffectivenessPoints(sub_81A5060(i, moveId),
+ array[i] += GetTypeEffectivenessPoints(GetFrontierBrainMonMove(i, moveId),
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1);
}
else
{
- array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentTrainerId][i]].moves[moveId],
+ array[i] += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentTrainerId][i]].moves[moveId],
GetMonData(&gPlayerParty[playerMonId], MON_DATA_SPECIES, NULL), 1);
}
}
@@ -3480,12 +3452,12 @@ static void sub_8190298(void)
static u16 TrainerIdOfPlayerOpponent(void)
{
- return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.field_CB2, TRAINER_PLAYER)].trainerId;
+ return gSaveBlock2Ptr->frontier.domeTrainers[TournamentIdOfOpponent(gSaveBlock2Ptr->frontier.curChallengeBattleNum, TRAINER_PLAYER)].trainerId;
}
static void sub_81902E4(void)
{
- sub_8162614(gTrainerBattleOpponent_A, 0);
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
static void sub_81902F8(void)
@@ -3501,13 +3473,13 @@ static void sub_819033C(void)
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- if (gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] < 999)
- gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode]++;
- if (gSaveBlock2Ptr->frontier.field_D1C[battleMode][lvlMode] < 999)
- gSaveBlock2Ptr->frontier.field_D1C[battleMode][lvlMode]++;
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < 999)
+ gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]++;
+ if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < 999)
+ gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode]++;
- if (gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.field_D14[battleMode][lvlMode])
- gSaveBlock2Ptr->frontier.field_D14[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_D0C[battleMode][lvlMode];
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode])
+ gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
}
static void ShowDomeOpponentInfo(void)
@@ -3819,7 +3791,7 @@ static void sub_8190B40(struct Sprite *sprite)
s32 taskId1 = sprite->data[0];
s32 arrId = gTasks[gTasks[taskId1].data[4]].data[1];
s32 tournmanetTrainerId = gUnknown_0860D080[arrId];
- s32 r12 = gSaveBlock2Ptr->frontier.field_CB2;
+ s32 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gTasks[taskId1].data[3] == 1)
{
@@ -3831,7 +3803,7 @@ static void sub_8190B40(struct Sprite *sprite)
sprite->invisible = FALSE;
}
else if (!gSaveBlock2Ptr->frontier.domeTrainers[tournmanetTrainerId].isEliminated
- && sBattleDomeStruct->unk_10 - 1 < r12)
+ && sBattleDomeStruct->unk_10 - 1 < roundId)
{
sprite->invisible = FALSE;
}
@@ -4635,7 +4607,7 @@ static u8 sub_819221C(u8 taskId)
s32 taskId2 = gTasks[taskId].data[4];
s32 r5 = gTasks[taskId2].data[1];
u8 r10 = gUnknown_0860D080[r5];
- u16 roundId = gSaveBlock2Ptr->frontier.field_CB2;
+ u16 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
retVal = 9;
@@ -4740,7 +4712,7 @@ static u8 sub_819221C(u8 taskId)
static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
- struct TextSubPrinter textPrinter;
+ struct TextPrinterTemplate textPrinter;
s32 i, j, k;
s32 trainerId = 0;
u8 nature = 0;
@@ -4776,7 +4748,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
if (trainerId == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i],
+ sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i],
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
@@ -4785,7 +4757,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
}
else if (trainerId == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i],
+ sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i],
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
@@ -4794,7 +4766,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
}
else
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species,
+ sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].species,
SpriteCb_MonIcon,
x | sInfoTrainerMonX[i],
y + sInfoTrainerMonY[i],
@@ -4812,14 +4784,14 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
textPrinter.currentY = textPrinter.y;
textPrinter.letterSpacing = 2;
textPrinter.lineSpacing = 0;
- textPrinter.fontColor_l = 0;
+ textPrinter.unk = 0;
textPrinter.fgColor = 14;
textPrinter.bgColor = 0;
textPrinter.shadowColor = 13;
i = 0;
if (trainerId == TRAINER_PLAYER)
- j = gFacilityClassToTrainerClass[FACILITY_CLASS_PKMN_TRAINER_BRENDAN];
+ j = gFacilityClassToTrainerClass[FACILITY_CLASS_BRENDAN];
else if (trainerId == TRAINER_FRONTIER_BRAIN)
j = GetDomeBrainTrainerClass();
else
@@ -4846,7 +4818,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
}
textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, gStringVar1, 0xD0, textPrinter.letterSpacing);
- textPrinter.current_text_offset = gStringVar1;
+ textPrinter.currentChar = gStringVar1;
textPrinter.windowId = windowId;
PutWindowTilemap(windowId);
CopyWindowToVram(windowId, 3);
@@ -4857,11 +4829,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
textPrinter.currentY = gUnknown_0860D346[i];
if (trainerId == TRAINER_PLAYER)
- textPrinter.current_text_offset = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]];
+ textPrinter.currentChar = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]];
else if (trainerId == TRAINER_FRONTIER_BRAIN)
- textPrinter.current_text_offset = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]];
+ textPrinter.currentChar = gSpeciesNames[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]];
else
- textPrinter.current_text_offset = gSpeciesNames[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].species];
+ textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].species];
textPrinter.windowId = 1 + i + windowId;
if (i == 1)
@@ -4877,9 +4849,9 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
PutWindowTilemap(windowId + 4);
CopyWindowToVram(windowId + 4, 3);
if (trainerId == TRAINER_FRONTIER_BRAIN)
- textPrinter.current_text_offset = gBattleDomePotentialPointers[16];
+ textPrinter.currentChar = gBattleDomePotentialPointers[16];
else
- textPrinter.current_text_offset = gBattleDomePotentialPointers[trainerTournamentId];
+ textPrinter.currentChar = gBattleDomePotentialPointers[trainerTournamentId];
textPrinter.fontId = 1;
textPrinter.windowId = windowId + 4;
@@ -4895,11 +4867,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
for (k = 0; k < DOME_TOURNAMENT_TRAINERS_COUNT; k++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
- allocatedArray[k] += sMovePointsForDomeTrainers[sub_81A5060(i, j)][k];
+ allocatedArray[k] += sMovePointsForDomeTrainers[GetFrontierBrainMonMove(i, j)][k];
else if (trainerId == TRAINER_PLAYER)
allocatedArray[k] += sMovePointsForDomeTrainers[gSaveBlock2Ptr->frontier.field_EFC[i].moves[j]][k];
else
- allocatedArray[k] += sMovePointsForDomeTrainers[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].moves[j]][k];
+ allocatedArray[k] += sMovePointsForDomeTrainers[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].moves[j]][k];
}
}
}
@@ -4921,7 +4893,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
break;
}
- textPrinter.current_text_offset = gBattleDomeOpponentStylePointers[i];
+ textPrinter.currentChar = gBattleDomeOpponentStylePointers[i];
textPrinter.y = 20;
textPrinter.currentY = 20;
AddTextPrinter(&textPrinter, 0, NULL);
@@ -4936,7 +4908,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
for (j = 0; j < 6; j++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
- allocatedArray[j] = sub_81A50F0(i, j);
+ allocatedArray[j] = GetFrontierBrainMonEvs(i, j);
else
allocatedArray[j] = gSaveBlock2Ptr->frontier.field_EFC[i].evs[j];
}
@@ -4944,7 +4916,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
for (j = 0; j < 5; j++)
{
if (trainerId == TRAINER_FRONTIER_BRAIN)
- nature = sub_81A50B0(i);
+ nature = GetFrontierBrainMonNature(i);
else
nature = gSaveBlock2Ptr->frontier.field_EFC[i].nature;
@@ -4972,8 +4944,8 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
{
for (i = 0; i < 3; i++)
{
- s32 evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].evSpread;
- for (k = 0, j = 0; j < 6; j++)
+ s32 evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread;
+ for (k = 0, j = 0; j < NUM_STATS; j++)
{
allocatedArray[j] = 0;
if (evBits & 1)
@@ -4981,8 +4953,8 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
evBits >>= 1;
}
k = MAX_TOTAL_EVS / k;
- evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].evSpread;
- for (j = 0; j < 6; j++)
+ evBits = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].evSpread;
+ for (j = 0; j < NUM_STATS; j++)
{
if (evBits & 1)
allocatedArray[j] = k;
@@ -4992,7 +4964,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
allocatedArray[6] += allocatedArray[0];
for (j = 0; j < 5; j++)
{
- nature = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[trainerTournamentId][i]].nature;
+ nature = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[trainerTournamentId][i]].nature;
if (gNatureStatTable[nature][j] > 0)
{
allocatedArray[j + 7] += (allocatedArray[j + 1] * 110) / 100;
@@ -5093,7 +5065,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
else
i = 42;
- textPrinter.current_text_offset = gBattleDomeOpponentStatsPointers[i];
+ textPrinter.currentChar = gBattleDomeOpponentStatsPointers[i];
textPrinter.y = 36;
textPrinter.currentY = 36;
AddTextPrinter(&textPrinter, 0, NULL);
@@ -5164,7 +5136,7 @@ static s32 sub_8192F08(u8 arg0, u8 *arg1)
static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
{
- struct TextSubPrinter textPrinter;
+ struct TextPrinterTemplate textPrinter;
s32 tournamentIds[2];
s32 trainerIds[2];
bool32 lost[2];
@@ -5230,7 +5202,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
{
if (trainerIds[0] == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i],
+ sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i],
SpriteCb_MonIcon,
x | sFirstTrainerMonX[i],
y + sFirstTrainerMonY[i],
@@ -5239,7 +5211,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
}
else if (trainerIds[0] == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i],
+ sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i],
SpriteCb_MonIcon,
x | sFirstTrainerMonX[i],
y + sFirstTrainerMonY[i],
@@ -5248,7 +5220,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
}
else
{
- sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[0]][i]].species,
+ sBattleDomeStruct->arr[2 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[0]][i]].species,
SpriteCb_MonIcon,
x | sFirstTrainerMonX[i],
y + sFirstTrainerMonY[i],
@@ -5270,7 +5242,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
{
if (trainerIds[1] == TRAINER_PLAYER)
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i],
+ sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i],
SpriteCb_MonIcon,
x | sSecondTrainerMonX[i],
y + sSecondTrainerMonY[i],
@@ -5279,7 +5251,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
}
else if (trainerIds[1] == TRAINER_FRONTIER_BRAIN)
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i],
+ sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i],
SpriteCb_MonIcon,
x | sSecondTrainerMonX[i],
y + sSecondTrainerMonY[i],
@@ -5288,7 +5260,7 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
}
else
{
- sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentIds[1]][i]].species,
+ sBattleDomeStruct->arr[5 + i + arrId] = CreateMonIcon(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentIds[1]][i]].species,
SpriteCb_MonIcon,
x | sSecondTrainerMonX[i],
y + sSecondTrainerMonY[i],
@@ -5312,12 +5284,12 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
textPrinter.currentY = textPrinter.y;
textPrinter.letterSpacing = 0;
textPrinter.lineSpacing = 0;
- textPrinter.fontColor_l = 0;
+ textPrinter.unk = 0;
textPrinter.fgColor = 14;
textPrinter.bgColor = 0;
textPrinter.shadowColor = 13;
StringExpandPlaceholders(gStringVar4, gBattleDomeWinStringsPointers[winStringId]);
- textPrinter.current_text_offset = gStringVar4;
+ textPrinter.currentChar = gStringVar4;
textPrinter.windowId = windowId + 8;
textPrinter.fontId = 1;
PutWindowTilemap(windowId + 8);
@@ -5336,9 +5308,9 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
textPrinter.fontId = 2;
textPrinter.letterSpacing = 2;
- textPrinter.current_text_offset = gStringVar1;
+ textPrinter.currentChar = gStringVar1;
textPrinter.windowId = windowId + 6;
- textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x40, textPrinter.letterSpacing);
+ textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x40, textPrinter.letterSpacing);
textPrinter.currentY = textPrinter.y = 2;
PutWindowTilemap(windowId + 6);
CopyWindowToVram(windowId + 6, 3);
@@ -5352,9 +5324,9 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
else
CopyDomeTrainerName(gStringVar1, trainerIds[1]);
- textPrinter.current_text_offset = gStringVar1;
+ textPrinter.currentChar = gStringVar1;
textPrinter.windowId = windowId + 7;
- textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x40, textPrinter.letterSpacing);
+ textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x40, textPrinter.letterSpacing);
textPrinter.currentY = textPrinter.y = 2;
PutWindowTilemap(windowId + 7);
CopyWindowToVram(windowId + 7, 3);
@@ -5362,9 +5334,9 @@ static void DisplayMatchInfoOnCard(u8 flags, u8 matchNo)
// Print match number.
textPrinter.letterSpacing = 0;
- textPrinter.current_text_offset = gBattleDomeMatchNumberPointers[matchNo];
+ textPrinter.currentChar = gBattleDomeMatchNumberPointers[matchNo];
textPrinter.windowId = windowId + 5;
- textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0xA0, textPrinter.letterSpacing);
+ textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0xA0, textPrinter.letterSpacing);
textPrinter.currentY = textPrinter.y = 2;
PutWindowTilemap(windowId + 5);
CopyWindowToVram(windowId + 5, 3);
@@ -5387,7 +5359,7 @@ static void sub_81938E0(void)
sub_8194D48();
gSaveBlock2Ptr->frontier.lvlMode = gSaveBlock2Ptr->frontier.field_D0A - 1;
- gSaveBlock2Ptr->frontier.field_CB2 = 3;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 3;
taskId = CreateTask(sub_8194220, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
@@ -5489,7 +5461,7 @@ static u8 sub_8193BDC(u8 taskId)
u8 retVal = 1;
s32 arrId = 4;
s32 spriteId = gTasks[taskId].data[1];
- s32 roundId = gSaveBlock2Ptr->frontier.field_CB2;
+ s32 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (gMain.newKeys == B_BUTTON || (gMain.newKeys & A_BUTTON && spriteId == 31))
{
@@ -5550,19 +5522,19 @@ static void sub_8193D7C(void)
if (gSpecialVar_0x8005 == 1)
{
gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.field_CB2;
+ gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(gTrainerBattleOpponent_A)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(gTrainerBattleOpponent_A)] = gBattleResults.lastUsedMovePlayer;
- if (gSaveBlock2Ptr->frontier.field_CB2 < DOME_FINAL)
- DecideRoundWinners(gSaveBlock2Ptr->frontier.field_CB2);
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < DOME_FINAL)
+ DecideRoundWinners(gSaveBlock2Ptr->frontier.curChallengeBattleNum);
}
else
{
gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].isEliminated = 1;
- gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.field_CB2;
+ gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].eliminatedAt = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
gSaveBlock2Ptr->frontier.field_EC0[TrainerIdToTournamentId(TRAINER_PLAYER)] = gBattleResults.lastUsedMoveOpponent;
if (gBattleOutcome == B_OUTCOME_FORFEITED || gSpecialVar_0x8005 == 9)
gSaveBlock2Ptr->frontier.domeTrainers[TrainerIdToTournamentId(TRAINER_PLAYER)].unk3 = 1;
- for (i = gSaveBlock2Ptr->frontier.field_CB2; i < DOME_ROUNDS_COUNT; i++)
+ for (i = gSaveBlock2Ptr->frontier.curChallengeBattleNum; i < DOME_ROUNDS_COUNT; i++)
DecideRoundWinners(i);
}
}
@@ -5575,7 +5547,7 @@ static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roun
u16 bestScore = 0;
u16 bestId = 0;
s32 movePower = 0;
- GetFacilityEnemyMonLevel(); // Unused return variable.
+ SetFacilityPtrsGetLevel();
// Calc move points of all 4 moves for all 3 pokemon hitting all 3 target mons.
for (i = 0; i < 3; i++)
@@ -5584,9 +5556,9 @@ static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roun
{
moveScores[i * 4 + j] = 0;
if (gSaveBlock2Ptr->frontier.domeTrainers[winnerTournamentId].trainerId == TRAINER_FRONTIER_BRAIN)
- moveIds[i * 4 + j] = sub_81A5060(i, j);
+ moveIds[i * 4 + j] = GetFrontierBrainMonMove(i, j);
else
- moveIds[i * 4 + j] = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[winnerTournamentId][i]].moves[j];
+ moveIds[i * 4 + j] = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[winnerTournamentId][i]].moves[j];
movePower = gBattleMoves[moveIds[i * 4 + j]].power;
if (movePower == 0)
@@ -5604,9 +5576,9 @@ static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roun
do
{
var = Random32();
- } while (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[loserTournamentId][k]].nature != GetNatureFromPersonality(var));
+ } while (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].nature != GetNatureFromPersonality(var));
- targetSpecies = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[loserTournamentId][k]].species;
+ targetSpecies = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[loserTournamentId][k]].species;
if (var & 1)
targetAbility = gBaseStats[targetSpecies].ability2;
else
@@ -5683,7 +5655,7 @@ static u16 GetWinningMove(s32 winnerTournamentId, s32 loserTournamentId, u8 roun
static void sub_8194220(u8 taskId)
{
s32 i;
- struct TextSubPrinter textPrinter;
+ struct TextPrinterTemplate textPrinter;
s32 r10 = gTasks[taskId].data[1];
s32 r4 = gTasks[taskId].data[2];
@@ -5760,22 +5732,22 @@ static void sub_8194220(u8 taskId)
break;
case 4:
textPrinter.fontId = 2;
- textPrinter.current_text_offset = gText_BattleTourney;
+ textPrinter.currentChar = gText_BattleTourney;
textPrinter.windowId = 2;
textPrinter.x = 0;
textPrinter.y = 0;
textPrinter.letterSpacing = 2;
textPrinter.lineSpacing = 0;
- textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.current_text_offset, 0x70, textPrinter.letterSpacing);
+ textPrinter.currentX = GetStringCenterAlignXOffsetWithLetterSpacing(textPrinter.fontId, textPrinter.currentChar, 0x70, textPrinter.letterSpacing);
textPrinter.currentY = 1;
- textPrinter.fontColor_l = 0;
+ textPrinter.unk = 0;
textPrinter.fgColor = 14;
textPrinter.bgColor = 0;
textPrinter.shadowColor = 13;
AddTextPrinter(&textPrinter, 0, NULL);
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
- s32 var, var2;
+ s32 roundId, var2;
CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
if (r10 == 1)
@@ -5788,9 +5760,9 @@ static void sub_8194220(u8 taskId)
sub_81948EC(i, var2);
}
}
- else if (gSaveBlock2Ptr->frontier.field_CB2 != DOME_ROUND2)
+ else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND2)
{
- sub_81948EC(i, gSaveBlock2Ptr->frontier.field_CB2 - 2);
+ sub_81948EC(i, gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2);
}
}
else if (r10 == 0)
@@ -5803,23 +5775,23 @@ static void sub_8194220(u8 taskId)
sub_81948EC(i, var2);
}
}
- else if (gSaveBlock2Ptr->frontier.field_CB2 != DOME_ROUND1)
+ else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum != DOME_ROUND1)
{
if (gTasks[taskId].data[4])
- var2 = gSaveBlock2Ptr->frontier.field_CB2;
+ var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
else
- var2 = gSaveBlock2Ptr->frontier.field_CB2 - 1;
+ var2 = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
sub_81948EC(i, var2);
}
}
if (gTasks[taskId].data[4])
- var = gSaveBlock2Ptr->frontier.field_CB2;
+ roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
else
- var = gSaveBlock2Ptr->frontier.field_CB2 - 1;
+ roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
- if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt < gSaveBlock2Ptr->frontier.field_CB2 - 1)
- || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt <= var))
+ if ( ((r10 == 1 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1)
+ || (r10 == 0 && gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt <= roundId))
&& gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
{
if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId == TRAINER_PLAYER)
@@ -5851,7 +5823,7 @@ static void sub_8194220(u8 taskId)
textPrinter.currentX = GetStringWidthDifference(textPrinter.fontId, gDisplayedStringBattle, 0x3D, textPrinter.letterSpacing);
else
textPrinter.currentX = 3;
- textPrinter.current_text_offset = gDisplayedStringBattle;
+ textPrinter.currentChar = gDisplayedStringBattle;
textPrinter.windowId = gUnknown_0860D3F1[i][0];
textPrinter.currentY = gUnknown_0860D3F1[i][1];
AddTextPrinter(&textPrinter, 0, NULL);
@@ -5919,7 +5891,7 @@ static void sub_81948EC(u8 tournamentId, u8 arg1)
static void sub_8194950(u8 taskId)
{
s32 i;
- struct TextSubPrinter textPrinter;
+ struct TextPrinterTemplate textPrinter;
switch (gTasks[taskId].data[0])
{
@@ -5937,14 +5909,14 @@ static void sub_8194950(u8 taskId)
textPrinter.y = 0;
textPrinter.letterSpacing = 2;
textPrinter.lineSpacing = 0;
- textPrinter.fontColor_l = 0;
+ textPrinter.unk = 0;
textPrinter.fgColor = 11;
textPrinter.bgColor = 0;
textPrinter.shadowColor = 13;
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
{
CopyDomeTrainerName(gDisplayedStringBattle, gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt == gSaveBlock2Ptr->frontier.field_CB2 - 1
+ if (gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt == gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1
&& gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
{
if (gUnknown_0860D3F1[i][0] == 0)
@@ -5952,15 +5924,15 @@ static void sub_8194950(u8 taskId)
else
textPrinter.currentX = 3;
- textPrinter.current_text_offset = gDisplayedStringBattle;
+ textPrinter.currentChar = gDisplayedStringBattle;
textPrinter.windowId = gUnknown_0860D3F1[i][0];
textPrinter.currentY = gUnknown_0860D3F1[i][1];
AddTextPrinter(&textPrinter, 0, NULL);
}
if (!gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated)
{
- s32 var = gSaveBlock2Ptr->frontier.field_CB2 - 1;
- sub_81948EC(i, var);
+ s32 roundId = gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1;
+ sub_81948EC(i, roundId);
}
}
}
@@ -6098,7 +6070,7 @@ static void sub_8194D68(void)
for (i = 0; i < 2; i++)
{
- s32 playerMonId = gSaveBlock2Ptr->frontier.field_CAA[gUnknown_0203CEF8[i] - 1] - 1;
+ s32 playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
s32 count;
for (moveSlot = 0; moveSlot < 4; moveSlot++)
@@ -6124,7 +6096,7 @@ static void sub_8194E44(void)
for (i = 0; i < 2; i++)
{
- s32 playerMonId = gSaveBlock2Ptr->frontier.field_CAA[gUnknown_0203CEF8[i] - 1] - 1;
+ s32 playerMonId = gSaveBlock2Ptr->frontier.selectedPartyMons[gSelectedOrderFromParty[i] - 1] - 1;
u16 item = GetMonData(&gSaveBlock1Ptr->playerParty[playerMonId], MON_DATA_HELD_ITEM, NULL);
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
}
@@ -6132,7 +6104,7 @@ static void sub_8194E44(void)
static void sub_8194EB4(void)
{
- ReducePlayerPartyToThree();
+ ReducePlayerPartyToSelectedMons();
}
static void sub_8194EC0(void)
@@ -6163,7 +6135,7 @@ static void sub_8194F58(void)
s32 species[3];
s32 monTypesBits;
s32 trainerId;
- s32 monTournamentId;
+ s32 monSetId;
u8 lvlMode;
u16 *statSums;
s32 *statValues;
@@ -6210,20 +6182,20 @@ static void sub_8194F58(void)
// Make sure the mon is valid.
do
{
- monTournamentId = RandomizeFacilityTrainerMonId(trainerId);
+ monSetId = RandomizeFacilityTrainerMonSet(trainerId);
for (k = 0; k < j; k++)
{
- s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonId[i][k];
- if (checkingMonId == monTournamentId
- || species[0] == gFacilityTrainerMons[monTournamentId].species
- || species[1] == gFacilityTrainerMons[monTournamentId].species
- || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monTournamentId].itemTableId)
+ s32 checkingMonId = gSaveBlock2Ptr->frontier.domeMonIds[i][k];
+ if (checkingMonId == monSetId
+ || species[0] == gFacilityTrainerMons[monSetId].species
+ || species[1] == gFacilityTrainerMons[monSetId].species
+ || gFacilityTrainerMons[checkingMonId].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
break;
}
} while (k != j);
- gSaveBlock2Ptr->frontier.domeMonId[i][j] = monTournamentId;
- species[j] = gFacilityTrainerMons[monTournamentId].species;
+ gSaveBlock2Ptr->frontier.domeMonIds[i][j] = monSetId;
+ species[j] = gFacilityTrainerMons[monSetId].species;
}
gSaveBlock2Ptr->frontier.domeTrainers[i].isEliminated = 0;
gSaveBlock2Ptr->frontier.domeTrainers[i].eliminatedAt = 0;
@@ -6238,10 +6210,10 @@ static void sub_8194F58(void)
ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
for (j = 0; j < 3; j++)
{
- CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species,
+ CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
monLevel, ivs,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].evSpread,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].nature,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature,
statValues);
statSums[i] += statValues[STAT_ATK];
@@ -6250,8 +6222,8 @@ static void sub_8194F58(void)
statSums[i] += statValues[STAT_SPDEF];
statSums[i] += statValues[STAT_SPEED];
statSums[i] += statValues[STAT_HP];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type1];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[i][j]].species].type2];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2];
}
// Because GF hates temporary vars, trainerId acts like monTypesCount here.
@@ -6367,11 +6339,11 @@ static void DecideRoundWinners(u8 roundId)
{
for (monId2 = 0; monId2 < 3; monId2++)
{
- points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId1]].moves[moveSlot],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId2]].species, 2);
+ points1 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId1]].moves[moveSlot],
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId2]].species, 2);
}
}
- species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId1]].species;
+ species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId1]].species;
points1 += ( gBaseStats[species].baseHP
+ gBaseStats[species].baseAttack
+ gBaseStats[species].baseDefense
@@ -6390,11 +6362,11 @@ static void DecideRoundWinners(u8 roundId)
{
for (monId2 = 0; monId2 < 3; monId2++)
{
- points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId1]].moves[moveSlot],
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId1][monId2]].species, 2);
+ points2 += GetTypeEffectivenessPoints(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId1]].moves[moveSlot],
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId1][monId2]].species, 2);
}
}
- species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonId[tournamentId2][monId1]].species;
+ species = gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[tournamentId2][monId1]].species;
points2 += ( gBaseStats[species].baseHP
+ gBaseStats[species].baseAttack
+ gBaseStats[species].baseDefense
@@ -6439,7 +6411,7 @@ static void DecideRoundWinners(u8 roundId)
static void CopyDomeTrainerName(u8 *dst, u16 trainerId)
{
s32 i = 0;
- GetFacilityEnemyMonLevel(); // Unused return value.
+ SetFacilityPtrsGetLevel();
if (trainerId == TRAINER_FRONTIER_BRAIN)
{
@@ -6454,7 +6426,7 @@ static void CopyDomeTrainerName(u8 *dst, u16 trainerId)
}
else if (trainerId < 300)
{
- for (i = 0; i < FRONTIER_TRAINER_NAME_LENGTH; i++)
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
dst[i] = gFacilityTrainers[trainerId].trainerName[i];
}
dst[i] = EOS;
@@ -6475,7 +6447,7 @@ static void CopyDomeBrainTrainerName(u8 *dst)
{
s32 i;
- for (i = 0; i < FRONTIER_TRAINER_NAME_LENGTH; i++)
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
dst[i] = gTrainers[TRAINER_TUCKER].trainerName[i];
dst[i] = EOS;
}
diff --git a/src/battle_factory.c b/src/battle_factory.c
index 2c8ab1052..1d7fbafc9 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -1,4114 +1,861 @@
#include "global.h"
#include "battle_factory.h"
-#include "sprite.h"
+#include "battle_factory_screen.h"
#include "event_data.h"
+#include "battle_setup.h"
#include "overworld.h"
-#include "random.h"
+#include "frontier_util.h"
#include "battle_tower.h"
-#include "text.h"
-#include "palette.h"
-#include "task.h"
-#include "main.h"
-#include "malloc.h"
-#include "bg.h"
-#include "gpu_regs.h"
-#include "string_util.h"
-#include "international_string_util.h"
-#include "window.h"
-#include "data2.h"
-#include "decompress.h"
-#include "pokemon_summary_screen.h"
-#include "sound.h"
-#include "pokedex.h"
-#include "util.h"
-#include "trainer_pokemon_sprites.h"
+#include "random.h"
+#include "constants/species.h"
+#include "constants/battle_ai.h"
#include "constants/battle_frontier.h"
-#include "constants/songs.h"
-#include "constants/rgb.h"
-
-// Select_ refers to the first Pokemon selection screen where you choose 3 Pokemon.
-// Swap_ refers to the consecutive selection screen where you can keep your Pokemon or swap one with beaten trainer's.
-
-#define MENU_SUMMARY 0
-#define MENU_RENT 1
-#define MENU_DESELECT 1
-#define MENU_OTHERS 2
-#define MENU_OPTIONS_COUNT 3
-
-#define SELECTABLE_MONS_COUNT 6
+#include "constants/trainers.h"
+#include "constants/moves.h"
-#define TAG_PAL_BALL_GREY 0x64
-#define TAG_PAL_BALL_SELECTED 0x65
-#define TAG_PAL_66 0x66
-#define TAG_PAL_67 0x67
-
-#define TAG_TILE_64 0x64
-#define TAG_TILE_65 0x65
-#define TAG_TILE_66 0x66
-#define TAG_TILE_67 0x67
-#define TAG_TILE_68 0x68
-#define TAG_TILE_69 0x69
-#define TAG_TILE_6A 0x6A
-#define TAG_TILE_6B 0x6B
-#define TAG_TILE_6C 0x6C
-#define TAG_TILE_6D 0x6D
-
-struct FactorySelecteableMon
-{
- u16 monSetId;
- u16 spriteId;
- u8 selectedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon
- struct Pokemon monData;
-};
-
-struct UnkFactoryStruct
-{
- u8 field0;
- u8 field1;
-};
-
-struct FactorySelectMonsStruct
-{
- u8 menuCursorPos;
- u8 menuCursor1SpriteId;
- u8 menuCursor2SpriteId;
- u8 cursorPos;
- u8 cursorSpriteId;
- u8 selectingMonsState;
- bool8 fromSummaryScreen;
- u8 yesNoCursorPos;
- u8 unused8;
- struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT];
- struct UnkFactoryStruct unk294[3];
- bool8 unk2A0;
- u8 fadeSpeciesNameTaskId;
- bool8 unk2A2;
- u16 unk2A4;
- bool8 unk2A6;
- u8 unk2A7;
- u8 unk2A8;
- u8 unk2A9;
-};
-
-// 'Action' refers to the 3 Selectable mons, Cancel, Pknm for swap windows.
-#define ACTIONS_PLAYER_SCREEN 0
-#define ACTIONS_ENEMY_SCREEN 1
-
-struct SwapActionIdAndFunc
-{
- u8 id;
- void (*func)(u8 taskId);
-};
-
-struct FactorySwapMonsStruct
-{
- u8 menuCursorPos;
- u8 menuCursor1SpriteId;
- u8 menuCursor2SpriteId;
- u8 cursorPos;
- u8 cursorSpriteId;
- u8 ballSpriteIds[3];
- u8 unk8[2][3];
- u8 unkE[2][2];
- u8 playerMonId;
- u8 enemyMonId;
- bool8 inEnemyScreen;
- bool8 fromSummaryScreen;
- u8 yesNoCursorPos;
- u8 actionsCount;
- const struct SwapActionIdAndFunc *actionsData;
- u8 unused1C[4];
- bool8 monSwapped;
- u8 fadeSpeciesNameTaskId;
- bool8 unk22;
- u16 unk24;
- bool8 unk26;
- u8 unk27;
- u8 unk28;
- u8 unk29;
- struct UnkFactoryStruct unk2C;
- bool8 unk30;
-};
-
-extern u8 (*gUnknown_030062E8)(void);
-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 u8 gUnknown_085B18AC[];
+extern const u16 gBattleFrontierHeldItems[];
-extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot);
-extern u8 sub_81A6F70(u8 battleMode, u8 lvlMode);
-extern u8 sub_81A6CA8(u8 arg0, u8 arg1);
+// IWRAM bss
+static IWRAM_DATA bool8 gUnknown_03001288;
// This file's functions.
-static void sub_819A44C(struct Sprite *sprite);
-static void CB2_InitSelectScreen(void);
-static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V);
-static void Select_InitMonsData(void);
-static void Select_InitAllSprites(void);
-static void Select_ShowSummaryMonSprite(void);
-static void Select_PrintSelectMonString(void);
-static void Select_PrintMonSpecies(void);
-static void Select_PrintMonCategory(void);
-static void Select_PrintRentalPkmnString(void);
-static void Select_CopyMonsToPlayerParty(void);
-static void sub_819C4B4(void);
-static void Select_ShowYesNoOptions(void);
-static void sub_819C568(void);
-static void Select_ShowMenuOptions(void);
-static void Select_PrintMenuOptions(void);
-static void Select_PrintYesNoOptions(void);
-static void Task_SelectFadeSpeciesName(u8 taskId);
-static void sub_819C1D0(u8 taskId);
-static void Task_HandleSelectionScreenChooseMons(u8 taskId);
-static void Task_HandleSelectionScreenMenu(u8 taskId);
-static void CreateFrontierFactorySelectableMons(u8 firstMonId);
-static void CreateTentFactorySelectableMons(u8 firstMonId);
-static void Select_SetBallSpritePaletteNum(u8 id);
-static void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1);
-static void sub_819B958(u8 windowId);
-static void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen);
-static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen);
-static u8 Select_RunMenuOptionFunc(void);
-static u8 sub_819BC9C(void);
-static u8 Select_OptionSummary(void);
-static u8 Select_OptionOthers(void);
-static u8 Select_OptionRentDeselect(void);
-static bool32 Select_AreSpeciesValid(u16 monSetId);
-static void Swap_DestroyAllSprites(void);
-static void Swap_ShowYesNoOptions(void);
-static void sub_819E8EC(void);
-static void sub_819EAC0(void);
-static void Swap_UpdateYesNoCursorPosition(s8 direction);
-static void Swap_UpdateMenuCursorPosition(s8 direction);
-static void sub_819EA64(u8 windowId);
-static void sub_819D770(u8 taskId);
-static void Task_HandleSwapScreenChooseMons(u8 taskId);
-static void sub_819D588(u8 taskId);
-static void sub_819F7B4(u8 taskId);
-static void Swap_PrintOnInfoWindow(const u8 *str);
-static void Swap_ShowMenuOptions(void);
-static void Swap_PrintMenuOptions(void);
-static void Swap_PrintYesNoOptions(void);
-static void Swap_PrintMonSpecies(void);
-static void Swap_PrintMonSpecies2(void);
-static void Swap_PrintMonSpecies3(void);
-static void Swap_PrintMonCategory(void);
-static void Swap_InitAllSprites(void);
-static void Swap_PrintPkmnSwap(void);
-static void sub_819EADC(void);
-static void sub_819EAF8(void);
-static void CB2_InitSwapScreen(void);
-static void Swap_ShowSummaryMonSprite(void);
-static void Swap_UpdateActionCursorPosition(s8 direction);
-static void Swap_UpdateBallCursorPosition(s8 direction);
-static void Swap_RunMenuOptionFunc(u8 taskId);
-static void sub_819F0CC(u8 taskId);
-static void sub_819F114(u8 taskId);
-static void sub_819F134(u8 taskId);
-static void Swap_RunActionFunc(u8 taskId);
-static void sub_819F69C(u8 taskId);
-static void Task_SwapCantHaveSameMons(u8 taskId);
-static void Swap_ShowMonSprite(void);
-static void Swap_PrintActionStrings(void);
-static void Swap_PrintActionStrings2(void);
-static void Swap_PrintOneActionString(u8 which);
-static void Swap_InitActions(u8 id);
-static void sub_819E838(u8 arg0);
-static bool8 Swap_AlreadyHasSameSpecies(u8 monId);
-static void sub_819F600(struct Sprite *sprite);
-static void Swap_ActionMon(u8 taskId);
-static void Swap_ActionCancel(u8 taskId);
-static void Swap_ActionPkmnForSwap(u8 taskId);
-
-// Ewram variables
-static EWRAM_DATA u8 *sSelectMenuTilesetBuffer = NULL;
-static EWRAM_DATA u8 *sSelectMonCardBgTilesetBuffer = NULL;
-static EWRAM_DATA u8 *sSelectMenuTilemapBuffer = NULL;
-static EWRAM_DATA u8 *sSelectMonCardBgTilemapBuffer = NULL;
-static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL;
-static EWRAM_DATA u8 *sSwapMenuTilesetBuffer = NULL;
-static EWRAM_DATA u8 *sSwapMonCardBgTilesetBuffer = NULL;
-static EWRAM_DATA u8 *sSwapMenuTilemapBuffer = NULL;
-static EWRAM_DATA u8 *sSwapMonCardBgTilemapBuffer = NULL;
-
-// IWRAM bss
-static IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen;
-static IWRAM_DATA void (*sSwap_CurrentTableFunc)(u8 taskId);
-static IWRAM_DATA struct FactorySwapMonsStruct *sFactorySwapScreen;
+static void sub_81A5E94(void);
+static void sub_81A5FA8(void);
+static void sub_81A6054(void);
+static void sub_81A613C(void);
+static void nullsub_75(void);
+static void nullsub_123(void);
+static void sub_81A6188(void);
+static void sub_81A6198(void);
+static void sub_81A61A4(void);
+static void sub_81A63CC(void);
+static void sub_81A64C4(void);
+static void sub_81A63B8(void);
+static void sub_81A61B0(void);
+static void sub_81A67EC(void);
+static void sub_81A6A08(void);
+static void sub_81A6AEC(void);
+static void sub_81A6C1C(void);
+static u16 GetMonSetId(u8 lvlMode, u8 challengeNum, bool8 arg2);
+static u8 GetStyleForMove(u16 move);
// Const rom data.
-static const u16 gUnknown_0860F13C[] = INCBIN_U16("graphics/unknown/unknown_60F13C.gbapal");
-static const u16 gUnknown_0860F15C[] = INCBIN_U16("graphics/unknown/unknown_60F15C.gbapal");
-static const u16 gUnknown_0860F17C[] = INCBIN_U16("graphics/unknown/unknown_60F17C.gbapal");
-static const u8 gUnknown_0860F1BC[] = INCBIN_U8("graphics/unknown/unknown_60F1BC.4bpp");
-static const u8 gUnknown_0860F3BC[] = INCBIN_U8("graphics/unknown/unknown_60F3BC.4bpp");
-static const u8 gUnknown_0860F43C[] = INCBIN_U8("graphics/unknown/unknown_60F43C.4bpp");
-static const u8 gUnknown_0860F53C[] = INCBIN_U8("graphics/unknown/unknown_60F53C.4bpp");
-static const u8 gUnknown_0860F63C[] = INCBIN_U8("graphics/unknown/unknown_60F63C.4bpp");
-static const u8 gUnknown_0860F6BC[] = INCBIN_U8("graphics/unknown/unknown_60F6BC.4bpp");
-static const u8 gUnknown_0860F7BC[] = INCBIN_U8("graphics/unknown/unknown_60F7BC.4bpp");
-static const u8 gUnknown_0860F83C[] = INCBIN_U8("graphics/unknown/unknown_60F83C.4bpp");
-static const u8 gUnknown_0860F93C[] = INCBIN_U8("graphics/unknown/unknown_60F93C.4bpp");
-static const u8 gUnknown_0860FA3C[] = INCBIN_U8("graphics/unknown/unknown_60FA3C.4bpp");
-static const u8 gUnknown_0861023C[] = INCBIN_U8("graphics/unknown/unknown_61023C.bin");
-static const u8 gUnknown_0861033C[] = INCBIN_U8("graphics/unknown/unknown_61033C.4bpp");
-static const u16 gUnknown_0861039C[] = INCBIN_U16("graphics/unknown/unknown_61039C.gbapal");
-
-static const struct SpriteSheet gUnknown_086103BC[] =
-{
- {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65},
- {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66},
- {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), TAG_TILE_67},
- {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), TAG_TILE_6D},
- {},
-};
-
-static const struct CompressedSpriteSheet gUnknown_086103E4[] =
-{
- {gUnknown_085B18AC, 0x800, TAG_TILE_64},
- {},
-};
-
-static const struct SpritePalette gUnknown_086103F4[] =
-{
- {gUnknown_0860F13C, TAG_PAL_BALL_GREY},
- {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED},
- {gUnknown_0860F17C, TAG_PAL_66},
- {gUnknown_0861039C, TAG_PAL_67},
- {},
-};
-
-u8 static (* const sSelect_MenuOptionFuncs[])(void) =
-{
- [MENU_SUMMARY] = Select_OptionSummary,
- [MENU_RENT] /*Or Deselect*/ = Select_OptionRentDeselect,
- [MENU_OTHERS] = Select_OptionOthers
-};
-
-static const struct BgTemplate sSelect_BgTemplates[] =
-{
- {
- .bg = 0,
- .charBaseIndex = 0,
- .mapBaseIndex = 24,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 0,
- .baseTile = 0
- },
- {
- .bg = 1,
- .charBaseIndex = 1,
- .mapBaseIndex = 25,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 3,
- .baseTile = 0
- },
- {
- .bg = 3,
- .charBaseIndex = 2,
- .mapBaseIndex = 27,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 2,
- .baseTile = 0
- },
-};
-
-static const struct WindowTemplate sSelect_WindowTemplates[] =
-{
- {
- .priority = 0,
- .tilemapLeft = 0,
- .tilemapTop = 2,
- .width = 12,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x0001,
- },
- {
- .priority = 0,
- .tilemapLeft = 19,
- .tilemapTop = 2,
- .width = 11,
- .height = 2,
- .paletteNum = 14,
- .baseBlock = 0x0019,
- },
- {
- .priority = 0,
- .tilemapLeft = 0,
- .tilemapTop = 15,
- .width = 20,
- .height = 3,
- .paletteNum = 15,
- .baseBlock = 0x002f,
- },
- {
- .priority = 0,
- .tilemapLeft = 22,
- .tilemapTop = 14,
- .width = 8,
- .height = 6,
- .paletteNum = 15,
- .baseBlock = 0x006b,
- },
- {
- .priority = 0,
- .tilemapLeft = 22,
- .tilemapTop = 14,
- .width = 8,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 0x009b,
- },
- {
- .priority = 0,
- .tilemapLeft = 15,
- .tilemapTop = 0,
- .width = 15,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x00bb,
- },
- DUMMY_WIN_TEMPLATE,
-};
-
-static const u16 gUnknown_0861046C[] = INCBIN_U16("graphics/unknown/unknown_61046C.gbapal");
-
-static const u8 gUnknown_08610476[] = {0x00, 0x02, 0x00};
-static const u8 gUnknown_08610479[] = {0x00, 0x04, 0x00};
-
-static const struct OamData gUnknown_0861047C =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 2,
- .tileNum = 0,
- .priority = 3,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct OamData gUnknown_08610484 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 1,
- .tileNum = 0,
- .priority = 3,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct OamData gUnknown_0861048C =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 1,
- .x = 0,
- .matrixNum = 0,
- .size = 2,
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct OamData gUnknown_08610494 =
-{
- .y = 0,
- .affineMode = 3,
- .objMode = 1,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 3,
- .tileNum = 0,
- .priority = 0,
- .paletteNum = 0,
- .affineParam = 1,
-};
-
-static const union AnimCmd gUnknown_0861049C[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gUnknown_086104A4[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gUnknown_086104AC[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gUnknown_086104B4[] =
-{
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(0, 32),
- ANIMCMD_FRAME(16, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(32, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(16, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(32, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
-};
-
-static const union AnimCmd * const gUnknown_086104FC[] =
-{
- gUnknown_0861049C,
-};
-
-static const union AnimCmd * const gUnknown_08610500[] =
-{
- gUnknown_086104A4,
-};
-
-static const union AnimCmd * const gUnknown_08610504[] =
-{
- gUnknown_086104AC,
- gUnknown_086104B4,
-};
-
-static const union AffineAnimCmd gUnknown_0861050C[] =
-{
- AFFINEANIMCMD_FRAME(5, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(16, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(32, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(64, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(128, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(256, 5, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-static const union AffineAnimCmd gUnknown_0861056C[] =
-{
- AFFINEANIMCMD_FRAME(128, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(64, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(32, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(16, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(5, 5, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-static const union AffineAnimCmd gUnknown_086105BC[] =
-{
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-static const union AffineAnimCmd * const gUnknown_086105CC[] =
-{
- gUnknown_0861050C,
- gUnknown_0861056C,
- gUnknown_086105BC,
-};
-
-static const struct SpriteTemplate gUnknown_086105D8 =
-{
- .tileTag = TAG_TILE_64,
- .paletteTag = TAG_PAL_BALL_GREY,
- .oam = &gUnknown_0861047C,
- .anims = gUnknown_08610504,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_819A44C
-};
-
-static const struct SpriteTemplate gUnknown_086105F0 =
-{
- .tileTag = TAG_TILE_65,
- .paletteTag = TAG_PAL_66,
- .oam = &gUnknown_08610484,
- .anims = gUnknown_086104FC,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
-};
-
-static const struct SpriteTemplate gUnknown_08610608 =
-{
- .tileTag = TAG_TILE_66,
- .paletteTag = TAG_PAL_66,
- .oam = &gUnknown_0861048C,
- .anims = gUnknown_086104FC,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
-};
-
-static const struct SpriteTemplate gUnknown_08610620 =
-{
- .tileTag = TAG_TILE_67,
- .paletteTag = TAG_PAL_66,
- .oam = &gUnknown_0861048C,
- .anims = gUnknown_086104FC,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
-};
-
-static const struct SpriteTemplate gUnknown_08610638 =
-{
- .tileTag = TAG_TILE_6D,
- .paletteTag = TAG_PAL_67,
- .oam = &gUnknown_08610494,
- .anims = gUnknown_08610500,
- .images = NULL,
- .affineAnims = gUnknown_086105CC,
- .callback = SpriteCallbackDummy
-};
-
-static const struct SpriteSheet gUnknown_08610650[] =
-{
- {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65},
- {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66},
- {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), TAG_TILE_67},
- {gUnknown_0860F63C, sizeof(gUnknown_0860F63C), TAG_TILE_68},
- {gUnknown_0860F6BC, sizeof(gUnknown_0860F6BC), TAG_TILE_69},
- {gUnknown_0860F7BC, 0x100, TAG_TILE_6A},
- {gUnknown_0860F83C, sizeof(gUnknown_0860F83C), TAG_TILE_6B},
- {gUnknown_0860F93C, sizeof(gUnknown_0860F93C), TAG_TILE_6C},
- {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), TAG_TILE_6D},
- {},
-};
-
-static const struct CompressedSpriteSheet gUnknown_086106A0[] =
-{
- {gUnknown_085B18AC, 0x800, TAG_TILE_64},
- {},
-};
-
-static const struct SpritePalette gUnknown_086106B0[] =
-{
- {gUnknown_0860F13C, TAG_PAL_BALL_GREY},
- {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED},
- {gUnknown_0860F17C, TAG_PAL_66},
- {gUnknown_0861039C, TAG_PAL_67},
- {},
-};
-
-static const struct OamData gUnknown_086106D8 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 2,
- .tileNum = 0,
- .priority = 3,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct OamData gUnknown_086106E0 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 1,
- .tileNum = 0,
- .priority = 3,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct OamData gUnknown_086106E8 =
-{
- .y = 0,
- .affineMode = 0,
- .objMode = 0,
- .mosaic = 0,
- .bpp = 0,
- .shape = 1,
- .x = 0,
- .matrixNum = 0,
- .size = 2,
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
- .affineParam = 0,
-};
-
-static const struct OamData gUnknown_086106F0 =
-{
- .y = 0,
- .affineMode = 3,
- .objMode = 1,
- .mosaic = 0,
- .bpp = 0,
- .shape = 0,
- .x = 0,
- .matrixNum = 0,
- .size = 3,
- .tileNum = 0,
- .priority = 0,
- .paletteNum = 0,
- .affineParam = 1,
-};
-
-static const union AnimCmd gUnknown_086106F8[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-static const union AnimCmd gUnknown_08610700[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
+static const u8 sRequiredMoveCounts[] = {3, 3, 3, 2, 2, 2, 2};
-static const union AnimCmd gUnknown_08610708[] =
+static const u16 sMoves_TotalPreparation[] =
{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
+ MOVE_SWORDS_DANCE, MOVE_GROWTH, MOVE_MEDITATE, MOVE_AGILITY, MOVE_DOUBLE_TEAM, MOVE_HARDEN,
+ MOVE_MINIMIZE, MOVE_WITHDRAW, MOVE_DEFENSE_CURL, MOVE_BARRIER, MOVE_FOCUS_ENERGY, MOVE_AMNESIA,
+ MOVE_ACID_ARMOR, MOVE_SHARPEN, MOVE_CONVERSION, MOVE_CONVERSION_2, MOVE_BELLY_DRUM, MOVE_PSYCH_UP,
+ MOVE_CHARGE, MOVE_SNATCH, MOVE_TAIL_GLOW, MOVE_COSMIC_POWER, MOVE_IRON_DEFENSE, MOVE_HOWL, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DRAGON_DANCE,
+ 0
};
-static const union AnimCmd gUnknown_08610710[] =
+static const u16 sMoves_ImpossibleToPredict[] =
{
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(0, 32),
- ANIMCMD_FRAME(16, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(32, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(16, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(32, 8),
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_END,
+ MOVE_MIMIC, MOVE_METRONOME, MOVE_MIRROR_MOVE, MOVE_TRANSFORM, MOVE_SUBSTITUTE, MOVE_SKETCH, MOVE_CURSE,
+ MOVE_PRESENT, MOVE_FOLLOW_ME, MOVE_TRICK, MOVE_ROLE_PLAY, MOVE_ASSIST, MOVE_SKILL_SWAP, MOVE_CAMOUFLAGE,
+ 0
};
-static const union AnimCmd * const gUnknown_08610758[] =
+static const u16 sMoves_WeakeningTheFoe[] =
{
- gUnknown_086106F8,
+ MOVE_SAND_ATTACK, MOVE_TAIL_WHIP, MOVE_LEER, MOVE_GROWL, MOVE_STRING_SHOT, MOVE_SCREECH, MOVE_SMOKESCREEN, MOVE_KINESIS,
+ MOVE_FLASH, MOVE_COTTON_SPORE, MOVE_SPITE, MOVE_SCARY_FACE, MOVE_CHARM, MOVE_KNOCK_OFF, MOVE_SWEET_SCENT, MOVE_FEATHER_DANCE,
+ MOVE_FAKE_TEARS, MOVE_METAL_SOUND, MOVE_TICKLE,
+ 0
};
-static const union AnimCmd * const gUnknown_0861075C[] =
+static const u16 sMoves_HighRiskHighReturn[] =
{
- gUnknown_08610700,
+ MOVE_GUILLOTINE, MOVE_HORN_DRILL, MOVE_DOUBLE_EDGE, MOVE_HYPER_BEAM, MOVE_COUNTER, MOVE_FISSURE,
+ MOVE_BIDE, MOVE_SELF_DESTRUCT, MOVE_SKY_ATTACK, MOVE_EXPLOSION, MOVE_FLAIL, MOVE_REVERSAL, MOVE_DESTINY_BOND,
+ MOVE_PERISH_SONG, MOVE_PAIN_SPLIT, MOVE_MIRROR_COAT, MOVE_MEMENTO, MOVE_GRUDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH,
+ MOVE_BLAST_BURN, MOVE_HYDRO_CANNON, MOVE_OVERHEAT, MOVE_FRENZY_PLANT, MOVE_PSYCHO_BOOST, MOVE_VOLT_TACKLE,
+ 0
};
-static const union AnimCmd * const gUnknown_08610760[] =
+static const u16 sMoves_Endurance[] =
{
- gUnknown_08610708,
- gUnknown_08610710,
+ MOVE_MIST, MOVE_RECOVER, MOVE_LIGHT_SCREEN, MOVE_HAZE, MOVE_REFLECT, MOVE_SOFT_BOILED, MOVE_REST, MOVE_PROTECT,
+ MOVE_DETECT, MOVE_ENDURE, MOVE_MILK_DRINK, MOVE_HEAL_BELL, MOVE_SAFEGUARD, MOVE_BATON_PASS, MOVE_MORNING_SUN,
+ MOVE_SYNTHESIS, MOVE_MOONLIGHT, MOVE_SWALLOW, MOVE_WISH, MOVE_INGRAIN, MOVE_MAGIC_COAT, MOVE_RECYCLE, MOVE_REFRESH,
+ MOVE_MUD_SPORT, MOVE_SLACK_OFF, MOVE_AROMATHERAPY, MOVE_WATER_SPORT,
+ 0
};
-static const union AffineAnimCmd gUnknown_08610768[] =
+static const u16 sMoves_SlowAndSteady[] =
{
- AFFINEANIMCMD_FRAME(5, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(16, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(32, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(64, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(128, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(256, 5, 0, 0),
- AFFINEANIMCMD_END,
+ MOVE_SING, MOVE_SUPERSONIC, MOVE_DISABLE, MOVE_LEECH_SEED, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER,
+ MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_GLARE, MOVE_POISON_GAS, MOVE_LOVELY_KISS, MOVE_SPORE,
+ MOVE_SPIDER_WEB, MOVE_SWEET_KISS, MOVE_SPIKES, MOVE_SWAGGER, MOVE_MEAN_LOOK, MOVE_ATTRACT, MOVE_ENCORE, MOVE_TORMENT,
+ MOVE_FLATTER, MOVE_WILL_O_WISP, MOVE_TAUNT, MOVE_YAWN, MOVE_IMPRISON, MOVE_SNATCH, MOVE_TEETER_DANCE, MOVE_GRASS_WHISTLE, MOVE_BLOCK,
+ 0
};
-static const union AffineAnimCmd gUnknown_086107C8[] =
+static const u16 sMoves_DependsOnTheBattlesFlow[] =
{
- AFFINEANIMCMD_FRAME(128, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(64, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(32, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(16, 5, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_FRAME(5, 5, 0, 0),
- AFFINEANIMCMD_END,
+ MOVE_SANDSTORM, MOVE_RAIN_DANCE, MOVE_SUNNY_DAY, MOVE_HAIL, MOVE_WEATHER_BALL,
+ 0
};
-static const union AffineAnimCmd gUnknown_08610818[] =
+static const u16 *const sMoveStyles[] =
{
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
- AFFINEANIMCMD_END,
+ sMoves_TotalPreparation,
+ sMoves_SlowAndSteady,
+ sMoves_Endurance,
+ sMoves_HighRiskHighReturn,
+ sMoves_WeakeningTheFoe,
+ sMoves_ImpossibleToPredict,
+ sMoves_DependsOnTheBattlesFlow,
};
-static const union AffineAnimCmd * const gUnknown_08610828[] =
+static void (* const gUnknown_08612120[])(void) =
{
- gUnknown_08610768,
- gUnknown_086107C8,
- gUnknown_08610818,
+ sub_81A5E94,
+ sub_81A5FA8,
+ sub_81A6054,
+ sub_81A613C,
+ nullsub_75,
+ nullsub_123,
+ sub_81A6188,
+ sub_81A6198,
+ sub_81A61A4,
+ sub_81A63CC,
+ sub_81A64C4,
+ sub_81A63B8,
+ sub_81A61B0,
+ sub_81A67EC,
+ sub_81A6A08,
+ sub_81A6AEC,
+ sub_81A6C1C,
};
-static const struct SpriteTemplate gUnknown_08610834 =
+static const u32 gUnknown_08612164[][2] =
{
- .tileTag = TAG_TILE_64,
- .paletteTag = TAG_PAL_BALL_GREY,
- .oam = &gUnknown_086106D8,
- .anims = gUnknown_08610760,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_819A44C
+ {0x100, 0x200},
+ {0x1000000, 0x2000000},
};
-static const struct SpriteTemplate gUnknown_0861084C =
+static const u32 gUnknown_08612174[][2] =
{
- .tileTag = TAG_TILE_65,
- .paletteTag = TAG_PAL_66,
- .oam = &gUnknown_086106E0,
- .anims = gUnknown_08610758,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
+ {0xfffffeff, 0xfffffdff},
+ {0xfeffffff, 0xfdffffff},
};
-static const struct SpriteTemplate gUnknown_08610864 =
+static const u8 sFixedIVTable[][2] =
{
- .tileTag = TAG_TILE_66,
- .paletteTag = TAG_PAL_66,
- .oam = &gUnknown_086106E8,
- .anims = gUnknown_08610758,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
+ {3, 6},
+ {6, 9},
+ {9, 12},
+ {12, 15},
+ {15, 18},
+ {21, 31},
+ {31, 31},
+ {31, 31},
};
-static const struct SpriteTemplate gUnknown_0861087C =
+static const u16 sMonsToChooseFrom[][2] =
{
- .tileTag = TAG_TILE_67,
- .paletteTag = TAG_PAL_66,
- .oam = &gUnknown_086106E8,
- .anims = gUnknown_08610758,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy
+ {0x006e, 0x00c7},
+ {0x00a2, 0x010a},
+ {0x010b, 0x0173},
+ {0x0174, 0x01d3},
+ {0x01d4, 0x0233},
+ {0x0234, 0x0293},
+ {0x0294, 0x02f3},
+ {0x0174, 0x0351},
+ {0x0174, 0x01d3},
+ {0x01d4, 0x0233},
+ {0x0234, 0x0293},
+ {0x0294, 0x02f3},
+ {0x0174, 0x0371},
+ {0x0174, 0x0371},
+ {0x0174, 0x0371},
+ {0x0174, 0x0371},
};
-static const struct SpriteTemplate gUnknown_08610894 =
-{
- .tileTag = TAG_TILE_6D,
- .paletteTag = TAG_PAL_67,
- .oam = &gUnknown_086106F0,
- .anims = gUnknown_0861075C,
- .images = NULL,
- .affineAnims = gUnknown_08610828,
- .callback = SpriteCallbackDummy
-};
-
-void static (* const sSwap_MenuOptionFuncs[])(u8 taskId) =
-{
- sub_819F114,
- sub_819F0CC,
- sub_819F134,
-};
-
-static const struct BgTemplate sSwap_BgTemplates[4] =
-{
- {
- .bg = 0,
- .charBaseIndex = 0,
- .mapBaseIndex = 24,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 1,
- .baseTile = 0
- },
- {
- .bg = 1,
- .charBaseIndex = 1,
- .mapBaseIndex = 25,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 3,
- .baseTile = 0
- },
- {
- .bg = 2,
- .charBaseIndex = 2,
- .mapBaseIndex = 26,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 0,
- .baseTile = 0
- },
- {
- .bg = 3,
- .charBaseIndex = 2,
- .mapBaseIndex = 27,
- .screenSize = 0,
- .paletteMode = 0,
- .priority = 2,
- .baseTile = 0
- },
-};
-
-static const struct WindowTemplate sSwap_WindowTemplates[] =
-{
- {
- .priority = 0,
- .tilemapLeft = 0,
- .tilemapTop = 2,
- .width = 12,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x0001,
- },
- {
- .priority = 2,
- .tilemapLeft = 19,
- .tilemapTop = 2,
- .width = 11,
- .height = 2,
- .paletteNum = 14,
- .baseBlock = 0x0019,
- },
- {
- .priority = 0,
- .tilemapLeft = 0,
- .tilemapTop = 15,
- .width = 20,
- .height = 3,
- .paletteNum = 15,
- .baseBlock = 0x002f,
- },
- {
- .priority = 0,
- .tilemapLeft = 21,
- .tilemapTop = 14,
- .width = 9,
- .height = 6,
- .paletteNum = 15,
- .baseBlock = 0x006b,
- },
- {
- .priority = 0,
- .tilemapLeft = 22,
- .tilemapTop = 14,
- .width = 8,
- .height = 4,
- .paletteNum = 15,
- .baseBlock = 0x00a1,
- },
- {
- .priority = 2,
- .tilemapLeft = 21,
- .tilemapTop = 15,
- .width = 9,
- .height = 5,
- .paletteNum = 14,
- .baseBlock = 0x006b,
- },
- {
- .priority = 2,
- .tilemapLeft = 10,
- .tilemapTop = 2,
- .width = 4,
- .height = 2,
- .paletteNum = 14,
- .baseBlock = 0x00c1,
- },
- {
- .priority = 0,
- .tilemapLeft = 19,
- .tilemapTop = 2,
- .width = 11,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x00c9,
- },
- {
- .priority = 0,
- .tilemapLeft = 15,
- .tilemapTop = 0,
- .width = 15,
- .height = 2,
- .paletteNum = 15,
- .baseBlock = 0x00df,
- },
- DUMMY_WIN_TEMPLATE,
-};
-
-static const u16 gUnknown_08610918[] = {RGB_BLACK, RGB_BLACK, RGB_WHITE, RGB_BLACK, RGB_RED}; // Palette.
-static const u8 gUnknown_08610922[] = {0x0, 0x02, 0x0};
-static const u8 gUnknown_08610925[] = {0x0, 0x04, 0x0};
-
-static const struct SwapActionIdAndFunc sSwap_PlayerScreenActions[] =
+// code
+void CallBattleFactoryFunction(void)
{
- {1, Swap_ActionMon},
- {1, Swap_ActionMon},
- {1, Swap_ActionMon},
- {3, Swap_ActionCancel},
-};
+ gUnknown_08612120[gSpecialVar_0x8004]();
+}
-static const struct SwapActionIdAndFunc sSwap_EnemyScreenActions[] =
+static void sub_81A5E94(void)
{
- {1, Swap_ActionMon},
- {1, Swap_ActionMon},
- {1, Swap_ActionMon},
- {2, Swap_ActionPkmnForSwap},
- {3, Swap_ActionCancel},
-};
-
-// gfx
-extern const u8 gFrontierFactorySelectMenu_Gfx[];
-extern const u8 gFrontierFactorySelectMenu_Tilemap[];
-extern const u16 gFrontierFactorySelectMenu_Pal[];
-
-// text
-extern const u8 gText_RentalPkmn2[];
-extern const u8 gText_SelectFirstPkmn[];
-extern const u8 gText_SelectSecondPkmn[];
-extern const u8 gText_SelectThirdPkmn[];
-extern const u8 gText_TheseThreePkmnOkay[];
-extern const u8 gText_CantSelectSamePkmn[];
-extern const u8 gText_Summary[];
-extern const u8 gText_Rechoose[];
-extern const u8 gText_Deselect[];
-extern const u8 gText_Rent[];
-extern const u8 gText_Others2[];
-extern const u8 gText_Yes2[];
-extern const u8 gText_Yes3[];
-extern const u8 gText_No2[];
-extern const u8 gText_No3[];
-extern const u8 gText_QuitSwapping[];
-extern const u8 gText_AcceptThisPkmn[];
-extern const u8 gText_SelectPkmnToAccept[];
-extern const u8 gText_SelectPkmnToSwap[];
-extern const u8 gText_PkmnSwap[];
-extern const u8 gText_Swap[];
-extern const u8 gText_Summary2[];
-extern const u8 gText_PkmnForSwap[];
-extern const u8 gText_SamePkmnInPartyAlready[];
-extern const u8 gText_Cancel3[];
+ u8 i;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
-// code
-static void sub_819A44C(struct Sprite *sprite)
-{
- if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED))
- {
- if (sprite->animEnded)
- {
- if (sprite->data[0] != 0)
- {
- sprite->data[0]--;
- }
- else if (Random() % 5 == 0)
- {
- StartSpriteAnim(sprite, 0);
- sprite->data[0] = 32;
- }
- else
- {
- StartSpriteAnim(sprite, 1);
- }
- }
- else
- {
- StartSpriteAnimIfDifferent(sprite, 1);
- }
- }
- else
+ gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_a = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_b = 0;
+ if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]))
{
- StartSpriteAnimIfDifferent(sprite, 0);
+ gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = 0;
}
-}
-static void Select_CB2(void)
-{
- AnimateSprites();
- BuildOamBuffer();
- RunTextPrinters();
- UpdatePaletteFade();
- RunTasks();
-}
+ gUnknown_03001288 = FALSE;
+ for (i = 0; i < 6; i++)
+ gSaveBlock2Ptr->frontier.field_E70[i].monId |= 0xFFFF;
+ for (i = 0; i < 3; i++)
+ gUnknown_03006298[i] |= 0xFFFF;
-static void Select_VblankCb(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
+ saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ gTrainerBattleOpponent_A = 0;
}
-void DoBattleFactorySelectScreen(void)
+static void sub_81A5FA8(void)
{
- sFactorySelectScreen = NULL;
- SetMainCallback2(CB2_InitSelectScreen);
-}
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
-static void CB2_InitSelectScreen(void)
-{
- u8 taskId;
-
- switch (gMain.state)
+ switch (gSpecialVar_0x8005)
{
- case 0:
- if (sFactorySelectMons != NULL)
- FREE_AND_SET_NULL(sFactorySelectMons);
- SetHBlankCallback(NULL);
- SetVBlankCallback(NULL);
- CpuFill32(0, (void *)VRAM, VRAM_SIZE);
- ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sSelect_BgTemplates, ARRAY_COUNT(sSelect_BgTemplates));
- InitWindows(sSelect_WindowTemplates);
- DeactivateAllTextPrinters();
- gMain.state++;
- break;
case 1:
- sSelectMenuTilesetBuffer = Alloc(0x440);
- sSelectMonCardBgTilesetBuffer = AllocZeroed(0x440);
- sSelectMenuTilemapBuffer = Alloc(0x800);
- sSelectMonCardBgTilemapBuffer = AllocZeroed(0x800);
- ChangeBgX(0, 0, 0);
- ChangeBgY(0, 0, 0);
- ChangeBgX(1, 0, 0);
- ChangeBgY(1, 0, 0);
- ChangeBgX(3, 0, 0);
- ChangeBgY(3, 0, 0);
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- SetGpuReg(REG_OFFSET_BLDY, 0);
- SetGpuReg(REG_OFFSET_MOSAIC, 0);
- SetGpuReg(REG_OFFSET_WIN0H, 0);
- SetGpuReg(REG_OFFSET_WIN0V, 0);
- SetGpuReg(REG_OFFSET_WIN1H, 0);
- SetGpuReg(REG_OFFSET_WIN1V, 0);
- SetGpuReg(REG_OFFSET_WININ, 0);
- SetGpuReg(REG_OFFSET_WINOUT, 0);
- gMain.state++;
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
break;
case 2:
- ResetPaletteFade();
- ResetSpriteData();
- ResetTasks();
- FreeAllSpritePalettes();
- CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSelectMenuTilesetBuffer, 0x440);
- CpuCopy16(gUnknown_0861033C, sSelectMonCardBgTilesetBuffer, 0x60);
- LoadBgTiles(1, sSelectMenuTilesetBuffer, 0x440, 0);
- LoadBgTiles(3, sSelectMonCardBgTilesetBuffer, 0x60, 0);
- CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSelectMenuTilemapBuffer, 0x800);
- LoadBgTilemap(1, sSelectMenuTilemapBuffer, 0x800, 0);
- LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40);
- LoadPalette(gUnknown_0861046C, 0xF0, 8);
- LoadPalette(gUnknown_0861046C, 0xE0, 10);
- if (sFactorySelectScreen->fromSummaryScreen == TRUE)
- gPlttBufferUnfaded[228] = sFactorySelectScreen->unk2A4;
- LoadPalette(gUnknown_0861039C, 0x20, 4);
- gMain.state++;
+ gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612164[battleMode][lvlMode]) != 0);
break;
case 3:
- SetBgTilemapBuffer(3, sSelectMonCardBgTilemapBuffer);
- CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8);
- CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 2, 4, 8, 8);
- CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 20, 4, 8, 8);
- CopyBgTilemapBufferToVram(3);
- gMain.state++;
- break;
- case 4:
- LoadSpritePalettes(gUnknown_086103F4);
- LoadSpriteSheets(gUnknown_086103BC);
- LoadCompressedObjectPic(gUnknown_086103E4);
- ShowBg(0);
- ShowBg(1);
- SetVBlankCallback(Select_VblankCb);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP);
- if (sFactorySelectScreen->fromSummaryScreen == TRUE)
- {
- Select_SetWinRegs(88, 152, 32, 96);
- ShowBg(3);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
- }
- else
- {
- HideBg(3);
- }
- gMain.state++;
- break;
- case 5:
- if (sFactorySelectScreen->fromSummaryScreen == TRUE)
- sFactorySelectScreen->cursorPos = gUnknown_0203CF20;
- Select_InitMonsData();
- Select_InitAllSprites();
- if (sFactorySelectScreen->fromSummaryScreen == TRUE)
- Select_ShowSummaryMonSprite();
- gMain.state++;
- break;
- case 6:
- Select_PrintSelectMonString();
- PutWindowTilemap(2);
- gMain.state++;
- break;
- case 7:
- Select_PrintMonCategory();
- PutWindowTilemap(5);
- gMain.state++;
- break;
- case 8:
- Select_PrintMonSpecies();
- PutWindowTilemap(1);
- gMain.state++;
- break;
- case 9:
- Select_PrintRentalPkmnString();
- PutWindowTilemap(0);
- gMain.state++;
- break;
- case 10:
- sFactorySelectScreen->fadeSpeciesNameTaskId = CreateTask(Task_SelectFadeSpeciesName, 0);
- if (!sFactorySelectScreen->fromSummaryScreen)
- {
- gTasks[sFactorySelectScreen->fadeSpeciesNameTaskId].data[0] = 0;
- taskId = CreateTask(Task_HandleSelectionScreenChooseMons, 0);
- gTasks[taskId].data[0] = 0;
- }
- else
- {
- gTasks[sFactorySelectScreen->fadeSpeciesNameTaskId].data[0] = 1;
- sFactorySelectScreen->unk2A2 = FALSE;
- taskId = CreateTask(Task_HandleSelectionScreenMenu, 0);
- gTasks[taskId].data[0] = 13;
- }
- SetMainCallback2(Select_CB2);
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
break;
}
}
-static void Select_InitMonsData(void)
+static void sub_81A6054(void)
{
- u8 i;
-
- if (sFactorySelectScreen != NULL)
- return;
-
- sFactorySelectScreen = AllocZeroed(sizeof(*sFactorySelectScreen));
- sFactorySelectScreen->cursorPos = 0;
- sFactorySelectScreen->selectingMonsState = 1;
- sFactorySelectScreen->fromSummaryScreen = FALSE;
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- sFactorySelectScreen->mons[i].selectedId = 0;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
- CreateFrontierFactorySelectableMons(0);
- else
- CreateTentFactorySelectableMons(0);
-}
-
-static void Select_InitAllSprites(void)
-{
- u8 i, cursorPos;
- s16 x;
-
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- {
- sFactorySelectScreen->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1);
- gSprites[sFactorySelectScreen->mons[i].spriteId].data[0] = 0;
- Select_SetBallSpritePaletteNum(i);
- }
- cursorPos = sFactorySelectScreen->cursorPos;
- x = gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].pos1.x;
- sFactorySelectScreen->cursorSpriteId = CreateSprite(&gUnknown_086105F0, x, 88, 0);
- sFactorySelectScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610608, 176, 112, 0);
- sFactorySelectScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_08610620, 176, 144, 0);
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE;
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecX = 0;
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecY = 0;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].centerToCornerVecX = 0;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].centerToCornerVecY = 0;
-}
-
-static void Select_DestroyAllSprites(void)
-{
- u8 i;
-
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- DestroySprite(&gSprites[sFactorySelectScreen->mons[i].spriteId]);
-
- DestroySprite(&gSprites[sFactorySelectScreen->cursorSpriteId]);
- DestroySprite(&gSprites[sFactorySelectScreen->menuCursor1SpriteId]);
- DestroySprite(&gSprites[sFactorySelectScreen->menuCursor2SpriteId]);
-}
-
-static void Select_UpdateBallCursorPosition(s8 direction)
-{
- u8 cursorPos;
- if (direction > 0) // Move cursor right.
- {
- if (sFactorySelectScreen->cursorPos != SELECTABLE_MONS_COUNT - 1)
- sFactorySelectScreen->cursorPos++;
- else
- sFactorySelectScreen->cursorPos = 0;
- }
- else // Move cursor left.
- {
- if (sFactorySelectScreen->cursorPos != 0)
- sFactorySelectScreen->cursorPos--;
- else
- sFactorySelectScreen->cursorPos = SELECTABLE_MONS_COUNT - 1;
- }
-
- cursorPos = sFactorySelectScreen->cursorPos;
- gSprites[sFactorySelectScreen->cursorSpriteId].pos1.x = gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].pos1.x;
-}
-
-static void Select_UpdateMenuCursorPosition(s8 direction)
-{
- if (direction > 0) // Move cursor down.
- {
- if (sFactorySelectScreen->menuCursorPos != MENU_OPTIONS_COUNT - 1)
- sFactorySelectScreen->menuCursorPos++;
- else
- sFactorySelectScreen->menuCursorPos = 0;
- }
- else // Move cursor up.
+ switch (gSpecialVar_0x8005)
{
- if (sFactorySelectScreen->menuCursorPos != 0)
- sFactorySelectScreen->menuCursorPos--;
- else
- sFactorySelectScreen->menuCursorPos = MENU_OPTIONS_COUNT - 1;
- }
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
-}
-
-static void Select_UpdateYesNoCursorPosition(s8 direction)
-{
- if (direction > 0) // Move cursor down.
- {
- if (sFactorySelectScreen->yesNoCursorPos != 1)
- sFactorySelectScreen->yesNoCursorPos++;
- else
- sFactorySelectScreen->yesNoCursorPos = 0;
- }
- else // Move cursor up.
- {
- if (sFactorySelectScreen->yesNoCursorPos != 0)
- sFactorySelectScreen->yesNoCursorPos--;
- else
- sFactorySelectScreen->yesNoCursorPos = 1;
- }
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
-}
-
-static void Select_HandleMonSelectionChange(void)
-{
- u8 i, paletteNum;
- u8 cursorPos = sFactorySelectScreen->cursorPos;
- if (sFactorySelectScreen->mons[cursorPos].selectedId) // Deselect a mon.
- {
- paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
- if (sFactorySelectScreen->selectingMonsState == 3 && sFactorySelectScreen->mons[cursorPos].selectedId == 1)
- {
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- {
- if (sFactorySelectScreen->mons[i].selectedId == 2)
- break;
- }
- if (i == SELECTABLE_MONS_COUNT)
- return;
- else
- sFactorySelectScreen->mons[i].selectedId = 1;
- }
- sFactorySelectScreen->mons[cursorPos].selectedId = 0;
- sFactorySelectScreen->selectingMonsState--;
- }
- else // Select a mon.
- {
- paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
- sFactorySelectScreen->mons[cursorPos].selectedId = sFactorySelectScreen->selectingMonsState;
- sFactorySelectScreen->selectingMonsState++;
- }
-
- gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].oam.paletteNum = paletteNum;
-}
-
-static void Select_SetBallSpritePaletteNum(u8 id)
-{
- u8 palNum;
-
- if (sFactorySelectScreen->mons[id].selectedId)
- palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
- else
- palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
-
- gSprites[sFactorySelectScreen->mons[id].spriteId].oam.paletteNum = palNum;
-}
-
-static void Task_FromSelectScreenToSummaryScreen(u8 taskId)
-{
- u8 i;
- u8 currMonId;
-
- switch (gTasks[taskId].data[0])
- {
- case 6:
- gPlttBufferUnfaded[228] = gPlttBufferFaded[228];
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
- gTasks[taskId].data[0] = 7;
- break;
- case 7:
- if (!gPaletteFade.active)
- {
- DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId);
- sub_819F444(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0);
- Select_DestroyAllSprites();
- FREE_AND_SET_NULL(sSelectMenuTilesetBuffer);
- FREE_AND_SET_NULL(sSelectMonCardBgTilesetBuffer);
- FREE_AND_SET_NULL(sSelectMenuTilemapBuffer);
- FREE_AND_SET_NULL(sSelectMonCardBgTilemapBuffer);
- FreeAllWindowBuffers();
- gTasks[taskId].data[0] = 8;
- }
- break;
- case 8:
- sFactorySelectScreen->unk2A4 = gPlttBufferUnfaded[228];
- DestroyTask(taskId);
- sFactorySelectScreen->fromSummaryScreen = TRUE;
- currMonId = sFactorySelectScreen->cursorPos;
- sFactorySelectMons = AllocZeroed(sizeof(struct Pokemon) * SELECTABLE_MONS_COUNT);
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- sFactorySelectMons[i] = sFactorySelectScreen->mons[i].monData;
- ShowPokemonSummaryScreen(1, sFactorySelectMons, currMonId, SELECTABLE_MONS_COUNT - 1, CB2_InitSelectScreen);
+ case 1:
+ gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
- }
-}
-
-static void Task_CloseSelectionScreen(u8 taskId)
-{
- if (sFactorySelectScreen->unk2A0 != TRUE)
- {
- switch (gTasks[taskId].data[0])
- {
- case 0:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
- gTasks[taskId].data[0]++;
- break;
- case 1:
- if (!UpdatePaletteFade())
- {
- Select_CopyMonsToPlayerParty();
- DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId);
- Select_DestroyAllSprites();
- FREE_AND_SET_NULL(sSelectMenuTilesetBuffer);
- FREE_AND_SET_NULL(sSelectMenuTilemapBuffer);
- FREE_AND_SET_NULL(sSelectMonCardBgTilemapBuffer);
- FREE_AND_SET_NULL(sFactorySelectScreen);
- FreeAllWindowBuffers();
- SetMainCallback2(CB2_ReturnToFieldContinueScript);
- DestroyTask(taskId);
- }
- break;
- }
- }
-}
-
-static void Task_HandleSelectionScreenYesNo(u8 taskId)
-{
- if (sFactorySelectScreen->unk2A0 != TRUE)
- {
- switch (gTasks[taskId].data[0])
- {
- case 10:
- sub_819C4B4();
- gTasks[taskId].data[0] = 4;
- break;
- case 4:
- Select_ShowYesNoOptions();
- gTasks[taskId].data[0] = 5;
- break;
- case 5:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- if (sFactorySelectScreen->yesNoCursorPos == 0)
- {
- sub_819C568();
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = Task_CloseSelectionScreen;
- }
- else
- {
- sub_819B958(4);
- sub_819BC9C();
- sFactorySelectScreen->unk2A2 = TRUE;
- gTasks[taskId].data[0] = 1;
- gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- sub_819B958(4);
- sub_819BC9C();
- sFactorySelectScreen->unk2A2 = TRUE;
- gTasks[taskId].data[0] = 1;
- gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- PlaySE(SE_SELECT);
- Select_UpdateYesNoCursorPosition(-1);
- }
- else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- PlaySE(SE_SELECT);
- Select_UpdateYesNoCursorPosition(1);
- }
- break;
- }
- }
-}
-
-static void Task_HandleSelectionScreenMenu(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
- {
case 2:
- if (!sFactorySelectScreen->fromSummaryScreen)
- sub_819F2B4(&sFactorySelectScreen->unk294[1].field1, &sFactorySelectScreen->unk2A0, FALSE);
- gTasks[taskId].data[0] = 9;
- break;
- case 9:
- if (sFactorySelectScreen->unk2A0 != TRUE)
- {
- Select_ShowMenuOptions();
- sFactorySelectScreen->fromSummaryScreen = FALSE;
- gTasks[taskId].data[0] = 3;
- }
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_08612164[battleMode][lvlMode];
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_08612174[battleMode][lvlMode];
break;
case 3:
- if (gMain.newKeys & A_BUTTON)
+ if (gUnknown_03001288 == TRUE)
{
- u8 retVal;
- PlaySE(SE_SELECT);
- retVal = Select_RunMenuOptionFunc();
- if (retVal == 1)
- {
- sFactorySelectScreen->unk2A2 = TRUE;
- gTasks[taskId].data[0] = 1;
- gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
- }
- else if (retVal == 2)
- {
- gTasks[taskId].data[0] = 10;
- gTasks[taskId].func = Task_HandleSelectionScreenYesNo;
- }
- else if (retVal == 3)
- {
- gTasks[taskId].data[0] = 11;
- gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
- }
- else
- {
- gTasks[taskId].data[0] = 6;
- gTasks[taskId].func = Task_FromSelectScreenToSummaryScreen;
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
- sub_819B958(3);
- sFactorySelectScreen->unk2A2 = TRUE;
- gTasks[taskId].data[0] = 1;
- gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- PlaySE(SE_SELECT);
- Select_UpdateMenuCursorPosition(-1);
- }
- else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- PlaySE(SE_SELECT);
- Select_UpdateMenuCursorPosition(1);
+ gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode] = gSpecialVar_0x8006;
+ gUnknown_03001288 = FALSE;
}
break;
- case 12:
- if (!gPaletteFade.active)
- {
- if (sFactorySelectScreen->fromSummaryScreen == TRUE)
- {
- gPlttBufferFaded[228] = sFactorySelectScreen->unk2A4;
- gPlttBufferUnfaded[228] = gPlttBufferUnfaded[244];
- }
- sFactorySelectScreen->fromSummaryScreen = FALSE;
- gTasks[taskId].data[0] = 3;
- }
- break;
- case 13:
- Select_ShowMenuOptions();
- gTasks[taskId].data[0] = 12;
- break;
}
}
-static void Task_HandleSelectionScreenChooseMons(u8 taskId)
+static void sub_81A613C(void)
{
- if (sFactorySelectScreen->unk2A0 != TRUE)
- {
- switch (gTasks[taskId].data[0])
- {
- case 0:
- if (!gPaletteFade.active)
- {
- gTasks[taskId].data[0] = 1;
- sFactorySelectScreen->unk2A2 = TRUE;
- }
- break;
- case 1:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- sFactorySelectScreen->unk2A2 = FALSE;
- gTasks[taskId].data[0] = 2;
- gTasks[taskId].func = Task_HandleSelectionScreenMenu;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
- {
- PlaySE(SE_SELECT);
- Select_UpdateBallCursorPosition(-1);
- Select_PrintMonCategory();
- Select_PrintMonSpecies();
- }
- else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
- {
- PlaySE(SE_SELECT);
- Select_UpdateBallCursorPosition(1);
- Select_PrintMonCategory();
- Select_PrintMonSpecies();
- }
- break;
- case 11:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
- Select_PrintSelectMonString();
- sFactorySelectScreen->unk2A2 = TRUE;
- gTasks[taskId].data[0] = 1;
- }
- break;
- }
- }
+ gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ VarSet(VAR_TEMP_0, 0);
+ gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ sub_81A4C30();
}
-static void CreateFrontierFactorySelectableMons(u8 firstMonId)
+static void nullsub_75(void)
{
- u8 i, j = 0;
- u8 ivs = 0;
- u8 level = 0;
- u8 happiness = 0;
- u32 otId = 0;
- u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u8 var_2C = gSaveBlock2Ptr->frontier.field_DE2[battleMode][lvlMode] / 7;
- u8 var_28 = 0;
-
- gFacilityTrainerMons = gBattleFrontierMons;
- if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
- level = 100;
- else
- level = 50;
- var_28 = sub_81A6F70(battleMode, lvlMode);
- otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
-
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- {
- u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
- sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId;
- if (i < var_28)
- ivs = sub_81A6CA8(var_2C + 1, 0);
- else
- ivs = sub_81A6CA8(var_2C, 0);
- CreateMonWithEVSpreadPersonalityOTID(&sFactorySelectScreen->mons[i + firstMonId].monData,
- gFacilityTrainerMons[monSetId].species,
- level,
- gFacilityTrainerMons[monSetId].nature,
- ivs,
- gFacilityTrainerMons[monSetId].evSpread,
- otId);
- happiness = 0;
- for (j = 0; j < 4; j++)
- SetMonMoveAvoidReturn(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j);
- SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness);
- SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
- }
}
-static void CreateTentFactorySelectableMons(u8 firstMonId)
+static void nullsub_123(void)
{
- u8 i, j;
- u8 ivs = 0;
- u8 level = 30;
- u8 happiness = 0;
- u32 otId = 0;
- gFacilityTrainerMons = gSlateportBattleTentMons;
- otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
-
- for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
- {
- u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
- sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId;
- CreateMonWithEVSpreadPersonalityOTID(&sFactorySelectScreen->mons[i + firstMonId].monData,
- gFacilityTrainerMons[monSetId].species,
- level,
- gFacilityTrainerMons[monSetId].nature,
- ivs,
- gFacilityTrainerMons[monSetId].evSpread,
- otId);
- happiness = 0;
- for (j = 0; j < 4; j++)
- SetMonMoveAvoidReturn(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j);
- SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness);
- SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
- }
}
-static void Select_CopyMonsToPlayerParty(void)
+static void sub_81A6188(void)
{
- u8 i, j;
-
- for (i = 0; i < 3; i++)
- {
- for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
- {
- if (sFactorySelectScreen->mons[j].selectedId == i + 1)
- {
- gPlayerParty[i] = sFactorySelectScreen->mons[j].monData;
- gSaveBlock2Ptr->frontier.field_E70[i].monId = sFactorySelectScreen->mons[j].monSetId;
- gSaveBlock2Ptr->frontier.field_E70[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL);
- break;
- }
- }
- }
- CalculatePlayerPartyCount();
+ ZeroPlayerPartyMons();
+ DoBattleFactorySelectScreen();
}
-static void Select_ShowMenuOptions(void)
+static void sub_81A6198(void)
{
- if (!sFactorySelectScreen->fromSummaryScreen)
- sFactorySelectScreen->menuCursorPos = 0;
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176;
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE;
-
- Select_PrintMenuOptions();
-}
-
-static void Select_ShowYesNoOptions(void)
-{
- sFactorySelectScreen->yesNoCursorPos = 0;
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176;
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = 112;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = 112;
-
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE;
-
- Select_PrintYesNoOptions();
-}
-
-static void sub_819B958(u8 windowId)
-{
- gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE;
- gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE;
- FillWindowPixelBuffer(windowId, 0);
- CopyWindowToVram(windowId, 2);
- ClearWindowTilemap(windowId);
-}
-
-static void Select_PrintRentalPkmnString(void)
-{
- FillWindowPixelBuffer(0, 0);
- AddTextPrinterParameterized(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL);
- CopyWindowToVram(0, 3);
-}
-
-static void Select_PrintMonSpecies(void)
-{
- u16 species;
- u8 x;
- u8 monId = sFactorySelectScreen->cursorPos;
-
- FillWindowPixelBuffer(1, 0);
- species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
- StringCopy(gStringVar4, gSpeciesNames[species]);
- x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4);
- CopyWindowToVram(1, 2);
-}
-
-static void Select_PrintSelectMonString(void)
-{
- const u8 *str = NULL;
-
- FillWindowPixelBuffer(2, 0);
- if (sFactorySelectScreen->selectingMonsState == 1)
- str = gText_SelectFirstPkmn;
- else if (sFactorySelectScreen->selectingMonsState == 2)
- str = gText_SelectSecondPkmn;
- else if (sFactorySelectScreen->selectingMonsState == 3)
- str = gText_SelectThirdPkmn;
- else
- str = gText_TheseThreePkmnOkay;
-
- AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL);
- CopyWindowToVram(2, 2);
-}
-
-static void Select_PrintCantSelectSameMon(void)
-{
- FillWindowPixelBuffer(2, 0);
- AddTextPrinterParameterized(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL);
- CopyWindowToVram(2, 2);
+ DoBattleFactorySwapScreen();
}
-static void Select_PrintMenuOptions(void)
+static void sub_81A61A4(void)
{
- u8 selectedId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].selectedId;
-
- PutWindowTilemap(3);
- FillWindowPixelBuffer(3, 0);
- AddTextPrinterParameterized3(3, 1, 7, 1, gUnknown_08610476, 0, gText_Summary);
- if (selectedId != 0)
- AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Deselect);
- else
- AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Rent);
-
- AddTextPrinterParameterized3(3, 1, 7, 33, gUnknown_08610476, 0, gText_Others2);
- CopyWindowToVram(3, 3);
+ gUnknown_03001288 = TRUE;
}
-static void Select_PrintYesNoOptions(void)
+static void sub_81A61B0(void)
{
- PutWindowTilemap(4);
- FillWindowPixelBuffer(4, 0);
- AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610476, 0, gText_Yes2);
- AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610476, 0, gText_No2);
- CopyWindowToVram(4, 3);
-}
+ s32 i, j, k;
+ u16 species[3];
+ u16 heldItems[3];
+ s32 firstMonId = 0;
+ u16 trainerId = 0;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u32 winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
+ u32 challengeNum = winStreak / 7;
+ gFacilityTrainers = gBattleFrontierTrainers;
-static u8 Select_RunMenuOptionFunc(void)
-{
- gUnknown_030062E8 = sSelect_MenuOptionFuncs[sFactorySelectScreen->menuCursorPos];
- return gUnknown_030062E8();
-}
-
-static u8 Select_OptionRentDeselect(void)
-{
- u8 selectedId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].selectedId;
- u16 monSetId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].monSetId;
- if (selectedId == 0 && !Select_AreSpeciesValid(monSetId))
+ do
{
- Select_PrintCantSelectSameMon();
- sub_819B958(3);
- return 3;
- }
- else
- {
- sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
- Select_HandleMonSelectionChange();
- Select_PrintSelectMonString();
- sub_819B958(3);
- if (sFactorySelectScreen->selectingMonsState > 3)
- return 2;
- else
- return 1;
- }
-}
-
-static u8 sub_819BC9C(void)
-{
- sub_819C568();
- Select_HandleMonSelectionChange();
- Select_PrintSelectMonString();
- sub_819B958(3);
- if (sFactorySelectScreen->selectingMonsState > 3)
- return 2;
- else
- return 1;
-}
-
-static u8 Select_OptionSummary(void)
-{
- return 0;
-}
-
-static u8 Select_OptionOthers(void)
-{
- sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
- sub_819B958(3);
- return 1;
-}
-
-static void Select_PrintMonCategory(void)
-{
- u16 species;
- u8 text[30];
- u8 x;
- u8 monId = sFactorySelectScreen->cursorPos;
- if (monId < SELECTABLE_MONS_COUNT)
- {
- PutWindowTilemap(5);
- FillWindowPixelBuffer(5, 0);
- species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
- CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
- x = GetStringRightAlignXOffset(1, text, 0x76);
- AddTextPrinterParameterized(5, 1, text, x, 1, 0, NULL);
- CopyWindowToVram(5, 2);
- }
-}
-
-static void Summary_ShowMonSprite(void)
-{
- u8 monId = sFactorySelectScreen->cursorPos;
- struct Pokemon *mon = &sFactorySelectScreen->mons[monId].monData;
- u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
- u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
- u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
-
- sFactorySelectScreen->unk294[1].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
- gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0;
- gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0;
-
- sFactorySelectScreen->unk2A0 = FALSE;
-}
-
-static void sub_819BE20(bool8 arg0)
-{
- sFactorySelectScreen->unk2A0 = arg0;
-}
-
-static void Select_ShowSummaryMonSprite(void)
-{
- struct Pokemon *mon;
- u16 species;
- u32 personality, otId;
-
- sFactorySelectScreen->unk294[1].field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1);
- StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 2);
-
- mon = &sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].monData;
- species = GetMonData(mon, MON_DATA_SPECIES, NULL);
- personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
- otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
-
- sFactorySelectScreen->unk294[1].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
- gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0;
- gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0;
-
- gSprites[sFactorySelectScreen->unk294[1].field1].invisible = TRUE;
-}
-
-static void Select_ShowChosenMonsSprites(void)
-{
- u8 i, j;
-
- for (i = 0; i < 3; i++)
- {
- for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
+ trainerId = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
- if (sFactorySelectScreen->mons[j].selectedId == i + 1)
- {
- struct Pokemon *mon = &sFactorySelectScreen->mons[j].monData;
- u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
- u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
- u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
-
- sFactorySelectScreen->unk294[i].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, (i * 72) + 16, 32, i + 13, 0xFFFF);
- gSprites[sFactorySelectScreen->unk294[i].field0].centerToCornerVecX = 0;
- gSprites[sFactorySelectScreen->unk294[i].field0].centerToCornerVecY = 0;
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;
- }
}
- }
- sFactorySelectScreen->unk2A0 = FALSE;
-}
-
-static void sub_819C040(struct Sprite *sprite)
-{
- u8 taskId;
-
- if (sprite->affineAnimEnded
- && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded
- && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded)
- {
- sprite->invisible = TRUE;
- gSprites[sFactorySelectScreen->unk294[0].field1].invisible = TRUE;
- gSprites[sFactorySelectScreen->unk294[2].field1].invisible = TRUE;
-
- taskId = CreateTask(sub_819C1D0, 1);
- gTasks[taskId].func(taskId);
-
- sprite->callback = SpriteCallbackDummy;
- }
-}
+ } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
-static void sub_819C100(struct Sprite *sprite)
-{
- if (sprite->affineAnimEnded
- && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded
- && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded)
- {
- FreeOamMatrix(sprite->oam.matrixNum);
- FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[0].field1].oam.matrixNum);
- FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[2].field1].oam.matrixNum);
+ gTrainerBattleOpponent_A = trainerId;
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = trainerId;
- sFactorySelectScreen->unk2A0 = FALSE;
-
- DestroySprite(&gSprites[sFactorySelectScreen->unk294[0].field1]);
- DestroySprite(&gSprites[sFactorySelectScreen->unk294[2].field1]);
- DestroySprite(sprite);
- }
-}
-
-static void sub_819C1D0(u8 taskId)
-{
- struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ i = 0;
+ while (i != 3)
{
- case 0:
- task->data[3] = 16;
- task->data[24] = 224; // BUG: writing outside the array's bounds.
- task->data[5] = 64;
- task->data[8] = 65;
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
- break;
- case 1:
- ShowBg(3);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
- break;
- case 2:
- task->data[5] -= 4;
- task->data[8] += 4;
- if (task->data[5] <= 32 || task->data[8] >= 96)
- {
- task->data[5] = 32;
- task->data[8] = 96;
- ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- }
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- if (task->data[5] != 32)
- return;
- break;
- default:
- DestroyTask(taskId);
- Select_ShowChosenMonsSprites();
- return;
- }
- task->data[0]++;
-}
+ u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE);
+ if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
+ continue;
-static void sub_819C2D4(u8 taskId)
-{
- struct Task *task = &gTasks[taskId];
- switch (task->data[0])
- {
- default:
- HideBg(3);
- gSprites[sFactorySelectScreen->unk294[1].field1].invisible = FALSE;
- gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C100;
- gSprites[sFactorySelectScreen->unk294[0].field1].invisible = FALSE;
- gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy;
- gSprites[sFactorySelectScreen->unk294[2].field1].invisible = FALSE;
- gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy;
- StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 1);
- StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[0].field1], 1);
- StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[2].field1], 1);
- ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- DestroyTask(taskId);
- break;
- case 0:
- task->data[3] = 16;
- task->data[24] = 224; // BUG: writing outside the array's bounds.
- task->data[5] = 32;
- task->data[8] = 96;
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
- task->data[0]++;
- break;
- case 1:
- task->data[5] += 4;
- task->data[8] -= 4;
- if (task->data[5] >= 64 || task->data[8] <= 65)
+ for (j = 0; j < 6; j++)
{
- task->data[5] = 64;
- task->data[8] = 65;
+ if (gFacilityTrainerMons[monSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species)
+ break;
}
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- if (task->data[5] == 64)
- task->data[0]++;
- break;
- }
-}
+ if (j != 6)
+ continue;
-static void sub_819C4B4(void)
-{
- sFactorySelectScreen->unk294[1].field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1);
- sFactorySelectScreen->unk294[0].field1 = CreateSprite(&gUnknown_08610638, 44, 64, 1);
- sFactorySelectScreen->unk294[2].field1 = CreateSprite(&gUnknown_08610638, 196, 64, 1);
-
- gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C040;
- gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy;
- gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy;
+ if (lvlMode == FRONTIER_LVL_50 && monSetId > 849)
+ continue;
- sFactorySelectScreen->unk2A0 = TRUE;
-}
-
-static void sub_819C568(void)
-{
- u8 taskId;
-
- FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[0].field0);
- FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[1].field0);
- FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[2].field0);
-
- taskId = CreateTask(sub_819C2D4, 1);
- gTasks[taskId].func(taskId);
-
- sFactorySelectScreen->unk2A0 = TRUE;
-}
-
-static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V)
-{
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(mWin0H, nWin0H));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(mWin0V, nWin0V));
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
-}
-
-static bool32 Select_AreSpeciesValid(u16 monSetId)
-{
- u8 i, j;
- u32 species = gFacilityTrainerMons[monSetId].species;
- u8 selectState = sFactorySelectScreen->selectingMonsState;
-
- for (i = 1; i < selectState; i++)
- {
- for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
+ for (k = firstMonId; k < firstMonId + i; k++)
{
- if (sFactorySelectScreen->mons[j].selectedId == i)
- {
- if (gFacilityTrainerMons[sFactorySelectScreen->mons[j].monSetId].species == species)
- return FALSE;
-
+ if (species[k] == gFacilityTrainerMons[monSetId].species)
break;
- }
}
- }
-
- return TRUE;
-}
+ if (k != firstMonId + i)
+ continue;
-static void Task_SelectFadeSpeciesName(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
- {
- case 0:
- sFactorySelectScreen->unk2A7 = 0;
- sFactorySelectScreen->unk2A8 = 0;
- sFactorySelectScreen->unk2A6 = TRUE;
- gTasks[taskId].data[0] = 1;
- break;
- case 1:
- if (sFactorySelectScreen->unk2A2)
- {
- if (sFactorySelectScreen->unk2A9)
- {
- gTasks[taskId].data[0] = 2;
- }
- else
- {
- sFactorySelectScreen->unk2A7++;
- if (sFactorySelectScreen->unk2A7 > 6)
- {
- sFactorySelectScreen->unk2A7 = 0;
- if (!sFactorySelectScreen->unk2A6)
- sFactorySelectScreen->unk2A8--;
- else
- sFactorySelectScreen->unk2A8++;
- }
- BlendPalettes(0x4000, sFactorySelectScreen->unk2A8, 0);
- if (sFactorySelectScreen->unk2A8 > 5)
- {
- sFactorySelectScreen->unk2A6 = FALSE;
- }
- else if (sFactorySelectScreen->unk2A8 == 0)
- {
- gTasks[taskId].data[0] = 2;
- sFactorySelectScreen->unk2A6 = TRUE;
- }
- }
- }
- break;
- case 2:
- if (sFactorySelectScreen->unk2A9 > 14)
+ for (k = firstMonId; k < firstMonId + i; k++)
{
- sFactorySelectScreen->unk2A9 = 0;
- gTasks[taskId].data[0] = 1;
- }
- else
- {
- sFactorySelectScreen->unk2A9++;
+ if (heldItems[k] != 0 && heldItems[k] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ break;
}
- break;
- }
-}
-
-// Swap Screen's section begins here.
-
-static void Swap_CB2(void)
-{
- AnimateSprites();
- BuildOamBuffer();
- RunTextPrinters();
- UpdatePaletteFade();
- RunTasks();
-}
-
-static void Swap_VblankCb(void)
-{
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-}
-
-static void CopySwappedMonData(void)
-{
- u8 happiness;
-
- gPlayerParty[sFactorySwapScreen->playerMonId] = gEnemyParty[sFactorySwapScreen->enemyMonId];
- happiness = 0;
- SetMonData(&gPlayerParty[sFactorySwapScreen->playerMonId], MON_DATA_FRIENDSHIP, &happiness);
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].monId = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].monId;
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].ivs = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].ivs;
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId], MON_DATA_PERSONALITY, NULL);
- gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL);
-}
+ if (k != firstMonId + i)
+ continue;
-static void Task_FromSwapScreenToSummaryScreen(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
- {
- case 6:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
- gTasks[taskId].data[0] = 7;
- break;
- case 7:
- if (!gPaletteFade.active)
- {
- DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId);
- sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30);
- Swap_DestroyAllSprites();
- FREE_AND_SET_NULL(sSwapMenuTilesetBuffer);
- FREE_AND_SET_NULL(sSwapMonCardBgTilesetBuffer);
- FREE_AND_SET_NULL(sSwapMenuTilemapBuffer);
- FREE_AND_SET_NULL(sSwapMonCardBgTilemapBuffer);
- FreeAllWindowBuffers();
- gTasks[taskId].data[0] = 8;
- }
- break;
- case 8:
- DestroyTask(taskId);
- sFactorySwapScreen->fromSummaryScreen = TRUE;
- sFactorySwapScreen->unk24 = gPlttBufferUnfaded[244];
- ShowPokemonSummaryScreen(0, gPlayerParty, sFactorySwapScreen->cursorPos, 3 - 1, CB2_InitSwapScreen);
- break;
+ species[i] = gFacilityTrainerMons[monSetId].species;
+ heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
+ gUnknown_03006298[i] = monSetId;
+ i++;
}
}
-static void Task_CloseSwapScreen(u8 taskId)
+static void sub_81A63B8(void)
{
- if (sFactorySwapScreen->unk30 != TRUE)
- {
- switch (gTasks[taskId].data[0])
- {
- case 0:
- if (sFactorySwapScreen->monSwapped == TRUE)
- {
- gTasks[taskId].data[0]++;
- gSpecialVar_Result = 0;
- }
- else
- {
- gTasks[taskId].data[0] = 2;
- gSpecialVar_Result = 1;
- }
- break;
- case 1:
- if (sFactorySwapScreen->monSwapped == TRUE)
- {
- sFactorySwapScreen->enemyMonId = sFactorySwapScreen->cursorPos;
- CopySwappedMonData();
- }
- gTasks[taskId].data[0]++;
- break;
- case 2:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
- gTasks[taskId].data[0]++;
- break;
- case 3:
- if (!UpdatePaletteFade())
- {
- DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId);
- Swap_DestroyAllSprites();
- FREE_AND_SET_NULL(sSwapMenuTilesetBuffer);
- FREE_AND_SET_NULL(sSwapMonCardBgTilesetBuffer);
- FREE_AND_SET_NULL(sSwapMenuTilemapBuffer);
- FREE_AND_SET_NULL(sSwapMonCardBgTilemapBuffer);
- FREE_AND_SET_NULL(sFactorySwapScreen);
- FreeAllWindowBuffers();
- SetMainCallback2(CB2_ReturnToFieldContinueScript);
- DestroyTask(taskId);
- }
- break;
- }
- }
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
-static void Task_HandleSwapScreenYesNo(u8 taskId)
+static void sub_81A63CC(void)
{
- u16 loPtr, hiPtr;
-
- if (sFactorySwapScreen->unk30 != TRUE)
- {
- switch (gTasks[taskId].data[0])
- {
- case 4:
- Swap_ShowYesNoOptions();
- gTasks[taskId].data[0] = 5;
- break;
- case 5:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- if (sFactorySwapScreen->yesNoCursorPos == 0)
- {
- gTasks[taskId].data[1] = 1;
- hiPtr = gTasks[taskId].data[6];
- loPtr = gTasks[taskId].data[7];
- gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr);
- }
- else
- {
- gTasks[taskId].data[1] = 0;
- sub_819EA64(4);
- hiPtr = gTasks[taskId].data[6];
- loPtr = gTasks[taskId].data[7];
- gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr);
- }
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- gTasks[taskId].data[1] = 0;
- sub_819EA64(4);
- hiPtr = gTasks[taskId].data[6];
- loPtr = gTasks[taskId].data[7];
- gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr);
- }
- else if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- PlaySE(SE_SELECT);
- Swap_UpdateYesNoCursorPosition(-1);
- }
- else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- PlaySE(SE_SELECT);
- Swap_UpdateYesNoCursorPosition(1);
- }
- break;
- }
- }
-}
+ u8 i;
-static void sub_819CBDC(u8 taskId)
-{
- if (gTasks[taskId].data[1] == 1)
- {
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = Task_CloseSwapScreen;
- }
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
+ gFacilityTrainerMons = gBattleFrontierMons;
else
- {
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16;
- gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
- gTasks[taskId].data[5] = 1;
- gTasks[taskId].func = sub_819D770;
- }
-}
+ gFacilityTrainerMons = gSlateportBattleTentMons;
-static void sub_819CC24(u8 taskId)
-{
- if (gTasks[taskId].data[0] == 0)
+ for (i = 0; i < 3; i++)
{
- Swap_PrintOnInfoWindow(gText_QuitSwapping);
- sFactorySwapScreen->monSwapped = FALSE;
- gTasks[taskId].data[0] = 4;
- gTasks[taskId].data[6] = (u32)(sub_819CBDC) >> 16;
- gTasks[taskId].data[7] = (u32)(sub_819CBDC);
- gTasks[taskId].func = Task_HandleSwapScreenYesNo;
+ gSaveBlock2Ptr->frontier.field_E70[i + 3].monId = gUnknown_03006298[i];
+ gSaveBlock2Ptr->frontier.field_E70[i + 3].ivs = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ATK_IV, NULL);
+ gSaveBlock2Ptr->frontier.field_E70[i + 3].personality = GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY, NULL);
+ gSaveBlock2Ptr->frontier.field_E70[i + 3].abilityBit = GetBoxMonData(&gEnemyParty[i].box, MON_DATA_ALT_ABILITY, NULL);
+ SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[gUnknown_03006298[i]].itemTableId]);
}
}
-static void sub_819CC74(u8 taskId)
+static void sub_81A64C4(void)
{
- sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
- if (gTasks[taskId].data[1] == 1)
+ s32 i, j, k;
+ s32 count = 0;
+ u8 bits = 0;
+ u8 monLevel;
+ u16 monSetId;
+ u16 evs;
+ u8 ivs;
+ u8 friendship;
+
+ if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_TENT)
{
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = Task_CloseSwapScreen;
+ gFacilityTrainerMons = gSlateportBattleTentMons;
+ monLevel = 30;
}
else
{
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16;
- gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
- gTasks[taskId].data[5] = 1;
- gTasks[taskId].func = sub_819D770;
- }
-}
-
-static void sub_819CCD4(u8 taskId)
-{
- if (gTasks[taskId].data[0] == 0)
- {
- sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE);
- Swap_PrintOnInfoWindow(gText_AcceptThisPkmn);
- sFactorySwapScreen->monSwapped = TRUE;
- gTasks[taskId].data[0] = 4;
- gTasks[taskId].data[6] = (u32)(sub_819CC74) >> 16;
- gTasks[taskId].data[7] = (u32)(sub_819CC74);
- gTasks[taskId].func = Task_HandleSwapScreenYesNo;
+ gFacilityTrainerMons = gBattleFrontierMons;
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
+ monLevel = 100;
+ else
+ monLevel = 50;
}
-}
-static void Task_HandleSwapScreenMenu(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
+ if (gSpecialVar_0x8005 < 2)
{
- case 2:
- if (!sFactorySwapScreen->fromSummaryScreen)
- sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE);
- gTasks[taskId].data[0] = 9;
- break;
- case 9:
- if (sFactorySwapScreen->unk30 != TRUE)
+ ZeroPlayerPartyMons();
+ for (i = 0; i < 3; i++)
{
- Swap_ShowMenuOptions();
- gTasks[taskId].data[0] = 3;
- }
- break;
- case 3:
- if (sFactorySwapScreen->unk30 != TRUE)
- {
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- Swap_RunMenuOptionFunc(taskId);
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
- sub_819EA64(3);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16;
- gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
- gTasks[taskId].data[5] = 1;
- gTasks[taskId].func = sub_819D770;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- Swap_UpdateMenuCursorPosition(-1);
- }
- else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- Swap_UpdateMenuCursorPosition(1);
- }
- }
- break;
- }
-}
+ monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
+ ivs = gSaveBlock2Ptr->frontier.field_E70[i].ivs;
+ CreateMon(&gPlayerParty[i],
+ gFacilityTrainerMons[monSetId].species,
+ monLevel,
+ ivs,
+ TRUE, gSaveBlock2Ptr->frontier.field_E70[i].personality,
+ 0, 0);
-static void Task_HandleSwapScreenChooseMons(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
- {
- case 0:
- if (!gPaletteFade.active)
- {
- sFactorySwapScreen->unk22 = TRUE;
- gTasks[taskId].data[0] = 1;
- }
- break;
- case 1:
- if (gMain.newKeys & A_BUTTON)
- {
- PlaySE(SE_SELECT);
- sFactorySwapScreen->unk22 = FALSE;
- Swap_PrintMonSpecies2();
- sub_819EAC0();
- Swap_RunActionFunc(taskId);
- }
- else if (gMain.newKeys & B_BUTTON)
- {
- PlaySE(SE_SELECT);
- sFactorySwapScreen->unk22 = FALSE;
- Swap_PrintMonSpecies2();
- sub_819EAC0();
- gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 16;
- gTasks[taskId].data[7] = (u32)(sub_819CC24);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[5] = 0;
- gTasks[taskId].func = sub_819D588;
- }
- else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
- {
- Swap_UpdateBallCursorPosition(-1);
- Swap_PrintMonCategory();
- Swap_PrintMonSpecies();
- }
- else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
- {
- Swap_UpdateBallCursorPosition(1);
- Swap_PrintMonCategory();
- Swap_PrintMonSpecies();
- }
- else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
- {
- Swap_UpdateActionCursorPosition(1);
- Swap_PrintMonCategory();
- Swap_PrintMonSpecies();
- }
- else if (gMain.newAndRepeatedKeys & DPAD_UP)
- {
- Swap_UpdateActionCursorPosition(-1);
- Swap_PrintMonCategory();
- Swap_PrintMonSpecies();
- }
- break;
- }
-}
-
-static void Task_SwapFadeSpeciesName(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
- {
- case 0:
- sFactorySwapScreen->unk27 = 0;
- sFactorySwapScreen->unk28 = 0;
- sFactorySwapScreen->unk26 = TRUE;
- gTasks[taskId].data[0] = 1;
- break;
- case 1:
- if (sFactorySwapScreen->unk22)
- {
- if (sFactorySwapScreen->unk29)
+ count = 0;
+ bits = gFacilityTrainerMons[monSetId].evSpread;
+ for (j = 0; j < NUM_STATS; bits >>= 1, j++)
{
- gTasks[taskId].data[0] = 2;
+ if (bits & 1)
+ count++;
}
- else
+
+ evs = MAX_TOTAL_EVS / count;
+ bits = 1;
+ for (j = 0; j < NUM_STATS; bits <<= 1, j++)
{
- sFactorySwapScreen->unk27++;
- if (sFactorySwapScreen->unk27 > 6)
- {
- sFactorySwapScreen->unk27 = 0;
- if (!sFactorySwapScreen->unk26)
- sFactorySwapScreen->unk28--;
- else
- sFactorySwapScreen->unk28++;
- }
- BlendPalettes(0x4000, sFactorySwapScreen->unk28, 0);
- if (sFactorySwapScreen->unk28 > 5)
- {
- sFactorySwapScreen->unk26 = FALSE;
- }
- else if (sFactorySwapScreen->unk28 == 0)
- {
- gTasks[taskId].data[0] = 2;
- sFactorySwapScreen->unk26 = TRUE;
- }
+ if (gFacilityTrainerMons[monSetId].evSpread & bits)
+ SetMonData(&gPlayerParty[i], MON_DATA_HP_EV + j, &evs);
}
+
+ CalculateMonStats(&gPlayerParty[i]);
+ friendship = 0;
+ for (k = 0; k < 4; k++)
+ SetMonMoveAvoidReturn(&gPlayerParty[i], gFacilityTrainerMons[monSetId].moves[k], k);
+ SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.field_E70[i].abilityBit);
}
- break;
- case 2:
- if (sFactorySwapScreen->unk29 > 14)
- {
- sFactorySwapScreen->unk29 = 0;
- gTasks[taskId].data[0] = 1;
- }
- else
- {
- sFactorySwapScreen->unk29++;
- }
- break;
}
-}
-static void Task_SwapFadeSpeciesName2(u8 taskId)
-{
- switch (gTasks[taskId].data[0])
+ switch (gSpecialVar_0x8005)
{
case 0:
- sFactorySwapScreen->unk27 = 0;
- gTasks[taskId].data[4] = 0;
- gTasks[taskId].data[0]++;
- break;
- case 1:
- LoadPalette(&gPlttBufferUnfaded[0xF0], 0xE0, 0xA);
- gTasks[taskId].data[0]++;
- break;
case 2:
- if (sFactorySwapScreen->unk28 > 15)
+ for (i = 0; i < 3; i++)
{
- gTasks[taskId].data[4] = 1;
- gTasks[taskId].data[0]++;
- }
- sFactorySwapScreen->unk27++;
- if (sFactorySwapScreen->unk27 > 3)
- {
- sFactorySwapScreen->unk27 = 0;
- gPlttBufferUnfaded[244] = gPlttBufferFaded[228];
- sFactorySwapScreen->unk28++;
- }
- BlendPalettes(0x4000, sFactorySwapScreen->unk28, 0);
- break;
- }
-}
+ monSetId = gSaveBlock2Ptr->frontier.field_E70[i + 3].monId;
+ ivs = gSaveBlock2Ptr->frontier.field_E70[i + 3].ivs;
+ CreateMon(&gEnemyParty[i],
+ gFacilityTrainerMons[monSetId].species,
+ monLevel,
+ ivs,
+ TRUE, gSaveBlock2Ptr->frontier.field_E70[i + 3].personality,
+ 0, 0);
-static void sub_819D12C(u8 taskId)
-{
- s8 i;
- u8 var_2C;
- bool8 destroyTask;
-
- switch (gTasks[taskId].data[0])
- {
- case 0:
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].data[3] = 0;
- gTasks[taskId].data[0] = 1;
- break;
- case 1:
- var_2C = 0;
- for (i = 2; i >= 0; i--)
- {
- if (i != 2)
+ count = 0;
+ bits = gFacilityTrainerMons[monSetId].evSpread;
+ for (j = 0; j < NUM_STATS; bits >>= 1, j++)
{
- u8 posX = var_2C - gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
- if (posX == 16 || gTasks[taskId].data[i + 2] == 1)
- {
- var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10;
- }
- else if (posX > 16)
- {
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[i + 1]].pos1.x - 48;
- }
- }
- else
- {
- var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10;
+ if (bits & 1)
+ count++;
}
- if (gTasks[taskId].data[i + 1] == 1)
- {
- if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x > (i * 48) + 72)
- {
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = (i * 48) + 72;
- destroyTask = TRUE;
- }
- else if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x == (i * 48) + 72)
- {
- destroyTask = TRUE;
- }
- else
- {
- destroyTask = FALSE;
- }
- }
- else
+ evs = MAX_TOTAL_EVS / count;
+ bits = 1;
+ for (j = 0; j < NUM_STATS; bits <<= 1, j++)
{
- destroyTask = FALSE;
+ if (gFacilityTrainerMons[monSetId].evSpread & bits)
+ SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &evs);
}
- if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x - 16 > 240)
- {
- var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = -16;
- if (sFactorySwapScreen->inEnemyScreen == TRUE)
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
- else
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
-
- gTasks[taskId].data[i + 1] = 1;
- }
+ CalculateMonStats(&gEnemyParty[i]);
+ for (k = 0; k < 4; k++)
+ SetMonMoveAvoidReturn(&gEnemyParty[i], gFacilityTrainerMons[monSetId].moves[k], k);
+ SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ SetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY, &gSaveBlock2Ptr->frontier.field_E70[i + 3].abilityBit);
}
- if (destroyTask == TRUE)
- DestroyTask(taskId);
break;
}
}
-static void sub_819D324(u8 taskId)
+static void sub_81A67EC(void)
{
- u8 i, j;
- s32 posX = 0;
- s8 r4 = gTasks[taskId].data[3];
- bool8 r1;
- s16 currPosX;
- u8 taskId2;
-
- if (gTasks[taskId].data[2] == 1)
- r4 *= -1;
+ s32 i, j;
+ u8 firstMonId;
+ u8 battleMode;
+ u8 lvlMode;
+ u8 challengeNum;
+ u8 factoryLvlMode;
+ u8 factoryBattleMode;
+ u8 var_40;
+ u16 monSetId;
+ u16 currSpecies;
+ u16 species[PARTY_SIZE];
+ u16 monIds[PARTY_SIZE];
+ u16 heldItems[PARTY_SIZE];
+
+ gFacilityTrainers = gBattleFrontierTrainers;
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ species[i] = 0;
+ monIds[i] = 0;
+ heldItems[i] = 0;
+ }
+ lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+ if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
+ factoryBattleMode = FRONTIER_MODE_DOUBLES;
+ else
+ factoryBattleMode = FRONTIER_MODE_SINGLES;
- switch (gTasks[taskId].data[0])
+ gFacilityTrainerMons = gBattleFrontierMons;
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
{
- case 0:
- currPosX = gSprites[sFactorySwapScreen->unk8[0][0]].pos1.x;
- if (!gTasks[taskId].data[2])
- {
- if (currPosX + r4 < 240)
- {
- r1 = TRUE;
- }
- else
- {
- r1 = FALSE;
- posX = 240;
- }
- }
- else
- {
- if (currPosX + r4 > 160)
- {
- r1 = TRUE;
- }
- else
- {
- r1 = FALSE;
- posX = 160;
- }
- }
-
- if (r1 == TRUE)
- {
- for (i = 0; i < 3; i++)
- {
- for (j = 0; j < 2; j++)
- gSprites[sFactorySwapScreen->unk8[j][i]].pos1.x += r4;
- }
- }
- else
- {
- for (j = 0; j < 2; j++)
- {
- gSprites[sFactorySwapScreen->unk8[j][0]].pos1.x = posX;
- gSprites[sFactorySwapScreen->unk8[j][1]].pos1.x = posX + 16;
- gSprites[sFactorySwapScreen->unk8[j][2]].pos1.x = posX + 48;
- }
- taskId2 = gTasks[taskId].data[1];
- gTasks[taskId2].data[3] = 1;
- DestroyTask(taskId);
- }
- break;
- case 1:
- currPosX = gSprites[sFactorySwapScreen->unkE[0][0]].pos1.x;
- if (!gTasks[taskId].data[2])
- {
- if (currPosX + r4 < 240)
- {
- r1 = TRUE;
- }
- else
- {
- r1 = FALSE;
- posX = 240;
- }
- }
- else
- {
- if (currPosX + r4 > 192)
- {
- r1 = TRUE;
- }
- else
- {
- r1 = FALSE;
- posX = 192;
- }
- }
-
- if (r1 == TRUE)
- {
- for (i = 0; i < 2; i++)
- {
- for (j = 0; j < 2; j++)
- gSprites[sFactorySwapScreen->unkE[j][i]].pos1.x += r4;
- }
- }
- else
- {
- for (j = 0; j < 2; j++)
- {
- gSprites[sFactorySwapScreen->unkE[j][0]].pos1.x = posX;
- gSprites[sFactorySwapScreen->unkE[j][1]].pos1.x = posX + 16;
- }
- taskId2 = gTasks[taskId].data[1];
- gTasks[taskId2].data[4] = 1;
- DestroyTask(taskId);
- }
- break;
+ factoryLvlMode = FRONTIER_LVL_OPEN;
+ firstMonId = 0;
}
-}
-
-static void sub_819D588(u8 taskId)
-{
- u8 anotherTaskId;
- u16 loPtr, hiPtr;
-
- switch (gTasks[taskId].data[0])
+ else
{
- case 0:
- LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918));
- Swap_PrintActionStrings();
- PutWindowTilemap(5);
- gTasks[taskId].data[0]++;
- break;
- case 1:
- sub_819EA64(3);
- gTasks[taskId].data[0]++;
- break;
- case 2:
- BeginNormalPaletteFade(0x4000, 0, 0, 0x10, gUnknown_0860F13C[37]);
- gTasks[taskId].data[0]++;
- break;
- case 3:
- if (!gPaletteFade.active)
- {
- FillWindowPixelBuffer(5, 0);
- CopyWindowToVram(5, 2);
- if (sFactorySwapScreen->inEnemyScreen == TRUE)
- {
- anotherTaskId = CreateTask(sub_819D324, 0);
- gTasks[taskId].data[3] = 0;
- gTasks[anotherTaskId].data[1] = taskId;
- gTasks[anotherTaskId].data[0] = 0;
- gTasks[anotherTaskId].data[2] = 0;
- gTasks[anotherTaskId].data[3] = 6;
- gTasks[taskId].data[2] = 5;
- gTasks[taskId].data[0]++;
- }
- else
- {
- anotherTaskId = CreateTask(sub_819D324, 0);
- gTasks[taskId].data[3] = 1;
- gTasks[taskId].data[4] = 0;
- gTasks[anotherTaskId].data[1] = taskId;
- gTasks[anotherTaskId].data[0] = 1;
- gTasks[anotherTaskId].data[2] = 0;
- gTasks[anotherTaskId].data[3] = 6;
- gTasks[taskId].data[0] += 2;
- }
- }
- break;
- case 4:
- if (gTasks[taskId].data[2] == 0)
- {
- anotherTaskId = CreateTask(sub_819D324, 0);
- gTasks[taskId].data[4] = 0;
- gTasks[anotherTaskId].data[1] = taskId;
- gTasks[anotherTaskId].data[0] = 1;
- gTasks[anotherTaskId].data[2] = 0;
- gTasks[anotherTaskId].data[3] = 6;
- gTasks[taskId].data[0]++;
- }
- else
- {
- gTasks[taskId].data[2]--;
- }
- break;
- case 5:
- if (gTasks[taskId].data[3] == 1 && gTasks[taskId].data[4] == 1)
- {
- gTasks[taskId].data[0] = gTasks[taskId].data[5];
- loPtr = gTasks[taskId].data[6];
- hiPtr = gTasks[taskId].data[7];
- gTasks[taskId].func = (void *)((loPtr << 0x10) | (hiPtr));
- }
- break;
+ factoryLvlMode = FRONTIER_LVL_50;
+ firstMonId = 0;
}
-}
-
-static void sub_819D770(u8 taskId)
-{
- u8 anotherTaskId;
- u16 loPtr, hiPtr;
- if (sFactorySwapScreen->unk30 == TRUE)
- return;
+ var_40 = sub_81A6F70(factoryBattleMode, factoryLvlMode);
- switch (gTasks[taskId].data[0])
+ currSpecies = 0;
+ i = 0;
+ while (i != PARTY_SIZE)
{
- case 0:
- if (sFactorySwapScreen->inEnemyScreen == TRUE)
- {
- anotherTaskId = CreateTask(sub_819D324, 0);
- gTasks[taskId].data[3] = 0;
- gTasks[anotherTaskId].data[1] = taskId;
- gTasks[anotherTaskId].data[0] = 0;
- gTasks[anotherTaskId].data[2] = 1;
- gTasks[anotherTaskId].data[3] = 6;
- gTasks[taskId].data[2] = 10;
- gTasks[taskId].data[0]++;
- }
- else
- {
- anotherTaskId = CreateTask(sub_819D324, 0);
- gTasks[taskId].data[3] = 1;
- gTasks[taskId].data[4] = 0;
- gTasks[anotherTaskId].data[1] = taskId;
- gTasks[anotherTaskId].data[0] = 1;
- gTasks[anotherTaskId].data[2] = 1;
- gTasks[anotherTaskId].data[3] = 6;
- gTasks[taskId].data[0] += 2;
- }
- break;
- case 1:
- if (gTasks[taskId].data[2] == 0)
- {
- anotherTaskId = CreateTask(sub_819D324, 0);
- gTasks[taskId].data[4] = 0;
- gTasks[anotherTaskId].data[1] = taskId;
- gTasks[anotherTaskId].data[0] = 1;
- gTasks[anotherTaskId].data[2] = 1;
- gTasks[anotherTaskId].data[3] = 6;
- gTasks[taskId].data[0]++;
- }
+ if (i < var_40)
+ monSetId = GetMonSetId(factoryLvlMode, challengeNum, TRUE);
else
- {
- gTasks[taskId].data[2]--;
- }
- break;
- case 2:
- if (gTasks[taskId].data[3] == 1 && gTasks[taskId].data[4] == 1)
- {
- gPlttBufferFaded[226] = gUnknown_0860F13C[37];
- Swap_PrintActionStrings();
- PutWindowTilemap(5);
- gTasks[taskId].data[0]++;
- }
- break;
- case 3:
- BeginNormalPaletteFade(0x4000, 0, 0x10, 0, gUnknown_0860F13C[37]);
- gTasks[taskId].data[0]++;
- break;
- case 4:
- if (!gPaletteFade.active)
- {
- Swap_PrintOneActionString(0);
- gTasks[taskId].data[0]++;
- }
- break;
- case 5:
- Swap_PrintOneActionString(1);
- PutWindowTilemap(3);
- gTasks[taskId].data[0]++;
- break;
- case 6:
- FillWindowPixelBuffer(5, 0);
- CopyWindowToVram(5, 2);
- gTasks[taskId].data[0]++;
- break;
- case 7:
- if (!sFactorySwapScreen->inEnemyScreen)
- Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap);
- else
- Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept);
- if (sFactorySwapScreen->cursorPos < 3)
- gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE;
- Swap_PrintMonCategory();
- gTasks[taskId].data[0]++;
- break;
- case 8:
- Swap_PrintMonSpecies3();
- sub_819EADC();
- sFactorySwapScreen->unk22 = TRUE;
- gTasks[taskId].data[0] = gTasks[taskId].data[5];
- loPtr = gTasks[taskId].data[6];
- hiPtr = gTasks[taskId].data[7];
- gTasks[taskId].func = (void *)((loPtr << 0x10) | (hiPtr));
- break;
- }
-}
+ monSetId = GetMonSetId(factoryLvlMode, challengeNum, FALSE);
-static void sub_819D9EC(u8 taskId)
-{
- u8 i;
- if (sFactorySwapScreen->unk30 == TRUE)
- return;
+ if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
+ continue;
- switch (gTasks[taskId].data[0])
- {
- case 0:
- Swap_PrintMonSpecies3();
- gTasks[taskId].data[0]++;
- break;
- case 1:
- sub_819EADC();
- gSprites[sFactorySwapScreen->cursorSpriteId].invisible = TRUE;
- gTasks[taskId].data[0]++;
- break;
- case 2:
- CreateTask(sub_819D12C, 0);
- gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName2;
- gTasks[taskId].data[0]++;
- break;
- case 3:
- if (!FuncIsActiveTask(sub_819D12C) && gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[4] == 1)
+ // Cannot have two pokemon of the same species.
+ for (j = firstMonId; j < firstMonId + i; j++)
{
- sub_819EAC0();
- if (!sFactorySwapScreen->inEnemyScreen)
- {
- Swap_InitActions(ACTIONS_ENEMY_SCREEN);
- }
- else
+ u16 monId = monIds[j];
+ if (monId == monSetId)
+ break;
+ if (species[j] == gFacilityTrainerMons[monSetId].species)
{
- Swap_InitActions(ACTIONS_PLAYER_SCREEN);
- for (i = 0; i < 3; i++)
- gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE;
+ if (currSpecies == 0)
+ currSpecies = gFacilityTrainerMons[monSetId].species;
+ else
+ break;
}
- gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x;
- gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName;
- sFactorySwapScreen->unk27 = 0;
- sFactorySwapScreen->unk28 = 6;
- sFactorySwapScreen->unk26 = FALSE;
- gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 1;
- gTasks[taskId].data[0]++;
}
- break;
- case 4:
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 0x10;
- gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
- gTasks[taskId].data[5] = 1;
- gTasks[taskId].func = sub_819D770;
- break;
- }
-}
-
-static void Swap_InitStruct(void)
-{
- if (sFactorySwapScreen == NULL)
- {
- sFactorySwapScreen = AllocZeroed(sizeof(*sFactorySwapScreen));
- sFactorySwapScreen->cursorPos = 0;
- sFactorySwapScreen->unk30 = FALSE;
- sFactorySwapScreen->fromSummaryScreen = FALSE;
- }
-}
+ if (j != firstMonId + i)
+ continue;
-void DoBattleFactorySwapScreen(void)
-{
- sFactorySwapScreen = NULL;
- SetMainCallback2(CB2_InitSwapScreen);
-}
-
-static void CB2_InitSwapScreen(void)
-{
- u8 taskId;
-
- switch (gMain.state)
- {
- case 0:
- SetHBlankCallback(NULL);
- SetVBlankCallback(NULL);
- CpuFill32(0, (void *)VRAM, VRAM_SIZE);
- ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sSwap_BgTemplates, ARRAY_COUNT(sSwap_BgTemplates));
- InitWindows(sSwap_WindowTemplates);
- DeactivateAllTextPrinters();
- gMain.state++;
- break;
- case 1:
- sSwapMenuTilesetBuffer = Alloc(0x440);
- sSwapMonCardBgTilesetBuffer = AllocZeroed(0x440);
- sSwapMenuTilemapBuffer = Alloc(0x800);
- sSwapMonCardBgTilemapBuffer = AllocZeroed(0x800);
- ChangeBgX(0, 0, 0);
- ChangeBgY(0, 0, 0);
- ChangeBgX(1, 0, 0);
- ChangeBgY(1, 0, 0);
- ChangeBgX(2, 0, 0);
- ChangeBgY(2, 0, 0);
- ChangeBgX(3, 0, 0);
- ChangeBgY(3, 0, 0);
- SetGpuReg(REG_OFFSET_BLDY, 0);
- SetGpuReg(REG_OFFSET_MOSAIC, 0);
- SetGpuReg(REG_OFFSET_WIN0H, 0);
- SetGpuReg(REG_OFFSET_WIN0V, 0);
- SetGpuReg(REG_OFFSET_WIN1H, 0);
- SetGpuReg(REG_OFFSET_WIN1V, 0);
- SetGpuReg(REG_OFFSET_WININ, 0);
- SetGpuReg(REG_OFFSET_WINOUT, 0);
- gMain.state++;
- break;
- case 2:
- ResetPaletteFade();
- ResetSpriteData();
- ResetTasks();
- FreeAllSpritePalettes();
- ResetAllPicSprites();
- CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSwapMenuTilesetBuffer, 0x440);
- CpuCopy16(gUnknown_0861033C, sSwapMonCardBgTilesetBuffer, 0x60);
- LoadBgTiles(1, sSwapMenuTilesetBuffer, 0x440, 0);
- LoadBgTiles(3, sSwapMonCardBgTilesetBuffer, 0x60, 0);
- CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, 0x800);
- LoadBgTilemap(1, sSwapMenuTilemapBuffer, 0x800, 0);
- LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40);
- LoadPalette(gUnknown_08610918, 0xF0, sizeof(gUnknown_08610918));
- LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918));
- LoadPalette(gUnknown_0861039C, 0x20, 4);
- gMain.state++;
- break;
- case 3:
- SetBgTilemapBuffer(3, sSwapMonCardBgTilemapBuffer);
- CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8);
- CopyBgTilemapBufferToVram(3);
- gMain.state++;
- break;
- case 4:
- LoadSpritePalettes(gUnknown_086106B0);
- LoadSpriteSheets(gUnknown_08610650);
- LoadCompressedObjectPic(gUnknown_086106A0);
- SetVBlankCallback(Swap_VblankCb);
- gMain.state++;
- break;
- case 5:
- if (sFactorySwapScreen->fromSummaryScreen == TRUE)
- sFactorySwapScreen->cursorPos = gUnknown_0203CF20;
- gMain.state++;
- break;
- case 6:
- Swap_InitStruct();
- Swap_InitAllSprites();
- if (sFactorySwapScreen->fromSummaryScreen == TRUE)
- Swap_ShowSummaryMonSprite();
- Swap_InitActions(ACTIONS_PLAYER_SCREEN);
- gMain.state++;
- break;
- case 7:
- Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap);
- PutWindowTilemap(2);
- gMain.state++;
- break;
- case 8:
- Swap_PrintMonCategory();
- PutWindowTilemap(8);
- gMain.state++;
- break;
- case 9:
- if (!sFactorySwapScreen->fromSummaryScreen)
- Swap_PrintMonSpecies();
- PutWindowTilemap(1);
- gMain.state++;
- break;
- case 10:
- Swap_PrintPkmnSwap();
- PutWindowTilemap(0);
- gMain.state++;
- break;
- case 11:
- gMain.state++;
- break;
- case 12:
- if (sFactorySwapScreen->fromSummaryScreen)
- Swap_PrintMonSpecies2();
- gMain.state++;
- break;
- case 13:
- Swap_PrintActionStrings2();
- PutWindowTilemap(3);
- gMain.state++;
- break;
- case 14:
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
- ShowBg(0);
- ShowBg(1);
- ShowBg(2);
- if (sFactorySwapScreen->fromSummaryScreen == TRUE)
+ // Cannot have two same held items.
+ for (j = firstMonId; j < firstMonId + i; j++)
{
- ShowBg(3);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
- }
- else
- {
- HideBg(3);
- }
- gMain.state++;
- break;
- case 15:
- sFactorySwapScreen->fadeSpeciesNameTaskId = CreateTask(Task_SwapFadeSpeciesName, 0);
- if (!sFactorySwapScreen->fromSummaryScreen)
- {
- gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 0;
- taskId = CreateTask(Task_HandleSwapScreenChooseMons, 0);
- gTasks[taskId].data[0] = 0;
- }
- else
- {
- sub_819EAF8();
- gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 1;
- sFactorySwapScreen->unk22 = FALSE;
- taskId = CreateTask(Task_HandleSwapScreenMenu, 0);
- gTasks[taskId].data[0] = 2;
+ if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ {
+ if (gFacilityTrainerMons[monSetId].species == currSpecies)
+ currSpecies = 0;
+ break;
+ }
}
- SetMainCallback2(Swap_CB2);
- break;
+ if (j != firstMonId + i)
+ continue;
+
+ gSaveBlock2Ptr->frontier.field_E70[i].monId = monSetId;
+ species[i] = gFacilityTrainerMons[monSetId].species;
+ heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
+ monIds[i] = monSetId;
+ i++;
}
}
-static void Swap_InitAllSprites(void)
+static void sub_81A6A08(void)
{
u8 i;
- u8 x;
- struct SpriteTemplate spriteTemplate;
-
- spriteTemplate = gUnknown_08610834;
- spriteTemplate.paletteTag = TAG_PAL_BALL_SELECTED;
+ u8 typesCount[18];
+ u8 usedType[2];
+ gFacilityTrainerMons = gBattleFrontierMons;
+ for (i = 0; i < NUMBER_OF_MON_TYPES; i++)
+ typesCount[i] = 0;
for (i = 0; i < 3; i++)
{
- sFactorySwapScreen->ballSpriteIds[i] = CreateSprite(&spriteTemplate, (48 * i) + 72, 64, 1);
- gSprites[sFactorySwapScreen->ballSpriteIds[i]].data[0] = 0;
- }
- sFactorySwapScreen->cursorSpriteId = CreateSprite(&gUnknown_0861084C, gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x, 88, 0);
- sFactorySwapScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610864, 176, 112, 0);
- sFactorySwapScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_0861087C, 176, 144, 0);
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE;
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecY = 0;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecY = 0;
-
- if (sFactorySwapScreen->fromSummaryScreen == TRUE)
- x = 240;
- else
- x = 192;
+ u32 species = gFacilityTrainerMons[gUnknown_03006298[i]].species;
- spriteTemplate = gUnknown_0861084C;
- spriteTemplate.tileTag = TAG_TILE_68;
- sFactorySwapScreen->unk8[0][0] = CreateSprite(&spriteTemplate, 240, 120, 10);
-
- spriteTemplate = gUnknown_08610864;
- spriteTemplate.tileTag = TAG_TILE_69;
- sFactorySwapScreen->unk8[0][1] = CreateSprite(&spriteTemplate, 256, 120, 10);
- sFactorySwapScreen->unk8[0][2] = CreateSprite(&spriteTemplate, 288, 120, 10);
-
- spriteTemplate = gUnknown_0861084C;
- spriteTemplate.tileTag = TAG_TILE_6A;
- sFactorySwapScreen->unk8[1][0] = CreateSprite(&spriteTemplate, 240, 120, 1);
-
- spriteTemplate = gUnknown_08610864;
- spriteTemplate.tileTag = TAG_TILE_6B;
- sFactorySwapScreen->unk8[1][1] = CreateSprite(&spriteTemplate, 256, 120, 1);
- spriteTemplate.tileTag = TAG_TILE_6C;
- sFactorySwapScreen->unk8[1][2] = CreateSprite(&spriteTemplate, 288, 120, 1);
-
- spriteTemplate = gUnknown_0861084C;
- spriteTemplate.tileTag = TAG_TILE_68;
- sFactorySwapScreen->unkE[0][0] = CreateSprite(&spriteTemplate, x, 144, 10);
-
- spriteTemplate = gUnknown_08610864;
- spriteTemplate.tileTag = TAG_TILE_69;
- sFactorySwapScreen->unkE[0][1] = CreateSprite(&spriteTemplate, x + 16, 144, 10);
-
- spriteTemplate = gUnknown_0861084C;
- spriteTemplate.tileTag = TAG_TILE_6A;
- sFactorySwapScreen->unkE[1][0] = CreateSprite(&spriteTemplate, x, 144, 1);
-
- spriteTemplate = gUnknown_08610864;
- spriteTemplate.tileTag = TAG_TILE_6C;
- sFactorySwapScreen->unkE[1][1] = CreateSprite(&spriteTemplate, x + 16, 144, 1);
-
- for (i = 0; i < 2; i++)
- {
- gSprites[sFactorySwapScreen->unk8[i][0]].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unk8[i][0]].centerToCornerVecY = 0;
- gSprites[sFactorySwapScreen->unk8[i][1]].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unk8[i][1]].centerToCornerVecY = 0;
- gSprites[sFactorySwapScreen->unk8[i][2]].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unk8[i][2]].centerToCornerVecY = 0;
- gSprites[sFactorySwapScreen->unkE[i][0]].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unkE[i][0]].centerToCornerVecY = 0;
- gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecY = 0;
-
- gSprites[sFactorySwapScreen->unk8[i][0]].invisible = TRUE;
- gSprites[sFactorySwapScreen->unk8[i][1]].invisible = TRUE;
- gSprites[sFactorySwapScreen->unk8[i][2]].invisible = TRUE;
- gSprites[sFactorySwapScreen->unkE[i][0]].invisible = TRUE;
- gSprites[sFactorySwapScreen->unkE[i][1]].invisible = TRUE;
+ typesCount[gBaseStats[species].type1]++;
+ if (gBaseStats[species].type1 != gBaseStats[species].type2)
+ typesCount[gBaseStats[species].type2]++;
}
- gSprites[sFactorySwapScreen->unkE[0][0]].invisible = FALSE;
- gSprites[sFactorySwapScreen->unkE[0][1]].invisible = FALSE;
- gSprites[sFactorySwapScreen->unk8[0][0]].invisible = FALSE;
- gSprites[sFactorySwapScreen->unk8[0][1]].invisible = FALSE;
- gSprites[sFactorySwapScreen->unk8[0][2]].invisible = FALSE;
-}
-
-static void Swap_DestroyAllSprites(void)
-{
- u8 i, j;
-
- for (i = 0; i < 3; i++)
- DestroySprite(&gSprites[sFactorySwapScreen->ballSpriteIds[i]]);
- DestroySprite(&gSprites[sFactorySwapScreen->cursorSpriteId]);
- DestroySprite(&gSprites[sFactorySwapScreen->menuCursor1SpriteId]);
- DestroySprite(&gSprites[sFactorySwapScreen->menuCursor2SpriteId]);
- for (i = 0; i < 2; i++)
- {
- for (j = 0; j < 3; j++)
- DestroySprite(&gSprites[sFactorySwapScreen->unk8[i][j]]);
- }
- for (i = 0; i < 2; i++)
+ usedType[0] = 0;
+ usedType[1] = 0;
+ for (i = 1; i < NUMBER_OF_MON_TYPES; i++)
{
- for (j = 0; j < 2; j++)
- DestroySprite(&gSprites[sFactorySwapScreen->unkE[i][j]]);
+ if (typesCount[usedType[0]] < typesCount[i])
+ usedType[0] = i;
+ else if (typesCount[usedType[0]] == typesCount[i])
+ usedType[1] = i;
}
-}
-static void Swap_HandleActionCursorChange(u8 cursorId)
-{
- if (cursorId < 3)
- {
- gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE;
- sub_819E8EC();
- gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].pos1.x;
- }
+ gSpecialVar_Result = gSpecialVar_Result; // Needed to match. Don't ask me why.
+ if (typesCount[usedType[0]] != 0 && (typesCount[usedType[0]] > typesCount[usedType[1]] || usedType[0] == usedType[1]))
+ gSpecialVar_Result = usedType[0];
else
- {
- gSprites[sFactorySwapScreen->cursorSpriteId].invisible = TRUE;
- sub_819E838(sFactorySwapScreen->actionsData[cursorId].id);
- }
+ gSpecialVar_Result = NUMBER_OF_MON_TYPES;
}
-static void Swap_UpdateBallCursorPosition(s8 direction)
+static void sub_81A6AEC(void)
{
- u8 cursorPos;
- PlaySE(SE_SELECT);
- if (direction > 0) // Move cursor right.
- {
- if (sFactorySwapScreen->cursorPos + 1 != sFactorySwapScreen->actionsCount)
- sFactorySwapScreen->cursorPos++;
- else
- sFactorySwapScreen->cursorPos = 0;
- }
- else // Move cursor left.
- {
- if (sFactorySwapScreen->cursorPos != 0)
- sFactorySwapScreen->cursorPos--;
- else
- sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1;
- }
-
- cursorPos = sFactorySwapScreen->cursorPos;
- Swap_HandleActionCursorChange(cursorPos);
-}
-
-static void Swap_UpdateActionCursorPosition(s8 direction)
-{
- u8 cursorPos;
- PlaySE(SE_SELECT);
- if (direction > 0) // Move cursor down.
- {
- if (sFactorySwapScreen->cursorPos < 3)
- sFactorySwapScreen->cursorPos = 3;
- else if (sFactorySwapScreen->cursorPos + 1 != sFactorySwapScreen->actionsCount)
- sFactorySwapScreen->cursorPos++;
- else
- sFactorySwapScreen->cursorPos = 0;
- }
- else // Move cursor up.
- {
- if (sFactorySwapScreen->cursorPos < 3)
- sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1;
- else if (sFactorySwapScreen->cursorPos != 0)
- sFactorySwapScreen->cursorPos--;
- else
- sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1;
- }
-
- cursorPos = sFactorySwapScreen->cursorPos;
- Swap_HandleActionCursorChange(cursorPos);
-}
-
-static void Swap_UpdateYesNoCursorPosition(s8 direction)
-{
- if (direction > 0) // Move cursor down.
- {
- if (sFactorySwapScreen->yesNoCursorPos != 1)
- sFactorySwapScreen->yesNoCursorPos++;
- else
- sFactorySwapScreen->yesNoCursorPos = 0;
- }
- else // Move cursor up.
- {
- if (sFactorySwapScreen->yesNoCursorPos != 0)
- sFactorySwapScreen->yesNoCursorPos--;
- else
- sFactorySwapScreen->yesNoCursorPos = 1;
- }
-
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
-}
-
-static void Swap_UpdateMenuCursorPosition(s8 direction)
-{
- PlaySE(SE_SELECT);
- if (direction > 0) // Move cursor down.
- {
- if (sFactorySwapScreen->menuCursorPos != MENU_OPTIONS_COUNT - 1)
- sFactorySwapScreen->menuCursorPos++;
- else
- sFactorySwapScreen->menuCursorPos = 0;
- }
- else // Move cursor up.
- {
- if (sFactorySwapScreen->menuCursorPos != 0)
- sFactorySwapScreen->menuCursorPos--;
- else
- sFactorySwapScreen->menuCursorPos = MENU_OPTIONS_COUNT - 1;
- }
-
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
-}
-
-static void sub_819E838(u8 arg0)
-{
- u8 i;
+ u8 i, j, count;
+ u8 stylePoints[8];
+ count = 0;
+ gFacilityTrainerMons = gBattleFrontierMons;
+ for (i = 0; i < 8; i++)
+ stylePoints[i] = 0;
for (i = 0; i < 3; i++)
{
- if (arg0 == 2)
- {
- gSprites[sFactorySwapScreen->unk8[1][i]].invisible = FALSE;
- if (i < 2)
- gSprites[sFactorySwapScreen->unkE[1][i]].invisible = TRUE;
- }
- else if (arg0 == 3)
+ u16 monSetId = gUnknown_03006298[i];
+ for (j = 0; j < 4; j++)
{
- if (i < 2)
- gSprites[sFactorySwapScreen->unkE[1][i]].invisible = FALSE;
- gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE;
+ u8 id = GetStyleForMove(gFacilityTrainerMons[monSetId].moves[j]);
+ stylePoints[id]++;
}
}
-}
-static void sub_819E8EC(void)
-{
- u8 i;
-
- for (i = 0; i < 3; i++)
+ gSpecialVar_Result = 0;
+ for (i = 1; i < 8; i++)
{
- gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE;
- if (i < 2)
- gSprites[sFactorySwapScreen->unkE[1][i]].invisible = TRUE;
+ if (stylePoints[i] >= sRequiredMoveCounts[i - 1])
+ {
+ gSpecialVar_Result = i;
+ count++;
+ }
}
+ if (count > 2)
+ gSpecialVar_Result = 8;
}
-static void Swap_ShowMenuOptions(void)
-{
- if (sFactorySwapScreen->fromSummaryScreen == TRUE)
- sFactorySwapScreen->fromSummaryScreen = FALSE;
- else
- sFactorySwapScreen->menuCursorPos = 0;
-
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176;
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
-
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE;
-
- Swap_PrintMenuOptions();
-}
-
-static void Swap_ShowYesNoOptions(void)
-{
- sFactorySwapScreen->yesNoCursorPos = 0;
-
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176;
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = 112;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = 112;
-
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE;
-
- Swap_PrintYesNoOptions();
-}
-
-static void sub_819EA64(u8 windowId)
-{
- gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE;
- gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE;
- FillWindowPixelBuffer(windowId, 0);
- CopyWindowToVram(windowId, 2);
- ClearWindowTilemap(windowId);
-}
-
-static void sub_819EAC0(void)
+static u8 GetStyleForMove(u16 move)
{
- PutWindowTilemap(1);
- FillWindowPixelBuffer(1, 0);
- CopyWindowToVram(1, 2);
-}
-
-static void sub_819EADC(void)
-{
- PutWindowTilemap(7);
- FillWindowPixelBuffer(7, 0);
- CopyWindowToVram(7, 2);
-}
-
-static void sub_819EAF8(void)
-{
- sub_819EAC0();
- PutWindowTilemap(5);
- FillWindowPixelBuffer(5, 0);
- CopyWindowToVram(5, 2);
-}
-
-static void Swap_PrintPkmnSwap(void)
-{
- FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized(0, 1, gText_PkmnSwap, 2, 1, 0, NULL);
- CopyWindowToVram(0, 3);
-}
-
-static void Swap_PrintMonSpecies(void)
-{
- u16 species;
- u8 x;
+ const u16 *moves;
+ u8 i, j;
- FillWindowPixelBuffer(1, 0);
- if (sFactorySwapScreen->cursorPos > 2)
+ for (i = 0; i < ARRAY_COUNT(sMoveStyles); i++)
{
- CopyWindowToVram(1, 2);
- }
- else
- {
- u8 monId = sFactorySwapScreen->cursorPos;
- if (!sFactorySwapScreen->inEnemyScreen)
- species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
- else
- species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
- StringCopy(gStringVar4, gSpeciesNames[species]);
- x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
- CopyWindowToVram(1, 3);
+ for (j = 0, moves = sMoveStyles[i]; moves[j] != 0; j++)
+ {
+ if (moves[j] == move)
+ return i + 1;
+ }
}
+ return 0;
}
-static void Swap_PrintOnInfoWindow(const u8 *str)
-{
- FillWindowPixelBuffer(2, 0);
- AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL);
- CopyWindowToVram(2, 2);
-}
-
-static void Swap_PrintMenuOptions(void)
-{
- PutWindowTilemap(3);
- FillWindowPixelBuffer(3, 0);
- AddTextPrinterParameterized3(3, 1, 15, 1, gUnknown_08610922, 0, gText_Summary2);
- AddTextPrinterParameterized3(3, 1, 15, 17, gUnknown_08610922, 0, gText_Swap);
- AddTextPrinterParameterized3(3, 1, 15, 33, gUnknown_08610922, 0, gText_Rechoose);
- CopyWindowToVram(3, 3);
-}
-
-static void Swap_PrintYesNoOptions(void)
-{
- PutWindowTilemap(4);
- FillWindowPixelBuffer(4, 0);
- AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610922, 0, gText_Yes3);
- AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610922, 0, gText_No3);
- CopyWindowToVram(4, 3);
-}
-
-static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId)
+bool8 sub_81A6BF4(void)
{
- s32 x = GetStringRightAlignXOffset(0, str, 0x46);
- AddTextPrinterParameterized3(windowId, 0, x, y, gUnknown_08610922, 0, str);
+ return (gMapHeader.mapLayoutId == 347 || gMapHeader.mapLayoutId == 348);
}
-static void Swap_PrintActionStrings(void)
+static void sub_81A6C1C(void)
{
- FillWindowPixelBuffer(5, 0);
- switch (sFactorySwapScreen->inEnemyScreen)
- {
- case TRUE:
- Swap_PrintActionString(gText_PkmnForSwap, 0, 5);
- case FALSE:
- Swap_PrintActionString(gText_Cancel3, 24, 5);
- break;
- }
- CopyWindowToVram(5, 3);
-}
+ u8 i;
-static void Swap_PrintActionStrings2(void)
-{
- FillWindowPixelBuffer(3, 0);
- switch (sFactorySwapScreen->inEnemyScreen)
- {
- case TRUE:
- Swap_PrintActionString(gText_PkmnForSwap, 8, 3);
- case FALSE:
- Swap_PrintActionString(gText_Cancel3, 32, 3);
- break;
- }
- CopyWindowToVram(3, 3);
-}
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
+ gFacilityTrainerMons = gBattleFrontierMons;
+ else
+ gFacilityTrainerMons = gSlateportBattleTentMons;
-static void Swap_PrintOneActionString(u8 which)
-{
- switch (which)
+ for (i = 0; i < 3; i++)
{
- case 0:
- if (sFactorySwapScreen->inEnemyScreen == TRUE)
- Swap_PrintActionString(gText_PkmnForSwap, 8, 3);
- break;
- case 1:
- Swap_PrintActionString(gText_Cancel3, 32, 3);
- break;
+ SetMonData(&gPlayerParty[i],
+ MON_DATA_HELD_ITEM,
+ &gBattleFrontierHeldItems[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[i].monId].itemTableId]);
}
- CopyWindowToVram(3, 3);
}
-static void Swap_PrintMonSpecies2(void)
+u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1)
{
- u16 species;
- u8 x;
- u16 pal[5];
+ u8 a1;
+ u8 a2 = (arg1 != 0) ? 1 : 0;
- CpuCopy16(gUnknown_08610918, pal, 8);
- if (!sFactorySwapScreen->fromSummaryScreen)
- pal[4] = gPlttBufferFaded[228];
+ if (arg0 > 8)
+ a1 = 7;
else
- pal[4] = sFactorySwapScreen->unk24;
- LoadPalette(pal, 0xF0, 0xA);
+ a1 = arg0;
- PutWindowTilemap(7);
- FillWindowPixelBuffer(7, 0);
- if (sFactorySwapScreen->cursorPos > 2)
- {
- CopyWindowToVram(7, 3);
- }
- else
- {
- u8 monId = sFactorySwapScreen->cursorPos;
- if (!sFactorySwapScreen->inEnemyScreen)
- species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
- else
- species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
- StringCopy(gStringVar4, gSpeciesNames[species]);
- x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(7, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
- CopyWindowToVram(7, 3);
- }
+ return sFixedIVTable[a1][a2];
}
-static void Swap_PrintMonSpecies3(void)
+void FillFactoryBrainParty(void)
{
- u16 species;
- u8 x;
+ s32 i, j, k;
+ u16 species[3];
+ u16 heldItems[3];
+ u8 friendship;
+ s32 monLevel;
+ u8 fixedIV;
+ u32 otId;
- LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918));
- CpuCopy16(gPlttBufferUnfaded + 240, gPlttBufferFaded + 224, 10);
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+ fixedIV = GetFactoryMonFixedIV(challengeNum + 2, 0);
+ monLevel = SetFacilityPtrsGetLevel();
+ i = 0;
+ otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
- if (sFactorySwapScreen->cursorPos > 2)
+ while (i != 3)
{
- CopyWindowToVram(1, 2);
- }
- else
- {
- u8 monId = sFactorySwapScreen->cursorPos;
- if (!sFactorySwapScreen->inEnemyScreen)
- species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
- else
- species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
- StringCopy(gStringVar4, gSpeciesNames[species]);
- x = GetStringRightAlignXOffset(1, gStringVar4, 86);
- AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
- CopyWindowToVram(1, 3);
- }
-}
-
-static void Swap_PrintMonCategory(void)
-{
- u16 species;
- u8 text[30];
- u8 x;
- u8 monId = sFactorySwapScreen->cursorPos;
+ u16 monSetId = GetMonSetId(lvlMode, challengeNum, FALSE);
- FillWindowPixelBuffer(8, 0);
- if (monId > 2)
- {
- CopyWindowToVram(8, 2);
- }
- else
- {
- PutWindowTilemap(8);
- if (!sFactorySwapScreen->inEnemyScreen)
- species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
- else
- species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
- CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
- x = GetStringRightAlignXOffset(1, text, 0x76);
- AddTextPrinterParameterized(8, 1, text, x, 1, 0, NULL);
- CopyWindowToVram(8, 2);
- }
-}
+ if (gFacilityTrainerMons[monSetId].species == SPECIES_UNOWN)
+ continue;
+ if (monLevel == 50 && monSetId > 849)
+ continue;
-static void Swap_InitActions(u8 id)
-{
- if (sFactorySwapScreen->fromSummaryScreen != TRUE)
- {
- switch (id)
+ for (j = 0; j < 6; j++)
{
- case ACTIONS_PLAYER_SCREEN:
- sFactorySwapScreen->inEnemyScreen = FALSE;
- sFactorySwapScreen->cursorPos = 0;
- sFactorySwapScreen->actionsCount = ARRAY_COUNT(sSwap_PlayerScreenActions);
- sFactorySwapScreen->actionsData = sSwap_PlayerScreenActions;
- break;
- case ACTIONS_ENEMY_SCREEN:
- sFactorySwapScreen->inEnemyScreen = TRUE;
- sFactorySwapScreen->cursorPos = 0;
- sFactorySwapScreen->actionsCount = ARRAY_COUNT(sSwap_EnemyScreenActions);
- sFactorySwapScreen->actionsData = sSwap_EnemyScreenActions;
- break;
+ if (monSetId == gSaveBlock2Ptr->frontier.field_E70[j].monId)
+ break;
}
- }
-}
-
-static void Swap_RunMenuOptionFunc(u8 taskId)
-{
- sSwap_CurrentTableFunc = sSwap_MenuOptionFuncs[sFactorySwapScreen->menuCursorPos];
- sSwap_CurrentTableFunc(taskId);
-}
-
-static void sub_819F0CC(u8 taskId)
-{
- sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
- sFactorySwapScreen->playerMonId = sFactorySwapScreen->cursorPos;
- sub_819EA64(3);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = sub_819D9EC;
-}
+ if (j != 6)
+ continue;
-static void sub_819F114(u8 taskId)
-{
- gTasks[taskId].data[0] = 6;
- gTasks[taskId].func = Task_FromSwapScreenToSummaryScreen;
-}
-
-static void sub_819F134(u8 taskId)
-{
- sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
- sub_819EA64(3);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 0x10;
- gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
- gTasks[taskId].data[5] = 1;
- gTasks[taskId].func = sub_819D770;
-}
-
-static void Swap_RunActionFunc(u8 taskId)
-{
- sSwap_CurrentTableFunc = sFactorySwapScreen->actionsData[sFactorySwapScreen->cursorPos].func;
- sSwap_CurrentTableFunc(taskId);
-}
+ for (k = 0; k < i; k++)
+ {
+ if (species[k] == gFacilityTrainerMons[monSetId].species)
+ break;
+ }
+ if (k != i)
+ continue;
-static void Swap_ActionCancel(u8 taskId)
-{
- gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 0x10;
- gTasks[taskId].data[7] = (u32)(sub_819CC24);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[5] = 0;
- gTasks[taskId].func = sub_819D588;
-}
+ for (k = 0; k < i; k++)
+ {
+ if (heldItems[k] != 0 && heldItems[k] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ break;
+ }
+ if (k != i)
+ continue;
-static void Swap_ActionPkmnForSwap(u8 taskId)
-{
- gTasks[taskId].data[6] = (u32)(sub_819D9EC) >> 0x10;
- gTasks[taskId].data[7] = (u32)(sub_819D9EC);
- gTasks[taskId].data[5] = 0;
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = sub_819D588;
-}
+ species[i] = gFacilityTrainerMons[monSetId].species;
+ heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
+ CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i],
+ gFacilityTrainerMons[monSetId].species,
+ monLevel,
+ gFacilityTrainerMons[monSetId].nature,
+ fixedIV,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otId);
-static void Swap_ActionMon(u8 taskId)
-{
- if (!sFactorySwapScreen->inEnemyScreen)
- {
- gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenMenu) >> 0x10;
- gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenMenu);
- gTasks[taskId].data[5] = 2;
- }
- else if (Swap_AlreadyHasSameSpecies(sFactorySwapScreen->cursorPos) == TRUE)
- {
- sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE);
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[5] = 1;
- gTasks[taskId].func = Task_SwapCantHaveSameMons;
- return;
- }
- else
- {
- gTasks[taskId].data[6] = (u32)(sub_819CCD4) >> 0x10;
- gTasks[taskId].data[7] = (u32)(sub_819CCD4);
- gTasks[taskId].data[5] = 0;
+ friendship = 0;
+ for (k = 0; k < 4; k++)
+ SetMonMoveAvoidReturn(&gEnemyParty[i], gFacilityTrainerMons[monSetId].moves[k], k);
+ SetMonData(&gEnemyParty[i], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ i++;
}
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = sub_819D588;
-}
-
-static void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen)
-{
- *arg0 = CreateSprite(&gUnknown_08610894, 120, 64, 1);
- gSprites[*arg0].callback = sub_819F600;
- gSprites[*arg0].data[7] = swapScreen;
- *arg1 = TRUE;
}
-static void Swap_ShowSummaryMonSprite(void)
+static u16 GetMonSetId(u8 lvlMode, u8 challengeNum, bool8 arg2)
{
- struct Pokemon *mon;
- u16 species;
- u32 personality, otId;
-
- sFactorySwapScreen->unk2C.field1 = CreateSprite(&gUnknown_08610894, 120, 64, 1);
- StartSpriteAffineAnim(&gSprites[sFactorySwapScreen->unk2C.field1], 2);
-
- mon = &gPlayerParty[sFactorySwapScreen->cursorPos];
- species = GetMonData(mon, MON_DATA_SPECIES, NULL);
- personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
- otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
-
- sFactorySwapScreen->unk2C.field0 = CreateMonPicSprite_HandleDeoxys(species, personality, otId, TRUE, 88, 32, 15, 0xFFFF); // BUG: otId and personality should be switched.
- gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0;
-
- gSprites[sFactorySwapScreen->unk2C.field1].invisible = TRUE;
-}
+ u16 range, ret;
+ u16 adder;
-static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen)
-{
- u8 taskId;
-
- FreeAndDestroyMonPicSprite(arg0.field0);
- taskId = CreateTask(sub_819F7B4, 1);
- gTasks[taskId].data[7] = swapScreen;
- gTasks[taskId].data[6] = arg0.field1;
- gTasks[taskId].func(taskId);
- *arg1 = TRUE;
-}
-
-static void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1)
-{
- FreeAndDestroyMonPicSprite(arg0.field0);
- FreeOamMatrix(gSprites[arg0.field1].oam.matrixNum);
- DestroySprite(&gSprites[arg0.field1]);
- *arg1 = FALSE;
-}
-
-static void Task_SwapCantHaveSameMons(u8 taskId)
-{
- if (sFactorySwapScreen->unk30 == TRUE)
- return;
+ if (lvlMode == FRONTIER_LVL_50)
+ adder = 0;
+ else
+ adder = 8;
- switch (gTasks[taskId].data[0])
+ if (challengeNum < 7)
{
- case 0:
- Swap_PrintOnInfoWindow(gText_SamePkmnInPartyAlready);
- sFactorySwapScreen->monSwapped = FALSE;
- gTasks[taskId].data[0]++;
- break;
- case 1:
- if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
+ if (arg2)
{
- PlaySE(SE_SELECT);
- sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
- gTasks[taskId].data[0]++;
+ range = (sMonsToChooseFrom[adder + challengeNum + 1][1] - sMonsToChooseFrom[adder + challengeNum + 1][0]) + 1;
+ ret = Random() % range;
+ ret += sMonsToChooseFrom[adder + challengeNum + 1][0];
}
- break;
- case 2:
- if (sFactorySwapScreen->unk30 != TRUE)
+ else
{
- FillWindowPixelBuffer(5, 0);
- CopyWindowToVram(5, 2);
- gTasks[taskId].data[0]++;
+ range = (sMonsToChooseFrom[adder + challengeNum][1] - sMonsToChooseFrom[adder + challengeNum][0]) + 1;
+ ret = Random() % range;
+ ret += sMonsToChooseFrom[adder + challengeNum][0];
}
- break;
- case 3:
- Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept);
- gTasks[taskId].data[0]++;
- break;
- case 4:
- Swap_PrintMonSpecies3();
- sub_819EADC();
- sFactorySwapScreen->unk22 = TRUE;
- gTasks[taskId].data[0] = gTasks[taskId].data[5];
- gTasks[taskId].func = Task_HandleSwapScreenChooseMons;
- break;
}
-}
-
-static bool8 Swap_AlreadyHasSameSpecies(u8 monId)
-{
- u8 i;
- u16 species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
-
- for (i = 0; i < 3; i++)
+ else
{
- if (i != sFactorySwapScreen->playerMonId && (u16)(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL)) == species)
- return TRUE;
+ u16 num = challengeNum;
+ if (num != 7)
+ num = 7;
+ range = (sMonsToChooseFrom[adder + num][1] - sMonsToChooseFrom[adder + num][0]) + 1;
+ ret = Random() % range;
+ ret += sMonsToChooseFrom[adder + num][0];
}
- return FALSE;
+
+ return ret;
}
-static void sub_819F600(struct Sprite *sprite)
+u8 sub_81A6F70(u8 battleMode, u8 lvlMode)
{
- u8 taskId;
+ u8 ret;
+ u8 rents = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
- if (sprite->affineAnimEnded)
- {
- sprite->invisible = TRUE;
- taskId = CreateTask(sub_819F69C, 1);
- gTasks[taskId].data[7] = sprite->data[7];
- gTasks[taskId].func(taskId);
- sprite->callback = SpriteCallbackDummy;
- }
-}
+ if (rents < 15)
+ ret = 0;
+ else if (rents < 22)
+ ret = 1;
+ else if (rents < 29)
+ ret = 2;
+ else if (rents < 36)
+ ret = 3;
+ else if (rents < 43)
+ ret = 4;
+ else
+ ret = 5;
-static void sub_819F654(struct Sprite *sprite)
-{
- if (sprite->affineAnimEnded)
- {
- FreeOamMatrix(sprite->oam.matrixNum);
- if (sprite->data[7] == TRUE)
- sFactorySwapScreen->unk30 = FALSE;
- else
- sub_819BE20(FALSE);
- DestroySprite(sprite);
- }
+ return ret;
}
-static void sub_819F69C(u8 taskId)
+u32 GetAiScriptsInBattleFactory(void)
{
- struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ if (lvlMode == FRONTIER_LVL_TENT)
{
- case 0:
- task->data[3] = 88;
- task->data[24] = 152; // BUG: writing outside the array's bounds.
- task->data[5] = 64;
- task->data[8] = 65;
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
- break;
- case 1:
- ShowBg(3);
- SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
- break;
- case 2:
- task->data[5] -= 4;
- task->data[8] += 4;
- if (task->data[5] <= 32 || task->data[8] >= 96)
- {
- task->data[5] = 32;
- task->data[8] = 96;
- }
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- if (task->data[5] != 32)
- return;
- break;
- default:
- DestroyTask(taskId);
- // UB: Should not use the task after it has been deleted.
- if (gTasks[taskId].data[7] == TRUE)
- Swap_ShowMonSprite();
- else
- Summary_ShowMonSprite();
- return;
+ return 0;
}
- task->data[0]++;
-}
-
-static void sub_819F7B4(u8 taskId)
-{
- struct Task *task = &gTasks[taskId];
- switch (task->data[0])
+ else
{
- default:
- HideBg(3);
- gSprites[task->data[6]].data[7] = task->data[7];
- gSprites[task->data[6]].invisible = FALSE;
- gSprites[task->data[6]].callback = sub_819F654;
- StartSpriteAffineAnim(&gSprites[task->data[6]], 1);
- ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- DestroyTask(taskId);
- break;
- case 0:
- task->data[3] = 88;
- task->data[24] = 152; // BUG: writing outside the array's bounds.
- task->data[5] = 32;
- task->data[8] = 96;
- SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
- SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
- SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
- task->data[0]++;
- break;
- case 1:
- task->data[5] += 4;
- task->data[8] -= 4;
- if (task->data[5] >= 64 || task->data[8] <= 65)
- {
- task->data[5] = 64;
- task->data[8] = 65;
- }
- SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
- if (task->data[5] == 64)
- task->data[0]++;
- break;
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ s32 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+
+ if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
+ return AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY;
+ else if (challengeNum < 2)
+ return 0;
+ else if (challengeNum < 4)
+ return AI_SCRIPT_CHECK_BAD_MOVE;
+ else
+ return AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY;
}
}
-static void Swap_ShowMonSprite(void)
+void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 moveArg, u8 moveSlot)
{
- struct Pokemon *mon;
- u16 species;
- u32 personality, otId;
-
- if (!sFactorySwapScreen->inEnemyScreen)
- mon = &gPlayerParty[sFactorySwapScreen->cursorPos];
- else
- mon = &gEnemyParty[sFactorySwapScreen->cursorPos];
-
- species = GetMonData(mon, MON_DATA_SPECIES, NULL);
- personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
- otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
-
- sFactorySwapScreen->unk2C.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
- gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0;
- gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0;
-
- sFactorySwapScreen->unk30 = FALSE;
+ u16 move = moveArg;
+ if (moveArg == MOVE_RETURN)
+ move = MOVE_FRUSTRATION;
+ SetMonMoveSlot(mon, move, moveSlot);
}
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
new file mode 100644
index 000000000..42a9b579c
--- /dev/null
+++ b/src/battle_factory_screen.c
@@ -0,0 +1,4113 @@
+#include "global.h"
+#include "battle_factory_screen.h"
+#include "battle_factory.h"
+#include "sprite.h"
+#include "event_data.h"
+#include "overworld.h"
+#include "random.h"
+#include "battle_tower.h"
+#include "text.h"
+#include "palette.h"
+#include "task.h"
+#include "main.h"
+#include "malloc.h"
+#include "bg.h"
+#include "gpu_regs.h"
+#include "string_util.h"
+#include "international_string_util.h"
+#include "window.h"
+#include "data2.h"
+#include "decompress.h"
+#include "pokemon_summary_screen.h"
+#include "sound.h"
+#include "pokedex.h"
+#include "util.h"
+#include "trainer_pokemon_sprites.h"
+#include "constants/battle_frontier.h"
+#include "constants/songs.h"
+#include "constants/rgb.h"
+
+// Select_ refers to the first Pokemon selection screen where you choose 3 Pokemon.
+// Swap_ refers to the consecutive selection screen where you can keep your Pokemon or swap one with beaten trainer's.
+
+#define MENU_SUMMARY 0
+#define MENU_RENT 1
+#define MENU_DESELECT 1
+#define MENU_OTHERS 2
+#define MENU_OPTIONS_COUNT 3
+
+#define SELECTABLE_MONS_COUNT 6
+
+#define TAG_PAL_BALL_GREY 0x64
+#define TAG_PAL_BALL_SELECTED 0x65
+#define TAG_PAL_66 0x66
+#define TAG_PAL_67 0x67
+
+#define TAG_TILE_64 0x64
+#define TAG_TILE_65 0x65
+#define TAG_TILE_66 0x66
+#define TAG_TILE_67 0x67
+#define TAG_TILE_68 0x68
+#define TAG_TILE_69 0x69
+#define TAG_TILE_6A 0x6A
+#define TAG_TILE_6B 0x6B
+#define TAG_TILE_6C 0x6C
+#define TAG_TILE_6D 0x6D
+
+struct FactorySelecteableMon
+{
+ u16 monSetId;
+ u16 spriteId;
+ u8 selectedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon
+ struct Pokemon monData;
+};
+
+struct UnkFactoryStruct
+{
+ u8 field0;
+ u8 field1;
+};
+
+struct FactorySelectMonsStruct
+{
+ u8 menuCursorPos;
+ u8 menuCursor1SpriteId;
+ u8 menuCursor2SpriteId;
+ u8 cursorPos;
+ u8 cursorSpriteId;
+ u8 selectingMonsState;
+ bool8 fromSummaryScreen;
+ u8 yesNoCursorPos;
+ u8 unused8;
+ struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT];
+ struct UnkFactoryStruct unk294[3];
+ bool8 unk2A0;
+ u8 fadeSpeciesNameTaskId;
+ bool8 unk2A2;
+ u16 unk2A4;
+ bool8 unk2A6;
+ u8 unk2A7;
+ u8 unk2A8;
+ u8 unk2A9;
+};
+
+// 'Action' refers to the 3 Selectable mons, Cancel, Pknm for swap windows.
+#define ACTIONS_PLAYER_SCREEN 0
+#define ACTIONS_ENEMY_SCREEN 1
+
+struct SwapActionIdAndFunc
+{
+ u8 id;
+ void (*func)(u8 taskId);
+};
+
+struct FactorySwapMonsStruct
+{
+ u8 menuCursorPos;
+ u8 menuCursor1SpriteId;
+ u8 menuCursor2SpriteId;
+ u8 cursorPos;
+ u8 cursorSpriteId;
+ u8 ballSpriteIds[3];
+ u8 unk8[2][3];
+ u8 unkE[2][2];
+ u8 playerMonId;
+ u8 enemyMonId;
+ bool8 inEnemyScreen;
+ bool8 fromSummaryScreen;
+ u8 yesNoCursorPos;
+ u8 actionsCount;
+ const struct SwapActionIdAndFunc *actionsData;
+ u8 unused1C[4];
+ bool8 monSwapped;
+ u8 fadeSpeciesNameTaskId;
+ bool8 unk22;
+ u16 unk24;
+ bool8 unk26;
+ u8 unk27;
+ u8 unk28;
+ u8 unk29;
+ struct UnkFactoryStruct unk2C;
+ 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.
+static void sub_819A44C(struct Sprite *sprite);
+static void CB2_InitSelectScreen(void);
+static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V);
+static void Select_InitMonsData(void);
+static void Select_InitAllSprites(void);
+static void Select_ShowSummaryMonSprite(void);
+static void Select_PrintSelectMonString(void);
+static void Select_PrintMonSpecies(void);
+static void Select_PrintMonCategory(void);
+static void Select_PrintRentalPkmnString(void);
+static void Select_CopyMonsToPlayerParty(void);
+static void sub_819C4B4(void);
+static void Select_ShowYesNoOptions(void);
+static void sub_819C568(void);
+static void Select_ShowMenuOptions(void);
+static void Select_PrintMenuOptions(void);
+static void Select_PrintYesNoOptions(void);
+static void Task_SelectFadeSpeciesName(u8 taskId);
+static void sub_819C1D0(u8 taskId);
+static void Task_HandleSelectionScreenChooseMons(u8 taskId);
+static void Task_HandleSelectionScreenMenu(u8 taskId);
+static void CreateFrontierFactorySelectableMons(u8 firstMonId);
+static void CreateTentFactorySelectableMons(u8 firstMonId);
+static void Select_SetBallSpritePaletteNum(u8 id);
+static void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1);
+static void sub_819B958(u8 windowId);
+static void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen);
+static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen);
+static u8 Select_RunMenuOptionFunc(void);
+static u8 sub_819BC9C(void);
+static u8 Select_OptionSummary(void);
+static u8 Select_OptionOthers(void);
+static u8 Select_OptionRentDeselect(void);
+static bool32 Select_AreSpeciesValid(u16 monSetId);
+static void Swap_DestroyAllSprites(void);
+static void Swap_ShowYesNoOptions(void);
+static void sub_819E8EC(void);
+static void sub_819EAC0(void);
+static void Swap_UpdateYesNoCursorPosition(s8 direction);
+static void Swap_UpdateMenuCursorPosition(s8 direction);
+static void sub_819EA64(u8 windowId);
+static void sub_819D770(u8 taskId);
+static void Task_HandleSwapScreenChooseMons(u8 taskId);
+static void sub_819D588(u8 taskId);
+static void sub_819F7B4(u8 taskId);
+static void Swap_PrintOnInfoWindow(const u8 *str);
+static void Swap_ShowMenuOptions(void);
+static void Swap_PrintMenuOptions(void);
+static void Swap_PrintYesNoOptions(void);
+static void Swap_PrintMonSpecies(void);
+static void Swap_PrintMonSpecies2(void);
+static void Swap_PrintMonSpecies3(void);
+static void Swap_PrintMonCategory(void);
+static void Swap_InitAllSprites(void);
+static void Swap_PrintPkmnSwap(void);
+static void sub_819EADC(void);
+static void sub_819EAF8(void);
+static void CB2_InitSwapScreen(void);
+static void Swap_ShowSummaryMonSprite(void);
+static void Swap_UpdateActionCursorPosition(s8 direction);
+static void Swap_UpdateBallCursorPosition(s8 direction);
+static void Swap_RunMenuOptionFunc(u8 taskId);
+static void sub_819F0CC(u8 taskId);
+static void sub_819F114(u8 taskId);
+static void sub_819F134(u8 taskId);
+static void Swap_RunActionFunc(u8 taskId);
+static void sub_819F69C(u8 taskId);
+static void Task_SwapCantHaveSameMons(u8 taskId);
+static void Swap_ShowMonSprite(void);
+static void Swap_PrintActionStrings(void);
+static void Swap_PrintActionStrings2(void);
+static void Swap_PrintOneActionString(u8 which);
+static void Swap_InitActions(u8 id);
+static void sub_819E838(u8 arg0);
+static bool8 Swap_AlreadyHasSameSpecies(u8 monId);
+static void sub_819F600(struct Sprite *sprite);
+static void Swap_ActionMon(u8 taskId);
+static void Swap_ActionCancel(u8 taskId);
+static void Swap_ActionPkmnForSwap(u8 taskId);
+
+// Ewram variables
+static EWRAM_DATA u8 *sSelectMenuTilesetBuffer = NULL;
+static EWRAM_DATA u8 *sSelectMonCardBgTilesetBuffer = NULL;
+static EWRAM_DATA u8 *sSelectMenuTilemapBuffer = NULL;
+static EWRAM_DATA u8 *sSelectMonCardBgTilemapBuffer = NULL;
+static EWRAM_DATA struct Pokemon *sFactorySelectMons = NULL;
+static EWRAM_DATA u8 *sSwapMenuTilesetBuffer = NULL;
+static EWRAM_DATA u8 *sSwapMonCardBgTilesetBuffer = NULL;
+static EWRAM_DATA u8 *sSwapMenuTilemapBuffer = NULL;
+static EWRAM_DATA u8 *sSwapMonCardBgTilemapBuffer = NULL;
+
+// IWRAM bss
+static IWRAM_DATA struct FactorySelectMonsStruct *sFactorySelectScreen;
+static IWRAM_DATA void (*sSwap_CurrentTableFunc)(u8 taskId);
+static IWRAM_DATA struct FactorySwapMonsStruct *sFactorySwapScreen;
+
+// IWRAM common
+u8 (*gUnknown_030062E8)(void);
+
+// Const rom data.
+static const u16 gUnknown_0860F13C[] = INCBIN_U16("graphics/unknown/unknown_60F13C.gbapal");
+static const u16 gUnknown_0860F15C[] = INCBIN_U16("graphics/unknown/unknown_60F15C.gbapal");
+static const u16 gUnknown_0860F17C[] = INCBIN_U16("graphics/unknown/unknown_60F17C.gbapal");
+static const u8 gUnknown_0860F1BC[] = INCBIN_U8("graphics/unknown/unknown_60F1BC.4bpp");
+static const u8 gUnknown_0860F3BC[] = INCBIN_U8("graphics/unknown/unknown_60F3BC.4bpp");
+static const u8 gUnknown_0860F43C[] = INCBIN_U8("graphics/unknown/unknown_60F43C.4bpp");
+static const u8 gUnknown_0860F53C[] = INCBIN_U8("graphics/unknown/unknown_60F53C.4bpp");
+static const u8 gUnknown_0860F63C[] = INCBIN_U8("graphics/unknown/unknown_60F63C.4bpp");
+static const u8 gUnknown_0860F6BC[] = INCBIN_U8("graphics/unknown/unknown_60F6BC.4bpp");
+static const u8 gUnknown_0860F7BC[] = INCBIN_U8("graphics/unknown/unknown_60F7BC.4bpp");
+static const u8 gUnknown_0860F83C[] = INCBIN_U8("graphics/unknown/unknown_60F83C.4bpp");
+static const u8 gUnknown_0860F93C[] = INCBIN_U8("graphics/unknown/unknown_60F93C.4bpp");
+static const u8 gUnknown_0860FA3C[] = INCBIN_U8("graphics/unknown/unknown_60FA3C.4bpp");
+static const u8 gUnknown_0861023C[] = INCBIN_U8("graphics/unknown/unknown_61023C.bin");
+static const u8 gUnknown_0861033C[] = INCBIN_U8("graphics/unknown/unknown_61033C.4bpp");
+static const u16 gUnknown_0861039C[] = INCBIN_U16("graphics/unknown/unknown_61039C.gbapal");
+
+static const struct SpriteSheet gUnknown_086103BC[] =
+{
+ {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65},
+ {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66},
+ {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), TAG_TILE_67},
+ {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), TAG_TILE_6D},
+ {},
+};
+
+static const struct CompressedSpriteSheet gUnknown_086103E4[] =
+{
+ {gUnknown_085B18AC, 0x800, TAG_TILE_64},
+ {},
+};
+
+static const struct SpritePalette gUnknown_086103F4[] =
+{
+ {gUnknown_0860F13C, TAG_PAL_BALL_GREY},
+ {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED},
+ {gUnknown_0860F17C, TAG_PAL_66},
+ {gUnknown_0861039C, TAG_PAL_67},
+ {},
+};
+
+u8 static (* const sSelect_MenuOptionFuncs[])(void) =
+{
+ [MENU_SUMMARY] = Select_OptionSummary,
+ [MENU_RENT] /*Or Deselect*/ = Select_OptionRentDeselect,
+ [MENU_OTHERS] = Select_OptionOthers
+};
+
+static const struct BgTemplate sSelect_BgTemplates[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 24,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 25,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 27,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+};
+
+static const struct WindowTemplate sSelect_WindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 2,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0001,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 19,
+ .tilemapTop = 2,
+ .width = 11,
+ .height = 2,
+ .paletteNum = 14,
+ .baseBlock = 0x0019,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 15,
+ .width = 20,
+ .height = 3,
+ .paletteNum = 15,
+ .baseBlock = 0x002f,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 14,
+ .width = 8,
+ .height = 6,
+ .paletteNum = 15,
+ .baseBlock = 0x006b,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 14,
+ .width = 8,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x009b,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 15,
+ .tilemapTop = 0,
+ .width = 15,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x00bb,
+ },
+ DUMMY_WIN_TEMPLATE,
+};
+
+static const u16 gUnknown_0861046C[] = INCBIN_U16("graphics/unknown/unknown_61046C.gbapal");
+
+static const u8 gUnknown_08610476[] = {0x00, 0x02, 0x00};
+static const u8 gUnknown_08610479[] = {0x00, 0x04, 0x00};
+
+static const struct OamData gUnknown_0861047C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData gUnknown_08610484 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData gUnknown_0861048C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData gUnknown_08610494 =
+{
+ .y = 0,
+ .affineMode = 3,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 1,
+};
+
+static const union AnimCmd gUnknown_0861049C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_086104A4[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_086104AC[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_086104B4[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(0, 32),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd * const gUnknown_086104FC[] =
+{
+ gUnknown_0861049C,
+};
+
+static const union AnimCmd * const gUnknown_08610500[] =
+{
+ gUnknown_086104A4,
+};
+
+static const union AnimCmd * const gUnknown_08610504[] =
+{
+ gUnknown_086104AC,
+ gUnknown_086104B4,
+};
+
+static const union AffineAnimCmd gUnknown_0861050C[] =
+{
+ AFFINEANIMCMD_FRAME(5, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(16, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(32, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(64, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(128, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(256, 5, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_0861056C[] =
+{
+ AFFINEANIMCMD_FRAME(128, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(64, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(32, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(16, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(5, 5, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_086105BC[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd * const gUnknown_086105CC[] =
+{
+ gUnknown_0861050C,
+ gUnknown_0861056C,
+ gUnknown_086105BC,
+};
+
+static const struct SpriteTemplate gUnknown_086105D8 =
+{
+ .tileTag = TAG_TILE_64,
+ .paletteTag = TAG_PAL_BALL_GREY,
+ .oam = &gUnknown_0861047C,
+ .anims = gUnknown_08610504,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_819A44C
+};
+
+static const struct SpriteTemplate gUnknown_086105F0 =
+{
+ .tileTag = TAG_TILE_65,
+ .paletteTag = TAG_PAL_66,
+ .oam = &gUnknown_08610484,
+ .anims = gUnknown_086104FC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteTemplate gUnknown_08610608 =
+{
+ .tileTag = TAG_TILE_66,
+ .paletteTag = TAG_PAL_66,
+ .oam = &gUnknown_0861048C,
+ .anims = gUnknown_086104FC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteTemplate gUnknown_08610620 =
+{
+ .tileTag = TAG_TILE_67,
+ .paletteTag = TAG_PAL_66,
+ .oam = &gUnknown_0861048C,
+ .anims = gUnknown_086104FC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteTemplate gUnknown_08610638 =
+{
+ .tileTag = TAG_TILE_6D,
+ .paletteTag = TAG_PAL_67,
+ .oam = &gUnknown_08610494,
+ .anims = gUnknown_08610500,
+ .images = NULL,
+ .affineAnims = gUnknown_086105CC,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteSheet gUnknown_08610650[] =
+{
+ {gUnknown_0860F3BC, sizeof(gUnknown_0860F3BC), TAG_TILE_65},
+ {gUnknown_0860F43C, sizeof(gUnknown_0860F43C), TAG_TILE_66},
+ {gUnknown_0860F53C, sizeof(gUnknown_0860F53C), TAG_TILE_67},
+ {gUnknown_0860F63C, sizeof(gUnknown_0860F63C), TAG_TILE_68},
+ {gUnknown_0860F6BC, sizeof(gUnknown_0860F6BC), TAG_TILE_69},
+ {gUnknown_0860F7BC, 0x100, TAG_TILE_6A},
+ {gUnknown_0860F83C, sizeof(gUnknown_0860F83C), TAG_TILE_6B},
+ {gUnknown_0860F93C, sizeof(gUnknown_0860F93C), TAG_TILE_6C},
+ {gUnknown_0860FA3C, sizeof(gUnknown_0860FA3C), TAG_TILE_6D},
+ {},
+};
+
+static const struct CompressedSpriteSheet gUnknown_086106A0[] =
+{
+ {gUnknown_085B18AC, 0x800, TAG_TILE_64},
+ {},
+};
+
+static const struct SpritePalette gUnknown_086106B0[] =
+{
+ {gUnknown_0860F13C, TAG_PAL_BALL_GREY},
+ {gUnknown_0860F15C, TAG_PAL_BALL_SELECTED},
+ {gUnknown_0860F17C, TAG_PAL_66},
+ {gUnknown_0861039C, TAG_PAL_67},
+ {},
+};
+
+static const struct OamData gUnknown_086106D8 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData gUnknown_086106E0 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData gUnknown_086106E8 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct OamData gUnknown_086106F0 =
+{
+ .y = 0,
+ .affineMode = 3,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 1,
+};
+
+static const union AnimCmd gUnknown_086106F8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_08610700[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_08610708[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gUnknown_08610710[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(0, 32),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd * const gUnknown_08610758[] =
+{
+ gUnknown_086106F8,
+};
+
+static const union AnimCmd * const gUnknown_0861075C[] =
+{
+ gUnknown_08610700,
+};
+
+static const union AnimCmd * const gUnknown_08610760[] =
+{
+ gUnknown_08610708,
+ gUnknown_08610710,
+};
+
+static const union AffineAnimCmd gUnknown_08610768[] =
+{
+ AFFINEANIMCMD_FRAME(5, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(16, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(32, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(64, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(128, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(256, 5, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_086107C8[] =
+{
+ AFFINEANIMCMD_FRAME(128, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(64, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(32, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(16, 5, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_FRAME(5, 5, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd gUnknown_08610818[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd * const gUnknown_08610828[] =
+{
+ gUnknown_08610768,
+ gUnknown_086107C8,
+ gUnknown_08610818,
+};
+
+static const struct SpriteTemplate gUnknown_08610834 =
+{
+ .tileTag = TAG_TILE_64,
+ .paletteTag = TAG_PAL_BALL_GREY,
+ .oam = &gUnknown_086106D8,
+ .anims = gUnknown_08610760,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_819A44C
+};
+
+static const struct SpriteTemplate gUnknown_0861084C =
+{
+ .tileTag = TAG_TILE_65,
+ .paletteTag = TAG_PAL_66,
+ .oam = &gUnknown_086106E0,
+ .anims = gUnknown_08610758,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteTemplate gUnknown_08610864 =
+{
+ .tileTag = TAG_TILE_66,
+ .paletteTag = TAG_PAL_66,
+ .oam = &gUnknown_086106E8,
+ .anims = gUnknown_08610758,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteTemplate gUnknown_0861087C =
+{
+ .tileTag = TAG_TILE_67,
+ .paletteTag = TAG_PAL_66,
+ .oam = &gUnknown_086106E8,
+ .anims = gUnknown_08610758,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+
+static const struct SpriteTemplate gUnknown_08610894 =
+{
+ .tileTag = TAG_TILE_6D,
+ .paletteTag = TAG_PAL_67,
+ .oam = &gUnknown_086106F0,
+ .anims = gUnknown_0861075C,
+ .images = NULL,
+ .affineAnims = gUnknown_08610828,
+ .callback = SpriteCallbackDummy
+};
+
+void static (* const sSwap_MenuOptionFuncs[])(u8 taskId) =
+{
+ sub_819F114,
+ sub_819F0CC,
+ sub_819F134,
+};
+
+static const struct BgTemplate sSwap_BgTemplates[4] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 24,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 25,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 26,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 27,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+};
+
+static const struct WindowTemplate sSwap_WindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 2,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0001,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 19,
+ .tilemapTop = 2,
+ .width = 11,
+ .height = 2,
+ .paletteNum = 14,
+ .baseBlock = 0x0019,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 15,
+ .width = 20,
+ .height = 3,
+ .paletteNum = 15,
+ .baseBlock = 0x002f,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 21,
+ .tilemapTop = 14,
+ .width = 9,
+ .height = 6,
+ .paletteNum = 15,
+ .baseBlock = 0x006b,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 22,
+ .tilemapTop = 14,
+ .width = 8,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x00a1,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 21,
+ .tilemapTop = 15,
+ .width = 9,
+ .height = 5,
+ .paletteNum = 14,
+ .baseBlock = 0x006b,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 10,
+ .tilemapTop = 2,
+ .width = 4,
+ .height = 2,
+ .paletteNum = 14,
+ .baseBlock = 0x00c1,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 19,
+ .tilemapTop = 2,
+ .width = 11,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x00c9,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 15,
+ .tilemapTop = 0,
+ .width = 15,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x00df,
+ },
+ DUMMY_WIN_TEMPLATE,
+};
+
+static const u16 gUnknown_08610918[] = {RGB_BLACK, RGB_BLACK, RGB_WHITE, RGB_BLACK, RGB_RED}; // Palette.
+static const u8 gUnknown_08610922[] = {0x0, 0x02, 0x0};
+static const u8 gUnknown_08610925[] = {0x0, 0x04, 0x0};
+
+static const struct SwapActionIdAndFunc sSwap_PlayerScreenActions[] =
+{
+ {1, Swap_ActionMon},
+ {1, Swap_ActionMon},
+ {1, Swap_ActionMon},
+ {3, Swap_ActionCancel},
+};
+
+static const struct SwapActionIdAndFunc sSwap_EnemyScreenActions[] =
+{
+ {1, Swap_ActionMon},
+ {1, Swap_ActionMon},
+ {1, Swap_ActionMon},
+ {2, Swap_ActionPkmnForSwap},
+ {3, Swap_ActionCancel},
+};
+
+// gfx
+extern const u8 gFrontierFactorySelectMenu_Gfx[];
+extern const u8 gFrontierFactorySelectMenu_Tilemap[];
+extern const u16 gFrontierFactorySelectMenu_Pal[];
+
+// text
+extern const u8 gText_RentalPkmn2[];
+extern const u8 gText_SelectFirstPkmn[];
+extern const u8 gText_SelectSecondPkmn[];
+extern const u8 gText_SelectThirdPkmn[];
+extern const u8 gText_TheseThreePkmnOkay[];
+extern const u8 gText_CantSelectSamePkmn[];
+extern const u8 gText_Summary[];
+extern const u8 gText_Rechoose[];
+extern const u8 gText_Deselect[];
+extern const u8 gText_Rent[];
+extern const u8 gText_Others2[];
+extern const u8 gText_Yes2[];
+extern const u8 gText_Yes3[];
+extern const u8 gText_No2[];
+extern const u8 gText_No3[];
+extern const u8 gText_QuitSwapping[];
+extern const u8 gText_AcceptThisPkmn[];
+extern const u8 gText_SelectPkmnToAccept[];
+extern const u8 gText_SelectPkmnToSwap[];
+extern const u8 gText_PkmnSwap[];
+extern const u8 gText_Swap[];
+extern const u8 gText_Summary2[];
+extern const u8 gText_PkmnForSwap[];
+extern const u8 gText_SamePkmnInPartyAlready[];
+extern const u8 gText_Cancel3[];
+
+// code
+static void sub_819A44C(struct Sprite *sprite)
+{
+ if (sprite->oam.paletteNum == IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED))
+ {
+ if (sprite->animEnded)
+ {
+ if (sprite->data[0] != 0)
+ {
+ sprite->data[0]--;
+ }
+ else if (Random() % 5 == 0)
+ {
+ StartSpriteAnim(sprite, 0);
+ sprite->data[0] = 32;
+ }
+ else
+ {
+ StartSpriteAnim(sprite, 1);
+ }
+ }
+ else
+ {
+ StartSpriteAnimIfDifferent(sprite, 1);
+ }
+ }
+ else
+ {
+ StartSpriteAnimIfDifferent(sprite, 0);
+ }
+}
+
+static void Select_CB2(void)
+{
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTextPrinters();
+ UpdatePaletteFade();
+ RunTasks();
+}
+
+static void Select_VblankCb(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void DoBattleFactorySelectScreen(void)
+{
+ sFactorySelectScreen = NULL;
+ SetMainCallback2(CB2_InitSelectScreen);
+}
+
+static void CB2_InitSelectScreen(void)
+{
+ u8 taskId;
+
+ switch (gMain.state)
+ {
+ case 0:
+ if (sFactorySelectMons != NULL)
+ FREE_AND_SET_NULL(sFactorySelectMons);
+ SetHBlankCallback(NULL);
+ SetVBlankCallback(NULL);
+ CpuFill32(0, (void *)VRAM, VRAM_SIZE);
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, sSelect_BgTemplates, ARRAY_COUNT(sSelect_BgTemplates));
+ InitWindows(sSelect_WindowTemplates);
+ DeactivateAllTextPrinters();
+ gMain.state++;
+ break;
+ case 1:
+ sSelectMenuTilesetBuffer = Alloc(0x440);
+ sSelectMonCardBgTilesetBuffer = AllocZeroed(0x440);
+ sSelectMenuTilemapBuffer = Alloc(0x800);
+ sSelectMonCardBgTilemapBuffer = AllocZeroed(0x800);
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetGpuReg(REG_OFFSET_MOSAIC, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WIN1H, 0);
+ SetGpuReg(REG_OFFSET_WIN1V, 0);
+ SetGpuReg(REG_OFFSET_WININ, 0);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ gMain.state++;
+ break;
+ case 2:
+ ResetPaletteFade();
+ ResetSpriteData();
+ ResetTasks();
+ FreeAllSpritePalettes();
+ CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSelectMenuTilesetBuffer, 0x440);
+ CpuCopy16(gUnknown_0861033C, sSelectMonCardBgTilesetBuffer, 0x60);
+ LoadBgTiles(1, sSelectMenuTilesetBuffer, 0x440, 0);
+ LoadBgTiles(3, sSelectMonCardBgTilesetBuffer, 0x60, 0);
+ CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSelectMenuTilemapBuffer, 0x800);
+ LoadBgTilemap(1, sSelectMenuTilemapBuffer, 0x800, 0);
+ LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40);
+ LoadPalette(gUnknown_0861046C, 0xF0, 8);
+ LoadPalette(gUnknown_0861046C, 0xE0, 10);
+ if (sFactorySelectScreen->fromSummaryScreen == TRUE)
+ gPlttBufferUnfaded[228] = sFactorySelectScreen->unk2A4;
+ LoadPalette(gUnknown_0861039C, 0x20, 4);
+ gMain.state++;
+ break;
+ case 3:
+ SetBgTilemapBuffer(3, sSelectMonCardBgTilemapBuffer);
+ CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8);
+ CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 2, 4, 8, 8);
+ CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 20, 4, 8, 8);
+ CopyBgTilemapBufferToVram(3);
+ gMain.state++;
+ break;
+ case 4:
+ LoadSpritePalettes(gUnknown_086103F4);
+ LoadSpriteSheets(gUnknown_086103BC);
+ LoadCompressedObjectPic(gUnknown_086103E4);
+ ShowBg(0);
+ ShowBg(1);
+ SetVBlankCallback(Select_VblankCb);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP);
+ if (sFactorySelectScreen->fromSummaryScreen == TRUE)
+ {
+ Select_SetWinRegs(88, 152, 32, 96);
+ ShowBg(3);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
+ }
+ else
+ {
+ HideBg(3);
+ }
+ gMain.state++;
+ break;
+ case 5:
+ if (sFactorySelectScreen->fromSummaryScreen == TRUE)
+ sFactorySelectScreen->cursorPos = gUnknown_0203CF20;
+ Select_InitMonsData();
+ Select_InitAllSprites();
+ if (sFactorySelectScreen->fromSummaryScreen == TRUE)
+ Select_ShowSummaryMonSprite();
+ gMain.state++;
+ break;
+ case 6:
+ Select_PrintSelectMonString();
+ PutWindowTilemap(2);
+ gMain.state++;
+ break;
+ case 7:
+ Select_PrintMonCategory();
+ PutWindowTilemap(5);
+ gMain.state++;
+ break;
+ case 8:
+ Select_PrintMonSpecies();
+ PutWindowTilemap(1);
+ gMain.state++;
+ break;
+ case 9:
+ Select_PrintRentalPkmnString();
+ PutWindowTilemap(0);
+ gMain.state++;
+ break;
+ case 10:
+ sFactorySelectScreen->fadeSpeciesNameTaskId = CreateTask(Task_SelectFadeSpeciesName, 0);
+ if (!sFactorySelectScreen->fromSummaryScreen)
+ {
+ gTasks[sFactorySelectScreen->fadeSpeciesNameTaskId].data[0] = 0;
+ taskId = CreateTask(Task_HandleSelectionScreenChooseMons, 0);
+ gTasks[taskId].data[0] = 0;
+ }
+ else
+ {
+ gTasks[sFactorySelectScreen->fadeSpeciesNameTaskId].data[0] = 1;
+ sFactorySelectScreen->unk2A2 = FALSE;
+ taskId = CreateTask(Task_HandleSelectionScreenMenu, 0);
+ gTasks[taskId].data[0] = 13;
+ }
+ SetMainCallback2(Select_CB2);
+ break;
+ }
+}
+
+static void Select_InitMonsData(void)
+{
+ u8 i;
+
+ if (sFactorySelectScreen != NULL)
+ return;
+
+ sFactorySelectScreen = AllocZeroed(sizeof(*sFactorySelectScreen));
+ sFactorySelectScreen->cursorPos = 0;
+ sFactorySelectScreen->selectingMonsState = 1;
+ sFactorySelectScreen->fromSummaryScreen = FALSE;
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ sFactorySelectScreen->mons[i].selectedId = 0;
+
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
+ CreateFrontierFactorySelectableMons(0);
+ else
+ CreateTentFactorySelectableMons(0);
+}
+
+static void Select_InitAllSprites(void)
+{
+ u8 i, cursorPos;
+ s16 x;
+
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ {
+ sFactorySelectScreen->mons[i].spriteId = CreateSprite(&gUnknown_086105D8, (35 * i) + 32, 64, 1);
+ gSprites[sFactorySelectScreen->mons[i].spriteId].data[0] = 0;
+ Select_SetBallSpritePaletteNum(i);
+ }
+ cursorPos = sFactorySelectScreen->cursorPos;
+ x = gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].pos1.x;
+ sFactorySelectScreen->cursorSpriteId = CreateSprite(&gUnknown_086105F0, x, 88, 0);
+ sFactorySelectScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610608, 176, 112, 0);
+ sFactorySelectScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_08610620, 176, 144, 0);
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE;
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecX = 0;
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].centerToCornerVecY = 0;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].centerToCornerVecX = 0;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].centerToCornerVecY = 0;
+}
+
+static void Select_DestroyAllSprites(void)
+{
+ u8 i;
+
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ DestroySprite(&gSprites[sFactorySelectScreen->mons[i].spriteId]);
+
+ DestroySprite(&gSprites[sFactorySelectScreen->cursorSpriteId]);
+ DestroySprite(&gSprites[sFactorySelectScreen->menuCursor1SpriteId]);
+ DestroySprite(&gSprites[sFactorySelectScreen->menuCursor2SpriteId]);
+}
+
+static void Select_UpdateBallCursorPosition(s8 direction)
+{
+ u8 cursorPos;
+ if (direction > 0) // Move cursor right.
+ {
+ if (sFactorySelectScreen->cursorPos != SELECTABLE_MONS_COUNT - 1)
+ sFactorySelectScreen->cursorPos++;
+ else
+ sFactorySelectScreen->cursorPos = 0;
+ }
+ else // Move cursor left.
+ {
+ if (sFactorySelectScreen->cursorPos != 0)
+ sFactorySelectScreen->cursorPos--;
+ else
+ sFactorySelectScreen->cursorPos = SELECTABLE_MONS_COUNT - 1;
+ }
+
+ cursorPos = sFactorySelectScreen->cursorPos;
+ gSprites[sFactorySelectScreen->cursorSpriteId].pos1.x = gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].pos1.x;
+}
+
+static void Select_UpdateMenuCursorPosition(s8 direction)
+{
+ if (direction > 0) // Move cursor down.
+ {
+ if (sFactorySelectScreen->menuCursorPos != MENU_OPTIONS_COUNT - 1)
+ sFactorySelectScreen->menuCursorPos++;
+ else
+ sFactorySelectScreen->menuCursorPos = 0;
+ }
+ else // Move cursor up.
+ {
+ if (sFactorySelectScreen->menuCursorPos != 0)
+ sFactorySelectScreen->menuCursorPos--;
+ else
+ sFactorySelectScreen->menuCursorPos = MENU_OPTIONS_COUNT - 1;
+ }
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
+}
+
+static void Select_UpdateYesNoCursorPosition(s8 direction)
+{
+ if (direction > 0) // Move cursor down.
+ {
+ if (sFactorySelectScreen->yesNoCursorPos != 1)
+ sFactorySelectScreen->yesNoCursorPos++;
+ else
+ sFactorySelectScreen->yesNoCursorPos = 0;
+ }
+ else // Move cursor up.
+ {
+ if (sFactorySelectScreen->yesNoCursorPos != 0)
+ sFactorySelectScreen->yesNoCursorPos--;
+ else
+ sFactorySelectScreen->yesNoCursorPos = 1;
+ }
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->yesNoCursorPos * 16) + 112;
+}
+
+static void Select_HandleMonSelectionChange(void)
+{
+ u8 i, paletteNum;
+ u8 cursorPos = sFactorySelectScreen->cursorPos;
+ if (sFactorySelectScreen->mons[cursorPos].selectedId) // Deselect a mon.
+ {
+ paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
+ if (sFactorySelectScreen->selectingMonsState == 3 && sFactorySelectScreen->mons[cursorPos].selectedId == 1)
+ {
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ {
+ if (sFactorySelectScreen->mons[i].selectedId == 2)
+ break;
+ }
+ if (i == SELECTABLE_MONS_COUNT)
+ return;
+ else
+ sFactorySelectScreen->mons[i].selectedId = 1;
+ }
+ sFactorySelectScreen->mons[cursorPos].selectedId = 0;
+ sFactorySelectScreen->selectingMonsState--;
+ }
+ else // Select a mon.
+ {
+ paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
+ sFactorySelectScreen->mons[cursorPos].selectedId = sFactorySelectScreen->selectingMonsState;
+ sFactorySelectScreen->selectingMonsState++;
+ }
+
+ gSprites[sFactorySelectScreen->mons[cursorPos].spriteId].oam.paletteNum = paletteNum;
+}
+
+static void Select_SetBallSpritePaletteNum(u8 id)
+{
+ u8 palNum;
+
+ if (sFactorySelectScreen->mons[id].selectedId)
+ palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
+ else
+ palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
+
+ gSprites[sFactorySelectScreen->mons[id].spriteId].oam.paletteNum = palNum;
+}
+
+static void Task_FromSelectScreenToSummaryScreen(u8 taskId)
+{
+ u8 i;
+ u8 currMonId;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 6:
+ gPlttBufferUnfaded[228] = gPlttBufferFaded[228];
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ gTasks[taskId].data[0] = 7;
+ break;
+ case 7:
+ if (!gPaletteFade.active)
+ {
+ DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId);
+ sub_819F444(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0);
+ Select_DestroyAllSprites();
+ FREE_AND_SET_NULL(sSelectMenuTilesetBuffer);
+ FREE_AND_SET_NULL(sSelectMonCardBgTilesetBuffer);
+ FREE_AND_SET_NULL(sSelectMenuTilemapBuffer);
+ FREE_AND_SET_NULL(sSelectMonCardBgTilemapBuffer);
+ FreeAllWindowBuffers();
+ gTasks[taskId].data[0] = 8;
+ }
+ break;
+ case 8:
+ sFactorySelectScreen->unk2A4 = gPlttBufferUnfaded[228];
+ DestroyTask(taskId);
+ sFactorySelectScreen->fromSummaryScreen = TRUE;
+ currMonId = sFactorySelectScreen->cursorPos;
+ sFactorySelectMons = AllocZeroed(sizeof(struct Pokemon) * SELECTABLE_MONS_COUNT);
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ sFactorySelectMons[i] = sFactorySelectScreen->mons[i].monData;
+ ShowPokemonSummaryScreen(1, sFactorySelectMons, currMonId, SELECTABLE_MONS_COUNT - 1, CB2_InitSelectScreen);
+ break;
+ }
+}
+
+static void Task_CloseSelectionScreen(u8 taskId)
+{
+ if (sFactorySelectScreen->unk2A0 != TRUE)
+ {
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ Select_CopyMonsToPlayerParty();
+ DestroyTask(sFactorySelectScreen->fadeSpeciesNameTaskId);
+ Select_DestroyAllSprites();
+ FREE_AND_SET_NULL(sSelectMenuTilesetBuffer);
+ FREE_AND_SET_NULL(sSelectMenuTilemapBuffer);
+ FREE_AND_SET_NULL(sSelectMonCardBgTilemapBuffer);
+ FREE_AND_SET_NULL(sFactorySelectScreen);
+ FreeAllWindowBuffers();
+ SetMainCallback2(CB2_ReturnToFieldContinueScript);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+ }
+}
+
+static void Task_HandleSelectionScreenYesNo(u8 taskId)
+{
+ if (sFactorySelectScreen->unk2A0 != TRUE)
+ {
+ switch (gTasks[taskId].data[0])
+ {
+ case 10:
+ sub_819C4B4();
+ gTasks[taskId].data[0] = 4;
+ break;
+ case 4:
+ Select_ShowYesNoOptions();
+ gTasks[taskId].data[0] = 5;
+ break;
+ case 5:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (sFactorySelectScreen->yesNoCursorPos == 0)
+ {
+ sub_819C568();
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = Task_CloseSelectionScreen;
+ }
+ else
+ {
+ sub_819B958(4);
+ sub_819BC9C();
+ sFactorySelectScreen->unk2A2 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_819B958(4);
+ sub_819BC9C();
+ sFactorySelectScreen->unk2A2 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ Select_UpdateYesNoCursorPosition(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ Select_UpdateYesNoCursorPosition(1);
+ }
+ break;
+ }
+ }
+}
+
+static void Task_HandleSelectionScreenMenu(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 2:
+ if (!sFactorySelectScreen->fromSummaryScreen)
+ sub_819F2B4(&sFactorySelectScreen->unk294[1].field1, &sFactorySelectScreen->unk2A0, FALSE);
+ gTasks[taskId].data[0] = 9;
+ break;
+ case 9:
+ if (sFactorySelectScreen->unk2A0 != TRUE)
+ {
+ Select_ShowMenuOptions();
+ sFactorySelectScreen->fromSummaryScreen = FALSE;
+ gTasks[taskId].data[0] = 3;
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ u8 retVal;
+ PlaySE(SE_SELECT);
+ retVal = Select_RunMenuOptionFunc();
+ if (retVal == 1)
+ {
+ sFactorySelectScreen->unk2A2 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
+ }
+ else if (retVal == 2)
+ {
+ gTasks[taskId].data[0] = 10;
+ gTasks[taskId].func = Task_HandleSelectionScreenYesNo;
+ }
+ else if (retVal == 3)
+ {
+ gTasks[taskId].data[0] = 11;
+ gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 6;
+ gTasks[taskId].func = Task_FromSelectScreenToSummaryScreen;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
+ sub_819B958(3);
+ sFactorySelectScreen->unk2A2 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ Select_UpdateMenuCursorPosition(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ Select_UpdateMenuCursorPosition(1);
+ }
+ break;
+ case 12:
+ if (!gPaletteFade.active)
+ {
+ if (sFactorySelectScreen->fromSummaryScreen == TRUE)
+ {
+ gPlttBufferFaded[228] = sFactorySelectScreen->unk2A4;
+ gPlttBufferUnfaded[228] = gPlttBufferUnfaded[244];
+ }
+ sFactorySelectScreen->fromSummaryScreen = FALSE;
+ gTasks[taskId].data[0] = 3;
+ }
+ break;
+ case 13:
+ Select_ShowMenuOptions();
+ gTasks[taskId].data[0] = 12;
+ break;
+ }
+}
+
+static void Task_HandleSelectionScreenChooseMons(u8 taskId)
+{
+ if (sFactorySelectScreen->unk2A0 != TRUE)
+ {
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (!gPaletteFade.active)
+ {
+ gTasks[taskId].data[0] = 1;
+ sFactorySelectScreen->unk2A2 = TRUE;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sFactorySelectScreen->unk2A2 = FALSE;
+ gTasks[taskId].data[0] = 2;
+ gTasks[taskId].func = Task_HandleSelectionScreenMenu;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ PlaySE(SE_SELECT);
+ Select_UpdateBallCursorPosition(-1);
+ Select_PrintMonCategory();
+ Select_PrintMonSpecies();
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ PlaySE(SE_SELECT);
+ Select_UpdateBallCursorPosition(1);
+ Select_PrintMonCategory();
+ Select_PrintMonSpecies();
+ }
+ break;
+ case 11:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
+ Select_PrintSelectMonString();
+ sFactorySelectScreen->unk2A2 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ }
+ break;
+ }
+ }
+}
+
+static void CreateFrontierFactorySelectableMons(u8 firstMonId)
+{
+ u8 i, j = 0;
+ u8 ivs = 0;
+ u8 level = 0;
+ u8 happiness = 0;
+ u32 otId = 0;
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+ u8 var_28 = 0;
+
+ gFacilityTrainerMons = gBattleFrontierMons;
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
+ level = 100;
+ else
+ level = 50;
+
+ var_28 = sub_81A6F70(battleMode, lvlMode);
+ otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
+
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ {
+ u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
+ sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId;
+ if (i < var_28)
+ ivs = GetFactoryMonFixedIV(challengeNum + 1, 0);
+ else
+ ivs = GetFactoryMonFixedIV(challengeNum, 0);
+ CreateMonWithEVSpreadNatureOTID(&sFactorySelectScreen->mons[i + firstMonId].monData,
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ ivs,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otId);
+ happiness = 0;
+ for (j = 0; j < 4; j++)
+ SetMonMoveAvoidReturn(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j);
+ SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness);
+ SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ }
+}
+
+static void CreateTentFactorySelectableMons(u8 firstMonId)
+{
+ u8 i, j;
+ u8 ivs = 0;
+ u8 level = 30;
+ u8 happiness = 0;
+ u32 otId = 0;
+
+ gFacilityTrainerMons = gSlateportBattleTentMons;
+ otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
+
+ for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
+ {
+ u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
+ sFactorySelectScreen->mons[i + firstMonId].monSetId = monSetId;
+ CreateMonWithEVSpreadNatureOTID(&sFactorySelectScreen->mons[i + firstMonId].monData,
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ ivs,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otId);
+ happiness = 0;
+ for (j = 0; j < 4; j++)
+ SetMonMoveAvoidReturn(&sFactorySelectScreen->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j);
+ SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness);
+ SetMonData(&sFactorySelectScreen->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ }
+}
+
+static void Select_CopyMonsToPlayerParty(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
+ {
+ if (sFactorySelectScreen->mons[j].selectedId == i + 1)
+ {
+ gPlayerParty[i] = sFactorySelectScreen->mons[j].monData;
+ gSaveBlock2Ptr->frontier.field_E70[i].monId = sFactorySelectScreen->mons[j].monSetId;
+ gSaveBlock2Ptr->frontier.field_E70[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL);
+ gSaveBlock2Ptr->frontier.field_E70[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL);
+ gSaveBlock2Ptr->frontier.field_E70[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL);
+ break;
+ }
+ }
+ }
+ CalculatePlayerPartyCount();
+}
+
+static void Select_ShowMenuOptions(void)
+{
+ if (!sFactorySelectScreen->fromSummaryScreen)
+ sFactorySelectScreen->menuCursorPos = 0;
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176;
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = (sFactorySelectScreen->menuCursorPos * 16) + 112;
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE;
+
+ Select_PrintMenuOptions();
+}
+
+static void Select_ShowYesNoOptions(void)
+{
+ sFactorySelectScreen->yesNoCursorPos = 0;
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.x = 176;
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].pos1.y = 112;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.x = 208;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].pos1.y = 112;
+
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = FALSE;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = FALSE;
+
+ Select_PrintYesNoOptions();
+}
+
+static void sub_819B958(u8 windowId)
+{
+ gSprites[sFactorySelectScreen->menuCursor1SpriteId].invisible = TRUE;
+ gSprites[sFactorySelectScreen->menuCursor2SpriteId].invisible = TRUE;
+ FillWindowPixelBuffer(windowId, 0);
+ CopyWindowToVram(windowId, 2);
+ ClearWindowTilemap(windowId);
+}
+
+static void Select_PrintRentalPkmnString(void)
+{
+ FillWindowPixelBuffer(0, 0);
+ AddTextPrinterParameterized(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL);
+ CopyWindowToVram(0, 3);
+}
+
+static void Select_PrintMonSpecies(void)
+{
+ u16 species;
+ u8 x;
+ u8 monId = sFactorySelectScreen->cursorPos;
+
+ FillWindowPixelBuffer(1, 0);
+ species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
+ StringCopy(gStringVar4, gSpeciesNames[species]);
+ x = GetStringRightAlignXOffset(1, gStringVar4, 86);
+ AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4);
+ CopyWindowToVram(1, 2);
+}
+
+static void Select_PrintSelectMonString(void)
+{
+ const u8 *str = NULL;
+
+ FillWindowPixelBuffer(2, 0);
+ if (sFactorySelectScreen->selectingMonsState == 1)
+ str = gText_SelectFirstPkmn;
+ else if (sFactorySelectScreen->selectingMonsState == 2)
+ str = gText_SelectSecondPkmn;
+ else if (sFactorySelectScreen->selectingMonsState == 3)
+ str = gText_SelectThirdPkmn;
+ else
+ str = gText_TheseThreePkmnOkay;
+
+ AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL);
+ CopyWindowToVram(2, 2);
+}
+
+static void Select_PrintCantSelectSameMon(void)
+{
+ FillWindowPixelBuffer(2, 0);
+ AddTextPrinterParameterized(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL);
+ CopyWindowToVram(2, 2);
+}
+
+static void Select_PrintMenuOptions(void)
+{
+ u8 selectedId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].selectedId;
+
+ PutWindowTilemap(3);
+ FillWindowPixelBuffer(3, 0);
+ AddTextPrinterParameterized3(3, 1, 7, 1, gUnknown_08610476, 0, gText_Summary);
+ if (selectedId != 0)
+ AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Deselect);
+ else
+ AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Rent);
+
+ AddTextPrinterParameterized3(3, 1, 7, 33, gUnknown_08610476, 0, gText_Others2);
+ CopyWindowToVram(3, 3);
+}
+
+static void Select_PrintYesNoOptions(void)
+{
+ PutWindowTilemap(4);
+ FillWindowPixelBuffer(4, 0);
+ AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610476, 0, gText_Yes2);
+ AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610476, 0, gText_No2);
+ CopyWindowToVram(4, 3);
+}
+
+static u8 Select_RunMenuOptionFunc(void)
+{
+ gUnknown_030062E8 = sSelect_MenuOptionFuncs[sFactorySelectScreen->menuCursorPos];
+ return gUnknown_030062E8();
+}
+
+static u8 Select_OptionRentDeselect(void)
+{
+ u8 selectedId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].selectedId;
+ u16 monSetId = sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].monSetId;
+ if (selectedId == 0 && !Select_AreSpeciesValid(monSetId))
+ {
+ Select_PrintCantSelectSameMon();
+ sub_819B958(3);
+ return 3;
+ }
+ else
+ {
+ sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
+ Select_HandleMonSelectionChange();
+ Select_PrintSelectMonString();
+ sub_819B958(3);
+ if (sFactorySelectScreen->selectingMonsState > 3)
+ return 2;
+ else
+ return 1;
+ }
+}
+
+static u8 sub_819BC9C(void)
+{
+ sub_819C568();
+ Select_HandleMonSelectionChange();
+ Select_PrintSelectMonString();
+ sub_819B958(3);
+ if (sFactorySelectScreen->selectingMonsState > 3)
+ return 2;
+ else
+ return 1;
+}
+
+static u8 Select_OptionSummary(void)
+{
+ return 0;
+}
+
+static u8 Select_OptionOthers(void)
+{
+ sub_819F3F8(sFactorySelectScreen->unk294[1], &sFactorySelectScreen->unk2A0, FALSE);
+ sub_819B958(3);
+ return 1;
+}
+
+static void Select_PrintMonCategory(void)
+{
+ u16 species;
+ u8 text[30];
+ u8 x;
+ u8 monId = sFactorySelectScreen->cursorPos;
+ if (monId < SELECTABLE_MONS_COUNT)
+ {
+ PutWindowTilemap(5);
+ FillWindowPixelBuffer(5, 0);
+ species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL);
+ CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
+ x = GetStringRightAlignXOffset(1, text, 0x76);
+ AddTextPrinterParameterized(5, 1, text, x, 1, 0, NULL);
+ CopyWindowToVram(5, 2);
+ }
+}
+
+static void Summary_ShowMonSprite(void)
+{
+ u8 monId = sFactorySelectScreen->cursorPos;
+ struct Pokemon *mon = &sFactorySelectScreen->mons[monId].monData;
+ u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
+ u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
+ u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
+
+ sFactorySelectScreen->unk294[1].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
+ gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0;
+ gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0;
+
+ sFactorySelectScreen->unk2A0 = FALSE;
+}
+
+static void sub_819BE20(bool8 arg0)
+{
+ sFactorySelectScreen->unk2A0 = arg0;
+}
+
+static void Select_ShowSummaryMonSprite(void)
+{
+ struct Pokemon *mon;
+ u16 species;
+ u32 personality, otId;
+
+ sFactorySelectScreen->unk294[1].field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1);
+ StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 2);
+
+ mon = &sFactorySelectScreen->mons[sFactorySelectScreen->cursorPos].monData;
+ species = GetMonData(mon, MON_DATA_SPECIES, NULL);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
+ otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
+
+ sFactorySelectScreen->unk294[1].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
+ gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecX = 0;
+ gSprites[sFactorySelectScreen->unk294[1].field0].centerToCornerVecY = 0;
+
+ gSprites[sFactorySelectScreen->unk294[1].field1].invisible = TRUE;
+}
+
+static void Select_ShowChosenMonsSprites(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
+ {
+ if (sFactorySelectScreen->mons[j].selectedId == i + 1)
+ {
+ struct Pokemon *mon = &sFactorySelectScreen->mons[j].monData;
+ u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
+ u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
+ u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
+
+ sFactorySelectScreen->unk294[i].field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, (i * 72) + 16, 32, i + 13, 0xFFFF);
+ gSprites[sFactorySelectScreen->unk294[i].field0].centerToCornerVecX = 0;
+ gSprites[sFactorySelectScreen->unk294[i].field0].centerToCornerVecY = 0;
+ break;
+ }
+ }
+ }
+ sFactorySelectScreen->unk2A0 = FALSE;
+}
+
+static void sub_819C040(struct Sprite *sprite)
+{
+ u8 taskId;
+
+ if (sprite->affineAnimEnded
+ && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded
+ && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded)
+ {
+ sprite->invisible = TRUE;
+ gSprites[sFactorySelectScreen->unk294[0].field1].invisible = TRUE;
+ gSprites[sFactorySelectScreen->unk294[2].field1].invisible = TRUE;
+
+ taskId = CreateTask(sub_819C1D0, 1);
+ gTasks[taskId].func(taskId);
+
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void sub_819C100(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded
+ && gSprites[sFactorySelectScreen->unk294[0].field1].affineAnimEnded
+ && gSprites[sFactorySelectScreen->unk294[2].field1].affineAnimEnded)
+ {
+ FreeOamMatrix(sprite->oam.matrixNum);
+ FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[0].field1].oam.matrixNum);
+ FreeOamMatrix(gSprites[sFactorySelectScreen->unk294[2].field1].oam.matrixNum);
+
+ sFactorySelectScreen->unk2A0 = FALSE;
+
+ DestroySprite(&gSprites[sFactorySelectScreen->unk294[0].field1]);
+ DestroySprite(&gSprites[sFactorySelectScreen->unk294[2].field1]);
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_819C1D0(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[3] = 16;
+ task->data[24] = 224; // BUG: writing outside the array's bounds.
+ task->data[5] = 64;
+ task->data[8] = 65;
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
+ break;
+ case 1:
+ ShowBg(3);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
+ break;
+ case 2:
+ task->data[5] -= 4;
+ task->data[8] += 4;
+ if (task->data[5] <= 32 || task->data[8] >= 96)
+ {
+ task->data[5] = 32;
+ task->data[8] = 96;
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ }
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ if (task->data[5] != 32)
+ return;
+ break;
+ default:
+ DestroyTask(taskId);
+ Select_ShowChosenMonsSprites();
+ return;
+ }
+ task->data[0]++;
+}
+
+static void sub_819C2D4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ default:
+ HideBg(3);
+ gSprites[sFactorySelectScreen->unk294[1].field1].invisible = FALSE;
+ gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C100;
+ gSprites[sFactorySelectScreen->unk294[0].field1].invisible = FALSE;
+ gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy;
+ gSprites[sFactorySelectScreen->unk294[2].field1].invisible = FALSE;
+ gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy;
+ StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[1].field1], 1);
+ StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[0].field1], 1);
+ StartSpriteAffineAnim(&gSprites[sFactorySelectScreen->unk294[2].field1], 1);
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ DestroyTask(taskId);
+ break;
+ case 0:
+ task->data[3] = 16;
+ task->data[24] = 224; // BUG: writing outside the array's bounds.
+ task->data[5] = 32;
+ task->data[8] = 96;
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
+ task->data[0]++;
+ break;
+ case 1:
+ task->data[5] += 4;
+ task->data[8] -= 4;
+ if (task->data[5] >= 64 || task->data[8] <= 65)
+ {
+ task->data[5] = 64;
+ task->data[8] = 65;
+ }
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ if (task->data[5] == 64)
+ task->data[0]++;
+ break;
+ }
+}
+
+static void sub_819C4B4(void)
+{
+ sFactorySelectScreen->unk294[1].field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1);
+ sFactorySelectScreen->unk294[0].field1 = CreateSprite(&gUnknown_08610638, 44, 64, 1);
+ sFactorySelectScreen->unk294[2].field1 = CreateSprite(&gUnknown_08610638, 196, 64, 1);
+
+ gSprites[sFactorySelectScreen->unk294[1].field1].callback = sub_819C040;
+ gSprites[sFactorySelectScreen->unk294[0].field1].callback = SpriteCallbackDummy;
+ gSprites[sFactorySelectScreen->unk294[2].field1].callback = SpriteCallbackDummy;
+
+ sFactorySelectScreen->unk2A0 = TRUE;
+}
+
+static void sub_819C568(void)
+{
+ u8 taskId;
+
+ FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[0].field0);
+ FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[1].field0);
+ FreeAndDestroyMonPicSprite(sFactorySelectScreen->unk294[2].field0);
+
+ taskId = CreateTask(sub_819C2D4, 1);
+ gTasks[taskId].func(taskId);
+
+ sFactorySelectScreen->unk2A0 = TRUE;
+}
+
+static void Select_SetWinRegs(s16 mWin0H, s16 nWin0H, s16 mWin0V, s16 nWin0V)
+{
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(mWin0H, nWin0H));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(mWin0V, nWin0V));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
+}
+
+static bool32 Select_AreSpeciesValid(u16 monSetId)
+{
+ u8 i, j;
+ u32 species = gFacilityTrainerMons[monSetId].species;
+ u8 selectState = sFactorySelectScreen->selectingMonsState;
+
+ for (i = 1; i < selectState; i++)
+ {
+ for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
+ {
+ if (sFactorySelectScreen->mons[j].selectedId == i)
+ {
+ if (gFacilityTrainerMons[sFactorySelectScreen->mons[j].monSetId].species == species)
+ return FALSE;
+
+ break;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+static void Task_SelectFadeSpeciesName(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ sFactorySelectScreen->unk2A7 = 0;
+ sFactorySelectScreen->unk2A8 = 0;
+ sFactorySelectScreen->unk2A6 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ break;
+ case 1:
+ if (sFactorySelectScreen->unk2A2)
+ {
+ if (sFactorySelectScreen->unk2A9)
+ {
+ gTasks[taskId].data[0] = 2;
+ }
+ else
+ {
+ sFactorySelectScreen->unk2A7++;
+ if (sFactorySelectScreen->unk2A7 > 6)
+ {
+ sFactorySelectScreen->unk2A7 = 0;
+ if (!sFactorySelectScreen->unk2A6)
+ sFactorySelectScreen->unk2A8--;
+ else
+ sFactorySelectScreen->unk2A8++;
+ }
+ BlendPalettes(0x4000, sFactorySelectScreen->unk2A8, 0);
+ if (sFactorySelectScreen->unk2A8 > 5)
+ {
+ sFactorySelectScreen->unk2A6 = FALSE;
+ }
+ else if (sFactorySelectScreen->unk2A8 == 0)
+ {
+ gTasks[taskId].data[0] = 2;
+ sFactorySelectScreen->unk2A6 = TRUE;
+ }
+ }
+ }
+ break;
+ case 2:
+ if (sFactorySelectScreen->unk2A9 > 14)
+ {
+ sFactorySelectScreen->unk2A9 = 0;
+ gTasks[taskId].data[0] = 1;
+ }
+ else
+ {
+ sFactorySelectScreen->unk2A9++;
+ }
+ break;
+ }
+}
+
+// Swap Screen's section begins here.
+
+static void Swap_CB2(void)
+{
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTextPrinters();
+ UpdatePaletteFade();
+ RunTasks();
+}
+
+static void Swap_VblankCb(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void CopySwappedMonData(void)
+{
+ u8 happiness;
+
+ gPlayerParty[sFactorySwapScreen->playerMonId] = gEnemyParty[sFactorySwapScreen->enemyMonId];
+ happiness = 0;
+ SetMonData(&gPlayerParty[sFactorySwapScreen->playerMonId], MON_DATA_FRIENDSHIP, &happiness);
+ gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].monId = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].monId;
+ gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].ivs = gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->enemyMonId + 3].ivs;
+ gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].personality = GetMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId], MON_DATA_PERSONALITY, NULL);
+ gSaveBlock2Ptr->frontier.field_E70[sFactorySwapScreen->playerMonId].abilityBit = GetBoxMonData(&gEnemyParty[sFactorySwapScreen->enemyMonId].box, MON_DATA_ALT_ABILITY, NULL);
+}
+
+static void Task_FromSwapScreenToSummaryScreen(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 6:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ gTasks[taskId].data[0] = 7;
+ break;
+ case 7:
+ if (!gPaletteFade.active)
+ {
+ DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId);
+ sub_819F444(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30);
+ Swap_DestroyAllSprites();
+ FREE_AND_SET_NULL(sSwapMenuTilesetBuffer);
+ FREE_AND_SET_NULL(sSwapMonCardBgTilesetBuffer);
+ FREE_AND_SET_NULL(sSwapMenuTilemapBuffer);
+ FREE_AND_SET_NULL(sSwapMonCardBgTilemapBuffer);
+ FreeAllWindowBuffers();
+ gTasks[taskId].data[0] = 8;
+ }
+ break;
+ case 8:
+ DestroyTask(taskId);
+ sFactorySwapScreen->fromSummaryScreen = TRUE;
+ sFactorySwapScreen->unk24 = gPlttBufferUnfaded[244];
+ ShowPokemonSummaryScreen(0, gPlayerParty, sFactorySwapScreen->cursorPos, 3 - 1, CB2_InitSwapScreen);
+ break;
+ }
+}
+
+static void Task_CloseSwapScreen(u8 taskId)
+{
+ if (sFactorySwapScreen->unk30 != TRUE)
+ {
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (sFactorySwapScreen->monSwapped == TRUE)
+ {
+ gTasks[taskId].data[0]++;
+ gSpecialVar_Result = 0;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 2;
+ gSpecialVar_Result = 1;
+ }
+ break;
+ case 1:
+ if (sFactorySwapScreen->monSwapped == TRUE)
+ {
+ sFactorySwapScreen->enemyMonId = sFactorySwapScreen->cursorPos;
+ CopySwappedMonData();
+ }
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
+ gTasks[taskId].data[0]++;
+ break;
+ case 3:
+ if (!UpdatePaletteFade())
+ {
+ DestroyTask(sFactorySwapScreen->fadeSpeciesNameTaskId);
+ Swap_DestroyAllSprites();
+ FREE_AND_SET_NULL(sSwapMenuTilesetBuffer);
+ FREE_AND_SET_NULL(sSwapMonCardBgTilesetBuffer);
+ FREE_AND_SET_NULL(sSwapMenuTilemapBuffer);
+ FREE_AND_SET_NULL(sSwapMonCardBgTilemapBuffer);
+ FREE_AND_SET_NULL(sFactorySwapScreen);
+ FreeAllWindowBuffers();
+ SetMainCallback2(CB2_ReturnToFieldContinueScript);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+ }
+}
+
+static void Task_HandleSwapScreenYesNo(u8 taskId)
+{
+ u16 loPtr, hiPtr;
+
+ if (sFactorySwapScreen->unk30 != TRUE)
+ {
+ switch (gTasks[taskId].data[0])
+ {
+ case 4:
+ Swap_ShowYesNoOptions();
+ gTasks[taskId].data[0] = 5;
+ break;
+ case 5:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ if (sFactorySwapScreen->yesNoCursorPos == 0)
+ {
+ gTasks[taskId].data[1] = 1;
+ hiPtr = gTasks[taskId].data[6];
+ loPtr = gTasks[taskId].data[7];
+ gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr);
+ }
+ else
+ {
+ gTasks[taskId].data[1] = 0;
+ sub_819EA64(4);
+ hiPtr = gTasks[taskId].data[6];
+ loPtr = gTasks[taskId].data[7];
+ gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr);
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ gTasks[taskId].data[1] = 0;
+ sub_819EA64(4);
+ hiPtr = gTasks[taskId].data[6];
+ loPtr = gTasks[taskId].data[7];
+ gTasks[taskId].func = (void*)((hiPtr << 16) | loPtr);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ Swap_UpdateYesNoCursorPosition(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ Swap_UpdateYesNoCursorPosition(1);
+ }
+ break;
+ }
+ }
+}
+
+static void sub_819CBDC(u8 taskId)
+{
+ if (gTasks[taskId].data[1] == 1)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = Task_CloseSwapScreen;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16;
+ gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].func = sub_819D770;
+ }
+}
+
+static void sub_819CC24(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0)
+ {
+ Swap_PrintOnInfoWindow(gText_QuitSwapping);
+ sFactorySwapScreen->monSwapped = FALSE;
+ gTasks[taskId].data[0] = 4;
+ gTasks[taskId].data[6] = (u32)(sub_819CBDC) >> 16;
+ gTasks[taskId].data[7] = (u32)(sub_819CBDC);
+ gTasks[taskId].func = Task_HandleSwapScreenYesNo;
+ }
+}
+
+static void sub_819CC74(u8 taskId)
+{
+ sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
+ if (gTasks[taskId].data[1] == 1)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = Task_CloseSwapScreen;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16;
+ gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].func = sub_819D770;
+ }
+}
+
+static void sub_819CCD4(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0)
+ {
+ sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE);
+ Swap_PrintOnInfoWindow(gText_AcceptThisPkmn);
+ sFactorySwapScreen->monSwapped = TRUE;
+ gTasks[taskId].data[0] = 4;
+ gTasks[taskId].data[6] = (u32)(sub_819CC74) >> 16;
+ gTasks[taskId].data[7] = (u32)(sub_819CC74);
+ gTasks[taskId].func = Task_HandleSwapScreenYesNo;
+ }
+}
+
+static void Task_HandleSwapScreenMenu(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 2:
+ if (!sFactorySwapScreen->fromSummaryScreen)
+ sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE);
+ gTasks[taskId].data[0] = 9;
+ break;
+ case 9:
+ if (sFactorySwapScreen->unk30 != TRUE)
+ {
+ Swap_ShowMenuOptions();
+ gTasks[taskId].data[0] = 3;
+ }
+ break;
+ case 3:
+ if (sFactorySwapScreen->unk30 != TRUE)
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ Swap_RunMenuOptionFunc(taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
+ sub_819EA64(3);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 16;
+ gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].func = sub_819D770;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ Swap_UpdateMenuCursorPosition(-1);
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ Swap_UpdateMenuCursorPosition(1);
+ }
+ }
+ break;
+ }
+}
+
+static void Task_HandleSwapScreenChooseMons(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (!gPaletteFade.active)
+ {
+ sFactorySwapScreen->unk22 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sFactorySwapScreen->unk22 = FALSE;
+ Swap_PrintMonSpecies2();
+ sub_819EAC0();
+ Swap_RunActionFunc(taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sFactorySwapScreen->unk22 = FALSE;
+ Swap_PrintMonSpecies2();
+ sub_819EAC0();
+ gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 16;
+ gTasks[taskId].data[7] = (u32)(sub_819CC24);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[5] = 0;
+ gTasks[taskId].func = sub_819D588;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ Swap_UpdateBallCursorPosition(-1);
+ Swap_PrintMonCategory();
+ Swap_PrintMonSpecies();
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ Swap_UpdateBallCursorPosition(1);
+ Swap_PrintMonCategory();
+ Swap_PrintMonSpecies();
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ Swap_UpdateActionCursorPosition(1);
+ Swap_PrintMonCategory();
+ Swap_PrintMonSpecies();
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ Swap_UpdateActionCursorPosition(-1);
+ Swap_PrintMonCategory();
+ Swap_PrintMonSpecies();
+ }
+ break;
+ }
+}
+
+static void Task_SwapFadeSpeciesName(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ sFactorySwapScreen->unk27 = 0;
+ sFactorySwapScreen->unk28 = 0;
+ sFactorySwapScreen->unk26 = TRUE;
+ gTasks[taskId].data[0] = 1;
+ break;
+ case 1:
+ if (sFactorySwapScreen->unk22)
+ {
+ if (sFactorySwapScreen->unk29)
+ {
+ gTasks[taskId].data[0] = 2;
+ }
+ else
+ {
+ sFactorySwapScreen->unk27++;
+ if (sFactorySwapScreen->unk27 > 6)
+ {
+ sFactorySwapScreen->unk27 = 0;
+ if (!sFactorySwapScreen->unk26)
+ sFactorySwapScreen->unk28--;
+ else
+ sFactorySwapScreen->unk28++;
+ }
+ BlendPalettes(0x4000, sFactorySwapScreen->unk28, 0);
+ if (sFactorySwapScreen->unk28 > 5)
+ {
+ sFactorySwapScreen->unk26 = FALSE;
+ }
+ else if (sFactorySwapScreen->unk28 == 0)
+ {
+ gTasks[taskId].data[0] = 2;
+ sFactorySwapScreen->unk26 = TRUE;
+ }
+ }
+ }
+ break;
+ case 2:
+ if (sFactorySwapScreen->unk29 > 14)
+ {
+ sFactorySwapScreen->unk29 = 0;
+ gTasks[taskId].data[0] = 1;
+ }
+ else
+ {
+ sFactorySwapScreen->unk29++;
+ }
+ break;
+ }
+}
+
+static void Task_SwapFadeSpeciesName2(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ sFactorySwapScreen->unk27 = 0;
+ gTasks[taskId].data[4] = 0;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ LoadPalette(&gPlttBufferUnfaded[0xF0], 0xE0, 0xA);
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ if (sFactorySwapScreen->unk28 > 15)
+ {
+ gTasks[taskId].data[4] = 1;
+ gTasks[taskId].data[0]++;
+ }
+ sFactorySwapScreen->unk27++;
+ if (sFactorySwapScreen->unk27 > 3)
+ {
+ sFactorySwapScreen->unk27 = 0;
+ gPlttBufferUnfaded[244] = gPlttBufferFaded[228];
+ sFactorySwapScreen->unk28++;
+ }
+ BlendPalettes(0x4000, sFactorySwapScreen->unk28, 0);
+ break;
+ }
+}
+
+static void sub_819D12C(u8 taskId)
+{
+ s8 i;
+ u8 var_2C;
+ bool8 destroyTask;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[0] = 1;
+ break;
+ case 1:
+ var_2C = 0;
+ for (i = 2; i >= 0; i--)
+ {
+ if (i != 2)
+ {
+ u8 posX = var_2C - gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
+ if (posX == 16 || gTasks[taskId].data[i + 2] == 1)
+ {
+ var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10;
+ }
+ else if (posX > 16)
+ {
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[i + 1]].pos1.x - 48;
+ }
+ }
+ else
+ {
+ var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x += 10;
+ }
+
+ if (gTasks[taskId].data[i + 1] == 1)
+ {
+ if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x > (i * 48) + 72)
+ {
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = (i * 48) + 72;
+ destroyTask = TRUE;
+ }
+ else if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x == (i * 48) + 72)
+ {
+ destroyTask = TRUE;
+ }
+ else
+ {
+ destroyTask = FALSE;
+ }
+ }
+ else
+ {
+ destroyTask = FALSE;
+ }
+
+ if (gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x - 16 > 240)
+ {
+ var_2C = gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x;
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].pos1.x = -16;
+ if (sFactorySwapScreen->inEnemyScreen == TRUE)
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
+ else
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].oam.paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
+
+ gTasks[taskId].data[i + 1] = 1;
+ }
+ }
+ if (destroyTask == TRUE)
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void sub_819D324(u8 taskId)
+{
+ u8 i, j;
+ s32 posX = 0;
+ s8 r4 = gTasks[taskId].data[3];
+ bool8 r1;
+ s16 currPosX;
+ u8 taskId2;
+
+ if (gTasks[taskId].data[2] == 1)
+ r4 *= -1;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ currPosX = gSprites[sFactorySwapScreen->unk8[0][0]].pos1.x;
+ if (!gTasks[taskId].data[2])
+ {
+ if (currPosX + r4 < 240)
+ {
+ r1 = TRUE;
+ }
+ else
+ {
+ r1 = FALSE;
+ posX = 240;
+ }
+ }
+ else
+ {
+ if (currPosX + r4 > 160)
+ {
+ r1 = TRUE;
+ }
+ else
+ {
+ r1 = FALSE;
+ posX = 160;
+ }
+ }
+
+ if (r1 == TRUE)
+ {
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 0; j < 2; j++)
+ gSprites[sFactorySwapScreen->unk8[j][i]].pos1.x += r4;
+ }
+ }
+ else
+ {
+ for (j = 0; j < 2; j++)
+ {
+ gSprites[sFactorySwapScreen->unk8[j][0]].pos1.x = posX;
+ gSprites[sFactorySwapScreen->unk8[j][1]].pos1.x = posX + 16;
+ gSprites[sFactorySwapScreen->unk8[j][2]].pos1.x = posX + 48;
+ }
+ taskId2 = gTasks[taskId].data[1];
+ gTasks[taskId2].data[3] = 1;
+ DestroyTask(taskId);
+ }
+ break;
+ case 1:
+ currPosX = gSprites[sFactorySwapScreen->unkE[0][0]].pos1.x;
+ if (!gTasks[taskId].data[2])
+ {
+ if (currPosX + r4 < 240)
+ {
+ r1 = TRUE;
+ }
+ else
+ {
+ r1 = FALSE;
+ posX = 240;
+ }
+ }
+ else
+ {
+ if (currPosX + r4 > 192)
+ {
+ r1 = TRUE;
+ }
+ else
+ {
+ r1 = FALSE;
+ posX = 192;
+ }
+ }
+
+ if (r1 == TRUE)
+ {
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 2; j++)
+ gSprites[sFactorySwapScreen->unkE[j][i]].pos1.x += r4;
+ }
+ }
+ else
+ {
+ for (j = 0; j < 2; j++)
+ {
+ gSprites[sFactorySwapScreen->unkE[j][0]].pos1.x = posX;
+ gSprites[sFactorySwapScreen->unkE[j][1]].pos1.x = posX + 16;
+ }
+ taskId2 = gTasks[taskId].data[1];
+ gTasks[taskId2].data[4] = 1;
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_819D588(u8 taskId)
+{
+ u8 anotherTaskId;
+ u16 loPtr, hiPtr;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918));
+ Swap_PrintActionStrings();
+ PutWindowTilemap(5);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ sub_819EA64(3);
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ BeginNormalPaletteFade(0x4000, 0, 0, 0x10, gUnknown_0860F13C[37]);
+ gTasks[taskId].data[0]++;
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ FillWindowPixelBuffer(5, 0);
+ CopyWindowToVram(5, 2);
+ if (sFactorySwapScreen->inEnemyScreen == TRUE)
+ {
+ anotherTaskId = CreateTask(sub_819D324, 0);
+ gTasks[taskId].data[3] = 0;
+ gTasks[anotherTaskId].data[1] = taskId;
+ gTasks[anotherTaskId].data[0] = 0;
+ gTasks[anotherTaskId].data[2] = 0;
+ gTasks[anotherTaskId].data[3] = 6;
+ gTasks[taskId].data[2] = 5;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ anotherTaskId = CreateTask(sub_819D324, 0);
+ gTasks[taskId].data[3] = 1;
+ gTasks[taskId].data[4] = 0;
+ gTasks[anotherTaskId].data[1] = taskId;
+ gTasks[anotherTaskId].data[0] = 1;
+ gTasks[anotherTaskId].data[2] = 0;
+ gTasks[anotherTaskId].data[3] = 6;
+ gTasks[taskId].data[0] += 2;
+ }
+ }
+ break;
+ case 4:
+ if (gTasks[taskId].data[2] == 0)
+ {
+ anotherTaskId = CreateTask(sub_819D324, 0);
+ gTasks[taskId].data[4] = 0;
+ gTasks[anotherTaskId].data[1] = taskId;
+ gTasks[anotherTaskId].data[0] = 1;
+ gTasks[anotherTaskId].data[2] = 0;
+ gTasks[anotherTaskId].data[3] = 6;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2]--;
+ }
+ break;
+ case 5:
+ if (gTasks[taskId].data[3] == 1 && gTasks[taskId].data[4] == 1)
+ {
+ gTasks[taskId].data[0] = gTasks[taskId].data[5];
+ loPtr = gTasks[taskId].data[6];
+ hiPtr = gTasks[taskId].data[7];
+ gTasks[taskId].func = (void *)((loPtr << 0x10) | (hiPtr));
+ }
+ break;
+ }
+}
+
+static void sub_819D770(u8 taskId)
+{
+ u8 anotherTaskId;
+ u16 loPtr, hiPtr;
+ if (sFactorySwapScreen->unk30 == TRUE)
+ return;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (sFactorySwapScreen->inEnemyScreen == TRUE)
+ {
+ anotherTaskId = CreateTask(sub_819D324, 0);
+ gTasks[taskId].data[3] = 0;
+ gTasks[anotherTaskId].data[1] = taskId;
+ gTasks[anotherTaskId].data[0] = 0;
+ gTasks[anotherTaskId].data[2] = 1;
+ gTasks[anotherTaskId].data[3] = 6;
+ gTasks[taskId].data[2] = 10;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ anotherTaskId = CreateTask(sub_819D324, 0);
+ gTasks[taskId].data[3] = 1;
+ gTasks[taskId].data[4] = 0;
+ gTasks[anotherTaskId].data[1] = taskId;
+ gTasks[anotherTaskId].data[0] = 1;
+ gTasks[anotherTaskId].data[2] = 1;
+ gTasks[anotherTaskId].data[3] = 6;
+ gTasks[taskId].data[0] += 2;
+ }
+ break;
+ case 1:
+ if (gTasks[taskId].data[2] == 0)
+ {
+ anotherTaskId = CreateTask(sub_819D324, 0);
+ gTasks[taskId].data[4] = 0;
+ gTasks[anotherTaskId].data[1] = taskId;
+ gTasks[anotherTaskId].data[0] = 1;
+ gTasks[anotherTaskId].data[2] = 1;
+ gTasks[anotherTaskId].data[3] = 6;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2]--;
+ }
+ break;
+ case 2:
+ if (gTasks[taskId].data[3] == 1 && gTasks[taskId].data[4] == 1)
+ {
+ gPlttBufferFaded[226] = gUnknown_0860F13C[37];
+ Swap_PrintActionStrings();
+ PutWindowTilemap(5);
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 3:
+ BeginNormalPaletteFade(0x4000, 0, 0x10, 0, gUnknown_0860F13C[37]);
+ gTasks[taskId].data[0]++;
+ break;
+ case 4:
+ if (!gPaletteFade.active)
+ {
+ Swap_PrintOneActionString(0);
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 5:
+ Swap_PrintOneActionString(1);
+ PutWindowTilemap(3);
+ gTasks[taskId].data[0]++;
+ break;
+ case 6:
+ FillWindowPixelBuffer(5, 0);
+ CopyWindowToVram(5, 2);
+ gTasks[taskId].data[0]++;
+ break;
+ case 7:
+ if (!sFactorySwapScreen->inEnemyScreen)
+ Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap);
+ else
+ Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept);
+ if (sFactorySwapScreen->cursorPos < 3)
+ gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE;
+ Swap_PrintMonCategory();
+ gTasks[taskId].data[0]++;
+ break;
+ case 8:
+ Swap_PrintMonSpecies3();
+ sub_819EADC();
+ sFactorySwapScreen->unk22 = TRUE;
+ gTasks[taskId].data[0] = gTasks[taskId].data[5];
+ loPtr = gTasks[taskId].data[6];
+ hiPtr = gTasks[taskId].data[7];
+ gTasks[taskId].func = (void *)((loPtr << 0x10) | (hiPtr));
+ break;
+ }
+}
+
+static void sub_819D9EC(u8 taskId)
+{
+ u8 i;
+ if (sFactorySwapScreen->unk30 == TRUE)
+ return;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ Swap_PrintMonSpecies3();
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ sub_819EADC();
+ gSprites[sFactorySwapScreen->cursorSpriteId].invisible = TRUE;
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ CreateTask(sub_819D12C, 0);
+ gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName2;
+ gTasks[taskId].data[0]++;
+ break;
+ case 3:
+ if (!FuncIsActiveTask(sub_819D12C) && gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[4] == 1)
+ {
+ sub_819EAC0();
+ if (!sFactorySwapScreen->inEnemyScreen)
+ {
+ Swap_InitActions(ACTIONS_ENEMY_SCREEN);
+ }
+ else
+ {
+ Swap_InitActions(ACTIONS_PLAYER_SCREEN);
+ for (i = 0; i < 3; i++)
+ gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE;
+ }
+ gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x;
+ gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].func = Task_SwapFadeSpeciesName;
+ sFactorySwapScreen->unk27 = 0;
+ sFactorySwapScreen->unk28 = 6;
+ sFactorySwapScreen->unk26 = FALSE;
+ gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 1;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 4:
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 0x10;
+ gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].func = sub_819D770;
+ break;
+ }
+}
+
+static void Swap_InitStruct(void)
+{
+ if (sFactorySwapScreen == NULL)
+ {
+ sFactorySwapScreen = AllocZeroed(sizeof(*sFactorySwapScreen));
+ sFactorySwapScreen->cursorPos = 0;
+ sFactorySwapScreen->unk30 = FALSE;
+ sFactorySwapScreen->fromSummaryScreen = FALSE;
+ }
+}
+
+void DoBattleFactorySwapScreen(void)
+{
+ sFactorySwapScreen = NULL;
+ SetMainCallback2(CB2_InitSwapScreen);
+}
+
+static void CB2_InitSwapScreen(void)
+{
+ u8 taskId;
+
+ switch (gMain.state)
+ {
+ case 0:
+ SetHBlankCallback(NULL);
+ SetVBlankCallback(NULL);
+ CpuFill32(0, (void *)VRAM, VRAM_SIZE);
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, sSwap_BgTemplates, ARRAY_COUNT(sSwap_BgTemplates));
+ InitWindows(sSwap_WindowTemplates);
+ DeactivateAllTextPrinters();
+ gMain.state++;
+ break;
+ case 1:
+ sSwapMenuTilesetBuffer = Alloc(0x440);
+ sSwapMonCardBgTilesetBuffer = AllocZeroed(0x440);
+ sSwapMenuTilemapBuffer = Alloc(0x800);
+ sSwapMonCardBgTilemapBuffer = AllocZeroed(0x800);
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetGpuReg(REG_OFFSET_MOSAIC, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WIN1H, 0);
+ SetGpuReg(REG_OFFSET_WIN1V, 0);
+ SetGpuReg(REG_OFFSET_WININ, 0);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ gMain.state++;
+ break;
+ case 2:
+ ResetPaletteFade();
+ ResetSpriteData();
+ ResetTasks();
+ FreeAllSpritePalettes();
+ ResetAllPicSprites();
+ CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSwapMenuTilesetBuffer, 0x440);
+ CpuCopy16(gUnknown_0861033C, sSwapMonCardBgTilesetBuffer, 0x60);
+ LoadBgTiles(1, sSwapMenuTilesetBuffer, 0x440, 0);
+ LoadBgTiles(3, sSwapMonCardBgTilesetBuffer, 0x60, 0);
+ CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, 0x800);
+ LoadBgTilemap(1, sSwapMenuTilemapBuffer, 0x800, 0);
+ LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 0x40);
+ LoadPalette(gUnknown_08610918, 0xF0, sizeof(gUnknown_08610918));
+ LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918));
+ LoadPalette(gUnknown_0861039C, 0x20, 4);
+ gMain.state++;
+ break;
+ case 3:
+ SetBgTilemapBuffer(3, sSwapMonCardBgTilemapBuffer);
+ CopyToBgTilemapBufferRect(3, gUnknown_0861023C, 11, 4, 8, 8);
+ CopyBgTilemapBufferToVram(3);
+ gMain.state++;
+ break;
+ case 4:
+ LoadSpritePalettes(gUnknown_086106B0);
+ LoadSpriteSheets(gUnknown_08610650);
+ LoadCompressedObjectPic(gUnknown_086106A0);
+ SetVBlankCallback(Swap_VblankCb);
+ gMain.state++;
+ break;
+ case 5:
+ if (sFactorySwapScreen->fromSummaryScreen == TRUE)
+ sFactorySwapScreen->cursorPos = gUnknown_0203CF20;
+ gMain.state++;
+ break;
+ case 6:
+ Swap_InitStruct();
+ Swap_InitAllSprites();
+ if (sFactorySwapScreen->fromSummaryScreen == TRUE)
+ Swap_ShowSummaryMonSprite();
+ Swap_InitActions(ACTIONS_PLAYER_SCREEN);
+ gMain.state++;
+ break;
+ case 7:
+ Swap_PrintOnInfoWindow(gText_SelectPkmnToSwap);
+ PutWindowTilemap(2);
+ gMain.state++;
+ break;
+ case 8:
+ Swap_PrintMonCategory();
+ PutWindowTilemap(8);
+ gMain.state++;
+ break;
+ case 9:
+ if (!sFactorySwapScreen->fromSummaryScreen)
+ Swap_PrintMonSpecies();
+ PutWindowTilemap(1);
+ gMain.state++;
+ break;
+ case 10:
+ Swap_PrintPkmnSwap();
+ PutWindowTilemap(0);
+ gMain.state++;
+ break;
+ case 11:
+ gMain.state++;
+ break;
+ case 12:
+ if (sFactorySwapScreen->fromSummaryScreen)
+ Swap_PrintMonSpecies2();
+ gMain.state++;
+ break;
+ case 13:
+ Swap_PrintActionStrings2();
+ PutWindowTilemap(3);
+ gMain.state++;
+ break;
+ case 14:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(2);
+ if (sFactorySwapScreen->fromSummaryScreen == TRUE)
+ {
+ ShowBg(3);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
+ }
+ else
+ {
+ HideBg(3);
+ }
+ gMain.state++;
+ break;
+ case 15:
+ sFactorySwapScreen->fadeSpeciesNameTaskId = CreateTask(Task_SwapFadeSpeciesName, 0);
+ if (!sFactorySwapScreen->fromSummaryScreen)
+ {
+ gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 0;
+ taskId = CreateTask(Task_HandleSwapScreenChooseMons, 0);
+ gTasks[taskId].data[0] = 0;
+ }
+ else
+ {
+ sub_819EAF8();
+ gTasks[sFactorySwapScreen->fadeSpeciesNameTaskId].data[0] = 1;
+ sFactorySwapScreen->unk22 = FALSE;
+ taskId = CreateTask(Task_HandleSwapScreenMenu, 0);
+ gTasks[taskId].data[0] = 2;
+ }
+ SetMainCallback2(Swap_CB2);
+ break;
+ }
+}
+
+static void Swap_InitAllSprites(void)
+{
+ u8 i;
+ u8 x;
+ struct SpriteTemplate spriteTemplate;
+
+ spriteTemplate = gUnknown_08610834;
+ spriteTemplate.paletteTag = TAG_PAL_BALL_SELECTED;
+
+ for (i = 0; i < 3; i++)
+ {
+ sFactorySwapScreen->ballSpriteIds[i] = CreateSprite(&spriteTemplate, (48 * i) + 72, 64, 1);
+ gSprites[sFactorySwapScreen->ballSpriteIds[i]].data[0] = 0;
+ }
+ sFactorySwapScreen->cursorSpriteId = CreateSprite(&gUnknown_0861084C, gSprites[sFactorySwapScreen->ballSpriteIds[sFactorySwapScreen->cursorPos]].pos1.x, 88, 0);
+ sFactorySwapScreen->menuCursor1SpriteId = CreateSprite(&gUnknown_08610864, 176, 112, 0);
+ sFactorySwapScreen->menuCursor2SpriteId = CreateSprite(&gUnknown_0861087C, 176, 144, 0);
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE;
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].centerToCornerVecY = 0;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].centerToCornerVecY = 0;
+
+ if (sFactorySwapScreen->fromSummaryScreen == TRUE)
+ x = 240;
+ else
+ x = 192;
+
+ spriteTemplate = gUnknown_0861084C;
+ spriteTemplate.tileTag = TAG_TILE_68;
+ sFactorySwapScreen->unk8[0][0] = CreateSprite(&spriteTemplate, 240, 120, 10);
+
+ spriteTemplate = gUnknown_08610864;
+ spriteTemplate.tileTag = TAG_TILE_69;
+ sFactorySwapScreen->unk8[0][1] = CreateSprite(&spriteTemplate, 256, 120, 10);
+ sFactorySwapScreen->unk8[0][2] = CreateSprite(&spriteTemplate, 288, 120, 10);
+
+ spriteTemplate = gUnknown_0861084C;
+ spriteTemplate.tileTag = TAG_TILE_6A;
+ sFactorySwapScreen->unk8[1][0] = CreateSprite(&spriteTemplate, 240, 120, 1);
+
+ spriteTemplate = gUnknown_08610864;
+ spriteTemplate.tileTag = TAG_TILE_6B;
+ sFactorySwapScreen->unk8[1][1] = CreateSprite(&spriteTemplate, 256, 120, 1);
+ spriteTemplate.tileTag = TAG_TILE_6C;
+ sFactorySwapScreen->unk8[1][2] = CreateSprite(&spriteTemplate, 288, 120, 1);
+
+ spriteTemplate = gUnknown_0861084C;
+ spriteTemplate.tileTag = TAG_TILE_68;
+ sFactorySwapScreen->unkE[0][0] = CreateSprite(&spriteTemplate, x, 144, 10);
+
+ spriteTemplate = gUnknown_08610864;
+ spriteTemplate.tileTag = TAG_TILE_69;
+ sFactorySwapScreen->unkE[0][1] = CreateSprite(&spriteTemplate, x + 16, 144, 10);
+
+ spriteTemplate = gUnknown_0861084C;
+ spriteTemplate.tileTag = TAG_TILE_6A;
+ sFactorySwapScreen->unkE[1][0] = CreateSprite(&spriteTemplate, x, 144, 1);
+
+ spriteTemplate = gUnknown_08610864;
+ spriteTemplate.tileTag = TAG_TILE_6C;
+ sFactorySwapScreen->unkE[1][1] = CreateSprite(&spriteTemplate, x + 16, 144, 1);
+
+ for (i = 0; i < 2; i++)
+ {
+ gSprites[sFactorySwapScreen->unk8[i][0]].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unk8[i][0]].centerToCornerVecY = 0;
+ gSprites[sFactorySwapScreen->unk8[i][1]].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unk8[i][1]].centerToCornerVecY = 0;
+ gSprites[sFactorySwapScreen->unk8[i][2]].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unk8[i][2]].centerToCornerVecY = 0;
+ gSprites[sFactorySwapScreen->unkE[i][0]].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unkE[i][0]].centerToCornerVecY = 0;
+ gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unkE[i][1]].centerToCornerVecY = 0;
+
+ gSprites[sFactorySwapScreen->unk8[i][0]].invisible = TRUE;
+ gSprites[sFactorySwapScreen->unk8[i][1]].invisible = TRUE;
+ gSprites[sFactorySwapScreen->unk8[i][2]].invisible = TRUE;
+ gSprites[sFactorySwapScreen->unkE[i][0]].invisible = TRUE;
+ gSprites[sFactorySwapScreen->unkE[i][1]].invisible = TRUE;
+ }
+
+ gSprites[sFactorySwapScreen->unkE[0][0]].invisible = FALSE;
+ gSprites[sFactorySwapScreen->unkE[0][1]].invisible = FALSE;
+ gSprites[sFactorySwapScreen->unk8[0][0]].invisible = FALSE;
+ gSprites[sFactorySwapScreen->unk8[0][1]].invisible = FALSE;
+ gSprites[sFactorySwapScreen->unk8[0][2]].invisible = FALSE;
+}
+
+static void Swap_DestroyAllSprites(void)
+{
+ u8 i, j;
+
+ for (i = 0; i < 3; i++)
+ DestroySprite(&gSprites[sFactorySwapScreen->ballSpriteIds[i]]);
+ DestroySprite(&gSprites[sFactorySwapScreen->cursorSpriteId]);
+ DestroySprite(&gSprites[sFactorySwapScreen->menuCursor1SpriteId]);
+ DestroySprite(&gSprites[sFactorySwapScreen->menuCursor2SpriteId]);
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 3; j++)
+ DestroySprite(&gSprites[sFactorySwapScreen->unk8[i][j]]);
+ }
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 2; j++)
+ DestroySprite(&gSprites[sFactorySwapScreen->unkE[i][j]]);
+ }
+}
+
+static void Swap_HandleActionCursorChange(u8 cursorId)
+{
+ if (cursorId < 3)
+ {
+ gSprites[sFactorySwapScreen->cursorSpriteId].invisible = FALSE;
+ sub_819E8EC();
+ gSprites[sFactorySwapScreen->cursorSpriteId].pos1.x = gSprites[sFactorySwapScreen->ballSpriteIds[cursorId]].pos1.x;
+ }
+ else
+ {
+ gSprites[sFactorySwapScreen->cursorSpriteId].invisible = TRUE;
+ sub_819E838(sFactorySwapScreen->actionsData[cursorId].id);
+ }
+}
+
+static void Swap_UpdateBallCursorPosition(s8 direction)
+{
+ u8 cursorPos;
+ PlaySE(SE_SELECT);
+ if (direction > 0) // Move cursor right.
+ {
+ if (sFactorySwapScreen->cursorPos + 1 != sFactorySwapScreen->actionsCount)
+ sFactorySwapScreen->cursorPos++;
+ else
+ sFactorySwapScreen->cursorPos = 0;
+ }
+ else // Move cursor left.
+ {
+ if (sFactorySwapScreen->cursorPos != 0)
+ sFactorySwapScreen->cursorPos--;
+ else
+ sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1;
+ }
+
+ cursorPos = sFactorySwapScreen->cursorPos;
+ Swap_HandleActionCursorChange(cursorPos);
+}
+
+static void Swap_UpdateActionCursorPosition(s8 direction)
+{
+ u8 cursorPos;
+ PlaySE(SE_SELECT);
+ if (direction > 0) // Move cursor down.
+ {
+ if (sFactorySwapScreen->cursorPos < 3)
+ sFactorySwapScreen->cursorPos = 3;
+ else if (sFactorySwapScreen->cursorPos + 1 != sFactorySwapScreen->actionsCount)
+ sFactorySwapScreen->cursorPos++;
+ else
+ sFactorySwapScreen->cursorPos = 0;
+ }
+ else // Move cursor up.
+ {
+ if (sFactorySwapScreen->cursorPos < 3)
+ sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1;
+ else if (sFactorySwapScreen->cursorPos != 0)
+ sFactorySwapScreen->cursorPos--;
+ else
+ sFactorySwapScreen->cursorPos = sFactorySwapScreen->actionsCount - 1;
+ }
+
+ cursorPos = sFactorySwapScreen->cursorPos;
+ Swap_HandleActionCursorChange(cursorPos);
+}
+
+static void Swap_UpdateYesNoCursorPosition(s8 direction)
+{
+ if (direction > 0) // Move cursor down.
+ {
+ if (sFactorySwapScreen->yesNoCursorPos != 1)
+ sFactorySwapScreen->yesNoCursorPos++;
+ else
+ sFactorySwapScreen->yesNoCursorPos = 0;
+ }
+ else // Move cursor up.
+ {
+ if (sFactorySwapScreen->yesNoCursorPos != 0)
+ sFactorySwapScreen->yesNoCursorPos--;
+ else
+ sFactorySwapScreen->yesNoCursorPos = 1;
+ }
+
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->yesNoCursorPos * 16) + 112;
+}
+
+static void Swap_UpdateMenuCursorPosition(s8 direction)
+{
+ PlaySE(SE_SELECT);
+ if (direction > 0) // Move cursor down.
+ {
+ if (sFactorySwapScreen->menuCursorPos != MENU_OPTIONS_COUNT - 1)
+ sFactorySwapScreen->menuCursorPos++;
+ else
+ sFactorySwapScreen->menuCursorPos = 0;
+ }
+ else // Move cursor up.
+ {
+ if (sFactorySwapScreen->menuCursorPos != 0)
+ sFactorySwapScreen->menuCursorPos--;
+ else
+ sFactorySwapScreen->menuCursorPos = MENU_OPTIONS_COUNT - 1;
+ }
+
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
+}
+
+static void sub_819E838(u8 arg0)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (arg0 == 2)
+ {
+ gSprites[sFactorySwapScreen->unk8[1][i]].invisible = FALSE;
+ if (i < 2)
+ gSprites[sFactorySwapScreen->unkE[1][i]].invisible = TRUE;
+ }
+ else if (arg0 == 3)
+ {
+ if (i < 2)
+ gSprites[sFactorySwapScreen->unkE[1][i]].invisible = FALSE;
+ gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE;
+ }
+ }
+}
+
+static void sub_819E8EC(void)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ gSprites[sFactorySwapScreen->unk8[1][i]].invisible = TRUE;
+ if (i < 2)
+ gSprites[sFactorySwapScreen->unkE[1][i]].invisible = TRUE;
+ }
+}
+
+static void Swap_ShowMenuOptions(void)
+{
+ if (sFactorySwapScreen->fromSummaryScreen == TRUE)
+ sFactorySwapScreen->fromSummaryScreen = FALSE;
+ else
+ sFactorySwapScreen->menuCursorPos = 0;
+
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176;
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = (sFactorySwapScreen->menuCursorPos * 16) + 112;
+
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE;
+
+ Swap_PrintMenuOptions();
+}
+
+static void Swap_ShowYesNoOptions(void)
+{
+ sFactorySwapScreen->yesNoCursorPos = 0;
+
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.x = 176;
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].pos1.y = 112;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.x = 208;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].pos1.y = 112;
+
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = FALSE;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = FALSE;
+
+ Swap_PrintYesNoOptions();
+}
+
+static void sub_819EA64(u8 windowId)
+{
+ gSprites[sFactorySwapScreen->menuCursor1SpriteId].invisible = TRUE;
+ gSprites[sFactorySwapScreen->menuCursor2SpriteId].invisible = TRUE;
+ FillWindowPixelBuffer(windowId, 0);
+ CopyWindowToVram(windowId, 2);
+ ClearWindowTilemap(windowId);
+}
+
+static void sub_819EAC0(void)
+{
+ PutWindowTilemap(1);
+ FillWindowPixelBuffer(1, 0);
+ CopyWindowToVram(1, 2);
+}
+
+static void sub_819EADC(void)
+{
+ PutWindowTilemap(7);
+ FillWindowPixelBuffer(7, 0);
+ CopyWindowToVram(7, 2);
+}
+
+static void sub_819EAF8(void)
+{
+ sub_819EAC0();
+ PutWindowTilemap(5);
+ FillWindowPixelBuffer(5, 0);
+ CopyWindowToVram(5, 2);
+}
+
+static void Swap_PrintPkmnSwap(void)
+{
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized(0, 1, gText_PkmnSwap, 2, 1, 0, NULL);
+ CopyWindowToVram(0, 3);
+}
+
+static void Swap_PrintMonSpecies(void)
+{
+ u16 species;
+ u8 x;
+
+ FillWindowPixelBuffer(1, 0);
+ if (sFactorySwapScreen->cursorPos > 2)
+ {
+ CopyWindowToVram(1, 2);
+ }
+ else
+ {
+ u8 monId = sFactorySwapScreen->cursorPos;
+ if (!sFactorySwapScreen->inEnemyScreen)
+ species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
+ else
+ species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
+ StringCopy(gStringVar4, gSpeciesNames[species]);
+ x = GetStringRightAlignXOffset(1, gStringVar4, 86);
+ AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
+ CopyWindowToVram(1, 3);
+ }
+}
+
+static void Swap_PrintOnInfoWindow(const u8 *str)
+{
+ FillWindowPixelBuffer(2, 0);
+ AddTextPrinterParameterized(2, 1, str, 2, 5, 0, NULL);
+ CopyWindowToVram(2, 2);
+}
+
+static void Swap_PrintMenuOptions(void)
+{
+ PutWindowTilemap(3);
+ FillWindowPixelBuffer(3, 0);
+ AddTextPrinterParameterized3(3, 1, 15, 1, gUnknown_08610922, 0, gText_Summary2);
+ AddTextPrinterParameterized3(3, 1, 15, 17, gUnknown_08610922, 0, gText_Swap);
+ AddTextPrinterParameterized3(3, 1, 15, 33, gUnknown_08610922, 0, gText_Rechoose);
+ CopyWindowToVram(3, 3);
+}
+
+static void Swap_PrintYesNoOptions(void)
+{
+ PutWindowTilemap(4);
+ FillWindowPixelBuffer(4, 0);
+ AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610922, 0, gText_Yes3);
+ AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610922, 0, gText_No3);
+ CopyWindowToVram(4, 3);
+}
+
+static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId)
+{
+ s32 x = GetStringRightAlignXOffset(0, str, 0x46);
+ AddTextPrinterParameterized3(windowId, 0, x, y, gUnknown_08610922, 0, str);
+}
+
+static void Swap_PrintActionStrings(void)
+{
+ FillWindowPixelBuffer(5, 0);
+ switch (sFactorySwapScreen->inEnemyScreen)
+ {
+ case TRUE:
+ Swap_PrintActionString(gText_PkmnForSwap, 0, 5);
+ case FALSE:
+ Swap_PrintActionString(gText_Cancel3, 24, 5);
+ break;
+ }
+ CopyWindowToVram(5, 3);
+}
+
+static void Swap_PrintActionStrings2(void)
+{
+ FillWindowPixelBuffer(3, 0);
+ switch (sFactorySwapScreen->inEnemyScreen)
+ {
+ case TRUE:
+ Swap_PrintActionString(gText_PkmnForSwap, 8, 3);
+ case FALSE:
+ Swap_PrintActionString(gText_Cancel3, 32, 3);
+ break;
+ }
+ CopyWindowToVram(3, 3);
+}
+
+static void Swap_PrintOneActionString(u8 which)
+{
+ switch (which)
+ {
+ case 0:
+ if (sFactorySwapScreen->inEnemyScreen == TRUE)
+ Swap_PrintActionString(gText_PkmnForSwap, 8, 3);
+ break;
+ case 1:
+ Swap_PrintActionString(gText_Cancel3, 32, 3);
+ break;
+ }
+ CopyWindowToVram(3, 3);
+}
+
+static void Swap_PrintMonSpecies2(void)
+{
+ u16 species;
+ u8 x;
+ u16 pal[5];
+
+ CpuCopy16(gUnknown_08610918, pal, 8);
+ if (!sFactorySwapScreen->fromSummaryScreen)
+ pal[4] = gPlttBufferFaded[228];
+ else
+ pal[4] = sFactorySwapScreen->unk24;
+ LoadPalette(pal, 0xF0, 0xA);
+
+ PutWindowTilemap(7);
+ FillWindowPixelBuffer(7, 0);
+ if (sFactorySwapScreen->cursorPos > 2)
+ {
+ CopyWindowToVram(7, 3);
+ }
+ else
+ {
+ u8 monId = sFactorySwapScreen->cursorPos;
+ if (!sFactorySwapScreen->inEnemyScreen)
+ species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
+ else
+ species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
+ StringCopy(gStringVar4, gSpeciesNames[species]);
+ x = GetStringRightAlignXOffset(1, gStringVar4, 86);
+ AddTextPrinterParameterized3(7, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
+ CopyWindowToVram(7, 3);
+ }
+}
+
+static void Swap_PrintMonSpecies3(void)
+{
+ u16 species;
+ u8 x;
+
+ LoadPalette(gUnknown_08610918, 0xE0, sizeof(gUnknown_08610918));
+ CpuCopy16(gPlttBufferUnfaded + 240, gPlttBufferFaded + 224, 10);
+
+ if (sFactorySwapScreen->cursorPos > 2)
+ {
+ CopyWindowToVram(1, 2);
+ }
+ else
+ {
+ u8 monId = sFactorySwapScreen->cursorPos;
+ if (!sFactorySwapScreen->inEnemyScreen)
+ species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
+ else
+ species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
+ StringCopy(gStringVar4, gSpeciesNames[species]);
+ x = GetStringRightAlignXOffset(1, gStringVar4, 86);
+ AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610925, 0, gStringVar4);
+ CopyWindowToVram(1, 3);
+ }
+}
+
+static void Swap_PrintMonCategory(void)
+{
+ u16 species;
+ u8 text[30];
+ u8 x;
+ u8 monId = sFactorySwapScreen->cursorPos;
+
+ FillWindowPixelBuffer(8, 0);
+ if (monId > 2)
+ {
+ CopyWindowToVram(8, 2);
+ }
+ else
+ {
+ PutWindowTilemap(8);
+ if (!sFactorySwapScreen->inEnemyScreen)
+ species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL);
+ else
+ species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
+ CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
+ x = GetStringRightAlignXOffset(1, text, 0x76);
+ AddTextPrinterParameterized(8, 1, text, x, 1, 0, NULL);
+ CopyWindowToVram(8, 2);
+ }
+}
+
+static void Swap_InitActions(u8 id)
+{
+ if (sFactorySwapScreen->fromSummaryScreen != TRUE)
+ {
+ switch (id)
+ {
+ case ACTIONS_PLAYER_SCREEN:
+ sFactorySwapScreen->inEnemyScreen = FALSE;
+ sFactorySwapScreen->cursorPos = 0;
+ sFactorySwapScreen->actionsCount = ARRAY_COUNT(sSwap_PlayerScreenActions);
+ sFactorySwapScreen->actionsData = sSwap_PlayerScreenActions;
+ break;
+ case ACTIONS_ENEMY_SCREEN:
+ sFactorySwapScreen->inEnemyScreen = TRUE;
+ sFactorySwapScreen->cursorPos = 0;
+ sFactorySwapScreen->actionsCount = ARRAY_COUNT(sSwap_EnemyScreenActions);
+ sFactorySwapScreen->actionsData = sSwap_EnemyScreenActions;
+ break;
+ }
+ }
+}
+
+static void Swap_RunMenuOptionFunc(u8 taskId)
+{
+ sSwap_CurrentTableFunc = sSwap_MenuOptionFuncs[sFactorySwapScreen->menuCursorPos];
+ sSwap_CurrentTableFunc(taskId);
+}
+
+static void sub_819F0CC(u8 taskId)
+{
+ sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
+ sFactorySwapScreen->playerMonId = sFactorySwapScreen->cursorPos;
+ sub_819EA64(3);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_819D9EC;
+}
+
+static void sub_819F114(u8 taskId)
+{
+ gTasks[taskId].data[0] = 6;
+ gTasks[taskId].func = Task_FromSwapScreenToSummaryScreen;
+}
+
+static void sub_819F134(u8 taskId)
+{
+ sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
+ sub_819EA64(3);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenChooseMons) >> 0x10;
+ gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenChooseMons);
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].func = sub_819D770;
+}
+
+static void Swap_RunActionFunc(u8 taskId)
+{
+ sSwap_CurrentTableFunc = sFactorySwapScreen->actionsData[sFactorySwapScreen->cursorPos].func;
+ sSwap_CurrentTableFunc(taskId);
+}
+
+static void Swap_ActionCancel(u8 taskId)
+{
+ gTasks[taskId].data[6] = (u32)(sub_819CC24) >> 0x10;
+ gTasks[taskId].data[7] = (u32)(sub_819CC24);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[5] = 0;
+ gTasks[taskId].func = sub_819D588;
+}
+
+static void Swap_ActionPkmnForSwap(u8 taskId)
+{
+ gTasks[taskId].data[6] = (u32)(sub_819D9EC) >> 0x10;
+ gTasks[taskId].data[7] = (u32)(sub_819D9EC);
+ gTasks[taskId].data[5] = 0;
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_819D588;
+}
+
+static void Swap_ActionMon(u8 taskId)
+{
+ if (!sFactorySwapScreen->inEnemyScreen)
+ {
+ gTasks[taskId].data[6] = (u32)(Task_HandleSwapScreenMenu) >> 0x10;
+ gTasks[taskId].data[7] = (u32)(Task_HandleSwapScreenMenu);
+ gTasks[taskId].data[5] = 2;
+ }
+ else if (Swap_AlreadyHasSameSpecies(sFactorySwapScreen->cursorPos) == TRUE)
+ {
+ sub_819F2B4(&sFactorySwapScreen->unk2C.field1, &sFactorySwapScreen->unk30, TRUE);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[5] = 1;
+ gTasks[taskId].func = Task_SwapCantHaveSameMons;
+ return;
+ }
+ else
+ {
+ gTasks[taskId].data[6] = (u32)(sub_819CCD4) >> 0x10;
+ gTasks[taskId].data[7] = (u32)(sub_819CCD4);
+ gTasks[taskId].data[5] = 0;
+ }
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_819D588;
+}
+
+static void sub_819F2B4(u8 *arg0, bool8 *arg1, bool8 swapScreen)
+{
+ *arg0 = CreateSprite(&gUnknown_08610894, 120, 64, 1);
+ gSprites[*arg0].callback = sub_819F600;
+ gSprites[*arg0].data[7] = swapScreen;
+ *arg1 = TRUE;
+}
+
+static void Swap_ShowSummaryMonSprite(void)
+{
+ struct Pokemon *mon;
+ u16 species;
+ u32 personality, otId;
+
+ sFactorySwapScreen->unk2C.field1 = CreateSprite(&gUnknown_08610894, 120, 64, 1);
+ StartSpriteAffineAnim(&gSprites[sFactorySwapScreen->unk2C.field1], 2);
+
+ mon = &gPlayerParty[sFactorySwapScreen->cursorPos];
+ species = GetMonData(mon, MON_DATA_SPECIES, NULL);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
+ otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
+
+ sFactorySwapScreen->unk2C.field0 = CreateMonPicSprite_HandleDeoxys(species, personality, otId, TRUE, 88, 32, 15, 0xFFFF); // BUG: otId and personality should be switched.
+ gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0;
+
+ gSprites[sFactorySwapScreen->unk2C.field1].invisible = TRUE;
+}
+
+static void sub_819F3F8(struct UnkFactoryStruct arg0, bool8 *arg1, bool8 swapScreen)
+{
+ u8 taskId;
+
+ FreeAndDestroyMonPicSprite(arg0.field0);
+ taskId = CreateTask(sub_819F7B4, 1);
+ gTasks[taskId].data[7] = swapScreen;
+ gTasks[taskId].data[6] = arg0.field1;
+ gTasks[taskId].func(taskId);
+ *arg1 = TRUE;
+}
+
+static void sub_819F444(struct UnkFactoryStruct arg0, bool8 *arg1)
+{
+ FreeAndDestroyMonPicSprite(arg0.field0);
+ FreeOamMatrix(gSprites[arg0.field1].oam.matrixNum);
+ DestroySprite(&gSprites[arg0.field1]);
+ *arg1 = FALSE;
+}
+
+static void Task_SwapCantHaveSameMons(u8 taskId)
+{
+ if (sFactorySwapScreen->unk30 == TRUE)
+ return;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ Swap_PrintOnInfoWindow(gText_SamePkmnInPartyAlready);
+ sFactorySwapScreen->monSwapped = FALSE;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_819F3F8(sFactorySwapScreen->unk2C, &sFactorySwapScreen->unk30, TRUE);
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 2:
+ if (sFactorySwapScreen->unk30 != TRUE)
+ {
+ FillWindowPixelBuffer(5, 0);
+ CopyWindowToVram(5, 2);
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 3:
+ Swap_PrintOnInfoWindow(gText_SelectPkmnToAccept);
+ gTasks[taskId].data[0]++;
+ break;
+ case 4:
+ Swap_PrintMonSpecies3();
+ sub_819EADC();
+ sFactorySwapScreen->unk22 = TRUE;
+ gTasks[taskId].data[0] = gTasks[taskId].data[5];
+ gTasks[taskId].func = Task_HandleSwapScreenChooseMons;
+ break;
+ }
+}
+
+static bool8 Swap_AlreadyHasSameSpecies(u8 monId)
+{
+ u8 i;
+ u16 species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL);
+
+ for (i = 0; i < 3; i++)
+ {
+ if (i != sFactorySwapScreen->playerMonId && (u16)(GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL)) == species)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_819F600(struct Sprite *sprite)
+{
+ u8 taskId;
+
+ if (sprite->affineAnimEnded)
+ {
+ sprite->invisible = TRUE;
+ taskId = CreateTask(sub_819F69C, 1);
+ gTasks[taskId].data[7] = sprite->data[7];
+ gTasks[taskId].func(taskId);
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void sub_819F654(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ {
+ FreeOamMatrix(sprite->oam.matrixNum);
+ if (sprite->data[7] == TRUE)
+ sFactorySwapScreen->unk30 = FALSE;
+ else
+ sub_819BE20(FALSE);
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_819F69C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[3] = 88;
+ task->data[24] = 152; // BUG: writing outside the array's bounds.
+ task->data[5] = 64;
+ task->data[8] = 65;
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
+ break;
+ case 1:
+ ShowBg(3);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(11, 4));
+ break;
+ case 2:
+ task->data[5] -= 4;
+ task->data[8] += 4;
+ if (task->data[5] <= 32 || task->data[8] >= 96)
+ {
+ task->data[5] = 32;
+ task->data[8] = 96;
+ }
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ if (task->data[5] != 32)
+ return;
+ break;
+ default:
+ DestroyTask(taskId);
+ // UB: Should not use the task after it has been deleted.
+ if (gTasks[taskId].data[7] == TRUE)
+ Swap_ShowMonSprite();
+ else
+ Summary_ShowMonSprite();
+ return;
+ }
+ task->data[0]++;
+}
+
+static void sub_819F7B4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ default:
+ HideBg(3);
+ gSprites[task->data[6]].data[7] = task->data[7];
+ gSprites[task->data[6]].invisible = FALSE;
+ gSprites[task->data[6]].callback = sub_819F654;
+ StartSpriteAffineAnim(&gSprites[task->data[6]], 1);
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ DestroyTask(taskId);
+ break;
+ case 0:
+ task->data[3] = 88;
+ task->data[24] = 152; // BUG: writing outside the array's bounds.
+ task->data[5] = 32;
+ task->data[8] = 96;
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[24]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_CLR | WININ_WIN0_OBJ);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_CLR | WINOUT_WIN01_OBJ);
+ task->data[0]++;
+ break;
+ case 1:
+ task->data[5] += 4;
+ task->data[8] -= 4;
+ if (task->data[5] >= 64 || task->data[8] <= 65)
+ {
+ task->data[5] = 64;
+ task->data[8] = 65;
+ }
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[8]));
+ if (task->data[5] == 64)
+ task->data[0]++;
+ break;
+ }
+}
+
+static void Swap_ShowMonSprite(void)
+{
+ struct Pokemon *mon;
+ u16 species;
+ u32 personality, otId;
+
+ if (!sFactorySwapScreen->inEnemyScreen)
+ mon = &gPlayerParty[sFactorySwapScreen->cursorPos];
+ else
+ mon = &gEnemyParty[sFactorySwapScreen->cursorPos];
+
+ species = GetMonData(mon, MON_DATA_SPECIES, NULL);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
+ otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
+
+ sFactorySwapScreen->unk2C.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
+ gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecX = 0;
+ gSprites[sFactorySwapScreen->unk2C.field0].centerToCornerVecY = 0;
+
+ sFactorySwapScreen->unk30 = FALSE;
+}
diff --git a/src/battle_frontier_1.c b/src/battle_frontier_1.c
deleted file mode 100644
index ee8a42954..000000000
--- a/src/battle_frontier_1.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "global.h"
-#include "event_data.h"
-#include "battle_setup.h"
-#include "overworld.h"
-#include "random.h"
-#include "battle_tower.h"
-
-extern void sub_8162614(u16, u8);
-
-extern void (* const gUnknown_0860DE50[])(void);
-extern const u32 gUnknown_0860DE98[][2];
-extern const u32 gUnknown_0860DEA8[][2];
-
-// code
-void sub_8195960(void)
-{
- gUnknown_0860DE50[gSpecialVar_0x8004]();
-}
-
-void sub_8195980(void)
-{
- u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
-
- gSaveBlock2Ptr->frontier.field_CA8 = 0;
- gSaveBlock2Ptr->frontier.field_CB2 = 0;
- gSaveBlock2Ptr->frontier.field_CA9_a = 0;
- gSaveBlock2Ptr->frontier.field_CA9_b = 0;
- if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
- gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = 0;
-
- saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
- gTrainerBattleOpponent_A = 0;
-}
-
-void sub_8195A38(void)
-{
- u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
-
- switch (gSpecialVar_0x8005)
- {
- case 0:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC4[1];
- break;
- case 1:
- gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode];
- break;
- case 2:
- gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
- break;
- }
-}
-
-void sub_8195AE4(void)
-{
- u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
-
- switch (gSpecialVar_0x8005)
- {
- case 0:
- gSaveBlock2Ptr->frontier.field_DC4[1] = gSpecialVar_0x8006;
- break;
- case 1:
- gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] = gSpecialVar_0x8006;
- break;
- case 2:
- if (gSpecialVar_0x8006)
- gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
- else
- gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
- break;
- }
-}
-
-void sub_8195BB0(void)
-{
- u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
- u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
-
- if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 50)
- gSpecialVar_Result = Random() % 3;
- else if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 99)
- gSpecialVar_Result = 3;
- else
- gSpecialVar_Result = 4;
-}
-
-void sub_8195C20(void)
-{
- gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
- sub_8162614(gTrainerBattleOpponent_A, 0);
-}
-
-void sub_8195C50(void)
-{
- if (gTrainerBattleOpponent_A < 300)
- ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
-}
-
-/*
-void sub_8195C7C(void)
-{
- u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
-
- if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode] < 9999)
- {
- u16 wat = 0;
- gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode]++;
- if (lvlMode < gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode])
- wat = 1;
- if (gSaveBlock2Ptr->frontier.field_DC8[battleMode][wat] != 0)
- gSaveBlock2Ptr->frontier.field_DD0[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.field_DC8[battleMode][lvlMode];
- }
-}
-*/
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 05958395d..6f9d2db80 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -7,6 +7,7 @@
#include "battle_interface.h"
#include "main.h"
#include "malloc.h"
+#include "graphics.h"
#include "random.h"
#include "util.h"
#include "pokemon.h"
@@ -41,20 +42,6 @@ extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
extern const u8 gEnemyMonElevation[];
-// graphics
-extern const u32 gUnknown_08C093F0[];
-extern const u32 gSubstituteDollTilemap[];
-extern const u32 gSubstituteDollGfx[];
-extern const u16 gSubstituteDollPal[];
-extern const u8 gHealthboxSinglesPlayerGfx[];
-extern const u8 gHealthboxSinglesOpponentGfx[];
-extern const u8 gHealthboxDoublesPlayerGfx[];
-extern const u8 gHealthboxDoublesOpponentGfx[];
-extern const u8 gHealthboxSafariGfx[];
-extern const u8 gBlankGfxCompressed[];
-extern const u16 gBattleInterface_BallStatusBarPal[];
-extern const u16 gBattleInterface_BallDisplayPal[];
-
extern u8 sub_80688F8(u8, u8 battlerId);
extern u8 pokemon_order_func(u8); // party menu
extern void sub_81B8C68(void);
@@ -874,7 +861,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
u32 personalityValue;
u32 otId;
u8 position;
- const u8 *lzPaletteData;
+ const u32 *lzPaletteData;
if (notTransform)
{
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 691e760a8..c7eb11293 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -3,6 +3,7 @@
#include "pokemon.h"
#include "battle_controllers.h"
#include "battle_interface.h"
+#include "graphics.h"
#include "sprite.h"
#include "window.h"
#include "string_util.h"
@@ -20,6 +21,7 @@
#include "international_string_util.h"
#include "safari_zone.h"
#include "battle_anim.h"
+#include "constants/battle_anim.h"
#include "constants/rgb.h"
#include "data2.h"
@@ -163,25 +165,18 @@ extern const u8 gText_DynColor2[];
extern const u8 gText_DynColor2Male[];
extern const u8 gText_DynColor1Female[];
-// graphics
-extern const u8 gBattleInterface_BallStatusBarGfx[];
-extern const u8 gBattleInterface_BallDisplayGfx[];
-extern const u16 gBattleInterface_BallStatusBarPal[];
-extern const u16 gBattleInterface_BallDisplayPal[];
-extern const u8 gHealthboxElementsGfxTable[][32];
-
// this file's functions
static const u8 *GetHealthboxElementGfxPtr(u8 elementId);
-static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 arg3, u32 *windowId);
+static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId);
static void RemoveWindowOnHealthbox(u32 windowId);
static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId);
-static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 arg2);
-static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2);
-static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2);
+static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 windowWidth);
+static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth);
+static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth);
static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2);
static void sub_8073E08(u8 taskId);
@@ -970,7 +965,7 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
healthBarSpritePtr->subspriteMode = 2;
healthBarSpritePtr->oam.priority = 1;
- CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * 32), 64);
+ CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * TILE_SIZE_4BPP), 64);
gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId;
gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId;
@@ -1159,7 +1154,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
xPos += var1;
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, xPos, 3, 2, &windowId);
- spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
+ spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER)
{
@@ -1187,7 +1182,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER && !IsDoubleBattle())
{
- spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
+ spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
if (maxOrCurrent != HP_CURRENT) // singles, max
{
ConvertIntToDecimalStringN(text, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
@@ -1248,7 +1243,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
for (i = 0; i < 3; i++)
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[i * 64 + 32],
- (void*)((OBJ_VRAM0) + 32 * (gSprites[healthboxSpriteId].oam.tileNum + var + i)),
+ (void*)((OBJ_VRAM0) + TILE_SIZE_4BPP * (gSprites[healthboxSpriteId].oam.tileNum + var + i)),
0x20);
}
}
@@ -1266,7 +1261,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
{
if (gBattleSpritesDataPtr->battlerData[gSprites[healthboxSpriteId].data[6]].hpNumbersNoBars) // don't print text if only bars are visible
{
- spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * 32;
+ spriteTileNum = gSprites[gSprites[healthboxSpriteId].data[5]].oam.tileNum * TILE_SIZE_4BPP;
objVram = (void*)(OBJ_VRAM0) + spriteTileNum;
if (maxOrCurrent != HP_CURRENT) // doubles, max hp
@@ -1276,7 +1271,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
HpTextIntoHealthboxObject((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2);
RemoveWindowOnHealthbox(windowId);
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116),
- (void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * 32),
+ (void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP),
0x20);
}
else
@@ -1333,16 +1328,16 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
if (maxOrCurrent == HP_CURRENT)
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[224],
- (void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * 32)),
+ (void*)((OBJ_VRAM0) + ((gSprites[r7].oam.tileNum + 4) * TILE_SIZE_4BPP)),
0x20);
- CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * 32)), 0x20);
+ CpuFill32(0, (void*)((OBJ_VRAM0) + (gSprites[r7].oam.tileNum * TILE_SIZE_4BPP)), 0x20);
}
else
{
if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side.
{
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116),
- (void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * 32),
+ (void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * TILE_SIZE_4BPP),
0x20);
}
}
@@ -1354,7 +1349,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8
static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
{
u8 text[20];
- s32 j, var2;
+ s32 j, spriteTileNum;
u8 *barFontGfx;
u8 i, var, nature, healthBarSpriteId;
@@ -1381,12 +1376,12 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
for (j = 1; j < var + 1; j++)
{
- var2 = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32;
- CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20);
+ spriteTileNum = (gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * TILE_SIZE_4BPP;
+ CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (spriteTileNum), 0x20);
barFontGfx += 0x20;
- var2 = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * 32;
- CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (var2), 0x20);
+ spriteTileNum = (8 + gSprites[healthboxSpriteId].oam.tileNum + (j - (j / 8 * 8)) + (j / 8 * 64)) * TILE_SIZE_4BPP;
+ CpuCopy32(barFontGfx, (void*)(OBJ_VRAM0) + (spriteTileNum), 0x20);
barFontGfx += 0x20;
}
@@ -1403,13 +1398,13 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon)
if (j <= 1)
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20],
- (void*)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * 32,
+ (void*)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * TILE_SIZE_4BPP,
32);
}
else
{
CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20],
- (void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * 32,
+ (void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * TILE_SIZE_4BPP,
32);
}
}
@@ -1441,7 +1436,7 @@ void SwapHpBarsWithHpText(void)
{
healthBarSpriteId = gSprites[gHealthboxSpriteIds[i]].hMain_HealthBarSpriteId;
- CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 0x100);
UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT);
UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX);
}
@@ -1449,7 +1444,7 @@ void SwapHpBarsWithHpText(void)
{
UpdateStatusIconInHealthbox(gHealthboxSpriteIds[i]);
UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gPlayerParty[gBattlerPartyIndexes[i]], HEALTHBOX_HEALTH_BAR);
- CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * 32), 32);
+ CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_117), (void*)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxSpriteIds[i]].oam.tileNum * TILE_SIZE_4BPP), 32);
}
}
else
@@ -1615,7 +1610,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
{
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
}
- else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_2A0 & gBitTable[j]) // hmm...?
+ else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostPlayerMons & gBitTable[j])
{
gSprites[ballIconSpritesIds[i]].oam.tileNum += 3;
}
@@ -1664,7 +1659,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
{
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
}
- else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_2A1 & gBitTable[j]) // hmm...?
+ else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaLostOpponentMons & gBitTable[j]) // hmm...?
{
gSprites[ballIconSpritesIds[5 - var]].oam.tileNum += 3;
}
@@ -1889,9 +1884,9 @@ static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite)
if (sprite->pos2.x == 0)
{
- pan = PAN_SIDE_OPPONENT;
+ pan = SOUND_PAN_TARGET;
if (var1 != 0)
- pan = PAN_SIDE_PLAYER;
+ pan = SOUND_PAN_ATTACKER;
if (sprite->data[7] != 0)
PlaySE2WithPanning(SE_TB_KARA, pan);
@@ -1975,7 +1970,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon)
break;
}
- spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
+ spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER)
{
@@ -2013,9 +2008,9 @@ static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus)
healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId;
if (noStatus)
- CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * 32), 32);
+ CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
else
- CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * 32), 32);
+ CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * TILE_SIZE_4BPP), 32);
}
static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
@@ -2073,10 +2068,10 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
statusGfxPtr = GetHealthboxElementGfxPtr(HEALTHBOX_GFX_39);
for (i = 0; i < 3; i++)
- CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * 32), 32);
+ CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * TILE_SIZE_4BPP), 32);
if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)
- CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 64);
+ CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 64);
TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE);
return;
@@ -2087,13 +2082,13 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId)
FillPalette(sStatusIconColors[statusPalId], pltAdder + 0x100, 2);
CpuCopy16(gPlttBufferUnfaded + 0x100 + pltAdder, (void*)(OBJ_PLTT + pltAdder * 2), 2);
- CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * 32), 96);
+ CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder) * TILE_SIZE_4BPP), 96);
if (IsDoubleBattle() == TRUE || GetBattlerSide(battlerId) == B_SIDE_OPPONENT)
{
if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)
{
- CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 32);
- CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * 32), 32);
+ CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * TILE_SIZE_4BPP), 32);
+ CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * TILE_SIZE_4BPP), 32);
}
}
TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE);
@@ -2165,7 +2160,7 @@ static void UpdateSafariBallsTextOnHealthbox(u8 healthboxSpriteId)
u8 *windowTileData;
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gText_SafariBalls, 0, 3, 2, &windowId);
- spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
+ spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x40) + spriteTileNum, windowTileData, 6);
TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x800) + spriteTileNum, windowTileData + 0xC0, 2);
RemoveWindowOnHealthbox(windowId);
@@ -2182,7 +2177,7 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId)
ConvertIntToDecimalStringN(txtPtr, gNumSafariBalls, STR_CONV_MODE_LEFT_ALIGN, 2);
windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, GetStringRightAlignXOffset(0, text, 0x2F), 3, 2, &windowId);
- spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32;
+ spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * TILE_SIZE_4BPP;
SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2);
SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4);
RemoveWindowOnHealthbox(windowId);
@@ -2328,10 +2323,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId;
if (i < 2)
CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32,
- (void*)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * 32), 32);
+ (void*)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * TILE_SIZE_4BPP), 32);
else
CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32,
- (void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * 32), 32);
+ (void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32);
}
break;
case EXP_BAR:
@@ -2350,10 +2345,10 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
{
if (i < 4)
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32,
- (void*)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * 32), 32);
+ (void*)(OBJ_VRAM0 + (gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum + 0x24 + i) * TILE_SIZE_4BPP), 32);
else
CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_12) + array[i] * 32,
- (void*)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * 32), 32);
+ (void*)(OBJ_VRAM0 + 0xB80 + (i + gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].oam.tileNum) * TILE_SIZE_4BPP), 32);
}
break;
}
@@ -2576,16 +2571,16 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp)
return result;
}
-static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 arg3, u32 *windowId)
+static u8* AddTextPrinterAndCreateWindowOnHealthbox(const u8 *str, u32 x, u32 y, u32 bgColor, u32 *windowId)
{
u16 winId;
u8 color[3];
struct WindowTemplate winTemplate = sHealthboxWindowTemplate;
winId = AddWindow(&winTemplate);
- FillWindowPixelBuffer(winId, (arg3 << 4) | (arg3));
+ FillWindowPixelBuffer(winId, (bgColor << 4) | (bgColor));
- color[0] = arg3;
+ color[0] = bgColor;
color[1] = 1;
color[2] = 3;
@@ -2602,31 +2597,31 @@ static void RemoveWindowOnHealthbox(u32 windowId)
static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2)
{
- CpuFill32(0x11111111 * arg1, dest, arg2 * 32);
+ CpuFill32(0x11111111 * arg1, dest, arg2 * TILE_SIZE_4BPP);
}
-static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2)
+static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth)
{
- CpuCopy32(windowTileData + 256, dest, arg2 * 32);
+ CpuCopy32(windowTileData + 256, dest, windowWidth * TILE_SIZE_4BPP);
}
-static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 arg2)
+static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 windowWidth)
{
- CpuCopy32(windowTileData + 256, dest + 256, arg2 * 32);
-
- if (arg2 > 0)
+ CpuCopy32(windowTileData + 256, dest + 256, windowWidth * TILE_SIZE_4BPP);
+// + 256 as that prevents the top 4 blank rows of sHealthboxWindowTemplate from being copied
+ if (windowWidth > 0)
{
do
{
CpuCopy32(windowTileData + 20, dest + 20, 12);
dest += 32, windowTileData += 32;
- arg2--;
- } while (arg2 != 0);
+ windowWidth--;
+ } while (windowWidth != 0);
}
}
-static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2)
+static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 windowWidth)
{
- CpuCopy32(windowTileData, dest, arg2 * 32);
- CpuCopy32(windowTileData + 256, dest + 256, arg2 * 32);
+ CpuCopy32(windowTileData, dest, windowWidth * TILE_SIZE_4BPP);
+ CpuCopy32(windowTileData + 256, dest + 256, windowWidth * TILE_SIZE_4BPP);
}
diff --git a/src/battle_intro.c b/src/battle_intro.c
new file mode 100644
index 000000000..0ccc7e828
--- /dev/null
+++ b/src/battle_intro.c
@@ -0,0 +1,21 @@
+#include "global.h"
+#include "task.h"
+
+extern void task_battle_intro_80BC47C(u8);
+extern void task00_battle_intro_80BC6C8(u8);
+extern void task_battle_intro_80BC47C(u8);
+extern void task_battle_intro_anim(u8);
+
+const TaskFunc gUnknown_08597424[] =
+{
+ task_battle_intro_80BC47C,
+ task_battle_intro_80BC47C,
+ task00_battle_intro_80BC6C8,
+ task00_battle_intro_80BC6C8,
+ task00_battle_intro_80BC6C8,
+ task_battle_intro_80BC47C,
+ task_battle_intro_80BC47C,
+ task_battle_intro_80BC47C,
+ task_battle_intro_anim,
+ task_battle_intro_anim,
+};
diff --git a/src/battle_main.c b/src/battle_main.c
index 44cd65976..8bf722300 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -1,71 +1,61 @@
#include "global.h"
#include "battle.h"
-#include "recorded_battle.h"
-#include "main.h"
-#include "load_save.h"
-#include "gpu_regs.h"
-#include "scanline_effect.h"
-#include "battle_setup.h"
-#include "battle_scripts.h"
+#include "battle_ai_script_commands.h"
+#include "battle_arena.h"
+#include "battle_controllers.h"
#include "battle_interface.h"
-#include "pokemon.h"
-#include "palette.h"
-#include "task.h"
-#include "event_data.h"
-#include "constants/species.h"
+#include "battle_main.h"
+#include "battle_message.h"
+#include "battle_pyramid.h"
+#include "battle_scripts.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
#include "berry.h"
-#include "text.h"
+#include "bg.h"
+#include "data2.h"
+#include "decompress.h"
+#include "dma3.h"
+#include "event_data.h"
+#include "evolution_scene.h"
+#include "gpu_regs.h"
+#include "international_string_util.h"
#include "item.h"
-#include "constants/items.h"
-#include "constants/hold_effects.h"
-#include "constants/trainers.h"
#include "link.h"
#include "link_rfu.h"
-#include "bg.h"
-#include "dma3.h"
-#include "string_util.h"
+#include "load_save.h"
+#include "main.h"
#include "malloc.h"
-#include "event_data.h"
#include "m4a.h"
-#include "window.h"
+#include "palette.h"
+#include "party_menu.h"
+#include "pokeball.h"
+#include "pokedex.h"
+#include "pokemon.h"
#include "random.h"
-#include "constants/songs.h"
+#include "recorded_battle.h"
+#include "roamer.h"
+#include "safari_zone.h"
+#include "scanline_effect.h"
#include "sound.h"
-#include "battle_message.h"
#include "sprite.h"
-#include "util.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
#include "trig.h"
-#include "battle_ai_script_commands.h"
-#include "constants/battle_move_effects.h"
-#include "battle_controllers.h"
-#include "pokedex.h"
+#include "tv.h"
+#include "util.h"
+#include "window.h"
#include "constants/abilities.h"
+#include "constants/battle_move_effects.h"
+#include "constants/battle_string_ids.h"
+#include "constants/hold_effects.h"
+#include "constants/items.h"
#include "constants/moves.h"
#include "constants/rgb.h"
-#include "evolution_scene.h"
-#include "roamer.h"
-#include "tv.h"
-#include "safari_zone.h"
-#include "constants/battle_string_ids.h"
-#include "data2.h"
-#include "decompress.h"
-#include "international_string_util.h"
-#include "pokeball.h"
-#include "party_menu.h"
-#include "battle_main.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/trainers.h"
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
-extern u16 gBattle_BG3_Y;
-extern u16 gBattle_WIN0H;
-extern u16 gBattle_WIN0V;
-extern u16 gBattle_WIN1H;
-extern u16 gBattle_WIN1V;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern u8 gUnknown_0203CF00[];
@@ -93,17 +83,10 @@ extern const u8 gText_Confusion[];
extern const u8 gText_Love[];
// functions
-extern void GetFrontierTrainerName(u8* dst, u16 trainerId); // battle tower
-extern void sub_8166188(void); // battle tower, sets link battle mons level but why?
-extern void sub_8165B88(u8* dst, u16 trainerId); // battle tower, gets language
extern void sub_81B9150(void);
extern void sub_80B3AF8(u8 taskId); // cable club
-extern void sub_81A56B4(void); // battle frontier 2
-extern u8 sub_81A9E28(void); // battle frontier 2
-extern void sub_81A56E8(u8 battlerId); // battle frontier 2
extern void sub_81B8FB0(u8, u8); // party menu
extern u8 pokemon_order_func(u8); // party menu
-extern bool8 InBattlePyramid(void);
// this file's functions
static void CB2_InitBattleInternal(void);
@@ -170,13 +153,25 @@ static void HandleAction_WatchesCarefully(void);
static void HandleAction_SafariZoneBallThrow(void);
static void HandleAction_ThrowPokeblock(void);
static void HandleAction_GoNear(void);
-static void HandleAction_SafriZoneRun(void);
+static void HandleAction_SafariZoneRun(void);
static void HandleAction_WallyBallThrow(void);
static void HandleAction_Action11(void);
static void HandleAction_NothingIsFainted(void);
static void HandleAction_ActionFinished(void);
// EWRAM vars
+EWRAM_DATA u16 gBattle_BG0_X = 0;
+EWRAM_DATA u16 gBattle_BG0_Y = 0;
+EWRAM_DATA u16 gBattle_BG1_X = 0;
+EWRAM_DATA u16 gBattle_BG1_Y = 0;
+EWRAM_DATA u16 gBattle_BG2_X = 0;
+EWRAM_DATA u16 gBattle_BG2_Y = 0;
+EWRAM_DATA u16 gBattle_BG3_X = 0;
+EWRAM_DATA u16 gBattle_BG3_Y = 0;
+EWRAM_DATA u16 gBattle_WIN0H = 0;
+EWRAM_DATA u16 gBattle_WIN0V = 0;
+EWRAM_DATA u16 gBattle_WIN1H = 0;
+EWRAM_DATA u16 gBattle_WIN1V = 0;
EWRAM_DATA u8 gDisplayedStringBattle[300] = {0};
EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0};
EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0};
@@ -443,10 +438,10 @@ const struct TrainerMoney gTrainerMoneyTable[] =
{TRAINER_CLASS_AROMA_LADY, 10},
{TRAINER_CLASS_RUIN_MANIAC, 15},
{TRAINER_CLASS_INTERVIEWER, 12},
- {TRAINER_CLASS_TUBER_1, 1},
- {TRAINER_CLASS_TUBER_2, 1},
+ {TRAINER_CLASS_TUBER_F, 1},
+ {TRAINER_CLASS_TUBER_M, 1},
{TRAINER_CLASS_SIS_AND_BRO, 3},
- {TRAINER_CLASS_COOLTRAINER_1, 12},
+ {TRAINER_CLASS_COOLTRAINER, 12},
{TRAINER_CLASS_HEX_MANIAC, 6},
{TRAINER_CLASS_LADY, 50},
{TRAINER_CLASS_BEAUTY, 20},
@@ -507,7 +502,7 @@ static void (* const sTurnActionsFuncsTable[])(void) =
HandleAction_SafariZoneBallThrow, // B_ACTION_SAFARI_BALL
HandleAction_ThrowPokeblock, // B_ACTION_SAFARI_POKEBLOCK
HandleAction_GoNear, // B_ACTION_SAFARI_GO_NEAR
- HandleAction_SafriZoneRun, // B_ACTION_SAFARI_RUN
+ HandleAction_SafariZoneRun, // B_ACTION_SAFARI_RUN
HandleAction_WallyBallThrow, // B_ACTION_WALLY_THROW
HandleAction_RunBattleScript, // B_ACTION_EXEC_SCRIPT
HandleAction_Action11, // not sure about this one
@@ -1146,9 +1141,9 @@ static void CB2_HandleStartMultiPartnerBattle(void)
gLinkPlayers[3].id = 3;
GetFrontierTrainerName(gLinkPlayers[2].name, gTrainerBattleOpponent_A);
GetFrontierTrainerName(gLinkPlayers[3].name, gTrainerBattleOpponent_B);
- sub_8165B88(&language, gTrainerBattleOpponent_A);
+ GetBattleTowerTrainerLanguage(&language, gTrainerBattleOpponent_A);
gLinkPlayers[2].language = language;
- sub_8165B88(&language, gTrainerBattleOpponent_B);
+ GetBattleTowerTrainerLanguage(&language, gTrainerBattleOpponent_B);
gLinkPlayers[3].language = language;
if (sub_800A520())
@@ -3016,7 +3011,7 @@ static void BattleStartClearSetData(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && gSaveBlock2Ptr->optionsBattleSceneOff == TRUE)
gHitMarker |= HITMARKER_NO_ANIMATIONS;
}
- else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && GetBattleStyleInRecordedBattle())
+ else if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) && GetBattleSceneInRecordedBattle())
gHitMarker |= HITMARKER_NO_ANIMATIONS;
gBattleScripting.battleStyle = gSaveBlock2Ptr->optionsBattleStyle;
@@ -3074,8 +3069,8 @@ static void BattleStartClearSetData(void)
gBattleResults.shinyWildMon = IsMonShiny(&gEnemyParty[0]);
- gBattleStruct->field_2A0 = 0;
- gBattleStruct->field_2A1 = 0;
+ gBattleStruct->arenaLostPlayerMons = 0;
+ gBattleStruct->arenaLostOpponentMons = 0;
}
void SwitchInClearSetData(void)
@@ -3086,7 +3081,7 @@ void SwitchInClearSetData(void)
if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS)
{
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
for (i = 0; i < gBattlersCount; i++)
{
@@ -3195,7 +3190,7 @@ void FaintClearSetData(void)
s32 i;
u8 *ptr;
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
gBattleMons[gActiveBattler].status2 = 0;
@@ -3349,7 +3344,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility);
hpOnSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)];
*hpOnSwitchout = gBattleMons[gActiveBattler].hp;
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
gBattleMons[gActiveBattler].statStages[i] = 6;
gBattleMons[gActiveBattler].status2 = 0;
}
@@ -3412,7 +3407,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
- sub_81A56B4();
+ BattleArena_InitPoints();
}
gBattleMainFunc = BattleIntroDrawPartySummaryScreens;
}
@@ -5468,7 +5463,7 @@ static void HandleAction_UseMove(void)
}
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
- sub_81A56E8(gBattlerAttacker);
+ BattleArena_AddMindPoints(gBattlerAttacker);
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
}
@@ -5595,7 +5590,7 @@ bool8 TryRunFromBattle(u8 battler)
if (InBattlePyramid())
{
gBattleStruct->runTries++;
- pyramidMultiplier = sub_81A9E28();
+ pyramidMultiplier = GetPyramidRunMultiplier();
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
if (speedVar > (Random() & 0xFF))
{
@@ -5621,7 +5616,7 @@ bool8 TryRunFromBattle(u8 battler)
{
if (InBattlePyramid())
{
- pyramidMultiplier = sub_81A9E28();
+ pyramidMultiplier = GetPyramidRunMultiplier();
speedVar = (gBattleMons[battler].speed * pyramidMultiplier) / (gBattleMons[BATTLE_OPPOSITE(battler)].speed) + (gBattleStruct->runTries * 30);
if (speedVar > (Random() & 0xFF))
effect++;
@@ -5775,7 +5770,7 @@ static void HandleAction_GoNear(void)
gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT;
}
-static void HandleAction_SafriZoneRun(void)
+static void HandleAction_SafariZoneRun(void)
{
gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber];
PlaySE(SE_NIGERU);
diff --git a/src/battle_message.c b/src/battle_message.c
index a5f549733..47c4cbe1d 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -1,23 +1,25 @@
#include "global.h"
#include "battle.h"
+#include "battle_controllers.h"
#include "battle_message.h"
-#include "constants/battle_string_ids.h"
-#include "constants/moves.h"
-#include "text.h"
-#include "string_util.h"
-#include "constants/items.h"
-#include "constants/trainers.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "data2.h"
#include "event_data.h"
-#include "link.h"
+#include "frontier_util.h"
+#include "international_string_util.h"
#include "item.h"
-#include "window.h"
-#include "palette.h"
-#include "battle_controllers.h"
-#include "battle_setup.h"
+#include "link.h"
#include "menu.h"
+#include "palette.h"
#include "recorded_battle.h"
-#include "international_string_util.h"
-#include "battle_frontier_2.h"
+#include "string_util.h"
+#include "text.h"
+#include "window.h"
+#include "constants/battle_string_ids.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/trainers.h"
struct BattleWindowText
{
@@ -35,7 +37,6 @@ struct BattleWindowText
extern u8 gUnknown_0203C7B4;
-extern const u8 gMoveNames[MOVES_COUNT][13];
extern const u8 gTrainerClassNames[][13];
extern const u16 gUnknown_08D85620[];
@@ -46,14 +47,10 @@ extern const u8 gText_PkmnTransferredSomeonesPC[];
extern const u8 gText_PkmnTransferredLanettesPC[];
extern u8 GetFrontierBrainTrainerClass(void); // battle_frontier_2
-extern u8 GetFrontierOpponentClass(u16 trainerId); // battle_tower
extern u8 GetTrainerHillOpponentClass(u16 trainerId); // pokenav
-extern u8 GetEreaderTrainerClassId(void); // battle_tower
extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2
extern void GetTrainerHillTrainerName(u8 *txtPtr, u16 trainerId); // pokenav
-extern void GetEreaderTrainerName(u8 *txtPtr);
extern void CopyTrainerHillTrainerText(u8 arg0, u16 trainerId); // pokenav
-extern void GetFrontierTrainerName(u8 *dst, u16 trainerId);
// this file's functions
static void ChooseMoveUsedParticle(u8 *textPtr);
@@ -1370,7 +1367,8 @@ static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS,
static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
{
- { // 0
+// The corresponding WindowTemplate is gStandardBattleWindowTemplates[] within src/battle_bg.c
+ { // 0 Standard battle message
.fillValue = 0xFF,
.fontId = 1,
.x = 0,
@@ -1382,7 +1380,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 15,
.shadowColor = 6,
},
- { // 1
+ { // 1 "What will (pokemon) do?"
.fillValue = 0xFF,
.fontId = 1,
.x = 1,
@@ -1394,7 +1392,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 15,
.shadowColor = 6,
},
- { // 2
+ { // 2 "Fight/Pokemon/Bag/Run"
.fillValue = 0xEE,
.fontId = 1,
.x = 0,
@@ -1406,7 +1404,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 3
+ { // 3 Top left move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1418,7 +1416,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 4
+ { // 4 Top right move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1430,7 +1428,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 5
+ { // 5 Bottom left move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1442,7 +1440,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 6
+ { // 6 Bottom right move
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1454,7 +1452,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 7
+ { // 7 "PP"
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1478,7 +1476,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 9
+ { // 9 PP remaining
.fillValue = 0xEE,
.fontId = 1,
.x = 2,
@@ -1490,7 +1488,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 11,
},
- { // 10
+ { // 10 "type"
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1502,7 +1500,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 11
+ { // 11 "switch which?"
.fillValue = 0xEE,
.fontId = 7,
.x = 0,
@@ -1514,7 +1512,7 @@ static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
.bgColor = 14,
.shadowColor = 15,
},
- { // 12
+ { // 12 "gText_BattleYesNoChoice"
.fillValue = 0xEE,
.fontId = 1,
.x = 0,
@@ -2582,7 +2580,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER1_LOSE_TEXT: // trainerA lose text
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
- CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_A);
+ CopyFrontierTrainerText(FRONTIER_PLAYER_WON_TEXT, gTrainerBattleOpponent_A);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2598,7 +2596,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
- CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_A);
+ CopyFrontierTrainerText(FRONTIER_PLAYER_LOST_TEXT, gTrainerBattleOpponent_A);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2679,7 +2677,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER2_LOSE_TEXT:
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
- CopyFrontierTrainerText(FRONTIER_LOSE_TEXT, gTrainerBattleOpponent_B);
+ CopyFrontierTrainerText(FRONTIER_PLAYER_WON_TEXT, gTrainerBattleOpponent_B);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2695,7 +2693,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
case B_TXT_TRAINER2_WIN_TEXT:
if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
{
- CopyFrontierTrainerText(FRONTIER_WIN_TEXT, gTrainerBattleOpponent_B);
+ CopyFrontierTrainerText(FRONTIER_PLAYER_LOST_TEXT, gTrainerBattleOpponent_B);
toCpy = gStringVar4;
}
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
@@ -2941,7 +2939,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
{
const struct BattleWindowText *textInfo = sBattleTextOnWindowsInfo[gBattleScripting.windowsType];
bool32 copyToVram;
- struct TextSubPrinter textSubPrinter;
+ struct TextPrinterTemplate printerTemplate;
u8 speed;
if (windowId & 0x80)
@@ -2955,36 +2953,36 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
copyToVram = TRUE;
}
- textSubPrinter.current_text_offset = text;
- textSubPrinter.windowId = windowId;
- textSubPrinter.fontId = textInfo[windowId].fontId;
- textSubPrinter.x = textInfo[windowId].x;
- textSubPrinter.y = textInfo[windowId].y;
- textSubPrinter.currentX = textSubPrinter.x;
- textSubPrinter.currentY = textSubPrinter.y;
- textSubPrinter.letterSpacing = textInfo[windowId].letterSpacing;
- textSubPrinter.lineSpacing = textInfo[windowId].lineSpacing;
- textSubPrinter.fontColor_l = 0;
- textSubPrinter.fgColor = textInfo[windowId].fgColor;
- textSubPrinter.bgColor = textInfo[windowId].bgColor;
- textSubPrinter.shadowColor = textInfo[windowId].shadowColor;
-
- if (textSubPrinter.x == 0xFF)
+ printerTemplate.currentChar = text;
+ printerTemplate.windowId = windowId;
+ printerTemplate.fontId = textInfo[windowId].fontId;
+ printerTemplate.x = textInfo[windowId].x;
+ printerTemplate.y = textInfo[windowId].y;
+ printerTemplate.currentX = printerTemplate.x;
+ printerTemplate.currentY = printerTemplate.y;
+ printerTemplate.letterSpacing = textInfo[windowId].letterSpacing;
+ printerTemplate.lineSpacing = textInfo[windowId].lineSpacing;
+ printerTemplate.unk = 0;
+ printerTemplate.fgColor = textInfo[windowId].fgColor;
+ printerTemplate.bgColor = textInfo[windowId].bgColor;
+ printerTemplate.shadowColor = textInfo[windowId].shadowColor;
+
+ if (printerTemplate.x == 0xFF)
{
u32 width = sub_80397C4(gBattleScripting.windowsType, windowId);
- s32 alignX = GetStringCenterAlignXOffsetWithLetterSpacing(textSubPrinter.fontId, textSubPrinter.current_text_offset, width, textSubPrinter.letterSpacing);
- textSubPrinter.x = textSubPrinter.currentX = alignX;
+ s32 alignX = GetStringCenterAlignXOffsetWithLetterSpacing(printerTemplate.fontId, printerTemplate.currentChar, width, printerTemplate.letterSpacing);
+ printerTemplate.x = printerTemplate.currentX = alignX;
}
if (windowId == 0x16)
- gTextFlags.flag_1 = 0;
+ gTextFlags.useAlternateDownArrow = 0;
else
- gTextFlags.flag_1 = 1;
+ gTextFlags.useAlternateDownArrow = 1;
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))
- gTextFlags.flag_2 = 1;
+ gTextFlags.autoScroll = 1;
else
- gTextFlags.flag_2 = 0;
+ gTextFlags.autoScroll = 0;
if (windowId == 0 || windowId == 0x16)
{
@@ -2993,17 +2991,17 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId)
else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
speed = sRecordedBattleTextSpeeds[GetTextSpeedInRecordedBattle()];
else
- speed = GetPlayerTextSpeed();
+ speed = GetPlayerTextSpeedDelay();
- gTextFlags.flag_0 = 1;
+ gTextFlags.canABSpeedUpPrint = 1;
}
else
{
speed = textInfo[windowId].speed;
- gTextFlags.flag_0 = 0;
+ gTextFlags.canABSpeedUpPrint = 0;
}
- AddTextPrinter(&textSubPrinter, speed, NULL);
+ AddTextPrinter(&printerTemplate, speed, NULL);
if (copyToVram)
{
diff --git a/src/battle_palace.c b/src/battle_palace.c
new file mode 100644
index 000000000..4033712b6
--- /dev/null
+++ b/src/battle_palace.c
@@ -0,0 +1,188 @@
+#include "global.h"
+#include "event_data.h"
+#include "battle_setup.h"
+#include "overworld.h"
+#include "random.h"
+#include "battle_tower.h"
+#include "frontier_util.h"
+#include "item.h"
+#include "string_util.h"
+#include "constants/items.h"
+
+// This file's functions.
+static void sub_8195980(void);
+static void sub_8195A38(void);
+static void sub_8195AE4(void);
+static void sub_8195BB0(void);
+static void sub_8195C20(void);
+static void sub_8195C50(void);
+static void sub_8195C7C(void);
+static void sub_8195CE4(void);
+static void sub_8195D28(void);
+static void sub_8195DB8(void);
+
+// Const rom data.
+static void (* const sBattlePalaceFunctions[])(void) =
+{
+ sub_8195980,
+ sub_8195A38,
+ sub_8195AE4,
+ sub_8195BB0,
+ sub_8195C20,
+ sub_8195C50,
+ sub_8195C7C,
+ sub_8195CE4,
+ sub_8195D28,
+ sub_8195DB8,
+};
+
+static const u16 gUnknown_0860DE78[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
+static const u16 gUnknown_0860DE84[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
+
+static const u32 gUnknown_0860DE98[][2] =
+{
+ {0x10, 0x20},
+ {0x400000, 0x800000},
+};
+
+static const u32 gUnknown_0860DEA8[][2] =
+{
+ {~0x10, ~0x20},
+ {~0x400000, ~0x800000},
+};
+
+// code
+void CallBattlePalaceFunction(void)
+{
+ sBattlePalaceFunctions[gSpecialVar_0x8004]();
+}
+
+static void sub_8195980(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+
+ gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_a = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_b = 0;
+ if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]))
+ gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
+
+ saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
+ gTrainerBattleOpponent_A = 0;
+}
+
+static void sub_8195A38(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_DC6;
+ break;
+ case 1:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
+ break;
+ case 2:
+ gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode]) != 0);
+ break;
+ }
+}
+
+static void sub_8195AE4(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSaveBlock2Ptr->frontier.field_DC6 = gSpecialVar_0x8006;
+ break;
+ case 1:
+ gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
+ break;
+ case 2:
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= gUnknown_0860DE98[battleMode][lvlMode];
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= gUnknown_0860DEA8[battleMode][lvlMode];
+ break;
+ }
+}
+
+static void sub_8195BB0(void)
+{
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 50)
+ gSpecialVar_Result = Random() % 3;
+ else if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 99)
+ gSpecialVar_Result = 3;
+ else
+ gSpecialVar_Result = 4;
+}
+
+static void sub_8195C20(void)
+{
+ gTrainerBattleOpponent_A = 5 *(Random() % 255) / 64u;
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+}
+
+static void sub_8195C50(void)
+{
+ if (gTrainerBattleOpponent_A < 300)
+ FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
+}
+
+static void sub_8195C7C(void)
+{
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
+ {
+ gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
+
+ // Whatever GF planned to do here, they messed up big time.
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][(lvlMode > gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode]) ? 1 : 0])
+ gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
+ }
+}
+
+static void sub_8195CE4(void)
+{
+ gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ VarSet(VAR_TEMP_0, 0);
+ gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ sub_81A4C30();
+}
+
+static void sub_8195D28(void)
+{
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 41)
+ gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE84[Random() % ARRAY_COUNT(gUnknown_0860DE84)];
+ else
+ gSaveBlock2Ptr->frontier.field_DC6 = gUnknown_0860DE78[Random() % ARRAY_COUNT(gUnknown_0860DE78)];
+}
+
+static void sub_8195DB8(void)
+{
+ if (AddBagItem(gSaveBlock2Ptr->frontier.field_DC6, 1) == TRUE)
+ {
+ CopyItemName(gSaveBlock2Ptr->frontier.field_DC6, gStringVar1);
+ gSaveBlock2Ptr->frontier.field_DC6 = 0;
+ gSpecialVar_Result = TRUE;
+ }
+ else
+ {
+ gSpecialVar_Result = FALSE;
+ }
+}
diff --git a/src/battle_pike.c b/src/battle_pike.c
new file mode 100644
index 000000000..38d3e7d4a
--- /dev/null
+++ b/src/battle_pike.c
@@ -0,0 +1,1642 @@
+#include "global.h"
+#include "battle_pike.h"
+#include "event_data.h"
+#include "frontier_util.h"
+#include "fieldmap.h"
+#include "save.h"
+#include "battle.h"
+#include "random.h"
+#include "task.h"
+#include "battle_tower.h"
+#include "party_menu.h"
+#include "malloc.h"
+#include "palette.h"
+#include "script.h"
+#include "battle_setup.h"
+#include "constants/event_objects.h"
+#include "constants/battle_frontier.h"
+#include "constants/abilities.h"
+#include "constants/rgb.h"
+#include "constants/trainers.h"
+#include "constants/species.h"
+#include "constants/moves.h"
+
+#define PIKE_ROOM_SINGLE_BATTLE 0
+#define PIKE_ROOM_HEAL_FULL 1
+#define PIKE_ROOM_NPC 2
+#define PIKE_ROOM_STATUS 3
+#define PIKE_ROOM_HEAL_PART 4
+#define PIKE_ROOM_WILD_MONS 5
+#define PIKE_ROOM_HARD_BATTLE 6
+#define PIKE_ROOM_DOUBLE_BATTLE 7
+#define PIKE_ROOM_BRAIN 8
+
+// For the room with a status effect.
+#define PIKE_STATUS_KIRLIA 0
+#define PIKE_STATUS_DUSCLOPS 1
+
+struct Unk0861231C
+{
+ u16 unk0;
+ u8 unk2;
+ u8 unk3;
+ u8 unk4;
+};
+
+struct PikeWildMon
+{
+ u16 species;
+ u8 levelDelta;
+ u16 moves[4];
+};
+
+extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
+
+// IWRAM bss
+static IWRAM_DATA u8 sRoomType;
+static IWRAM_DATA u8 sStatusMon;
+static IWRAM_DATA bool8 sUnknown_0300128E;
+static IWRAM_DATA u32 sStatusFlags;
+static IWRAM_DATA u8 sUnknown_03001294;
+
+// This file's functions.
+static void sub_81A705C(void);
+static void sub_81A7140(void);
+static void sub_81A7248(void);
+static void sub_81A73B8(void);
+static void sub_81A7070(void);
+static void sub_81A73EC(void);
+static void sub_81A7400(void);
+static void sub_81A740C(void);
+static void sub_81A7418(void);
+static void nullsub_76(void);
+static void nullsub_124(void);
+static void sub_81A7468(void);
+static void sub_81A74CC(void);
+static void sub_81A74E0(void);
+static void sub_81A7508(void);
+static void sub_81A7580(void);
+static void sub_81A8090(void);
+static void sub_81A80DC(void);
+static void sub_81A825C(void);
+static void sub_81A827C(void);
+static void sub_81A84B4(void);
+static void sub_81A84EC(void);
+static void sub_81A863C(void);
+static void sub_81A8658(void);
+static void sub_81A869C(void);
+static void sub_81A86C0(void);
+static void sub_81A8794(void);
+static void sub_81A87E8(void);
+static void sub_81A8830(void);
+static u8 GetNextRoomType(void);
+static void PrepareOneTrainer(bool8 difficult);
+static u16 sub_81A7B58(void);
+static void PrepareTwoTrainers(void);
+static void TryHealMons(u8 healCount);
+static void sub_81A7EE4(u8 taskId);
+static bool8 AtLeastTwoAliveMons(void);
+static u8 SpeciesToPikeMonId(u16 species);
+static bool8 CanEncounterWildMon(u8 monLevel);
+static u8 sub_81A8590(u8);
+static bool8 sub_81A7D8C(struct Task *task);
+static bool8 sub_81A7DE8(struct Task *task);
+
+// Const rom data.
+static const struct PikeWildMon sLvl50_Mons1[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .levelDelta = 5,
+ .moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_SHADOW_PUNCH}
+ }
+};
+
+static const struct PikeWildMon sLvl50_Mons2[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .levelDelta = 5,
+ .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC}
+ }
+};
+
+static const struct PikeWildMon sLvl50_Mons3[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .levelDelta = 5,
+ .moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER}
+ }
+};
+
+static const struct PikeWildMon sLvl50_Mons4[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .levelDelta = 5,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
+ }
+};
+
+static const struct PikeWildMon *const sLvl50Mons[] =
+{
+ sLvl50_Mons1,
+ sLvl50_Mons2,
+ sLvl50_Mons3,
+ sLvl50_Mons4
+};
+
+static const struct PikeWildMon sLvlOpen_Mons1[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .levelDelta = 5,
+ .moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_ICE_BEAM}
+ }
+};
+
+static const struct PikeWildMon sLvlOpen_Mons2[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .levelDelta = 5,
+ .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC}
+ }
+};
+
+static const struct PikeWildMon sLvlOpen_Mons3[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .levelDelta = 5,
+ .moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER}
+ }
+};
+
+static const struct PikeWildMon sLvlOpen_Mons4[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .levelDelta = 5,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_ENCORE}
+ }
+};
+
+static const struct PikeWildMon *const sLvlOpenMons[] =
+{
+ sLvlOpen_Mons1,
+ sLvlOpen_Mons2,
+ sLvlOpen_Mons3,
+ sLvlOpen_Mons4
+};
+
+static const struct PikeWildMon *const *const sWildMons[2] =
+{
+ [FRONTIER_LVL_50] = sLvl50Mons,
+ [FRONTIER_LVL_OPEN] = sLvlOpenMons
+};
+
+static const struct Unk0861231C gUnknown_0861231C[] =
+{
+ {
+ .unk0 = 0x0012,
+ .unk2 = 0x03,
+ .unk3 = 0x05,
+ .unk4 = 0x06
+ },
+ {
+ .unk0 = 0x0005,
+ .unk2 = 0x0d,
+ .unk3 = 0x20,
+ .unk4 = 0x25
+ },
+ {
+ .unk0 = 0x0011,
+ .unk2 = 0x08,
+ .unk3 = 0x0b,
+ .unk4 = 0x0c
+ },
+ {
+ .unk0 = 0x0024,
+ .unk2 = 0x22,
+ .unk3 = 0x1e,
+ .unk4 = 0x21
+ },
+ {
+ .unk0 = 0x0015,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .unk4 = 0x00
+ },
+ {
+ .unk0 = 0x001e,
+ .unk2 = 0x01,
+ .unk3 = 0x01,
+ .unk4 = 0x01
+ },
+ {
+ .unk0 = 0x002c,
+ .unk2 = 0x16,
+ .unk3 = 0x17,
+ .unk4 = 0x1b
+ },
+ {
+ .unk0 = 0x0037,
+ .unk2 = 0x08,
+ .unk3 = 0x16,
+ .unk4 = 0x1f
+ },
+ {
+ .unk0 = 0x000e,
+ .unk2 = 0x0d,
+ .unk3 = 0x27,
+ .unk4 = 0x15
+ },
+ {
+ .unk0 = 0x0014,
+ .unk2 = 0x02,
+ .unk3 = 0x04,
+ .unk4 = 0x11
+ },
+ {
+ .unk0 = 0x0038,
+ .unk2 = 0x1e,
+ .unk3 = 0x14,
+ .unk4 = 0x24
+ },
+ {
+ .unk0 = 0x0042,
+ .unk2 = 0x1c,
+ .unk3 = 0x22,
+ .unk4 = 0x19
+ },
+ {
+ .unk0 = 0x0026,
+ .unk2 = 0x17,
+ .unk3 = 0x26,
+ .unk4 = 0x1a
+ },
+ {
+ .unk0 = 0x0032,
+ .unk2 = 0x17,
+ .unk3 = 0x1e,
+ .unk4 = 0x0b
+ },
+ {
+ .unk0 = 0x002f,
+ .unk2 = 0x0f,
+ .unk3 = 0x13,
+ .unk4 = 0x0e
+ },
+ {
+ .unk0 = 0x0027,
+ .unk2 = 0x02,
+ .unk3 = 0x1d,
+ .unk4 = 0x1a
+ },
+ {
+ .unk0 = 0x0033,
+ .unk2 = 0x25,
+ .unk3 = 0x0c,
+ .unk4 = 0x20
+ },
+ {
+ .unk0 = 0x0021,
+ .unk2 = 0x18,
+ .unk3 = 0x17,
+ .unk4 = 0x26
+ },
+ {
+ .unk0 = 0x0018,
+ .unk2 = 0x05,
+ .unk3 = 0x16,
+ .unk4 = 0x04
+ },
+ {
+ .unk0 = 0x000b,
+ .unk2 = 0x29,
+ .unk3 = 0x25,
+ .unk4 = 0x23
+ },
+ {
+ .unk0 = 0x0035,
+ .unk2 = 0x27,
+ .unk3 = 0x0e,
+ .unk4 = 0x0d
+ },
+ {
+ .unk0 = 0x0030,
+ .unk2 = 0x0a,
+ .unk3 = 0x07,
+ .unk4 = 0x09
+ },
+ {
+ .unk0 = 0x000c,
+ .unk2 = 0x28,
+ .unk3 = 0x14,
+ .unk4 = 0x10
+ },
+ {
+ .unk0 = 0x0034,
+ .unk2 = 0x12,
+ .unk3 = 0x0d,
+ .unk4 = 0x15
+ },
+ {
+ .unk0 = 0x0013,
+ .unk2 = 0x16,
+ .unk3 = 0x1f,
+ .unk4 = 0x1b
+ }
+};
+
+static const u16 gUnknown_086123E4[][6] =
+{
+ {0x0a29, 0x0630, 0x0a01, 0x140f, 0x1020, 0x270e},
+ {0x0a2a, 0x081d, 0x061b, 0x1034, 0x1e20, 0x0a29},
+ {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1a, 0x0c03},
+ {0x1e0f, 0x100b, 0x1039, 0x200f, 0x102b, 0x0a14},
+ {0x103b, 0x0a02, 0x161e, 0x1020, 0x143e, 0x0c03},
+ {0x0a31, 0x0e02, 0x0e15, 0x1436, 0x1037, 0x1e0a},
+ {0x0a29, 0x1025, 0x142a, 0x1034, 0x1e0f, 0x0a1b},
+ {0x0a01, 0x0e07, 0x122a, 0x1e0f, 0x061f, 0xffff},
+ {0x1a35, 0x1036, 0x0e0f, 0x0a01, 0x2621, 0x1e0f},
+ {0x0e25, 0x102f, 0x062d, 0x201e, 0x0c03, 0xffff},
+ {0x0c1d, 0x081d, 0x0a2b, 0x100f, 0x0a02, 0x0c03},
+ {0x0a2a, 0x0a3e, 0x2000, 0x1027, 0x1c08, 0x0c04},
+ {0x0a01, 0x1212, 0x0a01, 0x1000, 0x062d, 0xffff},
+ {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1c, 0x0c03},
+ {0x0a01, 0x060b, 0x1030, 0x0a28, 0x2549, 0x0624},
+ {0x1014, 0x0a2c, 0x0415, 0x1642, 0x1e1b, 0x0c03},
+ {0x0628, 0x1a0f, 0x100b, 0x2017, 0x0c00, 0xffff},
+ {0x0a01, 0x1015, 0x1647, 0x1e0f, 0x0e39, 0x0e36},
+ {0x0a01, 0x1017, 0x1620, 0x0e19, 0x0a31, 0x0c38},
+ {0x0c1d, 0x081d, 0x0c00, 0x1022, 0x1c12, 0x020b},
+ {0x1029, 0x1404, 0x102f, 0x1006, 0x1e28, 0x1c1c},
+ {0x1029, 0x0e20, 0x1028, 0x1c16, 0x1e29, 0x0c03},
+ {0x1e0f, 0x100b, 0x0e2f, 0x0638, 0x100c, 0xffff},
+ {0x0a29, 0x1408, 0x102f, 0x061e, 0x102c, 0xffff},
+ {0x1023, 0x100b, 0x081d, 0x062d, 0x1037, 0x0a14},
+ {0x0a29, 0x1022, 0x1408, 0x102f, 0x161e, 0x1029},
+ {0x0601, 0x102c, 0x0a01, 0x1015, 0x0e39, 0x0e36},
+ {0x1020, 0x020b, 0x103f, 0x1c12, 0x0c04, 0xffff},
+ {0x1018, 0x0a02, 0x103a, 0x0446, 0x020e, 0x0c03},
+ {0x1e10, 0x020b, 0x1e0a, 0x100b, 0x063a, 0xffff},
+ {0x0a02, 0x1212, 0x1e0f, 0x100b, 0x0638, 0x0c03},
+ {0x1e22, 0x1000, 0x161b, 0x103f, 0x1e0f, 0x0c03},
+ {0x0a29, 0x0e1e, 0x1025, 0x1e26, 0x0c00, 0xffff},
+ {0x0a01, 0x0e1e, 0x1236, 0x102f, 0x120b, 0x0c04},
+ {0x2805, 0x1e0f, 0x0a1b, 0x100b, 0x1020, 0x063b},
+ {0x0a01, 0x101f, 0x0a3e, 0x1037, 0x1020, 0x0628},
+ {0x1026, 0x0a31, 0x1e29, 0x1c1c, 0x0a01, 0x1212},
+ {0x0c0a, 0x0c00, 0x1029, 0x101c, 0x1e0f, 0x0c23},
+ {0x0a28, 0x020e, 0x100f, 0x1039, 0x142a, 0x0c04},
+ {0x0a28, 0x020e, 0x100f, 0x0620, 0x102f, 0x043c},
+ {0x0c39, 0x0c39, 0x0c00, 0x0a29, 0x2017, 0x0c39},
+ {0x265c, 0x100b, 0x1020, 0x1230, 0x1e05, 0x100c},
+};
+
+static const u8 gUnknown_086125DC[][4] =
+{
+ {0x23, 0x46, 0x23, 0x01},
+ {0x04, 0x09, 0x05, 0x00},
+ {0x15, 0x2a, 0x15, 0x01},
+ {0x1c, 0x38, 0x1c, 0x01},
+ {0x15, 0x2a, 0x15, 0x01},
+ {0x1c, 0x8c, 0x38, 0x01},
+ {0x15, 0x46, 0x23, 0x00},
+};
+
+static void (* const sBattlePikeFunctions[])(void) =
+{
+ sub_81A705C,
+ sub_81A7140,
+ sub_81A7248,
+ sub_81A73B8,
+ sub_81A7070,
+ sub_81A73EC,
+ sub_81A7400,
+ sub_81A740C,
+ sub_81A7418,
+ nullsub_76,
+ nullsub_124,
+ sub_81A7468,
+ sub_81A74CC,
+ sub_81A74E0,
+ sub_81A7508,
+ sub_81A7580,
+ sub_81A8090,
+ sub_81A80DC,
+ sub_81A825C,
+ sub_81A827C,
+ sub_81A84B4,
+ sub_81A84EC,
+ sub_81A863C,
+ sub_81A8658,
+ sub_81A869C,
+ sub_81A86C0,
+ sub_81A8794,
+ sub_81A87E8,
+ sub_81A8830
+};
+
+static const u8 gUnknown_0861266C[] = {3, 3, 1, 0, 0, 2, 2, 1, 4};
+
+static const u8 gUnknown_08612675[][3] =
+{
+ {2, 1, 0},
+ {2, 0, 1},
+ {1, 2, 0},
+ {1, 0, 2},
+ {0, 2, 1},
+ {0, 1, 2},
+};
+
+static bool8 (* const gUnknown_08612688[])(struct Task *) =
+{
+ sub_81A7D8C, sub_81A7DE8
+};
+
+static const u32 gUnknown_08612690[] = {0x400, 0x800};
+
+// code
+void CallBattlePikeFunction(void)
+{
+ sBattlePikeFunctions[gSpecialVar_0x8004]();
+}
+
+static void sub_81A705C(void)
+{
+ u8 roomType = GetNextRoomType();
+ sRoomType = roomType;
+}
+
+static void sub_81A7070(void)
+{
+ bool32 setPerson1, setPerson2;
+ u32 person1;
+ u16 person2;
+
+ VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST);
+ VarSet(VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_DUSCLOPS);
+ setPerson1 = TRUE;
+ setPerson2 = FALSE;
+ person1 = 0;
+ person2 = 0;
+
+ switch (sRoomType)
+ {
+ case PIKE_ROOM_SINGLE_BATTLE:
+ PrepareOneTrainer(FALSE);
+ setPerson1 = FALSE;
+ break;
+ case PIKE_ROOM_HEAL_FULL:
+ person1 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
+ break;
+ case PIKE_ROOM_NPC:
+ person1 = (u8)(sub_81A7B58());
+ break;
+ case PIKE_ROOM_STATUS:
+ person1 = EVENT_OBJ_GFX_GENTLEMAN;
+ if (sStatusMon == PIKE_STATUS_DUSCLOPS)
+ person2 = EVENT_OBJ_GFX_DUSCLOPS;
+ else
+ person2 = EVENT_OBJ_GFX_KIRLIA;
+ setPerson2 = TRUE;
+ break;
+ case PIKE_ROOM_HEAL_PART:
+ person1 = EVENT_OBJ_GFX_GENTLEMAN;
+ break;
+ case PIKE_ROOM_WILD_MONS:
+ setPerson1 = FALSE;
+ break;
+ case PIKE_ROOM_HARD_BATTLE:
+ PrepareOneTrainer(TRUE);
+ person2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
+ setPerson1 = FALSE;
+ setPerson2 = TRUE;
+ break;
+ case PIKE_ROOM_DOUBLE_BATTLE:
+ PrepareTwoTrainers();
+ setPerson1 = FALSE;
+ break;
+ case PIKE_ROOM_BRAIN:
+ SetFrontierBrainEventObjGfx(FRONTIER_FACILITY_PIKE);
+ person2 = EVENT_OBJ_GFX_LINK_RECEPTIONIST;
+ setPerson1 = FALSE;
+ setPerson2 = TRUE;
+ break;
+ default:
+ return;
+ }
+
+ if (setPerson1 == TRUE)
+ VarSet(VAR_OBJ_GFX_ID_0, person1);
+ if (setPerson2 == TRUE)
+ VarSet(VAR_OBJ_GFX_ID_1, person2);
+}
+
+static void sub_81A7140(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E02;
+ break;
+ case 1:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode];
+ break;
+ case 2:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode];
+ break;
+ case 3:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode];
+ break;
+ case 4:
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x800;
+ else
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x400;
+ break;
+ }
+}
+
+static void sub_81A7248(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSaveBlock2Ptr->frontier.field_E02 = gSpecialVar_0x8006;
+ break;
+ case 1:
+ if (gSpecialVar_0x8006 <= 9999)
+ gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
+ break;
+ case 2:
+ if (gSpecialVar_0x8006 <= 9999 && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
+ break;
+ case 3:
+ if (gSpecialVar_0x8006 <= 9999)
+ gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
+ break;
+ case 4:
+ if (lvlMode != FRONTIER_LVL_50)
+ {
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= 0x800;
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= ~(0x800);
+ }
+ else
+ {
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= 0x400;
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= ~(0x400);
+ }
+ break;
+ }
+}
+
+static void sub_81A73B8(void)
+{
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum >= 15)
+ gSpecialVar_Result = TRUE;
+ else
+ gSpecialVar_Result = FALSE;
+}
+
+static void sub_81A73EC(void)
+{
+ gSpecialVar_Result = sRoomType;
+}
+
+static void sub_81A7400(void)
+{
+ sUnknown_0300128E = TRUE;
+}
+
+static void sub_81A740C(void)
+{
+ sUnknown_0300128E = FALSE;
+}
+
+static void sub_81A7418(void)
+{
+ gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ VarSet(VAR_TEMP_0, 0);
+ gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ save_serialize_map();
+ TrySavingData(SAVE_LINK);
+}
+
+static void nullsub_76(void)
+{
+
+}
+
+static void nullsub_124(void)
+{
+
+}
+
+static void sub_81A7468(void)
+{
+ switch (sStatusFlags)
+ {
+ case STATUS1_FREEZE:
+ gSpecialVar_Result = 0;
+ break;
+ case STATUS1_BURN:
+ gSpecialVar_Result = 1;
+ break;
+ case STATUS1_TOXIC_POISON:
+ gSpecialVar_Result = 2;
+ break;
+ case STATUS1_PARALYSIS:
+ gSpecialVar_Result = 3;
+ break;
+ case STATUS1_SLEEP:
+ gSpecialVar_Result = 4;
+ break;
+ }
+}
+
+static void sub_81A74CC(void)
+{
+ gSpecialVar_Result = sStatusMon;
+}
+
+static void sub_81A74E0(void)
+{
+ u16 toHeal = (Random() % 2) + 1;
+ TryHealMons(toHeal);
+ gSpecialVar_Result = toHeal;
+}
+
+static void sub_81A7508(void)
+{
+ s32 id;
+
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 4)
+ id = gUnknown_0861231C[sUnknown_03001294].unk2;
+ else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 10)
+ id = gUnknown_0861231C[sUnknown_03001294].unk3;
+ else
+ id = gUnknown_0861231C[sUnknown_03001294].unk4;
+
+ FrontierSpeechToString(gUnknown_086123E4[id]);
+}
+
+static void sub_81A7580(void)
+{
+ CreateTask(sub_81A7EE4, 2);
+}
+
+static void HealMon(struct Pokemon *mon)
+{
+ u8 i;
+ u16 hp;
+ u8 ppBonuses;
+ u8 data[4];
+
+ for (i = 0; i < 4; i++)
+ data[i] = 0;
+
+ hp = GetMonData(mon, MON_DATA_MAX_HP);
+ data[0] = hp;
+ data[1] = hp >> 8;
+ SetMonData(mon, MON_DATA_HP, data);
+
+ ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
+ for (i = 0; i < 4; i++)
+ {
+ u16 move = GetMonData(mon, MON_DATA_MOVE1 + i);
+ data[0] = CalculatePPWithBonus(move, ppBonuses, i);
+ SetMonData(mon, MON_DATA_PP1 + i, data);
+ }
+
+ data[0] = 0;
+ data[1] = 0;
+ data[2] = 0;
+ data[3] = 0;
+ SetMonData(mon, MON_DATA_STATUS, data);
+}
+
+static bool8 DoesAbilityPreventStatus(struct Pokemon *mon, u32 status)
+{
+ u8 ability = GetMonAbility(mon);
+ bool8 ret = FALSE;
+
+ switch (status)
+ {
+ case STATUS1_FREEZE:
+ if (ability == ABILITY_MAGMA_ARMOR)
+ ret = TRUE;
+ break;
+ case STATUS1_BURN:
+ if (ability == ABILITY_WATER_VEIL)
+ ret = TRUE;
+ break;
+ case STATUS1_PARALYSIS:
+ if (ability == ABILITY_LIMBER)
+ ret = TRUE;
+ break;
+ case STATUS1_SLEEP:
+ if (ability == ABILITY_INSOMNIA || ability == ABILITY_VITAL_SPIRIT)
+ ret = TRUE;
+ break;
+ case STATUS1_TOXIC_POISON:
+ if (ability == ABILITY_IMMUNITY)
+ ret = TRUE;
+ break;
+ }
+ return ret;
+}
+
+static bool8 DoesTypePreventStatus(u16 species, u32 status)
+{
+ bool8 ret = FALSE;
+
+ switch (status)
+ {
+ case STATUS1_TOXIC_POISON:
+ if (gBaseStats[species].type1 == TYPE_STEEL || gBaseStats[species].type1 == TYPE_POISON
+ || gBaseStats[species].type2 == TYPE_STEEL || gBaseStats[species].type2 == TYPE_POISON)
+ ret = TRUE;
+ break;
+ case STATUS1_FREEZE:
+ if (gBaseStats[species].type1 == TYPE_ICE || gBaseStats[species].type2 == TYPE_ICE)
+ ret = TRUE;
+ break;
+ case STATUS1_PARALYSIS:
+ if (gBaseStats[species].type1 == TYPE_GROUND || gBaseStats[species].type1 == TYPE_ELECTRIC
+ || gBaseStats[species].type2 == TYPE_GROUND || gBaseStats[species].type2 == TYPE_ELECTRIC)
+ ret = TRUE;
+ break;
+ case STATUS1_BURN:
+ if (gBaseStats[species].type1 == TYPE_FIRE || gBaseStats[species].type2 == TYPE_FIRE)
+ ret = TRUE;
+ break;
+ case STATUS1_SLEEP:
+ break;
+ }
+ return ret;
+}
+
+static bool8 TryInflictRandomStatus(void)
+{
+ u8 j, i;
+ u8 count;
+ u8 indices[3];
+ u32 status;
+ u16 species;
+ bool8 statusChosen;
+ struct Pokemon *mon;
+
+ for (i = 0; i < 3; i++)
+ indices[i] = i;
+ for (j = 0; j < 10; j++)
+ {
+ u8 temp, id;
+
+ i = Random() % 3;
+ id = Random() % 3;
+ SWAP(indices[i], indices[id], temp);
+ }
+
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 4)
+ count = 1;
+ else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 9)
+ count = 2;
+ else
+ count = 3;
+
+ status = 0;
+ do
+ {
+ u8 rand;
+
+ statusChosen = FALSE;
+ rand = Random() % 100;
+
+ if (rand < 35)
+ sStatusFlags = STATUS1_TOXIC_POISON;
+ else if (rand < 60)
+ sStatusFlags = STATUS1_FREEZE;
+ else if (rand < 80)
+ sStatusFlags = STATUS1_PARALYSIS;
+ else if (rand < 90)
+ sStatusFlags = STATUS1_SLEEP;
+ else
+ sStatusFlags = STATUS1_BURN;
+
+ if (status != sStatusFlags)
+ {
+ status = sStatusFlags;
+ j = 0;
+ for (i = 0; i < 3; i++)
+ {
+ mon = &gPlayerParty[indices[i]];
+ if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0
+ && GetMonData(mon, MON_DATA_HP) != 0)
+ {
+ j++;
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ if (!DoesTypePreventStatus(species, sStatusFlags))
+ {
+ statusChosen = TRUE;
+ break;
+ }
+ }
+ if (j == count)
+ break;
+ }
+ if (j == 0)
+ return FALSE;
+ }
+ } while (!statusChosen);
+
+ switch (sStatusFlags)
+ {
+ case STATUS1_FREEZE:
+ sStatusMon = PIKE_STATUS_DUSCLOPS;
+ break;
+ case STATUS1_BURN:
+ if (Random() % 2 != 0)
+ sStatusMon = PIKE_STATUS_DUSCLOPS;
+ else
+ sStatusMon = PIKE_STATUS_KIRLIA;
+ break;
+ case STATUS1_PARALYSIS:
+ case STATUS1_SLEEP:
+ case STATUS1_TOXIC_POISON:
+ default:
+ sStatusMon = PIKE_STATUS_KIRLIA;
+ break;
+ }
+
+ j = 0;
+ for (i = 0; i < 3; i++)
+ {
+ mon = &gPlayerParty[indices[i]];
+ if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0
+ && GetMonData(mon, MON_DATA_HP) != 0)
+ {
+ j++;
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ if (!DoesAbilityPreventStatus(mon, sStatusFlags) && !DoesTypePreventStatus(species, sStatusFlags))
+ SetMonData(mon, MON_DATA_STATUS, &sStatusFlags);
+ }
+ if (j == count)
+ break;
+ }
+
+ return TRUE;
+}
+
+static bool8 AtLeastOneHealthyMon(void)
+{
+ u8 i;
+ u8 healthyMonsCount;
+ u8 count;
+
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 4)
+ count = 1;
+ else if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 9)
+ count = 2;
+ else
+ count = 3;
+
+ healthyMonsCount = 0;
+ for (i = 0; i < 3; i++)
+ {
+ struct Pokemon *mon = &gPlayerParty[i];
+ if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0
+ && GetMonData(mon, MON_DATA_HP) != 0)
+ {
+ healthyMonsCount++;
+ }
+ if (healthyMonsCount == count)
+ break;
+ }
+
+ if (healthyMonsCount == 0)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+static u8 GetNextRoomType(void)
+{
+ u8 sp[8];
+ u8 i;
+ u8 ret;
+ u8 var;
+ u8 count;
+ u8 *allocated;
+ u8 id;
+
+ if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_BRAIN)
+ return gSaveBlock2Ptr->frontier.field_E10_2;
+ if (gSpecialVar_0x8007 == gSaveBlock2Ptr->frontier.field_E10_1)
+ {
+ if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_STATUS)
+ TryInflictRandomStatus();
+ return gSaveBlock2Ptr->frontier.field_E10_2;
+ }
+
+ for (i = 0; i < 8; i++)
+ sp[i] = 0;
+
+ count = 8;
+ var = gUnknown_0861266C[gSaveBlock2Ptr->frontier.field_E10_2];
+ for (i = 0; i < 8; i++)
+ {
+ if (gUnknown_0861266C[i] == var)
+ {
+ sp[i] = 1;
+ count--;
+ }
+ }
+
+ if (sp[7] != 1 && !AtLeastTwoAliveMons())
+ {
+ sp[7] = 1;
+ count--;
+ }
+ if (sp[3] != 1 && !AtLeastOneHealthyMon())
+ {
+ sp[3] = 1;
+ count--;
+ }
+ if (gSaveBlock2Ptr->frontier.field_E10_3)
+ {
+ if (sp[1] != 1)
+ {
+ sp[1] = 1;
+ count--;
+ }
+ if (sp[4] != 1)
+ {
+ sp[4] = 1;
+ count--;
+ }
+ }
+
+ allocated = AllocZeroed(count);
+ id = 0;
+ for (i = 0; i < 8; i++)
+ {
+ if (sp[i] == 0)
+ allocated[id++] = i;
+ }
+
+ ret = allocated[Random() % count];
+ free(allocated);
+ if (ret == PIKE_ROOM_STATUS)
+ TryInflictRandomStatus();
+
+ return ret;
+}
+
+static u16 sub_81A7B58(void)
+{
+ sUnknown_03001294 = Random() % 25;
+ return gUnknown_0861231C[sUnknown_03001294].unk0;
+}
+
+static u8 sub_81A7B84(void)
+{
+ return sUnknown_0300128E;
+}
+
+bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
+{
+ s32 i;
+ s32 monLevel;
+ u8 headerId = GetBattlePikeWildMonHeaderId();
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ const struct PikeWildMon *const *const wildMons = sWildMons[lvlMode];
+ u32 abilityBit;
+ s32 pikeMonId = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
+ pikeMonId = SpeciesToPikeMonId(pikeMonId);
+
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
+ {
+ monLevel = GetHighestLevelInPlayerParty();
+ if (monLevel < 60)
+ {
+ monLevel = 60;
+ }
+ else
+ {
+ monLevel -= wildMons[headerId][pikeMonId].levelDelta;
+ if (monLevel < 60)
+ monLevel = 60;
+ }
+ }
+ else
+ {
+ monLevel = 50 - wildMons[headerId][pikeMonId].levelDelta;
+ }
+
+ if (checkKeenEyeIntimidate == TRUE && !CanEncounterWildMon(monLevel))
+ return FALSE;
+
+ SetMonData(&gEnemyParty[0],
+ MON_DATA_EXP,
+ &gExperienceTables[gBaseStats[wildMons[headerId][pikeMonId].species].growthRate][monLevel]);
+
+ if (gBaseStats[wildMons[headerId][pikeMonId].species].ability2)
+ abilityBit = Random() % 2;
+ else
+ abilityBit = 0;
+ SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &abilityBit);
+ for (i = 0; i < 4; i++)
+ SetMonMoveSlot(&gEnemyParty[0], wildMons[headerId][pikeMonId].moves[i], i);
+
+ CalculateMonStats(&gEnemyParty[0]);
+ return TRUE;
+}
+
+u8 GetBattlePikeWildMonHeaderId(void)
+{
+ u8 headerId;
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
+
+ if (winStreak <= 280)
+ headerId = 0;
+ else if (winStreak <= 560)
+ headerId = 1;
+ else if (winStreak <= 840)
+ headerId = 2;
+ else
+ headerId = 3;
+
+ return headerId;
+}
+
+static void sub_81A7D54(u8 taskId)
+{
+ while (gUnknown_08612688[gTasks[taskId].data[0]](&gTasks[taskId]));
+}
+
+static bool8 sub_81A7D8C(struct Task *task)
+{
+ if (task->data[6] == 0 || --task->data[6] == 0)
+ {
+ task->data[6] = task->data[1];
+ task->data[7] += task->data[4];
+ if (task->data[7] > 16)
+ task->data[7] = 16;
+ BlendPalettes(0xFFFFFFFF, task->data[7], RGB(11, 11, 11));
+ }
+
+ if (task->data[7] >= 16)
+ {
+ task->data[0]++;
+ task->data[6] = task->data[2];
+ }
+ return FALSE;
+}
+
+static bool8 sub_81A7DE8(struct Task *task)
+{
+ if (task->data[6] == 0 || --task->data[6] == 0)
+ {
+ task->data[6] = task->data[2];
+ task->data[7] -= task->data[5];
+ if (task->data[7] < 0)
+ task->data[7] = 0;
+ BlendPalettes(0xFFFFFFFF, task->data[7], RGB(11, 11, 11));
+ }
+
+ if (task->data[7] == 0)
+ {
+ if (--task->data[3] == 0)
+ {
+ DestroyTask(FindTaskIdByFunc(sub_81A7D54));
+ }
+ else
+ {
+ task->data[6] = task->data[1];
+ task->data[0] = 0;
+ }
+ }
+ return FALSE;
+}
+
+static void sub_81A7E60(s16 a0, s16 a1, s16 a2, s16 a3, s16 a4)
+{
+ u8 taskId = CreateTask(sub_81A7D54, 3);
+
+ gTasks[taskId].data[1] = a0;
+ gTasks[taskId].data[2] = a1;
+ gTasks[taskId].data[3] = a2;
+ gTasks[taskId].data[4] = a3;
+ gTasks[taskId].data[5] = a4;
+ gTasks[taskId].data[6] = a0;
+}
+
+static bool8 sub_81A7EC4(void)
+{
+ if (FindTaskIdByFunc(sub_81A7D54) == 0xFF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_81A7EE4(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[0]++;
+ sub_81A7E60(0, 0, 3, 2, 2);
+ }
+ else
+ {
+ if (sub_81A7EC4())
+ {
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+ }
+}
+
+static void TryHealMons(u8 healCount)
+{
+ u8 j, i, k;
+ u8 indices[3];
+
+ if (healCount == 0)
+ return;
+
+ for (i = 0; i < 3; i++)
+ indices[i] = i;
+ for (k = 0; k < 10; k++)
+ {
+ u8 temp;
+
+ i = Random() % 3;
+ j = Random() % 3;
+ SWAP(indices[i], indices[j], temp);
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ bool32 canBeHealed = FALSE;
+ struct Pokemon *mon = &gPlayerParty[indices[i]];
+ u16 curr = GetMonData(mon, MON_DATA_HP);
+ u16 max = GetMonData(mon, MON_DATA_MAX_HP);
+ if (curr < max)
+ {
+ canBeHealed = TRUE;
+ }
+ else if (pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) != 0)
+ {
+ canBeHealed = TRUE;
+ }
+ else
+ {
+ u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
+ for (j = 0; j < 4; j++)
+ {
+ u16 move = GetMonData(mon, MON_DATA_MOVE1 + j);
+ max = CalculatePPWithBonus(move, ppBonuses, j);
+ curr = GetMonData(mon, MON_DATA_PP1 + j);
+ if (curr < max)
+ {
+ canBeHealed = TRUE;
+ break;
+ }
+ }
+ }
+
+ if (canBeHealed == TRUE)
+ {
+ HealMon(&gPlayerParty[indices[i]]);
+ if (--healCount == 0)
+ break;
+ }
+ }
+}
+
+static void sub_81A8090(void)
+{
+ gSpecialVar_Result = InBattlePike();
+}
+
+bool8 InBattlePike(void)
+{
+ return (gMapHeader.mapLayoutId == 351 || gMapHeader.mapLayoutId == 352
+ || gMapHeader.mapLayoutId == 358 || gMapHeader.mapLayoutId == 359);
+}
+
+static void sub_81A80DC(void)
+{
+ u8 i, count, id;
+ u8 *allocated;
+
+ gSpecialVar_Result = 0;
+ if (sub_81A8590(1))
+ {
+ gSpecialVar_Result = 1;
+ gSaveBlock2Ptr->frontier.field_E10_1 = Random() % 6;
+ gSaveBlock2Ptr->frontier.field_E10_2 = PIKE_ROOM_BRAIN;
+ }
+ else
+ {
+ gSaveBlock2Ptr->frontier.field_E10_1 = Random() % 3;
+ if (gSaveBlock2Ptr->frontier.field_E10_3)
+ count = 6;
+ else
+ count = 8;
+
+ allocated = AllocZeroed(count);
+ for (i = 0, id = 0; i < count; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_E10_3)
+ {
+ if (i != PIKE_ROOM_HEAL_FULL && i != PIKE_ROOM_HEAL_PART)
+ allocated[id++] = i;
+ }
+ else
+ {
+ allocated[i] = i;
+ }
+ }
+ gSaveBlock2Ptr->frontier.field_E10_2 = allocated[Random() % count];
+ free(allocated);
+ if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_STATUS && !AtLeastOneHealthyMon())
+ gSaveBlock2Ptr->frontier.field_E10_2 = PIKE_ROOM_NPC;
+ if (gSaveBlock2Ptr->frontier.field_E10_2 == PIKE_ROOM_DOUBLE_BATTLE && !AtLeastTwoAliveMons())
+ gSaveBlock2Ptr->frontier.field_E10_2 = PIKE_ROOM_NPC;
+ }
+}
+
+static void sub_81A825C(void)
+{
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E10_1;
+}
+
+static void sub_81A827C(void)
+{
+ gSpecialVar_Result = gUnknown_0861266C[gSaveBlock2Ptr->frontier.field_E10_2];
+}
+
+static void PrepareOneTrainer(bool8 difficult)
+{
+ s32 i;
+ u8 lvlMode;
+ u8 battleNum;
+ u16 challengeNum;
+ u16 trainerId;
+
+ if (!difficult)
+ battleNum = 1;
+ else
+ battleNum = 6;
+
+ lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ challengeNum = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] / 14;
+ do
+ {
+ trainerId = sub_8162548(challengeNum, battleNum);
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ }
+ } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1);
+
+ gTrainerBattleOpponent_A = trainerId;
+ gFacilityTrainers = gBattleFrontierTrainers;
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 14)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
+}
+
+static void PrepareTwoTrainers(void)
+{
+ s32 i;
+ u16 trainerId;
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u16 challengeNum = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] / 14;
+
+ gFacilityTrainers = gBattleFrontierTrainers;
+ do
+ {
+ trainerId = sub_8162548(challengeNum, 1);
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ }
+ } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1);
+
+ gTrainerBattleOpponent_A = trainerId;
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum <= 14)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1] = gTrainerBattleOpponent_A;
+
+ do
+ {
+ trainerId = sub_8162548(challengeNum, 1);
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ }
+ } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
+
+ gTrainerBattleOpponent_B = trainerId;
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1);
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 14)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum - 2] = gTrainerBattleOpponent_B;
+}
+
+static void sub_81A84B4(void)
+{
+ u8 i;
+
+ for (i = 0; i < 14; i++)
+ gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
+}
+
+static void sub_81A84EC(void)
+{
+ if (gSpecialVar_0x8005 == 0)
+ {
+ if (gTrainerBattleOpponent_A < TRAINER_RECORD_MIXING_FRIEND)
+ FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
+ }
+ else if (gSpecialVar_0x8005 == 1)
+ {
+ if (gTrainerBattleOpponent_B < TRAINER_RECORD_MIXING_FRIEND)
+ FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_B].speechBefore);
+ }
+}
+
+static bool8 AtLeastTwoAliveMons(void)
+{
+ struct Pokemon *mon;
+ u8 i, countDead;
+
+ mon = &gPlayerParty[0];
+ countDead = 0;
+ for (i = 0; i < 3; i++, mon++)
+ {
+ if (GetMonData(mon, MON_DATA_HP) == 0)
+ countDead++;
+ }
+
+ if (countDead >= 2)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+static u8 sub_81A8590(u8 arg0)
+{
+ u8 symbolsCount;
+
+ u8 var = 5;
+ u8 ret = 0;
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u16 wins = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
+ wins += arg0;
+ symbolsCount = GetPlayerSymbolCountForFacility(FRONTIER_FACILITY_PIKE);
+
+ switch (symbolsCount)
+ {
+ case 0:
+ case 1:
+ if (wins == gUnknown_086125DC[var][symbolsCount] - gUnknown_086125DC[var][3])
+ ret = symbolsCount + 1;
+ break;
+ case 2:
+ default:
+ if (wins == gUnknown_086125DC[var][0] - gUnknown_086125DC[var][3])
+ ret = 3;
+ else if (wins == gUnknown_086125DC[var][1] - gUnknown_086125DC[var][3]
+ || (wins > gUnknown_086125DC[var][1]
+ && (wins - gUnknown_086125DC[var][1] + gUnknown_086125DC[var][3]) % gUnknown_086125DC[var][2] == 0))
+ ret = 4;
+ break;
+ }
+
+ return ret;
+}
+
+static void sub_81A863C(void)
+{
+ gSpecialVar_Result = sub_81A8590(0);
+}
+
+static void sub_81A8658(void)
+{
+ u8 toHealCount = gUnknown_08612675[gSaveBlock2Ptr->frontier.field_E10_1][gSpecialVar_0x8007];
+
+ TryHealMons(toHealCount);
+ gSpecialVar_Result = toHealCount;
+}
+
+static void sub_81A869C(void)
+{
+ gSaveBlock2Ptr->frontier.field_E10_3 = gSpecialVar_0x8005;
+}
+
+static void sub_81A86C0(void)
+{
+ u8 i, j;
+
+ gSpecialVar_Result = TRUE;
+ for (i = 0; i < 3; i++)
+ {
+ bool32 canBeHealed = FALSE;
+ struct Pokemon *mon = &gPlayerParty[i];
+ u16 curr = GetMonData(mon, MON_DATA_HP);
+ u16 max = GetMonData(mon, MON_DATA_MAX_HP);
+ if (curr >= max && pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)) == 0)
+ {
+ u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
+ for (j = 0; j < 4; j++)
+ {
+ u16 move = GetMonData(mon, MON_DATA_MOVE1 + j);
+ max = CalculatePPWithBonus(move, ppBonuses, j);
+ curr = GetMonData(mon, MON_DATA_PP1 + j);
+ if (curr < max)
+ {
+ canBeHealed = TRUE;
+ break;
+ }
+ }
+ }
+ else
+ {
+ canBeHealed = TRUE;
+ }
+
+ if (canBeHealed == TRUE)
+ {
+ gSpecialVar_Result = FALSE;
+ break;
+ }
+ }
+}
+
+static void sub_81A8794(void)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ s32 heldItem = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
+ MON_DATA_HELD_ITEM);
+ gSaveBlock2Ptr->frontier.field_E12[i] = heldItem;
+ }
+}
+
+static void sub_81A87E8(void)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ SetMonData(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1],
+ MON_DATA_HELD_ITEM,
+ &gSaveBlock2Ptr->frontier.field_E12[i]);
+ }
+}
+
+static void sub_81A8830(void)
+{
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_a = 0;
+ if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_08612690[lvlMode]))
+ gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] = 0;
+
+ gTrainerBattleOpponent_A = 0;
+ gBattleOutcome = 0;
+}
+
+static bool8 CanEncounterWildMon(u8 enemyMonLevel)
+{
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ {
+ u8 monAbility = GetMonAbility(&gPlayerParty[0]);
+ if (monAbility == ABILITY_KEEN_EYE || monAbility == ABILITY_INTIMIDATE)
+ {
+ u8 playerMonLevel = GetMonData(&gPlayerParty[0], MON_DATA_LEVEL);
+ if (playerMonLevel > 5 && enemyMonLevel <= playerMonLevel - 5 && Random() % 2 == 0)
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+static u8 SpeciesToPikeMonId(u16 species)
+{
+ u8 ret;
+
+ if (species == SPECIES_SEVIPER)
+ ret = 0;
+ else if (species == SPECIES_MILOTIC)
+ ret = 1;
+ else
+ ret = 2;
+
+ return ret;
+}
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
new file mode 100644
index 000000000..23343ba20
--- /dev/null
+++ b/src/battle_pyramid.c
@@ -0,0 +1,1940 @@
+#include "global.h"
+#include "battle_pyramid.h"
+#include "battle_pyramid_bag.h"
+#include "event_data.h"
+#include "battle.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "save.h"
+#include "strings.h"
+#include "fieldmap.h"
+#include "palette.h"
+#include "field_message_box.h"
+#include "random.h"
+#include "item.h"
+#include "util.h"
+#include "sound.h"
+#include "task.h"
+#include "start_menu.h"
+#include "string_util.h"
+#include "trainer_see.h"
+#include "main.h"
+#include "load_save.h"
+#include "script.h"
+#include "malloc.h"
+#include "overworld.h"
+#include "event_scripts.h"
+#include "constants/battle_frontier.h"
+#include "constants/event_objects.h"
+#include "constants/event_object_movement_constants.h"
+#include "constants/items.h"
+#include "constants/maps.h"
+#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];
+extern const u16 gBattleFrontierHeldItems[];
+extern const struct FacilityMon gBattleFrontierMons[];
+extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
+
+#define TOTAL_ROUNDS 20
+#define PICKUP_ITEMS_PER_ROUND 10
+
+struct PyramidWildMon
+{
+ u16 species;
+ u8 lvl;
+ u8 abilityBit;
+ u16 moves[4];
+};
+
+struct Struct_08613650
+{
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ u8 runMultiplier;
+ u8 unk5[8];
+};
+
+struct ClassMusic
+{
+ u8 class;
+ u8 music;
+};
+
+// This file's functions.
+static void sub_81A8E9C(void);
+static void sub_81A8F38(void);
+static void sub_81A9048(void);
+static void sub_81A9134(void);
+static void sub_81A917C(void);
+static void sub_81A91FC(void);
+static void sub_81A9254(void);
+static void sub_81A9290(void);
+static void sub_81A93C8(void);
+static void sub_81A9414(void);
+static void sub_81A9424(void);
+static void sub_81A9618(void);
+static void sub_81A966C(void);
+static void sub_81A9684(void);
+static void sub_81A975C(void);
+static void sub_81A97C8(void);
+static void sub_81A9828(void);
+static void sub_81A9834(void);
+static void InitBagItems(u8 lvlMode);
+static u8 sub_81AA9E4(void);
+static u8 sub_81A9998(s32 *, u8, u8);
+static void sub_81A97DC(u8 taskId);
+static void sub_81A9B44(u16 trainerId);
+static void sub_81AA96C(u8 *mapNums);
+static void sub_81AA33C(u8 *, u8 *);
+static void sub_81AA398(u8);
+static bool8 sub_81AA4D8(u8, u8);
+static bool8 sub_81AA648(u8, u8);
+static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id);
+static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id);
+
+// Const rom data.
+#include "data/battle_frontier/battle_pyramid_level_50_wild_mons.h"
+#include "data/battle_frontier/battle_pyramid_open_level_wild_mons.h"
+
+static const struct Struct_08613650 gUnknown_08613650[] =
+{
+ {
+ .unk0 = 0x07,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x80,
+ .unk5 = {0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03}
+ },
+ {
+ .unk0 = 0x06,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x80,
+ .unk5 = {0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04}
+ },
+ {
+ .unk0 = 0x05,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x78,
+ .unk5 = {0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x78,
+ .unk5 = {0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x01,
+ .runMultiplier = 0x70,
+ .unk5 = {0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x02,
+ .runMultiplier = 0x70,
+ .unk5 = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x68,
+ .unk5 = {0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d}
+ },
+ {
+ .unk0 = 0x02,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x01,
+ .runMultiplier = 0x68,
+ .unk5 = {0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x02,
+ .runMultiplier = 0x60,
+ .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x06,
+ .unk2 = 0x00,
+ .unk3 = 0x04,
+ .runMultiplier = 0x60,
+ .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
+ },
+ {
+ .unk0 = 0x02,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x58,
+ .unk5 = {0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x58,
+ .unk5 = {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x07,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c}
+ },
+ {
+ .unk0 = 0x02,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x06,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x08,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f}
+ }
+};
+
+static const u8 gUnknown_08613750[34][2] =
+{
+ {0x28, 0x00},
+ {0x46, 0x01},
+ {0x5a, 0x02},
+ {0x64, 0x03},
+ {0x23, 0x01},
+ {0x37, 0x02},
+ {0x4b, 0x03},
+ {0x5a, 0x04},
+ {0x64, 0x0a},
+ {0x23, 0x02},
+ {0x37, 0x03},
+ {0x4b, 0x04},
+ {0x5a, 0x05},
+ {0x64, 0x0b},
+ {0x23, 0x03},
+ {0x37, 0x04},
+ {0x4b, 0x05},
+ {0x5a, 0x06},
+ {0x64, 0x0c},
+ {0x23, 0x04},
+ {0x37, 0x05},
+ {0x4b, 0x06},
+ {0x5a, 0x07},
+ {0x64, 0x0d},
+ {0x23, 0x05},
+ {0x37, 0x06},
+ {0x4b, 0x07},
+ {0x5a, 0x08},
+ {0x64, 0x0e},
+ {0x23, 0x06},
+ {0x37, 0x07},
+ {0x4b, 0x08},
+ {0x5a, 0x09},
+ {0x64, 0x0f}
+};
+
+static const u8 gUnknown_08613794[] =
+{
+ 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
+};
+
+static const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
+{
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+};
+
+static const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
+{
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+};
+
+static const u8 gUnknown_08613ABC[63][2] =
+{
+ {0x1f, 0x00},
+ {0x2e, 0x01},
+ {0x3d, 0x02},
+ {0x47, 0x03},
+ {0x51, 0x04},
+ {0x5b, 0x05},
+ {0x5e, 0x06},
+ {0x61, 0x07},
+ {0x64, 0x08},
+ {0x0f, 0x00},
+ {0x2e, 0x01},
+ {0x3d, 0x02},
+ {0x47, 0x03},
+ {0x51, 0x04},
+ {0x5b, 0x05},
+ {0x5e, 0x06},
+ {0x61, 0x08},
+ {0x64, 0x09},
+ {0x0f, 0x00},
+ {0x1e, 0x01},
+ {0x3d, 0x02},
+ {0x47, 0x03},
+ {0x51, 0x04},
+ {0x5b, 0x05},
+ {0x5e, 0x06},
+ {0x61, 0x07},
+ {0x64, 0x08},
+ {0x1c, 0x00},
+ {0x2b, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x07},
+ {0x60, 0x08},
+ {0x64, 0x09},
+ {0x0f, 0x00},
+ {0x2b, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x06},
+ {0x60, 0x07},
+ {0x64, 0x09},
+ {0x0f, 0x00},
+ {0x1e, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x06},
+ {0x60, 0x07},
+ {0x64, 0x08},
+ {0x1c, 0x00},
+ {0x2b, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x06},
+ {0x60, 0x08},
+ {0x64, 0x09},
+};
+
+static const u8 gUnknown_08613B3A[] = {0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36};
+
+static const struct ClassMusic gUnknown_08613B44[54] =
+{
+ {0x03, 0x06},
+ {0x0b, 0x06},
+ {0x0d, 0x06},
+ {0x0f, 0x01},
+ {0x2b, 0x04},
+ {0x2d, 0x01},
+ {0x24, 0x09},
+ {0x29, 0x04},
+ {0x05, 0x05},
+ {0x18, 0x04},
+ {0x2f, 0x00},
+ {0x2e, 0x09},
+ {0x11, 0x0c},
+ {0x10, 0x0b},
+ {0x1e, 0x0d},
+ {0x08, 0x01},
+ {0x17, 0x03},
+ {0x0c, 0x04},
+ {0x38, 0x04},
+ {0x1c, 0x03},
+ {0x1a, 0x00},
+ {0x19, 0x0b},
+ {0x09, 0x07},
+ {0x31, 0x07},
+ {0x35, 0x07},
+ {0x36, 0x01},
+ {0x33, 0x00},
+ {0x2a, 0x03},
+ {0x16, 0x0d},
+ {0x0e, 0x03},
+ {0x15, 0x01},
+ {0x14, 0x01},
+ {0x2c, 0x01},
+ {0x1b, 0x02},
+ {0x04, 0x01},
+ {0x07, 0x03},
+ {0x34, 0x05},
+ {0x32, 0x00},
+ {0x37, 0x02},
+ {0x1d, 0x04},
+ {0x22, 0x09},
+ {0x1f, 0x01},
+ {0x25, 0x00},
+ {0x0a, 0x04},
+ {0x28, 0x00},
+ {0x06, 0x05},
+ {0x27, 0x0b},
+ {0x26, 0x00},
+ {0x13, 0x00},
+ {0x12, 0x02},
+ {0x39, 0x08},
+ {0x02, 0x0b},
+ {0x20, 0x01},
+ {0x21, 0x00},
+};
+
+static const u8 gUnknown_08613C1C[50][2] =
+{
+ {0x0d, 0x03},
+ {0x0e, 0x04},
+ {0x10, 0x01},
+ {0x11, 0x00},
+ {0x03, 0x02},
+ {0x12, 0x03},
+ {0x0c, 0x03},
+ {0x13, 0x03},
+ {0x14, 0x03},
+ {0x15, 0x02},
+ {0x17, 0x02},
+ {0x07, 0x02},
+ {0x0a, 0x04},
+ {0x19, 0x02},
+ {0x1a, 0x02},
+ {0x1b, 0x00},
+ {0x1d, 0x02},
+ {0x1e, 0x02},
+ {0x1f, 0x03},
+ {0x20, 0x04},
+ {0x26, 0x00},
+ {0x27, 0x01},
+ {0x29, 0x04},
+ {0x2a, 0x05},
+ {0x09, 0x04},
+ {0x16, 0x05},
+ {0x2b, 0x00},
+ {0x2d, 0x04},
+ {0x2e, 0x02},
+ {0x30, 0x02},
+ {0x32, 0x02},
+ {0x31, 0x03},
+ {0x2f, 0x03},
+ {0x33, 0x03},
+ {0x34, 0x02},
+ {0x04, 0x02},
+ {0x35, 0x00},
+ {0x36, 0x03},
+ {0x37, 0x03},
+ {0x38, 0x03},
+ {0x1c, 0x01},
+ {0x3a, 0x02},
+ {0x05, 0x02},
+ {0x42, 0x02},
+ {0x02, 0x03},
+ {0x44, 0x02},
+ {0x45, 0x03},
+ {0x47, 0x03},
+ {0x43, 0x00},
+ {0x00, 0x04},
+};
+
+static const u8 *const gUnknown_08613C80[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252D2D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252D57,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252D81,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252DAB,
+};
+
+static const u8 *const gUnknown_08613C90[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25330B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2532CC,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25328B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253248,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253206,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2531C4,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253183,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253140,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2530FD,
+};
+
+static const u8 *const gUnknown_08613CB4[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_2544A6,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25445A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25440B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2543BA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25436A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25431A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2542CB,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25427A,
+};
+
+static const u8 *const gUnknown_08613CD4[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252DD5,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E03,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E31,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E5F,
+};
+
+static const u8 *const gUnknown_08613CE4[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25362E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2535D4,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253578,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25351A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2534BD,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253460,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253404,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2533A6,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25334D,
+};
+
+static const u8 *const gUnknown_08613D08[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25471E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2546CC,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25467C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25462A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2545D9,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254588,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254538,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2544E6,
+};
+
+static const u8 *const gUnknown_08613D28[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E8D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252EAA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252EC7,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252EE4,
+};
+
+static const u8 *const gUnknown_08613D38[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_2539EC,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253980,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253915,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2538A8,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25383C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2537D0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253765,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2536F8,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25368B,
+};
+
+static const u8 *const gUnknown_08613D5C[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_254A0B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2549AE,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25494D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2548EB,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25488A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254829,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2547C9,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254767,
+};
+
+static const u8 *const gUnknown_08613D7C[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252F01,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252F3A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252F73,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252FAC,
+};
+
+static const u8 *const gUnknown_08613D8C[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_253D3E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253CE0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253C87,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253C2C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253BD2,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253B78,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253B1F,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253AC4,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253A69,
+};
+
+static const u8 *const gUnknown_08613DB0[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_254C3E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254BF1,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254BAE,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254B69,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254B25,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254AE1,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254A9E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254A59,
+};
+
+static const u8 *const gUnknown_08613DD0[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252FE5,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253000,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25301B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253036,
+};
+
+static const u8 *const gUnknown_08613DE0[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_253F6C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253F34,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253EFA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253EBE,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253E83,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253E48,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253E0E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253DD2,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253D96,
+};
+
+static const u8 *const gUnknown_08613E04[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_254E6E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254E27,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254DE0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254D97,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254D4F,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254D07,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254CC0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254C77,
+};
+
+static const u8 *const gUnknown_08613E24[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_253051,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25307C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2530A7,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2530D2,
+};
+
+static const u8 *const gUnknown_08613E34[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25422B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2541DD,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25418D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25413B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2540EA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254099,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254049,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253FF7,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253FA5,
+};
+
+static const u8 *const gUnknown_08613E58[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_255068,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25502F,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254FF6,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254FBB,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254F81,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254F47,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254F0E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254ED3,
+};
+
+static const u8 *const *const gUnknown_08613E78[] =
+{
+ gUnknown_08613C80,
+ gUnknown_08613C90,
+ gUnknown_08613CB4,
+};
+
+static const u8 *const *const gUnknown_08613E84[] =
+{
+ gUnknown_08613CD4,
+ gUnknown_08613CE4,
+ gUnknown_08613D08,
+};
+
+static const u8 *const *const gUnknown_08613E90[] =
+{
+ gUnknown_08613D28,
+ gUnknown_08613D38,
+ gUnknown_08613D5C,
+};
+
+static const u8 *const *const gUnknown_08613E9C[] =
+{
+ gUnknown_08613D7C,
+ gUnknown_08613D8C,
+ gUnknown_08613DB0,
+};
+
+static const u8 *const *const gUnknown_08613EA8[] =
+{
+ gUnknown_08613DD0,
+ gUnknown_08613DE0,
+ gUnknown_08613E04,
+};
+
+static const u8 *const *const gUnknown_08613EB4[] =
+{
+ gUnknown_08613E24,
+ gUnknown_08613E34,
+ gUnknown_08613E58,
+};
+
+static const u8 *const *const *const gUnknown_08613EC0[] =
+{
+ gUnknown_08613E78,
+ gUnknown_08613E84,
+ gUnknown_08613E90,
+ gUnknown_08613E9C,
+ gUnknown_08613EA8,
+ gUnknown_08613EB4,
+};
+
+static const u8 gUnknown_08613ED8[] = {3, 4, 5, 6, 7, 8, 3, 4};
+
+static void (* const sBattlePyramidFunctions[])(void) =
+{
+ sub_81A8E9C,
+ sub_81A8F38,
+ sub_81A9048,
+ sub_81A9134,
+ sub_81A917C,
+ sub_81A91FC,
+ sub_81A9254,
+ sub_81A9290,
+ sub_81A93C8,
+ sub_81A9414,
+ sub_81A9424,
+ sub_81A9618,
+ sub_81A966C,
+ sub_81A9684,
+ sub_81A975C,
+ sub_81A97C8,
+ sub_81A9828,
+ sub_81A9834,
+};
+
+static const u16 gUnknown_08613F28[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC};
+static const u16 gUnknown_08613F34[] = {ITEM_BRIGHT_POWDER, ITEM_WHITE_HERB, ITEM_QUICK_CLAW, ITEM_LEFTOVERS, ITEM_MENTAL_HERB, ITEM_KINGS_ROCK, ITEM_FOCUS_BAND, ITEM_SCOPE_LENS, ITEM_CHOICE_BAND};
+
+static const u8 gUnknown_08613F46[][4] =
+{
+ {0x01, 0x04, 0xff, 0xff},
+ {0x00, 0x02, 0x05, 0xff},
+ {0x01, 0x03, 0x06, 0xff},
+ {0x02, 0x07, 0xff, 0xff},
+ {0x00, 0x05, 0x08, 0xff},
+ {0x01, 0x04, 0x06, 0x09},
+ {0x02, 0x05, 0x07, 0x0a},
+ {0x03, 0x06, 0x0b, 0xff},
+ {0x04, 0x09, 0x0c, 0xff},
+ {0x05, 0x08, 0x0a, 0x0d},
+ {0x06, 0x09, 0x0b, 0x0e},
+ {0x07, 0x0a, 0x0f, 0xff},
+ {0x08, 0x0d, 0xff, 0xff},
+ {0x09, 0x0c, 0x0e, 0xff},
+ {0x0a, 0x0d, 0x0f, 0xff},
+ {0x0b, 0x0e, 0xff, 0xff},
+};
+
+static const u8 sPickupPercentages[PICKUP_ITEMS_PER_ROUND] = {30, 40, 50, 60, 70, 80, 85, 90, 95, 100};
+
+// code
+void CallBattlePyramidFunction(void)
+{
+ sBattlePyramidFunctions[gSpecialVar_0x8004]();
+}
+
+static void sub_81A8E9C(void)
+{
+ bool32 isCurrent;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ gSaveBlock2Ptr->frontier.field_CA8 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
+ gSaveBlock2Ptr->frontier.field_CA9_a = 0;
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
+ else
+ isCurrent = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
+
+ if (!isCurrent)
+ {
+ gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = 0;
+ InitBagItems(lvlMode);
+ }
+
+ sub_81C4EEC();
+ gTrainerBattleOpponent_A = 0;
+ gBattleOutcome = 0;
+}
+
+static void sub_81A8F38(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E18;
+ break;
+ case 1:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
+ break;
+ case 2:
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
+ else
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
+ break;
+ case 3:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50];
+ break;
+ case 4:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN];
+ break;
+ case 5:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x1000;
+ break;
+ case 6:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CDC & 0x2000;
+ break;
+ }
+}
+
+static void sub_81A9048(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSaveBlock2Ptr->frontier.field_E18 = gSpecialVar_0x8006;
+ break;
+ case 1:
+ gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006;
+ break;
+ case 2:
+ if (lvlMode != FRONTIER_LVL_50)
+ {
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= 0x2000;
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= ~(0x2000);
+ }
+ else
+ {
+ if (gSpecialVar_0x8006)
+ gSaveBlock2Ptr->frontier.field_CDC |= 0x1000;
+ else
+ gSaveBlock2Ptr->frontier.field_CDC &= ~(0x1000);
+ }
+ break;
+ case 7:
+ gSaveBlock2Ptr->frontier.field_E2A = gSpecialVar_0x8006;
+ break;
+ }
+}
+
+static void sub_81A9134(void)
+{
+ gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005;
+ VarSet(VAR_TEMP_0, 0);
+ gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ save_serialize_map();
+ TrySavingData(SAVE_LINK);
+}
+
+static void sub_81A917C(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41)
+ gSaveBlock2Ptr->frontier.field_E18 = gUnknown_08613F34[Random() % ARRAY_COUNT(gUnknown_08613F34)];
+ else
+ gSaveBlock2Ptr->frontier.field_E18 = gUnknown_08613F28[Random() % ARRAY_COUNT(gUnknown_08613F28)];
+}
+
+static void sub_81A91FC(void)
+{
+ if (AddBagItem(gSaveBlock2Ptr->frontier.field_E18, 1) == TRUE)
+ {
+ CopyItemName(gSaveBlock2Ptr->frontier.field_E18, gStringVar1);
+ gSaveBlock2Ptr->frontier.field_E18 = 0;
+ gSpecialVar_Result = TRUE;
+ }
+ else
+ {
+ gSpecialVar_Result = FALSE;
+ }
+}
+
+static void sub_81A9254(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ gSaveBlock2Ptr->frontier.field_E22[i] = Random();
+
+ gSaveBlock2Ptr->frontier.field_E2A = 0;
+}
+
+static void sub_81A9290(void)
+{
+ s32 i;
+ s32 r7;
+ s32 rand;
+ u8 id;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 floor = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ u32 round = (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7) % TOTAL_ROUNDS;
+
+ if (round >= TOTAL_ROUNDS)
+ round = TOTAL_ROUNDS - 1;
+
+ id = sub_81AA9E4();
+ r7 = (gSpecialVar_LastTalked - gUnknown_08613650[id].unk1) - 1;
+ rand = gSaveBlock2Ptr->frontier.field_E22[r7 / 2];
+ SeedRng2(rand);
+
+ for (i = 0; i < r7 + 1; i++)
+ rand = Random2() % 100;
+
+ for (i = gUnknown_08613B3A[floor]; i < ARRAY_COUNT(gUnknown_08613ABC); i++)
+ {
+ if (rand < gUnknown_08613ABC[i][0])
+ break;
+ }
+
+ if (lvlMode != FRONTIER_LVL_50)
+ gSpecialVar_0x8000 = sPickupItemsLvlOpen[round][gUnknown_08613ABC[i][1]];
+ else
+ gSpecialVar_0x8000 = sPickupItemsLvl50[round][gUnknown_08613ABC[i][1]];
+
+ gSpecialVar_0x8001 = 1;
+}
+
+static void sub_81A93C8(void)
+{
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+ s32 i = 0;
+
+ for (;;)
+ {
+ if (events[i].localId == gSpecialVar_LastTalked)
+ {
+ events[i].x = 0x7FFF;
+ events[i].y = 0x7FFF;
+ break;
+ }
+ i++;
+ if (events[i].localId == 0)
+ break;
+ }
+}
+
+static void sub_81A9414(void)
+{
+ gFacilityTrainers = gBattleFrontierTrainers;
+}
+
+static void sub_81A9424(void)
+{
+ s32 i;
+ s32 var_24;
+ u8 id;
+ s32 class = 0;
+ s32 r7 = 0;
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+ u16 trainerId = LocalIdToPyramidTrainerId(gEventObjects[gSelectedEventObject].localId);
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_08613C1C); i++)
+ {
+ if (gUnknown_08613C1C[i][0] == gFacilityTrainers[trainerId].facilityClass)
+ {
+ class = gUnknown_08613C1C[i][1];
+ break;
+ }
+ }
+
+ var_24 = gUnknown_08613ED8[gEventObjects[gSelectedEventObject].localId - 1];
+ i = 0;
+ while (!i)
+ {
+ switch (var_24)
+ {
+ case 0:
+ r7 = sub_81A9998(&var_24, 8, 0);
+ i = 1;
+ break;
+ case 1:
+ for (i = 0; i < sub_81AAA40(); i++)
+ {
+ if (events[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL && events[i].x != 0x7FFF && events[i].y != 0x7FFF)
+ r7++;
+ }
+ i = 1;
+ break;
+ case 2:
+ id = sub_81AA9E4();
+ r7 = gUnknown_08613650[id].unk1;
+ for (i = 0; i < 8; i++)
+ {
+ if (gBitTable[i] & gSaveBlock2Ptr->frontier.field_E2A)
+ r7--;
+ }
+ i = 1;
+ break;
+ case 3:
+ sub_81A9998(&var_24, 8, 2);
+ break;
+ case 4:
+ sub_81A9998(&var_24, 8, 1);
+ break;
+ case 5:
+ sub_81A9998(&var_24, 16, 2);
+ break;
+ case 6:
+ sub_81A9998(&var_24, 16, 1);
+ break;
+ case 7:
+ sub_81A9998(&var_24, 24, 2);
+ break;
+ case 8:
+ sub_81A9998(&var_24, 24, 1);
+ break;
+ }
+ }
+ ShowFieldMessage(gUnknown_08613EC0[class][var_24][r7]);
+}
+
+static void sub_81A9618(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < 999)
+ gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]++;
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode])
+ gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
+}
+
+static void sub_81A966C(void)
+{
+ gSpecialVar_Result = InBattlePyramid();
+}
+
+static void sub_81A9684(void)
+{
+ switch (gSpecialVar_0x8006)
+ {
+ case 0:
+ gSaveBlock2Ptr->frontier.field_E68 = gSpecialVar_0x8005;
+ break;
+ case 1:
+ switch (gSpecialVar_Result)
+ {
+ case 0:
+ if (!gPaletteFade.active)
+ {
+ if (gSaveBlock2Ptr->frontier.field_E68 >= 120)
+ gSaveBlock2Ptr->frontier.field_E68 = 120;
+ else
+ PlaySE(gSpecialVar_0x8007);
+ gSpecialVar_Result++;
+ }
+ break;
+ case 1:
+ if (gSpecialVar_0x8005 != 0)
+ {
+ gSpecialVar_0x8005--;
+ gSaveBlock2Ptr->frontier.field_E68++;
+ if (gSaveBlock2Ptr->frontier.field_E68 > 120)
+ {
+ gSaveBlock2Ptr->frontier.field_E68 = 120;
+ gSpecialVar_Result++;
+ }
+ door_upload_tiles();
+ }
+ else
+ {
+ gSpecialVar_Result = 2;
+ }
+ break;
+ case 2:
+ default:
+ break;
+ }
+ break;
+ }
+}
+
+static void sub_81A975C(void)
+{
+ s32 i, j;
+ u16 item = 0;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (gSaveBlock2Ptr->frontier.selectedPartyMons[j] != 0 && gSaveBlock2Ptr->frontier.selectedPartyMons[j] - 1 == i)
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
+ }
+ }
+}
+
+static void sub_81A97C8(void)
+{
+ CreateTask(sub_81A97DC, 0);
+}
+
+static void sub_81A97DC(u8 taskId)
+{
+ if (gPaletteFade.active)
+ {
+ CpuCopy16(gUnknown_08D856C8[gSaveBlock2Ptr->frontier.curChallengeBattleNum], &gPlttBufferUnfaded[96], 32);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_81A9828(void)
+{
+ sub_809FDD4();
+}
+
+static void sub_81A9834(void)
+{
+ s32 i, j, k, l;
+
+ for (i = 0; i < 3; i++)
+ {
+ s32 id = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
+ for (j = 0; j < 3; j++)
+ {
+ if (GetMonData(&gSaveBlock1Ptr->playerParty[id], MON_DATA_SPECIES, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_SPECIES, NULL))
+ {
+ for (k = 0; k < 4; k++)
+ {
+ for (l = 0; l < 4; l++)
+ {
+ if (GetMonData(&gSaveBlock1Ptr->playerParty[id], MON_DATA_MOVE1 + l, NULL) == GetMonData(&gPlayerParty[j], MON_DATA_MOVE1 + k, NULL))
+ break;
+ }
+ if (l == 4)
+ SetMonMoveSlot(&gPlayerParty[j], MOVE_SKETCH, k);
+ }
+ gSaveBlock1Ptr->playerParty[id] = gPlayerParty[j];
+ gSelectedOrderFromParty[j] = id + 1;
+ break;
+ }
+ }
+ }
+
+ for (i = 0; i < 3; i++)
+ gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
+}
+
+static u8 sub_81A9998(s32 *arg0, u8 arg1, u8 arg2)
+{
+ s32 i, j;
+ u8 ret = 0;
+ u16 *map = gUnknown_03005DC0.map;
+ map += gUnknown_03005DC0.width * 7 + 7;
+
+ for (i = 0; i < 32; map += 47, i++)
+ {
+ for (j = 0; j < 32; j++)
+ {
+ if ((map[j] & 0x3FF) == 0x28E)
+ {
+ j += 7 - gEventObjects[gSelectedEventObject].initialCoords.x;
+ i += 7 - gEventObjects[gSelectedEventObject].initialCoords.y;
+ if (j >= arg1 || j <= -arg1 || i >= arg1 || i <= -arg1 || arg2 == 0)
+ {
+ if (j > 0 && i > 0)
+ {
+ if (j >= i)
+ ret = 2;
+ else
+ ret = 3;
+ }
+ else if (j < 0 && i < 0)
+ {
+ if (j > i)
+ ret = 0;
+ else
+ ret = 1;
+ }
+ else if (j == 0)
+ {
+ if (i > 0)
+ ret = 3;
+ else
+ ret = 0;
+ }
+ else if (i == 0)
+ {
+ if (j > 0)
+ ret = 2;
+ else
+ ret = 1;
+ }
+ else if (j < 0)
+ {
+ if (j + i > 0)
+ ret = 3;
+ else
+ ret = 1;
+ }
+ else
+ {
+ ret = (~(j + i) >= 0) ? 0 : 2;
+ }
+ *arg0 = 0;
+ }
+ else
+ {
+ *arg0 = arg2;
+ }
+ return ret;
+ }
+ }
+ }
+
+ return ret;
+}
+
+u16 LocalIdToPyramidTrainerId(u8 localId)
+{
+ return gSaveBlock2Ptr->frontier.field_CB4[localId - 1];
+}
+
+bool8 GetBattlePyramidTrainerFlag(u8 eventId)
+{
+ return gSaveBlock2Ptr->frontier.field_E2A & gBitTable[gEventObjects[eventId].localId - 1];
+}
+
+void sub_81A9B04(void)
+{
+ sub_81A9B44(gTrainerBattleOpponent_A);
+ if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)
+ {
+ gSelectedEventObject = GetChosenApproachingTrainerEventObjectId(1);
+ sub_81A9B44(gTrainerBattleOpponent_B);
+ }
+}
+
+static void sub_81A9B44(u16 trainerId)
+{
+ s32 i;
+
+ for (i = 0; i < 8; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ gSaveBlock2Ptr->frontier.field_E2A |= gBitTable[i];
+ }
+
+ gEventObjects[gSelectedEventObject].movementType = MOVEMENT_TYPE_WANDER_AROUND;
+ gSaveBlock1Ptr->eventObjectTemplates[gSpecialVar_LastTalked - 1].movementType = MOVEMENT_TYPE_WANDER_AROUND;
+ gEventObjects[gSelectedEventObject].initialCoords.x = gEventObjects[gSelectedEventObject].currentCoords.x;
+ gEventObjects[gSelectedEventObject].initialCoords.y = gEventObjects[gSelectedEventObject].currentCoords.y;
+}
+
+void GenerateBattlePyramidWildMon(void)
+{
+ u8 name[POKEMON_NAME_LENGTH + 1];
+ s32 i;
+ const struct PyramidWildMon *wildMons;
+ u32 id;
+ u32 lvl = gSaveBlock2Ptr->frontier.lvlMode;
+ u16 round = (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvl] / 7) % TOTAL_ROUNDS;
+
+ if (round >= TOTAL_ROUNDS)
+ round = TOTAL_ROUNDS - 1;
+
+ if (lvl != FRONTIER_LVL_50)
+ wildMons = sOpenLevelWildMonPointers[round];
+ else
+ wildMons = sLevel50WildMonPointers[round];
+
+ id = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL) - 1;
+ SetMonData(&gEnemyParty[0], MON_DATA_SPECIES, &wildMons[id].species);
+ GetSpeciesName(name, wildMons[id].species);
+ SetMonData(&gEnemyParty[0], MON_DATA_NICKNAME, &name);
+ if (lvl != FRONTIER_LVL_50)
+ {
+ lvl = SetFacilityPtrsGetLevel();
+ lvl -= wildMons[id].lvl;
+ lvl = lvl - 5 + (Random() % 11);
+ }
+ else
+ {
+ lvl = wildMons[id].lvl - 5 + ((Random() % 11));
+ }
+ SetMonData(&gEnemyParty[0],
+ MON_DATA_EXP,
+ &gExperienceTables[gBaseStats[wildMons[id].species].growthRate][lvl]);
+
+ switch (wildMons[id].abilityBit)
+ {
+ case 0:
+ case 1:
+ SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &wildMons[id].abilityBit);
+ break;
+ case 2:
+ default:
+ if (gBaseStats[wildMons[id].species].ability2)
+ {
+ i = GetMonData(&gEnemyParty[0], MON_DATA_PERSONALITY, NULL) % 2;
+ SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &i);
+ }
+ else
+ {
+ i = 0;
+ SetMonData(&gEnemyParty[0], MON_DATA_ALT_ABILITY, &i);
+ }
+ break;
+ }
+
+ for (i = 0; i < 4; i++)
+ SetMonMoveSlot(&gEnemyParty[0], wildMons[id].moves[i], i);
+
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvl] >= 140) // BUG: Reading outside the array as lvl was used for mon level instead of frontier lvl mode.
+ {
+ id = (Random() % 17) + 15;
+ for (i = 0; i < NUM_STATS; i++)
+ SetMonData(&gEnemyParty[0], MON_DATA_HP_IV + i, &id);
+ }
+ CalculateMonStats(&gEnemyParty[0]);
+}
+
+u8 GetPyramidRunMultiplier(void)
+{
+ u8 id = sub_81AA9E4();
+ return gUnknown_08613650[id].runMultiplier;
+}
+
+u8 InBattlePyramid(void)
+{
+ if (gMapHeader.mapLayoutId == 361)
+ return 1;
+ else if (gMapHeader.mapLayoutId == 378)
+ return 2;
+ else
+ return FALSE;
+}
+
+bool8 InBattlePyramid_(void)
+{
+ return (gMapHeader.mapLayoutId == 361 || gMapHeader.mapLayoutId == 378);
+}
+
+void sub_81A9E90(void)
+{
+ if (InBattlePyramid())
+ {
+ sub_81A9834();
+ gSaveBlock2Ptr->frontier.field_CA8 = 2;
+ VarSet(VAR_TEMP_E, 0);
+ LoadPlayerParty();
+ }
+}
+
+void sub_81A9EC8(void)
+{
+ if (InBattlePyramid())
+ DoSoftReset();
+}
+
+void CopyPyramidTrainerSpeechBefore(u16 trainerId)
+{
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore);
+}
+
+void CopyPyramidTrainerWinSpeech(u16 trainerId)
+{
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechWin);
+}
+
+void CopyPyramidTrainerLoseSpeech(u16 trainerId)
+{
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechLose);
+}
+
+u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerId)
+{
+ s32 i;
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_08613B44); i++)
+ {
+ if (gUnknown_08613B44[i].class == gFacilityClassToTrainerClass[gFacilityTrainers[trainerId].facilityClass])
+ return gUnknown_08613B44[i].music;
+ }
+ return 0;
+}
+
+static void sub_81A9F80(void)
+{
+ ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88);
+}
+
+static u16 sub_81A9F90(u8 count)
+{
+ s32 i;
+ u16 trainerId;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 challengeNum = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7;
+ u32 battleNum = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ if (battleNum == 7)
+ {
+ do
+ {
+ trainerId = sub_8162548(challengeNum + 1, battleNum);
+ for (i = 0 ; i < count; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ }
+ } while (i != count);
+ }
+ else
+ {
+ do
+ {
+ trainerId = sub_8162548(challengeNum, battleNum);
+ for (i = 0 ; i < count; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ }
+ } while (i != count);
+ }
+
+ return trainerId;
+}
+
+void sub_81AA078(u16 *mapArg, u8 arg1)
+{
+ s32 j, k;
+ s32 i;
+ u8 var0, var1;
+ u8 *allocated = AllocZeroed(0x10);
+
+ sub_81AA96C(allocated);
+ sub_81AA33C(&var0, &var1);
+ for (i = 0; i < 16; i++)
+ {
+ u16 *map;
+ s32 heightAdd, widthAdd;
+ const struct MapLayout *mapLayout = gMapLayouts[allocated[i] + 0x169];
+ const u16 *layoutMap = mapLayout->map;
+
+ gUnknown_03005DC0.map = mapArg;
+ gUnknown_03005DC0.width = mapLayout->width * 4 + 15;
+ gUnknown_03005DC0.height = mapLayout->height * 4 + 14;
+ map = mapArg;
+ heightAdd = (((i / 4 * mapLayout->height) + 7) * (gUnknown_03005DC0.width));
+ widthAdd = ((i % 4 * mapLayout->width) + 7);
+ map += heightAdd + widthAdd;
+ for (j = 0; j < mapLayout->height; j++)
+ {
+ for (k = 0; k < mapLayout->width; k++)
+ {
+ if ((layoutMap[k] & 0x3FF) != 0x28E)
+ {
+ map[k] = layoutMap[k];
+ }
+ else if (i != var1)
+ {
+ if (i == var0 && arg1 == 0)
+ {
+ gSaveBlock1Ptr->pos.x = (mapLayout->width * (i % 4)) + k;
+ gSaveBlock1Ptr->pos.y = (mapLayout->height * (i / 4)) + j;
+ }
+ map[k] = (layoutMap[k] & 0xFC00) | 0x28D;
+ }
+ else
+ {
+ map[k] = layoutMap[k];
+ }
+ }
+ map += 15 + (mapLayout->width * 4);
+ layoutMap += mapLayout->width;
+ }
+ }
+ mapheader_run_script_with_tag_x1();
+ free(allocated);
+}
+
+void sub_81AA1D8(void)
+{
+ s32 i;
+ u8 id;
+ u8 var0, var1;
+
+ for (i = 0; i < 8; i++)
+ gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
+
+ id = sub_81AA9E4();
+ sub_81AA33C(&var0, &var1);
+ CpuFill32(0, gSaveBlock1Ptr->eventObjectTemplates, sizeof(gSaveBlock1Ptr->eventObjectTemplates));
+ for (i = 0; i < 2; i++)
+ {
+ u8 value;
+
+ if (i == 0)
+ value = gUnknown_08613650[id].unk3;
+ else
+ value = gUnknown_08613650[id].unk2;
+
+ switch (value)
+ {
+ case 0:
+ sub_81AA398(i);
+ break;
+ case 1:
+ if (sub_81AA4D8(i, var0))
+ sub_81AA398(i);
+ break;
+ case 2:
+ if (sub_81AA4D8(i, var1))
+ sub_81AA398(i);
+ break;
+ case 3:
+ if (sub_81AA648(i, var0))
+ sub_81AA398(i);
+ break;
+ case 4:
+ if (sub_81AA648(i, var1))
+ sub_81AA398(i);
+ break;
+ }
+ }
+}
+
+void sub_81AA2F8(void)
+{
+ s32 i;
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
+ {
+ if (events[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
+ events[i].script = BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F;
+ else
+ events[i].script = BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A;
+ }
+}
+
+static void sub_81AA33C(u8 *var0, u8 *var1)
+{
+ *var0 = gSaveBlock2Ptr->frontier.field_E22[3] % 16;
+ *var1 = gSaveBlock2Ptr->frontier.field_E22[0] % 16;
+
+ if (*var0 == *var1)
+ {
+ *var0 = (gSaveBlock2Ptr->frontier.field_E22[3] + 1 ) % 16;
+ *var1 = (gSaveBlock2Ptr->frontier.field_E22[0] + 15) % 16;
+ }
+}
+
+static void sub_81AA398(u8 arg0)
+{
+ s32 i;
+ s32 count;
+ s32 var_28;
+ s32 r4;
+ u32 bits = 0;
+ u8 id = sub_81AA9E4();
+ u8 *allocated = AllocZeroed(0x10);
+
+ sub_81AA96C(allocated);
+ r4 = gSaveBlock2Ptr->frontier.field_E22[2] % 16;
+ if (arg0 == 0)
+ {
+ count = gUnknown_08613650[id].unk1;
+ var_28 = 0;
+ }
+ else
+ {
+ count = gUnknown_08613650[id].unk0;
+ var_28 = gUnknown_08613650[id].unk1;
+ }
+
+ for (i = 0; i < count; i++)
+ {
+ do
+ {
+ do
+ {
+ if (bits & 1)
+ {
+ if (!(gBitTable[r4] & gSaveBlock2Ptr->frontier.field_E22[3]))
+ bits |= 2;
+ }
+ else
+ {
+ if (gBitTable[r4] & gSaveBlock2Ptr->frontier.field_E22[3])
+ bits |= 2;
+ }
+ if (++r4 >= 16)
+ r4 = 0;
+
+ if (r4 == gSaveBlock2Ptr->frontier.field_E22[2] % 16)
+ {
+ if (bits & 1)
+ bits |= 6;
+ else
+ bits |= 1;
+ }
+ } while (!(bits & 2));
+
+ } while (!(bits & 4) && sub_81AA760(arg0, allocated, r4, var_28 + i));
+ bits &= 1;
+ }
+ free(allocated);
+}
+
+static bool8 sub_81AA4D8(u8 arg0, u8 arg1)
+{
+ s32 i;
+ s32 var_28;
+ s32 r6 = 0;
+ s32 r7 = 0;
+ s32 var_34 = 0;
+ s32 count;
+ u8 id = sub_81AA9E4();
+ u8 *allocated = AllocZeroed(0x10);
+
+ sub_81AA96C(allocated);
+ if (arg0 == 0)
+ {
+ count = gUnknown_08613650[id].unk1;
+ var_28 = 0;
+ }
+ else
+ {
+ count = gUnknown_08613650[id].unk0;
+ var_28 = gUnknown_08613650[id].unk1;
+ }
+
+ for (i = 0; i < count; i++)
+ {
+ if (r7 == 0)
+ {
+ if (sub_81AA760(arg0, allocated, arg1, var_28 + i))
+ r7 = 1;
+ else
+ var_34++;
+ }
+ if (r7 & 1)
+ {
+ if (sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r6], var_28 + i))
+ {
+ do
+ {
+ r6++;
+ if (gUnknown_08613F46[arg1][r6] == 0xFF || r6 >= 4)
+ r6 = 0;
+ r7 += 2;
+ } while (r7 >> 1 != 4 && sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r6], var_28 + i));
+ var_34++;
+ }
+ else
+ {
+ r6++;
+ if (gUnknown_08613F46[arg1][r6] == 0xFF || r6 >= 4)
+ r6 = 0;
+ var_34++;
+ }
+ }
+
+ if (r7 >> 1 == 4)
+ break;
+
+ r7 &= 1;
+ }
+ // free(allocated); BUG: allocated memory not freed
+
+ return (count / 2 > var_34);
+}
+
+static bool8 sub_81AA648(u8 arg0, u8 arg1)
+{
+ s32 i;
+ s32 var_28;
+ s32 r4 = 0;
+ s32 r7 = 0;
+ s32 r8 = 0;
+ s32 count;
+ u8 id = sub_81AA9E4();
+ u8 *allocated = AllocZeroed(0x10);
+
+ sub_81AA96C(allocated);
+ if (arg0 == 0)
+ {
+ count = gUnknown_08613650[id].unk1;
+ var_28 = 0;
+ }
+ else
+ {
+ count = gUnknown_08613650[id].unk0;
+ var_28 = gUnknown_08613650[id].unk1;
+ }
+
+ for (i = 0; i < count; i++)
+ {
+ if (sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r4], var_28 + i))
+ {
+ do
+ {
+ r4++;
+ if (gUnknown_08613F46[arg1][r4] == 0xFF || r4 >= 4)
+ r4 = 0;
+ r8++;
+ } while (r8 != 4 && sub_81AA760(arg0, allocated, gUnknown_08613F46[arg1][r4], var_28 + i));
+ r7++;
+ }
+ else
+ {
+ r4++;
+ if (gUnknown_08613F46[arg1][r4] == 0xFF || r4 >= 4)
+ r4 = 0;
+ r7++;
+ }
+
+ if (r8 == 4)
+ break;
+ }
+ // free(allocated); BUG: allocated memory not freed
+
+ return (count / 2 > r7);
+}
+
+static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id)
+{
+ s32 i, j;
+
+ if (gSaveBlock2Ptr->frontier.field_E22[0] & 1)
+ {
+ s32 minus1 = -1;
+ for (i = 7; i > minus1; i--)
+ {
+ for (j = 7; j >= 0; j--)
+ {
+ if (!sub_81AA810(arg0, j, i, mapNums, whichMap, id))
+ return FALSE;
+ }
+ }
+ }
+ else
+ {
+ for (i = 0; i < 8; i++)
+ {
+ for (j = 0; j < 8; j++)
+ {
+ if (!sub_81AA810(arg0, j, i, mapNums, whichMap, id))
+ return FALSE;
+ }
+ }
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id)
+{
+ s32 i, j;
+ const struct MapHeader *mapHeader;
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+
+ mapHeader = Overworld_GetMapHeaderByGroupAndId(MAP_GROUP(BATTLE_PYRAMID_SQUARE01), mapNums[whichMap] + MAP_NUM(BATTLE_PYRAMID_SQUARE01));
+ for (i = 0; i < mapHeader->events->eventObjectCount; i++)
+ {
+ if (mapHeader->events->eventObjects[i].x != x || mapHeader->events->eventObjects[i].y != y)
+ continue;
+
+ if (arg0 != 0 || mapHeader->events->eventObjects[i].graphicsId == EVENT_OBJ_GFX_ITEM_BALL)
+ {
+ if (arg0 != 1 || mapHeader->events->eventObjects[i].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
+ continue;
+ }
+
+ for (j = 0; j < id; j++)
+ {
+ if (events[j].x == x + ((whichMap % 4) * 8) && events[j].y == y + ((whichMap / 4) * 8))
+ break;
+ }
+ if (j != id)
+ continue;
+
+ events[id] = mapHeader->events->eventObjects[i];
+ events[id].x += ((whichMap % 4) * 8);
+ events[id].y += ((whichMap / 4) * 8);
+ events[id].localId = id + 1;
+ if (events[id].graphicsId != EVENT_OBJ_GFX_ITEM_BALL)
+ {
+ i = sub_81A9F90(id);
+ events[id].graphicsId = GetBattleFacilityTrainerGfxId(i);
+ gSaveBlock2Ptr->frontier.field_CB4[id] = i;
+ }
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static void sub_81AA96C(u8 *mapNums)
+{
+ s32 i;
+ s32 bits = (gSaveBlock2Ptr->frontier.field_E22[0]) | (gSaveBlock2Ptr->frontier.field_E22[1] << 16);
+ u8 id = sub_81AA9E4();
+
+ for (i = 0; i < 16; i++)
+ {
+ mapNums[i] = gUnknown_08613650[id].unk5[bits & 7];
+ bits >>= 3;
+ if (i == 7)
+ {
+ bits = (gSaveBlock2Ptr->frontier.field_E22[2]) | (gSaveBlock2Ptr->frontier.field_E22[3] << 16);
+ bits >>= 8;
+ }
+ }
+}
+
+static u8 sub_81AA9E4(void)
+{
+ s32 i;
+ s32 var = gSaveBlock2Ptr->frontier.field_E22[3] % 100;
+ s32 battleNum = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+
+ for (i = gUnknown_08613794[battleNum]; i < ARRAY_COUNT(gUnknown_08613750); i++)
+ {
+ if (var < gUnknown_08613750[i][0])
+ return gUnknown_08613750[i][1];
+ }
+ return 0;
+}
+
+u8 sub_81AAA40(void)
+{
+ u8 i;
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+
+ for (i = 0; i < 16; i++)
+ {
+ if (events[i].localId == 0)
+ break;
+ }
+
+ return i;
+}
+
+static void InitBagItems(u8 lvlMode)
+{
+ s32 i;
+
+ for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++)
+ {
+ gSaveBlock2Ptr->frontier.pyramidBag.itemId[lvlMode][i] = 0;
+ gSaveBlock2Ptr->frontier.pyramidBag.quantity[lvlMode][i] = 0;
+ }
+
+ AddPyramidBagItem(ITEM_HYPER_POTION, 1);
+ AddPyramidBagItem(ITEM_ETHER, 1);
+}
+
+u16 GetBattlePyramidPickupItemId(void)
+{
+ s32 rand;
+ u32 i;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ s32 round = (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7);
+
+ if (round >= TOTAL_ROUNDS)
+ round = TOTAL_ROUNDS - 1;
+
+ rand = Random() % 100;
+
+ for (i = 0; i < ARRAY_COUNT(sPickupPercentages); i++)
+ {
+ if (sPickupPercentages[i] > rand)
+ break;
+ }
+
+ if (i >= PICKUP_ITEMS_PER_ROUND)
+ i = PICKUP_ITEMS_PER_ROUND - 1;
+
+ if (lvlMode != FRONTIER_LVL_50)
+ return sPickupItemsLvlOpen[round][i];
+ else
+ return sPickupItemsLvl50[round][i];
+}
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index e8ff7cce7..2225a3e55 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -1,35 +1,35 @@
#include "global.h"
-#include "battle_pyramid_bag.h"
-#include "main.h"
+#include "battle.h"
#include "battle_controllers.h"
+#include "battle_pyramid_bag.h"
#include "bg.h"
+#include "decompress.h"
+#include "event_data.h"
#include "field_effect.h"
#include "field_weather.h"
+#include "graphics.h"
#include "gpu_regs.h"
+#include "international_string_util.h"
+#include "item.h"
+#include "item_icon.h"
+#include "item_menu.h"
+#include "item_use.h"
+#include "list_menu.h"
+#include "mail.h"
+#include "main.h"
#include "malloc.h"
#include "menu.h"
-#include "overworld.h"
#include "menu_helpers.h"
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
+#include "task.h"
+#include "text_window.h"
#include "scanline_effect.h"
#include "script.h"
-#include "task.h"
-#include "decompress.h"
-#include "graphics.h"
+#include "sound.h"
#include "string_util.h"
-#include "list_menu.h"
#include "strings.h"
-#include "item.h"
-#include "sound.h"
-#include "item_menu.h"
-#include "mail.h"
-#include "item_use.h"
-#include "event_data.h"
-#include "text_window.h"
-#include "international_string_util.h"
-#include "item_icon.h"
#include "constants/items.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -37,13 +37,6 @@
EWRAM_DATA struct PyramidBagResources *gPyramidBagResources = NULL;
EWRAM_DATA struct PyramidBagCursorData gPyramidBagCursorData = {0};
-// gfx
-extern const u8 gUnknown_08D9ADD0[];
-extern const u8 gUnknown_08D9AE04[];
-extern const u8 gUnknown_08D9AF44[];
-extern const u16 gUnknown_0860F074[];
-extern const u8 gBattleFrontierGfx_PyramidBag[];
-
// This file's functions.
static void Task_HandlePyramidBagInput(u8 taskId);
static void sub_81C4F44(u8 taskId);
@@ -195,7 +188,7 @@ static const u8 sColorTable[][3] =
static const struct WindowTemplate gUnknown_0861F328[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 14,
.tilemapTop = 2,
.width = 15,
@@ -204,7 +197,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
.baseBlock = 30
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
.width = 14,
@@ -213,7 +206,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
.baseBlock = 270
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -222,7 +215,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
.baseBlock = 354
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 24,
.tilemapTop = 17,
.width = 5,
@@ -236,7 +229,7 @@ static const struct WindowTemplate gUnknown_0861F328[] =
static const struct WindowTemplate gUnknown_0861F350[] =
{
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 22,
.tilemapTop = 17,
.width = 7,
@@ -245,7 +238,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 22,
.tilemapTop = 15,
.width = 7,
@@ -254,7 +247,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 15,
.tilemapTop = 15,
.width = 14,
@@ -263,7 +256,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 15,
.tilemapTop = 13,
.width = 14,
@@ -272,7 +265,7 @@ static const struct WindowTemplate gUnknown_0861F350[] =
.baseBlock = 472
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 24,
.tilemapTop = 15,
.width = 5,
@@ -949,7 +942,7 @@ static void HandleFewMenuActionsInput(u8 taskId)
{
if (sub_81221EC() != TRUE)
{
- s32 id = Menu_ProcessInputNoWrapAround();
+ s32 id = Menu_ProcessInputNoWrap();
switch (id)
{
case -2:
@@ -1464,7 +1457,7 @@ static void sub_81C6DAC(u8 taskId, const struct YesNoFuncTable *yesNoTable)
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId))
{
FillWindowPixelBuffer(2, 0x11);
- DisplayMessageAndContinueTask(taskId, 2, 0xA, 0xD, 1, GetPlayerTextSpeed(), str, callback);
+ DisplayMessageAndContinueTask(taskId, 2, 0xA, 0xD, 1, GetPlayerTextSpeedDelay(), str, callback);
schedule_bg_copy_tilemap_to_vram(1);
}
diff --git a/src/battle_records.c b/src/battle_records.c
index feaec74db..f64b5f494 100644
--- a/src/battle_records.c
+++ b/src/battle_records.c
@@ -65,7 +65,7 @@ static const struct BgTemplate sTrainerHillRecordsBgTemplates[] =
static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 26,
@@ -78,7 +78,7 @@ static const struct WindowTemplate sTrainerHillRecordsWindowTemplates[] =
static const struct WindowTemplate sLinkBattleRecordsWindow =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 26,
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 33d86924f..6a7ca1725 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -43,33 +43,23 @@
#include "battle_setup.h"
#include "overworld.h"
#include "party_menu.h"
+#include "battle_arena.h"
+#include "battle_pike.h"
+#include "battle_pyramid.h"
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const u8* const gBattleScriptsForMoveEffects[];
// functions
-extern void sub_81A5718(u8 battlerId); // battle frontier 2
-extern void sub_81A56B4(void); // battle frontier 2
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 u8 sub_81A5258(u8* arg0); // battle frontier 2
-extern void sub_81A5BF8(void); // battle frontier 2
-extern void sub_81A5D44(void); // battle frontier 2
extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu
extern bool8 sub_81B1250(void); // ?
-extern bool8 InBattlePike(void);
-extern bool8 InBattlePyramid(void);
-extern u16 GetBattlePyramidPickupItemId(void);
extern u8 sub_813B21C(void);
extern u16 get_unknown_box_id(void);
@@ -731,7 +721,7 @@ static const u8* const sMoveEffectBS_Ptrs[] =
static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
static const u16 sUnknown_0831C2C8[] = INCBIN_U16("graphics/battle_interface/unk_battlebox.gbapal");
-static const u8 sUnknown_0831C2E8[] = INCBIN_U8("graphics/battle_interface/unk_battlebox.4bpp.lz");
+static const u32 sUnknown_0831C2E8[] = INCBIN_U32("graphics/battle_interface/unk_battlebox.4bpp.lz");
// unused
static const u8 sRubyLevelUpStatBoxStats[] =
@@ -952,7 +942,7 @@ static void atk00_attackcanceler(void)
return;
if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0))
return;
- if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200)
+ if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & (HITMARKER_x800000 | HITMARKER_NO_ATTACKSTRING))
&& !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))
{
gBattlescriptCurrInstr = BattleScript_NoPPForMove;
@@ -3288,7 +3278,7 @@ static void atk23_getexp(void)
u16 calculatedExp;
s32 viaSentIn;
- for (viaSentIn = 0, i = 0; i < 6; i++)
+ for (viaSentIn = 0, i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE || GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0)
continue;
@@ -3546,10 +3536,10 @@ static void atk24(void)
}
else
{
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)
- && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A0 & gBitTable[i])))
+ && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostPlayerMons & gBitTable[i])))
{
HP_count += GetMonData(&gPlayerParty[i], MON_DATA_HP);
}
@@ -3559,10 +3549,10 @@ static void atk24(void)
if (HP_count == 0)
gBattleOutcome |= B_OUTCOME_LOST;
- for (HP_count = 0, i = 0; i < 6; i++)
+ for (HP_count = 0, i = 0; i < PARTY_SIZE; i++)
{
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG)
- && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->field_2A1 & gBitTable[i])))
+ && (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || !(gBattleStruct->arenaLostOpponentMons & gBitTable[i])))
{
HP_count += GetMonData(&gEnemyParty[i], MON_DATA_HP);
}
@@ -4243,7 +4233,7 @@ static void atk3C_return(void)
static void atk3D_end(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
- sub_81A5718(gBattlerAttacker);
+ BattleArena_AddSkillPoints(gBattlerAttacker);
gMoveResultFlags = 0;
gActiveBattler = 0;
@@ -4955,7 +4945,7 @@ static void atk4D_switchindataupdate(void)
if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
{
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
{
gBattleMons[gActiveBattler].statStages[i] = oldData.statStages[i];
}
@@ -5000,7 +4990,7 @@ static void atk4E_switchinanim(void)
gBattlescriptCurrInstr += 3;
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
- sub_81A56B4();
+ BattleArena_InitPoints();
}
static void atk4F_jumpifcantswitch(void)
@@ -6380,7 +6370,7 @@ static void PutLevelAndGenderOnLvlUpBox(void)
{
u16 monLevel;
u8 monGender;
- struct TextSubPrinter subPrinter;
+ struct TextPrinterTemplate printerTemplate;
u8 *txtPtr;
u32 var;
@@ -6388,21 +6378,21 @@ static void PutLevelAndGenderOnLvlUpBox(void)
monGender = GetMonGender(&gPlayerParty[gBattleStruct->expGetterMonId]);
GetMonNickname(&gPlayerParty[gBattleStruct->expGetterMonId], gStringVar4);
- subPrinter.current_text_offset = gStringVar4;
- subPrinter.windowId = 14;
- subPrinter.fontId = 0;
- subPrinter.x = 32;
- subPrinter.y = 0;
- subPrinter.currentX = 32;
- subPrinter.currentY = 0;
- subPrinter.letterSpacing = 0;
- subPrinter.lineSpacing = 0;
- subPrinter.fontColor_l = TEXT_COLOR_TRANSPARENT;
- subPrinter.fgColor = TEXT_COLOR_WHITE;
- subPrinter.bgColor = TEXT_COLOR_TRANSPARENT;
- subPrinter.shadowColor = TEXT_COLOR_DARK_GREY;
-
- AddTextPrinter(&subPrinter, 0xFF, NULL);
+ printerTemplate.currentChar = gStringVar4;
+ printerTemplate.windowId = 14;
+ printerTemplate.fontId = 0;
+ printerTemplate.x = 32;
+ printerTemplate.y = 0;
+ printerTemplate.currentX = 32;
+ printerTemplate.currentY = 0;
+ printerTemplate.letterSpacing = 0;
+ printerTemplate.lineSpacing = 0;
+ printerTemplate.unk = 0;
+ printerTemplate.fgColor = TEXT_COLOR_WHITE;
+ printerTemplate.bgColor = TEXT_COLOR_TRANSPARENT;
+ printerTemplate.shadowColor = TEXT_COLOR_DARK_GREY;
+
+ AddTextPrinter(&printerTemplate, 0xFF, NULL);
txtPtr = gStringVar4;
gStringVar4[0] = CHAR_SPECIAL_F9;
@@ -6432,9 +6422,9 @@ static void PutLevelAndGenderOnLvlUpBox(void)
*(txtPtr++) = EOS;
}
- subPrinter.y = 10;
- subPrinter.currentY = 10;
- AddTextPrinter(&subPrinter, 0xFF, NULL);
+ printerTemplate.y = 10;
+ printerTemplate.currentY = 10;
+ AddTextPrinter(&printerTemplate, 0xFF, NULL);
CopyWindowToVram(14, 2);
}
@@ -6697,34 +6687,34 @@ static void atk76_various(void)
gBattleCommunication[MULTISTRING_CHOOSER] = sUnknown_0831C4F8[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)];
}
break;
- case 9:
- i = sub_81A5258(gBattleCommunication);
+ case VARIOUS_ARENA_JUDGMENT_WINDOW:
+ i = BattleArena_ShowJudgmentWindow(&gBattleCommunication[0]);
if (i == 0)
return;
gBattleCommunication[1] = i;
break;
- case 10:
+ case VARIOUS_ARENA_OPPONENT_MON_LOST:
gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(1);
- gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]];
+ gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[1].truantUnknownBit = 1;
break;
- case 11:
+ case VARIOUS_ARENA_PLAYER_MON_LOST:
gBattleMons[0].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_x400000;
- gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]];
+ gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
gDisableStructs[0].truantUnknownBit = 1;
break;
- case 12:
+ case VARIOUS_ARENA_BOTH_MONS_LOST:
gBattleMons[0].hp = 0;
gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_FAINTED(1);
gHitMarker |= HITMARKER_x400000;
- gBattleStruct->field_2A0 |= gBitTable[gBattlerPartyIndexes[0]];
- gBattleStruct->field_2A1 |= gBitTable[gBattlerPartyIndexes[1]];
+ gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
+ gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
gDisableStructs[0].truantUnknownBit = 1;
gDisableStructs[1].truantUnknownBit = 1;
break;
@@ -6738,11 +6728,11 @@ static void atk76_various(void)
case 15:
sub_81A5D44();
break;
- case 16:
+ case VARIOUS_ARENA_JUDGMENT_STRING:
BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]);
BattlePutTextOnWindow(gDisplayedStringBattle, 0x16);
break;
- case 17:
+ case VARIOUS_ARENA_WAIT_STRING:
if (IsTextPrinterActive(0x16))
return;
break;
@@ -6775,8 +6765,8 @@ static void atk76_various(void)
case VARIOUS_VOLUME_UP:
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
break;
- case 23:
- gBattleStruct->field_2A2 |= gBitTable[gActiveBattler];
+ case VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT:
+ gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[gActiveBattler];
break;
case 24:
if (sub_805725C(gActiveBattler))
@@ -7409,7 +7399,7 @@ static void atk8A_normalisebuffs(void) // haze
for (i = 0; i < gBattlersCount; i++)
{
- for (j = 0; j < BATTLE_STATS_NO; j++)
+ for (j = 0; j < NUM_BATTLE_STATS; j++)
gBattleMons[i].statStages[j] = 6;
}
@@ -9037,7 +9027,7 @@ static void atkBD_copyfoestats(void) // psych up
{
s32 i;
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
{
gBattleMons[gBattlerAttacker].statStages[i] = gBattleMons[gBattlerTarget].statStages[i];
}
@@ -9863,71 +9853,72 @@ static void atkE4_getsecretpowereffect(void)
static void atkE5_pickup(void)
{
- if (!InBattlePike())
+ s32 i;
+ u16 species, heldItem;
+ u8 ability;
+
+ if (InBattlePike())
{
- s32 i;
- u16 species, heldItem;
- u8 ability;
- if (InBattlePyramid())
+ }
+ else if (InBattlePyramid())
+ {
+ for (i = 0; i < PARTY_SIZE; i++)
{
- for (i = 0; i < 6; i++)
- {
- species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
- if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
- ability = gBaseStats[species].ability2;
- else
- ability = gBaseStats[species].ability1;
+ if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
+ ability = gBaseStats[species].ability2;
+ else
+ ability = gBaseStats[species].ability1;
- if (ability == ABILITY_PICKUP
- && species != 0
- && species != SPECIES_EGG
- && heldItem == ITEM_NONE
- && (Random() % 10) == 0)
- {
- heldItem = GetBattlePyramidPickupItemId();
- SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
- }
+ if (ability == ABILITY_PICKUP
+ && species != 0
+ && species != SPECIES_EGG
+ && heldItem == ITEM_NONE
+ && (Random() % 10) == 0)
+ {
+ heldItem = GetBattlePyramidPickupItemId();
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
}
- else
+ }
+ else
+ {
+ for (i = 0; i < PARTY_SIZE; i++)
{
- for (i = 0; i < 6; i++)
- {
- species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
- heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
- if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
- ability = gBaseStats[species].ability2;
- else
- ability = gBaseStats[species].ability1;
+ if (GetMonData(&gPlayerParty[i], MON_DATA_ALT_ABILITY))
+ ability = gBaseStats[species].ability2;
+ else
+ ability = gBaseStats[species].ability1;
- if (ability == ABILITY_PICKUP
- && species != 0
- && species != SPECIES_EGG
- && heldItem == ITEM_NONE
- && (Random() % 10) == 0)
- {
- s32 j;
- s32 rand = Random() % 100;
- u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
- if (lvlDivBy10 > 9)
- lvlDivBy10 = 9;
+ if (ability == ABILITY_PICKUP
+ && species != 0
+ && species != SPECIES_EGG
+ && heldItem == ITEM_NONE
+ && (Random() % 10) == 0)
+ {
+ s32 j;
+ s32 rand = Random() % 100;
+ u8 lvlDivBy10 = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
+ if (lvlDivBy10 > 9)
+ lvlDivBy10 = 9;
- for (j = 0; j < 9; j++)
+ for (j = 0; j < 9; j++)
+ {
+ if (sPickupProbabilities[j] > rand)
{
- if (sPickupProbabilities[j] > rand)
- {
- SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
- break;
- }
- else if (rand == 99 || rand == 98)
- {
- SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
- break;
- }
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sPickupItems[lvlDivBy10 + j]);
+ break;
+ }
+ else if (rand == 99 || rand == 98)
+ {
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &sRarePickupItems[lvlDivBy10 + (99 - rand)]);
+ break;
}
}
}
diff --git a/src/battle_setup.c b/src/battle_setup.c
index db173a38e..4243d2f3f 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "constants/trainers.h"
#include "battle.h"
+#include "constants/battle_setup.h"
#include "battle_setup.h"
#include "battle_transition.h"
#include "main.h"
@@ -31,7 +32,10 @@
#include "string_util.h"
#include "overworld.h"
#include "field_weather.h"
+#include "battle_tower.h"
#include "gym_leader_rematch.h"
+#include "battle_pike.h"
+#include "battle_pyramid.h"
#include "constants/map_types.h"
#include "constants/battle_frontier.h"
@@ -52,8 +56,6 @@ struct TrainerBattleParameter
u8 ptrType;
};
-extern bool8 InBattlePyramid(void);
-extern bool8 InBattlePike(void);
extern bool32 InTrainerHill(void);
extern bool32 FieldPoisonEffectIsRunning(void);
extern void RestartWildEncounterImmunitySteps(void);
@@ -62,19 +64,13 @@ extern void sub_81BE72C(void);
extern void sub_808BCF4(void);
extern void sub_80EECC8(void);
extern void sub_80AF6F0(void);
-extern u16 sub_81A9AA8(u8 localId);
extern u16 sub_81D6180(u8 localId);
-extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjId);
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
extern bool8 sub_81D5C18(void);
-extern void sub_816306C(u8 a0);
-extern void sub_8163048(u8 a0);
-extern void sub_81A9B04(void);
extern void sub_81D639C(void);
extern void sub_81D6384(void);
extern void sub_81D61E8(void);
extern void sub_80982B8(void);
-extern void sub_81A9EDC(u16 a0);
extern void CopyTrainerHillTrainerText(u8 a0, u16 arg1);
// this file's functions
@@ -665,7 +661,7 @@ u8 BattleSetup_GetTerrainId(void)
return BATTLE_TERRAIN_MOUNTAIN;
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
{
- if (MetatileBehavior_GetBridgeSth(tileBehavior))
+ if (MetatileBehavior_GetBridgeType(tileBehavior))
return BATTLE_TERRAIN_POND;
if (MetatileBehavior_IsBridge(tileBehavior) == TRUE)
return BATTLE_TERRAIN_WATER;
@@ -885,8 +881,8 @@ u8 sub_80B100C(s32 arg0)
return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)];
}
- var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 0]
- + gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 1];
+ var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 0]
+ + gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum * 2 + 1];
return sUnknown_0854FE98[var % ARRAY_COUNT(sUnknown_0854FE98)];
}
@@ -1090,7 +1086,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
switch (sTrainerBattleMode)
{
- case TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT:
+ case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
return EventScript_2713C2;
case TRAINER_BATTLE_DOUBLE:
@@ -1132,12 +1128,12 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
SetMapVarsToTrainer();
- gTrainerBattleOpponent_A = sub_81A9AA8(gSpecialVar_LastTalked);
+ gTrainerBattleOpponent_A = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
}
else
{
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
- gTrainerBattleOpponent_B = sub_81A9AA8(gSpecialVar_LastTalked);
+ gTrainerBattleOpponent_B = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
}
return EventScript_271362;
case TRAINER_BATTLE_SET_TRAINER_A:
@@ -1264,7 +1260,7 @@ void BattleSetup_StartTrainerBattle(void)
if (gNoOfApproachingTrainers == 2)
{
- sub_816306C(1);
+ FillFrontierTrainersParties(1);
ZeroMonData(&gEnemyParty[1]);
ZeroMonData(&gEnemyParty[2]);
ZeroMonData(&gEnemyParty[4]);
@@ -1272,7 +1268,7 @@ void BattleSetup_StartTrainerBattle(void)
}
else
{
- sub_8163048(1);
+ FillFrontierTrainerParty(1);
ZeroMonData(&gEnemyParty[1]);
ZeroMonData(&gEnemyParty[2]);
}
@@ -1361,9 +1357,9 @@ void ShowTrainerIntroSpeech(void)
if (InBattlePyramid())
{
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
- sub_81A9EDC(sub_81A9AA8(gSpecialVar_LastTalked));
+ CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gSpecialVar_LastTalked));
else
- sub_81A9EDC(sub_81A9AA8(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
+ CopyPyramidTrainerSpeechBefore(LocalIdToPyramidTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
sub_80982B8();
}
diff --git a/src/battle_tent.c b/src/battle_tent.c
index e30cac386..c7e70912c 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -8,8 +8,9 @@
#include "battle_tower.h"
#include "random.h"
#include "item.h"
-#include "battle_factory.h"
-#include "battle_frontier_2.h"
+#include "battle_factory_screen.h"
+#include "frontier_util.h"
+#include "string_util.h"
#include "constants/items.h"
#include "constants/region_map_sections.h"
@@ -17,8 +18,6 @@ extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
extern const struct FacilityMon gSlateportBattleTentMons[];
extern const u16 gBattleFrontierHeldItems[];
-extern u16 gUnknown_03006298[];
-
// This file's functions.
static void sub_81B99D4(void);
static void sub_81B9A28(void);
@@ -102,7 +101,7 @@ void sub_81B99B4(void)
static void sub_81B99D4(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = 0;
- gSaveBlock2Ptr->frontier.field_CB2 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -120,13 +119,13 @@ static void sub_81B9A44(void)
static void sub_81B9A60(void)
{
gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64;
- sub_8162614(gTrainerBattleOpponent_A, 0);
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
}
static void sub_81B9A90(void)
{
if (gTrainerBattleOpponent_A < 300)
- ConvertBattleFrontierTrainerSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
+ FrontierSpeechToString(gFacilityTrainers[gTrainerBattleOpponent_A].speechBefore);
}
static void sub_81B9ABC(void)
@@ -164,7 +163,7 @@ void sub_81B9B80(void)
static void sub_81B9BA0(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = 0;
- gSaveBlock2Ptr->frontier.field_CB2 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -219,7 +218,7 @@ void sub_81B9D08(void)
static void sub_81B9D28(void)
{
gSaveBlock2Ptr->frontier.field_CA8 = 0;
- gSaveBlock2Ptr->frontier.field_CB2 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = FALSE;
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
}
@@ -278,17 +277,17 @@ bool8 sub_81B9E94(void)
&& ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386)));
}
-// This function was written very...oddly.
-#ifdef NONMATCHING
static void sub_81B9EC0(void)
{
s32 i, j;
- u16 currMonId = 0, currSpecies = 0;
+ u8 firstMonId;
+ u16 monSetId;
+ u16 currSpecies;
u16 species[PARTY_SIZE];
u16 monIds[PARTY_SIZE];
u16 heldItems[PARTY_SIZE];
- s32 zero = 0;
+ firstMonId = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
for (i = 0; i < PARTY_SIZE; i++)
{
@@ -298,250 +297,56 @@ static void sub_81B9EC0(void)
}
gFacilityTrainerMons = gSlateportBattleTentMons;
currSpecies = 0;
- for (i = 0; i != PARTY_SIZE;)
+ i = 0;
+ while (i != PARTY_SIZE)
{
// Cannot have two pokemon of the same species.
- currMonId = Random() % 70;
- for (j = zero; j < i + zero; j++)
+ monSetId = Random() % 70;
+ for (j = firstMonId; j < firstMonId + i; j++)
{
- if (monIds[j] == currMonId)
+ u16 monId = monIds[j];
+ if (monIds[j] == monSetId)
break;
- if (species[j] == gFacilityTrainerMons[currMonId].species)
+ if (species[j] == gFacilityTrainerMons[monSetId].species)
{
if (currSpecies == 0)
- currSpecies = gFacilityTrainerMons[currMonId].species;
+ currSpecies = gFacilityTrainerMons[monSetId].species;
else
break;
}
}
- if (j != i + zero)
+ if (j != i + firstMonId)
continue;
// Cannot have two same held items.
- for (j = zero; j < i + zero; j++)
+ for (j = firstMonId; j < i + firstMonId; j++)
{
- if (heldItems[j] == 0)
- continue;
- if (heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId])
+ if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
{
- if (gFacilityTrainerMons[currMonId].species == currSpecies)
+ if (gFacilityTrainerMons[monSetId].species == currSpecies)
currSpecies = 0;
- else
- break;
+ break;
}
}
- if (j != i + zero)
+ if (j != i + firstMonId)
continue;
- gSaveBlock2Ptr->frontier.field_E70[i].monId = currMonId;
- species[i] = gFacilityTrainerMons[currMonId].species;
- heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[currMonId].itemTableId];
- monIds[i] = currMonId;
+ gSaveBlock2Ptr->frontier.field_E70[i].monId = monSetId;
+ species[i] = gFacilityTrainerMons[monSetId].species;
+ heldItems[i] = gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId];
+ monIds[i] = monSetId;
i++;
}
}
-#else
-NAKED
-static void sub_81B9EC0(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\
- sub sp, 0x3C\n\
- ldr r1, =gFacilityTrainers\n\
- ldr r0, =gSlateportBattleTentTrainers\n\
- str r0, [r1]\n\
- add r0, sp, 0xC\n\
- mov r9, r0\n\
- mov r1, sp\n\
- adds r1, 0x18\n\
- str r1, [sp, 0x2C]\n\
- ldr r5, =gFacilityTrainerMons\n\
- ldr r4, =gSlateportBattleTentMons\n\
- movs r2, 0\n\
- adds r3, r1, 0\n\
- mov r1, r9\n\
- mov r0, sp\n\
- movs r6, 0x5\n\
- mov r8, r6\n\
-_081B9EEC:\n\
- strh r2, [r0]\n\
- strh r2, [r1]\n\
- strh r2, [r3]\n\
- adds r3, 0x2\n\
- adds r1, 0x2\n\
- adds r0, 0x2\n\
- movs r7, 0x1\n\
- negs r7, r7\n\
- add r8, r7\n\
- mov r6, r8\n\
- cmp r6, 0\n\
- bge _081B9EEC\n\
- str r4, [r5]\n\
- movs r7, 0\n\
- mov r10, r7\n\
- movs r0, 0\n\
- mov r8, r0\n\
- ldr r1, [sp, 0x2C]\n\
- str r1, [sp, 0x30]\n\
- mov r2, sp\n\
- str r2, [sp, 0x34]\n\
- lsls r6, r0, 1\n\
- str r6, [sp, 0x24]\n\
- add r6, r9\n\
- str r6, [sp, 0x28]\n\
-_081B9F1E:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x46\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- movs r2, 0\n\
- mov r7, r8\n\
- adds r6, r2, r7\n\
- cmp r2, r6\n\
- bge _081B9F7C\n\
- ldr r1, [sp, 0x28]\n\
- ldrh r0, [r1]\n\
- cmp r0, r5\n\
- beq _081B9F7C\n\
- ldr r0, =gFacilityTrainerMons\n\
- ldr r1, [r0]\n\
- lsls r0, r5, 4\n\
- adds r4, r0, r1\n\
- ldrh r7, [r4]\n\
- mov r12, r7\n\
- lsls r3, r2, 1\n\
- ldr r1, [sp, 0x24]\n\
- add r1, sp\n\
- str r6, [sp, 0x38]\n\
-_081B9F56:\n\
- ldrh r0, [r1]\n\
- cmp r0, r12\n\
- bne _081B9F66\n\
- mov r0, r10\n\
- cmp r0, 0\n\
- bne _081B9F7C\n\
- ldrh r7, [r4]\n\
- mov r10, r7\n\
-_081B9F66:\n\
- adds r3, 0x2\n\
- adds r1, 0x2\n\
- adds r2, 0x1\n\
- ldr r0, [sp, 0x38]\n\
- cmp r2, r0\n\
- bge _081B9F7C\n\
- mov r7, r9\n\
- adds r0, r7, r3\n\
- ldrh r0, [r0]\n\
- cmp r0, r5\n\
- bne _081B9F56\n\
-_081B9F7C:\n\
- cmp r2, r6\n\
- bne _081BA01C\n\
- movs r2, 0\n\
- cmp r2, r6\n\
- bge _081B9FD4\n\
- ldr r0, =gBattleFrontierHeldItems\n\
- mov r12, r0\n\
- ldr r7, =gFacilityTrainerMons\n\
- ldr r1, [sp, 0x24]\n\
- ldr r0, [sp, 0x2C]\n\
- adds r4, r1, r0\n\
-_081B9F92:\n\
- ldrh r3, [r4]\n\
- cmp r3, 0\n\
- beq _081B9FCC\n\
- ldr r1, [r7]\n\
- lsls r0, r5, 4\n\
- adds r1, r0, r1\n\
- ldrb r0, [r1, 0xA]\n\
- lsls r0, 1\n\
- add r0, r12\n\
- ldrh r0, [r0]\n\
- cmp r3, r0\n\
- bne _081B9FCC\n\
- ldrh r0, [r1]\n\
- cmp r0, r10\n\
- bne _081B9FD4\n\
- movs r1, 0\n\
- mov r10, r1\n\
- b _081B9FD4\n\
- .pool\n\
-_081B9FCC:\n\
- adds r4, 0x2\n\
- adds r2, 0x1\n\
- cmp r2, r6\n\
- blt _081B9F92\n\
-_081B9FD4:\n\
- cmp r2, r6\n\
- bne _081BA01C\n\
- ldr r0, =gSaveBlock2Ptr\n\
- ldr r1, [r0]\n\
- mov r2, r8\n\
- lsls r3, r2, 1\n\
- adds r0, r3, r2\n\
- lsls r0, 2\n\
- adds r1, r0\n\
- movs r6, 0xE7\n\
- lsls r6, 4\n\
- adds r1, r6\n\
- strh r5, [r1]\n\
- ldr r0, =gFacilityTrainerMons\n\
- ldr r0, [r0]\n\
- lsls r1, r5, 4\n\
- adds r1, r0\n\
- ldrh r0, [r1]\n\
- ldr r7, [sp, 0x34]\n\
- strh r0, [r7]\n\
- ldr r2, =gBattleFrontierHeldItems\n\
- ldrb r0, [r1, 0xA]\n\
- lsls r0, 1\n\
- adds r0, r2\n\
- ldrh r0, [r0]\n\
- ldr r1, [sp, 0x30]\n\
- strh r0, [r1]\n\
- add r3, r9\n\
- strh r5, [r3]\n\
- adds r1, 0x2\n\
- str r1, [sp, 0x30]\n\
- adds r2, r7, 0\n\
- adds r2, 0x2\n\
- str r2, [sp, 0x34]\n\
- movs r6, 0x1\n\
- add r8, r6\n\
-_081BA01C:\n\
- mov r7, r8\n\
- cmp r7, 0x6\n\
- beq _081BA024\n\
- b _081B9F1E\n\
-_081BA024:\n\
- add sp, 0x3C\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 // NONMATCHING
static void sub_81BA040(void)
{
u16 trainerId;
s32 i, j, k;
- register const u16 *monSetsPool asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
+ register const u16 *monSets asm("r9"); // Fix me. Compiler insists on moving that variable into stack.
u16 species[3];
u16 heldItems[3];
- s32 monPoolCount = 0;
+ s32 setsCount = 0;
gFacilityTrainers = gSlateportBattleTentTrainers;
gFacilityTrainerMons = gSlateportBattleTentMons;
@@ -551,29 +356,29 @@ static void sub_81BA040(void)
do
{
trainerId = Random() % 30;
- for (i = 0; i < gSaveBlock2Ptr->frontier.field_CB2; i++)
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
{
if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;
}
- } while (i != gSaveBlock2Ptr->frontier.field_CB2);
+ } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
gTrainerBattleOpponent_A = trainerId;
- while (gFacilityTrainers[gTrainerBattleOpponent_A].btMonPool[monPoolCount] != 0xFFFF)
- monPoolCount++;
- if (monPoolCount > 8)
+ while (gFacilityTrainers[gTrainerBattleOpponent_A].monSets[setsCount] != 0xFFFF)
+ setsCount++;
+ if (setsCount > 8)
break;
- monPoolCount = 0;
+ setsCount = 0;
}
- if (gSaveBlock2Ptr->frontier.field_CB2 < 2)
- gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2] = gTrainerBattleOpponent_A;
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 2)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
- monSetsPool = gFacilityTrainers[gTrainerBattleOpponent_A].btMonPool;
+ monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
i = 0;
while (i != 3)
{
- sRandMonSetId = monSetsPool[Random() % monPoolCount];
+ sRandMonSetId = monSets[Random() % setsCount];
for (j = 0; j < 6; j++)
{
if (gFacilityTrainerMons[sRandMonSetId].species == gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_E70[j].monId].species)
diff --git a/src/battle_tower.c b/src/battle_tower.c
index e70d4af91..f9dfcabd1 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -1,19 +1,199 @@
#include "global.h"
+#include "battle_tower.h"
+#include "apprentice.h"
#include "event_data.h"
#include "battle_setup.h"
#include "overworld.h"
#include "random.h"
-#include "battle_tower.h"
+#include "text.h"
+#include "main.h"
+#include "international_string_util.h"
+#include "battle.h"
+#include "frontier_util.h"
+#include "recorded_battle.h"
+#include "easy_chat.h"
+#include "gym_leader_rematch.h"
+#include "battle_transition.h"
+#include "trainer_see.h"
+#include "new_game.h"
+#include "string_util.h"
+#include "data2.h"
+#include "link.h"
+#include "field_message_box.h"
+#include "tv.h"
+#include "battle_factory.h"
+#include "constants/battle_frontier.h"
+#include "constants/trainers.h"
+#include "constants/event_objects.h"
+#include "constants/moves.h"
+#include "constants/species.h"
+
+extern void sub_81A4C30(void);
+
+extern const u8 *const *const gUnknown_085DD690[];
+extern const u16 gBattleFrontierHeldItems[];
+extern const u8 sRubyFacilityClassToEmerald[82][2];
+extern const u16 gUnknown_085DFA46[];
+extern const struct FacilityMon gSlateportBattleTentMons[];
+extern const struct FacilityMon gVerdanturfBattleTentMons[];
+extern const struct FacilityMon gFallarborBattleTentMons[];
+extern const struct FacilityMon gBattleFrontierMons[];
+extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
+extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
+extern const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[];
+extern const struct BattleFrontierTrainer gFallarborBattleTentTrainers[];
-extern void sub_81A3ACC(void);
+struct
+{
+ u32 facilityClass;
+ const u8 *const *strings;
+} extern const gUnknown_085DD500[50];
+
+struct
+{
+ u16 species;
+ u8 fixedIV;
+ u8 level;
+ u8 nature;
+ u8 evs[6];
+ u16 moves[4];
+} extern const sStevenMons[3];
-extern const u32 gUnknown_085DF9AC[][2];
-extern const u32 gUnknown_085DF9CC[][2];
-extern void (* const gUnknown_085DF96C[])(void);
+extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224157[];
+extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224166[];
+
+// EWRAM vars.
+EWRAM_DATA const struct BattleFrontierTrainer *gFacilityTrainers = NULL;
+EWRAM_DATA const struct FacilityMon *gFacilityTrainerMons = NULL;
+
+// IWRAM common
+u16 gUnknown_03006298[4];
// This file's functions.
-void sub_8164ED8(void);
-u16 sub_8164FCC(u8, u8);
+static void sub_8161F94(void);
+static void sub_8162054(void);
+static void sub_81620F4(void);
+static void ChooseNextBattleTowerTrainer(void);
+static void sub_81621C0(void);
+static void AwardBattleTowerRibbons(void);
+static void SaveBattleTowerProgress(void);
+static void sub_8163914(void);
+static void nullsub_61(void);
+static void nullsub_116(void);
+static void sub_81642A0(void);
+static void sub_8164828(void);
+static void sub_8164B74(void);
+static void sub_8164DCC(void);
+static void sub_8164DE4(void);
+static void sub_8164E04(void);
+static void ValidateBattleTowerRecordChecksums(void);
+static void SaveCurrentWinStreak(void);
+static void ValidateApprenticesChecksums(void);
+static void sub_8165E18(void);
+static void CopyEReaderTrainerFarewellMessage(void);
+static void ClearBattleTowerRecord(struct EmeraldBattleTowerRecord *record);
+static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount);
+static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount);
+static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId);
+static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId);
+static u8 GetFrontierTrainerFixedIvs(u16 trainerId);
+static void FillPartnerParty(u16 trainerId);
+static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer);
+static u8 SetTentPtrsGetLevel(void);
+
+// Const rom data.
+static void (* const gUnknown_085DF96C[])(void) =
+{
+ sub_8161F94,
+ sub_8162054,
+ sub_81620F4,
+ ChooseNextBattleTowerTrainer,
+ sub_81621C0,
+ AwardBattleTowerRibbons,
+ SaveBattleTowerProgress,
+ sub_8163914,
+ nullsub_61,
+ nullsub_116,
+ sub_81642A0,
+ sub_8164828,
+ sub_8164B74,
+ sub_8164DCC,
+ sub_8164DE4,
+ sub_8164E04,
+};
+
+static const u32 gUnknown_085DF9AC[][2] =
+{
+ {0x00000001, 0x00000002},
+ {0x00004000, 0x00008000},
+ {0x00010000, 0x00020000},
+ {0x00040000, 0x00080000},
+};
+
+static const u32 gUnknown_085DF9CC[][2] =
+{
+ {0xfffffffe, 0xfffffffd},
+ {0xffffbfff, 0xffff7fff},
+ {0xfffeffff, 0xfffdffff},
+ {0xfffbffff, 0xfff7ffff},
+};
+
+static const u8 gUnknown_085DF9EC[] =
+{
+ 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x09, 0x0a, 0x0b, 0x0c
+};
+
+static const u8 gUnknown_085DF9F6[] =
+{
+ [FRONTIER_MODE_SINGLES] = 3,
+ [FRONTIER_MODE_DOUBLES] = 4,
+ [FRONTIER_MODE_MULTIS] = 2,
+ [FRONTIER_MODE_LINK_MULTIS] = 2,
+};
+
+static const u16 gUnknown_085DF9FA[][2] =
+{
+ {0x0000, 0x0063},
+ {0x0050, 0x0077},
+ {0x0064, 0x008b},
+ {0x0078, 0x009f},
+ {0x008c, 0x00b3},
+ {0x00a0, 0x00c7},
+ {0x00b4, 0x00db},
+ {0x00c8, 0x012b},
+};
+
+static const u16 gUnknown_085DFA1A[][2] =
+{
+ {0x0064, 0x0077},
+ {0x0078, 0x008b},
+ {0x008c, 0x009f},
+ {0x00a0, 0x00b3},
+ {0x00b4, 0x00c7},
+ {0x00c8, 0x00db},
+ {0x00dc, 0x00ef},
+ {0x00c8, 0x012b},
+ {0x00b3, 0x008d},
+ {0x00c8, 0x00b7},
+};
+
+static const u8 gUnknown_085DFA42[4] =
+{
+ [FRONTIER_MODE_SINGLES] = 3,
+ [FRONTIER_MODE_DOUBLES] = 4,
+ [FRONTIER_MODE_MULTIS] = 2,
+ [FRONTIER_MODE_LINK_MULTIS] = 2,
+};
+
+static const u16 gUnknown_085DFA46[] =
+{
+ 0x0c3a, 0x0c3a, 0x0c01, 0x0a2a, 0x0607, 0x0c01
+};
+
+static const u16 gUnknown_085DFA52[] =
+{
+ 0x1039, 0x122e, 0x0c04, 0x0a3d, 0x0630, 0x0c04
+};
// code
void sub_8161F74(void)
@@ -21,25 +201,25 @@ void sub_8161F74(void)
gUnknown_085DF96C[gSpecialVar_0x8004]();
}
-void sub_8161F94(void)
+static void sub_8161F94(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
gSaveBlock2Ptr->frontier.field_CA8 = 1;
- gSaveBlock2Ptr->frontier.field_CB2 = 0;
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0;
gSaveBlock2Ptr->frontier.field_CA9_a = 0;
gSaveBlock2Ptr->frontier.field_CA9_b = 0;
sub_81A3ACC();
if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]))
- gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0;
- sub_8164ED8();
+ ValidateBattleTowerRecordChecksums();
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
gTrainerBattleOpponent_A = 0;
}
-void sub_8162054(void)
+static void sub_8162054(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -49,7 +229,7 @@ void sub_8162054(void)
case 0:
break;
case 1:
- gSpecialVar_Result = sub_8164FCC(lvlMode, battleMode);
+ gSpecialVar_Result = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
break;
case 2:
gSpecialVar_Result = ((gSaveBlock2Ptr->frontier.field_CDC & gUnknown_085DF9AC[battleMode][lvlMode]) != 0);
@@ -60,7 +240,7 @@ void sub_8162054(void)
}
}
-void sub_81620F4(void)
+static void sub_81620F4(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
@@ -70,7 +250,7 @@ void sub_81620F4(void)
case 0:
break;
case 1:
- gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode] = gSpecialVar_0x8006;
+ gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = gSpecialVar_0x8006;
break;
case 2:
if (gSpecialVar_0x8006)
@@ -83,3 +263,2532 @@ void sub_81620F4(void)
break;
}
}
+
+static void sub_81621C0(void)
+{
+ if (gTrainerBattleOpponent_A == TRAINER_EREADER)
+ ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
+
+ if (gSaveBlock2Ptr->frontier.field_D04 < 9999)
+ gSaveBlock2Ptr->frontier.field_D04++;
+
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum++;
+ SaveCurrentWinStreak();
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+}
+
+static bool8 ChooseSpecialBattleTowerTrainer(void)
+{
+ s32 i, j, validMons;
+ s32 trainerIds[9];
+ s32 idsCount = 0;
+ s32 winStreak = 0;
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+
+ if (VarGet(VAR_FRONTIER_FACILITY) != FRONTIER_FACILITY_TOWER)
+ return FALSE;
+
+ winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
+ for (i = 0; i < 5; i++)
+ {
+ u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[i]);
+ u32 recordHasData = 0;
+ u32 checksum = 0;
+ for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself.
+ {
+ recordHasData |= record[j];
+ checksum += record[j];
+ }
+ validMons = 0;
+ for (j = 0; j < 4; j++)
+ {
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species != 0
+ && gSaveBlock2Ptr->frontier.towerRecords[i].party[j].level <= GetFrontierEnemyMonLevel(lvlMode))
+ validMons++;
+ }
+
+ if (validMons >= gUnknown_085DF9F6[battleMode]
+ && gSaveBlock2Ptr->frontier.towerRecords[i].winStreak == winStreak
+ && gSaveBlock2Ptr->frontier.towerRecords[i].lvlMode == lvlMode
+ && recordHasData
+ && gSaveBlock2Ptr->frontier.towerRecords[i].checksum == checksum)
+ {
+ trainerIds[idsCount] = i + TRAINER_RECORD_MIXING_FRIEND;
+ idsCount++;
+ }
+ }
+
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ {
+ ValidateApprenticesChecksums();
+ for (i = 0; i < 4; i++)
+ {
+ if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0
+ && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].field_1] == winStreak
+ && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode)
+ {
+ trainerIds[idsCount] = i + TRAINER_RECORD_MIXING_APPRENTICE;
+ idsCount++;
+ }
+ }
+ }
+
+ if (idsCount != 0)
+ {
+ gTrainerBattleOpponent_A = trainerIds[Random() % idsCount];
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static void ChooseNextBattleTowerTrainer(void)
+{
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ if (lvlMode == FRONTIER_LVL_TENT)
+ {
+ sub_8165E18();
+ }
+ else
+ {
+ u16 id;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u16 winStreak = GetCurrentFacilityWinStreak();
+ u32 challengeNum = winStreak / 7;
+ SetFacilityPtrsGetLevel();
+
+ if (battleMode == FRONTIER_MODE_MULTIS || battleMode == FRONTIER_MODE_LINK_MULTIS)
+ {
+ id = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ gTrainerBattleOpponent_A = gSaveBlock2Ptr->frontier.field_CB4[id * 2];
+ gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.field_CB4[id * 2 + 1];
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1);
+ }
+ else if (ChooseSpecialBattleTowerTrainer())
+ {
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+ }
+ else
+ {
+ s32 i;
+ while (1)
+ {
+ id = sub_8162548(challengeNum, gSaveBlock2Ptr->frontier.curChallengeBattleNum);
+
+ // Ensure trainer wasn't previously fought in this challenge.
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == id)
+ break;
+ }
+ if (i == gSaveBlock2Ptr->frontier.curChallengeBattleNum)
+ break;
+ }
+
+ gTrainerBattleOpponent_A = id;
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum + 1 < 7)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+ }
+ }
+}
+
+u16 sub_8162548(u8 challengeNum, u8 battleNum)
+{
+ u16 trainerId;
+
+ if (challengeNum <= 7)
+ {
+ if (battleNum == 6)
+ {
+ trainerId = (gUnknown_085DFA1A[challengeNum][1] - gUnknown_085DFA1A[challengeNum][0]) + 1;
+ trainerId = gUnknown_085DFA1A[challengeNum][0] + (Random() % trainerId);
+ }
+ else
+ {
+ trainerId = (gUnknown_085DF9FA[challengeNum][1] - gUnknown_085DF9FA[challengeNum][0]) + 1;
+ trainerId = gUnknown_085DF9FA[challengeNum][0] + (Random() % trainerId);
+ }
+ }
+ else
+ {
+ trainerId = (gUnknown_085DF9FA[7][1] - gUnknown_085DF9FA[7][0]) + 1;
+ trainerId = gUnknown_085DF9FA[7][0] + (Random() % trainerId);
+ }
+
+ return trainerId;
+}
+
+static void sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg3) // Unused
+{
+ u16 trainerId, count;
+
+ if (challengeNum <= 7)
+ {
+ if (battleNum == 6)
+ {
+ count = (gUnknown_085DFA1A[challengeNum][1] - gUnknown_085DFA1A[challengeNum][0]) + 1;
+ trainerId = gUnknown_085DFA1A[challengeNum][0];
+ }
+ else
+ {
+ count = (gUnknown_085DF9FA[challengeNum][1] - gUnknown_085DF9FA[challengeNum][0]) + 1;
+ trainerId = gUnknown_085DF9FA[challengeNum][0];
+ }
+ }
+ else
+ {
+ count = (gUnknown_085DF9FA[7][1] - gUnknown_085DF9FA[7][0]) + 1;
+ trainerId = gUnknown_085DF9FA[7][0];
+ }
+
+ *trainerIdPtr = trainerId;
+ *arg3 = count;
+}
+
+void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId)
+{
+ u32 i;
+ u8 facilityClass;
+ u8 trainerObjectGfxId;
+
+ SetFacilityPtrsGetLevel();
+ if (trainerId == TRAINER_EREADER)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass;
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ SetFrontierBrainEventObjGfx_2();
+ return;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ facilityClass = gFacilityTrainers[trainerId].facilityClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
+ }
+ else
+ {
+ facilityClass = gApprentices[gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id].facilityClass;
+ }
+
+ // Search male classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses); i++)
+ {
+ if (gTowerMaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
+ {
+ trainerObjectGfxId = gTowerMaleTrainerGfxIds[i];
+ switch (tempVarId)
+ {
+ case 0:
+ default:
+ VarSet(VAR_OBJ_GFX_ID_0, trainerObjectGfxId);
+ return;
+ case 1:
+ VarSet(VAR_OBJ_GFX_ID_1, trainerObjectGfxId);
+ return;
+ case 15:
+ VarSet(VAR_OBJ_GFX_ID_E, trainerObjectGfxId);
+ return;
+ }
+ }
+
+ // Search female classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses); i++)
+ {
+ if (gTowerFemaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
+ {
+ trainerObjectGfxId = gTowerFemaleTrainerGfxIds[i];
+ switch (tempVarId)
+ {
+ case 0:
+ default:
+ VarSet(VAR_OBJ_GFX_ID_0, trainerObjectGfxId);
+ return;
+ case 1:
+ VarSet(VAR_OBJ_GFX_ID_1, trainerObjectGfxId);
+ return;
+ case 15:
+ VarSet(VAR_OBJ_GFX_ID_E, trainerObjectGfxId);
+ return;
+ }
+ }
+
+ switch (tempVarId)
+ {
+ case 0:
+ default:
+ VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1);
+ return;
+ case 1:
+ VarSet(VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_BOY_1);
+ return;
+ case 15:
+ VarSet(VAR_OBJ_GFX_ID_E, EVENT_OBJ_GFX_BOY_1);
+ return;
+ }
+}
+
+void SetEReaderTrainerGfxId(void)
+{
+ SetBattleFacilityTrainerGfxId(TRAINER_EREADER, 0);
+}
+
+u8 GetBattleFacilityTrainerGfxId(u16 trainerId)
+{
+ u32 i;
+ u8 facilityClass;
+ u8 trainerObjectGfxId;
+
+ SetFacilityPtrsGetLevel();
+ if (trainerId == TRAINER_EREADER)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ facilityClass = gFacilityTrainers[trainerId].facilityClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
+ }
+ else
+ {
+ facilityClass = gApprentices[gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id].facilityClass;
+ }
+
+ // Search male classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses); i++)
+ {
+ if (gTowerMaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
+ {
+ trainerObjectGfxId = gTowerMaleTrainerGfxIds[i];
+ return trainerObjectGfxId;
+ }
+
+ // Search female classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses); i++)
+ {
+ if (gTowerFemaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
+ {
+ trainerObjectGfxId = gTowerFemaleTrainerGfxIds[i];
+ return trainerObjectGfxId;
+ }
+ else
+ {
+ return EVENT_OBJ_GFX_BOY_1;
+ }
+}
+
+void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm)
+{
+ u16 slotValues[6];
+ u16 slotIds[6];
+ s32 i, j, k;
+ s32 slotsCount = 0;
+ struct EmeraldBattleTowerRecord *newRecord = newRecordEm; // Needed to match.
+
+ // Find a record slot of the same player and replace it.
+ for (i = 0; i < 5; i++)
+ {
+ k = 0;
+ for (j = 0; j < 4; j++)
+ {
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].trainerId[j] != newRecord->trainerId[j])
+ break;
+ }
+ if (j == 4)
+ {
+ for (k = 0; k < PLAYER_NAME_LENGTH; k++)
+ {
+ // BUG: Wrong variable used, 'j' instead of 'k'.
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].name[j] != newRecord->name[j])
+ break;
+ if (newRecord->name[j] == EOS)
+ {
+ k = PLAYER_NAME_LENGTH;
+ break;
+ }
+ }
+ }
+
+ if (k == PLAYER_NAME_LENGTH)
+ break;
+ }
+ if (i < 5)
+ {
+ gSaveBlock2Ptr->frontier.towerRecords[i] = *newRecord;
+ return;
+ }
+
+ // Find an empty record slot.
+ for (i = 0; i < 5; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].winStreak == 0)
+ break;
+ }
+ if (i < 5)
+ {
+ gSaveBlock2Ptr->frontier.towerRecords[i] = *newRecord;
+ return;
+ }
+
+ // Find possible slots to replace the record.
+ slotValues[0] = gSaveBlock2Ptr->frontier.towerRecords[0].winStreak;
+ slotIds[0] = 0;
+ slotsCount++;
+
+ for (i = 1; i < 5; i++)
+ {
+ for (j = 0; j < slotsCount; j++)
+ {
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].winStreak < slotValues[j])
+ {
+ j = 0;
+ slotsCount = 1;
+ slotValues[0] = gSaveBlock2Ptr->frontier.towerRecords[i].winStreak;
+ slotIds[0] = i;
+ break;
+ }
+ else if (gSaveBlock2Ptr->frontier.towerRecords[i].winStreak > slotValues[j])
+ {
+ break;
+ }
+ }
+
+ if (j == slotsCount)
+ {
+ slotValues[slotsCount] = gSaveBlock2Ptr->frontier.towerRecords[i].winStreak;
+ slotIds[slotsCount] = i;
+ slotsCount++;
+ }
+ }
+
+ i = Random() % slotsCount;
+ gSaveBlock2Ptr->frontier.towerRecords[slotIds[i]] = *newRecord;
+}
+
+u8 GetFrontierTrainerFrontSpriteId(u16 trainerId)
+{
+ SetFacilityPtrsGetLevel();
+
+ if (trainerId == TRAINER_EREADER)
+ {
+ return gFacilityClassToPicIndex[gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass];
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ return GetFrontierBrainTrainerPicIndex();
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ return gFacilityClassToPicIndex[gFacilityTrainers[trainerId].facilityClass];
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ return gFacilityClassToPicIndex[GetRecordedBattleRecordMixFriendClass()];
+ else
+ return gFacilityClassToPicIndex[gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass];
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ return gFacilityClassToPicIndex[gApprentices[GetRecordedBattleApprenticeId()].facilityClass];
+ else
+ return gFacilityClassToPicIndex[gApprentices[gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id].facilityClass];
+ }
+}
+
+u8 GetFrontierOpponentClass(u16 trainerId)
+{
+ u8 trainerClass = 0;
+ SetFacilityPtrsGetLevel();
+
+ if (trainerId == TRAINER_EREADER)
+ {
+ trainerClass = gFacilityClassToTrainerClass[gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass];
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ trainerClass = GetFrontierBrainTrainerClass();
+ }
+ else if (trainerId == TRAINER_STEVEN_PARTNER)
+ {
+ trainerClass = gTrainers[TRAINER_STEVEN].trainerClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ trainerClass = gFacilityClassToTrainerClass[gFacilityTrainers[trainerId].facilityClass];
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ {
+ trainerClass = gFacilityClassToTrainerClass[GetRecordedBattleRecordMixFriendClass()];
+ }
+ else
+ {
+ trainerClass = gFacilityClassToTrainerClass[gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass];
+ asm("");
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ {
+ trainerClass = gFacilityClassToTrainerClass[gApprentices[GetRecordedBattleApprenticeId()].facilityClass];
+ }
+ else
+ {
+ trainerClass = gFacilityClassToTrainerClass[gApprentices[gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id].facilityClass];
+ asm("");
+ }
+ }
+
+ return trainerClass;
+}
+
+static u8 GetFrontierTrainerFacilityClass(u16 trainerId)
+{
+ u8 facilityClass;
+ SetFacilityPtrsGetLevel();
+
+ if (trainerId == TRAINER_EREADER)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ facilityClass = gFacilityTrainers[trainerId].facilityClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ facilityClass = GetRecordedBattleRecordMixFriendClass();
+ else
+ facilityClass = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ facilityClass = gApprentices[GetRecordedBattleApprenticeId()].facilityClass;
+ else
+ facilityClass = gApprentices[gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id].facilityClass;
+ }
+
+ return facilityClass;
+}
+
+void GetFrontierTrainerName(u8 *dst, u16 trainerId)
+{
+ s32 i = 0;
+ SetFacilityPtrsGetLevel();
+
+ if (trainerId == TRAINER_EREADER)
+ {
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ dst[i] = gSaveBlock2Ptr->frontier.ereaderTrainer.name[i];
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ CopyFrontierBrainTrainerName(dst);
+ return;
+ }
+ else if (trainerId == TRAINER_STEVEN_PARTNER)
+ {
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ dst[i] = gTrainers[TRAINER_STEVEN].trainerName[i];
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ dst[i] = gFacilityTrainers[trainerId].trainerName[i];
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ {
+ sub_8186468(dst);
+ return;
+ }
+ else
+ {
+ struct EmeraldBattleTowerRecord *record = &gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND];
+ TVShowConvertInternationalString(dst, record->name, record->language);
+ return;
+ }
+ }
+ else
+ {
+ u8 id, language;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ {
+ id = GetRecordedBattleApprenticeId();
+ language = GetRecordedBattleApprenticeLanguage();
+ }
+ else
+ {
+ struct Apprentice *apprentice = &gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE];
+ id = apprentice->id;
+ language = apprentice->language;
+ }
+ TVShowConvertInternationalString(dst, GetApprenticeNameInLanguage(id, language), language);
+ return;
+ }
+
+ dst[i] = EOS;
+}
+
+static bool8 IsFrontierTrainerFemale(u16 trainerId)
+{
+ u32 i;
+ u8 facilityClass;
+
+ SetFacilityPtrsGetLevel();
+ if (trainerId == TRAINER_EREADER)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass;
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ return IsFrontierBrainFemale();
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ facilityClass = gFacilityTrainers[trainerId].facilityClass;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ facilityClass = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
+ }
+ else
+ {
+ facilityClass = gApprentices[gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id].facilityClass;
+ }
+
+ // Search female classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses); i++)
+ {
+ if (gTowerFemaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+void FillFrontierTrainerParty(u8 monsCount)
+{
+ ZeroEnemyPartyMons();
+ FillTrainerParty(gTrainerBattleOpponent_A, 0, monsCount);
+}
+
+void FillFrontierTrainersParties(u8 monsCount)
+{
+ ZeroEnemyPartyMons();
+ FillTrainerParty(gTrainerBattleOpponent_A, 0, monsCount);
+ FillTrainerParty(gTrainerBattleOpponent_B, 3, monsCount);
+}
+
+static void FillTentTrainerParty(u8 monsCount)
+{
+ ZeroEnemyPartyMons();
+ FillTentTrainerParty_(gTrainerBattleOpponent_A, 0, monsCount);
+}
+
+static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
+{
+ s32 i, j;
+ u16 chosenMonIndices[4];
+ u8 friendship = 0xFF;
+ u8 level = SetFacilityPtrsGetLevel();
+ u8 fixedIV = 0;
+ u8 bfMonCount;
+ const u16 *monSets = NULL;
+ u32 otID = 0;
+
+ if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ // Normal battle frontier trainer.
+ fixedIV = GetFrontierTrainerFixedIvs(trainerId);
+ monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+ }
+ else if (trainerId == TRAINER_EREADER)
+ {
+ for (i = firstMonId; i < firstMonId + 3; i++)
+ sub_806819C(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i - firstMonId]);
+ return;
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ CreateFrontierBrainPokemon();
+ return;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ // Record mixed player.
+ for (j = 0, i = firstMonId; i < firstMonId + monCount; j++, i++)
+ {
+ if (gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].species != 0
+ && gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].level <= level)
+ {
+ sub_8068338(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j], FALSE);
+ }
+ }
+ return;
+ }
+ else
+ {
+ // Apprentice.
+ for (i = firstMonId; i < firstMonId + 3; i++)
+ CreateApprenticeMon(&gEnemyParty[i], &gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE], i - firstMonId);
+ return;
+ }
+
+ // Regular battle frontier trainer.
+ // Attempt to fill the trainer's party with random Pokemon until 3 have been
+ // successfully chosen. The trainer's party may not have duplicate pokemon species
+ // or duplicate held items.
+ for (bfMonCount = 0; monSets[bfMonCount] != 0xFFFF; bfMonCount++)
+ ;
+ i = 0;
+ otID = Random32();
+ while (i != monCount)
+ {
+ u16 monSetId = monSets[Random() % bfMonCount];
+ if ((level == 50 || level == 20) && monSetId > 849)
+ continue;
+
+ // Ensure this pokemon species isn't a duplicate.
+ for (j = 0; j < i + firstMonId; j++)
+ {
+ if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
+ break;
+ }
+ if (j != i + firstMonId)
+ continue;
+
+ // Ensure this Pokemon's held item isn't a duplicate.
+ for (j = 0; j < i + firstMonId; j++)
+ {
+ if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
+ && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ break;
+ }
+ if (j != i + firstMonId)
+ continue;
+
+ // Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary
+ // because the species and held items were already checked directly above.
+ for (j = 0; j < i; j++)
+ {
+ if (chosenMonIndices[j] == monSetId)
+ break;
+ }
+ if (j != i)
+ continue;
+
+ chosenMonIndices[i] = monSetId;
+
+ // Place the chosen pokemon into the trainer's party.
+ CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ fixedIV,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otID);
+
+ friendship = 255;
+ // Give the chosen pokemon its specified moves.
+ for (j = 0; j < 4; j++)
+ {
+ SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
+ if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
+ }
+
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+
+ // The pokemon was successfully added to the trainer's party, so it's safe to move on to
+ // the next party slot.
+ i++;
+ }
+}
+
+// Probably an early draft before the 'CreateApprenticeMon' was written.
+static void Unused_CreateApprenticeMons(u16 trainerId, u8 firstMonId)
+{
+ s32 i, j;
+ u8 friendship = 0xFF;
+ u8 level = 0;
+ u8 fixedIV = 0;
+ struct Apprentice *apprentice = &gSaveBlock2Ptr->apprentices[0];
+
+ if (apprentice->field_1 < 5)
+ fixedIV = 6;
+ else
+ fixedIV = 9;
+
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
+ level = 100;
+ else
+ level = 50;
+
+ for (i = 0; i != 3; i++)
+ {
+ CreateMonWithEVSpread(&gEnemyParty[firstMonId + i], apprentice->party[i].species, level, fixedIV, 8);
+ friendship = 0xFF;
+ for (j = 0; j < 4; j++)
+ {
+ if (apprentice->party[i].moves[j] == MOVE_FRUSTRATION)
+ friendship = 0;
+ }
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &apprentice->party[i].item);
+ }
+}
+
+u16 RandomizeFacilityTrainerMonSet(u16 trainerId)
+{
+ u8 level = SetFacilityPtrsGetLevel();
+ const u16 *monSets = gFacilityTrainers[trainerId].monSets;
+ u8 bfMonCount = 0;
+ u32 monSetId = monSets[bfMonCount];
+
+ while (monSetId != 0xFFFF)
+ {
+ bfMonCount++;
+ monSetId = monSets[bfMonCount];
+ if (monSetId == 0xFFFF)
+ break;
+ }
+
+ do
+ {
+ monSetId = monSets[Random() % bfMonCount];
+ } while((level == 50 || level == 20) && monSetId > 849);
+
+ return monSetId;
+}
+
+static void FillFactoryTrainerParty(void)
+{
+ ZeroEnemyPartyMons();
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
+ FillFactoryFrontierTrainerParty(gTrainerBattleOpponent_A, 0);
+ else
+ FillFactoryTentTrainerParty(gTrainerBattleOpponent_A, 0);
+}
+
+static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
+{
+ u8 i, j;
+ u8 friendship;
+ u8 level;
+ u8 fixedIV;
+ u32 otID;
+
+ if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; // Unused variable.
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u8 challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][0] / 7;
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum < 6)
+ fixedIV = GetFactoryMonFixedIV(challengeNum, 0);
+ else
+ fixedIV = GetFactoryMonFixedIV(challengeNum, 1);
+ }
+ else if (trainerId == TRAINER_EREADER)
+ {
+ for (i = firstMonId; i < firstMonId + 3; i++)
+ sub_806819C(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i - firstMonId]);
+ return;
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ FillFactoryBrainParty();
+ return;
+ }
+ else
+ {
+ fixedIV = 31;
+ }
+
+ level = SetFacilityPtrsGetLevel();
+ otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
+ for (i = 0; i < 3; i++)
+ {
+ u16 monSetId = gUnknown_03006298[i];
+ CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ fixedIV,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otID);
+
+ friendship = 0;
+ for (j = 0; j < 4; j++)
+ SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
+
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ }
+}
+
+static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
+{
+ u8 i, j;
+ u8 friendship;
+ u8 level = 30;
+ u8 fixedIV = 0;
+ u32 otID = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
+
+ for (i = 0; i < 3; i++)
+ {
+ u16 monSetId = gUnknown_03006298[i];
+ CreateMonWithEVSpreadNatureOTID(&gEnemyParty[firstMonId + i],
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ fixedIV,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otID);
+
+ friendship = 0;
+ for (j = 0; j < 4; j++)
+ {
+ SetMonMoveAvoidReturn(&gEnemyParty[firstMonId + i], gFacilityTrainerMons[monSetId].moves[j], j);
+ if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ friendship = 0;
+ }
+
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[firstMonId + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ }
+}
+
+void FrontierSpeechToString(const u16 *words)
+{
+ ConvertEasyChatWordsToString(gStringVar4, words, 3, 2);
+ if (GetStringWidth(1, gStringVar4, -1) > 204)
+ {
+ s32 i = 0;
+
+ ConvertEasyChatWordsToString(gStringVar4, words, 2, 3);
+ while (gStringVar4[i++] != CHAR_NEWLINE)
+ ;
+ while (gStringVar4[i] != CHAR_NEWLINE)
+ i++;
+
+ gStringVar4[i] = CHAR_PROMPT_SCROLL;
+ }
+}
+
+static void sub_8163914(void)
+{
+ u16 trainerId;
+ SetFacilityPtrsGetLevel();
+
+ if (gSpecialVar_0x8005)
+ trainerId = gTrainerBattleOpponent_B;
+ else
+ trainerId = gTrainerBattleOpponent_A;
+
+ if (trainerId == TRAINER_EREADER)
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting);
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore);
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting);
+ else
+ CopyFriendsApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE);
+}
+
+static void HandleSpecialTrainerBattleEnd(void)
+{
+ s32 i;
+
+ RecordedBattle_SaveBattleOutcome();
+ switch (gBattleScripting.specialTrainerBattleType)
+ {
+ case SPECIAL_BATTLE_TOWER:
+ case SPECIAL_BATTLE_DOME:
+ case SPECIAL_BATTLE_PALACE:
+ case SPECIAL_BATTLE_ARENA:
+ case SPECIAL_BATTLE_FACTORY:
+ case SPECIAL_BATTLE_PIKE_SINGLE:
+ case SPECIAL_BATTLE_PIKE_DOUBLE:
+ case SPECIAL_BATTLE_PYRAMID:
+ if (gSaveBlock2Ptr->frontier.battlesCount < 0xFFFFFF)
+ {
+ gSaveBlock2Ptr->frontier.battlesCount++;
+ if (gSaveBlock2Ptr->frontier.battlesCount % 20 == 0)
+ UpdateGymLeaderRematch();
+ }
+ else
+ {
+ gSaveBlock2Ptr->frontier.battlesCount = 0xFFFFFF;
+ }
+ break;
+ case SPECIAL_BATTLE_SECRET_BASE:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ u16 itemBefore = GetMonData(&gSaveBlock1Ptr->playerParty[i], MON_DATA_HELD_ITEM);
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &itemBefore);
+ }
+ break;
+ case SPECIAL_BATTLE_EREADER:
+ CopyEReaderTrainerFarewellMessage();
+ break;
+ }
+
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+static void Task_StartBattleAfterTransition(u8 taskId)
+{
+ if (IsBattleTransitionDone() == TRUE)
+ {
+ gMain.savedCallback = HandleSpecialTrainerBattleEnd;
+ SetMainCallback2(CB2_InitBattle);
+ DestroyTask(taskId);
+ }
+}
+
+void DoSpecialTrainerBattle(void)
+{
+ s32 i;
+
+ gBattleScripting.specialTrainerBattleType = gSpecialVar_0x8004;
+ switch (gSpecialVar_0x8004)
+ {
+ case SPECIAL_BATTLE_TOWER:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_BATTLE_TOWER;
+ switch (VarGet(VAR_FRONTIER_BATTLE_MODE))
+ {
+ case FRONTIER_MODE_SINGLES:
+ FillFrontierTrainerParty(3);
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ FillFrontierTrainerParty(4);
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
+ break;
+ case FRONTIER_MODE_MULTIS:
+ FillFrontierTrainersParties(2);
+ gPartnerTrainerId = gSaveBlock2Ptr->frontier.field_CB4[17];
+ FillPartnerParty(gPartnerTrainerId);
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS;
+ break;
+ case FRONTIER_MODE_LINK_MULTIS:
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_MULTI | BATTLE_TYPE_x800000;
+ FillFrontierTrainersParties(2);
+ break;
+ }
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(0));
+ break;
+ case SPECIAL_BATTLE_SECRET_BASE:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ u16 itemBefore = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ SetMonData(&gSaveBlock1Ptr->playerParty[i], MON_DATA_HELD_ITEM, &itemBefore);
+ }
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(12));
+ break;
+ case SPECIAL_BATTLE_EREADER:
+ ZeroEnemyPartyMons();
+ for (i = 0; i < 3; i++)
+ sub_806819C(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i]);
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_EREADER_TRAINER;
+ gTrainerBattleOpponent_A = 0;
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(13));
+ break;
+ case SPECIAL_BATTLE_DOME:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_DOME;
+ if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
+ if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
+ FillFrontierTrainerParty(2);
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ sub_806E694(0);
+ BattleTransition_StartOnField(sub_80B100C(3));
+ break;
+ case SPECIAL_BATTLE_PALACE:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_PALACE;
+ if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
+ FillFrontierTrainerParty(3);
+ else
+ FillTentTrainerParty(3);
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(4));
+ break;
+ case SPECIAL_BATTLE_ARENA:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_ARENA;
+ if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
+ FillFrontierTrainerParty(3);
+ else
+ FillTentTrainerParty(3);
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(5));
+ break;
+ case SPECIAL_BATTLE_FACTORY:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_FACTORY;
+ if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES)
+ gBattleTypeFlags |= BATTLE_TYPE_DOUBLE;
+ FillFactoryTrainerParty();
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(6));
+ break;
+ case SPECIAL_BATTLE_PIKE_SINGLE:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_BATTLE_TOWER;
+ FillFrontierTrainerParty(3);
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(7));
+ break;
+ case SPECIAL_BATTLE_PYRAMID:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID;
+ FillFrontierTrainerParty(3);
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(10));
+ break;
+ case SPECIAL_BATTLE_PIKE_DOUBLE:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS;
+ FillFrontierTrainersParties(1);
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(sub_80B100C(7));
+ break;
+ case SPECIAL_BATTLE_STEVEN:
+ gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER;
+ FillPartnerParty(TRAINER_STEVEN_PARTNER);
+ gApproachingTrainerId = 0;
+ BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1);
+ gApproachingTrainerId = 1;
+ BattleSetup_ConfigureTrainerBattle(MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1);
+ gPartnerTrainerId = TRAINER_STEVEN_PARTNER;
+ CreateTask(Task_StartBattleAfterTransition, 1);
+ PlayMapChosenOrBattleBGM(0);
+ BattleTransition_StartOnField(B_TRANSITION_MAGMA);
+ break;
+ }
+}
+
+static void SaveCurrentWinStreak(void)
+{
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u16 winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
+
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < winStreak)
+ gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = winStreak;
+}
+
+static void sub_8163EE4(void)
+{
+ s32 i;
+ u8 lvlMode, battleMode, class;
+ struct EmeraldBattleTowerRecord *playerRecord = &gSaveBlock2Ptr->frontier.towerPlayer;
+
+ ClearBattleTowerRecord(playerRecord);
+ lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ if (gSaveBlock2Ptr->playerGender != MALE)
+ {
+ class = gTowerFemaleFacilityClasses[(gSaveBlock2Ptr->playerTrainerId[0] +
+ gSaveBlock2Ptr->playerTrainerId[1] +
+ gSaveBlock2Ptr->playerTrainerId[2] +
+ gSaveBlock2Ptr->playerTrainerId[3]) % ARRAY_COUNT(gTowerFemaleFacilityClasses)];
+ }
+ else
+ {
+ class = gTowerMaleFacilityClasses[(gSaveBlock2Ptr->playerTrainerId[0] +
+ gSaveBlock2Ptr->playerTrainerId[1] +
+ gSaveBlock2Ptr->playerTrainerId[2] +
+ gSaveBlock2Ptr->playerTrainerId[3]) % ARRAY_COUNT(gTowerMaleFacilityClasses)];
+ }
+ playerRecord->lvlMode = lvlMode;
+ playerRecord->facilityClass = class;
+ CopyTrainerId(playerRecord->trainerId, gSaveBlock2Ptr->playerTrainerId);
+ StringCopy7(playerRecord->name, gSaveBlock2Ptr->playerName);
+ playerRecord->winStreak = GetCurrentBattleTowerWinStreak(lvlMode, battleMode);
+
+ for (i = 0; i < 6; i++)
+ {
+ playerRecord->greeting[i] = gSaveBlock1Ptr->unk2BBC[i];
+ playerRecord->speechWon[i] = gSaveBlock1Ptr->unk2BC8[i];
+ playerRecord->speechLost[i] = gSaveBlock1Ptr->unk2BD4[i];
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
+ sub_80686FC(&gPlayerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], &playerRecord->party[i]);
+ }
+
+ playerRecord->language = gGameLanguage;
+ CalcEmeraldBattleTowerChecksum(&gSaveBlock2Ptr->frontier.towerPlayer);
+ SaveCurrentWinStreak();
+}
+
+static void SaveBattleTowerProgress(void)
+{
+ u16 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ s32 challengeNum = (signed)(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7);
+
+ if (gSpecialVar_0x8005 == 0 && (challengeNum > 1 || gSaveBlock2Ptr->frontier.curChallengeBattleNum != 0))
+ sub_8163EE4();
+
+ gSaveBlock2Ptr->frontier.field_CA8 =gSpecialVar_0x8005;
+ VarSet(VAR_TEMP_0, 0);
+ gSaveBlock2Ptr->frontier.field_CA9_a = 1;
+ sub_81A4C30();
+}
+
+static void nullsub_61(void)
+{
+
+}
+
+static void nullsub_116(void)
+{
+
+}
+
+static void sub_81640E0(u16 trainerId)
+{
+ s32 i, count;
+ u32 validSpecies[3];
+ u16 species1 = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES, NULL);
+ u16 species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL);
+
+ count = 0;
+ for (i = 0; i < 3; i++)
+ {
+ u16 apprenticeSpecies = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].party[i].species;
+ if (apprenticeSpecies != species1 && apprenticeSpecies != species2)
+ {
+ validSpecies[count] = i;
+ count++;
+ }
+ }
+
+ gUnknown_03006298[0] = validSpecies[Random() % count];
+ do
+ {
+ gUnknown_03006298[1] = validSpecies[Random() % count];
+ } while (gUnknown_03006298[0] == gUnknown_03006298[1]);
+}
+
+static void sub_8164188(u16 trainerId)
+{
+ s32 i, count;
+ u32 validSpecies[3];
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u16 species1 = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES, NULL);
+ u16 species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL);
+
+ count = 0;
+ for (i = 0; i < 4; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != species1
+ && gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != species2
+ && gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].level <= GetFrontierEnemyMonLevel(lvlMode)
+ && gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[i].species != 0)
+ {
+ validSpecies[count] = i;
+ count++;
+ }
+ }
+
+ gUnknown_03006298[2] = validSpecies[Random() % count];
+ do
+ {
+ gUnknown_03006298[3] = validSpecies[Random() % count];
+ } while (gUnknown_03006298[2] == gUnknown_03006298[3]);
+}
+
+static void sub_81642A0(void)
+{
+ s32 i, j, k;
+ u32 spArray[5];
+ s32 r10;
+ u16 trainerId;
+ u16 monSetId;
+ u32 lvlMode, battleMode;
+ s32 challengeNum;
+ u32 species1, species2;
+ u32 level;
+ struct EventObjectTemplate *eventObjTemplates;
+
+ eventObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
+ lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7;
+ species1 = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES, NULL);
+ species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL);
+ level = SetFacilityPtrsGetLevel();
+
+ j = 0;
+ do
+ {
+ do
+ {
+ trainerId = sub_8162548(challengeNum, 0);
+ for (i = 0; i < j; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ if (gFacilityTrainers[gSaveBlock2Ptr->frontier.field_CB4[i]].facilityClass == gFacilityTrainers[trainerId].facilityClass)
+ break;
+ }
+ } while (i != j);
+ gSaveBlock2Ptr->frontier.field_CB4[j] = trainerId;
+ j++;
+ } while (j < 6);
+
+ r10 = 8;
+ for (i = 0; i < 6; i++)
+ {
+ trainerId = gSaveBlock2Ptr->frontier.field_CB4[i];
+ eventObjTemplates[i + 1].graphicsId = GetBattleFacilityTrainerGfxId(trainerId);
+ for (j = 0; j < 2; j++)
+ {
+ while (1)
+ {
+ monSetId = RandomizeFacilityTrainerMonSet(trainerId);
+ if (j % 2 != 0 && gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[r10 - 1]].itemTableId == gFacilityTrainerMons[monSetId].itemTableId)
+ continue;
+
+ for (k = 8; k < r10; k++)
+ {
+ if (gFacilityTrainerMons[gSaveBlock2Ptr->frontier.field_CB4[k]].species == gFacilityTrainerMons[monSetId].species)
+ break;
+ if (species1 == gFacilityTrainerMons[monSetId].species)
+ break;
+ if (species2 == gFacilityTrainerMons[monSetId].species)
+ break;
+ }
+ if (k == r10)
+ break;
+ }
+
+ gSaveBlock2Ptr->frontier.field_CB4[r10] = monSetId;
+ r10++;
+ }
+ }
+
+ r10 = 0;
+ ValidateApprenticesChecksums();
+ for (i = 0; i < 4; i++)
+ {
+ if (gSaveBlock2Ptr->apprentices[i].lvlMode != 0
+ && gUnknown_085DF9EC[gSaveBlock2Ptr->apprentices[i].field_1] / 7 <= challengeNum
+ && gSaveBlock2Ptr->apprentices[i].lvlMode - 1 == lvlMode)
+ {
+ k = 0;
+ for (j = 0; j < 3; j++)
+ {
+ if (species1 != gSaveBlock2Ptr->apprentices[i].party[j].species
+ && species2 != gSaveBlock2Ptr->apprentices[i].party[j].species)
+ {
+ k++;
+ }
+ }
+ if (k > 2)
+ {
+ spArray[r10] = i + TRAINER_RECORD_MIXING_APPRENTICE;
+ r10++;
+ }
+ }
+ }
+ if (r10 != 0)
+ {
+ gSaveBlock2Ptr->frontier.field_CB4[6] = spArray[Random() % r10];
+ eventObjTemplates[7].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.field_CB4[6]);
+ FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1);
+ sub_81640E0(gSaveBlock2Ptr->frontier.field_CB4[6]);
+ }
+
+ r10 = 0;
+ for (i = 0; i < 5; i++)
+ {
+ u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[i]);
+ u32 recordHasData = 0;
+ u32 checksum = 0;
+ for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself.
+ {
+ recordHasData |= record[j];
+ checksum += record[j];
+ }
+
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].winStreak / 7 <= challengeNum
+ && gSaveBlock2Ptr->frontier.towerRecords[i].lvlMode == lvlMode
+ && recordHasData
+ && gSaveBlock2Ptr->frontier.towerRecords[i].checksum == checksum)
+ {
+ k = 0;
+ for (j = 0; j < 4; j++)
+ {
+ if (species1 != gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species
+ && species2 != gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species
+ && gSaveBlock2Ptr->frontier.towerRecords[i].party[j].level <= GetFrontierEnemyMonLevel(lvlMode)
+ && gSaveBlock2Ptr->frontier.towerRecords[i].party[j].species != 0)
+ {
+ k++;
+ }
+ }
+ if (k > 1)
+ {
+ spArray[r10] = i + TRAINER_RECORD_MIXING_FRIEND;
+ r10++;
+ }
+ }
+ }
+ if (r10 != 0)
+ {
+ gSaveBlock2Ptr->frontier.field_CB4[7] = spArray[Random() % r10];
+ eventObjTemplates[8].graphicsId = GetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.field_CB4[7]);
+ FlagClear(FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2);
+ sub_8164188(gSaveBlock2Ptr->frontier.field_CB4[7]);
+ }
+}
+
+static void sub_81646BC(u16 trainerId, u16 monSetId)
+{
+ u16 move = 0;
+ u16 species = 0;
+ SetFacilityPtrsGetLevel();
+
+ if (trainerId != TRAINER_EREADER)
+ {
+ if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ move = gFacilityTrainerMons[monSetId].moves[0];
+ species = gFacilityTrainerMons[monSetId].species;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ move = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[gUnknown_03006298[gSpecialVar_0x8005 + 1]].moves[0];
+ species = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[gUnknown_03006298[gSpecialVar_0x8005 + 1]].species;
+ }
+ else
+ {
+ s32 i;
+
+ move = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].party[gUnknown_03006298[gSpecialVar_0x8005 - 1]].moves[0];
+ species = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].party[gUnknown_03006298[gSpecialVar_0x8005 - 1]].species;
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ gStringVar3[i] = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].playerName[i];
+ gStringVar3[i] = EOS;
+ ConvertInternationalString(gStringVar3, gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].language);
+ }
+ }
+
+ StringCopy(gStringVar1, gMoveNames[move]);
+ StringCopy(gStringVar2, gSpeciesNames[species]);
+}
+
+static void sub_8164828(void)
+{
+ s32 i, j, arrId;
+ s32 monSetId;
+ s32 level = SetFacilityPtrsGetLevel();
+ u16 winStreak = GetCurrentFacilityWinStreak();
+ s32 challengeNum = winStreak / 7;
+ s32 k = gSpecialVar_LastTalked - 2;
+ s32 trainerId = gSaveBlock2Ptr->frontier.field_CB4[k];
+
+ for (arrId = 0; arrId < ARRAY_COUNT(gUnknown_085DD500); arrId++)
+ {
+ if (gUnknown_085DD500[arrId].facilityClass == GetFrontierTrainerFacilityClass(trainerId))
+ break;
+ }
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ if (trainerId == TRAINER_EREADER)
+ return;
+ if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ GetFrontierTrainerName(gStringVar1, trainerId);
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ GetFrontierTrainerName(gStringVar1, trainerId);
+ }
+ else
+ {
+ s32 i;
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ gStringVar1[i] = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].playerName[i];
+ gStringVar1[i] = EOS;
+ ConvertInternationalString(gStringVar1, gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].language);
+ ConvertIntToDecimalStringN(gStringVar2, gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].number, STR_CONV_MODE_LEFT_ALIGN, 3);
+ GetFrontierTrainerName(gStringVar3, trainerId);
+ }
+ break;
+ case 1:
+ monSetId = gSaveBlock2Ptr->frontier.field_CB4[8 + k * 2];
+ sub_81646BC(trainerId, monSetId);
+ break;
+ case 2:
+ monSetId = gSaveBlock2Ptr->frontier.field_CB4[9 + k * 2];
+ sub_81646BC(trainerId, monSetId);
+ break;
+ case 3:
+ gPartnerTrainerId = trainerId;
+ if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ gSaveBlock2Ptr->frontier.field_CB4[18] = gSaveBlock2Ptr->frontier.field_CB4[8 + k * 2];
+ gSaveBlock2Ptr->frontier.field_CB4[19] = gSaveBlock2Ptr->frontier.field_CB4[9 + k * 2];
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ gSaveBlock2Ptr->frontier.field_CB4[18] = gUnknown_03006298[2];
+ gSaveBlock2Ptr->frontier.field_CB4[19] = gUnknown_03006298[3];
+ }
+ else
+ {
+ gSaveBlock2Ptr->frontier.field_CB4[18] = gUnknown_03006298[0];
+ gSaveBlock2Ptr->frontier.field_CB4[19] = gUnknown_03006298[1];
+ }
+ for (k = 0; k < 14; k++)
+ {
+ while (1)
+ {
+ i = sub_8162548(challengeNum, k / 2);
+ if (gPartnerTrainerId == i)
+ continue;
+
+ for (j = 0; j < k; j++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[j] == i)
+ break;
+ }
+ if (j == k)
+ break;
+ }
+ gSaveBlock2Ptr->frontier.field_CB4[k] = i;
+ }
+ gSaveBlock2Ptr->frontier.field_CB4[17] = trainerId;
+ break;
+ case 4:
+ break;
+ }
+
+ if (trainerId == TRAINER_EREADER)
+ return;
+
+ if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]);
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ ShowFieldMessage(gUnknown_085DD500[arrId].strings[gSpecialVar_0x8005]);
+ }
+ else
+ {
+ u8 id = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ ShowFieldMessage(gUnknown_085DD690[id][gSpecialVar_0x8005]);
+ }
+}
+
+static void sub_8164B74(void)
+{
+ s32 challengeNum;
+ s32 i, j;
+ s32 trainerId = 0;
+ u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u32 battleNum = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ GetMultiplayerId(); // Yet another pointless function call.
+
+ switch (gSpecialVar_Result)
+ {
+ case 0:
+ if (battleMode == FRONTIER_MODE_LINK_MULTIS)
+ {
+ challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7;
+ if (sub_800A520())
+ {
+ SendBlock(bitmask_all_link_players_but_self(), &challengeNum, sizeof(challengeNum));
+ gSpecialVar_Result = 1;
+ }
+ }
+ else
+ {
+ gSpecialVar_Result = 6;
+ }
+ break;
+ case 1:
+ if ((GetBlockReceivedStatus() & 3) == 3)
+ {
+ ResetBlockReceivedFlags();
+ if (gBlockRecvBuffer[0][0] > gBlockRecvBuffer[1][0])
+ challengeNum = gBlockRecvBuffer[0][0];
+ else
+ challengeNum = gBlockRecvBuffer[1][0];
+ for (i = 0; i < 14; i++)
+ {
+ do
+ {
+ trainerId = sub_8162548(challengeNum, i / 2);
+ for (j = 0; j < i; j++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[j] == trainerId)
+ break;
+ }
+ } while (i != j);
+ if (i == j) // This condition is always true, because of the loop above.
+ gSaveBlock2Ptr->frontier.field_CB4[i] = trainerId;
+ }
+ gSpecialVar_Result = 2;
+ }
+ break;
+ case 2:
+ if (sub_800A520())
+ {
+ SendBlock(bitmask_all_link_players_but_self(), &gSaveBlock2Ptr->frontier.field_CB4, sizeof(gSaveBlock2Ptr->frontier.field_CB4));
+ gSpecialVar_Result = 3;
+ }
+ break;
+ case 3:
+ if ((GetBlockReceivedStatus() & 3) == 3)
+ {
+ ResetBlockReceivedFlags();
+ memcpy(&gSaveBlock2Ptr->frontier.field_CB4, gBlockRecvBuffer, sizeof(gSaveBlock2Ptr->frontier.field_CB4));
+ gTrainerBattleOpponent_A = gSaveBlock2Ptr->frontier.field_CB4[battleNum * 2];
+ gTrainerBattleOpponent_B = gSaveBlock2Ptr->frontier.field_CB4[battleNum * 2 + 1];
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_B, 1);
+ if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType == 0)
+ gSpecialVar_Result = 4;
+ else
+ gSpecialVar_Result = 6;
+ }
+ break;
+ case 4:
+ sub_800AC34();
+ gSpecialVar_Result = 5;
+ break;
+ case 5:
+ if (gReceivedRemoteLinkPlayers == 0)
+ {
+ gSpecialVar_Result = 6;
+ }
+ break;
+ case 6:
+ return;
+ }
+}
+
+static void sub_8164DCC(void)
+{
+ if (gWirelessCommType != 0)
+ sub_800AC34();
+}
+
+static void sub_8164DE4(void)
+{
+ SetBattleFacilityTrainerGfxId(gSaveBlock2Ptr->frontier.field_CB4[17], 0xF);
+}
+
+static void sub_8164E04(void)
+{
+ s32 i;
+ u8 text[32];
+
+ if (VarGet(VAR_FRONTIER_BATTLE_MODE) != FRONTIER_MODE_SINGLES)
+ return;
+
+ GetFrontierTrainerName(text, gTrainerBattleOpponent_A);
+ StripExtCtrlCodes(text);
+ StringCopy(gSaveBlock2Ptr->frontier.field_BD8, text);
+ GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.field_BEB, gTrainerBattleOpponent_A);
+ gSaveBlock2Ptr->frontier.field_BD6 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL);
+ gSaveBlock2Ptr->frontier.field_BD4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[0]], MON_DATA_SPECIES, NULL);
+ for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++)
+ gSaveBlock2Ptr->frontier.field_BE0[i] = gBattleMons[0].nickname[i];
+ gSaveBlock2Ptr->frontier.field_D06 = gBattleOutcome;
+}
+
+static void ValidateBattleTowerRecordChecksums(void)
+{
+ s32 i, j;
+ u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerPlayer);
+ u32 checksum = 0;
+
+ for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself.
+ {
+ checksum += record[j];
+ }
+ if (gSaveBlock2Ptr->frontier.towerPlayer.checksum != checksum)
+ ClearBattleTowerRecord(&gSaveBlock2Ptr->frontier.towerPlayer);
+
+ for (i = 0; i < 5; i++)
+ {
+ record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[i]);
+ checksum = 0;
+ for (j = 0; j < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; j++) // - 4, because of the last field being the checksum itself.
+ {
+ checksum += record[j];
+ }
+ if (gSaveBlock2Ptr->frontier.towerRecords[i].checksum != checksum)
+ ClearBattleTowerRecord(&gSaveBlock2Ptr->frontier.towerRecords[i]);
+ }
+}
+
+void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record)
+{
+ u32 i;
+
+ record->checksum = 0;
+ for (i = 0; i < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; i++) // - 4, because of the last field being the checksum itself.
+ record->checksum += ((u32 *)record)[i];
+}
+
+void CalcRubyBattleTowerChecksum(struct RSBattleTowerRecord *record)
+{
+ u32 i;
+
+ record->checksum = 0;
+ for (i = 0; i < (sizeof(struct RSBattleTowerRecord) - 4) / 4; i++) // - 4, because of the last field being the checksum itself.
+ record->checksum += ((u32 *)record)[i];
+}
+
+static void ClearBattleTowerRecord(struct EmeraldBattleTowerRecord *record)
+{
+ u32 i;
+
+ for (i = 0; i < sizeof(struct EmeraldBattleTowerRecord) / 4; i++)
+ ((u32 *)record)[i] = 0;
+}
+
+u16 GetCurrentBattleTowerWinStreak(u8 lvlMode, u8 battleMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
+
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static u8 GetMonCountForBattleMode(u8 battleMode)
+{
+ u8 sp[ARRAY_COUNT(gUnknown_085DFA42)];
+ memcpy(sp, gUnknown_085DFA42, sizeof(gUnknown_085DFA42));
+
+ if (battleMode < ARRAY_COUNT(gUnknown_085DFA42))
+ return sp[battleMode];
+ else
+ return 3;
+}
+
+struct RibbonCounter
+{
+ u8 partyIndex;
+ u8 count;
+};
+
+static void AwardBattleTowerRibbons(void)
+{
+ s32 i;
+ u32 partyIndex;
+ struct RibbonCounter ribbons[3]; // BUG: 4 Pokemon can receive ribbons in a double battle mode.
+ u8 ribbonType = 0;
+ u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u8 monCount = GetMonCountForBattleMode(battleMode);
+
+ if (lvlMode != FRONTIER_LVL_50)
+ ribbonType = MON_DATA_VICTORY_RIBBON;
+ else
+ ribbonType = MON_DATA_WINNING_RIBBON;
+
+ gSpecialVar_Result = FALSE;
+
+ if (GetCurrentBattleTowerWinStreak(lvlMode, battleMode) > 55)
+ {
+ for (i = 0; i < monCount; i++)
+ {
+ partyIndex = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
+ ribbons[i].partyIndex = partyIndex;
+ ribbons[i].count = 0;
+ if (!GetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], ribbonType))
+ {
+ gSpecialVar_Result = TRUE;
+ SetMonData(&gSaveBlock1Ptr->playerParty[partyIndex], ribbonType, &gSpecialVar_Result);
+ ribbons[i].count = GetRibbonCount(&gSaveBlock1Ptr->playerParty[partyIndex]);
+ }
+ }
+ }
+
+ if (gSpecialVar_Result)
+ {
+ IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS);
+ for (i = 1; i < monCount; i++)
+ {
+ if (ribbons[i].count > ribbons[0].count)
+ {
+ struct RibbonCounter prevBest = ribbons[0];
+ ribbons[0] = ribbons[i];
+ ribbons[i] = prevBest;
+ }
+ }
+ if (ribbons[0].count > 4)
+ {
+ sub_80EE4DC(&gSaveBlock1Ptr->playerParty[ribbons[0].partyIndex], ribbonType);
+ }
+ }
+}
+
+// This is a leftover debugging function that is used to populate the E-Reader
+// trainer with the player's current data.
+static void FillEReaderTrainerWithPlayerData(void)
+{
+ struct BattleTowerEReaderTrainer *ereaderTrainer = &gSaveBlock2Ptr->frontier.ereaderTrainer;
+ s32 i, j;
+
+ if (gSaveBlock2Ptr->playerGender != MALE)
+ {
+ ereaderTrainer->facilityClass = gTowerFemaleFacilityClasses[(gSaveBlock2Ptr->playerTrainerId[0] + gSaveBlock2Ptr->playerTrainerId[1]
+ + gSaveBlock2Ptr->playerTrainerId[2] + gSaveBlock2Ptr->playerTrainerId[3]) % ARRAY_COUNT(gTowerFemaleFacilityClasses)];
+ }
+ else
+ {
+ ereaderTrainer->facilityClass = gTowerMaleFacilityClasses[(gSaveBlock2Ptr->playerTrainerId[0] + gSaveBlock2Ptr->playerTrainerId[1]
+ + gSaveBlock2Ptr->playerTrainerId[2] + gSaveBlock2Ptr->playerTrainerId[3]) % ARRAY_COUNT(gTowerMaleFacilityClasses)];
+ }
+
+ CopyTrainerId(ereaderTrainer->trainerId, gSaveBlock2Ptr->playerTrainerId);
+ StringCopy7(ereaderTrainer->name, gSaveBlock2Ptr->playerName);
+
+ ereaderTrainer->winStreak = 1;
+
+ j = 7;
+ for (i = 0; i < 6; i++)
+ {
+ ereaderTrainer->greeting[i] = gSaveBlock1Ptr->unk2BBC[i];
+ ereaderTrainer->farewellPlayerLost[i] = j;
+ ereaderTrainer->farewellPlayerWon[i] = j + 6;
+ j++;
+ }
+
+ for (i = 0; i < 3; i++)
+ sub_80686FC(&gPlayerParty[i], &ereaderTrainer->party[i]);
+
+ SetEReaderTrainerChecksum(ereaderTrainer);
+}
+
+u8 GetEreaderTrainerFrontSpriteId(void)
+{
+ return gFacilityClassToPicIndex[gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass];
+}
+
+u8 GetEreaderTrainerClassId(void)
+{
+ return gFacilityClassToTrainerClass[gSaveBlock2Ptr->frontier.ereaderTrainer.facilityClass];
+}
+
+void GetEreaderTrainerName(u8 *dst)
+{
+ s32 i;
+
+ for (i = 0; i < 5; i++)
+ dst[i] = gSaveBlock2Ptr->frontier.ereaderTrainer.name[i];
+
+ dst[i] = EOS;
+}
+
+// Checks if the saved E-Reader trainer is valid.
+void ValidateEReaderTrainer(void)
+{
+ u32 i;
+ u32 checksum;
+ struct BattleTowerEReaderTrainer *ereaderTrainer;
+
+ gSpecialVar_Result = FALSE;
+ ereaderTrainer = &gSaveBlock2Ptr->frontier.ereaderTrainer;
+
+ checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerEReaderTrainer) - 4) / 4; i++) // - 4, because of the last field being the checksum itself.
+ checksum |= ((u32 *)ereaderTrainer)[i];
+
+ if (checksum == 0)
+ {
+ gSpecialVar_Result = TRUE;
+ return;
+ }
+
+ checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerEReaderTrainer) - 4) / 4; i++) // - 4, because of the last field being the checksum itself.
+ checksum += ((u32 *)ereaderTrainer)[i];
+
+ if (gSaveBlock2Ptr->frontier.ereaderTrainer.checksum != checksum)
+ {
+ ClearEReaderTrainer(&gSaveBlock2Ptr->frontier.ereaderTrainer);
+ gSpecialVar_Result = TRUE;
+ }
+}
+
+static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderTrainer)
+{
+ s32 i;
+
+ ereaderTrainer->checksum = 0;
+ for (i = 0; i < (sizeof(struct BattleTowerEReaderTrainer) - 4) / 4; i++) // - 4, because of the last field being the checksum itself.
+ ereaderTrainer->checksum += ((u32 *)ereaderTrainer)[i];
+}
+
+void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer)
+{
+ u32 i;
+
+ for (i = 0; i < (sizeof(struct BattleTowerEReaderTrainer)) / 4; i++)
+ ((u32 *)ereaderTrainer)[i] = 0;
+}
+
+void CopyEReaderTrainerGreeting(void)
+{
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting);
+}
+
+static void CopyEReaderTrainerFarewellMessage(void)
+{
+ if (gBattleOutcome == B_OUTCOME_DREW)
+ gStringVar4[0] = EOS;
+ else if (gBattleOutcome == B_OUTCOME_WON)
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerWon);
+ else
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerLost);
+}
+
+void sub_81653CC(void)
+{
+ if (gSaveBlock2Ptr->frontier.field_CA8 == 1)
+ sub_80F01B8();
+ if (FlagGet(FLAG_0x077) == TRUE)
+ {
+ sub_80F01B8();
+ FlagClear(FLAG_0x077);
+ }
+}
+
+#define STEVEN_OTID 61226
+
+static void FillPartnerParty(u16 trainerId)
+{
+ s32 i, j;
+ u32 ivs, level;
+ u32 friendship;
+ u16 monSetId;
+ u32 otID;
+ u8 trainerName[PLAYER_NAME_LENGTH + 1];
+ SetFacilityPtrsGetLevel();
+
+ if (trainerId == TRAINER_STEVEN_PARTNER)
+ {
+ for (i = 0; i < 3; i++)
+ {
+ do
+ {
+ j = Random32();
+ } while (IsShinyOtIdPersonality(STEVEN_OTID, j) || sStevenMons[i].nature != GetNatureFromPersonality(j));
+ CreateMon(&gPlayerParty[3 + i],
+ sStevenMons[i].species,
+ sStevenMons[i].level,
+ sStevenMons[i].fixedIV,
+ TRUE, i, // BUG: personality was stored in the 'j' variable. As a result, Steven's pokemon do not have the intended natures.
+ TRUE, STEVEN_OTID);
+ for (j = 0; j < 6; j++)
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_HP_EV + j, &sStevenMons[i].evs[j]);
+ for (j = 0; j < 4; j++)
+ SetMonMoveSlot(&gPlayerParty[3 + i], sStevenMons[i].moves[j], j);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, gTrainers[TRAINER_STEVEN].trainerName);
+ j = MALE;
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j);
+ CalculateMonStats(&gPlayerParty[3 + i]);
+ }
+ }
+ else if (trainerId == TRAINER_EREADER)
+ {
+ // Scrapped, lol.
+ trainerName[0] = gGameLanguage;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ level = SetFacilityPtrsGetLevel();
+ ivs = GetFrontierTrainerFixedIvs(trainerId);
+ otID = Random32();
+ for (i = 0; i < 2; i++)
+ {
+ monSetId = gSaveBlock2Ptr->frontier.field_CB4[i + 18];
+ CreateMonWithEVSpreadNatureOTID(&gPlayerParty[3 + i],
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ ivs,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otID);
+ friendship = 0xFF;
+ for (j = 0; j < 4; j++)
+ {
+ SetMonMoveSlot(&gPlayerParty[3 + i], gFacilityTrainerMons[monSetId].moves[j], j);
+ if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ friendship = 0;
+ }
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+ for (j = 0; j < PLAYER_NAME_LENGTH + 1; j++)
+ trainerName[j] = gFacilityTrainers[trainerId].trainerName[j];
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, &trainerName);
+ j = IsFrontierTrainerFemale(trainerId);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j);
+ }
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ trainerId -= TRAINER_RECORD_MIXING_FRIEND;
+ for (i = 0; i < 2; i++)
+ {
+ struct EmeraldBattleTowerRecord *record = &gSaveBlock2Ptr->frontier.towerRecords[trainerId];
+ struct UnknownPokemonStruct monData = record->party[gSaveBlock2Ptr->frontier.field_CB4[18 + i]];
+ StringCopy(trainerName, record->name);
+ if (record->language == LANGUAGE_JAPANESE)
+ {
+ if (monData.nickname[0] != EXT_CTRL_CODE_BEGIN || monData.nickname[1] != EXT_CTRL_CODE_JPN)
+ {
+ monData.nickname[5] = EOS;
+ ConvertInternationalString(monData.nickname, LANGUAGE_JAPANESE);
+ }
+ }
+ else
+ {
+ if (monData.nickname[0] == EXT_CTRL_CODE_BEGIN && monData.nickname[1] == EXT_CTRL_CODE_JPN)
+ trainerName[5] = EOS;
+ }
+ sub_8068338(&gPlayerParty[3 + i], &monData, TRUE);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, trainerName);
+ j = IsFrontierTrainerFemale(trainerId + TRAINER_RECORD_MIXING_FRIEND);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j);
+ }
+ }
+ else
+ {
+ trainerId -= TRAINER_RECORD_MIXING_APPRENTICE;
+ for (i = 0; i < 2; i++)
+ {
+ CreateApprenticeMon(&gPlayerParty[3 + i], &gSaveBlock2Ptr->apprentices[trainerId], gSaveBlock2Ptr->frontier.field_CB4[18 + i]);
+ j = IsFrontierTrainerFemale(trainerId + TRAINER_RECORD_MIXING_APPRENTICE);
+ SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j);
+ }
+ }
+}
+
+bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct EmeraldBattleTowerRecord *dst)
+{
+ s32 i, validMons = 0;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (src->party[i].species)
+ validMons++;
+ }
+
+ if (validMons != 3)
+ {
+ memset(dst, 0, sizeof(*dst));
+ return FALSE;
+ }
+ else
+ {
+ dst->lvlMode = src->lvlMode;
+ dst->winStreak = src->winStreak;
+ for (i = 0; i < (signed) ARRAY_COUNT(sRubyFacilityClassToEmerald); i++)
+ {
+ if (sRubyFacilityClassToEmerald[i][0] == src->facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(sRubyFacilityClassToEmerald))
+ dst->facilityClass = sRubyFacilityClassToEmerald[i][1];
+ else
+ dst->facilityClass = FACILITY_CLASS_YOUNGSTER;
+
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ dst->name[i] = src->name[i];
+ for (i = 0; i < 4; i++)
+ dst->trainerId[i] = src->trainerId[i];
+ for (i = 0; i < 6; i++)
+ dst->greeting[i] = src->greeting[i];
+ for (i = 0; i < 6; i++)
+ dst->speechWon[i] = gUnknown_085DFA46[i];
+ for (i = 0; i < 6; i++)
+ dst->speechLost[i] = gUnknown_085DFA52[i];
+ for (i = 0; i < 3; i++)
+ dst->party[i] = src->party[i];
+
+ CpuFill32(0, &dst->party[3], sizeof(dst->party[3]));
+ CalcEmeraldBattleTowerChecksum(dst);
+ return TRUE;
+ }
+}
+
+bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, struct RSBattleTowerRecord *dst)
+{
+ s32 i, validMons = 0;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (src->party[i].species)
+ validMons++;
+ }
+
+ if (validMons != 3)
+ {
+ memset(dst, 0, sizeof(*dst));
+ return FALSE;
+ }
+ else
+ {
+ dst->lvlMode = src->lvlMode;
+ dst->winStreak = src->winStreak;
+ for (i = 0; i < (signed) ARRAY_COUNT(sRubyFacilityClassToEmerald); i++)
+ {
+ if (sRubyFacilityClassToEmerald[i][1] == src->facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(sRubyFacilityClassToEmerald))
+ dst->facilityClass = sRubyFacilityClassToEmerald[i][0];
+ else
+ dst->facilityClass = 0x24; // FACILITY_CLASS_YOUNGSTER in Ruby/Sapphire.
+
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ dst->name[i] = src->name[i];
+ for (i = 0; i < 4; i++)
+ dst->trainerId[i] = src->trainerId[i];
+ for (i = 0; i < 6; i++)
+ dst->greeting[i] = src->greeting[i];
+ for (i = 0; i < 3; i++)
+ dst->party[i] = src->party[i];
+
+ CalcRubyBattleTowerChecksum(dst);
+ return TRUE;
+ }
+}
+
+void CalcApprenticeChecksum(struct Apprentice *apprentice)
+{
+ s32 i;
+
+ apprentice->checksum = 0;
+ for (i = 0; i < (sizeof(struct Apprentice) - 4) / 4; i++)
+ apprentice->checksum += ((u32 *)apprentice)[i];
+}
+
+static void ClearApprentice(struct Apprentice *apprentice)
+{
+ s32 i;
+
+ for (i = 0; i < (sizeof(struct Apprentice)) / 4; i++)
+ ((u32 *)apprentice)[i] = 0;
+ ResetApprenticeStruct(apprentice);
+}
+
+static void ValidateApprenticesChecksums(void)
+{
+ s32 i, j;
+
+ for (i = 0; i < 4; i++)
+ {
+ u32 *data = (u32*) &gSaveBlock2Ptr->apprentices[i];
+ u32 checksum = 0;
+ for (j = 0; j < (sizeof(struct Apprentice) - 4) / 4; j++)
+ checksum += data[j];
+ if (gSaveBlock2Ptr->apprentices[i].checksum != checksum)
+ ClearApprentice(&gSaveBlock2Ptr->apprentices[i]);
+ }
+}
+
+void GetBattleTowerTrainerLanguage(u8 *dst, u16 trainerId)
+{
+ if (trainerId == TRAINER_EREADER)
+ {
+ *dst = gGameLanguage;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ *dst = gGameLanguage;
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ *dst = GetRecordedBattleRecordMixFriendLanguage();
+ else
+ *dst = gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].language;
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ *dst = GetRecordedBattleApprenticeLanguage();
+ else
+ *dst = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+}
+
+u8 SetFacilityPtrsGetLevel(void)
+{
+ if (gSaveBlock2Ptr->frontier.lvlMode == FRONTIER_LVL_TENT)
+ {
+ return SetTentPtrsGetLevel();
+ }
+ else
+ {
+ gFacilityTrainers = gBattleFrontierTrainers;
+ gFacilityTrainerMons = gBattleFrontierMons;
+ return GetFrontierEnemyMonLevel(gSaveBlock2Ptr->frontier.lvlMode);
+ }
+}
+
+u8 GetFrontierEnemyMonLevel(u8 lvlMode)
+{
+ u8 level;
+
+ switch (lvlMode)
+ {
+ default:
+ case FRONTIER_LVL_50:
+ level = 50;
+ break;
+ case FRONTIER_LVL_OPEN:
+ level = GetHighestLevelInPlayerParty();
+ if (level < 60)
+ level = 60;
+ break;
+ }
+
+ return level;
+}
+
+s32 GetHighestLevelInPlayerParty(void)
+{
+ s32 highestLevel = 0;
+ s32 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL)
+ && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_EGG)
+ {
+ s32 level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL, NULL);
+ if (level > highestLevel)
+ highestLevel = level;
+ }
+ }
+
+ return highestLevel;
+}
+
+static u8 GetFrontierTrainerFixedIvs(u16 trainerId)
+{
+ u8 fixedIV = 0;
+
+ if (trainerId < 100)
+ fixedIV = 3;
+ else if (trainerId < 120)
+ fixedIV = 6;
+ else if (trainerId < 140)
+ fixedIV = 9;
+ else if (trainerId < 160)
+ fixedIV = 12;
+ else if (trainerId < 180)
+ fixedIV = 15;
+ else if (trainerId < 200)
+ fixedIV = 18;
+ else if (trainerId < 220)
+ fixedIV = 21;
+ else
+ fixedIV = 31;
+
+ return fixedIV;
+}
+
+static u16 sub_8165D40(void)
+{
+ u32 facility = VarGet(VAR_FRONTIER_FACILITY);
+
+ if (facility == FRONTIER_FACILITY_PALACE)
+ return Random() % 30;
+ else if (facility == FRONTIER_FACILITY_ARENA)
+ return Random() % 30;
+ else if (facility == FRONTIER_FACILITY_FACTORY)
+ return Random() % 30;
+ else if (facility == FRONTIER_FACILITY_TOWER)
+ return 0;
+ else
+ return 0;
+}
+
+static u8 SetTentPtrsGetLevel(void)
+{
+ u8 level = 30;
+ u32 tentFacility = VarGet(VAR_FRONTIER_FACILITY);
+
+ if (tentFacility == TENT_SLATEPORT)
+ {
+ gFacilityTrainers = gSlateportBattleTentTrainers;
+ gFacilityTrainerMons = gSlateportBattleTentMons;
+ }
+ else if (tentFacility == TENT_VERDANTURF)
+ {
+ gFacilityTrainers = gVerdanturfBattleTentTrainers;
+ gFacilityTrainerMons = gVerdanturfBattleTentMons;
+ }
+ else if (tentFacility == TENT_FALLARBOR)
+ {
+ gFacilityTrainers = gFallarborBattleTentTrainers;
+ gFacilityTrainerMons = gFallarborBattleTentMons;
+ }
+ else
+ {
+ gFacilityTrainers = gBattleFrontierTrainers;
+ gFacilityTrainerMons = gBattleFrontierMons;
+ }
+
+ level = GetHighestLevelInPlayerParty();
+ if (level < 30)
+ level = 30;
+
+ return level;
+}
+
+static void sub_8165E18(void)
+{
+ s32 i;
+ u16 trainerId;
+
+ do
+ {
+ trainerId = sub_8165D40();
+ for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
+ break;
+ }
+ } while (i != gSaveBlock2Ptr->frontier.curChallengeBattleNum);
+
+ gTrainerBattleOpponent_A = trainerId;
+ SetBattleFacilityTrainerGfxId(gTrainerBattleOpponent_A, 0);
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum + 1 < 3)
+ gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.curChallengeBattleNum] = gTrainerBattleOpponent_A;
+}
+
+static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
+{
+ s32 i, j;
+ u16 chosenMonIndices[4];
+ u8 friendship;
+ u8 level = SetTentPtrsGetLevel();
+ u8 fixedIV = 0;
+ u8 bfMonCount;
+ const u16 *monSets = NULL;
+ u32 otID = 0;
+ u16 monSetId;
+
+ monSets = gFacilityTrainers[gTrainerBattleOpponent_A].monSets;
+
+ bfMonCount = 0;
+ monSetId = monSets[bfMonCount];
+ while (monSetId != 0xFFFF)
+ {
+ bfMonCount++;
+ monSetId = monSets[bfMonCount];
+ if (monSetId == 0xFFFF)
+ break;
+ }
+
+ i = 0;
+ otID = Random32();
+ while (i != monCount)
+ {
+ u16 monSetId = monSets[Random() % bfMonCount];
+
+ // Ensure this pokemon species isn't a duplicate.
+ for (j = 0; j < i + firstMonId; j++)
+ {
+ if (GetMonData(&gEnemyParty[j], MON_DATA_SPECIES, NULL) == gFacilityTrainerMons[monSetId].species)
+ break;
+ }
+ if (j != i + firstMonId)
+ continue;
+
+ // Ensure this Pokemon's held item isn't a duplicate.
+ for (j = 0; j < i + firstMonId; j++)
+ {
+ if (GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) != 0
+ && GetMonData(&gEnemyParty[j], MON_DATA_HELD_ITEM, NULL) == gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId])
+ break;
+ }
+ if (j != i + firstMonId)
+ continue;
+
+ // Ensure this exact pokemon index isn't a duplicate. This check doesn't seem necessary
+ // because the species and held items were already checked directly above.
+ for (j = 0; j < i; j++)
+ {
+ if (chosenMonIndices[j] == monSetId)
+ break;
+ }
+ if (j != i)
+ continue;
+
+ chosenMonIndices[i] = monSetId;
+
+ // Place the chosen pokemon into the trainer's party.
+ CreateMonWithEVSpreadNatureOTID(&gEnemyParty[i + firstMonId],
+ gFacilityTrainerMons[monSetId].species,
+ level,
+ gFacilityTrainerMons[monSetId].nature,
+ fixedIV,
+ gFacilityTrainerMons[monSetId].evSpread,
+ otID);
+
+ friendship = 255;
+ // Give the chosen pokemon its specified moves.
+ for (j = 0; j < 4; j++)
+ {
+ SetMonMoveSlot(&gEnemyParty[i + firstMonId], gFacilityTrainerMons[monSetId].moves[j], j);
+ if (gFacilityTrainerMons[monSetId].moves[j] == MOVE_FRUSTRATION)
+ friendship = 0; // Frustration is more powerful the lower the pokemon's friendship is.
+ }
+
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_FRIENDSHIP, &friendship);
+ SetMonData(&gEnemyParty[i + firstMonId], MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
+
+ // The pokemon was successfully added to the trainer's party, so it's safe to move on to
+ // the next party slot.
+ i++;
+ }
+}
+
+u8 sub_81660B8(u8 facilityClass)
+{
+ u8 trainerObjectGfxId;
+ u8 i;
+
+ // Search male classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerMaleFacilityClasses); i++)
+ {
+ if (gTowerMaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerMaleFacilityClasses))
+ {
+ trainerObjectGfxId = gTowerMaleTrainerGfxIds[i];
+ return trainerObjectGfxId;
+ }
+
+ // Search female classes.
+ for (i = 0; i < ARRAY_COUNT(gTowerFemaleFacilityClasses); i++)
+ {
+ if (gTowerFemaleFacilityClasses[i] == facilityClass)
+ break;
+ }
+ if (i != ARRAY_COUNT(gTowerFemaleFacilityClasses))
+ {
+ trainerObjectGfxId = gTowerFemaleTrainerGfxIds[i];
+ return trainerObjectGfxId;
+ }
+ else
+ {
+ return EVENT_OBJ_GFX_BOY_1;
+ }
+}
+
+bool32 ValidateBattleTowerRecord(u8 recordId) // unused
+{
+ s32 i;
+ u32 *record = (u32*)(&gSaveBlock2Ptr->frontier.towerRecords[recordId]);
+ u32 checksum = 0;
+ u32 hasData = 0;
+ for (i = 0; i < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; i++) // - 4, because of the last fjeld bejng the checksum jtself.
+ {
+ checksum += record[i];
+ hasData |= record[i];
+ }
+
+ if (checksum == 0 && hasData == 0)
+ {
+ return FALSE;
+ }
+ else if (gSaveBlock2Ptr->frontier.towerRecords[recordId].checksum != checksum)
+ {
+ ClearBattleTowerRecord(&gSaveBlock2Ptr->frontier.towerRecords[recordId]);
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+void sub_8166188(void)
+{
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ {
+ s32 i;
+ u8 enemyLevel = SetFacilityPtrsGetLevel();
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ u32 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES, NULL);
+ if (species)
+ {
+ SetMonData(&gEnemyParty[i], MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][enemyLevel]);
+ CalculateMonStats(&gEnemyParty[i]);
+ }
+ }
+ }
+}
diff --git a/src/battle_transition.c b/src/battle_transition.c
index fc8c0eeee..94b9e78f9 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -1,25 +1,26 @@
#include "global.h"
+#include "battle.h"
#include "battle_transition.h"
-#include "unk_transition.h"
+#include "bg.h"
+#include "decompress.h"
+#include "field_camera.h"
+#include "field_effect.h"
+#include "gpu_regs.h"
#include "main.h"
+#include "malloc.h"
#include "overworld.h"
-#include "task.h"
#include "palette.h"
-#include "trig.h"
-#include "field_effect.h"
-#include "field_camera.h"
#include "random.h"
-#include "sprite.h"
+#include "scanline_effect.h"
#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "unk_transition.h"
+#include "util.h"
+#include "constants/field_effects.h"
#include "constants/songs.h"
#include "constants/trainers.h"
-#include "field_camera.h"
-#include "scanline_effect.h"
-#include "malloc.h"
-#include "gpu_regs.h"
-#include "decompress.h"
-#include "bg.h"
-#include "util.h"
struct TransitionData
{
@@ -56,9 +57,6 @@ struct StructRectangularSpiral
typedef bool8 (*TransitionStateFunc)(struct Task *task);
typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-
extern const struct OamData gEventObjectBaseOam_32x32;
extern void sub_80AC3D0(void);
diff --git a/src/battle_util.c b/src/battle_util.c
index 1aaffc053..251a545c9 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -1200,8 +1200,8 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
for (i = 0; i < 2; i++)
CancelMultiTurnMoves(i);
- gBattlescriptCurrInstr = BattleScript_82DB8F3;
- BattleScriptExecute(BattleScript_82DB8F3);
+ gBattlescriptCurrInstr = BattleScript_ArenaDoJudgment;
+ BattleScriptExecute(BattleScript_ArenaDoJudgment);
gBattleStruct->wishPerishSongState++;
return TRUE;
}
@@ -2616,7 +2616,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
gBattleStruct->moneyMultiplier = 2;
break;
case HOLD_EFFECT_RESTORE_STATS:
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerId].statStages[i] < 6)
{
@@ -2687,7 +2687,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_RESTORE_STATS:
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerId].statStages[i] < 6)
{
@@ -3163,7 +3163,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
}
break;
case HOLD_EFFECT_RESTORE_STATS:
- for (i = 0; i < BATTLE_STATS_NO; i++)
+ for (i = 0; i < NUM_BATTLE_STATS; i++)
{
if (gBattleMons[battlerId].statStages[i] < 6)
{
diff --git a/src/berry.c b/src/berry.c
index 66cf91409..9f08165b8 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -1,23 +1,35 @@
#include "global.h"
#include "berry.h"
-#include "main.h"
-#include "item.h"
-#include "constants/items.h"
-#include "text.h"
-#include "random.h"
#include "event_data.h"
+#include "field_control_avatar.h"
#include "fieldmap.h"
+#include "item.h"
+#include "item_menu.h"
+#include "main.h"
+#include "random.h"
+#include "string_util.h"
+#include "text.h"
+#include "constants/event_object_movement_constants.h"
+#include "constants/items.h"
extern u8 EventObjectGetBerryTreeId(u8 eventObjectId);
extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
extern void CB2_ChooseBerry(void);
-extern const u8* GetEventObjectScriptPointerPlayerFacing(void);
extern bool8 IsBerryTreeSparkling(u8, u8, u8);
-extern u16 gSpecialVar_ItemId;
-
extern const u8 BerryTreeScript[];
+static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
+static bool32 BerryTreeGrow(struct BerryTree *tree);
+static u16 BerryTypeToItemId(u16 berry);
+static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree);
+static u8 GetNumStagesWateredByBerryTreeId(u8 id);
+static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water);
+static u8 CalcBerryYield(struct BerryTree *tree);
+static u8 GetBerryCountByBerryTreeId(u8 id);
+static u16 GetStageDurationByBerryType(u8);
+
+//.rodata
static const u8 sBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers.");
static const u8 sBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy.");
static const u8 sBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are");
@@ -845,6 +857,7 @@ const struct UnkStruct_0858AB24 gUnknown_0858AB24[] = {
const struct BerryTree gBlankBerryTree = {};
+//.text
// unused
void ClearEnigmaBerries(void)
{
@@ -860,7 +873,7 @@ void SetEnigmaBerry(u8 *src)
dest[i] = src[i];
}
-u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
+static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry)
{
u32 i;
u32 checksum;
@@ -889,12 +902,12 @@ bool32 IsEnigmaBerryValid(void)
const struct Berry *GetBerryInfo(u8 berry)
{
- if (berry == 0x2B && IsEnigmaBerryValid())
+ if (berry == ITEM_TO_BERRY(ITEM_ENIGMA_BERRY) && IsEnigmaBerryValid())
return (struct Berry*)(&gSaveBlock1Ptr->enigmaBerry.berry);
else
{
- if (berry == 0 || berry > 0x2B)
- berry = 1;
+ if (berry == BERRY_NONE || berry > ITEM_TO_BERRY(LAST_BERRY_INDEX))
+ berry = ITEM_TO_BERRY(FIRST_BERRY_INDEX);
return &gBerries[berry - 1];
}
}
@@ -910,16 +923,16 @@ bool32 EventObjectInteractionWaterBerryTree(void)
switch (tree->stage)
{
- case 1:
+ case BERRY_STAGE_PLANTED:
tree->watered1 = TRUE;
break;
- case 2:
+ case BERRY_STAGE_SPROUTED:
tree->watered2 = TRUE;
break;
- case 3:
+ case BERRY_STAGE_TALLER:
tree->watered3 = TRUE;
break;
- case 4:
+ case BERRY_STAGE_FLOWERING:
tree->watered4 = TRUE;
break;
default:
@@ -953,28 +966,28 @@ void ClearBerryTrees(void)
gSaveBlock1Ptr->berryTrees[i] = gBlankBerryTree;
}
-bool32 BerryTreeGrow(struct BerryTree *tree)
+static bool32 BerryTreeGrow(struct BerryTree *tree)
{
if (tree->growthSparkle)
return FALSE;
switch (tree->stage)
{
- case 0:
+ case BERRY_STAGE_NO_BERRY:
return FALSE;
- case 4:
+ case BERRY_STAGE_FLOWERING:
tree->berryYield = CalcBerryYield(tree);
- case 1:
- case 2:
- case 3:
+ case BERRY_STAGE_PLANTED:
+ case BERRY_STAGE_SPROUTED:
+ case BERRY_STAGE_TALLER:
tree->stage++;
break;
- case 5:
+ case BERRY_STAGE_BERRIES:
tree->watered1 = 0;
tree->watered2 = 0;
tree->watered3 = 0;
tree->watered4 = 0;
tree->berryYield = 0;
- tree->stage = 2;
+ tree->stage = BERRY_STAGE_SPROUTED;
if (++tree->regrowthCount == 10)
*tree = gBlankBerryTree;
break;
@@ -1012,7 +1025,7 @@ void BerryTreeTimeUpdate(s32 minutes)
tree->minutesUntilNextStage = GetStageDurationByBerryType(tree->berry);
if (!BerryTreeGrow(tree))
break;
- if (tree->stage == 5)
+ if (tree->stage == BERRY_STAGE_BERRIES)
tree->minutesUntilNextStage *= 4;
}
}
@@ -1028,7 +1041,7 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle)
tree->berry = berry;
tree->minutesUntilNextStage = GetStageDurationByBerryType(berry);
tree->stage = stage;
- if (stage == 5)
+ if (stage == BERRY_STAGE_BERRIES)
{
tree->berryYield = CalcBerryYield(tree);
tree->minutesUntilNextStage *= 4;
@@ -1064,7 +1077,7 @@ u8 ItemIdToBerryType(u16 item)
return ITEM_TO_BERRY(item);
}
-u16 BerryTypeToItemId(u16 berry)
+static u16 BerryTypeToItemId(u16 berry)
{
u16 item = berry - 1;
@@ -1087,10 +1100,10 @@ void GetBerryCountStringByBerryType(u8 berry, u8* dest, u32 berryCount)
void ResetBerryTreeSparkleFlag(u8 id)
{
- GetBerryTreeInfo(id)->growthSparkle = 0;
+ GetBerryTreeInfo(id)->growthSparkle = FALSE;
}
-u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree)
+static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree)
{
u8 count = 0;
@@ -1105,12 +1118,12 @@ u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree)
return count;
}
-u8 GetNumStagesWateredByBerryTreeId(u8 id)
+static u8 GetNumStagesWateredByBerryTreeId(u8 id)
{
return BerryTreeGetNumStagesWatered(GetBerryTreeInfo(id));
}
-u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
+static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
{
u32 randMin;
u32 randMax;
@@ -1133,7 +1146,7 @@ u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water)
}
}
-u8 CalcBerryYield(struct BerryTree *tree)
+static u8 CalcBerryYield(struct BerryTree *tree)
{
const struct Berry *berry = GetBerryInfo(tree->berry);
u8 min = berry->minYield;
@@ -1142,12 +1155,12 @@ u8 CalcBerryYield(struct BerryTree *tree)
return CalcBerryYieldInternal(max, min, BerryTreeGetNumStagesWatered(tree));
}
-u8 GetBerryCountByBerryTreeId(u8 id)
+static u8 GetBerryCountByBerryTreeId(u8 id)
{
return gSaveBlock1Ptr->berryTrees[id].berryYield;
}
-u16 GetStageDurationByBerryType(u8 berry)
+static u16 GetStageDurationByBerryType(u8 berry)
{
return GetBerryInfo(berry)->stageDuration * 60;
}
@@ -1156,18 +1169,18 @@ void EventObjectInteractionGetBerryTreeData(void)
{
u8 id;
u8 berry;
- u8 unk;
+ u8 localId;
u8 group;
u8 num;
id = EventObjectGetBerryTreeId(gSelectedEventObject);
berry = GetBerryTypeByBerryTreeId(id);
ResetBerryTreeSparkleFlag(id);
- unk = gSpecialVar_LastTalked;
+ localId = gSpecialVar_LastTalked;
num = gSaveBlock1Ptr->location.mapNum;
group = gSaveBlock1Ptr->location.mapGroup;
- if (IsBerryTreeSparkling(unk, num, group))
- gSpecialVar_0x8004 = 0xFF;
+ if (IsBerryTreeSparkling(localId, num, group))
+ gSpecialVar_0x8004 = BERRY_STAGE_SPARKLING;
else
gSpecialVar_0x8004 = GetStageByBerryTreeId(id);
gSpecialVar_0x8005 = GetNumStagesWateredByBerryTreeId(id);
@@ -1216,7 +1229,7 @@ void EventObjectInteractionRemoveBerryTree(void)
sub_8092EF0(gSpecialVar_LastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
-u8 PlayerHasBerries(void)
+bool8 PlayerHasBerries(void)
{
return IsBagPocketNonEmpty(POCKET_BERRIES);
}
@@ -1238,7 +1251,7 @@ void ResetBerryTreeSparkleFlags(void)
bottom = top + 8;
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
- if (gEventObjects[i].active && gEventObjects[i].movementType == 12)
+ if (gEventObjects[i].active && gEventObjects[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH)
{
cam_left = gEventObjects[i].currentCoords.x;
cam_top = gEventObjects[i].currentCoords.y;
diff --git a/src/berry_blender.c b/src/berry_blender.c
index a5b940189..7320e905f 100644
--- a/src/berry_blender.c
+++ b/src/berry_blender.c
@@ -32,6 +32,8 @@
#include "tv.h"
#include "item_menu.h"
#include "battle_records.h"
+#include "graphics.h"
+#include "new_game.h"
#define BLENDER_SCORE_BEST 0
#define BLENDER_SCORE_GOOD 1
@@ -131,20 +133,6 @@ struct BerryBlenderData
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern u8 gInGameOpponentsNo;
-extern u8 gUnknown_020322D5;
-
-// graphics
-extern const u8 gBerryBlenderArrowTiles[];
-extern const u8 gBerryBlenderStartTiles[];
-extern const u8 gBerryBlenderMarubatsuTiles[];
-extern const u8 gBerryBlenderParticlesTiles[];
-extern const u8 gBerryBlenderCountdownNumbersTiles[];
-extern const u16 gBerryBlenderMiscPalette[];
-extern const u16 gBerryBlenderArrowPalette[];
-extern const u8 sBlenderCenterGfx[];
-extern const u8 gUnknown_08D91DB8[];
-extern const u8 gUnknown_08D927EC[];
// text
extern const u8 gText_SavingDontTurnOff2[];
@@ -206,18 +194,21 @@ static void sub_8083170(u16 a0, u16 a1);
static void Blender_PrintMadePokeblockString(struct Pokeblock *pokeblock, u8 *dst);
static bool32 TryAddContestLinkTvShow(struct Pokeblock *pokeblock, struct TvBlenderStruct *a1);
-// ewram
+// EWRAM
EWRAM_DATA static struct BerryBlenderData *sBerryBlenderData = NULL;
EWRAM_DATA static s32 sUnknown_020322A8[5] = {0};
EWRAM_DATA static s32 sUnknown_020322BC[5] = {0};
EWRAM_DATA static u32 sUnknown_020322D0 = 0;
-// iwram
+// IWRAM bss
IWRAM_DATA static s16 sUnknown_03000DE8[8];
IWRAM_DATA static s16 sUnknown_03000DF8[6];
IWRAM_DATA static s16 sUnknown_03000E04;
IWRAM_DATA static s16 sUnknown_03000E06;
+// IWRAM common
+u8 gInGameOpponentsNo;
+
// rom
static const u16 sBlenderCenterPal[] = INCBIN_U16("graphics/berry_blender/center.gbapal");
@@ -323,7 +314,7 @@ static const struct BgTemplate sBerryBlenderBgTemplates[3] =
static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 6,
.width = 7,
@@ -332,7 +323,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x28,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 6,
.width = 7,
@@ -341,7 +332,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x36,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 12,
.width = 7,
@@ -350,7 +341,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x44,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 12,
.width = 7,
@@ -359,7 +350,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x52,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -368,7 +359,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
.baseBlock = 0x60,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 5,
.tilemapTop = 3,
.width = 21,
@@ -381,7 +372,7 @@ static const struct WindowTemplate sBerryBlender_WindowTemplates[] =
static const struct WindowTemplate sBlender_YesNoWindowTemplate =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 9,
.width = 5,
@@ -846,7 +837,7 @@ static const u8 sUnknown_08339CD2[] =
static const struct WindowTemplate sBlenderRecordWindowTemplate =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 6,
.tilemapTop = 4,
.width = 18,
@@ -1031,7 +1022,7 @@ static void sub_807FAC8(void)
sBerryBlenderData->mainState++;
break;
case 4:
- if (Blender_PrintText(&sBerryBlenderData->textState, sText_BerryBlenderStart, GetPlayerTextSpeed()))
+ if (Blender_PrintText(&sBerryBlenderData->textState, sText_BerryBlenderStart, GetPlayerTextSpeedDelay()))
sBerryBlenderData->mainState++;
break;
case 5:
@@ -1124,7 +1115,7 @@ static void Blender_SetPlayerNamesLocal(u8 opponentsNum)
sBerryBlenderData->playersNo = 2;
StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName);
- if (!FlagGet(FLAG_0x340))
+ if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS))
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MASTER]);
else
StringCopy(gLinkPlayers[1].name, sBlenderOpponentsNames[BLENDER_MISTER]);
@@ -1647,7 +1638,7 @@ static void sub_80808D4(void)
if (gSpecialVar_0x8004 == 1)
{
- if (!FlagGet(FLAG_0x340))
+ if (!FlagGet(FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS))
sBerryBlenderData->field_120[0] = CreateTask(sub_8081224, 10);
else
sBerryBlenderData->field_120[0] = CreateTask(sUnknown_083399EC[0], 10);
@@ -2490,7 +2481,7 @@ static void CB2_HandleBlenderEndGame(void)
}
break;
case 7:
- if (Blender_PrintText(&sBerryBlenderData->textState, sText_WouldLikeToBlendAnotherBerry, GetPlayerTextSpeed()))
+ if (Blender_PrintText(&sBerryBlenderData->textState, sText_WouldLikeToBlendAnotherBerry, GetPlayerTextSpeedDelay()))
sBerryBlenderData->gameEndState++;
break;
case 9:
@@ -2499,7 +2490,7 @@ static void CB2_HandleBlenderEndGame(void)
sBerryBlenderData->gameEndState++;
break;
case 10:
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 1:
case -1:
@@ -2572,7 +2563,7 @@ static void CB2_HandleBlenderEndGame(void)
sBerryBlenderData->gameEndState++;
break;
case 13:
- if (Blender_PrintText(&sBerryBlenderData->textState, sText_CommunicationStandby, GetPlayerTextSpeed()))
+ if (Blender_PrintText(&sBerryBlenderData->textState, sText_CommunicationStandby, GetPlayerTextSpeedDelay()))
{
SetMainCallback2(CB2_HandlePlayerLinkPlayAgainChoice);
sBerryBlenderData->gameEndState = 0;
@@ -2680,7 +2671,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void)
StringAppend(gStringVar4, sText_HasNoBerriesToPut);
break;
case 3:
- if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeed()))
+ if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeedDelay()))
{
sBerryBlenderData->framesToWait = 0;
sBerryBlenderData->gameEndState++;
@@ -2787,7 +2778,7 @@ static void CB2_HandlePlayerPlayAgainChoice(void)
StringCopy(gStringVar4, sText_RunOutOfBerriesForBlending);
break;
case 3:
- if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeed()))
+ if (Blender_PrintText(&sBerryBlenderData->textState, gStringVar4, GetPlayerTextSpeedDelay()))
sBerryBlenderData->gameEndState = 9;
break;
case 9:
@@ -3363,7 +3354,7 @@ static bool8 Blender_PrintBlendingResults(void)
sBerryBlenderData->mainState++;
break;
case 6:
- if (Blender_PrintText(&sBerryBlenderData->textState, sBerryBlenderData->stringVar, GetPlayerTextSpeed()))
+ if (Blender_PrintText(&sBerryBlenderData->textState, sBerryBlenderData->stringVar, GetPlayerTextSpeedDelay()))
{
TryUpdateBerryBlenderRecord();
return TRUE;
diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c
index 2ae15a806..a90906d05 100644
--- a/src/berry_fix_program.c
+++ b/src/berry_fix_program.c
@@ -3,6 +3,7 @@
#include "multiboot.h"
#include "malloc.h"
#include "bg.h"
+#include "graphics.h"
#include "main.h"
#include "sprite.h"
#include "task.h"
@@ -81,26 +82,7 @@ static const u8 *const gUnknown_08618160[] = {
Unknown_08617EA3
};
-extern const u8 gBerryFixGameboy_Gfx[];
-extern const u8 gBerryFixGameboy_Tilemap[];
-extern const u8 gBerryFixGameboy_Pal[];
-extern const u8 gBerryFixGameboyLogo_Gfx[];
-extern const u8 gBerryFixGameboyLogo_Tilemap[];
-extern const u8 gBerryFixGameboyLogo_Pal[];
-extern const u8 gBerryFixGbaTransfer_Gfx[];
-extern const u8 gBerryFixGbaTransfer_Tilemap[];
-extern const u8 gBerryFixGbaTransfer_Pal[];
-extern const u8 gBerryFixGbaTransferHighlight_Gfx[];
-extern const u8 gBerryFixGbaTransferHighlight_Tilemap[];
-extern const u8 gBerryFixGbaTransferHighlight_Pal[];
-extern const u8 gBerryFixGbaTransferError_Gfx[];
-extern const u8 gBerryFixGbaTransferError_Tilemap[];
-extern const u8 gBerryFixGbaTransferError_Pal[];
-extern const u8 gBerryFixWindow_Gfx[];
-extern const u8 gBerryFixWindow_Tilemap[];
-extern const u8 gBerryFixWindow_Pal[];
-
-static const u8 *const gUnknown_08618178[][3] = {
+static const void *const gUnknown_08618178[][3] = {
{
gBerryFixGameboy_Gfx,
gBerryFixGameboy_Tilemap,
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index 07fb6bd9e..39927ab99 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -102,7 +102,7 @@ static const u8 sTextColors[2][3] =
static const struct WindowTemplate sWindowTemplates[] =
{
{ // WIN_BERRY_NAME
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 11,
.tilemapTop = 4,
.width = 8,
@@ -111,7 +111,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 69,
},
{ // WIN_SIZE_FIRM
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 11,
.tilemapTop = 7,
.width = 18,
@@ -120,7 +120,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 85,
},
{ // WIN_DESC
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 4,
.tilemapTop = 14,
.width = 25,
@@ -129,7 +129,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 157,
},
{ // WIN_BERRY_TAG
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 0,
.width = 8,
diff --git a/src/bg.c b/src/bg.c
index 7c55410b1..a41075ad7 100644
--- a/src/bg.c
+++ b/src/bg.c
@@ -135,22 +135,22 @@ u16 GetBgControlAttribute(u8 bg, u8 attributeId)
{
switch (attributeId)
{
- case BG_CTRL_ATTR_VISIBLE:
- return sGpuBgConfigs.configs[bg].visible;
- case BG_CTRL_ATTR_CHARBASEINDEX:
- return sGpuBgConfigs.configs[bg].charBaseIndex;
- case BG_CTRL_ATTR_MAPBASEINDEX:
- return sGpuBgConfigs.configs[bg].mapBaseIndex;
- case BG_CTRL_ATTR_SCREENSIZE:
- return sGpuBgConfigs.configs[bg].screenSize;
- case BG_CTRL_ATTR_PALETTEMODE:
- return sGpuBgConfigs.configs[bg].paletteMode;
- case BG_CTRL_ATTR_PRIORITY:
- return sGpuBgConfigs.configs[bg].priority;
- case BG_CTRL_ATTR_MOSAIC:
- return sGpuBgConfigs.configs[bg].mosaic;
- case BG_CTRL_ATTR_WRAPAROUND:
- return sGpuBgConfigs.configs[bg].wraparound;
+ case BG_CTRL_ATTR_VISIBLE:
+ return sGpuBgConfigs.configs[bg].visible;
+ case BG_CTRL_ATTR_CHARBASEINDEX:
+ return sGpuBgConfigs.configs[bg].charBaseIndex;
+ case BG_CTRL_ATTR_MAPBASEINDEX:
+ return sGpuBgConfigs.configs[bg].mapBaseIndex;
+ case BG_CTRL_ATTR_SCREENSIZE:
+ return sGpuBgConfigs.configs[bg].screenSize;
+ case BG_CTRL_ATTR_PALETTEMODE:
+ return sGpuBgConfigs.configs[bg].paletteMode;
+ case BG_CTRL_ATTR_PRIORITY:
+ return sGpuBgConfigs.configs[bg].priority;
+ case BG_CTRL_ATTR_MOSAIC:
+ return sGpuBgConfigs.configs[bg].mosaic;
+ case BG_CTRL_ATTR_WRAPAROUND:
+ return sGpuBgConfigs.configs[bg].wraparound;
}
}
@@ -166,15 +166,15 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode)
{
switch (mode)
{
- case 0x1:
- offset = sGpuBgConfigs.configs[bg].charBaseIndex * BG_CHAR_SIZE;
- break;
- case 0x2:
- offset = sGpuBgConfigs.configs[bg].mapBaseIndex * BG_SCREEN_SIZE;
- break;
- default:
- cursor = -1;
- goto end;
+ case 0x1:
+ offset = sGpuBgConfigs.configs[bg].charBaseIndex * BG_CHAR_SIZE;
+ break;
+ case 0x2:
+ offset = sGpuBgConfigs.configs[bg].mapBaseIndex * BG_SCREEN_SIZE;
+ break;
+ default:
+ cursor = -1;
+ goto end;
}
offset = destOffset + offset;
@@ -241,17 +241,17 @@ static void SetBgAffineInternal(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispC
switch (sGpuBgConfigs.bgVisibilityAndMode & 0x7)
{
- case 1:
- if (bg != 2)
- return;
- break;
- case 2:
- if (bg < 2 || bg > 3)
- return;
- break;
- case 0:
- default:
+ case 1:
+ if (bg != 2)
+ return;
+ break;
+ case 2:
+ if (bg < 2 || bg > 3)
return;
+ break;
+ case 0:
+ default:
+ return;
}
src.texX = srcCenterX;
@@ -279,7 +279,8 @@ bool8 IsInvalidBg(u8 bg)
{
if (bg > 3)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
int DummiedOutFireRedLeafGreenTileAllocFunc(int a1, int a2, int a3, int a4)
@@ -434,7 +435,6 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset)
return (u8)cursor;
}
-#ifdef NONMATCHING // Matches everything but r5 and r6 are flipped, rrr
bool8 IsDma3ManagerBusyWithBgCopy(void)
{
u8 mod;
@@ -462,60 +462,6 @@ bool8 IsDma3ManagerBusyWithBgCopy(void)
return FALSE;
}
-#else
-NAKED
-bool8 IsDma3ManagerBusyWithBgCopy(void)
-{
- asm("push {r4-r7,lr}\n\
- mov r5, #0\n\
- mov r7, #0x1\n\
- neg r7, r7\n\
-_08001ADC:\n\
- add r0, r5, #0\n\
- cmp r5, #0\n\
- bge _08001AE4\n\
- add r0, #0x1F\n\
-_08001AE4:\n\
- asr r0, #5\n\
- lsl r2, r0, #24\n\
- lsl r0, #5\n\
- sub r0, r5, r0\n\
- lsl r0, #24\n\
- lsr r0, #24\n\
- ldr r1, =sDmaBusyBitfield\n\
- lsr r2, #22\n\
- add r4, r2, r1\n\
- mov r6, #0x1\n\
- lsl r6, r0\n\
- ldr r0, [r4]\n\
- and r0, r6\n\
- cmp r0, #0\n\
- beq _08001B22\n\
- lsl r0, r5, #16\n\
- asr r0, #16\n\
- bl CheckForSpaceForDma3Request\n\
- lsl r0, #24\n\
- asr r0, #24\n\
- cmp r0, r7\n\
- bne _08001B1C\n\
- mov r0, #0x1\n\
- b _08001B2A\n\
- .pool\n\
-_08001B1C:\n\
- ldr r0, [r4]\n\
- bic r0, r6\n\
- str r0, [r4]\n\
-_08001B22:\n\
- add r5, #0x1\n\
- cmp r5, #0x7F\n\
- ble _08001ADC\n\
- mov r0, #0\n\
-_08001B2A:\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n");
-}
-#endif // NONMATCHING
void ShowBg(u8 bg)
{
@@ -533,27 +479,27 @@ void SetBgAttribute(u8 bg, u8 attributeId, u8 value)
{
switch (attributeId)
{
- case 1:
- SetBgControlAttributes(bg, value, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF);
- break;
- case 2:
- SetBgControlAttributes(bg, 0xFF, value, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF);
- break;
- case 3:
- SetBgControlAttributes(bg, 0xFF, 0xFF, value, 0xFF, 0xFF, 0xFF, 0xFF);
- break;
- case 4:
- SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, value, 0xFF, 0xFF, 0xFF);
- break;
- case 7:
- SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, value, 0xFF, 0xFF);
- break;
- case 5:
- SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, value, 0xFF);
- break;
- case 6:
- SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, value);
- break;
+ case 1:
+ SetBgControlAttributes(bg, value, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF);
+ break;
+ case 2:
+ SetBgControlAttributes(bg, 0xFF, value, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF);
+ break;
+ case 3:
+ SetBgControlAttributes(bg, 0xFF, 0xFF, value, 0xFF, 0xFF, 0xFF, 0xFF);
+ break;
+ case 4:
+ SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, value, 0xFF, 0xFF, 0xFF);
+ break;
+ case 7:
+ SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, value, 0xFF, 0xFF);
+ break;
+ case 5:
+ SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, value, 0xFF);
+ break;
+ case 6:
+ SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, value);
+ break;
}
}
@@ -561,36 +507,36 @@ u16 GetBgAttribute(u8 bg, u8 attributeId)
{
switch (attributeId)
{
- case 1:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_CHARBASEINDEX);
- case 2:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_MAPBASEINDEX);
- case 3:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
- case 4:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_PALETTEMODE);
- case 7:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_PRIORITY);
- case 5:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_MOSAIC);
- case 6:
- return GetBgControlAttribute(bg, BG_CTRL_ATTR_WRAPAROUND);
- case 8:
- switch (GetBgType(bg))
- {
- case 0:
- return GetBgMetricTextMode(bg, 0) * 0x800;
- case 1:
- return GetBgMetricAffineMode(bg, 0) * 0x100;
- default:
- return 0;
- }
- case 9:
- return GetBgType(bg);
- case 10:
- return sGpuBgConfigs2[bg].baseTile;
- default:
- return -1;
+ case 1:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_CHARBASEINDEX);
+ case 2:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_MAPBASEINDEX);
+ case 3:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
+ case 4:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_PALETTEMODE);
+ case 7:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_PRIORITY);
+ case 5:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_MOSAIC);
+ case 6:
+ return GetBgControlAttribute(bg, BG_CTRL_ATTR_WRAPAROUND);
+ case 8:
+ switch (GetBgType(bg))
+ {
+ case 0:
+ return GetBgMetricTextMode(bg, 0) * 0x800;
+ case 1:
+ return GetBgMetricAffineMode(bg, 0) * 0x100;
+ default:
+ return 0;
+ }
+ case 9:
+ return GetBgType(bg);
+ case 10:
+ return sGpuBgConfigs2[bg].baseTile;
+ default:
+ return -1;
}
}
@@ -607,58 +553,58 @@ u32 ChangeBgX(u8 bg, u32 value, u8 op)
switch (op)
{
- case 0:
- default:
- sGpuBgConfigs2[bg].bg_x = value;
- break;
- case 1:
- sGpuBgConfigs2[bg].bg_x += value;
- break;
- case 2:
- sGpuBgConfigs2[bg].bg_x -= value;
- break;
+ case 0:
+ default:
+ sGpuBgConfigs2[bg].bg_x = value;
+ break;
+ case 1:
+ sGpuBgConfigs2[bg].bg_x += value;
+ break;
+ case 2:
+ sGpuBgConfigs2[bg].bg_x -= value;
+ break;
}
mode = GetBgMode();
switch (bg)
{
- case 0:
- temp1 = sGpuBgConfigs2[0].bg_x >> 0x8;
- SetGpuReg(REG_OFFSET_BG0HOFS, temp1);
- break;
- case 1:
- temp1 = sGpuBgConfigs2[1].bg_x >> 0x8;
- SetGpuReg(REG_OFFSET_BG1HOFS, temp1);
- break;
- case 2:
- if (mode == 0)
- {
- temp1 = sGpuBgConfigs2[2].bg_x >> 0x8;
- SetGpuReg(REG_OFFSET_BG2HOFS, temp1);
- }
- else
- {
- temp1 = sGpuBgConfigs2[2].bg_x >> 0x10;
- temp2 = sGpuBgConfigs2[2].bg_x & 0xFFFF;
- SetGpuReg(REG_OFFSET_BG2X_H, temp1);
- SetGpuReg(REG_OFFSET_BG2X_L, temp2);
- }
- break;
- case 3:
- if (mode == 0)
- {
- temp1 = sGpuBgConfigs2[3].bg_x >> 0x8;
- SetGpuReg(REG_OFFSET_BG3HOFS, temp1);
- }
- else if (mode == 2)
- {
- temp1 = sGpuBgConfigs2[3].bg_x >> 0x10;
- temp2 = sGpuBgConfigs2[3].bg_x & 0xFFFF;
- SetGpuReg(REG_OFFSET_BG3X_H, temp1);
- SetGpuReg(REG_OFFSET_BG3X_L, temp2);
- }
- break;
+ case 0:
+ temp1 = sGpuBgConfigs2[0].bg_x >> 0x8;
+ SetGpuReg(REG_OFFSET_BG0HOFS, temp1);
+ break;
+ case 1:
+ temp1 = sGpuBgConfigs2[1].bg_x >> 0x8;
+ SetGpuReg(REG_OFFSET_BG1HOFS, temp1);
+ break;
+ case 2:
+ if (mode == 0)
+ {
+ temp1 = sGpuBgConfigs2[2].bg_x >> 0x8;
+ SetGpuReg(REG_OFFSET_BG2HOFS, temp1);
+ }
+ else
+ {
+ temp1 = sGpuBgConfigs2[2].bg_x >> 0x10;
+ temp2 = sGpuBgConfigs2[2].bg_x & 0xFFFF;
+ SetGpuReg(REG_OFFSET_BG2X_H, temp1);
+ SetGpuReg(REG_OFFSET_BG2X_L, temp2);
+ }
+ break;
+ case 3:
+ if (mode == 0)
+ {
+ temp1 = sGpuBgConfigs2[3].bg_x >> 0x8;
+ SetGpuReg(REG_OFFSET_BG3HOFS, temp1);
+ }
+ else if (mode == 2)
+ {
+ temp1 = sGpuBgConfigs2[3].bg_x >> 0x10;
+ temp2 = sGpuBgConfigs2[3].bg_x & 0xFFFF;
+ SetGpuReg(REG_OFFSET_BG3X_H, temp1);
+ SetGpuReg(REG_OFFSET_BG3X_L, temp2);
+ }
+ break;
}
return sGpuBgConfigs2[bg].bg_x;
@@ -668,9 +614,10 @@ u32 GetBgX(u8 bg)
{
if (IsInvalidBg32(bg) != FALSE)
return -1;
- if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0)
+ else if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0)
return -1;
- return sGpuBgConfigs2[bg].bg_x;
+ else
+ return sGpuBgConfigs2[bg].bg_x;
}
u32 ChangeBgY(u8 bg, u32 value, u8 op)
@@ -686,58 +633,58 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op)
switch (op)
{
- case 0:
- default:
- sGpuBgConfigs2[bg].bg_y = value;
- break;
- case 1:
- sGpuBgConfigs2[bg].bg_y += value;
- break;
- case 2:
- sGpuBgConfigs2[bg].bg_y -= value;
- break;
+ case 0:
+ default:
+ sGpuBgConfigs2[bg].bg_y = value;
+ break;
+ case 1:
+ sGpuBgConfigs2[bg].bg_y += value;
+ break;
+ case 2:
+ sGpuBgConfigs2[bg].bg_y -= value;
+ break;
}
mode = GetBgMode();
switch (bg)
{
- case 0:
- temp1 = sGpuBgConfigs2[0].bg_y >> 0x8;
- SetGpuReg(REG_OFFSET_BG0VOFS, temp1);
- break;
- case 1:
- temp1 = sGpuBgConfigs2[1].bg_y >> 0x8;
- SetGpuReg(REG_OFFSET_BG1VOFS, temp1);
- break;
- case 2:
- if (mode == 0)
- {
- temp1 = sGpuBgConfigs2[2].bg_y >> 0x8;
- SetGpuReg(REG_OFFSET_BG2VOFS, temp1);
- }
- else
- {
- temp1 = sGpuBgConfigs2[2].bg_y >> 0x10;
- temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF;
- SetGpuReg(REG_OFFSET_BG2Y_H, temp1);
- SetGpuReg(REG_OFFSET_BG2Y_L, temp2);
- }
- break;
- case 3:
- if (mode == 0)
- {
- temp1 = sGpuBgConfigs2[3].bg_y >> 0x8;
- SetGpuReg(REG_OFFSET_BG3VOFS, temp1);
- }
- else if (mode == 2)
- {
- temp1 = sGpuBgConfigs2[3].bg_y >> 0x10;
- temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF;
- SetGpuReg(REG_OFFSET_BG3Y_H, temp1);
- SetGpuReg(REG_OFFSET_BG3Y_L, temp2);
- }
- break;
+ case 0:
+ temp1 = sGpuBgConfigs2[0].bg_y >> 0x8;
+ SetGpuReg(REG_OFFSET_BG0VOFS, temp1);
+ break;
+ case 1:
+ temp1 = sGpuBgConfigs2[1].bg_y >> 0x8;
+ SetGpuReg(REG_OFFSET_BG1VOFS, temp1);
+ break;
+ case 2:
+ if (mode == 0)
+ {
+ temp1 = sGpuBgConfigs2[2].bg_y >> 0x8;
+ SetGpuReg(REG_OFFSET_BG2VOFS, temp1);
+ }
+ else
+ {
+ temp1 = sGpuBgConfigs2[2].bg_y >> 0x10;
+ temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF;
+ SetGpuReg(REG_OFFSET_BG2Y_H, temp1);
+ SetGpuReg(REG_OFFSET_BG2Y_L, temp2);
+ }
+ break;
+ case 3:
+ if (mode == 0)
+ {
+ temp1 = sGpuBgConfigs2[3].bg_y >> 0x8;
+ SetGpuReg(REG_OFFSET_BG3VOFS, temp1);
+ }
+ else if (mode == 2)
+ {
+ temp1 = sGpuBgConfigs2[3].bg_y >> 0x10;
+ temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF;
+ SetGpuReg(REG_OFFSET_BG3Y_H, temp1);
+ SetGpuReg(REG_OFFSET_BG3Y_L, temp2);
+ }
+ break;
}
return sGpuBgConfigs2[bg].bg_y;
@@ -756,59 +703,59 @@ u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op)
switch (op)
{
- case 0:
- default:
- sGpuBgConfigs2[bg].bg_y = value;
- break;
- case 1:
- sGpuBgConfigs2[bg].bg_y += value;
- break;
- case 2:
- sGpuBgConfigs2[bg].bg_y -= value;
- break;
+ case 0:
+ default:
+ sGpuBgConfigs2[bg].bg_y = value;
+ break;
+ case 1:
+ sGpuBgConfigs2[bg].bg_y += value;
+ break;
+ case 2:
+ sGpuBgConfigs2[bg].bg_y -= value;
+ break;
}
mode = GetBgMode();
switch (bg)
{
- case 0:
- temp1 = sGpuBgConfigs2[0].bg_y >> 0x8;
- SetGpuReg_ForcedBlank(REG_OFFSET_BG0VOFS, temp1);
- break;
- case 1:
- temp1 = sGpuBgConfigs2[1].bg_y >> 0x8;
- SetGpuReg_ForcedBlank(REG_OFFSET_BG1VOFS, temp1);
- break;
- case 2:
- if (mode == 0)
- {
- temp1 = sGpuBgConfigs2[2].bg_y >> 0x8;
- SetGpuReg_ForcedBlank(REG_OFFSET_BG2VOFS, temp1);
+ case 0:
+ temp1 = sGpuBgConfigs2[0].bg_y >> 0x8;
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG0VOFS, temp1);
+ break;
+ case 1:
+ temp1 = sGpuBgConfigs2[1].bg_y >> 0x8;
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG1VOFS, temp1);
+ break;
+ case 2:
+ if (mode == 0)
+ {
+ temp1 = sGpuBgConfigs2[2].bg_y >> 0x8;
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG2VOFS, temp1);
- }
- else
- {
- temp1 = sGpuBgConfigs2[2].bg_y >> 0x10;
- temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF;
- SetGpuReg_ForcedBlank(REG_OFFSET_BG2Y_H, temp1);
- SetGpuReg_ForcedBlank(REG_OFFSET_BG2Y_L, temp2);
- }
- break;
- case 3:
- if (mode == 0)
- {
- temp1 = sGpuBgConfigs2[3].bg_y >> 0x8;
- SetGpuReg_ForcedBlank(REG_OFFSET_BG3VOFS, temp1);
- }
- else if (mode == 2)
- {
- temp1 = sGpuBgConfigs2[3].bg_y >> 0x10;
- temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF;
- SetGpuReg_ForcedBlank(REG_OFFSET_BG3Y_H, temp1);
- SetGpuReg_ForcedBlank(REG_OFFSET_BG3Y_L, temp2);
- }
- break;
+ }
+ else
+ {
+ temp1 = sGpuBgConfigs2[2].bg_y >> 0x10;
+ temp2 = sGpuBgConfigs2[2].bg_y & 0xFFFF;
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG2Y_H, temp1);
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG2Y_L, temp2);
+ }
+ break;
+ case 3:
+ if (mode == 0)
+ {
+ temp1 = sGpuBgConfigs2[3].bg_y >> 0x8;
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG3VOFS, temp1);
+ }
+ else if (mode == 2)
+ {
+ temp1 = sGpuBgConfigs2[3].bg_y >> 0x10;
+ temp2 = sGpuBgConfigs2[3].bg_y & 0xFFFF;
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG3Y_H, temp1);
+ SetGpuReg_ForcedBlank(REG_OFFSET_BG3Y_L, temp2);
+ }
+ break;
}
return sGpuBgConfigs2[bg].bg_y;
@@ -818,9 +765,10 @@ u32 GetBgY(u8 bg)
{
if (IsInvalidBg32(bg) != FALSE)
return -1;
- if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0)
+ else if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0)
return -1;
- return sGpuBgConfigs2[bg].bg_y;
+ else
+ return sGpuBgConfigs2[bg].bg_y;
}
void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle)
@@ -842,57 +790,57 @@ u8 Unused_AdjustBgMosaic(u8 a1, u8 a2)
switch (a2)
{
- case 0:
- default:
- test1 = a1 & 0xF;
- test2 = a1 >> 0x4;
- break;
- case 1:
- test1 = a1 & 0xF;
- break;
- case 2:
- if ((test1 + a1) > 0xF)
- {
- test1 = 0xF;
- }
- else
- {
- test1 += a1;
- }
- break;
- case 3:
- if ((test1 - a1) < 0)
- {
- test1 = 0x0;
- }
- else
- {
- test1 -= a1;
- }
- break;
- case 4:
- test2 = a1 & 0xF;
- break;
- case 5:
- if ((test2 + a1) > 0xF)
- {
- test2 = 0xF;
- }
- else
- {
- test2 += a1;
- }
- break;
- case 6:
- if ((test2 - a1) < 0)
- {
- test2 = 0x0;
- }
- else
- {
- test2 -= a1;
- }
- break;
+ case 0:
+ default:
+ test1 = a1 & 0xF;
+ test2 = a1 >> 0x4;
+ break;
+ case 1:
+ test1 = a1 & 0xF;
+ break;
+ case 2:
+ if ((test1 + a1) > 0xF)
+ {
+ test1 = 0xF;
+ }
+ else
+ {
+ test1 += a1;
+ }
+ break;
+ case 3:
+ if ((test1 - a1) < 0)
+ {
+ test1 = 0x0;
+ }
+ else
+ {
+ test1 -= a1;
+ }
+ break;
+ case 4:
+ test2 = a1 & 0xF;
+ break;
+ case 5:
+ if ((test2 + a1) > 0xF)
+ {
+ test2 = 0xF;
+ }
+ else
+ {
+ test2 += a1;
+ }
+ break;
+ case 6:
+ if ((test2 - a1) < 0)
+ {
+ test2 = 0x0;
+ }
+ else
+ {
+ test2 -= a1;
+ }
+ break;
}
result |= ((test2 << 0x4) & 0xF0);
@@ -923,9 +871,10 @@ void* GetBgTilemapBuffer(u8 bg)
{
if (IsInvalidBg32(bg) != FALSE)
return NULL;
- if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0)
+ else if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0)
return NULL;
- return sGpuBgConfigs2[bg].tilemap;
+ else
+ return sGpuBgConfigs2[bg].tilemap;
}
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset)
@@ -933,13 +882,9 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset)
if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE)
{
if (mode != 0)
- {
CpuCopy16(src, (void *)(sGpuBgConfigs2[bg].tilemap + (destOffset * 2)), mode);
- }
else
- {
LZ77UnCompWram(src, (void *)(sGpuBgConfigs2[bg].tilemap + (destOffset * 2)));
- }
}
}
@@ -951,15 +896,15 @@ void CopyBgTilemapBufferToVram(u8 bg)
{
switch (GetBgType(bg))
{
- case 0:
- sizeToLoad = GetBgMetricTextMode(bg, 0) * 0x800;
- break;
- case 1:
- sizeToLoad = GetBgMetricAffineMode(bg, 0) * 0x100;
- break;
- default:
- sizeToLoad = 0;
- break;
+ case 0:
+ sizeToLoad = GetBgMetricTextMode(bg, 0) * 0x800;
+ break;
+ case 1:
+ sizeToLoad = GetBgMetricAffineMode(bg, 0) * 0x100;
+ break;
+ default:
+ sizeToLoad = 0;
+ break;
}
LoadBgVram(bg, sGpuBgConfigs2[bg].tilemap, sizeToLoad, 0, 2);
}
@@ -976,27 +921,27 @@ void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 wi
{
switch (GetBgType(bg))
{
- case 0:
- srcCopy = src;
- for (destY16 = destY; destY16 < (destY + height); destY16++)
+ case 0:
+ srcCopy = src;
+ for (destY16 = destY; destY16 < (destY + height); destY16++)
+ {
+ for (destX16 = destX; destX16 < (destX + width); destX16++)
{
- for (destX16 = destX; destX16 < (destX + width); destX16++)
- {
- ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *((u16*)srcCopy)++;
- }
+ ((u16*)sGpuBgConfigs2[bg].tilemap)[((destY16 * 0x20) + destX16)] = *((u16*)srcCopy)++;
}
- break;
- case 1:
- srcCopy = src;
- mode = GetBgMetricAffineMode(bg, 0x1);
- for (destY16 = destY; destY16 < (destY + height); destY16++)
+ }
+ break;
+ case 1:
+ srcCopy = src;
+ mode = GetBgMetricAffineMode(bg, 0x1);
+ for (destY16 = destY; destY16 < (destY + height); destY16++)
+ {
+ for (destX16 = destX; destX16 < (destX + width); destX16++)
{
- for (destX16 = destX; destX16 < (destX + width); destX16++)
- {
- ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *((u8*)srcCopy)++;
- }
+ ((u8*)sGpuBgConfigs2[bg].tilemap)[((destY16 * mode) + destX16)] = *((u8*)srcCopy)++;
}
- break;
+ }
+ break;
}
}
}
@@ -1005,295 +950,49 @@ void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u
{
CopyRectToBgTilemapBufferRect(bg, src, 0, 0, rectWidth, rectHeight, destX, destY, rectWidth, rectHeight, palette, 0, 0);
}
-// Skipping for now, it probably uses structs passed by value
-/*
-void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2)
-{
- u16 attribute;
- u16 mode;
- u16 mode2;
- void* srcCopy;
- u16 destX16;
- u16 destY16;
+void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 unused, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, s16 palette1, s16 tileOffset)
+{
+ u16 screenWidth, screenHeight, screenSize;
+ u16 var;
+ const void *srcPtr;
+ u16 i, j;
- 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;
+ screenSize = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
+ screenWidth = GetBgMetricTextMode(bg, 0x1) * 0x20;
+ screenHeight = GetBgMetricTextMode(bg, 0x2) * 0x20;
switch (GetBgType(bg))
{
- case 0:
- srcCopy = src;
- for (destY16 = destY; destY16 < (destY + rectHeight); destY16++)
+ case 0:
+ srcPtr = src + ((srcY * srcWidth) + srcX) * 2;
+ for (i = destX; i < (destX + rectWidth); i++)
+ {
+ for (j = srcHeight; j < (srcHeight + destY); j++)
{
- for (destX16 = destX; destX16 < (destX + rectWidth); destX16++)
- {
- CopyTileMapEntry(&((u16*)srcCopy)[(srcY * rectWidth) + srcX], &((u16*)sGpuBgConfigs2[bg].tilemap)[GetTileMapIndexFromCoords(destX16, destY16, attribute, mode, mode2)], palette1, tileOffset, palette2);
- }
+ u16 index = GetTileMapIndexFromCoords(j, i, screenSize, screenWidth, screenHeight);
+ CopyTileMapEntry(srcPtr, sGpuBgConfigs2[bg].tilemap + (index * 2), rectHeight, palette1, tileOffset);
+ srcPtr += 2;
}
- break;
- case 1:
- srcCopy = src;
- mode = GetBgMetricAffineMode(bg, 0x1);
- for (destY16 = destY; destY16 < (destY + rectHeight); destY16++)
+ srcPtr += (srcWidth - destY) * 2;
+ }
+ break;
+ case 1:
+ srcPtr = src + ((srcY * srcWidth) + srcX);
+ var = GetBgMetricAffineMode(bg, 0x1);
+ for (i = destX; i < (destX + rectWidth); i++)
+ {
+ for (j = srcHeight; j < (srcHeight + destY); j++)
{
- for (destX16 = destX; destX16 < (destX + rectWidth); destX16++)
- {
- CopyTileMapEntry(&((u16*)srcCopy)[(srcY * rectWidth) + srcX], &((u16*)sGpuBgConfigs2[bg].tilemap)[GetTileMapIndexFromCoords(destX16, destY16, attribute, mode, mode2)], palette1, tileOffset, palette2);
- }
+ *(u8*)(sGpuBgConfigs2[bg].tilemap + ((var * i) + j)) = *(u8*)(srcPtr) + palette1;
+ srcPtr++;
}
- break;
+ srcPtr += (srcWidth - destY);
+ }
+ break;
}
}
-}*/
-NAKED
-void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2)
-{
- asm("push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, #0x40\n\
- str r1, [sp, #0x8]\n\
- ldr r1, [sp, #0x60]\n\
- ldr r4, [sp, #0x68]\n\
- ldr r5, [sp, #0x6C]\n\
- ldr r6, [sp, #0x70]\n\
- ldr r7, [sp, #0x74]\n\
- mov r8, r7\n\
- ldr r7, [sp, #0x78]\n\
- mov r9, r7\n\
- ldr r7, [sp, #0x7C]\n\
- mov r10, r7\n\
- ldr r7, [sp, #0x80]\n\
- mov r12, r7\n\
- lsl r0, #24\n\
- lsr r0, #24\n\
- str r0, [sp, #0x4]\n\
- lsl r2, #24\n\
- lsr r2, #24\n\
- str r2, [sp, #0xC]\n\
- lsl r3, #24\n\
- lsr r3, #24\n\
- str r3, [sp, #0x10]\n\
- lsl r1, #24\n\
- lsr r7, r1, #24\n\
- lsl r4, #24\n\
- lsr r4, #24\n\
- str r4, [sp, #0x14]\n\
- lsl r5, #24\n\
- lsr r5, #24\n\
- lsl r6, #24\n\
- lsr r6, #24\n\
- str r6, [sp, #0x18]\n\
- mov r0, r8\n\
- lsl r0, #24\n\
- lsr r4, r0, #24\n\
- mov r1, r9\n\
- lsl r1, #24\n\
- lsr r1, #24\n\
- str r1, [sp, #0x1C]\n\
- mov r2, r10\n\
- lsl r2, #16\n\
- lsr r2, #16\n\
- str r2, [sp, #0x20]\n\
- mov r0, r12\n\
- lsl r0, #16\n\
- lsr r0, #16\n\
- str r0, [sp, #0x24]\n\
- ldr r0, [sp, #0x4]\n\
- bl IsInvalidBg32\n\
- cmp r0, #0\n\
- beq _08002592\n\
- b _080026EE\n\
-_08002592:\n\
- ldr r0, [sp, #0x4]\n\
- bl IsTileMapOutsideWram\n\
- cmp r0, #0\n\
- beq _0800259E\n\
- b _080026EE\n\
-_0800259E:\n\
- ldr r0, [sp, #0x4]\n\
- mov r1, #0x4\n\
- bl GetBgControlAttribute\n\
- lsl r0, #16\n\
- lsr r0, #16\n\
- str r0, [sp, #0x30]\n\
- ldr r0, [sp, #0x4]\n\
- mov r1, #0x1\n\
- bl GetBgMetricTextMode\n\
- lsl r0, #21\n\
- lsr r0, #16\n\
- str r0, [sp, #0x28]\n\
- ldr r0, [sp, #0x4]\n\
- mov r1, #0x2\n\
- bl GetBgMetricTextMode\n\
- lsl r0, #21\n\
- lsr r0, #16\n\
- str r0, [sp, #0x2C]\n\
- ldr r0, [sp, #0x4]\n\
- bl GetBgType\n\
- cmp r0, #0\n\
- beq _080025D8\n\
- cmp r0, #0x1\n\
- beq _08002674\n\
- b _080026EE\n\
-_080025D8:\n\
- ldr r1, [sp, #0x10]\n\
- add r0, r1, #0\n\
- mul r0, r7\n\
- ldr r2, [sp, #0xC]\n\
- add r0, r2\n\
- lsl r0, #1\n\
- ldr r1, [sp, #0x8]\n\
- add r6, r1, r0\n\
- add r0, r5, r4\n\
- cmp r5, r0\n\
- blt _080025F0\n\
- b _080026EE\n\
-_080025F0:\n\
- ldr r2, [sp, #0x18]\n\
- sub r2, r7, r2\n\
- str r2, [sp, #0x34]\n\
- str r0, [sp, #0x38]\n\
-_080025F8:\n\
- ldr r4, [sp, #0x14]\n\
- ldr r7, [sp, #0x18]\n\
- add r0, r4, r7\n\
- add r1, r5, #0x1\n\
- str r1, [sp, #0x3C]\n\
- cmp r4, r0\n\
- bge _0800265A\n\
- ldr r2, [sp, #0x4]\n\
- lsl r0, r2, #4\n\
- ldr r1, =sGpuBgConfigs2+4\n\
- add r0, r1\n\
- mov r10, r0\n\
- ldr r7, [sp, #0x20]\n\
- lsl r7, #16\n\
- mov r9, r7\n\
- ldr r1, [sp, #0x24]\n\
- lsl r0, r1, #16\n\
- asr r0, #16\n\
- mov r8, r0\n\
-_0800261E:\n\
- ldr r2, [sp, #0x2C]\n\
- str r2, [sp]\n\
- add r0, r4, #0\n\
- add r1, r5, #0\n\
- ldr r2, [sp, #0x30]\n\
- ldr r3, [sp, #0x28]\n\
- bl GetTileMapIndexFromCoords\n\
- lsl r0, #16\n\
- lsr r0, #15\n\
- mov r7, r10\n\
- ldr r1, [r7]\n\
- add r1, r0\n\
- mov r0, r8\n\
- str r0, [sp]\n\
- add r0, r6, #0\n\
- ldr r2, [sp, #0x1C]\n\
- mov r7, r9\n\
- asr r3, r7, #16\n\
- bl CopyTileMapEntry\n\
- add r6, #0x2\n\
- add r0, r4, #0x1\n\
- lsl r0, #16\n\
- lsr r4, r0, #16\n\
- ldr r1, [sp, #0x14]\n\
- ldr r2, [sp, #0x18]\n\
- add r0, r1, r2\n\
- cmp r4, r0\n\
- blt _0800261E\n\
-_0800265A:\n\
- ldr r5, [sp, #0x34]\n\
- lsl r0, r5, #1\n\
- add r6, r0\n\
- ldr r7, [sp, #0x3C]\n\
- lsl r0, r7, #16\n\
- lsr r5, r0, #16\n\
- ldr r0, [sp, #0x38]\n\
- cmp r5, r0\n\
- blt _080025F8\n\
- b _080026EE\n\
- .pool\n\
-_08002674:\n\
- ldr r1, [sp, #0x10]\n\
- add r0, r1, #0\n\
- mul r0, r7\n\
- ldr r2, [sp, #0xC]\n\
- add r0, r2\n\
- ldr r1, [sp, #0x8]\n\
- add r6, r1, r0\n\
- ldr r0, [sp, #0x4]\n\
- mov r1, #0x1\n\
- bl GetBgMetricAffineMode\n\
- lsl r0, #16\n\
- lsr r0, #16\n\
- mov r9, r0\n\
- add r0, r5, r4\n\
- cmp r5, r0\n\
- bge _080026EE\n\
- ldr r2, [sp, #0x18]\n\
- sub r2, r7, r2\n\
- str r2, [sp, #0x34]\n\
- str r0, [sp, #0x38]\n\
- ldr r7, =sGpuBgConfigs2+4\n\
- mov r10, r7\n\
- ldr r0, [sp, #0x4]\n\
- lsl r0, #4\n\
- mov r8, r0\n\
-_080026A8:\n\
- ldr r4, [sp, #0x14]\n\
- ldr r1, [sp, #0x18]\n\
- add r0, r4, r1\n\
- add r2, r5, #0x1\n\
- str r2, [sp, #0x3C]\n\
- cmp r4, r0\n\
- bge _080026DE\n\
- mov r3, r8\n\
- add r3, r10\n\
- mov r7, r9\n\
- mul r7, r5\n\
- mov r12, r7\n\
- add r2, r0, #0\n\
-_080026C2:\n\
- ldr r1, [r3]\n\
- mov r5, r12\n\
- add r0, r5, r4\n\
- add r1, r0\n\
- ldrb r0, [r6]\n\
- ldr r7, [sp, #0x20]\n\
- add r0, r7\n\
- strb r0, [r1]\n\
- add r6, #0x1\n\
- add r0, r4, #0x1\n\
- lsl r0, #16\n\
- lsr r4, r0, #16\n\
- cmp r4, r2\n\
- blt _080026C2\n\
-_080026DE:\n\
- ldr r0, [sp, #0x34]\n\
- add r6, r0\n\
- ldr r1, [sp, #0x3C]\n\
- lsl r0, r1, #16\n\
- lsr r5, r0, #16\n\
- ldr r2, [sp, #0x38]\n\
- cmp r5, r2\n\
- blt _080026A8\n\
-_080026EE:\n\
- add sp, #0x40\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");
}
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height)
@@ -1384,42 +1083,42 @@ u16 GetBgMetricTextMode(u8 bg, u8 whichMetric)
switch (whichMetric)
{
+ case 0:
+ switch (attribute)
+ {
case 0:
- switch (attribute)
- {
- case 0:
- return 1;
- case 1:
- case 2:
- return 2;
- case 3:
- return 4;
- }
- break;
+ return 1;
case 1:
- switch (attribute)
- {
- case 0:
- return 1;
- case 1:
- return 2;
- case 2:
- return 1;
- case 3:
- return 2;
- }
- break;
case 2:
- switch (attribute)
- {
- case 0:
- case 1:
- return 1;
- case 2:
- case 3:
- return 2;
- }
- break;
+ return 2;
+ case 3:
+ return 4;
+ }
+ break;
+ case 1:
+ switch (attribute)
+ {
+ case 0:
+ return 1;
+ case 1:
+ return 2;
+ case 2:
+ return 1;
+ case 3:
+ return 2;
+ }
+ break;
+ case 2:
+ switch (attribute)
+ {
+ case 0:
+ case 1:
+ return 1;
+ case 2:
+ case 3:
+ return 2;
+ }
+ break;
}
return 0;
}
@@ -1432,22 +1131,22 @@ u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric)
switch (whichMetric)
{
+ case 0:
+ switch (attribute)
+ {
case 0:
- switch (attribute)
- {
- case 0:
- return 0x1;
- case 1:
- return 0x4;
- case 2:
- return 0x10;
- case 3:
- return 0x40;
- }
- break;
+ return 0x1;
case 1:
+ return 0x4;
case 2:
- return 0x10 << attribute;
+ return 0x10;
+ case 3:
+ return 0x40;
+ }
+ break;
+ case 1:
+ case 2:
+ return 0x10 << attribute;
}
return 0;
}
@@ -1459,44 +1158,45 @@ u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32
switch (screenSize)
{
- case 0:
- case 2:
- break;
- case 3:
- if (y >= 0x20)
- y += 0x20;
- case 1:
- if (x >= 0x20)
- {
- x -= 0x20;
- y += 0x20;
- }
+ case 0:
+ case 2:
+ break;
+ case 3:
+ if (y >= 0x20)
+ y += 0x20;
+ case 1:
+ if (x >= 0x20)
+ {
+ x -= 0x20;
+ y += 0x20;
+ }
+ break;
}
return (y * 0x20) + x;
}
#ifdef NONMATCHING // This one has some weird switch statement cases that refuse to cooperate
-void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2)
+void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2)
{
- u16 test;
+ u16 var;
switch (palette1)
{
- default:
- if (palette1 > 0x10 || palette1 < 0)
- test = *src + tileOffset + (palette2 << 12);
- else
- test = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12);
- break;
- case 0x10:
- test = ((*dest & 0xFC00) + (palette2 << 12)) | ((*src + tileOffset) & 0x3FF);
- break;
+ case 0 ... 16:
+ if (palette1 != 16)
+ var = ((*src + tileOffset) & 0xFFF) + ((palette1 + palette2) << 12);
+ else
+ var = ((*dest & 0xFC00) + (palette2 << 12)) | ((*src + tileOffset) & 0x3FF);
+ break;
+ default:
+ var = *src + tileOffset + (palette2 << 12);
+ break;
}
- *dest = test;
+ *dest = var;
}
#else
NAKED
-void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2)
+void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2)
{
asm("push {r4-r6,lr}\n\
add r4, r0, #0\n\
@@ -1550,41 +1250,38 @@ _08002B3C:\n\
u32 GetBgType(u8 bg)
{
- u8 mode;
-
- mode = GetBgMode();
-
+ u8 mode = GetBgMode();
switch (bg)
{
+ case 0:
+ case 1:
+ switch (mode)
+ {
case 0:
case 1:
- switch (mode)
- {
- case 0:
- case 1:
- return 0;
- }
- break;
+ return 0;
+ }
+ break;
+ case 2:
+ switch (mode)
+ {
+ case 0:
+ return 0;
+ case 1:
case 2:
- switch (mode)
- {
- case 0:
- return 0;
- case 1:
- case 2:
- return 1;
- }
- break;
- case 3:
- switch (mode)
- {
- case 0:
- return 0;
- case 2:
- return 1;
- }
- break;
+ return 1;
+ }
+ break;
+ case 3:
+ switch (mode)
+ {
+ case 0:
+ return 0;
+ case 2:
+ return 1;
+ }
+ break;
}
return 0xFFFF;
@@ -1594,14 +1291,16 @@ bool32 IsInvalidBg32(u8 bg)
{
if (bg > 3)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
bool32 IsTileMapOutsideWram(u8 bg)
{
if (sGpuBgConfigs2[bg].tilemap > (void*)IWRAM_END)
return TRUE;
- if (sGpuBgConfigs2[bg].tilemap == 0x0)
+ else if (sGpuBgConfigs2[bg].tilemap == NULL)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
diff --git a/src/bike.c b/src/bike.c
index 6ffd479f7..b9d247c5d 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -3,13 +3,13 @@
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "constants/flags.h"
#include "global.fieldmap.h"
#include "metatile_behavior.h"
#include "overworld.h"
-#include "constants/songs.h"
#include "sound.h"
+#include "constants/flags.h"
#include "constants/map_types.h"
+#include "constants/songs.h"
extern bool8 gBikeCyclingChallenge;
extern u8 gBikeCollisions;
@@ -18,7 +18,7 @@ extern u8 sub_808B980(u8 direction);
extern u8 sub_808B9BC(u8 direction);
extern u8 sub_808B9A4(u8 direction);
extern u8 sub_808C1B4(u8 direction);
-extern u8 npc_use_some_d2s(u8 direction);
+extern u8 sub_808B9D4(u8 direction);
extern void Overworld_ClearSavedMusic(void);
extern void Overworld_PlaySpecialMapMusic(void);
@@ -575,7 +575,7 @@ static void AcroBikeTransition_Moving(u8 direction)
}
else
{
- PlayerGoSpeed3(direction);
+ PlayerRideWaterCurrent(direction);
}
}
@@ -768,7 +768,7 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction)
PlayerEndWheelie(direction);
return;
}
- npc_use_some_d2s(direction);
+ sub_808B9D4(direction);
}
void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys)
@@ -968,7 +968,7 @@ bool8 IsBikingDisallowedByPlayer(void)
s16 x, y;
u8 tileBehavior;
- if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4)))
+ if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_UNDERWATER)))
{
PlayerGetDestCoords(&x, &y);
tileBehavior = MapGridGetMetatileBehaviorAt(x, y);
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index 4765141de..b17ffad33 100644
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -5,6 +5,7 @@
#include "script.h"
#include "sound.h"
#include "task.h"
+#include "constants/field_effects.h"
#include "constants/flags.h"
#include "constants/maps.h"
#include "constants/songs.h"
@@ -431,9 +432,9 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
{
if (FlagGet(FLAG_SYS_BRAILLE_WAIT) != FALSE)
return FALSE;
- if (FlagGet(FLAG_0x002) == FALSE)
+ if (FlagGet(FLAG_TEMP_2) == FALSE)
return FALSE;
- if (FlagGet(FLAG_0x003) == TRUE)
+ if (FlagGet(FLAG_TEMP_3) == TRUE)
return FALSE;
for (i = 0; i < 36; i++)
@@ -474,8 +475,8 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
}
}
- FlagSet(FLAG_0x003);
- FlagClear(FLAG_0x002);
+ FlagSet(FLAG_TEMP_3);
+ FlagClear(FLAG_TEMP_2);
}
return FALSE;
diff --git a/src/bug.c b/src/bug.c
new file mode 100644
index 000000000..59b31b37d
--- /dev/null
+++ b/src/bug.c
@@ -0,0 +1,484 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "gpu_regs.h"
+#include "trig.h"
+#include "constants/rgb.h"
+
+void sub_8110368(struct Sprite *);
+void sub_8110438(struct Sprite *);
+void sub_81104E4(struct Sprite *);
+void sub_81105B4(struct Sprite *);
+void sub_811067C(struct Sprite *);
+void AnimTranslateStinger(struct Sprite *);
+void AnimMissileArc(struct Sprite *);
+void sub_8110994(struct Sprite *);
+static void sub_811057C(struct Sprite *);
+static void sub_8110630(struct Sprite *);
+static void sub_81106A4(struct Sprite *);
+static void sub_8110700(struct Sprite *);
+static void AnimMissileArcStep(struct Sprite *);
+
+const union AffineAnimCmd gUnknown_08596938[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596948[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596958[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596968[] =
+{
+ gUnknown_08596938,
+ gUnknown_08596948,
+ gUnknown_08596958,
+};
+
+const struct SpriteTemplate gUnknown_08596974 =
+{
+ .tileTag = ANIM_TAG_HORN_HIT_2,
+ .paletteTag = ANIM_TAG_HORN_HIT_2,
+ .oam = &gUnknown_085249F4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596968,
+ .callback = sub_8110368,
+};
+
+const union AffineAnimCmd gUnknown_0859698C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859699C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085969AC[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085969BC[] =
+{
+ gUnknown_0859698C,
+ gUnknown_0859699C,
+ gUnknown_085969AC,
+};
+
+const struct SpriteTemplate gUnknown_085969C8 =
+{
+ .tileTag = ANIM_TAG_NEEDLE,
+ .paletteTag = ANIM_TAG_NEEDLE,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085969BC,
+ .callback = sub_8110438,
+};
+
+const struct SpriteTemplate gUnknown_085969E0 =
+{
+ .tileTag = ANIM_TAG_WEB_THREAD,
+ .paletteTag = ANIM_TAG_WEB_THREAD,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81104E4,
+};
+
+const struct SpriteTemplate gUnknown_085969F8 =
+{
+ .tileTag = ANIM_TAG_STRING,
+ .paletteTag = ANIM_TAG_STRING,
+ .oam = &gUnknown_0852493C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81105B4,
+};
+
+const union AffineAnimCmd gUnknown_08596A10[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08596A28[] =
+{
+ gUnknown_08596A10,
+};
+
+const struct SpriteTemplate gUnknown_08596A2C =
+{
+ .tileTag = ANIM_TAG_SPIDER_WEB,
+ .paletteTag = ANIM_TAG_SPIDER_WEB,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596A28,
+ .callback = sub_811067C,
+};
+
+const struct SpriteTemplate gLinearStingerSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_NEEDLE,
+ .paletteTag = ANIM_TAG_NEEDLE,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimTranslateStinger,
+};
+
+const struct SpriteTemplate gPinMissileSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_NEEDLE,
+ .paletteTag = ANIM_TAG_NEEDLE,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMissileArc,
+};
+
+const struct SpriteTemplate gIcicleSpearSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_ICICLE_SPEAR,
+ .paletteTag = ANIM_TAG_ICICLE_SPEAR,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMissileArc,
+};
+
+const union AffineAnimCmd gUnknown_08596A8C[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 8),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 8),
+ AFFINEANIMCMD_LOOP(5),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596AC4[] =
+{
+ gUnknown_08596A8C,
+};
+
+const struct SpriteTemplate gUnknown_08596AC8 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596AC4,
+ .callback = sub_8110994,
+};
+
+void sub_8110368(struct Sprite *sprite)
+{
+ if (IsContest())
+ {
+ StartSpriteAffineAnim(sprite, 2);
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+ }
+ else if (!GetBattlerSide(gBattleAnimTarget))
+ {
+ StartSpriteAffineAnim(sprite, 1);
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+ }
+
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[4];
+
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_8110438(struct Sprite *sprite)
+{
+ if (IsContest())
+ {
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+ StartSpriteAffineAnim(sprite, 2);
+ }
+ else if (!GetBattlerSide(gBattleAnimTarget))
+ {
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+ }
+
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_81104E4(struct Sprite *sprite)
+{
+ if (IsContest())
+ gBattleAnimArgs[2] /= 2;
+
+ InitAnimSpritePos(sprite, 1);
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+
+ if (!gBattleAnimArgs[4])
+ {
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
+ }
+
+ sub_80A6FD4(sprite);
+ sprite->data[5] = gBattleAnimArgs[3];
+ sprite->callback = sub_811057C;
+}
+
+static void sub_811057C(struct Sprite *sprite)
+{
+ if (TranslateAnimLinear(sprite))
+ {
+ DestroyAnimSprite(sprite);
+ return;
+ }
+
+ sprite->pos2.x += Sin(sprite->data[6], sprite->data[5]);
+ sprite->data[6] = (sprite->data[6] + 13) & 0xFF;
+}
+
+void sub_81105B4(struct Sprite *sprite)
+{
+ SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
+ if (GetBattlerSide(gBattleAnimAttacker))
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ else
+ sprite->pos1.x += gBattleAnimArgs[0];
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ if (!GetBattlerSide(gBattleAnimTarget))
+ sprite->pos1.y += 8;
+
+ sprite->callback = sub_8110630;
+}
+
+static void sub_8110630(struct Sprite *sprite)
+{
+ if (++sprite->data[0] == 3)
+ {
+ sprite->data[0] = 0;
+ sprite->invisible ^= 1;
+ }
+
+ if (++sprite->data[1] == 51)
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_811067C(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+
+ sprite->data[0] = 16;
+ sprite->callback = sub_81106A4;
+}
+
+static void sub_81106A4(struct Sprite *sprite)
+{
+ if (sprite->data[2] < 20)
+ {
+ sprite->data[2]++;
+ }
+ else if (sprite->data[1]++ & 1)
+ {
+ sprite->data[0]--;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
+
+ if (sprite->data[0] == 0)
+ {
+ sprite->invisible = TRUE;
+ sprite->callback = sub_8110700;
+ }
+ }
+}
+
+static void sub_8110700(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimSprite(sprite);
+}
+
+// Translates a stinger sprite linearly to a destination location. The sprite is
+// initially rotated so that it appears to be traveling in a straight line.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x pixel offset
+// arg 3: target y pixel offset
+// arg 4: duration
+void AnimTranslateStinger(struct Sprite *sprite)
+{
+ s16 lVarX, lVarY;
+ u16 rot;
+
+ if (IsContest())
+ {
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ }
+ else
+ {
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+ }
+ }
+
+ if (!IsContest() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
+ {
+ if (GetBattlerPosition(gBattleAnimTarget) == B_POSITION_PLAYER_LEFT
+ || GetBattlerPosition(gBattleAnimTarget) == B_POSITION_OPPONENT_LEFT)
+ {
+ s16 temp1, temp2;
+
+ temp1 = gBattleAnimArgs[2];
+ gBattleAnimArgs[2] = -temp1;
+
+ temp2 = gBattleAnimArgs[0];
+ gBattleAnimArgs[0] = -temp2;
+ }
+ }
+
+ InitAnimSpritePos(sprite, 1);
+
+ lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y);
+ rot += 0xC000;
+ sub_80A73E0(sprite, FALSE, 0x100, 0x100, rot);
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = lVarX;
+ sprite->data[4] = lVarY;
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+// Rotates sprite and moves it in an arc, so that it appears like a missle or arrow traveling.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x pixel offset
+// arg 3: target y pixel offset
+// arg 4: duration
+// arg 5: wave amplitude
+void AnimMissileArc(struct Sprite *sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+
+ if (GetBattlerSide(gBattleAnimAttacker))
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ 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 = AnimMissileArcStep;
+ sprite->invisible = TRUE;
+}
+
+static void AnimMissileArcStep(struct Sprite *sprite)
+{
+ sprite->invisible = FALSE;
+
+ if (TranslateAnimArc(sprite))
+ {
+ DestroyAnimSprite(sprite);
+ }
+ else
+ {
+ s16 tempData[8];
+ u16 *data = sprite->data;
+ u16 x1 = sprite->pos1.x;
+ s16 x2 = sprite->pos2.x;
+ u16 y1 = sprite->pos1.y;
+ s16 y2 = sprite->pos2.y;
+ int i;
+
+ for (i = 0; i < 8; i++)
+ tempData[i] = data[i];
+
+ x2 += x1;
+ y2 += y1;
+
+ if (!TranslateAnimArc(sprite))
+ {
+ u16 rotation = ArcTan2Neg(sprite->pos1.x + sprite->pos2.x - x2,
+ sprite->pos1.y + sprite->pos2.y - y2);
+ rotation += 0xC000;
+ sub_80A73E0(sprite, FALSE, 0x100, 0x100, rotation);
+
+ for (i = 0; i < 8; i++)
+ data[i] = tempData[i];
+ }
+ }
+}
+
+void sub_8110994(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 18;
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 18;
+ }
+
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A67BC;
+}
diff --git a/src/cable_club.c b/src/cable_club.c
index c54df5f24..56154d5bf 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -31,10 +31,10 @@
#include "constants/songs.h"
extern u8 gUnknown_02032298[2];
-extern u8 gUnknown_0203CEF8[];
+extern u8 gSelectedOrderFromParty[];
static const struct WindowTemplate gUnknown_08550594 = {
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 11,
.width = 11,
@@ -358,8 +358,8 @@ static void sub_80B2918(u8 taskId)
sub_800AA04(gFieldLinkPlayerCount);
card = (struct TrainerCard *)gBlockSendBuffer;
TrainerCard_GenerateCardForPlayer(card);
- card->monSpecies[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES, NULL);
- card->monSpecies[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
+ card->monSpecies[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES, NULL);
+ card->monSpecies[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
gTasks[taskId].func = sub_80B2C30;
}
}
@@ -405,8 +405,8 @@ static void sub_80B2A08(u8 taskId)
sub_800AA04(gFieldLinkPlayerCount);
card = (struct TrainerCard *)gBlockSendBuffer;
TrainerCard_GenerateCardForPlayer(card);
- card->monSpecies[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES, NULL);
- card->monSpecies[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
+ card->monSpecies[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES, NULL);
+ card->monSpecies[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
gTasks[taskId].func = sub_80B2C30;
sub_800A4D8(2);
}
@@ -421,7 +421,7 @@ bool32 sub_80B2AF4(u16 *arg0, u16 *arg1)
gStringVar1[0] = EOS;
gStringVar2[0] = EOS;
-
+
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
@@ -800,7 +800,7 @@ static void sub_80B3260(int a0)
gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER;
break;
case 5:
- ReducePlayerPartyToThree();
+ ReducePlayerPartyToSelectedMons();
gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI;
break;
case 9:
@@ -1151,7 +1151,7 @@ static void sub_80B3950(void)
void nullsub_37(void)
{
-
+
}
void sub_80B3968(void)
diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c
index 839a77e4a..72d0daf55 100644
--- a/src/clear_save_data_screen.c
+++ b/src/clear_save_data_screen.c
@@ -10,9 +10,10 @@
#include "bg.h"
#include "text_window.h"
#include "constants/songs.h"
+#include "constants/rgb.h"
-extern u8 gText_ClearAllSaveData[];
-extern u8 gText_ClearingData[];
+extern const u8 gText_ClearAllSaveData[];
+extern const u8 gText_ClearingData[];
static void Task_DoClearSaveDataScreenYesNo(u8);
static void Task_ClearSaveDataScreenYesNoChoice(u8);
@@ -46,7 +47,7 @@ static const struct BgTemplate sClearSaveBgTemplates[2] =
static const struct WindowTemplate sClearSaveTextWindow[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 3,
.tilemapTop = 15,
.width = 26,
@@ -60,7 +61,7 @@ static const struct WindowTemplate sClearSaveTextWindow[] =
static const struct WindowTemplate sClearSaveYesNo[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 3,
.tilemapTop = 2,
.width = 5,
@@ -72,7 +73,7 @@ static const struct WindowTemplate sClearSaveYesNo[] =
void CB2_InitClearSaveDataScreen(void)
{
- if(SetupClearSaveDataScreen())
+ if (SetupClearSaveDataScreen())
CreateTask(Task_DoClearSaveDataScreenYesNo, 0);
}
@@ -86,18 +87,18 @@ static void Task_DoClearSaveDataScreenYesNo(u8 taskId)
static void Task_ClearSaveDataScreenYesNoChoice(u8 taskId)
{
- switch(Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
- FillWindowPixelBuffer(0, 17);
- AddTextPrinterParameterized(0, 1, gText_ClearingData, 0, 1, 0, 0);
- gTasks[taskId].func = Task_ClearSaveData;
- break;
- case 1:
- case -1:
- PlaySE(SE_SELECT);
- DestroyTask(taskId);
- SetMainCallback2(CB2_FadeAndDoReset);
+ case 0:
+ FillWindowPixelBuffer(0, 17);
+ AddTextPrinterParameterized(0, 1, gText_ClearingData, 0, 1, 0, 0);
+ gTasks[taskId].func = Task_ClearSaveData;
+ break;
+ case 1:
+ case -1:
+ PlaySE(SE_SELECT);
+ DestroyTask(taskId);
+ SetMainCallback2(CB2_FadeAndDoReset);
}
}
@@ -125,55 +126,55 @@ static bool8 SetupClearSaveDataScreen(void)
switch(gMain.state)
{
- case 0:
- default:
- SetVBlankCallback(NULL);
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0);
- SetGpuReg(REG_OFFSET_BG0HOFS, 0);
- SetGpuReg(REG_OFFSET_BG0VOFS, 0);
- SetGpuReg(REG_OFFSET_BG3HOFS, 0);
- SetGpuReg(REG_OFFSET_BG3VOFS, 0);
- SetGpuReg(REG_OFFSET_WIN0H, 0);
- SetGpuReg(REG_OFFSET_WIN0V, 0);
- SetGpuReg(REG_OFFSET_WININ, 0);
- SetGpuReg(REG_OFFSET_WINOUT, 0);
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, 0);
- SetGpuReg(REG_OFFSET_BLDY, 0);
- DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
- DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
- DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
- ResetPaletteFade();
- gPlttBufferUnfaded[0] = 0x7fff;
- gPlttBufferFaded[0] = 0x7fff;
- gPlttBufferUnfaded[1] = 0x3945;
- gPlttBufferFaded[1] = 0x3945;
- for (i = 0; i < 0x10; i++)
- ((u16 *)(VRAM + 0x20))[i] = 0x1111;
-
- for (i = 0; i < 0x400; i++)
- ((u16 *)(VRAM + 0xF000))[i] = 0x0001;
- ResetTasks();
- ResetSpriteData();
- ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, sClearSaveBgTemplates, ARRAY_COUNT(sClearSaveBgTemplates));
- SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
- ShowBg(0);
- ShowBg(3);
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- InitClearSaveDataScreenWindows();
- BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF);
- EnableInterrupts(1);
- SetVBlankCallback(VBlankCB);
- gMain.state = 1;
- break;
- case 1:
- UpdatePaletteFade();
- if(!gPaletteFade.active)
- {
- SetMainCallback2(MainCB);
- return TRUE;
- }
+ case 0:
+ default:
+ SetVBlankCallback(NULL);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0);
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WININ, 0);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ DmaFill16(3, 0, (void *)VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, (void *)OAM, OAM_SIZE);
+ DmaFill16(3, 0, (void *)(PLTT + 2), PLTT_SIZE - 2);
+ ResetPaletteFade();
+ gPlttBufferUnfaded[0] = RGB_WHITE;
+ gPlttBufferFaded[0] = RGB_WHITE;
+ gPlttBufferUnfaded[1] = RGB(5, 10, 14);
+ gPlttBufferFaded[1] = RGB(5, 10, 14);
+ for (i = 0; i < 0x10; i++)
+ ((u16 *)(VRAM + 0x20))[i] = 0x1111;
+
+ for (i = 0; i < 0x400; i++)
+ ((u16 *)(VRAM + 0xF000))[i] = 0x0001;
+ ResetTasks();
+ ResetSpriteData();
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, sClearSaveBgTemplates, ARRAY_COUNT(sClearSaveBgTemplates));
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ ShowBg(0);
+ ShowBg(3);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ InitClearSaveDataScreenWindows();
+ BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, 0xFFFF);
+ EnableInterrupts(INTR_FLAG_VBLANK);
+ SetVBlankCallback(VBlankCB);
+ gMain.state = 1;
+ break;
+ case 1:
+ UpdatePaletteFade();
+ if(!gPaletteFade.active)
+ {
+ SetMainCallback2(MainCB);
+ return TRUE;
+ }
}
return FALSE;
}
@@ -182,18 +183,19 @@ static void CB2_FadeAndDoReset(void)
{
switch(gMain.state)
{
- case 0:
- default:
- BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, 0xFFFF);
- gMain.state = 1;
- break;
- case 1:
- UpdatePaletteFade();
- if(!gPaletteFade.active)
- {
- FreeAllWindowBuffers();
- DoSoftReset();
- }
+ case 0:
+ default:
+ BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, RGB_WHITEALPHA);
+ gMain.state = 1;
+ break;
+ case 1:
+ UpdatePaletteFade();
+ if(!gPaletteFade.active)
+ {
+ FreeAllWindowBuffers();
+ DoSoftReset();
+ }
+ break;
}
}
diff --git a/src/contest.c b/src/contest.c
index 473f77f9c..0c3a041b0 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -193,24 +193,6 @@ EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0};
u32 gContestRngValue;
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern u16 gBattle_BG1_X;
-extern s16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
-extern u16 gBattle_BG3_Y;
-extern u16 gBattle_WIN0H;
-extern u16 gBattle_WIN0V;
-extern u16 gBattle_WIN1H;
-extern u16 gBattle_WIN1V;
-
-extern const u8 gContestMiscGfx[];
-extern const u8 gContestAudienceGfx[];
-extern const u8 gUnknown_08C16FA8[];
-extern const u8 gUnknown_08C16E90[];
-extern const u8 gUnknown_08C17170[];
extern const u16 gUnknown_08587C30[];
extern const struct BgTemplate gUnknown_08587F34[4];
extern const struct WindowTemplate gUnknown_08587F44[];
@@ -316,11 +298,11 @@ void sub_80D77E4(void)
DeactivateAllTextPrinters();
if (gIsLinkContest & 1)
{
- gTextFlags.flag_0 = FALSE;
+ gTextFlags.canABSpeedUpPrint = FALSE;
}
else
{
- gTextFlags.flag_0 = TRUE;
+ gTextFlags.canABSpeedUpPrint = TRUE;
}
}
@@ -643,7 +625,8 @@ void sub_80D8108(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 1:
- if ((gBattle_BG1_Y += 7) <= 160)
+ (s16)gBattle_BG1_Y += 7;
+ if ((s16)gBattle_BG1_Y <= 160)
break;
gTasks[taskId].data[0]++;
break;
@@ -1920,9 +1903,9 @@ void sub_80DA6B4(u8 taskId)
void sub_80DA700(u8 taskId)
{
gBattle_BG1_Y -= 7;
- if (gBattle_BG1_Y < 0)
+ if ((s16)gBattle_BG1_Y < 0)
gBattle_BG1_Y = 0;
- if (*(u16 *)&gBattle_BG1_Y == 0) // Why cast?
+ if (gBattle_BG1_Y == 0) // Why cast?
{
gTasks[taskId].func = sub_80DA740;
gTasks[taskId].data[0] = 0;
diff --git a/src/contest_ai.c b/src/contest_ai.c
index 3324ddf87..1342ea102 100644
--- a/src/contest_ai.c
+++ b/src/contest_ai.c
@@ -4,8 +4,6 @@
#include "contest_ai.h"
#include "contest_effect.h"
-extern u16 gContestMonConditions[];
-
extern const u8 *gAIScriptPtr;
extern const u8 *gContestAIs[];
diff --git a/src/contest_painting.c b/src/contest_painting.c
new file mode 100644
index 000000000..7950b7cac
--- /dev/null
+++ b/src/contest_painting.c
@@ -0,0 +1,8 @@
+#include "global.h"
+
+// IWRAM bss
+IWRAM_DATA u8 gUnknown_030011F0;
+IWRAM_DATA u16 gUnknown_030011F2;
+IWRAM_DATA u16 gUnknown_030011F4;
+IWRAM_DATA u8 gUnknown_030011F6;
+IWRAM_DATA u8 gUnknown_030011F7;
diff --git a/src/credits.c b/src/credits.c
index 981b60a47..df17ec70b 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -161,7 +161,7 @@ static const u16 gUnknown_085E56F0[][16] =
INCBIN_U16("graphics/credits/credits_4.gbapal"),
};
-static const u8 gCreditsCopyrightEnd_Gfx[] = INCBIN_U8("graphics/credits/the_end_copyright.4bpp.lz");
+static const u32 gCreditsCopyrightEnd_Gfx[] = INCBIN_U32("graphics/credits/the_end_copyright.4bpp.lz");
static void sub_81772B8(struct Sprite *sprite);
@@ -949,7 +949,7 @@ static const struct BgTemplate gUnknown_085E6F68[] =
static const struct WindowTemplate gUnknown_085E6F6C[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 9,
.width = 30,
@@ -1142,7 +1142,7 @@ static void sub_81754DC(void)
{
RunTasks();
AnimateSprites();
-
+
if ((gMain.heldKeys & B_BUTTON)
&& gHasHallOfFameRecords != 0
&& gTasks[gUnknown_0203BCE2].func == sub_8175774)
@@ -1182,9 +1182,9 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2)
{
u8 x;
u8 color[3];
-
+
color[0] = 0;
-
+
if (a2 == 1)
{
color[1] = 3;
@@ -1195,7 +1195,7 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2)
color[1] = 1;
color[2] = 2;
}
-
+
x = GetStringCenterAlignXOffsetWithLetterSpacing(1, string, 0xF0, 1);
AddTextPrinterParameterized4(0, 1, x, y, 1, 0, color, -1, string);
}
@@ -1230,7 +1230,7 @@ void sub_8175620(void)
gTasks[taskIdC].data[TDC_0] = 40;
SetGpuReg(REG_OFFSET_BG0VOFS, 0xFFFC);
-
+
taskIdB = CreateTask(sub_8175DA0, 0);
gTasks[taskIdB].data[TDB_TASK_A_ID] = taskIdA;
@@ -1343,8 +1343,8 @@ static void sub_81758E4(u8 taskIdA)
ResetAllPicSprites();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
- LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
- LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
+ LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM);
+ LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x3800));
LoadPalette(gBirchBagGrassPal[0] + 1, 1, 31 * 2);
for (i = 0; i < 0x800; i++)
@@ -1546,9 +1546,9 @@ static void sub_8175DA0(u8 taskIdB)
{
for (i = 0; i < 5; i++)
sub_81755BC(gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text, 5 + i * 16, gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->var_1);
-
+
CopyWindowToVram(0, 2);
-
+
gTasks[taskIdB].data[TDB_CURRENT_PAGE] += 1;
gTasks[taskIdB].data[TDB_0] += 1;
diff --git a/src/dark.c b/src/dark.c
new file mode 100644
index 000000000..d4a4f0b8a
--- /dev/null
+++ b/src/dark.c
@@ -0,0 +1,169 @@
+#include "global.h"
+#include "battle_anim.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 *);
+
+const struct SpriteTemplate gUnknown_08596FC8 =
+{
+ .tileTag = ANIM_TAG_TIED_BAG,
+ .paletteTag = ANIM_TAG_TIED_BAG,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81138D4,
+};
+
+const union AffineAnimCmd gUnknown_08596FE0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596FF0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597000[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597010[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597020[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597030[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597040[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597050[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08597060[] =
+{
+ gUnknown_08596FE0,
+ gUnknown_08596FF0,
+ gUnknown_08597000,
+ gUnknown_08597010,
+ gUnknown_08597020,
+ gUnknown_08597030,
+ gUnknown_08597040,
+ gUnknown_08597050,
+};
+
+const struct SpriteTemplate gUnknown_08597080 =
+{
+ .tileTag = ANIM_TAG_SHARP_TEETH,
+ .paletteTag = ANIM_TAG_SHARP_TEETH,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597060,
+ .callback = sub_81139DC,
+};
+
+const struct SpriteTemplate gUnknown_08597098 =
+{
+ .tileTag = ANIM_TAG_CLAMP,
+ .paletteTag = ANIM_TAG_CLAMP,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597060,
+ .callback = sub_81139DC,
+};
+
+const union AffineAnimCmd gUnknown_085970B0[] =
+{
+ AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085970C8[] =
+{
+ AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085970E0[] =
+{
+ gUnknown_085970B0,
+ gUnknown_085970C8,
+};
+
+const struct SpriteTemplate gUnknown_085970E8 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085970E0,
+ .callback = sub_8113A90,
+};
+
+const union AnimCmd gUnknown_08597100[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08597118[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08597130[] =
+{
+ gUnknown_08597100,
+ gUnknown_08597118,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 =
+{
+ .tileTag = ANIM_TAG_CLAW_SLASH,
+ .paletteTag = ANIM_TAG_CLAW_SLASH,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08597130,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81144BC,
+};
diff --git a/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h
new file mode 100644
index 000000000..108b3a3b0
--- /dev/null
+++ b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h
@@ -0,0 +1,1063 @@
+static const struct PyramidWildMon sLevel50WildMons_Round1[] =
+{
+ {
+ .species = SPECIES_PLUSLE,
+ .lvl = 35,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MINUN,
+ .lvl = 35,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PIKACHU,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTABUZZ,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .lvl = 39,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .lvl = 39,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 40,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 40,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round2[] =
+{
+ {
+ .species = SPECIES_GULPIN,
+ .lvl = 36,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .lvl = 36,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE}
+ },
+ {
+ .species = SPECIES_BUTTERFREE,
+ .lvl = 38,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .lvl = 38,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 40,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 40,
+ .abilityBit = 1,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE}
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round3[] =
+{
+ {
+ .species = SPECIES_GROWLITHE,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VULPIX,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .lvl = 39,
+ .abilityBit = 1,
+ .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 39,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round4[] =
+{
+ {
+ .species = SPECIES_DUNSPARCE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round5[] =
+{
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHIMECHO,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT}
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round6[] =
+{
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 42,
+ .abilityBit = 0,
+ .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT}
+ },
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 44,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 45,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUGTRIO,
+ .lvl = 45,
+ .abilityBit = 1,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round7[] =
+{
+ {
+ .species = SPECIES_GLALIE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PILOSWINE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JYNX,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CLOYSTER,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round8[] =
+{
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round9[] =
+{
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
+ },
+ {
+ .species = SPECIES_METANG,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_EXEGGUTOR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER}
+ },
+ {
+ .species = SPECIES_XATU,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_ESPEON,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round10[] =
+{
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_OMASTAR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round11[] =
+{
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONCHAN,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONLEE,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round12[] =
+{
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PUPITAR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round13[] =
+{
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VENOMOTH,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round14[] =
+{
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK}
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_UMBREON,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round15[] =
+{
+ {
+ .species = SPECIES_OCTILLERY,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD}
+ },
+ {
+ .species = SPECIES_BLASTOISE,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round16[] =
+{
+ {
+ .species = SPECIES_DUSKULL,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round17[] =
+{
+ {
+ .species = SPECIES_MAWILE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round18[] =
+{
+ {
+ .species = SPECIES_DRAGONAIR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VIBRAVA,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHARIZARD,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round19[] =
+{
+ {
+ .species = SPECIES_ARCANINE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VAPOREON,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round20[] =
+{
+ {
+ .species = SPECIES_KANGASKHAN,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH}
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_URSARING,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_PORYGON2,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_TAUROS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT}
+ },
+ {
+ .species = SPECIES_FEAROW,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SNORLAX,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE}
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ }
+};
+
+static const struct PyramidWildMon *const sLevel50WildMonPointers[] =
+{
+ sLevel50WildMons_Round1,
+ sLevel50WildMons_Round2,
+ sLevel50WildMons_Round3,
+ sLevel50WildMons_Round4,
+ sLevel50WildMons_Round5,
+ sLevel50WildMons_Round6,
+ sLevel50WildMons_Round7,
+ sLevel50WildMons_Round8,
+ sLevel50WildMons_Round9,
+ sLevel50WildMons_Round10,
+ sLevel50WildMons_Round11,
+ sLevel50WildMons_Round12,
+ sLevel50WildMons_Round13,
+ sLevel50WildMons_Round14,
+ sLevel50WildMons_Round15,
+ sLevel50WildMons_Round16,
+ sLevel50WildMons_Round17,
+ sLevel50WildMons_Round18,
+ sLevel50WildMons_Round19,
+ sLevel50WildMons_Round20
+};
diff --git a/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h
new file mode 100644
index 000000000..10435d767
--- /dev/null
+++ b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h
@@ -0,0 +1,1063 @@
+static const struct PyramidWildMon sOpenLevelWildMons_Round1[] =
+{
+ {
+ .species = SPECIES_PLUSLE,
+ .lvl = 15,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MINUN,
+ .lvl = 15,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PIKACHU,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTABUZZ,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round2[] =
+{
+ {
+ .species = SPECIES_GULPIN,
+ .lvl = 14,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .lvl = 14,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE}
+ },
+ {
+ .species = SPECIES_BUTTERFREE,
+ .lvl = 12,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .lvl = 12,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 7,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 7,
+ .abilityBit = 1,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE}
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round3[] =
+{
+ {
+ .species = SPECIES_GROWLITHE,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VULPIX,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .lvl = 11,
+ .abilityBit = 1,
+ .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 11,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round4[] =
+{
+ {
+ .species = SPECIES_DUNSPARCE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round5[] =
+{
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHIMECHO,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT}
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round6[] =
+{
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 8,
+ .abilityBit = 0,
+ .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT}
+ },
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 8,
+ .abilityBit = 1,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 6,
+ .abilityBit = 1,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 6,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 5,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUGTRIO,
+ .lvl = 5,
+ .abilityBit = 1,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round7[] =
+{
+ {
+ .species = SPECIES_GLALIE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PILOSWINE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JYNX,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CLOYSTER,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round8[] =
+{
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round9[] =
+{
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
+ },
+ {
+ .species = SPECIES_METANG,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_EXEGGUTOR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER}
+ },
+ {
+ .species = SPECIES_XATU,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_ESPEON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round10[] =
+{
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_OMASTAR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round11[] =
+{
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONCHAN,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONLEE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round12[] =
+{
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PUPITAR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round13[] =
+{
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VENOMOTH,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round14[] =
+{
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK}
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_UMBREON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round15[] =
+{
+ {
+ .species = SPECIES_OCTILLERY,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD}
+ },
+ {
+ .species = SPECIES_BLASTOISE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round16[] =
+{
+ {
+ .species = SPECIES_DUSKULL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round17[] =
+{
+ {
+ .species = SPECIES_MAWILE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round18[] =
+{
+ {
+ .species = SPECIES_DRAGONAIR,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VIBRAVA,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHARIZARD,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round19[] =
+{
+ {
+ .species = SPECIES_ARCANINE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VAPOREON,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round20[] =
+{
+ {
+ .species = SPECIES_KANGASKHAN,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH}
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_URSARING,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_PORYGON2,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_TAUROS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT}
+ },
+ {
+ .species = SPECIES_FEAROW,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SNORLAX,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE}
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ }
+};
+
+static const struct PyramidWildMon *const sOpenLevelWildMonPointers[] =
+{
+ sOpenLevelWildMons_Round1,
+ sOpenLevelWildMons_Round2,
+ sOpenLevelWildMons_Round3,
+ sOpenLevelWildMons_Round4,
+ sOpenLevelWildMons_Round5,
+ sOpenLevelWildMons_Round6,
+ sOpenLevelWildMons_Round7,
+ sOpenLevelWildMons_Round8,
+ sOpenLevelWildMons_Round9,
+ sOpenLevelWildMons_Round10,
+ sOpenLevelWildMons_Round11,
+ sOpenLevelWildMons_Round12,
+ sOpenLevelWildMons_Round13,
+ sOpenLevelWildMons_Round14,
+ sOpenLevelWildMons_Round15,
+ sOpenLevelWildMons_Round16,
+ sOpenLevelWildMons_Round17,
+ sOpenLevelWildMons_Round18,
+ sOpenLevelWildMons_Round19,
+ sOpenLevelWildMons_Round20
+};
diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h
index 00a6f7fdb..008d7d784 100644
--- a/src/data/battle_moves.h
+++ b/src/data/battle_moves.h
@@ -1,3913 +1,4617 @@
-#ifndef GUARD_DATA_BATTLE_MOVES
-#define GUARD_DATA_BATTLE_MOVES
-
const struct BattleMove gBattleMoves[MOVES_COUNT] =
{
- { // MOVE_NONE
- .effect = EFFECT_HIT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 0,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_POUND
- .effect = EFFECT_HIT,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_KARATE_CHOP
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 50,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DOUBLE_SLAP
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COMET_PUNCH
- .effect = EFFECT_MULTI_HIT,
- .power = 18,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MEGA_PUNCH
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_PAY_DAY
- .effect = EFFECT_PAY_DAY,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FIRE_PUNCH
- .effect = EFFECT_BURN_HIT,
- .power = 75,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ICE_PUNCH
- .effect = EFFECT_FREEZE_HIT,
- .power = 75,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDER_PUNCH
- .effect = EFFECT_PARALYZE_HIT,
- .power = 75,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SCRATCH
- .effect = EFFECT_HIT,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_VICE_GRIP
- .effect = EFFECT_HIT,
- .power = 55,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_GUILLOTINE
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_RAZOR_WIND
- .effect = EFFECT_RAZOR_WIND,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWORDS_DANCE
- .effect = EFFECT_ATTACK_UP_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_CUT
- .effect = EFFECT_HIT,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_GUST
- .effect = EFFECT_GUST,
- .power = 40,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WING_ATTACK
- .effect = EFFECT_HIT,
- .power = 60,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WHIRLWIND
- .effect = EFFECT_ROAR,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -6,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLY
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 70,
- .type = TYPE_FLYING,
- .accuracy = 95,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BIND
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SLAM
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_VINE_WHIP
- .effect = EFFECT_HIT,
- .power = 35,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STOMP
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 65,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DOUBLE_KICK
- .effect = EFFECT_DOUBLE_HIT,
- .power = 30,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MEGA_KICK
- .effect = EFFECT_HIT,
- .power = 120,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_JUMP_KICK
- .effect = EFFECT_RECOIL_IF_MISS,
- .power = 70,
- .type = TYPE_FIGHTING,
- .accuracy = 95,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ROLLING_KICK
- .effect = EFFECT_FLINCH_HIT,
- .power = 60,
- .type = TYPE_FIGHTING,
- .accuracy = 85,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SAND_ATTACK
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HEADBUTT
- .effect = EFFECT_FLINCH_HIT,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HORN_ATTACK
- .effect = EFFECT_HIT,
- .power = 65,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FURY_ATTACK
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_HORN_DRILL
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TACKLE
- .effect = EFFECT_HIT,
- .power = 35,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BODY_SLAM
- .effect = EFFECT_PARALYZE_HIT,
- .power = 85,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WRAP
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TAKE_DOWN
- .effect = EFFECT_RECOIL,
- .power = 90,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_THRASH
- .effect = EFFECT_RAMPAGE,
- .power = 90,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DOUBLE_EDGE
- .effect = EFFECT_DOUBLE_EDGE,
- .power = 120,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TAIL_WHIP
- .effect = EFFECT_DEFENSE_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POISON_STING
- .effect = EFFECT_POISON_HIT,
- .power = 15,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TWINEEDLE
- .effect = EFFECT_TWINEEDLE,
- .power = 25,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PIN_MISSILE
- .effect = EFFECT_MULTI_HIT,
- .power = 14,
- .type = TYPE_BUG,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LEER
- .effect = EFFECT_DEFENSE_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BITE
- .effect = EFFECT_FLINCH_HIT,
- .power = 60,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_GROWL
- .effect = EFFECT_ATTACK_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROAR
- .effect = EFFECT_ROAR,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -6,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SING
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 55,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SUPERSONIC
- .effect = EFFECT_CONFUSE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 55,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SONIC_BOOM
- .effect = EFFECT_SONICBOOM,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DISABLE
- .effect = EFFECT_DISABLE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 55,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ACID
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 40,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_EMBER
- .effect = EFFECT_BURN_HIT,
- .power = 40,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLAMETHROWER
- .effect = EFFECT_BURN_HIT,
- .power = 95,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIST
- .effect = EFFECT_MIST,
- .power = 0,
- .type = TYPE_ICE,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_WATER_GUN
- .effect = EFFECT_HIT,
- .power = 40,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_HYDRO_PUMP
- .effect = EFFECT_HIT,
- .power = 120,
- .type = TYPE_WATER,
- .accuracy = 80,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SURF
- .effect = EFFECT_HIT,
- .power = 95,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ICE_BEAM
- .effect = EFFECT_FREEZE_HIT,
- .power = 95,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BLIZZARD
- .effect = EFFECT_FREEZE_HIT,
- .power = 120,
- .type = TYPE_ICE,
- .accuracy = 70,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYBEAM
- .effect = EFFECT_CONFUSE_HIT,
- .power = 65,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BUBBLE_BEAM
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 65,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_AURORA_BEAM
- .effect = EFFECT_ATTACK_DOWN_HIT,
- .power = 65,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HYPER_BEAM
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_PECK
- .effect = EFFECT_HIT,
- .power = 35,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DRILL_PECK
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SUBMISSION
- .effect = EFFECT_RECOIL,
- .power = 80,
- .type = TYPE_FIGHTING,
- .accuracy = 80,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LOW_KICK
- .effect = EFFECT_LOW_KICK,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COUNTER
- .effect = EFFECT_COUNTER,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = -5,
- .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SEISMIC_TOSS
- .effect = EFFECT_LEVEL_DAMAGE,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STRENGTH
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ABSORB
- .effect = EFFECT_ABSORB,
- .power = 20,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEGA_DRAIN
- .effect = EFFECT_ABSORB,
- .power = 40,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_LEECH_SEED
- .effect = EFFECT_LEECH_SEED,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_GROWTH
- .effect = EFFECT_SPECIAL_ATTACK_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_RAZOR_LEAF
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 55,
- .type = TYPE_GRASS,
- .accuracy = 95,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SOLAR_BEAM
- .effect = EFFECT_SOLARBEAM,
- .power = 120,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_POISON_POWDER
- .effect = EFFECT_POISON,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 75,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_STUN_SPORE
- .effect = EFFECT_PARALYZE,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 75,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLEEP_POWDER
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 75,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PETAL_DANCE
- .effect = EFFECT_RAMPAGE,
- .power = 70,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STRING_SHOT
- .effect = EFFECT_SPEED_DOWN,
- .power = 0,
- .type = TYPE_BUG,
- .accuracy = 95,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DRAGON_RAGE
- .effect = EFFECT_DRAGON_RAGE,
- .power = 1,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FIRE_SPIN
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_FIRE,
- .accuracy = 70,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_THUNDER_SHOCK
- .effect = EFFECT_PARALYZE_HIT,
- .power = 40,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDERBOLT
- .effect = EFFECT_PARALYZE_HIT,
- .power = 95,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDER_WAVE
- .effect = EFFECT_PARALYZE,
- .power = 0,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDER
- .effect = EFFECT_THUNDER,
- .power = 120,
- .type = TYPE_ELECTRIC,
- .accuracy = 70,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROCK_THROW
- .effect = EFFECT_HIT,
- .power = 50,
- .type = TYPE_ROCK,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EARTHQUAKE
- .effect = EFFECT_EARTHQUAKE,
- .power = 100,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FISSURE
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_GROUND,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DIG
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 60,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TOXIC
- .effect = EFFECT_TOXIC,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_CONFUSION
- .effect = EFFECT_CONFUSE_HIT,
- .power = 50,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYCHIC
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 90,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HYPNOSIS
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 60,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEDITATE
- .effect = EFFECT_ATTACK_UP,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_AGILITY
- .effect = EFFECT_SPEED_UP_2,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_QUICK_ATTACK
- .effect = EFFECT_QUICK_ATTACK,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_RAGE
- .effect = EFFECT_RAGE,
- .power = 20,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TELEPORT
- .effect = EFFECT_TELEPORT,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_NIGHT_SHADE
- .effect = EFFECT_LEVEL_DAMAGE,
- .power = 1,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MIMIC
- .effect = EFFECT_MIMIC,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_SCREECH
- .effect = EFFECT_DEFENSE_DOWN_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DOUBLE_TEAM
- .effect = EFFECT_EVASION_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_RECOVER
- .effect = EFFECT_RESTORE_HP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HARDEN
- .effect = EFFECT_DEFENSE_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_MINIMIZE
- .effect = EFFECT_MINIMIZE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SMOKESCREEN
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_CONFUSE_RAY
- .effect = EFFECT_CONFUSE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WITHDRAW
- .effect = EFFECT_DEFENSE_UP,
- .power = 0,
- .type = TYPE_WATER,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_DEFENSE_CURL
- .effect = EFFECT_DEFENSE_CURL,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BARRIER
- .effect = EFFECT_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_LIGHT_SCREEN
- .effect = EFFECT_LIGHT_SCREEN,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HAZE
- .effect = EFFECT_HAZE,
- .power = 0,
- .type = TYPE_ICE,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_REFLECT
- .effect = EFFECT_REFLECT,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_FOCUS_ENERGY
- .effect = EFFECT_FOCUS_ENERGY,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BIDE
- .effect = EFFECT_BIDE,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_METRONOME
- .effect = EFFECT_METRONOME,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_MIRROR_MOVE
- .effect = EFFECT_MIRROR_MOVE,
- .power = 0,
- .type = TYPE_FLYING,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_SELF_DESTRUCT
- .effect = EFFECT_EXPLOSION,
- .power = 200,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EGG_BOMB
- .effect = EFFECT_HIT,
- .power = 100,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LICK
- .effect = EFFECT_PARALYZE_HIT,
- .power = 20,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SMOG
- .effect = EFFECT_POISON_HIT,
- .power = 20,
- .type = TYPE_POISON,
- .accuracy = 70,
- .pp = 20,
- .secondaryEffectChance = 40,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLUDGE
- .effect = EFFECT_POISON_HIT,
- .power = 65,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BONE_CLUB
- .effect = EFFECT_FLINCH_HIT,
- .power = 65,
- .type = TYPE_GROUND,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FIRE_BLAST
- .effect = EFFECT_BURN_HIT,
- .power = 120,
- .type = TYPE_FIRE,
- .accuracy = 85,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WATERFALL
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CLAMP
- .effect = EFFECT_TRAP,
- .power = 35,
- .type = TYPE_WATER,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWIFT
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SKULL_BASH
- .effect = EFFECT_SKULL_BASH,
- .power = 100,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SPIKE_CANNON
- .effect = EFFECT_MULTI_HIT,
- .power = 20,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CONSTRICT
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 10,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_AMNESIA
- .effect = EFFECT_SPECIAL_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_KINESIS
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 80,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SOFT_BOILED
- .effect = EFFECT_SOFTBOILED,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HI_JUMP_KICK
- .effect = EFFECT_RECOIL_IF_MISS,
- .power = 85,
- .type = TYPE_FIGHTING,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_GLARE
- .effect = EFFECT_PARALYZE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DREAM_EATER
- .effect = EFFECT_DREAM_EATER,
- .power = 100,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POISON_GAS
- .effect = EFFECT_POISON,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 55,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BARRAGE
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LEECH_LIFE
- .effect = EFFECT_ABSORB,
- .power = 20,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_LOVELY_KISS
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SKY_ATTACK
- .effect = EFFECT_SKY_ATTACK,
- .power = 140,
- .type = TYPE_FLYING,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TRANSFORM
- .effect = EFFECT_TRANSFORM,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_BUBBLE
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 20,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DIZZY_PUNCH
- .effect = EFFECT_CONFUSE_HIT,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SPORE
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLASH
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 70,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYWAVE
- .effect = EFFECT_PSYWAVE,
- .power = 1,
- .type = TYPE_PSYCHIC,
- .accuracy = 80,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SPLASH
- .effect = EFFECT_SPLASH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ACID_ARMOR
- .effect = EFFECT_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_CRABHAMMER
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 90,
- .type = TYPE_WATER,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EXPLOSION
- .effect = EFFECT_EXPLOSION,
- .power = 250,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FURY_SWIPES
- .effect = EFFECT_MULTI_HIT,
- .power = 18,
- .type = TYPE_NORMAL,
- .accuracy = 80,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BONEMERANG
- .effect = EFFECT_DOUBLE_HIT,
- .power = 50,
- .type = TYPE_GROUND,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_REST
- .effect = EFFECT_REST,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_ROCK_SLIDE
- .effect = EFFECT_FLINCH_HIT,
- .power = 75,
- .type = TYPE_ROCK,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HYPER_FANG
- .effect = EFFECT_FLINCH_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SHARPEN
- .effect = EFFECT_ATTACK_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_CONVERSION
- .effect = EFFECT_CONVERSION,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_TRI_ATTACK
- .effect = EFFECT_TRI_ATTACK,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SUPER_FANG
- .effect = EFFECT_SUPER_FANG,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLASH
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SUBSTITUTE
- .effect = EFFECT_SUBSTITUTE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_STRUGGLE
- .effect = EFFECT_RECOIL,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 1,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SKETCH
- .effect = EFFECT_SKETCH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 1,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_TRIPLE_KICK
- .effect = EFFECT_TRIPLE_KICK,
- .power = 10,
- .type = TYPE_FIGHTING,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_THIEF
- .effect = EFFECT_THIEF,
- .power = 40,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SPIDER_WEB
- .effect = EFFECT_MEAN_LOOK,
- .power = 0,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIND_READER
- .effect = EFFECT_LOCK_ON,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_NIGHTMARE
- .effect = EFFECT_NIGHTMARE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLAME_WHEEL
- .effect = EFFECT_THAW_HIT,
- .power = 60,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SNORE
- .effect = EFFECT_SNORE,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CURSE
- .effect = EFFECT_CURSE,
- .power = 0,
- .type = TYPE_MYSTERY,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_FLAIL
- .effect = EFFECT_FLAIL,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CONVERSION_2
- .effect = EFFECT_CONVERSION_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_AEROBLAST
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 100,
- .type = TYPE_FLYING,
- .accuracy = 95,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COTTON_SPORE
- .effect = EFFECT_SPEED_DOWN_2,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 85,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_REVERSAL
- .effect = EFFECT_FLAIL,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SPITE
- .effect = EFFECT_SPITE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POWDER_SNOW
- .effect = EFFECT_FREEZE_HIT,
- .power = 40,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PROTECT
- .effect = EFFECT_PROTECT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_MACH_PUNCH
- .effect = EFFECT_QUICK_ATTACK,
- .power = 40,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SCARY_FACE
- .effect = EFFECT_SPEED_DOWN_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FAINT_ATTACK
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_DARK,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWEET_KISS
- .effect = EFFECT_CONFUSE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BELLY_DRUM
- .effect = EFFECT_BELLY_DRUM,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SLUDGE_BOMB
- .effect = EFFECT_POISON_HIT,
- .power = 90,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MUD_SLAP
- .effect = EFFECT_ACCURACY_DOWN_HIT,
- .power = 20,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_OCTAZOOKA
- .effect = EFFECT_ACCURACY_DOWN_HIT,
- .power = 65,
- .type = TYPE_WATER,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SPIKES
- .effect = EFFECT_SPIKES,
- .power = 0,
- .type = TYPE_GROUND,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_OPPONENTS_FIELD,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ZAP_CANNON
- .effect = EFFECT_PARALYZE_HIT,
- .power = 100,
- .type = TYPE_ELECTRIC,
- .accuracy = 50,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FORESIGHT
- .effect = EFFECT_FORESIGHT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DESTINY_BOND
- .effect = EFFECT_DESTINY_BOND,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_PERISH_SONG
- .effect = EFFECT_PERISH_SONG,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ICY_WIND
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 55,
- .type = TYPE_ICE,
- .accuracy = 95,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DETECT
- .effect = EFFECT_PROTECT,
- .power = 0,
- .type = TYPE_FIGHTING,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_BONE_RUSH
- .effect = EFFECT_MULTI_HIT,
- .power = 25,
- .type = TYPE_GROUND,
- .accuracy = 80,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LOCK_ON
- .effect = EFFECT_LOCK_ON,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_OUTRAGE
- .effect = EFFECT_RAMPAGE,
- .power = 90,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SANDSTORM
- .effect = EFFECT_SANDSTORM,
- .power = 0,
- .type = TYPE_ROCK,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_GIGA_DRAIN
- .effect = EFFECT_ABSORB,
- .power = 60,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ENDURE
- .effect = EFFECT_ENDURE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_CHARM
- .effect = EFFECT_ATTACK_DOWN_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROLLOUT
- .effect = EFFECT_ROLLOUT,
- .power = 30,
- .type = TYPE_ROCK,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FALSE_SWIPE
- .effect = EFFECT_FALSE_SWIPE,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWAGGER
- .effect = EFFECT_SWAGGER,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MILK_DRINK
- .effect = EFFECT_SOFTBOILED,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SPARK
- .effect = EFFECT_PARALYZE_HIT,
- .power = 65,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FURY_CUTTER
- .effect = EFFECT_FURY_CUTTER,
- .power = 10,
- .type = TYPE_BUG,
- .accuracy = 95,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STEEL_WING
- .effect = EFFECT_DEFENSE_UP_HIT,
- .power = 70,
- .type = TYPE_STEEL,
- .accuracy = 90,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MEAN_LOOK
- .effect = EFFECT_MEAN_LOOK,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ATTRACT
- .effect = EFFECT_ATTRACT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLEEP_TALK
- .effect = EFFECT_SLEEP_TALK,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_HEAL_BELL
- .effect = EFFECT_HEAL_BELL,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_RETURN
- .effect = EFFECT_RETURN,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_PRESENT
- .effect = EFFECT_PRESENT,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FRUSTRATION
- .effect = EFFECT_FRUSTRATION,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SAFEGUARD
- .effect = EFFECT_SAFEGUARD,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_PAIN_SPLIT
- .effect = EFFECT_PAIN_SPLIT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SACRED_FIRE
- .effect = EFFECT_THAW_HIT,
- .power = 100,
- .type = TYPE_FIRE,
- .accuracy = 95,
- .pp = 5,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MAGNITUDE
- .effect = EFFECT_MAGNITUDE,
- .power = 1,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DYNAMIC_PUNCH
- .effect = EFFECT_CONFUSE_HIT,
- .power = 100,
- .type = TYPE_FIGHTING,
- .accuracy = 50,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEGAHORN
- .effect = EFFECT_HIT,
- .power = 120,
- .type = TYPE_BUG,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DRAGON_BREATH
- .effect = EFFECT_PARALYZE_HIT,
- .power = 60,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BATON_PASS
- .effect = EFFECT_BATON_PASS,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ENCORE
- .effect = EFFECT_ENCORE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PURSUIT
- .effect = EFFECT_PURSUIT,
- .power = 40,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_RAPID_SPIN
- .effect = EFFECT_RAPID_SPIN,
- .power = 20,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWEET_SCENT
- .effect = EFFECT_EVASION_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_IRON_TAIL
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 100,
- .type = TYPE_STEEL,
- .accuracy = 75,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_METAL_CLAW
- .effect = EFFECT_ATTACK_UP_HIT,
- .power = 50,
- .type = TYPE_STEEL,
- .accuracy = 95,
- .pp = 35,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_VITAL_THROW
- .effect = EFFECT_VITAL_THROW,
- .power = 70,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MORNING_SUN
- .effect = EFFECT_MORNING_SUN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SYNTHESIS
- .effect = EFFECT_SYNTHESIS,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_MOONLIGHT
- .effect = EFFECT_MOONLIGHT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HIDDEN_POWER
- .effect = EFFECT_HIDDEN_POWER,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CROSS_CHOP
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 100,
- .type = TYPE_FIGHTING,
- .accuracy = 80,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TWISTER
- .effect = EFFECT_TWISTER,
- .power = 40,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_RAIN_DANCE
- .effect = EFFECT_RAIN_DANCE,
- .power = 0,
- .type = TYPE_WATER,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_SUNNY_DAY
- .effect = EFFECT_SUNNY_DAY,
- .power = 0,
- .type = TYPE_FIRE,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_CRUNCH
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 80,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIRROR_COAT
- .effect = EFFECT_MIRROR_COAT,
- .power = 1,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = -5,
- .flags = FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYCH_UP
- .effect = EFFECT_PSYCH_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_EXTREME_SPEED
- .effect = EFFECT_QUICK_ATTACK,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ANCIENT_POWER
- .effect = EFFECT_ALL_STATS_UP_HIT,
- .power = 60,
- .type = TYPE_ROCK,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SHADOW_BALL
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 80,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FUTURE_SIGHT
- .effect = EFFECT_FUTURE_SIGHT,
- .power = 80,
- .type = TYPE_PSYCHIC,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ROCK_SMASH
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 20,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WHIRLPOOL
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_WATER,
- .accuracy = 70,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BEAT_UP
- .effect = EFFECT_BEAT_UP,
- .power = 10,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FAKE_OUT
- .effect = EFFECT_FAKE_OUT,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_UPROAR
- .effect = EFFECT_UPROAR,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STOCKPILE
- .effect = EFFECT_STOCKPILE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SPIT_UP
- .effect = EFFECT_SPIT_UP,
- .power = 100,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWALLOW
- .effect = EFFECT_SWALLOW,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HEAT_WAVE
- .effect = EFFECT_BURN_HIT,
- .power = 100,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HAIL
- .effect = EFFECT_HAIL,
- .power = 0,
- .type = TYPE_ICE,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_TORMENT
- .effect = EFFECT_TORMENT,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLATTER
- .effect = EFFECT_FLATTER,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WILL_O_WISP
- .effect = EFFECT_WILL_O_WISP,
- .power = 0,
- .type = TYPE_FIRE,
- .accuracy = 75,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEMENTO
- .effect = EFFECT_MEMENTO,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FACADE
- .effect = EFFECT_FACADE,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FOCUS_PUNCH
- .effect = EFFECT_FOCUS_PUNCH,
- .power = 150,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -3,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_SMELLING_SALT
- .effect = EFFECT_SMELLINGSALT,
- .power = 60,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FOLLOW_ME
- .effect = EFFECT_FOLLOW_ME,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_NATURE_POWER
- .effect = EFFECT_NATURE_POWER,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_CHARGE
- .effect = EFFECT_CHARGE,
- .power = 0,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_TAUNT
- .effect = EFFECT_TAUNT,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_HELPING_HAND
- .effect = EFFECT_HELPING_HAND,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 5,
- .flags = 0,
- },
- { // MOVE_TRICK
- .effect = EFFECT_TRICK,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROLE_PLAY
- .effect = EFFECT_ROLE_PLAY,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_WISH
- .effect = EFFECT_WISH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_ASSIST
- .effect = EFFECT_ASSIST,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_INGRAIN
- .effect = EFFECT_INGRAIN,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SUPERPOWER
- .effect = EFFECT_SUPERPOWER,
- .power = 120,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MAGIC_COAT
- .effect = EFFECT_MAGIC_COAT,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 4,
- .flags = 0,
- },
- { // MOVE_RECYCLE
- .effect = EFFECT_RECYCLE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_REVENGE
- .effect = EFFECT_REVENGE,
- .power = 60,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -4,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BRICK_BREAK
- .effect = EFFECT_BRICK_BREAK,
- .power = 75,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_YAWN
- .effect = EFFECT_YAWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_KNOCK_OFF
- .effect = EFFECT_KNOCK_OFF,
- .power = 20,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ENDEAVOR
- .effect = EFFECT_ENDEAVOR,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ERUPTION
- .effect = EFFECT_ERUPTION,
- .power = 150,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SKILL_SWAP
- .effect = EFFECT_SKILL_SWAP,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_IMPRISON
- .effect = EFFECT_IMPRISON,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_REFRESH
- .effect = EFFECT_REFRESH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_GRUDGE
- .effect = EFFECT_GRUDGE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SNATCH
- .effect = EFFECT_SNATCH,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 4,
- .flags = FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SECRET_POWER
- .effect = EFFECT_SECRET_POWER,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DIVE
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 60,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ARM_THRUST
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CAMOUFLAGE
- .effect = EFFECT_CAMOUFLAGE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_TAIL_GLOW
- .effect = EFFECT_SPECIAL_ATTACK_UP_2,
- .power = 0,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_LUSTER_PURGE
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 70,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIST_BALL
- .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT,
- .power = 70,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FEATHER_DANCE
- .effect = EFFECT_ATTACK_DOWN_2,
- .power = 0,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TEETER_DANCE
- .effect = EFFECT_TEETER_DANCE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_BLAZE_KICK
- .effect = EFFECT_BLAZE_KICK,
- .power = 85,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MUD_SPORT
- .effect = EFFECT_MUD_SPORT,
- .power = 0,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ICE_BALL
- .effect = EFFECT_ROLLOUT,
- .power = 30,
- .type = TYPE_ICE,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_NEEDLE_ARM
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 60,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLACK_OFF
- .effect = EFFECT_RESTORE_HP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HYPER_VOICE
- .effect = EFFECT_HIT,
- .power = 90,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POISON_FANG
- .effect = EFFECT_POISON_FANG,
- .power = 50,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_CRUSH_CLAW
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 75,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 10,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BLAST_BURN
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_HYDRO_CANNON
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_WATER,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_METEOR_MASH
- .effect = EFFECT_ATTACK_UP_HIT,
- .power = 100,
- .type = TYPE_STEEL,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ASTONISH
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 30,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WEATHER_BALL
- .effect = EFFECT_WEATHER_BALL,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_AROMATHERAPY
- .effect = EFFECT_HEAL_BELL,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_FAKE_TEARS
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_AIR_CUTTER
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 55,
- .type = TYPE_FLYING,
- .accuracy = 95,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_OVERHEAT
- .effect = EFFECT_OVERHEAT,
- .power = 140,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ODOR_SLEUTH
- .effect = EFFECT_FORESIGHT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROCK_TOMB
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 50,
- .type = TYPE_ROCK,
- .accuracy = 80,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SILVER_WIND
- .effect = EFFECT_ALL_STATS_UP_HIT,
- .power = 60,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_METAL_SOUND
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
- .power = 0,
- .type = TYPE_STEEL,
- .accuracy = 85,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_GRASS_WHISTLE
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 55,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TICKLE
- .effect = EFFECT_TICKLE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COSMIC_POWER
- .effect = EFFECT_COSMIC_POWER,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_WATER_SPOUT
- .effect = EFFECT_ERUPTION,
- .power = 150,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SIGNAL_BEAM
- .effect = EFFECT_CONFUSE_HIT,
- .power = 75,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SHADOW_PUNCH
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_GHOST,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EXTRASENSORY
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 80,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SKY_UPPERCUT
- .effect = EFFECT_SKY_UPPERCUT,
- .power = 85,
- .type = TYPE_FIGHTING,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SAND_TOMB
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_GROUND,
- .accuracy = 70,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SHEER_COLD
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_ICE,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MUDDY_WATER
- .effect = EFFECT_ACCURACY_DOWN_HIT,
- .power = 95,
- .type = TYPE_WATER,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BULLET_SEED
- .effect = EFFECT_MULTI_HIT,
- .power = 10,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_AERIAL_ACE
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_FLYING,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ICICLE_SPEAR
- .effect = EFFECT_MULTI_HIT,
- .power = 10,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_IRON_DEFENSE
- .effect = EFFECT_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_STEEL,
- .accuracy = 0,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BLOCK
- .effect = EFFECT_MEAN_LOOK,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HOWL
- .effect = EFFECT_ATTACK_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_DRAGON_CLAW
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FRENZY_PLANT
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_GRASS,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BULK_UP
- .effect = EFFECT_BULK_UP,
- .power = 0,
- .type = TYPE_FIGHTING,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BOUNCE
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 85,
- .type = TYPE_FLYING,
- .accuracy = 85,
- .pp = 5,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MUD_SHOT
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 55,
- .type = TYPE_GROUND,
- .accuracy = 95,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_POISON_TAIL
- .effect = EFFECT_POISON_TAIL,
- .power = 50,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COVET
- .effect = EFFECT_THIEF,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_VOLT_TACKLE
- .effect = EFFECT_DOUBLE_EDGE,
- .power = 120,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MAGICAL_LEAF
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_GRASS,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WATER_SPORT
- .effect = EFFECT_WATER_SPORT,
- .power = 0,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_CALM_MIND
- .effect = EFFECT_CALM_MIND,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_LEAF_BLADE
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 70,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DRAGON_DANCE
- .effect = EFFECT_DRAGON_DANCE,
- .power = 0,
- .type = TYPE_DRAGON,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_ROCK_BLAST
- .effect = EFFECT_MULTI_HIT,
- .power = 25,
- .type = TYPE_ROCK,
- .accuracy = 80,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SHOCK_WAVE
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_ELECTRIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WATER_PULSE
- .effect = EFFECT_CONFUSE_HIT,
- .power = 60,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DOOM_DESIRE
- .effect = EFFECT_FUTURE_SIGHT,
- .power = 120,
- .type = TYPE_STEEL,
- .accuracy = 85,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_PSYCHO_BOOST
- .effect = EFFECT_OVERHEAT,
- .power = 140,
- .type = TYPE_PSYCHIC,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
-};
+ [MOVE_NONE] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 0,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_POUND] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_KARATE_CHOP] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 50,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_SLAP] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COMET_PUNCH] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 18,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MEGA_PUNCH] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_PAY_DAY] =
+ {
+ .effect = EFFECT_PAY_DAY,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FIRE_PUNCH] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 75,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ICE_PUNCH] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 75,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDER_PUNCH] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 75,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SCRATCH] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_VICE_GRIP] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 55,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_GUILLOTINE] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_RAZOR_WIND] =
+ {
+ .effect = EFFECT_RAZOR_WIND,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWORDS_DANCE] =
+ {
+ .effect = EFFECT_ATTACK_UP_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_CUT] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_GUST] =
+ {
+ .effect = EFFECT_GUST,
+ .power = 40,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WING_ATTACK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 60,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WHIRLWIND] =
+ {
+ .effect = EFFECT_ROAR,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -6,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLY] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 70,
+ .type = TYPE_FLYING,
+ .accuracy = 95,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BIND] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SLAM] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_VINE_WHIP] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 35,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STOMP] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 65,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_KICK] =
+ {
+ .effect = EFFECT_DOUBLE_HIT,
+ .power = 30,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MEGA_KICK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 120,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_JUMP_KICK] =
+ {
+ .effect = EFFECT_RECOIL_IF_MISS,
+ .power = 70,
+ .type = TYPE_FIGHTING,
+ .accuracy = 95,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ROLLING_KICK] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 60,
+ .type = TYPE_FIGHTING,
+ .accuracy = 85,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SAND_ATTACK] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HEADBUTT] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HORN_ATTACK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 65,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FURY_ATTACK] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_HORN_DRILL] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TACKLE] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 35,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BODY_SLAM] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 85,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WRAP] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TAKE_DOWN] =
+ {
+ .effect = EFFECT_RECOIL,
+ .power = 90,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_THRASH] =
+ {
+ .effect = EFFECT_RAMPAGE,
+ .power = 90,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_EDGE] =
+ {
+ .effect = EFFECT_DOUBLE_EDGE,
+ .power = 120,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TAIL_WHIP] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POISON_STING] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 15,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TWINEEDLE] =
+ {
+ .effect = EFFECT_TWINEEDLE,
+ .power = 25,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PIN_MISSILE] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 14,
+ .type = TYPE_BUG,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LEER] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BITE] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 60,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_GROWL] =
+ {
+ .effect = EFFECT_ATTACK_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROAR] =
+ {
+ .effect = EFFECT_ROAR,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -6,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SING] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 55,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SUPERSONIC] =
+ {
+ .effect = EFFECT_CONFUSE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 55,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SONIC_BOOM] =
+ {
+ .effect = EFFECT_SONICBOOM,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DISABLE] =
+ {
+ .effect = EFFECT_DISABLE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 55,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ACID] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 40,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_EMBER] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 40,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLAMETHROWER] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 95,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIST] =
+ {
+ .effect = EFFECT_MIST,
+ .power = 0,
+ .type = TYPE_ICE,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_WATER_GUN] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 40,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_HYDRO_PUMP] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 120,
+ .type = TYPE_WATER,
+ .accuracy = 80,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SURF] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 95,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ICE_BEAM] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 95,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BLIZZARD] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 120,
+ .type = TYPE_ICE,
+ .accuracy = 70,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYBEAM] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 65,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BUBBLE_BEAM] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 65,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_AURORA_BEAM] =
+ {
+ .effect = EFFECT_ATTACK_DOWN_HIT,
+ .power = 65,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HYPER_BEAM] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_PECK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 35,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DRILL_PECK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SUBMISSION] =
+ {
+ .effect = EFFECT_RECOIL,
+ .power = 80,
+ .type = TYPE_FIGHTING,
+ .accuracy = 80,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LOW_KICK] =
+ {
+ .effect = EFFECT_LOW_KICK,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COUNTER] =
+ {
+ .effect = EFFECT_COUNTER,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = -5,
+ .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SEISMIC_TOSS] =
+ {
+ .effect = EFFECT_LEVEL_DAMAGE,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STRENGTH] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ABSORB] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 20,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEGA_DRAIN] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 40,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_LEECH_SEED] =
+ {
+ .effect = EFFECT_LEECH_SEED,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_GROWTH] =
+ {
+ .effect = EFFECT_SPECIAL_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_RAZOR_LEAF] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 55,
+ .type = TYPE_GRASS,
+ .accuracy = 95,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SOLAR_BEAM] =
+ {
+ .effect = EFFECT_SOLARBEAM,
+ .power = 120,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_POISON_POWDER] =
+ {
+ .effect = EFFECT_POISON,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 75,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_STUN_SPORE] =
+ {
+ .effect = EFFECT_PARALYZE,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 75,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLEEP_POWDER] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 75,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PETAL_DANCE] =
+ {
+ .effect = EFFECT_RAMPAGE,
+ .power = 70,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STRING_SHOT] =
+ {
+ .effect = EFFECT_SPEED_DOWN,
+ .power = 0,
+ .type = TYPE_BUG,
+ .accuracy = 95,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DRAGON_RAGE] =
+ {
+ .effect = EFFECT_DRAGON_RAGE,
+ .power = 1,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FIRE_SPIN] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_FIRE,
+ .accuracy = 70,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_THUNDER_SHOCK] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 40,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDERBOLT] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 95,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDER_WAVE] =
+ {
+ .effect = EFFECT_PARALYZE,
+ .power = 0,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDER] =
+ {
+ .effect = EFFECT_THUNDER,
+ .power = 120,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 70,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROCK_THROW] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 50,
+ .type = TYPE_ROCK,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EARTHQUAKE] =
+ {
+ .effect = EFFECT_EARTHQUAKE,
+ .power = 100,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FISSURE] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_GROUND,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DIG] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 60,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TOXIC] =
+ {
+ .effect = EFFECT_TOXIC,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_CONFUSION] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 50,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYCHIC] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 90,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HYPNOSIS] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 60,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEDITATE] =
+ {
+ .effect = EFFECT_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_AGILITY] =
+ {
+ .effect = EFFECT_SPEED_UP_2,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_QUICK_ATTACK] =
+ {
+ .effect = EFFECT_QUICK_ATTACK,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_RAGE] =
+ {
+ .effect = EFFECT_RAGE,
+ .power = 20,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TELEPORT] =
+ {
+ .effect = EFFECT_TELEPORT,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_NIGHT_SHADE] =
+ {
+ .effect = EFFECT_LEVEL_DAMAGE,
+ .power = 1,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MIMIC] =
+ {
+ .effect = EFFECT_MIMIC,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_SCREECH] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_TEAM] =
+ {
+ .effect = EFFECT_EVASION_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_RECOVER] =
+ {
+ .effect = EFFECT_RESTORE_HP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HARDEN] =
+ {
+ .effect = EFFECT_DEFENSE_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_MINIMIZE] =
+ {
+ .effect = EFFECT_MINIMIZE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SMOKESCREEN] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_CONFUSE_RAY] =
+ {
+ .effect = EFFECT_CONFUSE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WITHDRAW] =
+ {
+ .effect = EFFECT_DEFENSE_UP,
+ .power = 0,
+ .type = TYPE_WATER,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_DEFENSE_CURL] =
+ {
+ .effect = EFFECT_DEFENSE_CURL,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BARRIER] =
+ {
+ .effect = EFFECT_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_LIGHT_SCREEN] =
+ {
+ .effect = EFFECT_LIGHT_SCREEN,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HAZE] =
+ {
+ .effect = EFFECT_HAZE,
+ .power = 0,
+ .type = TYPE_ICE,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_REFLECT] =
+ {
+ .effect = EFFECT_REFLECT,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_FOCUS_ENERGY] =
+ {
+ .effect = EFFECT_FOCUS_ENERGY,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BIDE] =
+ {
+ .effect = EFFECT_BIDE,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_METRONOME] =
+ {
+ .effect = EFFECT_METRONOME,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_MIRROR_MOVE] =
+ {
+ .effect = EFFECT_MIRROR_MOVE,
+ .power = 0,
+ .type = TYPE_FLYING,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_SELF_DESTRUCT] =
+ {
+ .effect = EFFECT_EXPLOSION,
+ .power = 200,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EGG_BOMB] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 100,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LICK] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 20,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SMOG] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 20,
+ .type = TYPE_POISON,
+ .accuracy = 70,
+ .pp = 20,
+ .secondaryEffectChance = 40,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLUDGE] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 65,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BONE_CLUB] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 65,
+ .type = TYPE_GROUND,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FIRE_BLAST] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 120,
+ .type = TYPE_FIRE,
+ .accuracy = 85,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WATERFALL] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CLAMP] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 35,
+ .type = TYPE_WATER,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWIFT] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SKULL_BASH] =
+ {
+ .effect = EFFECT_SKULL_BASH,
+ .power = 100,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SPIKE_CANNON] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 20,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CONSTRICT] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 10,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_AMNESIA] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_KINESIS] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 80,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SOFT_BOILED] =
+ {
+ .effect = EFFECT_SOFTBOILED,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HI_JUMP_KICK] =
+ {
+ .effect = EFFECT_RECOIL_IF_MISS,
+ .power = 85,
+ .type = TYPE_FIGHTING,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_GLARE] =
+ {
+ .effect = EFFECT_PARALYZE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DREAM_EATER] =
+ {
+ .effect = EFFECT_DREAM_EATER,
+ .power = 100,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POISON_GAS] =
+ {
+ .effect = EFFECT_POISON,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 55,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BARRAGE] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LEECH_LIFE] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 20,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_LOVELY_KISS] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SKY_ATTACK] =
+ {
+ .effect = EFFECT_SKY_ATTACK,
+ .power = 140,
+ .type = TYPE_FLYING,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TRANSFORM] =
+ {
+ .effect = EFFECT_TRANSFORM,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_BUBBLE] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 20,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DIZZY_PUNCH] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SPORE] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLASH] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 70,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYWAVE] =
+ {
+ .effect = EFFECT_PSYWAVE,
+ .power = 1,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 80,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SPLASH] =
+ {
+ .effect = EFFECT_SPLASH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ACID_ARMOR] =
+ {
+ .effect = EFFECT_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_CRABHAMMER] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 90,
+ .type = TYPE_WATER,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EXPLOSION] =
+ {
+ .effect = EFFECT_EXPLOSION,
+ .power = 250,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FURY_SWIPES] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 18,
+ .type = TYPE_NORMAL,
+ .accuracy = 80,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BONEMERANG] =
+ {
+ .effect = EFFECT_DOUBLE_HIT,
+ .power = 50,
+ .type = TYPE_GROUND,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_REST] =
+ {
+ .effect = EFFECT_REST,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_ROCK_SLIDE] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 75,
+ .type = TYPE_ROCK,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HYPER_FANG] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SHARPEN] =
+ {
+ .effect = EFFECT_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_CONVERSION] =
+ {
+ .effect = EFFECT_CONVERSION,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_TRI_ATTACK] =
+ {
+ .effect = EFFECT_TRI_ATTACK,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SUPER_FANG] =
+ {
+ .effect = EFFECT_SUPER_FANG,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLASH] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SUBSTITUTE] =
+ {
+ .effect = EFFECT_SUBSTITUTE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_STRUGGLE] =
+ {
+ .effect = EFFECT_RECOIL,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 1,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SKETCH] =
+ {
+ .effect = EFFECT_SKETCH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 1,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_TRIPLE_KICK] =
+ {
+ .effect = EFFECT_TRIPLE_KICK,
+ .power = 10,
+ .type = TYPE_FIGHTING,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_THIEF] =
+ {
+ .effect = EFFECT_THIEF,
+ .power = 40,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SPIDER_WEB] =
+ {
+ .effect = EFFECT_MEAN_LOOK,
+ .power = 0,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIND_READER] =
+ {
+ .effect = EFFECT_LOCK_ON,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_NIGHTMARE] =
+ {
+ .effect = EFFECT_NIGHTMARE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLAME_WHEEL] =
+ {
+ .effect = EFFECT_THAW_HIT,
+ .power = 60,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SNORE] =
+ {
+ .effect = EFFECT_SNORE,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CURSE] =
+ {
+ .effect = EFFECT_CURSE,
+ .power = 0,
+ .type = TYPE_MYSTERY,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_FLAIL] =
+ {
+ .effect = EFFECT_FLAIL,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CONVERSION_2] =
+ {
+ .effect = EFFECT_CONVERSION_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
-#endif // GUARD_DATA_BATTLE_MOVES
+ [MOVE_AEROBLAST] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 100,
+ .type = TYPE_FLYING,
+ .accuracy = 95,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COTTON_SPORE] =
+ {
+ .effect = EFFECT_SPEED_DOWN_2,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 85,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_REVERSAL] =
+ {
+ .effect = EFFECT_FLAIL,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SPITE] =
+ {
+ .effect = EFFECT_SPITE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POWDER_SNOW] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 40,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PROTECT] =
+ {
+ .effect = EFFECT_PROTECT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_MACH_PUNCH] =
+ {
+ .effect = EFFECT_QUICK_ATTACK,
+ .power = 40,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SCARY_FACE] =
+ {
+ .effect = EFFECT_SPEED_DOWN_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FAINT_ATTACK] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_DARK,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWEET_KISS] =
+ {
+ .effect = EFFECT_CONFUSE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BELLY_DRUM] =
+ {
+ .effect = EFFECT_BELLY_DRUM,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SLUDGE_BOMB] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 90,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MUD_SLAP] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN_HIT,
+ .power = 20,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_OCTAZOOKA] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN_HIT,
+ .power = 65,
+ .type = TYPE_WATER,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SPIKES] =
+ {
+ .effect = EFFECT_SPIKES,
+ .power = 0,
+ .type = TYPE_GROUND,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_OPPONENTS_FIELD,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ZAP_CANNON] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 100,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 50,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FORESIGHT] =
+ {
+ .effect = EFFECT_FORESIGHT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DESTINY_BOND] =
+ {
+ .effect = EFFECT_DESTINY_BOND,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_PERISH_SONG] =
+ {
+ .effect = EFFECT_PERISH_SONG,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ICY_WIND] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 55,
+ .type = TYPE_ICE,
+ .accuracy = 95,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DETECT] =
+ {
+ .effect = EFFECT_PROTECT,
+ .power = 0,
+ .type = TYPE_FIGHTING,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_BONE_RUSH] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 25,
+ .type = TYPE_GROUND,
+ .accuracy = 80,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LOCK_ON] =
+ {
+ .effect = EFFECT_LOCK_ON,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_OUTRAGE] =
+ {
+ .effect = EFFECT_RAMPAGE,
+ .power = 90,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SANDSTORM] =
+ {
+ .effect = EFFECT_SANDSTORM,
+ .power = 0,
+ .type = TYPE_ROCK,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_GIGA_DRAIN] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 60,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ENDURE] =
+ {
+ .effect = EFFECT_ENDURE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_CHARM] =
+ {
+ .effect = EFFECT_ATTACK_DOWN_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROLLOUT] =
+ {
+ .effect = EFFECT_ROLLOUT,
+ .power = 30,
+ .type = TYPE_ROCK,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FALSE_SWIPE] =
+ {
+ .effect = EFFECT_FALSE_SWIPE,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWAGGER] =
+ {
+ .effect = EFFECT_SWAGGER,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MILK_DRINK] =
+ {
+ .effect = EFFECT_SOFTBOILED,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SPARK] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 65,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FURY_CUTTER] =
+ {
+ .effect = EFFECT_FURY_CUTTER,
+ .power = 10,
+ .type = TYPE_BUG,
+ .accuracy = 95,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STEEL_WING] =
+ {
+ .effect = EFFECT_DEFENSE_UP_HIT,
+ .power = 70,
+ .type = TYPE_STEEL,
+ .accuracy = 90,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MEAN_LOOK] =
+ {
+ .effect = EFFECT_MEAN_LOOK,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ATTRACT] =
+ {
+ .effect = EFFECT_ATTRACT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLEEP_TALK] =
+ {
+ .effect = EFFECT_SLEEP_TALK,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_HEAL_BELL] =
+ {
+ .effect = EFFECT_HEAL_BELL,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_RETURN] =
+ {
+ .effect = EFFECT_RETURN,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_PRESENT] =
+ {
+ .effect = EFFECT_PRESENT,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FRUSTRATION] =
+ {
+ .effect = EFFECT_FRUSTRATION,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SAFEGUARD] =
+ {
+ .effect = EFFECT_SAFEGUARD,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_PAIN_SPLIT] =
+ {
+ .effect = EFFECT_PAIN_SPLIT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SACRED_FIRE] =
+ {
+ .effect = EFFECT_THAW_HIT,
+ .power = 100,
+ .type = TYPE_FIRE,
+ .accuracy = 95,
+ .pp = 5,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MAGNITUDE] =
+ {
+ .effect = EFFECT_MAGNITUDE,
+ .power = 1,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DYNAMIC_PUNCH] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 100,
+ .type = TYPE_FIGHTING,
+ .accuracy = 50,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEGAHORN] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 120,
+ .type = TYPE_BUG,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DRAGON_BREATH] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 60,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BATON_PASS] =
+ {
+ .effect = EFFECT_BATON_PASS,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ENCORE] =
+ {
+ .effect = EFFECT_ENCORE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PURSUIT] =
+ {
+ .effect = EFFECT_PURSUIT,
+ .power = 40,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_RAPID_SPIN] =
+ {
+ .effect = EFFECT_RAPID_SPIN,
+ .power = 20,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWEET_SCENT] =
+ {
+ .effect = EFFECT_EVASION_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_IRON_TAIL] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 100,
+ .type = TYPE_STEEL,
+ .accuracy = 75,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_METAL_CLAW] =
+ {
+ .effect = EFFECT_ATTACK_UP_HIT,
+ .power = 50,
+ .type = TYPE_STEEL,
+ .accuracy = 95,
+ .pp = 35,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_VITAL_THROW] =
+ {
+ .effect = EFFECT_VITAL_THROW,
+ .power = 70,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MORNING_SUN] =
+ {
+ .effect = EFFECT_MORNING_SUN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SYNTHESIS] =
+ {
+ .effect = EFFECT_SYNTHESIS,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_MOONLIGHT] =
+ {
+ .effect = EFFECT_MOONLIGHT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HIDDEN_POWER] =
+ {
+ .effect = EFFECT_HIDDEN_POWER,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CROSS_CHOP] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 100,
+ .type = TYPE_FIGHTING,
+ .accuracy = 80,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TWISTER] =
+ {
+ .effect = EFFECT_TWISTER,
+ .power = 40,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_RAIN_DANCE] =
+ {
+ .effect = EFFECT_RAIN_DANCE,
+ .power = 0,
+ .type = TYPE_WATER,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_SUNNY_DAY] =
+ {
+ .effect = EFFECT_SUNNY_DAY,
+ .power = 0,
+ .type = TYPE_FIRE,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_CRUNCH] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 80,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIRROR_COAT] =
+ {
+ .effect = EFFECT_MIRROR_COAT,
+ .power = 1,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = -5,
+ .flags = FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYCH_UP] =
+ {
+ .effect = EFFECT_PSYCH_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_EXTREME_SPEED] =
+ {
+ .effect = EFFECT_QUICK_ATTACK,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ANCIENT_POWER] =
+ {
+ .effect = EFFECT_ALL_STATS_UP_HIT,
+ .power = 60,
+ .type = TYPE_ROCK,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SHADOW_BALL] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 80,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FUTURE_SIGHT] =
+ {
+ .effect = EFFECT_FUTURE_SIGHT,
+ .power = 80,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ROCK_SMASH] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 20,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WHIRLPOOL] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_WATER,
+ .accuracy = 70,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BEAT_UP] =
+ {
+ .effect = EFFECT_BEAT_UP,
+ .power = 10,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FAKE_OUT] =
+ {
+ .effect = EFFECT_FAKE_OUT,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_UPROAR] =
+ {
+ .effect = EFFECT_UPROAR,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STOCKPILE] =
+ {
+ .effect = EFFECT_STOCKPILE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SPIT_UP] =
+ {
+ .effect = EFFECT_SPIT_UP,
+ .power = 100,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWALLOW] =
+ {
+ .effect = EFFECT_SWALLOW,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HEAT_WAVE] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 100,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HAIL] =
+ {
+ .effect = EFFECT_HAIL,
+ .power = 0,
+ .type = TYPE_ICE,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_TORMENT] =
+ {
+ .effect = EFFECT_TORMENT,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLATTER] =
+ {
+ .effect = EFFECT_FLATTER,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WILL_O_WISP] =
+ {
+ .effect = EFFECT_WILL_O_WISP,
+ .power = 0,
+ .type = TYPE_FIRE,
+ .accuracy = 75,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEMENTO] =
+ {
+ .effect = EFFECT_MEMENTO,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FACADE] =
+ {
+ .effect = EFFECT_FACADE,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FOCUS_PUNCH] =
+ {
+ .effect = EFFECT_FOCUS_PUNCH,
+ .power = 150,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -3,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_SMELLING_SALT] =
+ {
+ .effect = EFFECT_SMELLINGSALT,
+ .power = 60,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FOLLOW_ME] =
+ {
+ .effect = EFFECT_FOLLOW_ME,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_NATURE_POWER] =
+ {
+ .effect = EFFECT_NATURE_POWER,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_CHARGE] =
+ {
+ .effect = EFFECT_CHARGE,
+ .power = 0,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_TAUNT] =
+ {
+ .effect = EFFECT_TAUNT,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_HELPING_HAND] =
+ {
+ .effect = EFFECT_HELPING_HAND,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 5,
+ .flags = 0,
+ },
+
+ [MOVE_TRICK] =
+ {
+ .effect = EFFECT_TRICK,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROLE_PLAY] =
+ {
+ .effect = EFFECT_ROLE_PLAY,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_WISH] =
+ {
+ .effect = EFFECT_WISH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_ASSIST] =
+ {
+ .effect = EFFECT_ASSIST,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_INGRAIN] =
+ {
+ .effect = EFFECT_INGRAIN,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SUPERPOWER] =
+ {
+ .effect = EFFECT_SUPERPOWER,
+ .power = 120,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MAGIC_COAT] =
+ {
+ .effect = EFFECT_MAGIC_COAT,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 4,
+ .flags = 0,
+ },
+
+ [MOVE_RECYCLE] =
+ {
+ .effect = EFFECT_RECYCLE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_REVENGE] =
+ {
+ .effect = EFFECT_REVENGE,
+ .power = 60,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -4,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BRICK_BREAK] =
+ {
+ .effect = EFFECT_BRICK_BREAK,
+ .power = 75,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_YAWN] =
+ {
+ .effect = EFFECT_YAWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_KNOCK_OFF] =
+ {
+ .effect = EFFECT_KNOCK_OFF,
+ .power = 20,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ENDEAVOR] =
+ {
+ .effect = EFFECT_ENDEAVOR,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ERUPTION] =
+ {
+ .effect = EFFECT_ERUPTION,
+ .power = 150,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SKILL_SWAP] =
+ {
+ .effect = EFFECT_SKILL_SWAP,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_IMPRISON] =
+ {
+ .effect = EFFECT_IMPRISON,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_REFRESH] =
+ {
+ .effect = EFFECT_REFRESH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_GRUDGE] =
+ {
+ .effect = EFFECT_GRUDGE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SNATCH] =
+ {
+ .effect = EFFECT_SNATCH,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 4,
+ .flags = FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SECRET_POWER] =
+ {
+ .effect = EFFECT_SECRET_POWER,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DIVE] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 60,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ARM_THRUST] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CAMOUFLAGE] =
+ {
+ .effect = EFFECT_CAMOUFLAGE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_TAIL_GLOW] =
+ {
+ .effect = EFFECT_SPECIAL_ATTACK_UP_2,
+ .power = 0,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_LUSTER_PURGE] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 70,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIST_BALL] =
+ {
+ .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT,
+ .power = 70,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FEATHER_DANCE] =
+ {
+ .effect = EFFECT_ATTACK_DOWN_2,
+ .power = 0,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TEETER_DANCE] =
+ {
+ .effect = EFFECT_TEETER_DANCE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_BLAZE_KICK] =
+ {
+ .effect = EFFECT_BLAZE_KICK,
+ .power = 85,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MUD_SPORT] =
+ {
+ .effect = EFFECT_MUD_SPORT,
+ .power = 0,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ICE_BALL] =
+ {
+ .effect = EFFECT_ROLLOUT,
+ .power = 30,
+ .type = TYPE_ICE,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_NEEDLE_ARM] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 60,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLACK_OFF] =
+ {
+ .effect = EFFECT_RESTORE_HP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HYPER_VOICE] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 90,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POISON_FANG] =
+ {
+ .effect = EFFECT_POISON_FANG,
+ .power = 50,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_CRUSH_CLAW] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 75,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 10,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BLAST_BURN] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_HYDRO_CANNON] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_WATER,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_METEOR_MASH] =
+ {
+ .effect = EFFECT_ATTACK_UP_HIT,
+ .power = 100,
+ .type = TYPE_STEEL,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ASTONISH] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 30,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WEATHER_BALL] =
+ {
+ .effect = EFFECT_WEATHER_BALL,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_AROMATHERAPY] =
+ {
+ .effect = EFFECT_HEAL_BELL,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_FAKE_TEARS] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_AIR_CUTTER] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 55,
+ .type = TYPE_FLYING,
+ .accuracy = 95,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_OVERHEAT] =
+ {
+ .effect = EFFECT_OVERHEAT,
+ .power = 140,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ODOR_SLEUTH] =
+ {
+ .effect = EFFECT_FORESIGHT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROCK_TOMB] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 50,
+ .type = TYPE_ROCK,
+ .accuracy = 80,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SILVER_WIND] =
+ {
+ .effect = EFFECT_ALL_STATS_UP_HIT,
+ .power = 60,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_METAL_SOUND] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
+ .power = 0,
+ .type = TYPE_STEEL,
+ .accuracy = 85,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_GRASS_WHISTLE] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 55,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TICKLE] =
+ {
+ .effect = EFFECT_TICKLE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COSMIC_POWER] =
+ {
+ .effect = EFFECT_COSMIC_POWER,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_WATER_SPOUT] =
+ {
+ .effect = EFFECT_ERUPTION,
+ .power = 150,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SIGNAL_BEAM] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 75,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SHADOW_PUNCH] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_GHOST,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EXTRASENSORY] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 80,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SKY_UPPERCUT] =
+ {
+ .effect = EFFECT_SKY_UPPERCUT,
+ .power = 85,
+ .type = TYPE_FIGHTING,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SAND_TOMB] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_GROUND,
+ .accuracy = 70,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SHEER_COLD] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_ICE,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MUDDY_WATER] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN_HIT,
+ .power = 95,
+ .type = TYPE_WATER,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BULLET_SEED] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 10,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_AERIAL_ACE] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_FLYING,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ICICLE_SPEAR] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 10,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_IRON_DEFENSE] =
+ {
+ .effect = EFFECT_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_STEEL,
+ .accuracy = 0,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BLOCK] =
+ {
+ .effect = EFFECT_MEAN_LOOK,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HOWL] =
+ {
+ .effect = EFFECT_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_DRAGON_CLAW] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FRENZY_PLANT] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_GRASS,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BULK_UP] =
+ {
+ .effect = EFFECT_BULK_UP,
+ .power = 0,
+ .type = TYPE_FIGHTING,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BOUNCE] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 85,
+ .type = TYPE_FLYING,
+ .accuracy = 85,
+ .pp = 5,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MUD_SHOT] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 55,
+ .type = TYPE_GROUND,
+ .accuracy = 95,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_POISON_TAIL] =
+ {
+ .effect = EFFECT_POISON_TAIL,
+ .power = 50,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COVET] =
+ {
+ .effect = EFFECT_THIEF,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_VOLT_TACKLE] =
+ {
+ .effect = EFFECT_DOUBLE_EDGE,
+ .power = 120,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MAGICAL_LEAF] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_GRASS,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WATER_SPORT] =
+ {
+ .effect = EFFECT_WATER_SPORT,
+ .power = 0,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_CALM_MIND] =
+ {
+ .effect = EFFECT_CALM_MIND,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_LEAF_BLADE] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 70,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DRAGON_DANCE] =
+ {
+ .effect = EFFECT_DRAGON_DANCE,
+ .power = 0,
+ .type = TYPE_DRAGON,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_ROCK_BLAST] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 25,
+ .type = TYPE_ROCK,
+ .accuracy = 80,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SHOCK_WAVE] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WATER_PULSE] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 60,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DOOM_DESIRE] =
+ {
+ .effect = EFFECT_FUTURE_SIGHT,
+ .power = 120,
+ .type = TYPE_STEEL,
+ .accuracy = 85,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_PSYCHO_BOOST] =
+ {
+ .effect = EFFECT_OVERHEAT,
+ .power = 140,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+};
diff --git a/src/data/decoration/description.h b/src/data/decoration/description.h
index ba4c3dd54..b56f43eb6 100644
--- a/src/data/decoration/description.h
+++ b/src/data/decoration/description.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_DATA_DECORATION_DESCRIPTION_H
-#define GUARD_DATA_DECORATION_DESCRIPTION_H
-
const u8 DecorDesc_SMALL_DESK[] = _(
"A small desk built\n"
"for one.");
@@ -578,4 +571,3 @@ const u8 DecorDesc_REGISTEEL_DOLL[] = _(
"A large doll.\n"
"Place it on a mat\n"
"or a desk.");
-#endif //GUARD_DATA_DECORATION_DESCRIPTION_H
diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h
index 64bed1c7e..a909bd9fd 100644
--- a/src/data/decoration/header.h
+++ b/src/data/decoration/header.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_DATA_DECORATION_HEADER_H
-#define GUARD_DATA_DECORATION_HEADER_H
-
const struct Decoration gDecorations[] = {
{
DECOR_NONE,
@@ -1096,5 +1089,3 @@ const struct Decoration gDecorations[] = {
DecorDesc_REGISTEEL_DOLL,
DecorGfx_REGISTEEL_DOLL}
};
-
-#endif //GUARD_DATA_DECORATION_HEADER_H
diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h
index 1f11bc19f..58d9cea7b 100644
--- a/src/data/decoration/icon.h
+++ b/src/data/decoration/icon.h
@@ -1,11 +1,4 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_ICON_H
-#define GUARD_ICON_H
-
-const u8 *const gUnknown_085A6BE8[][2] = {
+const u32 *const gUnknown_085A6BE8[][2] = {
{gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
{NULL, NULL},
{NULL, NULL},
@@ -128,5 +121,3 @@ const u8 *const gUnknown_085A6BE8[][2] = {
{gUnknown_08DB9DD4, gUnknown_08DB9EE4},
{gUnknown_08DBA020, gUnknown_08DBA12C}
};
-
-#endif //GUARD_ICON_H
diff --git a/src/data/decoration/tilemaps.h b/src/data/decoration/tilemaps.h
index 1cca7ae0b..12fe31dc0 100644
--- a/src/data/decoration/tilemaps.h
+++ b/src/data/decoration/tilemaps.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_TILEMAPS_H
-#define GUARD_TILEMAPS_H
-
const u8 Unknown_085A6FB0[] = {
0x00, 0x01, 0x02, 0x03
};
@@ -235,5 +228,3 @@ const struct {
Unknown_085A7198,
0x18
}};
-
-#endif //GUARD_TILEMAPS_H
diff --git a/src/data/decoration/tiles.h b/src/data/decoration/tiles.h
index 6b3ed699f..2b91cb53d 100644
--- a/src/data/decoration/tiles.h
+++ b/src/data/decoration/tiles.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_DATA_DECORATION_TILES
-#define GUARD_DATA_DECORATION_TILES
-
const u16 DecorGfx_SMALL_DESK[] = {
0x87
};
@@ -642,5 +639,3 @@ const u16 DecorGfx_REGICE_DOLL[] = {
const u16 DecorGfx_REGISTEEL_DOLL[] = {
EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL
};
-
-#endif // GUARD_DATA_DECORATION_TILES
diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h
index 1aa6987c3..543382d43 100755
--- a/src/data/field_event_obj/base_oam.h
+++ b/src/data/field_event_obj/base_oam.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_BASE_OAM_H
-#define GUARD_BASE_OAM_H
-
const struct OamData gEventObjectBaseOam_8x8 = {
.shape = 0,
.size = 0,
@@ -48,5 +45,3 @@ const struct OamData gEventObjectBaseOam_64x64 = {
.size = 3,
.priority = 2
};
-
-#endif //GUARD_BASE_OAM_H
diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h
index beb59974f..f5ef15af9 100755
--- a/src/data/field_event_obj/berry_tree_graphics_tables.h
+++ b/src/data/field_event_obj/berry_tree_graphics_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_BERRY_TREE_GRAPHICS_TABLES_H
-#define GUARD_BERRY_TREE_GRAPHICS_TABLES_H
-
const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = {
overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0),
overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0),
@@ -565,6 +562,3 @@ const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = {
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
};
-
-
-#endif //GUARD_BERRY_TREE_GRAPHICS_TABLES_H
diff --git a/src/data/field_event_obj/event_object_anims.h b/src/data/field_event_obj/event_object_anims.h
index 9b897651d..6203e0548 100755
--- a/src/data/field_event_obj/event_object_anims.h
+++ b/src/data/field_event_obj/event_object_anims.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_ANIMS_H
-#define GUARD_EVENT_OBJECT_ANIMS_H
-
const union AnimCmd gEventObjectImageAnim_StayStill[] =
{
ANIMCMD_FRAME(0, 8),
@@ -1172,5 +1169,3 @@ const struct UnkStruct_085094AC gUnknown_085094AC[] = {
{0, 0, 0, 0},
},
};
-
-#endif //GUARD_EVENT_OBJECT_ANIMS_H
diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h
index 4b65e694f..f7f1f33ba 100755
--- a/src/data/field_event_obj/event_object_graphics.h
+++ b/src/data/field_event_obj/event_object_graphics.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_GFX_H
-#define GUARD_EVENT_OBJECT_GFX_H
-
const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp");
const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp");
const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal");
@@ -307,7 +304,7 @@ const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/pale
const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal");
const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp");
const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp");
-const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
+const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp");
const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp");
const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp");
@@ -363,5 +360,3 @@ const u32 gEventObjectPic_Lugia[] = INCBIN_U32("graphics/event_objects/pics/poke
const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal");
const u32 gEventObjectPic_HoOh[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh.4bpp");
const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal");
-
-#endif //GUARD_EVENT_OBJECT_GFX_H
diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h
index ebc324b08..1f89cc98d 100755
--- a/src/data/field_event_obj/event_object_graphics_info.h
+++ b/src/data/field_event_obj/event_object_graphics_info.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
-#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
-
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
@@ -246,5 +243,3 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrenda
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, EVENT_OBJ_PAL_TAG_34, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, EVENT_OBJ_PAL_TAG_32, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, EVENT_OBJ_PAL_TAG_31, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable};
-
-#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h
index 3f726e30e..f57e294c3 100755
--- a/src/data/field_event_obj/event_object_graphics_info_pointers.h
+++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
-#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
-
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing;
@@ -500,5 +497,3 @@ const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
&gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
};
-
-#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h
index bd1ad1a25..5c8be195d 100755
--- a/src/data/field_event_obj/event_object_pic_tables.h
+++ b/src/data/field_event_obj/event_object_pic_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_PIC_TABLES_H
-#define GUARD_EVENT_OBJECT_PIC_TABLES_H
-
const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = {
overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 0),
overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 1),
@@ -2175,5 +2172,3 @@ const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = {
overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 7),
overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 8),
};
-
-#endif //GUARD_EVENT_OBJECT_PIC_TABLES_H
diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h
index db5fddf1e..5da262731 100755
--- a/src/data/field_event_obj/event_object_subsprites.h
+++ b/src/data/field_event_obj/event_object_subsprites.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_SUBSPRITES_H
-#define GUARD_EVENT_OBJECT_SUBSPRITES_H
-
const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = {
{ -8, -8, 0, 1, 0, 2}
};
@@ -338,5 +335,3 @@ const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = {
{16, gEventObjectSpriteOamTable_SubmarineShadow_3},
{16, gEventObjectSpriteOamTable_SubmarineShadow_3}
};
-
-#endif //GUARD_EVENT_OBJECT_SUBSPRITES_H
diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h
index 3b08a5ff1..32d2b069a 100755
--- a/src/data/field_event_obj/field_effect_object_template_pointers.h
+++ b/src/data/field_event_obj/field_effect_object_template_pointers.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
-#define GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
-
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge;
@@ -78,5 +75,3 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
};
-
-#endif //GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h
index 33fe66fe2..a3944de36 100755
--- a/src/data/field_event_obj/field_effect_objects.h
+++ b/src/data/field_event_obj/field_effect_objects.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_FIELD_EFFECT_OBJECTS_H
-#define GUARD_FIELD_EFFECT_OBJECTS_H
-
const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004};
const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005};
@@ -91,7 +88,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] =
gFieldEffectObjectImageAnim_850CAE0,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_81561D0};
+const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Ash[] = {
overworld_frame(gFieldEffectObjectPic_Ash, 2, 2, 0),
@@ -124,25 +121,25 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_SurfBlob[] = {
overworld_frame(gFieldEffectObjectPic_SurfBlob, 4, 4, 2),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850CB94[] =
+const union AnimCmd gSurfBlobAnim_FaceSouth[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850CB9C[] =
+const union AnimCmd gSurfBlobAnim_FaceNorth[] =
{
ANIMCMD_FRAME(1, 1),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850CBA4[] =
+const union AnimCmd gSurfBlobAnim_FaceWest[] =
{
ANIMCMD_FRAME(2, 1),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850CBAC[] =
+const union AnimCmd gSurfBlobAnim_FaceEast[] =
{
ANIMCMD_FRAME(2, 1, .hFlip = TRUE),
ANIMCMD_JUMP(0),
@@ -150,10 +147,10 @@ const union AnimCmd gFieldEffectObjectImageAnim_850CBAC[] =
const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] =
{
- gFieldEffectObjectImageAnim_850CB94,
- gFieldEffectObjectImageAnim_850CB9C,
- gFieldEffectObjectImageAnim_850CBA4,
- gFieldEffectObjectImageAnim_850CBAC,
+ gSurfBlobAnim_FaceSouth,
+ gSurfBlobAnim_FaceNorth,
+ gSurfBlobAnim_FaceWest,
+ gSurfBlobAnim_FaceEast,
};
const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect};
@@ -562,7 +559,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] =
gFieldEffectObjectImageAnim_850D05C,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_81561D0};
+const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown18[] = {
overworld_frame(gFieldEffectObjectPic_Unknown18, 2, 2, 0),
@@ -587,7 +584,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] =
gFieldEffectObjectImageAnim_850D0C0,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_81561D0};
+const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown19[] = {
overworld_frame(gFieldEffectObjectPic_Unknown19, 2, 2, 0),
@@ -610,7 +607,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] =
gFieldEffectObjectImageAnim_850D118,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_81561D0};
+const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown29[] = {
overworld_frame(gFieldEffectObjectPic_Unknown29, 2, 1, 0),
@@ -656,7 +653,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown20[] =
gFieldEffectObjectImageAnim_850D1AC,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_81561D0};
+const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const union AffineAnimCmd gFieldEffectObjectRotScalAnim_850D1E4[] =
{
@@ -733,7 +730,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSpark
gFieldEffectObjectImageAnim_850D2D4,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_81561D0};
+const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
const struct SpriteFrameImage gFieldEffectObjectPicTable_TreeDisguise[] = {
overworld_frame(gFieldEffectObjectPic_TreeDisguise, 2, 4, 0),
@@ -993,5 +990,3 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = {
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80};
const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gEventObjectPalette2, 0x1011};
-
-#endif //GUARD_FIELD_EFFECT_OBJECTS_H
diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h
index b24f5dea4..fb9f4b2cd 100755
--- a/src/data/field_event_obj/movement_action_func_tables.h
+++ b/src/data/field_event_obj/movement_action_func_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
-#define GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
-
u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_PauseSpriteAnim(struct EventObject *, struct Sprite *);
@@ -1514,5 +1511,3 @@ u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *,
MovementAction_DestroyExtraTaskIfAtTop_Step0,
MovementAction_Finish,
};
-
-#endif //GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h
index 165e96220..3c490011b 100755
--- a/src/data/field_event_obj/movement_type_func_tables.h
+++ b/src/data/field_event_obj/movement_type_func_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
-#define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
-
u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
@@ -439,5 +436,3 @@ u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *
MovementType_Invisible_Step1,
MovementType_Invisible_Step2,
};
-
-#endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
diff --git a/src/data/graphics/battle_terrain.h b/src/data/graphics/battle_terrain.h
index 4ff9883fe..e719fafe3 100644
--- a/src/data/graphics/battle_terrain.h
+++ b/src/data/graphics/battle_terrain.h
@@ -1,88 +1,88 @@
-const u8 gBattleTerrainTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/map.bin.lz");
+const u32 gBattleTerrainTiles_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/map.bin.lz");
-const u8 gBattleTerrainTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/map.bin.lz");
+const u32 gBattleTerrainTiles_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/map.bin.lz");
-const u8 gBattleTerrainTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/map.bin.lz");
+const u32 gBattleTerrainTiles_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/map.bin.lz");
-const u8 gBattleTerrainTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/map.bin.lz");
+const u32 gBattleTerrainTiles_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/map.bin.lz");
-const u8 gBattleTerrainTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_Water[] = INCBIN_U8("graphics/battle_terrain/water/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/map.bin.lz");
+const u32 gBattleTerrainTiles_Water[] = INCBIN_U32("graphics/battle_terrain/water/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_Water[] = INCBIN_U32("graphics/battle_terrain/water/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_Water[] = INCBIN_U32("graphics/battle_terrain/water/map.bin.lz");
-const u8 gBattleTerrainTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/map.bin.lz");
+const u32 gBattleTerrainTiles_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/map.bin.lz");
-const u8 gBattleTerrainTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/map.bin.lz");
+const u32 gBattleTerrainTiles_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/map.bin.lz");
-const u8 gBattleTerrainTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/palette.gbapal.lz");
-const u16 gBattleTerrainTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/map.bin.lz");
+const u32 gBattleTerrainTiles_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/palette.gbapal.lz");
+const u32 gBattleTerrainTilemap_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/map.bin.lz");
-const u8 gBattleTerrainPalette_Plain[] = INCBIN_U8("graphics/battle_terrain/plain/palette.gbapal.lz");
+const u32 gBattleTerrainPalette_Plain[] = INCBIN_U32("graphics/battle_terrain/plain/palette.gbapal.lz");
-const u8 gBattleTerrainTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/tiles.4bpp.lz");
-const u8 gBattleTerrainPalette_Frontier[] = INCBIN_U8("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles
-const u16 gBattleTerrainTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/map.bin.lz");
+const u32 gBattleTerrainTiles_Building[] = INCBIN_U32("graphics/battle_terrain/building/tiles.4bpp.lz");
+const u32 gBattleTerrainPalette_Frontier[] = INCBIN_U32("graphics/battle_terrain/stadium/battle_frontier.gbapal.lz"); // this is also used for link battles
+const u32 gBattleTerrainTilemap_Building[] = INCBIN_U32("graphics/battle_terrain/building/map.bin.lz");
-const u8 gBattleTerrainTiles_Stadium[] = INCBIN_U8("graphics/battle_terrain/stadium/tiles.4bpp.lz");
-const u16 gBattleTerrainTilemap_Stadium[] = INCBIN_U16("graphics/battle_terrain/stadium/map.bin.lz");
+const u32 gBattleTerrainTiles_Stadium[] = INCBIN_U32("graphics/battle_terrain/stadium/tiles.4bpp.lz");
+const u32 gBattleTerrainTilemap_Stadium[] = INCBIN_U32("graphics/battle_terrain/stadium/map.bin.lz");
-const u8 gBattleTerrainTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/tiles.4bpp.lz");
-const u16 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/map.bin.lz");
+const u32 gBattleTerrainTiles_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/tiles.4bpp.lz");
+const u32 gBattleTerrainTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/map.bin.lz");
-const u8 gBattleTerrainPalette_Building[] = INCBIN_U8("graphics/battle_terrain/building/palette.gbapal.lz");
+const u32 gBattleTerrainPalette_Building[] = INCBIN_U32("graphics/battle_terrain/building/palette.gbapal.lz");
-const u8 gBattleTerrainPalette_Kyogre[] = INCBIN_U8("graphics/battle_terrain/water/kyogre.gbapal.lz");
-const u8 gBattleTerrainPalette_Groudon[] = INCBIN_U8("graphics/battle_terrain/cave/groudon.gbapal.lz");
-const u8 gBattleTerrainPalette_BuildingGym[] = INCBIN_U8("graphics/battle_terrain/building/palette2.gbapal.lz");
-const u8 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U8("graphics/battle_terrain/building/palette3.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U8("graphics/battle_terrain/stadium/palette1.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U8("graphics/battle_terrain/stadium/palette2.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U8("graphics/battle_terrain/stadium/palette3.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U8("graphics/battle_terrain/stadium/palette4.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U8("graphics/battle_terrain/stadium/palette5.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U8("graphics/battle_terrain/stadium/palette6.gbapal.lz");
-const u8 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U8("graphics/battle_terrain/stadium/palette7.gbapal.lz");
-const u8 gBattleTerrainPalette_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/palette.gbapal.lz");
+const u32 gBattleTerrainPalette_Kyogre[] = INCBIN_U32("graphics/battle_terrain/water/kyogre.gbapal.lz");
+const u32 gBattleTerrainPalette_Groudon[] = INCBIN_U32("graphics/battle_terrain/cave/groudon.gbapal.lz");
+const u32 gBattleTerrainPalette_BuildingGym[] = INCBIN_U32("graphics/battle_terrain/building/palette2.gbapal.lz");
+const u32 gBattleTerrainPalette_BuildingLeader[] = INCBIN_U32("graphics/battle_terrain/building/palette3.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumAqua[] = INCBIN_U32("graphics/battle_terrain/stadium/palette1.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumMagma[] = INCBIN_U32("graphics/battle_terrain/stadium/palette2.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumSidney[] = INCBIN_U32("graphics/battle_terrain/stadium/palette3.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumPhoebe[] = INCBIN_U32("graphics/battle_terrain/stadium/palette4.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumGlacia[] = INCBIN_U32("graphics/battle_terrain/stadium/palette5.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumDrake[] = INCBIN_U32("graphics/battle_terrain/stadium/palette6.gbapal.lz");
+const u32 gBattleTerrainPalette_StadiumWallace[] = INCBIN_U32("graphics/battle_terrain/stadium/palette7.gbapal.lz");
+const u32 gBattleTerrainPalette_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/palette.gbapal.lz");
-const u8 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U8("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U16("graphics/battle_terrain/tall_grass/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_TallGrass[] = INCBIN_U32("graphics/battle_terrain/tall_grass/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U8("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U16("graphics/battle_terrain/long_grass/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_LongGrass[] = INCBIN_U32("graphics/battle_terrain/long_grass/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Sand[] = INCBIN_U8("graphics/battle_terrain/sand/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U16("graphics/battle_terrain/sand/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Sand[] = INCBIN_U32("graphics/battle_terrain/sand/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U8("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U16("graphics/battle_terrain/underwater/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Underwater[] = INCBIN_U32("graphics/battle_terrain/underwater/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Water[] = INCBIN_U8("graphics/battle_terrain/water/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Water[] = INCBIN_U16("graphics/battle_terrain/water/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Water[] = INCBIN_U32("graphics/battle_terrain/water/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Water[] = INCBIN_U32("graphics/battle_terrain/water/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U8("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U16("graphics/battle_terrain/pond_water/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_PondWater[] = INCBIN_U32("graphics/battle_terrain/pond_water/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Rock[] = INCBIN_U8("graphics/battle_terrain/rock/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U16("graphics/battle_terrain/rock/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Rock[] = INCBIN_U32("graphics/battle_terrain/rock/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Cave[] = INCBIN_U8("graphics/battle_terrain/cave/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U16("graphics/battle_terrain/cave/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Cave[] = INCBIN_U32("graphics/battle_terrain/cave/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Building[] = INCBIN_U8("graphics/battle_terrain/building/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Building[] = INCBIN_U16("graphics/battle_terrain/building/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Building[] = INCBIN_U32("graphics/battle_terrain/building/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Building[] = INCBIN_U32("graphics/battle_terrain/building/anim_map.bin.lz");
-const u8 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U8("graphics/battle_terrain/sky/anim_tiles.4bpp.lz");
-const u16 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U16("graphics/battle_terrain/sky/anim_map.bin.lz");
+const u32 gBattleTerrainAnimTiles_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/anim_tiles.4bpp.lz");
+const u32 gBattleTerrainAnimTilemap_Rayquaza[] = INCBIN_U32("graphics/battle_terrain/sky/anim_map.bin.lz");
diff --git a/src/data/graphics/berries.h b/src/data/graphics/berries.h
index d843a4f80..326bd1c5b 100644
--- a/src/data/graphics/berries.h
+++ b/src/data/graphics/berries.h
@@ -1,95 +1,95 @@
-const u8 gUnknown_08D9BB44[] = INCBIN_U8("graphics/interface/check_berry.4bpp.lz");
-const u8 gUnknown_08D9BEF0[] = INCBIN_U8("graphics/interface/check_berry.gbapal.lz");
+const u32 gUnknown_08D9BB44[] = INCBIN_U32("graphics/interface/check_berry.4bpp.lz");
+const u32 gUnknown_08D9BEF0[] = INCBIN_U32("graphics/interface/check_berry.gbapal.lz");
-const u16 gUnknown_08D9BF98[] = INCBIN_U16("graphics/interface/berry_tag.bin.lz");
-const u16 gUnknown_08D9C13C[] = INCBIN_U16("graphics/interface/berry_tag_title.bin.lz");
+const u32 gUnknown_08D9BF98[] = INCBIN_U32("graphics/interface/berry_tag.bin.lz");
+const u32 gUnknown_08D9C13C[] = INCBIN_U32("graphics/interface/berry_tag_title.bin.lz");
-const u8 gBerryCheckCircle_Gfx[] = INCBIN_U8("graphics/interface/check_berry_circle.4bpp.lz");
+const u32 gBerryCheckCircle_Gfx[] = INCBIN_U32("graphics/interface/check_berry_circle.4bpp.lz");
-const u8 gBerryPic_Cheri[] = INCBIN_U8("graphics/berries/cheri.4bpp.lz");
-const u8 gBerryPic_Oran[] = INCBIN_U8("graphics/berries/oran.4bpp.lz");
-const u8 gBerryPic_Pecha[] = INCBIN_U8("graphics/berries/pecha.4bpp.lz");
-const u8 gBerryPic_Rawst[] = INCBIN_U8("graphics/berries/rawst.4bpp.lz");
-const u8 gBerryPic_Aspear[] = INCBIN_U8("graphics/berries/aspear.4bpp.lz");
-const u8 gBerryPic_Leppa[] = INCBIN_U8("graphics/berries/leppa.4bpp.lz");
-const u8 gBerryPic_Chesto[] = INCBIN_U8("graphics/berries/chesto.4bpp.lz");
-const u8 gBerryPic_Persim[] = INCBIN_U8("graphics/berries/persim.4bpp.lz");
-const u8 gBerryPic_Lum[] = INCBIN_U8("graphics/berries/lum.4bpp.lz");
-const u8 gBerryPic_Sitrus[] = INCBIN_U8("graphics/berries/sitrus.4bpp.lz");
-const u8 gBerryPic_Figy[] = INCBIN_U8("graphics/berries/figy.4bpp.lz");
-const u8 gBerryPic_Wiki[] = INCBIN_U8("graphics/berries/wiki.4bpp.lz");
-const u8 gBerryPic_Mago[] = INCBIN_U8("graphics/berries/mago.4bpp.lz");
-const u8 gBerryPic_Aguav[] = INCBIN_U8("graphics/berries/aguav.4bpp.lz");
-const u8 gBerryPic_Iapapa[] = INCBIN_U8("graphics/berries/iapapa.4bpp.lz");
-const u8 gBerryPic_Razz[] = INCBIN_U8("graphics/berries/razz.4bpp.lz");
-const u8 gBerryPic_Bluk[] = INCBIN_U8("graphics/berries/bluk.4bpp.lz");
-const u8 gBerryPic_Nanab[] = INCBIN_U8("graphics/berries/nanab.4bpp.lz");
-const u8 gBerryPic_Wepear[] = INCBIN_U8("graphics/berries/wepear.4bpp.lz");
-const u8 gBerryPic_Pinap[] = INCBIN_U8("graphics/berries/pinap.4bpp.lz");
-const u8 gBerryPic_Pomeg[] = INCBIN_U8("graphics/berries/pomeg.4bpp.lz");
-const u8 gBerryPic_Kelpsy[] = INCBIN_U8("graphics/berries/kelpsy.4bpp.lz");
-const u8 gBerryPic_Qualot[] = INCBIN_U8("graphics/berries/qualot.4bpp.lz");
-const u8 gBerryPic_Hondew[] = INCBIN_U8("graphics/berries/hondew.4bpp.lz");
-const u8 gBerryPic_Grepa[] = INCBIN_U8("graphics/berries/grepa.4bpp.lz");
-const u8 gBerryPic_Tamato[] = INCBIN_U8("graphics/berries/tamato.4bpp.lz");
-const u8 gBerryPic_Cornn[] = INCBIN_U8("graphics/berries/cornn.4bpp.lz");
-const u8 gBerryPic_Magost[] = INCBIN_U8("graphics/berries/magost.4bpp.lz");
-const u8 gBerryPic_Rabuta[] = INCBIN_U8("graphics/berries/rabuta.4bpp.lz");
-const u8 gBerryPic_Nomel[] = INCBIN_U8("graphics/berries/nomel.4bpp.lz");
-const u8 gBerryPic_Spelon[] = INCBIN_U8("graphics/berries/spelon.4bpp.lz");
-const u8 gBerryPic_Pamtre[] = INCBIN_U8("graphics/berries/pamtre.4bpp.lz");
-const u8 gBerryPic_Watmel[] = INCBIN_U8("graphics/berries/watmel.4bpp.lz");
-const u8 gBerryPic_Durin[] = INCBIN_U8("graphics/berries/durin.4bpp.lz");
-const u8 gBerryPic_Belue[] = INCBIN_U8("graphics/berries/belue.4bpp.lz");
-const u8 gBerryPic_Liechi[] = INCBIN_U8("graphics/berries/liechi.4bpp.lz");
-const u8 gBerryPic_Ganlon[] = INCBIN_U8("graphics/berries/ganlon.4bpp.lz");
-const u8 gBerryPic_Salac[] = INCBIN_U8("graphics/berries/salac.4bpp.lz");
-const u8 gBerryPic_Petaya[] = INCBIN_U8("graphics/berries/petaya.4bpp.lz");
-const u8 gBerryPic_Apicot[] = INCBIN_U8("graphics/berries/apicot.4bpp.lz");
-const u8 gBerryPic_Lansat[] = INCBIN_U8("graphics/berries/lansat.4bpp.lz");
-const u8 gBerryPic_Starf[] = INCBIN_U8("graphics/berries/starf.4bpp.lz");
-const u8 gBerryPic_Enigma[] = INCBIN_U8("graphics/berries/enigma.4bpp.lz");
+const u32 gBerryPic_Cheri[] = INCBIN_U32("graphics/berries/cheri.4bpp.lz");
+const u32 gBerryPic_Oran[] = INCBIN_U32("graphics/berries/oran.4bpp.lz");
+const u32 gBerryPic_Pecha[] = INCBIN_U32("graphics/berries/pecha.4bpp.lz");
+const u32 gBerryPic_Rawst[] = INCBIN_U32("graphics/berries/rawst.4bpp.lz");
+const u32 gBerryPic_Aspear[] = INCBIN_U32("graphics/berries/aspear.4bpp.lz");
+const u32 gBerryPic_Leppa[] = INCBIN_U32("graphics/berries/leppa.4bpp.lz");
+const u32 gBerryPic_Chesto[] = INCBIN_U32("graphics/berries/chesto.4bpp.lz");
+const u32 gBerryPic_Persim[] = INCBIN_U32("graphics/berries/persim.4bpp.lz");
+const u32 gBerryPic_Lum[] = INCBIN_U32("graphics/berries/lum.4bpp.lz");
+const u32 gBerryPic_Sitrus[] = INCBIN_U32("graphics/berries/sitrus.4bpp.lz");
+const u32 gBerryPic_Figy[] = INCBIN_U32("graphics/berries/figy.4bpp.lz");
+const u32 gBerryPic_Wiki[] = INCBIN_U32("graphics/berries/wiki.4bpp.lz");
+const u32 gBerryPic_Mago[] = INCBIN_U32("graphics/berries/mago.4bpp.lz");
+const u32 gBerryPic_Aguav[] = INCBIN_U32("graphics/berries/aguav.4bpp.lz");
+const u32 gBerryPic_Iapapa[] = INCBIN_U32("graphics/berries/iapapa.4bpp.lz");
+const u32 gBerryPic_Razz[] = INCBIN_U32("graphics/berries/razz.4bpp.lz");
+const u32 gBerryPic_Bluk[] = INCBIN_U32("graphics/berries/bluk.4bpp.lz");
+const u32 gBerryPic_Nanab[] = INCBIN_U32("graphics/berries/nanab.4bpp.lz");
+const u32 gBerryPic_Wepear[] = INCBIN_U32("graphics/berries/wepear.4bpp.lz");
+const u32 gBerryPic_Pinap[] = INCBIN_U32("graphics/berries/pinap.4bpp.lz");
+const u32 gBerryPic_Pomeg[] = INCBIN_U32("graphics/berries/pomeg.4bpp.lz");
+const u32 gBerryPic_Kelpsy[] = INCBIN_U32("graphics/berries/kelpsy.4bpp.lz");
+const u32 gBerryPic_Qualot[] = INCBIN_U32("graphics/berries/qualot.4bpp.lz");
+const u32 gBerryPic_Hondew[] = INCBIN_U32("graphics/berries/hondew.4bpp.lz");
+const u32 gBerryPic_Grepa[] = INCBIN_U32("graphics/berries/grepa.4bpp.lz");
+const u32 gBerryPic_Tamato[] = INCBIN_U32("graphics/berries/tamato.4bpp.lz");
+const u32 gBerryPic_Cornn[] = INCBIN_U32("graphics/berries/cornn.4bpp.lz");
+const u32 gBerryPic_Magost[] = INCBIN_U32("graphics/berries/magost.4bpp.lz");
+const u32 gBerryPic_Rabuta[] = INCBIN_U32("graphics/berries/rabuta.4bpp.lz");
+const u32 gBerryPic_Nomel[] = INCBIN_U32("graphics/berries/nomel.4bpp.lz");
+const u32 gBerryPic_Spelon[] = INCBIN_U32("graphics/berries/spelon.4bpp.lz");
+const u32 gBerryPic_Pamtre[] = INCBIN_U32("graphics/berries/pamtre.4bpp.lz");
+const u32 gBerryPic_Watmel[] = INCBIN_U32("graphics/berries/watmel.4bpp.lz");
+const u32 gBerryPic_Durin[] = INCBIN_U32("graphics/berries/durin.4bpp.lz");
+const u32 gBerryPic_Belue[] = INCBIN_U32("graphics/berries/belue.4bpp.lz");
+const u32 gBerryPic_Liechi[] = INCBIN_U32("graphics/berries/liechi.4bpp.lz");
+const u32 gBerryPic_Ganlon[] = INCBIN_U32("graphics/berries/ganlon.4bpp.lz");
+const u32 gBerryPic_Salac[] = INCBIN_U32("graphics/berries/salac.4bpp.lz");
+const u32 gBerryPic_Petaya[] = INCBIN_U32("graphics/berries/petaya.4bpp.lz");
+const u32 gBerryPic_Apicot[] = INCBIN_U32("graphics/berries/apicot.4bpp.lz");
+const u32 gBerryPic_Lansat[] = INCBIN_U32("graphics/berries/lansat.4bpp.lz");
+const u32 gBerryPic_Starf[] = INCBIN_U32("graphics/berries/starf.4bpp.lz");
+const u32 gBerryPic_Enigma[] = INCBIN_U32("graphics/berries/enigma.4bpp.lz");
-const u8 gBerryPalette_Cheri[] = INCBIN_U8("graphics/berries/cheri.gbapal.lz");
-const u8 gBerryPalette_Oran[] = INCBIN_U8("graphics/berries/oran.gbapal.lz");
-const u8 gBerryPalette_Pecha[] = INCBIN_U8("graphics/berries/pecha.gbapal.lz");
-const u8 gBerryPalette_Rawst[] = INCBIN_U8("graphics/berries/rawst.gbapal.lz");
-const u8 gBerryPalette_Aspear[] = INCBIN_U8("graphics/berries/aspear.gbapal.lz");
-const u8 gBerryPalette_Leppa[] = INCBIN_U8("graphics/berries/leppa.gbapal.lz");
-const u8 gBerryPalette_Chesto[] = INCBIN_U8("graphics/berries/chesto.gbapal.lz");
-const u8 gBerryPalette_Persim[] = INCBIN_U8("graphics/berries/persim.gbapal.lz");
-const u8 gBerryPalette_Lum[] = INCBIN_U8("graphics/berries/lum.gbapal.lz");
-const u8 gBerryPalette_Sitrus[] = INCBIN_U8("graphics/berries/sitrus.gbapal.lz");
-const u8 gBerryPalette_Figy[] = INCBIN_U8("graphics/berries/figy.gbapal.lz");
-const u8 gBerryPalette_Wiki[] = INCBIN_U8("graphics/berries/wiki.gbapal.lz");
-const u8 gBerryPalette_Mago[] = INCBIN_U8("graphics/berries/mago.gbapal.lz");
-const u8 gBerryPalette_Aguav[] = INCBIN_U8("graphics/berries/aguav.gbapal.lz");
-const u8 gBerryPalette_Iapapa[] = INCBIN_U8("graphics/berries/iapapa.gbapal.lz");
-const u8 gBerryPalette_Razz[] = INCBIN_U8("graphics/berries/razz.gbapal.lz");
-const u8 gBerryPalette_Bluk[] = INCBIN_U8("graphics/berries/bluk.gbapal.lz");
-const u8 gBerryPalette_Nanab[] = INCBIN_U8("graphics/berries/nanab.gbapal.lz");
-const u8 gBerryPalette_Wepear[] = INCBIN_U8("graphics/berries/wepear.gbapal.lz");
-const u8 gBerryPalette_Pinap[] = INCBIN_U8("graphics/berries/pinap.gbapal.lz");
-const u8 gBerryPalette_Pomeg[] = INCBIN_U8("graphics/berries/pomeg.gbapal.lz");
-const u8 gBerryPalette_Kelpsy[] = INCBIN_U8("graphics/berries/kelpsy.gbapal.lz");
-const u8 gBerryPalette_Qualot[] = INCBIN_U8("graphics/berries/qualot.gbapal.lz");
-const u8 gBerryPalette_Hondew[] = INCBIN_U8("graphics/berries/hondew.gbapal.lz");
-const u8 gBerryPalette_Grepa[] = INCBIN_U8("graphics/berries/grepa.gbapal.lz");
-const u8 gBerryPalette_Tamato[] = INCBIN_U8("graphics/berries/tamato.gbapal.lz");
-const u8 gBerryPalette_Cornn[] = INCBIN_U8("graphics/berries/cornn.gbapal.lz");
-const u8 gBerryPalette_Magost[] = INCBIN_U8("graphics/berries/magost.gbapal.lz");
-const u8 gBerryPalette_Rabuta[] = INCBIN_U8("graphics/berries/rabuta.gbapal.lz");
-const u8 gBerryPalette_Nomel[] = INCBIN_U8("graphics/berries/nomel.gbapal.lz");
-const u8 gBerryPalette_Spelon[] = INCBIN_U8("graphics/berries/spelon.gbapal.lz");
-const u8 gBerryPalette_Pamtre[] = INCBIN_U8("graphics/berries/pamtre.gbapal.lz");
-const u8 gBerryPalette_Watmel[] = INCBIN_U8("graphics/berries/watmel.gbapal.lz");
-const u8 gBerryPalette_Durin[] = INCBIN_U8("graphics/berries/durin.gbapal.lz");
-const u8 gBerryPalette_Belue[] = INCBIN_U8("graphics/berries/belue.gbapal.lz");
-const u8 gBerryPalette_Liechi[] = INCBIN_U8("graphics/berries/liechi.gbapal.lz");
-const u8 gBerryPalette_Ganlon[] = INCBIN_U8("graphics/berries/ganlon.gbapal.lz");
-const u8 gBerryPalette_Salac[] = INCBIN_U8("graphics/berries/salac.gbapal.lz");
-const u8 gBerryPalette_Petaya[] = INCBIN_U8("graphics/berries/petaya.gbapal.lz");
-const u8 gBerryPalette_Apicot[] = INCBIN_U8("graphics/berries/apicot.gbapal.lz");
-const u8 gBerryPalette_Lansat[] = INCBIN_U8("graphics/berries/lansat.gbapal.lz");
-const u8 gBerryPalette_Starf[] = INCBIN_U8("graphics/berries/starf.gbapal.lz");
-const u8 gBerryPalette_Enigma[] = INCBIN_U8("graphics/berries/enigma.gbapal.lz");
+const u32 gBerryPalette_Cheri[] = INCBIN_U32("graphics/berries/cheri.gbapal.lz");
+const u32 gBerryPalette_Oran[] = INCBIN_U32("graphics/berries/oran.gbapal.lz");
+const u32 gBerryPalette_Pecha[] = INCBIN_U32("graphics/berries/pecha.gbapal.lz");
+const u32 gBerryPalette_Rawst[] = INCBIN_U32("graphics/berries/rawst.gbapal.lz");
+const u32 gBerryPalette_Aspear[] = INCBIN_U32("graphics/berries/aspear.gbapal.lz");
+const u32 gBerryPalette_Leppa[] = INCBIN_U32("graphics/berries/leppa.gbapal.lz");
+const u32 gBerryPalette_Chesto[] = INCBIN_U32("graphics/berries/chesto.gbapal.lz");
+const u32 gBerryPalette_Persim[] = INCBIN_U32("graphics/berries/persim.gbapal.lz");
+const u32 gBerryPalette_Lum[] = INCBIN_U32("graphics/berries/lum.gbapal.lz");
+const u32 gBerryPalette_Sitrus[] = INCBIN_U32("graphics/berries/sitrus.gbapal.lz");
+const u32 gBerryPalette_Figy[] = INCBIN_U32("graphics/berries/figy.gbapal.lz");
+const u32 gBerryPalette_Wiki[] = INCBIN_U32("graphics/berries/wiki.gbapal.lz");
+const u32 gBerryPalette_Mago[] = INCBIN_U32("graphics/berries/mago.gbapal.lz");
+const u32 gBerryPalette_Aguav[] = INCBIN_U32("graphics/berries/aguav.gbapal.lz");
+const u32 gBerryPalette_Iapapa[] = INCBIN_U32("graphics/berries/iapapa.gbapal.lz");
+const u32 gBerryPalette_Razz[] = INCBIN_U32("graphics/berries/razz.gbapal.lz");
+const u32 gBerryPalette_Bluk[] = INCBIN_U32("graphics/berries/bluk.gbapal.lz");
+const u32 gBerryPalette_Nanab[] = INCBIN_U32("graphics/berries/nanab.gbapal.lz");
+const u32 gBerryPalette_Wepear[] = INCBIN_U32("graphics/berries/wepear.gbapal.lz");
+const u32 gBerryPalette_Pinap[] = INCBIN_U32("graphics/berries/pinap.gbapal.lz");
+const u32 gBerryPalette_Pomeg[] = INCBIN_U32("graphics/berries/pomeg.gbapal.lz");
+const u32 gBerryPalette_Kelpsy[] = INCBIN_U32("graphics/berries/kelpsy.gbapal.lz");
+const u32 gBerryPalette_Qualot[] = INCBIN_U32("graphics/berries/qualot.gbapal.lz");
+const u32 gBerryPalette_Hondew[] = INCBIN_U32("graphics/berries/hondew.gbapal.lz");
+const u32 gBerryPalette_Grepa[] = INCBIN_U32("graphics/berries/grepa.gbapal.lz");
+const u32 gBerryPalette_Tamato[] = INCBIN_U32("graphics/berries/tamato.gbapal.lz");
+const u32 gBerryPalette_Cornn[] = INCBIN_U32("graphics/berries/cornn.gbapal.lz");
+const u32 gBerryPalette_Magost[] = INCBIN_U32("graphics/berries/magost.gbapal.lz");
+const u32 gBerryPalette_Rabuta[] = INCBIN_U32("graphics/berries/rabuta.gbapal.lz");
+const u32 gBerryPalette_Nomel[] = INCBIN_U32("graphics/berries/nomel.gbapal.lz");
+const u32 gBerryPalette_Spelon[] = INCBIN_U32("graphics/berries/spelon.gbapal.lz");
+const u32 gBerryPalette_Pamtre[] = INCBIN_U32("graphics/berries/pamtre.gbapal.lz");
+const u32 gBerryPalette_Watmel[] = INCBIN_U32("graphics/berries/watmel.gbapal.lz");
+const u32 gBerryPalette_Durin[] = INCBIN_U32("graphics/berries/durin.gbapal.lz");
+const u32 gBerryPalette_Belue[] = INCBIN_U32("graphics/berries/belue.gbapal.lz");
+const u32 gBerryPalette_Liechi[] = INCBIN_U32("graphics/berries/liechi.gbapal.lz");
+const u32 gBerryPalette_Ganlon[] = INCBIN_U32("graphics/berries/ganlon.gbapal.lz");
+const u32 gBerryPalette_Salac[] = INCBIN_U32("graphics/berries/salac.gbapal.lz");
+const u32 gBerryPalette_Petaya[] = INCBIN_U32("graphics/berries/petaya.gbapal.lz");
+const u32 gBerryPalette_Apicot[] = INCBIN_U32("graphics/berries/apicot.gbapal.lz");
+const u32 gBerryPalette_Lansat[] = INCBIN_U32("graphics/berries/lansat.gbapal.lz");
+const u32 gBerryPalette_Starf[] = INCBIN_U32("graphics/berries/starf.gbapal.lz");
+const u32 gBerryPalette_Enigma[] = INCBIN_U32("graphics/berries/enigma.gbapal.lz");
diff --git a/src/data/graphics/berry_fix.h b/src/data/graphics/berry_fix.h
index 4012ab5a3..aede748a4 100644
--- a/src/data/graphics/berry_fix.h
+++ b/src/data/graphics/berry_fix.h
@@ -1,23 +1,23 @@
const u16 gBerryFixGameboy_Pal[] = INCBIN_U16("graphics/berry_fix/gba_small.gbapal");
-const u8 gBerryFixGameboy_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_small.4bpp.lz");
-const u16 gBerryFixGameboy_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_small.bin.lz");
+const u32 gBerryFixGameboy_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_small.4bpp.lz");
+const u32 gBerryFixGameboy_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_small.bin.lz");
const u16 gBerryFixGameboyLogo_Pal[] = INCBIN_U16("graphics/berry_fix/logo.gbapal");
-const u8 gBerryFixGameboyLogo_Gfx[] = INCBIN_U8("graphics/berry_fix/logo.4bpp.lz");
-const u16 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U16("graphics/berry_fix/logo.bin.lz");
+const u32 gBerryFixGameboyLogo_Gfx[] = INCBIN_U32("graphics/berry_fix/logo.4bpp.lz");
+const u32 gBerryFixGameboyLogo_Tilemap[] = INCBIN_U32("graphics/berry_fix/logo.bin.lz");
const u16 gBerryFixGbaTransfer_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer.gbapal");
-const u8 gBerryFixGbaTransfer_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer.4bpp.lz");
-const u16 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer.bin.lz");
+const u32 gBerryFixGbaTransfer_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_transfer.4bpp.lz");
+const u32 gBerryFixGbaTransfer_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_transfer.bin.lz");
const u16 gBerryFixGbaTransferHighlight_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.gbapal");
-const u8 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_highlight.4bpp.lz");
-const u16 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_highlight.bin.lz");
+const u32 gBerryFixGbaTransferHighlight_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_transfer_highlight.4bpp.lz");
+const u32 gBerryFixGbaTransferHighlight_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_transfer_highlight.bin.lz");
const u16 gBerryFixGbaTransferError_Pal[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.gbapal");
-const u8 gBerryFixGbaTransferError_Gfx[] = INCBIN_U8("graphics/berry_fix/gba_transfer_error.4bpp.lz");
-const u16 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U16("graphics/berry_fix/gba_transfer_error.bin.lz");
+const u32 gBerryFixGbaTransferError_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_transfer_error.4bpp.lz");
+const u32 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_transfer_error.bin.lz");
const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal");
-const u8 gBerryFixWindow_Gfx[] = INCBIN_U8("graphics/berry_fix/window.4bpp.lz");
-const u16 gBerryFixWindow_Tilemap[] = INCBIN_U16("graphics/berry_fix/window.bin.lz"); \ No newline at end of file
+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
diff --git a/src/data/graphics/decorations.h b/src/data/graphics/decorations.h
index 574ee50b6..62d86d48e 100644
--- a/src/data/graphics/decorations.h
+++ b/src/data/graphics/decorations.h
@@ -1,125 +1,125 @@
-const u8 gUnknown_08DB7AA0[] = INCBIN_U8("graphics/decorations/decor_heavy_desk.4bpp.lz");
-const u8 gUnknown_08DB7B34[] = INCBIN_U8("graphics/decorations/decor_heavy_desk.gbapal.lz");
+const u32 gUnknown_08DB7AA0[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.4bpp.lz");
+const u32 gUnknown_08DB7B34[] = INCBIN_U32("graphics/decorations/decor_heavy_desk.gbapal.lz");
-const u8 gUnknown_08DB7B5C[] = INCBIN_U8("graphics/decorations/decor_ragged_desk.4bpp.lz");
-const u8 gUnknown_08DB7BEC[] = INCBIN_U8("graphics/decorations/decor_ragged_desk.gbapal.lz");
+const u32 gUnknown_08DB7B5C[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.4bpp.lz");
+const u32 gUnknown_08DB7BEC[] = INCBIN_U32("graphics/decorations/decor_ragged_desk.gbapal.lz");
-const u8 gUnknown_08DB7C08[] = INCBIN_U8("graphics/decorations/decor_comfort_desk.4bpp.lz");
-const u8 gUnknown_08DB7CE8[] = INCBIN_U8("graphics/decorations/decor_comfort_desk.gbapal.lz");
+const u32 gUnknown_08DB7C08[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.4bpp.lz");
+const u32 gUnknown_08DB7CE8[] = INCBIN_U32("graphics/decorations/decor_comfort_desk.gbapal.lz");
-const u8 gUnknown_08DB7D08[] = INCBIN_U8("graphics/decorations/decor_pretty_desk.4bpp.lz");
-const u8 gUnknown_08DB7DCC[] = INCBIN_U8("graphics/decorations/decor_pretty_desk.gbapal.lz");
+const u32 gUnknown_08DB7D08[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.4bpp.lz");
+const u32 gUnknown_08DB7DCC[] = INCBIN_U32("graphics/decorations/decor_pretty_desk.gbapal.lz");
-const u8 gUnknown_08DB7DF4[] = INCBIN_U8("graphics/decorations/decor_brick_desk.4bpp.lz");
-const u8 gUnknown_08DB7EA0[] = INCBIN_U8("graphics/decorations/decor_brick_desk.gbapal.lz");
+const u32 gUnknown_08DB7DF4[] = INCBIN_U32("graphics/decorations/decor_brick_desk.4bpp.lz");
+const u32 gUnknown_08DB7EA0[] = INCBIN_U32("graphics/decorations/decor_brick_desk.gbapal.lz");
-const u8 gUnknown_08DB7EC4[] = INCBIN_U8("graphics/decorations/decor_camp_desk.4bpp.lz");
-const u8 gUnknown_08DB7F60[] = INCBIN_U8("graphics/decorations/decor_camp_desk.gbapal.lz");
+const u32 gUnknown_08DB7EC4[] = INCBIN_U32("graphics/decorations/decor_camp_desk.4bpp.lz");
+const u32 gUnknown_08DB7F60[] = INCBIN_U32("graphics/decorations/decor_camp_desk.gbapal.lz");
-const u8 gUnknown_08DB7F7C[] = INCBIN_U8("graphics/decorations/decor_hard_desk.4bpp.lz");
-const u8 gUnknown_08DB8070[] = INCBIN_U8("graphics/decorations/decor_hard_desk.gbapal.lz");
+const u32 gUnknown_08DB7F7C[] = INCBIN_U32("graphics/decorations/decor_hard_desk.4bpp.lz");
+const u32 gUnknown_08DB8070[] = INCBIN_U32("graphics/decorations/decor_hard_desk.gbapal.lz");
-const u8 gUnknown_08DB808C[] = INCBIN_U8("graphics/decorations/decor_red_plant.4bpp.lz");
-const u8 gUnknown_08DB8138[] = INCBIN_U8("graphics/decorations/decor_red_plant.gbapal.lz");
+const u32 gUnknown_08DB808C[] = INCBIN_U32("graphics/decorations/decor_red_plant.4bpp.lz");
+const u32 gUnknown_08DB8138[] = INCBIN_U32("graphics/decorations/decor_red_plant.gbapal.lz");
-const u8 gUnknown_08DB8160[] = INCBIN_U8("graphics/decorations/decor_tropical_plant.4bpp.lz");
-const u8 gUnknown_08DB8218[] = INCBIN_U8("graphics/decorations/decor_tropical_plant.gbapal.lz");
+const u32 gUnknown_08DB8160[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.4bpp.lz");
+const u32 gUnknown_08DB8218[] = INCBIN_U32("graphics/decorations/decor_tropical_plant.gbapal.lz");
-const u8 gUnknown_08DB823C[] = INCBIN_U8("graphics/decorations/decor_pretty_flowers.4bpp.lz");
-const u8 gUnknown_08DB8300[] = INCBIN_U8("graphics/decorations/decor_pretty_flowers.gbapal.lz");
+const u32 gUnknown_08DB823C[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.4bpp.lz");
+const u32 gUnknown_08DB8300[] = INCBIN_U32("graphics/decorations/decor_pretty_flowers.gbapal.lz");
-const u8 gUnknown_08DB8328[] = INCBIN_U8("graphics/decorations/decor_colorful_plant.4bpp.lz");
-const u8 gUnknown_08DB8430[] = INCBIN_U8("graphics/decorations/decor_colorful_plant.gbapal.lz");
+const u32 gUnknown_08DB8328[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.4bpp.lz");
+const u32 gUnknown_08DB8430[] = INCBIN_U32("graphics/decorations/decor_colorful_plant.gbapal.lz");
-const u8 gUnknown_08DB8458[] = INCBIN_U8("graphics/decorations/decor_big_plant.4bpp.lz");
-const u8 gUnknown_08DB8528[] = INCBIN_U8("graphics/decorations/decor_big_plant.gbapal.lz");
+const u32 gUnknown_08DB8458[] = INCBIN_U32("graphics/decorations/decor_big_plant.4bpp.lz");
+const u32 gUnknown_08DB8528[] = INCBIN_U32("graphics/decorations/decor_big_plant.gbapal.lz");
-const u8 gUnknown_08DB854C[] = INCBIN_U8("graphics/decorations/decor_gorgeous_plant.4bpp.lz");
-const u8 gUnknown_08DB862C[] = INCBIN_U8("graphics/decorations/decor_gorgeous_plant.gbapal.lz");
+const u32 gUnknown_08DB854C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.4bpp.lz");
+const u32 gUnknown_08DB862C[] = INCBIN_U32("graphics/decorations/decor_gorgeous_plant.gbapal.lz");
-const u8 gUnknown_08DB8654[] = INCBIN_U8("graphics/decorations/decor_red_brick.4bpp.lz");
-const u8 gUnknown_08DB86C4[] = INCBIN_U8("graphics/decorations/decor_red_brick.gbapal.lz");
+const u32 gUnknown_08DB8654[] = INCBIN_U32("graphics/decorations/decor_red_brick.4bpp.lz");
+const u32 gUnknown_08DB86C4[] = INCBIN_U32("graphics/decorations/decor_red_brick.gbapal.lz");
-const u8 gUnknown_08DB86E0[] = INCBIN_U8("graphics/decorations/decor_yellow_brick.4bpp.lz");
-const u8 gUnknown_08DB8750[] = INCBIN_U8("graphics/decorations/decor_yellow_brick.gbapal.lz");
+const u32 gUnknown_08DB86E0[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.4bpp.lz");
+const u32 gUnknown_08DB8750[] = INCBIN_U32("graphics/decorations/decor_yellow_brick.gbapal.lz");
-const u8 gUnknown_08DB876C[] = INCBIN_U8("graphics/decorations/decor_blue_brick.4bpp.lz");
-const u8 gUnknown_08DB87DC[] = INCBIN_U8("graphics/decorations/decor_blue_brick.gbapal.lz");
+const u32 gUnknown_08DB876C[] = INCBIN_U32("graphics/decorations/decor_blue_brick.4bpp.lz");
+const u32 gUnknown_08DB87DC[] = INCBIN_U32("graphics/decorations/decor_blue_brick.gbapal.lz");
-const u8 gUnknown_08DB87F8[] = INCBIN_U8("graphics/decorations/decor_red_tent.4bpp.lz");
-const u8 gUnknown_08DB88D8[] = INCBIN_U8("graphics/decorations/decor_red_tent.gbapal.lz");
+const u32 gUnknown_08DB87F8[] = INCBIN_U32("graphics/decorations/decor_red_tent.4bpp.lz");
+const u32 gUnknown_08DB88D8[] = INCBIN_U32("graphics/decorations/decor_red_tent.gbapal.lz");
-const u8 gUnknown_08DB8900[] = INCBIN_U8("graphics/decorations/decor_blue_tent.4bpp.lz");
-const u8 gUnknown_08DB89E0[] = INCBIN_U8("graphics/decorations/decor_blue_tent.gbapal.lz");
+const u32 gUnknown_08DB8900[] = INCBIN_U32("graphics/decorations/decor_blue_tent.4bpp.lz");
+const u32 gUnknown_08DB89E0[] = INCBIN_U32("graphics/decorations/decor_blue_tent.gbapal.lz");
-const u8 gUnknown_08DB8A08[] = INCBIN_U8("graphics/decorations/decor_solid_board.4bpp.lz");
-const u8 gUnknown_08DB8A68[] = INCBIN_U8("graphics/decorations/decor_solid_board.gbapal.lz");
+const u32 gUnknown_08DB8A08[] = INCBIN_U32("graphics/decorations/decor_solid_board.4bpp.lz");
+const u32 gUnknown_08DB8A68[] = INCBIN_U32("graphics/decorations/decor_solid_board.gbapal.lz");
-const u8 gUnknown_08DB8A84[] = INCBIN_U8("graphics/decorations/decor_slide.4bpp.lz");
-const u8 gUnknown_08DB8B40[] = INCBIN_U8("graphics/decorations/decor_slide.gbapal.lz");
+const u32 gUnknown_08DB8A84[] = INCBIN_U32("graphics/decorations/decor_slide.4bpp.lz");
+const u32 gUnknown_08DB8B40[] = INCBIN_U32("graphics/decorations/decor_slide.gbapal.lz");
-const u8 gUnknown_08DB8B68[] = INCBIN_U8("graphics/decorations/decor_tire.4bpp.lz");
-const u8 gUnknown_08DB8C40[] = INCBIN_U8("graphics/decorations/decor_tire.gbapal.lz");
+const u32 gUnknown_08DB8B68[] = INCBIN_U32("graphics/decorations/decor_tire.4bpp.lz");
+const u32 gUnknown_08DB8C40[] = INCBIN_U32("graphics/decorations/decor_tire.gbapal.lz");
-const u8 gUnknown_08DB8C5C[] = INCBIN_U8("graphics/decorations/decor_stand.4bpp.lz");
-const u8 gUnknown_08DB8CF4[] = INCBIN_U8("graphics/decorations/decor_stand.gbapal.lz");
+const u32 gUnknown_08DB8C5C[] = INCBIN_U32("graphics/decorations/decor_stand.4bpp.lz");
+const u32 gUnknown_08DB8CF4[] = INCBIN_U32("graphics/decorations/decor_stand.gbapal.lz");
-const u8 gUnknown_08DB8D18[] = INCBIN_U8("graphics/decorations/decor_breakable_door.4bpp.lz");
-const u8 gUnknown_08DB8DB0[] = INCBIN_U8("graphics/decorations/decor_breakable_door.gbapal.lz");
+const u32 gUnknown_08DB8D18[] = INCBIN_U32("graphics/decorations/decor_breakable_door.4bpp.lz");
+const u32 gUnknown_08DB8DB0[] = INCBIN_U32("graphics/decorations/decor_breakable_door.gbapal.lz");
-const u8 gUnknown_08DB8DD4[] = INCBIN_U8("graphics/decorations/decor_sand_ornament.4bpp.lz");
-const u8 gUnknown_08DB8E80[] = INCBIN_U8("graphics/decorations/decor_sand_ornament.gbapal.lz");
+const u32 gUnknown_08DB8DD4[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.4bpp.lz");
+const u32 gUnknown_08DB8E80[] = INCBIN_U32("graphics/decorations/decor_sand_ornament.gbapal.lz");
-const u8 gUnknown_08DB8EA0[] = INCBIN_U8("graphics/decorations/decor_glass_ornament.4bpp.lz");
-const u8 gUnknown_08DB8F58[] = INCBIN_U8("graphics/decorations/decor_glass_ornament.gbapal.lz");
+const u32 gUnknown_08DB8EA0[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.4bpp.lz");
+const u32 gUnknown_08DB8F58[] = INCBIN_U32("graphics/decorations/decor_glass_ornament.gbapal.lz");
-const u8 gUnknown_08DB8F7C[] = INCBIN_U8("graphics/decorations/decor_surf_mat.4bpp.lz");
-const u8 gUnknown_08DB9038[] = INCBIN_U8("graphics/decorations/decor_surf_mat.gbapal.lz");
+const u32 gUnknown_08DB8F7C[] = INCBIN_U32("graphics/decorations/decor_surf_mat.4bpp.lz");
+const u32 gUnknown_08DB9038[] = INCBIN_U32("graphics/decorations/decor_surf_mat.gbapal.lz");
-const u8 gUnknown_08DB9058[] = INCBIN_U8("graphics/decorations/decor_thunder_mat.4bpp.lz");
-const u8 gUnknown_08DB9130[] = INCBIN_U8("graphics/decorations/decor_thunder_mat.gbapal.lz");
+const u32 gUnknown_08DB9058[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.4bpp.lz");
+const u32 gUnknown_08DB9130[] = INCBIN_U32("graphics/decorations/decor_thunder_mat.gbapal.lz");
-const u8 gUnknown_08DB9154[] = INCBIN_U8("graphics/decorations/decor_fire_blast_mat.4bpp.lz");
-const u8 gUnknown_08DB9218[] = INCBIN_U8("graphics/decorations/decor_fire_blast_mat.gbapal.lz");
+const u32 gUnknown_08DB9154[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.4bpp.lz");
+const u32 gUnknown_08DB9218[] = INCBIN_U32("graphics/decorations/decor_fire_blast_mat.gbapal.lz");
-const u8 gUnknown_08DB9234[] = INCBIN_U8("graphics/decorations/decor_powder_snow_mat.4bpp.lz");
-const u8 gUnknown_08DB92FC[] = INCBIN_U8("graphics/decorations/decor_powder_snow_mat.gbapal.lz");
+const u32 gUnknown_08DB9234[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.4bpp.lz");
+const u32 gUnknown_08DB92FC[] = INCBIN_U32("graphics/decorations/decor_powder_snow_mat.gbapal.lz");
-const u8 gUnknown_08DB931C[] = INCBIN_U8("graphics/decorations/decor_attract_mat.4bpp.lz");
-const u8 gUnknown_08DB93E8[] = INCBIN_U8("graphics/decorations/decor_attract_mat.gbapal.lz");
+const u32 gUnknown_08DB931C[] = INCBIN_U32("graphics/decorations/decor_attract_mat.4bpp.lz");
+const u32 gUnknown_08DB93E8[] = INCBIN_U32("graphics/decorations/decor_attract_mat.gbapal.lz");
-const u8 gUnknown_08DB940C[] = INCBIN_U8("graphics/decorations/decor_fissure_mat.4bpp.lz");
-const u8 gUnknown_08DB94CC[] = INCBIN_U8("graphics/decorations/decor_fissure_mat.gbapal.lz");
+const u32 gUnknown_08DB940C[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.4bpp.lz");
+const u32 gUnknown_08DB94CC[] = INCBIN_U32("graphics/decorations/decor_fissure_mat.gbapal.lz");
-const u8 gUnknown_08DB94E8[] = INCBIN_U8("graphics/decorations/decor_spikes_mat.4bpp.lz");
-const u8 gUnknown_08DB95AC[] = INCBIN_U8("graphics/decorations/decor_spikes_mat.gbapal.lz");
+const u32 gUnknown_08DB94E8[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.4bpp.lz");
+const u32 gUnknown_08DB95AC[] = INCBIN_U32("graphics/decorations/decor_spikes_mat.gbapal.lz");
-const u8 gUnknown_08DB95D0[] = INCBIN_U8("graphics/decorations/decor_snorlax_doll.4bpp.lz");
-const u8 gUnknown_08DB96C4[] = INCBIN_U8("graphics/decorations/decor_snorlax_doll.gbapal.lz");
+const u32 gUnknown_08DB95D0[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.4bpp.lz");
+const u32 gUnknown_08DB96C4[] = INCBIN_U32("graphics/decorations/decor_snorlax_doll.gbapal.lz");
-const u8 gUnknown_08DB96EC[] = INCBIN_U8("graphics/decorations/decor_rhydon_doll.4bpp.lz");
-const u8 gUnknown_08DB97F4[] = INCBIN_U8("graphics/decorations/decor_rhydon_doll.gbapal.lz");
+const u32 gUnknown_08DB96EC[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.4bpp.lz");
+const u32 gUnknown_08DB97F4[] = INCBIN_U32("graphics/decorations/decor_rhydon_doll.gbapal.lz");
-const u8 gUnknown_08DB981C[] = INCBIN_U8("graphics/decorations/decor_lapras_doll.4bpp.lz");
-const u8 gUnknown_08DB9908[] = INCBIN_U8("graphics/decorations/decor_lapras_doll.gbapal.lz");
+const u32 gUnknown_08DB981C[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.4bpp.lz");
+const u32 gUnknown_08DB9908[] = INCBIN_U32("graphics/decorations/decor_lapras_doll.gbapal.lz");
-const u8 gUnknown_08DB9930[] = INCBIN_U8("graphics/decorations/decor_venusaur_doll.4bpp.lz");
-const u8 gUnknown_08DB9A54[] = INCBIN_U8("graphics/decorations/decor_venusaur_doll.gbapal.lz");
+const u32 gUnknown_08DB9930[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.4bpp.lz");
+const u32 gUnknown_08DB9A54[] = INCBIN_U32("graphics/decorations/decor_venusaur_doll.gbapal.lz");
-const u8 gUnknown_08DB9A7C[] = INCBIN_U8("graphics/decorations/decor_charizard_doll.4bpp.lz");
-const u8 gUnknown_08DB9B7C[] = INCBIN_U8("graphics/decorations/decor_charizard_doll.gbapal.lz");
+const u32 gUnknown_08DB9A7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.4bpp.lz");
+const u32 gUnknown_08DB9B7C[] = INCBIN_U32("graphics/decorations/decor_charizard_doll.gbapal.lz");
-const u8 gUnknown_08DB9BA4[] = INCBIN_U8("graphics/decorations/decor_blastoise_doll.4bpp.lz");
-const u8 gUnknown_08DB9CB0[] = INCBIN_U8("graphics/decorations/decor_blastoise_doll.gbapal.lz");
+const u32 gUnknown_08DB9BA4[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.4bpp.lz");
+const u32 gUnknown_08DB9CB0[] = INCBIN_U32("graphics/decorations/decor_blastoise_doll.gbapal.lz");
-const u8 gUnknown_08DB9CD8[] = INCBIN_U8("graphics/decorations/decor_wailmer_doll.4bpp.lz");
-const u8 gUnknown_08DB9DAC[] = INCBIN_U8("graphics/decorations/decor_wailmer_doll.gbapal.lz");
+const u32 gUnknown_08DB9CD8[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.4bpp.lz");
+const u32 gUnknown_08DB9DAC[] = INCBIN_U32("graphics/decorations/decor_wailmer_doll.gbapal.lz");
-const u8 gUnknown_08DB9DD4[] = INCBIN_U8("graphics/decorations/decor_regice_doll.4bpp.lz");
-const u8 gUnknown_08DB9EE4[] = INCBIN_U8("graphics/decorations/decor_regice_doll.gbapal.lz");
+const u32 gUnknown_08DB9DD4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.4bpp.lz");
+const u32 gUnknown_08DB9EE4[] = INCBIN_U32("graphics/decorations/decor_regice_doll.gbapal.lz");
-const u8 gUnknown_08DB9F08[] = INCBIN_U8("graphics/decorations/decor_regirock_doll.4bpp.lz");
-const u8 gUnknown_08DB9FFC[] = INCBIN_U8("graphics/decorations/decor_regirock_doll.gbapal.lz");
+const u32 gUnknown_08DB9F08[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.4bpp.lz");
+const u32 gUnknown_08DB9FFC[] = INCBIN_U32("graphics/decorations/decor_regirock_doll.gbapal.lz");
-const u8 gUnknown_08DBA020[] = INCBIN_U8("graphics/decorations/decor_registeel_doll.4bpp.lz");
-const u8 gUnknown_08DBA12C[] = INCBIN_U8("graphics/decorations/decor_registeel_doll.gbapal.lz");
+const u32 gUnknown_08DBA020[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.4bpp.lz");
+const u32 gUnknown_08DBA12C[] = INCBIN_U32("graphics/decorations/decor_registeel_doll.gbapal.lz");
diff --git a/src/data/graphics/interface_pokeballs.h b/src/data/graphics/interface_pokeballs.h
index db91283ae..fe9a4e5be 100644
--- a/src/data/graphics/interface_pokeballs.h
+++ b/src/data/graphics/interface_pokeballs.h
@@ -1,37 +1,37 @@
-const u8 gInterfaceGfx_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.4bpp.lz");
-const u8 gInterfacePal_PokeBall[] = INCBIN_U8("graphics/interface/ball/poke.gbapal.lz");
+const u32 gInterfaceGfx_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.4bpp.lz");
+const u32 gInterfacePal_PokeBall[] = INCBIN_U32("graphics/interface/ball/poke.gbapal.lz");
-const u8 gInterfaceGfx_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.4bpp.lz");
-const u8 gInterfacePal_GreatBall[] = INCBIN_U8("graphics/interface/ball/great.gbapal.lz");
+const u32 gInterfaceGfx_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.4bpp.lz");
+const u32 gInterfacePal_GreatBall[] = INCBIN_U32("graphics/interface/ball/great.gbapal.lz");
-const u8 gInterfaceGfx_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.4bpp.lz");
-const u8 gInterfacePal_SafariBall[] = INCBIN_U8("graphics/interface/ball/safari.gbapal.lz");
+const u32 gInterfaceGfx_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.4bpp.lz");
+const u32 gInterfacePal_SafariBall[] = INCBIN_U32("graphics/interface/ball/safari.gbapal.lz");
-const u8 gInterfaceGfx_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.4bpp.lz");
-const u8 gInterfacePal_UltraBall[] = INCBIN_U8("graphics/interface/ball/ultra.gbapal.lz");
+const u32 gInterfaceGfx_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.4bpp.lz");
+const u32 gInterfacePal_UltraBall[] = INCBIN_U32("graphics/interface/ball/ultra.gbapal.lz");
-const u8 gInterfaceGfx_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.4bpp.lz");
-const u8 gInterfacePal_MasterBall[] = INCBIN_U8("graphics/interface/ball/master.gbapal.lz");
+const u32 gInterfaceGfx_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.4bpp.lz");
+const u32 gInterfacePal_MasterBall[] = INCBIN_U32("graphics/interface/ball/master.gbapal.lz");
-const u8 gInterfaceGfx_NetBall[] = INCBIN_U8("graphics/interface/ball/net.4bpp.lz");
-const u8 gInterfacePal_NetBall[] = INCBIN_U8("graphics/interface/ball/net.gbapal.lz");
+const u32 gInterfaceGfx_NetBall[] = INCBIN_U32("graphics/interface/ball/net.4bpp.lz");
+const u32 gInterfacePal_NetBall[] = INCBIN_U32("graphics/interface/ball/net.gbapal.lz");
-const u8 gInterfaceGfx_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.4bpp.lz");
-const u8 gInterfacePal_DiveBall[] = INCBIN_U8("graphics/interface/ball/dive.gbapal.lz");
+const u32 gInterfaceGfx_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.4bpp.lz");
+const u32 gInterfacePal_DiveBall[] = INCBIN_U32("graphics/interface/ball/dive.gbapal.lz");
-const u8 gInterfaceGfx_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.4bpp.lz");
-const u8 gInterfacePal_NestBall[] = INCBIN_U8("graphics/interface/ball/nest.gbapal.lz");
+const u32 gInterfaceGfx_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.4bpp.lz");
+const u32 gInterfacePal_NestBall[] = INCBIN_U32("graphics/interface/ball/nest.gbapal.lz");
-const u8 gInterfaceGfx_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.4bpp.lz");
-const u8 gInterfacePal_RepeatBall[] = INCBIN_U8("graphics/interface/ball/repeat.gbapal.lz");
+const u32 gInterfaceGfx_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.4bpp.lz");
+const u32 gInterfacePal_RepeatBall[] = INCBIN_U32("graphics/interface/ball/repeat.gbapal.lz");
-const u8 gInterfaceGfx_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.4bpp.lz");
-const u8 gInterfacePal_TimerBall[] = INCBIN_U8("graphics/interface/ball/timer.gbapal.lz");
+const u32 gInterfaceGfx_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.4bpp.lz");
+const u32 gInterfacePal_TimerBall[] = INCBIN_U32("graphics/interface/ball/timer.gbapal.lz");
-const u8 gInterfaceGfx_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.4bpp.lz");
-const u8 gInterfacePal_LuxuryBall[] = INCBIN_U8("graphics/interface/ball/luxury.gbapal.lz");
+const u32 gInterfaceGfx_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.4bpp.lz");
+const u32 gInterfacePal_LuxuryBall[] = INCBIN_U32("graphics/interface/ball/luxury.gbapal.lz");
-const u8 gInterfaceGfx_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.4bpp.lz");
-const u8 gInterfacePal_PremierBall[] = INCBIN_U8("graphics/interface/ball/premier.gbapal.lz");
+const u32 gInterfaceGfx_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.4bpp.lz");
+const u32 gInterfacePal_PremierBall[] = INCBIN_U32("graphics/interface/ball/premier.gbapal.lz");
-const u8 gOpenPokeballGfx[] = INCBIN_U8("graphics/interface/ball_open.4bpp.lz");
+const u32 gOpenPokeballGfx[] = INCBIN_U32("graphics/interface/ball_open.4bpp.lz");
diff --git a/src/data/graphics/intro_scene.h b/src/data/graphics/intro_scene.h
index 9c049ffb2..ea67c7b0d 100644
--- a/src/data/graphics/intro_scene.h
+++ b/src/data/graphics/intro_scene.h
@@ -6,43 +6,43 @@ const u16 gIntro2TorchicPal[] = INCBIN_U16("graphics/intro/intro2_torchic.gbapal
const u16 gIntro2ManectricPal[] = INCBIN_U16("graphics/intro/intro2_manectric.gbapal");
const u16 gIntro2FlygonPal[] = INCBIN_U16("graphics/intro/intro2_flygon.gbapal");
-const u8 gIntro2VolbeatGfx[] = INCBIN_U8("graphics/intro/intro2_volbeat.4bpp.lz");
-const u8 gIntro2TorchicGfx[] = INCBIN_U8("graphics/intro/intro2_torchic.4bpp.lz");
-const u8 gIntro2ManectricGfx[] = INCBIN_U8("graphics/intro/intro2_manectric.4bpp.lz");
-const u8 gIntro2FlygonGfx[] = INCBIN_U8("graphics/intro/intro2_flygon.4bpp.lz");
-const u8 gIntro2BrendanNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_brendan_noturn.4bpp.lz");
-const u8 gIntro2MayNoTurnGfx[] = INCBIN_U8("graphics/intro/intro2_may_noturn.4bpp.lz");
+const u32 gIntro2VolbeatGfx[] = INCBIN_U32("graphics/intro/intro2_volbeat.4bpp.lz");
+const u32 gIntro2TorchicGfx[] = INCBIN_U32("graphics/intro/intro2_torchic.4bpp.lz");
+const u32 gIntro2ManectricGfx[] = INCBIN_U32("graphics/intro/intro2_manectric.4bpp.lz");
+const u32 gIntro2FlygonGfx[] = INCBIN_U32("graphics/intro/intro2_flygon.4bpp.lz");
+const u32 gIntro2BrendanNoTurnGfx[] = INCBIN_U32("graphics/intro/intro2_brendan_noturn.4bpp.lz");
+const u32 gIntro2MayNoTurnGfx[] = INCBIN_U32("graphics/intro/intro2_may_noturn.4bpp.lz");
-const u16 gIntro3GroudonGfx[] = INCBIN_U16("graphics/intro/intro3_groudon.8bpp.lz");
-const u16 gIntro3GroudonTilemap[] = INCBIN_U16("graphics/intro/intro3_groudon.bin.lz");
+const u32 gIntro3GroudonGfx[] = INCBIN_U32("graphics/intro/intro3_groudon.8bpp.lz");
+const u32 gIntro3GroudonTilemap[] = INCBIN_U32("graphics/intro/intro3_groudon.bin.lz");
-const u16 gIntro3KyogreGfx[] = INCBIN_U16("graphics/intro/intro3_kyogre.8bpp.lz");
-const u16 gIntro3KyogreTilemap[] = INCBIN_U16("graphics/intro/intro3_kyogre.bin.lz");
+const u32 gIntro3KyogreGfx[] = INCBIN_U32("graphics/intro/intro3_kyogre.8bpp.lz");
+const u32 gIntro3KyogreTilemap[] = INCBIN_U32("graphics/intro/intro3_kyogre.bin.lz");
-const u8 gIntro3LegendBgGfx[] = INCBIN_U8("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg
+const u32 gIntro3LegendBgGfx[] = INCBIN_U32("graphics/intro/legend_bg.4bpp.lz"); // groudon/kyogre/bg
-const u16 gIntro3GroudonBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg1.bin.lz");
-const u16 gIntro3KyogreBgTilemap[] = INCBIN_U16("graphics/intro/legend_bg2.bin.lz");
+const u32 gIntro3GroudonBgTilemap[] = INCBIN_U32("graphics/intro/legend_bg1.bin.lz");
+const u32 gIntro3KyogreBgTilemap[] = INCBIN_U32("graphics/intro/legend_bg2.bin.lz");
-const u8 gIntro3CloudsGfx[] = INCBIN_U8("graphics/intro/intro3_clouds.4bpp.lz");
-const u16 gIntro3Clouds1Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds1.bin.lz");
-const u16 gIntro3Clouds2Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds2.bin.lz");
-const u16 gIntro3Clouds3Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds3.bin.lz");
+const u32 gIntro3CloudsGfx[] = INCBIN_U32("graphics/intro/intro3_clouds.4bpp.lz");
+const u32 gIntro3Clouds1Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds1.bin.lz");
+const u32 gIntro3Clouds2Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds2.bin.lz");
+const u32 gIntro3Clouds3Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds3.bin.lz");
-const u8 gIntro3LightningGfx[] = INCBIN_U8("graphics/intro/intro3_lightning.4bpp.lz");
+const u32 gIntro3LightningGfx[] = INCBIN_U32("graphics/intro/intro3_lightning.4bpp.lz");
const u16 gIntro3LightningPal[] = INCBIN_U16("graphics/intro/intro3_lightning.gbapal");
-const u8 gIntro3RayquazaGfx[] = INCBIN_U8("graphics/intro/intro3_rayquaza.4bpp.lz");
-const u16 gIntro3RayquazaTilemap[] = INCBIN_U16("graphics/intro/intro3_rayquaza.bin.lz");
+const u32 gIntro3RayquazaGfx[] = INCBIN_U32("graphics/intro/intro3_rayquaza.4bpp.lz");
+const u32 gIntro3RayquazaTilemap[] = INCBIN_U32("graphics/intro/intro3_rayquaza.bin.lz");
-const u16 gUnknown_D8C374[] = INCBIN_U16("graphics/unknown/unknown_D8C374.bin.lz");
-const u16 gUnknown_D8C5C4[] = INCBIN_U16("graphics/unknown/unknown_D8C5C4.bin.lz");
+const u32 gUnknown_D8C374[] = INCBIN_U32("graphics/unknown/unknown_D8C374.bin.lz");
+const u32 gUnknown_D8C5C4[] = INCBIN_U32("graphics/unknown/unknown_D8C5C4.bin.lz");
-const u8 gIntro3Clouds2Gfx[] = INCBIN_U8("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash
-const u16 gIntro3Clouds4Tilemap[] = INCBIN_U16("graphics/intro/intro3_clouds4.bin.lz");
+const u32 gIntro3Clouds2Gfx[] = INCBIN_U32("graphics/intro/intro3_clouds2.4bpp.lz"); //clouds 2, during the rayquaza flash
+const u32 gIntro3Clouds4Tilemap[] = INCBIN_U32("graphics/intro/intro3_clouds4.bin.lz");
-const u8 gIntro2BubblesGfx[] = INCBIN_U8("graphics/intro/intro2_bubbles.4bpp.lz");
+const u32 gIntro2BubblesGfx[] = INCBIN_U32("graphics/intro/intro2_bubbles.4bpp.lz");
const u16 gIntro2BubblesPal[] = INCBIN_U16("graphics/intro/intro2_bubbles.gbapal");
-const u8 gIntro1FlygonGfx[] = INCBIN_U8("graphics/intro/intro1_flygon.4bpp.lz");
-const u8 gIntro1SparkleGfx[] = INCBIN_U8("graphics/intro/intro1_sparkle.4bpp.lz");
+const u32 gIntro1FlygonGfx[] = INCBIN_U32("graphics/intro/intro1_flygon.4bpp.lz");
+const u32 gIntro1SparkleGfx[] = INCBIN_U32("graphics/intro/intro1_sparkle.4bpp.lz");
diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h
index 299e519ca..0f91c2250 100644
--- a/src/data/graphics/items.h
+++ b/src/data/graphics/items.h
@@ -1,738 +1,738 @@
-const u8 gItemIcon_QuestionMark[] = INCBIN_U8("graphics/items/icons/question_mark.4bpp.lz");
-const u8 gItemIconPalette_QuestionMark[] = INCBIN_U8("graphics/items/icon_palettes/question_mark.gbapal.lz");
+const u32 gItemIcon_QuestionMark[] = INCBIN_U32("graphics/items/icons/question_mark.4bpp.lz");
+const u32 gItemIconPalette_QuestionMark[] = INCBIN_U32("graphics/items/icon_palettes/question_mark.gbapal.lz");
-const u8 gItemIcon_ReturnToFieldArrow[] = INCBIN_U8("graphics/items/icons/return_to_field_arrow.4bpp.lz");
-const u8 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U8("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz");
+const u32 gItemIcon_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/icons/return_to_field_arrow.4bpp.lz");
+const u32 gItemIconPalette_ReturnToFieldArrow[] = INCBIN_U32("graphics/items/icon_palettes/return_to_field_arrow.gbapal.lz");
// Pokeballs
-const u8 gItemIcon_MasterBall[] = INCBIN_U8("graphics/items/icons/master_ball.4bpp.lz");
-const u8 gItemIconPalette_MasterBall[] = INCBIN_U8("graphics/items/icon_palettes/master_ball.gbapal.lz");
+const u32 gItemIcon_MasterBall[] = INCBIN_U32("graphics/items/icons/master_ball.4bpp.lz");
+const u32 gItemIconPalette_MasterBall[] = INCBIN_U32("graphics/items/icon_palettes/master_ball.gbapal.lz");
-const u8 gItemIcon_UltraBall[] = INCBIN_U8("graphics/items/icons/ultra_ball.4bpp.lz");
-const u8 gItemIconPalette_UltraBall[] = INCBIN_U8("graphics/items/icon_palettes/ultra_ball.gbapal.lz");
+const u32 gItemIcon_UltraBall[] = INCBIN_U32("graphics/items/icons/ultra_ball.4bpp.lz");
+const u32 gItemIconPalette_UltraBall[] = INCBIN_U32("graphics/items/icon_palettes/ultra_ball.gbapal.lz");
-const u8 gItemIcon_GreatBall[] = INCBIN_U8("graphics/items/icons/great_ball.4bpp.lz");
-const u8 gItemIconPalette_GreatBall[] = INCBIN_U8("graphics/items/icon_palettes/great_ball.gbapal.lz");
+const u32 gItemIcon_GreatBall[] = INCBIN_U32("graphics/items/icons/great_ball.4bpp.lz");
+const u32 gItemIconPalette_GreatBall[] = INCBIN_U32("graphics/items/icon_palettes/great_ball.gbapal.lz");
-const u8 gItemIcon_PokeBall[] = INCBIN_U8("graphics/items/icons/poke_ball.4bpp.lz");
-const u8 gItemIconPalette_PokeBall[] = INCBIN_U8("graphics/items/icon_palettes/poke_ball.gbapal.lz");
+const u32 gItemIcon_PokeBall[] = INCBIN_U32("graphics/items/icons/poke_ball.4bpp.lz");
+const u32 gItemIconPalette_PokeBall[] = INCBIN_U32("graphics/items/icon_palettes/poke_ball.gbapal.lz");
-const u8 gItemIcon_SafariBall[] = INCBIN_U8("graphics/items/icons/safari_ball.4bpp.lz");
-const u8 gItemIconPalette_SafariBall[] = INCBIN_U8("graphics/items/icon_palettes/safari_ball.gbapal.lz");
+const u32 gItemIcon_SafariBall[] = INCBIN_U32("graphics/items/icons/safari_ball.4bpp.lz");
+const u32 gItemIconPalette_SafariBall[] = INCBIN_U32("graphics/items/icon_palettes/safari_ball.gbapal.lz");
-const u8 gItemIcon_NetBall[] = INCBIN_U8("graphics/items/icons/net_ball.4bpp.lz");
-const u8 gItemIconPalette_NetBall[] = INCBIN_U8("graphics/items/icon_palettes/net_ball.gbapal.lz");
+const u32 gItemIcon_NetBall[] = INCBIN_U32("graphics/items/icons/net_ball.4bpp.lz");
+const u32 gItemIconPalette_NetBall[] = INCBIN_U32("graphics/items/icon_palettes/net_ball.gbapal.lz");
-const u8 gItemIcon_DiveBall[] = INCBIN_U8("graphics/items/icons/dive_ball.4bpp.lz");
-const u8 gItemIconPalette_DiveBall[] = INCBIN_U8("graphics/items/icon_palettes/dive_ball.gbapal.lz");
+const u32 gItemIcon_DiveBall[] = INCBIN_U32("graphics/items/icons/dive_ball.4bpp.lz");
+const u32 gItemIconPalette_DiveBall[] = INCBIN_U32("graphics/items/icon_palettes/dive_ball.gbapal.lz");
-const u8 gItemIcon_NestBall[] = INCBIN_U8("graphics/items/icons/nest_ball.4bpp.lz");
-const u8 gItemIconPalette_NestBall[] = INCBIN_U8("graphics/items/icon_palettes/nest_ball.gbapal.lz");
+const u32 gItemIcon_NestBall[] = INCBIN_U32("graphics/items/icons/nest_ball.4bpp.lz");
+const u32 gItemIconPalette_NestBall[] = INCBIN_U32("graphics/items/icon_palettes/nest_ball.gbapal.lz");
-const u8 gItemIcon_RepeatBall[] = INCBIN_U8("graphics/items/icons/repeat_ball.4bpp.lz");
-const u8 gItemIconPalette_RepeatBall[] = INCBIN_U8("graphics/items/icon_palettes/repeat_ball.gbapal.lz");
+const u32 gItemIcon_RepeatBall[] = INCBIN_U32("graphics/items/icons/repeat_ball.4bpp.lz");
+const u32 gItemIconPalette_RepeatBall[] = INCBIN_U32("graphics/items/icon_palettes/repeat_ball.gbapal.lz");
-const u8 gItemIcon_TimerBall[] = INCBIN_U8("graphics/items/icons/timer_ball.4bpp.lz");
+const u32 gItemIcon_TimerBall[] = INCBIN_U32("graphics/items/icons/timer_ball.4bpp.lz");
-const u8 gItemIcon_LuxuryBall[] = INCBIN_U8("graphics/items/icons/luxury_ball.4bpp.lz");
-const u8 gItemIconPalette_LuxuryBall[] = INCBIN_U8("graphics/items/icon_palettes/luxury_ball.gbapal.lz");
+const u32 gItemIcon_LuxuryBall[] = INCBIN_U32("graphics/items/icons/luxury_ball.4bpp.lz");
+const u32 gItemIconPalette_LuxuryBall[] = INCBIN_U32("graphics/items/icon_palettes/luxury_ball.gbapal.lz");
-const u8 gItemIcon_PremierBall[] = INCBIN_U8("graphics/items/icons/premier_ball.4bpp.lz");
+const u32 gItemIcon_PremierBall[] = INCBIN_U32("graphics/items/icons/premier_ball.4bpp.lz");
// Medicine
-const u8 gItemIcon_Potion[] = INCBIN_U8("graphics/items/icons/potion.4bpp.lz");
-const u8 gItemIconPalette_Potion[] = INCBIN_U8("graphics/items/icon_palettes/potion.gbapal.lz");
+const u32 gItemIcon_Potion[] = INCBIN_U32("graphics/items/icons/potion.4bpp.lz");
+const u32 gItemIconPalette_Potion[] = INCBIN_U32("graphics/items/icon_palettes/potion.gbapal.lz");
-const u8 gItemIcon_Antidote[] = INCBIN_U8("graphics/items/icons/antidote.4bpp.lz");
-const u8 gItemIconPalette_Antidote[] = INCBIN_U8("graphics/items/icon_palettes/antidote.gbapal.lz");
+const u32 gItemIcon_Antidote[] = INCBIN_U32("graphics/items/icons/antidote.4bpp.lz");
+const u32 gItemIconPalette_Antidote[] = INCBIN_U32("graphics/items/icon_palettes/antidote.gbapal.lz");
-const u8 gItemIconPalette_BurnHeal[] = INCBIN_U8("graphics/items/icon_palettes/burn_heal.gbapal.lz");
-const u8 gItemIconPalette_IceHeal[] = INCBIN_U8("graphics/items/icon_palettes/ice_heal.gbapal.lz");
-const u8 gItemIcon_StatusHeal[] = INCBIN_U8("graphics/items/icons/status_heal.4bpp.lz");
-const u8 gItemIconPalette_Awakening[] = INCBIN_U8("graphics/items/icon_palettes/awakening.gbapal.lz");
-const u8 gItemIconPalette_ParalyzeHeal[] = INCBIN_U8("graphics/items/icon_palettes/paralyze_heal.gbapal.lz");
+const u32 gItemIconPalette_BurnHeal[] = INCBIN_U32("graphics/items/icon_palettes/burn_heal.gbapal.lz");
+const u32 gItemIconPalette_IceHeal[] = INCBIN_U32("graphics/items/icon_palettes/ice_heal.gbapal.lz");
+const u32 gItemIcon_StatusHeal[] = INCBIN_U32("graphics/items/icons/status_heal.4bpp.lz");
+const u32 gItemIconPalette_Awakening[] = INCBIN_U32("graphics/items/icon_palettes/awakening.gbapal.lz");
+const u32 gItemIconPalette_ParalyzeHeal[] = INCBIN_U32("graphics/items/icon_palettes/paralyze_heal.gbapal.lz");
-const u8 gItemIcon_LargePotion[] = INCBIN_U8("graphics/items/icons/large_potion.4bpp.lz");
-const u8 gItemIconPalette_FullRestore[] = INCBIN_U8("graphics/items/icon_palettes/full_restore.gbapal.lz");
-const u8 gItemIconPalette_MaxPotion[] = INCBIN_U8("graphics/items/icon_palettes/max_potion.gbapal.lz");
+const u32 gItemIcon_LargePotion[] = INCBIN_U32("graphics/items/icons/large_potion.4bpp.lz");
+const u32 gItemIconPalette_FullRestore[] = INCBIN_U32("graphics/items/icon_palettes/full_restore.gbapal.lz");
+const u32 gItemIconPalette_MaxPotion[] = INCBIN_U32("graphics/items/icon_palettes/max_potion.gbapal.lz");
-const u8 gItemIconPalette_HyperPotion[] = INCBIN_U8("graphics/items/icon_palettes/hyper_potion.gbapal.lz");
+const u32 gItemIconPalette_HyperPotion[] = INCBIN_U32("graphics/items/icon_palettes/hyper_potion.gbapal.lz");
-const u8 gItemIconPalette_SuperPotion[] = INCBIN_U8("graphics/items/icon_palettes/super_potion.gbapal.lz");
+const u32 gItemIconPalette_SuperPotion[] = INCBIN_U32("graphics/items/icon_palettes/super_potion.gbapal.lz");
-const u8 gItemIcon_FullHeal[] = INCBIN_U8("graphics/items/icons/full_heal.4bpp.lz");
-const u8 gItemIconPalette_FullHeal[] = INCBIN_U8("graphics/items/icon_palettes/full_heal.gbapal.lz");
+const u32 gItemIcon_FullHeal[] = INCBIN_U32("graphics/items/icons/full_heal.4bpp.lz");
+const u32 gItemIconPalette_FullHeal[] = INCBIN_U32("graphics/items/icon_palettes/full_heal.gbapal.lz");
-const u8 gItemIcon_Revive[] = INCBIN_U8("graphics/items/icons/revive.4bpp.lz");
+const u32 gItemIcon_Revive[] = INCBIN_U32("graphics/items/icons/revive.4bpp.lz");
-const u8 gItemIcon_MaxRevive[] = INCBIN_U8("graphics/items/icons/max_revive.4bpp.lz");
+const u32 gItemIcon_MaxRevive[] = INCBIN_U32("graphics/items/icons/max_revive.4bpp.lz");
-const u8 gItemIconPalette_Revive[] = INCBIN_U8("graphics/items/icon_palettes/revive.gbapal.lz");
+const u32 gItemIconPalette_Revive[] = INCBIN_U32("graphics/items/icon_palettes/revive.gbapal.lz");
-const u8 gItemIcon_FreshWater[] = INCBIN_U8("graphics/items/icons/fresh_water.4bpp.lz");
-const u8 gItemIconPalette_FreshWater[] = INCBIN_U8("graphics/items/icon_palettes/fresh_water.gbapal.lz");
+const u32 gItemIcon_FreshWater[] = INCBIN_U32("graphics/items/icons/fresh_water.4bpp.lz");
+const u32 gItemIconPalette_FreshWater[] = INCBIN_U32("graphics/items/icon_palettes/fresh_water.gbapal.lz");
-const u8 gItemIcon_SodaPop[] = INCBIN_U8("graphics/items/icons/soda_pop.4bpp.lz");
-const u8 gItemIconPalette_SodaPop[] = INCBIN_U8("graphics/items/icon_palettes/soda_pop.gbapal.lz");
+const u32 gItemIcon_SodaPop[] = INCBIN_U32("graphics/items/icons/soda_pop.4bpp.lz");
+const u32 gItemIconPalette_SodaPop[] = INCBIN_U32("graphics/items/icon_palettes/soda_pop.gbapal.lz");
-const u8 gItemIcon_Lemonade[] = INCBIN_U8("graphics/items/icons/lemonade.4bpp.lz");
-const u8 gItemIconPalette_Lemonade[] = INCBIN_U8("graphics/items/icon_palettes/lemonade.gbapal.lz");
+const u32 gItemIcon_Lemonade[] = INCBIN_U32("graphics/items/icons/lemonade.4bpp.lz");
+const u32 gItemIconPalette_Lemonade[] = INCBIN_U32("graphics/items/icon_palettes/lemonade.gbapal.lz");
-const u8 gItemIcon_MoomooMilk[] = INCBIN_U8("graphics/items/icons/moomoo_milk.4bpp.lz");
-const u8 gItemIconPalette_MoomooMilk[] = INCBIN_U8("graphics/items/icon_palettes/moomoo_milk.gbapal.lz");
+const u32 gItemIcon_MoomooMilk[] = INCBIN_U32("graphics/items/icons/moomoo_milk.4bpp.lz");
+const u32 gItemIconPalette_MoomooMilk[] = INCBIN_U32("graphics/items/icon_palettes/moomoo_milk.gbapal.lz");
-const u8 gItemIcon_Powder[] = INCBIN_U8("graphics/items/icons/powder.4bpp.lz");
-const u8 gItemIconPalette_EnergyPowder[] = INCBIN_U8("graphics/items/icon_palettes/energy_powder.gbapal.lz");
+const u32 gItemIcon_Powder[] = INCBIN_U32("graphics/items/icons/powder.4bpp.lz");
+const u32 gItemIconPalette_EnergyPowder[] = INCBIN_U32("graphics/items/icon_palettes/energy_powder.gbapal.lz");
-const u8 gItemIcon_EnergyRoot[] = INCBIN_U8("graphics/items/icons/energy_root.4bpp.lz");
-const u8 gItemIconPalette_EnergyRoot[] = INCBIN_U8("graphics/items/icon_palettes/energy_root.gbapal.lz");
+const u32 gItemIcon_EnergyRoot[] = INCBIN_U32("graphics/items/icons/energy_root.4bpp.lz");
+const u32 gItemIconPalette_EnergyRoot[] = INCBIN_U32("graphics/items/icon_palettes/energy_root.gbapal.lz");
-const u8 gItemIconPalette_HealPowder[] = INCBIN_U8("graphics/items/icon_palettes/heal_powder.gbapal.lz");
+const u32 gItemIconPalette_HealPowder[] = INCBIN_U32("graphics/items/icon_palettes/heal_powder.gbapal.lz");
-const u8 gItemIcon_RevivalHerb[] = INCBIN_U8("graphics/items/icons/revival_herb.4bpp.lz");
-const u8 gItemIconPalette_RevivalHerb[] = INCBIN_U8("graphics/items/icon_palettes/revival_herb.gbapal.lz");
+const u32 gItemIcon_RevivalHerb[] = INCBIN_U32("graphics/items/icons/revival_herb.4bpp.lz");
+const u32 gItemIconPalette_RevivalHerb[] = INCBIN_U32("graphics/items/icon_palettes/revival_herb.gbapal.lz");
-const u8 gItemIcon_Ether[] = INCBIN_U8("graphics/items/icons/ether.4bpp.lz");
-const u8 gItemIconPalette_Ether[] = INCBIN_U8("graphics/items/icon_palettes/ether.gbapal.lz");
-const u8 gItemIconPalette_MaxEther[] = INCBIN_U8("graphics/items/icon_palettes/max_ether.gbapal.lz");
-const u8 gItemIconPalette_Elixir[] = INCBIN_U8("graphics/items/icon_palettes/elixir.gbapal.lz");
-const u8 gItemIconPalette_MaxElixir[] = INCBIN_U8("graphics/items/icon_palettes/max_elixir.gbapal.lz");
+const u32 gItemIcon_Ether[] = INCBIN_U32("graphics/items/icons/ether.4bpp.lz");
+const u32 gItemIconPalette_Ether[] = INCBIN_U32("graphics/items/icon_palettes/ether.gbapal.lz");
+const u32 gItemIconPalette_MaxEther[] = INCBIN_U32("graphics/items/icon_palettes/max_ether.gbapal.lz");
+const u32 gItemIconPalette_Elixir[] = INCBIN_U32("graphics/items/icon_palettes/elixir.gbapal.lz");
+const u32 gItemIconPalette_MaxElixir[] = INCBIN_U32("graphics/items/icon_palettes/max_elixir.gbapal.lz");
-const u8 gItemIcon_LavaCookie[] = INCBIN_U8("graphics/items/icons/lava_cookie.4bpp.lz");
-const u8 gItemIconPalette_LavaCookieAndLetter[] = INCBIN_U8("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz");
+const u32 gItemIcon_LavaCookie[] = INCBIN_U32("graphics/items/icons/lava_cookie.4bpp.lz");
+const u32 gItemIconPalette_LavaCookieAndLetter[] = INCBIN_U32("graphics/items/icon_palettes/lava_cookie_and_letter.gbapal.lz");
-const u8 gItemIcon_Flute[] = INCBIN_U8("graphics/items/icons/flute.4bpp.lz");
-const u8 gItemIconPalette_BlueFlute[] = INCBIN_U8("graphics/items/icon_palettes/blue_flute.gbapal.lz");
-const u8 gItemIconPalette_YellowFlute[] = INCBIN_U8("graphics/items/icon_palettes/yellow_flute.gbapal.lz");
-const u8 gItemIconPalette_RedFlute[] = INCBIN_U8("graphics/items/icon_palettes/red_flute.gbapal.lz");
-const u8 gItemIconPalette_BlackFlute[] = INCBIN_U8("graphics/items/icon_palettes/black_flute.gbapal.lz");
-const u8 gItemIconPalette_WhiteFlute[] = INCBIN_U8("graphics/items/icon_palettes/white_flute.gbapal.lz");
+const u32 gItemIcon_Flute[] = INCBIN_U32("graphics/items/icons/flute.4bpp.lz");
+const u32 gItemIconPalette_BlueFlute[] = INCBIN_U32("graphics/items/icon_palettes/blue_flute.gbapal.lz");
+const u32 gItemIconPalette_YellowFlute[] = INCBIN_U32("graphics/items/icon_palettes/yellow_flute.gbapal.lz");
+const u32 gItemIconPalette_RedFlute[] = INCBIN_U32("graphics/items/icon_palettes/red_flute.gbapal.lz");
+const u32 gItemIconPalette_BlackFlute[] = INCBIN_U32("graphics/items/icon_palettes/black_flute.gbapal.lz");
+const u32 gItemIconPalette_WhiteFlute[] = INCBIN_U32("graphics/items/icon_palettes/white_flute.gbapal.lz");
-const u8 gItemIcon_BerryJuice[] = INCBIN_U8("graphics/items/icons/berry_juice.4bpp.lz");
-const u8 gItemIconPalette_BerryJuice[] = INCBIN_U8("graphics/items/icon_palettes/berry_juice.gbapal.lz");
+const u32 gItemIcon_BerryJuice[] = INCBIN_U32("graphics/items/icons/berry_juice.4bpp.lz");
+const u32 gItemIconPalette_BerryJuice[] = INCBIN_U32("graphics/items/icon_palettes/berry_juice.gbapal.lz");
-const u8 gItemIcon_SacredAsh[] = INCBIN_U8("graphics/items/icons/sacred_ash.4bpp.lz");
-const u8 gItemIconPalette_SacredAsh[] = INCBIN_U8("graphics/items/icon_palettes/sacred_ash.gbapal.lz");
+const u32 gItemIcon_SacredAsh[] = INCBIN_U32("graphics/items/icons/sacred_ash.4bpp.lz");
+const u32 gItemIconPalette_SacredAsh[] = INCBIN_U32("graphics/items/icon_palettes/sacred_ash.gbapal.lz");
// Collectibles
-const u8 gItemIconPalette_ShoalSalt[] = INCBIN_U8("graphics/items/icon_palettes/shoal_salt.gbapal.lz");
+const u32 gItemIconPalette_ShoalSalt[] = INCBIN_U32("graphics/items/icon_palettes/shoal_salt.gbapal.lz");
-const u8 gItemIcon_ShoalShell[] = INCBIN_U8("graphics/items/icons/shoal_shell.4bpp.lz");
-const u8 gItemIconPalette_Shell[] = INCBIN_U8("graphics/items/icon_palettes/shell.gbapal.lz");
+const u32 gItemIcon_ShoalShell[] = INCBIN_U32("graphics/items/icons/shoal_shell.4bpp.lz");
+const u32 gItemIconPalette_Shell[] = INCBIN_U32("graphics/items/icon_palettes/shell.gbapal.lz");
-const u8 gItemIcon_Shard[] = INCBIN_U8("graphics/items/icons/shard.4bpp.lz");
-const u8 gItemIconPalette_RedShard[] = INCBIN_U8("graphics/items/icon_palettes/red_shard.gbapal.lz");
-const u8 gItemIconPalette_BlueShard[] = INCBIN_U8("graphics/items/icon_palettes/blue_shard.gbapal.lz");
-const u8 gItemIconPalette_YellowShard[] = INCBIN_U8("graphics/items/icon_palettes/yellow_shard.gbapal.lz");
-const u8 gItemIconPalette_GreenShard[] = INCBIN_U8("graphics/items/icon_palettes/green_shard.gbapal.lz");
+const u32 gItemIcon_Shard[] = INCBIN_U32("graphics/items/icons/shard.4bpp.lz");
+const u32 gItemIconPalette_RedShard[] = INCBIN_U32("graphics/items/icon_palettes/red_shard.gbapal.lz");
+const u32 gItemIconPalette_BlueShard[] = INCBIN_U32("graphics/items/icon_palettes/blue_shard.gbapal.lz");
+const u32 gItemIconPalette_YellowShard[] = INCBIN_U32("graphics/items/icon_palettes/yellow_shard.gbapal.lz");
+const u32 gItemIconPalette_GreenShard[] = INCBIN_U32("graphics/items/icon_palettes/green_shard.gbapal.lz");
// Vitamins
-const u8 gItemIcon_HPUp[] = INCBIN_U8("graphics/items/icons/hp_up.4bpp.lz");
-const u8 gItemIconPalette_HPUp[] = INCBIN_U8("graphics/items/icon_palettes/hp_up.gbapal.lz");
+const u32 gItemIcon_HPUp[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz");
+const u32 gItemIconPalette_HPUp[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz");
-const u8 gItemIcon_Vitamin[] = INCBIN_U8("graphics/items/icons/vitamin.4bpp.lz");
-const u8 gItemIconPalette_Protein[] = INCBIN_U8("graphics/items/icon_palettes/protein.gbapal.lz");
-const u8 gItemIconPalette_Iron[] = INCBIN_U8("graphics/items/icon_palettes/iron.gbapal.lz");
-const u8 gItemIconPalette_Carbos[] = INCBIN_U8("graphics/items/icon_palettes/carbos.gbapal.lz");
-const u8 gItemIconPalette_Calcium[] = INCBIN_U8("graphics/items/icon_palettes/calcium.gbapal.lz");
+const u32 gItemIcon_Vitamin[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz");
+const u32 gItemIconPalette_Protein[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz");
+const u32 gItemIconPalette_Iron[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz");
+const u32 gItemIconPalette_Carbos[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz");
+const u32 gItemIconPalette_Calcium[] = INCBIN_U32("graphics/items/icon_palettes/calcium.gbapal.lz");
-const u8 gItemIcon_RareCandy[] = INCBIN_U8("graphics/items/icons/rare_candy.4bpp.lz");
-const u8 gItemIconPalette_RareCandy[] = INCBIN_U8("graphics/items/icon_palettes/rare_candy.gbapal.lz");
+const u32 gItemIcon_RareCandy[] = INCBIN_U32("graphics/items/icons/rare_candy.4bpp.lz");
+const u32 gItemIconPalette_RareCandy[] = INCBIN_U32("graphics/items/icon_palettes/rare_candy.gbapal.lz");
-const u8 gItemIcon_PPUp[] = INCBIN_U8("graphics/items/icons/pp_up.4bpp.lz");
-const u8 gItemIconPalette_PPUp[] = INCBIN_U8("graphics/items/icon_palettes/pp_up.gbapal.lz");
+const u32 gItemIcon_PPUp[] = INCBIN_U32("graphics/items/icons/pp_up.4bpp.lz");
+const u32 gItemIconPalette_PPUp[] = INCBIN_U32("graphics/items/icon_palettes/pp_up.gbapal.lz");
-const u8 gItemIconPalette_Zinc[] = INCBIN_U8("graphics/items/icon_palettes/zinc.gbapal.lz");
+const u32 gItemIconPalette_Zinc[] = INCBIN_U32("graphics/items/icon_palettes/zinc.gbapal.lz");
-const u8 gItemIcon_PPMax[] = INCBIN_U8("graphics/items/icons/pp_max.4bpp.lz");
-const u8 gItemIconPalette_PPMax[] = INCBIN_U8("graphics/items/icon_palettes/pp_max.gbapal.lz");
+const u32 gItemIcon_PPMax[] = INCBIN_U32("graphics/items/icons/pp_max.4bpp.lz");
+const u32 gItemIconPalette_PPMax[] = INCBIN_U32("graphics/items/icon_palettes/pp_max.gbapal.lz");
// Battle items
-const u8 gItemIconPalette_GuardSpec[] = INCBIN_U8("graphics/items/icon_palettes/guard_spec.gbapal.lz");
-const u8 gItemIconPalette_DireHit[] = INCBIN_U8("graphics/items/icon_palettes/dire_hit.gbapal.lz");
-const u8 gItemIconPalette_XAttack[] = INCBIN_U8("graphics/items/icon_palettes/x_attack.gbapal.lz");
-const u8 gItemIcon_BattleStatItem[] = INCBIN_U8("graphics/items/icons/battle_stat_item.4bpp.lz");
-const u8 gItemIconPalette_XDefend[] = INCBIN_U8("graphics/items/icon_palettes/x_defend.gbapal.lz");
-const u8 gItemIconPalette_XSpeed[] = INCBIN_U8("graphics/items/icon_palettes/x_speed.gbapal.lz");
-const u8 gItemIconPalette_XAccuracy[] = INCBIN_U8("graphics/items/icon_palettes/x_accuracy.gbapal.lz");
-const u8 gItemIconPalette_XSpecial[] = INCBIN_U8("graphics/items/icon_palettes/x_special.gbapal.lz");
+const u32 gItemIconPalette_GuardSpec[] = INCBIN_U32("graphics/items/icon_palettes/guard_spec.gbapal.lz");
+const u32 gItemIconPalette_DireHit[] = INCBIN_U32("graphics/items/icon_palettes/dire_hit.gbapal.lz");
+const u32 gItemIconPalette_XAttack[] = INCBIN_U32("graphics/items/icon_palettes/x_attack.gbapal.lz");
+const u32 gItemIcon_BattleStatItem[] = INCBIN_U32("graphics/items/icons/battle_stat_item.4bpp.lz");
+const u32 gItemIconPalette_XDefend[] = INCBIN_U32("graphics/items/icon_palettes/x_defend.gbapal.lz");
+const u32 gItemIconPalette_XSpeed[] = INCBIN_U32("graphics/items/icon_palettes/x_speed.gbapal.lz");
+const u32 gItemIconPalette_XAccuracy[] = INCBIN_U32("graphics/items/icon_palettes/x_accuracy.gbapal.lz");
+const u32 gItemIconPalette_XSpecial[] = INCBIN_U32("graphics/items/icon_palettes/x_special.gbapal.lz");
-const u8 gItemIcon_PokeDoll[] = INCBIN_U8("graphics/items/icons/poke_doll.4bpp.lz");
-const u8 gItemIconPalette_PokeDoll[] = INCBIN_U8("graphics/items/icon_palettes/poke_doll.gbapal.lz");
+const u32 gItemIcon_PokeDoll[] = INCBIN_U32("graphics/items/icons/poke_doll.4bpp.lz");
+const u32 gItemIconPalette_PokeDoll[] = INCBIN_U32("graphics/items/icon_palettes/poke_doll.gbapal.lz");
-const u8 gItemIcon_FluffyTail[] = INCBIN_U8("graphics/items/icons/fluffy_tail.4bpp.lz");
-const u8 gItemIconPalette_FluffyTail[] = INCBIN_U8("graphics/items/icon_palettes/fluffy_tail.gbapal.lz");
+const u32 gItemIcon_FluffyTail[] = INCBIN_U32("graphics/items/icons/fluffy_tail.4bpp.lz");
+const u32 gItemIconPalette_FluffyTail[] = INCBIN_U32("graphics/items/icon_palettes/fluffy_tail.gbapal.lz");
// Field items
-const u8 gItemIcon_Repel[] = INCBIN_U8("graphics/items/icons/repel.4bpp.lz");
-const u8 gItemIconPalette_SuperRepel[] = INCBIN_U8("graphics/items/icon_palettes/super_repel.gbapal.lz");
-const u8 gItemIconPalette_MaxRepel[] = INCBIN_U8("graphics/items/icon_palettes/max_repel.gbapal.lz");
+const u32 gItemIcon_Repel[] = INCBIN_U32("graphics/items/icons/repel.4bpp.lz");
+const u32 gItemIconPalette_SuperRepel[] = INCBIN_U32("graphics/items/icon_palettes/super_repel.gbapal.lz");
+const u32 gItemIconPalette_MaxRepel[] = INCBIN_U32("graphics/items/icon_palettes/max_repel.gbapal.lz");
-const u8 gItemIcon_EscapeRope[] = INCBIN_U8("graphics/items/icons/escape_rope.4bpp.lz");
+const u32 gItemIcon_EscapeRope[] = INCBIN_U32("graphics/items/icons/escape_rope.4bpp.lz");
-const u8 gItemIconPalette_EscapeRope[] = INCBIN_U8("graphics/items/icon_palettes/escape_rope.gbapal.lz");
+const u32 gItemIconPalette_EscapeRope[] = INCBIN_U32("graphics/items/icon_palettes/escape_rope.gbapal.lz");
-const u8 gItemIconPalette_Repel[] = INCBIN_U8("graphics/items/icon_palettes/repel.gbapal.lz");
+const u32 gItemIconPalette_Repel[] = INCBIN_U32("graphics/items/icon_palettes/repel.gbapal.lz");
// Evolution stones
-const u8 gItemIcon_SunStone[] = INCBIN_U8("graphics/items/icons/sun_stone.4bpp.lz");
-const u8 gItemIconPalette_SunStone[] = INCBIN_U8("graphics/items/icon_palettes/sun_stone.gbapal.lz");
+const u32 gItemIcon_SunStone[] = INCBIN_U32("graphics/items/icons/sun_stone.4bpp.lz");
+const u32 gItemIconPalette_SunStone[] = INCBIN_U32("graphics/items/icon_palettes/sun_stone.gbapal.lz");
-const u8 gItemIcon_MoonStone[] = INCBIN_U8("graphics/items/icons/moon_stone.4bpp.lz");
-const u8 gItemIconPalette_MoonStone[] = INCBIN_U8("graphics/items/icon_palettes/moon_stone.gbapal.lz");
+const u32 gItemIcon_MoonStone[] = INCBIN_U32("graphics/items/icons/moon_stone.4bpp.lz");
+const u32 gItemIconPalette_MoonStone[] = INCBIN_U32("graphics/items/icon_palettes/moon_stone.gbapal.lz");
-const u8 gItemIcon_FireStone[] = INCBIN_U8("graphics/items/icons/fire_stone.4bpp.lz");
-const u8 gItemIconPalette_FireStone[] = INCBIN_U8("graphics/items/icon_palettes/fire_stone.gbapal.lz");
+const u32 gItemIcon_FireStone[] = INCBIN_U32("graphics/items/icons/fire_stone.4bpp.lz");
+const u32 gItemIconPalette_FireStone[] = INCBIN_U32("graphics/items/icon_palettes/fire_stone.gbapal.lz");
-const u8 gItemIcon_ThunderStone[] = INCBIN_U8("graphics/items/icons/thunder_stone.4bpp.lz");
-const u8 gItemIconPalette_ThunderStone[] = INCBIN_U8("graphics/items/icon_palettes/thunder_stone.gbapal.lz");
+const u32 gItemIcon_ThunderStone[] = INCBIN_U32("graphics/items/icons/thunder_stone.4bpp.lz");
+const u32 gItemIconPalette_ThunderStone[] = INCBIN_U32("graphics/items/icon_palettes/thunder_stone.gbapal.lz");
-const u8 gItemIcon_WaterStone[] = INCBIN_U8("graphics/items/icons/water_stone.4bpp.lz");
-const u8 gItemIconPalette_WaterStone[] = INCBIN_U8("graphics/items/icon_palettes/water_stone.gbapal.lz");
+const u32 gItemIcon_WaterStone[] = INCBIN_U32("graphics/items/icons/water_stone.4bpp.lz");
+const u32 gItemIconPalette_WaterStone[] = INCBIN_U32("graphics/items/icon_palettes/water_stone.gbapal.lz");
-const u8 gItemIcon_LeafStone[] = INCBIN_U8("graphics/items/icons/leaf_stone.4bpp.lz");
-const u8 gItemIconPalette_LeafStone[] = INCBIN_U8("graphics/items/icon_palettes/leaf_stone.gbapal.lz");
+const u32 gItemIcon_LeafStone[] = INCBIN_U32("graphics/items/icons/leaf_stone.4bpp.lz");
+const u32 gItemIconPalette_LeafStone[] = INCBIN_U32("graphics/items/icon_palettes/leaf_stone.gbapal.lz");
// Valuables
-const u8 gItemIcon_TinyMushroom[] = INCBIN_U8("graphics/items/icons/tiny_mushroom.4bpp.lz");
-const u8 gItemIcon_BigMushroom[] = INCBIN_U8("graphics/items/icons/big_mushroom.4bpp.lz");
-const u8 gItemIconPalette_Mushroom[] = INCBIN_U8("graphics/items/icon_palettes/mushroom.gbapal.lz");
+const u32 gItemIcon_TinyMushroom[] = INCBIN_U32("graphics/items/icons/tiny_mushroom.4bpp.lz");
+const u32 gItemIcon_BigMushroom[] = INCBIN_U32("graphics/items/icons/big_mushroom.4bpp.lz");
+const u32 gItemIconPalette_Mushroom[] = INCBIN_U32("graphics/items/icon_palettes/mushroom.gbapal.lz");
-const u8 gItemIcon_Pearl[] = INCBIN_U8("graphics/items/icons/pearl.4bpp.lz");
-const u8 gItemIconPalette_Pearl[] = INCBIN_U8("graphics/items/icon_palettes/pearl.gbapal.lz");
-const u8 gItemIcon_BigPearl[] = INCBIN_U8("graphics/items/icons/big_pearl.4bpp.lz");
+const u32 gItemIcon_Pearl[] = INCBIN_U32("graphics/items/icons/pearl.4bpp.lz");
+const u32 gItemIconPalette_Pearl[] = INCBIN_U32("graphics/items/icon_palettes/pearl.gbapal.lz");
+const u32 gItemIcon_BigPearl[] = INCBIN_U32("graphics/items/icons/big_pearl.4bpp.lz");
-const u8 gItemIcon_Stardust[] = INCBIN_U8("graphics/items/icons/stardust.4bpp.lz");
-const u8 gItemIconPalette_Star[] = INCBIN_U8("graphics/items/icon_palettes/star.gbapal.lz");
-const u8 gItemIcon_StarPiece[] = INCBIN_U8("graphics/items/icons/star_piece.4bpp.lz");
+const u32 gItemIcon_Stardust[] = INCBIN_U32("graphics/items/icons/stardust.4bpp.lz");
+const u32 gItemIconPalette_Star[] = INCBIN_U32("graphics/items/icon_palettes/star.gbapal.lz");
+const u32 gItemIcon_StarPiece[] = INCBIN_U32("graphics/items/icons/star_piece.4bpp.lz");
-const u8 gItemIcon_Nugget[] = INCBIN_U8("graphics/items/icons/nugget.4bpp.lz");
-const u8 gItemIconPalette_Nugget[] = INCBIN_U8("graphics/items/icon_palettes/nugget.gbapal.lz");
+const u32 gItemIcon_Nugget[] = INCBIN_U32("graphics/items/icons/nugget.4bpp.lz");
+const u32 gItemIconPalette_Nugget[] = INCBIN_U32("graphics/items/icon_palettes/nugget.gbapal.lz");
-const u8 gItemIcon_HeartScale[] = INCBIN_U8("graphics/items/icons/heart_scale.4bpp.lz");
-const u8 gItemIconPalette_HeartScale[] = INCBIN_U8("graphics/items/icon_palettes/heart_scale.gbapal.lz");
+const u32 gItemIcon_HeartScale[] = INCBIN_U32("graphics/items/icons/heart_scale.4bpp.lz");
+const u32 gItemIconPalette_HeartScale[] = INCBIN_U32("graphics/items/icon_palettes/heart_scale.gbapal.lz");
// Mail
-const u8 gItemIcon_OrangeMail[] = INCBIN_U8("graphics/items/icons/orange_mail.4bpp.lz");
-const u8 gItemIconPalette_OrangeMail[] = INCBIN_U8("graphics/items/icon_palettes/orange_mail.gbapal.lz");
+const u32 gItemIcon_OrangeMail[] = INCBIN_U32("graphics/items/icons/orange_mail.4bpp.lz");
+const u32 gItemIconPalette_OrangeMail[] = INCBIN_U32("graphics/items/icon_palettes/orange_mail.gbapal.lz");
-const u8 gItemIcon_HarborMail[] = INCBIN_U8("graphics/items/icons/harbor_mail.4bpp.lz");
-const u8 gItemIconPalette_HarborMail[] = INCBIN_U8("graphics/items/icon_palettes/harbor_mail.gbapal.lz");
+const u32 gItemIcon_HarborMail[] = INCBIN_U32("graphics/items/icons/harbor_mail.4bpp.lz");
+const u32 gItemIconPalette_HarborMail[] = INCBIN_U32("graphics/items/icon_palettes/harbor_mail.gbapal.lz");
-const u8 gItemIcon_GlitterMail[] = INCBIN_U8("graphics/items/icons/glitter_mail.4bpp.lz");
-const u8 gItemIconPalette_GlitterMail[] = INCBIN_U8("graphics/items/icon_palettes/glitter_mail.gbapal.lz");
+const u32 gItemIcon_GlitterMail[] = INCBIN_U32("graphics/items/icons/glitter_mail.4bpp.lz");
+const u32 gItemIconPalette_GlitterMail[] = INCBIN_U32("graphics/items/icon_palettes/glitter_mail.gbapal.lz");
-const u8 gItemIcon_MechMail[] = INCBIN_U8("graphics/items/icons/mech_mail.4bpp.lz");
-const u8 gItemIconPalette_MechMail[] = INCBIN_U8("graphics/items/icon_palettes/mech_mail.gbapal.lz");
+const u32 gItemIcon_MechMail[] = INCBIN_U32("graphics/items/icons/mech_mail.4bpp.lz");
+const u32 gItemIconPalette_MechMail[] = INCBIN_U32("graphics/items/icon_palettes/mech_mail.gbapal.lz");
-const u8 gItemIcon_WoodMail[] = INCBIN_U8("graphics/items/icons/wood_mail.4bpp.lz");
-const u8 gItemIconPalette_WoodMail[] = INCBIN_U8("graphics/items/icon_palettes/wood_mail.gbapal.lz");
+const u32 gItemIcon_WoodMail[] = INCBIN_U32("graphics/items/icons/wood_mail.4bpp.lz");
+const u32 gItemIconPalette_WoodMail[] = INCBIN_U32("graphics/items/icon_palettes/wood_mail.gbapal.lz");
-const u8 gItemIcon_WaveMail[] = INCBIN_U8("graphics/items/icons/wave_mail.4bpp.lz");
-const u8 gItemIconPalette_WaveMail[] = INCBIN_U8("graphics/items/icon_palettes/wave_mail.gbapal.lz");
+const u32 gItemIcon_WaveMail[] = INCBIN_U32("graphics/items/icons/wave_mail.4bpp.lz");
+const u32 gItemIconPalette_WaveMail[] = INCBIN_U32("graphics/items/icon_palettes/wave_mail.gbapal.lz");
-const u8 gItemIcon_BeadMail[] = INCBIN_U8("graphics/items/icons/bead_mail.4bpp.lz");
-const u8 gItemIconPalette_BeadMail[] = INCBIN_U8("graphics/items/icon_palettes/bead_mail.gbapal.lz");
+const u32 gItemIcon_BeadMail[] = INCBIN_U32("graphics/items/icons/bead_mail.4bpp.lz");
+const u32 gItemIconPalette_BeadMail[] = INCBIN_U32("graphics/items/icon_palettes/bead_mail.gbapal.lz");
-const u8 gItemIcon_ShadowMail[] = INCBIN_U8("graphics/items/icons/shadow_mail.4bpp.lz");
-const u8 gItemIconPalette_ShadowMail[] = INCBIN_U8("graphics/items/icon_palettes/shadow_mail.gbapal.lz");
+const u32 gItemIcon_ShadowMail[] = INCBIN_U32("graphics/items/icons/shadow_mail.4bpp.lz");
+const u32 gItemIconPalette_ShadowMail[] = INCBIN_U32("graphics/items/icon_palettes/shadow_mail.gbapal.lz");
-const u8 gItemIcon_TropicMail[] = INCBIN_U8("graphics/items/icons/tropic_mail.4bpp.lz");
-const u8 gItemIconPalette_TropicMail[] = INCBIN_U8("graphics/items/icon_palettes/tropic_mail.gbapal.lz");
+const u32 gItemIcon_TropicMail[] = INCBIN_U32("graphics/items/icons/tropic_mail.4bpp.lz");
+const u32 gItemIconPalette_TropicMail[] = INCBIN_U32("graphics/items/icon_palettes/tropic_mail.gbapal.lz");
-const u8 gItemIcon_DreamMail[] = INCBIN_U8("graphics/items/icons/dream_mail.4bpp.lz");
-const u8 gItemIconPalette_DreamMail[] = INCBIN_U8("graphics/items/icon_palettes/dream_mail.gbapal.lz");
+const u32 gItemIcon_DreamMail[] = INCBIN_U32("graphics/items/icons/dream_mail.4bpp.lz");
+const u32 gItemIconPalette_DreamMail[] = INCBIN_U32("graphics/items/icon_palettes/dream_mail.gbapal.lz");
-const u8 gItemIcon_FabMail[] = INCBIN_U8("graphics/items/icons/fab_mail.4bpp.lz");
-const u8 gItemIconPalette_FabMail[] = INCBIN_U8("graphics/items/icon_palettes/fab_mail.gbapal.lz");
+const u32 gItemIcon_FabMail[] = INCBIN_U32("graphics/items/icons/fab_mail.4bpp.lz");
+const u32 gItemIconPalette_FabMail[] = INCBIN_U32("graphics/items/icon_palettes/fab_mail.gbapal.lz");
-const u8 gItemIcon_RetroMail[] = INCBIN_U8("graphics/items/icons/retro_mail.4bpp.lz");
-const u8 gItemIconPalette_RetroMail[] = INCBIN_U8("graphics/items/icon_palettes/retro_mail.gbapal.lz");
+const u32 gItemIcon_RetroMail[] = INCBIN_U32("graphics/items/icons/retro_mail.4bpp.lz");
+const u32 gItemIconPalette_RetroMail[] = INCBIN_U32("graphics/items/icon_palettes/retro_mail.gbapal.lz");
// Berries
-const u8 gItemIcon_CheriBerry[] = INCBIN_U8("graphics/items/icons/cheri_berry.4bpp.lz");
-const u8 gItemIconPalette_CheriBerry[] = INCBIN_U8("graphics/items/icon_palettes/cheri_berry.gbapal.lz");
+const u32 gItemIcon_CheriBerry[] = INCBIN_U32("graphics/items/icons/cheri_berry.4bpp.lz");
+const u32 gItemIconPalette_CheriBerry[] = INCBIN_U32("graphics/items/icon_palettes/cheri_berry.gbapal.lz");
-const u8 gItemIcon_ChestoBerry[] = INCBIN_U8("graphics/items/icons/chesto_berry.4bpp.lz");
-const u8 gItemIconPalette_ChestoBerry[] = INCBIN_U8("graphics/items/icon_palettes/chesto_berry.gbapal.lz");
+const u32 gItemIcon_ChestoBerry[] = INCBIN_U32("graphics/items/icons/chesto_berry.4bpp.lz");
+const u32 gItemIconPalette_ChestoBerry[] = INCBIN_U32("graphics/items/icon_palettes/chesto_berry.gbapal.lz");
-const u8 gItemIcon_PechaBerry[] = INCBIN_U8("graphics/items/icons/pecha_berry.4bpp.lz");
-const u8 gItemIconPalette_PechaBerry[] = INCBIN_U8("graphics/items/icon_palettes/pecha_berry.gbapal.lz");
+const u32 gItemIcon_PechaBerry[] = INCBIN_U32("graphics/items/icons/pecha_berry.4bpp.lz");
+const u32 gItemIconPalette_PechaBerry[] = INCBIN_U32("graphics/items/icon_palettes/pecha_berry.gbapal.lz");
-const u8 gItemIcon_RawstBerry[] = INCBIN_U8("graphics/items/icons/rawst_berry.4bpp.lz");
-const u8 gItemIconPalette_RawstBerry[] = INCBIN_U8("graphics/items/icon_palettes/rawst_berry.gbapal.lz");
+const u32 gItemIcon_RawstBerry[] = INCBIN_U32("graphics/items/icons/rawst_berry.4bpp.lz");
+const u32 gItemIconPalette_RawstBerry[] = INCBIN_U32("graphics/items/icon_palettes/rawst_berry.gbapal.lz");
-const u8 gItemIcon_AspearBerry[] = INCBIN_U8("graphics/items/icons/aspear_berry.4bpp.lz");
-const u8 gItemIconPalette_AspearBerry[] = INCBIN_U8("graphics/items/icon_palettes/aspear_berry.gbapal.lz");
+const u32 gItemIcon_AspearBerry[] = INCBIN_U32("graphics/items/icons/aspear_berry.4bpp.lz");
+const u32 gItemIconPalette_AspearBerry[] = INCBIN_U32("graphics/items/icon_palettes/aspear_berry.gbapal.lz");
-const u8 gItemIcon_LeppaBerry[] = INCBIN_U8("graphics/items/icons/leppa_berry.4bpp.lz");
-const u8 gItemIconPalette_LeppaBerry[] = INCBIN_U8("graphics/items/icon_palettes/leppa_berry.gbapal.lz");
+const u32 gItemIcon_LeppaBerry[] = INCBIN_U32("graphics/items/icons/leppa_berry.4bpp.lz");
+const u32 gItemIconPalette_LeppaBerry[] = INCBIN_U32("graphics/items/icon_palettes/leppa_berry.gbapal.lz");
-const u8 gItemIcon_OranBerry[] = INCBIN_U8("graphics/items/icons/oran_berry.4bpp.lz");
-const u8 gItemIconPalette_OranBerry[] = INCBIN_U8("graphics/items/icon_palettes/oran_berry.gbapal.lz");
+const u32 gItemIcon_OranBerry[] = INCBIN_U32("graphics/items/icons/oran_berry.4bpp.lz");
+const u32 gItemIconPalette_OranBerry[] = INCBIN_U32("graphics/items/icon_palettes/oran_berry.gbapal.lz");
-const u8 gItemIcon_PersimBerry[] = INCBIN_U8("graphics/items/icons/persim_berry.4bpp.lz");
-const u8 gItemIconPalette_PersimBerry[] = INCBIN_U8("graphics/items/icon_palettes/persim_berry.gbapal.lz");
+const u32 gItemIcon_PersimBerry[] = INCBIN_U32("graphics/items/icons/persim_berry.4bpp.lz");
+const u32 gItemIconPalette_PersimBerry[] = INCBIN_U32("graphics/items/icon_palettes/persim_berry.gbapal.lz");
-const u8 gItemIcon_LumBerry[] = INCBIN_U8("graphics/items/icons/lum_berry.4bpp.lz");
-const u8 gItemIconPalette_LumBerry[] = INCBIN_U8("graphics/items/icon_palettes/lum_berry.gbapal.lz");
+const u32 gItemIcon_LumBerry[] = INCBIN_U32("graphics/items/icons/lum_berry.4bpp.lz");
+const u32 gItemIconPalette_LumBerry[] = INCBIN_U32("graphics/items/icon_palettes/lum_berry.gbapal.lz");
-const u8 gItemIcon_SitrusBerry[] = INCBIN_U8("graphics/items/icons/sitrus_berry.4bpp.lz");
-const u8 gItemIconPalette_SitrusBerry[] = INCBIN_U8("graphics/items/icon_palettes/sitrus_berry.gbapal.lz");
+const u32 gItemIcon_SitrusBerry[] = INCBIN_U32("graphics/items/icons/sitrus_berry.4bpp.lz");
+const u32 gItemIconPalette_SitrusBerry[] = INCBIN_U32("graphics/items/icon_palettes/sitrus_berry.gbapal.lz");
-const u8 gItemIcon_FigyBerry[] = INCBIN_U8("graphics/items/icons/figy_berry.4bpp.lz");
-const u8 gItemIconPalette_FigyBerry[] = INCBIN_U8("graphics/items/icon_palettes/figy_berry.gbapal.lz");
+const u32 gItemIcon_FigyBerry[] = INCBIN_U32("graphics/items/icons/figy_berry.4bpp.lz");
+const u32 gItemIconPalette_FigyBerry[] = INCBIN_U32("graphics/items/icon_palettes/figy_berry.gbapal.lz");
-const u8 gItemIcon_WikiBerry[] = INCBIN_U8("graphics/items/icons/wiki_berry.4bpp.lz");
-const u8 gItemIconPalette_WikiBerry[] = INCBIN_U8("graphics/items/icon_palettes/wiki_berry.gbapal.lz");
+const u32 gItemIcon_WikiBerry[] = INCBIN_U32("graphics/items/icons/wiki_berry.4bpp.lz");
+const u32 gItemIconPalette_WikiBerry[] = INCBIN_U32("graphics/items/icon_palettes/wiki_berry.gbapal.lz");
-const u8 gItemIcon_MagoBerry[] = INCBIN_U8("graphics/items/icons/mago_berry.4bpp.lz");
-const u8 gItemIconPalette_MagoBerry[] = INCBIN_U8("graphics/items/icon_palettes/mago_berry.gbapal.lz");
+const u32 gItemIcon_MagoBerry[] = INCBIN_U32("graphics/items/icons/mago_berry.4bpp.lz");
+const u32 gItemIconPalette_MagoBerry[] = INCBIN_U32("graphics/items/icon_palettes/mago_berry.gbapal.lz");
-const u8 gItemIcon_AguavBerry[] = INCBIN_U8("graphics/items/icons/aguav_berry.4bpp.lz");
-const u8 gItemIconPalette_AguavBerry[] = INCBIN_U8("graphics/items/icon_palettes/aguav_berry.gbapal.lz");
+const u32 gItemIcon_AguavBerry[] = INCBIN_U32("graphics/items/icons/aguav_berry.4bpp.lz");
+const u32 gItemIconPalette_AguavBerry[] = INCBIN_U32("graphics/items/icon_palettes/aguav_berry.gbapal.lz");
-const u8 gItemIcon_IapapaBerry[] = INCBIN_U8("graphics/items/icons/iapapa_berry.4bpp.lz");
-const u8 gItemIconPalette_IapapaBerry[] = INCBIN_U8("graphics/items/icon_palettes/iapapa_berry.gbapal.lz");
+const u32 gItemIcon_IapapaBerry[] = INCBIN_U32("graphics/items/icons/iapapa_berry.4bpp.lz");
+const u32 gItemIconPalette_IapapaBerry[] = INCBIN_U32("graphics/items/icon_palettes/iapapa_berry.gbapal.lz");
-const u8 gItemIcon_RazzBerry[] = INCBIN_U8("graphics/items/icons/razz_berry.4bpp.lz");
-const u8 gItemIconPalette_RazzBerry[] = INCBIN_U8("graphics/items/icon_palettes/razz_berry.gbapal.lz");
+const u32 gItemIcon_RazzBerry[] = INCBIN_U32("graphics/items/icons/razz_berry.4bpp.lz");
+const u32 gItemIconPalette_RazzBerry[] = INCBIN_U32("graphics/items/icon_palettes/razz_berry.gbapal.lz");
-const u8 gItemIcon_BlukBerry[] = INCBIN_U8("graphics/items/icons/bluk_berry.4bpp.lz");
-const u8 gItemIconPalette_BlukBerry[] = INCBIN_U8("graphics/items/icon_palettes/bluk_berry.gbapal.lz");
+const u32 gItemIcon_BlukBerry[] = INCBIN_U32("graphics/items/icons/bluk_berry.4bpp.lz");
+const u32 gItemIconPalette_BlukBerry[] = INCBIN_U32("graphics/items/icon_palettes/bluk_berry.gbapal.lz");
-const u8 gItemIcon_NanabBerry[] = INCBIN_U8("graphics/items/icons/nanab_berry.4bpp.lz");
-const u8 gItemIconPalette_NanabBerry[] = INCBIN_U8("graphics/items/icon_palettes/nanab_berry.gbapal.lz");
+const u32 gItemIcon_NanabBerry[] = INCBIN_U32("graphics/items/icons/nanab_berry.4bpp.lz");
+const u32 gItemIconPalette_NanabBerry[] = INCBIN_U32("graphics/items/icon_palettes/nanab_berry.gbapal.lz");
-const u8 gItemIcon_WepearBerry[] = INCBIN_U8("graphics/items/icons/wepear_berry.4bpp.lz");
-const u8 gItemIconPalette_WepearBerry[] = INCBIN_U8("graphics/items/icon_palettes/wepear_berry.gbapal.lz");
+const u32 gItemIcon_WepearBerry[] = INCBIN_U32("graphics/items/icons/wepear_berry.4bpp.lz");
+const u32 gItemIconPalette_WepearBerry[] = INCBIN_U32("graphics/items/icon_palettes/wepear_berry.gbapal.lz");
-const u8 gItemIcon_PinapBerry[] = INCBIN_U8("graphics/items/icons/pinap_berry.4bpp.lz");
-const u8 gItemIconPalette_PinapBerry[] = INCBIN_U8("graphics/items/icon_palettes/pinap_berry.gbapal.lz");
+const u32 gItemIcon_PinapBerry[] = INCBIN_U32("graphics/items/icons/pinap_berry.4bpp.lz");
+const u32 gItemIconPalette_PinapBerry[] = INCBIN_U32("graphics/items/icon_palettes/pinap_berry.gbapal.lz");
-const u8 gItemIcon_PomegBerry[] = INCBIN_U8("graphics/items/icons/pomeg_berry.4bpp.lz");
-const u8 gItemIconPalette_PomegBerry[] = INCBIN_U8("graphics/items/icon_palettes/pomeg_berry.gbapal.lz");
+const u32 gItemIcon_PomegBerry[] = INCBIN_U32("graphics/items/icons/pomeg_berry.4bpp.lz");
+const u32 gItemIconPalette_PomegBerry[] = INCBIN_U32("graphics/items/icon_palettes/pomeg_berry.gbapal.lz");
-const u8 gItemIcon_KelpsyBerry[] = INCBIN_U8("graphics/items/icons/kelpsy_berry.4bpp.lz");
-const u8 gItemIconPalette_KelpsyBerry[] = INCBIN_U8("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz");
+const u32 gItemIcon_KelpsyBerry[] = INCBIN_U32("graphics/items/icons/kelpsy_berry.4bpp.lz");
+const u32 gItemIconPalette_KelpsyBerry[] = INCBIN_U32("graphics/items/icon_palettes/kelpsy_berry.gbapal.lz");
-const u8 gItemIcon_QualotBerry[] = INCBIN_U8("graphics/items/icons/qualot_berry.4bpp.lz");
-const u8 gItemIconPalette_QualotBerry[] = INCBIN_U8("graphics/items/icon_palettes/qualot_berry.gbapal.lz");
+const u32 gItemIcon_QualotBerry[] = INCBIN_U32("graphics/items/icons/qualot_berry.4bpp.lz");
+const u32 gItemIconPalette_QualotBerry[] = INCBIN_U32("graphics/items/icon_palettes/qualot_berry.gbapal.lz");
-const u8 gItemIcon_HondewBerry[] = INCBIN_U8("graphics/items/icons/hondew_berry.4bpp.lz");
-const u8 gItemIconPalette_HondewBerry[] = INCBIN_U8("graphics/items/icon_palettes/hondew_berry.gbapal.lz");
+const u32 gItemIcon_HondewBerry[] = INCBIN_U32("graphics/items/icons/hondew_berry.4bpp.lz");
+const u32 gItemIconPalette_HondewBerry[] = INCBIN_U32("graphics/items/icon_palettes/hondew_berry.gbapal.lz");
-const u8 gItemIcon_GrepaBerry[] = INCBIN_U8("graphics/items/icons/grepa_berry.4bpp.lz");
-const u8 gItemIconPalette_GrepaBerry[] = INCBIN_U8("graphics/items/icon_palettes/grepa_berry.gbapal.lz");
+const u32 gItemIcon_GrepaBerry[] = INCBIN_U32("graphics/items/icons/grepa_berry.4bpp.lz");
+const u32 gItemIconPalette_GrepaBerry[] = INCBIN_U32("graphics/items/icon_palettes/grepa_berry.gbapal.lz");
-const u8 gItemIcon_TamatoBerry[] = INCBIN_U8("graphics/items/icons/tamato_berry.4bpp.lz");
-const u8 gItemIconPalette_TamatoBerry[] = INCBIN_U8("graphics/items/icon_palettes/tamato_berry.gbapal.lz");
+const u32 gItemIcon_TamatoBerry[] = INCBIN_U32("graphics/items/icons/tamato_berry.4bpp.lz");
+const u32 gItemIconPalette_TamatoBerry[] = INCBIN_U32("graphics/items/icon_palettes/tamato_berry.gbapal.lz");
-const u8 gItemIcon_CornnBerry[] = INCBIN_U8("graphics/items/icons/cornn_berry.4bpp.lz");
-const u8 gItemIconPalette_CornnBerry[] = INCBIN_U8("graphics/items/icon_palettes/cornn_berry.gbapal.lz");
+const u32 gItemIcon_CornnBerry[] = INCBIN_U32("graphics/items/icons/cornn_berry.4bpp.lz");
+const u32 gItemIconPalette_CornnBerry[] = INCBIN_U32("graphics/items/icon_palettes/cornn_berry.gbapal.lz");
-const u8 gItemIcon_MagostBerry[] = INCBIN_U8("graphics/items/icons/magost_berry.4bpp.lz");
-const u8 gItemIconPalette_MagostBerry[] = INCBIN_U8("graphics/items/icon_palettes/magost_berry.gbapal.lz");
+const u32 gItemIcon_MagostBerry[] = INCBIN_U32("graphics/items/icons/magost_berry.4bpp.lz");
+const u32 gItemIconPalette_MagostBerry[] = INCBIN_U32("graphics/items/icon_palettes/magost_berry.gbapal.lz");
-const u8 gItemIcon_RabutaBerry[] = INCBIN_U8("graphics/items/icons/rabuta_berry.4bpp.lz");
-const u8 gItemIconPalette_RabutaBerry[] = INCBIN_U8("graphics/items/icon_palettes/rabuta_berry.gbapal.lz");
+const u32 gItemIcon_RabutaBerry[] = INCBIN_U32("graphics/items/icons/rabuta_berry.4bpp.lz");
+const u32 gItemIconPalette_RabutaBerry[] = INCBIN_U32("graphics/items/icon_palettes/rabuta_berry.gbapal.lz");
-const u8 gItemIcon_NomelBerry[] = INCBIN_U8("graphics/items/icons/nomel_berry.4bpp.lz");
-const u8 gItemIconPalette_NomelBerry[] = INCBIN_U8("graphics/items/icon_palettes/nomel_berry.gbapal.lz");
+const u32 gItemIcon_NomelBerry[] = INCBIN_U32("graphics/items/icons/nomel_berry.4bpp.lz");
+const u32 gItemIconPalette_NomelBerry[] = INCBIN_U32("graphics/items/icon_palettes/nomel_berry.gbapal.lz");
-const u8 gItemIcon_SpelonBerry[] = INCBIN_U8("graphics/items/icons/spelon_berry.4bpp.lz");
-const u8 gItemIconPalette_SpelonBerry[] = INCBIN_U8("graphics/items/icon_palettes/spelon_berry.gbapal.lz");
+const u32 gItemIcon_SpelonBerry[] = INCBIN_U32("graphics/items/icons/spelon_berry.4bpp.lz");
+const u32 gItemIconPalette_SpelonBerry[] = INCBIN_U32("graphics/items/icon_palettes/spelon_berry.gbapal.lz");
-const u8 gItemIcon_PamtreBerry[] = INCBIN_U8("graphics/items/icons/pamtre_berry.4bpp.lz");
-const u8 gItemIconPalette_PamtreBerry[] = INCBIN_U8("graphics/items/icon_palettes/pamtre_berry.gbapal.lz");
+const u32 gItemIcon_PamtreBerry[] = INCBIN_U32("graphics/items/icons/pamtre_berry.4bpp.lz");
+const u32 gItemIconPalette_PamtreBerry[] = INCBIN_U32("graphics/items/icon_palettes/pamtre_berry.gbapal.lz");
-const u8 gItemIcon_WatmelBerry[] = INCBIN_U8("graphics/items/icons/watmel_berry.4bpp.lz");
-const u8 gItemIconPalette_WatmelBerry[] = INCBIN_U8("graphics/items/icon_palettes/watmel_berry.gbapal.lz");
+const u32 gItemIcon_WatmelBerry[] = INCBIN_U32("graphics/items/icons/watmel_berry.4bpp.lz");
+const u32 gItemIconPalette_WatmelBerry[] = INCBIN_U32("graphics/items/icon_palettes/watmel_berry.gbapal.lz");
-const u8 gItemIcon_DurinBerry[] = INCBIN_U8("graphics/items/icons/durin_berry.4bpp.lz");
-const u8 gItemIconPalette_DurinBerry[] = INCBIN_U8("graphics/items/icon_palettes/durin_berry.gbapal.lz");
+const u32 gItemIcon_DurinBerry[] = INCBIN_U32("graphics/items/icons/durin_berry.4bpp.lz");
+const u32 gItemIconPalette_DurinBerry[] = INCBIN_U32("graphics/items/icon_palettes/durin_berry.gbapal.lz");
-const u8 gItemIcon_BelueBerry[] = INCBIN_U8("graphics/items/icons/belue_berry.4bpp.lz");
-const u8 gItemIconPalette_BelueBerry[] = INCBIN_U8("graphics/items/icon_palettes/belue_berry.gbapal.lz");
+const u32 gItemIcon_BelueBerry[] = INCBIN_U32("graphics/items/icons/belue_berry.4bpp.lz");
+const u32 gItemIconPalette_BelueBerry[] = INCBIN_U32("graphics/items/icon_palettes/belue_berry.gbapal.lz");
-const u8 gItemIcon_LiechiBerry[] = INCBIN_U8("graphics/items/icons/liechi_berry.4bpp.lz");
-const u8 gItemIconPalette_LiechiBerry[] = INCBIN_U8("graphics/items/icon_palettes/liechi_berry.gbapal.lz");
+const u32 gItemIcon_LiechiBerry[] = INCBIN_U32("graphics/items/icons/liechi_berry.4bpp.lz");
+const u32 gItemIconPalette_LiechiBerry[] = INCBIN_U32("graphics/items/icon_palettes/liechi_berry.gbapal.lz");
-const u8 gItemIcon_GanlonBerry[] = INCBIN_U8("graphics/items/icons/ganlon_berry.4bpp.lz");
-const u8 gItemIconPalette_GanlonBerry[] = INCBIN_U8("graphics/items/icon_palettes/ganlon_berry.gbapal.lz");
+const u32 gItemIcon_GanlonBerry[] = INCBIN_U32("graphics/items/icons/ganlon_berry.4bpp.lz");
+const u32 gItemIconPalette_GanlonBerry[] = INCBIN_U32("graphics/items/icon_palettes/ganlon_berry.gbapal.lz");
-const u8 gItemIcon_SalacBerry[] = INCBIN_U8("graphics/items/icons/salac_berry.4bpp.lz");
-const u8 gItemIconPalette_SalacBerry[] = INCBIN_U8("graphics/items/icon_palettes/salac_berry.gbapal.lz");
+const u32 gItemIcon_SalacBerry[] = INCBIN_U32("graphics/items/icons/salac_berry.4bpp.lz");
+const u32 gItemIconPalette_SalacBerry[] = INCBIN_U32("graphics/items/icon_palettes/salac_berry.gbapal.lz");
-const u8 gItemIcon_PetayaBerry[] = INCBIN_U8("graphics/items/icons/petaya_berry.4bpp.lz");
-const u8 gItemIconPalette_PetayaBerry[] = INCBIN_U8("graphics/items/icon_palettes/petaya_berry.gbapal.lz");
+const u32 gItemIcon_PetayaBerry[] = INCBIN_U32("graphics/items/icons/petaya_berry.4bpp.lz");
+const u32 gItemIconPalette_PetayaBerry[] = INCBIN_U32("graphics/items/icon_palettes/petaya_berry.gbapal.lz");
-const u8 gItemIcon_ApicotBerry[] = INCBIN_U8("graphics/items/icons/apicot_berry.4bpp.lz");
-const u8 gItemIconPalette_ApicotBerry[] = INCBIN_U8("graphics/items/icon_palettes/apicot_berry.gbapal.lz");
+const u32 gItemIcon_ApicotBerry[] = INCBIN_U32("graphics/items/icons/apicot_berry.4bpp.lz");
+const u32 gItemIconPalette_ApicotBerry[] = INCBIN_U32("graphics/items/icon_palettes/apicot_berry.gbapal.lz");
-const u8 gItemIcon_LansatBerry[] = INCBIN_U8("graphics/items/icons/lansat_berry.4bpp.lz");
-const u8 gItemIconPalette_LansatBerry[] = INCBIN_U8("graphics/items/icon_palettes/lansat_berry.gbapal.lz");
+const u32 gItemIcon_LansatBerry[] = INCBIN_U32("graphics/items/icons/lansat_berry.4bpp.lz");
+const u32 gItemIconPalette_LansatBerry[] = INCBIN_U32("graphics/items/icon_palettes/lansat_berry.gbapal.lz");
-const u8 gItemIcon_StarfBerry[] = INCBIN_U8("graphics/items/icons/starf_berry.4bpp.lz");
-const u8 gItemIconPalette_StarfBerry[] = INCBIN_U8("graphics/items/icon_palettes/starf_berry.gbapal.lz");
+const u32 gItemIcon_StarfBerry[] = INCBIN_U32("graphics/items/icons/starf_berry.4bpp.lz");
+const u32 gItemIconPalette_StarfBerry[] = INCBIN_U32("graphics/items/icon_palettes/starf_berry.gbapal.lz");
-const u8 gItemIcon_EnigmaBerry[] = INCBIN_U8("graphics/items/icons/enigma_berry.4bpp.lz");
-const u8 gItemIconPalette_EnigmaBerry[] = INCBIN_U8("graphics/items/icon_palettes/enigma_berry.gbapal.lz");
+const u32 gItemIcon_EnigmaBerry[] = INCBIN_U32("graphics/items/icons/enigma_berry.4bpp.lz");
+const u32 gItemIconPalette_EnigmaBerry[] = INCBIN_U32("graphics/items/icon_palettes/enigma_berry.gbapal.lz");
// Hold items
-const u8 gItemIcon_BrightPowder[] = INCBIN_U8("graphics/items/icons/bright_powder.4bpp.lz");
-const u8 gItemIconPalette_BrightPowder[] = INCBIN_U8("graphics/items/icon_palettes/bright_powder.gbapal.lz");
+const u32 gItemIcon_BrightPowder[] = INCBIN_U32("graphics/items/icons/bright_powder.4bpp.lz");
+const u32 gItemIconPalette_BrightPowder[] = INCBIN_U32("graphics/items/icon_palettes/bright_powder.gbapal.lz");
-const u8 gItemIcon_InBattleHerb[] = INCBIN_U8("graphics/items/icons/in_battle_herb.4bpp.lz");
-const u8 gItemIconPalette_WhiteHerb[] = INCBIN_U8("graphics/items/icon_palettes/white_herb.gbapal.lz");
+const u32 gItemIcon_InBattleHerb[] = INCBIN_U32("graphics/items/icons/in_battle_herb.4bpp.lz");
+const u32 gItemIconPalette_WhiteHerb[] = INCBIN_U32("graphics/items/icon_palettes/white_herb.gbapal.lz");
-const u8 gItemIcon_MachoBrace[] = INCBIN_U8("graphics/items/icons/macho_brace.4bpp.lz");
-const u8 gItemIconPalette_MachoBrace[] = INCBIN_U8("graphics/items/icon_palettes/macho_brace.gbapal.lz");
+const u32 gItemIcon_MachoBrace[] = INCBIN_U32("graphics/items/icons/macho_brace.4bpp.lz");
+const u32 gItemIconPalette_MachoBrace[] = INCBIN_U32("graphics/items/icon_palettes/macho_brace.gbapal.lz");
-const u8 gItemIcon_ExpShare[] = INCBIN_U8("graphics/items/icons/exp_share.4bpp.lz");
-const u8 gItemIconPalette_ExpShare[] = INCBIN_U8("graphics/items/icon_palettes/exp_share.gbapal.lz");
+const u32 gItemIcon_ExpShare[] = INCBIN_U32("graphics/items/icons/exp_share.4bpp.lz");
+const u32 gItemIconPalette_ExpShare[] = INCBIN_U32("graphics/items/icon_palettes/exp_share.gbapal.lz");
-const u8 gItemIcon_QuickClaw[] = INCBIN_U8("graphics/items/icons/quick_claw.4bpp.lz");
-const u8 gItemIconPalette_QuickClaw[] = INCBIN_U8("graphics/items/icon_palettes/quick_claw.gbapal.lz");
+const u32 gItemIcon_QuickClaw[] = INCBIN_U32("graphics/items/icons/quick_claw.4bpp.lz");
+const u32 gItemIconPalette_QuickClaw[] = INCBIN_U32("graphics/items/icon_palettes/quick_claw.gbapal.lz");
-const u8 gItemIcon_SootheBell[] = INCBIN_U8("graphics/items/icons/soothe_bell.4bpp.lz");
-const u8 gItemIconPalette_SootheBell[] = INCBIN_U8("graphics/items/icon_palettes/soothe_bell.gbapal.lz");
+const u32 gItemIcon_SootheBell[] = INCBIN_U32("graphics/items/icons/soothe_bell.4bpp.lz");
+const u32 gItemIconPalette_SootheBell[] = INCBIN_U32("graphics/items/icon_palettes/soothe_bell.gbapal.lz");
-const u8 gItemIconPalette_MentalHerb[] = INCBIN_U8("graphics/items/icon_palettes/mental_herb.gbapal.lz");
+const u32 gItemIconPalette_MentalHerb[] = INCBIN_U32("graphics/items/icon_palettes/mental_herb.gbapal.lz");
-const u8 gItemIcon_ChoiceBand[] = INCBIN_U8("graphics/items/icons/choice_band.4bpp.lz");
-const u8 gItemIconPalette_ChoiceBand[] = INCBIN_U8("graphics/items/icon_palettes/choice_band.gbapal.lz");
+const u32 gItemIcon_ChoiceBand[] = INCBIN_U32("graphics/items/icons/choice_band.4bpp.lz");
+const u32 gItemIconPalette_ChoiceBand[] = INCBIN_U32("graphics/items/icon_palettes/choice_band.gbapal.lz");
-const u8 gItemIcon_KingsRock[] = INCBIN_U8("graphics/items/icons/kings_rock.4bpp.lz");
-const u8 gItemIconPalette_KingsRock[] = INCBIN_U8("graphics/items/icon_palettes/kings_rock.gbapal.lz");
+const u32 gItemIcon_KingsRock[] = INCBIN_U32("graphics/items/icons/kings_rock.4bpp.lz");
+const u32 gItemIconPalette_KingsRock[] = INCBIN_U32("graphics/items/icon_palettes/kings_rock.gbapal.lz");
-const u8 gItemIcon_SilverPowder[] = INCBIN_U8("graphics/items/icons/silver_powder.4bpp.lz");
-const u8 gItemIconPalette_SilverPowder[] = INCBIN_U8("graphics/items/icon_palettes/silver_powder.gbapal.lz");
+const u32 gItemIcon_SilverPowder[] = INCBIN_U32("graphics/items/icons/silver_powder.4bpp.lz");
+const u32 gItemIconPalette_SilverPowder[] = INCBIN_U32("graphics/items/icon_palettes/silver_powder.gbapal.lz");
-const u8 gItemIcon_AmuletCoin[] = INCBIN_U8("graphics/items/icons/amulet_coin.4bpp.lz");
-const u8 gItemIconPalette_AmuletCoin[] = INCBIN_U8("graphics/items/icon_palettes/amulet_coin.gbapal.lz");
+const u32 gItemIcon_AmuletCoin[] = INCBIN_U32("graphics/items/icons/amulet_coin.4bpp.lz");
+const u32 gItemIconPalette_AmuletCoin[] = INCBIN_U32("graphics/items/icon_palettes/amulet_coin.gbapal.lz");
-const u8 gItemIcon_CleanseTag[] = INCBIN_U8("graphics/items/icons/cleanse_tag.4bpp.lz");
-const u8 gItemIconPalette_CleanseTag[] = INCBIN_U8("graphics/items/icon_palettes/cleanse_tag.gbapal.lz");
+const u32 gItemIcon_CleanseTag[] = INCBIN_U32("graphics/items/icons/cleanse_tag.4bpp.lz");
+const u32 gItemIconPalette_CleanseTag[] = INCBIN_U32("graphics/items/icon_palettes/cleanse_tag.gbapal.lz");
-const u8 gItemIcon_SoulDew[] = INCBIN_U8("graphics/items/icons/soul_dew.4bpp.lz");
-const u8 gItemIconPalette_SoulDew[] = INCBIN_U8("graphics/items/icon_palettes/soul_dew.gbapal.lz");
+const u32 gItemIcon_SoulDew[] = INCBIN_U32("graphics/items/icons/soul_dew.4bpp.lz");
+const u32 gItemIconPalette_SoulDew[] = INCBIN_U32("graphics/items/icon_palettes/soul_dew.gbapal.lz");
-const u8 gItemIcon_DeepSeaTooth[] = INCBIN_U8("graphics/items/icons/deep_sea_tooth.4bpp.lz");
-const u8 gItemIconPalette_DeepSeaTooth[] = INCBIN_U8("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz");
+const u32 gItemIcon_DeepSeaTooth[] = INCBIN_U32("graphics/items/icons/deep_sea_tooth.4bpp.lz");
+const u32 gItemIconPalette_DeepSeaTooth[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_tooth.gbapal.lz");
-const u8 gItemIcon_DeepSeaScale[] = INCBIN_U8("graphics/items/icons/deep_sea_scale.4bpp.lz");
-const u8 gItemIconPalette_DeepSeaScale[] = INCBIN_U8("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz");
+const u32 gItemIcon_DeepSeaScale[] = INCBIN_U32("graphics/items/icons/deep_sea_scale.4bpp.lz");
+const u32 gItemIconPalette_DeepSeaScale[] = INCBIN_U32("graphics/items/icon_palettes/deep_sea_scale.gbapal.lz");
-const u8 gItemIcon_SmokeBall[] = INCBIN_U8("graphics/items/icons/smoke_ball.4bpp.lz");
-const u8 gItemIconPalette_SmokeBall[] = INCBIN_U8("graphics/items/icon_palettes/smoke_ball.gbapal.lz");
+const u32 gItemIcon_SmokeBall[] = INCBIN_U32("graphics/items/icons/smoke_ball.4bpp.lz");
+const u32 gItemIconPalette_SmokeBall[] = INCBIN_U32("graphics/items/icon_palettes/smoke_ball.gbapal.lz");
-const u8 gItemIcon_Everstone[] = INCBIN_U8("graphics/items/icons/everstone.4bpp.lz");
-const u8 gItemIconPalette_Everstone[] = INCBIN_U8("graphics/items/icon_palettes/everstone.gbapal.lz");
+const u32 gItemIcon_Everstone[] = INCBIN_U32("graphics/items/icons/everstone.4bpp.lz");
+const u32 gItemIconPalette_Everstone[] = INCBIN_U32("graphics/items/icon_palettes/everstone.gbapal.lz");
-const u8 gItemIcon_FocusBand[] = INCBIN_U8("graphics/items/icons/focus_band.4bpp.lz");
-const u8 gItemIconPalette_FocusBand[] = INCBIN_U8("graphics/items/icon_palettes/focus_band.gbapal.lz");
+const u32 gItemIcon_FocusBand[] = INCBIN_U32("graphics/items/icons/focus_band.4bpp.lz");
+const u32 gItemIconPalette_FocusBand[] = INCBIN_U32("graphics/items/icon_palettes/focus_band.gbapal.lz");
-const u8 gItemIcon_LuckyEgg[] = INCBIN_U8("graphics/items/icons/lucky_egg.4bpp.lz");
-const u8 gItemIconPalette_LuckyEgg[] = INCBIN_U8("graphics/items/icon_palettes/lucky_egg.gbapal.lz");
+const u32 gItemIcon_LuckyEgg[] = INCBIN_U32("graphics/items/icons/lucky_egg.4bpp.lz");
+const u32 gItemIconPalette_LuckyEgg[] = INCBIN_U32("graphics/items/icon_palettes/lucky_egg.gbapal.lz");
-const u8 gItemIcon_ScopeLens[] = INCBIN_U8("graphics/items/icons/scope_lens.4bpp.lz");
-const u8 gItemIconPalette_ScopeLens[] = INCBIN_U8("graphics/items/icon_palettes/scope_lens.gbapal.lz");
+const u32 gItemIcon_ScopeLens[] = INCBIN_U32("graphics/items/icons/scope_lens.4bpp.lz");
+const u32 gItemIconPalette_ScopeLens[] = INCBIN_U32("graphics/items/icon_palettes/scope_lens.gbapal.lz");
-const u8 gItemIcon_MetalCoat[] = INCBIN_U8("graphics/items/icons/metal_coat.4bpp.lz");
-const u8 gItemIconPalette_MetalCoat[] = INCBIN_U8("graphics/items/icon_palettes/metal_coat.gbapal.lz");
+const u32 gItemIcon_MetalCoat[] = INCBIN_U32("graphics/items/icons/metal_coat.4bpp.lz");
+const u32 gItemIconPalette_MetalCoat[] = INCBIN_U32("graphics/items/icon_palettes/metal_coat.gbapal.lz");
-const u8 gItemIcon_Leftovers[] = INCBIN_U8("graphics/items/icons/leftovers.4bpp.lz");
-const u8 gItemIconPalette_Leftovers[] = INCBIN_U8("graphics/items/icon_palettes/leftovers.gbapal.lz");
+const u32 gItemIcon_Leftovers[] = INCBIN_U32("graphics/items/icons/leftovers.4bpp.lz");
+const u32 gItemIconPalette_Leftovers[] = INCBIN_U32("graphics/items/icon_palettes/leftovers.gbapal.lz");
-const u8 gItemIcon_DragonScale[] = INCBIN_U8("graphics/items/icons/dragon_scale.4bpp.lz");
-const u8 gItemIconPalette_DragonScale[] = INCBIN_U8("graphics/items/icon_palettes/dragon_scale.gbapal.lz");
+const u32 gItemIcon_DragonScale[] = INCBIN_U32("graphics/items/icons/dragon_scale.4bpp.lz");
+const u32 gItemIconPalette_DragonScale[] = INCBIN_U32("graphics/items/icon_palettes/dragon_scale.gbapal.lz");
-const u8 gItemIcon_LightBall[] = INCBIN_U8("graphics/items/icons/light_ball.4bpp.lz");
-const u8 gItemIconPalette_LightBall[] = INCBIN_U8("graphics/items/icon_palettes/light_ball.gbapal.lz");
+const u32 gItemIcon_LightBall[] = INCBIN_U32("graphics/items/icons/light_ball.4bpp.lz");
+const u32 gItemIconPalette_LightBall[] = INCBIN_U32("graphics/items/icon_palettes/light_ball.gbapal.lz");
-const u8 gItemIcon_SoftSand[] = INCBIN_U8("graphics/items/icons/soft_sand.4bpp.lz");
-const u8 gItemIconPalette_SoftSand[] = INCBIN_U8("graphics/items/icon_palettes/soft_sand.gbapal.lz");
+const u32 gItemIcon_SoftSand[] = INCBIN_U32("graphics/items/icons/soft_sand.4bpp.lz");
+const u32 gItemIconPalette_SoftSand[] = INCBIN_U32("graphics/items/icon_palettes/soft_sand.gbapal.lz");
-const u8 gItemIcon_HardStone[] = INCBIN_U8("graphics/items/icons/hard_stone.4bpp.lz");
-const u8 gItemIconPalette_HardStone[] = INCBIN_U8("graphics/items/icon_palettes/hard_stone.gbapal.lz");
+const u32 gItemIcon_HardStone[] = INCBIN_U32("graphics/items/icons/hard_stone.4bpp.lz");
+const u32 gItemIconPalette_HardStone[] = INCBIN_U32("graphics/items/icon_palettes/hard_stone.gbapal.lz");
-const u8 gItemIcon_MiracleSeed[] = INCBIN_U8("graphics/items/icons/miracle_seed.4bpp.lz");
-const u8 gItemIconPalette_MiracleSeed[] = INCBIN_U8("graphics/items/icon_palettes/miracle_seed.gbapal.lz");
+const u32 gItemIcon_MiracleSeed[] = INCBIN_U32("graphics/items/icons/miracle_seed.4bpp.lz");
+const u32 gItemIconPalette_MiracleSeed[] = INCBIN_U32("graphics/items/icon_palettes/miracle_seed.gbapal.lz");
-const u8 gItemIcon_BlackGlasses[] = INCBIN_U8("graphics/items/icons/black_glasses.4bpp.lz");
-const u8 gItemIconPalette_BlackTypeEnhancingItem[] = INCBIN_U8("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz");
+const u32 gItemIcon_BlackGlasses[] = INCBIN_U32("graphics/items/icons/black_glasses.4bpp.lz");
+const u32 gItemIconPalette_BlackTypeEnhancingItem[] = INCBIN_U32("graphics/items/icon_palettes/black_type_enhancing_item.gbapal.lz");
-const u8 gItemIcon_BlackBelt[] = INCBIN_U8("graphics/items/icons/black_belt.4bpp.lz");
+const u32 gItemIcon_BlackBelt[] = INCBIN_U32("graphics/items/icons/black_belt.4bpp.lz");
-const u8 gItemIcon_Magnet[] = INCBIN_U8("graphics/items/icons/magnet.4bpp.lz");
-const u8 gItemIconPalette_Magnet[] = INCBIN_U8("graphics/items/icon_palettes/magnet.gbapal.lz");
+const u32 gItemIcon_Magnet[] = INCBIN_U32("graphics/items/icons/magnet.4bpp.lz");
+const u32 gItemIconPalette_Magnet[] = INCBIN_U32("graphics/items/icon_palettes/magnet.gbapal.lz");
-const u8 gItemIcon_MysticWater[] = INCBIN_U8("graphics/items/icons/mystic_water.4bpp.lz");
-const u8 gItemIconPalette_MysticWater[] = INCBIN_U8("graphics/items/icon_palettes/mystic_water.gbapal.lz");
+const u32 gItemIcon_MysticWater[] = INCBIN_U32("graphics/items/icons/mystic_water.4bpp.lz");
+const u32 gItemIconPalette_MysticWater[] = INCBIN_U32("graphics/items/icon_palettes/mystic_water.gbapal.lz");
-const u8 gItemIcon_SharpBeak[] = INCBIN_U8("graphics/items/icons/sharp_beak.4bpp.lz");
-const u8 gItemIconPalette_SharpBeak[] = INCBIN_U8("graphics/items/icon_palettes/sharp_beak.gbapal.lz");
+const u32 gItemIcon_SharpBeak[] = INCBIN_U32("graphics/items/icons/sharp_beak.4bpp.lz");
+const u32 gItemIconPalette_SharpBeak[] = INCBIN_U32("graphics/items/icon_palettes/sharp_beak.gbapal.lz");
-const u8 gItemIcon_PoisonBarb[] = INCBIN_U8("graphics/items/icons/poison_barb.4bpp.lz");
-const u8 gItemIconPalette_PoisonBarb[] = INCBIN_U8("graphics/items/icon_palettes/poison_barb.gbapal.lz");
+const u32 gItemIcon_PoisonBarb[] = INCBIN_U32("graphics/items/icons/poison_barb.4bpp.lz");
+const u32 gItemIconPalette_PoisonBarb[] = INCBIN_U32("graphics/items/icon_palettes/poison_barb.gbapal.lz");
-const u8 gItemIcon_NeverMeltIce[] = INCBIN_U8("graphics/items/icons/never_melt_ice.4bpp.lz");
-const u8 gItemIconPalette_NeverMeltIce[] = INCBIN_U8("graphics/items/icon_palettes/never_melt_ice.gbapal.lz");
+const u32 gItemIcon_NeverMeltIce[] = INCBIN_U32("graphics/items/icons/never_melt_ice.4bpp.lz");
+const u32 gItemIconPalette_NeverMeltIce[] = INCBIN_U32("graphics/items/icon_palettes/never_melt_ice.gbapal.lz");
-const u8 gItemIcon_SpellTag[] = INCBIN_U8("graphics/items/icons/spell_tag.4bpp.lz");
-const u8 gItemIconPalette_SpellTag[] = INCBIN_U8("graphics/items/icon_palettes/spell_tag.gbapal.lz");
+const u32 gItemIcon_SpellTag[] = INCBIN_U32("graphics/items/icons/spell_tag.4bpp.lz");
+const u32 gItemIconPalette_SpellTag[] = INCBIN_U32("graphics/items/icon_palettes/spell_tag.gbapal.lz");
-const u8 gItemIcon_TwistedSpoon[] = INCBIN_U8("graphics/items/icons/twisted_spoon.4bpp.lz");
-const u8 gItemIconPalette_TwistedSpoon[] = INCBIN_U8("graphics/items/icon_palettes/twisted_spoon.gbapal.lz");
+const u32 gItemIcon_TwistedSpoon[] = INCBIN_U32("graphics/items/icons/twisted_spoon.4bpp.lz");
+const u32 gItemIconPalette_TwistedSpoon[] = INCBIN_U32("graphics/items/icon_palettes/twisted_spoon.gbapal.lz");
-const u8 gItemIcon_Charcoal[] = INCBIN_U8("graphics/items/icons/charcoal.4bpp.lz");
-const u8 gItemIconPalette_Charcoal[] = INCBIN_U8("graphics/items/icon_palettes/charcoal.gbapal.lz");
+const u32 gItemIcon_Charcoal[] = INCBIN_U32("graphics/items/icons/charcoal.4bpp.lz");
+const u32 gItemIconPalette_Charcoal[] = INCBIN_U32("graphics/items/icon_palettes/charcoal.gbapal.lz");
-const u8 gItemIcon_DragonFang[] = INCBIN_U8("graphics/items/icons/dragon_fang.4bpp.lz");
-const u8 gItemIconPalette_DragonFang[] = INCBIN_U8("graphics/items/icon_palettes/dragon_fang.gbapal.lz");
+const u32 gItemIcon_DragonFang[] = INCBIN_U32("graphics/items/icons/dragon_fang.4bpp.lz");
+const u32 gItemIconPalette_DragonFang[] = INCBIN_U32("graphics/items/icon_palettes/dragon_fang.gbapal.lz");
-const u8 gItemIcon_SilkScarf[] = INCBIN_U8("graphics/items/icons/silk_scarf.4bpp.lz");
-const u8 gItemIconPalette_SilkScarf[] = INCBIN_U8("graphics/items/icon_palettes/silk_scarf.gbapal.lz");
+const u32 gItemIcon_SilkScarf[] = INCBIN_U32("graphics/items/icons/silk_scarf.4bpp.lz");
+const u32 gItemIconPalette_SilkScarf[] = INCBIN_U32("graphics/items/icon_palettes/silk_scarf.gbapal.lz");
-const u8 gItemIcon_UpGrade[] = INCBIN_U8("graphics/items/icons/up_grade.4bpp.lz");
-const u8 gItemIconPalette_UpGrade[] = INCBIN_U8("graphics/items/icon_palettes/up_grade.gbapal.lz");
+const u32 gItemIcon_UpGrade[] = INCBIN_U32("graphics/items/icons/up_grade.4bpp.lz");
+const u32 gItemIconPalette_UpGrade[] = INCBIN_U32("graphics/items/icon_palettes/up_grade.gbapal.lz");
-const u8 gItemIcon_ShellBell[] = INCBIN_U8("graphics/items/icons/shell_bell.4bpp.lz");
+const u32 gItemIcon_ShellBell[] = INCBIN_U32("graphics/items/icons/shell_bell.4bpp.lz");
-const u8 gItemIcon_SeaIncense[] = INCBIN_U8("graphics/items/icons/sea_incense.4bpp.lz");
-const u8 gItemIconPalette_SeaIncense[] = INCBIN_U8("graphics/items/icon_palettes/sea_incense.gbapal.lz");
+const u32 gItemIcon_SeaIncense[] = INCBIN_U32("graphics/items/icons/sea_incense.4bpp.lz");
+const u32 gItemIconPalette_SeaIncense[] = INCBIN_U32("graphics/items/icon_palettes/sea_incense.gbapal.lz");
-const u8 gItemIcon_LaxIncense[] = INCBIN_U8("graphics/items/icons/lax_incense.4bpp.lz");
-const u8 gItemIconPalette_LaxIncense[] = INCBIN_U8("graphics/items/icon_palettes/lax_incense.gbapal.lz");
+const u32 gItemIcon_LaxIncense[] = INCBIN_U32("graphics/items/icons/lax_incense.4bpp.lz");
+const u32 gItemIconPalette_LaxIncense[] = INCBIN_U32("graphics/items/icon_palettes/lax_incense.gbapal.lz");
-const u8 gItemIcon_LuckyPunch[] = INCBIN_U8("graphics/items/icons/lucky_punch.4bpp.lz");
-const u8 gItemIconPalette_LuckyPunch[] = INCBIN_U8("graphics/items/icon_palettes/lucky_punch.gbapal.lz");
+const u32 gItemIcon_LuckyPunch[] = INCBIN_U32("graphics/items/icons/lucky_punch.4bpp.lz");
+const u32 gItemIconPalette_LuckyPunch[] = INCBIN_U32("graphics/items/icon_palettes/lucky_punch.gbapal.lz");
-const u8 gItemIcon_MetalPowder[] = INCBIN_U8("graphics/items/icons/metal_powder.4bpp.lz");
-const u8 gItemIconPalette_MetalPowder[] = INCBIN_U8("graphics/items/icon_palettes/metal_powder.gbapal.lz");
+const u32 gItemIcon_MetalPowder[] = INCBIN_U32("graphics/items/icons/metal_powder.4bpp.lz");
+const u32 gItemIconPalette_MetalPowder[] = INCBIN_U32("graphics/items/icon_palettes/metal_powder.gbapal.lz");
-const u8 gItemIcon_ThickClub[] = INCBIN_U8("graphics/items/icons/thick_club.4bpp.lz");
-const u8 gItemIconPalette_ThickClub[] = INCBIN_U8("graphics/items/icon_palettes/thick_club.gbapal.lz");
+const u32 gItemIcon_ThickClub[] = INCBIN_U32("graphics/items/icons/thick_club.4bpp.lz");
+const u32 gItemIconPalette_ThickClub[] = INCBIN_U32("graphics/items/icon_palettes/thick_club.gbapal.lz");
-const u8 gItemIcon_Stick[] = INCBIN_U8("graphics/items/icons/stick.4bpp.lz");
-const u8 gItemIconPalette_Stick[] = INCBIN_U8("graphics/items/icon_palettes/stick.gbapal.lz");
+const u32 gItemIcon_Stick[] = INCBIN_U32("graphics/items/icons/stick.4bpp.lz");
+const u32 gItemIconPalette_Stick[] = INCBIN_U32("graphics/items/icon_palettes/stick.gbapal.lz");
-const u8 gItemIcon_Scarf[] = INCBIN_U8("graphics/items/icons/scarf.4bpp.lz");
-const u8 gItemIconPalette_RedScarf[] = INCBIN_U8("graphics/items/icon_palettes/red_scarf.gbapal.lz");
-const u8 gItemIconPalette_BlueScarf[] = INCBIN_U8("graphics/items/icon_palettes/blue_scarf.gbapal.lz");
-const u8 gItemIconPalette_PinkScarf[] = INCBIN_U8("graphics/items/icon_palettes/pink_scarf.gbapal.lz");
-const u8 gItemIconPalette_GreenScarf[] = INCBIN_U8("graphics/items/icon_palettes/green_scarf.gbapal.lz");
-const u8 gItemIconPalette_YellowScarf[] = INCBIN_U8("graphics/items/icon_palettes/yellow_scarf.gbapal.lz");
+const u32 gItemIcon_Scarf[] = INCBIN_U32("graphics/items/icons/scarf.4bpp.lz");
+const u32 gItemIconPalette_RedScarf[] = INCBIN_U32("graphics/items/icon_palettes/red_scarf.gbapal.lz");
+const u32 gItemIconPalette_BlueScarf[] = INCBIN_U32("graphics/items/icon_palettes/blue_scarf.gbapal.lz");
+const u32 gItemIconPalette_PinkScarf[] = INCBIN_U32("graphics/items/icon_palettes/pink_scarf.gbapal.lz");
+const u32 gItemIconPalette_GreenScarf[] = INCBIN_U32("graphics/items/icon_palettes/green_scarf.gbapal.lz");
+const u32 gItemIconPalette_YellowScarf[] = INCBIN_U32("graphics/items/icon_palettes/yellow_scarf.gbapal.lz");
// Key items
-const u8 gItemIcon_MachBike[] = INCBIN_U8("graphics/items/icons/mach_bike.4bpp.lz");
-const u8 gItemIconPalette_MachBike[] = INCBIN_U8("graphics/items/icon_palettes/mach_bike.gbapal.lz");
+const u32 gItemIcon_MachBike[] = INCBIN_U32("graphics/items/icons/mach_bike.4bpp.lz");
+const u32 gItemIconPalette_MachBike[] = INCBIN_U32("graphics/items/icon_palettes/mach_bike.gbapal.lz");
-const u8 gItemIcon_CoinCase[] = INCBIN_U8("graphics/items/icons/coin_case.4bpp.lz");
-const u8 gItemIconPalette_CoinCase[] = INCBIN_U8("graphics/items/icon_palettes/coin_case.gbapal.lz");
+const u32 gItemIcon_CoinCase[] = INCBIN_U32("graphics/items/icons/coin_case.4bpp.lz");
+const u32 gItemIconPalette_CoinCase[] = INCBIN_U32("graphics/items/icon_palettes/coin_case.gbapal.lz");
-const u8 gItemIcon_Itemfinder[] = INCBIN_U8("graphics/items/icons/itemfinder.4bpp.lz");
-const u8 gItemIconPalette_Itemfinder[] = INCBIN_U8("graphics/items/icon_palettes/itemfinder.gbapal.lz");
+const u32 gItemIcon_Itemfinder[] = INCBIN_U32("graphics/items/icons/itemfinder.4bpp.lz");
+const u32 gItemIconPalette_Itemfinder[] = INCBIN_U32("graphics/items/icon_palettes/itemfinder.gbapal.lz");
-const u8 gItemIcon_OldRod[] = INCBIN_U8("graphics/items/icons/old_rod.4bpp.lz");
-const u8 gItemIconPalette_OldRod[] = INCBIN_U8("graphics/items/icon_palettes/old_rod.gbapal.lz");
+const u32 gItemIcon_OldRod[] = INCBIN_U32("graphics/items/icons/old_rod.4bpp.lz");
+const u32 gItemIconPalette_OldRod[] = INCBIN_U32("graphics/items/icon_palettes/old_rod.gbapal.lz");
-const u8 gItemIcon_GoodRod[] = INCBIN_U8("graphics/items/icons/good_rod.4bpp.lz");
-const u8 gItemIconPalette_GoodRod[] = INCBIN_U8("graphics/items/icon_palettes/good_rod.gbapal.lz");
+const u32 gItemIcon_GoodRod[] = INCBIN_U32("graphics/items/icons/good_rod.4bpp.lz");
+const u32 gItemIconPalette_GoodRod[] = INCBIN_U32("graphics/items/icon_palettes/good_rod.gbapal.lz");
-const u8 gItemIcon_SuperRod[] = INCBIN_U8("graphics/items/icons/super_rod.4bpp.lz");
-const u8 gItemIconPalette_SuperRod[] = INCBIN_U8("graphics/items/icon_palettes/super_rod.gbapal.lz");
+const u32 gItemIcon_SuperRod[] = INCBIN_U32("graphics/items/icons/super_rod.4bpp.lz");
+const u32 gItemIconPalette_SuperRod[] = INCBIN_U32("graphics/items/icon_palettes/super_rod.gbapal.lz");
-const u8 gItemIcon_SSTicket[] = INCBIN_U8("graphics/items/icons/ss_ticket.4bpp.lz");
-const u8 gItemIconPalette_SSTicket[] = INCBIN_U8("graphics/items/icon_palettes/ss_ticket.gbapal.lz");
+const u32 gItemIcon_SSTicket[] = INCBIN_U32("graphics/items/icons/ss_ticket.4bpp.lz");
+const u32 gItemIconPalette_SSTicket[] = INCBIN_U32("graphics/items/icon_palettes/ss_ticket.gbapal.lz");
-const u8 gItemIcon_ContestPass[] = INCBIN_U8("graphics/items/icons/contest_pass.4bpp.lz");
-const u8 gItemIconPalette_ContestPass[] = INCBIN_U8("graphics/items/icon_palettes/contest_pass.gbapal.lz");
+const u32 gItemIcon_ContestPass[] = INCBIN_U32("graphics/items/icons/contest_pass.4bpp.lz");
+const u32 gItemIconPalette_ContestPass[] = INCBIN_U32("graphics/items/icon_palettes/contest_pass.gbapal.lz");
-const u8 gItemIcon_WailmerPail[] = INCBIN_U8("graphics/items/icons/wailmer_pail.4bpp.lz");
-const u8 gItemIconPalette_WailmerPail[] = INCBIN_U8("graphics/items/icon_palettes/wailmer_pail.gbapal.lz");
+const u32 gItemIcon_WailmerPail[] = INCBIN_U32("graphics/items/icons/wailmer_pail.4bpp.lz");
+const u32 gItemIconPalette_WailmerPail[] = INCBIN_U32("graphics/items/icon_palettes/wailmer_pail.gbapal.lz");
-const u8 gItemIcon_DevonGoods[] = INCBIN_U8("graphics/items/icons/devon_goods.4bpp.lz");
-const u8 gItemIconPalette_DevonGoods[] = INCBIN_U8("graphics/items/icon_palettes/devon_goods.gbapal.lz");
+const u32 gItemIcon_DevonGoods[] = INCBIN_U32("graphics/items/icons/devon_goods.4bpp.lz");
+const u32 gItemIconPalette_DevonGoods[] = INCBIN_U32("graphics/items/icon_palettes/devon_goods.gbapal.lz");
-const u8 gItemIcon_SootSack[] = INCBIN_U8("graphics/items/icons/soot_sack.4bpp.lz");
-const u8 gItemIconPalette_SootSack[] = INCBIN_U8("graphics/items/icon_palettes/soot_sack.gbapal.lz");
+const u32 gItemIcon_SootSack[] = INCBIN_U32("graphics/items/icons/soot_sack.4bpp.lz");
+const u32 gItemIconPalette_SootSack[] = INCBIN_U32("graphics/items/icon_palettes/soot_sack.gbapal.lz");
-const u8 gItemIcon_BasementKey[] = INCBIN_U8("graphics/items/icons/basement_key.4bpp.lz");
-const u8 gItemIconPalette_OldKey[] = INCBIN_U8("graphics/items/icon_palettes/old_key.gbapal.lz");
+const u32 gItemIcon_BasementKey[] = INCBIN_U32("graphics/items/icons/basement_key.4bpp.lz");
+const u32 gItemIconPalette_OldKey[] = INCBIN_U32("graphics/items/icon_palettes/old_key.gbapal.lz");
-const u8 gItemIcon_AcroBike[] = INCBIN_U8("graphics/items/icons/acro_bike.4bpp.lz");
-const u8 gItemIconPalette_AcroBike[] = INCBIN_U8("graphics/items/icon_palettes/acro_bike.gbapal.lz");
+const u32 gItemIcon_AcroBike[] = INCBIN_U32("graphics/items/icons/acro_bike.4bpp.lz");
+const u32 gItemIconPalette_AcroBike[] = INCBIN_U32("graphics/items/icon_palettes/acro_bike.gbapal.lz");
-const u8 gItemIcon_PokeblockCase[] = INCBIN_U8("graphics/items/icons/pokeblock_case.4bpp.lz");
-const u8 gItemIconPalette_PokeblockCase[] = INCBIN_U8("graphics/items/icon_palettes/pokeblock_case.gbapal.lz");
+const u32 gItemIcon_PokeblockCase[] = INCBIN_U32("graphics/items/icons/pokeblock_case.4bpp.lz");
+const u32 gItemIconPalette_PokeblockCase[] = INCBIN_U32("graphics/items/icon_palettes/pokeblock_case.gbapal.lz");
-const u8 gItemIcon_Letter[] = INCBIN_U8("graphics/items/icons/letter.4bpp.lz");
-const u8 gItemIcon_EonTicket[] = INCBIN_U8("graphics/items/icons/eon_ticket.4bpp.lz");
+const u32 gItemIcon_Letter[] = INCBIN_U32("graphics/items/icons/letter.4bpp.lz");
+const u32 gItemIcon_EonTicket[] = INCBIN_U32("graphics/items/icons/eon_ticket.4bpp.lz");
-const u8 gItemIconPalette_EonTicket[] = INCBIN_U8("graphics/items/icon_palettes/eon_ticket.gbapal.lz");
+const u32 gItemIconPalette_EonTicket[] = INCBIN_U32("graphics/items/icon_palettes/eon_ticket.gbapal.lz");
-const u8 gItemIcon_Orb[] = INCBIN_U8("graphics/items/icons/orb.4bpp.lz");
-const u8 gItemIconPalette_RedOrb[] = INCBIN_U8("graphics/items/icon_palettes/red_orb.gbapal.lz");
-const u8 gItemIconPalette_BlueOrb[] = INCBIN_U8("graphics/items/icon_palettes/blue_orb.gbapal.lz");
+const u32 gItemIcon_Orb[] = INCBIN_U32("graphics/items/icons/orb.4bpp.lz");
+const u32 gItemIconPalette_RedOrb[] = INCBIN_U32("graphics/items/icon_palettes/red_orb.gbapal.lz");
+const u32 gItemIconPalette_BlueOrb[] = INCBIN_U32("graphics/items/icon_palettes/blue_orb.gbapal.lz");
-const u8 gItemIcon_Scanner[] = INCBIN_U8("graphics/items/icons/scanner.4bpp.lz");
-const u8 gItemIconPalette_Scanner[] = INCBIN_U8("graphics/items/icon_palettes/scanner.gbapal.lz");
+const u32 gItemIcon_Scanner[] = INCBIN_U32("graphics/items/icons/scanner.4bpp.lz");
+const u32 gItemIconPalette_Scanner[] = INCBIN_U32("graphics/items/icon_palettes/scanner.gbapal.lz");
-const u8 gItemIcon_GoGoggles[] = INCBIN_U8("graphics/items/icons/go_goggles.4bpp.lz");
-const u8 gItemIconPalette_GoGoggles[] = INCBIN_U8("graphics/items/icon_palettes/go_goggles.gbapal.lz");
+const u32 gItemIcon_GoGoggles[] = INCBIN_U32("graphics/items/icons/go_goggles.4bpp.lz");
+const u32 gItemIconPalette_GoGoggles[] = INCBIN_U32("graphics/items/icon_palettes/go_goggles.gbapal.lz");
-const u8 gItemIcon_Meteorite[] = INCBIN_U8("graphics/items/icons/meteorite.4bpp.lz");
-const u8 gItemIconPalette_Meteorite[] = INCBIN_U8("graphics/items/icon_palettes/meteorite.gbapal.lz");
+const u32 gItemIcon_Meteorite[] = INCBIN_U32("graphics/items/icons/meteorite.4bpp.lz");
+const u32 gItemIconPalette_Meteorite[] = INCBIN_U32("graphics/items/icon_palettes/meteorite.gbapal.lz");
-const u8 gItemIcon_Room1Key[] = INCBIN_U8("graphics/items/icons/room1_key.4bpp.lz");
+const u32 gItemIcon_Room1Key[] = INCBIN_U32("graphics/items/icons/room1_key.4bpp.lz");
-const u8 gItemIcon_Room2Key[] = INCBIN_U8("graphics/items/icons/room2_key.4bpp.lz");
+const u32 gItemIcon_Room2Key[] = INCBIN_U32("graphics/items/icons/room2_key.4bpp.lz");
-const u8 gItemIcon_Room4Key[] = INCBIN_U8("graphics/items/icons/room4_key.4bpp.lz");
+const u32 gItemIcon_Room4Key[] = INCBIN_U32("graphics/items/icons/room4_key.4bpp.lz");
-const u8 gItemIcon_Room6Key[] = INCBIN_U8("graphics/items/icons/room6_key.4bpp.lz");
+const u32 gItemIcon_Room6Key[] = INCBIN_U32("graphics/items/icons/room6_key.4bpp.lz");
-const u8 gItemIcon_StorageKey[] = INCBIN_U8("graphics/items/icons/storage_key.4bpp.lz");
+const u32 gItemIcon_StorageKey[] = INCBIN_U32("graphics/items/icons/storage_key.4bpp.lz");
-const u8 gItemIcon_RootFossil[] = INCBIN_U8("graphics/items/icons/root_fossil.4bpp.lz");
-const u8 gItemIconPalette_HoennFossil[] = INCBIN_U8("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz");
-const u8 gItemIcon_ClawFossil[] = INCBIN_U8("graphics/items/icons/claw_fossil.4bpp.lz");
+const u32 gItemIcon_RootFossil[] = INCBIN_U32("graphics/items/icons/root_fossil.4bpp.lz");
+const u32 gItemIconPalette_HoennFossil[] = INCBIN_U32("graphics/items/icon_palettes/hoenn_fossil.gbapal.lz");
+const u32 gItemIcon_ClawFossil[] = INCBIN_U32("graphics/items/icons/claw_fossil.4bpp.lz");
-const u8 gItemIcon_DevonScope[] = INCBIN_U8("graphics/items/icons/devon_scope.4bpp.lz");
-const u8 gItemIconPalette_DevonScope[] = INCBIN_U8("graphics/items/icon_palettes/devon_scope.gbapal.lz");
+const u32 gItemIcon_DevonScope[] = INCBIN_U32("graphics/items/icons/devon_scope.4bpp.lz");
+const u32 gItemIconPalette_DevonScope[] = INCBIN_U32("graphics/items/icon_palettes/devon_scope.gbapal.lz");
// TMs/HMs
-const u8 gItemIcon_TM[] = INCBIN_U8("graphics/items/icons/tm.4bpp.lz");
+const u32 gItemIcon_TM[] = INCBIN_U32("graphics/items/icons/tm.4bpp.lz");
-const u8 gItemIconPalette_FightingTMHM[] = INCBIN_U8("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_FightingTMHM[] = INCBIN_U32("graphics/items/icon_palettes/fighting_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_DragonTMHM[] = INCBIN_U8("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_DragonTMHM[] = INCBIN_U32("graphics/items/icon_palettes/dragon_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_WaterTMHM[] = INCBIN_U8("graphics/items/icon_palettes/water_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_WaterTMHM[] = INCBIN_U32("graphics/items/icon_palettes/water_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_PsychicTMHM[] = INCBIN_U8("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_PsychicTMHM[] = INCBIN_U32("graphics/items/icon_palettes/psychic_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_NormalTMHM[] = INCBIN_U8("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_NormalTMHM[] = INCBIN_U32("graphics/items/icon_palettes/normal_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_PoisonTMHM[] = INCBIN_U8("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_PoisonTMHM[] = INCBIN_U32("graphics/items/icon_palettes/poison_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_IceTMHM[] = INCBIN_U8("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_IceTMHM[] = INCBIN_U32("graphics/items/icon_palettes/ice_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_GrassTMHM[] = INCBIN_U8("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_GrassTMHM[] = INCBIN_U32("graphics/items/icon_palettes/grass_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_FireTMHM[] = INCBIN_U8("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_FireTMHM[] = INCBIN_U32("graphics/items/icon_palettes/fire_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_DarkTMHM[] = INCBIN_U8("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_DarkTMHM[] = INCBIN_U32("graphics/items/icon_palettes/dark_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_SteelTMHM[] = INCBIN_U8("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_SteelTMHM[] = INCBIN_U32("graphics/items/icon_palettes/steel_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_ElectricTMHM[] = INCBIN_U8("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_ElectricTMHM[] = INCBIN_U32("graphics/items/icon_palettes/electric_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_GroundTMHM[] = INCBIN_U8("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_GroundTMHM[] = INCBIN_U32("graphics/items/icon_palettes/ground_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_GhostTMHM[] = INCBIN_U8("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_GhostTMHM[] = INCBIN_U32("graphics/items/icon_palettes/ghost_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_RockTMHM[] = INCBIN_U8("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_RockTMHM[] = INCBIN_U32("graphics/items/icon_palettes/rock_tm_hm.gbapal.lz");
-const u8 gItemIconPalette_FlyingTMHM[] = INCBIN_U8("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz");
+const u32 gItemIconPalette_FlyingTMHM[] = INCBIN_U32("graphics/items/icon_palettes/flying_tm_hm.gbapal.lz");
-const u8 gItemIcon_HM[] = INCBIN_U8("graphics/items/icons/hm.4bpp.lz");
+const u32 gItemIcon_HM[] = INCBIN_U32("graphics/items/icons/hm.4bpp.lz");
// FireRed/LeafGreen key items
-const u8 gItemIcon_OaksParcel[] = INCBIN_U8("graphics/items/icons/oaks_parcel.4bpp.lz");
-const u8 gItemIconPalette_OaksParcel[] = INCBIN_U8("graphics/items/icon_palettes/oaks_parcel.gbapal.lz");
+const u32 gItemIcon_OaksParcel[] = INCBIN_U32("graphics/items/icons/oaks_parcel.4bpp.lz");
+const u32 gItemIconPalette_OaksParcel[] = INCBIN_U32("graphics/items/icon_palettes/oaks_parcel.gbapal.lz");
-const u8 gItemIcon_PokeFlute[] = INCBIN_U8("graphics/items/icons/poke_flute.4bpp.lz");
-const u8 gItemIconPalette_PokeFlute[] = INCBIN_U8("graphics/items/icon_palettes/poke_flute.gbapal.lz");
+const u32 gItemIcon_PokeFlute[] = INCBIN_U32("graphics/items/icons/poke_flute.4bpp.lz");
+const u32 gItemIconPalette_PokeFlute[] = INCBIN_U32("graphics/items/icon_palettes/poke_flute.gbapal.lz");
-const u8 gItemIcon_SecretKey[] = INCBIN_U8("graphics/items/icons/secret_key.4bpp.lz");
-const u8 gItemIconPalette_SecretKey[] = INCBIN_U8("graphics/items/icon_palettes/secret_key.gbapal.lz");
+const u32 gItemIcon_SecretKey[] = INCBIN_U32("graphics/items/icons/secret_key.4bpp.lz");
+const u32 gItemIconPalette_SecretKey[] = INCBIN_U32("graphics/items/icon_palettes/secret_key.gbapal.lz");
-const u8 gItemIcon_BikeVoucher[] = INCBIN_U8("graphics/items/icons/bike_voucher.4bpp.lz");
-const u8 gItemIconPalette_BikeVoucher[] = INCBIN_U8("graphics/items/icon_palettes/bike_voucher.gbapal.lz");
+const u32 gItemIcon_BikeVoucher[] = INCBIN_U32("graphics/items/icons/bike_voucher.4bpp.lz");
+const u32 gItemIconPalette_BikeVoucher[] = INCBIN_U32("graphics/items/icon_palettes/bike_voucher.gbapal.lz");
-const u8 gItemIcon_GoldTeeth[] = INCBIN_U8("graphics/items/icons/gold_teeth.4bpp.lz");
-const u8 gItemIconPalette_GoldTeeth[] = INCBIN_U8("graphics/items/icon_palettes/gold_teeth.gbapal.lz");
+const u32 gItemIcon_GoldTeeth[] = INCBIN_U32("graphics/items/icons/gold_teeth.4bpp.lz");
+const u32 gItemIconPalette_GoldTeeth[] = INCBIN_U32("graphics/items/icon_palettes/gold_teeth.gbapal.lz");
-const u8 gItemIcon_OldAmber[] = INCBIN_U8("graphics/items/icons/old_amber.4bpp.lz");
-const u8 gItemIconPalette_OldAmber[] = INCBIN_U8("graphics/items/icon_palettes/old_amber.gbapal.lz");
+const u32 gItemIcon_OldAmber[] = INCBIN_U32("graphics/items/icons/old_amber.4bpp.lz");
+const u32 gItemIconPalette_OldAmber[] = INCBIN_U32("graphics/items/icon_palettes/old_amber.gbapal.lz");
-const u8 gItemIcon_CardKey[] = INCBIN_U8("graphics/items/icons/card_key.4bpp.lz");
-const u8 gItemIconPalette_CardKey[] = INCBIN_U8("graphics/items/icon_palettes/card_key.gbapal.lz");
+const u32 gItemIcon_CardKey[] = INCBIN_U32("graphics/items/icons/card_key.4bpp.lz");
+const u32 gItemIconPalette_CardKey[] = INCBIN_U32("graphics/items/icon_palettes/card_key.gbapal.lz");
-const u8 gItemIcon_LiftKey[] = INCBIN_U8("graphics/items/icons/lift_key.4bpp.lz");
-const u8 gItemIconPalette_Key[] = INCBIN_U8("graphics/items/icon_palettes/key.gbapal.lz");
+const u32 gItemIcon_LiftKey[] = INCBIN_U32("graphics/items/icons/lift_key.4bpp.lz");
+const u32 gItemIconPalette_Key[] = INCBIN_U32("graphics/items/icon_palettes/key.gbapal.lz");
-const u8 gItemIcon_HelixFossil[] = INCBIN_U8("graphics/items/icons/helix_fossil.4bpp.lz");
-const u8 gItemIconPalette_KantoFossil[] = INCBIN_U8("graphics/items/icon_palettes/kanto_fossil.gbapal.lz");
-const u8 gItemIcon_DomeFossil[] = INCBIN_U8("graphics/items/icons/dome_fossil.4bpp.lz");
+const u32 gItemIcon_HelixFossil[] = INCBIN_U32("graphics/items/icons/helix_fossil.4bpp.lz");
+const u32 gItemIconPalette_KantoFossil[] = INCBIN_U32("graphics/items/icon_palettes/kanto_fossil.gbapal.lz");
+const u32 gItemIcon_DomeFossil[] = INCBIN_U32("graphics/items/icons/dome_fossil.4bpp.lz");
-const u8 gItemIcon_SilphScope[] = INCBIN_U8("graphics/items/icons/silph_scope.4bpp.lz");
-const u8 gItemIconPalette_SilphScope[] = INCBIN_U8("graphics/items/icon_palettes/silph_scope.gbapal.lz");
+const u32 gItemIcon_SilphScope[] = INCBIN_U32("graphics/items/icons/silph_scope.4bpp.lz");
+const u32 gItemIconPalette_SilphScope[] = INCBIN_U32("graphics/items/icon_palettes/silph_scope.gbapal.lz");
-const u8 gItemIcon_Bicycle[] = INCBIN_U8("graphics/items/icons/bicycle.4bpp.lz");
-const u8 gItemIconPalette_Bicycle[] = INCBIN_U8("graphics/items/icon_palettes/bicycle.gbapal.lz");
+const u32 gItemIcon_Bicycle[] = INCBIN_U32("graphics/items/icons/bicycle.4bpp.lz");
+const u32 gItemIconPalette_Bicycle[] = INCBIN_U32("graphics/items/icon_palettes/bicycle.gbapal.lz");
-const u8 gItemIcon_TownMap[] = INCBIN_U8("graphics/items/icons/town_map.4bpp.lz");
-const u8 gItemIconPalette_TownMap[] = INCBIN_U8("graphics/items/icon_palettes/town_map.gbapal.lz");
+const u32 gItemIcon_TownMap[] = INCBIN_U32("graphics/items/icons/town_map.4bpp.lz");
+const u32 gItemIconPalette_TownMap[] = INCBIN_U32("graphics/items/icon_palettes/town_map.gbapal.lz");
-const u8 gItemIcon_VSSeeker[] = INCBIN_U8("graphics/items/icons/vs_seeker.4bpp.lz");
-const u8 gItemIconPalette_VSSeeker[] = INCBIN_U8("graphics/items/icon_palettes/vs_seeker.gbapal.lz");
+const u32 gItemIcon_VSSeeker[] = INCBIN_U32("graphics/items/icons/vs_seeker.4bpp.lz");
+const u32 gItemIconPalette_VSSeeker[] = INCBIN_U32("graphics/items/icon_palettes/vs_seeker.gbapal.lz");
-const u8 gItemIcon_FameChecker[] = INCBIN_U8("graphics/items/icons/fame_checker.4bpp.lz");
-const u8 gItemIconPalette_FameChecker[] = INCBIN_U8("graphics/items/icon_palettes/fame_checker.gbapal.lz");
+const u32 gItemIcon_FameChecker[] = INCBIN_U32("graphics/items/icons/fame_checker.4bpp.lz");
+const u32 gItemIconPalette_FameChecker[] = INCBIN_U32("graphics/items/icon_palettes/fame_checker.gbapal.lz");
-const u8 gItemIcon_TMCase[] = INCBIN_U8("graphics/items/icons/tm_case.4bpp.lz");
-const u8 gItemIconPalette_TMCase[] = INCBIN_U8("graphics/items/icon_palettes/tm_case.gbapal.lz");
+const u32 gItemIcon_TMCase[] = INCBIN_U32("graphics/items/icons/tm_case.4bpp.lz");
+const u32 gItemIconPalette_TMCase[] = INCBIN_U32("graphics/items/icon_palettes/tm_case.gbapal.lz");
-const u8 gItemIcon_BerryPouch[] = INCBIN_U8("graphics/items/icons/berry_pouch.4bpp.lz");
-const u8 gItemIconPalette_BerryPouch[] = INCBIN_U8("graphics/items/icon_palettes/berry_pouch.gbapal.lz");
+const u32 gItemIcon_BerryPouch[] = INCBIN_U32("graphics/items/icons/berry_pouch.4bpp.lz");
+const u32 gItemIconPalette_BerryPouch[] = INCBIN_U32("graphics/items/icon_palettes/berry_pouch.gbapal.lz");
-const u8 gItemIcon_TeachyTV[] = INCBIN_U8("graphics/items/icons/teachy_tv.4bpp.lz");
-const u8 gItemIconPalette_TeachyTV[] = INCBIN_U8("graphics/items/icon_palettes/teachy_tv.gbapal.lz");
+const u32 gItemIcon_TeachyTV[] = INCBIN_U32("graphics/items/icons/teachy_tv.4bpp.lz");
+const u32 gItemIconPalette_TeachyTV[] = INCBIN_U32("graphics/items/icon_palettes/teachy_tv.gbapal.lz");
-const u8 gItemIcon_TriPass[] = INCBIN_U8("graphics/items/icons/tri_pass.4bpp.lz");
-const u8 gItemIconPalette_TriPass[] = INCBIN_U8("graphics/items/icon_palettes/tri_pass.gbapal.lz");
+const u32 gItemIcon_TriPass[] = INCBIN_U32("graphics/items/icons/tri_pass.4bpp.lz");
+const u32 gItemIconPalette_TriPass[] = INCBIN_U32("graphics/items/icon_palettes/tri_pass.gbapal.lz");
-const u8 gItemIcon_RainbowPass[] = INCBIN_U8("graphics/items/icons/rainbow_pass.4bpp.lz");
-const u8 gItemIconPalette_RainbowPass[] = INCBIN_U8("graphics/items/icon_palettes/rainbow_pass.gbapal.lz");
+const u32 gItemIcon_RainbowPass[] = INCBIN_U32("graphics/items/icons/rainbow_pass.4bpp.lz");
+const u32 gItemIconPalette_RainbowPass[] = INCBIN_U32("graphics/items/icon_palettes/rainbow_pass.gbapal.lz");
-const u8 gItemIcon_Tea[] = INCBIN_U8("graphics/items/icons/tea.4bpp.lz");
-const u8 gItemIconPalette_Tea[] = INCBIN_U8("graphics/items/icon_palettes/tea.gbapal.lz");
+const u32 gItemIcon_Tea[] = INCBIN_U32("graphics/items/icons/tea.4bpp.lz");
+const u32 gItemIconPalette_Tea[] = INCBIN_U32("graphics/items/icon_palettes/tea.gbapal.lz");
-const u8 gItemIcon_MysticTicket[] = INCBIN_U8("graphics/items/icons/mystic_ticket.4bpp.lz");
-const u8 gItemIconPalette_MysticTicket[] = INCBIN_U8("graphics/items/icon_palettes/mystic_ticket.gbapal.lz");
+const u32 gItemIcon_MysticTicket[] = INCBIN_U32("graphics/items/icons/mystic_ticket.4bpp.lz");
+const u32 gItemIconPalette_MysticTicket[] = INCBIN_U32("graphics/items/icon_palettes/mystic_ticket.gbapal.lz");
-const u8 gItemIcon_AuroraTicket[] = INCBIN_U8("graphics/items/icons/aurora_ticket.4bpp.lz");
-const u8 gItemIconPalette_AuroraTicket[] = INCBIN_U8("graphics/items/icon_palettes/aurora_ticket.gbapal.lz");
+const u32 gItemIcon_AuroraTicket[] = INCBIN_U32("graphics/items/icons/aurora_ticket.4bpp.lz");
+const u32 gItemIconPalette_AuroraTicket[] = INCBIN_U32("graphics/items/icon_palettes/aurora_ticket.gbapal.lz");
-const u8 gItemIcon_PowderJar[] = INCBIN_U8("graphics/items/icons/powder_jar.4bpp.lz");
-const u8 gItemIconPalette_PowderJar[] = INCBIN_U8("graphics/items/icon_palettes/powder_jar.gbapal.lz");
+const u32 gItemIcon_PowderJar[] = INCBIN_U32("graphics/items/icons/powder_jar.4bpp.lz");
+const u32 gItemIconPalette_PowderJar[] = INCBIN_U32("graphics/items/icon_palettes/powder_jar.gbapal.lz");
-const u8 gItemIconPalette_Ruby[] = INCBIN_U8("graphics/items/icon_palettes/ruby.gbapal.lz");
-const u8 gItemIcon_Gem[] = INCBIN_U8("graphics/items/icons/gem.4bpp.lz");
-const u8 gItemIconPalette_Sapphire[] = INCBIN_U8("graphics/items/icon_palettes/sapphire.gbapal.lz");
+const u32 gItemIconPalette_Ruby[] = INCBIN_U32("graphics/items/icon_palettes/ruby.gbapal.lz");
+const u32 gItemIcon_Gem[] = INCBIN_U32("graphics/items/icons/gem.4bpp.lz");
+const u32 gItemIconPalette_Sapphire[] = INCBIN_U32("graphics/items/icon_palettes/sapphire.gbapal.lz");
// Emerald-only key items
-const u8 gItemIcon_MagmaEmblem[] = INCBIN_U8("graphics/items/icons/magma_emblem.4bpp.lz");
-const u8 gItemIconPalette_MagmaEmblem[] = INCBIN_U8("graphics/items/icon_palettes/magma_emblem.gbapal.lz");
+const u32 gItemIcon_MagmaEmblem[] = INCBIN_U32("graphics/items/icons/magma_emblem.4bpp.lz");
+const u32 gItemIconPalette_MagmaEmblem[] = INCBIN_U32("graphics/items/icon_palettes/magma_emblem.gbapal.lz");
-const u8 gItemIcon_OldSeaMap[] = INCBIN_U8("graphics/items/icons/old_sea_map.4bpp.lz");
-const u8 gItemIconPalette_OldSeaMap[] = INCBIN_U8("graphics/items/icon_palettes/old_sea_map.gbapal.lz");
+const u32 gItemIcon_OldSeaMap[] = INCBIN_U32("graphics/items/icons/old_sea_map.4bpp.lz");
+const u32 gItemIconPalette_OldSeaMap[] = INCBIN_U32("graphics/items/icon_palettes/old_sea_map.gbapal.lz");
diff --git a/src/data/graphics/mail.h b/src/data/graphics/mail.h
index 53497347a..05e65be1c 100644
--- a/src/data/graphics/mail.h
+++ b/src/data/graphics/mail.h
@@ -11,28 +11,28 @@ const u16 gMailPalette_Dream[] = INCBIN_U16("graphics/mail/dream/palette.gbapal"
const u16 gMailPalette_Fab[] = INCBIN_U16("graphics/mail/fab/palette.gbapal");
const u16 gMailPalette_Retro[] = INCBIN_U16("graphics/mail/retro/palette.gbapal");
-const u8 gMailTiles_Orange[] = INCBIN_U8("graphics/mail/orange/tiles.4bpp.lz");
-const u8 gMailTiles_Harbor[] = INCBIN_U8("graphics/mail/harbor/tiles.4bpp.lz");
-const u8 gMailTiles_Glitter[] = INCBIN_U8("graphics/mail/glitter/tiles.4bpp.lz");
-const u8 gMailTiles_Mech[] = INCBIN_U8("graphics/mail/mech/tiles.4bpp.lz");
-const u8 gMailTiles_Wood[] = INCBIN_U8("graphics/mail/wood/tiles.4bpp.lz");
-const u8 gMailTiles_Wave[] = INCBIN_U8("graphics/mail/wave/tiles.4bpp.lz");
-const u8 gMailTiles_Bead[] = INCBIN_U8("graphics/mail/bead/tiles.4bpp.lz");
-const u8 gMailTiles_Shadow[] = INCBIN_U8("graphics/mail/shadow/tiles.4bpp.lz");
-const u8 gMailTiles_Tropic[] = INCBIN_U8("graphics/mail/tropic/tiles.4bpp.lz");
-const u8 gMailTiles_Dream[] = INCBIN_U8("graphics/mail/dream/tiles.4bpp.lz");
-const u8 gMailTiles_Fab[] = INCBIN_U8("graphics/mail/fab/tiles.4bpp.lz");
-const u8 gMailTiles_Retro[] = INCBIN_U8("graphics/mail/retro/tiles.4bpp.lz");
+const u32 gMailTiles_Orange[] = INCBIN_U32("graphics/mail/orange/tiles.4bpp.lz");
+const u32 gMailTiles_Harbor[] = INCBIN_U32("graphics/mail/harbor/tiles.4bpp.lz");
+const u32 gMailTiles_Glitter[] = INCBIN_U32("graphics/mail/glitter/tiles.4bpp.lz");
+const u32 gMailTiles_Mech[] = INCBIN_U32("graphics/mail/mech/tiles.4bpp.lz");
+const u32 gMailTiles_Wood[] = INCBIN_U32("graphics/mail/wood/tiles.4bpp.lz");
+const u32 gMailTiles_Wave[] = INCBIN_U32("graphics/mail/wave/tiles.4bpp.lz");
+const u32 gMailTiles_Bead[] = INCBIN_U32("graphics/mail/bead/tiles.4bpp.lz");
+const u32 gMailTiles_Shadow[] = INCBIN_U32("graphics/mail/shadow/tiles.4bpp.lz");
+const u32 gMailTiles_Tropic[] = INCBIN_U32("graphics/mail/tropic/tiles.4bpp.lz");
+const u32 gMailTiles_Dream[] = INCBIN_U32("graphics/mail/dream/tiles.4bpp.lz");
+const u32 gMailTiles_Fab[] = INCBIN_U32("graphics/mail/fab/tiles.4bpp.lz");
+const u32 gMailTiles_Retro[] = INCBIN_U32("graphics/mail/retro/tiles.4bpp.lz");
-const u16 gMailTilemap_Orange[] = INCBIN_U16("graphics/mail/orange/map.bin.lz");
-const u16 gMailTilemap_Harbor[] = INCBIN_U16("graphics/mail/harbor/map.bin.lz");
-const u16 gMailTilemap_Glitter[] = INCBIN_U16("graphics/mail/glitter/map.bin.lz");
-const u16 gMailTilemap_Mech[] = INCBIN_U16("graphics/mail/mech/map.bin.lz");
-const u16 gMailTilemap_Wood[] = INCBIN_U16("graphics/mail/wood/map.bin.lz");
-const u16 gMailTilemap_Wave[] = INCBIN_U16("graphics/mail/wave/map.bin.lz");
-const u16 gMailTilemap_Bead[] = INCBIN_U16("graphics/mail/bead/map.bin.lz");
-const u16 gMailTilemap_Shadow[] = INCBIN_U16("graphics/mail/shadow/map.bin.lz");
-const u16 gMailTilemap_Tropic[] = INCBIN_U16("graphics/mail/tropic/map.bin.lz");
-const u16 gMailTilemap_Dream[] = INCBIN_U16("graphics/mail/dream/map.bin.lz");
-const u16 gMailTilemap_Fab[] = INCBIN_U16("graphics/mail/fab/map.bin.lz");
-const u16 gMailTilemap_Retro[] = INCBIN_U16("graphics/mail/retro/map.bin.lz");
+const u32 gMailTilemap_Orange[] = INCBIN_U32("graphics/mail/orange/map.bin.lz");
+const u32 gMailTilemap_Harbor[] = INCBIN_U32("graphics/mail/harbor/map.bin.lz");
+const u32 gMailTilemap_Glitter[] = INCBIN_U32("graphics/mail/glitter/map.bin.lz");
+const u32 gMailTilemap_Mech[] = INCBIN_U32("graphics/mail/mech/map.bin.lz");
+const u32 gMailTilemap_Wood[] = INCBIN_U32("graphics/mail/wood/map.bin.lz");
+const u32 gMailTilemap_Wave[] = INCBIN_U32("graphics/mail/wave/map.bin.lz");
+const u32 gMailTilemap_Bead[] = INCBIN_U32("graphics/mail/bead/map.bin.lz");
+const u32 gMailTilemap_Shadow[] = INCBIN_U32("graphics/mail/shadow/map.bin.lz");
+const u32 gMailTilemap_Tropic[] = INCBIN_U32("graphics/mail/tropic/map.bin.lz");
+const u32 gMailTilemap_Dream[] = INCBIN_U32("graphics/mail/dream/map.bin.lz");
+const u32 gMailTilemap_Fab[] = INCBIN_U32("graphics/mail/fab/map.bin.lz");
+const u32 gMailTilemap_Retro[] = INCBIN_U32("graphics/mail/retro/map.bin.lz");
diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h
index 2c0345f59..40ebdf9e4 100644
--- a/src/data/graphics/pokemon.h
+++ b/src/data/graphics/pokemon.h
@@ -1,2699 +1,2699 @@
-const u8 gMonStillFrontPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Bulbasaur[] = INCBIN_U8("graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz");
-const u8 gMonBackPic_Bulbasaur[] = INCBIN_U8("graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Bulbasaur[] = INCBIN_U8("graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/front_pics/bulbasaur_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/palettes/bulbasaur_palette.gbapal.lz");
+const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/back_pics/bulbasaur_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Bulbasaur[] = INCBIN_U32("graphics/pokemon/palettes/bulbasaur_shiny_palette.gbapal.lz");
const u8 gMonIcon_Bulbasaur[] = INCBIN_U8("graphics/pokemon/icons/bulbasaur_icon.4bpp");
const u8 gMonFootprint_Bulbasaur[] = INCBIN_U8("graphics/pokemon/footprints/bulbasaur_footprint.1bpp");
-const u8 gMonStillFrontPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ivysaur[] = INCBIN_U8("graphics/pokemon/palettes/ivysaur_palette.gbapal.lz");
-const u8 gMonBackPic_Ivysaur[] = INCBIN_U8("graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ivysaur[] = INCBIN_U8("graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/front_pics/ivysaur_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/palettes/ivysaur_palette.gbapal.lz");
+const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/back_pics/ivysaur_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ivysaur[] = INCBIN_U32("graphics/pokemon/palettes/ivysaur_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ivysaur[] = INCBIN_U8("graphics/pokemon/icons/ivysaur_icon.4bpp");
const u8 gMonFootprint_Ivysaur[] = INCBIN_U8("graphics/pokemon/footprints/ivysaur_footprint.1bpp");
-const u8 gMonStillFrontPic_Venusaur[] = INCBIN_U8("graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Venusaur[] = INCBIN_U8("graphics/pokemon/palettes/venusaur_palette.gbapal.lz");
-const u8 gMonBackPic_Venusaur[] = INCBIN_U8("graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Venusaur[] = INCBIN_U8("graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/front_pics/venusaur_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/palettes/venusaur_palette.gbapal.lz");
+const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/back_pics/venusaur_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Venusaur[] = INCBIN_U32("graphics/pokemon/palettes/venusaur_shiny_palette.gbapal.lz");
const u8 gMonIcon_Venusaur[] = INCBIN_U8("graphics/pokemon/icons/venusaur_icon.4bpp");
const u8 gMonFootprint_Venusaur[] = INCBIN_U8("graphics/pokemon/footprints/venusaur_footprint.1bpp");
-const u8 gMonStillFrontPic_Charmander[] = INCBIN_U8("graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Charmander[] = INCBIN_U8("graphics/pokemon/palettes/charmander_palette.gbapal.lz");
-const u8 gMonBackPic_Charmander[] = INCBIN_U8("graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Charmander[] = INCBIN_U8("graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/front_pics/charmander_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Charmander[] = INCBIN_U32("graphics/pokemon/palettes/charmander_palette.gbapal.lz");
+const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/back_pics/charmander_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Charmander[] = INCBIN_U32("graphics/pokemon/palettes/charmander_shiny_palette.gbapal.lz");
const u8 gMonIcon_Charmander[] = INCBIN_U8("graphics/pokemon/icons/charmander_icon.4bpp");
const u8 gMonFootprint_Charmander[] = INCBIN_U8("graphics/pokemon/footprints/charmander_footprint.1bpp");
-const u8 gMonStillFrontPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Charmeleon[] = INCBIN_U8("graphics/pokemon/palettes/charmeleon_palette.gbapal.lz");
-const u8 gMonBackPic_Charmeleon[] = INCBIN_U8("graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Charmeleon[] = INCBIN_U8("graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/front_pics/charmeleon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/palettes/charmeleon_palette.gbapal.lz");
+const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/back_pics/charmeleon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Charmeleon[] = INCBIN_U32("graphics/pokemon/palettes/charmeleon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Charmeleon[] = INCBIN_U8("graphics/pokemon/icons/charmeleon_icon.4bpp");
const u8 gMonFootprint_Charmeleon[] = INCBIN_U8("graphics/pokemon/footprints/charmeleon_footprint.1bpp");
-const u8 gMonStillFrontPic_Charizard[] = INCBIN_U8("graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Charizard[] = INCBIN_U8("graphics/pokemon/palettes/charizard_palette.gbapal.lz");
-const u8 gMonBackPic_Charizard[] = INCBIN_U8("graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Charizard[] = INCBIN_U8("graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/front_pics/charizard_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Charizard[] = INCBIN_U32("graphics/pokemon/palettes/charizard_palette.gbapal.lz");
+const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/back_pics/charizard_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Charizard[] = INCBIN_U32("graphics/pokemon/palettes/charizard_shiny_palette.gbapal.lz");
const u8 gMonIcon_Charizard[] = INCBIN_U8("graphics/pokemon/icons/charizard_icon.4bpp");
const u8 gMonFootprint_Charizard[] = INCBIN_U8("graphics/pokemon/footprints/charizard_footprint.1bpp");
-const u8 gMonStillFrontPic_Squirtle[] = INCBIN_U8("graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Squirtle[] = INCBIN_U8("graphics/pokemon/palettes/squirtle_palette.gbapal.lz");
-const u8 gMonBackPic_Squirtle[] = INCBIN_U8("graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Squirtle[] = INCBIN_U8("graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Squirtle[] = INCBIN_U32("graphics/pokemon/front_pics/squirtle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/palettes/squirtle_palette.gbapal.lz");
+const u32 gMonBackPic_Squirtle[] = INCBIN_U32("graphics/pokemon/back_pics/squirtle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Squirtle[] = INCBIN_U32("graphics/pokemon/palettes/squirtle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Squirtle[] = INCBIN_U8("graphics/pokemon/icons/squirtle_icon.4bpp");
const u8 gMonFootprint_Squirtle[] = INCBIN_U8("graphics/pokemon/footprints/squirtle_footprint.1bpp");
-const u8 gMonStillFrontPic_Wartortle[] = INCBIN_U8("graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wartortle[] = INCBIN_U8("graphics/pokemon/palettes/wartortle_palette.gbapal.lz");
-const u8 gMonBackPic_Wartortle[] = INCBIN_U8("graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wartortle[] = INCBIN_U8("graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wartortle[] = INCBIN_U32("graphics/pokemon/front_pics/wartortle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/palettes/wartortle_palette.gbapal.lz");
+const u32 gMonBackPic_Wartortle[] = INCBIN_U32("graphics/pokemon/back_pics/wartortle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wartortle[] = INCBIN_U32("graphics/pokemon/palettes/wartortle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wartortle[] = INCBIN_U8("graphics/pokemon/icons/wartortle_icon.4bpp");
const u8 gMonFootprint_Wartortle[] = INCBIN_U8("graphics/pokemon/footprints/wartortle_footprint.1bpp");
-const u8 gMonStillFrontPic_Blastoise[] = INCBIN_U8("graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Blastoise[] = INCBIN_U8("graphics/pokemon/palettes/blastoise_palette.gbapal.lz");
-const u8 gMonBackPic_Blastoise[] = INCBIN_U8("graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Blastoise[] = INCBIN_U8("graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/front_pics/blastoise_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/palettes/blastoise_palette.gbapal.lz");
+const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/back_pics/blastoise_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Blastoise[] = INCBIN_U32("graphics/pokemon/palettes/blastoise_shiny_palette.gbapal.lz");
const u8 gMonIcon_Blastoise[] = INCBIN_U8("graphics/pokemon/icons/blastoise_icon.4bpp");
const u8 gMonFootprint_Blastoise[] = INCBIN_U8("graphics/pokemon/footprints/blastoise_footprint.1bpp");
-const u8 gMonStillFrontPic_Caterpie[] = INCBIN_U8("graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Caterpie[] = INCBIN_U8("graphics/pokemon/palettes/caterpie_palette.gbapal.lz");
-const u8 gMonBackPic_Caterpie[] = INCBIN_U8("graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Caterpie[] = INCBIN_U8("graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/front_pics/caterpie_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/palettes/caterpie_palette.gbapal.lz");
+const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/back_pics/caterpie_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Caterpie[] = INCBIN_U32("graphics/pokemon/palettes/caterpie_shiny_palette.gbapal.lz");
const u8 gMonIcon_Caterpie[] = INCBIN_U8("graphics/pokemon/icons/caterpie_icon.4bpp");
const u8 gMonFootprint_Caterpie[] = INCBIN_U8("graphics/pokemon/footprints/caterpie_footprint.1bpp");
-const u8 gMonStillFrontPic_Metapod[] = INCBIN_U8("graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Metapod[] = INCBIN_U8("graphics/pokemon/palettes/metapod_palette.gbapal.lz");
-const u8 gMonBackPic_Metapod[] = INCBIN_U8("graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Metapod[] = INCBIN_U8("graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/front_pics/metapod_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Metapod[] = INCBIN_U32("graphics/pokemon/palettes/metapod_palette.gbapal.lz");
+const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/back_pics/metapod_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Metapod[] = INCBIN_U32("graphics/pokemon/palettes/metapod_shiny_palette.gbapal.lz");
const u8 gMonIcon_Metapod[] = INCBIN_U8( "graphics/pokemon/icons/metapod_icon.4bpp");
const u8 gMonFootprint_Metapod[] = INCBIN_U8("graphics/pokemon/footprints/metapod_footprint.1bpp");
-const u8 gMonStillFrontPic_Butterfree[] = INCBIN_U8("graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Butterfree[] = INCBIN_U8("graphics/pokemon/palettes/butterfree_palette.gbapal.lz");
-const u8 gMonBackPic_Butterfree[] = INCBIN_U8("graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Butterfree[] = INCBIN_U8("graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/front_pics/butterfree_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/palettes/butterfree_palette.gbapal.lz");
+const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/back_pics/butterfree_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Butterfree[] = INCBIN_U32("graphics/pokemon/palettes/butterfree_shiny_palette.gbapal.lz");
const u8 gMonIcon_Butterfree[] = INCBIN_U8("graphics/pokemon/icons/butterfree_icon.4bpp");
const u8 gMonFootprint_Butterfree[] = INCBIN_U8("graphics/pokemon/footprints/butterfree_footprint.1bpp");
-const u8 gMonStillFrontPic_Weedle[] = INCBIN_U8("graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Weedle[] = INCBIN_U8("graphics/pokemon/palettes/weedle_palette.gbapal.lz");
-const u8 gMonBackPic_Weedle[] = INCBIN_U8("graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Weedle[] = INCBIN_U8("graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/front_pics/weedle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Weedle[] = INCBIN_U32("graphics/pokemon/palettes/weedle_palette.gbapal.lz");
+const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/back_pics/weedle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Weedle[] = INCBIN_U32("graphics/pokemon/palettes/weedle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Weedle[] = INCBIN_U8("graphics/pokemon/icons/weedle_icon.4bpp");
const u8 gMonFootprint_Weedle[] = INCBIN_U8("graphics/pokemon/footprints/weedle_footprint.1bpp");
-const u8 gMonStillFrontPic_Kakuna[] = INCBIN_U8("graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kakuna[] = INCBIN_U8("graphics/pokemon/palettes/kakuna_palette.gbapal.lz");
-const u8 gMonBackPic_Kakuna[] = INCBIN_U8("graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kakuna[] = INCBIN_U8("graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/front_pics/kakuna_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/palettes/kakuna_palette.gbapal.lz");
+const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/back_pics/kakuna_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kakuna[] = INCBIN_U32("graphics/pokemon/palettes/kakuna_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kakuna[] = INCBIN_U8("graphics/pokemon/icons/kakuna_icon.4bpp");
const u8 gMonFootprint_Kakuna[] = INCBIN_U8("graphics/pokemon/footprints/kakuna_footprint.1bpp");
-const u8 gMonStillFrontPic_Beedrill[] = INCBIN_U8("graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Beedrill[] = INCBIN_U8("graphics/pokemon/palettes/beedrill_palette.gbapal.lz");
-const u8 gMonBackPic_Beedrill[] = INCBIN_U8("graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Beedrill[] = INCBIN_U8("graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/front_pics/beedrill_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/palettes/beedrill_palette.gbapal.lz");
+const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/back_pics/beedrill_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Beedrill[] = INCBIN_U32("graphics/pokemon/palettes/beedrill_shiny_palette.gbapal.lz");
const u8 gMonIcon_Beedrill[] = INCBIN_U8("graphics/pokemon/icons/beedrill_icon.4bpp");
const u8 gMonFootprint_Beedrill[] = INCBIN_U8("graphics/pokemon/footprints/beedrill_footprint.1bpp");
-const u8 gMonStillFrontPic_Pidgey[] = INCBIN_U8("graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pidgey[] = INCBIN_U8("graphics/pokemon/palettes/pidgey_palette.gbapal.lz");
-const u8 gMonBackPic_Pidgey[] = INCBIN_U8("graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pidgey[] = INCBIN_U8("graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/front_pics/pidgey_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/palettes/pidgey_palette.gbapal.lz");
+const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/back_pics/pidgey_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pidgey[] = INCBIN_U32("graphics/pokemon/palettes/pidgey_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pidgey[] = INCBIN_U8("graphics/pokemon/icons/pidgey_icon.4bpp");
const u8 gMonFootprint_Pidgey[] = INCBIN_U8("graphics/pokemon/footprints/pidgey_footprint.1bpp");
-const u8 gMonStillFrontPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pidgeotto[] = INCBIN_U8("graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz");
-const u8 gMonBackPic_Pidgeotto[] = INCBIN_U8("graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pidgeotto[] = INCBIN_U8("graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/front_pics/pidgeotto_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/palettes/pidgeotto_palette.gbapal.lz");
+const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/back_pics/pidgeotto_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pidgeotto[] = INCBIN_U32("graphics/pokemon/palettes/pidgeotto_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pidgeotto[] = INCBIN_U8("graphics/pokemon/icons/pidgeotto_icon.4bpp");
const u8 gMonFootprint_Pidgeotto[] = INCBIN_U8("graphics/pokemon/footprints/pidgeotto_footprint.1bpp");
-const u8 gMonStillFrontPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pidgeot[] = INCBIN_U8("graphics/pokemon/palettes/pidgeot_palette.gbapal.lz");
-const u8 gMonBackPic_Pidgeot[] = INCBIN_U8("graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pidgeot[] = INCBIN_U8("graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/front_pics/pidgeot_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/palettes/pidgeot_palette.gbapal.lz");
+const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/back_pics/pidgeot_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pidgeot[] = INCBIN_U32("graphics/pokemon/palettes/pidgeot_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pidgeot[] = INCBIN_U8("graphics/pokemon/icons/pidgeot_icon.4bpp");
const u8 gMonFootprint_Pidgeot[] = INCBIN_U8("graphics/pokemon/footprints/pidgeot_footprint.1bpp");
-const u8 gMonStillFrontPic_Rattata[] = INCBIN_U8("graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Rattata[] = INCBIN_U8("graphics/pokemon/palettes/rattata_palette.gbapal.lz");
-const u8 gMonBackPic_Rattata[] = INCBIN_U8("graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Rattata[] = INCBIN_U8("graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/front_pics/rattata_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Rattata[] = INCBIN_U32("graphics/pokemon/palettes/rattata_palette.gbapal.lz");
+const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/back_pics/rattata_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Rattata[] = INCBIN_U32("graphics/pokemon/palettes/rattata_shiny_palette.gbapal.lz");
const u8 gMonIcon_Rattata[] = INCBIN_U8("graphics/pokemon/icons/rattata_icon.4bpp");
const u8 gMonFootprint_Rattata[] = INCBIN_U8("graphics/pokemon/footprints/rattata_footprint.1bpp");
-const u8 gMonStillFrontPic_Raticate[] = INCBIN_U8("graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Raticate[] = INCBIN_U8("graphics/pokemon/palettes/raticate_palette.gbapal.lz");
-const u8 gMonBackPic_Raticate[] = INCBIN_U8("graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Raticate[] = INCBIN_U8("graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/front_pics/raticate_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Raticate[] = INCBIN_U32("graphics/pokemon/palettes/raticate_palette.gbapal.lz");
+const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/back_pics/raticate_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Raticate[] = INCBIN_U32("graphics/pokemon/palettes/raticate_shiny_palette.gbapal.lz");
const u8 gMonIcon_Raticate[] = INCBIN_U8("graphics/pokemon/icons/raticate_icon.4bpp");
const u8 gMonFootprint_Raticate[] = INCBIN_U8("graphics/pokemon/footprints/raticate_footprint.1bpp");
-const u8 gMonStillFrontPic_Spearow[] = INCBIN_U8("graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Spearow[] = INCBIN_U8("graphics/pokemon/palettes/spearow_palette.gbapal.lz");
-const u8 gMonBackPic_Spearow[] = INCBIN_U8("graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Spearow[] = INCBIN_U8("graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/front_pics/spearow_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Spearow[] = INCBIN_U32("graphics/pokemon/palettes/spearow_palette.gbapal.lz");
+const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/back_pics/spearow_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Spearow[] = INCBIN_U32("graphics/pokemon/palettes/spearow_shiny_palette.gbapal.lz");
const u8 gMonIcon_Spearow[] = INCBIN_U8("graphics/pokemon/icons/spearow_icon.4bpp");
const u8 gMonFootprint_Spearow[] = INCBIN_U8("graphics/pokemon/footprints/spearow_footprint.1bpp");
-const u8 gMonStillFrontPic_Fearow[] = INCBIN_U8("graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Fearow[] = INCBIN_U8("graphics/pokemon/palettes/fearow_palette.gbapal.lz");
-const u8 gMonBackPic_Fearow[] = INCBIN_U8("graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Fearow[] = INCBIN_U8("graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/front_pics/fearow_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Fearow[] = INCBIN_U32("graphics/pokemon/palettes/fearow_palette.gbapal.lz");
+const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/back_pics/fearow_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Fearow[] = INCBIN_U32("graphics/pokemon/palettes/fearow_shiny_palette.gbapal.lz");
const u8 gMonIcon_Fearow[] = INCBIN_U8("graphics/pokemon/icons/fearow_icon.4bpp");
const u8 gMonFootprint_Fearow[] = INCBIN_U8("graphics/pokemon/footprints/fearow_footprint.1bpp");
-const u8 gMonStillFrontPic_Ekans[] = INCBIN_U8("graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ekans[] = INCBIN_U8("graphics/pokemon/palettes/ekans_palette.gbapal.lz");
-const u8 gMonBackPic_Ekans[] = INCBIN_U8("graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ekans[] = INCBIN_U8("graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/front_pics/ekans_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ekans[] = INCBIN_U32("graphics/pokemon/palettes/ekans_palette.gbapal.lz");
+const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/back_pics/ekans_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ekans[] = INCBIN_U32("graphics/pokemon/palettes/ekans_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ekans[] = INCBIN_U8("graphics/pokemon/icons/ekans_icon.4bpp");
const u8 gMonFootprint_Ekans[] = INCBIN_U8("graphics/pokemon/footprints/ekans_footprint.1bpp");
-const u8 gMonStillFrontPic_Arbok[] = INCBIN_U8("graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Arbok[] = INCBIN_U8("graphics/pokemon/palettes/arbok_palette.gbapal.lz");
-const u8 gMonBackPic_Arbok[] = INCBIN_U8("graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Arbok[] = INCBIN_U8("graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/front_pics/arbok_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Arbok[] = INCBIN_U32("graphics/pokemon/palettes/arbok_palette.gbapal.lz");
+const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/back_pics/arbok_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Arbok[] = INCBIN_U32("graphics/pokemon/palettes/arbok_shiny_palette.gbapal.lz");
const u8 gMonIcon_Arbok[] = INCBIN_U8("graphics/pokemon/icons/arbok_icon.4bpp");
const u8 gMonFootprint_Arbok[] = INCBIN_U8("graphics/pokemon/footprints/arbok_footprint.1bpp");
-const u8 gMonStillFrontPic_Pikachu[] = INCBIN_U8("graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pikachu[] = INCBIN_U8("graphics/pokemon/palettes/pikachu_palette.gbapal.lz");
-const u8 gMonBackPic_Pikachu[] = INCBIN_U8("graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pikachu[] = INCBIN_U8("graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/front_pics/pikachu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/palettes/pikachu_palette.gbapal.lz");
+const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/back_pics/pikachu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pikachu[] = INCBIN_U32("graphics/pokemon/palettes/pikachu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pikachu[] = INCBIN_U8("graphics/pokemon/icons/pikachu_icon.4bpp");
const u8 gMonFootprint_Pikachu[] = INCBIN_U8("graphics/pokemon/footprints/pikachu_footprint.1bpp");
-const u8 gMonStillFrontPic_Raichu[] = INCBIN_U8("graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Raichu[] = INCBIN_U8("graphics/pokemon/palettes/raichu_palette.gbapal.lz");
-const u8 gMonBackPic_Raichu[] = INCBIN_U8("graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Raichu[] = INCBIN_U8("graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/front_pics/raichu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Raichu[] = INCBIN_U32("graphics/pokemon/palettes/raichu_palette.gbapal.lz");
+const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/back_pics/raichu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Raichu[] = INCBIN_U32("graphics/pokemon/palettes/raichu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Raichu[] = INCBIN_U8("graphics/pokemon/icons/raichu_icon.4bpp");
const u8 gMonFootprint_Raichu[] = INCBIN_U8("graphics/pokemon/footprints/raichu_footprint.1bpp");
-const u8 gMonStillFrontPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sandshrew[] = INCBIN_U8("graphics/pokemon/palettes/sandshrew_palette.gbapal.lz");
-const u8 gMonBackPic_Sandshrew[] = INCBIN_U8("graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sandshrew[] = INCBIN_U8("graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/front_pics/sandshrew_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/palettes/sandshrew_palette.gbapal.lz");
+const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/back_pics/sandshrew_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sandshrew[] = INCBIN_U32("graphics/pokemon/palettes/sandshrew_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sandshrew[] = INCBIN_U8("graphics/pokemon/icons/sandshrew_icon.4bpp");
const u8 gMonFootprint_Sandshrew[] = INCBIN_U8("graphics/pokemon/footprints/sandshrew_footprint.1bpp");
-const u8 gMonStillFrontPic_Sandslash[] = INCBIN_U8("graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sandslash[] = INCBIN_U8("graphics/pokemon/palettes/sandslash_palette.gbapal.lz");
-const u8 gMonBackPic_Sandslash[] = INCBIN_U8("graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sandslash[] = INCBIN_U8("graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/front_pics/sandslash_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/palettes/sandslash_palette.gbapal.lz");
+const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/back_pics/sandslash_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sandslash[] = INCBIN_U32("graphics/pokemon/palettes/sandslash_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sandslash[] = INCBIN_U8("graphics/pokemon/icons/sandslash_icon.4bpp");
const u8 gMonFootprint_Sandslash[] = INCBIN_U8("graphics/pokemon/footprints/sandslash_footprint.1bpp");
-const u8 gMonStillFrontPic_NidoranF[] = INCBIN_U8("graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz");
-const u8 gMonPalette_NidoranF[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz");
-const u8 gMonBackPic_NidoranF[] = INCBIN_U8("graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_NidoranF[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/front_pics/nidoran_f_still_front_pic.4bpp.lz");
+const u32 gMonPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_f_palette.gbapal.lz");
+const u32 gMonBackPic_NidoranF[] = INCBIN_U32("graphics/pokemon/back_pics/nidoran_f_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_NidoranF[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_f_shiny_palette.gbapal.lz");
const u8 gMonIcon_NidoranF[] = INCBIN_U8("graphics/pokemon/icons/nidoran_f_icon.4bpp");
const u8 gMonFootprint_NidoranF[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_f_footprint.1bpp");
-const u8 gMonStillFrontPic_Nidorina[] = INCBIN_U8("graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nidorina[] = INCBIN_U8("graphics/pokemon/palettes/nidorina_palette.gbapal.lz");
-const u8 gMonBackPic_Nidorina[] = INCBIN_U8("graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nidorina[] = INCBIN_U8("graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nidorina[] = INCBIN_U32("graphics/pokemon/front_pics/nidorina_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/palettes/nidorina_palette.gbapal.lz");
+const u32 gMonBackPic_Nidorina[] = INCBIN_U32("graphics/pokemon/back_pics/nidorina_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nidorina[] = INCBIN_U32("graphics/pokemon/palettes/nidorina_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nidorina[] = INCBIN_U8("graphics/pokemon/icons/nidorina_icon.4bpp");
const u8 gMonFootprint_Nidorina[] = INCBIN_U8("graphics/pokemon/footprints/nidorina_footprint.1bpp");
-const u8 gMonStillFrontPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nidoqueen[] = INCBIN_U8("graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz");
-const u8 gMonBackPic_Nidoqueen[] = INCBIN_U8("graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nidoqueen[] = INCBIN_U8("graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/front_pics/nidoqueen_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/palettes/nidoqueen_palette.gbapal.lz");
+const u32 gMonBackPic_Nidoqueen[] = INCBIN_U32("graphics/pokemon/back_pics/nidoqueen_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nidoqueen[] = INCBIN_U32("graphics/pokemon/palettes/nidoqueen_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nidoqueen[] = INCBIN_U8("graphics/pokemon/icons/nidoqueen_icon.4bpp");
const u8 gMonFootprint_Nidoqueen[] = INCBIN_U8("graphics/pokemon/footprints/nidoqueen_footprint.1bpp");
-const u8 gMonStillFrontPic_NidoranM[] = INCBIN_U8("graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz");
-const u8 gMonPalette_NidoranM[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz");
-const u8 gMonBackPic_NidoranM[] = INCBIN_U8("graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_NidoranM[] = INCBIN_U8("graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_NidoranM[] = INCBIN_U32("graphics/pokemon/front_pics/nidoran_m_still_front_pic.4bpp.lz");
+const u32 gMonPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_m_palette.gbapal.lz");
+const u32 gMonBackPic_NidoranM[] = INCBIN_U32("graphics/pokemon/back_pics/nidoran_m_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_NidoranM[] = INCBIN_U32("graphics/pokemon/palettes/nidoran_m_shiny_palette.gbapal.lz");
const u8 gMonIcon_NidoranM[] = INCBIN_U8("graphics/pokemon/icons/nidoran_m_icon.4bpp");
const u8 gMonFootprint_NidoranM[] = INCBIN_U8("graphics/pokemon/footprints/nidoran_m_footprint.1bpp");
-const u8 gMonStillFrontPic_Nidorino[] = INCBIN_U8("graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nidorino[] = INCBIN_U8("graphics/pokemon/palettes/nidorino_palette.gbapal.lz");
-const u8 gMonBackPic_Nidorino[] = INCBIN_U8("graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nidorino[] = INCBIN_U8("graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nidorino[] = INCBIN_U32("graphics/pokemon/front_pics/nidorino_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/palettes/nidorino_palette.gbapal.lz");
+const u32 gMonBackPic_Nidorino[] = INCBIN_U32("graphics/pokemon/back_pics/nidorino_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nidorino[] = INCBIN_U32("graphics/pokemon/palettes/nidorino_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nidorino[] = INCBIN_U8("graphics/pokemon/icons/nidorino_icon.4bpp");
const u8 gMonFootprint_Nidorino[] = INCBIN_U8("graphics/pokemon/footprints/nidorino_footprint.1bpp");
-const u8 gMonStillFrontPic_Nidoking[] = INCBIN_U8("graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nidoking[] = INCBIN_U8("graphics/pokemon/palettes/nidoking_palette.gbapal.lz");
-const u8 gMonBackPic_Nidoking[] = INCBIN_U8("graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nidoking[] = INCBIN_U8("graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nidoking[] = INCBIN_U32("graphics/pokemon/front_pics/nidoking_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/palettes/nidoking_palette.gbapal.lz");
+const u32 gMonBackPic_Nidoking[] = INCBIN_U32("graphics/pokemon/back_pics/nidoking_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nidoking[] = INCBIN_U32("graphics/pokemon/palettes/nidoking_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nidoking[] = INCBIN_U8("graphics/pokemon/icons/nidoking_icon.4bpp");
const u8 gMonFootprint_Nidoking[] = INCBIN_U8("graphics/pokemon/footprints/nidoking_footprint.1bpp");
-const u8 gMonStillFrontPic_Clefairy[] = INCBIN_U8("graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Clefairy[] = INCBIN_U8("graphics/pokemon/palettes/clefairy_palette.gbapal.lz");
-const u8 gMonBackPic_Clefairy[] = INCBIN_U8("graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Clefairy[] = INCBIN_U8("graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Clefairy[] = INCBIN_U32("graphics/pokemon/front_pics/clefairy_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/palettes/clefairy_palette.gbapal.lz");
+const u32 gMonBackPic_Clefairy[] = INCBIN_U32("graphics/pokemon/back_pics/clefairy_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Clefairy[] = INCBIN_U32("graphics/pokemon/palettes/clefairy_shiny_palette.gbapal.lz");
const u8 gMonIcon_Clefairy[] = INCBIN_U8("graphics/pokemon/icons/clefairy_icon.4bpp");
const u8 gMonFootprint_Clefairy[] = INCBIN_U8("graphics/pokemon/footprints/clefairy_footprint.1bpp");
-const u8 gMonStillFrontPic_Clefable[] = INCBIN_U8("graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Clefable[] = INCBIN_U8("graphics/pokemon/palettes/clefable_palette.gbapal.lz");
-const u8 gMonBackPic_Clefable[] = INCBIN_U8("graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Clefable[] = INCBIN_U8("graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Clefable[] = INCBIN_U32("graphics/pokemon/front_pics/clefable_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Clefable[] = INCBIN_U32("graphics/pokemon/palettes/clefable_palette.gbapal.lz");
+const u32 gMonBackPic_Clefable[] = INCBIN_U32("graphics/pokemon/back_pics/clefable_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Clefable[] = INCBIN_U32("graphics/pokemon/palettes/clefable_shiny_palette.gbapal.lz");
const u8 gMonIcon_Clefable[] = INCBIN_U8("graphics/pokemon/icons/clefable_icon.4bpp");
const u8 gMonFootprint_Clefable[] = INCBIN_U8("graphics/pokemon/footprints/clefable_footprint.1bpp");
-const u8 gMonStillFrontPic_Vulpix[] = INCBIN_U8("graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Vulpix[] = INCBIN_U8("graphics/pokemon/palettes/vulpix_palette.gbapal.lz");
-const u8 gMonBackPic_Vulpix[] = INCBIN_U8("graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Vulpix[] = INCBIN_U8("graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Vulpix[] = INCBIN_U32("graphics/pokemon/front_pics/vulpix_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/palettes/vulpix_palette.gbapal.lz");
+const u32 gMonBackPic_Vulpix[] = INCBIN_U32("graphics/pokemon/back_pics/vulpix_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Vulpix[] = INCBIN_U32("graphics/pokemon/palettes/vulpix_shiny_palette.gbapal.lz");
const u8 gMonIcon_Vulpix[] = INCBIN_U8("graphics/pokemon/icons/vulpix_icon.4bpp");
const u8 gMonFootprint_Vulpix[] = INCBIN_U8("graphics/pokemon/footprints/vulpix_footprint.1bpp");
-const u8 gMonStillFrontPic_Ninetales[] = INCBIN_U8("graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ninetales[] = INCBIN_U8("graphics/pokemon/palettes/ninetales_palette.gbapal.lz");
-const u8 gMonBackPic_Ninetales[] = INCBIN_U8("graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ninetales[] = INCBIN_U8("graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/front_pics/ninetales_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/palettes/ninetales_palette.gbapal.lz");
+const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/back_pics/ninetales_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ninetales[] = INCBIN_U32("graphics/pokemon/palettes/ninetales_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ninetales[] = INCBIN_U8("graphics/pokemon/icons/ninetales_icon.4bpp");
const u8 gMonFootprint_Ninetales[] = INCBIN_U8("graphics/pokemon/footprints/ninetales_footprint.1bpp");
-const u8 gMonStillFrontPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Jigglypuff[] = INCBIN_U8("graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz");
-const u8 gMonBackPic_Jigglypuff[] = INCBIN_U8("graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Jigglypuff[] = INCBIN_U8("graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/front_pics/jigglypuff_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/palettes/jigglypuff_palette.gbapal.lz");
+const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/back_pics/jigglypuff_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Jigglypuff[] = INCBIN_U32("graphics/pokemon/palettes/jigglypuff_shiny_palette.gbapal.lz");
const u8 gMonIcon_Jigglypuff[] = INCBIN_U8("graphics/pokemon/icons/jigglypuff_icon.4bpp");
const u8 gMonFootprint_Jigglypuff[] = INCBIN_U8("graphics/pokemon/footprints/jigglypuff_footprint.1bpp");
-const u8 gMonStillFrontPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wigglytuff[] = INCBIN_U8("graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz");
-const u8 gMonBackPic_Wigglytuff[] = INCBIN_U8("graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wigglytuff[] = INCBIN_U8("graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/front_pics/wigglytuff_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/palettes/wigglytuff_palette.gbapal.lz");
+const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/back_pics/wigglytuff_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wigglytuff[] = INCBIN_U32("graphics/pokemon/palettes/wigglytuff_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wigglytuff[] = INCBIN_U8("graphics/pokemon/icons/wigglytuff_icon.4bpp");
const u8 gMonFootprint_Wigglytuff[] = INCBIN_U8("graphics/pokemon/footprints/wigglytuff_footprint.1bpp");
-const u8 gMonStillFrontPic_Zubat[] = INCBIN_U8("graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Zubat[] = INCBIN_U8("graphics/pokemon/palettes/zubat_palette.gbapal.lz");
-const u8 gMonBackPic_Zubat[] = INCBIN_U8("graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Zubat[] = INCBIN_U8("graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/front_pics/zubat_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Zubat[] = INCBIN_U32("graphics/pokemon/palettes/zubat_palette.gbapal.lz");
+const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/back_pics/zubat_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Zubat[] = INCBIN_U32("graphics/pokemon/palettes/zubat_shiny_palette.gbapal.lz");
const u8 gMonIcon_Zubat[] = INCBIN_U8("graphics/pokemon/icons/zubat_icon.4bpp");
const u8 gMonFootprint_Zubat[] = INCBIN_U8("graphics/pokemon/footprints/zubat_footprint.1bpp");
-const u8 gMonStillFrontPic_Golbat[] = INCBIN_U8("graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Golbat[] = INCBIN_U8("graphics/pokemon/palettes/golbat_palette.gbapal.lz");
-const u8 gMonBackPic_Golbat[] = INCBIN_U8("graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Golbat[] = INCBIN_U8("graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/front_pics/golbat_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Golbat[] = INCBIN_U32("graphics/pokemon/palettes/golbat_palette.gbapal.lz");
+const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/back_pics/golbat_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Golbat[] = INCBIN_U32("graphics/pokemon/palettes/golbat_shiny_palette.gbapal.lz");
const u8 gMonIcon_Golbat[] = INCBIN_U8("graphics/pokemon/icons/golbat_icon.4bpp");
const u8 gMonFootprint_Golbat[] = INCBIN_U8("graphics/pokemon/footprints/golbat_footprint.1bpp");
-const u8 gMonStillFrontPic_Oddish[] = INCBIN_U8("graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Oddish[] = INCBIN_U8("graphics/pokemon/palettes/oddish_palette.gbapal.lz");
-const u8 gMonBackPic_Oddish[] = INCBIN_U8("graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Oddish[] = INCBIN_U8("graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/front_pics/oddish_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Oddish[] = INCBIN_U32("graphics/pokemon/palettes/oddish_palette.gbapal.lz");
+const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/back_pics/oddish_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Oddish[] = INCBIN_U32("graphics/pokemon/palettes/oddish_shiny_palette.gbapal.lz");
const u8 gMonIcon_Oddish[] = INCBIN_U8("graphics/pokemon/icons/oddish_icon.4bpp");
const u8 gMonFootprint_Oddish[] = INCBIN_U8("graphics/pokemon/footprints/oddish_footprint.1bpp");
-const u8 gMonStillFrontPic_Gloom[] = INCBIN_U8("graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gloom[] = INCBIN_U8("graphics/pokemon/palettes/gloom_palette.gbapal.lz");
-const u8 gMonBackPic_Gloom[] = INCBIN_U8("graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gloom[] = INCBIN_U8("graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/front_pics/gloom_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gloom[] = INCBIN_U32("graphics/pokemon/palettes/gloom_palette.gbapal.lz");
+const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/back_pics/gloom_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gloom[] = INCBIN_U32("graphics/pokemon/palettes/gloom_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gloom[] = INCBIN_U8("graphics/pokemon/icons/gloom_icon.4bpp");
const u8 gMonFootprint_Gloom[] = INCBIN_U8("graphics/pokemon/footprints/gloom_footprint.1bpp");
-const u8 gMonStillFrontPic_Vileplume[] = INCBIN_U8("graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Vileplume[] = INCBIN_U8("graphics/pokemon/palettes/vileplume_palette.gbapal.lz");
-const u8 gMonBackPic_Vileplume[] = INCBIN_U8("graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Vileplume[] = INCBIN_U8("graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/front_pics/vileplume_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/palettes/vileplume_palette.gbapal.lz");
+const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/back_pics/vileplume_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Vileplume[] = INCBIN_U32("graphics/pokemon/palettes/vileplume_shiny_palette.gbapal.lz");
const u8 gMonIcon_Vileplume[] = INCBIN_U8("graphics/pokemon/icons/vileplume_icon.4bpp");
const u8 gMonFootprint_Vileplume[] = INCBIN_U8("graphics/pokemon/footprints/vileplume_footprint.1bpp");
-const u8 gMonStillFrontPic_Paras[] = INCBIN_U8("graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Paras[] = INCBIN_U8("graphics/pokemon/palettes/paras_palette.gbapal.lz");
-const u8 gMonBackPic_Paras[] = INCBIN_U8("graphics/pokemon/back_pics/paras_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Paras[] = INCBIN_U8("graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/front_pics/paras_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Paras[] = INCBIN_U32("graphics/pokemon/palettes/paras_palette.gbapal.lz");
+const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/back_pics/paras_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Paras[] = INCBIN_U32("graphics/pokemon/palettes/paras_shiny_palette.gbapal.lz");
const u8 gMonIcon_Paras[] = INCBIN_U8("graphics/pokemon/icons/paras_icon.4bpp");
const u8 gMonFootprint_Paras[] = INCBIN_U8("graphics/pokemon/footprints/paras_footprint.1bpp");
-const u8 gMonStillFrontPic_Parasect[] = INCBIN_U8("graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Parasect[] = INCBIN_U8("graphics/pokemon/palettes/parasect_palette.gbapal.lz");
-const u8 gMonBackPic_Parasect[] = INCBIN_U8("graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Parasect[] = INCBIN_U8("graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/front_pics/parasect_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Parasect[] = INCBIN_U32("graphics/pokemon/palettes/parasect_palette.gbapal.lz");
+const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/back_pics/parasect_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Parasect[] = INCBIN_U32("graphics/pokemon/palettes/parasect_shiny_palette.gbapal.lz");
const u8 gMonIcon_Parasect[] = INCBIN_U8("graphics/pokemon/icons/parasect_icon.4bpp");
const u8 gMonFootprint_Parasect[] = INCBIN_U8("graphics/pokemon/footprints/parasect_footprint.1bpp");
-const u8 gMonStillFrontPic_Venonat[] = INCBIN_U8("graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Venonat[] = INCBIN_U8("graphics/pokemon/palettes/venonat_palette.gbapal.lz");
-const u8 gMonBackPic_Venonat[] = INCBIN_U8("graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Venonat[] = INCBIN_U8("graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/front_pics/venonat_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Venonat[] = INCBIN_U32("graphics/pokemon/palettes/venonat_palette.gbapal.lz");
+const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/back_pics/venonat_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Venonat[] = INCBIN_U32("graphics/pokemon/palettes/venonat_shiny_palette.gbapal.lz");
const u8 gMonIcon_Venonat[] = INCBIN_U8("graphics/pokemon/icons/venonat_icon.4bpp");
const u8 gMonFootprint_Venonat[] = INCBIN_U8("graphics/pokemon/footprints/venonat_footprint.1bpp");
-const u8 gMonStillFrontPic_Venomoth[] = INCBIN_U8("graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Venomoth[] = INCBIN_U8("graphics/pokemon/palettes/venomoth_palette.gbapal.lz");
-const u8 gMonBackPic_Venomoth[] = INCBIN_U8("graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Venomoth[] = INCBIN_U8("graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Venomoth[] = INCBIN_U32("graphics/pokemon/front_pics/venomoth_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/palettes/venomoth_palette.gbapal.lz");
+const u32 gMonBackPic_Venomoth[] = INCBIN_U32("graphics/pokemon/back_pics/venomoth_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Venomoth[] = INCBIN_U32("graphics/pokemon/palettes/venomoth_shiny_palette.gbapal.lz");
const u8 gMonIcon_Venomoth[] = INCBIN_U8("graphics/pokemon/icons/venomoth_icon.4bpp");
const u8 gMonFootprint_Venomoth[] = INCBIN_U8("graphics/pokemon/footprints/venomoth_footprint.1bpp");
-const u8 gMonStillFrontPic_Diglett[] = INCBIN_U8("graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Diglett[] = INCBIN_U8("graphics/pokemon/palettes/diglett_palette.gbapal.lz");
-const u8 gMonBackPic_Diglett[] = INCBIN_U8("graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Diglett[] = INCBIN_U8("graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Diglett[] = INCBIN_U32("graphics/pokemon/front_pics/diglett_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Diglett[] = INCBIN_U32("graphics/pokemon/palettes/diglett_palette.gbapal.lz");
+const u32 gMonBackPic_Diglett[] = INCBIN_U32("graphics/pokemon/back_pics/diglett_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Diglett[] = INCBIN_U32("graphics/pokemon/palettes/diglett_shiny_palette.gbapal.lz");
const u8 gMonIcon_Diglett[] = INCBIN_U8("graphics/pokemon/icons/diglett_icon.4bpp");
const u8 gMonFootprint_Diglett[] = INCBIN_U8("graphics/pokemon/footprints/diglett_footprint.1bpp");
-const u8 gMonStillFrontPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dugtrio[] = INCBIN_U8("graphics/pokemon/palettes/dugtrio_palette.gbapal.lz");
-const u8 gMonBackPic_Dugtrio[] = INCBIN_U8("graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dugtrio[] = INCBIN_U8("graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/front_pics/dugtrio_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/palettes/dugtrio_palette.gbapal.lz");
+const u32 gMonBackPic_Dugtrio[] = INCBIN_U32("graphics/pokemon/back_pics/dugtrio_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dugtrio[] = INCBIN_U32("graphics/pokemon/palettes/dugtrio_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dugtrio[] = INCBIN_U8("graphics/pokemon/icons/dugtrio_icon.4bpp");
const u8 gMonFootprint_Dugtrio[] = INCBIN_U8("graphics/pokemon/footprints/dugtrio_footprint.1bpp");
-const u8 gMonStillFrontPic_Meowth[] = INCBIN_U8("graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Meowth[] = INCBIN_U8("graphics/pokemon/palettes/meowth_palette.gbapal.lz");
-const u8 gMonBackPic_Meowth[] = INCBIN_U8("graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Meowth[] = INCBIN_U8("graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Meowth[] = INCBIN_U32("graphics/pokemon/front_pics/meowth_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Meowth[] = INCBIN_U32("graphics/pokemon/palettes/meowth_palette.gbapal.lz");
+const u32 gMonBackPic_Meowth[] = INCBIN_U32("graphics/pokemon/back_pics/meowth_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Meowth[] = INCBIN_U32("graphics/pokemon/palettes/meowth_shiny_palette.gbapal.lz");
const u8 gMonIcon_Meowth[] = INCBIN_U8("graphics/pokemon/icons/meowth_icon.4bpp");
const u8 gMonFootprint_Meowth[] = INCBIN_U8("graphics/pokemon/footprints/meowth_footprint.1bpp");
-const u8 gMonStillFrontPic_Persian[] = INCBIN_U8("graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Persian[] = INCBIN_U8("graphics/pokemon/palettes/persian_palette.gbapal.lz");
-const u8 gMonBackPic_Persian[] = INCBIN_U8("graphics/pokemon/back_pics/persian_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Persian[] = INCBIN_U8("graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Persian[] = INCBIN_U32("graphics/pokemon/front_pics/persian_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Persian[] = INCBIN_U32("graphics/pokemon/palettes/persian_palette.gbapal.lz");
+const u32 gMonBackPic_Persian[] = INCBIN_U32("graphics/pokemon/back_pics/persian_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Persian[] = INCBIN_U32("graphics/pokemon/palettes/persian_shiny_palette.gbapal.lz");
const u8 gMonIcon_Persian[] = INCBIN_U8("graphics/pokemon/icons/persian_icon.4bpp");
const u8 gMonFootprint_Persian[] = INCBIN_U8("graphics/pokemon/footprints/persian_footprint.1bpp");
-const u8 gMonStillFrontPic_Psyduck[] = INCBIN_U8("graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Psyduck[] = INCBIN_U8("graphics/pokemon/palettes/psyduck_palette.gbapal.lz");
-const u8 gMonBackPic_Psyduck[] = INCBIN_U8("graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Psyduck[] = INCBIN_U8("graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Psyduck[] = INCBIN_U32("graphics/pokemon/front_pics/psyduck_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/palettes/psyduck_palette.gbapal.lz");
+const u32 gMonBackPic_Psyduck[] = INCBIN_U32("graphics/pokemon/back_pics/psyduck_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Psyduck[] = INCBIN_U32("graphics/pokemon/palettes/psyduck_shiny_palette.gbapal.lz");
const u8 gMonIcon_Psyduck[] = INCBIN_U8("graphics/pokemon/icons/psyduck_icon.4bpp");
const u8 gMonFootprint_Psyduck[] = INCBIN_U8("graphics/pokemon/footprints/psyduck_footprint.1bpp");
-const u8 gMonStillFrontPic_Golduck[] = INCBIN_U8("graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Golduck[] = INCBIN_U8("graphics/pokemon/palettes/golduck_palette.gbapal.lz");
-const u8 gMonBackPic_Golduck[] = INCBIN_U8("graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Golduck[] = INCBIN_U8("graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Golduck[] = INCBIN_U32("graphics/pokemon/front_pics/golduck_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Golduck[] = INCBIN_U32("graphics/pokemon/palettes/golduck_palette.gbapal.lz");
+const u32 gMonBackPic_Golduck[] = INCBIN_U32("graphics/pokemon/back_pics/golduck_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Golduck[] = INCBIN_U32("graphics/pokemon/palettes/golduck_shiny_palette.gbapal.lz");
const u8 gMonIcon_Golduck[] = INCBIN_U8("graphics/pokemon/icons/golduck_icon.4bpp");
const u8 gMonFootprint_Golduck[] = INCBIN_U8("graphics/pokemon/footprints/golduck_footprint.1bpp");
-const u8 gMonStillFrontPic_Mankey[] = INCBIN_U8("graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mankey[] = INCBIN_U8("graphics/pokemon/palettes/mankey_palette.gbapal.lz");
-const u8 gMonBackPic_Mankey[] = INCBIN_U8("graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mankey[] = INCBIN_U8("graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mankey[] = INCBIN_U32("graphics/pokemon/front_pics/mankey_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mankey[] = INCBIN_U32("graphics/pokemon/palettes/mankey_palette.gbapal.lz");
+const u32 gMonBackPic_Mankey[] = INCBIN_U32("graphics/pokemon/back_pics/mankey_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mankey[] = INCBIN_U32("graphics/pokemon/palettes/mankey_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mankey[] = INCBIN_U8("graphics/pokemon/icons/mankey_icon.4bpp");
const u8 gMonFootprint_Mankey[] = INCBIN_U8("graphics/pokemon/footprints/mankey_footprint.1bpp");
-const u8 gMonStillFrontPic_Primeape[] = INCBIN_U8("graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Primeape[] = INCBIN_U8("graphics/pokemon/palettes/primeape_palette.gbapal.lz");
-const u8 gMonBackPic_Primeape[] = INCBIN_U8("graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Primeape[] = INCBIN_U8("graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Primeape[] = INCBIN_U32("graphics/pokemon/front_pics/primeape_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Primeape[] = INCBIN_U32("graphics/pokemon/palettes/primeape_palette.gbapal.lz");
+const u32 gMonBackPic_Primeape[] = INCBIN_U32("graphics/pokemon/back_pics/primeape_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Primeape[] = INCBIN_U32("graphics/pokemon/palettes/primeape_shiny_palette.gbapal.lz");
const u8 gMonIcon_Primeape[] = INCBIN_U8("graphics/pokemon/icons/primeape_icon.4bpp");
const u8 gMonFootprint_Primeape[] = INCBIN_U8("graphics/pokemon/footprints/primeape_footprint.1bpp");
-const u8 gMonStillFrontPic_Growlithe[] = INCBIN_U8("graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Growlithe[] = INCBIN_U8("graphics/pokemon/palettes/growlithe_palette.gbapal.lz");
-const u8 gMonBackPic_Growlithe[] = INCBIN_U8("graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Growlithe[] = INCBIN_U8("graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Growlithe[] = INCBIN_U32("graphics/pokemon/front_pics/growlithe_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/palettes/growlithe_palette.gbapal.lz");
+const u32 gMonBackPic_Growlithe[] = INCBIN_U32("graphics/pokemon/back_pics/growlithe_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Growlithe[] = INCBIN_U32("graphics/pokemon/palettes/growlithe_shiny_palette.gbapal.lz");
const u8 gMonIcon_Growlithe[] = INCBIN_U8("graphics/pokemon/icons/growlithe_icon.4bpp");
const u8 gMonFootprint_Growlithe[] = INCBIN_U8("graphics/pokemon/footprints/growlithe_footprint.1bpp");
-const u8 gMonStillFrontPic_Arcanine[] = INCBIN_U8("graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Arcanine[] = INCBIN_U8("graphics/pokemon/palettes/arcanine_palette.gbapal.lz");
-const u8 gMonBackPic_Arcanine[] = INCBIN_U8("graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Arcanine[] = INCBIN_U8("graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Arcanine[] = INCBIN_U32("graphics/pokemon/front_pics/arcanine_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/palettes/arcanine_palette.gbapal.lz");
+const u32 gMonBackPic_Arcanine[] = INCBIN_U32("graphics/pokemon/back_pics/arcanine_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Arcanine[] = INCBIN_U32("graphics/pokemon/palettes/arcanine_shiny_palette.gbapal.lz");
const u8 gMonIcon_Arcanine[] = INCBIN_U8("graphics/pokemon/icons/arcanine_icon.4bpp");
const u8 gMonFootprint_Arcanine[] = INCBIN_U8("graphics/pokemon/footprints/arcanine_footprint.1bpp");
-const u8 gMonStillFrontPic_Poliwag[] = INCBIN_U8("graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Poliwag[] = INCBIN_U8("graphics/pokemon/palettes/poliwag_palette.gbapal.lz");
-const u8 gMonBackPic_Poliwag[] = INCBIN_U8("graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Poliwag[] = INCBIN_U8("graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Poliwag[] = INCBIN_U32("graphics/pokemon/front_pics/poliwag_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/palettes/poliwag_palette.gbapal.lz");
+const u32 gMonBackPic_Poliwag[] = INCBIN_U32("graphics/pokemon/back_pics/poliwag_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Poliwag[] = INCBIN_U32("graphics/pokemon/palettes/poliwag_shiny_palette.gbapal.lz");
const u8 gMonIcon_Poliwag[] = INCBIN_U8("graphics/pokemon/icons/poliwag_icon.4bpp");
const u8 gMonFootprint_Poliwag[] = INCBIN_U8("graphics/pokemon/footprints/poliwag_footprint.1bpp");
-const u8 gMonStillFrontPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Poliwhirl[] = INCBIN_U8("graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz");
-const u8 gMonBackPic_Poliwhirl[] = INCBIN_U8("graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Poliwhirl[] = INCBIN_U8("graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/front_pics/poliwhirl_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/palettes/poliwhirl_palette.gbapal.lz");
+const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/back_pics/poliwhirl_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Poliwhirl[] = INCBIN_U32("graphics/pokemon/palettes/poliwhirl_shiny_palette.gbapal.lz");
const u8 gMonIcon_Poliwhirl[] = INCBIN_U8("graphics/pokemon/icons/poliwhirl_icon.4bpp");
const u8 gMonFootprint_Poliwhirl[] = INCBIN_U8("graphics/pokemon/footprints/poliwhirl_footprint.1bpp");
-const u8 gMonStillFrontPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Poliwrath[] = INCBIN_U8("graphics/pokemon/palettes/poliwrath_palette.gbapal.lz");
-const u8 gMonBackPic_Poliwrath[] = INCBIN_U8("graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Poliwrath[] = INCBIN_U8("graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/front_pics/poliwrath_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/palettes/poliwrath_palette.gbapal.lz");
+const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/back_pics/poliwrath_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Poliwrath[] = INCBIN_U32("graphics/pokemon/palettes/poliwrath_shiny_palette.gbapal.lz");
const u8 gMonIcon_Poliwrath[] = INCBIN_U8("graphics/pokemon/icons/poliwrath_icon.4bpp");
const u8 gMonFootprint_Poliwrath[] = INCBIN_U8("graphics/pokemon/footprints/poliwrath_footprint.1bpp");
-const u8 gMonStillFrontPic_Abra[] = INCBIN_U8("graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Abra[] = INCBIN_U8("graphics/pokemon/palettes/abra_palette.gbapal.lz");
-const u8 gMonBackPic_Abra[] = INCBIN_U8("graphics/pokemon/back_pics/abra_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Abra[] = INCBIN_U8("graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/front_pics/abra_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Abra[] = INCBIN_U32("graphics/pokemon/palettes/abra_palette.gbapal.lz");
+const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/back_pics/abra_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Abra[] = INCBIN_U32("graphics/pokemon/palettes/abra_shiny_palette.gbapal.lz");
const u8 gMonIcon_Abra[] = INCBIN_U8("graphics/pokemon/icons/abra_icon.4bpp");
const u8 gMonFootprint_Abra[] = INCBIN_U8("graphics/pokemon/footprints/abra_footprint.1bpp");
-const u8 gMonStillFrontPic_Kadabra[] = INCBIN_U8("graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kadabra[] = INCBIN_U8("graphics/pokemon/palettes/kadabra_palette.gbapal.lz");
-const u8 gMonBackPic_Kadabra[] = INCBIN_U8("graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kadabra[] = INCBIN_U8("graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/front_pics/kadabra_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/palettes/kadabra_palette.gbapal.lz");
+const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/back_pics/kadabra_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kadabra[] = INCBIN_U32("graphics/pokemon/palettes/kadabra_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kadabra[] = INCBIN_U8("graphics/pokemon/icons/kadabra_icon.4bpp");
const u8 gMonFootprint_Kadabra[] = INCBIN_U8("graphics/pokemon/footprints/kadabra_footprint.1bpp");
-const u8 gMonStillFrontPic_Alakazam[] = INCBIN_U8("graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Alakazam[] = INCBIN_U8("graphics/pokemon/palettes/alakazam_palette.gbapal.lz");
-const u8 gMonBackPic_Alakazam[] = INCBIN_U8("graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Alakazam[] = INCBIN_U8("graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/front_pics/alakazam_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/palettes/alakazam_palette.gbapal.lz");
+const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/back_pics/alakazam_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Alakazam[] = INCBIN_U32("graphics/pokemon/palettes/alakazam_shiny_palette.gbapal.lz");
const u8 gMonIcon_Alakazam[] = INCBIN_U8("graphics/pokemon/icons/alakazam_icon.4bpp");
const u8 gMonFootprint_Alakazam[] = INCBIN_U8("graphics/pokemon/footprints/alakazam_footprint.1bpp");
-const u8 gMonStillFrontPic_Machop[] = INCBIN_U8("graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Machop[] = INCBIN_U8("graphics/pokemon/palettes/machop_palette.gbapal.lz");
-const u8 gMonBackPic_Machop[] = INCBIN_U8("graphics/pokemon/back_pics/machop_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Machop[] = INCBIN_U8("graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/front_pics/machop_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Machop[] = INCBIN_U32("graphics/pokemon/palettes/machop_palette.gbapal.lz");
+const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/back_pics/machop_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Machop[] = INCBIN_U32("graphics/pokemon/palettes/machop_shiny_palette.gbapal.lz");
const u8 gMonIcon_Machop[] = INCBIN_U8("graphics/pokemon/icons/machop_icon.4bpp");
const u8 gMonFootprint_Machop[] = INCBIN_U8("graphics/pokemon/footprints/machop_footprint.1bpp");
-const u8 gMonStillFrontPic_Machoke[] = INCBIN_U8("graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Machoke[] = INCBIN_U8("graphics/pokemon/palettes/machoke_palette.gbapal.lz");
-const u8 gMonBackPic_Machoke[] = INCBIN_U8("graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Machoke[] = INCBIN_U8("graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/front_pics/machoke_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Machoke[] = INCBIN_U32("graphics/pokemon/palettes/machoke_palette.gbapal.lz");
+const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/back_pics/machoke_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Machoke[] = INCBIN_U32("graphics/pokemon/palettes/machoke_shiny_palette.gbapal.lz");
const u8 gMonIcon_Machoke[] = INCBIN_U8("graphics/pokemon/icons/machoke_icon.4bpp");
const u8 gMonFootprint_Machoke[] = INCBIN_U8("graphics/pokemon/footprints/machoke_footprint.1bpp");
-const u8 gMonStillFrontPic_Machamp[] = INCBIN_U8("graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Machamp[] = INCBIN_U8("graphics/pokemon/palettes/machamp_palette.gbapal.lz");
-const u8 gMonBackPic_Machamp[] = INCBIN_U8("graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Machamp[] = INCBIN_U8("graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/front_pics/machamp_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Machamp[] = INCBIN_U32("graphics/pokemon/palettes/machamp_palette.gbapal.lz");
+const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/back_pics/machamp_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Machamp[] = INCBIN_U32("graphics/pokemon/palettes/machamp_shiny_palette.gbapal.lz");
const u8 gMonIcon_Machamp[] = INCBIN_U8("graphics/pokemon/icons/machamp_icon.4bpp");
const u8 gMonFootprint_Machamp[] = INCBIN_U8("graphics/pokemon/footprints/machamp_footprint.1bpp");
-const u8 gMonStillFrontPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Bellsprout[] = INCBIN_U8("graphics/pokemon/palettes/bellsprout_palette.gbapal.lz");
-const u8 gMonBackPic_Bellsprout[] = INCBIN_U8("graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Bellsprout[] = INCBIN_U8("graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/front_pics/bellsprout_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/palettes/bellsprout_palette.gbapal.lz");
+const u32 gMonBackPic_Bellsprout[] = INCBIN_U32("graphics/pokemon/back_pics/bellsprout_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Bellsprout[] = INCBIN_U32("graphics/pokemon/palettes/bellsprout_shiny_palette.gbapal.lz");
const u8 gMonIcon_Bellsprout[] = INCBIN_U8("graphics/pokemon/icons/bellsprout_icon.4bpp");
const u8 gMonFootprint_Bellsprout[] = INCBIN_U8("graphics/pokemon/footprints/bellsprout_footprint.1bpp");
-const u8 gMonStillFrontPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Weepinbell[] = INCBIN_U8("graphics/pokemon/palettes/weepinbell_palette.gbapal.lz");
-const u8 gMonBackPic_Weepinbell[] = INCBIN_U8("graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Weepinbell[] = INCBIN_U8("graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/front_pics/weepinbell_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/palettes/weepinbell_palette.gbapal.lz");
+const u32 gMonBackPic_Weepinbell[] = INCBIN_U32("graphics/pokemon/back_pics/weepinbell_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Weepinbell[] = INCBIN_U32("graphics/pokemon/palettes/weepinbell_shiny_palette.gbapal.lz");
const u8 gMonIcon_Weepinbell[] = INCBIN_U8("graphics/pokemon/icons/weepinbell_icon.4bpp");
const u8 gMonFootprint_Weepinbell[] = INCBIN_U8("graphics/pokemon/footprints/weepinbell_footprint.1bpp");
-const u8 gMonStillFrontPic_Victreebel[] = INCBIN_U8("graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Victreebel[] = INCBIN_U8("graphics/pokemon/palettes/victreebel_palette.gbapal.lz");
-const u8 gMonBackPic_Victreebel[] = INCBIN_U8("graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Victreebel[] = INCBIN_U8("graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Victreebel[] = INCBIN_U32("graphics/pokemon/front_pics/victreebel_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/palettes/victreebel_palette.gbapal.lz");
+const u32 gMonBackPic_Victreebel[] = INCBIN_U32("graphics/pokemon/back_pics/victreebel_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Victreebel[] = INCBIN_U32("graphics/pokemon/palettes/victreebel_shiny_palette.gbapal.lz");
const u8 gMonIcon_Victreebel[] = INCBIN_U8("graphics/pokemon/icons/victreebel_icon.4bpp");
const u8 gMonFootprint_Victreebel[] = INCBIN_U8("graphics/pokemon/footprints/victreebel_footprint.1bpp");
-const u8 gMonStillFrontPic_Tentacool[] = INCBIN_U8("graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tentacool[] = INCBIN_U8("graphics/pokemon/palettes/tentacool_palette.gbapal.lz");
-const u8 gMonBackPic_Tentacool[] = INCBIN_U8("graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tentacool[] = INCBIN_U8("graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tentacool[] = INCBIN_U32("graphics/pokemon/front_pics/tentacool_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/palettes/tentacool_palette.gbapal.lz");
+const u32 gMonBackPic_Tentacool[] = INCBIN_U32("graphics/pokemon/back_pics/tentacool_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tentacool[] = INCBIN_U32("graphics/pokemon/palettes/tentacool_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tentacool[] = INCBIN_U8("graphics/pokemon/icons/tentacool_icon.4bpp");
const u8 gMonFootprint_Tentacool[] = INCBIN_U8("graphics/pokemon/footprints/tentacool_footprint.1bpp");
-const u8 gMonStillFrontPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tentacruel[] = INCBIN_U8("graphics/pokemon/palettes/tentacruel_palette.gbapal.lz");
-const u8 gMonBackPic_Tentacruel[] = INCBIN_U8("graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tentacruel[] = INCBIN_U8("graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/front_pics/tentacruel_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/palettes/tentacruel_palette.gbapal.lz");
+const u32 gMonBackPic_Tentacruel[] = INCBIN_U32("graphics/pokemon/back_pics/tentacruel_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tentacruel[] = INCBIN_U32("graphics/pokemon/palettes/tentacruel_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tentacruel[] = INCBIN_U8("graphics/pokemon/icons/tentacruel_icon.4bpp");
const u8 gMonFootprint_Tentacruel[] = INCBIN_U8("graphics/pokemon/footprints/tentacruel_footprint.1bpp");
-const u8 gMonStillFrontPic_Geodude[] = INCBIN_U8("graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Geodude[] = INCBIN_U8("graphics/pokemon/palettes/geodude_palette.gbapal.lz");
-const u8 gMonBackPic_Geodude[] = INCBIN_U8("graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Geodude[] = INCBIN_U8("graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Geodude[] = INCBIN_U32("graphics/pokemon/front_pics/geodude_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Geodude[] = INCBIN_U32("graphics/pokemon/palettes/geodude_palette.gbapal.lz");
+const u32 gMonBackPic_Geodude[] = INCBIN_U32("graphics/pokemon/back_pics/geodude_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Geodude[] = INCBIN_U32("graphics/pokemon/palettes/geodude_shiny_palette.gbapal.lz");
const u8 gMonIcon_Geodude[] = INCBIN_U8("graphics/pokemon/icons/geodude_icon.4bpp");
const u8 gMonFootprint_Geodude[] = INCBIN_U8("graphics/pokemon/footprints/geodude_footprint.1bpp");
-const u8 gMonStillFrontPic_Graveler[] = INCBIN_U8("graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Graveler[] = INCBIN_U8("graphics/pokemon/palettes/graveler_palette.gbapal.lz");
-const u8 gMonBackPic_Graveler[] = INCBIN_U8("graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Graveler[] = INCBIN_U8("graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Graveler[] = INCBIN_U32("graphics/pokemon/front_pics/graveler_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Graveler[] = INCBIN_U32("graphics/pokemon/palettes/graveler_palette.gbapal.lz");
+const u32 gMonBackPic_Graveler[] = INCBIN_U32("graphics/pokemon/back_pics/graveler_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Graveler[] = INCBIN_U32("graphics/pokemon/palettes/graveler_shiny_palette.gbapal.lz");
const u8 gMonIcon_Graveler[] = INCBIN_U8("graphics/pokemon/icons/graveler_icon.4bpp");
const u8 gMonFootprint_Graveler[] = INCBIN_U8("graphics/pokemon/footprints/graveler_footprint.1bpp");
-const u8 gMonStillFrontPic_Golem[] = INCBIN_U8("graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Golem[] = INCBIN_U8("graphics/pokemon/palettes/golem_palette.gbapal.lz");
-const u8 gMonBackPic_Golem[] = INCBIN_U8("graphics/pokemon/back_pics/golem_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Golem[] = INCBIN_U8("graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Golem[] = INCBIN_U32("graphics/pokemon/front_pics/golem_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Golem[] = INCBIN_U32("graphics/pokemon/palettes/golem_palette.gbapal.lz");
+const u32 gMonBackPic_Golem[] = INCBIN_U32("graphics/pokemon/back_pics/golem_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Golem[] = INCBIN_U32("graphics/pokemon/palettes/golem_shiny_palette.gbapal.lz");
const u8 gMonIcon_Golem[] = INCBIN_U8("graphics/pokemon/icons/golem_icon.4bpp");
const u8 gMonFootprint_Golem[] = INCBIN_U8("graphics/pokemon/footprints/golem_footprint.1bpp");
-const u8 gMonStillFrontPic_Ponyta[] = INCBIN_U8("graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ponyta[] = INCBIN_U8("graphics/pokemon/palettes/ponyta_palette.gbapal.lz");
-const u8 gMonBackPic_Ponyta[] = INCBIN_U8("graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ponyta[] = INCBIN_U8("graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ponyta[] = INCBIN_U32("graphics/pokemon/front_pics/ponyta_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/palettes/ponyta_palette.gbapal.lz");
+const u32 gMonBackPic_Ponyta[] = INCBIN_U32("graphics/pokemon/back_pics/ponyta_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ponyta[] = INCBIN_U32("graphics/pokemon/palettes/ponyta_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ponyta[] = INCBIN_U8("graphics/pokemon/icons/ponyta_icon.4bpp");
const u8 gMonFootprint_Ponyta[] = INCBIN_U8("graphics/pokemon/footprints/ponyta_footprint.1bpp");
-const u8 gMonStillFrontPic_Rapidash[] = INCBIN_U8("graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Rapidash[] = INCBIN_U8("graphics/pokemon/palettes/rapidash_palette.gbapal.lz");
-const u8 gMonBackPic_Rapidash[] = INCBIN_U8("graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Rapidash[] = INCBIN_U8("graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Rapidash[] = INCBIN_U32("graphics/pokemon/front_pics/rapidash_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/palettes/rapidash_palette.gbapal.lz");
+const u32 gMonBackPic_Rapidash[] = INCBIN_U32("graphics/pokemon/back_pics/rapidash_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Rapidash[] = INCBIN_U32("graphics/pokemon/palettes/rapidash_shiny_palette.gbapal.lz");
const u8 gMonIcon_Rapidash[] = INCBIN_U8("graphics/pokemon/icons/rapidash_icon.4bpp");
const u8 gMonFootprint_Rapidash[] = INCBIN_U8("graphics/pokemon/footprints/rapidash_footprint.1bpp");
-const u8 gMonStillFrontPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Slowpoke[] = INCBIN_U8("graphics/pokemon/palettes/slowpoke_palette.gbapal.lz");
-const u8 gMonBackPic_Slowpoke[] = INCBIN_U8("graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Slowpoke[] = INCBIN_U8("graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/front_pics/slowpoke_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/palettes/slowpoke_palette.gbapal.lz");
+const u32 gMonBackPic_Slowpoke[] = INCBIN_U32("graphics/pokemon/back_pics/slowpoke_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Slowpoke[] = INCBIN_U32("graphics/pokemon/palettes/slowpoke_shiny_palette.gbapal.lz");
const u8 gMonIcon_Slowpoke[] = INCBIN_U8("graphics/pokemon/icons/slowpoke_icon.4bpp");
const u8 gMonFootprint_Slowpoke[] = INCBIN_U8("graphics/pokemon/footprints/slowpoke_footprint.1bpp");
-const u8 gMonStillFrontPic_Slowbro[] = INCBIN_U8("graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Slowbro[] = INCBIN_U8("graphics/pokemon/palettes/slowbro_palette.gbapal.lz");
-const u8 gMonBackPic_Slowbro[] = INCBIN_U8("graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Slowbro[] = INCBIN_U8("graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Slowbro[] = INCBIN_U32("graphics/pokemon/front_pics/slowbro_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/palettes/slowbro_palette.gbapal.lz");
+const u32 gMonBackPic_Slowbro[] = INCBIN_U32("graphics/pokemon/back_pics/slowbro_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Slowbro[] = INCBIN_U32("graphics/pokemon/palettes/slowbro_shiny_palette.gbapal.lz");
const u8 gMonIcon_Slowbro[] = INCBIN_U8("graphics/pokemon/icons/slowbro_icon.4bpp");
const u8 gMonFootprint_Slowbro[] = INCBIN_U8("graphics/pokemon/footprints/slowbro_footprint.1bpp");
-const u8 gMonStillFrontPic_Magnemite[] = INCBIN_U8("graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Magnemite[] = INCBIN_U8("graphics/pokemon/palettes/magnemite_palette.gbapal.lz");
-const u8 gMonBackPic_Magnemite[] = INCBIN_U8("graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Magnemite[] = INCBIN_U8("graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/front_pics/magnemite_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/palettes/magnemite_palette.gbapal.lz");
+const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/back_pics/magnemite_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Magnemite[] = INCBIN_U32("graphics/pokemon/palettes/magnemite_shiny_palette.gbapal.lz");
const u8 gMonIcon_Magnemite[] = INCBIN_U8("graphics/pokemon/icons/magnemite_icon.4bpp");
const u8 gMonFootprint_Magnemite[] = INCBIN_U8("graphics/pokemon/footprints/magnemite_footprint.1bpp");
-const u8 gMonStillFrontPic_Magneton[] = INCBIN_U8("graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Magneton[] = INCBIN_U8("graphics/pokemon/palettes/magneton_palette.gbapal.lz");
-const u8 gMonBackPic_Magneton[] = INCBIN_U8("graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Magneton[] = INCBIN_U8("graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/front_pics/magneton_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Magneton[] = INCBIN_U32("graphics/pokemon/palettes/magneton_palette.gbapal.lz");
+const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/back_pics/magneton_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Magneton[] = INCBIN_U32("graphics/pokemon/palettes/magneton_shiny_palette.gbapal.lz");
const u8 gMonIcon_Magneton[] = INCBIN_U8("graphics/pokemon/icons/magneton_icon.4bpp");
const u8 gMonFootprint_Magneton[] = INCBIN_U8("graphics/pokemon/footprints/magneton_footprint.1bpp");
-const u8 gMonStillFrontPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Farfetchd[] = INCBIN_U8("graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz");
-const u8 gMonBackPic_Farfetchd[] = INCBIN_U8("graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Farfetchd[] = INCBIN_U8("graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/front_pics/farfetch_d_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/palettes/farfetch_d_palette.gbapal.lz");
+const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/back_pics/farfetch_d_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Farfetchd[] = INCBIN_U32("graphics/pokemon/palettes/farfetch_d_shiny_palette.gbapal.lz");
const u8 gMonIcon_Farfetchd[] = INCBIN_U8("graphics/pokemon/icons/farfetch_d_icon.4bpp");
const u8 gMonFootprint_Farfetchd[] = INCBIN_U8("graphics/pokemon/footprints/farfetch_d_footprint.1bpp");
-const u8 gMonStillFrontPic_Doduo[] = INCBIN_U8("graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Doduo[] = INCBIN_U8("graphics/pokemon/palettes/doduo_palette.gbapal.lz");
-const u8 gMonBackPic_Doduo[] = INCBIN_U8("graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Doduo[] = INCBIN_U8("graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/front_pics/doduo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Doduo[] = INCBIN_U32("graphics/pokemon/palettes/doduo_palette.gbapal.lz");
+const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/back_pics/doduo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Doduo[] = INCBIN_U32("graphics/pokemon/palettes/doduo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Doduo[] = INCBIN_U8("graphics/pokemon/icons/doduo_icon.4bpp");
const u8 gMonFootprint_Doduo[] = INCBIN_U8("graphics/pokemon/footprints/doduo_footprint.1bpp");
-const u8 gMonStillFrontPic_Dodrio[] = INCBIN_U8("graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dodrio[] = INCBIN_U8("graphics/pokemon/palettes/dodrio_palette.gbapal.lz");
-const u8 gMonBackPic_Dodrio[] = INCBIN_U8("graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dodrio[] = INCBIN_U8("graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/front_pics/dodrio_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/palettes/dodrio_palette.gbapal.lz");
+const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/back_pics/dodrio_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dodrio[] = INCBIN_U32("graphics/pokemon/palettes/dodrio_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dodrio[] = INCBIN_U8("graphics/pokemon/icons/dodrio_icon.4bpp");
const u8 gMonFootprint_Dodrio[] = INCBIN_U8("graphics/pokemon/footprints/dodrio_footprint.1bpp");
-const u8 gMonStillFrontPic_Seel[] = INCBIN_U8("graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Seel[] = INCBIN_U8("graphics/pokemon/palettes/seel_palette.gbapal.lz");
-const u8 gMonBackPic_Seel[] = INCBIN_U8("graphics/pokemon/back_pics/seel_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Seel[] = INCBIN_U8("graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/front_pics/seel_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Seel[] = INCBIN_U32("graphics/pokemon/palettes/seel_palette.gbapal.lz");
+const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/back_pics/seel_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Seel[] = INCBIN_U32("graphics/pokemon/palettes/seel_shiny_palette.gbapal.lz");
const u8 gMonIcon_Seel[] = INCBIN_U8("graphics/pokemon/icons/seel_icon.4bpp");
const u8 gMonFootprint_Seel[] = INCBIN_U8("graphics/pokemon/footprints/seel_footprint.1bpp");
-const u8 gMonStillFrontPic_Dewgong[] = INCBIN_U8("graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dewgong[] = INCBIN_U8("graphics/pokemon/palettes/dewgong_palette.gbapal.lz");
-const u8 gMonBackPic_Dewgong[] = INCBIN_U8("graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dewgong[] = INCBIN_U8("graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/front_pics/dewgong_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/palettes/dewgong_palette.gbapal.lz");
+const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/back_pics/dewgong_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dewgong[] = INCBIN_U32("graphics/pokemon/palettes/dewgong_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dewgong[] = INCBIN_U8("graphics/pokemon/icons/dewgong_icon.4bpp");
const u8 gMonFootprint_Dewgong[] = INCBIN_U8("graphics/pokemon/footprints/dewgong_footprint.1bpp");
-const u8 gMonStillFrontPic_Grimer[] = INCBIN_U8("graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Grimer[] = INCBIN_U8("graphics/pokemon/palettes/grimer_palette.gbapal.lz");
-const u8 gMonBackPic_Grimer[] = INCBIN_U8("graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Grimer[] = INCBIN_U8("graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/front_pics/grimer_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Grimer[] = INCBIN_U32("graphics/pokemon/palettes/grimer_palette.gbapal.lz");
+const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/back_pics/grimer_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Grimer[] = INCBIN_U32("graphics/pokemon/palettes/grimer_shiny_palette.gbapal.lz");
const u8 gMonIcon_Grimer[] = INCBIN_U8("graphics/pokemon/icons/grimer_icon.4bpp");
const u8 gMonFootprint_Grimer[] = INCBIN_U8("graphics/pokemon/footprints/grimer_footprint.1bpp");
-const u8 gMonStillFrontPic_Muk[] = INCBIN_U8("graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Muk[] = INCBIN_U8("graphics/pokemon/palettes/muk_palette.gbapal.lz");
-const u8 gMonBackPic_Muk[] = INCBIN_U8("graphics/pokemon/back_pics/muk_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Muk[] = INCBIN_U8("graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Muk[] = INCBIN_U32("graphics/pokemon/front_pics/muk_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Muk[] = INCBIN_U32("graphics/pokemon/palettes/muk_palette.gbapal.lz");
+const u32 gMonBackPic_Muk[] = INCBIN_U32("graphics/pokemon/back_pics/muk_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Muk[] = INCBIN_U32("graphics/pokemon/palettes/muk_shiny_palette.gbapal.lz");
const u8 gMonIcon_Muk[] = INCBIN_U8("graphics/pokemon/icons/muk_icon.4bpp");
const u8 gMonFootprint_Muk[] = INCBIN_U8("graphics/pokemon/footprints/muk_footprint.1bpp");
-const u8 gMonStillFrontPic_Shellder[] = INCBIN_U8("graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shellder[] = INCBIN_U8("graphics/pokemon/palettes/shellder_palette.gbapal.lz");
-const u8 gMonBackPic_Shellder[] = INCBIN_U8("graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shellder[] = INCBIN_U8("graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shellder[] = INCBIN_U32("graphics/pokemon/front_pics/shellder_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shellder[] = INCBIN_U32("graphics/pokemon/palettes/shellder_palette.gbapal.lz");
+const u32 gMonBackPic_Shellder[] = INCBIN_U32("graphics/pokemon/back_pics/shellder_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shellder[] = INCBIN_U32("graphics/pokemon/palettes/shellder_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shellder[] = INCBIN_U8("graphics/pokemon/icons/shellder_icon.4bpp");
const u8 gMonFootprint_Shellder[] = INCBIN_U8("graphics/pokemon/footprints/shellder_footprint.1bpp");
-const u8 gMonStillFrontPic_Cloyster[] = INCBIN_U8("graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cloyster[] = INCBIN_U8("graphics/pokemon/palettes/cloyster_palette.gbapal.lz");
-const u8 gMonBackPic_Cloyster[] = INCBIN_U8("graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cloyster[] = INCBIN_U8("graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cloyster[] = INCBIN_U32("graphics/pokemon/front_pics/cloyster_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/palettes/cloyster_palette.gbapal.lz");
+const u32 gMonBackPic_Cloyster[] = INCBIN_U32("graphics/pokemon/back_pics/cloyster_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cloyster[] = INCBIN_U32("graphics/pokemon/palettes/cloyster_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cloyster[] = INCBIN_U8("graphics/pokemon/icons/cloyster_icon.4bpp");
const u8 gMonFootprint_Cloyster[] = INCBIN_U8("graphics/pokemon/footprints/cloyster_footprint.1bpp");
-const u8 gMonStillFrontPic_Gastly[] = INCBIN_U8("graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gastly[] = INCBIN_U8("graphics/pokemon/palettes/gastly_palette.gbapal.lz");
-const u8 gMonBackPic_Gastly[] = INCBIN_U8("graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gastly[] = INCBIN_U8("graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gastly[] = INCBIN_U32("graphics/pokemon/front_pics/gastly_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gastly[] = INCBIN_U32("graphics/pokemon/palettes/gastly_palette.gbapal.lz");
+const u32 gMonBackPic_Gastly[] = INCBIN_U32("graphics/pokemon/back_pics/gastly_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gastly[] = INCBIN_U32("graphics/pokemon/palettes/gastly_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gastly[] = INCBIN_U8("graphics/pokemon/icons/gastly_icon.4bpp");
const u8 gMonFootprint_Gastly[] = INCBIN_U8("graphics/pokemon/footprints/gastly_footprint.1bpp");
-const u8 gMonStillFrontPic_Haunter[] = INCBIN_U8("graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Haunter[] = INCBIN_U8("graphics/pokemon/palettes/haunter_palette.gbapal.lz");
-const u8 gMonBackPic_Haunter[] = INCBIN_U8("graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Haunter[] = INCBIN_U8("graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Haunter[] = INCBIN_U32("graphics/pokemon/front_pics/haunter_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Haunter[] = INCBIN_U32("graphics/pokemon/palettes/haunter_palette.gbapal.lz");
+const u32 gMonBackPic_Haunter[] = INCBIN_U32("graphics/pokemon/back_pics/haunter_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Haunter[] = INCBIN_U32("graphics/pokemon/palettes/haunter_shiny_palette.gbapal.lz");
const u8 gMonIcon_Haunter[] = INCBIN_U8("graphics/pokemon/icons/haunter_icon.4bpp");
const u8 gMonFootprint_Haunter[] = INCBIN_U8("graphics/pokemon/footprints/haunter_footprint.1bpp");
-const u8 gMonStillFrontPic_Gengar[] = INCBIN_U8("graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gengar[] = INCBIN_U8("graphics/pokemon/palettes/gengar_palette.gbapal.lz");
-const u8 gMonBackPic_Gengar[] = INCBIN_U8("graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gengar[] = INCBIN_U8("graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/front_pics/gengar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gengar[] = INCBIN_U32("graphics/pokemon/palettes/gengar_palette.gbapal.lz");
+const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/back_pics/gengar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gengar[] = INCBIN_U32("graphics/pokemon/palettes/gengar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gengar[] = INCBIN_U8("graphics/pokemon/icons/gengar_icon.4bpp");
const u8 gMonFootprint_Gengar[] = INCBIN_U8("graphics/pokemon/footprints/gengar_footprint.1bpp");
-const u8 gMonStillFrontPic_Onix[] = INCBIN_U8("graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Onix[] = INCBIN_U8("graphics/pokemon/palettes/onix_palette.gbapal.lz");
-const u8 gMonBackPic_Onix[] = INCBIN_U8("graphics/pokemon/back_pics/onix_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Onix[] = INCBIN_U8("graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/front_pics/onix_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Onix[] = INCBIN_U32("graphics/pokemon/palettes/onix_palette.gbapal.lz");
+const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/back_pics/onix_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Onix[] = INCBIN_U32("graphics/pokemon/palettes/onix_shiny_palette.gbapal.lz");
const u8 gMonIcon_Onix[] = INCBIN_U8("graphics/pokemon/icons/onix_icon.4bpp");
const u8 gMonFootprint_Onix[] = INCBIN_U8("graphics/pokemon/footprints/onix_footprint.1bpp");
-const u8 gMonStillFrontPic_Drowzee[] = INCBIN_U8("graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Drowzee[] = INCBIN_U8("graphics/pokemon/palettes/drowzee_palette.gbapal.lz");
-const u8 gMonBackPic_Drowzee[] = INCBIN_U8("graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Drowzee[] = INCBIN_U8("graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/front_pics/drowzee_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/palettes/drowzee_palette.gbapal.lz");
+const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/back_pics/drowzee_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Drowzee[] = INCBIN_U32("graphics/pokemon/palettes/drowzee_shiny_palette.gbapal.lz");
const u8 gMonIcon_Drowzee[] = INCBIN_U8("graphics/pokemon/icons/drowzee_icon.4bpp");
const u8 gMonFootprint_Drowzee[] = INCBIN_U8("graphics/pokemon/footprints/drowzee_footprint.1bpp");
-const u8 gMonStillFrontPic_Hypno[] = INCBIN_U8("graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hypno[] = INCBIN_U8("graphics/pokemon/palettes/hypno_palette.gbapal.lz");
-const u8 gMonBackPic_Hypno[] = INCBIN_U8("graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hypno[] = INCBIN_U8("graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/front_pics/hypno_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hypno[] = INCBIN_U32("graphics/pokemon/palettes/hypno_palette.gbapal.lz");
+const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/back_pics/hypno_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hypno[] = INCBIN_U32("graphics/pokemon/palettes/hypno_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hypno[] = INCBIN_U8("graphics/pokemon/icons/hypno_icon.4bpp");
const u8 gMonFootprint_Hypno[] = INCBIN_U8("graphics/pokemon/footprints/hypno_footprint.1bpp");
-const u8 gMonStillFrontPic_Krabby[] = INCBIN_U8("graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Krabby[] = INCBIN_U8("graphics/pokemon/palettes/krabby_palette.gbapal.lz");
-const u8 gMonBackPic_Krabby[] = INCBIN_U8("graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Krabby[] = INCBIN_U8("graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/front_pics/krabby_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Krabby[] = INCBIN_U32("graphics/pokemon/palettes/krabby_palette.gbapal.lz");
+const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/back_pics/krabby_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Krabby[] = INCBIN_U32("graphics/pokemon/palettes/krabby_shiny_palette.gbapal.lz");
const u8 gMonIcon_Krabby[] = INCBIN_U8("graphics/pokemon/icons/krabby_icon.4bpp");
const u8 gMonFootprint_Krabby[] = INCBIN_U8("graphics/pokemon/footprints/krabby_footprint.1bpp");
-const u8 gMonStillFrontPic_Kingler[] = INCBIN_U8("graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kingler[] = INCBIN_U8("graphics/pokemon/palettes/kingler_palette.gbapal.lz");
-const u8 gMonBackPic_Kingler[] = INCBIN_U8("graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kingler[] = INCBIN_U8("graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/front_pics/kingler_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kingler[] = INCBIN_U32("graphics/pokemon/palettes/kingler_palette.gbapal.lz");
+const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/back_pics/kingler_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kingler[] = INCBIN_U32("graphics/pokemon/palettes/kingler_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kingler[] = INCBIN_U8("graphics/pokemon/icons/kingler_icon.4bpp");
const u8 gMonFootprint_Kingler[] = INCBIN_U8("graphics/pokemon/footprints/kingler_footprint.1bpp");
-const u8 gMonStillFrontPic_Voltorb[] = INCBIN_U8("graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Voltorb[] = INCBIN_U8("graphics/pokemon/palettes/voltorb_palette.gbapal.lz");
-const u8 gMonBackPic_Voltorb[] = INCBIN_U8("graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Voltorb[] = INCBIN_U8("graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/front_pics/voltorb_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/palettes/voltorb_palette.gbapal.lz");
+const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/back_pics/voltorb_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Voltorb[] = INCBIN_U32("graphics/pokemon/palettes/voltorb_shiny_palette.gbapal.lz");
const u8 gMonIcon_Voltorb[] = INCBIN_U8("graphics/pokemon/icons/voltorb_icon.4bpp");
const u8 gMonFootprint_Voltorb[] = INCBIN_U8("graphics/pokemon/footprints/voltorb_footprint.1bpp");
-const u8 gMonStillFrontPic_Electrode[] = INCBIN_U8("graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Electrode[] = INCBIN_U8("graphics/pokemon/palettes/electrode_palette.gbapal.lz");
-const u8 gMonBackPic_Electrode[] = INCBIN_U8("graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Electrode[] = INCBIN_U8("graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Electrode[] = INCBIN_U32("graphics/pokemon/front_pics/electrode_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Electrode[] = INCBIN_U32("graphics/pokemon/palettes/electrode_palette.gbapal.lz");
+const u32 gMonBackPic_Electrode[] = INCBIN_U32("graphics/pokemon/back_pics/electrode_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Electrode[] = INCBIN_U32("graphics/pokemon/palettes/electrode_shiny_palette.gbapal.lz");
const u8 gMonIcon_Electrode[] = INCBIN_U8("graphics/pokemon/icons/electrode_icon.4bpp");
const u8 gMonFootprint_Electrode[] = INCBIN_U8("graphics/pokemon/footprints/electrode_footprint.1bpp");
-const u8 gMonStillFrontPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Exeggcute[] = INCBIN_U8("graphics/pokemon/palettes/exeggcute_palette.gbapal.lz");
-const u8 gMonBackPic_Exeggcute[] = INCBIN_U8("graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Exeggcute[] = INCBIN_U8("graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/front_pics/exeggcute_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/palettes/exeggcute_palette.gbapal.lz");
+const u32 gMonBackPic_Exeggcute[] = INCBIN_U32("graphics/pokemon/back_pics/exeggcute_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Exeggcute[] = INCBIN_U32("graphics/pokemon/palettes/exeggcute_shiny_palette.gbapal.lz");
const u8 gMonIcon_Exeggcute[] = INCBIN_U8("graphics/pokemon/icons/exeggcute_icon.4bpp");
const u8 gMonFootprint_Exeggcute[] = INCBIN_U8("graphics/pokemon/footprints/exeggcute_footprint.1bpp");
-const u8 gMonStillFrontPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Exeggutor[] = INCBIN_U8("graphics/pokemon/palettes/exeggutor_palette.gbapal.lz");
-const u8 gMonBackPic_Exeggutor[] = INCBIN_U8("graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Exeggutor[] = INCBIN_U8("graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/front_pics/exeggutor_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/palettes/exeggutor_palette.gbapal.lz");
+const u32 gMonBackPic_Exeggutor[] = INCBIN_U32("graphics/pokemon/back_pics/exeggutor_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Exeggutor[] = INCBIN_U32("graphics/pokemon/palettes/exeggutor_shiny_palette.gbapal.lz");
const u8 gMonIcon_Exeggutor[] = INCBIN_U8("graphics/pokemon/icons/exeggutor_icon.4bpp");
const u8 gMonFootprint_Exeggutor[] = INCBIN_U8("graphics/pokemon/footprints/exeggutor_footprint.1bpp");
-const u8 gMonStillFrontPic_Cubone[] = INCBIN_U8("graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cubone[] = INCBIN_U8("graphics/pokemon/palettes/cubone_palette.gbapal.lz");
-const u8 gMonBackPic_Cubone[] = INCBIN_U8("graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cubone[] = INCBIN_U8("graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cubone[] = INCBIN_U32("graphics/pokemon/front_pics/cubone_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cubone[] = INCBIN_U32("graphics/pokemon/palettes/cubone_palette.gbapal.lz");
+const u32 gMonBackPic_Cubone[] = INCBIN_U32("graphics/pokemon/back_pics/cubone_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cubone[] = INCBIN_U32("graphics/pokemon/palettes/cubone_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cubone[] = INCBIN_U8("graphics/pokemon/icons/cubone_icon.4bpp");
const u8 gMonFootprint_Cubone[] = INCBIN_U8("graphics/pokemon/footprints/cubone_footprint.1bpp");
-const u8 gMonStillFrontPic_Marowak[] = INCBIN_U8("graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Marowak[] = INCBIN_U8("graphics/pokemon/palettes/marowak_palette.gbapal.lz");
-const u8 gMonBackPic_Marowak[] = INCBIN_U8("graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Marowak[] = INCBIN_U8("graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Marowak[] = INCBIN_U32("graphics/pokemon/front_pics/marowak_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Marowak[] = INCBIN_U32("graphics/pokemon/palettes/marowak_palette.gbapal.lz");
+const u32 gMonBackPic_Marowak[] = INCBIN_U32("graphics/pokemon/back_pics/marowak_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Marowak[] = INCBIN_U32("graphics/pokemon/palettes/marowak_shiny_palette.gbapal.lz");
const u8 gMonIcon_Marowak[] = INCBIN_U8("graphics/pokemon/icons/marowak_icon.4bpp");
const u8 gMonFootprint_Marowak[] = INCBIN_U8("graphics/pokemon/footprints/marowak_footprint.1bpp");
-const u8 gMonStillFrontPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hitmonlee[] = INCBIN_U8("graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz");
-const u8 gMonBackPic_Hitmonlee[] = INCBIN_U8("graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hitmonlee[] = INCBIN_U8("graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/front_pics/hitmonlee_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/palettes/hitmonlee_palette.gbapal.lz");
+const u32 gMonBackPic_Hitmonlee[] = INCBIN_U32("graphics/pokemon/back_pics/hitmonlee_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hitmonlee[] = INCBIN_U32("graphics/pokemon/palettes/hitmonlee_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hitmonlee[] = INCBIN_U8("graphics/pokemon/icons/hitmonlee_icon.4bpp");
const u8 gMonFootprint_Hitmonlee[] = INCBIN_U8("graphics/pokemon/footprints/hitmonlee_footprint.1bpp");
-const u8 gMonStillFrontPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hitmonchan[] = INCBIN_U8("graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz");
-const u8 gMonBackPic_Hitmonchan[] = INCBIN_U8("graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hitmonchan[] = INCBIN_U8("graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/front_pics/hitmonchan_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/palettes/hitmonchan_palette.gbapal.lz");
+const u32 gMonBackPic_Hitmonchan[] = INCBIN_U32("graphics/pokemon/back_pics/hitmonchan_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hitmonchan[] = INCBIN_U32("graphics/pokemon/palettes/hitmonchan_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hitmonchan[] = INCBIN_U8("graphics/pokemon/icons/hitmonchan_icon.4bpp");
const u8 gMonFootprint_Hitmonchan[] = INCBIN_U8("graphics/pokemon/footprints/hitmonchan_footprint.1bpp");
-const u8 gMonStillFrontPic_Lickitung[] = INCBIN_U8("graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lickitung[] = INCBIN_U8("graphics/pokemon/palettes/lickitung_palette.gbapal.lz");
-const u8 gMonBackPic_Lickitung[] = INCBIN_U8("graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lickitung[] = INCBIN_U8("graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/front_pics/lickitung_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/palettes/lickitung_palette.gbapal.lz");
+const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/back_pics/lickitung_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lickitung[] = INCBIN_U32("graphics/pokemon/palettes/lickitung_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lickitung[] = INCBIN_U8("graphics/pokemon/icons/lickitung_icon.4bpp");
const u8 gMonFootprint_Lickitung[] = INCBIN_U8("graphics/pokemon/footprints/lickitung_footprint.1bpp");
-const u8 gMonStillFrontPic_Koffing[] = INCBIN_U8("graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Koffing[] = INCBIN_U8("graphics/pokemon/palettes/koffing_palette.gbapal.lz");
-const u8 gMonBackPic_Koffing[] = INCBIN_U8("graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Koffing[] = INCBIN_U8("graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/front_pics/koffing_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Koffing[] = INCBIN_U32("graphics/pokemon/palettes/koffing_palette.gbapal.lz");
+const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/back_pics/koffing_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Koffing[] = INCBIN_U32("graphics/pokemon/palettes/koffing_shiny_palette.gbapal.lz");
const u8 gMonIcon_Koffing[] = INCBIN_U8("graphics/pokemon/icons/koffing_icon.4bpp");
const u8 gMonFootprint_Koffing[] = INCBIN_U8("graphics/pokemon/footprints/koffing_footprint.1bpp");
-const u8 gMonStillFrontPic_Weezing[] = INCBIN_U8("graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Weezing[] = INCBIN_U8("graphics/pokemon/palettes/weezing_palette.gbapal.lz");
-const u8 gMonBackPic_Weezing[] = INCBIN_U8("graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Weezing[] = INCBIN_U8("graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/front_pics/weezing_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Weezing[] = INCBIN_U32("graphics/pokemon/palettes/weezing_palette.gbapal.lz");
+const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/back_pics/weezing_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Weezing[] = INCBIN_U32("graphics/pokemon/palettes/weezing_shiny_palette.gbapal.lz");
const u8 gMonIcon_Weezing[] = INCBIN_U8("graphics/pokemon/icons/weezing_icon.4bpp");
const u8 gMonFootprint_Weezing[] = INCBIN_U8("graphics/pokemon/footprints/weezing_footprint.1bpp");
-const u8 gMonStillFrontPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Rhyhorn[] = INCBIN_U8("graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz");
-const u8 gMonBackPic_Rhyhorn[] = INCBIN_U8("graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Rhyhorn[] = INCBIN_U8("graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/front_pics/rhyhorn_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/palettes/rhyhorn_palette.gbapal.lz");
+const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/back_pics/rhyhorn_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Rhyhorn[] = INCBIN_U32("graphics/pokemon/palettes/rhyhorn_shiny_palette.gbapal.lz");
const u8 gMonIcon_Rhyhorn[] = INCBIN_U8("graphics/pokemon/icons/rhyhorn_icon.4bpp");
const u8 gMonFootprint_Rhyhorn[] = INCBIN_U8("graphics/pokemon/footprints/rhyhorn_footprint.1bpp");
-const u8 gMonStillFrontPic_Rhydon[] = INCBIN_U8("graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Rhydon[] = INCBIN_U8("graphics/pokemon/palettes/rhydon_palette.gbapal.lz");
-const u8 gMonBackPic_Rhydon[] = INCBIN_U8("graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Rhydon[] = INCBIN_U8("graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/front_pics/rhydon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/palettes/rhydon_palette.gbapal.lz");
+const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/back_pics/rhydon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Rhydon[] = INCBIN_U32("graphics/pokemon/palettes/rhydon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Rhydon[] = INCBIN_U8("graphics/pokemon/icons/rhydon_icon.4bpp");
const u8 gMonFootprint_Rhydon[] = INCBIN_U8("graphics/pokemon/footprints/rhydon_footprint.1bpp");
-const u8 gMonStillFrontPic_Chansey[] = INCBIN_U8("graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Chansey[] = INCBIN_U8("graphics/pokemon/palettes/chansey_palette.gbapal.lz");
-const u8 gMonBackPic_Chansey[] = INCBIN_U8("graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Chansey[] = INCBIN_U8("graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/front_pics/chansey_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Chansey[] = INCBIN_U32("graphics/pokemon/palettes/chansey_palette.gbapal.lz");
+const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/back_pics/chansey_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Chansey[] = INCBIN_U32("graphics/pokemon/palettes/chansey_shiny_palette.gbapal.lz");
const u8 gMonIcon_Chansey[] = INCBIN_U8("graphics/pokemon/icons/chansey_icon.4bpp");
const u8 gMonFootprint_Chansey[] = INCBIN_U8("graphics/pokemon/footprints/chansey_footprint.1bpp");
-const u8 gMonStillFrontPic_Tangela[] = INCBIN_U8("graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tangela[] = INCBIN_U8("graphics/pokemon/palettes/tangela_palette.gbapal.lz");
-const u8 gMonBackPic_Tangela[] = INCBIN_U8("graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tangela[] = INCBIN_U8("graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/front_pics/tangela_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tangela[] = INCBIN_U32("graphics/pokemon/palettes/tangela_palette.gbapal.lz");
+const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/back_pics/tangela_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tangela[] = INCBIN_U32("graphics/pokemon/palettes/tangela_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tangela[] = INCBIN_U8("graphics/pokemon/icons/tangela_icon.4bpp");
const u8 gMonFootprint_Tangela[] = INCBIN_U8("graphics/pokemon/footprints/tangela_footprint.1bpp");
-const u8 gMonStillFrontPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kangaskhan[] = INCBIN_U8("graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz");
-const u8 gMonBackPic_Kangaskhan[] = INCBIN_U8("graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kangaskhan[] = INCBIN_U8("graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/front_pics/kangaskhan_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/palettes/kangaskhan_palette.gbapal.lz");
+const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/back_pics/kangaskhan_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kangaskhan[] = INCBIN_U32("graphics/pokemon/palettes/kangaskhan_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kangaskhan[] = INCBIN_U8("graphics/pokemon/icons/kangaskhan_icon.4bpp");
const u8 gMonFootprint_Kangaskhan[] = INCBIN_U8("graphics/pokemon/footprints/kangaskhan_footprint.1bpp");
-const u8 gMonStillFrontPic_Horsea[] = INCBIN_U8("graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Horsea[] = INCBIN_U8("graphics/pokemon/palettes/horsea_palette.gbapal.lz");
-const u8 gMonBackPic_Horsea[] = INCBIN_U8("graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Horsea[] = INCBIN_U8("graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/front_pics/horsea_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Horsea[] = INCBIN_U32("graphics/pokemon/palettes/horsea_palette.gbapal.lz");
+const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/back_pics/horsea_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Horsea[] = INCBIN_U32("graphics/pokemon/palettes/horsea_shiny_palette.gbapal.lz");
const u8 gMonIcon_Horsea[] = INCBIN_U8("graphics/pokemon/icons/horsea_icon.4bpp");
const u8 gMonFootprint_Horsea[] = INCBIN_U8("graphics/pokemon/footprints/horsea_footprint.1bpp");
-const u8 gMonStillFrontPic_Seadra[] = INCBIN_U8("graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Seadra[] = INCBIN_U8("graphics/pokemon/palettes/seadra_palette.gbapal.lz");
-const u8 gMonBackPic_Seadra[] = INCBIN_U8("graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Seadra[] = INCBIN_U8("graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/front_pics/seadra_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Seadra[] = INCBIN_U32("graphics/pokemon/palettes/seadra_palette.gbapal.lz");
+const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/back_pics/seadra_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Seadra[] = INCBIN_U32("graphics/pokemon/palettes/seadra_shiny_palette.gbapal.lz");
const u8 gMonIcon_Seadra[] = INCBIN_U8("graphics/pokemon/icons/seadra_icon.4bpp");
const u8 gMonFootprint_Seadra[] = INCBIN_U8("graphics/pokemon/footprints/seadra_footprint.1bpp");
-const u8 gMonStillFrontPic_Goldeen[] = INCBIN_U8("graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Goldeen[] = INCBIN_U8("graphics/pokemon/palettes/goldeen_palette.gbapal.lz");
-const u8 gMonBackPic_Goldeen[] = INCBIN_U8("graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Goldeen[] = INCBIN_U8("graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/front_pics/goldeen_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/palettes/goldeen_palette.gbapal.lz");
+const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/back_pics/goldeen_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Goldeen[] = INCBIN_U32("graphics/pokemon/palettes/goldeen_shiny_palette.gbapal.lz");
const u8 gMonIcon_Goldeen[] = INCBIN_U8("graphics/pokemon/icons/goldeen_icon.4bpp");
const u8 gMonFootprint_Goldeen[] = INCBIN_U8("graphics/pokemon/footprints/goldeen_footprint.1bpp");
-const u8 gMonStillFrontPic_Seaking[] = INCBIN_U8("graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Seaking[] = INCBIN_U8("graphics/pokemon/palettes/seaking_palette.gbapal.lz");
-const u8 gMonBackPic_Seaking[] = INCBIN_U8("graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Seaking[] = INCBIN_U8("graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/front_pics/seaking_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Seaking[] = INCBIN_U32("graphics/pokemon/palettes/seaking_palette.gbapal.lz");
+const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/back_pics/seaking_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Seaking[] = INCBIN_U32("graphics/pokemon/palettes/seaking_shiny_palette.gbapal.lz");
const u8 gMonIcon_Seaking[] = INCBIN_U8("graphics/pokemon/icons/seaking_icon.4bpp");
const u8 gMonFootprint_Seaking[] = INCBIN_U8("graphics/pokemon/footprints/seaking_footprint.1bpp");
-const u8 gMonStillFrontPic_Staryu[] = INCBIN_U8("graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Staryu[] = INCBIN_U8("graphics/pokemon/palettes/staryu_palette.gbapal.lz");
-const u8 gMonBackPic_Staryu[] = INCBIN_U8("graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Staryu[] = INCBIN_U8("graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/front_pics/staryu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Staryu[] = INCBIN_U32("graphics/pokemon/palettes/staryu_palette.gbapal.lz");
+const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/back_pics/staryu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Staryu[] = INCBIN_U32("graphics/pokemon/palettes/staryu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Staryu[] = INCBIN_U8("graphics/pokemon/icons/staryu_icon.4bpp");
const u8 gMonFootprint_Staryu[] = INCBIN_U8("graphics/pokemon/footprints/staryu_footprint.1bpp");
-const u8 gMonStillFrontPic_Starmie[] = INCBIN_U8("graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Starmie[] = INCBIN_U8("graphics/pokemon/palettes/starmie_palette.gbapal.lz");
-const u8 gMonBackPic_Starmie[] = INCBIN_U8("graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Starmie[] = INCBIN_U8("graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/front_pics/starmie_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Starmie[] = INCBIN_U32("graphics/pokemon/palettes/starmie_palette.gbapal.lz");
+const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/back_pics/starmie_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/palettes/starmie_shiny_palette.gbapal.lz");
const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/icons/starmie_icon.4bpp");
const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/footprints/starmie_footprint.1bpp");
-const u8 gMonStillFrontPic_Mrmime[] = INCBIN_U8("graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mrmime[] = INCBIN_U8("graphics/pokemon/palettes/mr_mime_palette.gbapal.lz");
-const u8 gMonBackPic_Mrmime[] = INCBIN_U8("graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mrmime[] = INCBIN_U8("graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/front_pics/mr_mime_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/palettes/mr_mime_palette.gbapal.lz");
+const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/back_pics/mr_mime_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/palettes/mr_mime_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/icons/mr_mime_icon.4bpp");
const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/footprints/mr_mime_footprint.1bpp");
-const u8 gMonStillFrontPic_Scyther[] = INCBIN_U8("graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Scyther[] = INCBIN_U8("graphics/pokemon/palettes/scyther_palette.gbapal.lz");
-const u8 gMonBackPic_Scyther[] = INCBIN_U8("graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Scyther[] = INCBIN_U8("graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/front_pics/scyther_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/palettes/scyther_palette.gbapal.lz");
+const u32 gMonBackPic_Scyther[] = INCBIN_U32("graphics/pokemon/back_pics/scyther_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Scyther[] = INCBIN_U32("graphics/pokemon/palettes/scyther_shiny_palette.gbapal.lz");
const u8 gMonIcon_Scyther[] = INCBIN_U8("graphics/pokemon/icons/scyther_icon.4bpp");
const u8 gMonFootprint_Scyther[] = INCBIN_U8("graphics/pokemon/footprints/scyther_footprint.1bpp");
-const u8 gMonStillFrontPic_Jynx[] = INCBIN_U8("graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Jynx[] = INCBIN_U8("graphics/pokemon/palettes/jynx_palette.gbapal.lz");
-const u8 gMonBackPic_Jynx[] = INCBIN_U8("graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Jynx[] = INCBIN_U8("graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/front_pics/jynx_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Jynx[] = INCBIN_U32("graphics/pokemon/palettes/jynx_palette.gbapal.lz");
+const u32 gMonBackPic_Jynx[] = INCBIN_U32("graphics/pokemon/back_pics/jynx_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Jynx[] = INCBIN_U32("graphics/pokemon/palettes/jynx_shiny_palette.gbapal.lz");
const u8 gMonIcon_Jynx[] = INCBIN_U8("graphics/pokemon/icons/jynx_icon.4bpp");
const u8 gMonFootprint_Jynx[] = INCBIN_U8("graphics/pokemon/footprints/jynx_footprint.1bpp");
-const u8 gMonStillFrontPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Electabuzz[] = INCBIN_U8("graphics/pokemon/palettes/electabuzz_palette.gbapal.lz");
-const u8 gMonBackPic_Electabuzz[] = INCBIN_U8("graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Electabuzz[] = INCBIN_U8("graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/front_pics/electabuzz_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/palettes/electabuzz_palette.gbapal.lz");
+const u32 gMonBackPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/back_pics/electabuzz_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Electabuzz[] = INCBIN_U32("graphics/pokemon/palettes/electabuzz_shiny_palette.gbapal.lz");
const u8 gMonIcon_Electabuzz[] = INCBIN_U8("graphics/pokemon/icons/electabuzz_icon.4bpp");
const u8 gMonFootprint_Electabuzz[] = INCBIN_U8("graphics/pokemon/footprints/electabuzz_footprint.1bpp");
-const u8 gMonStillFrontPic_Magmar[] = INCBIN_U8("graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Magmar[] = INCBIN_U8("graphics/pokemon/palettes/magmar_palette.gbapal.lz");
-const u8 gMonBackPic_Magmar[] = INCBIN_U8("graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Magmar[] = INCBIN_U8("graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/front_pics/magmar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Magmar[] = INCBIN_U32("graphics/pokemon/palettes/magmar_palette.gbapal.lz");
+const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/back_pics/magmar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Magmar[] = INCBIN_U32("graphics/pokemon/palettes/magmar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Magmar[] = INCBIN_U8("graphics/pokemon/icons/magmar_icon.4bpp");
const u8 gMonFootprint_Magmar[] = INCBIN_U8("graphics/pokemon/footprints/magmar_footprint.1bpp");
-const u8 gMonStillFrontPic_Pinsir[] = INCBIN_U8("graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pinsir[] = INCBIN_U8("graphics/pokemon/palettes/pinsir_palette.gbapal.lz");
-const u8 gMonBackPic_Pinsir[] = INCBIN_U8("graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pinsir[] = INCBIN_U8("graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/front_pics/pinsir_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/palettes/pinsir_palette.gbapal.lz");
+const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/back_pics/pinsir_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pinsir[] = INCBIN_U32("graphics/pokemon/palettes/pinsir_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pinsir[] = INCBIN_U8("graphics/pokemon/icons/pinsir_icon.4bpp");
const u8 gMonFootprint_Pinsir[] = INCBIN_U8("graphics/pokemon/footprints/pinsir_footprint.1bpp");
-const u8 gMonStillFrontPic_Tauros[] = INCBIN_U8("graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tauros[] = INCBIN_U8("graphics/pokemon/palettes/tauros_palette.gbapal.lz");
-const u8 gMonBackPic_Tauros[] = INCBIN_U8("graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tauros[] = INCBIN_U8("graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/front_pics/tauros_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tauros[] = INCBIN_U32("graphics/pokemon/palettes/tauros_palette.gbapal.lz");
+const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/back_pics/tauros_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tauros[] = INCBIN_U32("graphics/pokemon/palettes/tauros_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tauros[] = INCBIN_U8("graphics/pokemon/icons/tauros_icon.4bpp");
const u8 gMonFootprint_Tauros[] = INCBIN_U8("graphics/pokemon/footprints/tauros_footprint.1bpp");
-const u8 gMonStillFrontPic_Magikarp[] = INCBIN_U8("graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Magikarp[] = INCBIN_U8("graphics/pokemon/palettes/magikarp_palette.gbapal.lz");
-const u8 gMonBackPic_Magikarp[] = INCBIN_U8("graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Magikarp[] = INCBIN_U8("graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/front_pics/magikarp_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/palettes/magikarp_palette.gbapal.lz");
+const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/back_pics/magikarp_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Magikarp[] = INCBIN_U32("graphics/pokemon/palettes/magikarp_shiny_palette.gbapal.lz");
const u8 gMonIcon_Magikarp[] = INCBIN_U8("graphics/pokemon/icons/magikarp_icon.4bpp");
const u8 gMonFootprint_Magikarp[] = INCBIN_U8("graphics/pokemon/footprints/magikarp_footprint.1bpp");
-const u8 gMonStillFrontPic_Gyarados[] = INCBIN_U8("graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gyarados[] = INCBIN_U8("graphics/pokemon/palettes/gyarados_palette.gbapal.lz");
-const u8 gMonBackPic_Gyarados[] = INCBIN_U8("graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gyarados[] = INCBIN_U8("graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/front_pics/gyarados_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/palettes/gyarados_palette.gbapal.lz");
+const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/back_pics/gyarados_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gyarados[] = INCBIN_U32("graphics/pokemon/palettes/gyarados_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gyarados[] = INCBIN_U8("graphics/pokemon/icons/gyarados_icon.4bpp");
const u8 gMonFootprint_Gyarados[] = INCBIN_U8("graphics/pokemon/footprints/gyarados_footprint.1bpp");
-const u8 gMonStillFrontPic_Lapras[] = INCBIN_U8("graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lapras[] = INCBIN_U8("graphics/pokemon/palettes/lapras_palette.gbapal.lz");
-const u8 gMonBackPic_Lapras[] = INCBIN_U8("graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lapras[] = INCBIN_U8("graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/front_pics/lapras_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lapras[] = INCBIN_U32("graphics/pokemon/palettes/lapras_palette.gbapal.lz");
+const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/back_pics/lapras_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lapras[] = INCBIN_U32("graphics/pokemon/palettes/lapras_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lapras[] = INCBIN_U8("graphics/pokemon/icons/lapras_icon.4bpp");
const u8 gMonFootprint_Lapras[] = INCBIN_U8("graphics/pokemon/footprints/lapras_footprint.1bpp");
-const u8 gMonStillFrontPic_Ditto[] = INCBIN_U8("graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ditto[] = INCBIN_U8("graphics/pokemon/palettes/ditto_palette.gbapal.lz");
-const u8 gMonBackPic_Ditto[] = INCBIN_U8("graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ditto[] = INCBIN_U8("graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/front_pics/ditto_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ditto[] = INCBIN_U32("graphics/pokemon/palettes/ditto_palette.gbapal.lz");
+const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/back_pics/ditto_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ditto[] = INCBIN_U32("graphics/pokemon/palettes/ditto_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ditto[] = INCBIN_U8("graphics/pokemon/icons/ditto_icon.4bpp");
const u8 gMonFootprint_Ditto[] = INCBIN_U8("graphics/pokemon/footprints/ditto_footprint.1bpp");
-const u8 gMonStillFrontPic_Eevee[] = INCBIN_U8("graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Eevee[] = INCBIN_U8("graphics/pokemon/palettes/eevee_palette.gbapal.lz");
-const u8 gMonBackPic_Eevee[] = INCBIN_U8("graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Eevee[] = INCBIN_U8("graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/front_pics/eevee_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Eevee[] = INCBIN_U32("graphics/pokemon/palettes/eevee_palette.gbapal.lz");
+const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/back_pics/eevee_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Eevee[] = INCBIN_U32("graphics/pokemon/palettes/eevee_shiny_palette.gbapal.lz");
const u8 gMonIcon_Eevee[] = INCBIN_U8("graphics/pokemon/icons/eevee_icon.4bpp");
const u8 gMonFootprint_Eevee[] = INCBIN_U8("graphics/pokemon/footprints/eevee_footprint.1bpp");
-const u8 gMonStillFrontPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Vaporeon[] = INCBIN_U8("graphics/pokemon/palettes/vaporeon_palette.gbapal.lz");
-const u8 gMonBackPic_Vaporeon[] = INCBIN_U8("graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Vaporeon[] = INCBIN_U8("graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/front_pics/vaporeon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/palettes/vaporeon_palette.gbapal.lz");
+const u32 gMonBackPic_Vaporeon[] = INCBIN_U32("graphics/pokemon/back_pics/vaporeon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Vaporeon[] = INCBIN_U32("graphics/pokemon/palettes/vaporeon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Vaporeon[] = INCBIN_U8("graphics/pokemon/icons/vaporeon_icon.4bpp");
const u8 gMonFootprint_Vaporeon[] = INCBIN_U8("graphics/pokemon/footprints/vaporeon_footprint.1bpp");
-const u8 gMonStillFrontPic_Jolteon[] = INCBIN_U8("graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Jolteon[] = INCBIN_U8("graphics/pokemon/palettes/jolteon_palette.gbapal.lz");
-const u8 gMonBackPic_Jolteon[] = INCBIN_U8("graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Jolteon[] = INCBIN_U8("graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Jolteon[] = INCBIN_U32("graphics/pokemon/front_pics/jolteon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/palettes/jolteon_palette.gbapal.lz");
+const u32 gMonBackPic_Jolteon[] = INCBIN_U32("graphics/pokemon/back_pics/jolteon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Jolteon[] = INCBIN_U32("graphics/pokemon/palettes/jolteon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Jolteon[] = INCBIN_U8("graphics/pokemon/icons/jolteon_icon.4bpp");
const u8 gMonFootprint_Jolteon[] = INCBIN_U8("graphics/pokemon/footprints/jolteon_footprint.1bpp");
-const u8 gMonStillFrontPic_Flareon[] = INCBIN_U8("graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Flareon[] = INCBIN_U8("graphics/pokemon/palettes/flareon_palette.gbapal.lz");
-const u8 gMonBackPic_Flareon[] = INCBIN_U8("graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Flareon[] = INCBIN_U8("graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Flareon[] = INCBIN_U32("graphics/pokemon/front_pics/flareon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Flareon[] = INCBIN_U32("graphics/pokemon/palettes/flareon_palette.gbapal.lz");
+const u32 gMonBackPic_Flareon[] = INCBIN_U32("graphics/pokemon/back_pics/flareon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Flareon[] = INCBIN_U32("graphics/pokemon/palettes/flareon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Flareon[] = INCBIN_U8("graphics/pokemon/icons/flareon_icon.4bpp");
const u8 gMonFootprint_Flareon[] = INCBIN_U8("graphics/pokemon/footprints/flareon_footprint.1bpp");
-const u8 gMonStillFrontPic_Porygon[] = INCBIN_U8("graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Porygon[] = INCBIN_U8("graphics/pokemon/palettes/porygon_palette.gbapal.lz");
-const u8 gMonBackPic_Porygon[] = INCBIN_U8("graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Porygon[] = INCBIN_U8("graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Porygon[] = INCBIN_U32("graphics/pokemon/front_pics/porygon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Porygon[] = INCBIN_U32("graphics/pokemon/palettes/porygon_palette.gbapal.lz");
+const u32 gMonBackPic_Porygon[] = INCBIN_U32("graphics/pokemon/back_pics/porygon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Porygon[] = INCBIN_U32("graphics/pokemon/palettes/porygon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Porygon[] = INCBIN_U8("graphics/pokemon/icons/porygon_icon.4bpp");
const u8 gMonFootprint_Porygon[] = INCBIN_U8("graphics/pokemon/footprints/porygon_footprint.1bpp");
-const u8 gMonStillFrontPic_Omanyte[] = INCBIN_U8("graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Omanyte[] = INCBIN_U8("graphics/pokemon/palettes/omanyte_palette.gbapal.lz");
-const u8 gMonBackPic_Omanyte[] = INCBIN_U8("graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Omanyte[] = INCBIN_U8("graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Omanyte[] = INCBIN_U32("graphics/pokemon/front_pics/omanyte_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/palettes/omanyte_palette.gbapal.lz");
+const u32 gMonBackPic_Omanyte[] = INCBIN_U32("graphics/pokemon/back_pics/omanyte_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Omanyte[] = INCBIN_U32("graphics/pokemon/palettes/omanyte_shiny_palette.gbapal.lz");
const u8 gMonIcon_Omanyte[] = INCBIN_U8("graphics/pokemon/icons/omanyte_icon.4bpp");
const u8 gMonFootprint_Omanyte[] = INCBIN_U8("graphics/pokemon/footprints/omanyte_footprint.1bpp");
-const u8 gMonStillFrontPic_Omastar[] = INCBIN_U8("graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Omastar[] = INCBIN_U8("graphics/pokemon/palettes/omastar_palette.gbapal.lz");
-const u8 gMonBackPic_Omastar[] = INCBIN_U8("graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Omastar[] = INCBIN_U8("graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Omastar[] = INCBIN_U32("graphics/pokemon/front_pics/omastar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Omastar[] = INCBIN_U32("graphics/pokemon/palettes/omastar_palette.gbapal.lz");
+const u32 gMonBackPic_Omastar[] = INCBIN_U32("graphics/pokemon/back_pics/omastar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Omastar[] = INCBIN_U32("graphics/pokemon/palettes/omastar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Omastar[] = INCBIN_U8("graphics/pokemon/icons/omastar_icon.4bpp");
const u8 gMonFootprint_Omastar[] = INCBIN_U8("graphics/pokemon/footprints/omastar_footprint.1bpp");
-const u8 gMonStillFrontPic_Kabuto[] = INCBIN_U8("graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kabuto[] = INCBIN_U8("graphics/pokemon/palettes/kabuto_palette.gbapal.lz");
-const u8 gMonBackPic_Kabuto[] = INCBIN_U8("graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kabuto[] = INCBIN_U8("graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kabuto[] = INCBIN_U32("graphics/pokemon/front_pics/kabuto_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/palettes/kabuto_palette.gbapal.lz");
+const u32 gMonBackPic_Kabuto[] = INCBIN_U32("graphics/pokemon/back_pics/kabuto_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kabuto[] = INCBIN_U32("graphics/pokemon/palettes/kabuto_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kabuto[] = INCBIN_U8("graphics/pokemon/icons/kabuto_icon.4bpp");
const u8 gMonFootprint_Kabuto[] = INCBIN_U8("graphics/pokemon/footprints/kabuto_footprint.1bpp");
-const u8 gMonStillFrontPic_Kabutops[] = INCBIN_U8("graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kabutops[] = INCBIN_U8("graphics/pokemon/palettes/kabutops_palette.gbapal.lz");
-const u8 gMonBackPic_Kabutops[] = INCBIN_U8("graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kabutops[] = INCBIN_U8("graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kabutops[] = INCBIN_U32("graphics/pokemon/front_pics/kabutops_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/palettes/kabutops_palette.gbapal.lz");
+const u32 gMonBackPic_Kabutops[] = INCBIN_U32("graphics/pokemon/back_pics/kabutops_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kabutops[] = INCBIN_U32("graphics/pokemon/palettes/kabutops_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kabutops[] = INCBIN_U8("graphics/pokemon/icons/kabutops_icon.4bpp");
const u8 gMonFootprint_Kabutops[] = INCBIN_U8("graphics/pokemon/footprints/kabutops_footprint.1bpp");
-const u8 gMonStillFrontPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Aerodactyl[] = INCBIN_U8("graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz");
-const u8 gMonBackPic_Aerodactyl[] = INCBIN_U8("graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Aerodactyl[] = INCBIN_U8("graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/front_pics/aerodactyl_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/palettes/aerodactyl_palette.gbapal.lz");
+const u32 gMonBackPic_Aerodactyl[] = INCBIN_U32("graphics/pokemon/back_pics/aerodactyl_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Aerodactyl[] = INCBIN_U32("graphics/pokemon/palettes/aerodactyl_shiny_palette.gbapal.lz");
const u8 gMonIcon_Aerodactyl[] = INCBIN_U8("graphics/pokemon/icons/aerodactyl_icon.4bpp");
const u8 gMonFootprint_Aerodactyl[] = INCBIN_U8("graphics/pokemon/footprints/aerodactyl_footprint.1bpp");
-const u8 gMonStillFrontPic_Snorlax[] = INCBIN_U8("graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Snorlax[] = INCBIN_U8("graphics/pokemon/palettes/snorlax_palette.gbapal.lz");
-const u8 gMonBackPic_Snorlax[] = INCBIN_U8("graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Snorlax[] = INCBIN_U8("graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Snorlax[] = INCBIN_U32("graphics/pokemon/front_pics/snorlax_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/palettes/snorlax_palette.gbapal.lz");
+const u32 gMonBackPic_Snorlax[] = INCBIN_U32("graphics/pokemon/back_pics/snorlax_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Snorlax[] = INCBIN_U32("graphics/pokemon/palettes/snorlax_shiny_palette.gbapal.lz");
const u8 gMonIcon_Snorlax[] = INCBIN_U8("graphics/pokemon/icons/snorlax_icon.4bpp");
const u8 gMonFootprint_Snorlax[] = INCBIN_U8("graphics/pokemon/footprints/snorlax_footprint.1bpp");
-const u8 gMonStillFrontPic_Articuno[] = INCBIN_U8("graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Articuno[] = INCBIN_U8("graphics/pokemon/palettes/articuno_palette.gbapal.lz");
-const u8 gMonBackPic_Articuno[] = INCBIN_U8("graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Articuno[] = INCBIN_U8("graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Articuno[] = INCBIN_U32("graphics/pokemon/front_pics/articuno_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Articuno[] = INCBIN_U32("graphics/pokemon/palettes/articuno_palette.gbapal.lz");
+const u32 gMonBackPic_Articuno[] = INCBIN_U32("graphics/pokemon/back_pics/articuno_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Articuno[] = INCBIN_U32("graphics/pokemon/palettes/articuno_shiny_palette.gbapal.lz");
const u8 gMonIcon_Articuno[] = INCBIN_U8("graphics/pokemon/icons/articuno_icon.4bpp");
const u8 gMonFootprint_Articuno[] = INCBIN_U8("graphics/pokemon/footprints/articuno_footprint.1bpp");
-const u8 gMonStillFrontPic_Zapdos[] = INCBIN_U8("graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Zapdos[] = INCBIN_U8("graphics/pokemon/palettes/zapdos_palette.gbapal.lz");
-const u8 gMonBackPic_Zapdos[] = INCBIN_U8("graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Zapdos[] = INCBIN_U8("graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Zapdos[] = INCBIN_U32("graphics/pokemon/front_pics/zapdos_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/palettes/zapdos_palette.gbapal.lz");
+const u32 gMonBackPic_Zapdos[] = INCBIN_U32("graphics/pokemon/back_pics/zapdos_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Zapdos[] = INCBIN_U32("graphics/pokemon/palettes/zapdos_shiny_palette.gbapal.lz");
const u8 gMonIcon_Zapdos[] = INCBIN_U8("graphics/pokemon/icons/zapdos_icon.4bpp");
const u8 gMonFootprint_Zapdos[] = INCBIN_U8("graphics/pokemon/footprints/zapdos_footprint.1bpp");
-const u8 gMonStillFrontPic_Moltres[] = INCBIN_U8("graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Moltres[] = INCBIN_U8("graphics/pokemon/palettes/moltres_palette.gbapal.lz");
-const u8 gMonBackPic_Moltres[] = INCBIN_U8("graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Moltres[] = INCBIN_U8("graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Moltres[] = INCBIN_U32("graphics/pokemon/front_pics/moltres_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Moltres[] = INCBIN_U32("graphics/pokemon/palettes/moltres_palette.gbapal.lz");
+const u32 gMonBackPic_Moltres[] = INCBIN_U32("graphics/pokemon/back_pics/moltres_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Moltres[] = INCBIN_U32("graphics/pokemon/palettes/moltres_shiny_palette.gbapal.lz");
const u8 gMonIcon_Moltres[] = INCBIN_U8("graphics/pokemon/icons/moltres_icon.4bpp");
const u8 gMonFootprint_Moltres[] = INCBIN_U8("graphics/pokemon/footprints/moltres_footprint.1bpp");
-const u8 gMonStillFrontPic_Dratini[] = INCBIN_U8("graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dratini[] = INCBIN_U8("graphics/pokemon/palettes/dratini_palette.gbapal.lz");
-const u8 gMonBackPic_Dratini[] = INCBIN_U8("graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dratini[] = INCBIN_U8("graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dratini[] = INCBIN_U32("graphics/pokemon/front_pics/dratini_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dratini[] = INCBIN_U32("graphics/pokemon/palettes/dratini_palette.gbapal.lz");
+const u32 gMonBackPic_Dratini[] = INCBIN_U32("graphics/pokemon/back_pics/dratini_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dratini[] = INCBIN_U32("graphics/pokemon/palettes/dratini_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dratini[] = INCBIN_U8("graphics/pokemon/icons/dratini_icon.4bpp");
const u8 gMonFootprint_Dratini[] = INCBIN_U8("graphics/pokemon/footprints/dratini_footprint.1bpp");
-const u8 gMonStillFrontPic_Dragonair[] = INCBIN_U8("graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dragonair[] = INCBIN_U8("graphics/pokemon/palettes/dragonair_palette.gbapal.lz");
-const u8 gMonBackPic_Dragonair[] = INCBIN_U8("graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dragonair[] = INCBIN_U8("graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dragonair[] = INCBIN_U32("graphics/pokemon/front_pics/dragonair_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/palettes/dragonair_palette.gbapal.lz");
+const u32 gMonBackPic_Dragonair[] = INCBIN_U32("graphics/pokemon/back_pics/dragonair_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dragonair[] = INCBIN_U32("graphics/pokemon/palettes/dragonair_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dragonair[] = INCBIN_U8("graphics/pokemon/icons/dragonair_icon.4bpp");
const u8 gMonFootprint_Dragonair[] = INCBIN_U8("graphics/pokemon/footprints/dragonair_footprint.1bpp");
-const u8 gMonStillFrontPic_Dragonite[] = INCBIN_U8("graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dragonite[] = INCBIN_U8("graphics/pokemon/palettes/dragonite_palette.gbapal.lz");
-const u8 gMonBackPic_Dragonite[] = INCBIN_U8("graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dragonite[] = INCBIN_U8("graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dragonite[] = INCBIN_U32("graphics/pokemon/front_pics/dragonite_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/palettes/dragonite_palette.gbapal.lz");
+const u32 gMonBackPic_Dragonite[] = INCBIN_U32("graphics/pokemon/back_pics/dragonite_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dragonite[] = INCBIN_U32("graphics/pokemon/palettes/dragonite_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dragonite[] = INCBIN_U8("graphics/pokemon/icons/dragonite_icon.4bpp");
const u8 gMonFootprint_Dragonite[] = INCBIN_U8("graphics/pokemon/footprints/dragonite_footprint.1bpp");
-const u8 gMonStillFrontPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mewtwo[] = INCBIN_U8("graphics/pokemon/palettes/mewtwo_palette.gbapal.lz");
-const u8 gMonBackPic_Mewtwo[] = INCBIN_U8("graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mewtwo[] = INCBIN_U8("graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/front_pics/mewtwo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/palettes/mewtwo_palette.gbapal.lz");
+const u32 gMonBackPic_Mewtwo[] = INCBIN_U32("graphics/pokemon/back_pics/mewtwo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mewtwo[] = INCBIN_U32("graphics/pokemon/palettes/mewtwo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mewtwo[] = INCBIN_U8("graphics/pokemon/icons/mewtwo_icon.4bpp");
const u8 gMonFootprint_Mewtwo[] = INCBIN_U8("graphics/pokemon/footprints/mewtwo_footprint.1bpp");
-const u8 gMonStillFrontPic_Mew[] = INCBIN_U8("graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mew[] = INCBIN_U8("graphics/pokemon/palettes/mew_palette.gbapal.lz");
-const u8 gMonBackPic_Mew[] = INCBIN_U8("graphics/pokemon/back_pics/mew_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mew[] = INCBIN_U8("graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mew[] = INCBIN_U32("graphics/pokemon/front_pics/mew_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mew[] = INCBIN_U32("graphics/pokemon/palettes/mew_palette.gbapal.lz");
+const u32 gMonBackPic_Mew[] = INCBIN_U32("graphics/pokemon/back_pics/mew_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mew[] = INCBIN_U32("graphics/pokemon/palettes/mew_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mew[] = INCBIN_U8("graphics/pokemon/icons/mew_icon.4bpp");
const u8 gMonFootprint_Mew[] = INCBIN_U8("graphics/pokemon/footprints/mew_footprint.1bpp");
-const u8 gMonStillFrontPic_Chikorita[] = INCBIN_U8("graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Chikorita[] = INCBIN_U8("graphics/pokemon/palettes/chikorita_palette.gbapal.lz");
-const u8 gMonBackPic_Chikorita[] = INCBIN_U8("graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Chikorita[] = INCBIN_U8("graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Chikorita[] = INCBIN_U32("graphics/pokemon/front_pics/chikorita_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/palettes/chikorita_palette.gbapal.lz");
+const u32 gMonBackPic_Chikorita[] = INCBIN_U32("graphics/pokemon/back_pics/chikorita_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Chikorita[] = INCBIN_U32("graphics/pokemon/palettes/chikorita_shiny_palette.gbapal.lz");
const u8 gMonIcon_Chikorita[] = INCBIN_U8("graphics/pokemon/icons/chikorita_icon.4bpp");
const u8 gMonFootprint_Chikorita[] = INCBIN_U8("graphics/pokemon/footprints/chikorita_footprint.1bpp");
-const u8 gMonStillFrontPic_Bayleef[] = INCBIN_U8("graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Bayleef[] = INCBIN_U8("graphics/pokemon/palettes/bayleef_palette.gbapal.lz");
-const u8 gMonBackPic_Bayleef[] = INCBIN_U8("graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Bayleef[] = INCBIN_U8("graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Bayleef[] = INCBIN_U32("graphics/pokemon/front_pics/bayleef_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/palettes/bayleef_palette.gbapal.lz");
+const u32 gMonBackPic_Bayleef[] = INCBIN_U32("graphics/pokemon/back_pics/bayleef_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Bayleef[] = INCBIN_U32("graphics/pokemon/palettes/bayleef_shiny_palette.gbapal.lz");
const u8 gMonIcon_Bayleef[] = INCBIN_U8("graphics/pokemon/icons/bayleef_icon.4bpp");
const u8 gMonFootprint_Bayleef[] = INCBIN_U8("graphics/pokemon/footprints/bayleef_footprint.1bpp");
-const u8 gMonStillFrontPic_Meganium[] = INCBIN_U8("graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Meganium[] = INCBIN_U8("graphics/pokemon/palettes/meganium_palette.gbapal.lz");
-const u8 gMonBackPic_Meganium[] = INCBIN_U8("graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Meganium[] = INCBIN_U8("graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Meganium[] = INCBIN_U32("graphics/pokemon/front_pics/meganium_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Meganium[] = INCBIN_U32("graphics/pokemon/palettes/meganium_palette.gbapal.lz");
+const u32 gMonBackPic_Meganium[] = INCBIN_U32("graphics/pokemon/back_pics/meganium_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Meganium[] = INCBIN_U32("graphics/pokemon/palettes/meganium_shiny_palette.gbapal.lz");
const u8 gMonIcon_Meganium[] = INCBIN_U8("graphics/pokemon/icons/meganium_icon.4bpp");
const u8 gMonFootprint_Meganium[] = INCBIN_U8("graphics/pokemon/footprints/meganium_footprint.1bpp");
-const u8 gMonStillFrontPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cyndaquil[] = INCBIN_U8("graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz");
-const u8 gMonBackPic_Cyndaquil[] = INCBIN_U8("graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cyndaquil[] = INCBIN_U8("graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/front_pics/cyndaquil_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/palettes/cyndaquil_palette.gbapal.lz");
+const u32 gMonBackPic_Cyndaquil[] = INCBIN_U32("graphics/pokemon/back_pics/cyndaquil_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cyndaquil[] = INCBIN_U32("graphics/pokemon/palettes/cyndaquil_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cyndaquil[] = INCBIN_U8("graphics/pokemon/icons/cyndaquil_icon.4bpp");
const u8 gMonFootprint_Cyndaquil[] = INCBIN_U8("graphics/pokemon/footprints/cyndaquil_footprint.1bpp");
-const u8 gMonStillFrontPic_Quilava[] = INCBIN_U8("graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Quilava[] = INCBIN_U8("graphics/pokemon/palettes/quilava_palette.gbapal.lz");
-const u8 gMonBackPic_Quilava[] = INCBIN_U8("graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Quilava[] = INCBIN_U8("graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Quilava[] = INCBIN_U32("graphics/pokemon/front_pics/quilava_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Quilava[] = INCBIN_U32("graphics/pokemon/palettes/quilava_palette.gbapal.lz");
+const u32 gMonBackPic_Quilava[] = INCBIN_U32("graphics/pokemon/back_pics/quilava_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Quilava[] = INCBIN_U32("graphics/pokemon/palettes/quilava_shiny_palette.gbapal.lz");
const u8 gMonIcon_Quilava[] = INCBIN_U8("graphics/pokemon/icons/quilava_icon.4bpp");
const u8 gMonFootprint_Quilava[] = INCBIN_U8("graphics/pokemon/footprints/quilava_footprint.1bpp");
-const u8 gMonStillFrontPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Typhlosion[] = INCBIN_U8("graphics/pokemon/palettes/typhlosion_palette.gbapal.lz");
-const u8 gMonBackPic_Typhlosion[] = INCBIN_U8("graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Typhlosion[] = INCBIN_U8("graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/front_pics/typhlosion_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/palettes/typhlosion_palette.gbapal.lz");
+const u32 gMonBackPic_Typhlosion[] = INCBIN_U32("graphics/pokemon/back_pics/typhlosion_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Typhlosion[] = INCBIN_U32("graphics/pokemon/palettes/typhlosion_shiny_palette.gbapal.lz");
const u8 gMonIcon_Typhlosion[] = INCBIN_U8("graphics/pokemon/icons/typhlosion_icon.4bpp");
const u8 gMonFootprint_Typhlosion[] = INCBIN_U8("graphics/pokemon/footprints/typhlosion_footprint.1bpp");
-const u8 gMonStillFrontPic_Totodile[] = INCBIN_U8("graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Totodile[] = INCBIN_U8("graphics/pokemon/palettes/totodile_palette.gbapal.lz");
-const u8 gMonBackPic_Totodile[] = INCBIN_U8("graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Totodile[] = INCBIN_U8("graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Totodile[] = INCBIN_U32("graphics/pokemon/front_pics/totodile_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Totodile[] = INCBIN_U32("graphics/pokemon/palettes/totodile_palette.gbapal.lz");
+const u32 gMonBackPic_Totodile[] = INCBIN_U32("graphics/pokemon/back_pics/totodile_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Totodile[] = INCBIN_U32("graphics/pokemon/palettes/totodile_shiny_palette.gbapal.lz");
const u8 gMonIcon_Totodile[] = INCBIN_U8("graphics/pokemon/icons/totodile_icon.4bpp");
const u8 gMonFootprint_Totodile[] = INCBIN_U8("graphics/pokemon/footprints/totodile_footprint.1bpp");
-const u8 gMonStillFrontPic_Croconaw[] = INCBIN_U8("graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Croconaw[] = INCBIN_U8("graphics/pokemon/palettes/croconaw_palette.gbapal.lz");
-const u8 gMonBackPic_Croconaw[] = INCBIN_U8("graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Croconaw[] = INCBIN_U8("graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Croconaw[] = INCBIN_U32("graphics/pokemon/front_pics/croconaw_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/palettes/croconaw_palette.gbapal.lz");
+const u32 gMonBackPic_Croconaw[] = INCBIN_U32("graphics/pokemon/back_pics/croconaw_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Croconaw[] = INCBIN_U32("graphics/pokemon/palettes/croconaw_shiny_palette.gbapal.lz");
const u8 gMonIcon_Croconaw[] = INCBIN_U8("graphics/pokemon/icons/croconaw_icon.4bpp");
const u8 gMonFootprint_Croconaw[] = INCBIN_U8("graphics/pokemon/footprints/croconaw_footprint.1bpp");
-const u8 gMonStillFrontPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Feraligatr[] = INCBIN_U8("graphics/pokemon/palettes/feraligatr_palette.gbapal.lz");
-const u8 gMonBackPic_Feraligatr[] = INCBIN_U8("graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Feraligatr[] = INCBIN_U8("graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/front_pics/feraligatr_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/palettes/feraligatr_palette.gbapal.lz");
+const u32 gMonBackPic_Feraligatr[] = INCBIN_U32("graphics/pokemon/back_pics/feraligatr_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Feraligatr[] = INCBIN_U32("graphics/pokemon/palettes/feraligatr_shiny_palette.gbapal.lz");
const u8 gMonIcon_Feraligatr[] = INCBIN_U8("graphics/pokemon/icons/feraligatr_icon.4bpp");
const u8 gMonFootprint_Feraligatr[] = INCBIN_U8("graphics/pokemon/footprints/feraligatr_footprint.1bpp");
-const u8 gMonStillFrontPic_Sentret[] = INCBIN_U8("graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sentret[] = INCBIN_U8("graphics/pokemon/palettes/sentret_palette.gbapal.lz");
-const u8 gMonBackPic_Sentret[] = INCBIN_U8("graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sentret[] = INCBIN_U8("graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sentret[] = INCBIN_U32("graphics/pokemon/front_pics/sentret_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sentret[] = INCBIN_U32("graphics/pokemon/palettes/sentret_palette.gbapal.lz");
+const u32 gMonBackPic_Sentret[] = INCBIN_U32("graphics/pokemon/back_pics/sentret_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sentret[] = INCBIN_U32("graphics/pokemon/palettes/sentret_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sentret[] = INCBIN_U8("graphics/pokemon/icons/sentret_icon.4bpp");
const u8 gMonFootprint_Sentret[] = INCBIN_U8("graphics/pokemon/footprints/sentret_footprint.1bpp");
-const u8 gMonStillFrontPic_Furret[] = INCBIN_U8("graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Furret[] = INCBIN_U8("graphics/pokemon/palettes/furret_palette.gbapal.lz");
-const u8 gMonBackPic_Furret[] = INCBIN_U8("graphics/pokemon/back_pics/furret_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Furret[] = INCBIN_U8("graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Furret[] = INCBIN_U32("graphics/pokemon/front_pics/furret_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Furret[] = INCBIN_U32("graphics/pokemon/palettes/furret_palette.gbapal.lz");
+const u32 gMonBackPic_Furret[] = INCBIN_U32("graphics/pokemon/back_pics/furret_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Furret[] = INCBIN_U32("graphics/pokemon/palettes/furret_shiny_palette.gbapal.lz");
const u8 gMonIcon_Furret[] = INCBIN_U8("graphics/pokemon/icons/furret_icon.4bpp");
const u8 gMonFootprint_Furret[] = INCBIN_U8("graphics/pokemon/footprints/furret_footprint.1bpp");
-const u8 gMonStillFrontPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hoothoot[] = INCBIN_U8("graphics/pokemon/palettes/hoothoot_palette.gbapal.lz");
-const u8 gMonBackPic_Hoothoot[] = INCBIN_U8("graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hoothoot[] = INCBIN_U8("graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/front_pics/hoothoot_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/palettes/hoothoot_palette.gbapal.lz");
+const u32 gMonBackPic_Hoothoot[] = INCBIN_U32("graphics/pokemon/back_pics/hoothoot_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hoothoot[] = INCBIN_U32("graphics/pokemon/palettes/hoothoot_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hoothoot[] = INCBIN_U8("graphics/pokemon/icons/hoothoot_icon.4bpp");
const u8 gMonFootprint_Hoothoot[] = INCBIN_U8("graphics/pokemon/footprints/hoothoot_footprint.1bpp");
-const u8 gMonStillFrontPic_Noctowl[] = INCBIN_U8("graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Noctowl[] = INCBIN_U8("graphics/pokemon/palettes/noctowl_palette.gbapal.lz");
-const u8 gMonBackPic_Noctowl[] = INCBIN_U8("graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Noctowl[] = INCBIN_U8("graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Noctowl[] = INCBIN_U32("graphics/pokemon/front_pics/noctowl_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/palettes/noctowl_palette.gbapal.lz");
+const u32 gMonBackPic_Noctowl[] = INCBIN_U32("graphics/pokemon/back_pics/noctowl_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Noctowl[] = INCBIN_U32("graphics/pokemon/palettes/noctowl_shiny_palette.gbapal.lz");
const u8 gMonIcon_Noctowl[] = INCBIN_U8("graphics/pokemon/icons/noctowl_icon.4bpp");
const u8 gMonFootprint_Noctowl[] = INCBIN_U8("graphics/pokemon/footprints/noctowl_footprint.1bpp");
-const u8 gMonStillFrontPic_Ledyba[] = INCBIN_U8("graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ledyba[] = INCBIN_U8("graphics/pokemon/palettes/ledyba_palette.gbapal.lz");
-const u8 gMonBackPic_Ledyba[] = INCBIN_U8("graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ledyba[] = INCBIN_U8("graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ledyba[] = INCBIN_U32("graphics/pokemon/front_pics/ledyba_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/palettes/ledyba_palette.gbapal.lz");
+const u32 gMonBackPic_Ledyba[] = INCBIN_U32("graphics/pokemon/back_pics/ledyba_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ledyba[] = INCBIN_U32("graphics/pokemon/palettes/ledyba_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ledyba[] = INCBIN_U8("graphics/pokemon/icons/ledyba_icon.4bpp");
const u8 gMonFootprint_Ledyba[] = INCBIN_U8("graphics/pokemon/footprints/ledyba_footprint.1bpp");
-const u8 gMonStillFrontPic_Ledian[] = INCBIN_U8("graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ledian[] = INCBIN_U8("graphics/pokemon/palettes/ledian_palette.gbapal.lz");
-const u8 gMonBackPic_Ledian[] = INCBIN_U8("graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ledian[] = INCBIN_U8("graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ledian[] = INCBIN_U32("graphics/pokemon/front_pics/ledian_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ledian[] = INCBIN_U32("graphics/pokemon/palettes/ledian_palette.gbapal.lz");
+const u32 gMonBackPic_Ledian[] = INCBIN_U32("graphics/pokemon/back_pics/ledian_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ledian[] = INCBIN_U32("graphics/pokemon/palettes/ledian_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ledian[] = INCBIN_U8("graphics/pokemon/icons/ledian_icon.4bpp");
const u8 gMonFootprint_Ledian[] = INCBIN_U8("graphics/pokemon/footprints/ledian_footprint.1bpp");
-const u8 gMonStillFrontPic_Spinarak[] = INCBIN_U8("graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Spinarak[] = INCBIN_U8("graphics/pokemon/palettes/spinarak_palette.gbapal.lz");
-const u8 gMonBackPic_Spinarak[] = INCBIN_U8("graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Spinarak[] = INCBIN_U8("graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Spinarak[] = INCBIN_U32("graphics/pokemon/front_pics/spinarak_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/palettes/spinarak_palette.gbapal.lz");
+const u32 gMonBackPic_Spinarak[] = INCBIN_U32("graphics/pokemon/back_pics/spinarak_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Spinarak[] = INCBIN_U32("graphics/pokemon/palettes/spinarak_shiny_palette.gbapal.lz");
const u8 gMonIcon_Spinarak[] = INCBIN_U8("graphics/pokemon/icons/spinarak_icon.4bpp");
const u8 gMonFootprint_Spinarak[] = INCBIN_U8("graphics/pokemon/footprints/spinarak_footprint.1bpp");
-const u8 gMonStillFrontPic_Ariados[] = INCBIN_U8("graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ariados[] = INCBIN_U8("graphics/pokemon/palettes/ariados_palette.gbapal.lz");
-const u8 gMonBackPic_Ariados[] = INCBIN_U8("graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ariados[] = INCBIN_U8("graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ariados[] = INCBIN_U32("graphics/pokemon/front_pics/ariados_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ariados[] = INCBIN_U32("graphics/pokemon/palettes/ariados_palette.gbapal.lz");
+const u32 gMonBackPic_Ariados[] = INCBIN_U32("graphics/pokemon/back_pics/ariados_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ariados[] = INCBIN_U32("graphics/pokemon/palettes/ariados_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ariados[] = INCBIN_U8("graphics/pokemon/icons/ariados_icon.4bpp");
const u8 gMonFootprint_Ariados[] = INCBIN_U8("graphics/pokemon/footprints/ariados_footprint.1bpp");
-const u8 gMonStillFrontPic_Crobat[] = INCBIN_U8("graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Crobat[] = INCBIN_U8("graphics/pokemon/palettes/crobat_palette.gbapal.lz");
-const u8 gMonBackPic_Crobat[] = INCBIN_U8("graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Crobat[] = INCBIN_U8("graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Crobat[] = INCBIN_U32("graphics/pokemon/front_pics/crobat_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Crobat[] = INCBIN_U32("graphics/pokemon/palettes/crobat_palette.gbapal.lz");
+const u32 gMonBackPic_Crobat[] = INCBIN_U32("graphics/pokemon/back_pics/crobat_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Crobat[] = INCBIN_U32("graphics/pokemon/palettes/crobat_shiny_palette.gbapal.lz");
const u8 gMonIcon_Crobat[] = INCBIN_U8("graphics/pokemon/icons/crobat_icon.4bpp");
const u8 gMonFootprint_Crobat[] = INCBIN_U8("graphics/pokemon/footprints/crobat_footprint.1bpp");
-const u8 gMonStillFrontPic_Chinchou[] = INCBIN_U8("graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Chinchou[] = INCBIN_U8("graphics/pokemon/palettes/chinchou_palette.gbapal.lz");
-const u8 gMonBackPic_Chinchou[] = INCBIN_U8("graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Chinchou[] = INCBIN_U8("graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Chinchou[] = INCBIN_U32("graphics/pokemon/front_pics/chinchou_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/palettes/chinchou_palette.gbapal.lz");
+const u32 gMonBackPic_Chinchou[] = INCBIN_U32("graphics/pokemon/back_pics/chinchou_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Chinchou[] = INCBIN_U32("graphics/pokemon/palettes/chinchou_shiny_palette.gbapal.lz");
const u8 gMonIcon_Chinchou[] = INCBIN_U8("graphics/pokemon/icons/chinchou_icon.4bpp");
const u8 gMonFootprint_Chinchou[] = INCBIN_U8("graphics/pokemon/footprints/chinchou_footprint.1bpp");
-const u8 gMonStillFrontPic_Lanturn[] = INCBIN_U8("graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lanturn[] = INCBIN_U8("graphics/pokemon/palettes/lanturn_palette.gbapal.lz");
-const u8 gMonBackPic_Lanturn[] = INCBIN_U8("graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lanturn[] = INCBIN_U8("graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lanturn[] = INCBIN_U32("graphics/pokemon/front_pics/lanturn_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/palettes/lanturn_palette.gbapal.lz");
+const u32 gMonBackPic_Lanturn[] = INCBIN_U32("graphics/pokemon/back_pics/lanturn_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lanturn[] = INCBIN_U32("graphics/pokemon/palettes/lanturn_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lanturn[] = INCBIN_U8("graphics/pokemon/icons/lanturn_icon.4bpp");
const u8 gMonFootprint_Lanturn[] = INCBIN_U8("graphics/pokemon/footprints/lanturn_footprint.1bpp");
-const u8 gMonStillFrontPic_Pichu[] = INCBIN_U8("graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pichu[] = INCBIN_U8("graphics/pokemon/palettes/pichu_palette.gbapal.lz");
-const u8 gMonBackPic_Pichu[] = INCBIN_U8("graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pichu[] = INCBIN_U8("graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pichu[] = INCBIN_U32("graphics/pokemon/front_pics/pichu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pichu[] = INCBIN_U32("graphics/pokemon/palettes/pichu_palette.gbapal.lz");
+const u32 gMonBackPic_Pichu[] = INCBIN_U32("graphics/pokemon/back_pics/pichu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pichu[] = INCBIN_U32("graphics/pokemon/palettes/pichu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pichu[] = INCBIN_U8("graphics/pokemon/icons/pichu_icon.4bpp");
const u8 gMonFootprint_Pichu[] = INCBIN_U8("graphics/pokemon/footprints/pichu_footprint.1bpp");
-const u8 gMonStillFrontPic_Cleffa[] = INCBIN_U8("graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cleffa[] = INCBIN_U8("graphics/pokemon/palettes/cleffa_palette.gbapal.lz");
-const u8 gMonBackPic_Cleffa[] = INCBIN_U8("graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cleffa[] = INCBIN_U8("graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cleffa[] = INCBIN_U32("graphics/pokemon/front_pics/cleffa_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/palettes/cleffa_palette.gbapal.lz");
+const u32 gMonBackPic_Cleffa[] = INCBIN_U32("graphics/pokemon/back_pics/cleffa_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cleffa[] = INCBIN_U32("graphics/pokemon/palettes/cleffa_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cleffa[] = INCBIN_U8("graphics/pokemon/icons/cleffa_icon.4bpp");
const u8 gMonFootprint_Cleffa[] = INCBIN_U8("graphics/pokemon/footprints/cleffa_footprint.1bpp");
-const u8 gMonStillFrontPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Igglybuff[] = INCBIN_U8("graphics/pokemon/palettes/igglybuff_palette.gbapal.lz");
-const u8 gMonBackPic_Igglybuff[] = INCBIN_U8("graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Igglybuff[] = INCBIN_U8("graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/front_pics/igglybuff_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/palettes/igglybuff_palette.gbapal.lz");
+const u32 gMonBackPic_Igglybuff[] = INCBIN_U32("graphics/pokemon/back_pics/igglybuff_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Igglybuff[] = INCBIN_U32("graphics/pokemon/palettes/igglybuff_shiny_palette.gbapal.lz");
const u8 gMonIcon_Igglybuff[] = INCBIN_U8("graphics/pokemon/icons/igglybuff_icon.4bpp");
const u8 gMonFootprint_Igglybuff[] = INCBIN_U8("graphics/pokemon/footprints/igglybuff_footprint.1bpp");
-const u8 gMonStillFrontPic_Togepi[] = INCBIN_U8("graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Togepi[] = INCBIN_U8("graphics/pokemon/palettes/togepi_palette.gbapal.lz");
-const u8 gMonBackPic_Togepi[] = INCBIN_U8("graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Togepi[] = INCBIN_U8("graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/front_pics/togepi_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Togepi[] = INCBIN_U32("graphics/pokemon/palettes/togepi_palette.gbapal.lz");
+const u32 gMonBackPic_Togepi[] = INCBIN_U32("graphics/pokemon/back_pics/togepi_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Togepi[] = INCBIN_U32("graphics/pokemon/palettes/togepi_shiny_palette.gbapal.lz");
const u8 gMonIcon_Togepi[] = INCBIN_U8("graphics/pokemon/icons/togepi_icon.4bpp");
const u8 gMonFootprint_Togepi[] = INCBIN_U8("graphics/pokemon/footprints/togepi_footprint.1bpp");
-const u8 gMonStillFrontPic_Togetic[] = INCBIN_U8("graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Togetic[] = INCBIN_U8("graphics/pokemon/palettes/togetic_palette.gbapal.lz");
-const u8 gMonBackPic_Togetic[] = INCBIN_U8("graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Togetic[] = INCBIN_U8("graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/front_pics/togetic_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Togetic[] = INCBIN_U32("graphics/pokemon/palettes/togetic_palette.gbapal.lz");
+const u32 gMonBackPic_Togetic[] = INCBIN_U32("graphics/pokemon/back_pics/togetic_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Togetic[] = INCBIN_U32("graphics/pokemon/palettes/togetic_shiny_palette.gbapal.lz");
const u8 gMonIcon_Togetic[] = INCBIN_U8("graphics/pokemon/icons/togetic_icon.4bpp");
const u8 gMonFootprint_Togetic[] = INCBIN_U8("graphics/pokemon/footprints/togetic_footprint.1bpp");
-const u8 gMonStillFrontPic_Natu[] = INCBIN_U8("graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Natu[] = INCBIN_U8("graphics/pokemon/palettes/natu_palette.gbapal.lz");
-const u8 gMonBackPic_Natu[] = INCBIN_U8("graphics/pokemon/back_pics/natu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Natu[] = INCBIN_U8("graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/front_pics/natu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Natu[] = INCBIN_U32("graphics/pokemon/palettes/natu_palette.gbapal.lz");
+const u32 gMonBackPic_Natu[] = INCBIN_U32("graphics/pokemon/back_pics/natu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Natu[] = INCBIN_U32("graphics/pokemon/palettes/natu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Natu[] = INCBIN_U8("graphics/pokemon/icons/natu_icon.4bpp");
const u8 gMonFootprint_Natu[] = INCBIN_U8("graphics/pokemon/footprints/natu_footprint.1bpp");
-const u8 gMonStillFrontPic_Xatu[] = INCBIN_U8("graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Xatu[] = INCBIN_U8("graphics/pokemon/palettes/xatu_palette.gbapal.lz");
-const u8 gMonBackPic_Xatu[] = INCBIN_U8("graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Xatu[] = INCBIN_U8("graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/front_pics/xatu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Xatu[] = INCBIN_U32("graphics/pokemon/palettes/xatu_palette.gbapal.lz");
+const u32 gMonBackPic_Xatu[] = INCBIN_U32("graphics/pokemon/back_pics/xatu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Xatu[] = INCBIN_U32("graphics/pokemon/palettes/xatu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Xatu[] = INCBIN_U8("graphics/pokemon/icons/xatu_icon.4bpp");
const u8 gMonFootprint_Xatu[] = INCBIN_U8("graphics/pokemon/footprints/xatu_footprint.1bpp");
-const u8 gMonStillFrontPic_Mareep[] = INCBIN_U8("graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mareep[] = INCBIN_U8("graphics/pokemon/palettes/mareep_palette.gbapal.lz");
-const u8 gMonBackPic_Mareep[] = INCBIN_U8("graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mareep[] = INCBIN_U8("graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/front_pics/mareep_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mareep[] = INCBIN_U32("graphics/pokemon/palettes/mareep_palette.gbapal.lz");
+const u32 gMonBackPic_Mareep[] = INCBIN_U32("graphics/pokemon/back_pics/mareep_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mareep[] = INCBIN_U32("graphics/pokemon/palettes/mareep_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mareep[] = INCBIN_U8("graphics/pokemon/icons/mareep_icon.4bpp");
const u8 gMonFootprint_Mareep[] = INCBIN_U8("graphics/pokemon/footprints/mareep_footprint.1bpp");
-const u8 gMonStillFrontPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Flaaffy[] = INCBIN_U8("graphics/pokemon/palettes/flaaffy_palette.gbapal.lz");
-const u8 gMonBackPic_Flaaffy[] = INCBIN_U8("graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Flaaffy[] = INCBIN_U8("graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/front_pics/flaaffy_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/palettes/flaaffy_palette.gbapal.lz");
+const u32 gMonBackPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/back_pics/flaaffy_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Flaaffy[] = INCBIN_U32("graphics/pokemon/palettes/flaaffy_shiny_palette.gbapal.lz");
const u8 gMonIcon_Flaaffy[] = INCBIN_U8("graphics/pokemon/icons/flaaffy_icon.4bpp");
const u8 gMonFootprint_Flaaffy[] = INCBIN_U8("graphics/pokemon/footprints/flaaffy_footprint.1bpp");
-const u8 gMonStillFrontPic_Ampharos[] = INCBIN_U8("graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ampharos[] = INCBIN_U8("graphics/pokemon/palettes/ampharos_palette.gbapal.lz");
-const u8 gMonBackPic_Ampharos[] = INCBIN_U8("graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ampharos[] = INCBIN_U8("graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/front_pics/ampharos_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/palettes/ampharos_palette.gbapal.lz");
+const u32 gMonBackPic_Ampharos[] = INCBIN_U32("graphics/pokemon/back_pics/ampharos_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ampharos[] = INCBIN_U32("graphics/pokemon/palettes/ampharos_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ampharos[] = INCBIN_U8("graphics/pokemon/icons/ampharos_icon.4bpp");
const u8 gMonFootprint_Ampharos[] = INCBIN_U8("graphics/pokemon/footprints/ampharos_footprint.1bpp");
-const u8 gMonStillFrontPic_Bellossom[] = INCBIN_U8("graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Bellossom[] = INCBIN_U8("graphics/pokemon/palettes/bellossom_palette.gbapal.lz");
-const u8 gMonBackPic_Bellossom[] = INCBIN_U8("graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Bellossom[] = INCBIN_U8("graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Bellossom[] = INCBIN_U32("graphics/pokemon/front_pics/bellossom_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/palettes/bellossom_palette.gbapal.lz");
+const u32 gMonBackPic_Bellossom[] = INCBIN_U32("graphics/pokemon/back_pics/bellossom_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Bellossom[] = INCBIN_U32("graphics/pokemon/palettes/bellossom_shiny_palette.gbapal.lz");
const u8 gMonIcon_Bellossom[] = INCBIN_U8("graphics/pokemon/icons/bellossom_icon.4bpp");
const u8 gMonFootprint_Bellossom[] = INCBIN_U8("graphics/pokemon/footprints/bellossom_footprint.1bpp");
-const u8 gMonStillFrontPic_Marill[] = INCBIN_U8("graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Marill[] = INCBIN_U8("graphics/pokemon/palettes/marill_palette.gbapal.lz");
-const u8 gMonBackPic_Marill[] = INCBIN_U8("graphics/pokemon/back_pics/marill_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Marill[] = INCBIN_U8("graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/front_pics/marill_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Marill[] = INCBIN_U32("graphics/pokemon/palettes/marill_palette.gbapal.lz");
+const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/back_pics/marill_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Marill[] = INCBIN_U32("graphics/pokemon/palettes/marill_shiny_palette.gbapal.lz");
const u8 gMonIcon_Marill[] = INCBIN_U8("graphics/pokemon/icons/marill_icon.4bpp");
const u8 gMonFootprint_Marill[] = INCBIN_U8("graphics/pokemon/footprints/marill_footprint.1bpp");
-const u8 gMonStillFrontPic_Azumarill[] = INCBIN_U8("graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Azumarill[] = INCBIN_U8("graphics/pokemon/palettes/azumarill_palette.gbapal.lz");
-const u8 gMonBackPic_Azumarill[] = INCBIN_U8("graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Azumarill[] = INCBIN_U8("graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/front_pics/azumarill_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/palettes/azumarill_palette.gbapal.lz");
+const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/back_pics/azumarill_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Azumarill[] = INCBIN_U32("graphics/pokemon/palettes/azumarill_shiny_palette.gbapal.lz");
const u8 gMonIcon_Azumarill[] = INCBIN_U8("graphics/pokemon/icons/azumarill_icon.4bpp");
const u8 gMonFootprint_Azumarill[] = INCBIN_U8("graphics/pokemon/footprints/azumarill_footprint.1bpp");
-const u8 gMonStillFrontPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sudowoodo[] = INCBIN_U8("graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz");
-const u8 gMonBackPic_Sudowoodo[] = INCBIN_U8("graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sudowoodo[] = INCBIN_U8("graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/front_pics/sudowoodo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/palettes/sudowoodo_palette.gbapal.lz");
+const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/back_pics/sudowoodo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sudowoodo[] = INCBIN_U32("graphics/pokemon/palettes/sudowoodo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sudowoodo[] = INCBIN_U8("graphics/pokemon/icons/sudowoodo_icon.4bpp");
const u8 gMonFootprint_Sudowoodo[] = INCBIN_U8("graphics/pokemon/footprints/sudowoodo_footprint.1bpp");
-const u8 gMonStillFrontPic_Politoed[] = INCBIN_U8("graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Politoed[] = INCBIN_U8("graphics/pokemon/palettes/politoed_palette.gbapal.lz");
-const u8 gMonBackPic_Politoed[] = INCBIN_U8("graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Politoed[] = INCBIN_U8("graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/front_pics/politoed_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Politoed[] = INCBIN_U32("graphics/pokemon/palettes/politoed_palette.gbapal.lz");
+const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/back_pics/politoed_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Politoed[] = INCBIN_U32("graphics/pokemon/palettes/politoed_shiny_palette.gbapal.lz");
const u8 gMonIcon_Politoed[] = INCBIN_U8("graphics/pokemon/icons/politoed_icon.4bpp");
const u8 gMonFootprint_Politoed[] = INCBIN_U8("graphics/pokemon/footprints/politoed_footprint.1bpp");
-const u8 gMonStillFrontPic_Hoppip[] = INCBIN_U8("graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hoppip[] = INCBIN_U8("graphics/pokemon/palettes/hoppip_palette.gbapal.lz");
-const u8 gMonBackPic_Hoppip[] = INCBIN_U8("graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hoppip[] = INCBIN_U8("graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/front_pics/hoppip_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/palettes/hoppip_palette.gbapal.lz");
+const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/back_pics/hoppip_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hoppip[] = INCBIN_U32("graphics/pokemon/palettes/hoppip_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hoppip[] = INCBIN_U8("graphics/pokemon/icons/hoppip_icon.4bpp");
const u8 gMonFootprint_Hoppip[] = INCBIN_U8("graphics/pokemon/footprints/hoppip_footprint.1bpp");
-const u8 gMonStillFrontPic_Skiploom[] = INCBIN_U8("graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Skiploom[] = INCBIN_U8("graphics/pokemon/palettes/skiploom_palette.gbapal.lz");
-const u8 gMonBackPic_Skiploom[] = INCBIN_U8("graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Skiploom[] = INCBIN_U8("graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/front_pics/skiploom_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/palettes/skiploom_palette.gbapal.lz");
+const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/back_pics/skiploom_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Skiploom[] = INCBIN_U32("graphics/pokemon/palettes/skiploom_shiny_palette.gbapal.lz");
const u8 gMonIcon_Skiploom[] = INCBIN_U8("graphics/pokemon/icons/skiploom_icon.4bpp");
const u8 gMonFootprint_Skiploom[] = INCBIN_U8("graphics/pokemon/footprints/skiploom_footprint.1bpp");
-const u8 gMonStillFrontPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Jumpluff[] = INCBIN_U8("graphics/pokemon/palettes/jumpluff_palette.gbapal.lz");
-const u8 gMonBackPic_Jumpluff[] = INCBIN_U8("graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Jumpluff[] = INCBIN_U8("graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/front_pics/jumpluff_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/palettes/jumpluff_palette.gbapal.lz");
+const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/back_pics/jumpluff_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Jumpluff[] = INCBIN_U32("graphics/pokemon/palettes/jumpluff_shiny_palette.gbapal.lz");
const u8 gMonIcon_Jumpluff[] = INCBIN_U8("graphics/pokemon/icons/jumpluff_icon.4bpp");
const u8 gMonFootprint_Jumpluff[] = INCBIN_U8("graphics/pokemon/footprints/jumpluff_footprint.1bpp");
-const u8 gMonStillFrontPic_Aipom[] = INCBIN_U8("graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Aipom[] = INCBIN_U8("graphics/pokemon/palettes/aipom_palette.gbapal.lz");
-const u8 gMonBackPic_Aipom[] = INCBIN_U8("graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Aipom[] = INCBIN_U8("graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Aipom[] = INCBIN_U32("graphics/pokemon/front_pics/aipom_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Aipom[] = INCBIN_U32("graphics/pokemon/palettes/aipom_palette.gbapal.lz");
+const u32 gMonBackPic_Aipom[] = INCBIN_U32("graphics/pokemon/back_pics/aipom_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Aipom[] = INCBIN_U32("graphics/pokemon/palettes/aipom_shiny_palette.gbapal.lz");
const u8 gMonIcon_Aipom[] = INCBIN_U8("graphics/pokemon/icons/aipom_icon.4bpp");
const u8 gMonFootprint_Aipom[] = INCBIN_U8("graphics/pokemon/footprints/aipom_footprint.1bpp");
-const u8 gMonStillFrontPic_Sunkern[] = INCBIN_U8("graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sunkern[] = INCBIN_U8("graphics/pokemon/palettes/sunkern_palette.gbapal.lz");
-const u8 gMonBackPic_Sunkern[] = INCBIN_U8("graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sunkern[] = INCBIN_U8("graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sunkern[] = INCBIN_U32("graphics/pokemon/front_pics/sunkern_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/palettes/sunkern_palette.gbapal.lz");
+const u32 gMonBackPic_Sunkern[] = INCBIN_U32("graphics/pokemon/back_pics/sunkern_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sunkern[] = INCBIN_U32("graphics/pokemon/palettes/sunkern_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sunkern[] = INCBIN_U8("graphics/pokemon/icons/sunkern_icon.4bpp");
const u8 gMonFootprint_Sunkern[] = INCBIN_U8("graphics/pokemon/footprints/sunkern_footprint.1bpp");
-const u8 gMonStillFrontPic_Sunflora[] = INCBIN_U8("graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sunflora[] = INCBIN_U8("graphics/pokemon/palettes/sunflora_palette.gbapal.lz");
-const u8 gMonBackPic_Sunflora[] = INCBIN_U8("graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sunflora[] = INCBIN_U8("graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sunflora[] = INCBIN_U32("graphics/pokemon/front_pics/sunflora_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/palettes/sunflora_palette.gbapal.lz");
+const u32 gMonBackPic_Sunflora[] = INCBIN_U32("graphics/pokemon/back_pics/sunflora_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sunflora[] = INCBIN_U32("graphics/pokemon/palettes/sunflora_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sunflora[] = INCBIN_U8("graphics/pokemon/icons/sunflora_icon.4bpp");
const u8 gMonFootprint_Sunflora[] = INCBIN_U8("graphics/pokemon/footprints/sunflora_footprint.1bpp");
-const u8 gMonStillFrontPic_Yanma[] = INCBIN_U8("graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Yanma[] = INCBIN_U8("graphics/pokemon/palettes/yanma_palette.gbapal.lz");
-const u8 gMonBackPic_Yanma[] = INCBIN_U8("graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Yanma[] = INCBIN_U8("graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Yanma[] = INCBIN_U32("graphics/pokemon/front_pics/yanma_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Yanma[] = INCBIN_U32("graphics/pokemon/palettes/yanma_palette.gbapal.lz");
+const u32 gMonBackPic_Yanma[] = INCBIN_U32("graphics/pokemon/back_pics/yanma_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Yanma[] = INCBIN_U32("graphics/pokemon/palettes/yanma_shiny_palette.gbapal.lz");
const u8 gMonIcon_Yanma[] = INCBIN_U8("graphics/pokemon/icons/yanma_icon.4bpp");
const u8 gMonFootprint_Yanma[] = INCBIN_U8("graphics/pokemon/footprints/yanma_footprint.1bpp");
-const u8 gMonStillFrontPic_Wooper[] = INCBIN_U8("graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wooper[] = INCBIN_U8("graphics/pokemon/palettes/wooper_palette.gbapal.lz");
-const u8 gMonBackPic_Wooper[] = INCBIN_U8("graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wooper[] = INCBIN_U8("graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wooper[] = INCBIN_U32("graphics/pokemon/front_pics/wooper_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wooper[] = INCBIN_U32("graphics/pokemon/palettes/wooper_palette.gbapal.lz");
+const u32 gMonBackPic_Wooper[] = INCBIN_U32("graphics/pokemon/back_pics/wooper_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wooper[] = INCBIN_U32("graphics/pokemon/palettes/wooper_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wooper[] = INCBIN_U8("graphics/pokemon/icons/wooper_icon.4bpp");
const u8 gMonFootprint_Wooper[] = INCBIN_U8("graphics/pokemon/footprints/wooper_footprint.1bpp");
-const u8 gMonStillFrontPic_Quagsire[] = INCBIN_U8("graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Quagsire[] = INCBIN_U8("graphics/pokemon/palettes/quagsire_palette.gbapal.lz");
-const u8 gMonBackPic_Quagsire[] = INCBIN_U8("graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Quagsire[] = INCBIN_U8("graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Quagsire[] = INCBIN_U32("graphics/pokemon/front_pics/quagsire_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/palettes/quagsire_palette.gbapal.lz");
+const u32 gMonBackPic_Quagsire[] = INCBIN_U32("graphics/pokemon/back_pics/quagsire_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Quagsire[] = INCBIN_U32("graphics/pokemon/palettes/quagsire_shiny_palette.gbapal.lz");
const u8 gMonIcon_Quagsire[] = INCBIN_U8("graphics/pokemon/icons/quagsire_icon.4bpp");
const u8 gMonFootprint_Quagsire[] = INCBIN_U8("graphics/pokemon/footprints/quagsire_footprint.1bpp");
-const u8 gMonStillFrontPic_Espeon[] = INCBIN_U8("graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Espeon[] = INCBIN_U8("graphics/pokemon/palettes/espeon_palette.gbapal.lz");
-const u8 gMonBackPic_Espeon[] = INCBIN_U8("graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Espeon[] = INCBIN_U8("graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Espeon[] = INCBIN_U32("graphics/pokemon/front_pics/espeon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Espeon[] = INCBIN_U32("graphics/pokemon/palettes/espeon_palette.gbapal.lz");
+const u32 gMonBackPic_Espeon[] = INCBIN_U32("graphics/pokemon/back_pics/espeon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Espeon[] = INCBIN_U32("graphics/pokemon/palettes/espeon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Espeon[] = INCBIN_U8("graphics/pokemon/icons/espeon_icon.4bpp");
const u8 gMonFootprint_Espeon[] = INCBIN_U8("graphics/pokemon/footprints/espeon_footprint.1bpp");
-const u8 gMonStillFrontPic_Umbreon[] = INCBIN_U8("graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Umbreon[] = INCBIN_U8("graphics/pokemon/palettes/umbreon_palette.gbapal.lz");
-const u8 gMonBackPic_Umbreon[] = INCBIN_U8("graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Umbreon[] = INCBIN_U8("graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Umbreon[] = INCBIN_U32("graphics/pokemon/front_pics/umbreon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/palettes/umbreon_palette.gbapal.lz");
+const u32 gMonBackPic_Umbreon[] = INCBIN_U32("graphics/pokemon/back_pics/umbreon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Umbreon[] = INCBIN_U32("graphics/pokemon/palettes/umbreon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Umbreon[] = INCBIN_U8("graphics/pokemon/icons/umbreon_icon.4bpp");
const u8 gMonFootprint_Umbreon[] = INCBIN_U8("graphics/pokemon/footprints/umbreon_footprint.1bpp");
-const u8 gMonStillFrontPic_Murkrow[] = INCBIN_U8("graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Murkrow[] = INCBIN_U8("graphics/pokemon/palettes/murkrow_palette.gbapal.lz");
-const u8 gMonBackPic_Murkrow[] = INCBIN_U8("graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Murkrow[] = INCBIN_U8("graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Murkrow[] = INCBIN_U32("graphics/pokemon/front_pics/murkrow_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/palettes/murkrow_palette.gbapal.lz");
+const u32 gMonBackPic_Murkrow[] = INCBIN_U32("graphics/pokemon/back_pics/murkrow_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Murkrow[] = INCBIN_U32("graphics/pokemon/palettes/murkrow_shiny_palette.gbapal.lz");
const u8 gMonIcon_Murkrow[] = INCBIN_U8("graphics/pokemon/icons/murkrow_icon.4bpp");
const u8 gMonFootprint_Murkrow[] = INCBIN_U8("graphics/pokemon/footprints/murkrow_footprint.1bpp");
-const u8 gMonStillFrontPic_Slowking[] = INCBIN_U8("graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Slowking[] = INCBIN_U8("graphics/pokemon/palettes/slowking_palette.gbapal.lz");
-const u8 gMonBackPic_Slowking[] = INCBIN_U8("graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Slowking[] = INCBIN_U8("graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Slowking[] = INCBIN_U32("graphics/pokemon/front_pics/slowking_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Slowking[] = INCBIN_U32("graphics/pokemon/palettes/slowking_palette.gbapal.lz");
+const u32 gMonBackPic_Slowking[] = INCBIN_U32("graphics/pokemon/back_pics/slowking_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Slowking[] = INCBIN_U32("graphics/pokemon/palettes/slowking_shiny_palette.gbapal.lz");
const u8 gMonIcon_Slowking[] = INCBIN_U8("graphics/pokemon/icons/slowking_icon.4bpp");
const u8 gMonFootprint_Slowking[] = INCBIN_U8("graphics/pokemon/footprints/slowking_footprint.1bpp");
-const u8 gMonStillFrontPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Misdreavus[] = INCBIN_U8("graphics/pokemon/palettes/misdreavus_palette.gbapal.lz");
-const u8 gMonBackPic_Misdreavus[] = INCBIN_U8("graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Misdreavus[] = INCBIN_U8("graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/front_pics/misdreavus_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/palettes/misdreavus_palette.gbapal.lz");
+const u32 gMonBackPic_Misdreavus[] = INCBIN_U32("graphics/pokemon/back_pics/misdreavus_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Misdreavus[] = INCBIN_U32("graphics/pokemon/palettes/misdreavus_shiny_palette.gbapal.lz");
const u8 gMonIcon_Misdreavus[] = INCBIN_U8("graphics/pokemon/icons/misdreavus_icon.4bpp");
const u8 gMonFootprint_Misdreavus[] = INCBIN_U8("graphics/pokemon/footprints/misdreavus_footprint.1bpp");
-const u8 gMonStillFrontPic_UnownA[] = INCBIN_U8("graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Unown[] = INCBIN_U8("graphics/pokemon/palettes/unown_palette.gbapal.lz");
-const u8 gMonBackPic_UnownA[] = INCBIN_U8("graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Unown[] = INCBIN_U8("graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_UnownA[] = INCBIN_U32("graphics/pokemon/front_pics/unown_a_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Unown[] = INCBIN_U32("graphics/pokemon/palettes/unown_palette.gbapal.lz");
+const u32 gMonBackPic_UnownA[] = INCBIN_U32("graphics/pokemon/back_pics/unown_a_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Unown[] = INCBIN_U32("graphics/pokemon/palettes/unown_shiny_palette.gbapal.lz");
const u8 gMonIcon_UnownA[] = INCBIN_U8("graphics/pokemon/icons/unown_a_icon.4bpp");
const u8 gMonFootprint_Unown[] = INCBIN_U8("graphics/pokemon/footprints/unown_footprint.1bpp");
-const u8 gMonStillFrontPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wobbuffet[] = INCBIN_U8("graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz");
-const u8 gMonBackPic_Wobbuffet[] = INCBIN_U8("graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wobbuffet[] = INCBIN_U8("graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/front_pics/wobbuffet_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/palettes/wobbuffet_palette.gbapal.lz");
+const u32 gMonBackPic_Wobbuffet[] = INCBIN_U32("graphics/pokemon/back_pics/wobbuffet_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wobbuffet[] = INCBIN_U32("graphics/pokemon/palettes/wobbuffet_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wobbuffet[] = INCBIN_U8("graphics/pokemon/icons/wobbuffet_icon.4bpp");
const u8 gMonFootprint_Wobbuffet[] = INCBIN_U8("graphics/pokemon/footprints/wobbuffet_footprint.1bpp");
-const u8 gMonStillFrontPic_Girafarig[] = INCBIN_U8("graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Girafarig[] = INCBIN_U8("graphics/pokemon/palettes/girafarig_palette.gbapal.lz");
-const u8 gMonBackPic_Girafarig[] = INCBIN_U8("graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Girafarig[] = INCBIN_U8("graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Girafarig[] = INCBIN_U32("graphics/pokemon/front_pics/girafarig_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/palettes/girafarig_palette.gbapal.lz");
+const u32 gMonBackPic_Girafarig[] = INCBIN_U32("graphics/pokemon/back_pics/girafarig_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Girafarig[] = INCBIN_U32("graphics/pokemon/palettes/girafarig_shiny_palette.gbapal.lz");
const u8 gMonIcon_Girafarig[] = INCBIN_U8("graphics/pokemon/icons/girafarig_icon.4bpp");
const u8 gMonFootprint_Girafarig[] = INCBIN_U8("graphics/pokemon/footprints/girafarig_footprint.1bpp");
-const u8 gMonStillFrontPic_Pineco[] = INCBIN_U8("graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pineco[] = INCBIN_U8("graphics/pokemon/palettes/pineco_palette.gbapal.lz");
-const u8 gMonBackPic_Pineco[] = INCBIN_U8("graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pineco[] = INCBIN_U8("graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pineco[] = INCBIN_U32("graphics/pokemon/front_pics/pineco_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pineco[] = INCBIN_U32("graphics/pokemon/palettes/pineco_palette.gbapal.lz");
+const u32 gMonBackPic_Pineco[] = INCBIN_U32("graphics/pokemon/back_pics/pineco_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pineco[] = INCBIN_U32("graphics/pokemon/palettes/pineco_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pineco[] = INCBIN_U8("graphics/pokemon/icons/pineco_icon.4bpp");
const u8 gMonFootprint_Pineco[] = INCBIN_U8("graphics/pokemon/footprints/pineco_footprint.1bpp");
-const u8 gMonStillFrontPic_Forretress[] = INCBIN_U8("graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Forretress[] = INCBIN_U8("graphics/pokemon/palettes/forretress_palette.gbapal.lz");
-const u8 gMonBackPic_Forretress[] = INCBIN_U8("graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Forretress[] = INCBIN_U8("graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Forretress[] = INCBIN_U32("graphics/pokemon/front_pics/forretress_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Forretress[] = INCBIN_U32("graphics/pokemon/palettes/forretress_palette.gbapal.lz");
+const u32 gMonBackPic_Forretress[] = INCBIN_U32("graphics/pokemon/back_pics/forretress_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Forretress[] = INCBIN_U32("graphics/pokemon/palettes/forretress_shiny_palette.gbapal.lz");
const u8 gMonIcon_Forretress[] = INCBIN_U8("graphics/pokemon/icons/forretress_icon.4bpp");
const u8 gMonFootprint_Forretress[] = INCBIN_U8("graphics/pokemon/footprints/forretress_footprint.1bpp");
-const u8 gMonStillFrontPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dunsparce[] = INCBIN_U8("graphics/pokemon/palettes/dunsparce_palette.gbapal.lz");
-const u8 gMonBackPic_Dunsparce[] = INCBIN_U8("graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dunsparce[] = INCBIN_U8("graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/front_pics/dunsparce_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/palettes/dunsparce_palette.gbapal.lz");
+const u32 gMonBackPic_Dunsparce[] = INCBIN_U32("graphics/pokemon/back_pics/dunsparce_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dunsparce[] = INCBIN_U32("graphics/pokemon/palettes/dunsparce_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dunsparce[] = INCBIN_U8("graphics/pokemon/icons/dunsparce_icon.4bpp");
const u8 gMonFootprint_Dunsparce[] = INCBIN_U8("graphics/pokemon/footprints/dunsparce_footprint.1bpp");
-const u8 gMonStillFrontPic_Gligar[] = INCBIN_U8("graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gligar[] = INCBIN_U8("graphics/pokemon/palettes/gligar_palette.gbapal.lz");
-const u8 gMonBackPic_Gligar[] = INCBIN_U8("graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gligar[] = INCBIN_U8("graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gligar[] = INCBIN_U32("graphics/pokemon/front_pics/gligar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gligar[] = INCBIN_U32("graphics/pokemon/palettes/gligar_palette.gbapal.lz");
+const u32 gMonBackPic_Gligar[] = INCBIN_U32("graphics/pokemon/back_pics/gligar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gligar[] = INCBIN_U32("graphics/pokemon/palettes/gligar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gligar[] = INCBIN_U8("graphics/pokemon/icons/gligar_icon.4bpp");
const u8 gMonFootprint_Gligar[] = INCBIN_U8("graphics/pokemon/footprints/gligar_footprint.1bpp");
-const u8 gMonStillFrontPic_Steelix[] = INCBIN_U8("graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Steelix[] = INCBIN_U8("graphics/pokemon/palettes/steelix_palette.gbapal.lz");
-const u8 gMonBackPic_Steelix[] = INCBIN_U8("graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Steelix[] = INCBIN_U8("graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Steelix[] = INCBIN_U32("graphics/pokemon/front_pics/steelix_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Steelix[] = INCBIN_U32("graphics/pokemon/palettes/steelix_palette.gbapal.lz");
+const u32 gMonBackPic_Steelix[] = INCBIN_U32("graphics/pokemon/back_pics/steelix_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Steelix[] = INCBIN_U32("graphics/pokemon/palettes/steelix_shiny_palette.gbapal.lz");
const u8 gMonIcon_Steelix[] = INCBIN_U8("graphics/pokemon/icons/steelix_icon.4bpp");
const u8 gMonFootprint_Steelix[] = INCBIN_U8("graphics/pokemon/footprints/steelix_footprint.1bpp");
-const u8 gMonStillFrontPic_Snubbull[] = INCBIN_U8("graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Snubbull[] = INCBIN_U8("graphics/pokemon/palettes/snubbull_palette.gbapal.lz");
-const u8 gMonBackPic_Snubbull[] = INCBIN_U8("graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Snubbull[] = INCBIN_U8("graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/front_pics/snubbull_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/palettes/snubbull_palette.gbapal.lz");
+const u32 gMonBackPic_Snubbull[] = INCBIN_U32("graphics/pokemon/back_pics/snubbull_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Snubbull[] = INCBIN_U32("graphics/pokemon/palettes/snubbull_shiny_palette.gbapal.lz");
const u8 gMonIcon_Snubbull[] = INCBIN_U8("graphics/pokemon/icons/snubbull_icon.4bpp");
const u8 gMonFootprint_Snubbull[] = INCBIN_U8("graphics/pokemon/footprints/snubbull_footprint.1bpp");
-const u8 gMonStillFrontPic_Granbull[] = INCBIN_U8("graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Granbull[] = INCBIN_U8("graphics/pokemon/palettes/granbull_palette.gbapal.lz");
-const u8 gMonBackPic_Granbull[] = INCBIN_U8("graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Granbull[] = INCBIN_U8("graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/front_pics/granbull_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Granbull[] = INCBIN_U32("graphics/pokemon/palettes/granbull_palette.gbapal.lz");
+const u32 gMonBackPic_Granbull[] = INCBIN_U32("graphics/pokemon/back_pics/granbull_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Granbull[] = INCBIN_U32("graphics/pokemon/palettes/granbull_shiny_palette.gbapal.lz");
const u8 gMonIcon_Granbull[] = INCBIN_U8("graphics/pokemon/icons/granbull_icon.4bpp");
const u8 gMonFootprint_Granbull[] = INCBIN_U8("graphics/pokemon/footprints/granbull_footprint.1bpp");
-const u8 gMonStillFrontPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Qwilfish[] = INCBIN_U8("graphics/pokemon/palettes/qwilfish_palette.gbapal.lz");
-const u8 gMonBackPic_Qwilfish[] = INCBIN_U8("graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Qwilfish[] = INCBIN_U8("graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/front_pics/qwilfish_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/palettes/qwilfish_palette.gbapal.lz");
+const u32 gMonBackPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/back_pics/qwilfish_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Qwilfish[] = INCBIN_U32("graphics/pokemon/palettes/qwilfish_shiny_palette.gbapal.lz");
const u8 gMonIcon_Qwilfish[] = INCBIN_U8("graphics/pokemon/icons/qwilfish_icon.4bpp");
const u8 gMonFootprint_Qwilfish[] = INCBIN_U8("graphics/pokemon/footprints/qwilfish_footprint.1bpp");
-const u8 gMonStillFrontPic_Scizor[] = INCBIN_U8("graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Scizor[] = INCBIN_U8("graphics/pokemon/palettes/scizor_palette.gbapal.lz");
-const u8 gMonBackPic_Scizor[] = INCBIN_U8("graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Scizor[] = INCBIN_U8("graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/front_pics/scizor_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Scizor[] = INCBIN_U32("graphics/pokemon/palettes/scizor_palette.gbapal.lz");
+const u32 gMonBackPic_Scizor[] = INCBIN_U32("graphics/pokemon/back_pics/scizor_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Scizor[] = INCBIN_U32("graphics/pokemon/palettes/scizor_shiny_palette.gbapal.lz");
const u8 gMonIcon_Scizor[] = INCBIN_U8("graphics/pokemon/icons/scizor_icon.4bpp");
const u8 gMonFootprint_Scizor[] = INCBIN_U8("graphics/pokemon/footprints/scizor_footprint.1bpp");
-const u8 gMonStillFrontPic_Shuckle[] = INCBIN_U8("graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shuckle[] = INCBIN_U8("graphics/pokemon/palettes/shuckle_palette.gbapal.lz");
-const u8 gMonBackPic_Shuckle[] = INCBIN_U8("graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shuckle[] = INCBIN_U8("graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/front_pics/shuckle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/palettes/shuckle_palette.gbapal.lz");
+const u32 gMonBackPic_Shuckle[] = INCBIN_U32("graphics/pokemon/back_pics/shuckle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shuckle[] = INCBIN_U32("graphics/pokemon/palettes/shuckle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shuckle[] = INCBIN_U8("graphics/pokemon/icons/shuckle_icon.4bpp");
const u8 gMonFootprint_Shuckle[] = INCBIN_U8("graphics/pokemon/footprints/shuckle_footprint.1bpp");
-const u8 gMonStillFrontPic_Heracross[] = INCBIN_U8("graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Heracross[] = INCBIN_U8("graphics/pokemon/palettes/heracross_palette.gbapal.lz");
-const u8 gMonBackPic_Heracross[] = INCBIN_U8("graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Heracross[] = INCBIN_U8("graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/front_pics/heracross_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Heracross[] = INCBIN_U32("graphics/pokemon/palettes/heracross_palette.gbapal.lz");
+const u32 gMonBackPic_Heracross[] = INCBIN_U32("graphics/pokemon/back_pics/heracross_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Heracross[] = INCBIN_U32("graphics/pokemon/palettes/heracross_shiny_palette.gbapal.lz");
const u8 gMonIcon_Heracross[] = INCBIN_U8("graphics/pokemon/icons/heracross_icon.4bpp");
const u8 gMonFootprint_Heracross[] = INCBIN_U8("graphics/pokemon/footprints/heracross_footprint.1bpp");
-const u8 gMonStillFrontPic_Sneasel[] = INCBIN_U8("graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sneasel[] = INCBIN_U8("graphics/pokemon/palettes/sneasel_palette.gbapal.lz");
-const u8 gMonBackPic_Sneasel[] = INCBIN_U8("graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sneasel[] = INCBIN_U8("graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/front_pics/sneasel_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/palettes/sneasel_palette.gbapal.lz");
+const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/back_pics/sneasel_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sneasel[] = INCBIN_U32("graphics/pokemon/palettes/sneasel_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sneasel[] = INCBIN_U8("graphics/pokemon/icons/sneasel_icon.4bpp");
const u8 gMonFootprint_Sneasel[] = INCBIN_U8("graphics/pokemon/footprints/sneasel_footprint.1bpp");
-const u8 gMonStillFrontPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Teddiursa[] = INCBIN_U8("graphics/pokemon/palettes/teddiursa_palette.gbapal.lz");
-const u8 gMonBackPic_Teddiursa[] = INCBIN_U8("graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Teddiursa[] = INCBIN_U8("graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/front_pics/teddiursa_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/palettes/teddiursa_palette.gbapal.lz");
+const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/back_pics/teddiursa_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Teddiursa[] = INCBIN_U32("graphics/pokemon/palettes/teddiursa_shiny_palette.gbapal.lz");
const u8 gMonIcon_Teddiursa[] = INCBIN_U8("graphics/pokemon/icons/teddiursa_icon.4bpp");
const u8 gMonFootprint_Teddiursa[] = INCBIN_U8("graphics/pokemon/footprints/teddiursa_footprint.1bpp");
-const u8 gMonStillFrontPic_Ursaring[] = INCBIN_U8("graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ursaring[] = INCBIN_U8("graphics/pokemon/palettes/ursaring_palette.gbapal.lz");
-const u8 gMonBackPic_Ursaring[] = INCBIN_U8("graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ursaring[] = INCBIN_U8("graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/front_pics/ursaring_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/palettes/ursaring_palette.gbapal.lz");
+const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/back_pics/ursaring_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ursaring[] = INCBIN_U32("graphics/pokemon/palettes/ursaring_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ursaring[] = INCBIN_U8("graphics/pokemon/icons/ursaring_icon.4bpp");
const u8 gMonFootprint_Ursaring[] = INCBIN_U8("graphics/pokemon/footprints/ursaring_footprint.1bpp");
-const u8 gMonStillFrontPic_Slugma[] = INCBIN_U8("graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Slugma[] = INCBIN_U8("graphics/pokemon/palettes/slugma_palette.gbapal.lz");
-const u8 gMonBackPic_Slugma[] = INCBIN_U8("graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Slugma[] = INCBIN_U8("graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/front_pics/slugma_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Slugma[] = INCBIN_U32("graphics/pokemon/palettes/slugma_palette.gbapal.lz");
+const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/back_pics/slugma_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Slugma[] = INCBIN_U32("graphics/pokemon/palettes/slugma_shiny_palette.gbapal.lz");
const u8 gMonIcon_Slugma[] = INCBIN_U8("graphics/pokemon/icons/slugma_icon.4bpp");
const u8 gMonFootprint_Slugma[] = INCBIN_U8("graphics/pokemon/footprints/slugma_footprint.1bpp");
-const u8 gMonStillFrontPic_Magcargo[] = INCBIN_U8("graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Magcargo[] = INCBIN_U8("graphics/pokemon/palettes/magcargo_palette.gbapal.lz");
-const u8 gMonBackPic_Magcargo[] = INCBIN_U8("graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Magcargo[] = INCBIN_U8("graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/front_pics/magcargo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/palettes/magcargo_palette.gbapal.lz");
+const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/back_pics/magcargo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Magcargo[] = INCBIN_U32("graphics/pokemon/palettes/magcargo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Magcargo[] = INCBIN_U8("graphics/pokemon/icons/magcargo_icon.4bpp");
const u8 gMonFootprint_Magcargo[] = INCBIN_U8("graphics/pokemon/footprints/magcargo_footprint.1bpp");
-const u8 gMonStillFrontPic_Swinub[] = INCBIN_U8("graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Swinub[] = INCBIN_U8("graphics/pokemon/palettes/swinub_palette.gbapal.lz");
-const u8 gMonBackPic_Swinub[] = INCBIN_U8("graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Swinub[] = INCBIN_U8("graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/front_pics/swinub_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Swinub[] = INCBIN_U32("graphics/pokemon/palettes/swinub_palette.gbapal.lz");
+const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/back_pics/swinub_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Swinub[] = INCBIN_U32("graphics/pokemon/palettes/swinub_shiny_palette.gbapal.lz");
const u8 gMonIcon_Swinub[] = INCBIN_U8("graphics/pokemon/icons/swinub_icon.4bpp");
const u8 gMonFootprint_Swinub[] = INCBIN_U8("graphics/pokemon/footprints/swinub_footprint.1bpp");
-const u8 gMonStillFrontPic_Piloswine[] = INCBIN_U8("graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Piloswine[] = INCBIN_U8("graphics/pokemon/palettes/piloswine_palette.gbapal.lz");
-const u8 gMonBackPic_Piloswine[] = INCBIN_U8("graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Piloswine[] = INCBIN_U8("graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/front_pics/piloswine_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/palettes/piloswine_palette.gbapal.lz");
+const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/back_pics/piloswine_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Piloswine[] = INCBIN_U32("graphics/pokemon/palettes/piloswine_shiny_palette.gbapal.lz");
const u8 gMonIcon_Piloswine[] = INCBIN_U8("graphics/pokemon/icons/piloswine_icon.4bpp");
const u8 gMonFootprint_Piloswine[] = INCBIN_U8("graphics/pokemon/footprints/piloswine_footprint.1bpp");
-const u8 gMonStillFrontPic_Corsola[] = INCBIN_U8("graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Corsola[] = INCBIN_U8("graphics/pokemon/palettes/corsola_palette.gbapal.lz");
-const u8 gMonBackPic_Corsola[] = INCBIN_U8("graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Corsola[] = INCBIN_U8("graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/front_pics/corsola_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Corsola[] = INCBIN_U32("graphics/pokemon/palettes/corsola_palette.gbapal.lz");
+const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/back_pics/corsola_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Corsola[] = INCBIN_U32("graphics/pokemon/palettes/corsola_shiny_palette.gbapal.lz");
const u8 gMonIcon_Corsola[] = INCBIN_U8("graphics/pokemon/icons/corsola_icon.4bpp");
const u8 gMonFootprint_Corsola[] = INCBIN_U8("graphics/pokemon/footprints/corsola_footprint.1bpp");
-const u8 gMonStillFrontPic_Remoraid[] = INCBIN_U8("graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Remoraid[] = INCBIN_U8("graphics/pokemon/palettes/remoraid_palette.gbapal.lz");
-const u8 gMonBackPic_Remoraid[] = INCBIN_U8("graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Remoraid[] = INCBIN_U8("graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/front_pics/remoraid_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/palettes/remoraid_palette.gbapal.lz");
+const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/back_pics/remoraid_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Remoraid[] = INCBIN_U32("graphics/pokemon/palettes/remoraid_shiny_palette.gbapal.lz");
const u8 gMonIcon_Remoraid[] = INCBIN_U8("graphics/pokemon/icons/remoraid_icon.4bpp");
const u8 gMonFootprint_Remoraid[] = INCBIN_U8("graphics/pokemon/footprints/remoraid_footprint.1bpp");
-const u8 gMonStillFrontPic_Octillery[] = INCBIN_U8("graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Octillery[] = INCBIN_U8("graphics/pokemon/palettes/octillery_palette.gbapal.lz");
-const u8 gMonBackPic_Octillery[] = INCBIN_U8("graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Octillery[] = INCBIN_U8("graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/front_pics/octillery_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Octillery[] = INCBIN_U32("graphics/pokemon/palettes/octillery_palette.gbapal.lz");
+const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/back_pics/octillery_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Octillery[] = INCBIN_U32("graphics/pokemon/palettes/octillery_shiny_palette.gbapal.lz");
const u8 gMonIcon_Octillery[] = INCBIN_U8("graphics/pokemon/icons/octillery_icon.4bpp");
const u8 gMonFootprint_Octillery[] = INCBIN_U8("graphics/pokemon/footprints/octillery_footprint.1bpp");
-const u8 gMonStillFrontPic_Delibird[] = INCBIN_U8("graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Delibird[] = INCBIN_U8("graphics/pokemon/palettes/delibird_palette.gbapal.lz");
-const u8 gMonBackPic_Delibird[] = INCBIN_U8("graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Delibird[] = INCBIN_U8("graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/front_pics/delibird_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Delibird[] = INCBIN_U32("graphics/pokemon/palettes/delibird_palette.gbapal.lz");
+const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/back_pics/delibird_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Delibird[] = INCBIN_U32("graphics/pokemon/palettes/delibird_shiny_palette.gbapal.lz");
const u8 gMonIcon_Delibird[] = INCBIN_U8("graphics/pokemon/icons/delibird_icon.4bpp");
const u8 gMonFootprint_Delibird[] = INCBIN_U8("graphics/pokemon/footprints/delibird_footprint.1bpp");
-const u8 gMonStillFrontPic_Mantine[] = INCBIN_U8("graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mantine[] = INCBIN_U8("graphics/pokemon/palettes/mantine_palette.gbapal.lz");
-const u8 gMonBackPic_Mantine[] = INCBIN_U8("graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mantine[] = INCBIN_U8("graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/front_pics/mantine_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mantine[] = INCBIN_U32("graphics/pokemon/palettes/mantine_palette.gbapal.lz");
+const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/back_pics/mantine_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mantine[] = INCBIN_U32("graphics/pokemon/palettes/mantine_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mantine[] = INCBIN_U8("graphics/pokemon/icons/mantine_icon.4bpp");
const u8 gMonFootprint_Mantine[] = INCBIN_U8("graphics/pokemon/footprints/mantine_footprint.1bpp");
-const u8 gMonStillFrontPic_Skarmory[] = INCBIN_U8("graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Skarmory[] = INCBIN_U8("graphics/pokemon/palettes/skarmory_palette.gbapal.lz");
-const u8 gMonBackPic_Skarmory[] = INCBIN_U8("graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Skarmory[] = INCBIN_U8("graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/front_pics/skarmory_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/palettes/skarmory_palette.gbapal.lz");
+const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/back_pics/skarmory_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Skarmory[] = INCBIN_U32("graphics/pokemon/palettes/skarmory_shiny_palette.gbapal.lz");
const u8 gMonIcon_Skarmory[] = INCBIN_U8("graphics/pokemon/icons/skarmory_icon.4bpp");
const u8 gMonFootprint_Skarmory[] = INCBIN_U8("graphics/pokemon/footprints/skarmory_footprint.1bpp");
-const u8 gMonStillFrontPic_Houndour[] = INCBIN_U8("graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Houndour[] = INCBIN_U8("graphics/pokemon/palettes/houndour_palette.gbapal.lz");
-const u8 gMonBackPic_Houndour[] = INCBIN_U8("graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Houndour[] = INCBIN_U8("graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/front_pics/houndour_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Houndour[] = INCBIN_U32("graphics/pokemon/palettes/houndour_palette.gbapal.lz");
+const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/back_pics/houndour_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Houndour[] = INCBIN_U32("graphics/pokemon/palettes/houndour_shiny_palette.gbapal.lz");
const u8 gMonIcon_Houndour[] = INCBIN_U8("graphics/pokemon/icons/houndour_icon.4bpp");
const u8 gMonFootprint_Houndour[] = INCBIN_U8("graphics/pokemon/footprints/houndour_footprint.1bpp");
-const u8 gMonStillFrontPic_Houndoom[] = INCBIN_U8("graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Houndoom[] = INCBIN_U8("graphics/pokemon/palettes/houndoom_palette.gbapal.lz");
-const u8 gMonBackPic_Houndoom[] = INCBIN_U8("graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Houndoom[] = INCBIN_U8("graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/front_pics/houndoom_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/palettes/houndoom_palette.gbapal.lz");
+const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/back_pics/houndoom_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Houndoom[] = INCBIN_U32("graphics/pokemon/palettes/houndoom_shiny_palette.gbapal.lz");
const u8 gMonIcon_Houndoom[] = INCBIN_U8("graphics/pokemon/icons/houndoom_icon.4bpp");
const u8 gMonFootprint_Houndoom[] = INCBIN_U8("graphics/pokemon/footprints/houndoom_footprint.1bpp");
-const u8 gMonStillFrontPic_Kingdra[] = INCBIN_U8("graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kingdra[] = INCBIN_U8("graphics/pokemon/palettes/kingdra_palette.gbapal.lz");
-const u8 gMonBackPic_Kingdra[] = INCBIN_U8("graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kingdra[] = INCBIN_U8("graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/front_pics/kingdra_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/palettes/kingdra_palette.gbapal.lz");
+const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/back_pics/kingdra_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kingdra[] = INCBIN_U32("graphics/pokemon/palettes/kingdra_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kingdra[] = INCBIN_U8("graphics/pokemon/icons/kingdra_icon.4bpp");
const u8 gMonFootprint_Kingdra[] = INCBIN_U8("graphics/pokemon/footprints/kingdra_footprint.1bpp");
-const u8 gMonStillFrontPic_Phanpy[] = INCBIN_U8("graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Phanpy[] = INCBIN_U8("graphics/pokemon/palettes/phanpy_palette.gbapal.lz");
-const u8 gMonBackPic_Phanpy[] = INCBIN_U8("graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Phanpy[] = INCBIN_U8("graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/front_pics/phanpy_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/palettes/phanpy_palette.gbapal.lz");
+const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/back_pics/phanpy_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Phanpy[] = INCBIN_U32("graphics/pokemon/palettes/phanpy_shiny_palette.gbapal.lz");
const u8 gMonIcon_Phanpy[] = INCBIN_U8("graphics/pokemon/icons/phanpy_icon.4bpp");
const u8 gMonFootprint_Phanpy[] = INCBIN_U8("graphics/pokemon/footprints/phanpy_footprint.1bpp");
-const u8 gMonStillFrontPic_Donphan[] = INCBIN_U8("graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Donphan[] = INCBIN_U8("graphics/pokemon/palettes/donphan_palette.gbapal.lz");
-const u8 gMonBackPic_Donphan[] = INCBIN_U8("graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Donphan[] = INCBIN_U8("graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/front_pics/donphan_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Donphan[] = INCBIN_U32("graphics/pokemon/palettes/donphan_palette.gbapal.lz");
+const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/back_pics/donphan_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Donphan[] = INCBIN_U32("graphics/pokemon/palettes/donphan_shiny_palette.gbapal.lz");
const u8 gMonIcon_Donphan[] = INCBIN_U8("graphics/pokemon/icons/donphan_icon.4bpp");
const u8 gMonFootprint_Donphan[] = INCBIN_U8("graphics/pokemon/footprints/donphan_footprint.1bpp");
-const u8 gMonStillFrontPic_Porygon2[] = INCBIN_U8("graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Porygon2[] = INCBIN_U8("graphics/pokemon/palettes/porygon2_palette.gbapal.lz");
-const u8 gMonBackPic_Porygon2[] = INCBIN_U8("graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Porygon2[] = INCBIN_U8("graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/front_pics/porygon2_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_palette.gbapal.lz");
+const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/back_pics/porygon2_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Porygon2[] = INCBIN_U32("graphics/pokemon/palettes/porygon2_shiny_palette.gbapal.lz");
const u8 gMonIcon_Porygon2[] = INCBIN_U8("graphics/pokemon/icons/porygon2_icon.4bpp");
const u8 gMonFootprint_Porygon2[] = INCBIN_U8("graphics/pokemon/footprints/porygon2_footprint.1bpp");
-const u8 gMonStillFrontPic_Stantler[] = INCBIN_U8("graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Stantler[] = INCBIN_U8("graphics/pokemon/palettes/stantler_palette.gbapal.lz");
-const u8 gMonBackPic_Stantler[] = INCBIN_U8("graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Stantler[] = INCBIN_U8("graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/front_pics/stantler_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Stantler[] = INCBIN_U32("graphics/pokemon/palettes/stantler_palette.gbapal.lz");
+const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/back_pics/stantler_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Stantler[] = INCBIN_U32("graphics/pokemon/palettes/stantler_shiny_palette.gbapal.lz");
const u8 gMonIcon_Stantler[] = INCBIN_U8("graphics/pokemon/icons/stantler_icon.4bpp");
const u8 gMonFootprint_Stantler[] = INCBIN_U8("graphics/pokemon/footprints/stantler_footprint.1bpp");
-const u8 gMonStillFrontPic_Smeargle[] = INCBIN_U8("graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Smeargle[] = INCBIN_U8("graphics/pokemon/palettes/smeargle_palette.gbapal.lz");
-const u8 gMonBackPic_Smeargle[] = INCBIN_U8("graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Smeargle[] = INCBIN_U8("graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/front_pics/smeargle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/palettes/smeargle_palette.gbapal.lz");
+const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/back_pics/smeargle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Smeargle[] = INCBIN_U32("graphics/pokemon/palettes/smeargle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Smeargle[] = INCBIN_U8("graphics/pokemon/icons/smeargle_icon.4bpp");
const u8 gMonFootprint_Smeargle[] = INCBIN_U8("graphics/pokemon/footprints/smeargle_footprint.1bpp");
-const u8 gMonStillFrontPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tyrogue[] = INCBIN_U8("graphics/pokemon/palettes/tyrogue_palette.gbapal.lz");
-const u8 gMonBackPic_Tyrogue[] = INCBIN_U8("graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tyrogue[] = INCBIN_U8("graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/front_pics/tyrogue_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/palettes/tyrogue_palette.gbapal.lz");
+const u32 gMonBackPic_Tyrogue[] = INCBIN_U32("graphics/pokemon/back_pics/tyrogue_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tyrogue[] = INCBIN_U32("graphics/pokemon/palettes/tyrogue_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tyrogue[] = INCBIN_U8("graphics/pokemon/icons/tyrogue_icon.4bpp");
const u8 gMonFootprint_Tyrogue[] = INCBIN_U8("graphics/pokemon/footprints/tyrogue_footprint.1bpp");
-const u8 gMonStillFrontPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hitmontop[] = INCBIN_U8("graphics/pokemon/palettes/hitmontop_palette.gbapal.lz");
-const u8 gMonBackPic_Hitmontop[] = INCBIN_U8("graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hitmontop[] = INCBIN_U8("graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/front_pics/hitmontop_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/palettes/hitmontop_palette.gbapal.lz");
+const u32 gMonBackPic_Hitmontop[] = INCBIN_U32("graphics/pokemon/back_pics/hitmontop_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hitmontop[] = INCBIN_U32("graphics/pokemon/palettes/hitmontop_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hitmontop[] = INCBIN_U8("graphics/pokemon/icons/hitmontop_icon.4bpp");
const u8 gMonFootprint_Hitmontop[] = INCBIN_U8("graphics/pokemon/footprints/hitmontop_footprint.1bpp");
-const u8 gMonStillFrontPic_Smoochum[] = INCBIN_U8("graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Smoochum[] = INCBIN_U8("graphics/pokemon/palettes/smoochum_palette.gbapal.lz");
-const u8 gMonBackPic_Smoochum[] = INCBIN_U8("graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Smoochum[] = INCBIN_U8("graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Smoochum[] = INCBIN_U32("graphics/pokemon/front_pics/smoochum_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/palettes/smoochum_palette.gbapal.lz");
+const u32 gMonBackPic_Smoochum[] = INCBIN_U32("graphics/pokemon/back_pics/smoochum_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Smoochum[] = INCBIN_U32("graphics/pokemon/palettes/smoochum_shiny_palette.gbapal.lz");
const u8 gMonIcon_Smoochum[] = INCBIN_U8("graphics/pokemon/icons/smoochum_icon.4bpp");
const u8 gMonFootprint_Smoochum[] = INCBIN_U8("graphics/pokemon/footprints/smoochum_footprint.1bpp");
-const u8 gMonStillFrontPic_Elekid[] = INCBIN_U8("graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Elekid[] = INCBIN_U8("graphics/pokemon/palettes/elekid_palette.gbapal.lz");
-const u8 gMonBackPic_Elekid[] = INCBIN_U8("graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Elekid[] = INCBIN_U8("graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Elekid[] = INCBIN_U32("graphics/pokemon/front_pics/elekid_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Elekid[] = INCBIN_U32("graphics/pokemon/palettes/elekid_palette.gbapal.lz");
+const u32 gMonBackPic_Elekid[] = INCBIN_U32("graphics/pokemon/back_pics/elekid_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Elekid[] = INCBIN_U32("graphics/pokemon/palettes/elekid_shiny_palette.gbapal.lz");
const u8 gMonIcon_Elekid[] = INCBIN_U8("graphics/pokemon/icons/elekid_icon.4bpp");
const u8 gMonFootprint_Elekid[] = INCBIN_U8("graphics/pokemon/footprints/elekid_footprint.1bpp");
-const u8 gMonStillFrontPic_Magby[] = INCBIN_U8("graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Magby[] = INCBIN_U8("graphics/pokemon/palettes/magby_palette.gbapal.lz");
-const u8 gMonBackPic_Magby[] = INCBIN_U8("graphics/pokemon/back_pics/magby_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Magby[] = INCBIN_U8("graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Magby[] = INCBIN_U32("graphics/pokemon/front_pics/magby_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Magby[] = INCBIN_U32("graphics/pokemon/palettes/magby_palette.gbapal.lz");
+const u32 gMonBackPic_Magby[] = INCBIN_U32("graphics/pokemon/back_pics/magby_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Magby[] = INCBIN_U32("graphics/pokemon/palettes/magby_shiny_palette.gbapal.lz");
const u8 gMonIcon_Magby[] = INCBIN_U8("graphics/pokemon/icons/magby_icon.4bpp");
const u8 gMonFootprint_Magby[] = INCBIN_U8("graphics/pokemon/footprints/magby_footprint.1bpp");
-const u8 gMonStillFrontPic_Miltank[] = INCBIN_U8("graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Miltank[] = INCBIN_U8("graphics/pokemon/palettes/miltank_palette.gbapal.lz");
-const u8 gMonBackPic_Miltank[] = INCBIN_U8("graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Miltank[] = INCBIN_U8("graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Miltank[] = INCBIN_U32("graphics/pokemon/front_pics/miltank_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Miltank[] = INCBIN_U32("graphics/pokemon/palettes/miltank_palette.gbapal.lz");
+const u32 gMonBackPic_Miltank[] = INCBIN_U32("graphics/pokemon/back_pics/miltank_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Miltank[] = INCBIN_U32("graphics/pokemon/palettes/miltank_shiny_palette.gbapal.lz");
const u8 gMonIcon_Miltank[] = INCBIN_U8("graphics/pokemon/icons/miltank_icon.4bpp");
const u8 gMonFootprint_Miltank[] = INCBIN_U8("graphics/pokemon/footprints/miltank_footprint.1bpp");
-const u8 gMonStillFrontPic_Blissey[] = INCBIN_U8("graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Blissey[] = INCBIN_U8("graphics/pokemon/palettes/blissey_palette.gbapal.lz");
-const u8 gMonBackPic_Blissey[] = INCBIN_U8("graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Blissey[] = INCBIN_U8("graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Blissey[] = INCBIN_U32("graphics/pokemon/front_pics/blissey_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Blissey[] = INCBIN_U32("graphics/pokemon/palettes/blissey_palette.gbapal.lz");
+const u32 gMonBackPic_Blissey[] = INCBIN_U32("graphics/pokemon/back_pics/blissey_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Blissey[] = INCBIN_U32("graphics/pokemon/palettes/blissey_shiny_palette.gbapal.lz");
const u8 gMonIcon_Blissey[] = INCBIN_U8("graphics/pokemon/icons/blissey_icon.4bpp");
const u8 gMonFootprint_Blissey[] = INCBIN_U8("graphics/pokemon/footprints/blissey_footprint.1bpp");
-const u8 gMonStillFrontPic_Raikou[] = INCBIN_U8("graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Raikou[] = INCBIN_U8("graphics/pokemon/palettes/raikou_palette.gbapal.lz");
-const u8 gMonBackPic_Raikou[] = INCBIN_U8("graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Raikou[] = INCBIN_U8("graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Raikou[] = INCBIN_U32("graphics/pokemon/front_pics/raikou_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Raikou[] = INCBIN_U32("graphics/pokemon/palettes/raikou_palette.gbapal.lz");
+const u32 gMonBackPic_Raikou[] = INCBIN_U32("graphics/pokemon/back_pics/raikou_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Raikou[] = INCBIN_U32("graphics/pokemon/palettes/raikou_shiny_palette.gbapal.lz");
const u8 gMonIcon_Raikou[] = INCBIN_U8("graphics/pokemon/icons/raikou_icon.4bpp");
const u8 gMonFootprint_Raikou[] = INCBIN_U8("graphics/pokemon/footprints/raikou_footprint.1bpp");
-const u8 gMonStillFrontPic_Entei[] = INCBIN_U8("graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Entei[] = INCBIN_U8("graphics/pokemon/palettes/entei_palette.gbapal.lz");
-const u8 gMonBackPic_Entei[] = INCBIN_U8("graphics/pokemon/back_pics/entei_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Entei[] = INCBIN_U8("graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Entei[] = INCBIN_U32("graphics/pokemon/front_pics/entei_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Entei[] = INCBIN_U32("graphics/pokemon/palettes/entei_palette.gbapal.lz");
+const u32 gMonBackPic_Entei[] = INCBIN_U32("graphics/pokemon/back_pics/entei_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Entei[] = INCBIN_U32("graphics/pokemon/palettes/entei_shiny_palette.gbapal.lz");
const u8 gMonIcon_Entei[] = INCBIN_U8("graphics/pokemon/icons/entei_icon.4bpp");
const u8 gMonFootprint_Entei[] = INCBIN_U8("graphics/pokemon/footprints/entei_footprint.1bpp");
-const u8 gMonStillFrontPic_Suicune[] = INCBIN_U8("graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Suicune[] = INCBIN_U8("graphics/pokemon/palettes/suicune_palette.gbapal.lz");
-const u8 gMonBackPic_Suicune[] = INCBIN_U8("graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Suicune[] = INCBIN_U8("graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Suicune[] = INCBIN_U32("graphics/pokemon/front_pics/suicune_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Suicune[] = INCBIN_U32("graphics/pokemon/palettes/suicune_palette.gbapal.lz");
+const u32 gMonBackPic_Suicune[] = INCBIN_U32("graphics/pokemon/back_pics/suicune_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Suicune[] = INCBIN_U32("graphics/pokemon/palettes/suicune_shiny_palette.gbapal.lz");
const u8 gMonIcon_Suicune[] = INCBIN_U8("graphics/pokemon/icons/suicune_icon.4bpp");
const u8 gMonFootprint_Suicune[] = INCBIN_U8("graphics/pokemon/footprints/suicune_footprint.1bpp");
-const u8 gMonStillFrontPic_Larvitar[] = INCBIN_U8("graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Larvitar[] = INCBIN_U8("graphics/pokemon/palettes/larvitar_palette.gbapal.lz");
-const u8 gMonBackPic_Larvitar[] = INCBIN_U8("graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Larvitar[] = INCBIN_U8("graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Larvitar[] = INCBIN_U32("graphics/pokemon/front_pics/larvitar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/palettes/larvitar_palette.gbapal.lz");
+const u32 gMonBackPic_Larvitar[] = INCBIN_U32("graphics/pokemon/back_pics/larvitar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Larvitar[] = INCBIN_U32("graphics/pokemon/palettes/larvitar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Larvitar[] = INCBIN_U8("graphics/pokemon/icons/larvitar_icon.4bpp");
const u8 gMonFootprint_Larvitar[] = INCBIN_U8("graphics/pokemon/footprints/larvitar_footprint.1bpp");
-const u8 gMonStillFrontPic_Pupitar[] = INCBIN_U8("graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pupitar[] = INCBIN_U8("graphics/pokemon/palettes/pupitar_palette.gbapal.lz");
-const u8 gMonBackPic_Pupitar[] = INCBIN_U8("graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pupitar[] = INCBIN_U8("graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pupitar[] = INCBIN_U32("graphics/pokemon/front_pics/pupitar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/palettes/pupitar_palette.gbapal.lz");
+const u32 gMonBackPic_Pupitar[] = INCBIN_U32("graphics/pokemon/back_pics/pupitar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pupitar[] = INCBIN_U32("graphics/pokemon/palettes/pupitar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pupitar[] = INCBIN_U8("graphics/pokemon/icons/pupitar_icon.4bpp");
const u8 gMonFootprint_Pupitar[] = INCBIN_U8("graphics/pokemon/footprints/pupitar_footprint.1bpp");
-const u8 gMonStillFrontPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tyranitar[] = INCBIN_U8("graphics/pokemon/palettes/tyranitar_palette.gbapal.lz");
-const u8 gMonBackPic_Tyranitar[] = INCBIN_U8("graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tyranitar[] = INCBIN_U8("graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/front_pics/tyranitar_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/palettes/tyranitar_palette.gbapal.lz");
+const u32 gMonBackPic_Tyranitar[] = INCBIN_U32("graphics/pokemon/back_pics/tyranitar_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tyranitar[] = INCBIN_U32("graphics/pokemon/palettes/tyranitar_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tyranitar[] = INCBIN_U8("graphics/pokemon/icons/tyranitar_icon.4bpp");
const u8 gMonFootprint_Tyranitar[] = INCBIN_U8("graphics/pokemon/footprints/tyranitar_footprint.1bpp");
-const u8 gMonStillFrontPic_Lugia[] = INCBIN_U8("graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lugia[] = INCBIN_U8("graphics/pokemon/palettes/lugia_palette.gbapal.lz");
-const u8 gMonBackPic_Lugia[] = INCBIN_U8("graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lugia[] = INCBIN_U8("graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lugia[] = INCBIN_U32("graphics/pokemon/front_pics/lugia_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lugia[] = INCBIN_U32("graphics/pokemon/palettes/lugia_palette.gbapal.lz");
+const u32 gMonBackPic_Lugia[] = INCBIN_U32("graphics/pokemon/back_pics/lugia_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lugia[] = INCBIN_U32("graphics/pokemon/palettes/lugia_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lugia[] = INCBIN_U8("graphics/pokemon/icons/lugia_icon.4bpp");
const u8 gMonFootprint_Lugia[] = INCBIN_U8("graphics/pokemon/footprints/lugia_footprint.1bpp");
-const u8 gMonStillFrontPic_HoOh[] = INCBIN_U8("graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz");
-const u8 gMonPalette_HoOh[] = INCBIN_U8("graphics/pokemon/palettes/ho_oh_palette.gbapal.lz");
-const u8 gMonBackPic_HoOh[] = INCBIN_U8("graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_HoOh[] = INCBIN_U8("graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_HoOh[] = INCBIN_U32("graphics/pokemon/front_pics/ho_oh_still_front_pic.4bpp.lz");
+const u32 gMonPalette_HoOh[] = INCBIN_U32("graphics/pokemon/palettes/ho_oh_palette.gbapal.lz");
+const u32 gMonBackPic_HoOh[] = INCBIN_U32("graphics/pokemon/back_pics/ho_oh_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_HoOh[] = INCBIN_U32("graphics/pokemon/palettes/ho_oh_shiny_palette.gbapal.lz");
const u8 gMonIcon_HoOh[] = INCBIN_U8("graphics/pokemon/icons/ho_oh_icon.4bpp");
const u8 gMonFootprint_HoOh[] = INCBIN_U8("graphics/pokemon/footprints/ho_oh_footprint.1bpp");
-const u8 gMonStillFrontPic_Celebi[] = INCBIN_U8("graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Celebi[] = INCBIN_U8("graphics/pokemon/palettes/celebi_palette.gbapal.lz");
-const u8 gMonBackPic_Celebi[] = INCBIN_U8("graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Celebi[] = INCBIN_U8("graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Celebi[] = INCBIN_U32("graphics/pokemon/front_pics/celebi_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Celebi[] = INCBIN_U32("graphics/pokemon/palettes/celebi_palette.gbapal.lz");
+const u32 gMonBackPic_Celebi[] = INCBIN_U32("graphics/pokemon/back_pics/celebi_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Celebi[] = INCBIN_U32("graphics/pokemon/palettes/celebi_shiny_palette.gbapal.lz");
const u8 gMonIcon_Celebi[] = INCBIN_U8("graphics/pokemon/icons/celebi_icon.4bpp");
const u8 gMonFootprint_Celebi[] = INCBIN_U8("graphics/pokemon/footprints/celebi_footprint.1bpp");
-const u8 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz");
-const u8 gMonPalette_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz");
-const u8 gMonBackPic_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/double_question_mark_still_front_pic.4bpp.lz");
+const u32 gMonPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/double_question_mark_palette.gbapal.lz");
+const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/double_question_mark_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/double_question_mark_shiny_palette.gbapal.lz");
-const u8 gMonStillFrontPic_Treecko[] = INCBIN_U8("graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Treecko[] = INCBIN_U8("graphics/pokemon/palettes/treecko_palette.gbapal.lz");
-const u8 gMonBackPic_Treecko[] = INCBIN_U8("graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Treecko[] = INCBIN_U8("graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Treecko[] = INCBIN_U32("graphics/pokemon/front_pics/treecko_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Treecko[] = INCBIN_U32("graphics/pokemon/palettes/treecko_palette.gbapal.lz");
+const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/back_pics/treecko_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Treecko[] = INCBIN_U32("graphics/pokemon/palettes/treecko_shiny_palette.gbapal.lz");
const u8 gMonIcon_Treecko[] = INCBIN_U8("graphics/pokemon/icons/treecko_icon.4bpp");
const u8 gMonFootprint_Treecko[] = INCBIN_U8("graphics/pokemon/footprints/treecko_footprint.1bpp");
-const u8 gMonStillFrontPic_Grovyle[] = INCBIN_U8("graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Grovyle[] = INCBIN_U8("graphics/pokemon/palettes/grovyle_palette.gbapal.lz");
-const u8 gMonBackPic_Grovyle[] = INCBIN_U8("graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Grovyle[] = INCBIN_U8("graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/front_pics/grovyle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/palettes/grovyle_palette.gbapal.lz");
+const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/back_pics/grovyle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Grovyle[] = INCBIN_U32("graphics/pokemon/palettes/grovyle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Grovyle[] = INCBIN_U8("graphics/pokemon/icons/grovyle_icon.4bpp");
const u8 gMonFootprint_Grovyle[] = INCBIN_U8("graphics/pokemon/footprints/grovyle_footprint.1bpp");
-const u8 gMonStillFrontPic_Sceptile[] = INCBIN_U8("graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sceptile[] = INCBIN_U8("graphics/pokemon/palettes/sceptile_palette.gbapal.lz");
-const u8 gMonBackPic_Sceptile[] = INCBIN_U8("graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sceptile[] = INCBIN_U8("graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/front_pics/sceptile_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/palettes/sceptile_palette.gbapal.lz");
+const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/back_pics/sceptile_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sceptile[] = INCBIN_U32("graphics/pokemon/palettes/sceptile_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sceptile[] = INCBIN_U8("graphics/pokemon/icons/sceptile_icon.4bpp");
const u8 gMonFootprint_Sceptile[] = INCBIN_U8("graphics/pokemon/footprints/sceptile_footprint.1bpp");
-const u8 gMonStillFrontPic_Torchic[] = INCBIN_U8("graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Torchic[] = INCBIN_U8("graphics/pokemon/palettes/torchic_palette.gbapal.lz");
-const u8 gMonBackPic_Torchic[] = INCBIN_U8("graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Torchic[] = INCBIN_U8("graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/front_pics/torchic_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Torchic[] = INCBIN_U32("graphics/pokemon/palettes/torchic_palette.gbapal.lz");
+const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/back_pics/torchic_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Torchic[] = INCBIN_U32("graphics/pokemon/palettes/torchic_shiny_palette.gbapal.lz");
const u8 gMonIcon_Torchic[] = INCBIN_U8("graphics/pokemon/icons/torchic_icon.4bpp");
const u8 gMonFootprint_Torchic[] = INCBIN_U8("graphics/pokemon/footprints/torchic_footprint.1bpp");
-const u8 gMonStillFrontPic_Combusken[] = INCBIN_U8("graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Combusken[] = INCBIN_U8("graphics/pokemon/palettes/combusken_palette.gbapal.lz");
-const u8 gMonBackPic_Combusken[] = INCBIN_U8("graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Combusken[] = INCBIN_U8("graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/front_pics/combusken_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Combusken[] = INCBIN_U32("graphics/pokemon/palettes/combusken_palette.gbapal.lz");
+const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/back_pics/combusken_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Combusken[] = INCBIN_U32("graphics/pokemon/palettes/combusken_shiny_palette.gbapal.lz");
const u8 gMonIcon_Combusken[] = INCBIN_U8("graphics/pokemon/icons/combusken_icon.4bpp");
const u8 gMonFootprint_Combusken[] = INCBIN_U8("graphics/pokemon/footprints/combusken_footprint.1bpp");
-const u8 gMonStillFrontPic_Blaziken[] = INCBIN_U8("graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Blaziken[] = INCBIN_U8("graphics/pokemon/palettes/blaziken_palette.gbapal.lz");
-const u8 gMonBackPic_Blaziken[] = INCBIN_U8("graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Blaziken[] = INCBIN_U8("graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/front_pics/blaziken_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/palettes/blaziken_palette.gbapal.lz");
+const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/back_pics/blaziken_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Blaziken[] = INCBIN_U32("graphics/pokemon/palettes/blaziken_shiny_palette.gbapal.lz");
const u8 gMonIcon_Blaziken[] = INCBIN_U8("graphics/pokemon/icons/blaziken_icon.4bpp");
const u8 gMonFootprint_Blaziken[] = INCBIN_U8("graphics/pokemon/footprints/blaziken_footprint.1bpp");
-const u8 gMonStillFrontPic_Mudkip[] = INCBIN_U8("graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mudkip[] = INCBIN_U8("graphics/pokemon/palettes/mudkip_palette.gbapal.lz");
-const u8 gMonBackPic_Mudkip[] = INCBIN_U8("graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mudkip[] = INCBIN_U8("graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/front_pics/mudkip_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/palettes/mudkip_palette.gbapal.lz");
+const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/back_pics/mudkip_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mudkip[] = INCBIN_U32("graphics/pokemon/palettes/mudkip_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mudkip[] = INCBIN_U8("graphics/pokemon/icons/mudkip_icon.4bpp");
const u8 gMonFootprint_Mudkip[] = INCBIN_U8("graphics/pokemon/footprints/mudkip_footprint.1bpp");
-const u8 gMonStillFrontPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Marshtomp[] = INCBIN_U8("graphics/pokemon/palettes/marshtomp_palette.gbapal.lz");
-const u8 gMonBackPic_Marshtomp[] = INCBIN_U8("graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Marshtomp[] = INCBIN_U8("graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/front_pics/marshtomp_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/palettes/marshtomp_palette.gbapal.lz");
+const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/back_pics/marshtomp_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Marshtomp[] = INCBIN_U32("graphics/pokemon/palettes/marshtomp_shiny_palette.gbapal.lz");
const u8 gMonIcon_Marshtomp[] = INCBIN_U8("graphics/pokemon/icons/marshtomp_icon.4bpp");
const u8 gMonFootprint_Marshtomp[] = INCBIN_U8("graphics/pokemon/footprints/marshtomp_footprint.1bpp");
-const u8 gMonStillFrontPic_Swampert[] = INCBIN_U8("graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Swampert[] = INCBIN_U8("graphics/pokemon/palettes/swampert_palette.gbapal.lz");
-const u8 gMonBackPic_Swampert[] = INCBIN_U8("graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Swampert[] = INCBIN_U8("graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/front_pics/swampert_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Swampert[] = INCBIN_U32("graphics/pokemon/palettes/swampert_palette.gbapal.lz");
+const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/back_pics/swampert_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Swampert[] = INCBIN_U32("graphics/pokemon/palettes/swampert_shiny_palette.gbapal.lz");
const u8 gMonIcon_Swampert[] = INCBIN_U8("graphics/pokemon/icons/swampert_icon.4bpp");
const u8 gMonFootprint_Swampert[] = INCBIN_U8("graphics/pokemon/footprints/swampert_footprint.1bpp");
-const u8 gMonStillFrontPic_Poochyena[] = INCBIN_U8("graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Poochyena[] = INCBIN_U8("graphics/pokemon/palettes/poochyena_palette.gbapal.lz");
-const u8 gMonBackPic_Poochyena[] = INCBIN_U8("graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Poochyena[] = INCBIN_U8("graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Poochyena[] = INCBIN_U32("graphics/pokemon/front_pics/poochyena_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/palettes/poochyena_palette.gbapal.lz");
+const u32 gMonBackPic_Poochyena[] = INCBIN_U32("graphics/pokemon/back_pics/poochyena_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Poochyena[] = INCBIN_U32("graphics/pokemon/palettes/poochyena_shiny_palette.gbapal.lz");
const u8 gMonIcon_Poochyena[] = INCBIN_U8("graphics/pokemon/icons/poochyena_icon.4bpp");
const u8 gMonFootprint_Poochyena[] = INCBIN_U8("graphics/pokemon/footprints/poochyena_footprint.1bpp");
-const u8 gMonStillFrontPic_Mightyena[] = INCBIN_U8("graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mightyena[] = INCBIN_U8("graphics/pokemon/palettes/mightyena_palette.gbapal.lz");
-const u8 gMonBackPic_Mightyena[] = INCBIN_U8("graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mightyena[] = INCBIN_U8("graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mightyena[] = INCBIN_U32("graphics/pokemon/front_pics/mightyena_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/palettes/mightyena_palette.gbapal.lz");
+const u32 gMonBackPic_Mightyena[] = INCBIN_U32("graphics/pokemon/back_pics/mightyena_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mightyena[] = INCBIN_U32("graphics/pokemon/palettes/mightyena_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mightyena[] = INCBIN_U8("graphics/pokemon/icons/mightyena_icon.4bpp");
const u8 gMonFootprint_Mightyena[] = INCBIN_U8("graphics/pokemon/footprints/mightyena_footprint.1bpp");
-const u8 gMonStillFrontPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Zigzagoon[] = INCBIN_U8("graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz");
-const u8 gMonBackPic_Zigzagoon[] = INCBIN_U8("graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Zigzagoon[] = INCBIN_U8("graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/front_pics/zigzagoon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/palettes/zigzagoon_palette.gbapal.lz");
+const u32 gMonBackPic_Zigzagoon[] = INCBIN_U32("graphics/pokemon/back_pics/zigzagoon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Zigzagoon[] = INCBIN_U32("graphics/pokemon/palettes/zigzagoon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Zigzagoon[] = INCBIN_U8("graphics/pokemon/icons/zigzagoon_icon.4bpp");
const u8 gMonFootprint_Zigzagoon[] = INCBIN_U8("graphics/pokemon/footprints/zigzagoon_footprint.1bpp");
-const u8 gMonStillFrontPic_Linoone[] = INCBIN_U8("graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Linoone[] = INCBIN_U8("graphics/pokemon/palettes/linoone_palette.gbapal.lz");
-const u8 gMonBackPic_Linoone[] = INCBIN_U8("graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Linoone[] = INCBIN_U8("graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/front_pics/linoone_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Linoone[] = INCBIN_U32("graphics/pokemon/palettes/linoone_palette.gbapal.lz");
+const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/back_pics/linoone_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Linoone[] = INCBIN_U32("graphics/pokemon/palettes/linoone_shiny_palette.gbapal.lz");
const u8 gMonIcon_Linoone[] = INCBIN_U8("graphics/pokemon/icons/linoone_icon.4bpp");
const u8 gMonFootprint_Linoone[] = INCBIN_U8("graphics/pokemon/footprints/linoone_footprint.1bpp");
-const u8 gMonStillFrontPic_Wurmple[] = INCBIN_U8("graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wurmple[] = INCBIN_U8("graphics/pokemon/palettes/wurmple_palette.gbapal.lz");
-const u8 gMonBackPic_Wurmple[] = INCBIN_U8("graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wurmple[] = INCBIN_U8("graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/front_pics/wurmple_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/palettes/wurmple_palette.gbapal.lz");
+const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/back_pics/wurmple_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wurmple[] = INCBIN_U32("graphics/pokemon/palettes/wurmple_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wurmple[] = INCBIN_U8("graphics/pokemon/icons/wurmple_icon.4bpp");
const u8 gMonFootprint_Wurmple[] = INCBIN_U8("graphics/pokemon/footprints/wurmple_footprint.1bpp");
-const u8 gMonStillFrontPic_Silcoon[] = INCBIN_U8("graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Silcoon[] = INCBIN_U8("graphics/pokemon/palettes/silcoon_palette.gbapal.lz");
-const u8 gMonBackPic_Silcoon[] = INCBIN_U8("graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Silcoon[] = INCBIN_U8("graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/front_pics/silcoon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/palettes/silcoon_palette.gbapal.lz");
+const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/back_pics/silcoon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Silcoon[] = INCBIN_U32("graphics/pokemon/palettes/silcoon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Silcoon[] = INCBIN_U8("graphics/pokemon/icons/silcoon_icon.4bpp");
const u8 gMonFootprint_Silcoon[] = INCBIN_U8("graphics/pokemon/footprints/silcoon_footprint.1bpp");
-const u8 gMonStillFrontPic_Beautifly[] = INCBIN_U8("graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Beautifly[] = INCBIN_U8("graphics/pokemon/palettes/beautifly_palette.gbapal.lz");
-const u8 gMonBackPic_Beautifly[] = INCBIN_U8("graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Beautifly[] = INCBIN_U8("graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/front_pics/beautifly_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/palettes/beautifly_palette.gbapal.lz");
+const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/back_pics/beautifly_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Beautifly[] = INCBIN_U32("graphics/pokemon/palettes/beautifly_shiny_palette.gbapal.lz");
const u8 gMonIcon_Beautifly[] = INCBIN_U8("graphics/pokemon/icons/beautifly_icon.4bpp");
const u8 gMonFootprint_Beautifly[] = INCBIN_U8("graphics/pokemon/footprints/beautifly_footprint.1bpp");
-const u8 gMonStillFrontPic_Cascoon[] = INCBIN_U8("graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cascoon[] = INCBIN_U8("graphics/pokemon/palettes/cascoon_palette.gbapal.lz");
-const u8 gMonBackPic_Cascoon[] = INCBIN_U8("graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cascoon[] = INCBIN_U8("graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/front_pics/cascoon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/palettes/cascoon_palette.gbapal.lz");
+const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/back_pics/cascoon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cascoon[] = INCBIN_U32("graphics/pokemon/palettes/cascoon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cascoon[] = INCBIN_U8("graphics/pokemon/icons/cascoon_icon.4bpp");
const u8 gMonFootprint_Cascoon[] = INCBIN_U8("graphics/pokemon/footprints/cascoon_footprint.1bpp");
-const u8 gMonStillFrontPic_Dustox[] = INCBIN_U8("graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dustox[] = INCBIN_U8("graphics/pokemon/palettes/dustox_palette.gbapal.lz");
-const u8 gMonBackPic_Dustox[] = INCBIN_U8("graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dustox[] = INCBIN_U8("graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/front_pics/dustox_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dustox[] = INCBIN_U32("graphics/pokemon/palettes/dustox_palette.gbapal.lz");
+const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/back_pics/dustox_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dustox[] = INCBIN_U32("graphics/pokemon/palettes/dustox_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dustox[] = INCBIN_U8("graphics/pokemon/icons/dustox_icon.4bpp");
const u8 gMonFootprint_Dustox[] = INCBIN_U8("graphics/pokemon/footprints/dustox_footprint.1bpp");
-const u8 gMonStillFrontPic_Lotad[] = INCBIN_U8("graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lotad[] = INCBIN_U8("graphics/pokemon/palettes/lotad_palette.gbapal.lz");
-const u8 gMonBackPic_Lotad[] = INCBIN_U8("graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lotad[] = INCBIN_U8("graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/front_pics/lotad_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lotad[] = INCBIN_U32("graphics/pokemon/palettes/lotad_palette.gbapal.lz");
+const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/back_pics/lotad_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lotad[] = INCBIN_U32("graphics/pokemon/palettes/lotad_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lotad[] = INCBIN_U8("graphics/pokemon/icons/lotad_icon.4bpp");
const u8 gMonFootprint_Lotad[] = INCBIN_U8("graphics/pokemon/footprints/lotad_footprint.1bpp");
-const u8 gMonStillFrontPic_Lombre[] = INCBIN_U8("graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lombre[] = INCBIN_U8("graphics/pokemon/palettes/lombre_palette.gbapal.lz");
-const u8 gMonBackPic_Lombre[] = INCBIN_U8("graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lombre[] = INCBIN_U8("graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/front_pics/lombre_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lombre[] = INCBIN_U32("graphics/pokemon/palettes/lombre_palette.gbapal.lz");
+const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/back_pics/lombre_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lombre[] = INCBIN_U32("graphics/pokemon/palettes/lombre_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lombre[] = INCBIN_U8("graphics/pokemon/icons/lombre_icon.4bpp");
const u8 gMonFootprint_Lombre[] = INCBIN_U8("graphics/pokemon/footprints/lombre_footprint.1bpp");
-const u8 gMonStillFrontPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ludicolo[] = INCBIN_U8("graphics/pokemon/palettes/ludicolo_palette.gbapal.lz");
-const u8 gMonBackPic_Ludicolo[] = INCBIN_U8("graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ludicolo[] = INCBIN_U8("graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/front_pics/ludicolo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/palettes/ludicolo_palette.gbapal.lz");
+const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/back_pics/ludicolo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ludicolo[] = INCBIN_U32("graphics/pokemon/palettes/ludicolo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ludicolo[] = INCBIN_U8("graphics/pokemon/icons/ludicolo_icon.4bpp");
const u8 gMonFootprint_Ludicolo[] = INCBIN_U8("graphics/pokemon/footprints/ludicolo_footprint.1bpp");
-const u8 gMonStillFrontPic_Seedot[] = INCBIN_U8("graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Seedot[] = INCBIN_U8("graphics/pokemon/palettes/seedot_palette.gbapal.lz");
-const u8 gMonBackPic_Seedot[] = INCBIN_U8("graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Seedot[] = INCBIN_U8("graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/front_pics/seedot_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Seedot[] = INCBIN_U32("graphics/pokemon/palettes/seedot_palette.gbapal.lz");
+const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/back_pics/seedot_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Seedot[] = INCBIN_U32("graphics/pokemon/palettes/seedot_shiny_palette.gbapal.lz");
const u8 gMonIcon_Seedot[] = INCBIN_U8("graphics/pokemon/icons/seedot_icon.4bpp");
const u8 gMonFootprint_Seedot[] = INCBIN_U8("graphics/pokemon/footprints/seedot_footprint.1bpp");
-const u8 gMonStillFrontPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nuzleaf[] = INCBIN_U8("graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz");
-const u8 gMonBackPic_Nuzleaf[] = INCBIN_U8("graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nuzleaf[] = INCBIN_U8("graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/front_pics/nuzleaf_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/palettes/nuzleaf_palette.gbapal.lz");
+const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/back_pics/nuzleaf_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nuzleaf[] = INCBIN_U32("graphics/pokemon/palettes/nuzleaf_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nuzleaf[] = INCBIN_U8("graphics/pokemon/icons/nuzleaf_icon.4bpp");
const u8 gMonFootprint_Nuzleaf[] = INCBIN_U8("graphics/pokemon/footprints/nuzleaf_footprint.1bpp");
-const u8 gMonStillFrontPic_Shiftry[] = INCBIN_U8("graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shiftry[] = INCBIN_U8("graphics/pokemon/palettes/shiftry_palette.gbapal.lz");
-const u8 gMonBackPic_Shiftry[] = INCBIN_U8("graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shiftry[] = INCBIN_U8("graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/front_pics/shiftry_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/palettes/shiftry_palette.gbapal.lz");
+const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/back_pics/shiftry_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shiftry[] = INCBIN_U32("graphics/pokemon/palettes/shiftry_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shiftry[] = INCBIN_U8("graphics/pokemon/icons/shiftry_icon.4bpp");
const u8 gMonFootprint_Shiftry[] = INCBIN_U8("graphics/pokemon/footprints/shiftry_footprint.1bpp");
-const u8 gMonStillFrontPic_Nincada[] = INCBIN_U8("graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nincada[] = INCBIN_U8("graphics/pokemon/palettes/nincada_palette.gbapal.lz");
-const u8 gMonBackPic_Nincada[] = INCBIN_U8("graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nincada[] = INCBIN_U8("graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nincada[] = INCBIN_U32("graphics/pokemon/front_pics/nincada_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nincada[] = INCBIN_U32("graphics/pokemon/palettes/nincada_palette.gbapal.lz");
+const u32 gMonBackPic_Nincada[] = INCBIN_U32("graphics/pokemon/back_pics/nincada_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nincada[] = INCBIN_U32("graphics/pokemon/palettes/nincada_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nincada[] = INCBIN_U8("graphics/pokemon/icons/nincada_icon.4bpp");
const u8 gMonFootprint_Nincada[] = INCBIN_U8("graphics/pokemon/footprints/nincada_footprint.1bpp");
-const u8 gMonStillFrontPic_Ninjask[] = INCBIN_U8("graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ninjask[] = INCBIN_U8("graphics/pokemon/palettes/ninjask_palette.gbapal.lz");
-const u8 gMonBackPic_Ninjask[] = INCBIN_U8("graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ninjask[] = INCBIN_U8("graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ninjask[] = INCBIN_U32("graphics/pokemon/front_pics/ninjask_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/palettes/ninjask_palette.gbapal.lz");
+const u32 gMonBackPic_Ninjask[] = INCBIN_U32("graphics/pokemon/back_pics/ninjask_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ninjask[] = INCBIN_U32("graphics/pokemon/palettes/ninjask_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ninjask[] = INCBIN_U8("graphics/pokemon/icons/ninjask_icon.4bpp");
const u8 gMonFootprint_Ninjask[] = INCBIN_U8("graphics/pokemon/footprints/ninjask_footprint.1bpp");
-const u8 gMonStillFrontPic_Shedinja[] = INCBIN_U8("graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shedinja[] = INCBIN_U8("graphics/pokemon/palettes/shedinja_palette.gbapal.lz");
-const u8 gMonBackPic_Shedinja[] = INCBIN_U8("graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shedinja[] = INCBIN_U8("graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shedinja[] = INCBIN_U32("graphics/pokemon/front_pics/shedinja_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/palettes/shedinja_palette.gbapal.lz");
+const u32 gMonBackPic_Shedinja[] = INCBIN_U32("graphics/pokemon/back_pics/shedinja_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shedinja[] = INCBIN_U32("graphics/pokemon/palettes/shedinja_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shedinja[] = INCBIN_U8("graphics/pokemon/icons/shedinja_icon.4bpp");
const u8 gMonFootprint_Shedinja[] = INCBIN_U8("graphics/pokemon/footprints/shedinja_footprint.1bpp");
-const u8 gMonStillFrontPic_Taillow[] = INCBIN_U8("graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Taillow[] = INCBIN_U8("graphics/pokemon/palettes/taillow_palette.gbapal.lz");
-const u8 gMonBackPic_Taillow[] = INCBIN_U8("graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Taillow[] = INCBIN_U8("graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/front_pics/taillow_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Taillow[] = INCBIN_U32("graphics/pokemon/palettes/taillow_palette.gbapal.lz");
+const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/back_pics/taillow_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Taillow[] = INCBIN_U32("graphics/pokemon/palettes/taillow_shiny_palette.gbapal.lz");
const u8 gMonIcon_Taillow[] = INCBIN_U8("graphics/pokemon/icons/taillow_icon.4bpp");
const u8 gMonFootprint_Taillow[] = INCBIN_U8("graphics/pokemon/footprints/taillow_footprint.1bpp");
-const u8 gMonStillFrontPic_Swellow[] = INCBIN_U8("graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Swellow[] = INCBIN_U8("graphics/pokemon/palettes/swellow_palette.gbapal.lz");
-const u8 gMonBackPic_Swellow[] = INCBIN_U8("graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Swellow[] = INCBIN_U8("graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/front_pics/swellow_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Swellow[] = INCBIN_U32("graphics/pokemon/palettes/swellow_palette.gbapal.lz");
+const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/back_pics/swellow_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Swellow[] = INCBIN_U32("graphics/pokemon/palettes/swellow_shiny_palette.gbapal.lz");
const u8 gMonIcon_Swellow[] = INCBIN_U8("graphics/pokemon/icons/swellow_icon.4bpp");
const u8 gMonFootprint_Swellow[] = INCBIN_U8("graphics/pokemon/footprints/swellow_footprint.1bpp");
-const u8 gMonStillFrontPic_Shroomish[] = INCBIN_U8("graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shroomish[] = INCBIN_U8("graphics/pokemon/palettes/shroomish_palette.gbapal.lz");
-const u8 gMonBackPic_Shroomish[] = INCBIN_U8("graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shroomish[] = INCBIN_U8("graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shroomish[] = INCBIN_U32("graphics/pokemon/front_pics/shroomish_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/palettes/shroomish_palette.gbapal.lz");
+const u32 gMonBackPic_Shroomish[] = INCBIN_U32("graphics/pokemon/back_pics/shroomish_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shroomish[] = INCBIN_U32("graphics/pokemon/palettes/shroomish_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shroomish[] = INCBIN_U8("graphics/pokemon/icons/shroomish_icon.4bpp");
const u8 gMonFootprint_Shroomish[] = INCBIN_U8("graphics/pokemon/footprints/shroomish_footprint.1bpp");
-const u8 gMonStillFrontPic_Breloom[] = INCBIN_U8("graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Breloom[] = INCBIN_U8("graphics/pokemon/palettes/breloom_palette.gbapal.lz");
-const u8 gMonBackPic_Breloom[] = INCBIN_U8("graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Breloom[] = INCBIN_U8("graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Breloom[] = INCBIN_U32("graphics/pokemon/front_pics/breloom_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Breloom[] = INCBIN_U32("graphics/pokemon/palettes/breloom_palette.gbapal.lz");
+const u32 gMonBackPic_Breloom[] = INCBIN_U32("graphics/pokemon/back_pics/breloom_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Breloom[] = INCBIN_U32("graphics/pokemon/palettes/breloom_shiny_palette.gbapal.lz");
const u8 gMonIcon_Breloom[] = INCBIN_U8("graphics/pokemon/icons/breloom_icon.4bpp");
const u8 gMonFootprint_Breloom[] = INCBIN_U8("graphics/pokemon/footprints/breloom_footprint.1bpp");
-const u8 gMonStillFrontPic_Spinda[] = INCBIN_U8("graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Spinda[] = INCBIN_U8("graphics/pokemon/palettes/spinda_palette.gbapal.lz");
-const u8 gMonBackPic_Spinda[] = INCBIN_U8("graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Spinda[] = INCBIN_U8("graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Spinda[] = INCBIN_U32("graphics/pokemon/front_pics/spinda_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Spinda[] = INCBIN_U32("graphics/pokemon/palettes/spinda_palette.gbapal.lz");
+const u32 gMonBackPic_Spinda[] = INCBIN_U32("graphics/pokemon/back_pics/spinda_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Spinda[] = INCBIN_U32("graphics/pokemon/palettes/spinda_shiny_palette.gbapal.lz");
const u8 gMonIcon_Spinda[] = INCBIN_U8("graphics/pokemon/icons/spinda_icon.4bpp");
const u8 gMonFootprint_Spinda[] = INCBIN_U8("graphics/pokemon/footprints/spinda_footprint.1bpp");
-const u8 gMonStillFrontPic_Wingull[] = INCBIN_U8("graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wingull[] = INCBIN_U8("graphics/pokemon/palettes/wingull_palette.gbapal.lz");
-const u8 gMonBackPic_Wingull[] = INCBIN_U8("graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wingull[] = INCBIN_U8("graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/front_pics/wingull_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wingull[] = INCBIN_U32("graphics/pokemon/palettes/wingull_palette.gbapal.lz");
+const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/back_pics/wingull_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wingull[] = INCBIN_U32("graphics/pokemon/palettes/wingull_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wingull[] = INCBIN_U8("graphics/pokemon/icons/wingull_icon.4bpp");
const u8 gMonFootprint_Wingull[] = INCBIN_U8("graphics/pokemon/footprints/wingull_footprint.1bpp");
-const u8 gMonStillFrontPic_Pelipper[] = INCBIN_U8("graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Pelipper[] = INCBIN_U8("graphics/pokemon/palettes/pelipper_palette.gbapal.lz");
-const u8 gMonBackPic_Pelipper[] = INCBIN_U8("graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Pelipper[] = INCBIN_U8("graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Pelipper[] = INCBIN_U32("graphics/pokemon/front_pics/pelipper_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/palettes/pelipper_palette.gbapal.lz");
+const u32 gMonBackPic_Pelipper[] = INCBIN_U32("graphics/pokemon/back_pics/pelipper_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Pelipper[] = INCBIN_U32("graphics/pokemon/palettes/pelipper_shiny_palette.gbapal.lz");
const u8 gMonIcon_Pelipper[] = INCBIN_U8("graphics/pokemon/icons/pelipper_icon.4bpp");
const u8 gMonFootprint_Pelipper[] = INCBIN_U8("graphics/pokemon/footprints/pelipper_footprint.1bpp");
-const u8 gMonStillFrontPic_Surskit[] = INCBIN_U8("graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Surskit[] = INCBIN_U8("graphics/pokemon/palettes/surskit_palette.gbapal.lz");
-const u8 gMonBackPic_Surskit[] = INCBIN_U8("graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Surskit[] = INCBIN_U8("graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Surskit[] = INCBIN_U32("graphics/pokemon/front_pics/surskit_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Surskit[] = INCBIN_U32("graphics/pokemon/palettes/surskit_palette.gbapal.lz");
+const u32 gMonBackPic_Surskit[] = INCBIN_U32("graphics/pokemon/back_pics/surskit_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Surskit[] = INCBIN_U32("graphics/pokemon/palettes/surskit_shiny_palette.gbapal.lz");
const u8 gMonIcon_Surskit[] = INCBIN_U8("graphics/pokemon/icons/surskit_icon.4bpp");
const u8 gMonFootprint_Surskit[] = INCBIN_U8("graphics/pokemon/footprints/surskit_footprint.1bpp");
-const u8 gMonStillFrontPic_Masquerain[] = INCBIN_U8("graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Masquerain[] = INCBIN_U8("graphics/pokemon/palettes/masquerain_palette.gbapal.lz");
-const u8 gMonBackPic_Masquerain[] = INCBIN_U8("graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Masquerain[] = INCBIN_U8("graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Masquerain[] = INCBIN_U32("graphics/pokemon/front_pics/masquerain_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/palettes/masquerain_palette.gbapal.lz");
+const u32 gMonBackPic_Masquerain[] = INCBIN_U32("graphics/pokemon/back_pics/masquerain_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Masquerain[] = INCBIN_U32("graphics/pokemon/palettes/masquerain_shiny_palette.gbapal.lz");
const u8 gMonIcon_Masquerain[] = INCBIN_U8("graphics/pokemon/icons/masquerain_icon.4bpp");
const u8 gMonFootprint_Masquerain[] = INCBIN_U8("graphics/pokemon/footprints/masquerain_footprint.1bpp");
-const u8 gMonStillFrontPic_Wailmer[] = INCBIN_U8("graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wailmer[] = INCBIN_U8("graphics/pokemon/palettes/wailmer_palette.gbapal.lz");
-const u8 gMonBackPic_Wailmer[] = INCBIN_U8("graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wailmer[] = INCBIN_U8("graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wailmer[] = INCBIN_U32("graphics/pokemon/front_pics/wailmer_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/palettes/wailmer_palette.gbapal.lz");
+const u32 gMonBackPic_Wailmer[] = INCBIN_U32("graphics/pokemon/back_pics/wailmer_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wailmer[] = INCBIN_U32("graphics/pokemon/palettes/wailmer_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wailmer[] = INCBIN_U8("graphics/pokemon/icons/wailmer_icon.4bpp");
const u8 gMonFootprint_Wailmer[] = INCBIN_U8("graphics/pokemon/footprints/wailmer_footprint.1bpp");
-const u8 gMonStillFrontPic_Wailord[] = INCBIN_U8("graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wailord[] = INCBIN_U8("graphics/pokemon/palettes/wailord_palette.gbapal.lz");
-const u8 gMonBackPic_Wailord[] = INCBIN_U8("graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wailord[] = INCBIN_U8("graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wailord[] = INCBIN_U32("graphics/pokemon/front_pics/wailord_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wailord[] = INCBIN_U32("graphics/pokemon/palettes/wailord_palette.gbapal.lz");
+const u32 gMonBackPic_Wailord[] = INCBIN_U32("graphics/pokemon/back_pics/wailord_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wailord[] = INCBIN_U32("graphics/pokemon/palettes/wailord_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wailord[] = INCBIN_U8("graphics/pokemon/icons/wailord_icon.4bpp");
const u8 gMonFootprint_Wailord[] = INCBIN_U8("graphics/pokemon/footprints/wailord_footprint.1bpp");
-const u8 gMonStillFrontPic_Skitty[] = INCBIN_U8("graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Skitty[] = INCBIN_U8("graphics/pokemon/palettes/skitty_palette.gbapal.lz");
-const u8 gMonBackPic_Skitty[] = INCBIN_U8("graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Skitty[] = INCBIN_U8("graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Skitty[] = INCBIN_U32("graphics/pokemon/front_pics/skitty_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Skitty[] = INCBIN_U32("graphics/pokemon/palettes/skitty_palette.gbapal.lz");
+const u32 gMonBackPic_Skitty[] = INCBIN_U32("graphics/pokemon/back_pics/skitty_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Skitty[] = INCBIN_U32("graphics/pokemon/palettes/skitty_shiny_palette.gbapal.lz");
const u8 gMonIcon_Skitty[] = INCBIN_U8("graphics/pokemon/icons/skitty_icon.4bpp");
const u8 gMonFootprint_Skitty[] = INCBIN_U8("graphics/pokemon/footprints/skitty_footprint.1bpp");
-const u8 gMonStillFrontPic_Delcatty[] = INCBIN_U8("graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Delcatty[] = INCBIN_U8("graphics/pokemon/palettes/delcatty_palette.gbapal.lz");
-const u8 gMonBackPic_Delcatty[] = INCBIN_U8("graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Delcatty[] = INCBIN_U8("graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Delcatty[] = INCBIN_U32("graphics/pokemon/front_pics/delcatty_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/palettes/delcatty_palette.gbapal.lz");
+const u32 gMonBackPic_Delcatty[] = INCBIN_U32("graphics/pokemon/back_pics/delcatty_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Delcatty[] = INCBIN_U32("graphics/pokemon/palettes/delcatty_shiny_palette.gbapal.lz");
const u8 gMonIcon_Delcatty[] = INCBIN_U8("graphics/pokemon/icons/delcatty_icon.4bpp");
const u8 gMonFootprint_Delcatty[] = INCBIN_U8("graphics/pokemon/footprints/delcatty_footprint.1bpp");
-const u8 gMonStillFrontPic_Kecleon[] = INCBIN_U8("graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kecleon[] = INCBIN_U8("graphics/pokemon/palettes/kecleon_palette.gbapal.lz");
-const u8 gMonBackPic_Kecleon[] = INCBIN_U8("graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kecleon[] = INCBIN_U8("graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/front_pics/kecleon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/palettes/kecleon_palette.gbapal.lz");
+const u32 gMonBackPic_Kecleon[] = INCBIN_U32("graphics/pokemon/back_pics/kecleon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kecleon[] = INCBIN_U32("graphics/pokemon/palettes/kecleon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kecleon[] = INCBIN_U8("graphics/pokemon/icons/kecleon_icon.4bpp");
const u8 gMonFootprint_Kecleon[] = INCBIN_U8("graphics/pokemon/footprints/kecleon_footprint.1bpp");
-const u8 gMonStillFrontPic_Baltoy[] = INCBIN_U8("graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Baltoy[] = INCBIN_U8("graphics/pokemon/palettes/baltoy_palette.gbapal.lz");
-const u8 gMonBackPic_Baltoy[] = INCBIN_U8("graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Baltoy[] = INCBIN_U8("graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Baltoy[] = INCBIN_U32("graphics/pokemon/front_pics/baltoy_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/palettes/baltoy_palette.gbapal.lz");
+const u32 gMonBackPic_Baltoy[] = INCBIN_U32("graphics/pokemon/back_pics/baltoy_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Baltoy[] = INCBIN_U32("graphics/pokemon/palettes/baltoy_shiny_palette.gbapal.lz");
const u8 gMonIcon_Baltoy[] = INCBIN_U8("graphics/pokemon/icons/baltoy_icon.4bpp");
const u8 gMonFootprint_Baltoy[] = INCBIN_U8("graphics/pokemon/footprints/baltoy_footprint.1bpp");
-const u8 gMonStillFrontPic_Claydol[] = INCBIN_U8("graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Claydol[] = INCBIN_U8("graphics/pokemon/palettes/claydol_palette.gbapal.lz");
-const u8 gMonBackPic_Claydol[] = INCBIN_U8("graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Claydol[] = INCBIN_U8("graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Claydol[] = INCBIN_U32("graphics/pokemon/front_pics/claydol_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Claydol[] = INCBIN_U32("graphics/pokemon/palettes/claydol_palette.gbapal.lz");
+const u32 gMonBackPic_Claydol[] = INCBIN_U32("graphics/pokemon/back_pics/claydol_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Claydol[] = INCBIN_U32("graphics/pokemon/palettes/claydol_shiny_palette.gbapal.lz");
const u8 gMonIcon_Claydol[] = INCBIN_U8("graphics/pokemon/icons/claydol_icon.4bpp");
const u8 gMonFootprint_Claydol[] = INCBIN_U8("graphics/pokemon/footprints/claydol_footprint.1bpp");
-const u8 gMonStillFrontPic_Nosepass[] = INCBIN_U8("graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Nosepass[] = INCBIN_U8("graphics/pokemon/palettes/nosepass_palette.gbapal.lz");
-const u8 gMonBackPic_Nosepass[] = INCBIN_U8("graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Nosepass[] = INCBIN_U8("graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Nosepass[] = INCBIN_U32("graphics/pokemon/front_pics/nosepass_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/palettes/nosepass_palette.gbapal.lz");
+const u32 gMonBackPic_Nosepass[] = INCBIN_U32("graphics/pokemon/back_pics/nosepass_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Nosepass[] = INCBIN_U32("graphics/pokemon/palettes/nosepass_shiny_palette.gbapal.lz");
const u8 gMonIcon_Nosepass[] = INCBIN_U8("graphics/pokemon/icons/nosepass_icon.4bpp");
const u8 gMonFootprint_Nosepass[] = INCBIN_U8("graphics/pokemon/footprints/nosepass_footprint.1bpp");
-const u8 gMonStillFrontPic_Torkoal[] = INCBIN_U8("graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Torkoal[] = INCBIN_U8("graphics/pokemon/palettes/torkoal_palette.gbapal.lz");
-const u8 gMonBackPic_Torkoal[] = INCBIN_U8("graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Torkoal[] = INCBIN_U8("graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Torkoal[] = INCBIN_U32("graphics/pokemon/front_pics/torkoal_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/palettes/torkoal_palette.gbapal.lz");
+const u32 gMonBackPic_Torkoal[] = INCBIN_U32("graphics/pokemon/back_pics/torkoal_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Torkoal[] = INCBIN_U32("graphics/pokemon/palettes/torkoal_shiny_palette.gbapal.lz");
const u8 gMonIcon_Torkoal[] = INCBIN_U8("graphics/pokemon/icons/torkoal_icon.4bpp");
const u8 gMonFootprint_Torkoal[] = INCBIN_U8("graphics/pokemon/footprints/torkoal_footprint.1bpp");
-const u8 gMonStillFrontPic_Sableye[] = INCBIN_U8("graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sableye[] = INCBIN_U8("graphics/pokemon/palettes/sableye_palette.gbapal.lz");
-const u8 gMonBackPic_Sableye[] = INCBIN_U8("graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sableye[] = INCBIN_U8("graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sableye[] = INCBIN_U32("graphics/pokemon/front_pics/sableye_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sableye[] = INCBIN_U32("graphics/pokemon/palettes/sableye_palette.gbapal.lz");
+const u32 gMonBackPic_Sableye[] = INCBIN_U32("graphics/pokemon/back_pics/sableye_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sableye[] = INCBIN_U32("graphics/pokemon/palettes/sableye_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sableye[] = INCBIN_U8("graphics/pokemon/icons/sableye_icon.4bpp");
const u8 gMonFootprint_Sableye[] = INCBIN_U8("graphics/pokemon/footprints/sableye_footprint.1bpp");
-const u8 gMonStillFrontPic_Barboach[] = INCBIN_U8("graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Barboach[] = INCBIN_U8("graphics/pokemon/palettes/barboach_palette.gbapal.lz");
-const u8 gMonBackPic_Barboach[] = INCBIN_U8("graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Barboach[] = INCBIN_U8("graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Barboach[] = INCBIN_U32("graphics/pokemon/front_pics/barboach_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Barboach[] = INCBIN_U32("graphics/pokemon/palettes/barboach_palette.gbapal.lz");
+const u32 gMonBackPic_Barboach[] = INCBIN_U32("graphics/pokemon/back_pics/barboach_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Barboach[] = INCBIN_U32("graphics/pokemon/palettes/barboach_shiny_palette.gbapal.lz");
const u8 gMonIcon_Barboach[] = INCBIN_U8("graphics/pokemon/icons/barboach_icon.4bpp");
const u8 gMonFootprint_Barboach[] = INCBIN_U8("graphics/pokemon/footprints/barboach_footprint.1bpp");
-const u8 gMonStillFrontPic_Whiscash[] = INCBIN_U8("graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Whiscash[] = INCBIN_U8("graphics/pokemon/palettes/whiscash_palette.gbapal.lz");
-const u8 gMonBackPic_Whiscash[] = INCBIN_U8("graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Whiscash[] = INCBIN_U8("graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Whiscash[] = INCBIN_U32("graphics/pokemon/front_pics/whiscash_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/palettes/whiscash_palette.gbapal.lz");
+const u32 gMonBackPic_Whiscash[] = INCBIN_U32("graphics/pokemon/back_pics/whiscash_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Whiscash[] = INCBIN_U32("graphics/pokemon/palettes/whiscash_shiny_palette.gbapal.lz");
const u8 gMonIcon_Whiscash[] = INCBIN_U8("graphics/pokemon/icons/whiscash_icon.4bpp");
const u8 gMonFootprint_Whiscash[] = INCBIN_U8("graphics/pokemon/footprints/whiscash_footprint.1bpp");
-const u8 gMonStillFrontPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Luvdisc[] = INCBIN_U8("graphics/pokemon/palettes/luvdisc_palette.gbapal.lz");
-const u8 gMonBackPic_Luvdisc[] = INCBIN_U8("graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Luvdisc[] = INCBIN_U8("graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/front_pics/luvdisc_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/palettes/luvdisc_palette.gbapal.lz");
+const u32 gMonBackPic_Luvdisc[] = INCBIN_U32("graphics/pokemon/back_pics/luvdisc_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Luvdisc[] = INCBIN_U32("graphics/pokemon/palettes/luvdisc_shiny_palette.gbapal.lz");
const u8 gMonIcon_Luvdisc[] = INCBIN_U8("graphics/pokemon/icons/luvdisc_icon.4bpp");
const u8 gMonFootprint_Luvdisc[] = INCBIN_U8("graphics/pokemon/footprints/luvdisc_footprint.1bpp");
-const u8 gMonStillFrontPic_Corphish[] = INCBIN_U8("graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Corphish[] = INCBIN_U8("graphics/pokemon/palettes/corphish_palette.gbapal.lz");
-const u8 gMonBackPic_Corphish[] = INCBIN_U8("graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Corphish[] = INCBIN_U8("graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Corphish[] = INCBIN_U32("graphics/pokemon/front_pics/corphish_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Corphish[] = INCBIN_U32("graphics/pokemon/palettes/corphish_palette.gbapal.lz");
+const u32 gMonBackPic_Corphish[] = INCBIN_U32("graphics/pokemon/back_pics/corphish_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Corphish[] = INCBIN_U32("graphics/pokemon/palettes/corphish_shiny_palette.gbapal.lz");
const u8 gMonIcon_Corphish[] = INCBIN_U8("graphics/pokemon/icons/corphish_icon.4bpp");
const u8 gMonFootprint_Corphish[] = INCBIN_U8("graphics/pokemon/footprints/corphish_footprint.1bpp");
-const u8 gMonStillFrontPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Crawdaunt[] = INCBIN_U8("graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz");
-const u8 gMonBackPic_Crawdaunt[] = INCBIN_U8("graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Crawdaunt[] = INCBIN_U8("graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/front_pics/crawdaunt_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/palettes/crawdaunt_palette.gbapal.lz");
+const u32 gMonBackPic_Crawdaunt[] = INCBIN_U32("graphics/pokemon/back_pics/crawdaunt_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Crawdaunt[] = INCBIN_U32("graphics/pokemon/palettes/crawdaunt_shiny_palette.gbapal.lz");
const u8 gMonIcon_Crawdaunt[] = INCBIN_U8("graphics/pokemon/icons/crawdaunt_icon.4bpp");
const u8 gMonFootprint_Crawdaunt[] = INCBIN_U8("graphics/pokemon/footprints/crawdaunt_footprint.1bpp");
-const u8 gMonStillFrontPic_Feebas[] = INCBIN_U8("graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Feebas[] = INCBIN_U8("graphics/pokemon/palettes/feebas_palette.gbapal.lz");
-const u8 gMonBackPic_Feebas[] = INCBIN_U8("graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Feebas[] = INCBIN_U8("graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/front_pics/feebas_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Feebas[] = INCBIN_U32("graphics/pokemon/palettes/feebas_palette.gbapal.lz");
+const u32 gMonBackPic_Feebas[] = INCBIN_U32("graphics/pokemon/back_pics/feebas_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Feebas[] = INCBIN_U32("graphics/pokemon/palettes/feebas_shiny_palette.gbapal.lz");
const u8 gMonIcon_Feebas[] = INCBIN_U8("graphics/pokemon/icons/feebas_icon.4bpp");
const u8 gMonFootprint_Feebas[] = INCBIN_U8("graphics/pokemon/footprints/feebas_footprint.1bpp");
-const u8 gMonStillFrontPic_Milotic[] = INCBIN_U8("graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Milotic[] = INCBIN_U8("graphics/pokemon/palettes/milotic_palette.gbapal.lz");
-const u8 gMonBackPic_Milotic[] = INCBIN_U8("graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Milotic[] = INCBIN_U8("graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/front_pics/milotic_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Milotic[] = INCBIN_U32("graphics/pokemon/palettes/milotic_palette.gbapal.lz");
+const u32 gMonBackPic_Milotic[] = INCBIN_U32("graphics/pokemon/back_pics/milotic_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Milotic[] = INCBIN_U32("graphics/pokemon/palettes/milotic_shiny_palette.gbapal.lz");
const u8 gMonIcon_Milotic[] = INCBIN_U8("graphics/pokemon/icons/milotic_icon.4bpp");
const u8 gMonFootprint_Milotic[] = INCBIN_U8("graphics/pokemon/footprints/milotic_footprint.1bpp");
-const u8 gMonStillFrontPic_Carvanha[] = INCBIN_U8("graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Carvanha[] = INCBIN_U8("graphics/pokemon/palettes/carvanha_palette.gbapal.lz");
-const u8 gMonBackPic_Carvanha[] = INCBIN_U8("graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Carvanha[] = INCBIN_U8("graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Carvanha[] = INCBIN_U32("graphics/pokemon/front_pics/carvanha_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/palettes/carvanha_palette.gbapal.lz");
+const u32 gMonBackPic_Carvanha[] = INCBIN_U32("graphics/pokemon/back_pics/carvanha_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Carvanha[] = INCBIN_U32("graphics/pokemon/palettes/carvanha_shiny_palette.gbapal.lz");
const u8 gMonIcon_Carvanha[] = INCBIN_U8("graphics/pokemon/icons/carvanha_icon.4bpp");
const u8 gMonFootprint_Carvanha[] = INCBIN_U8("graphics/pokemon/footprints/carvanha_footprint.1bpp");
-const u8 gMonStillFrontPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sharpedo[] = INCBIN_U8("graphics/pokemon/palettes/sharpedo_palette.gbapal.lz");
-const u8 gMonBackPic_Sharpedo[] = INCBIN_U8("graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sharpedo[] = INCBIN_U8("graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/front_pics/sharpedo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/palettes/sharpedo_palette.gbapal.lz");
+const u32 gMonBackPic_Sharpedo[] = INCBIN_U32("graphics/pokemon/back_pics/sharpedo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sharpedo[] = INCBIN_U32("graphics/pokemon/palettes/sharpedo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sharpedo[] = INCBIN_U8("graphics/pokemon/icons/sharpedo_icon.4bpp");
const u8 gMonFootprint_Sharpedo[] = INCBIN_U8("graphics/pokemon/footprints/sharpedo_footprint.1bpp");
-const u8 gMonStillFrontPic_Trapinch[] = INCBIN_U8("graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Trapinch[] = INCBIN_U8("graphics/pokemon/palettes/trapinch_palette.gbapal.lz");
-const u8 gMonBackPic_Trapinch[] = INCBIN_U8("graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Trapinch[] = INCBIN_U8("graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Trapinch[] = INCBIN_U32("graphics/pokemon/front_pics/trapinch_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/palettes/trapinch_palette.gbapal.lz");
+const u32 gMonBackPic_Trapinch[] = INCBIN_U32("graphics/pokemon/back_pics/trapinch_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Trapinch[] = INCBIN_U32("graphics/pokemon/palettes/trapinch_shiny_palette.gbapal.lz");
const u8 gMonIcon_Trapinch[] = INCBIN_U8("graphics/pokemon/icons/trapinch_icon.4bpp");
const u8 gMonFootprint_Trapinch[] = INCBIN_U8("graphics/pokemon/footprints/trapinch_footprint.1bpp");
-const u8 gMonStillFrontPic_Vibrava[] = INCBIN_U8("graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Vibrava[] = INCBIN_U8("graphics/pokemon/palettes/vibrava_palette.gbapal.lz");
-const u8 gMonBackPic_Vibrava[] = INCBIN_U8("graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Vibrava[] = INCBIN_U8("graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Vibrava[] = INCBIN_U32("graphics/pokemon/front_pics/vibrava_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/palettes/vibrava_palette.gbapal.lz");
+const u32 gMonBackPic_Vibrava[] = INCBIN_U32("graphics/pokemon/back_pics/vibrava_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Vibrava[] = INCBIN_U32("graphics/pokemon/palettes/vibrava_shiny_palette.gbapal.lz");
const u8 gMonIcon_Vibrava[] = INCBIN_U8("graphics/pokemon/icons/vibrava_icon.4bpp");
const u8 gMonFootprint_Vibrava[] = INCBIN_U8("graphics/pokemon/footprints/vibrava_footprint.1bpp");
-const u8 gMonStillFrontPic_Flygon[] = INCBIN_U8("graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Flygon[] = INCBIN_U8("graphics/pokemon/palettes/flygon_palette.gbapal.lz");
-const u8 gMonBackPic_Flygon[] = INCBIN_U8("graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Flygon[] = INCBIN_U8("graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Flygon[] = INCBIN_U32("graphics/pokemon/front_pics/flygon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Flygon[] = INCBIN_U32("graphics/pokemon/palettes/flygon_palette.gbapal.lz");
+const u32 gMonBackPic_Flygon[] = INCBIN_U32("graphics/pokemon/back_pics/flygon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Flygon[] = INCBIN_U32("graphics/pokemon/palettes/flygon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Flygon[] = INCBIN_U8("graphics/pokemon/icons/flygon_icon.4bpp");
const u8 gMonFootprint_Flygon[] = INCBIN_U8("graphics/pokemon/footprints/flygon_footprint.1bpp");
-const u8 gMonStillFrontPic_Makuhita[] = INCBIN_U8("graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Makuhita[] = INCBIN_U8("graphics/pokemon/palettes/makuhita_palette.gbapal.lz");
-const u8 gMonBackPic_Makuhita[] = INCBIN_U8("graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Makuhita[] = INCBIN_U8("graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Makuhita[] = INCBIN_U32("graphics/pokemon/front_pics/makuhita_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/palettes/makuhita_palette.gbapal.lz");
+const u32 gMonBackPic_Makuhita[] = INCBIN_U32("graphics/pokemon/back_pics/makuhita_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Makuhita[] = INCBIN_U32("graphics/pokemon/palettes/makuhita_shiny_palette.gbapal.lz");
const u8 gMonIcon_Makuhita[] = INCBIN_U8("graphics/pokemon/icons/makuhita_icon.4bpp");
const u8 gMonFootprint_Makuhita[] = INCBIN_U8("graphics/pokemon/footprints/makuhita_footprint.1bpp");
-const u8 gMonStillFrontPic_Hariyama[] = INCBIN_U8("graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Hariyama[] = INCBIN_U8("graphics/pokemon/palettes/hariyama_palette.gbapal.lz");
-const u8 gMonBackPic_Hariyama[] = INCBIN_U8("graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Hariyama[] = INCBIN_U8("graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Hariyama[] = INCBIN_U32("graphics/pokemon/front_pics/hariyama_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/palettes/hariyama_palette.gbapal.lz");
+const u32 gMonBackPic_Hariyama[] = INCBIN_U32("graphics/pokemon/back_pics/hariyama_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Hariyama[] = INCBIN_U32("graphics/pokemon/palettes/hariyama_shiny_palette.gbapal.lz");
const u8 gMonIcon_Hariyama[] = INCBIN_U8("graphics/pokemon/icons/hariyama_icon.4bpp");
const u8 gMonFootprint_Hariyama[] = INCBIN_U8("graphics/pokemon/footprints/hariyama_footprint.1bpp");
-const u8 gMonStillFrontPic_Electrike[] = INCBIN_U8("graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Electrike[] = INCBIN_U8("graphics/pokemon/palettes/electrike_palette.gbapal.lz");
-const u8 gMonBackPic_Electrike[] = INCBIN_U8("graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Electrike[] = INCBIN_U8("graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/front_pics/electrike_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Electrike[] = INCBIN_U32("graphics/pokemon/palettes/electrike_palette.gbapal.lz");
+const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/back_pics/electrike_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Electrike[] = INCBIN_U32("graphics/pokemon/palettes/electrike_shiny_palette.gbapal.lz");
const u8 gMonIcon_Electrike[] = INCBIN_U8("graphics/pokemon/icons/electrike_icon.4bpp");
const u8 gMonFootprint_Electrike[] = INCBIN_U8("graphics/pokemon/footprints/electrike_footprint.1bpp");
-const u8 gMonStillFrontPic_Manectric[] = INCBIN_U8("graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Manectric[] = INCBIN_U8("graphics/pokemon/palettes/manectric_palette.gbapal.lz");
-const u8 gMonBackPic_Manectric[] = INCBIN_U8("graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Manectric[] = INCBIN_U8("graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/front_pics/manectric_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Manectric[] = INCBIN_U32("graphics/pokemon/palettes/manectric_palette.gbapal.lz");
+const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/back_pics/manectric_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Manectric[] = INCBIN_U32("graphics/pokemon/palettes/manectric_shiny_palette.gbapal.lz");
const u8 gMonIcon_Manectric[] = INCBIN_U8("graphics/pokemon/icons/manectric_icon.4bpp");
const u8 gMonFootprint_Manectric[] = INCBIN_U8("graphics/pokemon/footprints/manectric_footprint.1bpp");
-const u8 gMonStillFrontPic_Numel[] = INCBIN_U8("graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Numel[] = INCBIN_U8("graphics/pokemon/palettes/numel_palette.gbapal.lz");
-const u8 gMonBackPic_Numel[] = INCBIN_U8("graphics/pokemon/back_pics/numel_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Numel[] = INCBIN_U8("graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Numel[] = INCBIN_U32("graphics/pokemon/front_pics/numel_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Numel[] = INCBIN_U32("graphics/pokemon/palettes/numel_palette.gbapal.lz");
+const u32 gMonBackPic_Numel[] = INCBIN_U32("graphics/pokemon/back_pics/numel_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Numel[] = INCBIN_U32("graphics/pokemon/palettes/numel_shiny_palette.gbapal.lz");
const u8 gMonIcon_Numel[] = INCBIN_U8("graphics/pokemon/icons/numel_icon.4bpp");
const u8 gMonFootprint_Numel[] = INCBIN_U8("graphics/pokemon/footprints/numel_footprint.1bpp");
-const u8 gMonStillFrontPic_Camerupt[] = INCBIN_U8("graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Camerupt[] = INCBIN_U8("graphics/pokemon/palettes/camerupt_palette.gbapal.lz");
-const u8 gMonBackPic_Camerupt[] = INCBIN_U8("graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Camerupt[] = INCBIN_U8("graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Camerupt[] = INCBIN_U32("graphics/pokemon/front_pics/camerupt_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/palettes/camerupt_palette.gbapal.lz");
+const u32 gMonBackPic_Camerupt[] = INCBIN_U32("graphics/pokemon/back_pics/camerupt_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Camerupt[] = INCBIN_U32("graphics/pokemon/palettes/camerupt_shiny_palette.gbapal.lz");
const u8 gMonIcon_Camerupt[] = INCBIN_U8("graphics/pokemon/icons/camerupt_icon.4bpp");
const u8 gMonFootprint_Camerupt[] = INCBIN_U8("graphics/pokemon/footprints/camerupt_footprint.1bpp");
-const u8 gMonStillFrontPic_Spheal[] = INCBIN_U8("graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Spheal[] = INCBIN_U8("graphics/pokemon/palettes/spheal_palette.gbapal.lz");
-const u8 gMonBackPic_Spheal[] = INCBIN_U8("graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Spheal[] = INCBIN_U8("graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Spheal[] = INCBIN_U32("graphics/pokemon/front_pics/spheal_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Spheal[] = INCBIN_U32("graphics/pokemon/palettes/spheal_palette.gbapal.lz");
+const u32 gMonBackPic_Spheal[] = INCBIN_U32("graphics/pokemon/back_pics/spheal_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Spheal[] = INCBIN_U32("graphics/pokemon/palettes/spheal_shiny_palette.gbapal.lz");
const u8 gMonIcon_Spheal[] = INCBIN_U8("graphics/pokemon/icons/spheal_icon.4bpp");
const u8 gMonFootprint_Spheal[] = INCBIN_U8("graphics/pokemon/footprints/spheal_footprint.1bpp");
-const u8 gMonStillFrontPic_Sealeo[] = INCBIN_U8("graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Sealeo[] = INCBIN_U8("graphics/pokemon/palettes/sealeo_palette.gbapal.lz");
-const u8 gMonBackPic_Sealeo[] = INCBIN_U8("graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Sealeo[] = INCBIN_U8("graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Sealeo[] = INCBIN_U32("graphics/pokemon/front_pics/sealeo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/palettes/sealeo_palette.gbapal.lz");
+const u32 gMonBackPic_Sealeo[] = INCBIN_U32("graphics/pokemon/back_pics/sealeo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Sealeo[] = INCBIN_U32("graphics/pokemon/palettes/sealeo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Sealeo[] = INCBIN_U8("graphics/pokemon/icons/sealeo_icon.4bpp");
const u8 gMonFootprint_Sealeo[] = INCBIN_U8("graphics/pokemon/footprints/sealeo_footprint.1bpp");
-const u8 gMonStillFrontPic_Walrein[] = INCBIN_U8("graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Walrein[] = INCBIN_U8("graphics/pokemon/palettes/walrein_palette.gbapal.lz");
-const u8 gMonBackPic_Walrein[] = INCBIN_U8("graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Walrein[] = INCBIN_U8("graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Walrein[] = INCBIN_U32("graphics/pokemon/front_pics/walrein_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Walrein[] = INCBIN_U32("graphics/pokemon/palettes/walrein_palette.gbapal.lz");
+const u32 gMonBackPic_Walrein[] = INCBIN_U32("graphics/pokemon/back_pics/walrein_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Walrein[] = INCBIN_U32("graphics/pokemon/palettes/walrein_shiny_palette.gbapal.lz");
const u8 gMonIcon_Walrein[] = INCBIN_U8("graphics/pokemon/icons/walrein_icon.4bpp");
const u8 gMonFootprint_Walrein[] = INCBIN_U8("graphics/pokemon/footprints/walrein_footprint.1bpp");
-const u8 gMonStillFrontPic_Cacnea[] = INCBIN_U8("graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cacnea[] = INCBIN_U8("graphics/pokemon/palettes/cacnea_palette.gbapal.lz");
-const u8 gMonBackPic_Cacnea[] = INCBIN_U8("graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cacnea[] = INCBIN_U8("graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cacnea[] = INCBIN_U32("graphics/pokemon/front_pics/cacnea_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/palettes/cacnea_palette.gbapal.lz");
+const u32 gMonBackPic_Cacnea[] = INCBIN_U32("graphics/pokemon/back_pics/cacnea_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cacnea[] = INCBIN_U32("graphics/pokemon/palettes/cacnea_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cacnea[] = INCBIN_U8("graphics/pokemon/icons/cacnea_icon.4bpp");
const u8 gMonFootprint_Cacnea[] = INCBIN_U8("graphics/pokemon/footprints/cacnea_footprint.1bpp");
-const u8 gMonStillFrontPic_Cacturne[] = INCBIN_U8("graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cacturne[] = INCBIN_U8("graphics/pokemon/palettes/cacturne_palette.gbapal.lz");
-const u8 gMonBackPic_Cacturne[] = INCBIN_U8("graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cacturne[] = INCBIN_U8("graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cacturne[] = INCBIN_U32("graphics/pokemon/front_pics/cacturne_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/palettes/cacturne_palette.gbapal.lz");
+const u32 gMonBackPic_Cacturne[] = INCBIN_U32("graphics/pokemon/back_pics/cacturne_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cacturne[] = INCBIN_U32("graphics/pokemon/palettes/cacturne_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cacturne[] = INCBIN_U8("graphics/pokemon/icons/cacturne_icon.4bpp");
const u8 gMonFootprint_Cacturne[] = INCBIN_U8("graphics/pokemon/footprints/cacturne_footprint.1bpp");
-const u8 gMonStillFrontPic_Snorunt[] = INCBIN_U8("graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Snorunt[] = INCBIN_U8("graphics/pokemon/palettes/snorunt_palette.gbapal.lz");
-const u8 gMonBackPic_Snorunt[] = INCBIN_U8("graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Snorunt[] = INCBIN_U8("graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Snorunt[] = INCBIN_U32("graphics/pokemon/front_pics/snorunt_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/palettes/snorunt_palette.gbapal.lz");
+const u32 gMonBackPic_Snorunt[] = INCBIN_U32("graphics/pokemon/back_pics/snorunt_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Snorunt[] = INCBIN_U32("graphics/pokemon/palettes/snorunt_shiny_palette.gbapal.lz");
const u8 gMonIcon_Snorunt[] = INCBIN_U8("graphics/pokemon/icons/snorunt_icon.4bpp");
const u8 gMonFootprint_Snorunt[] = INCBIN_U8("graphics/pokemon/footprints/snorunt_footprint.1bpp");
-const u8 gMonStillFrontPic_Glalie[] = INCBIN_U8("graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Glalie[] = INCBIN_U8("graphics/pokemon/palettes/glalie_palette.gbapal.lz");
-const u8 gMonBackPic_Glalie[] = INCBIN_U8("graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Glalie[] = INCBIN_U8("graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Glalie[] = INCBIN_U32("graphics/pokemon/front_pics/glalie_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Glalie[] = INCBIN_U32("graphics/pokemon/palettes/glalie_palette.gbapal.lz");
+const u32 gMonBackPic_Glalie[] = INCBIN_U32("graphics/pokemon/back_pics/glalie_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Glalie[] = INCBIN_U32("graphics/pokemon/palettes/glalie_shiny_palette.gbapal.lz");
const u8 gMonIcon_Glalie[] = INCBIN_U8("graphics/pokemon/icons/glalie_icon.4bpp");
const u8 gMonFootprint_Glalie[] = INCBIN_U8("graphics/pokemon/footprints/glalie_footprint.1bpp");
-const u8 gMonStillFrontPic_Lunatone[] = INCBIN_U8("graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lunatone[] = INCBIN_U8("graphics/pokemon/palettes/lunatone_palette.gbapal.lz");
-const u8 gMonBackPic_Lunatone[] = INCBIN_U8("graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lunatone[] = INCBIN_U8("graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lunatone[] = INCBIN_U32("graphics/pokemon/front_pics/lunatone_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/palettes/lunatone_palette.gbapal.lz");
+const u32 gMonBackPic_Lunatone[] = INCBIN_U32("graphics/pokemon/back_pics/lunatone_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lunatone[] = INCBIN_U32("graphics/pokemon/palettes/lunatone_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lunatone[] = INCBIN_U8("graphics/pokemon/icons/lunatone_icon.4bpp");
const u8 gMonFootprint_Lunatone[] = INCBIN_U8("graphics/pokemon/footprints/lunatone_footprint.1bpp");
-const u8 gMonStillFrontPic_Solrock[] = INCBIN_U8("graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Solrock[] = INCBIN_U8("graphics/pokemon/palettes/solrock_palette.gbapal.lz");
-const u8 gMonBackPic_Solrock[] = INCBIN_U8("graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Solrock[] = INCBIN_U8("graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Solrock[] = INCBIN_U32("graphics/pokemon/front_pics/solrock_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Solrock[] = INCBIN_U32("graphics/pokemon/palettes/solrock_palette.gbapal.lz");
+const u32 gMonBackPic_Solrock[] = INCBIN_U32("graphics/pokemon/back_pics/solrock_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Solrock[] = INCBIN_U32("graphics/pokemon/palettes/solrock_shiny_palette.gbapal.lz");
const u8 gMonIcon_Solrock[] = INCBIN_U8("graphics/pokemon/icons/solrock_icon.4bpp");
const u8 gMonFootprint_Solrock[] = INCBIN_U8("graphics/pokemon/footprints/solrock_footprint.1bpp");
-const u8 gMonStillFrontPic_Azurill[] = INCBIN_U8("graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Azurill[] = INCBIN_U8("graphics/pokemon/palettes/azurill_palette.gbapal.lz");
-const u8 gMonBackPic_Azurill[] = INCBIN_U8("graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Azurill[] = INCBIN_U8("graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Azurill[] = INCBIN_U32("graphics/pokemon/front_pics/azurill_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Azurill[] = INCBIN_U32("graphics/pokemon/palettes/azurill_palette.gbapal.lz");
+const u32 gMonBackPic_Azurill[] = INCBIN_U32("graphics/pokemon/back_pics/azurill_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Azurill[] = INCBIN_U32("graphics/pokemon/palettes/azurill_shiny_palette.gbapal.lz");
const u8 gMonIcon_Azurill[] = INCBIN_U8("graphics/pokemon/icons/azurill_icon.4bpp");
const u8 gMonFootprint_Azurill[] = INCBIN_U8("graphics/pokemon/footprints/azurill_footprint.1bpp");
-const u8 gMonStillFrontPic_Spoink[] = INCBIN_U8("graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Spoink[] = INCBIN_U8("graphics/pokemon/palettes/spoink_palette.gbapal.lz");
-const u8 gMonBackPic_Spoink[] = INCBIN_U8("graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Spoink[] = INCBIN_U8("graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Spoink[] = INCBIN_U32("graphics/pokemon/front_pics/spoink_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Spoink[] = INCBIN_U32("graphics/pokemon/palettes/spoink_palette.gbapal.lz");
+const u32 gMonBackPic_Spoink[] = INCBIN_U32("graphics/pokemon/back_pics/spoink_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Spoink[] = INCBIN_U32("graphics/pokemon/palettes/spoink_shiny_palette.gbapal.lz");
const u8 gMonIcon_Spoink[] = INCBIN_U8("graphics/pokemon/icons/spoink_icon.4bpp");
const u8 gMonFootprint_Spoink[] = INCBIN_U8("graphics/pokemon/footprints/spoink_footprint.1bpp");
-const u8 gMonStillFrontPic_Grumpig[] = INCBIN_U8("graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Grumpig[] = INCBIN_U8("graphics/pokemon/palettes/grumpig_palette.gbapal.lz");
-const u8 gMonBackPic_Grumpig[] = INCBIN_U8("graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Grumpig[] = INCBIN_U8("graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Grumpig[] = INCBIN_U32("graphics/pokemon/front_pics/grumpig_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/palettes/grumpig_palette.gbapal.lz");
+const u32 gMonBackPic_Grumpig[] = INCBIN_U32("graphics/pokemon/back_pics/grumpig_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Grumpig[] = INCBIN_U32("graphics/pokemon/palettes/grumpig_shiny_palette.gbapal.lz");
const u8 gMonIcon_Grumpig[] = INCBIN_U8("graphics/pokemon/icons/grumpig_icon.4bpp");
const u8 gMonFootprint_Grumpig[] = INCBIN_U8("graphics/pokemon/footprints/grumpig_footprint.1bpp");
-const u8 gMonStillFrontPic_Plusle[] = INCBIN_U8("graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Plusle[] = INCBIN_U8("graphics/pokemon/palettes/plusle_palette.gbapal.lz");
-const u8 gMonBackPic_Plusle[] = INCBIN_U8("graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Plusle[] = INCBIN_U8("graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/front_pics/plusle_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Plusle[] = INCBIN_U32("graphics/pokemon/palettes/plusle_palette.gbapal.lz");
+const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/back_pics/plusle_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Plusle[] = INCBIN_U32("graphics/pokemon/palettes/plusle_shiny_palette.gbapal.lz");
const u8 gMonIcon_Plusle[] = INCBIN_U8("graphics/pokemon/icons/plusle_icon.4bpp");
const u8 gMonFootprint_Plusle[] = INCBIN_U8("graphics/pokemon/footprints/plusle_footprint.1bpp");
-const u8 gMonStillFrontPic_Minun[] = INCBIN_U8("graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Minun[] = INCBIN_U8("graphics/pokemon/palettes/minun_palette.gbapal.lz");
-const u8 gMonBackPic_Minun[] = INCBIN_U8("graphics/pokemon/back_pics/minun_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Minun[] = INCBIN_U8("graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Minun[] = INCBIN_U32("graphics/pokemon/front_pics/minun_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Minun[] = INCBIN_U32("graphics/pokemon/palettes/minun_palette.gbapal.lz");
+const u32 gMonBackPic_Minun[] = INCBIN_U32("graphics/pokemon/back_pics/minun_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Minun[] = INCBIN_U32("graphics/pokemon/palettes/minun_shiny_palette.gbapal.lz");
const u8 gMonIcon_Minun[] = INCBIN_U8("graphics/pokemon/icons/minun_icon.4bpp");
const u8 gMonFootprint_Minun[] = INCBIN_U8("graphics/pokemon/footprints/minun_footprint.1bpp");
-const u8 gMonStillFrontPic_Mawile[] = INCBIN_U8("graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Mawile[] = INCBIN_U8("graphics/pokemon/palettes/mawile_palette.gbapal.lz");
-const u8 gMonBackPic_Mawile[] = INCBIN_U8("graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Mawile[] = INCBIN_U8("graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Mawile[] = INCBIN_U32("graphics/pokemon/front_pics/mawile_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Mawile[] = INCBIN_U32("graphics/pokemon/palettes/mawile_palette.gbapal.lz");
+const u32 gMonBackPic_Mawile[] = INCBIN_U32("graphics/pokemon/back_pics/mawile_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Mawile[] = INCBIN_U32("graphics/pokemon/palettes/mawile_shiny_palette.gbapal.lz");
const u8 gMonIcon_Mawile[] = INCBIN_U8("graphics/pokemon/icons/mawile_icon.4bpp");
const u8 gMonFootprint_Mawile[] = INCBIN_U8("graphics/pokemon/footprints/mawile_footprint.1bpp");
-const u8 gMonStillFrontPic_Meditite[] = INCBIN_U8("graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Meditite[] = INCBIN_U8("graphics/pokemon/palettes/meditite_palette.gbapal.lz");
-const u8 gMonBackPic_Meditite[] = INCBIN_U8("graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Meditite[] = INCBIN_U8("graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/front_pics/meditite_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Meditite[] = INCBIN_U32("graphics/pokemon/palettes/meditite_palette.gbapal.lz");
+const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/back_pics/meditite_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Meditite[] = INCBIN_U32("graphics/pokemon/palettes/meditite_shiny_palette.gbapal.lz");
const u8 gMonIcon_Meditite[] = INCBIN_U8("graphics/pokemon/icons/meditite_icon.4bpp");
const u8 gMonFootprint_Meditite[] = INCBIN_U8("graphics/pokemon/footprints/meditite_footprint.1bpp");
-const u8 gMonStillFrontPic_Medicham[] = INCBIN_U8("graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Medicham[] = INCBIN_U8("graphics/pokemon/palettes/medicham_palette.gbapal.lz");
-const u8 gMonBackPic_Medicham[] = INCBIN_U8("graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Medicham[] = INCBIN_U8("graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/front_pics/medicham_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Medicham[] = INCBIN_U32("graphics/pokemon/palettes/medicham_palette.gbapal.lz");
+const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/back_pics/medicham_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Medicham[] = INCBIN_U32("graphics/pokemon/palettes/medicham_shiny_palette.gbapal.lz");
const u8 gMonIcon_Medicham[] = INCBIN_U8("graphics/pokemon/icons/medicham_icon.4bpp");
const u8 gMonFootprint_Medicham[] = INCBIN_U8("graphics/pokemon/footprints/medicham_footprint.1bpp");
-const u8 gMonStillFrontPic_Swablu[] = INCBIN_U8("graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Swablu[] = INCBIN_U8("graphics/pokemon/palettes/swablu_palette.gbapal.lz");
-const u8 gMonBackPic_Swablu[] = INCBIN_U8("graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Swablu[] = INCBIN_U8("graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Swablu[] = INCBIN_U32("graphics/pokemon/front_pics/swablu_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Swablu[] = INCBIN_U32("graphics/pokemon/palettes/swablu_palette.gbapal.lz");
+const u32 gMonBackPic_Swablu[] = INCBIN_U32("graphics/pokemon/back_pics/swablu_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Swablu[] = INCBIN_U32("graphics/pokemon/palettes/swablu_shiny_palette.gbapal.lz");
const u8 gMonIcon_Swablu[] = INCBIN_U8("graphics/pokemon/icons/swablu_icon.4bpp");
const u8 gMonFootprint_Swablu[] = INCBIN_U8("graphics/pokemon/footprints/swablu_footprint.1bpp");
-const u8 gMonStillFrontPic_Altaria[] = INCBIN_U8("graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Altaria[] = INCBIN_U8("graphics/pokemon/palettes/altaria_palette.gbapal.lz");
-const u8 gMonBackPic_Altaria[] = INCBIN_U8("graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Altaria[] = INCBIN_U8("graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Altaria[] = INCBIN_U32("graphics/pokemon/front_pics/altaria_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Altaria[] = INCBIN_U32("graphics/pokemon/palettes/altaria_palette.gbapal.lz");
+const u32 gMonBackPic_Altaria[] = INCBIN_U32("graphics/pokemon/back_pics/altaria_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Altaria[] = INCBIN_U32("graphics/pokemon/palettes/altaria_shiny_palette.gbapal.lz");
const u8 gMonIcon_Altaria[] = INCBIN_U8("graphics/pokemon/icons/altaria_icon.4bpp");
const u8 gMonFootprint_Altaria[] = INCBIN_U8("graphics/pokemon/footprints/altaria_footprint.1bpp");
-const u8 gMonStillFrontPic_Wynaut[] = INCBIN_U8("graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Wynaut[] = INCBIN_U8("graphics/pokemon/palettes/wynaut_palette.gbapal.lz");
-const u8 gMonBackPic_Wynaut[] = INCBIN_U8("graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Wynaut[] = INCBIN_U8("graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Wynaut[] = INCBIN_U32("graphics/pokemon/front_pics/wynaut_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/palettes/wynaut_palette.gbapal.lz");
+const u32 gMonBackPic_Wynaut[] = INCBIN_U32("graphics/pokemon/back_pics/wynaut_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Wynaut[] = INCBIN_U32("graphics/pokemon/palettes/wynaut_shiny_palette.gbapal.lz");
const u8 gMonIcon_Wynaut[] = INCBIN_U8("graphics/pokemon/icons/wynaut_icon.4bpp");
const u8 gMonFootprint_Wynaut[] = INCBIN_U8("graphics/pokemon/footprints/wynaut_footprint.1bpp");
-const u8 gMonStillFrontPic_Duskull[] = INCBIN_U8("graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Duskull[] = INCBIN_U8("graphics/pokemon/palettes/duskull_palette.gbapal.lz");
-const u8 gMonBackPic_Duskull[] = INCBIN_U8("graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Duskull[] = INCBIN_U8("graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Duskull[] = INCBIN_U32("graphics/pokemon/front_pics/duskull_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Duskull[] = INCBIN_U32("graphics/pokemon/palettes/duskull_palette.gbapal.lz");
+const u32 gMonBackPic_Duskull[] = INCBIN_U32("graphics/pokemon/back_pics/duskull_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Duskull[] = INCBIN_U32("graphics/pokemon/palettes/duskull_shiny_palette.gbapal.lz");
const u8 gMonIcon_Duskull[] = INCBIN_U8("graphics/pokemon/icons/duskull_icon.4bpp");
const u8 gMonFootprint_Duskull[] = INCBIN_U8("graphics/pokemon/footprints/duskull_footprint.1bpp");
-const u8 gMonStillFrontPic_Dusclops[] = INCBIN_U8("graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Dusclops[] = INCBIN_U8("graphics/pokemon/palettes/dusclops_palette.gbapal.lz");
-const u8 gMonBackPic_Dusclops[] = INCBIN_U8("graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Dusclops[] = INCBIN_U8("graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Dusclops[] = INCBIN_U32("graphics/pokemon/front_pics/dusclops_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/palettes/dusclops_palette.gbapal.lz");
+const u32 gMonBackPic_Dusclops[] = INCBIN_U32("graphics/pokemon/back_pics/dusclops_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Dusclops[] = INCBIN_U32("graphics/pokemon/palettes/dusclops_shiny_palette.gbapal.lz");
const u8 gMonIcon_Dusclops[] = INCBIN_U8("graphics/pokemon/icons/dusclops_icon.4bpp");
const u8 gMonFootprint_Dusclops[] = INCBIN_U8("graphics/pokemon/footprints/dusclops_footprint.1bpp");
-const u8 gMonStillFrontPic_Roselia[] = INCBIN_U8("graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Roselia[] = INCBIN_U8("graphics/pokemon/palettes/roselia_palette.gbapal.lz");
-const u8 gMonBackPic_Roselia[] = INCBIN_U8("graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Roselia[] = INCBIN_U8("graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Roselia[] = INCBIN_U32("graphics/pokemon/front_pics/roselia_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Roselia[] = INCBIN_U32("graphics/pokemon/palettes/roselia_palette.gbapal.lz");
+const u32 gMonBackPic_Roselia[] = INCBIN_U32("graphics/pokemon/back_pics/roselia_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Roselia[] = INCBIN_U32("graphics/pokemon/palettes/roselia_shiny_palette.gbapal.lz");
const u8 gMonIcon_Roselia[] = INCBIN_U8("graphics/pokemon/icons/roselia_icon.4bpp");
const u8 gMonFootprint_Roselia[] = INCBIN_U8("graphics/pokemon/footprints/roselia_footprint.1bpp");
-const u8 gMonStillFrontPic_Slakoth[] = INCBIN_U8("graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Slakoth[] = INCBIN_U8("graphics/pokemon/palettes/slakoth_palette.gbapal.lz");
-const u8 gMonBackPic_Slakoth[] = INCBIN_U8("graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Slakoth[] = INCBIN_U8("graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Slakoth[] = INCBIN_U32("graphics/pokemon/front_pics/slakoth_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/palettes/slakoth_palette.gbapal.lz");
+const u32 gMonBackPic_Slakoth[] = INCBIN_U32("graphics/pokemon/back_pics/slakoth_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Slakoth[] = INCBIN_U32("graphics/pokemon/palettes/slakoth_shiny_palette.gbapal.lz");
const u8 gMonIcon_Slakoth[] = INCBIN_U8("graphics/pokemon/icons/slakoth_icon.4bpp");
const u8 gMonFootprint_Slakoth[] = INCBIN_U8("graphics/pokemon/footprints/slakoth_footprint.1bpp");
-const u8 gMonStillFrontPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Vigoroth[] = INCBIN_U8("graphics/pokemon/palettes/vigoroth_palette.gbapal.lz");
-const u8 gMonBackPic_Vigoroth[] = INCBIN_U8("graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Vigoroth[] = INCBIN_U8("graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/front_pics/vigoroth_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/palettes/vigoroth_palette.gbapal.lz");
+const u32 gMonBackPic_Vigoroth[] = INCBIN_U32("graphics/pokemon/back_pics/vigoroth_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Vigoroth[] = INCBIN_U32("graphics/pokemon/palettes/vigoroth_shiny_palette.gbapal.lz");
const u8 gMonIcon_Vigoroth[] = INCBIN_U8("graphics/pokemon/icons/vigoroth_icon.4bpp");
const u8 gMonFootprint_Vigoroth[] = INCBIN_U8("graphics/pokemon/footprints/vigoroth_footprint.1bpp");
-const u8 gMonStillFrontPic_Slaking[] = INCBIN_U8("graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Slaking[] = INCBIN_U8("graphics/pokemon/palettes/slaking_palette.gbapal.lz");
-const u8 gMonBackPic_Slaking[] = INCBIN_U8("graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Slaking[] = INCBIN_U8("graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Slaking[] = INCBIN_U32("graphics/pokemon/front_pics/slaking_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Slaking[] = INCBIN_U32("graphics/pokemon/palettes/slaking_palette.gbapal.lz");
+const u32 gMonBackPic_Slaking[] = INCBIN_U32("graphics/pokemon/back_pics/slaking_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Slaking[] = INCBIN_U32("graphics/pokemon/palettes/slaking_shiny_palette.gbapal.lz");
const u8 gMonIcon_Slaking[] = INCBIN_U8("graphics/pokemon/icons/slaking_icon.4bpp");
const u8 gMonFootprint_Slaking[] = INCBIN_U8("graphics/pokemon/footprints/slaking_footprint.1bpp");
-const u8 gMonStillFrontPic_Gulpin[] = INCBIN_U8("graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gulpin[] = INCBIN_U8("graphics/pokemon/palettes/gulpin_palette.gbapal.lz");
-const u8 gMonBackPic_Gulpin[] = INCBIN_U8("graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gulpin[] = INCBIN_U8("graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gulpin[] = INCBIN_U32("graphics/pokemon/front_pics/gulpin_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/palettes/gulpin_palette.gbapal.lz");
+const u32 gMonBackPic_Gulpin[] = INCBIN_U32("graphics/pokemon/back_pics/gulpin_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gulpin[] = INCBIN_U32("graphics/pokemon/palettes/gulpin_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gulpin[] = INCBIN_U8("graphics/pokemon/icons/gulpin_icon.4bpp");
const u8 gMonFootprint_Gulpin[] = INCBIN_U8("graphics/pokemon/footprints/gulpin_footprint.1bpp");
-const u8 gMonStillFrontPic_Swalot[] = INCBIN_U8("graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Swalot[] = INCBIN_U8("graphics/pokemon/palettes/swalot_palette.gbapal.lz");
-const u8 gMonBackPic_Swalot[] = INCBIN_U8("graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Swalot[] = INCBIN_U8("graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Swalot[] = INCBIN_U32("graphics/pokemon/front_pics/swalot_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Swalot[] = INCBIN_U32("graphics/pokemon/palettes/swalot_palette.gbapal.lz");
+const u32 gMonBackPic_Swalot[] = INCBIN_U32("graphics/pokemon/back_pics/swalot_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Swalot[] = INCBIN_U32("graphics/pokemon/palettes/swalot_shiny_palette.gbapal.lz");
const u8 gMonIcon_Swalot[] = INCBIN_U8("graphics/pokemon/icons/swalot_icon.4bpp");
const u8 gMonFootprint_Swalot[] = INCBIN_U8("graphics/pokemon/footprints/swalot_footprint.1bpp");
-const u8 gMonStillFrontPic_Tropius[] = INCBIN_U8("graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Tropius[] = INCBIN_U8("graphics/pokemon/palettes/tropius_palette.gbapal.lz");
-const u8 gMonBackPic_Tropius[] = INCBIN_U8("graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Tropius[] = INCBIN_U8("graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Tropius[] = INCBIN_U32("graphics/pokemon/front_pics/tropius_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Tropius[] = INCBIN_U32("graphics/pokemon/palettes/tropius_palette.gbapal.lz");
+const u32 gMonBackPic_Tropius[] = INCBIN_U32("graphics/pokemon/back_pics/tropius_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Tropius[] = INCBIN_U32("graphics/pokemon/palettes/tropius_shiny_palette.gbapal.lz");
const u8 gMonIcon_Tropius[] = INCBIN_U8("graphics/pokemon/icons/tropius_icon.4bpp");
const u8 gMonFootprint_Tropius[] = INCBIN_U8("graphics/pokemon/footprints/tropius_footprint.1bpp");
-const u8 gMonStillFrontPic_Whismur[] = INCBIN_U8("graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Whismur[] = INCBIN_U8("graphics/pokemon/palettes/whismur_palette.gbapal.lz");
-const u8 gMonBackPic_Whismur[] = INCBIN_U8("graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Whismur[] = INCBIN_U8("graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Whismur[] = INCBIN_U32("graphics/pokemon/front_pics/whismur_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Whismur[] = INCBIN_U32("graphics/pokemon/palettes/whismur_palette.gbapal.lz");
+const u32 gMonBackPic_Whismur[] = INCBIN_U32("graphics/pokemon/back_pics/whismur_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Whismur[] = INCBIN_U32("graphics/pokemon/palettes/whismur_shiny_palette.gbapal.lz");
const u8 gMonIcon_Whismur[] = INCBIN_U8("graphics/pokemon/icons/whismur_icon.4bpp");
const u8 gMonFootprint_Whismur[] = INCBIN_U8("graphics/pokemon/footprints/whismur_footprint.1bpp");
-const u8 gMonStillFrontPic_Loudred[] = INCBIN_U8("graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Loudred[] = INCBIN_U8("graphics/pokemon/palettes/loudred_palette.gbapal.lz");
-const u8 gMonBackPic_Loudred[] = INCBIN_U8("graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Loudred[] = INCBIN_U8("graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Loudred[] = INCBIN_U32("graphics/pokemon/front_pics/loudred_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Loudred[] = INCBIN_U32("graphics/pokemon/palettes/loudred_palette.gbapal.lz");
+const u32 gMonBackPic_Loudred[] = INCBIN_U32("graphics/pokemon/back_pics/loudred_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Loudred[] = INCBIN_U32("graphics/pokemon/palettes/loudred_shiny_palette.gbapal.lz");
const u8 gMonIcon_Loudred[] = INCBIN_U8("graphics/pokemon/icons/loudred_icon.4bpp");
const u8 gMonFootprint_Loudred[] = INCBIN_U8("graphics/pokemon/footprints/loudred_footprint.1bpp");
-const u8 gMonStillFrontPic_Exploud[] = INCBIN_U8("graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Exploud[] = INCBIN_U8("graphics/pokemon/palettes/exploud_palette.gbapal.lz");
-const u8 gMonBackPic_Exploud[] = INCBIN_U8("graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Exploud[] = INCBIN_U8("graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Exploud[] = INCBIN_U32("graphics/pokemon/front_pics/exploud_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Exploud[] = INCBIN_U32("graphics/pokemon/palettes/exploud_palette.gbapal.lz");
+const u32 gMonBackPic_Exploud[] = INCBIN_U32("graphics/pokemon/back_pics/exploud_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Exploud[] = INCBIN_U32("graphics/pokemon/palettes/exploud_shiny_palette.gbapal.lz");
const u8 gMonIcon_Exploud[] = INCBIN_U8("graphics/pokemon/icons/exploud_icon.4bpp");
const u8 gMonFootprint_Exploud[] = INCBIN_U8("graphics/pokemon/footprints/exploud_footprint.1bpp");
-const u8 gMonStillFrontPic_Clamperl[] = INCBIN_U8("graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Clamperl[] = INCBIN_U8("graphics/pokemon/palettes/clamperl_palette.gbapal.lz");
-const u8 gMonBackPic_Clamperl[] = INCBIN_U8("graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Clamperl[] = INCBIN_U8("graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Clamperl[] = INCBIN_U32("graphics/pokemon/front_pics/clamperl_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/palettes/clamperl_palette.gbapal.lz");
+const u32 gMonBackPic_Clamperl[] = INCBIN_U32("graphics/pokemon/back_pics/clamperl_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Clamperl[] = INCBIN_U32("graphics/pokemon/palettes/clamperl_shiny_palette.gbapal.lz");
const u8 gMonIcon_Clamperl[] = INCBIN_U8("graphics/pokemon/icons/clamperl_icon.4bpp");
const u8 gMonFootprint_Clamperl[] = INCBIN_U8("graphics/pokemon/footprints/clamperl_footprint.1bpp");
-const u8 gMonStillFrontPic_Huntail[] = INCBIN_U8("graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Huntail[] = INCBIN_U8("graphics/pokemon/palettes/huntail_palette.gbapal.lz");
-const u8 gMonBackPic_Huntail[] = INCBIN_U8("graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Huntail[] = INCBIN_U8("graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Huntail[] = INCBIN_U32("graphics/pokemon/front_pics/huntail_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Huntail[] = INCBIN_U32("graphics/pokemon/palettes/huntail_palette.gbapal.lz");
+const u32 gMonBackPic_Huntail[] = INCBIN_U32("graphics/pokemon/back_pics/huntail_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Huntail[] = INCBIN_U32("graphics/pokemon/palettes/huntail_shiny_palette.gbapal.lz");
const u8 gMonIcon_Huntail[] = INCBIN_U8("graphics/pokemon/icons/huntail_icon.4bpp");
const u8 gMonFootprint_Huntail[] = INCBIN_U8("graphics/pokemon/footprints/huntail_footprint.1bpp");
-const u8 gMonStillFrontPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gorebyss[] = INCBIN_U8("graphics/pokemon/palettes/gorebyss_palette.gbapal.lz");
-const u8 gMonBackPic_Gorebyss[] = INCBIN_U8("graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gorebyss[] = INCBIN_U8("graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/front_pics/gorebyss_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/palettes/gorebyss_palette.gbapal.lz");
+const u32 gMonBackPic_Gorebyss[] = INCBIN_U32("graphics/pokemon/back_pics/gorebyss_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gorebyss[] = INCBIN_U32("graphics/pokemon/palettes/gorebyss_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gorebyss[] = INCBIN_U8("graphics/pokemon/icons/gorebyss_icon.4bpp");
const u8 gMonFootprint_Gorebyss[] = INCBIN_U8("graphics/pokemon/footprints/gorebyss_footprint.1bpp");
-const u8 gMonStillFrontPic_Absol[] = INCBIN_U8("graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Absol[] = INCBIN_U8("graphics/pokemon/palettes/absol_palette.gbapal.lz");
-const u8 gMonBackPic_Absol[] = INCBIN_U8("graphics/pokemon/back_pics/absol_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Absol[] = INCBIN_U8("graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Absol[] = INCBIN_U32("graphics/pokemon/front_pics/absol_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Absol[] = INCBIN_U32("graphics/pokemon/palettes/absol_palette.gbapal.lz");
+const u32 gMonBackPic_Absol[] = INCBIN_U32("graphics/pokemon/back_pics/absol_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Absol[] = INCBIN_U32("graphics/pokemon/palettes/absol_shiny_palette.gbapal.lz");
const u8 gMonIcon_Absol[] = INCBIN_U8("graphics/pokemon/icons/absol_icon.4bpp");
const u8 gMonFootprint_Absol[] = INCBIN_U8("graphics/pokemon/footprints/absol_footprint.1bpp");
-const u8 gMonStillFrontPic_Shuppet[] = INCBIN_U8("graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shuppet[] = INCBIN_U8("graphics/pokemon/palettes/shuppet_palette.gbapal.lz");
-const u8 gMonBackPic_Shuppet[] = INCBIN_U8("graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shuppet[] = INCBIN_U8("graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/front_pics/shuppet_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/palettes/shuppet_palette.gbapal.lz");
+const u32 gMonBackPic_Shuppet[] = INCBIN_U32("graphics/pokemon/back_pics/shuppet_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shuppet[] = INCBIN_U32("graphics/pokemon/palettes/shuppet_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shuppet[] = INCBIN_U8("graphics/pokemon/icons/shuppet_icon.4bpp");
const u8 gMonFootprint_Shuppet[] = INCBIN_U8("graphics/pokemon/footprints/shuppet_footprint.1bpp");
-const u8 gMonStillFrontPic_Banette[] = INCBIN_U8("graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Banette[] = INCBIN_U8("graphics/pokemon/palettes/banette_palette.gbapal.lz");
-const u8 gMonBackPic_Banette[] = INCBIN_U8("graphics/pokemon/back_pics/banette_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Banette[] = INCBIN_U8("graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/front_pics/banette_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Banette[] = INCBIN_U32("graphics/pokemon/palettes/banette_palette.gbapal.lz");
+const u32 gMonBackPic_Banette[] = INCBIN_U32("graphics/pokemon/back_pics/banette_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Banette[] = INCBIN_U32("graphics/pokemon/palettes/banette_shiny_palette.gbapal.lz");
const u8 gMonIcon_Banette[] = INCBIN_U8("graphics/pokemon/icons/banette_icon.4bpp");
const u8 gMonFootprint_Banette[] = INCBIN_U8("graphics/pokemon/footprints/banette_footprint.1bpp");
-const u8 gMonStillFrontPic_Seviper[] = INCBIN_U8("graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Seviper[] = INCBIN_U8("graphics/pokemon/palettes/seviper_palette.gbapal.lz");
-const u8 gMonBackPic_Seviper[] = INCBIN_U8("graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Seviper[] = INCBIN_U8("graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Seviper[] = INCBIN_U32("graphics/pokemon/front_pics/seviper_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Seviper[] = INCBIN_U32("graphics/pokemon/palettes/seviper_palette.gbapal.lz");
+const u32 gMonBackPic_Seviper[] = INCBIN_U32("graphics/pokemon/back_pics/seviper_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Seviper[] = INCBIN_U32("graphics/pokemon/palettes/seviper_shiny_palette.gbapal.lz");
const u8 gMonIcon_Seviper[] = INCBIN_U8("graphics/pokemon/icons/seviper_icon.4bpp");
const u8 gMonFootprint_Seviper[] = INCBIN_U8("graphics/pokemon/footprints/seviper_footprint.1bpp");
-const u8 gMonStillFrontPic_Zangoose[] = INCBIN_U8("graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Zangoose[] = INCBIN_U8("graphics/pokemon/palettes/zangoose_palette.gbapal.lz");
-const u8 gMonBackPic_Zangoose[] = INCBIN_U8("graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Zangoose[] = INCBIN_U8("graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Zangoose[] = INCBIN_U32("graphics/pokemon/front_pics/zangoose_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/palettes/zangoose_palette.gbapal.lz");
+const u32 gMonBackPic_Zangoose[] = INCBIN_U32("graphics/pokemon/back_pics/zangoose_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Zangoose[] = INCBIN_U32("graphics/pokemon/palettes/zangoose_shiny_palette.gbapal.lz");
const u8 gMonIcon_Zangoose[] = INCBIN_U8("graphics/pokemon/icons/zangoose_icon.4bpp");
const u8 gMonFootprint_Zangoose[] = INCBIN_U8("graphics/pokemon/footprints/zangoose_footprint.1bpp");
-const u8 gMonStillFrontPic_Relicanth[] = INCBIN_U8("graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Relicanth[] = INCBIN_U8("graphics/pokemon/palettes/relicanth_palette.gbapal.lz");
-const u8 gMonBackPic_Relicanth[] = INCBIN_U8("graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Relicanth[] = INCBIN_U8("graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Relicanth[] = INCBIN_U32("graphics/pokemon/front_pics/relicanth_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/palettes/relicanth_palette.gbapal.lz");
+const u32 gMonBackPic_Relicanth[] = INCBIN_U32("graphics/pokemon/back_pics/relicanth_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Relicanth[] = INCBIN_U32("graphics/pokemon/palettes/relicanth_shiny_palette.gbapal.lz");
const u8 gMonIcon_Relicanth[] = INCBIN_U8("graphics/pokemon/icons/relicanth_icon.4bpp");
const u8 gMonFootprint_Relicanth[] = INCBIN_U8("graphics/pokemon/footprints/relicanth_footprint.1bpp");
-const u8 gMonStillFrontPic_Aron[] = INCBIN_U8("graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Aron[] = INCBIN_U8("graphics/pokemon/palettes/aron_palette.gbapal.lz");
-const u8 gMonBackPic_Aron[] = INCBIN_U8("graphics/pokemon/back_pics/aron_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Aron[] = INCBIN_U8("graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/front_pics/aron_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Aron[] = INCBIN_U32("graphics/pokemon/palettes/aron_palette.gbapal.lz");
+const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/back_pics/aron_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Aron[] = INCBIN_U32("graphics/pokemon/palettes/aron_shiny_palette.gbapal.lz");
const u8 gMonIcon_Aron[] = INCBIN_U8("graphics/pokemon/icons/aron_icon.4bpp");
const u8 gMonFootprint_Aron[] = INCBIN_U8("graphics/pokemon/footprints/aron_footprint.1bpp");
-const u8 gMonStillFrontPic_Lairon[] = INCBIN_U8("graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lairon[] = INCBIN_U8("graphics/pokemon/palettes/lairon_palette.gbapal.lz");
-const u8 gMonBackPic_Lairon[] = INCBIN_U8("graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lairon[] = INCBIN_U8("graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/front_pics/lairon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lairon[] = INCBIN_U32("graphics/pokemon/palettes/lairon_palette.gbapal.lz");
+const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/back_pics/lairon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lairon[] = INCBIN_U32("graphics/pokemon/palettes/lairon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lairon[] = INCBIN_U8("graphics/pokemon/icons/lairon_icon.4bpp");
const u8 gMonFootprint_Lairon[] = INCBIN_U8("graphics/pokemon/footprints/lairon_footprint.1bpp");
-const u8 gMonStillFrontPic_Aggron[] = INCBIN_U8("graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Aggron[] = INCBIN_U8("graphics/pokemon/palettes/aggron_palette.gbapal.lz");
-const u8 gMonBackPic_Aggron[] = INCBIN_U8("graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Aggron[] = INCBIN_U8("graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/front_pics/aggron_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Aggron[] = INCBIN_U32("graphics/pokemon/palettes/aggron_palette.gbapal.lz");
+const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/back_pics/aggron_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Aggron[] = INCBIN_U32("graphics/pokemon/palettes/aggron_shiny_palette.gbapal.lz");
const u8 gMonIcon_Aggron[] = INCBIN_U8("graphics/pokemon/icons/aggron_icon.4bpp");
const u8 gMonFootprint_Aggron[] = INCBIN_U8("graphics/pokemon/footprints/aggron_footprint.1bpp");
-const u8 gMonStillFrontPic_Castform[] = INCBIN_U8("graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Castform[] = INCBIN_U8("graphics/pokemon/palettes/castform_palette.gbapal.lz");
-const u8 gMonBackPic_Castform[] = INCBIN_U8("graphics/pokemon/back_pics/castform_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Castform[] = INCBIN_U8("graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/front_pics/castform_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Castform[] = INCBIN_U32("graphics/pokemon/palettes/castform_palette.gbapal.lz");
+const u32 gMonBackPic_Castform[] = INCBIN_U32("graphics/pokemon/back_pics/castform_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Castform[] = INCBIN_U32("graphics/pokemon/palettes/castform_shiny_palette.gbapal.lz");
const u8 gMonIcon_Castform[] = INCBIN_U8("graphics/pokemon/icons/castform_icon.4bpp");
const u8 gMonFootprint_Castform[] = INCBIN_U8("graphics/pokemon/footprints/castform_footprint.1bpp");
-const u8 gMonStillFrontPic_Volbeat[] = INCBIN_U8("graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Volbeat[] = INCBIN_U8("graphics/pokemon/palettes/volbeat_palette.gbapal.lz");
-const u8 gMonBackPic_Volbeat[] = INCBIN_U8("graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Volbeat[] = INCBIN_U8("graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Volbeat[] = INCBIN_U32("graphics/pokemon/front_pics/volbeat_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/palettes/volbeat_palette.gbapal.lz");
+const u32 gMonBackPic_Volbeat[] = INCBIN_U32("graphics/pokemon/back_pics/volbeat_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Volbeat[] = INCBIN_U32("graphics/pokemon/palettes/volbeat_shiny_palette.gbapal.lz");
const u8 gMonIcon_Volbeat[] = INCBIN_U8("graphics/pokemon/icons/volbeat_icon.4bpp");
const u8 gMonFootprint_Volbeat[] = INCBIN_U8("graphics/pokemon/footprints/volbeat_footprint.1bpp");
-const u8 gMonStillFrontPic_Illumise[] = INCBIN_U8("graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Illumise[] = INCBIN_U8("graphics/pokemon/palettes/illumise_palette.gbapal.lz");
-const u8 gMonBackPic_Illumise[] = INCBIN_U8("graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Illumise[] = INCBIN_U8("graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Illumise[] = INCBIN_U32("graphics/pokemon/front_pics/illumise_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Illumise[] = INCBIN_U32("graphics/pokemon/palettes/illumise_palette.gbapal.lz");
+const u32 gMonBackPic_Illumise[] = INCBIN_U32("graphics/pokemon/back_pics/illumise_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Illumise[] = INCBIN_U32("graphics/pokemon/palettes/illumise_shiny_palette.gbapal.lz");
const u8 gMonIcon_Illumise[] = INCBIN_U8("graphics/pokemon/icons/illumise_icon.4bpp");
const u8 gMonFootprint_Illumise[] = INCBIN_U8("graphics/pokemon/footprints/illumise_footprint.1bpp");
-const u8 gMonStillFrontPic_Lileep[] = INCBIN_U8("graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Lileep[] = INCBIN_U8("graphics/pokemon/palettes/lileep_palette.gbapal.lz");
-const u8 gMonBackPic_Lileep[] = INCBIN_U8("graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Lileep[] = INCBIN_U8("graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Lileep[] = INCBIN_U32("graphics/pokemon/front_pics/lileep_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Lileep[] = INCBIN_U32("graphics/pokemon/palettes/lileep_palette.gbapal.lz");
+const u32 gMonBackPic_Lileep[] = INCBIN_U32("graphics/pokemon/back_pics/lileep_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Lileep[] = INCBIN_U32("graphics/pokemon/palettes/lileep_shiny_palette.gbapal.lz");
const u8 gMonIcon_Lileep[] = INCBIN_U8("graphics/pokemon/icons/lileep_icon.4bpp");
const u8 gMonFootprint_Lileep[] = INCBIN_U8("graphics/pokemon/footprints/lileep_footprint.1bpp");
-const u8 gMonStillFrontPic_Cradily[] = INCBIN_U8("graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Cradily[] = INCBIN_U8("graphics/pokemon/palettes/cradily_palette.gbapal.lz");
-const u8 gMonBackPic_Cradily[] = INCBIN_U8("graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Cradily[] = INCBIN_U8("graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Cradily[] = INCBIN_U32("graphics/pokemon/front_pics/cradily_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Cradily[] = INCBIN_U32("graphics/pokemon/palettes/cradily_palette.gbapal.lz");
+const u32 gMonBackPic_Cradily[] = INCBIN_U32("graphics/pokemon/back_pics/cradily_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Cradily[] = INCBIN_U32("graphics/pokemon/palettes/cradily_shiny_palette.gbapal.lz");
const u8 gMonIcon_Cradily[] = INCBIN_U8("graphics/pokemon/icons/cradily_icon.4bpp");
const u8 gMonFootprint_Cradily[] = INCBIN_U8("graphics/pokemon/footprints/cradily_footprint.1bpp");
-const u8 gMonStillFrontPic_Anorith[] = INCBIN_U8("graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Anorith[] = INCBIN_U8("graphics/pokemon/palettes/anorith_palette.gbapal.lz");
-const u8 gMonBackPic_Anorith[] = INCBIN_U8("graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Anorith[] = INCBIN_U8("graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/front_pics/anorith_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Anorith[] = INCBIN_U32("graphics/pokemon/palettes/anorith_palette.gbapal.lz");
+const u32 gMonBackPic_Anorith[] = INCBIN_U32("graphics/pokemon/back_pics/anorith_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Anorith[] = INCBIN_U32("graphics/pokemon/palettes/anorith_shiny_palette.gbapal.lz");
const u8 gMonIcon_Anorith[] = INCBIN_U8("graphics/pokemon/icons/anorith_icon.4bpp");
const u8 gMonFootprint_Anorith[] = INCBIN_U8("graphics/pokemon/footprints/anorith_footprint.1bpp");
-const u8 gMonStillFrontPic_Armaldo[] = INCBIN_U8("graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Armaldo[] = INCBIN_U8("graphics/pokemon/palettes/armaldo_palette.gbapal.lz");
-const u8 gMonBackPic_Armaldo[] = INCBIN_U8("graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Armaldo[] = INCBIN_U8("graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/front_pics/armaldo_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/palettes/armaldo_palette.gbapal.lz");
+const u32 gMonBackPic_Armaldo[] = INCBIN_U32("graphics/pokemon/back_pics/armaldo_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Armaldo[] = INCBIN_U32("graphics/pokemon/palettes/armaldo_shiny_palette.gbapal.lz");
const u8 gMonIcon_Armaldo[] = INCBIN_U8("graphics/pokemon/icons/armaldo_icon.4bpp");
const u8 gMonFootprint_Armaldo[] = INCBIN_U8("graphics/pokemon/footprints/armaldo_footprint.1bpp");
-const u8 gMonStillFrontPic_Ralts[] = INCBIN_U8("graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Ralts[] = INCBIN_U8("graphics/pokemon/palettes/ralts_palette.gbapal.lz");
-const u8 gMonBackPic_Ralts[] = INCBIN_U8("graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Ralts[] = INCBIN_U8("graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Ralts[] = INCBIN_U32("graphics/pokemon/front_pics/ralts_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Ralts[] = INCBIN_U32("graphics/pokemon/palettes/ralts_palette.gbapal.lz");
+const u32 gMonBackPic_Ralts[] = INCBIN_U32("graphics/pokemon/back_pics/ralts_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Ralts[] = INCBIN_U32("graphics/pokemon/palettes/ralts_shiny_palette.gbapal.lz");
const u8 gMonIcon_Ralts[] = INCBIN_U8("graphics/pokemon/icons/ralts_icon.4bpp");
const u8 gMonFootprint_Ralts[] = INCBIN_U8("graphics/pokemon/footprints/ralts_footprint.1bpp");
-const u8 gMonStillFrontPic_Kirlia[] = INCBIN_U8("graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kirlia[] = INCBIN_U8("graphics/pokemon/palettes/kirlia_palette.gbapal.lz");
-const u8 gMonBackPic_Kirlia[] = INCBIN_U8("graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kirlia[] = INCBIN_U8("graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kirlia[] = INCBIN_U32("graphics/pokemon/front_pics/kirlia_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/palettes/kirlia_palette.gbapal.lz");
+const u32 gMonBackPic_Kirlia[] = INCBIN_U32("graphics/pokemon/back_pics/kirlia_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kirlia[] = INCBIN_U32("graphics/pokemon/palettes/kirlia_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kirlia[] = INCBIN_U8("graphics/pokemon/icons/kirlia_icon.4bpp");
const u8 gMonFootprint_Kirlia[] = INCBIN_U8("graphics/pokemon/footprints/kirlia_footprint.1bpp");
-const u8 gMonStillFrontPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Gardevoir[] = INCBIN_U8("graphics/pokemon/palettes/gardevoir_palette.gbapal.lz");
-const u8 gMonBackPic_Gardevoir[] = INCBIN_U8("graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Gardevoir[] = INCBIN_U8("graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/front_pics/gardevoir_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/palettes/gardevoir_palette.gbapal.lz");
+const u32 gMonBackPic_Gardevoir[] = INCBIN_U32("graphics/pokemon/back_pics/gardevoir_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Gardevoir[] = INCBIN_U32("graphics/pokemon/palettes/gardevoir_shiny_palette.gbapal.lz");
const u8 gMonIcon_Gardevoir[] = INCBIN_U8("graphics/pokemon/icons/gardevoir_icon.4bpp");
const u8 gMonFootprint_Gardevoir[] = INCBIN_U8("graphics/pokemon/footprints/gardevoir_footprint.1bpp");
-const u8 gMonStillFrontPic_Bagon[] = INCBIN_U8("graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Bagon[] = INCBIN_U8("graphics/pokemon/palettes/bagon_palette.gbapal.lz");
-const u8 gMonBackPic_Bagon[] = INCBIN_U8("graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Bagon[] = INCBIN_U8("graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Bagon[] = INCBIN_U32("graphics/pokemon/front_pics/bagon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Bagon[] = INCBIN_U32("graphics/pokemon/palettes/bagon_palette.gbapal.lz");
+const u32 gMonBackPic_Bagon[] = INCBIN_U32("graphics/pokemon/back_pics/bagon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Bagon[] = INCBIN_U32("graphics/pokemon/palettes/bagon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Bagon[] = INCBIN_U8("graphics/pokemon/icons/bagon_icon.4bpp");
const u8 gMonFootprint_Bagon[] = INCBIN_U8("graphics/pokemon/footprints/bagon_footprint.1bpp");
-const u8 gMonStillFrontPic_Shelgon[] = INCBIN_U8("graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Shelgon[] = INCBIN_U8("graphics/pokemon/palettes/shelgon_palette.gbapal.lz");
-const u8 gMonBackPic_Shelgon[] = INCBIN_U8("graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Shelgon[] = INCBIN_U8("graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Shelgon[] = INCBIN_U32("graphics/pokemon/front_pics/shelgon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/palettes/shelgon_palette.gbapal.lz");
+const u32 gMonBackPic_Shelgon[] = INCBIN_U32("graphics/pokemon/back_pics/shelgon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Shelgon[] = INCBIN_U32("graphics/pokemon/palettes/shelgon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Shelgon[] = INCBIN_U8("graphics/pokemon/icons/shelgon_icon.4bpp");
const u8 gMonFootprint_Shelgon[] = INCBIN_U8("graphics/pokemon/footprints/shelgon_footprint.1bpp");
-const u8 gMonStillFrontPic_Salamence[] = INCBIN_U8("graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Salamence[] = INCBIN_U8("graphics/pokemon/palettes/salamence_palette.gbapal.lz");
-const u8 gMonBackPic_Salamence[] = INCBIN_U8("graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Salamence[] = INCBIN_U8("graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Salamence[] = INCBIN_U32("graphics/pokemon/front_pics/salamence_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Salamence[] = INCBIN_U32("graphics/pokemon/palettes/salamence_palette.gbapal.lz");
+const u32 gMonBackPic_Salamence[] = INCBIN_U32("graphics/pokemon/back_pics/salamence_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Salamence[] = INCBIN_U32("graphics/pokemon/palettes/salamence_shiny_palette.gbapal.lz");
const u8 gMonIcon_Salamence[] = INCBIN_U8("graphics/pokemon/icons/salamence_icon.4bpp");
const u8 gMonFootprint_Salamence[] = INCBIN_U8("graphics/pokemon/footprints/salamence_footprint.1bpp");
-const u8 gMonStillFrontPic_Beldum[] = INCBIN_U8("graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Beldum[] = INCBIN_U8("graphics/pokemon/palettes/beldum_palette.gbapal.lz");
-const u8 gMonBackPic_Beldum[] = INCBIN_U8("graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Beldum[] = INCBIN_U8("graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Beldum[] = INCBIN_U32("graphics/pokemon/front_pics/beldum_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Beldum[] = INCBIN_U32("graphics/pokemon/palettes/beldum_palette.gbapal.lz");
+const u32 gMonBackPic_Beldum[] = INCBIN_U32("graphics/pokemon/back_pics/beldum_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Beldum[] = INCBIN_U32("graphics/pokemon/palettes/beldum_shiny_palette.gbapal.lz");
const u8 gMonIcon_Beldum[] = INCBIN_U8("graphics/pokemon/icons/beldum_icon.4bpp");
const u8 gMonFootprint_Beldum[] = INCBIN_U8("graphics/pokemon/footprints/beldum_footprint.1bpp");
-const u8 gMonStillFrontPic_Metang[] = INCBIN_U8("graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Metang[] = INCBIN_U8("graphics/pokemon/palettes/metang_palette.gbapal.lz");
-const u8 gMonBackPic_Metang[] = INCBIN_U8("graphics/pokemon/back_pics/metang_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Metang[] = INCBIN_U8("graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Metang[] = INCBIN_U32("graphics/pokemon/front_pics/metang_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Metang[] = INCBIN_U32("graphics/pokemon/palettes/metang_palette.gbapal.lz");
+const u32 gMonBackPic_Metang[] = INCBIN_U32("graphics/pokemon/back_pics/metang_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Metang[] = INCBIN_U32("graphics/pokemon/palettes/metang_shiny_palette.gbapal.lz");
const u8 gMonIcon_Metang[] = INCBIN_U8("graphics/pokemon/icons/metang_icon.4bpp");
const u8 gMonFootprint_Metang[] = INCBIN_U8("graphics/pokemon/footprints/metang_footprint.1bpp");
-const u8 gMonStillFrontPic_Metagross[] = INCBIN_U8("graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Metagross[] = INCBIN_U8("graphics/pokemon/palettes/metagross_palette.gbapal.lz");
-const u8 gMonBackPic_Metagross[] = INCBIN_U8("graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Metagross[] = INCBIN_U8("graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Metagross[] = INCBIN_U32("graphics/pokemon/front_pics/metagross_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Metagross[] = INCBIN_U32("graphics/pokemon/palettes/metagross_palette.gbapal.lz");
+const u32 gMonBackPic_Metagross[] = INCBIN_U32("graphics/pokemon/back_pics/metagross_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Metagross[] = INCBIN_U32("graphics/pokemon/palettes/metagross_shiny_palette.gbapal.lz");
const u8 gMonIcon_Metagross[] = INCBIN_U8("graphics/pokemon/icons/metagross_icon.4bpp");
const u8 gMonFootprint_Metagross[] = INCBIN_U8("graphics/pokemon/footprints/metagross_footprint.1bpp");
-const u8 gMonStillFrontPic_Regirock[] = INCBIN_U8("graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Regirock[] = INCBIN_U8("graphics/pokemon/palettes/regirock_palette.gbapal.lz");
-const u8 gMonBackPic_Regirock[] = INCBIN_U8("graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Regirock[] = INCBIN_U8("graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Regirock[] = INCBIN_U32("graphics/pokemon/front_pics/regirock_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Regirock[] = INCBIN_U32("graphics/pokemon/palettes/regirock_palette.gbapal.lz");
+const u32 gMonBackPic_Regirock[] = INCBIN_U32("graphics/pokemon/back_pics/regirock_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Regirock[] = INCBIN_U32("graphics/pokemon/palettes/regirock_shiny_palette.gbapal.lz");
const u8 gMonIcon_Regirock[] = INCBIN_U8("graphics/pokemon/icons/regirock_icon.4bpp");
const u8 gMonFootprint_Regirock[] = INCBIN_U8("graphics/pokemon/footprints/regirock_footprint.1bpp");
-const u8 gMonStillFrontPic_Regice[] = INCBIN_U8("graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Regice[] = INCBIN_U8("graphics/pokemon/palettes/regice_palette.gbapal.lz");
-const u8 gMonBackPic_Regice[] = INCBIN_U8("graphics/pokemon/back_pics/regice_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Regice[] = INCBIN_U8("graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Regice[] = INCBIN_U32("graphics/pokemon/front_pics/regice_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Regice[] = INCBIN_U32("graphics/pokemon/palettes/regice_palette.gbapal.lz");
+const u32 gMonBackPic_Regice[] = INCBIN_U32("graphics/pokemon/back_pics/regice_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Regice[] = INCBIN_U32("graphics/pokemon/palettes/regice_shiny_palette.gbapal.lz");
const u8 gMonIcon_Regice[] = INCBIN_U8("graphics/pokemon/icons/regice_icon.4bpp");
const u8 gMonFootprint_Regice[] = INCBIN_U8("graphics/pokemon/footprints/regice_footprint.1bpp");
-const u8 gMonStillFrontPic_Registeel[] = INCBIN_U8("graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Registeel[] = INCBIN_U8("graphics/pokemon/palettes/registeel_palette.gbapal.lz");
-const u8 gMonBackPic_Registeel[] = INCBIN_U8("graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Registeel[] = INCBIN_U8("graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Registeel[] = INCBIN_U32("graphics/pokemon/front_pics/registeel_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Registeel[] = INCBIN_U32("graphics/pokemon/palettes/registeel_palette.gbapal.lz");
+const u32 gMonBackPic_Registeel[] = INCBIN_U32("graphics/pokemon/back_pics/registeel_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Registeel[] = INCBIN_U32("graphics/pokemon/palettes/registeel_shiny_palette.gbapal.lz");
const u8 gMonIcon_Registeel[] = INCBIN_U8("graphics/pokemon/icons/registeel_icon.4bpp");
const u8 gMonFootprint_Registeel[] = INCBIN_U8("graphics/pokemon/footprints/registeel_footprint.1bpp");
-const u8 gMonStillFrontPic_Kyogre[] = INCBIN_U8("graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Kyogre[] = INCBIN_U8("graphics/pokemon/palettes/kyogre_palette.gbapal.lz");
-const u8 gMonBackPic_Kyogre[] = INCBIN_U8("graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Kyogre[] = INCBIN_U8("graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Kyogre[] = INCBIN_U32("graphics/pokemon/front_pics/kyogre_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/palettes/kyogre_palette.gbapal.lz");
+const u32 gMonBackPic_Kyogre[] = INCBIN_U32("graphics/pokemon/back_pics/kyogre_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Kyogre[] = INCBIN_U32("graphics/pokemon/palettes/kyogre_shiny_palette.gbapal.lz");
const u8 gMonIcon_Kyogre[] = INCBIN_U8("graphics/pokemon/icons/kyogre_icon.4bpp");
const u8 gMonFootprint_Kyogre[] = INCBIN_U8("graphics/pokemon/footprints/kyogre_footprint.1bpp");
-const u8 gMonStillFrontPic_Groudon[] = INCBIN_U8("graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Groudon[] = INCBIN_U8("graphics/pokemon/palettes/groudon_palette.gbapal.lz");
-const u8 gMonBackPic_Groudon[] = INCBIN_U8("graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Groudon[] = INCBIN_U8("graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Groudon[] = INCBIN_U32("graphics/pokemon/front_pics/groudon_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Groudon[] = INCBIN_U32("graphics/pokemon/palettes/groudon_palette.gbapal.lz");
+const u32 gMonBackPic_Groudon[] = INCBIN_U32("graphics/pokemon/back_pics/groudon_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Groudon[] = INCBIN_U32("graphics/pokemon/palettes/groudon_shiny_palette.gbapal.lz");
const u8 gMonIcon_Groudon[] = INCBIN_U8("graphics/pokemon/icons/groudon_icon.4bpp");
const u8 gMonFootprint_Groudon[] = INCBIN_U8("graphics/pokemon/footprints/groudon_footprint.1bpp");
-const u8 gMonStillFrontPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Rayquaza[] = INCBIN_U8("graphics/pokemon/palettes/rayquaza_palette.gbapal.lz");
-const u8 gMonBackPic_Rayquaza[] = INCBIN_U8("graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Rayquaza[] = INCBIN_U8("graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/front_pics/rayquaza_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/palettes/rayquaza_palette.gbapal.lz");
+const u32 gMonBackPic_Rayquaza[] = INCBIN_U32("graphics/pokemon/back_pics/rayquaza_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Rayquaza[] = INCBIN_U32("graphics/pokemon/palettes/rayquaza_shiny_palette.gbapal.lz");
const u8 gMonIcon_Rayquaza[] = INCBIN_U8("graphics/pokemon/icons/rayquaza_icon.4bpp");
const u8 gMonFootprint_Rayquaza[] = INCBIN_U8("graphics/pokemon/footprints/rayquaza_footprint.1bpp");
-const u8 gMonStillFrontPic_Latias[] = INCBIN_U8("graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Latias[] = INCBIN_U8("graphics/pokemon/palettes/latias_palette.gbapal.lz");
-const u8 gMonBackPic_Latias[] = INCBIN_U8("graphics/pokemon/back_pics/latias_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Latias[] = INCBIN_U8("graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Latias[] = INCBIN_U32("graphics/pokemon/front_pics/latias_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Latias[] = INCBIN_U32("graphics/pokemon/palettes/latias_palette.gbapal.lz");
+const u32 gMonBackPic_Latias[] = INCBIN_U32("graphics/pokemon/back_pics/latias_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Latias[] = INCBIN_U32("graphics/pokemon/palettes/latias_shiny_palette.gbapal.lz");
const u8 gMonIcon_Latias[] = INCBIN_U8("graphics/pokemon/icons/latias_icon.4bpp");
const u8 gMonFootprint_Latias[] = INCBIN_U8("graphics/pokemon/footprints/latias_footprint.1bpp");
-const u8 gMonStillFrontPic_Latios[] = INCBIN_U8("graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Latios[] = INCBIN_U8("graphics/pokemon/palettes/latios_palette.gbapal.lz");
-const u8 gMonBackPic_Latios[] = INCBIN_U8("graphics/pokemon/back_pics/latios_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Latios[] = INCBIN_U8("graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Latios[] = INCBIN_U32("graphics/pokemon/front_pics/latios_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Latios[] = INCBIN_U32("graphics/pokemon/palettes/latios_palette.gbapal.lz");
+const u32 gMonBackPic_Latios[] = INCBIN_U32("graphics/pokemon/back_pics/latios_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Latios[] = INCBIN_U32("graphics/pokemon/palettes/latios_shiny_palette.gbapal.lz");
const u8 gMonIcon_Latios[] = INCBIN_U8("graphics/pokemon/icons/latios_icon.4bpp");
const u8 gMonFootprint_Latios[] = INCBIN_U8("graphics/pokemon/footprints/latios_footprint.1bpp");
-const u8 gMonStillFrontPic_Jirachi[] = INCBIN_U8("graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Jirachi[] = INCBIN_U8("graphics/pokemon/palettes/jirachi_palette.gbapal.lz");
-const u8 gMonBackPic_Jirachi[] = INCBIN_U8("graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Jirachi[] = INCBIN_U8("graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Jirachi[] = INCBIN_U32("graphics/pokemon/front_pics/jirachi_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/palettes/jirachi_palette.gbapal.lz");
+const u32 gMonBackPic_Jirachi[] = INCBIN_U32("graphics/pokemon/back_pics/jirachi_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Jirachi[] = INCBIN_U32("graphics/pokemon/palettes/jirachi_shiny_palette.gbapal.lz");
const u8 gMonIcon_Jirachi[] = INCBIN_U8("graphics/pokemon/icons/jirachi_icon.4bpp");
const u8 gMonFootprint_Jirachi[] = INCBIN_U8("graphics/pokemon/footprints/jirachi_footprint.1bpp");
-const u8 gMonStillFrontPic_Deoxys[] = INCBIN_U8("graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Deoxys[] = INCBIN_U8("graphics/pokemon/palettes/deoxys_palette.gbapal.lz");
-const u8 gMonBackPic_Deoxys[] = INCBIN_U8("graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Deoxys[] = INCBIN_U8("graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Deoxys[] = INCBIN_U32("graphics/pokemon/front_pics/deoxys_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/palettes/deoxys_palette.gbapal.lz");
+const u32 gMonBackPic_Deoxys[] = INCBIN_U32("graphics/pokemon/back_pics/deoxys_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Deoxys[] = INCBIN_U32("graphics/pokemon/palettes/deoxys_shiny_palette.gbapal.lz");
const u8 gMonIcon_Deoxys[] = INCBIN_U8("graphics/pokemon/icons/deoxys_icon.4bpp");
const u8 gMonIcon_DeoxysSpeed[] = INCBIN_U8("graphics/pokemon/icons/deoxys_speed_icon.4bpp");
const u8 gMonIcon_DeoxysSpeedWide[] = INCBIN_U8("graphics/unused/deoxys_speed_icon_wide.4bpp");
@@ -2704,120 +2704,120 @@ const u16 gUnknown_D437F8[] = INCBIN_U16("graphics/unknown/unknown_D437F8.bin");
const u8 gMonFootprint_Deoxys[] = INCBIN_U8("graphics/pokemon/footprints/deoxys_footprint.1bpp");
-const u8 gMonStillFrontPic_Chimecho[] = INCBIN_U8("graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Chimecho[] = INCBIN_U8("graphics/pokemon/palettes/chimecho_palette.gbapal.lz");
-const u8 gMonBackPic_Chimecho[] = INCBIN_U8("graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz");
-const u8 gMonShinyPalette_Chimecho[] = INCBIN_U8("graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Chimecho[] = INCBIN_U32("graphics/pokemon/front_pics/chimecho_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/palettes/chimecho_palette.gbapal.lz");
+const u32 gMonBackPic_Chimecho[] = INCBIN_U32("graphics/pokemon/back_pics/chimecho_back_pic.4bpp.lz");
+const u32 gMonShinyPalette_Chimecho[] = INCBIN_U32("graphics/pokemon/palettes/chimecho_shiny_palette.gbapal.lz");
const u8 gMonIcon_Chimecho[] = INCBIN_U8("graphics/pokemon/icons/chimecho_icon.4bpp");
const u8 gMonFootprint_Chimecho[] = INCBIN_U8("graphics/pokemon/footprints/chimecho_footprint.1bpp");
-const u8 gMonStillFrontPic_Egg[] = INCBIN_U8("graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz");
-const u8 gMonPalette_Egg[] = INCBIN_U8("graphics/pokemon/palettes/egg_palette.gbapal.lz");
+const u32 gMonStillFrontPic_Egg[] = INCBIN_U32("graphics/pokemon/front_pics/egg_still_front_pic.4bpp.lz");
+const u32 gMonPalette_Egg[] = INCBIN_U32("graphics/pokemon/palettes/egg_palette.gbapal.lz");
-const u8 gMonStillFrontPic_UnownB[] = INCBIN_U8("graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownB[] = INCBIN_U8("graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownB[] = INCBIN_U32("graphics/pokemon/front_pics/unown_b_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownB[] = INCBIN_U32("graphics/pokemon/back_pics/unown_b_back_pic.4bpp.lz");
const u8 gMonIcon_UnownB[] = INCBIN_U8("graphics/pokemon/icons/unown_B_icon.4bpp");
-const u8 gMonStillFrontPic_UnownC[] = INCBIN_U8("graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownC[] = INCBIN_U8("graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownC[] = INCBIN_U32("graphics/pokemon/front_pics/unown_c_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownC[] = INCBIN_U32("graphics/pokemon/back_pics/unown_c_back_pic.4bpp.lz");
const u8 gMonIcon_UnownC[] = INCBIN_U8("graphics/pokemon/icons/unown_C_icon.4bpp");
-const u8 gMonStillFrontPic_UnownD[] = INCBIN_U8("graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownD[] = INCBIN_U8("graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownD[] = INCBIN_U32("graphics/pokemon/front_pics/unown_d_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownD[] = INCBIN_U32("graphics/pokemon/back_pics/unown_d_back_pic.4bpp.lz");
const u8 gMonIcon_UnownD[] = INCBIN_U8("graphics/pokemon/icons/unown_D_icon.4bpp");
-const u8 gMonStillFrontPic_UnownE[] = INCBIN_U8("graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownE[] = INCBIN_U8("graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownE[] = INCBIN_U32("graphics/pokemon/front_pics/unown_e_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownE[] = INCBIN_U32("graphics/pokemon/back_pics/unown_e_back_pic.4bpp.lz");
const u8 gMonIcon_UnownE[] = INCBIN_U8("graphics/pokemon/icons/unown_E_icon.4bpp");
-const u8 gMonStillFrontPic_UnownF[] = INCBIN_U8("graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownF[] = INCBIN_U8("graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownF[] = INCBIN_U32("graphics/pokemon/front_pics/unown_f_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownF[] = INCBIN_U32("graphics/pokemon/back_pics/unown_f_back_pic.4bpp.lz");
const u8 gMonIcon_UnownF[] = INCBIN_U8("graphics/pokemon/icons/unown_F_icon.4bpp");
-const u8 gMonStillFrontPic_UnownG[] = INCBIN_U8("graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownG[] = INCBIN_U8("graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownG[] = INCBIN_U32("graphics/pokemon/front_pics/unown_g_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownG[] = INCBIN_U32("graphics/pokemon/back_pics/unown_g_back_pic.4bpp.lz");
const u8 gMonIcon_UnownG[] = INCBIN_U8("graphics/pokemon/icons/unown_G_icon.4bpp");
-const u8 gMonStillFrontPic_UnownH[] = INCBIN_U8("graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownH[] = INCBIN_U8("graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownH[] = INCBIN_U32("graphics/pokemon/front_pics/unown_h_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownH[] = INCBIN_U32("graphics/pokemon/back_pics/unown_h_back_pic.4bpp.lz");
const u8 gMonIcon_UnownH[] = INCBIN_U8("graphics/pokemon/icons/unown_H_icon.4bpp");
-const u8 gMonStillFrontPic_UnownI[] = INCBIN_U8("graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownI[] = INCBIN_U8("graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownI[] = INCBIN_U32("graphics/pokemon/front_pics/unown_i_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownI[] = INCBIN_U32("graphics/pokemon/back_pics/unown_i_back_pic.4bpp.lz");
const u8 gMonIcon_UnownI[] = INCBIN_U8("graphics/pokemon/icons/unown_I_icon.4bpp");
-const u8 gMonStillFrontPic_UnownJ[] = INCBIN_U8("graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownJ[] = INCBIN_U8("graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownJ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_j_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownJ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_j_back_pic.4bpp.lz");
const u8 gMonIcon_UnownJ[] = INCBIN_U8("graphics/pokemon/icons/unown_J_icon.4bpp");
-const u8 gMonStillFrontPic_UnownK[] = INCBIN_U8("graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownK[] = INCBIN_U8("graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownK[] = INCBIN_U32("graphics/pokemon/front_pics/unown_k_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownK[] = INCBIN_U32("graphics/pokemon/back_pics/unown_k_back_pic.4bpp.lz");
const u8 gMonIcon_UnownK[] = INCBIN_U8("graphics/pokemon/icons/unown_K_icon.4bpp");
-const u8 gMonStillFrontPic_UnownL[] = INCBIN_U8("graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownL[] = INCBIN_U8("graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownL[] = INCBIN_U32("graphics/pokemon/front_pics/unown_l_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownL[] = INCBIN_U32("graphics/pokemon/back_pics/unown_l_back_pic.4bpp.lz");
const u8 gMonIcon_UnownL[] = INCBIN_U8("graphics/pokemon/icons/unown_L_icon.4bpp");
-const u8 gMonStillFrontPic_UnownM[] = INCBIN_U8("graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownM[] = INCBIN_U8("graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownM[] = INCBIN_U32("graphics/pokemon/front_pics/unown_m_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownM[] = INCBIN_U32("graphics/pokemon/back_pics/unown_m_back_pic.4bpp.lz");
const u8 gMonIcon_UnownM[] = INCBIN_U8("graphics/pokemon/icons/unown_M_icon.4bpp");
-const u8 gMonStillFrontPic_UnownN[] = INCBIN_U8("graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownN[] = INCBIN_U8("graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownN[] = INCBIN_U32("graphics/pokemon/front_pics/unown_n_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownN[] = INCBIN_U32("graphics/pokemon/back_pics/unown_n_back_pic.4bpp.lz");
const u8 gMonIcon_UnownN[] = INCBIN_U8("graphics/pokemon/icons/unown_N_icon.4bpp");
-const u8 gMonStillFrontPic_UnownO[] = INCBIN_U8("graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownO[] = INCBIN_U8("graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownO[] = INCBIN_U32("graphics/pokemon/front_pics/unown_o_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownO[] = INCBIN_U32("graphics/pokemon/back_pics/unown_o_back_pic.4bpp.lz");
const u8 gMonIcon_UnownO[] = INCBIN_U8("graphics/pokemon/icons/unown_O_icon.4bpp");
-const u8 gMonStillFrontPic_UnownP[] = INCBIN_U8("graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownP[] = INCBIN_U8("graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownP[] = INCBIN_U32("graphics/pokemon/front_pics/unown_p_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownP[] = INCBIN_U32("graphics/pokemon/back_pics/unown_p_back_pic.4bpp.lz");
const u8 gMonIcon_UnownP[] = INCBIN_U8("graphics/pokemon/icons/unown_P_icon.4bpp");
-const u8 gMonStillFrontPic_UnownQ[] = INCBIN_U8("graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownQ[] = INCBIN_U8("graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownQ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_q_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownQ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_q_back_pic.4bpp.lz");
const u8 gMonIcon_UnownQ[] = INCBIN_U8("graphics/pokemon/icons/unown_Q_icon.4bpp");
-const u8 gMonStillFrontPic_UnownR[] = INCBIN_U8("graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownR[] = INCBIN_U8("graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownR[] = INCBIN_U32("graphics/pokemon/front_pics/unown_r_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownR[] = INCBIN_U32("graphics/pokemon/back_pics/unown_r_back_pic.4bpp.lz");
const u8 gMonIcon_UnownR[] = INCBIN_U8("graphics/pokemon/icons/unown_R_icon.4bpp");
-const u8 gMonStillFrontPic_UnownS[] = INCBIN_U8("graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownS[] = INCBIN_U8("graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownS[] = INCBIN_U32("graphics/pokemon/front_pics/unown_s_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownS[] = INCBIN_U32("graphics/pokemon/back_pics/unown_s_back_pic.4bpp.lz");
const u8 gMonIcon_UnownS[] = INCBIN_U8("graphics/pokemon/icons/unown_S_icon.4bpp");
-const u8 gMonStillFrontPic_UnownT[] = INCBIN_U8("graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownT[] = INCBIN_U8("graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownT[] = INCBIN_U32("graphics/pokemon/front_pics/unown_t_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownT[] = INCBIN_U32("graphics/pokemon/back_pics/unown_t_back_pic.4bpp.lz");
const u8 gMonIcon_UnownT[] = INCBIN_U8("graphics/pokemon/icons/unown_T_icon.4bpp");
-const u8 gMonStillFrontPic_UnownU[] = INCBIN_U8("graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownU[] = INCBIN_U8("graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownU[] = INCBIN_U32("graphics/pokemon/front_pics/unown_u_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownU[] = INCBIN_U32("graphics/pokemon/back_pics/unown_u_back_pic.4bpp.lz");
const u8 gMonIcon_UnownU[] = INCBIN_U8("graphics/pokemon/icons/unown_U_icon.4bpp");
-const u8 gMonStillFrontPic_UnownV[] = INCBIN_U8("graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownV[] = INCBIN_U8("graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownV[] = INCBIN_U32("graphics/pokemon/front_pics/unown_v_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownV[] = INCBIN_U32("graphics/pokemon/back_pics/unown_v_back_pic.4bpp.lz");
const u8 gMonIcon_UnownV[] = INCBIN_U8("graphics/pokemon/icons/unown_V_icon.4bpp");
-const u8 gMonStillFrontPic_UnownW[] = INCBIN_U8("graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownW[] = INCBIN_U8("graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownW[] = INCBIN_U32("graphics/pokemon/front_pics/unown_w_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownW[] = INCBIN_U32("graphics/pokemon/back_pics/unown_w_back_pic.4bpp.lz");
const u8 gMonIcon_UnownW[] = INCBIN_U8("graphics/pokemon/icons/unown_W_icon.4bpp");
-const u8 gMonStillFrontPic_UnownX[] = INCBIN_U8("graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownX[] = INCBIN_U8("graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownX[] = INCBIN_U32("graphics/pokemon/front_pics/unown_x_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownX[] = INCBIN_U32("graphics/pokemon/back_pics/unown_x_back_pic.4bpp.lz");
const u8 gMonIcon_UnownX[] = INCBIN_U8("graphics/pokemon/icons/unown_X_icon.4bpp");
-const u8 gMonStillFrontPic_UnownY[] = INCBIN_U8("graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownY[] = INCBIN_U8("graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/front_pics/unown_y_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownY[] = INCBIN_U32("graphics/pokemon/back_pics/unown_y_back_pic.4bpp.lz");
const u8 gMonIcon_UnownY[] = INCBIN_U8("graphics/pokemon/icons/unown_Y_icon.4bpp");
-const u8 gMonStillFrontPic_UnownZ[] = INCBIN_U8("graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownZ[] = INCBIN_U8("graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/front_pics/unown_z_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownZ[] = INCBIN_U32("graphics/pokemon/back_pics/unown_z_back_pic.4bpp.lz");
const u8 gMonIcon_UnownZ[] = INCBIN_U8("graphics/pokemon/icons/unown_Z_icon.4bpp");
-const u8 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/front_pics/unown_exclamation_mark_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/back_pics/unown_exclamation_mark_back_pic.4bpp.lz");
const u8 gMonIcon_UnownExclamationMark[] = INCBIN_U8("graphics/pokemon/icons/unown_exclamation_mark_icon.4bpp");
-const u8 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz");
+const u32 gMonStillFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/unown_question_mark_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/unown_question_mark_back_pic.4bpp.lz");
const u8 gMonIcon_UnownQuestionMark[] = INCBIN_U8("graphics/pokemon/icons/unown_question_mark_icon.4bpp");
diff --git a/src/data/graphics/rayquaza_scene.h b/src/data/graphics/rayquaza_scene.h
index 928a4f6f0..d0269980c 100644
--- a/src/data/graphics/rayquaza_scene.h
+++ b/src/data/graphics/rayquaza_scene.h
@@ -1,73 +1,73 @@
-const u8 gRaySceneGroudon_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon.4bpp.lz");
-const u8 gRaySceneGroudon2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz");
-const u8 gRaySceneGroudon3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_claw.4bpp.lz");
+const u32 gRaySceneGroudon_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon.4bpp.lz");
+const u32 gRaySceneGroudon2_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_shoulder.4bpp.lz");
+const u32 gRaySceneGroudon3_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_claw.4bpp.lz");
-const u8 gRaySceneKyogre_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.4bpp.lz");
-const u8 gRaySceneKyogre2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz");
-const u8 gRaySceneKyogre3_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_fin.4bpp.lz");
+const u32 gRaySceneKyogre_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre.4bpp.lz");
+const u32 gRaySceneKyogre2_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_shoulder.4bpp.lz");
+const u32 gRaySceneKyogre3_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_fin.4bpp.lz");
-const u8 gRaySceneGroudon_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon.gbapal.lz");
-const u8 gRaySceneKyogre_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre.gbapal.lz");
+const u32 gRaySceneGroudon_Pal[] = INCBIN_U32("graphics/rayquaza_scene/groudon.gbapal.lz");
+const u32 gRaySceneKyogre_Pal[] = INCBIN_U32("graphics/rayquaza_scene/kyogre.gbapal.lz");
-const u8 gRaySceneClouds_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/clouds.4bpp.lz");
-const u8 gRaySceneClouds_Pal[] = INCBIN_U8("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain
-const u16 gRaySceneClouds1_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds1.bin.lz");
-const u16 gRaySceneClouds2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds2.bin.lz");
-const u16 gRaySceneClouds3_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/clouds3.bin.lz");
+const u32 gRaySceneClouds_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/clouds.4bpp.lz");
+const u32 gRaySceneClouds_Pal[] = INCBIN_U32("graphics/rayquaza_scene/clouds.gbapal.lz"); // pal 1 clouds, pal 2 rain
+const u32 gRaySceneClouds1_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/clouds1.bin.lz");
+const u32 gRaySceneClouds2_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/clouds2.bin.lz");
+const u32 gRaySceneClouds3_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/clouds3.bin.lz");
-const u8 gRaySceneSmoke_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/smoke.4bpp.lz");
-const u8 gRaySceneSmoke_Pal[] = INCBIN_U8("graphics/rayquaza_scene/smoke.gbapal.lz");
+const u32 gRaySceneSmoke_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/smoke.4bpp.lz");
+const u32 gRaySceneSmoke_Pal[] = INCBIN_U32("graphics/rayquaza_scene/smoke.gbapal.lz");
-const u16 gRaySceneRayquaza_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.8bpp.lz");
-const u8 gRaySceneRayquaza_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza.gbapal.lz");
-const u16 gRaySceneRayquaza_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza.bin.lz");
+const u32 gRaySceneRayquaza_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza.8bpp.lz");
+const u32 gRaySceneRayquaza_Pal[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza.gbapal.lz");
+const u32 gRaySceneRayquaza_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza.bin.lz");
-const u8 gRaySceneOvercast_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal
-const u16 gRaySceneOvercast_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast.bin.lz");
+const u32 gRaySceneOvercast_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/overcast.4bpp.lz"); // uses pal 2 of gRaySceneRayquaza_Pal
+const u32 gRaySceneOvercast_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/overcast.bin.lz");
-const u8 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz");
-const u8 gRaySceneRayquazaTail_Gfx[] = INCBIN_U8( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software.
+const u32 gRaySceneRayquazaFly1_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_fly1.4bpp.lz");
+const u32 gRaySceneRayquazaTail_Gfx[] = INCBIN_U32( "graphics/rayquaza_scene/rayquaza_tail_fix.4bpp.lz"); // for some reason there are an extra 0xC bytes at the end of the original 4bpp, so in order to produce the correct lz, we have to cat the bytes at the end with a make rule. not sure why those bytes are there, it may have been a bug in Game Freak's software.
-const u8 gRaySceneOvercast2_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.4bpp.lz");
+const u32 gRaySceneOvercast2_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/overcast2.4bpp.lz");
-const u8 gRaySceneRayquazaLight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal
+const u32 gRaySceneRayquazaLight_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_light.4bpp.lz"); // uses pal 2 of gRaySceneOvercast2_Pal
-const u8 gRaySceneOvercast2_Pal[] = INCBIN_U8("graphics/rayquaza_scene/overcast2.gbapal.lz");
-const u16 gRaySceneOvercast2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/overcast2.bin.lz");
+const u32 gRaySceneOvercast2_Pal[] = INCBIN_U32("graphics/rayquaza_scene/overcast2.gbapal.lz");
+const u32 gRaySceneOvercast2_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/overcast2.bin.lz");
-const u8 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_light.bin.lz");
+const u32 gRaySceneRayquazaLight_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_light.bin.lz");
-const u8 gRaySceneChaseBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_bg.4bpp.lz");
-const u16 gRaySceneChaseBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_bg.bin.lz");
+const u32 gRaySceneChaseBg_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/chase_bg.4bpp.lz");
+const u32 gRaySceneChaseBg_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/chase_bg.bin.lz");
-const u8 gRaySceneChaseStreaks_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/chase_streaks.4bpp.lz");
-const u16 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/chase_streaks.bin.lz");
+const u32 gRaySceneChaseStreaks_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/chase_streaks.4bpp.lz");
+const u32 gRaySceneChaseStreaks_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/chase_streaks.bin.lz");
-const u8 gRaySceneRayquazaChase_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz");
-const u16 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase.bin.lz");
-const u16 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/rayquaza_chase2.bin.lz");
+const u32 gRaySceneRayquazaChase_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_chase.4bpp.lz");
+const u32 gRayChaseRayquazaChase_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_chase.bin.lz");
+const u32 gRayChaseRayquazaChase2_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_chase2.bin.lz");
-const u8 gRaySceneChase_Pal[] = INCBIN_U8("graphics/rayquaza_scene/chase.gbapal.lz");
+const u32 gRaySceneChase_Pal[] = INCBIN_U32("graphics/rayquaza_scene/chase.gbapal.lz");
-const u8 gRaySceneGroudonLeft_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.4bpp.lz");
-const u8 gRaySceneGroudonTail_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/groudon_tail.4bpp.lz");
+const u32 gRaySceneGroudonLeft_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_left.4bpp.lz");
+const u32 gRaySceneGroudonTail_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/groudon_tail.4bpp.lz");
-const u8 gRaySceneKyogreRight_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.4bpp.lz");
+const u32 gRaySceneKyogreRight_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_right.4bpp.lz");
-const u8 gRaySceneRayquazaHover_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz");
-const u8 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz");
+const u32 gRaySceneRayquazaHover_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_hover.4bpp.lz");
+const u32 gRaySceneRayquazaFlyIn_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_flyin.4bpp.lz");
-const u8 gRaySceneSplash_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/splash.4bpp.lz");
+const u32 gRaySceneSplash_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/splash.4bpp.lz");
-const u8 gRaySceneGroudonLeft_Pal[] = INCBIN_U8("graphics/rayquaza_scene/groudon_left.gbapal.lz");
-const u8 gRaySceneKyogreRight_Pal[] = INCBIN_U8("graphics/rayquaza_scene/kyogre_right.gbapal.lz");
-const u8 gRaySceneRayquazaHover_Pal[] = INCBIN_U8("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz");
+const u32 gRaySceneGroudonLeft_Pal[] = INCBIN_U32("graphics/rayquaza_scene/groudon_left.gbapal.lz");
+const u32 gRaySceneKyogreRight_Pal[] = INCBIN_U32("graphics/rayquaza_scene/kyogre_right.gbapal.lz");
+const u32 gRaySceneRayquazaHover_Pal[] = INCBIN_U32("graphics/rayquaza_scene/rayquaza_hover.gbapal.lz");
-const u8 gRaySceneSplash_Pal[] = INCBIN_U8("graphics/rayquaza_scene/splash.gbapal.lz");
+const u32 gRaySceneSplash_Pal[] = INCBIN_U32("graphics/rayquaza_scene/splash.gbapal.lz");
-const u8 gRaySceneHushBg_Gfx[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.4bpp.lz");
-const u16 gRaySceneHushRing_Gfx[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.8bpp.lz");
-const u16 gRaySceneHushBg_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_bg.bin.lz");
-const u16 gRaySceneHushRing_Tilemap[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring.bin.lz");
-const u16 gRaySceneHushRing_Map[] = INCBIN_U16("graphics/rayquaza_scene/hush_ring_map.bin.lz");
-const u8 gRaySceneHushBg_Pal[] = INCBIN_U8("graphics/rayquaza_scene/hush_bg.gbapal.lz");
+const u32 gRaySceneHushBg_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/hush_bg.4bpp.lz");
+const u32 gRaySceneHushRing_Gfx[] = INCBIN_U32("graphics/rayquaza_scene/hush_ring.8bpp.lz");
+const u32 gRaySceneHushBg_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/hush_bg.bin.lz");
+const u32 gRaySceneHushRing_Tilemap[] = INCBIN_U32("graphics/rayquaza_scene/hush_ring.bin.lz");
+const u32 gRaySceneHushRing_Map[] = INCBIN_U32("graphics/rayquaza_scene/hush_ring_map.bin.lz");
+const u32 gRaySceneHushBg_Pal[] = INCBIN_U32("graphics/rayquaza_scene/hush_bg.gbapal.lz");
diff --git a/src/data/graphics/slot_machine.h b/src/data/graphics/slot_machine.h
index f673874e3..3f351f7ba 100644
--- a/src/data/graphics/slot_machine.h
+++ b/src/data/graphics/slot_machine.h
@@ -1,5 +1,5 @@
const u16 gSlotMachineMenu_Pal[] = INCBIN_U16("graphics/slot_machine/menu.gbapal");
-const u8 gSlotMachineMenu_Gfx[] = INCBIN_U8("graphics/slot_machine/menu.4bpp.lz");
+const u32 gSlotMachineMenu_Gfx[] = INCBIN_U32("graphics/slot_machine/menu.4bpp.lz");
const u16 gSlotMachineMenu_Tilemap[] = INCBIN_U16("graphics/slot_machine/menu.bin");
const u16 gUnknown_08DCEC70[] = INCBIN_U16("graphics/slot_machine/slots_layout.bin");
@@ -26,7 +26,7 @@ const u8 gSlotMachineReelSymbol5Tiles[] = INCBIN_U8("graphics/slot_machine/reel_
const u8 gSlotMachineReelSymbol6Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/6.4bpp");
const u8 gSlotMachineReelSymbol7Tiles[] = INCBIN_U8("graphics/slot_machine/reel_symbols/7.4bpp");
-const u8 gSlotMachineReelTime_Gfx[] = INCBIN_U8("graphics/slot_machine/reel_time.4bpp.lz");
+const u32 gSlotMachineReelTime_Gfx[] = INCBIN_U32("graphics/slot_machine/reel_time.4bpp.lz");
const u8 gSlotMachineNumber0Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/0.4bpp");
const u8 gSlotMachineNumber1Tiles[] = INCBIN_U8("graphics/slot_machine/numbers/1.4bpp");
diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h
index 98a5471ef..3de77d6ec 100644
--- a/src/data/graphics/trainers.h
+++ b/src/data/graphics/trainers.h
@@ -1,281 +1,281 @@
-const u8 gTrainerFrontPic_Hiker[] = INCBIN_U8("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Hiker[] = INCBIN_U8("graphics/trainers/palettes/hiker.gbapal.lz");
+const u32 gTrainerFrontPic_Hiker[] = INCBIN_U32("graphics/trainers/front_pics/hiker_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Hiker[] = INCBIN_U32("graphics/trainers/palettes/hiker.gbapal.lz");
-const u8 gTrainerFrontPic_AquaGruntM[] = INCBIN_U8("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_AquaGruntM[] = INCBIN_U8("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz");
+const u32 gTrainerFrontPic_AquaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_AquaGruntM[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_m.gbapal.lz");
-const u8 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PokemonBreederF[] = INCBIN_U8("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz");
+const u32 gTrainerFrontPic_PokemonBreederF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokemonBreederF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_f.gbapal.lz");
-const u8 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U8("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_CoolTrainerM[] = INCBIN_U8("graphics/trainers/palettes/cool_trainer_m.gbapal.lz");
+const u32 gTrainerFrontPic_CoolTrainerM[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_CoolTrainerM[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_m.gbapal.lz");
-const u8 gTrainerFrontPic_BirdKeeper[] = INCBIN_U8("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz");
-const u8 gTrainerPalette_BirdKeeper[] = INCBIN_U8("graphics/trainers/palettes/bird_keeper.gbapal.lz");
+const u32 gTrainerFrontPic_BirdKeeper[] = INCBIN_U32("graphics/trainers/front_pics/bird_keeper_front_pic.4bpp.lz");
+const u32 gTrainerPalette_BirdKeeper[] = INCBIN_U32("graphics/trainers/palettes/bird_keeper.gbapal.lz");
-const u8 gTrainerFrontPic_Collector[] = INCBIN_U8("graphics/trainers/front_pics/collector_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Collector[] = INCBIN_U8("graphics/trainers/palettes/collector.gbapal.lz");
+const u32 gTrainerFrontPic_Collector[] = INCBIN_U32("graphics/trainers/front_pics/collector_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Collector[] = INCBIN_U32("graphics/trainers/palettes/collector.gbapal.lz");
-const u8 gTrainerFrontPic_AquaGruntF[] = INCBIN_U8("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_AquaGruntF[] = INCBIN_U8("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz");
+const u32 gTrainerFrontPic_AquaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_grunt_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_AquaGruntF[] = INCBIN_U32("graphics/trainers/palettes/aqua_grunt_f.gbapal.lz");
-const u8 gTrainerFrontPic_SwimmerM[] = INCBIN_U8("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SwimmerM[] = INCBIN_U8("graphics/trainers/palettes/swimmer_m.gbapal.lz");
+const u32 gTrainerFrontPic_SwimmerM[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SwimmerM[] = INCBIN_U32("graphics/trainers/palettes/swimmer_m.gbapal.lz");
-const u8 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U8("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_MagmaGruntM[] = INCBIN_U8("graphics/trainers/palettes/magma_grunt_m.gbapal.lz");
+const u32 gTrainerFrontPic_MagmaGruntM[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_MagmaGruntM[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_m.gbapal.lz");
-const u8 gTrainerFrontPic_ExpertM[] = INCBIN_U8("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_ExpertM[] = INCBIN_U8("graphics/trainers/palettes/expert_m.gbapal.lz");
+const u32 gTrainerFrontPic_ExpertM[] = INCBIN_U32("graphics/trainers/front_pics/expert_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_ExpertM[] = INCBIN_U32("graphics/trainers/palettes/expert_m.gbapal.lz");
-const u8 gTrainerFrontPic_AquaAdminM[] = INCBIN_U8("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_AquaAdminM[] = INCBIN_U8("graphics/trainers/palettes/aqua_admin_m.gbapal.lz");
+const u32 gTrainerFrontPic_AquaAdminM[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_AquaAdminM[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_m.gbapal.lz");
-const u8 gTrainerFrontPic_BlackBelt[] = INCBIN_U8("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz");
-const u8 gTrainerPalette_BlackBelt[] = INCBIN_U8("graphics/trainers/palettes/black_belt.gbapal.lz");
+const u32 gTrainerFrontPic_BlackBelt[] = INCBIN_U32("graphics/trainers/front_pics/black_belt_front_pic.4bpp.lz");
+const u32 gTrainerPalette_BlackBelt[] = INCBIN_U32("graphics/trainers/palettes/black_belt.gbapal.lz");
-const u8 gTrainerFrontPic_AquaAdminF[] = INCBIN_U8("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_AquaAdminF[] = INCBIN_U8("graphics/trainers/palettes/aqua_admin_f.gbapal.lz");
+const u32 gTrainerFrontPic_AquaAdminF[] = INCBIN_U32("graphics/trainers/front_pics/aqua_admin_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_AquaAdminF[] = INCBIN_U32("graphics/trainers/palettes/aqua_admin_f.gbapal.lz");
-const u8 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U8("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz");
-const u8 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U8("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz");
+const u32 gTrainerFrontPic_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/front_pics/aqua_leader_archie_front_pic.4bpp.lz");
+const u32 gTrainerPalette_AquaLeaderArchie[] = INCBIN_U32("graphics/trainers/palettes/aqua_leader_archie.gbapal.lz");
-const u8 gTrainerFrontPic_HexManiac[] = INCBIN_U8("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz");
-const u8 gTrainerPalette_HexManiac[] = INCBIN_U8("graphics/trainers/palettes/hex_maniac.gbapal.lz");
+const u32 gTrainerFrontPic_HexManiac[] = INCBIN_U32("graphics/trainers/front_pics/hex_maniac_front_pic.4bpp.lz");
+const u32 gTrainerPalette_HexManiac[] = INCBIN_U32("graphics/trainers/palettes/hex_maniac.gbapal.lz");
-const u8 gTrainerFrontPic_AromaLady[] = INCBIN_U8("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz");
-const u8 gTrainerPalette_AromaLady[] = INCBIN_U8("graphics/trainers/palettes/aroma_lady.gbapal.lz");
+const u32 gTrainerFrontPic_AromaLady[] = INCBIN_U32("graphics/trainers/front_pics/aroma_lady_front_pic.4bpp.lz");
+const u32 gTrainerPalette_AromaLady[] = INCBIN_U32("graphics/trainers/palettes/aroma_lady.gbapal.lz");
-const u8 gTrainerFrontPic_RuinManiac[] = INCBIN_U8("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz");
-const u8 gTrainerPalette_RuinManiac[] = INCBIN_U8("graphics/trainers/palettes/ruin_maniac.gbapal.lz");
+const u32 gTrainerFrontPic_RuinManiac[] = INCBIN_U32("graphics/trainers/front_pics/ruin_maniac_front_pic.4bpp.lz");
+const u32 gTrainerPalette_RuinManiac[] = INCBIN_U32("graphics/trainers/palettes/ruin_maniac.gbapal.lz");
-const u8 gTrainerFrontPic_Interviewer[] = INCBIN_U8("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Interviewer[] = INCBIN_U8("graphics/trainers/palettes/interviewer.gbapal.lz");
+const u32 gTrainerFrontPic_Interviewer[] = INCBIN_U32("graphics/trainers/front_pics/interviewer_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Interviewer[] = INCBIN_U32("graphics/trainers/palettes/interviewer.gbapal.lz");
-const u8 gTrainerFrontPic_TuberF[] = INCBIN_U8("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_TuberF[] = INCBIN_U8("graphics/trainers/palettes/tuber_f.gbapal.lz");
+const u32 gTrainerFrontPic_TuberF[] = INCBIN_U32("graphics/trainers/front_pics/tuber_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_TuberF[] = INCBIN_U32("graphics/trainers/palettes/tuber_f.gbapal.lz");
-const u8 gTrainerFrontPic_TuberM[] = INCBIN_U8("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_TuberM[] = INCBIN_U8("graphics/trainers/palettes/tuber_m.gbapal.lz");
+const u32 gTrainerFrontPic_TuberM[] = INCBIN_U32("graphics/trainers/front_pics/tuber_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_TuberM[] = INCBIN_U32("graphics/trainers/palettes/tuber_m.gbapal.lz");
-const u8 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U8("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_CoolTrainerF[] = INCBIN_U8("graphics/trainers/palettes/cool_trainer_f.gbapal.lz");
+const u32 gTrainerFrontPic_CoolTrainerF[] = INCBIN_U32("graphics/trainers/front_pics/cool_trainer_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_CoolTrainerF[] = INCBIN_U32("graphics/trainers/palettes/cool_trainer_f.gbapal.lz");
-const u8 gTrainerFrontPic_Lady[] = INCBIN_U8("graphics/trainers/front_pics/lady_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Lady[] = INCBIN_U8("graphics/trainers/palettes/lady.gbapal.lz");
+const u32 gTrainerFrontPic_Lady[] = INCBIN_U32("graphics/trainers/front_pics/lady_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Lady[] = INCBIN_U32("graphics/trainers/palettes/lady.gbapal.lz");
-const u8 gTrainerFrontPic_Beauty[] = INCBIN_U8("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Beauty[] = INCBIN_U8("graphics/trainers/palettes/beauty.gbapal.lz");
+const u32 gTrainerFrontPic_Beauty[] = INCBIN_U32("graphics/trainers/front_pics/beauty_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Beauty[] = INCBIN_U32("graphics/trainers/palettes/beauty.gbapal.lz");
-const u8 gTrainerFrontPic_RichBoy[] = INCBIN_U8("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz");
-const u8 gTrainerPalette_RichBoy[] = INCBIN_U8("graphics/trainers/palettes/rich_boy.gbapal.lz");
+const u32 gTrainerFrontPic_RichBoy[] = INCBIN_U32("graphics/trainers/front_pics/rich_boy_front_pic.4bpp.lz");
+const u32 gTrainerPalette_RichBoy[] = INCBIN_U32("graphics/trainers/palettes/rich_boy.gbapal.lz");
-const u8 gTrainerFrontPic_ExpertF[] = INCBIN_U8("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_ExpertF[] = INCBIN_U8("graphics/trainers/palettes/expert_f.gbapal.lz");
+const u32 gTrainerFrontPic_ExpertF[] = INCBIN_U32("graphics/trainers/front_pics/expert_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_ExpertF[] = INCBIN_U32("graphics/trainers/palettes/expert_f.gbapal.lz");
-const u8 gTrainerFrontPic_Pokemaniac[] = INCBIN_U8("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Pokemaniac[] = INCBIN_U8("graphics/trainers/palettes/pokemaniac.gbapal.lz");
+const u32 gTrainerFrontPic_Pokemaniac[] = INCBIN_U32("graphics/trainers/front_pics/pokemaniac_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Pokemaniac[] = INCBIN_U32("graphics/trainers/palettes/pokemaniac.gbapal.lz");
-const u8 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U8("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_MagmaGruntF[] = INCBIN_U8("graphics/trainers/palettes/magma_grunt_f.gbapal.lz");
+const u32 gTrainerFrontPic_MagmaGruntF[] = INCBIN_U32("graphics/trainers/front_pics/magma_grunt_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_MagmaGruntF[] = INCBIN_U32("graphics/trainers/palettes/magma_grunt_f.gbapal.lz");
-const u8 gTrainerFrontPic_Guitarist[] = INCBIN_U8("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Guitarist[] = INCBIN_U8("graphics/trainers/palettes/guitarist.gbapal.lz");
+const u32 gTrainerFrontPic_Guitarist[] = INCBIN_U32("graphics/trainers/front_pics/guitarist_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Guitarist[] = INCBIN_U32("graphics/trainers/palettes/guitarist.gbapal.lz");
-const u8 gTrainerFrontPic_Kindler[] = INCBIN_U8("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Kindler[] = INCBIN_U8("graphics/trainers/palettes/kindler.gbapal.lz");
+const u32 gTrainerFrontPic_Kindler[] = INCBIN_U32("graphics/trainers/front_pics/kindler_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Kindler[] = INCBIN_U32("graphics/trainers/palettes/kindler.gbapal.lz");
-const u8 gTrainerFrontPic_Camper[] = INCBIN_U8("graphics/trainers/front_pics/camper_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Camper[] = INCBIN_U8("graphics/trainers/palettes/camper.gbapal.lz");
+const u32 gTrainerFrontPic_Camper[] = INCBIN_U32("graphics/trainers/front_pics/camper_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Camper[] = INCBIN_U32("graphics/trainers/palettes/camper.gbapal.lz");
-const u8 gTrainerFrontPic_Picnicker[] = INCBIN_U8("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Picnicker[] = INCBIN_U8("graphics/trainers/palettes/picnicker.gbapal.lz");
+const u32 gTrainerFrontPic_Picnicker[] = INCBIN_U32("graphics/trainers/front_pics/picnicker_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Picnicker[] = INCBIN_U32("graphics/trainers/palettes/picnicker.gbapal.lz");
-const u8 gTrainerFrontPic_BugManiac[] = INCBIN_U8("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz");
-const u8 gTrainerPalette_BugManiac[] = INCBIN_U8("graphics/trainers/palettes/bug_maniac.gbapal.lz");
+const u32 gTrainerFrontPic_BugManiac[] = INCBIN_U32("graphics/trainers/front_pics/bug_maniac_front_pic.4bpp.lz");
+const u32 gTrainerPalette_BugManiac[] = INCBIN_U32("graphics/trainers/palettes/bug_maniac.gbapal.lz");
-const u8 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PokemonBreederM[] = INCBIN_U8("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz");
+const u32 gTrainerFrontPic_PokemonBreederM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_breeder_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokemonBreederM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_breeder_m.gbapal.lz");
-const u8 gTrainerFrontPic_PsychicM[] = INCBIN_U8("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PsychicM[] = INCBIN_U8("graphics/trainers/palettes/psychic_m.gbapal.lz");
+const u32 gTrainerFrontPic_PsychicM[] = INCBIN_U32("graphics/trainers/front_pics/psychic_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PsychicM[] = INCBIN_U32("graphics/trainers/palettes/psychic_m.gbapal.lz");
-const u8 gTrainerFrontPic_PsychicF[] = INCBIN_U8("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PsychicF[] = INCBIN_U8("graphics/trainers/palettes/psychic_f.gbapal.lz");
+const u32 gTrainerFrontPic_PsychicF[] = INCBIN_U32("graphics/trainers/front_pics/psychic_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PsychicF[] = INCBIN_U32("graphics/trainers/palettes/psychic_f.gbapal.lz");
-const u8 gTrainerFrontPic_Gentleman[] = INCBIN_U8("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Gentleman[] = INCBIN_U8("graphics/trainers/palettes/gentleman.gbapal.lz");
+const u32 gTrainerFrontPic_Gentleman[] = INCBIN_U32("graphics/trainers/front_pics/gentleman_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Gentleman[] = INCBIN_U32("graphics/trainers/palettes/gentleman.gbapal.lz");
-const u8 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz");
-const u8 gTrainerPalette_EliteFourSidney[] = INCBIN_U8("graphics/trainers/palettes/elite_four_sidney.gbapal.lz");
+const u32 gTrainerFrontPic_EliteFourSidney[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_sidney_front_pic.4bpp.lz");
+const u32 gTrainerPalette_EliteFourSidney[] = INCBIN_U32("graphics/trainers/palettes/elite_four_sidney.gbapal.lz");
-const u8 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz");
-const u8 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U8("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz");
+const u32 gTrainerFrontPic_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_phoebe_front_pic.4bpp.lz");
+const u32 gTrainerPalette_EliteFourPhoebe[] = INCBIN_U32("graphics/trainers/palettes/elite_four_phoebe.gbapal.lz");
-const u8 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz");
-const u8 gTrainerPalette_EliteFourGlacia[] = INCBIN_U8("graphics/trainers/palettes/elite_four_glacia.gbapal.lz");
+const u32 gTrainerFrontPic_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_glacia_front_pic.4bpp.lz");
+const u32 gTrainerPalette_EliteFourGlacia[] = INCBIN_U32("graphics/trainers/palettes/elite_four_glacia.gbapal.lz");
-const u8 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U8("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz");
-const u8 gTrainerPalette_EliteFourDrake[] = INCBIN_U8("graphics/trainers/palettes/elite_four_drake.gbapal.lz");
+const u32 gTrainerFrontPic_EliteFourDrake[] = INCBIN_U32("graphics/trainers/front_pics/elite_four_drake_front_pic.4bpp.lz");
+const u32 gTrainerPalette_EliteFourDrake[] = INCBIN_U32("graphics/trainers/palettes/elite_four_drake.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U8("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderRoxanne[] = INCBIN_U8("graphics/trainers/palettes/leader_roxanne.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/front_pics/leader_roxanne_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderRoxanne[] = INCBIN_U32("graphics/trainers/palettes/leader_roxanne.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U8("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderBrawly[] = INCBIN_U8("graphics/trainers/palettes/leader_brawly.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderBrawly[] = INCBIN_U32("graphics/trainers/front_pics/leader_brawly_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderBrawly[] = INCBIN_U32("graphics/trainers/palettes/leader_brawly.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderWattson[] = INCBIN_U8("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderWattson[] = INCBIN_U8("graphics/trainers/palettes/leader_wattson.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderWattson[] = INCBIN_U32("graphics/trainers/front_pics/leader_wattson_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderWattson[] = INCBIN_U32("graphics/trainers/palettes/leader_wattson.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U8("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderFlannery[] = INCBIN_U8("graphics/trainers/palettes/leader_flannery.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderFlannery[] = INCBIN_U32("graphics/trainers/front_pics/leader_flannery_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderFlannery[] = INCBIN_U32("graphics/trainers/palettes/leader_flannery.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderNorman[] = INCBIN_U8("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderNorman[] = INCBIN_U8("graphics/trainers/palettes/leader_norman.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderNorman[] = INCBIN_U32("graphics/trainers/front_pics/leader_norman_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderNorman[] = INCBIN_U32("graphics/trainers/palettes/leader_norman.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderWinona[] = INCBIN_U8("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderWinona[] = INCBIN_U8("graphics/trainers/palettes/leader_winona.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderWinona[] = INCBIN_U32("graphics/trainers/front_pics/leader_winona_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderWinona[] = INCBIN_U32("graphics/trainers/palettes/leader_winona.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U8("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U8("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/front_pics/leader_tate_and_liza_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderTateAndLiza[] = INCBIN_U32("graphics/trainers/palettes/leader_tate_and_liza.gbapal.lz");
-const u8 gTrainerFrontPic_LeaderJuan[] = INCBIN_U8("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz");
-const u8 gTrainerPalette_LeaderJuan[] = INCBIN_U8("graphics/trainers/palettes/leader_juan.gbapal.lz");
+const u32 gTrainerFrontPic_LeaderJuan[] = INCBIN_U32("graphics/trainers/front_pics/leader_juan_front_pic.4bpp.lz");
+const u32 gTrainerPalette_LeaderJuan[] = INCBIN_U32("graphics/trainers/palettes/leader_juan.gbapal.lz");
-const u8 gTrainerFrontPic_SchoolKidM[] = INCBIN_U8("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SchoolKidM[] = INCBIN_U8("graphics/trainers/palettes/school_kid_m.gbapal.lz");
+const u32 gTrainerFrontPic_SchoolKidM[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SchoolKidM[] = INCBIN_U32("graphics/trainers/palettes/school_kid_m.gbapal.lz");
-const u8 gTrainerFrontPic_SchoolKidF[] = INCBIN_U8("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SchoolKidF[] = INCBIN_U8("graphics/trainers/palettes/school_kid_f.gbapal.lz");
+const u32 gTrainerFrontPic_SchoolKidF[] = INCBIN_U32("graphics/trainers/front_pics/school_kid_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/school_kid_f.gbapal.lz");
-const u8 gTrainerFrontPic_SrAndJr[] = INCBIN_U8("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SrAndJr[] = INCBIN_U8("graphics/trainers/palettes/sr_and_jr.gbapal.lz");
+const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz");
-const u8 gTrainerFrontPic_WinstrateM[] = INCBIN_U8("graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_WinstrateM[] = INCBIN_U8("graphics/trainers/palettes/winstrate_m.gbapal.lz");
+const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz");
-const u8 gTrainerFrontPic_WinstrateF[] = INCBIN_U8("graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_WinstrateF[] = INCBIN_U8("graphics/trainers/palettes/winstrate_f.gbapal.lz");
+const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz");
-const u8 gTrainerFrontPic_Youngster[] = INCBIN_U8("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Youngster[] = INCBIN_U8("graphics/trainers/palettes/youngster.gbapal.lz");
+const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz");
-const u8 gTrainerFrontPic_ChampionWallace[] = INCBIN_U8("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz");
-const u8 gTrainerPalette_ChampionWallace[] = INCBIN_U8("graphics/trainers/palettes/champion_wallace.gbapal.lz");
+const u32 gTrainerFrontPic_ChampionWallace[] = INCBIN_U32("graphics/trainers/front_pics/champion_wallace_front_pic.4bpp.lz");
+const u32 gTrainerPalette_ChampionWallace[] = INCBIN_U32("graphics/trainers/palettes/champion_wallace.gbapal.lz");
-const u8 gTrainerFrontPic_Fisherman[] = INCBIN_U8("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Fisherman[] = INCBIN_U8("graphics/trainers/palettes/fisherman.gbapal.lz");
+const u32 gTrainerFrontPic_Fisherman[] = INCBIN_U32("graphics/trainers/front_pics/fisherman_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Fisherman[] = INCBIN_U32("graphics/trainers/palettes/fisherman.gbapal.lz");
-const u8 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz");
+const u32 gTrainerFrontPic_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_CyclingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_m.gbapal.lz");
-const u8 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz");
+const u32 gTrainerFrontPic_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/cycling_triathlete_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_CyclingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/cycling_triathlete_f.gbapal.lz");
-const u8 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_RunningTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/running_triathlete_m.gbapal.lz");
+const u32 gTrainerFrontPic_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_RunningTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_m.gbapal.lz");
-const u8 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_RunningTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/running_triathlete_f.gbapal.lz");
+const u32 gTrainerFrontPic_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/running_triathlete_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_RunningTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/running_triathlete_f.gbapal.lz");
-const u8 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U8("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U8("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz");
+const u32 gTrainerFrontPic_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SwimmingTriathleteM[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_m.gbapal.lz");
-const u8 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U8("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U8("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz");
+const u32 gTrainerFrontPic_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/front_pics/swimming_triathlete_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SwimmingTriathleteF[] = INCBIN_U32("graphics/trainers/palettes/swimming_triathlete_f.gbapal.lz");
-const u8 gTrainerFrontPic_DragonTamer[] = INCBIN_U8("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz");
-const u8 gTrainerPalette_DragonTamer[] = INCBIN_U8("graphics/trainers/palettes/dragon_tamer.gbapal.lz");
+const u32 gTrainerFrontPic_DragonTamer[] = INCBIN_U32("graphics/trainers/front_pics/dragon_tamer_front_pic.4bpp.lz");
+const u32 gTrainerPalette_DragonTamer[] = INCBIN_U32("graphics/trainers/palettes/dragon_tamer.gbapal.lz");
-const u8 gTrainerFrontPic_NinjaBoy[] = INCBIN_U8("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz");
-const u8 gTrainerPalette_NinjaBoy[] = INCBIN_U8("graphics/trainers/palettes/ninja_boy.gbapal.lz");
+const u32 gTrainerFrontPic_NinjaBoy[] = INCBIN_U32("graphics/trainers/front_pics/ninja_boy_front_pic.4bpp.lz");
+const u32 gTrainerPalette_NinjaBoy[] = INCBIN_U32("graphics/trainers/palettes/ninja_boy.gbapal.lz");
-const u8 gTrainerFrontPic_BattleGirl[] = INCBIN_U8("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz");
-const u8 gTrainerPalette_BattleGirl[] = INCBIN_U8("graphics/trainers/palettes/battle_girl.gbapal.lz");
+const u32 gTrainerFrontPic_BattleGirl[] = INCBIN_U32("graphics/trainers/front_pics/battle_girl_front_pic.4bpp.lz");
+const u32 gTrainerPalette_BattleGirl[] = INCBIN_U32("graphics/trainers/palettes/battle_girl.gbapal.lz");
-const u8 gTrainerFrontPic_ParasolLady[] = INCBIN_U8("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz");
-const u8 gTrainerPalette_ParasolLady[] = INCBIN_U8("graphics/trainers/palettes/parasol_lady.gbapal.lz");
+const u32 gTrainerFrontPic_ParasolLady[] = INCBIN_U32("graphics/trainers/front_pics/parasol_lady_front_pic.4bpp.lz");
+const u32 gTrainerPalette_ParasolLady[] = INCBIN_U32("graphics/trainers/palettes/parasol_lady.gbapal.lz");
-const u8 gTrainerFrontPic_SwimmerF[] = INCBIN_U8("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SwimmerF[] = INCBIN_U8("graphics/trainers/palettes/swimmer_f.gbapal.lz");
+const u32 gTrainerFrontPic_SwimmerF[] = INCBIN_U32("graphics/trainers/front_pics/swimmer_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SwimmerF[] = INCBIN_U32("graphics/trainers/palettes/swimmer_f.gbapal.lz");
-const u8 gTrainerFrontPic_Twins[] = INCBIN_U8("graphics/trainers/front_pics/twins_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Twins[] = INCBIN_U8("graphics/trainers/palettes/twins.gbapal.lz");
+const u32 gTrainerFrontPic_Twins[] = INCBIN_U32("graphics/trainers/front_pics/twins_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Twins[] = INCBIN_U32("graphics/trainers/palettes/twins.gbapal.lz");
-const u8 gTrainerFrontPic_Sailor[] = INCBIN_U8("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Sailor[] = INCBIN_U8("graphics/trainers/palettes/sailor.gbapal.lz");
+const u32 gTrainerFrontPic_Sailor[] = INCBIN_U32("graphics/trainers/front_pics/sailor_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Sailor[] = INCBIN_U32("graphics/trainers/palettes/sailor.gbapal.lz");
-const u8 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U8("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz");
-const u8 gTrainerPalette_MagmaAdmin[] = INCBIN_U8("graphics/trainers/palettes/magma_admin.gbapal.lz");
+const u32 gTrainerFrontPic_MagmaAdmin[] = INCBIN_U32("graphics/trainers/front_pics/magma_admin_front_pic.4bpp.lz");
+const u32 gTrainerPalette_MagmaAdmin[] = INCBIN_U32("graphics/trainers/palettes/magma_admin.gbapal.lz");
-const u8 gTrainerFrontPic_Wally[] = INCBIN_U8("graphics/trainers/front_pics/wally_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Wally[] = INCBIN_U8("graphics/trainers/palettes/wally.gbapal.lz");
+const u32 gTrainerFrontPic_Wally[] = INCBIN_U32("graphics/trainers/front_pics/wally_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Wally[] = INCBIN_U32("graphics/trainers/palettes/wally.gbapal.lz");
-const u8 gTrainerFrontPic_Brendan[] = INCBIN_U8("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Brendan[] = INCBIN_U8("graphics/trainers/palettes/brendan.gbapal.lz");
+const u32 gTrainerFrontPic_Brendan[] = INCBIN_U32("graphics/trainers/front_pics/brendan_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Brendan[] = INCBIN_U32("graphics/trainers/palettes/brendan.gbapal.lz");
-const u8 gTrainerFrontPic_May[] = INCBIN_U8("graphics/trainers/front_pics/may_front_pic.4bpp.lz");
-const u8 gTrainerPalette_May[] = INCBIN_U8("graphics/trainers/palettes/may.gbapal.lz");
+const u32 gTrainerFrontPic_May[] = INCBIN_U32("graphics/trainers/front_pics/may_front_pic.4bpp.lz");
+const u32 gTrainerPalette_May[] = INCBIN_U32("graphics/trainers/palettes/may.gbapal.lz");
-const u8 gTrainerFrontPic_BugCatcher[] = INCBIN_U8("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz");
-const u8 gTrainerPalette_BugCatcher[] = INCBIN_U8("graphics/trainers/palettes/bug_catcher.gbapal.lz");
+const u32 gTrainerFrontPic_BugCatcher[] = INCBIN_U32("graphics/trainers/front_pics/bug_catcher_front_pic.4bpp.lz");
+const u32 gTrainerPalette_BugCatcher[] = INCBIN_U32("graphics/trainers/palettes/bug_catcher.gbapal.lz");
-const u8 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PokemonRangerM[] = INCBIN_U8("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz");
+const u32 gTrainerFrontPic_PokemonRangerM[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokemonRangerM[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_m.gbapal.lz");
-const u8 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U8("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PokemonRangerF[] = INCBIN_U8("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz");
+const u32 gTrainerFrontPic_PokemonRangerF[] = INCBIN_U32("graphics/trainers/front_pics/pokemon_ranger_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokemonRangerF[] = INCBIN_U32("graphics/trainers/palettes/pokemon_ranger_f.gbapal.lz");
-const u8 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U8("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz");
-const u8 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U8("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz");
+const u32 gTrainerFrontPic_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/front_pics/magma_leader_maxie_front_pic.4bpp.lz");
+const u32 gTrainerPalette_MagmaLeaderMaxie[] = INCBIN_U32("graphics/trainers/palettes/magma_leader_maxie.gbapal.lz");
-const u8 gTrainerFrontPic_Lass[] = INCBIN_U8("graphics/trainers/front_pics/lass_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Lass[] = INCBIN_U8("graphics/trainers/palettes/lass.gbapal.lz");
+const u32 gTrainerFrontPic_Lass[] = INCBIN_U32("graphics/trainers/front_pics/lass_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Lass[] = INCBIN_U32("graphics/trainers/palettes/lass.gbapal.lz");
-const u8 gTrainerFrontPic_YoungCouple[] = INCBIN_U8("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz");
-const u8 gTrainerPalette_YoungCouple[] = INCBIN_U8("graphics/trainers/palettes/young_couple.gbapal.lz");
+const u32 gTrainerFrontPic_YoungCouple[] = INCBIN_U32("graphics/trainers/front_pics/young_couple_front_pic.4bpp.lz");
+const u32 gTrainerPalette_YoungCouple[] = INCBIN_U32("graphics/trainers/palettes/young_couple.gbapal.lz");
-const u8 gTrainerFrontPic_OldCouple[] = INCBIN_U8("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz");
-const u8 gTrainerPalette_OldCouple[] = INCBIN_U8("graphics/trainers/palettes/old_couple.gbapal.lz");
+const u32 gTrainerFrontPic_OldCouple[] = INCBIN_U32("graphics/trainers/front_pics/old_couple_front_pic.4bpp.lz");
+const u32 gTrainerPalette_OldCouple[] = INCBIN_U32("graphics/trainers/palettes/old_couple.gbapal.lz");
-const u8 gTrainerFrontPic_SisAndBro[] = INCBIN_U8("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SisAndBro[] = INCBIN_U8("graphics/trainers/palettes/sis_and_bro.gbapal.lz");
+const u32 gTrainerFrontPic_SisAndBro[] = INCBIN_U32("graphics/trainers/front_pics/sis_and_bro_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SisAndBro[] = INCBIN_U32("graphics/trainers/palettes/sis_and_bro.gbapal.lz");
-const u8 gTrainerFrontPic_Steven[] = INCBIN_U8("graphics/trainers/front_pics/steven_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Steven[] = INCBIN_U8("graphics/trainers/palettes/steven.gbapal.lz");
+const u32 gTrainerFrontPic_Steven[] = INCBIN_U32("graphics/trainers/front_pics/steven_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Steven[] = INCBIN_U32("graphics/trainers/palettes/steven.gbapal.lz");
-const u8 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U8("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz");
-const u8 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U8("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz");
+const u32 gTrainerFrontPic_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/front_pics/salon_maiden_anabel_front_pic.4bpp.lz");
+const u32 gTrainerPalette_SalonMaidenAnabel[] = INCBIN_U32("graphics/trainers/palettes/salon_maiden_anabel.gbapal.lz");
-const u8 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U8("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz");
-const u8 gTrainerPalette_DomeAceTucker[] = INCBIN_U8("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz");
+const u32 gTrainerFrontPic_DomeAceTucker[] = INCBIN_U32("graphics/trainers/front_pics/dome_ace_tucker_front_pic.4bpp.lz");
+const u32 gTrainerPalette_DomeAceTucker[] = INCBIN_U32("graphics/trainers/palettes/dome_ace_tucker.gbapal.lz");
-const u8 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U8("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U8("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz");
+const u32 gTrainerFrontPic_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/front_pics/palace_maven_spenser_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PalaceMavenSpenser[] = INCBIN_U32("graphics/trainers/palettes/palace_maven_spenser.gbapal.lz");
-const u8 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U8("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz");
-const u8 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U8("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz");
+const u32 gTrainerFrontPic_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/front_pics/arena_tycoon_greta_front_pic.4bpp.lz");
+const u32 gTrainerPalette_ArenaTycoonGreta[] = INCBIN_U32("graphics/trainers/palettes/arena_tycoon_greta.gbapal.lz");
-const u8 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U8("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz");
-const u8 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U8("graphics/trainers/palettes/factory_head_noland.gbapal.lz");
+const u32 gTrainerFrontPic_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/front_pics/factory_head_noland_front_pic.4bpp.lz");
+const u32 gTrainerPalette_FactoryHeadNoland[] = INCBIN_U32("graphics/trainers/palettes/factory_head_noland.gbapal.lz");
-const u8 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U8("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PikeQueenLucy[] = INCBIN_U8("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz");
+const u32 gTrainerFrontPic_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/front_pics/pike_queen_lucy_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PikeQueenLucy[] = INCBIN_U32("graphics/trainers/palettes/pike_queen_lucy.gbapal.lz");
-const u8 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U8("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz");
-const u8 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U8("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz");
+const u32 gTrainerFrontPic_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/front_pics/pyramid_king_brandon_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PyramidKingBrandon[] = INCBIN_U32("graphics/trainers/palettes/pyramid_king_brandon.gbapal.lz");
-const u8 gTrainerFrontPic_Red[] = INCBIN_U8("graphics/trainers/front_pics/red_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Red[] = INCBIN_U8("graphics/trainers/palettes/red.gbapal.lz");
+const u32 gTrainerFrontPic_Red[] = INCBIN_U32("graphics/trainers/front_pics/red_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red.gbapal.lz");
-const u8 gTrainerFrontPic_Leaf[] = INCBIN_U8("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz");
-const u8 gTrainerPalette_Leaf[] = INCBIN_U8("graphics/trainers/palettes/leaf.gbapal.lz");
+const u32 gTrainerFrontPic_Leaf[] = INCBIN_U32("graphics/trainers/front_pics/leaf_front_pic.4bpp.lz");
+const u32 gTrainerPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf.gbapal.lz");
-const u8 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz");
-const u8 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U8("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz");
+const u32 gTrainerFrontPic_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_brendan_front_pic.4bpp.lz");
+const u32 gTrainerPalette_RubySapphireBrendan[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_brendan.gbapal.lz");
-const u8 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz");
-const u8 gTrainerPalette_RubySapphireMay[] = INCBIN_U8("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz");
+const u32 gTrainerFrontPic_RubySapphireMay[] = INCBIN_U32("graphics/trainers/front_pics/ruby_sapphire_may_front_pic.4bpp.lz");
+const u32 gTrainerPalette_RubySapphireMay[] = INCBIN_U32("graphics/trainers/palettes/ruby_sapphire_may.gbapal.lz");
const u8 gTrainerBackPic_Brendan[] = INCBIN_U8("graphics/trainers/back_pics/brendan_back_pic.4bpp");
const u8 gTrainerBackPic_May[] = INCBIN_U8("graphics/trainers/back_pics/may_back_pic.4bpp");
@@ -286,5 +286,5 @@ const u8 gTrainerBackPic_RubySapphireMay[] = INCBIN_U8("graphics/trainers/back_p
const u8 gTrainerBackPic_Wally[] = INCBIN_U8("graphics/trainers/back_pics/wally_back_pic.4bpp");
const u8 gTrainerBackPic_Steven[] = INCBIN_U8("graphics/trainers/back_pics/steven_back_pic.4bpp");
-const u8 gTrainerBackPicPalette_Red[] = INCBIN_U8("graphics/trainers/palettes/red_back_pic.gbapal.lz");
-const u8 gTrainerBackPicPalette_Leaf[] = INCBIN_U8("graphics/trainers/palettes/leaf_back_pic.gbapal.lz");
+const u32 gTrainerBackPicPalette_Red[] = INCBIN_U32("graphics/trainers/palettes/red_back_pic.gbapal.lz");
+const u32 gTrainerBackPicPalette_Leaf[] = INCBIN_U32("graphics/trainers/palettes/leaf_back_pic.gbapal.lz");
diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h
index 0a24c0572..f55a8468e 100644
--- a/src/data/item_icon_table.h
+++ b/src/data/item_icon_table.h
@@ -1,414 +1,407 @@
-#ifndef GUARD_DATA_ITEM_ICON_TABLE_H
-#define GUARD_DATA_ITEM_ICON_TABLE_H
-
-#include "global.h"
-#include "graphics.h"
-
-const u8 * const gItemIconTable[][2] =
+const u32 *const gItemIconTable[][2] =
{
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Pokeballs
- gItemIcon_MasterBall, gItemIconPalette_MasterBall,
- gItemIcon_UltraBall, gItemIconPalette_UltraBall,
- gItemIcon_GreatBall, gItemIconPalette_GreatBall,
- gItemIcon_PokeBall, gItemIconPalette_PokeBall,
- gItemIcon_SafariBall, gItemIconPalette_SafariBall,
- gItemIcon_NetBall, gItemIconPalette_NetBall,
- gItemIcon_DiveBall, gItemIconPalette_DiveBall,
- gItemIcon_NestBall, gItemIconPalette_NestBall,
- gItemIcon_RepeatBall, gItemIconPalette_RepeatBall,
- gItemIcon_TimerBall, gItemIconPalette_RepeatBall,
- gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall,
- gItemIcon_PremierBall, gItemIconPalette_LuxuryBall,
-// Medicine
- gItemIcon_Potion, gItemIconPalette_Potion,
- gItemIcon_Antidote, gItemIconPalette_Antidote,
- gItemIcon_StatusHeal, gItemIconPalette_BurnHeal,
- gItemIcon_StatusHeal, gItemIconPalette_IceHeal,
- gItemIcon_StatusHeal, gItemIconPalette_Awakening,
- gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal,
- gItemIcon_LargePotion, gItemIconPalette_FullRestore,
- gItemIcon_LargePotion, gItemIconPalette_MaxPotion,
- gItemIcon_Potion, gItemIconPalette_HyperPotion,
- gItemIcon_Potion, gItemIconPalette_SuperPotion,
- gItemIcon_FullHeal, gItemIconPalette_FullHeal,
- gItemIcon_Revive, gItemIconPalette_Revive,
- gItemIcon_MaxRevive, gItemIconPalette_Revive,
- gItemIcon_FreshWater, gItemIconPalette_FreshWater,
- gItemIcon_SodaPop, gItemIconPalette_SodaPop,
- gItemIcon_Lemonade, gItemIconPalette_Lemonade,
- gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk,
- gItemIcon_Powder, gItemIconPalette_EnergyPowder,
- gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot,
- gItemIcon_Powder, gItemIconPalette_HealPowder,
- gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb,
- gItemIcon_Ether, gItemIconPalette_Ether,
- gItemIcon_Ether, gItemIconPalette_MaxEther,
- gItemIcon_Ether, gItemIconPalette_Elixir,
- gItemIcon_Ether, gItemIconPalette_MaxElixir,
- gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter,
- gItemIcon_Flute, gItemIconPalette_BlueFlute,
- gItemIcon_Flute, gItemIconPalette_YellowFlute,
- gItemIcon_Flute, gItemIconPalette_RedFlute,
- gItemIcon_Flute, gItemIconPalette_BlackFlute,
- gItemIcon_Flute, gItemIconPalette_WhiteFlute,
- gItemIcon_BerryJuice, gItemIconPalette_BerryJuice,
- gItemIcon_SacredAsh, gItemIconPalette_SacredAsh,
-// Collectibles
- gItemIcon_Powder, gItemIconPalette_ShoalSalt,
- gItemIcon_ShoalShell, gItemIconPalette_Shell,
- gItemIcon_Shard, gItemIconPalette_RedShard,
- gItemIcon_Shard, gItemIconPalette_BlueShard,
- gItemIcon_Shard, gItemIconPalette_YellowShard,
- gItemIcon_Shard, gItemIconPalette_GreenShard,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Vitamins
- gItemIcon_HPUp, gItemIconPalette_HPUp,
- gItemIcon_Vitamin, gItemIconPalette_Protein,
- gItemIcon_Vitamin, gItemIconPalette_Iron,
- gItemIcon_Vitamin, gItemIconPalette_Carbos,
- gItemIcon_Vitamin, gItemIconPalette_Calcium,
- gItemIcon_RareCandy, gItemIconPalette_RareCandy,
- gItemIcon_PPUp, gItemIconPalette_PPUp,
- gItemIcon_Vitamin, gItemIconPalette_Zinc,
- gItemIcon_PPMax, gItemIconPalette_PPMax,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Battle items
- gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec,
- gItemIcon_BattleStatItem, gItemIconPalette_DireHit,
- gItemIcon_BattleStatItem, gItemIconPalette_XAttack,
- gItemIcon_BattleStatItem, gItemIconPalette_XDefend,
- gItemIcon_BattleStatItem, gItemIconPalette_XSpeed,
- gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy,
- gItemIcon_BattleStatItem, gItemIconPalette_XSpecial,
- gItemIcon_PokeDoll, gItemIconPalette_PokeDoll,
- gItemIcon_FluffyTail, gItemIconPalette_FluffyTail,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Field items
- gItemIcon_Repel, gItemIconPalette_SuperRepel,
- gItemIcon_Repel, gItemIconPalette_MaxRepel,
- gItemIcon_EscapeRope, gItemIconPalette_EscapeRope,
- gItemIcon_Repel, gItemIconPalette_Repel,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Evolution stones
- gItemIcon_SunStone, gItemIconPalette_SunStone,
- gItemIcon_MoonStone, gItemIconPalette_MoonStone,
- gItemIcon_FireStone, gItemIconPalette_FireStone,
- gItemIcon_ThunderStone, gItemIconPalette_ThunderStone,
- gItemIcon_WaterStone, gItemIconPalette_WaterStone,
- gItemIcon_LeafStone, gItemIconPalette_LeafStone,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Valuables
- gItemIcon_TinyMushroom, gItemIconPalette_Mushroom,
- gItemIcon_BigMushroom, gItemIconPalette_Mushroom,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_Pearl, gItemIconPalette_Pearl,
- gItemIcon_BigPearl, gItemIconPalette_Pearl,
- gItemIcon_Stardust, gItemIconPalette_Star,
- gItemIcon_StarPiece, gItemIconPalette_Star,
- gItemIcon_Nugget, gItemIconPalette_Nugget,
- gItemIcon_HeartScale, gItemIconPalette_HeartScale,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Mail
- gItemIcon_OrangeMail, gItemIconPalette_OrangeMail,
- gItemIcon_HarborMail, gItemIconPalette_HarborMail,
- gItemIcon_GlitterMail, gItemIconPalette_GlitterMail,
- gItemIcon_MechMail, gItemIconPalette_MechMail,
- gItemIcon_WoodMail, gItemIconPalette_WoodMail,
- gItemIcon_WaveMail, gItemIconPalette_WaveMail,
- gItemIcon_BeadMail, gItemIconPalette_BeadMail,
- gItemIcon_ShadowMail, gItemIconPalette_ShadowMail,
- gItemIcon_TropicMail, gItemIconPalette_TropicMail,
- gItemIcon_DreamMail, gItemIconPalette_DreamMail,
- gItemIcon_FabMail, gItemIconPalette_FabMail,
- gItemIcon_RetroMail, gItemIconPalette_RetroMail,
-// Berries
- gItemIcon_CheriBerry, gItemIconPalette_CheriBerry,
- gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry,
- gItemIcon_PechaBerry, gItemIconPalette_PechaBerry,
- gItemIcon_RawstBerry, gItemIconPalette_RawstBerry,
- gItemIcon_AspearBerry, gItemIconPalette_AspearBerry,
- gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry,
- gItemIcon_OranBerry, gItemIconPalette_OranBerry,
- gItemIcon_PersimBerry, gItemIconPalette_PersimBerry,
- gItemIcon_LumBerry, gItemIconPalette_LumBerry,
- gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry,
- gItemIcon_FigyBerry, gItemIconPalette_FigyBerry,
- gItemIcon_WikiBerry, gItemIconPalette_WikiBerry,
- gItemIcon_MagoBerry, gItemIconPalette_MagoBerry,
- gItemIcon_AguavBerry, gItemIconPalette_AguavBerry,
- gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry,
- gItemIcon_RazzBerry, gItemIconPalette_RazzBerry,
- gItemIcon_BlukBerry, gItemIconPalette_BlukBerry,
- gItemIcon_NanabBerry, gItemIconPalette_NanabBerry,
- gItemIcon_WepearBerry, gItemIconPalette_WepearBerry,
- gItemIcon_PinapBerry, gItemIconPalette_PinapBerry,
- gItemIcon_PomegBerry, gItemIconPalette_PomegBerry,
- gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry,
- gItemIcon_QualotBerry, gItemIconPalette_QualotBerry,
- gItemIcon_HondewBerry, gItemIconPalette_HondewBerry,
- gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry,
- gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry,
- gItemIcon_CornnBerry, gItemIconPalette_CornnBerry,
- gItemIcon_MagostBerry, gItemIconPalette_MagostBerry,
- gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry,
- gItemIcon_NomelBerry, gItemIconPalette_NomelBerry,
- gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry,
- gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry,
- gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry,
- gItemIcon_DurinBerry, gItemIconPalette_DurinBerry,
- gItemIcon_BelueBerry, gItemIconPalette_BelueBerry,
- gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry,
- gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry,
- gItemIcon_SalacBerry, gItemIconPalette_SalacBerry,
- gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry,
- gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry,
- gItemIcon_LansatBerry, gItemIconPalette_LansatBerry,
- gItemIcon_StarfBerry, gItemIconPalette_StarfBerry,
- gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Hold items
- gItemIcon_BrightPowder, gItemIconPalette_BrightPowder,
- gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb,
- gItemIcon_MachoBrace, gItemIconPalette_MachoBrace,
- gItemIcon_ExpShare, gItemIconPalette_ExpShare,
- gItemIcon_QuickClaw, gItemIconPalette_QuickClaw,
- gItemIcon_SootheBell, gItemIconPalette_SootheBell,
- gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb,
- gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand,
- gItemIcon_KingsRock, gItemIconPalette_KingsRock,
- gItemIcon_SilverPowder, gItemIconPalette_SilverPowder,
- gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin,
- gItemIcon_CleanseTag, gItemIconPalette_CleanseTag,
- gItemIcon_SoulDew, gItemIconPalette_SoulDew,
- gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth,
- gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale,
- gItemIcon_SmokeBall, gItemIconPalette_SmokeBall,
- gItemIcon_Everstone, gItemIconPalette_Everstone,
- gItemIcon_FocusBand, gItemIconPalette_FocusBand,
- gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg,
- gItemIcon_ScopeLens, gItemIconPalette_ScopeLens,
- gItemIcon_MetalCoat, gItemIconPalette_MetalCoat,
- gItemIcon_Leftovers, gItemIconPalette_Leftovers,
- gItemIcon_DragonScale, gItemIconPalette_DragonScale,
- gItemIcon_LightBall, gItemIconPalette_LightBall,
- gItemIcon_SoftSand, gItemIconPalette_SoftSand,
- gItemIcon_HardStone, gItemIconPalette_HardStone,
- gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed,
- gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem,
- gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem,
- gItemIcon_Magnet, gItemIconPalette_Magnet,
- gItemIcon_MysticWater, gItemIconPalette_MysticWater,
- gItemIcon_SharpBeak, gItemIconPalette_SharpBeak,
- gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb,
- gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce,
- gItemIcon_SpellTag, gItemIconPalette_SpellTag,
- gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon,
- gItemIcon_Charcoal, gItemIconPalette_Charcoal,
- gItemIcon_DragonFang, gItemIconPalette_DragonFang,
- gItemIcon_SilkScarf, gItemIconPalette_SilkScarf,
- gItemIcon_UpGrade, gItemIconPalette_UpGrade,
- gItemIcon_ShellBell, gItemIconPalette_Shell,
- gItemIcon_SeaIncense, gItemIconPalette_SeaIncense,
- gItemIcon_LaxIncense, gItemIconPalette_LaxIncense,
- gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch,
- gItemIcon_MetalPowder, gItemIconPalette_MetalPowder,
- gItemIcon_ThickClub, gItemIconPalette_ThickClub,
- gItemIcon_Stick, gItemIconPalette_Stick,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Contest hold items
- gItemIcon_Scarf, gItemIconPalette_RedScarf,
- gItemIcon_Scarf, gItemIconPalette_BlueScarf,
- gItemIcon_Scarf, gItemIconPalette_PinkScarf,
- gItemIcon_Scarf, gItemIconPalette_GreenScarf,
- gItemIcon_Scarf, gItemIconPalette_YellowScarf,
-// Key items
- gItemIcon_MachBike, gItemIconPalette_MachBike,
- gItemIcon_CoinCase, gItemIconPalette_CoinCase,
- gItemIcon_Itemfinder, gItemIconPalette_Itemfinder,
- gItemIcon_OldRod, gItemIconPalette_OldRod,
- gItemIcon_GoodRod, gItemIconPalette_GoodRod,
- gItemIcon_SuperRod, gItemIconPalette_SuperRod,
- gItemIcon_SSTicket, gItemIconPalette_SSTicket,
- gItemIcon_ContestPass, gItemIconPalette_ContestPass,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_WailmerPail, gItemIconPalette_WailmerPail,
- gItemIcon_DevonGoods, gItemIconPalette_DevonGoods,
- gItemIcon_SootSack, gItemIconPalette_SootSack,
- gItemIcon_BasementKey, gItemIconPalette_OldKey,
- gItemIcon_AcroBike, gItemIconPalette_AcroBike,
- gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase,
- gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter,
- gItemIcon_EonTicket, gItemIconPalette_EonTicket,
- gItemIcon_Orb, gItemIconPalette_RedOrb,
- gItemIcon_Orb, gItemIconPalette_BlueOrb,
- gItemIcon_Scanner, gItemIconPalette_Scanner,
- gItemIcon_GoGoggles, gItemIconPalette_GoGoggles,
- gItemIcon_Meteorite, gItemIconPalette_Meteorite,
- gItemIcon_Room1Key, gItemIconPalette_Key,
- gItemIcon_Room2Key, gItemIconPalette_Key,
- gItemIcon_Room4Key, gItemIconPalette_Key,
- gItemIcon_Room6Key, gItemIconPalette_Key,
- gItemIcon_StorageKey, gItemIconPalette_OldKey,
- gItemIcon_RootFossil, gItemIconPalette_HoennFossil,
- gItemIcon_ClawFossil, gItemIconPalette_HoennFossil,
- gItemIcon_DevonScope, gItemIconPalette_DevonScope,
-// TMs/HMs
- gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01
- gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02
- gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05
- gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06
- gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07
- gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08
- gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12
- gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13
- gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17
- gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18
- gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21
- gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22
- gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23
- gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24
- gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25
- gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27
- gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29
- gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30
- gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33
- gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35
- gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36
- gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38
- gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39
- gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46
- gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50
- gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01
- gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02
- gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03
- gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04
- gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05
- gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06
- gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07
- gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// FireRed/LeafGreen key items
- gItemIcon_OaksParcel, gItemIconPalette_OaksParcel,
- gItemIcon_PokeFlute, gItemIconPalette_PokeFlute,
- gItemIcon_SecretKey, gItemIconPalette_SecretKey,
- gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher,
- gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth,
- gItemIcon_OldAmber, gItemIconPalette_OldAmber,
- gItemIcon_CardKey, gItemIconPalette_CardKey,
- gItemIcon_LiftKey, gItemIconPalette_Key,
- gItemIcon_HelixFossil, gItemIconPalette_KantoFossil,
- gItemIcon_DomeFossil, gItemIconPalette_KantoFossil,
- gItemIcon_SilphScope, gItemIconPalette_SilphScope,
- gItemIcon_Bicycle, gItemIconPalette_Bicycle,
- gItemIcon_TownMap, gItemIconPalette_TownMap,
- gItemIcon_VSSeeker, gItemIconPalette_VSSeeker,
- gItemIcon_FameChecker, gItemIconPalette_FameChecker,
- gItemIcon_TMCase, gItemIconPalette_TMCase,
- gItemIcon_BerryPouch, gItemIconPalette_BerryPouch,
- gItemIcon_TeachyTV, gItemIconPalette_TeachyTV,
- gItemIcon_TriPass, gItemIconPalette_TriPass,
- gItemIcon_RainbowPass, gItemIconPalette_RainbowPass,
- gItemIcon_Tea, gItemIconPalette_Tea,
- gItemIcon_MysticTicket, gItemIconPalette_MysticTicket,
- gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket,
- gItemIcon_PowderJar, gItemIconPalette_PowderJar,
- gItemIcon_Gem, gItemIconPalette_Ruby,
- gItemIcon_Gem, gItemIconPalette_Sapphire,
-// Emerald-only key items
- gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem,
- gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap,
-// Return to field arrow
- gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow,
+ [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Pokeballs
+ [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall},
+ [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall},
+ [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall},
+ [ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall},
+ [ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall},
+ [ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall},
+ [ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall},
+ [ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall},
+ [ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall},
+ [ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall},
+ [ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall},
+ [ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall},
+ // Medicine
+ [ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion},
+ [ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote},
+ [ITEM_BURN_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_BurnHeal},
+ [ITEM_ICE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_IceHeal},
+ [ITEM_AWAKENING] = {gItemIcon_StatusHeal, gItemIconPalette_Awakening},
+ [ITEM_PARALYZE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal},
+ [ITEM_FULL_RESTORE] = {gItemIcon_LargePotion, gItemIconPalette_FullRestore},
+ [ITEM_MAX_POTION] = {gItemIcon_LargePotion, gItemIconPalette_MaxPotion},
+ [ITEM_HYPER_POTION] = {gItemIcon_Potion, gItemIconPalette_HyperPotion},
+ [ITEM_SUPER_POTION] = {gItemIcon_Potion, gItemIconPalette_SuperPotion},
+ [ITEM_FULL_HEAL] = {gItemIcon_FullHeal, gItemIconPalette_FullHeal},
+ [ITEM_REVIVE] = {gItemIcon_Revive, gItemIconPalette_Revive},
+ [ITEM_MAX_REVIVE] = {gItemIcon_MaxRevive, gItemIconPalette_Revive},
+ [ITEM_FRESH_WATER] = {gItemIcon_FreshWater, gItemIconPalette_FreshWater},
+ [ITEM_SODA_POP] = {gItemIcon_SodaPop, gItemIconPalette_SodaPop},
+ [ITEM_LEMONADE] = {gItemIcon_Lemonade, gItemIconPalette_Lemonade},
+ [ITEM_MOOMOO_MILK] = {gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk},
+ [ITEM_ENERGY_POWDER] = {gItemIcon_Powder, gItemIconPalette_EnergyPowder},
+ [ITEM_ENERGY_ROOT] = {gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot},
+ [ITEM_HEAL_POWDER] = {gItemIcon_Powder, gItemIconPalette_HealPowder},
+ [ITEM_REVIVAL_HERB] = {gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb},
+ [ITEM_ETHER] = {gItemIcon_Ether, gItemIconPalette_Ether},
+ [ITEM_MAX_ETHER] = {gItemIcon_Ether, gItemIconPalette_MaxEther},
+ [ITEM_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_Elixir},
+ [ITEM_MAX_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_MaxElixir},
+ [ITEM_LAVA_COOKIE] = {gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter},
+ [ITEM_BLUE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlueFlute},
+ [ITEM_YELLOW_FLUTE] = {gItemIcon_Flute, gItemIconPalette_YellowFlute},
+ [ITEM_RED_FLUTE] = {gItemIcon_Flute, gItemIconPalette_RedFlute},
+ [ITEM_BLACK_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlackFlute},
+ [ITEM_WHITE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_WhiteFlute},
+ [ITEM_BERRY_JUICE] = {gItemIcon_BerryJuice, gItemIconPalette_BerryJuice},
+ [ITEM_SACRED_ASH] = {gItemIcon_SacredAsh, gItemIconPalette_SacredAsh},
+ // Collectibles
+ [ITEM_SHOAL_SALT] = {gItemIcon_Powder, gItemIconPalette_ShoalSalt},
+ [ITEM_SHOAL_SHELL] = {gItemIcon_ShoalShell, gItemIconPalette_Shell},
+ [ITEM_RED_SHARD] = {gItemIcon_Shard, gItemIconPalette_RedShard},
+ [ITEM_BLUE_SHARD] = {gItemIcon_Shard, gItemIconPalette_BlueShard},
+ [ITEM_YELLOW_SHARD] = {gItemIcon_Shard, gItemIconPalette_YellowShard},
+ [ITEM_GREEN_SHARD] = {gItemIcon_Shard, gItemIconPalette_GreenShard},
+ // ????????
+ [ITEM_034] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_035] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_036] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_037] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_038] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_039] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03D] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03E] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Vitamins
+ [ITEM_HP_UP] = {gItemIcon_HPUp, gItemIconPalette_HPUp},
+ [ITEM_PROTEIN] = {gItemIcon_Vitamin, gItemIconPalette_Protein},
+ [ITEM_IRON] = {gItemIcon_Vitamin, gItemIconPalette_Iron},
+ [ITEM_CARBOS] = {gItemIcon_Vitamin, gItemIconPalette_Carbos},
+ [ITEM_CALCIUM] = {gItemIcon_Vitamin, gItemIconPalette_Calcium},
+ [ITEM_RARE_CANDY] = {gItemIcon_RareCandy, gItemIconPalette_RareCandy},
+ [ITEM_PP_UP] = {gItemIcon_PPUp, gItemIconPalette_PPUp},
+ [ITEM_ZINC] = {gItemIcon_Vitamin, gItemIconPalette_Zinc},
+ [ITEM_PP_MAX] = {gItemIcon_PPMax, gItemIconPalette_PPMax},
+ // ????????
+ [ITEM_048] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Battle items
+ [ITEM_GUARD_SPEC] = {gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec},
+ [ITEM_DIRE_HIT] = {gItemIcon_BattleStatItem, gItemIconPalette_DireHit},
+ [ITEM_X_ATTACK] = {gItemIcon_BattleStatItem, gItemIconPalette_XAttack},
+ [ITEM_X_DEFEND] = {gItemIcon_BattleStatItem, gItemIconPalette_XDefend},
+ [ITEM_X_SPEED] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpeed},
+ [ITEM_X_ACCURACY] = {gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy},
+ [ITEM_X_SPECIAL] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpecial},
+ [ITEM_POKE_DOLL] = {gItemIcon_PokeDoll, gItemIconPalette_PokeDoll},
+ [ITEM_FLUFFY_TAIL] = {gItemIcon_FluffyTail, gItemIconPalette_FluffyTail},
+ // ????????
+ [ITEM_052] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Field items
+ [ITEM_SUPER_REPEL] = {gItemIcon_Repel, gItemIconPalette_SuperRepel},
+ [ITEM_MAX_REPEL] = {gItemIcon_Repel, gItemIconPalette_MaxRepel},
+ [ITEM_ESCAPE_ROPE] = {gItemIcon_EscapeRope, gItemIconPalette_EscapeRope},
+ [ITEM_REPEL] = {gItemIcon_Repel, gItemIconPalette_Repel},
+ // ????????
+ [ITEM_057] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_058] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_059] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_05A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_05B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_05C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Evolution stones
+ [ITEM_SUN_STONE] = {gItemIcon_SunStone, gItemIconPalette_SunStone},
+ [ITEM_MOON_STONE] = {gItemIcon_MoonStone, gItemIconPalette_MoonStone},
+ [ITEM_FIRE_STONE] = {gItemIcon_FireStone, gItemIconPalette_FireStone},
+ [ITEM_THUNDER_STONE] = {gItemIcon_ThunderStone, gItemIconPalette_ThunderStone},
+ [ITEM_WATER_STONE] = {gItemIcon_WaterStone, gItemIconPalette_WaterStone},
+ [ITEM_LEAF_STONE] = {gItemIcon_LeafStone, gItemIconPalette_LeafStone},
+ // ????????
+ [ITEM_063] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_064] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_065] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_066] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Valuables
+ [ITEM_TINY_MUSHROOM] = {gItemIcon_TinyMushroom, gItemIconPalette_Mushroom},
+ [ITEM_BIG_MUSHROOM] = {gItemIcon_BigMushroom, gItemIconPalette_Mushroom},
+ [ITEM_069] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_PEARL] = {gItemIcon_Pearl, gItemIconPalette_Pearl},
+ [ITEM_BIG_PEARL] = {gItemIcon_BigPearl, gItemIconPalette_Pearl},
+ [ITEM_STARDUST] = {gItemIcon_Stardust, gItemIconPalette_Star},
+ [ITEM_STAR_PIECE] = {gItemIcon_StarPiece, gItemIconPalette_Star},
+ [ITEM_NUGGET] = {gItemIcon_Nugget, gItemIconPalette_Nugget},
+ [ITEM_HEART_SCALE] = {gItemIcon_HeartScale, gItemIconPalette_HeartScale},
+ // ????????
+ [ITEM_070] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_071] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_072] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_073] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_074] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_075] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_076] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_077] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_078] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Mail
+ [ITEM_ORANGE_MAIL] = {gItemIcon_OrangeMail, gItemIconPalette_OrangeMail},
+ [ITEM_HARBOR_MAIL] = {gItemIcon_HarborMail, gItemIconPalette_HarborMail},
+ [ITEM_GLITTER_MAIL] = {gItemIcon_GlitterMail, gItemIconPalette_GlitterMail},
+ [ITEM_MECH_MAIL] = {gItemIcon_MechMail, gItemIconPalette_MechMail},
+ [ITEM_WOOD_MAIL] = {gItemIcon_WoodMail, gItemIconPalette_WoodMail},
+ [ITEM_WAVE_MAIL] = {gItemIcon_WaveMail, gItemIconPalette_WaveMail},
+ [ITEM_BEAD_MAIL] = {gItemIcon_BeadMail, gItemIconPalette_BeadMail},
+ [ITEM_SHADOW_MAIL] = {gItemIcon_ShadowMail, gItemIconPalette_ShadowMail},
+ [ITEM_TROPIC_MAIL] = {gItemIcon_TropicMail, gItemIconPalette_TropicMail},
+ [ITEM_DREAM_MAIL] = {gItemIcon_DreamMail, gItemIconPalette_DreamMail},
+ [ITEM_FAB_MAIL] = {gItemIcon_FabMail, gItemIconPalette_FabMail},
+ [ITEM_RETRO_MAIL] = {gItemIcon_RetroMail, gItemIconPalette_RetroMail},
+ // Berries
+ [ITEM_CHERI_BERRY] = {gItemIcon_CheriBerry, gItemIconPalette_CheriBerry},
+ [ITEM_CHESTO_BERRY] = {gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry},
+ [ITEM_PECHA_BERRY] = {gItemIcon_PechaBerry, gItemIconPalette_PechaBerry},
+ [ITEM_RAWST_BERRY] = {gItemIcon_RawstBerry, gItemIconPalette_RawstBerry},
+ [ITEM_ASPEAR_BERRY] = {gItemIcon_AspearBerry, gItemIconPalette_AspearBerry},
+ [ITEM_LEPPA_BERRY] = {gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry},
+ [ITEM_ORAN_BERRY] = {gItemIcon_OranBerry, gItemIconPalette_OranBerry},
+ [ITEM_PERSIM_BERRY] = {gItemIcon_PersimBerry, gItemIconPalette_PersimBerry},
+ [ITEM_LUM_BERRY] = {gItemIcon_LumBerry, gItemIconPalette_LumBerry},
+ [ITEM_SITRUS_BERRY] = {gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry},
+ [ITEM_FIGY_BERRY] = {gItemIcon_FigyBerry, gItemIconPalette_FigyBerry},
+ [ITEM_WIKI_BERRY] = {gItemIcon_WikiBerry, gItemIconPalette_WikiBerry},
+ [ITEM_MAGO_BERRY] = {gItemIcon_MagoBerry, gItemIconPalette_MagoBerry},
+ [ITEM_AGUAV_BERRY] = {gItemIcon_AguavBerry, gItemIconPalette_AguavBerry},
+ [ITEM_IAPAPA_BERRY] = {gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry},
+ [ITEM_RAZZ_BERRY] = {gItemIcon_RazzBerry, gItemIconPalette_RazzBerry},
+ [ITEM_BLUK_BERRY] = {gItemIcon_BlukBerry, gItemIconPalette_BlukBerry},
+ [ITEM_NANAB_BERRY] = {gItemIcon_NanabBerry, gItemIconPalette_NanabBerry},
+ [ITEM_WEPEAR_BERRY] = {gItemIcon_WepearBerry, gItemIconPalette_WepearBerry},
+ [ITEM_PINAP_BERRY] = {gItemIcon_PinapBerry, gItemIconPalette_PinapBerry},
+ [ITEM_POMEG_BERRY] = {gItemIcon_PomegBerry, gItemIconPalette_PomegBerry},
+ [ITEM_KELPSY_BERRY] = {gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry},
+ [ITEM_QUALOT_BERRY] = {gItemIcon_QualotBerry, gItemIconPalette_QualotBerry},
+ [ITEM_HONDEW_BERRY] = {gItemIcon_HondewBerry, gItemIconPalette_HondewBerry},
+ [ITEM_GREPA_BERRY] = {gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry},
+ [ITEM_TAMATO_BERRY] = {gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry},
+ [ITEM_CORNN_BERRY] = {gItemIcon_CornnBerry, gItemIconPalette_CornnBerry},
+ [ITEM_MAGOST_BERRY] = {gItemIcon_MagostBerry, gItemIconPalette_MagostBerry},
+ [ITEM_RABUTA_BERRY] = {gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry},
+ [ITEM_NOMEL_BERRY] = {gItemIcon_NomelBerry, gItemIconPalette_NomelBerry},
+ [ITEM_SPELON_BERRY] = {gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry},
+ [ITEM_PAMTRE_BERRY] = {gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry},
+ [ITEM_WATMEL_BERRY] = {gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry},
+ [ITEM_DURIN_BERRY] = {gItemIcon_DurinBerry, gItemIconPalette_DurinBerry},
+ [ITEM_BELUE_BERRY] = {gItemIcon_BelueBerry, gItemIconPalette_BelueBerry},
+ [ITEM_LIECHI_BERRY] = {gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry},
+ [ITEM_GANLON_BERRY] = {gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry},
+ [ITEM_SALAC_BERRY] = {gItemIcon_SalacBerry, gItemIconPalette_SalacBerry},
+ [ITEM_PETAYA_BERRY] = {gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry},
+ [ITEM_APICOT_BERRY] = {gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry},
+ [ITEM_LANSAT_BERRY] = {gItemIcon_LansatBerry, gItemIconPalette_LansatBerry},
+ [ITEM_STARF_BERRY] = {gItemIcon_StarfBerry, gItemIconPalette_StarfBerry},
+ [ITEM_ENIGMA_BERRY] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry},
+ // ????????
+ [ITEM_0B0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0B1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0B2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Hold items
+ [ITEM_BRIGHT_POWDER] = {gItemIcon_BrightPowder, gItemIconPalette_BrightPowder},
+ [ITEM_WHITE_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb},
+ [ITEM_MACHO_BRACE] = {gItemIcon_MachoBrace, gItemIconPalette_MachoBrace},
+ [ITEM_EXP_SHARE] = {gItemIcon_ExpShare, gItemIconPalette_ExpShare},
+ [ITEM_QUICK_CLAW] = {gItemIcon_QuickClaw, gItemIconPalette_QuickClaw},
+ [ITEM_SOOTHE_BELL] = {gItemIcon_SootheBell, gItemIconPalette_SootheBell},
+ [ITEM_MENTAL_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb},
+ [ITEM_CHOICE_BAND] = {gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand},
+ [ITEM_KINGS_ROCK] = {gItemIcon_KingsRock, gItemIconPalette_KingsRock},
+ [ITEM_SILVER_POWDER] = {gItemIcon_SilverPowder, gItemIconPalette_SilverPowder},
+ [ITEM_AMULET_COIN] = {gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin},
+ [ITEM_CLEANSE_TAG] = {gItemIcon_CleanseTag, gItemIconPalette_CleanseTag},
+ [ITEM_SOUL_DEW] = {gItemIcon_SoulDew, gItemIconPalette_SoulDew},
+ [ITEM_DEEP_SEA_TOOTH] = {gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth},
+ [ITEM_DEEP_SEA_SCALE] = {gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale},
+ [ITEM_SMOKE_BALL] = {gItemIcon_SmokeBall, gItemIconPalette_SmokeBall},
+ [ITEM_EVERSTONE] = {gItemIcon_Everstone, gItemIconPalette_Everstone},
+ [ITEM_FOCUS_BAND] = {gItemIcon_FocusBand, gItemIconPalette_FocusBand},
+ [ITEM_LUCKY_EGG] = {gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg},
+ [ITEM_SCOPE_LENS] = {gItemIcon_ScopeLens, gItemIconPalette_ScopeLens},
+ [ITEM_METAL_COAT] = {gItemIcon_MetalCoat, gItemIconPalette_MetalCoat},
+ [ITEM_LEFTOVERS] = {gItemIcon_Leftovers, gItemIconPalette_Leftovers},
+ [ITEM_DRAGON_SCALE] = {gItemIcon_DragonScale, gItemIconPalette_DragonScale},
+ [ITEM_LIGHT_BALL] = {gItemIcon_LightBall, gItemIconPalette_LightBall},
+ [ITEM_SOFT_SAND] = {gItemIcon_SoftSand, gItemIconPalette_SoftSand},
+ [ITEM_HARD_STONE] = {gItemIcon_HardStone, gItemIconPalette_HardStone},
+ [ITEM_MIRACLE_SEED] = {gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed},
+ [ITEM_BLACK_GLASSES] = {gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem},
+ [ITEM_BLACK_BELT] = {gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem},
+ [ITEM_MAGNET] = {gItemIcon_Magnet, gItemIconPalette_Magnet},
+ [ITEM_MYSTIC_WATER] = {gItemIcon_MysticWater, gItemIconPalette_MysticWater},
+ [ITEM_SHARP_BEAK] = {gItemIcon_SharpBeak, gItemIconPalette_SharpBeak},
+ [ITEM_POISON_BARB] = {gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb},
+ [ITEM_NEVER_MELT_ICE] = {gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce},
+ [ITEM_SPELL_TAG] = {gItemIcon_SpellTag, gItemIconPalette_SpellTag},
+ [ITEM_TWISTED_SPOON] = {gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon},
+ [ITEM_CHARCOAL] = {gItemIcon_Charcoal, gItemIconPalette_Charcoal},
+ [ITEM_DRAGON_FANG] = {gItemIcon_DragonFang, gItemIconPalette_DragonFang},
+ [ITEM_SILK_SCARF] = {gItemIcon_SilkScarf, gItemIconPalette_SilkScarf},
+ [ITEM_UP_GRADE] = {gItemIcon_UpGrade, gItemIconPalette_UpGrade},
+ [ITEM_SHELL_BELL] = {gItemIcon_ShellBell, gItemIconPalette_Shell},
+ [ITEM_SEA_INCENSE] = {gItemIcon_SeaIncense, gItemIconPalette_SeaIncense},
+ [ITEM_LAX_INCENSE] = {gItemIcon_LaxIncense, gItemIconPalette_LaxIncense},
+ [ITEM_LUCKY_PUNCH] = {gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch},
+ [ITEM_METAL_POWDER] = {gItemIcon_MetalPowder, gItemIconPalette_MetalPowder},
+ [ITEM_THICK_CLUB] = {gItemIcon_ThickClub, gItemIconPalette_ThickClub},
+ [ITEM_STICK] = {gItemIcon_Stick, gItemIconPalette_Stick},
+ // ????????
+ [ITEM_0E2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0ED] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EF] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Contest hold items
+ [ITEM_RED_SCARF] = {gItemIcon_Scarf, gItemIconPalette_RedScarf},
+ [ITEM_BLUE_SCARF] = {gItemIcon_Scarf, gItemIconPalette_BlueScarf},
+ [ITEM_PINK_SCARF] = {gItemIcon_Scarf, gItemIconPalette_PinkScarf},
+ [ITEM_GREEN_SCARF] = {gItemIcon_Scarf, gItemIconPalette_GreenScarf},
+ [ITEM_YELLOW_SCARF] = {gItemIcon_Scarf, gItemIconPalette_YellowScarf},
+ // Key items
+ [ITEM_MACH_BIKE] = {gItemIcon_MachBike, gItemIconPalette_MachBike},
+ [ITEM_COIN_CASE] = {gItemIcon_CoinCase, gItemIconPalette_CoinCase},
+ [ITEM_ITEMFINDER] = {gItemIcon_Itemfinder, gItemIconPalette_Itemfinder},
+ [ITEM_OLD_ROD] = {gItemIcon_OldRod, gItemIconPalette_OldRod},
+ [ITEM_GOOD_ROD] = {gItemIcon_GoodRod, gItemIconPalette_GoodRod},
+ [ITEM_SUPER_ROD] = {gItemIcon_SuperRod, gItemIconPalette_SuperRod},
+ [ITEM_SS_TICKET] = {gItemIcon_SSTicket, gItemIconPalette_SSTicket},
+ [ITEM_CONTEST_PASS] = {gItemIcon_ContestPass, gItemIconPalette_ContestPass},
+ [ITEM_10B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_WAILMER_PAIL] = {gItemIcon_WailmerPail, gItemIconPalette_WailmerPail},
+ [ITEM_DEVON_GOODS] = {gItemIcon_DevonGoods, gItemIconPalette_DevonGoods},
+ [ITEM_SOOT_SACK] = {gItemIcon_SootSack, gItemIconPalette_SootSack},
+ [ITEM_BASEMENT_KEY] = {gItemIcon_BasementKey, gItemIconPalette_OldKey},
+ [ITEM_ACRO_BIKE] = {gItemIcon_AcroBike, gItemIconPalette_AcroBike},
+ [ITEM_POKEBLOCK_CASE] = {gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase},
+ [ITEM_LETTER] = {gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter},
+ [ITEM_EON_TICKET] = {gItemIcon_EonTicket, gItemIconPalette_EonTicket},
+ [ITEM_RED_ORB] = {gItemIcon_Orb, gItemIconPalette_RedOrb},
+ [ITEM_BLUE_ORB] = {gItemIcon_Orb, gItemIconPalette_BlueOrb},
+ [ITEM_SCANNER] = {gItemIcon_Scanner, gItemIconPalette_Scanner},
+ [ITEM_GO_GOGGLES] = {gItemIcon_GoGoggles, gItemIconPalette_GoGoggles},
+ [ITEM_METEORITE] = {gItemIcon_Meteorite, gItemIconPalette_Meteorite},
+ [ITEM_ROOM_1_KEY] = {gItemIcon_Room1Key, gItemIconPalette_Key},
+ [ITEM_ROOM_2_KEY] = {gItemIcon_Room2Key, gItemIconPalette_Key},
+ [ITEM_ROOM_4_KEY] = {gItemIcon_Room4Key, gItemIconPalette_Key},
+ [ITEM_ROOM_6_KEY] = {gItemIcon_Room6Key, gItemIconPalette_Key},
+ [ITEM_STORAGE_KEY] = {gItemIcon_StorageKey, gItemIconPalette_OldKey},
+ [ITEM_ROOT_FOSSIL] = {gItemIcon_RootFossil, gItemIconPalette_HoennFossil},
+ [ITEM_CLAW_FOSSIL] = {gItemIcon_ClawFossil, gItemIconPalette_HoennFossil},
+ [ITEM_DEVON_SCOPE] = {gItemIcon_DevonScope, gItemIconPalette_DevonScope},
+ // TMs / HMs
+ [ITEM_TM01] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM01
+ [ITEM_TM02] = {gItemIcon_TM, gItemIconPalette_DragonTMHM}, // TM02
+ [ITEM_TM03] = {gItemIcon_TM, gItemIconPalette_WaterTMHM}, // TM03
+ [ITEM_TM04] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM04
+ [ITEM_TM05] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM05
+ [ITEM_TM06] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM}, // TM06
+ [ITEM_TM07] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM07
+ [ITEM_TM08] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM08
+ [ITEM_TM09] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM09
+ [ITEM_TM10] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM10
+ [ITEM_TM11] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM11
+ [ITEM_TM12] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM12
+ [ITEM_TM13] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM13
+ [ITEM_TM14] = {gItemIcon_TM, gItemIconPalette_IceTMHM}, // TM14
+ [ITEM_TM15] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM15
+ [ITEM_TM16] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM16
+ [ITEM_TM17] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM17
+ [ITEM_TM18] = {gItemIcon_TM, gItemIconPalette_WaterTMHM}, // TM18
+ [ITEM_TM19] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM19
+ [ITEM_TM20] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM20
+ [ITEM_TM21] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM21
+ [ITEM_TM22] = {gItemIcon_TM, gItemIconPalette_GrassTMHM}, // TM22
+ [ITEM_TM23] = {gItemIcon_TM, gItemIconPalette_SteelTMHM}, // TM23
+ [ITEM_TM24] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM24
+ [ITEM_TM25] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM25
+ [ITEM_TM26] = {gItemIcon_TM, gItemIconPalette_GroundTMHM}, // TM26
+ [ITEM_TM27] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM27
+ [ITEM_TM28] = {gItemIcon_TM, gItemIconPalette_GroundTMHM}, // TM28
+ [ITEM_TM29] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM29
+ [ITEM_TM30] = {gItemIcon_TM, gItemIconPalette_GhostTMHM}, // TM30
+ [ITEM_TM31] = {gItemIcon_TM, gItemIconPalette_FightingTMHM}, // TM31
+ [ITEM_TM32] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM32
+ [ITEM_TM33] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM33
+ [ITEM_TM34] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM}, // TM34
+ [ITEM_TM35] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM35
+ [ITEM_TM36] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM}, // TM36
+ [ITEM_TM37] = {gItemIcon_TM, gItemIconPalette_RockTMHM}, // TM37
+ [ITEM_TM38] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM38
+ [ITEM_TM39] = {gItemIcon_TM, gItemIconPalette_RockTMHM}, // TM39
+ [ITEM_TM40] = {gItemIcon_TM, gItemIconPalette_FlyingTMHM}, // TM40
+ [ITEM_TM41] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM41
+ [ITEM_TM42] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM42
+ [ITEM_TM43] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM43
+ [ITEM_TM44] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM44
+ [ITEM_TM45] = {gItemIcon_TM, gItemIconPalette_NormalTMHM}, // TM45
+ [ITEM_TM46] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM46
+ [ITEM_TM47] = {gItemIcon_TM, gItemIconPalette_SteelTMHM}, // TM47
+ [ITEM_TM48] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM}, // TM48
+ [ITEM_TM49] = {gItemIcon_TM, gItemIconPalette_DarkTMHM}, // TM49
+ [ITEM_TM50] = {gItemIcon_TM, gItemIconPalette_FireTMHM}, // TM50
+ [ITEM_HM01] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM01
+ [ITEM_HM02] = {gItemIcon_HM, gItemIconPalette_FlyingTMHM}, // HM02
+ [ITEM_HM03] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM03
+ [ITEM_HM04] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM04
+ [ITEM_HM05] = {gItemIcon_HM, gItemIconPalette_NormalTMHM}, // HM05
+ [ITEM_HM06] = {gItemIcon_HM, gItemIconPalette_FightingTMHM}, // HM06
+ [ITEM_HM07] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM07
+ [ITEM_HM08] = {gItemIcon_HM, gItemIconPalette_WaterTMHM}, // HM08
+ // ????????
+ [ITEM_15B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_15C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // FireRed/LeafGreen key items
+ [ITEM_OAKS_PARCEL] = {gItemIcon_OaksParcel, gItemIconPalette_OaksParcel},
+ [ITEM_POKE_FLUTE] = {gItemIcon_PokeFlute, gItemIconPalette_PokeFlute},
+ [ITEM_SECRET_KEY] = {gItemIcon_SecretKey, gItemIconPalette_SecretKey},
+ [ITEM_BIKE_VOUCHER] = {gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher},
+ [ITEM_GOLD_TEETH] = {gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth},
+ [ITEM_OLD_AMBER] = {gItemIcon_OldAmber, gItemIconPalette_OldAmber},
+ [ITEM_CARD_KEY] = {gItemIcon_CardKey, gItemIconPalette_CardKey},
+ [ITEM_LIFT_KEY] = {gItemIcon_LiftKey, gItemIconPalette_Key},
+ [ITEM_HELIX_FOSSIL] = {gItemIcon_HelixFossil, gItemIconPalette_KantoFossil},
+ [ITEM_DOME_FOSSIL] = {gItemIcon_DomeFossil, gItemIconPalette_KantoFossil},
+ [ITEM_SILPH_SCOPE] = {gItemIcon_SilphScope, gItemIconPalette_SilphScope},
+ [ITEM_BICYCLE] = {gItemIcon_Bicycle, gItemIconPalette_Bicycle},
+ [ITEM_TOWN_MAP] = {gItemIcon_TownMap, gItemIconPalette_TownMap},
+ [ITEM_VS_SEEKER] = {gItemIcon_VSSeeker, gItemIconPalette_VSSeeker},
+ [ITEM_FAME_CHECKER] = {gItemIcon_FameChecker, gItemIconPalette_FameChecker},
+ [ITEM_TM_CASE] = {gItemIcon_TMCase, gItemIconPalette_TMCase},
+ [ITEM_BERRY_POUCH] = {gItemIcon_BerryPouch, gItemIconPalette_BerryPouch},
+ [ITEM_TEACHY_TV] = {gItemIcon_TeachyTV, gItemIconPalette_TeachyTV},
+ [ITEM_TRI_PASS] = {gItemIcon_TriPass, gItemIconPalette_TriPass},
+ [ITEM_RAINBOW_PASS] = {gItemIcon_RainbowPass, gItemIconPalette_RainbowPass},
+ [ITEM_TEA] = {gItemIcon_Tea, gItemIconPalette_Tea},
+ [ITEM_MYSTIC_TICKET] = {gItemIcon_MysticTicket, gItemIconPalette_MysticTicket},
+ [ITEM_AURORA_TICKET] = {gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket},
+ [ITEM_POWDER_JAR] = {gItemIcon_PowderJar, gItemIconPalette_PowderJar},
+ [ITEM_RUBY] = {gItemIcon_Gem, gItemIconPalette_Ruby},
+ [ITEM_SAPPHIRE] = {gItemIcon_Gem, gItemIconPalette_Sapphire},
+ // Emerald-only key items
+ [ITEM_MAGMA_EMBLEM] = {gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem},
+ [ITEM_OLD_SEA_MAP] = {gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap},
+ // Return to field arrow
+ [ITEM_FIELD_ARROW] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
};
-#endif // GUARD_DATA_ITEM_ICON_TABLE_H
diff --git a/src/data/items.h b/src/data/items.h
index 49f981faf..a36a13033 100644
--- a/src/data/items.h
+++ b/src/data/items.h
@@ -1,5 +1,6 @@
const struct Item gItems[] =
{
+ [ITEM_NONE] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -17,8 +18,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Pokeballs
+// Pokeballs
+ [ITEM_MASTER_BALL] =
{
.name = _("MASTER BALL"),
.itemId = ITEM_MASTER_BALL,
@@ -35,6 +37,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 0,
},
+
+ [ITEM_ULTRA_BALL] =
{
.name = _("ULTRA BALL"),
.itemId = ITEM_ULTRA_BALL,
@@ -51,6 +55,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 1,
},
+
+ [ITEM_GREAT_BALL] =
{
.name = _("GREAT BALL"),
.itemId = ITEM_GREAT_BALL,
@@ -67,6 +73,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 2,
},
+
+ [ITEM_POKE_BALL] =
{
.name = _("POKé BALL"),
.itemId = ITEM_POKE_BALL,
@@ -83,6 +91,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 3,
},
+
+ [ITEM_SAFARI_BALL] =
{
.name = _("SAFARI BALL"),
.itemId = ITEM_SAFARI_BALL,
@@ -99,6 +109,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 4,
},
+
+ [ITEM_NET_BALL] =
{
.name = _("NET BALL"),
.itemId = ITEM_NET_BALL,
@@ -115,6 +127,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 5,
},
+
+ [ITEM_DIVE_BALL] =
{
.name = _("DIVE BALL"),
.itemId = ITEM_DIVE_BALL,
@@ -131,6 +145,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 6,
},
+
+ [ITEM_NEST_BALL] =
{
.name = _("NEST BALL"),
.itemId = ITEM_NEST_BALL,
@@ -147,6 +163,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 7,
},
+
+ [ITEM_REPEAT_BALL] =
{
.name = _("REPEAT BALL"),
.itemId = ITEM_REPEAT_BALL,
@@ -163,6 +181,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 8,
},
+
+ [ITEM_TIMER_BALL] =
{
.name = _("TIMER BALL"),
.itemId = ITEM_TIMER_BALL,
@@ -179,6 +199,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 9,
},
+
+ [ITEM_LUXURY_BALL] =
{
.name = _("LUXURY BALL"),
.itemId = ITEM_LUXURY_BALL,
@@ -195,6 +217,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 10,
},
+
+ [ITEM_PREMIER_BALL] =
{
.name = _("PREMIER BALL"),
.itemId = ITEM_PREMIER_BALL,
@@ -212,8 +236,9 @@ const struct Item gItems[] =
.secondaryId = 11,
},
-//Medicine
+// Medicine
+ [ITEM_POTION] =
{
.name = _("POTION"),
.itemId = ITEM_POTION,
@@ -230,6 +255,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ANTIDOTE] =
{
.name = _("ANTIDOTE"),
.itemId = ITEM_ANTIDOTE,
@@ -246,6 +273,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_BURN_HEAL] =
{
.name = _("BURN HEAL"),
.itemId = ITEM_BURN_HEAL,
@@ -262,6 +291,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ICE_HEAL] =
{
.name = _("ICE HEAL"),
.itemId = ITEM_ICE_HEAL,
@@ -278,6 +309,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_AWAKENING] =
{
.name = _("AWAKENING"),
.itemId = ITEM_AWAKENING,
@@ -294,6 +327,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_PARALYZE_HEAL] =
{
.name = _("PARLYZ HEAL"),
.itemId = ITEM_PARALYZE_HEAL,
@@ -310,6 +345,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FULL_RESTORE] =
{
.name = _("FULL RESTORE"),
.itemId = ITEM_FULL_RESTORE,
@@ -326,6 +363,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_MAX_POTION] =
{
.name = _("MAX POTION"),
.itemId = ITEM_MAX_POTION,
@@ -342,6 +381,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_HYPER_POTION] =
{
.name = _("HYPER POTION"),
.itemId = ITEM_HYPER_POTION,
@@ -358,6 +399,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SUPER_POTION] =
{
.name = _("SUPER POTION"),
.itemId = ITEM_SUPER_POTION,
@@ -374,6 +417,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FULL_HEAL] =
{
.name = _("FULL HEAL"),
.itemId = ITEM_FULL_HEAL,
@@ -390,6 +435,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_REVIVE] =
{
.name = _("REVIVE"),
.itemId = ITEM_REVIVE,
@@ -406,6 +453,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_MAX_REVIVE] =
{
.name = _("MAX REVIVE"),
.itemId = ITEM_MAX_REVIVE,
@@ -422,6 +471,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FRESH_WATER] =
{
.name = _("FRESH WATER"),
.itemId = ITEM_FRESH_WATER,
@@ -438,6 +489,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SODA_POP] =
{
.name = _("SODA POP"),
.itemId = ITEM_SODA_POP,
@@ -454,6 +507,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_LEMONADE] =
{
.name = _("LEMONADE"),
.itemId = ITEM_LEMONADE,
@@ -470,6 +525,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_MOOMOO_MILK] =
{
.name = _("MOOMOO MILK"),
.itemId = ITEM_MOOMOO_MILK,
@@ -486,6 +543,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ENERGY_POWDER] =
{
.name = _("ENERGYPOWDER"),
.itemId = ITEM_ENERGY_POWDER,
@@ -502,6 +561,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ENERGY_ROOT] =
{
.name = _("ENERGY ROOT"),
.itemId = ITEM_ENERGY_ROOT,
@@ -518,6 +579,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_HEAL_POWDER] =
{
.name = _("HEAL POWDER"),
.itemId = ITEM_HEAL_POWDER,
@@ -534,6 +597,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_REVIVAL_HERB] =
{
.name = _("REVIVAL HERB"),
.itemId = ITEM_REVIVAL_HERB,
@@ -550,6 +615,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ETHER] =
{
.name = _("ETHER"),
.itemId = ITEM_ETHER,
@@ -566,6 +633,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_MAX_ETHER] =
{
.name = _("MAX ETHER"),
.itemId = ITEM_MAX_ETHER,
@@ -582,6 +651,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_ELIXIR] =
{
.name = _("ELIXIR"),
.itemId = ITEM_ELIXIR,
@@ -598,6 +669,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_MAX_ELIXIR] =
{
.name = _("MAX ELIXIR"),
.itemId = ITEM_MAX_ELIXIR,
@@ -614,6 +687,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_LAVA_COOKIE] =
{
.name = _("LAVA COOKIE"),
.itemId = ITEM_LAVA_COOKIE,
@@ -630,6 +705,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_FLUTE] =
{
.name = _("BLUE FLUTE"),
.itemId = ITEM_BLUE_FLUTE,
@@ -646,6 +723,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_YELLOW_FLUTE] =
{
.name = _("YELLOW FLUTE"),
.itemId = ITEM_YELLOW_FLUTE,
@@ -662,6 +741,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_RED_FLUTE] =
{
.name = _("RED FLUTE"),
.itemId = ITEM_RED_FLUTE,
@@ -678,6 +759,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_BLACK_FLUTE] =
{
.name = _("BLACK FLUTE"),
.itemId = ITEM_BLACK_FLUTE,
@@ -694,6 +777,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WHITE_FLUTE] =
{
.name = _("WHITE FLUTE"),
.itemId = ITEM_WHITE_FLUTE,
@@ -710,6 +795,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BERRY_JUICE] =
{
.name = _("BERRY JUICE"),
.itemId = ITEM_BERRY_JUICE,
@@ -726,6 +813,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SACRED_ASH] =
{
.name = _("SACRED ASH"),
.itemId = ITEM_SACRED_ASH,
@@ -743,8 +832,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Collectibles
+// Collectibles
+ [ITEM_SHOAL_SALT] =
{
.name = _("SHOAL SALT"),
.itemId = ITEM_SHOAL_SALT,
@@ -761,6 +851,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SHOAL_SHELL] =
{
.name = _("SHOAL SHELL"),
.itemId = ITEM_SHOAL_SHELL,
@@ -777,6 +869,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RED_SHARD] =
{
.name = _("RED SHARD"),
.itemId = ITEM_RED_SHARD,
@@ -793,6 +887,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_SHARD] =
{
.name = _("BLUE SHARD"),
.itemId = ITEM_BLUE_SHARD,
@@ -809,6 +905,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_YELLOW_SHARD] =
{
.name = _("YELLOW SHARD"),
.itemId = ITEM_YELLOW_SHARD,
@@ -825,6 +923,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GREEN_SHARD] =
{
.name = _("GREEN SHARD"),
.itemId = ITEM_GREEN_SHARD,
@@ -841,6 +941,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_034] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -857,6 +959,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_035] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -873,6 +977,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_036] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -889,6 +995,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_037] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -905,6 +1013,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_038] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -921,6 +1031,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_039] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -937,6 +1049,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03A] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -953,6 +1067,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -969,6 +1085,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03C] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -985,6 +1103,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03D] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1001,6 +1121,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03E] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1018,8 +1140,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Vitamins
+// Vitamins
+ [ITEM_HP_UP] =
{
.name = _("HP UP"),
.itemId = ITEM_HP_UP,
@@ -1036,6 +1159,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PROTEIN] =
{
.name = _("PROTEIN"),
.itemId = ITEM_PROTEIN,
@@ -1052,6 +1177,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_IRON] =
{
.name = _("IRON"),
.itemId = ITEM_IRON,
@@ -1068,6 +1195,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CARBOS] =
{
.name = _("CARBOS"),
.itemId = ITEM_CARBOS,
@@ -1084,6 +1213,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CALCIUM] =
{
.name = _("CALCIUM"),
.itemId = ITEM_CALCIUM,
@@ -1100,6 +1231,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RARE_CANDY] =
{
.name = _("RARE CANDY"),
.itemId = ITEM_RARE_CANDY,
@@ -1116,6 +1249,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PP_UP] =
{
.name = _("PP UP"),
.itemId = ITEM_PP_UP,
@@ -1132,6 +1267,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ZINC] =
{
.name = _("ZINC"),
.itemId = ITEM_ZINC,
@@ -1148,6 +1285,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PP_MAX] =
{
.name = _("PP MAX"),
.itemId = ITEM_PP_MAX,
@@ -1164,6 +1303,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_048] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1181,8 +1322,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Battle items
+// Battle items
+ [ITEM_GUARD_SPEC] =
{
.name = _("GUARD SPEC."),
.itemId = ITEM_GUARD_SPEC,
@@ -1199,6 +1341,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_DIRE_HIT] =
{
.name = _("DIRE HIT"),
.itemId = ITEM_DIRE_HIT,
@@ -1215,6 +1359,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_ATTACK] =
{
.name = _("X ATTACK"),
.itemId = ITEM_X_ATTACK,
@@ -1231,6 +1377,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_DEFEND] =
{
.name = _("X DEFEND"),
.itemId = ITEM_X_DEFEND,
@@ -1247,6 +1395,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_SPEED] =
{
.name = _("X SPEED"),
.itemId = ITEM_X_SPEED,
@@ -1263,6 +1413,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_ACCURACY] =
{
.name = _("X ACCURACY"),
.itemId = ITEM_X_ACCURACY,
@@ -1279,6 +1431,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_SPECIAL] =
{
.name = _("X SPECIAL"),
.itemId = ITEM_X_SPECIAL,
@@ -1295,6 +1449,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_POKE_DOLL] =
{
.name = _("POKé DOLL"),
.itemId = ITEM_POKE_DOLL,
@@ -1311,6 +1467,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Escape,
.secondaryId = 0,
},
+
+ [ITEM_FLUFFY_TAIL] =
{
.name = _("FLUFFY TAIL"),
.itemId = ITEM_FLUFFY_TAIL,
@@ -1327,6 +1485,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Escape,
.secondaryId = 0,
},
+
+ [ITEM_052] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1344,8 +1504,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Field items
+// Field items
+ [ITEM_SUPER_REPEL] =
{
.name = _("SUPER REPEL"),
.itemId = ITEM_SUPER_REPEL,
@@ -1362,6 +1523,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAX_REPEL] =
{
.name = _("MAX REPEL"),
.itemId = ITEM_MAX_REPEL,
@@ -1378,6 +1541,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ESCAPE_ROPE] =
{
.name = _("ESCAPE ROPE"),
.itemId = ITEM_ESCAPE_ROPE,
@@ -1394,6 +1559,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_REPEL] =
{
.name = _("REPEL"),
.itemId = ITEM_REPEL,
@@ -1410,6 +1577,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_057] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1426,6 +1595,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_058] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1442,6 +1613,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_059] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1458,6 +1631,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_05A] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1474,6 +1649,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_05B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1490,6 +1667,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_05C] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1507,8 +1686,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Evolution stones
+// Evolution stones
+ [ITEM_SUN_STONE] =
{
.name = _("SUN STONE"),
.itemId = ITEM_SUN_STONE,
@@ -1525,6 +1705,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MOON_STONE] =
{
.name = _("MOON STONE"),
.itemId = ITEM_MOON_STONE,
@@ -1541,6 +1723,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_FIRE_STONE] =
{
.name = _("FIRE STONE"),
.itemId = ITEM_FIRE_STONE,
@@ -1557,6 +1741,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_THUNDER_STONE] =
{
.name = _("THUNDERSTONE"),
.itemId = ITEM_THUNDER_STONE,
@@ -1573,6 +1759,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WATER_STONE] =
{
.name = _("WATER STONE"),
.itemId = ITEM_WATER_STONE,
@@ -1589,6 +1777,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LEAF_STONE] =
{
.name = _("LEAF STONE"),
.itemId = ITEM_LEAF_STONE,
@@ -1605,6 +1795,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_063] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1621,6 +1813,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_064] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1637,6 +1831,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_065] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1653,6 +1849,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_066] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1670,8 +1868,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Valuable items
+// Valuable items
+ [ITEM_TINY_MUSHROOM] =
{
.name = _("TINYMUSHROOM"),
.itemId = ITEM_TINY_MUSHROOM,
@@ -1688,6 +1887,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BIG_MUSHROOM] =
{
.name = _("BIG MUSHROOM"),
.itemId = ITEM_BIG_MUSHROOM,
@@ -1704,6 +1905,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_069] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1720,6 +1923,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PEARL] =
{
.name = _("PEARL"),
.itemId = ITEM_PEARL,
@@ -1736,6 +1941,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BIG_PEARL] =
{
.name = _("BIG PEARL"),
.itemId = ITEM_BIG_PEARL,
@@ -1752,6 +1959,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STARDUST] =
{
.name = _("STARDUST"),
.itemId = ITEM_STARDUST,
@@ -1768,6 +1977,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STAR_PIECE] =
{
.name = _("STAR PIECE"),
.itemId = ITEM_STAR_PIECE,
@@ -1784,6 +1995,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NUGGET] =
{
.name = _("NUGGET"),
.itemId = ITEM_NUGGET,
@@ -1800,6 +2013,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HEART_SCALE] =
{
.name = _("HEART SCALE"),
.itemId = ITEM_HEART_SCALE,
@@ -1816,6 +2031,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_070] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1832,6 +2049,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_071] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1848,6 +2067,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_072] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1864,6 +2085,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_073] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1880,6 +2103,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_074] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1896,6 +2121,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_075] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1912,6 +2139,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_076] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1928,6 +2157,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_077] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1944,6 +2175,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_078] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1961,7 +2194,8 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Mail
+// Mail
+ [ITEM_ORANGE_MAIL] =
{
.name = _("ORANGE MAIL"),
.itemId = ITEM_ORANGE_MAIL,
@@ -1978,6 +2212,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HARBOR_MAIL] =
{
.name = _("HARBOR MAIL"),
.itemId = ITEM_HARBOR_MAIL,
@@ -1994,6 +2230,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_GLITTER_MAIL] =
{
.name = _("GLITTER MAIL"),
.itemId = ITEM_GLITTER_MAIL,
@@ -2010,6 +2248,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 2,
},
+
+ [ITEM_MECH_MAIL] =
{
.name = _("MECH MAIL"),
.itemId = ITEM_MECH_MAIL,
@@ -2026,6 +2266,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 3,
},
+
+ [ITEM_WOOD_MAIL] =
{
.name = _("WOOD MAIL"),
.itemId = ITEM_WOOD_MAIL,
@@ -2042,6 +2284,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 4,
},
+
+ [ITEM_WAVE_MAIL] =
{
.name = _("WAVE MAIL"),
.itemId = ITEM_WAVE_MAIL,
@@ -2058,6 +2302,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 5,
},
+
+ [ITEM_BEAD_MAIL] =
{
.name = _("BEAD MAIL"),
.itemId = ITEM_BEAD_MAIL,
@@ -2074,6 +2320,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 6,
},
+
+ [ITEM_SHADOW_MAIL] =
{
.name = _("SHADOW MAIL"),
.itemId = ITEM_SHADOW_MAIL,
@@ -2090,6 +2338,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 7,
},
+
+ [ITEM_TROPIC_MAIL] =
{
.name = _("TROPIC MAIL"),
.itemId = ITEM_TROPIC_MAIL,
@@ -2106,6 +2356,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 8,
},
+
+ [ITEM_DREAM_MAIL] =
{
.name = _("DREAM MAIL"),
.itemId = ITEM_DREAM_MAIL,
@@ -2122,6 +2374,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 9,
},
+
+ [ITEM_FAB_MAIL] =
{
.name = _("FAB MAIL"),
.itemId = ITEM_FAB_MAIL,
@@ -2138,6 +2392,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 10,
},
+
+ [ITEM_RETRO_MAIL] =
{
.name = _("RETRO MAIL"),
.itemId = ITEM_RETRO_MAIL,
@@ -2155,8 +2411,9 @@ const struct Item gItems[] =
.secondaryId = 11,
},
-//Berries
+// Berries
+ [ITEM_CHERI_BERRY] =
{
.name = _("CHERI BERRY"),
.itemId = ITEM_CHERI_BERRY,
@@ -2173,6 +2430,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_CHESTO_BERRY] =
{
.name = _("CHESTO BERRY"),
.itemId = ITEM_CHESTO_BERRY,
@@ -2189,6 +2448,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_PECHA_BERRY] =
{
.name = _("PECHA BERRY"),
.itemId = ITEM_PECHA_BERRY,
@@ -2205,6 +2466,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_RAWST_BERRY] =
{
.name = _("RAWST BERRY"),
.itemId = ITEM_RAWST_BERRY,
@@ -2221,6 +2484,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ASPEAR_BERRY] =
{
.name = _("ASPEAR BERRY"),
.itemId = ITEM_ASPEAR_BERRY,
@@ -2237,6 +2502,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_LEPPA_BERRY] =
{
.name = _("LEPPA BERRY"),
.itemId = ITEM_LEPPA_BERRY,
@@ -2253,6 +2520,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_ORAN_BERRY] =
{
.name = _("ORAN BERRY"),
.itemId = ITEM_ORAN_BERRY,
@@ -2269,6 +2538,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_PERSIM_BERRY] =
{
.name = _("PERSIM BERRY"),
.itemId = ITEM_PERSIM_BERRY,
@@ -2285,6 +2556,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_LUM_BERRY] =
{
.name = _("LUM BERRY"),
.itemId = ITEM_LUM_BERRY,
@@ -2301,6 +2574,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SITRUS_BERRY] =
{
.name = _("SITRUS BERRY"),
.itemId = ITEM_SITRUS_BERRY,
@@ -2317,6 +2592,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FIGY_BERRY] =
{
.name = _("FIGY BERRY"),
.itemId = ITEM_FIGY_BERRY,
@@ -2333,6 +2610,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WIKI_BERRY] =
{
.name = _("WIKI BERRY"),
.itemId = ITEM_WIKI_BERRY,
@@ -2349,6 +2628,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAGO_BERRY] =
{
.name = _("MAGO BERRY"),
.itemId = ITEM_MAGO_BERRY,
@@ -2365,6 +2646,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_AGUAV_BERRY] =
{
.name = _("AGUAV BERRY"),
.itemId = ITEM_AGUAV_BERRY,
@@ -2381,6 +2664,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_IAPAPA_BERRY] =
{
.name = _("IAPAPA BERRY"),
.itemId = ITEM_IAPAPA_BERRY,
@@ -2397,6 +2682,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RAZZ_BERRY] =
{
.name = _("RAZZ BERRY"),
.itemId = ITEM_RAZZ_BERRY,
@@ -2413,6 +2700,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUK_BERRY] =
{
.name = _("BLUK BERRY"),
.itemId = ITEM_BLUK_BERRY,
@@ -2429,6 +2718,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NANAB_BERRY] =
{
.name = _("NANAB BERRY"),
.itemId = ITEM_NANAB_BERRY,
@@ -2445,6 +2736,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WEPEAR_BERRY] =
{
.name = _("WEPEAR BERRY"),
.itemId = ITEM_WEPEAR_BERRY,
@@ -2461,6 +2754,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PINAP_BERRY] =
{
.name = _("PINAP BERRY"),
.itemId = ITEM_PINAP_BERRY,
@@ -2477,6 +2772,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_POMEG_BERRY] =
{
.name = _("POMEG BERRY"),
.itemId = ITEM_POMEG_BERRY,
@@ -2493,6 +2790,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_KELPSY_BERRY] =
{
.name = _("KELPSY BERRY"),
.itemId = ITEM_KELPSY_BERRY,
@@ -2509,6 +2808,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_QUALOT_BERRY] =
{
.name = _("QUALOT BERRY"),
.itemId = ITEM_QUALOT_BERRY,
@@ -2525,6 +2826,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HONDEW_BERRY] =
{
.name = _("HONDEW BERRY"),
.itemId = ITEM_HONDEW_BERRY,
@@ -2541,6 +2844,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GREPA_BERRY] =
{
.name = _("GREPA BERRY"),
.itemId = ITEM_GREPA_BERRY,
@@ -2557,6 +2862,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TAMATO_BERRY] =
{
.name = _("TAMATO BERRY"),
.itemId = ITEM_TAMATO_BERRY,
@@ -2573,6 +2880,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CORNN_BERRY] =
{
.name = _("CORNN BERRY"),
.itemId = ITEM_CORNN_BERRY,
@@ -2589,6 +2898,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAGOST_BERRY] =
{
.name = _("MAGOST BERRY"),
.itemId = ITEM_MAGOST_BERRY,
@@ -2605,6 +2916,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RABUTA_BERRY] =
{
.name = _("RABUTA BERRY"),
.itemId = ITEM_RABUTA_BERRY,
@@ -2621,6 +2934,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NOMEL_BERRY] =
{
.name = _("NOMEL BERRY"),
.itemId = ITEM_NOMEL_BERRY,
@@ -2637,6 +2952,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SPELON_BERRY] =
{
.name = _("SPELON BERRY"),
.itemId = ITEM_SPELON_BERRY,
@@ -2653,6 +2970,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PAMTRE_BERRY] =
{
.name = _("PAMTRE BERRY"),
.itemId = ITEM_PAMTRE_BERRY,
@@ -2669,6 +2988,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WATMEL_BERRY] =
{
.name = _("WATMEL BERRY"),
.itemId = ITEM_WATMEL_BERRY,
@@ -2685,6 +3006,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DURIN_BERRY] =
{
.name = _("DURIN BERRY"),
.itemId = ITEM_DURIN_BERRY,
@@ -2701,6 +3024,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BELUE_BERRY] =
{
.name = _("BELUE BERRY"),
.itemId = ITEM_BELUE_BERRY,
@@ -2717,6 +3042,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LIECHI_BERRY] =
{
.name = _("LIECHI BERRY"),
.itemId = ITEM_LIECHI_BERRY,
@@ -2733,6 +3060,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GANLON_BERRY] =
{
.name = _("GANLON BERRY"),
.itemId = ITEM_GANLON_BERRY,
@@ -2749,6 +3078,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SALAC_BERRY] =
{
.name = _("SALAC BERRY"),
.itemId = ITEM_SALAC_BERRY,
@@ -2765,6 +3096,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PETAYA_BERRY] =
{
.name = _("PETAYA BERRY"),
.itemId = ITEM_PETAYA_BERRY,
@@ -2781,6 +3114,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_APICOT_BERRY] =
{
.name = _("APICOT BERRY"),
.itemId = ITEM_APICOT_BERRY,
@@ -2797,6 +3132,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LANSAT_BERRY] =
{
.name = _("LANSAT BERRY"),
.itemId = ITEM_LANSAT_BERRY,
@@ -2813,6 +3150,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STARF_BERRY] =
{
.name = _("STARF BERRY"),
.itemId = ITEM_STARF_BERRY,
@@ -2829,6 +3168,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ENIGMA_BERRY] =
{
.name = _("ENIGMA BERRY"),
.itemId = ITEM_ENIGMA_BERRY,
@@ -2845,6 +3186,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_EnigmaBerry,
.secondaryId = 0,
},
+
+ [ITEM_0B0] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -2861,6 +3204,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0B1] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -2877,6 +3222,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0B2] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -2894,8 +3241,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Hold items
+// Hold items
+ [ITEM_BRIGHT_POWDER] =
{
.name = _("BRIGHTPOWDER"),
.itemId = ITEM_BRIGHT_POWDER,
@@ -2912,6 +3260,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WHITE_HERB] =
{
.name = _("WHITE HERB"),
.itemId = ITEM_WHITE_HERB,
@@ -2928,6 +3278,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MACHO_BRACE] =
{
.name = _("MACHO BRACE"),
.itemId = ITEM_MACHO_BRACE,
@@ -2944,6 +3296,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_EXP_SHARE] =
{
.name = _("EXP. SHARE"),
.itemId = ITEM_EXP_SHARE,
@@ -2960,6 +3314,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_QUICK_CLAW] =
{
.name = _("QUICK CLAW"),
.itemId = ITEM_QUICK_CLAW,
@@ -2976,6 +3332,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOOTHE_BELL] =
{
.name = _("SOOTHE BELL"),
.itemId = ITEM_SOOTHE_BELL,
@@ -2992,6 +3350,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MENTAL_HERB] =
{
.name = _("MENTAL HERB"),
.itemId = ITEM_MENTAL_HERB,
@@ -3008,6 +3368,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CHOICE_BAND] =
{
.name = _("CHOICE BAND"),
.itemId = ITEM_CHOICE_BAND,
@@ -3024,6 +3386,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_KINGS_ROCK] =
{
.name = _("KING’S ROCK"),
.itemId = ITEM_KINGS_ROCK,
@@ -3040,6 +3404,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SILVER_POWDER] =
{
.name = _("SILVERPOWDER"),
.itemId = ITEM_SILVER_POWDER,
@@ -3056,6 +3422,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_AMULET_COIN] =
{
.name = _("AMULET COIN"),
.itemId = ITEM_AMULET_COIN,
@@ -3072,6 +3440,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CLEANSE_TAG] =
{
.name = _("CLEANSE TAG"),
.itemId = ITEM_CLEANSE_TAG,
@@ -3088,6 +3458,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOUL_DEW] =
{
.name = _("SOUL DEW"),
.itemId = ITEM_SOUL_DEW,
@@ -3104,6 +3476,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEEP_SEA_TOOTH] =
{
.name = _("DEEPSEATOOTH"),
.itemId = ITEM_DEEP_SEA_TOOTH,
@@ -3120,6 +3494,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEEP_SEA_SCALE] =
{
.name = _("DEEPSEASCALE"),
.itemId = ITEM_DEEP_SEA_SCALE,
@@ -3136,6 +3512,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SMOKE_BALL] =
{
.name = _("SMOKE BALL"),
.itemId = ITEM_SMOKE_BALL,
@@ -3152,6 +3530,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_EVERSTONE] =
{
.name = _("EVERSTONE"),
.itemId = ITEM_EVERSTONE,
@@ -3168,6 +3548,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_FOCUS_BAND] =
{
.name = _("FOCUS BAND"),
.itemId = ITEM_FOCUS_BAND,
@@ -3184,6 +3566,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LUCKY_EGG] =
{
.name = _("LUCKY EGG"),
.itemId = ITEM_LUCKY_EGG,
@@ -3200,6 +3584,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SCOPE_LENS] =
{
.name = _("SCOPE LENS"),
.itemId = ITEM_SCOPE_LENS,
@@ -3216,6 +3602,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_METAL_COAT] =
{
.name = _("METAL COAT"),
.itemId = ITEM_METAL_COAT,
@@ -3232,6 +3620,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LEFTOVERS] =
{
.name = _("LEFTOVERS"),
.itemId = ITEM_LEFTOVERS,
@@ -3248,6 +3638,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DRAGON_SCALE] =
{
.name = _("DRAGON SCALE"),
.itemId = ITEM_DRAGON_SCALE,
@@ -3264,6 +3656,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LIGHT_BALL] =
{
.name = _("LIGHT BALL"),
.itemId = ITEM_LIGHT_BALL,
@@ -3280,6 +3674,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOFT_SAND] =
{
.name = _("SOFT SAND"),
.itemId = ITEM_SOFT_SAND,
@@ -3296,6 +3692,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HARD_STONE] =
{
.name = _("HARD STONE"),
.itemId = ITEM_HARD_STONE,
@@ -3312,6 +3710,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MIRACLE_SEED] =
{
.name = _("MIRACLE SEED"),
.itemId = ITEM_MIRACLE_SEED,
@@ -3328,6 +3728,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLACK_GLASSES] =
{
.name = _("BLACKGLASSES"),
.itemId = ITEM_BLACK_GLASSES,
@@ -3344,6 +3746,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLACK_BELT] =
{
.name = _("BLACK BELT"),
.itemId = ITEM_BLACK_BELT,
@@ -3360,6 +3764,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAGNET] =
{
.name = _("MAGNET"),
.itemId = ITEM_MAGNET,
@@ -3376,6 +3782,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MYSTIC_WATER] =
{
.name = _("MYSTIC WATER"),
.itemId = ITEM_MYSTIC_WATER,
@@ -3392,6 +3800,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SHARP_BEAK] =
{
.name = _("SHARP BEAK"),
.itemId = ITEM_SHARP_BEAK,
@@ -3408,6 +3818,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_POISON_BARB] =
{
.name = _("POISON BARB"),
.itemId = ITEM_POISON_BARB,
@@ -3424,6 +3836,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NEVER_MELT_ICE] =
{
.name = _("NEVERMELTICE"),
.itemId = ITEM_NEVER_MELT_ICE,
@@ -3440,6 +3854,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SPELL_TAG] =
{
.name = _("SPELL TAG"),
.itemId = ITEM_SPELL_TAG,
@@ -3456,6 +3872,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TWISTED_SPOON] =
{
.name = _("TWISTEDSPOON"),
.itemId = ITEM_TWISTED_SPOON,
@@ -3472,6 +3890,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CHARCOAL] =
{
.name = _("CHARCOAL"),
.itemId = ITEM_CHARCOAL,
@@ -3488,6 +3908,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DRAGON_FANG] =
{
.name = _("DRAGON FANG"),
.itemId = ITEM_DRAGON_FANG,
@@ -3504,6 +3926,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SILK_SCARF] =
{
.name = _("SILK SCARF"),
.itemId = ITEM_SILK_SCARF,
@@ -3520,6 +3944,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_UP_GRADE] =
{
.name = _("UP-GRADE"),
.itemId = ITEM_UP_GRADE,
@@ -3536,6 +3962,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SHELL_BELL] =
{
.name = _("SHELL BELL"),
.itemId = ITEM_SHELL_BELL,
@@ -3552,6 +3980,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SEA_INCENSE] =
{
.name = _("SEA INCENSE"),
.itemId = ITEM_SEA_INCENSE,
@@ -3568,6 +3998,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LAX_INCENSE] =
{
.name = _("LAX INCENSE"),
.itemId = ITEM_LAX_INCENSE,
@@ -3584,6 +4016,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LUCKY_PUNCH] =
{
.name = _("LUCKY PUNCH"),
.itemId = ITEM_LUCKY_PUNCH,
@@ -3600,6 +4034,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_METAL_POWDER] =
{
.name = _("METAL POWDER"),
.itemId = ITEM_METAL_POWDER,
@@ -3616,6 +4052,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_THICK_CLUB] =
{
.name = _("THICK CLUB"),
.itemId = ITEM_THICK_CLUB,
@@ -3632,6 +4070,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STICK] =
{
.name = _("STICK"),
.itemId = ITEM_STICK,
@@ -3648,6 +4088,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E2] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3664,6 +4106,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E3] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3680,6 +4124,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E4] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3696,6 +4142,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E5] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3712,6 +4160,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E6] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3728,6 +4178,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E7] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3744,6 +4196,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E8] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3760,6 +4214,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E9] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3776,6 +4232,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EA] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3792,6 +4250,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EB] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3808,6 +4268,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EC] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3824,6 +4286,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0ED] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3840,6 +4304,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EE] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3856,6 +4322,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EF] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3872,6 +4340,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F0] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3888,6 +4358,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F1] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3904,6 +4376,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F2] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3920,6 +4394,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F3] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3936,6 +4412,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F4] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3952,6 +4430,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F5] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3968,6 +4448,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F6] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3984,6 +4466,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F7] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4000,6 +4484,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F8] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4016,6 +4502,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F9] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4032,6 +4520,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FA] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4048,6 +4538,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FB] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4064,6 +4556,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FC] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4080,6 +4574,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FD] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4096,6 +4592,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RED_SCARF] =
{
.name = _("RED SCARF"),
.itemId = ITEM_RED_SCARF,
@@ -4112,6 +4610,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_SCARF] =
{
.name = _("BLUE SCARF"),
.itemId = ITEM_BLUE_SCARF,
@@ -4128,6 +4628,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PINK_SCARF] =
{
.name = _("PINK SCARF"),
.itemId = ITEM_PINK_SCARF,
@@ -4144,6 +4646,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GREEN_SCARF] =
{
.name = _("GREEN SCARF"),
.itemId = ITEM_GREEN_SCARF,
@@ -4160,6 +4664,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_YELLOW_SCARF] =
{
.name = _("YELLOW SCARF"),
.itemId = ITEM_YELLOW_SCARF,
@@ -4177,8 +4683,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Key items
+// Key items
+ [ITEM_MACH_BIKE] =
{
.name = _("MACH BIKE"),
.itemId = ITEM_MACH_BIKE,
@@ -4195,6 +4702,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_COIN_CASE] =
{
.name = _("COIN CASE"),
.itemId = ITEM_COIN_CASE,
@@ -4211,6 +4720,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ITEMFINDER] =
{
.name = _("ITEMFINDER"),
.itemId = ITEM_ITEMFINDER,
@@ -4227,6 +4738,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_OLD_ROD] =
{
.name = _("OLD ROD"),
.itemId = ITEM_OLD_ROD,
@@ -4243,6 +4756,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GOOD_ROD] =
{
.name = _("GOOD ROD"),
.itemId = ITEM_GOOD_ROD,
@@ -4259,6 +4774,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_SUPER_ROD] =
{
.name = _("SUPER ROD"),
.itemId = ITEM_SUPER_ROD,
@@ -4275,6 +4792,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 2,
},
+
+ [ITEM_SS_TICKET] =
{
.name = _("S.S. TICKET"),
.itemId = ITEM_SS_TICKET,
@@ -4291,6 +4810,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CONTEST_PASS] =
{
.name = _("CONTEST PASS"),
.itemId = ITEM_CONTEST_PASS,
@@ -4307,6 +4828,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_10B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4323,6 +4846,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WAILMER_PAIL] =
{
.name = _("WAILMER PAIL"),
.itemId = ITEM_WAILMER_PAIL,
@@ -4339,6 +4864,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEVON_GOODS] =
{
.name = _("DEVON GOODS"),
.itemId = ITEM_DEVON_GOODS,
@@ -4355,6 +4882,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOOT_SACK] =
{
.name = _("SOOT SACK"),
.itemId = ITEM_SOOT_SACK,
@@ -4371,6 +4900,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BASEMENT_KEY] =
{
.name = _("BASEMENT KEY"),
.itemId = ITEM_BASEMENT_KEY,
@@ -4387,6 +4918,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ACRO_BIKE] =
{
.name = _("ACRO BIKE"),
.itemId = ITEM_ACRO_BIKE,
@@ -4403,6 +4936,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_POKEBLOCK_CASE] =
{
.name = _("{POKEBLOCK} CASE"),
.itemId = ITEM_POKEBLOCK_CASE,
@@ -4419,6 +4954,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LETTER] =
{
.name = _("LETTER"),
.itemId = ITEM_LETTER,
@@ -4435,6 +4972,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_EON_TICKET] =
{
.name = _("EON TICKET"),
.itemId = ITEM_EON_TICKET,
@@ -4451,6 +4990,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_RED_ORB] =
{
.name = _("RED ORB"),
.itemId = ITEM_RED_ORB,
@@ -4467,6 +5008,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_ORB] =
{
.name = _("BLUE ORB"),
.itemId = ITEM_BLUE_ORB,
@@ -4483,6 +5026,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SCANNER] =
{
.name = _("SCANNER"),
.itemId = ITEM_SCANNER,
@@ -4499,6 +5044,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GO_GOGGLES] =
{
.name = _("GO-GOGGLES"),
.itemId = ITEM_GO_GOGGLES,
@@ -4515,6 +5062,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_METEORITE] =
{
.name = _("METEORITE"),
.itemId = ITEM_METEORITE,
@@ -4531,6 +5080,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_1_KEY] =
{
.name = _("RM. 1 KEY"),
.itemId = ITEM_ROOM_1_KEY,
@@ -4547,6 +5098,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_2_KEY] =
{
.name = _("RM. 2 KEY"),
.itemId = ITEM_ROOM_2_KEY,
@@ -4563,6 +5116,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_4_KEY] =
{
.name = _("RM. 4 KEY"),
.itemId = ITEM_ROOM_4_KEY,
@@ -4579,6 +5134,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_6_KEY] =
{
.name = _("RM. 6 KEY"),
.itemId = ITEM_ROOM_6_KEY,
@@ -4595,6 +5152,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STORAGE_KEY] =
{
.name = _("STORAGE KEY"),
.itemId = ITEM_STORAGE_KEY,
@@ -4611,6 +5170,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOT_FOSSIL] =
{
.name = _("ROOT FOSSIL"),
.itemId = ITEM_ROOT_FOSSIL,
@@ -4627,6 +5188,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CLAW_FOSSIL] =
{
.name = _("CLAW FOSSIL"),
.itemId = ITEM_CLAW_FOSSIL,
@@ -4643,6 +5206,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEVON_SCOPE] =
{
.name = _("DEVON SCOPE"),
.itemId = ITEM_DEVON_SCOPE,
@@ -4660,8 +5225,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//TMs/HMs
+// TMs/HMs
+ [ITEM_TM01_FOCUS_PUNCH] =
{
.name = _("TM01"),
.itemId = ITEM_TM01_FOCUS_PUNCH,
@@ -4678,6 +5244,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM02_DRAGON_CLAW] =
{
.name = _("TM02"),
.itemId = ITEM_TM02_DRAGON_CLAW,
@@ -4694,6 +5262,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM03_WATER_PULSE] =
{
.name = _("TM03"),
.itemId = ITEM_TM03_WATER_PULSE,
@@ -4710,6 +5280,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM04_CALM_MIND] =
{
.name = _("TM04"),
.itemId = ITEM_TM04_CALM_MIND,
@@ -4726,6 +5298,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM05_ROAR] =
{
.name = _("TM05"),
.itemId = ITEM_TM05_ROAR,
@@ -4742,6 +5316,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM06_TOXIC] =
{
.name = _("TM06"),
.itemId = ITEM_TM06_TOXIC,
@@ -4758,6 +5334,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM07_HAIL] =
{
.name = _("TM07"),
.itemId = ITEM_TM07_HAIL,
@@ -4774,6 +5352,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM08_BULK_UP] =
{
.name = _("TM08"),
.itemId = ITEM_TM08_BULK_UP,
@@ -4790,6 +5370,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM09_BULLET_SEED] =
{
.name = _("TM09"),
.itemId = ITEM_TM09_BULLET_SEED,
@@ -4806,6 +5388,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM10_HIDDEN_POWER] =
{
.name = _("TM10"),
.itemId = ITEM_TM10_HIDDEN_POWER,
@@ -4822,6 +5406,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM11_SUNNY_DAY] =
{
.name = _("TM11"),
.itemId = ITEM_TM11_SUNNY_DAY,
@@ -4838,6 +5424,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM12_TAUNT] =
{
.name = _("TM12"),
.itemId = ITEM_TM12_TAUNT,
@@ -4854,6 +5442,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM13_ICE_BEAM] =
{
.name = _("TM13"),
.itemId = ITEM_TM13_ICE_BEAM,
@@ -4870,6 +5460,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM14_BLIZZARD] =
{
.name = _("TM14"),
.itemId = ITEM_TM14_BLIZZARD,
@@ -4886,6 +5478,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM15_HYPER_BEAM] =
{
.name = _("TM15"),
.itemId = ITEM_TM15_HYPER_BEAM,
@@ -4902,6 +5496,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM16_LIGHT_SCREEN] =
{
.name = _("TM16"),
.itemId = ITEM_TM16_LIGHT_SCREEN,
@@ -4918,6 +5514,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM17_PROTECT] =
{
.name = _("TM17"),
.itemId = ITEM_TM17_PROTECT,
@@ -4934,6 +5532,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM18_RAIN_DANCE] =
{
.name = _("TM18"),
.itemId = ITEM_TM18_RAIN_DANCE,
@@ -4950,6 +5550,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM19_GIGA_DRAIN] =
{
.name = _("TM19"),
.itemId = ITEM_TM19_GIGA_DRAIN,
@@ -4966,6 +5568,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM20_SAFEGUARD] =
{
.name = _("TM20"),
.itemId = ITEM_TM20_SAFEGUARD,
@@ -4982,6 +5586,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM21_FRUSTRATION] =
{
.name = _("TM21"),
.itemId = ITEM_TM21_FRUSTRATION,
@@ -4998,6 +5604,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM22_SOLARBEAM] =
{
.name = _("TM22"),
.itemId = ITEM_TM22_SOLARBEAM,
@@ -5014,6 +5622,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM23_IRON_TAIL] =
{
.name = _("TM23"),
.itemId = ITEM_TM23_IRON_TAIL,
@@ -5030,6 +5640,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM24_THUNDERBOLT] =
{
.name = _("TM24"),
.itemId = ITEM_TM24_THUNDERBOLT,
@@ -5046,6 +5658,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM25_THUNDER] =
{
.name = _("TM25"),
.itemId = ITEM_TM25_THUNDER,
@@ -5062,6 +5676,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM26_EARTHQUAKE] =
{
.name = _("TM26"),
.itemId = ITEM_TM26_EARTHQUAKE,
@@ -5078,6 +5694,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM27_RETURN] =
{
.name = _("TM27"),
.itemId = ITEM_TM27_RETURN,
@@ -5094,6 +5712,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM28_DIG] =
{
.name = _("TM28"),
.itemId = ITEM_TM28_DIG,
@@ -5110,6 +5730,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM29_PSYCHIC] =
{
.name = _("TM29"),
.itemId = ITEM_TM29_PSYCHIC,
@@ -5126,6 +5748,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM30_SHADOW_BALL] =
{
.name = _("TM30"),
.itemId = ITEM_TM30_SHADOW_BALL,
@@ -5142,6 +5766,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM31_BRICK_BREAK] =
{
.name = _("TM31"),
.itemId = ITEM_TM31_BRICK_BREAK,
@@ -5158,6 +5784,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM32_DOUBLE_TEAM] =
{
.name = _("TM32"),
.itemId = ITEM_TM32_DOUBLE_TEAM,
@@ -5174,6 +5802,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM33_REFLECT] =
{
.name = _("TM33"),
.itemId = ITEM_TM33_REFLECT,
@@ -5190,6 +5820,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM34_SHOCK_WAVE] =
{
.name = _("TM34"),
.itemId = ITEM_TM34_SHOCK_WAVE,
@@ -5206,6 +5838,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM35_FLAMETHROWER] =
{
.name = _("TM35"),
.itemId = ITEM_TM35_FLAMETHROWER,
@@ -5222,6 +5856,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM36_SLUDGE_BOMB] =
{
.name = _("TM36"),
.itemId = ITEM_TM36_SLUDGE_BOMB,
@@ -5238,6 +5874,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM37_SANDSTORM] =
{
.name = _("TM37"),
.itemId = ITEM_TM37_SANDSTORM,
@@ -5254,6 +5892,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM38_FIRE_BLAST] =
{
.name = _("TM38"),
.itemId = ITEM_TM38_FIRE_BLAST,
@@ -5270,6 +5910,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM39_ROCK_TOMB] =
{
.name = _("TM39"),
.itemId = ITEM_TM39_ROCK_TOMB,
@@ -5286,6 +5928,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM40_AERIAL_ACE] =
{
.name = _("TM40"),
.itemId = ITEM_TM40_AERIAL_ACE,
@@ -5302,6 +5946,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM41_TORMENT] =
{
.name = _("TM41"),
.itemId = ITEM_TM41_TORMENT,
@@ -5318,6 +5964,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM42_FACADE] =
{
.name = _("TM42"),
.itemId = ITEM_TM42_FACADE,
@@ -5334,6 +5982,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM43_SECRET_POWER] =
{
.name = _("TM43"),
.itemId = ITEM_TM43_SECRET_POWER,
@@ -5350,6 +6000,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM44_REST] =
{
.name = _("TM44"),
.itemId = ITEM_TM44_REST,
@@ -5366,6 +6018,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM45_ATTRACT] =
{
.name = _("TM45"),
.itemId = ITEM_TM45_ATTRACT,
@@ -5382,6 +6036,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM46_THIEF] =
{
.name = _("TM46"),
.itemId = ITEM_TM46_THIEF,
@@ -5398,6 +6054,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM47_STEEL_WING] =
{
.name = _("TM47"),
.itemId = ITEM_TM47_STEEL_WING,
@@ -5414,6 +6072,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM48_SKILL_SWAP] =
{
.name = _("TM48"),
.itemId = ITEM_TM48_SKILL_SWAP,
@@ -5430,6 +6090,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM49_SNATCH] =
{
.name = _("TM49"),
.itemId = ITEM_TM49_SNATCH,
@@ -5446,6 +6108,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM50_OVERHEAT] =
{
.name = _("TM50"),
.itemId = ITEM_TM50_OVERHEAT,
@@ -5462,6 +6126,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM01_CUT] =
{
.name = _("HM01"),
.itemId = ITEM_HM01_CUT,
@@ -5478,6 +6144,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM02_FLY] =
{
.name = _("HM02"),
.itemId = ITEM_HM02_FLY,
@@ -5494,6 +6162,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM03_SURF] =
{
.name = _("HM03"),
.itemId = ITEM_HM03_SURF,
@@ -5510,6 +6180,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM04_STRENGTH] =
{
.name = _("HM04"),
.itemId = ITEM_HM04_STRENGTH,
@@ -5526,6 +6198,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM05_FLASH] =
{
.name = _("HM05"),
.itemId = ITEM_HM05_FLASH,
@@ -5542,6 +6216,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM06_ROCK_SMASH] =
{
.name = _("HM06"),
.itemId = ITEM_HM06_ROCK_SMASH,
@@ -5558,6 +6234,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM07_WATERFALL] =
{
.name = _("HM07"),
.itemId = ITEM_HM07_WATERFALL,
@@ -5574,6 +6252,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM08_DIVE] =
{
.name = _("HM08"),
.itemId = ITEM_HM08_DIVE,
@@ -5590,6 +6270,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_15B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -5606,6 +6288,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_15C] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -5623,8 +6307,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//FireRed/LeafGreen key items
+// FireRed/LeafGreen key items
+ [ITEM_OAKS_PARCEL] =
{
.name = _("OAK’S PARCEL"),
.itemId = ITEM_OAKS_PARCEL,
@@ -5641,6 +6326,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_POKE_FLUTE] =
{
.name = _("POKé FLUTE"),
.itemId = ITEM_POKE_FLUTE,
@@ -5657,6 +6344,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SECRET_KEY] =
{
.name = _("SECRET KEY"),
.itemId = ITEM_SECRET_KEY,
@@ -5673,6 +6362,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BIKE_VOUCHER] =
{
.name = _("BIKE VOUCHER"),
.itemId = ITEM_BIKE_VOUCHER,
@@ -5689,6 +6380,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GOLD_TEETH] =
{
.name = _("GOLD TEETH"),
.itemId = ITEM_GOLD_TEETH,
@@ -5705,6 +6398,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_OLD_AMBER] =
{
.name = _("OLD AMBER"),
.itemId = ITEM_OLD_AMBER,
@@ -5721,6 +6416,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CARD_KEY] =
{
.name = _("CARD KEY"),
.itemId = ITEM_CARD_KEY,
@@ -5737,6 +6434,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LIFT_KEY] =
{
.name = _("LIFT KEY"),
.itemId = ITEM_LIFT_KEY,
@@ -5753,6 +6452,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HELIX_FOSSIL] =
{
.name = _("HELIX FOSSIL"),
.itemId = ITEM_HELIX_FOSSIL,
@@ -5769,6 +6470,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DOME_FOSSIL] =
{
.name = _("DOME FOSSIL"),
.itemId = ITEM_DOME_FOSSIL,
@@ -5785,6 +6488,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SILPH_SCOPE] =
{
.name = _("SILPH SCOPE"),
.itemId = ITEM_SILPH_SCOPE,
@@ -5801,6 +6506,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BICYCLE] =
{
.name = _("BICYCLE"),
.itemId = ITEM_BICYCLE,
@@ -5817,6 +6524,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TOWN_MAP] =
{
.name = _("TOWN MAP"),
.itemId = ITEM_TOWN_MAP,
@@ -5833,6 +6542,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_VS_SEEKER] =
{
.name = _("VS SEEKER"),
.itemId = ITEM_VS_SEEKER,
@@ -5849,6 +6560,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_FAME_CHECKER] =
{
.name = _("FAME CHECKER"),
.itemId = ITEM_FAME_CHECKER,
@@ -5865,6 +6578,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM_CASE] =
{
.name = _("TM CASE"),
.itemId = ITEM_TM_CASE,
@@ -5881,6 +6596,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BERRY_POUCH] =
{
.name = _("BERRY POUCH"),
.itemId = ITEM_BERRY_POUCH,
@@ -5897,6 +6614,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TEACHY_TV] =
{
.name = _("TEACHY TV"),
.itemId = ITEM_TEACHY_TV,
@@ -5913,6 +6632,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TRI_PASS] =
{
.name = _("TRI-PASS"),
.itemId = ITEM_TRI_PASS,
@@ -5929,6 +6650,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RAINBOW_PASS] =
{
.name = _("RAINBOW PASS"),
.itemId = ITEM_RAINBOW_PASS,
@@ -5945,6 +6668,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TEA] =
{
.name = _("TEA"),
.itemId = ITEM_TEA,
@@ -5961,7 +6686,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_MYSTIC_TICKET] =
+ {
.name = _("MYSTICTICKET"),
.itemId = ITEM_MYSTIC_TICKET,
.price = 0,
@@ -5977,7 +6704,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_AURORA_TICKET] =
+ {
.name = _("AURORATICKET"),
.itemId = ITEM_AURORA_TICKET,
.price = 0,
@@ -5993,7 +6722,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_POWDER_JAR] =
+ {
.name = _("POWDER JAR"),
.itemId = ITEM_POWDER_JAR,
.price = 0,
@@ -6009,7 +6740,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_RUBY] =
+ {
.name = _("RUBY"),
.itemId = ITEM_RUBY,
.price = 0,
@@ -6025,7 +6758,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_SAPPHIRE] =
+ {
.name = _("SAPPHIRE"),
.itemId = ITEM_SAPPHIRE,
.price = 0,
@@ -6042,9 +6777,10 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Emerald-specific key items
+// Emerald-specific key items
- {
+ [ITEM_MAGMA_EMBLEM] =
+ {
.name = _("MAGMA EMBLEM"),
.itemId = ITEM_MAGMA_EMBLEM,
.price = 0,
@@ -6060,7 +6796,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_OLD_SEA_MAP] =
+ {
.name = _("OLD SEA MAP"),
.itemId = ITEM_OLD_SEA_MAP,
.price = 0,
diff --git a/src/data/pokedex_orders.h b/src/data/pokedex_orders.h
deleted file mode 100644
index 61fbd289c..000000000
--- a/src/data/pokedex_orders.h
+++ /dev/null
@@ -1,1199 +0,0 @@
-#ifndef GUARD_DATA_POKEDEX_ORDERS
-#define GUARD_DATA_POKEDEX_ORDERS
-
-const u16 gPokedexOrder_Alphabetical[] =
-{
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 63, // Abra
- 359, // Absol
- 142, // Aerodactyl
- 306, // Aggron
- 190, // Aipom
- 65, // Alakazam
- 334, // Altaria
- 181, // Ampharos
- 347, // Anorith
- 24, // Arbok
- 59, // Arcanine
- 168, // Ariados
- 348, // Armaldo
- 304, // Aron
- 144, // Articuno
- 184, // Azumarill
- 298, // Azurill
- 371, // Bagon
- 343, // Baltoy
- 354, // Banette
- 339, // Barboach
- 153, // Bayleef
- 267, // Beautifly
- 15, // Beedrill
- 374, // Beldum
- 182, // Bellossom
- 69, // Bellsprout
- 9, // Blastoise
- 257, // Blaziken
- 242, // Blissey
- 286, // Breloom
- 1, // Bulbasaur
- 12, // Butterfree
- 331, // Cacnea
- 332, // Cacturne
- 323, // Camerupt
- 318, // Carvanha
- 268, // Cascoon
- 351, // Castform
- 10, // Caterpie
- 251, // Celebi
- 113, // Chansey
- 6, // Charizard
- 4, // Charmander
- 5, // Charmeleon
- 152, // Chikorita
- 358, // Chimecho
- 170, // Chinchou
- 366, // Clamperl
- 344, // Claydol
- 36, // Clefable
- 35, // Clefairy
- 173, // Cleffa
- 91, // Cloyster
- 256, // Combusken
- 341, // Corphish
- 222, // Corsola
- 346, // Cradily
- 342, // Crawdaunt
- 169, // Crobat
- 159, // Croconaw
- 104, // Cubone
- 155, // Cyndaquil
- 301, // Delcatty
- 225, // Delibird
- 386, // Deoxys
- 87, // Dewgong
- 50, // Diglett
- 132, // Ditto
- 85, // Dodrio
- 84, // Doduo
- 232, // Donphan
- 148, // Dragonair
- 149, // Dragonite
- 147, // Dratini
- 96, // Drowzee
- 51, // Dugtrio
- 206, // Dunsparce
- 356, // Dusclops
- 355, // Duskull
- 269, // Dustox
- 133, // Eevee
- 23, // Ekans
- 125, // Electabuzz
- 309, // Electrike
- 101, // Electrode
- 239, // Elekid
- 244, // Entei
- 196, // Espeon
- 102, // Exeggcute
- 103, // Exeggutor
- 295, // Exploud
- 83, // Farfetch'd
- 22, // Fearow
- 349, // Feebas
- 160, // Feraligatr
- 180, // Flaaffy
- 136, // Flareon
- 330, // Flygon
- 205, // Forretress
- 162, // Furret
- 282, // Gardevoir
- 92, // Gastly
- 94, // Gengar
- 74, // Geodude
- 203, // Girafarig
- 362, // Glalie
- 207, // Gligar
- 44, // Gloom
- 42, // Golbat
- 118, // Goldeen
- 55, // Golduck
- 76, // Golem
- 368, // Gorebyss
- 210, // Granbull
- 75, // Graveler
- 88, // Grimer
- 383, // Groudon
- 253, // Grovyle
- 58, // Growlithe
- 326, // Grumpig
- 316, // Gulpin
- 130, // Gyarados
- 297, // Hariyama
- 93, // Haunter
- 214, // Heracross
- 107, // Hitmonchan
- 106, // Hitmonlee
- 237, // Hitmontop
- 250, // Ho-Oh
- 163, // Hoothoot
- 187, // Hoppip
- 116, // Horsea
- 229, // Houndoom
- 228, // Houndour
- 367, // Huntail
- 97, // Hypno
- 174, // Igglybuff
- 314, // Illumise
- 2, // Ivysaur
- 39, // Jigglypuff
- 385, // Jirachi
- 135, // Jolteon
- 189, // Jumpluff
- 124, // Jynx
- 140, // Kabuto
- 141, // Kabutops
- 64, // Kadabra
- 14, // Kakuna
- 115, // Kangaskhan
- 352, // Kecleon
- 230, // Kingdra
- 99, // Kingler
- 281, // Kirlia
- 109, // Koffing
- 98, // Krabby
- 382, // Kyogre
- 305, // Lairon
- 171, // Lanturn
- 131, // Lapras
- 246, // Larvitar
- 380, // Latias
- 381, // Latios
- 166, // Ledian
- 165, // Ledyba
- 108, // Lickitung
- 345, // Lileep
- 264, // Linoone
- 271, // Lombre
- 270, // Lotad
- 294, // Loudred
- 272, // Ludicolo
- 249, // Lugia
- 337, // Lunatone
- 370, // Luvdisc
- 68, // Machamp
- 67, // Machoke
- 66, // Machop
- 240, // Magby
- 219, // Magcargo
- 129, // Magikarp
- 126, // Magmar
- 81, // Magnemite
- 82, // Magneton
- 296, // Makuhita
- 310, // Manectric
- 56, // Mankey
- 226, // Mantine
- 179, // Mareep
- 183, // Marill
- 105, // Marowak
- 259, // Marshtomp
- 284, // Masquerain
- 303, // Mawile
- 308, // Medicham
- 307, // Meditite
- 154, // Meganium
- 52, // Meowth
- 376, // Metagross
- 375, // Metang
- 11, // Metapod
- 151, // Mew
- 150, // Mewtwo
- 262, // Mightyena
- 350, // Milotic
- 241, // Miltank
- 312, // Minun
- 200, // Misdreavus
- 146, // Moltres
- 122, // Mr. mime
- 258, // Mudkip
- 89, // Muk
- 198, // Murkrow
- 177, // Natu
- 34, // Nidoking
- 31, // Nidoqueen
- 29, // Nidoran?
- 32, // Nidoran?
- 30, // Nidorina
- 33, // Nidorino
- 290, // Nincada
- 38, // Ninetales
- 291, // Ninjask
- 164, // Noctowl
- 299, // Nosepass
- 322, // Numel
- 274, // Nuzleaf
- 224, // Octillery
- 43, // Oddish
- 138, // Omanyte
- 139, // Omastar
- 95, // Onix
- 46, // Paras
- 47, // Parasect
- 279, // Pelipper
- 53, // Persian
- 231, // Phanpy
- 172, // Pichu
- 18, // Pidgeot
- 17, // Pidgeotto
- 16, // Pidgey
- 25, // Pikachu
- 221, // Piloswine
- 204, // Pineco
- 127, // Pinsir
- 311, // Plusle
- 186, // Politoed
- 60, // Poliwag
- 61, // Poliwhirl
- 62, // Poliwrath
- 77, // Ponyta
- 261, // Poochyena
- 137, // Porygon
- 233, // Porygon2
- 57, // Primeape
- 54, // Psyduck
- 247, // Pupitar
- 195, // Quagsire
- 156, // Quilava
- 211, // Qwilfish
- 26, // Raichu
- 243, // Raikou
- 280, // Ralts
- 78, // Rapidash
- 20, // Raticate
- 19, // Rattata
- 384, // Rayquaza
- 378, // Regice
- 377, // Regirock
- 379, // Registeel
- 369, // Relicanth
- 223, // Remoraid
- 112, // Rhydon
- 111, // Rhyhorn
- 315, // Roselia
- 302, // Sableye
- 373, // Salamence
- 27, // Sandshrew
- 28, // Sandslash
- 254, // Sceptile
- 212, // Scizor
- 123, // Scyther
- 117, // Seadra
- 119, // Seaking
- 364, // Sealeo
- 273, // Seedot
- 86, // Seel
- 161, // Sentret
- 336, // Seviper
- 319, // Sharpedo
- 292, // Shedinja
- 372, // Shelgon
- 90, // Shellder
- 275, // Shiftry
- 285, // Shroomish
- 213, // Shuckle
- 353, // Shuppet
- 266, // Silcoon
- 227, // Skarmory
- 188, // Skiploom
- 300, // Skitty
- 289, // Slaking
- 287, // Slakoth
- 80, // Slowbro
- 199, // Slowking
- 79, // Slowpoke
- 218, // Slugma
- 235, // Smeargle
- 238, // Smoochum
- 215, // Sneasel
- 143, // Snorlax
- 361, // Snorunt
- 209, // Snubbull
- 338, // Solrock
- 21, // Spearow
- 363, // Spheal
- 167, // Spinarak
- 327, // Spinda
- 325, // Spoink
- 7, // Squirtle
- 234, // Stantler
- 121, // Starmie
- 120, // Staryu
- 208, // Steelix
- 185, // Sudowoodo
- 245, // Suicune
- 192, // Sunflora
- 191, // Sunkern
- 283, // Surskit
- 333, // Swablu
- 317, // Swalot
- 260, // Swampert
- 277, // Swellow
- 220, // Swinub
- 276, // Taillow
- 114, // Tangela
- 128, // Tauros
- 216, // Teddiursa
- 72, // Tentacool
- 73, // Tentacruel
- 175, // Togepi
- 176, // Togetic
- 255, // Torchic
- 324, // Torkoal
- 158, // Totodile
- 328, // Trapinch
- 252, // Treecko
- 357, // Tropius
- 157, // Typhlosion
- 248, // Tyranitar
- 236, // Tyrogue
- 197, // Umbreon
- 201, // Unown
- 217, // Ursaring
- 134, // Vaporeon
- 49, // Venomoth
- 48, // Venonat
- 3, // Venusaur
- 329, // Vibrava
- 71, // Victreebel
- 288, // Vigoroth
- 45, // Vileplume
- 313, // Volbeat
- 100, // Voltorb
- 37, // Vulpix
- 320, // Wailmer
- 321, // Wailord
- 365, // Walrein
- 8, // Wartortle
- 13, // Weedle
- 70, // Weepinbell
- 110, // Weezing
- 340, // Whiscash
- 293, // Whismur
- 40, // Wigglytuff
- 278, // Wingull
- 202, // Wobbuffet
- 194, // Wooper
- 265, // Wurmple
- 360, // Wynaut
- 178, // Xatu
- 193, // Yanma
- 335, // Zangoose
- 145, // Zapdos
- 263, // Zigzagoon
- 41, // Zubat
-};
-
-const u16 gPokedexOrder_Weight[] =
-{
- 92, // Gastly
- 93, // Haunter
- 187, // Hoppip
- 50, // Diglett
- 351, // Castform
- 109, // Koffing
- 174, // Igglybuff
- 200, // Misdreavus
- 358, // Chimecho
- 188, // Skiploom
- 385, // Jirachi
- 333, // Swablu
- 292, // Shedinja
- 175, // Togepi
- 283, // Surskit
- 16, // Pidgey
- 191, // Sunkern
- 339, // Barboach
- 172, // Pichu
- 298, // Azurill
- 315, // Roselia
- 177, // Natu
- 21, // Spearow
- 198, // Murkrow
- 353, // Shuppet
- 276, // Taillow
- 102, // Exeggcute
- 255, // Torchic
- 270, // Lotad
- 10, // Caterpie
- 189, // Jumpluff
- 173, // Cleffa
- 13, // Weedle
- 176, // Togetic
- 147, // Dratini
- 19, // Rattata
- 284, // Masquerain
- 265, // Wurmple
- 211, // Qwilfish
- 151, // Mew
- 90, // Shellder
- 273, // Seedot
- 132, // Ditto
- 69, // Bellsprout
- 311, // Plusle
- 52, // Meowth
- 312, // Minun
- 285, // Shroomish
- 251, // Celebi
- 222, // Corsola
- 252, // Treecko
- 327, // Spinda
- 201, // Unown
- 46, // Paras
- 43, // Oddish
- 39, // Jigglypuff
- 290, // Nincada
- 182, // Bellossom
- 81, // Magnemite
- 25, // Pikachu
- 238, // Smoochum
- 161, // Sentret
- 70, // Weepinbell
- 152, // Chikorita
- 220, // Swinub
- 133, // Eevee
- 98, // Krabby
- 104, // Cubone
- 280, // Ralts
- 1, // Bulbasaur
- 23, // Ekans
- 29, // Nidoran?
- 204, // Pineco
- 349, // Feebas
- 138, // Omanyte
- 41, // Zubat
- 35, // Clefairy
- 258, // Mudkip
- 209, // Snubbull
- 179, // Mareep
- 155, // Cyndaquil
- 116, // Horsea
- 4, // Charmander
- 192, // Sunflora
- 183, // Marill
- 194, // Wooper
- 167, // Spinarak
- 44, // Gloom
- 370, // Luvdisc
- 216, // Teddiursa
- 32, // Nidoran?
- 7, // Squirtle
- 278, // Wingull
- 158, // Totodile
- 110, // Weezing
- 37, // Vulpix
- 11, // Metapod
- 266, // Silcoon
- 129, // Magikarp
- 14, // Kakuna
- 316, // Gulpin
- 100, // Voltorb
- 165, // Ledyba
- 228, // Houndour
- 300, // Skitty
- 302, // Sableye
- 307, // Meditite
- 341, // Corphish
- 190, // Aipom
- 268, // Cascoon
- 303, // Mawile
- 140, // Kabuto
- 40, // Wigglytuff
- 27, // Sandshrew
- 223, // Remoraid
- 291, // Ninjask
- 170, // Chinchou
- 60, // Poliwag
- 347, // Anorith
- 49, // Venomoth
- 354, // Banette
- 2, // Ivysaur
- 180, // Flaaffy
- 261, // Poochyena
- 360, // Wynaut
- 206, // Dunsparce
- 178, // Xatu
- 355, // Duskull
- 83, // Farfetch'd
- 328, // Trapinch
- 118, // Goldeen
- 309, // Electrike
- 329, // Vibrava
- 71, // Victreebel
- 153, // Bayleef
- 225, // Delibird
- 293, // Whismur
- 148, // Dragonair
- 361, // Snorunt
- 263, // Zigzagoon
- 314, // Illumise
- 313, // Volbeat
- 20, // Raticate
- 45, // Vileplume
- 156, // Quilava
- 5, // Charmeleon
- 58, // Growlithe
- 256, // Combusken
- 66, // Machop
- 63, // Abra
- 33, // Nidorino
- 54, // Psyduck
- 277, // Swellow
- 38, // Ninetales
- 30, // Nidorina
- 61, // Poliwhirl
- 74, // Geodude
- 281, // Kirlia
- 213, // Shuckle
- 334, // Altaria
- 318, // Carvanha
- 236, // Tyrogue
- 163, // Hoothoot
- 240, // Magby
- 343, // Baltoy
- 253, // Grovyle
- 352, // Kecleon
- 171, // Lanturn
- 8, // Wartortle
- 368, // Gorebyss
- 369, // Relicanth
- 239, // Elekid
- 340, // Whiscash
- 345, // Lileep
- 322, // Numel
- 287, // Slakoth
- 135, // Jolteon
- 159, // Croconaw
- 136, // Flareon
- 117, // Seadra
- 196, // Espeon
- 367, // Huntail
- 197, // Umbreon
- 259, // Marshtomp
- 274, // Nuzleaf
- 215, // Sneasel
- 56, // Mankey
- 279, // Pelipper
- 267, // Beautifly
- 224, // Octillery
- 184, // Azumarill
- 202, // Wobbuffet
- 134, // Vaporeon
- 28, // Sandslash
- 47, // Parasect
- 15, // Beedrill
- 89, // Muk
- 17, // Pidgeotto
- 88, // Grimer
- 26, // Raichu
- 77, // Ponyta
- 125, // Electabuzz
- 48, // Venonat
- 325, // Spoink
- 356, // Dusclops
- 308, // Medicham
- 269, // Dustox
- 53, // Persian
- 12, // Butterfree
- 57, // Primeape
- 96, // Drowzee
- 162, // Furret
- 233, // Porygon2
- 271, // Lombre
- 264, // Linoone
- 301, // Delcatty
- 342, // Crawdaunt
- 51, // Dugtrio
- 168, // Ariados
- 231, // Phanpy
- 186, // Politoed
- 120, // Staryu
- 113, // Chansey
- 139, // Omastar
- 114, // Tangela
- 218, // Slugma
- 229, // Houndoom
- 166, // Ledian
- 79, // Slowpoke
- 137, // Porygon
- 262, // Mightyena
- 193, // Yanma
- 22, // Fearow
- 185, // Sudowoodo
- 119, // Seaking
- 286, // Breloom
- 84, // Doduo
- 18, // Pidgeot
- 363, // Spheal
- 36, // Clefable
- 380, // Latias
- 310, // Manectric
- 335, // Zangoose
- 141, // Kabutops
- 94, // Gengar
- 294, // Loudred
- 124, // Jynx
- 164, // Noctowl
- 203, // Girafarig
- 371, // Bagon
- 126, // Magmar
- 105, // Marowak
- 72, // Tentacool
- 288, // Vigoroth
- 242, // Blissey
- 359, // Absol
- 65, // Alakazam
- 237, // Hitmontop
- 282, // Gardevoir
- 210, // Granbull
- 106, // Hitmonlee
- 107, // Hitmonchan
- 227, // Skarmory
- 331, // Cacnea
- 257, // Blaziken
- 254, // Sceptile
- 336, // Seviper
- 366, // Clamperl
- 145, // Zapdos
- 214, // Heracross
- 62, // Poliwrath
- 122, // Mr. mime
- 127, // Pinsir
- 272, // Ludicolo
- 73, // Tentacruel
- 42, // Golbat
- 219, // Magcargo
- 144, // Articuno
- 221, // Piloswine
- 123, // Scyther
- 64, // Kadabra
- 235, // Smeargle
- 142, // Aerodactyl
- 275, // Shiftry
- 99, // Kingler
- 31, // Nidoqueen
- 82, // Magneton
- 304, // Aron
- 381, // Latios
- 146, // Moltres
- 346, // Cradily
- 386, // Deoxys
- 181, // Ampharos
- 34, // Nidoking
- 207, // Gligar
- 24, // Arbok
- 108, // Lickitung
- 101, // Electrode
- 348, // Armaldo
- 67, // Machoke
- 234, // Stantler
- 326, // Grumpig
- 246, // Larvitar
- 169, // Crobat
- 195, // Quagsire
- 241, // Miltank
- 97, // Hypno
- 55, // Golduck
- 332, // Cacturne
- 80, // Slowbro
- 157, // Typhlosion
- 199, // Slowking
- 115, // Kangaskhan
- 121, // Starmie
- 317, // Swalot
- 324, // Torkoal
- 260, // Swampert
- 330, // Flygon
- 295, // Exploud
- 85, // Dodrio
- 9, // Blastoise
- 296, // Makuhita
- 364, // Sealeo
- 128, // Tauros
- 319, // Sharpedo
- 160, // Feraligatr
- 86, // Seel
- 6, // Charizard
- 78, // Rapidash
- 374, // Beldum
- 299, // Nosepass
- 3, // Venusaur
- 357, // Tropius
- 154, // Meganium
- 373, // Salamence
- 75, // Graveler
- 344, // Claydol
- 372, // Shelgon
- 111, // Rhyhorn
- 212, // Scizor
- 87, // Dewgong
- 112, // Rhydon
- 232, // Donphan
- 103, // Exeggutor
- 305, // Lairon
- 150, // Mewtwo
- 217, // Ursaring
- 205, // Forretress
- 68, // Machamp
- 320, // Wailmer
- 289, // Slaking
- 91, // Cloyster
- 365, // Walrein
- 247, // Pupitar
- 230, // Kingdra
- 338, // Solrock
- 59, // Arcanine
- 350, // Milotic
- 337, // Lunatone
- 378, // Regice
- 243, // Raikou
- 245, // Suicune
- 244, // Entei
- 250, // Ho-Oh
- 248, // Tyranitar
- 375, // Metang
- 379, // Registeel
- 384, // Rayquaza
- 95, // Onix
- 149, // Dragonite
- 249, // Lugia
- 131, // Lapras
- 323, // Camerupt
- 226, // Mantine
- 377, // Regirock
- 130, // Gyarados
- 297, // Hariyama
- 362, // Glalie
- 76, // Golem
- 382, // Kyogre
- 306, // Aggron
- 321, // Wailord
- 208, // Steelix
- 143, // Snorlax
- 376, // Metagross
- 383, // Groudon
-};
-
-const u16 gPokedexOrder_Height[] =
-{
- 50, // Diglett
- 298, // Azurill
- 177, // Natu
- 13, // Weedle
- 172, // Pichu
- 173, // Cleffa
- 175, // Togepi
- 351, // Castform
- 174, // Igglybuff
- 10, // Caterpie
- 276, // Taillow
- 132, // Ditto
- 133, // Eevee
- 315, // Roselia
- 21, // Spearow
- 16, // Pidgey
- 191, // Sunkern
- 90, // Shellder
- 19, // Rattata
- 81, // Magnemite
- 46, // Paras
- 265, // Wurmple
- 385, // Jirachi
- 104, // Cubone
- 258, // Mudkip
- 194, // Wooper
- 116, // Horsea
- 52, // Meowth
- 29, // Nidoran?
- 220, // Swinub
- 151, // Mew
- 333, // Swablu
- 304, // Aron
- 311, // Plusle
- 312, // Minun
- 102, // Exeggcute
- 25, // Pikachu
- 182, // Bellossom
- 316, // Gulpin
- 263, // Zigzagoon
- 285, // Shroomish
- 138, // Omanyte
- 331, // Cacnea
- 98, // Krabby
- 280, // Ralts
- 187, // Hoppip
- 255, // Torchic
- 366, // Clamperl
- 74, // Geodude
- 183, // Marill
- 339, // Barboach
- 238, // Smoochum
- 100, // Voltorb
- 290, // Nincada
- 302, // Sableye
- 198, // Murkrow
- 211, // Qwilfish
- 7, // Squirtle
- 252, // Treecko
- 343, // Baltoy
- 43, // Oddish
- 270, // Lotad
- 39, // Jigglypuff
- 283, // Surskit
- 155, // Cyndaquil
- 140, // Kabuto
- 264, // Linoone
- 324, // Torkoal
- 32, // Nidoran?
- 167, // Spinarak
- 56, // Mankey
- 273, // Seedot
- 261, // Poochyena
- 231, // Phanpy
- 201, // Unown
- 170, // Chinchou
- 233, // Porygon2
- 60, // Poliwag
- 371, // Bagon
- 349, // Feebas
- 353, // Shuppet
- 158, // Totodile
- 251, // Celebi
- 360, // Wynaut
- 27, // Sandshrew
- 358, // Chimecho
- 370, // Luvdisc
- 228, // Houndour
- 266, // Silcoon
- 309, // Electrike
- 4, // Charmander
- 307, // Meditite
- 278, // Wingull
- 223, // Remoraid
- 341, // Corphish
- 222, // Corsola
- 314, // Illumise
- 209, // Snubbull
- 37, // Vulpix
- 246, // Larvitar
- 374, // Beldum
- 293, // Whismur
- 204, // Pineco
- 239, // Elekid
- 35, // Clefairy
- 213, // Shuckle
- 216, // Teddiursa
- 14, // Kakuna
- 300, // Skitty
- 176, // Togetic
- 118, // Goldeen
- 303, // Mawile
- 179, // Mareep
- 188, // Skiploom
- 109, // Koffing
- 51, // Dugtrio
- 268, // Cascoon
- 322, // Numel
- 347, // Anorith
- 313, // Volbeat
- 163, // Hoothoot
- 328, // Trapinch
- 325, // Spoink
- 11, // Metapod
- 69, // Bellsprout
- 361, // Snorunt
- 20, // Raticate
- 259, // Marshtomp
- 277, // Swellow
- 240, // Magby
- 58, // Growlithe
- 200, // Misdreavus
- 1, // Bulbasaur
- 236, // Tyrogue
- 218, // Slugma
- 287, // Slakoth
- 281, // Kirlia
- 190, // Aipom
- 135, // Jolteon
- 30, // Nidorina
- 184, // Azumarill
- 292, // Shedinja
- 66, // Machop
- 291, // Ninjask
- 284, // Masquerain
- 355, // Duskull
- 192, // Sunflora
- 189, // Jumpluff
- 120, // Staryu
- 180, // Flaaffy
- 363, // Spheal
- 54, // Psyduck
- 219, // Magcargo
- 83, // Farfetch'd
- 41, // Zubat
- 137, // Porygon
- 161, // Sentret
- 318, // Carvanha
- 44, // Gloom
- 26, // Raichu
- 129, // Magikarp
- 215, // Sneasel
- 305, // Lairon
- 256, // Combusken
- 224, // Octillery
- 33, // Nidorino
- 136, // Flareon
- 225, // Delibird
- 72, // Tentacool
- 63, // Abra
- 253, // Grovyle
- 340, // Whiscash
- 156, // Quilava
- 196, // Espeon
- 88, // Grimer
- 152, // Chikorita
- 326, // Grumpig
- 299, // Nosepass
- 53, // Persian
- 262, // Mightyena
- 48, // Venonat
- 82, // Magneton
- 77, // Ponyta
- 296, // Makuhita
- 337, // Lunatone
- 28, // Sandslash
- 96, // Drowzee
- 114, // Tangela
- 57, // Primeape
- 165, // Ledyba
- 40, // Wigglytuff
- 47, // Parasect
- 139, // Omastar
- 294, // Loudred
- 8, // Wartortle
- 75, // Graveler
- 197, // Umbreon
- 345, // Lileep
- 61, // Poliwhirl
- 134, // Vaporeon
- 15, // Beedrill
- 105, // Marowak
- 70, // Weepinbell
- 369, // Relicanth
- 111, // Rhyhorn
- 2, // Ivysaur
- 352, // Kecleon
- 274, // Nuzleaf
- 267, // Beautifly
- 17, // Pidgeotto
- 168, // Ariados
- 86, // Seel
- 186, // Politoed
- 159, // Croconaw
- 113, // Chansey
- 354, // Banette
- 232, // Donphan
- 121, // Starmie
- 5, // Charmeleon
- 221, // Piloswine
- 12, // Butterfree
- 329, // Vibrava
- 125, // Electabuzz
- 342, // Crawdaunt
- 301, // Delcatty
- 334, // Altaria
- 372, // Shelgon
- 38, // Ninetales
- 207, // Gligar
- 364, // Sealeo
- 327, // Spinda
- 247, // Pupitar
- 79, // Slowpoke
- 338, // Solrock
- 241, // Miltank
- 22, // Fearow
- 45, // Vileplume
- 89, // Muk
- 205, // Forretress
- 185, // Sudowoodo
- 359, // Absol
- 193, // Yanma
- 269, // Dustox
- 108, // Lickitung
- 235, // Smeargle
- 171, // Lanturn
- 101, // Electrode
- 271, // Lombre
- 286, // Breloom
- 153, // Bayleef
- 117, // Seadra
- 110, // Weezing
- 279, // Pelipper
- 375, // Metang
- 31, // Nidoqueen
- 332, // Cacturne
- 275, // Shiftry
- 308, // Medicham
- 335, // Zangoose
- 141, // Kabutops
- 99, // Kingler
- 64, // Kadabra
- 119, // Seaking
- 36, // Clefable
- 126, // Magmar
- 202, // Wobbuffet
- 92, // Gastly
- 122, // Mr. mime
- 62, // Poliwrath
- 128, // Tauros
- 380, // Latias
- 181, // Ampharos
- 288, // Vigoroth
- 166, // Ledian
- 76, // Golem
- 365, // Walrein
- 84, // Doduo
- 229, // Houndoom
- 34, // Nidoking
- 124, // Jynx
- 107, // Hitmonchan
- 234, // Stantler
- 210, // Granbull
- 237, // Hitmontop
- 195, // Quagsire
- 344, // Claydol
- 260, // Swampert
- 242, // Blissey
- 272, // Ludicolo
- 295, // Exploud
- 206, // Dunsparce
- 127, // Pinsir
- 91, // Cloyster
- 67, // Machoke
- 203, // Girafarig
- 18, // Pidgeot
- 178, // Xatu
- 346, // Cradily
- 106, // Hitmonlee
- 49, // Venomoth
- 94, // Gengar
- 214, // Heracross
- 362, // Glalie
- 123, // Scyther
- 373, // Salamence
- 310, // Manectric
- 348, // Armaldo
- 65, // Alakazam
- 97, // Hypno
- 164, // Noctowl
- 73, // Tentacruel
- 356, // Dusclops
- 145, // Zapdos
- 42, // Golbat
- 376, // Metagross
- 282, // Gardevoir
- 9, // Blastoise
- 80, // Slowbro
- 93, // Haunter
- 68, // Machamp
- 377, // Regirock
- 317, // Swalot
- 254, // Sceptile
- 227, // Skarmory
- 55, // Golduck
- 386, // Deoxys
- 71, // Victreebel
- 78, // Rapidash
- 6, // Charizard
- 367, // Huntail
- 87, // Dewgong
- 144, // Articuno
- 157, // Typhlosion
- 142, // Aerodactyl
- 368, // Gorebyss
- 217, // Ursaring
- 154, // Meganium
- 378, // Regice
- 212, // Scizor
- 230, // Kingdra
- 147, // Dratini
- 85, // Dodrio
- 319, // Sharpedo
- 169, // Crobat
- 162, // Furret
- 59, // Arcanine
- 243, // Raikou
- 257, // Blaziken
- 323, // Camerupt
- 112, // Rhydon
- 379, // Registeel
- 23, // Ekans
- 330, // Flygon
- 357, // Tropius
- 381, // Latios
- 245, // Suicune
- 146, // Moltres
- 3, // Venusaur
- 103, // Exeggutor
- 199, // Slowking
- 248, // Tyranitar
- 289, // Slaking
- 320, // Wailmer
- 150, // Mewtwo
- 306, // Aggron
- 143, // Snorlax
- 226, // Mantine
- 244, // Entei
- 149, // Dragonite
- 115, // Kangaskhan
- 297, // Hariyama
- 160, // Feraligatr
- 131, // Lapras
- 336, // Seviper
- 24, // Arbok
- 383, // Groudon
- 250, // Ho-Oh
- 148, // Dragonair
- 382, // Kyogre
- 249, // Lugia
- 350, // Milotic
- 130, // Gyarados
- 384, // Rayquaza
- 95, // Onix
- 208, // Steelix
- 321, // Wailord
-};
-
-#endif // GUARD_DATA_POKEDEX_ORDERS
diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h
index bc6572b46..078304888 100644
--- a/src/data/pokemon/base_stats.h
+++ b/src/data/pokemon/base_stats.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_BASE_STATS_H
-#define GUARD_BASE_STATS_H
-
// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female.
// 255 (MON_GENDERLESS) is reserved for genderless pokemon.
#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))
@@ -13572,5 +13569,3 @@ const struct BaseStats gBaseStats[] =
.noFlip = FALSE,
}
};
-
-#endif //GUARD_BASE_STATS_H
diff --git a/src/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h
index 1c1c32dde..0c7dd8dad 100644
--- a/src/data/pokemon/cry_ids.h
+++ b/src/data/pokemon/cry_ids.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_CRY_IDS_H
-#define POKEEMERALD_CRY_IDS_H
-
const u16 gSpeciesIdToCryId[] =
{
273, // TREECKO
@@ -139,5 +136,3 @@ const u16 gSpeciesIdToCryId[] =
386, // DEOXYS
387 // CHIMECHO
};
-
-#endif //POKEEMERALD_CRY_IDS_H
diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h
index 3d74868b4..f8c250c6d 100644
--- a/src/data/pokemon/egg_moves.h
+++ b/src/data/pokemon/egg_moves.h
@@ -1,12 +1,7 @@
-#ifndef POKEEMERALD_DAYCARE_H
-#define POKEEMERALD_DAYCARE_H
-
#define EGG_MOVES_SPECIES_OFFSET 20000
#define EGG_MOVES_TERMINATOR 0xFFFF
#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves
-#endif // POKEEMERALD_DAYCARE_H
-
const u16 gEggMoves[] = {
egg_moves(BULBASAUR,
MOVE_LIGHT_SCREEN,
diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h
index 8629ac9b1..c9b0cf716 100644
--- a/src/data/pokemon/evolution.h
+++ b/src/data/pokemon/evolution.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_EVOLUTION_H
-#define POKEEMERALD_EVOLUTION_H
-
const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
{
[SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}},
@@ -188,5 +185,3 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}},
[SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}},
};
-
-#endif //POKEEMERALD_EVOLUTION_H
diff --git a/src/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h
index 9fd5a2fae..15bcadeb2 100644
--- a/src/data/pokemon/experience_tables.h
+++ b/src/data/pokemon/experience_tables.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_EXPERIENCE_TABLES_H
-#define POKEEMERALD_EXPERIENCE_TABLES_H
-
#define SQUARE(n)(n * n)
#define CUBE(n)(n * n * n)
@@ -845,5 +842,3 @@ const u32 gExperienceTables[][MAX_LEVEL + 1] =
EXP_MEDIUM_FAST(100),
}
};
-
-#endif //POKEEMERALD_EXPERIENCE_TABLES_H
diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h
index 6ba0d694e..9f5720a66 100644
--- a/src/data/pokemon/item_effects.h
+++ b/src/data/pokemon/item_effects.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_ITEM_EFFECTS_H
-#define GUARD_ITEM_EFFECTS_H
-
const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20};
const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00};
const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00};
@@ -237,5 +234,3 @@ const u8 *const gItemEffectTable[] =
NULL,
NULL
};
-
-#endif //GUARD_ITEM_EFFECTS_H
diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h
index 0f648526c..5ac7b3bd7 100644
--- a/src/data/pokemon/level_up_learnset_pointers.h
+++ b/src/data/pokemon/level_up_learnset_pointers.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
-#define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
-
const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
{
[SPECIES_NONE] = sBulbasaurLevelUpLearnset,
@@ -416,5 +413,3 @@ const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
[SPECIES_DEOXYS] = sDeoxysLevelUpLearnset,
[SPECIES_CHIMECHO] = sChimechoLevelUpLearnset,
};
-
-#endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h
index 062873aee..727cc0959 100644
--- a/src/data/pokemon/level_up_learnsets.h
+++ b/src/data/pokemon/level_up_learnsets.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_LEVEL_UP_LEARNSETS_H
-#define POKEEMERALD_LEVEL_UP_LEARNSETS_H
-
#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move)
#define LEVEL_UP_END 0xffff
@@ -5619,5 +5616,3 @@ static const u16 sChimechoLevelUpLearnset[] = {
LEVEL_UP_MOVE(46, MOVE_PSYCHIC),
LEVEL_UP_END
};
-
-#endif //POKEEMERALD_LEVEL_UP_LEARNSETS_H
diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h
new file mode 100644
index 000000000..007c73248
--- /dev/null
+++ b/src/data/pokemon/pokedex_entries.h
@@ -0,0 +1,4646 @@
+const struct PokedexEntry gPokedexEntries[] =
+{
+ [NATIONAL_DEX_NONE] =
+ {
+ .categoryName = _("UNKNOWN"),
+ .height = 0,
+ .weight = 0,
+ .description = gDummyPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BULBASAUR] =
+ {
+ .categoryName = _("SEED"),
+ .height = 7,
+ .weight = 69,
+ .description = gBulbasaurPokedexText,
+ .pokemonScale = 356,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_IVYSAUR] =
+ {
+ .categoryName = _("SEED"),
+ .height = 10,
+ .weight = 130,
+ .description = gIvysaurPokedexText,
+ .pokemonScale = 335,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VENUSAUR] =
+ {
+ .categoryName = _("SEED"),
+ .height = 20,
+ .weight = 1000,
+ .description = gVenusaurPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 388,
+ .trainerOffset = 6,
+ },
+
+ [NATIONAL_DEX_CHARMANDER] =
+ {
+ .categoryName = _("LIZARD"),
+ .height = 6,
+ .weight = 85,
+ .description = gCharmanderPokedexText,
+ .pokemonScale = 444,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CHARMELEON] =
+ {
+ .categoryName = _("FLAME"),
+ .height = 11,
+ .weight = 190,
+ .description = gCharmeleonPokedexText,
+ .pokemonScale = 302,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CHARIZARD] =
+ {
+ .categoryName = _("FLAME"),
+ .height = 17,
+ .weight = 905,
+ .description = gCharizardPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 302,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_SQUIRTLE] =
+ {
+ .categoryName = _("TINY TURTLE"),
+ .height = 5,
+ .weight = 90,
+ .description = gSquirtlePokedexText,
+ .pokemonScale = 412,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WARTORTLE] =
+ {
+ .categoryName = _("TURTLE"),
+ .height = 10,
+ .weight = 225,
+ .description = gWartortlePokedexText,
+ .pokemonScale = 332,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BLASTOISE] =
+ {
+ .categoryName = _("SHELLFISH"),
+ .height = 16,
+ .weight = 855,
+ .description = gBlastoisePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = -1,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_CATERPIE] =
+ {
+ .categoryName = _("WORM"),
+ .height = 3,
+ .weight = 29,
+ .description = gCaterpiePokedexText,
+ .pokemonScale = 549,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_METAPOD] =
+ {
+ .categoryName = _("COCOON"),
+ .height = 7,
+ .weight = 99,
+ .description = gMetapodPokedexText,
+ .pokemonScale = 350,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BUTTERFREE] =
+ {
+ .categoryName = _("BUTTERFLY"),
+ .height = 11,
+ .weight = 320,
+ .description = gButterfreePokedexText,
+ .pokemonScale = 312,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WEEDLE] =
+ {
+ .categoryName = _("HAIRY BUG"),
+ .height = 3,
+ .weight = 32,
+ .description = gWeedlePokedexText,
+ .pokemonScale = 455,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KAKUNA] =
+ {
+ .categoryName = _("COCOON"),
+ .height = 6,
+ .weight = 100,
+ .description = gKakunaPokedexText,
+ .pokemonScale = 424,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BEEDRILL] =
+ {
+ .categoryName = _("POISON BEE"),
+ .height = 10,
+ .weight = 295,
+ .description = gBeedrillPokedexText,
+ .pokemonScale = 366,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PIDGEY] =
+ {
+ .categoryName = _("TINY BIRD"),
+ .height = 3,
+ .weight = 18,
+ .description = gPidgeyPokedexText,
+ .pokemonScale = 508,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PIDGEOTTO] =
+ {
+ .categoryName = _("BIRD"),
+ .height = 11,
+ .weight = 300,
+ .description = gPidgeottoPokedexText,
+ .pokemonScale = 331,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PIDGEOT] =
+ {
+ .categoryName = _("BIRD"),
+ .height = 15,
+ .weight = 395,
+ .description = gPidgeotPokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RATTATA] =
+ {
+ .categoryName = _("MOUSE"),
+ .height = 3,
+ .weight = 35,
+ .description = gRattataPokedexText,
+ .pokemonScale = 481,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RATICATE] =
+ {
+ .categoryName = _("MOUSE"),
+ .height = 7,
+ .weight = 185,
+ .description = gRaticatePokedexText,
+ .pokemonScale = 459,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SPEAROW] =
+ {
+ .categoryName = _("TINY BIRD"),
+ .height = 3,
+ .weight = 20,
+ .description = gSpearowPokedexText,
+ .pokemonScale = 571,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FEAROW] =
+ {
+ .categoryName = _("BEAK"),
+ .height = 12,
+ .weight = 380,
+ .description = gFearowPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_EKANS] =
+ {
+ .categoryName = _("SNAKE"),
+ .height = 20,
+ .weight = 69,
+ .description = gEkansPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ARBOK] =
+ {
+ .categoryName = _("COBRA"),
+ .height = 35,
+ .weight = 650,
+ .description = gArbokPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 296,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_PIKACHU] =
+ {
+ .categoryName = _("MOUSE"),
+ .height = 4,
+ .weight = 60,
+ .description = gPikachuPokedexText,
+ .pokemonScale = 479,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RAICHU] =
+ {
+ .categoryName = _("MOUSE"),
+ .height = 8,
+ .weight = 300,
+ .description = gRaichuPokedexText,
+ .pokemonScale = 426,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SANDSHREW] =
+ {
+ .categoryName = _("MOUSE"),
+ .height = 6,
+ .weight = 120,
+ .description = gSandshrewPokedexText,
+ .pokemonScale = 365,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SANDSLASH] =
+ {
+ .categoryName = _("MOUSE"),
+ .height = 10,
+ .weight = 295,
+ .description = gSandslashPokedexText,
+ .pokemonScale = 341,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NIDORAN_F] =
+ {
+ .categoryName = _("POISON PIN"),
+ .height = 4,
+ .weight = 70,
+ .description = gNidoranFPokedexText,
+ .pokemonScale = 488,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NIDORINA] =
+ {
+ .categoryName = _("POISON PIN"),
+ .height = 8,
+ .weight = 200,
+ .description = gNidorinaPokedexText,
+ .pokemonScale = 381,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NIDOQUEEN] =
+ {
+ .categoryName = _("DRILL"),
+ .height = 13,
+ .weight = 600,
+ .description = gNidoqueenPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NIDORAN_M] =
+ {
+ .categoryName = _("POISON PIN"),
+ .height = 5,
+ .weight = 90,
+ .description = gNidoranMPokedexText,
+ .pokemonScale = 511,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NIDORINO] =
+ {
+ .categoryName = _("POISON PIN"),
+ .height = 9,
+ .weight = 195,
+ .description = gNidorinoPokedexText,
+ .pokemonScale = 408,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NIDOKING] =
+ {
+ .categoryName = _("DRILL"),
+ .height = 14,
+ .weight = 620,
+ .description = gNidokingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CLEFAIRY] =
+ {
+ .categoryName = _("FAIRY"),
+ .height = 6,
+ .weight = 75,
+ .description = gClefairyPokedexText,
+ .pokemonScale = 441,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CLEFABLE] =
+ {
+ .categoryName = _("FAIRY"),
+ .height = 13,
+ .weight = 400,
+ .description = gClefablePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VULPIX] =
+ {
+ .categoryName = _("FOX"),
+ .height = 6,
+ .weight = 99,
+ .description = gVulpixPokedexText,
+ .pokemonScale = 542,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NINETALES] =
+ {
+ .categoryName = _("FOX"),
+ .height = 11,
+ .weight = 199,
+ .description = gNinetalesPokedexText,
+ .pokemonScale = 339,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_JIGGLYPUFF] =
+ {
+ .categoryName = _("BALLOON"),
+ .height = 5,
+ .weight = 55,
+ .description = gJigglypuffPokedexText,
+ .pokemonScale = 433,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WIGGLYTUFF] =
+ {
+ .categoryName = _("BALLOON"),
+ .height = 10,
+ .weight = 120,
+ .description = gWigglytuffPokedexText,
+ .pokemonScale = 328,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ZUBAT] =
+ {
+ .categoryName = _("BAT"),
+ .height = 8,
+ .weight = 75,
+ .description = gZubatPokedexText,
+ .pokemonScale = 362,
+ .pokemonOffset = -5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GOLBAT] =
+ {
+ .categoryName = _("BAT"),
+ .height = 16,
+ .weight = 550,
+ .description = gGolbatPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ODDISH] =
+ {
+ .categoryName = _("WEED"),
+ .height = 5,
+ .weight = 54,
+ .description = gOddishPokedexText,
+ .pokemonScale = 423,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GLOOM] =
+ {
+ .categoryName = _("WEED"),
+ .height = 8,
+ .weight = 86,
+ .description = gGloomPokedexText,
+ .pokemonScale = 329,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VILEPLUME] =
+ {
+ .categoryName = _("FLOWER"),
+ .height = 12,
+ .weight = 186,
+ .description = gVileplumePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PARAS] =
+ {
+ .categoryName = _("MUSHROOM"),
+ .height = 3,
+ .weight = 54,
+ .description = gParasPokedexText,
+ .pokemonScale = 593,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PARASECT] =
+ {
+ .categoryName = _("MUSHROOM"),
+ .height = 10,
+ .weight = 295,
+ .description = gParasectPokedexText,
+ .pokemonScale = 307,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VENONAT] =
+ {
+ .categoryName = _("INSECT"),
+ .height = 10,
+ .weight = 300,
+ .description = gVenonatPokedexText,
+ .pokemonScale = 360,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = -1,
+ },
+
+ [NATIONAL_DEX_VENOMOTH] =
+ {
+ .categoryName = _("POISON MOTH"),
+ .height = 15,
+ .weight = 125,
+ .description = gVenomothPokedexText,
+ .pokemonScale = 285,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_DIGLETT] =
+ {
+ .categoryName = _("MOLE"),
+ .height = 2,
+ .weight = 8,
+ .description = gDiglettPokedexText,
+ .pokemonScale = 833,
+ .pokemonOffset = 25,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DUGTRIO] =
+ {
+ .categoryName = _("MOLE"),
+ .height = 7,
+ .weight = 333,
+ .description = gDugtrioPokedexText,
+ .pokemonScale = 406,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MEOWTH] =
+ {
+ .categoryName = _("SCRATCH CAT"),
+ .height = 4,
+ .weight = 42,
+ .description = gMeowthPokedexText,
+ .pokemonScale = 480,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PERSIAN] =
+ {
+ .categoryName = _("CLASSY CAT"),
+ .height = 10,
+ .weight = 320,
+ .description = gPersianPokedexText,
+ .pokemonScale = 320,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PSYDUCK] =
+ {
+ .categoryName = _("DUCK"),
+ .height = 8,
+ .weight = 196,
+ .description = gPsyduckPokedexText,
+ .pokemonScale = 369,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GOLDUCK] =
+ {
+ .categoryName = _("DUCK"),
+ .height = 17,
+ .weight = 766,
+ .description = gGolduckPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 273,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_MANKEY] =
+ {
+ .categoryName = _("PIG MONKEY"),
+ .height = 5,
+ .weight = 280,
+ .description = gMankeyPokedexText,
+ .pokemonScale = 404,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PRIMEAPE] =
+ {
+ .categoryName = _("PIG MONKEY"),
+ .height = 10,
+ .weight = 320,
+ .description = gPrimeapePokedexText,
+ .pokemonScale = 326,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GROWLITHE] =
+ {
+ .categoryName = _("PUPPY"),
+ .height = 7,
+ .weight = 190,
+ .description = gGrowlithePokedexText,
+ .pokemonScale = 346,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ARCANINE] =
+ {
+ .categoryName = _("LEGENDARY"),
+ .height = 19,
+ .weight = 1550,
+ .description = gArcaninePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 312,
+ .trainerOffset = 4,
+ },
+
+ [NATIONAL_DEX_POLIWAG] =
+ {
+ .categoryName = _("TADPOLE"),
+ .height = 6,
+ .weight = 124,
+ .description = gPoliwagPokedexText,
+ .pokemonScale = 369,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_POLIWHIRL] =
+ {
+ .categoryName = _("TADPOLE"),
+ .height = 10,
+ .weight = 200,
+ .description = gPoliwhirlPokedexText,
+ .pokemonScale = 288,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_POLIWRATH] =
+ {
+ .categoryName = _("TADPOLE"),
+ .height = 13,
+ .weight = 540,
+ .description = gPoliwrathPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ABRA] =
+ {
+ .categoryName = _("PSI"),
+ .height = 9,
+ .weight = 195,
+ .description = gAbraPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KADABRA] =
+ {
+ .categoryName = _("PSI"),
+ .height = 13,
+ .weight = 565,
+ .description = gKadabraPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ALAKAZAM] =
+ {
+ .categoryName = _("PSI"),
+ .height = 15,
+ .weight = 480,
+ .description = gAlakazamPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MACHOP] =
+ {
+ .categoryName = _("SUPERPOWER"),
+ .height = 8,
+ .weight = 195,
+ .description = gMachopPokedexText,
+ .pokemonScale = 342,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MACHOKE] =
+ {
+ .categoryName = _("SUPERPOWER"),
+ .height = 15,
+ .weight = 705,
+ .description = gMachokePokedexText,
+ .pokemonScale = 323,
+ .pokemonOffset = 9,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MACHAMP] =
+ {
+ .categoryName = _("SUPERPOWER"),
+ .height = 16,
+ .weight = 1300,
+ .description = gMachampPokedexText,
+ .pokemonScale = 280,
+ .pokemonOffset = 1,
+ .trainerScale = 269,
+ .trainerOffset = -1,
+ },
+
+ [NATIONAL_DEX_BELLSPROUT] =
+ {
+ .categoryName = _("FLOWER"),
+ .height = 7,
+ .weight = 40,
+ .description = gBellsproutPokedexText,
+ .pokemonScale = 354,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WEEPINBELL] =
+ {
+ .categoryName = _("FLYCATCHER"),
+ .height = 10,
+ .weight = 64,
+ .description = gWeepinbellPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VICTREEBEL] =
+ {
+ .categoryName = _("FLYCATCHER"),
+ .height = 17,
+ .weight = 155,
+ .description = gVictreebelPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 312,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_TENTACOOL] =
+ {
+ .categoryName = _("JELLYFISH"),
+ .height = 9,
+ .weight = 455,
+ .description = gTentacoolPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TENTACRUEL] =
+ {
+ .categoryName = _("JELLYFISH"),
+ .height = 16,
+ .weight = 550,
+ .description = gTentacruelPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 312,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_GEODUDE] =
+ {
+ .categoryName = _("ROCK"),
+ .height = 4,
+ .weight = 200,
+ .description = gGeodudePokedexText,
+ .pokemonScale = 347,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GRAVELER] =
+ {
+ .categoryName = _("ROCK"),
+ .height = 10,
+ .weight = 1050,
+ .description = gGravelerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GOLEM] =
+ {
+ .categoryName = _("MEGATON"),
+ .height = 14,
+ .weight = 3000,
+ .description = gGolemPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 296,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_PONYTA] =
+ {
+ .categoryName = _("FIRE HORSE"),
+ .height = 10,
+ .weight = 300,
+ .description = gPonytaPokedexText,
+ .pokemonScale = 283,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RAPIDASH] =
+ {
+ .categoryName = _("FIRE HORSE"),
+ .height = 17,
+ .weight = 950,
+ .description = gRapidashPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 289,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_SLOWPOKE] =
+ {
+ .categoryName = _("DOPEY"),
+ .height = 12,
+ .weight = 360,
+ .description = gSlowpokePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SLOWBRO] =
+ {
+ .categoryName = _("HERMIT CRAB"),
+ .height = 16,
+ .weight = 785,
+ .description = gSlowbroPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 296,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_MAGNEMITE] =
+ {
+ .categoryName = _("MAGNET"),
+ .height = 3,
+ .weight = 60,
+ .description = gMagnemitePokedexText,
+ .pokemonScale = 288,
+ .pokemonOffset = -9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAGNETON] =
+ {
+ .categoryName = _("MAGNET"),
+ .height = 10,
+ .weight = 600,
+ .description = gMagnetonPokedexText,
+ .pokemonScale = 292,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FARFETCHD] =
+ {
+ .categoryName = _("WILD DUCK"),
+ .height = 8,
+ .weight = 150,
+ .description = gFarfetchdPokedexText,
+ .pokemonScale = 330,
+ .pokemonOffset = 2,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_DODUO] =
+ {
+ .categoryName = _("TWIN BIRD"),
+ .height = 14,
+ .weight = 392,
+ .description = gDoduoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 257,
+ .trainerOffset = -1,
+ },
+
+ [NATIONAL_DEX_DODRIO] =
+ {
+ .categoryName = _("TRIPLE BIRD"),
+ .height = 18,
+ .weight = 852,
+ .description = gDodrioPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SEEL] =
+ {
+ .categoryName = _("SEA LION"),
+ .height = 11,
+ .weight = 900,
+ .description = gSeelPokedexText,
+ .pokemonScale = 297,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DEWGONG] =
+ {
+ .categoryName = _("SEA LION"),
+ .height = 17,
+ .weight = 1200,
+ .description = gDewgongPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 275,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GRIMER] =
+ {
+ .categoryName = _("SLUDGE"),
+ .height = 9,
+ .weight = 300,
+ .description = gGrimerPokedexText,
+ .pokemonScale = 258,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MUK] =
+ {
+ .categoryName = _("SLUDGE"),
+ .height = 12,
+ .weight = 300,
+ .description = gMukPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHELLDER] =
+ {
+ .categoryName = _("BIVALVE"),
+ .height = 3,
+ .weight = 40,
+ .description = gShellderPokedexText,
+ .pokemonScale = 675,
+ .pokemonOffset = 24,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CLOYSTER] =
+ {
+ .categoryName = _("BIVALVE"),
+ .height = 15,
+ .weight = 1325,
+ .description = gCloysterPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 269,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_GASTLY] =
+ {
+ .categoryName = _("GAS"),
+ .height = 13,
+ .weight = 1,
+ .description = gGastlyPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HAUNTER] =
+ {
+ .categoryName = _("GAS"),
+ .height = 16,
+ .weight = 1,
+ .description = gHaunterPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_GENGAR] =
+ {
+ .categoryName = _("SHADOW"),
+ .height = 15,
+ .weight = 405,
+ .description = gGengarPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 302,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_ONIX] =
+ {
+ .categoryName = _("ROCK SNAKE"),
+ .height = 88,
+ .weight = 2100,
+ .description = gOnixPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 515,
+ .trainerOffset = 14,
+ },
+
+ [NATIONAL_DEX_DROWZEE] =
+ {
+ .categoryName = _("HYPNOSIS"),
+ .height = 10,
+ .weight = 324,
+ .description = gDrowzeePokedexText,
+ .pokemonScale = 274,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HYPNO] =
+ {
+ .categoryName = _("HYPNOSIS"),
+ .height = 16,
+ .weight = 756,
+ .description = gHypnoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KRABBY] =
+ {
+ .categoryName = _("RIVER CRAB"),
+ .height = 4,
+ .weight = 65,
+ .description = gKrabbyPokedexText,
+ .pokemonScale = 469,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KINGLER] =
+ {
+ .categoryName = _("PINCER"),
+ .height = 13,
+ .weight = 600,
+ .description = gKinglerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VOLTORB] =
+ {
+ .categoryName = _("BALL"),
+ .height = 5,
+ .weight = 104,
+ .description = gVoltorbPokedexText,
+ .pokemonScale = 364,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ELECTRODE] =
+ {
+ .categoryName = _("BALL"),
+ .height = 12,
+ .weight = 666,
+ .description = gElectrodePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_EXEGGCUTE] =
+ {
+ .categoryName = _("EGG"),
+ .height = 4,
+ .weight = 25,
+ .description = gExeggcutePokedexText,
+ .pokemonScale = 489,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_EXEGGUTOR] =
+ {
+ .categoryName = _("COCONUT"),
+ .height = 20,
+ .weight = 1200,
+ .description = gExeggutorPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 5,
+ },
+
+ [NATIONAL_DEX_CUBONE] =
+ {
+ .categoryName = _("LONELY"),
+ .height = 4,
+ .weight = 65,
+ .description = gCubonePokedexText,
+ .pokemonScale = 545,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAROWAK] =
+ {
+ .categoryName = _("BONE KEEPER"),
+ .height = 10,
+ .weight = 450,
+ .description = gMarowakPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HITMONLEE] =
+ {
+ .categoryName = _("KICKING"),
+ .height = 15,
+ .weight = 498,
+ .description = gHitmonleePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 259,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_HITMONCHAN] =
+ {
+ .categoryName = _("PUNCHING"),
+ .height = 14,
+ .weight = 502,
+ .description = gHitmonchanPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 277,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_LICKITUNG] =
+ {
+ .categoryName = _("LICKING"),
+ .height = 12,
+ .weight = 655,
+ .description = gLickitungPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KOFFING] =
+ {
+ .categoryName = _("POISON GAS"),
+ .height = 6,
+ .weight = 10,
+ .description = gKoffingPokedexText,
+ .pokemonScale = 369,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WEEZING] =
+ {
+ .categoryName = _("POISON GAS"),
+ .height = 12,
+ .weight = 95,
+ .description = gWeezingPokedexText,
+ .pokemonScale = 305,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RHYHORN] =
+ {
+ .categoryName = _("SPIKES"),
+ .height = 10,
+ .weight = 1150,
+ .description = gRhyhornPokedexText,
+ .pokemonScale = 267,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RHYDON] =
+ {
+ .categoryName = _("DRILL"),
+ .height = 19,
+ .weight = 1200,
+ .description = gRhydonPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 299,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_CHANSEY] =
+ {
+ .categoryName = _("EGG"),
+ .height = 11,
+ .weight = 346,
+ .description = gChanseyPokedexText,
+ .pokemonScale = 257,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TANGELA] =
+ {
+ .categoryName = _("VINE"),
+ .height = 10,
+ .weight = 350,
+ .description = gTangelaPokedexText,
+ .pokemonScale = 304,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KANGASKHAN] =
+ {
+ .categoryName = _("PARENT"),
+ .height = 22,
+ .weight = 800,
+ .description = gKangaskhanPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 387,
+ .trainerOffset = 8,
+ },
+
+ [NATIONAL_DEX_HORSEA] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 4,
+ .weight = 80,
+ .description = gHorseaPokedexText,
+ .pokemonScale = 399,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SEADRA] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 12,
+ .weight = 250,
+ .description = gSeadraPokedexText,
+ .pokemonScale = 299,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GOLDEEN] =
+ {
+ .categoryName = _("GOLDFISH"),
+ .height = 6,
+ .weight = 150,
+ .description = gGoldeenPokedexText,
+ .pokemonScale = 379,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SEAKING] =
+ {
+ .categoryName = _("GOLDFISH"),
+ .height = 13,
+ .weight = 390,
+ .description = gSeakingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_STARYU] =
+ {
+ .categoryName = _("STAR SHAPE"),
+ .height = 8,
+ .weight = 345,
+ .description = gStaryuPokedexText,
+ .pokemonScale = 326,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_STARMIE] =
+ {
+ .categoryName = _("MYSTERIOUS"),
+ .height = 11,
+ .weight = 800,
+ .description = gStarmiePokedexText,
+ .pokemonScale = 301,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MR_MIME] =
+ {
+ .categoryName = _("BARRIER"),
+ .height = 13,
+ .weight = 545,
+ .description = gMrmimePokedexText,
+ .pokemonScale = 258,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SCYTHER] =
+ {
+ .categoryName = _("MANTIS"),
+ .height = 15,
+ .weight = 560,
+ .description = gScytherPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 1,
+ .trainerScale = 293,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_JYNX] =
+ {
+ .categoryName = _("HUMAN SHAPE"),
+ .height = 14,
+ .weight = 406,
+ .description = gJynxPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 300,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_ELECTABUZZ] =
+ {
+ .categoryName = _("ELECTRIC"),
+ .height = 11,
+ .weight = 300,
+ .description = gElectabuzzPokedexText,
+ .pokemonScale = 351,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAGMAR] =
+ {
+ .categoryName = _("SPITFIRE"),
+ .height = 13,
+ .weight = 445,
+ .description = gMagmarPokedexText,
+ .pokemonScale = 277,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PINSIR] =
+ {
+ .categoryName = _("STAG BEETLE"),
+ .height = 15,
+ .weight = 550,
+ .description = gPinsirPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TAUROS] =
+ {
+ .categoryName = _("WILD BULL"),
+ .height = 14,
+ .weight = 884,
+ .description = gTaurosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAGIKARP] =
+ {
+ .categoryName = _("FISH"),
+ .height = 9,
+ .weight = 100,
+ .description = gMagikarpPokedexText,
+ .pokemonScale = 310,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GYARADOS] =
+ {
+ .categoryName = _("ATROCIOUS"),
+ .height = 65,
+ .weight = 2350,
+ .description = gGyaradosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 481,
+ .trainerOffset = 13,
+ },
+
+ [NATIONAL_DEX_LAPRAS] =
+ {
+ .categoryName = _("TRANSPORT"),
+ .height = 25,
+ .weight = 2200,
+ .description = gLaprasPokedexText,
+ .pokemonScale = 257,
+ .pokemonOffset = 10,
+ .trainerScale = 423,
+ .trainerOffset = 8,
+ },
+
+ [NATIONAL_DEX_DITTO] =
+ {
+ .categoryName = _("TRANSFORM"),
+ .height = 3,
+ .weight = 40,
+ .description = gDittoPokedexText,
+ .pokemonScale = 633,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_EEVEE] =
+ {
+ .categoryName = _("EVOLUTION"),
+ .height = 3,
+ .weight = 65,
+ .description = gEeveePokedexText,
+ .pokemonScale = 476,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VAPOREON] =
+ {
+ .categoryName = _("BUBBLE JET"),
+ .height = 10,
+ .weight = 290,
+ .description = gVaporeonPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_JOLTEON] =
+ {
+ .categoryName = _("LIGHTNING"),
+ .height = 8,
+ .weight = 245,
+ .description = gJolteonPokedexText,
+ .pokemonScale = 283,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FLAREON] =
+ {
+ .categoryName = _("FLAME"),
+ .height = 9,
+ .weight = 250,
+ .description = gFlareonPokedexText,
+ .pokemonScale = 306,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PORYGON] =
+ {
+ .categoryName = _("VIRTUAL"),
+ .height = 8,
+ .weight = 365,
+ .description = gPorygonPokedexText,
+ .pokemonScale = 328,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_OMANYTE] =
+ {
+ .categoryName = _("SPIRAL"),
+ .height = 4,
+ .weight = 75,
+ .description = gOmanytePokedexText,
+ .pokemonScale = 521,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_OMASTAR] =
+ {
+ .categoryName = _("SPIRAL"),
+ .height = 10,
+ .weight = 350,
+ .description = gOmastarPokedexText,
+ .pokemonScale = 307,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KABUTO] =
+ {
+ .categoryName = _("SHELLFISH"),
+ .height = 5,
+ .weight = 115,
+ .description = gKabutoPokedexText,
+ .pokemonScale = 454,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KABUTOPS] =
+ {
+ .categoryName = _("SHELLFISH"),
+ .height = 13,
+ .weight = 405,
+ .description = gKabutopsPokedexText,
+ .pokemonScale = 271,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_AERODACTYL] =
+ {
+ .categoryName = _("FOSSIL"),
+ .height = 18,
+ .weight = 590,
+ .description = gAerodactylPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 302,
+ .trainerOffset = 4,
+ },
+
+ [NATIONAL_DEX_SNORLAX] =
+ {
+ .categoryName = _("SLEEPING"),
+ .height = 21,
+ .weight = 4600,
+ .description = gSnorlaxPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 423,
+ .trainerOffset = 11,
+ },
+
+ [NATIONAL_DEX_ARTICUNO] =
+ {
+ .categoryName = _("FREEZE"),
+ .height = 17,
+ .weight = 554,
+ .description = gArticunoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_ZAPDOS] =
+ {
+ .categoryName = _("ELECTRIC"),
+ .height = 16,
+ .weight = 526,
+ .description = gZapdosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 318,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_MOLTRES] =
+ {
+ .categoryName = _("FLAME"),
+ .height = 20,
+ .weight = 600,
+ .description = gMoltresPokedexText,
+ .pokemonScale = 270,
+ .pokemonOffset = 0,
+ .trainerScale = 387,
+ .trainerOffset = 8,
+ },
+
+ [NATIONAL_DEX_DRATINI] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 18,
+ .weight = 33,
+ .description = gDratiniPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 8,
+ .trainerScale = 386,
+ .trainerOffset = 6,
+ },
+
+ [NATIONAL_DEX_DRAGONAIR] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 40,
+ .weight = 165,
+ .description = gDragonairPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 411,
+ .trainerOffset = 5,
+ },
+
+ [NATIONAL_DEX_DRAGONITE] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 22,
+ .weight = 2100,
+ .description = gDragonitePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 4,
+ },
+
+ [NATIONAL_DEX_MEWTWO] =
+ {
+ .categoryName = _("GENETIC"),
+ .height = 20,
+ .weight = 1220,
+ .description = gMewtwoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 4,
+ },
+
+ [NATIONAL_DEX_MEW] =
+ {
+ .categoryName = _("NEW SPECIES"),
+ .height = 4,
+ .weight = 40,
+ .description = gMewPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CHIKORITA] =
+ {
+ .categoryName = _("LEAF"),
+ .height = 9,
+ .weight = 64,
+ .description = gChikoritaPokedexText,
+ .pokemonScale = 512,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BAYLEEF] =
+ {
+ .categoryName = _("LEAF"),
+ .height = 12,
+ .weight = 158,
+ .description = gBayleefPokedexText,
+ .pokemonScale = 296,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MEGANIUM] =
+ {
+ .categoryName = _("HERB"),
+ .height = 18,
+ .weight = 1005,
+ .description = gMeganiumPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 277,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_CYNDAQUIL] =
+ {
+ .categoryName = _("FIRE MOUSE"),
+ .height = 5,
+ .weight = 79,
+ .description = gCyndaquilPokedexText,
+ .pokemonScale = 539,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_QUILAVA] =
+ {
+ .categoryName = _("VOLCANO"),
+ .height = 9,
+ .weight = 190,
+ .description = gQuilavaPokedexText,
+ .pokemonScale = 329,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TYPHLOSION] =
+ {
+ .categoryName = _("VOLCANO"),
+ .height = 17,
+ .weight = 795,
+ .description = gTyphlosionPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_TOTODILE] =
+ {
+ .categoryName = _("BIG JAW"),
+ .height = 6,
+ .weight = 95,
+ .description = gTotodilePokedexText,
+ .pokemonScale = 487,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CROCONAW] =
+ {
+ .categoryName = _("BIG JAW"),
+ .height = 11,
+ .weight = 250,
+ .description = gCroconawPokedexText,
+ .pokemonScale = 378,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FERALIGATR] =
+ {
+ .categoryName = _("BIG JAW"),
+ .height = 23,
+ .weight = 888,
+ .description = gFeraligatrPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 342,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_SENTRET] =
+ {
+ .categoryName = _("SCOUT"),
+ .height = 8,
+ .weight = 60,
+ .description = gSentretPokedexText,
+ .pokemonScale = 439,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FURRET] =
+ {
+ .categoryName = _("LONG BODY"),
+ .height = 18,
+ .weight = 325,
+ .description = gFurretPokedexText,
+ .pokemonScale = 346,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HOOTHOOT] =
+ {
+ .categoryName = _("OWL"),
+ .height = 7,
+ .weight = 212,
+ .description = gHoothootPokedexText,
+ .pokemonScale = 380,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NOCTOWL] =
+ {
+ .categoryName = _("OWL"),
+ .height = 16,
+ .weight = 408,
+ .description = gNoctowlPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LEDYBA] =
+ {
+ .categoryName = _("FIVE STAR"),
+ .height = 10,
+ .weight = 108,
+ .description = gLedybaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LEDIAN] =
+ {
+ .categoryName = _("FIVE STAR"),
+ .height = 14,
+ .weight = 356,
+ .description = gLedianPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SPINARAK] =
+ {
+ .categoryName = _("STRING SPIT"),
+ .height = 5,
+ .weight = 85,
+ .description = gSpinarakPokedexText,
+ .pokemonScale = 414,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ARIADOS] =
+ {
+ .categoryName = _("LONG LEG"),
+ .height = 11,
+ .weight = 335,
+ .description = gAriadosPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CROBAT] =
+ {
+ .categoryName = _("BAT"),
+ .height = 18,
+ .weight = 750,
+ .description = gCrobatPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 281,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_CHINCHOU] =
+ {
+ .categoryName = _("ANGLER"),
+ .height = 5,
+ .weight = 120,
+ .description = gChinchouPokedexText,
+ .pokemonScale = 424,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LANTURN] =
+ {
+ .categoryName = _("LIGHT"),
+ .height = 12,
+ .weight = 225,
+ .description = gLanturnPokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PICHU] =
+ {
+ .categoryName = _("TINY MOUSE"),
+ .height = 3,
+ .weight = 20,
+ .description = gPichuPokedexText,
+ .pokemonScale = 508,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CLEFFA] =
+ {
+ .categoryName = _("STAR SHAPE"),
+ .height = 3,
+ .weight = 30,
+ .description = gCleffaPokedexText,
+ .pokemonScale = 462,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_IGGLYBUFF] =
+ {
+ .categoryName = _("BALLOON"),
+ .height = 3,
+ .weight = 10,
+ .description = gIgglybuffPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TOGEPI] =
+ {
+ .categoryName = _("SPIKE BALL"),
+ .height = 3,
+ .weight = 15,
+ .description = gTogepiPokedexText,
+ .pokemonScale = 507,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TOGETIC] =
+ {
+ .categoryName = _("HAPPINESS"),
+ .height = 6,
+ .weight = 32,
+ .description = gTogeticPokedexText,
+ .pokemonScale = 424,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NATU] =
+ {
+ .categoryName = _("TINY BIRD"),
+ .height = 2,
+ .weight = 20,
+ .description = gNatuPokedexText,
+ .pokemonScale = 610,
+ .pokemonOffset = 25,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_XATU] =
+ {
+ .categoryName = _("MYSTIC"),
+ .height = 15,
+ .weight = 150,
+ .description = gXatuPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 318,
+ .trainerOffset = 4,
+ },
+
+ [NATIONAL_DEX_MAREEP] =
+ {
+ .categoryName = _("WOOL"),
+ .height = 6,
+ .weight = 78,
+ .description = gMareepPokedexText,
+ .pokemonScale = 379,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FLAAFFY] =
+ {
+ .categoryName = _("WOOL"),
+ .height = 8,
+ .weight = 133,
+ .description = gFlaaffyPokedexText,
+ .pokemonScale = 372,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_AMPHAROS] =
+ {
+ .categoryName = _("LIGHT"),
+ .height = 14,
+ .weight = 615,
+ .description = gAmpharosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BELLOSSOM] =
+ {
+ .categoryName = _("FLOWER"),
+ .height = 4,
+ .weight = 58,
+ .description = gBellossomPokedexText,
+ .pokemonScale = 472,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MARILL] =
+ {
+ .categoryName = _("AQUA MOUSE"),
+ .height = 4,
+ .weight = 85,
+ .description = gMarillPokedexText,
+ .pokemonScale = 476,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_AZUMARILL] =
+ {
+ .categoryName = _("AQUA RABBIT"),
+ .height = 8,
+ .weight = 285,
+ .description = gAzumarillPokedexText,
+ .pokemonScale = 448,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SUDOWOODO] =
+ {
+ .categoryName = _("IMITATION"),
+ .height = 12,
+ .weight = 380,
+ .description = gSudowoodoPokedexText,
+ .pokemonScale = 305,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_POLITOED] =
+ {
+ .categoryName = _("FROG"),
+ .height = 11,
+ .weight = 339,
+ .description = gPolitoedPokedexText,
+ .pokemonScale = 289,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HOPPIP] =
+ {
+ .categoryName = _("COTTONWEED"),
+ .height = 4,
+ .weight = 5,
+ .description = gHoppipPokedexText,
+ .pokemonScale = 562,
+ .pokemonOffset = -7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SKIPLOOM] =
+ {
+ .categoryName = _("COTTONWEED"),
+ .height = 6,
+ .weight = 10,
+ .description = gSkiploomPokedexText,
+ .pokemonScale = 387,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_JUMPLUFF] =
+ {
+ .categoryName = _("COTTONWEED"),
+ .height = 8,
+ .weight = 30,
+ .description = gJumpluffPokedexText,
+ .pokemonScale = 418,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_AIPOM] =
+ {
+ .categoryName = _("LONG TAIL"),
+ .height = 8,
+ .weight = 115,
+ .description = gAipomPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SUNKERN] =
+ {
+ .categoryName = _("SEED"),
+ .height = 3,
+ .weight = 18,
+ .description = gSunkernPokedexText,
+ .pokemonScale = 541,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SUNFLORA] =
+ {
+ .categoryName = _("SUN"),
+ .height = 8,
+ .weight = 85,
+ .description = gSunfloraPokedexText,
+ .pokemonScale = 444,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_YANMA] =
+ {
+ .categoryName = _("CLEAR WING"),
+ .height = 12,
+ .weight = 380,
+ .description = gYanmaPokedexText,
+ .pokemonScale = 274,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WOOPER] =
+ {
+ .categoryName = _("WATER FISH"),
+ .height = 4,
+ .weight = 85,
+ .description = gWooperPokedexText,
+ .pokemonScale = 479,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_QUAGSIRE] =
+ {
+ .categoryName = _("WATER FISH"),
+ .height = 14,
+ .weight = 750,
+ .description = gQuagsirePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ESPEON] =
+ {
+ .categoryName = _("SUN"),
+ .height = 9,
+ .weight = 265,
+ .description = gEspeonPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_UMBREON] =
+ {
+ .categoryName = _("MOONLIGHT"),
+ .height = 10,
+ .weight = 270,
+ .description = gUmbreonPokedexText,
+ .pokemonScale = 317,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MURKROW] =
+ {
+ .categoryName = _("DARKNESS"),
+ .height = 5,
+ .weight = 21,
+ .description = gMurkrowPokedexText,
+ .pokemonScale = 401,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_SLOWKING] =
+ {
+ .categoryName = _("ROYAL"),
+ .height = 20,
+ .weight = 795,
+ .description = gSlowkingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 309,
+ .trainerOffset = 5,
+ },
+
+ [NATIONAL_DEX_MISDREAVUS] =
+ {
+ .categoryName = _("SCREECH"),
+ .height = 7,
+ .weight = 10,
+ .description = gMisdreavusPokedexText,
+ .pokemonScale = 407,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_UNOWN] =
+ {
+ .categoryName = _("SYMBOL"),
+ .height = 5,
+ .weight = 50,
+ .description = gUnownPokedexText,
+ .pokemonScale = 411,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WOBBUFFET] =
+ {
+ .categoryName = _("PATIENT"),
+ .height = 13,
+ .weight = 285,
+ .description = gWobbuffetPokedexText,
+ .pokemonScale = 274,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GIRAFARIG] =
+ {
+ .categoryName = _("LONG NECK"),
+ .height = 15,
+ .weight = 415,
+ .description = gGirafarigPokedexText,
+ .pokemonScale = 281,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PINECO] =
+ {
+ .categoryName = _("BAGWORM"),
+ .height = 6,
+ .weight = 72,
+ .description = gPinecoPokedexText,
+ .pokemonScale = 445,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FORRETRESS] =
+ {
+ .categoryName = _("BAGWORM"),
+ .height = 12,
+ .weight = 1258,
+ .description = gForretressPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DUNSPARCE] =
+ {
+ .categoryName = _("LAND SNAKE"),
+ .height = 15,
+ .weight = 140,
+ .description = gDunsparcePokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GLIGAR] =
+ {
+ .categoryName = _("FLYSCORPION"),
+ .height = 11,
+ .weight = 648,
+ .description = gGligarPokedexText,
+ .pokemonScale = 350,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_STEELIX] =
+ {
+ .categoryName = _("IRON SNAKE"),
+ .height = 92,
+ .weight = 4000,
+ .description = gSteelixPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 516,
+ .trainerOffset = 13,
+ },
+
+ [NATIONAL_DEX_SNUBBULL] =
+ {
+ .categoryName = _("FAIRY"),
+ .height = 6,
+ .weight = 78,
+ .description = gSnubbullPokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GRANBULL] =
+ {
+ .categoryName = _("FAIRY"),
+ .height = 14,
+ .weight = 487,
+ .description = gGranbullPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_QWILFISH] =
+ {
+ .categoryName = _("BALLOON"),
+ .height = 5,
+ .weight = 39,
+ .description = gQwilfishPokedexText,
+ .pokemonScale = 430,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SCIZOR] =
+ {
+ .categoryName = _("PINCER"),
+ .height = 18,
+ .weight = 1180,
+ .description = gScizorPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHUCKLE] =
+ {
+ .categoryName = _("MOLD"),
+ .height = 6,
+ .weight = 205,
+ .description = gShucklePokedexText,
+ .pokemonScale = 485,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HERACROSS] =
+ {
+ .categoryName = _("SINGLE HORN"),
+ .height = 15,
+ .weight = 540,
+ .description = gHeracrossPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SNEASEL] =
+ {
+ .categoryName = _("SHARP CLAW"),
+ .height = 9,
+ .weight = 280,
+ .description = gSneaselPokedexText,
+ .pokemonScale = 413,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TEDDIURSA] =
+ {
+ .categoryName = _("LITTLE BEAR"),
+ .height = 6,
+ .weight = 88,
+ .description = gTeddiursaPokedexText,
+ .pokemonScale = 455,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_URSARING] =
+ {
+ .categoryName = _("HIBERNATOR"),
+ .height = 18,
+ .weight = 1258,
+ .description = gUrsaringPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SLUGMA] =
+ {
+ .categoryName = _("LAVA"),
+ .height = 7,
+ .weight = 350,
+ .description = gSlugmaPokedexText,
+ .pokemonScale = 329,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAGCARGO] =
+ {
+ .categoryName = _("LAVA"),
+ .height = 8,
+ .weight = 550,
+ .description = gMagcargoPokedexText,
+ .pokemonScale = 332,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SWINUB] =
+ {
+ .categoryName = _("PIG"),
+ .height = 4,
+ .weight = 65,
+ .description = gSwinubPokedexText,
+ .pokemonScale = 324,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PILOSWINE] =
+ {
+ .categoryName = _("SWINE"),
+ .height = 11,
+ .weight = 558,
+ .description = gPiloswinePokedexText,
+ .pokemonScale = 306,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CORSOLA] =
+ {
+ .categoryName = _("CORAL"),
+ .height = 6,
+ .weight = 50,
+ .description = gCorsolaPokedexText,
+ .pokemonScale = 410,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_REMORAID] =
+ {
+ .categoryName = _("JET"),
+ .height = 6,
+ .weight = 120,
+ .description = gRemoraidPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_OCTILLERY] =
+ {
+ .categoryName = _("JET"),
+ .height = 9,
+ .weight = 285,
+ .description = gOctilleryPokedexText,
+ .pokemonScale = 296,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DELIBIRD] =
+ {
+ .categoryName = _("DELIVERY"),
+ .height = 9,
+ .weight = 160,
+ .description = gDelibirdPokedexText,
+ .pokemonScale = 293,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MANTINE] =
+ {
+ .categoryName = _("KITE"),
+ .height = 21,
+ .weight = 2200,
+ .description = gMantinePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 342,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_SKARMORY] =
+ {
+ .categoryName = _("ARMOR BIRD"),
+ .height = 17,
+ .weight = 505,
+ .description = gSkarmoryPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 271,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_HOUNDOUR] =
+ {
+ .categoryName = _("DARK"),
+ .height = 6,
+ .weight = 108,
+ .description = gHoundourPokedexText,
+ .pokemonScale = 393,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HOUNDOOM] =
+ {
+ .categoryName = _("DARK"),
+ .height = 14,
+ .weight = 350,
+ .description = gHoundoomPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KINGDRA] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 18,
+ .weight = 1520,
+ .description = gKingdraPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 287,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PHANPY] =
+ {
+ .categoryName = _("LONG NOSE"),
+ .height = 5,
+ .weight = 335,
+ .description = gPhanpyPokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DONPHAN] =
+ {
+ .categoryName = _("ARMOR"),
+ .height = 11,
+ .weight = 1200,
+ .description = gDonphanPokedexText,
+ .pokemonScale = 313,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PORYGON2] =
+ {
+ .categoryName = _("VIRTUAL"),
+ .height = 6,
+ .weight = 325,
+ .description = gPorygon2PokedexText,
+ .pokemonScale = 320,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_STANTLER] =
+ {
+ .categoryName = _("BIG HORN"),
+ .height = 14,
+ .weight = 712,
+ .description = gStantlerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SMEARGLE] =
+ {
+ .categoryName = _("PAINTER"),
+ .height = 12,
+ .weight = 580,
+ .description = gSmearglePokedexText,
+ .pokemonScale = 287,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TYROGUE] =
+ {
+ .categoryName = _("SCUFFLE"),
+ .height = 7,
+ .weight = 210,
+ .description = gTyroguePokedexText,
+ .pokemonScale = 292,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HITMONTOP] =
+ {
+ .categoryName = _("HANDSTAND"),
+ .height = 14,
+ .weight = 480,
+ .description = gHitmontopPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SMOOCHUM] =
+ {
+ .categoryName = _("KISS"),
+ .height = 4,
+ .weight = 60,
+ .description = gSmoochumPokedexText,
+ .pokemonScale = 440,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ELEKID] =
+ {
+ .categoryName = _("ELECTRIC"),
+ .height = 6,
+ .weight = 235,
+ .description = gElekidPokedexText,
+ .pokemonScale = 363,
+ .pokemonOffset = 14,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAGBY] =
+ {
+ .categoryName = _("LIVE COAL"),
+ .height = 7,
+ .weight = 214,
+ .description = gMagbyPokedexText,
+ .pokemonScale = 284,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MILTANK] =
+ {
+ .categoryName = _("MILK COW"),
+ .height = 12,
+ .weight = 755,
+ .description = gMiltankPokedexText,
+ .pokemonScale = 280,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BLISSEY] =
+ {
+ .categoryName = _("HAPPINESS"),
+ .height = 15,
+ .weight = 468,
+ .description = gBlisseyPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 310,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_RAIKOU] =
+ {
+ .categoryName = _("THUNDER"),
+ .height = 19,
+ .weight = 1780,
+ .description = gRaikouPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_ENTEI] =
+ {
+ .categoryName = _("VOLCANO"),
+ .height = 21,
+ .weight = 1980,
+ .description = gEnteiPokedexText,
+ .pokemonScale = 259,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_SUICUNE] =
+ {
+ .categoryName = _("AURORA"),
+ .height = 20,
+ .weight = 1870,
+ .description = gSuicunePokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_LARVITAR] =
+ {
+ .categoryName = _("ROCK SKIN"),
+ .height = 6,
+ .weight = 720,
+ .description = gLarvitarPokedexText,
+ .pokemonScale = 472,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PUPITAR] =
+ {
+ .categoryName = _("HARD SHELL"),
+ .height = 12,
+ .weight = 1520,
+ .description = gPupitarPokedexText,
+ .pokemonScale = 292,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TYRANITAR] =
+ {
+ .categoryName = _("ARMOR"),
+ .height = 20,
+ .weight = 2020,
+ .description = gTyranitarPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 345,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_LUGIA] =
+ {
+ .categoryName = _("DIVING"),
+ .height = 52,
+ .weight = 2160,
+ .description = gLugiaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 721,
+ .trainerOffset = 19,
+ },
+
+ [NATIONAL_DEX_HO_OH] =
+ {
+ .categoryName = _("RAINBOW"),
+ .height = 38,
+ .weight = 1990,
+ .description = gHoOhPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 610,
+ .trainerOffset = 17,
+ },
+
+ [NATIONAL_DEX_CELEBI] =
+ {
+ .categoryName = _("TIME TRAVEL"),
+ .height = 6,
+ .weight = 50,
+ .description = gCelebiPokedexText,
+ .pokemonScale = 393,
+ .pokemonOffset = -10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TREECKO] =
+ {
+ .categoryName = _("WOOD GECKO"),
+ .height = 5,
+ .weight = 50,
+ .description = gTreeckoPokedexText,
+ .pokemonScale = 541,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GROVYLE] =
+ {
+ .categoryName = _("WOOD GECKO"),
+ .height = 9,
+ .weight = 216,
+ .description = gGrovylePokedexText,
+ .pokemonScale = 360,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SCEPTILE] =
+ {
+ .categoryName = _("FOREST"),
+ .height = 17,
+ .weight = 522,
+ .description = gSceptilePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = -1,
+ .trainerScale = 275,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_TORCHIC] =
+ {
+ .categoryName = _("CHICK"),
+ .height = 4,
+ .weight = 25,
+ .description = gTorchicPokedexText,
+ .pokemonScale = 566,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_COMBUSKEN] =
+ {
+ .categoryName = _("YOUNG FOWL"),
+ .height = 9,
+ .weight = 195,
+ .description = gCombuskenPokedexText,
+ .pokemonScale = 343,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BLAZIKEN] =
+ {
+ .categoryName = _("BLAZE"),
+ .height = 19,
+ .weight = 520,
+ .description = gBlazikenPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 301,
+ .trainerOffset = 4,
+ },
+
+ [NATIONAL_DEX_MUDKIP] =
+ {
+ .categoryName = _("MUD FISH"),
+ .height = 4,
+ .weight = 76,
+ .description = gMudkipPokedexText,
+ .pokemonScale = 535,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MARSHTOMP] =
+ {
+ .categoryName = _("MUD FISH"),
+ .height = 7,
+ .weight = 280,
+ .description = gMarshtompPokedexText,
+ .pokemonScale = 340,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SWAMPERT] =
+ {
+ .categoryName = _("MUD FISH"),
+ .height = 15,
+ .weight = 819,
+ .description = gSwampertPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_POOCHYENA] =
+ {
+ .categoryName = _("BITE"),
+ .height = 5,
+ .weight = 136,
+ .description = gPoochyenaPokedexText,
+ .pokemonScale = 481,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MIGHTYENA] =
+ {
+ .categoryName = _("BITE"),
+ .height = 10,
+ .weight = 370,
+ .description = gMightyenaPokedexText,
+ .pokemonScale = 362,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ZIGZAGOON] =
+ {
+ .categoryName = _("TINYRACCOON"),
+ .height = 4,
+ .weight = 175,
+ .description = gZigzagoonPokedexText,
+ .pokemonScale = 560,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LINOONE] =
+ {
+ .categoryName = _("RUSHING"),
+ .height = 5,
+ .weight = 325,
+ .description = gLinoonePokedexText,
+ .pokemonScale = 321,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WURMPLE] =
+ {
+ .categoryName = _("WORM"),
+ .height = 3,
+ .weight = 36,
+ .description = gWurmplePokedexText,
+ .pokemonScale = 711,
+ .pokemonOffset = 24,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SILCOON] =
+ {
+ .categoryName = _("COCOON"),
+ .height = 6,
+ .weight = 100,
+ .description = gSilcoonPokedexText,
+ .pokemonScale = 431,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BEAUTIFLY] =
+ {
+ .categoryName = _("BUTTERFLY"),
+ .height = 10,
+ .weight = 284,
+ .description = gBeautiflyPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CASCOON] =
+ {
+ .categoryName = _("COCOON"),
+ .height = 7,
+ .weight = 115,
+ .description = gCascoonPokedexText,
+ .pokemonScale = 391,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DUSTOX] =
+ {
+ .categoryName = _("POISON MOTH"),
+ .height = 12,
+ .weight = 316,
+ .description = gDustoxPokedexText,
+ .pokemonScale = 269,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LOTAD] =
+ {
+ .categoryName = _("WATER WEED"),
+ .height = 5,
+ .weight = 26,
+ .description = gLotadPokedexText,
+ .pokemonScale = 406,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LOMBRE] =
+ {
+ .categoryName = _("JOLLY"),
+ .height = 12,
+ .weight = 325,
+ .description = gLombrePokedexText,
+ .pokemonScale = 277,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LUDICOLO] =
+ {
+ .categoryName = _("CAREFREE"),
+ .height = 15,
+ .weight = 550,
+ .description = gLudicoloPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = -1,
+ },
+
+ [NATIONAL_DEX_SEEDOT] =
+ {
+ .categoryName = _("ACORN"),
+ .height = 5,
+ .weight = 40,
+ .description = gSeedotPokedexText,
+ .pokemonScale = 472,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NUZLEAF] =
+ {
+ .categoryName = _("WILY"),
+ .height = 10,
+ .weight = 280,
+ .description = gNuzleafPokedexText,
+ .pokemonScale = 299,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHIFTRY] =
+ {
+ .categoryName = _("WICKED"),
+ .height = 13,
+ .weight = 596,
+ .description = gShiftryPokedexText,
+ .pokemonScale = 290,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TAILLOW] =
+ {
+ .categoryName = _("TINYSWALLOW"),
+ .height = 3,
+ .weight = 23,
+ .description = gTaillowPokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SWELLOW] =
+ {
+ .categoryName = _("SWALLOW"),
+ .height = 7,
+ .weight = 198,
+ .description = gSwellowPokedexText,
+ .pokemonScale = 428,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WINGULL] =
+ {
+ .categoryName = _("SEAGULL"),
+ .height = 6,
+ .weight = 95,
+ .description = gWingullPokedexText,
+ .pokemonScale = 295,
+ .pokemonOffset = -2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PELIPPER] =
+ {
+ .categoryName = _("WATER BIRD"),
+ .height = 12,
+ .weight = 280,
+ .description = gPelipperPokedexText,
+ .pokemonScale = 288,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RALTS] =
+ {
+ .categoryName = _("FEELING"),
+ .height = 4,
+ .weight = 66,
+ .description = gRaltsPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KIRLIA] =
+ {
+ .categoryName = _("EMOTION"),
+ .height = 8,
+ .weight = 202,
+ .description = gKirliaPokedexText,
+ .pokemonScale = 354,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GARDEVOIR] =
+ {
+ .categoryName = _("EMBRACE"),
+ .height = 16,
+ .weight = 484,
+ .description = gGardevoirPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SURSKIT] =
+ {
+ .categoryName = _("POND SKATER"),
+ .height = 5,
+ .weight = 17,
+ .description = gSurskitPokedexText,
+ .pokemonScale = 375,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MASQUERAIN] =
+ {
+ .categoryName = _("EYEBALL"),
+ .height = 8,
+ .weight = 36,
+ .description = gMasquerainPokedexText,
+ .pokemonScale = 378,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHROOMISH] =
+ {
+ .categoryName = _("MUSHROOM"),
+ .height = 4,
+ .weight = 45,
+ .description = gShroomishPokedexText,
+ .pokemonScale = 513,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BRELOOM] =
+ {
+ .categoryName = _("MUSHROOM"),
+ .height = 12,
+ .weight = 392,
+ .description = gBreloomPokedexText,
+ .pokemonScale = 324,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SLAKOTH] =
+ {
+ .categoryName = _("SLACKER"),
+ .height = 8,
+ .weight = 240,
+ .description = gSlakothPokedexText,
+ .pokemonScale = 291,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VIGOROTH] =
+ {
+ .categoryName = _("WILD MONKEY"),
+ .height = 14,
+ .weight = 465,
+ .description = gVigorothPokedexText,
+ .pokemonScale = 301,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SLAKING] =
+ {
+ .categoryName = _("LAZY"),
+ .height = 20,
+ .weight = 1305,
+ .description = gSlakingPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 300,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_NINCADA] =
+ {
+ .categoryName = _("TRAINEE"),
+ .height = 5,
+ .weight = 55,
+ .description = gNincadaPokedexText,
+ .pokemonScale = 405,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NINJASK] =
+ {
+ .categoryName = _("NINJA"),
+ .height = 8,
+ .weight = 120,
+ .description = gNinjaskPokedexText,
+ .pokemonScale = 383,
+ .pokemonOffset = -9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHEDINJA] =
+ {
+ .categoryName = _("SHED"),
+ .height = 8,
+ .weight = 12,
+ .description = gShedinjaPokedexText,
+ .pokemonScale = 372,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WHISMUR] =
+ {
+ .categoryName = _("WHISPER"),
+ .height = 6,
+ .weight = 163,
+ .description = gWhismurPokedexText,
+ .pokemonScale = 373,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LOUDRED] =
+ {
+ .categoryName = _("BIG VOICE"),
+ .height = 10,
+ .weight = 405,
+ .description = gLoudredPokedexText,
+ .pokemonScale = 356,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_EXPLOUD] =
+ {
+ .categoryName = _("LOUD NOISE"),
+ .height = 15,
+ .weight = 840,
+ .description = gExploudPokedexText,
+ .pokemonScale = 284,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAKUHITA] =
+ {
+ .categoryName = _("GUTS"),
+ .height = 10,
+ .weight = 864,
+ .description = gMakuhitaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HARIYAMA] =
+ {
+ .categoryName = _("ARM THRUST"),
+ .height = 23,
+ .weight = 2538,
+ .description = gHariyamaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 343,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_AZURILL] =
+ {
+ .categoryName = _("POLKA DOT"),
+ .height = 2,
+ .weight = 20,
+ .description = gAzurillPokedexText,
+ .pokemonScale = 603,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_NOSEPASS] =
+ {
+ .categoryName = _("COMPASS"),
+ .height = 10,
+ .weight = 970,
+ .description = gNosepassPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 9,
+ .trainerScale = 289,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_SKITTY] =
+ {
+ .categoryName = _("KITTEN"),
+ .height = 6,
+ .weight = 110,
+ .description = gSkittyPokedexText,
+ .pokemonScale = 492,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DELCATTY] =
+ {
+ .categoryName = _("PRIM"),
+ .height = 11,
+ .weight = 326,
+ .description = gDelcattyPokedexText,
+ .pokemonScale = 322,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SABLEYE] =
+ {
+ .categoryName = _("DARKNESS"),
+ .height = 5,
+ .weight = 110,
+ .description = gSableyePokedexText,
+ .pokemonScale = 451,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MAWILE] =
+ {
+ .categoryName = _("DECEIVER"),
+ .height = 6,
+ .weight = 115,
+ .description = gMawilePokedexText,
+ .pokemonScale = 466,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ARON] =
+ {
+ .categoryName = _("IRON ARMOR"),
+ .height = 4,
+ .weight = 600,
+ .description = gAronPokedexText,
+ .pokemonScale = 419,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LAIRON] =
+ {
+ .categoryName = _("IRON ARMOR"),
+ .height = 9,
+ .weight = 1200,
+ .description = gLaironPokedexText,
+ .pokemonScale = 275,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_AGGRON] =
+ {
+ .categoryName = _("IRON ARMOR"),
+ .height = 21,
+ .weight = 3600,
+ .description = gAggronPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = -1,
+ .trainerScale = 350,
+ .trainerOffset = 6,
+ },
+
+ [NATIONAL_DEX_MEDITITE] =
+ {
+ .categoryName = _("MEDITATE"),
+ .height = 6,
+ .weight = 112,
+ .description = gMedititePokedexText,
+ .pokemonScale = 465,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MEDICHAM] =
+ {
+ .categoryName = _("MEDITATE"),
+ .height = 13,
+ .weight = 315,
+ .description = gMedichamPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ELECTRIKE] =
+ {
+ .categoryName = _("LIGHTNING"),
+ .height = 6,
+ .weight = 152,
+ .description = gElectrikePokedexText,
+ .pokemonScale = 290,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MANECTRIC] =
+ {
+ .categoryName = _("DISCHARGE"),
+ .height = 15,
+ .weight = 402,
+ .description = gManectricPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 257,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_PLUSLE] =
+ {
+ .categoryName = _("CHEERING"),
+ .height = 4,
+ .weight = 42,
+ .description = gPluslePokedexText,
+ .pokemonScale = 515,
+ .pokemonOffset = -9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MINUN] =
+ {
+ .categoryName = _("CHEERING"),
+ .height = 4,
+ .weight = 42,
+ .description = gMinunPokedexText,
+ .pokemonScale = 512,
+ .pokemonOffset = -7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VOLBEAT] =
+ {
+ .categoryName = _("FIREFLY"),
+ .height = 7,
+ .weight = 177,
+ .description = gVolbeatPokedexText,
+ .pokemonScale = 442,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ILLUMISE] =
+ {
+ .categoryName = _("FIREFLY"),
+ .height = 6,
+ .weight = 177,
+ .description = gIllumisePokedexText,
+ .pokemonScale = 572,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ROSELIA] =
+ {
+ .categoryName = _("THORN"),
+ .height = 3,
+ .weight = 20,
+ .description = gRoseliaPokedexText,
+ .pokemonScale = 677,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GULPIN] =
+ {
+ .categoryName = _("STOMACH"),
+ .height = 4,
+ .weight = 103,
+ .description = gGulpinPokedexText,
+ .pokemonScale = 593,
+ .pokemonOffset = 23,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SWALOT] =
+ {
+ .categoryName = _("POISON BAG"),
+ .height = 17,
+ .weight = 800,
+ .description = gSwalotPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 345,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_CARVANHA] =
+ {
+ .categoryName = _("SAVAGE"),
+ .height = 8,
+ .weight = 208,
+ .description = gCarvanhaPokedexText,
+ .pokemonScale = 362,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHARPEDO] =
+ {
+ .categoryName = _("BRUTAL"),
+ .height = 18,
+ .weight = 888,
+ .description = gSharpedoPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 317,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_WAILMER] =
+ {
+ .categoryName = _("BALL WHALE"),
+ .height = 20,
+ .weight = 1300,
+ .description = gWailmerPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 493,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WAILORD] =
+ {
+ .categoryName = _("FLOAT WHALE"),
+ .height = 145,
+ .weight = 3980,
+ .description = gWailordPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 1352,
+ .trainerOffset = 18,
+ },
+
+ [NATIONAL_DEX_NUMEL] =
+ {
+ .categoryName = _("NUMB"),
+ .height = 7,
+ .weight = 240,
+ .description = gNumelPokedexText,
+ .pokemonScale = 342,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CAMERUPT] =
+ {
+ .categoryName = _("ERUPTION"),
+ .height = 19,
+ .weight = 2200,
+ .description = gCameruptPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 7,
+ .trainerScale = 345,
+ .trainerOffset = 6,
+ },
+
+ [NATIONAL_DEX_TORKOAL] =
+ {
+ .categoryName = _("COAL"),
+ .height = 5,
+ .weight = 804,
+ .description = gTorkoalPokedexText,
+ .pokemonScale = 390,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SPOINK] =
+ {
+ .categoryName = _("BOUNCE"),
+ .height = 7,
+ .weight = 306,
+ .description = gSpoinkPokedexText,
+ .pokemonScale = 423,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GRUMPIG] =
+ {
+ .categoryName = _("MANIPULATE"),
+ .height = 9,
+ .weight = 715,
+ .description = gGrumpigPokedexText,
+ .pokemonScale = 358,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SPINDA] =
+ {
+ .categoryName = _("SPOT PANDA"),
+ .height = 11,
+ .weight = 50,
+ .description = gSpindaPokedexText,
+ .pokemonScale = 321,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_TRAPINCH] =
+ {
+ .categoryName = _("ANT PIT"),
+ .height = 7,
+ .weight = 150,
+ .description = gTrapinchPokedexText,
+ .pokemonScale = 298,
+ .pokemonOffset = 17,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_VIBRAVA] =
+ {
+ .categoryName = _("VIBRATION"),
+ .height = 11,
+ .weight = 153,
+ .description = gVibravaPokedexText,
+ .pokemonScale = 370,
+ .pokemonOffset = 11,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FLYGON] =
+ {
+ .categoryName = _("MYSTIC"),
+ .height = 20,
+ .weight = 820,
+ .description = gFlygonPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 268,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_CACNEA] =
+ {
+ .categoryName = _("CACTUS"),
+ .height = 4,
+ .weight = 513,
+ .description = gCacneaPokedexText,
+ .pokemonScale = 455,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CACTURNE] =
+ {
+ .categoryName = _("SCARECROW"),
+ .height = 13,
+ .weight = 774,
+ .description = gCacturnePokedexText,
+ .pokemonScale = 327,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SWABLU] =
+ {
+ .categoryName = _("COTTON BIRD"),
+ .height = 4,
+ .weight = 12,
+ .description = gSwabluPokedexText,
+ .pokemonScale = 422,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ALTARIA] =
+ {
+ .categoryName = _("HUMMING"),
+ .height = 11,
+ .weight = 206,
+ .description = gAltariaPokedexText,
+ .pokemonScale = 327,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ZANGOOSE] =
+ {
+ .categoryName = _("CAT FERRET"),
+ .height = 13,
+ .weight = 403,
+ .description = gZangoosePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SEVIPER] =
+ {
+ .categoryName = _("FANG SNAKE"),
+ .height = 27,
+ .weight = 525,
+ .description = gSeviperPokedexText,
+ .pokemonScale = 275,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LUNATONE] =
+ {
+ .categoryName = _("METEORITE"),
+ .height = 10,
+ .weight = 1680,
+ .description = gLunatonePokedexText,
+ .pokemonScale = 300,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SOLROCK] =
+ {
+ .categoryName = _("METEORITE"),
+ .height = 12,
+ .weight = 1540,
+ .description = gSolrockPokedexText,
+ .pokemonScale = 328,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BARBOACH] =
+ {
+ .categoryName = _("WHISKERS"),
+ .height = 4,
+ .weight = 19,
+ .description = gBarboachPokedexText,
+ .pokemonScale = 581,
+ .pokemonOffset = -3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WHISCASH] =
+ {
+ .categoryName = _("WHISKERS"),
+ .height = 9,
+ .weight = 236,
+ .description = gWhiscashPokedexText,
+ .pokemonScale = 317,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CORPHISH] =
+ {
+ .categoryName = _("RUFFIAN"),
+ .height = 6,
+ .weight = 115,
+ .description = gCorphishPokedexText,
+ .pokemonScale = 484,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CRAWDAUNT] =
+ {
+ .categoryName = _("ROGUE"),
+ .height = 11,
+ .weight = 328,
+ .description = gCrawdauntPokedexText,
+ .pokemonScale = 365,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BALTOY] =
+ {
+ .categoryName = _("CLAY DOLL"),
+ .height = 5,
+ .weight = 215,
+ .description = gBaltoyPokedexText,
+ .pokemonScale = 457,
+ .pokemonOffset = 21,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CLAYDOL] =
+ {
+ .categoryName = _("CLAY DOLL"),
+ .height = 15,
+ .weight = 1080,
+ .description = gClaydolPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 280,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_LILEEP] =
+ {
+ .categoryName = _("SEA LILY"),
+ .height = 10,
+ .weight = 238,
+ .description = gLileepPokedexText,
+ .pokemonScale = 305,
+ .pokemonOffset = 8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CRADILY] =
+ {
+ .categoryName = _("BARNACLE"),
+ .height = 15,
+ .weight = 604,
+ .description = gCradilyPokedexText,
+ .pokemonScale = 267,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ANORITH] =
+ {
+ .categoryName = _("OLD SHRIMP"),
+ .height = 7,
+ .weight = 125,
+ .description = gAnorithPokedexText,
+ .pokemonScale = 296,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ARMALDO] =
+ {
+ .categoryName = _("PLATE"),
+ .height = 15,
+ .weight = 682,
+ .description = gArmaldoPokedexText,
+ .pokemonScale = 312,
+ .pokemonOffset = 3,
+ .trainerScale = 271,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_FEEBAS] =
+ {
+ .categoryName = _("FISH"),
+ .height = 6,
+ .weight = 74,
+ .description = gFeebasPokedexText,
+ .pokemonScale = 423,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_MILOTIC] =
+ {
+ .categoryName = _("TENDER"),
+ .height = 62,
+ .weight = 1620,
+ .description = gMiloticPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 360,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_CASTFORM] =
+ {
+ .categoryName = _("WEATHER"),
+ .height = 3,
+ .weight = 8,
+ .description = gCastformPokedexText,
+ .pokemonScale = 435,
+ .pokemonOffset = -5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_KECLEON] =
+ {
+ .categoryName = _("COLOR SWAP"),
+ .height = 10,
+ .weight = 220,
+ .description = gKecleonPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 10,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHUPPET] =
+ {
+ .categoryName = _("PUPPET"),
+ .height = 6,
+ .weight = 23,
+ .description = gShuppetPokedexText,
+ .pokemonScale = 440,
+ .pokemonOffset = 20,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BANETTE] =
+ {
+ .categoryName = _("MARIONETTE"),
+ .height = 11,
+ .weight = 125,
+ .description = gBanettePokedexText,
+ .pokemonScale = 262,
+ .pokemonOffset = 9,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DUSKULL] =
+ {
+ .categoryName = _("REQUIEM"),
+ .height = 8,
+ .weight = 150,
+ .description = gDuskullPokedexText,
+ .pokemonScale = 406,
+ .pokemonOffset = -4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DUSCLOPS] =
+ {
+ .categoryName = _("BECKON"),
+ .height = 16,
+ .weight = 306,
+ .description = gDusclopsPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 299,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_TROPIUS] =
+ {
+ .categoryName = _("FRUIT"),
+ .height = 20,
+ .weight = 1000,
+ .description = gTropiusPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 344,
+ .trainerOffset = 7,
+ },
+
+ [NATIONAL_DEX_CHIMECHO] =
+ {
+ .categoryName = _("WIND CHIME"),
+ .height = 6,
+ .weight = 10,
+ .description = gChimechoPokedexText,
+ .pokemonScale = 505,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_ABSOL] =
+ {
+ .categoryName = _("DISASTER"),
+ .height = 12,
+ .weight = 470,
+ .description = gAbsolPokedexText,
+ .pokemonScale = 301,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WYNAUT] =
+ {
+ .categoryName = _("BRIGHT"),
+ .height = 6,
+ .weight = 140,
+ .description = gWynautPokedexText,
+ .pokemonScale = 484,
+ .pokemonOffset = 19,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SNORUNT] =
+ {
+ .categoryName = _("SNOW HAT"),
+ .height = 7,
+ .weight = 168,
+ .description = gSnoruntPokedexText,
+ .pokemonScale = 380,
+ .pokemonOffset = 15,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GLALIE] =
+ {
+ .categoryName = _("FACE"),
+ .height = 15,
+ .weight = 2565,
+ .description = gGlaliePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 3,
+ .trainerScale = 344,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SPHEAL] =
+ {
+ .categoryName = _("CLAP"),
+ .height = 8,
+ .weight = 395,
+ .description = gSphealPokedexText,
+ .pokemonScale = 315,
+ .pokemonOffset = 16,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SEALEO] =
+ {
+ .categoryName = _("BALL ROLL"),
+ .height = 11,
+ .weight = 876,
+ .description = gSealeoPokedexText,
+ .pokemonScale = 338,
+ .pokemonOffset = 13,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_WALREIN] =
+ {
+ .categoryName = _("ICE BREAK"),
+ .height = 14,
+ .weight = 1506,
+ .description = gWalreinPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 4,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_CLAMPERL] =
+ {
+ .categoryName = _("BIVALVE"),
+ .height = 4,
+ .weight = 525,
+ .description = gClamperlPokedexText,
+ .pokemonScale = 691,
+ .pokemonOffset = 22,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_HUNTAIL] =
+ {
+ .categoryName = _("DEEP SEA"),
+ .height = 17,
+ .weight = 270,
+ .description = gHuntailPokedexText,
+ .pokemonScale = 307,
+ .pokemonOffset = 1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_GOREBYSS] =
+ {
+ .categoryName = _("SOUTH SEA"),
+ .height = 18,
+ .weight = 226,
+ .description = gGorebyssPokedexText,
+ .pokemonScale = 278,
+ .pokemonOffset = 5,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_RELICANTH] =
+ {
+ .categoryName = _("LONGEVITY"),
+ .height = 10,
+ .weight = 234,
+ .description = gRelicanthPokedexText,
+ .pokemonScale = 316,
+ .pokemonOffset = 7,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LUVDISC] =
+ {
+ .categoryName = _("RENDEZVOUS"),
+ .height = 6,
+ .weight = 87,
+ .description = gLuvdiscPokedexText,
+ .pokemonScale = 371,
+ .pokemonOffset = 2,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BAGON] =
+ {
+ .categoryName = _("ROCK HEAD"),
+ .height = 6,
+ .weight = 421,
+ .description = gBagonPokedexText,
+ .pokemonScale = 448,
+ .pokemonOffset = 18,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SHELGON] =
+ {
+ .categoryName = _("ENDURANCE"),
+ .height = 11,
+ .weight = 1105,
+ .description = gShelgonPokedexText,
+ .pokemonScale = 311,
+ .pokemonOffset = 12,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_SALAMENCE] =
+ {
+ .categoryName = _("DRAGON"),
+ .height = 15,
+ .weight = 1026,
+ .description = gSalamencePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_BELDUM] =
+ {
+ .categoryName = _("IRON BALL"),
+ .height = 6,
+ .weight = 952,
+ .description = gBeldumPokedexText,
+ .pokemonScale = 414,
+ .pokemonOffset = -1,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_METANG] =
+ {
+ .categoryName = _("IRON CLAW"),
+ .height = 12,
+ .weight = 2025,
+ .description = gMetangPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 6,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_METAGROSS] =
+ {
+ .categoryName = _("IRON LEG"),
+ .height = 16,
+ .weight = 5500,
+ .description = gMetagrossPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 4,
+ .trainerScale = 447,
+ .trainerOffset = 9,
+ },
+
+ [NATIONAL_DEX_REGIROCK] =
+ {
+ .categoryName = _("ROCK PEAK"),
+ .height = 17,
+ .weight = 2300,
+ .description = gRegirockPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 2,
+ .trainerScale = 309,
+ .trainerOffset = 1,
+ },
+
+ [NATIONAL_DEX_REGICE] =
+ {
+ .categoryName = _("ICEBERG"),
+ .height = 18,
+ .weight = 1750,
+ .description = gRegicePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 301,
+ .trainerOffset = 2,
+ },
+
+ [NATIONAL_DEX_REGISTEEL] =
+ {
+ .categoryName = _("IRON"),
+ .height = 19,
+ .weight = 2050,
+ .description = gRegisteelPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 359,
+ .trainerOffset = 6,
+ },
+
+ [NATIONAL_DEX_LATIAS] =
+ {
+ .categoryName = _("EON"),
+ .height = 14,
+ .weight = 400,
+ .description = gLatiasPokedexText,
+ .pokemonScale = 304,
+ .pokemonOffset = 3,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_LATIOS] =
+ {
+ .categoryName = _("EON"),
+ .height = 20,
+ .weight = 600,
+ .description = gLatiosPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 294,
+ .trainerOffset = 3,
+ },
+
+ [NATIONAL_DEX_KYOGRE] =
+ {
+ .categoryName = _("SEA BASIN"),
+ .height = 45,
+ .weight = 3520,
+ .description = gKyogrePokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 614,
+ .trainerOffset = 13,
+ },
+
+ [NATIONAL_DEX_GROUDON] =
+ {
+ .categoryName = _("CONTINENT"),
+ .height = 35,
+ .weight = 9500,
+ .description = gGroudonPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 515,
+ .trainerOffset = 14,
+ },
+
+ [NATIONAL_DEX_RAYQUAZA] =
+ {
+ .categoryName = _("SKY HIGH"),
+ .height = 70,
+ .weight = 2065,
+ .description = gRayquazaPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 448,
+ .trainerOffset = 12,
+ },
+
+ [NATIONAL_DEX_JIRACHI] =
+ {
+ .categoryName = _("WISH"),
+ .height = 3,
+ .weight = 11,
+ .description = gJirachiPokedexText,
+ .pokemonScale = 608,
+ .pokemonOffset = -8,
+ .trainerScale = 256,
+ .trainerOffset = 0,
+ },
+
+ [NATIONAL_DEX_DEOXYS] =
+ {
+ .categoryName = _("DNA"),
+ .height = 17,
+ .weight = 608,
+ .description = gDeoxysPokedexText,
+ .pokemonScale = 256,
+ .pokemonOffset = 0,
+ .trainerScale = 290,
+ .trainerOffset = 2,
+ },
+};
diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h
new file mode 100644
index 000000000..55b0abcea
--- /dev/null
+++ b/src/data/pokemon/pokedex_orders.h
@@ -0,0 +1,1195 @@
+const u16 gPokedexOrder_Alphabetical[] =
+{
+ NATIONAL_DEX_OLD_UNOWN_B,
+ NATIONAL_DEX_OLD_UNOWN_C,
+ NATIONAL_DEX_OLD_UNOWN_D,
+ NATIONAL_DEX_OLD_UNOWN_E,
+ NATIONAL_DEX_OLD_UNOWN_F,
+ NATIONAL_DEX_OLD_UNOWN_G,
+ NATIONAL_DEX_OLD_UNOWN_H,
+ NATIONAL_DEX_OLD_UNOWN_I,
+ NATIONAL_DEX_OLD_UNOWN_J,
+ NATIONAL_DEX_OLD_UNOWN_K,
+ NATIONAL_DEX_OLD_UNOWN_L,
+ NATIONAL_DEX_OLD_UNOWN_M,
+ NATIONAL_DEX_OLD_UNOWN_N,
+ NATIONAL_DEX_OLD_UNOWN_O,
+ NATIONAL_DEX_OLD_UNOWN_P,
+ NATIONAL_DEX_OLD_UNOWN_Q,
+ NATIONAL_DEX_OLD_UNOWN_R,
+ NATIONAL_DEX_OLD_UNOWN_S,
+ NATIONAL_DEX_OLD_UNOWN_T,
+ NATIONAL_DEX_OLD_UNOWN_U,
+ NATIONAL_DEX_OLD_UNOWN_V,
+ NATIONAL_DEX_OLD_UNOWN_W,
+ NATIONAL_DEX_OLD_UNOWN_X,
+ NATIONAL_DEX_OLD_UNOWN_Y,
+ NATIONAL_DEX_OLD_UNOWN_Z,
+ // Actual pokemon start here.
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_ZUBAT,
+};
+
+const u16 gPokedexOrder_Weight[] =
+{
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_GROUDON,
+};
+
+const u16 gPokedexOrder_Height[] =
+{
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_WAILORD,
+};
diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h
new file mode 100644
index 000000000..565c1acaf
--- /dev/null
+++ b/src/data/pokemon/pokedex_text.h
@@ -0,0 +1,2321 @@
+const u8 gDummyPokedexText[] = _(
+ "This is a newly discovered POKéMON.\n"
+ "It is currently under investigation.\n"
+ "No detailed information is available\n"
+ "at this time.");
+
+const u8 gBulbasaurPokedexText[] = _(
+ "BULBASAUR can be seen napping in bright\n"
+ "sunlight. There is a seed on its back.\n"
+ "By soaking up the sun’s rays, the seed\n"
+ "grows progressively larger.");
+
+const u8 gIvysaurPokedexText[] = _(
+ "To support its bulb, IVYSAUR’s legs\n"
+ "grow sturdy. If it spends more time lying in\n"
+ "the sunlight, the bud will soon bloom into\n"
+ "a large flower.");
+
+const u8 gVenusaurPokedexText[] = _(
+ "VENUSAUR’s flower is said to take on vivid\n"
+ "colors if it gets plenty of nutrition and\n"
+ "sunlight. The flower’s aroma soothes the\n"
+ "emotions of people.");
+
+const u8 gCharmanderPokedexText[] = _(
+ "The flame that burns at the tip of its\n"
+ "tail is an indication of its emotions.\n"
+ "The flame wavers when CHARMANDER is\n"
+ "happy, and blazes when it is enraged.");
+
+const u8 gCharmeleonPokedexText[] = _(
+ "Without pity, its sharp claws destroy foes.\n"
+ "If it encounters a strong enemy, it\n"
+ "becomes agitated, and the flame on its\n"
+ "tail flares with a bluish white color.");
+
+const u8 gCharizardPokedexText[] = _(
+ "A CHARIZARD flies about in search of\n"
+ "strong opponents. It breathes intense\n"
+ "flames that can melt any material. However,\n"
+ "it will never torch a weaker foe.");
+
+const u8 gSquirtlePokedexText[] = _(
+ "Its shell is not just for protection.\n"
+ "Its rounded shape and the grooves on its\n"
+ "surface minimize resistance in water,\n"
+ "enabling SQUIRTLE to swim at high speeds.");
+
+const u8 gWartortlePokedexText[] = _(
+ "Its large tail is covered with rich, thick\n"
+ "fur that deepens in color with age.\n"
+ "The scratches on its shell are evidence\n"
+ "of this POKéMON’s toughness in battle.");
+
+const u8 gBlastoisePokedexText[] = _(
+ "The waterspouts that protrude from its\n"
+ "shell are highly accurate. Their bullets of\n"
+ "water can precisely nail tin cans from\n"
+ "a distance of over 160 feet.");
+
+const u8 gCaterpiePokedexText[] = _(
+ "Its voracious appetite compels it to\n"
+ "devour leaves bigger than itself without\n"
+ "hesitation. It releases a terribly strong\n"
+ "odor from its antennae.");
+
+const u8 gMetapodPokedexText[] = _(
+ "Its shell is as hard as an iron slab.\n"
+ "A METAPOD does not move very much\n"
+ "because it is preparing its soft innards\n"
+ "for evolution inside the shell.");
+
+const u8 gButterfreePokedexText[] = _(
+ "It has a superior ability to search for\n"
+ "delicious honey from flowers. It can seek,\n"
+ "extract, and carry honey from flowers\n"
+ "blooming over six miles away.");
+
+const u8 gWeedlePokedexText[] = _(
+ "A WEEDLE has an extremely acute sense\n"
+ "of smell. It distinguishes its favorite\n"
+ "kinds of leaves from those it dislikes by\n"
+ "sniffing with its big red proboscis (nose).");
+
+const u8 gKakunaPokedexText[] = _(
+ "It remains virtually immobile while it\n"
+ "clings to a tree. However, on the inside,\n"
+ "it busily prepares for evolution. This is\n"
+ "evident from how hot its shell becomes.");
+
+const u8 gBeedrillPokedexText[] = _(
+ "A BEEDRILL is extremely territorial.\n"
+ "For safety reasons, no one should \n"
+ "ever approach its nest. If angered,\n"
+ "they will attack in a swarm.");
+
+const u8 gPidgeyPokedexText[] = _(
+ "It has an extremely sharp sense of\n"
+ "direction. It can unerringly return home to\n"
+ "its nest, however far it may be removed\n"
+ "from its familiar surroundings.");
+
+const u8 gPidgeottoPokedexText[] = _(
+ "This POKéMON flies around, patrolling its\n"
+ "large territory. If its living space is\n"
+ "violated, it shows no mercy in thoroughly\n"
+ "punishing the foe with its sharp claws.");
+
+const u8 gPidgeotPokedexText[] = _(
+ "This POKéMON has gorgeous, glossy\n"
+ "feathers. Many TRAINERS are so captivated\n"
+ "by the beautiful feathers on its head that\n"
+ "they choose PIDGEOT as their POKéMON.");
+
+const u8 gRattataPokedexText[] = _(
+ "A RATTATA is cautious in the extreme.\n"
+ "Even while it is asleep, it constantly\n"
+ "moves its ears and listens for danger.\n"
+ "It will make its nest anywhere.");
+
+const u8 gRaticatePokedexText[] = _(
+ "A RATICATE’s sturdy fangs grow steadily.\n"
+ "To keep them ground down, it gnaws on\n"
+ "rocks and logs. It may even chew on the\n"
+ "walls of houses.");
+
+const u8 gSpearowPokedexText[] = _(
+ "Its loud cry can be heard over half a mile\n"
+ "away. If its high, keening cry is heard\n"
+ "echoing all around, it is a sign that they\n"
+ "are warning each other of danger.");
+
+const u8 gFearowPokedexText[] = _(
+ "Its long neck and elongated beak are\n"
+ "ideal for catching prey in soil or water.\n"
+ "It deftly moves this extended and skinny\n"
+ "beak to pluck prey.");
+
+const u8 gEkansPokedexText[] = _(
+ "An EKANS curls itself up in a spiral while\n"
+ "it rests. This position allows it to quickly\n"
+ "respond to an enemy from any direction\n"
+ "with a threat from its upraised head.");
+
+const u8 gArbokPokedexText[] = _(
+ "This POKéMON has a terrifically strong\n"
+ "constricting power. It can even flatten\n"
+ "steel oil drums. Once it wraps its body\n"
+ "around its foe, escaping is impossible.");
+
+const u8 gPikachuPokedexText[] = _(
+ "It stores electricity in the electric sacs\n"
+ "on its cheeks. When it releases pent-up\n"
+ "energy in a burst, the electric power is\n"
+ "equal to a lightning bolt.");
+
+const u8 gRaichuPokedexText[] = _(
+ "If it stores too much electricity, its\n"
+ "behavior turns aggressive. To avoid this,\n"
+ "it occasionally discharges excess energy\n"
+ "and calms itself down.");
+
+const u8 gSandshrewPokedexText[] = _(
+ "When it curls up in a ball, it can make any\n"
+ "attack bounce off harmlessly. Its hide has\n"
+ "turned tough and solid as a result of\n"
+ "living in the desert.");
+
+const u8 gSandslashPokedexText[] = _(
+ "It curls up in a ball to protect itself from\n"
+ "enemy attacks. It also curls up to prevent\n"
+ "heatstroke during the daytime when\n"
+ "temperatures rise sharply.");
+
+const u8 gNidoranFPokedexText[] = _(
+ "Its highly toxic barbs are thought to have\n"
+ "developed as protection for this small-\n"
+ "bodied POKéMON. When enraged, it releases\n"
+ "a horrible toxin from its horn.");
+
+const u8 gNidorinaPokedexText[] = _(
+ "When it is with its friends or\n"
+ "family, its barbs are tucked away to\n"
+ "prevent injury. It appears to become\n"
+ "nervous if separated from the others.");
+
+const u8 gNidoqueenPokedexText[] = _(
+ "It is adept at sending foes flying with\n"
+ "harsh tackles using its tough, scaly body.\n"
+ "This POKéMON is at its strongest when\n"
+ "it is defending its young.");
+
+const u8 gNidoranMPokedexText[] = _(
+ "The male NIDORAN has developed muscles\n"
+ "that freely move its ears in any direction.\n"
+ "Even the slightest sound does not escape\n"
+ "this POKéMON’s notice.");
+
+const u8 gNidorinoPokedexText[] = _(
+ "Its horn is harder than a diamond.\n"
+ "If it senses a hostile presence, all the\n"
+ "barbs on its back bristle up at once, and it\n"
+ "challenges the foe with all its might.");
+
+const u8 gNidokingPokedexText[] = _(
+ "A NIDOKING’s thick tail packs enormously\n"
+ "destructive power capable of toppling\n"
+ "a metal transmission tower. Once it goes\n"
+ "on a rampage, there is no stopping it.");
+
+const u8 gClefairyPokedexText[] = _(
+ "On every night of a full moon, they come\n"
+ "out to play. When dawn arrives, the tired\n"
+ "CLEFAIRY go to sleep nestled up against\n"
+ "each other in deep and quiet mountains.");
+
+const u8 gClefablePokedexText[] = _(
+ "A CLEFABLE uses its wings to skip lightly \n"
+ "as if it were flying. Its bouncy step\n"
+ "lets it even walk on water. On quiet,\n"
+ "moonlit nights, it strolls on lakes.");
+
+const u8 gVulpixPokedexText[] = _(
+ "It can freely control fire, making fiery\n"
+ "orbs fly like will-o’-the-wisps. Just\n"
+ "before evolution, its six tails grow hot \n"
+ "as if on fire.");
+
+const u8 gNinetalesPokedexText[] = _(
+ "It has long been said that each of the\n"
+ "nine tails embody an enchanted power.\n"
+ "A long-lived NINETALES will have fur that\n"
+ "shines like gold.");
+
+const u8 gJigglypuffPokedexText[] = _(
+ "Nothing can avoid falling asleep hearing a\n"
+ "JIGGLYPUFF’s song. The sound waves of its\n"
+ "singing voice match the brain waves of\n"
+ "someone in a deep sleep.");
+
+const u8 gWigglytuffPokedexText[] = _(
+ "Its fur is the ultimate in luxuriousness.\n"
+ "Sleeping alongside a WIGGLYTUFF is simply\n"
+ "divine. Its body expands seemingly without\n"
+ "end when it inhales.");
+
+const u8 gZubatPokedexText[] = _(
+ "While living in pitch-black caverns, their\n"
+ "eyes gradually grew shut and deprived\n"
+ "them of vision. They use ultrasonic waves\n"
+ "to detect obstacles.");
+
+const u8 gGolbatPokedexText[] = _(
+ "Its fangs easily puncture even thick\n"
+ "animal hide. It loves to feast on the blood\n"
+ "of people and POKéMON. It flits about in\n"
+ "darkness and strikes from behind.");
+
+const u8 gOddishPokedexText[] = _(
+ "This POKéMON grows by absorbing moonlight.\n"
+ "During the daytime, it buries itself in the\n"
+ "ground, leaving only its leaves exposed to\n"
+ "avoid detection by its enemies.");
+
+const u8 gGloomPokedexText[] = _(
+ "A horribly noxious honey drools from its\n"
+ "mouth. One whiff of the honey can result\n"
+ "in memory loss. Some fans are said to\n"
+ "enjoy this overwhelming stink, however.");
+
+const u8 gVileplumePokedexText[] = _(
+ "In seasons when it produces more pollen,\n"
+ "the air around a VILEPLUME turns yellow\n"
+ "with the powder as it walks. The pollen is\n"
+ "highly toxic and causes paralysis.");
+
+const u8 gParasPokedexText[] = _(
+ "A PARAS has parasitic tochukaso\n"
+ "mushrooms growing on its back. They grow\n"
+ "by drawing nutrients from the host. They\n"
+ "are valued as a medicine for long life.");
+
+const u8 gParasectPokedexText[] = _(
+ "PARASECT are known to infest the roots of\n"
+ "large trees en masse and drain nutrients.\n"
+ "When an infested tree dies, they move\n"
+ "onto another tree all at once.");
+
+const u8 gVenonatPokedexText[] = _(
+ "Its coat of thin, stiff hair that covers\n"
+ "its entire body is said to have evolved\n"
+ "for protection. Its large eyes never fail\n"
+ "to spot even miniscule prey.");
+
+const u8 gVenomothPokedexText[] = _(
+ "VENOMOTH are nocturnal--they only are\n"
+ "active at night. Their favorite prey are\n"
+ "insects that gather around streetlights,\n"
+ "attracted by the light in the darkness.");
+
+const u8 gDiglettPokedexText[] = _(
+ "DIGLETT are raised in most farms.\n"
+ "The reason is simple--wherever they\n"
+ "burrow, the soil is left perfectly tilled\n"
+ "for growing delicious crops.");
+
+const u8 gDugtrioPokedexText[] = _(
+ "Because the triplets originally split from\n"
+ "one body, they think exactly alike.\n"
+ "They work cooperatively to burrow\n"
+ "endlessly through the ground.");
+
+const u8 gMeowthPokedexText[] = _(
+ "MEOWTH withdraw their sharp claws into\n"
+ "their paws to silently sneak about.\n"
+ "For some reason, this POKéMON loves\n"
+ "shiny coins that glitter with light.");
+
+const u8 gPersianPokedexText[] = _(
+ "A PERSIAN’s six bold whiskers sense air\n"
+ "movements to determine what is in its\n"
+ "vicinity. It becomes docile if grabbed\n"
+ "by the whiskers.");
+
+const u8 gPsyduckPokedexText[] = _(
+ "When its headache intensifies, it starts\n"
+ "using strange powers. However, it has no\n"
+ "recollection of its powers, so it always\n"
+ "looks befuddled and bewildered.");
+
+const u8 gGolduckPokedexText[] = _(
+ "A GOLDUCK is an adept swimmer.\n"
+ "It sometimes joins competitive swimmers\n"
+ "in training. It uses psychic powers when\n"
+ "its forehead shimmers with light.");
+
+const u8 gMankeyPokedexText[] = _(
+ "When it starts shaking and its nasal\n"
+ "breathing turns rough, it’s a sure sign\n"
+ "of anger. However, since this happens\n"
+ "instantly, there is no time to flee.");
+
+const u8 gPrimeapePokedexText[] = _(
+ "When it becomes furious, its blood\n"
+ "circulation becomes more robust, and\n"
+ "its muscles are made stronger. But it\n"
+ "also becomes much less intelligent.");
+
+const u8 gGrowlithePokedexText[] = _(
+ "Its superb sense of smell ensures that\n"
+ "this POKéMON won’t forget any scent,\n"
+ "no matter what. It uses its sense of smell\n"
+ "to detect the emotions of others.");
+
+const u8 gArcaninePokedexText[] = _(
+ "This fleet-footed POKéMON is said to run\n"
+ "over 6,200 miles in a single day and night.\n"
+ "The fire that blazes wildly within its body\n"
+ "is its source of power.");
+
+const u8 gPoliwagPokedexText[] = _(
+ "It is possible to see this POKéMON’s spiral\n"
+ "innards right through its thin skin.\n"
+ "However, the skin is also very flexible.\n"
+ "Even sharp fangs bounce right off it.");
+
+const u8 gPoliwhirlPokedexText[] = _(
+ "Its body surface is always wet and slick\n"
+ "with an oily fluid. Because of this greasy\n"
+ "covering, it can easily slip and slide out\n"
+ "of the clutches of any enemy in battle.");
+
+const u8 gPoliwrathPokedexText[] = _(
+ "Its highly developed muscles never grow\n"
+ "fatigued, however much it exercises.\n"
+ "This POKéMON can swim back and forth\n"
+ "across the Pacific Ocean without effort.");
+
+const u8 gAbraPokedexText[] = _(
+ "A POKéMON that sleeps 18 hours a day.\n"
+ "Observation revealed that it uses\n"
+ "TELEPORT to change its location once\n"
+ "every hour.");
+
+const u8 gKadabraPokedexText[] = _(
+ "It is rumored that a boy with psychic\n"
+ "abilities suddenly transformed into\n"
+ "KADABRA while he was assisting research\n"
+ "into extrasensory powers.");
+
+const u8 gAlakazamPokedexText[] = _(
+ "While it has strong psychic abilities and\n"
+ "high intelligence, an ALAKAZAM’s muscles\n"
+ "are very weak. It uses psychic power to\n"
+ "move its body.");
+
+const u8 gMachopPokedexText[] = _(
+ "It continually undertakes strenuous\n"
+ "training to master all forms of martial\n"
+ "arts. Its strength lets it easily hoist\n"
+ "a sumo wrestler onto its shoulders.");
+
+const u8 gMachokePokedexText[] = _(
+ "A belt is worn by a MACHOKE to keep its\n"
+ "overwhelming power under control.\n"
+ "Because it is so dangerous, no one has\n"
+ "ever removed the belt.");
+
+const u8 gMachampPokedexText[] = _(
+ "It is impossible to defend against punches\n"
+ "and chops doled out by its four arms.\n"
+ "Its fighting spirit flares up when it faces\n"
+ "a tough opponent.");
+
+const u8 gBellsproutPokedexText[] = _(
+ "A BELLSPROUT’s thin and flexible body lets\n"
+ "it bend and sway to avoid any attack,\n"
+ "however strong it may be. From its mouth,\n"
+ "it leaks a fluid that melts even iron.");
+
+const u8 gWeepinbellPokedexText[] = _(
+ "At night, a WEEPINBELL hangs on to a tree\n"
+ "branch with its hooked rear and sleeps.\n"
+ "If it moves around in its sleep, it may\n"
+ "wake up to find itself on the ground.");
+
+const u8 gVictreebelPokedexText[] = _(
+ "The long vine extending from its head is\n"
+ "waved about as if it were a living thing to\n"
+ "attract prey. When an unsuspecting victim\n"
+ "approaches, it is swallowed whole.");
+
+const u8 gTentacoolPokedexText[] = _(
+ "Its body is almost entirely composed of\n"
+ "water. It ensnares its foe with its two\n"
+ "long tentacles, then stabs with the poison\n"
+ "stingers at their tips.");
+
+const u8 gTentacruelPokedexText[] = _(
+ "It lives in complex rock formations on\n"
+ "the ocean floor and traps prey using its\n"
+ "80 tentacles. Its red orbs glow when it\n"
+ "grows excited or agitated.");
+
+const u8 gGeodudePokedexText[] = _(
+ "It climbs mountain paths using only the\n"
+ "power of its arms. Because they look just\n"
+ "like boulders lining paths, hikers may step\n"
+ "on them without noticing.");
+
+const u8 gGravelerPokedexText[] = _(
+ "They descend from mountains by tumbling\n"
+ "down steep slopes. They are so brutal,\n"
+ "they smash aside obstructing trees and\n"
+ "massive boulders with thunderous tackles.");
+
+const u8 gGolemPokedexText[] = _(
+ "It is said to live in volcanic craters\n"
+ "on mountain peaks. Once a year, it sheds\n"
+ "its hide and grows larger. The shed hide\n"
+ "crumbles and returns to the soil.");
+
+const u8 gPonytaPokedexText[] = _(
+ "A PONYTA is very weak at birth. It can\n"
+ "barely stand up. Its legs become stronger\n"
+ "as it stumbles and falls while trying to\n"
+ "keep up with its parent.");
+
+const u8 gRapidashPokedexText[] = _(
+ "It usually canters casually in the fields\n"
+ "and plains. But once a RAPIDASH turns\n"
+ "serious, its fiery manes flare and blaze\n"
+ "as it gallops its way up to 150 mph.");
+
+const u8 gSlowpokePokedexText[] = _(
+ "It catches prey by dipping its tail in\n"
+ "water at the side of a river. But it often\n"
+ "forgets what it is doing and spends entire\n"
+ "days just loafing at water’s edge.");
+
+const u8 gSlowbroPokedexText[] = _(
+ "Its tail has a SHELLDER firmly attached\n"
+ "with a bite. As a result, the tail can’t be\n"
+ "used for fishing anymore. This forces it\n"
+ "to reluctantly swim and catch prey.");
+
+const u8 gMagnemitePokedexText[] = _(
+ "The units at its sides are extremely\n"
+ "powerful magnets. They generate enough\n"
+ "magnetism to draw in iron objects from\n"
+ "over 300 feet away.");
+
+const u8 gMagnetonPokedexText[] = _(
+ "It is actually three MAGNEMITE linked\n"
+ "by magnetism. It generates powerful radio\n"
+ "waves that raise temperatures by 3.6\n"
+ "degrees F within a 3,300-foot radius.");
+
+const u8 gFarfetchdPokedexText[] = _(
+ "It is always seen with a stick from a plant.\n"
+ "Apparently, there are good sticks and bad\n"
+ "sticks. This POKéMON occasionally fights\n"
+ "with others over choice sticks.");
+
+const u8 gDoduoPokedexText[] = _(
+ "Even while eating or sleeping, one of the\n"
+ "heads remains always vigilant for any sign\n"
+ "of danger. When threatened, it flees at\n"
+ "over 60 miles per hour.");
+
+const u8 gDodrioPokedexText[] = _(
+ "A peculiar POKéMON species with three\n"
+ "heads. It vigorously races across grassy\n"
+ "plains even in arid seasons with little\n"
+ "rainfall.");
+
+const u8 gSeelPokedexText[] = _(
+ "SEEL hunt for prey in frigid, ice-covered\n"
+ "seas. When it needs to breathe, it punches\n"
+ "a hole through the ice with the sharply\n"
+ "protruding section of its head.");
+
+const u8 gDewgongPokedexText[] = _(
+ "It loves to snooze on bitterly cold ice.\n"
+ "The sight of this POKéMON sleeping on\n"
+ "a glacier was mistakenly thought to be\n"
+ "a mermaid by a mariner long ago.");
+
+const u8 gGrimerPokedexText[] = _(
+ "Born from polluted sludge in the sea,\n"
+ "GRIMER’s favorite food is anything filthy.\n"
+ "They feed on wastewater pumped out from\n"
+ "factories.");
+
+const u8 gMukPokedexText[] = _(
+ "It prefers warm and humid habitats.\n"
+ "In the summertime, the toxic substances\n"
+ "in its body intensify, making MUK reek like\n"
+ "putrid kitchen garbage.");
+
+const u8 gShellderPokedexText[] = _(
+ "At night, it burrows a hole in the seafloor\n"
+ "with its broad tongue to make a place to\n"
+ "sleep. While asleep, it closes its shell,\n"
+ "but leaves its tongue hanging out.");
+
+const u8 gCloysterPokedexText[] = _(
+ "It swims in the sea by swallowing water,\n"
+ "then jetting it out toward the rear.\n"
+ "The CLOYSTER shoots spikes from its\n"
+ "shell using the same system.");
+
+const u8 gGastlyPokedexText[] = _(
+ "When exposed to a strong wind, a GASTLY’s\n"
+ "gaseous body quickly dwindles away.\n"
+ "They cluster under the eaves of houses\n"
+ "to escape the ravages of wind.");
+
+const u8 gHaunterPokedexText[] = _(
+ "If a HAUNTER beckons you while it is\n"
+ "floating in darkness, don’t approach it.\n"
+ "This POKéMON will try to lick you with its\n"
+ "tongue and steal your life away.");
+
+const u8 gGengarPokedexText[] = _(
+ "Deep in the night, your shadow cast by\n"
+ "a streetlight may suddenly overtake you.\n"
+ "It is actually a GENGAR running past\n"
+ "you, pretending to be your shadow.");
+
+const u8 gOnixPokedexText[] = _(
+ "There is a magnet in its brain that\n"
+ "prevents an ONIX from losing direction\n"
+ "while tunneling. As it grows older, its body\n"
+ "becomes steadily rounder and smoother.");
+
+const u8 gDrowzeePokedexText[] = _(
+ "If your nose becomes itchy while you are\n"
+ "sleeping, it’s a sure sign that a DROWZEE is\n"
+ "standing above your pillow and trying to\n"
+ "eat your dream through your nostrils.");
+
+const u8 gHypnoPokedexText[] = _(
+ "The arcing movement and glitter of the\n"
+ "pendulum in a HYPNO’s hand lull the foe\n"
+ "into deep hypnosis. While searching for\n"
+ "prey, it polishes the pendulum.");
+
+const u8 gKrabbyPokedexText[] = _(
+ "KRABBY live in holes dug into beaches.\n"
+ "On sandy shores with little in the way\n"
+ "of food, they can be seen squabbling with\n"
+ "each other over territory.");
+
+const u8 gKinglerPokedexText[] = _(
+ "It waves its huge, oversized claw in the\n"
+ "air to communicate with others.\n"
+ "But since the claw is so heavy, this\n"
+ "POKéMON quickly tires.");
+
+const u8 gVoltorbPokedexText[] = _(
+ "It bears an uncanny and unexplained\n"
+ "resemblance to a POKé BALL. Because it\n"
+ "explodes at the slightest shock, even\n"
+ "veteran TRAINERS treat it with caution.");
+
+const u8 gElectrodePokedexText[] = _(
+ "They appear in great numbers at electric\n"
+ "power plants. Because they feed on\n"
+ "electricity, they cause massive and\n"
+ "chaotic blackouts in nearby cities.");
+
+const u8 gExeggcutePokedexText[] = _(
+ "It consists of six eggs that care for each\n"
+ "other. The eggs attract each other and\n"
+ "spin around. When cracks increasingly\n"
+ "appear, it is close to evolution.");
+
+const u8 gExeggutorPokedexText[] = _(
+ "Originally from the tropics, EXEGGUTOR’s\n"
+ "heads grow larger from exposure to strong\n"
+ "sunlight. It is said that when the heads\n"
+ "fall, they group to form an EXEGGCUTE.");
+
+const u8 gCubonePokedexText[] = _(
+ "It pines for the mother it will never see\n"
+ "again. Seeing a likeness of its mother in\n"
+ "the full moon, it cries. The stains on the\n"
+ "skull it wears are from its tears.");
+
+const u8 gMarowakPokedexText[] = _(
+ "A MAROWAK is the evolved form of a CUBONE\n"
+ "that has grown tough by overcoming the\n"
+ "grief of losing its mother. Its tempered\n"
+ "and hardened spirit is not easily broken.");
+
+const u8 gHitmonleePokedexText[] = _(
+ "Its legs freely stretch and contract.\n"
+ "Using these springlike limbs, it bowls over\n"
+ "foes with devastating kicks. After battle,\n"
+ "it rubs down its tired legs.");
+
+const u8 gHitmonchanPokedexText[] = _(
+ "A HITMONCHAN is said to possess the\n"
+ "spirit of a boxer who aimed to become the\n"
+ "world champion. Having an indomitable\n"
+ "spirit means that it will never give up.");
+
+const u8 gLickitungPokedexText[] = _(
+ "Whenever it sees something unfamiliar,\n"
+ "it always licks the object because it\n"
+ "memorizes things by texture and taste.\n"
+ "It is somewhat put off by sour things.");
+
+const u8 gKoffingPokedexText[] = _(
+ "Getting up close to a KOFFING will give\n"
+ "you a chance to observe, through its thin\n"
+ "skin, the toxic gases swirling inside. It\n"
+ "blows up at the slightest stimulation.");
+
+const u8 gWeezingPokedexText[] = _(
+ "By diluting its toxic gases with a special\n"
+ "process, the highest grade of perfume can\n"
+ "be extracted. To WEEZING, gases emanating\n"
+ "from garbage are the ultimate feast.");
+
+const u8 gRhyhornPokedexText[] = _(
+ "Once it starts running, it doesn’t stop.\n"
+ "Its tiny brain makes it so stupid that it\n"
+ "can’t remember why it started running in\n"
+ "the first place.");
+
+const u8 gRhydonPokedexText[] = _(
+ "Its horn, which rotates like a drill,\n"
+ "destroys tall buildings with one strike.\n"
+ "It stands on its hind legs, and its brain\n"
+ "is well developed.");
+
+const u8 gChanseyPokedexText[] = _(
+ "CHANSEY lay nutritionally excellent eggs\n"
+ "every day. The eggs are so delicious, they\n"
+ "are eagerly devoured by even those people\n"
+ "who have lost their appetite.");
+
+const u8 gTangelaPokedexText[] = _(
+ "Its vines snap off easily and painlessly\n"
+ "if they are grabbed, allowing it to make a\n"
+ "quick getaway. The lost vines are replaced\n"
+ "by new growth the very next day.");
+
+const u8 gKangaskhanPokedexText[] = _(
+ "If you come across a young KANGASKHAN\n"
+ "playing by itself, never try to catch it.\n"
+ "The baby’s parent is sure to be in the area,\n"
+ "and it will become violently enraged.");
+
+const u8 gHorseaPokedexText[] = _(
+ "By cleverly flicking the fins on its back\n"
+ "side to side, it moves in any direction\n"
+ "while facing forward. It spits ink to\n"
+ "escape if it senses danger.");
+
+const u8 gSeadraPokedexText[] = _(
+ "The poisonous barbs all over its body are\n"
+ "highly valued as ingredients for making\n"
+ "traditional herbal medicine. It shows no\n"
+ "mercy to anything approaching its nest.");
+
+const u8 gGoldeenPokedexText[] = _(
+ "In the springtime, schools of GOLDEEN\n"
+ "can be seen swimming up falls and rivers.\n"
+ "It metes out staggering damage with its\n"
+ "single horn.");
+
+const u8 gSeakingPokedexText[] = _(
+ "It punches holes in boulders on stream-\n"
+ "beds. This is a clever innovation that\n"
+ "prevents its eggs from being attacked or\n"
+ "washed away by the current.");
+
+const u8 gStaryuPokedexText[] = _(
+ "It gathers with others in the night and\n"
+ "makes its red core glow on and off with\n"
+ "the twinkling stars. It can regenerate\n"
+ "limbs if they are severed from its body.");
+
+const u8 gStarmiePokedexText[] = _(
+ "People in ancient times imagined that\n"
+ "STARMIE were transformed from the\n"
+ "reflections of stars that twinkled on\n"
+ "gentle waves at night.");
+
+const u8 gMrmimePokedexText[] = _(
+ "A MR. MIME is a master of pantomime. It can\n"
+ "convince others that something unseeable\n"
+ "actually exists. Once believed, the\n"
+ "imaginary object does become real.");
+
+const u8 gScytherPokedexText[] = _(
+ "Its blindingly fast speed adds to the\n"
+ "sharpness of its twin forearm scythes.\n"
+ "The scythes can slice through thick logs\n"
+ "in one wicked stroke.");
+
+const u8 gJynxPokedexText[] = _(
+ "A JYNX sashays rhythmically as if it were\n"
+ "dancing. Its motions are so bouncingly\n"
+ "alluring, people seeing it are compelled to\n"
+ "shake their hips without noticing.");
+
+const u8 gElectabuzzPokedexText[] = _(
+ "When a storm approaches, it competes with\n"
+ "others to scale heights that are likely to\n"
+ "be stricken by lightning. Some towns use\n"
+ "ELECTABUZZ in place of lightning rods.");
+
+const u8 gMagmarPokedexText[] = _(
+ "In battle, it blows out intense flames from\n"
+ "all over its body to intimidate its foe.\n"
+ "These fiery bursts create heat waves that\n"
+ "ignite grass and trees in the area.");
+
+const u8 gPinsirPokedexText[] = _(
+ "Their pincers are strong enough to\n"
+ "shatter thick logs. Because they dislike\n"
+ "cold, PINSIR burrow and sleep under\n"
+ "the ground on chilly nights.");
+
+const u8 gTaurosPokedexText[] = _(
+ "It is not satisfied unless it is rampaging\n"
+ "at all times. If there is no opponent for\n"
+ "TAUROS to battle, it will charge at thick\n"
+ "trees and knock them down to calm itself.");
+
+const u8 gMagikarpPokedexText[] = _(
+ "Its swimming muscles are weak, so it is\n"
+ "easily washed away by currents. In places\n"
+ "where water pools, you can see many\n"
+ "MAGIKARP deposited there by the flow.");
+
+const u8 gGyaradosPokedexText[] = _(
+ "It is an extremely vicious and violent\n"
+ "POKéMON. When humans begin to fight,\n"
+ "it will appear and burn everything to the\n"
+ "ground with intensely hot flames.");
+
+const u8 gLaprasPokedexText[] = _(
+ "People have driven LAPRAS almost to the\n"
+ "point of extinction. In the evenings,\n"
+ "it is said to sing plaintively as it seeks\n"
+ "what few others of its kind still remain.");
+
+const u8 gDittoPokedexText[] = _(
+ "A DITTO rearranges its cell structure to\n"
+ "transform itself. However, if it tries to\n"
+ "change based on its memory, it will get\n"
+ "details wrong.");
+
+const u8 gEeveePokedexText[] = _(
+ "An EEVEE has an unstable genetic makeup\n"
+ "that suddenly mutates due to its\n"
+ "environment. Radiation from various\n"
+ "STONES causes this POKéMON to evolve.");
+
+const u8 gVaporeonPokedexText[] = _(
+ "VAPOREON underwent a spontaneous\n"
+ "mutation and grew fins and gills that\n"
+ "allow them to live underwater. They have\n"
+ "the ability to freely control water.");
+
+const u8 gJolteonPokedexText[] = _(
+ "Its cells generate weak power that is\n"
+ "amplified by its fur’s static electricity\n"
+ "to drop thunderbolts. The bristling fur is\n"
+ "made of electrically charged needles.");
+
+const u8 gFlareonPokedexText[] = _(
+ "FLAREON’s fluffy fur releases heat into\n"
+ "the air so that its body does not get\n"
+ "excessively hot. Its body temperature can\n"
+ "rise to a maximum of 1,650 degrees F.");
+
+const u8 gPorygonPokedexText[] = _(
+ "It is capable of reverting itself entirely\n"
+ "back to program data in order to enter\n"
+ "cyberspace. A PORYGON is copy-\n"
+ "protected so it cannot be duplicated.");
+
+const u8 gOmanytePokedexText[] = _(
+ "One of the ancient and long-since-extinct\n"
+ "POKéMON that have been regenerated\n"
+ "from fossils by humans. If attacked,\n"
+ "it withdraws into its hard shell.");
+
+const u8 gOmastarPokedexText[] = _(
+ "An OMASTAR uses its tentacles to capture\n"
+ "its prey. It is believed to have become\n"
+ "extinct because its shell grew too large,\n"
+ "making its movements slow and ponderous.");
+
+const u8 gKabutoPokedexText[] = _(
+ "It is a POKéMON that has been regenerated\n"
+ "from a fossil. However, in rare cases, living\n"
+ "examples have been discovered. KABUTO\n"
+ "have not changed for 300 million years.");
+
+const u8 gKabutopsPokedexText[] = _(
+ "KABUTOPS once swam underwater to hunt \n"
+ "for prey. It was apparently evolving from\n"
+ "being a water dweller to living on land as\n"
+ "evident from changes in its gills and legs.");
+
+const u8 gAerodactylPokedexText[] = _(
+ "AERODACTYL is a POKéMON from the age\n"
+ "of dinosaurs. It was regenerated from DNA\n"
+ "extracted from amber. It is imagined to\n"
+ "have been the king of the skies.");
+
+const u8 gSnorlaxPokedexText[] = _(
+ "SNORLAX’s typical day consists of nothing\n"
+ "more than eating and sleeping. It is such\n"
+ "a docile POKéMON that there are children\n"
+ "who use its big belly as a place to play.");
+
+const u8 gArticunoPokedexText[] = _(
+ "ARTICUNO is a legendary bird POKéMON that\n"
+ "can control ice. The flapping of its wings\n"
+ "chills the air. As a result, it is said that\n"
+ "when this POKéMON flies, snow will fall.");
+
+const u8 gZapdosPokedexText[] = _(
+ "ZAPDOS is a legendary bird POKéMON that\n"
+ "has the ability to control electricity.\n"
+ "It usually lives in thunderclouds. It gains\n"
+ "power if it is stricken by lightning bolts.");
+
+const u8 gMoltresPokedexText[] = _(
+ "MOLTRES is a legendary bird POKéMON\n"
+ "that can control fire. If injured, it is said\n"
+ "to dip its body in the molten magma of\n"
+ "a volcano to burn and heal itself.");
+
+const u8 gDratiniPokedexText[] = _(
+ "A DRATINI continually molts and sloughs\n"
+ "off its old skin. It does so because the\n"
+ "life energy within its body steadily builds\n"
+ "to reach uncontrollable levels.");
+
+const u8 gDragonairPokedexText[] = _(
+ "A DRAGONAIR stores an enormous amount of\n"
+ "energy inside its body. It is said to alter\n"
+ "the weather around it by loosing energy\n"
+ "from the crystals on its neck and tail.");
+
+const u8 gDragonitePokedexText[] = _(
+ "It can circle the globe in just 16 hours.\n"
+ "It is a kindhearted POKéMON that leads\n"
+ "lost and foundering ships in a storm\n"
+ "to the safety of land.");
+
+const u8 gMewtwoPokedexText[] = _(
+ "A POKéMON that was created by genetic\n"
+ "manipulation. However, even though the\n"
+ "scientific power of humans made its body,\n"
+ "they failed to give it a warm heart.");
+
+const u8 gMewPokedexText[] = _(
+ "A MEW is said to possess the genes of all\n"
+ "POKéMON. It is capable of making itself\n"
+ "invisible at will, so it entirely avoids\n"
+ "notice even if it approaches people.");
+
+const u8 gChikoritaPokedexText[] = _(
+ "It waves its leaf around to keep foes\n"
+ "at bay. However, a sweet fragrance also\n"
+ "wafts from the leaf, creating a friendly\n"
+ "atmosphere that becalms the battlers.");
+
+const u8 gBayleefPokedexText[] = _(
+ "A BAYLEEF’s neck is ringed by curled-up\n"
+ "leaves. Inside each leaf is a small tree\n"
+ "shoot. The fragrance of this shoot\n"
+ "makes people peppy.");
+
+const u8 gMeganiumPokedexText[] = _(
+ "The fragrance of a MEGANIUM’s flower\n"
+ "soothes and calms emotions. In battle,\n"
+ "it gives off more of its becalming scent\n"
+ "to blunt the foe’s fighting spirit.");
+
+const u8 gCyndaquilPokedexText[] = _(
+ "It flares flames from its back to protect\n"
+ "itself. The fire burns vigorously if the\n"
+ "POKéMON is angry. When it is tired,\n"
+ "it sputters with incomplete combustion.");
+
+const u8 gQuilavaPokedexText[] = _(
+ "It intimidates foes with intense gusts of\n"
+ "flames and superheated air. Its quick\n"
+ "nimbleness lets it dodge attacks even\n"
+ "while scorching an enemy.");
+
+const u8 gTyphlosionPokedexText[] = _(
+ "It can hide behind a shimmering heat haze\n"
+ "that it creates using its intense flames.\n"
+ "TYPHLOSION create blazing explosive\n"
+ "blasts that burn everything to cinders.");
+
+const u8 gTotodilePokedexText[] = _(
+ "Despite its small body, TOTODILE’s jaws\n"
+ "are very powerful. While it may think it is\n"
+ "just playfully nipping, its bite has enough\n"
+ "strength to cause serious injury.");
+
+const u8 gCroconawPokedexText[] = _(
+ "Once its jaws clamp down on its foe, it will\n"
+ "absolutely not let go. Because the tips of\n"
+ "its fangs are forked back like fishhooks,\n"
+ "they become irremovably embedded.");
+
+const u8 gFeraligatrPokedexText[] = _(
+ "It opens its huge mouth to intimidate\n"
+ "enemies. In battle, it runs using its thick\n"
+ "and powerful hind legs to charge the\n"
+ "foe with incredible speed.");
+
+const u8 gSentretPokedexText[] = _(
+ "They take turns standing guard when it\n"
+ "is time to sleep. The sentry awakens the\n"
+ "others if it senses danger. If one becomes\n"
+ "separated, it turns sleepless with fear.");
+
+const u8 gFurretPokedexText[] = _(
+ "A FURRET has a very slim build. When under\n"
+ "attack, it can squirm through narrow\n"
+ "spaces and get away. In spite of its short\n"
+ "limbs, it is very nimble and fleet.");
+
+const u8 gHoothootPokedexText[] = _(
+ "It has an internal organ that senses\n"
+ "the earth’s rotation. Using this special\n"
+ "organ, a HOOTHOOT begins hooting at\n"
+ "precisely the same time every day.");
+
+const u8 gNoctowlPokedexText[] = _(
+ "It unfailingly catches prey in darkness.\n"
+ "NOCTOWL owe their success to superior\n"
+ "vision that allows them to see in minimal\n"
+ "light, and to their supple and silent wings.");
+
+const u8 gLedybaPokedexText[] = _(
+ "LEDYBA communicate using a fluid that\n"
+ "they secrete from where the legs join the\n"
+ "body. They are said to convey feelings to\n"
+ "others by altering the fluid’s scent.");
+
+const u8 gLedianPokedexText[] = _(
+ "It is said that in lands with clean air,\n"
+ "where the stars fill the sky, there live\n"
+ "many LEDIAN. For good reason, they use\n"
+ "the light of the stars as energy.");
+
+const u8 gSpinarakPokedexText[] = _(
+ "The web it spins can be considered its\n"
+ "second nervous system. It is said that a\n"
+ "SPINARAK determines its prey by the tiny\n"
+ "vibrations it feels through the web.");
+
+const u8 gAriadosPokedexText[] = _(
+ "Its feet are tipped with tiny hooked claws\n"
+ "that enable it to scuttle on ceilings and\n"
+ "vertical walls. It constricts its foe with\n"
+ "thin and strong silk webbing.");
+
+const u8 gCrobatPokedexText[] = _(
+ "Over the course of evolution, its hind legs\n"
+ "turned into wings. By alternately resting\n"
+ "its front and rear wings, it can fly all day\n"
+ "without having to stop.");
+
+const u8 gChinchouPokedexText[] = _(
+ "When it senses danger, it discharges\n"
+ "positive and negative electricity from its\n"
+ "two antennae. It lives in depths beyond\n"
+ "sunlight’s reach.");
+
+const u8 gLanturnPokedexText[] = _(
+ "The light-emitting orbs on its back are\n"
+ "very bright. They are formed from a part of\n"
+ "its dorsal fin. This POKéMON illuminates\n"
+ "the inky darkness of deep seas.");
+
+const u8 gPichuPokedexText[] = _(
+ "It is still inept at retaining electricity.\n"
+ "When it is startled, it discharges power\n"
+ "accidentally. It gets better at holding\n"
+ "power as it grows older.");
+
+const u8 gCleffaPokedexText[] = _(
+ "On nights with many shooting stars,\n"
+ "CLEFFA can be seen dancing in a ring.\n"
+ "They dance until daybreak, when they\n"
+ "quench their thirst with the morning dew.");
+
+const u8 gIgglybuffPokedexText[] = _(
+ "Its soft and pliable body is very bouncy.\n"
+ "When it sings continuously with all its\n"
+ "might, its body steadily turns a deepening\n"
+ "pink color.");
+
+const u8 gTogepiPokedexText[] = _(
+ "As its energy, it uses the feelings of\n"
+ "compassion and pleasure exuded by\n"
+ "people and POKéMON. It stores up happy\n"
+ "feelings in its shell, then shares them out.");
+
+const u8 gTogeticPokedexText[] = _(
+ "It is said to be a POKéMON that brings good\n"
+ "fortune. When it spots someone who is pure\n"
+ "of heart, a TOGETIC appears and shares its\n"
+ "happiness with that person.");
+
+const u8 gNatuPokedexText[] = _(
+ "It runs up short trees that grow on the\n"
+ "savanna to peck at new shoots.\n"
+ "A NATU’s eyes look as if they are\n"
+ "always observing something.");
+
+const u8 gXatuPokedexText[] = _(
+ "It has the enigmatic power of foreseeing\n"
+ "the future. Some people in different lands\n"
+ "have long believed that XATU are\n"
+ "emissaries from another world.");
+
+const u8 gMareepPokedexText[] = _(
+ "Its fluffy wool rubs together and builds\n"
+ "a static charge. The more energy is\n"
+ "charged, the more brightly the lightbulb\n"
+ "at the tip of its tail glows.");
+
+const u8 gFlaaffyPokedexText[] = _(
+ "Its fleece quality changes to generate\n"
+ "strong static electricity with a small\n"
+ "amount of wool. The bare, slick parts of its\n"
+ "hide are shielded against electricity.");
+
+const u8 gAmpharosPokedexText[] = _(
+ "It gives off so much light that it can be\n"
+ "seen even from space. People in the old\n"
+ "days used its light to send signals back\n"
+ "and forth with others far away.");
+
+const u8 gBellossomPokedexText[] = _(
+ "Its flower petals deepen in color through\n"
+ "exposure to sunlight. When cloudy weather\n"
+ "persists, it does a dance that is thought\n"
+ "to be a ritual for summoning the sun.");
+
+const u8 gMarillPokedexText[] = _(
+ "Its body is covered with water-repellent\n"
+ "fur. Because of the fur, it can swim\n"
+ "through water at high speed without being\n"
+ "slowed by the water’s resistance.");
+
+const u8 gAzumarillPokedexText[] = _(
+ "It lives in water virtually all day long.\n"
+ "Its body color and pattern act as\n"
+ "camouflage that makes it tough for\n"
+ "enemies to spot in water.");
+
+const u8 gSudowoodoPokedexText[] = _(
+ "It mimics a tree to avoid being attacked\n"
+ "by enemies. But since its forelegs\n"
+ "remain green throughout the year, it is\n"
+ "easily identified as a fake in the winter.");
+
+const u8 gPolitoedPokedexText[] = _(
+ "The curled hair on its head proves its\n"
+ "status as a king. It is said that the\n"
+ "longer and curlier the hair, the more\n"
+ "respect it earns from its peers.");
+
+const u8 gHoppipPokedexText[] = _(
+ "This POKéMON drifts and floats with the\n"
+ "wind. If it senses the approach of strong\n"
+ "winds, a HOPPIP links leaves with others\n"
+ "to prepare against being blown away.");
+
+const u8 gSkiploomPokedexText[] = _(
+ "It blossoms when the temperature rises\n"
+ "above 64 degrees F. Because its flower’s\n"
+ "blooming changes with the temperature,\n"
+ "it is sometimes used as a thermometer.");
+
+const u8 gJumpluffPokedexText[] = _(
+ "JUMPLUFF ride warm southern winds to\n"
+ "cross the sea and fly to foreign lands.\n"
+ "This POKéMON lands when it encounters\n"
+ "cold air while it is floating.");
+
+const u8 gAipomPokedexText[] = _(
+ "Its tail ends with a dexterous, handlike\n"
+ "appendage. However, because it uses the\n"
+ "tail so much, AIPOM’s real hands have\n"
+ "become rather clumsy.");
+
+const u8 gSunkernPokedexText[] = _(
+ "SUNKERN try to minimize movement to\n"
+ "conserve the nutrients they have stored\n"
+ "in their bodies for evolution. They will\n"
+ "not eat, subsisting only on morning dew.");
+
+const u8 gSunfloraPokedexText[] = _(
+ "SUNFLORA convert solar energy into\n"
+ "nutrition. They are highly active in the\n"
+ "warm daytime but suddenly stop moving as\n"
+ "soon as the sun sets.");
+
+const u8 gYanmaPokedexText[] = _(
+ "It can see 360 degrees without moving\n"
+ "its eyes. It is a great flier capable of\n"
+ "making sudden stops and turning midair to\n"
+ "quickly chase down targeted prey.");
+
+const u8 gWooperPokedexText[] = _(
+ "WOOPER usually live in water but come\n"
+ "out onto land seeking food occasionally.\n"
+ "On land, they coat their bodies with a\n"
+ "gooey, toxic film.");
+
+const u8 gQuagsirePokedexText[] = _(
+ "A QUAGSIRE hunts by leaving its mouth wide\n"
+ "open in water and waiting for its prey to\n"
+ "blunder in. Because it doesn’t move, it\n"
+ "does not get very hungry.");
+
+const u8 gEspeonPokedexText[] = _(
+ "An ESPEON is extremely loyal to any\n"
+ "TRAINER it considers to be worthy. It is\n"
+ "said to have developed precognitive\n"
+ "powers to protect its TRAINER from harm.");
+
+const u8 gUmbreonPokedexText[] = _(
+ "UMBREON evolved from exposure to the\n"
+ "moon’s energy pulses. It lurks in darkness\n"
+ "and waits for its foes to move. The rings\n"
+ "on its body glow when it leaps to attack.");
+
+const u8 gMurkrowPokedexText[] = _(
+ "MURKROW were feared as the alleged\n"
+ "bearers of ill fortune. It shows strong\n"
+ "interest in anything that sparkles. It will\n"
+ "even try to steal rings from women.");
+
+const u8 gSlowkingPokedexText[] = _(
+ "It undertakes research every day to\n"
+ "solve the mysteries of the world.\n"
+ "However, it apparently forgets everything\n"
+ "if the SHELLDER on its head comes off.");
+
+const u8 gMisdreavusPokedexText[] = _(
+ "A MISDREAVUS frightens people with a\n"
+ "creepy, sobbing cry. It apparently uses\n"
+ "its red spheres to absorb the fear of foes\n"
+ "as its nutrition.");
+
+const u8 gUnownPokedexText[] = _(
+ "This POKéMON is shaped like ancient text\n"
+ "characters. Although research is ongoing,\n"
+ "it is a mystery as to which came first,\n"
+ "the ancient writings or the various UNOWN.");
+
+const u8 gWobbuffetPokedexText[] = _(
+ "Usually docile, a WOBBUFFET strikes back\n"
+ "ferociously if its black tail is attacked.\n"
+ "It makes its lair in caves where it waits\n"
+ "for nightfall.");
+
+const u8 gGirafarigPokedexText[] = _(
+ "A GIRAFARIG is an herbivore--it eats\n"
+ "grass and tree shoots. While it is eating,\n"
+ "its tail makes chewing and swallowing\n"
+ "motions as if it were also eating.");
+
+const u8 gPinecoPokedexText[] = _(
+ "A PINECO hangs from a tree branch and\n"
+ "waits for prey. While eating, if it is\n"
+ "disturbed by someone shaking its tree, it\n"
+ "falls on the ground and suddenly explodes.");
+
+const u8 gForretressPokedexText[] = _(
+ "It keeps itself inside its steel shell.\n"
+ "The shell is opened when it is catching\n"
+ "prey, but it is so quick that the shell’s\n"
+ "inside cannot be seen.");
+
+const u8 gDunsparcePokedexText[] = _(
+ "Its drill-tipped tail is used to burrow into\n"
+ "the ground backwards. This POKéMON is\n"
+ "known to make its nest in complex shapes\n"
+ "deep under the ground.");
+
+const u8 gGligarPokedexText[] = _(
+ "It glides without making a single sound.\n"
+ "It grasps the face of its foe using its\n"
+ "hind and large front claws, then stabs\n"
+ "with its poison barb.");
+
+const u8 gSteelixPokedexText[] = _(
+ "STEELIX live even further underground\n"
+ "than ONIX. This POKéMON is known to dig\n"
+ "toward the earth’s core, reaching a depth\n"
+ "of over six-tenths of a mile underground.");
+
+const u8 gSnubbullPokedexText[] = _(
+ "By baring its fangs and making a scary\n"
+ "face, it sends smaller POKéMON scurrying\n"
+ "in terror. The SNUBBULL does seem a\n"
+ "little sad at making its foes flee.");
+
+const u8 gGranbullPokedexText[] = _(
+ "It has a particularly well-developed lower\n"
+ "jaw. The huge fangs are heavy, causing\n"
+ "it to tilt its head. Unless it is startled, it\n"
+ "will not try to bite.");
+
+const u8 gQwilfishPokedexText[] = _(
+ "A QWILFISH uses the pressure of water\n"
+ "it swallows to shoot toxic quills all at\n"
+ "once from all over its body. It finds\n"
+ "swimming to be somewhat challenging.");
+
+const u8 gScizorPokedexText[] = _(
+ "A SCIZOR has a body with the hardness of\n"
+ "steel. It is not easily fazed by ordinary\n"
+ "sorts of attacks. It flaps its wings to\n"
+ "regulate its body temperature.");
+
+const u8 gShucklePokedexText[] = _(
+ "A SHUCKLE hides under rocks, keeping its\n"
+ "body concealed inside its shell while\n"
+ "eating stored berries. The berries mix with\n"
+ "its body fluids to become a juice.");
+
+const u8 gHeracrossPokedexText[] = _(
+ "They gather in forests seeking the sweet\n"
+ "sap of trees. It is completely clad in a\n"
+ "steel-hard shell. It is proud of its horn,\n"
+ "which it uses to fling foes.");
+
+const u8 gSneaselPokedexText[] = _(
+ "A SNEASEL scales trees by punching its\n"
+ "hooked claws into the bark. It seeks out\n"
+ "unguarded nests and steals eggs for food\n"
+ "while the parents are away.");
+
+const u8 gTeddiursaPokedexText[] = _(
+ "It licks its palms that are sweetened by\n"
+ "being soaked in honey. A TEDDIURSA makes\n"
+ "its own honey by blending fruits and pollen\n"
+ "collected by BEEDRILL.");
+
+const u8 gUrsaringPokedexText[] = _(
+ "In forests, it is said that there are many\n"
+ "streams and towering trees where an\n"
+ "URSARING gathers food. It walks through\n"
+ "its forest collecting food every day.");
+
+const u8 gSlugmaPokedexText[] = _(
+ "It is a species of POKéMON that lives in\n"
+ "volcanic areas. If its body cools, its skin\n"
+ "hardens and immobilizes it. To avoid that,\n"
+ "it sleeps near magma.");
+
+const u8 gMagcargoPokedexText[] = _(
+ "The shell on its back is made of hardened\n"
+ "magma. Tens of thousands of years spent\n"
+ "living in volcanic craters have turned\n"
+ "MAGCARGO’s bodies into magma.");
+
+const u8 gSwinubPokedexText[] = _(
+ "It roots for food by rubbing its snout\n"
+ "against the ground. Its favorite food is a\n"
+ "mushroom that grows under dried grass.\n"
+ "It occasionally roots out hot springs.");
+
+const u8 gPiloswinePokedexText[] = _(
+ "A PILOSWINE is covered by a thick coat\n"
+ "of long hair for enduring freezing cold.\n"
+ "It uses its tusks to dig up food that has\n"
+ "been buried under ice.");
+
+const u8 gCorsolaPokedexText[] = _(
+ "CORSOLA live in warm southern seas.\n"
+ "If the sea becomes polluted, the beautiful\n"
+ "coral stalks become discolored and crumble\n"
+ "away in tatters.");
+
+const u8 gRemoraidPokedexText[] = _(
+ "A REMORAID uses its abdominal muscles\n"
+ "to forcefully expel swallowed water, then\n"
+ "shoot down flying prey. When evolution\n"
+ "approaches, it travels down rivers.");
+
+const u8 gOctilleryPokedexText[] = _(
+ "It ensnares its foe with its suction-\n"
+ "cupped tentacles before delivering the\n"
+ "finishing blow. If the foe turns out to be\n"
+ "too strong, it spews ink to escape.");
+
+const u8 gDelibirdPokedexText[] = _(
+ "It carries food bundled up in its tail.\n"
+ "There was a famous explorer who\n"
+ "managed to scale Mt. Everest thanks\n"
+ "to a DELIBIRD sharing its food.");
+
+const u8 gMantinePokedexText[] = _(
+ "On sunny days, schools of MANTINE can be\n"
+ "seen elegantly leaping over the waves.\n"
+ "It is not bothered by the REMORAID that\n"
+ "hitches rides.");
+
+const u8 gSkarmoryPokedexText[] = _(
+ "A POKéMON that has a body and wings of\n"
+ "steel. People in the past used feathers\n"
+ "fallen from SKARMORY to make swords and\n"
+ "knives.");
+
+const u8 gHoundourPokedexText[] = _(
+ "HOUNDOUR communicate with each other\n"
+ "using a variety of cries to corner their\n"
+ "prey. This POKéMON’s remarkable teamwork\n"
+ "is simply unparalleled.");
+
+const u8 gHoundoomPokedexText[] = _(
+ "In a HOUNDOOM pack, the one with its horns\n"
+ "raked sharply back serves a leadership\n"
+ "role. They choose their leader by fighting\n"
+ "among themselves.");
+
+const u8 gKingdraPokedexText[] = _(
+ "It sleeps quietly, deep on the seafloor.\n"
+ "When it comes up to the surface, it\n"
+ "creates a huge whirlpool that can swallow\n"
+ "even ships.");
+
+const u8 gPhanpyPokedexText[] = _(
+ "PHANPY’s big ears serve as broad fans.\n"
+ "When it becomes hot, it flaps the ears\n"
+ "busily to cool down. Even the young are\n"
+ "very strong.");
+
+const u8 gDonphanPokedexText[] = _(
+ "A DONPHAN is so strong it can easily haul\n"
+ "a dump truck. Its hide has toughened to a\n"
+ "rock-hard state. An ordinary sort of\n"
+ "attack won’t even leave a scratch.");
+
+const u8 gPorygon2PokedexText[] = _(
+ "It was created by humans using the power\n"
+ "of science. It has been given artificial\n"
+ "intelligence that enables it to learn new\n"
+ "gestures and emotions on its own.");
+
+const u8 gStantlerPokedexText[] = _(
+ "STANTLER’s magnificent antlers were\n"
+ "once traded at high prices as works of art.\n"
+ "As a result, this POKéMON was hunted\n"
+ "close to extinction.");
+
+const u8 gSmearglePokedexText[] = _(
+ "A SMEARGLE marks its territory using a\n"
+ "fluid that leaks out from the tip of its\n"
+ "tail. About 5,000 different marks left by\n"
+ "this POKéMON have been found.");
+
+const u8 gTyroguePokedexText[] = _(
+ "TYROGUE become stressed out if they do\n"
+ "not get to train every day. When raising\n"
+ "this POKéMON, the TRAINER must establish\n"
+ "a regular training schedule.");
+
+const u8 gHitmontopPokedexText[] = _(
+ "Its technique of kicking while spinning is\n"
+ "a remarkable mix of both offense and\n"
+ "defense. HITMONTOP travel faster\n"
+ "spinning than they do walking.");
+
+const u8 gSmoochumPokedexText[] = _(
+ "It actively runs about, but also falls\n"
+ "often. Whenever it falls, it will check its\n"
+ "reflection on a lake’s surface to make\n"
+ "sure its face hasn’t become dirty.");
+
+const u8 gElekidPokedexText[] = _(
+ "If it touches metal and discharges the\n"
+ "electricity it has stored in its body, an\n"
+ "ELEKID begins swinging its arms in circles\n"
+ "to recharge itself.");
+
+const u8 gMagbyPokedexText[] = _(
+ "If a MAGBY is spouting yellow flames from\n"
+ "its mouth, it is in good health. When it is\n"
+ "fatigued, black smoke will be mixed in with\n"
+ "the flames.");
+
+const u8 gMiltankPokedexText[] = _(
+ "It gives over five gallons of milk daily.\n"
+ "Its sweet milk is enjoyed by children and\n"
+ "grown-ups alike. People who can’t drink\n"
+ "milk turn it into yogurt and eat it instead.");
+
+const u8 gBlisseyPokedexText[] = _(
+ "If it senses sadness with its fluffy fur,\n"
+ "a BLISSEY will rush over to the sad person,\n"
+ "however far away, to share an egg of\n"
+ "happiness that brings a smile to any face.");
+
+const u8 gRaikouPokedexText[] = _(
+ "RAIKOU embodies the speed of lightning.\n"
+ "Its roars send shock waves shuddering\n"
+ "through the air and ground as if\n"
+ "lightning bolts were crashing down.");
+
+const u8 gEnteiPokedexText[] = _(
+ "ENTEI embodies the passion of magma.\n"
+ "It is thought to have been born in the\n"
+ "eruption of a volcano. It blasts fire that\n"
+ "consumes all that it touches.");
+
+const u8 gSuicunePokedexText[] = _(
+ "SUICUNE embodies the compassion of\n"
+ "a pure spring of water. It runs across\n"
+ "the land with gliding elegance. It has the\n"
+ "power to purify dirty water.");
+
+const u8 gLarvitarPokedexText[] = _(
+ "A LARVITAR is born deep under the ground.\n"
+ "It must eat its way through the soil above\n"
+ "and reach the surface for it to see its\n"
+ "parents’ faces.");
+
+const u8 gPupitarPokedexText[] = _(
+ "A PUPITAR creates a gas inside its body\n"
+ "that it ejects under compression to propel\n"
+ "itself like a jet. Its body can withstand\n"
+ "a collision with solid steel.");
+
+const u8 gTyranitarPokedexText[] = _(
+ "A TYRANITAR is so overwhelmingly powerful,\n"
+ "it can bring down a whole mountain to make\n"
+ "its nest. It roams in mountains seeking\n"
+ "new opponents to fight.");
+
+const u8 gLugiaPokedexText[] = _(
+ "LUGIA is so powerful even a light\n"
+ "fluttering of its wings can blow apart\n"
+ "houses. As a result, it chooses to live out\n"
+ "of sight deep under the sea.");
+
+const u8 gHoOhPokedexText[] = _(
+ "Its feathers--which glow in seven colors\n"
+ "depending on the angle at which they are\n"
+ "struck by light--are thought to bring joy.\n"
+ "It is said to live at the foot of a rainbow.");
+
+const u8 gCelebiPokedexText[] = _(
+ "This POKéMON came from the future by\n"
+ "crossing over time. It is thought that so\n"
+ "long as CELEBI appears, a bright and\n"
+ "shining future awaits us.");
+
+const u8 gTreeckoPokedexText[] = _(
+ "It makes its nest in a giant tree in the\n"
+ "forest. It ferociously guards against\n"
+ "anything nearing its territory. It is said\n"
+ "to be the protector of the forest’s trees.");
+
+const u8 gGrovylePokedexText[] = _(
+ "Leaves grow out of this POKéMON’s body.\n"
+ "They help obscure a GROVYLE from the eyes\n"
+ "of its enemies while it is in a thickly\n"
+ "overgrown forest.");
+
+const u8 gSceptilePokedexText[] = _(
+ "In the jungle, its power is without equal.\n"
+ "This POKéMON carefully grows trees and\n"
+ "plants. It regulates its body temperature\n"
+ "by basking in sunlight.");
+
+const u8 gTorchicPokedexText[] = _(
+ "If attacked, it strikes back by spitting\n"
+ "balls of fire it forms in its stomach.\n"
+ "A TORCHIC dislikes darkness because it\n"
+ "can’t see its surroundings.");
+
+const u8 gCombuskenPokedexText[] = _(
+ "It lashes out with 10 kicks per second.\n"
+ "Its strong fighting instinct compels it\n"
+ "to keep up its offensive until the\n"
+ "opponent gives up.");
+
+const u8 gBlazikenPokedexText[] = _(
+ "It learns martial arts that use punches\n"
+ "and kicks. Every several years, its old\n"
+ "feathers burn off, and new, supple\n"
+ "feathers grow back in their place.");
+
+const u8 gMudkipPokedexText[] = _(
+ "On land, it can powerfully lift large\n"
+ "boulders by planting its four feet and\n"
+ "heaving. It sleeps by burying itself in soil\n"
+ "at the water’s edge.");
+
+const u8 gMarshtompPokedexText[] = _(
+ "Its toughened hind legs enable it to stand\n"
+ "upright. Because it weakens if its skin\n"
+ "dries out, it replenishes fluids by playing\n"
+ "in mud.");
+
+const u8 gSwampertPokedexText[] = _(
+ "If it senses the approach of a storm and\n"
+ "a tidal wave, it protects its seaside nest\n"
+ "by piling up boulders. It swims as fast as\n"
+ "a jet ski.");
+
+const u8 gPoochyenaPokedexText[] = _(
+ "It savagely threatens foes with bared\n"
+ "fangs. It chases after fleeing targets\n"
+ "tenaciously. It turns tail and runs,\n"
+ "however, if the foe strikes back.");
+
+const u8 gMightyenaPokedexText[] = _(
+ "In the wild, MIGHTYENA live in a pack.\n"
+ "They never defy their leader’s orders.\n"
+ "They defeat foes with perfectly\n"
+ "coordinated teamwork.");
+
+const u8 gZigzagoonPokedexText[] = _(
+ "Rubbing its nose against the ground, it\n"
+ "always wanders about back and forth in\n"
+ "search of something. It is distinguished\n"
+ "by the zigzag footprints it leaves.");
+
+const u8 gLinoonePokedexText[] = _(
+ "It is exceedingly fast if it only has to run\n"
+ "in a straight line. When it spots pond-\n"
+ "dwelling prey underwater, it quickly leaps\n"
+ "in and catches it with its sharp claws.");
+
+const u8 gWurmplePokedexText[] = _(
+ "It sticks to tree branches and eats\n"
+ "leaves. The thread it spits from its mouth,\n"
+ "which becomes gooey when it touches\n"
+ "air, slows the movement of its foes.");
+
+const u8 gSilcoonPokedexText[] = _(
+ "It prepares for evolution using the\n"
+ "energy it stored while it was a WURMPLE.\n"
+ "It keeps watch over the surroundings with\n"
+ "its two eyes.");
+
+const u8 gBeautiflyPokedexText[] = _(
+ "Its colorfully patterned wings are its\n"
+ "most prominent feature. It flies through\n"
+ "flower-covered fields collecting pollen.\n"
+ "It attacks ferociously when angered.");
+
+const u8 gCascoonPokedexText[] = _(
+ "To avoid detection by its enemies, it hides\n"
+ "motionlessly beneath large leaves and in\n"
+ "the gaps of branches. It also attaches\n"
+ "dead leaves to its body for camouflage.");
+
+const u8 gDustoxPokedexText[] = _(
+ "It is a nocturnal POKéMON that flies from\n"
+ "fields and mountains to the attraction of\n"
+ "streetlights at night. It looses highly\n"
+ "toxic powder from its wings.");
+
+const u8 gLotadPokedexText[] = _(
+ "This POKéMON lives in ponds with clean\n"
+ "water. It is known to ferry small POKéMON\n"
+ "across ponds by carrying them on the\n"
+ "broad leaf on its head.");
+
+const u8 gLombrePokedexText[] = _(
+ "In the evening, it takes great delight in\n"
+ "popping out of rivers and startling people.\n"
+ "It feeds on aquatic moss that grows on\n"
+ "rocks in the riverbed.");
+
+const u8 gLudicoloPokedexText[] = _(
+ "When it hears festive music, all the cells\n"
+ "in its body become stimulated, and it\n"
+ "begins moving in rhythm. It does not\n"
+ "quail even when it faces a tough opponent.");
+
+const u8 gSeedotPokedexText[] = _(
+ "It hangs off branches and absorbs\n"
+ "nutrients. When it finishes eating, its\n"
+ "body becomes so heavy that it drops to\n"
+ "the ground with a thump.");
+
+const u8 gNuzleafPokedexText[] = _(
+ "A forest-dwelling POKéMON that is skilled\n"
+ "at climbing trees. Its long and pointed\n"
+ "nose is its weak point. It loses power if\n"
+ "the nose is gripped.");
+
+const u8 gShiftryPokedexText[] = _(
+ "It is said to arrive on chilly, wintry winds.\n"
+ "Feared from long ago as the guardian of\n"
+ "forests, this POKéMON lives in a deep\n"
+ "forest where people do not venture.");
+
+const u8 gTaillowPokedexText[] = _(
+ "Although it is small, it is very courageous.\n"
+ "It will take on a larger SKARMORY on an\n"
+ "equal footing. However, its will weakens if\n"
+ "it becomes hungry.");
+
+const u8 gSwellowPokedexText[] = _(
+ "A SWELLOW dives upon prey from far above.\n"
+ "It never misses its targets. It takes to\n"
+ "the skies in search of lands with a warm\n"
+ "climate.");
+
+const u8 gWingullPokedexText[] = _(
+ "It makes its nest on a sheer cliff at the\n"
+ "edge of the sea. It has trouble keeping\n"
+ "its wings flapping in flight. Instead, it\n"
+ "soars on updrafts.");
+
+const u8 gPelipperPokedexText[] = _(
+ "It skims the tops of waves as it flies.\n"
+ "When it spots prey, it uses its large beak\n"
+ "to scoop up the victim with water.\n"
+ "It protects its eggs in its beak.");
+
+const u8 gRaltsPokedexText[] = _(
+ "A RALTS has the power to sense the\n"
+ "emotions of people and POKéMON with the\n"
+ "horns on its head. It takes cover if it\n"
+ "senses any hostility.");
+
+const u8 gKirliaPokedexText[] = _(
+ "A KIRLIA has the psychic power to create \n"
+ "a rip in the dimensions and see into the\n"
+ "future. It is said to dance with pleasure\n"
+ "on sunny mornings.");
+
+const u8 gGardevoirPokedexText[] = _(
+ "It apparently does not feel the pull of\n"
+ "gravity because it supports itself with\n"
+ "psychic power. It will give its life to\n"
+ "protect its TRAINER.");
+
+const u8 gSurskitPokedexText[] = _(
+ "They gather on puddles after evening\n"
+ "downpours, gliding across the surface\n"
+ "of water as if sliding. It secretes honey\n"
+ "with a sweet aroma from its head.");
+
+const u8 gMasquerainPokedexText[] = _(
+ "It intimidates foes with the large eyelike\n"
+ "patterns on its antennae. Because it can’t\n"
+ "fly if its wings get wet, it shelters itself\n"
+ "from rain under large trees and eaves.");
+
+const u8 gShroomishPokedexText[] = _(
+ "It loves to eat damp, composted soil in\n"
+ "forests. If you enter a forest after a\n"
+ "long rain, you can see many SHROOMISH\n"
+ "feasting on composted soil.");
+
+const u8 gBreloomPokedexText[] = _(
+ "It scatters spores from holes in the cap\n"
+ "on its head. It loves warm and humid\n"
+ "climates. It feeds on trees and plants in\n"
+ "fields and forests.");
+
+const u8 gSlakothPokedexText[] = _(
+ "It sleeps virtually all day and night long.\n"
+ "It doesn’t change its nest its entire life,\n"
+ "but it sometimes travels great distances\n"
+ "by swimming in rivers.");
+
+const u8 gVigorothPokedexText[] = _(
+ "It can’t keep still because its blood boils\n"
+ "with energy. It runs through the fields\n"
+ "and mountains all day to calm itself. If it\n"
+ "doesn’t, it can’t sleep at night.");
+
+const u8 gSlakingPokedexText[] = _(
+ "Hordes of SLAKING gather around trees\n"
+ "when fruits come into season. They wait\n"
+ "around patiently for ripened fruits to fall\n"
+ "out of the trees.");
+
+const u8 gNincadaPokedexText[] = _(
+ "It makes its nest at the roots of a mighty\n"
+ "tree. Using its whiskerlike antennae, it\n"
+ "probes its surroundings in the\n"
+ "pitch-black darkness of soil.");
+
+const u8 gNinjaskPokedexText[] = _(
+ "Because it darts about vigorously at high\n"
+ "speed, it is very difficult to see. Hearing\n"
+ "its distinctive cries for too long induces\n"
+ "a headache.");
+
+const u8 gShedinjaPokedexText[] = _(
+ "A peculiar POKéMON that floats in air even\n"
+ "though its wings remain completely still.\n"
+ "The inside of its body is hollow and\n"
+ "utterly dark.");
+
+const u8 gWhismurPokedexText[] = _(
+ "Its cries equal a jet plane in volume.\n"
+ "It inhales through its ear canals. Because\n"
+ "of this system, it can cry continually\n"
+ "without having to catch its breath.");
+
+const u8 gLoudredPokedexText[] = _(
+ "It positions the round speakers on its\n"
+ "head to assail foes with ultrasonic waves\n"
+ "at massive volume. It builds power by\n"
+ "stomping the ground.");
+
+const u8 gExploudPokedexText[] = _(
+ "It has sound-generating organs all over\n"
+ "its body. It communicates with others by\n"
+ "adjusting the tone and volume of the cries\n"
+ "it emits.");
+
+const u8 gMakuhitaPokedexText[] = _(
+ "It loves to toughen up its body above all\n"
+ "else. If you hear quaking rumbles in a cave,\n"
+ "it is the sound of MAKUHITA undertaking\n"
+ "strenuous training.");
+
+const u8 gHariyamaPokedexText[] = _(
+ "It has the habit of challenging others\n"
+ "without hesitation to tests of strength.\n"
+ "It’s been known to stand on train tracks\n"
+ "and stop trains using forearm thrusts.");
+
+const u8 gAzurillPokedexText[] = _(
+ "Its tail, which is packed with nutrition,\n"
+ "is very bouncy like a rubber ball. On sunny\n"
+ "days they gather at the edge of water and\n"
+ "splash about for fun.");
+
+const u8 gNosepassPokedexText[] = _(
+ "Its body emits a powerful magnetism.\n"
+ "It feeds on prey that is pulled in by the\n"
+ "force. Its magnetism is stronger in cold\n"
+ "seasons.");
+
+const u8 gSkittyPokedexText[] = _(
+ "A SKITTY’s adorably cute behavior makes it\n"
+ "highly popular. In battle, it makes its tail\n"
+ "puff out. It threatens foes with a sharp\n"
+ "growl.");
+
+const u8 gDelcattyPokedexText[] = _(
+ "Rather than keeping a permanent lair,\n"
+ "it habitually seeks comfortable spots and\n"
+ "sleeps there. It is nocturnal and becomes\n"
+ "active at dusk.");
+
+const u8 gSableyePokedexText[] = _(
+ "It digs branching holes in caves using its\n"
+ "sharp claws in search of food--raw gems.\n"
+ "A SABLEYE lurks in darkness and is seen\n"
+ "only rarely.");
+
+const u8 gMawilePokedexText[] = _(
+ "Its giant jaws are actually steel horns\n"
+ "that transformed. It fools foes into\n"
+ "complacency with its adorable gestures,\n"
+ "then chomps them with its huge jaws.");
+
+const u8 gAronPokedexText[] = _(
+ "A POKéMON that is clad in steel armor.\n"
+ "A new suit of armor is made when it evolves.\n"
+ "The old, discarded armor is salvaged as\n"
+ "metal for making iron products.");
+
+const u8 gLaironPokedexText[] = _(
+ "When two LAIRON meet in the wild, they\n"
+ "fight for territory by bashing into each\n"
+ "other with their steel bodies. The sound\n"
+ "of their collision carries for miles.");
+
+const u8 gAggronPokedexText[] = _(
+ "Its iron horns grow longer a little at\n"
+ "a time. They are used to determine the\n"
+ "AGGRON’s age. The gouges in its armor are\n"
+ "worn with pride as mementos from battles.");
+
+const u8 gMedititePokedexText[] = _(
+ "It continually meditates for hours every\n"
+ "day. As a result of rigorous and dedicated\n"
+ "yoga training, it has tempered its\n"
+ "spiritual power so much it can fly.");
+
+const u8 gMedichamPokedexText[] = _(
+ "Through crushingly harsh yoga training, it\n"
+ "gained the power to foretell its foe’s\n"
+ "actions. It battles with elegant, dance-\n"
+ "like movement.");
+
+const u8 gElectrikePokedexText[] = _(
+ "It generates electricity using friction\n"
+ "from the atmosphere. In seasons with\n"
+ "especially arid air, its entire body blazes\n"
+ "with violent showers of sparks.");
+
+const u8 gManectricPokedexText[] = _(
+ "Because lightning falls in their vicinities,\n"
+ "MANECTRIC were thought to have been born\n"
+ "from lightning. In battle, they create\n"
+ "thunderclouds.");
+
+const u8 gPluslePokedexText[] = _(
+ "It has the trait of cheering on its fellow\n"
+ "POKéMON. By shorting out the electricity\n"
+ "it releases from its paws, it creates\n"
+ "pom-poms for cheering.");
+
+const u8 gMinunPokedexText[] = _(
+ "At a meeting of POKéMON academics, it was\n"
+ "announced that simultaneous exposure to\n"
+ "electricity from a PLUSLE and MINUN will\n"
+ "promote circulation and boost vitality.");
+
+const u8 gVolbeatPokedexText[] = _(
+ "With their taillights lit, VOLBEAT fly in\n"
+ "a swarm, drawing geometric designs in the\n"
+ "night sky. They move their nests if their\n"
+ "pond water becomes dirty.");
+
+const u8 gIllumisePokedexText[] = _(
+ "A nocturnal POKéMON that becomes active\n"
+ "upon nightfall. It leads a VOLBEAT swarm\n"
+ "to draw patterns in the night sky. Over 200\n"
+ "different patterns have been confirmed.");
+
+const u8 gRoseliaPokedexText[] = _(
+ "A ROSELIA that drinks nutritionally rich\n"
+ "springwater blooms with lovely flowers.\n"
+ "The fragrance of its flowers has the\n"
+ "effect of making its foes careless.");
+
+const u8 gGulpinPokedexText[] = _(
+ "This POKéMON’s stomach fluid can even\n"
+ "digest scrap iron. In one gulp, it can\n"
+ "swallow something that is as large as\n"
+ "itself.");
+
+const u8 gSwalotPokedexText[] = _(
+ "Its powerful stomach acid is capable of\n"
+ "digesting almost anything. The one thing\n"
+ "in the whole world a SWALOT can’t digest is\n"
+ "its own stomach.");
+
+const u8 gCarvanhaPokedexText[] = _(
+ "CARVANHA attack ships in swarms, making\n"
+ "them sink. Although it is said to be a very\n"
+ "vicious POKéMON, it timidly flees as soon\n"
+ "as it finds itself alone.");
+
+const u8 gSharpedoPokedexText[] = _(
+ "The vicious and sly gangster of the sea.\n"
+ "Its skin is specially textured to minimize\n"
+ "drag in water. Its speed tops out at over\n"
+ "75 miles per hour.");
+
+const u8 gWailmerPokedexText[] = _(
+ "While this POKéMON usually lives in the sea,\n"
+ "it can survive on land, although not too\n"
+ "long. It loses vitality if its body becomes\n"
+ "dried out.");
+
+const u8 gWailordPokedexText[] = _(
+ "It breathes through nostrils that it\n"
+ "raises above the sea. By inhaling to its\n"
+ "maximum capacity, a WAILORD can dive close\n"
+ "to 10,000 feet beneath the waves.");
+
+const u8 gNumelPokedexText[] = _(
+ "A NUMEL stores boiling magma in the hump\n"
+ "on its back. It is a hardy POKéMON that can\n"
+ "transport a 220-pound load. It has served\n"
+ "humans at work since long ago.");
+
+const u8 gCameruptPokedexText[] = _(
+ "A POKéMON that lives in the crater of\n"
+ "a volcano. Every 10 years, the volcanoes\n"
+ "on its back erupt violently. Research is\n"
+ "under way on the cause of eruption.");
+
+const u8 gTorkoalPokedexText[] = _(
+ "It battles using energy it gets from\n"
+ "burning coal. When loosing smoke from its\n"
+ "nostrils, it lets off a sound that is\n"
+ "similar to a locomotive’s horn.");
+
+const u8 gSpoinkPokedexText[] = _(
+ "A POKéMON that manipulates psychic power\n"
+ "at will. It doesn’t stop bouncing even when\n"
+ "it is asleep. It loves eating mushrooms\n"
+ "that grow underground.");
+
+const u8 gGrumpigPokedexText[] = _(
+ "It stores power in the black pearls on its\n"
+ "forehead. When it uses psychic power, it\n"
+ "performs an odd dance step. Its style of\n"
+ "dancing became hugely popular overseas.");
+
+const u8 gSpindaPokedexText[] = _(
+ "It is distinguished by a pattern of\n"
+ "spots that is always different. Its\n"
+ "unsteady, tottering walk has the\n"
+ "effect of fouling its foe’s aim.");
+
+const u8 gTrapinchPokedexText[] = _(
+ "Its big jaws crunch through boulders.\n"
+ "Because its head is so big, it has a hard\n"
+ "time getting back upright if it tips over\n"
+ "onto its back.");
+
+const u8 gVibravaPokedexText[] = _(
+ "It looses ultrasonic waves by rubbing its\n"
+ "wings together. Since a VIBRAVA’s wings\n"
+ "are still in the process of growing, it can\n"
+ "only fly short distances.");
+
+const u8 gFlygonPokedexText[] = _(
+ "The flapping of its wings sounds like\n"
+ "singing. To prevent detection by enemies,\n"
+ "it hides itself by flapping up a cloud of\n"
+ "desert sand.");
+
+const u8 gCacneaPokedexText[] = _(
+ "CACNEA live in deserts with virtually no\n"
+ "rainfall. It battles by swinging its thick,\n"
+ "spiked arms. Once a year, a yellow flower\n"
+ "blooms.");
+
+const u8 gCacturnePokedexText[] = _(
+ "After spending thousands of years in\n"
+ "harsh deserts, its blood transformed into\n"
+ "the same substances as sand. It is\n"
+ "nocturnal, so it hunts at night.");
+
+const u8 gSwabluPokedexText[] = _(
+ "A POKéMON that has wings like cottony\n"
+ "clouds. After enduring winter, in which\n"
+ "little food is available, SWABLU flocks\n"
+ "move closer to towns in the spring.");
+
+const u8 gAltariaPokedexText[] = _(
+ "It hums in a beautiful soprano voice.\n"
+ "It flies among white clouds in the blue\n"
+ "sky. It launches intensely hot fireballs\n"
+ "from its mouth.");
+
+const u8 gZangoosePokedexText[] = _(
+ "When it battles, it stands on its hind legs\n"
+ "and attacks with its sharply clawed\n"
+ "forelegs. Its fur bristles if it encounters\n"
+ "any SEVIPER.");
+
+const u8 gSeviperPokedexText[] = _(
+ "SEVIPER and ZANGOOSE are eternal rivals.\n"
+ "It counters a ZANGOOSE’s dazzling agility\n"
+ "with its swordlike tail, which also oozes\n"
+ "a horrible poison.");
+
+const u8 gLunatonePokedexText[] = _(
+ "It becomes very active on the night of\n"
+ "a full moon. This POKéMON was first\n"
+ "discovered 40 years ago at the site of\n"
+ "a meteor strike.");
+
+const u8 gSolrockPokedexText[] = _(
+ "Solar energy is the source of this \n"
+ "POKéMON’s power. On sunny days, groups of\n"
+ "SOLROCK line up facing the sun and absorb\n"
+ "its light.");
+
+const u8 gBarboachPokedexText[] = _(
+ "Its body is covered with a slimy film.\n"
+ "The film acts as a barrier to prevent germs\n"
+ "in muddy water from entering the\n"
+ "BARBOACH’s body.");
+
+const u8 gWhiscashPokedexText[] = _(
+ "Mysteriously, it can foretell earthquakes.\n"
+ "In the daytime, it sleeps in mud at the\n"
+ "bottom of a pond. When it awakens, it\n"
+ "continually feeds throughout the night.");
+
+const u8 gCorphishPokedexText[] = _(
+ "Once it grips prey with its large pincers,\n"
+ "it will never let go, no matter what.\n"
+ "It is a hardy POKéMON that can thrive\n"
+ "in any environment.");
+
+const u8 gCrawdauntPokedexText[] = _(
+ "A brutish POKéMON that loves to battle.\n"
+ "A veteran CRAWDAUNT that has prevailed in\n"
+ "hundreds of battles has giant pincers\n"
+ "marked with countless scars.");
+
+const u8 gBaltoyPokedexText[] = _(
+ "A BALTOY moves by spinning on its single\n"
+ "foot. It has been depicted in murals \n"
+ "adorning the walls of a once-bustling city\n"
+ "in an ancient age.");
+
+const u8 gClaydolPokedexText[] = _(
+ "A CLAYDOL sleeps while hovering in midair.\n"
+ "Its arms are separate from its body.\n"
+ "They are kept floating by the POKéMON’s\n"
+ "manipulation of psychic power.");
+
+const u8 gLileepPokedexText[] = _(
+ "It disguises itself as seaweed by making\n"
+ "its tentacles sway. Unsuspecting prey\n"
+ "that come too close are swallowed whole.\n"
+ "It became extinct 100 million years ago.");
+
+const u8 gCradilyPokedexText[] = _(
+ "It drags its heavy body along the\n"
+ "seafloor. It makes its nest in the shallows\n"
+ "of warm seas. CRADILY can be seen on\n"
+ "beaches when the tide goes out.");
+
+const u8 gAnorithPokedexText[] = _(
+ "It was resurrected from a fossil using the\n"
+ "power of science. It swims by undulating\n"
+ "the eight wings at its sides. They were\n"
+ "feet that adapted to life in the sea.");
+
+const u8 gArmaldoPokedexText[] = _(
+ "ARMALDO usually lives on land. However,\n"
+ "when it hunts for prey, it dives beneath\n"
+ "the ocean. It swims around using its two\n"
+ "large wings.");
+
+const u8 gFeebasPokedexText[] = _(
+ "FEEBAS live in ponds that are heavily\n"
+ "infested with weeds. Because of its\n"
+ "hopelessly shabby appearance, it\n"
+ "seems as if few TRAINERS raise it.");
+
+const u8 gMiloticPokedexText[] = _(
+ "It is said to live at the bottom of\n"
+ "large lakes. Considered to be the most\n"
+ "beautiful of all POKéMON, it has been\n"
+ "depicted in paintings and statues.");
+
+const u8 gCastformPokedexText[] = _(
+ "It alters its form depending on the\n"
+ "weather. Changes in the climate such as\n"
+ "the temperature and humidity appear to\n"
+ "affect its cellular structure.");
+
+const u8 gKecleonPokedexText[] = _(
+ "A POKéMON that has the ability to alter its\n"
+ "body colors to match its surroundings.\n"
+ "A KECLEON reverts to its original colors if\n"
+ "it is startled.");
+
+const u8 gShuppetPokedexText[] = _(
+ "This POKéMON roams about deep in the\n"
+ "night seeking such negative emotions as\n"
+ "grudges and envy. It retreats to its nest\n"
+ "when the sun begins to rise.");
+
+const u8 gBanettePokedexText[] = _(
+ "An abandoned plush doll became this\n"
+ "POKéMON. They are said to live in garbage\n"
+ "dumps and wander about in search of the\n"
+ "children that threw them away.");
+
+const u8 gDuskullPokedexText[] = _(
+ "A glare from its single scarlet eye makes\n"
+ "even burly grown-ups freeze in utter fear.\n"
+ "It is a nocturnal POKéMON that roams\n"
+ "about under the cloak of darkness.");
+
+const u8 gDusclopsPokedexText[] = _(
+ "It is thought that its body is hollow with\n"
+ "only a spectral ball of fire burning inside.\n"
+ "However, no one has been able to\n"
+ "confirm this theory as fact.");
+
+const u8 gTropiusPokedexText[] = _(
+ "It flies by flapping its broad leaves.\n"
+ "The bunch of fruit that grows around its\n"
+ "neck is deliciously sweet. In the spring,\n"
+ "it scatters pollen from its neck.");
+
+const u8 gChimechoPokedexText[] = _(
+ "They fly about very actively when the hot\n"
+ "season arrives. They communicate among\n"
+ "themselves using seven different and\n"
+ "distinguishing cries.");
+
+const u8 gAbsolPokedexText[] = _(
+ "It sharply senses even subtle changes in\n"
+ "the sky and the land to predict natural\n"
+ "disasters. It is a long-lived POKéMON that\n"
+ "has a life-span of 100 years.");
+
+const u8 gWynautPokedexText[] = _(
+ "A WYNAUT loves to eat sweet fruits.\n"
+ "It cleverly picks fruits using its earlike\n"
+ "arms. They gather in fruit gardens, drawn\n"
+ "by the fragrance.");
+
+const u8 gSnoruntPokedexText[] = _(
+ "They tend to move about in groups of\n"
+ "around five SNORUNT. In snowy regions,\n"
+ "it is said that when they are seen late at\n"
+ "night, snowfall will arrive by morning.");
+
+const u8 gGlaliePokedexText[] = _(
+ "A GLALIE has the power to instantaneously\n"
+ "freeze moisture in the atmosphere.\n"
+ "A dazzling cloud of diamondlike ice\n"
+ "crystals forms around its body.");
+
+const u8 gSphealPokedexText[] = _(
+ "It is completely covered with plushy fur.\n"
+ "As a result, it never feels the cold even\n"
+ "when it is rolling about on ice floes or\n"
+ "diving in the sea.");
+
+const u8 gSealeoPokedexText[] = _(
+ "SEALEO live in herds on ice floes. Using its\n"
+ "powerful flippers, it shatters ice.\n"
+ "It dives into the sea to hunt prey five\n"
+ "times a day.");
+
+const u8 gWalreinPokedexText[] = _(
+ "To protect its herd, the leader battles\n"
+ "anything that invades its territory, even\n"
+ "at the cost of its life. Its tusks may snap\n"
+ "off in battle.");
+
+const u8 gClamperlPokedexText[] = _(
+ "A CLAMPERL slams its shell closed on prey\n"
+ "to prevent escape. The pearl it creates\n"
+ "upon evolution is said to be infused with\n"
+ "a mysterious energy.");
+
+const u8 gHuntailPokedexText[] = _(
+ "To withstand the crushing pressure of\n"
+ "water deep under the sea, its spine is very\n"
+ "thick and sturdy. Its tail, which is shaped\n"
+ "like a small fish, has eyes that light up.");
+
+const u8 gGorebyssPokedexText[] = _(
+ "A GOREBYSS siphons the body fluids of prey\n"
+ "through its thin, tubular mouth. Its light\n"
+ "pink body color turns vivid when it\n"
+ "finishes feeding.");
+
+const u8 gRelicanthPokedexText[] = _(
+ "A POKéMON that was once believed to have\n"
+ "been extinct. The species has not changed\n"
+ "its form for 100 million years. It walks on\n"
+ "the seafloor using its pectoral fins.");
+
+const u8 gLuvdiscPokedexText[] = _(
+ "LUVDISC make the branches of CORSOLA\n"
+ "their nests. There is a custom from long\n"
+ "ago of giving a LUVDISC as a gift to\n"
+ "express one’s feelings of love.");
+
+const u8 gBagonPokedexText[] = _(
+ "Although it is small, this POKéMON is very\n"
+ "powerful because its body is a bundle of\n"
+ "muscles. It launches head-butts with its\n"
+ "ironlike skull.");
+
+const u8 gShelgonPokedexText[] = _(
+ "It hardly eats while it awaits evolution.\n"
+ "It becomes hardier by enduring hunger.\n"
+ "Its shell peels off the instant it begins\n"
+ "to evolve.");
+
+const u8 gSalamencePokedexText[] = _(
+ "After many long years, its cellular\n"
+ "structure underwent a sudden mutation to\n"
+ "grow wings. When angered, it loses all\n"
+ "thought and rampages out of control.");
+
+const u8 gBeldumPokedexText[] = _(
+ "When BELDUM gather in a swarm, they move\n"
+ "in perfect unison as if they were but one\n"
+ "POKéMON. They communicate with each other\n"
+ "using brain waves.");
+
+const u8 gMetangPokedexText[] = _(
+ "The claws tipping its arms pack the\n"
+ "destructive power to tear through thick\n"
+ "iron sheets as if they were silk. It flies\n"
+ "at over 60 miles per hour.");
+
+const u8 gMetagrossPokedexText[] = _(
+ "METAGROSS has four brains that are joined\n"
+ "by a complex neural network. As a result of\n"
+ "integration, this POKéMON is smarter than\n"
+ "a supercomputer.");
+
+const u8 gRegirockPokedexText[] = _(
+ "A POKéMON that is made entirely of rocks\n"
+ "and boulders. If parts of its body chip off\n"
+ "in battle, REGIROCK repairs itself by\n"
+ "adding new rocks.");
+
+const u8 gRegicePokedexText[] = _(
+ "Its entire body is made of Antarctic ice.\n"
+ "After extensive studies, researchers\n"
+ "believe the ice was formed during an\n"
+ "ice age.");
+
+const u8 gRegisteelPokedexText[] = _(
+ "Its body is harder than any other kind of\n"
+ "metal. The body metal is composed of a\n"
+ "mysterious substance. Not only is it hard,\n"
+ "it shrinks and stretches flexibly.");
+
+const u8 gLatiasPokedexText[] = _(
+ "They make a small herd of only several\n"
+ "members. They rarely make contact with\n"
+ "people or other POKéMON. They disappear\n"
+ "if they sense enemies.");
+
+const u8 gLatiosPokedexText[] = _(
+ "Even in hiding, it can detect the locations\n"
+ "of others and sense their emotions since\n"
+ "it has telepathy. Its intelligence allows\n"
+ "it to understand human languages.");
+
+const u8 gKyogrePokedexText[] = _(
+ "KYOGRE has appeared in mythology as the\n"
+ "creator of the sea. After long years of\n"
+ "feuding with GROUDON, it took to sleep at\n"
+ "the bottom of the sea.");
+
+const u8 gGroudonPokedexText[] = _(
+ "GROUDON has appeared in mythology as the\n"
+ "creator of the land. It sleeps in magma\n"
+ "underground and is said to make volcanoes\n"
+ "erupt on awakening.");
+
+const u8 gRayquazaPokedexText[] = _(
+ "A POKéMON that flies endlessly in the\n"
+ "ozone layer. It is said it would descend\n"
+ "to the ground if KYOGRE and GROUDON\n"
+ "were to fight.");
+
+const u8 gJirachiPokedexText[] = _(
+ "JIRACHI is said to make wishes come true.\n"
+ "While it sleeps, a tough crystalline shell\n"
+ "envelops the body to protect it from\n"
+ "enemies.");
+
+const u8 gDeoxysPokedexText[] = _(
+ "A POKéMON that mutated from an\n"
+ "extraterrestrial virus exposed to a laser\n"
+ "beam. Its body is configured for superior\n"
+ "agility and speed.");
diff --git a/src/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h
index f14478863..3ad9a97c6 100644
--- a/src/data/pokemon/tmhm_learnsets.h
+++ b/src/data/pokemon/tmhm_learnsets.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_TMHM_LEARNSETS_H
-#define GUARD_TMHM_LEARNSETS_H
-
#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)}
#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH))
@@ -9389,5 +9386,3 @@ const u32 gTMHMLearnsets[][2] =
| TMHM(HM05_FLASH)),
};
-
-#endif // GUARD_TMHM_LEARNSETS_H
diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h
index 02b2016c1..6e8474c12 100644
--- a/src/data/pokemon/trainer_class_lookups.h
+++ b/src/data/pokemon/trainer_class_lookups.h
@@ -1,176 +1,172 @@
-#ifndef POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
-#define POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
-
const u8 gFacilityClassToPicIndex[] =
{
- TRAINER_PIC_HIKER, // FACILITY_CLASS_HIKER
- TRAINER_PIC_AQUA_GRUNT_M, // FACILITY_CLASS_TEAM_AQUA_1
- TRAINER_PIC_POKEMON_BREEDER_F, // FACILITY_CLASS_PKMN_BREEDER_1
- TRAINER_PIC_COOL_TRAINER_M, // FACILITY_CLASS_COOLTRAINER_M
- TRAINER_PIC_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER
- TRAINER_PIC_COLLECTOR, // FACILITY_CLASS_COLLECTOR
- TRAINER_PIC_AQUA_GRUNT_F, // FACILITY_CLASS_TEAM_AQUA_2
- TRAINER_PIC_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M
- TRAINER_PIC_MAGMA_GRUNT_M, // FACILITY_CLASS_TEAM_MAGMA_1
- TRAINER_PIC_EXPERT_M, // FACILITY_CLASS_EXPERT_M
- TRAINER_PIC_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT
- TRAINER_PIC_AQUA_LEADER_ARCHIE, // FACILITY_CLASS_AQUA_LEADER
- TRAINER_PIC_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC
- TRAINER_PIC_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY
- TRAINER_PIC_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC
- TRAINER_PIC_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER
- TRAINER_PIC_TUBER_F, // FACILITY_CLASS_TUBER_1
- TRAINER_PIC_TUBER_M, // FACILITY_CLASS_TUBER_2
- TRAINER_PIC_COOL_TRAINER_F, // FACILITY_CLASS_COOLTRAINER_F
- TRAINER_PIC_LADY, // FACILITY_CLASS_LADY
- TRAINER_PIC_BEAUTY, // FACILITY_CLASS_BEAUTY
- TRAINER_PIC_RICH_BOY, // FACILITY_CLASS_RICH_BOY
- TRAINER_PIC_EXPERT_F, // FACILITY_CLASS_EXPERT_2
- TRAINER_PIC_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC
- TRAINER_PIC_MAGMA_GRUNT_F, // FACILITY_CLASS_TEAM_MAGMA_2
- TRAINER_PIC_GUITARIST, // FACILITY_CLASS_GUITARIST
- TRAINER_PIC_KINDLER, // FACILITY_CLASS_KINDLER
- TRAINER_PIC_CAMPER, // FACILITY_CLASS_CAMPER
- TRAINER_PIC_PICNICKER, // FACILITY_CLASS_PICNICKER
- TRAINER_PIC_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC
- TRAINER_PIC_PSYCHIC_M, // FACILITY_CLASS_PSYCHIC_M
- TRAINER_PIC_PSYCHIC_F, // FACILITY_CLASS_PSYCHIC_F
- TRAINER_PIC_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN
- TRAINER_PIC_ELITE_FOUR_SIDNEY, // FACILITY_CLASS_ELITE_FOUR_1
- TRAINER_PIC_ELITE_FOUR_PHOEBE, // FACILITY_CLASS_ELITE_FOUR_2
- TRAINER_PIC_LEADER_ROXANNE, // FACILITY_CLASS_LEADER_1
- TRAINER_PIC_LEADER_BRAWLY, // FACILITY_CLASS_LEADER_2
- TRAINER_PIC_LEADER_TATE_AND_LIZA, // FACILITY_CLASS_LEADER_3
- TRAINER_PIC_SCHOOL_KID_M, // FACILITY_CLASS_SCHOOL_KID_M
- TRAINER_PIC_SCHOOL_KID_F, // FACILITY_CLASS_SCHOOL_KID_F
- TRAINER_PIC_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR
- TRAINER_PIC_WINSTRATE_M, // FACILITY_CLASS_POKEFAN_1
- TRAINER_PIC_WINSTRATE_F, // FACILITY_CLASS_POKEFAN_2
- TRAINER_PIC_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER
- TRAINER_PIC_CHAMPION_WALLACE, // FACILITY_CLASS_CHAMPION
- TRAINER_PIC_FISHERMAN, // FACILITY_CLASS_FISHERMAN
- TRAINER_PIC_CYCLING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_1
- TRAINER_PIC_CYCLING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_2
- TRAINER_PIC_RUNNING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_3
- TRAINER_PIC_RUNNING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_4
- TRAINER_PIC_SWIMMING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_5
- TRAINER_PIC_SWIMMING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_6
- TRAINER_PIC_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER
- TRAINER_PIC_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY
- TRAINER_PIC_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL
- TRAINER_PIC_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY
- TRAINER_PIC_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F
- TRAINER_PIC_TWINS, // FACILITY_CLASS_TWINS
- TRAINER_PIC_SAILOR, // FACILITY_CLASS_SAILOR
- TRAINER_PIC_WALLY, // FACILITY_CLASS_PKMN_TRAINER_1
- TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN
- TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_3
- TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_4
- TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_MAY
- TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_6
- TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_7
- TRAINER_PIC_POKEMON_BREEDER_M, // FACILITY_CLASS_PKMN_BREEDER_2
- TRAINER_PIC_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER
- TRAINER_PIC_POKEMON_RANGER_M, // FACILITY_CLASS_PKMN_RANGER_M
- TRAINER_PIC_POKEMON_RANGER_F, // FACILITY_CLASS_PKMN_RANGER_F
- TRAINER_PIC_MAGMA_LEADER_MAXIE, // FACILITY_CLASS_MAGMA_LEADER
- TRAINER_PIC_LASS, // FACILITY_CLASS_LASS
- TRAINER_PIC_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE
- TRAINER_PIC_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE
- TRAINER_PIC_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO
- TRAINER_PIC_STEVEN, // FACILITY_CLASS_PKMN_TRAINER_STEVEN
- TRAINER_PIC_SALON_MAIDEN_ANABEL, // FACILITY_CLASS_SALON_MAIDEN
- TRAINER_PIC_DOME_ACE_TUCKER, // FACILITY_CLASS_DOME_ACE
- TRAINER_PIC_RED, // FACILITY_CLASS_PKMN_TRAINER_RED
- TRAINER_PIC_LEAF, // FACILITY_CLASS_PKMN_TRAINER_LEAF
- TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN
- TRAINER_PIC_RUBY_SAPPHIRE_MAY, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY
+ [FACILITY_CLASS_HIKER] = TRAINER_PIC_HIKER,
+ [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_PIC_AQUA_GRUNT_M,
+ [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F,
+ [FACILITY_CLASS_COOLTRAINER_M] = TRAINER_PIC_COOLTRAINER_M,
+ [FACILITY_CLASS_BIRD_KEEPER] = TRAINER_PIC_BIRD_KEEPER,
+ [FACILITY_CLASS_COLLECTOR] = TRAINER_PIC_COLLECTOR,
+ [FACILITY_CLASS_AQUA_GRUNT_F] = TRAINER_PIC_AQUA_GRUNT_F,
+ [FACILITY_CLASS_SWIMMER_M] = TRAINER_PIC_SWIMMER_M,
+ [FACILITY_CLASS_MAGMA_GRUNT_M] = TRAINER_PIC_MAGMA_GRUNT_M,
+ [FACILITY_CLASS_EXPERT_M] = TRAINER_PIC_EXPERT_M,
+ [FACILITY_CLASS_BLACK_BELT] = TRAINER_PIC_BLACK_BELT,
+ [FACILITY_CLASS_AQUA_LEADER_ARCHIE] = TRAINER_PIC_AQUA_LEADER_ARCHIE,
+ [FACILITY_CLASS_HEX_MANIAC] = TRAINER_PIC_HEX_MANIAC,
+ [FACILITY_CLASS_AROMA_LADY] = TRAINER_PIC_AROMA_LADY,
+ [FACILITY_CLASS_RUIN_MANIAC] = TRAINER_PIC_RUIN_MANIAC,
+ [FACILITY_CLASS_INTERVIEWER] = TRAINER_PIC_INTERVIEWER,
+ [FACILITY_CLASS_TUBER_F] = TRAINER_PIC_TUBER_F,
+ [FACILITY_CLASS_TUBER_M] = TRAINER_PIC_TUBER_M,
+ [FACILITY_CLASS_COOLTRAINER_F] = TRAINER_PIC_COOLTRAINER_F,
+ [FACILITY_CLASS_LADY] = TRAINER_PIC_LADY,
+ [FACILITY_CLASS_BEAUTY] = TRAINER_PIC_BEAUTY,
+ [FACILITY_CLASS_RICH_BOY] = TRAINER_PIC_RICH_BOY,
+ [FACILITY_CLASS_EXPERT_F] = TRAINER_PIC_EXPERT_F,
+ [FACILITY_CLASS_POKEMANIAC] = TRAINER_PIC_POKEMANIAC,
+ [FACILITY_CLASS_MAGMA_GRUNT_F] = TRAINER_PIC_MAGMA_GRUNT_F,
+ [FACILITY_CLASS_GUITARIST] = TRAINER_PIC_GUITARIST,
+ [FACILITY_CLASS_KINDLER] = TRAINER_PIC_KINDLER,
+ [FACILITY_CLASS_CAMPER] = TRAINER_PIC_CAMPER,
+ [FACILITY_CLASS_PICNICKER] = TRAINER_PIC_PICNICKER,
+ [FACILITY_CLASS_BUG_MANIAC] = TRAINER_PIC_BUG_MANIAC,
+ [FACILITY_CLASS_PSYCHIC_M] = TRAINER_PIC_PSYCHIC_M,
+ [FACILITY_CLASS_PSYCHIC_F] = TRAINER_PIC_PSYCHIC_F,
+ [FACILITY_CLASS_GENTLEMAN] = TRAINER_PIC_GENTLEMAN,
+ [FACILITY_CLASS_ELITE_FOUR_SIDNEY] = TRAINER_PIC_ELITE_FOUR_SIDNEY,
+ [FACILITY_CLASS_ELITE_FOUR_PHOEBE] = TRAINER_PIC_ELITE_FOUR_PHOEBE,
+ [FACILITY_CLASS_LEADER_ROXANNE] = TRAINER_PIC_LEADER_ROXANNE,
+ [FACILITY_CLASS_LEADER_BRAWLY] = TRAINER_PIC_LEADER_BRAWLY,
+ [FACILITY_CLASS_LEADER_TATE_AND_LIZA] = TRAINER_PIC_LEADER_TATE_AND_LIZA,
+ [FACILITY_CLASS_SCHOOL_KID_M] = TRAINER_PIC_SCHOOL_KID_M,
+ [FACILITY_CLASS_SCHOOL_KID_F] = TRAINER_PIC_SCHOOL_KID_F,
+ [FACILITY_CLASS_SR_AND_JR] = TRAINER_PIC_SR_AND_JR,
+ [FACILITY_CLASS_POKEFAN_M] = TRAINER_PIC_POKEFAN_M,
+ [FACILITY_CLASS_POKEFAN_F] = TRAINER_PIC_POKEFAN_F,
+ [FACILITY_CLASS_YOUNGSTER] = TRAINER_PIC_YOUNGSTER,
+ [FACILITY_CLASS_CHAMPION_WALLACE] = TRAINER_PIC_CHAMPION_WALLACE,
+ [FACILITY_CLASS_FISHERMAN] = TRAINER_PIC_FISHERMAN,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_M] = TRAINER_PIC_CYCLING_TRIATHLETE_M,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_F] = TRAINER_PIC_CYCLING_TRIATHLETE_F,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_M] = TRAINER_PIC_RUNNING_TRIATHLETE_M,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_F] = TRAINER_PIC_RUNNING_TRIATHLETE_F,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_M] = TRAINER_PIC_SWIMMING_TRIATHLETE_M,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_F] = TRAINER_PIC_SWIMMING_TRIATHLETE_F,
+ [FACILITY_CLASS_DRAGON_TAMER] = TRAINER_PIC_DRAGON_TAMER,
+ [FACILITY_CLASS_NINJA_BOY] = TRAINER_PIC_NINJA_BOY,
+ [FACILITY_CLASS_BATTLE_GIRL] = TRAINER_PIC_BATTLE_GIRL,
+ [FACILITY_CLASS_PARASOL_LADY] = TRAINER_PIC_PARASOL_LADY,
+ [FACILITY_CLASS_SWIMMER_F] = TRAINER_PIC_SWIMMER_F,
+ [FACILITY_CLASS_TWINS] = TRAINER_PIC_TWINS,
+ [FACILITY_CLASS_SAILOR] = TRAINER_PIC_SAILOR,
+ [FACILITY_CLASS_WALLY] = TRAINER_PIC_WALLY,
+ [FACILITY_CLASS_BRENDAN] = TRAINER_PIC_BRENDAN,
+ [FACILITY_CLASS_BRENDAN_2] = TRAINER_PIC_BRENDAN,
+ [FACILITY_CLASS_BRENDAN_3] = TRAINER_PIC_BRENDAN,
+ [FACILITY_CLASS_MAY] = TRAINER_PIC_MAY,
+ [FACILITY_CLASS_MAY_2] = TRAINER_PIC_MAY,
+ [FACILITY_CLASS_MAY_3] = TRAINER_PIC_MAY,
+ [FACILITY_CLASS_PKMN_BREEDER_M] = TRAINER_PIC_POKEMON_BREEDER_M,
+ [FACILITY_CLASS_BUG_CATCHER] = TRAINER_PIC_BUG_CATCHER,
+ [FACILITY_CLASS_PKMN_RANGER_M] = TRAINER_PIC_POKEMON_RANGER_M,
+ [FACILITY_CLASS_PKMN_RANGER_F] = TRAINER_PIC_POKEMON_RANGER_F,
+ [FACILITY_CLASS_MAGMA_LEADER_MAXIE] = TRAINER_PIC_MAGMA_LEADER_MAXIE,
+ [FACILITY_CLASS_LASS] = TRAINER_PIC_LASS,
+ [FACILITY_CLASS_YOUNG_COUPLE] = TRAINER_PIC_YOUNG_COUPLE,
+ [FACILITY_CLASS_OLD_COUPLE] = TRAINER_PIC_OLD_COUPLE,
+ [FACILITY_CLASS_SIS_AND_BRO] = TRAINER_PIC_SIS_AND_BRO,
+ [FACILITY_CLASS_STEVEN] = TRAINER_PIC_STEVEN,
+ [FACILITY_CLASS_SALON_MAIDEN_ANABEL] = TRAINER_PIC_SALON_MAIDEN_ANABEL,
+ [FACILITY_CLASS_DOME_ACE_TUCKER] = TRAINER_PIC_DOME_ACE_TUCKER,
+ [FACILITY_CLASS_RED] = TRAINER_PIC_RED,
+ [FACILITY_CLASS_LEAF] = TRAINER_PIC_LEAF,
+ [FACILITY_CLASS_RS_BRENDAN] = TRAINER_PIC_RS_BRENDAN,
+ [FACILITY_CLASS_RS_MAY] = TRAINER_PIC_RS_MAY,
};
const u8 gFacilityClassToTrainerClass[] =
{
- TRAINER_CLASS_HIKER, // FACILITY_CLASS_HIKER
- TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_1
- TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_1
- TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_M
- TRAINER_CLASS_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER
- TRAINER_CLASS_COLLECTOR, // FACILITY_CLASS_COLLECTOR
- TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_2
- TRAINER_CLASS_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M
- TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_1
- TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_M
- TRAINER_CLASS_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT
- TRAINER_CLASS_AQUA_LEADER, // FACILITY_CLASS_AQUA_LEADER
- TRAINER_CLASS_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC
- TRAINER_CLASS_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY
- TRAINER_CLASS_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC
- TRAINER_CLASS_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER
- TRAINER_CLASS_TUBER_1, // FACILITY_CLASS_TUBER_1
- TRAINER_CLASS_TUBER_2, // FACILITY_CLASS_TUBER_2
- TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_F
- TRAINER_CLASS_LADY, // FACILITY_CLASS_LADY
- TRAINER_CLASS_BEAUTY, // FACILITY_CLASS_BEAUTY
- TRAINER_CLASS_RICH_BOY, // FACILITY_CLASS_RICH_BOY
- TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_2
- TRAINER_CLASS_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC
- TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_2
- TRAINER_CLASS_GUITARIST, // FACILITY_CLASS_GUITARIST
- TRAINER_CLASS_KINDLER, // FACILITY_CLASS_KINDLER
- TRAINER_CLASS_CAMPER, // FACILITY_CLASS_CAMPER
- TRAINER_CLASS_PICNICKER, // FACILITY_CLASS_PICNICKER
- TRAINER_CLASS_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC
- TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_M
- TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_F
- TRAINER_CLASS_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN
- TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_1
- TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_2
- TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_1
- TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_2
- TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_3
- TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_M
- TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_F
- TRAINER_CLASS_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR
- TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_1
- TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_2
- TRAINER_CLASS_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER
- TRAINER_CLASS_CHAMPION, // FACILITY_CLASS_CHAMPION
- TRAINER_CLASS_FISHERMAN, // FACILITY_CLASS_FISHERMAN
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_1
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_2
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_3
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_4
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_5
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_6
- TRAINER_CLASS_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER
- TRAINER_CLASS_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY
- TRAINER_CLASS_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL
- TRAINER_CLASS_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY
- TRAINER_CLASS_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F
- TRAINER_CLASS_TWINS, // FACILITY_CLASS_TWINS
- TRAINER_CLASS_SAILOR, // FACILITY_CLASS_SAILOR
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_1
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_MAY
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_3
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_4
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_6
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_7
- TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_2
- TRAINER_CLASS_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER
- TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_M
- TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_F
- TRAINER_CLASS_MAGMA_LEADER, // FACILITY_CLASS_MAGMA_LEADER
- TRAINER_CLASS_LASS, // FACILITY_CLASS_LASS
- TRAINER_CLASS_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE
- TRAINER_CLASS_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE
- TRAINER_CLASS_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_STEVEN
- TRAINER_CLASS_SALON_MAIDEN, // FACILITY_CLASS_SALON_MAIDEN
- TRAINER_CLASS_DOME_ACE, // FACILITY_CLASS_DOME_ACE
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_RED
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_LEAF
- TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN
- TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY
+ [FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER,
+ [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA,
+ [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER,
+ [FACILITY_CLASS_COOLTRAINER_M] = TRAINER_CLASS_COOLTRAINER,
+ [FACILITY_CLASS_BIRD_KEEPER] = TRAINER_CLASS_BIRD_KEEPER,
+ [FACILITY_CLASS_COLLECTOR] = TRAINER_CLASS_COLLECTOR,
+ [FACILITY_CLASS_AQUA_GRUNT_F] = TRAINER_CLASS_TEAM_AQUA,
+ [FACILITY_CLASS_SWIMMER_M] = TRAINER_CLASS_SWIMMER_M,
+ [FACILITY_CLASS_MAGMA_GRUNT_M] = TRAINER_CLASS_TEAM_MAGMA,
+ [FACILITY_CLASS_EXPERT_M] = TRAINER_CLASS_EXPERT,
+ [FACILITY_CLASS_BLACK_BELT] = TRAINER_CLASS_BLACK_BELT,
+ [FACILITY_CLASS_AQUA_LEADER_ARCHIE] = TRAINER_CLASS_AQUA_LEADER,
+ [FACILITY_CLASS_HEX_MANIAC] = TRAINER_CLASS_HEX_MANIAC,
+ [FACILITY_CLASS_AROMA_LADY] = TRAINER_CLASS_AROMA_LADY,
+ [FACILITY_CLASS_RUIN_MANIAC] = TRAINER_CLASS_RUIN_MANIAC,
+ [FACILITY_CLASS_INTERVIEWER] = TRAINER_CLASS_INTERVIEWER,
+ [FACILITY_CLASS_TUBER_F] = TRAINER_CLASS_TUBER_F,
+ [FACILITY_CLASS_TUBER_M] = TRAINER_CLASS_TUBER_M,
+ [FACILITY_CLASS_COOLTRAINER_F] = TRAINER_CLASS_COOLTRAINER,
+ [FACILITY_CLASS_LADY] = TRAINER_CLASS_LADY,
+ [FACILITY_CLASS_BEAUTY] = TRAINER_CLASS_BEAUTY,
+ [FACILITY_CLASS_RICH_BOY] = TRAINER_CLASS_RICH_BOY,
+ [FACILITY_CLASS_EXPERT_F] = TRAINER_CLASS_EXPERT,
+ [FACILITY_CLASS_POKEMANIAC] = TRAINER_CLASS_POKEMANIAC,
+ [FACILITY_CLASS_MAGMA_GRUNT_F] = TRAINER_CLASS_TEAM_MAGMA,
+ [FACILITY_CLASS_GUITARIST] = TRAINER_CLASS_GUITARIST,
+ [FACILITY_CLASS_KINDLER] = TRAINER_CLASS_KINDLER,
+ [FACILITY_CLASS_CAMPER] = TRAINER_CLASS_CAMPER,
+ [FACILITY_CLASS_PICNICKER] = TRAINER_CLASS_PICNICKER,
+ [FACILITY_CLASS_BUG_MANIAC] = TRAINER_CLASS_BUG_MANIAC,
+ [FACILITY_CLASS_PSYCHIC_M] = TRAINER_CLASS_PSYCHIC,
+ [FACILITY_CLASS_PSYCHIC_F] = TRAINER_CLASS_PSYCHIC,
+ [FACILITY_CLASS_GENTLEMAN] = TRAINER_CLASS_GENTLEMAN,
+ [FACILITY_CLASS_ELITE_FOUR_SIDNEY] = TRAINER_CLASS_ELITE_FOUR,
+ [FACILITY_CLASS_ELITE_FOUR_PHOEBE] = TRAINER_CLASS_ELITE_FOUR,
+ [FACILITY_CLASS_LEADER_ROXANNE] = TRAINER_CLASS_LEADER,
+ [FACILITY_CLASS_LEADER_BRAWLY] = TRAINER_CLASS_LEADER,
+ [FACILITY_CLASS_LEADER_TATE_AND_LIZA] = TRAINER_CLASS_LEADER,
+ [FACILITY_CLASS_SCHOOL_KID_M] = TRAINER_CLASS_SCHOOL_KID,
+ [FACILITY_CLASS_SCHOOL_KID_F] = TRAINER_CLASS_SCHOOL_KID,
+ [FACILITY_CLASS_SR_AND_JR] = TRAINER_CLASS_SR_AND_JR,
+ [FACILITY_CLASS_POKEFAN_M] = TRAINER_CLASS_POKEFAN,
+ [FACILITY_CLASS_POKEFAN_F] = TRAINER_CLASS_POKEFAN,
+ [FACILITY_CLASS_YOUNGSTER] = TRAINER_CLASS_YOUNGSTER,
+ [FACILITY_CLASS_CHAMPION_WALLACE] = TRAINER_CLASS_CHAMPION,
+ [FACILITY_CLASS_FISHERMAN] = TRAINER_CLASS_FISHERMAN,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_M] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_F] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_M] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_F] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_M] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_F] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_DRAGON_TAMER] = TRAINER_CLASS_DRAGON_TAMER,
+ [FACILITY_CLASS_NINJA_BOY] = TRAINER_CLASS_NINJA_BOY,
+ [FACILITY_CLASS_BATTLE_GIRL] = TRAINER_CLASS_BATTLE_GIRL,
+ [FACILITY_CLASS_PARASOL_LADY] = TRAINER_CLASS_PARASOL_LADY,
+ [FACILITY_CLASS_SWIMMER_F] = TRAINER_CLASS_SWIMMER_F,
+ [FACILITY_CLASS_TWINS] = TRAINER_CLASS_TWINS,
+ [FACILITY_CLASS_SAILOR] = TRAINER_CLASS_SAILOR,
+ [FACILITY_CLASS_WALLY] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_MAY] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_BRENDAN_2] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_BRENDAN_3] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_BRENDAN] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_MAY_2] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_MAY_3] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_PKMN_BREEDER_M] = TRAINER_CLASS_PKMN_BREEDER,
+ [FACILITY_CLASS_BUG_CATCHER] = TRAINER_CLASS_BUG_CATCHER,
+ [FACILITY_CLASS_PKMN_RANGER_M] = TRAINER_CLASS_PKMN_RANGER,
+ [FACILITY_CLASS_PKMN_RANGER_F] = TRAINER_CLASS_PKMN_RANGER,
+ [FACILITY_CLASS_MAGMA_LEADER_MAXIE] = TRAINER_CLASS_MAGMA_LEADER,
+ [FACILITY_CLASS_LASS] = TRAINER_CLASS_LASS,
+ [FACILITY_CLASS_YOUNG_COUPLE] = TRAINER_CLASS_YOUNG_COUPLE,
+ [FACILITY_CLASS_OLD_COUPLE] = TRAINER_CLASS_OLD_COUPLE,
+ [FACILITY_CLASS_SIS_AND_BRO] = TRAINER_CLASS_SIS_AND_BRO,
+ [FACILITY_CLASS_STEVEN] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_SALON_MAIDEN_ANABEL] = TRAINER_CLASS_SALON_MAIDEN,
+ [FACILITY_CLASS_DOME_ACE_TUCKER] = TRAINER_CLASS_DOME_ACE,
+ [FACILITY_CLASS_RED] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_LEAF] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_RS_BRENDAN] = TRAINER_CLASS_PKMN_TRAINER_4,
+ [FACILITY_CLASS_RS_MAY] = TRAINER_CLASS_PKMN_TRAINER_4,
};
-#endif //POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h
index 877bf3475..ab64c6f20 100644
--- a/src/data/pokemon_graphics/back_pic_coordinates.h
+++ b/src/data/pokemon_graphics/back_pic_coordinates.h
@@ -1,443 +1,444 @@
const struct MonCoords gMonBackPicCoords[] =
{
- {0x88, 0x00}, // SPECIES_NONE
- {0x64, 0x10}, // SPECIES_BULBASAUR
- {0x66, 0x09}, // SPECIES_IVYSAUR
- {0x87, 0x07}, // SPECIES_VENUSAUR
- {0x65, 0x0e}, // SPECIES_CHARMANDER
- {0x66, 0x09}, // SPECIES_CHARMELEON
- {0x87, 0x04}, // SPECIES_CHARIZARD
- {0x65, 0x0e}, // SPECIES_SQUIRTLE
- {0x76, 0x0a}, // SPECIES_WARTORTLE
- {0x86, 0x08}, // SPECIES_BLASTOISE
- {0x55, 0x0f}, // SPECIES_CATERPIE
- {0x65, 0x0c}, // SPECIES_METAPOD
- {0x87, 0x06}, // SPECIES_BUTTERFREE
- {0x56, 0x0b}, // SPECIES_WEEDLE
- {0x46, 0x0a}, // SPECIES_KAKUNA
- {0x86, 0x09}, // SPECIES_BEEDRILL
- {0x66, 0x08}, // SPECIES_PIDGEY
- {0x85, 0x0c}, // SPECIES_PIDGEOTTO
- {0x78, 0x02}, // SPECIES_PIDGEOT
- {0x65, 0x0d}, // SPECIES_RATTATA
- {0x75, 0x0d}, // SPECIES_RATICATE
- {0x65, 0x0c}, // SPECIES_SPEAROW
- {0x87, 0x05}, // SPECIES_FEAROW
- {0x66, 0x09}, // SPECIES_EKANS
- {0x77, 0x04}, // SPECIES_ARBOK
- {0x77, 0x07}, // SPECIES_PIKACHU
- {0x66, 0x08}, // SPECIES_RAICHU
- {0x65, 0x0d}, // SPECIES_SANDSHREW
- {0x86, 0x09}, // SPECIES_SANDSLASH
- {0x55, 0x0c}, // SPECIES_NIDORAN_F
- {0x86, 0x0a}, // SPECIES_NIDORINA
- {0x77, 0x06}, // SPECIES_NIDOQUEEN
- {0x56, 0x08}, // SPECIES_NIDORAN_M
- {0x86, 0x09}, // SPECIES_NIDORINO
- {0x88, 0x03}, // SPECIES_NIDOKING
- {0x65, 0x0d}, // SPECIES_CLEFAIRY
- {0x76, 0x0a}, // SPECIES_CLEFABLE
- {0x76, 0x09}, // SPECIES_VULPIX
- {0x77, 0x05}, // SPECIES_NINETALES
- {0x65, 0x0d}, // SPECIES_JIGGLYPUFF
- {0x66, 0x08}, // SPECIES_WIGGLYTUFF
- {0x76, 0x0b}, // SPECIES_ZUBAT
- {0x87, 0x06}, // SPECIES_GOLBAT
- {0x56, 0x0b}, // SPECIES_ODDISH
- {0x66, 0x0a}, // SPECIES_GLOOM
- {0x87, 0x07}, // SPECIES_VILEPLUME
- {0x63, 0x14}, // SPECIES_PARAS
- {0x87, 0x07}, // SPECIES_VENONAT
- {0x77, 0x06}, // SPECIES_VENOMOTH
- {0x77, 0x04}, // SPECIES_DIGLETT
- {0x54, 0x10}, // SPECIES_DUGTRIO
- {0x66, 0x0b}, // SPECIES_MEOWTH
- {0x65, 0x0c}, // SPECIES_PERSIAN
- {0x87, 0x07}, // SPECIES_PSYDUCK
- {0x67, 0x07}, // SPECIES_GOLDUCK
- {0x77, 0x05}, // SPECIES_MANKEY
- {0x76, 0x0b}, // SPECIES_PRIMEAPE
- {0x77, 0x07}, // SPECIES_GROWLITHE
- {0x66, 0x08}, // SPECIES_ARCANINE
- {0x87, 0x06}, // SPECIES_POLIWAG
- {0x74, 0x10}, // SPECIES_POLIWHIRL
- {0x65, 0x0c}, // SPECIES_POLIWRATH
- {0x86, 0x0b}, // SPECIES_ABRA
- {0x66, 0x0b}, // SPECIES_KADABRA
- {0x76, 0x08}, // SPECIES_ALAKAZAM
- {0x67, 0x05}, // SPECIES_MACHOP
- {0x65, 0x0c}, // SPECIES_MACHOKE
- {0x76, 0x09}, // SPECIES_MACHAMP
- {0x67, 0x04}, // SPECIES_BELLSPROUT
- {0x66, 0x0a}, // SPECIES_WEEPINBELL
- {0x66, 0x09}, // SPECIES_VICTREEBEL
- {0x87, 0x06}, // SPECIES_TENTACOOL
- {0x56, 0x0a}, // SPECIES_TENTACRUEL
- {0x86, 0x0b}, // SPECIES_GEODUDE
- {0x66, 0x0b}, // SPECIES_GRAVELER
- {0x75, 0x0c}, // SPECIES_GOLEM
- {0x84, 0x10}, // SPECIES_PONYTA
- {0x66, 0x09}, // SPECIES_RAPIDASH
- {0x87, 0x05}, // SPECIES_SLOWPOKE
- {0x85, 0x0e}, // SPECIES_SLOWBRO
- {0x86, 0x0a}, // SPECIES_MAGNEMITE
- {0x43, 0x14}, // SPECIES_MAGNETON
- {0x66, 0x0a}, // SPECIES_FARFETCHD
- {0x66, 0x0a}, // SPECIES_DODUO
- {0x66, 0x08}, // SPECIES_DODRIO
- {0x88, 0x01}, // SPECIES_SEEL
- {0x66, 0x0a}, // SPECIES_DEWGONG
- {0x77, 0x05}, // SPECIES_GRIMER
- {0x75, 0x0c}, // SPECIES_MUK
- {0x87, 0x05}, // SPECIES_SHELLDER
- {0x76, 0x0b}, // SPECIES_CLOYSTER
- {0x87, 0x06}, // SPECIES_GASTLY
- {0x85, 0x0e}, // SPECIES_HAUNTER
- {0x76, 0x08}, // SPECIES_GENGAR
- {0x76, 0x09}, // SPECIES_ONIX
- {0x78, 0x00}, // SPECIES_DROWZEE
- {0x65, 0x0d}, // SPECIES_HYPNO
- {0x66, 0x09}, // SPECIES_KRABBY
- {0x66, 0x0a}, // SPECIES_KINGLER
- {0x77, 0x04}, // SPECIES_VOLTORB
- {0x55, 0x0e}, // SPECIES_ELECTRODE
- {0x65, 0x0d}, // SPECIES_EXEGGCUTE
- {0x65, 0x0d}, // SPECIES_EXEGGUTOR
- {0x87, 0x04}, // SPECIES_CUBONE
- {0x66, 0x0a}, // SPECIES_MAROWAK
- {0x66, 0x08}, // SPECIES_HITMONLEE
- {0x65, 0x0c}, // SPECIES_HITMONCHAN
- {0x65, 0x0c}, // SPECIES_LICKITUNG
- {0x65, 0x0e}, // SPECIES_KOFFING
- {0x66, 0x09}, // SPECIES_WEEZING
- {0x77, 0x06}, // SPECIES_RHYHORN
- {0x85, 0x0c}, // SPECIES_RHYDON
- {0x88, 0x03}, // SPECIES_CHANSEY
- {0x86, 0x0b}, // SPECIES_TANGELA
- {0x85, 0x0e}, // SPECIES_KANGASKHAN
- {0x77, 0x05}, // SPECIES_HORSEA
- {0x66, 0x09}, // SPECIES_SEADRA
- {0x66, 0x08}, // SPECIES_GOLDEEN
- {0x66, 0x08}, // SPECIES_SEAKING
- {0x76, 0x0b}, // SPECIES_STARYU
- {0x65, 0x0d}, // SPECIES_STARMIE
- {0x85, 0x0e}, // SPECIES_MR_MIME
- {0x85, 0x0d}, // SPECIES_SCYTHER
- {0x77, 0x07}, // SPECIES_JYNX
- {0x86, 0x0a}, // SPECIES_ELECTABUZZ
- {0x66, 0x08}, // SPECIES_MAGMAR
- {0x66, 0x08}, // SPECIES_PINSIR
- {0x66, 0x09}, // SPECIES_TAUROS
- {0x85, 0x0d}, // SPECIES_MAGIKARP
- {0x76, 0x09}, // SPECIES_GYARADOS
- {0x78, 0x00}, // SPECIES_LAPRAS
- {0x77, 0x04}, // SPECIES_DITTO
- {0x54, 0x11}, // SPECIES_EEVEE
- {0x66, 0x0a}, // SPECIES_VAPOREON
- {0x66, 0x0a}, // SPECIES_JOLTEON
- {0x87, 0x06}, // SPECIES_FLAREON
- {0x67, 0x05}, // SPECIES_PORYGON
- {0x65, 0x0d}, // SPECIES_OMANYTE
- {0x66, 0x0a}, // SPECIES_OMASTAR
- {0x66, 0x08}, // SPECIES_KABUTO
- {0x65, 0x0d}, // SPECIES_KABUTOPS
- {0x77, 0x05}, // SPECIES_AERODACTYL
- {0x86, 0x08}, // SPECIES_SNORLAX
- {0x86, 0x0b}, // SPECIES_ARTICUNO
- {0x65, 0x0c}, // SPECIES_ZAPDOS
- {0x76, 0x0b}, // SPECIES_MOLTRES
- {0x87, 0x04}, // SPECIES_DRATINI
- {0x66, 0x09}, // SPECIES_DRAGONAIR
- {0x78, 0x00}, // SPECIES_DRAGONITE
- {0x87, 0x06}, // SPECIES_MEWTWO
- {0x78, 0x01}, // SPECIES_MEW
- {0x66, 0x08}, // SPECIES_CHIKORITA
- {0x56, 0x0a}, // SPECIES_BAYLEEF
- {0x66, 0x08}, // SPECIES_MEGANIUM
- {0x78, 0x00}, // SPECIES_CYNDAQUIL
- {0x76, 0x09}, // SPECIES_QUILAVA
- {0x87, 0x04}, // SPECIES_TYPHLOSION
- {0x87, 0x04}, // SPECIES_TOTODILE
- {0x66, 0x0b}, // SPECIES_CROCONAW
- {0x67, 0x07}, // SPECIES_FERALIGATR
- {0x88, 0x01}, // SPECIES_SENTRET
- {0x67, 0x05}, // SPECIES_FURRET
- {0x66, 0x08}, // SPECIES_HOOTHOOT
- {0x66, 0x08}, // SPECIES_NOCTOWL
- {0x68, 0x03}, // SPECIES_LEDYBA
- {0x76, 0x0b}, // SPECIES_LEDIAN
- {0x77, 0x07}, // SPECIES_SPINARAK
- {0x73, 0x15}, // SPECIES_ARIADOS
- {0x86, 0x0b}, // SPECIES_CROBAT
- {0x87, 0x05}, // SPECIES_CHINCHOU
- {0x86, 0x08}, // SPECIES_LANTURN
- {0x86, 0x08}, // SPECIES_PICHU
- {0x66, 0x0b}, // SPECIES_CLEFFA
- {0x65, 0x0f}, // SPECIES_IGGLYBUFF
- {0x66, 0x0b}, // SPECIES_TOGEPI
- {0x54, 0x10}, // SPECIES_TOGETIC
- {0x66, 0x08}, // SPECIES_NATU
- {0x54, 0x11}, // SPECIES_XATU
- {0x76, 0x08}, // SPECIES_MAREEP
- {0x66, 0x09}, // SPECIES_FLAAFFY
- {0x66, 0x09}, // SPECIES_AMPHAROS
- {0x88, 0x01}, // SPECIES_BELLOSSOM
- {0x66, 0x0b}, // SPECIES_MARILL
- {0x75, 0x0c}, // SPECIES_AZUMARILL
- {0x86, 0x08}, // SPECIES_SUDOWOODO
- {0x66, 0x08}, // SPECIES_POLITOED
- {0x66, 0x09}, // SPECIES_HOPPIP
- {0x66, 0x0b}, // SPECIES_SKIPLOOM
- {0x65, 0x0d}, // SPECIES_JUMPLUFF
- {0x87, 0x04}, // SPECIES_AIPOM
- {0x66, 0x09}, // SPECIES_SUNKERN
- {0x56, 0x0a}, // SPECIES_SUNFLORA
- {0x66, 0x08}, // SPECIES_YANMA
- {0x77, 0x04}, // SPECIES_WOOPER
- {0x85, 0x0f}, // SPECIES_QUAGSIRE
- {0x76, 0x08}, // SPECIES_ESPEON
- {0x76, 0x0b}, // SPECIES_UMBREON
- {0x87, 0x04}, // SPECIES_MURKROW
- {0x66, 0x09}, // SPECIES_SLOWKING
- {0x66, 0x08}, // SPECIES_MISDREAVUS
- {0x66, 0x0a}, // SPECIES_UNOWN
- {0x36, 0x08}, // SPECIES_WOBBUFFET
- {0x75, 0x0c}, // SPECIES_GIRAFARIG
- {0x87, 0x05}, // SPECIES_PINECO
- {0x65, 0x0f}, // SPECIES_FORRETRESS
- {0x84, 0x10}, // SPECIES_DUNSPARCE
- {0x85, 0x0f}, // SPECIES_GLIGAR
- {0x87, 0x05}, // SPECIES_STEELIX
- {0x88, 0x00}, // SPECIES_SNUBBULL
- {0x76, 0x0a}, // SPECIES_GRANBULL
- {0x87, 0x05}, // SPECIES_QWILFISH
- {0x77, 0x07}, // SPECIES_SCIZOR
- {0x77, 0x04}, // SPECIES_SHUCKLE
- {0x56, 0x0b}, // SPECIES_HERACROSS
- {0x77, 0x04}, // SPECIES_SNEASEL
- {0x66, 0x08}, // SPECIES_TEDDIURSA
- {0x66, 0x08}, // SPECIES_URSARING
- {0x88, 0x03}, // SPECIES_SLUGMA
- {0x66, 0x08}, // SPECIES_MAGCARGO
- {0x76, 0x09}, // SPECIES_SWINUB
- {0x63, 0x15}, // SPECIES_PILOSWINE
- {0x75, 0x0d}, // SPECIES_CORSOLA
- {0x65, 0x0c}, // SPECIES_REMORAID
- {0x75, 0x0d}, // SPECIES_OCTILLERY
- {0x66, 0x0a}, // SPECIES_DELIBIRD
- {0x67, 0x06}, // SPECIES_MANTINE
- {0x87, 0x07}, // SPECIES_SKARMORY
- {0x87, 0x04}, // SPECIES_HOUNDOUR
- {0x55, 0x0c}, // SPECIES_HOUNDOOM
- {0x87, 0x07}, // SPECIES_KINGDRA
- {0x87, 0x06}, // SPECIES_PHANPY
- {0x65, 0x0e}, // SPECIES_DONPHAN
- {0x85, 0x0d}, // SPECIES_PORYGON2
- {0x76, 0x0a}, // SPECIES_STANTLER
- {0x78, 0x03}, // SPECIES_SMEARGLE
- {0x76, 0x0a}, // SPECIES_TYROGUE
- {0x66, 0x08}, // SPECIES_HITMONTOP
- {0x87, 0x05}, // SPECIES_SMOOCHUM
- {0x56, 0x09}, // SPECIES_ELEKID
- {0x66, 0x08}, // SPECIES_MAGBY
- {0x66, 0x0b}, // SPECIES_MILTANK
- {0x87, 0x07}, // SPECIES_BLISSEY
- {0x85, 0x0d}, // SPECIES_RAIKOU
- {0x86, 0x0a}, // SPECIES_ENTEI
- {0x87, 0x06}, // SPECIES_SUICUNE
- {0x88, 0x03}, // SPECIES_LARVITAR
- {0x66, 0x08}, // SPECIES_PUPITAR
- {0x67, 0x05}, // SPECIES_TYRANITAR
- {0x88, 0x00}, // SPECIES_LUGIA
- {0x88, 0x01}, // SPECIES_HO_OH
- {0x88, 0x01}, // SPECIES_CELEBI
- {0x66, 0x08}, // SPECIES_OLD_UNOWN_B
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_C
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_D
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_E
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_F
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_G
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_H
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_I
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_J
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_K
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_L
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_M
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_N
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_O
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_P
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_Q
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_R
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_S
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_T
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_U
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_V
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_W
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_X
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_Y
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_Z
- {0x88, 0x02}, // SPECIES_TREECKO
- {0x87, 0x06}, // SPECIES_GROVYLE
- {0x86, 0x08}, // SPECIES_SCEPTILE
- {0x88, 0x01}, // SPECIES_TORCHIC
- {0x67, 0x05}, // SPECIES_COMBUSKEN
- {0x88, 0x00}, // SPECIES_BLAZIKEN
- {0x88, 0x00}, // SPECIES_MUDKIP
- {0x77, 0x05}, // SPECIES_MARSHTOMP
- {0x87, 0x04}, // SPECIES_SWAMPERT
- {0x87, 0x05}, // SPECIES_POOCHYENA
- {0x76, 0x09}, // SPECIES_MIGHTYENA
- {0x87, 0x04}, // SPECIES_ZIGZAGOON
- {0x76, 0x0b}, // SPECIES_LINOONE
- {0x85, 0x0f}, // SPECIES_WURMPLE
- {0x76, 0x0b}, // SPECIES_SILCOON
- {0x83, 0x15}, // SPECIES_BEAUTIFLY
- {0x88, 0x00}, // SPECIES_CASCOON
- {0x73, 0x14}, // SPECIES_DUSTOX
- {0x83, 0x14}, // SPECIES_LOTAD
- {0x75, 0x0f}, // SPECIES_LOMBRE
- {0x86, 0x08}, // SPECIES_LUDICOLO
- {0x86, 0x0a}, // SPECIES_SEEDOT
- {0x86, 0x09}, // SPECIES_NUZLEAF
- {0x76, 0x0a}, // SPECIES_SHIFTRY
- {0x86, 0x08}, // SPECIES_NINCADA
- {0x83, 0x14}, // SPECIES_NINJASK
- {0x86, 0x08}, // SPECIES_SHEDINJA
- {0x77, 0x06}, // SPECIES_TAILLOW
- {0x64, 0x11}, // SPECIES_SWELLOW
- {0x86, 0x08}, // SPECIES_SHROOMISH
- {0x85, 0x0d}, // SPECIES_BRELOOM
- {0x87, 0x04}, // SPECIES_SPINDA
- {0x77, 0x04}, // SPECIES_WINGULL
- {0x85, 0x0e}, // SPECIES_PELIPPER
- {0x87, 0x06}, // SPECIES_SURSKIT
- {0x86, 0x0b}, // SPECIES_MASQUERAIN
- {0x88, 0x00}, // SPECIES_WAILMER
- {0x83, 0x15}, // SPECIES_WAILORD
- {0x83, 0x16}, // SPECIES_SKITTY
- {0x86, 0x0a}, // SPECIES_DELCATTY
- {0x86, 0x08}, // SPECIES_KECLEON
- {0x87, 0x06}, // SPECIES_BALTOY
- {0x86, 0x08}, // SPECIES_CLAYDOL
- {0x87, 0x07}, // SPECIES_NOSEPASS
- {0x85, 0x0c}, // SPECIES_TORKOAL
- {0x86, 0x0a}, // SPECIES_SABLEYE
- {0x76, 0x08}, // SPECIES_BARBOACH
- {0x66, 0x0a}, // SPECIES_WHISCASH
- {0x86, 0x0a}, // SPECIES_LUVDISC
- {0x46, 0x0a}, // SPECIES_CORPHISH
- {0x77, 0x07}, // SPECIES_CRAWDAUNT
- {0x87, 0x05}, // SPECIES_FEEBAS
- {0x67, 0x07}, // SPECIES_MILOTIC
- {0x68, 0x02}, // SPECIES_CARVANHA
- {0x87, 0x07}, // SPECIES_SHARPEDO
- {0x88, 0x02}, // SPECIES_TRAPINCH
- {0x75, 0x0e}, // SPECIES_VIBRAVA
- {0x74, 0x11}, // SPECIES_FLYGON
- {0x88, 0x02}, // SPECIES_MAKUHITA
- {0x76, 0x0b}, // SPECIES_HARIYAMA
- {0x87, 0x07}, // SPECIES_ELECTRIKE
- {0x84, 0x10}, // SPECIES_MANECTRIC
- {0x87, 0x04}, // SPECIES_NUMEL
- {0x86, 0x0b}, // SPECIES_CAMERUPT
- {0x84, 0x13}, // SPECIES_SPHEAL
- {0x64, 0x12}, // SPECIES_SEALEO
- {0x86, 0x0a}, // SPECIES_WALREIN
- {0x87, 0x06}, // SPECIES_CACNEA
- {0x85, 0x0f}, // SPECIES_CACTURNE
- {0x87, 0x07}, // SPECIES_SNORUNT
- {0x76, 0x0a}, // SPECIES_GLALIE
- {0x85, 0x0c}, // SPECIES_LUNATONE
- {0x87, 0x05}, // SPECIES_SOLROCK
- {0x87, 0x05}, // SPECIES_AZURILL
- {0x86, 0x0a}, // SPECIES_SPOINK
- {0x56, 0x0b}, // SPECIES_GRUMPIG
- {0x87, 0x04}, // SPECIES_PLUSLE
- {0x76, 0x08}, // SPECIES_MINUN
- {0x76, 0x08}, // SPECIES_MAWILE
- {0x87, 0x04}, // SPECIES_MEDITITE
- {0x76, 0x0b}, // SPECIES_MEDICHAM
- {0x68, 0x03}, // SPECIES_SWABLU
- {0x86, 0x09}, // SPECIES_ALTARIA
- {0x87, 0x06}, // SPECIES_WYNAUT
- {0x77, 0x07}, // SPECIES_DUSKULL
- {0x66, 0x0b}, // SPECIES_DUSCLOPS
- {0x86, 0x08}, // SPECIES_ROSELIA
- {0x86, 0x08}, // SPECIES_SLAKOTH
- {0x85, 0x0f}, // SPECIES_VIGOROTH
- {0x86, 0x0a}, // SPECIES_SLAKING
- {0x86, 0x08}, // SPECIES_GULPIN
- {0x66, 0x0b}, // SPECIES_SWALOT
- {0x77, 0x06}, // SPECIES_TROPIUS
- {0x87, 0x07}, // SPECIES_WHISMUR
- {0x85, 0x0d}, // SPECIES_LOUDRED
- {0x86, 0x09}, // SPECIES_EXPLOUD
- {0x88, 0x03}, // SPECIES_CLAMPERL
- {0x85, 0x0d}, // SPECIES_HUNTAIL
- {0x68, 0x02}, // SPECIES_GOREBYSS
- {0x77, 0x05}, // SPECIES_ABSOL
- {0x78, 0x03}, // SPECIES_SHUPPET
- {0x77, 0x06}, // SPECIES_BANETTE
- {0x65, 0x0c}, // SPECIES_SEVIPER
- {0x88, 0x03}, // SPECIES_ZANGOOSE
- {0x88, 0x01}, // SPECIES_RELICANTH
- {0x86, 0x0a}, // SPECIES_ARON
- {0x54, 0x11}, // SPECIES_LAIRON
- {0x84, 0x11}, // SPECIES_AGGRON
- {0x87, 0x07}, // SPECIES_CASTFORM
- {0x45, 0x0d}, // SPECIES_VOLBEAT
- {0x76, 0x08}, // SPECIES_ILLUMISE
- {0x67, 0x06}, // SPECIES_LILEEP
- {0x86, 0x09}, // SPECIES_CRADILY
- {0x77, 0x04}, // SPECIES_ANORITH
- {0x83, 0x17}, // SPECIES_ARMALDO
- {0x77, 0x05}, // SPECIES_RALTS
- {0x45, 0x0d}, // SPECIES_KIRLIA
- {0x57, 0x06}, // SPECIES_GARDEVOIR
- {0x77, 0x04}, // SPECIES_BAGON
- {0x66, 0x08}, // SPECIES_SHELGON
- {0x85, 0x0d}, // SPECIES_SALAMENCE
- {0x77, 0x06}, // SPECIES_BELDUM
- {0x66, 0x0a}, // SPECIES_METANG
- {0x84, 0x10}, // SPECIES_METAGROSS
- {0x83, 0x14}, // SPECIES_REGIROCK
- {0x86, 0x0a}, // SPECIES_REGICE
- {0x85, 0x0e}, // SPECIES_REGISTEEL
- {0x85, 0x0e}, // SPECIES_KYOGRE
- {0x84, 0x13}, // SPECIES_GROUDON
- {0x87, 0x07}, // SPECIES_RAYQUAZA
- {0x78, 0x00}, // SPECIES_LATIAS
- {0x88, 0x02}, // SPECIES_LATIOS
- {0x88, 0x03}, // SPECIES_JIRACHI
- {0x87, 0x05}, // SPECIES_DEOXYS
- {0x86, 0x09}, // SPECIES_CHIMECHO
- {0x47, 0x07}, // SPECIES_EGG
- {0x36, 0x0a}, // SPECIES_UNOWN_B
- {0x56, 0x09}, // SPECIES_UNOWN_C
- {0x67, 0x06}, // SPECIES_UNOWN_D
- {0x56, 0x08}, // SPECIES_UNOWN_E
- {0x56, 0x0a}, // SPECIES_UNOWN_F
- {0x66, 0x0a}, // SPECIES_UNOWN_G
- {0x57, 0x05}, // SPECIES_UNOWN_H
- {0x66, 0x08}, // SPECIES_UNOWN_I
- {0x37, 0x07}, // SPECIES_UNOWN_J
- {0x46, 0x09}, // SPECIES_UNOWN_K
- {0x57, 0x07}, // SPECIES_UNOWN_L
- {0x46, 0x0a}, // SPECIES_UNOWN_M
- {0x65, 0x0d}, // SPECIES_UNOWN_N
- {0x65, 0x0d}, // SPECIES_UNOWN_O
- {0x66, 0x08}, // SPECIES_UNOWN_P
- {0x46, 0x0a}, // SPECIES_UNOWN_Q
- {0x55, 0x0f}, // SPECIES_UNOWN_R
- {0x45, 0x0c}, // SPECIES_UNOWN_S
- {0x57, 0x04}, // SPECIES_UNOWN_T
- {0x45, 0x0d}, // SPECIES_UNOWN_U
- {0x65, 0x0d}, // SPECIES_UNOWN_V
- {0x56, 0x0b}, // SPECIES_UNOWN_W
- {0x55, 0x0d}, // SPECIES_UNOWN_X
- {0x55, 0x0f}, // SPECIES_UNOWN_Y
- {0x46, 0x0a}, // SPECIES_UNOWN_Z
- {0x46, 0x0a}, // SPECIES_UNOWN_EMARK
- {0x37, 0x06}, // SPECIES_UNOWN_QMARK
- {0x47, 0x06},
+ [SPECIES_NONE] = {0x88, 0x00},
+ [SPECIES_BULBASAUR] = {0x64, 0x10},
+ [SPECIES_IVYSAUR] = {0x66, 0x09},
+ [SPECIES_VENUSAUR] = {0x87, 0x07},
+ [SPECIES_CHARMANDER] = {0x65, 0x0e},
+ [SPECIES_CHARMELEON] = {0x66, 0x09},
+ [SPECIES_CHARIZARD] = {0x87, 0x04},
+ [SPECIES_SQUIRTLE] = {0x65, 0x0e},
+ [SPECIES_WARTORTLE] = {0x76, 0x0a},
+ [SPECIES_BLASTOISE] = {0x86, 0x08},
+ [SPECIES_CATERPIE] = {0x55, 0x0f},
+ [SPECIES_METAPOD] = {0x65, 0x0c},
+ [SPECIES_BUTTERFREE] = {0x87, 0x06},
+ [SPECIES_WEEDLE] = {0x56, 0x0b},
+ [SPECIES_KAKUNA] = {0x46, 0x0a},
+ [SPECIES_BEEDRILL] = {0x86, 0x09},
+ [SPECIES_PIDGEY] = {0x66, 0x08},
+ [SPECIES_PIDGEOTTO] = {0x85, 0x0c},
+ [SPECIES_PIDGEOT] = {0x78, 0x02},
+ [SPECIES_RATTATA] = {0x65, 0x0d},
+ [SPECIES_RATICATE] = {0x75, 0x0d},
+ [SPECIES_SPEAROW] = {0x65, 0x0c},
+ [SPECIES_FEAROW] = {0x87, 0x05},
+ [SPECIES_EKANS] = {0x66, 0x09},
+ [SPECIES_ARBOK] = {0x77, 0x04},
+ [SPECIES_PIKACHU] = {0x77, 0x07},
+ [SPECIES_RAICHU] = {0x66, 0x08},
+ [SPECIES_SANDSHREW] = {0x65, 0x0d},
+ [SPECIES_SANDSLASH] = {0x86, 0x09},
+ [SPECIES_NIDORAN_F] = {0x55, 0x0c},
+ [SPECIES_NIDORINA] = {0x86, 0x0a},
+ [SPECIES_NIDOQUEEN] = {0x77, 0x06},
+ [SPECIES_NIDORAN_M] = {0x56, 0x08},
+ [SPECIES_NIDORINO] = {0x86, 0x09},
+ [SPECIES_NIDOKING] = {0x88, 0x03},
+ [SPECIES_CLEFAIRY] = {0x65, 0x0d},
+ [SPECIES_CLEFABLE] = {0x76, 0x0a},
+ [SPECIES_VULPIX] = {0x76, 0x09},
+ [SPECIES_NINETALES] = {0x77, 0x05},
+ [SPECIES_JIGGLYPUFF] = {0x65, 0x0d},
+ [SPECIES_WIGGLYTUFF] = {0x66, 0x08},
+ [SPECIES_ZUBAT] = {0x76, 0x0b},
+ [SPECIES_GOLBAT] = {0x87, 0x06},
+ [SPECIES_ODDISH] = {0x56, 0x0b},
+ [SPECIES_GLOOM] = {0x66, 0x0a},
+ [SPECIES_VILEPLUME] = {0x87, 0x07},
+ [SPECIES_PARAS] = {0x63, 0x14},
+ [SPECIES_PARASECT] = {0x87, 0x07},
+ [SPECIES_VENONAT] = {0x77, 0x06},
+ [SPECIES_VENOMOTH] = {0x77, 0x04},
+ [SPECIES_DIGLETT] = {0x54, 0x10},
+ [SPECIES_DUGTRIO] = {0x66, 0x0b},
+ [SPECIES_MEOWTH] = {0x65, 0x0c},
+ [SPECIES_PERSIAN] = {0x87, 0x07},
+ [SPECIES_PSYDUCK] = {0x67, 0x07},
+ [SPECIES_GOLDUCK] = {0x77, 0x05},
+ [SPECIES_MANKEY] = {0x76, 0x0b},
+ [SPECIES_PRIMEAPE] = {0x77, 0x07},
+ [SPECIES_GROWLITHE] = {0x66, 0x08},
+ [SPECIES_ARCANINE] = {0x87, 0x06},
+ [SPECIES_POLIWAG] = {0x74, 0x10},
+ [SPECIES_POLIWHIRL] = {0x65, 0x0c},
+ [SPECIES_POLIWRATH] = {0x86, 0x0b},
+ [SPECIES_ABRA] = {0x66, 0x0b},
+ [SPECIES_KADABRA] = {0x76, 0x08},
+ [SPECIES_ALAKAZAM] = {0x67, 0x05},
+ [SPECIES_MACHOP] = {0x65, 0x0c},
+ [SPECIES_MACHOKE] = {0x76, 0x09},
+ [SPECIES_MACHAMP] = {0x67, 0x04},
+ [SPECIES_BELLSPROUT] = {0x66, 0x0a},
+ [SPECIES_WEEPINBELL] = {0x66, 0x09},
+ [SPECIES_VICTREEBEL] = {0x87, 0x06},
+ [SPECIES_TENTACOOL] = {0x56, 0x0a},
+ [SPECIES_TENTACRUEL] = {0x86, 0x0b},
+ [SPECIES_GEODUDE] = {0x66, 0x0b},
+ [SPECIES_GRAVELER] = {0x75, 0x0c},
+ [SPECIES_GOLEM] = {0x84, 0x10},
+ [SPECIES_PONYTA] = {0x66, 0x09},
+ [SPECIES_RAPIDASH] = {0x87, 0x05},
+ [SPECIES_SLOWPOKE] = {0x85, 0x0e},
+ [SPECIES_SLOWBRO] = {0x86, 0x0a},
+ [SPECIES_MAGNEMITE] = {0x43, 0x14},
+ [SPECIES_MAGNETON] = {0x66, 0x0a},
+ [SPECIES_FARFETCHD] = {0x66, 0x0a},
+ [SPECIES_DODUO] = {0x66, 0x08},
+ [SPECIES_DODRIO] = {0x88, 0x01},
+ [SPECIES_SEEL] = {0x66, 0x0a},
+ [SPECIES_DEWGONG] = {0x77, 0x05},
+ [SPECIES_GRIMER] = {0x75, 0x0c},
+ [SPECIES_MUK] = {0x87, 0x05},
+ [SPECIES_SHELLDER] = {0x76, 0x0b},
+ [SPECIES_CLOYSTER] = {0x87, 0x06},
+ [SPECIES_GASTLY] = {0x85, 0x0e},
+ [SPECIES_HAUNTER] = {0x76, 0x08},
+ [SPECIES_GENGAR] = {0x76, 0x09},
+ [SPECIES_ONIX] = {0x78, 0x00},
+ [SPECIES_DROWZEE] = {0x65, 0x0d},
+ [SPECIES_HYPNO] = {0x66, 0x09},
+ [SPECIES_KRABBY] = {0x66, 0x0a},
+ [SPECIES_KINGLER] = {0x77, 0x04},
+ [SPECIES_VOLTORB] = {0x55, 0x0e},
+ [SPECIES_ELECTRODE] = {0x65, 0x0d},
+ [SPECIES_EXEGGCUTE] = {0x65, 0x0d},
+ [SPECIES_EXEGGUTOR] = {0x87, 0x04},
+ [SPECIES_CUBONE] = {0x66, 0x0a},
+ [SPECIES_MAROWAK] = {0x66, 0x08},
+ [SPECIES_HITMONLEE] = {0x65, 0x0c},
+ [SPECIES_HITMONCHAN] = {0x65, 0x0c},
+ [SPECIES_LICKITUNG] = {0x65, 0x0e},
+ [SPECIES_KOFFING] = {0x66, 0x09},
+ [SPECIES_WEEZING] = {0x77, 0x06},
+ [SPECIES_RHYHORN] = {0x85, 0x0c},
+ [SPECIES_RHYDON] = {0x88, 0x03},
+ [SPECIES_CHANSEY] = {0x86, 0x0b},
+ [SPECIES_TANGELA] = {0x85, 0x0e},
+ [SPECIES_KANGASKHAN] = {0x77, 0x05},
+ [SPECIES_HORSEA] = {0x66, 0x09},
+ [SPECIES_SEADRA] = {0x66, 0x08},
+ [SPECIES_GOLDEEN] = {0x66, 0x08},
+ [SPECIES_SEAKING] = {0x76, 0x0b},
+ [SPECIES_STARYU] = {0x65, 0x0d},
+ [SPECIES_STARMIE] = {0x85, 0x0e},
+ [SPECIES_MR_MIME] = {0x85, 0x0d},
+ [SPECIES_SCYTHER] = {0x77, 0x07},
+ [SPECIES_JYNX] = {0x86, 0x0a},
+ [SPECIES_ELECTABUZZ] = {0x66, 0x08},
+ [SPECIES_MAGMAR] = {0x66, 0x08},
+ [SPECIES_PINSIR] = {0x66, 0x09},
+ [SPECIES_TAUROS] = {0x85, 0x0d},
+ [SPECIES_MAGIKARP] = {0x76, 0x09},
+ [SPECIES_GYARADOS] = {0x78, 0x00},
+ [SPECIES_LAPRAS] = {0x77, 0x04},
+ [SPECIES_DITTO] = {0x54, 0x11},
+ [SPECIES_EEVEE] = {0x66, 0x0a},
+ [SPECIES_VAPOREON] = {0x66, 0x0a},
+ [SPECIES_JOLTEON] = {0x87, 0x06},
+ [SPECIES_FLAREON] = {0x67, 0x05},
+ [SPECIES_PORYGON] = {0x65, 0x0d},
+ [SPECIES_OMANYTE] = {0x66, 0x0a},
+ [SPECIES_OMASTAR] = {0x66, 0x08},
+ [SPECIES_KABUTO] = {0x65, 0x0d},
+ [SPECIES_KABUTOPS] = {0x77, 0x05},
+ [SPECIES_AERODACTYL] = {0x86, 0x08},
+ [SPECIES_SNORLAX] = {0x86, 0x0b},
+ [SPECIES_ARTICUNO] = {0x65, 0x0c},
+ [SPECIES_ZAPDOS] = {0x76, 0x0b},
+ [SPECIES_MOLTRES] = {0x87, 0x04},
+ [SPECIES_DRATINI] = {0x66, 0x09},
+ [SPECIES_DRAGONAIR] = {0x78, 0x00},
+ [SPECIES_DRAGONITE] = {0x87, 0x06},
+ [SPECIES_MEWTWO] = {0x78, 0x01},
+ [SPECIES_MEW] = {0x66, 0x08},
+ [SPECIES_CHIKORITA] = {0x56, 0x0a},
+ [SPECIES_BAYLEEF] = {0x66, 0x08},
+ [SPECIES_MEGANIUM] = {0x78, 0x00},
+ [SPECIES_CYNDAQUIL] = {0x76, 0x09},
+ [SPECIES_QUILAVA] = {0x87, 0x04},
+ [SPECIES_TYPHLOSION] = {0x87, 0x04},
+ [SPECIES_TOTODILE] = {0x66, 0x0b},
+ [SPECIES_CROCONAW] = {0x67, 0x07},
+ [SPECIES_FERALIGATR] = {0x88, 0x01},
+ [SPECIES_SENTRET] = {0x67, 0x05},
+ [SPECIES_FURRET] = {0x66, 0x08},
+ [SPECIES_HOOTHOOT] = {0x66, 0x08},
+ [SPECIES_NOCTOWL] = {0x68, 0x03},
+ [SPECIES_LEDYBA] = {0x76, 0x0b},
+ [SPECIES_LEDIAN] = {0x77, 0x07},
+ [SPECIES_SPINARAK] = {0x73, 0x15},
+ [SPECIES_ARIADOS] = {0x86, 0x0b},
+ [SPECIES_CROBAT] = {0x87, 0x05},
+ [SPECIES_CHINCHOU] = {0x86, 0x08},
+ [SPECIES_LANTURN] = {0x86, 0x08},
+ [SPECIES_PICHU] = {0x66, 0x0b},
+ [SPECIES_CLEFFA] = {0x65, 0x0f},
+ [SPECIES_IGGLYBUFF] = {0x66, 0x0b},
+ [SPECIES_TOGEPI] = {0x54, 0x10},
+ [SPECIES_TOGETIC] = {0x66, 0x08},
+ [SPECIES_NATU] = {0x54, 0x11},
+ [SPECIES_XATU] = {0x76, 0x08},
+ [SPECIES_MAREEP] = {0x66, 0x09},
+ [SPECIES_FLAAFFY] = {0x66, 0x09},
+ [SPECIES_AMPHAROS] = {0x88, 0x01},
+ [SPECIES_BELLOSSOM] = {0x66, 0x0b},
+ [SPECIES_MARILL] = {0x75, 0x0c},
+ [SPECIES_AZUMARILL] = {0x86, 0x08},
+ [SPECIES_SUDOWOODO] = {0x66, 0x08},
+ [SPECIES_POLITOED] = {0x66, 0x09},
+ [SPECIES_HOPPIP] = {0x66, 0x0b},
+ [SPECIES_SKIPLOOM] = {0x65, 0x0d},
+ [SPECIES_JUMPLUFF] = {0x87, 0x04},
+ [SPECIES_AIPOM] = {0x66, 0x09},
+ [SPECIES_SUNKERN] = {0x56, 0x0a},
+ [SPECIES_SUNFLORA] = {0x66, 0x08},
+ [SPECIES_YANMA] = {0x77, 0x04},
+ [SPECIES_WOOPER] = {0x85, 0x0f},
+ [SPECIES_QUAGSIRE] = {0x76, 0x08},
+ [SPECIES_ESPEON] = {0x76, 0x0b},
+ [SPECIES_UMBREON] = {0x87, 0x04},
+ [SPECIES_MURKROW] = {0x66, 0x09},
+ [SPECIES_SLOWKING] = {0x66, 0x08},
+ [SPECIES_MISDREAVUS] = {0x66, 0x0a},
+ [SPECIES_UNOWN] = {0x36, 0x08},
+ [SPECIES_WOBBUFFET] = {0x75, 0x0c},
+ [SPECIES_GIRAFARIG] = {0x87, 0x05},
+ [SPECIES_PINECO] = {0x65, 0x0f},
+ [SPECIES_FORRETRESS] = {0x84, 0x10},
+ [SPECIES_DUNSPARCE] = {0x85, 0x0f},
+ [SPECIES_GLIGAR] = {0x87, 0x05},
+ [SPECIES_STEELIX] = {0x88, 0x00},
+ [SPECIES_SNUBBULL] = {0x76, 0x0a},
+ [SPECIES_GRANBULL] = {0x87, 0x05},
+ [SPECIES_QWILFISH] = {0x77, 0x07},
+ [SPECIES_SCIZOR] = {0x77, 0x04},
+ [SPECIES_SHUCKLE] = {0x56, 0x0b},
+ [SPECIES_HERACROSS] = {0x77, 0x04},
+ [SPECIES_SNEASEL] = {0x66, 0x08},
+ [SPECIES_TEDDIURSA] = {0x66, 0x08},
+ [SPECIES_URSARING] = {0x88, 0x03},
+ [SPECIES_SLUGMA] = {0x66, 0x08},
+ [SPECIES_MAGCARGO] = {0x76, 0x09},
+ [SPECIES_SWINUB] = {0x63, 0x15},
+ [SPECIES_PILOSWINE] = {0x75, 0x0d},
+ [SPECIES_CORSOLA] = {0x65, 0x0c},
+ [SPECIES_REMORAID] = {0x75, 0x0d},
+ [SPECIES_OCTILLERY] = {0x66, 0x0a},
+ [SPECIES_DELIBIRD] = {0x67, 0x06},
+ [SPECIES_MANTINE] = {0x87, 0x07},
+ [SPECIES_SKARMORY] = {0x87, 0x04},
+ [SPECIES_HOUNDOUR] = {0x55, 0x0c},
+ [SPECIES_HOUNDOOM] = {0x87, 0x07},
+ [SPECIES_KINGDRA] = {0x87, 0x06},
+ [SPECIES_PHANPY] = {0x65, 0x0e},
+ [SPECIES_DONPHAN] = {0x85, 0x0d},
+ [SPECIES_PORYGON2] = {0x76, 0x0a},
+ [SPECIES_STANTLER] = {0x78, 0x03},
+ [SPECIES_SMEARGLE] = {0x76, 0x0a},
+ [SPECIES_TYROGUE] = {0x66, 0x08},
+ [SPECIES_HITMONTOP] = {0x87, 0x05},
+ [SPECIES_SMOOCHUM] = {0x56, 0x09},
+ [SPECIES_ELEKID] = {0x66, 0x08},
+ [SPECIES_MAGBY] = {0x66, 0x0b},
+ [SPECIES_MILTANK] = {0x87, 0x07},
+ [SPECIES_BLISSEY] = {0x85, 0x0d},
+ [SPECIES_RAIKOU] = {0x86, 0x0a},
+ [SPECIES_ENTEI] = {0x87, 0x06},
+ [SPECIES_SUICUNE] = {0x88, 0x03},
+ [SPECIES_LARVITAR] = {0x66, 0x08},
+ [SPECIES_PUPITAR] = {0x67, 0x05},
+ [SPECIES_TYRANITAR] = {0x88, 0x00},
+ [SPECIES_LUGIA] = {0x88, 0x01},
+ [SPECIES_HO_OH] = {0x88, 0x01},
+ [SPECIES_CELEBI] = {0x66, 0x08},
+ [SPECIES_OLD_UNOWN_B] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_C] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_D] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_E] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_F] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_G] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_H] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_I] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_J] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_K] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_L] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_M] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_N] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_O] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_P] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_Q] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_R] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_S] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_T] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_U] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_V] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_W] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_X] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_Y] = {0x88, 0x02},
+ [SPECIES_OLD_UNOWN_Z] = {0x88, 0x02},
+ [SPECIES_TREECKO] = {0x87, 0x06},
+ [SPECIES_GROVYLE] = {0x86, 0x08},
+ [SPECIES_SCEPTILE] = {0x88, 0x01},
+ [SPECIES_TORCHIC] = {0x67, 0x05},
+ [SPECIES_COMBUSKEN] = {0x88, 0x00},
+ [SPECIES_BLAZIKEN] = {0x88, 0x00},
+ [SPECIES_MUDKIP] = {0x77, 0x05},
+ [SPECIES_MARSHTOMP] = {0x87, 0x04},
+ [SPECIES_SWAMPERT] = {0x87, 0x05},
+ [SPECIES_POOCHYENA] = {0x76, 0x09},
+ [SPECIES_MIGHTYENA] = {0x87, 0x04},
+ [SPECIES_ZIGZAGOON] = {0x76, 0x0b},
+ [SPECIES_LINOONE] = {0x85, 0x0f},
+ [SPECIES_WURMPLE] = {0x76, 0x0b},
+ [SPECIES_SILCOON] = {0x83, 0x15},
+ [SPECIES_BEAUTIFLY] = {0x88, 0x00},
+ [SPECIES_CASCOON] = {0x73, 0x14},
+ [SPECIES_DUSTOX] = {0x83, 0x14},
+ [SPECIES_LOTAD] = {0x75, 0x0f},
+ [SPECIES_LOMBRE] = {0x86, 0x08},
+ [SPECIES_LUDICOLO] = {0x86, 0x0a},
+ [SPECIES_SEEDOT] = {0x86, 0x09},
+ [SPECIES_NUZLEAF] = {0x76, 0x0a},
+ [SPECIES_SHIFTRY] = {0x86, 0x08},
+ [SPECIES_NINCADA] = {0x83, 0x14},
+ [SPECIES_NINJASK] = {0x86, 0x08},
+ [SPECIES_SHEDINJA] = {0x77, 0x06},
+ [SPECIES_TAILLOW] = {0x64, 0x11},
+ [SPECIES_SWELLOW] = {0x86, 0x08},
+ [SPECIES_SHROOMISH] = {0x85, 0x0d},
+ [SPECIES_BRELOOM] = {0x87, 0x04},
+ [SPECIES_SPINDA] = {0x77, 0x04},
+ [SPECIES_WINGULL] = {0x85, 0x0e},
+ [SPECIES_PELIPPER] = {0x87, 0x06},
+ [SPECIES_SURSKIT] = {0x86, 0x0b},
+ [SPECIES_MASQUERAIN] = {0x88, 0x00},
+ [SPECIES_WAILMER] = {0x83, 0x15},
+ [SPECIES_WAILORD] = {0x83, 0x16},
+ [SPECIES_SKITTY] = {0x86, 0x0a},
+ [SPECIES_DELCATTY] = {0x86, 0x08},
+ [SPECIES_KECLEON] = {0x87, 0x06},
+ [SPECIES_BALTOY] = {0x86, 0x08},
+ [SPECIES_CLAYDOL] = {0x87, 0x07},
+ [SPECIES_NOSEPASS] = {0x85, 0x0c},
+ [SPECIES_TORKOAL] = {0x86, 0x0a},
+ [SPECIES_SABLEYE] = {0x76, 0x08},
+ [SPECIES_BARBOACH] = {0x66, 0x0a},
+ [SPECIES_WHISCASH] = {0x86, 0x0a},
+ [SPECIES_LUVDISC] = {0x46, 0x0a},
+ [SPECIES_CORPHISH] = {0x77, 0x07},
+ [SPECIES_CRAWDAUNT] = {0x87, 0x05},
+ [SPECIES_FEEBAS] = {0x67, 0x07},
+ [SPECIES_MILOTIC] = {0x68, 0x02},
+ [SPECIES_CARVANHA] = {0x87, 0x07},
+ [SPECIES_SHARPEDO] = {0x88, 0x02},
+ [SPECIES_TRAPINCH] = {0x75, 0x0e},
+ [SPECIES_VIBRAVA] = {0x74, 0x11},
+ [SPECIES_FLYGON] = {0x88, 0x02},
+ [SPECIES_MAKUHITA] = {0x76, 0x0b},
+ [SPECIES_HARIYAMA] = {0x87, 0x07},
+ [SPECIES_ELECTRIKE] = {0x84, 0x10},
+ [SPECIES_MANECTRIC] = {0x87, 0x04},
+ [SPECIES_NUMEL] = {0x86, 0x0b},
+ [SPECIES_CAMERUPT] = {0x84, 0x13},
+ [SPECIES_SPHEAL] = {0x64, 0x12},
+ [SPECIES_SEALEO] = {0x86, 0x0a},
+ [SPECIES_WALREIN] = {0x87, 0x06},
+ [SPECIES_CACNEA] = {0x85, 0x0f},
+ [SPECIES_CACTURNE] = {0x87, 0x07},
+ [SPECIES_SNORUNT] = {0x76, 0x0a},
+ [SPECIES_GLALIE] = {0x85, 0x0c},
+ [SPECIES_LUNATONE] = {0x87, 0x05},
+ [SPECIES_SOLROCK] = {0x87, 0x05},
+ [SPECIES_AZURILL] = {0x86, 0x0a},
+ [SPECIES_SPOINK] = {0x56, 0x0b},
+ [SPECIES_GRUMPIG] = {0x87, 0x04},
+ [SPECIES_PLUSLE] = {0x76, 0x08},
+ [SPECIES_MINUN] = {0x76, 0x08},
+ [SPECIES_MAWILE] = {0x87, 0x04},
+ [SPECIES_MEDITITE] = {0x76, 0x0b},
+ [SPECIES_MEDICHAM] = {0x68, 0x03},
+ [SPECIES_SWABLU] = {0x86, 0x09},
+ [SPECIES_ALTARIA] = {0x87, 0x06},
+ [SPECIES_WYNAUT] = {0x77, 0x07},
+ [SPECIES_DUSKULL] = {0x66, 0x0b},
+ [SPECIES_DUSCLOPS] = {0x86, 0x08},
+ [SPECIES_ROSELIA] = {0x86, 0x08},
+ [SPECIES_SLAKOTH] = {0x85, 0x0f},
+ [SPECIES_VIGOROTH] = {0x86, 0x0a},
+ [SPECIES_SLAKING] = {0x86, 0x08},
+ [SPECIES_GULPIN] = {0x66, 0x0b},
+ [SPECIES_SWALOT] = {0x77, 0x06},
+ [SPECIES_TROPIUS] = {0x87, 0x07},
+ [SPECIES_WHISMUR] = {0x85, 0x0d},
+ [SPECIES_LOUDRED] = {0x86, 0x09},
+ [SPECIES_EXPLOUD] = {0x88, 0x03},
+ [SPECIES_CLAMPERL] = {0x85, 0x0d},
+ [SPECIES_HUNTAIL] = {0x68, 0x02},
+ [SPECIES_GOREBYSS] = {0x77, 0x05},
+ [SPECIES_ABSOL] = {0x78, 0x03},
+ [SPECIES_SHUPPET] = {0x77, 0x06},
+ [SPECIES_BANETTE] = {0x65, 0x0c},
+ [SPECIES_SEVIPER] = {0x88, 0x03},
+ [SPECIES_ZANGOOSE] = {0x88, 0x01},
+ [SPECIES_RELICANTH] = {0x86, 0x0a},
+ [SPECIES_ARON] = {0x54, 0x11},
+ [SPECIES_LAIRON] = {0x84, 0x11},
+ [SPECIES_AGGRON] = {0x87, 0x07},
+ [SPECIES_CASTFORM] = {0x45, 0x0d},
+ [SPECIES_VOLBEAT] = {0x76, 0x08},
+ [SPECIES_ILLUMISE] = {0x67, 0x06},
+ [SPECIES_LILEEP] = {0x86, 0x09},
+ [SPECIES_CRADILY] = {0x77, 0x04},
+ [SPECIES_ANORITH] = {0x83, 0x17},
+ [SPECIES_ARMALDO] = {0x77, 0x05},
+ [SPECIES_RALTS] = {0x45, 0x0d},
+ [SPECIES_KIRLIA] = {0x57, 0x06},
+ [SPECIES_GARDEVOIR] = {0x77, 0x04},
+ [SPECIES_BAGON] = {0x66, 0x08},
+ [SPECIES_SHELGON] = {0x85, 0x0d},
+ [SPECIES_SALAMENCE] = {0x77, 0x06},
+ [SPECIES_BELDUM] = {0x66, 0x0a},
+ [SPECIES_METANG] = {0x84, 0x10},
+ [SPECIES_METAGROSS] = {0x83, 0x14},
+ [SPECIES_REGIROCK] = {0x86, 0x0a},
+ [SPECIES_REGICE] = {0x85, 0x0e},
+ [SPECIES_REGISTEEL] = {0x85, 0x0e},
+ [SPECIES_KYOGRE] = {0x84, 0x13},
+ [SPECIES_GROUDON] = {0x87, 0x07},
+ [SPECIES_RAYQUAZA] = {0x78, 0x00},
+ [SPECIES_LATIAS] = {0x88, 0x02},
+ [SPECIES_LATIOS] = {0x88, 0x03},
+ [SPECIES_JIRACHI] = {0x87, 0x05},
+ [SPECIES_DEOXYS] = {0x86, 0x09},
+ [SPECIES_CHIMECHO] = {0x47, 0x07},
+ [SPECIES_EGG] = {0x36, 0x0a},
+ [SPECIES_UNOWN_B] = {0x56, 0x09},
+ [SPECIES_UNOWN_C] = {0x67, 0x06},
+ [SPECIES_UNOWN_D] = {0x56, 0x08},
+ [SPECIES_UNOWN_E] = {0x56, 0x0a},
+ [SPECIES_UNOWN_F] = {0x66, 0x0a},
+ [SPECIES_UNOWN_G] = {0x57, 0x05},
+ [SPECIES_UNOWN_H] = {0x66, 0x08},
+ [SPECIES_UNOWN_I] = {0x37, 0x07},
+ [SPECIES_UNOWN_J] = {0x46, 0x09},
+ [SPECIES_UNOWN_K] = {0x57, 0x07},
+ [SPECIES_UNOWN_L] = {0x46, 0x0a},
+ [SPECIES_UNOWN_M] = {0x65, 0x0d},
+ [SPECIES_UNOWN_N] = {0x65, 0x0d},
+ [SPECIES_UNOWN_O] = {0x66, 0x08},
+ [SPECIES_UNOWN_P] = {0x46, 0x0a},
+ [SPECIES_UNOWN_Q] = {0x55, 0x0f},
+ [SPECIES_UNOWN_R] = {0x45, 0x0c},
+ [SPECIES_UNOWN_S] = {0x57, 0x04},
+ [SPECIES_UNOWN_T] = {0x45, 0x0d},
+ [SPECIES_UNOWN_U] = {0x65, 0x0d},
+ [SPECIES_UNOWN_V] = {0x56, 0x0b},
+ [SPECIES_UNOWN_W] = {0x55, 0x0d},
+ [SPECIES_UNOWN_X] = {0x55, 0x0f},
+ [SPECIES_UNOWN_Y] = {0x46, 0x0a},
+ [SPECIES_UNOWN_Z] = {0x46, 0x0a},
+ [SPECIES_UNOWN_EMARK] = {0x37, 0x06},
+ [SPECIES_UNOWN_QMARK] = {0x47, 0x06},
};
+
diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h
index 7426a8dc4..c6fd1300b 100644
--- a/src/data/pokemon_graphics/back_pic_table.h
+++ b/src/data/pokemon_graphics/back_pic_table.h
@@ -1,443 +1,444 @@
const struct CompressedSpriteSheet gMonBackPicTable[] =
{
- gMonBackPic_CircledQuestionMark, 0x800, 0,
- gMonBackPic_Bulbasaur, 0x800, 1,
- gMonBackPic_Ivysaur, 0x800, 2,
- gMonBackPic_Venusaur, 0x800, 3,
- gMonBackPic_Charmander, 0x800, 4,
- gMonBackPic_Charmeleon, 0x800, 5,
- gMonBackPic_Charizard, 0x800, 6,
- gMonBackPic_Squirtle, 0x800, 7,
- gMonBackPic_Wartortle, 0x800, 8,
- gMonBackPic_Blastoise, 0x800, 9,
- gMonBackPic_Caterpie, 0x800, 10,
- gMonBackPic_Metapod, 0x800, 11,
- gMonBackPic_Butterfree, 0x800, 12,
- gMonBackPic_Weedle, 0x800, 13,
- gMonBackPic_Kakuna, 0x800, 14,
- gMonBackPic_Beedrill, 0x800, 15,
- gMonBackPic_Pidgey, 0x800, 16,
- gMonBackPic_Pidgeotto, 0x800, 17,
- gMonBackPic_Pidgeot, 0x800, 18,
- gMonBackPic_Rattata, 0x800, 19,
- gMonBackPic_Raticate, 0x800, 20,
- gMonBackPic_Spearow, 0x800, 21,
- gMonBackPic_Fearow, 0x800, 22,
- gMonBackPic_Ekans, 0x800, 23,
- gMonBackPic_Arbok, 0x800, 24,
- gMonBackPic_Pikachu, 0x800, 25,
- gMonBackPic_Raichu, 0x800, 26,
- gMonBackPic_Sandshrew, 0x800, 27,
- gMonBackPic_Sandslash, 0x800, 28,
- gMonBackPic_NidoranF, 0x800, 29,
- gMonBackPic_Nidorina, 0x800, 30,
- gMonBackPic_Nidoqueen, 0x800, 31,
- gMonBackPic_NidoranM, 0x800, 32,
- gMonBackPic_Nidorino, 0x800, 33,
- gMonBackPic_Nidoking, 0x800, 34,
- gMonBackPic_Clefairy, 0x800, 35,
- gMonBackPic_Clefable, 0x800, 36,
- gMonBackPic_Vulpix, 0x800, 37,
- gMonBackPic_Ninetales, 0x800, 38,
- gMonBackPic_Jigglypuff, 0x800, 39,
- gMonBackPic_Wigglytuff, 0x800, 40,
- gMonBackPic_Zubat, 0x800, 41,
- gMonBackPic_Golbat, 0x800, 42,
- gMonBackPic_Oddish, 0x800, 43,
- gMonBackPic_Gloom, 0x800, 44,
- gMonBackPic_Vileplume, 0x800, 45,
- gMonBackPic_Paras, 0x800, 46,
- gMonBackPic_Parasect, 0x800, 47,
- gMonBackPic_Venonat, 0x800, 48,
- gMonBackPic_Venomoth, 0x800, 49,
- gMonBackPic_Diglett, 0x800, 50,
- gMonBackPic_Dugtrio, 0x800, 51,
- gMonBackPic_Meowth, 0x800, 52,
- gMonBackPic_Persian, 0x800, 53,
- gMonBackPic_Psyduck, 0x800, 54,
- gMonBackPic_Golduck, 0x800, 55,
- gMonBackPic_Mankey, 0x800, 56,
- gMonBackPic_Primeape, 0x800, 57,
- gMonBackPic_Growlithe, 0x800, 58,
- gMonBackPic_Arcanine, 0x800, 59,
- gMonBackPic_Poliwag, 0x800, 60,
- gMonBackPic_Poliwhirl, 0x800, 61,
- gMonBackPic_Poliwrath, 0x800, 62,
- gMonBackPic_Abra, 0x800, 63,
- gMonBackPic_Kadabra, 0x800, 64,
- gMonBackPic_Alakazam, 0x800, 65,
- gMonBackPic_Machop, 0x800, 66,
- gMonBackPic_Machoke, 0x800, 67,
- gMonBackPic_Machamp, 0x800, 68,
- gMonBackPic_Bellsprout, 0x800, 69,
- gMonBackPic_Weepinbell, 0x800, 70,
- gMonBackPic_Victreebel, 0x800, 71,
- gMonBackPic_Tentacool, 0x800, 72,
- gMonBackPic_Tentacruel, 0x800, 73,
- gMonBackPic_Geodude, 0x800, 74,
- gMonBackPic_Graveler, 0x800, 75,
- gMonBackPic_Golem, 0x800, 76,
- gMonBackPic_Ponyta, 0x800, 77,
- gMonBackPic_Rapidash, 0x800, 78,
- gMonBackPic_Slowpoke, 0x800, 79,
- gMonBackPic_Slowbro, 0x800, 80,
- gMonBackPic_Magnemite, 0x800, 81,
- gMonBackPic_Magneton, 0x800, 82,
- gMonBackPic_Farfetchd, 0x800, 83,
- gMonBackPic_Doduo, 0x800, 84,
- gMonBackPic_Dodrio, 0x800, 85,
- gMonBackPic_Seel, 0x800, 86,
- gMonBackPic_Dewgong, 0x800, 87,
- gMonBackPic_Grimer, 0x800, 88,
- gMonBackPic_Muk, 0x800, 89,
- gMonBackPic_Shellder, 0x800, 90,
- gMonBackPic_Cloyster, 0x800, 91,
- gMonBackPic_Gastly, 0x800, 92,
- gMonBackPic_Haunter, 0x800, 93,
- gMonBackPic_Gengar, 0x800, 94,
- gMonBackPic_Onix, 0x800, 95,
- gMonBackPic_Drowzee, 0x800, 96,
- gMonBackPic_Hypno, 0x800, 97,
- gMonBackPic_Krabby, 0x800, 98,
- gMonBackPic_Kingler, 0x800, 99,
- gMonBackPic_Voltorb, 0x800, 100,
- gMonBackPic_Electrode, 0x800, 101,
- gMonBackPic_Exeggcute, 0x800, 102,
- gMonBackPic_Exeggutor, 0x800, 103,
- gMonBackPic_Cubone, 0x800, 104,
- gMonBackPic_Marowak, 0x800, 105,
- gMonBackPic_Hitmonlee, 0x800, 106,
- gMonBackPic_Hitmonchan, 0x800, 107,
- gMonBackPic_Lickitung, 0x800, 108,
- gMonBackPic_Koffing, 0x800, 109,
- gMonBackPic_Weezing, 0x800, 110,
- gMonBackPic_Rhyhorn, 0x800, 111,
- gMonBackPic_Rhydon, 0x800, 112,
- gMonBackPic_Chansey, 0x800, 113,
- gMonBackPic_Tangela, 0x800, 114,
- gMonBackPic_Kangaskhan, 0x800, 115,
- gMonBackPic_Horsea, 0x800, 116,
- gMonBackPic_Seadra, 0x800, 117,
- gMonBackPic_Goldeen, 0x800, 118,
- gMonBackPic_Seaking, 0x800, 119,
- gMonBackPic_Staryu, 0x800, 120,
- gMonBackPic_Starmie, 0x800, 121,
- gMonBackPic_Mrmime, 0x800, 122,
- gMonBackPic_Scyther, 0x800, 123,
- gMonBackPic_Jynx, 0x800, 124,
- gMonBackPic_Electabuzz, 0x800, 125,
- gMonBackPic_Magmar, 0x800, 126,
- gMonBackPic_Pinsir, 0x800, 127,
- gMonBackPic_Tauros, 0x800, 128,
- gMonBackPic_Magikarp, 0x800, 129,
- gMonBackPic_Gyarados, 0x800, 130,
- gMonBackPic_Lapras, 0x800, 131,
- gMonBackPic_Ditto, 0x800, 132,
- gMonBackPic_Eevee, 0x800, 133,
- gMonBackPic_Vaporeon, 0x800, 134,
- gMonBackPic_Jolteon, 0x800, 135,
- gMonBackPic_Flareon, 0x800, 136,
- gMonBackPic_Porygon, 0x800, 137,
- gMonBackPic_Omanyte, 0x800, 138,
- gMonBackPic_Omastar, 0x800, 139,
- gMonBackPic_Kabuto, 0x800, 140,
- gMonBackPic_Kabutops, 0x800, 141,
- gMonBackPic_Aerodactyl, 0x800, 142,
- gMonBackPic_Snorlax, 0x800, 143,
- gMonBackPic_Articuno, 0x800, 144,
- gMonBackPic_Zapdos, 0x800, 145,
- gMonBackPic_Moltres, 0x800, 146,
- gMonBackPic_Dratini, 0x800, 147,
- gMonBackPic_Dragonair, 0x800, 148,
- gMonBackPic_Dragonite, 0x800, 149,
- gMonBackPic_Mewtwo, 0x800, 150,
- gMonBackPic_Mew, 0x800, 151,
- gMonBackPic_Chikorita, 0x800, 152,
- gMonBackPic_Bayleef, 0x800, 153,
- gMonBackPic_Meganium, 0x800, 154,
- gMonBackPic_Cyndaquil, 0x800, 155,
- gMonBackPic_Quilava, 0x800, 156,
- gMonBackPic_Typhlosion, 0x800, 157,
- gMonBackPic_Totodile, 0x800, 158,
- gMonBackPic_Croconaw, 0x800, 159,
- gMonBackPic_Feraligatr, 0x800, 160,
- gMonBackPic_Sentret, 0x800, 161,
- gMonBackPic_Furret, 0x800, 162,
- gMonBackPic_Hoothoot, 0x800, 163,
- gMonBackPic_Noctowl, 0x800, 164,
- gMonBackPic_Ledyba, 0x800, 165,
- gMonBackPic_Ledian, 0x800, 166,
- gMonBackPic_Spinarak, 0x800, 167,
- gMonBackPic_Ariados, 0x800, 168,
- gMonBackPic_Crobat, 0x800, 169,
- gMonBackPic_Chinchou, 0x800, 170,
- gMonBackPic_Lanturn, 0x800, 171,
- gMonBackPic_Pichu, 0x800, 172,
- gMonBackPic_Cleffa, 0x800, 173,
- gMonBackPic_Igglybuff, 0x800, 174,
- gMonBackPic_Togepi, 0x800, 175,
- gMonBackPic_Togetic, 0x800, 176,
- gMonBackPic_Natu, 0x800, 177,
- gMonBackPic_Xatu, 0x800, 178,
- gMonBackPic_Mareep, 0x800, 179,
- gMonBackPic_Flaaffy, 0x800, 180,
- gMonBackPic_Ampharos, 0x800, 181,
- gMonBackPic_Bellossom, 0x800, 182,
- gMonBackPic_Marill, 0x800, 183,
- gMonBackPic_Azumarill, 0x800, 184,
- gMonBackPic_Sudowoodo, 0x800, 185,
- gMonBackPic_Politoed, 0x800, 186,
- gMonBackPic_Hoppip, 0x800, 187,
- gMonBackPic_Skiploom, 0x800, 188,
- gMonBackPic_Jumpluff, 0x800, 189,
- gMonBackPic_Aipom, 0x800, 190,
- gMonBackPic_Sunkern, 0x800, 191,
- gMonBackPic_Sunflora, 0x800, 192,
- gMonBackPic_Yanma, 0x800, 193,
- gMonBackPic_Wooper, 0x800, 194,
- gMonBackPic_Quagsire, 0x800, 195,
- gMonBackPic_Espeon, 0x800, 196,
- gMonBackPic_Umbreon, 0x800, 197,
- gMonBackPic_Murkrow, 0x800, 198,
- gMonBackPic_Slowking, 0x800, 199,
- gMonBackPic_Misdreavus, 0x800, 200,
- gMonBackPic_UnownA, 0x800, 201,
- gMonBackPic_Wobbuffet, 0x800, 202,
- gMonBackPic_Girafarig, 0x800, 203,
- gMonBackPic_Pineco, 0x800, 204,
- gMonBackPic_Forretress, 0x800, 205,
- gMonBackPic_Dunsparce, 0x800, 206,
- gMonBackPic_Gligar, 0x800, 207,
- gMonBackPic_Steelix, 0x800, 208,
- gMonBackPic_Snubbull, 0x800, 209,
- gMonBackPic_Granbull, 0x800, 210,
- gMonBackPic_Qwilfish, 0x800, 211,
- gMonBackPic_Scizor, 0x800, 212,
- gMonBackPic_Shuckle, 0x800, 213,
- gMonBackPic_Heracross, 0x800, 214,
- gMonBackPic_Sneasel, 0x800, 215,
- gMonBackPic_Teddiursa, 0x800, 216,
- gMonBackPic_Ursaring, 0x800, 217,
- gMonBackPic_Slugma, 0x800, 218,
- gMonBackPic_Magcargo, 0x800, 219,
- gMonBackPic_Swinub, 0x800, 220,
- gMonBackPic_Piloswine, 0x800, 221,
- gMonBackPic_Corsola, 0x800, 222,
- gMonBackPic_Remoraid, 0x800, 223,
- gMonBackPic_Octillery, 0x800, 224,
- gMonBackPic_Delibird, 0x800, 225,
- gMonBackPic_Mantine, 0x800, 226,
- gMonBackPic_Skarmory, 0x800, 227,
- gMonBackPic_Houndour, 0x800, 228,
- gMonBackPic_Houndoom, 0x800, 229,
- gMonBackPic_Kingdra, 0x800, 230,
- gMonBackPic_Phanpy, 0x800, 231,
- gMonBackPic_Donphan, 0x800, 232,
- gMonBackPic_Porygon2, 0x800, 233,
- gMonBackPic_Stantler, 0x800, 234,
- gMonBackPic_Smeargle, 0x800, 235,
- gMonBackPic_Tyrogue, 0x800, 236,
- gMonBackPic_Hitmontop, 0x800, 237,
- gMonBackPic_Smoochum, 0x800, 238,
- gMonBackPic_Elekid, 0x800, 239,
- gMonBackPic_Magby, 0x800, 240,
- gMonBackPic_Miltank, 0x800, 241,
- gMonBackPic_Blissey, 0x800, 242,
- gMonBackPic_Raikou, 0x800, 243,
- gMonBackPic_Entei, 0x800, 244,
- gMonBackPic_Suicune, 0x800, 245,
- gMonBackPic_Larvitar, 0x800, 246,
- gMonBackPic_Pupitar, 0x800, 247,
- gMonBackPic_Tyranitar, 0x800, 248,
- gMonBackPic_Lugia, 0x800, 249,
- gMonBackPic_HoOh, 0x800, 250,
- gMonBackPic_Celebi, 0x800, 251,
- gMonBackPic_DoubleQuestionMark, 0x800, 252,
- gMonBackPic_DoubleQuestionMark, 0x800, 253,
- gMonBackPic_DoubleQuestionMark, 0x800, 254,
- gMonBackPic_DoubleQuestionMark, 0x800, 255,
- gMonBackPic_DoubleQuestionMark, 0x800, 256,
- gMonBackPic_DoubleQuestionMark, 0x800, 257,
- gMonBackPic_DoubleQuestionMark, 0x800, 258,
- gMonBackPic_DoubleQuestionMark, 0x800, 259,
- gMonBackPic_DoubleQuestionMark, 0x800, 260,
- gMonBackPic_DoubleQuestionMark, 0x800, 261,
- gMonBackPic_DoubleQuestionMark, 0x800, 262,
- gMonBackPic_DoubleQuestionMark, 0x800, 263,
- gMonBackPic_DoubleQuestionMark, 0x800, 264,
- gMonBackPic_DoubleQuestionMark, 0x800, 265,
- gMonBackPic_DoubleQuestionMark, 0x800, 266,
- gMonBackPic_DoubleQuestionMark, 0x800, 267,
- gMonBackPic_DoubleQuestionMark, 0x800, 268,
- gMonBackPic_DoubleQuestionMark, 0x800, 269,
- gMonBackPic_DoubleQuestionMark, 0x800, 270,
- gMonBackPic_DoubleQuestionMark, 0x800, 271,
- gMonBackPic_DoubleQuestionMark, 0x800, 272,
- gMonBackPic_DoubleQuestionMark, 0x800, 273,
- gMonBackPic_DoubleQuestionMark, 0x800, 274,
- gMonBackPic_DoubleQuestionMark, 0x800, 275,
- gMonBackPic_DoubleQuestionMark, 0x800, 276,
- gMonBackPic_Treecko, 0x800, 277,
- gMonBackPic_Grovyle, 0x800, 278,
- gMonBackPic_Sceptile, 0x800, 279,
- gMonBackPic_Torchic, 0x800, 280,
- gMonBackPic_Combusken, 0x800, 281,
- gMonBackPic_Blaziken, 0x800, 282,
- gMonBackPic_Mudkip, 0x800, 283,
- gMonBackPic_Marshtomp, 0x800, 284,
- gMonBackPic_Swampert, 0x800, 285,
- gMonBackPic_Poochyena, 0x800, 286,
- gMonBackPic_Mightyena, 0x800, 287,
- gMonBackPic_Zigzagoon, 0x800, 288,
- gMonBackPic_Linoone, 0x800, 289,
- gMonBackPic_Wurmple, 0x800, 290,
- gMonBackPic_Silcoon, 0x800, 291,
- gMonBackPic_Beautifly, 0x800, 292,
- gMonBackPic_Cascoon, 0x800, 293,
- gMonBackPic_Dustox, 0x800, 294,
- gMonBackPic_Lotad, 0x800, 295,
- gMonBackPic_Lombre, 0x800, 296,
- gMonBackPic_Ludicolo, 0x800, 297,
- gMonBackPic_Seedot, 0x800, 298,
- gMonBackPic_Nuzleaf, 0x800, 299,
- gMonBackPic_Shiftry, 0x800, 300,
- gMonBackPic_Nincada, 0x800, 301,
- gMonBackPic_Ninjask, 0x800, 302,
- gMonBackPic_Shedinja, 0x800, 303,
- gMonBackPic_Taillow, 0x800, 304,
- gMonBackPic_Swellow, 0x800, 305,
- gMonBackPic_Shroomish, 0x800, 306,
- gMonBackPic_Breloom, 0x800, 307,
- gMonBackPic_Spinda, 0x800, 308,
- gMonBackPic_Wingull, 0x800, 309,
- gMonBackPic_Pelipper, 0x800, 310,
- gMonBackPic_Surskit, 0x800, 311,
- gMonBackPic_Masquerain, 0x800, 312,
- gMonBackPic_Wailmer, 0x800, 313,
- gMonBackPic_Wailord, 0x800, 314,
- gMonBackPic_Skitty, 0x800, 315,
- gMonBackPic_Delcatty, 0x800, 316,
- gMonBackPic_Kecleon, 0x800, 317,
- gMonBackPic_Baltoy, 0x800, 318,
- gMonBackPic_Claydol, 0x800, 319,
- gMonBackPic_Nosepass, 0x800, 320,
- gMonBackPic_Torkoal, 0x800, 321,
- gMonBackPic_Sableye, 0x800, 322,
- gMonBackPic_Barboach, 0x800, 323,
- gMonBackPic_Whiscash, 0x800, 324,
- gMonBackPic_Luvdisc, 0x800, 325,
- gMonBackPic_Corphish, 0x800, 326,
- gMonBackPic_Crawdaunt, 0x800, 327,
- gMonBackPic_Feebas, 0x800, 328,
- gMonBackPic_Milotic, 0x800, 329,
- gMonBackPic_Carvanha, 0x800, 330,
- gMonBackPic_Sharpedo, 0x800, 331,
- gMonBackPic_Trapinch, 0x800, 332,
- gMonBackPic_Vibrava, 0x800, 333,
- gMonBackPic_Flygon, 0x800, 334,
- gMonBackPic_Makuhita, 0x800, 335,
- gMonBackPic_Hariyama, 0x800, 336,
- gMonBackPic_Electrike, 0x800, 337,
- gMonBackPic_Manectric, 0x800, 338,
- gMonBackPic_Numel, 0x800, 339,
- gMonBackPic_Camerupt, 0x800, 340,
- gMonBackPic_Spheal, 0x800, 341,
- gMonBackPic_Sealeo, 0x800, 342,
- gMonBackPic_Walrein, 0x800, 343,
- gMonBackPic_Cacnea, 0x800, 344,
- gMonBackPic_Cacturne, 0x800, 345,
- gMonBackPic_Snorunt, 0x800, 346,
- gMonBackPic_Glalie, 0x800, 347,
- gMonBackPic_Lunatone, 0x800, 348,
- gMonBackPic_Solrock, 0x800, 349,
- gMonBackPic_Azurill, 0x800, 350,
- gMonBackPic_Spoink, 0x800, 351,
- gMonBackPic_Grumpig, 0x800, 352,
- gMonBackPic_Plusle, 0x800, 353,
- gMonBackPic_Minun, 0x800, 354,
- gMonBackPic_Mawile, 0x800, 355,
- gMonBackPic_Meditite, 0x800, 356,
- gMonBackPic_Medicham, 0x800, 357,
- gMonBackPic_Swablu, 0x800, 358,
- gMonBackPic_Altaria, 0x800, 359,
- gMonBackPic_Wynaut, 0x800, 360,
- gMonBackPic_Duskull, 0x800, 361,
- gMonBackPic_Dusclops, 0x800, 362,
- gMonBackPic_Roselia, 0x800, 363,
- gMonBackPic_Slakoth, 0x800, 364,
- gMonBackPic_Vigoroth, 0x800, 365,
- gMonBackPic_Slaking, 0x800, 366,
- gMonBackPic_Gulpin, 0x800, 367,
- gMonBackPic_Swalot, 0x800, 368,
- gMonBackPic_Tropius, 0x800, 369,
- gMonBackPic_Whismur, 0x800, 370,
- gMonBackPic_Loudred, 0x800, 371,
- gMonBackPic_Exploud, 0x800, 372,
- gMonBackPic_Clamperl, 0x800, 373,
- gMonBackPic_Huntail, 0x800, 374,
- gMonBackPic_Gorebyss, 0x800, 375,
- gMonBackPic_Absol, 0x800, 376,
- gMonBackPic_Shuppet, 0x800, 377,
- gMonBackPic_Banette, 0x800, 378,
- gMonBackPic_Seviper, 0x800, 379,
- gMonBackPic_Zangoose, 0x800, 380,
- gMonBackPic_Relicanth, 0x800, 381,
- gMonBackPic_Aron, 0x800, 382,
- gMonBackPic_Lairon, 0x800, 383,
- gMonBackPic_Aggron, 0x800, 384,
- gMonBackPic_Castform, 0x800, 385,
- gMonBackPic_Volbeat, 0x800, 386,
- gMonBackPic_Illumise, 0x800, 387,
- gMonBackPic_Lileep, 0x800, 388,
- gMonBackPic_Cradily, 0x800, 389,
- gMonBackPic_Anorith, 0x800, 390,
- gMonBackPic_Armaldo, 0x800, 391,
- gMonBackPic_Ralts, 0x800, 392,
- gMonBackPic_Kirlia, 0x800, 393,
- gMonBackPic_Gardevoir, 0x800, 394,
- gMonBackPic_Bagon, 0x800, 395,
- gMonBackPic_Shelgon, 0x800, 396,
- gMonBackPic_Salamence, 0x800, 397,
- gMonBackPic_Beldum, 0x800, 398,
- gMonBackPic_Metang, 0x800, 399,
- gMonBackPic_Metagross, 0x800, 400,
- gMonBackPic_Regirock, 0x800, 401,
- gMonBackPic_Regice, 0x800, 402,
- gMonBackPic_Registeel, 0x800, 403,
- gMonBackPic_Kyogre, 0x800, 404,
- gMonBackPic_Groudon, 0x800, 405,
- gMonBackPic_Rayquaza, 0x800, 406,
- gMonBackPic_Latias, 0x800, 407,
- gMonBackPic_Latios, 0x800, 408,
- gMonBackPic_Jirachi, 0x800, 409,
- gMonBackPic_Deoxys, 0x800, 410,
- gMonBackPic_Chimecho, 0x800, 411,
- gMonStillFrontPic_Egg, 0x800, 412,
- gMonBackPic_UnownB, 0x800, 413,
- gMonBackPic_UnownC, 0x800, 414,
- gMonBackPic_UnownD, 0x800, 415,
- gMonBackPic_UnownE, 0x800, 416,
- gMonBackPic_UnownF, 0x800, 417,
- gMonBackPic_UnownG, 0x800, 418,
- gMonBackPic_UnownH, 0x800, 419,
- gMonBackPic_UnownI, 0x800, 420,
- gMonBackPic_UnownJ, 0x800, 421,
- gMonBackPic_UnownK, 0x800, 422,
- gMonBackPic_UnownL, 0x800, 423,
- gMonBackPic_UnownM, 0x800, 424,
- gMonBackPic_UnownN, 0x800, 425,
- gMonBackPic_UnownO, 0x800, 426,
- gMonBackPic_UnownP, 0x800, 427,
- gMonBackPic_UnownQ, 0x800, 428,
- gMonBackPic_UnownR, 0x800, 429,
- gMonBackPic_UnownS, 0x800, 430,
- gMonBackPic_UnownT, 0x800, 431,
- gMonBackPic_UnownU, 0x800, 432,
- gMonBackPic_UnownV, 0x800, 433,
- gMonBackPic_UnownW, 0x800, 434,
- gMonBackPic_UnownX, 0x800, 435,
- gMonBackPic_UnownY, 0x800, 436,
- gMonBackPic_UnownZ, 0x800, 437,
- gMonBackPic_UnownExclamationMark, 0x800, 438,
- gMonBackPic_UnownQuestionMark, 0x800, 439,
+ [SPECIES_NONE] = {gMonBackPic_CircledQuestionMark, 0x800, SPECIES_NONE},
+ [SPECIES_BULBASAUR] = {gMonBackPic_Bulbasaur, 0x800, SPECIES_BULBASAUR},
+ [SPECIES_IVYSAUR] = {gMonBackPic_Ivysaur, 0x800, SPECIES_IVYSAUR},
+ [SPECIES_VENUSAUR] = {gMonBackPic_Venusaur, 0x800, SPECIES_VENUSAUR},
+ [SPECIES_CHARMANDER] = {gMonBackPic_Charmander, 0x800, SPECIES_CHARMANDER},
+ [SPECIES_CHARMELEON] = {gMonBackPic_Charmeleon, 0x800, SPECIES_CHARMELEON},
+ [SPECIES_CHARIZARD] = {gMonBackPic_Charizard, 0x800, SPECIES_CHARIZARD},
+ [SPECIES_SQUIRTLE] = {gMonBackPic_Squirtle, 0x800, SPECIES_SQUIRTLE},
+ [SPECIES_WARTORTLE] = {gMonBackPic_Wartortle, 0x800, SPECIES_WARTORTLE},
+ [SPECIES_BLASTOISE] = {gMonBackPic_Blastoise, 0x800, SPECIES_BLASTOISE},
+ [SPECIES_CATERPIE] = {gMonBackPic_Caterpie, 0x800, SPECIES_CATERPIE},
+ [SPECIES_METAPOD] = {gMonBackPic_Metapod, 0x800, SPECIES_METAPOD},
+ [SPECIES_BUTTERFREE] = {gMonBackPic_Butterfree, 0x800, SPECIES_BUTTERFREE},
+ [SPECIES_WEEDLE] = {gMonBackPic_Weedle, 0x800, SPECIES_WEEDLE},
+ [SPECIES_KAKUNA] = {gMonBackPic_Kakuna, 0x800, SPECIES_KAKUNA},
+ [SPECIES_BEEDRILL] = {gMonBackPic_Beedrill, 0x800, SPECIES_BEEDRILL},
+ [SPECIES_PIDGEY] = {gMonBackPic_Pidgey, 0x800, SPECIES_PIDGEY},
+ [SPECIES_PIDGEOTTO] = {gMonBackPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO},
+ [SPECIES_PIDGEOT] = {gMonBackPic_Pidgeot, 0x800, SPECIES_PIDGEOT},
+ [SPECIES_RATTATA] = {gMonBackPic_Rattata, 0x800, SPECIES_RATTATA},
+ [SPECIES_RATICATE] = {gMonBackPic_Raticate, 0x800, SPECIES_RATICATE},
+ [SPECIES_SPEAROW] = {gMonBackPic_Spearow, 0x800, SPECIES_SPEAROW},
+ [SPECIES_FEAROW] = {gMonBackPic_Fearow, 0x800, SPECIES_FEAROW},
+ [SPECIES_EKANS] = {gMonBackPic_Ekans, 0x800, SPECIES_EKANS},
+ [SPECIES_ARBOK] = {gMonBackPic_Arbok, 0x800, SPECIES_ARBOK},
+ [SPECIES_PIKACHU] = {gMonBackPic_Pikachu, 0x800, SPECIES_PIKACHU},
+ [SPECIES_RAICHU] = {gMonBackPic_Raichu, 0x800, SPECIES_RAICHU},
+ [SPECIES_SANDSHREW] = {gMonBackPic_Sandshrew, 0x800, SPECIES_SANDSHREW},
+ [SPECIES_SANDSLASH] = {gMonBackPic_Sandslash, 0x800, SPECIES_SANDSLASH},
+ [SPECIES_NIDORAN_F] = {gMonBackPic_NidoranF, 0x800, SPECIES_NIDORAN_F},
+ [SPECIES_NIDORINA] = {gMonBackPic_Nidorina, 0x800, SPECIES_NIDORINA},
+ [SPECIES_NIDOQUEEN] = {gMonBackPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN},
+ [SPECIES_NIDORAN_M] = {gMonBackPic_NidoranM, 0x800, SPECIES_NIDORAN_M},
+ [SPECIES_NIDORINO] = {gMonBackPic_Nidorino, 0x800, SPECIES_NIDORINO},
+ [SPECIES_NIDOKING] = {gMonBackPic_Nidoking, 0x800, SPECIES_NIDOKING},
+ [SPECIES_CLEFAIRY] = {gMonBackPic_Clefairy, 0x800, SPECIES_CLEFAIRY},
+ [SPECIES_CLEFABLE] = {gMonBackPic_Clefable, 0x800, SPECIES_CLEFABLE},
+ [SPECIES_VULPIX] = {gMonBackPic_Vulpix, 0x800, SPECIES_VULPIX},
+ [SPECIES_NINETALES] = {gMonBackPic_Ninetales, 0x800, SPECIES_NINETALES},
+ [SPECIES_JIGGLYPUFF] = {gMonBackPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF},
+ [SPECIES_WIGGLYTUFF] = {gMonBackPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF},
+ [SPECIES_ZUBAT] = {gMonBackPic_Zubat, 0x800, SPECIES_ZUBAT},
+ [SPECIES_GOLBAT] = {gMonBackPic_Golbat, 0x800, SPECIES_GOLBAT},
+ [SPECIES_ODDISH] = {gMonBackPic_Oddish, 0x800, SPECIES_ODDISH},
+ [SPECIES_GLOOM] = {gMonBackPic_Gloom, 0x800, SPECIES_GLOOM},
+ [SPECIES_VILEPLUME] = {gMonBackPic_Vileplume, 0x800, SPECIES_VILEPLUME},
+ [SPECIES_PARAS] = {gMonBackPic_Paras, 0x800, SPECIES_PARAS},
+ [SPECIES_PARASECT] = {gMonBackPic_Parasect, 0x800, SPECIES_PARASECT},
+ [SPECIES_VENONAT] = {gMonBackPic_Venonat, 0x800, SPECIES_VENONAT},
+ [SPECIES_VENOMOTH] = {gMonBackPic_Venomoth, 0x800, SPECIES_VENOMOTH},
+ [SPECIES_DIGLETT] = {gMonBackPic_Diglett, 0x800, SPECIES_DIGLETT},
+ [SPECIES_DUGTRIO] = {gMonBackPic_Dugtrio, 0x800, SPECIES_DUGTRIO},
+ [SPECIES_MEOWTH] = {gMonBackPic_Meowth, 0x800, SPECIES_MEOWTH},
+ [SPECIES_PERSIAN] = {gMonBackPic_Persian, 0x800, SPECIES_PERSIAN},
+ [SPECIES_PSYDUCK] = {gMonBackPic_Psyduck, 0x800, SPECIES_PSYDUCK},
+ [SPECIES_GOLDUCK] = {gMonBackPic_Golduck, 0x800, SPECIES_GOLDUCK},
+ [SPECIES_MANKEY] = {gMonBackPic_Mankey, 0x800, SPECIES_MANKEY},
+ [SPECIES_PRIMEAPE] = {gMonBackPic_Primeape, 0x800, SPECIES_PRIMEAPE},
+ [SPECIES_GROWLITHE] = {gMonBackPic_Growlithe, 0x800, SPECIES_GROWLITHE},
+ [SPECIES_ARCANINE] = {gMonBackPic_Arcanine, 0x800, SPECIES_ARCANINE},
+ [SPECIES_POLIWAG] = {gMonBackPic_Poliwag, 0x800, SPECIES_POLIWAG},
+ [SPECIES_POLIWHIRL] = {gMonBackPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL},
+ [SPECIES_POLIWRATH] = {gMonBackPic_Poliwrath, 0x800, SPECIES_POLIWRATH},
+ [SPECIES_ABRA] = {gMonBackPic_Abra, 0x800, SPECIES_ABRA},
+ [SPECIES_KADABRA] = {gMonBackPic_Kadabra, 0x800, SPECIES_KADABRA},
+ [SPECIES_ALAKAZAM] = {gMonBackPic_Alakazam, 0x800, SPECIES_ALAKAZAM},
+ [SPECIES_MACHOP] = {gMonBackPic_Machop, 0x800, SPECIES_MACHOP},
+ [SPECIES_MACHOKE] = {gMonBackPic_Machoke, 0x800, SPECIES_MACHOKE},
+ [SPECIES_MACHAMP] = {gMonBackPic_Machamp, 0x800, SPECIES_MACHAMP},
+ [SPECIES_BELLSPROUT] = {gMonBackPic_Bellsprout, 0x800, SPECIES_BELLSPROUT},
+ [SPECIES_WEEPINBELL] = {gMonBackPic_Weepinbell, 0x800, SPECIES_WEEPINBELL},
+ [SPECIES_VICTREEBEL] = {gMonBackPic_Victreebel, 0x800, SPECIES_VICTREEBEL},
+ [SPECIES_TENTACOOL] = {gMonBackPic_Tentacool, 0x800, SPECIES_TENTACOOL},
+ [SPECIES_TENTACRUEL] = {gMonBackPic_Tentacruel, 0x800, SPECIES_TENTACRUEL},
+ [SPECIES_GEODUDE] = {gMonBackPic_Geodude, 0x800, SPECIES_GEODUDE},
+ [SPECIES_GRAVELER] = {gMonBackPic_Graveler, 0x800, SPECIES_GRAVELER},
+ [SPECIES_GOLEM] = {gMonBackPic_Golem, 0x800, SPECIES_GOLEM},
+ [SPECIES_PONYTA] = {gMonBackPic_Ponyta, 0x800, SPECIES_PONYTA},
+ [SPECIES_RAPIDASH] = {gMonBackPic_Rapidash, 0x800, SPECIES_RAPIDASH},
+ [SPECIES_SLOWPOKE] = {gMonBackPic_Slowpoke, 0x800, SPECIES_SLOWPOKE},
+ [SPECIES_SLOWBRO] = {gMonBackPic_Slowbro, 0x800, SPECIES_SLOWBRO},
+ [SPECIES_MAGNEMITE] = {gMonBackPic_Magnemite, 0x800, SPECIES_MAGNEMITE},
+ [SPECIES_MAGNETON] = {gMonBackPic_Magneton, 0x800, SPECIES_MAGNETON},
+ [SPECIES_FARFETCHD] = {gMonBackPic_Farfetchd, 0x800, SPECIES_FARFETCHD},
+ [SPECIES_DODUO] = {gMonBackPic_Doduo, 0x800, SPECIES_DODUO},
+ [SPECIES_DODRIO] = {gMonBackPic_Dodrio, 0x800, SPECIES_DODRIO},
+ [SPECIES_SEEL] = {gMonBackPic_Seel, 0x800, SPECIES_SEEL},
+ [SPECIES_DEWGONG] = {gMonBackPic_Dewgong, 0x800, SPECIES_DEWGONG},
+ [SPECIES_GRIMER] = {gMonBackPic_Grimer, 0x800, SPECIES_GRIMER},
+ [SPECIES_MUK] = {gMonBackPic_Muk, 0x800, SPECIES_MUK},
+ [SPECIES_SHELLDER] = {gMonBackPic_Shellder, 0x800, SPECIES_SHELLDER},
+ [SPECIES_CLOYSTER] = {gMonBackPic_Cloyster, 0x800, SPECIES_CLOYSTER},
+ [SPECIES_GASTLY] = {gMonBackPic_Gastly, 0x800, SPECIES_GASTLY},
+ [SPECIES_HAUNTER] = {gMonBackPic_Haunter, 0x800, SPECIES_HAUNTER},
+ [SPECIES_GENGAR] = {gMonBackPic_Gengar, 0x800, SPECIES_GENGAR},
+ [SPECIES_ONIX] = {gMonBackPic_Onix, 0x800, SPECIES_ONIX},
+ [SPECIES_DROWZEE] = {gMonBackPic_Drowzee, 0x800, SPECIES_DROWZEE},
+ [SPECIES_HYPNO] = {gMonBackPic_Hypno, 0x800, SPECIES_HYPNO},
+ [SPECIES_KRABBY] = {gMonBackPic_Krabby, 0x800, SPECIES_KRABBY},
+ [SPECIES_KINGLER] = {gMonBackPic_Kingler, 0x800, SPECIES_KINGLER},
+ [SPECIES_VOLTORB] = {gMonBackPic_Voltorb, 0x800, SPECIES_VOLTORB},
+ [SPECIES_ELECTRODE] = {gMonBackPic_Electrode, 0x800, SPECIES_ELECTRODE},
+ [SPECIES_EXEGGCUTE] = {gMonBackPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE},
+ [SPECIES_EXEGGUTOR] = {gMonBackPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR},
+ [SPECIES_CUBONE] = {gMonBackPic_Cubone, 0x800, SPECIES_CUBONE},
+ [SPECIES_MAROWAK] = {gMonBackPic_Marowak, 0x800, SPECIES_MAROWAK},
+ [SPECIES_HITMONLEE] = {gMonBackPic_Hitmonlee, 0x800, SPECIES_HITMONLEE},
+ [SPECIES_HITMONCHAN] = {gMonBackPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN},
+ [SPECIES_LICKITUNG] = {gMonBackPic_Lickitung, 0x800, SPECIES_LICKITUNG},
+ [SPECIES_KOFFING] = {gMonBackPic_Koffing, 0x800, SPECIES_KOFFING},
+ [SPECIES_WEEZING] = {gMonBackPic_Weezing, 0x800, SPECIES_WEEZING},
+ [SPECIES_RHYHORN] = {gMonBackPic_Rhyhorn, 0x800, SPECIES_RHYHORN},
+ [SPECIES_RHYDON] = {gMonBackPic_Rhydon, 0x800, SPECIES_RHYDON},
+ [SPECIES_CHANSEY] = {gMonBackPic_Chansey, 0x800, SPECIES_CHANSEY},
+ [SPECIES_TANGELA] = {gMonBackPic_Tangela, 0x800, SPECIES_TANGELA},
+ [SPECIES_KANGASKHAN] = {gMonBackPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN},
+ [SPECIES_HORSEA] = {gMonBackPic_Horsea, 0x800, SPECIES_HORSEA},
+ [SPECIES_SEADRA] = {gMonBackPic_Seadra, 0x800, SPECIES_SEADRA},
+ [SPECIES_GOLDEEN] = {gMonBackPic_Goldeen, 0x800, SPECIES_GOLDEEN},
+ [SPECIES_SEAKING] = {gMonBackPic_Seaking, 0x800, SPECIES_SEAKING},
+ [SPECIES_STARYU] = {gMonBackPic_Staryu, 0x800, SPECIES_STARYU},
+ [SPECIES_STARMIE] = {gMonBackPic_Starmie, 0x800, SPECIES_STARMIE},
+ [SPECIES_MR_MIME] = {gMonBackPic_Mrmime, 0x800, SPECIES_MR_MIME},
+ [SPECIES_SCYTHER] = {gMonBackPic_Scyther, 0x800, SPECIES_SCYTHER},
+ [SPECIES_JYNX] = {gMonBackPic_Jynx, 0x800, SPECIES_JYNX},
+ [SPECIES_ELECTABUZZ] = {gMonBackPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ},
+ [SPECIES_MAGMAR] = {gMonBackPic_Magmar, 0x800, SPECIES_MAGMAR},
+ [SPECIES_PINSIR] = {gMonBackPic_Pinsir, 0x800, SPECIES_PINSIR},
+ [SPECIES_TAUROS] = {gMonBackPic_Tauros, 0x800, SPECIES_TAUROS},
+ [SPECIES_MAGIKARP] = {gMonBackPic_Magikarp, 0x800, SPECIES_MAGIKARP},
+ [SPECIES_GYARADOS] = {gMonBackPic_Gyarados, 0x800, SPECIES_GYARADOS},
+ [SPECIES_LAPRAS] = {gMonBackPic_Lapras, 0x800, SPECIES_LAPRAS},
+ [SPECIES_DITTO] = {gMonBackPic_Ditto, 0x800, SPECIES_DITTO},
+ [SPECIES_EEVEE] = {gMonBackPic_Eevee, 0x800, SPECIES_EEVEE},
+ [SPECIES_VAPOREON] = {gMonBackPic_Vaporeon, 0x800, SPECIES_VAPOREON},
+ [SPECIES_JOLTEON] = {gMonBackPic_Jolteon, 0x800, SPECIES_JOLTEON},
+ [SPECIES_FLAREON] = {gMonBackPic_Flareon, 0x800, SPECIES_FLAREON},
+ [SPECIES_PORYGON] = {gMonBackPic_Porygon, 0x800, SPECIES_PORYGON},
+ [SPECIES_OMANYTE] = {gMonBackPic_Omanyte, 0x800, SPECIES_OMANYTE},
+ [SPECIES_OMASTAR] = {gMonBackPic_Omastar, 0x800, SPECIES_OMASTAR},
+ [SPECIES_KABUTO] = {gMonBackPic_Kabuto, 0x800, SPECIES_KABUTO},
+ [SPECIES_KABUTOPS] = {gMonBackPic_Kabutops, 0x800, SPECIES_KABUTOPS},
+ [SPECIES_AERODACTYL] = {gMonBackPic_Aerodactyl, 0x800, SPECIES_AERODACTYL},
+ [SPECIES_SNORLAX] = {gMonBackPic_Snorlax, 0x800, SPECIES_SNORLAX},
+ [SPECIES_ARTICUNO] = {gMonBackPic_Articuno, 0x800, SPECIES_ARTICUNO},
+ [SPECIES_ZAPDOS] = {gMonBackPic_Zapdos, 0x800, SPECIES_ZAPDOS},
+ [SPECIES_MOLTRES] = {gMonBackPic_Moltres, 0x800, SPECIES_MOLTRES},
+ [SPECIES_DRATINI] = {gMonBackPic_Dratini, 0x800, SPECIES_DRATINI},
+ [SPECIES_DRAGONAIR] = {gMonBackPic_Dragonair, 0x800, SPECIES_DRAGONAIR},
+ [SPECIES_DRAGONITE] = {gMonBackPic_Dragonite, 0x800, SPECIES_DRAGONITE},
+ [SPECIES_MEWTWO] = {gMonBackPic_Mewtwo, 0x800, SPECIES_MEWTWO},
+ [SPECIES_MEW] = {gMonBackPic_Mew, 0x800, SPECIES_MEW},
+ [SPECIES_CHIKORITA] = {gMonBackPic_Chikorita, 0x800, SPECIES_CHIKORITA},
+ [SPECIES_BAYLEEF] = {gMonBackPic_Bayleef, 0x800, SPECIES_BAYLEEF},
+ [SPECIES_MEGANIUM] = {gMonBackPic_Meganium, 0x800, SPECIES_MEGANIUM},
+ [SPECIES_CYNDAQUIL] = {gMonBackPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL},
+ [SPECIES_QUILAVA] = {gMonBackPic_Quilava, 0x800, SPECIES_QUILAVA},
+ [SPECIES_TYPHLOSION] = {gMonBackPic_Typhlosion, 0x800, SPECIES_TYPHLOSION},
+ [SPECIES_TOTODILE] = {gMonBackPic_Totodile, 0x800, SPECIES_TOTODILE},
+ [SPECIES_CROCONAW] = {gMonBackPic_Croconaw, 0x800, SPECIES_CROCONAW},
+ [SPECIES_FERALIGATR] = {gMonBackPic_Feraligatr, 0x800, SPECIES_FERALIGATR},
+ [SPECIES_SENTRET] = {gMonBackPic_Sentret, 0x800, SPECIES_SENTRET},
+ [SPECIES_FURRET] = {gMonBackPic_Furret, 0x800, SPECIES_FURRET},
+ [SPECIES_HOOTHOOT] = {gMonBackPic_Hoothoot, 0x800, SPECIES_HOOTHOOT},
+ [SPECIES_NOCTOWL] = {gMonBackPic_Noctowl, 0x800, SPECIES_NOCTOWL},
+ [SPECIES_LEDYBA] = {gMonBackPic_Ledyba, 0x800, SPECIES_LEDYBA},
+ [SPECIES_LEDIAN] = {gMonBackPic_Ledian, 0x800, SPECIES_LEDIAN},
+ [SPECIES_SPINARAK] = {gMonBackPic_Spinarak, 0x800, SPECIES_SPINARAK},
+ [SPECIES_ARIADOS] = {gMonBackPic_Ariados, 0x800, SPECIES_ARIADOS},
+ [SPECIES_CROBAT] = {gMonBackPic_Crobat, 0x800, SPECIES_CROBAT},
+ [SPECIES_CHINCHOU] = {gMonBackPic_Chinchou, 0x800, SPECIES_CHINCHOU},
+ [SPECIES_LANTURN] = {gMonBackPic_Lanturn, 0x800, SPECIES_LANTURN},
+ [SPECIES_PICHU] = {gMonBackPic_Pichu, 0x800, SPECIES_PICHU},
+ [SPECIES_CLEFFA] = {gMonBackPic_Cleffa, 0x800, SPECIES_CLEFFA},
+ [SPECIES_IGGLYBUFF] = {gMonBackPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF},
+ [SPECIES_TOGEPI] = {gMonBackPic_Togepi, 0x800, SPECIES_TOGEPI},
+ [SPECIES_TOGETIC] = {gMonBackPic_Togetic, 0x800, SPECIES_TOGETIC},
+ [SPECIES_NATU] = {gMonBackPic_Natu, 0x800, SPECIES_NATU},
+ [SPECIES_XATU] = {gMonBackPic_Xatu, 0x800, SPECIES_XATU},
+ [SPECIES_MAREEP] = {gMonBackPic_Mareep, 0x800, SPECIES_MAREEP},
+ [SPECIES_FLAAFFY] = {gMonBackPic_Flaaffy, 0x800, SPECIES_FLAAFFY},
+ [SPECIES_AMPHAROS] = {gMonBackPic_Ampharos, 0x800, SPECIES_AMPHAROS},
+ [SPECIES_BELLOSSOM] = {gMonBackPic_Bellossom, 0x800, SPECIES_BELLOSSOM},
+ [SPECIES_MARILL] = {gMonBackPic_Marill, 0x800, SPECIES_MARILL},
+ [SPECIES_AZUMARILL] = {gMonBackPic_Azumarill, 0x800, SPECIES_AZUMARILL},
+ [SPECIES_SUDOWOODO] = {gMonBackPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO},
+ [SPECIES_POLITOED] = {gMonBackPic_Politoed, 0x800, SPECIES_POLITOED},
+ [SPECIES_HOPPIP] = {gMonBackPic_Hoppip, 0x800, SPECIES_HOPPIP},
+ [SPECIES_SKIPLOOM] = {gMonBackPic_Skiploom, 0x800, SPECIES_SKIPLOOM},
+ [SPECIES_JUMPLUFF] = {gMonBackPic_Jumpluff, 0x800, SPECIES_JUMPLUFF},
+ [SPECIES_AIPOM] = {gMonBackPic_Aipom, 0x800, SPECIES_AIPOM},
+ [SPECIES_SUNKERN] = {gMonBackPic_Sunkern, 0x800, SPECIES_SUNKERN},
+ [SPECIES_SUNFLORA] = {gMonBackPic_Sunflora, 0x800, SPECIES_SUNFLORA},
+ [SPECIES_YANMA] = {gMonBackPic_Yanma, 0x800, SPECIES_YANMA},
+ [SPECIES_WOOPER] = {gMonBackPic_Wooper, 0x800, SPECIES_WOOPER},
+ [SPECIES_QUAGSIRE] = {gMonBackPic_Quagsire, 0x800, SPECIES_QUAGSIRE},
+ [SPECIES_ESPEON] = {gMonBackPic_Espeon, 0x800, SPECIES_ESPEON},
+ [SPECIES_UMBREON] = {gMonBackPic_Umbreon, 0x800, SPECIES_UMBREON},
+ [SPECIES_MURKROW] = {gMonBackPic_Murkrow, 0x800, SPECIES_MURKROW},
+ [SPECIES_SLOWKING] = {gMonBackPic_Slowking, 0x800, SPECIES_SLOWKING},
+ [SPECIES_MISDREAVUS] = {gMonBackPic_Misdreavus, 0x800, SPECIES_MISDREAVUS},
+ [SPECIES_UNOWN] = {gMonBackPic_UnownA, 0x800, SPECIES_UNOWN},
+ [SPECIES_WOBBUFFET] = {gMonBackPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET},
+ [SPECIES_GIRAFARIG] = {gMonBackPic_Girafarig, 0x800, SPECIES_GIRAFARIG},
+ [SPECIES_PINECO] = {gMonBackPic_Pineco, 0x800, SPECIES_PINECO},
+ [SPECIES_FORRETRESS] = {gMonBackPic_Forretress, 0x800, SPECIES_FORRETRESS},
+ [SPECIES_DUNSPARCE] = {gMonBackPic_Dunsparce, 0x800, SPECIES_DUNSPARCE},
+ [SPECIES_GLIGAR] = {gMonBackPic_Gligar, 0x800, SPECIES_GLIGAR},
+ [SPECIES_STEELIX] = {gMonBackPic_Steelix, 0x800, SPECIES_STEELIX},
+ [SPECIES_SNUBBULL] = {gMonBackPic_Snubbull, 0x800, SPECIES_SNUBBULL},
+ [SPECIES_GRANBULL] = {gMonBackPic_Granbull, 0x800, SPECIES_GRANBULL},
+ [SPECIES_QWILFISH] = {gMonBackPic_Qwilfish, 0x800, SPECIES_QWILFISH},
+ [SPECIES_SCIZOR] = {gMonBackPic_Scizor, 0x800, SPECIES_SCIZOR},
+ [SPECIES_SHUCKLE] = {gMonBackPic_Shuckle, 0x800, SPECIES_SHUCKLE},
+ [SPECIES_HERACROSS] = {gMonBackPic_Heracross, 0x800, SPECIES_HERACROSS},
+ [SPECIES_SNEASEL] = {gMonBackPic_Sneasel, 0x800, SPECIES_SNEASEL},
+ [SPECIES_TEDDIURSA] = {gMonBackPic_Teddiursa, 0x800, SPECIES_TEDDIURSA},
+ [SPECIES_URSARING] = {gMonBackPic_Ursaring, 0x800, SPECIES_URSARING},
+ [SPECIES_SLUGMA] = {gMonBackPic_Slugma, 0x800, SPECIES_SLUGMA},
+ [SPECIES_MAGCARGO] = {gMonBackPic_Magcargo, 0x800, SPECIES_MAGCARGO},
+ [SPECIES_SWINUB] = {gMonBackPic_Swinub, 0x800, SPECIES_SWINUB},
+ [SPECIES_PILOSWINE] = {gMonBackPic_Piloswine, 0x800, SPECIES_PILOSWINE},
+ [SPECIES_CORSOLA] = {gMonBackPic_Corsola, 0x800, SPECIES_CORSOLA},
+ [SPECIES_REMORAID] = {gMonBackPic_Remoraid, 0x800, SPECIES_REMORAID},
+ [SPECIES_OCTILLERY] = {gMonBackPic_Octillery, 0x800, SPECIES_OCTILLERY},
+ [SPECIES_DELIBIRD] = {gMonBackPic_Delibird, 0x800, SPECIES_DELIBIRD},
+ [SPECIES_MANTINE] = {gMonBackPic_Mantine, 0x800, SPECIES_MANTINE},
+ [SPECIES_SKARMORY] = {gMonBackPic_Skarmory, 0x800, SPECIES_SKARMORY},
+ [SPECIES_HOUNDOUR] = {gMonBackPic_Houndour, 0x800, SPECIES_HOUNDOUR},
+ [SPECIES_HOUNDOOM] = {gMonBackPic_Houndoom, 0x800, SPECIES_HOUNDOOM},
+ [SPECIES_KINGDRA] = {gMonBackPic_Kingdra, 0x800, SPECIES_KINGDRA},
+ [SPECIES_PHANPY] = {gMonBackPic_Phanpy, 0x800, SPECIES_PHANPY},
+ [SPECIES_DONPHAN] = {gMonBackPic_Donphan, 0x800, SPECIES_DONPHAN},
+ [SPECIES_PORYGON2] = {gMonBackPic_Porygon2, 0x800, SPECIES_PORYGON2},
+ [SPECIES_STANTLER] = {gMonBackPic_Stantler, 0x800, SPECIES_STANTLER},
+ [SPECIES_SMEARGLE] = {gMonBackPic_Smeargle, 0x800, SPECIES_SMEARGLE},
+ [SPECIES_TYROGUE] = {gMonBackPic_Tyrogue, 0x800, SPECIES_TYROGUE},
+ [SPECIES_HITMONTOP] = {gMonBackPic_Hitmontop, 0x800, SPECIES_HITMONTOP},
+ [SPECIES_SMOOCHUM] = {gMonBackPic_Smoochum, 0x800, SPECIES_SMOOCHUM},
+ [SPECIES_ELEKID] = {gMonBackPic_Elekid, 0x800, SPECIES_ELEKID},
+ [SPECIES_MAGBY] = {gMonBackPic_Magby, 0x800, SPECIES_MAGBY},
+ [SPECIES_MILTANK] = {gMonBackPic_Miltank, 0x800, SPECIES_MILTANK},
+ [SPECIES_BLISSEY] = {gMonBackPic_Blissey, 0x800, SPECIES_BLISSEY},
+ [SPECIES_RAIKOU] = {gMonBackPic_Raikou, 0x800, SPECIES_RAIKOU},
+ [SPECIES_ENTEI] = {gMonBackPic_Entei, 0x800, SPECIES_ENTEI},
+ [SPECIES_SUICUNE] = {gMonBackPic_Suicune, 0x800, SPECIES_SUICUNE},
+ [SPECIES_LARVITAR] = {gMonBackPic_Larvitar, 0x800, SPECIES_LARVITAR},
+ [SPECIES_PUPITAR] = {gMonBackPic_Pupitar, 0x800, SPECIES_PUPITAR},
+ [SPECIES_TYRANITAR] = {gMonBackPic_Tyranitar, 0x800, SPECIES_TYRANITAR},
+ [SPECIES_LUGIA] = {gMonBackPic_Lugia, 0x800, SPECIES_LUGIA},
+ [SPECIES_HO_OH] = {gMonBackPic_HoOh, 0x800, SPECIES_HO_OH},
+ [SPECIES_CELEBI] = {gMonBackPic_Celebi, 0x800, SPECIES_CELEBI},
+ [SPECIES_OLD_UNOWN_B] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B},
+ [SPECIES_OLD_UNOWN_C] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C},
+ [SPECIES_OLD_UNOWN_D] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D},
+ [SPECIES_OLD_UNOWN_E] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E},
+ [SPECIES_OLD_UNOWN_F] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F},
+ [SPECIES_OLD_UNOWN_G] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G},
+ [SPECIES_OLD_UNOWN_H] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H},
+ [SPECIES_OLD_UNOWN_I] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I},
+ [SPECIES_OLD_UNOWN_J] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J},
+ [SPECIES_OLD_UNOWN_K] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K},
+ [SPECIES_OLD_UNOWN_L] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L},
+ [SPECIES_OLD_UNOWN_M] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M},
+ [SPECIES_OLD_UNOWN_N] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N},
+ [SPECIES_OLD_UNOWN_O] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O},
+ [SPECIES_OLD_UNOWN_P] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P},
+ [SPECIES_OLD_UNOWN_Q] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q},
+ [SPECIES_OLD_UNOWN_R] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R},
+ [SPECIES_OLD_UNOWN_S] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S},
+ [SPECIES_OLD_UNOWN_T] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T},
+ [SPECIES_OLD_UNOWN_U] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U},
+ [SPECIES_OLD_UNOWN_V] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V},
+ [SPECIES_OLD_UNOWN_W] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W},
+ [SPECIES_OLD_UNOWN_X] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X},
+ [SPECIES_OLD_UNOWN_Y] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y},
+ [SPECIES_OLD_UNOWN_Z] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z},
+ [SPECIES_TREECKO] = {gMonBackPic_Treecko, 0x800, SPECIES_TREECKO},
+ [SPECIES_GROVYLE] = {gMonBackPic_Grovyle, 0x800, SPECIES_GROVYLE},
+ [SPECIES_SCEPTILE] = {gMonBackPic_Sceptile, 0x800, SPECIES_SCEPTILE},
+ [SPECIES_TORCHIC] = {gMonBackPic_Torchic, 0x800, SPECIES_TORCHIC},
+ [SPECIES_COMBUSKEN] = {gMonBackPic_Combusken, 0x800, SPECIES_COMBUSKEN},
+ [SPECIES_BLAZIKEN] = {gMonBackPic_Blaziken, 0x800, SPECIES_BLAZIKEN},
+ [SPECIES_MUDKIP] = {gMonBackPic_Mudkip, 0x800, SPECIES_MUDKIP},
+ [SPECIES_MARSHTOMP] = {gMonBackPic_Marshtomp, 0x800, SPECIES_MARSHTOMP},
+ [SPECIES_SWAMPERT] = {gMonBackPic_Swampert, 0x800, SPECIES_SWAMPERT},
+ [SPECIES_POOCHYENA] = {gMonBackPic_Poochyena, 0x800, SPECIES_POOCHYENA},
+ [SPECIES_MIGHTYENA] = {gMonBackPic_Mightyena, 0x800, SPECIES_MIGHTYENA},
+ [SPECIES_ZIGZAGOON] = {gMonBackPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON},
+ [SPECIES_LINOONE] = {gMonBackPic_Linoone, 0x800, SPECIES_LINOONE},
+ [SPECIES_WURMPLE] = {gMonBackPic_Wurmple, 0x800, SPECIES_WURMPLE},
+ [SPECIES_SILCOON] = {gMonBackPic_Silcoon, 0x800, SPECIES_SILCOON},
+ [SPECIES_BEAUTIFLY] = {gMonBackPic_Beautifly, 0x800, SPECIES_BEAUTIFLY},
+ [SPECIES_CASCOON] = {gMonBackPic_Cascoon, 0x800, SPECIES_CASCOON},
+ [SPECIES_DUSTOX] = {gMonBackPic_Dustox, 0x800, SPECIES_DUSTOX},
+ [SPECIES_LOTAD] = {gMonBackPic_Lotad, 0x800, SPECIES_LOTAD},
+ [SPECIES_LOMBRE] = {gMonBackPic_Lombre, 0x800, SPECIES_LOMBRE},
+ [SPECIES_LUDICOLO] = {gMonBackPic_Ludicolo, 0x800, SPECIES_LUDICOLO},
+ [SPECIES_SEEDOT] = {gMonBackPic_Seedot, 0x800, SPECIES_SEEDOT},
+ [SPECIES_NUZLEAF] = {gMonBackPic_Nuzleaf, 0x800, SPECIES_NUZLEAF},
+ [SPECIES_SHIFTRY] = {gMonBackPic_Shiftry, 0x800, SPECIES_SHIFTRY},
+ [SPECIES_NINCADA] = {gMonBackPic_Nincada, 0x800, SPECIES_NINCADA},
+ [SPECIES_NINJASK] = {gMonBackPic_Ninjask, 0x800, SPECIES_NINJASK},
+ [SPECIES_SHEDINJA] = {gMonBackPic_Shedinja, 0x800, SPECIES_SHEDINJA},
+ [SPECIES_TAILLOW] = {gMonBackPic_Taillow, 0x800, SPECIES_TAILLOW},
+ [SPECIES_SWELLOW] = {gMonBackPic_Swellow, 0x800, SPECIES_SWELLOW},
+ [SPECIES_SHROOMISH] = {gMonBackPic_Shroomish, 0x800, SPECIES_SHROOMISH},
+ [SPECIES_BRELOOM] = {gMonBackPic_Breloom, 0x800, SPECIES_BRELOOM},
+ [SPECIES_SPINDA] = {gMonBackPic_Spinda, 0x800, SPECIES_SPINDA},
+ [SPECIES_WINGULL] = {gMonBackPic_Wingull, 0x800, SPECIES_WINGULL},
+ [SPECIES_PELIPPER] = {gMonBackPic_Pelipper, 0x800, SPECIES_PELIPPER},
+ [SPECIES_SURSKIT] = {gMonBackPic_Surskit, 0x800, SPECIES_SURSKIT},
+ [SPECIES_MASQUERAIN] = {gMonBackPic_Masquerain, 0x800, SPECIES_MASQUERAIN},
+ [SPECIES_WAILMER] = {gMonBackPic_Wailmer, 0x800, SPECIES_WAILMER},
+ [SPECIES_WAILORD] = {gMonBackPic_Wailord, 0x800, SPECIES_WAILORD},
+ [SPECIES_SKITTY] = {gMonBackPic_Skitty, 0x800, SPECIES_SKITTY},
+ [SPECIES_DELCATTY] = {gMonBackPic_Delcatty, 0x800, SPECIES_DELCATTY},
+ [SPECIES_KECLEON] = {gMonBackPic_Kecleon, 0x800, SPECIES_KECLEON},
+ [SPECIES_BALTOY] = {gMonBackPic_Baltoy, 0x800, SPECIES_BALTOY},
+ [SPECIES_CLAYDOL] = {gMonBackPic_Claydol, 0x800, SPECIES_CLAYDOL},
+ [SPECIES_NOSEPASS] = {gMonBackPic_Nosepass, 0x800, SPECIES_NOSEPASS},
+ [SPECIES_TORKOAL] = {gMonBackPic_Torkoal, 0x800, SPECIES_TORKOAL},
+ [SPECIES_SABLEYE] = {gMonBackPic_Sableye, 0x800, SPECIES_SABLEYE},
+ [SPECIES_BARBOACH] = {gMonBackPic_Barboach, 0x800, SPECIES_BARBOACH},
+ [SPECIES_WHISCASH] = {gMonBackPic_Whiscash, 0x800, SPECIES_WHISCASH},
+ [SPECIES_LUVDISC] = {gMonBackPic_Luvdisc, 0x800, SPECIES_LUVDISC},
+ [SPECIES_CORPHISH] = {gMonBackPic_Corphish, 0x800, SPECIES_CORPHISH},
+ [SPECIES_CRAWDAUNT] = {gMonBackPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT},
+ [SPECIES_FEEBAS] = {gMonBackPic_Feebas, 0x800, SPECIES_FEEBAS},
+ [SPECIES_MILOTIC] = {gMonBackPic_Milotic, 0x800, SPECIES_MILOTIC},
+ [SPECIES_CARVANHA] = {gMonBackPic_Carvanha, 0x800, SPECIES_CARVANHA},
+ [SPECIES_SHARPEDO] = {gMonBackPic_Sharpedo, 0x800, SPECIES_SHARPEDO},
+ [SPECIES_TRAPINCH] = {gMonBackPic_Trapinch, 0x800, SPECIES_TRAPINCH},
+ [SPECIES_VIBRAVA] = {gMonBackPic_Vibrava, 0x800, SPECIES_VIBRAVA},
+ [SPECIES_FLYGON] = {gMonBackPic_Flygon, 0x800, SPECIES_FLYGON},
+ [SPECIES_MAKUHITA] = {gMonBackPic_Makuhita, 0x800, SPECIES_MAKUHITA},
+ [SPECIES_HARIYAMA] = {gMonBackPic_Hariyama, 0x800, SPECIES_HARIYAMA},
+ [SPECIES_ELECTRIKE] = {gMonBackPic_Electrike, 0x800, SPECIES_ELECTRIKE},
+ [SPECIES_MANECTRIC] = {gMonBackPic_Manectric, 0x800, SPECIES_MANECTRIC},
+ [SPECIES_NUMEL] = {gMonBackPic_Numel, 0x800, SPECIES_NUMEL},
+ [SPECIES_CAMERUPT] = {gMonBackPic_Camerupt, 0x800, SPECIES_CAMERUPT},
+ [SPECIES_SPHEAL] = {gMonBackPic_Spheal, 0x800, SPECIES_SPHEAL},
+ [SPECIES_SEALEO] = {gMonBackPic_Sealeo, 0x800, SPECIES_SEALEO},
+ [SPECIES_WALREIN] = {gMonBackPic_Walrein, 0x800, SPECIES_WALREIN},
+ [SPECIES_CACNEA] = {gMonBackPic_Cacnea, 0x800, SPECIES_CACNEA},
+ [SPECIES_CACTURNE] = {gMonBackPic_Cacturne, 0x800, SPECIES_CACTURNE},
+ [SPECIES_SNORUNT] = {gMonBackPic_Snorunt, 0x800, SPECIES_SNORUNT},
+ [SPECIES_GLALIE] = {gMonBackPic_Glalie, 0x800, SPECIES_GLALIE},
+ [SPECIES_LUNATONE] = {gMonBackPic_Lunatone, 0x800, SPECIES_LUNATONE},
+ [SPECIES_SOLROCK] = {gMonBackPic_Solrock, 0x800, SPECIES_SOLROCK},
+ [SPECIES_AZURILL] = {gMonBackPic_Azurill, 0x800, SPECIES_AZURILL},
+ [SPECIES_SPOINK] = {gMonBackPic_Spoink, 0x800, SPECIES_SPOINK},
+ [SPECIES_GRUMPIG] = {gMonBackPic_Grumpig, 0x800, SPECIES_GRUMPIG},
+ [SPECIES_PLUSLE] = {gMonBackPic_Plusle, 0x800, SPECIES_PLUSLE},
+ [SPECIES_MINUN] = {gMonBackPic_Minun, 0x800, SPECIES_MINUN},
+ [SPECIES_MAWILE] = {gMonBackPic_Mawile, 0x800, SPECIES_MAWILE},
+ [SPECIES_MEDITITE] = {gMonBackPic_Meditite, 0x800, SPECIES_MEDITITE},
+ [SPECIES_MEDICHAM] = {gMonBackPic_Medicham, 0x800, SPECIES_MEDICHAM},
+ [SPECIES_SWABLU] = {gMonBackPic_Swablu, 0x800, SPECIES_SWABLU},
+ [SPECIES_ALTARIA] = {gMonBackPic_Altaria, 0x800, SPECIES_ALTARIA},
+ [SPECIES_WYNAUT] = {gMonBackPic_Wynaut, 0x800, SPECIES_WYNAUT},
+ [SPECIES_DUSKULL] = {gMonBackPic_Duskull, 0x800, SPECIES_DUSKULL},
+ [SPECIES_DUSCLOPS] = {gMonBackPic_Dusclops, 0x800, SPECIES_DUSCLOPS},
+ [SPECIES_ROSELIA] = {gMonBackPic_Roselia, 0x800, SPECIES_ROSELIA},
+ [SPECIES_SLAKOTH] = {gMonBackPic_Slakoth, 0x800, SPECIES_SLAKOTH},
+ [SPECIES_VIGOROTH] = {gMonBackPic_Vigoroth, 0x800, SPECIES_VIGOROTH},
+ [SPECIES_SLAKING] = {gMonBackPic_Slaking, 0x800, SPECIES_SLAKING},
+ [SPECIES_GULPIN] = {gMonBackPic_Gulpin, 0x800, SPECIES_GULPIN},
+ [SPECIES_SWALOT] = {gMonBackPic_Swalot, 0x800, SPECIES_SWALOT},
+ [SPECIES_TROPIUS] = {gMonBackPic_Tropius, 0x800, SPECIES_TROPIUS},
+ [SPECIES_WHISMUR] = {gMonBackPic_Whismur, 0x800, SPECIES_WHISMUR},
+ [SPECIES_LOUDRED] = {gMonBackPic_Loudred, 0x800, SPECIES_LOUDRED},
+ [SPECIES_EXPLOUD] = {gMonBackPic_Exploud, 0x800, SPECIES_EXPLOUD},
+ [SPECIES_CLAMPERL] = {gMonBackPic_Clamperl, 0x800, SPECIES_CLAMPERL},
+ [SPECIES_HUNTAIL] = {gMonBackPic_Huntail, 0x800, SPECIES_HUNTAIL},
+ [SPECIES_GOREBYSS] = {gMonBackPic_Gorebyss, 0x800, SPECIES_GOREBYSS},
+ [SPECIES_ABSOL] = {gMonBackPic_Absol, 0x800, SPECIES_ABSOL},
+ [SPECIES_SHUPPET] = {gMonBackPic_Shuppet, 0x800, SPECIES_SHUPPET},
+ [SPECIES_BANETTE] = {gMonBackPic_Banette, 0x800, SPECIES_BANETTE},
+ [SPECIES_SEVIPER] = {gMonBackPic_Seviper, 0x800, SPECIES_SEVIPER},
+ [SPECIES_ZANGOOSE] = {gMonBackPic_Zangoose, 0x800, SPECIES_ZANGOOSE},
+ [SPECIES_RELICANTH] = {gMonBackPic_Relicanth, 0x800, SPECIES_RELICANTH},
+ [SPECIES_ARON] = {gMonBackPic_Aron, 0x800, SPECIES_ARON},
+ [SPECIES_LAIRON] = {gMonBackPic_Lairon, 0x800, SPECIES_LAIRON},
+ [SPECIES_AGGRON] = {gMonBackPic_Aggron, 0x800, SPECIES_AGGRON},
+ [SPECIES_CASTFORM] = {gMonBackPic_Castform, 0x800, SPECIES_CASTFORM},
+ [SPECIES_VOLBEAT] = {gMonBackPic_Volbeat, 0x800, SPECIES_VOLBEAT},
+ [SPECIES_ILLUMISE] = {gMonBackPic_Illumise, 0x800, SPECIES_ILLUMISE},
+ [SPECIES_LILEEP] = {gMonBackPic_Lileep, 0x800, SPECIES_LILEEP},
+ [SPECIES_CRADILY] = {gMonBackPic_Cradily, 0x800, SPECIES_CRADILY},
+ [SPECIES_ANORITH] = {gMonBackPic_Anorith, 0x800, SPECIES_ANORITH},
+ [SPECIES_ARMALDO] = {gMonBackPic_Armaldo, 0x800, SPECIES_ARMALDO},
+ [SPECIES_RALTS] = {gMonBackPic_Ralts, 0x800, SPECIES_RALTS},
+ [SPECIES_KIRLIA] = {gMonBackPic_Kirlia, 0x800, SPECIES_KIRLIA},
+ [SPECIES_GARDEVOIR] = {gMonBackPic_Gardevoir, 0x800, SPECIES_GARDEVOIR},
+ [SPECIES_BAGON] = {gMonBackPic_Bagon, 0x800, SPECIES_BAGON},
+ [SPECIES_SHELGON] = {gMonBackPic_Shelgon, 0x800, SPECIES_SHELGON},
+ [SPECIES_SALAMENCE] = {gMonBackPic_Salamence, 0x800, SPECIES_SALAMENCE},
+ [SPECIES_BELDUM] = {gMonBackPic_Beldum, 0x800, SPECIES_BELDUM},
+ [SPECIES_METANG] = {gMonBackPic_Metang, 0x800, SPECIES_METANG},
+ [SPECIES_METAGROSS] = {gMonBackPic_Metagross, 0x800, SPECIES_METAGROSS},
+ [SPECIES_REGIROCK] = {gMonBackPic_Regirock, 0x800, SPECIES_REGIROCK},
+ [SPECIES_REGICE] = {gMonBackPic_Regice, 0x800, SPECIES_REGICE},
+ [SPECIES_REGISTEEL] = {gMonBackPic_Registeel, 0x800, SPECIES_REGISTEEL},
+ [SPECIES_KYOGRE] = {gMonBackPic_Kyogre, 0x800, SPECIES_KYOGRE},
+ [SPECIES_GROUDON] = {gMonBackPic_Groudon, 0x800, SPECIES_GROUDON},
+ [SPECIES_RAYQUAZA] = {gMonBackPic_Rayquaza, 0x800, SPECIES_RAYQUAZA},
+ [SPECIES_LATIAS] = {gMonBackPic_Latias, 0x800, SPECIES_LATIAS},
+ [SPECIES_LATIOS] = {gMonBackPic_Latios, 0x800, SPECIES_LATIOS},
+ [SPECIES_JIRACHI] = {gMonBackPic_Jirachi, 0x800, SPECIES_JIRACHI},
+ [SPECIES_DEOXYS] = {gMonBackPic_Deoxys, 0x800, SPECIES_DEOXYS},
+ [SPECIES_CHIMECHO] = {gMonBackPic_Chimecho, 0x800, SPECIES_CHIMECHO},
+ [SPECIES_EGG] = {gMonStillFrontPic_Egg, 0x800, SPECIES_EGG},
+ [SPECIES_UNOWN_B] = {gMonBackPic_UnownB, 0x800, SPECIES_UNOWN_B},
+ [SPECIES_UNOWN_C] = {gMonBackPic_UnownC, 0x800, SPECIES_UNOWN_C},
+ [SPECIES_UNOWN_D] = {gMonBackPic_UnownD, 0x800, SPECIES_UNOWN_D},
+ [SPECIES_UNOWN_E] = {gMonBackPic_UnownE, 0x800, SPECIES_UNOWN_E},
+ [SPECIES_UNOWN_F] = {gMonBackPic_UnownF, 0x800, SPECIES_UNOWN_F},
+ [SPECIES_UNOWN_G] = {gMonBackPic_UnownG, 0x800, SPECIES_UNOWN_G},
+ [SPECIES_UNOWN_H] = {gMonBackPic_UnownH, 0x800, SPECIES_UNOWN_H},
+ [SPECIES_UNOWN_I] = {gMonBackPic_UnownI, 0x800, SPECIES_UNOWN_I},
+ [SPECIES_UNOWN_J] = {gMonBackPic_UnownJ, 0x800, SPECIES_UNOWN_J},
+ [SPECIES_UNOWN_K] = {gMonBackPic_UnownK, 0x800, SPECIES_UNOWN_K},
+ [SPECIES_UNOWN_L] = {gMonBackPic_UnownL, 0x800, SPECIES_UNOWN_L},
+ [SPECIES_UNOWN_M] = {gMonBackPic_UnownM, 0x800, SPECIES_UNOWN_M},
+ [SPECIES_UNOWN_N] = {gMonBackPic_UnownN, 0x800, SPECIES_UNOWN_N},
+ [SPECIES_UNOWN_O] = {gMonBackPic_UnownO, 0x800, SPECIES_UNOWN_O},
+ [SPECIES_UNOWN_P] = {gMonBackPic_UnownP, 0x800, SPECIES_UNOWN_P},
+ [SPECIES_UNOWN_Q] = {gMonBackPic_UnownQ, 0x800, SPECIES_UNOWN_Q},
+ [SPECIES_UNOWN_R] = {gMonBackPic_UnownR, 0x800, SPECIES_UNOWN_R},
+ [SPECIES_UNOWN_S] = {gMonBackPic_UnownS, 0x800, SPECIES_UNOWN_S},
+ [SPECIES_UNOWN_T] = {gMonBackPic_UnownT, 0x800, SPECIES_UNOWN_T},
+ [SPECIES_UNOWN_U] = {gMonBackPic_UnownU, 0x800, SPECIES_UNOWN_U},
+ [SPECIES_UNOWN_V] = {gMonBackPic_UnownV, 0x800, SPECIES_UNOWN_V},
+ [SPECIES_UNOWN_W] = {gMonBackPic_UnownW, 0x800, SPECIES_UNOWN_W},
+ [SPECIES_UNOWN_X] = {gMonBackPic_UnownX, 0x800, SPECIES_UNOWN_X},
+ [SPECIES_UNOWN_Y] = {gMonBackPic_UnownY, 0x800, SPECIES_UNOWN_Y},
+ [SPECIES_UNOWN_Z] = {gMonBackPic_UnownZ, 0x800, SPECIES_UNOWN_Z},
+ [SPECIES_UNOWN_EMARK] = {gMonBackPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK},
+ [SPECIES_UNOWN_QMARK] = {gMonBackPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK},
};
+
diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h
new file mode 100644
index 000000000..779ce3dcd
--- /dev/null
+++ b/src/data/pokemon_graphics/footprint_table.h
@@ -0,0 +1,416 @@
+const u8 *const gMonFootprintTable[] =
+{
+ gMonFootprint_Bulbasaur,
+ gMonFootprint_Bulbasaur,
+ gMonFootprint_Ivysaur,
+ gMonFootprint_Venusaur,
+ gMonFootprint_Charmander,
+ gMonFootprint_Charmeleon,
+ gMonFootprint_Charizard,
+ gMonFootprint_Squirtle,
+ gMonFootprint_Wartortle,
+ gMonFootprint_Blastoise,
+ gMonFootprint_Caterpie,
+ gMonFootprint_Metapod,
+ gMonFootprint_Butterfree,
+ gMonFootprint_Weedle,
+ gMonFootprint_Kakuna,
+ gMonFootprint_Beedrill,
+ gMonFootprint_Pidgey,
+ gMonFootprint_Pidgeotto,
+ gMonFootprint_Pidgeot,
+ gMonFootprint_Rattata,
+ gMonFootprint_Raticate,
+ gMonFootprint_Spearow,
+ gMonFootprint_Fearow,
+ gMonFootprint_Ekans,
+ gMonFootprint_Arbok,
+ gMonFootprint_Pikachu,
+ gMonFootprint_Raichu,
+ gMonFootprint_Sandshrew,
+ gMonFootprint_Sandslash,
+ gMonFootprint_NidoranF,
+ gMonFootprint_Nidorina,
+ gMonFootprint_Nidoqueen,
+ gMonFootprint_NidoranM,
+ gMonFootprint_Nidorino,
+ gMonFootprint_Nidoking,
+ gMonFootprint_Clefairy,
+ gMonFootprint_Clefable,
+ gMonFootprint_Vulpix,
+ gMonFootprint_Ninetales,
+ gMonFootprint_Jigglypuff,
+ gMonFootprint_Wigglytuff,
+ gMonFootprint_Zubat,
+ gMonFootprint_Golbat,
+ gMonFootprint_Oddish,
+ gMonFootprint_Gloom,
+ gMonFootprint_Vileplume,
+ gMonFootprint_Paras,
+ gMonFootprint_Parasect,
+ gMonFootprint_Venonat,
+ gMonFootprint_Venomoth,
+ gMonFootprint_Diglett,
+ gMonFootprint_Dugtrio,
+ gMonFootprint_Meowth,
+ gMonFootprint_Persian,
+ gMonFootprint_Psyduck,
+ gMonFootprint_Golduck,
+ gMonFootprint_Mankey,
+ gMonFootprint_Primeape,
+ gMonFootprint_Growlithe,
+ gMonFootprint_Arcanine,
+ gMonFootprint_Poliwag,
+ gMonFootprint_Poliwhirl,
+ gMonFootprint_Poliwrath,
+ gMonFootprint_Abra,
+ gMonFootprint_Kadabra,
+ gMonFootprint_Alakazam,
+ gMonFootprint_Machop,
+ gMonFootprint_Machoke,
+ gMonFootprint_Machamp,
+ gMonFootprint_Bellsprout,
+ gMonFootprint_Weepinbell,
+ gMonFootprint_Victreebel,
+ gMonFootprint_Tentacool,
+ gMonFootprint_Tentacruel,
+ gMonFootprint_Geodude,
+ gMonFootprint_Graveler,
+ gMonFootprint_Golem,
+ gMonFootprint_Ponyta,
+ gMonFootprint_Rapidash,
+ gMonFootprint_Slowpoke,
+ gMonFootprint_Slowbro,
+ gMonFootprint_Magnemite,
+ gMonFootprint_Magneton,
+ gMonFootprint_Farfetchd,
+ gMonFootprint_Doduo,
+ gMonFootprint_Dodrio,
+ gMonFootprint_Seel,
+ gMonFootprint_Dewgong,
+ gMonFootprint_Grimer,
+ gMonFootprint_Muk,
+ gMonFootprint_Shellder,
+ gMonFootprint_Cloyster,
+ gMonFootprint_Gastly,
+ gMonFootprint_Haunter,
+ gMonFootprint_Gengar,
+ gMonFootprint_Onix,
+ gMonFootprint_Drowzee,
+ gMonFootprint_Hypno,
+ gMonFootprint_Krabby,
+ gMonFootprint_Kingler,
+ gMonFootprint_Voltorb,
+ gMonFootprint_Electrode,
+ gMonFootprint_Exeggcute,
+ gMonFootprint_Exeggutor,
+ gMonFootprint_Cubone,
+ gMonFootprint_Marowak,
+ gMonFootprint_Hitmonlee,
+ gMonFootprint_Hitmonchan,
+ gMonFootprint_Lickitung,
+ gMonFootprint_Koffing,
+ gMonFootprint_Weezing,
+ gMonFootprint_Rhyhorn,
+ gMonFootprint_Rhydon,
+ gMonFootprint_Chansey,
+ gMonFootprint_Tangela,
+ gMonFootprint_Kangaskhan,
+ gMonFootprint_Horsea,
+ gMonFootprint_Seadra,
+ gMonFootprint_Goldeen,
+ gMonFootprint_Seaking,
+ gMonFootprint_Staryu,
+ gMonFootprint_Starmie,
+ gMonFootprint_Mrmime,
+ gMonFootprint_Scyther,
+ gMonFootprint_Jynx,
+ gMonFootprint_Electabuzz,
+ gMonFootprint_Magmar,
+ gMonFootprint_Pinsir,
+ gMonFootprint_Tauros,
+ gMonFootprint_Magikarp,
+ gMonFootprint_Gyarados,
+ gMonFootprint_Lapras,
+ gMonFootprint_Ditto,
+ gMonFootprint_Eevee,
+ gMonFootprint_Vaporeon,
+ gMonFootprint_Jolteon,
+ gMonFootprint_Flareon,
+ gMonFootprint_Porygon,
+ gMonFootprint_Omanyte,
+ gMonFootprint_Omastar,
+ gMonFootprint_Kabuto,
+ gMonFootprint_Kabutops,
+ gMonFootprint_Aerodactyl,
+ gMonFootprint_Snorlax,
+ gMonFootprint_Articuno,
+ gMonFootprint_Zapdos,
+ gMonFootprint_Moltres,
+ gMonFootprint_Dratini,
+ gMonFootprint_Dragonair,
+ gMonFootprint_Dragonite,
+ gMonFootprint_Mewtwo,
+ gMonFootprint_Mew,
+ gMonFootprint_Chikorita,
+ gMonFootprint_Bayleef,
+ gMonFootprint_Meganium,
+ gMonFootprint_Cyndaquil,
+ gMonFootprint_Quilava,
+ gMonFootprint_Typhlosion,
+ gMonFootprint_Totodile,
+ gMonFootprint_Croconaw,
+ gMonFootprint_Feraligatr,
+ gMonFootprint_Sentret,
+ gMonFootprint_Furret,
+ gMonFootprint_Hoothoot,
+ gMonFootprint_Noctowl,
+ gMonFootprint_Ledyba,
+ gMonFootprint_Ledian,
+ gMonFootprint_Spinarak,
+ gMonFootprint_Ariados,
+ gMonFootprint_Crobat,
+ gMonFootprint_Chinchou,
+ gMonFootprint_Lanturn,
+ gMonFootprint_Pichu,
+ gMonFootprint_Cleffa,
+ gMonFootprint_Igglybuff,
+ gMonFootprint_Togepi,
+ gMonFootprint_Togetic,
+ gMonFootprint_Natu,
+ gMonFootprint_Xatu,
+ gMonFootprint_Mareep,
+ gMonFootprint_Flaaffy,
+ gMonFootprint_Ampharos,
+ gMonFootprint_Bellossom,
+ gMonFootprint_Marill,
+ gMonFootprint_Azumarill,
+ gMonFootprint_Sudowoodo,
+ gMonFootprint_Politoed,
+ gMonFootprint_Hoppip,
+ gMonFootprint_Skiploom,
+ gMonFootprint_Jumpluff,
+ gMonFootprint_Aipom,
+ gMonFootprint_Sunkern,
+ gMonFootprint_Sunflora,
+ gMonFootprint_Yanma,
+ gMonFootprint_Wooper,
+ gMonFootprint_Quagsire,
+ gMonFootprint_Espeon,
+ gMonFootprint_Umbreon,
+ gMonFootprint_Murkrow,
+ gMonFootprint_Slowking,
+ gMonFootprint_Misdreavus,
+ gMonFootprint_Unown,
+ gMonFootprint_Wobbuffet,
+ gMonFootprint_Girafarig,
+ gMonFootprint_Pineco,
+ gMonFootprint_Forretress,
+ gMonFootprint_Dunsparce,
+ gMonFootprint_Gligar,
+ gMonFootprint_Steelix,
+ gMonFootprint_Snubbull,
+ gMonFootprint_Granbull,
+ gMonFootprint_Qwilfish,
+ gMonFootprint_Scizor,
+ gMonFootprint_Shuckle,
+ gMonFootprint_Heracross,
+ gMonFootprint_Sneasel,
+ gMonFootprint_Teddiursa,
+ gMonFootprint_Ursaring,
+ gMonFootprint_Slugma,
+ gMonFootprint_Magcargo,
+ gMonFootprint_Swinub,
+ gMonFootprint_Piloswine,
+ gMonFootprint_Corsola,
+ gMonFootprint_Remoraid,
+ gMonFootprint_Octillery,
+ gMonFootprint_Delibird,
+ gMonFootprint_Mantine,
+ gMonFootprint_Skarmory,
+ gMonFootprint_Houndour,
+ gMonFootprint_Houndoom,
+ gMonFootprint_Kingdra,
+ gMonFootprint_Phanpy,
+ gMonFootprint_Donphan,
+ gMonFootprint_Porygon2,
+ gMonFootprint_Stantler,
+ gMonFootprint_Smeargle,
+ gMonFootprint_Tyrogue,
+ gMonFootprint_Hitmontop,
+ gMonFootprint_Smoochum,
+ gMonFootprint_Elekid,
+ gMonFootprint_Magby,
+ gMonFootprint_Miltank,
+ gMonFootprint_Blissey,
+ gMonFootprint_Raikou,
+ gMonFootprint_Entei,
+ gMonFootprint_Suicune,
+ gMonFootprint_Larvitar,
+ gMonFootprint_Pupitar,
+ gMonFootprint_Tyranitar,
+ gMonFootprint_Lugia,
+ gMonFootprint_HoOh,
+ gMonFootprint_Celebi,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_QuestionMark,
+ gMonFootprint_Treecko,
+ gMonFootprint_Grovyle,
+ gMonFootprint_Sceptile,
+ gMonFootprint_Torchic,
+ gMonFootprint_Combusken,
+ gMonFootprint_Blaziken,
+ gMonFootprint_Mudkip,
+ gMonFootprint_Marshtomp,
+ gMonFootprint_Swampert,
+ gMonFootprint_Poochyena,
+ gMonFootprint_Mightyena,
+ gMonFootprint_Zigzagoon,
+ gMonFootprint_Linoone,
+ gMonFootprint_Wurmple,
+ gMonFootprint_Silcoon,
+ gMonFootprint_Beautifly,
+ gMonFootprint_Cascoon,
+ gMonFootprint_Dustox,
+ gMonFootprint_Lotad,
+ gMonFootprint_Lombre,
+ gMonFootprint_Ludicolo,
+ gMonFootprint_Seedot,
+ gMonFootprint_Nuzleaf,
+ gMonFootprint_Shiftry,
+ gMonFootprint_Nincada,
+ gMonFootprint_Ninjask,
+ gMonFootprint_Shedinja,
+ gMonFootprint_Taillow,
+ gMonFootprint_Swellow,
+ gMonFootprint_Shroomish,
+ gMonFootprint_Breloom,
+ gMonFootprint_Spinda,
+ gMonFootprint_Wingull,
+ gMonFootprint_Pelipper,
+ gMonFootprint_Surskit,
+ gMonFootprint_Masquerain,
+ gMonFootprint_Wailmer,
+ gMonFootprint_Wailord,
+ gMonFootprint_Skitty,
+ gMonFootprint_Delcatty,
+ gMonFootprint_Kecleon,
+ gMonFootprint_Baltoy,
+ gMonFootprint_Claydol,
+ gMonFootprint_Nosepass,
+ gMonFootprint_Torkoal,
+ gMonFootprint_Sableye,
+ gMonFootprint_Barboach,
+ gMonFootprint_Whiscash,
+ gMonFootprint_Luvdisc,
+ gMonFootprint_Corphish,
+ gMonFootprint_Crawdaunt,
+ gMonFootprint_Feebas,
+ gMonFootprint_Milotic,
+ gMonFootprint_Carvanha,
+ gMonFootprint_Sharpedo,
+ gMonFootprint_Trapinch,
+ gMonFootprint_Vibrava,
+ gMonFootprint_Flygon,
+ gMonFootprint_Makuhita,
+ gMonFootprint_Hariyama,
+ gMonFootprint_Electrike,
+ gMonFootprint_Manectric,
+ gMonFootprint_Numel,
+ gMonFootprint_Camerupt,
+ gMonFootprint_Spheal,
+ gMonFootprint_Sealeo,
+ gMonFootprint_Walrein,
+ gMonFootprint_Cacnea,
+ gMonFootprint_Cacturne,
+ gMonFootprint_Snorunt,
+ gMonFootprint_Glalie,
+ gMonFootprint_Lunatone,
+ gMonFootprint_Solrock,
+ gMonFootprint_Azurill,
+ gMonFootprint_Spoink,
+ gMonFootprint_Grumpig,
+ gMonFootprint_Plusle,
+ gMonFootprint_Minun,
+ gMonFootprint_Mawile,
+ gMonFootprint_Meditite,
+ gMonFootprint_Medicham,
+ gMonFootprint_Swablu,
+ gMonFootprint_Altaria,
+ gMonFootprint_Wynaut,
+ gMonFootprint_Duskull,
+ gMonFootprint_Dusclops,
+ gMonFootprint_Roselia,
+ gMonFootprint_Slakoth,
+ gMonFootprint_Vigoroth,
+ gMonFootprint_Slaking,
+ gMonFootprint_Gulpin,
+ gMonFootprint_Swalot,
+ gMonFootprint_Tropius,
+ gMonFootprint_Whismur,
+ gMonFootprint_Loudred,
+ gMonFootprint_Exploud,
+ gMonFootprint_Clamperl,
+ gMonFootprint_Huntail,
+ gMonFootprint_Gorebyss,
+ gMonFootprint_Absol,
+ gMonFootprint_Shuppet,
+ gMonFootprint_Banette,
+ gMonFootprint_Seviper,
+ gMonFootprint_Zangoose,
+ gMonFootprint_Relicanth,
+ gMonFootprint_Aron,
+ gMonFootprint_Lairon,
+ gMonFootprint_Aggron,
+ gMonFootprint_Castform,
+ gMonFootprint_Volbeat,
+ gMonFootprint_Illumise,
+ gMonFootprint_Lileep,
+ gMonFootprint_Cradily,
+ gMonFootprint_Anorith,
+ gMonFootprint_Armaldo,
+ gMonFootprint_Ralts,
+ gMonFootprint_Kirlia,
+ gMonFootprint_Gardevoir,
+ gMonFootprint_Bagon,
+ gMonFootprint_Shelgon,
+ gMonFootprint_Salamence,
+ gMonFootprint_Beldum,
+ gMonFootprint_Metang,
+ gMonFootprint_Metagross,
+ gMonFootprint_Regirock,
+ gMonFootprint_Regice,
+ gMonFootprint_Registeel,
+ gMonFootprint_Kyogre,
+ gMonFootprint_Groudon,
+ gMonFootprint_Rayquaza,
+ gMonFootprint_Latias,
+ gMonFootprint_Latios,
+ gMonFootprint_Jirachi,
+ gMonFootprint_Deoxys,
+ gMonFootprint_Chimecho,
+ gMonFootprint_Bulbasaur,
+};
diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h
index fde423570..923df2cde 100644
--- a/src/data/pokemon_graphics/front_pic_coordinates.h
+++ b/src/data/pokemon_graphics/front_pic_coordinates.h
@@ -47,211 +47,212 @@ const struct MonCoords gMonFrontPicCoords[] =
{0x66, 0x0a}, // SPECIES_GLOOM
{0x77, 0x06}, // SPECIES_VILEPLUME
{0x55, 0x0f}, // SPECIES_PARAS
- {0x86, 0x08}, // SPECIES_VENONAT
- {0x66, 0x08}, // SPECIES_VENOMOTH
- {0x88, 0x02}, // SPECIES_DIGLETT
- {0x54, 0x12}, // SPECIES_DUGTRIO
- {0x75, 0x0d}, // SPECIES_MEOWTH
- {0x55, 0x0c}, // SPECIES_PERSIAN
- {0x77, 0x07}, // SPECIES_PSYDUCK
- {0x56, 0x09}, // SPECIES_GOLDUCK
- {0x78, 0x02}, // SPECIES_MANKEY
- {0x65, 0x0e}, // SPECIES_PRIMEAPE
- {0x77, 0x07}, // SPECIES_GROWLITHE
- {0x66, 0x0b}, // SPECIES_ARCANINE
- {0x88, 0x02}, // SPECIES_POLIWAG
- {0x74, 0x13}, // SPECIES_POLIWHIRL
- {0x76, 0x0a}, // SPECIES_POLIWRATH
- {0x76, 0x08}, // SPECIES_ABRA
- {0x66, 0x0b}, // SPECIES_KADABRA
- {0x77, 0x05}, // SPECIES_ALAKAZAM
- {0x87, 0x04}, // SPECIES_MACHOP
- {0x56, 0x0b}, // SPECIES_MACHOKE
- {0x67, 0x06}, // SPECIES_MACHAMP
- {0x88, 0x01}, // SPECIES_BELLSPROUT
- {0x65, 0x0f}, // SPECIES_WEEPINBELL
- {0x66, 0x0b}, // SPECIES_VICTREEBEL
- {0x77, 0x05}, // SPECIES_TENTACOOL
- {0x46, 0x09}, // SPECIES_TENTACRUEL
- {0x87, 0x04}, // SPECIES_GEODUDE
- {0x54, 0x12}, // SPECIES_GRAVELER
- {0x87, 0x04}, // SPECIES_GOLEM
- {0x77, 0x05}, // SPECIES_PONYTA
- {0x66, 0x08}, // SPECIES_RAPIDASH
- {0x88, 0x01}, // SPECIES_SLOWPOKE
- {0x66, 0x0b}, // SPECIES_SLOWBRO
- {0x86, 0x08}, // SPECIES_MAGNEMITE
- {0x43, 0x15}, // SPECIES_MAGNETON
- {0x76, 0x08}, // SPECIES_FARFETCHD
- {0x66, 0x09}, // SPECIES_DODUO
- {0x57, 0x05}, // SPECIES_DODRIO
- {0x88, 0x00}, // SPECIES_SEEL
- {0x76, 0x0a}, // SPECIES_DEWGONG
- {0x87, 0x07}, // SPECIES_GRIMER
- {0x65, 0x0c}, // SPECIES_MUK
- {0x87, 0x04}, // SPECIES_SHELLDER
- {0x55, 0x10}, // SPECIES_CLOYSTER
- {0x87, 0x05}, // SPECIES_GASTLY
- {0x77, 0x06}, // SPECIES_HAUNTER
+ {0x86, 0x08}, // SPECIES_PARASECT
+ {0x66, 0x08}, // SPECIES_VENONAT
+ {0x88, 0x02}, // SPECIES_VENOMOTH
+ {0x54, 0x12}, // SPECIES_DIGLETT
+ {0x75, 0x0d}, // SPECIES_DUGTRIO
+ {0x55, 0x0c}, // SPECIES_MEOWTH
+ {0x77, 0x07}, // SPECIES_PERSIAN
+ {0x56, 0x09}, // SPECIES_PSYDUCK
+ {0x78, 0x02}, // SPECIES_GOLDUCK
+ {0x65, 0x0e}, // SPECIES_MANKEY
+ {0x77, 0x07}, // SPECIES_PRIMEAPE
+ {0x66, 0x0b}, // SPECIES_GROWLITHE
+ {0x88, 0x02}, // SPECIES_ARCANINE
+ {0x74, 0x13}, // SPECIES_POLIWAG
+ {0x76, 0x0a}, // SPECIES_POLIWHIRL
+ {0x76, 0x08}, // SPECIES_POLIWRATH
+ {0x66, 0x0b}, // SPECIES_ABRA
+ {0x77, 0x05}, // SPECIES_KADABRA
+ {0x87, 0x04}, // SPECIES_ALAKAZAM
+ {0x56, 0x0b}, // SPECIES_MACHOP
+ {0x67, 0x06}, // SPECIES_MACHOKE
+ {0x88, 0x01}, // SPECIES_MACHAMP
+ {0x65, 0x0f}, // SPECIES_BELLSPROUT
+ {0x66, 0x0b}, // SPECIES_WEEPINBELL
+ {0x77, 0x05}, // SPECIES_VICTREEBEL
+ {0x46, 0x09}, // SPECIES_TENTACOOL
+ {0x87, 0x04}, // SPECIES_TENTACRUEL
+ {0x54, 0x12}, // SPECIES_GEODUDE
+ {0x87, 0x04}, // SPECIES_GRAVELER
+ {0x77, 0x05}, // SPECIES_GOLEM
+ {0x66, 0x08}, // SPECIES_PONYTA
+ {0x88, 0x01}, // SPECIES_RAPIDASH
+ {0x66, 0x0b}, // SPECIES_SLOWPOKE
+ {0x86, 0x08}, // SPECIES_SLOWBRO
+ {0x43, 0x15}, // SPECIES_MAGNEMITE
+ {0x76, 0x08}, // SPECIES_MAGNETON
+ {0x66, 0x09}, // SPECIES_FARFETCHD
+ {0x57, 0x05}, // SPECIES_DODUO
+ {0x88, 0x00}, // SPECIES_DODRIO
+ {0x76, 0x0a}, // SPECIES_SEEL
+ {0x87, 0x07}, // SPECIES_DEWGONG
+ {0x65, 0x0c}, // SPECIES_GRIMER
+ {0x87, 0x04}, // SPECIES_MUK
+ {0x55, 0x10}, // SPECIES_SHELLDER
+ {0x87, 0x05}, // SPECIES_CLOYSTER
+ {0x77, 0x06}, // SPECIES_GASTLY
+ {0x77, 0x05}, // SPECIES_HAUNTER
{0x77, 0x05}, // SPECIES_GENGAR
- {0x77, 0x05}, // SPECIES_ONIX
- {0x78, 0x02}, // SPECIES_DROWZEE
- {0x77, 0x07}, // SPECIES_HYPNO
- {0x77, 0x04}, // SPECIES_KRABBY
- {0x65, 0x0d}, // SPECIES_KINGLER
- {0x88, 0x03}, // SPECIES_VOLTORB
- {0x44, 0x13}, // SPECIES_ELECTRODE
- {0x55, 0x0e}, // SPECIES_EXEGGCUTE
- {0x87, 0x07}, // SPECIES_EXEGGUTOR
- {0x88, 0x00}, // SPECIES_CUBONE
- {0x55, 0x0f}, // SPECIES_MAROWAK
- {0x76, 0x0b}, // SPECIES_HITMONLEE
- {0x87, 0x04}, // SPECIES_HITMONCHAN
- {0x67, 0x04}, // SPECIES_LICKITUNG
- {0x86, 0x08}, // SPECIES_KOFFING
- {0x66, 0x08}, // SPECIES_WEEZING
- {0x88, 0x02}, // SPECIES_RHYHORN
- {0x76, 0x09}, // SPECIES_RHYDON
- {0x88, 0x02}, // SPECIES_CHANSEY
- {0x76, 0x09}, // SPECIES_TANGELA
- {0x67, 0x07}, // SPECIES_KANGASKHAN
- {0x88, 0x00}, // SPECIES_HORSEA
- {0x45, 0x0f}, // SPECIES_SEADRA
- {0x67, 0x07}, // SPECIES_GOLDEEN
- {0x66, 0x0a}, // SPECIES_SEAKING
- {0x77, 0x04}, // SPECIES_STARYU
- {0x66, 0x0a}, // SPECIES_STARMIE
- {0x77, 0x06}, // SPECIES_MR_MIME
- {0x66, 0x08}, // SPECIES_SCYTHER
- {0x88, 0x00}, // SPECIES_JYNX
- {0x77, 0x04}, // SPECIES_ELECTABUZZ
- {0x78, 0x02}, // SPECIES_MAGMAR
+ {0x78, 0x02}, // SPECIES_ONIX
+ {0x77, 0x07}, // SPECIES_DROWZEE
+ {0x77, 0x04}, // SPECIES_HYPNO
+ {0x65, 0x0d}, // SPECIES_KRABBY
+ {0x88, 0x03}, // SPECIES_KINGLER
+ {0x44, 0x13}, // SPECIES_VOLTORB
+ {0x55, 0x0e}, // SPECIES_ELECTRODE
+ {0x87, 0x07}, // SPECIES_EXEGGCUTE
+ {0x88, 0x00}, // SPECIES_EXEGGUTOR
+ {0x55, 0x0f}, // SPECIES_CUBONE
+ {0x76, 0x0b}, // SPECIES_MAROWAK
+ {0x87, 0x04}, // SPECIES_HITMONLEE
+ {0x67, 0x04}, // SPECIES_HITMONCHAN
+ {0x86, 0x08}, // SPECIES_LICKITUNG
+ {0x66, 0x08}, // SPECIES_KOFFING
+ {0x88, 0x02}, // SPECIES_WEEZING
+ {0x76, 0x09}, // SPECIES_RHYHORN
+ {0x88, 0x02}, // SPECIES_RHYDON
+ {0x76, 0x09}, // SPECIES_CHANSEY
+ {0x67, 0x07}, // SPECIES_TANGELA
+ {0x88, 0x00}, // SPECIES_KANGASKHAN
+ {0x45, 0x0f}, // SPECIES_HORSEA
+ {0x67, 0x07}, // SPECIES_SEADRA
+ {0x66, 0x0a}, // SPECIES_GOLDEEN
+ {0x77, 0x04}, // SPECIES_SEAKING
+ {0x66, 0x0a}, // SPECIES_STARYU
+ {0x77, 0x06}, // SPECIES_STARMIE
+ {0x66, 0x08}, // SPECIES_MR_MIME
+ {0x88, 0x00}, // SPECIES_SCYTHER
+ {0x77, 0x04}, // SPECIES_JYNX
+ {0x78, 0x02}, // SPECIES_ELECTABUZZ
+ {0x77, 0x04}, // SPECIES_MAGMAR
{0x77, 0x04}, // SPECIES_PINSIR
- {0x77, 0x04}, // SPECIES_TAUROS
- {0x78, 0x00}, // SPECIES_MAGIKARP
- {0x67, 0x06}, // SPECIES_GYARADOS
- {0x88, 0x08}, // SPECIES_LAPRAS
- {0x85, 0x0d}, // SPECIES_DITTO
- {0x54, 0x11}, // SPECIES_EEVEE
- {0x56, 0x09}, // SPECIES_VAPOREON
- {0x67, 0x06}, // SPECIES_JOLTEON
- {0x76, 0x09}, // SPECIES_FLAREON
- {0x66, 0x0a}, // SPECIES_PORYGON
- {0x55, 0x0d}, // SPECIES_OMANYTE
- {0x45, 0x0f}, // SPECIES_OMASTAR
- {0x67, 0x07}, // SPECIES_KABUTO
- {0x54, 0x11}, // SPECIES_KABUTOPS
- {0x88, 0x03}, // SPECIES_AERODACTYL
- {0x88, 0x01}, // SPECIES_SNORLAX
- {0x87, 0x05}, // SPECIES_ARTICUNO
- {0x88, 0x03}, // SPECIES_ZAPDOS
- {0x87, 0x04}, // SPECIES_MOLTRES
- {0x88, 0x00}, // SPECIES_DRATINI
- {0x75, 0x0e}, // SPECIES_DRAGONAIR
- {0x87, 0x06}, // SPECIES_DRAGONITE
+ {0x78, 0x00}, // SPECIES_TAUROS
+ {0x67, 0x06}, // SPECIES_MAGIKARP
+ {0x88, 0x08}, // SPECIES_GYARADOS
+ {0x85, 0x0d}, // SPECIES_LAPRAS
+ {0x54, 0x11}, // SPECIES_DITTO
+ {0x56, 0x09}, // SPECIES_EEVEE
+ {0x67, 0x06}, // SPECIES_VAPOREON
+ {0x76, 0x09}, // SPECIES_JOLTEON
+ {0x66, 0x0a}, // SPECIES_FLAREON
+ {0x55, 0x0d}, // SPECIES_PORYGON
+ {0x45, 0x0f}, // SPECIES_OMANYTE
+ {0x67, 0x07}, // SPECIES_OMASTAR
+ {0x54, 0x11}, // SPECIES_KABUTO
+ {0x88, 0x03}, // SPECIES_KABUTOPS
+ {0x88, 0x01}, // SPECIES_AERODACTYL
+ {0x87, 0x05}, // SPECIES_SNORLAX
+ {0x88, 0x03}, // SPECIES_ARTICUNO
+ {0x87, 0x04}, // SPECIES_ZAPDOS
+ {0x88, 0x00}, // SPECIES_MOLTRES
+ {0x75, 0x0e}, // SPECIES_DRATINI
+ {0x87, 0x06}, // SPECIES_DRAGONAIR
+ {0x88, 0x00}, // SPECIES_DRAGONITE
{0x88, 0x00}, // SPECIES_MEWTWO
- {0x88, 0x00}, // SPECIES_MEW
- {0x55, 0x0d}, // SPECIES_CHIKORITA
- {0x75, 0x0d}, // SPECIES_BAYLEEF
- {0x77, 0x04}, // SPECIES_MEGANIUM
- {0x88, 0x00}, // SPECIES_CYNDAQUIL
- {0x55, 0x0e}, // SPECIES_QUILAVA
- {0x76, 0x08}, // SPECIES_TYPHLOSION
- {0x78, 0x00}, // SPECIES_TOTODILE
- {0x55, 0x0f}, // SPECIES_CROCONAW
- {0x67, 0x06}, // SPECIES_FERALIGATR
- {0x88, 0x00}, // SPECIES_SENTRET
- {0x47, 0x04}, // SPECIES_FURRET
- {0x67, 0x07}, // SPECIES_HOOTHOOT
- {0x55, 0x0d}, // SPECIES_NOCTOWL
- {0x58, 0x03}, // SPECIES_LEDYBA
- {0x56, 0x0c}, // SPECIES_LEDIAN
- {0x67, 0x04}, // SPECIES_SPINARAK
- {0x54, 0x13}, // SPECIES_ARIADOS
- {0x87, 0x05}, // SPECIES_CROBAT
- {0x88, 0x00}, // SPECIES_CHINCHOU
- {0x75, 0x10}, // SPECIES_LANTURN
- {0x87, 0x0b}, // SPECIES_PICHU
- {0x45, 0x0c}, // SPECIES_CLEFFA
- {0x44, 0x14}, // SPECIES_IGGLYBUFF
- {0x44, 0x12}, // SPECIES_TOGEPI
- {0x34, 0x14}, // SPECIES_TOGETIC
- {0x46, 0x09}, // SPECIES_NATU
- {0x44, 0x14}, // SPECIES_XATU
- {0x47, 0x07}, // SPECIES_MAREEP
- {0x55, 0x10}, // SPECIES_FLAAFFY
- {0x56, 0x0a}, // SPECIES_AMPHAROS
- {0x77, 0x05}, // SPECIES_BELLOSSOM
- {0x45, 0x0e}, // SPECIES_MARILL
- {0x65, 0x0e}, // SPECIES_AZUMARILL
- {0x76, 0x09}, // SPECIES_SUDOWOODO
+ {0x55, 0x0d}, // SPECIES_MEW
+ {0x75, 0x0d}, // SPECIES_CHIKORITA
+ {0x77, 0x04}, // SPECIES_BAYLEEF
+ {0x88, 0x00}, // SPECIES_MEGANIUM
+ {0x55, 0x0e}, // SPECIES_CYNDAQUIL
+ {0x76, 0x08}, // SPECIES_QUILAVA
+ {0x78, 0x00}, // SPECIES_TYPHLOSION
+ {0x55, 0x0f}, // SPECIES_TOTODILE
+ {0x67, 0x06}, // SPECIES_CROCONAW
+ {0x88, 0x00}, // SPECIES_FERALIGATR
+ {0x47, 0x04}, // SPECIES_SENTRET
+ {0x67, 0x07}, // SPECIES_FURRET
+ {0x55, 0x0d}, // SPECIES_HOOTHOOT
+ {0x58, 0x03}, // SPECIES_NOCTOWL
+ {0x56, 0x0c}, // SPECIES_LEDYBA
+ {0x67, 0x04}, // SPECIES_LEDIAN
+ {0x54, 0x13}, // SPECIES_SPINARAK
+ {0x87, 0x05}, // SPECIES_ARIADOS
+ {0x88, 0x00}, // SPECIES_CROBAT
+ {0x75, 0x10}, // SPECIES_CHINCHOU
+ {0x87, 0x0b}, // SPECIES_LANTURN
+ {0x45, 0x0c}, // SPECIES_PICHU
+ {0x44, 0x14}, // SPECIES_CLEFFA
+ {0x44, 0x12}, // SPECIES_IGGLYBUFF
+ {0x34, 0x14}, // SPECIES_TOGEPI
+ {0x46, 0x09}, // SPECIES_TOGETIC
+ {0x44, 0x14}, // SPECIES_NATU
+ {0x47, 0x07}, // SPECIES_XATU
+ {0x55, 0x10}, // SPECIES_MAREEP
+ {0x56, 0x0a}, // SPECIES_FLAAFFY
+ {0x77, 0x05}, // SPECIES_AMPHAROS
+ {0x45, 0x0e}, // SPECIES_BELLOSSOM
+ {0x65, 0x0e}, // SPECIES_MARILL
+ {0x76, 0x09}, // SPECIES_AZUMARILL
+ {0x67, 0x06}, // SPECIES_SUDOWOODO
{0x67, 0x06}, // SPECIES_POLITOED
- {0x67, 0x06}, // SPECIES_HOPPIP
- {0x66, 0x0a}, // SPECIES_SKIPLOOM
- {0x55, 0x0f}, // SPECIES_JUMPLUFF
- {0x77, 0x07}, // SPECIES_AIPOM
- {0x58, 0x03}, // SPECIES_SUNKERN
- {0x44, 0x10}, // SPECIES_SUNFLORA
- {0x56, 0x08}, // SPECIES_YANMA
- {0x86, 0x0a}, // SPECIES_WOOPER
- {0x54, 0x10}, // SPECIES_QUAGSIRE
- {0x77, 0x07}, // SPECIES_ESPEON
- {0x66, 0x08}, // SPECIES_UMBREON
- {0x67, 0x08}, // SPECIES_MURKROW
- {0x66, 0x0b}, // SPECIES_SLOWKING
- {0x58, 0x01}, // SPECIES_MISDREAVUS
- {0x55, 0x0c}, // SPECIES_UNOWN
- {0x35, 0x0f}, // SPECIES_WOBBUFFET
- {0x77, 0x06}, // SPECIES_GIRAFARIG
- {0x88, 0x03}, // SPECIES_PINECO
- {0x56, 0x0a}, // SPECIES_FORRETRESS
- {0x76, 0x09}, // SPECIES_DUNSPARCE
- {0x74, 0x11}, // SPECIES_GLIGAR
- {0x78, 0x03}, // SPECIES_STEELIX
- {0x88, 0x00}, // SPECIES_SNUBBULL
- {0x55, 0x0d}, // SPECIES_GRANBULL
- {0x57, 0x06}, // SPECIES_QWILFISH
- {0x56, 0x0a}, // SPECIES_SCIZOR
- {0x88, 0x00}, // SPECIES_SHUCKLE
- {0x66, 0x09}, // SPECIES_HERACROSS
- {0x88, 0x03}, // SPECIES_SNEASEL
- {0x67, 0x05}, // SPECIES_TEDDIURSA
- {0x45, 0x0d}, // SPECIES_URSARING
- {0x78, 0x01}, // SPECIES_SLUGMA
- {0x45, 0x0d}, // SPECIES_MAGCARGO
- {0x57, 0x0d}, // SPECIES_SWINUB
- {0x43, 0x14}, // SPECIES_PILOSWINE
- {0x66, 0x08}, // SPECIES_CORSOLA
- {0x65, 0x0c}, // SPECIES_REMORAID
- {0x55, 0x0e}, // SPECIES_OCTILLERY
- {0x66, 0x0a}, // SPECIES_DELIBIRD
- {0x56, 0x08}, // SPECIES_MANTINE
- {0x88, 0x01}, // SPECIES_SKARMORY
- {0x88, 0x00}, // SPECIES_HOUNDOUR
- {0x56, 0x0b}, // SPECIES_HOUNDOOM
- {0x77, 0x05}, // SPECIES_KINGDRA
- {0x78, 0x04}, // SPECIES_PHANPY
- {0x54, 0x10}, // SPECIES_DONPHAN
- {0x86, 0x08}, // SPECIES_PORYGON2
- {0x55, 0x0f}, // SPECIES_STANTLER
- {0x88, 0x00}, // SPECIES_SMEARGLE
- {0x77, 0x06}, // SPECIES_TYROGUE
- {0x46, 0x09}, // SPECIES_HITMONTOP
- {0x67, 0x05}, // SPECIES_SMOOCHUM
- {0x35, 0x0f}, // SPECIES_ELEKID
- {0x76, 0x0a}, // SPECIES_MAGBY
- {0x45, 0x0d}, // SPECIES_MILTANK
- {0x77, 0x04}, // SPECIES_BLISSEY
- {0x77, 0x06}, // SPECIES_RAIKOU
+ {0x66, 0x0a}, // SPECIES_HOPPIP
+ {0x55, 0x0f}, // SPECIES_SKIPLOOM
+ {0x77, 0x07}, // SPECIES_JUMPLUFF
+ {0x58, 0x03}, // SPECIES_AIPOM
+ {0x44, 0x10}, // SPECIES_SUNKERN
+ {0x56, 0x08}, // SPECIES_SUNFLORA
+ {0x86, 0x0a}, // SPECIES_YANMA
+ {0x54, 0x10}, // SPECIES_WOOPER
+ {0x77, 0x07}, // SPECIES_QUAGSIRE
+ {0x66, 0x08}, // SPECIES_ESPEON
+ {0x67, 0x08}, // SPECIES_UMBREON
+ {0x66, 0x0b}, // SPECIES_MURKROW
+ {0x58, 0x01}, // SPECIES_SLOWKING
+ {0x55, 0x0c}, // SPECIES_MISDREAVUS
+ {0x35, 0x0f}, // SPECIES_UNOWN
+ {0x77, 0x06}, // SPECIES_WOBBUFFET
+ {0x88, 0x03}, // SPECIES_GIRAFARIG
+ {0x56, 0x0a}, // SPECIES_PINECO
+ {0x76, 0x09}, // SPECIES_FORRETRESS
+ {0x74, 0x11}, // SPECIES_DUNSPARCE
+ {0x78, 0x03}, // SPECIES_GLIGAR
+ {0x88, 0x00}, // SPECIES_STEELIX
+ {0x55, 0x0d}, // SPECIES_SNUBBULL
+ {0x57, 0x06}, // SPECIES_GRANBULL
+ {0x56, 0x0a}, // SPECIES_QWILFISH
+ {0x88, 0x00}, // SPECIES_SCIZOR
+ {0x66, 0x09}, // SPECIES_SHUCKLE
+ {0x88, 0x03}, // SPECIES_HERACROSS
+ {0x67, 0x05}, // SPECIES_SNEASEL
+ {0x45, 0x0d}, // SPECIES_TEDDIURSA
+ {0x78, 0x01}, // SPECIES_URSARING
+ {0x45, 0x0d}, // SPECIES_SLUGMA
+ {0x57, 0x0d}, // SPECIES_MAGCARGO
+ {0x43, 0x14}, // SPECIES_SWINUB
+ {0x66, 0x08}, // SPECIES_PILOSWINE
+ {0x65, 0x0c}, // SPECIES_CORSOLA
+ {0x55, 0x0e}, // SPECIES_REMORAID
+ {0x66, 0x0a}, // SPECIES_OCTILLERY
+ {0x56, 0x08}, // SPECIES_DELIBIRD
+ {0x88, 0x01}, // SPECIES_MANTINE
+ {0x88, 0x00}, // SPECIES_SKARMORY
+ {0x56, 0x0b}, // SPECIES_HOUNDOUR
+ {0x77, 0x05}, // SPECIES_HOUNDOOM
+ {0x78, 0x04}, // SPECIES_KINGDRA
+ {0x54, 0x10}, // SPECIES_PHANPY
+ {0x86, 0x08}, // SPECIES_DONPHAN
+ {0x55, 0x0f}, // SPECIES_PORYGON2
+ {0x88, 0x00}, // SPECIES_STANTLER
+ {0x77, 0x06}, // SPECIES_SMEARGLE
+ {0x46, 0x09}, // SPECIES_TYROGUE
+ {0x67, 0x05}, // SPECIES_HITMONTOP
+ {0x35, 0x0f}, // SPECIES_SMOOCHUM
+ {0x76, 0x0a}, // SPECIES_ELEKID
+ {0x45, 0x0d}, // SPECIES_MAGBY
+ {0x77, 0x04}, // SPECIES_MILTANK
+ {0x77, 0x06}, // SPECIES_BLISSEY
+ {0x88, 0x00}, // SPECIES_RAIKOU
{0x88, 0x00}, // SPECIES_ENTEI
{0x88, 0x00}, // SPECIES_SUICUNE
- {0x88, 0x00}, // SPECIES_LARVITAR
- {0x46, 0x09}, // SPECIES_PUPITAR
- {0x56, 0x09}, // SPECIES_TYRANITAR
+ {0x46, 0x09}, // SPECIES_LARVITAR
+ {0x56, 0x09}, // SPECIES_PUPITAR
+ {0x88, 0x00}, // SPECIES_TYRANITAR
{0x88, 0x00}, // SPECIES_LUGIA
{0x88, 0x00}, // SPECIES_HO_OH
- {0x88, 0x00}, // SPECIES_CELEBI
- {0x55, 0x0e}, // SPECIES_OLD_UNOWN_B
+ {0x55, 0x0e}, // SPECIES_CELEBI
+ {0x87, 0x04}, // SPECIES_OLD_UNOWN_B
{0x87, 0x04}, // SPECIES_OLD_UNOWN_C
{0x87, 0x04}, // SPECIES_OLD_UNOWN_D
{0x87, 0x04}, // SPECIES_OLD_UNOWN_E
@@ -276,168 +277,167 @@ const struct MonCoords gMonFrontPicCoords[] =
{0x87, 0x04}, // SPECIES_OLD_UNOWN_X
{0x87, 0x04}, // SPECIES_OLD_UNOWN_Y
{0x87, 0x04}, // SPECIES_OLD_UNOWN_Z
- {0x87, 0x04}, // SPECIES_TREECKO
- {0x66, 0x08}, // SPECIES_GROVYLE
- {0x87, 0x04}, // SPECIES_SCEPTILE
- {0x88, 0x00}, // SPECIES_TORCHIC
- {0x56, 0x08}, // SPECIES_COMBUSKEN
- {0x88, 0x01}, // SPECIES_BLAZIKEN
- {0x88, 0x00}, // SPECIES_MUDKIP
- {0x56, 0x0c}, // SPECIES_MARSHTOMP
- {0x67, 0x06}, // SPECIES_SWAMPERT
- {0x88, 0x00}, // SPECIES_POOCHYENA
- {0x55, 0x0c}, // SPECIES_MIGHTYENA
- {0x87, 0x04}, // SPECIES_ZIGZAGOON
- {0x85, 0x0f}, // SPECIES_LINOONE
- {0x78, 0x03}, // SPECIES_WURMPLE
- {0x45, 0x0e}, // SPECIES_SILCOON
- {0x75, 0x11}, // SPECIES_BEAUTIFLY
- {0x86, 0x09}, // SPECIES_CASCOON
- {0x74, 0x10}, // SPECIES_DUSTOX
- {0x86, 0x0f}, // SPECIES_LOTAD
- {0x65, 0x0e}, // SPECIES_LOMBRE
- {0x66, 0x09}, // SPECIES_LUDICOLO
- {0x88, 0x00}, // SPECIES_SEEDOT
- {0x46, 0x10}, // SPECIES_NUZLEAF
- {0x56, 0x08}, // SPECIES_SHIFTRY
- {0x88, 0x02}, // SPECIES_NINCADA
- {0x74, 0x12}, // SPECIES_NINJASK
- {0x86, 0x0a}, // SPECIES_SHEDINJA
- {0x66, 0x0a}, // SPECIES_TAILLOW
- {0x64, 0x10}, // SPECIES_SWELLOW
- {0x87, 0x06}, // SPECIES_SHROOMISH
- {0x54, 0x10}, // SPECIES_BRELOOM
- {0x77, 0x04}, // SPECIES_SPINDA
- {0x68, 0x08}, // SPECIES_WINGULL
- {0x84, 0x18}, // SPECIES_PELIPPER
- {0x77, 0x04}, // SPECIES_SURSKIT
- {0x65, 0x0f}, // SPECIES_MASQUERAIN
- {0x88, 0x01}, // SPECIES_WAILMER
- {0x75, 0x0f}, // SPECIES_WAILORD
- {0x87, 0x0a}, // SPECIES_SKITTY
- {0x66, 0x0b}, // SPECIES_DELCATTY
- {0x66, 0x08}, // SPECIES_KECLEON
- {0x67, 0x07}, // SPECIES_BALTOY
- {0x55, 0x10}, // SPECIES_CLAYDOL
- {0x78, 0x06}, // SPECIES_NOSEPASS
- {0x56, 0x0c}, // SPECIES_TORKOAL
- {0x88, 0x02}, // SPECIES_SABLEYE
- {0x66, 0x09}, // SPECIES_BARBOACH
- {0x46, 0x0b}, // SPECIES_WHISCASH
- {0x76, 0x09}, // SPECIES_LUVDISC
- {0x46, 0x18}, // SPECIES_CORPHISH
- {0x66, 0x0c}, // SPECIES_CRAWDAUNT
- {0x88, 0x01}, // SPECIES_FEEBAS
- {0x46, 0x0d}, // SPECIES_MILOTIC
- {0x88, 0x00}, // SPECIES_CARVANHA
- {0x67, 0x06}, // SPECIES_SHARPEDO
- {0x78, 0x03}, // SPECIES_TRAPINCH
- {0x54, 0x10}, // SPECIES_VIBRAVA
- {0x86, 0x0c}, // SPECIES_FLYGON
- {0x88, 0x01}, // SPECIES_MAKUHITA
- {0x65, 0x0c}, // SPECIES_HARIYAMA
- {0x88, 0x01}, // SPECIES_ELECTRIKE
- {0x64, 0x12}, // SPECIES_MANECTRIC
- {0x67, 0x04}, // SPECIES_NUMEL
- {0x65, 0x0f}, // SPECIES_CAMERUPT
- {0x87, 0x09}, // SPECIES_SPHEAL
- {0x65, 0x10}, // SPECIES_SEALEO
- {0x86, 0x0a}, // SPECIES_WALREIN
- {0x88, 0x01}, // SPECIES_CACNEA
- {0x74, 0x10}, // SPECIES_CACTURNE
- {0x88, 0x00}, // SPECIES_SNORUNT
- {0x56, 0x0b}, // SPECIES_GLALIE
- {0x76, 0x0a}, // SPECIES_LUNATONE
- {0x66, 0x09}, // SPECIES_SOLROCK
- {0x88, 0x01}, // SPECIES_AZURILL
- {0x55, 0x0f}, // SPECIES_SPOINK
- {0x46, 0x09}, // SPECIES_GRUMPIG
- {0x77, 0x05}, // SPECIES_PLUSLE
- {0x56, 0x0e}, // SPECIES_MINUN
- {0x66, 0x0c}, // SPECIES_MAWILE
- {0x76, 0x08}, // SPECIES_MEDITITE
- {0x65, 0x0c}, // SPECIES_MEDICHAM
- {0x68, 0x01}, // SPECIES_SWABLU
- {0x76, 0x11}, // SPECIES_ALTARIA
- {0x88, 0x02}, // SPECIES_WYNAUT
- {0x55, 0x0c}, // SPECIES_DUSKULL
- {0x66, 0x0a}, // SPECIES_DUSCLOPS
- {0x77, 0x05}, // SPECIES_ROSELIA
- {0x76, 0x08}, // SPECIES_SLAKOTH
- {0x74, 0x12}, // SPECIES_VIGOROTH
- {0x78, 0x00}, // SPECIES_SLAKING
- {0x86, 0x08}, // SPECIES_GULPIN
- {0x55, 0x12}, // SPECIES_SWALOT
- {0x66, 0x08}, // SPECIES_TROPIUS
- {0x88, 0x00}, // SPECIES_WHISMUR
- {0x55, 0x0e}, // SPECIES_LOUDRED
- {0x78, 0x03}, // SPECIES_EXPLOUD
- {0x88, 0x01}, // SPECIES_CLAMPERL
- {0x55, 0x0e}, // SPECIES_HUNTAIL
- {0x78, 0x03}, // SPECIES_GOREBYSS
- {0x86, 0x0b}, // SPECIES_ABSOL
- {0x68, 0x00}, // SPECIES_SHUPPET
- {0x56, 0x0e}, // SPECIES_BANETTE
- {0x55, 0x0c}, // SPECIES_SEVIPER
- {0x77, 0x08}, // SPECIES_ZANGOOSE
- {0x87, 0x05}, // SPECIES_RELICANTH
- {0x77, 0x0b}, // SPECIES_ARON
- {0x43, 0x14}, // SPECIES_LAIRON
- {0x75, 0x0d}, // SPECIES_AGGRON
- {0x88, 0x00}, // SPECIES_CASTFORM
- {0x34, 0x11}, // SPECIES_VOLBEAT
- {0x66, 0x08}, // SPECIES_ILLUMISE
- {0x56, 0x08}, // SPECIES_LILEEP
- {0x67, 0x07}, // SPECIES_CRADILY
- {0x78, 0x00}, // SPECIES_ANORITH
- {0x66, 0x08}, // SPECIES_ARMALDO
- {0x88, 0x00}, // SPECIES_RALTS
- {0x35, 0x0f}, // SPECIES_KIRLIA
- {0x47, 0x06}, // SPECIES_GARDEVOIR
- {0x78, 0x01}, // SPECIES_BAGON
- {0x56, 0x0b}, // SPECIES_SHELGON
- {0x66, 0x09}, // SPECIES_SALAMENCE
- {0x87, 0x04}, // SPECIES_BELDUM
- {0x55, 0x0f}, // SPECIES_METANG
- {0x87, 0x07}, // SPECIES_METAGROSS
- {0x87, 0x06}, // SPECIES_REGIROCK
- {0x78, 0x04}, // SPECIES_REGICE
- {0x88, 0x02}, // SPECIES_REGISTEEL
- {0x88, 0x03}, // SPECIES_KYOGRE
- {0x87, 0x04}, // SPECIES_GROUDON
- {0x88, 0x01}, // SPECIES_RAYQUAZA
- {0x88, 0x00}, // SPECIES_LATIAS
- {0x88, 0x01}, // SPECIES_LATIOS
- {0x88, 0x02}, // SPECIES_JIRACHI
- {0x66, 0x0d}, // SPECIES_DEOXYS
- {0x88, 0x01}, // SPECIES_CHIMECHO
- {0x37, 0x06}, // SPECIES_EGG
- {0x33, 0x14}, // SPECIES_UNOWN_B
- {0x34, 0x10}, // SPECIES_UNOWN_C
+ {0x66, 0x08}, // SPECIES_TREECKO
+ {0x87, 0x04}, // SPECIES_GROVYLE
+ {0x88, 0x00}, // SPECIES_SCEPTILE
+ {0x56, 0x08}, // SPECIES_TORCHIC
+ {0x88, 0x01}, // SPECIES_COMBUSKEN
+ {0x88, 0x00}, // SPECIES_BLAZIKEN
+ {0x56, 0x0c}, // SPECIES_MUDKIP
+ {0x67, 0x06}, // SPECIES_MARSHTOMP
+ {0x88, 0x00}, // SPECIES_SWAMPERT
+ {0x55, 0x0c}, // SPECIES_POOCHYENA
+ {0x87, 0x04}, // SPECIES_MIGHTYENA
+ {0x85, 0x0f}, // SPECIES_ZIGZAGOON
+ {0x78, 0x03}, // SPECIES_LINOONE
+ {0x45, 0x0e}, // SPECIES_WURMPLE
+ {0x75, 0x11}, // SPECIES_SILCOON
+ {0x86, 0x09}, // SPECIES_BEAUTIFLY
+ {0x74, 0x10}, // SPECIES_CASCOON
+ {0x86, 0x0f}, // SPECIES_DUSTOX
+ {0x65, 0x0e}, // SPECIES_LOTAD
+ {0x66, 0x09}, // SPECIES_LOMBRE
+ {0x88, 0x00}, // SPECIES_LUDICOLO
+ {0x46, 0x10}, // SPECIES_SEEDOT
+ {0x56, 0x08}, // SPECIES_NUZLEAF
+ {0x88, 0x02}, // SPECIES_SHIFTRY
+ {0x74, 0x12}, // SPECIES_NINCADA
+ {0x86, 0x0a}, // SPECIES_NINJASK
+ {0x66, 0x0a}, // SPECIES_SHEDINJA
+ {0x64, 0x10}, // SPECIES_TAILLOW
+ {0x87, 0x06}, // SPECIES_SWELLOW
+ {0x54, 0x10}, // SPECIES_SHROOMISH
+ {0x77, 0x04}, // SPECIES_BRELOOM
+ {0x68, 0x08}, // SPECIES_SPINDA
+ {0x84, 0x18}, // SPECIES_WINGULL
+ {0x77, 0x04}, // SPECIES_PELIPPER
+ {0x65, 0x0f}, // SPECIES_SURSKIT
+ {0x88, 0x01}, // SPECIES_MASQUERAIN
+ {0x75, 0x0f}, // SPECIES_WAILMER
+ {0x87, 0x0a}, // SPECIES_WAILORD
+ {0x66, 0x0b}, // SPECIES_SKITTY
+ {0x66, 0x08}, // SPECIES_DELCATTY
+ {0x67, 0x07}, // SPECIES_KECLEON
+ {0x55, 0x10}, // SPECIES_BALTOY
+ {0x78, 0x06}, // SPECIES_CLAYDOL
+ {0x56, 0x0c}, // SPECIES_NOSEPASS
+ {0x88, 0x02}, // SPECIES_TORKOAL
+ {0x66, 0x09}, // SPECIES_SABLEYE
+ {0x46, 0x0b}, // SPECIES_BARBOACH
+ {0x76, 0x09}, // SPECIES_WHISCASH
+ {0x46, 0x18}, // SPECIES_LUVDISC
+ {0x66, 0x0c}, // SPECIES_CORPHISH
+ {0x88, 0x01}, // SPECIES_CRAWDAUNT
+ {0x46, 0x0d}, // SPECIES_FEEBAS
+ {0x88, 0x00}, // SPECIES_MILOTIC
+ {0x67, 0x06}, // SPECIES_CARVANHA
+ {0x78, 0x03}, // SPECIES_SHARPEDO
+ {0x54, 0x10}, // SPECIES_TRAPINCH
+ {0x86, 0x0c}, // SPECIES_VIBRAVA
+ {0x88, 0x01}, // SPECIES_FLYGON
+ {0x65, 0x0c}, // SPECIES_MAKUHITA
+ {0x88, 0x01}, // SPECIES_HARIYAMA
+ {0x64, 0x12}, // SPECIES_ELECTRIKE
+ {0x67, 0x04}, // SPECIES_MANECTRIC
+ {0x65, 0x0f}, // SPECIES_NUMEL
+ {0x87, 0x09}, // SPECIES_CAMERUPT
+ {0x65, 0x10}, // SPECIES_SPHEAL
+ {0x86, 0x0a}, // SPECIES_SEALEO
+ {0x88, 0x01}, // SPECIES_WALREIN
+ {0x74, 0x10}, // SPECIES_CACNEA
+ {0x88, 0x00}, // SPECIES_CACTURNE
+ {0x56, 0x0b}, // SPECIES_SNORUNT
+ {0x76, 0x0a}, // SPECIES_GLALIE
+ {0x66, 0x09}, // SPECIES_LUNATONE
+ {0x88, 0x01}, // SPECIES_SOLROCK
+ {0x55, 0x0f}, // SPECIES_AZURILL
+ {0x46, 0x09}, // SPECIES_SPOINK
+ {0x77, 0x05}, // SPECIES_GRUMPIG
+ {0x56, 0x0e}, // SPECIES_PLUSLE
+ {0x66, 0x0c}, // SPECIES_MINUN
+ {0x76, 0x08}, // SPECIES_MAWILE
+ {0x65, 0x0c}, // SPECIES_MEDITITE
+ {0x68, 0x01}, // SPECIES_MEDICHAM
+ {0x76, 0x11}, // SPECIES_SWABLU
+ {0x88, 0x02}, // SPECIES_ALTARIA
+ {0x55, 0x0c}, // SPECIES_WYNAUT
+ {0x66, 0x0a}, // SPECIES_DUSKULL
+ {0x77, 0x05}, // SPECIES_DUSCLOPS
+ {0x76, 0x08}, // SPECIES_ROSELIA
+ {0x74, 0x12}, // SPECIES_SLAKOTH
+ {0x78, 0x00}, // SPECIES_VIGOROTH
+ {0x86, 0x08}, // SPECIES_SLAKING
+ {0x55, 0x12}, // SPECIES_GULPIN
+ {0x66, 0x08}, // SPECIES_SWALOT
+ {0x88, 0x00}, // SPECIES_TROPIUS
+ {0x55, 0x0e}, // SPECIES_WHISMUR
+ {0x78, 0x03}, // SPECIES_LOUDRED
+ {0x88, 0x01}, // SPECIES_EXPLOUD
+ {0x55, 0x0e}, // SPECIES_CLAMPERL
+ {0x78, 0x03}, // SPECIES_HUNTAIL
+ {0x86, 0x0b}, // SPECIES_GOREBYSS
+ {0x68, 0x00}, // SPECIES_ABSOL
+ {0x56, 0x0e}, // SPECIES_SHUPPET
+ {0x55, 0x0c}, // SPECIES_BANETTE
+ {0x77, 0x08}, // SPECIES_SEVIPER
+ {0x87, 0x05}, // SPECIES_ZANGOOSE
+ {0x77, 0x0b}, // SPECIES_RELICANTH
+ {0x43, 0x14}, // SPECIES_ARON
+ {0x75, 0x0d}, // SPECIES_LAIRON
+ {0x88, 0x00}, // SPECIES_AGGRON
+ {0x34, 0x11}, // SPECIES_CASTFORM
+ {0x66, 0x08}, // SPECIES_VOLBEAT
+ {0x56, 0x08}, // SPECIES_ILLUMISE
+ {0x67, 0x07}, // SPECIES_LILEEP
+ {0x78, 0x00}, // SPECIES_CRADILY
+ {0x66, 0x08}, // SPECIES_ANORITH
+ {0x88, 0x00}, // SPECIES_ARMALDO
+ {0x35, 0x0f}, // SPECIES_RALTS
+ {0x47, 0x06}, // SPECIES_KIRLIA
+ {0x78, 0x01}, // SPECIES_GARDEVOIR
+ {0x56, 0x0b}, // SPECIES_BAGON
+ {0x66, 0x09}, // SPECIES_SHELGON
+ {0x87, 0x04}, // SPECIES_SALAMENCE
+ {0x55, 0x0f}, // SPECIES_BELDUM
+ {0x87, 0x07}, // SPECIES_METANG
+ {0x87, 0x06}, // SPECIES_METAGROSS
+ {0x78, 0x04}, // SPECIES_REGIROCK
+ {0x88, 0x02}, // SPECIES_REGICE
+ {0x88, 0x03}, // SPECIES_REGISTEEL
+ {0x87, 0x04}, // SPECIES_KYOGRE
+ {0x88, 0x01}, // SPECIES_GROUDON
+ {0x88, 0x00}, // SPECIES_RAYQUAZA
+ {0x88, 0x01}, // SPECIES_LATIAS
+ {0x88, 0x02}, // SPECIES_LATIOS
+ {0x66, 0x0d}, // SPECIES_JIRACHI
+ {0x88, 0x01}, // SPECIES_DEOXYS
+ {0x37, 0x06}, // SPECIES_CHIMECHO
+ {0x33, 0x14}, // SPECIES_EGG
+ {0x34, 0x10}, // SPECIES_UNOWN_B
+ {0x44, 0x10}, // SPECIES_UNOWN_C
{0x44, 0x10}, // SPECIES_UNOWN_D
- {0x44, 0x10}, // SPECIES_UNOWN_E
+ {0x44, 0x11}, // SPECIES_UNOWN_E
{0x44, 0x11}, // SPECIES_UNOWN_F
- {0x44, 0x11}, // SPECIES_UNOWN_G
- {0x35, 0x0e}, // SPECIES_UNOWN_H
- {0x44, 0x10}, // SPECIES_UNOWN_I
- {0x34, 0x10}, // SPECIES_UNOWN_J
- {0x34, 0x11}, // SPECIES_UNOWN_K
- {0x44, 0x11}, // SPECIES_UNOWN_L
- {0x34, 0x13}, // SPECIES_UNOWN_M
- {0x44, 0x13}, // SPECIES_UNOWN_N
- {0x43, 0x14}, // SPECIES_UNOWN_O
- {0x44, 0x10}, // SPECIES_UNOWN_P
- {0x34, 0x13}, // SPECIES_UNOWN_Q
- {0x43, 0x15}, // SPECIES_UNOWN_R
- {0x34, 0x13}, // SPECIES_UNOWN_S
- {0x45, 0x0c}, // SPECIES_UNOWN_T
- {0x34, 0x12}, // SPECIES_UNOWN_U
+ {0x35, 0x0e}, // SPECIES_UNOWN_G
+ {0x44, 0x10}, // SPECIES_UNOWN_H
+ {0x34, 0x10}, // SPECIES_UNOWN_I
+ {0x34, 0x11}, // SPECIES_UNOWN_J
+ {0x44, 0x11}, // SPECIES_UNOWN_K
+ {0x34, 0x13}, // SPECIES_UNOWN_L
+ {0x44, 0x13}, // SPECIES_UNOWN_M
+ {0x43, 0x14}, // SPECIES_UNOWN_N
+ {0x44, 0x10}, // SPECIES_UNOWN_O
+ {0x34, 0x13}, // SPECIES_UNOWN_P
+ {0x43, 0x15}, // SPECIES_UNOWN_Q
+ {0x34, 0x13}, // SPECIES_UNOWN_R
+ {0x45, 0x0c}, // SPECIES_UNOWN_S
+ {0x34, 0x12}, // SPECIES_UNOWN_T
+ {0x44, 0x12}, // SPECIES_UNOWN_U
{0x44, 0x12}, // SPECIES_UNOWN_V
- {0x44, 0x12}, // SPECIES_UNOWN_W
- {0x44, 0x13}, // SPECIES_UNOWN_X
- {0x33, 0x15}, // SPECIES_UNOWN_Y
- {0x34, 0x11}, // SPECIES_UNOWN_Z
- {0x34, 0x10}, // SPECIES_UNOWN_EMARK
- {0x35, 0x0f}, // SPECIES_UNOWN_QMARK
- {0x35, 0x0d},
+ {0x44, 0x13}, // SPECIES_UNOWN_W
+ {0x33, 0x15}, // SPECIES_UNOWN_X
+ {0x34, 0x11}, // SPECIES_UNOWN_Y
+ {0x34, 0x10}, // SPECIES_UNOWN_Z
+ {0x35, 0x0f}, // SPECIES_UNOWN_EMARK
+ {0x35, 0x0d}, // SPECIES_UNOWN_QMARK
};
diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h
index 5aa22f4f8..92e6bab2e 100644
--- a/src/data/pokemon_graphics/front_pic_table.h
+++ b/src/data/pokemon_graphics/front_pic_table.h
@@ -1,446 +1,443 @@
-const struct CompressedSpriteSheet gMonFrontPicTable[] =
-{ //.data .size .tag
- gMonFrontPic_CircledQuestionMark, 0x800, 0,
- gMonFrontPic_Bulbasaur, 0x800, 1,
- gMonFrontPic_Ivysaur, 0x800, 2,
- gMonFrontPic_Venusaur, 0x800, 3,
- gMonFrontPic_Charmander, 0x800, 4,
- gMonFrontPic_Charmeleon, 0x800, 5,
- gMonFrontPic_Charizard, 0x800, 6,
- gMonFrontPic_Squirtle, 0x800, 7,
- gMonFrontPic_Wartortle, 0x800, 8,
- gMonFrontPic_Blastoise, 0x800, 9,
- gMonFrontPic_Caterpie, 0x800, 10,
- gMonFrontPic_Metapod, 0x800, 11,
- gMonFrontPic_Butterfree, 0x800, 12,
- gMonFrontPic_Weedle, 0x800, 13,
- gMonFrontPic_Kakuna, 0x800, 14,
- gMonFrontPic_Beedrill, 0x800, 15,
- gMonFrontPic_Pidgey, 0x800, 16,
- gMonFrontPic_Pidgeotto, 0x800, 17,
- gMonFrontPic_Pidgeot, 0x800, 18,
- gMonFrontPic_Rattata, 0x800, 19,
- gMonFrontPic_Raticate, 0x800, 20,
- gMonFrontPic_Spearow, 0x800, 21,
- gMonFrontPic_Fearow, 0x800, 22,
- gMonFrontPic_Ekans, 0x800, 23,
- gMonFrontPic_Arbok, 0x800, 24,
- gMonFrontPic_Pikachu, 0x800, 25,
- gMonFrontPic_Raichu, 0x800, 26,
- gMonFrontPic_Sandshrew, 0x800, 27,
- gMonFrontPic_Sandslash, 0x800, 28,
- gMonFrontPic_NidoranF, 0x800, 29,
- gMonFrontPic_Nidorina, 0x800, 30,
- gMonFrontPic_Nidoqueen, 0x800, 31,
- gMonFrontPic_NidoranM, 0x800, 32,
- gMonFrontPic_Nidorino, 0x800, 33,
- gMonFrontPic_Nidoking, 0x800, 34,
- gMonFrontPic_Clefairy, 0x800, 35,
- gMonFrontPic_Clefable, 0x800, 36,
- gMonFrontPic_Vulpix, 0x800, 37,
- gMonFrontPic_Ninetales, 0x800, 38,
- gMonFrontPic_Jigglypuff, 0x800, 39,
- gMonFrontPic_Wigglytuff, 0x800, 40,
- gMonFrontPic_Zubat, 0x800, 41,
- gMonFrontPic_Golbat, 0x800, 42,
- gMonFrontPic_Oddish, 0x800, 43,
- gMonFrontPic_Gloom, 0x800, 44,
- gMonFrontPic_Vileplume, 0x800, 45,
- gMonFrontPic_Paras, 0x800, 46,
- gMonFrontPic_Parasect, 0x800, 47,
- gMonFrontPic_Venonat, 0x800, 48,
- gMonFrontPic_Venomoth, 0x800, 49,
- gMonFrontPic_Diglett, 0x800, 50,
- gMonFrontPic_Dugtrio, 0x800, 51,
- gMonFrontPic_Meowth, 0x800, 52,
- gMonFrontPic_Persian, 0x800, 53,
- gMonFrontPic_Psyduck, 0x800, 54,
- gMonFrontPic_Golduck, 0x800, 55,
- gMonFrontPic_Mankey, 0x800, 56,
- gMonFrontPic_Primeape, 0x800, 57,
- gMonFrontPic_Growlithe, 0x800, 58,
- gMonFrontPic_Arcanine, 0x800, 59,
- gMonFrontPic_Poliwag, 0x800, 60,
- gMonFrontPic_Poliwhirl, 0x800, 61,
- gMonFrontPic_Poliwrath, 0x800, 62,
- gMonFrontPic_Abra, 0x800, 63,
- gMonFrontPic_Kadabra, 0x800, 64,
- gMonFrontPic_Alakazam, 0x800, 65,
- gMonFrontPic_Machop, 0x800, 66,
- gMonFrontPic_Machoke, 0x800, 67,
- gMonFrontPic_Machamp, 0x800, 68,
- gMonFrontPic_Bellsprout, 0x800, 69,
- gMonFrontPic_Weepinbell, 0x800, 70,
- gMonFrontPic_Victreebel, 0x800, 71,
- gMonFrontPic_Tentacool, 0x800, 72,
- gMonFrontPic_Tentacruel, 0x800, 73,
- gMonFrontPic_Geodude, 0x800, 74,
- gMonFrontPic_Graveler, 0x800, 75,
- gMonFrontPic_Golem, 0x800, 76,
- gMonFrontPic_Ponyta, 0x800, 77,
- gMonFrontPic_Rapidash, 0x800, 78,
- gMonFrontPic_Slowpoke, 0x800, 79,
- gMonFrontPic_Slowbro, 0x800, 80,
- gMonFrontPic_Magnemite, 0x800, 81,
- gMonFrontPic_Magneton, 0x800, 82,
- gMonFrontPic_Farfetchd, 0x800, 83,
- gMonFrontPic_Doduo, 0x800, 84,
- gMonFrontPic_Dodrio, 0x800, 85,
- gMonFrontPic_Seel, 0x800, 86,
- gMonFrontPic_Dewgong, 0x800, 87,
- gMonFrontPic_Grimer, 0x800, 88,
- gMonFrontPic_Muk, 0x800, 89,
- gMonFrontPic_Shellder, 0x800, 90,
- gMonFrontPic_Cloyster, 0x800, 91,
- gMonFrontPic_Gastly, 0x800, 92,
- gMonFrontPic_Haunter, 0x800, 93,
- gMonFrontPic_Gengar, 0x800, 94,
- gMonFrontPic_Onix, 0x800, 95,
- gMonFrontPic_Drowzee, 0x800, 96,
- gMonFrontPic_Hypno, 0x800, 97,
- gMonFrontPic_Krabby, 0x800, 98,
- gMonFrontPic_Kingler, 0x800, 99,
- gMonFrontPic_Voltorb, 0x800, 100,
- gMonFrontPic_Electrode, 0x800, 101,
- gMonFrontPic_Exeggcute, 0x800, 102,
- gMonFrontPic_Exeggutor, 0x800, 103,
- gMonFrontPic_Cubone, 0x800, 104,
- gMonFrontPic_Marowak, 0x800, 105,
- gMonFrontPic_Hitmonlee, 0x800, 106,
- gMonFrontPic_Hitmonchan, 0x800, 107,
- gMonFrontPic_Lickitung, 0x800, 108,
- gMonFrontPic_Koffing, 0x800, 109,
- gMonFrontPic_Weezing, 0x800, 110,
- gMonFrontPic_Rhyhorn, 0x800, 111,
- gMonFrontPic_Rhydon, 0x800, 112,
- gMonFrontPic_Chansey, 0x800, 113,
- gMonFrontPic_Tangela, 0x800, 114,
- gMonFrontPic_Kangaskhan, 0x800, 115,
- gMonFrontPic_Horsea, 0x800, 116,
- gMonFrontPic_Seadra, 0x800, 117,
- gMonFrontPic_Goldeen, 0x800, 118,
- gMonFrontPic_Seaking, 0x800, 119,
- gMonFrontPic_Staryu, 0x800, 120,
- gMonFrontPic_Starmie, 0x800, 121,
- gMonFrontPic_Mrmime, 0x800, 122,
- gMonFrontPic_Scyther, 0x800, 123,
- gMonFrontPic_Jynx, 0x800, 124,
- gMonFrontPic_Electabuzz, 0x800, 125,
- gMonFrontPic_Magmar, 0x800, 126,
- gMonFrontPic_Pinsir, 0x800, 127,
- gMonFrontPic_Tauros, 0x800, 128,
- gMonFrontPic_Magikarp, 0x800, 129,
- gMonFrontPic_Gyarados, 0x800, 130,
- gMonFrontPic_Lapras, 0x800, 131,
- gMonFrontPic_Ditto, 0x800, 132,
- gMonFrontPic_Eevee, 0x800, 133,
- gMonFrontPic_Vaporeon, 0x800, 134,
- gMonFrontPic_Jolteon, 0x800, 135,
- gMonFrontPic_Flareon, 0x800, 136,
- gMonFrontPic_Porygon, 0x800, 137,
- gMonFrontPic_Omanyte, 0x800, 138,
- gMonFrontPic_Omastar, 0x800, 139,
- gMonFrontPic_Kabuto, 0x800, 140,
- gMonFrontPic_Kabutops, 0x800, 141,
- gMonFrontPic_Aerodactyl, 0x800, 142,
- gMonFrontPic_Snorlax, 0x800, 143,
- gMonFrontPic_Articuno, 0x800, 144,
- gMonFrontPic_Zapdos, 0x800, 145,
- gMonFrontPic_Moltres, 0x800, 146,
- gMonFrontPic_Dratini, 0x800, 147,
- gMonFrontPic_Dragonair, 0x800, 148,
- gMonFrontPic_Dragonite, 0x800, 149,
- gMonFrontPic_Mewtwo, 0x800, 150,
- gMonFrontPic_Mew, 0x800, 151,
-// Gen II
- gMonFrontPic_Chikorita, 0x800, 152,
- gMonFrontPic_Bayleef, 0x800, 153,
- gMonFrontPic_Meganium, 0x800, 154,
- gMonFrontPic_Cyndaquil, 0x800, 155,
- gMonFrontPic_Quilava, 0x800, 156,
- gMonFrontPic_Typhlosion, 0x800, 157,
- gMonFrontPic_Totodile, 0x800, 158,
- gMonFrontPic_Croconaw, 0x800, 159,
- gMonFrontPic_Feraligatr, 0x800, 160,
- gMonFrontPic_Sentret, 0x800, 161,
- gMonFrontPic_Furret, 0x800, 162,
- gMonFrontPic_Hoothoot, 0x800, 163,
- gMonFrontPic_Noctowl, 0x800, 164,
- gMonFrontPic_Ledyba, 0x800, 165,
- gMonFrontPic_Ledian, 0x800, 166,
- gMonFrontPic_Spinarak, 0x800, 167,
- gMonFrontPic_Ariados, 0x800, 168,
- gMonFrontPic_Crobat, 0x800, 169,
- gMonFrontPic_Chinchou, 0x800, 170,
- gMonFrontPic_Lanturn, 0x800, 171,
- gMonFrontPic_Pichu, 0x800, 172,
- gMonFrontPic_Cleffa, 0x800, 173,
- gMonFrontPic_Igglybuff, 0x800, 174,
- gMonFrontPic_Togepi, 0x800, 175,
- gMonFrontPic_Togetic, 0x800, 176,
- gMonFrontPic_Natu, 0x800, 177,
- gMonFrontPic_Xatu, 0x800, 178,
- gMonFrontPic_Mareep, 0x800, 179,
- gMonFrontPic_Flaaffy, 0x800, 180,
- gMonFrontPic_Ampharos, 0x800, 181,
- gMonFrontPic_Bellossom, 0x800, 182,
- gMonFrontPic_Marill, 0x800, 183,
- gMonFrontPic_Azumarill, 0x800, 184,
- gMonFrontPic_Sudowoodo, 0x800, 185,
- gMonFrontPic_Politoed, 0x800, 186,
- gMonFrontPic_Hoppip, 0x800, 187,
- gMonFrontPic_Skiploom, 0x800, 188,
- gMonFrontPic_Jumpluff, 0x800, 189,
- gMonFrontPic_Aipom, 0x800, 190,
- gMonFrontPic_Sunkern, 0x800, 191,
- gMonFrontPic_Sunflora, 0x800, 192,
- gMonFrontPic_Yanma, 0x800, 193,
- gMonFrontPic_Wooper, 0x800, 194,
- gMonFrontPic_Quagsire, 0x800, 195,
- gMonFrontPic_Espeon, 0x800, 196,
- gMonFrontPic_Umbreon, 0x800, 197,
- gMonFrontPic_Murkrow, 0x800, 198,
- gMonFrontPic_Slowking, 0x800, 199,
- gMonFrontPic_Misdreavus, 0x800, 200,
- gMonFrontPic_UnownA, 0x800, 201,
- gMonFrontPic_Wobbuffet, 0x800, 202,
- gMonFrontPic_Girafarig, 0x800, 203,
- gMonFrontPic_Pineco, 0x800, 204,
- gMonFrontPic_Forretress, 0x800, 205,
- gMonFrontPic_Dunsparce, 0x800, 206,
- gMonFrontPic_Gligar, 0x800, 207,
- gMonFrontPic_Steelix, 0x800, 208,
- gMonFrontPic_Snubbull, 0x800, 209,
- gMonFrontPic_Granbull, 0x800, 210,
- gMonFrontPic_Qwilfish, 0x800, 211,
- gMonFrontPic_Scizor, 0x800, 212,
- gMonFrontPic_Shuckle, 0x800, 213,
- gMonFrontPic_Heracross, 0x800, 214,
- gMonFrontPic_Sneasel, 0x800, 215,
- gMonFrontPic_Teddiursa, 0x800, 216,
- gMonFrontPic_Ursaring, 0x800, 217,
- gMonFrontPic_Slugma, 0x800, 218,
- gMonFrontPic_Magcargo, 0x800, 219,
- gMonFrontPic_Swinub, 0x800, 220,
- gMonFrontPic_Piloswine, 0x800, 221,
- gMonFrontPic_Corsola, 0x800, 222,
- gMonFrontPic_Remoraid, 0x800, 223,
- gMonFrontPic_Octillery, 0x800, 224,
- gMonFrontPic_Delibird, 0x800, 225,
- gMonFrontPic_Mantine, 0x800, 226,
- gMonFrontPic_Skarmory, 0x800, 227,
- gMonFrontPic_Houndour, 0x800, 228,
- gMonFrontPic_Houndoom, 0x800, 229,
- gMonFrontPic_Kingdra, 0x800, 230,
- gMonFrontPic_Phanpy, 0x800, 231,
- gMonFrontPic_Donphan, 0x800, 232,
- gMonFrontPic_Porygon2, 0x800, 233,
- gMonFrontPic_Stantler, 0x800, 234,
- gMonFrontPic_Smeargle, 0x800, 235,
- gMonFrontPic_Tyrogue, 0x800, 236,
- gMonFrontPic_Hitmontop, 0x800, 237,
- gMonFrontPic_Smoochum, 0x800, 238,
- gMonFrontPic_Elekid, 0x800, 239,
- gMonFrontPic_Magby, 0x800, 240,
- gMonFrontPic_Miltank, 0x800, 241,
- gMonFrontPic_Blissey, 0x800, 242,
- gMonFrontPic_Raikou, 0x800, 243,
- gMonFrontPic_Entei, 0x800, 244,
- gMonFrontPic_Suicune, 0x800, 245,
- gMonFrontPic_Larvitar, 0x800, 246,
- gMonFrontPic_Pupitar, 0x800, 247,
- gMonFrontPic_Tyranitar, 0x800, 248,
- gMonFrontPic_Lugia, 0x800, 249,
- gMonFrontPic_HoOh, 0x800, 250,
- gMonFrontPic_Celebi, 0x800, 251,
-// Empty slots
- gMonFrontPic_DoubleQuestionMark, 0x800, 252,
- gMonFrontPic_DoubleQuestionMark, 0x800, 253,
- gMonFrontPic_DoubleQuestionMark, 0x800, 254,
- gMonFrontPic_DoubleQuestionMark, 0x800, 255,
- gMonFrontPic_DoubleQuestionMark, 0x800, 256,
- gMonFrontPic_DoubleQuestionMark, 0x800, 257,
- gMonFrontPic_DoubleQuestionMark, 0x800, 258,
- gMonFrontPic_DoubleQuestionMark, 0x800, 259,
- gMonFrontPic_DoubleQuestionMark, 0x800, 260,
- gMonFrontPic_DoubleQuestionMark, 0x800, 261,
- gMonFrontPic_DoubleQuestionMark, 0x800, 262,
- gMonFrontPic_DoubleQuestionMark, 0x800, 263,
- gMonFrontPic_DoubleQuestionMark, 0x800, 264,
- gMonFrontPic_DoubleQuestionMark, 0x800, 265,
- gMonFrontPic_DoubleQuestionMark, 0x800, 266,
- gMonFrontPic_DoubleQuestionMark, 0x800, 267,
- gMonFrontPic_DoubleQuestionMark, 0x800, 268,
- gMonFrontPic_DoubleQuestionMark, 0x800, 269,
- gMonFrontPic_DoubleQuestionMark, 0x800, 270,
- gMonFrontPic_DoubleQuestionMark, 0x800, 271,
- gMonFrontPic_DoubleQuestionMark, 0x800, 272,
- gMonFrontPic_DoubleQuestionMark, 0x800, 273,
- gMonFrontPic_DoubleQuestionMark, 0x800, 274,
- gMonFrontPic_DoubleQuestionMark, 0x800, 275,
- gMonFrontPic_DoubleQuestionMark, 0x800, 276,
-// Gen III
- gMonFrontPic_Treecko, 0x800, 277,
- gMonFrontPic_Grovyle, 0x800, 278,
- gMonFrontPic_Sceptile, 0x800, 279,
- gMonFrontPic_Torchic, 0x800, 280,
- gMonFrontPic_Combusken, 0x800, 281,
- gMonFrontPic_Blaziken, 0x800, 282,
- gMonFrontPic_Mudkip, 0x800, 283,
- gMonFrontPic_Marshtomp, 0x800, 284,
- gMonFrontPic_Swampert, 0x800, 285,
- gMonFrontPic_Poochyena, 0x800, 286,
- gMonFrontPic_Mightyena, 0x800, 287,
- gMonFrontPic_Zigzagoon, 0x800, 288,
- gMonFrontPic_Linoone, 0x800, 289,
- gMonFrontPic_Wurmple, 0x800, 290,
- gMonFrontPic_Silcoon, 0x800, 291,
- gMonFrontPic_Beautifly, 0x800, 292,
- gMonFrontPic_Cascoon, 0x800, 293,
- gMonFrontPic_Dustox, 0x800, 294,
- gMonFrontPic_Lotad, 0x800, 295,
- gMonFrontPic_Lombre, 0x800, 296,
- gMonFrontPic_Ludicolo, 0x800, 297,
- gMonFrontPic_Seedot, 0x800, 298,
- gMonFrontPic_Nuzleaf, 0x800, 299,
- gMonFrontPic_Shiftry, 0x800, 300,
- gMonFrontPic_Nincada, 0x800, 301,
- gMonFrontPic_Ninjask, 0x800, 302,
- gMonFrontPic_Shedinja, 0x800, 303,
- gMonFrontPic_Taillow, 0x800, 304,
- gMonFrontPic_Swellow, 0x800, 305,
- gMonFrontPic_Shroomish, 0x800, 306,
- gMonFrontPic_Breloom, 0x800, 307,
- gMonFrontPic_Spinda, 0x800, 308,
- gMonFrontPic_Wingull, 0x800, 309,
- gMonFrontPic_Pelipper, 0x800, 310,
- gMonFrontPic_Surskit, 0x800, 311,
- gMonFrontPic_Masquerain, 0x800, 312,
- gMonFrontPic_Wailmer, 0x800, 313,
- gMonFrontPic_Wailord, 0x800, 314,
- gMonFrontPic_Skitty, 0x800, 315,
- gMonFrontPic_Delcatty, 0x800, 316,
- gMonFrontPic_Kecleon, 0x800, 317,
- gMonFrontPic_Baltoy, 0x800, 318,
- gMonFrontPic_Claydol, 0x800, 319,
- gMonFrontPic_Nosepass, 0x800, 320,
- gMonFrontPic_Torkoal, 0x800, 321,
- gMonFrontPic_Sableye, 0x800, 322,
- gMonFrontPic_Barboach, 0x800, 323,
- gMonFrontPic_Whiscash, 0x800, 324,
- gMonFrontPic_Luvdisc, 0x800, 325,
- gMonFrontPic_Corphish, 0x800, 326,
- gMonFrontPic_Crawdaunt, 0x800, 327,
- gMonFrontPic_Feebas, 0x800, 328,
- gMonFrontPic_Milotic, 0x800, 329,
- gMonFrontPic_Carvanha, 0x800, 330,
- gMonFrontPic_Sharpedo, 0x800, 331,
- gMonFrontPic_Trapinch, 0x800, 332,
- gMonFrontPic_Vibrava, 0x800, 333,
- gMonFrontPic_Flygon, 0x800, 334,
- gMonFrontPic_Makuhita, 0x800, 335,
- gMonFrontPic_Hariyama, 0x800, 336,
- gMonFrontPic_Electrike, 0x800, 337,
- gMonFrontPic_Manectric, 0x800, 338,
- gMonFrontPic_Numel, 0x800, 339,
- gMonFrontPic_Camerupt, 0x800, 340,
- gMonFrontPic_Spheal, 0x800, 341,
- gMonFrontPic_Sealeo, 0x800, 342,
- gMonFrontPic_Walrein, 0x800, 343,
- gMonFrontPic_Cacnea, 0x800, 344,
- gMonFrontPic_Cacturne, 0x800, 345,
- gMonFrontPic_Snorunt, 0x800, 346,
- gMonFrontPic_Glalie, 0x800, 347,
- gMonFrontPic_Lunatone, 0x800, 348,
- gMonFrontPic_Solrock, 0x800, 349,
- gMonFrontPic_Azurill, 0x800, 350,
- gMonFrontPic_Spoink, 0x800, 351,
- gMonFrontPic_Grumpig, 0x800, 352,
- gMonFrontPic_Plusle, 0x800, 353,
- gMonFrontPic_Minun, 0x800, 354,
- gMonFrontPic_Mawile, 0x800, 355,
- gMonFrontPic_Meditite, 0x800, 356,
- gMonFrontPic_Medicham, 0x800, 357,
- gMonFrontPic_Swablu, 0x800, 358,
- gMonFrontPic_Altaria, 0x800, 359,
- gMonFrontPic_Wynaut, 0x800, 360,
- gMonFrontPic_Duskull, 0x800, 361,
- gMonFrontPic_Dusclops, 0x800, 362,
- gMonFrontPic_Roselia, 0x800, 363,
- gMonFrontPic_Slakoth, 0x800, 364,
- gMonFrontPic_Vigoroth, 0x800, 365,
- gMonFrontPic_Slaking, 0x800, 366,
- gMonFrontPic_Gulpin, 0x800, 367,
- gMonFrontPic_Swalot, 0x800, 368,
- gMonFrontPic_Tropius, 0x800, 369,
- gMonFrontPic_Whismur, 0x800, 370,
- gMonFrontPic_Loudred, 0x800, 371,
- gMonFrontPic_Exploud, 0x800, 372,
- gMonFrontPic_Clamperl, 0x800, 373,
- gMonFrontPic_Huntail, 0x800, 374,
- gMonFrontPic_Gorebyss, 0x800, 375,
- gMonFrontPic_Absol, 0x800, 376,
- gMonFrontPic_Shuppet, 0x800, 377,
- gMonFrontPic_Banette, 0x800, 378,
- gMonFrontPic_Seviper, 0x800, 379,
- gMonFrontPic_Zangoose, 0x800, 380,
- gMonFrontPic_Relicanth, 0x800, 381,
- gMonFrontPic_Aron, 0x800, 382,
- gMonFrontPic_Lairon, 0x800, 383,
- gMonFrontPic_Aggron, 0x800, 384,
- gMonFrontPic_Castform, 0x800, 385,
- gMonFrontPic_Volbeat, 0x800, 386,
- gMonFrontPic_Illumise, 0x800, 387,
- gMonFrontPic_Lileep, 0x800, 388,
- gMonFrontPic_Cradily, 0x800, 389,
- gMonFrontPic_Anorith, 0x800, 390,
- gMonFrontPic_Armaldo, 0x800, 391,
- gMonFrontPic_Ralts, 0x800, 392,
- gMonFrontPic_Kirlia, 0x800, 393,
- gMonFrontPic_Gardevoir, 0x800, 394,
- gMonFrontPic_Bagon, 0x800, 395,
- gMonFrontPic_Shelgon, 0x800, 396,
- gMonFrontPic_Salamence, 0x800, 397,
- gMonFrontPic_Beldum, 0x800, 398,
- gMonFrontPic_Metang, 0x800, 399,
- gMonFrontPic_Metagross, 0x800, 400,
- gMonFrontPic_Regirock, 0x800, 401,
- gMonFrontPic_Regice, 0x800, 402,
- gMonFrontPic_Registeel, 0x800, 403,
- gMonFrontPic_Kyogre, 0x800, 404,
- gMonFrontPic_Groudon, 0x800, 405,
- gMonFrontPic_Rayquaza, 0x800, 406,
- gMonFrontPic_Latias, 0x800, 407,
- gMonFrontPic_Latios, 0x800, 408,
- gMonFrontPic_Jirachi, 0x800, 409,
- gMonFrontPic_Deoxys, 0x800, 410,
- gMonFrontPic_Chimecho, 0x800, 411,
- gMonFrontPic_Egg, 0x800, 412,
- gMonFrontPic_UnownB, 0x800, 413,
- gMonFrontPic_UnownC, 0x800, 414,
- gMonFrontPic_UnownD, 0x800, 415,
- gMonFrontPic_UnownE, 0x800, 416,
- gMonFrontPic_UnownF, 0x800, 417,
- gMonFrontPic_UnownG, 0x800, 418,
- gMonFrontPic_UnownH, 0x800, 419,
- gMonFrontPic_UnownI, 0x800, 420,
- gMonFrontPic_UnownJ, 0x800, 421,
- gMonFrontPic_UnownK, 0x800, 422,
- gMonFrontPic_UnownL, 0x800, 423,
- gMonFrontPic_UnownM, 0x800, 424,
- gMonFrontPic_UnownN, 0x800, 425,
- gMonFrontPic_UnownO, 0x800, 426,
- gMonFrontPic_UnownP, 0x800, 427,
- gMonFrontPic_UnownQ, 0x800, 428,
- gMonFrontPic_UnownR, 0x800, 429,
- gMonFrontPic_UnownS, 0x800, 430,
- gMonFrontPic_UnownT, 0x800, 431,
- gMonFrontPic_UnownU, 0x800, 432,
- gMonFrontPic_UnownV, 0x800, 433,
- gMonFrontPic_UnownW, 0x800, 434,
- gMonFrontPic_UnownX, 0x800, 435,
- gMonFrontPic_UnownY, 0x800, 436,
- gMonFrontPic_UnownZ, 0x800, 437,
- gMonFrontPic_UnownExclamationMark, 0x800, 438,
- gMonFrontPic_UnownQuestionMark, 0x800, 439,
+const struct CompressedSpriteSheet gMonFrontPicTable[] =
+{
+ [SPECIES_NONE] = {gMonFrontPic_CircledQuestionMark, 0x800, SPECIES_NONE},
+ [SPECIES_BULBASAUR] = {gMonFrontPic_Bulbasaur, 0x800, SPECIES_BULBASAUR},
+ [SPECIES_IVYSAUR] = {gMonFrontPic_Ivysaur, 0x800, SPECIES_IVYSAUR},
+ [SPECIES_VENUSAUR] = {gMonFrontPic_Venusaur, 0x800, SPECIES_VENUSAUR},
+ [SPECIES_CHARMANDER] = {gMonFrontPic_Charmander, 0x800, SPECIES_CHARMANDER},
+ [SPECIES_CHARMELEON] = {gMonFrontPic_Charmeleon, 0x800, SPECIES_CHARMELEON},
+ [SPECIES_CHARIZARD] = {gMonFrontPic_Charizard, 0x800, SPECIES_CHARIZARD},
+ [SPECIES_SQUIRTLE] = {gMonFrontPic_Squirtle, 0x800, SPECIES_SQUIRTLE},
+ [SPECIES_WARTORTLE] = {gMonFrontPic_Wartortle, 0x800, SPECIES_WARTORTLE},
+ [SPECIES_BLASTOISE] = {gMonFrontPic_Blastoise, 0x800, SPECIES_BLASTOISE},
+ [SPECIES_CATERPIE] = {gMonFrontPic_Caterpie, 0x800, SPECIES_CATERPIE},
+ [SPECIES_METAPOD] = {gMonFrontPic_Metapod, 0x800, SPECIES_METAPOD},
+ [SPECIES_BUTTERFREE] = {gMonFrontPic_Butterfree, 0x800, SPECIES_BUTTERFREE},
+ [SPECIES_WEEDLE] = {gMonFrontPic_Weedle, 0x800, SPECIES_WEEDLE},
+ [SPECIES_KAKUNA] = {gMonFrontPic_Kakuna, 0x800, SPECIES_KAKUNA},
+ [SPECIES_BEEDRILL] = {gMonFrontPic_Beedrill, 0x800, SPECIES_BEEDRILL},
+ [SPECIES_PIDGEY] = {gMonFrontPic_Pidgey, 0x800, SPECIES_PIDGEY},
+ [SPECIES_PIDGEOTTO] = {gMonFrontPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO},
+ [SPECIES_PIDGEOT] = {gMonFrontPic_Pidgeot, 0x800, SPECIES_PIDGEOT},
+ [SPECIES_RATTATA] = {gMonFrontPic_Rattata, 0x800, SPECIES_RATTATA},
+ [SPECIES_RATICATE] = {gMonFrontPic_Raticate, 0x800, SPECIES_RATICATE},
+ [SPECIES_SPEAROW] = {gMonFrontPic_Spearow, 0x800, SPECIES_SPEAROW},
+ [SPECIES_FEAROW] = {gMonFrontPic_Fearow, 0x800, SPECIES_FEAROW},
+ [SPECIES_EKANS] = {gMonFrontPic_Ekans, 0x800, SPECIES_EKANS},
+ [SPECIES_ARBOK] = {gMonFrontPic_Arbok, 0x800, SPECIES_ARBOK},
+ [SPECIES_PIKACHU] = {gMonFrontPic_Pikachu, 0x800, SPECIES_PIKACHU},
+ [SPECIES_RAICHU] = {gMonFrontPic_Raichu, 0x800, SPECIES_RAICHU},
+ [SPECIES_SANDSHREW] = {gMonFrontPic_Sandshrew, 0x800, SPECIES_SANDSHREW},
+ [SPECIES_SANDSLASH] = {gMonFrontPic_Sandslash, 0x800, SPECIES_SANDSLASH},
+ [SPECIES_NIDORAN_F] = {gMonFrontPic_NidoranF, 0x800, SPECIES_NIDORAN_F},
+ [SPECIES_NIDORINA] = {gMonFrontPic_Nidorina, 0x800, SPECIES_NIDORINA},
+ [SPECIES_NIDOQUEEN] = {gMonFrontPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN},
+ [SPECIES_NIDORAN_M] = {gMonFrontPic_NidoranM, 0x800, SPECIES_NIDORAN_M},
+ [SPECIES_NIDORINO] = {gMonFrontPic_Nidorino, 0x800, SPECIES_NIDORINO},
+ [SPECIES_NIDOKING] = {gMonFrontPic_Nidoking, 0x800, SPECIES_NIDOKING},
+ [SPECIES_CLEFAIRY] = {gMonFrontPic_Clefairy, 0x800, SPECIES_CLEFAIRY},
+ [SPECIES_CLEFABLE] = {gMonFrontPic_Clefable, 0x800, SPECIES_CLEFABLE},
+ [SPECIES_VULPIX] = {gMonFrontPic_Vulpix, 0x800, SPECIES_VULPIX},
+ [SPECIES_NINETALES] = {gMonFrontPic_Ninetales, 0x800, SPECIES_NINETALES},
+ [SPECIES_JIGGLYPUFF] = {gMonFrontPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF},
+ [SPECIES_WIGGLYTUFF] = {gMonFrontPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF},
+ [SPECIES_ZUBAT] = {gMonFrontPic_Zubat, 0x800, SPECIES_ZUBAT},
+ [SPECIES_GOLBAT] = {gMonFrontPic_Golbat, 0x800, SPECIES_GOLBAT},
+ [SPECIES_ODDISH] = {gMonFrontPic_Oddish, 0x800, SPECIES_ODDISH},
+ [SPECIES_GLOOM] = {gMonFrontPic_Gloom, 0x800, SPECIES_GLOOM},
+ [SPECIES_VILEPLUME] = {gMonFrontPic_Vileplume, 0x800, SPECIES_VILEPLUME},
+ [SPECIES_PARAS] = {gMonFrontPic_Paras, 0x800, SPECIES_PARAS},
+ [SPECIES_PARASECT] = {gMonFrontPic_Parasect, 0x800, SPECIES_PARASECT},
+ [SPECIES_VENONAT] = {gMonFrontPic_Venonat, 0x800, SPECIES_VENONAT},
+ [SPECIES_VENOMOTH] = {gMonFrontPic_Venomoth, 0x800, SPECIES_VENOMOTH},
+ [SPECIES_DIGLETT] = {gMonFrontPic_Diglett, 0x800, SPECIES_DIGLETT},
+ [SPECIES_DUGTRIO] = {gMonFrontPic_Dugtrio, 0x800, SPECIES_DUGTRIO},
+ [SPECIES_MEOWTH] = {gMonFrontPic_Meowth, 0x800, SPECIES_MEOWTH},
+ [SPECIES_PERSIAN] = {gMonFrontPic_Persian, 0x800, SPECIES_PERSIAN},
+ [SPECIES_PSYDUCK] = {gMonFrontPic_Psyduck, 0x800, SPECIES_PSYDUCK},
+ [SPECIES_GOLDUCK] = {gMonFrontPic_Golduck, 0x800, SPECIES_GOLDUCK},
+ [SPECIES_MANKEY] = {gMonFrontPic_Mankey, 0x800, SPECIES_MANKEY},
+ [SPECIES_PRIMEAPE] = {gMonFrontPic_Primeape, 0x800, SPECIES_PRIMEAPE},
+ [SPECIES_GROWLITHE] = {gMonFrontPic_Growlithe, 0x800, SPECIES_GROWLITHE},
+ [SPECIES_ARCANINE] = {gMonFrontPic_Arcanine, 0x800, SPECIES_ARCANINE},
+ [SPECIES_POLIWAG] = {gMonFrontPic_Poliwag, 0x800, SPECIES_POLIWAG},
+ [SPECIES_POLIWHIRL] = {gMonFrontPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL},
+ [SPECIES_POLIWRATH] = {gMonFrontPic_Poliwrath, 0x800, SPECIES_POLIWRATH},
+ [SPECIES_ABRA] = {gMonFrontPic_Abra, 0x800, SPECIES_ABRA},
+ [SPECIES_KADABRA] = {gMonFrontPic_Kadabra, 0x800, SPECIES_KADABRA},
+ [SPECIES_ALAKAZAM] = {gMonFrontPic_Alakazam, 0x800, SPECIES_ALAKAZAM},
+ [SPECIES_MACHOP] = {gMonFrontPic_Machop, 0x800, SPECIES_MACHOP},
+ [SPECIES_MACHOKE] = {gMonFrontPic_Machoke, 0x800, SPECIES_MACHOKE},
+ [SPECIES_MACHAMP] = {gMonFrontPic_Machamp, 0x800, SPECIES_MACHAMP},
+ [SPECIES_BELLSPROUT] = {gMonFrontPic_Bellsprout, 0x800, SPECIES_BELLSPROUT},
+ [SPECIES_WEEPINBELL] = {gMonFrontPic_Weepinbell, 0x800, SPECIES_WEEPINBELL},
+ [SPECIES_VICTREEBEL] = {gMonFrontPic_Victreebel, 0x800, SPECIES_VICTREEBEL},
+ [SPECIES_TENTACOOL] = {gMonFrontPic_Tentacool, 0x800, SPECIES_TENTACOOL},
+ [SPECIES_TENTACRUEL] = {gMonFrontPic_Tentacruel, 0x800, SPECIES_TENTACRUEL},
+ [SPECIES_GEODUDE] = {gMonFrontPic_Geodude, 0x800, SPECIES_GEODUDE},
+ [SPECIES_GRAVELER] = {gMonFrontPic_Graveler, 0x800, SPECIES_GRAVELER},
+ [SPECIES_GOLEM] = {gMonFrontPic_Golem, 0x800, SPECIES_GOLEM},
+ [SPECIES_PONYTA] = {gMonFrontPic_Ponyta, 0x800, SPECIES_PONYTA},
+ [SPECIES_RAPIDASH] = {gMonFrontPic_Rapidash, 0x800, SPECIES_RAPIDASH},
+ [SPECIES_SLOWPOKE] = {gMonFrontPic_Slowpoke, 0x800, SPECIES_SLOWPOKE},
+ [SPECIES_SLOWBRO] = {gMonFrontPic_Slowbro, 0x800, SPECIES_SLOWBRO},
+ [SPECIES_MAGNEMITE] = {gMonFrontPic_Magnemite, 0x800, SPECIES_MAGNEMITE},
+ [SPECIES_MAGNETON] = {gMonFrontPic_Magneton, 0x800, SPECIES_MAGNETON},
+ [SPECIES_FARFETCHD] = {gMonFrontPic_Farfetchd, 0x800, SPECIES_FARFETCHD},
+ [SPECIES_DODUO] = {gMonFrontPic_Doduo, 0x800, SPECIES_DODUO},
+ [SPECIES_DODRIO] = {gMonFrontPic_Dodrio, 0x800, SPECIES_DODRIO},
+ [SPECIES_SEEL] = {gMonFrontPic_Seel, 0x800, SPECIES_SEEL},
+ [SPECIES_DEWGONG] = {gMonFrontPic_Dewgong, 0x800, SPECIES_DEWGONG},
+ [SPECIES_GRIMER] = {gMonFrontPic_Grimer, 0x800, SPECIES_GRIMER},
+ [SPECIES_MUK] = {gMonFrontPic_Muk, 0x800, SPECIES_MUK},
+ [SPECIES_SHELLDER] = {gMonFrontPic_Shellder, 0x800, SPECIES_SHELLDER},
+ [SPECIES_CLOYSTER] = {gMonFrontPic_Cloyster, 0x800, SPECIES_CLOYSTER},
+ [SPECIES_GASTLY] = {gMonFrontPic_Gastly, 0x800, SPECIES_GASTLY},
+ [SPECIES_HAUNTER] = {gMonFrontPic_Haunter, 0x800, SPECIES_HAUNTER},
+ [SPECIES_GENGAR] = {gMonFrontPic_Gengar, 0x800, SPECIES_GENGAR},
+ [SPECIES_ONIX] = {gMonFrontPic_Onix, 0x800, SPECIES_ONIX},
+ [SPECIES_DROWZEE] = {gMonFrontPic_Drowzee, 0x800, SPECIES_DROWZEE},
+ [SPECIES_HYPNO] = {gMonFrontPic_Hypno, 0x800, SPECIES_HYPNO},
+ [SPECIES_KRABBY] = {gMonFrontPic_Krabby, 0x800, SPECIES_KRABBY},
+ [SPECIES_KINGLER] = {gMonFrontPic_Kingler, 0x800, SPECIES_KINGLER},
+ [SPECIES_VOLTORB] = {gMonFrontPic_Voltorb, 0x800, SPECIES_VOLTORB},
+ [SPECIES_ELECTRODE] = {gMonFrontPic_Electrode, 0x800, SPECIES_ELECTRODE},
+ [SPECIES_EXEGGCUTE] = {gMonFrontPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE},
+ [SPECIES_EXEGGUTOR] = {gMonFrontPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR},
+ [SPECIES_CUBONE] = {gMonFrontPic_Cubone, 0x800, SPECIES_CUBONE},
+ [SPECIES_MAROWAK] = {gMonFrontPic_Marowak, 0x800, SPECIES_MAROWAK},
+ [SPECIES_HITMONLEE] = {gMonFrontPic_Hitmonlee, 0x800, SPECIES_HITMONLEE},
+ [SPECIES_HITMONCHAN] = {gMonFrontPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN},
+ [SPECIES_LICKITUNG] = {gMonFrontPic_Lickitung, 0x800, SPECIES_LICKITUNG},
+ [SPECIES_KOFFING] = {gMonFrontPic_Koffing, 0x800, SPECIES_KOFFING},
+ [SPECIES_WEEZING] = {gMonFrontPic_Weezing, 0x800, SPECIES_WEEZING},
+ [SPECIES_RHYHORN] = {gMonFrontPic_Rhyhorn, 0x800, SPECIES_RHYHORN},
+ [SPECIES_RHYDON] = {gMonFrontPic_Rhydon, 0x800, SPECIES_RHYDON},
+ [SPECIES_CHANSEY] = {gMonFrontPic_Chansey, 0x800, SPECIES_CHANSEY},
+ [SPECIES_TANGELA] = {gMonFrontPic_Tangela, 0x800, SPECIES_TANGELA},
+ [SPECIES_KANGASKHAN] = {gMonFrontPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN},
+ [SPECIES_HORSEA] = {gMonFrontPic_Horsea, 0x800, SPECIES_HORSEA},
+ [SPECIES_SEADRA] = {gMonFrontPic_Seadra, 0x800, SPECIES_SEADRA},
+ [SPECIES_GOLDEEN] = {gMonFrontPic_Goldeen, 0x800, SPECIES_GOLDEEN},
+ [SPECIES_SEAKING] = {gMonFrontPic_Seaking, 0x800, SPECIES_SEAKING},
+ [SPECIES_STARYU] = {gMonFrontPic_Staryu, 0x800, SPECIES_STARYU},
+ [SPECIES_STARMIE] = {gMonFrontPic_Starmie, 0x800, SPECIES_STARMIE},
+ [SPECIES_MR_MIME] = {gMonFrontPic_Mrmime, 0x800, SPECIES_MR_MIME},
+ [SPECIES_SCYTHER] = {gMonFrontPic_Scyther, 0x800, SPECIES_SCYTHER},
+ [SPECIES_JYNX] = {gMonFrontPic_Jynx, 0x800, SPECIES_JYNX},
+ [SPECIES_ELECTABUZZ] = {gMonFrontPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ},
+ [SPECIES_MAGMAR] = {gMonFrontPic_Magmar, 0x800, SPECIES_MAGMAR},
+ [SPECIES_PINSIR] = {gMonFrontPic_Pinsir, 0x800, SPECIES_PINSIR},
+ [SPECIES_TAUROS] = {gMonFrontPic_Tauros, 0x800, SPECIES_TAUROS},
+ [SPECIES_MAGIKARP] = {gMonFrontPic_Magikarp, 0x800, SPECIES_MAGIKARP},
+ [SPECIES_GYARADOS] = {gMonFrontPic_Gyarados, 0x800, SPECIES_GYARADOS},
+ [SPECIES_LAPRAS] = {gMonFrontPic_Lapras, 0x800, SPECIES_LAPRAS},
+ [SPECIES_DITTO] = {gMonFrontPic_Ditto, 0x800, SPECIES_DITTO},
+ [SPECIES_EEVEE] = {gMonFrontPic_Eevee, 0x800, SPECIES_EEVEE},
+ [SPECIES_VAPOREON] = {gMonFrontPic_Vaporeon, 0x800, SPECIES_VAPOREON},
+ [SPECIES_JOLTEON] = {gMonFrontPic_Jolteon, 0x800, SPECIES_JOLTEON},
+ [SPECIES_FLAREON] = {gMonFrontPic_Flareon, 0x800, SPECIES_FLAREON},
+ [SPECIES_PORYGON] = {gMonFrontPic_Porygon, 0x800, SPECIES_PORYGON},
+ [SPECIES_OMANYTE] = {gMonFrontPic_Omanyte, 0x800, SPECIES_OMANYTE},
+ [SPECIES_OMASTAR] = {gMonFrontPic_Omastar, 0x800, SPECIES_OMASTAR},
+ [SPECIES_KABUTO] = {gMonFrontPic_Kabuto, 0x800, SPECIES_KABUTO},
+ [SPECIES_KABUTOPS] = {gMonFrontPic_Kabutops, 0x800, SPECIES_KABUTOPS},
+ [SPECIES_AERODACTYL] = {gMonFrontPic_Aerodactyl, 0x800, SPECIES_AERODACTYL},
+ [SPECIES_SNORLAX] = {gMonFrontPic_Snorlax, 0x800, SPECIES_SNORLAX},
+ [SPECIES_ARTICUNO] = {gMonFrontPic_Articuno, 0x800, SPECIES_ARTICUNO},
+ [SPECIES_ZAPDOS] = {gMonFrontPic_Zapdos, 0x800, SPECIES_ZAPDOS},
+ [SPECIES_MOLTRES] = {gMonFrontPic_Moltres, 0x800, SPECIES_MOLTRES},
+ [SPECIES_DRATINI] = {gMonFrontPic_Dratini, 0x800, SPECIES_DRATINI},
+ [SPECIES_DRAGONAIR] = {gMonFrontPic_Dragonair, 0x800, SPECIES_DRAGONAIR},
+ [SPECIES_DRAGONITE] = {gMonFrontPic_Dragonite, 0x800, SPECIES_DRAGONITE},
+ [SPECIES_MEWTWO] = {gMonFrontPic_Mewtwo, 0x800, SPECIES_MEWTWO},
+ [SPECIES_MEW] = {gMonFrontPic_Mew, 0x800, SPECIES_MEW},
+ [SPECIES_CHIKORITA] = {gMonFrontPic_Chikorita, 0x800, SPECIES_CHIKORITA},
+ [SPECIES_BAYLEEF] = {gMonFrontPic_Bayleef, 0x800, SPECIES_BAYLEEF},
+ [SPECIES_MEGANIUM] = {gMonFrontPic_Meganium, 0x800, SPECIES_MEGANIUM},
+ [SPECIES_CYNDAQUIL] = {gMonFrontPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL},
+ [SPECIES_QUILAVA] = {gMonFrontPic_Quilava, 0x800, SPECIES_QUILAVA},
+ [SPECIES_TYPHLOSION] = {gMonFrontPic_Typhlosion, 0x800, SPECIES_TYPHLOSION},
+ [SPECIES_TOTODILE] = {gMonFrontPic_Totodile, 0x800, SPECIES_TOTODILE},
+ [SPECIES_CROCONAW] = {gMonFrontPic_Croconaw, 0x800, SPECIES_CROCONAW},
+ [SPECIES_FERALIGATR] = {gMonFrontPic_Feraligatr, 0x800, SPECIES_FERALIGATR},
+ [SPECIES_SENTRET] = {gMonFrontPic_Sentret, 0x800, SPECIES_SENTRET},
+ [SPECIES_FURRET] = {gMonFrontPic_Furret, 0x800, SPECIES_FURRET},
+ [SPECIES_HOOTHOOT] = {gMonFrontPic_Hoothoot, 0x800, SPECIES_HOOTHOOT},
+ [SPECIES_NOCTOWL] = {gMonFrontPic_Noctowl, 0x800, SPECIES_NOCTOWL},
+ [SPECIES_LEDYBA] = {gMonFrontPic_Ledyba, 0x800, SPECIES_LEDYBA},
+ [SPECIES_LEDIAN] = {gMonFrontPic_Ledian, 0x800, SPECIES_LEDIAN},
+ [SPECIES_SPINARAK] = {gMonFrontPic_Spinarak, 0x800, SPECIES_SPINARAK},
+ [SPECIES_ARIADOS] = {gMonFrontPic_Ariados, 0x800, SPECIES_ARIADOS},
+ [SPECIES_CROBAT] = {gMonFrontPic_Crobat, 0x800, SPECIES_CROBAT},
+ [SPECIES_CHINCHOU] = {gMonFrontPic_Chinchou, 0x800, SPECIES_CHINCHOU},
+ [SPECIES_LANTURN] = {gMonFrontPic_Lanturn, 0x800, SPECIES_LANTURN},
+ [SPECIES_PICHU] = {gMonFrontPic_Pichu, 0x800, SPECIES_PICHU},
+ [SPECIES_CLEFFA] = {gMonFrontPic_Cleffa, 0x800, SPECIES_CLEFFA},
+ [SPECIES_IGGLYBUFF] = {gMonFrontPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF},
+ [SPECIES_TOGEPI] = {gMonFrontPic_Togepi, 0x800, SPECIES_TOGEPI},
+ [SPECIES_TOGETIC] = {gMonFrontPic_Togetic, 0x800, SPECIES_TOGETIC},
+ [SPECIES_NATU] = {gMonFrontPic_Natu, 0x800, SPECIES_NATU},
+ [SPECIES_XATU] = {gMonFrontPic_Xatu, 0x800, SPECIES_XATU},
+ [SPECIES_MAREEP] = {gMonFrontPic_Mareep, 0x800, SPECIES_MAREEP},
+ [SPECIES_FLAAFFY] = {gMonFrontPic_Flaaffy, 0x800, SPECIES_FLAAFFY},
+ [SPECIES_AMPHAROS] = {gMonFrontPic_Ampharos, 0x800, SPECIES_AMPHAROS},
+ [SPECIES_BELLOSSOM] = {gMonFrontPic_Bellossom, 0x800, SPECIES_BELLOSSOM},
+ [SPECIES_MARILL] = {gMonFrontPic_Marill, 0x800, SPECIES_MARILL},
+ [SPECIES_AZUMARILL] = {gMonFrontPic_Azumarill, 0x800, SPECIES_AZUMARILL},
+ [SPECIES_SUDOWOODO] = {gMonFrontPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO},
+ [SPECIES_POLITOED] = {gMonFrontPic_Politoed, 0x800, SPECIES_POLITOED},
+ [SPECIES_HOPPIP] = {gMonFrontPic_Hoppip, 0x800, SPECIES_HOPPIP},
+ [SPECIES_SKIPLOOM] = {gMonFrontPic_Skiploom, 0x800, SPECIES_SKIPLOOM},
+ [SPECIES_JUMPLUFF] = {gMonFrontPic_Jumpluff, 0x800, SPECIES_JUMPLUFF},
+ [SPECIES_AIPOM] = {gMonFrontPic_Aipom, 0x800, SPECIES_AIPOM},
+ [SPECIES_SUNKERN] = {gMonFrontPic_Sunkern, 0x800, SPECIES_SUNKERN},
+ [SPECIES_SUNFLORA] = {gMonFrontPic_Sunflora, 0x800, SPECIES_SUNFLORA},
+ [SPECIES_YANMA] = {gMonFrontPic_Yanma, 0x800, SPECIES_YANMA},
+ [SPECIES_WOOPER] = {gMonFrontPic_Wooper, 0x800, SPECIES_WOOPER},
+ [SPECIES_QUAGSIRE] = {gMonFrontPic_Quagsire, 0x800, SPECIES_QUAGSIRE},
+ [SPECIES_ESPEON] = {gMonFrontPic_Espeon, 0x800, SPECIES_ESPEON},
+ [SPECIES_UMBREON] = {gMonFrontPic_Umbreon, 0x800, SPECIES_UMBREON},
+ [SPECIES_MURKROW] = {gMonFrontPic_Murkrow, 0x800, SPECIES_MURKROW},
+ [SPECIES_SLOWKING] = {gMonFrontPic_Slowking, 0x800, SPECIES_SLOWKING},
+ [SPECIES_MISDREAVUS] = {gMonFrontPic_Misdreavus, 0x800, SPECIES_MISDREAVUS},
+ [SPECIES_UNOWN] = {gMonFrontPic_UnownA, 0x800, SPECIES_UNOWN},
+ [SPECIES_WOBBUFFET] = {gMonFrontPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET},
+ [SPECIES_GIRAFARIG] = {gMonFrontPic_Girafarig, 0x800, SPECIES_GIRAFARIG},
+ [SPECIES_PINECO] = {gMonFrontPic_Pineco, 0x800, SPECIES_PINECO},
+ [SPECIES_FORRETRESS] = {gMonFrontPic_Forretress, 0x800, SPECIES_FORRETRESS},
+ [SPECIES_DUNSPARCE] = {gMonFrontPic_Dunsparce, 0x800, SPECIES_DUNSPARCE},
+ [SPECIES_GLIGAR] = {gMonFrontPic_Gligar, 0x800, SPECIES_GLIGAR},
+ [SPECIES_STEELIX] = {gMonFrontPic_Steelix, 0x800, SPECIES_STEELIX},
+ [SPECIES_SNUBBULL] = {gMonFrontPic_Snubbull, 0x800, SPECIES_SNUBBULL},
+ [SPECIES_GRANBULL] = {gMonFrontPic_Granbull, 0x800, SPECIES_GRANBULL},
+ [SPECIES_QWILFISH] = {gMonFrontPic_Qwilfish, 0x800, SPECIES_QWILFISH},
+ [SPECIES_SCIZOR] = {gMonFrontPic_Scizor, 0x800, SPECIES_SCIZOR},
+ [SPECIES_SHUCKLE] = {gMonFrontPic_Shuckle, 0x800, SPECIES_SHUCKLE},
+ [SPECIES_HERACROSS] = {gMonFrontPic_Heracross, 0x800, SPECIES_HERACROSS},
+ [SPECIES_SNEASEL] = {gMonFrontPic_Sneasel, 0x800, SPECIES_SNEASEL},
+ [SPECIES_TEDDIURSA] = {gMonFrontPic_Teddiursa, 0x800, SPECIES_TEDDIURSA},
+ [SPECIES_URSARING] = {gMonFrontPic_Ursaring, 0x800, SPECIES_URSARING},
+ [SPECIES_SLUGMA] = {gMonFrontPic_Slugma, 0x800, SPECIES_SLUGMA},
+ [SPECIES_MAGCARGO] = {gMonFrontPic_Magcargo, 0x800, SPECIES_MAGCARGO},
+ [SPECIES_SWINUB] = {gMonFrontPic_Swinub, 0x800, SPECIES_SWINUB},
+ [SPECIES_PILOSWINE] = {gMonFrontPic_Piloswine, 0x800, SPECIES_PILOSWINE},
+ [SPECIES_CORSOLA] = {gMonFrontPic_Corsola, 0x800, SPECIES_CORSOLA},
+ [SPECIES_REMORAID] = {gMonFrontPic_Remoraid, 0x800, SPECIES_REMORAID},
+ [SPECIES_OCTILLERY] = {gMonFrontPic_Octillery, 0x800, SPECIES_OCTILLERY},
+ [SPECIES_DELIBIRD] = {gMonFrontPic_Delibird, 0x800, SPECIES_DELIBIRD},
+ [SPECIES_MANTINE] = {gMonFrontPic_Mantine, 0x800, SPECIES_MANTINE},
+ [SPECIES_SKARMORY] = {gMonFrontPic_Skarmory, 0x800, SPECIES_SKARMORY},
+ [SPECIES_HOUNDOUR] = {gMonFrontPic_Houndour, 0x800, SPECIES_HOUNDOUR},
+ [SPECIES_HOUNDOOM] = {gMonFrontPic_Houndoom, 0x800, SPECIES_HOUNDOOM},
+ [SPECIES_KINGDRA] = {gMonFrontPic_Kingdra, 0x800, SPECIES_KINGDRA},
+ [SPECIES_PHANPY] = {gMonFrontPic_Phanpy, 0x800, SPECIES_PHANPY},
+ [SPECIES_DONPHAN] = {gMonFrontPic_Donphan, 0x800, SPECIES_DONPHAN},
+ [SPECIES_PORYGON2] = {gMonFrontPic_Porygon2, 0x800, SPECIES_PORYGON2},
+ [SPECIES_STANTLER] = {gMonFrontPic_Stantler, 0x800, SPECIES_STANTLER},
+ [SPECIES_SMEARGLE] = {gMonFrontPic_Smeargle, 0x800, SPECIES_SMEARGLE},
+ [SPECIES_TYROGUE] = {gMonFrontPic_Tyrogue, 0x800, SPECIES_TYROGUE},
+ [SPECIES_HITMONTOP] = {gMonFrontPic_Hitmontop, 0x800, SPECIES_HITMONTOP},
+ [SPECIES_SMOOCHUM] = {gMonFrontPic_Smoochum, 0x800, SPECIES_SMOOCHUM},
+ [SPECIES_ELEKID] = {gMonFrontPic_Elekid, 0x800, SPECIES_ELEKID},
+ [SPECIES_MAGBY] = {gMonFrontPic_Magby, 0x800, SPECIES_MAGBY},
+ [SPECIES_MILTANK] = {gMonFrontPic_Miltank, 0x800, SPECIES_MILTANK},
+ [SPECIES_BLISSEY] = {gMonFrontPic_Blissey, 0x800, SPECIES_BLISSEY},
+ [SPECIES_RAIKOU] = {gMonFrontPic_Raikou, 0x800, SPECIES_RAIKOU},
+ [SPECIES_ENTEI] = {gMonFrontPic_Entei, 0x800, SPECIES_ENTEI},
+ [SPECIES_SUICUNE] = {gMonFrontPic_Suicune, 0x800, SPECIES_SUICUNE},
+ [SPECIES_LARVITAR] = {gMonFrontPic_Larvitar, 0x800, SPECIES_LARVITAR},
+ [SPECIES_PUPITAR] = {gMonFrontPic_Pupitar, 0x800, SPECIES_PUPITAR},
+ [SPECIES_TYRANITAR] = {gMonFrontPic_Tyranitar, 0x800, SPECIES_TYRANITAR},
+ [SPECIES_LUGIA] = {gMonFrontPic_Lugia, 0x800, SPECIES_LUGIA},
+ [SPECIES_HO_OH] = {gMonFrontPic_HoOh, 0x800, SPECIES_HO_OH},
+ [SPECIES_CELEBI] = {gMonFrontPic_Celebi, 0x800, SPECIES_CELEBI},
+ [SPECIES_OLD_UNOWN_B] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B},
+ [SPECIES_OLD_UNOWN_C] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C},
+ [SPECIES_OLD_UNOWN_D] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D},
+ [SPECIES_OLD_UNOWN_E] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E},
+ [SPECIES_OLD_UNOWN_F] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F},
+ [SPECIES_OLD_UNOWN_G] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G},
+ [SPECIES_OLD_UNOWN_H] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H},
+ [SPECIES_OLD_UNOWN_I] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I},
+ [SPECIES_OLD_UNOWN_J] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J},
+ [SPECIES_OLD_UNOWN_K] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K},
+ [SPECIES_OLD_UNOWN_L] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L},
+ [SPECIES_OLD_UNOWN_M] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M},
+ [SPECIES_OLD_UNOWN_N] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N},
+ [SPECIES_OLD_UNOWN_O] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O},
+ [SPECIES_OLD_UNOWN_P] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P},
+ [SPECIES_OLD_UNOWN_Q] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q},
+ [SPECIES_OLD_UNOWN_R] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R},
+ [SPECIES_OLD_UNOWN_S] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S},
+ [SPECIES_OLD_UNOWN_T] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T},
+ [SPECIES_OLD_UNOWN_U] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U},
+ [SPECIES_OLD_UNOWN_V] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V},
+ [SPECIES_OLD_UNOWN_W] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W},
+ [SPECIES_OLD_UNOWN_X] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X},
+ [SPECIES_OLD_UNOWN_Y] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y},
+ [SPECIES_OLD_UNOWN_Z] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z},
+ [SPECIES_TREECKO] = {gMonFrontPic_Treecko, 0x800, SPECIES_TREECKO},
+ [SPECIES_GROVYLE] = {gMonFrontPic_Grovyle, 0x800, SPECIES_GROVYLE},
+ [SPECIES_SCEPTILE] = {gMonFrontPic_Sceptile, 0x800, SPECIES_SCEPTILE},
+ [SPECIES_TORCHIC] = {gMonFrontPic_Torchic, 0x800, SPECIES_TORCHIC},
+ [SPECIES_COMBUSKEN] = {gMonFrontPic_Combusken, 0x800, SPECIES_COMBUSKEN},
+ [SPECIES_BLAZIKEN] = {gMonFrontPic_Blaziken, 0x800, SPECIES_BLAZIKEN},
+ [SPECIES_MUDKIP] = {gMonFrontPic_Mudkip, 0x800, SPECIES_MUDKIP},
+ [SPECIES_MARSHTOMP] = {gMonFrontPic_Marshtomp, 0x800, SPECIES_MARSHTOMP},
+ [SPECIES_SWAMPERT] = {gMonFrontPic_Swampert, 0x800, SPECIES_SWAMPERT},
+ [SPECIES_POOCHYENA] = {gMonFrontPic_Poochyena, 0x800, SPECIES_POOCHYENA},
+ [SPECIES_MIGHTYENA] = {gMonFrontPic_Mightyena, 0x800, SPECIES_MIGHTYENA},
+ [SPECIES_ZIGZAGOON] = {gMonFrontPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON},
+ [SPECIES_LINOONE] = {gMonFrontPic_Linoone, 0x800, SPECIES_LINOONE},
+ [SPECIES_WURMPLE] = {gMonFrontPic_Wurmple, 0x800, SPECIES_WURMPLE},
+ [SPECIES_SILCOON] = {gMonFrontPic_Silcoon, 0x800, SPECIES_SILCOON},
+ [SPECIES_BEAUTIFLY] = {gMonFrontPic_Beautifly, 0x800, SPECIES_BEAUTIFLY},
+ [SPECIES_CASCOON] = {gMonFrontPic_Cascoon, 0x800, SPECIES_CASCOON},
+ [SPECIES_DUSTOX] = {gMonFrontPic_Dustox, 0x800, SPECIES_DUSTOX},
+ [SPECIES_LOTAD] = {gMonFrontPic_Lotad, 0x800, SPECIES_LOTAD},
+ [SPECIES_LOMBRE] = {gMonFrontPic_Lombre, 0x800, SPECIES_LOMBRE},
+ [SPECIES_LUDICOLO] = {gMonFrontPic_Ludicolo, 0x800, SPECIES_LUDICOLO},
+ [SPECIES_SEEDOT] = {gMonFrontPic_Seedot, 0x800, SPECIES_SEEDOT},
+ [SPECIES_NUZLEAF] = {gMonFrontPic_Nuzleaf, 0x800, SPECIES_NUZLEAF},
+ [SPECIES_SHIFTRY] = {gMonFrontPic_Shiftry, 0x800, SPECIES_SHIFTRY},
+ [SPECIES_NINCADA] = {gMonFrontPic_Nincada, 0x800, SPECIES_NINCADA},
+ [SPECIES_NINJASK] = {gMonFrontPic_Ninjask, 0x800, SPECIES_NINJASK},
+ [SPECIES_SHEDINJA] = {gMonFrontPic_Shedinja, 0x800, SPECIES_SHEDINJA},
+ [SPECIES_TAILLOW] = {gMonFrontPic_Taillow, 0x800, SPECIES_TAILLOW},
+ [SPECIES_SWELLOW] = {gMonFrontPic_Swellow, 0x800, SPECIES_SWELLOW},
+ [SPECIES_SHROOMISH] = {gMonFrontPic_Shroomish, 0x800, SPECIES_SHROOMISH},
+ [SPECIES_BRELOOM] = {gMonFrontPic_Breloom, 0x800, SPECIES_BRELOOM},
+ [SPECIES_SPINDA] = {gMonFrontPic_Spinda, 0x800, SPECIES_SPINDA},
+ [SPECIES_WINGULL] = {gMonFrontPic_Wingull, 0x800, SPECIES_WINGULL},
+ [SPECIES_PELIPPER] = {gMonFrontPic_Pelipper, 0x800, SPECIES_PELIPPER},
+ [SPECIES_SURSKIT] = {gMonFrontPic_Surskit, 0x800, SPECIES_SURSKIT},
+ [SPECIES_MASQUERAIN] = {gMonFrontPic_Masquerain, 0x800, SPECIES_MASQUERAIN},
+ [SPECIES_WAILMER] = {gMonFrontPic_Wailmer, 0x800, SPECIES_WAILMER},
+ [SPECIES_WAILORD] = {gMonFrontPic_Wailord, 0x800, SPECIES_WAILORD},
+ [SPECIES_SKITTY] = {gMonFrontPic_Skitty, 0x800, SPECIES_SKITTY},
+ [SPECIES_DELCATTY] = {gMonFrontPic_Delcatty, 0x800, SPECIES_DELCATTY},
+ [SPECIES_KECLEON] = {gMonFrontPic_Kecleon, 0x800, SPECIES_KECLEON},
+ [SPECIES_BALTOY] = {gMonFrontPic_Baltoy, 0x800, SPECIES_BALTOY},
+ [SPECIES_CLAYDOL] = {gMonFrontPic_Claydol, 0x800, SPECIES_CLAYDOL},
+ [SPECIES_NOSEPASS] = {gMonFrontPic_Nosepass, 0x800, SPECIES_NOSEPASS},
+ [SPECIES_TORKOAL] = {gMonFrontPic_Torkoal, 0x800, SPECIES_TORKOAL},
+ [SPECIES_SABLEYE] = {gMonFrontPic_Sableye, 0x800, SPECIES_SABLEYE},
+ [SPECIES_BARBOACH] = {gMonFrontPic_Barboach, 0x800, SPECIES_BARBOACH},
+ [SPECIES_WHISCASH] = {gMonFrontPic_Whiscash, 0x800, SPECIES_WHISCASH},
+ [SPECIES_LUVDISC] = {gMonFrontPic_Luvdisc, 0x800, SPECIES_LUVDISC},
+ [SPECIES_CORPHISH] = {gMonFrontPic_Corphish, 0x800, SPECIES_CORPHISH},
+ [SPECIES_CRAWDAUNT] = {gMonFrontPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT},
+ [SPECIES_FEEBAS] = {gMonFrontPic_Feebas, 0x800, SPECIES_FEEBAS},
+ [SPECIES_MILOTIC] = {gMonFrontPic_Milotic, 0x800, SPECIES_MILOTIC},
+ [SPECIES_CARVANHA] = {gMonFrontPic_Carvanha, 0x800, SPECIES_CARVANHA},
+ [SPECIES_SHARPEDO] = {gMonFrontPic_Sharpedo, 0x800, SPECIES_SHARPEDO},
+ [SPECIES_TRAPINCH] = {gMonFrontPic_Trapinch, 0x800, SPECIES_TRAPINCH},
+ [SPECIES_VIBRAVA] = {gMonFrontPic_Vibrava, 0x800, SPECIES_VIBRAVA},
+ [SPECIES_FLYGON] = {gMonFrontPic_Flygon, 0x800, SPECIES_FLYGON},
+ [SPECIES_MAKUHITA] = {gMonFrontPic_Makuhita, 0x800, SPECIES_MAKUHITA},
+ [SPECIES_HARIYAMA] = {gMonFrontPic_Hariyama, 0x800, SPECIES_HARIYAMA},
+ [SPECIES_ELECTRIKE] = {gMonFrontPic_Electrike, 0x800, SPECIES_ELECTRIKE},
+ [SPECIES_MANECTRIC] = {gMonFrontPic_Manectric, 0x800, SPECIES_MANECTRIC},
+ [SPECIES_NUMEL] = {gMonFrontPic_Numel, 0x800, SPECIES_NUMEL},
+ [SPECIES_CAMERUPT] = {gMonFrontPic_Camerupt, 0x800, SPECIES_CAMERUPT},
+ [SPECIES_SPHEAL] = {gMonFrontPic_Spheal, 0x800, SPECIES_SPHEAL},
+ [SPECIES_SEALEO] = {gMonFrontPic_Sealeo, 0x800, SPECIES_SEALEO},
+ [SPECIES_WALREIN] = {gMonFrontPic_Walrein, 0x800, SPECIES_WALREIN},
+ [SPECIES_CACNEA] = {gMonFrontPic_Cacnea, 0x800, SPECIES_CACNEA},
+ [SPECIES_CACTURNE] = {gMonFrontPic_Cacturne, 0x800, SPECIES_CACTURNE},
+ [SPECIES_SNORUNT] = {gMonFrontPic_Snorunt, 0x800, SPECIES_SNORUNT},
+ [SPECIES_GLALIE] = {gMonFrontPic_Glalie, 0x800, SPECIES_GLALIE},
+ [SPECIES_LUNATONE] = {gMonFrontPic_Lunatone, 0x800, SPECIES_LUNATONE},
+ [SPECIES_SOLROCK] = {gMonFrontPic_Solrock, 0x800, SPECIES_SOLROCK},
+ [SPECIES_AZURILL] = {gMonFrontPic_Azurill, 0x800, SPECIES_AZURILL},
+ [SPECIES_SPOINK] = {gMonFrontPic_Spoink, 0x800, SPECIES_SPOINK},
+ [SPECIES_GRUMPIG] = {gMonFrontPic_Grumpig, 0x800, SPECIES_GRUMPIG},
+ [SPECIES_PLUSLE] = {gMonFrontPic_Plusle, 0x800, SPECIES_PLUSLE},
+ [SPECIES_MINUN] = {gMonFrontPic_Minun, 0x800, SPECIES_MINUN},
+ [SPECIES_MAWILE] = {gMonFrontPic_Mawile, 0x800, SPECIES_MAWILE},
+ [SPECIES_MEDITITE] = {gMonFrontPic_Meditite, 0x800, SPECIES_MEDITITE},
+ [SPECIES_MEDICHAM] = {gMonFrontPic_Medicham, 0x800, SPECIES_MEDICHAM},
+ [SPECIES_SWABLU] = {gMonFrontPic_Swablu, 0x800, SPECIES_SWABLU},
+ [SPECIES_ALTARIA] = {gMonFrontPic_Altaria, 0x800, SPECIES_ALTARIA},
+ [SPECIES_WYNAUT] = {gMonFrontPic_Wynaut, 0x800, SPECIES_WYNAUT},
+ [SPECIES_DUSKULL] = {gMonFrontPic_Duskull, 0x800, SPECIES_DUSKULL},
+ [SPECIES_DUSCLOPS] = {gMonFrontPic_Dusclops, 0x800, SPECIES_DUSCLOPS},
+ [SPECIES_ROSELIA] = {gMonFrontPic_Roselia, 0x800, SPECIES_ROSELIA},
+ [SPECIES_SLAKOTH] = {gMonFrontPic_Slakoth, 0x800, SPECIES_SLAKOTH},
+ [SPECIES_VIGOROTH] = {gMonFrontPic_Vigoroth, 0x800, SPECIES_VIGOROTH},
+ [SPECIES_SLAKING] = {gMonFrontPic_Slaking, 0x800, SPECIES_SLAKING},
+ [SPECIES_GULPIN] = {gMonFrontPic_Gulpin, 0x800, SPECIES_GULPIN},
+ [SPECIES_SWALOT] = {gMonFrontPic_Swalot, 0x800, SPECIES_SWALOT},
+ [SPECIES_TROPIUS] = {gMonFrontPic_Tropius, 0x800, SPECIES_TROPIUS},
+ [SPECIES_WHISMUR] = {gMonFrontPic_Whismur, 0x800, SPECIES_WHISMUR},
+ [SPECIES_LOUDRED] = {gMonFrontPic_Loudred, 0x800, SPECIES_LOUDRED},
+ [SPECIES_EXPLOUD] = {gMonFrontPic_Exploud, 0x800, SPECIES_EXPLOUD},
+ [SPECIES_CLAMPERL] = {gMonFrontPic_Clamperl, 0x800, SPECIES_CLAMPERL},
+ [SPECIES_HUNTAIL] = {gMonFrontPic_Huntail, 0x800, SPECIES_HUNTAIL},
+ [SPECIES_GOREBYSS] = {gMonFrontPic_Gorebyss, 0x800, SPECIES_GOREBYSS},
+ [SPECIES_ABSOL] = {gMonFrontPic_Absol, 0x800, SPECIES_ABSOL},
+ [SPECIES_SHUPPET] = {gMonFrontPic_Shuppet, 0x800, SPECIES_SHUPPET},
+ [SPECIES_BANETTE] = {gMonFrontPic_Banette, 0x800, SPECIES_BANETTE},
+ [SPECIES_SEVIPER] = {gMonFrontPic_Seviper, 0x800, SPECIES_SEVIPER},
+ [SPECIES_ZANGOOSE] = {gMonFrontPic_Zangoose, 0x800, SPECIES_ZANGOOSE},
+ [SPECIES_RELICANTH] = {gMonFrontPic_Relicanth, 0x800, SPECIES_RELICANTH},
+ [SPECIES_ARON] = {gMonFrontPic_Aron, 0x800, SPECIES_ARON},
+ [SPECIES_LAIRON] = {gMonFrontPic_Lairon, 0x800, SPECIES_LAIRON},
+ [SPECIES_AGGRON] = {gMonFrontPic_Aggron, 0x800, SPECIES_AGGRON},
+ [SPECIES_CASTFORM] = {gMonFrontPic_Castform, 0x800, SPECIES_CASTFORM},
+ [SPECIES_VOLBEAT] = {gMonFrontPic_Volbeat, 0x800, SPECIES_VOLBEAT},
+ [SPECIES_ILLUMISE] = {gMonFrontPic_Illumise, 0x800, SPECIES_ILLUMISE},
+ [SPECIES_LILEEP] = {gMonFrontPic_Lileep, 0x800, SPECIES_LILEEP},
+ [SPECIES_CRADILY] = {gMonFrontPic_Cradily, 0x800, SPECIES_CRADILY},
+ [SPECIES_ANORITH] = {gMonFrontPic_Anorith, 0x800, SPECIES_ANORITH},
+ [SPECIES_ARMALDO] = {gMonFrontPic_Armaldo, 0x800, SPECIES_ARMALDO},
+ [SPECIES_RALTS] = {gMonFrontPic_Ralts, 0x800, SPECIES_RALTS},
+ [SPECIES_KIRLIA] = {gMonFrontPic_Kirlia, 0x800, SPECIES_KIRLIA},
+ [SPECIES_GARDEVOIR] = {gMonFrontPic_Gardevoir, 0x800, SPECIES_GARDEVOIR},
+ [SPECIES_BAGON] = {gMonFrontPic_Bagon, 0x800, SPECIES_BAGON},
+ [SPECIES_SHELGON] = {gMonFrontPic_Shelgon, 0x800, SPECIES_SHELGON},
+ [SPECIES_SALAMENCE] = {gMonFrontPic_Salamence, 0x800, SPECIES_SALAMENCE},
+ [SPECIES_BELDUM] = {gMonFrontPic_Beldum, 0x800, SPECIES_BELDUM},
+ [SPECIES_METANG] = {gMonFrontPic_Metang, 0x800, SPECIES_METANG},
+ [SPECIES_METAGROSS] = {gMonFrontPic_Metagross, 0x800, SPECIES_METAGROSS},
+ [SPECIES_REGIROCK] = {gMonFrontPic_Regirock, 0x800, SPECIES_REGIROCK},
+ [SPECIES_REGICE] = {gMonFrontPic_Regice, 0x800, SPECIES_REGICE},
+ [SPECIES_REGISTEEL] = {gMonFrontPic_Registeel, 0x800, SPECIES_REGISTEEL},
+ [SPECIES_KYOGRE] = {gMonFrontPic_Kyogre, 0x800, SPECIES_KYOGRE},
+ [SPECIES_GROUDON] = {gMonFrontPic_Groudon, 0x800, SPECIES_GROUDON},
+ [SPECIES_RAYQUAZA] = {gMonFrontPic_Rayquaza, 0x800, SPECIES_RAYQUAZA},
+ [SPECIES_LATIAS] = {gMonFrontPic_Latias, 0x800, SPECIES_LATIAS},
+ [SPECIES_LATIOS] = {gMonFrontPic_Latios, 0x800, SPECIES_LATIOS},
+ [SPECIES_JIRACHI] = {gMonFrontPic_Jirachi, 0x800, SPECIES_JIRACHI},
+ [SPECIES_DEOXYS] = {gMonFrontPic_Deoxys, 0x800, SPECIES_DEOXYS},
+ [SPECIES_CHIMECHO] = {gMonFrontPic_Chimecho, 0x800, SPECIES_CHIMECHO},
+ [SPECIES_EGG] = {gMonFrontPic_Egg, 0x800, SPECIES_EGG},
+ [SPECIES_UNOWN_B] = {gMonFrontPic_UnownB, 0x800, SPECIES_UNOWN_B},
+ [SPECIES_UNOWN_C] = {gMonFrontPic_UnownC, 0x800, SPECIES_UNOWN_C},
+ [SPECIES_UNOWN_D] = {gMonFrontPic_UnownD, 0x800, SPECIES_UNOWN_D},
+ [SPECIES_UNOWN_E] = {gMonFrontPic_UnownE, 0x800, SPECIES_UNOWN_E},
+ [SPECIES_UNOWN_F] = {gMonFrontPic_UnownF, 0x800, SPECIES_UNOWN_F},
+ [SPECIES_UNOWN_G] = {gMonFrontPic_UnownG, 0x800, SPECIES_UNOWN_G},
+ [SPECIES_UNOWN_H] = {gMonFrontPic_UnownH, 0x800, SPECIES_UNOWN_H},
+ [SPECIES_UNOWN_I] = {gMonFrontPic_UnownI, 0x800, SPECIES_UNOWN_I},
+ [SPECIES_UNOWN_J] = {gMonFrontPic_UnownJ, 0x800, SPECIES_UNOWN_J},
+ [SPECIES_UNOWN_K] = {gMonFrontPic_UnownK, 0x800, SPECIES_UNOWN_K},
+ [SPECIES_UNOWN_L] = {gMonFrontPic_UnownL, 0x800, SPECIES_UNOWN_L},
+ [SPECIES_UNOWN_M] = {gMonFrontPic_UnownM, 0x800, SPECIES_UNOWN_M},
+ [SPECIES_UNOWN_N] = {gMonFrontPic_UnownN, 0x800, SPECIES_UNOWN_N},
+ [SPECIES_UNOWN_O] = {gMonFrontPic_UnownO, 0x800, SPECIES_UNOWN_O},
+ [SPECIES_UNOWN_P] = {gMonFrontPic_UnownP, 0x800, SPECIES_UNOWN_P},
+ [SPECIES_UNOWN_Q] = {gMonFrontPic_UnownQ, 0x800, SPECIES_UNOWN_Q},
+ [SPECIES_UNOWN_R] = {gMonFrontPic_UnownR, 0x800, SPECIES_UNOWN_R},
+ [SPECIES_UNOWN_S] = {gMonFrontPic_UnownS, 0x800, SPECIES_UNOWN_S},
+ [SPECIES_UNOWN_T] = {gMonFrontPic_UnownT, 0x800, SPECIES_UNOWN_T},
+ [SPECIES_UNOWN_U] = {gMonFrontPic_UnownU, 0x800, SPECIES_UNOWN_U},
+ [SPECIES_UNOWN_V] = {gMonFrontPic_UnownV, 0x800, SPECIES_UNOWN_V},
+ [SPECIES_UNOWN_W] = {gMonFrontPic_UnownW, 0x800, SPECIES_UNOWN_W},
+ [SPECIES_UNOWN_X] = {gMonFrontPic_UnownX, 0x800, SPECIES_UNOWN_X},
+ [SPECIES_UNOWN_Y] = {gMonFrontPic_UnownY, 0x800, SPECIES_UNOWN_Y},
+ [SPECIES_UNOWN_Z] = {gMonFrontPic_UnownZ, 0x800, SPECIES_UNOWN_Z},
+ [SPECIES_UNOWN_EMARK] = {gMonFrontPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK},
+ [SPECIES_UNOWN_QMARK] = {gMonFrontPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK},
};
diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h
index 99412daa5..3b60d8567 100644
--- a/src/data/pokemon_graphics/palette_table.h
+++ b/src/data/pokemon_graphics/palette_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpritePalette gMonPaletteTable[] =
{
- gMonPalette_CircledQuestionMark, 0,
- gMonPalette_Bulbasaur, 1,
- gMonPalette_Ivysaur, 2,
- gMonPalette_Venusaur, 3,
- gMonPalette_Charmander, 4,
- gMonPalette_Charmeleon, 5,
- gMonPalette_Charizard, 6,
- gMonPalette_Squirtle, 7,
- gMonPalette_Wartortle, 8,
- gMonPalette_Blastoise, 9,
- gMonPalette_Caterpie, 10,
- gMonPalette_Metapod, 11,
- gMonPalette_Butterfree, 12,
- gMonPalette_Weedle, 13,
- gMonPalette_Kakuna, 14,
- gMonPalette_Beedrill, 15,
- gMonPalette_Pidgey, 16,
- gMonPalette_Pidgeotto, 17,
- gMonPalette_Pidgeot, 18,
- gMonPalette_Rattata, 19,
- gMonPalette_Raticate, 20,
- gMonPalette_Spearow, 21,
- gMonPalette_Fearow, 22,
- gMonPalette_Ekans, 23,
- gMonPalette_Arbok, 24,
- gMonPalette_Pikachu, 25,
- gMonPalette_Raichu, 26,
- gMonPalette_Sandshrew, 27,
- gMonPalette_Sandslash, 28,
- gMonPalette_NidoranF, 29,
- gMonPalette_Nidorina, 30,
- gMonPalette_Nidoqueen, 31,
- gMonPalette_NidoranM, 32,
- gMonPalette_Nidorino, 33,
- gMonPalette_Nidoking, 34,
- gMonPalette_Clefairy, 35,
- gMonPalette_Clefable, 36,
- gMonPalette_Vulpix, 37,
- gMonPalette_Ninetales, 38,
- gMonPalette_Jigglypuff, 39,
- gMonPalette_Wigglytuff, 40,
- gMonPalette_Zubat, 41,
- gMonPalette_Golbat, 42,
- gMonPalette_Oddish, 43,
- gMonPalette_Gloom, 44,
- gMonPalette_Vileplume, 45,
- gMonPalette_Paras, 46,
- gMonPalette_Parasect, 47,
- gMonPalette_Venonat, 48,
- gMonPalette_Venomoth, 49,
- gMonPalette_Diglett, 50,
- gMonPalette_Dugtrio, 51,
- gMonPalette_Meowth, 52,
- gMonPalette_Persian, 53,
- gMonPalette_Psyduck, 54,
- gMonPalette_Golduck, 55,
- gMonPalette_Mankey, 56,
- gMonPalette_Primeape, 57,
- gMonPalette_Growlithe, 58,
- gMonPalette_Arcanine, 59,
- gMonPalette_Poliwag, 60,
- gMonPalette_Poliwhirl, 61,
- gMonPalette_Poliwrath, 62,
- gMonPalette_Abra, 63,
- gMonPalette_Kadabra, 64,
- gMonPalette_Alakazam, 65,
- gMonPalette_Machop, 66,
- gMonPalette_Machoke, 67,
- gMonPalette_Machamp, 68,
- gMonPalette_Bellsprout, 69,
- gMonPalette_Weepinbell, 70,
- gMonPalette_Victreebel, 71,
- gMonPalette_Tentacool, 72,
- gMonPalette_Tentacruel, 73,
- gMonPalette_Geodude, 74,
- gMonPalette_Graveler, 75,
- gMonPalette_Golem, 76,
- gMonPalette_Ponyta, 77,
- gMonPalette_Rapidash, 78,
- gMonPalette_Slowpoke, 79,
- gMonPalette_Slowbro, 80,
- gMonPalette_Magnemite, 81,
- gMonPalette_Magneton, 82,
- gMonPalette_Farfetchd, 83,
- gMonPalette_Doduo, 84,
- gMonPalette_Dodrio, 85,
- gMonPalette_Seel, 86,
- gMonPalette_Dewgong, 87,
- gMonPalette_Grimer, 88,
- gMonPalette_Muk, 89,
- gMonPalette_Shellder, 90,
- gMonPalette_Cloyster, 91,
- gMonPalette_Gastly, 92,
- gMonPalette_Haunter, 93,
- gMonPalette_Gengar, 94,
- gMonPalette_Onix, 95,
- gMonPalette_Drowzee, 96,
- gMonPalette_Hypno, 97,
- gMonPalette_Krabby, 98,
- gMonPalette_Kingler, 99,
- gMonPalette_Voltorb, 100,
- gMonPalette_Electrode, 101,
- gMonPalette_Exeggcute, 102,
- gMonPalette_Exeggutor, 103,
- gMonPalette_Cubone, 104,
- gMonPalette_Marowak, 105,
- gMonPalette_Hitmonlee, 106,
- gMonPalette_Hitmonchan, 107,
- gMonPalette_Lickitung, 108,
- gMonPalette_Koffing, 109,
- gMonPalette_Weezing, 110,
- gMonPalette_Rhyhorn, 111,
- gMonPalette_Rhydon, 112,
- gMonPalette_Chansey, 113,
- gMonPalette_Tangela, 114,
- gMonPalette_Kangaskhan, 115,
- gMonPalette_Horsea, 116,
- gMonPalette_Seadra, 117,
- gMonPalette_Goldeen, 118,
- gMonPalette_Seaking, 119,
- gMonPalette_Staryu, 120,
- gMonPalette_Starmie, 121,
- gMonPalette_Mrmime, 122,
- gMonPalette_Scyther, 123,
- gMonPalette_Jynx, 124,
- gMonPalette_Electabuzz, 125,
- gMonPalette_Magmar, 126,
- gMonPalette_Pinsir, 127,
- gMonPalette_Tauros, 128,
- gMonPalette_Magikarp, 129,
- gMonPalette_Gyarados, 130,
- gMonPalette_Lapras, 131,
- gMonPalette_Ditto, 132,
- gMonPalette_Eevee, 133,
- gMonPalette_Vaporeon, 134,
- gMonPalette_Jolteon, 135,
- gMonPalette_Flareon, 136,
- gMonPalette_Porygon, 137,
- gMonPalette_Omanyte, 138,
- gMonPalette_Omastar, 139,
- gMonPalette_Kabuto, 140,
- gMonPalette_Kabutops, 141,
- gMonPalette_Aerodactyl, 142,
- gMonPalette_Snorlax, 143,
- gMonPalette_Articuno, 144,
- gMonPalette_Zapdos, 145,
- gMonPalette_Moltres, 146,
- gMonPalette_Dratini, 147,
- gMonPalette_Dragonair, 148,
- gMonPalette_Dragonite, 149,
- gMonPalette_Mewtwo, 150,
- gMonPalette_Mew, 151,
- gMonPalette_Chikorita, 152,
- gMonPalette_Bayleef, 153,
- gMonPalette_Meganium, 154,
- gMonPalette_Cyndaquil, 155,
- gMonPalette_Quilava, 156,
- gMonPalette_Typhlosion, 157,
- gMonPalette_Totodile, 158,
- gMonPalette_Croconaw, 159,
- gMonPalette_Feraligatr, 160,
- gMonPalette_Sentret, 161,
- gMonPalette_Furret, 162,
- gMonPalette_Hoothoot, 163,
- gMonPalette_Noctowl, 164,
- gMonPalette_Ledyba, 165,
- gMonPalette_Ledian, 166,
- gMonPalette_Spinarak, 167,
- gMonPalette_Ariados, 168,
- gMonPalette_Crobat, 169,
- gMonPalette_Chinchou, 170,
- gMonPalette_Lanturn, 171,
- gMonPalette_Pichu, 172,
- gMonPalette_Cleffa, 173,
- gMonPalette_Igglybuff, 174,
- gMonPalette_Togepi, 175,
- gMonPalette_Togetic, 176,
- gMonPalette_Natu, 177,
- gMonPalette_Xatu, 178,
- gMonPalette_Mareep, 179,
- gMonPalette_Flaaffy, 180,
- gMonPalette_Ampharos, 181,
- gMonPalette_Bellossom, 182,
- gMonPalette_Marill, 183,
- gMonPalette_Azumarill, 184,
- gMonPalette_Sudowoodo, 185,
- gMonPalette_Politoed, 186,
- gMonPalette_Hoppip, 187,
- gMonPalette_Skiploom, 188,
- gMonPalette_Jumpluff, 189,
- gMonPalette_Aipom, 190,
- gMonPalette_Sunkern, 191,
- gMonPalette_Sunflora, 192,
- gMonPalette_Yanma, 193,
- gMonPalette_Wooper, 194,
- gMonPalette_Quagsire, 195,
- gMonPalette_Espeon, 196,
- gMonPalette_Umbreon, 197,
- gMonPalette_Murkrow, 198,
- gMonPalette_Slowking, 199,
- gMonPalette_Misdreavus, 200,
- gMonPalette_Unown, 201,
- gMonPalette_Wobbuffet, 202,
- gMonPalette_Girafarig, 203,
- gMonPalette_Pineco, 204,
- gMonPalette_Forretress, 205,
- gMonPalette_Dunsparce, 206,
- gMonPalette_Gligar, 207,
- gMonPalette_Steelix, 208,
- gMonPalette_Snubbull, 209,
- gMonPalette_Granbull, 210,
- gMonPalette_Qwilfish, 211,
- gMonPalette_Scizor, 212,
- gMonPalette_Shuckle, 213,
- gMonPalette_Heracross, 214,
- gMonPalette_Sneasel, 215,
- gMonPalette_Teddiursa, 216,
- gMonPalette_Ursaring, 217,
- gMonPalette_Slugma, 218,
- gMonPalette_Magcargo, 219,
- gMonPalette_Swinub, 220,
- gMonPalette_Piloswine, 221,
- gMonPalette_Corsola, 222,
- gMonPalette_Remoraid, 223,
- gMonPalette_Octillery, 224,
- gMonPalette_Delibird, 225,
- gMonPalette_Mantine, 226,
- gMonPalette_Skarmory, 227,
- gMonPalette_Houndour, 228,
- gMonPalette_Houndoom, 229,
- gMonPalette_Kingdra, 230,
- gMonPalette_Phanpy, 231,
- gMonPalette_Donphan, 232,
- gMonPalette_Porygon2, 233,
- gMonPalette_Stantler, 234,
- gMonPalette_Smeargle, 235,
- gMonPalette_Tyrogue, 236,
- gMonPalette_Hitmontop, 237,
- gMonPalette_Smoochum, 238,
- gMonPalette_Elekid, 239,
- gMonPalette_Magby, 240,
- gMonPalette_Miltank, 241,
- gMonPalette_Blissey, 242,
- gMonPalette_Raikou, 243,
- gMonPalette_Entei, 244,
- gMonPalette_Suicune, 245,
- gMonPalette_Larvitar, 246,
- gMonPalette_Pupitar, 247,
- gMonPalette_Tyranitar, 248,
- gMonPalette_Lugia, 249,
- gMonPalette_HoOh, 250,
- gMonPalette_Celebi, 251,
- gMonPalette_DoubleQuestionMark, 252,
- gMonPalette_DoubleQuestionMark, 253,
- gMonPalette_DoubleQuestionMark, 254,
- gMonPalette_DoubleQuestionMark, 255,
- gMonPalette_DoubleQuestionMark, 256,
- gMonPalette_DoubleQuestionMark, 257,
- gMonPalette_DoubleQuestionMark, 258,
- gMonPalette_DoubleQuestionMark, 259,
- gMonPalette_DoubleQuestionMark, 260,
- gMonPalette_DoubleQuestionMark, 261,
- gMonPalette_DoubleQuestionMark, 262,
- gMonPalette_DoubleQuestionMark, 263,
- gMonPalette_DoubleQuestionMark, 264,
- gMonPalette_DoubleQuestionMark, 265,
- gMonPalette_DoubleQuestionMark, 266,
- gMonPalette_DoubleQuestionMark, 267,
- gMonPalette_DoubleQuestionMark, 268,
- gMonPalette_DoubleQuestionMark, 269,
- gMonPalette_DoubleQuestionMark, 270,
- gMonPalette_DoubleQuestionMark, 271,
- gMonPalette_DoubleQuestionMark, 272,
- gMonPalette_DoubleQuestionMark, 273,
- gMonPalette_DoubleQuestionMark, 274,
- gMonPalette_DoubleQuestionMark, 275,
- gMonPalette_DoubleQuestionMark, 276,
- gMonPalette_Treecko, 277,
- gMonPalette_Grovyle, 278,
- gMonPalette_Sceptile, 279,
- gMonPalette_Torchic, 280,
- gMonPalette_Combusken, 281,
- gMonPalette_Blaziken, 282,
- gMonPalette_Mudkip, 283,
- gMonPalette_Marshtomp, 284,
- gMonPalette_Swampert, 285,
- gMonPalette_Poochyena, 286,
- gMonPalette_Mightyena, 287,
- gMonPalette_Zigzagoon, 288,
- gMonPalette_Linoone, 289,
- gMonPalette_Wurmple, 290,
- gMonPalette_Silcoon, 291,
- gMonPalette_Beautifly, 292,
- gMonPalette_Cascoon, 293,
- gMonPalette_Dustox, 294,
- gMonPalette_Lotad, 295,
- gMonPalette_Lombre, 296,
- gMonPalette_Ludicolo, 297,
- gMonPalette_Seedot, 298,
- gMonPalette_Nuzleaf, 299,
- gMonPalette_Shiftry, 300,
- gMonPalette_Nincada, 301,
- gMonPalette_Ninjask, 302,
- gMonPalette_Shedinja, 303,
- gMonPalette_Taillow, 304,
- gMonPalette_Swellow, 305,
- gMonPalette_Shroomish, 306,
- gMonPalette_Breloom, 307,
- gMonPalette_Spinda, 308,
- gMonPalette_Wingull, 309,
- gMonPalette_Pelipper, 310,
- gMonPalette_Surskit, 311,
- gMonPalette_Masquerain, 312,
- gMonPalette_Wailmer, 313,
- gMonPalette_Wailord, 314,
- gMonPalette_Skitty, 315,
- gMonPalette_Delcatty, 316,
- gMonPalette_Kecleon, 317,
- gMonPalette_Baltoy, 318,
- gMonPalette_Claydol, 319,
- gMonPalette_Nosepass, 320,
- gMonPalette_Torkoal, 321,
- gMonPalette_Sableye, 322,
- gMonPalette_Barboach, 323,
- gMonPalette_Whiscash, 324,
- gMonPalette_Luvdisc, 325,
- gMonPalette_Corphish, 326,
- gMonPalette_Crawdaunt, 327,
- gMonPalette_Feebas, 328,
- gMonPalette_Milotic, 329,
- gMonPalette_Carvanha, 330,
- gMonPalette_Sharpedo, 331,
- gMonPalette_Trapinch, 332,
- gMonPalette_Vibrava, 333,
- gMonPalette_Flygon, 334,
- gMonPalette_Makuhita, 335,
- gMonPalette_Hariyama, 336,
- gMonPalette_Electrike, 337,
- gMonPalette_Manectric, 338,
- gMonPalette_Numel, 339,
- gMonPalette_Camerupt, 340,
- gMonPalette_Spheal, 341,
- gMonPalette_Sealeo, 342,
- gMonPalette_Walrein, 343,
- gMonPalette_Cacnea, 344,
- gMonPalette_Cacturne, 345,
- gMonPalette_Snorunt, 346,
- gMonPalette_Glalie, 347,
- gMonPalette_Lunatone, 348,
- gMonPalette_Solrock, 349,
- gMonPalette_Azurill, 350,
- gMonPalette_Spoink, 351,
- gMonPalette_Grumpig, 352,
- gMonPalette_Plusle, 353,
- gMonPalette_Minun, 354,
- gMonPalette_Mawile, 355,
- gMonPalette_Meditite, 356,
- gMonPalette_Medicham, 357,
- gMonPalette_Swablu, 358,
- gMonPalette_Altaria, 359,
- gMonPalette_Wynaut, 360,
- gMonPalette_Duskull, 361,
- gMonPalette_Dusclops, 362,
- gMonPalette_Roselia, 363,
- gMonPalette_Slakoth, 364,
- gMonPalette_Vigoroth, 365,
- gMonPalette_Slaking, 366,
- gMonPalette_Gulpin, 367,
- gMonPalette_Swalot, 368,
- gMonPalette_Tropius, 369,
- gMonPalette_Whismur, 370,
- gMonPalette_Loudred, 371,
- gMonPalette_Exploud, 372,
- gMonPalette_Clamperl, 373,
- gMonPalette_Huntail, 374,
- gMonPalette_Gorebyss, 375,
- gMonPalette_Absol, 376,
- gMonPalette_Shuppet, 377,
- gMonPalette_Banette, 378,
- gMonPalette_Seviper, 379,
- gMonPalette_Zangoose, 380,
- gMonPalette_Relicanth, 381,
- gMonPalette_Aron, 382,
- gMonPalette_Lairon, 383,
- gMonPalette_Aggron, 384,
- gMonPalette_Castform, 385,
- gMonPalette_Volbeat, 386,
- gMonPalette_Illumise, 387,
- gMonPalette_Lileep, 388,
- gMonPalette_Cradily, 389,
- gMonPalette_Anorith, 390,
- gMonPalette_Armaldo, 391,
- gMonPalette_Ralts, 392,
- gMonPalette_Kirlia, 393,
- gMonPalette_Gardevoir, 394,
- gMonPalette_Bagon, 395,
- gMonPalette_Shelgon, 396,
- gMonPalette_Salamence, 397,
- gMonPalette_Beldum, 398,
- gMonPalette_Metang, 399,
- gMonPalette_Metagross, 400,
- gMonPalette_Regirock, 401,
- gMonPalette_Regice, 402,
- gMonPalette_Registeel, 403,
- gMonPalette_Kyogre, 404,
- gMonPalette_Groudon, 405,
- gMonPalette_Rayquaza, 406,
- gMonPalette_Latias, 407,
- gMonPalette_Latios, 408,
- gMonPalette_Jirachi, 409,
- gMonPalette_Deoxys, 410,
- gMonPalette_Chimecho, 411,
- gMonPalette_Egg, 412,
- gMonPalette_Unown, 413,
- gMonPalette_Unown, 414,
- gMonPalette_Unown, 415,
- gMonPalette_Unown, 416,
- gMonPalette_Unown, 417,
- gMonPalette_Unown, 418,
- gMonPalette_Unown, 419,
- gMonPalette_Unown, 420,
- gMonPalette_Unown, 421,
- gMonPalette_Unown, 422,
- gMonPalette_Unown, 423,
- gMonPalette_Unown, 424,
- gMonPalette_Unown, 425,
- gMonPalette_Unown, 426,
- gMonPalette_Unown, 427,
- gMonPalette_Unown, 428,
- gMonPalette_Unown, 429,
- gMonPalette_Unown, 430,
- gMonPalette_Unown, 431,
- gMonPalette_Unown, 432,
- gMonPalette_Unown, 433,
- gMonPalette_Unown, 434,
- gMonPalette_Unown, 435,
- gMonPalette_Unown, 436,
- gMonPalette_Unown, 437,
- gMonPalette_Unown, 438,
- gMonPalette_Unown, 439,
+ [SPECIES_NONE] = {gMonPalette_CircledQuestionMark, SPECIES_NONE},
+ [SPECIES_BULBASAUR] = {gMonPalette_Bulbasaur, SPECIES_BULBASAUR},
+ [SPECIES_IVYSAUR] = {gMonPalette_Ivysaur, SPECIES_IVYSAUR},
+ [SPECIES_VENUSAUR] = {gMonPalette_Venusaur, SPECIES_VENUSAUR},
+ [SPECIES_CHARMANDER] = {gMonPalette_Charmander, SPECIES_CHARMANDER},
+ [SPECIES_CHARMELEON] = {gMonPalette_Charmeleon, SPECIES_CHARMELEON},
+ [SPECIES_CHARIZARD] = {gMonPalette_Charizard, SPECIES_CHARIZARD},
+ [SPECIES_SQUIRTLE] = {gMonPalette_Squirtle, SPECIES_SQUIRTLE},
+ [SPECIES_WARTORTLE] = {gMonPalette_Wartortle, SPECIES_WARTORTLE},
+ [SPECIES_BLASTOISE] = {gMonPalette_Blastoise, SPECIES_BLASTOISE},
+ [SPECIES_CATERPIE] = {gMonPalette_Caterpie, SPECIES_CATERPIE},
+ [SPECIES_METAPOD] = {gMonPalette_Metapod, SPECIES_METAPOD},
+ [SPECIES_BUTTERFREE] = {gMonPalette_Butterfree, SPECIES_BUTTERFREE},
+ [SPECIES_WEEDLE] = {gMonPalette_Weedle, SPECIES_WEEDLE},
+ [SPECIES_KAKUNA] = {gMonPalette_Kakuna, SPECIES_KAKUNA},
+ [SPECIES_BEEDRILL] = {gMonPalette_Beedrill, SPECIES_BEEDRILL},
+ [SPECIES_PIDGEY] = {gMonPalette_Pidgey, SPECIES_PIDGEY},
+ [SPECIES_PIDGEOTTO] = {gMonPalette_Pidgeotto, SPECIES_PIDGEOTTO},
+ [SPECIES_PIDGEOT] = {gMonPalette_Pidgeot, SPECIES_PIDGEOT},
+ [SPECIES_RATTATA] = {gMonPalette_Rattata, SPECIES_RATTATA},
+ [SPECIES_RATICATE] = {gMonPalette_Raticate, SPECIES_RATICATE},
+ [SPECIES_SPEAROW] = {gMonPalette_Spearow, SPECIES_SPEAROW},
+ [SPECIES_FEAROW] = {gMonPalette_Fearow, SPECIES_FEAROW},
+ [SPECIES_EKANS] = {gMonPalette_Ekans, SPECIES_EKANS},
+ [SPECIES_ARBOK] = {gMonPalette_Arbok, SPECIES_ARBOK},
+ [SPECIES_PIKACHU] = {gMonPalette_Pikachu, SPECIES_PIKACHU},
+ [SPECIES_RAICHU] = {gMonPalette_Raichu, SPECIES_RAICHU},
+ [SPECIES_SANDSHREW] = {gMonPalette_Sandshrew, SPECIES_SANDSHREW},
+ [SPECIES_SANDSLASH] = {gMonPalette_Sandslash, SPECIES_SANDSLASH},
+ [SPECIES_NIDORAN_F] = {gMonPalette_NidoranF, SPECIES_NIDORAN_F},
+ [SPECIES_NIDORINA] = {gMonPalette_Nidorina, SPECIES_NIDORINA},
+ [SPECIES_NIDOQUEEN] = {gMonPalette_Nidoqueen, SPECIES_NIDOQUEEN},
+ [SPECIES_NIDORAN_M] = {gMonPalette_NidoranM, SPECIES_NIDORAN_M},
+ [SPECIES_NIDORINO] = {gMonPalette_Nidorino, SPECIES_NIDORINO},
+ [SPECIES_NIDOKING] = {gMonPalette_Nidoking, SPECIES_NIDOKING},
+ [SPECIES_CLEFAIRY] = {gMonPalette_Clefairy, SPECIES_CLEFAIRY},
+ [SPECIES_CLEFABLE] = {gMonPalette_Clefable, SPECIES_CLEFABLE},
+ [SPECIES_VULPIX] = {gMonPalette_Vulpix, SPECIES_VULPIX},
+ [SPECIES_NINETALES] = {gMonPalette_Ninetales, SPECIES_NINETALES},
+ [SPECIES_JIGGLYPUFF] = {gMonPalette_Jigglypuff, SPECIES_JIGGLYPUFF},
+ [SPECIES_WIGGLYTUFF] = {gMonPalette_Wigglytuff, SPECIES_WIGGLYTUFF},
+ [SPECIES_ZUBAT] = {gMonPalette_Zubat, SPECIES_ZUBAT},
+ [SPECIES_GOLBAT] = {gMonPalette_Golbat, SPECIES_GOLBAT},
+ [SPECIES_ODDISH] = {gMonPalette_Oddish, SPECIES_ODDISH},
+ [SPECIES_GLOOM] = {gMonPalette_Gloom, SPECIES_GLOOM},
+ [SPECIES_VILEPLUME] = {gMonPalette_Vileplume, SPECIES_VILEPLUME},
+ [SPECIES_PARAS] = {gMonPalette_Paras, SPECIES_PARAS},
+ [SPECIES_PARASECT] = {gMonPalette_Parasect, SPECIES_PARASECT},
+ [SPECIES_VENONAT] = {gMonPalette_Venonat, SPECIES_VENONAT},
+ [SPECIES_VENOMOTH] = {gMonPalette_Venomoth, SPECIES_VENOMOTH},
+ [SPECIES_DIGLETT] = {gMonPalette_Diglett, SPECIES_DIGLETT},
+ [SPECIES_DUGTRIO] = {gMonPalette_Dugtrio, SPECIES_DUGTRIO},
+ [SPECIES_MEOWTH] = {gMonPalette_Meowth, SPECIES_MEOWTH},
+ [SPECIES_PERSIAN] = {gMonPalette_Persian, SPECIES_PERSIAN},
+ [SPECIES_PSYDUCK] = {gMonPalette_Psyduck, SPECIES_PSYDUCK},
+ [SPECIES_GOLDUCK] = {gMonPalette_Golduck, SPECIES_GOLDUCK},
+ [SPECIES_MANKEY] = {gMonPalette_Mankey, SPECIES_MANKEY},
+ [SPECIES_PRIMEAPE] = {gMonPalette_Primeape, SPECIES_PRIMEAPE},
+ [SPECIES_GROWLITHE] = {gMonPalette_Growlithe, SPECIES_GROWLITHE},
+ [SPECIES_ARCANINE] = {gMonPalette_Arcanine, SPECIES_ARCANINE},
+ [SPECIES_POLIWAG] = {gMonPalette_Poliwag, SPECIES_POLIWAG},
+ [SPECIES_POLIWHIRL] = {gMonPalette_Poliwhirl, SPECIES_POLIWHIRL},
+ [SPECIES_POLIWRATH] = {gMonPalette_Poliwrath, SPECIES_POLIWRATH},
+ [SPECIES_ABRA] = {gMonPalette_Abra, SPECIES_ABRA},
+ [SPECIES_KADABRA] = {gMonPalette_Kadabra, SPECIES_KADABRA},
+ [SPECIES_ALAKAZAM] = {gMonPalette_Alakazam, SPECIES_ALAKAZAM},
+ [SPECIES_MACHOP] = {gMonPalette_Machop, SPECIES_MACHOP},
+ [SPECIES_MACHOKE] = {gMonPalette_Machoke, SPECIES_MACHOKE},
+ [SPECIES_MACHAMP] = {gMonPalette_Machamp, SPECIES_MACHAMP},
+ [SPECIES_BELLSPROUT] = {gMonPalette_Bellsprout, SPECIES_BELLSPROUT},
+ [SPECIES_WEEPINBELL] = {gMonPalette_Weepinbell, SPECIES_WEEPINBELL},
+ [SPECIES_VICTREEBEL] = {gMonPalette_Victreebel, SPECIES_VICTREEBEL},
+ [SPECIES_TENTACOOL] = {gMonPalette_Tentacool, SPECIES_TENTACOOL},
+ [SPECIES_TENTACRUEL] = {gMonPalette_Tentacruel, SPECIES_TENTACRUEL},
+ [SPECIES_GEODUDE] = {gMonPalette_Geodude, SPECIES_GEODUDE},
+ [SPECIES_GRAVELER] = {gMonPalette_Graveler, SPECIES_GRAVELER},
+ [SPECIES_GOLEM] = {gMonPalette_Golem, SPECIES_GOLEM},
+ [SPECIES_PONYTA] = {gMonPalette_Ponyta, SPECIES_PONYTA},
+ [SPECIES_RAPIDASH] = {gMonPalette_Rapidash, SPECIES_RAPIDASH},
+ [SPECIES_SLOWPOKE] = {gMonPalette_Slowpoke, SPECIES_SLOWPOKE},
+ [SPECIES_SLOWBRO] = {gMonPalette_Slowbro, SPECIES_SLOWBRO},
+ [SPECIES_MAGNEMITE] = {gMonPalette_Magnemite, SPECIES_MAGNEMITE},
+ [SPECIES_MAGNETON] = {gMonPalette_Magneton, SPECIES_MAGNETON},
+ [SPECIES_FARFETCHD] = {gMonPalette_Farfetchd, SPECIES_FARFETCHD},
+ [SPECIES_DODUO] = {gMonPalette_Doduo, SPECIES_DODUO},
+ [SPECIES_DODRIO] = {gMonPalette_Dodrio, SPECIES_DODRIO},
+ [SPECIES_SEEL] = {gMonPalette_Seel, SPECIES_SEEL},
+ [SPECIES_DEWGONG] = {gMonPalette_Dewgong, SPECIES_DEWGONG},
+ [SPECIES_GRIMER] = {gMonPalette_Grimer, SPECIES_GRIMER},
+ [SPECIES_MUK] = {gMonPalette_Muk, SPECIES_MUK},
+ [SPECIES_SHELLDER] = {gMonPalette_Shellder, SPECIES_SHELLDER},
+ [SPECIES_CLOYSTER] = {gMonPalette_Cloyster, SPECIES_CLOYSTER},
+ [SPECIES_GASTLY] = {gMonPalette_Gastly, SPECIES_GASTLY},
+ [SPECIES_HAUNTER] = {gMonPalette_Haunter, SPECIES_HAUNTER},
+ [SPECIES_GENGAR] = {gMonPalette_Gengar, SPECIES_GENGAR},
+ [SPECIES_ONIX] = {gMonPalette_Onix, SPECIES_ONIX},
+ [SPECIES_DROWZEE] = {gMonPalette_Drowzee, SPECIES_DROWZEE},
+ [SPECIES_HYPNO] = {gMonPalette_Hypno, SPECIES_HYPNO},
+ [SPECIES_KRABBY] = {gMonPalette_Krabby, SPECIES_KRABBY},
+ [SPECIES_KINGLER] = {gMonPalette_Kingler, SPECIES_KINGLER},
+ [SPECIES_VOLTORB] = {gMonPalette_Voltorb, SPECIES_VOLTORB},
+ [SPECIES_ELECTRODE] = {gMonPalette_Electrode, SPECIES_ELECTRODE},
+ [SPECIES_EXEGGCUTE] = {gMonPalette_Exeggcute, SPECIES_EXEGGCUTE},
+ [SPECIES_EXEGGUTOR] = {gMonPalette_Exeggutor, SPECIES_EXEGGUTOR},
+ [SPECIES_CUBONE] = {gMonPalette_Cubone, SPECIES_CUBONE},
+ [SPECIES_MAROWAK] = {gMonPalette_Marowak, SPECIES_MAROWAK},
+ [SPECIES_HITMONLEE] = {gMonPalette_Hitmonlee, SPECIES_HITMONLEE},
+ [SPECIES_HITMONCHAN] = {gMonPalette_Hitmonchan, SPECIES_HITMONCHAN},
+ [SPECIES_LICKITUNG] = {gMonPalette_Lickitung, SPECIES_LICKITUNG},
+ [SPECIES_KOFFING] = {gMonPalette_Koffing, SPECIES_KOFFING},
+ [SPECIES_WEEZING] = {gMonPalette_Weezing, SPECIES_WEEZING},
+ [SPECIES_RHYHORN] = {gMonPalette_Rhyhorn, SPECIES_RHYHORN},
+ [SPECIES_RHYDON] = {gMonPalette_Rhydon, SPECIES_RHYDON},
+ [SPECIES_CHANSEY] = {gMonPalette_Chansey, SPECIES_CHANSEY},
+ [SPECIES_TANGELA] = {gMonPalette_Tangela, SPECIES_TANGELA},
+ [SPECIES_KANGASKHAN] = {gMonPalette_Kangaskhan, SPECIES_KANGASKHAN},
+ [SPECIES_HORSEA] = {gMonPalette_Horsea, SPECIES_HORSEA},
+ [SPECIES_SEADRA] = {gMonPalette_Seadra, SPECIES_SEADRA},
+ [SPECIES_GOLDEEN] = {gMonPalette_Goldeen, SPECIES_GOLDEEN},
+ [SPECIES_SEAKING] = {gMonPalette_Seaking, SPECIES_SEAKING},
+ [SPECIES_STARYU] = {gMonPalette_Staryu, SPECIES_STARYU},
+ [SPECIES_STARMIE] = {gMonPalette_Starmie, SPECIES_STARMIE},
+ [SPECIES_MR_MIME] = {gMonPalette_Mrmime, SPECIES_MR_MIME},
+ [SPECIES_SCYTHER] = {gMonPalette_Scyther, SPECIES_SCYTHER},
+ [SPECIES_JYNX] = {gMonPalette_Jynx, SPECIES_JYNX},
+ [SPECIES_ELECTABUZZ] = {gMonPalette_Electabuzz, SPECIES_ELECTABUZZ},
+ [SPECIES_MAGMAR] = {gMonPalette_Magmar, SPECIES_MAGMAR},
+ [SPECIES_PINSIR] = {gMonPalette_Pinsir, SPECIES_PINSIR},
+ [SPECIES_TAUROS] = {gMonPalette_Tauros, SPECIES_TAUROS},
+ [SPECIES_MAGIKARP] = {gMonPalette_Magikarp, SPECIES_MAGIKARP},
+ [SPECIES_GYARADOS] = {gMonPalette_Gyarados, SPECIES_GYARADOS},
+ [SPECIES_LAPRAS] = {gMonPalette_Lapras, SPECIES_LAPRAS},
+ [SPECIES_DITTO] = {gMonPalette_Ditto, SPECIES_DITTO},
+ [SPECIES_EEVEE] = {gMonPalette_Eevee, SPECIES_EEVEE},
+ [SPECIES_VAPOREON] = {gMonPalette_Vaporeon, SPECIES_VAPOREON},
+ [SPECIES_JOLTEON] = {gMonPalette_Jolteon, SPECIES_JOLTEON},
+ [SPECIES_FLAREON] = {gMonPalette_Flareon, SPECIES_FLAREON},
+ [SPECIES_PORYGON] = {gMonPalette_Porygon, SPECIES_PORYGON},
+ [SPECIES_OMANYTE] = {gMonPalette_Omanyte, SPECIES_OMANYTE},
+ [SPECIES_OMASTAR] = {gMonPalette_Omastar, SPECIES_OMASTAR},
+ [SPECIES_KABUTO] = {gMonPalette_Kabuto, SPECIES_KABUTO},
+ [SPECIES_KABUTOPS] = {gMonPalette_Kabutops, SPECIES_KABUTOPS},
+ [SPECIES_AERODACTYL] = {gMonPalette_Aerodactyl, SPECIES_AERODACTYL},
+ [SPECIES_SNORLAX] = {gMonPalette_Snorlax, SPECIES_SNORLAX},
+ [SPECIES_ARTICUNO] = {gMonPalette_Articuno, SPECIES_ARTICUNO},
+ [SPECIES_ZAPDOS] = {gMonPalette_Zapdos, SPECIES_ZAPDOS},
+ [SPECIES_MOLTRES] = {gMonPalette_Moltres, SPECIES_MOLTRES},
+ [SPECIES_DRATINI] = {gMonPalette_Dratini, SPECIES_DRATINI},
+ [SPECIES_DRAGONAIR] = {gMonPalette_Dragonair, SPECIES_DRAGONAIR},
+ [SPECIES_DRAGONITE] = {gMonPalette_Dragonite, SPECIES_DRAGONITE},
+ [SPECIES_MEWTWO] = {gMonPalette_Mewtwo, SPECIES_MEWTWO},
+ [SPECIES_MEW] = {gMonPalette_Mew, SPECIES_MEW},
+ [SPECIES_CHIKORITA] = {gMonPalette_Chikorita, SPECIES_CHIKORITA},
+ [SPECIES_BAYLEEF] = {gMonPalette_Bayleef, SPECIES_BAYLEEF},
+ [SPECIES_MEGANIUM] = {gMonPalette_Meganium, SPECIES_MEGANIUM},
+ [SPECIES_CYNDAQUIL] = {gMonPalette_Cyndaquil, SPECIES_CYNDAQUIL},
+ [SPECIES_QUILAVA] = {gMonPalette_Quilava, SPECIES_QUILAVA},
+ [SPECIES_TYPHLOSION] = {gMonPalette_Typhlosion, SPECIES_TYPHLOSION},
+ [SPECIES_TOTODILE] = {gMonPalette_Totodile, SPECIES_TOTODILE},
+ [SPECIES_CROCONAW] = {gMonPalette_Croconaw, SPECIES_CROCONAW},
+ [SPECIES_FERALIGATR] = {gMonPalette_Feraligatr, SPECIES_FERALIGATR},
+ [SPECIES_SENTRET] = {gMonPalette_Sentret, SPECIES_SENTRET},
+ [SPECIES_FURRET] = {gMonPalette_Furret, SPECIES_FURRET},
+ [SPECIES_HOOTHOOT] = {gMonPalette_Hoothoot, SPECIES_HOOTHOOT},
+ [SPECIES_NOCTOWL] = {gMonPalette_Noctowl, SPECIES_NOCTOWL},
+ [SPECIES_LEDYBA] = {gMonPalette_Ledyba, SPECIES_LEDYBA},
+ [SPECIES_LEDIAN] = {gMonPalette_Ledian, SPECIES_LEDIAN},
+ [SPECIES_SPINARAK] = {gMonPalette_Spinarak, SPECIES_SPINARAK},
+ [SPECIES_ARIADOS] = {gMonPalette_Ariados, SPECIES_ARIADOS},
+ [SPECIES_CROBAT] = {gMonPalette_Crobat, SPECIES_CROBAT},
+ [SPECIES_CHINCHOU] = {gMonPalette_Chinchou, SPECIES_CHINCHOU},
+ [SPECIES_LANTURN] = {gMonPalette_Lanturn, SPECIES_LANTURN},
+ [SPECIES_PICHU] = {gMonPalette_Pichu, SPECIES_PICHU},
+ [SPECIES_CLEFFA] = {gMonPalette_Cleffa, SPECIES_CLEFFA},
+ [SPECIES_IGGLYBUFF] = {gMonPalette_Igglybuff, SPECIES_IGGLYBUFF},
+ [SPECIES_TOGEPI] = {gMonPalette_Togepi, SPECIES_TOGEPI},
+ [SPECIES_TOGETIC] = {gMonPalette_Togetic, SPECIES_TOGETIC},
+ [SPECIES_NATU] = {gMonPalette_Natu, SPECIES_NATU},
+ [SPECIES_XATU] = {gMonPalette_Xatu, SPECIES_XATU},
+ [SPECIES_MAREEP] = {gMonPalette_Mareep, SPECIES_MAREEP},
+ [SPECIES_FLAAFFY] = {gMonPalette_Flaaffy, SPECIES_FLAAFFY},
+ [SPECIES_AMPHAROS] = {gMonPalette_Ampharos, SPECIES_AMPHAROS},
+ [SPECIES_BELLOSSOM] = {gMonPalette_Bellossom, SPECIES_BELLOSSOM},
+ [SPECIES_MARILL] = {gMonPalette_Marill, SPECIES_MARILL},
+ [SPECIES_AZUMARILL] = {gMonPalette_Azumarill, SPECIES_AZUMARILL},
+ [SPECIES_SUDOWOODO] = {gMonPalette_Sudowoodo, SPECIES_SUDOWOODO},
+ [SPECIES_POLITOED] = {gMonPalette_Politoed, SPECIES_POLITOED},
+ [SPECIES_HOPPIP] = {gMonPalette_Hoppip, SPECIES_HOPPIP},
+ [SPECIES_SKIPLOOM] = {gMonPalette_Skiploom, SPECIES_SKIPLOOM},
+ [SPECIES_JUMPLUFF] = {gMonPalette_Jumpluff, SPECIES_JUMPLUFF},
+ [SPECIES_AIPOM] = {gMonPalette_Aipom, SPECIES_AIPOM},
+ [SPECIES_SUNKERN] = {gMonPalette_Sunkern, SPECIES_SUNKERN},
+ [SPECIES_SUNFLORA] = {gMonPalette_Sunflora, SPECIES_SUNFLORA},
+ [SPECIES_YANMA] = {gMonPalette_Yanma, SPECIES_YANMA},
+ [SPECIES_WOOPER] = {gMonPalette_Wooper, SPECIES_WOOPER},
+ [SPECIES_QUAGSIRE] = {gMonPalette_Quagsire, SPECIES_QUAGSIRE},
+ [SPECIES_ESPEON] = {gMonPalette_Espeon, SPECIES_ESPEON},
+ [SPECIES_UMBREON] = {gMonPalette_Umbreon, SPECIES_UMBREON},
+ [SPECIES_MURKROW] = {gMonPalette_Murkrow, SPECIES_MURKROW},
+ [SPECIES_SLOWKING] = {gMonPalette_Slowking, SPECIES_SLOWKING},
+ [SPECIES_MISDREAVUS] = {gMonPalette_Misdreavus, SPECIES_MISDREAVUS},
+ [SPECIES_UNOWN] = {gMonPalette_Unown, SPECIES_UNOWN},
+ [SPECIES_WOBBUFFET] = {gMonPalette_Wobbuffet, SPECIES_WOBBUFFET},
+ [SPECIES_GIRAFARIG] = {gMonPalette_Girafarig, SPECIES_GIRAFARIG},
+ [SPECIES_PINECO] = {gMonPalette_Pineco, SPECIES_PINECO},
+ [SPECIES_FORRETRESS] = {gMonPalette_Forretress, SPECIES_FORRETRESS},
+ [SPECIES_DUNSPARCE] = {gMonPalette_Dunsparce, SPECIES_DUNSPARCE},
+ [SPECIES_GLIGAR] = {gMonPalette_Gligar, SPECIES_GLIGAR},
+ [SPECIES_STEELIX] = {gMonPalette_Steelix, SPECIES_STEELIX},
+ [SPECIES_SNUBBULL] = {gMonPalette_Snubbull, SPECIES_SNUBBULL},
+ [SPECIES_GRANBULL] = {gMonPalette_Granbull, SPECIES_GRANBULL},
+ [SPECIES_QWILFISH] = {gMonPalette_Qwilfish, SPECIES_QWILFISH},
+ [SPECIES_SCIZOR] = {gMonPalette_Scizor, SPECIES_SCIZOR},
+ [SPECIES_SHUCKLE] = {gMonPalette_Shuckle, SPECIES_SHUCKLE},
+ [SPECIES_HERACROSS] = {gMonPalette_Heracross, SPECIES_HERACROSS},
+ [SPECIES_SNEASEL] = {gMonPalette_Sneasel, SPECIES_SNEASEL},
+ [SPECIES_TEDDIURSA] = {gMonPalette_Teddiursa, SPECIES_TEDDIURSA},
+ [SPECIES_URSARING] = {gMonPalette_Ursaring, SPECIES_URSARING},
+ [SPECIES_SLUGMA] = {gMonPalette_Slugma, SPECIES_SLUGMA},
+ [SPECIES_MAGCARGO] = {gMonPalette_Magcargo, SPECIES_MAGCARGO},
+ [SPECIES_SWINUB] = {gMonPalette_Swinub, SPECIES_SWINUB},
+ [SPECIES_PILOSWINE] = {gMonPalette_Piloswine, SPECIES_PILOSWINE},
+ [SPECIES_CORSOLA] = {gMonPalette_Corsola, SPECIES_CORSOLA},
+ [SPECIES_REMORAID] = {gMonPalette_Remoraid, SPECIES_REMORAID},
+ [SPECIES_OCTILLERY] = {gMonPalette_Octillery, SPECIES_OCTILLERY},
+ [SPECIES_DELIBIRD] = {gMonPalette_Delibird, SPECIES_DELIBIRD},
+ [SPECIES_MANTINE] = {gMonPalette_Mantine, SPECIES_MANTINE},
+ [SPECIES_SKARMORY] = {gMonPalette_Skarmory, SPECIES_SKARMORY},
+ [SPECIES_HOUNDOUR] = {gMonPalette_Houndour, SPECIES_HOUNDOUR},
+ [SPECIES_HOUNDOOM] = {gMonPalette_Houndoom, SPECIES_HOUNDOOM},
+ [SPECIES_KINGDRA] = {gMonPalette_Kingdra, SPECIES_KINGDRA},
+ [SPECIES_PHANPY] = {gMonPalette_Phanpy, SPECIES_PHANPY},
+ [SPECIES_DONPHAN] = {gMonPalette_Donphan, SPECIES_DONPHAN},
+ [SPECIES_PORYGON2] = {gMonPalette_Porygon2, SPECIES_PORYGON2},
+ [SPECIES_STANTLER] = {gMonPalette_Stantler, SPECIES_STANTLER},
+ [SPECIES_SMEARGLE] = {gMonPalette_Smeargle, SPECIES_SMEARGLE},
+ [SPECIES_TYROGUE] = {gMonPalette_Tyrogue, SPECIES_TYROGUE},
+ [SPECIES_HITMONTOP] = {gMonPalette_Hitmontop, SPECIES_HITMONTOP},
+ [SPECIES_SMOOCHUM] = {gMonPalette_Smoochum, SPECIES_SMOOCHUM},
+ [SPECIES_ELEKID] = {gMonPalette_Elekid, SPECIES_ELEKID},
+ [SPECIES_MAGBY] = {gMonPalette_Magby, SPECIES_MAGBY},
+ [SPECIES_MILTANK] = {gMonPalette_Miltank, SPECIES_MILTANK},
+ [SPECIES_BLISSEY] = {gMonPalette_Blissey, SPECIES_BLISSEY},
+ [SPECIES_RAIKOU] = {gMonPalette_Raikou, SPECIES_RAIKOU},
+ [SPECIES_ENTEI] = {gMonPalette_Entei, SPECIES_ENTEI},
+ [SPECIES_SUICUNE] = {gMonPalette_Suicune, SPECIES_SUICUNE},
+ [SPECIES_LARVITAR] = {gMonPalette_Larvitar, SPECIES_LARVITAR},
+ [SPECIES_PUPITAR] = {gMonPalette_Pupitar, SPECIES_PUPITAR},
+ [SPECIES_TYRANITAR] = {gMonPalette_Tyranitar, SPECIES_TYRANITAR},
+ [SPECIES_LUGIA] = {gMonPalette_Lugia, SPECIES_LUGIA},
+ [SPECIES_HO_OH] = {gMonPalette_HoOh, SPECIES_HO_OH},
+ [SPECIES_CELEBI] = {gMonPalette_Celebi, SPECIES_CELEBI},
+ [SPECIES_OLD_UNOWN_B] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B},
+ [SPECIES_OLD_UNOWN_C] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C},
+ [SPECIES_OLD_UNOWN_D] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D},
+ [SPECIES_OLD_UNOWN_E] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E},
+ [SPECIES_OLD_UNOWN_F] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F},
+ [SPECIES_OLD_UNOWN_G] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G},
+ [SPECIES_OLD_UNOWN_H] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H},
+ [SPECIES_OLD_UNOWN_I] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I},
+ [SPECIES_OLD_UNOWN_J] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J},
+ [SPECIES_OLD_UNOWN_K] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K},
+ [SPECIES_OLD_UNOWN_L] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L},
+ [SPECIES_OLD_UNOWN_M] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M},
+ [SPECIES_OLD_UNOWN_N] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N},
+ [SPECIES_OLD_UNOWN_O] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O},
+ [SPECIES_OLD_UNOWN_P] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P},
+ [SPECIES_OLD_UNOWN_Q] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q},
+ [SPECIES_OLD_UNOWN_R] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R},
+ [SPECIES_OLD_UNOWN_S] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S},
+ [SPECIES_OLD_UNOWN_T] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T},
+ [SPECIES_OLD_UNOWN_U] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U},
+ [SPECIES_OLD_UNOWN_V] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V},
+ [SPECIES_OLD_UNOWN_W] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W},
+ [SPECIES_OLD_UNOWN_X] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X},
+ [SPECIES_OLD_UNOWN_Y] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y},
+ [SPECIES_OLD_UNOWN_Z] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z},
+ [SPECIES_TREECKO] = {gMonPalette_Treecko, SPECIES_TREECKO},
+ [SPECIES_GROVYLE] = {gMonPalette_Grovyle, SPECIES_GROVYLE},
+ [SPECIES_SCEPTILE] = {gMonPalette_Sceptile, SPECIES_SCEPTILE},
+ [SPECIES_TORCHIC] = {gMonPalette_Torchic, SPECIES_TORCHIC},
+ [SPECIES_COMBUSKEN] = {gMonPalette_Combusken, SPECIES_COMBUSKEN},
+ [SPECIES_BLAZIKEN] = {gMonPalette_Blaziken, SPECIES_BLAZIKEN},
+ [SPECIES_MUDKIP] = {gMonPalette_Mudkip, SPECIES_MUDKIP},
+ [SPECIES_MARSHTOMP] = {gMonPalette_Marshtomp, SPECIES_MARSHTOMP},
+ [SPECIES_SWAMPERT] = {gMonPalette_Swampert, SPECIES_SWAMPERT},
+ [SPECIES_POOCHYENA] = {gMonPalette_Poochyena, SPECIES_POOCHYENA},
+ [SPECIES_MIGHTYENA] = {gMonPalette_Mightyena, SPECIES_MIGHTYENA},
+ [SPECIES_ZIGZAGOON] = {gMonPalette_Zigzagoon, SPECIES_ZIGZAGOON},
+ [SPECIES_LINOONE] = {gMonPalette_Linoone, SPECIES_LINOONE},
+ [SPECIES_WURMPLE] = {gMonPalette_Wurmple, SPECIES_WURMPLE},
+ [SPECIES_SILCOON] = {gMonPalette_Silcoon, SPECIES_SILCOON},
+ [SPECIES_BEAUTIFLY] = {gMonPalette_Beautifly, SPECIES_BEAUTIFLY},
+ [SPECIES_CASCOON] = {gMonPalette_Cascoon, SPECIES_CASCOON},
+ [SPECIES_DUSTOX] = {gMonPalette_Dustox, SPECIES_DUSTOX},
+ [SPECIES_LOTAD] = {gMonPalette_Lotad, SPECIES_LOTAD},
+ [SPECIES_LOMBRE] = {gMonPalette_Lombre, SPECIES_LOMBRE},
+ [SPECIES_LUDICOLO] = {gMonPalette_Ludicolo, SPECIES_LUDICOLO},
+ [SPECIES_SEEDOT] = {gMonPalette_Seedot, SPECIES_SEEDOT},
+ [SPECIES_NUZLEAF] = {gMonPalette_Nuzleaf, SPECIES_NUZLEAF},
+ [SPECIES_SHIFTRY] = {gMonPalette_Shiftry, SPECIES_SHIFTRY},
+ [SPECIES_NINCADA] = {gMonPalette_Nincada, SPECIES_NINCADA},
+ [SPECIES_NINJASK] = {gMonPalette_Ninjask, SPECIES_NINJASK},
+ [SPECIES_SHEDINJA] = {gMonPalette_Shedinja, SPECIES_SHEDINJA},
+ [SPECIES_TAILLOW] = {gMonPalette_Taillow, SPECIES_TAILLOW},
+ [SPECIES_SWELLOW] = {gMonPalette_Swellow, SPECIES_SWELLOW},
+ [SPECIES_SHROOMISH] = {gMonPalette_Shroomish, SPECIES_SHROOMISH},
+ [SPECIES_BRELOOM] = {gMonPalette_Breloom, SPECIES_BRELOOM},
+ [SPECIES_SPINDA] = {gMonPalette_Spinda, SPECIES_SPINDA},
+ [SPECIES_WINGULL] = {gMonPalette_Wingull, SPECIES_WINGULL},
+ [SPECIES_PELIPPER] = {gMonPalette_Pelipper, SPECIES_PELIPPER},
+ [SPECIES_SURSKIT] = {gMonPalette_Surskit, SPECIES_SURSKIT},
+ [SPECIES_MASQUERAIN] = {gMonPalette_Masquerain, SPECIES_MASQUERAIN},
+ [SPECIES_WAILMER] = {gMonPalette_Wailmer, SPECIES_WAILMER},
+ [SPECIES_WAILORD] = {gMonPalette_Wailord, SPECIES_WAILORD},
+ [SPECIES_SKITTY] = {gMonPalette_Skitty, SPECIES_SKITTY},
+ [SPECIES_DELCATTY] = {gMonPalette_Delcatty, SPECIES_DELCATTY},
+ [SPECIES_KECLEON] = {gMonPalette_Kecleon, SPECIES_KECLEON},
+ [SPECIES_BALTOY] = {gMonPalette_Baltoy, SPECIES_BALTOY},
+ [SPECIES_CLAYDOL] = {gMonPalette_Claydol, SPECIES_CLAYDOL},
+ [SPECIES_NOSEPASS] = {gMonPalette_Nosepass, SPECIES_NOSEPASS},
+ [SPECIES_TORKOAL] = {gMonPalette_Torkoal, SPECIES_TORKOAL},
+ [SPECIES_SABLEYE] = {gMonPalette_Sableye, SPECIES_SABLEYE},
+ [SPECIES_BARBOACH] = {gMonPalette_Barboach, SPECIES_BARBOACH},
+ [SPECIES_WHISCASH] = {gMonPalette_Whiscash, SPECIES_WHISCASH},
+ [SPECIES_LUVDISC] = {gMonPalette_Luvdisc, SPECIES_LUVDISC},
+ [SPECIES_CORPHISH] = {gMonPalette_Corphish, SPECIES_CORPHISH},
+ [SPECIES_CRAWDAUNT] = {gMonPalette_Crawdaunt, SPECIES_CRAWDAUNT},
+ [SPECIES_FEEBAS] = {gMonPalette_Feebas, SPECIES_FEEBAS},
+ [SPECIES_MILOTIC] = {gMonPalette_Milotic, SPECIES_MILOTIC},
+ [SPECIES_CARVANHA] = {gMonPalette_Carvanha, SPECIES_CARVANHA},
+ [SPECIES_SHARPEDO] = {gMonPalette_Sharpedo, SPECIES_SHARPEDO},
+ [SPECIES_TRAPINCH] = {gMonPalette_Trapinch, SPECIES_TRAPINCH},
+ [SPECIES_VIBRAVA] = {gMonPalette_Vibrava, SPECIES_VIBRAVA},
+ [SPECIES_FLYGON] = {gMonPalette_Flygon, SPECIES_FLYGON},
+ [SPECIES_MAKUHITA] = {gMonPalette_Makuhita, SPECIES_MAKUHITA},
+ [SPECIES_HARIYAMA] = {gMonPalette_Hariyama, SPECIES_HARIYAMA},
+ [SPECIES_ELECTRIKE] = {gMonPalette_Electrike, SPECIES_ELECTRIKE},
+ [SPECIES_MANECTRIC] = {gMonPalette_Manectric, SPECIES_MANECTRIC},
+ [SPECIES_NUMEL] = {gMonPalette_Numel, SPECIES_NUMEL},
+ [SPECIES_CAMERUPT] = {gMonPalette_Camerupt, SPECIES_CAMERUPT},
+ [SPECIES_SPHEAL] = {gMonPalette_Spheal, SPECIES_SPHEAL},
+ [SPECIES_SEALEO] = {gMonPalette_Sealeo, SPECIES_SEALEO},
+ [SPECIES_WALREIN] = {gMonPalette_Walrein, SPECIES_WALREIN},
+ [SPECIES_CACNEA] = {gMonPalette_Cacnea, SPECIES_CACNEA},
+ [SPECIES_CACTURNE] = {gMonPalette_Cacturne, SPECIES_CACTURNE},
+ [SPECIES_SNORUNT] = {gMonPalette_Snorunt, SPECIES_SNORUNT},
+ [SPECIES_GLALIE] = {gMonPalette_Glalie, SPECIES_GLALIE},
+ [SPECIES_LUNATONE] = {gMonPalette_Lunatone, SPECIES_LUNATONE},
+ [SPECIES_SOLROCK] = {gMonPalette_Solrock, SPECIES_SOLROCK},
+ [SPECIES_AZURILL] = {gMonPalette_Azurill, SPECIES_AZURILL},
+ [SPECIES_SPOINK] = {gMonPalette_Spoink, SPECIES_SPOINK},
+ [SPECIES_GRUMPIG] = {gMonPalette_Grumpig, SPECIES_GRUMPIG},
+ [SPECIES_PLUSLE] = {gMonPalette_Plusle, SPECIES_PLUSLE},
+ [SPECIES_MINUN] = {gMonPalette_Minun, SPECIES_MINUN},
+ [SPECIES_MAWILE] = {gMonPalette_Mawile, SPECIES_MAWILE},
+ [SPECIES_MEDITITE] = {gMonPalette_Meditite, SPECIES_MEDITITE},
+ [SPECIES_MEDICHAM] = {gMonPalette_Medicham, SPECIES_MEDICHAM},
+ [SPECIES_SWABLU] = {gMonPalette_Swablu, SPECIES_SWABLU},
+ [SPECIES_ALTARIA] = {gMonPalette_Altaria, SPECIES_ALTARIA},
+ [SPECIES_WYNAUT] = {gMonPalette_Wynaut, SPECIES_WYNAUT},
+ [SPECIES_DUSKULL] = {gMonPalette_Duskull, SPECIES_DUSKULL},
+ [SPECIES_DUSCLOPS] = {gMonPalette_Dusclops, SPECIES_DUSCLOPS},
+ [SPECIES_ROSELIA] = {gMonPalette_Roselia, SPECIES_ROSELIA},
+ [SPECIES_SLAKOTH] = {gMonPalette_Slakoth, SPECIES_SLAKOTH},
+ [SPECIES_VIGOROTH] = {gMonPalette_Vigoroth, SPECIES_VIGOROTH},
+ [SPECIES_SLAKING] = {gMonPalette_Slaking, SPECIES_SLAKING},
+ [SPECIES_GULPIN] = {gMonPalette_Gulpin, SPECIES_GULPIN},
+ [SPECIES_SWALOT] = {gMonPalette_Swalot, SPECIES_SWALOT},
+ [SPECIES_TROPIUS] = {gMonPalette_Tropius, SPECIES_TROPIUS},
+ [SPECIES_WHISMUR] = {gMonPalette_Whismur, SPECIES_WHISMUR},
+ [SPECIES_LOUDRED] = {gMonPalette_Loudred, SPECIES_LOUDRED},
+ [SPECIES_EXPLOUD] = {gMonPalette_Exploud, SPECIES_EXPLOUD},
+ [SPECIES_CLAMPERL] = {gMonPalette_Clamperl, SPECIES_CLAMPERL},
+ [SPECIES_HUNTAIL] = {gMonPalette_Huntail, SPECIES_HUNTAIL},
+ [SPECIES_GOREBYSS] = {gMonPalette_Gorebyss, SPECIES_GOREBYSS},
+ [SPECIES_ABSOL] = {gMonPalette_Absol, SPECIES_ABSOL},
+ [SPECIES_SHUPPET] = {gMonPalette_Shuppet, SPECIES_SHUPPET},
+ [SPECIES_BANETTE] = {gMonPalette_Banette, SPECIES_BANETTE},
+ [SPECIES_SEVIPER] = {gMonPalette_Seviper, SPECIES_SEVIPER},
+ [SPECIES_ZANGOOSE] = {gMonPalette_Zangoose, SPECIES_ZANGOOSE},
+ [SPECIES_RELICANTH] = {gMonPalette_Relicanth, SPECIES_RELICANTH},
+ [SPECIES_ARON] = {gMonPalette_Aron, SPECIES_ARON},
+ [SPECIES_LAIRON] = {gMonPalette_Lairon, SPECIES_LAIRON},
+ [SPECIES_AGGRON] = {gMonPalette_Aggron, SPECIES_AGGRON},
+ [SPECIES_CASTFORM] = {gMonPalette_Castform, SPECIES_CASTFORM},
+ [SPECIES_VOLBEAT] = {gMonPalette_Volbeat, SPECIES_VOLBEAT},
+ [SPECIES_ILLUMISE] = {gMonPalette_Illumise, SPECIES_ILLUMISE},
+ [SPECIES_LILEEP] = {gMonPalette_Lileep, SPECIES_LILEEP},
+ [SPECIES_CRADILY] = {gMonPalette_Cradily, SPECIES_CRADILY},
+ [SPECIES_ANORITH] = {gMonPalette_Anorith, SPECIES_ANORITH},
+ [SPECIES_ARMALDO] = {gMonPalette_Armaldo, SPECIES_ARMALDO},
+ [SPECIES_RALTS] = {gMonPalette_Ralts, SPECIES_RALTS},
+ [SPECIES_KIRLIA] = {gMonPalette_Kirlia, SPECIES_KIRLIA},
+ [SPECIES_GARDEVOIR] = {gMonPalette_Gardevoir, SPECIES_GARDEVOIR},
+ [SPECIES_BAGON] = {gMonPalette_Bagon, SPECIES_BAGON},
+ [SPECIES_SHELGON] = {gMonPalette_Shelgon, SPECIES_SHELGON},
+ [SPECIES_SALAMENCE] = {gMonPalette_Salamence, SPECIES_SALAMENCE},
+ [SPECIES_BELDUM] = {gMonPalette_Beldum, SPECIES_BELDUM},
+ [SPECIES_METANG] = {gMonPalette_Metang, SPECIES_METANG},
+ [SPECIES_METAGROSS] = {gMonPalette_Metagross, SPECIES_METAGROSS},
+ [SPECIES_REGIROCK] = {gMonPalette_Regirock, SPECIES_REGIROCK},
+ [SPECIES_REGICE] = {gMonPalette_Regice, SPECIES_REGICE},
+ [SPECIES_REGISTEEL] = {gMonPalette_Registeel, SPECIES_REGISTEEL},
+ [SPECIES_KYOGRE] = {gMonPalette_Kyogre, SPECIES_KYOGRE},
+ [SPECIES_GROUDON] = {gMonPalette_Groudon, SPECIES_GROUDON},
+ [SPECIES_RAYQUAZA] = {gMonPalette_Rayquaza, SPECIES_RAYQUAZA},
+ [SPECIES_LATIAS] = {gMonPalette_Latias, SPECIES_LATIAS},
+ [SPECIES_LATIOS] = {gMonPalette_Latios, SPECIES_LATIOS},
+ [SPECIES_JIRACHI] = {gMonPalette_Jirachi, SPECIES_JIRACHI},
+ [SPECIES_DEOXYS] = {gMonPalette_Deoxys, SPECIES_DEOXYS},
+ [SPECIES_CHIMECHO] = {gMonPalette_Chimecho, SPECIES_CHIMECHO},
+ [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG},
+ [SPECIES_UNOWN_B] = {gMonPalette_Unown, SPECIES_UNOWN_B},
+ [SPECIES_UNOWN_C] = {gMonPalette_Unown, SPECIES_UNOWN_C},
+ [SPECIES_UNOWN_D] = {gMonPalette_Unown, SPECIES_UNOWN_D},
+ [SPECIES_UNOWN_E] = {gMonPalette_Unown, SPECIES_UNOWN_E},
+ [SPECIES_UNOWN_F] = {gMonPalette_Unown, SPECIES_UNOWN_F},
+ [SPECIES_UNOWN_G] = {gMonPalette_Unown, SPECIES_UNOWN_G},
+ [SPECIES_UNOWN_H] = {gMonPalette_Unown, SPECIES_UNOWN_H},
+ [SPECIES_UNOWN_I] = {gMonPalette_Unown, SPECIES_UNOWN_I},
+ [SPECIES_UNOWN_J] = {gMonPalette_Unown, SPECIES_UNOWN_J},
+ [SPECIES_UNOWN_K] = {gMonPalette_Unown, SPECIES_UNOWN_K},
+ [SPECIES_UNOWN_L] = {gMonPalette_Unown, SPECIES_UNOWN_L},
+ [SPECIES_UNOWN_M] = {gMonPalette_Unown, SPECIES_UNOWN_M},
+ [SPECIES_UNOWN_N] = {gMonPalette_Unown, SPECIES_UNOWN_N},
+ [SPECIES_UNOWN_O] = {gMonPalette_Unown, SPECIES_UNOWN_O},
+ [SPECIES_UNOWN_P] = {gMonPalette_Unown, SPECIES_UNOWN_P},
+ [SPECIES_UNOWN_Q] = {gMonPalette_Unown, SPECIES_UNOWN_Q},
+ [SPECIES_UNOWN_R] = {gMonPalette_Unown, SPECIES_UNOWN_R},
+ [SPECIES_UNOWN_S] = {gMonPalette_Unown, SPECIES_UNOWN_S},
+ [SPECIES_UNOWN_T] = {gMonPalette_Unown, SPECIES_UNOWN_T},
+ [SPECIES_UNOWN_U] = {gMonPalette_Unown, SPECIES_UNOWN_U},
+ [SPECIES_UNOWN_V] = {gMonPalette_Unown, SPECIES_UNOWN_V},
+ [SPECIES_UNOWN_W] = {gMonPalette_Unown, SPECIES_UNOWN_W},
+ [SPECIES_UNOWN_X] = {gMonPalette_Unown, SPECIES_UNOWN_X},
+ [SPECIES_UNOWN_Y] = {gMonPalette_Unown, SPECIES_UNOWN_Y},
+ [SPECIES_UNOWN_Z] = {gMonPalette_Unown, SPECIES_UNOWN_Z},
+ [SPECIES_UNOWN_EMARK] = {gMonPalette_Unown, SPECIES_UNOWN_EMARK},
+ [SPECIES_UNOWN_QMARK] = {gMonPalette_Unown, SPECIES_UNOWN_QMARK},
};
diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h
index 91708fafa..0c3f990cf 100644
--- a/src/data/pokemon_graphics/shiny_palette_table.h
+++ b/src/data/pokemon_graphics/shiny_palette_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpritePalette gMonShinyPaletteTable[] =
{
- gMonShinyPalette_CircledQuestionMark, 500,
- gMonShinyPalette_Bulbasaur, 501,
- gMonShinyPalette_Ivysaur, 502,
- gMonShinyPalette_Venusaur, 503,
- gMonShinyPalette_Charmander, 504,
- gMonShinyPalette_Charmeleon, 505,
- gMonShinyPalette_Charizard, 506,
- gMonShinyPalette_Squirtle, 507,
- gMonShinyPalette_Wartortle, 508,
- gMonShinyPalette_Blastoise, 509,
- gMonShinyPalette_Caterpie, 510,
- gMonShinyPalette_Metapod, 511,
- gMonShinyPalette_Butterfree, 512,
- gMonShinyPalette_Weedle, 513,
- gMonShinyPalette_Kakuna, 514,
- gMonShinyPalette_Beedrill, 515,
- gMonShinyPalette_Pidgey, 516,
- gMonShinyPalette_Pidgeotto, 517,
- gMonShinyPalette_Pidgeot, 518,
- gMonShinyPalette_Rattata, 519,
- gMonShinyPalette_Raticate, 520,
- gMonShinyPalette_Spearow, 521,
- gMonShinyPalette_Fearow, 522,
- gMonShinyPalette_Ekans, 523,
- gMonShinyPalette_Arbok, 524,
- gMonShinyPalette_Pikachu, 525,
- gMonShinyPalette_Raichu, 526,
- gMonShinyPalette_Sandshrew, 527,
- gMonShinyPalette_Sandslash, 528,
- gMonShinyPalette_NidoranF, 529,
- gMonShinyPalette_Nidorina, 530,
- gMonShinyPalette_Nidoqueen, 531,
- gMonShinyPalette_NidoranM, 532,
- gMonShinyPalette_Nidorino, 533,
- gMonShinyPalette_Nidoking, 534,
- gMonShinyPalette_Clefairy, 535,
- gMonShinyPalette_Clefable, 536,
- gMonShinyPalette_Vulpix, 537,
- gMonShinyPalette_Ninetales, 538,
- gMonShinyPalette_Jigglypuff, 539,
- gMonShinyPalette_Wigglytuff, 540,
- gMonShinyPalette_Zubat, 541,
- gMonShinyPalette_Golbat, 542,
- gMonShinyPalette_Oddish, 543,
- gMonShinyPalette_Gloom, 544,
- gMonShinyPalette_Vileplume, 545,
- gMonShinyPalette_Paras, 546,
- gMonShinyPalette_Parasect, 547,
- gMonShinyPalette_Venonat, 548,
- gMonShinyPalette_Venomoth, 549,
- gMonShinyPalette_Diglett, 550,
- gMonShinyPalette_Dugtrio, 551,
- gMonShinyPalette_Meowth, 552,
- gMonShinyPalette_Persian, 553,
- gMonShinyPalette_Psyduck, 554,
- gMonShinyPalette_Golduck, 555,
- gMonShinyPalette_Mankey, 556,
- gMonShinyPalette_Primeape, 557,
- gMonShinyPalette_Growlithe, 558,
- gMonShinyPalette_Arcanine, 559,
- gMonShinyPalette_Poliwag, 560,
- gMonShinyPalette_Poliwhirl, 561,
- gMonShinyPalette_Poliwrath, 562,
- gMonShinyPalette_Abra, 563,
- gMonShinyPalette_Kadabra, 564,
- gMonShinyPalette_Alakazam, 565,
- gMonShinyPalette_Machop, 566,
- gMonShinyPalette_Machoke, 567,
- gMonShinyPalette_Machamp, 568,
- gMonShinyPalette_Bellsprout, 569,
- gMonShinyPalette_Weepinbell, 570,
- gMonShinyPalette_Victreebel, 571,
- gMonShinyPalette_Tentacool, 572,
- gMonShinyPalette_Tentacruel, 573,
- gMonShinyPalette_Geodude, 574,
- gMonShinyPalette_Graveler, 575,
- gMonShinyPalette_Golem, 576,
- gMonShinyPalette_Ponyta, 577,
- gMonShinyPalette_Rapidash, 578,
- gMonShinyPalette_Slowpoke, 579,
- gMonShinyPalette_Slowbro, 580,
- gMonShinyPalette_Magnemite, 581,
- gMonShinyPalette_Magneton, 582,
- gMonShinyPalette_Farfetchd, 583,
- gMonShinyPalette_Doduo, 584,
- gMonShinyPalette_Dodrio, 585,
- gMonShinyPalette_Seel, 586,
- gMonShinyPalette_Dewgong, 587,
- gMonShinyPalette_Grimer, 588,
- gMonShinyPalette_Muk, 589,
- gMonShinyPalette_Shellder, 590,
- gMonShinyPalette_Cloyster, 591,
- gMonShinyPalette_Gastly, 592,
- gMonShinyPalette_Haunter, 593,
- gMonShinyPalette_Gengar, 594,
- gMonShinyPalette_Onix, 595,
- gMonShinyPalette_Drowzee, 596,
- gMonShinyPalette_Hypno, 597,
- gMonShinyPalette_Krabby, 598,
- gMonShinyPalette_Kingler, 599,
- gMonShinyPalette_Voltorb, 600,
- gMonShinyPalette_Electrode, 601,
- gMonShinyPalette_Exeggcute, 602,
- gMonShinyPalette_Exeggutor, 603,
- gMonShinyPalette_Cubone, 604,
- gMonShinyPalette_Marowak, 605,
- gMonShinyPalette_Hitmonlee, 606,
- gMonShinyPalette_Hitmonchan, 607,
- gMonShinyPalette_Lickitung, 608,
- gMonShinyPalette_Koffing, 609,
- gMonShinyPalette_Weezing, 610,
- gMonShinyPalette_Rhyhorn, 611,
- gMonShinyPalette_Rhydon, 612,
- gMonShinyPalette_Chansey, 613,
- gMonShinyPalette_Tangela, 614,
- gMonShinyPalette_Kangaskhan, 615,
- gMonShinyPalette_Horsea, 616,
- gMonShinyPalette_Seadra, 617,
- gMonShinyPalette_Goldeen, 618,
- gMonShinyPalette_Seaking, 619,
- gMonShinyPalette_Staryu, 620,
- gMonShinyPalette_Starmie, 621,
- gMonShinyPalette_Mrmime, 622,
- gMonShinyPalette_Scyther, 623,
- gMonShinyPalette_Jynx, 624,
- gMonShinyPalette_Electabuzz, 625,
- gMonShinyPalette_Magmar, 626,
- gMonShinyPalette_Pinsir, 627,
- gMonShinyPalette_Tauros, 628,
- gMonShinyPalette_Magikarp, 629,
- gMonShinyPalette_Gyarados, 630,
- gMonShinyPalette_Lapras, 631,
- gMonShinyPalette_Ditto, 632,
- gMonShinyPalette_Eevee, 633,
- gMonShinyPalette_Vaporeon, 634,
- gMonShinyPalette_Jolteon, 635,
- gMonShinyPalette_Flareon, 636,
- gMonShinyPalette_Porygon, 637,
- gMonShinyPalette_Omanyte, 638,
- gMonShinyPalette_Omastar, 639,
- gMonShinyPalette_Kabuto, 640,
- gMonShinyPalette_Kabutops, 641,
- gMonShinyPalette_Aerodactyl, 642,
- gMonShinyPalette_Snorlax, 643,
- gMonShinyPalette_Articuno, 644,
- gMonShinyPalette_Zapdos, 645,
- gMonShinyPalette_Moltres, 646,
- gMonShinyPalette_Dratini, 647,
- gMonShinyPalette_Dragonair, 648,
- gMonShinyPalette_Dragonite, 649,
- gMonShinyPalette_Mewtwo, 650,
- gMonShinyPalette_Mew, 651,
- gMonShinyPalette_Chikorita, 652,
- gMonShinyPalette_Bayleef, 653,
- gMonShinyPalette_Meganium, 654,
- gMonShinyPalette_Cyndaquil, 655,
- gMonShinyPalette_Quilava, 656,
- gMonShinyPalette_Typhlosion, 657,
- gMonShinyPalette_Totodile, 658,
- gMonShinyPalette_Croconaw, 659,
- gMonShinyPalette_Feraligatr, 660,
- gMonShinyPalette_Sentret, 661,
- gMonShinyPalette_Furret, 662,
- gMonShinyPalette_Hoothoot, 663,
- gMonShinyPalette_Noctowl, 664,
- gMonShinyPalette_Ledyba, 665,
- gMonShinyPalette_Ledian, 666,
- gMonShinyPalette_Spinarak, 667,
- gMonShinyPalette_Ariados, 668,
- gMonShinyPalette_Crobat, 669,
- gMonShinyPalette_Chinchou, 670,
- gMonShinyPalette_Lanturn, 671,
- gMonShinyPalette_Pichu, 672,
- gMonShinyPalette_Cleffa, 673,
- gMonShinyPalette_Igglybuff, 674,
- gMonShinyPalette_Togepi, 675,
- gMonShinyPalette_Togetic, 676,
- gMonShinyPalette_Natu, 677,
- gMonShinyPalette_Xatu, 678,
- gMonShinyPalette_Mareep, 679,
- gMonShinyPalette_Flaaffy, 680,
- gMonShinyPalette_Ampharos, 681,
- gMonShinyPalette_Bellossom, 682,
- gMonShinyPalette_Marill, 683,
- gMonShinyPalette_Azumarill, 684,
- gMonShinyPalette_Sudowoodo, 685,
- gMonShinyPalette_Politoed, 686,
- gMonShinyPalette_Hoppip, 687,
- gMonShinyPalette_Skiploom, 688,
- gMonShinyPalette_Jumpluff, 689,
- gMonShinyPalette_Aipom, 690,
- gMonShinyPalette_Sunkern, 691,
- gMonShinyPalette_Sunflora, 692,
- gMonShinyPalette_Yanma, 693,
- gMonShinyPalette_Wooper, 694,
- gMonShinyPalette_Quagsire, 695,
- gMonShinyPalette_Espeon, 696,
- gMonShinyPalette_Umbreon, 697,
- gMonShinyPalette_Murkrow, 698,
- gMonShinyPalette_Slowking, 699,
- gMonShinyPalette_Misdreavus, 700,
- gMonShinyPalette_Unown, 701,
- gMonShinyPalette_Wobbuffet, 702,
- gMonShinyPalette_Girafarig, 703,
- gMonShinyPalette_Pineco, 704,
- gMonShinyPalette_Forretress, 705,
- gMonShinyPalette_Dunsparce, 706,
- gMonShinyPalette_Gligar, 707,
- gMonShinyPalette_Steelix, 708,
- gMonShinyPalette_Snubbull, 709,
- gMonShinyPalette_Granbull, 710,
- gMonShinyPalette_Qwilfish, 711,
- gMonShinyPalette_Scizor, 712,
- gMonShinyPalette_Shuckle, 713,
- gMonShinyPalette_Heracross, 714,
- gMonShinyPalette_Sneasel, 715,
- gMonShinyPalette_Teddiursa, 716,
- gMonShinyPalette_Ursaring, 717,
- gMonShinyPalette_Slugma, 718,
- gMonShinyPalette_Magcargo, 719,
- gMonShinyPalette_Swinub, 720,
- gMonShinyPalette_Piloswine, 721,
- gMonShinyPalette_Corsola, 722,
- gMonShinyPalette_Remoraid, 723,
- gMonShinyPalette_Octillery, 724,
- gMonShinyPalette_Delibird, 725,
- gMonShinyPalette_Mantine, 726,
- gMonShinyPalette_Skarmory, 727,
- gMonShinyPalette_Houndour, 728,
- gMonShinyPalette_Houndoom, 729,
- gMonShinyPalette_Kingdra, 730,
- gMonShinyPalette_Phanpy, 731,
- gMonShinyPalette_Donphan, 732,
- gMonShinyPalette_Porygon2, 733,
- gMonShinyPalette_Stantler, 734,
- gMonShinyPalette_Smeargle, 735,
- gMonShinyPalette_Tyrogue, 736,
- gMonShinyPalette_Hitmontop, 737,
- gMonShinyPalette_Smoochum, 738,
- gMonShinyPalette_Elekid, 739,
- gMonShinyPalette_Magby, 740,
- gMonShinyPalette_Miltank, 741,
- gMonShinyPalette_Blissey, 742,
- gMonShinyPalette_Raikou, 743,
- gMonShinyPalette_Entei, 744,
- gMonShinyPalette_Suicune, 745,
- gMonShinyPalette_Larvitar, 746,
- gMonShinyPalette_Pupitar, 747,
- gMonShinyPalette_Tyranitar, 748,
- gMonShinyPalette_Lugia, 749,
- gMonShinyPalette_HoOh, 750,
- gMonShinyPalette_Celebi, 751,
- gMonShinyPalette_DoubleQuestionMark, 752,
- gMonShinyPalette_DoubleQuestionMark, 753,
- gMonShinyPalette_DoubleQuestionMark, 754,
- gMonShinyPalette_DoubleQuestionMark, 755,
- gMonShinyPalette_DoubleQuestionMark, 756,
- gMonShinyPalette_DoubleQuestionMark, 757,
- gMonShinyPalette_DoubleQuestionMark, 758,
- gMonShinyPalette_DoubleQuestionMark, 759,
- gMonShinyPalette_DoubleQuestionMark, 760,
- gMonShinyPalette_DoubleQuestionMark, 761,
- gMonShinyPalette_DoubleQuestionMark, 762,
- gMonShinyPalette_DoubleQuestionMark, 763,
- gMonShinyPalette_DoubleQuestionMark, 764,
- gMonShinyPalette_DoubleQuestionMark, 765,
- gMonShinyPalette_DoubleQuestionMark, 766,
- gMonShinyPalette_DoubleQuestionMark, 767,
- gMonShinyPalette_DoubleQuestionMark, 768,
- gMonShinyPalette_DoubleQuestionMark, 769,
- gMonShinyPalette_DoubleQuestionMark, 770,
- gMonShinyPalette_DoubleQuestionMark, 771,
- gMonShinyPalette_DoubleQuestionMark, 772,
- gMonShinyPalette_DoubleQuestionMark, 773,
- gMonShinyPalette_DoubleQuestionMark, 774,
- gMonShinyPalette_DoubleQuestionMark, 775,
- gMonShinyPalette_DoubleQuestionMark, 776,
- gMonShinyPalette_Treecko, 777,
- gMonShinyPalette_Grovyle, 778,
- gMonShinyPalette_Sceptile, 779,
- gMonShinyPalette_Torchic, 780,
- gMonShinyPalette_Combusken, 781,
- gMonShinyPalette_Blaziken, 782,
- gMonShinyPalette_Mudkip, 783,
- gMonShinyPalette_Marshtomp, 784,
- gMonShinyPalette_Swampert, 785,
- gMonShinyPalette_Poochyena, 786,
- gMonShinyPalette_Mightyena, 787,
- gMonShinyPalette_Zigzagoon, 788,
- gMonShinyPalette_Linoone, 789,
- gMonShinyPalette_Wurmple, 790,
- gMonShinyPalette_Silcoon, 791,
- gMonShinyPalette_Beautifly, 792,
- gMonShinyPalette_Cascoon, 793,
- gMonShinyPalette_Dustox, 794,
- gMonShinyPalette_Lotad, 795,
- gMonShinyPalette_Lombre, 796,
- gMonShinyPalette_Ludicolo, 797,
- gMonShinyPalette_Seedot, 798,
- gMonShinyPalette_Nuzleaf, 799,
- gMonShinyPalette_Shiftry, 800,
- gMonShinyPalette_Nincada, 801,
- gMonShinyPalette_Ninjask, 802,
- gMonShinyPalette_Shedinja, 803,
- gMonShinyPalette_Taillow, 804,
- gMonShinyPalette_Swellow, 805,
- gMonShinyPalette_Shroomish, 806,
- gMonShinyPalette_Breloom, 807,
- gMonShinyPalette_Spinda, 808,
- gMonShinyPalette_Wingull, 809,
- gMonShinyPalette_Pelipper, 810,
- gMonShinyPalette_Surskit, 811,
- gMonShinyPalette_Masquerain, 812,
- gMonShinyPalette_Wailmer, 813,
- gMonShinyPalette_Wailord, 814,
- gMonShinyPalette_Skitty, 815,
- gMonShinyPalette_Delcatty, 816,
- gMonShinyPalette_Kecleon, 817,
- gMonShinyPalette_Baltoy, 818,
- gMonShinyPalette_Claydol, 819,
- gMonShinyPalette_Nosepass, 820,
- gMonShinyPalette_Torkoal, 821,
- gMonShinyPalette_Sableye, 822,
- gMonShinyPalette_Barboach, 823,
- gMonShinyPalette_Whiscash, 824,
- gMonShinyPalette_Luvdisc, 825,
- gMonShinyPalette_Corphish, 826,
- gMonShinyPalette_Crawdaunt, 827,
- gMonShinyPalette_Feebas, 828,
- gMonShinyPalette_Milotic, 829,
- gMonShinyPalette_Carvanha, 830,
- gMonShinyPalette_Sharpedo, 831,
- gMonShinyPalette_Trapinch, 832,
- gMonShinyPalette_Vibrava, 833,
- gMonShinyPalette_Flygon, 834,
- gMonShinyPalette_Makuhita, 835,
- gMonShinyPalette_Hariyama, 836,
- gMonShinyPalette_Electrike, 837,
- gMonShinyPalette_Manectric, 838,
- gMonShinyPalette_Numel, 839,
- gMonShinyPalette_Camerupt, 840,
- gMonShinyPalette_Spheal, 841,
- gMonShinyPalette_Sealeo, 842,
- gMonShinyPalette_Walrein, 843,
- gMonShinyPalette_Cacnea, 844,
- gMonShinyPalette_Cacturne, 845,
- gMonShinyPalette_Snorunt, 846,
- gMonShinyPalette_Glalie, 847,
- gMonShinyPalette_Lunatone, 848,
- gMonShinyPalette_Solrock, 849,
- gMonShinyPalette_Azurill, 850,
- gMonShinyPalette_Spoink, 851,
- gMonShinyPalette_Grumpig, 852,
- gMonShinyPalette_Plusle, 853,
- gMonShinyPalette_Minun, 854,
- gMonShinyPalette_Mawile, 855,
- gMonShinyPalette_Meditite, 856,
- gMonShinyPalette_Medicham, 857,
- gMonShinyPalette_Swablu, 858,
- gMonShinyPalette_Altaria, 859,
- gMonShinyPalette_Wynaut, 860,
- gMonShinyPalette_Duskull, 861,
- gMonShinyPalette_Dusclops, 862,
- gMonShinyPalette_Roselia, 863,
- gMonShinyPalette_Slakoth, 864,
- gMonShinyPalette_Vigoroth, 865,
- gMonShinyPalette_Slaking, 866,
- gMonShinyPalette_Gulpin, 867,
- gMonShinyPalette_Swalot, 868,
- gMonShinyPalette_Tropius, 869,
- gMonShinyPalette_Whismur, 870,
- gMonShinyPalette_Loudred, 871,
- gMonShinyPalette_Exploud, 872,
- gMonShinyPalette_Clamperl, 873,
- gMonShinyPalette_Huntail, 874,
- gMonShinyPalette_Gorebyss, 875,
- gMonShinyPalette_Absol, 876,
- gMonShinyPalette_Shuppet, 877,
- gMonShinyPalette_Banette, 878,
- gMonShinyPalette_Seviper, 879,
- gMonShinyPalette_Zangoose, 880,
- gMonShinyPalette_Relicanth, 881,
- gMonShinyPalette_Aron, 882,
- gMonShinyPalette_Lairon, 883,
- gMonShinyPalette_Aggron, 884,
- gMonShinyPalette_Castform, 885,
- gMonShinyPalette_Volbeat, 886,
- gMonShinyPalette_Illumise, 887,
- gMonShinyPalette_Lileep, 888,
- gMonShinyPalette_Cradily, 889,
- gMonShinyPalette_Anorith, 890,
- gMonShinyPalette_Armaldo, 891,
- gMonShinyPalette_Ralts, 892,
- gMonShinyPalette_Kirlia, 893,
- gMonShinyPalette_Gardevoir, 894,
- gMonShinyPalette_Bagon, 895,
- gMonShinyPalette_Shelgon, 896,
- gMonShinyPalette_Salamence, 897,
- gMonShinyPalette_Beldum, 898,
- gMonShinyPalette_Metang, 899,
- gMonShinyPalette_Metagross, 900,
- gMonShinyPalette_Regirock, 901,
- gMonShinyPalette_Regice, 902,
- gMonShinyPalette_Registeel, 903,
- gMonShinyPalette_Kyogre, 904,
- gMonShinyPalette_Groudon, 905,
- gMonShinyPalette_Rayquaza, 906,
- gMonShinyPalette_Latias, 907,
- gMonShinyPalette_Latios, 908,
- gMonShinyPalette_Jirachi, 909,
- gMonShinyPalette_Deoxys, 910,
- gMonShinyPalette_Chimecho, 911,
- gMonPalette_Egg, 912,
- gMonShinyPalette_Unown, 913,
- gMonShinyPalette_Unown, 914,
- gMonShinyPalette_Unown, 915,
- gMonShinyPalette_Unown, 916,
- gMonShinyPalette_Unown, 917,
- gMonShinyPalette_Unown, 918,
- gMonShinyPalette_Unown, 919,
- gMonShinyPalette_Unown, 920,
- gMonShinyPalette_Unown, 921,
- gMonShinyPalette_Unown, 922,
- gMonShinyPalette_Unown, 923,
- gMonShinyPalette_Unown, 924,
- gMonShinyPalette_Unown, 925,
- gMonShinyPalette_Unown, 926,
- gMonShinyPalette_Unown, 927,
- gMonShinyPalette_Unown, 928,
- gMonShinyPalette_Unown, 929,
- gMonShinyPalette_Unown, 930,
- gMonShinyPalette_Unown, 931,
- gMonShinyPalette_Unown, 932,
- gMonShinyPalette_Unown, 933,
- gMonShinyPalette_Unown, 934,
- gMonShinyPalette_Unown, 935,
- gMonShinyPalette_Unown, 936,
- gMonShinyPalette_Unown, 937,
- gMonShinyPalette_Unown, 938,
- gMonShinyPalette_Unown, 939,
+ [SPECIES_NONE] = {gMonShinyPalette_CircledQuestionMark, SPECIES_NONE + 500},
+ [SPECIES_BULBASAUR] = {gMonShinyPalette_Bulbasaur, SPECIES_BULBASAUR + 500},
+ [SPECIES_IVYSAUR] = {gMonShinyPalette_Ivysaur, SPECIES_IVYSAUR + 500},
+ [SPECIES_VENUSAUR] = {gMonShinyPalette_Venusaur, SPECIES_VENUSAUR + 500},
+ [SPECIES_CHARMANDER] = {gMonShinyPalette_Charmander, SPECIES_CHARMANDER + 500},
+ [SPECIES_CHARMELEON] = {gMonShinyPalette_Charmeleon, SPECIES_CHARMELEON + 500},
+ [SPECIES_CHARIZARD] = {gMonShinyPalette_Charizard, SPECIES_CHARIZARD + 500},
+ [SPECIES_SQUIRTLE] = {gMonShinyPalette_Squirtle, SPECIES_SQUIRTLE + 500},
+ [SPECIES_WARTORTLE] = {gMonShinyPalette_Wartortle, SPECIES_WARTORTLE + 500},
+ [SPECIES_BLASTOISE] = {gMonShinyPalette_Blastoise, SPECIES_BLASTOISE + 500},
+ [SPECIES_CATERPIE] = {gMonShinyPalette_Caterpie, SPECIES_CATERPIE + 500},
+ [SPECIES_METAPOD] = {gMonShinyPalette_Metapod, SPECIES_METAPOD + 500},
+ [SPECIES_BUTTERFREE] = {gMonShinyPalette_Butterfree, SPECIES_BUTTERFREE + 500},
+ [SPECIES_WEEDLE] = {gMonShinyPalette_Weedle, SPECIES_WEEDLE + 500},
+ [SPECIES_KAKUNA] = {gMonShinyPalette_Kakuna, SPECIES_KAKUNA + 500},
+ [SPECIES_BEEDRILL] = {gMonShinyPalette_Beedrill, SPECIES_BEEDRILL + 500},
+ [SPECIES_PIDGEY] = {gMonShinyPalette_Pidgey, SPECIES_PIDGEY + 500},
+ [SPECIES_PIDGEOTTO] = {gMonShinyPalette_Pidgeotto, SPECIES_PIDGEOTTO + 500},
+ [SPECIES_PIDGEOT] = {gMonShinyPalette_Pidgeot, SPECIES_PIDGEOT + 500},
+ [SPECIES_RATTATA] = {gMonShinyPalette_Rattata, SPECIES_RATTATA + 500},
+ [SPECIES_RATICATE] = {gMonShinyPalette_Raticate, SPECIES_RATICATE + 500},
+ [SPECIES_SPEAROW] = {gMonShinyPalette_Spearow, SPECIES_SPEAROW + 500},
+ [SPECIES_FEAROW] = {gMonShinyPalette_Fearow, SPECIES_FEAROW + 500},
+ [SPECIES_EKANS] = {gMonShinyPalette_Ekans, SPECIES_EKANS + 500},
+ [SPECIES_ARBOK] = {gMonShinyPalette_Arbok, SPECIES_ARBOK + 500},
+ [SPECIES_PIKACHU] = {gMonShinyPalette_Pikachu, SPECIES_PIKACHU + 500},
+ [SPECIES_RAICHU] = {gMonShinyPalette_Raichu, SPECIES_RAICHU + 500},
+ [SPECIES_SANDSHREW] = {gMonShinyPalette_Sandshrew, SPECIES_SANDSHREW + 500},
+ [SPECIES_SANDSLASH] = {gMonShinyPalette_Sandslash, SPECIES_SANDSLASH + 500},
+ [SPECIES_NIDORAN_F] = {gMonShinyPalette_NidoranF, SPECIES_NIDORAN_F + 500},
+ [SPECIES_NIDORINA] = {gMonShinyPalette_Nidorina, SPECIES_NIDORINA + 500},
+ [SPECIES_NIDOQUEEN] = {gMonShinyPalette_Nidoqueen, SPECIES_NIDOQUEEN + 500},
+ [SPECIES_NIDORAN_M] = {gMonShinyPalette_NidoranM, SPECIES_NIDORAN_M + 500},
+ [SPECIES_NIDORINO] = {gMonShinyPalette_Nidorino, SPECIES_NIDORINO + 500},
+ [SPECIES_NIDOKING] = {gMonShinyPalette_Nidoking, SPECIES_NIDOKING + 500},
+ [SPECIES_CLEFAIRY] = {gMonShinyPalette_Clefairy, SPECIES_CLEFAIRY + 500},
+ [SPECIES_CLEFABLE] = {gMonShinyPalette_Clefable, SPECIES_CLEFABLE + 500},
+ [SPECIES_VULPIX] = {gMonShinyPalette_Vulpix, SPECIES_VULPIX + 500},
+ [SPECIES_NINETALES] = {gMonShinyPalette_Ninetales, SPECIES_NINETALES + 500},
+ [SPECIES_JIGGLYPUFF] = {gMonShinyPalette_Jigglypuff, SPECIES_JIGGLYPUFF + 500},
+ [SPECIES_WIGGLYTUFF] = {gMonShinyPalette_Wigglytuff, SPECIES_WIGGLYTUFF + 500},
+ [SPECIES_ZUBAT] = {gMonShinyPalette_Zubat, SPECIES_ZUBAT + 500},
+ [SPECIES_GOLBAT] = {gMonShinyPalette_Golbat, SPECIES_GOLBAT + 500},
+ [SPECIES_ODDISH] = {gMonShinyPalette_Oddish, SPECIES_ODDISH + 500},
+ [SPECIES_GLOOM] = {gMonShinyPalette_Gloom, SPECIES_GLOOM + 500},
+ [SPECIES_VILEPLUME] = {gMonShinyPalette_Vileplume, SPECIES_VILEPLUME + 500},
+ [SPECIES_PARAS] = {gMonShinyPalette_Paras, SPECIES_PARAS + 500},
+ [SPECIES_PARASECT] = {gMonShinyPalette_Parasect, SPECIES_PARASECT + 500},
+ [SPECIES_VENONAT] = {gMonShinyPalette_Venonat, SPECIES_VENONAT + 500},
+ [SPECIES_VENOMOTH] = {gMonShinyPalette_Venomoth, SPECIES_VENOMOTH + 500},
+ [SPECIES_DIGLETT] = {gMonShinyPalette_Diglett, SPECIES_DIGLETT + 500},
+ [SPECIES_DUGTRIO] = {gMonShinyPalette_Dugtrio, SPECIES_DUGTRIO + 500},
+ [SPECIES_MEOWTH] = {gMonShinyPalette_Meowth, SPECIES_MEOWTH + 500},
+ [SPECIES_PERSIAN] = {gMonShinyPalette_Persian, SPECIES_PERSIAN + 500},
+ [SPECIES_PSYDUCK] = {gMonShinyPalette_Psyduck, SPECIES_PSYDUCK + 500},
+ [SPECIES_GOLDUCK] = {gMonShinyPalette_Golduck, SPECIES_GOLDUCK + 500},
+ [SPECIES_MANKEY] = {gMonShinyPalette_Mankey, SPECIES_MANKEY + 500},
+ [SPECIES_PRIMEAPE] = {gMonShinyPalette_Primeape, SPECIES_PRIMEAPE + 500},
+ [SPECIES_GROWLITHE] = {gMonShinyPalette_Growlithe, SPECIES_GROWLITHE + 500},
+ [SPECIES_ARCANINE] = {gMonShinyPalette_Arcanine, SPECIES_ARCANINE + 500},
+ [SPECIES_POLIWAG] = {gMonShinyPalette_Poliwag, SPECIES_POLIWAG + 500},
+ [SPECIES_POLIWHIRL] = {gMonShinyPalette_Poliwhirl, SPECIES_POLIWHIRL + 500},
+ [SPECIES_POLIWRATH] = {gMonShinyPalette_Poliwrath, SPECIES_POLIWRATH + 500},
+ [SPECIES_ABRA] = {gMonShinyPalette_Abra, SPECIES_ABRA + 500},
+ [SPECIES_KADABRA] = {gMonShinyPalette_Kadabra, SPECIES_KADABRA + 500},
+ [SPECIES_ALAKAZAM] = {gMonShinyPalette_Alakazam, SPECIES_ALAKAZAM + 500},
+ [SPECIES_MACHOP] = {gMonShinyPalette_Machop, SPECIES_MACHOP + 500},
+ [SPECIES_MACHOKE] = {gMonShinyPalette_Machoke, SPECIES_MACHOKE + 500},
+ [SPECIES_MACHAMP] = {gMonShinyPalette_Machamp, SPECIES_MACHAMP + 500},
+ [SPECIES_BELLSPROUT] = {gMonShinyPalette_Bellsprout, SPECIES_BELLSPROUT + 500},
+ [SPECIES_WEEPINBELL] = {gMonShinyPalette_Weepinbell, SPECIES_WEEPINBELL + 500},
+ [SPECIES_VICTREEBEL] = {gMonShinyPalette_Victreebel, SPECIES_VICTREEBEL + 500},
+ [SPECIES_TENTACOOL] = {gMonShinyPalette_Tentacool, SPECIES_TENTACOOL + 500},
+ [SPECIES_TENTACRUEL] = {gMonShinyPalette_Tentacruel, SPECIES_TENTACRUEL + 500},
+ [SPECIES_GEODUDE] = {gMonShinyPalette_Geodude, SPECIES_GEODUDE + 500},
+ [SPECIES_GRAVELER] = {gMonShinyPalette_Graveler, SPECIES_GRAVELER + 500},
+ [SPECIES_GOLEM] = {gMonShinyPalette_Golem, SPECIES_GOLEM + 500},
+ [SPECIES_PONYTA] = {gMonShinyPalette_Ponyta, SPECIES_PONYTA + 500},
+ [SPECIES_RAPIDASH] = {gMonShinyPalette_Rapidash, SPECIES_RAPIDASH + 500},
+ [SPECIES_SLOWPOKE] = {gMonShinyPalette_Slowpoke, SPECIES_SLOWPOKE + 500},
+ [SPECIES_SLOWBRO] = {gMonShinyPalette_Slowbro, SPECIES_SLOWBRO + 500},
+ [SPECIES_MAGNEMITE] = {gMonShinyPalette_Magnemite, SPECIES_MAGNEMITE + 500},
+ [SPECIES_MAGNETON] = {gMonShinyPalette_Magneton, SPECIES_MAGNETON + 500},
+ [SPECIES_FARFETCHD] = {gMonShinyPalette_Farfetchd, SPECIES_FARFETCHD + 500},
+ [SPECIES_DODUO] = {gMonShinyPalette_Doduo, SPECIES_DODUO + 500},
+ [SPECIES_DODRIO] = {gMonShinyPalette_Dodrio, SPECIES_DODRIO + 500},
+ [SPECIES_SEEL] = {gMonShinyPalette_Seel, SPECIES_SEEL + 500},
+ [SPECIES_DEWGONG] = {gMonShinyPalette_Dewgong, SPECIES_DEWGONG + 500},
+ [SPECIES_GRIMER] = {gMonShinyPalette_Grimer, SPECIES_GRIMER + 500},
+ [SPECIES_MUK] = {gMonShinyPalette_Muk, SPECIES_MUK + 500},
+ [SPECIES_SHELLDER] = {gMonShinyPalette_Shellder, SPECIES_SHELLDER + 500},
+ [SPECIES_CLOYSTER] = {gMonShinyPalette_Cloyster, SPECIES_CLOYSTER + 500},
+ [SPECIES_GASTLY] = {gMonShinyPalette_Gastly, SPECIES_GASTLY + 500},
+ [SPECIES_HAUNTER] = {gMonShinyPalette_Haunter, SPECIES_HAUNTER + 500},
+ [SPECIES_GENGAR] = {gMonShinyPalette_Gengar, SPECIES_GENGAR + 500},
+ [SPECIES_ONIX] = {gMonShinyPalette_Onix, SPECIES_ONIX + 500},
+ [SPECIES_DROWZEE] = {gMonShinyPalette_Drowzee, SPECIES_DROWZEE + 500},
+ [SPECIES_HYPNO] = {gMonShinyPalette_Hypno, SPECIES_HYPNO + 500},
+ [SPECIES_KRABBY] = {gMonShinyPalette_Krabby, SPECIES_KRABBY + 500},
+ [SPECIES_KINGLER] = {gMonShinyPalette_Kingler, SPECIES_KINGLER + 500},
+ [SPECIES_VOLTORB] = {gMonShinyPalette_Voltorb, SPECIES_VOLTORB + 500},
+ [SPECIES_ELECTRODE] = {gMonShinyPalette_Electrode, SPECIES_ELECTRODE + 500},
+ [SPECIES_EXEGGCUTE] = {gMonShinyPalette_Exeggcute, SPECIES_EXEGGCUTE + 500},
+ [SPECIES_EXEGGUTOR] = {gMonShinyPalette_Exeggutor, SPECIES_EXEGGUTOR + 500},
+ [SPECIES_CUBONE] = {gMonShinyPalette_Cubone, SPECIES_CUBONE + 500},
+ [SPECIES_MAROWAK] = {gMonShinyPalette_Marowak, SPECIES_MAROWAK + 500},
+ [SPECIES_HITMONLEE] = {gMonShinyPalette_Hitmonlee, SPECIES_HITMONLEE + 500},
+ [SPECIES_HITMONCHAN] = {gMonShinyPalette_Hitmonchan, SPECIES_HITMONCHAN + 500},
+ [SPECIES_LICKITUNG] = {gMonShinyPalette_Lickitung, SPECIES_LICKITUNG + 500},
+ [SPECIES_KOFFING] = {gMonShinyPalette_Koffing, SPECIES_KOFFING + 500},
+ [SPECIES_WEEZING] = {gMonShinyPalette_Weezing, SPECIES_WEEZING + 500},
+ [SPECIES_RHYHORN] = {gMonShinyPalette_Rhyhorn, SPECIES_RHYHORN + 500},
+ [SPECIES_RHYDON] = {gMonShinyPalette_Rhydon, SPECIES_RHYDON + 500},
+ [SPECIES_CHANSEY] = {gMonShinyPalette_Chansey, SPECIES_CHANSEY + 500},
+ [SPECIES_TANGELA] = {gMonShinyPalette_Tangela, SPECIES_TANGELA + 500},
+ [SPECIES_KANGASKHAN] = {gMonShinyPalette_Kangaskhan, SPECIES_KANGASKHAN + 500},
+ [SPECIES_HORSEA] = {gMonShinyPalette_Horsea, SPECIES_HORSEA + 500},
+ [SPECIES_SEADRA] = {gMonShinyPalette_Seadra, SPECIES_SEADRA + 500},
+ [SPECIES_GOLDEEN] = {gMonShinyPalette_Goldeen, SPECIES_GOLDEEN + 500},
+ [SPECIES_SEAKING] = {gMonShinyPalette_Seaking, SPECIES_SEAKING + 500},
+ [SPECIES_STARYU] = {gMonShinyPalette_Staryu, SPECIES_STARYU + 500},
+ [SPECIES_STARMIE] = {gMonShinyPalette_Starmie, SPECIES_STARMIE + 500},
+ [SPECIES_MR_MIME] = {gMonShinyPalette_Mrmime, SPECIES_MR_MIME + 500},
+ [SPECIES_SCYTHER] = {gMonShinyPalette_Scyther, SPECIES_SCYTHER + 500},
+ [SPECIES_JYNX] = {gMonShinyPalette_Jynx, SPECIES_JYNX + 500},
+ [SPECIES_ELECTABUZZ] = {gMonShinyPalette_Electabuzz, SPECIES_ELECTABUZZ + 500},
+ [SPECIES_MAGMAR] = {gMonShinyPalette_Magmar, SPECIES_MAGMAR + 500},
+ [SPECIES_PINSIR] = {gMonShinyPalette_Pinsir, SPECIES_PINSIR + 500},
+ [SPECIES_TAUROS] = {gMonShinyPalette_Tauros, SPECIES_TAUROS + 500},
+ [SPECIES_MAGIKARP] = {gMonShinyPalette_Magikarp, SPECIES_MAGIKARP + 500},
+ [SPECIES_GYARADOS] = {gMonShinyPalette_Gyarados, SPECIES_GYARADOS + 500},
+ [SPECIES_LAPRAS] = {gMonShinyPalette_Lapras, SPECIES_LAPRAS + 500},
+ [SPECIES_DITTO] = {gMonShinyPalette_Ditto, SPECIES_DITTO + 500},
+ [SPECIES_EEVEE] = {gMonShinyPalette_Eevee, SPECIES_EEVEE + 500},
+ [SPECIES_VAPOREON] = {gMonShinyPalette_Vaporeon, SPECIES_VAPOREON + 500},
+ [SPECIES_JOLTEON] = {gMonShinyPalette_Jolteon, SPECIES_JOLTEON + 500},
+ [SPECIES_FLAREON] = {gMonShinyPalette_Flareon, SPECIES_FLAREON + 500},
+ [SPECIES_PORYGON] = {gMonShinyPalette_Porygon, SPECIES_PORYGON + 500},
+ [SPECIES_OMANYTE] = {gMonShinyPalette_Omanyte, SPECIES_OMANYTE + 500},
+ [SPECIES_OMASTAR] = {gMonShinyPalette_Omastar, SPECIES_OMASTAR + 500},
+ [SPECIES_KABUTO] = {gMonShinyPalette_Kabuto, SPECIES_KABUTO + 500},
+ [SPECIES_KABUTOPS] = {gMonShinyPalette_Kabutops, SPECIES_KABUTOPS + 500},
+ [SPECIES_AERODACTYL] = {gMonShinyPalette_Aerodactyl, SPECIES_AERODACTYL + 500},
+ [SPECIES_SNORLAX] = {gMonShinyPalette_Snorlax, SPECIES_SNORLAX + 500},
+ [SPECIES_ARTICUNO] = {gMonShinyPalette_Articuno, SPECIES_ARTICUNO + 500},
+ [SPECIES_ZAPDOS] = {gMonShinyPalette_Zapdos, SPECIES_ZAPDOS + 500},
+ [SPECIES_MOLTRES] = {gMonShinyPalette_Moltres, SPECIES_MOLTRES + 500},
+ [SPECIES_DRATINI] = {gMonShinyPalette_Dratini, SPECIES_DRATINI + 500},
+ [SPECIES_DRAGONAIR] = {gMonShinyPalette_Dragonair, SPECIES_DRAGONAIR + 500},
+ [SPECIES_DRAGONITE] = {gMonShinyPalette_Dragonite, SPECIES_DRAGONITE + 500},
+ [SPECIES_MEWTWO] = {gMonShinyPalette_Mewtwo, SPECIES_MEWTWO + 500},
+ [SPECIES_MEW] = {gMonShinyPalette_Mew, SPECIES_MEW + 500},
+ [SPECIES_CHIKORITA] = {gMonShinyPalette_Chikorita, SPECIES_CHIKORITA + 500},
+ [SPECIES_BAYLEEF] = {gMonShinyPalette_Bayleef, SPECIES_BAYLEEF + 500},
+ [SPECIES_MEGANIUM] = {gMonShinyPalette_Meganium, SPECIES_MEGANIUM + 500},
+ [SPECIES_CYNDAQUIL] = {gMonShinyPalette_Cyndaquil, SPECIES_CYNDAQUIL + 500},
+ [SPECIES_QUILAVA] = {gMonShinyPalette_Quilava, SPECIES_QUILAVA + 500},
+ [SPECIES_TYPHLOSION] = {gMonShinyPalette_Typhlosion, SPECIES_TYPHLOSION + 500},
+ [SPECIES_TOTODILE] = {gMonShinyPalette_Totodile, SPECIES_TOTODILE + 500},
+ [SPECIES_CROCONAW] = {gMonShinyPalette_Croconaw, SPECIES_CROCONAW + 500},
+ [SPECIES_FERALIGATR] = {gMonShinyPalette_Feraligatr, SPECIES_FERALIGATR + 500},
+ [SPECIES_SENTRET] = {gMonShinyPalette_Sentret, SPECIES_SENTRET + 500},
+ [SPECIES_FURRET] = {gMonShinyPalette_Furret, SPECIES_FURRET + 500},
+ [SPECIES_HOOTHOOT] = {gMonShinyPalette_Hoothoot, SPECIES_HOOTHOOT + 500},
+ [SPECIES_NOCTOWL] = {gMonShinyPalette_Noctowl, SPECIES_NOCTOWL + 500},
+ [SPECIES_LEDYBA] = {gMonShinyPalette_Ledyba, SPECIES_LEDYBA + 500},
+ [SPECIES_LEDIAN] = {gMonShinyPalette_Ledian, SPECIES_LEDIAN + 500},
+ [SPECIES_SPINARAK] = {gMonShinyPalette_Spinarak, SPECIES_SPINARAK + 500},
+ [SPECIES_ARIADOS] = {gMonShinyPalette_Ariados, SPECIES_ARIADOS + 500},
+ [SPECIES_CROBAT] = {gMonShinyPalette_Crobat, SPECIES_CROBAT + 500},
+ [SPECIES_CHINCHOU] = {gMonShinyPalette_Chinchou, SPECIES_CHINCHOU + 500},
+ [SPECIES_LANTURN] = {gMonShinyPalette_Lanturn, SPECIES_LANTURN + 500},
+ [SPECIES_PICHU] = {gMonShinyPalette_Pichu, SPECIES_PICHU + 500},
+ [SPECIES_CLEFFA] = {gMonShinyPalette_Cleffa, SPECIES_CLEFFA + 500},
+ [SPECIES_IGGLYBUFF] = {gMonShinyPalette_Igglybuff, SPECIES_IGGLYBUFF + 500},
+ [SPECIES_TOGEPI] = {gMonShinyPalette_Togepi, SPECIES_TOGEPI + 500},
+ [SPECIES_TOGETIC] = {gMonShinyPalette_Togetic, SPECIES_TOGETIC + 500},
+ [SPECIES_NATU] = {gMonShinyPalette_Natu, SPECIES_NATU + 500},
+ [SPECIES_XATU] = {gMonShinyPalette_Xatu, SPECIES_XATU + 500},
+ [SPECIES_MAREEP] = {gMonShinyPalette_Mareep, SPECIES_MAREEP + 500},
+ [SPECIES_FLAAFFY] = {gMonShinyPalette_Flaaffy, SPECIES_FLAAFFY + 500},
+ [SPECIES_AMPHAROS] = {gMonShinyPalette_Ampharos, SPECIES_AMPHAROS + 500},
+ [SPECIES_BELLOSSOM] = {gMonShinyPalette_Bellossom, SPECIES_BELLOSSOM + 500},
+ [SPECIES_MARILL] = {gMonShinyPalette_Marill, SPECIES_MARILL + 500},
+ [SPECIES_AZUMARILL] = {gMonShinyPalette_Azumarill, SPECIES_AZUMARILL + 500},
+ [SPECIES_SUDOWOODO] = {gMonShinyPalette_Sudowoodo, SPECIES_SUDOWOODO + 500},
+ [SPECIES_POLITOED] = {gMonShinyPalette_Politoed, SPECIES_POLITOED + 500},
+ [SPECIES_HOPPIP] = {gMonShinyPalette_Hoppip, SPECIES_HOPPIP + 500},
+ [SPECIES_SKIPLOOM] = {gMonShinyPalette_Skiploom, SPECIES_SKIPLOOM + 500},
+ [SPECIES_JUMPLUFF] = {gMonShinyPalette_Jumpluff, SPECIES_JUMPLUFF + 500},
+ [SPECIES_AIPOM] = {gMonShinyPalette_Aipom, SPECIES_AIPOM + 500},
+ [SPECIES_SUNKERN] = {gMonShinyPalette_Sunkern, SPECIES_SUNKERN + 500},
+ [SPECIES_SUNFLORA] = {gMonShinyPalette_Sunflora, SPECIES_SUNFLORA + 500},
+ [SPECIES_YANMA] = {gMonShinyPalette_Yanma, SPECIES_YANMA + 500},
+ [SPECIES_WOOPER] = {gMonShinyPalette_Wooper, SPECIES_WOOPER + 500},
+ [SPECIES_QUAGSIRE] = {gMonShinyPalette_Quagsire, SPECIES_QUAGSIRE + 500},
+ [SPECIES_ESPEON] = {gMonShinyPalette_Espeon, SPECIES_ESPEON + 500},
+ [SPECIES_UMBREON] = {gMonShinyPalette_Umbreon, SPECIES_UMBREON + 500},
+ [SPECIES_MURKROW] = {gMonShinyPalette_Murkrow, SPECIES_MURKROW + 500},
+ [SPECIES_SLOWKING] = {gMonShinyPalette_Slowking, SPECIES_SLOWKING + 500},
+ [SPECIES_MISDREAVUS] = {gMonShinyPalette_Misdreavus, SPECIES_MISDREAVUS + 500},
+ [SPECIES_UNOWN] = {gMonShinyPalette_Unown, SPECIES_UNOWN + 500},
+ [SPECIES_WOBBUFFET] = {gMonShinyPalette_Wobbuffet, SPECIES_WOBBUFFET + 500},
+ [SPECIES_GIRAFARIG] = {gMonShinyPalette_Girafarig, SPECIES_GIRAFARIG + 500},
+ [SPECIES_PINECO] = {gMonShinyPalette_Pineco, SPECIES_PINECO + 500},
+ [SPECIES_FORRETRESS] = {gMonShinyPalette_Forretress, SPECIES_FORRETRESS + 500},
+ [SPECIES_DUNSPARCE] = {gMonShinyPalette_Dunsparce, SPECIES_DUNSPARCE + 500},
+ [SPECIES_GLIGAR] = {gMonShinyPalette_Gligar, SPECIES_GLIGAR + 500},
+ [SPECIES_STEELIX] = {gMonShinyPalette_Steelix, SPECIES_STEELIX + 500},
+ [SPECIES_SNUBBULL] = {gMonShinyPalette_Snubbull, SPECIES_SNUBBULL + 500},
+ [SPECIES_GRANBULL] = {gMonShinyPalette_Granbull, SPECIES_GRANBULL + 500},
+ [SPECIES_QWILFISH] = {gMonShinyPalette_Qwilfish, SPECIES_QWILFISH + 500},
+ [SPECIES_SCIZOR] = {gMonShinyPalette_Scizor, SPECIES_SCIZOR + 500},
+ [SPECIES_SHUCKLE] = {gMonShinyPalette_Shuckle, SPECIES_SHUCKLE + 500},
+ [SPECIES_HERACROSS] = {gMonShinyPalette_Heracross, SPECIES_HERACROSS + 500},
+ [SPECIES_SNEASEL] = {gMonShinyPalette_Sneasel, SPECIES_SNEASEL + 500},
+ [SPECIES_TEDDIURSA] = {gMonShinyPalette_Teddiursa, SPECIES_TEDDIURSA + 500},
+ [SPECIES_URSARING] = {gMonShinyPalette_Ursaring, SPECIES_URSARING + 500},
+ [SPECIES_SLUGMA] = {gMonShinyPalette_Slugma, SPECIES_SLUGMA + 500},
+ [SPECIES_MAGCARGO] = {gMonShinyPalette_Magcargo, SPECIES_MAGCARGO + 500},
+ [SPECIES_SWINUB] = {gMonShinyPalette_Swinub, SPECIES_SWINUB + 500},
+ [SPECIES_PILOSWINE] = {gMonShinyPalette_Piloswine, SPECIES_PILOSWINE + 500},
+ [SPECIES_CORSOLA] = {gMonShinyPalette_Corsola, SPECIES_CORSOLA + 500},
+ [SPECIES_REMORAID] = {gMonShinyPalette_Remoraid, SPECIES_REMORAID + 500},
+ [SPECIES_OCTILLERY] = {gMonShinyPalette_Octillery, SPECIES_OCTILLERY + 500},
+ [SPECIES_DELIBIRD] = {gMonShinyPalette_Delibird, SPECIES_DELIBIRD + 500},
+ [SPECIES_MANTINE] = {gMonShinyPalette_Mantine, SPECIES_MANTINE + 500},
+ [SPECIES_SKARMORY] = {gMonShinyPalette_Skarmory, SPECIES_SKARMORY + 500},
+ [SPECIES_HOUNDOUR] = {gMonShinyPalette_Houndour, SPECIES_HOUNDOUR + 500},
+ [SPECIES_HOUNDOOM] = {gMonShinyPalette_Houndoom, SPECIES_HOUNDOOM + 500},
+ [SPECIES_KINGDRA] = {gMonShinyPalette_Kingdra, SPECIES_KINGDRA + 500},
+ [SPECIES_PHANPY] = {gMonShinyPalette_Phanpy, SPECIES_PHANPY + 500},
+ [SPECIES_DONPHAN] = {gMonShinyPalette_Donphan, SPECIES_DONPHAN + 500},
+ [SPECIES_PORYGON2] = {gMonShinyPalette_Porygon2, SPECIES_PORYGON2 + 500},
+ [SPECIES_STANTLER] = {gMonShinyPalette_Stantler, SPECIES_STANTLER + 500},
+ [SPECIES_SMEARGLE] = {gMonShinyPalette_Smeargle, SPECIES_SMEARGLE + 500},
+ [SPECIES_TYROGUE] = {gMonShinyPalette_Tyrogue, SPECIES_TYROGUE + 500},
+ [SPECIES_HITMONTOP] = {gMonShinyPalette_Hitmontop, SPECIES_HITMONTOP + 500},
+ [SPECIES_SMOOCHUM] = {gMonShinyPalette_Smoochum, SPECIES_SMOOCHUM + 500},
+ [SPECIES_ELEKID] = {gMonShinyPalette_Elekid, SPECIES_ELEKID + 500},
+ [SPECIES_MAGBY] = {gMonShinyPalette_Magby, SPECIES_MAGBY + 500},
+ [SPECIES_MILTANK] = {gMonShinyPalette_Miltank, SPECIES_MILTANK + 500},
+ [SPECIES_BLISSEY] = {gMonShinyPalette_Blissey, SPECIES_BLISSEY + 500},
+ [SPECIES_RAIKOU] = {gMonShinyPalette_Raikou, SPECIES_RAIKOU + 500},
+ [SPECIES_ENTEI] = {gMonShinyPalette_Entei, SPECIES_ENTEI + 500},
+ [SPECIES_SUICUNE] = {gMonShinyPalette_Suicune, SPECIES_SUICUNE + 500},
+ [SPECIES_LARVITAR] = {gMonShinyPalette_Larvitar, SPECIES_LARVITAR + 500},
+ [SPECIES_PUPITAR] = {gMonShinyPalette_Pupitar, SPECIES_PUPITAR + 500},
+ [SPECIES_TYRANITAR] = {gMonShinyPalette_Tyranitar, SPECIES_TYRANITAR + 500},
+ [SPECIES_LUGIA] = {gMonShinyPalette_Lugia, SPECIES_LUGIA + 500},
+ [SPECIES_HO_OH] = {gMonShinyPalette_HoOh, SPECIES_HO_OH + 500},
+ [SPECIES_CELEBI] = {gMonShinyPalette_Celebi, SPECIES_CELEBI + 500},
+ [SPECIES_OLD_UNOWN_B] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B + 500},
+ [SPECIES_OLD_UNOWN_C] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C + 500},
+ [SPECIES_OLD_UNOWN_D] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D + 500},
+ [SPECIES_OLD_UNOWN_E] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E + 500},
+ [SPECIES_OLD_UNOWN_F] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F + 500},
+ [SPECIES_OLD_UNOWN_G] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G + 500},
+ [SPECIES_OLD_UNOWN_H] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H + 500},
+ [SPECIES_OLD_UNOWN_I] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I + 500},
+ [SPECIES_OLD_UNOWN_J] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J + 500},
+ [SPECIES_OLD_UNOWN_K] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K + 500},
+ [SPECIES_OLD_UNOWN_L] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L + 500},
+ [SPECIES_OLD_UNOWN_M] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M + 500},
+ [SPECIES_OLD_UNOWN_N] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N + 500},
+ [SPECIES_OLD_UNOWN_O] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O + 500},
+ [SPECIES_OLD_UNOWN_P] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P + 500},
+ [SPECIES_OLD_UNOWN_Q] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q + 500},
+ [SPECIES_OLD_UNOWN_R] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R + 500},
+ [SPECIES_OLD_UNOWN_S] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S + 500},
+ [SPECIES_OLD_UNOWN_T] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T + 500},
+ [SPECIES_OLD_UNOWN_U] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U + 500},
+ [SPECIES_OLD_UNOWN_V] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V + 500},
+ [SPECIES_OLD_UNOWN_W] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W + 500},
+ [SPECIES_OLD_UNOWN_X] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X + 500},
+ [SPECIES_OLD_UNOWN_Y] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y + 500},
+ [SPECIES_OLD_UNOWN_Z] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z + 500},
+ [SPECIES_TREECKO] = {gMonShinyPalette_Treecko, SPECIES_TREECKO + 500},
+ [SPECIES_GROVYLE] = {gMonShinyPalette_Grovyle, SPECIES_GROVYLE + 500},
+ [SPECIES_SCEPTILE] = {gMonShinyPalette_Sceptile, SPECIES_SCEPTILE + 500},
+ [SPECIES_TORCHIC] = {gMonShinyPalette_Torchic, SPECIES_TORCHIC + 500},
+ [SPECIES_COMBUSKEN] = {gMonShinyPalette_Combusken, SPECIES_COMBUSKEN + 500},
+ [SPECIES_BLAZIKEN] = {gMonShinyPalette_Blaziken, SPECIES_BLAZIKEN + 500},
+ [SPECIES_MUDKIP] = {gMonShinyPalette_Mudkip, SPECIES_MUDKIP + 500},
+ [SPECIES_MARSHTOMP] = {gMonShinyPalette_Marshtomp, SPECIES_MARSHTOMP + 500},
+ [SPECIES_SWAMPERT] = {gMonShinyPalette_Swampert, SPECIES_SWAMPERT + 500},
+ [SPECIES_POOCHYENA] = {gMonShinyPalette_Poochyena, SPECIES_POOCHYENA + 500},
+ [SPECIES_MIGHTYENA] = {gMonShinyPalette_Mightyena, SPECIES_MIGHTYENA + 500},
+ [SPECIES_ZIGZAGOON] = {gMonShinyPalette_Zigzagoon, SPECIES_ZIGZAGOON + 500},
+ [SPECIES_LINOONE] = {gMonShinyPalette_Linoone, SPECIES_LINOONE + 500},
+ [SPECIES_WURMPLE] = {gMonShinyPalette_Wurmple, SPECIES_WURMPLE + 500},
+ [SPECIES_SILCOON] = {gMonShinyPalette_Silcoon, SPECIES_SILCOON + 500},
+ [SPECIES_BEAUTIFLY] = {gMonShinyPalette_Beautifly, SPECIES_BEAUTIFLY + 500},
+ [SPECIES_CASCOON] = {gMonShinyPalette_Cascoon, SPECIES_CASCOON + 500},
+ [SPECIES_DUSTOX] = {gMonShinyPalette_Dustox, SPECIES_DUSTOX + 500},
+ [SPECIES_LOTAD] = {gMonShinyPalette_Lotad, SPECIES_LOTAD + 500},
+ [SPECIES_LOMBRE] = {gMonShinyPalette_Lombre, SPECIES_LOMBRE + 500},
+ [SPECIES_LUDICOLO] = {gMonShinyPalette_Ludicolo, SPECIES_LUDICOLO + 500},
+ [SPECIES_SEEDOT] = {gMonShinyPalette_Seedot, SPECIES_SEEDOT + 500},
+ [SPECIES_NUZLEAF] = {gMonShinyPalette_Nuzleaf, SPECIES_NUZLEAF + 500},
+ [SPECIES_SHIFTRY] = {gMonShinyPalette_Shiftry, SPECIES_SHIFTRY + 500},
+ [SPECIES_NINCADA] = {gMonShinyPalette_Nincada, SPECIES_NINCADA + 500},
+ [SPECIES_NINJASK] = {gMonShinyPalette_Ninjask, SPECIES_NINJASK + 500},
+ [SPECIES_SHEDINJA] = {gMonShinyPalette_Shedinja, SPECIES_SHEDINJA + 500},
+ [SPECIES_TAILLOW] = {gMonShinyPalette_Taillow, SPECIES_TAILLOW + 500},
+ [SPECIES_SWELLOW] = {gMonShinyPalette_Swellow, SPECIES_SWELLOW + 500},
+ [SPECIES_SHROOMISH] = {gMonShinyPalette_Shroomish, SPECIES_SHROOMISH + 500},
+ [SPECIES_BRELOOM] = {gMonShinyPalette_Breloom, SPECIES_BRELOOM + 500},
+ [SPECIES_SPINDA] = {gMonShinyPalette_Spinda, SPECIES_SPINDA + 500},
+ [SPECIES_WINGULL] = {gMonShinyPalette_Wingull, SPECIES_WINGULL + 500},
+ [SPECIES_PELIPPER] = {gMonShinyPalette_Pelipper, SPECIES_PELIPPER + 500},
+ [SPECIES_SURSKIT] = {gMonShinyPalette_Surskit, SPECIES_SURSKIT + 500},
+ [SPECIES_MASQUERAIN] = {gMonShinyPalette_Masquerain, SPECIES_MASQUERAIN + 500},
+ [SPECIES_WAILMER] = {gMonShinyPalette_Wailmer, SPECIES_WAILMER + 500},
+ [SPECIES_WAILORD] = {gMonShinyPalette_Wailord, SPECIES_WAILORD + 500},
+ [SPECIES_SKITTY] = {gMonShinyPalette_Skitty, SPECIES_SKITTY + 500},
+ [SPECIES_DELCATTY] = {gMonShinyPalette_Delcatty, SPECIES_DELCATTY + 500},
+ [SPECIES_KECLEON] = {gMonShinyPalette_Kecleon, SPECIES_KECLEON + 500},
+ [SPECIES_BALTOY] = {gMonShinyPalette_Baltoy, SPECIES_BALTOY + 500},
+ [SPECIES_CLAYDOL] = {gMonShinyPalette_Claydol, SPECIES_CLAYDOL + 500},
+ [SPECIES_NOSEPASS] = {gMonShinyPalette_Nosepass, SPECIES_NOSEPASS + 500},
+ [SPECIES_TORKOAL] = {gMonShinyPalette_Torkoal, SPECIES_TORKOAL + 500},
+ [SPECIES_SABLEYE] = {gMonShinyPalette_Sableye, SPECIES_SABLEYE + 500},
+ [SPECIES_BARBOACH] = {gMonShinyPalette_Barboach, SPECIES_BARBOACH + 500},
+ [SPECIES_WHISCASH] = {gMonShinyPalette_Whiscash, SPECIES_WHISCASH + 500},
+ [SPECIES_LUVDISC] = {gMonShinyPalette_Luvdisc, SPECIES_LUVDISC + 500},
+ [SPECIES_CORPHISH] = {gMonShinyPalette_Corphish, SPECIES_CORPHISH + 500},
+ [SPECIES_CRAWDAUNT] = {gMonShinyPalette_Crawdaunt, SPECIES_CRAWDAUNT + 500},
+ [SPECIES_FEEBAS] = {gMonShinyPalette_Feebas, SPECIES_FEEBAS + 500},
+ [SPECIES_MILOTIC] = {gMonShinyPalette_Milotic, SPECIES_MILOTIC + 500},
+ [SPECIES_CARVANHA] = {gMonShinyPalette_Carvanha, SPECIES_CARVANHA + 500},
+ [SPECIES_SHARPEDO] = {gMonShinyPalette_Sharpedo, SPECIES_SHARPEDO + 500},
+ [SPECIES_TRAPINCH] = {gMonShinyPalette_Trapinch, SPECIES_TRAPINCH + 500},
+ [SPECIES_VIBRAVA] = {gMonShinyPalette_Vibrava, SPECIES_VIBRAVA + 500},
+ [SPECIES_FLYGON] = {gMonShinyPalette_Flygon, SPECIES_FLYGON + 500},
+ [SPECIES_MAKUHITA] = {gMonShinyPalette_Makuhita, SPECIES_MAKUHITA + 500},
+ [SPECIES_HARIYAMA] = {gMonShinyPalette_Hariyama, SPECIES_HARIYAMA + 500},
+ [SPECIES_ELECTRIKE] = {gMonShinyPalette_Electrike, SPECIES_ELECTRIKE + 500},
+ [SPECIES_MANECTRIC] = {gMonShinyPalette_Manectric, SPECIES_MANECTRIC + 500},
+ [SPECIES_NUMEL] = {gMonShinyPalette_Numel, SPECIES_NUMEL + 500},
+ [SPECIES_CAMERUPT] = {gMonShinyPalette_Camerupt, SPECIES_CAMERUPT + 500},
+ [SPECIES_SPHEAL] = {gMonShinyPalette_Spheal, SPECIES_SPHEAL + 500},
+ [SPECIES_SEALEO] = {gMonShinyPalette_Sealeo, SPECIES_SEALEO + 500},
+ [SPECIES_WALREIN] = {gMonShinyPalette_Walrein, SPECIES_WALREIN + 500},
+ [SPECIES_CACNEA] = {gMonShinyPalette_Cacnea, SPECIES_CACNEA + 500},
+ [SPECIES_CACTURNE] = {gMonShinyPalette_Cacturne, SPECIES_CACTURNE + 500},
+ [SPECIES_SNORUNT] = {gMonShinyPalette_Snorunt, SPECIES_SNORUNT + 500},
+ [SPECIES_GLALIE] = {gMonShinyPalette_Glalie, SPECIES_GLALIE + 500},
+ [SPECIES_LUNATONE] = {gMonShinyPalette_Lunatone, SPECIES_LUNATONE + 500},
+ [SPECIES_SOLROCK] = {gMonShinyPalette_Solrock, SPECIES_SOLROCK + 500},
+ [SPECIES_AZURILL] = {gMonShinyPalette_Azurill, SPECIES_AZURILL + 500},
+ [SPECIES_SPOINK] = {gMonShinyPalette_Spoink, SPECIES_SPOINK + 500},
+ [SPECIES_GRUMPIG] = {gMonShinyPalette_Grumpig, SPECIES_GRUMPIG + 500},
+ [SPECIES_PLUSLE] = {gMonShinyPalette_Plusle, SPECIES_PLUSLE + 500},
+ [SPECIES_MINUN] = {gMonShinyPalette_Minun, SPECIES_MINUN + 500},
+ [SPECIES_MAWILE] = {gMonShinyPalette_Mawile, SPECIES_MAWILE + 500},
+ [SPECIES_MEDITITE] = {gMonShinyPalette_Meditite, SPECIES_MEDITITE + 500},
+ [SPECIES_MEDICHAM] = {gMonShinyPalette_Medicham, SPECIES_MEDICHAM + 500},
+ [SPECIES_SWABLU] = {gMonShinyPalette_Swablu, SPECIES_SWABLU + 500},
+ [SPECIES_ALTARIA] = {gMonShinyPalette_Altaria, SPECIES_ALTARIA + 500},
+ [SPECIES_WYNAUT] = {gMonShinyPalette_Wynaut, SPECIES_WYNAUT + 500},
+ [SPECIES_DUSKULL] = {gMonShinyPalette_Duskull, SPECIES_DUSKULL + 500},
+ [SPECIES_DUSCLOPS] = {gMonShinyPalette_Dusclops, SPECIES_DUSCLOPS + 500},
+ [SPECIES_ROSELIA] = {gMonShinyPalette_Roselia, SPECIES_ROSELIA + 500},
+ [SPECIES_SLAKOTH] = {gMonShinyPalette_Slakoth, SPECIES_SLAKOTH + 500},
+ [SPECIES_VIGOROTH] = {gMonShinyPalette_Vigoroth, SPECIES_VIGOROTH + 500},
+ [SPECIES_SLAKING] = {gMonShinyPalette_Slaking, SPECIES_SLAKING + 500},
+ [SPECIES_GULPIN] = {gMonShinyPalette_Gulpin, SPECIES_GULPIN + 500},
+ [SPECIES_SWALOT] = {gMonShinyPalette_Swalot, SPECIES_SWALOT + 500},
+ [SPECIES_TROPIUS] = {gMonShinyPalette_Tropius, SPECIES_TROPIUS + 500},
+ [SPECIES_WHISMUR] = {gMonShinyPalette_Whismur, SPECIES_WHISMUR + 500},
+ [SPECIES_LOUDRED] = {gMonShinyPalette_Loudred, SPECIES_LOUDRED + 500},
+ [SPECIES_EXPLOUD] = {gMonShinyPalette_Exploud, SPECIES_EXPLOUD + 500},
+ [SPECIES_CLAMPERL] = {gMonShinyPalette_Clamperl, SPECIES_CLAMPERL + 500},
+ [SPECIES_HUNTAIL] = {gMonShinyPalette_Huntail, SPECIES_HUNTAIL + 500},
+ [SPECIES_GOREBYSS] = {gMonShinyPalette_Gorebyss, SPECIES_GOREBYSS + 500},
+ [SPECIES_ABSOL] = {gMonShinyPalette_Absol, SPECIES_ABSOL + 500},
+ [SPECIES_SHUPPET] = {gMonShinyPalette_Shuppet, SPECIES_SHUPPET + 500},
+ [SPECIES_BANETTE] = {gMonShinyPalette_Banette, SPECIES_BANETTE + 500},
+ [SPECIES_SEVIPER] = {gMonShinyPalette_Seviper, SPECIES_SEVIPER + 500},
+ [SPECIES_ZANGOOSE] = {gMonShinyPalette_Zangoose, SPECIES_ZANGOOSE + 500},
+ [SPECIES_RELICANTH] = {gMonShinyPalette_Relicanth, SPECIES_RELICANTH + 500},
+ [SPECIES_ARON] = {gMonShinyPalette_Aron, SPECIES_ARON + 500},
+ [SPECIES_LAIRON] = {gMonShinyPalette_Lairon, SPECIES_LAIRON + 500},
+ [SPECIES_AGGRON] = {gMonShinyPalette_Aggron, SPECIES_AGGRON + 500},
+ [SPECIES_CASTFORM] = {gMonShinyPalette_Castform, SPECIES_CASTFORM + 500},
+ [SPECIES_VOLBEAT] = {gMonShinyPalette_Volbeat, SPECIES_VOLBEAT + 500},
+ [SPECIES_ILLUMISE] = {gMonShinyPalette_Illumise, SPECIES_ILLUMISE + 500},
+ [SPECIES_LILEEP] = {gMonShinyPalette_Lileep, SPECIES_LILEEP + 500},
+ [SPECIES_CRADILY] = {gMonShinyPalette_Cradily, SPECIES_CRADILY + 500},
+ [SPECIES_ANORITH] = {gMonShinyPalette_Anorith, SPECIES_ANORITH + 500},
+ [SPECIES_ARMALDO] = {gMonShinyPalette_Armaldo, SPECIES_ARMALDO + 500},
+ [SPECIES_RALTS] = {gMonShinyPalette_Ralts, SPECIES_RALTS + 500},
+ [SPECIES_KIRLIA] = {gMonShinyPalette_Kirlia, SPECIES_KIRLIA + 500},
+ [SPECIES_GARDEVOIR] = {gMonShinyPalette_Gardevoir, SPECIES_GARDEVOIR + 500},
+ [SPECIES_BAGON] = {gMonShinyPalette_Bagon, SPECIES_BAGON + 500},
+ [SPECIES_SHELGON] = {gMonShinyPalette_Shelgon, SPECIES_SHELGON + 500},
+ [SPECIES_SALAMENCE] = {gMonShinyPalette_Salamence, SPECIES_SALAMENCE + 500},
+ [SPECIES_BELDUM] = {gMonShinyPalette_Beldum, SPECIES_BELDUM + 500},
+ [SPECIES_METANG] = {gMonShinyPalette_Metang, SPECIES_METANG + 500},
+ [SPECIES_METAGROSS] = {gMonShinyPalette_Metagross, SPECIES_METAGROSS + 500},
+ [SPECIES_REGIROCK] = {gMonShinyPalette_Regirock, SPECIES_REGIROCK + 500},
+ [SPECIES_REGICE] = {gMonShinyPalette_Regice, SPECIES_REGICE + 500},
+ [SPECIES_REGISTEEL] = {gMonShinyPalette_Registeel, SPECIES_REGISTEEL + 500},
+ [SPECIES_KYOGRE] = {gMonShinyPalette_Kyogre, SPECIES_KYOGRE + 500},
+ [SPECIES_GROUDON] = {gMonShinyPalette_Groudon, SPECIES_GROUDON + 500},
+ [SPECIES_RAYQUAZA] = {gMonShinyPalette_Rayquaza, SPECIES_RAYQUAZA + 500},
+ [SPECIES_LATIAS] = {gMonShinyPalette_Latias, SPECIES_LATIAS + 500},
+ [SPECIES_LATIOS] = {gMonShinyPalette_Latios, SPECIES_LATIOS + 500},
+ [SPECIES_JIRACHI] = {gMonShinyPalette_Jirachi, SPECIES_JIRACHI + 500},
+ [SPECIES_DEOXYS] = {gMonShinyPalette_Deoxys, SPECIES_DEOXYS + 500},
+ [SPECIES_CHIMECHO] = {gMonShinyPalette_Chimecho, SPECIES_CHIMECHO + 500},
+ [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG + 500},
+ [SPECIES_UNOWN_B] = {gMonShinyPalette_Unown, SPECIES_UNOWN_B + 500},
+ [SPECIES_UNOWN_C] = {gMonShinyPalette_Unown, SPECIES_UNOWN_C + 500},
+ [SPECIES_UNOWN_D] = {gMonShinyPalette_Unown, SPECIES_UNOWN_D + 500},
+ [SPECIES_UNOWN_E] = {gMonShinyPalette_Unown, SPECIES_UNOWN_E + 500},
+ [SPECIES_UNOWN_F] = {gMonShinyPalette_Unown, SPECIES_UNOWN_F + 500},
+ [SPECIES_UNOWN_G] = {gMonShinyPalette_Unown, SPECIES_UNOWN_G + 500},
+ [SPECIES_UNOWN_H] = {gMonShinyPalette_Unown, SPECIES_UNOWN_H + 500},
+ [SPECIES_UNOWN_I] = {gMonShinyPalette_Unown, SPECIES_UNOWN_I + 500},
+ [SPECIES_UNOWN_J] = {gMonShinyPalette_Unown, SPECIES_UNOWN_J + 500},
+ [SPECIES_UNOWN_K] = {gMonShinyPalette_Unown, SPECIES_UNOWN_K + 500},
+ [SPECIES_UNOWN_L] = {gMonShinyPalette_Unown, SPECIES_UNOWN_L + 500},
+ [SPECIES_UNOWN_M] = {gMonShinyPalette_Unown, SPECIES_UNOWN_M + 500},
+ [SPECIES_UNOWN_N] = {gMonShinyPalette_Unown, SPECIES_UNOWN_N + 500},
+ [SPECIES_UNOWN_O] = {gMonShinyPalette_Unown, SPECIES_UNOWN_O + 500},
+ [SPECIES_UNOWN_P] = {gMonShinyPalette_Unown, SPECIES_UNOWN_P + 500},
+ [SPECIES_UNOWN_Q] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Q + 500},
+ [SPECIES_UNOWN_R] = {gMonShinyPalette_Unown, SPECIES_UNOWN_R + 500},
+ [SPECIES_UNOWN_S] = {gMonShinyPalette_Unown, SPECIES_UNOWN_S + 500},
+ [SPECIES_UNOWN_T] = {gMonShinyPalette_Unown, SPECIES_UNOWN_T + 500},
+ [SPECIES_UNOWN_U] = {gMonShinyPalette_Unown, SPECIES_UNOWN_U + 500},
+ [SPECIES_UNOWN_V] = {gMonShinyPalette_Unown, SPECIES_UNOWN_V + 500},
+ [SPECIES_UNOWN_W] = {gMonShinyPalette_Unown, SPECIES_UNOWN_W + 500},
+ [SPECIES_UNOWN_X] = {gMonShinyPalette_Unown, SPECIES_UNOWN_X + 500},
+ [SPECIES_UNOWN_Y] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Y + 500},
+ [SPECIES_UNOWN_Z] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Z + 500},
+ [SPECIES_UNOWN_EMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_EMARK + 500},
+ [SPECIES_UNOWN_QMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_QMARK + 500},
};
diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h
index 8683978d7..ff0b680dd 100644
--- a/src/data/text/item_descriptions.h
+++ b/src/data/text/item_descriptions.h
@@ -1,7 +1,5 @@
-#ifndef POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
-#define POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
const u8 gDummyItemDescription[] = _("?????");
-//Pokeballs
+// Pokeballs
const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail.");
const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL.");
const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL.");
@@ -14,7 +12,7 @@ const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON
const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns.");
const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly.");
const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event.");
-//Medicine
+// Medicine
const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points.");
const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON.");
const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn.");
@@ -48,14 +46,14 @@ const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\n
const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON.");
const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points.");
const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON.");
-//Collectibles
+// Collectibles
const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE.");
const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE.");
const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
-//Vitamins
+// Vitamins
const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON.");
const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON.");
const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON.");
@@ -65,7 +63,7 @@ const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\non
const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove.");
const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON.");
const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints.");
-//Battle items
+// Battle items
const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle.");
const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle.");
const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle.");
@@ -75,19 +73,19 @@ const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduri
const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle.");
const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
-//Field items
+// Field items
const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps.");
const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps.");
const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon.");
const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps.");
-//Evolution stones
+// Evolution stones
const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
-//Valuable items
+// Valuable items
const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price.");
const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price.");
const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price.");
@@ -96,7 +94,7 @@ const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\n
const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price.");
const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price.");
const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors.");
-//Mail
+// Mail
const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON.");
const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON.");
const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON.");
@@ -109,7 +107,7 @@ const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by
const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON.");
const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON.");
-//Berries
+// Berries
const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle.");
const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle.");
const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle.");
@@ -153,7 +151,7 @@ const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\
const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch.");
const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch.");
const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery.");
-//Hold items
+// Hold items
const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy.");
const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat.");
const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED.");
@@ -206,7 +204,7 @@ const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCO
const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS.");
const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS.");
const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS.");
-//Key items
+// Key items
const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better.");
const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS.");
const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound.");
@@ -236,7 +234,7 @@ const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nA
const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON.");
-//TMs/HMs
+// TMs/HMs
const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe.");
const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws.");
const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse.");
@@ -296,7 +294,7 @@ const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nred
const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE.");
const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls.");
const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn.");
-//FireRed/LeafGreen key items
+// FireRed/LeafGreen key items
const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART’s clerk.");
const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON.");
const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM’s entrance.");
@@ -323,7 +321,6 @@ const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the shi
const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER.");
const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion.");
const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty.");
-//Emerald-specific key items
+// Emerald-specific key items
const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA’s mark.");
const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island.");
-#endif // POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
diff --git a/src/data/text/trainer_class_names.h b/src/data/text/trainer_class_names.h
index 7a126a128..dd750b354 100644
--- a/src/data/text/trainer_class_names.h
+++ b/src/data/text/trainer_class_names.h
@@ -1,73 +1,68 @@
-#ifndef GUARD_TRAINER_CLASS_NAMES_H
-#define GUARD_TRAINER_CLASS_NAMES_H
-
const u8 gTrainerClassNames[][13] = {
- _("{PKMN} TRAINER"),
- _("{PKMN} TRAINER"),
- _("HIKER"),
- _("TEAM AQUA"),
- _("{PKMN} BREEDER"),
- _("COOLTRAINER"),
- _("BIRD KEEPER"),
- _("COLLECTOR"),
- _("SWIMMER♂"),
- _("TEAM MAGMA"),
- _("EXPERT"),
- _("AQUA ADMIN"),
- _("BLACK BELT"),
- _("AQUA LEADER"),
- _("HEX MANIAC"),
- _("AROMA LADY"),
- _("RUIN MANIAC"),
- _("INTERVIEWER"),
- _("TUBER"),
- _("TUBER"),
- _("LADY"),
- _("BEAUTY"),
- _("RICH BOY"),
- _("POKéMANIAC"),
- _("GUITARIST"),
- _("KINDLER"),
- _("CAMPER"),
- _("PICNICKER"),
- _("BUG MANIAC"),
- _("PSYCHIC"),
- _("GENTLEMAN"),
- _("ELITE FOUR"),
- _("LEADER"),
- _("SCHOOL KID"),
- _("SR. AND JR."),
- _("WINSTRATE"),
- _("POKéFAN"),
- _("YOUNGSTER"),
- _("CHAMPION"),
- _("FISHERMAN"),
- _("TRIATHLETE"),
- _("DRAGON TAMER"),
- _("NINJA BOY"),
- _("BATTLE GIRL"),
- _("PARASOL LADY"),
- _("SWIMMER♀"),
- _("TWINS"),
- _("SAILOR"),
- _("COOLTRAINER"),
- _("MAGMA ADMIN"),
- _("{PKMN} TRAINER"),
- _("BUG CATCHER"),
- _("{PKMN} RANGER"),
- _("MAGMA LEADER"),
- _("LASS"),
- _("YOUNG COUPLE"),
- _("OLD COUPLE"),
- _("SIS AND BRO"),
- _("SALON MAIDEN"),
- _("DOME ACE"),
- _("PALACE MAVEN"),
- _("ARENA TYCOON"),
- _("FACTORY HEAD"),
- _("PIKE QUEEN"),
- _("PYRAMID KING"),
- _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_PKMN_TRAINER_1] = _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_PKMN_TRAINER_2] = _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_HIKER] = _("HIKER"),
+ [TRAINER_CLASS_TEAM_AQUA] = _("TEAM AQUA"),
+ [TRAINER_CLASS_PKMN_BREEDER] = _("{PKMN} BREEDER"),
+ [TRAINER_CLASS_COOLTRAINER] = _("COOLTRAINER"),
+ [TRAINER_CLASS_BIRD_KEEPER] = _("BIRD KEEPER"),
+ [TRAINER_CLASS_COLLECTOR] = _("COLLECTOR"),
+ [TRAINER_CLASS_SWIMMER_M] = _("SWIMMER♂"),
+ [TRAINER_CLASS_TEAM_MAGMA] = _("TEAM MAGMA"),
+ [TRAINER_CLASS_EXPERT] = _("EXPERT"),
+ [TRAINER_CLASS_AQUA_ADMIN] = _("AQUA ADMIN"),
+ [TRAINER_CLASS_BLACK_BELT] = _("BLACK BELT"),
+ [TRAINER_CLASS_AQUA_LEADER] = _("AQUA LEADER"),
+ [TRAINER_CLASS_HEX_MANIAC] = _("HEX MANIAC"),
+ [TRAINER_CLASS_AROMA_LADY] = _("AROMA LADY"),
+ [TRAINER_CLASS_RUIN_MANIAC] = _("RUIN MANIAC"),
+ [TRAINER_CLASS_INTERVIEWER] = _("INTERVIEWER"),
+ [TRAINER_CLASS_TUBER_F] = _("TUBER"),
+ [TRAINER_CLASS_TUBER_M] = _("TUBER"),
+ [TRAINER_CLASS_LADY] = _("LADY"),
+ [TRAINER_CLASS_BEAUTY] = _("BEAUTY"),
+ [TRAINER_CLASS_RICH_BOY] = _("RICH BOY"),
+ [TRAINER_CLASS_POKEMANIAC] = _("POKéMANIAC"),
+ [TRAINER_CLASS_GUITARIST] = _("GUITARIST"),
+ [TRAINER_CLASS_KINDLER] = _("KINDLER"),
+ [TRAINER_CLASS_CAMPER] = _("CAMPER"),
+ [TRAINER_CLASS_PICNICKER] = _("PICNICKER"),
+ [TRAINER_CLASS_BUG_MANIAC] = _("BUG MANIAC"),
+ [TRAINER_CLASS_PSYCHIC] = _("PSYCHIC"),
+ [TRAINER_CLASS_GENTLEMAN] = _("GENTLEMAN"),
+ [TRAINER_CLASS_ELITE_FOUR] = _("ELITE FOUR"),
+ [TRAINER_CLASS_LEADER] = _("LEADER"),
+ [TRAINER_CLASS_SCHOOL_KID] = _("SCHOOL KID"),
+ [TRAINER_CLASS_SR_AND_JR] = _("SR. AND JR."),
+ [TRAINER_CLASS_WINSTRATE] = _("WINSTRATE"),
+ [TRAINER_CLASS_POKEFAN] = _("POKéFAN"),
+ [TRAINER_CLASS_YOUNGSTER] = _("YOUNGSTER"),
+ [TRAINER_CLASS_CHAMPION] = _("CHAMPION"),
+ [TRAINER_CLASS_FISHERMAN] = _("FISHERMAN"),
+ [TRAINER_CLASS_TRIATHLETE] = _("TRIATHLETE"),
+ [TRAINER_CLASS_DRAGON_TAMER] = _("DRAGON TAMER"),
+ [TRAINER_CLASS_NINJA_BOY] = _("NINJA BOY"),
+ [TRAINER_CLASS_BATTLE_GIRL] = _("BATTLE GIRL"),
+ [TRAINER_CLASS_PARASOL_LADY] = _("PARASOL LADY"),
+ [TRAINER_CLASS_SWIMMER_F] = _("SWIMMER♀"),
+ [TRAINER_CLASS_TWINS] = _("TWINS"),
+ [TRAINER_CLASS_SAILOR] = _("SAILOR"),
+ [TRAINER_CLASS_COOLTRAINER_UNUSED] = _("COOLTRAINER"),
+ [TRAINER_CLASS_MAGMA_ADMIN] = _("MAGMA ADMIN"),
+ [TRAINER_CLASS_PKMN_TRAINER_3] = _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_BUG_CATCHER] = _("BUG CATCHER"),
+ [TRAINER_CLASS_PKMN_RANGER] = _("{PKMN} RANGER"),
+ [TRAINER_CLASS_MAGMA_LEADER] = _("MAGMA LEADER"),
+ [TRAINER_CLASS_LASS] = _("LASS"),
+ [TRAINER_CLASS_YOUNG_COUPLE] = _("YOUNG COUPLE"),
+ [TRAINER_CLASS_OLD_COUPLE] = _("OLD COUPLE"),
+ [TRAINER_CLASS_SIS_AND_BRO] = _("SIS AND BRO"),
+ [TRAINER_CLASS_SALON_MAIDEN] = _("SALON MAIDEN"),
+ [TRAINER_CLASS_DOME_ACE] = _("DOME ACE"),
+ [TRAINER_CLASS_PALACE_MAVEN] = _("PALACE MAVEN"),
+ [TRAINER_CLASS_ARENA_TYCOON] = _("ARENA TYCOON"),
+ [TRAINER_CLASS_FACTORY_HEAD] = _("FACTORY HEAD"),
+ [TRAINER_CLASS_PIKE_QUEEN] = _("PIKE QUEEN"),
+ [TRAINER_CLASS_PYRAMID_KING] = _("PYRAMID KING"),
+ [TRAINER_CLASS_PKMN_TRAINER_4] = _("{PKMN} TRAINER"),
};
-
-#endif
diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h
index 3e74902d8..8d4e27694 100644
--- a/src/data/trainer_graphics/back_pic_tables.h
+++ b/src/data/trainer_graphics/back_pic_tables.h
@@ -10,16 +10,19 @@ const struct MonCoords gTrainerBackPicCoords[] =
{8, 4},
};
+// this table goes functionally unused, since none of these pics are compressed
+// and the place they would get extracted to gets overwritten later anyway
+// the casts are so they'll play nice with the strict struct definition
const struct CompressedSpriteSheet gTrainerBackPicTable[] =
{
- gTrainerBackPic_Brendan, 0x2000, 0,
- gTrainerBackPic_May, 0x2000, 1,
- gTrainerBackPic_Red, 0x2800, 2,
- gTrainerBackPic_Leaf, 0x2800, 3,
- gTrainerBackPic_RubySapphireBrendan, 0x2000, 4,
- gTrainerBackPic_RubySapphireMay, 0x2000, 5,
- gTrainerBackPic_Wally, 0x2000, 6,
- gTrainerBackPic_Steven, 0x2000, 7,
+ (const u32 *)gTrainerBackPic_Brendan, 0x2000, 0,
+ (const u32 *)gTrainerBackPic_May, 0x2000, 1,
+ (const u32 *)gTrainerBackPic_Red, 0x2800, 2,
+ (const u32 *)gTrainerBackPic_Leaf, 0x2800, 3,
+ (const u32 *)gTrainerBackPic_RubySapphireBrendan, 0x2000, 4,
+ (const u32 *)gTrainerBackPic_RubySapphireMay, 0x2000, 5,
+ (const u32 *)gTrainerBackPic_Wally, 0x2000, 6,
+ (const u32 *)gTrainerBackPic_Steven, 0x2000, 7,
};
const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] =
diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h
index b72726506..371e5a300 100644
--- a/src/data/trainer_graphics/front_pic_anims.h
+++ b/src/data/trainer_graphics/front_pic_anims.h
@@ -1,3 +1,5 @@
+#include "constants/trainers.h"
+
const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={
gAnimCmd_General_Frame0,
};
@@ -202,11 +204,11 @@ const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={
gAnimCmd_General_Frame0,
};
-const union AnimCmd *const gTrainerFrontAnims_WinstrateM[] ={
+const union AnimCmd *const gTrainerFrontAnims_PokefanM[] ={
gAnimCmd_General_Frame0,
};
-const union AnimCmd *const gTrainerFrontAnims_WinstrateF[] ={
+const union AnimCmd *const gTrainerFrontAnims_PokefanF[] ={
gAnimCmd_General_Frame0,
};
@@ -372,97 +374,97 @@ const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={
const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] =
{
- gTrainerFrontAnims_Hiker, // TRAINER_PIC_HIKER
- gTrainerFrontAnims_AquaGruntM, // TRAINER_PIC_AQUA_GRUNT_M
- gTrainerFrontAnims_PokemonBreederF, // TRAINER_PIC_POKEMON_BREEDER_F
- gTrainerFrontAnims_CoolTrainerM, // TRAINER_PIC_COOL_TRAINER_M
- gTrainerFrontAnims_BirdKeeper, // TRAINER_PIC_BIRD_KEEPER
- gTrainerFrontAnims_Collector, // TRAINER_PIC_COLLECTOR
- gTrainerFrontAnims_AquaGruntF, // TRAINER_PIC_AQUA_GRUNT_F
- gTrainerFrontAnims_SwimmerM, // TRAINER_PIC_SWIMMER_M
- gTrainerFrontAnims_MagmaGruntM, // TRAINER_PIC_MAGMA_GRUNT_M
- gTrainerFrontAnims_ExpertM, // TRAINER_PIC_EXPERT_M
- gTrainerFrontAnims_AquaAdminM, // TRAINER_PIC_AQUA_ADMIN_M
- gTrainerFrontAnims_BlackBelt, // TRAINER_PIC_BLACK_BELT
- gTrainerFrontAnims_AquaAdminF, // TRAINER_PIC_AQUA_ADMIN_F
- gTrainerFrontAnims_AquaLeaderArchie, // TRAINER_PIC_AQUA_LEADER_ARCHIE
- gTrainerFrontAnims_HexManiac, // TRAINER_PIC_HEX_MANIAC
- gTrainerFrontAnims_AromaLady, // TRAINER_PIC_AROMA_LADY
- gTrainerFrontAnims_RuinManiac, // TRAINER_PIC_RUIN_MANIAC
- gTrainerFrontAnims_Interviewer, // TRAINER_PIC_INTERVIEWER
- gTrainerFrontAnims_TuberF, // TRAINER_PIC_TUBER_F
- gTrainerFrontAnims_TuberM, // TRAINER_PIC_TUBER_M
- gTrainerFrontAnims_CoolTrainerF, // TRAINER_PIC_COOL_TRAINER_F
- gTrainerFrontAnims_Lady, // TRAINER_PIC_LADY
- gTrainerFrontAnims_Beauty, // TRAINER_PIC_BEAUTY
- gTrainerFrontAnims_RichBoy, // TRAINER_PIC_RICH_BOY
- gTrainerFrontAnims_ExpertF, // TRAINER_PIC_EXPERT_F
- gTrainerFrontAnims_Pokemaniac, // TRAINER_PIC_POKEMANIAC
- gTrainerFrontAnims_MagmaGruntF, // TRAINER_PIC_MAGMA_GRUNT_F
- gTrainerFrontAnims_Guitarist, // TRAINER_PIC_GUITARIST
- gTrainerFrontAnims_Kindler, // TRAINER_PIC_KINDLER
- gTrainerFrontAnims_Camper, // TRAINER_PIC_CAMPER
- gTrainerFrontAnims_Picnicker, // TRAINER_PIC_PICNICKER
- gTrainerFrontAnims_BugManiac, // TRAINER_PIC_BUG_MANIAC
- gTrainerFrontAnims_PokemonBreederM, // TRAINER_PIC_POKEMON_BREEDER_M
- gTrainerFrontAnims_PsychicM, // TRAINER_PIC_PSYCHIC_M
- gTrainerFrontAnims_PsychicF, // TRAINER_PIC_PSYCHIC_F
- gTrainerFrontAnims_Gentleman, // TRAINER_PIC_GENTLEMAN
- gTrainerFrontAnims_EliteFourSidney, // TRAINER_PIC_ELITE_FOUR_SIDNEY
- gTrainerFrontAnims_EliteFourPhoebe, // TRAINER_PIC_ELITE_FOUR_PHOEBE
- gTrainerFrontAnims_EliteFourGlacia, // TRAINER_PIC_ELITE_FOUR_GLACIA
- gTrainerFrontAnims_EliteFourDrake, // TRAINER_PIC_ELITE_FOUR_DRAKE
- gTrainerFrontAnims_LeaderRoxanne, // TRAINER_PIC_LEADER_ROXANNE
- gTrainerFrontAnims_LeaderBrawly, // TRAINER_PIC_LEADER_BRAWLY
- gTrainerFrontAnims_LeaderWattson, // TRAINER_PIC_LEADER_WATTSON
- gTrainerFrontAnims_LeaderFlannery, // TRAINER_PIC_LEADER_FLANNERY
- gTrainerFrontAnims_LeaderNorman, // TRAINER_PIC_LEADER_NORMAN
- gTrainerFrontAnims_LeaderWinona, // TRAINER_PIC_LEADER_WINONA
- gTrainerFrontAnims_LeaderTateAndLiza, // TRAINER_PIC_LEADER_TATE_AND_LIZA
- gTrainerFrontAnims_LeaderJuan, // TRAINER_PIC_LEADER_JUAN
- gTrainerFrontAnims_SchoolKidM, // TRAINER_PIC_SCHOOL_KID_M
- gTrainerFrontAnims_SchoolKidF, // TRAINER_PIC_SCHOOL_KID_F
- gTrainerFrontAnims_SrAndJr, // TRAINER_PIC_SR_AND_JR
- gTrainerFrontAnims_WinstrateM, // TRAINER_PIC_WINSTRATE_M
- gTrainerFrontAnims_WinstrateF, // TRAINER_PIC_WINSTRATE_F
- gTrainerFrontAnims_Youngster, // TRAINER_PIC_YOUNGSTER
- gTrainerFrontAnims_ChampionWallace, // TRAINER_PIC_CHAMPION_WALLACE
- gTrainerFrontAnims_Fisherman, // TRAINER_PIC_FISHERMAN
- gTrainerFrontAnims_CyclingTriathleteM, // TRAINER_PIC_CYCLING_TRIATHLETE_M
- gTrainerFrontAnims_CyclingTriathleteF, // TRAINER_PIC_CYCLING_TRIATHLETE_F
- gTrainerFrontAnims_RunningTriathleteM, // TRAINER_PIC_RUNNING_TRIATHLETE_M
- gTrainerFrontAnims_RunningTriathleteF, // TRAINER_PIC_RUNNING_TRIATHLETE_F
- gTrainerFrontAnims_SwimmingTriathleteM, // TRAINER_PIC_SWIMMING_TRIATHLETE_M
- gTrainerFrontAnims_SwimmingTriathleteF, // TRAINER_PIC_SWIMMING_TRIATHLETE_F
- gTrainerFrontAnims_DragonTamer, // TRAINER_PIC_DRAGON_TAMER
- gTrainerFrontAnims_NinjaBoy, // TRAINER_PIC_NINJA_BOY
- gTrainerFrontAnims_BattleGirl, // TRAINER_PIC_BATTLE_GIRL
- gTrainerFrontAnims_ParasolLady, // TRAINER_PIC_PARASOL_LADY
- gTrainerFrontAnims_SwimmerF, // TRAINER_PIC_SWIMMER_F
- gTrainerFrontAnims_Twins, // TRAINER_PIC_TWINS
- gTrainerFrontAnims_Sailor, // TRAINER_PIC_SAILOR
- gTrainerFrontAnims_MagmaAdmin, // TRAINER_PIC_MAGMA_ADMIN
- gTrainerFrontAnims_Wally, // TRAINER_PIC_WALLY
- gTrainerFrontAnims_Brendan, // TRAINER_PIC_BRENDAN
- gTrainerFrontAnims_May, // TRAINER_PIC_MAY
- gTrainerFrontAnims_BugCatcher, // TRAINER_PIC_BUG_CATCHER
- gTrainerFrontAnims_PokemonRangerM, // TRAINER_PIC_POKEMON_RANGER_M
- gTrainerFrontAnims_PokemonRangerF, // TRAINER_PIC_POKEMON_RANGER_F
- gTrainerFrontAnims_MagmaLeaderMaxie, // TRAINER_PIC_MAGMA_LEADER_MAXIE
- gTrainerFrontAnims_Lass, // TRAINER_PIC_LASS
- gTrainerFrontAnims_YoungCouple, // TRAINER_PIC_YOUNG_COUPLE
- gTrainerFrontAnims_OldCouple, // TRAINER_PIC_OLD_COUPLE
- gTrainerFrontAnims_SisAndBro, // TRAINER_PIC_SIS_AND_BRO
- gTrainerFrontAnims_Steven, // TRAINER_PIC_STEVEN
- gTrainerFrontAnims_SalonMaidenAnabel, // TRAINER_PIC_SALON_MAIDEN_ANABEL
- gTrainerFrontAnims_DomeAceTucker, // TRAINER_PIC_DOME_ACE_TUCKER
- gTrainerFrontAnims_PalaceMavenSpenser, // TRAINER_PIC_PALACE_MAVEN_SPENSER
- gTrainerFrontAnims_ArenaTycoonGreta, // TRAINER_PIC_ARENA_TYCOON_GRETA
- gTrainerFrontAnims_FactoryHeadNoland, // TRAINER_PIC_FACTORY_HEAD_NOLAND
- gTrainerFrontAnims_PikeQueenLucy, // TRAINER_PIC_PIKE_QUEEN_LUCY
- gTrainerFrontAnims_PyramidKingBrandon, // TRAINER_PIC_PYRAMID_KING_BRANDON
- gTrainerFrontAnims_Red, // TRAINER_PIC_RED
- gTrainerFrontAnims_Leaf, // TRAINER_PIC_LEAF
- gTrainerFrontAnims_RubySapphireBrendan, // TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN
- gTrainerFrontAnims_RubySapphireMay, // TRAINER_PIC_RUBY_SAPPHIRE_MAY
+ [TRAINER_PIC_HIKER] = gTrainerFrontAnims_Hiker,
+ [TRAINER_PIC_AQUA_GRUNT_M] = gTrainerFrontAnims_AquaGruntM,
+ [TRAINER_PIC_POKEMON_BREEDER_F] = gTrainerFrontAnims_PokemonBreederF,
+ [TRAINER_PIC_COOLTRAINER_M] = gTrainerFrontAnims_CoolTrainerM,
+ [TRAINER_PIC_BIRD_KEEPER] = gTrainerFrontAnims_BirdKeeper,
+ [TRAINER_PIC_COLLECTOR] = gTrainerFrontAnims_Collector,
+ [TRAINER_PIC_AQUA_GRUNT_F] = gTrainerFrontAnims_AquaGruntF,
+ [TRAINER_PIC_SWIMMER_M] = gTrainerFrontAnims_SwimmerM,
+ [TRAINER_PIC_MAGMA_GRUNT_M] = gTrainerFrontAnims_MagmaGruntM,
+ [TRAINER_PIC_EXPERT_M] = gTrainerFrontAnims_ExpertM,
+ [TRAINER_PIC_AQUA_ADMIN_M] = gTrainerFrontAnims_AquaAdminM,
+ [TRAINER_PIC_BLACK_BELT] = gTrainerFrontAnims_BlackBelt,
+ [TRAINER_PIC_AQUA_ADMIN_F] = gTrainerFrontAnims_AquaAdminF,
+ [TRAINER_PIC_AQUA_LEADER_ARCHIE] = gTrainerFrontAnims_AquaLeaderArchie,
+ [TRAINER_PIC_HEX_MANIAC] = gTrainerFrontAnims_HexManiac,
+ [TRAINER_PIC_AROMA_LADY] = gTrainerFrontAnims_AromaLady,
+ [TRAINER_PIC_RUIN_MANIAC] = gTrainerFrontAnims_RuinManiac,
+ [TRAINER_PIC_INTERVIEWER] = gTrainerFrontAnims_Interviewer,
+ [TRAINER_PIC_TUBER_F] = gTrainerFrontAnims_TuberF,
+ [TRAINER_PIC_TUBER_M] = gTrainerFrontAnims_TuberM,
+ [TRAINER_PIC_COOLTRAINER_F] = gTrainerFrontAnims_CoolTrainerF,
+ [TRAINER_PIC_LADY] = gTrainerFrontAnims_Lady,
+ [TRAINER_PIC_BEAUTY] = gTrainerFrontAnims_Beauty,
+ [TRAINER_PIC_RICH_BOY] = gTrainerFrontAnims_RichBoy,
+ [TRAINER_PIC_EXPERT_F] = gTrainerFrontAnims_ExpertF,
+ [TRAINER_PIC_POKEMANIAC] = gTrainerFrontAnims_Pokemaniac,
+ [TRAINER_PIC_MAGMA_GRUNT_F] = gTrainerFrontAnims_MagmaGruntF,
+ [TRAINER_PIC_GUITARIST] = gTrainerFrontAnims_Guitarist,
+ [TRAINER_PIC_KINDLER] = gTrainerFrontAnims_Kindler,
+ [TRAINER_PIC_CAMPER] = gTrainerFrontAnims_Camper,
+ [TRAINER_PIC_PICNICKER] = gTrainerFrontAnims_Picnicker,
+ [TRAINER_PIC_BUG_MANIAC] = gTrainerFrontAnims_BugManiac,
+ [TRAINER_PIC_POKEMON_BREEDER_M] = gTrainerFrontAnims_PokemonBreederM,
+ [TRAINER_PIC_PSYCHIC_M] = gTrainerFrontAnims_PsychicM,
+ [TRAINER_PIC_PSYCHIC_F] = gTrainerFrontAnims_PsychicF,
+ [TRAINER_PIC_GENTLEMAN] = gTrainerFrontAnims_Gentleman,
+ [TRAINER_PIC_ELITE_FOUR_SIDNEY] = gTrainerFrontAnims_EliteFourSidney,
+ [TRAINER_PIC_ELITE_FOUR_PHOEBE] = gTrainerFrontAnims_EliteFourPhoebe,
+ [TRAINER_PIC_ELITE_FOUR_GLACIA] = gTrainerFrontAnims_EliteFourGlacia,
+ [TRAINER_PIC_ELITE_FOUR_DRAKE] = gTrainerFrontAnims_EliteFourDrake,
+ [TRAINER_PIC_LEADER_ROXANNE] = gTrainerFrontAnims_LeaderRoxanne,
+ [TRAINER_PIC_LEADER_BRAWLY] = gTrainerFrontAnims_LeaderBrawly,
+ [TRAINER_PIC_LEADER_WATTSON] = gTrainerFrontAnims_LeaderWattson,
+ [TRAINER_PIC_LEADER_FLANNERY] = gTrainerFrontAnims_LeaderFlannery,
+ [TRAINER_PIC_LEADER_NORMAN] = gTrainerFrontAnims_LeaderNorman,
+ [TRAINER_PIC_LEADER_WINONA] = gTrainerFrontAnims_LeaderWinona,
+ [TRAINER_PIC_LEADER_TATE_AND_LIZA] = gTrainerFrontAnims_LeaderTateAndLiza,
+ [TRAINER_PIC_LEADER_JUAN] = gTrainerFrontAnims_LeaderJuan,
+ [TRAINER_PIC_SCHOOL_KID_M] = gTrainerFrontAnims_SchoolKidM,
+ [TRAINER_PIC_SCHOOL_KID_F] = gTrainerFrontAnims_SchoolKidF,
+ [TRAINER_PIC_SR_AND_JR] = gTrainerFrontAnims_SrAndJr,
+ [TRAINER_PIC_POKEFAN_M] = gTrainerFrontAnims_PokefanM,
+ [TRAINER_PIC_POKEFAN_F] = gTrainerFrontAnims_PokefanF,
+ [TRAINER_PIC_YOUNGSTER] = gTrainerFrontAnims_Youngster,
+ [TRAINER_PIC_CHAMPION_WALLACE] = gTrainerFrontAnims_ChampionWallace,
+ [TRAINER_PIC_FISHERMAN] = gTrainerFrontAnims_Fisherman,
+ [TRAINER_PIC_CYCLING_TRIATHLETE_M] = gTrainerFrontAnims_CyclingTriathleteM,
+ [TRAINER_PIC_CYCLING_TRIATHLETE_F] = gTrainerFrontAnims_CyclingTriathleteF,
+ [TRAINER_PIC_RUNNING_TRIATHLETE_M] = gTrainerFrontAnims_RunningTriathleteM,
+ [TRAINER_PIC_RUNNING_TRIATHLETE_F] = gTrainerFrontAnims_RunningTriathleteF,
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = gTrainerFrontAnims_SwimmingTriathleteM,
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = gTrainerFrontAnims_SwimmingTriathleteF,
+ [TRAINER_PIC_DRAGON_TAMER] = gTrainerFrontAnims_DragonTamer,
+ [TRAINER_PIC_NINJA_BOY] = gTrainerFrontAnims_NinjaBoy,
+ [TRAINER_PIC_BATTLE_GIRL] = gTrainerFrontAnims_BattleGirl,
+ [TRAINER_PIC_PARASOL_LADY] = gTrainerFrontAnims_ParasolLady,
+ [TRAINER_PIC_SWIMMER_F] = gTrainerFrontAnims_SwimmerF,
+ [TRAINER_PIC_TWINS] = gTrainerFrontAnims_Twins,
+ [TRAINER_PIC_SAILOR] = gTrainerFrontAnims_Sailor,
+ [TRAINER_PIC_MAGMA_ADMIN] = gTrainerFrontAnims_MagmaAdmin,
+ [TRAINER_PIC_WALLY] = gTrainerFrontAnims_Wally,
+ [TRAINER_PIC_BRENDAN] = gTrainerFrontAnims_Brendan,
+ [TRAINER_PIC_MAY] = gTrainerFrontAnims_May,
+ [TRAINER_PIC_BUG_CATCHER] = gTrainerFrontAnims_BugCatcher,
+ [TRAINER_PIC_POKEMON_RANGER_M] = gTrainerFrontAnims_PokemonRangerM,
+ [TRAINER_PIC_POKEMON_RANGER_F] = gTrainerFrontAnims_PokemonRangerF,
+ [TRAINER_PIC_MAGMA_LEADER_MAXIE] = gTrainerFrontAnims_MagmaLeaderMaxie,
+ [TRAINER_PIC_LASS] = gTrainerFrontAnims_Lass,
+ [TRAINER_PIC_YOUNG_COUPLE] = gTrainerFrontAnims_YoungCouple,
+ [TRAINER_PIC_OLD_COUPLE] = gTrainerFrontAnims_OldCouple,
+ [TRAINER_PIC_SIS_AND_BRO] = gTrainerFrontAnims_SisAndBro,
+ [TRAINER_PIC_STEVEN] = gTrainerFrontAnims_Steven,
+ [TRAINER_PIC_SALON_MAIDEN_ANABEL] = gTrainerFrontAnims_SalonMaidenAnabel,
+ [TRAINER_PIC_DOME_ACE_TUCKER] = gTrainerFrontAnims_DomeAceTucker,
+ [TRAINER_PIC_PALACE_MAVEN_SPENSER] = gTrainerFrontAnims_PalaceMavenSpenser,
+ [TRAINER_PIC_ARENA_TYCOON_GRETA] = gTrainerFrontAnims_ArenaTycoonGreta,
+ [TRAINER_PIC_FACTORY_HEAD_NOLAND] = gTrainerFrontAnims_FactoryHeadNoland,
+ [TRAINER_PIC_PIKE_QUEEN_LUCY] = gTrainerFrontAnims_PikeQueenLucy,
+ [TRAINER_PIC_PYRAMID_KING_BRANDON] = gTrainerFrontAnims_PyramidKingBrandon,
+ [TRAINER_PIC_RED] = gTrainerFrontAnims_Red,
+ [TRAINER_PIC_LEAF] = gTrainerFrontAnims_Leaf,
+ [TRAINER_PIC_RS_BRENDAN] = gTrainerFrontAnims_RubySapphireBrendan,
+ [TRAINER_PIC_RS_MAY] = gTrainerFrontAnims_RubySapphireMay,
};
diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h
index db80c9d4f..d8f8c2492 100644
--- a/src/data/trainer_graphics/front_pic_tables.h
+++ b/src/data/trainer_graphics/front_pic_tables.h
@@ -148,8 +148,8 @@ const struct CompressedSpriteSheet gTrainerFrontPicTable[] =
gTrainerFrontPic_SchoolKidM, 0x800, 48,
gTrainerFrontPic_SchoolKidF, 0x800, 49,
gTrainerFrontPic_SrAndJr, 0x1000, 50,
- gTrainerFrontPic_WinstrateM, 0x1000, 51,
- gTrainerFrontPic_WinstrateF, 0x800, 52,
+ gTrainerFrontPic_PokefanM, 0x1000, 51,
+ gTrainerFrontPic_PokefanF, 0x800, 52,
gTrainerFrontPic_Youngster, 0x800, 53,
gTrainerFrontPic_ChampionWallace, 0x1000, 54,
gTrainerFrontPic_Fisherman, 0x800, 55,
@@ -245,8 +245,8 @@ const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] =
gTrainerPalette_SchoolKidM, 48,
gTrainerPalette_SchoolKidF, 49,
gTrainerPalette_SrAndJr, 50,
- gTrainerPalette_WinstrateM, 51,
- gTrainerPalette_WinstrateF, 52,
+ gTrainerPalette_PokefanM, 51,
+ gTrainerPalette_PokefanF, 52,
gTrainerPalette_Youngster, 53,
gTrainerPalette_ChampionWallace, 54,
gTrainerPalette_Fisherman, 55,
diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h
index 4993186d2..20a6ec75d 100644
--- a/src/data/trainer_parties.h
+++ b/src/data/trainer_parties.h
@@ -12434,4 +12434,3 @@ const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = {
.species = SPECIES_KYOGRE,
}
};
-
diff --git a/src/data/trainers.h b/src/data/trainers.h
index 214a72df1..7ec297eb3 100644
--- a/src/data/trainers.h
+++ b/src/data/trainers.h
@@ -156,9 +156,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MARCEL] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("MARCEL"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -534,9 +534,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_FELIX] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("FELIX"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -800,7 +800,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -814,7 +814,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_AUSTINA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("AUSTINA"),
@@ -828,7 +828,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_GWEN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("GWEN"),
@@ -842,7 +842,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -856,7 +856,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -870,7 +870,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -884,7 +884,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -898,7 +898,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_1] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -912,7 +912,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_SIMON] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("SIMON"),
@@ -926,7 +926,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_CHARLIE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("CHARLIE"),
@@ -940,7 +940,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_2] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -954,7 +954,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_3] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -968,7 +968,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_4] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -982,7 +982,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_5] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -996,9 +996,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_RANDALL] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("RANDALL"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1010,9 +1010,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_PARKER] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("PARKER"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1024,9 +1024,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_GEORGE] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("GEORGE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1038,9 +1038,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BERKE] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("BERKE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1052,9 +1052,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BRAXTON] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("BRAXTON"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1066,9 +1066,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_VINCENT] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("VINCENT"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1080,9 +1080,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_LEROY] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("LEROY"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1094,9 +1094,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1108,9 +1108,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_EDGAR] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("EDGAR"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1122,9 +1122,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ALBERT] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("ALBERT"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1136,9 +1136,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_SAMUEL] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("SAMUEL"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1150,9 +1150,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_VITO] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("VITO"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1164,9 +1164,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_OWEN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("OWEN"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1178,9 +1178,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1192,9 +1192,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1206,9 +1206,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1220,9 +1220,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1234,9 +1234,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WARREN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WARREN"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1248,9 +1248,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MARY] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("MARY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1262,9 +1262,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ALEXIA] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("ALEXIA"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1276,9 +1276,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JODY] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JODY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1290,9 +1290,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WENDY] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("WENDY"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1304,9 +1304,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_KEIRA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("KEIRA"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1318,9 +1318,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1332,9 +1332,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JENNIFER] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JENNIFER"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1346,9 +1346,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_HOPE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("HOPE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1360,9 +1360,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_SHANNON] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("SHANNON"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1374,9 +1374,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MICHELLE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("MICHELLE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1388,9 +1388,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CAROLINE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CAROLINE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1402,9 +1402,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JULIE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JULIE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1416,9 +1416,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1430,9 +1430,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1444,9 +1444,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1458,9 +1458,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -4092,7 +4092,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_WINSTRATE,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("VICTOR"),
.items = {},
.doubleBattle = FALSE,
@@ -4106,7 +4106,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4120,7 +4120,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("COLTON"),
.items = {},
.doubleBattle = FALSE,
@@ -4134,7 +4134,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4148,7 +4148,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4162,7 +4162,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4176,7 +4176,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4190,7 +4190,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_WINSTRATE,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("VICTORIA"),
.items = {},
.doubleBattle = FALSE,
@@ -4204,7 +4204,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("VANESSA"),
.items = {},
.doubleBattle = FALSE,
@@ -4218,7 +4218,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("BETHANY"),
.items = {},
.doubleBattle = FALSE,
@@ -4232,7 +4232,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4246,7 +4246,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4260,7 +4260,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4274,7 +4274,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4288,7 +4288,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4538,9 +4538,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_QUINCY] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("QUINCY"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -4552,9 +4552,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_KATELYNN] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("KATELYNN"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -5840,9 +5840,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_DIANNE] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("DIANNE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -5854,7 +5854,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_JANI] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("JANI"),
@@ -7032,7 +7032,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ANNIKA"),
.items = {},
.doubleBattle = FALSE,
@@ -7044,9 +7044,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JAZMYN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_2,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER_UNUSED,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JAZMYN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -7114,9 +7114,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MARLEY] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("MARLEY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -7562,9 +7562,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MITCHELL] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("MITCHELL"),
.items = {},
.doubleBattle = FALSE,
@@ -7646,9 +7646,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_HALLE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("HALLE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -8080,9 +8080,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ATHENA] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("ATHENA"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -8374,9 +8374,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JONATHAN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("JONATHAN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9074,9 +9074,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_GERALD] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("GERALD"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9382,9 +9382,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ALEXA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("ALEXA"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9396,9 +9396,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_RUBEN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("RUBEN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9760,7 +9760,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_HAILEY] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("HAILEY"),
@@ -9774,7 +9774,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_CHANDLER] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("CHANDLER"),
@@ -9790,7 +9790,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("KALEB"),
.items = {},
.doubleBattle = FALSE,
@@ -10264,9 +10264,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_DARCY] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("DARCY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -10376,9 +10376,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CAROLINA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CAROLINA"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -10670,9 +10670,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_LEONEL] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("LEONEL"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -10740,9 +10740,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11594,9 +11594,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11608,9 +11608,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11622,9 +11622,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11636,9 +11636,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11946,7 +11946,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_4,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
- .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN,
+ .trainerPic = TRAINER_PIC_RS_BRENDAN,
.trainerName = _("BRENDAN"),
.items = {},
.doubleBattle = FALSE,
@@ -11960,7 +11960,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_4,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE,
- .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_MAY,
+ .trainerPic = TRAINER_PIC_RS_MAY,
.trainerName = _("MAY"),
.items = {},
.doubleBattle = FALSE,
diff --git a/src/data2b.c b/src/data2b.c
index 50cdee323..022903375 100644
--- a/src/data2b.c
+++ b/src/data2b.c
@@ -2,10 +2,11 @@
#include "data2.h"
#include "graphics.h"
#include "malloc.h"
+#include "constants/species.h"
const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal");
-const u8 gUnknown_082FF1F8[] = INCBIN_U8("graphics/link/minigame_digits.4bpp.lz");
-const u8 gUnknown_082FF2B8[] = INCBIN_U8("graphics/link/minigame_digits2.4bpp.lz");
+const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz");
+const u32 gUnknown_082FF2B8[] = INCBIN_U32("graphics/link/minigame_digits2.4bpp.lz");
const struct SpriteFrameImage gUnknown_082FF3A8[] =
{
diff --git a/src/daycare.c b/src/daycare.c
index c80a8b743..2356b36f5 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -63,7 +63,7 @@ EWRAM_DATA static u16 sHatchedEggMotherMoves[4] = {0};
static const struct WindowTemplate sDaycareLevelMenuWindowTemplate =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 15,
.tilemapTop = 1,
.width = 14,
@@ -1206,17 +1206,17 @@ static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest)
static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
- printer.current_text_offset = text;
+ printer.currentChar = text;
printer.windowId = windowId;
printer.fontId = 1;
printer.x = x;
printer.y = y;
printer.currentX = x;
printer.currentY = y;
- printer.fontColor_l = 0;
- gTextFlags.flag_1 = 0;
+ printer.unk = 0;
+ gTextFlags.useAlternateDownArrow = 0;
printer.letterSpacing = 0;
printer.lineSpacing = 1;
printer.fgColor = 2;
diff --git a/src/decompress.c b/src/decompress.c
index 83a9db0b6..da1df436b 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -12,12 +12,12 @@ extern const struct CompressedSpriteSheet gMonBackPicTable[];
static void DuplicateDeoxysTiles(void *pointer, s32 species);
-void LZDecompressWram(const void *src, void *dest)
+void LZDecompressWram(const u32 *src, void *dest)
{
LZ77UnCompWram(src, dest);
}
-void LZDecompressVram(const void *src, void *dest)
+void LZDecompressVram(const u32 *src, void *dest)
{
LZ77UnCompVram(src, dest);
}
@@ -459,9 +459,10 @@ _08034964:\n\
.syntax divided");
}
-u32 GetDecompressedDataSize(const u8 *ptr)
+u32 GetDecompressedDataSize(const u32 *ptr)
{
- return (ptr[3] << 16) | (ptr[2] << 8) | (ptr[1]);
+ const u8 *ptr8 = (const u8 *)ptr;
+ return (ptr8[3] << 16) | (ptr8[2] << 8) | (ptr8[1]);
}
bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src)
diff --git a/src/decoration.c b/src/decoration.c
index 796cc794a..eb85b4f5c 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -145,7 +145,7 @@ void sub_8129020(u8 taskId);
void sub_81292D0(struct Sprite *sprite);
void sub_81292E8(struct Sprite *sprite);
u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor);
-const u8 *GetDecorationIconPicOrPalette(u16 decor, u8 mode);
+const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode);
bool8 sub_81299AC(u8 taskId);
void sub_8129ABC(u8 taskId);
void sub_8129B34(u8 taskId);
@@ -217,7 +217,7 @@ void (*const SecretBasePC_SelectedDecorActions[][2])(u8 taskId) = {
const struct WindowTemplate gUnknown_085A6B90[4] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 18,
@@ -226,7 +226,7 @@ const struct WindowTemplate gUnknown_085A6B90[4] =
.baseBlock = 0x0001
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 13,
@@ -235,7 +235,7 @@ const struct WindowTemplate gUnknown_085A6B90[4] =
.baseBlock = 0x0091
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 17,
.tilemapTop = 1,
.width = 12,
@@ -244,7 +244,7 @@ const struct WindowTemplate gUnknown_085A6B90[4] =
.baseBlock = 0x017b
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 13,
.width = 13,
@@ -520,7 +520,7 @@ void sub_8126B80(u8 taskId)
if (!gPaletteFade.active)
{
menuPos = GetMenuCursorPos();
- switch (ProcessMenuInput())
+ switch (Menu_ProcessInput())
{
default:
PlaySE(SE_SELECT);
@@ -710,7 +710,7 @@ void sub_8127088(u8 taskId)
if (!gPaletteFade.active)
{
- input = ProcessMenuInput();
+ input = Menu_ProcessInput();
switch (input)
{
case -1:
@@ -1347,12 +1347,12 @@ void sub_8128060(u8 taskId)
void ConfigureCameraObjectForPlacingDecoration(struct PlaceDecorationGraphicsDataBuffer *data, u8 decor)
{
- sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.spriteId].data[0];
- gUnknown_03005DD0.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor);
- gSprites[gUnknown_03005DD0.spriteId].oam.priority = 1;
- gSprites[gUnknown_03005DD0.spriteId].callback = sub_81292D0;
- gSprites[gUnknown_03005DD0.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x;
- gSprites[gUnknown_03005DD0.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y;
+ sDecor_CameraSpriteObjectIdx1 = gSprites[gFieldCamera.spriteId].data[0];
+ gFieldCamera.spriteId = gpu_pal_decompress_alloc_tag_and_upload(data, decor);
+ gSprites[gFieldCamera.spriteId].oam.priority = 1;
+ gSprites[gFieldCamera.spriteId].callback = sub_81292D0;
+ gSprites[gFieldCamera.spriteId].pos1.x = gUnknown_085A7250[data->decoration->shape].x;
+ gSprites[gFieldCamera.spriteId].pos1.y = gUnknown_085A7250[data->decoration->shape].y;
}
void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphicsDataBuffer *data)
@@ -1374,7 +1374,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct PlaceDecorationGraphic
}
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
- sDecor_CameraSpriteObjectIdx1 = gUnknown_03005DD0.spriteId;
+ sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId;
}
void sub_812826C(u8 taskId)
@@ -1628,7 +1628,7 @@ void sub_8128950(u8 taskId)
void sub_81289D0(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
sub_8121F68(taskId, &gUnknown_085A72C4);
}
@@ -1693,7 +1693,7 @@ void sub_8128AAC(u8 taskId)
void sub_8128B80(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
sub_8121F68(taskId, &gUnknown_085A72CC);
}
@@ -2076,7 +2076,7 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor)
return spriteId;
}
-const u8 *GetDecorationIconPicOrPalette(u16 decor, u8 mode)
+const u32 *GetDecorationIconPicOrPalette(u16 decor, u8 mode)
{
if (decor > 120)
{
@@ -2293,9 +2293,9 @@ bool8 sub_81299AC(u8 taskId)
void SetUpPuttingAwayDecorationPlayerAvatar(void)
{
GetPlayerFacingDirection();
- sDecor_CameraSpriteObjectIdx1 = gSprites[gUnknown_03005DD0.spriteId].data[0];
+ sDecor_CameraSpriteObjectIdx1 = gSprites[gFieldCamera.spriteId].data[0];
sub_812A39C();
- gUnknown_03005DD0.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
+ gFieldCamera.spriteId = CreateSprite(&gUnknown_085A7404, 0x78, 0x50, 0);
if (gSaveBlock2Ptr->playerGender == MALE)
{
sDecor_CameraSpriteObjectIdx2 = AddPseudoEventObject(0xC1, SpriteCallbackDummy, 0x88, 0x48, 0);
@@ -2306,7 +2306,7 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void)
}
gSprites[sDecor_CameraSpriteObjectIdx2].oam.priority = 1;
DestroySprite(&gSprites[sDecor_CameraSpriteObjectIdx1]);
- sDecor_CameraSpriteObjectIdx1 = gUnknown_03005DD0.spriteId;
+ sDecor_CameraSpriteObjectIdx1 = gFieldCamera.spriteId;
gSprites[sDecor_CameraSpriteObjectIdx1].oam.priority = 1;
}
@@ -2588,7 +2588,7 @@ void sub_812A0E8(u8 taskId)
void sub_812A1A0(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
sub_8121F68(taskId, &gUnknown_085A7348);
}
@@ -2601,7 +2601,7 @@ void sub_812A1C0(u8 taskId)
void sub_812A1F0(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
sub_8121F68(taskId, &gUnknown_085A7350);
}
@@ -2725,7 +2725,7 @@ void sub_812A3D4(u8 taskId)
void sub_812A458(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
sub_8121F68(taskId, &gUnknown_085A741C);
}
diff --git a/src/dewford_trend.c b/src/dewford_trend.c
index 44b42c123..3050ebecf 100644
--- a/src/dewford_trend.c
+++ b/src/dewford_trend.c
@@ -1,13 +1,14 @@
#include "global.h"
#include "dewford_trend.h"
#include "easy_chat.h"
-#include "constants/easy_chat.h"
#include "event_data.h"
#include "link.h"
#include "malloc.h"
#include "random.h"
#include "text.h"
#include "tv.h"
+#include "string_util.h"
+#include "constants/easy_chat.h"
// static functions
static void sub_8122804(struct EasyChatPair *s, u16 b, u8 c);
diff --git a/src/diploma.c b/src/diploma.c
index 8e0b48ed3..f8556eb7d 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -11,19 +11,14 @@
#include "window.h"
#include "string_util.h"
#include "text.h"
+#include "overworld.h"
+#include "menu.h"
-extern void reset_temp_tile_data_buffers(void);
-extern int decompress_and_copy_tile_data_to_vram(u8 bg_id, void *src, int size, u16 offset, u8 mode);
-extern bool8 free_temp_tile_data_buffers_if_possible(void);
-extern void sub_80861E8(void); // rom4
extern bool16 sub_80C0944(void);
-extern void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 *color, s8 speed, u8 *str);
-extern u16 gUnknown_0860F074[];
-
-extern u8 gText_DexNational[];
-extern u8 gText_DexHoenn[];
-extern u8 gText_PokedexDiploma[];
+extern const u8 gText_DexNational[];
+extern const u8 gText_DexHoenn[];
+extern const u8 gText_PokedexDiploma[];
static void MainCB2(void);
static void Task_DiplomaFadeIn(u8);
@@ -34,7 +29,7 @@ static void InitDiplomaBg(void);
static void InitDiplomaWindow(void);
static void PrintDiplomaText(u8 *, u8, u8);
-EWRAM_DATA static void **sDiplomaTilemapPtr = {NULL};
+EWRAM_DATA static u8 *sDiplomaTilemapPtr = NULL;
static void VBlankCB(void)
{
@@ -49,8 +44,8 @@ static const u16 sDiplomaPalettes[][16] =
INCBIN_U16("graphics/misc/diploma_hoenn.gbapal"),
};
-static const u8 sDiplomaTilemap[] = INCBIN_U8("graphics/misc/diploma_map.bin.lz");
-static const u8 sDiplomaTiles[] = INCBIN_U8("graphics/misc/diploma.4bpp.lz");
+static const u32 sDiplomaTilemap[] = INCBIN_U32("graphics/misc/diploma_map.bin.lz");
+static const u32 sDiplomaTiles[] = INCBIN_U32("graphics/misc/diploma.4bpp.lz");
void CB2_ShowDiploma(void)
{
@@ -85,7 +80,7 @@ void CB2_ShowDiploma(void)
decompress_and_copy_tile_data_to_vram(1, &sDiplomaTiles, 0, 0, 0);
while (free_temp_tile_data_buffers_if_possible())
;
- LZDecompressWram(&sDiplomaTilemap, sDiplomaTilemapPtr);
+ LZDecompressWram(sDiplomaTilemap, sDiplomaTilemapPtr);
CopyBgTilemapBufferToVram(1);
DisplayDiplomaText();
BlendPalettes(-1, 16, 0);
@@ -186,7 +181,7 @@ static void InitDiplomaBg(void)
static const struct WindowTemplate sDiplomaWinTemplates[2] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 5,
.tilemapTop = 2,
.width = 20,
diff --git a/src/dragon.c b/src/dragon.c
new file mode 100644
index 000000000..49f1b57c8
--- /dev/null
+++ b/src/dragon.c
@@ -0,0 +1,437 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "scanline_effect.h"
+#include "task.h"
+#include "trig.h"
+#include "constants/rgb.h"
+
+extern u16 gUnknown_0203A100[];
+
+void sub_8113064(struct Sprite *);
+void sub_81131B4(struct Sprite *);
+void sub_8113224(struct Sprite *);
+void sub_8113250(struct Sprite *);
+void sub_81135EC(struct Sprite *);
+static void sub_81132E0(struct Sprite *);
+static void sub_81134B8(u8);
+static void sub_8113574(struct Task *);
+static void sub_811369C(struct Sprite *);
+
+const union AnimCmd gUnknown_08596E60[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08596E78[] =
+{
+ gUnknown_08596E60,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E7C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596E78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8113064,
+};
+
+const union AnimCmd gUnknown_08596E94[] =
+{
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08596EA4[] =
+{
+ ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08596EB4[] =
+{
+ gUnknown_08596E94,
+ gUnknown_08596EA4,
+};
+
+const union AffineAnimCmd gUnknown_08596EBC[] =
+{
+ AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0),
+ AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596ED4[] =
+{
+ AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
+ AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596EEC[] =
+{
+ gUnknown_08596EBC,
+ gUnknown_08596ED4,
+};
+
+const struct SpriteTemplate gUnknown_08596EF4 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08596EB4,
+ .images = NULL,
+ .affineAnims = gUnknown_08596EEC,
+ .callback = sub_8113224,
+};
+
+const union AnimCmd gUnknown_08596F0C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596F24[] =
+{
+ gUnknown_08596F0C,
+};
+
+const struct SpriteTemplate gUnknown_08596F28 =
+{
+ .tileTag = ANIM_TAG_FIRE_PLUME,
+ .paletteTag = ANIM_TAG_FIRE_PLUME,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596F24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81131B4,
+};
+
+const union AnimCmd gUnknown_08596F40[] =
+{
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08596F50[] =
+{
+ gUnknown_08596F40,
+ gUnknown_08596F40,
+};
+
+const union AffineAnimCmd gUnknown_08596F58[] =
+{
+ AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596F68[] =
+{
+ AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596F78[] =
+{
+ gUnknown_08596F58,
+ gUnknown_08596F68,
+};
+
+const struct SpriteTemplate gUnknown_08596F80 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08596F50,
+ .images = NULL,
+ .affineAnims = gUnknown_08596F78,
+ .callback = sub_8113224,
+};
+
+const struct SpriteTemplate gUnknown_08596F98 =
+{
+ .tileTag = ANIM_TAG_HOLLOW_ORB,
+ .paletteTag = ANIM_TAG_HOLLOW_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8113250,
+};
+
+const struct SpriteTemplate gUnknown_08596FB0 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596E78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81135EC,
+};
+
+void sub_8113064(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+ gBattleAnimArgs[4] = -gBattleAnimArgs[4];
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ }
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->data[5] = gBattleAnimArgs[5];
+ sprite->invisible = 1;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A66DC;
+}
+
+static void sub_8113100(struct Sprite *sprite)
+{
+ sub_80A6838(sprite);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->pos1.x -= gBattleAnimArgs[1];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[2] -= gBattleAnimArgs[2];
+ sprite->data[4] += gBattleAnimArgs[3];
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[2] += gBattleAnimArgs[2];
+ sprite->data[4] += gBattleAnimArgs[3];
+ StartSpriteAnim(sprite, 1);
+ }
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+}
+
+void sub_81131B4(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ }
+
+ sub_80A6864(sprite, gBattleAnimArgs[1]);
+ sprite->pos1.y += gBattleAnimArgs[2];
+ sprite->callback = sub_80A67D8;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+}
+
+void sub_8113224(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ StartSpriteAffineAnim(sprite, 1);
+
+ sub_8113100(sprite);
+}
+
+void sub_8113250(struct Sprite *sprite)
+{
+ u16 r5;
+ u16 r0;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[4] = 0;
+ sprite->data[5] = 1;
+ sprite->data[6] = gBattleAnimArgs[0];
+ r5 = sub_80A861C(gBattlerAttacker, 0);
+ r0 = sub_80A861C(gBattlerAttacker, 1);
+ if (r5 > r0)
+ sprite->data[7] = r5 / 2;
+ else
+ sprite->data[7] = r0 / 2;
+ sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
+ sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
+ sprite->callback = sub_81132E0;
+}
+
+static void sub_81132E0(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[6] = (sprite->data[6] - sprite->data[5]) & 0xFF;
+ sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
+ sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
+ if (++sprite->data[4] > 5)
+ {
+ sprite->data[4] = 0;
+ if (sprite->data[5] <= 15 && ++sprite->data[5] > 15)
+ sprite->data[5] = 16;
+ }
+ if (++sprite->data[3] > 0x3C)
+ {
+ sprite->data[3] = 0;
+ sprite->data[0]++;
+ }
+ break;
+ case 1:
+ sprite->data[6] = (sprite->data[6] - sprite->data[5]) & 0xFF;
+ if (sprite->data[7] <= 0x95 && (sprite->data[7] += 8) > 0x95)
+ sprite->data[7] = 0x96;
+ sprite->pos2.x = Cos(sprite->data[6], sprite->data[7]);
+ sprite->pos2.y = Sin(sprite->data[6], sprite->data[7]);
+ if (++sprite->data[4] > 5)
+ {
+ sprite->data[4] = 0;
+ if (sprite->data[5] <= 15 && ++sprite->data[5] > 15)
+ sprite->data[5] = 16;
+ }
+ if (++sprite->data[3] > 20)
+ DestroyAnimSprite(sprite);
+ break;
+ }
+}
+
+void sub_81133E8(u8 taskId)
+{
+ struct ScanlineEffectParams sp;
+ struct Task *task = &gTasks[taskId];
+ u16 i;
+ u8 r1;
+ if (sub_80A8364(gBattleAnimAttacker) == 1)
+ {
+ sp.dmaDest = &REG_BG1HOFS;
+ task->data[2] = gBattle_BG1_X;
+ }
+ else
+ {
+ sp.dmaDest = &REG_BG2HOFS;
+ task->data[2] = gBattle_BG2_X;
+ }
+
+ sp.dmaControl = 0xA2600001;
+ sp.initState = 1;
+ sp.unused9 = 0;
+ r1 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
+ task->data[3] = r1 - 32;
+ task->data[4] = r1 + 32;
+ if (task->data[3] < 0)
+ task->data[3] = 0;
+
+ for (i = task->data[3]; i <= task->data[4]; i++)
+ {
+ gScanlineEffectRegBuffers[0][i] = task->data[2];
+ gScanlineEffectRegBuffers[1][i] = task->data[2];
+ }
+
+ ScanlineEffect_SetParams(sp);
+ task->func = sub_81134B8;
+}
+
+static void sub_81134B8(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[7] > 1)
+ {
+ task->data[7] = 0;
+ if (++task->data[6] == 3)
+ task->data[0]++;
+ }
+ sub_8113574(task);
+ break;
+ case 1:
+ if (++task->data[1] > 0x3C)
+ task->data[0]++;
+ sub_8113574(task);
+ break;
+ case 2:
+ if (++task->data[7] > 1)
+ {
+ task->data[7] = 0;
+ if (--task->data[6] == 0)
+ task->data[0]++;
+ }
+ sub_8113574(task);
+ break;
+ case 3:
+ gScanlineEffect.state = 3;
+ task->data[0]++;
+ break;
+ case 4:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_8113574(struct Task *task)
+{
+ u16 r3 = task->data[5];
+ u16 i;
+ for (i = task->data[3]; i <= task->data[4]; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = ((gSineTable[r3] * task->data[6]) >> 7) + task->data[2];
+ r3 = (r3 + 8) & 0xFF;
+ }
+
+ task->data[5] = (task->data[5] + 9) & 0xFF;
+}
+
+void sub_81135EC(struct Sprite *sprite)
+{
+ int r6 = (gBattleAnimArgs[2] * 3) / 5;
+ int i;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[4];
+ sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]);
+ sprite->data[2] = Sin(gBattleAnimArgs[1], r6);
+ sprite->pos1.x += sprite->data[1] * gBattleAnimArgs[0];
+ sprite->pos1.y += sprite->data[2] * gBattleAnimArgs[0];
+ sprite->data[3] = gBattleAnimArgs[3];
+ sprite->callback = sub_811369C;
+ for (i = 0; i < 7; i++)
+ gUnknown_0203A100[i] = sprite->data[i];
+}
+
+static void sub_811369C(struct Sprite *sprite)
+{
+ sprite->data[4] += sprite->data[1];
+ sprite->data[5] += sprite->data[2];
+ sprite->pos2.x = sprite->data[4] / 10;
+ sprite->pos2.y = sprite->data[5] / 10;
+ if (++sprite->data[0] > sprite->data[3])
+ DestroyAnimSprite(sprite);
+}
diff --git a/src/easy_chat.c b/src/easy_chat.c
index 7d25d1430..e4233fb7f 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -13,6 +13,7 @@
#include "palette.h"
#include "event_data.h"
#include "easy_chat.h"
+#include "string_util.h"
// Static type declarations
diff --git a/src/effects_1.c b/src/effects_1.c
new file mode 100644
index 000000000..a8687bc38
--- /dev/null
+++ b/src/effects_1.c
@@ -0,0 +1,2093 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_80FE840(struct Sprite *);
+extern void sub_80FE8E0(struct Sprite *);
+extern void sub_80FE930(struct Sprite *);
+extern void sub_80FE988(struct Sprite *);
+extern void sub_80FEAD8(struct Sprite *);
+extern void sub_80FEB44(struct Sprite *);
+extern void sub_80FEC48(struct Sprite *);
+extern void sub_80FED28(struct Sprite *);
+extern void sub_80FEE78(struct Sprite *);
+extern void sub_80FEF44(struct Sprite *);
+extern void sub_80FEFFC(struct Sprite *);
+extern void AnimMoveTwisterParticle(struct Sprite *);
+extern void sub_80FF0F4(struct Sprite *);
+extern void sub_80FF374(struct Sprite *);
+extern void sub_80FF698(struct Sprite *);
+extern void sub_80FF768(struct Sprite *);
+extern void sub_80FF7EC(struct Sprite *);
+extern void sub_80FF934(struct Sprite *);
+extern void sub_80FFB18(struct Sprite *);
+extern void sub_80FFBF4(struct Sprite *);
+extern void sub_80FFC70(struct Sprite *);
+extern void sub_80FFCB4(struct Sprite *);
+extern void sub_80FFDBC(struct Sprite *);
+extern void sub_8100640(struct Sprite *);
+extern void sub_8100898(struct Sprite *);
+extern void sub_8100A50(struct Sprite *);
+extern void sub_81009F8(struct Sprite *);
+extern void sub_8100A94(struct Sprite *);
+extern void sub_8100AE0(struct Sprite *);
+extern void sub_8100B88(struct Sprite *);
+extern void sub_8100E1C(struct Sprite *);
+extern void sub_8100EF0(struct Sprite *);
+extern void sub_81010CC(struct Sprite *);
+extern void sub_810130C(struct Sprite *);
+extern void sub_810135C(struct Sprite *);
+extern void sub_8101440(struct Sprite *);
+extern void sub_81014F4(struct Sprite *);
+extern void sub_81015AC(struct Sprite *);
+extern void sub_8101898(struct Sprite *);
+extern void sub_8101940(struct Sprite *);
+extern void sub_8101B90(struct Sprite *);
+extern void sub_8101F40(struct Sprite *);
+extern void sub_8101FA8(struct Sprite *);
+extern void sub_8101FF0(struct Sprite *);
+extern void sub_81020D8(struct Sprite *);
+extern void sub_810217C(struct Sprite *);
+extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
+extern void sub_80A77C8(struct Sprite *);
+extern void sub_8102268(struct Sprite *);
+extern void sub_810234C(struct Sprite *);
+extern void sub_81024E0(struct Sprite *);
+extern void sub_8102540(struct Sprite *);
+extern void sub_80A77C8(struct Sprite *);
+extern void sub_8102844(struct Sprite *);
+extern void sub_8102BCC(struct Sprite *);
+extern void sub_8102CD4(struct Sprite *);
+extern void sub_8102EB0(struct Sprite *);
+extern void sub_8102FB8(struct Sprite *);
+extern void sub_8103028(struct Sprite *);
+extern void sub_8103164(struct Sprite *);
+extern void sub_8103208(struct Sprite *);
+extern void sub_8103284(struct Sprite *);
+extern void sub_8103390(struct Sprite *);
+
+const union AnimCmd gUnknown_085920F0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(6, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(10, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(14, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592114[] =
+{
+ gUnknown_085920F0,
+};
+
+const struct SpriteTemplate gSleepPowderParticleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SLEEP_POWDER,
+ .paletteTag = ANIM_TAG_SLEEP_POWDER,
+ .oam = &gUnknown_08524944,
+ .anims = gUnknown_08592114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE840,
+};
+
+const struct SpriteTemplate gStunSporeParticleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_STUN_SPORE,
+ .paletteTag = ANIM_TAG_STUN_SPORE,
+ .oam = &gUnknown_08524944,
+ .anims = gUnknown_08592114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE840,
+};
+
+const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_POISON_POWDER,
+ .paletteTag = ANIM_TAG_POISON_POWDER,
+ .oam = &gUnknown_08524944,
+ .anims = gUnknown_08592114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE840,
+};
+
+const union AnimCmd gUnknown_08592160[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592168[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592170[] =
+{
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592178[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592180[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592188[] =
+{
+ ANIMCMD_FRAME(5, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592190[] =
+{
+ ANIMCMD_FRAME(6, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592198[] =
+{
+ ANIMCMD_FRAME(7, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085921A0[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085921A8[] =
+{
+ gUnknown_08592160,
+ gUnknown_08592168,
+ gUnknown_08592170,
+ gUnknown_08592178,
+ gUnknown_08592180,
+ gUnknown_08592188,
+ gUnknown_08592190,
+};
+
+const union AnimCmd *const gUnknown_085921C4[] =
+{
+ gUnknown_08592198,
+};
+
+const union AnimCmd *const gUnknown_085921C8[] =
+{
+ gUnknown_085921A0,
+};
+
+const union AffineAnimCmd gUnknown_085921CC[] = {
+ AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_085921DC[] = {
+ gUnknown_085921CC,
+};
+
+const struct SpriteTemplate gUnknown_085921E0 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_085921C8,
+ .images = NULL,
+ .affineAnims = gUnknown_085921DC,
+ .callback = sub_80FE8E0,
+};
+
+const struct SpriteTemplate gUnknown_085921F8 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085921A8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE930,
+};
+
+const struct SpriteTemplate gUnknown_08592210 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085921C4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE988,
+};
+
+const union AffineAnimCmd gUnknown_08592228[] = {
+ AFFINEANIMCMD_FRAME(320, 320, 0, 0),
+ AFFINEANIMCMD_FRAME(-14, -14, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08592240[] = {
+ gUnknown_08592228,
+};
+
+const struct SpriteTemplate gUnknown_08592244 =
+{
+ .tileTag = ANIM_TAG_GRAY_ORB,
+ .paletteTag = ANIM_TAG_GRAY_ORB,
+ .oam = &gUnknown_085249C4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592240,
+ .callback = sub_80FE8E0,
+};
+
+const union AffineAnimCmd gUnknown_0859225C[] = {
+ AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_0859226C[] = {
+ gUnknown_0859225C,
+};
+
+const struct SpriteTemplate gUnknown_08592270 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_085921C8,
+ .images = NULL,
+ .affineAnims = gUnknown_0859226C,
+ .callback = sub_80FEAD8,
+};
+
+const struct SpriteTemplate gUnknown_08592288 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085921A8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEB44,
+};
+
+const union AnimCmd gUnknown_085922A0[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085922A8[] =
+{
+ ANIMCMD_FRAME(4, 7),
+ ANIMCMD_FRAME(8, 7),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085922B4[] =
+{
+ gUnknown_085922A0,
+ gUnknown_085922A8,
+};
+
+const struct SpriteTemplate gLeechSeedSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SEED,
+ .paletteTag = ANIM_TAG_SEED,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_085922B4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEC48,
+};
+
+const union AnimCmd gUnknown_085922D4[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085922DC[] =
+{
+ ANIMCMD_FRAME(4, 7),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085922E4[] =
+{
+ gUnknown_085922D4,
+ gUnknown_085922DC,
+};
+
+const struct SpriteTemplate gUnknown_085922EC =
+{
+ .tileTag = ANIM_TAG_SPORE,
+ .paletteTag = ANIM_TAG_SPORE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_085922E4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FED28,
+};
+
+const union AnimCmd gUnknown_08592304[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859230C[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592314[] =
+{
+ gUnknown_08592304,
+};
+
+const union AnimCmd *const gUnknown_08592318[] =
+{
+ gUnknown_0859230C,
+};
+
+const struct SpriteTemplate gUnknown_0859231C =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592314,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEE78,
+};
+
+const struct SpriteTemplate gUnknown_08592334 =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08592318,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEF44,
+};
+
+const union AnimCmd gUnknown_0859234C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08592378[] =
+{
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_FRAME(28, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592388[] =
+{
+ gUnknown_0859234C,
+ gUnknown_08592378,
+};
+
+const struct SpriteTemplate gUnknown_08592390 =
+{
+ .tileTag = ANIM_TAG_LEAF,
+ .paletteTag = ANIM_TAG_LEAF,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592388,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEFFC,
+};
+
+const struct SpriteTemplate gUnknown_085923A8 =
+{
+ .tileTag = ANIM_TAG_LEAF,
+ .paletteTag = ANIM_TAG_LEAF,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592388,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMoveTwisterParticle,
+};
+
+const union AnimCmd gUnknown_085923C0[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085923D4[] =
+{
+ gUnknown_085923C0,
+};
+
+const struct SpriteTemplate gUnknown_085923D8 =
+{
+ .tileTag = ANIM_TAG_RAZOR_LEAF,
+ .paletteTag = ANIM_TAG_RAZOR_LEAF,
+ .oam = &gUnknown_08524934,
+ .anims = gUnknown_085923D4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF0F4,
+};
+
+const union AffineAnimCmd gUnknown_085923F0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08592400[] = {
+ gUnknown_085923F0,
+};
+
+const struct SpriteTemplate gSwiftStarSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_YELLOW_STAR,
+ .paletteTag = ANIM_TAG_YELLOW_STAR,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592400,
+ .callback = sub_80FF0F4,
+};
+
+const union AnimCmd gUnknown_0859241C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(96, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592430[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592444[] =
+{
+ gUnknown_0859241C,
+ gUnknown_08592430,
+};
+
+const union AffineAnimCmd gUnknown_0859244C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 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(11, 0, 0, 6),
+ AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859248C[] = {
+ gUnknown_0859244C,
+ gUnknown_0859246C,
+};
+
+const struct SpriteTemplate gUnknown_08592494 =
+{
+ .tileTag = ANIM_TAG_TENDRILS,
+ .paletteTag = ANIM_TAG_TENDRILS,
+ .oam = &gUnknown_0852499C,
+ .anims = gUnknown_08592444,
+ .images = NULL,
+ .affineAnims = gUnknown_0859248C,
+ .callback = sub_80FF374,
+};
+
+const union AffineAnimCmd gUnknown_085924AC[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 0),
+ AFFINEANIMCMD_FRAME(48, 48, 0, 14),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085924C4[] = {
+ AFFINEANIMCMD_FRAME(-16, -16, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_085924D4[] = {
+ gUnknown_085924AC,
+ gUnknown_085924C4,
+};
+
+const struct SpriteTemplate gUnknown_085924DC =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_085921C8,
+ .images = NULL,
+ .affineAnims = gUnknown_085924D4,
+ .callback = sub_80FF698,
+};
+
+const union AnimCmd gUnknown_085924F4[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(16, 7),
+ ANIMCMD_FRAME(32, 7),
+ ANIMCMD_FRAME(48, 7),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592508[] =
+{
+ ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 7, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859251C[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(16, 7),
+ ANIMCMD_FRAME(32, 7),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859252C[] =
+{
+ ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 7, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859253C[] =
+{
+ gUnknown_085924F4,
+ gUnknown_08592508,
+ gUnknown_0859251C,
+ gUnknown_0859252C,
+};
+
+const struct SpriteTemplate gUnknown_0859254C =
+{
+ .tileTag = ANIM_TAG_ROOTS,
+ .paletteTag = ANIM_TAG_ROOTS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859253C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF768,
+};
+
+const struct SpriteTemplate gUnknown_08592564 =
+{
+ .tileTag = ANIM_TAG_ROOTS,
+ .paletteTag = ANIM_TAG_ROOTS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859253C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF7EC,
+};
+
+const union AnimCmd gUnknown_0859257C[] =
+{
+ ANIMCMD_FRAME(3, 3),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592588[] =
+{
+ gUnknown_0859257C,
+};
+
+const struct SpriteTemplate gUnknown_0859258C =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08592588,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF934,
+};
+
+const union AnimCmd gUnknown_085925A4[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085925AC[] =
+{
+ gUnknown_085925A4,
+};
+
+const union AffineAnimCmd gUnknown_085925B0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, -4, 10),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 20),
+ AFFINEANIMCMD_FRAME(0, 0, -4, 10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085925D0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, -1, 2),
+ AFFINEANIMCMD_FRAME(0, 0, 1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, -1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, 1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, -1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, 1, 2),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08592608[] = {
+ gUnknown_085925B0,
+ gUnknown_085925D0,
+};
+
+const struct SpriteTemplate gUnknown_08592610 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_08592608,
+ .callback = sub_80FFB18,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_08592608,
+ .callback = sub_80FFBF4,
+};
+
+const union AnimCmd gUnknown_08592640[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_FRAME(12, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592654[] =
+{
+ gUnknown_08592640,
+};
+
+const struct SpriteTemplate gUnknown_08592658 =
+{
+ .tileTag = ANIM_TAG_GREEN_SPARKLE,
+ .paletteTag = ANIM_TAG_GREEN_SPARKLE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592654,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FFC70,
+};
+
+const struct SpriteTemplate gUnknown_08592670 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_08592608,
+ .callback = sub_80FFCB4,
+};
+
+const union AffineAnimCmd gUnknown_08592688[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 3),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592698[] = {
+ AFFINEANIMCMD_FRAME(0, -10, 0, 3),
+ AFFINEANIMCMD_FRAME(0, -6, 0, 3),
+ AFFINEANIMCMD_FRAME(0, -2, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 2, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 6, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 10, 0, 3),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085926D8[] = {
+ gUnknown_08592688,
+ gUnknown_08592698,
+ gUnknown_085925B0,
+ gUnknown_085925D0,
+};
+
+const struct SpriteTemplate gUnknown_085926E8 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_085926D8,
+ .callback = sub_80FFDBC,
+};
+
+const s8 gUnknown_08592700[][3] =
+{
+ {5, 24, 1},
+ {0, 4, 0},
+ {8, 16, -1},
+ {0, 2, 0},
+ {8, 16, 1},
+ {0, 2, 0},
+ {8, 16, 1},
+ {0, 2, 0},
+ {8, 16, 1},
+ {0, 16, 0},
+ {0, 0, 127},
+};
+
+const union AnimCmd gUnknown_08592724[] =
+{
+ ANIMCMD_FRAME(28, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859272C[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592734[] =
+{
+ ANIMCMD_FRAME(20, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859273C[] =
+{
+ ANIMCMD_FRAME(28, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592744[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859274C[] =
+{
+ ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592754[] =
+{
+ ANIMCMD_FRAME(28, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859275C[] =
+{
+ gUnknown_08592724,
+ gUnknown_0859272C,
+ gUnknown_08592734,
+ gUnknown_0859273C,
+ gUnknown_08592744,
+ gUnknown_0859274C,
+ gUnknown_08592754,
+};
+
+const struct SpriteTemplate gUnknown_08592778 =
+{
+ .tileTag = ANIM_TAG_LEAF,
+ .paletteTag = ANIM_TAG_LEAF,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_0859275C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const union AffineAnimCmd gUnknown_08592790[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_085927A8[] = {
+ gUnknown_08592790,
+};
+
+const struct SpriteTemplate gUnknown_085927AC =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08592318,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100640,
+};
+
+const struct SpriteTemplate gUnknown_085927C4 =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_08592314,
+ .images = NULL,
+ .affineAnims = gUnknown_085927A8,
+ .callback = sub_8100640,
+};
+
+const union AffineAnimCmd gUnknown_085927DC[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, -10, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gUnknown_085927F4[] = {
+ AFFINEANIMCMD_FRAME(192, 192, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, -12, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gUnknown_0859280C[] = {
+ AFFINEANIMCMD_FRAME(143, 143, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, -15, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08592824[] = {
+ gUnknown_085927DC,
+};
+
+const union AffineAnimCmd *const gUnknown_08592828[] = {
+ gUnknown_085927F4,
+};
+
+const union AffineAnimCmd *const gUnknown_0859282C[] = {
+ gUnknown_0859280C,
+};
+
+const struct SpriteTemplate gUnknown_08592830 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_6,
+ .paletteTag = ANIM_TAG_SPARKLE_6,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592824,
+ .callback = sub_8100640,
+};
+
+const struct SpriteTemplate gUnknown_08592848 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_6,
+ .paletteTag = ANIM_TAG_SPARKLE_6,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592828,
+ .callback = sub_8100640,
+};
+
+const struct SpriteTemplate gUnknown_08592860 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_6,
+ .paletteTag = ANIM_TAG_SPARKLE_6,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859282C,
+ .callback = sub_8100640,
+};
+
+// sMagicalLeafBlendColors
+const u16 gUnknown_08592878[] =
+{
+ RGB(31, 0, 0),
+ RGB(31, 19, 0),
+ RGB(31, 31, 0),
+ RGB(0, 31, 0),
+ RGB(5, 14, 31),
+ RGB(22, 10, 31),
+ RGB(22, 21, 31),
+};
+
+const struct SpriteTemplate gUnknown_08592888 =
+{
+ .tileTag = ANIM_TAG_GREEN_SPIKE,
+ .paletteTag = ANIM_TAG_GREEN_SPIKE,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100898,
+};
+
+const union AnimCmd gUnknown_085928A0[] =
+{
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 3),
+ ANIMCMD_FRAME(112, 6),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085928B4[] =
+{
+ ANIMCMD_FRAME(64, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(80, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(112, 6, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085928C8[] =
+{
+ gUnknown_085928A0,
+ gUnknown_085928B4,
+};
+
+const struct SpriteTemplate gUnknown_085928D0 =
+{
+ .tileTag = ANIM_TAG_SLAM_HIT,
+ .paletteTag = ANIM_TAG_SLAM_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085928C8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100A50,
+};
+
+const struct SpriteTemplate gUnknown_085928E8 =
+{
+ .tileTag = ANIM_TAG_WHIP_HIT,
+ .paletteTag = ANIM_TAG_WHIP_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085928C8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100A50,
+};
+
+const union AnimCmd gUnknown_08592900[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592918[] =
+{
+ gUnknown_08592900,
+};
+
+const struct SpriteTemplate gUnknown_0859291C =
+{
+ .tileTag = ANIM_TAG_UNUSED_HIT,
+ .paletteTag = ANIM_TAG_UNUSED_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592918,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81009F8,
+};
+
+const struct SpriteTemplate gUnknown_08592934 =
+{
+ .tileTag = ANIM_TAG_UNUSED_HIT_2,
+ .paletteTag = ANIM_TAG_UNUSED_HIT_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592918,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81009F8,
+};
+
+const union AffineAnimCmd gUnknown_0859294C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859295C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 32, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859296C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 64, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859297C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 96, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859298C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -128, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859299C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -96, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085929AC[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -64, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085929BC[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -32, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085929CC[] = {
+ gUnknown_0859294C,
+ gUnknown_0859295C,
+ gUnknown_0859296C,
+ gUnknown_0859297C,
+ gUnknown_0859298C,
+ gUnknown_0859299C,
+ gUnknown_085929AC,
+ gUnknown_085929BC,
+};
+
+const struct SpriteTemplate gUnknown_085929EC =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085929CC,
+ .callback = sub_8100A94,
+};
+
+const union AnimCmd gUnknown_08592A04[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592A18[] =
+{
+ gUnknown_08592A04,
+};
+
+const struct SpriteTemplate gCuttingSliceSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_CUT,
+ .paletteTag = ANIM_TAG_CUT,
+ .oam = &gUnknown_08524A34,
+ .anims = gUnknown_08592A18,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100AE0,
+};
+
+const struct SpriteTemplate gUnknown_08592A34 =
+{
+ .tileTag = ANIM_TAG_CUT,
+ .paletteTag = ANIM_TAG_CUT,
+ .oam = &gUnknown_08524A34,
+ .anims = gUnknown_08592A18,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100B88,
+};
+
+const union AnimCmd gUnknown_08592A4C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A54[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A5C[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A64[] =
+{
+ ANIMCMD_FRAME(12, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A6C[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A74[] =
+{
+ ANIMCMD_FRAME(20, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A7C[] =
+{
+ ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A84[] =
+{
+ ANIMCMD_FRAME(4, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A8C[] =
+{
+ ANIMCMD_FRAME(8, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A94[] =
+{
+ ANIMCMD_FRAME(12, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592A9C[] =
+{
+ gUnknown_08592A4C,
+ gUnknown_08592A54,
+ gUnknown_08592A5C,
+ gUnknown_08592A64,
+ gUnknown_08592A6C,
+ gUnknown_08592A74,
+ gUnknown_08592A7C,
+ gUnknown_08592A84,
+ gUnknown_08592A8C,
+ gUnknown_08592A94,
+};
+
+const struct SpriteTemplate gUnknown_08592AC4 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592A9C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100E1C,
+};
+
+const struct SpriteTemplate gUnknown_08592ADC =
+{
+ .tileTag = ANIM_TAG_PROTECT,
+ .paletteTag = ANIM_TAG_PROTECT,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100EF0,
+};
+
+const union AffineAnimCmd gUnknown_08592AF4[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592B04[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 24),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08592B34[] =
+{
+ gUnknown_08592AF4,
+ gUnknown_08592B04,
+};
+
+const struct SpriteTemplate gUnknown_08592B3C =
+{
+ .tileTag = ANIM_TAG_MILK_BOTTLE,
+ .paletteTag = ANIM_TAG_MILK_BOTTLE,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592B34,
+ .callback = sub_81010CC,
+};
+
+const union AnimCmd gUnknown_08592B54[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(16, 7),
+ ANIMCMD_FRAME(32, 7),
+ ANIMCMD_FRAME(48, 7),
+ ANIMCMD_FRAME(64, 7),
+ ANIMCMD_FRAME(80, 7),
+ ANIMCMD_FRAME(96, 7),
+ ANIMCMD_FRAME(112, 7),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592B78[] =
+{
+ gUnknown_08592B54,
+};
+
+const struct SpriteTemplate gUnknown_08592B7C =
+{
+ .tileTag = ANIM_TAG_SPARKLE_2,
+ .paletteTag = ANIM_TAG_SPARKLE_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592B78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810130C,
+};
+
+const struct SpriteTemplate gUnknown_08592B94 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_2,
+ .paletteTag = ANIM_TAG_SPARKLE_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592B78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810135C,
+};
+
+const union AnimCmd gUnknown_08592BAC[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(4, 10),
+ ANIMCMD_FRAME(8, 10),
+ ANIMCMD_FRAME(12, 10),
+ ANIMCMD_FRAME(16, 26),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_FRAME(24, 15),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592BD0[] =
+{
+ ANIMCMD_FRAME(0, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(4, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(12, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 26, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(20, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(24, 15, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592BF4[] =
+{
+ gUnknown_08592BAC,
+ gUnknown_08592BD0,
+};
+
+const struct SpriteTemplate gUnknown_08592BFC =
+{
+ .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
+ .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592BF4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101440,
+};
+
+const union AnimCmd gUnknown_08592C14[] =
+{
+ ANIMCMD_FRAME(0, 40),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592C1C[] =
+{
+ gUnknown_08592C14,
+};
+
+const union AffineAnimCmd gUnknown_08592C20[] =
+{
+ AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592C20_2[] =
+{
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24),
+ AFFINEANIMCMD_LOOP(10),
+};
+
+const union AffineAnimCmd gUnknown_08592C50[] =
+{
+ AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592C50_2[] =
+{
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24),
+ AFFINEANIMCMD_LOOP(10),
+};
+
+const union AffineAnimCmd *const gUnknown_08592C80[] =
+{
+ gUnknown_08592C20,
+ gUnknown_08592C50,
+};
+
+const struct SpriteTemplate gUnknown_08592C88 =
+{
+ .tileTag = ANIM_TAG_LETTER_Z,
+ .paletteTag = ANIM_TAG_LETTER_Z,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_08592C1C,
+ .images = NULL,
+ .affineAnims = gUnknown_08592C80,
+ .callback = sub_81014F4,
+};
+
+const struct SpriteTemplate gUnknown_08592CA0 =
+{
+ .tileTag = ANIM_TAG_LOCK_ON,
+ .paletteTag = ANIM_TAG_LOCK_ON,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81015AC,
+};
+
+const struct SpriteTemplate gUnknown_08592CB8 =
+{
+ .tileTag = ANIM_TAG_LOCK_ON,
+ .paletteTag = ANIM_TAG_LOCK_ON,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101898,
+};
+
+const s8 gUnknown_08592CD0[][2] =
+{
+ { 64, 64},
+ { 0, -64},
+ {-64, 64},
+ { 32, -32},
+};
+
+const struct SpriteTemplate gUnknown_08592CD8 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101940,
+};
+
+const struct SpriteTemplate gUnknown_08592CF0 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101B90,
+};
+
+const union AnimCmd gUnknown_08592D08[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592D1C[] =
+{
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592D24[] =
+{
+ gUnknown_08592D08,
+ gUnknown_08592D1C,
+};
+
+const struct SpriteTemplate gUnknown_08592D2C =
+{
+ .tileTag = ANIM_TAG_SLASH,
+ .paletteTag = ANIM_TAG_SLASH,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592D24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101F40,
+};
+
+const struct SpriteTemplate gUnknown_08592D44 =
+{
+ .tileTag = ANIM_TAG_SLASH_2,
+ .paletteTag = ANIM_TAG_SLASH_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592D24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101FA8,
+};
+
+const struct SpriteTemplate gUnknown_08592D5C =
+{
+ .tileTag = ANIM_TAG_SLASH_2,
+ .paletteTag = ANIM_TAG_SLASH_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592D24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101FF0,
+};
+
+const union AnimCmd gUnknown_08592D74[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(8, 12),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(24, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592D88[] =
+{
+ gUnknown_08592D74,
+};
+
+const struct SpriteTemplate gUnknown_08592D8C =
+{
+ .tileTag = ANIM_TAG_FOCUS_ENERGY,
+ .paletteTag = ANIM_TAG_FOCUS_ENERGY,
+ .oam = &gUnknown_08524954,
+ .anims = gUnknown_08592D88,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81020D8,
+};
+
+const union AnimCmd gUnknown_08592DA4[] =
+{
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 18),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 18),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 18),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 54),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592DE0[] =
+{
+ gUnknown_08592DA4,
+};
+
+const struct SpriteTemplate gUnknown_08592DE4 =
+{
+ .tileTag = ANIM_TAG_SPHERE_TO_CUBE,
+ .paletteTag = ANIM_TAG_SPHERE_TO_CUBE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592DE0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810217C,
+};
+
+const struct SpriteTemplate gUnknown_08592DFC =
+{
+ .tileTag = ANIM_TAG_BLACK_BALL,
+ .paletteTag = ANIM_TAG_BLACK_BALL,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const union AnimCmd gUnknown_08592E14[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592E2C[] =
+{
+ gUnknown_08592E14,
+};
+
+const struct SpriteTemplate gUnknown_08592E30 =
+{
+ .tileTag = ANIM_TAG_GRAY_SMOKE,
+ .paletteTag = ANIM_TAG_GRAY_SMOKE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592E2C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const union AnimCmd gUnknown_08592E48[] =
+{
+ ANIMCMD_FRAME(3, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592E5C[] =
+{
+ gUnknown_08592E48,
+};
+
+const union AffineAnimCmd gUnknown_08592E60[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08592E70[] =
+{
+ gUnknown_08592E60,
+};
+
+const struct SpriteTemplate gUnknown_08592E74 =
+{
+ .tileTag = ANIM_TAG_CONVERSION,
+ .paletteTag = ANIM_TAG_CONVERSION,
+ .oam = &gUnknown_08524AE4,
+ .anims = gUnknown_08592E5C,
+ .images = NULL,
+ .affineAnims = gUnknown_08592E70,
+ .callback = sub_8102268,
+};
+
+const union AnimCmd gUnknown_08592E8C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(3, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592EA0[] =
+{
+ gUnknown_08592E8C,
+};
+
+const struct SpriteTemplate gUnknown_08592EA4 =
+{
+ .tileTag = ANIM_TAG_CONVERSION,
+ .paletteTag = ANIM_TAG_CONVERSION,
+ .oam = &gUnknown_08524AE4,
+ .anims = gUnknown_08592EA0,
+ .images = NULL,
+ .affineAnims = gUnknown_08592E70,
+ .callback = sub_810234C,
+};
+
+const struct SpriteTemplate gUnknown_08592EBC =
+{
+ .tileTag = ANIM_TAG_MOON,
+ .paletteTag = ANIM_TAG_MOON,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81024E0,
+};
+
+const union AnimCmd gUnknown_08592ED4[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_FRAME(12, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592EE8[] =
+{
+ gUnknown_08592ED4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8592EEC =
+{
+ .tileTag = ANIM_TAG_GREEN_SPARKLE,
+ .paletteTag = ANIM_TAG_GREEN_SPARKLE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592EE8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102540,
+};
+
+const union AnimCmd gUnknown_08592F04[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592F28[] =
+{
+ gUnknown_08592F04,
+};
+
+const struct SpriteTemplate gUnknown_08592F2C =
+{
+ .tileTag = ANIM_TAG_BLUE_STAR,
+ .paletteTag = ANIM_TAG_BLUE_STAR,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592F28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const struct SpriteTemplate gUnknown_08592F44 =
+{
+ .tileTag = ANIM_TAG_HORN_HIT,
+ .paletteTag = ANIM_TAG_HORN_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102844,
+};
+
+const union AnimCmd gUnknown_08592F5C[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592F70[] =
+{
+ gUnknown_08592F5C,
+};
+
+const struct SpriteTemplate gUnknown_08592F74 =
+{
+ .tileTag = ANIM_TAG_FANG_ATTACK,
+ .paletteTag = ANIM_TAG_FANG_ATTACK,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592F70,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102BCC,
+};
+
+const union AnimCmd gUnknown_08592F8C[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592F94[] =
+{
+ ANIMCMD_FRAME(4, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592F9C[] =
+{
+ ANIMCMD_FRAME(8, 41),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FA4[] =
+{
+ ANIMCMD_FRAME(12, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FAC[] =
+{
+ ANIMCMD_FRAME(16, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FB4[] =
+{
+ ANIMCMD_FRAME(20, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FBC[] =
+{
+ ANIMCMD_FRAME(0, 10, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FC4[] =
+{
+ ANIMCMD_FRAME(4, 10, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592FCC[] =
+{
+ gUnknown_08592F8C,
+ gUnknown_08592F94,
+ gUnknown_08592F9C,
+ gUnknown_08592FA4,
+ gUnknown_08592FAC,
+ gUnknown_08592FB4,
+ gUnknown_08592FBC,
+ gUnknown_08592FC4,
+};
+
+const union AffineAnimCmd gUnknown_08592FEC[] =
+{
+ AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16),
+ AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08593004[] =
+{
+ gUnknown_08592FEC,
+};
+
+const struct SpriteTemplate gUnknown_08593008 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593004,
+ .callback = sub_8102CD4,
+};
+
+const u16 gUnknown_08593020[][6] =
+{
+ {10072, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)},
+ {10097, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)},
+ {10185, RGB(31, 31, 31), RGB(31, 31, 24), RGB(31, 31, 17), RGB(31, 31, 10), RGB(31, 31, 3)},
+ {10175, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)},
+};
+
+const struct SpriteTemplate gUnknown_08593050 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593004,
+ .callback = sub_8102EB0,
+};
+
+const struct SpriteTemplate gUnknown_08593068 =
+{
+ .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
+ .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102FB8,
+};
+
+const union AffineAnimCmd gUnknown_08593080[] =
+{
+ AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08593098[] =
+{
+ gUnknown_08593080,
+};
+
+const struct SpriteTemplate gUnknown_0859309C =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593098,
+ .callback = sub_8103028,
+};
+
+const union AnimCmd gUnknown_085930B4[] =
+{
+ ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085930C8[] =
+{
+ ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085930DC[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085930F0[] =
+{
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593104[] =
+{
+ gUnknown_085930B4,
+ gUnknown_085930DC,
+ gUnknown_085930C8,
+ gUnknown_085930F0,
+};
+
+const struct SpriteTemplate gUnknown_08593114 =
+{
+ .tileTag = ANIM_TAG_THOUGHT_BUBBLE,
+ .paletteTag = ANIM_TAG_THOUGHT_BUBBLE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593104,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103164,
+};
+
+const union AffineAnimCmd gUnknown_0859312C[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593144[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593144_2[] =
+{
+ AFFINEANIMCMD_FRAME(16, 16, 0, 0),
+ AFFINEANIMCMD_FRAME(30, 30, 0, 8),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 16),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 11),
+ AFFINEANIMCMD_FRAME(0, 0, -4, 11),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_FRAME(-30, -30, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085931B4[] =
+{
+ gUnknown_0859312C,
+ gUnknown_08593144,
+};
+
+const struct SpriteTemplate gUnknown_085931BC =
+{
+ .tileTag = ANIM_TAG_FINGER,
+ .paletteTag = ANIM_TAG_FINGER,
+ .oam = &gUnknown_085249D4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085931B4,
+ .callback = sub_8103208,
+};
+
+const struct SpriteTemplate gUnknown_085931D4 =
+{
+ .tileTag = ANIM_TAG_FINGER,
+ .paletteTag = ANIM_TAG_FINGER,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085931B4,
+ .callback = sub_8103284,
+};
+
+const union AnimCmd gUnknown_085931EC[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085931F4[] =
+{
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085931FC[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859321C[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859323C[] =
+{
+ gUnknown_085931EC,
+ gUnknown_085931F4,
+ gUnknown_085931FC,
+ gUnknown_0859321C,
+};
+
+const struct SpriteTemplate gUnknown_0859324C =
+{
+ .tileTag = ANIM_TAG_FINGER_2,
+ .paletteTag = ANIM_TAG_FINGER_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859323C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103390,
+};
diff --git a/src/effects_2.c b/src/effects_2.c
new file mode 100644
index 000000000..82336be5c
--- /dev/null
+++ b/src/effects_2.c
@@ -0,0 +1,1197 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_8103448(struct Sprite *);
+extern void sub_8103498(struct Sprite *);
+extern void sub_810358C(struct Sprite *);
+extern void sub_8103620(struct Sprite *);
+extern void sub_80A77C8(struct Sprite *);
+extern void sub_81037D8(struct Sprite *);
+extern void sub_810387C(struct Sprite *);
+extern void sub_81038C8(struct Sprite *);
+extern void sub_8103AA4(struct Sprite *);
+extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
+extern void sub_8108C94(struct Sprite *);
+extern void sub_80A78AC(struct Sprite *);
+extern void sub_8103FE8(struct Sprite *);
+extern void sub_8104088(struct Sprite *);
+extern void sub_810413C(struct Sprite *);
+extern void sub_81041C4(struct Sprite *);
+extern void sub_8104304(struct Sprite *);
+extern void sub_8104364(struct Sprite *);
+extern void sub_8104414(struct Sprite *);
+extern void sub_8104B1C(struct Sprite *);
+extern void sub_8104BAC(struct Sprite *);
+extern void sub_810501C(struct Sprite *);
+extern void sub_80A7938(struct Sprite *);
+extern void sub_8105538(struct Sprite *);
+extern void sub_81051C4(struct Sprite *);
+extern void sub_81052A4(struct Sprite *);
+extern void sub_81054E8(struct Sprite *);
+extern void sub_8105C48(struct Sprite *);
+extern void sub_8105DE8(struct Sprite *);
+extern void sub_8105E60(struct Sprite *);
+extern void sub_8106140(struct Sprite *);
+extern void sub_81061C4(struct Sprite *);
+extern void sub_810624C(struct Sprite *);
+extern void sub_810673C(struct Sprite *);
+extern void sub_8106878(struct Sprite *);
+extern void sub_8106944(struct Sprite *);
+extern void sub_81069B8(struct Sprite *);
+extern void sub_81069D0(struct Sprite *);
+extern void sub_8106AD0(struct Sprite *);
+extern void sub_8106B54(struct Sprite *);
+extern void sub_8106C80(struct Sprite *);
+extern void sub_8106CD0(struct Sprite *);
+extern void sub_8106E00(struct Sprite *);
+extern void sub_8106F60(struct Sprite *);
+extern void sub_8106F00(struct Sprite *);
+extern void sub_81070AC(struct Sprite *);
+
+const struct SpriteTemplate gUnknown_08593264 =
+{
+ .tileTag = ANIM_TAG_FINGER,
+ .paletteTag = ANIM_TAG_FINGER,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103448,
+};
+
+const union AnimCmd gUnknown_0859327C[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593284[] =
+{
+ gUnknown_0859327C,
+};
+
+const struct SpriteTemplate gUnknown_08593288 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103498,
+};
+
+const struct SpriteTemplate gUnknown_085932A0 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810358C,
+};
+
+extern const union AffineAnimCmd *const gUnknown_08597060[];
+const struct SpriteTemplate gUnknown_085932B8 =
+{
+ .tileTag = ANIM_TAG_CLAMP,
+ .paletteTag = ANIM_TAG_CLAMP,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597060,
+ .callback = sub_8103620,
+};
+
+const union AnimCmd gUnknown_085932D0[] =
+{
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085932E4[] =
+{
+ gUnknown_085932D0,
+};
+
+const union AffineAnimCmd gUnknown_085932E8[] =
+{
+ AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
+ AFFINEANIMCMD_FRAME(0x9, 0x9, 0, 18),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08593300[] =
+{
+ gUnknown_085932E8,
+};
+
+const struct SpriteTemplate gUnknown_08593304 =
+{
+ .tileTag = ANIM_TAG_UNUSED_EXPLOSION,
+ .paletteTag = ANIM_TAG_UNUSED_EXPLOSION,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085932E4,
+ .images = NULL,
+ .affineAnims = gUnknown_08593300,
+ .callback = sub_80A77C8,
+};
+
+const union AnimCmd gUnknown_0859331C[] =
+{
+ ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(24, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(40, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 3, .hFlip = TRUE),
+ ANIMCMD_LOOP(1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593340[] =
+{
+ gUnknown_0859331C,
+};
+
+const struct SpriteTemplate gUnknown_08593344 =
+{
+ .tileTag = ANIM_TAG_ALERT,
+ .paletteTag = ANIM_TAG_ALERT,
+ .oam = &gUnknown_08524934,
+ .anims = gUnknown_08593340,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81037D8,
+};
+
+const union AffineAnimCmd gUnknown_0859335C[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 32),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859337C[] =
+{
+ gUnknown_0859335C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8593380 =
+{
+ .tileTag = ANIM_TAG_SWORD,
+ .paletteTag = ANIM_TAG_SWORD,
+ .oam = &gUnknown_08524ADC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859337C,
+ .callback = sub_810387C,
+};
+
+const struct SpriteTemplate gSonicBoomSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_AIR_WAVE,
+ .paletteTag = ANIM_TAG_AIR_WAVE,
+ .oam = &gUnknown_08524B14,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81038C8,
+};
+
+const struct SpriteTemplate gUnknown_085933B0 =
+{
+ .tileTag = ANIM_TAG_AIR_WAVE,
+ .paletteTag = ANIM_TAG_AIR_WAVE,
+ .oam = &gUnknown_08524A54,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103AA4,
+};
+
+const union AffineAnimCmd gUnknown_085933C8[] =
+{
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
+ AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085933E0[] =
+{
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
+ AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
+ AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
+ AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08593420[] =
+{
+ gUnknown_085933C8,
+};
+
+const union AffineAnimCmd *const gUnknown_08593424[] =
+{
+ gUnknown_085933E0,
+};
+
+const struct SpriteTemplate gSupersonicWaveSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_GOLD_RING,
+ .paletteTag = ANIM_TAG_GOLD_RING,
+ .oam = &gUnknown_08524A14,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593420,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const struct SpriteTemplate gScreechWaveSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_PURPLE_RING,
+ .paletteTag = ANIM_TAG_PURPLE_RING,
+ .oam = &gUnknown_08524A14,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593420,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const struct SpriteTemplate gUnknown_08593458 =
+{
+ .tileTag = ANIM_TAG_METAL_SOUND_WAVES,
+ .paletteTag = ANIM_TAG_METAL_SOUND_WAVES,
+ .oam = &gUnknown_08524A1C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593420,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const struct SpriteTemplate gUnknown_08593470 =
+{
+ .tileTag = ANIM_TAG_BLUE_RING_2,
+ .paletteTag = ANIM_TAG_BLUE_RING_2,
+ .oam = &gUnknown_08524A14,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593424,
+ .callback = sub_8108C94,
+};
+
+const struct SpriteTemplate gUnknown_08593488 =
+{
+ .tileTag = ANIM_TAG_LARGE_FRESH_EGG,
+ .paletteTag = ANIM_TAG_LARGE_FRESH_EGG,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A78AC,
+};
+
+const struct SpriteTemplate gUnknown_085934A0 =
+{
+ .tileTag = ANIM_TAG_UNUSED_VOID_LINES,
+ .paletteTag = ANIM_TAG_UNUSED_VOID_LINES,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103FE8,
+};
+
+const union AnimCmd gUnknown_085934B8[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085934C0[] =
+{
+ gUnknown_085934B8,
+};
+
+const union AffineAnimCmd gUnknown_085934C4[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_085934D4[] =
+{
+ gUnknown_085934C4,
+};
+
+const struct SpriteTemplate gUnknown_085934D8 =
+{
+ .tileTag = ANIM_TAG_COIN,
+ .paletteTag = ANIM_TAG_COIN,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_085934C0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8104088,
+};
+
+const struct SpriteTemplate gUnknown_085934F0 =
+{
+ .tileTag = ANIM_TAG_COIN,
+ .paletteTag = ANIM_TAG_COIN,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_085934C0,
+ .images = NULL,
+ .affineAnims = gUnknown_085934D4,
+ .callback = sub_810413C,
+};
+
+const union AffineAnimCmd gUnknown_08593508[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08593518[] =
+{
+ gUnknown_08593508,
+};
+
+const struct SpriteTemplate gUnknown_0859351C =
+{
+ .tileTag = ANIM_TAG_SEED,
+ .paletteTag = ANIM_TAG_SEED,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593518,
+ .callback = sub_81041C4,
+};
+
+const union AffineAnimCmd gUnknown_08593534[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859354C[] =
+{
+ gUnknown_08593534,
+};
+
+const struct SpriteTemplate gUnknown_08593550 =
+{
+ .tileTag = ANIM_TAG_GUST,
+ .paletteTag = ANIM_TAG_GUST,
+ .oam = &gUnknown_085249BC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859354C,
+ .callback = sub_8104304,
+};
+
+const union AnimCmd gUnknown_08593568[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 20),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08593578[] =
+{
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 20, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593588[] =
+{
+ gUnknown_08593568,
+ gUnknown_08593578,
+};
+
+const struct SpriteTemplate gUnknown_08593590 =
+{
+ .tileTag = ANIM_TAG_CUT,
+ .paletteTag = ANIM_TAG_CUT,
+ .oam = &gUnknown_08524A34,
+ .anims = gUnknown_08593588,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8104364,
+};
+
+const union AnimCmd gUnknown_085935A8[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085935B8[] =
+{
+ ANIMCMD_FRAME(0, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 2, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 1, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085935C8[] =
+{
+ gUnknown_085935A8,
+ gUnknown_085935B8,
+};
+
+const struct SpriteTemplate gUnknown_085935D0 =
+{
+ .tileTag = ANIM_TAG_CUT,
+ .paletteTag = ANIM_TAG_CUT,
+ .oam = &gUnknown_08524A34,
+ .anims = gUnknown_085935C8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8104414,
+};
+
+const union AffineAnimCmd gUnknown_085935E8[] =
+{
+ AFFINEANIMCMD_FRAME(-6, 4, 0, 8),
+ AFFINEANIMCMD_FRAME(10, -10, 0, 8),
+ AFFINEANIMCMD_FRAME(-4, 6, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593608[] =
+{
+ AFFINEANIMCMD_FRAME(-4, -5, 0, 12),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 24),
+ AFFINEANIMCMD_FRAME(4, 5, 0, 12),
+ AFFINEANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08593628[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(4, 40, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(12, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859363C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(4, 40),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_FRAME(12, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593650[] =
+{
+ gUnknown_08593628,
+ gUnknown_0859363C,
+};
+
+const struct SpriteTemplate gUnknown_08593658 =
+{
+ .tileTag = ANIM_TAG_BREATH,
+ .paletteTag = ANIM_TAG_BREATH,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08593650,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8104B1C,
+};
+
+const union AffineAnimCmd gUnknown_08593670[] =
+{
+ AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF5, 0xFFF5, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08593688[] =
+{
+ gUnknown_08593670,
+};
+
+const struct SpriteTemplate gUnknown_0859368C =
+{
+ .tileTag = ANIM_TAG_ANGER,
+ .paletteTag = ANIM_TAG_ANGER,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593688,
+ .callback = sub_8104BAC,
+};
+
+const union AffineAnimCmd gUnknown_085936A4[] =
+{
+ AFFINEANIMCMD_FRAME(-10, 9, 0, 7),
+ AFFINEANIMCMD_FRAME(20, -20, 0, 7),
+ AFFINEANIMCMD_FRAME(-20, 20, 0, 7),
+ AFFINEANIMCMD_FRAME(10, -9, 0, 7),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gUnknown_085936D4 =
+{
+ .tileTag = ANIM_TAG_PENCIL,
+ .paletteTag = ANIM_TAG_PENCIL,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810501C,
+};
+
+const struct SpriteTemplate gUnknown_085936EC =
+{
+ .tileTag = ANIM_TAG_SNORE_Z,
+ .paletteTag = ANIM_TAG_SNORE_Z,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A7938,
+};
+
+const union AnimCmd gUnknown_08593704[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593718[] =
+{
+ gUnknown_08593704,
+};
+//*
+const struct SpriteTemplate gBattleAnimSpriteTemplate_859371C =
+{
+ .tileTag = ANIM_TAG_EXPLOSION,
+ .paletteTag = ANIM_TAG_EXPLOSION,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593718,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const union AffineAnimCmd gUnknown_08593734[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 4),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gUnknown_08593754[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593764[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFF8, 0x4, 0, 8),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0x10, 0xFFF8, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF0, 0x8, 0, 8),
+ AFFINEANIMCMD_LOOP(1),
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085937A4[] =
+{
+ gUnknown_08593734,
+ gUnknown_08593754,
+ gUnknown_08593764,
+};
+//*
+const struct SpriteTemplate gUnknown_085937B0 =
+{
+ .tileTag = ANIM_TAG_BREAKING_EGG,
+ .paletteTag = ANIM_TAG_BREAKING_EGG,
+ .oam = &gUnknown_08524AF4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085937A4,
+ .callback = sub_8105538,
+};
+
+const union AffineAnimCmd gUnknown_085937C8[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd gUnknown_085937E0[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 15),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd gUnknown_085937F8[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 45),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08593810[] =
+{
+ gUnknown_085937C8,
+ gUnknown_085937E0,
+};
+
+const union AffineAnimCmd *const gUnknown_08593818[] =
+{
+ gUnknown_085937F8,
+};
+
+const struct SpriteTemplate gUnknown_0859381C =
+{
+ .tileTag = ANIM_TAG_THIN_RING,
+ .paletteTag = ANIM_TAG_THIN_RING,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593810,
+ .callback = sub_80A77C8,
+};
+//*
+const union AffineAnimCmd gUnknown_08593834[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 30),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd *const gUnknown_0859384C[] =
+{
+ gUnknown_08593834,
+};
+
+const struct SpriteTemplate gUnknown_08593850 =
+{
+ .tileTag = ANIM_TAG_THIN_RING,
+ .paletteTag = ANIM_TAG_THIN_RING,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859384C,
+ .callback = sub_80A77C8,
+};
+
+const struct SpriteTemplate gUnknown_08593868 =
+{
+ .tileTag = ANIM_TAG_THIN_RING,
+ .paletteTag = ANIM_TAG_THIN_RING,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593810,
+ .callback = sub_81051C4,
+};
+
+const struct SpriteTemplate gUnknown_08593880 =
+{
+ .tileTag = ANIM_TAG_THIN_RING,
+ .paletteTag = ANIM_TAG_THIN_RING,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593818,
+ .callback = sub_81052A4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8593898 =
+{
+ .tileTag = ANIM_TAG_THIN_RING,
+ .paletteTag = ANIM_TAG_THIN_RING,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593810,
+ .callback = sub_81054E8,
+};
+
+const union AffineAnimCmd gUnknown_085938B0[] =
+{
+ AFFINEANIMCMD_FRAME(96, -13, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085938C0[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085938D8[] =
+{
+ gUnknown_085938C0,
+};
+
+const struct SpriteTemplate gUnknown_085938DC =
+{
+ .tileTag = ANIM_TAG_SPEED_DUST,
+ .paletteTag = ANIM_TAG_SPEED_DUST,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_085938D8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8105C48,
+};
+
+const s8 gUnknown_085938F4[][2] =
+{
+ {30, 28},
+ {-20, 24},
+ {16, 26},
+ {-10, 28},
+};
+
+const union AnimCmd gUnknown_085938FC[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 15),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 15, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 6, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 15),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593934[] =
+{
+ gUnknown_085938FC,
+};
+
+const struct SpriteTemplate gUnknown_08593938 =
+{
+ .tileTag = ANIM_TAG_BELL,
+ .paletteTag = ANIM_TAG_BELL,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593934,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const u16 gUnknown_08593950[] =
+{
+ 10206,
+ 9999,
+ 9998,
+ 0,
+};
+
+const struct SpriteTemplate gUnknown_08593958 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES_2,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES_2,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8105DE8,
+};
+
+const struct SpriteTemplate gUnknown_08593970 =
+{
+ .tileTag = ANIM_TAG_MAGENTA_HEART,
+ .paletteTag = ANIM_TAG_MAGENTA_HEART,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8105E60,
+};
+
+const union AffineAnimCmd gUnknown_08593988[] =
+{
+ AFFINEANIMCMD_FRAME(0x000A, 0xFFF3, 0x00, 0x0A),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0x000D, 0x00, 0x0A),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gUnknown_085939A0 =
+{
+ .tileTag = ANIM_TAG_RED_HEART,
+ .paletteTag = ANIM_TAG_RED_HEART,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8106140,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85939B8 =
+{
+ .tileTag = ANIM_TAG_RED_HEART,
+ .paletteTag = ANIM_TAG_RED_HEART,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81061C4,
+};
+
+const struct SpriteTemplate gUnknown_085939D0 =
+{
+ .tileTag = ANIM_TAG_RED_HEART,
+ .paletteTag = ANIM_TAG_RED_HEART,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810624C,
+};
+
+const union AffineAnimCmd gUnknown_085939E8[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08593A00[] =
+{
+ gUnknown_085939E8,
+};
+
+const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_RED_ORB,
+ .paletteTag = ANIM_TAG_RED_ORB,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593A00,
+ .callback = sub_810673C,
+};
+
+const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_RED_ORB,
+ .paletteTag = ANIM_TAG_RED_ORB,
+ .oam = &gUnknown_085249CC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593A00,
+ .callback = sub_8106878,
+};
+
+const union AffineAnimCmd gUnknown_08593A34[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08593A4C[] =
+{
+ gUnknown_08593A34,
+};
+
+const struct SpriteTemplate gUnknown_08593A50 =
+{
+ .tileTag = ANIM_TAG_RED_ORB_2,
+ .paletteTag = ANIM_TAG_RED_ORB_2,
+ .oam = &gUnknown_085249C4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593A4C,
+ .callback = sub_8106944,
+};
+
+const union AnimCmd gUnknown_08593A68[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593A80[] =
+{
+ gUnknown_08593A68,
+};
+
+const struct SpriteTemplate gUnknown_08593A84 =
+{
+ .tileTag = ANIM_TAG_EYE_SPARKLE,
+ .paletteTag = ANIM_TAG_EYE_SPARKLE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08593A80,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81069B8,
+};
+
+const union AnimCmd gUnknown_08593A9C[] =
+{
+ ANIMCMD_FRAME(0, 24),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593AA4[] =
+{
+ gUnknown_08593A9C,
+};
+
+const struct SpriteTemplate gUnknown_08593AA8 =
+{
+ .tileTag = ANIM_TAG_ANGEL,
+ .paletteTag = ANIM_TAG_ANGEL,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593AA4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81069D0,
+};
+
+const struct SpriteTemplate gUnknown_08593AC0 =
+{
+ .tileTag = ANIM_TAG_PINK_HEART,
+ .paletteTag = ANIM_TAG_PINK_HEART,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8106AD0,
+};
+
+const union AnimCmd gUnknown_08593AD8[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08593AE0[] =
+{
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08593AE8[] =
+{
+ gUnknown_08593AD8,
+ gUnknown_08593AE0,
+};
+
+const struct SpriteTemplate gUnknown_08593AF0 =
+{
+ .tileTag = ANIM_TAG_DEVIL,
+ .paletteTag = ANIM_TAG_DEVIL,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593AE8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8106B54,
+};
+
+const union AnimCmd gUnknown_08593B08[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08593B1C[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593B30[] =
+{
+ gUnknown_08593B08,
+ gUnknown_08593B1C,
+};
+
+const struct SpriteTemplate gUnknown_08593B38 =
+{
+ .tileTag = ANIM_TAG_SWIPE,
+ .paletteTag = ANIM_TAG_SWIPE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593B30,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8106C80,
+};
+
+const union AnimCmd gUnknown_08593B50[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(16, 8),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08593B64[] =
+{
+ ANIMCMD_FRAME(16, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593B78[] =
+{
+ gUnknown_08593B50,
+ gUnknown_08593B64,
+};
+
+const struct SpriteTemplate gUnknown_08593B80 =
+{
+ .tileTag = ANIM_TAG_MOVEMENT_WAVES,
+ .paletteTag = ANIM_TAG_MOVEMENT_WAVES,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593B78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8106CD0,
+};
+
+const union AffineAnimCmd gUnknown_08593B98[] =
+{
+ AFFINEANIMCMD_FRAME(-12, 8, 0, 4),
+ AFFINEANIMCMD_FRAME(20, -20, 0, 4),
+ AFFINEANIMCMD_FRAME(-8, 12, 0, 4),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8593BB8 =
+{
+ .tileTag = ANIM_TAG_JAGGED_MUSIC_NOTE,
+ .paletteTag = ANIM_TAG_JAGGED_MUSIC_NOTE,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8106E00,
+};
+
+const union AffineAnimCmd gUnknown_08593BD0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 5),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593BE0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 16),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd gUnknown_08593BF0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 16),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08593C00[] =
+{
+ gUnknown_08593BD0,
+ gUnknown_08593BE0,
+ gUnknown_08593BF0,
+};
+
+extern const union AnimCmd *const gUnknown_08592FCC[];
+const struct SpriteTemplate gUnknown_08593C0C =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES_2,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593C00,
+ .callback = sub_8106F60,
+};
+
+const struct SpriteTemplate gUnknown_08593C24 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES_2,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593C00,
+ .callback = sub_8106F00,
+};
+
+const union AffineAnimCmd gUnknown_08593C3C[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593C4C[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08593C5C[] =
+{
+ gUnknown_08593C3C,
+ gUnknown_08593C4C,
+};
+
+const struct SpriteTemplate gUnknown_08593C64 =
+{
+ .tileTag = ANIM_TAG_GUARD_RING,
+ .paletteTag = ANIM_TAG_GUARD_RING,
+ .oam = &gUnknown_08524B1C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593C5C,
+ .callback = sub_81070AC,
+};
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 9f2526295..4b7ee9a61 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -26,6 +26,11 @@
#include "constants/abilities.h"
#include "daycare.h"
#include "overworld.h"
+#include "scanline_effect.h"
+#include "field_weather.h"
+#include "international_string_util.h"
+#include "naming_screen.h"
+#include "field_screen.h"
#include "battle.h" // to get rid of later
struct EggHatchData
@@ -55,14 +60,7 @@ extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[];
-extern u8 sav1_map_get_name(void);
-extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8);
-extern void FadeScreen(u8, u8);
-extern void overworld_free_bg_tilemaps(void);
-extern void sub_80AF168(void);
-extern void ScanlineEffect_Stop(void);
extern void play_some_sound(void);
-extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback);
extern u16 sub_80D22D0(void);
extern u8 CountPartyAliveNonEggMonsExcept(u8);
@@ -254,7 +252,7 @@ static const struct BgTemplate sBgTemplates_EggHatch[2] =
static const struct WindowTemplate sWinTemplates_EggHatch[2] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 26,
@@ -267,7 +265,7 @@ static const struct WindowTemplate sWinTemplates_EggHatch[2] =
static const struct WindowTemplate sYesNoWinTemplate =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 9,
.width = 5,
@@ -307,7 +305,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
u32 personality, pokerus;
u8 i, friendship, language, gameMet, markings, obedience;
u16 moves[4];
- u32 ivs[6];
+ u32 ivs[NUM_STATS];
species = GetMonData(egg, MON_DATA_SPECIES);
@@ -319,7 +317,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
personality = GetMonData(egg, MON_DATA_PERSONALITY);
- for (i = 0; i < 6; i++)
+ for (i = 0; i < NUM_STATS; i++)
{
ivs[i] = GetMonData(egg, MON_DATA_HP_IV + i);
}
@@ -337,7 +335,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
SetMonData(temp, MON_DATA_MOVE1 + i, &moves[i]);
}
- for (i = 0; i < 6; i++)
+ for (i = 0; i < NUM_STATS; i++)
{
SetMonData(temp, MON_DATA_HP_IV + i, &ivs[i]);
}
@@ -673,7 +671,7 @@ static void CB2_EggHatch_1(void)
}
break;
case 10:
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3);
diff --git a/src/electric.c b/src/electric.c
new file mode 100644
index 000000000..5d65915b2
--- /dev/null
+++ b/src/electric.c
@@ -0,0 +1,438 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_810A1A8(struct Sprite *);
+extern void sub_810A214(struct Sprite *);
+extern void sub_810A274(struct Sprite *);
+extern void sub_810A308(struct Sprite *);
+extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
+extern void sub_810A46C(struct Sprite *);
+extern void sub_810A5BC(struct Sprite *);
+extern void sub_810A628(struct Sprite *);
+extern void sub_810A75C(struct Sprite *);
+extern void sub_810A9DC(struct Sprite *);
+extern void sub_810AA2C(struct Sprite *);
+extern void sub_810ACD8(struct Sprite *);
+extern void sub_810AD30(struct Sprite *);
+extern void sub_810AD98(struct Sprite *);
+extern void sub_810B1F0(struct Sprite *);
+extern void sub_810B23C(struct Sprite *);
+extern void sub_810B51C(struct Sprite *);
+
+const union AnimCmd gUnknown_085956A4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085956BC[] =
+{
+ gUnknown_085956A4,
+};
+
+const struct SpriteTemplate gUnknown_085956C0 =
+{
+ .tileTag = ANIM_TAG_LIGHTNING,
+ .paletteTag = ANIM_TAG_LIGHTNING,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085956BC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A1A8,
+};
+
+const union AffineAnimCmd gUnknown_085956D8[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 60),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085956F8[] =
+{
+ gUnknown_085956D8,
+};
+
+const struct SpriteTemplate gUnknown_085956FC =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085956F8,
+ .callback = sub_810A214,
+};
+
+const union AnimCmd gUnknown_08595714[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_FRAME(80, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595730[] =
+{
+ gUnknown_08595714,
+};
+
+const struct SpriteTemplate gUnknown_08595734 =
+{
+ .tileTag = ANIM_TAG_SHOCK,
+ .paletteTag = ANIM_TAG_SHOCK,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595730,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A274,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A308,
+};
+
+const struct SpriteTemplate gUnknown_08595764 =
+{
+ .tileTag = ANIM_TAG_BLACK_BALL_2,
+ .paletteTag = ANIM_TAG_BLACK_BALL_2,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const union AffineAnimCmd gUnknown_0859577C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_0859578C[] =
+{
+ gUnknown_0859577C,
+};
+
+const struct SpriteTemplate gUnknown_08595790 =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859578C,
+ .callback = sub_810A46C,
+};
+
+const union AnimCmd gUnknown_085957A8[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085957B8[] =
+{
+ gUnknown_085957A8,
+};
+
+const union AffineAnimCmd gUnknown_085957BC[] =
+{
+ AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_085957DC[] =
+{
+ gUnknown_085957BC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 =
+{
+ .tileTag = ANIM_TAG_SHOCK_3,
+ .paletteTag = ANIM_TAG_SHOCK_3,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085957B8,
+ .images = NULL,
+ .affineAnims = gUnknown_085957DC,
+ .callback = sub_810A5BC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859578C,
+ .callback = sub_810A628,
+};
+
+const struct SpriteTemplate gElectricitySpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A75C,
+};
+
+const struct SpriteTemplate gUnknown_08595828 =
+{
+ .tileTag = ANIM_TAG_SPARK,
+ .paletteTag = ANIM_TAG_SPARK,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A9DC,
+};
+
+const struct SpriteTemplate gUnknown_08595840 =
+{
+ .tileTag = ANIM_TAG_SPARK_H,
+ .paletteTag = ANIM_TAG_SPARK_H,
+ .oam = &gUnknown_08524934,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810AA2C,
+};
+
+const s8 gUnknown_08595858[][2] =
+{
+ { 58, -60},
+ {-56, -36},
+ { 8, -56},
+ {-16, 56},
+ { 58, -10},
+ {-58, 10},
+ { 48, -18},
+ {-8, 56},
+ { 16, -56},
+ {-58, -42},
+ { 58, 30},
+ {-48, 40},
+ { 12, -48},
+ { 48, -12},
+ {-56, 18},
+ { 48, 48},
+};
+
+const union AnimCmd gUnknown_08595878[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859588C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(3, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085958A0[] =
+{
+ gUnknown_08595878,
+ gUnknown_0859588C,
+};
+
+const struct SpriteTemplate gUnknown_085958A8 =
+{
+ .tileTag = ANIM_TAG_ELECTRIC_ORBS,
+ .paletteTag = ANIM_TAG_ELECTRIC_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085958A0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const union AffineAnimCmd gUnknown_085958C0[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60),
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5),
+ AFFINEANIMCMD_LOOP(10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595900[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5),
+ AFFINEANIMCMD_JUMP(3),
+};
+
+const union AffineAnimCmd gUnknown_08595930[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 30),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595950[] =
+{
+ gUnknown_085958C0,
+ gUnknown_08595900,
+ gUnknown_08595930,
+};
+
+const struct SpriteTemplate gUnknown_0859595C =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595950,
+ .callback = sub_810ACD8,
+};
+
+const union AnimCmd gUnknown_08595974[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595988[] =
+{
+ gUnknown_08595974,
+};
+
+const struct SpriteTemplate gUnknown_0859598C =
+{
+ .tileTag = ANIM_TAG_ELECTRICITY,
+ .paletteTag = ANIM_TAG_ELECTRICITY,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595988,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810AD30,
+};
+
+const struct SpriteTemplate gUnknown_085959A4 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595950,
+ .callback = sub_810AD98,
+};
+
+const union AnimCmd gUnknown_085959BC[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085959C4[] =
+{
+ ANIMCMD_FRAME(2, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085959CC[] =
+{
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085959D4[] =
+{
+ ANIMCMD_FRAME(6, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085959DC[] =
+{
+ gUnknown_085959BC,
+ gUnknown_085959C4,
+ gUnknown_085959CC,
+ gUnknown_085959D4,
+};
+
+const union AffineAnimCmd gUnknown_085959EC[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085959FC[] =
+{
+ gUnknown_085959EC,
+};
+
+const struct SpriteTemplate gUnknown_08595A00 =
+{
+ .tileTag = ANIM_TAG_SPARK,
+ .paletteTag = ANIM_TAG_SPARK,
+ .oam = &gUnknown_08524A04,
+ .anims = gUnknown_085959DC,
+ .images = NULL,
+ .affineAnims = gUnknown_085959FC,
+ .callback = sub_810B1F0,
+};
+
+const struct SpriteTemplate gUnknown_08595A18 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595950,
+ .callback = sub_810B23C,
+};
+
+const struct SpriteTemplate gUnknown_08595A30 =
+{
+ .tileTag = ANIM_TAG_SPARK,
+ .paletteTag = ANIM_TAG_SPARK,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B51C,
+};
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index 57f72b284..e509c7738 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -18,13 +18,37 @@
#include "random.h"
#include "rom_818CFC8.h"
#include "sprite.h"
+#include "task.h"
#include "trainer_see.h"
#include "util.h"
#include "constants/event_object_movement_constants.h"
#include "constants/event_objects.h"
+#include "constants/field_effects.h"
// this file was known as evobjmv.c in Game Freak's original source
+#define movement_type_def(setup, table) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return table[sprite->data[1]](eventObject, sprite);\
+}
+
+#define movement_type_empty_callback(setup) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return 0;\
+}
+
EWRAM_DATA u8 sCurrentReflectionType = 0;
EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0;
EWRAM_DATA struct LockedAnimEventObjects *gLockedAnimEventObjects = {0};
@@ -42,7 +66,7 @@ static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *, s16, s
static bool8 IsMetatileDirectionallyImpassable(struct EventObject *, s16, s16, u8);
static bool8 DoesObjectCollideWithObjectAt(struct EventObject *, s16, s16);
static void sub_8096530(struct EventObject *, struct Sprite *);
-static void npc_update_obj_anim_flag(struct EventObject *, struct Sprite *);
+static void UpdateEventObjSpriteVisibility(struct EventObject *, struct Sprite *);
static void EventObjectUpdateMetatileBehaviors(struct EventObject*);
static void GetGroundEffectFlags_Reflection(struct EventObject*, u32*);
static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject*, u32*);
@@ -73,7 +97,7 @@ static void sub_8097D68(struct Sprite*);
static void ApplyLevitateMovement(u8);
static bool8 MovementType_Disguise_Callback(struct EventObject *, struct Sprite *);
static bool8 MovementType_Hidden_Callback(struct EventObject *, struct Sprite *);
-static void sub_808D450(void);
+static void CreateReflectionEffectSprites(void);
static u8 GetEventObjectIdByLocalId(u8);
static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8);
static bool8 GetAvailableEventObjectId(u16, u8, u8, u8 *);
@@ -84,7 +108,7 @@ static void UpdateEventObjectVisibility(struct EventObject *, struct Sprite *);
static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **);
static void GetEventObjectMovingCameraOffset(s16 *, s16 *);
static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8);
-static void sub_808E894(u16);
+static void LoadEventObjectPalette(u16);
static void RemoveEventObjectIfOutsideView(struct EventObject *);
static void sub_808E1B8(u8, s16, s16);
static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8);
@@ -100,6 +124,8 @@ static void CameraObject_2(struct Sprite *);
static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count);
static void ClearEventObjectMovement(struct EventObject *, struct Sprite *);
static void EventObjectSetSingleMovement(struct EventObject *, struct Sprite *, u8);
+static void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
+static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *);
const u8 gReflectionEffectPaletteMap[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0};
@@ -625,7 +651,6 @@ const u16 gObjectPaletteTags3[] = {
EVENT_OBJ_PAL_TAG_7,
};
-
const u16 *const gObjectPaletteTagSets[] = {
gObjectPaletteTags0,
gObjectPaletteTags1,
@@ -1078,19 +1103,19 @@ static void ClearAllEventObjects(void)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
ClearEventObject(&gEventObjects[i]);
}
-void sub_808D438(void)
+void ResetEventObjects(void)
{
ClearLinkPlayerEventObjects();
ClearAllEventObjects();
ClearPlayerAvatarInfo();
- sub_808D450();
+ CreateReflectionEffectSprites();
}
-static void sub_808D450(void)
+static void CreateReflectionEffectSprites(void)
{
u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31);
gSprites[spriteId].oam.affineMode = 1;
@@ -1108,7 +1133,7 @@ static void sub_808D450(void)
u8 GetFirstInactiveEventObjectId(void)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (!gEventObjects[i].active)
break;
@@ -1119,7 +1144,7 @@ u8 GetFirstInactiveEventObjectId(void)
u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId)
{
- if (localId < 0xff)
+ if (localId < 0xFF)
{
return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId);
}
@@ -1129,7 +1154,7 @@ u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId)
bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *eventObjectId)
{
*eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroupId);
- if (*eventObjectId == NUM_EVENT_OBJECTS)
+ if (*eventObjectId == EVENT_OBJECTS_COUNT)
return TRUE;
else
return FALSE;
@@ -1138,7 +1163,7 @@ bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u
u8 GetEventObjectIdByXY(s16 x, s16 y)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y)
break;
@@ -1150,25 +1175,25 @@ u8 GetEventObjectIdByXY(s16 x, s16 y)
static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroupId)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroupId)
return i;
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
static u8 GetEventObjectIdByLocalId(u8 localId)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active && gEventObjects[i].localId == localId)
return i;
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
// This function has the same nonmatching quirk as in Ruby/Sapphire.
@@ -1183,7 +1208,7 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template,
// mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7)
if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId))
{
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
eventObject = &gEventObjects[eventObjectId];
ClearEventObject(eventObject);
@@ -1387,24 +1412,24 @@ static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *tem
u8 Unref_TryInitLocalEventObject(u8 localId)
{
u8 i;
- u8 nObjects;
+ u8 eventObjectCount;
struct EventObjectTemplate *template;
if (gMapHeader.events != NULL)
{
if (InBattlePyramid())
{
- nObjects = sub_81AAA40();
+ eventObjectCount = sub_81AAA40();
}
else if (InTrainerHill())
{
- nObjects = 2;
+ eventObjectCount = 2;
}
else
{
- nObjects = gMapHeader.events->eventObjectCount;
+ eventObjectCount = gMapHeader.events->eventObjectCount;
}
- for (i = 0; i < nObjects; i++)
+ for (i = 0; i < eventObjectCount; i++)
{
template = &gSaveBlock1Ptr->eventObjectTemplates[i];
if (template->localId == localId && !FlagGet(template->flagId))
@@ -1413,7 +1438,7 @@ u8 Unref_TryInitLocalEventObject(u8 localId)
}
}
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId)
@@ -1425,14 +1450,14 @@ static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *
{
u8 i = 0;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (!gEventObjects[i].active)
break;
if (gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup)
return TRUE;
}
- if (i >= NUM_EVENT_OBJECTS)
+ if (i >= EVENT_OBJECTS_COUNT)
return TRUE;
*eventObjectId = i;
do
@@ -1440,7 +1465,7 @@ static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *
if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup)
return TRUE;
i++;
- } while (i < NUM_EVENT_OBJECTS);
+ } while (i < EVENT_OBJECTS_COUNT);
return FALSE;
}
@@ -1472,7 +1497,7 @@ void RemoveAllEventObjectsExceptPlayer(void)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (i != gPlayerAvatar.eventObjectId)
RemoveEventObject(&gEventObjects[i]);
@@ -1481,16 +1506,16 @@ void RemoveAllEventObjectsExceptPlayer(void)
static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY)
{
+ u8 spriteId;
+ u8 paletteSlot;
+ u8 eventObjectId;
+ struct Sprite *sprite;
struct EventObject *eventObject;
const struct EventObjectGraphicsInfo *graphicsInfo;
- struct Sprite *sprite;
- u8 eventObjectId;
- u8 paletteSlot;
- u8 spriteId;
eventObjectId = InitEventObjectStateFromTemplate(eventObjectTemplate, mapNum, mapGroup);
- if (eventObjectId == NUM_EVENT_OBJECTS)
- return NUM_EVENT_OBJECTS;
+ if (eventObjectId == EVENT_OBJECTS_COUNT)
+ return EVENT_OBJECTS_COUNT;
eventObject = &gEventObjects[eventObjectId];
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
@@ -1508,7 +1533,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
paletteSlot -= 16;
sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot);
}
- if (eventObject->movementType == 0x4c)
+ if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE)
{
eventObject->invisible = TRUE;
}
@@ -1517,7 +1542,7 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
if (spriteId == MAX_SPRITES)
{
gEventObjects[eventObjectId].active = FALSE;
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
sprite = &gSprites[spriteId];
sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y);
@@ -1541,21 +1566,20 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTempl
static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY)
{
- const struct EventObjectGraphicsInfo *graphicsInfo;
+ u8 eventObjectId;
struct SpriteTemplate spriteTemplate;
- const struct SubspriteTable *subspriteTables;
struct SpriteFrameImage spriteFrameImage;
- u8 eventObjectId;
+ const struct EventObjectGraphicsInfo *graphicsInfo;
+ const struct SubspriteTable *subspriteTables = NULL;
- subspriteTables = NULL;
graphicsInfo = GetEventObjectGraphicsInfo(eventObjectTemplate->graphicsId);
MakeObjectTemplateFromEventObjectTemplate(eventObjectTemplate, &spriteTemplate, &subspriteTables);
spriteFrameImage.size = graphicsInfo->size;
spriteTemplate.images = &spriteFrameImage;
eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY);
- if (eventObjectId == NUM_EVENT_OBJECTS)
+ if (eventObjectId == EVENT_OBJECTS_COUNT)
{
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images;
if (subspriteTables != NULL)
@@ -1603,29 +1627,29 @@ u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup)
eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup);
if (eventObjectTemplate == NULL)
{
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
GetEventObjectMovingCameraOffset(&cameraX, &cameraY);
return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY);
}
-static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables)
+static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
- const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId);
+ const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId);
- sprTemplate->tileTag = gfxInfo->tileTag;
- sprTemplate->paletteTag = gfxInfo->paletteTag1;
- sprTemplate->oam = gfxInfo->oam;
- sprTemplate->anims = gfxInfo->anims;
- sprTemplate->images = gfxInfo->images;
- sprTemplate->affineAnims = gfxInfo->affineAnims;
- sprTemplate->callback = callback;
- *subspriteTables = gfxInfo->subspriteTables;
+ spriteTemplate->tileTag = graphicsInfo->tileTag;
+ spriteTemplate->paletteTag = graphicsInfo->paletteTag1;
+ spriteTemplate->oam = graphicsInfo->oam;
+ spriteTemplate->anims = graphicsInfo->anims;
+ spriteTemplate->images = graphicsInfo->images;
+ spriteTemplate->affineAnims = graphicsInfo->affineAnims;
+ spriteTemplate->callback = callback;
+ *subspriteTables = graphicsInfo->subspriteTables;
}
-static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables)
+static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
{
- MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], sprTemplate, subspriteTables);
+ MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], spriteTemplate, subspriteTables);
}
static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables)
@@ -1638,37 +1662,37 @@ u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x
struct SpriteTemplate *spriteTemplate;
const struct SubspriteTable *subspriteTables;
struct Sprite *sprite;
- u8 spriteIdx;
+ u8 spriteId;
spriteTemplate = malloc(sizeof(struct SpriteTemplate));
MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables);
- if (spriteTemplate->paletteTag != 0xffff)
+ if (spriteTemplate->paletteTag != 0xFFFF)
{
- sub_808E894(spriteTemplate->paletteTag);
+ LoadEventObjectPalette(spriteTemplate->paletteTag);
}
- spriteIdx = CreateSprite(spriteTemplate, x, y, subpriority);
+ spriteId = CreateSprite(spriteTemplate, x, y, subpriority);
free(spriteTemplate);
- if (spriteIdx != MAX_SPRITES && subspriteTables != NULL)
+ if (spriteId != MAX_SPRITES && subspriteTables != NULL)
{
- sprite = &gSprites[spriteIdx];
+ sprite = &gSprites[spriteId];
SetSubspriteTables(sprite, subspriteTables);
sprite->subspriteMode = 2;
}
- return spriteIdx;
+ return spriteId;
}
u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
{
- const struct EventObjectGraphicsInfo *graphicsInfo;
- struct SpriteTemplate spriteTemplate;
- const struct SubspriteTable *subspriteTables;
u8 spriteId;
struct Sprite *sprite;
+ struct SpriteTemplate spriteTemplate;
+ const struct SubspriteTable *subspriteTables;
+ const struct EventObjectGraphicsInfo *graphicsInfo;
graphicsInfo = GetEventObjectGraphicsInfo(graphicsId);
MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, UpdateEventObjectSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables);
- *(u16 *)&spriteTemplate.paletteTag = 0xffff;
+ *(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
x += 7;
y += 7;
sub_80930E0(&x, &y, 8, 16);
@@ -1710,20 +1734,14 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction)
void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
{
u8 i;
- s16 left;
- s16 right;
- s16 top;
- s16 bottom;
u8 objectCount;
- s16 npcX;
- s16 npcY;
if (gMapHeader.events != NULL)
{
- left = gSaveBlock1Ptr->pos.x - 2;
- right = gSaveBlock1Ptr->pos.x + 17;
- top = gSaveBlock1Ptr->pos.y;
- bottom = gSaveBlock1Ptr->pos.y + 16;
+ s16 left = gSaveBlock1Ptr->pos.x - 2;
+ s16 right = gSaveBlock1Ptr->pos.x + 17;
+ s16 top = gSaveBlock1Ptr->pos.y;
+ s16 bottom = gSaveBlock1Ptr->pos.y + 16;
if (InBattlePyramid())
{
@@ -1741,8 +1759,8 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
for (i = 0; i < objectCount; i++)
{
struct EventObjectTemplate *template = &gSaveBlock1Ptr->eventObjectTemplates[i];
- npcX = template->x + 7;
- npcY = template->y + 7;
+ s16 npcX = template->x + 7;
+ s16 npcY = template->y + 7;
if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX
&& !FlagGet(template->flagId))
@@ -1753,12 +1771,10 @@ void TrySpawnEventObjects(s16 cameraX, s16 cameraY)
void RemoveEventObjectsOutsideView(void)
{
- u8 i;
- u8 j;
+ u8 i, j;
bool8 isActiveLinkPlayer;
- struct EventObject *eventObject;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerEventObjects); j++)
{
@@ -1767,7 +1783,7 @@ void RemoveEventObjectsOutsideView(void)
}
if (!isActiveLinkPlayer)
{
- eventObject = &gEventObjects[i];
+ struct EventObject *eventObject = &gEventObjects[i];
if (eventObject->active && !eventObject->isPlayer)
RemoveEventObjectIfOutsideView(eventObject);
@@ -1777,21 +1793,16 @@ void RemoveEventObjectsOutsideView(void)
static void RemoveEventObjectIfOutsideView(struct EventObject *eventObject)
{
- s16 left;
- s16 right;
- s16 top;
- s16 bottom;
-
- left = gSaveBlock1Ptr->pos.x - 2;
- right = gSaveBlock1Ptr->pos.x + 17;
- top = gSaveBlock1Ptr->pos.y;
- bottom = gSaveBlock1Ptr->pos.y + 16;
+ s16 left = gSaveBlock1Ptr->pos.x - 2;
+ s16 right = gSaveBlock1Ptr->pos.x + 17;
+ s16 top = gSaveBlock1Ptr->pos.y;
+ s16 bottom = gSaveBlock1Ptr->pos.y + 16;
if (eventObject->currentCoords.x >= left && eventObject->currentCoords.x <= right
- && eventObject->currentCoords.y >= top && eventObject->currentCoords.y <= bottom)
+ && eventObject->currentCoords.y >= top && eventObject->currentCoords.y <= bottom)
return;
if (eventObject->initialCoords.x >= left && eventObject->initialCoords.x <= right
- && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom)
+ && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom)
return;
RemoveEventObject(eventObject);
}
@@ -1801,26 +1812,26 @@ void sub_808E16C(s16 x, s16 y)
u8 i;
ClearPlayerAvatarInfo();
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active)
{
sub_808E1B8(i, x, y);
}
}
- sub_808D450();
+ CreateReflectionEffectSprites();
}
static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
{
u8 spriteId;
u8 paletteSlot;
+ struct Sprite *sprite;
struct EventObject *eventObject;
+ struct SpriteTemplate spriteTemplate;
+ struct SpriteFrameImage spriteFrameImage;
const struct SubspriteTable *subspriteTables;
const struct EventObjectGraphicsInfo *graphicsInfo;
- struct SpriteFrameImage spriteFrameImage;
- struct SpriteTemplate spriteTemplate;
- struct Sprite *sprite;
#define i spriteId
for (i = 0; i < ARRAY_COUNT(gLinkPlayerEventObjects); i++)
@@ -1838,7 +1849,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
spriteFrameImage.size = graphicsInfo->size;
MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &spriteTemplate, &subspriteTables);
spriteTemplate.images = &spriteFrameImage;
- *(u16 *)&spriteTemplate.paletteTag = 0xffff;
+ *(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
paletteSlot = graphicsInfo->paletteSlot;
if (paletteSlot == 0)
{
@@ -1853,7 +1864,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
paletteSlot -= 16;
sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot);
}
- *(u16 *)&spriteTemplate.paletteTag = 0xffff;
+ *(u16 *)&spriteTemplate.paletteTag = 0xFFFF;
spriteId = CreateSprite(&spriteTemplate, 0, 0, 0);
if (spriteId != MAX_SPRITES)
{
@@ -1864,7 +1875,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
sprite->pos1.x += 8;
sprite->pos1.y += 16 + sprite->centerToCornerVecY;
sprite->images = graphicsInfo->images;
- if (eventObject->movementType == 0x0b)
+ if (eventObject->movementType == MOVEMENT_TYPE_PLAYER)
{
SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId);
eventObject->warpArrowSpriteId = CreateWarpArrowSprite();
@@ -1877,7 +1888,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
sprite->coordOffsetEnabled = TRUE;
sprite->data[0] = eventObjectId;
eventObject->spriteId = spriteId;
- if (!eventObject->inanimate && eventObject->movementType != 0x0b)
+ if (!eventObject->inanimate && eventObject->movementType != MOVEMENT_TYPE_PLAYER)
{
StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection));
}
@@ -1888,7 +1899,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y)
static void sub_808E38C(struct EventObject *eventObject)
{
- eventObject->singleMovementActive = 0;
+ eventObject->singleMovementActive = FALSE;
eventObject->triggerGroundEffectsOnMove = TRUE;
eventObject->hasShadow = FALSE;
eventObject->hasReflection = FALSE;
@@ -1983,7 +1994,7 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction)
EventObjectTurn(&gEventObjects[playerAvatar->eventObjectId], direction);
}
-/*static*/ void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite)
+static void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite)
{
u8 berryStage;
u8 berryId;
@@ -1996,7 +2007,7 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction)
eventObject->invisible = FALSE;
sprite->invisible = FALSE;
berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1;
- berryStage -= 1;
+ berryStage--;
if (berryId >= NUM_BERRIES)
{
berryId = 0;
@@ -2059,7 +2070,7 @@ void sub_808E75C(s16 x, s16 y)
struct EventObject *eventObject;
eventObjectId = GetEventObjectIdByXY(x, y);
- if (eventObjectId != NUM_EVENT_OBJECTS)
+ if (eventObjectId != EVENT_OBJECTS_COUNT)
{
eventObject = &gEventObjects[eventObjectId];
eventObject->triggerGroundEffectsOnMove = TRUE;
@@ -2113,42 +2124,40 @@ void FreeAndReserveObjectSpritePalettes(void)
gReservedSpritePaletteCount = 12;
}
-static void sub_808E894(u16 paletteTag)
+static void LoadEventObjectPalette(u16 paletteTag)
{
- u16 paletteSlot;
+ u16 i = FindEventObjectPaletteIndexByTag(paletteTag);
- paletteSlot = FindEventObjectPaletteIndexByTag(paletteTag);
- if (paletteSlot != EVENT_OBJ_PAL_TAG_NONE) // always true
+ if (i != EVENT_OBJ_PAL_TAG_NONE) // always true
{
- sub_808E8F4(&sEventObjectSpritePalettes[paletteSlot]);
+ sub_808E8F4(&sEventObjectSpritePalettes[i]);
}
}
-void sub_808E8C0(u16 *paletteTags)
+void Unused_LoadEventObjectPaletteSet(u16 *paletteTags)
{
u8 i;
for (i = 0; paletteTags[i] != EVENT_OBJ_PAL_TAG_NONE; i++)
{
- sub_808E894(paletteTags[i]);
+ LoadEventObjectPalette(paletteTags[i]);
}
}
static u8 sub_808E8F4(const struct SpritePalette *spritePalette)
{
- if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xff)
+ if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xFF)
{
- return 0xff;
+ return 0xFF;
}
return LoadSpritePalette(spritePalette);
}
void PatchObjectPalette(u16 paletteTag, u8 paletteSlot)
{
- u16 paletteIdx;
+ u8 paletteIndex = FindEventObjectPaletteIndexByTag(paletteTag);
- paletteIdx = FindEventObjectPaletteIndexByTag(paletteTag);
- LoadPalette(sEventObjectSpritePalettes[paletteIdx].data, 16 * paletteSlot + 256, 0x20);
+ LoadPalette(sEventObjectSpritePalettes[paletteIndex].data, 16 * paletteSlot + 0x100, 0x20);
}
void PatchObjectPaletteRange(const u16 *paletteTags, u8 minSlot, u8 maxSlot)
@@ -2172,7 +2181,7 @@ static u8 FindEventObjectPaletteIndexByTag(u16 tag)
return i;
}
}
- return 0xff;
+ return 0xFF;
}
void LoadPlayerObjectReflectionPalette(u16 tag, u8 slot)
@@ -2227,7 +2236,7 @@ void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
eventObject->currentCoords.y = y;
}
-/*static*/ void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
+static void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y)
{
eventObject->previousCoords.x = x;
eventObject->previousCoords.y = y;
@@ -2282,7 +2291,7 @@ void UpdateEventObjectCoordsForCameraUpdate(void)
{
dx = gCamera.x;
dy = gCamera.y;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active)
{
@@ -2300,7 +2309,8 @@ void UpdateEventObjectCoordsForCameraUpdate(void)
u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z)
{
u8 i;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
if (gEventObjects[i].active)
{
@@ -2310,7 +2320,7 @@ u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z)
}
}
}
- return NUM_EVENT_OBJECTS;
+ return EVENT_OBJECTS_COUNT;
}
static bool8 EventObjectDoesZCoordMatch(struct EventObject *eventObject, u8 z)
@@ -2331,9 +2341,8 @@ void UpdateEventObjectsForCameraUpdate(s16 x, s16 y)
u8 AddCameraObject(u8 linkedSpriteId)
{
- u8 spriteId;
+ u8 spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4);
- spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4);
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].data[0] = linkedSpriteId;
return spriteId;
@@ -2358,11 +2367,9 @@ static void CameraObject_0(struct Sprite *sprite)
static void CameraObject_1(struct Sprite *sprite)
{
- s16 x;
- s16 y;
+ s16 x = gSprites[sprite->data[0]].pos1.x;
+ s16 y = gSprites[sprite->data[0]].pos1.y;
- y = gSprites[sprite->data[0]].pos1.y;
- x = gSprites[sprite->data[0]].pos1.x;
sprite->data[2] = x - sprite->pos1.x;
sprite->data[3] = y - sprite->pos1.y;
sprite->pos1.x = x;
@@ -2379,13 +2386,13 @@ static void CameraObject_2(struct Sprite *sprite)
static struct Sprite *FindCameraObject(void)
{
- u8 spriteId;
+ u8 i;
- for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++)
+ for (i = 0; i < MAX_SPRITES; i++)
{
- if (gSprites[spriteId].inUse && gSprites[spriteId].callback == ObjectCB_CameraObject)
+ if (gSprites[i].inUse && gSprites[i].callback == ObjectCB_CameraObject)
{
- return &gSprites[spriteId];
+ return &gSprites[i];
}
}
return NULL;
@@ -2454,7 +2461,7 @@ u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
{
s16 i;
- for (i = MAX_SPRITES - 1; i > -1; i --)
+ for (i = MAX_SPRITES - 1; i > -1; i--)
{
if (!gSprites[i].inUse)
{
@@ -2574,7 +2581,7 @@ struct EventObjectTemplate *GetBaseTemplateForEventObject(const struct EventObje
{
return NULL;
}
- for (i = 0; i < 64; i++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble)
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
{
if (eventObject->localId == gSaveBlock1Ptr->eventObjectTemplates[i].localId)
{
@@ -2978,10 +2985,8 @@ u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy)
u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 movementType)
{
- s16 dx;
- s16 dy;
- s16 absdx;
- s16 absdy;
+ s16 dx, dy;
+ s16 absdx, absdy;
if (!EventObjectIsTrainerAndCloseToPlayer(eventObject))
{
@@ -4449,7 +4454,7 @@ bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *eventObject, struct Sp
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4468,7 +4473,7 @@ bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *eventObject, struct Sp
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4487,7 +4492,7 @@ bool8 CopyablePlayerMovement_Slide(struct EventObject *eventObject, struct Sprit
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4499,7 +4504,7 @@ bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u
direction = playerDirection;
direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction);
EventObjectSetSingleMovement(eventObject, sprite, GetJumpInPlaceMovementAction(direction));
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4518,7 +4523,7 @@ bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *eventObject, struct Sp
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4539,7 +4544,7 @@ bool8 CopyablePlayerMovement_Jump(struct EventObject *eventObject, struct Sprite
{
EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction));
}
- eventObject->singleMovementActive = 1;
+ eventObject->singleMovementActive = TRUE;
sprite->data[1] = 2;
return TRUE;
}
@@ -4951,7 +4956,7 @@ static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16
u8 i;
struct EventObject *curObject;
- for (i = 0; i < NUM_EVENT_OBJECTS; i++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
{
curObject = &gEventObjects[i];
if (curObject->active && curObject != eventObject)
@@ -5022,8 +5027,8 @@ void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
{
*dest_x = (x - gSaveBlock1Ptr->pos.x) << 4;
*dest_y = (y - gSaveBlock1Ptr->pos.y) << 4;
- *dest_x -= gUnknown_03005DEC;
- *dest_y -= gUnknown_03005DE8;
+ *dest_x -= gTotalCameraPixelOffsetX;
+ *dest_y -= gTotalCameraPixelOffsetY;
}
void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
@@ -5031,21 +5036,21 @@ void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
s16 dx;
s16 dy;
- dx = -gUnknown_03005DEC - gUnknown_03005DD0.x;
- dy = -gUnknown_03005DE8 - gUnknown_03005DD0.y;
- if (gUnknown_03005DD0.x > 0)
+ dx = -gTotalCameraPixelOffsetX - gFieldCamera.x;
+ dy = -gTotalCameraPixelOffsetY - gFieldCamera.y;
+ if (gFieldCamera.x > 0)
{
dx += 0x10;
}
- if (gUnknown_03005DD0.x < 0)
+ if (gFieldCamera.x < 0)
{
dx -= 0x10;
}
- if (gUnknown_03005DD0.y > 0)
+ if (gFieldCamera.y > 0)
{
dy += 0x10;
}
- if (gUnknown_03005DD0.y < 0)
+ if (gFieldCamera.y < 0)
{
dy -= 0x10;
}
@@ -5064,19 +5069,19 @@ static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y)
{
*x = 0;
*y = 0;
- if (gUnknown_03005DD0.x > 0)
+ if (gFieldCamera.x > 0)
{
(*x)++;
}
- if (gUnknown_03005DD0.x < 0)
+ if (gFieldCamera.x < 0)
{
(*x) --;
}
- if (gUnknown_03005DD0.y > 0)
+ if (gFieldCamera.y > 0)
{
(*y)++;
}
- if (gUnknown_03005DD0.y < 0)
+ if (gFieldCamera.y < 0)
{
(*y) --;
}
@@ -5332,7 +5337,7 @@ void npc_apply_direction(struct EventObject *eventObject, struct Sprite *sprite,
ShiftEventObjectCoords(eventObject, x, y);
oamt_npc_ministep_reset(sprite, direction, speed);
sprite->animPaused = FALSE;
- if (gLockedAnimEventObjects != NULL && FindLockedEventObjectIndex(eventObject) != NUM_EVENT_OBJECTS)
+ if (gLockedAnimEventObjects != NULL && FindLockedEventObjectIndex(eventObject) != EVENT_OBJECTS_COUNT)
{
sprite->animPaused = TRUE;
}
@@ -7435,7 +7440,7 @@ bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *eventObject,
bool8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- sub_8096200(eventObject, sprite, DIR_EAST, 1);
+ sub_8096200(eventObject, sprite, DIR_EAST, 1);
return MovementAction_AcroWheelieMoveRight_Step1(eventObject, sprite);
}
@@ -7490,7 +7495,7 @@ bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *eventObject,
bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- sub_8096330(eventObject, sprite, DIR_WEST, 1);
+ sub_8096330(eventObject, sprite, DIR_WEST, 1);
return MovementAction_AcroEndWheelieMoveLeft_Step1(eventObject, sprite);
}
@@ -7506,7 +7511,7 @@ bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *eventObjec
bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite)
{
- sub_8096330(eventObject, sprite, DIR_EAST, 1);
+ sub_8096330(eventObject, sprite, DIR_EAST, 1);
return MovementAction_AcroEndWheelieMoveRight_Step1(eventObject, sprite);
}
@@ -7578,15 +7583,13 @@ static void TryEnableEventObjectAnim(struct EventObject *eventObject, struct Spr
static void UpdateEventObjectVisibility(struct EventObject *eventObject, struct Sprite *sprite)
{
sub_8096530(eventObject, sprite);
- npc_update_obj_anim_flag(eventObject, sprite);
+ UpdateEventObjSpriteVisibility(eventObject, sprite);
}
static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite)
{
- u16 x;
- u16 y;
- u16 x2;
- u16 y2;
+ u16 x, y;
+ u16 x2, y2;
const struct EventObjectGraphicsInfo *graphicsInfo;
eventObject->offScreen = FALSE;
@@ -7615,7 +7618,7 @@ static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite)
}
}
-static void npc_update_obj_anim_flag(struct EventObject *eventObject, struct Sprite *sprite)
+static void UpdateEventObjSpriteVisibility(struct EventObject *eventObject, struct Sprite *sprite)
{
sprite->invisible = FALSE;
if (eventObject->invisible || eventObject->offScreen)
@@ -7624,7 +7627,7 @@ static void npc_update_obj_anim_flag(struct EventObject *eventObject, struct Spr
}
}
-/*static*/ void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags)
+static void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags)
{
EventObjectUpdateMetatileBehaviors(eventObj);
GetGroundEffectFlags_Reflection(eventObj, flags);
@@ -7650,7 +7653,7 @@ static void GetAllGroundEffectFlags_OnBeginStep(struct EventObject *eventObj, u3
GetGroundEffectFlags_HotSprings(eventObj, flags);
}
-/*static*/ void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags)
+static void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags)
{
EventObjectUpdateMetatileBehaviors(eventObj);
GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags);
@@ -7930,7 +7933,7 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z)
return 0;
}
-void EventObjectSetSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite)
+static void SetEventObjectSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite)
{
if (eventObj->disableCoveringGroundEffects)
return;
@@ -7983,7 +7986,7 @@ static const u8 sEventObjectPriorities_08376070[] = {
1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1,
};
-void EventObjectUpdateZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite)
+void UpdateEventObjectZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite)
{
if (eventObj->fixedPriority)
return;
@@ -8206,7 +8209,11 @@ void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *s
FieldEffectStart(FLDEFF_JUMP_TALL_GRASS);
spriteId = FindTallGrassFieldEffectSpriteId(
- eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y);
+ eventObj->localId,
+ eventObj->mapNum,
+ eventObj->mapGroup,
+ eventObj->currentCoords.x,
+ eventObj->currentCoords.y);
if (spriteId == MAX_SPRITES)
GroundEffect_SpawnOnTallGrass(eventObj, sprite);
@@ -8288,7 +8295,7 @@ static void (*const sGroundEffectFuncs[])(struct EventObject *eventObj, struct S
GroundEffect_Seaweed
};
-/*static*/ void DoFlaggedGroundEffects(struct EventObject *eventObj, struct Sprite *sprite, u32 flags)
+static void DoFlaggedGroundEffects(struct EventObject *eventObj, struct Sprite *sprite, u32 flags)
{
u8 i;
@@ -8329,9 +8336,9 @@ static void DoGroundEffects_OnSpawn(struct EventObject *eventObj, struct Sprite
if (eventObj->triggerGroundEffectsOnMove)
{
flags = 0;
- EventObjectUpdateZCoordAndPriority(eventObj, sprite);
+ UpdateEventObjectZCoordAndPriority(eventObj, sprite);
GetAllGroundEffectFlags_OnSpawn(eventObj, &flags);
- EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite);
+ SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite);
DoFlaggedGroundEffects(eventObj, sprite, flags);
eventObj->triggerGroundEffectsOnMove = 0;
eventObj->disableCoveringGroundEffects = 0;
@@ -8345,9 +8352,9 @@ static void DoGroundEffects_OnBeginStep(struct EventObject *eventObj, struct Spr
if (eventObj->triggerGroundEffectsOnMove)
{
flags = 0;
- EventObjectUpdateZCoordAndPriority(eventObj, sprite);
+ UpdateEventObjectZCoordAndPriority(eventObj, sprite);
GetAllGroundEffectFlags_OnBeginStep(eventObj, &flags);
- EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite);
+ SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite);
filters_out_some_ground_effects(eventObj, &flags);
DoFlaggedGroundEffects(eventObj, sprite, flags);
eventObj->triggerGroundEffectsOnMove = 0;
@@ -8362,9 +8369,9 @@ static void DoGroundEffects_OnFinishStep(struct EventObject *eventObj, struct Sp
if (eventObj->triggerGroundEffectsOnStop)
{
flags = 0;
- EventObjectUpdateZCoordAndPriority(eventObj, sprite);
+ UpdateEventObjectZCoordAndPriority(eventObj, sprite);
GetAllGroundEffectFlags_OnFinishStep(eventObj, &flags);
- EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite);
+ SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite);
FilterOutStepOnPuddleGroundEffectIfJumping(eventObj, &flags);
DoFlaggedGroundEffects(eventObj, sprite, flags);
eventObj->triggerGroundEffectsOnStop = 0;
@@ -8397,11 +8404,11 @@ void FreezeEventObjects(void)
FreezeEventObject(&gEventObjects[i]);
}
-void FreezeEventObjectsExceptOne(u8 a1)
+void FreezeEventObjectsExceptOne(u8 eventObjectId)
{
u8 i;
for (i = 0; i < EVENT_OBJECTS_COUNT; i++)
- if (i != a1 && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId)
+ if (i != eventObjectId && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId)
FreezeEventObject(&gEventObjects[i]);
}
@@ -8423,44 +8430,44 @@ void UnfreezeEventObjects(void)
UnfreezeEventObject(&gEventObjects[i]);
}
-void Step1(struct Sprite *sprite, u8 dir)
+static void Step1(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += sDirectionToVectors[dir].x;
sprite->pos1.y += sDirectionToVectors[dir].y;
}
-void Step2(struct Sprite *sprite, u8 dir)
+static void Step2(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y;
}
-void Step3(struct Sprite *sprite, u8 dir)
+static void Step3(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 2 * (u16) sDirectionToVectors[dir].x + (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 2 * (u16) sDirectionToVectors[dir].y + (u16) sDirectionToVectors[dir].y;
}
-void Step4(struct Sprite *sprite, u8 dir)
+static void Step4(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 4 * (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 4 * (u16) sDirectionToVectors[dir].y;
}
-void Step8(struct Sprite *sprite, u8 dir)
+static void Step8(struct Sprite *sprite, u8 dir)
{
sprite->pos1.x += 8 * (u16) sDirectionToVectors[dir].x;
sprite->pos1.y += 8 * (u16) sDirectionToVectors[dir].y;
}
-void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3)
+static void oamt_npc_ministep_reset(struct Sprite *sprite, u8 direction, u8 a3)
{
- sprite->data[3] = a2;
+ sprite->data[3] = direction;
sprite->data[4] = a3;
sprite->data[5] = 0;
}
-typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir);
+typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 direction);
static const SpriteStepFunc gUnknown_0850E6C4[] = {
Step1,
@@ -8540,9 +8547,9 @@ bool8 obj_npc_ministep(struct Sprite *sprite)
return TRUE;
}
-void sub_80976DC(struct Sprite *sprite, u8 a2)
+void sub_80976DC(struct Sprite *sprite, u8 direction)
{
- sprite->data[3] = a2;
+ sprite->data[3] = direction;
sprite->data[4] = 0;
sprite->data[5] = 0;
}
@@ -8563,7 +8570,7 @@ bool8 sub_80976EC(struct Sprite *sprite)
return FALSE;
}
-const s8 gUnknown_0850E772[] = {
+static const s8 gUnknown_0850E772[] = {
1, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 1, 2, 2, 1, 2,
2, 1, 2, 2, 1, 2, 1, 1,
@@ -8575,7 +8582,7 @@ const s8 gUnknown_0850E772[] = {
0, 1, 0, 0, 0, 0, 0, 0,
};
-const s8 gUnknown_0850E7BA[] = {
+static const s8 gUnknown_0850E7BA[] = {
0, 0, 1, 0, 0, 1, 0, 0,
1, 0, 1, 1, 0, 1, 1, 0,
1, 1, 0, 1, 1, 0, 1, 1,
@@ -8745,7 +8752,7 @@ u8 sub_80978E4(struct Sprite *sprite)
return v2;
}
-void SetMovementDelay(struct Sprite *sprite, s16 timer)
+static void SetMovementDelay(struct Sprite *sprite, s16 timer)
{
sprite->data[3] = timer;
}
@@ -8760,11 +8767,11 @@ static bool8 WaitForMovementDelay(struct Sprite *sprite)
return FALSE;
}
-void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3)
+void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex)
{
- sprite->animNum = a2;
- sprite->animPaused = 0 ;
- SeekSpriteAnim(sprite, a3);
+ sprite->animNum = animNum;
+ sprite->animPaused = FALSE;
+ SeekSpriteAnim(sprite, animCmdIndex);
}
bool8 SpriteAnimEnded(struct Sprite *sprite)
@@ -8802,7 +8809,7 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible)
sprite->invisible = TRUE;
}
-void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite)
+static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite)
{
sub_8097D68(sprite);
SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1);
@@ -8849,15 +8856,15 @@ void sub_8097BB4(u8 var1, u8 graphicsId)
if(spriteId != MAX_SPRITES)
{
struct Sprite *sprite = &gSprites[spriteId];
- const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId);
+ const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(graphicsId);
u16 tileNum = sprite->oam.tileNum;
- sprite->oam = *gfxInfo->oam;
+ sprite->oam = *graphicsInfo->oam;
sprite->oam.tileNum = tileNum;
- sprite->oam.paletteNum = gfxInfo->paletteSlot;
- sprite->images = gfxInfo->images;
+ sprite->oam.paletteNum = graphicsInfo->paletteSlot;
+ sprite->images = graphicsInfo->images;
- if(gfxInfo->subspriteTables == NULL)
+ if(graphicsInfo->subspriteTables == NULL)
{
sprite->subspriteTables = NULL;
sprite->subspriteTableNum = 0;
@@ -8865,7 +8872,7 @@ void sub_8097BB4(u8 var1, u8 graphicsId)
}
else
{
- SetSubspriteTables(sprite, gfxInfo->subspriteTables);
+ SetSubspriteTables(sprite, graphicsInfo->subspriteTables);
sprite->subspriteMode = 2;
}
StartSpriteAnim(sprite, 0);
@@ -8990,9 +8997,9 @@ void DoShadowFieldEffect(struct EventObject *eventObject)
static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite)
{
- const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
+ const struct EventObjectGraphicsInfo *graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
gFieldEffectArguments[0] = sprite->pos1.x;
- gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2;
+ gFieldEffectArguments[1] = sprite->pos1.y + (graphicsInfo->height >> 1) - 2;
gFieldEffectArguments[2] = 151;
gFieldEffectArguments[3] = 3;
FieldEffectStart(FLDEFF_RIPPLE);
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index 77f65289e..022599dfb 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -32,7 +32,7 @@ static void PreEvoInvisible_PostEvoVisible_KillTask(u8 taskID);
static void sub_817C560(u8 taskID);
static const u16 sEvoSparklePalette[] = INCBIN_U16("graphics/misc/evo_sparkle.gbapal");
-static const u8 sEvoSparkleTiles[] = INCBIN_U8("graphics/misc/evo_sparkle.4bpp.lz");
+static const u32 sEvoSparkleTiles[] = INCBIN_U32("graphics/misc/evo_sparkle.4bpp.lz");
static const struct CompressedSpriteSheet sEvoSparkleSpriteSheets[] =
{
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index c00aaeb15..0d2072a15 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -27,6 +27,7 @@
#include "link.h"
#include "util.h"
#include "trig.h"
+#include "data2.h"
struct EvoInfo
{
@@ -40,17 +41,6 @@ struct EvoInfo
static EWRAM_DATA struct EvoInfo *sEvoStructPtr = NULL;
static EWRAM_DATA u16 *sEvoMovingBgPtr = NULL;
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
-extern u16 gBattle_BG3_Y;
-extern bool8 gAffineAnimsDisabled;
-extern const u8 gSpeciesNames[][11];
-
#define sEvoCursorPos gBattleCommunication[1] // when learning a new move
#define sEvoGraphicsTaskID gBattleCommunication[2]
@@ -60,12 +50,9 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[];
// strings
extern const u8 gText_CommunicationStandby5[];
-extern void sub_80356D0(void);
extern void sub_807B154(void);
extern void sub_807F19C(void);
extern void sub_807B140(void);
-extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
-extern void Overworld_PlaySpecialMapMusic(void);
extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move);
extern u8 sub_81C1B94(void);
extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2);
@@ -535,7 +522,7 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri
gBattle_BG3_X = 256;
gBattle_BG3_Y = 0;
- gTextFlags.flag_1 = 1;
+ gTextFlags.useAlternateDownArrow = 1;
SetVBlankCallback(VBlankCB_TradeEvolutionScene);
SetMainCallback2(CB2_TradeEvolutionSceneUpdate);
@@ -1139,7 +1126,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
DestroyTask(taskID);
Free(sEvoStructPtr);
sEvoStructPtr = NULL;
- gTextFlags.flag_1 = 0;
+ gTextFlags.useAlternateDownArrow = 0;
SetMainCallback2(gCB2_AfterEvolution);
}
break;
@@ -1222,7 +1209,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
}
break;
case 4:
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
sEvoCursorPos = 0;
diff --git a/src/field_camera.c b/src/field_camera.c
index e8900e06a..b976cf2ff 100644
--- a/src/field_camera.c
+++ b/src/field_camera.c
@@ -15,71 +15,71 @@
EWRAM_DATA bool8 gUnusedBikeCameraAheadPanback = FALSE;
// Static type declarations
-struct FieldCameraUnknownStruct
+struct FieldCameraOffset
{
- u8 unk0;
- u8 unk1;
- u8 unk2;
- u8 unk3;
- bool8 unk4;
+ u8 xPixelOffset;
+ u8 yPixelOffset;
+ u8 xTileOffset;
+ u8 yTileOffset;
+ bool8 copyBGToVRAM;
};
// static functions
-static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout);
-static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout);
-static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout);
-static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout);
-static s32 MapPosToBgTilemapOffset(struct FieldCameraUnknownStruct *a, s32 x, s32 y);
+static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
+static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
+static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
+static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout);
+static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *a, s32 x, s32 y);
static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout);
static void DrawMetatileAt(const struct MapLayout *mapLayout, u16, int, int);
static void DrawMetatile(s32 a, u16 *b, u16 c);
static void CameraPanningCB_PanAhead(void);
// IWRAM bss vars
-static IWRAM_DATA struct FieldCameraUnknownStruct gUnknown_03000E20;
-static IWRAM_DATA s16 gUnknown_03000E28;
-static IWRAM_DATA s16 gUnknown_03000E2A;
+static IWRAM_DATA struct FieldCameraOffset sFieldCameraOffset;
+static IWRAM_DATA s16 sHorizontalCameraPan;
+static IWRAM_DATA s16 sVerticalCameraPan;
static IWRAM_DATA u8 gUnknown_03000E2C;
-static IWRAM_DATA void (*gUnknown_03000E30)(void);
+static IWRAM_DATA void (*sFieldCameraPanningCallback)(void);
-struct CameraObject gUnknown_03005DD0;
-u16 gUnknown_03005DE8;
-u16 gUnknown_03005DEC;
+struct CameraObject gFieldCamera;
+u16 gTotalCameraPixelOffsetY;
+u16 gTotalCameraPixelOffsetX;
// text
-static void move_tilemap_camera_to_upper_left_corner_(struct FieldCameraUnknownStruct *a)
+static void move_tilemap_camera_to_upper_left_corner_(struct FieldCameraOffset *cameraOffset)
{
- a->unk2 = 0;
- a->unk3 = 0;
- a->unk0 = 0;
- a->unk1 = 0;
- a->unk4 = TRUE;
+ cameraOffset->xTileOffset = 0;
+ cameraOffset->yTileOffset = 0;
+ cameraOffset->xPixelOffset = 0;
+ cameraOffset->yPixelOffset = 0;
+ cameraOffset->copyBGToVRAM = TRUE;
}
-static void tilemap_move_something(struct FieldCameraUnknownStruct *a, u32 b, u32 c)
+static void tilemap_move_something(struct FieldCameraOffset *cameraOffset, u32 b, u32 c)
{
- a->unk2 += b;
- a->unk2 %= 32;
- a->unk3 += c;
- a->unk3 %= 32;
+ cameraOffset->xTileOffset += b;
+ cameraOffset->xTileOffset %= 32;
+ cameraOffset->yTileOffset += c;
+ cameraOffset->yTileOffset %= 32;
}
-static void coords8_add(struct FieldCameraUnknownStruct *a, u32 b, u32 c)
+static void coords8_add(struct FieldCameraOffset *cameraOffset, u32 b, u32 c)
{
- a->unk0 += b;
- a->unk1 += c;
+ cameraOffset->xPixelOffset += b;
+ cameraOffset->yPixelOffset += c;
}
void move_tilemap_camera_to_upper_left_corner(void)
{
- move_tilemap_camera_to_upper_left_corner_(&gUnknown_03000E20);
+ move_tilemap_camera_to_upper_left_corner_(&sFieldCameraOffset);
}
void FieldUpdateBgTilemapScroll(void)
{
u32 r4, r5;
- r5 = gUnknown_03000E20.unk0 + gUnknown_03000E28;
- r4 = gUnknown_03000E2A + gUnknown_03000E20.unk1 + 8;
+ r5 = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan;
+ r4 = sVerticalCameraPan + sFieldCameraOffset.yPixelOffset + 8;
SetGpuReg(REG_OFFSET_BG1HOFS, r5);
SetGpuReg(REG_OFFSET_BG1VOFS, r4);
@@ -91,14 +91,14 @@ void FieldUpdateBgTilemapScroll(void)
void sub_8089C08(s16 *a, s16 *b)
{
- *a = gUnknown_03000E20.unk0 + gUnknown_03000E28;
- *b = gUnknown_03000E20.unk1 + gUnknown_03000E2A + 8;
+ *a = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan;
+ *b = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8;
}
void DrawWholeMapView(void)
{
DrawWholeMapViewInternal(gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y, gMapHeader.mapLayout);
- gUnknown_03000E20.unk4 = TRUE;
+ sFieldCameraOffset.copyBGToVRAM = TRUE;
}
static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout)
@@ -110,13 +110,13 @@ static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLa
for (i = 0; i < 32; i += 2)
{
- temp = gUnknown_03000E20.unk3 + i;
+ temp = sFieldCameraOffset.yTileOffset + i;
if (temp >= 32)
temp -= 32;
r6 = temp * 32;
for (j = 0; j < 32; j += 2)
{
- temp = gUnknown_03000E20.unk2 + j;
+ temp = sFieldCameraOffset.xTileOffset + j;
if (temp >= 32)
temp -= 32;
DrawMetatileAt(mapLayout, r6 + temp, x + j / 2, y + i / 2);
@@ -124,112 +124,112 @@ static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLa
}
}
-static void RedrawMapSlicesForCameraUpdate(struct FieldCameraUnknownStruct *a, int x, int y)
+static void RedrawMapSlicesForCameraUpdate(struct FieldCameraOffset *cameraOffset, int x, int y)
{
const struct MapLayout *mapLayout = gMapHeader.mapLayout;
if (x > 0)
- RedrawMapSliceWest(a, mapLayout);
+ RedrawMapSliceWest(cameraOffset, mapLayout);
if (x < 0)
- RedrawMapSliceEast(a, mapLayout);
+ RedrawMapSliceEast(cameraOffset, mapLayout);
if (y > 0)
- RedrawMapSliceNorth(a, mapLayout);
+ RedrawMapSliceNorth(cameraOffset, mapLayout);
if (y < 0)
- RedrawMapSliceSouth(a, mapLayout);
- a->unk4 = TRUE;
+ RedrawMapSliceSouth(cameraOffset, mapLayout);
+ cameraOffset->copyBGToVRAM = TRUE;
}
-static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout)
+static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout)
{
u8 i;
u8 temp;
u32 r7;
- temp = a->unk3 + 28;
+ temp = cameraOffset->yTileOffset + 28;
if (temp >= 32)
temp -= 32;
r7 = temp * 32;
for (i = 0; i < 32; i += 2)
{
- temp = a->unk2 + i;
+ temp = cameraOffset->xTileOffset + i;
if (temp >= 32)
temp -= 32;
DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y + 14);
}
}
-static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout)
+static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout)
{
u8 i;
u8 temp;
- u32 r7 = a->unk3 * 32;
+ u32 r7 = cameraOffset->yTileOffset * 32;
for (i = 0; i < 32; i += 2)
{
- temp = a->unk2 + i;
+ temp = cameraOffset->xTileOffset + i;
if (temp >= 32)
temp -= 32;
DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y);
}
}
-static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout)
+static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout)
{
u8 i;
u8 temp;
- u32 r6 = a->unk2;
+ u32 r6 = cameraOffset->xTileOffset;
for (i = 0; i < 32; i += 2)
{
- temp = a->unk3 + i;
+ temp = cameraOffset->yTileOffset + i;
if (temp >= 32)
temp -= 32;
DrawMetatileAt(mapLayout, temp * 32 + r6, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y + i / 2);
}
}
-static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout)
+static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, const struct MapLayout *mapLayout)
{
u8 i;
u8 temp;
- u8 r5 = a->unk2 + 28;
+ u8 r5 = cameraOffset->xTileOffset + 28;
if (r5 >= 32)
r5 -= 32;
for (i = 0; i < 32; i += 2)
{
- temp = a->unk3 + i;
+ temp = cameraOffset->yTileOffset + i;
if (temp >= 32)
temp -= 32;
DrawMetatileAt(mapLayout, temp * 32 + r5, gSaveBlock1Ptr->pos.x + 14, gSaveBlock1Ptr->pos.y + i / 2);
}
}
-void CurrentMapDrawMetatileAt(int a, int b)
+void CurrentMapDrawMetatileAt(int x, int y)
{
- int offset = MapPosToBgTilemapOffset(&gUnknown_03000E20, a, b);
+ int offset = MapPosToBgTilemapOffset(&sFieldCameraOffset, x, y);
if (offset >= 0)
{
- DrawMetatileAt(gMapHeader.mapLayout, offset, a, b);
- gUnknown_03000E20.unk4 = TRUE;
+ DrawMetatileAt(gMapHeader.mapLayout, offset, x, y);
+ sFieldCameraOffset.copyBGToVRAM = TRUE;
}
}
void DrawDoorMetatileAt(int x, int y, u16 *arr)
{
- int offset = MapPosToBgTilemapOffset(&gUnknown_03000E20, x, y);
+ int offset = MapPosToBgTilemapOffset(&sFieldCameraOffset, x, y);
if (offset >= 0)
{
DrawMetatile(1, arr, offset);
- gUnknown_03000E20.unk4 = TRUE;
+ sFieldCameraOffset.copyBGToVRAM = TRUE;
}
}
-static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 b, int c, int d)
+static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, int y)
{
- u16 metatileId = MapGridGetMetatileIdAt(c, d);
+ u16 metatileId = MapGridGetMetatileIdAt(x, y);
u16 *metatiles;
if (metatileId > NUM_METATILES_TOTAL)
@@ -241,60 +241,69 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 b, int c, int
metatiles = mapLayout->secondaryTileset->metatiles;
metatileId -= NUM_METATILES_IN_PRIMARY;
}
- DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b);
+ DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset);
}
-static void DrawMetatile(s32 a, u16 *b, u16 c)
+static void DrawMetatile(s32 metatileLayerType, u16 *metatiles, u16 offset)
{
- switch (a)
+ switch (metatileLayerType)
{
- case 2:
- gBGTilemapBuffers3[c] = b[0];
- gBGTilemapBuffers3[c + 1] = b[1];
- gBGTilemapBuffers3[c + 0x20] = b[2];
- gBGTilemapBuffers3[c + 0x21] = b[3];
-
- gBGTilemapBuffers1[c] = 0;
- gBGTilemapBuffers1[c + 1] = 0;
- gBGTilemapBuffers1[c + 0x20] = 0;
- gBGTilemapBuffers1[c + 0x21] = 0;
-
- gBGTilemapBuffers2[c] = b[4];
- gBGTilemapBuffers2[c + 1] = b[5];
- gBGTilemapBuffers2[c + 0x20] = b[6];
- gBGTilemapBuffers2[c + 0x21] = b[7];
+ case 2: // LAYER_TYPE_
+ // Draw metatile's bottom layer to the bottom background layer.
+ gBGTilemapBuffers3[offset] = metatiles[0];
+ gBGTilemapBuffers3[offset + 1] = metatiles[1];
+ gBGTilemapBuffers3[offset + 0x20] = metatiles[2];
+ gBGTilemapBuffers3[offset + 0x21] = metatiles[3];
+
+ // Draw transparent tiles to the middle background layer.
+ gBGTilemapBuffers1[offset] = 0;
+ gBGTilemapBuffers1[offset + 1] = 0;
+ gBGTilemapBuffers1[offset + 0x20] = 0;
+ gBGTilemapBuffers1[offset + 0x21] = 0;
+
+ // Draw metatile's top layer to the top background layer.
+ gBGTilemapBuffers2[offset] = metatiles[4];
+ gBGTilemapBuffers2[offset + 1] = metatiles[5];
+ gBGTilemapBuffers2[offset + 0x20] = metatiles[6];
+ gBGTilemapBuffers2[offset + 0x21] = metatiles[7];
break;
- case 1:
- gBGTilemapBuffers3[c] = b[0];
- gBGTilemapBuffers3[c + 1] = b[1];
- gBGTilemapBuffers3[c + 0x20] = b[2];
- gBGTilemapBuffers3[c + 0x21] = b[3];
-
- gBGTilemapBuffers1[c] = b[4];
- gBGTilemapBuffers1[c + 1] = b[5];
- gBGTilemapBuffers1[c + 0x20] = b[6];
- gBGTilemapBuffers1[c + 0x21] = b[7];
-
- gBGTilemapBuffers2[c] = 0;
- gBGTilemapBuffers2[c + 1] = 0;
- gBGTilemapBuffers2[c + 0x20] = 0;
- gBGTilemapBuffers2[c + 0x21] = 0;
+ case 1: // LAYER_TYPE_COVERED_BY_OBJECTS
+ // Draw metatile's bottom layer to the bottom background layer.
+ gBGTilemapBuffers3[offset] = metatiles[0];
+ gBGTilemapBuffers3[offset + 1] = metatiles[1];
+ gBGTilemapBuffers3[offset + 0x20] = metatiles[2];
+ gBGTilemapBuffers3[offset + 0x21] = metatiles[3];
+
+ // Draw metatile's top layer to the middle background layer.
+ gBGTilemapBuffers1[offset] = metatiles[4];
+ gBGTilemapBuffers1[offset + 1] = metatiles[5];
+ gBGTilemapBuffers1[offset + 0x20] = metatiles[6];
+ gBGTilemapBuffers1[offset + 0x21] = metatiles[7];
+
+ // Draw transparent tiles to the top background layer.
+ gBGTilemapBuffers2[offset] = 0;
+ gBGTilemapBuffers2[offset + 1] = 0;
+ gBGTilemapBuffers2[offset + 0x20] = 0;
+ gBGTilemapBuffers2[offset + 0x21] = 0;
break;
- case 0:
- gBGTilemapBuffers3[c] = 0x3014;
- gBGTilemapBuffers3[c + 1] = 0x3014;
- gBGTilemapBuffers3[c + 0x20] = 0x3014;
- gBGTilemapBuffers3[c + 0x21] = 0x3014;
-
- gBGTilemapBuffers1[c] = b[0];
- gBGTilemapBuffers1[c + 1] = b[1];
- gBGTilemapBuffers1[c + 0x20] = b[2];
- gBGTilemapBuffers1[c + 0x21] = b[3];
-
- gBGTilemapBuffers2[c] = b[4];
- gBGTilemapBuffers2[c + 1] = b[5];
- gBGTilemapBuffers2[c + 0x20] = b[6];
- gBGTilemapBuffers2[c + 0x21] = b[7];
+ case 0: // LAYER_TYPE_NORMAL
+ // Draw garbage to the bottom background layer.
+ gBGTilemapBuffers3[offset] = 0x3014;
+ gBGTilemapBuffers3[offset + 1] = 0x3014;
+ gBGTilemapBuffers3[offset + 0x20] = 0x3014;
+ gBGTilemapBuffers3[offset + 0x21] = 0x3014;
+
+ // Draw metatile's bottom layer to the middle background layer.
+ gBGTilemapBuffers1[offset] = metatiles[0];
+ gBGTilemapBuffers1[offset + 1] = metatiles[1];
+ gBGTilemapBuffers1[offset + 0x20] = metatiles[2];
+ gBGTilemapBuffers1[offset + 0x21] = metatiles[3];
+
+ // Draw metatile's top layer to the top background layer, which covers event object sprites.
+ gBGTilemapBuffers2[offset] = metatiles[4];
+ gBGTilemapBuffers2[offset + 1] = metatiles[5];
+ gBGTilemapBuffers2[offset + 0x20] = metatiles[6];
+ gBGTilemapBuffers2[offset + 0x21] = metatiles[7];
break;
}
schedule_bg_copy_tilemap_to_vram(1);
@@ -302,51 +311,51 @@ static void DrawMetatile(s32 a, u16 *b, u16 c)
schedule_bg_copy_tilemap_to_vram(3);
}
-static s32 MapPosToBgTilemapOffset(struct FieldCameraUnknownStruct *a, s32 x, s32 y)
+static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *cameraOffset, s32 x, s32 y)
{
x -= gSaveBlock1Ptr->pos.x;
x *= 2;
if (x >= 32 || x < 0)
return -1;
- x = x + a->unk2;
+ x = x + cameraOffset->xTileOffset;
if (x >= 32)
x -= 32;
y = (y - gSaveBlock1Ptr->pos.y) * 2;
if (y >= 32 || y < 0)
return -1;
- y = y + a->unk3;
+ y = y + cameraOffset->yTileOffset;
if (y >= 32)
y -= 32;
return y * 32 + x;
}
-static void CameraUpdateCallback(struct CameraObject *a)
+static void CameraUpdateCallback(struct CameraObject *fieldCamera)
{
- if (a->spriteId != 0)
+ if (fieldCamera->spriteId != 0)
{
- a->unk8 = gSprites[a->spriteId].data[2];
- a->unkC = gSprites[a->spriteId].data[3];
+ fieldCamera->movementSpeedX = gSprites[fieldCamera->spriteId].data[2];
+ fieldCamera->movementSpeedY = gSprites[fieldCamera->spriteId].data[3];
}
}
void ResetCameraUpdateInfo(void)
{
- gUnknown_03005DD0.unk8 = 0;
- gUnknown_03005DD0.unkC = 0;
- gUnknown_03005DD0.x = 0;
- gUnknown_03005DD0.y = 0;
- gUnknown_03005DD0.spriteId = 0;
- gUnknown_03005DD0.callback = NULL;
+ gFieldCamera.movementSpeedX = 0;
+ gFieldCamera.movementSpeedY = 0;
+ gFieldCamera.x = 0;
+ gFieldCamera.y = 0;
+ gFieldCamera.spriteId = 0;
+ gFieldCamera.callback = NULL;
}
-u32 InitCameraUpdateCallback(u8 a)
+u32 InitCameraUpdateCallback(u8 trackedSpriteId)
{
- if (gUnknown_03005DD0.spriteId != 0)
- DestroySprite(&gSprites[gUnknown_03005DD0.spriteId]);
- gUnknown_03005DD0.spriteId = AddCameraObject(a);
- gUnknown_03005DD0.callback = CameraUpdateCallback;
+ if (gFieldCamera.spriteId != 0)
+ DestroySprite(&gSprites[gFieldCamera.spriteId]);
+ gFieldCamera.spriteId = AddCameraObject(trackedSpriteId);
+ gFieldCamera.callback = CameraUpdateCallback;
return 0;
}
@@ -354,54 +363,54 @@ void CameraUpdate(void)
{
int deltaX;
int deltaY;
- int r0;
- int r1;
- int r7;
- int r8;
-
- if (gUnknown_03005DD0.callback != NULL)
- gUnknown_03005DD0.callback(&gUnknown_03005DD0);
- r7 = gUnknown_03005DD0.unk8;
- r8 = gUnknown_03005DD0.unkC;
+ int curMovementOffsetY;
+ int curMovementOffsetX;
+ int movementSpeedX;
+ int movementSpeedY;
+
+ if (gFieldCamera.callback != NULL)
+ gFieldCamera.callback(&gFieldCamera);
+ movementSpeedX = gFieldCamera.movementSpeedX;
+ movementSpeedY = gFieldCamera.movementSpeedY;
deltaX = 0;
deltaY = 0;
- r1 = gUnknown_03005DD0.x;
- r0 = gUnknown_03005DD0.y;
+ curMovementOffsetX = gFieldCamera.x;
+ curMovementOffsetY = gFieldCamera.y;
- if (r1 == 0 && r7 != 0)
+ if (curMovementOffsetX == 0 && movementSpeedX != 0)
{
- if (r7 > 0)
+ if (movementSpeedX > 0)
deltaX = 1;
else
deltaX = -1;
}
- if (r0 == 0 && r8 != 0)
+ if (curMovementOffsetY == 0 && movementSpeedY != 0)
{
- if (r8 > 0)
+ if (movementSpeedY > 0)
deltaY = 1;
else
deltaY = -1;
}
- if (r1 != 0 && r1 == -r7)
+ if (curMovementOffsetX != 0 && curMovementOffsetX == -movementSpeedX)
{
- if (r7 > 0)
+ if (movementSpeedX > 0)
deltaX = 1;
else
deltaX = -1;
}
- if (r0 != 0 && r0 == -r8)
+ if (curMovementOffsetY != 0 && curMovementOffsetY == -movementSpeedY)
{
- if (r8 > 0)
+ if (movementSpeedY > 0)
deltaX = 1;
else
deltaX = -1;
}
- gUnknown_03005DD0.x += r7;
- gUnknown_03005DD0.x = gUnknown_03005DD0.x - 16 * (gUnknown_03005DD0.x / 16);
- gUnknown_03005DD0.y += r8;
- gUnknown_03005DD0.y = gUnknown_03005DD0.y - 16 * (gUnknown_03005DD0.y / 16);
+ gFieldCamera.x += movementSpeedX;
+ gFieldCamera.x = gFieldCamera.x - 16 * (gFieldCamera.x / 16);
+ gFieldCamera.y += movementSpeedY;
+ gFieldCamera.y = gFieldCamera.y - 16 * (gFieldCamera.y / 16);
if (deltaX != 0 || deltaY != 0)
{
@@ -409,50 +418,50 @@ void CameraUpdate(void)
UpdateEventObjectsForCameraUpdate(deltaX, deltaY);
RotatingGatePuzzleCameraUpdate(deltaX, deltaY);
ResetBerryTreeSparkleFlags();
- tilemap_move_something(&gUnknown_03000E20, deltaX * 2, deltaY * 2);
- RedrawMapSlicesForCameraUpdate(&gUnknown_03000E20, deltaX * 2, deltaY * 2);
+ tilemap_move_something(&sFieldCameraOffset, deltaX * 2, deltaY * 2);
+ RedrawMapSlicesForCameraUpdate(&sFieldCameraOffset, deltaX * 2, deltaY * 2);
}
- coords8_add(&gUnknown_03000E20, r7, r8);
- gUnknown_03005DEC -= r7;
- gUnknown_03005DE8 -= r8;
+ coords8_add(&sFieldCameraOffset, movementSpeedX, movementSpeedY);
+ gTotalCameraPixelOffsetX -= movementSpeedX;
+ gTotalCameraPixelOffsetY -= movementSpeedY;
}
-void camera_move_and_redraw(int a, int b) //unused
+void MoveCameraAndRedrawMap(int deltaX, int deltaY) //unused
{
- CameraMove(a, b);
- UpdateEventObjectsForCameraUpdate(a, b);
+ CameraMove(deltaX, deltaY);
+ UpdateEventObjectsForCameraUpdate(deltaX, deltaY);
DrawWholeMapView();
- gUnknown_03005DEC -= a * 16;
- gUnknown_03005DE8 -= b * 16;
+ gTotalCameraPixelOffsetX -= deltaX * 16;
+ gTotalCameraPixelOffsetY -= deltaY * 16;
}
void SetCameraPanningCallback(void (*a)(void))
{
- gUnknown_03000E30 = a;
+ sFieldCameraPanningCallback = a;
}
void SetCameraPanning(s16 a, s16 b)
{
- gUnknown_03000E28 = a;
- gUnknown_03000E2A = b + 32;
+ sHorizontalCameraPan = a;
+ sVerticalCameraPan = b + 32;
}
void InstallCameraPanAheadCallback(void)
{
- gUnknown_03000E30 = CameraPanningCB_PanAhead;
+ sFieldCameraPanningCallback = CameraPanningCB_PanAhead;
gUnknown_03000E2C = 0;
- gUnknown_03000E28 = 0;
- gUnknown_03000E2A = 32;
+ sHorizontalCameraPan = 0;
+ sVerticalCameraPan = 32;
}
void UpdateCameraPanning(void)
{
- if (gUnknown_03000E30 != NULL)
- gUnknown_03000E30();
+ if (sFieldCameraPanningCallback != NULL)
+ sFieldCameraPanningCallback();
//Update sprite offset of overworld objects
- gSpriteCoordOffsetX = gUnknown_03005DEC - gUnknown_03000E28;
- gSpriteCoordOffsetY = gUnknown_03005DE8 - gUnknown_03000E2A - 8;
+ gSpriteCoordOffsetX = gTotalCameraPixelOffsetX - sHorizontalCameraPan;
+ gSpriteCoordOffsetY = gTotalCameraPixelOffsetY - sVerticalCameraPan - 8;
}
static void CameraPanningCB_PanAhead(void)
@@ -480,22 +489,21 @@ static void CameraPanningCB_PanAhead(void)
var = GetPlayerMovementDirection();
if (var == 2)
{
- if (gUnknown_03000E2A > -8)
- gUnknown_03000E2A -= 2;
+ if (sVerticalCameraPan > -8)
+ sVerticalCameraPan -= 2;
}
else if (var == 1)
{
- if (gUnknown_03000E2A < 72)
- gUnknown_03000E2A += 2;
+ if (sVerticalCameraPan < 72)
+ sVerticalCameraPan += 2;
}
- else if (gUnknown_03000E2A < 32)
+ else if (sVerticalCameraPan < 32)
{
- gUnknown_03000E2A += 2;
+ sVerticalCameraPan += 2;
}
- else if (gUnknown_03000E2A > 32)
+ else if (sVerticalCameraPan > 32)
{
- gUnknown_03000E2A -= 2;
+ sVerticalCameraPan -= 2;
}
}
}
-
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index fef403c04..c52f5190f 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -1,11 +1,11 @@
#include "global.h"
#include "battle_setup.h"
-#include "battle_frontier_1.h"
#include "bike.h"
#include "coord_event_weather.h"
#include "daycare.h"
#include "event_data.h"
#include "event_object_movement.h"
+#include "event_scripts.h"
#include "fieldmap.h"
#include "field_control_avatar.h"
#include "field_fadetransition.h"
@@ -31,62 +31,13 @@
#include "constants/map_types.h"
#include "constants/songs.h"
+extern bool32 sub_8196034(void);
+
static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0;
static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0;
u8 gSelectedEventObject;
-//scripts
-extern const u8 EventScript_PlayerPCMale[];
-extern const u8 EventScript_PlayerPCFemale[];
-extern const u8 EventScript_SecretBasePC[];
-extern const u8 EventScript_RecordMixingSecretBasePC[];
-extern const u8 EventScript_SecretPower1[];
-extern const u8 EventScript_SecretPower2[];
-extern const u8 EventScript_PC[];
-extern const u8 EventScript_TestSignpostMsg[];
-extern const u8 EventScript_HiddenItemScript[];
-extern const u8 EventScript_2759F1[];
-extern const u8 EventScript_TV[];
-extern const u8 EventScript_ClosedSootopolisDoor[];
-extern const u8 SkyPillar_Outside_EventScript_2393F9[];
-extern const u8 EventScript_CableBoxResults[];
-extern const u8 EventScript_2A4BAC[];
-extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[];
-extern const u8 EventScript_RegionMap[];
-extern const u8 EventScript_RunningShoesManual[];
-extern const u8 EventScript_PictureBookShelf[];
-extern const u8 EventScript_BookShelf[];
-extern const u8 EventScript_PokemonCenterBookshelf[];
-extern const u8 EventScript_Vase[];
-extern const u8 EventScript_TrashCan[];
-extern const u8 EventScript_ShopShelf[];
-extern const u8 EventScript_Blueprint[];
-extern const u8 EventScript_WirelessBoxResults[];
-extern const u8 EventScript_CableBoxResults[];
-extern const u8 EventScript_Questionnaire[];
-extern const u8 EventScript_TrainerHillTimer[];
-extern const u8 EventScript_SecretBaseSandOrnament[];
-extern const u8 EventScript_SecretBaseShieldOrToyTV[];
-extern const u8 EventScript_UseSurf[];
-extern const u8 EventScript_UseWaterfall[];
-extern const u8 EventScript_CannotUseWaterfall[];
-extern const u8 EventScript_UseDive[];
-extern const u8 EventScript_UseDiveUnderwater[];
-extern const u8 EventScript_FallDownHole[];
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[];
-extern const u8 EventScript_Poison[];
-extern const u8 EventScript_EggHatch[];
-extern const u8 gUnknown_08273D1F[];
-extern const u8 IslandCave_EventScript_238EAF[];
-extern const u8 MauvilleCity_EventScript_1DF7BA[];
-extern const u8 Route119_EventScript_1F49EC[];
-extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[];
-extern const u8 RustboroCity_Gym_EventScript_21307B[];
-extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[];
-extern const u8 SSTidalCorridor_EventScript_23C050[];
-extern const u8 gUnknown_082A8350[];
-
static void GetPlayerPosition(struct MapPosition *);
static void GetInFrontOfPlayerPosition(struct MapPosition *);
static u16 GetPlayerCurMetatileBehavior(int);
@@ -178,7 +129,7 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys)
input->dpadDirection = DIR_EAST;
}
-int sub_809C014(struct FieldInput *input)
+int ProcessPlayerFieldInput(struct FieldInput *input)
{
struct MapPosition position;
u8 playerDirection;
@@ -557,8 +508,7 @@ static bool8 TryStartCoordEventScript(struct MapPosition *position)
static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior)
{
- s16 x;
- s16 y;
+ s16 x, y;
if (MetatileBehavior_IsCrackedFloorHole(metatileBehavior))
{
diff --git a/src/field_door.c b/src/field_door.c
index fe9de01fd..c197aca14 100644
--- a/src/field_door.c
+++ b/src/field_door.c
@@ -1,13 +1,13 @@
#include "global.h"
+#include "event_data.h"
#include "field_door.h"
#include "field_camera.h"
#include "fieldmap.h"
#include "metatile_behavior.h"
-#include "event_data.h"
-#include "constants/songs.h"
+#include "task.h"
#include "constants/flags.h"
#include "constants/maps.h"
-#include "task.h"
+#include "constants/songs.h"
bool8 sub_808A964(void);
diff --git a/src/field_effect.c b/src/field_effect.c
index e7ecca183..935501130 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -1,10 +1,10 @@
#include "global.h"
-#include "field_effect.h"
-#include "trainer_pokemon_sprites.h"
#include "decompress.h"
+#include "event_object_movement.h"
#include "field_camera.h"
+#include "field_control_avatar.h"
+#include "field_effect.h"
#include "field_effect_helpers.h"
-#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "field_screen.h"
#include "field_weather.h"
@@ -22,24 +22,229 @@
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "trainer_pokemon_sprites.h"
#include "trig.h"
#include "util.h"
+#include "constants/field_effects.h"
+#include "constants/event_object_movement_constants.h"
#include "constants/rgb.h"
#include "constants/songs.h"
#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))}
+extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const.
+
EWRAM_DATA s32 gFieldEffectArguments[8] = {0};
// Static type declarations
+static void Task_PokecenterHeal(u8 taskId);
+static void PokecenterHealEffect_0(struct Task *);
+static void PokecenterHealEffect_1(struct Task *);
+static void PokecenterHealEffect_2(struct Task *);
+static void PokecenterHealEffect_3(struct Task *);
+
+static void Task_HallOfFameRecord(u8 taskId);
+static void HallOfFameRecordEffect_0(struct Task *);
+static void HallOfFameRecordEffect_1(struct Task *);
+static void HallOfFameRecordEffect_2(struct Task *);
+static void HallOfFameRecordEffect_3(struct Task *);
+
+static u8 CreatePokeballGlowSprite(s16, s16, s16, u16);
+static void SpriteCB_PokeballGlowEffect(struct Sprite *);
+static void PokeballGlowEffect_0(struct Sprite *);
+static void PokeballGlowEffect_1(struct Sprite *);
+static void PokeballGlowEffect_2(struct Sprite *);
+static void PokeballGlowEffect_3(struct Sprite *);
+static void PokeballGlowEffect_4(struct Sprite *);
+static void PokeballGlowEffect_5(struct Sprite *);
+static void PokeballGlowEffect_6(struct Sprite *);
+static void PokeballGlowEffect_7(struct Sprite *);
+
+static u8 PokecenterHealEffectHelper(s16, s16);
+static void HallOfFameRecordEffectHelper(s16, s16, s16, u8);
+
+static void mapldr_080842E8(void);
+static void task00_8084310(u8);
+static void mapldr_08084390(void);
+static void c3_080843F8(u8);
+
+static void sub_80B6B94(u8);
+static bool8 sub_80B6BCC(struct Task *);
+static bool8 sub_80B6C74(struct Task *);
+static bool8 sub_80B6C90(struct Task *);
+static bool8 sub_80B6D04(struct Task *);
+static bool8 sub_80B6DBC(struct Task *);
+static bool8 sub_80B6DD8(struct Task *);
+static bool8 sub_80B6E18(struct Task *);
+
+static void sub_80B6E88(u8);
+static bool8 sub_80B6EC0(struct Task *);
+static bool8 sub_80B6EE0(struct Task *);
+static bool8 sub_80B6F50(struct Task *);
+static bool8 sub_80B6F74(struct Task *);
+static bool8 sub_80B6F84(struct Task *);
+static bool8 sub_80B6FA8(struct Task *);
+
+static void sub_80B6FB8(struct Task *);
+static void sub_80B7004(struct Task *);
+static void sub_80B7050(void);
+static void sub_80B7060(void);
+static void sub_80B70B4(void);
+static void sub_80B70DC(u8);
+
+static bool8 sub_80B7114(struct Task *);
+static bool8 sub_80B7190(struct Task *);
+static bool8 sub_80B71D0(struct Task *);
+static bool8 sub_80B7230(struct Task *);
+static bool8 sub_80B7270(struct Task *);
+static bool8 sub_80B72D0(struct Task *);
+static bool8 sub_80B72F4(struct Task *);
+
+static void sub_80B7384(u8);
+static bool8 sub_80B73D0(struct Task *, struct EventObject *);
+static bool8 waterfall_1_do_anim_probably(struct Task *, struct EventObject *);
+static bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct EventObject *);
+static bool8 sub_80B7450(struct Task *, struct EventObject *);
+static bool8 sub_80B7478(struct Task *, struct EventObject *);
+
+static void Task_Dive(u8);
+static bool8 dive_1_lock(struct Task *);
+static bool8 dive_2_unknown(struct Task *);
+static bool8 dive_3_unknown(struct Task *);
+
+static void sub_80B75F0(u8);
+static bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *);
+
+static void mapldr_080851BC(void);
+static void sub_80B7890(u8);
+
+static bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *);
+
+static void sub_80B7A8C(u8);
+
+static bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *);
+static bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *);
+
+static void DoEscapeRopeFieldEffect(u8);
+static void EscapeRopeFieldEffect_Step0(struct Task *);
+static void EscapeRopeFieldEffect_Step1(struct Task *);
+
+static void mapldr_080859D4(void);
+static void sub_80B7E94(u8);
+
+static void sub_80B7EC4(struct Task *);
+static void sub_80B7EE8(struct Task *);
+
+static void ExecuteTeleportFieldEffectTask(u8);
+static void TeleportFieldEffectTask1(struct Task*);
+static void TeleportFieldEffectTask2(struct Task*);
+static void TeleportFieldEffectTask3(struct Task*);
+static void TeleportFieldEffectTask4(struct Task*);
+
+static void mapldr_08085D88(void);
+static void sub_80B8250(u8);
+
+static void sub_80B8280(struct Task *);
+static void sub_80B830C(struct Task *);
+static void sub_80B8410(struct Task *);
+
+static void sub_80B8554(u8);
+static void sub_80B8584(struct Task *);
+static void sub_80B85F8(struct Task *);
+static void sub_80B8660(struct Task *);
+static void sub_80B86EC(struct Task *);
+static void sub_80B871C(struct Task *);
+static void sub_80B8770(struct Task *);
+static void overworld_bg_setup_2(struct Task *);
+
+static void sub_80B880C(void);
+static void sub_80B8874(u16);
+
+static void sub_80B88B4(u8);
+static void sub_80B88E4(struct Task *);
+static void sub_80B8920(struct Task *);
+static void sub_80B898C(struct Task *);
+static void sub_80B89DC(struct Task *);
+static void sub_80B8A0C(struct Task *);
+static void sub_80B8A44(struct Task *);
+static void sub_80B8A64(struct Task *);
+
+static void sub_80B8AE0(void);
+static void sub_80B8B28(struct Task *);
+static bool8 sub_80B8B38(struct Task *);
+static bool8 sub_80B8BF0(struct Task *);
+
+static u8 sub_80B8C60(u32, u32, u32);
+static void sub_80B8CC0(struct Sprite *);
+static void sub_80B8D04(struct Sprite *);
+static void sub_80B8D20(struct Sprite *);
+
+static void sub_80B8D84(u8);
+static void sub_80B8DB4(struct Task *);
+static void sub_80B8E14(struct Task *);
+static void sub_80B8E60(struct Task *);
+static void sub_80B8EA8(struct Task *);
+static void sub_80B8F24(struct Task *);
+
+static void sub_80B9128(struct Sprite *);
+
+static void sub_80B91D4(u8);
+static void sub_80B9204(struct Task *);
+static void sub_80B925C(struct Task *);
+static void sub_80B92A0(struct Task *);
+static void sub_80B92F8(struct Task *);
+static void sub_80B933C(struct Task *);
+static void sub_80B9390(struct Task *);
+static void sub_80B9418(struct Task *);
+static void sub_80B9474(struct Task *);
+static void sub_80B9494(struct Task *);
+
+static u8 sub_80B94C4(void);
+static u8 sub_80B9508(u8);
+static void sub_80B9524(u8);
+static void sub_80B9560(u8, u8);
+static void sub_80B957C(struct Sprite *);
+static void sub_80B963C(struct Sprite *);
+
+static void sub_80B97D4(u8);
+static void sub_80B9804(struct Task *);
+static void sub_80B98B8(struct Task *);
+static void sub_80B9924(struct Task *);
+static void sub_80B9978(struct Task *);
+static void sub_80B99F0(struct Task *);
+static void sub_80B9A28(struct Task *);
+static void sub_80B9A60(struct Task *);
+
+static void sub_80B9BE8(u8 taskId);
+static void sub_80B9DB8(struct Sprite* sprite);
+static void sub_80B9EDC(u8 taskId);
+
// Static RAM declarations
static IWRAM_DATA u8 sActiveList[32];
-// Static ROM declarations
+// External declarations
extern u8 *gFieldEffectScriptPointers[];
+extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
+extern void sub_81555D8(u8, u8);
+extern void pal_fill_for_maplights(void);
+extern void sub_80E1558(u8);
+extern void sub_80E1570(void);
+extern bool8 sub_80E1584(void);
+extern void sub_80AF0B4(void);
// .rodata
const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp");
@@ -322,9 +527,9 @@ bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct S
sub_80B7BF4,
};
-void (*const gUnknown_0855C474[])(struct Task *) = {
- sub_80B7D14,
- sub_80B7D34,
+void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = {
+ EscapeRopeFieldEffect_Step0,
+ EscapeRopeFieldEffect_Step1,
};
// .text
@@ -552,67 +757,15 @@ u8 AddNewGameBirchObject(s16 x, s16 y, u8 subpriority)
return CreateSprite(&gNewGameBirchObjectTemplate, x, y, subpriority);
}
-#ifdef NONMATCHING
-u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y)
+u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
{
- u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag);
+ s32 spriteId = CreateMonPicSprite_HandleDeoxys(species, 0, 0x8000, 1, x, y, 0, gMonPaletteTable[species].tag);
PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10);
if (spriteId == 0xFFFF)
- return 0x40;
-
- return spriteId;
+ return MAX_SPRITES;
+ else
+ return spriteId;
}
-#else
-NAKED
-u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y)
-{
- asm_unified("push {r4,r5,lr}\n\
- sub sp, 0x10\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r3, 0x80\n\
- lsls r3, 8\n\
- lsls r1, 16\n\
- asrs r1, 16\n\
- str r1, [sp]\n\
- lsls r2, 16\n\
- asrs r2, 16\n\
- str r2, [sp, 0x4]\n\
- movs r1, 0\n\
- str r1, [sp, 0x8]\n\
- ldr r1, =gMonPaletteTable\n\
- lsls r4, r0, 3\n\
- adds r4, r1\n\
- ldrh r1, [r4, 0x4]\n\
- str r1, [sp, 0xC]\n\
- movs r1, 0\n\
- adds r2, r3, 0\n\
- movs r3, 0x1\n\
- bl CreateMonPicSprite_HandleDeoxys\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- ldrh r0, [r4, 0x4]\n\
- bl IndexOfSpritePaletteTag\n\
- adds r0, 0x10\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- bl PreservePaletteInWeather\n\
- ldr r0, =0x0000ffff\n\
- cmp r5, r0\n\
- beq _080B5FDC\n\
- lsls r0, r5, 24\n\
- lsrs r0, 24\n\
- b _080B5FDE\n\
- .pool\n\
-_080B5FDC:\n\
- movs r0, 0x40\n\
-_080B5FDE:\n\
- add sp, 0x10\n\
- pop {r4,r5}\n\
- pop {r1}\n\
- bx r1");
-}
-#endif //NONMATCHING
u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subpriority)
{
@@ -620,9 +773,9 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio
u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, d, g, 1, x, y, 0, spritePalette->tag);
PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10);
if (spriteId == 0xFFFF)
- return 0x40;
-
- return spriteId;
+ return MAX_SPRITES;
+ else
+ return spriteId;
}
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId)
@@ -807,10 +960,6 @@ void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b)
}
#endif
-void Task_PokecenterHeal(u8 taskId);
-u8 CreatePokeballGlowSprite(s16, s16, s16, u16);
-u8 PokecenterHealEffectHelper(s16, s16);
-
bool8 FldEff_PokecenterHeal(void)
{
u8 nPokemon;
@@ -826,21 +975,21 @@ bool8 FldEff_PokecenterHeal(void)
return FALSE;
}
-void Task_PokecenterHeal(u8 taskId)
+static void Task_PokecenterHeal(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
gUnknown_0855C364[task->data[0]](task);
}
-void PokecenterHealEffect_0(struct Task *task)
+static void PokecenterHealEffect_0(struct Task *task)
{
task->data[0]++;
task->data[6] = CreatePokeballGlowSprite(task->data[1], task->data[2], task->data[3], 1);
task->data[7] = PokecenterHealEffectHelper(task->data[4], task->data[5]);
}
-void PokecenterHealEffect_1(struct Task *task)
+static void PokecenterHealEffect_1(struct Task *task)
{
if (gSprites[task->data[6]].data[0] > 1)
{
@@ -849,7 +998,7 @@ void PokecenterHealEffect_1(struct Task *task)
}
}
-void PokecenterHealEffect_2(struct Task *task)
+static void PokecenterHealEffect_2(struct Task *task)
{
if (gSprites[task->data[6]].data[0] > 4)
{
@@ -857,7 +1006,7 @@ void PokecenterHealEffect_2(struct Task *task)
}
}
-void PokecenterHealEffect_3(struct Task *task)
+static void PokecenterHealEffect_3(struct Task *task)
{
if (gSprites[task->data[6]].data[0] > 6)
{
@@ -867,9 +1016,6 @@ void PokecenterHealEffect_3(struct Task *task)
}
}
-void Task_HallOfFameRecord(u8 taskId);
-void HallOfFameRecordEffectHelper(s16, s16, s16, u8);
-
bool8 FldEff_HallOfFameRecord(void)
{
u8 nPokemon;
@@ -883,14 +1029,14 @@ bool8 FldEff_HallOfFameRecord(void)
return FALSE;
}
-void Task_HallOfFameRecord(u8 taskId)
+static void Task_HallOfFameRecord(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
gUnknown_0855C374[task->data[0]](task);
}
-void HallOfFameRecordEffect_0(struct Task *task)
+static void HallOfFameRecordEffect_0(struct Task *task)
{
u8 taskId;
task->data[0]++;
@@ -903,7 +1049,7 @@ void HallOfFameRecordEffect_0(struct Task *task)
HallOfFameRecordEffectHelper(taskId, 0xc8, 0x08, 1);
}
-void HallOfFameRecordEffect_1(struct Task *task)
+static void HallOfFameRecordEffect_1(struct Task *task)
{
if (gSprites[task->data[6]].data[0] > 1)
{
@@ -912,7 +1058,7 @@ void HallOfFameRecordEffect_1(struct Task *task)
}
}
-void HallOfFameRecordEffect_2(struct Task *task)
+static void HallOfFameRecordEffect_2(struct Task *task)
{
if (gSprites[task->data[6]].data[0] > 4)
{
@@ -920,7 +1066,7 @@ void HallOfFameRecordEffect_2(struct Task *task)
}
}
-void HallOfFameRecordEffect_3(struct Task *task)
+static void HallOfFameRecordEffect_3(struct Task *task)
{
if (gSprites[task->data[6]].data[0] > 6)
{
@@ -930,9 +1076,8 @@ void HallOfFameRecordEffect_3(struct Task *task)
}
}
-void SpriteCB_PokeballGlowEffect(struct Sprite *);
-u8 CreatePokeballGlowSprite(s16 data6, s16 x, s16 y, u16 data5)
+static u8 CreatePokeballGlowSprite(s16 data6, s16 x, s16 y, u16 data5)
{
u8 spriteId;
struct Sprite *sprite;
@@ -946,12 +1091,12 @@ u8 CreatePokeballGlowSprite(s16 data6, s16 x, s16 y, u16 data5)
return spriteId;
}
-void SpriteCB_PokeballGlowEffect(struct Sprite *sprite)
+static void SpriteCB_PokeballGlowEffect(struct Sprite *sprite)
{
gUnknown_0855C384[sprite->data[0]](sprite);
}
-void PokeballGlowEffect_0(struct Sprite *sprite)
+static void PokeballGlowEffect_0(struct Sprite *sprite)
{
u8 endSpriteId;
if (sprite->data[1] == 0 || (--sprite->data[1]) == 0)
@@ -971,7 +1116,7 @@ void PokeballGlowEffect_0(struct Sprite *sprite)
}
}
-void PokeballGlowEffect_1(struct Sprite *sprite)
+static void PokeballGlowEffect_1(struct Sprite *sprite)
{
if ((--sprite->data[1]) == 0)
{
@@ -986,7 +1131,7 @@ void PokeballGlowEffect_1(struct Sprite *sprite)
}
}
-void PokeballGlowEffect_2(struct Sprite *sprite)
+static void PokeballGlowEffect_2(struct Sprite *sprite)
{
u8 phase;
if ((--sprite->data[1]) == 0)
@@ -1016,7 +1161,7 @@ void PokeballGlowEffect_2(struct Sprite *sprite)
}
}
-void PokeballGlowEffect_3(struct Sprite *sprite)
+static void PokeballGlowEffect_3(struct Sprite *sprite)
{
u8 phase;
if ((--sprite->data[1]) == 0)
@@ -1038,7 +1183,7 @@ void PokeballGlowEffect_3(struct Sprite *sprite)
MultiplyInvertedPaletteRGBComponents((IndexOfSpritePaletteTag(0x1007) << 4) + 0x103, gUnknown_0855C3BC[phase], gUnknown_0855C3C0[phase], gUnknown_0855C3C4[phase]);
}
-void PokeballGlowEffect_4(struct Sprite *sprite)
+static void PokeballGlowEffect_4(struct Sprite *sprite)
{
if ((--sprite->data[1]) == 0)
{
@@ -1046,12 +1191,12 @@ void PokeballGlowEffect_4(struct Sprite *sprite)
}
}
-void PokeballGlowEffect_5(struct Sprite *sprite)
+static void PokeballGlowEffect_5(struct Sprite *sprite)
{
sprite->data[0]++;
}
-void PokeballGlowEffect_6(struct Sprite *sprite)
+static void PokeballGlowEffect_6(struct Sprite *sprite)
{
if (sprite->data[5] == 0 || IsFanfareTaskInactive())
{
@@ -1059,7 +1204,7 @@ void PokeballGlowEffect_6(struct Sprite *sprite)
}
}
-void PokeballGlowEffect_7(struct Sprite *sprite)
+static void PokeballGlowEffect_7(struct Sprite *sprite)
{
}
@@ -1071,7 +1216,7 @@ void SpriteCB_PokeballGlow(struct Sprite *sprite)
}
}
-u8 PokecenterHealEffectHelper(s16 x, s16 y)
+static u8 PokecenterHealEffectHelper(s16 x, s16 y)
{
u8 spriteIdAtEnd;
struct Sprite *sprite;
@@ -1097,7 +1242,7 @@ void SpriteCB_PokecenterMonitor(struct Sprite *sprite)
}
}
-void HallOfFameRecordEffectHelper(s16 a0, s16 a1, s16 a2, u8 a3)
+static void HallOfFameRecordEffectHelper(s16 a0, s16 a1, s16 a2, u8 a3)
{
u8 spriteIdAtEnd;
if (!a3)
@@ -1129,10 +1274,6 @@ void SpriteCB_HallOfFameMonitor(struct Sprite *sprite)
}
}
-void mapldr_080842E8(void);
-void mapldr_08084390(void);
-void task00_8084310(u8);
-void c3_080843F8(u8);
void sub_80B69DC(void)
{
@@ -1140,7 +1281,7 @@ void sub_80B69DC(void)
gFieldCallback = mapldr_080842E8;
}
-void mapldr_080842E8(void)
+static void mapldr_080842E8(void)
{
pal_fill_black();
CreateTask(task00_8084310, 0);
@@ -1149,7 +1290,7 @@ void mapldr_080842E8(void)
gFieldCallback = NULL;
}
-void task00_8084310(u8 taskId)
+static void task00_8084310(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
@@ -1177,7 +1318,7 @@ void task00_8084310(u8 taskId)
}
}
-void mapldr_08084390(void)
+static void mapldr_08084390(void)
{
Overworld_PlaySpecialMapMusic();
pal_fill_black();
@@ -1192,7 +1333,7 @@ void mapldr_08084390(void)
gFieldCallback = NULL;
}
-void c3_080843F8(u8 taskId)
+static void c3_080843F8(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
@@ -1213,11 +1354,6 @@ void c3_080843F8(u8 taskId)
}
}
-extern void pal_fill_for_maplights(void);
-void sub_80B6B94(u8);
-extern void CameraObjectReset2(void);
-extern void CameraObjectReset1(void);
-
void sub_80B6B68(void)
{
Overworld_PlaySpecialMapMusic();
@@ -1228,14 +1364,14 @@ void sub_80B6B68(void)
gFieldCallback = NULL;
}
-void sub_80B6B94(u8 taskId)
+static void sub_80B6B94(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here
}
-bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
+static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
{
struct EventObject *playerObject;
struct Sprite *playerSprite;
@@ -1253,7 +1389,7 @@ bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
return TRUE;
}
-bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
+static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
{
if (IsWeatherNotFadingIn())
{
@@ -1262,7 +1398,7 @@ bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
return FALSE;
}
-bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
+static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
{
struct Sprite *sprite;
s16 centerToCornerVecY;
@@ -1277,7 +1413,7 @@ bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
return FALSE;
}
-bool8 sub_80B6D04(struct Task *task)
+static bool8 sub_80B6D04(struct Task *task)
{
struct EventObject *eventObject;
struct Sprite *sprite;
@@ -1311,7 +1447,7 @@ bool8 sub_80B6D04(struct Task *task)
return FALSE;
}
-bool8 sub_80B6DBC(struct Task *task)
+static bool8 sub_80B6DBC(struct Task *task)
{
task->data[0]++;
task->data[1] = 4;
@@ -1320,7 +1456,7 @@ bool8 sub_80B6DBC(struct Task *task)
return TRUE;
}
-bool8 sub_80B6DD8(struct Task *task)
+static bool8 sub_80B6DD8(struct Task *task)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -1336,7 +1472,7 @@ bool8 sub_80B6DD8(struct Task *task)
return FALSE;
}
-bool8 sub_80B6E18(struct Task *task)
+static bool8 sub_80B6E18(struct Task *task)
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
@@ -1347,19 +1483,6 @@ bool8 sub_80B6E18(struct Task *task)
return FALSE;
}
-void sub_80B6E88(u8);
-extern void sub_80E1558(u8);
-extern void sub_80AF0B4(void);
-
-void sub_80B6FB8(struct Task *);
-void sub_80B7004(struct Task *);
-void sub_80B7050(void);
-void sub_80B7060(void);
-bool8 BGMusicStopped(void);
-void sub_80B70B4(void);
-void sub_80E1570(void);
-void sub_80B70DC(u8);
-
void sub_80B6E4C(u8 a0, u8 priority)
{
u8 taskId;
@@ -1371,14 +1494,14 @@ void sub_80B6E4C(u8 a0, u8 priority)
}
}
-void sub_80B6E88(u8 taskId)
+static void sub_80B6E88(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
while (gUnknown_0855C3E4[task->data[0]](task));
}
-bool8 sub_80B6EC0(struct Task *task)
+static bool8 sub_80B6EC0(struct Task *task)
{
FreezeEventObjects();
CameraObjectReset2();
@@ -1387,7 +1510,7 @@ bool8 sub_80B6EC0(struct Task *task)
return FALSE;
}
-bool8 sub_80B6EE0(struct Task *task)
+static bool8 sub_80B6EE0(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -1406,7 +1529,7 @@ bool8 sub_80B6EE0(struct Task *task)
return FALSE;
}
-bool8 sub_80B6F50(struct Task *task)
+static bool8 sub_80B6F50(struct Task *task)
{
sub_80B6FB8(task);
if (task->data[2] > 3)
@@ -1417,14 +1540,14 @@ bool8 sub_80B6F50(struct Task *task)
return FALSE;
}
-bool8 sub_80B6F74(struct Task *task)
+static bool8 sub_80B6F74(struct Task *task)
{
sub_80B6FB8(task);
sub_80B7060();
return FALSE;
}
-bool8 sub_80B6F84(struct Task *task)
+static bool8 sub_80B6F84(struct Task *task)
{
sub_80B7004(task);
if (task->data[2] > 3)
@@ -1435,14 +1558,14 @@ bool8 sub_80B6F84(struct Task *task)
return FALSE;
}
-bool8 sub_80B6FA8(struct Task *task)
+static bool8 sub_80B6FA8(struct Task *task)
{
sub_80B7004(task);
sub_80B7060();
return FALSE;
}
-void sub_80B6FB8(struct Task *task)
+static void sub_80B6FB8(struct Task *task)
{
struct Sprite *sprite;
sprite = &gSprites[gPlayerAvatar.spriteId];
@@ -1455,7 +1578,7 @@ void sub_80B6FB8(struct Task *task)
}
}
-void sub_80B7004(struct Task *task)
+static void sub_80B7004(struct Task *task)
{
struct Sprite *sprite;
sprite = &gSprites[gPlayerAvatar.spriteId];
@@ -1468,13 +1591,13 @@ void sub_80B7004(struct Task *task)
}
}
-void sub_80B7050(void)
+static void sub_80B7050(void)
{
music_something();
sub_80AF0B4();
}
-void sub_80B7060(void)
+static void sub_80B7060(void)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
@@ -1486,7 +1609,7 @@ void sub_80B7060(void)
}
}
-void sub_80B70B4(void)
+static void sub_80B70B4(void)
{
Overworld_PlaySpecialMapMusic();
pal_fill_for_maplights();
@@ -1495,14 +1618,14 @@ void sub_80B70B4(void)
gFieldCallback = NULL;
}
-void sub_80B70DC(u8 taskId)
+static void sub_80B70DC(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
while (gUnknown_0855C3FC[task->data[0]](task));
}
-bool8 sub_80B7114(struct Task *task)
+static bool8 sub_80B7114(struct Task *task)
{
struct EventObject *eventObject;
s16 x;
@@ -1527,7 +1650,7 @@ bool8 sub_80B7114(struct Task *task)
return TRUE;
}
-bool8 sub_80B7190(struct Task *task)
+static bool8 sub_80B7190(struct Task *task)
{
struct Sprite *sprite;
sprite = &gSprites[gPlayerAvatar.spriteId];
@@ -1537,7 +1660,7 @@ bool8 sub_80B7190(struct Task *task)
return FALSE;
}
-bool8 sub_80B71D0(struct Task *task)
+static bool8 sub_80B71D0(struct Task *task)
{
struct Sprite *sprite;
sprite = &gSprites[gPlayerAvatar.spriteId];
@@ -1557,7 +1680,7 @@ bool8 sub_80B71D0(struct Task *task)
return FALSE;
}
-bool8 sub_80B7230(struct Task *task)
+static bool8 sub_80B7230(struct Task *task)
{
struct Sprite *sprite;
sprite = &gSprites[gPlayerAvatar.spriteId];
@@ -1567,7 +1690,7 @@ bool8 sub_80B7230(struct Task *task)
return FALSE;
}
-bool8 sub_80B7270(struct Task *task)
+static bool8 sub_80B7270(struct Task *task)
{
struct Sprite *sprite;
sprite = &gSprites[gPlayerAvatar.spriteId];
@@ -1587,9 +1710,7 @@ bool8 sub_80B7270(struct Task *task)
return FALSE;
}
-extern bool8 sub_80E1584(void);
-
-bool8 sub_80B72D0(struct Task *task)
+static bool8 sub_80B72D0(struct Task *task)
{
if (sub_80E1584())
{
@@ -1600,7 +1721,7 @@ bool8 sub_80B72D0(struct Task *task)
return TRUE;
}
-bool8 sub_80B72F4(struct Task *task)
+static bool8 sub_80B72F4(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -1614,8 +1735,6 @@ bool8 sub_80B72F4(struct Task *task)
return FALSE;
}
-void sub_80B7384(u8);
-
bool8 FldEff_UseWaterfall(void)
{
u8 taskId;
@@ -1625,12 +1744,12 @@ bool8 FldEff_UseWaterfall(void)
return FALSE;
}
-void sub_80B7384(u8 taskId)
+static void sub_80B7384(u8 taskId)
{
while (gUnknown_0855C418[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId]));
}
-bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject)
+static bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject)
{
ScriptContext2_Enable();
gPlayerAvatar.preventStep = TRUE;
@@ -1638,7 +1757,7 @@ bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject)
return FALSE;
}
-bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject)
+static bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject)
{
ScriptContext2_Enable();
if (!EventObjectIsMovementOverridden(eventObject))
@@ -1651,7 +1770,7 @@ bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventO
return FALSE;
}
-bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObject *eventObject)
+static bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObject *eventObject)
{
if (FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
{
@@ -1661,14 +1780,14 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObjec
return TRUE;
}
-bool8 sub_80B7450(struct Task *task, struct EventObject *eventObject)
+static bool8 sub_80B7450(struct Task *task, struct EventObject *eventObject)
{
EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(DIR_NORTH));
task->data[0]++;
return FALSE;
}
-bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject)
+static bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject)
{
if (!EventObjectClearHeldMovementIfFinished(eventObject))
{
@@ -1686,9 +1805,6 @@ bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject)
return FALSE;
}
-void Task_Dive(u8);
-extern int dive_warp(struct MapPosition *, u16);
-
bool8 FldEff_UseDive(void)
{
u8 taskId;
@@ -1704,14 +1820,14 @@ void Task_Dive(u8 taskId)
while (gUnknown_0855C42C[gTasks[taskId].data[0]](&gTasks[taskId]));
}
-bool8 dive_1_lock(struct Task *task)
+static bool8 dive_1_lock(struct Task *task)
{
gPlayerAvatar.preventStep = TRUE;
task->data[0]++;
return FALSE;
}
-bool8 dive_2_unknown(struct Task *task)
+static bool8 dive_2_unknown(struct Task *task)
{
ScriptContext2_Enable();
gFieldEffectArguments[0] = task->data[15];
@@ -1720,7 +1836,7 @@ bool8 dive_2_unknown(struct Task *task)
return FALSE;
}
-bool8 dive_3_unknown(struct Task *task)
+static bool8 dive_3_unknown(struct Task *task)
{
struct MapPosition mapPosition;
PlayerGetDestCoords(&mapPosition.x, &mapPosition.y);
@@ -1733,20 +1849,17 @@ bool8 dive_3_unknown(struct Task *task)
return FALSE;
}
-void sub_80B75F0(u8);
-void mapldr_080851BC(void);
-
void sub_80B75D8(u8 priority)
{
CreateTask(sub_80B75F0, priority);
}
-void sub_80B75F0(u8 taskId)
+static void sub_80B75F0(u8 taskId)
{
while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
}
-bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
FreezeEventObjects();
CameraObjectReset2();
@@ -1758,7 +1871,7 @@ bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Spr
return TRUE;
}
-bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -1771,7 +1884,7 @@ bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
sprite->pos2.y = 0;
task->data[3] = 1;
@@ -1785,7 +1898,7 @@ bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Spr
return TRUE;
}
-bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
s16 centerToCornerVecY;
SetCameraPanning(0, task->data[1]);
@@ -1828,7 +1941,7 @@ bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
music_something();
sub_80AF0B4();
@@ -1836,7 +1949,7 @@ bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
@@ -1848,9 +1961,7 @@ bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-void sub_80B7890(u8);
-
-void mapldr_080851BC(void)
+static void mapldr_080851BC(void)
{
Overworld_PlaySpecialMapMusic();
pal_fill_for_maplights();
@@ -1859,12 +1970,12 @@ void mapldr_080851BC(void)
CreateTask(sub_80B7890, 0);
}
-void sub_80B7890(u8 taskId)
+static void sub_80B7890(u8 taskId)
{
while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
}
-bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
CameraObjectReset2();
FreezeEventObjects();
@@ -1874,7 +1985,7 @@ bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (IsWeatherNotFadingIn())
{
@@ -1888,7 +1999,7 @@ bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
sprite = &gSprites[task->data[1]];
if (sprite->animCmdIndex > 1)
@@ -1902,7 +2013,7 @@ bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
@@ -1914,8 +2025,6 @@ bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[36];
-
u8 FldEff_LavaridgeGymWarp(void)
{
u8 spriteId;
@@ -1934,19 +2043,17 @@ void sub_80B7A58(struct Sprite *sprite)
}
}
-void sub_80B7A8C(u8);
-
void sub_80B7A74(u8 priority)
{
CreateTask(sub_80B7A8C, priority);
}
-void sub_80B7A8C(u8 taskId)
+static void sub_80B7A8C(u8 taskId)
{
while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId]));
}
-bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
FreezeEventObjects();
CameraObjectReset2();
@@ -1956,7 +2063,7 @@ bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
@@ -1978,7 +2085,7 @@ bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (gSprites[task->data[1]].animCmdIndex == 2)
{
@@ -1988,7 +2095,7 @@ bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
@@ -1999,10 +2106,7 @@ bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Spr
return FALSE;
}
-void sub_80B7CE4(u8);
-void mapldr_080859D4(void);
-
-bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
+static bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
@@ -2032,29 +2136,29 @@ void sub_80B7CAC(struct Sprite *sprite)
}
}
-void sub_80B7CC8(void)
+void StartEscapeRopeFieldEffect(void)
{
ScriptContext2_Enable();
FreezeEventObjects();
- CreateTask(sub_80B7CE4, 0x50);
+ CreateTask(DoEscapeRopeFieldEffect, 0x50);
}
-void sub_80B7CE4(u8 taskId)
+static void DoEscapeRopeFieldEffect(u8 taskId)
{
- gUnknown_0855C474[gTasks[taskId].data[0]](&gTasks[taskId]);
+ gEscapeRopeFieldEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B7D14(struct Task *task)
+static void EscapeRopeFieldEffect_Step0(struct Task *task)
{
task->data[0]++;
task->data[14] = 64;
task->data[15] = GetPlayerFacingDirection();
}
-void sub_80B7D34(struct Task *task)
+static void EscapeRopeFieldEffect_Step1(struct Task *task)
{
struct EventObject *eventObject;
- u8 spinDirections[5] = {1, 3, 4, 2, 1};
+ u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
if (task->data[14] != 0 && (--task->data[14]) == 0)
{
music_something();
@@ -2070,7 +2174,7 @@ void sub_80B7D34(struct Task *task)
WarpIntoMap();
gFieldCallback = mapldr_080859D4;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B7CE4));
+ DestroyTask(FindTaskIdByFunc(DoEscapeRopeFieldEffect));
} else if (task->data[1] == 0 || (--task->data[1]) == 0)
{
EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection]));
@@ -2088,9 +2192,7 @@ void (*const gUnknown_0855C484[])(struct Task *) = {
sub_80B7EE8
};
-void sub_80B7E94(u8);
-
-void mapldr_080859D4(void)
+static void mapldr_080859D4(void)
{
Overworld_PlaySpecialMapMusic();
pal_fill_for_maplights();
@@ -2101,12 +2203,12 @@ void mapldr_080859D4(void)
CreateTask(sub_80B7E94, 0);
}
-void sub_80B7E94(u8 taskId)
+static void sub_80B7E94(u8 taskId)
{
gUnknown_0855C484[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B7EC4(struct Task *task)
+static void sub_80B7EC4(struct Task *task)
{
if (IsWeatherNotFadingIn())
{
@@ -2115,7 +2217,7 @@ void sub_80B7EC4(struct Task *task)
}
}
-void sub_80B7EE8(struct Task *task)
+static void sub_80B7EE8(struct Task *task)
{
u8 spinDirections[5] = {1, 3, 4, 2, 1};
struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -2143,13 +2245,6 @@ void sub_80B7EE8(struct Task *task)
eventObject->invisible ^= 1;
}
-static void ExecuteTeleportFieldEffectTask(u8);
-static void TeleportFieldEffectTask1(struct Task*);
-static void TeleportFieldEffectTask2(struct Task*);
-static void TeleportFieldEffectTask3(struct Task*);
-static void TeleportFieldEffectTask4(struct Task*);
-static void mapldr_08085D88(void);
-
void CreateTeleportFieldEffectTask(void)
{
CreateTask(ExecuteTeleportFieldEffectTask, 0);
@@ -2245,8 +2340,6 @@ static void TeleportFieldEffectTask4(struct Task *task)
}
}
-void sub_80B8250(u8);
-
static void mapldr_08085D88(void)
{
Overworld_PlaySpecialMapMusic();
@@ -2265,12 +2358,12 @@ void (*const gUnknown_0855C49C[])(struct Task *) = {
sub_80B8410
};
-void sub_80B8250(u8 taskId)
+static void sub_80B8250(u8 taskId)
{
gUnknown_0855C49C[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B8280(struct Task *task)
+static void sub_80B8280(struct Task *task)
{
struct Sprite *sprite;
s16 centerToCornerVecY;
@@ -2289,7 +2382,7 @@ void sub_80B8280(struct Task *task)
}
}
-void sub_80B830C(struct Task *task)
+static void sub_80B830C(struct Task *task)
{
u8 spinDirections[5] = {1, 3, 4, 2, 1};
struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -2328,7 +2421,7 @@ void sub_80B830C(struct Task *task)
}
}
-void sub_80B8410(struct Task *task)
+static void sub_80B8410(struct Task *task)
{
u8 spinDirections[5] = {1, 3, 4, 2, 1};
struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -2346,13 +2439,6 @@ void sub_80B8410(struct Task *task)
}
}
-void sub_80B8554(u8);
-void sub_80B88B4(u8);
-u8 sub_80B8C60(u32, u32, u32);
-void sub_80B880C(void);
-void sub_80B8874(u16);
-void sub_80B8CC0(struct Sprite *);
-
bool8 FldEff_FieldMoveShowMon(void)
{
u8 taskId;
@@ -2391,12 +2477,12 @@ void (*const gUnknown_0855C4A8[])(struct Task *) = {
overworld_bg_setup_2,
};
-void sub_80B8554(u8 taskId)
+static void sub_80B8554(u8 taskId)
{
gUnknown_0855C4A8[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B8584(struct Task *task)
+static void sub_80B8584(struct Task *task)
{
task->data[11] = REG_WININ;
task->data[12] = REG_WINOUT;
@@ -2413,12 +2499,10 @@ void sub_80B8584(struct Task *task)
task->data[0]++;
}
-void sub_80B85F8(struct Task *task)
+static void sub_80B85F8(struct Task *task)
{
- u16 offset;
- u16 delta;
- offset = ((REG_BG0CNT >> 2) << 14);
- delta = ((REG_BG0CNT >> 8) << 11);
+ u16 offset = ((REG_BG0CNT >> 2) << 14);
+ u16 delta = ((REG_BG0CNT >> 8) << 11);
CpuCopy16(gFieldMoveStreaksTiles, (void *)(VRAM + offset), 0x200);
CpuFill32(0, (void *)(VRAM + delta), 0x800);
LoadPalette(gFieldMoveStreaksPalette, 0xf0, 0x20);
@@ -2426,7 +2510,7 @@ void sub_80B85F8(struct Task *task)
task->data[0]++;
}
-void sub_80B8660(struct Task *task)
+static void sub_80B8660(struct Task *task)
{
s16 v0;
s16 v2;
@@ -2459,7 +2543,7 @@ void sub_80B8660(struct Task *task)
}
}
-void sub_80B86EC(struct Task *task)
+static void sub_80B86EC(struct Task *task)
{
task->data[5] -= 16;
if (gSprites[task->data[15]].data[7])
@@ -2468,7 +2552,7 @@ void sub_80B86EC(struct Task *task)
}
}
-void sub_80B871C(struct Task *task)
+static void sub_80B871C(struct Task *task)
{
s16 v2;
s16 v3;
@@ -2492,10 +2576,9 @@ void sub_80B871C(struct Task *task)
}
}
-void sub_80B8770(struct Task *task)
+static void sub_80B8770(struct Task *task)
{
- u16 bg0cnt;
- bg0cnt = (REG_BG0CNT >> 8) << 11;
+ u16 bg0cnt = (REG_BG0CNT >> 8) << 11;
CpuFill32(0, (void *)VRAM + bg0cnt, 0x800);
task->data[1] = 0xf1;
task->data[2] = 0xa1;
@@ -2504,7 +2587,7 @@ void sub_80B8770(struct Task *task)
task->data[0]++;
}
-void overworld_bg_setup_2(struct Task *task)
+static void overworld_bg_setup_2(struct Task *task)
{
IntrCallback callback;
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback);
@@ -2515,11 +2598,10 @@ void overworld_bg_setup_2(struct Task *task)
DestroyTask(FindTaskIdByFunc(sub_80B8554));
}
-void sub_80B880C(void)
+static void sub_80B880C(void)
{
- struct Task *task;
IntrCallback callback;
- task = &gTasks[FindTaskIdByFunc(sub_80B8554)];
+ struct Task *task = &gTasks[FindTaskIdByFunc(sub_80B8554)];
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback);
callback();
SetGpuReg(REG_OFFSET_WIN0H, task->data[1]);
@@ -2530,7 +2612,7 @@ void sub_80B880C(void)
SetGpuReg(REG_OFFSET_BG0VOFS, task->data[6]);
}
-void sub_80B8874(u16 offs)
+static void sub_80B8874(u16 offs)
{
u16 i;
u16 *dest;
@@ -2541,11 +2623,6 @@ void sub_80B8874(u16 offs)
}
}
-void sub_80B8AE0(void);
-bool8 sub_80B8B38(struct Task *);
-void sub_80B8B28(struct Task *);
-bool8 sub_80B8BF0(struct Task *);
-
void (*const gUnknown_0855C4C4[])(struct Task *) = {
sub_80B88E4,
sub_80B8920,
@@ -2556,12 +2633,12 @@ void (*const gUnknown_0855C4C4[])(struct Task *) = {
sub_80B8A64,
};
-void sub_80B88B4(u8 taskId)
+static void sub_80B88B4(u8 taskId)
{
gUnknown_0855C4C4[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B88E4(struct Task *task)
+static void sub_80B88E4(struct Task *task)
{
SetGpuReg(REG_OFFSET_BG0HOFS, task->data[1]);
SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]);
@@ -2570,7 +2647,7 @@ void sub_80B88E4(struct Task *task)
task->data[0]++;
}
-void sub_80B8920(struct Task *task)
+static void sub_80B8920(struct Task *task)
{
u16 offset;
u16 delta;
@@ -2583,7 +2660,7 @@ void sub_80B8920(struct Task *task)
task->data[0]++;
}
-void sub_80B898C(struct Task *task)
+static void sub_80B898C(struct Task *task)
{
if (sub_80B8B38(task))
{
@@ -2595,7 +2672,7 @@ void sub_80B898C(struct Task *task)
sub_80B8B28(task);
}
-void sub_80B89DC(struct Task *task)
+static void sub_80B89DC(struct Task *task)
{
sub_80B8B28(task);
if (gSprites[task->data[15]].data[7])
@@ -2604,7 +2681,7 @@ void sub_80B89DC(struct Task *task)
}
}
-void sub_80B8A0C(struct Task *task)
+static void sub_80B8A0C(struct Task *task)
{
sub_80B8B28(task);
task->data[3] = task->data[1] & 7;
@@ -2614,7 +2691,7 @@ void sub_80B8A0C(struct Task *task)
task->data[0]++;
}
-void sub_80B8A44(struct Task *task)
+static void sub_80B8A44(struct Task *task)
{
sub_80B8B28(task);
if (sub_80B8BF0(task))
@@ -2623,7 +2700,7 @@ void sub_80B8A44(struct Task *task)
}
}
-void sub_80B8A64(struct Task *task)
+static void sub_80B8A64(struct Task *task)
{
IntrCallback intrCallback;
u16 bg0cnt;
@@ -2637,7 +2714,7 @@ void sub_80B8A64(struct Task *task)
DestroyTask(FindTaskIdByFunc(sub_80B88B4));
}
-void sub_80B8AE0(void)
+static void sub_80B8AE0(void)
{
IntrCallback intrCallback;
struct Task *task;
@@ -2648,14 +2725,13 @@ void sub_80B8AE0(void)
SetGpuReg(REG_OFFSET_BG0VOFS, task->data[2]);
}
-void sub_80B8B28(struct Task *task)
+static void sub_80B8B28(struct Task *task)
{
task->data[1] -= 16;
task->data[3] += 16;
}
-#ifdef NONMATCHING
-bool8 sub_80B8B38(struct Task *task)
+static bool8 sub_80B8B38(struct Task *task)
{
u16 i;
u16 srcOffs;
@@ -2671,118 +2747,20 @@ bool8 sub_80B8B38(struct Task *task)
dstOffs = (32 - dstOffs) & 0x1f;
srcOffs = (32 - task->data[4]) & 0x1f;
dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]);
- for (i=0; i<10; i++)
+ for (i = 0; i < 10; i++)
{
- dest[dstOffs + i * 32] = gDarknessFieldMoveStreaksTilemap[srcOffs + i * 32] | 0xf000;
+ dest[dstOffs + i * 32] = gDarknessFieldMoveStreaksTilemap[srcOffs + i * 32];
+ dest[dstOffs + i * 32] |= 0xf000;
+
dest[((dstOffs + 1) & 0x1f) + i * 32] = gDarknessFieldMoveStreaksTilemap[((srcOffs + 1) & 0x1f) + i * 32] | 0xf000;
+ dest[((dstOffs + 1) & 0x1f) + i * 32] |= 0xf000;
}
task->data[4] += 2;
}
return FALSE;
}
-#else
-NAKED
-bool8 sub_80B8B38(struct Task *task)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tsub sp, 0x4\n"
- "\tadds r5, r0, 0\n"
- "\tldrh r2, [r5, 0x10]\n"
- "\tmovs r1, 0x10\n"
- "\tldrsh r0, [r5, r1]\n"
- "\tcmp r0, 0x1F\n"
- "\tble _08088724\n"
- "\tmovs r0, 0x1\n"
- "\tb _080887A8\n"
- "_08088724:\n"
- "\tldrh r0, [r5, 0xE]\n"
- "\tlsls r0, 16\n"
- "\tasrs r3, r0, 19\n"
- "\tmovs r1, 0x1F\n"
- "\tands r3, r1\n"
- "\tmovs r4, 0x10\n"
- "\tldrsh r0, [r5, r4]\n"
- "\tcmp r3, r0\n"
- "\tblt _080887A6\n"
- "\tmovs r0, 0x20\n"
- "\tsubs r3, r0, r3\n"
- "\tands r3, r1\n"
- "\tsubs r0, r2\n"
- "\tmov r12, r0\n"
- "\tmov r7, r12\n"
- "\tands r7, r1\n"
- "\tmov r12, r7\n"
- "\tldrh r0, [r5, 0x20]\n"
- "\tldr r1, _080887B8 @ =0x06000140\n"
- "\tadds r1, r0\n"
- "\tmov r8, r1\n"
- "\tmovs r4, 0\n"
- "\tldr r7, _080887BC @ =gDarknessFieldMoveStreaksTilemap\n"
- "\tmov r10, r7\n"
- "\tmovs r0, 0xF0\n"
- "\tlsls r0, 8\n"
- "\tmov r9, r0\n"
- "\tadds r1, r3, 0x1\n"
- "\tmovs r0, 0x1F\n"
- "\tands r1, r0\n"
- "\tstr r1, [sp]\n"
- "\tmov r6, r12\n"
- "\tadds r6, 0x1\n"
- "\tands r6, r0\n"
- "_08088768:\n"
- "\tlsls r1, r4, 5\n"
- "\tadds r2, r1, r3\n"
- "\tlsls r2, 1\n"
- "\tadd r2, r8\n"
- "\tmov r7, r12\n"
- "\tadds r0, r7, r1\n"
- "\tlsls r0, 1\n"
- "\tadd r0, r10\n"
- "\tldrh r0, [r0]\n"
- "\tmov r7, r9\n"
- "\torrs r0, r7\n"
- "\tstrh r0, [r2]\n"
- "\tldr r0, [sp]\n"
- "\tadds r2, r1, r0\n"
- "\tlsls r2, 1\n"
- "\tadd r2, r8\n"
- "\tadds r1, r6, r1\n"
- "\tlsls r1, 1\n"
- "\tadd r1, r10\n"
- "\tldrh r0, [r1]\n"
- "\tmov r1, r9\n"
- "\torrs r0, r1\n"
- "\tstrh r0, [r2]\n"
- "\tadds r0, r4, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r4, r0, 16\n"
- "\tcmp r4, 0x9\n"
- "\tbls _08088768\n"
- "\tldrh r0, [r5, 0x10]\n"
- "\tadds r0, 0x2\n"
- "\tstrh r0, [r5, 0x10]\n"
- "_080887A6:\n"
- "\tmovs r0, 0\n"
- "_080887A8:\n"
- "\tadd sp, 0x4\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r1}\n"
- "\tbx r1\n"
- "\t.align 2, 0\n"
- "_080887B8: .4byte 0x06000140\n"
- "_080887BC: .4byte gDarknessFieldMoveStreaksTilemap");
-}
-#endif
-bool8 sub_80B8BF0(struct Task *task)
+static bool8 sub_80B8BF0(struct Task *task)
{
u16 i;
u16 dstOffs;
@@ -2796,7 +2774,7 @@ bool8 sub_80B8BF0(struct Task *task)
{
dstOffs = (task->data[1] >> 3) & 0x1f;
dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]);
- for (i=0; i<10; i++)
+ for (i = 0; i < 10; i++)
{
dest[dstOffs + i * 32] = 0xf000;
dest[((dstOffs + 1) & 0x1f) + i * 32] = 0xf000;
@@ -2806,7 +2784,7 @@ bool8 sub_80B8BF0(struct Task *task)
return FALSE;
}
-u8 sub_80B8C60(u32 a0, u32 a1, u32 a2)
+static u8 sub_80B8C60(u32 a0, u32 a1, u32 a2)
{
u16 v0;
u8 monSprite;
@@ -2822,9 +2800,7 @@ u8 sub_80B8C60(u32 a0, u32 a1, u32 a2)
return monSprite;
}
-void sub_80B8D04(struct Sprite *);
-
-void sub_80B8CC0(struct Sprite *sprite)
+static void sub_80B8CC0(struct Sprite *sprite)
{
if ((sprite->pos1.x -= 20) <= 0x78)
{
@@ -2834,16 +2810,15 @@ void sub_80B8CC0(struct Sprite *sprite)
if (sprite->data[6])
{
PlayCry2(sprite->data[0], 0, 0x7d, 0xa);
- } else
+ }
+ else
{
PlayCry1(sprite->data[0], 0);
}
}
}
-void sub_80B8D20(struct Sprite *);
-
-void sub_80B8D04(struct Sprite *sprite)
+static void sub_80B8D04(struct Sprite *sprite)
{
if ((--sprite->data[1]) == 0)
{
@@ -2851,23 +2826,21 @@ void sub_80B8D04(struct Sprite *sprite)
}
}
-void sub_80B8D20(struct Sprite *sprite)
+static void sub_80B8D20(struct Sprite *sprite)
{
if (sprite->pos1.x < -0x40)
{
sprite->data[7] = 1;
- } else
+ }
+ else
{
sprite->pos1.x -= 20;
}
}
-void sub_80B8D84(u8);
-
u8 FldEff_UseSurf(void)
{
- u8 taskId;
- taskId = CreateTask(sub_80B8D84, 0xff);
+ u8 taskId = CreateTask(sub_80B8D84, 0xff);
gTasks[taskId].data[15] = gFieldEffectArguments[0];
Overworld_ClearSavedMusic();
Overworld_ChangeMusicTo(MUS_NAMINORI);
@@ -2882,12 +2855,12 @@ void (*const gUnknown_0855C4E0[])(struct Task *) = {
sub_80B8F24,
};
-void sub_80B8D84(u8 taskId)
+static void sub_80B8D84(u8 taskId)
{
gUnknown_0855C4E0[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B8DB4(struct Task *task)
+static void sub_80B8DB4(struct Task *task)
{
ScriptContext2_Enable();
FreezeEventObjects();
@@ -2898,19 +2871,19 @@ void sub_80B8DB4(struct Task *task)
task->data[0]++;
}
-void sub_80B8E14(struct Task *task)
+static void sub_80B8E14(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
sub_808C114();
- EventObjectSetHeldMovement(eventObject, 0x39);
+ EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
}
-void sub_80B8E60(struct Task *task)
+static void sub_80B8E60(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -2922,7 +2895,7 @@ void sub_80B8E60(struct Task *task)
}
}
-void sub_80B8EA8(struct Task *task)
+static void sub_80B8EA8(struct Task *task)
{
struct EventObject *eventObject;
if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
@@ -2939,7 +2912,7 @@ void sub_80B8EA8(struct Task *task)
}
}
-void sub_80B8F24(struct Task *task)
+static void sub_80B8F24(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -2956,13 +2929,12 @@ void sub_80B8F24(struct Task *task)
}
}
-#ifdef NONMATCHING
u8 sub_80B8F98(void)
{
- u8 spriteId, i, j, k, l;
- struct Sprite *sprite;
- spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[36], 0x78, -0x18, 1);
- sprite = &gSprites[spriteId];
+ u8 i, j, k;
+ u8 spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[36], 0x78, -0x18, 1);
+ struct Sprite *sprite = &gSprites[spriteId];
+
sprite->oam.priority = 1;
sprite->oam.paletteNum = 4;
sprite->data[0] = 0;
@@ -2973,7 +2945,7 @@ u8 sub_80B8F98(void)
sprite->data[5] = 0;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(14, 14));
- SetGpuReg(REG_OFFSET_WININ, 0x3F3F);
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
LoadPalette(gUnknown_0855B610, 0xC0, sizeof(gUnknown_0855B610));
SetGpuReg(REG_OFFSET_BG0VOFS, 120);
for (i = 3; i < 15; i++)
@@ -2985,158 +2957,20 @@ u8 sub_80B8F98(void)
}
for (k = 0; k < 90; k++)
{
- for (l = 0; l < 8; l++)
+ for (i = 0; i < 8; i++)
{
- *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + l * 4) = (gUnknown_0855B630[k * 32 + l * 4 + 1] << 8) + gUnknown_0855B630[k * 32 + l * 4];
- *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + l * 4 + 2) = (gUnknown_0855B630[k * 32 + l * 4 + 3] << 8) + gUnknown_0855B630[k * 32 + l * 4 + 2];
+ *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + i * 4) = (gUnknown_0855B630[k * 32 + i * 4 + 1] << 8) + gUnknown_0855B630[k * 32 + i * 4];
+ *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + i * 4 + 2) = (gUnknown_0855B630[k * 32 + i * 4 + 3] << 8) + gUnknown_0855B630[k * 32 + i * 4 + 2];
}
}
return spriteId;
}
-#else
-NAKED
-u8 sub_80B8F98(void)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- ldr r0, =gFieldEffectObjectTemplatePointers\n\
- adds r0, 0x90\n\
- ldr r0, [r0]\n\
- movs r2, 0x18\n\
- negs r2, r2\n\
- movs r1, 0x78\n\
- movs r3, 0x1\n\
- bl CreateSprite\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- lsls r1, r0, 4\n\
- add r1, r8\n\
- lsls r1, 2\n\
- ldr r0, =gSprites\n\
- adds r1, r0\n\
- ldrb r2, [r1, 0x5]\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- movs r2, 0x4\n\
- orrs r0, r2\n\
- movs r2, 0xF\n\
- ands r0, r2\n\
- movs r2, 0x40\n\
- orrs r0, r2\n\
- strb r0, [r1, 0x5]\n\
- movs r2, 0\n\
- strh r2, [r1, 0x2E]\n\
- strh r2, [r1, 0x30]\n\
- strh r2, [r1, 0x32]\n\
- ldr r0, =0x0000ffff\n\
- strh r0, [r1, 0x34]\n\
- ldrh r0, [r1, 0x22]\n\
- strh r0, [r1, 0x36]\n\
- strh r2, [r1, 0x38]\n\
- ldr r1, =0x00003e41\n\
- movs r0, 0x50\n\
- bl SetGpuReg\n\
- ldr r1, =0x00000e0e\n\
- movs r0, 0x52\n\
- bl SetGpuReg\n\
- ldr r1, =0x00003f3f\n\
- movs r0, 0x48\n\
- bl SetGpuReg\n\
- ldr r0, =gUnknown_0855B610\n\
- movs r1, 0xC0\n\
- movs r2, 0x20\n\
- bl LoadPalette\n\
- movs r0, 0x12\n\
- movs r1, 0x78\n\
- bl SetGpuReg\n\
- movs r4, 0x3\n\
- ldr r7, =0x0600f800\n\
- ldr r0, =0x0000bff4\n\
- adds r6, r0, 0\n\
-_080B901A:\n\
- movs r2, 0xC\n\
- lsls r0, r4, 1\n\
- lsls r5, r4, 5\n\
- adds r0, r4\n\
- lsls r3, r0, 1\n\
-_080B9024:\n\
- adds r0, r5, r2\n\
- lsls r0, 1\n\
- adds r0, r7\n\
- adds r1, r2, r6\n\
- adds r1, r3, r1\n\
- adds r1, 0x1\n\
- strh r1, [r0]\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r2, 0x11\n\
- bls _080B9024\n\
- adds r0, r4, 0x1\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0xE\n\
- bls _080B901A\n\
- movs r0, 0\n\
- ldr r5, =gUnknown_0855B630\n\
-_080B904A:\n\
- movs r4, 0\n\
- adds r7, r0, 0x1\n\
- lsls r6, r0, 5\n\
-_080B9050:\n\
- lsls r1, r4, 2\n\
- adds r1, r6, r1\n\
- ldr r0, =0x06008020\n\
- adds r3, r1, r0\n\
- adds r0, r1, 0x1\n\
- adds r0, r5\n\
- ldrb r2, [r0]\n\
- lsls r2, 8\n\
- adds r0, r1, r5\n\
- ldrb r0, [r0]\n\
- adds r0, r2\n\
- strh r0, [r3]\n\
- ldr r0, =0x06008022\n\
- adds r3, r1, r0\n\
- adds r0, r1, 0x3\n\
- adds r0, r5\n\
- ldrb r2, [r0]\n\
- lsls r2, 8\n\
- adds r1, 0x2\n\
- adds r1, r5\n\
- ldrb r0, [r1]\n\
- adds r0, r2\n\
- strh r0, [r3]\n\
- adds r0, r4, 0x1\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0x7\n\
- bls _080B9050\n\
- lsls r0, r7, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x59\n\
- bls _080B904A\n\
- mov r0, r8\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool");
-}
-#endif // NONMATCHING
-
-void sub_80B9128(struct Sprite *);
u8 FldEff_NPCFlyOut(void)
{
- u8 spriteId;
- struct Sprite *sprite;
- spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0x78, 0, 1);
- sprite = &gSprites[spriteId];
+ u8 spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0x78, 0, 1);
+ struct Sprite *sprite = &gSprites[spriteId];
+
sprite->oam.paletteNum = 0;
sprite->oam.priority = 1;
sprite->callback = sub_80B9128;
@@ -3145,9 +2979,10 @@ u8 FldEff_NPCFlyOut(void)
return spriteId;
}
-void sub_80B9128(struct Sprite *sprite)
+static void sub_80B9128(struct Sprite *sprite)
{
struct Sprite *npcSprite;
+
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
sprite->pos2.y = Sin(sprite->data[2], 0x48);
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
@@ -3166,19 +3001,9 @@ void sub_80B9128(struct Sprite *sprite)
}
}
-void sub_80B91D4(u8);
-extern void sub_81555D8(u8, u8);
-u8 sub_80B94C4(void);
-bool8 sub_80B9508(u8);
-void sub_80B9524(u8);
-void sub_80B9560(u8, u8);
-void sub_80B957C(struct Sprite *);
-void sub_80B963C(struct Sprite *);
-
u8 FldEff_UseFly(void)
{
- u8 taskId;
- taskId = CreateTask(sub_80B91D4, 0xfe);
+ u8 taskId = CreateTask(sub_80B91D4, 0xfe);
gTasks[taskId].data[1] = gFieldEffectArguments[0];
return 0;
}
@@ -3195,30 +3020,28 @@ void (*const gUnknown_0855C4F4[])(struct Task *) = {
sub_80B9494,
};
-void sub_80B91D4(u8 taskId)
+static void sub_80B91D4(u8 taskId)
{
gUnknown_0855C4F4[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B9204(struct Task *task)
+static void sub_80B9204(struct Task *task)
{
- struct EventObject *eventObject;
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[15] = gPlayerAvatar.flags;
gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(1);
sub_808C114();
- EventObjectSetHeldMovement(eventObject, 0x39);
+ EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
}
-void sub_80B925C(struct Task *task)
+static void sub_80B925C(struct Task *task)
{
- struct EventObject *eventObject;
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
@@ -3227,12 +3050,11 @@ void sub_80B925C(struct Task *task)
}
}
-void sub_80B92A0(struct Task *task)
+static void sub_80B92A0(struct Task *task)
{
- struct EventObject *eventObject;
if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
{
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (task->data[15] & 0x08)
{
sub_81555AC(eventObject->fieldEffectSpriteId, 2);
@@ -3243,21 +3065,20 @@ void sub_80B92A0(struct Task *task)
}
}
-void sub_80B92F8(struct Task *task)
+static void sub_80B92F8(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
task->data[0]++;
task->data[2] = 16;
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
- EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02);
+ EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], MOVEMENT_ACTION_FACE_LEFT);
}
}
-void sub_80B933C(struct Task *task)
+static void sub_80B933C(struct Task *task)
{
- struct EventObject *eventObject;
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
@@ -3266,16 +3087,15 @@ void sub_80B933C(struct Task *task)
}
}
-void sub_80B9390(struct Task *task)
+static void sub_80B9390(struct Task *task)
{
- struct EventObject *eventObject;
if ((++task->data[2]) >= 8)
{
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x03));
StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16);
eventObject->inanimate = 1;
- EventObjectSetHeldMovement(eventObject, 0x48);
+ EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT);
if (task->data[15] & 0x08)
{
DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]);
@@ -3285,12 +3105,11 @@ void sub_80B9390(struct Task *task)
}
}
-void sub_80B9418(struct Task *task)
+static void sub_80B9418(struct Task *task)
{
- struct EventObject *eventObject;
if ((++task->data[2]) >= 10)
{
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectClearHeldMovementIfActive(eventObject);
eventObject->inanimate = 0;
eventObject->hasShadow = 0;
@@ -3300,7 +3119,7 @@ void sub_80B9418(struct Task *task)
}
}
-void sub_80B9474(struct Task *task)
+static void sub_80B9474(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
@@ -3309,7 +3128,7 @@ void sub_80B9474(struct Task *task)
}
}
-void sub_80B9494(struct Task *task)
+static void sub_80B9494(struct Task *task)
{
if (!gPaletteFade.active)
{
@@ -3318,7 +3137,7 @@ void sub_80B9494(struct Task *task)
}
}
-u8 sub_80B94C4(void)
+static u8 sub_80B94C4(void)
{
u8 spriteId;
struct Sprite *sprite;
@@ -3330,12 +3149,12 @@ u8 sub_80B94C4(void)
return spriteId;
}
-u8 sub_80B9508(u8 spriteId)
+static u8 sub_80B9508(u8 spriteId)
{
return gSprites[spriteId].data[7];
}
-void sub_80B9524(u8 spriteId)
+static void sub_80B9524(u8 spriteId)
{
struct Sprite *sprite;
sprite = &gSprites[spriteId];
@@ -3348,7 +3167,7 @@ void sub_80B9524(u8 spriteId)
sprite->data[6] = 0x40;
}
-void sub_80B9560(u8 a0, u8 a1)
+static void sub_80B9560(u8 a0, u8 a1)
{
gSprites[a0].data[6] = a1;
}
@@ -3370,7 +3189,7 @@ const union AffineAnimCmd *const gSpriteAffineAnimTable_0855C548[] = {
SpriteAffineAnim_855C530
};
-void sub_80B957C(struct Sprite *sprite)
+static void sub_80B957C(struct Sprite *sprite)
{
if (sprite->data[7] == 0)
{
@@ -3403,15 +3222,14 @@ void sub_80B957C(struct Sprite *sprite)
}
}
-void sub_80B963C(struct Sprite *sprite)
+static void sub_80B963C(struct Sprite *sprite)
{
- struct Sprite *sprite1;
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
sprite->pos2.y = Sin(sprite->data[2], 0x48);
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
- if (sprite->data[6] != 0x40)
+ if (sprite->data[6] != MAX_SPRITES)
{
- sprite1 = &gSprites[sprite->data[6]];
+ struct Sprite *sprite1 = &gSprites[sprite->data[6]];
sprite1->coordOffsetEnabled = 0;
sprite1->pos1.x = sprite->pos1.x + sprite->pos2.x;
sprite1->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
@@ -3474,8 +3292,6 @@ void sub_80B9794(u8 spriteId)
gSprites[spriteId].callback = sub_80B96B0;
}
-void sub_80B97D4(u8);
-
u8 FldEff_FlyIn(void)
{
CreateTask(sub_80B97D4, 0xfe);
@@ -3492,12 +3308,12 @@ void (*const gUnknown_0855C550[])(struct Task *) = {
sub_80B9A60,
};
-void sub_80B97D4(u8 taskId)
+static void sub_80B97D4(u8 taskId)
{
gUnknown_0855C550[gTasks[taskId].data[0]](&gTasks[taskId]);
}
-void sub_80B9804(struct Task *task)
+static void sub_80B9804(struct Task *task)
{
struct EventObject *eventObject;
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -3523,7 +3339,7 @@ void sub_80B9804(struct Task *task)
}
}
-void sub_80B98B8(struct Task *task)
+static void sub_80B98B8(struct Task *task)
{
struct EventObject *eventObject;
struct Sprite *sprite;
@@ -3541,7 +3357,7 @@ void sub_80B98B8(struct Task *task)
}
}
-void sub_80B9924(struct Task *task)
+static void sub_80B9924(struct Task *task)
{
s16 unknown_0855C56C[18] = {
-2,
@@ -3571,7 +3387,7 @@ void sub_80B9924(struct Task *task)
}
}
-void sub_80B9978(struct Task *task)
+static void sub_80B9978(struct Task *task)
{
struct EventObject *eventObject;
struct Sprite *sprite;
@@ -3585,12 +3401,12 @@ void sub_80B9978(struct Task *task)
sprite->pos2.y = 0;
sprite->coordOffsetEnabled = 1;
sub_808C114();
- EventObjectSetHeldMovement(eventObject, 0x39);
+ EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
task->data[0]++;
}
}
-void sub_80B99F0(struct Task *task)
+static void sub_80B99F0(struct Task *task)
{
if (EventObjectClearHeldMovementIfFinished(&gEventObjects[gPlayerAvatar.eventObjectId]))
{
@@ -3599,7 +3415,7 @@ void sub_80B99F0(struct Task *task)
}
}
-void sub_80B9A28(struct Task *task)
+static void sub_80B9A28(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
@@ -3609,7 +3425,7 @@ void sub_80B9A28(struct Task *task)
}
}
-void sub_80B9A60(struct Task *task)
+static void sub_80B9A60(struct Task *task)
{
u8 state;
struct EventObject *eventObject;
@@ -3631,8 +3447,6 @@ void sub_80B9A60(struct Task *task)
}
}
-void sub_80B9BE8(u8 taskId);
-
bool8 sub_80B9ADC(void)
{
u8 taskId;
@@ -3697,7 +3511,7 @@ void (*const gUnknown_0855C590[])(s16*, u8) = {
sub_80B9CDC,
};
-void sub_80B9BE8(u8 taskId)
+static void sub_80B9BE8(u8 taskId)
{
s16 *data = gTasks[taskId].data;
InstallCameraPanAheadCallback();
@@ -3742,8 +3556,6 @@ void sub_80B9CDC(s16* a0, u8 taskId)
}
}
-void sub_80B9DB8(struct Sprite* sprite);
-
const struct SpriteFrameImage gSpriteImageTable_855C59C[] = {
obj_frame_tiles(gUnknown_0855C170),
obj_frame_tiles(gUnknown_0855C190),
@@ -3791,13 +3603,13 @@ const struct SpriteTemplate gUnknown_0855C5EC = {
void sub_80B9D24(struct Sprite* sprite)
{
int i;
- int xPos = (s16)gUnknown_03005DEC + sprite->pos1.x + sprite->pos2.x;
- int yPos = (s16)gUnknown_03005DE8 + sprite->pos1.y + sprite->pos2.y - 4;
+ int xPos = (s16)gTotalCameraPixelOffsetX + sprite->pos1.x + sprite->pos2.x;
+ int yPos = (s16)gTotalCameraPixelOffsetY + sprite->pos1.y + sprite->pos2.y - 4;
for (i = 0; i < 4; i++)
{
u8 spriteId = CreateSprite(&gUnknown_0855C5EC, xPos, yPos, 0);
- if (spriteId != 0x40)
+ if (spriteId != MAX_SPRITES)
{
StartSpriteAnim(&gSprites[spriteId], i);
gSprites[spriteId].data[0] = i;
@@ -3806,33 +3618,31 @@ void sub_80B9D24(struct Sprite* sprite)
}
}
-void sub_80B9DB8(struct Sprite* sprite)
+static void sub_80B9DB8(struct Sprite* sprite)
{
switch (sprite->data[0])
{
- case 0:
- sprite->pos1.x -= 16;
- sprite->pos1.y -= 12;
- break;
- case 1:
- sprite->pos1.x += 16;
- sprite->pos1.y -= 12;
- break;
- case 2:
- sprite->pos1.x -= 16;
- sprite->pos1.y += 12;
- break;
- case 3:
- sprite->pos1.x += 16;
- sprite->pos1.y += 12;
- break;
+ case 0:
+ sprite->pos1.x -= 16;
+ sprite->pos1.y -= 12;
+ break;
+ case 1:
+ sprite->pos1.x += 16;
+ sprite->pos1.y -= 12;
+ break;
+ case 2:
+ sprite->pos1.x -= 16;
+ sprite->pos1.y += 12;
+ break;
+ case 3:
+ sprite->pos1.x += 16;
+ sprite->pos1.y += 12;
+ break;
}
if ((u16)(sprite->pos1.x + 4) > 0xF8 || sprite->pos1.y < -4 || sprite->pos1.y > 0xA4)
DestroySprite(sprite);
}
-void sub_80B9EDC(u8 taskId);
-
bool8 sub_80B9E28(struct Sprite* sprite)
{
u8 eventObjectIdBuffer;
@@ -3857,7 +3667,7 @@ bool8 sub_80B9E28(struct Sprite* sprite)
return FALSE;
}
-void sub_80B9EDC(u8 taskId)
+static void sub_80B9EDC(u8 taskId)
{
// BUG: Possible divide by zero
s16 *data = gTasks[taskId].data;
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index 3534e0a71..a68a72c76 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -10,26 +10,27 @@
#include "sound.h"
#include "sprite.h"
#include "trig.h"
+#include "constants/field_effects.h"
#include "constants/songs.h"
#define EVENT_OBJ_PAL_TAG_NONE 0x11FF // duplicate of define in event_object_movement.c
-void UpdateObjectReflectionSprite(struct Sprite *);
-void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite);
-void LoadObjectHighBridgeReflectionPalette(struct EventObject *, u8);
-void LoadObjectRegularReflectionPalette(struct EventObject *, u8);
-void sub_81561FC(struct Sprite *, u8, u8);
-void FadeFootprintsTireTracks_Step0(struct Sprite *);
-void FadeFootprintsTireTracks_Step1(struct Sprite *);
-void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *);
-void UpdateAshFieldEffect_Step0(struct Sprite *);
-void UpdateAshFieldEffect_Step1(struct Sprite *);
-void UpdateAshFieldEffect_Step2(struct Sprite *);
-void sub_81556B0(struct EventObject *, struct Sprite *);
-void sub_81556E8(struct EventObject *, struct Sprite *);
-void sub_815577C(struct EventObject *, struct Sprite *, struct Sprite *);
-void sub_8155850(struct Sprite *);
-u32 ShowDisguiseFieldEffect(u8, u8, u8);
+static void UpdateObjectReflectionSprite(struct Sprite *);
+static void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite);
+static void LoadObjectHighBridgeReflectionPalette(struct EventObject *, u8);
+static void LoadObjectRegularReflectionPalette(struct EventObject *, u8);
+static void sub_81561FC(struct Sprite *, u8, u8);
+static void FadeFootprintsTireTracks_Step0(struct Sprite *);
+static void FadeFootprintsTireTracks_Step1(struct Sprite *);
+static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *);
+static void UpdateAshFieldEffect_Step0(struct Sprite *);
+static void UpdateAshFieldEffect_Step1(struct Sprite *);
+static void UpdateAshFieldEffect_Step2(struct Sprite *);
+static void SynchroniseSurfAnim(struct EventObject *, struct Sprite *);
+static void sub_81556E8(struct EventObject *, struct Sprite *);
+static void CreateBobbingEffect(struct EventObject *, struct Sprite *, struct Sprite *);
+static void sub_8155850(struct Sprite *);
+static u32 ShowDisguiseFieldEffect(u8, u8, u8);
void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, bool8 stillReflection)
{
@@ -59,12 +60,12 @@ static s16 GetReflectionVerticalOffset(struct EventObject *eventObject)
return GetEventObjectGraphicsInfo(eventObject->graphicsId)->height - 2;
}
-void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite)
+static void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite)
{
u8 bridgeType;
u16 bridgeReflectionVerticalOffsets[] = { 12, 28, 44 };
sprite->data[2] = 0;
- if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeSth(eventObject->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeSth(eventObject->currentMetatileBehavior))))
+ if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeType(eventObject->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeType(eventObject->currentMetatileBehavior))))
{
sprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1];
LoadObjectHighBridgeReflectionPalette(eventObject, sprite->oam.paletteNum);
@@ -75,7 +76,7 @@ void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite
}
}
-void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, u8 paletteIndex)
+static void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, u8 paletteIndex)
{
const struct EventObjectGraphicsInfo *graphicsInfo;
@@ -100,7 +101,7 @@ void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, u8 pale
// When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color.
// This is so the sprite blends in with the dark water metatile underneath the bridge.
-void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObject, u8 paletteNum)
+static void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObject, u8 paletteNum)
{
const struct EventObjectGraphicsInfo *graphicsInfo;
@@ -112,7 +113,7 @@ void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObject, u8 p
}
}
-void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
+static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
{
struct EventObject *eventObject;
struct Sprite *mainSprite;
@@ -141,7 +142,7 @@ void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite)
reflectionSprite->pos2.x = mainSprite->pos2.x;
reflectionSprite->pos2.y = -mainSprite->pos2.y;
reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled;
-
+
if (eventObject->unk3_3 == TRUE)
reflectionSprite->invisible = TRUE;
@@ -579,7 +580,7 @@ void UpdateFootprintsTireTracksFieldEffect(struct Sprite *sprite)
gFadeFootprintsTireTracksFuncs[sprite->data[0]](sprite);
}
-void FadeFootprintsTireTracks_Step0(struct Sprite *sprite)
+static void FadeFootprintsTireTracks_Step0(struct Sprite *sprite)
{
// Wait 40 frames before the flickering starts.
if (++sprite->data[1] > 40)
@@ -588,7 +589,7 @@ void FadeFootprintsTireTracks_Step0(struct Sprite *sprite)
UpdateEventObjectSpriteVisibility(sprite, FALSE);
}
-void FadeFootprintsTireTracks_Step1(struct Sprite *sprite)
+static void FadeFootprintsTireTracks_Step1(struct Sprite *sprite)
{
sprite->invisible ^= 1;
sprite->data[1]++;
@@ -708,7 +709,7 @@ u32 FldEff_FeetInFlowingWater(void)
return 0;
}
-void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite)
+static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite)
{
u8 eventObjectId;
struct Sprite *linkedSprite;
@@ -913,7 +914,7 @@ void UpdateAshFieldEffect(struct Sprite *sprite)
gAshFieldEffectFuncs[sprite->data[0]](sprite);
}
-void UpdateAshFieldEffect_Step0(struct Sprite *sprite)
+static void UpdateAshFieldEffect_Step0(struct Sprite *sprite)
{
sprite->invisible = TRUE;
sprite->animPaused = TRUE;
@@ -921,7 +922,7 @@ void UpdateAshFieldEffect_Step0(struct Sprite *sprite)
sprite->data[0] = 1;
}
-void UpdateAshFieldEffect_Step1(struct Sprite *sprite)
+static void UpdateAshFieldEffect_Step1(struct Sprite *sprite)
{
sprite->invisible = FALSE;
sprite->animPaused = FALSE;
@@ -931,7 +932,7 @@ void UpdateAshFieldEffect_Step1(struct Sprite *sprite)
sprite->data[0] = 2;
}
-void UpdateAshFieldEffect_Step2(struct Sprite *sprite)
+static void UpdateAshFieldEffect_Step2(struct Sprite *sprite)
{
UpdateEventObjectSpriteVisibility(sprite, FALSE);
if (sprite->animEnded)
@@ -975,17 +976,17 @@ void sub_8155604(u8 spriteId, u8 value, s16 data1)
gSprites[spriteId].data[1] = data1;
}
-u8 sub_8155638(struct Sprite *sprite)
+static u8 sub_8155638(struct Sprite *sprite)
{
return sprite->data[0] & 0xF;
}
-u8 sub_8155640(struct Sprite *sprite)
+static u8 sub_8155640(struct Sprite *sprite)
{
return (sprite->data[0] & 0xF0) >> 4;
}
-u8 sub_815564C(struct Sprite *sprite)
+static u8 sub_815564C(struct Sprite *sprite)
{
return (sprite->data[0] & 0xF00) >> 8;
}
@@ -997,13 +998,13 @@ void UpdateSurfBlobFieldEffect(struct Sprite *sprite)
eventObject = &gEventObjects[sprite->data[2]];
linkedSprite = &gSprites[eventObject->spriteId];
- sub_81556B0(eventObject, sprite);
+ SynchroniseSurfAnim(eventObject, sprite);
sub_81556E8(eventObject, sprite);
- sub_815577C(eventObject, linkedSprite, sprite);
+ CreateBobbingEffect(eventObject, linkedSprite, sprite);
sprite->oam.priority = linkedSprite->oam.priority;
}
-void sub_81556B0(struct EventObject *eventObject, struct Sprite *sprite)
+static void SynchroniseSurfAnim(struct EventObject *eventObject, struct Sprite *sprite)
{
u8 surfBlobDirectionAnims[] = {
0, // DIR_NONE
@@ -1021,19 +1022,19 @@ void sub_81556B0(struct EventObject *eventObject, struct Sprite *sprite)
StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[eventObject->movementDirection]);
}
-#ifdef NONMATCHING
void sub_81556E8(struct EventObject *eventObject, struct Sprite *sprite)
{
- s16 x;
- s16 y;
u8 i;
+ s16 x = eventObject->currentCoords.x;
+ s16 y = eventObject->currentCoords.y;
+ s32 spriteY = sprite->pos2.y;
- x = eventObject->currentCoords.x;
- y = eventObject->currentCoords.y;
- if (sprite->pos2.y == 0 && (x != sprite->data[6] || y != sprite->data[7]))
+ if (spriteY == 0 && (x != sprite->data[6] || y != sprite->data[7]))
{
- sprite->data[5] = sprite->pos2.y;
- for (sprite->data[6] = x, sprite->data[7] = y, i = DIR_SOUTH; i <= DIR_EAST; i ++, x = sprite->data[6], y = sprite->data[7])
+ sprite->data[5] = spriteY;
+ sprite->data[6] = x;
+ sprite->data[7] = y;
+ for (i = DIR_SOUTH; i <= DIR_EAST; i++, x = sprite->data[6], y = sprite->data[7])
{
MoveCoords(i, &x, &y);
if (MapGridGetZCoordAt(x, y) == 3)
@@ -1044,89 +1045,8 @@ void sub_81556E8(struct EventObject *eventObject, struct Sprite *sprite)
}
}
}
-#else
-NAKED void sub_81556E8(struct EventObject *eventObject, struct Sprite *sprite)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- sub sp, 0x4\n\
- adds r4, r1, 0\n\
- ldrh r2, [r0, 0x10]\n\
- mov r1, sp\n\
- strh r2, [r1]\n\
- ldrh r1, [r0, 0x12]\n\
- mov r0, sp\n\
- adds r0, 0x2\n\
- strh r1, [r0]\n\
- movs r2, 0x26\n\
- ldrsh r3, [r4, r2]\n\
- mov r8, r0\n\
- cmp r3, 0\n\
- bne _08155770\n\
- mov r0, sp\n\
- movs r5, 0\n\
- ldrsh r2, [r0, r5]\n\
- movs r5, 0x3A\n\
- ldrsh r0, [r4, r5]\n\
- cmp r2, r0\n\
- bne _08155724\n\
- lsls r0, r1, 16\n\
- asrs r0, 16\n\
- movs r5, 0x3C\n\
- ldrsh r1, [r4, r5]\n\
- cmp r0, r1\n\
- beq _08155770\n\
-_08155724:\n\
- strh r3, [r4, 0x38]\n\
- strh r2, [r4, 0x3A]\n\
- mov r1, r8\n\
- movs r2, 0\n\
- ldrsh r0, [r1, r2]\n\
- strh r0, [r4, 0x3C]\n\
- movs r5, 0x1\n\
- mov r7, r8\n\
- mov r6, sp\n\
-_08155736:\n\
- adds r0, r5, 0\n\
- mov r1, sp\n\
- adds r2, r7, 0\n\
- bl MoveCoords\n\
- movs r1, 0\n\
- ldrsh r0, [r6, r1]\n\
- movs r2, 0\n\
- ldrsh r1, [r7, r2]\n\
- bl MapGridGetZCoordAt\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x3\n\
- bne _0815575C\n\
- ldrh r0, [r4, 0x38]\n\
- adds r0, 0x1\n\
- strh r0, [r4, 0x38]\n\
- b _08155770\n\
-_0815575C:\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- ldrh r0, [r4, 0x3A]\n\
- strh r0, [r6]\n\
- ldrh r0, [r4, 0x3C]\n\
- mov r1, r8\n\
- strh r0, [r1]\n\
- cmp r5, 0x4\n\
- bls _08155736\n\
-_08155770:\n\
- add sp, 0x4\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0");
-}
-#endif
-
-void sub_815577C(struct EventObject *eventObject, struct Sprite *linkedSprite, struct Sprite *sprite)
+
+static void CreateBobbingEffect(struct EventObject *eventObject, struct Sprite *linkedSprite, struct Sprite *sprite)
{
u16 unk_085CDC6A[] = {3, 7};
u8 v0 = sub_8155638(sprite);
@@ -1166,7 +1086,7 @@ u8 sub_8155800(u8 oldSpriteId)
return spriteId;
}
-void sub_8155850(struct Sprite *sprite)
+static void sub_8155850(struct Sprite *sprite)
{
struct Sprite *oldSprite;
@@ -1320,7 +1240,7 @@ u32 ShowSandDisguiseFieldEffect(void)
return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 28, 2);
}
-u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum)
+static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum)
{
u8 spriteId;
struct Sprite *sprite;
@@ -1449,7 +1369,7 @@ void sub_8155EA0(struct Sprite *sprite)
bool8 sub_8155EA8(struct Sprite *sprite)
{
bool8 returnBool = FALSE;
-
+
switch (sprite->data[7])
{
case 0:
@@ -1469,7 +1389,7 @@ bool8 sub_8155EA8(struct Sprite *sprite)
sprite->pos2.y += sub_8097728(0x47 - sprite->data[6]);
break;
}
-
+
SetGpuReg(REG_OFFSET_BG0HOFS, -sprite->pos2.x);
if (++sprite->data[6] == 72)
{
@@ -1482,14 +1402,14 @@ bool8 sub_8155EA8(struct Sprite *sprite)
sprite->pos2.x = 0;
returnBool = TRUE;
}
-
+
return returnBool;
}
void sub_8155F80(struct Sprite *sprite)
{
u8 i, j;
-
+
switch (sprite->data[2])
{
case 0:
@@ -1593,7 +1513,7 @@ void sub_8155F80(struct Sprite *sprite)
FieldEffectStop(sprite, FLDEFF_64);
break;
}
-
+
if (sprite->data[2] == 1)
{
if ((sprite->data[1] & 7) == 0)
@@ -1602,7 +1522,7 @@ void sub_8155F80(struct Sprite *sprite)
sprite->data[3] = -sprite->data[3];
sprite->data[1]++;
}
-
+
sprite->data[0]++;
}
@@ -1619,7 +1539,7 @@ void sub_8156194(struct Sprite *sprite)
}
}
-void sub_81561D0(struct Sprite *sprite)
+void WaitFieldEffectSpriteAnim(struct Sprite *sprite)
{
if (sprite->animEnded)
FieldEffectStop(sprite, sprite->data[0]);
@@ -1627,150 +1547,35 @@ void sub_81561D0(struct Sprite *sprite)
UpdateEventObjectSpriteVisibility(sprite, FALSE);
}
-#ifdef NONMATCHING
-void sub_81561FC(struct Sprite *sprite /*r6*/, u8 z, u8 offset)
+static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset)
{
u8 i;
- s16 xlo;
- s16 xhi;
- s16 lx;
- s16 lyhi;
- s16 ly;
- s16 ylo;
- s16 yhi;
- struct EventObject *eventObject; // r4
- const struct EventObjectGraphicsInfo *graphicsInfo; // destroyed
- struct Sprite *linkedSprite; // r5
+ s16 var, xhi, lyhi, yhi, ylo;
+ const struct EventObjectGraphicsInfo *graphicsInfo; // Unused Variable
+ struct Sprite *linkedSprite;
SetObjectSubpriorityByZCoord(z, sprite, offset);
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i ++)
{
- eventObject = &gEventObjects[i];
+ struct EventObject *eventObject = &gEventObjects[i];
if (eventObject->active)
{
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
linkedSprite = &gSprites[eventObject->spriteId];
xhi = sprite->pos1.x + sprite->centerToCornerVecX;
- xlo = sprite->pos1.x - sprite->centerToCornerVecX;
- lx = linkedSprite->pos1.x;
- if (xhi < lx && xlo > lx)
+ var = sprite->pos1.x - sprite->centerToCornerVecX;
+ if (xhi < linkedSprite->pos1.x && var > linkedSprite->pos1.x)
{
lyhi = linkedSprite->pos1.y + linkedSprite->centerToCornerVecY;
- ly = linkedSprite->pos1.y;
+ var = linkedSprite->pos1.y;
ylo = sprite->pos1.y - sprite->centerToCornerVecY;
yhi = ylo + linkedSprite->centerToCornerVecY;
- if ((lyhi < yhi || lyhi < ylo) && ly > yhi)
+ if ((lyhi < yhi || lyhi < ylo) && var > yhi && sprite->subpriority <= linkedSprite->subpriority)
{
- if (sprite->subpriority <= linkedSprite->subpriority)
- {
- sprite->subpriority = linkedSprite->subpriority + 2;
- break;
- }
+ sprite->subpriority = linkedSprite->subpriority + 2;
+ break;
}
}
}
}
}
-#else
-NAKED void sub_81561FC(struct Sprite *sprite /*r6*/, u8 z, u8 offset)
-{
- asm_unified("push {r4-r7,lr}\n\
- adds r6, r0, 0\n\
- adds r0, r1, 0\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- adds r1, r6, 0\n\
- bl SetObjectSubpriorityByZCoord\n\
- movs r7, 0\n\
-_08156212:\n\
- lsls r0, r7, 3\n\
- adds r0, r7\n\
- lsls r0, 2\n\
- ldr r1, =gEventObjects\n\
- adds r4, r0, r1\n\
- ldrb r0, [r4]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _081562B4\n\
- ldrb r0, [r4, 0x5]\n\
- bl GetEventObjectGraphicsInfo\n\
- ldrb r1, [r4, 0x4]\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r1, =gSprites\n\
- adds r5, r0, r1\n\
- adds r0, r6, 0\n\
- adds r0, 0x28\n\
- movs r2, 0\n\
- ldrsb r2, [r0, r2]\n\
- ldrh r0, [r6, 0x20]\n\
- adds r1, r0, r2\n\
- subs r0, r2\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- lsls r1, 16\n\
- asrs r1, 16\n\
- movs r0, 0x20\n\
- ldrsh r2, [r5, r0]\n\
- cmp r1, r2\n\
- bge _081562B4\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- cmp r0, r2\n\
- ble _081562B4\n\
- adds r0, r5, 0\n\
- adds r0, 0x29\n\
- movs r3, 0\n\
- ldrsb r3, [r0, r3]\n\
- ldrh r2, [r5, 0x22]\n\
- adds r2, r3\n\
- ldrh r4, [r5, 0x22]\n\
- adds r0, r6, 0\n\
- adds r0, 0x29\n\
- movs r1, 0\n\
- ldrsb r1, [r0, r1]\n\
- ldrh r0, [r6, 0x22]\n\
- subs r0, r1\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- adds r3, r0, r3\n\
- lsls r2, 16\n\
- asrs r2, 16\n\
- lsls r3, 16\n\
- asrs r3, 16\n\
- cmp r2, r3\n\
- blt _0815628C\n\
- cmp r2, r0\n\
- bge _081562B4\n\
-_0815628C:\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- cmp r0, r3\n\
- ble _081562B4\n\
- adds r2, r6, 0\n\
- adds r2, 0x43\n\
- adds r0, r5, 0\n\
- adds r0, 0x43\n\
- ldrb r1, [r0]\n\
- ldrb r0, [r2]\n\
- cmp r0, r1\n\
- bhi _081562B4\n\
- adds r0, r1, 0x2\n\
- strb r0, [r2]\n\
- b _081562BE\n\
- .pool\n\
-_081562B4:\n\
- adds r0, r7, 0x1\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- cmp r7, 0xF\n\
- bls _08156212\n\
-_081562BE:\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0");
-}
-#endif
diff --git a/src/field_message_box.c b/src/field_message_box.c
index f45b6607d..46da9e9e5 100755
--- a/src/field_message_box.c
+++ b/src/field_message_box.c
@@ -16,10 +16,10 @@ void textbox_auto_and_task_add(void);
void sub_8098128(void)
{
gUnknown_020375BC = 0;
- gTextFlags.flag_0 = 0;
- gTextFlags.flag_1 = 0;
- gTextFlags.flag_2 = 0;
- gTextFlags.flag_3 = 0;
+ gTextFlags.canABSpeedUpPrint = 0;
+ gTextFlags.useAlternateDownArrow = 0;
+ gTextFlags.autoScroll = 0;
+ gTextFlags.forceMidTextSpeed = 0;
}
void sub_8098154(u8 taskId)
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index b9cf7d102..a5aa23e32 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1,85 +1,148 @@
#include "global.h"
+#include "main.h"
#include "bike.h"
#include "event_data.h"
#include "event_object_movement.h"
+#include "field_camera.h"
+#include "field_effect.h"
+#include "field_effect_helpers.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "global.fieldmap.h"
+#include "menu.h"
#include "metatile_behavior.h"
#include "overworld.h"
+#include "party_menu.h"
+#include "random.h"
#include "rotating_gate.h"
+#include "script.h"
+#include "sound.h"
#include "sprite.h"
+#include "strings.h"
#include "task.h"
+#include "tv.h"
+#include "wild_encounter.h"
+#include "constants/abilities.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
+#include "constants/field_effects.h"
#include "constants/flags.h"
+#include "constants/maps.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+
+static EWRAM_DATA u8 gUnknown_0203734C = 0;
+EWRAM_DATA struct EventObject gEventObjects[EVENT_OBJECTS_COUNT] = {};
+EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {};
+
+// static declarations
-extern void task_add_bump_boulder(u8, u8);
-static bool8 ShouldJumpLedge(s16, s16, u8);
-static bool8 sub_808B1BC(s16, s16, u8);
-static u8 sub_808B164(struct EventObject *, s16, s16, u8, u8);
-static u8 sub_808B238(s16, s16, u8);
-static void check_acro_bike_metatile(s16, s16, u8, u8 *);
-extern void PlayerNotOnBikeCollide(u8);
-extern void PlayerNotOnBikeCollideWithFarawayIslandMew(u8);
-extern void PlayerRun(u8);
-static void MovePlayerNotOnBike(u8, u16);
-static u8 CheckMovementInputNotOnBike(u8);
-extern void sub_808C5B0(void);
-extern void sub_808C4D8(void);
-static u8 CheckForPlayerAvatarCollision(u8);
static u8 EventObjectCB2_NoMovement2();
-extern void sub_808C280(struct EventObject *);
static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *, u8);
-void npc_clear_strange_bits(struct EventObject *);
-extern void DoPlayerAvatarTransition(void);
-static bool8 TryDoMetatileBehaviorForcedMovement();
+static void npc_clear_strange_bits(struct EventObject *);
static void MovePlayerAvatarUsingKeypadInput(u8, u16, u16);
static void PlayerAllowForcedMovementIfMovingSameDirection();
-static u8 sub_808B028(u8);
+static bool8 TryDoMetatileBehaviorForcedMovement();
static u8 GetForcedMovementByMetatileBehavior();
+
+static bool8 ForcedMovement_None(void);
+static bool8 ForcedMovement_Slip(void);
+static bool8 ForcedMovement_WalkSouth(void);
+static bool8 ForcedMovement_WalkNorth(void);
+static bool8 ForcedMovement_WalkWest(void);
+static bool8 ForcedMovement_WalkEast(void);
+static bool8 ForcedMovement_PushedSouthByCurrent(void);
+static bool8 ForcedMovement_PushedNorthByCurrent(void);
+static bool8 ForcedMovement_PushedWestByCurrent(void);
+static bool8 ForcedMovement_PushedEastByCurrent(void);
+static bool8 ForcedMovement_SlideSouth(void);
+static bool8 ForcedMovement_SlideNorth(void);
+static bool8 ForcedMovement_SlideWest(void);
+static bool8 ForcedMovement_SlideEast(void);
+static bool8 ForcedMovement_0xBB(void);
+static bool8 ForcedMovement_0xBC(void);
+static bool8 ForcedMovement_MuddySlope(void);
+
+static void MovePlayerNotOnBike(u8, u16);
+static u8 CheckMovementInputNotOnBike(u8);
static void PlayerNotOnBikeNotMoving(u8, u16);
static void PlayerNotOnBikeTurningInPlace(u8, u16);
static void PlayerNotOnBikeMoving(u8, u16);
-extern void sub_808C750(u8);
-
-extern void PlayerAvatarTransition_Normal(struct EventObject *a);
-extern void PlayerAvatarTransition_MachBike(struct EventObject *a);
-extern void PlayerAvatarTransition_AcroBike(struct EventObject *a);
-extern void PlayerAvatarTransition_Surfing(struct EventObject *a);
-extern void PlayerAvatarTransition_Underwater(struct EventObject *a);
-extern void PlayerAvatarTransition_ReturnToField(struct EventObject *a);
-extern void PlayerAvatarTransition_Dummy(struct EventObject *a);
-
-extern u8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
-extern u8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
-extern u8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
-
-extern u8 sub_808C544(struct Task *task, struct EventObject *eventObject);
-
-extern u8 sub_808C61C(struct Task *task, struct EventObject *eventObject);
-extern u8 sub_808C644(struct Task *task, struct EventObject *eventObject);
-extern u8 sub_808C6BC(struct Task *task, struct EventObject *eventObject);
-extern u8 sub_808C6FC(struct Task *task, struct EventObject *eventObject);
-
-extern u8 fish0(struct Task *task);
-extern u8 fish1(struct Task *task);
-extern u8 fish2(struct Task *task);
-extern u8 fish3(struct Task *task);
-extern u8 fish4(struct Task *task);
-extern u8 fish5(struct Task *task);
-extern u8 fish6(struct Task *task);
-extern u8 fish7(struct Task *task);
-extern u8 fish8(struct Task *task);
-extern u8 fish9(struct Task *task);
-extern u8 fishA_wait_for_a_pressed(struct Task *task);
-extern u8 fishB(struct Task *task);
-extern u8 fishC(struct Task *task);
-extern u8 fishD(struct Task *task);
-extern u8 fishE(struct Task *task);
-extern u8 fishF(struct Task *task);
-
-static bool8 (*const gUnknown_084973FC[])(u8) =
+static u8 CheckForPlayerAvatarCollision(u8);
+static u8 sub_808B028(u8);
+static u8 sub_808B164(struct EventObject *, s16, s16, u8, u8);
+static bool8 sub_808B1BC(s16, s16, u8);
+static bool8 ShouldJumpLedge(s16, s16, u8);
+static u8 sub_808B238(s16, s16, u8);
+static void check_acro_bike_metatile(s16, s16, u8, u8 *);
+
+static void DoPlayerAvatarTransition(void);
+static void PlayerAvatarTransition_Dummy(struct EventObject *a);
+static void PlayerAvatarTransition_Normal(struct EventObject *a);
+static void PlayerAvatarTransition_MachBike(struct EventObject *a);
+static void PlayerAvatarTransition_AcroBike(struct EventObject *a);
+static void PlayerAvatarTransition_Surfing(struct EventObject *a);
+static void PlayerAvatarTransition_Underwater(struct EventObject *a);
+static void PlayerAvatarTransition_ReturnToField(struct EventObject *a);
+
+static bool8 player_is_anim_in_certain_ranges(void);
+static bool8 sub_808B618(void);
+static bool8 PlayerIsAnimActive(void);
+static bool8 PlayerCheckIfAnimFinishedOrInactive(void);
+
+static void PlayerRun(u8);
+static void PlayerNotOnBikeCollide(u8);
+static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8);
+
+static void PlayCollisionSoundIfNotFacingWarp(u8 a);
+
+static void sub_808C280(struct EventObject *);
+
+static void StartStrengthAnim(u8, u8);
+static void Task_BumpBoulder(u8 taskId);
+static u8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
+static u8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
+static u8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
+
+static void DoPlayerMatJump(void);
+static void DoPlayerAvatarSecretBaseMatJump(u8 taskId);
+static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject);
+
+static void DoPlayerMatSpin(void);
+static void PlayerAvatar_DoSecretBaseMatSpin(u8 taskId);
+static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct EventObject *eventObject);
+static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct EventObject *eventObject);
+static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject);
+static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject);
+
+static void sub_808C750(u8);
+static void taskFF_0805D1D4(u8 taskId);
+static void sub_808C814(u8 taskId);
+
+static void Task_Fishing(u8 taskId);
+static u8 Fishing1(struct Task *task);
+static u8 Fishing2(struct Task *task);
+static u8 Fishing3(struct Task *task);
+static u8 Fishing4(struct Task *task);
+static u8 Fishing5(struct Task *task);
+static u8 Fishing6(struct Task *task);
+static u8 Fishing7(struct Task *task);
+static u8 Fishing8(struct Task *task);
+static u8 Fishing9(struct Task *task);
+static u8 Fishing10(struct Task *task);
+static u8 Fishing11(struct Task *task);
+static u8 Fishing12(struct Task *task);
+static u8 Fishing13(struct Task *task);
+static u8 Fishing14(struct Task *task);
+static u8 Fishing15(struct Task *task);
+static u8 Fishing16(struct Task *task);
+static void AlignFishingAnimationFrames(void);
+
+static u8 sub_808D38C(struct EventObject *object, s16 *a1);
+
+// .rodata
+
+static bool8 (*const sForcedMovementTestFuncs[])(u8) =
{
MetatileBehavior_IsTrickHouseSlipperyFloor,
MetatileBehavior_IsIce_2,
@@ -101,7 +164,7 @@ static bool8 (*const gUnknown_084973FC[])(u8) =
MetatileBehavior_IsMuddySlope,
};
-static bool8 (*const gUnknown_08497444[])(void) =
+static bool8 (*const sForcedMovementFuncs[])(void) =
{
ForcedMovement_None,
ForcedMovement_Slip,
@@ -142,7 +205,7 @@ static bool8 (*const gUnknown_0849749C[])(u8) =
static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0};
-void (*const gUnknown_084974B8[])(struct EventObject *) =
+static void (*const gUnknown_084974B8[])(struct EventObject *) =
{
PlayerAvatarTransition_Normal,
PlayerAvatarTransition_MachBike,
@@ -154,7 +217,7 @@ void (*const gUnknown_084974B8[])(struct EventObject *) =
PlayerAvatarTransition_Dummy,
};
-bool8 (*const gUnknown_084974D8[])(u8) =
+static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) =
{
MetatileBehavior_IsSouthArrowWarp,
MetatileBehavior_IsNorthArrowWarp,
@@ -162,7 +225,7 @@ bool8 (*const gUnknown_084974D8[])(u8) =
MetatileBehavior_IsEastArrowWarp,
};
-const u8 gUnknown_084974E8[][2] =
+static const u8 sRivalAvatarGfxIds[][2] =
{
{EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL},
{EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE},
@@ -174,7 +237,7 @@ const u8 gUnknown_084974E8[][2] =
{EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING}
};
-const u8 gUnknown_084974F8[][2] =
+static const u8 sPlayerAvatarGfxIds[][2] =
{
{EVENT_OBJ_GFX_BRENDAN_NORMAL, EVENT_OBJ_GFX_MAY_NORMAL},
{EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_MAY_MACH_BIKE},
@@ -186,11 +249,11 @@ const u8 gUnknown_084974F8[][2] =
{EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING},
};
-const u8 gUnknown_08497508[] = {EVENT_OBJ_GFX_RED, EVENT_OBJ_GFX_LEAF};
+static const u8 sFRLGAvatarGfxIds[] = {EVENT_OBJ_GFX_RED, EVENT_OBJ_GFX_LEAF};
-const u8 gUnknown_0849750A[] = {EVENT_OBJ_GFX_LINK_RS_BRENDAN, EVENT_OBJ_GFX_LINK_RS_MAY};
+static const u8 sRSAvatarGfxIds[] = {EVENT_OBJ_GFX_LINK_RS_BRENDAN, EVENT_OBJ_GFX_LINK_RS_MAY};
-const u8 gUnknown_0849750C[2][5][2] =
+static const u8 gUnknown_0849750C[2][5][2] =
{
//male
{
@@ -210,7 +273,7 @@ const u8 gUnknown_0849750C[2][5][2] =
}
};
-bool8 (*const gUnknown_08497520[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks
+static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks
{
MetatileBehavior_IsSouthArrowWarp,
MetatileBehavior_IsNorthArrowWarp,
@@ -218,76 +281,36 @@ bool8 (*const gUnknown_08497520[])(u8) = //Duplicate of sArrowWarpMetatileBehav
MetatileBehavior_IsEastArrowWarp,
};
-u8 (*const gUnknown_08497530[])(struct Task *, struct EventObject *, struct EventObject *) =
+static bool8 (*const gUnknown_08497530[])(struct Task *, struct EventObject *, struct EventObject *) =
{
sub_808C3A4,
do_boulder_dust,
sub_808C484,
};
-u8 (*const gUnknown_0849753C[])(struct Task *, struct EventObject *) =
+static bool8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct EventObject *) =
{
- sub_808C544,
+ PlayerAvatar_DoSecretBaseMatJump,
};
-u8 (*const gUnknown_08497540[])(struct Task *, struct EventObject *) =
+static bool8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct EventObject *) =
{
- sub_808C61C,
- sub_808C644,
- sub_808C6BC,
- sub_808C6FC,
+ PlayerAvatar_SecretBaseMatSpinStep0,
+ PlayerAvatar_SecretBaseMatSpinStep1,
+ PlayerAvatar_SecretBaseMatSpinStep2,
+ PlayerAvatar_SecretBaseMatSpinStep3,
};
-const u8 gUnknown_08497550[] = {3, 4, 2, 1};
-
-const u8 gUnknown_08497554[] = {16, 16, 17, 18, 19};
-
-u8 (*const gUnknown_0849755C[])(struct Task *) =
-{
- fish0,
- fish1,
- fish2,
- fish3,
- fish4,
- fish5,
- fish6,
- fish7,
- fish8,
- fish9,
- fishA_wait_for_a_pressed,
- fishB,
- fishC,
- fishD,
- fishE,
- fishF,
-};
-
-const u16 gUnknown_0849759C[] = {1, 1, 1};
-
-const u16 gUnknown_084975A2[] = {1, 3, 6};
-
-const u8 gUnknown_084975A8[] = _("·");
-
-const u16 gUnknown_084975AA[] = {36, 33, 30};
-
-const u16 gUnknown_084975B0[] =
-{
- 0, 0,
- 0x28, 10,
- 0x46, 30,
-};
-
-const u8 gUnknown_084975BC[] = {0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00};
-
// .text
+
void MovementType_Player(struct Sprite *sprite)
{
- UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2);
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2);
}
static u8 EventObjectCB2_NoMovement2(void)
{
- return 0;
+ return 0;
}
void player_step(u8 direction, u16 newKeys, u16 heldKeys)
@@ -352,7 +375,7 @@ static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventO
return FALSE;
}
-void npc_clear_strange_bits(struct EventObject *eventObj)
+static void npc_clear_strange_bits(struct EventObject *eventObj)
{
eventObj->inanimate = 0;
eventObj->disableAnim = 0;
@@ -377,7 +400,7 @@ static void PlayerAllowForcedMovementIfMovingSameDirection(void)
static bool8 TryDoMetatileBehaviorForcedMovement(void)
{
- return gUnknown_08497444[GetForcedMovementByMetatileBehavior()]();
+ return sForcedMovementFuncs[GetForcedMovementByMetatileBehavior()]();
}
static u8 GetForcedMovementByMetatileBehavior(void)
@@ -390,14 +413,14 @@ static u8 GetForcedMovementByMetatileBehavior(void)
for (i = 0; i < 18; i++)
{
- if (gUnknown_084973FC[i](metatileBehavior))
+ if (sForcedMovementTestFuncs[i](metatileBehavior))
return i + 1;
}
}
return 0;
}
-bool8 ForcedMovement_None(void)
+static bool8 ForcedMovement_None(void)
{
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6)
{
@@ -441,7 +464,7 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8))
}
}
-u8 DoForcedMovementInCurrentDirection(void (*a)(u8))
+static u8 DoForcedMovementInCurrentDirection(void (*a)(u8))
{
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -449,49 +472,49 @@ u8 DoForcedMovementInCurrentDirection(void (*a)(u8))
return DoForcedMovement(playerEventObj->movementDirection, a);
}
-bool8 ForcedMovement_Slip(void)
+static bool8 ForcedMovement_Slip(void)
{
return DoForcedMovementInCurrentDirection(PlayerGoSpeed2);
}
-bool8 ForcedMovement_WalkSouth(void)
+static bool8 ForcedMovement_WalkSouth(void)
{
return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed1);
}
-bool8 ForcedMovement_WalkNorth(void)
+static bool8 ForcedMovement_WalkNorth(void)
{
return DoForcedMovement(DIR_NORTH, PlayerGoSpeed1);
}
-bool8 ForcedMovement_WalkWest(void)
+static bool8 ForcedMovement_WalkWest(void)
{
return DoForcedMovement(DIR_WEST, PlayerGoSpeed1);
}
-bool8 ForcedMovement_WalkEast(void)
+static bool8 ForcedMovement_WalkEast(void)
{
return DoForcedMovement(DIR_EAST, PlayerGoSpeed1);
}
-bool8 ForcedMovement_PushedSouthByCurrent(void)
+static bool8 ForcedMovement_PushedSouthByCurrent(void)
{
- return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed3);
+ return DoForcedMovement(DIR_SOUTH, PlayerRideWaterCurrent);
}
-bool8 ForcedMovement_PushedNorthByCurrent(void)
+static bool8 ForcedMovement_PushedNorthByCurrent(void)
{
- return DoForcedMovement(DIR_NORTH, PlayerGoSpeed3);
+ return DoForcedMovement(DIR_NORTH, PlayerRideWaterCurrent);
}
-bool8 ForcedMovement_PushedWestByCurrent(void)
+static bool8 ForcedMovement_PushedWestByCurrent(void)
{
- return DoForcedMovement(DIR_WEST, PlayerGoSpeed3);
+ return DoForcedMovement(DIR_WEST, PlayerRideWaterCurrent);
}
-bool8 ForcedMovement_PushedEastByCurrent(void)
+static bool8 ForcedMovement_PushedEastByCurrent(void)
{
- return DoForcedMovement(DIR_EAST, PlayerGoSpeed3);
+ return DoForcedMovement(DIR_EAST, PlayerRideWaterCurrent);
}
u8 ForcedMovement_Slide(u8 direction, void (*b)(u8))
@@ -503,39 +526,39 @@ u8 ForcedMovement_Slide(u8 direction, void (*b)(u8))
return DoForcedMovement(direction, b);
}
-bool8 ForcedMovement_SlideSouth(void)
+static bool8 ForcedMovement_SlideSouth(void)
{
return ForcedMovement_Slide(DIR_SOUTH, PlayerGoSpeed2);
}
-bool8 ForcedMovement_SlideNorth(void)
+static bool8 ForcedMovement_SlideNorth(void)
{
return ForcedMovement_Slide(DIR_NORTH, PlayerGoSpeed2);
}
-bool8 ForcedMovement_SlideWest(void)
+static bool8 ForcedMovement_SlideWest(void)
{
return ForcedMovement_Slide(DIR_WEST, PlayerGoSpeed2);
}
-bool8 ForcedMovement_SlideEast(void)
+static bool8 ForcedMovement_SlideEast(void)
{
return ForcedMovement_Slide(DIR_EAST, PlayerGoSpeed2);
}
-bool8 ForcedMovement_0xBB(void)
+static bool8 ForcedMovement_0xBB(void)
{
- sub_808C4D8();
+ DoPlayerMatJump();
return TRUE;
}
-bool8 ForcedMovement_0xBC(void)
+static bool8 ForcedMovement_0xBC(void)
{
- sub_808C5B0();
+ DoPlayerMatSpin();
return TRUE;
}
-bool8 ForcedMovement_MuddySlope(void)
+static bool8 ForcedMovement_MuddySlope(void)
{
struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -619,12 +642,12 @@ static void PlayerNotOnBikeMoving(u8 direction, u16 heldKeys)
if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
{
- // speed 2 is fast, same speed as running
+ // speed 2 is fast, same speed as running
PlayerGoSpeed2(direction);
return;
}
- if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_4) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH)
+ if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH)
&& IsRunningDisallowed(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) == 0)
{
PlayerRun(direction);
@@ -725,18 +748,18 @@ static u8 sub_808B238(s16 x, s16 y, u8 direction)
{
u8 eventObjectId = GetEventObjectIdByXY(x, y);
- if (eventObjectId != 16 && gEventObjects[eventObjectId].graphicsId == 0x57)
+ if (eventObjectId != 16 && gEventObjects[eventObjectId].graphicsId == EVENT_OBJ_GFX_PUSHABLE_BOULDER)
+ {
+ x = gEventObjects[eventObjectId].currentCoords.x;
+ y = gEventObjects[eventObjectId].currentCoords.y;
+ MoveCoords(direction, &x, &y);
+ if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == 0
+ && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0)
{
- x = gEventObjects[eventObjectId].currentCoords.x;
- y = gEventObjects[eventObjectId].currentCoords.y;
- MoveCoords(direction, &x, &y);
- if (GetCollisionAtCoords(&gEventObjects[eventObjectId], x, y, direction) == 0
- && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(x, y)) == 0)
- {
- task_add_bump_boulder(eventObjectId, direction);
- return 1;
- }
+ StartStrengthAnim(eventObjectId, direction);
+ return 1;
}
+ }
}
return 0;
}
@@ -754,3 +777,1458 @@ static void check_acro_bike_metatile(s16 unused1, s16 unused2, u8 c, u8 *d)
}
}
}
+
+bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction)
+{
+ u8 mewObjectId;
+ struct EventObject *object;
+ s16 playerX;
+ s16 playerY;
+ s16 mewPrevX;
+
+ object = &gEventObjects[gPlayerAvatar.eventObjectId];
+ playerX = object->currentCoords.x;
+ playerY = object->currentCoords.y;
+
+ MoveCoords(direction, &playerX, &playerY);
+ mewObjectId = GetEventObjectIdByLocalIdAndMap(1, 0x39, 0x1A);
+
+ if (mewObjectId == 16)
+ {
+ return FALSE;
+ }
+
+ object = &gEventObjects[mewObjectId];
+ mewPrevX = object->previousCoords.x;
+
+ if (mewPrevX == playerX)
+ {
+ if (object->previousCoords.y != playerY
+ || object->currentCoords.x != mewPrevX
+ || object->currentCoords.y != object->previousCoords.y)
+ {
+ if (object->previousCoords.x == playerX &&
+ object->previousCoords.y == playerY)
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+void SetPlayerAvatarTransitionFlags(u16 transitionFlags)
+{
+ gPlayerAvatar.unk1 |= transitionFlags;
+ DoPlayerAvatarTransition();
+}
+
+static void DoPlayerAvatarTransition(void)
+{
+ u8 i;
+ u32 flags = gPlayerAvatar.unk1;
+
+ if (flags != 0)
+ {
+ for (i = 0; i < 8; i++, flags >>= 1)
+ {
+#ifdef NONMATCHING
+ if (flags & 1)
+ {
+ gUnknown_084974B8[i](&gEventObjects[gPlayerAvatar.eventObjectId]);
+ }
+#else
+ if (flags & 1)
+ {
+ register void (*const *funcs)(struct EventObject *) asm("r0") = gUnknown_084974B8;
+ funcs[i](&gEventObjects[gPlayerAvatar.eventObjectId]);
+ }
+#endif
+ }
+ gPlayerAvatar.unk1 = 0;
+ }
+}
+
+static void PlayerAvatarTransition_Dummy(struct EventObject *eventObj)
+{
+
+}
+
+static void PlayerAvatarTransition_Normal(struct EventObject *eventObj)
+{
+ EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL));
+ EventObjectTurn(eventObj, eventObj->movementDirection);
+ SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
+}
+
+static void PlayerAvatarTransition_MachBike(struct EventObject *eventObj)
+{
+ EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE));
+ EventObjectTurn(eventObj, eventObj->movementDirection);
+ SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
+ BikeClearState(0, 0);
+}
+
+static void PlayerAvatarTransition_AcroBike(struct EventObject *eventObj)
+{
+ EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE));
+ EventObjectTurn(eventObj, eventObj->movementDirection);
+ SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ACRO_BIKE);
+ BikeClearState(0, 0);
+ Bike_HandleBumpySlopeJump();
+}
+
+static void PlayerAvatarTransition_Surfing(struct EventObject *eventObj)
+{
+ u8 spriteId;
+
+ EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING));
+ EventObjectTurn(eventObj, eventObj->movementDirection);
+ SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
+ gFieldEffectArguments[0] = eventObj->currentCoords.x;
+ gFieldEffectArguments[1] = eventObj->currentCoords.y;
+ gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId;
+ spriteId = FieldEffectStart(FLDEFF_SURF_BLOB);
+ eventObj->fieldEffectSpriteId = spriteId;
+ sub_81555AC(spriteId, 1);
+}
+
+static void PlayerAvatarTransition_Underwater(struct EventObject *eventObj)
+{
+ EventObjectSetGraphicsId(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER));
+ EventObjectTurn(eventObj, eventObj->movementDirection);
+ SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_UNDERWATER);
+ eventObj->fieldEffectSpriteId = sub_8155800(eventObj->spriteId);
+}
+
+static void PlayerAvatarTransition_ReturnToField(struct EventObject *eventObj)
+{
+ gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_5;
+}
+
+void sub_808B578(void)
+{
+ gPlayerAvatar.tileTransitionState = T_NOT_MOVING;
+ if (PlayerIsAnimActive())
+ {
+ if (!PlayerCheckIfAnimFinishedOrInactive())
+ {
+ if (!player_is_anim_in_certain_ranges())
+ gPlayerAvatar.tileTransitionState = T_TILE_TRANSITION;
+ }
+ else
+ {
+ if (!sub_808B618())
+ gPlayerAvatar.tileTransitionState = T_TILE_CENTER;
+ }
+ }
+}
+
+static bool8 player_is_anim_in_certain_ranges(void)
+{
+ u8 movementActionId = gEventObjects[gPlayerAvatar.eventObjectId].movementActionId;
+
+ if (movementActionId <= MOVEMENT_ACTION_FACE_RIGHT
+ || (movementActionId >= MOVEMENT_ACTION_DELAY_1 && movementActionId <= MOVEMENT_ACTION_DELAY_16)
+ || (movementActionId >= MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN && movementActionId <= MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT)
+ || (movementActionId >= MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN && movementActionId <= MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT)
+ || (movementActionId >= MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN && movementActionId <= MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static bool8 sub_808B618(void)
+{
+ if (player_is_anim_in_certain_ranges() && gPlayerAvatar.runningState != TURN_DIRECTION)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static bool8 PlayerIsAnimActive(void)
+{
+ return EventObjectIsMovementOverridden(&gEventObjects[gPlayerAvatar.eventObjectId]);
+}
+
+static bool8 PlayerCheckIfAnimFinishedOrInactive(void)
+{
+ return EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]);
+}
+
+static void PlayerSetCopyableMovement(u8 a)
+{
+ gEventObjects[gPlayerAvatar.eventObjectId].playerCopyableMovement = a;
+}
+
+u8 PlayerGetCopyableMovement(void)
+{
+ return gEventObjects[gPlayerAvatar.eventObjectId].playerCopyableMovement;
+}
+
+static void sub_808B6BC(u8 a)
+{
+ EventObjectForceSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], a);
+}
+
+void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement)
+{
+ if (!PlayerIsAnimActive())
+ {
+ PlayerSetCopyableMovement(copyableMovement);
+ EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], movementActionId);
+ }
+}
+
+// normal speed (1 speed)
+void PlayerGoSpeed1(u8 a)
+{
+ PlayerSetAnimId(GetWalkNormalMovementAction(a), 2);
+}
+
+// fast speed (2 speed)
+void PlayerGoSpeed2(u8 a)
+{
+ PlayerSetAnimId(GetWalkFastMovementAction(a), 2);
+}
+
+void PlayerRideWaterCurrent(u8 a)
+{
+ PlayerSetAnimId(GetRideWaterCurrentMovementAction(a), 2);
+}
+
+// fastest speed (4 speed)
+void PlayerGoSpeed4(u8 a)
+{
+ PlayerSetAnimId(GetWalkFastestMovementAction(a), 2);
+}
+
+static void PlayerRun(u8 a)
+{
+ PlayerSetAnimId(GetPlayerRunMovementAction(a), 2);
+}
+
+void PlayerOnBikeCollide(u8 a)
+{
+ PlayCollisionSoundIfNotFacingWarp(a);
+ PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(a), 2);
+}
+
+void PlayerOnBikeCollideWithFarawayIslandMew(u8 a)
+{
+ PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(a), 2);
+}
+
+static void PlayerNotOnBikeCollide(u8 a)
+{
+ PlayCollisionSoundIfNotFacingWarp(a);
+ PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(a), 2);
+}
+
+static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8 a)
+{
+ PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(a), 2);
+}
+
+void PlayerFaceDirection(u8 direction)
+{
+ PlayerSetAnimId(GetFaceDirectionMovementAction(direction), 1);
+}
+
+void PlayerTurnInPlace(u8 direction)
+{
+ PlayerSetAnimId(GetWalkInPlaceFastMovementAction(direction), 1);
+}
+
+void PlayerJumpLedge(u8 direction)
+{
+ PlaySE(SE_DANSA);
+ PlayerSetAnimId(GetJump2MovementAction(direction), 8);
+}
+
+void sub_808B864(void)
+{
+ if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING)
+ {
+ if (player_should_look_direction_be_enforced_upon_movement())
+ sub_808B6BC(GetFaceDirectionMovementAction(gEventObjects[gPlayerAvatar.eventObjectId].facingDirection));
+ }
+}
+
+// wheelie idle
+void PlayerIdleWheelie(u8 direction)
+{
+ PlayerSetAnimId(GetAcroWheelieFaceDirectionMovementAction(direction), 1);
+}
+
+// normal to wheelie
+void PlayerStartWheelie(u8 direction)
+{
+ PlayerSetAnimId(GetAcroPopWheelieFaceDirectionMovementAction(direction), 1);
+}
+
+// wheelie to normal
+void PlayerEndWheelie(u8 direction)
+{
+ PlayerSetAnimId(GetAcroEndWheelieFaceDirectionMovementAction(direction), 1);
+}
+
+// wheelie hopping standing
+void PlayerStandingHoppingWheelie(u8 a)
+{
+ PlaySE(SE_JITE_PYOKO);
+ PlayerSetAnimId(GetAcroWheelieHopFaceDirectionMovementAction(a), 1);
+}
+
+// wheelie hopping moving
+void PlayerMovingHoppingWheelie(u8 a)
+{
+ PlaySE(SE_JITE_PYOKO);
+ PlayerSetAnimId(GetAcroWheelieHopDirectionMovementAction(a), 2);
+}
+
+// wheelie hopping ledge
+void PlayerLedgeHoppingWheelie(u8 a)
+{
+ PlaySE(SE_JITE_PYOKO);
+ PlayerSetAnimId(GetAcroWheelieJumpDirectionMovementAction(a), 8);
+}
+
+// acro turn jump
+void PlayerAcroTurnJump(u8 direction)
+{
+ PlaySE(SE_JITE_PYOKO);
+ PlayerSetAnimId(GetJumpInPlaceTurnAroundMovementAction(direction), 1);
+}
+
+void sub_808B980(u8 direction)
+{
+ PlaySE(SE_WALL_HIT);
+ PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2);
+}
+
+void sub_808B9A4(u8 direction)
+{
+ PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2);
+}
+
+void sub_808B9BC(u8 direction)
+{
+ PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2);
+}
+
+void sub_808B9D4(u8 direction)
+{
+ PlayerSetAnimId(GetAcroEndWheelieMoveDirectionMovementAction(direction), 2);
+}
+
+static void PlayCollisionSoundIfNotFacingWarp(u8 a)
+{
+ s16 x, y;
+ u8 metatileBehavior = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior;
+
+ if (!sArrowWarpMetatileBehaviorChecks[a - 1](metatileBehavior))
+ {
+ if (a == 2)
+ {
+ PlayerGetDestCoords(&x, &y);
+ MoveCoords(2, &x, &y);
+ if (MetatileBehavior_IsWarpDoor(MapGridGetMetatileBehaviorAt(x, y)))
+ return;
+ }
+ PlaySE(SE_WALL_HIT);
+ }
+}
+
+void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y)
+{
+ *x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x;
+ *y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y;
+ MoveCoords(GetPlayerFacingDirection(), x, y);
+}
+
+void PlayerGetDestCoords(s16 *x, s16 *y)
+{
+ *x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x;
+ *y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y;
+}
+
+u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y)
+{
+ struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ if (object->heldMovementActive && !object->heldMovementFinished && !gSprites[object->spriteId].data[2])
+ {
+ *x = object->currentCoords.x;
+ *y = object->currentCoords.y;
+
+ switch (object->movementActionId)
+ {
+ case MOVEMENT_ACTION_WALK_NORMAL_DOWN:
+ case MOVEMENT_ACTION_PLAYER_RUN_DOWN:
+ (*y)++;
+ return TRUE;
+ case MOVEMENT_ACTION_WALK_NORMAL_UP:
+ case MOVEMENT_ACTION_PLAYER_RUN_UP:
+ (*y)--;
+ return TRUE;
+ case MOVEMENT_ACTION_WALK_NORMAL_LEFT:
+ case MOVEMENT_ACTION_PLAYER_RUN_LEFT:
+ (*x)--;
+ return TRUE;
+ case MOVEMENT_ACTION_WALK_NORMAL_RIGHT:
+ case MOVEMENT_ACTION_PLAYER_RUN_RIGHT:
+ (*x)++;
+ return TRUE;
+ }
+ }
+
+ *x = -1;
+ *y = -1;
+ return FALSE;
+}
+
+u8 GetPlayerFacingDirection(void)
+{
+ return gEventObjects[gPlayerAvatar.eventObjectId].facingDirection;
+}
+
+u8 GetPlayerMovementDirection(void)
+{
+ return gEventObjects[gPlayerAvatar.eventObjectId].movementDirection;
+}
+
+u8 PlayerGetZCoord(void)
+{
+ return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation;
+}
+
+void sub_808BC90(s16 a, s16 b)
+{
+ sub_808EB08(&gEventObjects[gPlayerAvatar.eventObjectId], a, b);
+}
+
+u8 TestPlayerAvatarFlags(u8 a)
+{
+ return gPlayerAvatar.flags & a;
+}
+
+u8 sub_808BCD0(void)
+{
+ return gPlayerAvatar.flags;
+}
+
+u8 GetPlayerAvatarObjectId(void)
+{
+ return gPlayerAvatar.spriteId;
+}
+
+void sub_808BCE8(void)
+{
+ ForcedMovement_None();
+}
+
+void sub_808BCF4(void)
+{
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ npc_clear_strange_bits(playerEventObj);
+ SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection);
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
+ {
+ Bike_HandleBumpySlopeJump();
+ Bike_UpdateBikeCounterSpeed(0);
+ }
+}
+
+u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender)
+{
+ return sRivalAvatarGfxIds[state][gender];
+}
+
+u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender)
+{
+ return sPlayerAvatarGfxIds[state][gender];
+}
+
+u8 GetFRLGAvatarGraphicsIdByGender(u8 gender)
+{
+ return sFRLGAvatarGfxIds[gender];
+}
+
+u8 GetRSAvatarGraphicsIdByGender(u8 gender)
+{
+ return sRSAvatarGfxIds[gender];
+}
+
+u8 GetPlayerAvatarGraphicsIdByStateId(u8 state)
+{
+ return GetPlayerAvatarGraphicsIdByStateIdAndGender(state, gPlayerAvatar.gender);
+}
+
+u8 unref_GetRivalAvatarGenderByGraphicsId(u8 gfxId)
+{
+ switch (gfxId)
+ {
+ case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL:
+ case EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE:
+ case EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE:
+ case EVENT_OBJ_GFX_RIVAL_MAY_SURFING:
+ case EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE:
+ case EVENT_OBJ_GFX_MAY_UNDERWATER:
+ case EVENT_OBJ_GFX_MAY_FISHING:
+ case EVENT_OBJ_GFX_MAY_WATERING:
+ return FEMALE;
+ default:
+ return MALE;
+ }
+}
+
+u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId)
+{
+ switch (gfxId)
+ {
+ case EVENT_OBJ_GFX_MAY_NORMAL:
+ case EVENT_OBJ_GFX_MAY_MACH_BIKE:
+ case EVENT_OBJ_GFX_MAY_ACRO_BIKE:
+ case EVENT_OBJ_GFX_MAY_SURFING:
+ case EVENT_OBJ_GFX_MAY_FIELD_MOVE:
+ case EVENT_OBJ_GFX_MAY_UNDERWATER:
+ case EVENT_OBJ_GFX_MAY_FISHING:
+ case EVENT_OBJ_GFX_MAY_WATERING:
+ return FEMALE;
+ default:
+ return MALE;
+ }
+}
+
+bool8 PartyHasMonWithSurf(void)
+{
+ u8 i;
+
+ if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
+ {
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE)
+ break;
+ if (pokemon_has_move(&gPlayerParty[i], MOVE_SURF))
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+bool8 IsPlayerSurfingNorth(void)
+{
+ if (GetPlayerMovementDirection() == DIR_NORTH && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool8 IsPlayerFacingSurfableFishableWater(void)
+{
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+ s16 x = playerEventObj->currentCoords.x;
+ s16 y = playerEventObj->currentCoords.y;
+
+ MoveCoords(playerEventObj->facingDirection, &x, &y);
+ if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == 3 && PlayerGetZCoord() == 3
+ && MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y)))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+void ClearPlayerAvatarInfo(void)
+{
+ memset(&gPlayerAvatar, 0, sizeof(struct PlayerAvatar));
+}
+
+void SetPlayerAvatarStateMask(u8 flags)
+{
+ gPlayerAvatar.flags &= (PLAYER_AVATAR_FLAG_DASH | PLAYER_AVATAR_FLAG_6 | PLAYER_AVATAR_FLAG_5);
+ gPlayerAvatar.flags |= flags;
+}
+
+static u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 a, u8 gender)
+{
+ u8 i;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gUnknown_0849750C[gender][i][0] == a)
+ return gUnknown_0849750C[gender][i][1];
+ }
+ return 1;
+}
+
+u8 GetPlayerAvatarGraphicsIdByCurrentState(void)
+{
+ u8 i;
+ u8 r5 = gPlayerAvatar.flags;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gUnknown_0849750C[gPlayerAvatar.gender][i][1] & r5)
+ return gUnknown_0849750C[gPlayerAvatar.gender][i][0];
+ }
+ return 0;
+}
+
+void SetPlayerAvatarExtraStateTransition(u8 a, u8 b)
+{
+ u8 unk = GetPlayerAvatarStateTransitionByGraphicsId(a, gPlayerAvatar.gender);
+
+ gPlayerAvatar.unk1 |= unk | b;
+ DoPlayerAvatarTransition();
+}
+
+void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
+{
+ struct EventObjectTemplate playerEventObjTemplate;
+ u8 eventObjectId;
+ struct EventObject *eventObject;
+
+ playerEventObjTemplate.localId = 0xFF;
+ playerEventObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender);
+ playerEventObjTemplate.x = x - 7;
+ playerEventObjTemplate.y = y - 7;
+ playerEventObjTemplate.elevation = 0;
+ playerEventObjTemplate.movementType = MOVEMENT_TYPE_PLAYER;
+ playerEventObjTemplate.movementRangeX = 0;
+ playerEventObjTemplate.movementRangeY = 0;
+ playerEventObjTemplate.trainerType = 0;
+ playerEventObjTemplate.trainerRange_berryTreeId = 0;
+ playerEventObjTemplate.script = NULL;
+ playerEventObjTemplate.flagId = 0;
+ eventObjectId = SpawnSpecialEventObject(&playerEventObjTemplate);
+ eventObject = &gEventObjects[eventObjectId];
+ eventObject->isPlayer = 1;
+ eventObject->warpArrowSpriteId = CreateWarpArrowSprite();
+ EventObjectTurn(eventObject, direction);
+ ClearPlayerAvatarInfo();
+ gPlayerAvatar.runningState = NOT_MOVING;
+ gPlayerAvatar.tileTransitionState = T_NOT_MOVING;
+ gPlayerAvatar.eventObjectId = eventObjectId;
+ gPlayerAvatar.spriteId = eventObject->spriteId;
+ gPlayerAvatar.gender = gender;
+ SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT);
+}
+
+void sub_808C0A8(u8 a)
+{
+ gEventObjects[gPlayerAvatar.eventObjectId].invisible = a;
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
+ gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = a;
+}
+
+void sub_808C114(void)
+{
+ EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0);
+}
+
+void sub_808C15C(u8 direction)
+{
+ EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingDirectionAnimNum(direction));
+}
+
+void sub_808C1B4(u8 direction)
+{
+ EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetAcroWheelieDirectionAnimNum(direction));
+ SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1);
+}
+
+void sub_808C228(u8 direction)
+{
+ EventObjectSetGraphicsId(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING));
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFaceDirectionAnimNum(direction));
+}
+
+static void sub_808C280(struct EventObject *eventObject)
+{
+ s16 x;
+ s16 y;
+ u8 direction;
+ u8 metatileBehavior = eventObject->currentMetatileBehavior;
+
+ for (x = 0, direction = DIR_SOUTH; x < 4; x++, direction++)
+ {
+ if (sArrowWarpMetatileBehaviorChecks2[x](metatileBehavior) && direction == eventObject->movementDirection)
+ {
+ x = eventObject->currentCoords.x;
+ y = eventObject->currentCoords.y;
+ MoveCoords(direction, &x, &y);
+ ShowWarpArrowSprite(eventObject->warpArrowSpriteId, direction, x, y);
+ return;
+ }
+ }
+ SetSpriteInvisible(eventObject->warpArrowSpriteId);
+}
+
+/* Strength */
+
+static void StartStrengthAnim(u8 a, u8 b)
+{
+ u8 taskId = CreateTask(Task_BumpBoulder, 0xFF);
+
+ gTasks[taskId].data[1] = a;
+ gTasks[taskId].data[2] = b;
+ Task_BumpBoulder(taskId);
+}
+
+static void Task_BumpBoulder(u8 taskId)
+{
+ while (gUnknown_08497530[gTasks[taskId].data[0]](&gTasks[taskId],
+ &gEventObjects[gPlayerAvatar.eventObjectId],
+ &gEventObjects[gTasks[taskId].data[1]]))
+ ;
+}
+
+static bool8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject)
+{
+ ScriptContext2_Enable();
+ gPlayerAvatar.preventStep = TRUE;
+ task->data[0]++;
+ return FALSE;
+}
+
+static bool8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject)
+{
+ if (EventObjectIsHeldMovementActive(playerObject))
+ {
+ EventObjectClearHeldMovementIfFinished(playerObject);
+ }
+
+ if (EventObjectIsHeldMovementActive(strengthObject))
+ {
+ EventObjectClearHeldMovementIfFinished(strengthObject);
+ }
+
+ if (!EventObjectIsMovementOverridden(playerObject)
+ && !EventObjectIsMovementOverridden(strengthObject))
+ {
+ EventObjectClearHeldMovementIfFinished(playerObject);
+ EventObjectClearHeldMovementIfFinished(strengthObject);
+ EventObjectSetHeldMovement(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2]));
+ EventObjectSetHeldMovement(strengthObject, GetWalkSlowMovementAction((u8)task->data[2]));
+ gFieldEffectArguments[0] = strengthObject->currentCoords.x;
+ gFieldEffectArguments[1] = strengthObject->currentCoords.y;
+ gFieldEffectArguments[2] = strengthObject->previousElevation;
+ gFieldEffectArguments[3] = gSprites[strengthObject->spriteId].oam.priority;
+ FieldEffectStart(FLDEFF_DUST);
+ PlaySE(SE_W070);
+ task->data[0]++;
+ }
+ return FALSE;
+}
+
+static bool8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject)
+{
+ if (EventObjectCheckHeldMovementStatus(playerObject)
+ && EventObjectCheckHeldMovementStatus(strengthObject))
+ {
+ EventObjectClearHeldMovementIfFinished(playerObject);
+ EventObjectClearHeldMovementIfFinished(strengthObject);
+ gPlayerAvatar.preventStep = FALSE;
+ ScriptContext2_Disable();
+ DestroyTask(FindTaskIdByFunc(Task_BumpBoulder));
+ }
+ return FALSE;
+}
+
+/* Some field effect */
+
+static void DoPlayerMatJump(void)
+{
+ DoPlayerAvatarSecretBaseMatJump(CreateTask(DoPlayerAvatarSecretBaseMatJump, 0xFF));
+}
+
+static void DoPlayerAvatarSecretBaseMatJump(u8 taskId)
+{
+ while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId]))
+ ;
+}
+
+// because data[0] is used to call this, it can be inferred that there may have been multiple mat jump functions at one point, so the name for these groups of functions is appropriate in assuming the sole use of mat jump.
+static u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject)
+{
+ gPlayerAvatar.preventStep = TRUE;
+ if (EventObjectClearHeldMovementIfFinished(eventObject))
+ {
+ PlaySE(SE_DANSA);
+ EventObjectSetHeldMovement(eventObject, GetJumpInPlaceMovementAction(eventObject->facingDirection));
+ task->data[1]++;
+ if (task->data[1] > 1)
+ {
+ gPlayerAvatar.preventStep = FALSE;
+ gPlayerAvatar.unk1 |= 0x20;
+ DestroyTask(FindTaskIdByFunc(DoPlayerAvatarSecretBaseMatJump));
+ }
+ }
+ return FALSE;
+}
+
+/* Some field effect */
+
+static void DoPlayerMatSpin(void)
+{
+ u8 taskId = CreateTask(PlayerAvatar_DoSecretBaseMatSpin, 0xFF);
+
+ PlayerAvatar_DoSecretBaseMatSpin(taskId);
+}
+
+static void PlayerAvatar_DoSecretBaseMatSpin(u8 taskId)
+{
+ while (sPlayerAvatarSecretBaseMatSpin[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId]))
+ ;
+}
+
+static bool8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct EventObject *eventObject)
+{
+ task->data[0]++;
+ task->data[1] = eventObject->movementDirection;
+ gPlayerAvatar.preventStep = TRUE;
+ ScriptContext2_Enable();
+ PlaySE(SE_TK_WARPIN);
+ return TRUE;
+}
+
+static bool8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct EventObject *eventObject)
+{
+ u8 directions[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
+
+ if (EventObjectClearHeldMovementIfFinished(eventObject))
+ {
+ u8 direction;
+
+ EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(direction = directions[eventObject->movementDirection - 1]));
+ if (direction == (u8)task->data[1])
+ task->data[2]++;
+ task->data[0]++;
+ if (task->data[2] > 3 && direction == GetOppositeDirection(task->data[1]))
+ task->data[0]++;
+ }
+ return FALSE;
+}
+
+static bool8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject)
+{
+ const u8 actions[] = {
+ MOVEMENT_ACTION_DELAY_1,
+ MOVEMENT_ACTION_DELAY_1,
+ MOVEMENT_ACTION_DELAY_2,
+ MOVEMENT_ACTION_DELAY_4,
+ MOVEMENT_ACTION_DELAY_8,
+ };
+
+ if (EventObjectClearHeldMovementIfFinished(eventObject))
+ {
+ EventObjectSetHeldMovement(eventObject, actions[task->data[2]]);
+ task->data[0] = 1;
+ }
+ return FALSE;
+}
+
+static bool8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject)
+{
+ if (EventObjectClearHeldMovementIfFinished(eventObject))
+ {
+ EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1])));
+ ScriptContext2_Disable();
+ gPlayerAvatar.preventStep = FALSE;
+ DestroyTask(FindTaskIdByFunc(PlayerAvatar_DoSecretBaseMatSpin));
+ }
+ return FALSE;
+}
+
+/* Some Field effect */
+
+static void sub_808C750(u8 a)
+{
+ u8 taskId;
+
+ ScriptContext2_Enable();
+ Overworld_ClearSavedMusic();
+ Overworld_ChangeMusicToDefault();
+ gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_SURFING;
+ gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_ON_FOOT;
+ gPlayerAvatar.preventStep = TRUE;
+ taskId = CreateTask(taskFF_0805D1D4, 0xFF);
+ gTasks[taskId].data[0] = a;
+ taskFF_0805D1D4(taskId);
+}
+
+static void taskFF_0805D1D4(u8 taskId)
+{
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ if (EventObjectIsMovementOverridden(playerEventObj))
+ {
+ if (!EventObjectClearHeldMovementIfFinished(playerEventObj))
+ return;
+ }
+ sub_81555AC(playerEventObj->fieldEffectSpriteId, 2);
+ EventObjectSetHeldMovement(playerEventObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0]));
+ gTasks[taskId].func = sub_808C814;
+}
+
+static void sub_808C814(u8 taskId)
+{
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ if (EventObjectClearHeldMovementIfFinished(playerEventObj))
+ {
+ EventObjectSetGraphicsId(playerEventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL));
+ EventObjectSetHeldMovement(playerEventObj, GetFaceDirectionMovementAction(playerEventObj->facingDirection));
+ gPlayerAvatar.preventStep = FALSE;
+ ScriptContext2_Disable();
+ DestroySprite(&gSprites[playerEventObj->fieldEffectSpriteId]);
+ DestroyTask(taskId);
+ }
+}
+
+static bool8 (*const sFishingStateFuncs[])(struct Task *) =
+{
+ Fishing1,
+ Fishing2,
+ Fishing3,
+ Fishing4,
+ Fishing5,
+ Fishing6,
+ Fishing7,
+ Fishing8,
+ Fishing9,
+ Fishing10,
+ Fishing11,
+ Fishing12,
+ Fishing13,
+ Fishing14,
+ Fishing15,
+ Fishing16,
+};
+
+#define tStep data[0]
+#define tFrameCounter data[1]
+#define tNumDots data[2]
+#define tDotsRequired data[3]
+#define tRoundsPlayed data[12]
+#define tMinRoundsRequired data[13]
+#define tPlayerGfxId data[14]
+#define tFishingRod data[15]
+
+#define FISHING_START_ROUND 3
+#define FISHING_GOT_BITE 6
+#define FISHING_ON_HOOK 9
+#define FISHING_NO_BITE 11
+#define FISHING_GOT_AWAY 12
+#define FISHING_SHOW_RESULT 13
+
+void StartFishing(u8 rod)
+{
+ u8 taskId = CreateTask(Task_Fishing, 0xFF);
+
+ gTasks[taskId].tFishingRod = rod;
+ Task_Fishing(taskId);
+}
+
+static void Task_Fishing(u8 taskId)
+{
+ while (sFishingStateFuncs[gTasks[taskId].tStep](&gTasks[taskId]))
+ ;
+}
+
+static bool8 Fishing1(struct Task *task)
+{
+ ScriptContext2_Enable();
+ gPlayerAvatar.preventStep = TRUE;
+ task->tStep++;
+ return FALSE;
+}
+
+static bool8 Fishing2(struct Task *task)
+{
+ struct EventObject *playerEventObj;
+ const s16 arr1[] = {1, 1, 1};
+ const s16 arr2[] = {1, 3, 6};
+
+ task->tRoundsPlayed = 0;
+ task->tMinRoundsRequired = arr1[task->tFishingRod] + (Random() % arr2[task->tFishingRod]);
+ task->tPlayerGfxId = gEventObjects[gPlayerAvatar.eventObjectId].graphicsId;
+ playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+ EventObjectClearHeldMovementIfActive(playerEventObj);
+ playerEventObj->enableAnim = 1;
+ sub_808C15C(playerEventObj->facingDirection);
+ task->tStep++;
+ return FALSE;
+}
+
+static bool8 Fishing3(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+
+ // Wait one second
+ task->tFrameCounter++;
+ if (task->tFrameCounter >= 60)
+ task->tStep++;
+ return FALSE;
+}
+
+static bool8 Fishing4(struct Task *task)
+{
+ u32 randVal;
+
+ sub_819786C(0, TRUE);
+ task->tStep++;
+ task->tFrameCounter = 0;
+ task->tNumDots = 0;
+ randVal = Random();
+ randVal %= 10;
+ task->tDotsRequired = randVal + 1;
+ if (task->tRoundsPlayed == 0)
+ task->tDotsRequired = randVal + 4;
+ if (task->tDotsRequired >= 10)
+ task->tDotsRequired = 10;
+ return TRUE;
+}
+
+// Play a round of the dot game
+static bool8 Fishing5(struct Task *task)
+{
+ const u8 dot[] = _("·");
+
+ AlignFishingAnimationFrames();
+ task->tFrameCounter++;
+ if (gMain.newKeys & A_BUTTON)
+ {
+ task->tStep = FISHING_NO_BITE;
+ if (task->tRoundsPlayed != 0)
+ task->tStep = FISHING_GOT_AWAY;
+ return TRUE;
+ }
+ else
+ {
+ if (task->tFrameCounter >= 20)
+ {
+ task->tFrameCounter = 0;
+ if (task->tNumDots >= task->tDotsRequired)
+ {
+ task->tStep++;
+ if (task->tRoundsPlayed != 0)
+ task->tStep++;
+ task->tRoundsPlayed++;
+ }
+ else
+ {
+ AddTextPrinterParameterized(0, 1, dot, task->tNumDots * 8, 1, 0, NULL);
+ task->tNumDots++;
+ }
+ }
+ return FALSE;
+ }
+}
+
+// Determine if fish bites
+static bool8 Fishing6(struct Task *task)
+{
+ bool8 bite;
+
+ AlignFishingAnimationFrames();
+ task->tStep++;
+ bite = FALSE;
+
+ if (!DoesCurrentMapHaveFishingMons())
+ {
+ task->tStep = FISHING_NO_BITE;
+ }
+ else
+ {
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ {
+ u8 ability = GetMonAbility(&gPlayerParty[0]);
+ if (ability == ABILITY_SUCTION_CUPS || ability == ABILITY_STICKY_HOLD)
+ {
+ if (Random() % 100 > 14)
+ {
+ bite = TRUE;
+ }
+ }
+ }
+
+ if (!bite)
+ {
+ if (Random() & 1)
+ {
+ task->tStep = FISHING_NO_BITE;
+ }
+ else
+ {
+ bite = TRUE;
+ }
+ }
+
+ if (bite == TRUE)
+ {
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingBiteDirectionAnimNum(GetPlayerFacingDirection()));
+ }
+ }
+ return TRUE;
+}
+
+// Oh! A Bite!
+static bool8 Fishing7(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+ AddTextPrinterParameterized(0, 1, gText_OhABite, 0, 17, 0, NULL);
+ task->tStep++;
+ task->tFrameCounter = 0;
+ return FALSE;
+}
+
+// We have a bite. Now, wait for the player to press A, or the timer to expire.
+static bool8 Fishing8(struct Task *task)
+{
+ const s16 reelTimeouts[3] = {36, 33, 30};
+
+ AlignFishingAnimationFrames();
+ task->tFrameCounter++;
+ if (task->tFrameCounter >= reelTimeouts[task->tFishingRod])
+ task->tStep = FISHING_GOT_AWAY;
+ else if (gMain.newKeys & A_BUTTON)
+ task->tStep++;
+ return FALSE;
+}
+
+// Determine if we're going to play the dot game again
+static bool8 Fishing9(struct Task *task)
+{
+ const s16 arr[][2] =
+ {
+ {0, 0},
+ {40, 10},
+ {70, 30}
+ };
+
+ AlignFishingAnimationFrames();
+ task->tStep++;
+ if (task->tRoundsPlayed < task->tMinRoundsRequired)
+ {
+ task->tStep = FISHING_START_ROUND;
+ }
+ else if (task->tRoundsPlayed < 2)
+ {
+ // probability of having to play another round
+ s16 probability = Random() % 100;
+
+ if (arr[task->tFishingRod][task->tRoundsPlayed] > probability)
+ task->tStep = FISHING_START_ROUND;
+ }
+ return FALSE;
+}
+
+static bool8 Fishing10(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gText_PokemonOnHook, 1, 0, 2, 1, 3);
+ task->tStep++;
+ task->tFrameCounter = 0;
+ return FALSE;
+}
+
+static bool8 Fishing11(struct Task *task)
+{
+ if (task->tFrameCounter == 0)
+ AlignFishingAnimationFrames();
+
+ RunTextPrinters();
+
+ if (task->tFrameCounter == 0)
+ {
+ if (!IsTextPrinterActive(0))
+ {
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ EventObjectSetGraphicsId(playerEventObj, task->tPlayerGfxId);
+ EventObjectTurn(playerEventObj, playerEventObj->movementDirection);
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
+ sub_8155604(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 0, 0);
+ gSprites[gPlayerAvatar.spriteId].pos2.x = 0;
+ gSprites[gPlayerAvatar.spriteId].pos2.y = 0;
+ sub_8197434(0, TRUE);
+ task->tFrameCounter++;
+ return FALSE;
+ }
+ }
+
+ if (task->tFrameCounter != 0)
+ {
+ gPlayerAvatar.preventStep = FALSE;
+ ScriptContext2_Disable();
+ FishingWildEncounter(task->tFishingRod);
+ sub_80ED950(1);
+ DestroyTask(FindTaskIdByFunc(Task_Fishing));
+ }
+ return FALSE;
+}
+
+// Not even a nibble
+static bool8 Fishing12(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection()));
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gText_NotEvenANibble, 1, 0, 2, 1, 3);
+ task->tStep = FISHING_SHOW_RESULT;
+ return TRUE;
+}
+
+// It got away
+static bool8 Fishing13(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+ StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection()));
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gText_ItGotAway, 1, 0, 2, 1, 3);
+ task->tStep++;
+ return TRUE;
+}
+
+// Wait one second
+static bool8 Fishing14(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+ task->tStep++;
+ return FALSE;
+}
+
+static bool8 Fishing15(struct Task *task)
+{
+ AlignFishingAnimationFrames();
+ if (gSprites[gPlayerAvatar.spriteId].animEnded)
+ {
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ EventObjectSetGraphicsId(playerEventObj, task->tPlayerGfxId);
+ EventObjectTurn(playerEventObj, playerEventObj->movementDirection);
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
+ sub_8155604(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 0, 0);
+ gSprites[gPlayerAvatar.spriteId].pos2.x = 0;
+ gSprites[gPlayerAvatar.spriteId].pos2.y = 0;
+ task->tStep++;
+ }
+ return FALSE;
+}
+
+static bool8 Fishing16(struct Task *task)
+{
+ RunTextPrinters();
+ if (!IsTextPrinterActive(0))
+ {
+ gPlayerAvatar.preventStep = FALSE;
+ ScriptContext2_Disable();
+ UnfreezeEventObjects();
+ sub_8197434(0, TRUE);
+ sub_80ED950(0);
+ DestroyTask(FindTaskIdByFunc(Task_Fishing));
+ }
+ return FALSE;
+}
+
+#undef tStep
+#undef tFrameCounter
+#undef tFishingRod
+
+static void AlignFishingAnimationFrames(void)
+{
+ struct Sprite *playerSprite = &gSprites[gPlayerAvatar.spriteId];
+ u8 animCmdIndex;
+ u8 animType;
+
+ AnimateSprite(playerSprite);
+ playerSprite->pos2.x = 0;
+ playerSprite->pos2.y = 0;
+ animCmdIndex = playerSprite->animCmdIndex;
+ if (playerSprite->anims[playerSprite->animNum][animCmdIndex].type == -1)
+ {
+ animCmdIndex--;
+ }
+ else
+ {
+ playerSprite->animDelayCounter++;
+ if (playerSprite->anims[playerSprite->animNum][animCmdIndex].type == -1)
+ animCmdIndex--;
+ }
+ animType = playerSprite->anims[playerSprite->animNum][animCmdIndex].type;
+ if (animType == 1 || animType == 2 || animType == 3)
+ {
+ playerSprite->pos2.x = 8;
+ if (GetPlayerFacingDirection() == 3)
+ playerSprite->pos2.x = -8;
+ }
+ if (animType == 5)
+ playerSprite->pos2.y = -8;
+ if (animType == 10 || animType == 11)
+ playerSprite->pos2.y = 8;
+ if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)
+ sub_8155604(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 1, playerSprite->pos2.y);
+}
+
+void sub_808D074(u8 a0)
+{
+ gUnknown_0203734C = a0;
+}
+
+static u8 sub_808D080(void)
+{
+ if (gUnknown_0203734C == 0)
+ {
+ return 1;
+ }
+ return gUnknown_0203734C;
+}
+
+static void sub_808D094(u8 taskId)
+{
+ struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct Sprite *sprite = &gSprites[object->spriteId];
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ if (!EventObjectClearHeldMovementIfFinished(object))
+ {
+ return;
+ }
+
+ sub_808D074(object->facingDirection);
+ data[1] = 0;
+ data[2] = 1;
+ data[3] = (u16)(sprite->pos1.y + sprite->pos2.y) * 16;
+ sprite->pos2.y = 0;
+ CameraObjectReset2();
+ object->fixedPriority = TRUE;
+ sprite->oam.priority = 0;
+ sprite->subpriority = 0;
+ sprite->subspriteMode = 0;
+ data[0]++;
+ case 1:
+ sub_808D38C(object, &data[1]);
+ data[3] -= data[2];
+ data[2] += 3;
+ sprite->pos1.y = data[3] >> 4;
+ if (sprite->pos1.y + (s16)gTotalCameraPixelOffsetY < -32)
+ {
+ data[0]++;
+ }
+ break;
+ case 2:
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void sub_808D1FC(u8 taskId);
+
+void sub_808D194(void)
+{
+ sub_808D1FC(CreateTask(sub_808D1FC, 0));
+}
+
+bool8 sub_808D1B4(void)
+{
+ return FuncIsActiveTask(sub_808D1FC);
+}
+
+void sub_808D1C8(void)
+{
+ sub_808D094(CreateTask(sub_808D094, 0));
+}
+
+bool8 sub_808D1E8(void)
+{
+ return FuncIsActiveTask(sub_808D094);
+}
+
+static const u8 gUnknown_084975BC[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
+
+static void sub_808D1FC(u8 taskId)
+{
+ struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct Sprite *sprite = &gSprites[object->spriteId];
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ data[5] = sub_808D080();
+ EventObjectForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[data[5]]));
+ data[1] = 0;
+ data[2] = 116;
+ data[4] = sprite->pos1.y;
+ data[6] = sprite->oam.priority;
+ data[7] = sprite->subpriority;
+ data[3] = -((u16)sprite->pos2.y + 32) * 16;
+ sprite->pos2.y = 0;
+ CameraObjectReset2();
+ object->fixedPriority = TRUE;
+ sprite->oam.priority = 1;
+ sprite->subpriority = 0;
+ sprite->subspriteMode = 0;
+ data[0]++;
+ case 1:
+ sub_808D38C(object, &data[1]);
+ data[3] += data[2];
+ data[2] -= 3;
+ if (data[2] < 4)
+ {
+ data[2] = 4;
+ }
+ sprite->pos1.y = data[3] >> 4;
+ if (sprite->pos1.y >= data[4])
+ {
+ sprite->pos1.y = data[4];
+ data[8] = 0;
+ data[0]++;
+ }
+ break;
+ case 2:
+ sub_808D38C(object, &data[1]);
+ data[8]++;
+ if (data[8] > 8)
+ {
+ data[0]++;
+ }
+ break;
+ case 3:
+ if (data[5] == sub_808D38C(object, &data[1]))
+ {
+ object->fixedPriority = 0;
+ sprite->oam.priority = data[6];
+ sprite->subpriority = data[7];
+ CameraObjectReset1();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static u8 sub_808D38C(struct EventObject *object, s16 *a1)
+{
+ if (*a1 < 8 && ++(*a1) < 8)
+ {
+ return object->facingDirection;
+ }
+
+ if (!EventObjectCheckHeldMovementStatus(object))
+ {
+ return object->facingDirection;
+ }
+
+ EventObjectForceSetHeldMovement(object, GetFaceDirectionMovementAction(gUnknown_084975BC[object->facingDirection]));
+ *a1 = 0;
+ return gUnknown_084975BC[object->facingDirection];
+}
diff --git a/src/field_poison.c b/src/field_poison.c
index 6a519d90c..02f37f69f 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -1,20 +1,21 @@
#include "global.h"
-#include "string_util.h"
-#include "party_menu.h"
-#include "constants/species.h"
-#include "task.h"
+#include "battle.h"
+#include "battle_pike.h"
+#include "event_data.h"
#include "field_message_box.h"
-#include "strings.h"
-#include "rom_818CFC8.h"
-#include "battle_frontier_2.h"
+#include "field_poison.h"
+#include "fldeff_80F9BCC.h"
+#include "frontier_util.h"
+#include "party_menu.h"
#include "pokenav.h"
-#include "event_data.h"
+#include "rom_818CFC8.h"
#include "script.h"
-#include "battle.h"
-#include "fldeff_80F9BCC.h"
-#include "field_poison.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "constants/species.h"
-static bool32 sub_80F9568(struct Pokemon *pokemon)
+static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
{
u16 species = GetMonData(pokemon, MON_DATA_SPECIES2);
if (species == SPECIES_NONE || species == SPECIES_EGG)
@@ -24,14 +25,14 @@ static bool32 sub_80F9568(struct Pokemon *pokemon)
return TRUE;
}
-static bool32 sub_80F958C(void)
+static bool32 AllMonsFainted(void)
{
int i;
- struct Pokemon *pokemon;
+ struct Pokemon *pokemon = gPlayerParty;
- for (pokemon = gPlayerParty, i = 0; i < PARTY_SIZE; i++, pokemon++)
+ for (i = 0; i < PARTY_SIZE; i++, pokemon++)
{
- if (sub_80F9568(pokemon) && GetMonData(pokemon, MON_DATA_HP) != 0)
+ if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) != 0)
{
return FALSE;
}
@@ -39,27 +40,28 @@ static bool32 sub_80F958C(void)
return TRUE;
}
-static void sub_80F95C0(u8 partyIdx)
+static void FaintFromFieldPoison(u8 partyIdx)
{
struct Pokemon *pokemon = gPlayerParty + partyIdx;
- unsigned int status = STATUS1_NONE;
+ u32 status = STATUS1_NONE;
+
AdjustFriendship(pokemon, 0x07);
SetMonData(pokemon, MON_DATA_STATUS, &status);
GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1);
StringGetEnd10(gStringVar1);
}
-static bool32 sub_80F960C(u8 partyIdx)
+static bool32 MonFaintedFromPoison(u8 partyIdx)
{
struct Pokemon *pokemon = gPlayerParty + partyIdx;
- if (sub_80F9568(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
+ if (IsMonValidSpecies(pokemon) && GetMonData(pokemon, MON_DATA_HP) == 0 && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
{
return TRUE;
}
return FALSE;
}
-static void sub_80F9654(u8 taskId)
+static void Task_WhiteOut(u8 taskId)
{
s16 *data = gTasks[taskId].data;
switch (data[0])
@@ -67,9 +69,9 @@ static void sub_80F9654(u8 taskId)
case 0:
for (; data[1] < PARTY_SIZE; data[1]++)
{
- if (sub_80F960C(data[1]))
+ if (MonFaintedFromPoison(data[1]))
{
- sub_80F95C0(data[1]);
+ FaintFromFieldPoison(data[1]);
ShowFieldMessage(gText_PkmnFainted3);
data[0]++;
return;
@@ -84,7 +86,7 @@ static void sub_80F9654(u8 taskId)
}
break;
case 2:
- if (sub_80F958C())
+ if (AllMonsFainted())
{
if (InBattlePyramid() | InBattlePike() || sub_81D5C18())
{
@@ -105,19 +107,19 @@ static void sub_80F9654(u8 taskId)
}
}
-void sub_80F972C(void)
+void ExecuteWhiteOut(void)
{
- CreateTask(sub_80F9654, 80);
+ CreateTask(Task_WhiteOut, 80);
ScriptContext1_Stop();
}
-int DoPoisonFieldEffect(void)
+s32 DoPoisonFieldEffect(void)
{
int i;
- unsigned int hp;
+ u32 hp;
struct Pokemon *pokemon = gPlayerParty;
- unsigned int numPoisoned = 0;
- unsigned int numFainted = 0;
+ u32 numPoisoned = 0;
+ 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)
@@ -134,7 +136,7 @@ int DoPoisonFieldEffect(void)
}
if (numFainted != 0 || numPoisoned != 0)
{
- overworld_poison_effect();
+ FldeffPoison_Start();
}
if (numFainted != 0)
{
diff --git a/src/field_region_map.c b/src/field_region_map.c
index 7e8794cab..40f48e668 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -1,18 +1,16 @@
-
-// Includes
#include "global.h"
+#include "bg.h"
+#include "gpu_regs.h"
+#include "international_string_util.h"
#include "main.h"
#include "malloc.h"
-#include "gpu_regs.h"
-#include "bg.h"
-#include "text.h"
-#include "window.h"
-#include "text_window.h"
-#include "palette.h"
#include "menu.h"
-#include "strings.h"
-#include "international_string_util.h"
+#include "palette.h"
#include "region_map.h"
+#include "strings.h"
+#include "text.h"
+#include "text_window.h"
+#include "window.h"
// Static type declarations
@@ -58,7 +56,7 @@ static const struct BgTemplate gUnknown_085E5068[] = {
static const struct WindowTemplate gUnknown_085E5070[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 17,
.tilemapTop = 17,
.width = 12,
@@ -67,7 +65,7 @@ static const struct WindowTemplate gUnknown_085E5070[] =
.baseBlock = 1
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 1,
.width = 7,
diff --git a/src/field_specials.c b/src/field_specials.c
index fcef56f14..4da751b27 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "main.h"
#include "battle.h"
#include "battle_tower.h"
#include "cable_club.h"
@@ -13,7 +12,6 @@
#include "field_effect.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
-#include "field_region_map.h"
#include "field_screen.h"
#include "field_specials.h"
#include "field_weather.h"
@@ -21,6 +19,7 @@
#include "item_icon.h"
#include "link.h"
#include "list_menu.h"
+#include "main.h"
#include "malloc.h"
#include "match_call.h"
#include "menu.h"
@@ -46,6 +45,7 @@
#include "wallclock.h"
#include "window.h"
#include "constants/event_objects.h"
+#include "constants/field_effects.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/songs.h"
@@ -80,6 +80,7 @@ extern const u16 gEventObjectPalette34[];
extern void LoadPalette(const void *src, u32 offset, u16 size); // incorrect signature, needed to match
extern void BlendPalettes(u32, u8, u16);
+extern void FieldInitRegionMap(MainCallback callback);
void UpdateMovedLilycoveFanClubMembers(void);
void sub_813BF60(void);
@@ -595,7 +596,7 @@ static void LoadLinkPartnerEventObjectSpritePalette(u8 graphicsId, u8 localEvent
graphicsId == EVENT_OBJ_GFX_RIVAL_MAY_NORMAL)
{
u8 obj = GetEventObjectIdByLocalIdAndMap(localEventId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- if (obj != NUM_EVENT_OBJECTS)
+ if (obj != EVENT_OBJECTS_COUNT)
{
u8 spriteId = gEventObjects[obj].spriteId;
struct Sprite *sprite = &gSprites[spriteId];
@@ -1328,7 +1329,7 @@ u16 GetSlotMachineId(void)
bool8 FoundAbandonedShipRoom1Key(void)
{
u16 *specVar = &gSpecialVar_0x8004;
- u16 flag = FLAG_HIDDEN_ITEM_1F;
+ u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY;
*specVar = flag;
if (!FlagGet(flag))
{
@@ -1340,7 +1341,7 @@ bool8 FoundAbandonedShipRoom1Key(void)
bool8 FoundAbandonedShipRoom2Key(void)
{
u16 *specVar = &gSpecialVar_0x8004;
- u16 flag = FLAG_HIDDEN_ITEM_20;
+ u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY;
*specVar = flag;
if (!FlagGet(flag))
{
@@ -1352,7 +1353,7 @@ bool8 FoundAbandonedShipRoom2Key(void)
bool8 FoundAbandonedShipRoom4Key(void)
{
u16 *specVar = &gSpecialVar_0x8004;
- u16 flag = FLAG_HIDDEN_ITEM_21;
+ u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY;
*specVar = flag;
if (!FlagGet(flag))
{
@@ -1364,7 +1365,7 @@ bool8 FoundAbandonedShipRoom4Key(void)
bool8 FoundAbandonedShipRoom6Key(void)
{
u16 *specVar = &gSpecialVar_0x8004;
- u16 flag = FLAG_HIDDEN_ITEM_22;
+ u16 flag = FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY;
*specVar = flag;
if (!FlagGet(flag))
{
@@ -1508,12 +1509,12 @@ static void sub_8139620(u8 taskId)
bool8 FoundBlackGlasses(void)
{
- return FlagGet(FLAG_HIDDEN_ITEM_BLACK_GLASSES);
+ return FlagGet(FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES);
}
void SetRoute119Weather(void)
{
- if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE)
+ if (is_map_type_1_2_3_5_or_6(GetLastUsedWarpMapType()) != TRUE)
{
SetSav1Weather(20);
}
@@ -1521,7 +1522,7 @@ void SetRoute119Weather(void)
void SetRoute123Weather(void)
{
- if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()) != TRUE)
+ if (is_map_type_1_2_3_5_or_6(GetLastUsedWarpMapType()) != TRUE)
{
SetSav1Weather(21);
}
@@ -1680,7 +1681,7 @@ void sub_8139980(void)
}
const struct WindowTemplate gUnknown_085B2BAC = {
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 1,
.width = 8,
@@ -1708,8 +1709,18 @@ const u8 *const gElevatorFloorsTable[] = {
gText_Rooftop
};
-const u16 gUnknown_085B2BF4[] = { 0x0329, 0x032a, 0x032b, 0x0331, 0x0332, 0x0333, 0x0339, 0x033a, 0x033b };
-const u16 gUnknown_085B2C06[] = { 0x0329, 0x032b, 0x032a, 0x0331, 0x0333, 0x0332, 0x0339, 0x033b, 0x033a };
+const u16 gUnknown_085B2BF4[][3] =
+{
+ {0x0329, 0x032a, 0x032b},
+ {0x0331, 0x0332, 0x0333},
+ {0x0339, 0x033a, 0x033b},
+};
+const u16 gUnknown_085B2C06[][3] =
+{
+ {0x0329, 0x032b, 0x032a},
+ {0x0331, 0x0333, 0x0332},
+ {0x0339, 0x033b, 0x033a},
+};
void SetDepartmentStoreFloorVar(void)
{
@@ -1865,9 +1876,6 @@ static void sub_8139C2C(u16 a1, u8 a2)
}
}
-// Annoyingly close but compiler wants to add all the parts of the index into the arrays
-// first and then shift by one, whereas we need each individual part to shift and then be added.
-#ifdef NONMATCHING
static void sub_8139C80(u8 taskId)
{
u8 x, y;
@@ -1882,7 +1890,7 @@ static void sub_8139C80(u8 taskId)
{
for (x = 0; x < 3; x++)
{
- MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y * 3 + data[0] % 3] | 0xC00);
+ MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y][data[0] % 3] | 0xC00);
}
}
}
@@ -1892,7 +1900,7 @@ static void sub_8139C80(u8 taskId)
{
for (x = 0; x < 3; x++)
{
- MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y * 3 + data[0] % 3] | 0xC00);
+ MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y][data[0] % 3] | 0xC00);
}
}
}
@@ -1905,172 +1913,30 @@ static void sub_8139C80(u8 taskId)
}
data[1]++;
}
-#else
-NAKED
-static void sub_8139C80(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, 0x4\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp]\n\
- lsls r0, 2\n\
- ldr r1, [sp]\n\
- adds r0, r1\n\
- lsls r0, 3\n\
- ldr r1, =gTasks + 0x8\n\
- adds r6, r0, r1\n\
- movs r2, 0x2\n\
- ldrsh r0, [r6, r2]\n\
- cmp r0, 0x6\n\
- bne _08139D7C\n\
- ldrh r0, [r6]\n\
- adds r0, 0x1\n\
- strh r0, [r6]\n\
- movs r1, 0x4\n\
- ldrsh r0, [r6, r1]\n\
- cmp r0, 0\n\
- bne _08139D10\n\
- movs r1, 0\n\
- ldr r2, =gUnknown_085B2BF4\n\
- mov r10, r2\n\
-_08139CBA:\n\
- movs r5, 0\n\
- adds r7, r1, 0x7\n\
- lsls r0, r1, 1\n\
- adds r2, r1, 0x1\n\
- mov r8, r2\n\
- adds r0, r1\n\
- lsls r0, 1\n\
- mov r9, r0\n\
-_08139CCA:\n\
- adds r4, r5, 0\n\
- adds r4, 0x8\n\
- movs r1, 0\n\
- ldrsh r0, [r6, r1]\n\
- movs r1, 0x3\n\
- bl __modsi3\n\
- lsls r0, 16\n\
- asrs r0, 15\n\
- add r0, r9\n\
- add r0, r10\n\
- ldrh r0, [r0]\n\
- movs r1, 0xC0\n\
- lsls r1, 4\n\
- adds r2, r1, 0\n\
- orrs r2, r0\n\
- adds r0, r4, 0\n\
- adds r1, r7, 0\n\
- bl MapGridSetMetatileIdAt\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- cmp r5, 0x2\n\
- bls _08139CCA\n\
- mov r2, r8\n\
- lsls r0, r2, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x2\n\
- bls _08139CBA\n\
- b _08139D62\n\
- .pool\n\
-_08139D10:\n\
- movs r1, 0\n\
- ldr r0, =gUnknown_085B2C06\n\
- mov r10, r0\n\
-_08139D16:\n\
- movs r5, 0\n\
- adds r7, r1, 0x7\n\
- lsls r0, r1, 1\n\
- adds r2, r1, 0x1\n\
- mov r8, r2\n\
- adds r0, r1\n\
- lsls r0, 1\n\
- mov r9, r0\n\
-_08139D26:\n\
- adds r4, r5, 0\n\
- adds r4, 0x8\n\
- movs r1, 0\n\
- ldrsh r0, [r6, r1]\n\
- movs r1, 0x3\n\
- bl __modsi3\n\
- lsls r0, 16\n\
- asrs r0, 15\n\
- add r0, r9\n\
- add r0, r10\n\
- ldrh r0, [r0]\n\
- movs r1, 0xC0\n\
- lsls r1, 4\n\
- adds r2, r1, 0\n\
- orrs r2, r0\n\
- adds r0, r4, 0\n\
- adds r1, r7, 0\n\
- bl MapGridSetMetatileIdAt\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- cmp r5, 0x2\n\
- bls _08139D26\n\
- mov r2, r8\n\
- lsls r0, r2, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x2\n\
- bls _08139D16\n\
-_08139D62:\n\
- bl DrawWholeMapView\n\
- movs r0, 0\n\
- strh r0, [r6, 0x2]\n\
- movs r0, 0\n\
- ldrsh r1, [r6, r0]\n\
- movs r2, 0x6\n\
- ldrsh r0, [r6, r2]\n\
- cmp r1, r0\n\
- bne _08139D7C\n\
- ldr r0, [sp]\n\
- bl DestroyTask\n\
-_08139D7C:\n\
- ldrh r0, [r6, 0x2]\n\
- adds r0, 0x1\n\
- strh r0, [r6, 0x2]\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");
-}
-#endif // NAKED
void sub_8139D98(void)
{
u8 i;
- u32 ivStorage[6];
+ u32 ivStorage[NUM_STATS];
- ivStorage[0] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_HP_IV);
- ivStorage[1] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_ATK_IV);
- ivStorage[2] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_DEF_IV);
- ivStorage[3] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPEED_IV);
- ivStorage[4] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPATK_IV);
- ivStorage[5] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPDEF_IV);
+ ivStorage[STAT_HP] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_HP_IV);
+ ivStorage[STAT_ATK] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_ATK_IV);
+ ivStorage[STAT_DEF] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_DEF_IV);
+ ivStorage[STAT_SPEED] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPEED_IV);
+ ivStorage[STAT_SPATK] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPATK_IV);
+ ivStorage[STAT_SPDEF] = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPDEF_IV);
gSpecialVar_0x8005 = 0;
- for (i = 0; i < ARRAY_COUNT(ivStorage); i++)
+ for (i = 0; i < NUM_STATS; i++)
{
gSpecialVar_0x8005 += ivStorage[i];
}
gSpecialVar_0x8006 = 0;
- gSpecialVar_0x8007 = ivStorage[0]; // HP IV
+ gSpecialVar_0x8007 = ivStorage[STAT_HP];
- for (i = 1; i < 6; i++)
+ for (i = 1; i < NUM_STATS; i++)
{
if (ivStorage[gSpecialVar_0x8006] < ivStorage[i])
{
@@ -2080,7 +1946,7 @@ void sub_8139D98(void)
else if (ivStorage[gSpecialVar_0x8006] == ivStorage[i])
{
u16 randomNumber = Random();
- if ((randomNumber & 1) != 0)
+ if (randomNumber & 1)
{
gSpecialVar_0x8006 = i;
gSpecialVar_0x8007 = ivStorage[i];
@@ -2158,73 +2024,73 @@ void sub_8139F20(void)
case 1:
case 2:
case 3:
- if (gSaveBlock2Ptr->frontier.field_CE0[var][0] >= gSaveBlock2Ptr->frontier.field_CE0[var][1])
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[var][0] >= gSaveBlock2Ptr->frontier.towerWinStreaks[var][1])
{
- unk = gSaveBlock2Ptr->frontier.field_CE0[var][0];
+ unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_CE0[var][1];
+ unk = gSaveBlock2Ptr->frontier.towerWinStreaks[var][1];
}
break;
case 4:
- if (gSaveBlock2Ptr->frontier.field_D0C[0][0] >= gSaveBlock2Ptr->frontier.field_D0C[0][1])
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.domeWinStreaks[0][1])
{
- unk = gSaveBlock2Ptr->frontier.field_D0C[0][0];
+ unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_D0C[0][1];
+ unk = gSaveBlock2Ptr->frontier.domeWinStreaks[0][1];
}
break;
case 5:
- if (gSaveBlock2Ptr->frontier.field_DE2[0][0] >= gSaveBlock2Ptr->frontier.field_DE2[0][1])
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1])
{
- unk = gSaveBlock2Ptr->frontier.field_DE2[0][0];
+ unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_DE2[0][1];
+ unk = gSaveBlock2Ptr->frontier.factoryWinStreaks[0][1];
}
break;
case 6:
- if (gSaveBlock2Ptr->frontier.field_DC8[0][0] >= gSaveBlock2Ptr->frontier.field_DC8[0][1])
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0] >= gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1])
{
- unk = gSaveBlock2Ptr->frontier.field_DC8[0][0];
+ unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_DC8[0][1];
+ unk = gSaveBlock2Ptr->frontier.palaceWinStreaks[0][1];
}
break;
case 7:
- if (gSaveBlock2Ptr->frontier.field_DDA[0] >= gSaveBlock2Ptr->frontier.field_DDA[1])
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[0] >= gSaveBlock2Ptr->frontier.arenaWinStreaks[1])
{
- unk = gSaveBlock2Ptr->frontier.field_DDA[0];
+ unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_DDA[1];
+ unk = gSaveBlock2Ptr->frontier.arenaWinStreaks[1];
}
break;
case 8:
- if (gSaveBlock2Ptr->frontier.field_E04[0] >= gSaveBlock2Ptr->frontier.field_E04[1])
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[0] >= gSaveBlock2Ptr->frontier.pikeWinStreaks[1])
{
- unk = gSaveBlock2Ptr->frontier.field_E04[0];
+ unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_E04[1];
+ unk = gSaveBlock2Ptr->frontier.pikeWinStreaks[1];
}
break;
case 9:
- if (gSaveBlock2Ptr->frontier.field_E1A[0] >= gSaveBlock2Ptr->frontier.field_E1A[1])
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[0] >= gSaveBlock2Ptr->frontier.pyramidWinStreaks[1])
{
- unk = gSaveBlock2Ptr->frontier.field_E1A[0];
+ unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[0];
}
else
{
- unk = gSaveBlock2Ptr->frontier.field_E1A[1];
+ unk = gSaveBlock2Ptr->frontier.pyramidWinStreaks[1];
}
break;
}
@@ -2244,7 +2110,7 @@ void sub_813A080(void)
u16 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- if (battleMode == 2 && !FlagGet(FLAG_0x152))
+ if (battleMode == FRONTIER_MODE_MULTIS && !FlagGet(FLAG_0x152))
{
gSpecialVar_0x8005 = 5;
gSpecialVar_0x8006 = 4;
@@ -2253,7 +2119,7 @@ void sub_813A080(void)
for (i = 0; i < 9; i++)
{
- if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.field_CE0[battleMode][lvlMode])
+ if (gUnknown_085B2CDC[i] > gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode])
{
gSpecialVar_0x8005 = 4;
gSpecialVar_0x8006 = i + 5;
@@ -2733,8 +2599,6 @@ static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list)
}
}
-// stupid r5<->r6 swap
-#ifdef NONMATCHING
static void sub_813A4EC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -2752,7 +2616,11 @@ static void sub_813A4EC(u8 taskId)
default:
gSpecialVar_Result = itemId;
PlaySE(SE_SELECT);
- if (!task->data[6] || itemId == task->data[1] - 1)
+ if (!task->data[6])
+ {
+ sub_813A570(taskId);
+ }
+ else if (itemId == task->data[1] - 1)
{
sub_813A570(taskId);
}
@@ -2765,72 +2633,6 @@ static void sub_813A4EC(u8 taskId)
break;
}
}
-#else
-NAKED
-static void sub_813A4EC(u8 taskId)
-{
- asm_unified("push {r4-r6,lr}\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- lsls r0, r5, 2\n\
- adds r0, r5\n\
- lsls r0, 3\n\
- ldr r1, =gTasks\n\
- adds r6, r0, r1\n\
- ldrh r0, [r6, 0x24]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- bl ListMenuHandleInputGetItemId\n\
- adds r4, r0, 0\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- cmp r4, r0\n\
- beq _0813A51C\n\
- adds r0, 0x1\n\
- cmp r4, r0\n\
- bne _0813A530\n\
- b _0813A566\n\
- .pool\n\
-_0813A51C:\n\
- ldr r1, =gSpecialVar_Result\n\
- movs r0, 0x7F\n\
- strh r0, [r1]\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- b _0813A54C\n\
- .pool\n\
-_0813A530:\n\
- ldr r0, =gSpecialVar_Result\n\
- strh r4, [r0]\n\
- movs r0, 0x5\n\
- bl PlaySE\n\
- movs r1, 0x14\n\
- ldrsh r0, [r6, r1]\n\
- cmp r0, 0\n\
- beq _0813A54C\n\
- movs r1, 0xA\n\
- ldrsh r0, [r6, r1]\n\
- subs r0, 0x1\n\
- cmp r4, r0\n\
- bne _0813A558\n\
-_0813A54C:\n\
- adds r0, r5, 0\n\
- bl sub_813A570\n\
- b _0813A566\n\
- .pool\n\
-_0813A558:\n\
- adds r0, r5, 0\n\
- bl sub_813A738\n\
- ldr r0, =sub_813A600\n\
- str r0, [r6]\n\
- bl EnableBothScriptContexts\n\
-_0813A566:\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
-}
-#endif // NONMATCHING
static void sub_813A570(u8 taskId)
{
@@ -3061,7 +2863,7 @@ void sub_813A8FC(void)
{
u8 string[32];
u32 x;
- StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.frontierBattlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP);
+ StringCopy(ConvertIntToDecimalStringN(string, gSaveBlock2Ptr->frontier.battlePoints, STR_CONV_MODE_RIGHT_ALIGN, 4), gText_BP);
x = GetStringRightAlignXOffset(1, string, 48);
AddTextPrinterParameterized(gUnknown_0203AB6D, 1, string, x, 1, 0, NULL);
}
@@ -3069,7 +2871,7 @@ void sub_813A8FC(void)
void sub_813A958(void)
{
static const struct WindowTemplate gUnknown_085B311C = {
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 6,
@@ -3092,37 +2894,37 @@ void sub_813A988(void)
void sub_813A9A4(void)
{
- if (gSaveBlock2Ptr->frontier.frontierBattlePoints < gSpecialVar_0x8004)
+ if (gSaveBlock2Ptr->frontier.battlePoints < gSpecialVar_0x8004)
{
- gSaveBlock2Ptr->frontier.frontierBattlePoints = 0;
+ gSaveBlock2Ptr->frontier.battlePoints = 0;
}
else
{
- gSaveBlock2Ptr->frontier.frontierBattlePoints -= gSpecialVar_0x8004;
+ gSaveBlock2Ptr->frontier.battlePoints -= gSpecialVar_0x8004;
}
}
void sub_813A9D0(void)
{
- if (gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004 > 0x270F)
+ if (gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004 > 9999)
{
- gSaveBlock2Ptr->frontier.frontierBattlePoints = 0x270f;
+ gSaveBlock2Ptr->frontier.battlePoints = 9999;
}
else
{
- gSaveBlock2Ptr->frontier.frontierBattlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints + gSpecialVar_0x8004;
+ gSaveBlock2Ptr->frontier.battlePoints = gSaveBlock2Ptr->frontier.battlePoints + gSpecialVar_0x8004;
}
}
u16 sub_813AA04(void)
{
- return gSaveBlock2Ptr->frontier.frontierBattlePoints;
+ return gSaveBlock2Ptr->frontier.battlePoints;
}
void sub_813AA18(void)
{
static const struct WindowTemplate gUnknown_085B3124 = {
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 9,
.width = 4,
@@ -3284,7 +3086,7 @@ void sub_813AC7C(void)
static void sub_813ACE8(u8 a0, u16 a1)
{
static const struct WindowTemplate gUnknown_085B3220 = {
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 7,
.width = 12,
@@ -4081,7 +3883,7 @@ void sub_813BA60(void)
FlagClear(FLAG_HIDE_FANCLUB_BOY);
FlagClear(FLAG_HIDE_FANCLUB_LITTLE_BOY);
FlagClear(FLAG_HIDE_FANCLUB_LADY);
- FlagClear(FLAG_0x2DA);
+ FlagClear(FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER);
VarSet(VAR_LILYCOVE_FAN_CLUB_STATE, 1);
}
}
diff --git a/src/field_tasks.c b/src/field_tasks.c
index 5fb23f536..7a7f49120 100644
--- a/src/field_tasks.c
+++ b/src/field_tasks.c
@@ -1,24 +1,24 @@
#include "global.h"
-#include "task.h"
-#include "main.h"
-#include "constants/vars.h"
#include "bike.h"
-#include "item.h"
-#include "constants/items.h"
+#include "clock.h"
#include "event_data.h"
+#include "field_camera.h"
+#include "field_effect_helpers.h"
+#include "field_player_avatar.h"
+#include "field_special_scene.h"
+#include "field_tasks.h"
+#include "fieldmap.h"
+#include "item.h"
+#include "main.h"
+#include "metatile_behavior.h"
#include "overworld.h"
-#include "clock.h"
#include "script.h"
-#include "field_special_scene.h"
-#include "field_effect_helpers.h"
#include "secret_base.h"
-#include "metatile_behavior.h"
-#include "fieldmap.h"
-#include "field_player_avatar.h"
-#include "field_camera.h"
-#include "constants/songs.h"
#include "sound.h"
-#include "field_tasks.h"
+#include "task.h"
+#include "constants/items.h"
+#include "constants/songs.h"
+#include "constants/vars.h"
struct MetatileOffset
{
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 96f5d2b85..0d8a706b1 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -1,18 +1,20 @@
#include "global.h"
-#include "overworld.h"
#include "bg.h"
-#include "battle_frontier_2.h"
-#include "constants/rgb.h"
#include "fieldmap.h"
#include "fldeff_80F9BCC.h"
#include "fldeff_cut.h"
#include "fldeff_groundshake.h"
+#include "frontier_util.h"
#include "menu.h"
+#include "overworld.h"
#include "palette.h"
#include "pokenav.h"
#include "script.h"
#include "secret_base.h"
#include "tv.h"
+#include "constants/rgb.h"
+
+extern void sub_81AA078(u16*, u8);
struct ConnectionFlags
{
diff --git a/src/fight.c b/src/fight.c
new file mode 100644
index 000000000..c9000fae4
--- /dev/null
+++ b/src/fight.c
@@ -0,0 +1,1035 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "gpu_regs.h"
+#include "random.h"
+#include "task.h"
+#include "trig.h"
+#include "constants/rgb.h"
+
+void unc_080B08A0(struct Sprite *);
+void sub_810CE68(struct Sprite *);
+void sub_810CEB4(struct Sprite *);
+void AnimBasicFistOrFoot(struct Sprite *);
+void sub_810CF30(struct Sprite *);
+void sub_810D10C(struct Sprite *);
+void sub_810D1B4(struct Sprite *);
+void AnimSpinningKickOrPunch(struct Sprite *);
+void AnimStompFoot(struct Sprite *);
+void sub_810D37C(struct Sprite *);
+void sub_810D40C(struct Sprite *);
+void sub_810D4F4(struct Sprite *);
+void sub_810D608(struct Sprite *);
+void sub_810D714(struct Sprite *);
+void sub_810D874(struct Sprite *);
+void sub_810D984(struct Sprite *);
+void sub_810DA10(struct Sprite *);
+void sub_810DA7C(struct Sprite *);
+static void sub_810D0B8(struct Sprite *);
+static void sub_810D164(struct Sprite *);
+static void sub_810D240(struct Sprite *);
+static void AnimSpinningKickOrPunchFinish(struct Sprite *);
+static void AnimStompFootStep(struct Sprite *);
+static void AnimStompFootEnd(struct Sprite *);
+static void sub_810D47C(struct Sprite *);
+static void sub_810D5DC(struct Sprite *);
+static void sub_810D6A8(struct Sprite *);
+static void sub_810D770(struct Sprite *);
+static void sub_810D830(struct Sprite *);
+
+extern struct SpriteTemplate gBasicHitSplatSpriteTemplate;
+
+const struct SpriteTemplate gUnknown_08595E14 =
+{
+ .tileTag = ANIM_TAG_HUMANOID_FOOT,
+ .paletteTag = ANIM_TAG_HUMANOID_FOOT,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = unc_080B08A0,
+};
+
+const union AnimCmd gUnknown_08595E2C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595E34[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595E3C[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595E44[] =
+{
+ ANIMCMD_FRAME(48, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595E4C[] =
+{
+ ANIMCMD_FRAME(48, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595E54[] =
+{
+ gUnknown_08595E2C,
+};
+
+const union AnimCmd *const gUnknown_08595E58[] =
+{
+ gUnknown_08595E34,
+ gUnknown_08595E3C,
+};
+
+const union AnimCmd *const gUnknown_08595E60[] =
+{
+ gUnknown_08595E44,
+ gUnknown_08595E4C,
+};
+
+const struct SpriteTemplate gUnknown_08595E68 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810CE68,
+};
+
+const struct SpriteTemplate gUnknown_08595E80 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810CEB4,
+};
+
+const struct SpriteTemplate gFistFootSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimBasicFistOrFoot,
+};
+
+const struct SpriteTemplate gUnknown_08595EB0 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810CF30,
+};
+
+const struct SpriteTemplate gUnknown_08595EC8 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E60,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D10C,
+};
+
+const struct SpriteTemplate gUnknown_08595EE0 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E58,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D1B4,
+};
+
+const union AffineAnimCmd gUnknown_08595EF8[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 20, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08595F10[] =
+{
+ gUnknown_08595EF8,
+};
+
+const struct SpriteTemplate gUnknown_08595F14 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gUnknown_08595F10,
+ .callback = AnimSpinningKickOrPunch,
+};
+
+const union AffineAnimCmd gUnknown_08595F2C[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 20, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08595F44[] =
+{
+ gUnknown_08595F2C,
+};
+
+const struct SpriteTemplate gMegaPunchKickSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gUnknown_08595F44,
+ .callback = AnimSpinningKickOrPunch,
+};
+
+const struct SpriteTemplate gUnknown_08595F60 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E58,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimStompFoot,
+};
+
+const struct SpriteTemplate gUnknown_08595F78 =
+{
+ .tileTag = ANIM_TAG_DUCK,
+ .paletteTag = ANIM_TAG_DUCK,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D37C,
+};
+
+const struct SpriteTemplate gUnknown_08595F90 =
+{
+ .tileTag = ANIM_TAG_BLUE_LIGHT_WALL,
+ .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D40C,
+};
+
+const struct SpriteTemplate gUnknown_08595FA8 =
+{
+ .tileTag = ANIM_TAG_TORN_METAL,
+ .paletteTag = ANIM_TAG_TORN_METAL,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D4F4,
+};
+
+const union AffineAnimCmd gUnknown_08595FC0[] =
+{
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64),
+ AFFINEANIMCMD_FRAME(0xFFFA, 0xFFFA, 0, 8),
+ AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 8),
+ AFFINEANIMCMD_JUMP(2),
+};
+
+const union AffineAnimCmd *const gUnknown_08595FE8[] =
+{
+ gUnknown_08595FC0,
+};
+
+const struct SpriteTemplate gUnknown_08595FEC =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595FE8,
+ .callback = sub_810D608,
+};
+
+const struct SpriteTemplate gUnknown_08596004 =
+{
+ .tileTag = ANIM_TAG_FLAT_ROCK,
+ .paletteTag = ANIM_TAG_FLAT_ROCK,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D714,
+};
+
+const struct SpriteTemplate gUnknown_0859601C =
+{
+ .tileTag = ANIM_TAG_METEOR,
+ .paletteTag = ANIM_TAG_METEOR,
+ .oam = &gUnknown_0852491C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D874,
+};
+
+const struct SpriteTemplate gUnknown_08596034 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810D984,
+};
+
+const union AnimCmd gUnknown_0859604C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859605C[] =
+{
+ ANIMCMD_FRAME(0, 4, .vFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .vFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859606C[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859607C[] =
+{
+ gUnknown_0859604C,
+ gUnknown_0859605C,
+ gUnknown_0859606C,
+};
+
+const struct SpriteTemplate gUnknown_08596088 =
+{
+ .tileTag = ANIM_TAG_PURPLE_SCRATCH,
+ .paletteTag = ANIM_TAG_PURPLE_SCRATCH,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859607C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810DA10,
+};
+
+const union AnimCmd gUnknown_085960A0[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(64, 6),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085960AC[] =
+{
+ ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085960B8[] =
+{
+ ANIMCMD_FRAME(0, 6, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 6, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085960C4[] =
+{
+ gUnknown_085960A0,
+ gUnknown_085960AC,
+ gUnknown_085960B8,
+};
+
+const struct SpriteTemplate gUnknown_085960D0 =
+{
+ .tileTag = ANIM_TAG_PURPLE_SWIPE,
+ .paletteTag = ANIM_TAG_PURPLE_SWIPE,
+ .oam = &gUnknown_0852491C,
+ .anims = gUnknown_085960C4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810DA10,
+};
+
+const union AffineAnimCmd gUnknown_085960E8[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596100[] =
+{
+ gUnknown_085960E8,
+};
+
+const struct SpriteTemplate gUnknown_08596104 =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08595E54,
+ .images = NULL,
+ .affineAnims = gUnknown_08596100,
+ .callback = sub_810DA7C,
+};
+
+void unc_080B08A0(struct Sprite *sprite)
+{
+ sub_80A6864(sprite, gBattleAnimArgs[0]);
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = 15;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_810CE68(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[7] == 1 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+ }
+
+ StartSpriteAnim(sprite, gBattleAnimArgs[6]);
+ gBattleAnimArgs[6] = 0;
+ sub_80A7938(sprite);
+}
+
+void sub_810CEB4(struct Sprite *sprite)
+{
+ if (IsContest())
+ {
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+ }
+
+ sub_810CE68(sprite);
+}
+
+// Displays a basic fist or foot sprite for a given duration.
+// Used by many fighting moves (and elemental "punch" moves).
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: duration
+// arg 3: ? (todo: related to initial pixel offsets)
+// arg 4: anim num
+void AnimBasicFistOrFoot(struct Sprite *sprite)
+{
+ StartSpriteAnim(sprite, gBattleAnimArgs[4]);
+
+ if (gBattleAnimArgs[3] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_810CF30(struct Sprite *sprite)
+{
+ u8 battler;
+ s16 xMod, yMod;
+ s16 x, y;
+
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ if (gBattleAnimArgs[2] < 0)
+ gBattleAnimArgs[2] = Random2() % 5;
+
+ StartSpriteAnim(sprite, gBattleAnimArgs[2]);
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, 3);
+
+ xMod = sub_80A861C(battler, 1) / 2;
+ yMod = sub_80A861C(battler, 0) / 4;
+
+ x = Random2() % xMod;
+ y = Random2() % yMod;
+
+ if (Random2() & 1)
+ x *= -1;
+ if (Random2() & 1)
+ y *= -1;
+
+ if ((gBattlerPositions[battler] & BIT_SIDE) == B_SIDE_PLAYER)
+ y += 0xFFF0;
+
+ sprite->pos1.x += x;
+ sprite->pos1.y += y;
+
+ sprite->data[0] = gBattleAnimArgs[1];
+ sprite->data[7] = CreateSprite(&gBasicHitSplatSpriteTemplate, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1);
+ if (sprite->data[7] != 64)
+ {
+ StartSpriteAffineAnim(&gSprites[sprite->data[7]], 0);
+ gSprites[sprite->data[7]].callback = SpriteCallbackDummy;
+ }
+
+ sprite->callback = sub_810D0B8;
+}
+
+static void sub_810D0B8(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ if (sprite->data[7] != 64)
+ {
+ FreeOamMatrix(gSprites[sprite->data[7]].oam.matrixNum);
+ DestroySprite(&gSprites[sprite->data[7]]);
+ }
+
+ DestroyAnimSprite(sprite);
+ }
+ else
+ {
+ sprite->data[0]--;
+ }
+}
+
+void sub_810D10C(struct Sprite *sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ sprite->data[0] = 30;
+
+ if (gBattleAnimArgs[2] == 0)
+ {
+ sprite->data[2] = sprite->pos1.x - 20;
+ }
+ else
+ {
+ sprite->data[2] = sprite->pos1.x + 20;
+ sprite->hFlip = 1;
+ }
+
+ sprite->data[4] = sprite->pos1.y - 20;
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, sub_810D164);
+}
+
+static void sub_810D164(struct Sprite *sprite)
+{
+ if (++sprite->data[5] == 11)
+ {
+ sprite->data[2] = sprite->pos1.x - sprite->pos2.x;
+ sprite->data[4] = sprite->pos1.y - sprite->pos2.y;
+ sprite->data[0] = 8;
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ }
+}
+
+void sub_810D1B4(struct Sprite *sprite)
+{
+ if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT)
+ gBattleAnimArgs[0] *= -1;
+
+ sub_80A6980(sprite, TRUE);
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = sprite->pos1.y;
+
+ InitAnimLinearTranslation(sprite);
+
+ sprite->data[5] = gBattleAnimArgs[5];
+ sprite->data[6] = gBattleAnimArgs[4];
+ sprite->data[7] = 0;
+
+ sprite->callback = sub_810D240;
+}
+
+static void sub_810D240(struct Sprite *sprite)
+{
+ if (!TranslateAnimLinear(sprite))
+ {
+ sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]);
+ sprite->data[7] += sprite->data[6];
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+// Animates the spinning, shrinking kick or punch, which then
+// reappears at full size. Used by moves such as MOVE_MEGA_PUNCH and MOVE_MEGA_KICK.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: anim num
+// arg 3: spin duration
+void AnimSpinningKickOrPunch(struct Sprite *sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ StartSpriteAnim(sprite, gBattleAnimArgs[2]);
+ sprite->data[0] = gBattleAnimArgs[3];
+
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, AnimSpinningKickOrPunchFinish);
+}
+
+static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, 0);
+ sprite->affineAnimPaused = 1;
+ sprite->data[0] = 20;
+
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+// Animates MOVE_STOMP's foot that slides downward.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: initial wait duration
+void AnimStompFoot(struct Sprite *sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ sprite->data[0] = gBattleAnimArgs[2];
+
+ sprite->callback = AnimStompFootStep;
+}
+
+static void AnimStompFootStep(struct Sprite *sprite)
+{
+ if (--sprite->data[0] == -1)
+ {
+ sprite->data[0] = 6;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, AnimStompFootEnd);
+ }
+}
+
+static void AnimStompFootEnd(struct Sprite *sprite)
+{
+ sprite->data[0] = 15;
+
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_810D37C(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sub_80A6980(sprite, TRUE);
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[2] = gBattleAnimArgs[3];
+ sprite->data[0]++;
+ }
+ else
+ {
+ sprite->data[4] += sprite->data[1];
+ sprite->pos2.x = sprite->data[4] >> 8;
+ sprite->pos2.y = Sin(sprite->data[3], sprite->data[2]);
+ sprite->data[3] = (sprite->data[3] + 3) & 0xFF;
+
+ if (sprite->data[3] > 100)
+ sprite->invisible = sprite->data[3] % 2;
+
+ if (sprite->data[3] > 120)
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_810D40C(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ }
+
+ sprite->pos1.x += gBattleAnimArgs[1];
+ sprite->pos1.y += gBattleAnimArgs[2];
+
+ sprite->data[0] = 0;
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+ sprite->data[3] = 0;
+ sprite->callback = sub_810D47C;
+}
+
+static void sub_810D47C(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ if (--sprite->data[1] == 0)
+ {
+ if (sprite->data[2] == 0)
+ DestroyAnimSprite(sprite);
+ else
+ sprite->data[0]++;
+ }
+ break;
+ case 1:
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ sprite->data[3]++;
+ if (sprite->data[3] & 1)
+ sprite->pos2.x = 2;
+ else
+ sprite->pos2.x = -2;
+ }
+
+ if (--sprite->data[2] == 0)
+ DestroyAnimSprite(sprite);
+ break;
+ }
+}
+
+void sub_810D4F4(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
+ }
+
+ sprite->oam.tileNum += gBattleAnimArgs[1] * 16;
+ sprite->data[0] = 0;
+
+ switch (gBattleAnimArgs[1])
+ {
+ case 0:
+ sprite->data[6] = -3;
+ sprite->data[7] = -3;
+ break;
+ case 1:
+ sprite->data[6] = 3;
+ sprite->data[7] = -3;
+ break;
+ case 2:
+ sprite->data[6] = -3;
+ sprite->data[7] = 3;
+ break;
+ case 3:
+ sprite->data[6] = 3;
+ sprite->data[7] = 3;
+ break;
+ default:
+ DestroyAnimSprite(sprite);
+ return;
+ }
+
+ sprite->callback = sub_810D5DC;
+}
+
+static void sub_810D5DC(struct Sprite *sprite)
+{
+ sprite->pos1.x += sprite->data[6];
+ sprite->pos1.y += sprite->data[7];
+
+ if (++sprite->data[0] > 40)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_810D608(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
+ sprite->oam.priority = sub_80A8328(gBattleAnimAttacker);
+ sprite->data[7] = gBattleAnimTarget;
+ }
+ else
+ {
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ sprite->data[7] = gBattleAnimAttacker;
+ }
+
+ sprite->data[0] = 0;
+ sprite->data[1] = 12;
+ sprite->data[2] = 8;
+ sprite->callback = sub_810D6A8;
+}
+
+static void sub_810D6A8(struct Sprite *sprite)
+{
+ if (++sprite->data[0] == 180)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+
+ sprite->data[0] = 16;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
+
+ InitAnimLinearTranslation(sprite);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A6F98;
+ }
+}
+
+void sub_810D714(struct Sprite *sprite)
+{
+ sprite->pos1.x = gBattleAnimArgs[0];
+ sprite->pos1.y = 120;
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ sub_80A8048(&sprite->data[4], &sprite->data[5], (void *)(sprite->pos1.y << 8));
+
+ sprite->data[6] = gBattleAnimArgs[1];
+ sprite->oam.tileNum += gBattleAnimArgs[2] * 4;
+
+ sprite->callback = sub_810D770;
+}
+
+static void sub_810D770(struct Sprite *sprite)
+{
+ void *var0;
+
+ if (sprite->data[0] != 0)
+ {
+ var0 = sub_80A8050(sprite->data[4], sprite->data[5]);
+ var0 -= sprite->data[6];
+ sub_80A8048(&sprite->data[4], &sprite->data[5], var0);
+
+ var0 = (void *)(((intptr_t)var0) >> 8);
+ sprite->pos1.y = (intptr_t)var0;
+ if (sprite->pos1.y < -8)
+ DestroyAnimSprite(sprite);
+ else
+ sprite->data[0]--;
+ }
+ else
+ {
+ s16 pos0 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ s16 pos1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ s16 pos2 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ s16 pos3 = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+
+ sprite->data[0] = pos2 - pos0;
+ sprite->data[1] = pos3 - pos1;
+ sprite->data[2] = sprite->pos1.x << 4;
+ sprite->data[3] = sprite->pos1.y << 4;
+
+ sprite->callback = sub_810D830;
+ }
+}
+
+static void sub_810D830(struct Sprite *sprite)
+{
+ u16 edgeX;
+
+ sprite->data[2] += sprite->data[0];
+ sprite->data[3] += sprite->data[1];
+ sprite->pos1.x = sprite->data[2] >> 4;
+ sprite->pos1.y = sprite->data[3] >> 4;
+
+ edgeX = sprite->pos1.x + 8;
+ if (edgeX > 256 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_810D874(struct Sprite *sprite)
+{
+ u8 battler;
+
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
+ battler = gBattleAnimTarget;
+ sprite->oam.priority = sub_80A8328(gBattleAnimAttacker);
+ }
+ else
+ {
+ battler = gBattleAnimAttacker;
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ }
+
+ if (IsContest())
+ sprite->oam.matrixNum |= 0x8;
+ else if (GetBattlerSide(battler) == B_SIDE_PLAYER)
+ sprite->oam.matrixNum |= 0x18;
+
+ sprite->data[0] = 16;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(battler, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(battler, 3);
+
+ InitAnimLinearTranslation(sprite);
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = sub_80A6F98;
+}
+
+static void sub_810D960(struct Sprite *sprite)
+{
+ if (sprite->data[0] == sprite->data[4])
+ DestroyAnimSprite(sprite);
+
+ sprite->data[0]++;
+}
+
+void sub_810D984(struct Sprite *sprite)
+{
+ u8 turn;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[0];
+ sprite->data[3] = gBattleAnimArgs[1];
+ sprite->data[4] = gBattleAnimArgs[2];
+
+ turn = gAnimMoveTurn;
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ turn++;
+
+ if (turn & 1)
+ {
+ sprite->data[2] = -sprite->data[2];
+ sprite->data[1]++;
+ }
+
+ StartSpriteAnim(sprite, sprite->data[1]);
+ sprite->pos2.x = sprite->data[2];
+ sprite->pos2.y = sprite->data[3];
+ sprite->callback = sub_810D960;
+}
+
+void sub_810DA10(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 0);
+ else
+ sub_80A6980(sprite, FALSE);
+
+ if (IsContest())
+ {
+ StartSpriteAnim(sprite, 2);
+ }
+ else if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ StartSpriteAnim(sprite, 1);
+ }
+
+ sprite->callback = sub_80A67D8;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_810DA7C(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ {
+ sprite->data[1] = (sprite->data[1] + 40) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[1], 2);
+ if (++sprite->data[0] > 40)
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_810DABC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_80A6DAC(0);
+ task->data[8] = gBattleAnimArgs[0];
+ task->data[0]++;
+ break;
+ case 1:
+ if (--task->data[8] == -1)
+ task->data[0]++;
+ break;
+ case 2:
+ default:
+ task->data[9] += 1280;
+ break;
+ }
+
+ task->data[10] += 2816;
+
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ gBattle_BG3_X += task->data[9] >> 8;
+ else
+ gBattle_BG3_X -= task->data[9] >> 8;
+
+ gBattle_BG3_Y += task->data[10] >> 8;
+ task->data[9] &= 0xFF;
+ task->data[10] &= 0xFF;
+
+ if (gBattleAnimArgs[7] == -1)
+ {
+ gBattle_BG3_X = 0;
+ gBattle_BG3_Y = 0;
+ sub_80A6DAC(1);
+ DestroyAnimVisualTask(taskId);
+ }
+}
diff --git a/src/fire.c b/src/fire.c
new file mode 100644
index 000000000..02c0db81c
--- /dev/null
+++ b/src/fire.c
@@ -0,0 +1,438 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_8108EC8(struct Sprite *);
+extern void sub_8108F08(struct Sprite *);
+extern void sub_8108FBC(struct Sprite *);
+extern void sub_8108F4C(struct Sprite *);
+extern void sub_8109064(struct Sprite *);
+extern void sub_810916C(struct Sprite *);
+extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
+extern void sub_8109198(struct Sprite *);
+extern void sub_8109200(struct Sprite *);
+extern void sub_810921C(struct Sprite *);
+extern void sub_8109364(struct Sprite *);
+extern void sub_81093A4(struct Sprite *);
+extern void sub_80A8EE4(struct Sprite *);
+extern void sub_81098EC(struct Sprite *);
+extern void sub_8109A10(struct Sprite *);
+extern void sub_8109AFC(struct Sprite *);
+extern void sub_8109CB0(struct Sprite *);
+
+const union AnimCmd gUnknown_08595340[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08595350[] =
+{
+ ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 4, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595360[] =
+{
+ gUnknown_08595340,
+ gUnknown_08595350,
+};
+
+const struct SpriteTemplate gUnknown_08595368 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108EC8,
+};
+
+const struct SpriteTemplate gUnknown_08595380 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108F08,
+};
+
+const union AnimCmd gUnknown_08595398[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 3),
+ ANIMCMD_FRAME(112, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085953BC[] =
+{
+ gUnknown_08595398,
+};
+
+const union AnimCmd gUnknown_085953C0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085953D8[] =
+{
+ gUnknown_085953C0,
+};
+
+const union AffineAnimCmd gUnknown_085953DC[] =
+{
+ AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085953F4[] =
+{
+ gUnknown_085953DC,
+};
+
+const struct SpriteTemplate gUnknown_085953F8 =
+{
+ .tileTag = ANIM_TAG_FIRE,
+ .paletteTag = ANIM_TAG_FIRE,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085953BC,
+ .images = NULL,
+ .affineAnims = gUnknown_085953F4,
+ .callback = sub_8108FBC,
+};
+
+const struct SpriteTemplate gUnknown_08595410 =
+{
+ .tileTag = ANIM_TAG_FIRE,
+ .paletteTag = ANIM_TAG_FIRE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085953BC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108FBC,
+};
+
+const struct SpriteTemplate gUnknown_08595428 =
+{
+ .tileTag = ANIM_TAG_FIRE_PLUME,
+ .paletteTag = ANIM_TAG_FIRE_PLUME,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085953D8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108F4C,
+};
+
+const struct SpriteTemplate gUnknown_08595440 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085953D8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108F4C,
+};
+
+const union AnimCmd gUnknown_08595458[] =
+{
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595468[] =
+{
+ gUnknown_08595458,
+};
+
+const struct SpriteTemplate gUnknown_0859546C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595468,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109064,
+};
+
+const union AffineAnimCmd gUnknown_08595484[] =
+{
+ AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
+ AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_0859549C[] =
+{
+ gUnknown_08595484,
+};
+
+const struct SpriteTemplate gUnknown_085954A0 =
+{
+ .tileTag = ANIM_TAG_SUNLIGHT,
+ .paletteTag = ANIM_TAG_SUNLIGHT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859549C,
+ .callback = sub_810916C,
+};
+
+const union AnimCmd gUnknown_085954B8[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085954D0[] =
+{
+ gUnknown_085954B8,
+};
+
+const struct SpriteTemplate gEmberSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const struct SpriteTemplate gEmberFlareSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109198,
+};
+
+const struct SpriteTemplate gUnknown_08595504 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109200,
+};
+
+const struct SpriteTemplate gUnknown_0859551C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810921C,
+};
+
+const union AnimCmd gUnknown_08595534[] =
+{
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595540[] =
+{
+ gUnknown_08595534,
+};
+
+const union AffineAnimCmd gUnknown_08595544[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595554[] =
+{
+ AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595564[] =
+{
+ gUnknown_08595544,
+ gUnknown_08595554,
+};
+
+const struct SpriteTemplate gUnknown_0859556C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595540,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109364,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81093A4,
+};
+
+const struct SpriteTemplate gUnknown_0859559C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8EE4,
+};
+
+const struct SpriteTemplate gUnknown_085955B4 =
+{
+ .tileTag = ANIM_TAG_WARM_ROCK,
+ .paletteTag = ANIM_TAG_WARM_ROCK,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81098EC,
+};
+
+// gHeatedRockCoords
+const s16 gUnknown_085955CC[][2] =
+{
+ {-2, -5},
+ {-1, -1},
+ { 3, -6},
+ { 4, -2},
+ { 2, -8},
+ {-5, -5},
+ { 4, -7},
+};
+
+const struct SpriteTemplate gUnknown_085955E8 =
+{
+ .tileTag = ANIM_TAG_WARM_ROCK,
+ .paletteTag = ANIM_TAG_WARM_ROCK,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109A10,
+};
+
+const union AnimCmd gUnknown_08595600[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08595614[] =
+{
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859561C[] =
+{
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595624[] =
+{
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859562C[] =
+{
+ gUnknown_08595600,
+ gUnknown_08595614,
+ gUnknown_0859561C,
+ gUnknown_08595624,
+};
+
+const struct SpriteTemplate gUnknown_0859563C =
+{
+ .tileTag = ANIM_TAG_WISP_ORB,
+ .paletteTag = ANIM_TAG_WISP_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_0859562C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109AFC,
+};
+
+const union AnimCmd gUnknown_08595654[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595668[] =
+{
+ gUnknown_08595654,
+};
+
+const struct SpriteTemplate gUnknown_0859566C =
+{
+ .tileTag = ANIM_TAG_WISP_FIRE,
+ .paletteTag = ANIM_TAG_WISP_FIRE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595668,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109CB0,
+};
+
+const s8 gUnknown_08595684[16] =
+{
+ -1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1,
+};
+
+const s8 gUnknown_08595694[16] =
+{
+ -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1,
+};
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 5a9181789..230a95e0b 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -18,6 +18,7 @@
#include "trig.h"
#include "constants/abilities.h"
#include "constants/event_objects.h"
+#include "constants/field_effects.h"
#include "constants/songs.h"
extern void ScriptUnfreezeEventObjects(void);
diff --git a/src/fldeff_escalator.c b/src/fldeff_escalator.c
new file mode 100644
index 000000000..7d3e07123
--- /dev/null
+++ b/src/fldeff_escalator.c
@@ -0,0 +1,132 @@
+#include "global.h"
+#include "field_camera.h"
+#include "field_player_avatar.h"
+#include "fieldmap.h"
+#include "task.h"
+
+static EWRAM_DATA u8 sEscalatorAnim_TaskId = 0;
+
+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++)
+ {
+ for (x = 0; x < 3; x++)
+ {
+ s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y);
+
+ if (list[r4] == metatileId)
+ {
+ if (r4 != 2)
+ MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[r4 + 1]);
+ else
+ MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[0]);
+ }
+ }
+ }
+ }
+ else
+ {
+ for (y = 0; y < 3; y++)
+ {
+ for (x = 0; x < 3; x++)
+ {
+ s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y);
+
+ if (list[2 - r4] == metatileId)
+ {
+ if (r4 != 2)
+ MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[1 - r4]);
+ else
+ MapGridSetMetatileIdAt(r5 + x, r3 + y, c | list[2]);
+ }
+ }
+ }
+ }
+}
+
+static const u16 gUnknown_08589ABA[] = {0x284, 0x282, 0x280};
+static const u16 gUnknown_08589AC0[] = {0x285, 0x283, 0x281};
+static const u16 gUnknown_08589AC6[] = {0x28C, 0x28A, 0x288};
+static const u16 gUnknown_08589ACC[] = {0x28D, 0x28B, 0x289};
+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)
+{
+ s16 *data = gTasks[taskId].data;
+
+ data[3] = 1;
+
+ switch (data[0])
+ {
+ case 0:
+ sub_80E12E8(taskId, gUnknown_08589ABA, 0);
+ break;
+ case 1:
+ sub_80E12E8(taskId, gUnknown_08589AC0, 0);
+ break;
+ case 2:
+ sub_80E12E8(taskId, gUnknown_08589AC6, 0xC00);
+ break;
+ case 3:
+ sub_80E12E8(taskId, gUnknown_08589ACC, 0);
+ break;
+ case 4:
+ sub_80E12E8(taskId, gUnknown_08589AD2, 0xC00);
+ break;
+ case 5:
+ sub_80E12E8(taskId, gUnknown_08589AD8, 0);
+ break;
+ case 6:
+ sub_80E12E8(taskId, gUnknown_08589ADE, 0);
+ break;
+ }
+
+ data[0] = (data[0] + 1) & 7;
+ if (!data[0])
+ {
+ DrawWholeMapView();
+ data[1] = (data[1] + 1) % 3;
+ data[3] = 0;
+ }
+}
+
+u8 sub_80E150C(u16 var)
+{
+ u8 taskId = CreateTask(sub_80E1444, 0);
+ s16 *data = gTasks[taskId].data;
+
+ PlayerGetDestCoords(&data[4], &data[5]);
+ data[0] = 0;
+ data[1] = 0;
+ data[2] = var;
+ sub_80E1444(taskId);
+ return taskId;
+}
+
+void sub_80E1558(u8 var)
+{
+ sEscalatorAnim_TaskId = sub_80E150C(var);
+}
+
+void sub_80E1570(void)
+{
+ DestroyTask(sEscalatorAnim_TaskId);
+}
+
+bool8 sub_80E1584(void)
+{
+ if (gTasks[sEscalatorAnim_TaskId].data[3] == 0 && gTasks[sEscalatorAnim_TaskId].data[1] == 2)
+ return FALSE;
+ else
+ return TRUE;
+}
diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c
index 654f02c23..9771232f2 100644
--- a/src/fldeff_flash.c
+++ b/src/fldeff_flash.c
@@ -1,20 +1,19 @@
#include "global.h"
-#include "constants/songs.h"
#include "braille_puzzles.h"
#include "event_data.h"
#include "event_scripts.h"
#include "field_effect.h"
#include "gpu_regs.h"
-#include "gba/io_reg.h"
#include "main.h"
+#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
-#include "overworld.h"
#include "rom6.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "constants/songs.h"
// structures
struct FlashStruct
@@ -69,8 +68,8 @@ static const u16 gCaveTransitionPalette_Black[] = INCBIN_U16("graphics/misc/cave
static const u16 gUnknown_085B2890[] = INCBIN_U16("graphics/misc/85B2890.gbapal");
static const u16 gUnknown_085B28A0[] = INCBIN_U16("graphics/misc/85B28A0.gbapal");
-static const u16 gCaveTransitionTilemap[] = INCBIN_U16("graphics/misc/cave_transition_map.bin.lz");
-static const u8 gCaveTransitionTiles[] = INCBIN_U8("graphics/misc/cave_transition.4bpp.lz");
+static const u32 gCaveTransitionTilemap[] = INCBIN_U32("graphics/misc/cave_transition_map.bin.lz");
+static const u32 gCaveTransitionTiles[] = INCBIN_U32("graphics/misc/cave_transition.4bpp.lz");
// text
bool8 SetUpFieldMove_Flash(void)
@@ -156,7 +155,7 @@ void c2_change_map(void)
static bool8 sub_8137304(void)
{
u8 i;
- u8 v0 = get_map_light_from_warp0();
+ u8 v0 = GetLastUsedWarpMapType();
u8 v1 = Overworld_GetMapTypeOfSaveblockLocation();
for (i = 0; gUnknown_085B27C8[i].unk0; i++)
diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c
index 60b078982..e9a46bb86 100644
--- a/src/fldeff_groundshake.c
+++ b/src/fldeff_groundshake.c
@@ -1,10 +1,7 @@
#include "global.h"
-#include "global.fieldmap.h"
-#include "constants/flags.h"
-#include "constants/songs.h"
#include "event_data.h"
-#include "field_camera.h"
#include "event_object_movement.h"
+#include "field_camera.h"
#include "malloc.h"
#include "random.h"
#include "roulette_util.h"
@@ -12,6 +9,8 @@
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "constants/flags.h"
+#include "constants/songs.h"
// structures
struct Struct203CF18 {
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c
index 3b2d4988f..adec780b3 100644
--- a/src/fldeff_softboiled.c
+++ b/src/fldeff_softboiled.c
@@ -2,12 +2,12 @@
#include "menu.h"
#include "party_menu.h"
#include "pokemon.h"
-#include "constants/songs.h"
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
#include "strings.h"
#include "task.h"
+#include "constants/songs.h"
static void sub_816166C(u8 taskId);
static void sub_81616C0(u8 taskId);
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index 74eb100bc..f796ecea6 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -5,8 +5,10 @@
#include "party_menu.h"
#include "rom6.h"
#include "script.h"
+#include "string_util.h"
#include "task.h"
#include "constants/event_objects.h"
+#include "constants/field_effects.h"
// static functions
static void FldEff_UseStrength(void);
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index f592ed532..9951fe581 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -1,6 +1,4 @@
#include "global.h"
-#include "constants/rgb.h"
-#include "constants/songs.h"
#include "event_data.h"
#include "event_scripts.h"
#include "field_effect.h"
@@ -14,22 +12,25 @@
#include "sprite.h"
#include "task.h"
#include "wild_encounter.h"
+#include "constants/field_effects.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
-void hm2_sweet_scent(void);
-void sub_8159F5C(void);
-void sub_8159FEC(u8 taskId);
-void sub_815A090(u8 taskId);
+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)
{
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = hm2_sweet_scent;
+ gPostMenuFieldCallback = FieldCallback_SweetScent;
return TRUE;
}
-void hm2_sweet_scent(void)
+static void FieldCallback_SweetScent(void)
{
FieldEffectStart(FLDEFF_SWEET_SCENT);
gFieldEffectArguments[0] = GetCursorSelectionMonId();
@@ -41,12 +42,12 @@ bool8 FldEff_SweetScent(void)
sub_80AC3D0();
taskId = oei_task_add();
- gTasks[taskId].data[8] = (u32)sub_8159F5C >> 16;
- gTasks[taskId].data[9] = (u32)sub_8159F5C;
+ gTasks[taskId].data[8] = (u32)StartSweetScentFieldEffect >> 16;
+ gTasks[taskId].data[9] = (u32)StartSweetScentFieldEffect;
return FALSE;
}
-void sub_8159F5C(void)
+static void StartSweetScentFieldEffect(void)
{
u8 taskId;
@@ -54,12 +55,12 @@ void sub_8159F5C(void)
CpuFastSet(gPlttBufferUnfaded, gPaletteDecompressionBuffer, 0x100);
CpuFastSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x100);
BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, RGB_RED);
- taskId = CreateTask(sub_8159FEC, 0);
+ taskId = CreateTask(TrySweetScentEncounter, 0);
gTasks[taskId].data[0] = 0;
FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT);
}
-void sub_8159FEC(u8 taskId)
+static void TrySweetScentEncounter(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -74,7 +75,7 @@ void sub_8159FEC(u8 taskId)
}
else
{
- gTasks[taskId].func = sub_815A090;
+ gTasks[taskId].func = FailSweetScentEncounter;
BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, RGB_RED);
sub_81BE6B8();
}
@@ -86,7 +87,7 @@ void sub_8159FEC(u8 taskId)
}
}
-void sub_815A090(u8 taskId)
+static void FailSweetScentEncounter(u8 taskId)
{
if (!gPaletteFade.active)
{
diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c
index e82a26cd1..8562908bd 100644
--- a/src/fldeff_teleport.c
+++ b/src/fldeff_teleport.c
@@ -1,24 +1,27 @@
#include "global.h"
-#include "fldeff_teleport.h"
#include "field_effect.h"
#include "field_player_avatar.h"
#include "party_menu.h"
#include "overworld.h"
#include "rom6.h"
#include "task.h"
+#include "constants/field_effects.h"
+
+static void FieldCallback_Teleport(void);
+static void StartTeleportFieldEffect(void);
bool8 SetUpFieldMove_Teleport(void)
{
if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE)
{
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = hm_teleport_run_dp02scr;
+ gPostMenuFieldCallback = FieldCallback_Teleport;
return TRUE;
}
return FALSE;
}
-void hm_teleport_run_dp02scr(void)
+static void FieldCallback_Teleport(void)
{
Overworld_ResetStateAfterTeleport();
FieldEffectStart(FLDEFF_USE_TELEPORT);
@@ -28,16 +31,14 @@ void hm_teleport_run_dp02scr(void)
bool8 FldEff_UseTeleport(void)
{
u8 taskId = oei_task_add();
- gTasks[taskId].data[8] = (u32)sub_817C94C >> 16;
- gTasks[taskId].data[9] = (u32)sub_817C94C;
- SetPlayerAvatarTransitionFlags(1);
+ gTasks[taskId].data[8] = (u32)StartTeleportFieldEffect >> 16;
+ gTasks[taskId].data[9] = (u32)StartTeleportFieldEffect;
+ SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
return FALSE;
}
-void sub_817C94C(void)
+static void StartTeleportFieldEffect(void)
{
FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT);
CreateTeleportFieldEffectTask();
}
-
-
diff --git a/src/flying.c b/src/flying.c
new file mode 100644
index 000000000..d3ea3f11b
--- /dev/null
+++ b/src/flying.c
@@ -0,0 +1,328 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_810DE70(struct Sprite *);
+extern void sub_810DFA8(struct Sprite *);
+extern void sub_810E044(struct Sprite *);
+extern void sub_810E13C(struct Sprite *);
+extern void sub_810E1C8(struct Sprite *);
+extern void sub_810E314(struct Sprite *);
+extern void sub_810EA4C(struct Sprite *);
+extern void sub_810EAA0(struct Sprite *);
+extern void sub_810EC34(struct Sprite *);
+extern void sub_810EC94(struct Sprite *);
+extern void sub_810ED28(struct Sprite *);
+extern void sub_810EE14(struct Sprite *);
+extern void sub_810EEF8(struct Sprite *);
+extern void sub_810F004(struct Sprite *);
+extern void sub_810F084(struct Sprite *);
+
+const struct SpriteTemplate gUnknown_08596270 =
+{
+ .tileTag = ANIM_TAG_GUST,
+ .paletteTag = ANIM_TAG_GUST,
+ .oam = &gUnknown_0852495C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810DE70,
+};
+
+const union AffineAnimCmd gUnknown_08596288[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085962A0[] =
+{
+ gUnknown_08596288,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85962A4 =
+{
+ .tileTag = ANIM_TAG_GUST,
+ .paletteTag = ANIM_TAG_GUST,
+ .oam = &gUnknown_085249BC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085962A0,
+ .callback = sub_810DFA8,
+};
+
+const union AnimCmd gUnknown_085962BC[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085962D0[] =
+{
+ gUnknown_085962BC,
+};
+
+const struct SpriteTemplate gUnknown_085962D4 =
+{
+ .tileTag = ANIM_TAG_AIR_WAVE_2,
+ .paletteTag = ANIM_TAG_AIR_WAVE_2,
+ .oam = &gUnknown_08524934,
+ .anims = gUnknown_085962D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810E044,
+};
+
+const union AffineAnimCmd gUnknown_085962EC[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5),
+ AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596314[] =
+{
+ gUnknown_085962EC,
+};
+
+const union AffineAnimCmd gUnknown_08596318[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596328[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596338[] =
+{
+ gUnknown_08596318,
+ gUnknown_08596328,
+};
+
+const struct SpriteTemplate gUnknown_08596340 =
+{
+ .tileTag = ANIM_TAG_ROUND_SHADOW,
+ .paletteTag = ANIM_TAG_ROUND_SHADOW,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596314,
+ .callback = sub_810E13C,
+};
+
+const struct SpriteTemplate gUnknown_08596358 =
+{
+ .tileTag = ANIM_TAG_ROUND_SHADOW,
+ .paletteTag = ANIM_TAG_ROUND_SHADOW,
+ .oam = &gUnknown_0852497C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596338,
+ .callback = sub_810E1C8,
+};
+
+const union AnimCmd gUnknown_08596370[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596378[] =
+{
+ ANIMCMD_FRAME(16, 0, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596380[] =
+{
+ gUnknown_08596370,
+ gUnknown_08596378,
+};
+
+const struct SpriteTemplate gUnknown_08596388 =
+{
+ .tileTag = ANIM_TAG_WHITE_FEATHER,
+ .paletteTag = ANIM_TAG_WHITE_FEATHER,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_08596380,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810E314,
+};
+
+const struct SpriteTemplate gUnknown_085963A0 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810EA4C,
+};
+
+const union AnimCmd gUnknown_085963B8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_FRAME(8, 1, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085963D0[] =
+{
+ gUnknown_085963B8,
+};
+
+const struct SpriteTemplate gUnknown_085963D4 =
+{
+ .tileTag = ANIM_TAG_WHIRLWIND_LINES,
+ .paletteTag = ANIM_TAG_WHIRLWIND_LINES,
+ .oam = &gUnknown_08524934,
+ .anims = gUnknown_085963D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810EAA0,
+};
+
+const union AffineAnimCmd gUnknown_085963EC[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5),
+ AFFINEANIMCMD_FRAME(0xFFEC, 0x0, 0, 7),
+ AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, 0, 5),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859641C[] =
+{
+ gUnknown_085963EC,
+};
+
+const struct SpriteTemplate gUnknown_08596420 =
+{
+ .tileTag = ANIM_TAG_ROUND_SHADOW,
+ .paletteTag = ANIM_TAG_ROUND_SHADOW,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859641C,
+ .callback = sub_810EC34,
+};
+
+const union AffineAnimCmd gUnknown_08596438[] =
+{
+ AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596448[] =
+{
+ gUnknown_08596438,
+};
+
+const struct SpriteTemplate gUnknown_0859644C =
+{
+ .tileTag = ANIM_TAG_ROUND_SHADOW,
+ .paletteTag = ANIM_TAG_ROUND_SHADOW,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596448,
+ .callback = sub_810EC94,
+};
+
+const union AffineAnimCmd gUnknown_08596464[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5),
+ AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859648C[] =
+{
+ gUnknown_08596464,
+};
+
+const struct SpriteTemplate gUnknown_08596490 =
+{
+ .tileTag = ANIM_TAG_ROUND_SHADOW,
+ .paletteTag = ANIM_TAG_ROUND_SHADOW,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859648C,
+ .callback = sub_810ED28,
+};
+
+const union AffineAnimCmd gUnknown_085964A8[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12),
+ AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 11),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085964C8[] =
+{
+ gUnknown_085964A8,
+};
+
+const struct SpriteTemplate gUnknown_085964CC =
+{
+ .tileTag = ANIM_TAG_SPLASH,
+ .paletteTag = ANIM_TAG_SPLASH,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810EE14,
+};
+
+const struct SpriteTemplate gUnknown_085964E4 =
+{
+ .tileTag = ANIM_TAG_SWEAT_BEAD,
+ .paletteTag = ANIM_TAG_SWEAT_BEAD,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810EEF8,
+};
+
+const struct SpriteTemplate gUnknown_085964FC =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F004,
+};
+
+const struct SpriteTemplate gUnknown_08596514 =
+{
+ .tileTag = ANIM_TAG_BIRD,
+ .paletteTag = ANIM_TAG_BIRD,
+ .oam = &gUnknown_085249DC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F084,
+};
diff --git a/src/fossil_specials.c b/src/fossil_specials.c
index 49db0f5b6..8164a3a78 100644
--- a/src/fossil_specials.c
+++ b/src/fossil_specials.c
@@ -17,29 +17,32 @@
#include "task.h"
#include "window.h"
-#define MIRAGE_TOWER_GFX_LENGTH (sizeof(gUnknown_08617274) + sizeof(gMirageTower_Gfx))
+#define MIRAGE_TOWER_GFX_LENGTH (32 + sizeof(gMirageTower_Gfx))
#define MIRAGE_TOWER_PALETTE_LENGTH 0x800
#define ROOT_FOSSIL_GFX_LENGTH sizeof(gRootFossil_Gfx)
#define ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH 0x100
-//struct
-struct Struct8617DA4 {
+struct Struct8617DA4
+{
u8 x;
u8 y;
u16 tileId;
};
-struct Struct203CF10 {
+struct Struct203CF10
+{
u8 *buffer;
- u8 curr_buffer_index;
+ u8 currIndex;
};
-struct DynamicSpriteFrameImage{
+struct DynamicSpriteFrameImage
+{
u8 *data;
u16 size;
};
-struct Struct203CF0C {
+struct Struct203CF0C
+{
u8 *frameImageTiles;
struct DynamicSpriteFrameImage *frameImage;
u8 spriteId;
@@ -52,10 +55,10 @@ static void sub_81BED50(u8 taskId);
static void sub_81BEBF4(u8 taskId);
static void sub_81BF028(u8 taskId);
static void sub_81BF248(struct Sprite *);
-/*static*/ void sub_81BF2B8(u8* a, u16 b, u8 c, u8 d, u8 e);
+static void sub_81BF2B8(u8* a, u16 b, u8 c, u8 d, u8 e);
// .rodata
-static const u8 gUnknown_08617274[] = {00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00};
+static const u8 gUnknown_08617274[32] = {0};
static const u8 gMirageTower_Gfx[] = INCBIN_U8("graphics/misc/mirage_tower.4bpp");
static const u16 gUnknown_08617B94[] = INCBIN_U16("graphics/misc/mirage_tower.bin");
static const u16 gRootFossil_Pal[] = INCBIN_U16("graphics/misc/fossil.gbapal");
@@ -64,16 +67,16 @@ static const u8 gMirageTowerCrumbles_Gfx[] = INCBIN_U8("graphics/misc/mirage_tow
static const u16 gMirageTowerCrumbles_Palette[] = INCBIN_U16("graphics/misc/mirage_tower_crumbles.gbapal");
const s16 gUnknown_08617D64[][3] =
- {
- { 0, 10, 65},
- { 17, 3, 50},
- {-12, 0, 75},
- { 10, 15, 90},
- { 7, 8, 65},
- {-18, 5, 75},
- { 22, -10, 55},
- {-24, -4, 65},
- };
+{
+ { 0, 10, 65},
+ { 17, 3, 50},
+ {-12, 0, 75},
+ { 10, 15, 90},
+ { 7, 8, 65},
+ {-18, 5, 75},
+ { 22, -10, 55},
+ {-24, -4, 65},
+};
const struct SpriteSheet gUnknown_08617D94[] =
{
@@ -82,26 +85,26 @@ const struct SpriteSheet gUnknown_08617D94[] =
};
static const struct Struct8617DA4 gUnknown_08617DA4[] =
- {
- {0x12, 0x35, 0x251},
- {0x13, 0x35, 0x251},
- {0x14, 0x35, 0x251},
- {0x12, 0x36, 0x251},
- {0x13, 0x36, 0x251},
- {0x14, 0x36, 0x251},
- {0x12, 0x37, 0x251},
- {0x13, 0x37, 0x251},
- {0x14, 0x37, 0x251},
- {0x12, 0x38, 0x251},
- {0x13, 0x38, 0x251},
- {0x14, 0x38, 0x251},
- {0x12, 0x39, 0x259},
- {0x13, 0x39, 0x259},
- {0x14, 0x39, 0x259},
- {0x12, 0x3A, 0x121},
- {0x13, 0x3A, 0x121},
- {0x14, 0x3A, 0x121},
- };
+{
+ {0x12, 0x35, 0x251},
+ {0x13, 0x35, 0x251},
+ {0x14, 0x35, 0x251},
+ {0x12, 0x36, 0x251},
+ {0x13, 0x36, 0x251},
+ {0x14, 0x36, 0x251},
+ {0x12, 0x37, 0x251},
+ {0x13, 0x37, 0x251},
+ {0x14, 0x37, 0x251},
+ {0x12, 0x38, 0x251},
+ {0x13, 0x38, 0x251},
+ {0x14, 0x38, 0x251},
+ {0x12, 0x39, 0x259},
+ {0x13, 0x39, 0x259},
+ {0x14, 0x39, 0x259},
+ {0x12, 0x3A, 0x121},
+ {0x13, 0x3A, 0x121},
+ {0x14, 0x3A, 0x121},
+};
static const union AnimCmd gSpriteAnim_8617DEC[] =
{
@@ -131,67 +134,70 @@ static const union AnimCmd *const gSpriteAnimTable_8617DFC[] =
gSpriteAnim_8617DEC,
};
-static const struct SpriteTemplate gUnknown_08617E00 = {
+static const struct SpriteTemplate gUnknown_08617E00 =
+{
0xFFFF, 0xFFFF, &gOamData_8617DF4, gSpriteAnimTable_8617DFC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
};
-// ewram
-EWRAM_DATA u8* gUnknown_0203CF04 = NULL;
-EWRAM_DATA u8* gUnknown_0203CF08 = NULL;
-EWRAM_DATA struct Struct203CF0C *gUnknown_0203CF0C = NULL;
-EWRAM_DATA struct Struct203CF10 *gUnknown_0203CF10 = NULL;
-EWRAM_DATA u16 *gUnknown_0203CF14 = NULL;
+// EWRAM
+EWRAM_DATA static u8* sUnknown_0203CF04 = NULL;
+EWRAM_DATA static u8* sUnknown_0203CF08 = NULL;
+EWRAM_DATA static struct Struct203CF0C *sUnknown_0203CF0C = NULL;
+EWRAM_DATA static struct Struct203CF10 *sUnknown_0203CF10 = NULL;
+EWRAM_DATA static u16 *sUnknown_0203CF14 = NULL;
-// iwram
-IWRAM_DATA u16 gUnknown_030012A8[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+// IWRAM bss
+IWRAM_DATA static u16 gUnknown_030012A8[8];
// text
void sub_81BEB24(void)
{
u8 i;
- for(i = 0; i < (sizeof(gUnknown_08617DA4)/sizeof(gUnknown_08617DA4[0])); i++)
+ for (i = 0; i < (sizeof(gUnknown_08617DA4)/sizeof(gUnknown_08617DA4[0])); i++)
MapGridSetMetatileIdAt(gUnknown_08617DA4[i].x + 7, gUnknown_08617DA4[i].y + 7, gUnknown_08617DA4[i].tileId);
DrawWholeMapView();
}
void sub_81BEB54(void)
{
- CreateTask(sub_81BED50, 0x9);
+ CreateTask(sub_81BED50, 9);
}
void sub_81BEB68(void)
{
- CreateTask(sub_81BEBF4, 0x9);
+ CreateTask(sub_81BEBF4, 9);
}
void sub_81BEB7C(void)
{
- CreateTask(sub_81BF028, 0x9);
+ CreateTask(sub_81BF028, 9);
}
void sub_81BEB90(void)
{
- SetGpuReg(REG_OFFSET_BG0HOFS, gUnknown_0203CF14[0]);
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_0203CF14[1]);
+ SetGpuReg(REG_OFFSET_BG0HOFS, sUnknown_0203CF14[0]);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sUnknown_0203CF14[1]);
}
void sub_81BEBB4(u8 taskId)
{
- if(!(gTasks[taskId].data[0]))
+ if (!(gTasks[taskId].data[0]))
{
- gUnknown_0203CF14[0] = -gUnknown_0203CF14[0];
+ sUnknown_0203CF14[0] = -sUnknown_0203CF14[0];
gTasks[taskId].data[0] = 2;
sub_81BEB90();
}
else
+ {
gTasks[taskId].data[0]--;
+ }
}
static void sub_81BEBF4(u8 taskId)
{
u8 zero;
- switch(gTasks[taskId].data[0])
+ switch (gTasks[taskId].data[0])
{
case 0:
FreeAllWindowBuffers();
@@ -199,19 +205,19 @@ static void sub_81BEBF4(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 1:
- gUnknown_0203CF04 = (u8 *)AllocZeroed(MIRAGE_TOWER_GFX_LENGTH);
- gUnknown_0203CF08 = (u8 *)AllocZeroed(MIRAGE_TOWER_PALETTE_LENGTH);
+ sUnknown_0203CF04 = (u8 *)AllocZeroed(MIRAGE_TOWER_GFX_LENGTH);
+ sUnknown_0203CF08 = (u8 *)AllocZeroed(MIRAGE_TOWER_PALETTE_LENGTH);
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
gTasks[taskId].data[0]++;
break;
case 2:
- CpuSet(gUnknown_08617274, gUnknown_0203CF04, MIRAGE_TOWER_GFX_LENGTH / 2);
- LoadBgTiles(0, gUnknown_0203CF04, MIRAGE_TOWER_GFX_LENGTH, 0);
+ CpuSet(gUnknown_08617274, sUnknown_0203CF04, MIRAGE_TOWER_GFX_LENGTH / 2);
+ LoadBgTiles(0, sUnknown_0203CF04, MIRAGE_TOWER_GFX_LENGTH, 0);
gTasks[taskId].data[0]++;
break;
case 3:
- SetBgTilemapBuffer(0, gUnknown_0203CF08);
+ SetBgTilemapBuffer(0, sUnknown_0203CF08);
CopyToBgTilemapBufferRect_ChangePalette(0, &gUnknown_08617B94, 12, 29, 6, 12, 17);
CopyBgTilemapBufferToVram(0);
gTasks[taskId].data[0]++;
@@ -225,10 +231,10 @@ static void sub_81BEBF4(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 6:
- gUnknown_0203CF14 = (u16 *)Alloc(4);
+ sUnknown_0203CF14 = Alloc(4);
zero = 0;
- gUnknown_0203CF14[0] = 2;
- gUnknown_0203CF14[1] = zero;
+ sUnknown_0203CF14[0] = 2;
+ sUnknown_0203CF14[1] = zero;
CreateTask(sub_81BEBB4, 0xA);
DestroyTask(taskId);
EnableBothScriptContexts();
@@ -236,86 +242,76 @@ static void sub_81BEBF4(u8 taskId)
}
}
-#ifdef NONMATCHING
#define OUTER_BUFFER_LENGTH 0x60
#define INNER_BUFFER_LENGTH 0x30
static void sub_81BED50(u8 taskId)
{
u8 anotherTaskId, j;
+ u16 i;
+ u8 index;
-
- switch(gTasks[taskId].data[0])
+ switch (gTasks[taskId].data[0])
{
case 1:
- gUnknown_0203CF10 = (struct Struct203CF10 *)AllocZeroed(OUTER_BUFFER_LENGTH * sizeof(struct Struct203CF10));
+ sUnknown_0203CF10 = AllocZeroed(OUTER_BUFFER_LENGTH * sizeof(struct Struct203CF10));
break;
case 3:
+ if (gTasks[taskId].data[3] <= (OUTER_BUFFER_LENGTH - 1))
{
- u16 i;
- u16 left;
- u32 index, next;
-
- index = (u16)gTasks[taskId].data[3];
- if(gTasks[taskId].data[3] <= (OUTER_BUFFER_LENGTH - 1))
+ if (gTasks[taskId].data[1] > 1)
{
- if(gTasks[taskId].data[1] > 1)
+ index = gTasks[taskId].data[3];
+ sUnknown_0203CF10[index].buffer = Alloc(INNER_BUFFER_LENGTH);
+ for (i = 0; i <= (INNER_BUFFER_LENGTH - 1); i++)
+ sUnknown_0203CF10[index].buffer[i] = i;
+ for (i = 0; i <= (INNER_BUFFER_LENGTH - 1); i++)
{
- index = (u8)index;
- gUnknown_0203CF10[index].buffer = (u8 *)Alloc(INNER_BUFFER_LENGTH);
- for(i = 0; i <= (INNER_BUFFER_LENGTH - 1); i++)
- gUnknown_0203CF10[index].buffer[i] = i;
- for(i = 0; i <= (INNER_BUFFER_LENGTH - 1); i++)
- {
- u16 rand1, rand2, temp;
-
- rand1 = Random() % 0x30;
- rand2 = Random() % 0x30;
- temp = gUnknown_0203CF10[index].buffer[rand2];
- gUnknown_0203CF10[index].buffer[rand2] = gUnknown_0203CF10[index].buffer[rand1];
- gUnknown_0203CF10[index].buffer[rand1] = temp;
- }
- if(gTasks[taskId].data[3] <= (OUTER_BUFFER_LENGTH - 1))
- gTasks[taskId].data[3]++;
- gTasks[taskId].data[1] = 0;
+ u16 rand1, rand2, temp;
+
+ rand1 = Random() % 0x30;
+ rand2 = Random() % 0x30;
+ SWAP(sUnknown_0203CF10[index].buffer[rand2], sUnknown_0203CF10[index].buffer[rand1], temp);
}
- gTasks[taskId].data[1]++;
+ if (gTasks[taskId].data[3] <= (OUTER_BUFFER_LENGTH - 1))
+ gTasks[taskId].data[3]++;
+ gTasks[taskId].data[1] = 0;
}
- index = (u8)gTasks[taskId].data[3];
- for(left = (u8)gTasks[taskId].data[2]; left < (u16)index; left = next)
+ gTasks[taskId].data[1]++;
+ }
+ index = gTasks[taskId].data[3];
+ for (i = (u8)(gTasks[taskId].data[2]); i < index; i++)
+ {
+ for (j = 0; j < 1; j++)
{
- j = 0;
- next = left + 1;
- while(!j)
- {
- sub_81BF2B8(gUnknown_0203CF04, ((((OUTER_BUFFER_LENGTH - 1) - left) * INNER_BUFFER_LENGTH) + gUnknown_0203CF10[left].buffer[(gUnknown_0203CF10[left].curr_buffer_index)++]), 0, INNER_BUFFER_LENGTH, 1);
- j++;
- }
- if(gUnknown_0203CF10[left].curr_buffer_index > (INNER_BUFFER_LENGTH - 1))
- {
- FREE_AND_SET_NULL(gUnknown_0203CF10[left].buffer);
- gTasks[taskId].data[2]++;
- if((left % 2) == 1)
- gUnknown_0203CF14[1]--;
- }
+ sub_81BF2B8(sUnknown_0203CF04,
+ ((((OUTER_BUFFER_LENGTH - 1) - i) * INNER_BUFFER_LENGTH) + sUnknown_0203CF10[i].buffer[(sUnknown_0203CF10[i].currIndex)++]),
+ 0, INNER_BUFFER_LENGTH, 1);
+ }
+ if (sUnknown_0203CF10[i].currIndex > (INNER_BUFFER_LENGTH - 1))
+ {
+ FREE_AND_SET_NULL(sUnknown_0203CF10[i].buffer);
+ gTasks[taskId].data[2]++;
+ if ((i % 2) == 1)
+ sUnknown_0203CF14[1]--;
}
- LoadBgTiles(0, gUnknown_0203CF04, MIRAGE_TOWER_GFX_LENGTH, 0);
- if(gUnknown_0203CF10[OUTER_BUFFER_LENGTH - 1].curr_buffer_index > (INNER_BUFFER_LENGTH - 1))
- break;
- return;
}
+ LoadBgTiles(0, sUnknown_0203CF04, MIRAGE_TOWER_GFX_LENGTH, 0);
+ if (sUnknown_0203CF10[OUTER_BUFFER_LENGTH - 1].currIndex > (INNER_BUFFER_LENGTH - 1))
+ break;
+ return;
case 4:
UnsetBgTilemapBuffer(0);
anotherTaskId = FindTaskIdByFunc(sub_81BEBB4);
- if(anotherTaskId != 0xFF)
+ if (anotherTaskId != 0xFF)
DestroyTask(anotherTaskId);
- gUnknown_0203CF14[1] = gUnknown_0203CF14[0] = 0;
+ sUnknown_0203CF14[1] = sUnknown_0203CF14[0] = 0;
sub_81BEB90();
break;
case 5:
- FREE_AND_SET_NULL(gUnknown_0203CF14);
- FREE_AND_SET_NULL(gUnknown_0203CF10);
- FREE_AND_SET_NULL(gUnknown_0203CF04);
- FREE_AND_SET_NULL(gUnknown_0203CF08);
+ FREE_AND_SET_NULL(sUnknown_0203CF14);
+ FREE_AND_SET_NULL(sUnknown_0203CF10);
+ FREE_AND_SET_NULL(sUnknown_0203CF04);
+ FREE_AND_SET_NULL(sUnknown_0203CF08);
break;
case 6:
SetGpuRegBits(REG_OFFSET_BG2CNT, 0x2);
@@ -334,423 +330,75 @@ static void sub_81BED50(u8 taskId)
gTasks[taskId].data[0]++;
}
-#else
-NAKED
-static void sub_81BED50(u8 taskId)
-{
- asm("\n\
- .syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x10\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r10, r0\n\
- ldr r1, =gTasks\n\
- lsls r0, 2\n\
- add r0, r10\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- ldrh r0, [r0, 0x8]\n\
- subs r0, 0x1\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- adds r6, r1, 0\n\
- cmp r0, 0x7\n\
- bls _081BED7C\n\
- b _081BF002\n\
- _081BED7C:\n\
- lsls r0, 2\n\
- ldr r1, =_081BED90\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
- _081BED90:\n\
- .4byte _081BEDB0\n\
- .4byte _081BF002\n\
- .4byte _081BEDC4\n\
- .4byte _081BEF64\n\
- .4byte _081BEF94\n\
- .4byte _081BEFD0\n\
- .4byte _081BEFF0\n\
- .4byte _081BEFF8\n\
- _081BEDB0:\n\
- ldr r4, =gUnknown_0203CF10\n\
- movs r0, 0xC0\n\
- lsls r0, 2\n\
- bl AllocZeroed\n\
- str r0, [r4]\n\
- b _081BF002\n\
- .pool\n\
- _081BEDC4:\n\
- mov r1, r10\n\
- lsls r0, r1, 2\n\
- adds r1, r0, r1\n\
- lsls r1, 3\n\
- adds r2, r1, r6\n\
- ldrh r3, [r2, 0xE]\n\
- movs r4, 0xE\n\
- ldrsh r1, [r2, r4]\n\
- str r0, [sp, 0x8]\n\
- cmp r1, 0x5F\n\
- bgt _081BEE8A\n\
- movs r1, 0xA\n\
- ldrsh r0, [r2, r1]\n\
- cmp r0, 0x1\n\
- ble _081BEE7C\n\
- lsls r0, r3, 24\n\
- lsrs r4, r0, 24\n\
- movs r0, 0x30\n\
- bl Alloc\n\
- ldr r3, =gUnknown_0203CF10\n\
- ldr r1, [r3]\n\
- lsls r2, r4, 3\n\
- adds r1, r2, r1\n\
- str r0, [r1]\n\
- movs r5, 0\n\
- adds r4, r2, 0\n\
- _081BEDFA:\n\
- ldr r0, [r3]\n\
- adds r0, r4, r0\n\
- ldr r0, [r0]\n\
- adds r0, r5\n\
- strb r5, [r0]\n\
- adds r0, r5, 0x1\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- cmp r5, 0x2F\n\
- bls _081BEDFA\n\
- movs r5, 0\n\
- ldr r7, =gUnknown_0203CF10\n\
- adds r6, r2, 0\n\
- _081BEE14:\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x30\n\
- bl __umodsi3\n\
- adds r4, r0, 0\n\
- lsls r4, 16\n\
- lsrs r4, 16\n\
- bl Random\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- movs r1, 0x30\n\
- bl __umodsi3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- ldr r1, [r7]\n\
- adds r1, r6, r1\n\
- ldr r1, [r1]\n\
- adds r0, r1, r0\n\
- ldrb r2, [r0]\n\
- adds r1, r4 \n\
- ldrb r1, [r1]\n\
- strb r1, [r0]\n\
- ldr r0, [r7]\n\
- adds r0, r6, r0\n\
- ldr r0, [r0]\n\
- adds r0, r4\n\
- strb r2, [r0]\n\
- adds r0, r5, 0x1\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- cmp r5, 0x2F\n\
- bls _081BEE14\n\
- ldr r0, =gTasks\n\
- ldr r1, [sp, 0x8]\n\
- add r1, r10\n\
- lsls r1, 3\n\
- adds r2, r1, r0\n\
- ldrh r3, [r2, 0xE]\n\
- movs r4, 0xE\n\
- ldrsh r1, [r2, r4]\n\
- adds r6, r0, 0\n\
- cmp r1, 0x5F\n\
- bgt _081BEE78\n\
- adds r0, r3, 0x1\n\
- strh r0, [r2, 0xE]\n\
- _081BEE78:\n\
- movs r0, 0\n\
- strh r0, [r2, 0xA]\n\
- _081BEE7C:\n\
- ldr r1, [sp, 0x8]\n\
- add r1, r10\n\
- lsls r1, 3\n\
- adds r1, r6\n\
- ldrh r0, [r1, 0xA]\n\
- adds r0, 0x1\n\
- strh r0, [r1, 0xA]\n\
- _081BEE8A:\n\
- ldr r0, [sp, 0x8]\n\
- add r0, r10\n\
- lsls r0, 3\n\
- adds r0, r6\n\
- ldrb r4, [r0, 0xE]\n\
- ldrb r5, [r0, 0xC]\n\
- lsls r0, r4, 16\n\
- cmp r5, r4\n\
- bcs _081BEF32\n\
- str r0, [sp, 0xC]\n\
- _081BEE9E:\n\
- movs r6, 0\n\
- adds r0, r5, 0x1\n\
- str r0, [sp, 0x4]\n\
- lsls r4, r5, 3\n\
- movs r2, 0x5F\n\
- subs r1, r2, r5\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 4\n\
- mov r9, r0\n\
- _081BEEB2:\n\
- ldr r0, =gUnknown_0203CF04\n\
- ldr r0, [r0]\n\
- ldr r7, =gUnknown_0203CF10\n\
- ldr r3, [r7]\n\
- adds r3, r4, r3\n\
- ldrb r2, [r3, 0x4]\n\
- adds r1, r2, 0x1\n\
- strb r1, [r3, 0x4]\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- ldr r1, [r3]\n\
- adds r1, r2\n\
- ldrb r1, [r1]\n\
- add r1, r9\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- movs r2, 0x1\n\
- mov r8, r2\n\
- str r2, [sp]\n\
- movs r2, 0\n\
- movs r3, 0x30\n\
- bl sub_81BF2B8\n\
- adds r0, r6, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- cmp r6, 0\n\
- beq _081BEEB2\n\
- ldr r0, [r7]\n\
- adds r1, r4, r0\n\
- ldrb r0, [r1, 0x4]\n\
- cmp r0, 0x2F\n\
- bls _081BEF24\n\
- ldr r0, [r1]\n\
- bl Free\n\
- ldr r0, [r7]\n\
- adds r0, r4, r0\n\
- movs r1, 0\n\
- str r1, [r0]\n\
- ldr r1, [sp, 0x8]\n\
- add r1, r10\n\
- lsls r1, 3\n\
- ldr r4, =gTasks\n\
- adds r1, r4\n\
- ldrh r0, [r1, 0xC]\n\
- adds r0, 0x1\n\
- strh r0, [r1, 0xC]\n\
- mov r0, r8\n\
- ands r5, r0\n\
- cmp r5, 0x1\n\
- bne _081BEF24\n\
- ldr r0, =gUnknown_0203CF14\n\
- ldr r1, [r0]\n\
- ldrh r0, [r1, 0x2]\n\
- subs r0, 0x1\n\
- strh r0, [r1, 0x2]\n\
- _081BEF24:\n\
- ldr r1, [sp, 0x4]\n\
- lsls r0, r1, 16\n\
- lsrs r5, r0, 16\n\
- ldr r2, [sp, 0xC]\n\
- lsrs r0, r2, 16\n\
- cmp r5, r0\n\
- bcc _081BEE9E\n\
- _081BEF32:\n\
- ldr r0, =gUnknown_0203CF04\n\
- ldr r1, [r0]\n\
- movs r2, 0x92\n\
- lsls r2, 4\n\
- movs r0, 0\n\
- movs r3, 0\n\
- bl LoadBgTiles\n\
- ldr r0, =gUnknown_0203CF10\n\
- ldr r0, [r0]\n\
- movs r4, 0xBE\n\
- lsls r4, 2\n\
- adds r0, r4\n\
- ldrb r0, [r0, 0x4]\n\
- cmp r0, 0x2F\n\
- bhi _081BF002\n\
- b _081BF014\n\
- .pool\n\
- _081BEF64:\n\
- movs r0, 0\n\
- bl UnsetBgTilemapBuffer\n\
- ldr r0, =sub_81BEBB4\n\
- bl FindTaskIdByFunc\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0xFF\n\
- beq _081BEF7C\n\
- bl DestroyTask\n\
- _081BEF7C:\n\
- ldr r0, =gUnknown_0203CF14\n\
- ldr r1, [r0]\n\
- movs r0, 0\n\
- strh r0, [r1]\n\
- strh r0, [r1, 0x2]\n\
- bl sub_81BEB90\n\
- b _081BF002\n\
- .pool\n\
- _081BEF94:\n\
- ldr r4, =gUnknown_0203CF14\n\
- ldr r0, [r4]\n\
- bl Free\n\
- movs r5, 0\n\
- str r5, [r4]\n\
- ldr r4, =gUnknown_0203CF10\n\
- ldr r0, [r4]\n\
- bl Free\n\
- str r5, [r4]\n\
- ldr r4, =gUnknown_0203CF04\n\
- ldr r0, [r4]\n\
- bl Free\n\
- str r5, [r4]\n\
- ldr r4, =gUnknown_0203CF08\n\
- ldr r0, [r4]\n\
- bl Free\n\
- str r5, [r4]\n\
- b _081BF002\n\
- .pool\n\
- _081BEFD0:\n\
- movs r0, 0xC\n\
- movs r1, 0x2\n\
- bl SetGpuRegBits\n\
- movs r0, 0x8\n\
- movs r1, 0\n\
- bl SetGpuRegBits\n\
- movs r0, 0\n\
- movs r1, 0x7\n\
- movs r2, 0\n\
- bl SetBgAttribute\n\
- bl sub_81971D0\n\
- b _081BF002\n\
- _081BEFF0:\n\
- movs r0, 0\n\
- bl ShowBg\n\
- b _081BF002\n\
- _081BEFF8:\n\
- mov r0, r10\n\
- bl DestroyTask\n\
- bl EnableBothScriptContexts\n\
- _081BF002:\n\
- ldr r0, =gTasks\n\
- mov r2, r10\n\
- lsls r1, r2, 2\n\
- add r1, r10\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldrh r0, [r1, 0x8]\n\
- adds r0, 0x1\n\
- strh r0, [r1, 0x8]\n\
- _081BF014:\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\
- .syntax divided");
-}
-#endif // NONMATCHING
-
static void sub_81BF028(u8 taskId)
{
u16 i;
+ u8 *buffer;
- switch(gTasks[taskId].data[0])
+ switch (gTasks[taskId].data[0])
{
case 1:
- gUnknown_0203CF0C = (struct Struct203CF0C *)AllocZeroed(sizeof(struct Struct203CF0C));
- gUnknown_0203CF0C->frameImageTiles = (u8 *)AllocZeroed(ROOT_FOSSIL_GFX_LENGTH);
- gUnknown_0203CF0C->frameImage = (struct DynamicSpriteFrameImage *) AllocZeroed(sizeof(struct DynamicSpriteFrameImage));
- gUnknown_0203CF0C->unkC = (u16 *)AllocZeroed(ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH * sizeof(u16));
- gUnknown_0203CF0C->unk10 = 0;
+ sUnknown_0203CF0C = AllocZeroed(sizeof(*sUnknown_0203CF0C));
+ sUnknown_0203CF0C->frameImageTiles = AllocZeroed(ROOT_FOSSIL_GFX_LENGTH);
+ sUnknown_0203CF0C->frameImage = AllocZeroed(sizeof(*sUnknown_0203CF0C->frameImage));
+ sUnknown_0203CF0C->unkC = AllocZeroed(ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH * sizeof(u16));
+ sUnknown_0203CF0C->unk10 = 0;
break;
case 2:
- {
- u8 *buffer;
- buffer = gUnknown_0203CF0C->frameImageTiles;
- for(i = 0; i < ROOT_FOSSIL_GFX_LENGTH; i++, buffer++)
- *buffer = gRootFossil_Gfx[i];
- }
+ buffer = sUnknown_0203CF0C->frameImageTiles;
+ for (i = 0; i < ROOT_FOSSIL_GFX_LENGTH; i++, buffer++)
+ *buffer = gRootFossil_Gfx[i];
break;
case 3:
- gUnknown_0203CF0C->frameImage->data = gUnknown_0203CF0C->frameImageTiles;
- gUnknown_0203CF0C->frameImage->size = ROOT_FOSSIL_GFX_LENGTH;
+ sUnknown_0203CF0C->frameImage->data = sUnknown_0203CF0C->frameImageTiles;
+ sUnknown_0203CF0C->frameImage->size = ROOT_FOSSIL_GFX_LENGTH;
break;
case 4:
{
- u8 spriteId, zero;
struct SpriteTemplate fossilTemplate;
fossilTemplate = gUnknown_08617E00;
- fossilTemplate.images = (struct SpriteFrameImage *)(gUnknown_0203CF0C->frameImage);
- spriteId = CreateSprite(&fossilTemplate, 128, -16, 1);
- gUnknown_0203CF0C->spriteId = spriteId;
- zero = 0;
- gSprites[gUnknown_0203CF0C->spriteId].centerToCornerVecX = zero;
- gSprites[gUnknown_0203CF0C->spriteId].data[0] = gSprites[gUnknown_0203CF0C->spriteId].pos1.x;
- gSprites[gUnknown_0203CF0C->spriteId].data[1] = 1;
+ fossilTemplate.images = (struct SpriteFrameImage *)(sUnknown_0203CF0C->frameImage);
+ sUnknown_0203CF0C->spriteId = CreateSprite(&fossilTemplate, 128, -16, 1);
+ gSprites[sUnknown_0203CF0C->spriteId].centerToCornerVecX = 0;
+ gSprites[sUnknown_0203CF0C->spriteId].data[0] = gSprites[sUnknown_0203CF0C->spriteId].pos1.x;
+ gSprites[sUnknown_0203CF0C->spriteId].data[1] = 1;
}
case 5:
- for(i = 0; i < ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH; i++)
- gUnknown_0203CF0C->unkC[i] = i;
+ for (i = 0; i < ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH; i++)
+ sUnknown_0203CF0C->unkC[i] = i;
break;
case 6:
+ for (i = 0; i < (ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH * sizeof(u16)); i++)
{
- u16 rand1, rand2, temp, j;
- j = (ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH * sizeof(u16)) - 1;
- for(i = 0; i <= j; i++)
- {
- rand1 = Random() % 0x100;
- rand2 = Random() % 0x100;
- j = (ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH * sizeof(u16)) - 1;
- temp = gUnknown_0203CF0C->unkC[rand2];
- gUnknown_0203CF0C->unkC[rand2] = gUnknown_0203CF0C->unkC[rand1];
- gUnknown_0203CF0C->unkC[rand1] = temp;
- }
- gSprites[gUnknown_0203CF0C->spriteId].callback = sub_81BF248;
- break;
+ u16 rand1, rand2, temp;
+
+ rand1 = Random() % 0x100;
+ rand2 = Random() % 0x100;
+ SWAP(sUnknown_0203CF0C->unkC[rand2], sUnknown_0203CF0C->unkC[rand1], temp);
}
+ gSprites[sUnknown_0203CF0C->spriteId].callback = sub_81BF248;
+ break;
case 7:
- if(gSprites[gUnknown_0203CF0C->spriteId].callback != SpriteCallbackDummy)
+ if (gSprites[sUnknown_0203CF0C->spriteId].callback != SpriteCallbackDummy)
return;
- DestroySprite(&gSprites[gUnknown_0203CF0C->spriteId]);
- FREE_AND_SET_NULL(gUnknown_0203CF0C->unkC);;
- FREE_AND_SET_NULL(gUnknown_0203CF0C->frameImage);
- FREE_AND_SET_NULL(gUnknown_0203CF0C->frameImageTiles);
- FREE_AND_SET_NULL(gUnknown_0203CF0C);
+ DestroySprite(&gSprites[sUnknown_0203CF0C->spriteId]);
+ FREE_AND_SET_NULL(sUnknown_0203CF0C->unkC);;
+ FREE_AND_SET_NULL(sUnknown_0203CF0C->frameImage);
+ FREE_AND_SET_NULL(sUnknown_0203CF0C->frameImageTiles);
+ FREE_AND_SET_NULL(sUnknown_0203CF0C);
break;
case 8:
EnableBothScriptContexts();
+ break;
}
- ++gTasks[taskId].data[0];
+
+ gTasks[taskId].data[0]++;
}
static void sub_81BF248(struct Sprite *sprite)
{
- if (gUnknown_0203CF0C->unk10 >= (ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH))
+ if (sUnknown_0203CF0C->unk10 >= (ROOT_FOSSIL_GFX_RANDOMIZER_LENGTH))
{
sprite->callback = SpriteCallbackDummy;
}
@@ -759,7 +407,7 @@ static void sub_81BF248(struct Sprite *sprite)
u8 i;
for (i = 0; i < 2; i++)
{
- sub_81BF2B8(gUnknown_0203CF0C->frameImageTiles, gUnknown_0203CF0C->unkC[gUnknown_0203CF0C->unk10++], 0, 16, 0);
+ sub_81BF2B8(sUnknown_0203CF0C->frameImageTiles, sUnknown_0203CF0C->unkC[sUnknown_0203CF0C->unk10++], 0, 16, 0);
}
StartSpriteAnim(sprite, 0);
}
@@ -768,3 +416,146 @@ static void sub_81BF248(struct Sprite *sprite)
sprite->pos1.y++;
}
}
+
+#ifdef NONMATCHING
+static void sub_81BF2B8(u8* a, u16 b, u8 c, u8 d, u8 e)
+{
+ u8 r5, r4, r0, r2;
+ u16 var;
+
+ r4 = r5 = b / d;
+ gUnknown_030012A8[0] = r4;
+
+ r0 = r2 = b % d;
+ gUnknown_030012A8[1] = r2;
+
+ r4 &= 7;
+ r2 &= 7;
+ gUnknown_030012A8[2] = r4;
+ gUnknown_030012A8[3] = r2;
+
+ r0 /= 8;
+ r5 /= 8;
+ gUnknown_030012A8[4] = r0;
+ gUnknown_030012A8[5] = r5;
+
+ var = ((d / 8) * (r5 * 64)) + (r0 * 64);
+ gUnknown_030012A8[6] = var;
+
+ var += (r4 * 8) + r2;
+ gUnknown_030012A8[7] = var;
+
+ // This part is non-matching. 99% sure it IS functionally equivalent, though.
+ b = (b & 1) ^ 1;
+ c = (c << ((b) << 2)) | (15 << ((b ^ 1) << 2));
+
+ a[(var / 2) + (e * 32)] &= c;
+}
+
+#else
+NAKED
+static void sub_81BF2B8(u8* a, u16 b, u8 c, u8 d, u8 e)
+{
+ 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, 0x8\n\
+ str r0, [sp]\n\
+ mov r10, r1\n\
+ adds r6, r2, 0\n\
+ mov r8, r3\n\
+ ldr r0, [sp, 0x28]\n\
+ mov r9, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ mov r10, r1\n\
+ lsls r6, 24\n\
+ lsrs r6, 24\n\
+ mov r0, r8\n\
+ lsls r0, 24\n\
+ mov r8, r0\n\
+ lsrs r7, r0, 24\n\
+ mov r1, r9\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ mov r9, r1\n\
+ mov r0, r10\n\
+ adds r1, r7, 0\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ lsls r5, 24\n\
+ lsrs r4, r5, 24\n\
+ ldr r3, =gUnknown_030012A8\n\
+ strh r4, [r3]\n\
+ mov r0, r10\n\
+ adds r1, r7, 0\n\
+ str r3, [sp, 0x4]\n\
+ bl __modsi3\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r3, [sp, 0x4]\n\
+ strh r2, [r3, 0x2]\n\
+ movs r1, 0x7\n\
+ ands r4, r1\n\
+ ands r2, r1\n\
+ strh r4, [r3, 0x4]\n\
+ strh r2, [r3, 0x6]\n\
+ lsrs r0, 27\n\
+ lsrs r5, 27\n\
+ strh r0, [r3, 0x8]\n\
+ strh r5, [r3, 0xA]\n\
+ mov r1, r8\n\
+ lsrs r1, 27\n\
+ lsls r1, 6\n\
+ mov r8, r1\n\
+ mov r1, r8\n\
+ muls r1, r5\n\
+ lsls r0, 6\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ strh r1, [r3, 0xC]\n\
+ lsls r4, 3\n\
+ adds r4, r2\n\
+ adds r1, r4\n\
+ lsls r4, r1, 16\n\
+ lsrs r4, 17\n\
+ strh r1, [r3, 0xE]\n\
+ movs r1, 0x1\n\
+ mov r0, r10\n\
+ ands r1, r0\n\
+ movs r2, 0x1\n\
+ eors r1, r2\n\
+ lsls r0, r1, 2\n\
+ lsls r6, r0\n\
+ eors r1, r2\n\
+ lsls r1, 2\n\
+ movs r0, 0xF\n\
+ lsls r0, r1\n\
+ orrs r6, r0\n\
+ lsls r6, 24\n\
+ lsrs r6, 24\n\
+ mov r1, r9\n\
+ lsls r1, 5\n\
+ mov r9, r1\n\
+ add r9, r4\n\
+ ldr r1, [sp]\n\
+ add r1, r9\n\
+ ldrb r0, [r1]\n\
+ ands r6, r0\n\
+ strb r6, [r1]\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 {r0}\n\
+ bx r0\n\
+ .pool\n\
+ ");
+}
+#endif // NONMATCHING
diff --git a/src/frontier_util.c b/src/frontier_util.c
new file mode 100644
index 000000000..5af7b3db7
--- /dev/null
+++ b/src/frontier_util.c
@@ -0,0 +1,2847 @@
+#include "global.h"
+#include "frontier_util.h"
+#include "event_data.h"
+#include "battle_setup.h"
+#include "overworld.h"
+#include "random.h"
+#include "battle_tower.h"
+#include "field_specials.h"
+#include "battle.h"
+#include "script_pokemon_util_80F87D8.h"
+#include "main.h"
+#include "window.h"
+#include "menu.h"
+#include "text.h"
+#include "battle_records.h"
+#include "international_string_util.h"
+#include "string_util.h"
+#include "new_game.h"
+#include "link.h"
+#include "tv.h"
+#include "apprentice.h"
+#include "pokedex.h"
+#include "recorded_battle.h"
+#include "data2.h"
+#include "record_mixing.h"
+#include "strings.h"
+#include "malloc.h"
+#include "save.h"
+#include "load_save.h"
+#include "battle_dome.h"
+#include "constants/battle_frontier.h"
+#include "constants/trainers.h"
+#include "constants/species.h"
+#include "constants/game_stat.h"
+#include "constants/moves.h"
+#include "constants/items.h"
+#include "constants/event_objects.h"
+
+extern u8 gSelectedOrderFromParty[];
+
+struct FrontierBrainMon
+{
+ u16 species;
+ u16 heldItem;
+ u8 fixedIV;
+ u8 nature;
+ u8 evs[NUM_STATS];
+ u16 moves[4];
+};
+
+extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
+
+extern void sub_81B8558(void);
+
+// This file's functions.
+static void sub_81A17A0(void);
+static void sub_81A1830(void);
+static void sub_81A1968(void);
+static void sub_81A1AD4(void);
+static void DoSoftReset_(void);
+static void sub_81A1B28(void);
+static void sub_81A1B38(void);
+static void ShowFacilityResultsWindow(void);
+static void sub_81A31FC(void);
+static void sub_81A35EC(void);
+static void sub_81A3B00(void);
+static void sub_81A3B64(void);
+static void sub_81A3D30(void);
+static void sub_81A3D58(void);
+static void sub_81A3DA0(void);
+static void sub_81A3FD4(void);
+static void sub_81A4224(void);
+static void sub_81A4230(void);
+static void sub_81A43A8(void);
+static void sub_81A4410(void);
+static void sub_81A443C(void);
+static void sub_81A447C(void);
+static void sub_81A457C(void);
+static void ShowTowerResultsWindow(u8);
+static void ShowDomeResultsWindow(u8);
+static void ShowPalaceResultsWindow(u8);
+static void ShowPikeResultsWindow(void);
+static void ShowFactoryResultsWindow(u8);
+static void ShowArenaResultsWindow(void);
+static void ShowPyramidResultsWindow(void);
+static void ShowLinkContestResultsWindow(void);
+static void CopyFrontierBrainText(bool8 playerWonText);
+
+// const rom data
+static const u8 gUnknown_08611550[][4] =
+{
+ [FRONTIER_FACILITY_TOWER] = {0x23, 0x46, 0x23, 0x01},
+ [FRONTIER_FACILITY_DOME] = {0x04, 0x09, 0x05, 0x00},
+ [FRONTIER_FACILITY_PALACE] = {0x15, 0x2a, 0x15, 0x01},
+ [FRONTIER_FACILITY_ARENA] = {0x1c, 0x38, 0x1c, 0x01},
+ [FRONTIER_FACILITY_FACTORY] = {0x15, 0x2a, 0x15, 0x01},
+ [FRONTIER_FACILITY_PIKE] = {0x1c, 0x8c, 0x38, 0x01},
+ [FRONTIER_FACILITY_PYRAMID] = {0x15, 0x46, 0x23, 0x00},
+};
+
+static const struct FrontierBrainMon sFrontierBrainsMons[][2][3] =
+{
+ [FRONTIER_FACILITY_TOWER] =
+ {
+ // Silver Symbol.
+ {
+ {
+ .species = SPECIES_ALAKAZAM,
+ .heldItem = ITEM_BRIGHT_POWDER,
+ .fixedIV = 24,
+ .nature = 15,
+ .evs = {106, 0, 152, 152, 100, 0},
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_DISABLE},
+ },
+ {
+ .species = SPECIES_ENTEI,
+ .heldItem = ITEM_LUM_BERRY,
+ .fixedIV = 24,
+ .nature = 1,
+ .evs = {100, 152, 152, 0, 100, 6},
+ .moves = {MOVE_FIRE_BLAST, MOVE_CALM_MIND, MOVE_RETURN, MOVE_ROAR},
+ },
+ {
+ .species = SPECIES_SNORLAX,
+ .heldItem = ITEM_QUICK_CLAW,
+ .fixedIV = 24,
+ .nature = 3,
+ .evs = {152, 152, 0, 0, 106, 100},
+ .moves = {MOVE_BODY_SLAM, MOVE_BELLY_DRUM, MOVE_YAWN, MOVE_SHADOW_BALL},
+ },
+ },
+ // Gold Symbol.
+ {
+ {
+ .species = SPECIES_RAIKOU,
+ .heldItem = ITEM_LUM_BERRY,
+ .fixedIV = 31,
+ .nature = 15,
+ .evs = {158, 0, 252, 100, 0, 0},
+ .moves = {MOVE_THUNDERBOLT, MOVE_CALM_MIND, MOVE_REFLECT, MOVE_REST},
+ },
+ {
+ .species = SPECIES_LATIOS,
+ .heldItem = ITEM_BRIGHT_POWDER,
+ .fixedIV = 31,
+ .nature = 15,
+ .evs = {252, 0, 252, 6, 0, 0},
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_RECOVER, MOVE_DRAGON_CLAW},
+ },
+ {
+ .species = SPECIES_SNORLAX,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .fixedIV = 31,
+ .nature = 3,
+ .evs = {252, 252, 0, 0, 6, 0},
+ .moves = {MOVE_CURSE, MOVE_RETURN, MOVE_REST, MOVE_SHADOW_BALL},
+ },
+ },
+ },
+ [FRONTIER_FACILITY_DOME] =
+ {
+ // Silver Symbol.
+ {
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = ITEM_FOCUS_BAND,
+ .fixedIV = 20,
+ .nature = 2,
+ .evs = {152, 152, 106, 0, 100, 0},
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER},
+ },
+ {
+ .species = SPECIES_SALAMENCE,
+ .heldItem = ITEM_LUM_BERRY,
+ .fixedIV = 20,
+ .nature = 3,
+ .evs = {152, 152, 106, 100, 0, 0},
+ .moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE},
+ },
+ {
+ .species = SPECIES_CHARIZARD,
+ .heldItem = ITEM_WHITE_HERB,
+ .fixedIV = 20,
+ .nature = 17,
+ .evs = {100, 152, 106, 152, 0, 0},
+ .moves = {MOVE_OVERHEAT, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_EARTHQUAKE},
+ },
+ },
+ // Gold Symbol.
+ {
+ {
+ .species = SPECIES_SWAMPERT,
+ .heldItem = ITEM_LEFTOVERS,
+ .fixedIV = 31,
+ .nature = 2,
+ .evs = {252, 252, 6, 0, 0, 0},
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .heldItem = ITEM_QUICK_CLAW,
+ .fixedIV = 31,
+ .nature = 2,
+ .evs = {252, 252, 6, 0, 0, 0},
+ .moves = {MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_PROTECT},
+ },
+ {
+ .species = SPECIES_LATIAS,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .fixedIV = 31,
+ .nature = 15,
+ .evs = {252, 0, 252, 6, 0, 0},
+ .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_REST},
+ },
+ },
+ },
+ [FRONTIER_FACILITY_PALACE] =
+ {
+ // Silver Symbol.
+ {
+ {
+ .species = SPECIES_CROBAT,
+ .heldItem = ITEM_BRIGHT_POWDER,
+ .fixedIV = 16,
+ .nature = 3,
+ .evs = {152, 0, 0, 152, 100, 106},
+ .moves = {MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_FLY},
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = ITEM_SCOPE_LENS,
+ .fixedIV = 16,
+ .nature = 0,
+ .evs = {152, 152, 0, 106, 100, 0},
+ .moves = {MOVE_EARTHQUAKE, MOVE_SWAGGER, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK},
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .heldItem = ITEM_QUICK_CLAW,
+ .fixedIV = 16,
+ .nature = 17,
+ .evs = {0, 0, 252, 0, 106, 152},
+ .moves = {MOVE_ICE_BEAM, MOVE_HORN_DRILL, MOVE_CONFUSE_RAY, MOVE_PROTECT},
+ },
+ },
+ // Gold Symbol.
+ {
+ {
+ .species = SPECIES_ARCANINE,
+ .heldItem = ITEM_WHITE_HERB,
+ .fixedIV = 31,
+ .nature = 11,
+ .evs = {6, 252, 252, 0, 0, 0},
+ .moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_ROAR, MOVE_PROTECT},
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .heldItem = ITEM_SCOPE_LENS,
+ .fixedIV = 31,
+ .nature = 0,
+ .evs = {6, 252, 0, 252, 0, 0},
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_YAWN},
+ },
+ {
+ .species = SPECIES_SUICUNE,
+ .heldItem = ITEM_KINGS_ROCK,
+ .fixedIV = 31,
+ .nature = 11,
+ .evs = {252, 0, 252, 6, 0, 0},
+ .moves = {MOVE_BLIZZARD, MOVE_SURF, MOVE_BITE, MOVE_CALM_MIND},
+ },
+ },
+ },
+ [FRONTIER_FACILITY_ARENA] =
+ {
+ // Silver Symbol.
+ {
+ {
+ .species = SPECIES_HERACROSS,
+ .heldItem = ITEM_SALAC_BERRY,
+ .fixedIV = 20,
+ .nature = 13,
+ .evs = {106, 152, 0, 152, 0, 100},
+ .moves = {MOVE_MEGAHORN, MOVE_ROCK_TOMB, MOVE_ENDURE, MOVE_REVERSAL},
+ },
+ {
+ .species = SPECIES_UMBREON,
+ .heldItem = ITEM_LEFTOVERS,
+ .fixedIV = 20,
+ .nature = 20,
+ .evs = {152, 0, 100, 0, 152, 106},
+ .moves = {MOVE_BODY_SLAM, MOVE_CONFUSE_RAY, MOVE_PSYCHIC, MOVE_FAINT_ATTACK},
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .heldItem = ITEM_BRIGHT_POWDER,
+ .fixedIV = 20,
+ .nature = 3,
+ .evs = {0, 252, 6, 252, 0, 0},
+ .moves = {MOVE_SHADOW_BALL, MOVE_RETURN, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE},
+ },
+ },
+ // Gold Symbol.
+ {
+ {
+ .species = SPECIES_UMBREON,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .fixedIV = 31,
+ .nature = 20,
+ .evs = {252, 0, 0, 0, 252, 6},
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_CONFUSE_RAY, MOVE_REST, MOVE_PSYCHIC},
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .heldItem = ITEM_LEFTOVERS,
+ .fixedIV = 31,
+ .nature = 15,
+ .evs = {252, 0, 252, 0, 6, 0},
+ .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_DESTINY_BOND},
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .heldItem = ITEM_LUM_BERRY,
+ .fixedIV = 31,
+ .nature = 13,
+ .evs = {6, 252, 0, 252, 0, 0},
+ .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HEADBUTT},
+ },
+ },
+ },
+ [FRONTIER_FACILITY_FACTORY] =
+ {
+ // Because Factory's pokemon are random, this facility's Brain also uses random pokemon.
+ // What is interesting, this team is actually the one Steven uses in the multi tag battle alongside the player.
+ {
+ {
+ .species = SPECIES_METANG,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .fixedIV = 31,
+ .nature = 2,
+ .evs = {0, 252, 252, 0, 6, 0},
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW},
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .fixedIV = 31,
+ .nature = 8,
+ .evs = {252, 0, 0, 0, 6, 252},
+ .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING},
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .fixedIV = 31,
+ .nature = 3,
+ .evs = {0, 252, 0, 0, 252, 6},
+ .moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW},
+ },
+ },
+ {
+ {
+ .species = SPECIES_METANG,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .fixedIV = 31,
+ .nature = 2,
+ .evs = {0, 252, 252, 0, 6, 0},
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW},
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .fixedIV = 31,
+ .nature = 8,
+ .evs = {252, 0, 0, 0, 6, 252},
+ .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING},
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .heldItem = ITEM_SITRUS_BERRY,
+ .fixedIV = 31,
+ .nature = 3,
+ .evs = {0, 252, 0, 0, 252, 6},
+ .moves = {MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW},
+ },
+ },
+ },
+ [FRONTIER_FACILITY_PIKE] =
+ {
+ // Silver Symbol.
+ {
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = ITEM_QUICK_CLAW,
+ .fixedIV = 16,
+ .nature = 2,
+ .evs = {252, 0, 252, 0, 6, 0},
+ .moves = {MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_FANG, MOVE_GIGA_DRAIN},
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .fixedIV = 16,
+ .nature = 5,
+ .evs = {252, 0, 0, 0, 106, 252},
+ .moves = {MOVE_TOXIC, MOVE_SANDSTORM, MOVE_PROTECT, MOVE_REST},
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .heldItem = ITEM_LEFTOVERS,
+ .fixedIV = 16,
+ .nature = 15,
+ .evs = {152, 0, 100, 0, 152, 106},
+ .moves = {MOVE_ICE_BEAM, MOVE_MIRROR_COAT, MOVE_SURF, MOVE_RECOVER},
+ },
+ },
+ // Gold Symbol.
+ {
+ {
+ .species = SPECIES_SEVIPER,
+ .heldItem = ITEM_FOCUS_BAND,
+ .fixedIV = 31,
+ .nature = 5,
+ .evs = {252, 0, 0, 0, 252, 6},
+ .moves = {MOVE_SWAGGER, MOVE_CRUNCH, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN},
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .heldItem = ITEM_BRIGHT_POWDER,
+ .fixedIV = 31,
+ .nature = 2,
+ .evs = {252, 0, 0, 0, 6, 252},
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_EXPLOSION, MOVE_SCREECH},
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .fixedIV = 31,
+ .nature = 3,
+ .evs = {252, 6, 0, 0, 0, 252},
+ .moves = {MOVE_DRAGON_DANCE, MOVE_RETURN, MOVE_ROAR, MOVE_REST},
+ },
+ },
+ },
+ [FRONTIER_FACILITY_PYRAMID] =
+ {
+ // Silver Symbol.
+ {
+ {
+ .species = SPECIES_REGIROCK,
+ .heldItem = ITEM_QUICK_CLAW,
+ .fixedIV = 16,
+ .nature = 3,
+ .evs = {152, 152, 0, 0, 106, 100},
+ .moves = {MOVE_EXPLOSION, MOVE_SUPERPOWER, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER},
+ },
+ {
+ .species = SPECIES_REGISTEEL,
+ .heldItem = ITEM_LEFTOVERS,
+ .fixedIV = 16,
+ .nature = 3,
+ .evs = {152, 152, 0, 0, 6, 200},
+ .moves = {MOVE_EARTHQUAKE, MOVE_METAL_CLAW, MOVE_TOXIC, MOVE_IRON_DEFENSE},
+ },
+ {
+ .species = SPECIES_REGICE,
+ .heldItem = ITEM_CHESTO_BERRY,
+ .fixedIV = 16,
+ .nature = 15,
+ .evs = {106, 0, 152, 0, 100, 152},
+ .moves = {MOVE_ICE_BEAM, MOVE_AMNESIA, MOVE_THUNDER, MOVE_REST},
+ },
+ },
+ // Gold Symbol.
+ {
+ {
+ .species = SPECIES_ARTICUNO,
+ .heldItem = ITEM_SCOPE_LENS,
+ .fixedIV = 31,
+ .nature = 16,
+ .evs = {6, 0, 252, 252, 0, 0},
+ .moves = {MOVE_BLIZZARD, MOVE_WATER_PULSE, MOVE_AERIAL_ACE, MOVE_REFLECT},
+ },
+ {
+ .species = SPECIES_ZAPDOS,
+ .heldItem = ITEM_LUM_BERRY,
+ .fixedIV = 31,
+ .nature = 16,
+ .evs = {6, 0, 252, 252, 0, 0},
+ .moves = {MOVE_THUNDER, MOVE_DETECT, MOVE_DRILL_PECK, MOVE_LIGHT_SCREEN},
+ },
+ {
+ .species = SPECIES_MOLTRES,
+ .heldItem = ITEM_BRIGHT_POWDER,
+ .fixedIV = 31,
+ .nature = 16,
+ .evs = {6, 0, 252, 252, 0, 0},
+ .moves = {MOVE_FIRE_BLAST, MOVE_HYPER_BEAM, MOVE_AERIAL_ACE, MOVE_SAFEGUARD},
+ },
+ },
+ },
+};
+
+static const u8 gUnknown_086118B4[][7][4] =
+{
+ {
+ {1, 2, 3, 3}, {1, 1, 0, 0}, {4, 5, 0, 0}, {1, 0, 0, 0}, {3, 4, 0, 0}, {1, 0, 0, 0}, {5, 0, 0, 0}
+ },
+ {
+ {2, 3, 4, 4}, {1, 1, 0, 0}, {4, 5, 0, 0}, {1, 0, 0, 0}, {3, 4, 0, 0}, {1, 0, 0, 0}, {5, 0, 0, 0}
+ },
+ {
+ {3, 4, 5, 5}, {2, 2, 0, 0}, {5, 6, 0, 0}, {1, 0, 0, 0}, {4, 5, 0, 0}, {2, 0, 0, 0}, {6, 0, 0, 0}
+ },
+ {
+ {4, 5, 6, 6}, {2, 2, 0, 0}, {5, 6, 0, 0}, {2, 0, 0, 0}, {4, 5, 0, 0}, {2, 0, 0, 0}, {6, 0, 0, 0}
+ },
+ {
+ {5, 6, 7, 7}, {3, 3, 0, 0}, {6, 7, 0, 0}, {2, 0, 0, 0}, {5, 6, 0, 0}, {2, 0, 0, 0}, {7, 0, 0, 0}
+ },
+ {
+ {6, 7, 8, 8}, {3, 3, 0, 0}, {6, 7, 0, 0}, {2, 0, 0, 0}, {5, 6, 0, 0}, {4, 0, 0, 0}, {7, 0, 0, 0}
+ },
+ {
+ {7, 8, 9, 9}, {4, 4, 0, 0}, {7, 8, 0, 0}, {3, 0, 0, 0}, {6, 7, 0, 0}, {4, 0, 0, 0}, {8, 0, 0, 0}
+ },
+ {
+ {8, 9, 10, 10}, {4, 4, 0, 0}, {7, 8, 0, 0}, {3, 0, 0, 0},{6, 7, 0, 0}, {4, 0, 0, 0}, {8, 0, 0, 0}
+ },
+ {
+ {9, 10, 11, 11}, {5, 5, 0, 0}, {8, 9, 0, 0}, {4, 0, 0, 0}, {7, 8, 0, 0}, {8, 0, 0, 0}, {9, 0, 0, 0}
+ },
+ {
+ {10, 11, 12, 12}, {5, 5, 0, 0}, {8, 9, 0, 0}, {4, 0, 0, 0}, {7, 8, 0, 0}, {8, 0, 0, 0}, {9, 0, 0, 0}
+ },
+ {
+ {11, 12, 13, 13}, {6, 6, 0, 0}, {9, 10, 0, 0}, {5, 0, 0,0}, {8, 9, 0, 0}, {8, 0, 0, 0}, {10, 0, 0, 0}
+ },
+ {
+ {12, 13, 14, 14}, {6, 6, 0, 0}, {9, 10, 0, 0}, {6, 0, 0,0}, {8, 9, 0, 0}, {8, 0, 0, 0}, {10, 0, 0, 0}
+ },
+ {
+ {13, 14, 15, 15}, {7, 7, 0, 0}, {10, 11, 0, 0}, {7, 0, 0, 0}, {9, 10, 0, 0}, {10, 0, 0, 0}, {11, 0, 0, 0}
+ },
+ {
+ {14, 15, 15, 15}, {7, 7, 0, 0}, {10, 11, 0, 0}, {8, 0, 0, 0}, {9, 10, 0, 0}, {10, 0, 0, 0}, {11, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {8, 8, 0, 0}, {11, 12, 0, 0}, {9, 0, 0, 0}, {10, 11, 0, 0}, {10, 0, 0, 0}, {12, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {8, 8, 0, 0}, {11, 12, 0, 0}, {10, 0, 0, 0}, {10, 11, 0, 0}, {10, 0, 0, 0}, {12, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {9, 9, 0, 0}, {12, 13, 0, 0}, {11, 0, 0, 0}, {11, 12, 0, 0}, {12, 0, 0, 0}, {13, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {9, 9, 0, 0}, {12, 13, 0, 0}, {12, 0, 0, 0}, {11, 12, 0, 0}, {12, 0, 0, 0}, {13, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {10, 10, 0, 0}, {13, 14, 0, 0}, {13, 0, 0, 0}, {12, 13, 0, 0}, {12, 0, 0, 0}, {14, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {10, 10, 0, 0}, {13, 14, 0, 0}, {14, 0, 0, 0}, {12, 13, 0, 0}, {12, 0, 0, 0}, {14, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {11, 11, 0, 0}, {14, 15, 0, 0}, {15, 0, 0, 0}, {13, 14, 0, 0}, {12, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {11, 11, 0, 0}, {14, 15, 0, 0}, {15, 0, 0, 0}, {13, 14, 0, 0}, {14, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {12, 12, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {14, 15, 0, 0}, {14, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {12, 12, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {14, 15, 0, 0}, {14, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {13, 13, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 15, 0, 0}, {14, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {13, 13, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {14, 14, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {14, 14, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {15, 15, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 0, 0, 0}
+ },
+ {
+ {15, 15, 15, 15}, {15, 15, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 15, 0, 0}, {15, 0, 0, 0}, {15, 0, 0, 0}
+ },
+};
+
+static const u16 gUnknown_08611BFC[][2] =
+{
+ [FRONTIER_FACILITY_TOWER] = {0x0001, 0x0002},
+ [FRONTIER_FACILITY_DOME] = {0x0004, 0x0008},
+ [FRONTIER_FACILITY_PALACE] = {0x0010, 0x0020},
+ [FRONTIER_FACILITY_ARENA] = {0x0040, 0x0080},
+ [FRONTIER_FACILITY_FACTORY] = {0x0100, 0x0200},
+ [FRONTIER_FACILITY_PIKE] = {0x0400, 0x0800},
+ [FRONTIER_FACILITY_PYRAMID] = {0x1000, 0x2000},
+};
+
+static void (* const sFrontierUtilFuncs[])(void) =
+{
+ sub_81A17A0,
+ sub_81A1830,
+ sub_81A1968,
+ sub_81A1AD4,
+ DoSoftReset_,
+ sub_81A1B28,
+ sub_81A1B38,
+ ShowFacilityResultsWindow,
+ sub_81A31FC,
+ sub_81A35EC,
+ sub_81A3B00,
+ sub_81A3B64,
+ sub_81A3D30,
+ sub_81A3D58,
+ sub_81A3DA0,
+ sub_81A3FD4,
+ sub_81A4224,
+ sub_81A4230,
+ sub_81A43A8,
+ sub_81A4410,
+ sub_81A443C,
+ sub_81A447C,
+ sub_81A457C,
+};
+
+static const struct WindowTemplate gUnknown_08611C74 =
+{
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 0x1c,
+ .height = 0x12,
+ .paletteNum = 15,
+ .baseBlock = 1
+};
+
+static const struct WindowTemplate gUnknown_08611C7C =
+{
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 2,
+ .width = 0x1a,
+ .height = 15,
+ .paletteNum = 15,
+ .baseBlock = 1
+};
+
+static const struct WindowTemplate gUnknown_08611C84 =
+{
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 1,
+ .width = 0x1a,
+ .height = 17,
+ .paletteNum = 15,
+ .baseBlock = 1
+};
+
+// Second field - whether the character is female.
+static const u8 sFacilityToBrainEventObjGfx[][2] =
+{
+ [FRONTIER_FACILITY_TOWER] = {EVENT_OBJ_GFX_ANABEL, TRUE},
+ [FRONTIER_FACILITY_DOME] = {EVENT_OBJ_GFX_TUCKER, FALSE},
+ [FRONTIER_FACILITY_PALACE] = {EVENT_OBJ_GFX_SPENSER, FALSE},
+ [FRONTIER_FACILITY_ARENA] = {EVENT_OBJ_GFX_GRETA, TRUE},
+ [FRONTIER_FACILITY_FACTORY] = {EVENT_OBJ_GFX_NOLAND, FALSE},
+ [FRONTIER_FACILITY_PIKE] = {EVENT_OBJ_GFX_LUCY, TRUE},
+ [FRONTIER_FACILITY_PYRAMID] = {EVENT_OBJ_GFX_BRANDON, FALSE},
+};
+
+const u16 gFrontierBannedSpecies[] =
+{
+ SPECIES_MEW, SPECIES_MEWTWO, SPECIES_HO_OH, SPECIES_LUGIA, SPECIES_CELEBI,
+ SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF
+};
+
+static const u8 *const gUnknown_08611CB0[][2] =
+{
+ {gText_BattleTower2, gUnknown_085ED164},
+ {gText_BattleTower2, gUnknown_085ED170},
+ {gText_BattleTower2, gUnknown_085ED17C},
+ {gText_BattleDome, gUnknown_085ED164},
+ {gText_BattlePalace, gUnknown_085ED164},
+ {gText_BattleArena, gUnknown_085ED190},
+ {gText_BattleFactory, gUnknown_085ED164},
+ {gText_BattlePike, gUnknown_085ED190},
+ {gText_BattlePyramid, gUnknown_085ED190},
+ {gText_BattleTower2, gUnknown_085ED188},
+};
+
+static const u8 *const gLevelModeText[] =
+{
+ gText_RecordsLv50,
+ gText_RecordsOpenLevel,
+};
+
+static const u8 *const gHallFacilityToRecordsText[] =
+{
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityClearStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityKOsStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityRoomsCleared,
+ gText_FrontierFacilityFloorsCleared,
+ gText_FrontierFacilityWinStreak,
+};
+
+static const u16 gFacilityToBrainTrainerId[] =
+{
+ [FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL,
+ [FRONTIER_FACILITY_DOME] = TRAINER_TUCKER,
+ [FRONTIER_FACILITY_PALACE] = TRAINER_SPENSER,
+ [FRONTIER_FACILITY_ARENA] = TRAINER_GRETA,
+ [FRONTIER_FACILITY_FACTORY] = TRAINER_NOLAND,
+ [FRONTIER_FACILITY_PIKE] = TRAINER_LUCY,
+ [FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON,
+};
+
+static const u8 *const gUnknown_08611D40[] =
+{
+ gText_082C843F,
+ gText_082C848B,
+ gText_082C8628,
+ gText_082C85B4,
+ gText_082C8512,
+ gText_082C859D,
+ gText_082C86C3,
+};
+
+static const u8 *const gUnknown_08611D5C[] =
+{
+ gText_082C8458,
+ gText_082C84C1,
+ gText_082C8662,
+ gText_082C85E3,
+ gText_082C853B,
+ gText_082C85A4,
+ gText_082C86FE,
+};
+
+static const u8 *const gUnknown_08611D78[] =
+{
+ gText_082C846C,
+ gText_082C84D0,
+ gText_082C8682,
+ gText_082C85F5,
+ gText_082C8561,
+ gText_082C85A9,
+ gText_082C8739,
+};
+
+static const u8 *const gUnknown_08611D94[] =
+{
+ gText_082C8480,
+ gText_082C84F7,
+ gText_082C86B3,
+ gText_082C8611,
+ gText_082C8589,
+ gText_082C85AE,
+ gText_082C877B,
+};
+
+static const u8 *const *const gUnknown_08611DB0[] =
+{
+ gUnknown_08611D40,
+ gUnknown_08611D78,
+};
+
+static const u8 *const *const gUnknown_08611DB8[] =
+{
+ gUnknown_08611D5C,
+ gUnknown_08611D94,
+};
+
+// code
+void CallFrontierUtilFunc(void)
+{
+ sFrontierUtilFuncs[gSpecialVar_0x8004]();
+}
+
+static void sub_81A17A0(void)
+{
+ VarSet(VAR_TEMP_0, 0xFF);
+ switch (gSaveBlock2Ptr->frontier.field_CA8)
+ {
+ case 0:
+ break;
+ case 1:
+ sub_813A878(0);
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ break;
+ case 4:
+ sub_813A878(0);
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ break;
+ case 3:
+ sub_813A878(1);
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ break;
+ case 2:
+ VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.field_CA8);
+ break;
+ }
+}
+
+static void sub_81A1830(void)
+{
+ u8 facility = VarGet(VAR_FRONTIER_FACILITY);
+ u8 currSymbol = GetPlayerSymbolCountForFacility(facility);
+ if (currSymbol == 2)
+ currSymbol = 1;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA8;
+ break;
+ case 1:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.lvlMode;
+ break;
+ case 2:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
+ break;
+ case 3:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_a;
+ break;
+ case 5:
+ gSpecialVar_Result = gBattleOutcome;
+ gBattleOutcome = 0;
+ break;
+ case 6:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_CA9_b;
+ break;
+ case 7:
+ gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_D00 & gUnknown_08611BFC[facility][currSymbol];
+ break;
+ }
+}
+
+static void sub_81A1968(void)
+{
+ s32 i;
+ u8 facility = VarGet(VAR_FRONTIER_FACILITY);
+ u8 currSymbol = GetPlayerSymbolCountForFacility(facility);
+ if (currSymbol == 2)
+ currSymbol = 1;
+
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8006;
+ break;
+ case 1:
+ gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_0x8006;
+ break;
+ case 2:
+ gSaveBlock2Ptr->frontier.curChallengeBattleNum = gSpecialVar_0x8006;
+ break;
+ case 3:
+ gSaveBlock2Ptr->frontier.field_CA9_a = gSpecialVar_0x8006;
+ break;
+ case 4:
+ for (i = 0; i < 4; i++)
+ gSaveBlock2Ptr->frontier.selectedPartyMons[i] = gSelectedOrderFromParty[i];
+ break;
+ case 6:
+ gSaveBlock2Ptr->frontier.field_CA9_b = gSpecialVar_0x8006;
+ break;
+ case 7:
+ gSaveBlock2Ptr->frontier.field_D00 |= gUnknown_08611BFC[facility][currSymbol];
+ break;
+ }
+}
+
+static void sub_81A1AD4(void)
+{
+ s32 i;
+
+ sub_81B8558();
+ for (i = 0; i < gSpecialVar_0x8005; i++)
+ gSelectedOrderFromParty[i] = gSaveBlock2Ptr->frontier.selectedPartyMons[i];
+ ReducePlayerPartyToSelectedMons();
+}
+
+static void DoSoftReset_(void)
+{
+ DoSoftReset();
+}
+
+static void sub_81A1B28(void)
+{
+ gFacilityTrainers = gBattleFrontierTrainers;
+}
+
+static void sub_81A1B38(void)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
+ if (monId < PARTY_SIZE)
+ gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1] = gPlayerParty[i];
+ }
+}
+
+static void ShowFacilityResultsWindow(void)
+{
+ if (gSpecialVar_0x8006 > 3)
+ gSpecialVar_0x8006 = 0;
+ switch (gSpecialVar_0x8005)
+ {
+ case FRONTIER_FACILITY_TOWER:
+ ShowTowerResultsWindow(gSpecialVar_0x8006);
+ break;
+ case FRONTIER_FACILITY_DOME:
+ ShowDomeResultsWindow(gSpecialVar_0x8006);
+ break;
+ case FRONTIER_FACILITY_PALACE:
+ ShowPalaceResultsWindow(gSpecialVar_0x8006);
+ break;
+ case FRONTIER_FACILITY_PIKE:
+ ShowPikeResultsWindow();
+ break;
+ case FRONTIER_FACILITY_FACTORY:
+ ShowFactoryResultsWindow(gSpecialVar_0x8006);
+ break;
+ case FRONTIER_FACILITY_ARENA:
+ ShowArenaResultsWindow();
+ break;
+ case FRONTIER_FACILITY_PYRAMID:
+ ShowPyramidResultsWindow();
+ break;
+ case RESULTS_LINK_CONTEST:
+ ShowLinkContestResultsWindow();
+ break;
+ }
+}
+
+static bool8 sub_81A1C24(u32 flags)
+{
+ if (gSaveBlock2Ptr->frontier.field_CDC & flags)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void PrintAligned(const u8 *str, s32 y)
+{
+ s32 x = GetStringCenterAlignXOffset(1, str, 224);
+ y = (y * 8) + 1;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, y, TEXT_SPEED_FF, NULL);
+}
+
+static void PrintHyphens(s32 y)
+{
+ s32 i;
+ u8 text[37];
+
+ for (i = 0; i < 36; i++)
+ text[i] = CHAR_HYPHEN;
+ text[i] = EOS;
+
+ y = (y * 8) + 1;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, text, 4, y, TEXT_SPEED_FF, NULL);
+}
+
+// Battle Tower records.
+static void TowerPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
+ if (num > 9999)
+ num = 9999;
+ ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_WinStreak);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+}
+
+static void TowerPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ u16 num = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[battleMode][lvlMode];
+ TowerPrintStreak(gText_Record, num, x1, x2, y);
+}
+
+static u16 TowerGetWinStreak(u8 battleMode, u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static void TowerPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = TowerGetWinStreak(battleMode, lvlMode);
+ switch (battleMode)
+ {
+ default:
+ case FRONTIER_MODE_SINGLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(2);
+ else
+ isCurrent = sub_81A1C24(1);
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x8000);
+ else
+ isCurrent = sub_81A1C24(0x4000);
+ break;
+ case FRONTIER_MODE_MULTIS:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x20000);
+ else
+ isCurrent = sub_81A1C24(0x10000);
+ break;
+ case FRONTIER_MODE_LINK_MULTIS:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x80000);
+ else
+ isCurrent = sub_81A1C24(0x40000);
+ break;
+ }
+
+ if (isCurrent == TRUE)
+ TowerPrintStreak(gText_Current, winStreak, x1, x2, y);
+ else
+ TowerPrintStreak(gText_Prev, winStreak, x1, x2, y);
+}
+
+static void ShowTowerResultsWindow(u8 battleMode)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ StringExpandPlaceholders(gStringVar4, gText_SingleBattleRoomResults);
+ else if (battleMode == FRONTIER_MODE_DOUBLES)
+ StringExpandPlaceholders(gStringVar4, gText_DoubleBattleRoomResults);
+ else if (battleMode == FRONTIER_MODE_MULTIS)
+ StringExpandPlaceholders(gStringVar4, gText_MultiBattleRoomResults);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_LinkMultiBattleRoomResults);
+
+ PrintAligned(gStringVar4, 2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
+ PrintHyphens(10);
+ TowerPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 72, 132, 49);
+ TowerPrintRecordStreak(battleMode, FRONTIER_LVL_50, 72, 132, 65);
+ TowerPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 72, 132, 97);
+ TowerPrintRecordStreak(battleMode, FRONTIER_LVL_OPEN, 72, 132, 113);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Battle Dome records.
+static u16 DomeGetWinStreak(u8 battleMode, u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static void PrintTwoStrings(const u8 *str1, const u8 *str2, u16 num, u8 x1, u8 x2, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str1, x1, y, TEXT_SPEED_FF, NULL);
+ ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, str2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+}
+
+static void DomePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = DomeGetWinStreak(battleMode, lvlMode);
+ switch (battleMode)
+ {
+ default:
+ case FRONTIER_MODE_SINGLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(8);
+ else
+ isCurrent = sub_81A1C24(4);
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x200000);
+ else
+ isCurrent = sub_81A1C24(0x100000);
+ break;
+ }
+
+ if (isCurrent == TRUE)
+ PrintTwoStrings(gText_Current, gText_ClearStreak, winStreak, x1, x2, y);
+ else
+ PrintTwoStrings(gText_Prev, gText_ClearStreak, winStreak, x1, x2, y);
+}
+
+static void ShowDomeResultsWindow(u8 battleMode)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ StringExpandPlaceholders(gStringVar4, gText_SingleBattleTourneyResults);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_DoubleBattleTourneyResults);
+
+ PrintAligned(gStringVar4, 0);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
+ PrintHyphens(10);
+ DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 64, 121, 33);
+ PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_50], 64, 121, 49);
+ PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_50], 64, 112, 65);
+ DomePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 64, 121, 97);
+ PrintTwoStrings(gText_Record, gText_ClearStreak, gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][FRONTIER_LVL_OPEN], 64, 121, 113);
+ PrintTwoStrings(gText_Total, gText_Championships, gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][FRONTIER_LVL_OPEN], 64, 112, 129);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Battle Palace records.
+static void PalacePrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
+ if (num > 9999)
+ num = 9999;
+ ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_WinStreak);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+}
+
+static void PalacePrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ u16 num = gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode];
+ PalacePrintStreak(gText_Record, num, x1, x2, y);
+}
+
+static u16 PalaceGetWinStreak(u8 battleMode, u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static void PalacePrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = PalaceGetWinStreak(battleMode, lvlMode);
+ switch (battleMode)
+ {
+ default:
+ case FRONTIER_MODE_SINGLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x20);
+ else
+ isCurrent = sub_81A1C24(0x10);
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x800000);
+ else
+ isCurrent = sub_81A1C24(0x400000);
+ }
+
+ if (isCurrent == TRUE)
+ PalacePrintStreak(gText_Current, winStreak, x1, x2, y);
+ else
+ PalacePrintStreak(gText_Prev, winStreak, x1, x2, y);
+}
+
+static void ShowPalaceResultsWindow(u8 battleMode)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ StringExpandPlaceholders(gStringVar4, gText_SingleBattleHallResults);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_DoubleBattleHallResults);
+
+ PrintAligned(gStringVar4, 2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
+ PrintHyphens(10);
+ PalacePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 72, 131, 49);
+ PalacePrintRecordStreak(battleMode, FRONTIER_LVL_50, 72, 131, 65);
+ PalacePrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 72, 131, 97);
+ PalacePrintRecordStreak(battleMode, FRONTIER_LVL_OPEN, 72, 131, 113);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Battle Pike records.
+static u16 PikeGetWinStreak(u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static void PikePrintCleared(const u8 *str1, const u8 *str2, u16 num, u8 x1, u8 x2, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str1, x1, y, TEXT_SPEED_FF, NULL);
+ ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, str2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+}
+
+static void PikePrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = PikeGetWinStreak(lvlMode);
+
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x800);
+ else
+ isCurrent = sub_81A1C24(0x400);
+
+ if (isCurrent == TRUE)
+ PrintTwoStrings(gText_Current, gText_RoomsCleared, winStreak, x1, x2, y);
+ else
+ PrintTwoStrings(gText_Prev, gText_RoomsCleared, winStreak, x1, x2, y);
+}
+
+static void ShowPikeResultsWindow(void)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ StringExpandPlaceholders(gStringVar4, gText_BattleChoiceResults);
+ PrintAligned(gStringVar4, 0);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
+ PrintHyphens(10);
+ PikePrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 114, 33);
+ PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_50], 64, 114, 49);
+ PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_50], 64, 114, 65);
+ PikePrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 64, 114, 97);
+ PikePrintCleared(gText_Record, gText_RoomsCleared, gSaveBlock2Ptr->frontier.pikeRecordStreaks[FRONTIER_LVL_OPEN], 64, 114, 113);
+ PikePrintCleared(gText_Total, gText_TimesCleared, gSaveBlock2Ptr->frontier.pikeTotalStreaks[FRONTIER_LVL_OPEN], 64, 114, 129);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Battle Arena records.
+static void ArenaPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
+ if (num > 9999)
+ num = 9999;
+ ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_KOsInARow);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+}
+
+static void ArenaPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ u16 num = gSaveBlock2Ptr->frontier.arenaRecordStreaks[lvlMode];
+ ArenaPrintStreak(gText_Record, num, x1, x2, y);
+}
+
+static u16 ArenaGetWinStreak(u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static void ArenaPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = ArenaGetWinStreak(lvlMode);
+
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x80);
+ else
+ isCurrent = sub_81A1C24(0x40);
+
+ if (isCurrent == TRUE)
+ ArenaPrintStreak(gText_Current, winStreak, x1, x2, y);
+ else
+ ArenaPrintStreak(gText_Prev, winStreak, x1, x2, y);
+}
+
+static void ShowArenaResultsWindow(void)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ PrintHyphens(10);
+ StringExpandPlaceholders(gStringVar4, gText_SetKOTourneyResults);
+ PrintAligned(gStringVar4, 2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 16, 49, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 16, 97, TEXT_SPEED_FF, NULL);
+ ArenaPrintPrevOrCurrentStreak(FRONTIER_LVL_50, 72, 126, 49);
+ ArenaPrintRecordStreak(FRONTIER_LVL_50, 72, 126, 65);
+ ArenaPrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 72, 126, 97);
+ ArenaPrintRecordStreak(FRONTIER_LVL_OPEN, 72, 126, 113);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Battle Factory records.
+static void FactoryPrintStreak(const u8 *str, u16 num1, u16 num2, u8 x1, u8 x2, u8 x3, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
+ if (num1 > 9999)
+ num1 = 9999;
+ ConvertIntToDecimalStringN(gStringVar1, num1, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_WinStreak);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+
+ ConvertIntToDecimalStringN(gStringVar1, num2, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_TimesVar1);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x3, y, TEXT_SPEED_FF, NULL);
+}
+
+static void FactoryPrintRecordStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 x3, u8 y)
+{
+ u16 num1 = gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[battleMode][lvlMode];
+ u16 num2 = gSaveBlock2Ptr->frontier.factoryRecordRentsCount[battleMode][lvlMode];
+ FactoryPrintStreak(gText_Record, num1, num2, x1, x2, x3, y);
+}
+
+static u16 FactoryGetWinStreak(u8 battleMode, u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static u16 FactoryGetRentsCount(u8 battleMode, u8 lvlMode)
+{
+ u16 rents = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
+ if (rents > 9999)
+ return 9999;
+ else
+ return rents;
+}
+
+static void FactoryPrintPrevOrCurrentStreak(u8 battleMode, u8 lvlMode, u8 x1, u8 x2, u8 x3, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = FactoryGetWinStreak(battleMode, lvlMode);
+ u16 rents = FactoryGetRentsCount(battleMode, lvlMode);
+ switch (battleMode)
+ {
+ default:
+ case FRONTIER_MODE_SINGLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x200);
+ else
+ isCurrent = sub_81A1C24(0x100);
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x2000000);
+ else
+ isCurrent = sub_81A1C24(0x1000000);
+ break;
+ }
+
+ if (isCurrent == TRUE)
+ FactoryPrintStreak(gText_Current, winStreak, rents, x1, x2, x3, y);
+ else
+ FactoryPrintStreak(gText_Prev, winStreak, rents, x1, x2, x3, y);
+}
+
+static void ShowFactoryResultsWindow(u8 battleMode)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ StringExpandPlaceholders(gStringVar4, gText_BattleSwapSingleResults);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_BattleSwapDoubleResults);
+
+ PrintAligned(gStringVar4, 0);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 33, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_RentalSwap, 152, 33, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
+ PrintHyphens(10);
+ FactoryPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 49);
+ FactoryPrintRecordStreak(battleMode, FRONTIER_LVL_50, 8, 64, 158, 65);
+ FactoryPrintPrevOrCurrentStreak(battleMode, FRONTIER_LVL_OPEN, 8, 64, 158, 113);
+ FactoryPrintRecordStreak(battleMode, FRONTIER_LVL_OPEN, 8, 64, 158, 129);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Battle Pyramid records.
+static void PyramidPrintStreak(const u8 *str, u16 num, u8 x1, u8 x2, u8 y)
+{
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x1, y, TEXT_SPEED_FF, NULL);
+ if (num > 9999)
+ num = 9999;
+ ConvertIntToDecimalStringN(gStringVar1, num, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_FloorsCleared);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x2, y, TEXT_SPEED_FF, NULL);
+}
+
+static void PyramidPrintRecordStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ u16 num = gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode];
+ PyramidPrintStreak(gText_Record, num, x1, x2, y);
+}
+
+static u16 PyramidGetWinStreak(u8 lvlMode)
+{
+ u16 winStreak = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
+ if (winStreak > 9999)
+ return 9999;
+ else
+ return winStreak;
+}
+
+static void PyramidPrintPrevOrCurrentStreak(u8 lvlMode, u8 x1, u8 x2, u8 y)
+{
+ bool8 isCurrent;
+ u16 winStreak = PyramidGetWinStreak(lvlMode);
+
+ if (lvlMode != FRONTIER_LVL_50)
+ isCurrent = sub_81A1C24(0x2000);
+ else
+ isCurrent = sub_81A1C24(0x1000);
+
+ if (isCurrent == TRUE)
+ PyramidPrintStreak(gText_Current, winStreak, x1, x2, y);
+ else
+ PyramidPrintStreak(gText_Prev, winStreak, x1, x2, y);
+}
+
+static void ShowPyramidResultsWindow(void)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C74);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ StringExpandPlaceholders(gStringVar4, gText_BattleQuestResults);
+ PrintAligned(gStringVar4, 2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Lv502, 8, 49, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_OpenLv, 8, 97, TEXT_SPEED_FF, NULL);
+ PrintHyphens(10);
+ PyramidPrintPrevOrCurrentStreak(FRONTIER_LVL_50, 64, 111, 49);
+ PyramidPrintRecordStreak(FRONTIER_LVL_50, 64, 111, 65);
+ PyramidPrintPrevOrCurrentStreak(FRONTIER_LVL_OPEN, 64, 111, 97);
+ PyramidPrintRecordStreak(FRONTIER_LVL_OPEN, 64, 111, 113);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+// Link contest records. Why is it in this file?
+static void ShowLinkContestResultsWindow(void)
+{
+ const u8 *str;
+ s32 i, j;
+ s32 x;
+
+ gRecordsWindowId = AddWindow(&gUnknown_08611C7C);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+
+ StringExpandPlaceholders(gStringVar4, gText_LinkContestResults);
+ x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, x, 1, TEXT_SPEED_FF, NULL);
+
+ str = gText_1st;
+ x = GetStringRightAlignXOffset(1, str, 38) + 50;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
+
+ str = gText_2nd;
+ x = GetStringRightAlignXOffset(1, str, 38) + 88;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
+
+ str = gText_3rd;
+ x = GetStringRightAlignXOffset(1, str, 38) + 126;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
+
+ str = gText_4th;
+ x = GetStringRightAlignXOffset(1, str, 38) + 164;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, str, x, 25, TEXT_SPEED_FF, NULL);
+
+ x = 6;
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Cool, x, 41, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Beauty, x, 57, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Cute, x, 73, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Smart, x, 89, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_Tough, x, 105, TEXT_SPEED_FF, NULL);
+
+ for (i = 0; i < 5; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ ConvertIntToDecimalStringN(gStringVar4, gSaveBlock2Ptr->contestLinkResults[i][j], STR_CONV_MODE_RIGHT_ALIGN, 4);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, (j * 38) + 64, (i * 16) + 41, TEXT_SPEED_FF, NULL);
+ }
+ }
+
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+static void sub_81A31FC(void)
+{
+ u8 text[32];
+ s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+
+ switch (facility)
+ {
+ case FRONTIER_FACILITY_TOWER:
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.towerRecordWinStreaks[battleMode][lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.towerRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
+ if (battleMode == FRONTIER_MODE_LINK_MULTIS)
+ {
+ StringCopy(text, gLinkPlayers[gBattleScripting.multiplayerId ^ 1].name);
+ StripExtCtrlCodes(text);
+ StringCopy(gSaveBlock2Ptr->frontier.field_EE1[lvlMode], text);
+ SetTrainerId(gLinkPlayers[gBattleScripting.multiplayerId ^ 1].trainerId, gSaveBlock2Ptr->frontier.field_EF1[lvlMode]);
+ }
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] > 1
+ && sub_80EE818())
+ {
+ switch (battleMode)
+ {
+ case FRONTIER_MODE_SINGLES:
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 1);
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 2);
+ break;
+ case FRONTIER_MODE_MULTIS:
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 3);
+ break;
+ case FRONTIER_MODE_LINK_MULTIS:
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode], 4);
+ break;
+ }
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_DOME:
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.domeRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] > 1
+ && sub_80EE818())
+ {
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 5);
+ else
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode], 6);
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_PALACE:
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] > 1
+ && sub_80EE818())
+ {
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 11);
+ else
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode], 12);
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_ARENA:
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > gSaveBlock2Ptr->frontier.arenaRecordStreaks[lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.arenaRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] > 1
+ && sub_80EE818())
+ {
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode], 10);
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_FACTORY:
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] > gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[battleMode][lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
+ gSaveBlock2Ptr->frontier.factoryRecordRentsCount[battleMode][lvlMode] = gSaveBlock2Ptr->frontier.factoryRentsCount[battleMode][lvlMode];
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] > 1
+ && sub_80EE818())
+ {
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 7);
+ else
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode], 8);
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_PIKE:
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] > gSaveBlock2Ptr->frontier.pikeRecordStreaks[lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.pikeRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] > 1
+ && sub_80EE818())
+ {
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode], 9);
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_PYRAMID:
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode])
+ {
+ gSaveBlock2Ptr->frontier.pyramidRecordStreaks[lvlMode] = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 1
+ && sub_80EE818())
+ {
+ sub_80EE8C8(gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode], 13);
+ }
+ }
+ break;
+ }
+}
+
+static void sub_81A35EC(void)
+{
+ VarGet(VAR_FRONTIER_FACILITY); // Unused return value.
+ gSpecialVar_Result = sub_81A3610();
+}
+
+u8 sub_81A3610(void)
+{
+ s32 ret = 0;
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ u16 val = GetCurrentFacilityWinStreak();
+ s32 r5 = val + gUnknown_08611550[facility][3];
+ s32 symbolsCount;
+
+ if (battleMode != FRONTIER_MODE_SINGLES)
+ return 0;
+
+ symbolsCount = GetPlayerSymbolCountForFacility(facility);
+ switch (symbolsCount)
+ {
+ case 0:
+ case 1:
+ if (r5 == gUnknown_08611550[facility][symbolsCount])
+ ret = symbolsCount + 1;
+ break;
+ case 2:
+ default:
+ if (r5 == gUnknown_08611550[facility][0])
+ ret = 3;
+ else if (r5 == gUnknown_08611550[facility][1])
+ ret = 4;
+ else if (r5 > gUnknown_08611550[facility][1] && (r5 - gUnknown_08611550[facility][1]) % gUnknown_08611550[facility][2] == 0)
+ ret = 4;
+ break;
+ }
+
+ return ret;
+}
+
+void CopyFrontierTrainerText(u8 whichText, u16 trainerId)
+{
+ switch (whichText)
+ {
+ case FRONTIER_BEFORE_TEXT:
+ if (trainerId == TRAINER_EREADER)
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting);
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ CopyFrontierBrainText(FALSE);
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechBefore);
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting);
+ else
+ CopyFriendsApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE);
+ break;
+ case FRONTIER_PLAYER_LOST_TEXT:
+ if (trainerId == TRAINER_EREADER)
+ {
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerLost);
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ CopyFrontierBrainText(FALSE);
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechWin);
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ FrontierSpeechToString(GetRecordedBattleEasyChatSpeech());
+ else
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].speechWon);
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ FrontierSpeechToString(GetRecordedBattleEasyChatSpeech());
+ else
+ FrontierSpeechToString(gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords);
+ }
+ break;
+ case FRONTIER_PLAYER_WON_TEXT:
+ if (trainerId == TRAINER_EREADER)
+ {
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.ereaderTrainer.farewellPlayerWon);
+ }
+ else if (trainerId == TRAINER_FRONTIER_BRAIN)
+ {
+ CopyFrontierBrainText(TRUE);
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_FRIEND)
+ {
+ FrontierSpeechToString(gFacilityTrainers[trainerId].speechLose);
+ }
+ else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ FrontierSpeechToString(GetRecordedBattleEasyChatSpeech());
+ else
+ FrontierSpeechToString(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].speechLost);
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ {
+ trainerId = GetRecordedBattleApprenticeId();
+ FrontierSpeechToString(gApprentices[trainerId].easyChatWords);
+ }
+ else
+ {
+ trainerId = gSaveBlock2Ptr->apprentices[trainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ FrontierSpeechToString(gApprentices[trainerId].easyChatWords);
+ }
+ }
+ break;
+ }
+}
+
+void sub_81A3908(void)
+{
+ s32 battleMode, lvlMode;
+
+ gSaveBlock2Ptr->frontier.field_CDC = 0;
+ for (battleMode = 0; battleMode < 4; battleMode++)
+ {
+ for (lvlMode = 0; lvlMode < 2; lvlMode++)
+ {
+ gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0;
+ if (battleMode < FRONTIER_MODE_MULTIS)
+ {
+ gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] = 0;
+ }
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ {
+ gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] = 0;
+ gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = 0;
+ }
+ }
+ }
+ if (gSaveBlock2Ptr->frontier.field_CA8 != 0)
+ gSaveBlock2Ptr->frontier.field_CA8 = 1;
+}
+
+u32 GetCurrentFacilityWinStreak(void)
+{
+ s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+
+ switch (facility)
+ {
+ case FRONTIER_FACILITY_TOWER:
+ return gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
+ case FRONTIER_FACILITY_DOME:
+ return gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
+ case FRONTIER_FACILITY_PALACE:
+ return gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode];
+ case FRONTIER_FACILITY_ARENA:
+ return gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode];
+ case FRONTIER_FACILITY_FACTORY:
+ return gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode];
+ case FRONTIER_FACILITY_PIKE:
+ return gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
+ case FRONTIER_FACILITY_PYRAMID:
+ return gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode];
+ default:
+ return 0;
+ }
+}
+
+void sub_81A3ACC(void)
+{
+ s32 i;
+
+ for (i = 0; i < 20; i++)
+ gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
+}
+
+static void sub_81A3B00(void)
+{
+ if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
+ gSpecialVar_Result = TRUE;
+ else
+ gSpecialVar_Result = FALSE;
+}
+
+u8 GetPlayerSymbolCountForFacility(u8 facility)
+{
+ return FlagGet(FLAG_SYS_TOWER_SILVER + facility * 2)
+ + FlagGet(FLAG_SYS_TOWER_GOLD + facility * 2);
+}
+
+static void sub_81A3B64(void)
+{
+ s32 challengeNum = 0;
+ s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ s32 points;
+
+ switch (facility)
+ {
+ case FRONTIER_FACILITY_TOWER:
+ challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7;
+ break;
+ case FRONTIER_FACILITY_DOME:
+ challengeNum = gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode];
+ break;
+ case FRONTIER_FACILITY_PALACE:
+ challengeNum = gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] / 7;
+ break;
+ case FRONTIER_FACILITY_ARENA:
+ challengeNum = gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] / 7;
+ break;
+ case FRONTIER_FACILITY_FACTORY:
+ challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7;
+ break;
+ case FRONTIER_FACILITY_PIKE:
+ challengeNum = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] / 14;
+ break;
+ case FRONTIER_FACILITY_PYRAMID:
+ challengeNum = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] / 7;
+ break;
+ }
+
+ if (challengeNum != 0)
+ challengeNum--;
+ if (challengeNum >= ARRAY_COUNT(gUnknown_086118B4))
+ challengeNum = ARRAY_COUNT(gUnknown_086118B4) - 1;
+
+ points = gUnknown_086118B4[challengeNum][facility][battleMode];
+ if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
+ points += 10;
+ gSaveBlock2Ptr->frontier.battlePoints += points;
+ ConvertIntToDecimalStringN(gStringVar1, points, STR_CONV_MODE_LEFT_ALIGN, 2);
+ if (gSaveBlock2Ptr->frontier.battlePoints > 9999)
+ gSaveBlock2Ptr->frontier.battlePoints = 9999;
+
+ points = gSaveBlock2Ptr->frontier.field_EBA;
+ points += gUnknown_086118B4[challengeNum][facility][battleMode];
+ sub_80EED60(gUnknown_086118B4[challengeNum][facility][battleMode]);
+ if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN)
+ {
+ points += 10;
+ sub_80EED60(10);
+ }
+ if (points > 0xFFFF)
+ points = 0xFFFF;
+ gSaveBlock2Ptr->frontier.field_EBA = points;
+}
+
+static void sub_81A3D30(void)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ gSpecialVar_Result = GetPlayerSymbolCountForFacility(facility);
+}
+
+static void sub_81A3D58(void)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ if (GetPlayerSymbolCountForFacility(facility) == 0)
+ FlagSet(FLAG_SYS_TOWER_SILVER + facility * 2);
+ else
+ FlagSet(FLAG_SYS_TOWER_GOLD + facility * 2);
+}
+
+static void sub_81A3DA0(void)
+{
+ if (gBattleTypeFlags & gSpecialVar_0x8005)
+ gSpecialVar_Result = TRUE;
+ else
+ gSpecialVar_Result = FALSE;
+}
+
+static u8 sub_81A3DD0(u16 species, u8 arg1, s32 arg2)
+{
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
+ {
+ arg1++;
+ switch (arg1)
+ {
+ case 1:
+ case 3:
+ case 5:
+ case 7:
+ case 9:
+ case 11:
+ if (arg2 == arg1)
+ StringAppend(gStringVar1, gText_SpaceAndSpace);
+ else if (arg2 > arg1)
+ StringAppend(gStringVar1, gText_CommaSpace);
+ break;
+ case 2:
+ if (arg1 == arg2)
+ StringAppend(gStringVar1, gText_SpaceAndSpace);
+ else
+ StringAppend(gStringVar1, gText_CommaSpace);
+ StringAppend(gStringVar1, gText_NewLine);
+ break;
+ default:
+ if (arg1 == arg2)
+ StringAppend(gStringVar1, gText_SpaceAndSpace);
+ else
+ StringAppend(gStringVar1, gText_CommaSpace);
+ StringAppend(gStringVar1, gText_ScrollTextUp);
+ break;
+ }
+ StringAppend(gStringVar1, gSpeciesNames[species]);
+ }
+
+ return arg1;
+}
+
+static void AppendIfValid(u16 species, u16 heldItem, u16 hp, u8 lvlMode, u8 monLevel, u16 *speciesArray, u16 *itemsArray, u8 *count)
+{
+ s32 i = 0;
+
+ if (species == SPECIES_EGG || species == SPECIES_NONE)
+ return;
+
+ for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF && gFrontierBannedSpecies[i] != species; i++)
+ ;
+
+ if (gFrontierBannedSpecies[i] != 0xFFFF)
+ return;
+ if (lvlMode == FRONTIER_LVL_50 && monLevel > 50)
+ return;
+
+ for (i = 0; i < *count && speciesArray[i] != species; i++)
+ ;
+ if (i != *count)
+ return;
+
+ if (heldItem != 0)
+ {
+ for (i = 0; i < *count && itemsArray[i] != heldItem; i++)
+ ;
+ if (i != *count)
+ return;
+ }
+
+ speciesArray[*count] = species;
+ itemsArray[*count] = heldItem;
+ (*count)++;
+}
+
+static void sub_81A3FD4(void)
+{
+ u16 speciesArray[6];
+ u16 itemArray[6];
+ s32 monId = 0;
+ s32 toChoose = 0;
+ u8 count = 0;
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ s32 monIdLooper;
+
+ switch (battleMode)
+ {
+ case FRONTIER_MODE_SINGLES:
+ toChoose = 3;
+ break;
+ case FRONTIER_MODE_MULTIS:
+ case FRONTIER_MODE_LINK_MULTIS:
+ toChoose = 2;
+ break;
+ case FRONTIER_MODE_DOUBLES:
+ if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_TOWER)
+ toChoose = 4;
+ else
+ toChoose = 3;
+ break;
+ }
+
+ monIdLooper = 0;
+ do
+ {
+ monId = monIdLooper;
+ count = 0;
+ do
+ {
+ u16 species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2);
+ u16 heldItem = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM);
+ u8 level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL);
+ u16 hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP);
+ if (VarGet(VAR_FRONTIER_FACILITY) == FRONTIER_FACILITY_PYRAMID)
+ {
+ if (heldItem == 0)
+ AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count);
+ }
+ else
+ {
+ AppendIfValid(species, heldItem, hp, gSpecialVar_Result, level, speciesArray, itemArray, &count);
+ }
+ monId++;
+ if (monId >= PARTY_SIZE)
+ monId = 0;
+ } while (monId != monIdLooper);
+
+ monIdLooper++;
+ } while (monIdLooper < PARTY_SIZE && count < toChoose);
+
+ if (count < toChoose)
+ {
+ s32 i;
+ s32 caughtBannedMons = 0;
+ s32 species = gFrontierBannedSpecies[0];
+ for (i = 0; species != 0xFFFF; i++, species = gFrontierBannedSpecies[i])
+ {
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT))
+ caughtBannedMons++;
+ }
+ gStringVar1[0] = EOS;
+ gSpecialVar_0x8004 = 1;
+ count = 0;
+ for (i = 0; gFrontierBannedSpecies[i] != 0xFFFF; i++)
+ count = sub_81A3DD0(gFrontierBannedSpecies[i], count, caughtBannedMons);
+
+ if (count == 0)
+ {
+ StringAppend(gStringVar1, gText_Space2);
+ StringAppend(gStringVar1, gText_Are);
+ }
+ else
+ {
+ if (count & 1)
+ StringAppend(gStringVar1, gText_ScrollTextUp);
+ else
+ StringAppend(gStringVar1, gText_Space2);
+ StringAppend(gStringVar1, gText_Are2);
+ }
+ }
+ else
+ {
+ gSpecialVar_0x8004 = 0;
+ gSaveBlock2Ptr->frontier.lvlMode = gSpecialVar_Result;
+ }
+}
+
+static void sub_81A4224(void)
+{
+ ValidateEReaderTrainer();
+}
+
+static void sub_81A4230(void)
+{
+ s32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ s32 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+
+ switch (facility)
+ {
+ case FRONTIER_FACILITY_TOWER:
+ if (gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] < 9999)
+ {
+ gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]++;
+ if (battleMode == FRONTIER_MODE_SINGLES)
+ {
+ SetGameStat(GAME_STAT_BATTLE_TOWER_BEST_STREAK, gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode]);
+ gSaveBlock2Ptr->frontier.field_D02 = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode];
+ }
+ }
+ break;
+ case FRONTIER_FACILITY_DOME:
+ if (gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode]++;
+ if (gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.domeTotalChampionships[battleMode][lvlMode]++;
+ break;
+ case FRONTIER_FACILITY_PALACE:
+ if (gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode]++;
+ break;
+ case FRONTIER_FACILITY_ARENA:
+ if (gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode]++;
+ break;
+ case FRONTIER_FACILITY_FACTORY:
+ if (gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode]++;
+ break;
+ case FRONTIER_FACILITY_PIKE:
+ if (gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode]++;
+ break;
+ case FRONTIER_FACILITY_PYRAMID:
+ if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] < 9999)
+ gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]++;
+ break;
+ }
+}
+
+static void sub_81A43A8(void)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gSaveBlock2Ptr->frontier.selectedPartyMons[i] != 0)
+ {
+ u16 item = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_HELD_ITEM, NULL);
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &item);
+ }
+ }
+}
+
+static void sub_81A4410(void)
+{
+ gSpecialVar_Result = MoveRecordedBattleToSaveData();
+ gSaveBlock2Ptr->frontier.field_CA9_b = 1;
+}
+
+static void sub_81A443C(void)
+{
+ switch (gSpecialVar_0x8005)
+ {
+ case 0:
+ GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A);
+ break;
+ case 1:
+ GetFrontierTrainerName(gStringVar2, gTrainerBattleOpponent_A);
+ break;
+ }
+}
+
+static void sub_81A447C(void)
+{
+ u8 i, j, k;
+
+ for (i = 0; i < 4; i++)
+ {
+ u16 monId = gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1;
+ if (monId < PARTY_SIZE)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ for (k = 0; k < 4; k++)
+ {
+ if (GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1], MON_DATA_MOVE1 + k, NULL)
+ == GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + j, NULL))
+ break;
+ }
+ if (k == 4)
+ SetMonMoveSlot(&gPlayerParty[i], MOVE_SKETCH, j);
+ }
+ gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[i] - 1] = gPlayerParty[i];
+ }
+ }
+}
+
+static void sub_81A457C(void)
+{
+ SetFrontierBrainEventObjGfx(VarGet(VAR_FRONTIER_FACILITY));
+}
+
+// Battle Frontier Ranking Hall records.
+static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hallRecord, s32 hallFacilityId)
+{
+ u8 text[32];
+ u16 winStreak;
+
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ hallRecord->name[PLAYER_NAME_LENGTH] = EOS;
+ if (hallRecord->winStreak)
+ {
+ TVShowConvertInternationalString(text, hallRecord->name, hallRecord->language);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ winStreak = hallRecord->winStreak;
+ if (winStreak > 9999)
+ winStreak = 9999;
+ ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[hallFacilityId]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ }
+}
+
+static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hallRecord)
+{
+ u8 text[32];
+ u16 winStreak;
+
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gText_123Dot[position], x * 8, (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ if (hallRecord->winStreak)
+ {
+ hallRecord->name1[PLAYER_NAME_LENGTH] = EOS;
+ hallRecord->name2[PLAYER_NAME_LENGTH] = EOS;
+ TVShowConvertInternationalString(text, hallRecord->name1, hallRecord->language);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 2) * 8, (8 * (y + 5 * position - 1)) + 1, TEXT_SPEED_FF, NULL);
+ if (IsStringJapanese(hallRecord->name2))
+ TVShowConvertInternationalString(text, hallRecord->name2, LANGUAGE_JAPANESE);
+ else
+ StringCopy(text, hallRecord->name2);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, text, (x + 4) * 8, (8 * (y + 5 * position + 1)) + 1, TEXT_SPEED_FF, NULL);
+
+ winStreak = hallRecord->winStreak;
+ if (winStreak > 9999)
+ winStreak = 9999;
+ ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[9]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ }
+}
+
+static void Fill1PRecords(struct RankingHall1P *dst, s32 hallFacilityId, s32 lvlMode)
+{
+ s32 i, j;
+ struct RankingHall1P record1P[4];
+ struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords));
+ GetPlayerHallRecords(playerHallRecords);
+
+ for (i = 0; i < 3; i++)
+ record1P[i] = gSaveBlock2Ptr->hallRecords1P[hallFacilityId][lvlMode][i];
+
+ record1P[3] = playerHallRecords->onePlayer[hallFacilityId][lvlMode];
+
+ for (i = 0; i < 3; i++)
+ {
+ s32 highestWinStreak = 0;
+ s32 highestId = 0;
+ for (j = 0; j < 4; j++)
+ {
+ if (record1P[j].winStreak > highestWinStreak)
+ {
+ highestId = j;
+ highestWinStreak = record1P[j].winStreak;
+ }
+ }
+ if (record1P[3].winStreak >= highestWinStreak)
+ highestId = 3;
+
+ dst[i] = record1P[highestId];
+ record1P[highestId].winStreak = 0;
+ }
+
+ free(playerHallRecords);
+}
+
+static void Fill2PRecords(struct RankingHall2P *dst, s32 lvlMode)
+{
+ s32 i, j;
+ struct RankingHall2P record2P[4];
+ struct PlayerHallRecords *playerHallRecords = calloc(1, sizeof(struct PlayerHallRecords));
+ GetPlayerHallRecords(playerHallRecords);
+
+ for (i = 0; i < 3; i++)
+ record2P[i] = gSaveBlock2Ptr->hallRecords2P[lvlMode][i];
+
+ record2P[3] = playerHallRecords->twoPlayers[lvlMode];
+
+ for (i = 0; i < 3; i++)
+ {
+ s32 highestWinStreak = 0;
+ s32 highestId = 0;
+ for (j = 0; j < 3; j++)
+ {
+ if (record2P[j].winStreak > highestWinStreak)
+ {
+ highestId = j;
+ highestWinStreak = record2P[j].winStreak;
+ }
+ }
+ if (record2P[3].winStreak >= highestWinStreak)
+ highestId = 3;
+
+ dst[i] = record2P[highestId];
+ record2P[highestId].winStreak = 0;
+ }
+
+ free(playerHallRecords);
+}
+
+static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
+{
+ s32 i;
+ s32 x;
+ struct RankingHall1P records1P[3];
+ struct RankingHall2P records2P[3];
+
+ StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
+ x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
+ if (hallFacilityId == HALL_FACILITIES_COUNT)
+ {
+ gSaveBlock2Ptr->frontier.field_EE1[0][PLAYER_NAME_LENGTH] = EOS;
+ gSaveBlock2Ptr->frontier.field_EE1[1][PLAYER_NAME_LENGTH] = EOS;
+ Fill2PRecords(records2P, lvlMode);
+ for (i = 0; i < 3; i++)
+ Print2PRecord(i, 1, 4, &records2P[i]);
+ }
+ else
+ {
+ Fill1PRecords(records1P, hallFacilityId, lvlMode);
+ for (i = 0; i < 3; i++)
+ Print1PRecord(i, 1, 4, &records1P[i], hallFacilityId);
+ }
+}
+
+void ShowRankingHallRecordsWindow(void)
+{
+ gRecordsWindowId = AddWindow(&gUnknown_08611C84);
+ NewMenuHelpers_DrawStdWindowFrame(gRecordsWindowId, FALSE);
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_50);
+ PutWindowTilemap(gRecordsWindowId);
+ CopyWindowToVram(gRecordsWindowId, 3);
+}
+
+void ScrollRankingHallRecordsWindow(void)
+{
+ FillWindowPixelBuffer(gRecordsWindowId, 0x11);
+ PrintHallRecords(gSpecialVar_0x8005, FRONTIER_LVL_OPEN);
+ CopyWindowToVram(gRecordsWindowId, 2);
+}
+
+void ClearRankingHallRecords(void)
+{
+ s32 i, j, k;
+
+ for (i = 0; i < HALL_FACILITIES_COUNT; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ for (k = 0; k < 3; k++)
+ {
+ CopyTrainerId(gSaveBlock2Ptr->hallRecords1P[i][j][k].id, 0); // BUG: Passing 0 as a pointer instead of a pointer holding a value of 0.
+ gSaveBlock2Ptr->hallRecords1P[i][j][k].name[0] = EOS;
+ gSaveBlock2Ptr->hallRecords1P[i][j][k].winStreak = 0;
+ }
+ }
+ }
+
+ for (j = 0; j < 2; j++)
+ {
+ for (k = 0; k < 3; k++)
+ {
+ CopyTrainerId(gSaveBlock2Ptr->hallRecords2P[j][k].id1, 0); // BUG: Passing 0 as a pointer instead of a pointer holding a value of 0.
+ CopyTrainerId(gSaveBlock2Ptr->hallRecords2P[j][k].id2, 0); // BUG: Passing 0 as a pointer instead of a pointer holding a value of 0.
+ gSaveBlock2Ptr->hallRecords2P[j][k].name1[0] = EOS;
+ gSaveBlock2Ptr->hallRecords2P[j][k].name2[0] = EOS;
+ gSaveBlock2Ptr->hallRecords2P[j][k].winStreak = 0;
+ }
+ }
+}
+
+void sub_81A4C30(void)
+{
+ s32 i;
+ struct Pokemon *monsParty = calloc(PARTY_SIZE, sizeof(struct Pokemon));
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ monsParty[i] = gPlayerParty[i];
+
+ i = gPlayerPartyCount;
+ LoadPlayerParty();
+ sub_8076D5C();
+ TrySavingData(SAVE_LINK);
+ sav2_gender2_inplace_and_xFE();
+ gPlayerPartyCount = i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ gPlayerParty[i] = monsParty[i];
+
+ free(monsParty);
+}
+
+// Frontier Brain functions.
+u8 GetFrontierBrainTrainerPicIndex(void)
+{
+ s32 facility;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ facility = GetRecordedBattleFrontierFacility();
+ else
+ facility = VarGet(VAR_FRONTIER_FACILITY);
+
+ return gTrainers[gFacilityToBrainTrainerId[facility]].trainerPic;
+}
+
+u8 GetFrontierBrainTrainerClass(void)
+{
+ s32 facility;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ facility = GetRecordedBattleFrontierFacility();
+ else
+ facility = VarGet(VAR_FRONTIER_FACILITY);
+
+ return gTrainers[gFacilityToBrainTrainerId[facility]].trainerClass;
+}
+
+void CopyFrontierBrainTrainerName(u8 *dst)
+{
+ s32 i;
+ s32 facility;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ facility = GetRecordedBattleFrontierFacility();
+ else
+ facility = VarGet(VAR_FRONTIER_FACILITY);
+
+ for (i = 0; i < PLAYER_NAME_LENGTH; i++)
+ dst[i] = gTrainers[gFacilityToBrainTrainerId[facility]].trainerName[i];
+
+ dst[i] = EOS;
+}
+
+bool8 IsFrontierBrainFemale(void)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ return sFacilityToBrainEventObjGfx[facility][1];
+}
+
+void SetFrontierBrainEventObjGfx_2(void)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ VarSet(VAR_OBJ_GFX_ID_0, sFacilityToBrainEventObjGfx[facility][0]);
+}
+
+#define FRONTIER_BRAIN_OTID 61226
+
+#ifdef NONMATCHING
+void CreateFrontierBrainPokemon(void)
+{
+ s32 i, j;
+ s32 monCountInBits;
+ s32 monPartyId;
+ s32 monLevel = 0;
+ u8 friendship;
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 symbol = GetFronterBrainSymbol();
+
+ if (facility == FRONTIER_FACILITY_DOME)
+ monCountInBits = GetDomeTrainerMonCountInBits(TrainerIdToDomeTournamentId(TRAINER_FRONTIER_BRAIN));
+ else
+ monCountInBits = 7;
+
+ ZeroEnemyPartyMons();
+ monPartyId = 0;
+ monLevel = SetFacilityPtrsGetLevel();
+ for (i = 0; i < 3; monCountInBits >>= 1, i++)
+ {
+ if (!(monCountInBits & 1))
+ continue;
+
+ do
+ {
+ j = Random32();
+ } while (IsShinyOtIdPersonality(FRONTIER_BRAIN_OTID, j) || sFrontierBrainsMons[facility][symbol][i].nature != GetNatureFromPersonality(j));
+ CreateMon(&gEnemyParty[monPartyId],
+ sFrontierBrainsMons[facility][symbol][i].species,
+ monLevel,
+ sFrontierBrainsMons[facility][symbol][i].fixedIV,
+ TRUE, j,
+ TRUE, FRONTIER_BRAIN_OTID);
+ SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, &sFrontierBrainsMons[facility][symbol][i].heldItem);
+ for (j = 0; j < NUM_STATS; j++)
+ SetMonData(&gEnemyParty[monPartyId], MON_DATA_HP_EV + j, &sFrontierBrainsMons[facility][symbol][i].evs[j]);
+ friendship = 0xFF;
+ for (j = 0; j < 4; j++)
+ {
+ SetMonMoveSlot(&gEnemyParty[monPartyId], sFrontierBrainsMons[facility][symbol][i].moves[j], j);
+ if (sFrontierBrainsMons[facility][symbol][i].moves[j] == MOVE_FRUSTRATION)
+ friendship = 0;
+ }
+ SetMonData(&gEnemyParty[monPartyId], MON_DATA_FRIENDSHIP, &friendship);
+ CalculateMonStats(&gEnemyParty[monPartyId]);
+ monPartyId++;
+ }
+}
+#else
+NAKED
+void CreateFrontierBrainPokemon(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\
+ sub sp, 0x44\n\
+ ldr r0, =0x000040cf\n\
+ bl VarGet\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x20]\n\
+ bl GetFronterBrainSymbol\n\
+ str r0, [sp, 0x24]\n\
+ ldr r0, [sp, 0x20]\n\
+ cmp r0, 0x1\n\
+ bne _081A4E44\n\
+ ldr r0, =0x000003fe\n\
+ bl TrainerIdToDomeTournamentId\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ bl GetDomeTrainerMonCountInBits\n\
+ adds r4, r0, 0\n\
+ b _081A4E46\n\
+ .pool\n\
+_081A4E44:\n\
+ movs r4, 0x7\n\
+_081A4E46:\n\
+ bl ZeroEnemyPartyMons\n\
+ movs r1, 0\n\
+ str r1, [sp, 0x18]\n\
+ bl SetFacilityPtrsGetLevel\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ str r0, [sp, 0x1C]\n\
+ movs r2, 0\n\
+ str r2, [sp, 0x14]\n\
+_081A4E5C:\n\
+ movs r0, 0x1\n\
+ ands r0, r4\n\
+ asrs r4, 1\n\
+ str r4, [sp, 0x30]\n\
+ ldr r3, [sp, 0x14]\n\
+ adds r3, 0x1\n\
+ str r3, [sp, 0x28]\n\
+ cmp r0, 0\n\
+ bne _081A4E70\n\
+ b _081A4FC4\n\
+_081A4E70:\n\
+ ldr r4, [sp, 0x14]\n\
+ lsls r4, 2\n\
+ mov r9, r4\n\
+ ldr r0, [sp, 0x24]\n\
+ lsls r0, 4\n\
+ str r0, [sp, 0x38]\n\
+ ldr r1, [sp, 0x20]\n\
+ lsls r1, 4\n\
+ str r1, [sp, 0x34]\n\
+ ldr r2, [sp, 0x1C]\n\
+ lsls r2, 24\n\
+ str r2, [sp, 0x3C]\n\
+ ldr r3, [sp, 0x18]\n\
+ adds r3, 0x1\n\
+ str r3, [sp, 0x2C]\n\
+ ldr r0, [sp, 0x14]\n\
+ add r0, r9\n\
+ lsls r0, 2\n\
+ mov r8, r0\n\
+_081A4E96:\n\
+ bl Random\n\
+ adds r4, r0, 0\n\
+ bl Random\n\
+ lsls r4, 16\n\
+ lsrs r7, r4, 16\n\
+ lsls r0, 16\n\
+ orrs r7, r0\n\
+ ldr r0, =0x0000ef2a\n\
+ adds r1, r7, 0\n\
+ bl IsShinyOtIdPersonality\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _081A4E96\n\
+ ldr r4, [sp, 0x38]\n\
+ ldr r1, [sp, 0x24]\n\
+ subs r0, r4, r1\n\
+ lsls r5, r0, 2\n\
+ mov r2, r8\n\
+ adds r4, r2, r5\n\
+ ldr r3, [sp, 0x34]\n\
+ ldr r1, [sp, 0x20]\n\
+ subs r0, r3, r1\n\
+ lsls r6, r0, 3\n\
+ adds r4, r6\n\
+ ldr r2, =sFrontierBrainsMons\n\
+ adds r4, r2\n\
+ adds r0, r7, 0\n\
+ bl GetNatureFromPersonality\n\
+ ldrb r1, [r4, 0x5]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r1, r0\n\
+ bne _081A4E96\n\
+ ldr r4, [sp, 0x18]\n\
+ movs r0, 0x64\n\
+ adds r3, r4, 0\n\
+ muls r3, r0\n\
+ mov r8, r3\n\
+ ldr r1, =gEnemyParty\n\
+ add r1, r8\n\
+ mov r10, r1\n\
+ ldr r4, [sp, 0x14]\n\
+ add r4, r9\n\
+ lsls r4, 2\n\
+ adds r0, r4, r5\n\
+ adds r0, r6\n\
+ ldr r2, =sFrontierBrainsMons\n\
+ adds r0, r2\n\
+ ldrh r1, [r0]\n\
+ ldr r3, [sp, 0x3C]\n\
+ lsrs r2, r3, 24\n\
+ ldrb r3, [r0, 0x4]\n\
+ movs r0, 0x1\n\
+ str r0, [sp]\n\
+ str r7, [sp, 0x4]\n\
+ str r0, [sp, 0x8]\n\
+ ldr r0, =0x0000ef2a\n\
+ str r0, [sp, 0xC]\n\
+ mov r0, r10\n\
+ bl CreateMon\n\
+ ldr r0, =sFrontierBrainsMons\n\
+ adds r5, r0\n\
+ adds r5, r6, r5\n\
+ adds r4, r5, r4\n\
+ adds r4, 0x2\n\
+ mov r0, r10\n\
+ movs r1, 0xC\n\
+ adds r2, r4, 0\n\
+ bl SetMonData\n\
+ movs r7, 0\n\
+ mov r6, r8\n\
+ ldr r3, =gEnemyParty\n\
+_081A4F32:\n\
+ adds r1, r7, 0\n\
+ adds r1, 0x1A\n\
+ ldr r0, [sp, 0x14]\n\
+ add r0, r9\n\
+ lsls r4, r0, 2\n\
+ adds r2, r5, r4\n\
+ adds r0, r7, 0x6\n\
+ adds r2, r0\n\
+ adds r0, r6, r3\n\
+ str r3, [sp, 0x40]\n\
+ bl SetMonData\n\
+ adds r7, 0x1\n\
+ ldr r3, [sp, 0x40]\n\
+ cmp r7, 0x5\n\
+ ble _081A4F32\n\
+ movs r1, 0xFF\n\
+ add r0, sp, 0x10\n\
+ strb r1, [r0]\n\
+ movs r7, 0\n\
+ ldr r1, [sp, 0x18]\n\
+ movs r2, 0x64\n\
+ adds r6, r1, 0\n\
+ muls r6, r2\n\
+ ldr r3, =sFrontierBrainsMons + 0xC\n\
+ mov r8, r3\n\
+ ldr r3, =gEnemyParty\n\
+ adds r5, r4, 0\n\
+_081A4F6A:\n\
+ ldr r4, [sp, 0x38]\n\
+ ldr r0, [sp, 0x24]\n\
+ subs r1, r4, r0\n\
+ lsls r1, 2\n\
+ adds r1, r5, r1\n\
+ ldr r2, [sp, 0x34]\n\
+ ldr r4, [sp, 0x20]\n\
+ subs r0, r2, r4\n\
+ lsls r0, 3\n\
+ adds r1, r0\n\
+ add r1, r8\n\
+ ldrh r4, [r1]\n\
+ lsls r2, r7, 24\n\
+ lsrs r2, 24\n\
+ adds r0, r6, r3\n\
+ adds r1, r4, 0\n\
+ str r3, [sp, 0x40]\n\
+ bl SetMonMoveSlot\n\
+ ldr r3, [sp, 0x40]\n\
+ cmp r4, 0xDA\n\
+ bne _081A4F9C\n\
+ movs r1, 0\n\
+ add r0, sp, 0x10\n\
+ strb r1, [r0]\n\
+_081A4F9C:\n\
+ adds r5, 0x2\n\
+ adds r7, 0x1\n\
+ cmp r7, 0x3\n\
+ ble _081A4F6A\n\
+ ldr r0, [sp, 0x18]\n\
+ movs r1, 0x64\n\
+ adds r4, r0, 0\n\
+ muls r4, r1\n\
+ ldr r0, =gEnemyParty\n\
+ adds r4, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x20\n\
+ add r2, sp, 0x10\n\
+ bl SetMonData\n\
+ adds r0, r4, 0\n\
+ bl CalculateMonStats\n\
+ ldr r2, [sp, 0x2C]\n\
+ str r2, [sp, 0x18]\n\
+_081A4FC4:\n\
+ ldr r4, [sp, 0x30]\n\
+ ldr r3, [sp, 0x28]\n\
+ str r3, [sp, 0x14]\n\
+ cmp r3, 0x2\n\
+ bgt _081A4FD0\n\
+ b _081A4E5C\n\
+_081A4FD0:\n\
+ add sp, 0x44\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
+
+u16 GetFrontierBrainMonSpecies(u8 monId)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 symbol = GetFronterBrainSymbol();
+
+ return sFrontierBrainsMons[facility][symbol][monId].species;
+}
+
+void SetFrontierBrainEventObjGfx(u8 facility)
+{
+ gTrainerBattleOpponent_A = TRAINER_FRONTIER_BRAIN;
+ VarSet(VAR_OBJ_GFX_ID_0, sFacilityToBrainEventObjGfx[facility][0]);
+}
+
+u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 symbol = GetFronterBrainSymbol();
+
+ return sFrontierBrainsMons[facility][symbol][monId].moves[moveSlotId];
+}
+
+u8 GetFrontierBrainMonNature(u8 monId)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 symbol = GetFronterBrainSymbol();
+
+ return sFrontierBrainsMons[facility][symbol][monId].nature;
+}
+
+u8 GetFrontierBrainMonEvs(u8 monId, u8 evStatId)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 symbol = GetFronterBrainSymbol();
+
+ return sFrontierBrainsMons[facility][symbol][monId].evs[evStatId];
+}
+
+s32 GetFronterBrainSymbol(void)
+{
+ s32 facility = VarGet(VAR_FRONTIER_FACILITY);
+ s32 symbol = GetPlayerSymbolCountForFacility(facility);
+
+ if (symbol == 2)
+ {
+ u16 winStreak = GetCurrentFacilityWinStreak();
+ if (winStreak + gUnknown_08611550[facility][3] == gUnknown_08611550[facility][0])
+ symbol = 0;
+ else if (winStreak + gUnknown_08611550[facility][3] == gUnknown_08611550[facility][1])
+ symbol = 1;
+ else if (winStreak + gUnknown_08611550[facility][3] > gUnknown_08611550[facility][1]
+ && (winStreak + gUnknown_08611550[facility][3] - gUnknown_08611550[facility][1]) % gUnknown_08611550[facility][2] == 0)
+ symbol = 1;
+ }
+ return symbol;
+}
+
+static void CopyFrontierBrainText(bool8 playerWonText)
+{
+ s32 facility;
+ s32 symbol;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
+ {
+ facility = GetRecordedBattleFrontierFacility();
+ symbol = GetRecordedBattleFronterBrainSymbol();
+ }
+ else
+ {
+ facility = VarGet(VAR_FRONTIER_FACILITY);
+ symbol = GetFronterBrainSymbol();
+ }
+
+ switch (playerWonText)
+ {
+ case FALSE:
+ StringCopy(gStringVar4, gUnknown_08611DB0[symbol][facility]);
+ break;
+ case TRUE:
+ StringCopy(gStringVar4, gUnknown_08611DB8[symbol][facility]);
+ break;
+ }
+}
diff --git a/src/ghost.c b/src/ghost.c
new file mode 100644
index 000000000..ce57df7e8
--- /dev/null
+++ b/src/ghost.c
@@ -0,0 +1,186 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_811160C(struct Sprite *);
+extern void sub_81117F4(struct Sprite *);
+extern void sub_81119E0(struct Sprite *);
+extern void sub_8111B9C(struct Sprite *);
+extern void sub_8112264(struct Sprite *);
+extern void sub_81129F0(struct Sprite *);
+extern void sub_8112B78(struct Sprite *);
+extern void sub_8112E9C(struct Sprite *);
+extern void sub_8112F60(struct Sprite *);
+
+const union AffineAnimCmd gUnknown_08596CF8[] =
+{
+ AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5),
+ AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08596D10[] =
+{
+ gUnknown_08596CF8,
+};
+
+const struct SpriteTemplate gUnknown_08596D14 =
+{
+ .tileTag = ANIM_TAG_YELLOW_BALL,
+ .paletteTag = ANIM_TAG_YELLOW_BALL,
+ .oam = &gUnknown_085249CC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596D10,
+ .callback = sub_811160C,
+};
+
+const struct SpriteTemplate gUnknown_08596D2C =
+{
+ .tileTag = ANIM_TAG_YELLOW_BALL,
+ .paletteTag = ANIM_TAG_YELLOW_BALL,
+ .oam = &gUnknown_08524A2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81117F4,
+};
+
+const union AffineAnimCmd gUnknown_08596D44[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08596D54[] =
+{
+ gUnknown_08596D44,
+};
+
+const struct SpriteTemplate gUnknown_08596D58 =
+{
+ .tileTag = ANIM_TAG_SHADOW_BALL,
+ .paletteTag = ANIM_TAG_SHADOW_BALL,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596D54,
+ .callback = sub_81119E0,
+};
+
+const union AnimCmd gUnknown_08596D70[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(8, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(24, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596D88[] =
+{
+ gUnknown_08596D70,
+};
+
+const struct SpriteTemplate gUnknown_08596D8C =
+{
+ .tileTag = ANIM_TAG_LICK,
+ .paletteTag = ANIM_TAG_LICK,
+ .oam = &gUnknown_08524954,
+ .anims = gUnknown_08596D88,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8111B9C,
+};
+
+const union AffineAnimCmd gUnknown_08596DA4[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596DB4[] =
+{
+ gUnknown_08596DA4,
+};
+
+const struct SpriteTemplate gUnknown_08596DB8 =
+{
+ .tileTag = ANIM_TAG_WHITE_SHADOW,
+ .paletteTag = ANIM_TAG_WHITE_SHADOW,
+ .oam = &gUnknown_08524A5C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8112264,
+};
+
+const struct SpriteTemplate gUnknown_08596DD0 =
+{
+ .tileTag = ANIM_TAG_NAIL,
+ .paletteTag = ANIM_TAG_NAIL,
+ .oam = &gUnknown_08524A54,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81129F0,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8596DE8 =
+{
+ .tileTag = ANIM_TAG_GHOSTLY_SPIRIT,
+ .paletteTag = ANIM_TAG_GHOSTLY_SPIRIT,
+ .oam = &gUnknown_08524A34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8112B78,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8596E00 =
+{
+ .tileTag = ANIM_TAG_DEVIL,
+ .paletteTag = ANIM_TAG_DEVIL,
+ .oam = &gUnknown_08524A34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8112B78,
+};
+
+const union AnimCmd gUnknown_08596E18[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(24, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08596E2C[] =
+{
+ gUnknown_08596E18,
+};
+
+const struct SpriteTemplate gUnknown_08596E30 =
+{
+ .tileTag = ANIM_TAG_PURPLE_FLAME,
+ .paletteTag = ANIM_TAG_PURPLE_FLAME,
+ .oam = &gUnknown_08524A74,
+ .anims = gUnknown_08596E2C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8112E9C,
+};
+
+const struct SpriteTemplate gUnknown_08596E48 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8112F60,
+};
diff --git a/src/graphics.c b/src/graphics.c
index 5debb721a..b2de074bc 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1,353 +1,353 @@
#include "global.h"
-const u8 gBattleTextboxTiles[] = INCBIN_U8("graphics/interface/menu.4bpp.lz");
-const u8 gBattleTextboxPalette[] = INCBIN_U8("graphics/interface/menu.gbapal.lz");
-const u16 gBattleTextboxTilemap[] = INCBIN_U16("graphics/interface/menu_map.bin.lz");
+const u32 gBattleTextboxTiles[] = INCBIN_U32("graphics/battle_interface/textbox.4bpp.lz");
+const u32 gBattleTextboxPalette[] = INCBIN_U32("graphics/battle_interface/textbox.gbapal.lz");
+const u32 gBattleTextboxTilemap[] = INCBIN_U32("graphics/battle_interface/textbox_map.bin.lz");
-const u8 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/front_pics/circled_question_mark_still_front_pic.4bpp.lz");
-const u8 gMonBackPic_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/back_pics/circled_question_mark_back_pic.4bpp.lz");
-const u8 gMonPalette_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz");
-const u8 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U8("graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz");
+const u32 gMonStillFrontPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/front_pics/circled_question_mark_still_front_pic.4bpp.lz");
+const u32 gMonBackPic_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/back_pics/circled_question_mark_back_pic.4bpp.lz");
+const u32 gMonPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/circled_question_mark_palette.gbapal.lz");
+const u32 gMonShinyPalette_CircledQuestionMark[] = INCBIN_U32("graphics/pokemon/palettes/circled_question_mark_shiny_palette.gbapal.lz");
-const u8 gUnusedGfx_OldCharmap[] = INCBIN_U8("graphics/unused/old_charmap.4bpp.lz"); // japanese table and bunch of stuff
-const u16 gUnusedTimemap_OldCharmap[] = INCBIN_U16("graphics/unused/old_charmap.bin.lz");
-const u8 gUnusedPal_OldCharmap[] = INCBIN_U8("graphics/unused/old_charmap.gbapal.lz");
+const u32 gUnusedGfx_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.4bpp.lz"); // japanese table and bunch of stuff
+const u32 gUnusedTimemap_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.bin.lz");
+const u32 gUnusedPal_OldCharmap[] = INCBIN_U32("graphics/unused/old_charmap.gbapal.lz");
-const u8 gSmokescreenImpactTiles[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz");
-const u8 gSmokescreenImpactPalette[] = INCBIN_U8("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz");
+const u32 gSmokescreenImpactTiles[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.4bpp.lz");
+const u32 gSmokescreenImpactPalette[] = INCBIN_U32("graphics/battle_anims/sprites/smokescreen_impact.gbapal.lz");
#include "data/graphics/interface_pokeballs.h"
-const u8 gBlankGfxCompressed[] = INCBIN_U8("graphics/interface/blank.4bpp.lz");
+const u32 gBlankGfxCompressed[] = INCBIN_U32("graphics/interface/blank.4bpp.lz");
// Battle anims
-const u8 gBattleAnimSpriteSheet_146[] = INCBIN_U8("graphics/battle_anims/sprites/146.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_000[] = INCBIN_U8("graphics/battle_anims/sprites/000.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_003[] = INCBIN_U8("graphics/battle_anims/sprites/003.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_004[] = INCBIN_U8("graphics/battle_anims/sprites/004.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_005[] = INCBIN_U8("graphics/battle_anims/sprites/005.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_006[] = INCBIN_U8("graphics/battle_anims/sprites/006.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_146[] = INCBIN_U32("graphics/battle_anims/sprites/146.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.4bpp.lz");
-const u8 gBattleAnimSpritePalette_115[] = INCBIN_U8("graphics/battle_anims/sprites/115.gbapal.lz");
-const u8 gBattleAnimSpritePalette_000[] = INCBIN_U8("graphics/battle_anims/sprites/000.gbapal.lz");
-const u8 gBattleAnimSpritePalette_003[] = INCBIN_U8("graphics/battle_anims/sprites/003.gbapal.lz");
-const u8 gBattleAnimSpritePalette_004[] = INCBIN_U8("graphics/battle_anims/sprites/004.gbapal.lz");
-const u8 gBattleAnimSpritePalette_005[] = INCBIN_U8("graphics/battle_anims/sprites/005.gbapal.lz");
-const u8 gBattleAnimSpritePalette_006[] = INCBIN_U8("graphics/battle_anims/sprites/006.gbapal.lz");
+const u32 gBattleAnimSpritePalette_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.gbapal.lz");
+const u32 gBattleAnimSpritePalette_000[] = INCBIN_U32("graphics/battle_anims/sprites/000.gbapal.lz");
+const u32 gBattleAnimSpritePalette_003[] = INCBIN_U32("graphics/battle_anims/sprites/003.gbapal.lz");
+const u32 gBattleAnimSpritePalette_004[] = INCBIN_U32("graphics/battle_anims/sprites/004.gbapal.lz");
+const u32 gBattleAnimSpritePalette_005[] = INCBIN_U32("graphics/battle_anims/sprites/005.gbapal.lz");
+const u32 gBattleAnimSpritePalette_006[] = INCBIN_U32("graphics/battle_anims/sprites/006.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_161[] = INCBIN_U8("graphics/battle_anims/sprites/161.4bpp.lz");
-const u8 gBattleAnimSpritePalette_161[] = INCBIN_U8("graphics/battle_anims/sprites/161.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.4bpp.lz");
+const u32 gBattleAnimSpritePalette_161[] = INCBIN_U32("graphics/battle_anims/sprites/161.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_007[] = INCBIN_U8("graphics/battle_anims/sprites/007.4bpp.lz");
-const u8 gBattleAnimSpritePalette_007[] = INCBIN_U8("graphics/battle_anims/sprites/007.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.4bpp.lz");
+const u32 gBattleAnimSpritePalette_007[] = INCBIN_U32("graphics/battle_anims/sprites/007.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_008[] = INCBIN_U8("graphics/battle_anims/sprites/008.4bpp.lz");
-const u8 gBattleAnimSpritePalette_008[] = INCBIN_U8("graphics/battle_anims/sprites/008.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.4bpp.lz");
+const u32 gBattleAnimSpritePalette_008[] = INCBIN_U32("graphics/battle_anims/sprites/008.gbapal.lz");
-const u8 gBattleAnimSpritePalette_010[] = INCBIN_U8("graphics/battle_anims/sprites/010.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_010[] = INCBIN_U8("graphics/battle_anims/sprites/010.4bpp.lz");
+const u32 gBattleAnimSpritePalette_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_010[] = INCBIN_U32("graphics/battle_anims/sprites/010.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_009[] = INCBIN_U8("graphics/battle_anims/sprites/009.4bpp.lz");
-const u8 gBattleAnimSpritePalette_009[] = INCBIN_U8("graphics/battle_anims/sprites/009.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.4bpp.lz");
+const u32 gBattleAnimSpritePalette_009[] = INCBIN_U32("graphics/battle_anims/sprites/009.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_011[] = INCBIN_U8("graphics/battle_anims/sprites/011.4bpp.lz");
-const u8 gBattleAnimSpritePalette_011[] = INCBIN_U8("graphics/battle_anims/sprites/011.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.4bpp.lz");
+const u32 gBattleAnimSpritePalette_011[] = INCBIN_U32("graphics/battle_anims/sprites/011.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_012[] = INCBIN_U8("graphics/battle_anims/sprites/012.4bpp.lz");
-const u8 gBattleAnimSpritePalette_012[] = INCBIN_U8("graphics/battle_anims/sprites/012.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.4bpp.lz");
+const u32 gBattleAnimSpritePalette_012[] = INCBIN_U32("graphics/battle_anims/sprites/012.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_152[] = INCBIN_U8("graphics/battle_anims/sprites/152.4bpp.lz");
-const u8 gBattleAnimSpritePalette_152[] = INCBIN_U8("graphics/battle_anims/sprites/152.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.4bpp.lz");
+const u32 gBattleAnimSpritePalette_152[] = INCBIN_U32("graphics/battle_anims/sprites/152.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_013[] = INCBIN_U8("graphics/battle_anims/sprites/013.4bpp.lz");
-const u8 gBattleAnimSpritePalette_013[] = INCBIN_U8("graphics/battle_anims/sprites/013.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.4bpp.lz");
+const u32 gBattleAnimSpritePalette_013[] = INCBIN_U32("graphics/battle_anims/sprites/013.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_015[] = INCBIN_U8("graphics/battle_anims/sprites/015.4bpp.lz");
-const u8 gBattleAnimSpritePalette_015[] = INCBIN_U8("graphics/battle_anims/sprites/015.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.4bpp.lz");
+const u32 gBattleAnimSpritePalette_015[] = INCBIN_U32("graphics/battle_anims/sprites/015.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_016[] = INCBIN_U8("graphics/battle_anims/sprites/016.4bpp.lz");
-const u8 gBattleAnimSpritePalette_016[] = INCBIN_U8("graphics/battle_anims/sprites/016.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.4bpp.lz");
+const u32 gBattleAnimSpritePalette_016[] = INCBIN_U32("graphics/battle_anims/sprites/016.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_017[] = INCBIN_U8("graphics/battle_anims/sprites/017.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_017[] = INCBIN_U32("graphics/battle_anims/sprites/017.4bpp.lz");
-const u8 gUnknownGfx_C035B8[] = INCBIN_U8("graphics/unknown/unknown_C035B8.4bpp.lz");
+const u32 gUnknownGfx_C035B8[] = INCBIN_U32("graphics/unknown/unknown_C035B8.4bpp.lz");
-const u8 gBattleAnimSpritePalette_019[] = INCBIN_U8("graphics/battle_anims/sprites/019.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_019[] = INCBIN_U8("graphics/battle_anims/sprites/019.4bpp.lz");
+const u32 gBattleAnimSpritePalette_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_019[] = INCBIN_U32("graphics/battle_anims/sprites/019.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_020[] = INCBIN_U8("graphics/battle_anims/sprites/020.4bpp.lz");
-const u8 gBattleAnimSpritePalette_020[] = INCBIN_U8("graphics/battle_anims/sprites/020.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.4bpp.lz");
+const u32 gBattleAnimSpritePalette_020[] = INCBIN_U32("graphics/battle_anims/sprites/020.gbapal.lz");
-const u8 gBattleAnimSpritePalette_023[] = INCBIN_U8("graphics/battle_anims/sprites/023.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_023[] = INCBIN_U8("graphics/battle_anims/sprites/023.4bpp.lz");
+const u32 gBattleAnimSpritePalette_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_023[] = INCBIN_U32("graphics/battle_anims/sprites/023.4bpp.lz");
-const u8 gUnused_BattleSpritePalette_023[] = INCBIN_U8("graphics/unused/battle_anim_023.gbapal.lz");
+const u32 gUnused_BattleSpritePalette_023[] = INCBIN_U32("graphics/unused/battle_anim_023.gbapal.lz");
-const u8 gUnusedGfx_MusicNotes[] = INCBIN_U8("graphics/unused/music_notes.4bpp.lz");
+const u32 gUnusedGfx_MusicNotes[] = INCBIN_U32("graphics/unused/music_notes.4bpp.lz");
-const u8 gBattleAnimSpritePalette_021[] = INCBIN_U8("graphics/battle_anims/sprites/021.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_021[] = INCBIN_U8("graphics/battle_anims/sprites/021.4bpp.lz");
+const u32 gBattleAnimSpritePalette_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_021[] = INCBIN_U32("graphics/battle_anims/sprites/021.4bpp.lz");
-const u8 gBattleAnimSpritePalette_022[] = INCBIN_U8("graphics/battle_anims/sprites/022.gbapal.lz");
+const u32 gBattleAnimSpritePalette_022[] = INCBIN_U32("graphics/battle_anims/sprites/022.gbapal.lz");
-const u8 gBattleAnimSpritePalette_025[] = INCBIN_U8("graphics/battle_anims/sprites/025.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_025[] = INCBIN_U8("graphics/battle_anims/sprites/025.4bpp.lz");
+const u32 gBattleAnimSpritePalette_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_025[] = INCBIN_U32("graphics/battle_anims/sprites/025.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_024[] = INCBIN_U8("graphics/battle_anims/sprites/024.4bpp.lz");
-const u8 gBattleAnimSpritePalette_024[] = INCBIN_U8("graphics/battle_anims/sprites/024.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.4bpp.lz");
+const u32 gBattleAnimSpritePalette_024[] = INCBIN_U32("graphics/battle_anims/sprites/024.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_031[] = INCBIN_U8("graphics/battle_anims/sprites/031.4bpp.lz");
-const u8 gBattleAnimSpritePalette_031[] = INCBIN_U8("graphics/battle_anims/sprites/031.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.4bpp.lz");
+const u32 gBattleAnimSpritePalette_031[] = INCBIN_U32("graphics/battle_anims/sprites/031.gbapal.lz");
-const u8 gBattleAnimSpritePalette_032[] = INCBIN_U8("graphics/battle_anims/sprites/032.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_032[] = INCBIN_U8("graphics/battle_anims/sprites/032.4bpp.lz");
+const u32 gBattleAnimSpritePalette_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_032[] = INCBIN_U32("graphics/battle_anims/sprites/032.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_026[] = INCBIN_U8("graphics/battle_anims/sprites/026.4bpp.lz");
-const u8 gBattleAnimSpritePalette_026[] = INCBIN_U8("graphics/battle_anims/sprites/026.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.4bpp.lz");
+const u32 gBattleAnimSpritePalette_026[] = INCBIN_U32("graphics/battle_anims/sprites/026.gbapal.lz");
-const u8 gBattleAnimSpritePalette_027[] = INCBIN_U8("graphics/battle_anims/sprites/027.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_027[] = INCBIN_U8("graphics/battle_anims/sprites/027.4bpp.lz");
+const u32 gBattleAnimSpritePalette_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_027[] = INCBIN_U32("graphics/battle_anims/sprites/027.4bpp.lz");
-const u8 gBattleAnimSpritePalette_028[] = INCBIN_U8("graphics/battle_anims/sprites/028.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_028[] = INCBIN_U8("graphics/battle_anims/sprites/028.4bpp.lz");
+const u32 gBattleAnimSpritePalette_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_028[] = INCBIN_U32("graphics/battle_anims/sprites/028.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_029[] = INCBIN_U8("graphics/battle_anims/sprites/029.4bpp.lz");
-const u8 gBattleAnimSpritePalette_029[] = INCBIN_U8("graphics/battle_anims/sprites/029.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.4bpp.lz");
+const u32 gBattleAnimSpritePalette_029[] = INCBIN_U32("graphics/battle_anims/sprites/029.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_030[] = INCBIN_U8("graphics/battle_anims/sprites/030.4bpp.lz");
-const u8 gBattleAnimSpritePalette_030[] = INCBIN_U8("graphics/battle_anims/sprites/030.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.4bpp.lz");
+const u32 gBattleAnimSpritePalette_030[] = INCBIN_U32("graphics/battle_anims/sprites/030.gbapal.lz");
-const u8 gBattleAnimSpritePalette_033[] = INCBIN_U8("graphics/battle_anims/sprites/033.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_033[] = INCBIN_U8("graphics/battle_anims/sprites/033.4bpp.lz");
+const u32 gBattleAnimSpritePalette_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_033[] = INCBIN_U32("graphics/battle_anims/sprites/033.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_034[] = INCBIN_U8("graphics/battle_anims/sprites/034.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_035[] = INCBIN_U8("graphics/battle_anims/sprites/035.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_034[] = INCBIN_U32("graphics/battle_anims/sprites/034.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_035[] = INCBIN_U32("graphics/battle_anims/sprites/035.4bpp.lz");
-const u8 gBattleAnimSpritePalette_036[] = INCBIN_U8("graphics/battle_anims/sprites/036.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_036[] = INCBIN_U8("graphics/battle_anims/sprites/036.4bpp.lz");
+const u32 gBattleAnimSpritePalette_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_036[] = INCBIN_U32("graphics/battle_anims/sprites/036.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_037[] = INCBIN_U8("graphics/battle_anims/sprites/037.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_037[] = INCBIN_U32("graphics/battle_anims/sprites/037.4bpp.lz");
-const u8 gUnknownGfx_C06D98[] = INCBIN_U8("graphics/unknown/unknown_C06D98.4bpp.lz");
-const u8 gUnknownPal_C06D98[] = INCBIN_U8("graphics/unknown/unknown_C06D98.gbapal.lz");
-const u8 gUnknownPal_C06D98_2[] = INCBIN_U8("graphics/unknown/unknown_C06D98_2.gbapal.lz");
+const u32 gUnknownGfx_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.4bpp.lz");
+const u32 gUnknownPal_C06D98[] = INCBIN_U32("graphics/unknown/unknown_C06D98.gbapal.lz");
+const u32 gUnknownPal_C06D98_2[] = INCBIN_U32("graphics/unknown/unknown_C06D98_2.gbapal.lz");
// old battle interface data, unused
-const u8 gOldBattleInterfaceGfx[] = INCBIN_U8("graphics/unused/obi1.4bpp.lz");
-const u8 gOldBattleInterfacePal_1_2_3[] = INCBIN_U8("graphics/unused/obi_palpak1.gbapal.lz"); // palettes 1-3
-const u8 gOldBattleInterfacePal4[] = INCBIN_U8("graphics/unused/old_pal4.gbapal.lz"); // 4 is by itself
-const u8 gOldBattleInterfacePal_5_6_7[] = INCBIN_U8("graphics/unused/obi_palpak3.gbapal.lz"); // palettes 5-7
-const u8 gOldBattleInterfaceGfx2[] = INCBIN_U8("graphics/unused/obi2.4bpp.lz");
-const u16 gOldBattleInterfaceTilemap[] = INCBIN_U16("graphics/unused/old_battle_interface_tilemap.bin.lz");
+const u32 gOldBattleInterfaceGfx[] = INCBIN_U32("graphics/unused/obi1.4bpp.lz");
+const u32 gOldBattleInterfacePal_1_2_3[] = INCBIN_U32("graphics/unused/obi_palpak1.gbapal.lz"); // palettes 1-3
+const u32 gOldBattleInterfacePal4[] = INCBIN_U32("graphics/unused/old_pal4.gbapal.lz"); // 4 is by itself
+const u32 gOldBattleInterfacePal_5_6_7[] = INCBIN_U32("graphics/unused/obi_palpak3.gbapal.lz"); // palettes 5-7
+const u32 gOldBattleInterfaceGfx2[] = INCBIN_U32("graphics/unused/obi2.4bpp.lz");
+const u32 gOldBattleInterfaceTilemap[] = INCBIN_U32("graphics/unused/old_battle_interface_tilemap.bin.lz");
-const u8 gBattleAnimSpritePalette_038[] = INCBIN_U8("graphics/battle_anims/sprites/038.gbapal.lz");
-const u8 gBattleAnimSpritePalette_039[] = INCBIN_U8("graphics/battle_anims/sprites/039.gbapal.lz");
+const u32 gBattleAnimSpritePalette_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.gbapal.lz");
+const u32 gBattleAnimSpritePalette_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_038[] = INCBIN_U8("graphics/battle_anims/sprites/038.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_039[] = INCBIN_U8("graphics/battle_anims/sprites/039.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_040[] = INCBIN_U8("graphics/battle_anims/sprites/040.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_041[] = INCBIN_U8("graphics/battle_anims/sprites/041.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_038[] = INCBIN_U32("graphics/battle_anims/sprites/038.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_039[] = INCBIN_U32("graphics/battle_anims/sprites/039.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_040[] = INCBIN_U32("graphics/battle_anims/sprites/040.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_041[] = INCBIN_U32("graphics/battle_anims/sprites/041.4bpp.lz");
-const u8 gPartyMenuHpBar_Gfx[] = INCBIN_U8("graphics/interface/party_menu_hpbar.4bpp.lz");
+const u32 gPartyMenuHpBar_Gfx[] = INCBIN_U32("graphics/interface/party_menu_hpbar.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_042[] = INCBIN_U8("graphics/battle_anims/sprites/042.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.4bpp.lz");
-const u8 gBattleAnimSpritePalette_042[] = INCBIN_U8("graphics/battle_anims/sprites/042.gbapal.lz");
+const u32 gBattleAnimSpritePalette_042[] = INCBIN_U32("graphics/battle_anims/sprites/042.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_043[] = INCBIN_U8("graphics/battle_anims/sprites/043.4bpp.lz");
-const u8 gBattleAnimSpritePalette_043[] = INCBIN_U8("graphics/battle_anims/sprites/043.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.4bpp.lz");
+const u32 gBattleAnimSpritePalette_043[] = INCBIN_U32("graphics/battle_anims/sprites/043.gbapal.lz");
-const u8 gBattleAnimSpritePalette_044[] = INCBIN_U8("graphics/battle_anims/sprites/044.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_044[] = INCBIN_U8("graphics/battle_anims/sprites/044.4bpp.lz");
+const u32 gBattleAnimSpritePalette_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_044[] = INCBIN_U32("graphics/battle_anims/sprites/044.4bpp.lz");
-const u8 gBattleAnimSpritePalette_045[] = INCBIN_U8("graphics/battle_anims/sprites/045.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_045[] = INCBIN_U8("graphics/battle_anims/sprites/045.4bpp.lz");
+const u32 gBattleAnimSpritePalette_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_045[] = INCBIN_U32("graphics/battle_anims/sprites/045.4bpp.lz");
-const u8 gUnknown_08C08F0C[] = INCBIN_U8("graphics/battle_interface/unused_window.4bpp.lz");
-const u8 gUnknown_08C093C8[] = INCBIN_U8("graphics/battle_interface/unused_window.gbapal.lz");
+const u32 gUnknown_08C08F0C[] = INCBIN_U32("graphics/battle_interface/unused_window.4bpp.lz");
+const u32 gUnknown_08C093C8[] = INCBIN_U32("graphics/battle_interface/unused_window.gbapal.lz");
-const u8 gUnknown_08C093F0[] = INCBIN_U8("graphics/interface/hp_numbers.4bpp.lz");
+const u32 gUnknown_08C093F0[] = INCBIN_U32("graphics/interface/hp_numbers.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_046[] = INCBIN_U8("graphics/battle_anims/sprites/046.4bpp.lz");
-const u8 gBattleAnimSpritePalette_046[] = INCBIN_U8("graphics/battle_anims/sprites/046.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.4bpp.lz");
+const u32 gBattleAnimSpritePalette_046[] = INCBIN_U32("graphics/battle_anims/sprites/046.gbapal.lz");
-const u8 gBattleAnimSpritePalette_047[] = INCBIN_U8("graphics/battle_anims/sprites/047.gbapal.lz");
+const u32 gBattleAnimSpritePalette_047[] = INCBIN_U32("graphics/battle_anims/sprites/047.gbapal.lz");
-const u8 gUnusedGfx_Window2[] = INCBIN_U8("graphics/battle_interface/unused_window2.4bpp.lz");
-const u8 gUnusedGfx_Window2Bar[] = INCBIN_U8("graphics/battle_interface/unused_window2bar.4bpp.lz");
+const u32 gUnusedGfx_Window2[] = INCBIN_U32("graphics/battle_interface/unused_window2.4bpp.lz");
+const u32 gUnusedGfx_Window2Bar[] = INCBIN_U32("graphics/battle_interface/unused_window2bar.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_048[] = INCBIN_U8("graphics/battle_anims/sprites/048.4bpp.lz");
-const u8 gBattleAnimSpritePalette_048[] = INCBIN_U8("graphics/battle_anims/sprites/048.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.4bpp.lz");
+const u32 gBattleAnimSpritePalette_048[] = INCBIN_U32("graphics/battle_anims/sprites/048.gbapal.lz");
-const u8 gBattleAnimSpritePalette_049[] = INCBIN_U8("graphics/battle_anims/sprites/049.gbapal.lz");
-const u8 gBattleAnimSpritePalette_050[] = INCBIN_U8("graphics/battle_anims/sprites/050.gbapal.lz");
+const u32 gBattleAnimSpritePalette_049[] = INCBIN_U32("graphics/battle_anims/sprites/049.gbapal.lz");
+const u32 gBattleAnimSpritePalette_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_050[] = INCBIN_U8("graphics/battle_anims/sprites/050.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_051[] = INCBIN_U8("graphics/battle_anims/sprites/051.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_052[] = INCBIN_U8("graphics/battle_anims/sprites/052.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_050[] = INCBIN_U32("graphics/battle_anims/sprites/050.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_051[] = INCBIN_U32("graphics/battle_anims/sprites/051.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_052[] = INCBIN_U32("graphics/battle_anims/sprites/052.4bpp.lz");
-const u8 gUnusedGfx_LineSketch[] = INCBIN_U8("graphics/unused/line_sketch.4bpp.lz");
-const u8 gUnusedPal_LineSketch[] = INCBIN_U8("graphics/unused/line_sketch.gbapal.lz");
+const u32 gUnusedGfx_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.4bpp.lz");
+const u32 gUnusedPal_LineSketch[] = INCBIN_U32("graphics/unused/line_sketch.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_054[] = INCBIN_U8("graphics/battle_anims/sprites/054.4bpp.lz");
-const u8 gBattleAnimSpritePalette_054[] = INCBIN_U8("graphics/battle_anims/sprites/054.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.4bpp.lz");
+const u32 gBattleAnimSpritePalette_054[] = INCBIN_U32("graphics/battle_anims/sprites/054.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_056[] = INCBIN_U8("graphics/battle_anims/sprites/056.4bpp.lz");
-const u8 gBattleAnimSpritePalette_056[] = INCBIN_U8("graphics/battle_anims/sprites/056.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.4bpp.lz");
+const u32 gBattleAnimSpritePalette_056[] = INCBIN_U32("graphics/battle_anims/sprites/056.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_055[] = INCBIN_U8("graphics/battle_anims/sprites/055.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_055[] = INCBIN_U32("graphics/battle_anims/sprites/055.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_057[] = INCBIN_U8("graphics/battle_anims/sprites/057.4bpp.lz");
-const u8 gBattleAnimSpritePalette_057[] = INCBIN_U8("graphics/battle_anims/sprites/057.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.4bpp.lz");
+const u32 gBattleAnimSpritePalette_057[] = INCBIN_U32("graphics/battle_anims/sprites/057.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_058[] = INCBIN_U8("graphics/battle_anims/sprites/058.4bpp.lz");
-const u8 gBattleAnimSpritePalette_058[] = INCBIN_U8("graphics/battle_anims/sprites/058.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.4bpp.lz");
+const u32 gBattleAnimSpritePalette_058[] = INCBIN_U32("graphics/battle_anims/sprites/058.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_059[] = INCBIN_U8("graphics/battle_anims/sprites/059.4bpp.lz");
-const u8 gBattleAnimSpritePalette_059[] = INCBIN_U8("graphics/battle_anims/sprites/059.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.4bpp.lz");
+const u32 gBattleAnimSpritePalette_059[] = INCBIN_U32("graphics/battle_anims/sprites/059.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_060[] = INCBIN_U8("graphics/battle_anims/sprites/060.4bpp.lz");
-const u8 gBattleAnimSpritePalette_060[] = INCBIN_U8("graphics/battle_anims/sprites/060.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.4bpp.lz");
+const u32 gBattleAnimSpritePalette_060[] = INCBIN_U32("graphics/battle_anims/sprites/060.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_061[] = INCBIN_U8("graphics/battle_anims/sprites/061.4bpp.lz");
-const u8 gBattleAnimSpritePalette_061[] = INCBIN_U8("graphics/battle_anims/sprites/061.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.4bpp.lz");
+const u32 gBattleAnimSpritePalette_061[] = INCBIN_U32("graphics/battle_anims/sprites/061.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_062[] = INCBIN_U8("graphics/battle_anims/sprites/062.4bpp.lz");
-const u8 gBattleAnimSpritePalette_062[] = INCBIN_U8("graphics/battle_anims/sprites/062.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.4bpp.lz");
+const u32 gBattleAnimSpritePalette_062[] = INCBIN_U32("graphics/battle_anims/sprites/062.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_063[] = INCBIN_U8("graphics/battle_anims/sprites/063.4bpp.lz");
-const u8 gBattleAnimSpritePalette_063[] = INCBIN_U8("graphics/battle_anims/sprites/063.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.4bpp.lz");
+const u32 gBattleAnimSpritePalette_063[] = INCBIN_U32("graphics/battle_anims/sprites/063.gbapal.lz");
-const u8 gUnusedGfx_Metronome[] = INCBIN_U8("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point
+const u32 gUnusedGfx_Metronome[] = INCBIN_U32("graphics/unused/metronome_hand_small.4bpp.lz"); // unused, was for metronome at one point
-const u8 gBattleAnimSpritePalette_091[] = INCBIN_U8("graphics/battle_anims/sprites/091.gbapal.lz");
+const u32 gBattleAnimSpritePalette_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_065[] = INCBIN_U8("graphics/battle_anims/sprites/065.4bpp.lz");
-const u8 gBattleAnimSpritePalette_065[] = INCBIN_U8("graphics/battle_anims/sprites/065.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.4bpp.lz");
+const u32 gBattleAnimSpritePalette_065[] = INCBIN_U32("graphics/battle_anims/sprites/065.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_066[] = INCBIN_U8("graphics/battle_anims/sprites/066.4bpp.lz");
-const u8 gBattleAnimSpritePalette_066[] = INCBIN_U8("graphics/battle_anims/sprites/066.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.4bpp.lz");
+const u32 gBattleAnimSpritePalette_066[] = INCBIN_U32("graphics/battle_anims/sprites/066.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_070[] = INCBIN_U8("graphics/battle_anims/sprites/070.4bpp.lz");
-const u8 gBattleAnimSpritePalette_070[] = INCBIN_U8("graphics/battle_anims/sprites/070.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.4bpp.lz");
+const u32 gBattleAnimSpritePalette_070[] = INCBIN_U32("graphics/battle_anims/sprites/070.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_071[] = INCBIN_U8("graphics/battle_anims/sprites/071.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_071[] = INCBIN_U32("graphics/battle_anims/sprites/071.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_072[] = INCBIN_U8("graphics/battle_anims/sprites/072.4bpp.lz");
-const u8 gBattleAnimSpritePalette_072[] = INCBIN_U8("graphics/battle_anims/sprites/072.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.4bpp.lz");
+const u32 gBattleAnimSpritePalette_072[] = INCBIN_U32("graphics/battle_anims/sprites/072.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_073[] = INCBIN_U8("graphics/battle_anims/sprites/073.4bpp.lz");
-const u8 gBattleAnimSpritePalette_073[] = INCBIN_U8("graphics/battle_anims/sprites/073.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.4bpp.lz");
+const u32 gBattleAnimSpritePalette_073[] = INCBIN_U32("graphics/battle_anims/sprites/073.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_075[] = INCBIN_U8("graphics/battle_anims/sprites/075.4bpp.lz");
-const u8 gBattleAnimSpritePalette_075[] = INCBIN_U8("graphics/battle_anims/sprites/075.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.4bpp.lz");
+const u32 gBattleAnimSpritePalette_075[] = INCBIN_U32("graphics/battle_anims/sprites/075.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_078[] = INCBIN_U8("graphics/battle_anims/sprites/078.4bpp.lz");
-const u8 gBattleAnimSpritePalette_078[] = INCBIN_U8("graphics/battle_anims/sprites/078.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.4bpp.lz");
+const u32 gBattleAnimSpritePalette_078[] = INCBIN_U32("graphics/battle_anims/sprites/078.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_079[] = INCBIN_U8("graphics/battle_anims/sprites/079.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_079[] = INCBIN_U32("graphics/battle_anims/sprites/079.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_080[] = INCBIN_U8("graphics/battle_anims/sprites/080.4bpp.lz");
-const u8 gBattleAnimSpritePalette_080[] = INCBIN_U8("graphics/battle_anims/sprites/080.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.4bpp.lz");
+const u32 gBattleAnimSpritePalette_080[] = INCBIN_U32("graphics/battle_anims/sprites/080.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_081[] = INCBIN_U8("graphics/battle_anims/sprites/081.4bpp.lz");
-const u8 gBattleAnimSpritePalette_081[] = INCBIN_U8("graphics/battle_anims/sprites/081.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.4bpp.lz");
+const u32 gBattleAnimSpritePalette_081[] = INCBIN_U32("graphics/battle_anims/sprites/081.gbapal.lz");
const u16 gUnknown_C0CA1C[] = INCBIN_U16("graphics/unknown/unknown_C0CA1C.bin");
const u16 gUnknown_C0CA40[] = INCBIN_U16("graphics/unknown/unknown_C0CA40.bin");
const u16 gUnknown_C0CA64[] = INCBIN_U16("graphics/unknown/unknown_C0CA64.bin");
-const u16 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U16("graphics/unused/line_sketch_2.8bpp.lz");
+const u32 gUnusedGfx8bpp_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.8bpp.lz");
const u16 gUnknown_C0CAE0[] = INCBIN_U16("graphics/unknown/unknown_C0CAE0.bin");
-const u16 gUnusedTilemap_LineSketch2[] = INCBIN_U16("graphics/unused/line_sketch_2.bin.lz");
-
-const u8 gBattleAnimSpriteSheet_082[] = INCBIN_U8("graphics/battle_anims/sprites/082.4bpp.lz");
-const u8 gBattleAnimSpritePalette_082[] = INCBIN_U8("graphics/battle_anims/sprites/082.gbapal.lz");
-
-const u8 gBattleAnimSpritePalette_083[] = INCBIN_U8("graphics/battle_anims/sprites/083.gbapal.lz");
-const u8 gBattleAnimSpritePalette_084[] = INCBIN_U8("graphics/battle_anims/sprites/084.gbapal.lz");
-const u8 gBattleAnimSpritePalette_085[] = INCBIN_U8("graphics/battle_anims/sprites/085.gbapal.lz");
-const u8 gBattleAnimSpritePalette_086[] = INCBIN_U8("graphics/battle_anims/sprites/086.gbapal.lz");
-const u8 gBattleAnimSpritePalette_088[] = INCBIN_U8("graphics/battle_anims/sprites/088.gbapal.lz");
-const u8 gBattleAnimSpritePalette_089[] = INCBIN_U8("graphics/battle_anims/sprites/089.gbapal.lz");
-const u8 gBattleAnimSpritePalette_090[] = INCBIN_U8("graphics/battle_anims/sprites/090.gbapal.lz");
-const u8 gBattleAnimSpritePalette_092[] = INCBIN_U8("graphics/battle_anims/sprites/092.gbapal.lz");
-const u8 gBattleAnimSpritePalette_093[] = INCBIN_U8("graphics/battle_anims/sprites/093.gbapal.lz");
-const u8 gBattleAnimSpritePalette_094[] = INCBIN_U8("graphics/battle_anims/sprites/094.gbapal.lz");
-
-const u16 gUnknown_D0D2B4[] = INCBIN_U16("graphics/unknown/unknown_D0D2B4.bin.lz");
-
-const u8 gBattleAnimSpritePalette_095[] = INCBIN_U8("graphics/battle_anims/sprites/095.gbapal.lz");
-const u8 gBattleAnimSpritePalette_096[] = INCBIN_U8("graphics/battle_anims/sprites/096.gbapal.lz");
-const u8 gBattleAnimSpritePalette_097[] = INCBIN_U8("graphics/battle_anims/sprites/097.gbapal.lz");
-const u8 gBattleAnimSpritePalette_100[] = INCBIN_U8("graphics/battle_anims/sprites/100.gbapal.lz");
-const u8 gBattleAnimSpritePalette_101[] = INCBIN_U8("graphics/battle_anims/sprites/101.gbapal.lz");
-const u8 gBattleAnimSpritePalette_103[] = INCBIN_U8("graphics/battle_anims/sprites/103.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_083[] = INCBIN_U8("graphics/battle_anims/sprites/083.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_084[] = INCBIN_U8("graphics/battle_anims/sprites/084.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_085[] = INCBIN_U8("graphics/battle_anims/sprites/085.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_086[] = INCBIN_U8("graphics/battle_anims/sprites/086.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_088[] = INCBIN_U8("graphics/battle_anims/sprites/088.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_089[] = INCBIN_U8("graphics/battle_anims/sprites/089.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_090[] = INCBIN_U8("graphics/battle_anims/sprites/090.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_091[] = INCBIN_U8("graphics/battle_anims/sprites/091.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_092[] = INCBIN_U8("graphics/battle_anims/sprites/092.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_093[] = INCBIN_U8("graphics/battle_anims/sprites/093.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_094[] = INCBIN_U8("graphics/battle_anims/sprites/094.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_095[] = INCBIN_U8("graphics/battle_anims/sprites/095.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_096[] = INCBIN_U8("graphics/battle_anims/sprites/096.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_097[] = INCBIN_U8("graphics/battle_anims/sprites/097.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_098[] = INCBIN_U8("graphics/battle_anims/sprites/098.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_100[] = INCBIN_U8("graphics/battle_anims/sprites/100.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_101[] = INCBIN_U8("graphics/battle_anims/sprites/101.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_102[] = INCBIN_U8("graphics/battle_anims/sprites/102.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_103[] = INCBIN_U8("graphics/battle_anims/sprites/103.4bpp.lz");
-
-const u8 gBattleAnimSpriteSheet_104[] = INCBIN_U8("graphics/battle_anims/sprites/104.4bpp.lz");
-const u8 gBattleAnimSpritePalette_104[] = INCBIN_U8("graphics/battle_anims/sprites/104.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_105[] = INCBIN_U8("graphics/battle_anims/sprites/105.4bpp.lz");
-const u8 gBattleAnimSpritePalette_105[] = INCBIN_U8("graphics/battle_anims/sprites/105.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_106[] = INCBIN_U8("graphics/battle_anims/sprites/106.4bpp.lz");
-
-const u8 gBattleAnimSpriteSheet_107[] = INCBIN_U8("graphics/battle_anims/sprites/107.4bpp.lz");
-const u8 gBattleAnimSpritePalette_107[] = INCBIN_U8("graphics/battle_anims/sprites/107.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_108[] = INCBIN_U8("graphics/battle_anims/sprites/108.4bpp.lz");
-
-const u8 gBattleAnimSpriteSheet_109[] = INCBIN_U8("graphics/battle_anims/sprites/109.4bpp.lz");
-const u8 gBattleAnimSpritePalette_109[] = INCBIN_U8("graphics/battle_anims/sprites/109.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_110[] = INCBIN_U8("graphics/battle_anims/sprites/110.4bpp.lz");
-
-const u8 gBattleAnimSpriteSheet_111[] = INCBIN_U8("graphics/battle_anims/sprites/111.4bpp.lz");
-const u8 gBattleAnimSpritePalette_111[] = INCBIN_U8("graphics/battle_anims/sprites/111.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_112[] = INCBIN_U8("graphics/battle_anims/sprites/112.4bpp.lz");
-const u8 gBattleAnimSpritePalette_112[] = INCBIN_U8("graphics/battle_anims/sprites/112.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_113[] = INCBIN_U8("graphics/battle_anims/sprites/113.4bpp.lz");
-const u8 gBattleAnimSpritePalette_113[] = INCBIN_U8("graphics/battle_anims/sprites/113.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_114[] = INCBIN_U8("graphics/battle_anims/sprites/114.4bpp.lz");
-const u8 gBattleAnimSpritePalette_114[] = INCBIN_U8("graphics/battle_anims/sprites/114.gbapal.lz");
-
-const u16 gUnusedTilemap_BlueFrame[] = INCBIN_U16("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps?
-const u16 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U16("graphics/unused/redyellowgreen_frame.bin.lz");
-const u8 gUnusedGfx_ColorFrames[] = INCBIN_U8("graphics/unused/color_frames.4bpp.lz");
-const u16 gUnusedPal_ColorFrames[] = INCBIN_U16("graphics/unused/color_frames.gbapal.lz");
-
-const u8 gBattleAnimSpriteSheet_115[] = INCBIN_U8("graphics/battle_anims/sprites/115.4bpp.lz");
-
-const u16 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U16("graphics/unused/water_splash.8bpp.lz");
-const u16 gUnusedTilemap_WaterSplash[] = INCBIN_U16("graphics/unused/water_splash.bin.lz");
-const u8 gUnusedPalette_WaterSplash[] = INCBIN_U8("graphics/unused/water_splash.gbapal.lz");
-
-const u8 gUnusedGfx_BasicFrame[] = INCBIN_U8("graphics/unused/basic_frame.4bpp.lz");
-const u8 gUnusedPal_BasicFrame[] = INCBIN_U8("graphics/unused/basic_frame.gbapal.lz");
-const u16 gUnusedTilemap_BasicFrame[] = INCBIN_U16("graphics/unused/basic_frame.bin.lz");
+const u32 gUnusedTilemap_LineSketch2[] = INCBIN_U32("graphics/unused/line_sketch_2.bin.lz");
+
+const u32 gBattleAnimSpriteSheet_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.4bpp.lz");
+const u32 gBattleAnimSpritePalette_082[] = INCBIN_U32("graphics/battle_anims/sprites/082.gbapal.lz");
+
+const u32 gBattleAnimSpritePalette_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.gbapal.lz");
+const u32 gBattleAnimSpritePalette_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.gbapal.lz");
+const u32 gBattleAnimSpritePalette_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.gbapal.lz");
+const u32 gBattleAnimSpritePalette_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.gbapal.lz");
+const u32 gBattleAnimSpritePalette_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.gbapal.lz");
+const u32 gBattleAnimSpritePalette_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.gbapal.lz");
+const u32 gBattleAnimSpritePalette_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.gbapal.lz");
+const u32 gBattleAnimSpritePalette_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.gbapal.lz");
+const u32 gBattleAnimSpritePalette_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.gbapal.lz");
+const u32 gBattleAnimSpritePalette_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.gbapal.lz");
+
+const u32 gUnknown_D0D2B4[] = INCBIN_U32("graphics/unknown/unknown_D0D2B4.bin.lz");
+
+const u32 gBattleAnimSpritePalette_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.gbapal.lz");
+const u32 gBattleAnimSpritePalette_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.gbapal.lz");
+const u32 gBattleAnimSpritePalette_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.gbapal.lz");
+const u32 gBattleAnimSpritePalette_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.gbapal.lz");
+const u32 gBattleAnimSpritePalette_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.gbapal.lz");
+const u32 gBattleAnimSpritePalette_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_083[] = INCBIN_U32("graphics/battle_anims/sprites/083.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_084[] = INCBIN_U32("graphics/battle_anims/sprites/084.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_085[] = INCBIN_U32("graphics/battle_anims/sprites/085.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_086[] = INCBIN_U32("graphics/battle_anims/sprites/086.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_088[] = INCBIN_U32("graphics/battle_anims/sprites/088.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_089[] = INCBIN_U32("graphics/battle_anims/sprites/089.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_090[] = INCBIN_U32("graphics/battle_anims/sprites/090.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_091[] = INCBIN_U32("graphics/battle_anims/sprites/091.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_092[] = INCBIN_U32("graphics/battle_anims/sprites/092.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_093[] = INCBIN_U32("graphics/battle_anims/sprites/093.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_094[] = INCBIN_U32("graphics/battle_anims/sprites/094.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_095[] = INCBIN_U32("graphics/battle_anims/sprites/095.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_096[] = INCBIN_U32("graphics/battle_anims/sprites/096.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_097[] = INCBIN_U32("graphics/battle_anims/sprites/097.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_098[] = INCBIN_U32("graphics/battle_anims/sprites/098.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_100[] = INCBIN_U32("graphics/battle_anims/sprites/100.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_101[] = INCBIN_U32("graphics/battle_anims/sprites/101.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_102[] = INCBIN_U32("graphics/battle_anims/sprites/102.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_103[] = INCBIN_U32("graphics/battle_anims/sprites/103.4bpp.lz");
+
+const u32 gBattleAnimSpriteSheet_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.4bpp.lz");
+const u32 gBattleAnimSpritePalette_104[] = INCBIN_U32("graphics/battle_anims/sprites/104.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.4bpp.lz");
+const u32 gBattleAnimSpritePalette_105[] = INCBIN_U32("graphics/battle_anims/sprites/105.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_106[] = INCBIN_U32("graphics/battle_anims/sprites/106.4bpp.lz");
+
+const u32 gBattleAnimSpriteSheet_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.4bpp.lz");
+const u32 gBattleAnimSpritePalette_107[] = INCBIN_U32("graphics/battle_anims/sprites/107.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_108[] = INCBIN_U32("graphics/battle_anims/sprites/108.4bpp.lz");
+
+const u32 gBattleAnimSpriteSheet_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.4bpp.lz");
+const u32 gBattleAnimSpritePalette_109[] = INCBIN_U32("graphics/battle_anims/sprites/109.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_110[] = INCBIN_U32("graphics/battle_anims/sprites/110.4bpp.lz");
+
+const u32 gBattleAnimSpriteSheet_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.4bpp.lz");
+const u32 gBattleAnimSpritePalette_111[] = INCBIN_U32("graphics/battle_anims/sprites/111.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.4bpp.lz");
+const u32 gBattleAnimSpritePalette_112[] = INCBIN_U32("graphics/battle_anims/sprites/112.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.4bpp.lz");
+const u32 gBattleAnimSpritePalette_113[] = INCBIN_U32("graphics/battle_anims/sprites/113.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.4bpp.lz");
+const u32 gBattleAnimSpritePalette_114[] = INCBIN_U32("graphics/battle_anims/sprites/114.gbapal.lz");
+
+const u32 gUnusedTilemap_BlueFrame[] = INCBIN_U32("graphics/unused/blue_frame.bin.lz"); // P1, P2, P3 and P4 tilemaps?
+const u32 gUnusedTilemap_RedYellowGreenFrame[] = INCBIN_U32("graphics/unused/redyellowgreen_frame.bin.lz");
+const u32 gUnusedGfx_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.4bpp.lz");
+const u32 gUnusedPal_ColorFrames[] = INCBIN_U32("graphics/unused/color_frames.gbapal.lz");
+
+const u32 gBattleAnimSpriteSheet_115[] = INCBIN_U32("graphics/battle_anims/sprites/115.4bpp.lz");
+
+const u32 gUnusedGfx8bpp_WaterSplash [] = INCBIN_U32("graphics/unused/water_splash.8bpp.lz");
+const u32 gUnusedTilemap_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.bin.lz");
+const u32 gUnusedPalette_WaterSplash[] = INCBIN_U32("graphics/unused/water_splash.gbapal.lz");
+
+const u32 gUnusedGfx_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.4bpp.lz");
+const u32 gUnusedPal_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.gbapal.lz");
+const u32 gUnusedTilemap_BasicFrame[] = INCBIN_U32("graphics/unused/basic_frame.bin.lz");
// Battle Interface
@@ -376,579 +376,579 @@ const u8 gBattleInterfaceGfx_Status3[] = INCBIN_U8("graphics/battle_interface/st
const u8 gBattleInterfaceGfx_Status4[] = INCBIN_U8("graphics/battle_interface/status4.4bpp"); // coloring them is an extreme headache and wont be done for now
const u8 gUnknown_D12FEC[] = INCBIN_U8("graphics/unknown/unknown_D12FEC.4bpp");
const u8 gUnknown_D1300C[] = INCBIN_U8("graphics/unknown/unknown_D1300C.4bpp");
-const u8 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U8("graphics/battle_interface/unused_window3.4bpp.lz");
-const u8 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U8("graphics/battle_interface/unused_window4.4bpp.lz");
+const u32 gBattleInterfaceGfx_UnusedWindow3[] = INCBIN_U32("graphics/battle_interface/unused_window3.4bpp.lz");
+const u32 gBattleInterfaceGfx_UnusedWindow4[] = INCBIN_U32("graphics/battle_interface/unused_window4.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_116[] = INCBIN_U8("graphics/battle_anims/sprites/116.4bpp.lz");
-const u8 gBattleAnimSpritePalette_116[] = INCBIN_U8("graphics/battle_anims/sprites/116.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.4bpp.lz");
+const u32 gBattleAnimSpritePalette_116[] = INCBIN_U32("graphics/battle_anims/sprites/116.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_117[] = INCBIN_U8("graphics/battle_anims/sprites/117.4bpp.lz");
-const u8 gBattleAnimSpritePalette_117[] = INCBIN_U8("graphics/battle_anims/sprites/117.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.4bpp.lz");
+const u32 gBattleAnimSpritePalette_117[] = INCBIN_U32("graphics/battle_anims/sprites/117.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_118[] = INCBIN_U8("graphics/battle_anims/sprites/118.4bpp.lz");
-const u8 gBattleAnimSpritePalette_118[] = INCBIN_U8("graphics/battle_anims/sprites/118.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.4bpp.lz");
+const u32 gBattleAnimSpritePalette_118[] = INCBIN_U32("graphics/battle_anims/sprites/118.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_119[] = INCBIN_U8("graphics/battle_anims/sprites/119.4bpp.lz");
-const u8 gBattleAnimSpritePalette_119[] = INCBIN_U8("graphics/battle_anims/sprites/119.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.4bpp.lz");
+const u32 gBattleAnimSpritePalette_119[] = INCBIN_U32("graphics/battle_anims/sprites/119.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_120[] = INCBIN_U8("graphics/battle_anims/sprites/120.4bpp.lz");
-const u8 gBattleAnimSpritePalette_120[] = INCBIN_U8("graphics/battle_anims/sprites/120.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.4bpp.lz");
+const u32 gBattleAnimSpritePalette_120[] = INCBIN_U32("graphics/battle_anims/sprites/120.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_121[] = INCBIN_U8("graphics/battle_anims/sprites/121.4bpp.lz");
-const u8 gBattleAnimSpritePalette_121[] = INCBIN_U8("graphics/battle_anims/sprites/121.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.4bpp.lz");
+const u32 gBattleAnimSpritePalette_121[] = INCBIN_U32("graphics/battle_anims/sprites/121.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_122[] = INCBIN_U8("graphics/battle_anims/sprites/122.4bpp.lz");
-const u8 gBattleAnimSpritePalette_122[] = INCBIN_U8("graphics/battle_anims/sprites/122.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.4bpp.lz");
+const u32 gBattleAnimSpritePalette_122[] = INCBIN_U32("graphics/battle_anims/sprites/122.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_123[] = INCBIN_U8("graphics/battle_anims/sprites/123.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_123[] = INCBIN_U32("graphics/battle_anims/sprites/123.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_124[] = INCBIN_U8("graphics/battle_anims/sprites/124.4bpp.lz");
-const u8 gBattleAnimSpritePalette_124[] = INCBIN_U8("graphics/battle_anims/sprites/124.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.4bpp.lz");
+const u32 gBattleAnimSpritePalette_124[] = INCBIN_U32("graphics/battle_anims/sprites/124.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_125[] = INCBIN_U8("graphics/battle_anims/sprites/125.4bpp.lz");
-const u8 gBattleAnimSpritePalette_125[] = INCBIN_U8("graphics/battle_anims/sprites/125.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.4bpp.lz");
+const u32 gBattleAnimSpritePalette_125[] = INCBIN_U32("graphics/battle_anims/sprites/125.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_126[] = INCBIN_U8("graphics/battle_anims/sprites/126.4bpp.lz");
-const u8 gBattleAnimSpritePalette_126[] = INCBIN_U8("graphics/battle_anims/sprites/126.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.4bpp.lz");
+const u32 gBattleAnimSpritePalette_126[] = INCBIN_U32("graphics/battle_anims/sprites/126.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_127[] = INCBIN_U8("graphics/battle_anims/sprites/127.4bpp.lz");
-const u8 gBattleAnimSpritePalette_127[] = INCBIN_U8("graphics/battle_anims/sprites/127.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.4bpp.lz");
+const u32 gBattleAnimSpritePalette_127[] = INCBIN_U32("graphics/battle_anims/sprites/127.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_128[] = INCBIN_U8("graphics/battle_anims/sprites/128.4bpp.lz");
-const u8 gBattleAnimSpritePalette_128[] = INCBIN_U8("graphics/battle_anims/sprites/128.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.4bpp.lz");
+const u32 gBattleAnimSpritePalette_128[] = INCBIN_U32("graphics/battle_anims/sprites/128.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_129[] = INCBIN_U8("graphics/battle_anims/sprites/129.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_129[] = INCBIN_U32("graphics/battle_anims/sprites/129.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_130[] = INCBIN_U8("graphics/battle_anims/sprites/130.4bpp.lz");
-const u8 gBattleAnimSpritePalette_130[] = INCBIN_U8("graphics/battle_anims/sprites/130.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.4bpp.lz");
+const u32 gBattleAnimSpritePalette_130[] = INCBIN_U32("graphics/battle_anims/sprites/130.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_131[] = INCBIN_U8("graphics/battle_anims/sprites/131.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_131[] = INCBIN_U32("graphics/battle_anims/sprites/131.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_132[] = INCBIN_U8("graphics/battle_anims/sprites/132.4bpp.lz");
-const u8 gBattleAnimSpritePalette_132[] = INCBIN_U8("graphics/battle_anims/sprites/132.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.4bpp.lz");
+const u32 gBattleAnimSpritePalette_132[] = INCBIN_U32("graphics/battle_anims/sprites/132.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_133[] = INCBIN_U8("graphics/battle_anims/sprites/133.4bpp.lz");
-const u8 gBattleAnimSpritePalette_133[] = INCBIN_U8("graphics/battle_anims/sprites/133.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.4bpp.lz");
+const u32 gBattleAnimSpritePalette_133[] = INCBIN_U32("graphics/battle_anims/sprites/133.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_134[] = INCBIN_U8("graphics/battle_anims/sprites/134.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_134[] = INCBIN_U32("graphics/battle_anims/sprites/134.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_076[] = INCBIN_U8("graphics/battle_anims/sprites/076.4bpp.lz");
-const u8 gBattleAnimSpritePalette_076[] = INCBIN_U8("graphics/battle_anims/sprites/076.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.4bpp.lz");
+const u32 gBattleAnimSpritePalette_076[] = INCBIN_U32("graphics/battle_anims/sprites/076.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_077[] = INCBIN_U8("graphics/battle_anims/sprites/077.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_077[] = INCBIN_U32("graphics/battle_anims/sprites/077.4bpp.lz");
// Contest
-const u8 gUnusedGfx_OldContest[] = INCBIN_U8("graphics/unused/old_contest.4bpp.lz");
-const u8 gUnusedPal_OldContest[] = INCBIN_U8("graphics/unused/old_contest.gbapal.lz");
-const u16 gUnusedTilemap_OldContest[] = INCBIN_U16("graphics/unused/old_contest.bin.lz");
+const u32 gUnusedGfx_OldContest[] = INCBIN_U32("graphics/unused/old_contest.4bpp.lz");
+const u32 gUnusedPal_OldContest[] = INCBIN_U32("graphics/unused/old_contest.gbapal.lz");
+const u32 gUnusedTilemap_OldContest[] = INCBIN_U32("graphics/unused/old_contest.bin.lz");
-const u16 gUnknownTilemap_C15BC0[] = INCBIN_U16("graphics/unknown/unknown_C15BC0.bin.lz");
+const u32 gUnknownTilemap_C15BC0[] = INCBIN_U32("graphics/unknown/unknown_C15BC0.bin.lz");
-const u8 gUnusedGfx_OldContest2[] = INCBIN_U8("graphics/unused/old_contest_2.4bpp.lz");
-const u8 gUnknown_08C16E90[] = INCBIN_U8("graphics/unused/old_contest_2.gbapal.lz");
-const u16 gUnknown_08C16FA8[] = INCBIN_U16("graphics/unused/old_contest_2.bin.lz");
+const u32 gUnusedGfx_OldContest2[] = INCBIN_U32("graphics/unused/old_contest_2.4bpp.lz");
+const u32 gUnknown_08C16E90[] = INCBIN_U32("graphics/unused/old_contest_2.gbapal.lz");
+const u32 gUnknown_08C16FA8[] = INCBIN_U32("graphics/unused/old_contest_2.bin.lz");
-const u16 gUnknown_08C17170[] = INCBIN_U16("graphics/unknown/unknown_C17170.bin.lz");
+const u32 gUnknown_08C17170[] = INCBIN_U32("graphics/unknown/unknown_C17170.bin.lz");
-const u16 gUnknown_08C17410[] = INCBIN_U16("graphics/unknown/unknown_C17410.bin.lz");
+const u32 gUnknown_08C17410[] = INCBIN_U32("graphics/unknown/unknown_C17410.bin.lz");
-const u16 gUnknown_08C1751C[] = INCBIN_U16("graphics/unknown/unknown_C1751C.bin.lz");
+const u32 gUnknown_08C1751C[] = INCBIN_U32("graphics/unknown/unknown_C1751C.bin.lz");
-const u16 gUnknown_08C17980[] = INCBIN_U16("graphics/unknown/unknown_C17980.bin.lz");
+const u32 gUnknown_08C17980[] = INCBIN_U32("graphics/unknown/unknown_C17980.bin.lz");
-const u8 gContestMiscGfx[] = INCBIN_U8("graphics/contest/misc.4bpp.lz");
+const u32 gContestMiscGfx[] = INCBIN_U32("graphics/contest/misc.4bpp.lz");
-const u8 gContestAudienceGfx[] = INCBIN_U8("graphics/contest/audience.4bpp.lz");
+const u32 gContestAudienceGfx[] = INCBIN_U32("graphics/contest/audience.4bpp.lz");
-const u8 gUnknown_08C19168[] = INCBIN_U8("graphics/contest/faces.4bpp.lz");
+const u32 gUnknown_08C19168[] = INCBIN_U32("graphics/contest/faces.4bpp.lz");
-const u8 gContestJudgeSymbolsGfx[] = INCBIN_U8("graphics/contest/judge_symbols.4bpp.lz");
-const u8 gContest3Pal[] = INCBIN_U8("graphics/contest/judge_symbols.gbapal.lz");
+const u32 gContestJudgeSymbolsGfx[] = INCBIN_U32("graphics/contest/judge_symbols.4bpp.lz");
+const u32 gContest3Pal[] = INCBIN_U32("graphics/contest/judge_symbols.gbapal.lz");
const u8 gTiles_8C19450[] = INCBIN_U8("graphics/contest/heart.4bpp");
-const u8 gUnknownGfx_C19470[] = INCBIN_U8("graphics/unknown/unknown_C19470.4bpp.lz");
-const u8 gUnknownPal_C19470[] = INCBIN_U8("graphics/unknown/unknown_C19470.gbapal.lz");
+const u32 gUnknownGfx_C19470[] = INCBIN_U32("graphics/unknown/unknown_C19470.4bpp.lz");
+const u32 gUnknownPal_C19470[] = INCBIN_U32("graphics/unknown/unknown_C19470.gbapal.lz");
-const u8 gUnknown_08C19588[] = INCBIN_U8("graphics/contest/misc_2.4bpp.lz");
+const u32 gUnknown_08C19588[] = INCBIN_U32("graphics/contest/misc_2.4bpp.lz");
-const u16 gUnknown_08C19EEC[] = INCBIN_U16("graphics/contest/misc_2_tilemap_1.bin.lz");
-const u16 gUnknown_08C1A000[] = INCBIN_U16("graphics/contest/misc_2_tilemap_2.bin.lz");
-const u16 gUnknown_08C1A12C[] = INCBIN_U16("graphics/contest/misc_2_tilemap_3.bin.lz");
+const u32 gUnknown_08C19EEC[] = INCBIN_U32("graphics/contest/misc_2_tilemap_1.bin.lz");
+const u32 gUnknown_08C1A000[] = INCBIN_U32("graphics/contest/misc_2_tilemap_2.bin.lz");
+const u32 gUnknown_08C1A12C[] = INCBIN_U32("graphics/contest/misc_2_tilemap_3.bin.lz");
-const u8 gUnknown_08C1A2B4[] = INCBIN_U8("graphics/contest/misc_2.gbapal.lz");
+const u32 gUnknown_08C1A2B4[] = INCBIN_U32("graphics/contest/misc_2.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_135[] = INCBIN_U8("graphics/battle_anims/sprites/135.4bpp.lz");
-const u8 gBattleAnimSpritePalette_135[] = INCBIN_U8("graphics/battle_anims/sprites/135.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.4bpp.lz");
+const u32 gBattleAnimSpritePalette_135[] = INCBIN_U32("graphics/battle_anims/sprites/135.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_Particles[] = INCBIN_U8("graphics/battle_anims/sprites/particles.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_Particles[] = INCBIN_U32("graphics/battle_anims/sprites/particles.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_136[] = INCBIN_U8("graphics/battle_anims/sprites/136.4bpp.lz");
-const u8 gBattleAnimSpritePalette_136[] = INCBIN_U8("graphics/battle_anims/sprites/136.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.4bpp.lz");
+const u32 gBattleAnimSpritePalette_136[] = INCBIN_U32("graphics/battle_anims/sprites/136.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_137[] = INCBIN_U8("graphics/battle_anims/sprites/137.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_137[] = INCBIN_U32("graphics/battle_anims/sprites/137.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_139[] = INCBIN_U8("graphics/battle_anims/sprites/139.4bpp.lz");
-const u8 gBattleAnimSpritePalette_139[] = INCBIN_U8("graphics/battle_anims/sprites/139.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.4bpp.lz");
+const u32 gBattleAnimSpritePalette_139[] = INCBIN_U32("graphics/battle_anims/sprites/139.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_145[] = INCBIN_U8("graphics/battle_anims/sprites/145.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_145[] = INCBIN_U32("graphics/battle_anims/sprites/145.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_138[] = INCBIN_U8("graphics/battle_anims/sprites/138.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_138[] = INCBIN_U32("graphics/battle_anims/sprites/138.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_140[] = INCBIN_U8("graphics/battle_anims/sprites/140.4bpp.lz");
-const u8 gBattleAnimSpritePalette_140[] = INCBIN_U8("graphics/battle_anims/sprites/140.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.4bpp.lz");
+const u32 gBattleAnimSpritePalette_140[] = INCBIN_U32("graphics/battle_anims/sprites/140.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_141[] = INCBIN_U8("graphics/battle_anims/sprites/141.4bpp.lz");
-const u8 gBattleAnimSpritePalette_141[] = INCBIN_U8("graphics/battle_anims/sprites/141.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.4bpp.lz");
+const u32 gBattleAnimSpritePalette_141[] = INCBIN_U32("graphics/battle_anims/sprites/141.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_142[] = INCBIN_U8("graphics/battle_anims/sprites/142.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_142[] = INCBIN_U32("graphics/battle_anims/sprites/142.4bpp.lz");
-const u8 gUnusedGfx_OldBeatUp[] = INCBIN_U8("graphics/unused/old_beatup.4bpp.lz");
-const u8 gUnusedPal_OldBeatUp[] = INCBIN_U8("graphics/unused/old_beatup.gbapal.lz");
+const u32 gUnusedGfx_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.4bpp.lz");
+const u32 gUnusedPal_OldBeatUp[] = INCBIN_U32("graphics/unused/old_beatup.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_147[] = INCBIN_U8("graphics/battle_anims/sprites/147.4bpp.lz");
-const u8 gBattleAnimSpritePalette_147[] = INCBIN_U8("graphics/battle_anims/sprites/147.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.4bpp.lz");
+const u32 gBattleAnimSpritePalette_147[] = INCBIN_U32("graphics/battle_anims/sprites/147.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_149[] = INCBIN_U8("graphics/battle_anims/sprites/149.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_149[] = INCBIN_U32("graphics/battle_anims/sprites/149.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_148[] = INCBIN_U8("graphics/battle_anims/sprites/148.4bpp.lz");
-const u8 gBattleAnimSpritePalette_148[] = INCBIN_U8("graphics/battle_anims/sprites/148.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.4bpp.lz");
+const u32 gBattleAnimSpritePalette_148[] = INCBIN_U32("graphics/battle_anims/sprites/148.gbapal.lz");
-const u8 gBattleAnimSpritePalette_259[] = INCBIN_U8("graphics/battle_anims/sprites/259.gbapal.lz");
+const u32 gBattleAnimSpritePalette_259[] = INCBIN_U32("graphics/battle_anims/sprites/259.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_074[] = INCBIN_U8("graphics/battle_anims/sprites/074.4bpp.lz");
-const u8 gBattleAnimSpritePalette_074[] = INCBIN_U8("graphics/battle_anims/sprites/074.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.4bpp.lz");
+const u32 gBattleAnimSpritePalette_074[] = INCBIN_U32("graphics/battle_anims/sprites/074.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_150[] = INCBIN_U8("graphics/battle_anims/sprites/150.4bpp.lz");
-const u8 gBattleAnimSpritePalette_150[] = INCBIN_U8("graphics/battle_anims/sprites/150.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.4bpp.lz");
+const u32 gBattleAnimSpritePalette_150[] = INCBIN_U32("graphics/battle_anims/sprites/150.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_151[] = INCBIN_U8("graphics/battle_anims/sprites/151.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_151[] = INCBIN_U32("graphics/battle_anims/sprites/151.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_153[] = INCBIN_U8("graphics/battle_anims/sprites/153.4bpp.lz");
-const u8 gBattleAnimSpritePalette_153[] = INCBIN_U8("graphics/battle_anims/sprites/153.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.4bpp.lz");
+const u32 gBattleAnimSpritePalette_153[] = INCBIN_U32("graphics/battle_anims/sprites/153.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_154[] = INCBIN_U8("graphics/battle_anims/sprites/154.4bpp.lz");
-const u8 gBattleAnimSpritePalette_154[] = INCBIN_U8("graphics/battle_anims/sprites/154.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.4bpp.lz");
+const u32 gBattleAnimSpritePalette_154[] = INCBIN_U32("graphics/battle_anims/sprites/154.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_155[] = INCBIN_U8("graphics/battle_anims/sprites/155.4bpp.lz");
-const u8 gBattleAnimSpritePalette_155[] = INCBIN_U8("graphics/battle_anims/sprites/155.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.4bpp.lz");
+const u32 gBattleAnimSpritePalette_155[] = INCBIN_U32("graphics/battle_anims/sprites/155.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_156[] = INCBIN_U8("graphics/battle_anims/sprites/156.4bpp.lz");
-const u8 gBattleAnimSpritePalette_156[] = INCBIN_U8("graphics/battle_anims/sprites/156.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.4bpp.lz");
+const u32 gBattleAnimSpritePalette_156[] = INCBIN_U32("graphics/battle_anims/sprites/156.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_157[] = INCBIN_U8("graphics/battle_anims/sprites/157.4bpp.lz");
-const u8 gBattleAnimSpritePalette_157[] = INCBIN_U8("graphics/battle_anims/sprites/157.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.4bpp.lz");
+const u32 gBattleAnimSpritePalette_157[] = INCBIN_U32("graphics/battle_anims/sprites/157.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_158[] = INCBIN_U8("graphics/battle_anims/sprites/158.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.4bpp.lz");
-const u8 gBattleAnimSpritePalette_158[] = INCBIN_U8("graphics/battle_anims/sprites/158.gbapal.lz");
+const u32 gBattleAnimSpritePalette_158[] = INCBIN_U32("graphics/battle_anims/sprites/158.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_159[] = INCBIN_U8("graphics/battle_anims/sprites/159.4bpp.lz");
-const u8 gBattleAnimSpritePalette_159[] = INCBIN_U8("graphics/battle_anims/sprites/159.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.4bpp.lz");
+const u32 gBattleAnimSpritePalette_159[] = INCBIN_U32("graphics/battle_anims/sprites/159.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_160[] = INCBIN_U8("graphics/battle_anims/sprites/160.4bpp.lz");
-const u8 gBattleAnimSpritePalette_160[] = INCBIN_U8("graphics/battle_anims/sprites/160.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.4bpp.lz");
+const u32 gBattleAnimSpritePalette_160[] = INCBIN_U32("graphics/battle_anims/sprites/160.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_144[] = INCBIN_U8("graphics/battle_anims/sprites/144.4bpp.lz");
-const u8 gBattleAnimSpritePalette_144[] = INCBIN_U8("graphics/battle_anims/sprites/144.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.4bpp.lz");
+const u32 gBattleAnimSpritePalette_144[] = INCBIN_U32("graphics/battle_anims/sprites/144.gbapal.lz");
-const u8 gUnknownGfx_D1C060[] = INCBIN_U8("graphics/unknown/unknown_D1C060.4bpp.lz");
-const u8 gUnknownPal_D1C060[] = INCBIN_U8("graphics/unknown/unknown_D1C060.gbapal.lz");
-const u16 gUnknownTilemap_D1C060[] = INCBIN_U16("graphics/unknown/unknown_D1C060.bin.lz");
+const u32 gUnknownGfx_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.4bpp.lz");
+const u32 gUnknownPal_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.gbapal.lz");
+const u32 gUnknownTilemap_D1C060[] = INCBIN_U32("graphics/unknown/unknown_D1C060.bin.lz");
-const u8 gBattleAnimSpriteSheet_162[] = INCBIN_U8("graphics/battle_anims/sprites/162.4bpp.lz");
-const u8 gBattleAnimSpritePalette_162[] = INCBIN_U8("graphics/battle_anims/sprites/162.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.4bpp.lz");
+const u32 gBattleAnimSpritePalette_162[] = INCBIN_U32("graphics/battle_anims/sprites/162.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_163[] = INCBIN_U8("graphics/battle_anims/sprites/163.4bpp.lz");
-const u8 gBattleAnimSpritePalette_163[] = INCBIN_U8("graphics/battle_anims/sprites/163.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.4bpp.lz");
+const u32 gBattleAnimSpritePalette_163[] = INCBIN_U32("graphics/battle_anims/sprites/163.gbapal.lz");
-const u8 gBattleAnimSpritePalette_288[] = INCBIN_U8("graphics/battle_anims/sprites/288.gbapal.lz");
-const u8 gBattleAnimSpritePalette_164[] = INCBIN_U8("graphics/battle_anims/sprites/164.gbapal.lz");
-const u8 gBattleAnimSpritePalette_165[] = INCBIN_U8("graphics/battle_anims/sprites/165.gbapal.lz");
+const u32 gBattleAnimSpritePalette_288[] = INCBIN_U32("graphics/battle_anims/sprites/288.gbapal.lz");
+const u32 gBattleAnimSpritePalette_164[] = INCBIN_U32("graphics/battle_anims/sprites/164.gbapal.lz");
+const u32 gBattleAnimSpritePalette_165[] = INCBIN_U32("graphics/battle_anims/sprites/165.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_166[] = INCBIN_U8("graphics/battle_anims/sprites/166.4bpp.lz");
-const u8 gBattleAnimSpritePalette_166[] = INCBIN_U8("graphics/battle_anims/sprites/166.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.4bpp.lz");
+const u32 gBattleAnimSpritePalette_166[] = INCBIN_U32("graphics/battle_anims/sprites/166.gbapal.lz");
-const u8 gBattleAnimSpritePalette_167[] = INCBIN_U8("graphics/battle_anims/sprites/167.gbapal.lz");
-const u8 gBattleAnimSpritePalette_168[] = INCBIN_U8("graphics/battle_anims/sprites/168.gbapal.lz");
-const u8 gBattleAnimSpritePalette_169[] = INCBIN_U8("graphics/battle_anims/sprites/169.gbapal.lz");
-const u8 gBattleAnimSpritePalette_170[] = INCBIN_U8("graphics/battle_anims/sprites/170.gbapal.lz");
+const u32 gBattleAnimSpritePalette_167[] = INCBIN_U32("graphics/battle_anims/sprites/167.gbapal.lz");
+const u32 gBattleAnimSpritePalette_168[] = INCBIN_U32("graphics/battle_anims/sprites/168.gbapal.lz");
+const u32 gBattleAnimSpritePalette_169[] = INCBIN_U32("graphics/battle_anims/sprites/169.gbapal.lz");
+const u32 gBattleAnimSpritePalette_170[] = INCBIN_U32("graphics/battle_anims/sprites/170.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_171[] = INCBIN_U8("graphics/battle_anims/sprites/171.4bpp.lz");
-const u8 gBattleAnimSpritePalette_171[] = INCBIN_U8("graphics/battle_anims/sprites/171.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.4bpp.lz");
+const u32 gBattleAnimSpritePalette_171[] = INCBIN_U32("graphics/battle_anims/sprites/171.gbapal.lz");
-const u8 gBattleAnimSpritePalette_172[] = INCBIN_U8("graphics/battle_anims/sprites/172.gbapal.lz");
+const u32 gBattleAnimSpritePalette_172[] = INCBIN_U32("graphics/battle_anims/sprites/172.gbapal.lz");
-const u8 gContestJudgeGfx[] = INCBIN_U8("graphics/contest/judge.4bpp.lz");
-const u8 gContest2Pal[] = INCBIN_U8("graphics/contest/judge.gbapal.lz");
+const u32 gContestJudgeGfx[] = INCBIN_U32("graphics/contest/judge.4bpp.lz");
+const u32 gContest2Pal[] = INCBIN_U32("graphics/contest/judge.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_001[] = INCBIN_U8("graphics/battle_anims/sprites/001.4bpp.lz");
-const u8 gBattleAnimSpritePalette_001[] = INCBIN_U8("graphics/battle_anims/sprites/001.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.4bpp.lz");
+const u32 gBattleAnimSpritePalette_001[] = INCBIN_U32("graphics/battle_anims/sprites/001.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_173[] = INCBIN_U8("graphics/battle_anims/sprites/173.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_173[] = INCBIN_U32("graphics/battle_anims/sprites/173.4bpp.lz");
-const u8 gBattleAnimBackgroundImage_00[] = INCBIN_U8("graphics/battle_anims/backgrounds/00.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_00[] = INCBIN_U8("graphics/battle_anims/backgrounds/00.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_00[] = INCBIN_U16("graphics/battle_anims/backgrounds/00.bin.lz");
+const u32 gBattleAnimBackgroundImage_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_00[] = INCBIN_U32("graphics/battle_anims/backgrounds/00.bin.lz");
-const u8 gUnknown_08C1D0AC[] = INCBIN_U8("graphics/battle_anims/masks/metal_shine.4bpp.lz");
-const u8 gUnknown_08C1D1E8[] = INCBIN_U8("graphics/battle_anims/masks/metal_shine.gbapal.lz");
-const u16 gUnknown_08C1D210[] = INCBIN_U16("graphics/battle_anims/masks/metal_shine.bin.lz");
+const u32 gUnknown_08C1D0AC[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.4bpp.lz");
+const u32 gUnknown_08C1D1E8[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.gbapal.lz");
+const u32 gUnknown_08C1D210[] = INCBIN_U32("graphics/battle_anims/masks/metal_shine.bin.lz");
-const u8 gUnusedGfx_Goosuto[] = INCBIN_U8("graphics/unused/goosuto.4bpp.lz"); // ghost
-const u8 gUnusedPal_Goosuto[] = INCBIN_U8("graphics/unused/goosuto.gbapal.lz");
-const u16 gUnusedTilemap_Goosuto[] = INCBIN_U16("graphics/unused/goosuto.bin.lz");
+const u32 gUnusedGfx_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.4bpp.lz"); // ghost
+const u32 gUnusedPal_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.gbapal.lz");
+const u32 gUnusedTilemap_Goosuto[] = INCBIN_U32("graphics/unused/goosuto.bin.lz");
-const u8 gBattleAnimSpriteSheet_174[] = INCBIN_U8("graphics/battle_anims/sprites/174.4bpp.lz");
-const u8 gBattleAnimSpritePalette_174[] = INCBIN_U8("graphics/battle_anims/sprites/174.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.4bpp.lz");
+const u32 gBattleAnimSpritePalette_174[] = INCBIN_U32("graphics/battle_anims/sprites/174.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_175[] = INCBIN_U8("graphics/battle_anims/sprites/175.4bpp.lz");
-const u8 gBattleAnimSpritePalette_175[] = INCBIN_U8("graphics/battle_anims/sprites/175.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.4bpp.lz");
+const u32 gBattleAnimSpritePalette_175[] = INCBIN_U32("graphics/battle_anims/sprites/175.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_176[] = INCBIN_U8("graphics/battle_anims/sprites/176.4bpp.lz");
-const u8 gBattleAnimSpritePalette_176[] = INCBIN_U8("graphics/battle_anims/sprites/176.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.4bpp.lz");
+const u32 gBattleAnimSpritePalette_176[] = INCBIN_U32("graphics/battle_anims/sprites/176.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_177[] = INCBIN_U8("graphics/battle_anims/sprites/177.4bpp.lz");
-const u8 gBattleAnimSpritePalette_177[] = INCBIN_U8("graphics/battle_anims/sprites/177.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.4bpp.lz");
+const u32 gBattleAnimSpritePalette_177[] = INCBIN_U32("graphics/battle_anims/sprites/177.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_178[] = INCBIN_U8("graphics/battle_anims/sprites/178.4bpp.lz");
-const u8 gBattleAnimSpritePalette_178[] = INCBIN_U8("graphics/battle_anims/sprites/178.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.4bpp.lz");
+const u32 gBattleAnimSpritePalette_178[] = INCBIN_U32("graphics/battle_anims/sprites/178.gbapal.lz");
-const u8 gBattleAnimSpritePalette_179[] = INCBIN_U8("graphics/battle_anims/sprites/179.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_179[] = INCBIN_U8("graphics/battle_anims/sprites/179.4bpp.lz");
+const u32 gBattleAnimSpritePalette_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_179[] = INCBIN_U32("graphics/battle_anims/sprites/179.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_180[] = INCBIN_U8("graphics/battle_anims/sprites/180.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_181[] = INCBIN_U8("graphics/battle_anims/sprites/181.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_180[] = INCBIN_U32("graphics/battle_anims/sprites/180.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_181[] = INCBIN_U32("graphics/battle_anims/sprites/181.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_182[] = INCBIN_U8("graphics/battle_anims/sprites/182.4bpp.lz");
-const u8 gBattleAnimSpritePalette_182[] = INCBIN_U8("graphics/battle_anims/sprites/182.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.4bpp.lz");
+const u32 gBattleAnimSpritePalette_182[] = INCBIN_U32("graphics/battle_anims/sprites/182.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_183[] = INCBIN_U8("graphics/battle_anims/sprites/183.4bpp.lz");
-const u8 gBattleAnimSpritePalette_183[] = INCBIN_U8("graphics/battle_anims/sprites/183.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.4bpp.lz");
+const u32 gBattleAnimSpritePalette_183[] = INCBIN_U32("graphics/battle_anims/sprites/183.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_184[] = INCBIN_U8("graphics/battle_anims/sprites/184.4bpp.lz");
-const u8 gBattleAnimSpritePalette_184[] = INCBIN_U8("graphics/battle_anims/sprites/184.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.4bpp.lz");
+const u32 gBattleAnimSpritePalette_184[] = INCBIN_U32("graphics/battle_anims/sprites/184.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_185[] = INCBIN_U8("graphics/battle_anims/sprites/185.4bpp.lz");
-const u8 gBattleAnimSpritePalette_185[] = INCBIN_U8("graphics/battle_anims/sprites/185.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.4bpp.lz");
+const u32 gBattleAnimSpritePalette_185[] = INCBIN_U32("graphics/battle_anims/sprites/185.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_03[] = INCBIN_U8("graphics/battle_anims/backgrounds/03.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_03[] = INCBIN_U8("graphics/battle_anims/backgrounds/03.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_03[] = INCBIN_U16("graphics/battle_anims/backgrounds/03.bin.lz");
+const u32 gBattleAnimBackgroundImage_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_03[] = INCBIN_U32("graphics/battle_anims/backgrounds/03.bin.lz");
-const u8 gBattleAnimSpriteSheet_187[] = INCBIN_U8("graphics/battle_anims/sprites/187.4bpp.lz");
-const u8 gBattleAnimSpritePalette_187[] = INCBIN_U8("graphics/battle_anims/sprites/187.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.4bpp.lz");
+const u32 gBattleAnimSpritePalette_187[] = INCBIN_U32("graphics/battle_anims/sprites/187.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_186[] = INCBIN_U8("graphics/battle_anims/sprites/186.4bpp.lz");
-const u8 gBattleAnimSpritePalette_186[] = INCBIN_U8("graphics/battle_anims/sprites/186.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.4bpp.lz");
+const u32 gBattleAnimSpritePalette_186[] = INCBIN_U32("graphics/battle_anims/sprites/186.gbapal.lz");
-const u8 gHealthboxSinglesPlayerGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_singles_player.4bpp.lz");
-const u8 gHealthboxSinglesOpponentGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz");
-const u8 gHealthboxDoublesPlayerGfx[] = INCBIN_U8( "graphics/battle_interface/healthbox_doubles_player.4bpp.lz");
-const u8 gHealthboxDoublesOpponentGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_doubles_opponent.4bpp.lz");
-const u8 gHealthboxSafariGfx[] = INCBIN_U8("graphics/battle_interface/healthbox_safari.4bpp.lz");
+const u32 gHealthboxSinglesPlayerGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_player.4bpp.lz");
+const u32 gHealthboxSinglesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_singles_opponent.4bpp.lz");
+const u32 gHealthboxDoublesPlayerGfx[] = INCBIN_U32( "graphics/battle_interface/healthbox_doubles_player.4bpp.lz");
+const u32 gHealthboxDoublesOpponentGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_doubles_opponent.4bpp.lz");
+const u32 gHealthboxSafariGfx[] = INCBIN_U32("graphics/battle_interface/healthbox_safari.4bpp.lz");
-const u8 gUnusedGfx_Shadow[] = INCBIN_U8("graphics/unused/shadow.4bpp.lz");
-const u8 gUnusedPal_Shadow[] = INCBIN_U8("graphics/unused/shadow.gbapal.lz");
+const u32 gUnusedGfx_Shadow[] = INCBIN_U32("graphics/unused/shadow.4bpp.lz");
+const u32 gUnusedPal_Shadow[] = INCBIN_U32("graphics/unused/shadow.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_014[] = INCBIN_U8("graphics/battle_anims/sprites/014.4bpp.lz");
-const u8 gBattleAnimSpritePalette_014[] = INCBIN_U8("graphics/battle_anims/sprites/014.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.4bpp.lz");
+const u32 gBattleAnimSpritePalette_014[] = INCBIN_U32("graphics/battle_anims/sprites/014.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_190[] = INCBIN_U8("graphics/battle_anims/sprites/190.4bpp.lz");
-const u8 gBattleAnimSpritePalette_190[] = INCBIN_U8("graphics/battle_anims/sprites/190.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.4bpp.lz");
+const u32 gBattleAnimSpritePalette_190[] = INCBIN_U32("graphics/battle_anims/sprites/190.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_191[] = INCBIN_U8("graphics/battle_anims/sprites/191.4bpp.lz");
-const u8 gBattleAnimSpritePalette_191[] = INCBIN_U8("graphics/battle_anims/sprites/191.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.4bpp.lz");
+const u32 gBattleAnimSpritePalette_191[] = INCBIN_U32("graphics/battle_anims/sprites/191.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_189[] = INCBIN_U8("graphics/battle_anims/sprites/189.4bpp.lz");
-const u8 gBattleAnimSpritePalette_189[] = INCBIN_U8("graphics/battle_anims/sprites/189.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.4bpp.lz");
+const u32 gBattleAnimSpritePalette_189[] = INCBIN_U32("graphics/battle_anims/sprites/189.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_192[] = INCBIN_U8("graphics/battle_anims/sprites/192.4bpp.lz");
-const u8 gBattleAnimSpritePalette_192[] = INCBIN_U8("graphics/battle_anims/sprites/192.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.4bpp.lz");
+const u32 gBattleAnimSpritePalette_192[] = INCBIN_U32("graphics/battle_anims/sprites/192.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_193[] = INCBIN_U8("graphics/battle_anims/sprites/193.4bpp.lz");
-const u8 gBattleAnimSpritePalette_193[] = INCBIN_U8("graphics/battle_anims/sprites/193.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.4bpp.lz");
+const u32 gBattleAnimSpritePalette_193[] = INCBIN_U32("graphics/battle_anims/sprites/193.gbapal.lz");
-const u8 gUnknown_08C20668[] = INCBIN_U8("graphics/battle_anims/masks/curse.4bpp.lz");
-const u16 gUnknown_08C20684[] = INCBIN_U16("graphics/battle_anims/masks/curse.bin.lz");
+const u32 gUnknown_08C20668[] = INCBIN_U32("graphics/battle_anims/masks/curse.4bpp.lz");
+const u32 gUnknown_08C20684[] = INCBIN_U32("graphics/battle_anims/masks/curse.bin.lz");
-const u8 gBattleAnimSpriteSheet_002[] = INCBIN_U8("graphics/battle_anims/sprites/002.4bpp.lz");
-const u8 gBattleAnimSpritePalette_002[] = INCBIN_U8("graphics/battle_anims/sprites/002.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.4bpp.lz");
+const u32 gBattleAnimSpritePalette_002[] = INCBIN_U32("graphics/battle_anims/sprites/002.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_196[] = INCBIN_U8("graphics/battle_anims/sprites/196.4bpp.lz");
-const u8 gBattleAnimSpritePalette_196[] = INCBIN_U8("graphics/battle_anims/sprites/196.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.4bpp.lz");
+const u32 gBattleAnimSpritePalette_196[] = INCBIN_U32("graphics/battle_anims/sprites/196.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_194[] = INCBIN_U8("graphics/battle_anims/sprites/194.4bpp.lz");
-const u8 gBattleAnimSpritePalette_194[] = INCBIN_U8("graphics/battle_anims/sprites/194.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.4bpp.lz");
+const u32 gBattleAnimSpritePalette_194[] = INCBIN_U32("graphics/battle_anims/sprites/194.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_195[] = INCBIN_U8("graphics/battle_anims/sprites/195.4bpp.lz");
-const u8 gBattleAnimSpritePalette_195[] = INCBIN_U8("graphics/battle_anims/sprites/195.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.4bpp.lz");
+const u32 gBattleAnimSpritePalette_195[] = INCBIN_U32("graphics/battle_anims/sprites/195.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_197[] = INCBIN_U8("graphics/battle_anims/sprites/197.4bpp.lz");
-const u8 gBattleAnimSpritePalette_197[] = INCBIN_U8("graphics/battle_anims/sprites/197.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.4bpp.lz");
+const u32 gBattleAnimSpritePalette_197[] = INCBIN_U32("graphics/battle_anims/sprites/197.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_198[] = INCBIN_U8("graphics/battle_anims/sprites/198.4bpp.lz");
-const u8 gBattleAnimSpritePalette_198[] = INCBIN_U8("graphics/battle_anims/sprites/198.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.4bpp.lz");
+const u32 gBattleAnimSpritePalette_198[] = INCBIN_U32("graphics/battle_anims/sprites/198.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_199[] = INCBIN_U8("graphics/battle_anims/sprites/199.4bpp.lz");
-const u8 gBattleAnimSpritePalette_199[] = INCBIN_U8("graphics/battle_anims/sprites/199.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.4bpp.lz");
+const u32 gBattleAnimSpritePalette_199[] = INCBIN_U32("graphics/battle_anims/sprites/199.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_200[] = INCBIN_U8("graphics/battle_anims/sprites/200.4bpp.lz");
-const u8 gBattleAnimSpritePalette_200[] = INCBIN_U8("graphics/battle_anims/sprites/200.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.4bpp.lz");
+const u32 gBattleAnimSpritePalette_200[] = INCBIN_U32("graphics/battle_anims/sprites/200.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_201[] = INCBIN_U8("graphics/battle_anims/sprites/201.4bpp.lz");
-const u8 gBattleAnimSpritePalette_201[] = INCBIN_U8("graphics/battle_anims/sprites/201.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.4bpp.lz");
+const u32 gBattleAnimSpritePalette_201[] = INCBIN_U32("graphics/battle_anims/sprites/201.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_204[] = INCBIN_U8("graphics/battle_anims/sprites/204.4bpp.lz");
-const u8 gBattleAnimSpritePalette_204[] = INCBIN_U8("graphics/battle_anims/sprites/204.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.4bpp.lz");
+const u32 gBattleAnimSpritePalette_204[] = INCBIN_U32("graphics/battle_anims/sprites/204.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_202[] = INCBIN_U8("graphics/battle_anims/sprites/202.4bpp.lz");
-const u8 gBattleAnimSpritePalette_202[] = INCBIN_U8("graphics/battle_anims/sprites/202.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.4bpp.lz");
+const u32 gBattleAnimSpritePalette_202[] = INCBIN_U32("graphics/battle_anims/sprites/202.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_203[] = INCBIN_U8("graphics/battle_anims/sprites/203.4bpp.lz");
-const u8 gBattleAnimSpritePalette_203[] = INCBIN_U8("graphics/battle_anims/sprites/203.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.4bpp.lz");
+const u32 gBattleAnimSpritePalette_203[] = INCBIN_U32("graphics/battle_anims/sprites/203.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_206[] = INCBIN_U8("graphics/battle_anims/sprites/206.4bpp.lz");
-const u8 gBattleAnimSpritePalette_206[] = INCBIN_U8("graphics/battle_anims/sprites/206.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.4bpp.lz");
+const u32 gBattleAnimSpritePalette_206[] = INCBIN_U32("graphics/battle_anims/sprites/206.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_205[] = INCBIN_U8("graphics/battle_anims/sprites/205.4bpp.lz");
-const u8 gBattleAnimSpritePalette_205[] = INCBIN_U8("graphics/battle_anims/sprites/205.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.4bpp.lz");
+const u32 gBattleAnimSpritePalette_205[] = INCBIN_U32("graphics/battle_anims/sprites/205.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_207[] = INCBIN_U8("graphics/battle_anims/sprites/207.4bpp.lz");
-const u8 gBattleAnimSpritePalette_207[] = INCBIN_U8("graphics/battle_anims/sprites/207.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.4bpp.lz");
+const u32 gBattleAnimSpritePalette_207[] = INCBIN_U32("graphics/battle_anims/sprites/207.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_208[] = INCBIN_U8("graphics/battle_anims/sprites/208.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_208[] = INCBIN_U32("graphics/battle_anims/sprites/208.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_209[] = INCBIN_U8("graphics/battle_anims/sprites/209.4bpp.lz");
-const u8 gBattleAnimSpritePalette_209[] = INCBIN_U8("graphics/battle_anims/sprites/209.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.4bpp.lz");
+const u32 gBattleAnimSpritePalette_209[] = INCBIN_U32("graphics/battle_anims/sprites/209.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_064[] = INCBIN_U8("graphics/battle_anims/sprites/064.4bpp.lz");
-const u8 gBattleAnimSpritePalette_064[] = INCBIN_U8("graphics/battle_anims/sprites/064.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.4bpp.lz");
+const u32 gBattleAnimSpritePalette_064[] = INCBIN_U32("graphics/battle_anims/sprites/064.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_210[] = INCBIN_U8("graphics/battle_anims/sprites/210.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.4bpp.lz");
-const u8 gBattleAnimSpritePalette_219[] = INCBIN_U8("graphics/battle_anims/sprites/219.gbapal.lz");
-const u8 gBattleAnimSpritePalette_210[] = INCBIN_U8("graphics/battle_anims/sprites/210.gbapal.lz");
-const u8 gBattleAnimSpritePalette_216[] = INCBIN_U8("graphics/battle_anims/sprites/216.gbapal.lz");
+const u32 gBattleAnimSpritePalette_219[] = INCBIN_U32("graphics/battle_anims/sprites/219.gbapal.lz");
+const u32 gBattleAnimSpritePalette_210[] = INCBIN_U32("graphics/battle_anims/sprites/210.gbapal.lz");
+const u32 gBattleAnimSpritePalette_216[] = INCBIN_U32("graphics/battle_anims/sprites/216.gbapal.lz");
-const u8 gUnknown_08C232E0[] = INCBIN_U8("graphics/battle_anims/backgrounds/attract.4bpp.lz");
-const u8 gUnknown_08C23D50[] = INCBIN_U8("graphics/battle_anims/backgrounds/attract.gbapal.lz");
-const u16 gUnknown_08C23D78[] = INCBIN_U16("graphics/battle_anims/backgrounds/attract.bin.lz");
+const u32 gUnknown_08C232E0[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.4bpp.lz");
+const u32 gUnknown_08C23D50[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.gbapal.lz");
+const u32 gUnknown_08C23D78[] = INCBIN_U32("graphics/battle_anims/backgrounds/attract.bin.lz");
-const u8 gBattleAnimSpriteSheet_217[] = INCBIN_U8("graphics/battle_anims/sprites/217.4bpp.lz");
-const u8 gBattleAnimSpritePalette_217[] = INCBIN_U8("graphics/battle_anims/sprites/217.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.4bpp.lz");
+const u32 gBattleAnimSpritePalette_217[] = INCBIN_U32("graphics/battle_anims/sprites/217.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_212[] = INCBIN_U8("graphics/battle_anims/sprites/212.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_211[] = INCBIN_U8("graphics/battle_anims/sprites/211.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_213[] = INCBIN_U8("graphics/battle_anims/sprites/213.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_212[] = INCBIN_U32("graphics/battle_anims/sprites/212.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_213[] = INCBIN_U32("graphics/battle_anims/sprites/213.4bpp.lz");
-const u8 gBattleAnimSpritePalette_211[] = INCBIN_U8("graphics/battle_anims/sprites/211.gbapal.lz");
+const u32 gBattleAnimSpritePalette_211[] = INCBIN_U32("graphics/battle_anims/sprites/211.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_214[] = INCBIN_U8("graphics/battle_anims/sprites/214.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_214[] = INCBIN_U32("graphics/battle_anims/sprites/214.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_215[] = INCBIN_U8("graphics/battle_anims/sprites/215.4bpp.lz");
-const u8 gBattleAnimSpritePalette_215[] = INCBIN_U8("graphics/battle_anims/sprites/215.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.4bpp.lz");
+const u32 gBattleAnimSpritePalette_215[] = INCBIN_U32("graphics/battle_anims/sprites/215.gbapal.lz");
-const u8 gUnknown_08C249D0[] = INCBIN_U8("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
-const u8 gUnknown_08C249F8[] = INCBIN_U8("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
+const u32 gUnknown_08C249D0[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.gbapal.lz");
+const u32 gUnknown_08C249F8[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face.4bpp.lz");
-const u8 gBattleAnimSpritePalette_218[] = INCBIN_U8("graphics/battle_anims/sprites/218.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_218[] = INCBIN_U8("graphics/battle_anims/sprites/218.4bpp.lz");
+const u32 gBattleAnimSpritePalette_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_218[] = INCBIN_U32("graphics/battle_anims/sprites/218.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_087[] = INCBIN_U8("graphics/battle_anims/sprites/087.4bpp.lz");
-const u8 gBattleAnimSpritePalette_087[] = INCBIN_U8("graphics/battle_anims/sprites/087.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.4bpp.lz");
+const u32 gBattleAnimSpritePalette_087[] = INCBIN_U32("graphics/battle_anims/sprites/087.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_018[] = INCBIN_U8("graphics/battle_anims/sprites/018.4bpp.lz");
-const u8 gBattleAnimSpritePalette_018[] = INCBIN_U8("graphics/battle_anims/sprites/018.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.4bpp.lz");
+const u32 gBattleAnimSpritePalette_018[] = INCBIN_U32("graphics/battle_anims/sprites/018.gbapal.lz");
-const u8 gBattleAnimSpritePalette_220[] = INCBIN_U8("graphics/battle_anims/sprites/220.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_220[] = INCBIN_U8("graphics/battle_anims/sprites/220.4bpp.lz");
+const u32 gBattleAnimSpritePalette_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_220[] = INCBIN_U32("graphics/battle_anims/sprites/220.4bpp.lz");
-const u8 gBattleAnimSpritePalette_221[] = INCBIN_U8("graphics/battle_anims/sprites/221.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_221[] = INCBIN_U8("graphics/battle_anims/sprites/221.4bpp.lz");
+const u32 gBattleAnimSpritePalette_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_221[] = INCBIN_U32("graphics/battle_anims/sprites/221.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_222[] = INCBIN_U8("graphics/battle_anims/sprites/222.4bpp.lz");
-const u8 gBattleAnimSpritePalette_222[] = INCBIN_U8("graphics/battle_anims/sprites/222.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.4bpp.lz");
+const u32 gBattleAnimSpritePalette_222[] = INCBIN_U32("graphics/battle_anims/sprites/222.gbapal.lz");
-const u8 gBattleAnimSpritePalette_223[] = INCBIN_U8("graphics/battle_anims/sprites/223.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_223[] = INCBIN_U8("graphics/battle_anims/sprites/223.4bpp.lz");
+const u32 gBattleAnimSpritePalette_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_223[] = INCBIN_U32("graphics/battle_anims/sprites/223.4bpp.lz");
-const u8 gBattleAnimSpritePalette_224[] = INCBIN_U8("graphics/battle_anims/sprites/224.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_224[] = INCBIN_U8("graphics/battle_anims/sprites/224.4bpp.lz");
+const u32 gBattleAnimSpritePalette_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_224[] = INCBIN_U32("graphics/battle_anims/sprites/224.4bpp.lz");
-const u8 gBattleAnimSpritePalette_230[] = INCBIN_U8("graphics/battle_anims/sprites/230.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_230[] = INCBIN_U8("graphics/battle_anims/sprites/230.4bpp.lz");
+const u32 gBattleAnimSpritePalette_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_230[] = INCBIN_U32("graphics/battle_anims/sprites/230.4bpp.lz");
-const u8 gBattleAnimSpritePalette_228[] = INCBIN_U8("graphics/battle_anims/sprites/228.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_228[] = INCBIN_U8("graphics/battle_anims/sprites/228.4bpp.lz");
+const u32 gBattleAnimSpritePalette_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_228[] = INCBIN_U32("graphics/battle_anims/sprites/228.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_04[] = INCBIN_U8("graphics/battle_anims/backgrounds/04.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_04[] = INCBIN_U8("graphics/battle_anims/backgrounds/04.4bpp.lz");
-const u16 gBattleAnimBackgroundTilemap_04[] = INCBIN_U16("graphics/battle_anims/backgrounds/04.bin.lz");
+const u32 gBattleAnimBackgroundPalette_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.gbapal.lz");
+const u32 gBattleAnimBackgroundImage_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.4bpp.lz");
+const u32 gBattleAnimBackgroundTilemap_04[] = INCBIN_U32("graphics/battle_anims/backgrounds/04.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_05[] = INCBIN_U16("graphics/battle_anims/backgrounds/05.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_06[] = INCBIN_U16("graphics/battle_anims/backgrounds/06.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_05[] = INCBIN_U32("graphics/battle_anims/backgrounds/05.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_06[] = INCBIN_U32("graphics/battle_anims/backgrounds/06.bin.lz");
-const u8 gBattleAnimSpriteSheet_225[] = INCBIN_U8("graphics/battle_anims/sprites/225.4bpp.lz");
-const u8 gBattleAnimSpritePalette_225[] = INCBIN_U8("graphics/battle_anims/sprites/225.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.4bpp.lz");
+const u32 gBattleAnimSpritePalette_225[] = INCBIN_U32("graphics/battle_anims/sprites/225.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_227[] = INCBIN_U8("graphics/battle_anims/sprites/227.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_227[] = INCBIN_U32("graphics/battle_anims/sprites/227.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_226[] = INCBIN_U8("graphics/battle_anims/sprites/226.4bpp.lz");
-const u8 gBattleAnimSpritePalette_226[] = INCBIN_U8("graphics/battle_anims/sprites/226.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.4bpp.lz");
+const u32 gBattleAnimSpritePalette_226[] = INCBIN_U32("graphics/battle_anims/sprites/226.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_229[] = INCBIN_U8("graphics/battle_anims/sprites/229.4bpp.lz");
-const u8 gBattleAnimSpritePalette_229[] = INCBIN_U8("graphics/battle_anims/sprites/229.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.4bpp.lz");
+const u32 gBattleAnimSpritePalette_229[] = INCBIN_U32("graphics/battle_anims/sprites/229.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_099[] = INCBIN_U8("graphics/battle_anims/sprites/099.4bpp.lz");
-const u8 gBattleAnimSpritePalette_099[] = INCBIN_U8("graphics/battle_anims/sprites/099.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.4bpp.lz");
+const u32 gBattleAnimSpritePalette_099[] = INCBIN_U32("graphics/battle_anims/sprites/099.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_232[] = INCBIN_U8("graphics/battle_anims/sprites/232.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_232[] = INCBIN_U32("graphics/battle_anims/sprites/232.4bpp.lz");
-const u8 gBattleAnimSpritePalette_231[] = INCBIN_U8("graphics/battle_anims/sprites/231.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_231[] = INCBIN_U8("graphics/battle_anims/sprites/231.4bpp.lz");
+const u32 gBattleAnimSpritePalette_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_231[] = INCBIN_U32("graphics/battle_anims/sprites/231.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_233[] = INCBIN_U8("graphics/battle_anims/sprites/233.4bpp.lz");
-const u8 gBattleAnimSpritePalette_233[] = INCBIN_U8("graphics/battle_anims/sprites/233.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.4bpp.lz");
+const u32 gBattleAnimSpritePalette_233[] = INCBIN_U32("graphics/battle_anims/sprites/233.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_234[] = INCBIN_U8("graphics/battle_anims/sprites/234.4bpp.lz");
-const u8 gBattleAnimSpritePalette_234[] = INCBIN_U8("graphics/battle_anims/sprites/234.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.4bpp.lz");
+const u32 gBattleAnimSpritePalette_234[] = INCBIN_U32("graphics/battle_anims/sprites/234.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_238[] = INCBIN_U8("graphics/battle_anims/sprites/238.4bpp.lz");
-const u8 gBattleAnimSpritePalette_238[] = INCBIN_U8("graphics/battle_anims/sprites/238.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.4bpp.lz");
+const u32 gBattleAnimSpritePalette_238[] = INCBIN_U32("graphics/battle_anims/sprites/238.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_235[] = INCBIN_U8("graphics/battle_anims/sprites/235.4bpp.lz");
-const u8 gBattleAnimSpritePalette_235[] = INCBIN_U8("graphics/battle_anims/sprites/235.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.4bpp.lz");
+const u32 gBattleAnimSpritePalette_235[] = INCBIN_U32("graphics/battle_anims/sprites/235.gbapal.lz");
-const u8 gBattleAnimSpritePalette_236[] = INCBIN_U8("graphics/battle_anims/sprites/236.gbapal.lz");
-const u8 gBattleAnimSpritePalette_237[] = INCBIN_U8("graphics/battle_anims/sprites/237.gbapal.lz");
+const u32 gBattleAnimSpritePalette_236[] = INCBIN_U32("graphics/battle_anims/sprites/236.gbapal.lz");
+const u32 gBattleAnimSpritePalette_237[] = INCBIN_U32("graphics/battle_anims/sprites/237.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_07[] = INCBIN_U8("graphics/battle_anims/backgrounds/07.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_07[] = INCBIN_U8("graphics/battle_anims/backgrounds/07.gbapal.lz");
+const u32 gBattleAnimBackgroundImage_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.gbapal.lz");
-const u8 gBattleAnimBackgroundPalette_18[] = INCBIN_U8("graphics/battle_anims/backgrounds/18.gbapal.lz");
+const u32 gBattleAnimBackgroundPalette_18[] = INCBIN_U32("graphics/battle_anims/backgrounds/18.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_07[] = INCBIN_U16("graphics/battle_anims/backgrounds/07.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_08[] = INCBIN_U16("graphics/battle_anims/backgrounds/08.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_07[] = INCBIN_U32("graphics/battle_anims/backgrounds/07.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_08[] = INCBIN_U32("graphics/battle_anims/backgrounds/08.bin.lz");
-const u8 gBattleAnimBackgroundImage_20[] = INCBIN_U8("graphics/battle_anims/backgrounds/20.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_20[] = INCBIN_U8("graphics/battle_anims/backgrounds/20.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_20[] = INCBIN_U16("graphics/battle_anims/backgrounds/20.bin.lz");
+const u32 gBattleAnimBackgroundImage_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_20[] = INCBIN_U32("graphics/battle_anims/backgrounds/20.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_09[] = INCBIN_U16("graphics/battle_anims/backgrounds/09.bin.lz");
-const u8 gBattleAnimBackgroundPalette_09[] = INCBIN_U8("graphics/battle_anims/backgrounds/09.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.bin.lz");
+const u32 gBattleAnimBackgroundPalette_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.gbapal.lz");
-const u8 gBattleAnimBackgroundPalette_22[] = INCBIN_U8("graphics/battle_anims/backgrounds/22.gbapal.lz");
+const u32 gBattleAnimBackgroundPalette_22[] = INCBIN_U32("graphics/battle_anims/backgrounds/22.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_09[] = INCBIN_U8("graphics/battle_anims/backgrounds/09.4bpp.lz");
-const u16 gBattleAnimBackgroundTilemap_10[] = INCBIN_U16("graphics/battle_anims/backgrounds/10.bin.lz");
+const u32 gBattleAnimBackgroundImage_09[] = INCBIN_U32("graphics/battle_anims/backgrounds/09.4bpp.lz");
+const u32 gBattleAnimBackgroundTilemap_10[] = INCBIN_U32("graphics/battle_anims/backgrounds/10.bin.lz");
-const u8 gUnknown_08C2A634[] = INCBIN_U8("graphics/battle_anims/masks/morning_sun.4bpp.lz");
-const u8 gUnknown_08C2A6D4[] = INCBIN_U8("graphics/battle_anims/masks/morning_sun.gbapal.lz");
-const u16 gUnknown_08C2A6EC[] = INCBIN_U16("graphics/battle_anims/masks/morning_sun.bin.lz");
+const u32 gUnknown_08C2A634[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.4bpp.lz");
+const u32 gUnknown_08C2A6D4[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.gbapal.lz");
+const u32 gUnknown_08C2A6EC[] = INCBIN_U32("graphics/battle_anims/masks/morning_sun.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_12[] = INCBIN_U16("graphics/battle_anims/backgrounds/12.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_13[] = INCBIN_U16("graphics/battle_anims/backgrounds/13.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_14[] = INCBIN_U16("graphics/battle_anims/backgrounds/14.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_13[] = INCBIN_U32("graphics/battle_anims/backgrounds/13.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_14[] = INCBIN_U32("graphics/battle_anims/backgrounds/14.bin.lz");
-const u8 gBattleAnimBackgroundImage_12[] = INCBIN_U8("graphics/battle_anims/backgrounds/12.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_12[] = INCBIN_U8("graphics/battle_anims/backgrounds/12.gbapal.lz");
+const u32 gBattleAnimBackgroundImage_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_12[] = INCBIN_U32("graphics/battle_anims/backgrounds/12.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_11[] = INCBIN_U8("graphics/battle_anims/backgrounds/11.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_11[] = INCBIN_U8("graphics/battle_anims/backgrounds/11.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_11[] = INCBIN_U16("graphics/battle_anims/backgrounds/11.bin.lz");
+const u32 gBattleAnimBackgroundImage_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_11[] = INCBIN_U32("graphics/battle_anims/backgrounds/11.bin.lz");
-const u8 gBattleAnimSpriteSheet_239[] = INCBIN_U8("graphics/battle_anims/sprites/239.4bpp.lz");
-const u8 gBattleAnimSpritePalette_239[] = INCBIN_U8("graphics/battle_anims/sprites/239.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.4bpp.lz");
+const u32 gBattleAnimSpritePalette_239[] = INCBIN_U32("graphics/battle_anims/sprites/239.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_143[] = INCBIN_U8("graphics/battle_anims/sprites/143.4bpp.lz");
-const u8 gBattleAnimSpritePalette_143[] = INCBIN_U8("graphics/battle_anims/sprites/143.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.4bpp.lz");
+const u32 gBattleAnimSpritePalette_143[] = INCBIN_U32("graphics/battle_anims/sprites/143.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_240[] = INCBIN_U8("graphics/battle_anims/sprites/240.4bpp.lz");
-const u8 gBattleAnimSpritePalette_240[] = INCBIN_U8("graphics/battle_anims/sprites/240.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.4bpp.lz");
+const u32 gBattleAnimSpritePalette_240[] = INCBIN_U32("graphics/battle_anims/sprites/240.gbapal.lz");
-const u8 gSubstituteDollPal[] = INCBIN_U8("graphics/battle_anims/sprites/substitute.gbapal.lz");
-const u8 gSubstituteDollGfx[] = INCBIN_U8("graphics/battle_anims/sprites/substitute.4bpp.lz");
-const u16 gSubstituteDollTilemap[] = INCBIN_U16("graphics/battle_anims/sprites/substitute.bin.lz");
+const u32 gSubstituteDollPal[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.gbapal.lz");
+const u32 gSubstituteDollGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz");
+const u32 gSubstituteDollTilemap[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.bin.lz");
-const u8 gBattleAnimSpriteSheet_241[] = INCBIN_U8("graphics/battle_anims/sprites/241.4bpp.lz");
-const u8 gBattleAnimSpritePalette_241[] = INCBIN_U8("graphics/battle_anims/sprites/241.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.4bpp.lz");
+const u32 gBattleAnimSpritePalette_241[] = INCBIN_U32("graphics/battle_anims/sprites/241.gbapal.lz");
-const u8 gContestConfetti_Gfx[] = INCBIN_U8("graphics/misc/confetti.4bpp.lz");
-const u8 gContestConfetti_Pal[] = INCBIN_U8("graphics/misc/confetti.gbapal.lz");
+const u32 gContestConfetti_Gfx[] = INCBIN_U32("graphics/misc/confetti.4bpp.lz");
+const u32 gContestConfetti_Pal[] = INCBIN_U32("graphics/misc/confetti.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_242[] = INCBIN_U8("graphics/battle_anims/sprites/242.4bpp.lz");
-const u8 gBattleAnimSpritePalette_242[] = INCBIN_U8("graphics/battle_anims/sprites/242.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.4bpp.lz");
+const u32 gBattleAnimSpritePalette_242[] = INCBIN_U32("graphics/battle_anims/sprites/242.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_243[] = INCBIN_U8("graphics/battle_anims/sprites/243.4bpp.lz");
-const u8 gBattleAnimSpritePalette_243[] = INCBIN_U8("graphics/battle_anims/sprites/243.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.4bpp.lz");
+const u32 gBattleAnimSpritePalette_243[] = INCBIN_U32("graphics/battle_anims/sprites/243.gbapal.lz");
-const u8 gUnknown_08C2D720[] = INCBIN_U8("graphics/battle_anims/masks/stat.4bpp.lz");
-const u16 gUnknown_08C2D930[] = INCBIN_U16("graphics/battle_anims/masks/stat_tilemap_1.bin.lz");
-const u16 gUnknown_08C2DA4C[] = INCBIN_U16("graphics/battle_anims/masks/stat_tilemap_2.bin.lz");
+const u32 gBattleStatMask_Gfx[] = INCBIN_U32("graphics/battle_anims/masks/stat.4bpp.lz");
+const u32 gBattleStatMask1_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_1.bin.lz");
+const u32 gBattleStatMask2_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_2.bin.lz");
-const u8 gUnknown_08C2DB68[] = INCBIN_U8("graphics/battle_anims/masks/stat1.gbapal.lz");
-const u8 gUnknown_08C2DB88[] = INCBIN_U8("graphics/battle_anims/masks/stat2.gbapal.lz");
-const u8 gUnknown_08C2DBA8[] = INCBIN_U8("graphics/battle_anims/masks/stat3.gbapal.lz");
-const u8 gUnknown_08C2DBC8[] = INCBIN_U8("graphics/battle_anims/masks/stat4.gbapal.lz");
-const u8 gUnknown_08C2DBE8[] = INCBIN_U8("graphics/battle_anims/masks/stat5.gbapal.lz");
-const u8 gUnknown_08C2DC08[] = INCBIN_U8("graphics/battle_anims/masks/stat6.gbapal.lz");
-const u8 gUnknown_08C2DC28[] = INCBIN_U8("graphics/battle_anims/masks/stat7.gbapal.lz");
-const u8 gUnknown_08C2DC48[] = INCBIN_U8("graphics/battle_anims/masks/stat8.gbapal.lz");
+const u32 gBattleStatMask1_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat1.gbapal.lz");
+const u32 gBattleStatMask2_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat2.gbapal.lz");
+const u32 gBattleStatMask3_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat3.gbapal.lz");
+const u32 gBattleStatMask4_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat4.gbapal.lz");
+const u32 gBattleStatMask5_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat5.gbapal.lz");
+const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6.gbapal.lz");
+const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz");
+const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz");
-const u8 gUnknown_08C2DC68[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz");
-const u8 gUnknown_08C2DDA4[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.gbapal.lz");
-const u16 gUnknown_08C2DDC4[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.bin.lz");
+const u32 gUnknown_08C2DC68[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz");
+const u32 gUnknown_08C2DDA4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz");
+const u32 gUnknown_08C2DDC4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz");
-const u8 gBattleAnimSpritePalette_245[] = INCBIN_U8("graphics/battle_anims/sprites/245.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_245[] = INCBIN_U8("graphics/battle_anims/sprites/245.4bpp.lz");
+const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_246[] = INCBIN_U8("graphics/battle_anims/sprites/246.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_246[] = INCBIN_U32("graphics/battle_anims/sprites/246.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_244[] = INCBIN_U8("graphics/battle_anims/sprites/244.4bpp.lz");
-const u8 gBattleAnimSpritePalette_244[] = INCBIN_U8("graphics/battle_anims/sprites/244.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.4bpp.lz");
+const u32 gBattleAnimSpritePalette_244[] = INCBIN_U32("graphics/battle_anims/sprites/244.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_247[] = INCBIN_U8("graphics/battle_anims/sprites/247.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_247[] = INCBIN_U32("graphics/battle_anims/sprites/247.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_053[] = INCBIN_U8("graphics/battle_anims/sprites/053.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_053[] = INCBIN_U32("graphics/battle_anims/sprites/053.4bpp.lz");
-const u8 gUnknown_08C2EA50[] = INCBIN_U8("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz");
-const u16 gUnknown_08C2EA9C[] = INCBIN_U16("graphics/battle_anims/masks/unknown_C2EA50.bin.lz");
+const u32 gUnknown_08C2EA50[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.4bpp.lz");
+const u32 gUnknown_08C2EA9C[] = INCBIN_U32("graphics/battle_anims/masks/unknown_C2EA50.bin.lz");
-const u8 gBattleAnimSpriteSheet_248[] = INCBIN_U8("graphics/battle_anims/sprites/248.4bpp.lz");
-const u8 gBattleAnimSpritePalette_248[] = INCBIN_U8("graphics/battle_anims/sprites/248.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.4bpp.lz");
+const u32 gBattleAnimSpritePalette_248[] = INCBIN_U32("graphics/battle_anims/sprites/248.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_249[] = INCBIN_U8("graphics/battle_anims/sprites/249.4bpp.lz");
-const u8 gBattleAnimSpritePalette_249[] = INCBIN_U8("graphics/battle_anims/sprites/249.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.4bpp.lz");
+const u32 gBattleAnimSpritePalette_249[] = INCBIN_U32("graphics/battle_anims/sprites/249.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_250[] = INCBIN_U8("graphics/battle_anims/sprites/250.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_250[] = INCBIN_U32("graphics/battle_anims/sprites/250.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_251[] = INCBIN_U8("graphics/battle_anims/sprites/251.4bpp.lz");
-const u8 gBattleAnimSpritePalette_251[] = INCBIN_U8("graphics/battle_anims/sprites/251.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.4bpp.lz");
+const u32 gBattleAnimSpritePalette_251[] = INCBIN_U32("graphics/battle_anims/sprites/251.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_252[] = INCBIN_U8("graphics/battle_anims/sprites/252.4bpp.lz");
-const u8 gBattleAnimSpritePalette_252[] = INCBIN_U8("graphics/battle_anims/sprites/252.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.4bpp.lz");
+const u32 gBattleAnimSpritePalette_252[] = INCBIN_U32("graphics/battle_anims/sprites/252.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_253[] = INCBIN_U8("graphics/battle_anims/sprites/253.4bpp.lz");
-const u8 gBattleAnimSpritePalette_253[] = INCBIN_U8("graphics/battle_anims/sprites/253.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.4bpp.lz");
+const u32 gBattleAnimSpritePalette_253[] = INCBIN_U32("graphics/battle_anims/sprites/253.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_254[] = INCBIN_U8("graphics/battle_anims/sprites/254.4bpp.lz");
-const u8 gBattleAnimSpritePalette_254[] = INCBIN_U8("graphics/battle_anims/sprites/254.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.4bpp.lz");
+const u32 gBattleAnimSpritePalette_254[] = INCBIN_U32("graphics/battle_anims/sprites/254.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_255[] = INCBIN_U8("graphics/battle_anims/sprites/255.4bpp.lz");
-const u8 gBattleAnimSpritePalette_255[] = INCBIN_U8("graphics/battle_anims/sprites/255.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.4bpp.lz");
+const u32 gBattleAnimSpritePalette_255[] = INCBIN_U32("graphics/battle_anims/sprites/255.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_258[] = INCBIN_U8("graphics/battle_anims/sprites/258.4bpp.lz");
-const u8 gBattleAnimSpritePalette_258[] = INCBIN_U8("graphics/battle_anims/sprites/258.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.4bpp.lz");
+const u32 gBattleAnimSpritePalette_258[] = INCBIN_U32("graphics/battle_anims/sprites/258.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_256[] = INCBIN_U8("graphics/battle_anims/sprites/256.4bpp.lz");
-const u8 gBattleAnimSpritePalette_256[] = INCBIN_U8("graphics/battle_anims/sprites/256.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.4bpp.lz");
+const u32 gBattleAnimSpritePalette_256[] = INCBIN_U32("graphics/battle_anims/sprites/256.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_257[] = INCBIN_U8("graphics/battle_anims/sprites/257.4bpp.lz");
-const u8 gBattleAnimSpritePalette_257[] = INCBIN_U8("graphics/battle_anims/sprites/257.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.4bpp.lz");
+const u32 gBattleAnimSpritePalette_257[] = INCBIN_U32("graphics/battle_anims/sprites/257.gbapal.lz");
-const u8 gUnknownPal_C2F9E0[] = INCBIN_U8("graphics/unknown/unknown_C2F9E0.gbapal.lz");
+const u32 gUnknownPal_C2F9E0[] = INCBIN_U32("graphics/unknown/unknown_C2F9E0.gbapal.lz");
#include "data/graphics/pokemon.h"
#include "data/graphics/trainers.h"
@@ -956,38 +956,38 @@ const u8 gUnknownPal_C2F9E0[] = INCBIN_U8("graphics/unknown/unknown_C2F9E0.gbapa
const u8 gMonIcon_QuestionMark[] = INCBIN_U8("graphics/pokemon/icons/question_mark_icon.4bpp");
const u8 gMonFootprint_QuestionMark[] = INCBIN_U8("graphics/pokemon/footprints/question_mark_footprint.1bpp");
-const u8 gUnknown_08D778F0[] = INCBIN_U8("graphics/battle_transitions/vs_frame.4bpp.lz");
-const u16 gUnknown_08D779D8[] = INCBIN_U16("graphics/battle_transitions/vs_frame.bin.lz");
-const u8 gUnknown_08D77AE4[] = INCBIN_U8("graphics/battle_transitions/vs_frame.gbapal.lz");
+const u32 gUnknown_08D778F0[] = INCBIN_U32("graphics/battle_transitions/vs_frame.4bpp.lz");
+const u32 gUnknown_08D779D8[] = INCBIN_U32("graphics/battle_transitions/vs_frame.bin.lz");
+const u32 gUnknown_08D77AE4[] = INCBIN_U32("graphics/battle_transitions/vs_frame.gbapal.lz");
-const u8 gUnknown_08D77B0C[] = INCBIN_U8("graphics/battle_transitions/vs.4bpp.lz");
+const u32 gUnknown_08D77B0C[] = INCBIN_U32("graphics/battle_transitions/vs.4bpp.lz");
#include "data/graphics/battle_terrain.h"
-const u8 gUnknown_08D82F10[] = INCBIN_U8("graphics/battle_frontier/tourney_bg.4bpp.lz");
-const u8 gUnknown_08D834FC[] = INCBIN_U8("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
+const u32 gUnknown_08D82F10[] = INCBIN_U32("graphics/battle_frontier/tourney_bg.4bpp.lz");
+const u32 gUnknown_08D834FC[] = INCBIN_U32("graphics/battle_frontier/tourney_line.4bpp.lz"); // the red glow mask for the tourney advancement lines
-const u16 gUnknown_08D83900[] = INCBIN_U16("graphics/unknown/unknown_D83900.bin.lz"); // tilemaps likely
+const u32 gUnknown_08D83900[] = INCBIN_U32("graphics/unknown/unknown_D83900.bin.lz"); // tilemaps likely
-const u16 gUnknown_08D83B2C[] = INCBIN_U16("graphics/unknown/unknown_D83B2C.bin.lz");
+const u32 gUnknown_08D83B2C[] = INCBIN_U32("graphics/unknown/unknown_D83B2C.bin.lz");
-const u16 gUnknown_08D83C3C[] = INCBIN_U16("graphics/unknown/unknown_D83C3C.bin.lz");
+const u32 gUnknown_08D83C3C[] = INCBIN_U32("graphics/unknown/unknown_D83C3C.bin.lz");
-const u8 gUnknown_08D83D50[] = INCBIN_U8("graphics/battle_frontier/misc1.4bpp.lz");
+const u32 gUnknown_08D83D50[] = INCBIN_U32("graphics/battle_frontier/misc1.4bpp.lz");
-const u16 gUnknown_08D84970[] = INCBIN_U16("graphics/unknown/unknown_D84970.bin.lz");
+const u32 gUnknown_08D84970[] = INCBIN_U32("graphics/unknown/unknown_D84970.bin.lz");
-const u16 gUnknown_08D84F00[] = INCBIN_U16("graphics/unknown/unknown_D84F00.bin.lz");
+const u32 gUnknown_08D84F00[] = INCBIN_U32("graphics/unknown/unknown_D84F00.bin.lz");
-const u8 gBattleFrontierGfx_DomeOptions[] = INCBIN_U8("graphics/battle_frontier/options.4bpp.lz");
-const u8 gUnknown_08D85358[] = INCBIN_U8("graphics/battle_frontier/options_pal1.gbapal.lz");
-const u8 gUnknown_08D85444[] = INCBIN_U8("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal
-const u8 gUnknown_08D854C8[] = INCBIN_U8("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal
+const u32 gBattleFrontierGfx_DomeOptions[] = INCBIN_U32("graphics/battle_frontier/options.4bpp.lz");
+const u32 gUnknown_08D85358[] = INCBIN_U32("graphics/battle_frontier/options_pal1.gbapal.lz");
+const u32 gUnknown_08D85444[] = INCBIN_U32("graphics/battle_frontier/options_pal2.gbapal.lz"); // pokeball pal
+const u32 gUnknown_08D854C8[] = INCBIN_U32("graphics/battle_frontier/options_pal3.gbapal.lz"); // arrow pal
-const u8 gUnknown_08D854E8[] = INCBIN_U8("graphics/battle_frontier/symbols.4bpp.lz");
-const u8 gUnknown_08D855E8[] = INCBIN_U8("graphics/battle_frontier/symbols.gbapal.lz");
+const u32 gUnknown_08D854E8[] = INCBIN_U32("graphics/battle_frontier/symbols.4bpp.lz");
+const u32 gUnknown_08D855E8[] = INCBIN_U32("graphics/battle_frontier/symbols.gbapal.lz");
-const u8 gUnknown_08D85600[] = INCBIN_U8("graphics/battle_frontier/text.gbapal.lz");
+const u32 gUnknown_08D85600[] = INCBIN_U32("graphics/battle_frontier/text.gbapal.lz");
const u16 gUnknown_08D85620[] = INCBIN_U16("graphics/battle_frontier/text_pp.gbapal");
const u16 gTilesetAnims_BattleDomePals0_0[] = INCBIN_U16("graphics/battle_frontier/dome_anim1.gbapal");
@@ -1000,253 +1000,253 @@ asm(".2byte 0x013F, 0x0119, 0x0113, 0x010E"); // unused?
const u16 gUnknown_08D856C8[] = INCBIN_U16("graphics/battle_frontier/pyramid_light.gbapal"); // unfaded pal for the player light in battle pyramid
-const u16 gUnknown_08D857A8[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap1.bin.lz");
-const u16 gUnknown_08D85A1C[] = INCBIN_U16("graphics/battle_frontier/battle_tilemap2.bin.lz");
+const u32 gUnknown_08D857A8[] = INCBIN_U32("graphics/battle_frontier/battle_tilemap1.bin.lz");
+const u32 gUnknown_08D85A1C[] = INCBIN_U32("graphics/battle_frontier/battle_tilemap2.bin.lz");
#include "data/graphics/intro_scene.h"
-const u8 gBattleAnimSpriteSheet_261[] = INCBIN_U8("graphics/battle_anims/sprites/261.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.4bpp.lz");
-const u16 gUnknown_08D8D410[] = INCBIN_U16("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
-const u8 gUnknown_08D8D58C[] = INCBIN_U8("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
+const u32 gUnknown_08D8D410[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.bin.lz");
+const u32 gUnknown_08D8D58C[] = INCBIN_U32("graphics/battle_anims/backgrounds/sandstorm_brew.4bpp.lz");
-const u8 gBattleAnimSpritePalette_261[] = INCBIN_U8("graphics/battle_anims/sprites/261.gbapal.lz");
+const u32 gBattleAnimSpritePalette_261[] = INCBIN_U32("graphics/battle_anims/sprites/261.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_260[] = INCBIN_U8("graphics/battle_anims/sprites/260.4bpp.lz");
-const u8 gBattleAnimSpritePalette_260[] = INCBIN_U8("graphics/battle_anims/sprites/260.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.4bpp.lz");
+const u32 gBattleAnimSpritePalette_260[] = INCBIN_U32("graphics/battle_anims/sprites/260.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_15[] = INCBIN_U8("graphics/battle_anims/backgrounds/15.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_15[] = INCBIN_U8("graphics/battle_anims/backgrounds/15.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_15[] = INCBIN_U16("graphics/battle_anims/backgrounds/15.bin.lz");
+const u32 gBattleAnimBackgroundImage_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_15[] = INCBIN_U32("graphics/battle_anims/backgrounds/15.bin.lz");
-const u8 gBattleAnimSpriteSheet_262[] = INCBIN_U8("graphics/battle_anims/sprites/262.4bpp.lz");
-const u8 gBattleAnimSpritePalette_262[] = INCBIN_U8("graphics/battle_anims/sprites/262.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.4bpp.lz");
+const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz");
-const u8 gContestNextTurnGfx[] = INCBIN_U8("graphics/contest/nextturn.4bpp.lz");
+const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz");
const u8 gUnknown_08D8E9B4[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp");
const u8 gUnknown_08D8EA34[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp");
-const u8 gBattleAnimSpriteSheet_264[] = INCBIN_U8("graphics/battle_anims/sprites/264.4bpp.lz");
-const u8 gBattleAnimSpritePalette_264[] = INCBIN_U8("graphics/battle_anims/sprites/264.gbapal.lz");
-const u8 gBattleAnimSpritePalette_265[] = INCBIN_U8("graphics/battle_anims/sprites/265.gbapal.lz");
-const u8 gBattleAnimSpritePalette_067[] = INCBIN_U8("graphics/battle_anims/sprites/067.gbapal.lz");
-const u8 gBattleAnimSpritePalette_068[] = INCBIN_U8("graphics/battle_anims/sprites/068.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz");
+const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz");
+const u32 gBattleAnimSpritePalette_265[] = INCBIN_U32("graphics/battle_anims/sprites/265.gbapal.lz");
+const u32 gBattleAnimSpritePalette_067[] = INCBIN_U32("graphics/battle_anims/sprites/067.gbapal.lz");
+const u32 gBattleAnimSpritePalette_068[] = INCBIN_U32("graphics/battle_anims/sprites/068.gbapal.lz");
-const u8 gContestApplauseGfx[] = INCBIN_U8("graphics/contest/applause.4bpp.lz");
+const u32 gContestApplauseGfx[] = INCBIN_U32("graphics/contest/applause.4bpp.lz");
const u8 gContestApplauseMeterGfx[] = INCBIN_U8("graphics/contest/applause_meter.4bpp");
const u16 gContestPal[] = INCBIN_U16("graphics/contest/nextturn.gbapal");
-const u8 gBattleAnimSpriteSheet_272[] = INCBIN_U8("graphics/battle_anims/sprites/272.4bpp.lz");
-const u8 gBattleAnimSpritePalette_272[] = INCBIN_U8("graphics/battle_anims/sprites/272.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.4bpp.lz");
+const u32 gBattleAnimSpritePalette_272[] = INCBIN_U32("graphics/battle_anims/sprites/272.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_273[] = INCBIN_U8("graphics/battle_anims/sprites/273.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_273[] = INCBIN_U32("graphics/battle_anims/sprites/273.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_269[] = INCBIN_U8("graphics/battle_anims/sprites/269.4bpp.lz");
-const u8 gBattleAnimSpritePalette_269[] = INCBIN_U8("graphics/battle_anims/sprites/269.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.4bpp.lz");
+const u32 gBattleAnimSpritePalette_269[] = INCBIN_U32("graphics/battle_anims/sprites/269.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_274[] = INCBIN_U8("graphics/battle_anims/sprites/274.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_275[] = INCBIN_U8("graphics/battle_anims/sprites/275.4bpp.lz");
-const u8 gBattleAnimSpriteSheet_276[] = INCBIN_U8("graphics/battle_anims/sprites/276.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_275[] = INCBIN_U32("graphics/battle_anims/sprites/275.4bpp.lz");
+const u32 gBattleAnimSpriteSheet_276[] = INCBIN_U32("graphics/battle_anims/sprites/276.4bpp.lz");
-const u8 gBattleAnimSpritePalette_274[] = INCBIN_U8("graphics/battle_anims/sprites/274.gbapal.lz");
+const u32 gBattleAnimSpritePalette_274[] = INCBIN_U32("graphics/battle_anims/sprites/274.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_17[] = INCBIN_U8("graphics/battle_anims/backgrounds/17.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_17[] = INCBIN_U8("graphics/battle_anims/backgrounds/17.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_17[] = INCBIN_U16("graphics/battle_anims/backgrounds/17.bin.lz");
+const u32 gBattleAnimBackgroundImage_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_17[] = INCBIN_U32("graphics/battle_anims/backgrounds/17.bin.lz");
-const u8 gBattleAnimSpriteSheet_280[] = INCBIN_U8("graphics/battle_anims/sprites/280.4bpp.lz");
-const u8 gBattleAnimSpritePalette_280[] = INCBIN_U8("graphics/battle_anims/sprites/280.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.4bpp.lz");
+const u32 gBattleAnimSpritePalette_280[] = INCBIN_U32("graphics/battle_anims/sprites/280.gbapal.lz");
-const u8 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U8("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz");
+const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz");
-const u8 gEnemyMonShadow_Gfx[] = INCBIN_U8("graphics/battle_interface/enemy_mon_shadow.4bpp.lz");
+const u32 gEnemyMonShadow_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz");
-const u8 gBattleInterface_BallStatusBarGfx[] = INCBIN_U8("graphics/battle_interface/ball_status_bar.4bpp.lz");
+const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz");
const u8 gMonIcon_Egg[] = INCBIN_U8("graphics/pokemon/icons/egg_icon.4bpp");
-const u8 gBattleAnimBackgroundImage_02[] = INCBIN_U8("graphics/battle_anims/backgrounds/02.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_02[] = INCBIN_U8("graphics/battle_anims/backgrounds/02.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_02[] = INCBIN_U16("graphics/battle_anims/backgrounds/02.bin.lz");
+const u32 gBattleAnimBackgroundImage_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_02[] = INCBIN_U32("graphics/battle_anims/backgrounds/02.bin.lz");
-const u8 gBattleAnimSpritePalette_287[] = INCBIN_U8("graphics/battle_anims/sprites/287.gbapal.lz");
+const u32 gBattleAnimSpritePalette_287[] = INCBIN_U32("graphics/battle_anims/sprites/287.gbapal.lz");
-const u8 gBattleAnimBackgroundPalette_24[] = INCBIN_U8("graphics/battle_anims/backgrounds/24.gbapal.lz");
+const u32 gBattleAnimBackgroundPalette_24[] = INCBIN_U32("graphics/battle_anims/backgrounds/24.gbapal.lz");
-const u16 gUnknown_E6BC04[] = INCBIN_U16("graphics/unknown/unknown_E6BC04.bin.lz");
+const u32 gUnknown_E6BC04[] = INCBIN_U32("graphics/unknown/unknown_E6BC04.bin.lz");
-const u16 sBlenderCenterGfx[] = INCBIN_U16("graphics/berry_blender/center.8bpp.lz");
+const u32 sBlenderCenterGfx[] = INCBIN_U32("graphics/berry_blender/center.8bpp.lz");
-const u8 gUnknown_08D91DB8[] = INCBIN_U8("graphics/berry_blender/outer.4bpp.lz");
-const u16 gUnknown_08D927EC[] = INCBIN_U16("graphics/berry_blender/outer_map.bin.lz");
+const u32 gUnknown_08D91DB8[] = INCBIN_U32("graphics/berry_blender/outer.4bpp.lz");
+const u32 gUnknown_08D927EC[] = INCBIN_U32("graphics/berry_blender/outer_map.bin.lz");
-const u8 gBattleAnimBackgroundPalette_16[] = INCBIN_U8("graphics/battle_anims/backgrounds/16.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_16[] = INCBIN_U8("graphics/battle_anims/backgrounds/16.4bpp.lz");
-const u16 gBattleAnimBackgroundTilemap_16[] = INCBIN_U16("graphics/battle_anims/backgrounds/16.bin.lz");
+const u32 gBattleAnimBackgroundPalette_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.gbapal.lz");
+const u32 gBattleAnimBackgroundImage_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.4bpp.lz");
+const u32 gBattleAnimBackgroundTilemap_16[] = INCBIN_U32("graphics/battle_anims/backgrounds/16.bin.lz");
-const u8 gBattleAnimSpritePalette_277[] = INCBIN_U8("graphics/battle_anims/sprites/277.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_277[] = INCBIN_U8("graphics/battle_anims/sprites/277.4bpp.lz");
+const u32 gBattleAnimSpritePalette_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_277[] = INCBIN_U32("graphics/battle_anims/sprites/277.4bpp.lz");
-const u16 gBattleAnimFogTilemap[] = INCBIN_U16("graphics/battle_anims/backgrounds/fog.bin.lz");
+const u32 gBattleAnimFogTilemap[] = INCBIN_U32("graphics/battle_anims/backgrounds/fog.bin.lz");
-const u8 gBattleAnimSpritePalette_283[] = INCBIN_U8("graphics/battle_anims/sprites/283.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_283[] = INCBIN_U8("graphics/battle_anims/sprites/283.4bpp.lz");
+const u32 gBattleAnimSpritePalette_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_283[] = INCBIN_U32("graphics/battle_anims/sprites/283.4bpp.lz");
-const u16 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U16("graphics/battle_anims/backgrounds/scary_face_player.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U16("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz");
-const u16 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U16("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_ScaryFacePlayer[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_player.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_opponent.bin.lz");
+const u32 gBattleAnimBackgroundTilemap_ScaryFaceContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/scary_face_contest.bin.lz");
-const u8 gBattleAnimSpriteSheet_263[] = INCBIN_U8("graphics/battle_anims/sprites/263.4bpp.lz");
-const u8 gBattleAnimSpritePalette_263[] = INCBIN_U8("graphics/battle_anims/sprites/263.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.4bpp.lz");
+const u32 gBattleAnimSpritePalette_263[] = INCBIN_U32("graphics/battle_anims/sprites/263.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_266[] = INCBIN_U8("graphics/battle_anims/sprites/266.4bpp.lz");
-const u8 gBattleAnimSpritePalette_266[] = INCBIN_U8("graphics/battle_anims/sprites/266.gbapal.lz");
-const u8 gBattleAnimSpritePalette_267[] = INCBIN_U8("graphics/battle_anims/sprites/267.gbapal.lz");
-const u8 gBattleAnimSpritePalette_268[] = INCBIN_U8("graphics/battle_anims/sprites/268.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.4bpp.lz");
+const u32 gBattleAnimSpritePalette_266[] = INCBIN_U32("graphics/battle_anims/sprites/266.gbapal.lz");
+const u32 gBattleAnimSpritePalette_267[] = INCBIN_U32("graphics/battle_anims/sprites/267.gbapal.lz");
+const u32 gBattleAnimSpritePalette_268[] = INCBIN_U32("graphics/battle_anims/sprites/268.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_278[] = INCBIN_U8("graphics/battle_anims/sprites/278.4bpp.lz");
-const u8 gBattleAnimSpritePalette_278[] = INCBIN_U8("graphics/battle_anims/sprites/278.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.4bpp.lz");
+const u32 gBattleAnimSpritePalette_278[] = INCBIN_U32("graphics/battle_anims/sprites/278.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_279[] = INCBIN_U8("graphics/battle_anims/sprites/279.4bpp.lz");
-const u8 gBattleAnimSpritePalette_279[] = INCBIN_U8("graphics/battle_anims/sprites/279.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.4bpp.lz");
+const u32 gBattleAnimSpritePalette_279[] = INCBIN_U32("graphics/battle_anims/sprites/279.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_281[] = INCBIN_U8("graphics/battle_anims/sprites/281.4bpp.lz");
-const u8 gBattleAnimSpritePalette_281[] = INCBIN_U8("graphics/battle_anims/sprites/281.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.4bpp.lz");
+const u32 gBattleAnimSpritePalette_281[] = INCBIN_U32("graphics/battle_anims/sprites/281.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_21[] = INCBIN_U8("graphics/battle_anims/backgrounds/21.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_21[] = INCBIN_U8("graphics/battle_anims/backgrounds/21.gbapal.lz");
-const u16 gBattleAnimBackgroundTilemap_21[] = INCBIN_U16("graphics/battle_anims/backgrounds/21.bin.lz");
+const u32 gBattleAnimBackgroundImage_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.gbapal.lz");
+const u32 gBattleAnimBackgroundTilemap_21[] = INCBIN_U32("graphics/battle_anims/backgrounds/21.bin.lz");
-const u8 gBattleAnimSpriteSheet_284[] = INCBIN_U8("graphics/battle_anims/sprites/284.4bpp.lz");
-const u8 gBattleAnimSpritePalette_284[] = INCBIN_U8("graphics/battle_anims/sprites/284.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.4bpp.lz");
+const u32 gBattleAnimSpritePalette_284[] = INCBIN_U32("graphics/battle_anims/sprites/284.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_285[] = INCBIN_U8("graphics/battle_anims/sprites/285.4bpp.lz");
-const u8 gBattleAnimSpritePalette_285[] = INCBIN_U8("graphics/battle_anims/sprites/285.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.4bpp.lz");
+const u32 gBattleAnimSpritePalette_285[] = INCBIN_U32("graphics/battle_anims/sprites/285.gbapal.lz");
-const u8 gBattleAnimBackgroundImage_Surf[] = INCBIN_U8("graphics/battle_anims/backgrounds/water.4bpp.lz");
-const u8 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U8("graphics/battle_anims/backgrounds/water.gbapal.lz");
+const u32 gBattleAnimBackgroundImage_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.4bpp.lz");
+const u32 gBattleAnimBackgroundPalette_Surf[] = INCBIN_U32("graphics/battle_anims/backgrounds/water.gbapal.lz");
-const u16 gUnknown_08D95E00[] = INCBIN_U16("graphics/unknown/unknown_D95E00.bin.lz");
+const u32 gUnknown_08D95E00[] = INCBIN_U32("graphics/unknown/unknown_D95E00.bin.lz");
-const u16 gUnknown_08D960D0[] = INCBIN_U16("graphics/unknown/unknown_D960D0.bin.lz");
+const u32 gUnknown_08D960D0[] = INCBIN_U32("graphics/unknown/unknown_D960D0.bin.lz");
-const u16 gUnknown_08D963A4[] = INCBIN_U16("graphics/unknown/unknown_D963A4.bin.lz");
+const u32 gUnknown_08D963A4[] = INCBIN_U32("graphics/unknown/unknown_D963A4.bin.lz");
-const u8 gBattleAnimSpritePalette_286[] = INCBIN_U8("graphics/battle_anims/sprites/286.gbapal.lz");
+const u32 gBattleAnimSpritePalette_286[] = INCBIN_U32("graphics/battle_anims/sprites/286.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_188[] = INCBIN_U8("graphics/battle_anims/sprites/188.4bpp.lz");
-const u8 gBattleAnimSpritePalette_188[] = INCBIN_U8("graphics/battle_anims/sprites/188.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.4bpp.lz");
+const u32 gBattleAnimSpritePalette_188[] = INCBIN_U32("graphics/battle_anims/sprites/188.gbapal.lz");
-const u8 gPartyMenuMisc_Gfx[] = INCBIN_U8("graphics/interface/party_menu_misc.4bpp.lz");
-const u8 gPartyMenuMisc_Pal[] = INCBIN_U8("graphics/interface/party_menu_misc.gbapal.lz");
-const u16 gPartyMenuMisc_Tilemap[] = INCBIN_U16("graphics/interface/party_menu_misc.bin.lz");
+const u32 gPartyMenuMisc_Gfx[] = INCBIN_U32("graphics/interface/party_menu_misc.4bpp.lz");
+const u32 gPartyMenuMisc_Pal[] = INCBIN_U32("graphics/interface/party_menu_misc.gbapal.lz");
+const u32 gPartyMenuMisc_Tilemap[] = INCBIN_U32("graphics/interface/party_menu_misc.bin.lz");
-const u8 gPartyMenuPokeball_Gfx[] = INCBIN_U8("graphics/interface/party_menu_pokeball.4bpp.lz");
-const u8 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U8("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused
-const u8 gPartyMenuPokeball_Pal[] = INCBIN_U8("graphics/interface/party_menu_pokeball.gbapal.lz");
+const u32 gPartyMenuPokeball_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball.4bpp.lz");
+const u32 gPartyMenuPokeballSmall_Gfx[] = INCBIN_U32("graphics/interface/party_menu_pokeball_small.4bpp.lz"); //unused
+const u32 gPartyMenuPokeball_Pal[] = INCBIN_U32("graphics/interface/party_menu_pokeball.gbapal.lz");
-const u8 gStatusGfx_Icons[] = INCBIN_U8("graphics/interface/status_icons.4bpp.lz");
-const u8 gStatusPal_Icons[] = INCBIN_U8("graphics/interface/status_icons.gbapal.lz");
+const u32 gStatusGfx_Icons[] = INCBIN_U32("graphics/interface/status_icons.4bpp.lz");
+const u32 gStatusPal_Icons[] = INCBIN_U32("graphics/interface/status_icons.gbapal.lz");
-const u8 gMoveTypes_Gfx[] = INCBIN_U8("graphics/types/move_types.4bpp.lz");
-const u8 gMoveTypes_Pal[] = INCBIN_U8("graphics/types/move_types.gbapal.lz");
+const u32 gMoveTypes_Gfx[] = INCBIN_U32("graphics/types/move_types.4bpp.lz");
+const u32 gMoveTypes_Pal[] = INCBIN_U32("graphics/types/move_types.gbapal.lz");
-const u8 gUnknown_08D97BEC[] = INCBIN_U8("graphics/interface/summary_frames.4bpp.lz");
-const u8 gUnknown_08D97CF4[] = INCBIN_U8("graphics/interface/summary_frames.gbapal.lz");
+const u32 gUnknown_08D97BEC[] = INCBIN_U32("graphics/interface/summary_frames.4bpp.lz");
+const u32 gUnknown_08D97CF4[] = INCBIN_U32("graphics/interface/summary_frames.gbapal.lz");
-const u8 gUnknown_08D97D0C[] = INCBIN_U8("graphics/interface/status_screen.4bpp.lz");
-const u8 gUnknown_08D9853C[] = INCBIN_U8("graphics/interface/status_screen.gbapal.lz");
-const u16 gUnknown_08D9862C[] = INCBIN_U16("graphics/interface/status_screen.bin.lz");
+const u32 gUnknown_08D97D0C[] = INCBIN_U32("graphics/interface/status_screen.4bpp.lz");
+const u32 gUnknown_08D9853C[] = INCBIN_U32("graphics/interface/status_screen.gbapal.lz");
+const u32 gUnknown_08D9862C[] = INCBIN_U32("graphics/interface/status_screen.bin.lz");
-const u16 gUnknown_08D987FC[] = INCBIN_U16("graphics/interface/status_tilemap1.bin.lz");
-const u16 gUnknown_08D9898C[] = INCBIN_U16("graphics/interface/status_tilemap2.bin.lz");
-const u16 gUnknown_08D98B28[] = INCBIN_U16("graphics/interface/status_tilemap3.bin.lz");
-const u16 gUnknown_08D98CC8[] = INCBIN_U16("graphics/interface/status_tilemap0.bin.lz");
+const u32 gUnknown_08D987FC[] = INCBIN_U32("graphics/interface/status_tilemap1.bin.lz");
+const u32 gUnknown_08D9898C[] = INCBIN_U32("graphics/interface/status_tilemap2.bin.lz");
+const u32 gUnknown_08D98B28[] = INCBIN_U32("graphics/interface/status_tilemap3.bin.lz");
+const u32 gUnknown_08D98CC8[] = INCBIN_U32("graphics/interface/status_tilemap0.bin.lz");
-const u8 gBagMaleTiles[] = INCBIN_U8("graphics/misc/bag_male.4bpp.lz");
-const u8 gBagFemaleTiles[] = INCBIN_U8("graphics/misc/bag_female.4bpp.lz");
-const u8 gBagPalette[] = INCBIN_U8("graphics/misc/bag.gbapal.lz");
+const u32 gBagMaleTiles[] = INCBIN_U32("graphics/misc/bag_male.4bpp.lz");
+const u32 gBagFemaleTiles[] = INCBIN_U32("graphics/misc/bag_female.4bpp.lz");
+const u32 gBagPalette[] = INCBIN_U32("graphics/misc/bag.gbapal.lz");
-const u8 gBagScreenMale_Pal[] = INCBIN_U8("graphics/interface/bag_screen_male.gbapal.lz");
-const u8 gBagScreenFemale_Pal[] = INCBIN_U8("graphics/interface/bag_screen_female.gbapal.lz");
+const u32 gBagScreenMale_Pal[] = INCBIN_U32("graphics/interface/bag_screen_male.gbapal.lz");
+const u32 gBagScreenFemale_Pal[] = INCBIN_U32("graphics/interface/bag_screen_female.gbapal.lz");
-const u8 gBagScreen_Gfx[] = INCBIN_U8("graphics/interface/bag_screen.4bpp.lz");
+const u32 gBagScreen_Gfx[] = INCBIN_U32("graphics/interface/bag_screen.4bpp.lz");
-const u16 gUnknown_08D9A88C[] = INCBIN_U16("graphics/unknown/unknown_D9A88C.bin.lz");
+const u32 gUnknown_08D9A88C[] = INCBIN_U32("graphics/unknown/unknown_D9A88C.bin.lz");
-const u8 gBattleFrontierGfx_PyramidBag[] = INCBIN_U8("graphics/interface/bag_pyramid.4bpp.lz");
-const u16 gUnknown_08D9ADD0[] = INCBIN_U16("graphics/interface/bag_pyramid.gbapal.lz"); // female palette is first and male is second.
+const u32 gBattleFrontierGfx_PyramidBag[] = INCBIN_U32("graphics/interface/bag_pyramid.4bpp.lz");
+const u32 gUnknown_08D9ADD0[] = INCBIN_U32("graphics/interface/bag_pyramid.gbapal.lz"); // female palette is first and male is second.
-const u16 gUnknown_08D9AE04[] = INCBIN_U16("graphics/unknown/unknown_D9AE04.bin.lz");
+const u32 gUnknown_08D9AE04[] = INCBIN_U32("graphics/unknown/unknown_D9AE04.bin.lz");
-const u8 gUnknown_08D9AF44[] = INCBIN_U8("graphics/unknown/unknown_D9AF44.gbapal.lz");
+const u32 gUnknown_08D9AF44[] = INCBIN_U32("graphics/unknown/unknown_D9AF44.gbapal.lz");
-const u8 gBagSwapLineGfx[] = INCBIN_U8("graphics/interface/bag_swap.4bpp.lz");
-const u8 gBagSwapLinePal[] = INCBIN_U8("graphics/interface/bag_swap.gbapal.lz");
+const u32 gBagSwapLineGfx[] = INCBIN_U32("graphics/interface/bag_swap.4bpp.lz");
+const u32 gBagSwapLinePal[] = INCBIN_U32("graphics/interface/bag_swap.gbapal.lz");
-const u8 gBuyMenuFrame_Gfx[] = INCBIN_U8("graphics/interface/mart_frame.4bpp.lz");
-const u8 gMenuMoneyPal[] = INCBIN_U8("graphics/interface/mart_frame.gbapal.lz");
-const u16 gBuyMenuFrame_Tilemap[] = INCBIN_U16("graphics/interface/mart_frame.bin.lz");
+const u32 gBuyMenuFrame_Gfx[] = INCBIN_U32("graphics/interface/mart_frame.4bpp.lz");
+const u32 gMenuMoneyPal[] = INCBIN_U32("graphics/interface/mart_frame.gbapal.lz");
+const u32 gBuyMenuFrame_Tilemap[] = INCBIN_U32("graphics/interface/mart_frame.bin.lz");
-const u8 gMenuMoneyGfx[] = INCBIN_U8("graphics/interface/money.4bpp.lz");
+const u32 gMenuMoneyGfx[] = INCBIN_U32("graphics/interface/money.4bpp.lz");
// Pokeblock
-const u8 gMenuPokeblock_Gfx[] = INCBIN_U8("graphics/interface/pokeblock_case_frame.4bpp.lz");
-const u8 gMenuPokeblock_Pal[] = INCBIN_U8("graphics/interface/pokeblock_case_frame.gbapal.lz");
-
-const u8 gMenuPokeblockDevice_Gfx[] = INCBIN_U8("graphics/interface/pokeblock_device.4bpp.lz");
-const u8 gMenuPokeblockDevice_Pal[] = INCBIN_U8("graphics/interface/pokeblock_device.gbapal.lz");
-
-const u16 gMenuPokeblock_Tilemap[] = INCBIN_U16("graphics/interface/pokeblock.bin.lz");
-const u8 gPokeblock_Gfx[] = INCBIN_U8("graphics/pokeblock/pokeblock.4bpp.lz");
-const u8 gPokeblockRed_Pal[] = INCBIN_U8("graphics/pokeblock/red.gbapal.lz");
-const u8 gPokeblockBlue_Pal[] = INCBIN_U8("graphics/pokeblock/blue.gbapal.lz");
-const u8 gPokeblockPink_Pal[] = INCBIN_U8("graphics/pokeblock/pink.gbapal.lz");
-const u8 gPokeblockGreen_Pal[] = INCBIN_U8("graphics/pokeblock/green.gbapal.lz");
-const u8 gPokeblockYellow_Pal[] = INCBIN_U8("graphics/pokeblock/yellow.gbapal.lz");
-const u8 gPokeblockPurple_Pal[] = INCBIN_U8("graphics/pokeblock/purple.gbapal.lz");
-const u8 gPokeblockIndigo_Pal[] = INCBIN_U8("graphics/pokeblock/indigo.gbapal.lz");
-const u8 gPokeblockBrown_Pal[] = INCBIN_U8("graphics/pokeblock/brown.gbapal.lz");
-const u8 gPokeblockLiteBlue_Pal[] = INCBIN_U8("graphics/pokeblock/liteblue.gbapal.lz");
-const u8 gPokeblockOlive_Pal[] = INCBIN_U8("graphics/pokeblock/olive.gbapal.lz");
-const u8 gPokeblockGray_Pal[] = INCBIN_U8("graphics/pokeblock/gray.gbapal.lz");
-const u8 gPokeblockBlack_Pal[] = INCBIN_U8("graphics/pokeblock/black.gbapal.lz");
-const u8 gPokeblockWhite_Pal[] = INCBIN_U8("graphics/pokeblock/white.gbapal.lz");
-const u8 gPokeblockGold_Pal[] = INCBIN_U8("graphics/pokeblock/gold.gbapal.lz");
-
-const u16 gUnknown_08D9BA44[] = INCBIN_U16("graphics/interface/pokeblock_feeding_bg_map.bin.lz");
+const u32 gMenuPokeblock_Gfx[] = INCBIN_U32("graphics/interface/pokeblock_case_frame.4bpp.lz");
+const u32 gMenuPokeblock_Pal[] = INCBIN_U32("graphics/interface/pokeblock_case_frame.gbapal.lz");
+
+const u32 gMenuPokeblockDevice_Gfx[] = INCBIN_U32("graphics/interface/pokeblock_device.4bpp.lz");
+const u32 gMenuPokeblockDevice_Pal[] = INCBIN_U32("graphics/interface/pokeblock_device.gbapal.lz");
+
+const u32 gMenuPokeblock_Tilemap[] = INCBIN_U32("graphics/interface/pokeblock.bin.lz");
+const u32 gPokeblock_Gfx[] = INCBIN_U32("graphics/pokeblock/pokeblock.4bpp.lz");
+const u32 gPokeblockRed_Pal[] = INCBIN_U32("graphics/pokeblock/red.gbapal.lz");
+const u32 gPokeblockBlue_Pal[] = INCBIN_U32("graphics/pokeblock/blue.gbapal.lz");
+const u32 gPokeblockPink_Pal[] = INCBIN_U32("graphics/pokeblock/pink.gbapal.lz");
+const u32 gPokeblockGreen_Pal[] = INCBIN_U32("graphics/pokeblock/green.gbapal.lz");
+const u32 gPokeblockYellow_Pal[] = INCBIN_U32("graphics/pokeblock/yellow.gbapal.lz");
+const u32 gPokeblockPurple_Pal[] = INCBIN_U32("graphics/pokeblock/purple.gbapal.lz");
+const u32 gPokeblockIndigo_Pal[] = INCBIN_U32("graphics/pokeblock/indigo.gbapal.lz");
+const u32 gPokeblockBrown_Pal[] = INCBIN_U32("graphics/pokeblock/brown.gbapal.lz");
+const u32 gPokeblockLiteBlue_Pal[] = INCBIN_U32("graphics/pokeblock/liteblue.gbapal.lz");
+const u32 gPokeblockOlive_Pal[] = INCBIN_U32("graphics/pokeblock/olive.gbapal.lz");
+const u32 gPokeblockGray_Pal[] = INCBIN_U32("graphics/pokeblock/gray.gbapal.lz");
+const u32 gPokeblockBlack_Pal[] = INCBIN_U32("graphics/pokeblock/black.gbapal.lz");
+const u32 gPokeblockWhite_Pal[] = INCBIN_U32("graphics/pokeblock/white.gbapal.lz");
+const u32 gPokeblockGold_Pal[] = INCBIN_U32("graphics/pokeblock/gold.gbapal.lz");
+
+const u32 gUnknown_08D9BA44[] = INCBIN_U32("graphics/interface/pokeblock_feeding_bg_map.bin.lz");
#include "data/graphics/berries.h"
#include "data/graphics/rayquaza_scene.h"
#include "data/graphics/items.h"
#include "data/graphics/decorations.h"
-const u8 gBattleAnimSpritePalette_282[] = INCBIN_U8("graphics/battle_anims/sprites/282.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_282[] = INCBIN_U8("graphics/battle_anims/sprites/282.4bpp.lz");
+const u32 gBattleAnimSpritePalette_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_282[] = INCBIN_U32("graphics/battle_anims/sprites/282.4bpp.lz");
-const u8 gBattleAnimSpritePalette_270[] = INCBIN_U8("graphics/battle_anims/sprites/270.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_270[] = INCBIN_U8("graphics/battle_anims/sprites/270.4bpp.lz");
+const u32 gBattleAnimSpritePalette_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_270[] = INCBIN_U32("graphics/battle_anims/sprites/270.4bpp.lz");
-const u8 gBattleAnimSpritePalette_271[] = INCBIN_U8("graphics/battle_anims/sprites/271.gbapal.lz");
-const u8 gBattleAnimSpriteSheet_271[] = INCBIN_U8("graphics/battle_anims/sprites/271.4bpp.lz");
+const u32 gBattleAnimSpritePalette_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.gbapal.lz");
+const u32 gBattleAnimSpriteSheet_271[] = INCBIN_U32("graphics/battle_anims/sprites/271.4bpp.lz");
const u16 gUnknown_08DBA518[] = INCBIN_U16("graphics/misc/cable_car_bg.gbapal");
const u16 gCableCar_Pal[] = INCBIN_U16("graphics/misc/cable_car.gbapal");
-const u8 gUnknown_08DBA5B8[] = INCBIN_U8("graphics/misc/cable_car_bg.4bpp.lz");
-const u8 gCableCar_Gfx[] = INCBIN_U8("graphics/misc/cable_car.4bpp.lz");
-const u8 gCableCarDoor_Gfx[] = INCBIN_U8("graphics/misc/cable_car_door.4bpp.lz");
-const u8 gCableCarCord_Gfx[] = INCBIN_U8("graphics/misc/cable_car_cord.4bpp.lz");
+const u32 gUnknown_08DBA5B8[] = INCBIN_U32("graphics/misc/cable_car_bg.4bpp.lz");
+const u32 gCableCar_Gfx[] = INCBIN_U32("graphics/misc/cable_car.4bpp.lz");
+const u32 gCableCarDoor_Gfx[] = INCBIN_U32("graphics/misc/cable_car_door.4bpp.lz");
+const u32 gCableCarCord_Gfx[] = INCBIN_U32("graphics/misc/cable_car_cord.4bpp.lz");
-const u8 gRouletteMenuTiles[] = INCBIN_U8("graphics/roulette/window.4bpp.lz");
-const u16 gRouletteWheelTiles[] = INCBIN_U16("graphics/roulette/wheel.8bpp.lz");
-const u8 gRouletteCenter_Gfx[] = INCBIN_U8("graphics/roulette/center.4bpp.lz");
-const u8 gRouletteHeadersTiles[] = INCBIN_U8("graphics/roulette/headers.4bpp.lz");
-const u8 gRouletteCreditTiles[] = INCBIN_U8("graphics/roulette/credit.4bpp.lz");
-const u8 gRouletteNumbersTiles[] = INCBIN_U8("graphics/roulette/numbers.4bpp.lz");
-const u8 gRouletteMultiplierTiles[] = INCBIN_U8("graphics/roulette/multiplier.4bpp.lz");
+const u32 gRouletteMenuTiles[] = INCBIN_U32("graphics/roulette/window.4bpp.lz");
+const u32 gRouletteWheelTiles[] = INCBIN_U32("graphics/roulette/wheel.8bpp.lz");
+const u32 gRouletteCenter_Gfx[] = INCBIN_U32("graphics/roulette/center.4bpp.lz");
+const u32 gRouletteHeadersTiles[] = INCBIN_U32("graphics/roulette/headers.4bpp.lz");
+const u32 gRouletteCreditTiles[] = INCBIN_U32("graphics/roulette/credit.4bpp.lz");
+const u32 gRouletteNumbersTiles[] = INCBIN_U32("graphics/roulette/numbers.4bpp.lz");
+const u32 gRouletteMultiplierTiles[] = INCBIN_U32("graphics/roulette/multiplier.4bpp.lz");
#include "data/graphics/mail.h"
@@ -1258,7 +1258,7 @@ const u8 gFrontierFactorySelectMenu_Gfx2[] = INCBIN_U8("graphics/battle_frontier
const u16 gFrontierFactorySelectMenu_Tilemap[] = INCBIN_U16("graphics/battle_frontier/factory_menu.bin");
-const u8 gFrontierPassMedals_Gfx[] = INCBIN_U8("graphics/frontier_pass/medals.4bpp.lz");
+const u32 gFrontierPassMedals_Gfx[] = INCBIN_U32("graphics/frontier_pass/medals.4bpp.lz");
const u16 gFrontierPassCursor_Pal[] = INCBIN_U16("graphics/frontier_pass/cursor.gbapal");
@@ -1274,25 +1274,25 @@ const u16 gPokedexCaughtScreenFade_Pal[] = INCBIN_U16("graphics/pokedex/fade.gba
const u16 gPokedexHoennBg_Pal[] = INCBIN_U16("graphics/pokedex/hoenn_bg.gbapal");
const u16 gPokedexNationalBg_Pal[] = INCBIN_U16("graphics/pokedex/national_bg.gbapal");
-const u8 gPokedexMenu_Gfx[] = INCBIN_U8("graphics/pokedex/menu.4bpp.lz");
-const u8 gPokedexMenu2_Gfx[] = INCBIN_U8("graphics/pokedex/menu2.4bpp.lz");
+const u32 gPokedexMenu_Gfx[] = INCBIN_U32("graphics/pokedex/menu.4bpp.lz");
+const u32 gPokedexMenu2_Gfx[] = INCBIN_U32("graphics/pokedex/menu2.4bpp.lz");
-const u8 gUnused_PokedexNoBall[] = INCBIN_U8("graphics/pokedex/noball_unused.4bpp.lz");
+const u32 gUnused_PokedexNoBall[] = INCBIN_U32("graphics/pokedex/noball_unused.4bpp.lz");
-const u16 gUnknown_08DC2A08[] = INCBIN_U16("graphics/pokedex/tilemap1.bin.lz");
-const u16 gUnknown_08DC2B1C[] = INCBIN_U16("graphics/pokedex/tilemap2.bin.lz");
-const u16 gUnknown_08DC2C5C[] = INCBIN_U16("graphics/pokedex/tilemap3.bin.lz");
-const u16 gUnknown_08DC2DAC[] = INCBIN_U16("graphics/pokedex/tilemap4.bin.lz");
-const u16 gUnknown_08DC2E6C[] = INCBIN_U16("graphics/pokedex/tilemap5.bin.lz");
-const u16 gUnknown_08DC2F5C[] = INCBIN_U16("graphics/pokedex/tilemap6.bin.lz");
-const u16 gUnknown_08DC2FEC[] = INCBIN_U16("graphics/pokedex/tilemap7.bin.lz");
-const u16 gUnknown_08DC3080[] = INCBIN_U16("graphics/pokedex/tilemap8.bin.lz");
-const u16 gUnknown_08DC3198[] = INCBIN_U16("graphics/pokedex/tilemap9.bin.lz");
+const u32 gPokedexTilemap_StartMenu1[] = INCBIN_U32("graphics/pokedex/tilemap1.bin.lz");
+const u32 gPokedexTilemap_StartMenu2[] = INCBIN_U32("graphics/pokedex/tilemap2.bin.lz");
+const u32 gPokedexTilemap_Main[] = INCBIN_U32("graphics/pokedex/tilemap3.bin.lz");
+const u32 gPokedexTilemap_MainUnderlay[] = INCBIN_U32("graphics/pokedex/tilemap4.bin.lz");
+const u32 gPokedexTilemap_SizeScreen[] = INCBIN_U32("graphics/pokedex/tilemap5.bin.lz");
+const u32 gPokedexTilemap_ScreenSelectBar1[] = INCBIN_U32("graphics/pokedex/tilemap6.bin.lz");
+const u32 gPokedexTilemap_ScreenSelectBar2[] = INCBIN_U32("graphics/pokedex/tilemap7.bin.lz");
+const u32 gPokedexTilemap_DescriptionScreen[] = INCBIN_U32("graphics/pokedex/tilemap8.bin.lz");
+const u32 gPokedexTilemap_CryScreen[] = INCBIN_U32("graphics/pokedex/tilemap9.bin.lz");
const u16 gPokedexSearchMenu_Pal[] = INCBIN_U16("graphics/pokedex/search_menu.gbapal");
-const u8 gPokedexSearchMenu_Gfx[] = INCBIN_U8("graphics/pokedex/search_menu.4bpp.lz");
-const u16 gPokedexSearch1_Tilemap[] = INCBIN_U16("graphics/pokedex/search1.bin.lz");
-const u16 gPokedexSearch2_Tilemap[] = INCBIN_U16("graphics/pokedex/search2.bin.lz");
+const u32 gPokedexSearchMenu_Gfx[] = INCBIN_U32("graphics/pokedex/search_menu.4bpp.lz");
+const u32 gPokedexSearch1_Tilemap[] = INCBIN_U32("graphics/pokedex/search1.bin.lz");
+const u32 gPokedexSearch2_Tilemap[] = INCBIN_U32("graphics/pokedex/search2.bin.lz");
const u16 gSummaryScreenPowAcc_Tilemap[] = INCBIN_U16("graphics/interface/powacc_tilemap.bin");
@@ -1301,11 +1301,11 @@ const u16 gUnknown_08DC3C34[] = INCBIN_U16("graphics/interface/unk_tilemap.bin")
const u16 gSummaryScreenWindow_Tilemap[] = INCBIN_U16("graphics/interface/summary.bin");
const u16 gIntroCopyright_Pal[] = INCBIN_U16("graphics/intro/copyright.gbapal");
-const u8 gIntroCopyright_Gfx[] = INCBIN_U8("graphics/intro/copyright.4bpp.lz");
-const u16 gIntroCopyright_Tilemap[] = INCBIN_U16("graphics/intro/copyright.bin.lz");
+const u32 gIntroCopyright_Gfx[] = INCBIN_U32("graphics/intro/copyright.4bpp.lz");
+const u32 gIntroCopyright_Tilemap[] = INCBIN_U32("graphics/intro/copyright.bin.lz");
const u16 gPokedexAreaScreenAreaUnknown_Pal[] = INCBIN_U16("graphics/pokedex/area_unknown.gbapal");
-const u8 gPokedexAreaScreenAreaUnknown_Gfx[] = INCBIN_U8("graphics/pokedex/area_unknown.4bpp.lz");
+const u32 gPokedexAreaScreenAreaUnknown_Gfx[] = INCBIN_U32("graphics/pokedex/area_unknown.4bpp.lz");
// seems to be fire red leftovers, but the menu elements is reused in the item menu for TM descriptions.
@@ -1334,37 +1334,37 @@ const u16 gUnknown_08DC6510[] = INCBIN_U16("graphics/contest/clink_tilemap11.bin
const u16 gPokenavCondition_Pal[] = INCBIN_U16("graphics/pokenav/condition.gbapal");
-const u8 gPokenavCondition_Gfx[] = INCBIN_U8("graphics/pokenav/condition.4bpp.lz");
-const u16 gPokenavCondition_Tilemap[] = INCBIN_U16("graphics/pokenav/condition.bin.lz");
+const u32 gPokenavCondition_Gfx[] = INCBIN_U32("graphics/pokenav/condition.4bpp.lz");
+const u32 gPokenavCondition_Tilemap[] = INCBIN_U32("graphics/pokenav/condition.bin.lz");
const u16 gPokenavOptions_Tilemap[] = INCBIN_U16("graphics/pokenav/options/options.bin");
-const u8 gPokenavOptions_Gfx[] = INCBIN_U8("graphics/pokenav/options/options.4bpp.lz");
+const u32 gPokenavOptions_Gfx[] = INCBIN_U32("graphics/pokenav/options/options.4bpp.lz");
const u16 gPokenavOptions_Pal[] = INCBIN_U16("graphics/pokenav/options/options.gbapal");
const u16 gPokenavHeader_Pal[] = INCBIN_U16("graphics/pokenav/header.gbapal");
-const u8 gPokenavHeader_Gfx[] = INCBIN_U8("graphics/pokenav/header.4bpp.lz"); // TODO: use width 9 and makefile rule for cleanliness, make wasnt behaving, didnt want to apply num_tiles to this
-const u16 gPokenavHeader_Tilemap[] = INCBIN_U16("graphics/pokenav/header.bin.lz");
+const u32 gPokenavHeader_Gfx[] = INCBIN_U32("graphics/pokenav/header.4bpp.lz"); // TODO: use width 9 and makefile rule for cleanliness, make wasnt behaving, didnt want to apply num_tiles to this
+const u32 gPokenavHeader_Tilemap[] = INCBIN_U32("graphics/pokenav/header.bin.lz");
const u16 gPokenavLeftHeader_Pal[] = INCBIN_U16("graphics/pokenav/left_headers/palette.gbapal");
-const u8 gPokenavLeftHeaderBeauty_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/beauty.4bpp.lz");
-const u8 gPokenavLeftHeaderSmart_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/smart.4bpp.lz");
-const u8 gPokenavLeftHeaderCondition_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/condition.4bpp.lz");
-const u8 gPokenavLeftHeaderCute_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/cute.4bpp.lz");
-const u8 gPokenavLeftHeaderMatchCall_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/match_call.4bpp.lz");
-const u8 gPokenavLeftHeaderMainMenu_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/main_menu.4bpp.lz");
-const u8 gPokenavLeftHeaderHoennMap_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/hoenn_map.4bpp.lz");
-const u8 gPokenavLeftHeaderRibbons_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/ribbons.4bpp.lz");
-const u8 gPokenavLeftHeaderSearch_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/search.4bpp.lz");
-const u8 gPokenavLeftHeaderTough_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/tough.4bpp.lz");
-const u8 gPokenavLeftHeaderCool_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/cool.4bpp.lz");
-const u8 gPokenavLeftHeaderParty_Gfx[] = INCBIN_U8("graphics/pokenav/left_headers/party.4bpp.lz");
+const u32 gPokenavLeftHeaderBeauty_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/beauty.4bpp.lz");
+const u32 gPokenavLeftHeaderSmart_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/smart.4bpp.lz");
+const u32 gPokenavLeftHeaderCondition_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/condition.4bpp.lz");
+const u32 gPokenavLeftHeaderCute_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/cute.4bpp.lz");
+const u32 gPokenavLeftHeaderMatchCall_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/match_call.4bpp.lz");
+const u32 gPokenavLeftHeaderMainMenu_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/main_menu.4bpp.lz");
+const u32 gPokenavLeftHeaderHoennMap_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/hoenn_map.4bpp.lz");
+const u32 gPokenavLeftHeaderRibbons_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/ribbons.4bpp.lz");
+const u32 gPokenavLeftHeaderSearch_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/search.4bpp.lz");
+const u32 gPokenavLeftHeaderTough_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/tough.4bpp.lz");
+const u32 gPokenavLeftHeaderCool_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/cool.4bpp.lz");
+const u32 gPokenavLeftHeaderParty_Gfx[] = INCBIN_U32("graphics/pokenav/left_headers/party.4bpp.lz");
const u16 gPokenavMessageBox_Pal[] = INCBIN_U16("graphics/pokenav/message.gbapal");
-const u8 gPokenavMessageBox_Gfx[] = INCBIN_U8("graphics/pokenav/message.4bpp.lz");
-const u16 gPokenavMessageBox_Tilemap[] = INCBIN_U16("graphics/pokenav/message.bin.lz");
+const u32 gPokenavMessageBox_Gfx[] = INCBIN_U32("graphics/pokenav/message.4bpp.lz");
+const u32 gPokenavMessageBox_Tilemap[] = INCBIN_U32("graphics/pokenav/message.bin.lz");
const u16 gHoennMapZoomIcons_Pal[] = INCBIN_U16("graphics/pokenav/zoom.gbapal");
-const u8 gHoennMapZoomIcons_Gfx[] = INCBIN_U8("graphics/pokenav/zoom.4bpp.lz");
+const u32 gHoennMapZoomIcons_Gfx[] = INCBIN_U32("graphics/pokenav/zoom.4bpp.lz");
const u16 gPokenavConditionCancel_Pal[] = INCBIN_U16("graphics/pokenav/cancel.gbapal");
const u8 gPokenavConditionCancel_Gfx[] = INCBIN_U8("graphics/pokenav/cancel.4bpp");
@@ -1395,33 +1395,33 @@ const u8 gBerryBlenderArrowTiles[] = INCBIN_U8("graphics/berry_blender/arrow.4bp
asm(".space 0x2C0");
const u16 gEasyChatCursor_Pal[] = INCBIN_U16("graphics/easy_chat/cursor.gbapal");
-const u8 gEasyChatCursor_Gfx[] = INCBIN_U8("graphics/easy_chat/cursor.4bpp.lz");
+const u32 gEasyChatCursor_Gfx[] = INCBIN_U32("graphics/easy_chat/cursor.4bpp.lz");
const u16 gEasyChatRightWindow_Pal[] = INCBIN_U16("graphics/easy_chat/rwindow.gbapal");
-const u8 gEasyChatRightWindow_Gfx[] = INCBIN_U8("graphics/easy_chat/rwindow.4bpp.lz");
+const u32 gEasyChatRightWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/rwindow.4bpp.lz");
-const u8 gEasyChatMode_Gfx[] = INCBIN_U8("graphics/easy_chat/mode.4bpp.lz");
+const u32 gEasyChatMode_Gfx[] = INCBIN_U32("graphics/easy_chat/mode.4bpp.lz");
const u16 gEasyChatMode_Pal[] = INCBIN_U16("graphics/easy_chat/mode.gbapal");
-const u8 gEasyChatWindow_Gfx[] = INCBIN_U8("graphics/easy_chat/window.4bpp.lz"); // uses mode pal
-const u16 gEasyChatWindow_Tilemap[] = INCBIN_U16("graphics/easy_chat/window.bin.lz");
+const u32 gEasyChatWindow_Gfx[] = INCBIN_U32("graphics/easy_chat/window.4bpp.lz"); // uses mode pal
+const u32 gEasyChatWindow_Tilemap[] = INCBIN_U32("graphics/easy_chat/window.bin.lz");
const u16 gWallclockMale_Pal[] = INCBIN_U16("graphics/interface/wallclock_male.gbapal");
const u16 gWallclockFemale_Pal[] = INCBIN_U16("graphics/interface/wallclock_female.gbapal");
-const u8 gWallclock_Gfx[] = INCBIN_U8("graphics/interface/wallclock.4bpp.lz");
-const u16 gUnknown_08DCC648[] = INCBIN_U16("graphics/interface/wallclock1.bin.lz");
-const u16 gUnknown_08DCC908[] = INCBIN_U16("graphics/interface/wallclock2.bin.lz");
+const u32 gWallclock_Gfx[] = INCBIN_U32("graphics/interface/wallclock.4bpp.lz");
+const u32 gUnknown_08DCC648[] = INCBIN_U32("graphics/interface/wallclock1.bin.lz");
+const u32 gUnknown_08DCC908[] = INCBIN_U32("graphics/interface/wallclock2.bin.lz");
const u16 gUsePokeblockCondition_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/condition.gbapal");
-const u8 gUsePokeblockCondition_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/condition.4bpp.lz");
+const u32 gUsePokeblockCondition_Gfx[] = INCBIN_U32("graphics/pokeblock/use_screen/condition.4bpp.lz");
const u16 gUsePokeblockUpDown_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/updown.gbapal");
const u8 gUsePokeblockUpDown_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/updown.4bpp");
const u16 gUsePokeblockGraph_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/graph.gbapal");
-const u8 gUsePokeblockGraph_Gfx[] = INCBIN_U8("graphics/pokeblock/use_screen/graph.4bpp.lz");
+const u32 gUsePokeblockGraph_Gfx[] = INCBIN_U32("graphics/pokeblock/use_screen/graph.4bpp.lz");
-const u16 gUsePokeblockGraph_Tilemap[] = INCBIN_U16("graphics/pokeblock/use_screen/graph.bin.lz");
+const u32 gUsePokeblockGraph_Tilemap[] = INCBIN_U32("graphics/pokeblock/use_screen/graph.bin.lz");
const u16 gUsePokeblockNatureWin_Pal[] = INCBIN_U16("graphics/pokeblock/use_screen/nature.gbapal");
#include "data/graphics/slot_machine.h"
@@ -1433,31 +1433,31 @@ const u8 gUnknown_08DD1A18[] = INCBIN_U8("graphics/unknown/unknown_DD1A18.4bpp")
// trainer card
const u16 gEmeraldTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star.gbapal");
-const u8 gEmeraldTrainerCard_Gfx[] = INCBIN_U8("graphics/trainer_card/card.4bpp.lz");
+const u32 gEmeraldTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card.4bpp.lz");
-const u16 gUnknown_08DD1F78[] = INCBIN_U16("graphics/unknown/unknown_DD1F78.bin.lz");
-const u16 gUnknown_08DD2010[] = INCBIN_U16("graphics/unknown/unknown_DD2010.bin.lz");
-const u16 gUnknown_08DD21B0[] = INCBIN_U16("graphics/unknown/unknown_DD21B0.bin.lz");
-const u16 gUnknown_08DD228C[] = INCBIN_U16("graphics/unknown/unknown_DD228C.bin.lz");
+const u32 gUnknown_08DD1F78[] = INCBIN_U32("graphics/unknown/unknown_DD1F78.bin.lz");
+const u32 gUnknown_08DD2010[] = INCBIN_U32("graphics/unknown/unknown_DD2010.bin.lz");
+const u32 gUnknown_08DD21B0[] = INCBIN_U32("graphics/unknown/unknown_DD21B0.bin.lz");
+const u32 gUnknown_08DD228C[] = INCBIN_U32("graphics/unknown/unknown_DD228C.bin.lz");
const u16 gFireRedTrainerCard0Star_Pal[] = INCBIN_U16("graphics/trainer_card/0star_fr.gbapal");
-const u8 gFireRedTrainerCard_Gfx[] = INCBIN_U8("graphics/trainer_card/card_fr.4bpp.lz");
+const u32 gFireRedTrainerCard_Gfx[] = INCBIN_U32("graphics/trainer_card/card_fr.4bpp.lz");
-const u16 gUnknown_08DD2AE0[] = INCBIN_U16("graphics/unknown/unknown_DD2AE0.bin.lz");
-const u16 gUnknown_08DD2B78[] = INCBIN_U16("graphics/unknown/unknown_DD2B78.bin.lz");
-const u16 gUnknown_08DD2D30[] = INCBIN_U16("graphics/unknown/unknown_DD2D30.bin.lz");
-const u16 gUnknown_08DD2E5C[] = INCBIN_U16("graphics/unknown/unknown_DD2E5C.bin.lz");
+const u32 gUnknown_08DD2AE0[] = INCBIN_U32("graphics/unknown/unknown_DD2AE0.bin.lz");
+const u32 gUnknown_08DD2B78[] = INCBIN_U32("graphics/unknown/unknown_DD2B78.bin.lz");
+const u32 gUnknown_08DD2D30[] = INCBIN_U32("graphics/unknown/unknown_DD2D30.bin.lz");
+const u32 gUnknown_08DD2E5C[] = INCBIN_U32("graphics/unknown/unknown_DD2E5C.bin.lz");
// pokemon storage system
-const u8 gPSSMenu_Gfx[] = INCBIN_U8("graphics/pokemon_storage/menu.4bpp.lz");
+const u32 gPSSMenu_Gfx[] = INCBIN_U32("graphics/pokemon_storage/menu.4bpp.lz");
const u16 gPSSMenu_Pal[] = INCBIN_U16("graphics/pokemon_storage/menu.gbapal");
-const u16 gUnknown_08DD36C8[] = INCBIN_U16("graphics/unknown/unknown_DD36C8.bin.lz");
+const u32 gUnknown_08DD36C8[] = INCBIN_U32("graphics/unknown/unknown_DD36C8.bin.lz");
// naming screen
const u16 gNamingScreenMenu_Pal[] = INCBIN_U16("graphics/naming_screen/menu.gbapal");
-const u8 gNamingScreenMenu_Gfx[] = INCBIN_U8("graphics/naming_screen/menu.4bpp.lz");
+const u32 gNamingScreenMenu_Gfx[] = INCBIN_U32("graphics/naming_screen/menu.4bpp.lz");
const u8 gNamingScreenRWindow_Gfx[] = INCBIN_U8("graphics/naming_screen/rwindow.4bpp");
const u8 gNamingScreenROptions_Gfx[] = INCBIN_U8("graphics/naming_screen/roptions.4bpp");
const u8 gNamingScreenCursor_Gfx[] = INCBIN_U8("graphics/naming_screen/cursor.4bpp");
@@ -1466,26 +1466,26 @@ const u8 gNamingScreenKeyboardButton_Gfx[] = INCBIN_U8("graphics/naming_screen/k
const u8 gNamingScreenRightPointingTriangleTiles[] = INCBIN_U8("graphics/naming_screen/right_pointing_triangle.4bpp");
const u8 gNamingScreenUnderscoreTiles[] = INCBIN_U8("graphics/naming_screen/underscore.4bpp");
-const u16 gUnknown_08DD4544[] = INCBIN_U16("graphics/unknown/unknown_DD4544.bin.lz");
-const u16 gUnknown_08DD4620[] = INCBIN_U16("graphics/unknown/unknown_DD4620.bin.lz");
-const u16 gUnknown_08DD46E0[] = INCBIN_U16("graphics/unknown/unknown_DD46E0.bin.lz");
-const u16 gUnknown_08DD47A0[] = INCBIN_U16("graphics/unknown/unknown_DD47A0.bin.lz");
+const u32 gUnknown_08DD4544[] = INCBIN_U32("graphics/unknown/unknown_DD4544.bin.lz");
+const u32 gUnknown_08DD4620[] = INCBIN_U32("graphics/unknown/unknown_DD4620.bin.lz");
+const u32 gUnknown_08DD46E0[] = INCBIN_U32("graphics/unknown/unknown_DD46E0.bin.lz");
+const u32 gUnknown_08DD47A0[] = INCBIN_U32("graphics/unknown/unknown_DD47A0.bin.lz");
// link
const u16 gLinkMiscMenu_Pal[] = INCBIN_U16("graphics/link/misc.gbapal");
-const u8 gLinkMiscMenu_Gfx[] = INCBIN_U8("graphics/link/misc.4bpp.lz");
-const u16 gLinkMiscMenu_Tilemap[] = INCBIN_U16("graphics/link/misc.bin.lz");
+const u32 gLinkMiscMenu_Gfx[] = INCBIN_U32("graphics/link/misc.4bpp.lz");
+const u32 gLinkMiscMenu_Tilemap[] = INCBIN_U32("graphics/link/misc.bin.lz");
const u16 gUnknown_08DD4BB0[] = INCBIN_U16("graphics/link/link1.gbapal");
const u16 gUnknown_08DD4BD0[] = INCBIN_U16("graphics/link/link2.gbapal");
-const u8 gUnknown_08DD4BF0[] = INCBIN_U8("graphics/link/link_winedge.4bpp.lz");
-const u16 gUnknown_08DD4C4C[] = INCBIN_U16("graphics/link/link_winedge.bin.lz");
+const u32 gUnknown_08DD4BF0[] = INCBIN_U32("graphics/link/link_winedge.4bpp.lz");
+const u32 gUnknown_08DD4C4C[] = INCBIN_U32("graphics/link/link_winedge.bin.lz");
-const u8 gUnknown_08DD4CF8[] = INCBIN_U8("graphics/interface/unk_change_case.4bpp.lz");
+const u32 gUnknown_08DD4CF8[] = INCBIN_U32("graphics/interface/unk_change_case.4bpp.lz");
-const u16 gTilesetPalettes_General[][16] =
+const u16 gTilesetPalettes_General[][16] =
{
INCBIN_U16("data/tilesets/primary/general/palettes/00.gbapal"),
INCBIN_U16("data/tilesets/primary/general/palettes/01.gbapal"),
@@ -1505,7 +1505,7 @@ const u16 gTilesetPalettes_General[][16] =
INCBIN_U16("data/tilesets/primary/general/palettes/15.gbapal"),
};
-const u8 gTilesetTiles_General[] = INCBIN_U8("data/tilesets/primary/general/tiles.4bpp.lz");
+const u32 gTilesetTiles_General[] = INCBIN_U32("data/tilesets/primary/general/tiles.4bpp.lz");
// trade/egg hatch
@@ -1537,9 +1537,9 @@ const u16 gUnknown_08DDD704[] = INCBIN_U16("graphics/unknown/unknown_DDD704.bin"
const u16 gMessageBox_Pal[] = INCBIN_U16("graphics/text_window/message_box.gbapal");
const u8 gMessageBox_Gfx[] = INCBIN_U8("graphics/text_window/message_box.4bpp");
-const u8 gWallpaperIcon_Cross[] = INCBIN_U8("graphics/pokemon_storage/cross_icon.4bpp.lz");
-const u8 gWallpaperIcon_Bolt[] = INCBIN_U8("graphics/pokemon_storage/bolt_icon.4bpp.lz");
-const u8 gWallpaperIcon_Plusle[] = INCBIN_U8("graphics/pokemon_storage/plusle_icon.4bpp.lz");
+const u32 gWallpaperIcon_Cross[] = INCBIN_U32("graphics/pokemon_storage/cross_icon.4bpp.lz");
+const u32 gWallpaperIcon_Bolt[] = INCBIN_U32("graphics/pokemon_storage/bolt_icon.4bpp.lz");
+const u32 gWallpaperIcon_Plusle[] = INCBIN_U32("graphics/pokemon_storage/plusle_icon.4bpp.lz");
const u16 gWallpaperPalettes_Horizontal[][16] =
{
@@ -1547,8 +1547,8 @@ const u16 gWallpaperPalettes_Horizontal[][16] =
INCBIN_U16("graphics/pokemon_storage/horizontal_bg.gbapal"),
};
-const u8 gWallpaperTiles_Horizontal[] = INCBIN_U8("graphics/pokemon_storage/horizontal.4bpp.lz");
-const u16 gWallpaperTilemap_Horizontal[] = INCBIN_U16("graphics/pokemon_storage/horizontal.bin.lz");
+const u32 gWallpaperTiles_Horizontal[] = INCBIN_U32("graphics/pokemon_storage/horizontal.4bpp.lz");
+const u32 gWallpaperTilemap_Horizontal[] = INCBIN_U32("graphics/pokemon_storage/horizontal.bin.lz");
const u16 gWallpaperPalettes_Ribbon[][16] =
{
@@ -1556,14 +1556,14 @@ const u16 gWallpaperPalettes_Ribbon[][16] =
INCBIN_U16("graphics/pokemon_storage/ribbon_bg.gbapal"),
};
-const u8 gWallpaperTiles_Ribbon[] = INCBIN_U8("graphics/pokemon_storage/ribbon.4bpp.lz");
-const u16 gWallpaperTilemap_Ribbon[] = INCBIN_U16("graphics/pokemon_storage/ribbon.bin.lz");
+const u32 gWallpaperTiles_Ribbon[] = INCBIN_U32("graphics/pokemon_storage/ribbon.4bpp.lz");
+const u32 gWallpaperTilemap_Ribbon[] = INCBIN_U32("graphics/pokemon_storage/ribbon.bin.lz");
// pokenav
const u16 gUnknown_08DDE010[] = INCBIN_U16("graphics/pokenav/ribbons.gbapal");
-const u8 gUnknown_08DDE030[] = INCBIN_U8("graphics/pokenav/ribbons.4bpp.lz");
-const u16 gUnknown_08DDE12C[] = INCBIN_U16("graphics/pokenav/ribbons.bin.lz");
+const u32 gUnknown_08DDE030[] = INCBIN_U32("graphics/pokenav/ribbons.4bpp.lz");
+const u32 gUnknown_08DDE12C[] = INCBIN_U32("graphics/pokenav/ribbons.bin.lz");
const u16 gMonIconPalettes[][16] =
{
@@ -1577,31 +1577,31 @@ const u16 gTitleScreenBgPalettes2[] = INCBIN_U16("graphics/title_screen/rayquaza
const u16 gTitleScreenEmeraldVersionPal[] = INCBIN_U16("graphics/title_screen/emerald_version.gbapal");
-const u16 gUnknown_08DDE458[] = INCBIN_U16("graphics/title_screen/title_screen1.bin.lz");
+const u32 gUnknown_08DDE458[] = INCBIN_U32("graphics/title_screen/title_screen1.bin.lz");
-const u16 gTitleScreenPokemonLogoGfx[] = INCBIN_U16("graphics/title_screen/pokemon_logo.8bpp.lz");
+const u32 gTitleScreenPokemonLogoGfx[] = INCBIN_U32("graphics/title_screen/pokemon_logo.8bpp.lz");
-const u16 gTitleScreenEmeraldVersionGfx[] = INCBIN_U16("graphics/title_screen/emerald_version.8bpp.lz");
+const u32 gTitleScreenEmeraldVersionGfx[] = INCBIN_U32("graphics/title_screen/emerald_version.8bpp.lz");
const u16 gTitleScreenPressStartPal[] = INCBIN_U16("graphics/title_screen/press_start.gbapal");
-const u8 gTitleScreenPressStartGfx[] = INCBIN_U8("graphics/title_screen/press_start.4bpp.lz");
+const u32 gTitleScreenPressStartGfx[] = INCBIN_U32("graphics/title_screen/press_start.4bpp.lz");
-const u16 gUnknown_08DE0644[] = INCBIN_U16("graphics/title_screen/title_screen2.bin.lz");
+const u32 gUnknown_08DE0644[] = INCBIN_U32("graphics/title_screen/title_screen2.bin.lz");
// more trainer card stuff
const u16 gUnknown_08DE07C8[] = INCBIN_U16("graphics/frontier_pass/tiles.gbapal");// size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but palette is only 0x100 bytes long so it loads garbage as well
-const u8 gUnknown_08DE08C8[] = INCBIN_U8("graphics/frontier_pass/tiles.4bpp.lz");
-const u16 gUnknown_08DE2084[] = INCBIN_U16("graphics/frontier_pass/tiles2.8bpp.lz");
-const u16 gUnknown_08DE3060[] = INCBIN_U16("graphics/frontier_pass/tiles.bin.lz");
+const u32 gUnknown_08DE08C8[] = INCBIN_U32("graphics/frontier_pass/tiles.4bpp.lz");
+const u32 gUnknown_08DE2084[] = INCBIN_U32("graphics/frontier_pass/tiles2.8bpp.lz");
+const u32 gUnknown_08DE3060[] = INCBIN_U32("graphics/frontier_pass/tiles.bin.lz");
const u16 gUnknown_08DE3350[] = INCBIN_U16("graphics/frontier_pass/tilemap1.bin");
const u16 gUnknown_08DE3374[] = INCBIN_U16("graphics/frontier_pass/tilemap2.bin");
// berry crusher
const u16 gUnknown_08DE3398[] = INCBIN_U16("graphics/berry_crusher/tiles.gbapal");
-const u8 gUnknown_08DE34B8[] = INCBIN_U8("graphics/berry_crusher/tiles.4bpp.lz");
-const u16 gUnknown_08DE3FD4[] = INCBIN_U16("graphics/berry_crusher/tiles.bin.lz");
+const u32 gUnknown_08DE34B8[] = INCBIN_U32("graphics/berry_crusher/tiles.4bpp.lz");
+const u32 gUnknown_08DE3FD4[] = INCBIN_U32("graphics/berry_crusher/tiles.bin.lz");
// random garbage at the end.
asm(".space 0x54BAC \n\
diff --git a/src/ground.c b/src/ground.c
new file mode 100644
index 000000000..6cb7b8557
--- /dev/null
+++ b/src/ground.c
@@ -0,0 +1,748 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "random.h"
+#include "scanline_effect.h"
+#include "task.h"
+#include "trig.h"
+#include "constants/rgb.h"
+
+void AnimBonemerangProjectile(struct Sprite *);
+void AnimBoneHitProjectile(struct Sprite *);
+void AnimDirtScatter(struct Sprite *);
+void AnimMudSportDirt(struct Sprite *);
+void AnimFissureDirtPlumeParticle(struct Sprite *);
+void AnimDigDirtMound(struct Sprite *);
+static void AnimBonemerangProjectileStep(struct Sprite *);
+static void AnimBonemerangProjectileEnd(struct Sprite *);
+static void AnimMudSportDirtRising(struct Sprite *);
+static void AnimMudSportDirtFalling(struct Sprite *);
+static void sub_8114CFC(u8);
+static void sub_8114EB4(u8);
+static void sub_8114F54(u8);
+static void sub_8114FD8(u8);
+static void sub_81150E0(u8, s16, s16);
+static void AnimFissureDirtPlumeParticleStep(struct Sprite *);
+static void sub_81153AC(u8);
+static void sub_81154A4(u8);
+static void sub_8115588(struct Task *);
+static void sub_81156D0(u8);
+
+const union AffineAnimCmd gUnknown_08597150[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gUnknown_08597160[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08597170[] =
+{
+ gUnknown_08597150,
+};
+
+const union AffineAnimCmd *const gUnknown_08597174[] =
+{
+ gUnknown_08597160,
+};
+
+const struct SpriteTemplate gUnknown_08597178 =
+{
+ .tileTag = ANIM_TAG_BONE,
+ .paletteTag = ANIM_TAG_BONE,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597170,
+ .callback = AnimBonemerangProjectile,
+};
+
+const struct SpriteTemplate gUnknown_08597190 =
+{
+ .tileTag = ANIM_TAG_BONE,
+ .paletteTag = ANIM_TAG_BONE,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597174,
+ .callback = AnimBoneHitProjectile,
+};
+
+const struct SpriteTemplate gUnknown_085971A8 =
+{
+ .tileTag = ANIM_TAG_MUD_SAND,
+ .paletteTag = ANIM_TAG_MUD_SAND,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimDirtScatter,
+};
+
+const union AnimCmd gUnknown_085971C0[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085971C8[] =
+{
+ gUnknown_085971C0,
+};
+
+const struct SpriteTemplate gUnknown_085971CC =
+{
+ .tileTag = ANIM_TAG_MUD_SAND,
+ .paletteTag = ANIM_TAG_MUD_SAND,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_085971C8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimDirtScatter,
+};
+
+const struct SpriteTemplate gUnknown_085971E4 =
+{
+ .tileTag = ANIM_TAG_MUD_SAND,
+ .paletteTag = ANIM_TAG_MUD_SAND,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMudSportDirt,
+};
+
+const struct SpriteTemplate gUnknown_085971FC =
+{
+ .tileTag = ANIM_TAG_MUD_SAND,
+ .paletteTag = ANIM_TAG_MUD_SAND,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimFissureDirtPlumeParticle,
+};
+
+const struct SpriteTemplate gUnknown_08597214 =
+{
+ .tileTag = ANIM_TAG_DIRT_MOUND,
+ .paletteTag = ANIM_TAG_DIRT_MOUND,
+ .oam = &gUnknown_08524934,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimDigDirtMound,
+};
+
+// Moves a bone projectile towards the target mon, which moves like
+// a boomerang. After hitting the target mon, it comes back to the user.
+void AnimBonemerangProjectile(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[0] = 20;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[5] = -40;
+ InitAnimArcTranslation(sprite);
+ sprite->callback = AnimBonemerangProjectileStep;
+}
+
+static void AnimBonemerangProjectileStep(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ sprite->data[0] = 20;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[5] = 40;
+ InitAnimArcTranslation(sprite);
+ sprite->callback = AnimBonemerangProjectileEnd;
+ }
+}
+
+static void AnimBonemerangProjectileEnd(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+// Moves a bone projectile towards the target mon, starting right next to
+// the target mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x pixel offset
+// arg 3: target y pixel offset
+// arg 4: duration
+void AnimBoneHitProjectile(struct Sprite *sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ 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, 3) + gBattleAnimArgs[3];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+// Moves a small dirt projectile towards the target mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: duration
+// arg 3: target x pixel offset
+// arg 4: target y pixel offset
+void AnimDirtScatter(struct Sprite *sprite)
+{
+ u8 targetXPos, targetYPos;
+ s16 xOffset, yOffset;
+
+ InitAnimSpritePos(sprite, 1);
+
+ targetXPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 2);
+ targetYPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 3);
+
+ xOffset = Random2() & 0x1F;
+ yOffset = Random2() & 0x1F;
+ if (xOffset > 16)
+ xOffset = 16 - xOffset;
+ if (yOffset > 16)
+ yOffset = 16 - yOffset;
+
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = targetXPos + xOffset;
+ sprite->data[4] = targetYPos + yOffset;
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+}
+
+// Moves a particle of dirt in the Mud Sport animation.
+// The dirt can either be rising upward, or falling down.
+// arg 0: 0 = dirt is rising into the air, 1 = dirt is falling down
+// arg 1: initial x pixel offset
+// arg 2: initial y pixel offset
+void AnimMudSportDirt(struct Sprite *sprite)
+{
+ sprite->oam.tileNum++;
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[1] > 0 ? 1 : -1;
+ sprite->callback = AnimMudSportDirtRising;
+ }
+ else
+ {
+ sprite->pos1.x = gBattleAnimArgs[1];
+ sprite->pos1.y = gBattleAnimArgs[2];
+ sprite->pos2.y = -gBattleAnimArgs[2];
+ sprite->callback = AnimMudSportDirtFalling;
+ }
+}
+
+static void AnimMudSportDirtRising(struct Sprite *sprite)
+{
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ sprite->pos1.x += sprite->data[0];
+ }
+
+ sprite->pos1.y -= 4;
+ if (sprite->pos1.y < -4)
+ DestroyAnimSprite(sprite);
+}
+
+static void AnimMudSportDirtFalling(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->pos2.y += 4;
+ if (sprite->pos2.y >= 0)
+ {
+ sprite->pos2.y = 0;
+ sprite->data[0]++;
+ }
+ break;
+ case 1:
+ if (++sprite->data[1] > 0)
+ {
+ sprite->data[1] = 0;
+ sprite->invisible ^= 1;
+ if (++sprite->data[2] == 10)
+ DestroyAnimSprite(sprite);
+ }
+ break;
+ }
+}
+
+void sub_8114CBC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (gBattleAnimArgs[0] == 0)
+ task->func = sub_8114CFC;
+ else
+ task->func = sub_8114EB4;
+
+ task->func(taskId);
+}
+
+static void sub_8114CFC(u8 taskId)
+{
+ u8 var0;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[10] = GetAnimBattlerSpriteId(0);
+ task->data[11] = sub_80A8364(gBattleAnimAttacker);
+ if (task->data[11] == 1)
+ {
+ task->data[12] = gBattle_BG1_X;
+ task->data[13] = gBattle_BG1_Y;
+ }
+ else
+ {
+ task->data[12] = gBattle_BG2_X;
+ task->data[13] = gBattle_BG2_Y;
+ }
+
+ var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
+ task->data[14] = var0 - 32;
+ task->data[15] = var0 + 32;
+ if (task->data[14] < 0)
+ task->data[14] = 0;
+
+ gSprites[task->data[10]].invisible = 1;
+ task->data[0]++;
+ break;
+ case 1:
+ sub_81150E0(task->data[11], task->data[14], task->data[15]);
+ task->data[0]++;
+ break;
+ case 2:
+ task->data[2] = (task->data[2] + 6) & 0x7F;
+ if (++task->data[4] > 2)
+ {
+ task->data[4] = 0;
+ task->data[3]++;
+ }
+
+ task->data[5] = task->data[3] + (gSineTable[task->data[2]] >> 4);
+ if (task->data[11] == 1)
+ gBattle_BG1_Y = task->data[13] - task->data[5];
+ else
+ gBattle_BG2_Y = task->data[13] - task->data[5];
+
+ if (task->data[5] > 63)
+ {
+ task->data[5] = 120 - task->data[14];
+ if (task->data[11] == 1)
+ gBattle_BG1_Y = task->data[13] - task->data[5];
+ else
+ gBattle_BG2_Y = task->data[13] - task->data[5];
+
+ gSprites[task->data[10]].pos2.x = 272 - gSprites[task->data[10]].pos1.x;
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ gScanlineEffect.state = 3;
+ task->data[0]++;
+ break;
+ case 4:
+ DestroyAnimVisualTask(taskId);
+ gSprites[task->data[10]].invisible = 1;
+ break;
+ }
+}
+
+static void sub_8114EB4(u8 taskId)
+{
+ u8 spriteId = GetAnimBattlerSpriteId(0);
+ gSprites[spriteId].invisible = 1;
+ gSprites[spriteId].pos2.x = 0;
+ gSprites[spriteId].pos2.y = 0;
+
+ if (sub_80A8364(gBattleAnimAttacker) == 1)
+ gBattle_BG1_Y = 0;
+ else
+ gBattle_BG2_Y = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8114F14(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (gBattleAnimArgs[0] == 0)
+ task->func = sub_8114F54;
+ else
+ task->func = sub_8114FD8;
+
+ task->func(taskId);
+}
+
+static void sub_8114F54(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[10] = GetAnimBattlerSpriteId(0);
+ gSprites[task->data[10]].invisible = 0;
+ gSprites[task->data[10]].pos2.x = 0;
+ gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y;
+ task->data[0]++;
+ break;
+ case 1:
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+static void sub_8114FD8(u8 taskId)
+{
+ u8 var0;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[10] = GetAnimBattlerSpriteId(0);
+ task->data[11] = sub_80A8364(gBattleAnimAttacker);
+ if (task->data[11] == 1)
+ task->data[12] = gBattle_BG1_X;
+ else
+ task->data[12] = gBattle_BG2_X;
+
+ var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
+ task->data[14] = var0 - 32;
+ task->data[15] = var0 + 32;
+ task->data[0]++;
+ break;
+ case 1:
+ sub_81150E0(task->data[11], 0, task->data[15]);
+ task->data[0]++;
+ break;
+ case 2:
+ gSprites[task->data[10]].pos2.y = 96;
+ task->data[0]++;
+ break;
+ case 3:
+ gSprites[task->data[10]].pos2.y -= 8;
+ if (gSprites[task->data[10]].pos2.y == 0)
+ {
+ gScanlineEffect.state = 3;
+ task->data[0]++;
+ }
+ break;
+ case 4:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_81150E0(u8 useBG1, s16 y, s16 endY)
+{
+ s16 bgX;
+ struct ScanlineEffectParams scanlineParams;
+
+ if (useBG1 == 1)
+ {
+ bgX = gBattle_BG1_X;
+ scanlineParams.dmaDest = &REG_BG1HOFS;
+ }
+ else
+ {
+ bgX = gBattle_BG2_X;
+ scanlineParams.dmaDest = &REG_BG2HOFS;
+ }
+
+ if (y < 0)
+ y = 0;
+
+ while (y < endY)
+ {
+ gScanlineEffectRegBuffers[0][y] = bgX;
+ gScanlineEffectRegBuffers[1][y] = bgX;
+ y++;
+ }
+
+ while (y < 160)
+ {
+ gScanlineEffectRegBuffers[0][y] = bgX + 240;
+ gScanlineEffectRegBuffers[1][y] = bgX + 240;
+ y++;
+ }
+
+ scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ scanlineParams.initState = 1;
+ scanlineParams.unused9 = 0;
+ ScanlineEffect_SetParams(scanlineParams);
+}
+
+// Moves a particle of dirt in a plume of dirt. Used in Fissure and Dig.
+// arg 0: which mon (0 = attacker, 1 = target)
+// arg 1: which side of mon (0 = left, 1 = right)
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: wave amplitude
+// arg 5: duration
+void AnimFissureDirtPlumeParticle(struct Sprite *sprite)
+{
+ s8 battler;
+ s16 xOffset;
+
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ xOffset = 24;
+ if (gBattleAnimArgs[1] == 1)
+ {
+ xOffset *= -1;
+ gBattleAnimArgs[2] *= -1;
+ }
+
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, 2) + xOffset;
+ sprite->pos1.y = GetBattlerYCoordWithElevation(battler) + 30;
+ sprite->data[0] = gBattleAnimArgs[5];
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
+ sprite->data[5] = gBattleAnimArgs[4];
+ InitAnimArcTranslation(sprite);
+ sprite->callback = AnimFissureDirtPlumeParticleStep;
+}
+
+static void AnimFissureDirtPlumeParticleStep(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+// Displays the dirt mound seen in the move Dig for set duration.
+// The dirt mound image is too large for a single sprite, so two
+// sprites are lined up next to each other.
+// arg 0: which mon (0 = attacker, 1 = target)
+// arg 1: oam tile num (0 = left half of image, 1 = right half of image)
+// arg 2: duration
+void AnimDigDirtMound(struct Sprite *sprite)
+{
+ s8 battler;
+
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, 0) - 16 + (gBattleAnimArgs[1] * 32);
+ sprite->pos1.y = GetBattlerYCoordWithElevation(battler) + 32;
+ sprite->oam.tileNum += gBattleAnimArgs[1] * 8;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->callback = WaitAnimForDuration;
+}
+
+void sub_81152DC(u8 taskId)
+{
+ u16 i;
+ struct Task *task = &gTasks[taskId];
+
+ if (gBattleAnimArgs[1])
+ task->data[14] = task->data[15] = gBattleAnimArgs[1] + 3;
+ else
+ task->data[14] = task->data[15] = (gAnimMovePower / 10) + 3;
+
+ task->data[3] = gBattleAnimArgs[2];
+ switch (gBattleAnimArgs[0])
+ {
+ case 5:
+ task->data[13] = gBattle_BG3_X;
+ task->func = sub_81153AC;
+ break;
+ case 4:
+ task->data[13] = 0;
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ if (IsBattlerSpriteVisible(i))
+ {
+ task->data[task->data[13] + 9] = gBattlerSpriteIds[i];
+ task->data[13]++;
+ }
+ }
+ task->func = sub_81154A4;
+ break;
+ default:
+ task->data[9] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ if (task->data[9] == 0xFF)
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ task->data[13] = 1;
+ task->func = sub_81154A4;
+ }
+
+ break;
+ }
+}
+
+static void sub_81153AC(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) == 0)
+ gBattle_BG3_X = task->data[13] + task->data[15];
+ else
+ gBattle_BG3_X = task->data[13] - task->data[15];
+
+ if (++task->data[2] == task->data[3])
+ {
+ task->data[2] = 0;
+ task->data[14]--;
+ task->data[0]++;
+ }
+ }
+ break;
+ case 1:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+ if ((task->data[2] & 1) == 0)
+ gBattle_BG3_X = task->data[13] + task->data[14];
+ else
+ gBattle_BG3_X = task->data[13] - task->data[14];
+
+ if (++task->data[2] == 4)
+ {
+ task->data[2] = 0;
+ if (--task->data[14] == 0)
+ task->data[0]++;
+ }
+ }
+ break;
+ case 2:
+ gBattle_BG3_X = task->data[13];
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_81154A4(u8 taskId)
+{
+ u16 i;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+ sub_8115588(task);
+ if (++task->data[2] == task->data[3])
+ {
+ task->data[2] = 0;
+ task->data[14]--;
+ task->data[0]++;
+ }
+ }
+ break;
+ case 1:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+ sub_8115588(task);
+ if (++task->data[2] == 4)
+ {
+ task->data[2] = 0;
+ if (--task->data[14] == 0)
+ task->data[0]++;
+ }
+ }
+ break;
+ case 2:
+ for (i = 0; i < task->data[13]; i++)
+ gSprites[task->data[9 + i]].pos2.x = 0;
+
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_8115588(struct Task *task)
+{
+ u16 i;
+ u16 xOffset;
+
+ if ((task->data[2] & 1) == 0)
+ xOffset = (task->data[14] / 2) + (task->data[14] & 1);
+ else
+ xOffset = -(task->data[14] / 2);
+
+ for (i = 0; i < task->data[13]; i++)
+ {
+ gSprites[task->data[9 + i]].pos2.x = xOffset;
+ }
+}
+
+void AnimTask_IsPowerOver99(u8 taskId)
+{
+ gBattleAnimArgs[15] = gAnimMovePower > 99;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8115628(u8 taskId)
+{
+ struct Task *newTask;
+ u8 battler = (gBattleAnimArgs[0] & 1) ? gBattleAnimTarget : gBattleAnimAttacker;
+
+ if (gBattleAnimArgs[0] > 1)
+ battler ^= 2;
+
+ newTask = &gTasks[CreateTask(sub_81156D0, gBattleAnimArgs[1])];
+ newTask->data[1] = (32 - GetBattlerSpriteCoord(battler, 2)) & 0x1FF;
+ newTask->data[2] = (64 - GetBattlerSpriteCoord(battler, 3)) & 0xFF;
+ gBattle_BG3_X = newTask->data[1];
+ gBattle_BG3_Y = newTask->data[2];
+ newTask->data[3] = gBattleAnimArgs[2];
+ DestroyAnimVisualTask(taskId);
+}
+
+static void sub_81156D0(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (gBattleAnimArgs[7] == task->data[3])
+ {
+ gBattle_BG3_X = 0;
+ gBattle_BG3_Y = 0;
+ DestroyTask(taskId);
+ }
+ else
+ {
+ gBattle_BG3_X = task->data[1];
+ gBattle_BG3_Y = task->data[2];
+ }
+}
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index f2975e739..315990256 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -8,6 +8,7 @@
#include "text_window.h"
#include "malloc.h"
#include "gpu_regs.h"
+#include "graphics.h"
#include "main.h"
#include "sound.h"
#include "constants/songs.h"
@@ -30,6 +31,7 @@
#include "trainer_pokemon_sprites.h"
#include "data2.h"
#include "rom_81520A8.h"
+#include "constants/rgb.h"
struct HallofFameMon
{
@@ -77,10 +79,6 @@ extern const u8 gText_IDNumber[];
extern const u8 gText_Name[];
extern const u8 gText_MainMenuTime[];
-// graphics
-extern const u8 gContestConfetti_Gfx[];
-extern const u8 gContestConfetti_Pal[];
-
extern void sub_8175620(void);
extern bool8 sub_80F9C30(void);
extern void sub_8198314(void);
@@ -339,7 +337,7 @@ static const struct SpriteTemplate sSpriteTemplate_85E54D0 =
static const u16 sHallOfFame_Pal[] = INCBIN_U16("graphics/misc/japanese_hof.gbapal");
-static const u8 sHallOfFame_Gfx[] = INCBIN_U8("graphics/misc/japanese_hof.4bpp.lz");
+static const u32 sHallOfFame_Gfx[] = INCBIN_U32("graphics/misc/japanese_hof.4bpp.lz");
static const struct HallofFameMon sDummyFameMon =
{
@@ -391,7 +389,7 @@ static bool8 InitHallOfFameScreen(void)
if (!sub_8175024())
{
SetVBlankCallback(VBlankCB_HallOfFame);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
gMain.state++;
}
break;
@@ -441,7 +439,7 @@ static void Task_Hof_InitMonData(u8 taskId)
gTasks[taskId].tMonNumber = 0; // valid pokes
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
u8 nick[POKEMON_NAME_LENGTH + 2];
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES))
@@ -471,7 +469,7 @@ static void Task_Hof_InitMonData(u8 taskId)
gTasks[taskId].tDisplayedMonId = 0;
gTasks[taskId].tPlayerSpriteID = 0xFF;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
gTasks[taskId].tMonSpriteId(i) = 0xFF;
}
@@ -524,7 +522,7 @@ static void Task_Hof_InitTeamSaveData(u8 taskId)
static void Task_Hof_TrySaveData(u8 taskId)
{
gGameContinueCallback = CB2_DoHallOfFameScreenDontSaveData;
- if (TrySavingData(3) == 0xFF && gDamagedSaveSectors != 0)
+ if (TrySavingData(SAVE_HALL_OF_FAME) == 0xFF && gDamagedSaveSectors != 0)
{
UnsetBgTilemapBuffer(1);
UnsetBgTilemapBuffer(3);
@@ -629,7 +627,7 @@ static void Task_Hof_TryDisplayAnotherMon(u8 taskId)
if (gTasks[taskId].tDisplayedMonId <= 4 && currMon[1].species != SPECIES_NONE) // there is another pokemon to display
{
gTasks[taskId].tDisplayedMonId++;
- BeginNormalPaletteFade(sUnknown_0203BCD4, 0, 12, 12, 0x63B0);
+ BeginNormalPaletteFade(sUnknown_0203BCD4, 0, 12, 12, RGB(16, 29, 24));
gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.priority = 1;
gTasks[taskId].func = Task_Hof_DisplayMon;
}
@@ -644,8 +642,8 @@ static void Task_Hof_PaletteFadeAndPrintWelcomeText(u8 taskId)
{
u16 i;
- BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0, 0);
- for (i = 0; i < 6; i++)
+ BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0, RGB_BLACK);
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (gTasks[taskId].tMonSpriteId(i) != 0xFF)
gSprites[gTasks[taskId].tMonSpriteId(i)].oam.priority = 0;
@@ -668,12 +666,12 @@ static void sub_8173DC0(u8 taskId)
else
{
u16 i;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
if (gTasks[taskId].tMonSpriteId(i) != 0xFF)
gSprites[gTasks[taskId].tMonSpriteId(i)].oam.priority = 1;
}
- BeginNormalPaletteFade(sUnknown_0203BCD4, 0, 12, 12, 0x63B0);
+ BeginNormalPaletteFade(sUnknown_0203BCD4, 0, 12, 12, RGB(16, 29, 24));
FillWindowPixelBuffer(0, 0);
CopyWindowToVram(0, 3);
gTasks[taskId].tFrameCount = 7;
@@ -741,7 +739,7 @@ static void Task_Hof_ExitOnKeyPressed(u8 taskId)
static void Task_Hof_HandlePaletteOnExit(u8 taskId)
{
CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
- BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 0x10, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = Task_Hof_HandleExit;
}
@@ -751,7 +749,7 @@ static void Task_Hof_HandleExit(u8 taskId)
{
s32 i;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
u8 spriteId = gTasks[taskId].tMonSpriteId(i);
if (spriteId != 0xFF)
@@ -847,7 +845,7 @@ void CB2_DoHallOfFamePC(void)
SetGpuReg(REG_OFFSET_BLDY, 0);
taskId = CreateTask(Task_HofPC_CopySaveData, 0);
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
gTasks[taskId].tMonSpriteId(i) = 0xFF;
}
@@ -904,7 +902,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
gTasks[taskId].tCurrMonId = 0;
gTasks[taskId].tMonNo = 0;
- for (i = 0; i < 6; i++, currMon++)
+ for (i = 0; i < PARTY_SIZE; i++, currMon++)
{
if (currMon->species != 0)
gTasks[taskId].tMonNo++;
@@ -912,7 +910,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
currMon = &savedTeams->mon[0];
- for (i = 0; i < 6; i++, currMon++)
+ for (i = 0; i < PARTY_SIZE; i++, currMon++)
{
if (currMon->species != 0)
{
@@ -943,7 +941,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId)
}
}
- BlendPalettes(0xFFFF0000, 0xC, 0x63B0);
+ BlendPalettes(0xFFFF0000, 0xC, RGB(16, 29, 24));
ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].tCurrPageNo, STR_CONV_MODE_RIGHT_ALIGN, 3);
StringExpandPlaceholders(gStringVar4, gText_HOFNumber);
@@ -966,7 +964,7 @@ static void Task_HofPC_PrintMonInfo(u8 taskId)
for (i = 0; i < gTasks[taskId].tCurrTeamNo; i++)
savedTeams++;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
u16 spriteId = gTasks[taskId].tMonSpriteId(i);
if (spriteId != 0xFF)
@@ -976,7 +974,7 @@ static void Task_HofPC_PrintMonInfo(u8 taskId)
currMonID = gTasks[taskId].tMonSpriteId(gTasks[taskId].tCurrMonId);
gSprites[currMonID].oam.priority = 0;
sUnknown_0203BCD4 = (0x10000 << gSprites[currMonID].oam.paletteNum) ^ 0xFFFF0000;
- BlendPalettesUnfaded(sUnknown_0203BCD4, 0xC, 0x63B0);
+ BlendPalettesUnfaded(sUnknown_0203BCD4, 0xC, RGB(16, 29, 24));
currMon = &savedTeams->mon[gTasks[taskId].tCurrMonId];
if (currMon->species != SPECIES_EGG)
@@ -1059,7 +1057,7 @@ static void Task_HofPC_HandleExit(u8 taskId)
{
u8 i;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
u16 spriteId = gTasks[taskId].tMonSpriteId(i);
if (spriteId != 0xFF)
diff --git a/src/hof_pc.c b/src/hof_pc.c
index 44b929337..2cea5540a 100644
--- a/src/hof_pc.c
+++ b/src/hof_pc.c
@@ -7,8 +7,6 @@
#include "script_menu.h"
#include "task.h"
-extern void (*gUnknown_0300485C)(void);
-
extern void Overworld_PlaySpecialMapMusic(void);
extern bool16 ScrSpecial_CreatePCMenu(void);
extern void ScriptMenu_DisplayPCStartupPrompt(void);
diff --git a/src/ice.c b/src/ice.c
new file mode 100644
index 000000000..ebd0d3cf6
--- /dev/null
+++ b/src/ice.c
@@ -0,0 +1,491 @@
+#include "global.h"
+#include "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 *);
+extern void sub_80A8EE4(struct Sprite *);
+extern void unc_080B06FC(struct Sprite *);
+extern void sub_810CD4C(struct Sprite *);
+
+const union AnimCmd gUnknown_08595A48[] =
+{
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 5, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595A54[] =
+{
+ gUnknown_08595A48,
+};
+
+// unknown sprite template
+const struct SpriteTemplate gUnknown_08595A58 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B6C4,
+};
+
+const union AnimCmd gUnknown_08595A70[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A78[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A80[] =
+{
+ ANIMCMD_FRAME(6, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A88[] =
+{
+ ANIMCMD_FRAME(7, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A90[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A98[] =
+{
+ ANIMCMD_FRAME(12, 6),
+ ANIMCMD_FRAME(13, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595AA4[] =
+{
+ gUnknown_08595A70,
+};
+
+const union AnimCmd *const gUnknown_08595AA8[] =
+{
+ gUnknown_08595A78,
+};
+
+const union AnimCmd *const gUnknown_08595AAC[] =
+{
+ gUnknown_08595A80,
+};
+
+const union AnimCmd *const gUnknown_08595AB0[] =
+{
+ gUnknown_08595A88,
+};
+
+const union AnimCmd *const gUnknown_08595AB4[] =
+{
+ gUnknown_08595A90,
+};
+
+const union AnimCmd *const gUnknown_08595AB8[] =
+{
+ gUnknown_08595A98,
+};
+
+const union AffineAnimCmd gUnknown_08595ABC[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08595ACC[] =
+{
+ gUnknown_08595ABC,
+};
+
+const struct SpriteTemplate gUnknown_08595AD0 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524B24,
+ .anims = gUnknown_08595AA8,
+ .images = NULL,
+ .affineAnims = gUnknown_08595ACC,
+ .callback = sub_810B8AC,
+};
+
+const struct SpriteTemplate gUnknown_08595AE8 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524A24,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B8AC,
+};
+
+const union AffineAnimCmd gUnknown_08595B00[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08595B10[] =
+{
+ gUnknown_08595B00,
+};
+
+const struct SpriteTemplate gUnknown_08595B14 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524AC4,
+ .anims = gUnknown_08595AA8,
+ .images = NULL,
+ .affineAnims = gUnknown_08595B10,
+ .callback = sub_810B8EC,
+};
+
+const struct SpriteTemplate gUnknown_08595B2C =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524A24,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B8EC,
+};
+
+const union AffineAnimCmd gUnknown_08595B44[] =
+{
+ AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595B64[] =
+{
+ gUnknown_08595B44,
+};
+
+const struct SpriteTemplate gUnknown_08595B68 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524AC4,
+ .anims = gUnknown_08595AA8,
+ .images = NULL,
+ .affineAnims = gUnknown_08595B64,
+ .callback = sub_810B974,
+};
+
+const struct SpriteTemplate gUnknown_08595B80 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524A84,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gUnknown_08595B64,
+ .callback = sub_810B974,
+};
+
+const struct SpriteTemplate gUnknown_08595B98 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AB0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BA24,
+};
+
+const struct SpriteTemplate gUnknown_08595BB0 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08595AB4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BC94,
+};
+
+const struct SpriteTemplate gUnknown_08595BC8 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AB0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BC94,
+};
+
+const union AnimCmd gUnknown_08595BE0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(6, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595C00[] =
+{
+ gUnknown_08595BE0,
+};
+
+const struct SpriteTemplate gUnknown_08595C04 =
+{
+ .tileTag = ANIM_TAG_ICE_SPIKES,
+ .paletteTag = ANIM_TAG_ICE_SPIKES,
+ .oam = &gUnknown_08524A64,
+ .anims = gUnknown_08595C00,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BE48,
+};
+
+const union AnimCmd gUnknown_08595C1C[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595C28[] =
+{
+ gUnknown_08595C1C,
+};
+
+const struct SpriteTemplate gUnknown_08595C2C =
+{
+ .tileTag = ANIM_TAG_MIST_CLOUD,
+ .paletteTag = ANIM_TAG_MIST_CLOUD,
+ .oam = &gUnknown_08524A54,
+ .anims = gUnknown_08595C28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BED0,
+};
+
+const struct SpriteTemplate gUnknown_08595C44 =
+{
+ .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .oam = &gUnknown_08524A54,
+ .anims = gUnknown_08595C28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BED0,
+};
+
+const u8 gUnknown_08595C5C[] =
+{
+ 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9,
+};
+
+const struct SpriteTemplate gUnknown_08595C70 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810C2F0,
+};
+
+const u8 gUnknown_08595C88[] =
+{
+ 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,
+};
+
+const struct SpriteTemplate gUnknown_08595C9C =
+{
+ .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .oam = &gUnknown_08524A54,
+ .anims = gUnknown_08595C28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810C560,
+};
+
+const u8 gUnknown_08595CB4[][4] =
+{
+ {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},
+};
+
+const union AffineAnimCmd gUnknown_08595CDC[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595CEC[] =
+{
+ AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595CFC[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595D0C[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595D1C[] =
+{
+ gUnknown_08595CDC,
+ gUnknown_08595CEC,
+ gUnknown_08595CFC,
+};
+
+const union AffineAnimCmd *const gUnknown_08595D28[] =
+{
+ gUnknown_08595D0C,
+};
+
+const struct SpriteTemplate gUnknown_08595D2C =
+{
+ .tileTag = ANIM_TAG_HAIL,
+ .paletteTag = ANIM_TAG_HAIL,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595D1C,
+ .callback = sub_810CB58,
+};
+
+const struct SpriteTemplate gUnknown_08595D44 =
+{
+ .tileTag = ANIM_TAG_HAIL,
+ .paletteTag = ANIM_TAG_HAIL,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595D28,
+ .callback = sub_80A8EE4,
+};
+
+const union AnimCmd gUnknown_08595D5C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595D64[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595D78[] =
+{
+ gUnknown_08595D5C,
+ gUnknown_08595D64,
+};
+
+const union AffineAnimCmd gUnknown_08595D80[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595D90[] =
+{
+ AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595DA0[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595DB0[] =
+{
+ AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595DC0[] =
+{
+ AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595DD0[] =
+{
+ gUnknown_08595D80,
+ gUnknown_08595D90,
+ gUnknown_08595DA0,
+ gUnknown_08595DB0,
+ gUnknown_08595DC0,
+};
+
+const struct SpriteTemplate gUnknown_08595DE4 =
+{
+ .tileTag = ANIM_TAG_ICE_CHUNK,
+ .paletteTag = ANIM_TAG_ICE_CHUNK,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08595D78,
+ .images = NULL,
+ .affineAnims = gUnknown_08595DD0,
+ .callback = unc_080B06FC,
+};
+
+const struct SpriteTemplate gUnknown_08595DFC =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810CD4C,
+};
diff --git a/src/international_string_util.c b/src/international_string_util.c
index 9de338c59..a7c42c39e 100644
--- a/src/international_string_util.c
+++ b/src/international_string_util.c
@@ -1,40 +1,46 @@
#include "global.h"
-#include "text.h"
#include "international_string_util.h"
+#include "list_menu.h"
+#include "pokedex.h"
+#include "script_menu.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
+#include "window.h"
-extern s32 convert_pixel_width_to_tile_width(s32 a0); // script menu
+extern const struct PokedexEntry gPokedexEntries[];
-s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth)
+int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth)
{
return GetStringCenterAlignXOffsetWithLetterSpacing(fontId, str, totalWidth, 0);
}
-s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth)
+int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth)
{
return GetStringWidthDifference(fontId, str, totalWidth, 0);
}
-s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing)
+int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int totalWidth, int letterSpacing)
{
return GetStringWidthDifference(fontId, str, totalWidth, letterSpacing) / 2;
}
-s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing)
+int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing)
{
- s32 stringWidth = GetStringWidth(fontId, str, letterSpacing);
+ int stringWidth = GetStringWidth(fontId, str, letterSpacing);
if (totalWidth > stringWidth)
return totalWidth - stringWidth;
else
return 0;
}
-s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1)
+int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1)
{
- s32 i, var;
+ int i, var;
for (var = 0, i = 0; i < arg1; i++)
{
- s32 stringWidth = GetStringWidth(1, str[i].text, 0);
+ int stringWidth = GetStringWidth(1, str[i].text, 0);
if (stringWidth > var)
var = stringWidth;
}
@@ -42,16 +48,192 @@ s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1)
return convert_pixel_width_to_tile_width(var);
}
-s32 sub_81DB3D8(const struct MenuAction *str, const u8* arg1, s32 arg2)
+int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
{
- s32 i, var;
+ int i, var;
for (var = 0, i = 0; i < arg2; i++)
{
- s32 stringWidth = GetStringWidth(1, str[arg1[i]].text, 0);
+ int stringWidth = GetStringWidth(1, str[arg1[i]].text, 0);
if (stringWidth > var)
var = stringWidth;
}
return convert_pixel_width_to_tile_width(var);
}
+
+int sub_81DB41C(const struct ListMenuTemplate *listMenu)
+{
+ int i, maxWidth, finalWidth;
+ const struct ListMenuItem *items = listMenu->items;
+
+ maxWidth = 0;
+ for (i = 0; i < listMenu->totalItems; i++)
+ {
+ int width = GetStringWidth(listMenu->fontId, items[i].name, 0);
+ if (width > maxWidth)
+ maxWidth = width;
+ }
+
+ finalWidth = maxWidth + listMenu->item_X + 9;
+ if (finalWidth < 0)
+ finalWidth += 7;
+
+ finalWidth >>= 3;
+ if (finalWidth > 28)
+ finalWidth = 28;
+
+ return finalWidth;
+}
+
+void CopyMonCategoryText(int dexNum, u8 *dest)
+{
+ u8 *str = StringCopy(dest, gPokedexEntries[dexNum].categoryName);
+ *str = CHAR_SPACE;
+ StringCopy(str + 1, gText_Pokemon);
+}
+
+u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth)
+{
+ u8 *buffer;
+ int width;
+ int clearWidth;
+
+ if (str2)
+ {
+ buffer = StringCopy(str, str2);
+ width = GetStringWidth(fontId, str2, 0);
+ }
+ else
+ {
+ buffer = str;
+ width = 0;
+ }
+
+ clearWidth = totalStringWidth - width;
+ if (clearWidth > 0)
+ {
+ *buffer = EXT_CTRL_CODE_BEGIN;
+ buffer++;
+ *buffer = EXT_CTRL_CODE_CLEAR;
+ buffer++;
+ *buffer = clearWidth;
+ buffer++;
+ *buffer = EOS;
+ }
+
+ return buffer;
+}
+
+void PadNameString(u8 *dest, u8 padChar)
+{
+ u8 length;
+
+ StripExtCtrlCodes(dest);
+ length = StringLength(dest);
+ if (padChar == EXT_CTRL_CODE_BEGIN)
+ {
+ while (length < PLAYER_NAME_LENGTH - 1)
+ {
+ dest[length] = EXT_CTRL_CODE_BEGIN;
+ dest[length + 1] = EXT_CTRL_CODE_UNKNOWN_7;
+ length += 2;
+ }
+ }
+ else
+ {
+ while (length < PLAYER_NAME_LENGTH - 1)
+ {
+ dest[length] = padChar;
+ length++;
+ }
+ }
+
+ dest[length] = EOS;
+}
+
+void sub_81DB52C(u8 *str)
+{
+ if (StringLength(str) < PLAYER_NAME_LENGTH - 1)
+ ConvertInternationalString(str, LANGUAGE_JAPANESE);
+ else
+ StripExtCtrlCodes(str);
+}
+
+void sub_81DB554(u8 *str, u8 arg1)
+{
+ u8 *buffer;
+ if (StringLength(str) < PLAYER_NAME_LENGTH - 1)
+ {
+ ConvertInternationalString(str, LANGUAGE_JAPANESE);
+ }
+ else if (arg1 == EXT_CTRL_CODE_BEGIN)
+ {
+ StripExtCtrlCodes(str);
+ }
+ else
+ {
+ buffer = str;
+ while (buffer[1] != EOS)
+ buffer++;
+
+ while (buffer >= str && buffer[0] == arg1)
+ {
+ buffer[0] = EOS;
+ buffer--;
+ }
+ }
+}
+
+void sub_81DB5AC(u8 *str)
+{
+ if (*str++ == EXT_CTRL_CODE_BEGIN && *str++ == EXT_CTRL_CODE_JPN)
+ {
+ while (*str != EOS)
+ {
+ if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_ENG)
+ return;
+
+ str++;
+ }
+
+ *str++ = EXT_CTRL_CODE_BEGIN;
+ *str++ = EXT_CTRL_CODE_ENG;
+ *str = EOS;
+ }
+}
+
+void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language)
+{
+ StringCopy(dest, src);
+ ConvertInternationalString(dest, language);
+}
+
+int sub_81DB604(u8 *str)
+{
+ if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN)
+ return LANGUAGE_JAPANESE;
+ else
+ return LANGUAGE_ENGLISH;
+}
+
+void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows)
+{
+ u8 *windowTileData;
+ int fillSize, windowRowSize, rowsToFill;
+ struct Window *window = &gWindows[windowId];
+
+ fillSize = numFillTiles * TILE_SIZE_4BPP;
+ windowRowSize = window->window.width * TILE_SIZE_4BPP;
+ windowTileData = window->tileData + (rowStart * windowRowSize) + (columnStart * TILE_SIZE_4BPP);
+ if (numRows > 0)
+ {
+ rowsToFill = numRows;
+ while (rowsToFill)
+ {
+ CpuFastFill8(0x11, windowTileData, fillSize);
+ windowTileData += windowRowSize;
+ rowsToFill--;
+ }
+ }
+}
diff --git a/src/intro.c b/src/intro.c
index fe5c012b0..5a0e13869 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -43,24 +43,24 @@ struct GcmbStruct gMultibootProgramStruct;
//.rodata
static const u16 gIntro1DropsPal[] = INCBIN_U16("graphics/intro/intro1_drops.gbapal");
static const u16 gIntro1GFLogoPal[] = INCBIN_U16("graphics/intro/intro1_gflogo.gbapal");
-static const u8 gIntroTiles[] = INCBIN_U8("graphics/intro/intro.4bpp.lz");
+static const u32 gIntroTiles[] = INCBIN_U32("graphics/intro/intro.4bpp.lz");
static const u16 gIntro1BGPals[16][16] = INCBIN_U16("graphics/intro/intro1_bgpal.gbapal");
-static const u8 gIntro1BG0_Tilemap[] = INCBIN_U8("graphics/intro/intro1_bg0_map.bin.lz");
-static const u8 gIntro1BG1_Tilemap[] = INCBIN_U8("graphics/intro/intro1_bg1_map.bin.lz");
-static const u8 gIntro1BG2_Tilemap[] = INCBIN_U8("graphics/intro/intro1_bg2_map.bin.lz");
-static const u8 gIntro1BG3_Tilemap[] = INCBIN_U8("graphics/intro/intro1_bg3_map.bin.lz");
-static const u8 gIntro1BGLeavesGfx[] = INCBIN_U8("graphics/intro/introgfx.4bpp.lz");
+static const u32 gIntro1BG0_Tilemap[] = INCBIN_U32("graphics/intro/intro1_bg0_map.bin.lz");
+static const u32 gIntro1BG1_Tilemap[] = INCBIN_U32("graphics/intro/intro1_bg1_map.bin.lz");
+static const u32 gIntro1BG2_Tilemap[] = INCBIN_U32("graphics/intro/intro1_bg2_map.bin.lz");
+static const u32 gIntro1BG3_Tilemap[] = INCBIN_U32("graphics/intro/intro1_bg3_map.bin.lz");
+static const u32 gIntro1BGLeavesGfx[] = INCBIN_U32("graphics/intro/introgfx.4bpp.lz");
static const u16 gIntro3PokeballPal[] = INCBIN_U16("graphics/intro/intro3_pokeball.gbapal");
-static const u8 gIntro3Pokeball_Tilemap[] = INCBIN_U8("graphics/intro/intro3_pokeball_map.bin.lz");
-static const u8 gIntro3Pokeball_Gfx[] = INCBIN_U8("graphics/intro/intro3_pokeball.8bpp.lz");
+static const u32 gIntro3Pokeball_Tilemap[] = INCBIN_U32("graphics/intro/intro3_pokeball_map.bin.lz");
+static const u32 gIntro3Pokeball_Gfx[] = INCBIN_U32("graphics/intro/intro3_pokeball.8bpp.lz");
static const u16 gIntro3Streaks_Pal_Unused[] = INCBIN_U16("graphics/intro/intro3_streaks.gbapal");
-static const u8 gIntro3Streaks_Gfx_Unused[] = INCBIN_U8("graphics/intro/intro3_streaks.4bpp.lz");
-static const u8 gIntro3Streaks_Tilemap_Unused[] = INCBIN_U8("graphics/intro/intro3_streaks_map.bin.lz");
+static const u32 gIntro3Streaks_Gfx_Unused[] = INCBIN_U32("graphics/intro/intro3_streaks.4bpp.lz");
+static const u32 gIntro3Streaks_Tilemap_Unused[] = INCBIN_U32("graphics/intro/intro3_streaks_map.bin.lz");
static const u16 gIntro3Misc1Palette[] = INCBIN_U16("graphics/intro/intro3_misc1.gbapal");
static const u16 gIntro3Misc2Palette_Unused[] = INCBIN_U16("graphics/intro/intro3_misc2.gbapal");
-static const u8 gIntro3MiscTiles[] = INCBIN_U8("graphics/intro/intro3_misc.4bpp.lz");
+static const u32 gIntro3MiscTiles[] = INCBIN_U32("graphics/intro/intro3_misc.4bpp.lz");
static const u16 gIntro1FlygonPalette[] = INCBIN_U16("graphics/intro/intro1_flygon.gbapal");
-static const u8 gIntro1EonTiles_Unused[] = INCBIN_U8("graphics/intro/intro1_eon.4bpp.lz");
+static const u32 gIntro1EonTiles_Unused[] = INCBIN_U32("graphics/intro/intro1_eon.4bpp.lz");
static const u8 sUnknownBytes[] = {
0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x02, 0x0D,
0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x02, 0x0D, 0x0E, 0x0F,
@@ -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_058)]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_058)]);
+ LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]);
+ LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]);
CpuCopy16(gIntro3BgPal, gPlttBufferUnfaded, sizeof(gIntro3BgPal));
gTasks[taskId].func = Task_IntroLoadPart1Graphics4;
}
diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c
index d570b2992..20a360901 100644
--- a/src/intro_credits_graphics.c
+++ b/src/intro_credits_graphics.c
@@ -21,36 +21,36 @@ struct IntroCreditsSpriteMetadata
static const u16 gUnknown_085F06E0[] = INCBIN_U16("graphics/intro/intro2_grass.gbapal");
static const u16 gUnknown_085F0700[] = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal");
static const u16 gUnknown_085F0720[] = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal");
-static const u8 gUnknown_085F0740[] = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz");
-static const u8 gUnknown_085F0BC0[] = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz");
+static const u32 gUnknown_085F0740[] = INCBIN_U32("graphics/intro/intro2_grass.4bpp.lz");
+static const u32 gUnknown_085F0BC0[] = INCBIN_U32("graphics/intro/intro2_grass_map.bin.lz");
static const u16 gUnknown_085F0CFC[] = INCBIN_U16("graphics/intro/85F0CFC.gbapal");
static const u16 gUnknown_085F0D5C[] = INCBIN_U16("graphics/intro/85F0D5C.gbapal");
-static const u8 gUnknown_085F0DBC[] = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz");
-static const u8 gUnknown_085F1398[] = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz");
+static const u32 gUnknown_085F0DBC[] = INCBIN_U32("graphics/intro/intro2_bgclouds.4bpp.lz");
+static const u32 gUnknown_085F1398[] = INCBIN_U32("graphics/intro/intro2_bgclouds_map.bin.lz");
static const u16 gUnknown_085F1668[] = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal");
static const u16 gUnknown_085F1688[] = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal");
-static const u8 gUnknown_085F16A8[] = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz");
+static const u32 gUnknown_085F16A8[] = INCBIN_U32("graphics/intro/intro2_bgclouds2.4bpp.lz");
static const u16 gUnknown_085F17E4[] = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal");
static const u16 gUnknown_085F1804[] = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal");
-static const u8 gUnknown_085F1824[] = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz");
-static const u8 gUnknown_085F1EAC[] = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz");
+static const u32 gUnknown_085F1824[] = INCBIN_U32("graphics/intro/intro2_bgtrees.4bpp.lz");
+static const u32 gUnknown_085F1EAC[] = INCBIN_U32("graphics/intro/intro2_bgtrees_map.bin.lz");
static const u16 gUnknown_085F21B0[] = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal");
-static const u8 gIntro2TreeTiles[] = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz");
+static const u32 gIntro2TreeTiles[] = INCBIN_U32("graphics/intro/intro2_bgtreessmall.4bpp.lz");
static const u16 gUnknown_085F231C[] = INCBIN_U16("graphics/intro/85F231C.gbapal");
-static const u8 gUnknown_085F235C[] = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz");
+static const u32 gUnknown_085F235C[] = INCBIN_U32("graphics/intro/intro2_bgnight.4bpp.lz");
static const u16 gUnknown_085F2548[] = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal");
-static const u8 gUnknown_085F2568[] = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz");
-static const u8 gIntro2NightTiles[] = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz");
+static const u32 gUnknown_085F2568[] = INCBIN_U32("graphics/intro/intro2_bgnight_map.bin.lz");
+static const u32 gIntro2NightTiles[] = INCBIN_U32("graphics/intro/intro2_night.4bpp.lz");
static const u16 gIntro2BrendanPalette[] = INCBIN_U16("graphics/intro/intro2_brendan.gbapal");
-static const u8 gIntro2BrendanTiles[] = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz");
+static const u32 gIntro2BrendanTiles[] = INCBIN_U32("graphics/intro/intro2_brendan.4bpp.lz");
static const u16 gIntro2MayPalette[] = INCBIN_U16("graphics/intro/intro2_may.gbapal");
static const u16 gUnknown_085F3490[0xF0] = {0};
-static const u8 gIntro2MayTiles[] = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz");
-static const u8 gIntro2BicycleTiles[] = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz");
+static const u32 gIntro2MayTiles[] = INCBIN_U32("graphics/intro/intro2_may.4bpp.lz");
+static const u32 gIntro2BicycleTiles[] = INCBIN_U32("graphics/intro/intro2_bicycle.4bpp.lz");
static const u16 gIntro2LatiosPalette[] = INCBIN_U16("graphics/intro/intro2_latios.gbapal");
-static const u8 gIntro2LatiosTiles[] = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz");
+static const u32 gIntro2LatiosTiles[] = INCBIN_U32("graphics/intro/intro2_latios.4bpp.lz");
static const u16 gIntro2LatiasPalette[] = INCBIN_U16("graphics/intro/intro2_latias.gbapal");
-static const u8 gIntro2LatiasTiles[] = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz");
+static const u32 gIntro2LatiasTiles[] = INCBIN_U32("graphics/intro/intro2_latias.4bpp.lz");
static void sub_817B62C(struct Sprite *sprite);
static void nullsub_65(struct Sprite *sprite);
@@ -331,23 +331,23 @@ static void sub_817B458(u8);
void load_intro_part2_graphics(u8 a)
{
- LZ77UnCompVram(&gUnknown_085F0740, (void *)(VRAM + 0x4000));
- LZ77UnCompVram(&gUnknown_085F0BC0, (void *)(VRAM + 0x7800));
+ LZ77UnCompVram(gUnknown_085F0740, (void *)(VRAM + 0x4000));
+ LZ77UnCompVram(gUnknown_085F0BC0, (void *)(VRAM + 0x7800));
LoadPalette(&gUnknown_085F06E0, 240, 32);
switch (a)
{
case 0:
default:
- LZ77UnCompVram(&gUnknown_085F0DBC, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_085F1398, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM));
+ LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F0CFC, 0, 96);
LoadCompressedObjectPic(gUnknown_085F5064);
LoadPalette(&gUnknown_085F1668, 256, 32);
sub_817B76C();
break;
case 1:
- LZ77UnCompVram(&gUnknown_085F1824, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gUnknown_085F1824, (void *)(VRAM));
+ LZ77UnCompVram(gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F17E4, 0, 32);
LoadCompressedObjectPic(gUnknown_085F50EC);
LoadPalette(&gUnknown_085F21B0, 256, 32);
@@ -437,36 +437,36 @@ void sub_817B150(u8 a)
void sub_817B1C8(u8 a)
{
- LZ77UnCompVram(&gUnknown_085F0740, (void *)(VRAM + 0x4000));
- LZ77UnCompVram(&gUnknown_085F0BC0, (void *)(VRAM + 0x7800));
+ LZ77UnCompVram(gUnknown_085F0740, (void *)(VRAM + 0x4000));
+ LZ77UnCompVram(gUnknown_085F0BC0, (void *)(VRAM + 0x7800));
switch (a)
{
case 0:
default:
LoadPalette(&gUnknown_085F06E0, 240, 32);
- LZ77UnCompVram(&gUnknown_085F0DBC, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_085F1398, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM));
+ LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F0CFC, 0, 96);
LoadCompressedObjectPic(gUnknown_085F5064);
- LZ77UnCompVram(&gUnknown_085F16A8, (void *)(VRAM + 0x10000));
+ LZ77UnCompVram(gUnknown_085F16A8, (void *)(VRAM + 0x10000));
LoadPalette(&gUnknown_085F1668, 256, 32);
sub_817B76C();
break;
case 1:
LoadPalette(&gUnknown_085F0700, 240, 32);
- LZ77UnCompVram(&gUnknown_085F0DBC, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_085F1398, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM));
+ LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F0D5C, 0, 96);
LoadCompressedObjectPic(gUnknown_085F5064);
- LZ77UnCompVram(&gUnknown_085F16A8, (void *)(VRAM + 0x10000));
+ LZ77UnCompVram(gUnknown_085F16A8, (void *)(VRAM + 0x10000));
LoadPalette(&gUnknown_085F1688, 256, 32);
sub_817B76C();
break;
case 2:
case 3:
LoadPalette(&gUnknown_085F0700, 240, 32);
- LZ77UnCompVram(&gUnknown_085F1824, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gUnknown_085F1824, (void *)(VRAM));
+ LZ77UnCompVram(gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F1804, 0, 32);
LoadCompressedObjectPic(gUnknown_085F50EC);
LoadPalette(&gUnknown_085F1804, 256, 32);
@@ -474,8 +474,8 @@ void sub_817B1C8(u8 a)
break;
case 4:
LoadPalette(&gUnknown_085F0720, 240, 32);
- LZ77UnCompVram(&gUnknown_085F235C, (void *)(VRAM));
- LZ77UnCompVram(&gUnknown_085F2568, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gUnknown_085F235C, (void *)(VRAM));
+ LZ77UnCompVram(gUnknown_085F2568, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F231C, 0, 64);
LoadCompressedObjectPic(gUnknown_085F5180);
LoadPalette(&gUnknown_085F2548, 256, 32);
diff --git a/src/item.c b/src/item.c
index b4a2fd6f0..6d2dbd561 100644
--- a/src/item.c
+++ b/src/item.c
@@ -1,7 +1,6 @@
#include "global.h"
#include "item.h"
#include "berry.h"
-#include "constants/items.h"
#include "string_util.h"
#include "text.h"
#include "event_data.h"
@@ -10,11 +9,13 @@
#include "item_menu.h"
#include "strings.h"
#include "load_save.h"
+#include "item_use.h"
+#include "battle_pyramid.h"
#include "battle_pyramid_bag.h"
+#include "constants/items.h"
+#include "constants/hold_effects.h"
-extern bool8 InBattlePyramid(void);
extern u16 gUnknown_0203CF30[];
-extern const struct Item gItems[];
// this file's functions
static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count);
@@ -23,6 +24,10 @@ static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count);
// EWRAM variables
EWRAM_DATA struct BagPocket gBagPockets[POCKETS_COUNT] = {0};
+// rodata
+#include "data/text/item_descriptions.h"
+#include "data/items.h"
+
// code
static u16 GetBagItemQuantity(u16 *quantity)
{
diff --git a/src/item_icon.c b/src/item_icon.c
index 68ec1daf0..41c6589f5 100644
--- a/src/item_icon.c
+++ b/src/item_icon.c
@@ -1,16 +1,17 @@
#include "global.h"
+#include "decompress.h"
+#include "graphics.h"
#include "item_icon.h"
#include "malloc.h"
#include "sprite.h"
-#include "decompress.h"
#include "constants/items.h"
-#include "data/item_icon_table.h"
// EWRAM vars
EWRAM_DATA void *gItemIconDecompressionBuffer = NULL;
EWRAM_DATA void *gItemIcon4x4Buffer = NULL;
// const rom data
+#include "data/item_icon_table.h"
static const struct OamData sOamData_ItemIcon =
{
diff --git a/src/item_menu.c b/src/item_menu.c
index bb619cac8..1744a1bfa 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -2,7 +2,7 @@
#include "item_menu.h"
#include "battle.h"
#include "battle_controllers.h"
-#include "battle_frontier_2.h"
+#include "frontier_util.h"
#include "berry_tag_screen.h"
#include "bg.h"
#include "constants/items.h"
@@ -47,6 +47,7 @@
#include "menu_helpers.h"
#include "window.h"
#include "apprentice.h"
+#include "battle_pike.h"
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
void CB2_Bag(void);
@@ -268,7 +269,7 @@ const u8 gUnknown_08614164[][3] = {
const struct WindowTemplate gUnknown_08614174[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 14,
.tilemapTop = 2,
.width = 15,
@@ -277,7 +278,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.baseBlock = 0x27,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
.width = 14,
@@ -286,7 +287,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.baseBlock = 0x117,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 4,
.tilemapTop = 1,
.width = 8,
@@ -295,7 +296,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.baseBlock = 0x1A1,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 13,
.width = 5,
@@ -304,7 +305,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.baseBlock = 0x16B,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 7,
.tilemapTop = 13,
.width = 4,
@@ -313,7 +314,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.baseBlock = 0x189,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -327,7 +328,7 @@ const struct WindowTemplate gUnknown_08614174[] =
const struct WindowTemplate gUnknown_086141AC[] =
{
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 22,
.tilemapTop = 17,
.width = 7,
@@ -336,7 +337,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 22,
.tilemapTop = 15,
.width = 7,
@@ -345,7 +346,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 15,
.tilemapTop = 15,
.width = 14,
@@ -354,7 +355,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 15,
.tilemapTop = 13,
.width = 14,
@@ -363,7 +364,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -372,7 +373,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x1B1,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 24,
.tilemapTop = 15,
.width = 5,
@@ -381,7 +382,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 21,
.tilemapTop = 9,
.width = 5,
@@ -390,7 +391,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 24,
.tilemapTop = 17,
.width = 5,
@@ -399,7 +400,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x21D,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 18,
.tilemapTop = 11,
.width = 10,
@@ -408,7 +409,7 @@ const struct WindowTemplate gUnknown_086141AC[] =
.baseBlock = 0x245,
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 10,
@@ -445,7 +446,6 @@ EWRAM_DATA u16 gSpecialVar_ItemId = 0;
EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0;
extern u8 *gPocketNamesStringsTable[];
-extern u8 gUnknown_08D9A88C[];
extern struct ListMenuTemplate gUnknown_08613F9C;
extern const u8 gMoveNames[][0xD];
extern u8* gReturnToXStringsTable[];
@@ -1029,7 +1029,7 @@ void DisplayItemMessage(u8 taskId, u8 fontId, const u8 *str, void ( *callback)(u
data[10] = AddItemMessageWindow(4);
FillWindowPixelBuffer(data[10], 17);
- DisplayMessageAndContinueTask(taskId, data[10], 10, 13, fontId, GetPlayerTextSpeed(), str, callback);
+ DisplayMessageAndContinueTask(taskId, data[10], 10, 13, fontId, GetPlayerTextSpeedDelay(), str, callback);
schedule_bg_copy_tilemap_to_vram(1);
}
@@ -1543,7 +1543,7 @@ void Task_HandleInBattleItemMenuInput(u8 taskId)
{
if (sub_81221EC() != TRUE)
{
- s8 r4 = Menu_ProcessInputNoWrapAround();
+ s8 r4 = Menu_ProcessInputNoWrap();
switch (r4)
{
case -2:
diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c
index 5dd5fd31d..85b42b9b3 100644
--- a/src/item_menu_icons.c
+++ b/src/item_menu_icons.c
@@ -8,23 +8,15 @@
#include "menu_helpers.h"
#include "berry.h"
#include "graphics.h"
-#include "constants/items.h"
#include "item.h"
-#include "item_use.h"
-#include "constants/hold_effects.h"
+#include "constants/items.h"
struct CompressedTilesPal
{
- const u8 *tiles;
- const u8 *pal;
+ const u32 *tiles;
+ const u32 *pal;
};
-extern void DoHorizontalLunge(struct Sprite *sprite);
-extern void DoVerticalDip(struct Sprite *sprite);
-extern void SlideMonToOriginalPos(struct Sprite *sprite);
-extern void SlideMonToOffset(struct Sprite *sprite);
-extern void sub_80D5B48(struct Sprite *sprite);
-
// this file's functions
static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite);
static void SpriteCB_ShakeBagVisual(struct Sprite *sprite);
@@ -414,64 +406,6 @@ static const struct SpriteTemplate gUnknown_0857FE10 =
.callback = SpriteCallbackDummy,
};
-const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = DoHorizontalLunge,
-};
-
-const struct SpriteTemplate gVerticalDipSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = DoVerticalDip,
-};
-
-const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SlideMonToOriginalPos,
-};
-
-const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SlideMonToOffset,
-};
-
-const struct SpriteTemplate gUnknown_0857FE88 =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80D5B48,
-};
-
-#include "data/text/item_descriptions.h"
-#include "data/items.h"
-
// code
void RemoveBagSprite(u8 id)
{
diff --git a/src/item_use.c b/src/item_use.c
index 133dd844f..e840e0859 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -58,7 +58,7 @@ extern void sub_81C5924(void);
extern void sub_81C59BC(void);
extern void sub_81AB9A8(u8);
extern void sub_81ABA88(u8);
-extern void sub_80B7CC8(void);
+extern void StartEscapeRopeFieldEffect(void);
extern u8* sub_806CF78(u16);
extern void sub_81B89F0(void);
extern u8 GetItemEffectType(u16);
@@ -260,7 +260,7 @@ bool32 CanFish(void)
if (MetatileBehavior_IsWaterfall(tileBehavior))
return FALSE;
- if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4))
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER))
return FALSE;
if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
@@ -890,7 +890,7 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId)
void task08_080A1C44(u8 taskId)
{
ResetInitialPlayerAvatarState();
- sub_80B7CC8();
+ StartEscapeRopeFieldEffect();
DestroyTask(taskId);
}
diff --git a/src/learn_move.c b/src/learn_move.c
index ff23cb3dc..7717a5193 100644
--- a/src/learn_move.c
+++ b/src/learn_move.c
@@ -377,7 +377,7 @@ static void LearnMoveMain(void)
break;
case 9:
{
- s8 selection = Menu_ProcessInputNoWrap_();
+ s8 selection = Menu_ProcessInputNoWrapClearOnChoose();
if (selection == 0)
{
@@ -414,7 +414,7 @@ static void LearnMoveMain(void)
break;
case 13:
{
- s8 selection = Menu_ProcessInputNoWrap_();
+ s8 selection = Menu_ProcessInputNoWrapClearOnChoose();
if (selection == 0)
{
@@ -447,7 +447,7 @@ static void LearnMoveMain(void)
break;
case 18:
{
- s8 var = Menu_ProcessInputNoWrap_();
+ s8 var = Menu_ProcessInputNoWrapClearOnChoose();
if (var == 0)
{
@@ -474,7 +474,7 @@ static void LearnMoveMain(void)
break;
case 26:
{
- s8 var = Menu_ProcessInputNoWrap_();
+ s8 var = Menu_ProcessInputNoWrapClearOnChoose();
if (var == 0)
{
diff --git a/src/librfu_stwi.c b/src/librfu_stwi.c
index 21d38bb38..556b79bf8 100644
--- a/src/librfu_stwi.c
+++ b/src/librfu_stwi.c
@@ -246,7 +246,7 @@ void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3)
if (!STWI_init(RFU_SYSTEM_CONFIG))
{
u8 *packetBytes;
-
+
gRfuState->txParams = 1;
packetBytes = gRfuState->txPacket->rfuPacket8.data;
@@ -348,7 +348,7 @@ void STWI_send_DataTxREQ(void *in, u8 size)
u8 txParams = (size / sizeof(u32));
if (size & (sizeof(u32) - 1))
txParams += 1;
-
+
gRfuState->txParams = txParams;
CpuCopy32(in, gRfuState->txPacket->rfuPacket32.data, gRfuState->txParams * sizeof(u32));
STWI_start_Command();
@@ -469,11 +469,11 @@ void STWI_send_CPR_StartREQ(u16 unk0, u16 unk1, u8 unk2)
{
u32 *packetData;
u32 arg1;
-
+
if (!STWI_init(RFU_CPR_START))
{
gRfuState->txParams = 2;
-
+
arg1 = unk1 | (unk0 << 16);
packetData = gRfuState->txPacket->rfuPacket32.data;
packetData[0] = arg1;
@@ -569,7 +569,7 @@ void STWI_set_timer(u8 unk)
void STWI_stop_timer(void)
{
gRfuState->timerState = 0;
-
+
REG_TMCNT_L(gRfuState->timerSelect) = 0;
REG_TMCNT_H(gRfuState->timerSelect) = 0;
}
@@ -612,7 +612,7 @@ u16 STWI_init(u8 request)
gRfuState->timerActive = 0;
gRfuState->unk_12 = 0;
gRfuState->unk_15 = 0;
-
+
REG_RCNT = 0x100;
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS;
return FALSE;
@@ -622,22 +622,22 @@ u16 STWI_init(u8 request)
int STWI_start_Command()
{
u16 imeTemp;
-
+
// Yes, it matters that it's casted to a u32...
*(u32*)gRfuState->txPacket->rfuPacket8.data = 0x99660000 | (gRfuState->txParams << 8) | gRfuState->activeCommand;
REG_SIODATA32 = gRfuState->txPacket->rfuPacket32.command;
-
+
gRfuState->unk_0 = 0;
gRfuState->unk_5 = 1;
-
+
imeTemp = REG_IME;
REG_IME = 0;
REG_IE |= (INTR_FLAG_TIMER0 << gRfuState->timerSelect);
REG_IE |= INTR_FLAG_SERIAL;
REG_IME = imeTemp;
-
+
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_MULTI_BUSY | SIO_115200_BPS;
-
+
return 0;
}
@@ -654,7 +654,7 @@ int STWI_restart_Command(void)
{
gRfuState->unk_12 = 1;
gRfuState->unk_2c = 0;
-
+
if (gRfuState->callbackM)
gRfuState->callbackM(gRfuState->activeCommand, gRfuState->unk_12);
}
@@ -662,18 +662,18 @@ int STWI_restart_Command(void)
{
gRfuState->unk_12 = 1;
gRfuState->unk_2c = 0;
-
+
if (gRfuState->callbackM)
gRfuState->callbackM(gRfuState->activeCommand, gRfuState->unk_12);
-
+
gRfuState->unk_0 = 4; //TODO: what's 4
}
}
-
+
return 0;
}
-int STWI_reset_ClockCounter()
+int STWI_reset_ClockCounter(void)
{
gRfuState->unk_0 = 5; //TODO: what is 5
gRfuState->txParams = 0;
@@ -682,6 +682,6 @@ int STWI_reset_ClockCounter()
REG_SIOCNT = 0;
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS;
REG_SIOCNT = (SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS) + 0x7F;
-
+
return 0;
}
diff --git a/src/link.c b/src/link.c
index 627327181..687a6c07b 100644
--- a/src/link.c
+++ b/src/link.c
@@ -172,8 +172,8 @@ static void SendRecvDone(void);
// .rodata
ALIGNED(4) const u16 gWirelessLinkDisplayPal[] = INCBIN_U16("graphics/interface/wireless_link_display.gbapal");
-const u8 gWirelessLinkDisplayGfx[] = INCBIN_U8("graphics/interface/wireless_link_display.4bpp.lz");
-const u8 gWirelessLinkDisplayTilemap[] = INCBIN_U8("graphics/interface/wireless_link_display.bin.lz");
+const u32 gWirelessLinkDisplayGfx[] = INCBIN_U32("graphics/interface/wireless_link_display.4bpp.lz");
+const u32 gWirelessLinkDisplayTilemap[] = INCBIN_U32("graphics/interface/wireless_link_display.bin.lz");
const u16 gLinkTestDigitsPal[] = INCBIN_U16("graphics/interface/link_test_digits.gbapal");
const u16 gLinkTestDigitsGfx[] = INCBIN_U16("graphics/interface/link_test_digits.4bpp");
const u8 unkstring_82ed160[] = _("{HIGHLIGHT TRANSPARENT}{COLOR WHITE}");
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 29256899d..308ad615c 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -1,26 +1,24 @@
-
-// Includes
#include "global.h"
-#include "malloc.h"
#include "battle.h"
#include "berry_blender.h"
-#include "task.h"
-#include "random.h"
#include "decompress.h"
-#include "text.h"
-#include "string_util.h"
#include "event_data.h"
-#include "overworld.h"
-#include "link.h"
+#include "gpu_regs.h"
#include "librfu.h"
-#include "rom_8011DC0.h"
+#include "link.h"
#include "link_rfu.h"
+#include "malloc.h"
+#include "overworld.h"
+#include "random.h"
+#include "palette.h"
+#include "rom_8011DC0.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "constants/species.h"
extern u16 gUnknown_03005DA8;
-
-// Static type declarations
-
-// Static RAM declarations
+extern void nullsub_89(u8 taskId);
struct UnkRfuStruct_1 gUnknown_03004140;
struct UnkRfuStruct_2 gUnknown_03005000;
@@ -32,12 +30,11 @@ IWRAM_DATA u16 gUnknown_03000D90[8];
EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0;
EWRAM_DATA ALIGNED(4) struct UnkLinkRfuStruct_02022B14 gUnknown_02022B14 = {};
-EWRAM_DATA ALIGNED(2) u8 gUnknown_02022B22[8] = {};
+EWRAM_DATA ALIGNED(2) u8 gUnknown_02022B22[PLAYER_NAME_LENGTH + 1] = {};
EWRAM_DATA struct UnkLinkRfuStruct_02022B2C gUnknown_02022B2C = {};
EWRAM_DATA struct UnkLinkRfuStruct_02022B44 gUnknown_02022B44 = {};
// Static ROM declarations
-
static void sub_800C000(void);
static void sub_800C7B4(u16 r8, u16 r6);
static void sub_800C744(u32 a0);
@@ -68,23 +65,26 @@ static void rfufunc_80FA020(void);
bool32 sub_8010454(u32 a0);
static void sub_8010528(void);
void sub_8010750(void);
-int sub_80107A0(void);
+s32 sub_80107A0(void);
void sub_801084C(u8 taskId);
void sub_80109E8(u16 a0);
void sub_8010A70(void *a0);
void sub_8010AAC(u8 taskId);
void sub_8010D0C(u8 taskId);
-void sub_80115EC(u16 a0);
+void sub_80115EC(s32 a0);
u8 sub_8011CE4(const u8 *a0, u16 a1);
-void sub_8011D6C(u8 a0);
-void sub_8011E94(u8 a0, u8 a1);
-u8 sub_8012224(void);
+void sub_8011D6C(u32 a0);
+void sub_8011E94(u32 a0, u32 a1);
+bool8 sub_8012224(void);
void sub_801227C(void);
+void sub_801209C(u8 taskId);
+void sub_8011BF8(void);
+void sub_8011BA4(void);
// .rodata
const u16 gWirelessLinkIconPalette[] = INCBIN_U16("graphics/interface/wireless_link_icon.gbapal");
-const u8 gWirelessLinkIconPic[] = INCBIN_U8("graphics/interface/wireless_link_icon.4bpp.lz");
+const u32 gWirelessLinkIconPic[] = INCBIN_U32("graphics/interface/wireless_link_icon.4bpp.lz");
const u8 sWireless_ASCIItoRSETable[] = {
0xff, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x37,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
@@ -308,6 +308,11 @@ const char gUnknown_082ED7EC[] = "PokemonSioInfo";
const char gUnknown_082ED7FC[] = "LINK LOSS DISCONNECT!";
const char gUnknown_082ED814[] = "LINK LOSS RECOVERY NOW";
+extern const char gUnknown_082ED82C[];
+extern const char gUnknown_082ED84B[];
+extern const char gUnknown_082ED85B[];
+extern const char gUnknown_082ED868[];
+
// .text
u32 sub_800BEC0(void)
@@ -352,7 +357,7 @@ void rfu_REQ_sendData_wrapper(u8 r2)
rfu_REQ_sendData(r2);
}
-int sub_800BF4C(void (*func1)(u8, u8), void (*func2)(u16))
+s32 sub_800BF4C(void (*func1)(u8, u8), void (*func2)(u16))
{
if (func1 == NULL)
{
@@ -474,7 +479,6 @@ u8 sub_800C054(u8 r5, u16 r7, u16 r8, const u16 *r6)
u8 sub_800C12C(u16 r6, u16 r8)
{
u8 i;
- struct RfuUnk5 *tmp;
if (gUnknown_03004140.unk_04 != 0 && (gUnknown_03004140.unk_04 < 9 || gUnknown_03004140.unk_04 > 11))
{
@@ -1685,8 +1689,8 @@ void sub_800D658(void)
void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
for (i = 0; i < 32; i++)
{
@@ -1703,8 +1707,8 @@ void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr)
void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
for (i = 0; i < 40; i++)
{
@@ -1721,8 +1725,8 @@ void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr)
void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
for (i = 0; i < 2; i++)
{
@@ -1739,7 +1743,7 @@ void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr)
void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
{
- int i;
+ s32 i;
u16 imeBak;
u8 count;
@@ -1779,7 +1783,7 @@ void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
{
- int i;
+ s32 i;
u16 imeBak;
if (q1->unk_232 < 40)
@@ -1818,7 +1822,7 @@ void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
{
u16 imeBak;
- int i;
+ s32 i;
imeBak = REG_IME;
REG_IME = 0;
@@ -1844,7 +1848,7 @@ bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
{
- int i;
+ s32 i;
u16 imeBak;
if (q1->unk_230 == q1->unk_231 || q1->unk_233 != 0)
@@ -1866,7 +1870,7 @@ bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2)
{
- int i;
+ s32 i;
if (q2[1] == 0)
{
@@ -1893,7 +1897,7 @@ void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2)
static bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2)
{
- int i;
+ s32 i;
if (q1->unk_1e == 0)
{
@@ -1914,7 +1918,7 @@ static bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2)
void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
{
- int i;
+ s32 i;
if (q1->unk_202 < 2)
{
@@ -1934,7 +1938,7 @@ void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
{
- int i;
+ s32 i;
if (q1->unk_200 == q1->unk_201 || q1->unk_203)
{
@@ -1952,7 +1956,7 @@ bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
void sub_800DBF8(u8 *q1, u8 mode)
{
- int i;
+ s32 i;
u8 rval;
u16 r5 = 0;
switch (mode)
@@ -1996,7 +2000,7 @@ void sub_800DBF8(u8 *q1, u8 mode)
void PkmnStrToASCII(u8 *q1, const u8 *q2)
{
- int i;
+ s32 i;
for (i = 0; q2[i] != EOS; i++)
{
@@ -2007,7 +2011,7 @@ void PkmnStrToASCII(u8 *q1, const u8 *q2)
void ASCIIToPkmnStr(u8 *q1, const u8 *q2)
{
- int i;
+ s32 i;
for (i = 0; q2[i] != 0; i++)
{
@@ -2020,20 +2024,17 @@ void ASCIIToPkmnStr(u8 *q1, const u8 *q2)
u8 sub_800DD1C(u8 maxFlags)
{
u8 flagCount = 0;
- u8 flags = gUnknown_03007890->unk_02;
+ u32 flags = gUnknown_03007890->unk_02;
u8 i;
if (gUnknown_03007890->unk_00 == 1)
{
- i = 0;
for (i = 0; i < 4; flags >>= 1, i++)
{
if (flags & 1)
{
if (maxFlags == flagCount + 1)
- {
return gUnknown_03007890->unk_0a[i];
- }
flagCount++;
}
}
@@ -2043,9 +2044,7 @@ u8 sub_800DD1C(u8 maxFlags)
for (i = 0; i < 4; flags >>= 1, i++)
{
if (flags & 1)
- {
return gUnknown_03007890->unk_0a[i];
- }
}
}
return 0;
@@ -2120,9 +2119,9 @@ NAKED u8 sub_800DD1C(u8 maxFlags)
}
#endif
-void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, int r3)
+void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r3)
{
- int i;
+ s32 i;
for (i = 0; i < 2; i++)
{
@@ -2156,12 +2155,12 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
if (sub_8010454(gUnknown_03007890->unk_14[idx].unk_04) && ((gUnknown_03007890->unk_07 >> idx) & 1))
{
memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, 0xD);
- memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memcpy(buff2, gUnknown_03007890->unk_14[idx].playerName, PLAYER_NAME_LENGTH + 1);
}
else
{
memset(buff1, 0, 0xD);
- memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].playerName));
}
}
else
@@ -2170,12 +2169,12 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
if (sub_8010454(gUnknown_03007890->unk_14[idx].unk_04))
{
memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, 0xD);
- memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memcpy(buff2, gUnknown_03007890->unk_14[idx].playerName, PLAYER_NAME_LENGTH + 1);
}
else
{
memset(buff1, 0, 0xD);
- memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memset(buff2, 0, PLAYER_NAME_LENGTH + 1);
}
}
return retVal;
@@ -2186,13 +2185,13 @@ bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
bool8 retVal = FALSE;
if (gUnknown_03007890->unk_14[idx].unk_04 == 0x7F7D)
{
- *buff1 = gUnknown_03007890->unk_14[idx].unk_06;
- memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, 8);
+ memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, 0xD);
+ memcpy(buff2, gUnknown_03007890->unk_14[idx].playerName, 8);
retVal = TRUE;
}
else
{
- *buff1 = (struct UnkLinkRfuStruct_02022B14){};
+ memset(buff1, 0, 0xD);
memset(buff2, 0, 8);
}
return retVal;
@@ -2200,7 +2199,7 @@ bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
void sub_800DF90(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2)
{
- *buff1 = gUnknown_02022B14;
+ memcpy(buff1, &gUnknown_02022B14, 0xD);
memcpy(buff2, gUnknown_02022B22, 8);
}
@@ -2266,7 +2265,7 @@ u8 sub_800E124(void)
return 0;
}
-void sub_800E15C(struct Sprite *sprite, int signalStrengthAnimNum)
+void sub_800E15C(struct Sprite *sprite, s32 signalStrengthAnimNum)
{
if (sprite->data[2] != signalStrengthAnimNum)
{
@@ -2356,7 +2355,7 @@ void sub_800E378(struct UnkSaveSubstruct_3b98 *dest, u32 trainerId, const u8 *na
bool32 sub_800E388(const u8 *name)
{
- int i;
+ s32 i;
for (i = 0; i < 8; i++)
{
@@ -2372,10 +2371,10 @@ void sub_800E3A8(void)
{
if (gWirelessCommType != 0)
{
- int i;
- int j;
- int cnt;
- int sp0[5];
+ s32 i;
+ s32 j;
+ s32 cnt;
+ s32 sp0[5];
struct UnkSaveSubstruct_3b98 *sp14 = calloc(20, sizeof(struct UnkSaveSubstruct_3b98));
for (i = 0; i < GetLinkPlayerCount(); i++)
{
@@ -2419,7 +2418,7 @@ void sub_800E3A8(void)
bool32 sub_800E540(u16 id, u8 *name)
{
- int i;
+ s32 i;
for (i = 0; i < 20; i++)
{
@@ -2437,7 +2436,7 @@ bool32 sub_800E540(u16 id, u8 *name)
void sub_800E5AC(void)
{
- int i;
+ s32 i;
for (i = 0; i < 20; i++)
{
@@ -2446,19 +2445,19 @@ void sub_800E5AC(void)
}
}
-void nullsub_5(void *unused_0, u8 unused_1, u8 unused_2)
+void nullsub_5(const char *unused_0, u8 unused_1, u8 unused_2)
{
// debug?
}
-void nullsub_13(u8 unused_0, u8 unused_1, u8 unused_2, u8 unused_3)
+void nullsub_13(u16 unused_0, u8 unused_1, u8 unused_2, u8 unused_3)
{
}
void sub_800E604(void)
{
- int i;
+ s32 i;
u8 unk_ee_bak = gUnknown_03005000.unk_ee;
CpuFill16(0, &gUnknown_03005000, sizeof gUnknown_03005000);
gUnknown_03005000.unk_ee = unk_ee_bak;
@@ -2542,17 +2541,17 @@ void sub_800E748(u8 taskId)
}
}
-u8 sub_800E87C(u8 idx)
+s32 sub_800E87C(u8 idx)
{
return gUnknown_082ED6A5[idx];
}
-void sub_800E88C(int r2, int r5)
+void sub_800E88C(s32 r2, s32 r5)
{
u8 i;
u8 r4 = 1;
- int r1 = r2;
- int r6 = 0;
+ s32 r1 = r2;
+ s32 r6 = 0;
if (r5 == -1)
{
for (i = 0; i < 4; r2 >>= 1, i++)
@@ -2743,7 +2742,7 @@ void sub_800ED28(void)
void sub_800ED34(u16 unused)
{
- int i;
+ s32 i;
for (i = 0; i < 14; i++)
{
@@ -2820,7 +2819,7 @@ bool8 sub_800EE94(void)
return FALSE;
}
-bool8 sub_800EEBC(void)
+bool32 sub_800EEBC(void)
{
if (gUnknown_03005000.unk_04 == 7 && !sub_800C12C(gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3d].unk_00, 240))
{
@@ -2885,7 +2884,7 @@ void sub_800EF88(u8 a0)
// FIXME: gRecvCmds should be in r6 and r7
void sub_800EFB0(void)
{
- int i, j;
+ s32 i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 7; j++)
@@ -2947,7 +2946,7 @@ NAKED void sub_800EFB0(void)
void sub_800F014(void)
{
- int i;
+ s32 i;
for (i = 0; i < 7; i++)
{
gRecvCmds[0][i] = gSendCmd[i];
@@ -2981,8 +2980,8 @@ static void sub_800F048(void)
bool32 sub_800F0B8(void)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
if (gUnknown_03007890->unk_06 == 0)
{
@@ -3137,7 +3136,7 @@ bool32 sub_800F1E0(void)
void sub_800F498(u16 *a0, u8 *a1)
{
- int i;
+ s32 i;
if (a0[0])
{
@@ -3203,13 +3202,11 @@ bool32 sub_800F4F0(void)
return sub_800F0B8();
}
-#ifdef NONMATCHING
void sub_800F638(u8 unused, u32 flags)
{
- int i;
- int j;
+ s32 i, j;
- u8 *r10 = gUnknown_03005000.unk_6c.unk_04;
+ const u8 *r10 = gUnknown_03005000.unk_6c.unk_04;
for (i = 0; i < gUnknown_03005000.unk_6c.unk_02; i++)
{
if (!(flags & 1))
@@ -3220,11 +3217,11 @@ void sub_800F638(u8 unused, u32 flags)
gUnknown_03000D90[j + 1] = (r10[12 * i + (j << 1) + 1] << 8) | r10[12 * i + (j << 1) + 0];
}
for (j = 0; j < 7; j++)
- // This should be an ascending loop.
- // GCC compiles this as descending.
{
gUnknown_03000D80[2 * j + 1] = gUnknown_03000D90[j] >> 8;
gUnknown_03000D80[2 * j + 0] = gUnknown_03000D90[j];
+
+ j++;j--; // Needed to match;
}
sub_800D888(&gUnknown_03005000.unk_9e8, gUnknown_03000D80);
gUnknown_03005000.unk_6c.unk_0c |= (1 << i);
@@ -3232,101 +3229,6 @@ void sub_800F638(u8 unused, u32 flags)
flags >>= 1;
}
}
-#else
-NAKED void sub_800F638(u8 unused, u32 flags)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tldr r2, [r0, 0x70]\n"
- "\tmov r10, r2\n"
- "\tmovs r5, 0\n"
- "\tadds r2, r0, 0\n"
- "\tadds r2, 0x6E\n"
- "\tldrh r3, [r2]\n"
- "\tcmp r5, r3\n"
- "\tbge _0800F6D4\n"
- "\tmov r9, r0\n"
- "\tldr r0, =gUnknown_03000D90\n"
- "\tmov r8, r0\n"
- "_0800F65A:\n"
- "\tmovs r0, 0x1\n"
- "\tands r0, r1\n"
- "\tlsrs r7, r1, 1\n"
- "\tadds r6, r5, 0x1\n"
- "\tcmp r0, 0\n"
- "\tbne _0800F6C8\n"
- "\tldr r1, =0xffff8900\n"
- "\tadds r0, r1, 0\n"
- "\tadds r1, r5, 0\n"
- "\torrs r1, r0\n"
- "\tmov r2, r8\n"
- "\tstrh r1, [r2]\n"
- "\tmovs r4, 0\n"
- "\tlsls r0, r5, 1\n"
- "\tldr r3, =gUnknown_03000D80\n"
- "\tmov r12, r3\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 2\n"
- "\tmov r1, r10\n"
- "\tadds r2, r0, r1\n"
- "\tmov r3, r8\n"
- "\tadds r3, 0x2\n"
- "_0800F686:\n"
- "\tldrb r1, [r2, 0x1]\n"
- "\tlsls r1, 8\n"
- "\tldrb r0, [r2]\n"
- "\torrs r0, r1\n"
- "\tstrh r0, [r3]\n"
- "\tadds r2, 0x2\n"
- "\tadds r3, 0x2\n"
- "\tadds r4, 0x1\n"
- "\tcmp r4, 0x6\n"
- "\tble _0800F686\n"
- "\tmovs r4, 0\n"
- "\tldr r2, =gUnknown_03000D90\n"
- "\tldr r1, =gUnknown_03000D80\n"
- "_0800F6A0:\n"
- "\tldrh r0, [r2]\n"
- "\tlsrs r0, 8\n"
- "\tstrb r0, [r1, 0x1]\n"
- "\tldrh r0, [r2]\n"
- "\tstrb r0, [r1]\n"
- "\tadds r2, 0x2\n"
- "\tadds r1, 0x2\n"
- "\tadds r4, 0x1\n"
- "\tcmp r4, 0x6\n"
- "\tble _0800F6A0\n"
- "\tldr r0, =gUnknown_03005000+0x9E8\n"
- "\tmov r1, r12\n"
- "\tbl sub_800D888\n"
- "\tmovs r1, 0x1\n"
- "\tlsls r1, r5\n"
- "\tmov r2, r9\n"
- "\tldr r0, [r2, 0x78]\n"
- "\torrs r0, r1\n"
- "\tstr r0, [r2, 0x78]\n"
- "_0800F6C8:\n"
- "\tadds r1, r7, 0\n"
- "\tadds r5, r6, 0\n"
- "\tldr r3, =gUnknown_03005000+0x6E\n"
- "\tldrh r3, [r3]\n"
- "\tcmp r5, r3\n"
- "\tblt _0800F65A\n"
- "_0800F6D4:\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif
void sub_800F6FC(u8 a0)
{
@@ -3408,89 +3310,89 @@ static void sub_800F86C(u8 unused)
{
switch (gRecvCmds[i][0] & 0xff00)
{
- case 0x7800:
- if (gUnknown_03005000.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0)
- return;
- // fallthrough
- case 0x7700:
- if (gUnknown_03007890->unk_00 == 0)
- {
- gUnknown_03005000.playerCount = gRecvCmds[i][1];
- gUnknown_03005000.unk_cce = sub_800F74C((u8 *)(gRecvCmds[i] + 2));
- }
- break;
- case 0x8800:
- if (gUnknown_03005000.unk_80[i].unk_12 == 0)
- {
- gUnknown_03005000.unk_80[i].unk_00 = 0;
- gUnknown_03005000.unk_80[i].unk_02 = gRecvCmds[i][1];
- gUnknown_03005000.unk_80[i].unk_11 = gRecvCmds[i][2];
- gUnknown_03005000.unk_80[i].unk_08 = 0;
- gUnknown_03005000.unk_80[i].unk_12 = 1;
- gUnknown_03005000.unk_5c[i] = 0;
- }
- break;
- case 0x8900:
- if (gUnknown_03005000.unk_80[i].unk_12 == 1)
+ case 0x7800:
+ if (gUnknown_03005000.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0)
+ return;
+ // fallthrough
+ case 0x7700:
+ if (gUnknown_03007890->unk_00 == 0)
+ {
+ gUnknown_03005000.playerCount = gRecvCmds[i][1];
+ gUnknown_03005000.unk_cce = sub_800F74C((u8 *)(gRecvCmds[i] + 2));
+ }
+ break;
+ case 0x8800:
+ if (gUnknown_03005000.unk_80[i].unk_12 == 0)
+ {
+ gUnknown_03005000.unk_80[i].unk_00 = 0;
+ gUnknown_03005000.unk_80[i].unk_02 = gRecvCmds[i][1];
+ gUnknown_03005000.unk_80[i].unk_11 = gRecvCmds[i][2];
+ gUnknown_03005000.unk_80[i].unk_08 = 0;
+ gUnknown_03005000.unk_80[i].unk_12 = 1;
+ gUnknown_03005000.unk_5c[i] = 0;
+ }
+ break;
+ case 0x8900:
+ if (gUnknown_03005000.unk_80[i].unk_12 == 1)
+ {
+ gUnknown_03005000.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff;
+ gUnknown_03005000.unk_80[i].unk_08 |= (1 << gUnknown_03005000.unk_80[i].unk_00);
+ for (j = 0; j < 6; j++)
+ gBlockRecvBuffer[i][gUnknown_03005000.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1];
+ if (gUnknown_03005000.unk_80[i].unk_08 == gUnknown_082ED628[gUnknown_03005000.unk_80[i].unk_02])
{
- gUnknown_03005000.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff;
- gUnknown_03005000.unk_80[i].unk_08 |= (1 << gUnknown_03005000.unk_80[i].unk_00);
- for (j = 0; j < 6; j++)
- gBlockRecvBuffer[i][gUnknown_03005000.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1];
- if (gUnknown_03005000.unk_80[i].unk_08 == gUnknown_082ED628[gUnknown_03005000.unk_80[i].unk_02])
- {
- gUnknown_03005000.unk_80[i].unk_12 = 2;
- sub_800F6FC(i);
- if (sub_800F7DC()->unk_0a_0 == 0x45 && gReceivedRemoteLinkPlayers != 0 && gUnknown_03005000.unk_0c == 0)
- sub_8010A70(gBlockRecvBuffer);
- }
+ gUnknown_03005000.unk_80[i].unk_12 = 2;
+ sub_800F6FC(i);
+ if (sub_800F7DC()->unk_0a_0 == 0x45 && gReceivedRemoteLinkPlayers != 0 && gUnknown_03005000.unk_0c == 0)
+ sub_8010A70(gBlockRecvBuffer);
}
- break;
- case 0xa100:
- sub_800FE84(gUnknown_082ED6B8[gRecvCmds[i][1]].buffer, (u16)gUnknown_082ED6B8[gRecvCmds[i][1]].size);
- break;
- case 0x5f00:
- gUnknown_03005000.unk_e4[i] = 1;
- break;
- case 0x6600:
- if (gUnknown_03005000.unk_100 == gRecvCmds[i][1])
- gUnknown_03005000.unk_e9[i] = 1;
- break;
- case 0xed00:
- if (gUnknown_03005000.unk_0c == 0)
+ }
+ break;
+ case 0xa100:
+ sub_800FE84(gUnknown_082ED6B8[gRecvCmds[i][1]].buffer, (u16)gUnknown_082ED6B8[gRecvCmds[i][1]].size);
+ break;
+ case 0x5f00:
+ gUnknown_03005000.unk_e4[i] = 1;
+ break;
+ case 0x6600:
+ if (gUnknown_03005000.unk_100 == gRecvCmds[i][1])
+ gUnknown_03005000.unk_e9[i] = 1;
+ break;
+ case 0xed00:
+ if (gUnknown_03005000.unk_0c == 0)
+ {
+ if (gReceivedRemoteLinkPlayers != 0)
{
- if (gReceivedRemoteLinkPlayers != 0)
+ if (gRecvCmds[i][1] & gUnknown_03007890->unk_02)
{
- if (gRecvCmds[i][1] & gUnknown_03007890->unk_02)
- {
- gReceivedRemoteLinkPlayers = 0;
- sub_800D630();
- gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
- }
- gUnknown_03005000.playerCount = gRecvCmds[i][3];
- sub_80109E8(gRecvCmds[i][1]);
+ gReceivedRemoteLinkPlayers = 0;
+ sub_800D630();
+ gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
}
- }
- else
- {
- sub_800FD14(0xee00);
- gSendCmd[1] = gRecvCmds[i][1];
- gSendCmd[2] = gRecvCmds[i][2];
- gSendCmd[3] = gRecvCmds[i][3];
- }
- break;
- case 0xee00:
- if (gUnknown_03005000.unk_0c == 1)
- {
- gUnknown_03005000.unk_ce3 |= gRecvCmds[i][1];
- gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
+ gUnknown_03005000.playerCount = gRecvCmds[i][3];
sub_80109E8(gRecvCmds[i][1]);
}
- break;
- case 0x4400:
- case 0xbe00:
- gLinkPartnersHeldKeys[i] = gRecvCmds[i][1];
- break;
+ }
+ else
+ {
+ sub_800FD14(0xee00);
+ gSendCmd[1] = gRecvCmds[i][1];
+ gSendCmd[2] = gRecvCmds[i][2];
+ gSendCmd[3] = gRecvCmds[i][3];
+ }
+ break;
+ case 0xee00:
+ if (gUnknown_03005000.unk_0c == 1)
+ {
+ gUnknown_03005000.unk_ce3 |= gRecvCmds[i][1];
+ gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
+ sub_80109E8(gRecvCmds[i][1]);
+ }
+ break;
+ case 0x4400:
+ case 0xbe00:
+ gLinkPartnersHeldKeys[i] = gRecvCmds[i][1];
+ break;
}
if (gUnknown_03005000.unk_0c == 1 && gUnknown_03005000.unk_61[i])
{
@@ -3507,7 +3409,7 @@ static void sub_800F86C(u8 unused)
bool8 sub_800FC60(void)
{
- int i;
+ s32 i;
for (i = 0; i < 5; i++)
{
@@ -3519,7 +3421,7 @@ bool8 sub_800FC60(void)
bool8 sub_800FC88(void)
{
- int i;
+ s32 i;
for (i = 0; i < gUnknown_03005000.playerCount; i++)
{
@@ -3543,7 +3445,7 @@ static void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data)
u8 sub_800FCD8(void)
{
u8 flags = 0;
- int i;
+ s32 i;
for (i = 0; i < 5; i++)
{
@@ -3555,8 +3457,6 @@ u8 sub_800FCD8(void)
return flags;
}
-#ifdef NONMATCHING
-// The switch tree is incorrect
void sub_800FD14(u16 command)
{
u8 i;
@@ -3566,199 +3466,48 @@ void sub_800FD14(u16 command)
gSendCmd[0] = command;
switch (command)
{
- case 0x8800:
- gSendCmd[1] = gUnknown_03005000.unk_6c.unk_02;
- gSendCmd[2] = gUnknown_03005000.unk_6c.unk_11 + 0x80;
- break;
- case 0xa100:
- if (sub_800FC60())
- gSendCmd[1] = gUnknown_03005000.unk_5a;
- break;
- case 0x7800:
- case 0x7700:
- tmp = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3;
- gUnknown_03005000.playerCount = gUnknown_082ED695[tmp] + 1;
- gSendCmd[1] = gUnknown_03005000.playerCount;
- buff = (u8 *)(gSendCmd + 2);
- for (i = 0; i < 4; i++)
- buff[i] = gUnknown_03005000.unk_cde[i];
- break;
- case 0x6600:
- case 0x5f00:
- gSendCmd[1] = gUnknown_03005000.unk_100;
- break;
- case 0x4400:
- gSendCmd[0] = 0x4400;
- gSendCmd[1] = gMain.heldKeys;
- break;
- case 0x2f00:
- for (i = 0; i < 6; i++)
- gSendCmd[1 + i] = gUnknown_03005000.unk_f2[i];
- break;
- case 0xbe00:
- gSendCmd[1] = gUnknown_03005DA8;
- break;
+ case 0x8800:
+ gSendCmd[1] = gUnknown_03005000.unk_6c.unk_02;
+ gSendCmd[2] = gUnknown_03005000.unk_6c.unk_11 + 0x80;
+ break;
+ case 0xa100:
+ if (sub_800FC60())
+ gSendCmd[1] = gUnknown_03005000.unk_5a;
+ break;
+ case 0x7700:
+ case 0x7800:
+ tmp = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3;
+ gUnknown_03005000.playerCount = gUnknown_082ED695[tmp] + 1;
+ gSendCmd[1] = gUnknown_03005000.playerCount;
+ buff = (u8 *)(gSendCmd + 2);
+ for (i = 0; i < 4; i++)
+ buff[i] = gUnknown_03005000.unk_cde[i];
+ break;
+ case 0x6600:
+ case 0x5f00:
+ gSendCmd[1] = gUnknown_03005000.unk_100;
+ break;
+ case 0x4400:
+ gSendCmd[0] = command;
+ gSendCmd[1] = gMain.heldKeys;
+ break;
+ case 0x2f00:
+ for (i = 0; i < 6; i++)
+ gSendCmd[1 + i] = gUnknown_03005000.unk_f2[i];
+ break;
+ case 0xbe00:
+ gSendCmd[1] = gUnknown_03005DA8;
+ break;
+ case 0xee00:
+ break;
+ case 0xed00:
+ break;
}
}
-#else
-NAKED void sub_800FD14(u16 command)
-{
- asm_unified("\tpush {r4,r5,lr}\n"
- "\tlsls r0, 16\n"
- "\tlsrs r1, r0, 16\n"
- "\tldr r5, =gSendCmd\n"
- "\tstrh r1, [r5]\n"
- "\tmovs r0, 0xF0\n"
- "\tlsls r0, 7\n"
- "\tadds r4, r5, 0\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FDB0_case_7700_case_7800\n"
- "\tcmp r1, r0\n"
- "\tbgt _0800FD62\n"
- "\tmovs r0, 0xBE\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE00_case_5f00_case_6600\n"
- "\tcmp r1, r0\n"
- "\tbgt _0800FD50\n"
- "\tmovs r0, 0xBC\n"
- "\tlsls r0, 6\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE20_case_2f00\n"
- "\tmovs r0, 0x88\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE14_case_4400\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FD50:\n"
- "\tmovs r0, 0xCC\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE00_case_5f00_case_6600\n"
- "\tmovs r0, 0xEE\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FDB0_case_7700_case_7800\n"
- "\tb _0800FE46_break\n"
- "_0800FD62:\n"
- "\tmovs r0, 0xBE\n"
- "\tlsls r0, 8\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE40_case_be00\n"
- "\tcmp r1, r0\n"
- "\tbgt _0800FE46_break\n"
- "\tmovs r0, 0x88\n"
- "\tlsls r0, 8\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FD80_case_8800\n"
- "\tmovs r0, 0xA1\n"
- "\tlsls r0, 8\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FD98_case_a100\n"
- "\tb _0800FE46_break\n"
- "_0800FD80_case_8800:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r1, r0, 0\n"
- "\tadds r1, 0x6E\n"
- "\tldrh r1, [r1]\n"
- "\tstrh r1, [r5, 0x2]\n"
- "\tadds r0, 0x7D\n"
- "\tldrb r0, [r0]\n"
- "\tadds r0, 0x80\n"
- "\tstrh r0, [r5, 0x4]\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FD98_case_a100:\n"
- "\tbl sub_800FC60\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _0800FE46_break\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0x5A\n"
- "\tldrb r0, [r0]\n"
- "\tb _0800FE44_str_break\n"
- "\t.pool\n"
- "_0800FDB0_case_7700_case_7800:\n"
- "\tldr r3, =gUnknown_03005000\n"
- "\tldr r1, =0x00000ce2\n"
- "\tadds r0, r3, r1\n"
- "\tldr r2, =0x00000ce3\n"
- "\tadds r1, r3, r2\n"
- "\tldrb r2, [r0]\n"
- "\tldrb r0, [r1]\n"
- "\teors r0, r2\n"
- "\tldr r1, =gUnknown_082ED695\n"
- "\tadds r0, r1\n"
- "\tldrb r0, [r0]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r3, 0xD]\n"
- "\tldrb r0, [r3, 0xD]\n"
- "\tstrh r0, [r4, 0x2]\n"
- "\tadds r2, r4, 0x4\n"
- "\tmovs r4, 0\n"
- "\tldr r0, =0x00000cde\n"
- "\tadds r3, r0\n"
- "_0800FDD6:\n"
- "\tadds r1, r2, r4\n"
- "\tadds r0, r4, r3\n"
- "\tldrb r0, [r0]\n"
- "\tstrb r0, [r1]\n"
- "\tadds r0, r4, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tcmp r4, 0x3\n"
- "\tbls _0800FDD6\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FE00_case_5f00_case_6600:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 1\n"
- "\tadds r0, r1\n"
- "\tldrh r0, [r0]\n"
- "\tstrh r0, [r4, 0x2]\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FE14_case_4400:\n"
- "\tstrh r1, [r5]\n"
- "\tldr r0, =gMain\n"
- "\tldrh r0, [r0, 0x2C]\n"
- "\tb _0800FE44_str_break\n"
- "\t.pool\n"
- "_0800FE20_case_2f00:\n"
- "\tmovs r4, 0\n"
- "\tldr r3, =gUnknown_03005000+0xF2\n"
- "_0800FE24:\n"
- "\tadds r2, r4, 0x1\n"
- "\tlsls r1, r2, 1\n"
- "\tadds r1, r5\n"
- "\tlsls r0, r4, 1\n"
- "\tadds r0, r3\n"
- "\tldrh r0, [r0]\n"
- "\tstrh r0, [r1]\n"
- "\tlsls r2, 24\n"
- "\tlsrs r4, r2, 24\n"
- "\tcmp r4, 0x5\n"
- "\tbls _0800FE24\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FE40_case_be00:\n"
- "\tldr r0, =gUnknown_03005DA8\n"
- "\tldrh r0, [r0]\n"
- "_0800FE44_str_break:\n"
- "\tstrh r0, [r5, 0x2]\n"
- "_0800FE46_break:\n"
- "\tpop {r4,r5}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif
void sub_800FE50(u16 *a0)
{
- if (gSendCmd[0] == 0 && sub_8011A80() == 0)
+ if (gSendCmd[0] == 0 && !sub_8011A80())
{
memcpy(gUnknown_03005000.unk_f2, a0, sizeof(gUnknown_03005000.unk_f2));
sub_800FD14(0x2f00);
@@ -3816,7 +3565,7 @@ static void rfufunc_80F9F44(void)
static void sub_800FFB0(void)
{
- int i;
+ s32 i;
const u8 *src = gUnknown_03005000.unk_6c.unk_04;
gSendCmd[0] = 0x8900 | gUnknown_03005000.unk_6c.unk_00;
for (i = 0; i < 7; i++)
@@ -3833,7 +3582,7 @@ static void rfufunc_80FA020(void)
{
const u8 *src = gUnknown_03005000.unk_6c.unk_04;
u8 mpId = GetMultiplayerId();
- int i;
+ s32 i;
if (gUnknown_03005000.unk_0c == 0)
{
gSendCmd[0] = (~0x76ff) | (gUnknown_03005000.unk_6c.unk_02 - 1);
@@ -3897,9 +3646,9 @@ void sub_8010198(void)
void sub_80101CC(void)
{
- int i;
+ s32 i;
u8 playerCount = gUnknown_03005000.playerCount;
- int count = 0;
+ s32 count = 0;
for (i = 0; i < MAX_RFU_PLAYERS; i++)
{
@@ -4026,7 +3775,7 @@ void sub_8010434(void)
bool32 sub_8010454(u32 a0)
{
- int i;
+ s32 i;
for (i = 0; gUnknown_082ED6E0[i] != a0; i++)
{
if (gUnknown_082ED6E0[i] == 0xffff)
@@ -4076,7 +3825,7 @@ static void sub_8010528(void)
bool8 sub_8010540(void)
{
- int i;
+ s32 i;
bool8 retval = FALSE;
for (i = 0; i < 4; i++)
{
@@ -4107,7 +3856,7 @@ bool8 sub_8010540(void)
bool32 sub_80105EC(void)
{
u8 flags = 0;
- int i;
+ s32 i;
for (i = 0; i < 4; i++)
{
if (gUnknown_03005000.unk_cd5[i] == 11)
@@ -4166,7 +3915,7 @@ u32 sub_8010714(u16 a0, const u8 *a1)
void sub_8010750(void)
{
- int i;
+ s32 i;
sub_8010540();
for (i = 0; i < 4; i++)
@@ -4180,9 +3929,9 @@ void sub_8010750(void)
}
}
-int sub_80107A0(void)
+s32 sub_80107A0(void)
{
- int retval = 0;
+ s32 retval = 0;
if (gUnknown_03005000.unk_c85 == 8)
{
if (gUnknown_03007880[gUnknown_03005000.unk_c3e]->unk_0 == 0x26 || gUnknown_03007880[gUnknown_03005000.unk_c3e]->unk_0 == 0x27)
@@ -4204,7 +3953,7 @@ int sub_80107A0(void)
void sub_801084C(u8 taskId)
{
- int i;
+ s32 i;
if (gUnknown_03005000.unk_f1 == 1 || gUnknown_03005000.unk_f1 == 2)
{
@@ -4288,7 +4037,7 @@ void sub_801084C(u8 taskId)
void sub_80109E8(u16 a0)
{
- int i;
+ s32 i;
for (i = 0; i < 4; i++)
{
@@ -4299,7 +4048,7 @@ void sub_80109E8(u16 a0)
void sub_8010A14(const struct UnkRfuStruct_8010A14 *a0)
{
- int i;
+ s32 i;
gUnknown_03005000.playerCount = a0->unk_0f;
for (i = 0; i < 4; i++)
gUnknown_03005000.unk_cde[i] = a0->unk_10[i];
@@ -4322,7 +4071,7 @@ void sub_8010A70(void *a0)
void sub_8010AAC(u8 taskId)
{
- int i;
+ s32 i;
struct LinkPlayerBlock *r2;
struct UnkRfuStruct_8010A14 *r5;
u8 r4 = gUnknown_03005000.unk_cde[gUnknown_082ED68C[gUnknown_03005000.unk_ce9]];
@@ -4501,7 +4250,7 @@ void sub_8010F48(void)
void sub_8010F60(void)
{
- gUnknown_02022B14 = (struct UnkLinkRfuStruct_02022B14){};
+ memset(&gUnknown_02022B14, 0, 0xD);
sub_800DD94(&gUnknown_02022B14, 0, 0, 0);
}
@@ -4523,7 +4272,7 @@ void sub_8010FCC(u32 a0, u32 a1, u32 a2)
gUnknown_02022B14.unk_0b_1 = a2;
}
-u8 sub_801100C(int a0)
+u8 sub_801100C(s32 a0)
{
u8 retval = 0x80;
retval |= (gLinkPlayers[a0].gender << 3);
@@ -4534,7 +4283,7 @@ u8 sub_801100C(int a0)
void sub_801103C(void)
{
struct UnkLinkRfuStruct_02022B14 *r5 = &gUnknown_02022B14;
- int i;
+ s32 i;
for (i = 1; i < GetLinkPlayerCount(); i++)
r5->unk_04[i - 1] = sub_801100C(i);
@@ -4555,10 +4304,10 @@ void sub_8011090(u8 a0, u32 a1, u32 a2)
void sub_80110B8(u32 a0)
{
- int i;
+ s32 i;
u32 r5;
u32 r7;
- int r8;
+ s32 r8;
if (sub_800F7DC()->unk_0a_0 == 0x45)
{
@@ -4614,329 +4363,794 @@ void sub_80111FC(void)
gUnknown_03005000.unk_00 = sub_80111DC;
}
-#ifdef NONMATCHING
-void sub_801120C(u8 a0)
+void sub_801120C(u8 a0, u8 unused1)
{
u8 i;
u8 r6 = 0;
- struct RfuUnk5Sub *unk5Sub;
switch (a0)
{
- case 0x00:
- gUnknown_03005000.unk_04 = 2;
- break;
- case 0x10:
- break;
- case 0x11:
- sub_80115EC(gUnknown_03004140.unk_14);
- for (i = 0; i < 4; i++)
+ case 0x00:
+ gUnknown_03005000.unk_04 = 2;
+ break;
+ case 0x10:
+ break;
+ case 0x11:
+ sub_80115EC(gUnknown_03004140.unk_14);
+ for (i = 0; i < 4; i++)
+ {
+ if ((gUnknown_03004140.unk_14 >> i) & 1)
{
- if ((gUnknown_03004140.unk_14 >> i) & 1)
+ struct UnkLinkRfuStruct_02022B14 *structPtr = &gUnknown_03007890->unk_14[i].unk_06;
+ if (structPtr->unk_0a_0 == sub_800F7DC()->unk_0a_0)
{
- unk5Sub = &gUnknown_03007890->unk_14[i];
- if (unk5Sub->unk_06.unk_0a_0 == sub_800F7DC()->unk_0a_0)
- {
- gUnknown_03005000.unk_cd1[i] = 0;
- gUnknown_03005000.unk_cd5[i] = 0;
- rfu_setRecvBuffer(0x20, i, gUnknown_03005000.unk_cd5 + i, 1);
- }
- else
- {
- r6 |= (1 << i);
- }
+ gUnknown_03005000.unk_cd1[i] = 0;
+ gUnknown_03005000.unk_cd5[i] = 0;
+ rfu_setRecvBuffer(0x20, i, gUnknown_03005000.unk_cd5 + i, 1);
+ }
+ else
+ {
+ r6 |= (1 << i);
}
}
- if (r6)
+ }
+ if (r6)
+ {
+ rfu_REQ_disconnect(r6);
+ rfu_waitREQComplete();
+ }
+ break;
+ case 0x12:
+ break;
+ case 0x13:
+ break;
+ case 0x14:
+ if (gUnknown_03005000.unk_ce7 != gUnknown_03004140.unk_00)
+ {
+ rfu_REQ_disconnect(gUnknown_03005000.unk_ce7 ^ gUnknown_03004140.unk_00);
+ rfu_waitREQComplete();
+ }
+ gUnknown_03005000.unk_04 = 0x11;
+ break;
+ case 0x31:
+ gUnknown_03005000.unk_f0 = 1;
+ break;
+ case 0x32:
+ gUnknown_03005000.unk_f0 = 3;
+ break;
+ case 0x30:
+ case 0x33:
+ gUnknown_03005000.unk_f0 = 4;
+ gUnknown_03005000.unk_ce2 &= ~gUnknown_03004140.unk_14;
+ if (gReceivedRemoteLinkPlayers == 1)
+ {
+ if (gUnknown_03005000.unk_ce2 == 0)
+ sub_8011170(a0);
+ else
+ sub_80111FC();
+ }
+ sub_8011A64(2, a0);
+ break;
+ case 0x34:
+ break;
+ case 0x42 ... 0x44:
+ break;
+ case 0xf3:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_ef = 1;
+ break;
+ case 0xf0 ... 0xf2:
+ case 0xff:
+ sub_8011170(a0);
+ sub_8011A64(1, a0);
+ gUnknown_03005000.unk_cdb = 1;
+ break;
+ }
+}
+
+void sub_8011404(u8 a0, u8 unused1)
+{
+ switch (a0)
+ {
+ case 0x00:
+ gUnknown_03005000.unk_04 = 6;
+ break;
+ case 0x20:
+ gUnknown_03005000.unk_ccd = gUnknown_03004140.unk_14;
+ break;
+ case 0x21:
+ break;
+ case 0x22:
+ gUnknown_03005000.unk_c3e = gUnknown_03004140.unk_14;
+ break;
+ case 0x23:
+ sub_8011A64(2, a0);
+ break;
+ case 0x24:
+ gUnknown_03005000.unk_04 = 11;
+ gUnknown_03005000.unk_c85 = 0;
+ gUnknown_03005000.unk_c86 = 0;
+ rfu_setRecvBuffer(0x20, gUnknown_03005000.unk_c3e, &gUnknown_03005000.unk_c86, 1);
+ rfu_setRecvBuffer(0x10, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70);
+ break;
+ case 0x25:
+ sub_8011A64(2, 0x25);
+ break;
+ case 0x30:
+ gUnknown_03005000.unk_f0 = 2;
+ if (gUnknown_03005000.unk_c86 == 6)
+ break;
+ case 0x33:
+ if (gUnknown_03005000.unk_f0 != 2)
+ gUnknown_03005000.unk_f0 = 4;
+ if (gUnknown_03005000.unk_c86 != 9)
+ sub_8011A64(2, a0);
+ nullsub_5(gUnknown_082ED7FC, 5, 5);
+ if (gReceivedRemoteLinkPlayers == 1)
+ sub_8011170(a0);
+ break;
+ case 0x31:
+ gUnknown_03005000.unk_f0 = 1;
+ nullsub_5(gUnknown_082ED814, 5, 5);
+ break;
+ case 0x32:
+ gUnknown_03005000.unk_f0 = 3;
+ gUnknown_03005000.unk_c3c = 1;
+ break;
+ case 0x34:
+ break;
+ case 0x42 ... 0x44:
+ break;
+ case 0xF3:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_ef = 1;
+ break;
+ case 0xF0 ... 0xF2:
+ case 0xFF:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_cdb = 1;
+ break;
+ }
+}
+
+void sub_80115EC(s32 a0)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if ((a0 >> i) & 1)
+ {
+ gUnknown_03005000.unk_cea[i] = 0;
+ gUnknown_03005000.unk_cee[i] |= 0xFF;
+ }
+ }
+}
+
+u8 sub_8011628(s32 a0)
+{
+ u8 ret = 0;
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if ((a0 >> i) & 1)
+ {
+ struct UnkLinkRfuStruct_02022B14 *structPtr = &gUnknown_03007890->unk_14[i].unk_06;
+ if (structPtr->unk_0a_0 == 0x45)
+ ret |= (1 << i);
+ }
+ }
+
+ return ret;
+}
+
+void sub_8011674(u8 a0, u8 unused1)
+{
+ u8 r1;
+
+ switch (a0)
+ {
+ case 0x00:
+ gUnknown_03005000.unk_04 = 0x11;
+ break;
+ case 0x10:
+ sub_8011A64(4, 0);
+ break;
+ case 0x11:
+ if (sub_800F7DC()->unk_0a_0 == 0x45 && gUnknown_03005000.unk_cd9 == 0)
+ {
+ u8 idx = sub_8011628(gUnknown_03004140.unk_14);
+ if (idx != 0)
{
- rfu_REQ_disconnect(r6);
- rfu_waitREQComplete();
+ r1 = 1 << sub_800E87C(idx);
+ if (gUnknown_03005000.unk_ce6 == 0 && gUnknown_03005000.unk_ce8 == 0)
+ {
+ gUnknown_03005000.unk_ce5 = r1;
+ gUnknown_03005000.unk_ce6 |= (r1 ^ idx);
+ gUnknown_03005000.unk_ce8 = 1;
+ }
+ else
+ {
+ gUnknown_03005000.unk_ce6 |= idx;
+ }
}
- break;
- case 0x12:
- break;
- case 0x13:
- break;
- case 0x14:
- if (gUnknown_03005000.unk_ce7 != gUnknown_03004140.unk_00)
+ if (idx != gUnknown_03004140.unk_14)
{
- rfu_REQ_disconnect(gUnknown_03005000.unk_ce7 ^ gUnknown_03004140.unk_00);
- rfu_waitREQComplete();
+ gUnknown_03005000.unk_ce3 |= (idx ^ gUnknown_03004140.unk_14);
+ gUnknown_03005000.unk_ce4 = 2;
}
- gUnknown_03005000.unk_04 = 0x11;
- break;
- case 0x31:
+ }
+ else if (sub_800F7DC()->unk_0a_0 == 0x54)
+ {
+ rfu_REQ_disconnect(gUnknown_03004140.unk_00);
+ rfu_waitREQComplete();
+ }
+ sub_80115EC(gUnknown_03004140.unk_14);
+ break;
+ case 0x12:
+ break;
+ case 0x13:
+ break;
+ case 0x14:
+ if (sub_800F7DC()->unk_0a_0 != 0x45 && gUnknown_03004140.unk_01 > 1)
+ {
+ r1 = 1 << sub_800E87C(gUnknown_03004140.unk_14);
+ rfu_REQ_disconnect(gUnknown_03004140.unk_00 ^ r1);
+ rfu_waitREQComplete();
+ }
+ if (gUnknown_03005000.unk_04 == 0xF)
+ gUnknown_03005000.unk_04 = 0x10;
+ break;
+ break;
+ case 0x20:
+ gUnknown_03005000.unk_ccd = gUnknown_03004140.unk_14;
+ break;
+ case 0x21:
+ break;
+ case 0x22:
+ gUnknown_03005000.unk_c3e = gUnknown_03004140.unk_14;
+ break;
+ case 0x23:
+ gUnknown_03005000.unk_04 = 0x12;
+ if (gUnknown_03005000.unk_ccf < 2)
+ {
+ gUnknown_03005000.unk_ccf++;
+ CreateTask(sub_801209C, 2);
+ }
+ else
+ {
+ sub_8011A64(2, a0);
+ }
+ break;
+ case 0x24:
+ gUnknown_03005000.unk_04 = 0xD;
+ sub_8011A64(3, 0);
+ rfu_setRecvBuffer(0x10, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70);
+ break;
+ case 0x25:
+ sub_8011A64(2, a0);
+ break;
+ case 0x31:
+ if (gUnknown_03004140.unk_00 & gUnknown_03004140.unk_14)
gUnknown_03005000.unk_f0 = 1;
- break;
- case 0x32:
- gUnknown_03005000.unk_f0 = 3;
- break;
- case 0x30:
- case 0x33:
+ break;
+ case 0x32:
+ gUnknown_03005000.unk_f0 = 3;
+ if (gUnknown_03007890->unk_00 == 0)
+ gUnknown_03005000.unk_c3c = 1;
+ break;
+ case 0x30:
+ gUnknown_03005000.unk_f0 = 2;
+ case 0x33:
+ if (gUnknown_03005000.unk_f0 != 2)
gUnknown_03005000.unk_f0 = 4;
- gUnknown_03005000.unk_ce2 &= ~gUnknown_03004140.unk_14;
+ if (gUnknown_03005000.unk_0c == 1)
+ {
if (gReceivedRemoteLinkPlayers == 1)
{
+ gUnknown_03005000.unk_ce2 &= ~(gUnknown_03004140.unk_14);
if (gUnknown_03005000.unk_ce2 == 0)
sub_8011170(a0);
else
sub_80111FC();
}
- sub_8011A64(2, a0);
- break;
- case 0x42 ... 0x44:
- break;
- case 0xf3:
- sub_8011A64(1, a0);
- sub_8011170(a0);
- gUnknown_03005000.unk_ef = 1;
- break;
- case 0xf0 ... 0xf2:
- case 0xff:
+ }
+ else if (gUnknown_03005000.unk_ce4 != 2 && gReceivedRemoteLinkPlayers == 1)
+ {
sub_8011170(a0);
- sub_8011A64(1, a0);
- gUnknown_03005000.unk_cdb = 1;
- break;
+ sub_800C27C(0);
+ }
+
+ if (gUnknown_03007890->unk_00 == 0xFF && gUnknown_03004140.unk_07 == 0 && FuncIsActiveTask(sub_800EB44) == TRUE)
+ gUnknown_03005000.unk_04 = 0x11;
+
+ sub_8011A64(2, a0);
+ break;
+ case 0x40:
+ gUnknown_03005000.unk_ce3 = 0;
+ break;
+ case 0x42 ... 0x44:
+ break;
+ case 0xF3:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_ef = 1;
+ break;
+ case 0xF0 ... 0xF2:
+ case 0xFF:
+ sub_8011170(a0);
+ sub_8011A64(1, a0);
+ gUnknown_03005000.unk_cdb = 0;
+ break;
}
}
-#else
-NAKED void sub_801120C(u8 a0)
+
+void sub_8011A50(void)
{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tmovs r6, 0\n"
- "\tcmp r4, 0x32\n"
- "\tbne _08011222\n"
- "\tb _08011360_case_32\n"
- "_08011222:\n"
- "\tcmp r4, 0x32\n"
- "\tbgt _08011252\n"
- "\tcmp r4, 0x13\n"
- "\tbgt _08011240\n"
- "\tcmp r4, 0x12\n"
- "\tblt _08011230\n"
- "\tb _080113EE_break\n"
- "_08011230:\n"
- "\tcmp r4, 0x10\n"
- "\tbne _08011236\n"
- "\tb _080113EE_break\n"
- "_08011236:\n"
- "\tcmp r4, 0x10\n"
- "\tbgt _0801128C_case_11\n"
- "\tcmp r4, 0\n"
- "\tbeq _0801127E_case_00\n"
- "\tb _080113EE_break\n"
- "_08011240:\n"
- "\tcmp r4, 0x30\n"
- "\tbne _08011246\n"
- "\tb _0801136C_case_30_case_33\n"
- "_08011246:\n"
- "\tcmp r4, 0x30\n"
- "\tble _0801124C\n"
- "\tb _08011354_case_31\n"
- "_0801124C:\n"
- "\tcmp r4, 0x14\n"
- "\tbeq _08011328_case_14\n"
- "\tb _080113EE_break\n"
- "_08011252:\n"
- "\tcmp r4, 0x44\n"
- "\tbgt _08011264\n"
- "\tcmp r4, 0x42\n"
- "\tblt _0801125C\n"
- "\tb _080113EE_break\n"
- "_0801125C:\n"
- "\tcmp r4, 0x33\n"
- "\tbne _08011262\n"
- "\tb _0801136C_case_30_case_33\n"
- "_08011262:\n"
- "\tb _080113EE_break\n"
- "_08011264:\n"
- "\tcmp r4, 0xF3\n"
- "\tbne _0801126A\n"
- "\tb _080113BA_case_f3\n"
- "_0801126A:\n"
- "\tcmp r4, 0xF3\n"
- "\tbgt _08011276\n"
- "\tcmp r4, 0xF0\n"
- "\tbge _08011274\n"
- "\tb _080113EE_break\n"
- "_08011274:\n"
- "\tb _080113D4_case_f0_f1_f2_ff\n"
- "_08011276:\n"
- "\tcmp r4, 0xFF\n"
- "\tbne _0801127C\n"
- "\tb _080113D4_case_f0_f1_f2_ff\n"
- "_0801127C:\n"
- "\tb _080113EE_break\n"
- "_0801127E_case_00:\n"
- "\tldr r1, =gUnknown_03005000\n"
- "\tmovs r0, 0x2\n"
- "\tstrh r0, [r1, 0x4]\n"
- "\tb _080113EE_break\n"
- "\t.pool\n"
- "_0801128C_case_11:\n"
- "\tldr r0, =gUnknown_03004140\n"
- "\tldrh r0, [r0, 0x14]\n"
- "\tbl sub_80115EC\n"
- "\tmovs r5, 0\n"
- "\tmovs r0, 0x1\n"
- "\tmov r8, r0\n"
- "\tldr r1, =gUnknown_03005000\n"
- "\tmov r9, r1\n"
- "\tldr r3, =0x00000cd5\n"
- "\tadd r3, r9\n"
- "\tmov r10, r3\n"
- "\tmovs r7, 0x7F\n"
- "_080112A6:\n"
- "\tldr r0, =gUnknown_03004140\n"
- "\tldrh r0, [r0, 0x14]\n"
- "\tasrs r0, r5\n"
- "\tmov r1, r8\n"
- "\tands r0, r1\n"
- "\tcmp r0, 0\n"
- "\tbeq _0801130E\n"
- "\tldr r0, =gUnknown_03007890\n"
- "\tlsls r1, r5, 5\n"
- "\tadds r1, 0x14\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, r1\n"
- "\tldrb r0, [r0, 0x10]\n"
- "\tadds r4, r7, 0\n"
- "\tands r4, r0\n"
- "\tbl sub_800F7DC\n"
- "\tldrb r1, [r0, 0xA]\n"
- "\tadds r0, r7, 0\n"
- "\tands r0, r1\n"
- "\tcmp r4, r0\n"
- "\tbne _08011304\n"
- "\tldr r0, =0x00000cd1\n"
- "\tadd r0, r9\n"
- "\tadds r0, r5, r0\n"
- "\tmovs r1, 0\n"
- "\tstrb r1, [r0]\n"
- "\tmov r3, r10\n"
- "\tadds r2, r5, r3\n"
- "\tstrb r1, [r2]\n"
- "\tmovs r0, 0x20\n"
- "\tadds r1, r5, 0\n"
- "\tmovs r3, 0x1\n"
- "\tbl rfu_setRecvBuffer\n"
- "\tb _0801130E\n"
- "\t.pool\n"
- "_08011304:\n"
- "\tmov r0, r8\n"
- "\tlsls r0, r5\n"
- "\torrs r6, r0\n"
- "\tlsls r0, r6, 24\n"
- "\tlsrs r6, r0, 24\n"
- "_0801130E:\n"
- "\tadds r0, r5, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tcmp r5, 0x3\n"
- "\tbls _080112A6\n"
- "\tcmp r6, 0\n"
- "\tbeq _080113EE_break\n"
- "\tadds r0, r6, 0\n"
- "\tbl rfu_REQ_disconnect\n"
- "\tbl rfu_waitREQComplete\n"
- "\tb _080113EE_break\n"
- "_08011328_case_14:\n"
- "\tldr r4, =gUnknown_03005000\n"
- "\tldr r1, =0x00000ce7\n"
- "\tadds r0, r4, r1\n"
- "\tldr r1, =gUnknown_03004140\n"
- "\tldrb r2, [r0]\n"
- "\tldrb r0, [r1]\n"
- "\tcmp r2, r0\n"
- "\tbeq _08011342\n"
- "\teors r0, r2\n"
- "\tbl rfu_REQ_disconnect\n"
- "\tbl rfu_waitREQComplete\n"
- "_08011342:\n"
- "\tmovs r0, 0x11\n"
- "\tstrh r0, [r4, 0x4]\n"
- "\tb _080113EE_break\n"
- "\t.pool\n"
- "_08011354_case_31:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0xF0\n"
- "\tb _080113EA\n"
- "\t.pool\n"
- "_08011360_case_32:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0xF0\n"
- "\tmovs r1, 0x3\n"
- "\tb _080113EC\n"
- "\t.pool\n"
- "_0801136C_case_30_case_33:\n"
- "\tldr r1, =gUnknown_03005000\n"
- "\tadds r2, r1, 0\n"
- "\tadds r2, 0xF0\n"
- "\tmovs r0, 0x4\n"
- "\tstrb r0, [r2]\n"
- "\tldr r3, =0x00000ce2\n"
- "\tadds r1, r3\n"
- "\tldr r0, =gUnknown_03004140\n"
- "\tldrb r2, [r0, 0x14]\n"
- "\tldrb r0, [r1]\n"
- "\tadds r3, r0, 0\n"
- "\tbics r3, r2\n"
- "\tadds r2, r3, 0\n"
- "\tstrb r2, [r1]\n"
- "\tldr r0, =gReceivedRemoteLinkPlayers\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080113B0\n"
- "\tcmp r2, 0\n"
- "\tbne _080113AC\n"
- "\tadds r0, r4, 0\n"
- "\tbl sub_8011170\n"
- "\tb _080113B0\n"
- "\t.pool\n"
- "_080113AC:\n"
- "\tbl sub_80111FC\n"
- "_080113B0:\n"
- "\tmovs r0, 0x2\n"
- "\tadds r1, r4, 0\n"
- "\tbl sub_8011A64\n"
- "\tb _080113EE_break\n"
- "_080113BA_case_f3:\n"
- "\tmovs r0, 0x1\n"
- "\tmovs r1, 0xF3\n"
- "\tbl sub_8011A64\n"
- "\tmovs r0, 0xF3\n"
- "\tbl sub_8011170\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0xEF\n"
- "\tb _080113EA\n"
- "\t.pool\n"
- "_080113D4_case_f0_f1_f2_ff:\n"
- "\tadds r0, r4, 0\n"
- "\tbl sub_8011170\n"
- "\tmovs r0, 0x1\n"
- "\tadds r1, r4, 0\n"
- "\tbl sub_8011A64\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tldr r1, =0x00000cdb\n"
- "\tadds r0, r1\n"
- "\tldrb r1, [r0]\n"
- "_080113EA:\n"
- "\tmovs r1, 0x1\n"
- "_080113EC:\n"
- "\tstrb r1, [r0]\n"
- "_080113EE_break:\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
+ gUnknown_03005000.unk_ce4 = 2;
+}
+
+void sub_8011A64(u8 a0, u16 a1)
+{
+ gUnknown_03005000.unk_f1 = a0;
+ gUnknown_03005000.unk_0a = a1;
+}
+
+u8 sub_8011A74(void)
+{
+ return gUnknown_03005000.unk_f1;
+}
+
+bool32 sub_8011A80(void)
+{
+ u32 var = sub_8011A74() - 1;
+ if (var < 2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u8 sub_8011A9C(void)
+{
+ return gUnknown_03005000.unk_ce8;
+}
+
+bool8 Rfu_IsMaster(void)
+{
+ return gUnknown_03005000.unk_0c;
+}
+
+void RfuVSync(void)
+{
+ rfu_syncVBlank_();
+}
+
+void sub_8011AC8(void)
+{
+ CpuFill32(0, gRecvCmds, sizeof(gRecvCmds));
+}
+
+void sub_8011AE8(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_8011AFC(void)
+{
+ s32 i;
+
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ ResetPaletteFade();
+ SetVBlankCallback(sub_8011AE8);
+ if (IsWirelessAdapterConnected())
+ {
+ gLinkType = 0x1111;
+ sub_800B488();
+ OpenLink();
+ SeedRng(gMain.vblankCounter2);
+ for (i = 0; i < 4; i++)
+ gSaveBlock2Ptr->playerTrainerId[i] = Random() % 256;
+
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_1D_MAP);
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ sub_8011BA4();
+ SetMainCallback2(sub_8011BF8);
+ }
+}
+
+bool32 sub_8011B90(void)
+{
+ return FuncIsActiveTask(sub_800EB44);
+}
+
+void sub_8011BA4(void)
+{
+ if (!FuncIsActiveTask(nullsub_89))
+ gUnknown_03005000.unk_66 = CreateTask(nullsub_89, 0);
+}
+
+void sub_8011BD0(void)
+{
+ if (FuncIsActiveTask(nullsub_89) == TRUE)
+ DestroyTask(gUnknown_03005000.unk_66);
+}
+
+void sub_8011BF8(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void sub_8011C10(u32 a0)
+{
+ gUnknown_03005000.unk_0c = 1;
+ sub_8010F48();
+ sub_800BF4C(sub_801120C, NULL);
+ gUnknown_02022B2C = gUnknown_082ED608;
+ gUnknown_02022B2C.unk_02 = gUnknown_082ED620[a0 - 1];
+ sub_800EE78();
+}
+
+void sub_8011C5C(void)
+{
+ gUnknown_03005000.unk_0c = 0;
+ sub_8010F48();
+ sub_800BF4C(sub_8011404, sub_800ED34);
+ sub_800EF00();
+}
+
+void sub_8011C84(void)
+{
+ gUnknown_03005000.unk_0c = 2;
+ sub_8010F48();
+ sub_800BF4C(sub_8011674, NULL);
+ gUnknown_02022B2C = gUnknown_082ED608;
+ gUnknown_02022B2C.unk_11 = 0;
+ gUnknown_02022B2C.unk_12 = 0x258;
+ gUnknown_03005000.unk_67 = CreateTask(sub_800EB44, 1);
+}
+
+static u16 ReadU16(const void *ptr)
+{
+ const u8 *ptr_ = ptr;
+ return (ptr_[1] << 8) | (ptr_[0]);
+}
+
+u8 sub_8011CE4(const u8 *a0, u16 a1)
+{
+ u8 i;
+ u8 ret = 0xFF;
+
+ for (i = 0; i < 4; i++)
+ {
+ u16 trainerId = ReadU16(gUnknown_03007890->unk_14[i].unk_06.unk_00.playerTrainerId);
+ if (sub_8010454(gUnknown_03007890->unk_14[i].unk_04)
+ && !StringCompare(a0, gUnknown_03007890->unk_14[i].playerName)
+ && a1 == trainerId)
+ {
+ ret = i;
+ if (gUnknown_03007890->unk_14[i].unk_02 != 0xFF)
+ break;
+ }
+ }
+
+ return ret;
+}
+
+void sub_8011D6C(u32 a0)
+{
+ rfu_REQ_disconnect(a0);
+ rfu_waitREQComplete();
+ gUnknown_03005000.unk_ce2 &= ~(a0);
+ rfu_clearSlot(1, gUnknown_03005000.unk_cda);
+ rfu_UNI_setSendData(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_c87, 70);
+ gUnknown_03005000.unk_cda = sub_800E87C(gUnknown_03005000.unk_ce2);
+}
+
+void sub_8011DC0(const u8 *ptr, u16 a1)
+{
+ u8 var = sub_8011CE4(ptr, a1);
+ if (var != 0xFF)
+ sub_8011D6C(1 << var);
+}
+
+void sub_8011DE0(u32 a0)
+{
+ if (a0 != 0)
+ {
+ s32 i;
+ u8 var = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gUnknown_03005000.unk_cde[i] == a0 && (gUnknown_03005000.unk_ce2 >> i) & 1)
+ var |= 1 << i;
+ }
+ if (var)
+ sub_8011E94(var, 2);
+ }
+}
+
+void sub_8011E2C(u8 taskId)
+{
+ if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0)
+ {
+ sub_800FD14(0xED00);
+ gSendCmd[1] = gTasks[taskId].data[0];
+ gSendCmd[2] = gTasks[taskId].data[1];
+ gUnknown_03005000.playerCount -= gUnknown_082ED695[gTasks[taskId].data[0]];
+ gSendCmd[3] = gUnknown_03005000.playerCount;
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8011E94(u32 a0, u32 a1)
+{
+ u8 taskId = FindTaskIdByFunc(sub_8011E2C);
+ if (taskId == 0xFF)
+ {
+ taskId = CreateTask(sub_8011E2C, 5);
+ gTasks[taskId].data[0] = a0;
+ }
+ else
+ {
+ gTasks[taskId].data[0] |= a0;
+ }
+
+ gTasks[taskId].data[1] = a1;
+}
+
+void sub_8011EF4(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (sub_800EE94())
+ {
+ u8 id = sub_8011CE4((u8*)data, ReadU16(&data[8]));
+ if (id != 0xFF)
+ {
+ if (gUnknown_03007890->unk_14[id].unk_02 != 0xFF)
+ {
+ gUnknown_03005000.unk_c3d = id;
+ if (sub_800EEBC())
+ DestroyTask(taskId);
+ }
+ else if (sub_800F7DC()->unk_0a_0 == 0x15 || sub_800F7DC()->unk_0a_0 == 0x16)
+ {
+ data[15]++;
+ }
+ else
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+ }
+ else
+ {
+ data[15]++;
+ gUnknown_03005000.unk_c3d = id;
+ }
+ }
+ else
+ {
+ data[15]++;
+ }
+
+ if (data[15] > 240)
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8011FC8(const u8 *src, u16 trainerId)
+{
+ u8 taskId;
+ s16 *data;
+
+ gUnknown_03005000.unk_f1 = 0;
+ taskId = CreateTask(sub_8011EF4, 3);
+ data = gTasks[taskId].data;
+ StringCopy((u8*)(data), src);
+ data[8] = trainerId;
+}
+
+bool32 sub_801200C(s16 a1, struct UnkLinkRfuStruct_02022B14 *structPtr)
+{
+ if (sub_800F7DC()->unk_0a_0 == 0x45)
+ {
+ if (structPtr->unk_0a_0 != 0x45)
+ return TRUE;
+ }
+ else if (structPtr->unk_0a_0 != 0x40)
+ {
+ return TRUE;
+ }
+ else if (a1 == 0x44)
+ {
+ struct UnkLinkRfuStruct_02022B14 *structPtr2 = &gUnknown_03005000.unk_10A;
+ if (structPtr2->species == SPECIES_EGG)
+ {
+ if (structPtr->species == structPtr2->species)
+ return FALSE;
+ else
+ return TRUE;
+ }
+ else if (structPtr->species != structPtr2->species
+ || structPtr->unk_0b_1 != structPtr2->unk_0b_1
+ || structPtr->type != structPtr2->type)
+ {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+void sub_801209C(u8 taskId)
+{
+ if (gUnknown_03005000.unk_f1 == 4)
+ DestroyTask(taskId);
+
+ if (++gTasks[taskId].data[0] > 300)
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+
+ if (gUnknown_03005000.unk_ccd != 0 && gUnknown_03004140.unk_06 == 0)
+ {
+ u16 trainerId = ReadU16(gUnknown_03005000.unk_10A.unk_00.playerTrainerId);
+ u8 id = sub_8011CE4(gUnknown_03005000.playerName, trainerId);
+ if (id != 0xFF)
+ {
+ if (!sub_801200C(gTasks[taskId].data[1], &gUnknown_03007890->unk_14[id].unk_06))
+ {
+ if (gUnknown_03007890->unk_14[id].unk_02 != 0xFF && !sub_800C12C(gUnknown_03007890->unk_14[id].unk_00, 0x5A))
+ {
+ gUnknown_03005000.unk_04 = 0xA;
+ DestroyTask(taskId);
+ }
+ }
+ else
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+ }
+ }
+}
+
+void sub_8012188(const u8 *name, struct UnkLinkRfuStruct_02022B14 *structPtr, u8 a2)
+{
+ u8 taskId, taskId2;
+
+ gUnknown_03005000.unk_ccf = 0;
+ gUnknown_03005000.unk_f1 = 0;
+ StringCopy(gUnknown_03005000.playerName, name);
+ memcpy(&gUnknown_03005000.unk_10A, structPtr, 0xD);
+ sub_800D658();
+ taskId = CreateTask(sub_801209C, 2);
+ gTasks[taskId].data[1] = a2;
+ taskId2 = FindTaskIdByFunc(sub_800EB44);
+ if (a2 == 0x45)
+ {
+ if (taskId2 != 0xFF)
+ gTasks[taskId2].data[7] = 1;
+ }
+ else
+ {
+ if (taskId2 != 0xFF)
+ gTasks[taskId2].data[7] = 0;
+ }
+}
+
+bool8 sub_8012224(void)
+{
+ if (gUnknown_03005000.unk_f0 == 1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool32 sub_8012240(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if ((gUnknown_03004140.unk_00 >> i) & 1 && gUnknown_03005000.unk_cd1[i] == 0)
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_801227C(void)
+{
+ s32 i;
+
+ for (i = 0; i < 20; i++)
+ nullsub_5(gUnknown_082ED82C, 0, i);
+}
+
+void sub_801229C(void)
+{
+ s32 i, j;
+
+ nullsub_13(GetBlockReceivedStatus(), 0x1C, 0x13, 2);
+ nullsub_13(gUnknown_03007890->unk_02, 0x14, 1, 1);
+ nullsub_13(gUnknown_03007890->unk_03, 0x17, 1, 1);
+ if (gUnknown_03005000.unk_0c == 1)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ if ((gUnknown_03007890->unk_07 >> i) & 1)
+ {
+ nullsub_13(gUnknown_03007890->unk_14[i].unk_04, 1, i + 3, 4);
+ nullsub_5((void*) &gUnknown_03007890->unk_14[i].unk_06, 6, i + 3);
+ nullsub_5(gUnknown_03007890->unk_14[i].playerName, 0x16, i + 3);
+ }
+ }
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 14; j++)
+ {
+ nullsub_13(gUnknown_03005000.unk_14[i][j], j * 2, i + 11, 2);
+ }
+ }
+ nullsub_5(gUnknown_082ED868, 1, 0xF);
+ }
+ else if (gUnknown_03007890->unk_02 != 0 && gUnknown_03007890->unk_07 != 0)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ nullsub_13(0, 1, i + 3, 4);
+ nullsub_5(gUnknown_082ED84B, 6, i + 3);
+ nullsub_5(gUnknown_082ED85B, 0x16, i + 3);
+ }
+ nullsub_13(gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3e].unk_04, 1, 3, 4);
+ nullsub_5((void*) &gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3e].unk_06, 6, 3);
+ nullsub_5(gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3e].playerName, 0x16, 3);
+ }
+ else
+ {
+ for (i = 0; i < gUnknown_03007890->unk_08; i++)
+ {
+ if (gUnknown_03007890->unk_14[i].unk_02 != 0xFF)
+ {
+ nullsub_13(gUnknown_03007890->unk_14[i].unk_04, 1, i + 3, 4);
+ nullsub_13(gUnknown_03007890->unk_14[i].unk_00, 6, i + 3, 4);
+ nullsub_5(gUnknown_03007890->unk_14[i].playerName, 0x16, i + 3);
+ }
+ }
+ for (; i < 4; i++)
+ {
+ nullsub_13(0, 1, i + 3, 4);
+ nullsub_5(gUnknown_082ED84B, 6, i + 3);
+ nullsub_5(gUnknown_082ED85B, 0x16, i + 3);
+ }
+ }
+}
+
+u32 sub_80124C0(void)
+{
+ return gUnknown_03005000.unk_9e8.unk_232;
+}
+
+u32 sub_80124D4(void)
+{
+ return gUnknown_03005000.unk_124.unk_8c2;
}
-#endif
diff --git a/src/list_menu.c b/src/list_menu.c
index ec45ba3e4..6907a75a3 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -302,9 +302,9 @@ static const struct SpriteTemplate sSpriteTemplate_RedArrowCursor =
};
static const u16 sRedArrowPal[] = INCBIN_U16("graphics/interface/red_arrow.gbapal");
-static const u8 sRedArrowOtherGfx[] = INCBIN_U8("graphics/interface/red_arrow_other.4bpp.lz");
-static const u8 sSelectorOutlineGfx[] = INCBIN_U8("graphics/interface/selector_outline.4bpp.lz");
-static const u8 sRedArrowGfx[] = INCBIN_U8("graphics/interface/red_arrow.4bpp.lz");
+static const u32 sRedArrowOtherGfx[] = INCBIN_U32("graphics/interface/red_arrow_other.4bpp.lz");
+static const u32 sSelectorOutlineGfx[] = INCBIN_U32("graphics/interface/selector_outline.4bpp.lz");
+static const u32 sRedArrowGfx[] = INCBIN_U32("graphics/interface/red_arrow.4bpp.lz");
// code
static void ListMenuDummyTask(u8 taskId)
diff --git a/src/load_save.c b/src/load_save.c
index 005af7c42..960a98981 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -6,14 +6,15 @@
#include "random.h"
#include "malloc.h"
#include "item.h"
+#include "overworld.h"
+#include "decoration_inventory.h"
+
+static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
extern void* gUnknown_0203CF5C;
extern bool16 IdentifyFlash(void);
-extern void SetDecorationInventoriesPointers(void);
-extern void ApplyNewEncryptionKeyToGameStats(u32 key);
extern void ApplyNewEncryptionKeyToBerryPowder(u32 key);
-extern void sub_8084FAC(int unused);
#define SAVEBLOCK_MOVE_RANGE 128
@@ -144,7 +145,7 @@ void ClearSecretBase2Field_9(void)
gSaveBlock2Ptr->specialSaveWarp &= ~1;
}
-void sub_8076D48(void)
+void SetSecretBase2Field_9(void)
{
gSaveBlock2Ptr->specialSaveWarp |= 1;
}
@@ -286,7 +287,7 @@ void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey)
*word ^= newKey;
}
-void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey)
+static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey)
{
ApplyNewEncryptionKeyToGameStats(encryptionKey);
ApplyNewEncryptionKeyToBagItems_(encryptionKey);
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 2ded9c943..bd7d17ef7 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -7,6 +7,7 @@
#include "constants/species.h"
#include "string_util.h"
#include "text.h"
+#include "pokemon_storage_system.h"
static EWRAM_DATA u16 sWinNumberDigit = 0;
static EWRAM_DATA u16 sOtIdDigit = 0;
@@ -55,23 +56,22 @@ void PickLotteryCornerTicket(void)
gSpecialVar_0x8004 = 0;
slot = 0;
box = 0;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
- struct Pokemon *pkmn = &gPlayerParty[i];
+ struct Pokemon *mon = &gPlayerParty[i];
- // UB: Too few arguments for function GetMonData
- if (GetMonData(pkmn, MON_DATA_SPECIES) != SPECIES_NONE)
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
{
// do not calculate ticket values for eggs.
- if (!GetMonData(pkmn, MON_DATA_IS_EGG))
+ if (!GetMonData(mon, MON_DATA_IS_EGG))
{
- u32 otId = GetMonData(pkmn, MON_DATA_OT_ID);
+ u32 otId = GetMonData(mon, MON_DATA_OT_ID);
u8 numMatchingDigits = GetMatchingDigits(gSpecialVar_Result, otId);
if (numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
gSpecialVar_0x8004 = numMatchingDigits - 1;
- box = 14;
+ box = TOTAL_BOXES_COUNT;
slot = i;
}
}
@@ -80,11 +80,9 @@ void PickLotteryCornerTicket(void)
break;
}
- // player has 14 boxes.
- for (i = 0; i < 14; i++)
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
{
- // player has 30 slots per box.
- for (j = 0; j < 30; j++)
+ for (j = 0; j < IN_BOX_COUNT; j++)
{
if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SPECIES) != SPECIES_NONE &&
!GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_IS_EGG))
@@ -106,7 +104,7 @@ void PickLotteryCornerTicket(void)
{
gSpecialVar_0x8005 = sLotteryPrizes[gSpecialVar_0x8004 - 1];
- if (box == 14)
+ if (box == TOTAL_BOXES_COUNT)
{
gSpecialVar_0x8006 = 0;
GetMonData(&gPlayerParty[slot], MON_DATA_NICKNAME, gStringVar1);
diff --git a/src/mail.c b/src/mail.c
index 3c12bed3f..513900746 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -146,7 +146,7 @@ static const struct BgTemplate sUnknown_0859F290[] = {
static const struct WindowTemplate sUnknown_0859F29C[] = {
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 3,
.width = 26,
diff --git a/src/main.c b/src/main.c
index 4c71ed1f9..d069ab3bc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -69,7 +69,7 @@ bool8 gSoftResetDisabled;
IntrFunc gIntrTable[INTR_COUNT];
u8 gLinkVSyncDisabled;
u32 IntrMain_Buffer[0x200];
-u8 gPcmDmaCounter;
+s8 gPcmDmaCounter;
static EWRAM_DATA u16 gTrainerId = 0;
diff --git a/src/main_menu.c b/src/main_menu.c
index bcc4f9af5..ee777d106 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -74,7 +74,7 @@ static void NewGameBirchSpeech_ShowDialogueWindow(u8, u8);
static void NewGameBirchSpeech_ClearWindow(u8);
static void Task_NewGameBirchSpeech_ThisIsAPokemon(u8);
static void Task_NewGameBirchSpeech_MainSpeech(u8);
-static void NewGameBirchSpeech_ShowPokeBallPrinterCallback(struct TextSubPrinter *printer, u16 a);
+static void NewGameBirchSpeech_ShowPokeBallPrinterCallback(struct TextPrinterTemplate *printer, u16 a);
static void Task_NewGameBirchSpeech_AndYouAre(u8);
static void Task_NewGameBirchSpeechSub_WaitForLotad(u8);
static void Task_NewGameBirchSpeech_StartBirchLotadPlatformFade(u8);
@@ -127,8 +127,8 @@ static const u16 sBirchSpeechBgPals[][16] = {
INCBIN_U16("graphics/birch_speech/bg1.gbapal")
};
-static const u8 sBirchSpeechShadowGfx[] = INCBIN_U8("graphics/birch_speech/shadow.4bpp.lz");
-static const u8 sBirchSpeechBgMap[] = INCBIN_U8("graphics/birch_speech/map.bin.lz");
+static const u32 sBirchSpeechShadowGfx[] = INCBIN_U32("graphics/birch_speech/shadow.4bpp.lz");
+static const u32 sBirchSpeechBgMap[] = INCBIN_U32("graphics/birch_speech/map.bin.lz");
static const u16 sBirchSpeechBgGradientPal[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal");
static const u16 sBirchSpeechPlatformBlackPal[] = {RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK, RGB_BLACK};
@@ -165,7 +165,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
// No saved game
// NEW GAME
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN0,
.width = MENU_WIDTH,
@@ -175,7 +175,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
},
// OPTIONS
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN1,
.width = MENU_WIDTH,
@@ -186,7 +186,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
// Has saved game
// CONTINUE
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN2,
.width = MENU_WIDTH,
@@ -196,7 +196,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
},
// NEW GAME
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN3,
.width = MENU_WIDTH,
@@ -206,7 +206,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
},
// OPTION / MYSTERY GIFT
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN4,
.width = MENU_WIDTH,
@@ -216,7 +216,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
},
// OPTION / MYSTERY EVENTS
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN5,
.width = MENU_WIDTH,
@@ -226,7 +226,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
},
// OPTION
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT,
.tilemapTop = MENU_TOP_WIN6,
.width = MENU_WIDTH,
@@ -236,7 +236,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
},
// Error message window
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = MENU_LEFT_ERROR,
.tilemapTop = MENU_TOP_ERROR,
.width = MENU_WIDTH_ERROR,
@@ -250,7 +250,7 @@ static const struct WindowTemplate sWindowTemplates_MainMenu[] =
static const struct WindowTemplate gUnknown_082FF080[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -259,7 +259,7 @@ static const struct WindowTemplate gUnknown_082FF080[] =
.baseBlock = 1
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 3,
.tilemapTop = 5,
.width = 6,
@@ -268,7 +268,7 @@ static const struct WindowTemplate gUnknown_082FF080[] =
.baseBlock = 0x6D
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 3,
.tilemapTop = 2,
.width = 9,
@@ -323,7 +323,7 @@ static const union AffineAnimCmd sSpriteAffineAnim_PlayerShrink[] = {
AFFINEANIMCMD_END
};
-static const union AffineAnimCmd *const sSpriteAffineAnimTable_PlayerShrink[] =
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_PlayerShrink[] =
{
sSpriteAffineAnim_PlayerShrink
};
@@ -1501,7 +1501,7 @@ static void Task_NewGameBirchSpeech_CreateNameYesNo(u8 taskId)
static void Task_NewGameBirchSpeech_ProcessNameYesNoMenu(u8 taskId)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
PlaySE(SE_SELECT);
@@ -1772,12 +1772,12 @@ static void AddBirchSpeechObjects(u8 taskId)
gSprites[lotadSpriteId].oam.priority = 0;
gSprites[lotadSpriteId].invisible = TRUE;
gTasks[taskId].tLotadSpriteId = lotadSpriteId;
- brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN), 120, 60, 0, &gDecompressionBuffer[0]);
+ brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN), 120, 60, 0, &gDecompressionBuffer[0]);
gSprites[brendanSpriteId].callback = nullsub_11;
gSprites[brendanSpriteId].invisible = TRUE;
gSprites[brendanSpriteId].oam.priority = 0;
gTasks[taskId].tBrendanSpriteId = brendanSpriteId;
- maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY), 120, 60, 0, &gDecompressionBuffer[0x800]);
+ maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_MAY), 120, 60, 0, &gDecompressionBuffer[0x800]);
gSprites[maySpriteId].callback = nullsub_11;
gSprites[maySpriteId].invisible = TRUE;
gSprites[maySpriteId].oam.priority = 0;
@@ -1976,7 +1976,7 @@ static void NewGameBirchSpeech_ShowGenderMenu(void)
static s8 NewGameBirchSpeech_ProcessGenderMenuInput(void)
{
- return Menu_ProcessInputNoWrapAround();
+ return Menu_ProcessInputNoWrap();
}
static void NewGameBirchSpeech_SetDefaultPlayerName(u8 nameId)
@@ -2083,21 +2083,21 @@ static void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16
u16 sp14 = 7 + baseTileNum;
u16 r6 = 8 + baseTileNum;
- FillBgTilemapBufferRect(template->priority, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 2);
- FillBgTilemapBufferRect(template->priority, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 2);
- FillBgTilemapBufferRect(template->priority, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 2);
- FillBgTilemapBufferRect(template->priority, sp18, template->tilemapLeft - 1, template->tilemapTop, 1, template->height, 2);
- FillBgTilemapBufferRect(template->priority, spC, template->tilemapLeft + template->width, template->tilemapTop, 1, template->height, 2);
- FillBgTilemapBufferRect(template->priority, sp10, template->tilemapLeft - 1, template->tilemapTop + template->height, 1, 1, 2);
- FillBgTilemapBufferRect(template->priority, sp14, template->tilemapLeft, template->tilemapTop + template->height, template->width, 1, 2);
- FillBgTilemapBufferRect(template->priority, r6, template->tilemapLeft + template->width, template->tilemapTop + template->height, 1, 1, 2);
- CopyBgTilemapBufferToVram(template->priority);
+ FillBgTilemapBufferRect(template->bg, baseTileNum, template->tilemapLeft - 1, template->tilemapTop - 1, 1, 1, 2);
+ FillBgTilemapBufferRect(template->bg, r9, template->tilemapLeft, template->tilemapTop - 1, template->width, 1, 2);
+ FillBgTilemapBufferRect(template->bg, r10, template->tilemapLeft + template->width, template->tilemapTop - 1, 1, 1, 2);
+ FillBgTilemapBufferRect(template->bg, sp18, template->tilemapLeft - 1, template->tilemapTop, 1, template->height, 2);
+ FillBgTilemapBufferRect(template->bg, spC, template->tilemapLeft + template->width, template->tilemapTop, 1, template->height, 2);
+ FillBgTilemapBufferRect(template->bg, sp10, template->tilemapLeft - 1, template->tilemapTop + template->height, 1, 1, 2);
+ FillBgTilemapBufferRect(template->bg, sp14, template->tilemapLeft, template->tilemapTop + template->height, template->width, 1, 2);
+ FillBgTilemapBufferRect(template->bg, r6, template->tilemapLeft + template->width, template->tilemapTop + template->height, 1, 1, 2);
+ CopyBgTilemapBufferToVram(template->bg);
}
static void ClearMainMenuWindowTilemap(const struct WindowTemplate *template)
{
- FillBgTilemapBufferRect(template->priority, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 2);
- CopyBgTilemapBufferToVram(template->priority);
+ FillBgTilemapBufferRect(template->bg, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 2);
+ CopyBgTilemapBufferToVram(template->bg);
}
static void NewGameBirchSpeech_ClearGenderWindowTilemap(u8 a, u8 b, u8 c, u8 d, u8 e, u8 unused)
@@ -2126,9 +2126,9 @@ static void NewGameBirchSpeech_ClearWindow(u8 windowId)
CopyWindowToVram(windowId, 2);
}
-static void NewGameBirchSpeech_ShowPokeBallPrinterCallback(struct TextSubPrinter *printer, u16 a)
+static void NewGameBirchSpeech_ShowPokeBallPrinterCallback(struct TextPrinterTemplate *printer, u16 a)
{
- if (*(printer->current_text_offset - 2) == 8 && gUnknown_02022D04 == 0)
+ if (*(printer->currentChar - 2) == 8 && gUnknown_02022D04 == 0)
{
gUnknown_02022D04 = 1;
CreateTask(Task_NewGameBirchSpeechSub_InitPokeBall, 0);
diff --git a/src/map_name_popup.c b/src/map_name_popup.c
index 3feffd70d..ab52cb37e 100644
--- a/src/map_name_popup.c
+++ b/src/map_name_popup.c
@@ -15,7 +15,6 @@
#include "task.h"
#include "text.h"
-
// enums
enum MapPopUp_Themes
{
@@ -33,7 +32,7 @@ static void ShowMapNamePopUpWindow(void);
static void LoadMapNamePopUpWindowBg(void);
// EWRAM
-static EWRAM_DATA u8 mapNamePopupTaskId = 0;
+static EWRAM_DATA u8 sPopupTaskId = 0;
// .rodata
static const u8 gMapPopUp_Table[][960] =
@@ -202,7 +201,7 @@ bool8 sub_80D47D4(void)
{
HideStartMenu();
ShowMapNamePopup();
- return 1;
+ return TRUE;
}
void ShowMapNamePopup(void)
@@ -211,16 +210,16 @@ void ShowMapNamePopup(void)
{
if (!FuncIsActiveTask(Task_MapNamePopUpWindow))
{
- mapNamePopupTaskId = CreateTask(Task_MapNamePopUpWindow, 90);
+ sPopupTaskId = CreateTask(Task_MapNamePopUpWindow, 90);
SetGpuReg(REG_OFFSET_BG0VOFS, 40);
- gTasks[mapNamePopupTaskId].data[0] = 6;
- gTasks[mapNamePopupTaskId].data[2] = 40;
+ gTasks[sPopupTaskId].data[0] = 6;
+ gTasks[sPopupTaskId].data[2] = 40;
}
else
{
- if (gTasks[mapNamePopupTaskId].data[0] != 2)
- gTasks[mapNamePopupTaskId].data[0] = 2;
- gTasks[mapNamePopupTaskId].data[3] = 1;
+ if (gTasks[sPopupTaskId].data[0] != 2)
+ gTasks[sPopupTaskId].data[0] = 2;
+ gTasks[sPopupTaskId].data[3] = 1;
}
}
}
@@ -246,7 +245,7 @@ static void Task_MapNamePopUpWindow(u8 taskId)
{
task->data[2] = 0;
task->data[0] = 1;
- gTasks[mapNamePopupTaskId].data[1] = 0;
+ gTasks[sPopupTaskId].data[1] = 0;
}
break;
case 1:
@@ -293,7 +292,7 @@ void HideMapNamePopUpWindow(void)
sub_819746C(GetMapNamePopUpWindowId(), TRUE);
RemoveMapNamePopUpWindow();
SetGpuReg_ForcedBlank(REG_OFFSET_BG0VOFS, 0);
- DestroyTask(mapNamePopupTaskId);
+ DestroyTask(sPopupTaskId);
}
}
@@ -304,9 +303,9 @@ static void ShowMapNamePopUpWindow(void)
u8 x;
const u8* mapDisplayHeaderSource;
- if(InBattlePyramid())
+ if (InBattlePyramid())
{
- if(gMapHeader.mapLayoutId == 0x17A)
+ if (gMapHeader.mapLayoutId == 0x17A)
{
withoutPrefixPtr = &(mapDisplayHeader[3]);
mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[7];
@@ -314,7 +313,7 @@ static void ShowMapNamePopUpWindow(void)
else
{
withoutPrefixPtr = &(mapDisplayHeader[3]);
- mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[gSaveBlock2Ptr->frontier.field_CB2];
+ mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[gSaveBlock2Ptr->frontier.curChallengeBattleNum];
}
StringCopy(withoutPrefixPtr, mapDisplayHeaderSource);
}
@@ -333,220 +332,47 @@ static void ShowMapNamePopUpWindow(void)
CopyWindowToVram(GetMapNamePopUpWindowId(), 3);
}
-#ifdef NONMATCHING
static void sub_80D4A78(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 unused)
{
s32 i;
- for(i=0; i<=11; i++)
+ for (i = 0; i < 12; i++)
{
- FillBgTilemapBufferRect(bg, 0x21D + i, x + i - 1, y - 1, 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x21D + i, i - 1 + x, y - 1, 1, 1, 0xE);
}
- FillBgTilemapBufferRect(bg, 0x229 + i, x - 1, y, 1, 1, 0xE);
- FillBgTilemapBufferRect(bg, 0x22A + i, deltaX + x, y, 1, 1, 0xE);
- FillBgTilemapBufferRect(bg, 0x22B + i, x - 1, y + 1 , 1, 1, 0xE);
- FillBgTilemapBufferRect(bg, 0x22C + i, deltaX + x, y + 1, 1, 1, 0xE);
- FillBgTilemapBufferRect(bg, 0x22D + i, x - 1, y + 2, 1, 1, 0xE);
- FillBgTilemapBufferRect(bg, 0x22E + i, deltaX + x, y + 2, 1, 1, 0xE);
- for(i=0; i<=11; i++)
+ FillBgTilemapBufferRect(bg, 0x229, x - 1, y, 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x22A, deltaX + x, y, 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x22B, x - 1, y + 1 , 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x22C, deltaX + x, y + 1, 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x22D, x - 1, y + 2, 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x22E, deltaX + x, y + 2, 1, 1, 0xE);
+ for (i = 0; i < 12; i++)
{
- FillBgTilemapBufferRect(bg, 0x22F + i, x + i - 1, y + deltaY, 1, 1, 0xE);
+ FillBgTilemapBufferRect(bg, 0x22F + i, i - 1 + x, y + deltaY, 1, 1, 0xE);
}
}
-#else
-NAKED
-static void sub_80D4A78(u8 bg, u8 x, u8 y, u8 deltaX, u8 deltaY, u8 unused)
-{
- asm("\n\
- .syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x1C\n\
- ldr r4, [sp, 0x3C]\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- mov r10, r1\n\
- lsls r2, 24\n\
- lsls r3, 24\n\
- lsrs r3, 24\n\
- str r3, [sp, 0x10]\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- str r4, [sp, 0x14]\n\
- movs r5, 0\n\
- lsls r0, r1, 24\n\
- asrs r1, r0, 24\n\
- lsrs r3, r2, 24\n\
- str r3, [sp, 0xC]\n\
- movs r6, 0xFF\n\
- lsls r6, 24\n\
- adds r6, r2\n\
- mov r8, r6\n\
- str r0, [sp, 0x18]\n\
- subs r4, r1, 0x1\n\
- _080D4AB4:\n\
- ldr r0, =0x0000021d\n\
- adds r1, r5, r0\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- lsls r2, r4, 24\n\
- lsrs r2, 24\n\
- movs r3, 0x1\n\
- str r3, [sp]\n\
- str r3, [sp, 0x4]\n\
- movs r6, 0xE\n\
- mov r9, r6\n\
- str r6, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- mov r6, r8\n\
- lsrs r3, r6, 24\n\
- bl FillBgTilemapBufferRect\n\
- adds r4, 0x1\n\
- adds r5, 0x1\n\
- cmp r5, 0xB\n\
- ble _080D4AB4\n\
- ldr r1, =0x00000229\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- add r0, r10\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- movs r5, 0x1\n\
- str r5, [sp]\n\
- str r5, [sp, 0x4]\n\
- mov r2, r9\n\
- str r2, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- mov r2, r8\n\
- ldr r3, [sp, 0xC]\n\
- bl FillBgTilemapBufferRect\n\
- ldr r1, =0x0000022a\n\
- ldr r6, [sp, 0x10]\n\
- add r6, r10\n\
- lsls r6, 24\n\
- lsrs r6, 24\n\
- str r5, [sp]\n\
- str r5, [sp, 0x4]\n\
- mov r3, r9\n\
- str r3, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- adds r2, r6, 0\n\
- ldr r3, [sp, 0xC]\n\
- bl FillBgTilemapBufferRect\n\
- ldr r1, =0x0000022b\n\
- ldr r4, [sp, 0xC]\n\
- adds r4, 0x1\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- str r5, [sp]\n\
- str r5, [sp, 0x4]\n\
- mov r0, r9\n\
- str r0, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- mov r2, r8\n\
- adds r3, r4, 0\n\
- bl FillBgTilemapBufferRect\n\
- movs r1, 0x8B\n\
- lsls r1, 2\n\
- str r5, [sp]\n\
- str r5, [sp, 0x4]\n\
- mov r2, r9\n\
- str r2, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- adds r2, r6, 0\n\
- adds r3, r4, 0\n\
- bl FillBgTilemapBufferRect\n\
- ldr r1, =0x0000022d\n\
- ldr r4, [sp, 0xC]\n\
- adds r4, 0x2\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- str r5, [sp]\n\
- str r5, [sp, 0x4]\n\
- mov r3, r9\n\
- str r3, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- mov r2, r8\n\
- adds r3, r4, 0\n\
- bl FillBgTilemapBufferRect\n\
- ldr r1, =0x0000022e\n\
- str r5, [sp]\n\
- str r5, [sp, 0x4]\n\
- mov r0, r9\n\
- str r0, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- adds r2, r6, 0\n\
- adds r3, r4, 0\n\
- bl FillBgTilemapBufferRect\n\
- movs r5, 0\n\
- ldr r1, [sp, 0xC]\n\
- ldr r2, [sp, 0x14]\n\
- adds r0, r1, r2\n\
- lsls r4, r0, 24\n\
- movs r6, 0x1\n\
- _080D4B8A:\n\
- ldr r3, =0x0000022f\n\
- adds r1, r5, r3\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- subs r0, r5, 0x1\n\
- ldr r3, [sp, 0x18]\n\
- asrs r2, r3, 24\n\
- adds r2, r0\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- str r6, [sp]\n\
- str r6, [sp, 0x4]\n\
- movs r0, 0xE\n\
- str r0, [sp, 0x8]\n\
- adds r0, r7, 0\n\
- lsrs r3, r4, 24\n\
- bl FillBgTilemapBufferRect\n\
- adds r5, 0x1\n\
- cmp r5, 0xB\n\
- ble _080D4B8A\n\
- add sp, 0x1C\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
- .syntax divided");
-}
-#endif // NONMATCHING
static void LoadMapNamePopUpWindowBg(void)
{
- u8 popupWindowId;
- u16 regionMapSectionId;
u8 popUpThemeId;
+ u8 popupWindowId = GetMapNamePopUpWindowId();
+ u16 regionMapSectionId = gMapHeader.regionMapSectionId;
- popupWindowId = GetMapNamePopUpWindowId();
- regionMapSectionId = gMapHeader.regionMapSectionId;
- if(regionMapSectionId > MAPSEC_DYNAMIC)
+ if (regionMapSectionId > MAPSEC_DYNAMIC)
{
- if(regionMapSectionId > MAPSEC_SPECIAL_AREA)
+ if (regionMapSectionId > MAPSEC_SPECIAL_AREA)
regionMapSectionId -= (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC);
else
- regionMapSectionId = 0; //discard kanto region sections
+ regionMapSectionId = 0; // Discard kanto region sections;
}
popUpThemeId = gRegionMapSectionId_To_PopUpThemeIdMapping[regionMapSectionId];
- LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_PRIORITY), &(gMapPopUp_Outline_Table[popUpThemeId][0]), 0x400, 0x21D);
+ LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_BG), gMapPopUp_Outline_Table[popUpThemeId], 0x400, 0x21D);
CallWindowFunction(popupWindowId, sub_80D4A78);
PutWindowTilemap(popupWindowId);
if(gMapHeader.weather == WEATHER_BUBBLES)
LoadPalette(&gUnknown_0857F444, 0xE0, 0x20);
else
- LoadPalette(&(gMapPopUp_Palette_Table[popUpThemeId][0]), 0xE0, 0x20);
- BlitBitmapToWindow(popupWindowId, &(gMapPopUp_Table[popUpThemeId][0]), 0, 0, 80, 24);
+ LoadPalette(gMapPopUp_Palette_Table[popUpThemeId], 0xE0, 0x20);
+ BlitBitmapToWindow(popupWindowId, gMapPopUp_Table[popUpThemeId], 0, 0, 80, 24);
}
diff --git a/src/match_call.c b/src/match_call.c
index 2879881bf..a15700070 100644
--- a/src/match_call.c
+++ b/src/match_call.c
@@ -375,7 +375,7 @@ static const match_call_text_data_t sMayTextScripts[] = {
{ gText_May_Pokenav_2B3AB3, 0xFFFF, 0xFFFF },
{ gText_May_Pokenav_2B3B3F, FLAG_0x4F1, 0xFFFF },
{ gText_May_Pokenav_2B3C13, FLAG_0x095, 0xFFFF },
- { gText_May_Pokenav_2B3CF3, FLAG_0x324, 0xFFFF },
+ { gText_May_Pokenav_2B3CF3, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ gText_May_Pokenav_2B3D4B, FLAG_0x06A, 0xFFFF },
{ gText_May_Pokenav_2B3DD1, FLAG_0x4F3, 0xFFFF },
{ gText_May_Pokenav_2B3E69, FLAG_0x4F4, 0xFFFF },
@@ -396,7 +396,7 @@ static const match_call_text_data_t sBrendanTextScripts[] = {
{ gText_Brendan_Pokenav_2B43EF, 0xFFFF, 0xFFFF },
{ gText_Brendan_Pokenav_2B4486, FLAG_0x4F1, 0xFFFF },
{ gText_Brendan_Pokenav_2B4560, FLAG_0x095, 0xFFFF },
- { gText_Brendan_Pokenav_2B463F, FLAG_0x324, 0xFFFF },
+ { gText_Brendan_Pokenav_2B463F, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ gText_Brendan_Pokenav_2B46B7, FLAG_0x06A, 0xFFFF },
{ gText_Brendan_Pokenav_2B4761, FLAG_0x4F3, 0xFFFF },
{ gText_Brendan_Pokenav_2B47F4, FLAG_0x4F4, 0xFFFF },
@@ -425,9 +425,9 @@ static const match_call_text_data_t sWallyTextScripts[] = {
};
const struct MatchCallSubstruct2 sWallyAdditionalData[] = {
- { FLAG_0x324, 0x05 },
+ { FLAG_HIDE_MAUVILLE_CITY_WALLY, 0x05 },
{ FLAG_0x06F, 0xD5 },
- { FLAG_0x35A, 0x46 },
+ { FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY, 0x46 },
{ 0xFFFF, 0xD5 }
};
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index 3d3408bbb..110ec068e 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -430,7 +430,7 @@ static void sub_81206F0(void)
gUnknown_03002F84 = FALSE;
}
-static void BardSong_TextSubPrinter(struct TextSubPrinter * printer, u16 a1)
+static void BardSong_TextSubPrinter(struct TextPrinterTemplate * printer, u16 a1)
{
gUnknown_03002F84 = TRUE;
}
@@ -1179,7 +1179,7 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu
task->data[0]++;
break;
case 1:
- selection = ProcessMenuInput();
+ selection = Menu_ProcessInput();
if (selection == -2)
break;
if (selection == -1 || selection == GetFreeStorySlot())
diff --git a/src/menu.c b/src/menu.c
index 0e5d1b856..dde0e0a1a 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -66,7 +66,7 @@ static const u8 gUnknown_0860F094[] = { 8, 4, 1 };
static const struct WindowTemplate gUnknown_0860F098[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -79,7 +79,7 @@ static const struct WindowTemplate gUnknown_0860F098[] =
static const struct WindowTemplate gUnknown_0860F0A8 =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 21,
.tilemapTop = 9,
.width = 5,
@@ -163,11 +163,11 @@ u16 RunTextPrintersAndIsPrinter0Active(void)
return IsTextPrinterActive(0);
}
-u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor)
+u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
- printer.current_text_offset = str;
+ printer.currentChar = str;
printer.windowId = windowId;
printer.fontId = fontId;
printer.x = 0;
@@ -176,31 +176,31 @@ u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed
printer.currentY = 1;
printer.letterSpacing = 0;
printer.lineSpacing = 0;
- printer.fontColor_l = 0;
+ printer.unk = 0;
printer.fgColor = fgColor;
printer.bgColor = bgColor;
printer.shadowColor = shadowColor;
- gTextFlags.flag_1 = 0;
+ gTextFlags.useAlternateDownArrow = 0;
return AddTextPrinter(&printer, speed, callback);
}
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress)
{
- void (*callback)(struct TextSubPrinter *, u16) = NULL;
- gTextFlags.flag_0 = allowSkippingDelayWithButtonPress;
- AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3);
+ void (*callback)(struct TextPrinterTemplate *, u16) = NULL;
+ gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
+ AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3);
}
void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress)
{
- gTextFlags.flag_0 = allowSkippingDelayWithButtonPress;
- AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3);
+ gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
+ AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), NULL, 2, 1, 3);
}
void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed)
{
- gTextFlags.flag_0 = allowSkippingDelayWithButtonPress;
+ gTextFlags.canABSpeedUpPrint = allowSkippingDelayWithButtonPress;
AddTextPrinterParameterized2(0, 1, gStringVar4, speed, NULL, 2, 1, 3);
}
@@ -454,11 +454,11 @@ u16 sub_81978D0(u8 colorNum)
void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback)
{
sub_81973A4();
- DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, 1, GetPlayerTextSpeed(), string, callback);
+ DisplayMessageAndContinueTask(taskId, 0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM, 1, GetPlayerTextSpeedDelay(), string, callback);
CopyWindowToVram(0, 3);
}
-void sub_8197930(void)
+void DisplayYesNoMenu(void)
{
CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0);
}
@@ -468,19 +468,19 @@ void sub_8197948(u8 initialCursorPos)
CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, initialCursorPos);
}
-u32 sub_8197964(void)
+u32 GetPlayerTextSpeed(void)
{
- if (gTextFlags.flag_3)
- return 1;
+ if (gTextFlags.forceMidTextSpeed)
+ return OPTIONS_TEXT_SPEED_MID;
return gSaveBlock2Ptr->optionsTextSpeed;
}
-u8 GetPlayerTextSpeed(void)
+u8 GetPlayerTextSpeedDelay(void)
{
u32 speed;
- if (gSaveBlock2Ptr->optionsTextSpeed > 2)
- gSaveBlock2Ptr->optionsTextSpeed = 1;
- speed = sub_8197964();
+ if (gSaveBlock2Ptr->optionsTextSpeed > OPTIONS_TEXT_SPEED_FAST)
+ gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID;
+ speed = GetPlayerTextSpeed();
return gUnknown_0860F094[speed];
}
@@ -536,10 +536,10 @@ void RemoveMapNamePopUpWindow(void)
}
}
-void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16))
+void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16))
{
- gTextFlags.flag_0 = a1;
- AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), callback, 2, 1, 3);
+ gTextFlags.canABSpeedUpPrint = a1;
+ AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), callback, 2, 1, 3);
}
void sub_8197AE8(bool8 copyToVram)
@@ -782,9 +782,9 @@ u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile)
memset(&window, 0, sizeof(window));
if (bg > 3)
- window.priority = 0;
+ window.bg = 0;
else
- window.priority = bg;
+ window.bg = bg;
window.tilemapTop = yPos;
window.height = 2;
@@ -972,7 +972,7 @@ u8 GetMenuCursorPos(void)
return gUnknown_0203CD90.cursorPos;
}
-s8 ProcessMenuInput(void)
+s8 Menu_ProcessInput(void)
{
if (gMain.newKeys & A_BUTTON)
{
@@ -1000,7 +1000,7 @@ s8 ProcessMenuInput(void)
return MENU_NOTHING_CHOSEN;
}
-s8 Menu_ProcessInputNoWrapAround(void)
+s8 Menu_ProcessInputNoWrap(void)
{
u8 oldPos = gUnknown_0203CD90.cursorPos;
@@ -1116,14 +1116,14 @@ void sub_8198854(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const stru
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8)
{
u8 i;
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
printer.windowId = windowId;
printer.fontId = fontId;
printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND);
printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND);
printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW);
- printer.fontColor_l = GetFontAttribute(fontId, FONTATTR_COLOR_LOWNIBBLE);
+ printer.unk = GetFontAttribute(fontId, FONTATTR_UNKNOWN);
printer.letterSpacing = letterSpacing;
printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING);
printer.x = left;
@@ -1131,7 +1131,7 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l
for (i = 0; i < itemCount; i++)
{
- printer.current_text_offset = strs[a8[i]].text;
+ printer.currentChar = strs[a8[i]].text;
printer.y = (lineHeight * i) + top;
printer.currentY = printer.y;
AddTextPrinter(&printer, 0xFF, NULL);
@@ -1147,7 +1147,7 @@ void sub_81989B8(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const stru
void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock)
{
- template->priority = bg;
+ template->bg = bg;
template->tilemapLeft = left;
template->tilemapTop = top;
template->width = width;
@@ -1172,12 +1172,12 @@ u16 sub_8198AA4(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16
void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
gUnknown_0203CD9F = AddWindow(window);
SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum);
- printer.current_text_offset = gText_YesNo;
+ printer.currentChar = gText_YesNo;
printer.windowId = gUnknown_0203CD9F;
printer.fontId = fontId;
printer.x = GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + left;
@@ -1187,7 +1187,7 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top
printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND);
printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND);
printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW);
- printer.fontColor_l = GetFontAttribute(fontId, FONTATTR_COLOR_LOWNIBBLE);
+ printer.unk = GetFontAttribute(fontId, FONTATTR_UNKNOWN);
printer.letterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING);
printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING);
@@ -1201,9 +1201,9 @@ void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum
sub_8198AF8(window, fontId, 0, 1, baseTileNum, paletteNum, 0);
}
-s8 Menu_ProcessInputNoWrap_(void)
+s8 Menu_ProcessInputNoWrapClearOnChoose(void)
{
- s8 result = Menu_ProcessInputNoWrapAround();
+ s8 result = Menu_ProcessInputNoWrap();
if (result != MENU_NOTHING_CHOSEN)
sub_8198C78();
return result;
@@ -1238,22 +1238,22 @@ void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u
{
u8 i;
u8 j;
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
printer.windowId = windowId;
printer.fontId = fontId;
- printer.fgColor = GetFontAttribute(fontId, 5);
- printer.bgColor = GetFontAttribute(fontId, 6);
- printer.shadowColor = GetFontAttribute(fontId, 7);
- printer.fontColor_l = GetFontAttribute(fontId, 4);
- printer.letterSpacing = GetFontAttribute(fontId, 2);
- printer.lineSpacing = GetFontAttribute(fontId, 3);
+ printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND);
+ printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND);
+ printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW);
+ printer.unk = GetFontAttribute(fontId, FONTATTR_UNKNOWN);
+ printer.letterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING);
+ printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING);
for (i = 0; i < itemCount2; i++)
{
for (j = 0; j < itemCount; j++)
{
- printer.current_text_offset = strs[a8[(itemCount * i) + j]].text;
+ printer.currentChar = strs[a8[(itemCount * i) + j]].text;
printer.x = (a4 * j) + left;
printer.y = (GetFontAttribute(fontId, 1) * i) + top;
printer.currentX = printer.x;
@@ -1447,7 +1447,7 @@ s8 sub_8199284(void)
return MENU_NOTHING_CHOSEN;
}
-s8 sub_8199334(void)
+s8 Menu_ProcessInputGridLayout(void)
{
u8 oldPos = gUnknown_0203CD90.cursorPos;
@@ -1611,14 +1611,14 @@ void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs)
void sub_81995E4(u8 windowId, u8 itemCount, const struct MenuAction *strs, const u8 *a8)
{
u8 i;
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
printer.windowId = windowId;
printer.fontId = 1;
- printer.fgColor = GetFontAttribute(1, 5);
- printer.bgColor = GetFontAttribute(1, 6);
- printer.shadowColor = GetFontAttribute(1, 7);
- printer.fontColor_l = GetFontAttribute(1, 4);
+ printer.fgColor = GetFontAttribute(1, FONTATTR_COLOR_FOREGROUND);
+ printer.bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
+ printer.shadowColor = GetFontAttribute(1, FONTATTR_COLOR_SHADOW);
+ printer.unk = GetFontAttribute(1, FONTATTR_UNKNOWN);
printer.letterSpacing = 0;
printer.lineSpacing = 0;
printer.x = 8;
@@ -1626,7 +1626,7 @@ void sub_81995E4(u8 windowId, u8 itemCount, const struct MenuAction *strs, const
for (i = 0; i < itemCount; i++)
{
- printer.current_text_offset = strs[a8[i]].text;
+ printer.currentChar = strs[a8[i]].text;
printer.y = (i * 16) + 1;
printer.currentY = (i * 16) + 1;
AddTextPrinter(&printer, 0xFF, NULL);
@@ -1637,22 +1637,22 @@ void sub_81995E4(u8 windowId, u8 itemCount, const struct MenuAction *strs, const
void CreateYesNoMenu(const struct WindowTemplate *window, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
gUnknown_0203CD9F = AddWindow(window);
SetWindowBorderStyle(gUnknown_0203CD9F, TRUE, baseTileNum, paletteNum);
- printer.current_text_offset = gText_YesNo;
+ printer.currentChar = gText_YesNo;
printer.windowId = gUnknown_0203CD9F;
printer.fontId = 1;
printer.x = 8;
printer.y = 1;
printer.currentX = printer.x;
printer.currentY = printer.y;
- printer.fgColor = GetFontAttribute(1, 5);
- printer.bgColor = GetFontAttribute(1, 6);
- printer.shadowColor = GetFontAttribute(1, 7);
- printer.fontColor_l = GetFontAttribute(1, 4);
+ printer.fgColor = GetFontAttribute(1, FONTATTR_COLOR_FOREGROUND);
+ printer.bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
+ printer.shadowColor = GetFontAttribute(1, FONTATTR_COLOR_SHADOW);
+ printer.unk = GetFontAttribute(1, FONTATTR_UNKNOWN);
printer.letterSpacing = 0;
printer.lineSpacing = 0;
@@ -1678,14 +1678,14 @@ void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct M
{
u8 i;
u8 j;
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
printer.windowId = windowId;
printer.fontId = 1;
- printer.fgColor = GetFontAttribute(1, 5);
- printer.bgColor = GetFontAttribute(1, 6);
- printer.shadowColor = GetFontAttribute(1, 7);
- printer.fontColor_l = GetFontAttribute(1, 4);
+ printer.fgColor = GetFontAttribute(1, FONTATTR_COLOR_FOREGROUND);
+ printer.bgColor = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND);
+ printer.shadowColor = GetFontAttribute(1, FONTATTR_COLOR_SHADOW);
+ printer.unk = GetFontAttribute(1, FONTATTR_UNKNOWN);
printer.letterSpacing = 0;
printer.lineSpacing = 0;
@@ -1693,7 +1693,7 @@ void sub_819983C(u8 windowId, u8 a4, u8 itemCount, u8 itemCount2, const struct M
{
for (j = 0; j < itemCount; j++)
{
- printer.current_text_offset = strs[a8[(itemCount * i) + j]].text;
+ printer.currentChar = strs[a8[(itemCount * i) + j]].text;
printer.x = (a4 * j) + 8;
printer.y = (16 * i) + 1;
printer.currentX = printer.x;
@@ -1941,9 +1941,9 @@ void sub_8199DF0(u32 bg, u8 a1, int a2, int a3)
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
- printer.current_text_offset = str;
+ printer.currentChar = str;
printer.windowId = windowId;
printer.fontId = fontId;
printer.x = left;
@@ -1952,7 +1952,7 @@ void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const
printer.currentY = printer.y;
printer.letterSpacing = GetFontAttribute(fontId, 2);
printer.lineSpacing = GetFontAttribute(fontId, 3);
- printer.fontColor_l = 0;
+ printer.unk = 0;
printer.fgColor = color[1];
printer.bgColor = color[0];
printer.shadowColor = color[2];
@@ -1962,9 +1962,9 @@ void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const
void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
- printer.current_text_offset = str;
+ printer.currentChar = str;
printer.windowId = windowId;
printer.fontId = fontId;
printer.x = left;
@@ -1973,7 +1973,7 @@ void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 left, u8 top, u8 le
printer.currentY = printer.y;
printer.letterSpacing = letterSpacing;
printer.lineSpacing = lineSpacing;
- printer.fontColor_l = 0;
+ printer.unk = 0;
printer.fgColor = color[1];
printer.bgColor = color[0];
printer.shadowColor = color[2];
@@ -1981,11 +1981,11 @@ void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 left, u8 top, u8 le
AddTextPrinter(&printer, speed, NULL);
}
-void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing)
+void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing)
{
- struct TextSubPrinter printer;
+ struct TextPrinterTemplate printer;
- printer.current_text_offset = str;
+ printer.currentChar = str;
printer.windowId = windowId;
printer.fontId = fontId;
printer.x = left;
@@ -1994,7 +1994,7 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left
printer.currentY = top;
printer.letterSpacing = letterSpacing;
printer.lineSpacing = lineSpacing;
- printer.fontColor_l = 0;
+ printer.unk = 0;
printer.fgColor = GetFontAttribute(fontId, 5);
printer.bgColor = GetFontAttribute(fontId, 6);
diff --git a/src/menu_helpers.c b/src/menu_helpers.c
index 8cabbde42..a3c0be36a 100644
--- a/src/menu_helpers.c
+++ b/src/menu_helpers.c
@@ -7,6 +7,7 @@
#include "bg.h"
#include "main.h"
#include "text.h"
+#include "graphics.h"
#include "link.h"
#include "string_util.h"
#include "sound.h"
@@ -19,9 +20,6 @@
extern bool32 sub_800B504(void);
-extern const u8 gBagSwapLineGfx[];
-extern const u8 gBagSwapLinePal[];
-
// this file's functions
static void Task_ContinueTaskAfterMessagePrints(u8 taskId);
static void Task_CallYesOrNoCallback(u8 taskId);
@@ -136,7 +134,7 @@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8
if (string != gStringVar4)
StringExpandPlaceholders(gStringVar4, string);
- gTextFlags.flag_0 = 1;
+ gTextFlags.canABSpeedUpPrint = 1;
AddTextPrinterParameterized2(windowId, fontId, gStringVar4, textSpeed, NULL, 2, 1, 3);
gUnknown_0300117C = taskFunc;
gTasks[taskId].func = Task_ContinueTaskAfterMessagePrints;
@@ -169,7 +167,7 @@ void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *templa
static void Task_CallYesOrNoCallback(u8 taskId)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
PlaySE(SE_SELECT);
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index dd594f075..2bae89ecf 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -897,7 +897,7 @@ bool8 MetatileBehavior_IsBridge(u8 metatileBehavior)
return FALSE;
}
-u8 MetatileBehavior_GetBridgeSth(u8 metatileBehavior)
+u8 MetatileBehavior_GetBridgeType(u8 metatileBehavior)
{
u8 result = metatileBehavior - MB_WARP_OR_BRIDGE;
if (result < 4)
diff --git a/src/mon_markings.c b/src/mon_markings.c
index 7f320002d..30015dbef 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -479,7 +479,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
for (i = 0; i < 2; i++)
{
spriteId = CreateSprite(&sprTemplate, x + 32, y + 32, 1);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->menuWindowSprites[i] = &gSprites[spriteId];
StartSpriteAnim(&gSprites[spriteId], i);
@@ -502,7 +502,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
for (i = 0; i < 4; i++)
{
spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 0);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->menuMarkingSprites[i] = &gSprites[spriteId];
gSprites[spriteId].data[0] = i;
@@ -518,7 +518,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
spriteId = CreateSprite(&sprTemplate, 0, 0, 0);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->menuTextSprite = &gSprites[spriteId];
sMenu->menuTextSprite->oam.shape = ST_OAM_SQUARE;
@@ -535,7 +535,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
sprTemplate.callback = sub_811FF7C;
spriteId = CreateSprite(&sprTemplate, x + 12, 0, 0);
- if(spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->unkSprite = &gSprites[spriteId];
sMenu->unkSprite->data[0] = y + 16;
@@ -600,7 +600,7 @@ static struct Sprite *sub_811FFD4(u16 tileTag, u16 paletteTag, const u16 *palett
LoadSpritePalette(&sprPalette);
spriteId = CreateSprite(&sprTemplate, 0, 0, 0);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
return &gSprites[spriteId];
else
return NULL;
diff --git a/src/money.c b/src/money.c
index dcc6afa2c..a347f818d 100644
--- a/src/money.c
+++ b/src/money.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "money.h"
+#include "graphics.h"
#include "event_data.h"
#include "string_util.h"
#include "text.h"
@@ -9,9 +10,6 @@
#include "strings.h"
#include "decompress.h"
-extern const u8 gMenuMoneyGfx[];
-extern const u8 gMenuMoneyPal[];
-
#define MAX_MONEY 999999
EWRAM_DATA static u8 sMoneyBoxWindowId = 0;
diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c
new file mode 100644
index 000000000..cd377ad83
--- /dev/null
+++ b/src/mossdeep_gym.c
@@ -0,0 +1,313 @@
+#include "global.h"
+#include "event_object_movement.h"
+#include "fieldmap.h"
+#include "malloc.h"
+#include "mossdeep_gym.h"
+#include "script_movement.h"
+#include "constants/event_object_movement_constants.h"
+
+// Movement scripts.
+extern const u8 gUnknown_08612698[];
+extern const u8 gUnknown_0861269C[];
+extern const u8 gUnknown_086126A0[];
+extern const u8 gUnknown_086126A4[];
+extern const u8 gUnknown_086126A8[];
+extern const u8 gUnknown_086126AA[];
+extern const u8 gUnknown_086126AC[];
+extern const u8 gUnknown_086126AE[];
+
+struct MossdeepSubStruct
+{
+ u8 unk0;
+ u8 eventTemplateId;
+};
+
+struct MossdeepStruct
+{
+ struct MossdeepSubStruct objects[EVENT_OBJECTS_COUNT];
+ u8 count;
+ bool8 unk41;
+};
+
+// This file's functions.
+static void AddEventObject(u8 eventTemplateId, u8 arg1);
+static void sub_81A8D94(u8 eventTemplateId, u8 arg1);
+
+// EWRAM vars
+EWRAM_DATA static struct MossdeepStruct *gUnknown_0203CE50 = NULL;
+
+// code
+void InitMossdeepGymTiles(bool8 arg0)
+{
+ if (gUnknown_0203CE50 == NULL)
+ gUnknown_0203CE50 = AllocZeroed(sizeof(*gUnknown_0203CE50));
+
+ gUnknown_0203CE50->unk41 = arg0;
+}
+
+void FinishMossdeepGymTiles(void)
+{
+ u8 id;
+
+ if (gUnknown_0203CE50 != NULL)
+ FREE_AND_SET_NULL(gUnknown_0203CE50);
+
+ id = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[id]);
+ sub_80D338C();
+}
+
+u16 MossdeepGym_MoveEvents(u8 arg0)
+{
+ u8 i;
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+ u16 localId = 0;
+
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
+ {
+ s32 var;
+ u8 r5;
+ s16 x = events[i].x + 7;
+ s16 y = events[i].y + 7;
+ u16 metatile = MapGridGetMetatileIdAt(x, y);
+
+ if (!gUnknown_0203CE50->unk41)
+ var = 0x250;
+ else
+ var = 0x298;
+
+ if (metatile < 0x250)
+ continue;
+
+ if ((u8)((metatile - var) / 8) >= 5)
+ continue;
+ if ((u8)((metatile - var) / 8) != arg0)
+ continue;
+
+ r5 = (u8)((metatile - var) % 8);
+ if (r5 < 4)
+ {
+ s8 x = 0;
+ s8 y = 0;
+ const u8 *movementScript;
+
+ switch (r5)
+ {
+ case 0:
+ movementScript = gUnknown_08612698;
+ x = 1;
+ break;
+ case 1:
+ movementScript = gUnknown_0861269C;
+ y = 1;
+ break;
+ case 2:
+ movementScript = gUnknown_086126A0;
+ x = -1;
+ break;
+ case 3:
+ movementScript = gUnknown_086126A4;
+ y = -1;
+ break;
+ default:
+ continue;
+ }
+
+ events[i].x += x;
+ events[i].y += y;
+ if (GetEventObjectIdByLocalIdAndMap(events[i].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup) != EVENT_OBJECTS_COUNT)
+ {
+ AddEventObject(i, r5);
+ localId = events[i].localId;
+ ScriptMovement_StartObjectMovementScript(localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, movementScript);
+ }
+ else
+ {
+ sub_81A8D94(i, r5);
+ }
+ }
+ }
+
+ return localId;
+}
+
+void MossdeepGym_TurnEvents(void)
+{
+ u8 i;
+ s32 var;
+ struct EventObjectTemplate *events;
+
+ if (gUnknown_0203CE50 == NULL)
+ return;
+
+ if (!gUnknown_0203CE50->unk41)
+ var = 0x250;
+ else
+ var = 0x298;
+
+ events = gSaveBlock1Ptr->eventObjectTemplates;
+ for (i = 0; i < gUnknown_0203CE50->count; i++)
+ {
+ s32 r6;
+ s8 r0;
+ u8 eventObjectId;
+ s16 x = events[gUnknown_0203CE50->objects[i].eventTemplateId].x + 7;
+ s16 y = events[gUnknown_0203CE50->objects[i].eventTemplateId].y + 7;
+ u16 metatile = MapGridGetMetatileIdAt(x, y);
+
+ r0 = (u8)((metatile - var) % 8);
+ r0 -= (gUnknown_0203CE50->objects[i].unk0);
+ if (r0 < 0 || r0 == 3)
+ {
+ if (r0 == -3)
+ r6 = 1;
+ else
+ r6 = 0;
+ }
+ else
+ {
+ if (r0 > 0)
+ r6 = 1;
+ else
+ r6 = 2;
+ }
+
+ eventObjectId = GetEventObjectIdByLocalIdAndMap(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ if (eventObjectId != EVENT_OBJECTS_COUNT)
+ {
+ const u8 *movementScript;
+ u8 direction = gEventObjects[eventObjectId].facingDirection;
+ if (r6 == 0)
+ {
+ switch (direction)
+ {
+ case DIR_EAST:
+ movementScript = gUnknown_086126AE;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case DIR_SOUTH:
+ movementScript = gUnknown_086126A8;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ case DIR_WEST:
+ movementScript = gUnknown_086126AA;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case DIR_NORTH:
+ movementScript = gUnknown_086126AC;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ default:
+ continue;
+ }
+ ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup,
+ movementScript);
+ }
+ else if (r6 == 1)
+ {
+ switch (direction)
+ {
+ case DIR_EAST:
+ movementScript = gUnknown_086126AA;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case DIR_SOUTH:
+ movementScript = gUnknown_086126AC;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ case DIR_WEST:
+ movementScript = gUnknown_086126AE;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case DIR_NORTH:
+ movementScript = gUnknown_086126A8;
+ events[gUnknown_0203CE50->objects[i].eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ default:
+ continue;
+ }
+ ScriptMovement_StartObjectMovementScript(events[gUnknown_0203CE50->objects[i].eventTemplateId].localId,
+ gSaveBlock1Ptr->location.mapNum,
+ gSaveBlock1Ptr->location.mapGroup,
+ movementScript);
+ }
+ }
+ }
+}
+
+static void AddEventObject(u8 eventTemplateId, u8 arg1)
+{
+ gUnknown_0203CE50->objects[gUnknown_0203CE50->count].eventTemplateId = eventTemplateId;
+ gUnknown_0203CE50->objects[gUnknown_0203CE50->count].unk0 = arg1;
+ gUnknown_0203CE50->count++;
+}
+
+static void sub_81A8D94(u8 eventTemplateId, u8 arg1)
+{
+ s8 r0;
+ s32 r6;
+ s32 var;
+ u16 movementType;
+ struct EventObjectTemplate *events = gSaveBlock1Ptr->eventObjectTemplates;
+ s16 x = events[eventTemplateId].x + 7;
+ s16 y = events[eventTemplateId].y + 7;
+ u16 metatile = MapGridGetMetatileIdAt(x, y);
+
+ if (!gUnknown_0203CE50->unk41)
+ var = 0x250;
+ else
+ var = 0x298;
+
+ r0 = (u8)((metatile - var) % 8);
+ r0 -= arg1;
+ if (r0 < 0 || r0 == 3)
+ r6 = 0;
+ else if (r0 > 0 || r0 == -3)
+ r6 = 1;
+ else
+ r6 = 2;
+
+ movementType = events[eventTemplateId].movementType;
+ if (r6 == 0)
+ {
+ switch (movementType)
+ {
+ case MOVEMENT_TYPE_FACE_RIGHT:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case MOVEMENT_TYPE_FACE_DOWN:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ case MOVEMENT_TYPE_FACE_LEFT:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case MOVEMENT_TYPE_FACE_UP:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ default:
+ break;
+ }
+ }
+ else if (r6 == 1)
+ {
+ switch (movementType)
+ {
+ case MOVEMENT_TYPE_FACE_RIGHT:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_DOWN;
+ break;
+ case MOVEMENT_TYPE_FACE_DOWN:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_LEFT;
+ break;
+ case MOVEMENT_TYPE_FACE_LEFT:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_UP;
+ break;
+ case MOVEMENT_TYPE_FACE_UP:
+ events[eventTemplateId].movementType = MOVEMENT_TYPE_FACE_RIGHT;
+ break;
+ default:
+ break;
+ }
+ }
+}
diff --git a/src/multiboot.c b/src/multiboot.c
index 7fd6df2d0..da90a55c0 100644
--- a/src/multiboot.c
+++ b/src/multiboot.c
@@ -1,7 +1,7 @@
#include "gba/gba.h"
#include "multiboot.h"
-static u16 MultiBoot_required_data[MULTIBOOT_NCHILD];
+IWRAM_DATA static u16 MultiBoot_required_data[MULTIBOOT_NCHILD];
static int MultiBootSend(struct MultiBootParam *mp, u16 data);
static int MultiBootHandShake(struct MultiBootParam *mp);
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index 7e09a4d70..0de4675d9 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -43,7 +43,7 @@ static const struct BgTemplate sBgTemplates[] =
static const struct WindowTemplate sWindowTemplates[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 4,
.tilemapTop = 15,
.width = 22,
@@ -52,7 +52,7 @@ static const struct WindowTemplate sWindowTemplates[] =
.baseBlock = 20
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 7,
.tilemapTop = 6,
.width = 16,
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index 921c8e97c..4196bb34c 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -18,7 +18,6 @@
#include "pokemon_storage_system.h"
extern void sub_811EFC0(u8);
-extern void ValidateEReaderTrainer(void);
extern ScrCmdFunc gMysteryEventScriptCmdTable[];
extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[];
diff --git a/src/naming_screen.c b/src/naming_screen.c
index 4d4178c7a..9902df04c 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -16,6 +16,7 @@
#include "constants/vars.h"
#include "constants/songs.h"
#include "pokemon_storage_system.h"
+#include "graphics.h"
#include "sound.h"
#include "trig.h"
#include "field_effect.h"
@@ -30,20 +31,6 @@
EWRAM_DATA static struct NamingScreenData *gNamingScreenData = NULL;
extern u16 gKeyRepeatStartDelay;
-// extern graphics
-extern const u16 gNamingScreenMenu_Pal[];
-extern const u8 gNamingScreenMenu_Gfx[];
-extern const u8 gUnknown_08DD4544[];
-extern const u8 gUnknown_08DD4620[];
-extern const u8 gUnknown_08DD46E0[];
-extern const u8 gUnknown_08DD47A0[];
-extern const u8 gNamingScreenRWindow_Gfx[];
-extern const u8 gNamingScreenKeyboardButton_Gfx[];
-extern const u8 gNamingScreenROptions_Gfx[];
-extern const u8 gNamingScreenCursor_Gfx[];
-extern const u8 gNamingScreenRightPointingTriangleTiles[];
-extern const u8 gNamingScreenUnderscoreTiles[];
-
// extern text
extern const u8 gExpandedPlaceholder_Empty[];
extern const u8 gText_PkmnTransferredSomeonesPC[];
@@ -116,7 +103,7 @@ static const struct BgTemplate gUnknown_0858BE00[] =
static const struct WindowTemplate gUnknown_0858BE10[] =
{
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 3,
.tilemapTop = 10,
.width = 19,
@@ -125,7 +112,7 @@ static const struct WindowTemplate gUnknown_0858BE10[] =
.baseBlock = 0x030
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 3,
.tilemapTop = 10,
.width = 19,
@@ -134,7 +121,7 @@ static const struct WindowTemplate gUnknown_0858BE10[] =
.baseBlock = 0x0C8
},
{
- .priority = 3,
+ .bg = 3,
.tilemapLeft = 8,
.tilemapTop = 6,
.width = 17,
@@ -143,7 +130,7 @@ static const struct WindowTemplate gUnknown_0858BE10[] =
.baseBlock = 0x030
},
{
- .priority = 3,
+ .bg = 3,
.tilemapLeft = 8,
.tilemapTop = 4,
.width = 17,
@@ -152,7 +139,7 @@ static const struct WindowTemplate gUnknown_0858BE10[] =
.baseBlock = 0x052
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 30,
@@ -571,8 +558,8 @@ static void DisplaySentToPCMessage(void)
StringExpandPlaceholders(gStringVar4, gUnknown_0858BDB8[stringToDisplay]);
NewMenuHelpers_DrawDialogueFrame(0, 0);
- gTextFlags.flag_0 = TRUE;
- AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), 0, 2, 1, 3);
+ gTextFlags.canABSpeedUpPrint = TRUE;
+ AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), 0, 2, 1, 3);
CopyWindowToVram(0, 3);
}
diff --git a/src/new_game.c b/src/new_game.c
index 127e48c35..18b128624 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -26,8 +26,8 @@
#include "item.h"
#include "pokedex.h"
#include "apprentice.h"
+#include "frontier_util.h"
-extern u8 gDifferentSaveFile;
extern u16 gSaveFileStatus;
extern u8 gUnknown_030060B0;
@@ -45,7 +45,6 @@ extern void NewGameInitPCItems(void);
extern void ClearDecorationInventories(void);
extern void ResetFanClub(void);
extern void copy_strings_to_sav1(void);
-extern void sub_81A4B14(void);
extern void sub_8195E10(void);
extern void sub_801AFD8(void);
extern void sub_800E5AC(void);
@@ -61,6 +60,10 @@ static void ClearFrontierRecord(void);
static void WarpToTruck(void);
static void ResetMiniGamesResults(void);
+// EWRAM vars
+EWRAM_DATA bool8 gDifferentSaveFile = FALSE;
+EWRAM_DATA bool8 gUnknown_020322D5 = FALSE;
+
// const rom data
static const struct ContestWinner sContestWinnerPicDummy =
{
@@ -69,30 +72,30 @@ static const struct ContestWinner sContestWinnerPicDummy =
};
// code
-void WriteUnalignedWord(u32 var, u8 *dataPtr)
+void SetTrainerId(u32 trainerId, u8 *dst)
{
- dataPtr[0] = var;
- dataPtr[1] = var >> 8;
- dataPtr[2] = var >> 16;
- dataPtr[3] = var >> 24;
+ dst[0] = trainerId;
+ dst[1] = trainerId >> 8;
+ dst[2] = trainerId >> 16;
+ dst[3] = trainerId >> 24;
}
-u32 ReadUnalignedWord(u8* dataPtr)
+u32 GetTrainerId(u8 *trainerId)
{
- return (dataPtr[3] << 24) | (dataPtr[2] << 16) | (dataPtr[1] << 8) | (dataPtr[0]);
+ return (trainerId[3] << 24) | (trainerId[2] << 16) | (trainerId[1] << 8) | (trainerId[0]);
}
-void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom)
+void CopyTrainerId(u8 *dst, u8 *src)
{
s32 i;
for (i = 0; i < 4; i++)
- copyTo[i] = copyFrom[i];
+ dst[i] = src[i];
}
static void InitPlayerTrainerId(void)
{
u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower();
- WriteUnalignedWord(trainerId, gSaveBlock2Ptr->playerTrainerId);
+ SetTrainerId(trainerId, gSaveBlock2Ptr->playerTrainerId);
}
// L=A isnt set here for some reason.
@@ -204,7 +207,7 @@ void NewGameInitData(void)
copy_strings_to_sav1();
SetLilycoveLady();
ResetAllApprenticeData();
- sub_81A4B14();
+ ClearRankingHallRecords();
sub_8195E10();
sub_801AFD8();
sub_800E5AC();
diff --git a/src/normal.c b/src/normal.c
new file mode 100644
index 000000000..3de8b1157
--- /dev/null
+++ b/src/normal.c
@@ -0,0 +1,970 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "palette.h"
+#include "random.h"
+#include "task.h"
+#include "trig.h"
+#include "constants/rgb.h"
+
+void AnimConfusionDuck(struct Sprite *);
+void AnimSimplePaletteBlend(struct Sprite *);
+u32 UnpackSelectedBattleAnimPalettes(s16);
+void sub_81158A4(struct Sprite *);
+void sub_81159B4(struct Sprite *);
+void sub_81160A4(struct Sprite *);
+void sub_8116388(struct Sprite *);
+void sub_8116420(struct Sprite *);
+void sub_8116458(struct Sprite *);
+void sub_81164F0(struct Sprite *);
+void sub_8116560(struct Sprite *);
+void sub_81165A8(struct Sprite *);
+static void AnimConfusionDuckStep(struct Sprite *);
+static void AnimSimplePaletteBlendStep(struct Sprite *);
+static void sub_81158F8(struct Sprite *);
+static void sub_8115984(struct Sprite *);
+static void sub_8115A54(u8, u8, u8);
+static void sub_8115AA4(u8);
+static void sub_8115BC8(u8, u8, u8);
+static void sub_8115C18(u8);
+static void sub_8115CD0(u8, u8, u8);
+static void sub_8115D2C(u8);
+static void sub_8115E00(u8);
+static void sub_8115EB8(u8);
+static void sub_8116148(struct Sprite *);
+static void sub_81161F4(void);
+static void sub_81162F8(u8);
+static void sub_81163D0(struct Sprite *);
+static void sub_81165E4(struct Sprite *);
+
+extern void sub_810E2C8(struct Sprite *);
+
+const union AnimCmd gUnknown_0859722C[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08597240[] =
+{
+ ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08597254[] =
+{
+ gUnknown_0859722C,
+ gUnknown_08597240,
+};
+
+const struct SpriteTemplate gConfusionDuckSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_DUCK,
+ .paletteTag = ANIM_TAG_DUCK,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08597254,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimConfusionDuck,
+};
+
+const struct SpriteTemplate gSimplePaletteBlendSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimSimplePaletteBlend,
+};
+
+const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81158A4,
+};
+
+const union AnimCmd gUnknown_085972A4[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085972BC[] =
+{
+ gUnknown_085972A4,
+};
+
+const struct SpriteTemplate gUnknown_085972C0 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_4,
+ .paletteTag = ANIM_TAG_SPARKLE_4,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085972BC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81159B4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85972D8 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81160A4,
+};
+
+const union AffineAnimCmd gUnknown_085972F0[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597300[] =
+{
+ AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597318[] =
+{
+ AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08597330[] =
+{
+ AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08597348[] =
+{
+ gUnknown_085972F0,
+ gUnknown_08597300,
+ gUnknown_08597318,
+ gUnknown_08597330,
+};
+
+const struct SpriteTemplate gBasicHitSplatSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_8116388,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8597370 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_8116420,
+};
+
+const struct SpriteTemplate gUnknown_08597388 =
+{
+ .tileTag = ANIM_TAG_WATER_IMPACT,
+ .paletteTag = ANIM_TAG_WATER_IMPACT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_8116388,
+};
+
+const struct SpriteTemplate gUnknown_085973A0 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_8116458,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85973B8 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_81164F0,
+};
+
+const struct SpriteTemplate gUnknown_085973D0 =
+{
+ .tileTag = ANIM_TAG_CROSS_IMPACT,
+ .paletteTag = ANIM_TAG_CROSS_IMPACT,
+ .oam = &gUnknown_08524A34,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8116560,
+};
+
+const struct SpriteTemplate gUnknown_085973E8 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_81165A8,
+};
+
+const struct SpriteTemplate gUnknown_08597400 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08597348,
+ .callback = sub_81163D0,
+};
+
+// Moves a spinning duck around the mon's head.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: initial wave offset
+// arg 3: wave period (higher means faster wave)
+// arg 4: duration
+void AnimConfusionDuck(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->data[1] = -gBattleAnimArgs[3];
+ sprite->data[4] = 1;
+ }
+ else
+ {
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[4] = 0;
+ StartSpriteAnim(sprite, 1);
+ }
+
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->callback = AnimConfusionDuckStep;
+ sprite->callback(sprite);
+}
+
+static void AnimConfusionDuckStep(struct Sprite *sprite)
+{
+ sprite->pos2.x = Cos(sprite->data[0], 30);
+ sprite->pos2.y = Sin(sprite->data[0], 10);
+
+ if ((u16)sprite->data[0] < 128)
+ sprite->oam.priority = 1;
+ else
+ sprite->oam.priority = 3;
+
+ sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF;
+ if (++sprite->data[2] == sprite->data[3])
+ DestroyAnimSprite(sprite);
+}
+
+// Performs a simple color blend on a specified sprite.
+// arg 0: palette selector
+// arg 1: delay
+// arg 2: start blend amount
+// arg 3: end blend amount
+// arg 4: blend color
+void AnimSimplePaletteBlend(struct Sprite *sprite)
+{
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
+ BeginNormalPaletteFade(selectedPalettes, gBattleAnimArgs[1], gBattleAnimArgs[2], gBattleAnimArgs[3], gBattleAnimArgs[4]);
+ sprite->invisible = 1;
+ sprite->callback = AnimSimplePaletteBlendStep;
+}
+
+// Unpacks a bitfield and returns a bitmask of its selected palettes.
+// Bits 0-6 of the selector parameter result in the following palettes being selected:
+// 0: battle background palettes (BG palettes 1, 2, and 3)
+// 1: gBattleAnimAttacker OBJ palette
+// 2: gBattleAnimTarget OBJ palette
+// 3: gBattleAnimAttacker partner OBJ palette
+// 4: gBattleAnimTarget partner OBJ palette
+// 5: BG palette 4
+// 6: BG palette 5
+u32 UnpackSelectedBattleAnimPalettes(s16 selector)
+{
+ u8 arg0 = selector & 1;
+ u8 arg1 = (selector >> 1) & 1;
+ u8 arg2 = (selector >> 2) & 1;
+ u8 arg3 = (selector >> 3) & 1;
+ u8 arg4 = (selector >> 4) & 1;
+ u8 arg5 = (selector >> 5) & 1;
+ u8 arg6 = (selector >> 6) & 1;
+ return sub_80A75AC(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+}
+
+static void AnimSimplePaletteBlendStep(struct Sprite *sprite)
+{
+ if (!gPaletteFade.active)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81158A4(struct Sprite *sprite)
+{
+ u32 selectedPalettes;
+
+ sprite->data[0] = gBattleAnimArgs[1];
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[2];
+ sprite->data[3] = gBattleAnimArgs[3];
+ sprite->data[4] = gBattleAnimArgs[4];
+ sprite->data[5] = gBattleAnimArgs[5];
+ sprite->data[6] = gBattleAnimArgs[6];
+ sprite->data[7] = gBattleAnimArgs[0];
+
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]);
+ BlendPalettes(selectedPalettes, gBattleAnimArgs[4], gBattleAnimArgs[3]);
+ sprite->invisible = 1;
+ sprite->callback = sub_81158F8;
+}
+
+static void sub_81158F8(struct Sprite *sprite)
+{
+ u32 selectedPalettes;
+
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ return;
+ }
+
+ if (gPaletteFade.active)
+ return;
+
+ if (sprite->data[2] == 0)
+ {
+ sprite->callback = sub_8115984;
+ return;
+ }
+
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]);
+ if (sprite->data[1] & 0x100)
+ BlendPalettes(selectedPalettes, sprite->data[4], sprite->data[3]);
+ else
+ BlendPalettes(selectedPalettes, sprite->data[6], sprite->data[5]);
+
+ sprite->data[1] ^= 0x100;
+ sprite->data[0] = sprite->data[1] & 0xFF;
+ sprite->data[2]--;
+}
+
+static void sub_8115984(struct Sprite *sprite)
+{
+ u32 selectedPalettes;
+
+ if (!gPaletteFade.active)
+ {
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]);
+ BlendPalettes(selectedPalettes, 0, 0);
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_81159B4(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = 0;
+ sprite->data[1] = 10;
+ sprite->data[2] = 8;
+ sprite->data[3] = 40;
+ sprite->data[4] = 112;
+ sprite->data[5] = 0;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A634C;
+ sprite->callback(sprite);
+}
+
+void sub_8115A04(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[8] = 0;
+ sub_8115A54(taskId, 0, gTasks[taskId].data[4]);
+ gTasks[taskId].func = sub_8115AA4;
+}
+
+static void sub_8115A54(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount)
+{
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].data[0]);
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ gTasks[taskId].data[1],
+ initialBlendAmount,
+ targetBlendAmount,
+ gTasks[taskId].data[5]);
+
+ gTasks[taskId].data[2]--;
+ gTasks[taskId].data[8] ^= 1;
+}
+
+static void sub_8115AA4(u8 taskId)
+{
+ u8 initialBlendAmount, targetBlendAmount;
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskId].data[2] > 0)
+ {
+ if (gTasks[taskId].data[8] == 0)
+ {
+ initialBlendAmount = gTasks[taskId].data[3];
+ targetBlendAmount = gTasks[taskId].data[4];
+ }
+ else
+ {
+ initialBlendAmount = gTasks[taskId].data[4];
+ targetBlendAmount = gTasks[taskId].data[3];
+ }
+
+ if (gTasks[taskId].data[2] == 1)
+ targetBlendAmount = 0;
+
+ sub_8115A54(taskId, initialBlendAmount, targetBlendAmount);
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8115B0C(u8 taskId)
+{
+ int battler;
+ u32 selectedPalettes = 0;
+
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[8] = 0;
+
+ for (battler = 0; battler < gBattlersCount; battler++)
+ {
+ if (battler != gBattleAnimAttacker && battler != gBattleAnimTarget)
+ selectedPalettes |= 1 << (battler + 16);
+ }
+
+ if (gBattleAnimArgs[0] == 1)
+ selectedPalettes |= 0xE;
+
+ gTasks[taskId].data[9] = selectedPalettes >> 16;
+ gTasks[taskId].data[10] = selectedPalettes & 0xFF;
+ sub_8115BC8(taskId, 0, gTasks[taskId].data[4]);
+ gTasks[taskId].func = sub_8115C18;
+}
+
+static void sub_8115BC8(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount)
+{
+ u32 selectedPalettes = ((u16)gTasks[taskId].data[9] << 16) | (u16)gTasks[taskId].data[10];
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ gTasks[taskId].data[1],
+ initialBlendAmount,
+ targetBlendAmount,
+ gTasks[taskId].data[5]);
+
+ gTasks[taskId].data[2]--;
+ gTasks[taskId].data[8] ^= 1;
+}
+
+static void sub_8115C18(u8 taskId)
+{
+ u8 initialBlendAmount, targetBlendAmount;
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskId].data[2] > 0)
+ {
+ if (gTasks[taskId].data[8] == 0)
+ {
+ initialBlendAmount = gTasks[taskId].data[3];
+ targetBlendAmount = gTasks[taskId].data[4];
+ }
+ else
+ {
+ initialBlendAmount = gTasks[taskId].data[4];
+ targetBlendAmount = gTasks[taskId].data[3];
+ }
+
+ if (gTasks[taskId].data[2] == 1)
+ targetBlendAmount = 0;
+
+ sub_8115BC8(taskId, initialBlendAmount, targetBlendAmount);
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8115C80(u8 taskId)
+{
+ u8 paletteIndex;
+
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[8] = 0;
+
+ sub_8115CD0(taskId, 0, gTasks[taskId].data[4]);
+ gTasks[taskId].func = sub_8115D2C;
+}
+
+static void sub_8115CD0(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount)
+{
+ u8 paletteIndex = IndexOfSpritePaletteTag(gTasks[taskId].data[0]);
+ BeginNormalPaletteFade(
+ 1 << (paletteIndex + 16),
+ gTasks[taskId].data[1],
+ initialBlendAmount,
+ targetBlendAmount,
+ gTasks[taskId].data[5]);
+
+ gTasks[taskId].data[2]--;
+ gTasks[taskId].data[8] ^= 1;
+}
+
+static void sub_8115D2C(u8 taskId)
+{
+ u8 initialBlendAmount, targetBlendAmount;
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskId].data[2] > 0)
+ {
+ if (gTasks[taskId].data[8] == 0)
+ {
+ initialBlendAmount = gTasks[taskId].data[3];
+ targetBlendAmount = gTasks[taskId].data[4];
+ }
+ else
+ {
+ initialBlendAmount = gTasks[taskId].data[4];
+ targetBlendAmount = gTasks[taskId].data[3];
+ }
+
+ if (gTasks[taskId].data[2] == 1)
+ targetBlendAmount = 0;
+
+ sub_8115CD0(taskId, initialBlendAmount, targetBlendAmount);
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8115D94(u8 taskId)
+{
+ u8 paletteIndex;
+
+ gTasks[taskId].data[0] = gBattleAnimArgs[1];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[6] = gBattleAnimArgs[6];
+ gTasks[taskId].data[7] = gBattleAnimArgs[0];
+
+ paletteIndex = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
+ BeginNormalPaletteFade(
+ 1 << (paletteIndex + 16),
+ 0,
+ gBattleAnimArgs[4],
+ gBattleAnimArgs[4],
+ gBattleAnimArgs[3]);
+
+ gTasks[taskId].func = sub_8115E00;
+}
+
+static void sub_8115E00(u8 taskId)
+{
+ u32 selectedPalettes;
+
+ if (gTasks[taskId].data[0] > 0)
+ {
+ gTasks[taskId].data[0]--;
+ return;
+ }
+
+ if (gPaletteFade.active)
+ return;
+
+ if (gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].func = sub_8115EB8;
+ return;
+ }
+
+ selectedPalettes = 1 << (IndexOfSpritePaletteTag(gTasks[taskId].data[7]) + 16);
+ if (gTasks[taskId].data[1] & 0x100)
+ {
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ 0,
+ gTasks[taskId].data[4],
+ gTasks[taskId].data[4],
+ gTasks[taskId].data[3]);
+ }
+ else
+ {
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ 0,
+ gTasks[taskId].data[6],
+ gTasks[taskId].data[6],
+ gTasks[taskId].data[5]);
+ }
+
+ gTasks[taskId].data[1] ^= 0x100;
+ gTasks[taskId].data[0] = gTasks[taskId].data[1] & 0xFF;
+ gTasks[taskId].data[2]--;
+}
+
+static void sub_8115EB8(u8 taskId)
+{
+ u32 selectedPalettes;
+
+ if (!gPaletteFade.active)
+ {
+ selectedPalettes = 1 << (IndexOfSpritePaletteTag(gTasks[taskId].data[7]) + 16);
+ BeginNormalPaletteFade(selectedPalettes, 0, 0, 0, RGB(0, 0, 0));
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_8115F10(u8 taskId)
+{
+ u32 selectedPalettes = 0;
+ u8 attackerBattler = gBattleAnimAttacker;
+ u8 targetBattler = gBattleAnimTarget;
+
+ if (gBattleAnimArgs[0] & 0x100)
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+
+ if (gBattleAnimArgs[1] & 0x100)
+ selectedPalettes |= (0x10000 << attackerBattler);
+
+ if (gBattleAnimArgs[2] & 0x100)
+ selectedPalettes |= (0x10000 << targetBattler);
+
+ InvertPlttBuffer(selectedPalettes);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8115F94(u8 taskId)
+{
+ u8 attackerBattler;
+ u8 targetBattler;
+ u8 paletteIndex;
+ u32 selectedPalettes = 0;
+
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[2] = gBattleAnimArgs[0];
+ gTasks[taskId].data[3] = gBattleAnimArgs[1];
+ gTasks[taskId].data[4] = gBattleAnimArgs[2];
+ gTasks[taskId].data[1] = gBattleAnimArgs[3];
+ gTasks[taskId].data[5] = gBattleAnimArgs[4];
+ gTasks[taskId].data[6] = gBattleAnimArgs[5];
+ gTasks[taskId].data[7] = gBattleAnimArgs[6];
+ }
+
+ gTasks[taskId].data[0]++;
+ attackerBattler = gBattleAnimAttacker;
+ targetBattler = gBattleAnimTarget;
+
+ if (gTasks[taskId].data[2] & 0x100)
+ selectedPalettes = 0x0000FFFF;
+
+ if (gTasks[taskId].data[2] & 0x1)
+ {
+ paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag);
+ selectedPalettes |= (1 << paletteIndex) << 16;
+ }
+
+ if (gTasks[taskId].data[3] & 0x100)
+ selectedPalettes |= (1 << attackerBattler) << 16;
+
+ if (gTasks[taskId].data[4] & 0x100)
+ selectedPalettes |= (1 << targetBattler) << 16;
+
+ TintPlttBuffer(selectedPalettes, gTasks[taskId].data[5], gTasks[taskId].data[6], gTasks[taskId].data[7]);
+ if (gTasks[taskId].data[0] == gTasks[taskId].data[1])
+ {
+ UnfadePlttBuffer(selectedPalettes);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_81160A4(struct Sprite *sprite)
+{
+ u16 var0;
+
+ sprite->invisible = 1;
+ sprite->data[0] = -gBattleAnimArgs[0];
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[1];
+ sprite->data[3] = gBattleAnimArgs[2];
+
+ switch (gBattleAnimArgs[3])
+ {
+ case 0:
+ StoreSpriteCallbackInData6(sprite, (void *)&gBattle_BG3_X);
+ break;
+ case 1:
+ StoreSpriteCallbackInData6(sprite, (void *)&gBattle_BG3_Y);
+ break;
+ case 2:
+ StoreSpriteCallbackInData6(sprite, (void *)&gSpriteCoordOffsetX);
+ break;
+ default:
+ StoreSpriteCallbackInData6(sprite, (void *)&gSpriteCoordOffsetY);
+ break;
+ }
+
+ sprite->data[4] = *(u16 *)(sprite->data[6] | (sprite->data[7] << 16));
+ sprite->data[5] = gBattleAnimArgs[3];
+ var0 = sprite->data[5] - 2;
+ if (var0 < 2)
+ sub_81161F4();
+
+ sprite->callback = sub_8116148;
+}
+
+static void sub_8116148(struct Sprite *sprite)
+{
+ u8 i;
+ u16 var0;
+
+ if (sprite->data[3] > 0)
+ {
+ sprite->data[3]--;
+ if (sprite->data[1] > 0)
+ {
+ sprite->data[1]--;
+ }
+ else
+ {
+ sprite->data[1] = sprite->data[2];
+ *(u16 *)(sprite->data[6] | (sprite->data[7] << 16)) += sprite->data[0];
+ sprite->data[0] = -sprite->data[0];
+ }
+ }
+ else
+ {
+ *(u16 *)(sprite->data[6] | (sprite->data[7] << 16)) = sprite->data[4];
+ var0 = sprite->data[5] - 2;
+ if (var0 < 2)
+ {
+ for (i = 0; i < gBattlersCount; i++)
+ gSprites[gBattlerSpriteIds[i]].coordOffsetEnabled = 0;
+ }
+
+ DestroyAnimSprite(sprite);
+ }
+}
+
+static void sub_81161F4(void)
+{
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 0;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 0;
+
+ if (gBattleAnimArgs[4] == 2)
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1;
+ }
+ else
+ {
+ if (gBattleAnimArgs[4] == 0)
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1;
+ else
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1;
+ }
+}
+
+void sub_81162A4(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[8] = gBattleAnimArgs[3];
+ gBattle_BG3_X = gBattleAnimArgs[0];
+ gBattle_BG3_Y = gBattleAnimArgs[1];
+ gTasks[taskId].func = sub_81162F8;
+ gTasks[taskId].func(taskId);
+}
+
+static void sub_81162F8(u8 taskId)
+{
+ if (gTasks[taskId].data[3] == 0)
+ {
+ if (gBattle_BG3_X == gTasks[taskId].data[0])
+ gBattle_BG3_X = -gTasks[taskId].data[0];
+ else
+ gBattle_BG3_X = gTasks[taskId].data[0];
+
+ if (gBattle_BG3_Y == -gTasks[taskId].data[1])
+ gBattle_BG3_Y = 0;
+ else
+ gBattle_BG3_Y = -gTasks[taskId].data[1];
+
+ gTasks[taskId].data[3] = gTasks[taskId].data[8];
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gBattle_BG3_X = 0;
+ gBattle_BG3_Y = 0;
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ else
+ {
+ gTasks[taskId].data[3]--;
+ }
+}
+
+void sub_8116388(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->callback = sub_80A67BC;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+static void sub_81163D0(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->callback = sub_80A67BC;
+ StoreSpriteCallbackInData6(sprite, sub_810E2C8);
+}
+
+void sub_8116420(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest())
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+
+ sub_8116388(sprite);
+}
+
+void sub_8116458(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[1] == -1)
+ gBattleAnimArgs[1] = Random2() & 3;
+
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]);
+ if (gBattleAnimArgs[0] == 0)
+ InitAnimSpritePos(sprite, 0);
+ else
+ sub_80A6980(sprite, FALSE);
+
+ sprite->pos2.x += (Random2() % 48) - 24;
+ sprite->pos2.y += (Random2() % 24) - 12;
+
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A67BC;
+}
+
+void sub_81164F0(struct Sprite *sprite)
+{
+ sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x;
+ sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + gSprites[sprite->data[0]].pos2.y;
+ sprite->pos2.x = gBattleAnimArgs[1];
+ sprite->pos2.y = gBattleAnimArgs[2];
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A67BC;
+}
+
+void sub_8116560(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = WaitAnimForDuration;
+}
+
+void sub_81165A8(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->callback = sub_81165E4;
+}
+
+static void sub_81165E4(struct Sprite *sprite)
+{
+ sprite->invisible ^= 1;
+ if (sprite->data[0]++ > 12)
+ DestroyAnimSprite(sprite);
+}
diff --git a/src/option_menu.c b/src/option_menu.c
index 6cb208c63..122ba8d8a 100644
--- a/src/option_menu.c
+++ b/src/option_menu.c
@@ -92,7 +92,7 @@ static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] =
static const struct WindowTemplate sOptionMenuWinTemplates[] =
{
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 26,
@@ -101,7 +101,7 @@ static const struct WindowTemplate sOptionMenuWinTemplates[] =
.baseBlock = 2
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 5,
.width = 26,
diff --git a/src/overworld.c b/src/overworld.c
index 94c3f8328..3193ec0d3 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "overworld.h"
+#include "battle_pyramid.h"
#include "battle_setup.h"
#include "berry.h"
#include "bg.h"
@@ -52,6 +53,7 @@
#include "tv.h"
#include "scanline_effect.h"
#include "wild_encounter.h"
+#include "frontier_util.h"
#include "constants/abilities.h"
#include "constants/map_types.h"
#include "constants/maps.h"
@@ -86,12 +88,6 @@ extern const struct MapHeader *const *const gMapGroups[];
extern const s32 gMaxFlashLevel;
extern const u16 gUnknown_82EC7C4[];
-u16 gUnknown_03005DA8;
-MainCallback gFieldCallback;
-bool8 (*gFieldCallback2)(void);
-u8 gUnknown_03005DB4;
-u8 gFieldLinkPlayerCount;
-
// functions
extern void HealPlayerParty(void);
extern void move_tilemap_camera_to_upper_left_corner(void);
@@ -112,7 +108,6 @@ extern void ShowMapNamePopup(void);
extern bool32 InTrainerHill(void);
extern bool32 sub_808651C(void);
extern bool8 sub_80AF6A4(void);
-extern bool8 sub_81A9E6C(void);
extern bool8 sub_80E909C(void);
extern void sub_81AA1D8(void);
extern void c2_change_map(void);
@@ -136,7 +131,6 @@ extern void sub_8087D74(void);
extern void battle_pyramid_map_load_related(u8);
extern void sub_80B00E8(u8);
extern void sub_80E9238(u8);
-extern void sub_81A3908(void);
extern void sub_81AA2F8(void);
extern void sub_8195E10(void);
extern void sub_80EDB44(void);
@@ -166,8 +160,8 @@ extern u32 sub_800B4DC(void);
extern bool32 sub_80B39D4(u8);
extern const u8* GetInteractedLinkPlayerScript(struct MapPosition *a1, u8, u8);
extern u8 *GetCoordEventScriptAtMapPosition(void*);
-extern u8 sub_808BD6C(u8);
-extern u8 sub_808BD7C(u8);
+extern u8 GetFRLGAvatarGraphicsIdByGender(u8);
+extern u8 GetRSAvatarGraphicsIdByGender(u8);
extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8);
// this file's functions
@@ -256,6 +250,16 @@ IWRAM_DATA static u8 sUnknown_03000E18;
IWRAM_DATA static u8 sUnknown_03000E19;
IWRAM_DATA static u32 sUnusedVar;
+// IWRAM common
+u16 *gBGTilemapBuffers1;
+u16 *gBGTilemapBuffers2;
+u16 *gBGTilemapBuffers3;
+u16 gUnknown_03005DA8;
+void (*gFieldCallback)(void);
+bool8 (*gFieldCallback2)(void);
+u8 gUnknown_03005DB4;
+u8 gFieldLinkPlayerCount;
+
// EWRAM vars
EWRAM_DATA static u8 sUnknown_020322D8 = 0;
EWRAM_DATA struct WarpData gLastUsedWarp = {0};
@@ -517,7 +521,7 @@ void LoadSaveblockEventObjScripts(void)
struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
s32 i;
- for (i = 0; i < 64; i++)
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
savObjTemplates[i].script = mapHeaderObjTemplates[i].script;
}
@@ -526,7 +530,7 @@ void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y)
s32 i;
struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
- for (i = 0; i < 64; i++)
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
{
struct EventObjectTemplate *eventObjectTemplate = &savObjTemplates[i];
if (eventObjectTemplate->localId == localId)
@@ -543,7 +547,7 @@ void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType)
s32 i;
struct EventObjectTemplate *savObjTemplates = gSaveBlock1Ptr->eventObjectTemplates;
- for (i = 0; i < 64; i++)
+ for (i = 0; i < EVENT_OBJECT_TEMPLATES_COUNT; i++)
{
struct EventObjectTemplate *eventObjectTemplate = &savObjTemplates[i];
if (eventObjectTemplate->localId == localId)
@@ -585,7 +589,7 @@ void set_warp2_warp3_to_neg_1(void)
gFixedHoleWarp = sDummyWarpData;
}
-void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
+static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
{
warp->mapGroup = mapGroup;
warp->mapNum = mapNum;
@@ -594,7 +598,7 @@ void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x,
warp->y = y;
}
-bool32 IsDummyWarp(struct WarpData *warp)
+static bool32 IsDummyWarp(struct WarpData *warp)
{
if (warp->mapGroup != -1)
return FALSE;
@@ -620,7 +624,7 @@ struct MapHeader const *const GetDestinationWarpMapHeader(void)
return Overworld_GetMapHeaderByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum);
}
-void LoadCurrentMapData(void)
+static void LoadCurrentMapData(void)
{
sLastMapSectionId = gMapHeader.regionMapSectionId;
gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
@@ -628,13 +632,13 @@ void LoadCurrentMapData(void)
gMapHeader.mapLayout = GetMapLayout();
}
-void LoadSaveblockMapHeader(void)
+static void LoadSaveblockMapHeader(void)
{
gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
gMapHeader.mapLayout = GetMapLayout();
}
-void SetPlayerCoordsFromWarp(void)
+static void SetPlayerCoordsFromWarp(void)
{
if (gSaveBlock1Ptr->location.warpId >= 0 && gSaveBlock1Ptr->location.warpId < gMapHeader.events->warpCount)
{
@@ -729,7 +733,7 @@ void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y)
SetWarpData(&gFixedDiveWarp, mapGroup, mapNum, warpId, x, y);
}
-void SetFixedDiveWarpAsDestination(void)
+static void SetFixedDiveWarpAsDestination(void)
{
sWarpDestination = gFixedDiveWarp;
}
@@ -764,7 +768,7 @@ void sub_8084F6C(u8 a1)
SetWarpData(&gSaveBlock1Ptr->warp1, warp->group, warp->map, -1, warp->x, warp->y);
}
-void sub_8084FAC(void)
+void sub_8084FAC(int unused)
{
gSaveBlock1Ptr->warp1 = gSaveBlock1Ptr->warp2;
}
@@ -785,7 +789,7 @@ const struct MapConnection *GetMapConnection(u8 dir)
return NULL;
}
-bool8 SetDiveWarp(u8 dir, u16 x, u16 y)
+static bool8 SetDiveWarp(u8 dir, u16 x, u16 y)
{
const struct MapConnection *connection = GetMapConnection(dir);
@@ -905,8 +909,8 @@ static void mli0_load_map(u32 a1)
void ResetInitialPlayerAvatarState(void)
{
- gInitialPlayerAvatarState.direction = 1;
- gInitialPlayerAvatarState.transitionFlags = 1;
+ gInitialPlayerAvatarState.direction = DIR_SOUTH;
+ gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT;
}
void StoreInitialPlayerAvatarState(void)
@@ -914,15 +918,15 @@ void StoreInitialPlayerAvatarState(void)
gInitialPlayerAvatarState.direction = GetPlayerFacingDirection();
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE))
- gInitialPlayerAvatarState.transitionFlags = 2;
+ gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_MACH_BIKE;
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE))
- gInitialPlayerAvatarState.transitionFlags = 4;
+ gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ACRO_BIKE;
else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
- gInitialPlayerAvatarState.transitionFlags = 8;
- else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4))
- gInitialPlayerAvatarState.transitionFlags = 16;
+ gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_SURFING;
+ else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER))
+ gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_UNDERWATER;
else
- gInitialPlayerAvatarState.transitionFlags = 1;
+ gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT;
}
static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void)
@@ -940,44 +944,44 @@ static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void)
static u8 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType)
{
if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE))
- return 1;
+ return PLAYER_AVATAR_FLAG_ON_FOOT;
else if (mapType == MAP_TYPE_UNDERWATER)
- return 16;
+ return PLAYER_AVATAR_FLAG_UNDERWATER;
else if (MetatileBehavior_IsSurfableWaterOrUnderwater(metatileBehavior) == TRUE)
- return 8;
+ return PLAYER_AVATAR_FLAG_SURFING;
else if (Overworld_IsBikingAllowed() != TRUE)
- return 1;
- else if (playerStruct->transitionFlags == 2)
- return 2;
- else if (playerStruct->transitionFlags != 4)
- return 1;
+ return PLAYER_AVATAR_FLAG_ON_FOOT;
+ else if (playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_MACH_BIKE)
+ return PLAYER_AVATAR_FLAG_MACH_BIKE;
+ else if (playerStruct->transitionFlags != PLAYER_AVATAR_FLAG_ACRO_BIKE)
+ return PLAYER_AVATAR_FLAG_ON_FOOT;
else
- return 4;
+ return PLAYER_AVATAR_FLAG_ACRO_BIKE;
}
static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType)
{
if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_6)
- return 4;
+ return DIR_EAST;
else if (MetatileBehavior_IsDeepSouthWarp(metatileBehavior) == TRUE)
- return 2;
+ return DIR_NORTH;
else if (MetatileBehavior_IsNonAnimDoor(metatileBehavior) == TRUE || MetatileBehavior_IsDoor(metatileBehavior) == TRUE)
- return 1;
+ return DIR_SOUTH;
else if (MetatileBehavior_IsSouthArrowWarp(metatileBehavior) == TRUE)
- return 2;
+ return DIR_NORTH;
else if (MetatileBehavior_IsNorthArrowWarp(metatileBehavior) == TRUE)
- return 1;
+ return DIR_SOUTH;
else if (MetatileBehavior_IsWestArrowWarp(metatileBehavior) == TRUE)
- return 4;
+ return DIR_EAST;
else if (MetatileBehavior_IsEastArrowWarp(metatileBehavior) == TRUE)
- return 3;
- else if ((playerStruct->transitionFlags == 16 && transitionFlags == 8)
- || (playerStruct->transitionFlags == 8 && transitionFlags == 16))
+ return DIR_WEST;
+ else if ((playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_UNDERWATER && transitionFlags == PLAYER_AVATAR_FLAG_SURFING)
+ || (playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_SURFING && transitionFlags == PLAYER_AVATAR_FLAG_UNDERWATER ))
return playerStruct->direction;
else if (MetatileBehavior_IsLadder(metatileBehavior) == TRUE)
return playerStruct->direction;
else
- return 1;
+ return DIR_SOUTH;
}
static u16 GetCenterScreenMetatileBehavior(void)
@@ -1357,7 +1361,7 @@ u8 Overworld_GetMapTypeOfSaveblockLocation(void)
return GetMapTypeByWarpData(&gSaveBlock1Ptr->location);
}
-u8 get_map_light_from_warp0(void)
+u8 GetLastUsedWarpMapType(void)
{
return GetMapTypeByWarpData(&gLastUsedWarp);
}
@@ -1458,7 +1462,7 @@ static void DoCB1_Overworld(u16 newKeys, u16 heldKeys)
FieldGetPlayerInput(&inputStruct, newKeys, heldKeys);
if (!ScriptContext2_IsEnabled())
{
- if (sub_809C014(&inputStruct) == 1)
+ if (ProcessPlayerFieldInput(&inputStruct) == 1)
{
ScriptContext2_Enable();
HideMapNamePopUpWindow();
@@ -1808,7 +1812,7 @@ static void InitCurrentFlashLevelScanlineEffect(void)
{
u8 flashLevel;
- if (sub_81A9E6C())
+ if (InBattlePyramid_())
{
door_upload_tiles();
ScanlineEffect_SetParams(sFlashEffectParams);
@@ -2166,9 +2170,9 @@ static void sub_8086988(u32 a1)
static void sub_80869DC(void)
{
- gUnknown_03005DEC = 0;
- gUnknown_03005DE8 = 0;
- sub_808D438();
+ gTotalCameraPixelOffsetX = 0;
+ gTotalCameraPixelOffsetY = 0;
+ ResetEventObjects();
TrySpawnEventObjects(0, 0);
mapheader_run_first_tag4_script_list_match();
}
@@ -2178,9 +2182,9 @@ static void mli4_mapscripts_and_other(void)
s16 x, y;
struct InitialPlayerAvatarState *player;
- gUnknown_03005DEC = 0;
- gUnknown_03005DE8 = 0;
- sub_808D438();
+ gTotalCameraPixelOffsetX = 0;
+ gTotalCameraPixelOffsetY = 0;
+ ResetEventObjects();
sav1_camera_get_focus_coords(&x, &y);
player = GetInitialPlayerAvatarState();
InitPlayerAvatar(x, y, player->direction, gSaveBlock2Ptr->playerGender);
@@ -2951,7 +2955,7 @@ static void sub_808780C(u8 linkPlayerId)
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
u8 eventObjId = linkPlayerEventObj->eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
- if (eventObj->spriteId != 64 )
+ if (eventObj->spriteId != MAX_SPRITES)
DestroySprite(&gSprites[eventObj->spriteId]);
linkPlayerEventObj->active = 0;
eventObj->active = 0;
@@ -3137,14 +3141,14 @@ static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion)
{
case VERSION_FIRE_RED:
case VERSION_LEAF_GREEN:
- eventObj->spriteId = AddPseudoEventObject(sub_808BD6C(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
+ eventObj->spriteId = AddPseudoEventObject(GetFRLGAvatarGraphicsIdByGender(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
break;
case VERSION_RUBY:
case VERSION_SAPPHIRE:
- eventObj->spriteId = AddPseudoEventObject(sub_808BD7C(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
+ eventObj->spriteId = AddPseudoEventObject(GetRSAvatarGraphicsIdByGender(eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
break;
case VERSION_EMERALD:
- eventObj->spriteId = AddPseudoEventObject(GetRivalAvatarGraphicsIdByStateIdAndGender(0, eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
+ eventObj->spriteId = AddPseudoEventObject(GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, eventObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0);
break;
}
diff --git a/src/party_menu.c b/src/party_menu.c
index 1f419f6bb..833950657 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "battle.h"
+#include "battle_controllers.h"
#include "battle_interface.h"
#include "bg.h"
#include "constants/battle.h"
@@ -84,7 +85,7 @@ extern struct Unk_203CEDC *gUnknown_0203CEDC;
extern u8 *gUnknown_0203CEE0;
extern struct Unk_203CEE4 *gUnknown_0203CEE4;
extern u8 gUnknown_0203CEE8;
-extern u8 gUnknown_0203CEF8[];
+extern u8 gSelectedOrderFromParty[];
// ABOVE TO BE PUT IN EWRAM
@@ -295,7 +296,7 @@ void sub_81B0038(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc f, MainCallback g)
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.flag_2 = 0;
+ gTextFlags.autoScroll = 0;
CalculatePlayerPartyCount();
SetMainCallback2(c2_811EBD0);
}
@@ -672,7 +673,7 @@ void sub_81B0A9C(u8 slot)
{
u8 i;
struct Pokemon *currentPokemon = &gPlayerParty[slot];
- u8 *ptr = gUnknown_0203CEF8;
+ u8 *ptr = gSelectedOrderFromParty;
if (!sub_81B85AC(currentPokemon))
{
@@ -952,7 +953,7 @@ bool8 sub_81B118C(u8 slot)
if (gUnknown_0203CEC8.unk8_1 == 2 && (slot == 1 || slot == 4 || slot == 5))
return TRUE;
- if (slot < 3 && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->field_2A0 >> sub_81B8F38(slot) & 1))
+ if (slot < 3 && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> sub_81B8F38(slot) & 1))
return TRUE;
return FALSE;
@@ -1194,7 +1195,7 @@ void sub_81B16D4(u8 taskId)
void sub_81B1708(u8 taskId)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
gUnknown_0203CEE8 = 0;
@@ -2169,7 +2170,7 @@ void sub_81B2248(u8 taskId)
void sub_81B227C(u8 taskId)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
gSpecialVar_0x8004 = 7;
diff --git a/src/player_pc.c b/src/player_pc.c
index bdbef1b43..59ba36350 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -185,7 +185,7 @@ const struct MenuAction gMailboxMailOptions[] =
static const struct WindowTemplate gUnknown_085DFF24[3] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 9,
@@ -194,7 +194,7 @@ static const struct WindowTemplate gUnknown_085DFF24[3] =
.baseBlock = 1
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 9,
@@ -203,7 +203,7 @@ static const struct WindowTemplate gUnknown_085DFF24[3] =
.baseBlock = 1
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 10,
@@ -243,7 +243,7 @@ static const struct ListMenuTemplate gUnknown_085DFF44 =
static const struct WindowTemplate gUnknown_085DFF5C[5] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 1,
.width = 13,
@@ -252,7 +252,7 @@ static const struct WindowTemplate gUnknown_085DFF5C[5] =
.baseBlock = 0x0001
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 13,
.width = 13,
@@ -261,7 +261,7 @@ static const struct WindowTemplate gUnknown_085DFF5C[5] =
.baseBlock = 0x00EB
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 8,
.width = 3,
@@ -270,7 +270,7 @@ static const struct WindowTemplate gUnknown_085DFF5C[5] =
.baseBlock = 0x0153
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 1,
.width = 13,
@@ -279,7 +279,7 @@ static const struct WindowTemplate gUnknown_085DFF5C[5] =
.baseBlock = 0x0139
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 8,
.tilemapTop = 9,
.width = 6,
@@ -291,7 +291,7 @@ static const struct WindowTemplate gUnknown_085DFF5C[5] =
static const struct WindowTemplate gUnknown_085DFF84 =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 9,
.tilemapTop = 7,
.width = 5,
@@ -332,7 +332,7 @@ static void InitPlayerPCMenu(u8 taskId)
struct WindowTemplate windowTemplate;
data = gTasks[taskId].data;
- if(gPcItemMenuOptionsNum == 3)
+ if (gPcItemMenuOptionsNum == 3)
windowTemplate = gUnknown_085DFF24[0];
else
windowTemplate = gUnknown_085DFF24[1];
@@ -351,10 +351,10 @@ static void PlayerPCProcessMenuInput(u8 taskId)
s8 inputOptionId;
data = gTasks[taskId].data;
- if(gPcItemMenuOptionsNum > 3)
- inputOptionId = ProcessMenuInput();
+ if (gPcItemMenuOptionsNum > 3)
+ inputOptionId = Menu_ProcessInput();
else
- inputOptionId = Menu_ProcessInputNoWrapAround();
+ inputOptionId = Menu_ProcessInputNoWrap();
switch(inputOptionId)
{
@@ -402,7 +402,7 @@ static void PlayerPC_Mailbox(u8 taskId)
playerPCItemPageInfo.scrollIndicatorId = 0xFF;
Mailbox_UpdateMailList();
ItemStorage_SetItemAndMailCount(taskId);
- if(sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
+ if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
{
sub_8197434(0, 0);
Mailbox_DrawMailboxMenu(taskId);
@@ -463,7 +463,7 @@ static void ItemStorageMenuProcessInput(u8 taskId)
s8 inputOptionId;
r5 = GetMenuCursorPos();
- inputOptionId = ProcessMenuInput();
+ inputOptionId = Menu_ProcessInput();
r2 = GetMenuCursorPos();
switch(inputOptionId)
{
@@ -595,7 +595,7 @@ static u8 GetMailboxMailCount(void)
u8 i, j;
for(i = 0, j = 6; j < 16; j++)
- if(gSaveBlock1Ptr->mail[j].itemId != 0)
+ if (gSaveBlock1Ptr->mail[j].itemId != 0)
i++;
return i;
@@ -637,7 +637,7 @@ static void Mailbox_ProcessInput(u8 taskId)
u16 *data = gTasks[taskId].data;
s32 inputOptionId;
- if(!gPaletteFade.active)
+ if (!gPaletteFade.active)
{
inputOptionId = ListMenuHandleInputGetItemId(data[5]);
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
@@ -721,7 +721,7 @@ static void Mailbox_DoMailRead(u8 taskId)
static void Mailbox_FadeAndReadMail(u8 taskId)
{
- if(!gPaletteFade.active)
+ if (!gPaletteFade.active)
{
sub_81D1EC0();
overworld_free_bg_tilemaps();
@@ -742,7 +742,7 @@ static void pal_fill_for_maplights_or_black(void)
sub_81973A4();
taskId = CreateTask(Mailbox_HandleReturnToProcessInput, 0);
- if(sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
+ if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
@@ -751,7 +751,7 @@ static void pal_fill_for_maplights_or_black(void)
static void Mailbox_HandleReturnToProcessInput(u8 taskId)
{
- if(IsWeatherNotFadingIn() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
gTasks[taskId].func = Mailbox_ProcessInput;
}
@@ -762,13 +762,13 @@ static void Mailbox_MoveToBag(u8 taskId)
static void Mailbox_DrawYesNoBeforeMove(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
gTasks[taskId].func = Mailbox_MoveToBagYesNoPrompt;
}
static void Mailbox_MoveToBagYesNoPrompt(u8 taskId)
{
- switch(Menu_ProcessInputNoWrap_())
+ switch(Menu_ProcessInputNoWrapClearOnChoose())
{
case 0:
Mailbox_DoMailMoveToBag(taskId);
@@ -787,7 +787,7 @@ static void Mailbox_MoveToBagYesNoPrompt(u8 taskId)
static void Mailbox_DoMailMoveToBag(u8 taskId)
{
struct MailStruct *mailStruct = &(gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos]);
- if(!AddBagItem(mailStruct->itemId, 1))
+ if (!AddBagItem(mailStruct->itemId, 1))
{
DisplayItemMessageOnField(taskId, gText_BagIsFull, Mailbox_Cancel);
}
@@ -797,7 +797,7 @@ static void Mailbox_DoMailMoveToBag(u8 taskId)
ClearMailStruct(mailStruct);
Mailbox_UpdateMailList();
playerPCItemPageInfo.count--;
- if(playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove) && playerPCItemPageInfo.itemsAbove != 0)
+ if (playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove) && playerPCItemPageInfo.itemsAbove != 0)
playerPCItemPageInfo.itemsAbove--;
ItemStorage_SetItemAndMailCount(taskId);
}
@@ -810,7 +810,7 @@ static void Mailbox_CancelMoveToBag(u8 taskId)
static void Mailbox_Give(u8 taskId)
{
- if(CalculatePlayerPartyCount() == 0)
+ if (CalculatePlayerPartyCount() == 0)
Mailbox_NoPokemonForMail(taskId);
else
{
@@ -821,7 +821,7 @@ static void Mailbox_Give(u8 taskId)
static void Mailbox_DoGiveMailPokeMenu(u8 taskId)
{
- if(!gPaletteFade.active)
+ if (!gPaletteFade.active)
{
sub_81D1EC0();
overworld_free_bg_tilemaps();
@@ -844,12 +844,12 @@ static void Mailbox_UpdateMailListAfterDeposit(void)
prevCount = playerPCItemPageInfo.count;
playerPCItemPageInfo.count = GetMailboxMailCount();
Mailbox_UpdateMailList();
- if(prevCount != playerPCItemPageInfo.count && (playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove))
+ if (prevCount != playerPCItemPageInfo.count && (playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove))
&& playerPCItemPageInfo.itemsAbove != 0)
playerPCItemPageInfo.itemsAbove--;
ItemStorage_SetItemAndMailCount(taskId);
sub_81973A4();
- if(sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
+ if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
@@ -890,7 +890,7 @@ static void sub_816BC58(void)
static u8 sub_816BC7C(u8 a)
{
u8 *windowIdLoc = &(gUnknown_0203BCC4->windowIds[a]);
- if(*windowIdLoc == 0xFF)
+ if (*windowIdLoc == 0xFF)
{
*windowIdLoc = AddWindow(&gUnknown_085DFF5C[a]);
SetWindowBorderStyle(*windowIdLoc, FALSE, 0x214, 0xE);
@@ -902,7 +902,7 @@ static u8 sub_816BC7C(u8 a)
static void sub_816BCC4(u8 a)
{
u8 *windowIdLoc = &(gUnknown_0203BCC4->windowIds[a]);
- if(*windowIdLoc != 0xFF)
+ if (*windowIdLoc != 0xFF)
{
sub_8198070(*windowIdLoc, FALSE);
ClearWindowTilemap(*windowIdLoc);
@@ -939,12 +939,12 @@ void CopyItemName_PlayerPC(u8 *string, u16 itemId)
static void ItemStorage_MoveCursor(s32 id, bool8 b, struct ListMenu *thisMenu)
{
- if(b != TRUE)
+ if (b != TRUE)
PlaySE(SE_SELECT);
- if(gUnknown_0203BCC4->unk666 == 0xFF)
+ if (gUnknown_0203BCC4->unk666 == 0xFF)
{
sub_816C0C8();
- if(id != -2)
+ if (id != -2)
sub_816C060(gSaveBlock1Ptr->pcItems[id].itemId);
else
sub_816C060(ITEMPC_GO_BACK_TO_PREV);
@@ -954,11 +954,11 @@ static void ItemStorage_MoveCursor(s32 id, bool8 b, struct ListMenu *thisMenu)
static void fish4_goto_x5_or_x6(u8 windowId, s32 id, u8 yOffset)
{
- if(id != -2)
+ if (id != -2)
{
- if(gUnknown_0203BCC4->unk666 != 0xFF)
+ if (gUnknown_0203BCC4->unk666 != 0xFF)
{
- if(gUnknown_0203BCC4->unk666 == (u8)id)
+ if (gUnknown_0203BCC4->unk666 == (u8)id)
sub_816BFE0(yOffset, 0, 0xFF);
else
sub_816BFE0(yOffset, 0xFF, 0xFF);
@@ -974,7 +974,7 @@ static void sub_816BEF0(s32 id)
const u8* description;
u8 windowId = gUnknown_0203BCC4->windowIds[1];
- if(id != -2)
+ if (id != -2)
description = (u8 *)ItemId_GetDescription(gSaveBlock1Ptr->pcItems[id].itemId);
else
description = ItemStorage_GetItemPcResponse(ITEMPC_GO_BACK_TO_PREV);
@@ -984,13 +984,13 @@ static void sub_816BEF0(s32 id)
static void ItemStorage_StartScrollIndicator(void)
{
- if(playerPCItemPageInfo.scrollIndicatorId == 0xFF)
+ if (playerPCItemPageInfo.scrollIndicatorId == 0xFF)
playerPCItemPageInfo.scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xB0, 0xC, 0x94, playerPCItemPageInfo.count - playerPCItemPageInfo.pageItems, 0x13F8, 0x13F8, &(playerPCItemPageInfo.itemsAbove));
}
static void ItemStorage_RemoveScrollIndicator(void)
{
- if(playerPCItemPageInfo.scrollIndicatorId != 0xFF)
+ if (playerPCItemPageInfo.scrollIndicatorId != 0xFF)
{
RemoveScrollIndicatorArrowPair(playerPCItemPageInfo.scrollIndicatorId);
playerPCItemPageInfo.scrollIndicatorId = 0xFF;
@@ -1005,7 +1005,7 @@ static void sub_816BFB8(u8 a, u8 b, u8 speed)
static void sub_816BFE0(u8 y, u8 b, u8 speed)
{
u8 windowId = gUnknown_0203BCC4->windowIds[0];
- if(b == 0xFF)
+ if (b == 0xFF)
FillWindowPixelRect(windowId, 17, 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1));
else
AddTextPrinterParameterized4(windowId, 1, 0, y, 0, 0, gUnknown_085DFF8C, speed, gText_SelectorArrow2);
@@ -1016,12 +1016,12 @@ static void sub_816C060(u16 itemId)
u8 spriteId;
u8* spriteIdLoc = &(gUnknown_0203BCC4->spriteId);
- if(*spriteIdLoc == 0xFF)
+ if (*spriteIdLoc == 0xFF)
{
FreeSpriteTilesByTag(0x13F6);
FreeSpritePaletteByTag(0x13F6);
spriteId = AddItemIconSprite(0x13F6, 0x13F6, itemId);
- if(spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
*spriteIdLoc = spriteId;
gSprites[spriteId].oam.priority = 0;
@@ -1034,7 +1034,7 @@ static void sub_816C060(u16 itemId)
static void sub_816C0C8(void)
{
u8* spriteIdLoc = &(gUnknown_0203BCC4->spriteId);
- if(*spriteIdLoc != 0xFF)
+ if (*spriteIdLoc != 0xFF)
{
FreeSpriteTilesByTag(0x13F6);
FreeSpritePaletteByTag(0x13F6);
@@ -1067,7 +1067,7 @@ static void ItemStorage_ProcessWithdrawTossInput(u8 taskId)
sub_816BC7C(i);
toss = data[3];
text = gText_TossItem;
- if(!toss)
+ if (!toss)
text = gText_WithdrawItem;
x = GetStringCenterAlignXOffset(1, text, 104);
AddTextPrinterParameterized(gUnknown_0203BCC4->windowIds[3], 1, text, x, 1, 0, NULL);
@@ -1135,10 +1135,10 @@ static void ItemStorage_ProcessInput(u8 taskId)
s32 id;
data = gTasks[taskId].data;
- if(gMain.newKeys & SELECT_BUTTON)
+ if (gMain.newKeys & SELECT_BUTTON)
{
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
- if((playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos) != (playerPCItemPageInfo.count - 1))
+ if ((playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos) != (playerPCItemPageInfo.count - 1))
{
PlaySE(SE_SELECT);
ItemStorage_ItemSwapChoosePrompt(taskId);
@@ -1169,10 +1169,10 @@ static void ItemStorage_GoBackToPlayerPCMenu_InitStorage(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if(!IsDma3ManagerBusyWithBgCopy())
+ if (!IsDma3ManagerBusyWithBgCopy())
{
NewMenuHelpers_DrawDialogueFrame(0, 0);
- if(!data[3])
+ if (!data[3])
InitItemStorageMenu(taskId, ITEMPC_MENU_WITHDRAW);
else
InitItemStorageMenu(taskId, ITEMPC_MENU_TOSS);
@@ -1213,7 +1213,7 @@ static void sub_816C4FC(u8 taskId)
s32 id;
data = gTasks[taskId].data;
- if(gMain.newKeys & SELECT_BUTTON)
+ if (gMain.newKeys & SELECT_BUTTON)
{
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
ItemStorage_DoItemSwap(taskId, FALSE);
@@ -1228,7 +1228,7 @@ static void sub_816C4FC(u8 taskId)
case -1:
break;
case -2:
- if(gMain.newKeys & A_BUTTON)
+ if (gMain.newKeys & A_BUTTON)
{
ItemStorage_DoItemSwap(taskId, FALSE);
}
@@ -1251,12 +1251,12 @@ static void ItemStorage_DoItemSwap(u8 taskId, bool8 a)
b = (playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos);
PlaySE(SE_SELECT);
DestroyListMenuTask(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
- if(!a)
+ if (!a)
{
c = gUnknown_0203BCC4->unk666;
- if(c != b)
+ if (c != b)
{
- if(c != b - 1)
+ if (c != b - 1)
{
MoveItemSlotInList(gSaveBlock1Ptr->pcItems, c, b);
ItemStorage_RefreshListMenu();
@@ -1296,9 +1296,9 @@ static void ItemStorage_DoItemAction(u8 taskId)
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
ItemStorage_RemoveScrollIndicator();
data[2] = 1;
- if(!data[3])
+ if (!data[3])
{
- if(gSaveBlock1Ptr->pcItems[b].quantity == 1)
+ if (gSaveBlock1Ptr->pcItems[b].quantity == 1)
{
ItemStorage_DoItemWithdraw(taskId);
return;
@@ -1308,7 +1308,7 @@ static void ItemStorage_DoItemAction(u8 taskId)
}
else
{
- if(gSaveBlock1Ptr->pcItems[b].quantity == 1)
+ if (gSaveBlock1Ptr->pcItems[b].quantity == 1)
{
ItemStorage_DoItemToss(taskId);
return;
@@ -1327,20 +1327,20 @@ static void ItemStorage_HandleQuantityRolling(u8 taskId)
data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
- if(AdjustQuantityAccordingToDPadInput(&(data[2]), gSaveBlock1Ptr->pcItems[b].quantity) == TRUE)
+ if (AdjustQuantityAccordingToDPadInput(&(data[2]), gSaveBlock1Ptr->pcItems[b].quantity) == TRUE)
sub_816C6BC(sub_816BC7C(4), data[2], STR_CONV_MODE_LEADING_ZEROS, 8, 1, 3);
else
{
- if(gMain.newKeys & A_BUTTON)
+ if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
sub_816BCC4(4);
- if(!data[3])
+ if (!data[3])
ItemStorage_DoItemWithdraw(taskId);
else
ItemStorage_DoItemToss(taskId);
}
- else if(gMain.newKeys & B_BUTTON)
+ else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
sub_816BCC4(4);
@@ -1357,7 +1357,7 @@ static void ItemStorage_DoItemWithdraw(u8 taskId)
data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
- if(AddBagItem(gSaveBlock1Ptr->pcItems[b].itemId, data[2]) == TRUE)
+ if (AddBagItem(gSaveBlock1Ptr->pcItems[b].itemId, data[2]) == TRUE)
{
CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3);
@@ -1379,7 +1379,7 @@ static void ItemStorage_DoItemToss(u8 taskId)
data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
- if(!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId))
+ if (!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId))
{
CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3);
@@ -1411,7 +1411,7 @@ static void ItemStorage_HandleRemoveItem(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if(gMain.newKeys & (A_BUTTON | B_BUTTON))
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
RemovePCItem((playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove), data[2]);
DestroyListMenuTask(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
@@ -1428,7 +1428,7 @@ static void ItemStorage_WaitPressHandleResumeProcessInput(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if(gMain.newKeys & (A_BUTTON | B_BUTTON))
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
ItemStorage_PrintItemPcResponse(ItemStorage_GetItemPcResponse(gSaveBlock1Ptr->pcItems[(playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos)].itemId));
ItemStorage_StartScrollIndicatorAndProcessInput(taskId);
diff --git a/src/poison.c b/src/poison.c
new file mode 100644
index 000000000..efa89ec13
--- /dev/null
+++ b/src/poison.c
@@ -0,0 +1,323 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "trig.h"
+#include "constants/rgb.h"
+
+extern void sub_80A77C8(struct Sprite *);
+
+void sub_810DBAC(struct Sprite *);
+void sub_810DC2C(struct Sprite *);
+void sub_810DCD0(struct Sprite *);
+void sub_810DD50(struct Sprite *);
+void AnimBubbleEffect(struct Sprite *);
+static void sub_810DC10(struct Sprite *);
+static void sub_810DCB4(struct Sprite *);
+static void sub_810DD24(struct Sprite *);
+static void AnimBubbleEffectStep(struct Sprite *);
+
+extern const union AnimCmd *const gUnknown_08595200[];
+
+const union AnimCmd gUnknown_0859611C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596130[] =
+{
+ gUnknown_0859611C,
+};
+
+const struct SpriteTemplate gUnknown_08596134 =
+{
+ .tileTag = ANIM_TAG_TOXIC_BUBBLE,
+ .paletteTag = ANIM_TAG_TOXIC_BUBBLE,
+ .oam = &gUnknown_08524954,
+ .anims = gUnknown_08596130,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const union AnimCmd gUnknown_0859614C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596154[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859615C[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596164[] =
+{
+ gUnknown_0859614C,
+};
+
+const union AnimCmd *const gUnknown_08596168[] =
+{
+ gUnknown_08596154,
+};
+
+const union AnimCmd *const gUnknown_0859616C[] =
+{
+ gUnknown_0859615C,
+};
+
+const union AffineAnimCmd gUnknown_08596170[] =
+{
+ AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
+ AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gUnknown_08596190[] =
+{
+ AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085961A0[] =
+{
+ gUnknown_08596170,
+};
+
+const union AffineAnimCmd *const gUnknown_085961A4[] =
+{
+ gUnknown_08596190,
+};
+
+const struct SpriteTemplate gUnknown_085961A8 =
+{
+ .tileTag = ANIM_TAG_POISON_BUBBLE,
+ .paletteTag = ANIM_TAG_POISON_BUBBLE,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08596164,
+ .images = NULL,
+ .affineAnims = gUnknown_085961A0,
+ .callback = sub_810DBAC,
+};
+
+const struct SpriteTemplate gUnknown_085961C0 =
+{
+ .tileTag = ANIM_TAG_POISON_BUBBLE,
+ .paletteTag = ANIM_TAG_POISON_BUBBLE,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08596164,
+ .images = NULL,
+ .affineAnims = gUnknown_085961A0,
+ .callback = sub_810DC2C,
+};
+
+const struct SpriteTemplate gUnknown_085961D8 =
+{
+ .tileTag = ANIM_TAG_POISON_BUBBLE,
+ .paletteTag = ANIM_TAG_POISON_BUBBLE,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_0859616C,
+ .images = NULL,
+ .affineAnims = gUnknown_085961A4,
+ .callback = sub_810DCD0,
+};
+
+const union AffineAnimCmd gUnknown_085961F0[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFF0, 0x10, 0, 6),
+ AFFINEANIMCMD_FRAME(0x10, 0xFFF0, 0, 6),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08596208[] =
+{
+ gUnknown_085961F0,
+};
+
+const struct SpriteTemplate gUnknown_0859620C =
+{
+ .tileTag = ANIM_TAG_POISON_BUBBLE,
+ .paletteTag = ANIM_TAG_POISON_BUBBLE,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08596168,
+ .images = NULL,
+ .affineAnims = gUnknown_08596208,
+ .callback = sub_810DD50,
+};
+
+const union AffineAnimCmd gUnknown_08596224[] =
+{
+ AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859623C[] =
+{
+ gUnknown_08596224,
+};
+
+const struct SpriteTemplate gPoisonBubbleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_POISON_BUBBLE,
+ .paletteTag = ANIM_TAG_POISON_BUBBLE,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_08596164,
+ .images = NULL,
+ .affineAnims = gUnknown_0859623C,
+ .callback = AnimBubbleEffect,
+};
+
+const struct SpriteTemplate gWaterBubbleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_08595200,
+ .images = NULL,
+ .affineAnims = gUnknown_0859623C,
+ .callback = AnimBubbleEffect,
+};
+
+void sub_810DBAC(struct Sprite *sprite)
+{
+ if (!gBattleAnimArgs[3])
+ StartSpriteAnim(sprite, 2);
+
+ InitAnimSpritePos(sprite, 1);
+
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[5] = -30;
+
+ InitAnimArcTranslation(sprite);
+
+ sprite->callback = sub_810DC10;
+}
+
+static void sub_810DC10(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+void sub_810DC2C(struct Sprite *sprite)
+{
+ s16 l1, l2;
+ if (!gBattleAnimArgs[3])
+ StartSpriteAnim(sprite, 2);
+
+ InitAnimSpritePos(sprite, 1);
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &l1, &l2);
+
+ if (GetBattlerSide(gBattleAnimAttacker))
+ gBattleAnimArgs[4] = -gBattleAnimArgs[4];
+
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = l1 + gBattleAnimArgs[4];
+ sprite->data[4] = l2 + gBattleAnimArgs[5];
+ sprite->data[5] = -30;
+
+ InitAnimArcTranslation(sprite);
+
+ sprite->callback = sub_810DCB4;
+}
+
+static void sub_810DCB4(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+void sub_810DCD0(struct Sprite *sprite)
+{
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[0];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[1];
+
+ InitSpriteDataForLinearTranslation(sprite);
+
+ sprite->data[5] = sprite->data[1] / gBattleAnimArgs[2];
+ sprite->data[6] = sprite->data[2] / gBattleAnimArgs[2];
+
+ sprite->callback = sub_810DD24;
+}
+
+static void sub_810DD24(struct Sprite *sprite)
+{
+ sub_80A656C(sprite);
+
+ sprite->data[1] -= sprite->data[5];
+ sprite->data[2] -= sprite->data[6];
+
+ if (!sprite->data[0])
+ DestroyAnimSprite(sprite);
+}
+
+void sub_810DD50(struct Sprite *sprite)
+{
+ SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &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] = gBattleAnimArgs[4];
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
+ sprite->data[4] = sprite->pos1.y + sprite->data[0];
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+// Animates a bubble by rising upward, swaying side to side, and
+// enlarging the sprite. This is used as an after-effect by poison-type
+// moves, along with MOVE_BUBBLE, and MOVE_BUBBLEBEAM.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: 0 = single-target, 1 = multi-target
+void AnimBubbleEffect(struct Sprite *sprite)
+{
+ if (!gBattleAnimArgs[2])
+ {
+ sub_80A6980(sprite, TRUE);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &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->callback = AnimBubbleEffectStep;
+}
+
+static void AnimBubbleEffectStep(struct Sprite *sprite)
+{
+ sprite->data[0] = (sprite->data[0] + 0xB) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[0], 4);
+ sprite->data[1] += 0x30;
+ sprite->pos2.y = -(sprite->data[1] >> 8);
+
+ if (sprite->affineAnimEnded)
+ DestroyAnimSprite(sprite);
+}
diff --git a/src/pokeball.c b/src/pokeball.c
index bb02a02ba..ad839e6af 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -1,19 +1,19 @@
#include "global.h"
-#include "pokemon.h"
-#include "sprite.h"
-#include "pokeball.h"
#include "battle.h"
#include "battle_anim.h"
-#include "task.h"
-#include "sound.h"
-#include "constants/songs.h"
-#include "trig.h"
+#include "decompress.h"
+#include "graphics.h"
#include "main.h"
#include "m4a.h"
-#include "decompress.h"
-#include "constants/species.h"
+#include "pokeball.h"
+#include "pokemon.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
#include "util.h"
-#include "graphics.h"
+#include "constants/songs.h"
+#include "constants/species.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
@@ -402,7 +402,7 @@ static void Task_DoPokeballSendOutAnim(u8 taskId)
gSprites[ballSpriteId].data[2] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_X);
gSprites[ballSpriteId].data[4] = GetBattlerSpriteCoord(gBattlerTarget, BATTLER_COORD_Y) - 16;
gSprites[ballSpriteId].data[5] = -40;
- sub_80A68D4(&gSprites[ballSpriteId]);
+ InitAnimArcTranslation(&gSprites[ballSpriteId]);
gSprites[ballSpriteId].oam.affineParam = taskId;
gTasks[taskId].tOpponentBattler = gBattlerTarget;
gTasks[taskId].func = TaskDummy;
@@ -898,7 +898,7 @@ static void SpriteCB_PlayerMonSendOut_1(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(sprite->sBattler, 3) + 24;
sprite->data[5] = -30;
sprite->oam.affineParam = sprite->sBattler;
- sub_80A68D4(sprite);
+ InitAnimArcTranslation(sprite);
sprite->callback = SpriteCB_PlayerMonSendOut_2;
}
diff --git a/src/pokeblock.c b/src/pokeblock.c
index d0a867b3a..01343c6eb 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -1,35 +1,35 @@
#include "global.h"
-#include "pokeblock.h"
-#include "bg.h"
-#include "strings.h"
-#include "text.h"
-#include "text_window.h"
-#include "menu.h"
-#include "task.h"
-#include "menu_helpers.h"
-#include "pokemon.h"
-#include "graphics.h"
-#include "malloc.h"
-#include "main.h"
#include "battle.h"
#include "battle_controllers.h"
-#include "palette.h"
-#include "scanline_effect.h"
-#include "list_menu.h"
-#include "gpu_regs.h"
+#include "battle_message.h"
+#include "berry.h"
+#include "bg.h"
#include "decompress.h"
+#include "event_data.h"
+#include "gpu_regs.h"
+#include "graphics.h"
#include "international_string_util.h"
#include "item.h"
-#include "constants/items.h"
-#include "string_util.h"
-#include "constants/songs.h"
-#include "sound.h"
-#include "berry.h"
-#include "event_data.h"
-#include "battle_message.h"
-#include "safari_zone.h"
#include "lilycove_lady.h"
+#include "list_menu.h"
+#include "main.h"
+#include "malloc.h"
+#include "menu.h"
+#include "menu_helpers.h"
#include "overworld.h"
+#include "palette.h"
+#include "pokeblock.h"
+#include "pokemon.h"
+#include "safari_zone.h"
+#include "scanline_effect.h"
+#include "sound.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "text_window.h"
+#include "constants/items.h"
+#include "constants/songs.h"
#define POKEBLOCK_MAX_FEEL 99
#define FIELD_E75_COUNT 7
@@ -295,7 +295,7 @@ static const struct Pokeblock sFavoritePokeblocksTable[] =
static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 9,
@@ -304,7 +304,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x1E
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 15,
.tilemapTop = 1,
.width = 14,
@@ -313,7 +313,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x30
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 13,
.width = 5,
@@ -322,7 +322,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x12C
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 5,
@@ -331,7 +331,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x136
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 2,
.tilemapTop = 17,
.width = 5,
@@ -340,7 +340,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x140
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 8,
.tilemapTop = 13,
.width = 5,
@@ -349,7 +349,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x14A
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 8,
.tilemapTop = 15,
.width = 5,
@@ -358,7 +358,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x154
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 17,
.width = 2,
@@ -367,7 +367,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x15E
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 7,
.tilemapTop = 5,
.width = 6,
@@ -376,7 +376,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x162
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 7,
.tilemapTop = 7,
.width = 6,
@@ -385,7 +385,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
.baseBlock = 0x186
},
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 2,
.tilemapTop = 15,
.width = 27,
@@ -398,7 +398,7 @@ static const struct WindowTemplate sWindowTemplatesForPokeblockMenu[] =
static const struct WindowTemplate sTossPkblockWindowTemplate =
{
- .priority = 1,
+ .bg = 1,
.tilemapLeft = 21,
.tilemapTop = 9,
.width = 5,
@@ -1139,7 +1139,7 @@ static void Task_HandlePokeblockOptionsInput(u8 taskId)
if (sub_81221EC() == TRUE)
return;
- itemId = Menu_ProcessInputNoWrapAround();
+ itemId = Menu_ProcessInputNoWrap();
if (itemId == MENU_NOTHING_CHOSEN)
{
return;
@@ -1179,7 +1179,7 @@ static void PokeblockAction_Toss(u8 taskId)
sub_8198070(data[1], FALSE);
StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1Ptr->pokeblocks[gSpecialVar_ItemId].color]);
StringExpandPlaceholders(gStringVar4, gText_ThrowAwayVar1);
- DisplayMessageAndContinueTask(taskId, 10, 10, 13, 1, GetPlayerTextSpeed(), gStringVar4, CreateTossPokeblockYesNoMenu);
+ DisplayMessageAndContinueTask(taskId, 10, 10, 13, 1, GetPlayerTextSpeedDelay(), gStringVar4, CreateTossPokeblockYesNoMenu);
}
static void CreateTossPokeblockYesNoMenu(u8 taskId)
@@ -1190,7 +1190,7 @@ static void CreateTossPokeblockYesNoMenu(u8 taskId)
static void TossPokeblockChoice_Yes(u8 taskId)
{
StringExpandPlaceholders(gStringVar4, gText_Var1ThrownAway);
- DisplayMessageAndContinueTask(taskId, 10, 10, 13, 1, GetPlayerTextSpeed(), gStringVar4, HandleErasePokeblock);
+ DisplayMessageAndContinueTask(taskId, 10, 10, 13, 1, GetPlayerTextSpeedDelay(), gStringVar4, HandleErasePokeblock);
}
static void HandleErasePokeblock(u8 taskId)
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index 10f7d34d8..0a8f1b8c2 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -1,28 +1,28 @@
#include "global.h"
-#include "pokeblock.h"
-#include "sprite.h"
-#include "task.h"
-#include "palette.h"
-#include "menu.h"
-#include "malloc.h"
-#include "pokemon.h"
-#include "util.h"
-#include "main.h"
-#include "menu_helpers.h"
+#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere
#include "bg.h"
-#include "gpu_regs.h"
#include "data2.h"
#include "decompress.h"
#include "event_data.h"
-#include "strings.h"
-#include "string_util.h"
-#include "party_menu.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "main.h"
+#include "malloc.h"
+#include "menu.h"
+#include "menu_helpers.h"
#include "m4a.h"
+#include "palette.h"
+#include "party_menu.h"
+#include "pokeblock.h"
+#include "pokemon.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "strings.h"
#include "sound.h"
-#include "trig.h"
-#include "graphics.h"
+#include "task.h"
#include "text_window.h"
-#include "battle.h" // to get rid of once gMonSpritesGfxPtr is put elsewhere
+#include "trig.h"
+#include "util.h"
struct PokeblockFeedStruct
{
@@ -52,9 +52,6 @@ struct PokeblockFeedStruct
extern u16 gSpecialVar_ItemId;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern const u8 gBattleTerrainPalette_Frontier[];
-extern const u8 gBattleTerrainTiles_Building[];
-extern const u8 gUnknown_08D9BA44[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const u16 gUnknown_0860F074[];
@@ -387,7 +384,7 @@ static const struct WindowTemplate sWindowTemplates[] =
DUMMY_WIN_TEMPLATE
};
-static const u8* const sPokeblocksPals[] =
+static const u32* const sPokeblocksPals[] =
{
gPokeblockRed_Pal,
gPokeblockBlue_Pal,
@@ -788,8 +785,8 @@ static void Task_HandleMonAtePokeblock(u8 taskId)
else
StringExpandPlaceholders(gStringVar4, gText_Var1DisdainfullyAteVar2);
- gTextFlags.flag_0 = 1;
- AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeed(), NULL, 2, 1, 3);
+ gTextFlags.canABSpeedUpPrint = 1;
+ AddTextPrinterParameterized2(0, 1, gStringVar4, GetPlayerTextSpeedDelay(), NULL, 2, 1, 3);
gTasks[taskId].func = Task_WaitForAtePokeblockText;
}
diff --git a/src/pokedex.c b/src/pokedex.c
index d27f0d89c..fa74b073a 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1,66 +1,56 @@
#include "global.h"
-#include "gba/m4a_internal.h"
-#include "pokedex.h"
-#include "sprite.h"
-#include "graphics.h"
-#include "decompress.h"
+#include "battle_main.h"
#include "bg.h"
-#include "window.h"
+#include "data2.h"
+#include "decompress.h"
#include "event_data.h"
-#include "palette.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "international_string_util.h"
#include "main.h"
-#include "sound.h"
-#include "task.h"
-#include "trainer_pokemon_sprites.h"
-#include "scanline_effect.h"
#include "malloc.h"
-#include "gpu_regs.h"
-#include "constants/songs.h"
-#include "constants/species.h"
-#include "constants/rgb.h"
-#include "overworld.h"
#include "menu.h"
-#include "text_window.h"
-#include "data2.h"
-#include "string_util.h"
-#include "trig.h"
+#include "m4a.h"
+#include "overworld.h"
+#include "palette.h"
+#include "pokedex.h"
#include "pokedex_area_screen.h"
#include "pokedex_cry_screen.h"
+#include "scanline_effect.h"
+#include "sound.h"
+#include "sprite.h"
+#include "string_util.h"
#include "strings.h"
-#include "m4a.h"
-#include "international_string_util.h"
+#include "task.h"
+#include "text_window.h"
+#include "trainer_pokemon_sprites.h"
+#include "trig.h"
+#include "window.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+#include "constants/species.h"
-static EWRAM_DATA struct PokedexView *gUnknown_02039B4C = NULL;
+extern u8 gDexCryScreenState;
+
+// EWRAM
+static EWRAM_DATA struct PokedexView *sPokedexView = NULL;
static EWRAM_DATA u16 gUnknown_02039B50 = 0;
static EWRAM_DATA u8 gUnknown_02039B52 = 0;
-static EWRAM_DATA struct PokedexListItem *gUnknown_02039B54 = NULL;
+static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL;
+// IWRAM common
u8 gUnknown_030060B0;
-MainCallback gUnknown_030060B4;
-u8 gUnknown_030061EC;
-
-struct PokedexEntry
-{
- /*0x00*/ u8 categoryName[12];
- /*0x0C*/ u16 height; //in decimeters
- /*0x0E*/ u16 weight; //in hectograms
- /*0x10*/ const u8 *description;
- /*0x14*/ u16 unused;
- /*0x16*/ u16 pokemonScale;
- /*0x18*/ u16 pokemonOffset;
- /*0x1A*/ u16 trainerScale;
- /*0x1C*/ u16 trainerOffset;
-}; /*size = 0x20*/
+void (*gUnknown_030060B4)(void);
-struct UnknownStruct2
+struct PokedexOption
{
- const u8 *text1;
- const u8 *text2;
+ const u8 *description;
+ const u8 *title;
};
struct UnknownStruct1
{
- const struct UnknownStruct2 *unk0;
+ const struct PokedexOption *pokedexList;
u8 unk4;
u8 unk5;
u16 unk6;
@@ -85,35 +75,6 @@ struct UnknownStruct4
u8 unk9;
};
-//TO BE CONVERTED TO C
-
-extern const u8 gUnknown_0855D30C[];
-extern struct BgTemplate gUnknown_0856E630[];
-extern struct WindowTemplate gUnknown_0856E640[];
-extern const u16 gUnknown_0856E610[16];
-extern const struct PokedexEntry gPokedexEntries[];
-extern struct BgTemplate gUnknown_0856E668[];
-extern struct WindowTemplate gUnknown_0856E670[];
-extern const u8 *gMonFootprintTable[];
-extern u8 gUnknown_0856ED08[][4];
-extern struct BgTemplate gUnknown_0856EFF8[];
-extern struct WindowTemplate gUnknown_0856F008[];
-extern const u8 gUnknown_0856ED9C[][4];
-extern const u8 gUnknown_0856EDB8[][4];
-extern const u8 gUnknown_0856EDD4[][4];
-extern const u8 gUnknown_0856EDF0[][4];
-extern const struct UnknownStruct1 gUnknown_0856EFC8[];
-extern const struct UnknownStruct3 gUnknown_0856ED30[];
-extern const struct UnknownStruct4 gUnknown_0856ED48[];
-extern const struct UnknownStruct2 gUnknown_0856EE0C[];
-extern const struct UnknownStruct2 gUnknown_0856EE5C[];
-extern const struct UnknownStruct2 gUnknown_0856EEB4[];
-extern const struct UnknownStruct2 gUnknown_0856EF14[];
-extern const struct UnknownStruct2 gUnknown_0856EE24[];
-extern const u8 gUnknown_0856EFAC[];
-extern const u8 gUnknown_0856EFAE[];
-extern const u8 gUnknown_0856EFB4[];
-
#define HOENN_DEX_COUNT 202
#define NATIONAL_DEX_COUNT 386
@@ -128,7 +89,7 @@ struct PokedexListItem
struct PokedexView
{
- struct PokedexListItem unk0[NATIONAL_DEX_COUNT];
+ struct PokedexListItem pokedexList[NATIONAL_DEX_COUNT];
u16 unk608;
u8 unk60A_1:1;
u8 unk60A_2:1;
@@ -140,14 +101,14 @@ struct PokedexView
u16 unk614;
u16 dexOrder;
u16 unk618;
- u16 unk61A;
- u16 unk61C;
+ u16 seenCount;
+ u16 ownCount;
u16 unk61E[4];
u16 selectedMonSpriteId;
u16 unk628;
u16 unk62A;
u8 unk62C;
- u8 unk62D;
+ u8 initialVOffset;
u8 unk62E;
u8 unk62F;
s16 unk630;
@@ -196,20 +157,20 @@ void sub_80BBDE8(u8);
void sub_80BBE70(u8);
void sub_80BBEB8(u8);
void sub_80BC0A8(u8);
-void sub_80BC0F8(u8);
+static void HandleButtonPress_StartMenu(u8);
void sub_80BC2D4(u8);
void sub_80BC360(u8);
void sub_80BC3DC(u8);
void sub_80BC47C(u8);
bool8 sub_80BC514(u8);
-void sub_80BC844(u8);
+static void LoadPokedexBgPalette(u8);
void sub_80BC890(void);
void sub_80BC8D4(u8, u8);
-void sub_80BD154(u16, u8, u8, u16);
-void sub_80BD1F4(u16, u8, u8, u16);
-u8 sub_80BD23C(u16, u8, u8);
+static void CreateMonDexNum(u16, u8, u8, u16);
+static void CreateCaughtBall(u16, u8, u8, u16);
+static u8 CreateMonName(u16, u8, u8);
void sub_80BD28C(u8, u8, u16);
-void sub_80BD2B4(u16, u16);
+static void CreateInitialPokemonSprites(u16, u16);
bool8 sub_80BD404(u8, u8, u8);
u16 sub_80BD69C(u16, u16);
void sub_80BD8D0(void);
@@ -217,9 +178,9 @@ bool8 sub_80BD930(void);
u8 sub_80BDA40(void);
u16 sub_80BDA8C(u16);
u32 sub_80BDACC(u16, s16, s16);
-void sub_80BDB7C(u8);
+static void CreateInterfaceSprites(u8);
void sub_80BE470(struct Sprite *sprite);
-void sub_80BE604(struct Sprite *sprite);
+static void SpriteCB_Scrollbar(struct Sprite *sprite);
void sub_80BE658(struct Sprite *sprite);
void sub_80BE758(struct Sprite *sprite);
void sub_80BE780(struct Sprite *sprite);
@@ -288,7 +249,7 @@ void sub_80C2668(u32, const u8*);
void sub_80C267C(void);
// const rom data
-#include "data/pokedex_orders.h"
+#include "data/pokemon/pokedex_orders.h"
static const struct OamData sOamData_855CFE4 =
{
@@ -297,7 +258,7 @@ static const struct OamData sOamData_855CFE4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = ST_OAM_SQUARE,
.x = 0,
.matrixNum = 0,
.size = 0,
@@ -314,7 +275,7 @@ static const struct OamData sOamData_855CFEC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = ST_OAM_H_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 0,
@@ -331,7 +292,7 @@ static const struct OamData sOamData_855CFF4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = ST_OAM_H_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 2,
@@ -348,7 +309,7 @@ static const struct OamData sOamData_855CFFC =
.objMode = 2,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = ST_OAM_SQUARE,
.x = 0,
.matrixNum = 0,
.size = 2,
@@ -365,7 +326,7 @@ static const struct OamData sOamData_855D004 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = ST_OAM_H_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 3,
@@ -382,7 +343,7 @@ static const struct OamData sOamData_855D00C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 2,
+ .shape = ST_OAM_V_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 0,
@@ -652,7 +613,7 @@ static const union AnimCmd *const sSpriteAnimTable_855D190[] =
sSpriteAnim_855D10C
};
-const struct SpriteTemplate gUnknown_0855D194 =
+static const struct SpriteTemplate sScrollBarSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -660,10 +621,10 @@ const struct SpriteTemplate gUnknown_0855D194 =
.anims = sSpriteAnimTable_855D114,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80BE604,
+ .callback = SpriteCB_Scrollbar,
};
-const struct SpriteTemplate gUnknown_0855D1AC =
+static const struct SpriteTemplate sArrowSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -674,7 +635,7 @@ const struct SpriteTemplate gUnknown_0855D1AC =
.callback = sub_80BE658,
};
-const struct SpriteTemplate gUnknown_0855D1C4 =
+static const struct SpriteTemplate sInterfaceTextSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -685,7 +646,7 @@ const struct SpriteTemplate gUnknown_0855D1C4 =
.callback = sub_80BE758,
};
-const struct SpriteTemplate gUnknown_0855D1DC =
+static const struct SpriteTemplate sRotatingPokeballSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -696,7 +657,7 @@ const struct SpriteTemplate gUnknown_0855D1DC =
.callback = sub_80BE780,
};
-const struct SpriteTemplate gUnknown_0855D1F4 =
+static const struct SpriteTemplate sSeenOwnTextSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -707,7 +668,7 @@ const struct SpriteTemplate gUnknown_0855D1F4 =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D20C =
+static const struct SpriteTemplate gUnknown_0855D20C =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -718,7 +679,7 @@ const struct SpriteTemplate gUnknown_0855D20C =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D224 =
+static const struct SpriteTemplate gUnknown_0855D224 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -729,7 +690,7 @@ const struct SpriteTemplate gUnknown_0855D224 =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D23C =
+static const struct SpriteTemplate gUnknown_0855D23C =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -740,7 +701,7 @@ const struct SpriteTemplate gUnknown_0855D23C =
.callback = sub_80BE44C,
};
-const struct SpriteTemplate gUnknown_0855D254 =
+static const struct SpriteTemplate gUnknown_0855D254 =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -751,22 +712,22 @@ const struct SpriteTemplate gUnknown_0855D254 =
.callback = sub_80BE834,
};
-const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] =
+static const struct CompressedSpriteSheet sInterfaceSpriteSheet[] =
{
{gPokedexMenu2_Gfx, 0x2000, 4096},
{0}
};
-const struct SpritePalette gSpritePalettes_0855D26C[] =
+static const struct SpritePalette sInterfaceSpritePalette[] =
{
{gPokedexText_Pal, 4096},
{0}
};
-const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20};
-const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1};
+static const u8 gUnknown_0855D28C[] = {0x4, 0x8, 0x10, 0x20, 0x20};
+static const u8 gUnknown_0855D291[] = {0x8, 0x4, 0x2, 0x1, 0x1};
-const struct BgTemplate gBgTemplates_0855D298[] =
+static const struct BgTemplate gBgTemplates_0855D298[] =
{
{
.bg = 0,
@@ -806,15 +767,466 @@ const struct BgTemplate gBgTemplates_0855D298[] =
}
};
-const struct WindowTemplate sWindowTemplates_0855D2A8[] =
+static const struct WindowTemplate sPokemonList_WindowTemplate[] =
+{
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 32,
+ .paletteNum = 0,
+ .baseBlock = 1,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const u8 sText_No000[] = _("{NO}000");
+static const u8 gUnknown_0855D2BE[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp");
+static const u8 sText_TenDashes[] = _("----------");
+
+ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
+
+#include "data/pokemon/pokedex_text.h"
+#include "data/pokemon/pokedex_entries.h"
+
+static const u16 gUnknown_0856E610[] = INCBIN_U16("graphics/pokedex/black.gbapal");
+
+static const struct BgTemplate gUnknown_0856E630[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 12,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 13,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ }
+};
+
+static const struct WindowTemplate gUnknown_0856E640[] =
{
- {2, 0, 0, 0x20, 0x20, 0, 1},
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 20,
+ .paletteNum = 0,
+ .baseBlock = 0x0001,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 25,
+ .tilemapTop = 8,
+ .width = 2,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0281,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 12,
+ .width = 32,
+ .height = 7,
+ .paletteNum = 8,
+ .baseBlock = 0x0285,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 18,
+ .tilemapTop = 3,
+ .width = 10,
+ .height = 8,
+ .paletteNum = 9,
+ .baseBlock = 0x0365,
+ },
DUMMY_WIN_TEMPLATE
};
-const u8 gUnknown_0855D2B8[] = _("{NO}000");
-const u8 gUnknown_0855D2BE[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp");
-const u8 sText_TenDashes[] = _("----------");
+static const struct BgTemplate gUnknown_0856E668[] =
+{
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+};
+
+static const struct WindowTemplate gUnknown_0856E670[] =
+{
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 20,
+ .paletteNum = 0,
+ .baseBlock = 0x0001,
+ },
+ {
+ .bg = 2,
+ .tilemapLeft = 25,
+ .tilemapTop = 8,
+ .width = 2,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0281,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const u8 sText_TenDashes2[] = _("----------");
+
+#include "data/pokemon_graphics/footprint_table.h"
+
+static const u8 gUnknown_0856ED08[][4] =
+{
+ {0x00, 0x00, 0x00, 0x00},
+ {0xbb, 0x03, 0xd5, 0x03},
+ {0xbe, 0x03, 0xd8, 0x03},
+ {0xc1, 0x03, 0xdb, 0x03},
+ {0xc4, 0x03, 0xde, 0x03},
+ {0xc7, 0x03, 0xe1, 0x03},
+ {0xca, 0x03, 0xe4, 0x03},
+ {0xcd, 0x03, 0xe7, 0x03},
+ {0xd0, 0x03, 0xea, 0x03},
+ {0xd3, 0x02, 0xed, 0x02},
+};
+
+static const struct UnknownStruct3 gUnknown_0856ED30[] =
+{
+ {
+ .text = gUnknown_085E87A5,
+ .unk4 = 0,
+ .unk5 = 0,
+ .unk6 = 5,
+ },
+ {
+ .text = gUnknown_085E87D6,
+ .unk4 = 6,
+ .unk5 = 0,
+ .unk6 = 5,
+ },
+ {
+ .text = gUnknown_085E87EF,
+ .unk4 = 12,
+ .unk5 = 0,
+ .unk6 = 5,
+ },
+};
+
+static const struct UnknownStruct4 gUnknown_0856ED48[] =
+{
+ {
+ .text = gUnknown_085E8840,
+ .unk4 = 0,
+ .unk5 = 2,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 2,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E887C,
+ .unk4 = 0,
+ .unk5 = 4,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 4,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E88A6,
+ .unk4 = 0,
+ .unk5 = 6,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 6,
+ .unk9 = 6,
+ },
+ {
+ .text = gUnknown_085E88A6,
+ .unk4 = 0,
+ .unk5 = 6,
+ .unk6 = 5,
+ .unk7 = 11,
+ .unk8 = 6,
+ .unk9 = 6,
+ },
+ {
+ .text = gUnknown_085E881F,
+ .unk4 = 0,
+ .unk5 = 8,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 8,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E8806,
+ .unk4 = 0,
+ .unk5 = 10,
+ .unk6 = 5,
+ .unk7 = 5,
+ .unk8 = 10,
+ .unk9 = 12,
+ },
+ {
+ .text = gUnknown_085E88C8,
+ .unk4 = 0,
+ .unk5 = 12,
+ .unk6 = 5,
+ .unk7 = 0,
+ .unk8 = 0,
+ .unk9 = 0,
+ },
+};
+
+static const u8 gUnknown_0856ED9C[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 1},
+ {0xFF, 0xFF, 0, 2},
+ {0xFF, 3, 1, 4},
+ { 2, 0xFF, 1, 4},
+ {0xFF, 0xFF, 2, 5},
+ {0xFF, 0xFF, 4, 6},
+ {0xFF, 0xFF, 5, 0xFF},
+};
+
+static const u8 gUnknown_0856EDB8[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 5},
+ {0xFF, 0xFF, 4, 6},
+ {0xFF, 0xFF, 5, 0xFF},
+};
+
+static const u8 gUnknown_0856EDD4[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 1},
+ {0xFF, 0xFF, 0, 2},
+ {0xFF, 3, 1, 4},
+ { 2, 0xFF, 1, 4},
+ {0xFF, 0xFF, 2, 6},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 4, 0xFF},
+};
+
+static const u8 gUnknown_0856EDF0[][4] =
+{
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 0xFF, 6},
+ {0xFF, 0xFF, 0xFF, 0xFF},
+ {0xFF, 0xFF, 4, 0xFF},
+};
+
+static const struct PokedexOption gDexModeOptions[] =
+{
+ {gText_DexHoennDescription, gText_DexHoennTitle},
+ {gText_DexNatDescription, gText_DexNatTitle},
+ {NULL, NULL},
+};
+
+static const struct PokedexOption gDexSortOptions[] =
+{
+ {gText_DexSortNumericalDescription, gText_DexSortNumericalTitle},
+ {gText_DexSortAtoZDescription, gText_DexSortAtoZTitle},
+ {gText_DexSortHeaviestDescription, gText_DexSortHeaviestTitle},
+ {gText_DexSortLightestDescription, gText_DexSortLightestTitle},
+ {gText_DexSortTallestDescription, gText_DexSortTallestTitle},
+ {ggText_DexSortSmallestDescription, gText_DexSortSmallestTitle},
+ {NULL, NULL},
+};
+
+static const struct PokedexOption gDexSearchAlphaOptions[] =
+{
+ {gText_DexEmptyString, gText_DexSearchDontSpecify},
+ {gText_DexEmptyString, gText_DexSearchAlphaABC},
+ {gText_DexEmptyString, gText_DexSearchAlphaDEF},
+ {gText_DexEmptyString, gText_DexSearchAlphaGHI},
+ {gText_DexEmptyString, gText_DexSearchAlphaJKL},
+ {gText_DexEmptyString, gText_DexSearchAlphaMNO},
+ {gText_DexEmptyString, gText_DexSearchAlphaPQR},
+ {gText_DexEmptyString, gText_DexSearchAlphaSTU},
+ {gText_DexEmptyString, gText_DexSearchAlphaVWX},
+ {gText_DexEmptyString, gText_DexSearchAlphaYZ},
+ {NULL, NULL},
+};
+
+static const struct PokedexOption gDexSearchColorOptions[] =
+{
+ {gText_DexEmptyString, gText_DexSearchDontSpecify},
+ {gText_DexEmptyString, gText_DexSearchColorRed},
+ {gText_DexEmptyString, gText_DexSearchColorBlue},
+ {gText_DexEmptyString, gText_DexSearchColorYellow},
+ {gText_DexEmptyString, gText_DexSearchColorGreen},
+ {gText_DexEmptyString, gText_DexSearchColorBlack},
+ {gText_DexEmptyString, gText_DexSearchColorBrown},
+ {gText_DexEmptyString, gText_DexSearchColorPurple},
+ {gText_DexEmptyString, gText_DexSearchColorGray},
+ {gText_DexEmptyString, gText_DexSearchColorWhite},
+ {gText_DexEmptyString, gText_DexSearchColorPink},
+ {NULL, NULL},
+};
+
+static const struct PokedexOption gDexSearchTypeOptions[] =
+{
+ {gText_DexEmptyString, gText_DexSearchTypeNone},
+ {gText_DexEmptyString, gTypeNames[TYPE_NORMAL]},
+ {gText_DexEmptyString, gTypeNames[TYPE_FIGHTING]},
+ {gText_DexEmptyString, gTypeNames[TYPE_FLYING]},
+ {gText_DexEmptyString, gTypeNames[TYPE_POISON]},
+ {gText_DexEmptyString, gTypeNames[TYPE_GROUND]},
+ {gText_DexEmptyString, gTypeNames[TYPE_ROCK]},
+ {gText_DexEmptyString, gTypeNames[TYPE_BUG]},
+ {gText_DexEmptyString, gTypeNames[TYPE_GHOST]},
+ {gText_DexEmptyString, gTypeNames[TYPE_STEEL]},
+ {gText_DexEmptyString, gTypeNames[TYPE_FIRE]},
+ {gText_DexEmptyString, gTypeNames[TYPE_WATER]},
+ {gText_DexEmptyString, gTypeNames[TYPE_GRASS]},
+ {gText_DexEmptyString, gTypeNames[TYPE_ELECTRIC]},
+ {gText_DexEmptyString, gTypeNames[TYPE_PSYCHIC]},
+ {gText_DexEmptyString, gTypeNames[TYPE_ICE]},
+ {gText_DexEmptyString, gTypeNames[TYPE_DRAGON]},
+ {gText_DexEmptyString, gTypeNames[TYPE_DARK]},
+ {NULL, NULL},
+};
+
+static const u8 gUnknown_0856EFAC[] = {0x00, 0x01};
+static const u8 gUnknown_0856EFAE[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
+static const u8 gDexSearchTypeIds[] = {
+ TYPE_NONE,
+ TYPE_NORMAL,
+ TYPE_FIGHTING,
+ TYPE_FLYING,
+ TYPE_POISON,
+ TYPE_GROUND,
+ TYPE_ROCK,
+ TYPE_BUG,
+ TYPE_GHOST,
+ TYPE_STEEL,
+ TYPE_FIRE,
+ TYPE_WATER,
+ TYPE_GRASS,
+ TYPE_ELECTRIC,
+ TYPE_PSYCHIC,
+ TYPE_ICE,
+ TYPE_DRAGON,
+ TYPE_DARK,
+};
+
+static const struct UnknownStruct1 gUnknown_0856EFC8[] =
+{
+ {gDexSearchAlphaOptions, 6, 7, 10},
+ {gDexSearchColorOptions, 8, 9, 11},
+ {gDexSearchTypeOptions, 10, 11, NUMBER_OF_MON_TYPES},
+ {gDexSearchTypeOptions, 12, 13, NUMBER_OF_MON_TYPES},
+ {gDexSortOptions, 4, 5, 6},
+ {gDexModeOptions, 2, 3, 2},
+};
+
+static const struct BgTemplate gUnknown_0856EFF8[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 12,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 13,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 14,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 15,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+static const struct WindowTemplate gUnknown_0856F008[] =
+{
+ {
+ .bg = 2,
+ .tilemapLeft = 0,
+ .tilemapTop = 0,
+ .width = 32,
+ .height = 20,
+ .paletteNum = 0,
+ .baseBlock = 0x0001,
+ },
+ DUMMY_WIN_TEMPLATE
+};
// .text
@@ -855,15 +1267,15 @@ void sub_80BB370(void)
TransferPlttBuffer();
}
-void sub_80BB384(struct PokedexView *pokedexView)
+static void ResetPokedexView(struct PokedexView *pokedexView)
{
u16 i;
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- pokedexView->unk0[i].dexNum |= 0xFFFF;
- pokedexView->unk0[i].seen = 0;
- pokedexView->unk0[i].owned = 0;
+ pokedexView->pokedexList[i].dexNum |= 0xFFFF;
+ pokedexView->pokedexList[i].seen = 0;
+ pokedexView->pokedexList[i].owned = 0;
}
pokedexView->unk608 = 0;
pokedexView->unk60A_1 = 0;
@@ -875,14 +1287,14 @@ void sub_80BB384(struct PokedexView *pokedexView)
pokedexView->unk614 = 0;
pokedexView->dexOrder = 0;
pokedexView->unk618 = 0;
- pokedexView->unk61A = 0;
- pokedexView->unk61C = 0;
+ pokedexView->seenCount = 0;
+ pokedexView->ownCount = 0;
for (i = 0; i <= 3; i++)
pokedexView->unk61E[i] |= 0xFFFF;
pokedexView->unk628 = 0;
pokedexView->unk62A = 0;
pokedexView->unk62C = 0;
- pokedexView->unk62D = 0;
+ pokedexView->initialVOffset = 0;
pokedexView->unk62E = 0;
pokedexView->unk62F = 0;
pokedexView->unk630 = 0;
@@ -906,7 +1318,7 @@ void sub_80BB384(struct PokedexView *pokedexView)
pokedexView->unk65C[i] = 0;
}
-void sub_80BB534(void)
+void CB2_Pokedex(void)
{
u8 *addr;
u32 size;
@@ -933,34 +1345,34 @@ void sub_80BB534(void)
gMain.state++;
break;
case 2:
- gUnknown_02039B4C = AllocZeroed(sizeof(struct PokedexView));
- sub_80BB384(gUnknown_02039B4C);
+ sPokedexView = AllocZeroed(sizeof(struct PokedexView));
+ ResetPokedexView(sPokedexView);
CreateTask(sub_80BB78C, 0);
- gUnknown_02039B4C->dexMode = gSaveBlock2Ptr->pokedex.unknown1;
+ sPokedexView->dexMode = gSaveBlock2Ptr->pokedex.unknown1;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gSaveBlock2Ptr->pokedex.order;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B50;
- gUnknown_02039B4C->unk62C = gUnknown_02039B52;
- gUnknown_02039B4C->selectedScreen = 0;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = gSaveBlock2Ptr->pokedex.order;
+ sPokedexView->selectedPokemon = gUnknown_02039B50;
+ sPokedexView->unk62C = gUnknown_02039B52;
+ sPokedexView->selectedScreen = 0;
if (!IsNationalPokedexEnabled())
{
- gUnknown_02039B4C->unk61A = GetHoennPokedexCount(0);
- gUnknown_02039B4C->unk61C = GetHoennPokedexCount(1);
+ sPokedexView->seenCount = GetHoennPokedexCount(0);
+ sPokedexView->ownCount = GetHoennPokedexCount(1);
}
else
{
- gUnknown_02039B4C->unk61A = GetNationalPokedexCount(0);
- gUnknown_02039B4C->unk61C = GetNationalPokedexCount(1);
+ sPokedexView->seenCount = GetNationalPokedexCount(0);
+ sPokedexView->ownCount = GetNationalPokedexCount(1);
}
- gUnknown_02039B4C->unk62D = 8;
+ sPokedexView->initialVOffset = 8;
gMain.state++;
break;
case 3:
EnableInterrupts(1);
SetVBlankCallback(sub_80BB370);
SetMainCallback2(sub_80BB774);
- sub_80BC8D4(gUnknown_02039B4C->dexMode, gUnknown_02039B4C->dexOrder);
+ sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80);
break;
}
@@ -976,26 +1388,26 @@ void sub_80BB774(void)
void sub_80BB78C(u8 taskId)
{
- gUnknown_02039B4C->unk64C_1 = FALSE;
+ sPokedexView->unk64C_1 = FALSE;
if (sub_80BC514(0))
gTasks[taskId].func = sub_80BB7D4;
}
void sub_80BB7D4(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
- if (gUnknown_02039B4C->menuY)
+ if (sPokedexView->menuY)
{
- gUnknown_02039B4C->menuY -= 8;
+ sPokedexView->menuY -= 8;
}
else
{
- if ((gMain.newKeys & A_BUTTON) && gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon].seen)
+ if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen)
{
sub_80BD8D0();
- BeginNormalPaletteFade(~(1 << (gSprites[gUnknown_02039B4C->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK);
- gSprites[gUnknown_02039B4C->selectedMonSpriteId].callback = sub_80BE470;
+ BeginNormalPaletteFade(~(1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK);
+ gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470;
gTasks[taskId].func = sub_80BBBF4;
PlaySE(SE_PIN);
sub_80BC890();
@@ -1003,9 +1415,9 @@ void sub_80BB7D4(u8 taskId)
else if (gMain.newKeys & START_BUTTON)
{
//Open menu
- gUnknown_02039B4C->menuY = 0;
- gUnknown_02039B4C->menuIsOpen = 1;
- gUnknown_02039B4C->menuCursorPos = 0;
+ sPokedexView->menuY = 0;
+ sPokedexView->menuIsOpen = 1;
+ sPokedexView->menuCursorPos = 0;
gTasks[taskId].func = sub_80BBA78;
PlaySE(SE_SELECT);
}
@@ -1014,11 +1426,11 @@ void sub_80BB7D4(u8 taskId)
PlaySE(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0] = sub_80C1258();
- gUnknown_02039B4C->unk64E = 0;
- gUnknown_02039B4C->unk62A = gUnknown_02039B4C->unk62C;
- gUnknown_02039B4C->unk610 = gUnknown_02039B4C->selectedPokemon;
- gUnknown_02039B4C->unk614 = gUnknown_02039B4C->dexMode;
- gUnknown_02039B4C->unk618 = gUnknown_02039B4C->dexOrder;
+ sPokedexView->unk64E = 0;
+ sPokedexView->unk62A = sPokedexView->unk62C;
+ sPokedexView->unk610 = sPokedexView->selectedPokemon;
+ sPokedexView->unk614 = sPokedexView->dexMode;
+ sPokedexView->unk618 = sPokedexView->dexOrder;
gTasks[taskId].func = sub_80BBD1C;
PlaySE(SE_PC_LOGIN);
sub_80BC890();
@@ -1032,8 +1444,8 @@ void sub_80BB7D4(u8 taskId)
else
{
//Handle D-pad
- gUnknown_02039B4C->selectedPokemon = sub_80BD69C(gUnknown_02039B4C->selectedPokemon, 0xE);
- if (gUnknown_02039B4C->unk62E)
+ sPokedexView->selectedPokemon = sub_80BD69C(sPokedexView->selectedPokemon, 0xE);
+ if (sPokedexView->unk62E)
gTasks[taskId].func = sub_80BBA28;
}
}
@@ -1041,41 +1453,41 @@ void sub_80BB7D4(u8 taskId)
void sub_80BBA28(u8 taskId)
{
- if (sub_80BD404(gUnknown_02039B4C->unk62F, gUnknown_02039B4C->unk634, gUnknown_02039B4C->unk636))
+ if (sub_80BD404(sPokedexView->unk62F, sPokedexView->unk634, sPokedexView->unk636))
gTasks[taskId].func = sub_80BB7D4;
}
void sub_80BBA78(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
//If menu is not open, slide it up, on screen
- if (gUnknown_02039B4C->menuY != 80)
+ if (sPokedexView->menuY != 80)
{
- gUnknown_02039B4C->menuY += 8;
+ sPokedexView->menuY += 8;
}
else
{
if (gMain.newKeys & A_BUTTON)
{
- switch (gUnknown_02039B4C->menuCursorPos)
+ switch (sPokedexView->menuCursorPos)
{
case 0: //BACK TO LIST
default:
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 1: //LIST TOP
- gUnknown_02039B4C->selectedPokemon = 0;
- gUnknown_02039B4C->unk62C = 0x40;
+ sPokedexView->selectedPokemon = 0;
+ sPokedexView->unk62C = 0x40;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 2: //LIST BOTTOM
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->pokemonListCount - 1;
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->pokemonListCount * 16 + 0x30;
+ sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1;
+ sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 3: //CLOSE POKEDEX
@@ -1089,18 +1501,18 @@ void sub_80BBA78(u8 taskId)
//Exit menu when Start or B is pressed
if (gMain.newKeys & (START_BUTTON | B_BUTTON))
{
- gUnknown_02039B4C->menuIsOpen = 0;
+ sPokedexView->menuIsOpen = 0;
gTasks[taskId].func = sub_80BB7D4;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_UP) && gUnknown_02039B4C->menuCursorPos != 0)
+ else if ((gMain.newAndRepeatedKeys & DPAD_UP) && sPokedexView->menuCursorPos != 0)
{
- gUnknown_02039B4C->menuCursorPos--;
+ sPokedexView->menuCursorPos--;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && gUnknown_02039B4C->menuCursorPos <= 2)
+ else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && sPokedexView->menuCursorPos <= 2)
{
- gUnknown_02039B4C->menuCursorPos++;
+ sPokedexView->menuCursorPos++;
PlaySE(SE_SELECT);
}
}
@@ -1108,10 +1520,10 @@ void sub_80BBA78(u8 taskId)
void sub_80BBBF4(u8 taskId)
{
- if (gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.x == 48 && gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.y == 56)
+ if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56)
{
- gUnknown_02039B4C->unk64B = gUnknown_02039B4C->unk64A;
- gTasks[taskId].data[0] = sub_80BE91C(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gUnknown_02039B4C->selectedMonSpriteId);
+ sPokedexView->unk64B = sPokedexView->unk64A;
+ gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
gTasks[taskId].func = sub_80BBC74;
}
}
@@ -1120,13 +1532,13 @@ void sub_80BBC74(u8 taskId)
{
if (gTasks[gTasks[taskId].data[0]].isActive)
{
- if (gUnknown_02039B4C->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
- sub_80BE9F8(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gTasks[taskId].data[0]);
+ if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
+ sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
}
else
{
- gUnknown_02039B50 = gUnknown_02039B4C->selectedPokemon;
- gUnknown_02039B52 = gUnknown_02039B4C->unk62C;
+ gUnknown_02039B50 = sPokedexView->selectedPokemon;
+ gUnknown_02039B52 = sPokedexView->unk62C;
gTasks[taskId].func = sub_80BB78C;
}
}
@@ -1136,20 +1548,20 @@ void sub_80BBD1C(u8 taskId)
if (!gTasks[gTasks[taskId].data[0]].isActive)
{
sub_80BDA40();
- if (gUnknown_02039B4C->unk64E != 0)
+ if (sPokedexView->unk64E != 0)
{
- gUnknown_02039B4C->selectedPokemon = 0;
- gUnknown_02039B4C->unk62C = 0x40;
+ sPokedexView->selectedPokemon = 0;
+ sPokedexView->unk62C = 0x40;
gTasks[taskId].func = sub_80BBE70;
}
else
{
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->unk62A;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->unk610;
- gUnknown_02039B4C->dexMode = gUnknown_02039B4C->unk614;
+ sPokedexView->unk62C = sPokedexView->unk62A;
+ sPokedexView->selectedPokemon = sPokedexView->unk610;
+ sPokedexView->dexMode = sPokedexView->unk614;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gUnknown_02039B4C->unk618;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BB78C;
}
}
@@ -1159,43 +1571,43 @@ void sub_80BBDE8(u8 taskId)
{
if (!gPaletteFade.active)
{
- gSaveBlock2Ptr->pokedex.unknown1 = gUnknown_02039B4C->dexMode;
+ gSaveBlock2Ptr->pokedex.unknown1 = sPokedexView->dexMode;
if (!IsNationalPokedexEnabled())
gSaveBlock2Ptr->pokedex.unknown1 = DEX_MODE_HOENN;
- gSaveBlock2Ptr->pokedex.order = gUnknown_02039B4C->dexOrder;
+ gSaveBlock2Ptr->pokedex.order = sPokedexView->dexOrder;
sub_80BDA40();
sub_80BC890();
DestroyTask(taskId);
SetMainCallback2(CB2_ReturnToFieldWithOpenMenu);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
- Free(gUnknown_02039B4C);
+ Free(sPokedexView);
}
}
void sub_80BBE70(u8 taskId)
{
- gUnknown_02039B4C->unk64C_1 = TRUE;
+ sPokedexView->unk64C_1 = TRUE;
if (sub_80BC514(3))
gTasks[taskId].func = sub_80BBEB8;
}
void sub_80BBEB8(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
- if (gUnknown_02039B4C->menuY)
+ if (sPokedexView->menuY)
{
- gUnknown_02039B4C->menuY -= 8;
+ sPokedexView->menuY -= 8;
}
else
{
- if ((gMain.newKeys & A_BUTTON) && gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon].seen)
+ if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen)
{
u32 a;
sub_80BD8D0();
- a = (1 << (gSprites[gUnknown_02039B4C->selectedMonSpriteId].oam.paletteNum + 16));
- gSprites[gUnknown_02039B4C->selectedMonSpriteId].callback = sub_80BE470;
+ a = (1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16));
+ gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470;
BeginNormalPaletteFade(~a, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = sub_80BC2D4;
PlaySE(SE_PIN);
@@ -1203,17 +1615,17 @@ void sub_80BBEB8(u8 taskId)
}
else if (gMain.newKeys & START_BUTTON)
{
- gUnknown_02039B4C->menuY = 0;
- gUnknown_02039B4C->menuIsOpen = 1;
- gUnknown_02039B4C->menuCursorPos = 0;
- gTasks[taskId].func = sub_80BC0F8;
+ sPokedexView->menuY = 0;
+ sPokedexView->menuIsOpen = 1;
+ sPokedexView->menuCursorPos = 0;
+ gTasks[taskId].func = HandleButtonPress_StartMenu;
PlaySE(SE_SELECT);
}
else if (gMain.newKeys & SELECT_BUTTON)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0] = sub_80C1258();
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gTasks[taskId].func = sub_80BBD1C;
PlaySE(SE_PC_LOGIN);
sub_80BC890();
@@ -1227,8 +1639,8 @@ void sub_80BBEB8(u8 taskId)
else
{
//Handle D-pad
- gUnknown_02039B4C->selectedPokemon = sub_80BD69C(gUnknown_02039B4C->selectedPokemon, 0xE);
- if (gUnknown_02039B4C->unk62E)
+ sPokedexView->selectedPokemon = sub_80BD69C(sPokedexView->selectedPokemon, 0xE);
+ if (sPokedexView->unk62E)
gTasks[taskId].func = sub_80BC0A8;
}
}
@@ -1236,40 +1648,40 @@ void sub_80BBEB8(u8 taskId)
void sub_80BC0A8(u8 taskId)
{
- if (sub_80BD404(gUnknown_02039B4C->unk62F, gUnknown_02039B4C->unk634, gUnknown_02039B4C->unk636))
+ if (sub_80BD404(sPokedexView->unk62F, sPokedexView->unk634, sPokedexView->unk636))
gTasks[taskId].func = sub_80BBEB8;
}
-void sub_80BC0F8(u8 taskId)
+static void HandleButtonPress_StartMenu(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
- if (gUnknown_02039B4C->menuY != 96)
+ if (sPokedexView->menuY != 96)
{
- gUnknown_02039B4C->menuY += 8;
+ sPokedexView->menuY += 8;
}
else
{
if (gMain.newKeys & A_BUTTON)
{
- switch (gUnknown_02039B4C->menuCursorPos)
+ switch (sPokedexView->menuCursorPos)
{
case 0: //BACK TO LIST
default:
gMain.newKeys |= START_BUTTON;
break;
case 1: //LIST TOP
- gUnknown_02039B4C->selectedPokemon = 0;
- gUnknown_02039B4C->unk62C = 0x40;
+ sPokedexView->selectedPokemon = 0;
+ sPokedexView->unk62C = 0x40;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON;
break;
case 2: //LIST BOTTOM
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->pokemonListCount - 1;
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->pokemonListCount * 16 + 0x30;
+ sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1;
+ sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON;
break;
case 3: //BACK TO POKEDEX
@@ -1288,18 +1700,18 @@ void sub_80BC0F8(u8 taskId)
//Exit menu when Start or B is pressed
if (gMain.newKeys & (START_BUTTON | B_BUTTON))
{
- gUnknown_02039B4C->menuIsOpen = 0;
+ sPokedexView->menuIsOpen = 0;
gTasks[taskId].func = sub_80BBEB8;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_UP) && gUnknown_02039B4C->menuCursorPos)
+ else if ((gMain.newAndRepeatedKeys & DPAD_UP) && sPokedexView->menuCursorPos)
{
- gUnknown_02039B4C->menuCursorPos--;
+ sPokedexView->menuCursorPos--;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && gUnknown_02039B4C->menuCursorPos <= 3)
+ else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && sPokedexView->menuCursorPos <= 3)
{
- gUnknown_02039B4C->menuCursorPos++;
+ sPokedexView->menuCursorPos++;
PlaySE(SE_SELECT);
}
}
@@ -1307,11 +1719,11 @@ void sub_80BC0F8(u8 taskId)
void sub_80BC2D4(u8 taskId)
{
- if (gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.x == 48 && gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.y == 56)
+ if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56)
{
- gUnknown_02039B4C->unk64B = gUnknown_02039B4C->unk64A;
- gTasks[taskId].data[0] = sub_80BE91C(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gUnknown_02039B4C->selectedMonSpriteId);
- gUnknown_02039B4C->selectedMonSpriteId = -1;
+ sPokedexView->unk64B = sPokedexView->unk64A;
+ gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
+ sPokedexView->selectedMonSpriteId = -1;
gTasks[taskId].func = sub_80BC360;
}
}
@@ -1320,8 +1732,8 @@ void sub_80BC360(u8 taskId)
{
if (gTasks[gTasks[taskId].data[0]].isActive)
{
- if (gUnknown_02039B4C->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
- sub_80BE9F8(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gTasks[taskId].data[0]);
+ if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
+ sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
}
else
{
@@ -1333,12 +1745,12 @@ void sub_80BC3DC(u8 taskId)
{
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->unk62A;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->unk610;
- gUnknown_02039B4C->dexMode = gUnknown_02039B4C->unk614;
+ sPokedexView->unk62C = sPokedexView->unk62A;
+ sPokedexView->selectedPokemon = sPokedexView->unk610;
+ sPokedexView->dexMode = sPokedexView->unk614;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gUnknown_02039B4C->unk618;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BB78C;
sub_80BDA40();
sub_80BC890();
@@ -1349,12 +1761,12 @@ void sub_80BC47C(u8 taskId)
{
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->unk62A;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->unk610;
- gUnknown_02039B4C->dexMode = gUnknown_02039B4C->unk614;
+ sPokedexView->unk62C = sPokedexView->unk62A;
+ sPokedexView->selectedPokemon = sPokedexView->unk610;
+ sPokedexView->dexMode = sPokedexView->unk614;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gUnknown_02039B4C->unk618;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BBDE8;
}
}
@@ -1368,9 +1780,9 @@ bool8 sub_80BC514(u8 a)
if (gPaletteFade.active)
return 0;
SetVBlankCallback(NULL);
- gUnknown_02039B4C->unk64A = a;
+ sPokedexView->unk64A = a;
sub_80C09B0(0);
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset);
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gBgTemplates_0855D298, 4);
SetBgTilemapBuffer(3, AllocZeroed(0x800));
@@ -1378,19 +1790,19 @@ bool8 sub_80BC514(u8 a)
SetBgTilemapBuffer(1, AllocZeroed(0x800));
SetBgTilemapBuffer(0, AllocZeroed(0x800));
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(1, gUnknown_08DC2C5C, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC2DAC, 0, 0);
+ CopyToBgTilemapBuffer(1, gPokedexTilemap_Main, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_MainUnderlay, 0, 0);
if (a == 0)
- CopyToBgTilemapBuffer(0, gUnknown_08DC2A08, 0, 0x280);
+ CopyToBgTilemapBuffer(0, gPokedexTilemap_StartMenu1, 0, 0x280);
else
- CopyToBgTilemapBuffer(0, gUnknown_08DC2B1C, 0, 0x280);
+ CopyToBgTilemapBuffer(0, gPokedexTilemap_StartMenu2, 0, 0x280);
ResetPaletteFade();
if (a == 0)
- gUnknown_02039B4C->unk64C_1 = FALSE;
+ sPokedexView->unk64C_1 = FALSE;
else
- gUnknown_02039B4C->unk64C_1 = TRUE;
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
- InitWindows(sWindowTemplates_0855D2A8);
+ sPokedexView->unk64C_1 = TRUE;
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
+ InitWindows(sPokemonList_WindowTemplate);
DeactivateAllTextPrinters();
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
@@ -1400,9 +1812,9 @@ bool8 sub_80BC514(u8 a)
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
- LoadCompressedObjectPic(&gSpriteSheets_0855D26C[0]);
- LoadSpritePalettes(gSpritePalettes_0855D26C);
- sub_80BDB7C(a);
+ LoadCompressedObjectPic(&sInterfaceSpriteSheet[0]);
+ LoadSpritePalettes(sInterfaceSpritePalette);
+ CreateInterfaceSprites(a);
gMain.state++;
break;
case 2:
@@ -1410,10 +1822,10 @@ bool8 sub_80BC514(u8 a)
break;
case 3:
if (a == 0)
- sub_80BC8D4(gUnknown_02039B4C->dexMode, gUnknown_02039B4C->dexOrder);
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
- gUnknown_02039B4C->menuIsOpen = 0;
- gUnknown_02039B4C->menuY = 0;
+ sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
+ sPokedexView->menuIsOpen = 0;
+ sPokedexView->menuY = 0;
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -1453,7 +1865,7 @@ bool8 sub_80BC514(u8 a)
return FALSE;
}
-void sub_80BC844(u8 a)
+static void LoadPokedexBgPalette(u8 a)
{
if (a == 1)
LoadPalette(gPokedexHoennBg_Pal + 1, 1, 0xBE);
@@ -1488,7 +1900,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever.
s16 i;
- gUnknown_02039B4C->pokemonListCount = 0;
+ sPokedexView->pokemonListCount = 0;
switch (dexMode)
{
@@ -1519,11 +1931,11 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
for (i = 0; i < vars[0]; i++)
{
vars[2] = HoennToNationalOrder(i + 1);
- gUnknown_02039B4C->unk0[i].dexNum = vars[2];
- gUnknown_02039B4C->unk0[i].seen = GetSetPokedexFlag(vars[2], 0);
- gUnknown_02039B4C->unk0[i].owned = GetSetPokedexFlag(vars[2], 1);
- if (gUnknown_02039B4C->unk0[i].seen)
- gUnknown_02039B4C->pokemonListCount = i + 1;
+ sPokedexView->pokedexList[i].dexNum = vars[2];
+ sPokedexView->pokedexList[i].seen = GetSetPokedexFlag(vars[2], 0);
+ sPokedexView->pokedexList[i].owned = GetSetPokedexFlag(vars[2], 1);
+ if (sPokedexView->pokedexList[i].seen)
+ sPokedexView->pokemonListCount = i + 1;
}
}
else
@@ -1540,11 +1952,11 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
if (r10)
{
asm(""); //Needed to match for some reason
- gUnknown_02039B4C->unk0[r5].dexNum = vars[2];
- gUnknown_02039B4C->unk0[r5].seen = GetSetPokedexFlag(vars[2], 0);
- gUnknown_02039B4C->unk0[r5].owned = GetSetPokedexFlag(vars[2], 1);
- if (gUnknown_02039B4C->unk0[r5].seen)
- gUnknown_02039B4C->pokemonListCount = r5 + 1;
+ sPokedexView->pokedexList[r5].dexNum = vars[2];
+ sPokedexView->pokedexList[r5].seen = GetSetPokedexFlag(vars[2], 0);
+ sPokedexView->pokedexList[r5].owned = GetSetPokedexFlag(vars[2], 1);
+ if (sPokedexView->pokedexList[r5].seen)
+ sPokedexView->pokemonListCount = r5 + 1;
r5++;
}
}
@@ -1557,10 +1969,10 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 0))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = GetSetPokedexFlag(vars[2], 1);
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = vars[2];
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = 1;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = GetSetPokedexFlag(vars[2], 1);
+ sPokedexView->pokemonListCount++;
}
}
break;
@@ -1571,10 +1983,10 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = vars[2];
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = 1;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = 1;
+ sPokedexView->pokemonListCount++;
}
}
break;
@@ -1585,10 +1997,10 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = vars[2];
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = 1;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = 1;
+ sPokedexView->pokemonListCount++;
}
}
break;
@@ -1599,10 +2011,10 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = vars[2];
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = 1;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = 1;
+ sPokedexView->pokemonListCount++;
}
}
break;
@@ -1613,24 +2025,24 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = vars[2];
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = 1;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = 1;
+ sPokedexView->pokemonListCount++;
}
}
break;
}
- for (i = gUnknown_02039B4C->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
+ for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
{
- gUnknown_02039B4C->unk0[i].dexNum |= 0xFFFF;
- gUnknown_02039B4C->unk0[i].seen = 0;
- gUnknown_02039B4C->unk0[i].owned = 0;
+ sPokedexView->pokedexList[i].dexNum |= 0xFFFF;
+ sPokedexView->pokedexList[i].seen = 0;
+ sPokedexView->pokedexList[i].owned = 0;
}
}
-void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
+static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
{
u8 color[3];
@@ -1640,86 +2052,86 @@ void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str);
}
-void sub_80BCE84(u8 a, u16 b, u16 c)
+static void CreateMonListEntry(u8 direction, u16 b, u16 c)
{
s16 _b;
u16 i;
u16 r2;
- switch (a)
+ switch (direction)
{
- case 0:
+ case 0: // Initial
default:
_b = b - 5;
for (i = 0; i <= 10; i++)
{
- if (_b < 0 || _b >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[_b].dexNum == 0xFFFF)
+ if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
{
sub_80BD28C(0x11, i * 2, c);
}
else
{
sub_80BD28C(0x11, i * 2, c);
- if (gUnknown_02039B4C->unk0[_b].seen)
+ if (sPokedexView->pokedexList[_b].seen)
{
- sub_80BD154(_b, 0x12, i * 2, c);
- sub_80BD1F4(gUnknown_02039B4C->unk0[_b].owned, 0x11, i * 2, c);
- sub_80BD23C(gUnknown_02039B4C->unk0[_b].dexNum, 0x16, i * 2);
+ CreateMonDexNum(_b, 0x12, i * 2, c);
+ CreateCaughtBall(sPokedexView->pokedexList[_b].owned, 0x11, i * 2, c);
+ CreateMonName(sPokedexView->pokedexList[_b].dexNum, 0x16, i * 2);
}
else
{
- sub_80BD154(_b, 0x12, i * 2, c);
- sub_80BD1F4(0, 0x11, i * 2, c);
- sub_80BD23C(0, 0x16, i * 2);
+ CreateMonDexNum(_b, 0x12, i * 2, c);
+ CreateCaughtBall(0, 0x11, i * 2, c);
+ CreateMonName(0, 0x16, i * 2);
}
}
_b++;
}
break;
- case 1:
+ case 1: // Up
_b = b - 5;
- if (_b < 0 || _b >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[_b].dexNum == 0xFFFF)
+ if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
{
- sub_80BD28C(0x11, gUnknown_02039B4C->unk630 * 2, c);
+ sub_80BD28C(0x11, sPokedexView->unk630 * 2, c);
}
else
{
- sub_80BD28C(0x11, gUnknown_02039B4C->unk630 * 2, c);
- if (gUnknown_02039B4C->unk0[_b].seen)
+ sub_80BD28C(0x11, sPokedexView->unk630 * 2, c);
+ if (sPokedexView->pokedexList[_b].seen)
{
- sub_80BD154(_b, 0x12, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD1F4(gUnknown_02039B4C->unk0[_b].owned, 0x11, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD23C(gUnknown_02039B4C->unk0[_b].dexNum, 0x16, gUnknown_02039B4C->unk630 * 2);
+ CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c);
+ CreateCaughtBall(sPokedexView->pokedexList[_b].owned, 0x11, sPokedexView->unk630 * 2, c);
+ CreateMonName(sPokedexView->pokedexList[_b].dexNum, 0x16, sPokedexView->unk630 * 2);
}
else
{
- sub_80BD154(_b, 0x12, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD1F4(0, 0x11, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD23C(0, 0x16, gUnknown_02039B4C->unk630 * 2);
+ CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c);
+ CreateCaughtBall(0, 0x11, sPokedexView->unk630 * 2, c);
+ CreateMonName(0, 0x16, sPokedexView->unk630 * 2);
}
}
break;
- case 2:
+ case 2: // Down
_b = b + 5;
- r2 = gUnknown_02039B4C->unk630 + 10;
+ r2 = sPokedexView->unk630 + 10;
if (r2 > 15)
r2 -= 16;
- if (_b < 0 || _b >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[_b].dexNum == 0xFFFF)
+ if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
sub_80BD28C(0x11, r2 * 2, c);
else
{
sub_80BD28C(0x11, r2 * 2, c);
- if (gUnknown_02039B4C->unk0[_b].seen)
+ if (sPokedexView->pokedexList[_b].seen)
{
- sub_80BD154(_b, 0x12, r2 * 2, c);
- sub_80BD1F4(gUnknown_02039B4C->unk0[_b].owned, 0x11, r2 * 2, c);
- sub_80BD23C(gUnknown_02039B4C->unk0[_b].dexNum, 0x16, r2 * 2);
+ CreateMonDexNum(_b, 0x12, r2 * 2, c);
+ CreateCaughtBall(sPokedexView->pokedexList[_b].owned, 0x11, r2 * 2, c);
+ CreateMonName(sPokedexView->pokedexList[_b].dexNum, 0x16, r2 * 2);
}
else
{
- sub_80BD154(_b, 0x12, r2 * 2, c);
- sub_80BD1F4(0, 0x11, r2 * 2, c);
- sub_80BD23C(0, 0x16, r2 * 2);
+ CreateMonDexNum(_b, 0x12, r2 * 2, c);
+ CreateCaughtBall(0, 0x11, r2 * 2, c);
+ CreateMonName(0, 0x16, r2 * 2);
}
}
break;
@@ -1727,22 +2139,22 @@ void sub_80BCE84(u8 a, u16 b, u16 c)
CopyWindowToVram(0, 2);
}
-void sub_80BD154(u16 a, u8 left, u8 top, u16 unused)
+static void CreateMonDexNum(u16 a, u8 left, u8 top, u16 unused)
{
u8 text[6];
u16 r6;
- memcpy(text, gUnknown_0855D2B8, 6);
- r6 = gUnknown_02039B4C->unk0[a].dexNum;
- if (gUnknown_02039B4C->dexMode == DEX_MODE_HOENN)
+ memcpy(text, sText_No000, 6);
+ r6 = sPokedexView->pokedexList[a].dexNum;
+ if (sPokedexView->dexMode == DEX_MODE_HOENN)
r6 = NationalToHoennOrder(r6);
text[2] = CHAR_0 + r6 / 100;
text[3] = CHAR_0 + (r6 % 100) / 10;
text[4] = CHAR_0 + (r6 % 100) % 10;
- sub_80BCE2C(0, 7, text, left, top);
+ PrintMonDexNumAndName(0, 7, text, left, top);
}
-void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused)
+static void CreateCaughtBall(u16 a, u8 x, u8 y, u16 unused)
{
if (a)
BlitBitmapToWindow(0, gUnknown_0855D2BE, x * 8, y * 8, 8, 16);
@@ -1750,7 +2162,7 @@ void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused)
FillWindowPixelRect(0, 0, x * 8, y * 8, 8, 16);
}
-u8 sub_80BD23C(u16 num, u8 left, u8 top)
+static u8 CreateMonName(u16 num, u8 left, u8 top)
{
const u8* str;
@@ -1759,7 +2171,7 @@ u8 sub_80BD23C(u16 num, u8 left, u8 top)
str = gSpeciesNames[num];
else
str = sText_TenDashes;
- sub_80BCE2C(0, 7, str, left, top);
+ PrintMonDexNumAndName(0, 7, str, left, top);
return StringLength(str);
}
@@ -1768,7 +2180,7 @@ void sub_80BD28C(u8 x, u8 y, u16 unused)
FillWindowPixelRect(0, 0, x * 8, y * 8, 0x60, 16);
}
-void sub_80BD2B4(u16 a, u16 b)
+static void CreateInitialPokemonSprites(u16 selectedMon, u16 b)
{
u8 i;
u16 unk;
@@ -1777,10 +2189,10 @@ void sub_80BD2B4(u16 a, u16 b)
gPaletteFade.bufferTransferDisabled = TRUE;
for (i = 0; i < 4; i++)
- gUnknown_02039B4C->unk61E[i] = 0xFFFF;
- gUnknown_02039B4C->selectedMonSpriteId = 0xFFFF;
+ sPokedexView->unk61E[i] = 0xFFFF;
+ sPokedexView->selectedMonSpriteId = 0xFFFF;
- unk = sub_80BDA8C(a - 1);
+ unk = sub_80BDA8C(selectedMon - 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
@@ -1788,7 +2200,7 @@ void sub_80BD2B4(u16 a, u16 b)
gSprites[spriteId].data[5] = -32;
}
- unk = sub_80BDA8C(a);
+ unk = sub_80BDA8C(selectedMon);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
@@ -1796,7 +2208,7 @@ void sub_80BD2B4(u16 a, u16 b)
gSprites[spriteId].data[5] = 0;
}
- unk = sub_80BDA8C(a + 1);
+ unk = sub_80BDA8C(selectedMon + 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
@@ -1804,11 +2216,11 @@ void sub_80BD2B4(u16 a, u16 b)
gSprites[spriteId].data[5] = 32;
}
- sub_80BCE84(0, a, b);
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D);
+ CreateMonListEntry(0, selectedMon, b);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset);
- gUnknown_02039B4C->unk630 = 0;
- gUnknown_02039B4C->unk632 = 0;
+ sPokedexView->unk630 = 0;
+ sPokedexView->unk632 = 0;
gPaletteFade.bufferTransferDisabled = FALSE;
}
@@ -1818,79 +2230,79 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c)
u16 i;
u8 foo;
- if (gUnknown_02039B4C->unk62E)
+ if (sPokedexView->unk62E)
{
- gUnknown_02039B4C->unk62E--;
+ sPokedexView->unk62E--;
switch (a)
{
case 1:
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
- gSprites[gUnknown_02039B4C->unk61E[i]].data[5] += b;
+ if (sPokedexView->unk61E[i] != 0xFFFF)
+ gSprites[sPokedexView->unk61E[i]].data[5] += b;
}
- foo = 16 * (c - gUnknown_02039B4C->unk62E) / c;
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D + gUnknown_02039B4C->unk632 * 16 - foo);
- gUnknown_02039B4C->unk62C -= gUnknown_02039B4C->unk628;
+ foo = 16 * (c - sPokedexView->unk62E) / c;
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 - foo);
+ sPokedexView->unk62C -= sPokedexView->unk628;
break;
case 2:
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
- gSprites[gUnknown_02039B4C->unk61E[i]].data[5] -= b;
+ if (sPokedexView->unk61E[i] != 0xFFFF)
+ gSprites[sPokedexView->unk61E[i]].data[5] -= b;
}
- foo = 16 * (c - gUnknown_02039B4C->unk62E) / c;
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D + gUnknown_02039B4C->unk632 * 16 + foo);
- gUnknown_02039B4C->unk62C += gUnknown_02039B4C->unk628;
+ foo = 16 * (c - sPokedexView->unk62E) / c;
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 + foo);
+ sPokedexView->unk62C += sPokedexView->unk628;
break;
}
return FALSE;
}
else
{
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D + gUnknown_02039B4C->unk630 * 16);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk630 * 16);
return TRUE;
}
}
-void sub_80BD5A8(u8 a, u16 b)
+static void CreateNewPokemonSprite(u8 direction, u16 selectedMon)
{
u16 unk;
u8 spriteId;
- gUnknown_02039B4C->unk632 = gUnknown_02039B4C->unk630;
- switch (a)
+ sPokedexView->unk632 = sPokedexView->unk630;
+ switch (direction)
{
- case 1:
- unk = sub_80BDA8C(b - 1);
+ case 1: // up
+ unk = sub_80BDA8C(selectedMon - 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
gSprites[spriteId].callback = sub_80BE4E0;
gSprites[spriteId].data[5] = -64;
}
- if (gUnknown_02039B4C->unk630 > 0)
- gUnknown_02039B4C->unk630--;
+ if (sPokedexView->unk630 > 0)
+ sPokedexView->unk630--;
else
- gUnknown_02039B4C->unk630 = 15;
+ sPokedexView->unk630 = 15;
break;
- case 2:
- unk = sub_80BDA8C(b + 1);
+ case 2: // down
+ unk = sub_80BDA8C(selectedMon + 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
gSprites[spriteId].callback = sub_80BE4E0;
gSprites[spriteId].data[5] = 0x40;
}
- if (gUnknown_02039B4C->unk630 <= 0xE)
- gUnknown_02039B4C->unk630++;
+ if (sPokedexView->unk630 <= 0xE)
+ sPokedexView->unk630++;
else
- gUnknown_02039B4C->unk630 = 0;
+ sPokedexView->unk630 = 0;
break;
}
}
-u16 sub_80BD69C(u16 a, u16 b)
+u16 sub_80BD69C(u16 selectedMon, u16 b)
{
u8 r3;
u8 r5;
@@ -1898,61 +2310,61 @@ u16 sub_80BD69C(u16 a, u16 b)
u16 r6;
u8 r10 = 0;
- if ((gMain.heldKeys & DPAD_UP) && (a > 0))
+ if ((gMain.heldKeys & DPAD_UP) && (selectedMon > 0))
{
r10 = 1;
- a = sub_80C0E0C(1, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- sub_80BD5A8(1, a);
- sub_80BCE84(1, a, b);
+ selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ CreateNewPokemonSprite(1, selectedMon);
+ CreateMonListEntry(1, selectedMon, b);
PlaySE(SE_Z_SCROLL);
}
- else if ((gMain.heldKeys & DPAD_DOWN) && (a < gUnknown_02039B4C->pokemonListCount - 1))
+ else if ((gMain.heldKeys & DPAD_DOWN) && (selectedMon < sPokedexView->pokemonListCount - 1))
{
r10 = 2;
- a = sub_80C0E0C(0, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- sub_80BD5A8(2, a);
- sub_80BCE84(2, a, b);
+ selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ CreateNewPokemonSprite(2, selectedMon);
+ CreateMonListEntry(2, selectedMon, b);
PlaySE(SE_Z_SCROLL);
}
- else if ((gMain.newKeys & DPAD_LEFT) && (a > 0))
+ else if ((gMain.newKeys & DPAD_LEFT) && (selectedMon > 0))
{
- r6 = a;
+ r6 = selectedMon;
for (i = 0; i < 7; i++)
- a = sub_80C0E0C(1, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- gUnknown_02039B4C->unk62C += 16 * (a - r6);
+ selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ sPokedexView->unk62C += 16 * (selectedMon - r6);
sub_80BDA40();
- sub_80BD2B4(a, 0xE);
+ CreateInitialPokemonSprites(selectedMon, 0xE);
PlaySE(SE_Z_PAGE);
}
- else if ((gMain.newKeys & DPAD_RIGHT) && (a < gUnknown_02039B4C->pokemonListCount - 1))
+ else if ((gMain.newKeys & DPAD_RIGHT) && (selectedMon < sPokedexView->pokemonListCount - 1))
{
- r6 = a;
+ r6 = selectedMon;
for (i = 0; i < 7; i++)
- a = sub_80C0E0C(0, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- gUnknown_02039B4C->unk62C += (a - r6) * 16;
+ selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ sPokedexView->unk62C += (selectedMon - r6) * 16;
sub_80BDA40();
- sub_80BD2B4(a, 0xE);
+ CreateInitialPokemonSprites(selectedMon, 0xE);
PlaySE(SE_Z_PAGE);
}
if (r10 == 0)
{
- gUnknown_02039B4C->unk638 = 0;
- return a;
+ sPokedexView->unk638 = 0;
+ return selectedMon;
}
- r5 = gUnknown_0855D28C[gUnknown_02039B4C->unk638 / 4];
- r3 = gUnknown_0855D291[gUnknown_02039B4C->unk638 / 4];
- gUnknown_02039B4C->unk62E = r3;
- gUnknown_02039B4C->unk636 = r3;
- gUnknown_02039B4C->unk634 = r5;
- gUnknown_02039B4C->unk62F = r10;
- gUnknown_02039B4C->unk628 = r5 / 2;
- sub_80BD404(gUnknown_02039B4C->unk62F, gUnknown_02039B4C->unk634, gUnknown_02039B4C->unk636);
- if (gUnknown_02039B4C->unk638 <= 0xB)
- gUnknown_02039B4C->unk638++;
- return a;
+ r5 = gUnknown_0855D28C[sPokedexView->unk638 / 4];
+ r3 = gUnknown_0855D291[sPokedexView->unk638 / 4];
+ sPokedexView->unk62E = r3;
+ sPokedexView->unk636 = r3;
+ sPokedexView->unk634 = r5;
+ sPokedexView->unk62F = r10;
+ sPokedexView->unk628 = r5 / 2;
+ sub_80BD404(sPokedexView->unk62F, sPokedexView->unk634, sPokedexView->unk636);
+ if (sPokedexView->unk638 <= 0xB)
+ sPokedexView->unk638++;
+ return selectedMon;
}
void sub_80BD8D0(void)
@@ -1961,61 +2373,61 @@ void sub_80BD8D0(void)
for (i = 0; i < 4; i++)
{
- u16 spriteId = gUnknown_02039B4C->unk61E[i];
+ u16 spriteId = sPokedexView->unk61E[i];
if (gSprites[spriteId].pos2.x == 0 && gSprites[spriteId].pos2.y == 0 && spriteId != 0xFFFF)
- gUnknown_02039B4C->selectedMonSpriteId = spriteId;
+ sPokedexView->selectedMonSpriteId = spriteId;
}
}
u8 sub_80BD930(void)
{
u16 r2;
- u16 r4 = gUnknown_02039B4C->selectedPokemon;
+ u16 r4 = sPokedexView->selectedPokemon;
if ((gMain.newKeys & DPAD_UP) && r4)
{
r2 = r4;
while (r2 != 0)
{
- r2 = sub_80C0E0C(1, r2, 0, gUnknown_02039B4C->pokemonListCount - 1);
+ r2 = sub_80C0E0C(1, r2, 0, sPokedexView->pokemonListCount - 1);
- if (gUnknown_02039B4C->unk0[r2].seen)
+ if (sPokedexView->pokedexList[r2].seen)
{
r4 = r2;
break;
}
}
- if (gUnknown_02039B4C->selectedPokemon == r4)
+ if (sPokedexView->selectedPokemon == r4)
return FALSE;
else
{
- gUnknown_02039B4C->selectedPokemon = r4;
- gUnknown_02039B4C->unk62C -= 16;
+ sPokedexView->selectedPokemon = r4;
+ sPokedexView->unk62C -= 16;
return TRUE;
}
}
- else if ((gMain.newKeys & DPAD_DOWN) && r4 < gUnknown_02039B4C->pokemonListCount - 1)
+ else if ((gMain.newKeys & DPAD_DOWN) && r4 < sPokedexView->pokemonListCount - 1)
{
r2 = r4;
- while (r2 < gUnknown_02039B4C->pokemonListCount - 1)
+ while (r2 < sPokedexView->pokemonListCount - 1)
{
- r2 = sub_80C0E0C(0, r2, 0, gUnknown_02039B4C->pokemonListCount - 1);
+ r2 = sub_80C0E0C(0, r2, 0, sPokedexView->pokemonListCount - 1);
- if (gUnknown_02039B4C->unk0[r2].seen)
+ if (sPokedexView->pokedexList[r2].seen)
{
r4 = r2;
break;
}
}
- if (gUnknown_02039B4C->selectedPokemon == r4)
+ if (sPokedexView->selectedPokemon == r4)
return FALSE;
else
{
- gUnknown_02039B4C->selectedPokemon = r4;
- gUnknown_02039B4C->unk62C += 16;
+ sPokedexView->selectedPokemon = r4;
+ sPokedexView->unk62C += 16;
return TRUE;
}
}
@@ -2028,10 +2440,10 @@ u8 sub_80BDA40(void)
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
+ if (sPokedexView->unk61E[i] != 0xFFFF)
{
- FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[i]);
- gUnknown_02039B4C->unk61E[i] |= 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->unk61E[i]);
+ sPokedexView->unk61E[i] |= 0xFFFF;
}
}
return FALSE;
@@ -2039,10 +2451,10 @@ u8 sub_80BDA40(void)
u16 sub_80BDA8C(u16 a1)
{
- if (a1 >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[a1].dexNum == 0xFFFF)
+ if (a1 >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[a1].dexNum == 0xFFFF)
return 0xFFFF;
- else if (gUnknown_02039B4C->unk0[a1].seen)
- return gUnknown_02039B4C->unk0[a1].dexNum;
+ else if (sPokedexView->pokedexList[a1].seen)
+ return sPokedexView->pokedexList[a1].dexNum;
else
return 0;
}
@@ -2053,7 +2465,7 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y)
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] == 0xFFFF)
+ if (sPokedexView->unk61E[i] == 0xFFFF)
{
u8 spriteId = sub_80C0E9C(num, x, y, i);
@@ -2062,45 +2474,46 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y)
gSprites[spriteId].data[0] = 0;
gSprites[spriteId].data[1] = i;
gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num);
- gUnknown_02039B4C->unk61E[i] = spriteId;
+ sPokedexView->unk61E[i] = spriteId;
return spriteId;
}
}
return 0xFFFF;
}
-void sub_80BDB7C(u8 a)
+static void CreateInterfaceSprites(u8 a)
{
u8 spriteId;
u16 r5;
-
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 4, 0);
+// Up arrow
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 4, 0);
gSprites[spriteId].data[1] = 0;
-
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 156, 0);
+// Down arrow
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 156, 0);
gSprites[spriteId].data[1] = 1;
gSprites[spriteId].vFlip = TRUE;
- CreateSprite(&gUnknown_0855D194, 230, 20, 0);
- CreateSprite(&gUnknown_0855D1C4, 16, 120, 0);
-
- spriteId = CreateSprite(&gUnknown_0855D1C4, 48, 120, 0);
+ CreateSprite(&sScrollBarSpriteTemplate, 230, 20, 0);
+// Start button
+ CreateSprite(&sInterfaceTextSpriteTemplate, 16, 120, 0);
+// Menu text
+ spriteId = CreateSprite(&sInterfaceTextSpriteTemplate, 48, 120, 0);
StartSpriteAnim(&gSprites[spriteId], 3);
-
- spriteId = CreateSprite(&gUnknown_0855D1C4, 16, 144, 0);
+// Select button
+ spriteId = CreateSprite(&sInterfaceTextSpriteTemplate, 16, 144, 0);
StartSpriteAnim(&gSprites[spriteId], 2);
gSprites[spriteId].data[2] = 0x80;
-
- spriteId = CreateSprite(&gUnknown_0855D1C4, 48, 144, 0);
+// Search text
+ spriteId = CreateSprite(&sInterfaceTextSpriteTemplate, 48, 144, 0);
StartSpriteAnim(&gSprites[spriteId], 1);
- spriteId = CreateSprite(&gUnknown_0855D1DC, 0, 80, 2);
+ spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 30;
gSprites[spriteId].data[0] = 0x1E;
gSprites[spriteId].data[1] = 0;
- spriteId = CreateSprite(&gUnknown_0855D1DC, 0, 80, 2);
+ spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 31;
gSprites[spriteId].data[0] = 0x1F;
@@ -2112,58 +2525,59 @@ void sub_80BDB7C(u8 a)
if (!IsNationalPokedexEnabled())
{
- CreateSprite(&gUnknown_0855D1F4, 32, 40, 1);
-
- spriteId = CreateSprite(&gUnknown_0855D1F4, 32, 72, 1);
+// Seen text
+ CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 40, 1);
+// Own text
+ spriteId = CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 72, 1);
StartSpriteAnim(&gSprites[spriteId], 1);
_a = 0;
-
+// Seen value - 100s
spriteId = CreateSprite(&gUnknown_0855D224, 24, 48, 1);
- r5 = gUnknown_02039B4C->unk61A / 100;
+ r5 = sPokedexView->seenCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
else
gSprites[spriteId].invisible = TRUE;
-
+// Seen value - 10s
spriteId = CreateSprite(&gUnknown_0855D224, 32, 48, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) / 10;
+ r5 = (sPokedexView->seenCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
-
+// Seen value - 1s
spriteId = CreateSprite(&gUnknown_0855D224, 40, 48, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) % 10;
+ r5 = (sPokedexView->seenCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
_a = 0;
-
+// Owned value - 100s
spriteId = CreateSprite(&gUnknown_0855D224, 24, 80, 1);
- r5 = gUnknown_02039B4C->unk61C / 100;
+ r5 = sPokedexView->ownCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
else
gSprites[spriteId].invisible = TRUE;
-
+// Owned value - 10s
spriteId = CreateSprite(&gUnknown_0855D224, 32, 80, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) / 10;
+ r5 = (sPokedexView->ownCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
-
+// Owned value -1s
spriteId = CreateSprite(&gUnknown_0855D224, 40, 80, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) % 10;
+ r5 = (sPokedexView->ownCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
}
else
{
u16 r6;
- CreateSprite(&gUnknown_0855D1F4, 32, 40, 1);
+ CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 40, 1);
- spriteId = CreateSprite(&gUnknown_0855D1F4, 32, 76, 1);
+ spriteId = CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 76, 1);
StartSpriteAnim(&gSprites[spriteId], 1);
CreateSprite(&gUnknown_0855D20C, 17, 45, 1);
@@ -2201,7 +2615,7 @@ void sub_80BDB7C(u8 a)
_a = 0;
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 55, 1);
- r5 = gUnknown_02039B4C->unk61A / 100;
+ r5 = sPokedexView->seenCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
@@ -2209,14 +2623,14 @@ void sub_80BDB7C(u8 a)
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 55, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) / 10;
+ r5 = (sPokedexView->seenCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 55, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) % 10;
+ r5 = (sPokedexView->seenCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
r6 = GetHoennPokedexCount(1);
@@ -2244,7 +2658,7 @@ void sub_80BDB7C(u8 a)
_a = 0;
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 91, 1);
- r5 = gUnknown_02039B4C->unk61C / 100;
+ r5 = sPokedexView->ownCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
@@ -2252,14 +2666,14 @@ void sub_80BDB7C(u8 a)
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 91, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) / 10;
+ r5 = (sPokedexView->ownCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 91, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) % 10;
+ r5 = (sPokedexView->ownCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
}
spriteId = CreateSprite(&gUnknown_0855D254, 136, 96, 1);
@@ -2278,7 +2692,7 @@ void nullsub_38(struct Sprite *sprite)
void sub_80BE44C(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0)
+ if (sPokedexView->unk64A != 0)
DestroySprite(sprite);
}
@@ -2311,10 +2725,10 @@ void sub_80BE4E0(struct Sprite *sprite)
{
u8 data1 = sprite->data[1];
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
- FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]);
- gUnknown_02039B4C->unk61E[data1] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]);
+ sPokedexView->unk61E[data1] = 0xFFFF;
}
else
{
@@ -2339,23 +2753,23 @@ void sub_80BE4E0(struct Sprite *sprite)
if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0)
{
- FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]);
- gUnknown_02039B4C->unk61E[data1] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]);
+ sPokedexView->unk61E[data1] = 0xFFFF;
}
}
}
-void sub_80BE604(struct Sprite *sprite)
+static void SpriteCB_Scrollbar(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
DestroySprite(sprite);
else
- sprite->pos2.y = gUnknown_02039B4C->selectedPokemon * 120 / (gUnknown_02039B4C->pokemonListCount - 1);
+ sprite->pos2.y = sPokedexView->selectedPokemon * 120 / (sPokedexView->pokemonListCount - 1);
}
void sub_80BE658(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
DestroySprite(sprite);
}
@@ -2365,7 +2779,7 @@ void sub_80BE658(struct Sprite *sprite)
if (sprite->data[1] != 0)
{
- if (gUnknown_02039B4C->selectedPokemon == gUnknown_02039B4C->pokemonListCount - 1)
+ if (sPokedexView->selectedPokemon == sPokedexView->pokemonListCount - 1)
sprite->invisible = TRUE;
else
sprite->invisible = FALSE;
@@ -2373,7 +2787,7 @@ void sub_80BE658(struct Sprite *sprite)
}
else
{
- if (gUnknown_02039B4C->selectedPokemon == 0)
+ if (sPokedexView->selectedPokemon == 0)
sprite->invisible = TRUE;
else
sprite->invisible = FALSE;
@@ -2381,7 +2795,7 @@ void sub_80BE658(struct Sprite *sprite)
}
sprite->pos2.y = gSineTable[r0] / 64;
sprite->data[2] = sprite->data[2] + 8;
- if (gUnknown_02039B4C->menuIsOpen == 0 && gUnknown_02039B4C->menuY == 0 && sprite->invisible == 0)
+ if (sPokedexView->menuIsOpen == 0 && sPokedexView->menuY == 0 && sprite->invisible == 0)
sprite->invisible = FALSE;
else
sprite->invisible = TRUE;
@@ -2390,13 +2804,13 @@ void sub_80BE658(struct Sprite *sprite)
void sub_80BE758(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
DestroySprite(sprite);
}
void sub_80BE780(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
DestroySprite(sprite);
}
@@ -2406,12 +2820,12 @@ void sub_80BE780(struct Sprite *sprite)
s16 r3;
s16 r0;
- val = gUnknown_02039B4C->unk62C + sprite->data[1];
+ val = sPokedexView->unk62C + sprite->data[1];
r3 = gSineTable[val];
r0 = gSineTable[val + 0x40];
SetOamMatrix(sprite->data[0], r0, r3, -r3, r0);
- val = gUnknown_02039B4C->unk62C + (sprite->data[1] + 0x40);
+ val = sPokedexView->unk62C + (sprite->data[1] + 0x40);
r3 = gSineTable[val];
r0 = gSineTable[val + 0x40];
sprite->pos2.x = r0 * 40 / 256;
@@ -2421,18 +2835,18 @@ void sub_80BE780(struct Sprite *sprite)
void sub_80BE834(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
DestroySprite(sprite);
}
else
{
- u16 r1 = gUnknown_02039B4C->unk64A == 0 ? 80 : 96;
+ u16 r1 = sPokedexView->unk64A == 0 ? 80 : 96;
- if (gUnknown_02039B4C->menuIsOpen != 0 && gUnknown_02039B4C->menuY == r1)
+ if (sPokedexView->menuIsOpen != 0 && sPokedexView->menuY == r1)
{
sprite->invisible = FALSE;
- sprite->pos2.y = gUnknown_02039B4C->menuCursorPos * 16;
+ sprite->pos2.y = sPokedexView->menuCursorPos * 16;
sprite->pos2.x = gSineTable[(u8)sprite->data[2]] / 64;
sprite->data[2] += 8;
}
@@ -2457,7 +2871,7 @@ u8 sub_80BE91C(struct PokedexListItem* item, u8 b)
{
u8 taskId;
- gUnknown_02039B54 = item;
+ sPokedexListItem = item;
taskId = CreateTask(sub_80BEA24, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 1;
@@ -2487,7 +2901,7 @@ bool8 sub_80BE9C4(u8 taskId)
u8 sub_80BE9F8(struct PokedexListItem *item, u8 b)
{
- gUnknown_02039B54 = item;
+ sPokedexListItem = item;
gTasks[b].data[0] = 1;
gTasks[b].data[1] = 0;
gTasks[b].data[2] = 0;
@@ -2505,7 +2919,7 @@ void sub_80BEA24(u8 taskId)
{
u16 r2;
- gUnknown_02039B4C->unk64A = 1;
+ sPokedexView->unk64A = 1;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
r2 = 0;
@@ -2519,26 +2933,26 @@ void sub_80BEA24(u8 taskId)
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
PutWindowTilemap(1);
- sub_80C0D30(1, gUnknown_02039B54->dexNum);
+ sub_80C0D30(1, sPokedexListItem->dexNum);
CopyWindowToVram(1, 2);
gMain.state++;
break;
case 2:
sub_80BFCDC(0xD);
- sub_80BFD0C(gUnknown_02039B4C->selectedScreen, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ sub_80BFD0C(sPokedexView->selectedScreen, 0xD);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
gMain.state++;
break;
case 3:
gMain.state++;
break;
case 4:
- sub_80C020C(gUnknown_02039B54->dexNum, gUnknown_02039B4C->dexMode == 0 ? 0 : 1, gUnknown_02039B54->owned, 0);
- if (!gUnknown_02039B54->owned)
+ sub_80C020C(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0);
+ if (!sPokedexListItem->owned)
LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E);
CopyWindowToVram(0, 3);
CopyBgTilemapBufferToVram(1);
@@ -2549,7 +2963,7 @@ void sub_80BEA24(u8 taskId)
case 5:
if (gTasks[taskId].data[1] == 0)
{
- gTasks[taskId].data[4] = (u16)sub_80C0E9C(gUnknown_02039B54->dexNum, 0x30, 0x38, 0);
+ gTasks[taskId].data[4] = (u16)sub_80C0E9C(sPokedexListItem->dexNum, 0x30, 0x38, 0);
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
}
gMain.state++;
@@ -2585,7 +2999,7 @@ void sub_80BEA24(u8 taskId)
if (gTasks[taskId].data[3] == 0)
{
StopCryAndClearCrySongs();
- PlayCry2(NationalPokedexNumToSpecies(gUnknown_02039B54->dexNum), 0, 0x7D, 0xA);
+ PlayCry2(NationalPokedexNumToSpecies(sPokedexListItem->dexNum), 0, 0x7D, 0xA);
}
else
{
@@ -2644,29 +3058,29 @@ void sub_80BEDF4(u8 taskId)
}
if (gMain.newKeys & A_BUTTON)
{
- switch (gUnknown_02039B4C->selectedScreen)
+ switch (sPokedexView->selectedScreen)
{
case AREA_SCREEN:
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 1;
+ sPokedexView->unk64E = 1;
gTasks[taskId].func = sub_80BEFD0;
PlaySE(SE_PIN);
break;
case CRY_SCREEN:
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 2;
+ sPokedexView->unk64E = 2;
gTasks[taskId].func = sub_80BEFD0;
PlaySE(SE_PIN);
break;
case SIZE_SCREEN:
- if (!gUnknown_02039B54->owned)
+ if (!sPokedexListItem->owned)
{
PlaySE(SE_HAZURE);
}
else
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 3;
+ sPokedexView->unk64E = 3;
gTasks[taskId].func = sub_80BEFD0;
PlaySE(SE_PIN);
}
@@ -2681,19 +3095,19 @@ void sub_80BEDF4(u8 taskId)
}
if (((gMain.newKeys & DPAD_LEFT)
|| ((gMain.newKeys & L_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
- && gUnknown_02039B4C->selectedScreen > 0)
+ && sPokedexView->selectedScreen > 0)
{
- gUnknown_02039B4C->selectedScreen--;
- sub_80BFD0C(gUnknown_02039B4C->selectedScreen, 0xD);
+ sPokedexView->selectedScreen--;
+ sub_80BFD0C(sPokedexView->selectedScreen, 0xD);
PlaySE(SE_Z_PAGE);
return;
}
if (((gMain.newKeys & DPAD_RIGHT)
|| ((gMain.newKeys & R_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
- && gUnknown_02039B4C->selectedScreen < 3)
+ && sPokedexView->selectedScreen < 3)
{
- gUnknown_02039B4C->selectedScreen++;
- sub_80BFD0C(gUnknown_02039B4C->selectedScreen, 0xD);
+ sPokedexView->selectedScreen++;
+ sub_80BFD0C(sPokedexView->selectedScreen, 0xD);
PlaySE(SE_Z_PAGE);
return;
}
@@ -2704,7 +3118,7 @@ void sub_80BEFD0(u8 taskId)
if (!gPaletteFade.active)
{
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
case 1:
default:
@@ -2747,25 +3161,25 @@ void sub_80BF0AC(u8 taskId)
default:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64A = 5;
+ sPokedexView->unk64A = 5;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
sub_80C09B0(0x200);
- gUnknown_02039B4C->selectedScreen = AREA_SCREEN;
+ sPokedexView->selectedScreen = AREA_SCREEN;
gMain.state = 1;
}
break;
case 1:
sub_80BFCF4(0xD);
sub_80BFD7C(0, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(13) | BGCNT_16COLOR | BGCNT_TXT256x256);
gMain.state++;
break;
case 2:
- sub_813D3D8(NationalPokedexNumToSpecies(gUnknown_02039B54->dexNum), &gUnknown_02039B4C->unk64E);
+ ShowPokedexAreaScreen(NationalPokedexNumToSpecies(sPokedexListItem->dexNum), &sPokedexView->unk64E);
SetVBlankCallback(gUnknown_030060B4);
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gMain.state = 0;
gTasks[taskId].func = sub_80BF1B4;
break;
@@ -2774,7 +3188,7 @@ void sub_80BF0AC(u8 taskId)
void sub_80BF1B4(u8 taskId)
{
- if (gUnknown_02039B4C->unk64E != 0)
+ if (sPokedexView->unk64E != 0)
gTasks[taskId].func = sub_80BF1EC;
}
@@ -2782,7 +3196,7 @@ void sub_80BF1EC(u8 taskId)
{
if (!gPaletteFade.active)
{
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
case 1:
default:
@@ -2804,17 +3218,17 @@ void sub_80BF250(u8 taskId)
if (!gPaletteFade.active)
{
m4aMPlayStop(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64A = 6;
+ sPokedexView->unk64A = 6;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
sub_80C09B0(0x200);
- gUnknown_02039B4C->selectedScreen = CRY_SCREEN;
+ sPokedexView->selectedScreen = CRY_SCREEN;
gMain.state = 1;
}
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, &gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, &gUnknown_08DC3198, 0, 0);
+ CopyToBgTilemapBuffer(3, &gPokedexTilemap_CryScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
PutWindowTilemap(3);
@@ -2824,7 +3238,7 @@ void sub_80BF250(u8 taskId)
case 2:
sub_80BFCF4(0xD);
sub_80BFD7C(1, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
gMain.state++;
break;
case 3:
@@ -2833,13 +3247,13 @@ void sub_80BF250(u8 taskId)
break;
case 4:
sub_80BE8DC(gText_CryOf, 0x52, 33);
- sub_80C0B44(0, gUnknown_02039B54->dexNum, 0x52, 49);
+ sub_80C0B44(0, sPokedexListItem->dexNum, 0x52, 49);
gMain.state++;
break;
case 5:
- gTasks[taskId].data[4] = sub_80C0E9C(gUnknown_02039B54->dexNum, 48, 56, 0);
+ gTasks[taskId].data[4] = sub_80C0E9C(sPokedexListItem->dexNum, 48, 56, 0);
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
- gUnknown_030061EC = 0;
+ gDexCryScreenState = 0;
gMain.state++;
break;
case 6:
@@ -2854,7 +3268,7 @@ void sub_80BF250(u8 taskId)
if (sub_8145354(&sp4, 2) != 0)
{
gMain.state++;
- gUnknown_030061EC = 0;
+ gDexCryScreenState = 0;
}
}
break;
@@ -2892,7 +3306,7 @@ void sub_80BF250(u8 taskId)
gMain.state++;
break;
case 10:
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gMain.state = 0;
gTasks[taskId].func = sub_80BF5CC;
break;
@@ -2911,7 +3325,7 @@ void sub_80BF5CC(u8 taskId)
if (gMain.newKeys & A_BUTTON)
{
sub_80BF7FC(1);
- sub_8145534(NationalPokedexNumToSpecies(gUnknown_02039B54->dexNum));
+ sub_8145534(NationalPokedexNumToSpecies(sPokedexListItem->dexNum));
return;
}
else if (!gPaletteFade.active)
@@ -2920,7 +3334,7 @@ void sub_80BF5CC(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
m4aMPlayContinue(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64E = 1;
+ sPokedexView->unk64E = 1;
gTasks[taskId].func = sub_80BF790;
PlaySE(SE_PC_OFF);
return;
@@ -2930,7 +3344,7 @@ void sub_80BF5CC(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
m4aMPlayContinue(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64E = 2;
+ sPokedexView->unk64E = 2;
gTasks[taskId].func = sub_80BF790;
PlaySE(SE_Z_PAGE);
return;
@@ -2938,7 +3352,7 @@ void sub_80BF5CC(u8 taskId)
if ((gMain.newKeys & DPAD_RIGHT)
|| ((gMain.newKeys & R_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
{
- if (!gUnknown_02039B54->owned)
+ if (!sPokedexListItem->owned)
{
PlaySE(SE_HAZURE);
}
@@ -2946,7 +3360,7 @@ void sub_80BF5CC(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
m4aMPlayContinue(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64E = 3;
+ sPokedexView->unk64E = 3;
gTasks[taskId].func = sub_80BF790;
PlaySE(SE_Z_PAGE);
}
@@ -2961,7 +3375,7 @@ void sub_80BF790(u8 taskId)
{
sub_8145914();
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
default:
case 1:
@@ -2998,17 +3412,17 @@ void sub_80BF82C(u8 taskId)
case 0:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64A = 7;
+ sPokedexView->unk64A = 7;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
sub_80C09B0(0x200);
- gUnknown_02039B4C->selectedScreen = SIZE_SCREEN;
+ sPokedexView->selectedScreen = SIZE_SCREEN;
gMain.state = 1;
}
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC2E6C, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_SizeScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
gMain.state++;
@@ -3016,7 +3430,7 @@ void sub_80BF82C(u8 taskId)
case 2:
sub_80BFCF4(0xD);
sub_80BFD7C(2, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
gMain.state++;
break;
case 3:
@@ -3038,19 +3452,19 @@ void sub_80BF82C(u8 taskId)
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 1;
gSprites[spriteId].oam.priority = 0;
- gSprites[spriteId].pos2.y = gPokedexEntries[gUnknown_02039B54->dexNum].trainerOffset;
- SetOamMatrix(1, gPokedexEntries[gUnknown_02039B54->dexNum].trainerScale, 0, 0, gPokedexEntries[gUnknown_02039B54->dexNum].trainerScale);
+ gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].trainerOffset;
+ SetOamMatrix(1, gPokedexEntries[sPokedexListItem->dexNum].trainerScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].trainerScale);
LoadPalette(gUnknown_0856E610, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20);
gTasks[taskId].data[5] = spriteId;
gMain.state++;
break;
case 6:
- spriteId = sub_80C0E9C(gUnknown_02039B54->dexNum, 88, 56, 1);
+ spriteId = sub_80C0E9C(sPokedexListItem->dexNum, 88, 56, 1);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 2;
gSprites[spriteId].oam.priority = 0;
- gSprites[spriteId].pos2.y = gPokedexEntries[gUnknown_02039B54->dexNum].pokemonOffset;
- SetOamMatrix(2, gPokedexEntries[gUnknown_02039B54->dexNum].pokemonScale, 0, 0, gPokedexEntries[gUnknown_02039B54->dexNum].pokemonScale);
+ gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].pokemonOffset;
+ SetOamMatrix(2, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale);
LoadPalette(gUnknown_0856E610, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20);
gTasks[taskId].data[4] = spriteId;
CopyWindowToVram(0, 3);
@@ -3078,7 +3492,7 @@ void sub_80BF82C(u8 taskId)
case 9:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gMain.state = 0;
gTasks[taskId].func = sub_80BFBB0;
}
@@ -3091,7 +3505,7 @@ void sub_80BFBB0(u8 taskId)
if (gMain.newKeys & B_BUTTON)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 1;
+ sPokedexView->unk64E = 1;
gTasks[taskId].func = sub_80BFC78;
PlaySE(SE_PC_OFF);
}
@@ -3099,7 +3513,7 @@ void sub_80BFBB0(u8 taskId)
|| ((gMain.newKeys & L_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 2;
+ sPokedexView->unk64E = 2;
gTasks[taskId].func = sub_80BFC78;
PlaySE(SE_Z_PAGE);
}
@@ -3111,7 +3525,7 @@ void sub_80BFC78(u8 taskId)
{
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
FreeAndDestroyTrainerPicSprite(gTasks[taskId].data[5]);
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
default:
case 1:
@@ -3126,12 +3540,12 @@ void sub_80BFC78(u8 taskId)
void sub_80BFCDC(u16 a)
{
- CopyToBgTilemapBuffer(1, gUnknown_08DC2F5C, 0, 0);
+ CopyToBgTilemapBuffer(1, gPokedexTilemap_ScreenSelectBar1, 0, 0);
}
void sub_80BFCF4(u16 a)
{
- CopyToBgTilemapBuffer(1, gUnknown_08DC2FEC, 0, 0);
+ CopyToBgTilemapBuffer(1, gPokedexTilemap_ScreenSelectBar2, 0, 0);
}
#ifdef NONMATCHING
@@ -3355,14 +3769,14 @@ void sub_80BFE38(u8 taskId)
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
PutWindowTilemap(1);
sub_80C0D30(1, gTasks[taskId].data[1]);
CopyWindowToVram(1, 2);
ResetPaletteFade();
- sub_80BC844(0);
+ LoadPokedexBgPalette(0);
gTasks[taskId].data[0]++;
break;
case 2:
@@ -3429,7 +3843,7 @@ void blockset_load_palette_to_gpu(u8 taskId)
u32 otId;
u32 personality;
u8 paletteNum;
- const u8 *lzPaletteData;
+ const u32 *lzPaletteData;
void *buffer;
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
@@ -3512,7 +3926,7 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
if (c)
text3 = gPokedexEntries[num].description;
else
- text3 = gUnknown_0855D30C;
+ text3 = gExpandedPlaceholder_PokedexDescription;
sub_80BE8DC(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F);
}
@@ -4251,71 +4665,71 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++)
{
- if (gUnknown_02039B4C->unk0[i].seen)
+ if (sPokedexView->pokedexList[i].seen)
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
// Search by name
if (abcGroup != 0xFF)
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
u8 r3;
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
r3 = gSpeciesNames[species][0];
if ((r3 >= gUnknown_0856ED08[abcGroup][0] && r3 < gUnknown_0856ED08[abcGroup][0] + gUnknown_0856ED08[abcGroup][1])
|| (r3 >= gUnknown_0856ED08[abcGroup][2] && r3 < gUnknown_0856ED08[abcGroup][2] + gUnknown_0856ED08[abcGroup][3]))
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
}
// Search by body color
if (bodyColor != 0xFF)
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
if (bodyColor == gBaseStats[species].bodyColor)
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
}
// Search by type
- if (type1 != 0xFF || type2 != 0xFF)
+ if (type1 != TYPE_NONE || type2 != TYPE_NONE)
{
- if (type1 == 0xFF)
+ if (type1 == TYPE_NONE)
{
type1 = type2;
- type2 = 0xFF;
+ type2 = TYPE_NONE;
}
- if (type2 == 0xFF)
+ if (type2 == TYPE_NONE)
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
- if (gUnknown_02039B4C->unk0[i].owned)
+ if (sPokedexView->pokedexList[i].owned)
{
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
types[0] = gBaseStats[species].type1;
types[1] = gBaseStats[species].type2;
if (types[0] == type1 || types[1] == type1)
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
@@ -4323,32 +4737,32 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
}
else
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
- if (gUnknown_02039B4C->unk0[i].owned)
+ if (sPokedexView->pokedexList[i].owned)
{
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
types[0] = gBaseStats[species].type1;
types[1] = gBaseStats[species].type2;
if ((types[0] == type1 && types[1] == type2) || (types[0] == type2 && types[1] == type1))
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
}
- if (gUnknown_02039B4C->pokemonListCount != 0)
+ if (sPokedexView->pokemonListCount != 0)
{
- for (i = gUnknown_02039B4C->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
+ for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
{
- gUnknown_02039B4C->unk0[i].dexNum = 0xFFFF;
- gUnknown_02039B4C->unk0[i].seen = FALSE;
- gUnknown_02039B4C->unk0[i].owned = FALSE;
+ sPokedexView->pokedexList[i].dexNum = 0xFFFF;
+ sPokedexView->pokedexList[i].seen = FALSE;
+ sPokedexView->pokedexList[i].owned = FALSE;
}
}
@@ -4386,7 +4800,7 @@ void sub_80C12E0(u8 taskId)
case 0:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64A = 2;
+ sPokedexView->unk64A = 2;
sub_80C09B0(0);
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_0856EFF8, 4);
@@ -4408,8 +4822,8 @@ void sub_80C12E0(u8 taskId)
}
break;
case 1:
- LoadCompressedObjectPic(gSpriteSheets_0855D26C);
- LoadSpritePalettes(gSpritePalettes_0855D26C);
+ LoadCompressedObjectPic(sInterfaceSpriteSheet);
+ LoadSpritePalettes(sInterfaceSpritePalette);
sub_80C2594(taskId);
for (i = 0; i < 16; i++)
gTasks[taskId].data[i] = 0;
@@ -4564,15 +4978,15 @@ void sub_80C170C(u8 taskId)
if (gTasks[taskId].data[0] != 0)
{
gUnknown_02039B52 = 0x40;
- gUnknown_02039B4C->unk62A = 0x40;
+ sPokedexView->unk62A = 0x40;
gUnknown_02039B50 = 0;
- gUnknown_02039B4C->unk610 = 0;
+ sPokedexView->unk610 = 0;
gSaveBlock2Ptr->pokedex.unknown1 = sub_80C2318(taskId, 5);
if (!IsNationalPokedexEnabled())
gSaveBlock2Ptr->pokedex.unknown1 = 0;
- gUnknown_02039B4C->unk614 = gSaveBlock2Ptr->pokedex.unknown1;
+ sPokedexView->unk614 = gSaveBlock2Ptr->pokedex.unknown1;
gSaveBlock2Ptr->pokedex.order = sub_80C2318(taskId, 4);
- gUnknown_02039B4C->unk618 = gSaveBlock2Ptr->pokedex.order;
+ sPokedexView->unk618 = gSaveBlock2Ptr->pokedex.order;
PlaySE(SE_PC_OFF);
gTasks[taskId].func = sub_80C1D38;
}
@@ -4643,7 +5057,7 @@ void sub_80C1A4C(u8 taskId)
{
if (!IsSEPlaying())
{
- if (gUnknown_02039B4C->pokemonListCount != 0)
+ if (sPokedexView->pokemonListCount != 0)
{
PlaySE(SE_SEIKAI);
sub_80C2618(gText_SearchCompleted);
@@ -4662,11 +5076,11 @@ void sub_80C1AB8(u8 taskId)
{
if (gMain.newKeys & A_BUTTON)
{
- if (gUnknown_02039B4C->pokemonListCount != 0)
+ if (sPokedexView->pokemonListCount != 0)
{
- gUnknown_02039B4C->unk64E = 1;
- gUnknown_02039B4C->dexMode = sub_80C2318(taskId, 5);
- gUnknown_02039B4C->dexOrder = sub_80C2318(taskId, 4);
+ sPokedexView->unk64E = 1;
+ sPokedexView->dexMode = sub_80C2318(taskId, 5);
+ sPokedexView->dexOrder = sub_80C2318(taskId, 4);
gTasks[taskId].func = sub_80C1D38;
PlaySE(SE_PC_OFF);
}
@@ -4700,14 +5114,14 @@ void sub_80C1B64(u8 taskId)
void sub_80C1BCC(u8 taskId)
{
u8 r1;
- const struct UnknownStruct2 *r8;
+ const struct PokedexOption *r8;
u16 *p1;
u16 *p2;
u16 r2;
bool8 r3;
r1 = gTasks[taskId].data[1];
- r8 = gUnknown_0856EFC8[r1].unk0;
+ r8 = gUnknown_0856EFC8[r1].pokedexList;
p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk4];
p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk5];
r2 = gUnknown_0856EFC8[r1].unk6 - 1;
@@ -4753,7 +5167,7 @@ void sub_80C1BCC(u8 taskId)
if (r3)
{
PlaySE(SE_SELECT);
- sub_80C2618(r8[*p1 + *p2].text1);
+ sub_80C2618(r8[*p1 + *p2].description);
CopyWindowToVram(0, 2);
}
return;
@@ -4777,7 +5191,7 @@ void sub_80C1BCC(u8 taskId)
if (r3)
{
PlaySE(SE_SELECT);
- sub_80C2618(r8[*p1 + *p2].text1);
+ sub_80C2618(r8[*p1 + *p2].description);
CopyWindowToVram(0, 2);
}
return;
@@ -4996,24 +5410,24 @@ void sub_80C20F8(u8 taskId)
sub_80C12B0(0x28, 0x10, 0x60, 0x50);
var = gTasks[taskId].data[6] + gTasks[taskId].data[7];
- sub_80C1270(gUnknown_0856EE5C[var].text2, 0x2D, 0x11);
+ sub_80C1270(gDexSearchAlphaOptions[var].title, 0x2D, 0x11);
var = gTasks[taskId].data[8] + gTasks[taskId].data[9];
- sub_80C1270(gUnknown_0856EEB4[var].text2, 0x2D, 0x21);
+ sub_80C1270(gDexSearchColorOptions[var].title, 0x2D, 0x21);
var = gTasks[taskId].data[10] + gTasks[taskId].data[11];
- sub_80C1270(gUnknown_0856EF14[var].text2, 0x2D, 0x31);
+ sub_80C1270(gDexSearchTypeOptions[var].title, 0x2D, 0x31);
var = gTasks[taskId].data[12] + gTasks[taskId].data[13];
- sub_80C1270(gUnknown_0856EF14[var].text2, 0x5D, 0x31);
+ sub_80C1270(gDexSearchTypeOptions[var].title, 0x5D, 0x31);
var = gTasks[taskId].data[4] + gTasks[taskId].data[5];
- sub_80C1270(gUnknown_0856EE24[var].text2, 0x2D, 0x41);
+ sub_80C1270(gDexSortOptions[var].title, 0x2D, 0x41);
if (IsNationalPokedexEnabled())
{
var = gTasks[taskId].data[2] + gTasks[taskId].data[3];
- sub_80C1270(gUnknown_0856EE0C[var].text2, 0x2D, 0x51);
+ sub_80C1270(gDexModeOptions[var].title, 0x2D, 0x51);
}
}
@@ -5052,45 +5466,45 @@ void sub_80C21D4(u8 a)
void sub_80C2294(u8 taskId)
{
- const struct UnknownStruct2 *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].unk0;
+ const struct PokedexOption *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].pokedexList;
const u16 *r8 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk4];
const u16 *r7 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk5];
u16 i;
u16 j;
sub_80C267C();
- for (i = 0, j = *r7; i < 6 && r6[j].text2 != NULL; i++, j++)
- sub_80C2668(i, r6[j].text2);
- sub_80C2618(r6[*r8 + *r7].text1);
+ for (i = 0, j = *r7; i < 6 && r6[j].title != NULL; i++, j++)
+ sub_80C2668(i, r6[j].title);
+ sub_80C2618(r6[*r8 + *r7].description);
}
u8 sub_80C2318(u8 taskId, u8 b)
{
const u16 *ptr1 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk4];
const u16 *ptr2 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk5];
- u16 r2 = *ptr1 + *ptr2;
+ u16 type = *ptr1 + *ptr2;
switch (b)
{
default:
return 0;
case 5:
- return gUnknown_0856EFAC[r2];
+ return gUnknown_0856EFAC[type];
case 4:
- return gUnknown_0856EFAE[r2];
+ return gUnknown_0856EFAE[type];
case 0:
- if (r2 == 0)
+ if (type == 0)
return 0xFF;
else
- return r2;
+ return type;
case 1:
- if (r2 == 0)
+ if (type == 0)
return 0xFF;
else
- return r2 - 1;
+ return type - 1;
case 2:
case 3:
- return gUnknown_0856EFB4[r2];
+ return gDexSearchTypeIds[type];
}
}
@@ -5098,7 +5512,7 @@ void sub_80C23B8(u8 taskId)
{
u16 r3;
- switch (gUnknown_02039B4C->unk614)
+ switch (sPokedexView->unk614)
{
default:
case 0:
@@ -5110,7 +5524,7 @@ void sub_80C23B8(u8 taskId)
}
gTasks[taskId].data[2] = r3;
- switch (gUnknown_02039B4C->unk618)
+ switch (sPokedexView->unk618)
{
default:
case 0:
@@ -5193,12 +5607,12 @@ void sub_80C2594(u8 taskId)
{
u8 spriteId;
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 4, 0);
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 4, 0);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 0;
gSprites[spriteId].callback = sub_80C24E0;
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 108, 0);
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 108, 0);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 1;
gSprites[spriteId].vFlip = TRUE;
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
new file mode 100755
index 000000000..843812723
--- /dev/null
+++ b/src/pokedex_area_screen.c
@@ -0,0 +1,720 @@
+#include "global.h"
+#include "bg.h"
+#include "event_data.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "main.h"
+#include "malloc.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "pokedex_area_screen.h"
+#include "region_map.h"
+#include "roamer.h"
+#include "sound.h"
+#include "string_util.h"
+#include "trig.h"
+#include "unk_pokedex_area_screen_helper.h"
+#include "wild_encounter.h"
+#include "constants/maps.h"
+#include "constants/region_map_sections.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/vars.h"
+
+struct PokeDexAreaScreenMapIdentity
+{
+ u8 mapGroup;
+ u8 mapNum;
+ u16 regionMapSectionId;
+};
+
+struct PokeDexAreaScreen
+{
+ /*0x000*/ void (*callback)(void); // unused
+ /*0x004*/ MainCallback prev; // unused
+ /*0x008*/ MainCallback next; // unused
+ /*0x00C*/ u16 state; // unused
+ /*0x00E*/ u16 species;
+ /*0x010*/ struct PokeDexAreaScreenMapIdentity overworldAreasWithMons[0x40];
+ /*0x110*/ u16 numOverworldAreas;
+ /*0x112*/ u16 numSpecialAreas;
+ /*0x114*/ u16 drawAreaGlowState;
+ /*0x116*/ u16 areaGlowTilemap[0x280];
+ /*0x616*/ u16 areaShadeOrMarkerFrameCounter;
+ /*0x618*/ u16 areaShadeFrameCounter;
+ /*0x61A*/ u16 areaShadeBldArgLo;
+ /*0x61C*/ u16 areaShadeBldArgHi;
+ /*0x61E*/ u8 whichMarkersFlashing;
+ /*0x61F*/ u8 specialMarkerCycleCounter;
+ /*0x620*/ u16 specialAreaRegionMapSectionIds[0x20];
+ /*0x660*/ struct Sprite *areaMarkerSprites[0x20];
+ /*0x6E0*/ u16 numAreaMarkerSprites;
+ /*0x6E2*/ u16 unk6E2;
+ /*0x6E4*/ u16 unk6E4;
+ /*0x6E8*/ u8 *errno;
+ /*0x6EC*/ struct RegionMap regionMap;
+ /*0xF70*/ u8 charBuffer[0x40];
+ /*0xFB0*/ struct Sprite * areaUnknownSprites[3];
+ /*0xFBC*/ u8 areaUnknownGraphicsBuffer[0x600];
+};
+
+static EWRAM_DATA struct PokeDexAreaScreen *sPokedexAreaScreen = NULL;
+
+static void FindMapsWithMon(u16);
+static void BuildAreaGlowTilemap(void);
+static void SetAreaHasMon(u16, u16);
+static void SetSpecialMapHasMon(u16, u16);
+static u16 GetRegionMapSectionId(u8, u8);
+static bool8 MapHasMon(const struct WildPokemonHeader *, u16);
+static bool8 MonListHasMon(const struct WildPokemonInfo *, u16, u16);
+static void DoAreaGlow(void);
+static void Task_PokedexAreaScreen_0(u8);
+static void CreateAreaMarkerSprites(void);
+static void LoadAreaUnknownGraphics(void);
+static void CreateAreaUnknownSprites(void);
+static void Task_PokedexAreaScreen_1(u8);
+static void sub_813D6B4(void);
+static void DestroyAreaMarkerSprites(void);
+
+static const u32 sAreaGlow_Pal[] = INCBIN_U32("graphics/pokedex/area_glow.gbapal");
+static const u32 sAreaGlow_Gfx[] = INCBIN_U32("graphics/pokedex/area_glow.4bpp.lz");
+
+static const u16 sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT };
+
+static const u16 sMovingRegionMapSections[3] = { MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_TERRA_CAVE };
+
+static const u16 sFeebasData[][3] = {
+ {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)},
+ {NUM_SPECIES}
+};
+
+static const u16 sLandmarkData[][2] = {
+ {MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR},
+ {MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN},
+ {MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE},
+ {MAPSEC_MIRAGE_TOWER, FLAG_LANDMARK_MIRAGE_TOWER},
+ {MAPSEC_DESERT_UNDERPASS, FLAG_LANDMARK_DESERT_UNDERPASS},
+ {MAPSEC_ARTISAN_CAVE, FLAG_0x8DF},
+ {MAPSEC_NONE}
+};
+
+static const u8 sAreaGlowTilemapMapping[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x13, 0x22, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x14, 0x01, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x15, 0x20, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x16, 0x21, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x17, 0x22, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x18, 0x01, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x19, 0x20, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1a, 0x21, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1b, 0x22, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1c, 0x01, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1d, 0x20, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1e, 0x21, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+};
+
+static const struct UnkStruct_1C4D70 sUnknown_085B4018 = {
+ .bg = 3,
+ .unk2 = 0,
+ .unk10 = 0,
+ .unk12 = 2,
+};
+
+static const u8 sAreaMarkerTiles[];
+static const struct SpriteSheet sAreaMarkerSpriteSheet = {
+ sAreaMarkerTiles, 0x80, 2
+};
+
+static const u16 sAreaMarkerPalette[];
+static const struct SpritePalette sAreaMarkerSpritePalette = {
+ sAreaMarkerPalette, 2
+};
+
+static const struct OamData sAreaMarkerOamData = {
+ .size = 1,
+ .priority = 1
+};
+
+static const struct SpriteTemplate sAreaMarkerSpriteTemplate = {
+ 2,
+ 2,
+ &sAreaMarkerOamData,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static const u16 sAreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal");
+static const u8 sAreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bpp");
+
+static const struct SpritePalette sAreaUnknownSpritePalette = {
+ gPokedexAreaScreenAreaUnknown_Pal, 3
+};
+
+static const struct OamData sAreaUnknownOamData = {
+ .size = 2,
+ .priority = 1
+};
+
+static const struct SpriteTemplate sAreaUnknownSpriteTemplate = {
+ 3,
+ 3,
+ &sAreaUnknownOamData,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static void ResetDrawAreaGlowState(void)
+{
+ sPokedexAreaScreen->drawAreaGlowState = 0;
+}
+
+static bool8 DrawAreaGlow(void)
+{
+ switch (sPokedexAreaScreen->drawAreaGlowState)
+ {
+ case 0:
+ FindMapsWithMon(sPokedexAreaScreen->species);
+ break;
+ case 1:
+ BuildAreaGlowTilemap();
+ break;
+ case 2:
+ decompress_and_copy_tile_data_to_vram(2, sAreaGlow_Gfx, 0, 0, 0);
+ LoadBgTilemap(2, sPokedexAreaScreen->areaGlowTilemap, 0x500, 0);
+ break;
+ case 3:
+ if (!free_temp_tile_data_buffers_if_possible())
+ {
+ CpuCopy32(sAreaGlow_Pal, gPlttBufferUnfaded + 0xA0, 0x20);
+ sPokedexAreaScreen->drawAreaGlowState++;
+ }
+ return TRUE;
+ case 4:
+ ChangeBgY(2, -0x800, 0);
+ break;
+ default:
+ return FALSE;
+ }
+
+ sPokedexAreaScreen->drawAreaGlowState++;
+ return TRUE;
+}
+
+static void FindMapsWithMon(u16 species)
+{
+ u16 i;
+ struct Roamer *roamer;
+
+ sPokedexAreaScreen->unk6E2 = 0;
+ sPokedexAreaScreen->unk6E4 = VarGet(VAR_ALTERING_CAVE_WILD_SET);
+ if (sPokedexAreaScreen->unk6E4 > 8)
+ sPokedexAreaScreen->unk6E4 = 0;
+
+ roamer = &gSaveBlock1Ptr->roamer;
+ if (species != roamer->species)
+ {
+ sPokedexAreaScreen->numOverworldAreas = 0;
+ sPokedexAreaScreen->numSpecialAreas = 0;
+ for (i = 0; i < ARRAY_COUNT(sSpeciesHiddenFromAreaScreen); i++)
+ {
+ if (sSpeciesHiddenFromAreaScreen[i] == species)
+ return;
+ }
+
+ for (i = 0; sFeebasData[i][0] != NUM_SPECIES; i++)
+ {
+ if (species == sFeebasData[i][0])
+ {
+ switch (sFeebasData[i][1])
+ {
+ case MAP_GROUP(PETALBURG_CITY):
+ SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]);
+ break;
+ case MAP_GROUP(METEOR_FALLS_1F_1R):
+ case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
+ SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]);
+ break;
+ }
+ }
+ }
+
+ for (i = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)
+ {
+ if (MapHasMon(gWildMonHeaders + i, species))
+ {
+ switch (gWildMonHeaders[i].mapGroup)
+ {
+ case MAP_GROUP(PETALBURG_CITY):
+ SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
+ break;
+ case MAP_GROUP(METEOR_FALLS_1F_1R):
+ case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
+ SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ sPokedexAreaScreen->numSpecialAreas = 0;
+ if (roamer->active)
+ {
+ GetRoamerLocation(&sPokedexAreaScreen->overworldAreasWithMons[0].mapGroup, &sPokedexAreaScreen->overworldAreasWithMons[0].mapNum);
+ sPokedexAreaScreen->overworldAreasWithMons[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(sPokedexAreaScreen->overworldAreasWithMons[0].mapGroup, sPokedexAreaScreen->overworldAreasWithMons[0].mapNum)->regionMapSectionId;
+ sPokedexAreaScreen->numOverworldAreas = 1;
+ }
+ else
+ {
+ sPokedexAreaScreen->numOverworldAreas = 0;
+ }
+ }
+}
+
+static void SetAreaHasMon(u16 mapGroup, u16 mapNum)
+{
+ if (sPokedexAreaScreen->numOverworldAreas < 0x40)
+ {
+ sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].mapGroup = mapGroup;
+ sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].mapNum = mapNum;
+ sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].regionMapSectionId = CorrectSpecialMapSecId(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId);
+ sPokedexAreaScreen->numOverworldAreas++;
+ }
+}
+
+static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum)
+{
+ int i;
+
+ if (sPokedexAreaScreen->numSpecialAreas < 0x20)
+ {
+ u16 regionMapSectionId = GetRegionMapSectionId(mapGroup, mapNum);
+ if (regionMapSectionId < MAPSEC_NONE)
+ {
+ for (i = 0; i < ARRAY_COUNT(sMovingRegionMapSections); i++)
+ {
+ if (regionMapSectionId == sMovingRegionMapSections[i])
+ return;
+ }
+
+ for (i = 0; sLandmarkData[i][0] != MAPSEC_NONE; i++)
+ {
+ if (regionMapSectionId == sLandmarkData[i][0] && !FlagGet(sLandmarkData[i][1]))
+ return;
+ }
+
+ for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
+ {
+ if (sPokedexAreaScreen->specialAreaRegionMapSectionIds[i] == regionMapSectionId)
+ break;
+ }
+
+ if (i == sPokedexAreaScreen->numSpecialAreas)
+ {
+ sPokedexAreaScreen->specialAreaRegionMapSectionIds[i] = regionMapSectionId;
+ sPokedexAreaScreen->numSpecialAreas++;
+ }
+ }
+ }
+}
+
+static u16 GetRegionMapSectionId(u8 mapGroup, u8 mapNum)
+{
+ return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId;
+}
+
+static bool8 MapHasMon(const struct WildPokemonHeader *info, u16 species)
+{
+ if (GetRegionMapSectionId(info->mapGroup, info->mapNum) == MAPSEC_ALTERING_CAVE_2)
+ {
+ sPokedexAreaScreen->unk6E2++;
+ if (sPokedexAreaScreen->unk6E2 != sPokedexAreaScreen->unk6E4 + 1)
+ return FALSE;
+ }
+
+ if (MonListHasMon(info->landMonsInfo, species, 12))
+ return TRUE;
+ if (MonListHasMon(info->waterMonsInfo, species, 5))
+ return TRUE;
+ if (MonListHasMon(info->fishingMonsInfo, species, 12))
+ return TRUE;
+ if (MonListHasMon(info->rockSmashMonsInfo, species, 5))
+ return TRUE;
+ return FALSE;
+}
+
+static bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 species, u16 size)
+{
+ u16 i;
+ if (info != NULL)
+ {
+ for (i = 0; i < size; i++)
+ {
+ if (info->wildPokemon[i].species == species)
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+static void BuildAreaGlowTilemap(void)
+{
+ u16 i, y, x, j;
+ u16 val;
+
+ for (i = 0; i < 0x280; i++)
+ sPokedexAreaScreen->areaGlowTilemap[i] = 0;
+
+ for (i = 0; i < sPokedexAreaScreen->numOverworldAreas; i++)
+ {
+ j = 0;
+ for (y = 0; y < 20; y++)
+ {
+ for (x = 0; x < 32; x++)
+ {
+ if (GetRegionMapSectionIdAt(x, y) == sPokedexAreaScreen->overworldAreasWithMons[i].regionMapSectionId)
+ sPokedexAreaScreen->areaGlowTilemap[j] = 0xFFFF;
+
+ j++;
+ }
+ }
+ }
+
+ j = 0;
+ for (y = 0; y < 20; y++)
+ {
+ for (x = 0; x < 32; x++)
+ {
+ if (sPokedexAreaScreen->areaGlowTilemap[j] == 0xFFFF)
+ {
+ if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 1] |= 0x02;
+ if (x != 31 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 1] |= 0x01;
+ if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 32] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 32] |= 0x08;
+ if (y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 32] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 32] |= 0x04;
+ if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 33] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 33] |= 0x10;
+ if (x != 31 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 31] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 31] |= 0x40;
+ if (x != 0 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 31] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 31] |= 0x20;
+ if (x != 31 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 33] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 33] |= 0x80;
+ }
+
+ j++;
+ }
+ }
+
+ for (i = 0; i < 0x280; i++)
+ {
+ if (sPokedexAreaScreen->areaGlowTilemap[i] == 0xFFFF)
+ {
+ sPokedexAreaScreen->areaGlowTilemap[i] = 0x10;
+ sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
+ }
+ else if (sPokedexAreaScreen->areaGlowTilemap[i])
+ {
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x02)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFCF;
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x01)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF3F;
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x08)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFAF;
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x04)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF5F;
+
+ sPokedexAreaScreen->areaGlowTilemap[i] = sAreaGlowTilemapMapping[sPokedexAreaScreen->areaGlowTilemap[i]];
+ sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
+ }
+ }
+}
+
+static void StartAreaGlow(void)
+{
+ if (sPokedexAreaScreen->numSpecialAreas && sPokedexAreaScreen->numOverworldAreas == 0)
+ sPokedexAreaScreen->whichMarkersFlashing = 1;
+ else
+ sPokedexAreaScreen->whichMarkersFlashing = 0;
+
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
+ sPokedexAreaScreen->areaShadeFrameCounter = 0;
+ sPokedexAreaScreen->areaShadeBldArgLo = 0;
+ sPokedexAreaScreen->areaShadeBldArgHi = 0x40;
+ sPokedexAreaScreen->specialMarkerCycleCounter = 1;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ DoAreaGlow();
+}
+
+static void DoAreaGlow(void)
+{
+ u16 x, y;
+ u16 i;
+
+ if (sPokedexAreaScreen->whichMarkersFlashing == 0)
+ {
+ if (sPokedexAreaScreen->areaShadeOrMarkerFrameCounter == 0)
+ {
+ sPokedexAreaScreen->areaShadeFrameCounter++;
+ if (sPokedexAreaScreen->areaShadeFrameCounter & 1)
+ sPokedexAreaScreen->areaShadeBldArgLo = (sPokedexAreaScreen->areaShadeBldArgLo + 4) & 0x7f;
+ else
+ sPokedexAreaScreen->areaShadeBldArgHi = (sPokedexAreaScreen->areaShadeBldArgHi + 4) & 0x7f;
+
+ x = gSineTable[sPokedexAreaScreen->areaShadeBldArgLo] >> 4;
+ y = gSineTable[sPokedexAreaScreen->areaShadeBldArgHi] >> 4;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(x, y));
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
+ if (sPokedexAreaScreen->areaShadeFrameCounter == 0x40)
+ {
+ sPokedexAreaScreen->areaShadeFrameCounter = 0;
+ if (sPokedexAreaScreen->numSpecialAreas != 0)
+ sPokedexAreaScreen->whichMarkersFlashing = 1;
+ }
+ }
+ else
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter--;
+ }
+ else
+ {
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter++;
+ if (sPokedexAreaScreen->areaShadeOrMarkerFrameCounter > 12)
+ {
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
+ sPokedexAreaScreen->specialMarkerCycleCounter++;
+ for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
+ sPokedexAreaScreen->areaMarkerSprites[i]->invisible = sPokedexAreaScreen->specialMarkerCycleCounter & 1;
+
+ if (sPokedexAreaScreen->specialMarkerCycleCounter > 4)
+ {
+ sPokedexAreaScreen->specialMarkerCycleCounter = 1;
+ if (sPokedexAreaScreen->numOverworldAreas != 0)
+ sPokedexAreaScreen->whichMarkersFlashing = 0;
+ }
+ }
+ }
+}
+
+void ShowPokedexAreaScreen(u16 species, u8 *errno)
+{
+ u8 taskId;
+
+ sPokedexAreaScreen = AllocZeroed(sizeof(*sPokedexAreaScreen));
+ sPokedexAreaScreen->species = species;
+ sPokedexAreaScreen->errno = errno;
+ errno[0] = 0;
+ taskId = CreateTask(Task_PokedexAreaScreen_0, 0);
+ gTasks[taskId].data[0] = 0;
+}
+
+static void Task_PokedexAreaScreen_0(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ HideBg(3);
+ HideBg(2);
+ HideBg(0);
+ break;
+ case 1:
+ SetBgAttribute(3, BG_CTRL_ATTR_VISIBLE, 3);
+ sub_81C4D70(&sUnknown_085B4018);
+ StringFill(sPokedexAreaScreen->charBuffer, CHAR_SPACE, 16);
+ break;
+ case 2:
+ if (sub_81C4E90() == TRUE)
+ return;
+ sub_81C4ED0(-8);
+ break;
+ case 3:
+ ResetDrawAreaGlowState();
+ break;
+ case 4:
+ if (DrawAreaGlow())
+ return;
+ break;
+ case 5:
+ sub_8122D88(&sPokedexAreaScreen->regionMap);
+ CreateRegionMapPlayerIcon(1, 1);
+ PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(0, -8);
+ break;
+ case 6:
+ CreateAreaMarkerSprites();
+ break;
+ case 7:
+ LoadAreaUnknownGraphics();
+ break;
+ case 8:
+ CreateAreaUnknownSprites();
+ break;
+ case 9:
+ BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, RGB(0, 0, 0));
+ break;
+ case 10:
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_ALL);
+ StartAreaGlow();
+ ShowBg(2);
+ ShowBg(3);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON);
+ break;
+ case 11:
+ gTasks[taskId].func = Task_PokedexAreaScreen_1;
+ gTasks[taskId].data[0] = 0;
+ return;
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+static void Task_PokedexAreaScreen_1(u8 taskId)
+{
+ DoAreaGlow();
+ switch (gTasks[taskId].data[0])
+ {
+ default:
+ gTasks[taskId].data[0] = 0;
+ // fall through
+ case 0:
+ if (gPaletteFade.active)
+ return;
+ break;
+ case 1:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].data[1] = 1;
+ PlaySE(SE_PC_OFF);
+ }
+ else if (gMain.newKeys & DPAD_RIGHT || (gMain.newKeys & R_BUTTON && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
+ {
+ gTasks[taskId].data[1] = 2;
+ PlaySE(SE_Z_PAGE);
+ }
+ else
+ return;
+ break;
+ case 2:
+ BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0));
+ break;
+ case 3:
+ if (gPaletteFade.active)
+ return;
+ DestroyAreaMarkerSprites();
+ sPokedexAreaScreen->errno[0] = gTasks[taskId].data[1];
+ sub_813D6B4();
+ DestroyTask(taskId);
+ sub_81C4EB4();
+ FREE_AND_SET_NULL(sPokedexAreaScreen);
+ return;
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+static void sub_813D6B4(void)
+{
+ SetBgAttribute(3, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(3, BG_CTRL_ATTR_SCREENSIZE, 0);
+}
+
+static void CreateAreaMarkerSprites(void)
+{
+ u8 spriteId;
+ static IWRAM_DATA s16 x;
+ static IWRAM_DATA s16 y;
+ static IWRAM_DATA s16 i;
+ static IWRAM_DATA s16 mapSecId;
+ static IWRAM_DATA s16 numSprites;
+
+ LoadSpriteSheet(&sAreaMarkerSpriteSheet);
+ LoadSpritePalette(&sAreaMarkerSpritePalette);
+ numSprites = 0;
+ for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
+ {
+ mapSecId = sPokedexAreaScreen->specialAreaRegionMapSectionIds[i];
+ x = 8 * (gRegionMapEntries[mapSecId].x + 1) + 4;
+ y = 8 * (gRegionMapEntries[mapSecId].y) + 28;
+ x += 4 * (gRegionMapEntries[mapSecId].width - 1);
+ y += 4 * (gRegionMapEntries[mapSecId].height - 1);
+ spriteId = CreateSprite(&sAreaMarkerSpriteTemplate, x, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].invisible = TRUE;
+ sPokedexAreaScreen->areaMarkerSprites[numSprites++] = &gSprites[spriteId];
+ }
+ }
+
+ sPokedexAreaScreen->numAreaMarkerSprites = numSprites;
+}
+
+static void DestroyAreaMarkerSprites(void)
+{
+ u16 i;
+ FreeSpriteTilesByTag(2);
+ FreeSpritePaletteByTag(2);
+ for (i = 0; i < sPokedexAreaScreen->numAreaMarkerSprites; i++)
+ DestroySprite(sPokedexAreaScreen->areaMarkerSprites[i]);
+
+ FreeSpriteTilesByTag(3);
+ FreeSpritePaletteByTag(3);
+ for (i = 0; i < 3; i++)
+ {
+ if (sPokedexAreaScreen->areaUnknownSprites[i])
+ DestroySprite(sPokedexAreaScreen->areaUnknownSprites[i]);
+ }
+}
+
+static void LoadAreaUnknownGraphics(void)
+{
+ struct SpriteSheet spriteSheet = {
+ .data = sPokedexAreaScreen->areaUnknownGraphicsBuffer,
+ .size = 0x600,
+ .tag = 3,
+ };
+ LZ77UnCompWram(gPokedexAreaScreenAreaUnknown_Gfx, sPokedexAreaScreen->areaUnknownGraphicsBuffer);
+ LoadSpriteSheet(&spriteSheet);
+ LoadSpritePalette(&sAreaUnknownSpritePalette);
+}
+
+static void CreateAreaUnknownSprites(void)
+{
+ u16 i;
+ u8 spriteId;
+
+ if (sPokedexAreaScreen->numOverworldAreas || sPokedexAreaScreen->numSpecialAreas)
+ {
+ for (i = 0; i < 3; i++)
+ sPokedexAreaScreen->areaUnknownSprites[i] = NULL;
+ }
+ else
+ {
+ for (i = 0; i < 3; i++)
+ {
+ spriteId = CreateSprite(&sAreaUnknownSpriteTemplate, i * 32 + 0xa0, 0x8c, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.tileNum += i * 16;
+ sPokedexAreaScreen->areaUnknownSprites[i] = gSprites + spriteId;
+ }
+ else
+ {
+ sPokedexAreaScreen->areaUnknownSprites[i] = NULL;
+ }
+ }
+ }
+}
diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c
new file mode 100755
index 000000000..f3eeeed07
--- /dev/null
+++ b/src/pokedex_cry_screen.c
@@ -0,0 +1,511 @@
+#include "global.h"
+#include "bg.h"
+#include "m4a.h"
+#include "main.h"
+#include "malloc.h"
+#include "palette.h"
+#include "pokedex_cry_screen.h"
+#include "sound.h"
+#include "trig.h"
+#include "window.h"
+
+struct PokedexCryVolumeMeter {
+ s8 unk0;
+ s8 unk1;
+ u8 unk2;
+ u16 needleSpriteId;
+};
+
+struct PokedexCryScreen
+{
+ u8 unk0[16];
+ u8 unk10;
+ u8 unk11;
+ u8 unk12;
+ u16 unk14;
+ u8 unk16;
+ u16 species;
+ u8 unk1A;
+ u8 unk1B;
+};
+
+static void sub_8145588(u16);
+static void sub_81455A8(void);
+static void sub_814560C(void);
+static void sub_8145648(u8);
+static void sub_81456A8(u8, u8);
+static void sub_8145814(u8);
+static void sub_8145824(u8, s16, u8);
+static void sub_814596C(struct Sprite *);
+static void sub_8145B24(s8);
+
+extern u8 gDexCryScreenState;
+static EWRAM_DATA struct PokedexCryScreen *sDexCryScreen = NULL;
+static EWRAM_DATA u8 *sCryWaveformWindowTiledata = NULL;
+static EWRAM_DATA struct PokedexCryVolumeMeter *sCryVolumeMeter = NULL;
+
+const u16 CryMeterNeedlePalette[] = INCBIN_U16("graphics/pokedex/cry_meter_needle.gbapal");
+const u8 CryMeterNeedleTiles[] = INCBIN_U8("graphics/pokedex/cry_meter_needle.4bpp");
+
+const u16 gUnknown_085B8378[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin");
+const u16 gUnknown_085B8418[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal");
+const u8 gUnknown_085B8438[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz");
+
+const u16 gUnknown_085B8770[][72] = {
+ {
+ 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C,
+ 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C,
+ 0x0800, 0x0804, 0x0808, 0x080C, 0x0810, 0x0814, 0x0818, 0x081C,
+ 0x0C00, 0x0C04, 0x0C08, 0x0C0C, 0x0C10, 0x0C14, 0x0C18, 0x0C1C,
+ 0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C,
+ 0x1400, 0x1404, 0x1408, 0x140C, 0x1410, 0x1414, 0x1418, 0x141C,
+ 0x1800, 0x1804, 0x1808, 0x180C, 0x1810, 0x1814, 0x1818, 0x181C,
+ 0x1C00, 0x1C04, 0x1C08, 0x1C0C, 0x1C10, 0x1C14, 0x1C18, 0x1C1C,
+ 0x2000, 0x2004, 0x2008, 0x200C, 0x2010, 0x2014, 0x2018, 0x201C
+ }, {
+ 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C,
+ 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C,
+ 0x0800, 0x0804, 0x0808, 0x080C, 0x0810, 0x0814, 0x0818, 0x081C,
+ 0x0C00, 0x0C04, 0x0C08, 0x0C0C, 0x0C10, 0x0C14, 0x0C18, 0x0C1C,
+ 0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C,
+ 0x1400, 0x1404, 0x1408, 0x140C, 0x1410, 0x1414, 0x1418, 0x141C,
+ 0x1800, 0x1804, 0x1808, 0x180C, 0x1810, 0x1814, 0x1818, 0x181C,
+ 0x1C00, 0x1C04, 0x1C08, 0x1C0C, 0x1C10, 0x1C14, 0x1C18, 0x1C1C,
+ 0x2000, 0x2004, 0x2008, 0x200C, 0x2010, 0x2014, 0x2018, 0x201C
+ }, {
+ 0x0001, 0x0005, 0x0009, 0x000D, 0x0011, 0x0015, 0x0019, 0x001D,
+ 0x0401, 0x0405, 0x0409, 0x040D, 0x0411, 0x0415, 0x0419, 0x041D,
+ 0x0801, 0x0805, 0x0809, 0x080D, 0x0811, 0x0815, 0x0819, 0x081D,
+ 0x0C01, 0x0C05, 0x0C09, 0x0C0D, 0x0C11, 0x0C15, 0x0C19, 0x0C1D,
+ 0x1001, 0x1005, 0x1009, 0x100D, 0x1011, 0x1015, 0x1019, 0x101D,
+ 0x1401, 0x1405, 0x1409, 0x140D, 0x1411, 0x1415, 0x1419, 0x141D,
+ 0x1801, 0x1805, 0x1809, 0x180D, 0x1811, 0x1815, 0x1819, 0x181D,
+ 0x1C01, 0x1C05, 0x1C09, 0x1C0D, 0x1C11, 0x1C15, 0x1C19, 0x1C1D,
+ 0x2001, 0x2005, 0x2009, 0x200D, 0x2011, 0x2015, 0x2019, 0x201D
+ }, {
+ 0x0001, 0x0005, 0x0009, 0x000D, 0x0011, 0x0015, 0x0019, 0x001D,
+ 0x0401, 0x0405, 0x0409, 0x040D, 0x0411, 0x0415, 0x0419, 0x041D,
+ 0x0801, 0x0805, 0x0809, 0x080D, 0x0811, 0x0815, 0x0819, 0x081D,
+ 0x0C01, 0x0C05, 0x0C09, 0x0C0D, 0x0C11, 0x0C15, 0x0C19, 0x0C1D,
+ 0x1001, 0x1005, 0x1009, 0x100D, 0x1011, 0x1015, 0x1019, 0x101D,
+ 0x1401, 0x1405, 0x1409, 0x140D, 0x1411, 0x1415, 0x1419, 0x141D,
+ 0x1801, 0x1805, 0x1809, 0x180D, 0x1811, 0x1815, 0x1819, 0x181D,
+ 0x1C01, 0x1C05, 0x1C09, 0x1C0D, 0x1C11, 0x1C15, 0x1C19, 0x1C1D,
+ 0x2001, 0x2005, 0x2009, 0x200D, 0x2011, 0x2015, 0x2019, 0x201D
+ }, {
+ 0x0002, 0x0006, 0x000A, 0x000E, 0x0012, 0x0016, 0x001A, 0x001E,
+ 0x0402, 0x0406, 0x040A, 0x040E, 0x0412, 0x0416, 0x041A, 0x041E,
+ 0x0802, 0x0806, 0x080A, 0x080E, 0x0812, 0x0816, 0x081A, 0x081E,
+ 0x0C02, 0x0C06, 0x0C0A, 0x0C0E, 0x0C12, 0x0C16, 0x0C1A, 0x0C1E,
+ 0x1002, 0x1006, 0x100A, 0x100E, 0x1012, 0x1016, 0x101A, 0x101E,
+ 0x1402, 0x1406, 0x140A, 0x140E, 0x1412, 0x1416, 0x141A, 0x141E,
+ 0x1802, 0x1806, 0x180A, 0x180E, 0x1812, 0x1816, 0x181A, 0x181E,
+ 0x1C02, 0x1C06, 0x1C0A, 0x1C0E, 0x1C12, 0x1C16, 0x1C1A, 0x1C1E,
+ 0x2002, 0x2006, 0x200A, 0x200E, 0x2012, 0x2016, 0x201A, 0x201E
+ }, {
+ 0x0002, 0x0006, 0x000A, 0x000E, 0x0012, 0x0016, 0x001A, 0x001E,
+ 0x0402, 0x0406, 0x040A, 0x040E, 0x0412, 0x0416, 0x041A, 0x041E,
+ 0x0802, 0x0806, 0x080A, 0x080E, 0x0812, 0x0816, 0x081A, 0x081E,
+ 0x0C02, 0x0C06, 0x0C0A, 0x0C0E, 0x0C12, 0x0C16, 0x0C1A, 0x0C1E,
+ 0x1002, 0x1006, 0x100A, 0x100E, 0x1012, 0x1016, 0x101A, 0x101E,
+ 0x1402, 0x1406, 0x140A, 0x140E, 0x1412, 0x1416, 0x141A, 0x141E,
+ 0x1802, 0x1806, 0x180A, 0x180E, 0x1812, 0x1816, 0x181A, 0x181E,
+ 0x1C02, 0x1C06, 0x1C0A, 0x1C0E, 0x1C12, 0x1C16, 0x1C1A, 0x1C1E,
+ 0x2002, 0x2006, 0x200A, 0x200E, 0x2012, 0x2016, 0x201A, 0x201E
+ }, {
+ 0x0003, 0x0007, 0x000B, 0x000F, 0x0013, 0x0017, 0x001B, 0x001F,
+ 0x0403, 0x0407, 0x040B, 0x040F, 0x0413, 0x0417, 0x041B, 0x041F,
+ 0x0803, 0x0807, 0x080B, 0x080F, 0x0813, 0x0817, 0x081B, 0x081F,
+ 0x0C03, 0x0C07, 0x0C0B, 0x0C0F, 0x0C13, 0x0C17, 0x0C1B, 0x0C1F,
+ 0x1003, 0x1007, 0x100B, 0x100F, 0x1013, 0x1017, 0x101B, 0x101F,
+ 0x1403, 0x1407, 0x140B, 0x140F, 0x1413, 0x1417, 0x141B, 0x141F,
+ 0x1803, 0x1807, 0x180B, 0x180F, 0x1813, 0x1817, 0x181B, 0x181F,
+ 0x1C03, 0x1C07, 0x1C0B, 0x1C0F, 0x1C13, 0x1C17, 0x1C1B, 0x1C1F,
+ 0x2003, 0x2007, 0x200B, 0x200F, 0x2013, 0x2017, 0x201B, 0x201F
+ }, {
+ 0x0003, 0x0007, 0x000B, 0x000F, 0x0013, 0x0017, 0x001B, 0x001F,
+ 0x0403, 0x0407, 0x040B, 0x040F, 0x0413, 0x0417, 0x041B, 0x041F,
+ 0x0803, 0x0807, 0x080B, 0x080F, 0x0813, 0x0817, 0x081B, 0x081F,
+ 0x0C03, 0x0C07, 0x0C0B, 0x0C0F, 0x0C13, 0x0C17, 0x0C1B, 0x0C1F,
+ 0x1003, 0x1007, 0x100B, 0x100F, 0x1013, 0x1017, 0x101B, 0x101F,
+ 0x1403, 0x1407, 0x140B, 0x140F, 0x1413, 0x1417, 0x141B, 0x141F,
+ 0x1803, 0x1807, 0x180B, 0x180F, 0x1813, 0x1817, 0x181B, 0x181F,
+ 0x1C03, 0x1C07, 0x1C0B, 0x1C0F, 0x1C13, 0x1C17, 0x1C1B, 0x1C1F,
+ 0x2003, 0x2007, 0x200B, 0x200F, 0x2013, 0x2017, 0x201B, 0x201F
+ }
+};
+
+const u16 gUnknown_085B8BF0[] = INCBIN_U16("graphics/pokedex/85B8C10.gbapal");
+const u8 gUnknown_085B8C10[] = INCBIN_U8("graphics/pokedex/85B8C10.4bpp");
+
+const u8 gUnknown_085B8C30[] = {0xF0, 0x0F};
+const u8 gUnknown_085B8C32[][16] = {
+ {
+ 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
+ }, {
+ 0xF0, 0xE0, 0xD0, 0xC0, 0xB0, 0xA0, 0x90, 0x80,
+ 0x80, 0x90, 0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0
+ }
+};
+
+const union AnimCmd gSpriteAnim_85B8C54[] = {
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_85B8C5C[] = {
+ gSpriteAnim_85B8C54
+};
+
+const struct OamData gOamData_85B8C60 = {
+ .y = 160,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .size = 3,
+ .priority = 1
+};
+
+const struct SpriteTemplate gUnknown_085B8C68 = {
+ 0x2000,
+ 0x2000,
+ &gOamData_85B8C60,
+ gSpriteAnimTable_85B8C5C,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_814596C
+};
+
+const struct SpriteSheet gCryMeterNeedleSpriteSheets[] = {
+ {CryMeterNeedleTiles, 0x800, 0x2000},
+ {}
+};
+
+const struct SpritePalette gCryMeterNeedleSpritePalettes[] = {
+ {CryMeterNeedlePalette, 0x2000},
+ {}
+};
+
+bool8 sub_8145354(struct CryRelatedStruct *arg0, u8 windowId)
+{
+ u8 i;
+ u8 retVal = FALSE;
+
+ switch (gDexCryScreenState)
+ {
+ case 0:
+ if (!sDexCryScreen)
+ {
+ sDexCryScreen = AllocZeroed(sizeof(*sDexCryScreen));
+ sCryWaveformWindowTiledata = (u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA);
+ }
+
+ sDexCryScreen->unk14 = arg0->unk0;
+ sDexCryScreen->unk16 = arg0->yPos;
+ sDexCryScreen->unk1A = 0;
+ sDexCryScreen->unk1B = 0;
+ sDexCryScreen->unk10 = 0;
+ sDexCryScreen->unk12 = 28;
+ sDexCryScreen->unk11 = 0;
+ sub_8145824(windowId, -8 * arg0->xPos, 1);
+ for (i = 0; i < 224; i++)
+ CopyToWindowPixelBuffer(windowId, gUnknown_085B8C10, TILE_SIZE_4BPP, i);
+
+ gDexCryScreenState++;
+ break;
+ case 1:
+ for (i = 0; i < sDexCryScreen->unk16 * 8; i++)
+ sub_81456A8(i, 0);
+
+ gDexCryScreenState++;
+ break;
+ case 2:
+ sub_8145814(windowId);
+ LoadPalette(gUnknown_085B8BF0, arg0->paletteNo * 16, 32);
+ retVal = TRUE;
+ break;
+ }
+
+ return retVal;
+}
+
+void sub_814545C(u8 windowId)
+{
+ u8 var0;
+
+ sub_8145814(windowId);
+ sub_8145648(windowId);
+ if (sDexCryScreen->unk1B)
+ sDexCryScreen->unk1B--;
+
+ if (sDexCryScreen->unk1A)
+ {
+ sDexCryScreen->unk1A--;
+ if (!sDexCryScreen->unk1A)
+ {
+ sub_8145588(sDexCryScreen->species);
+ sub_814560C();
+ return;
+ }
+ }
+
+ if (sDexCryScreen->unk10 == 0)
+ {
+ sub_814560C();
+ return;
+ }
+
+ if (sDexCryScreen->unk10 == 1)
+ {
+ sub_81455A8();
+ }
+ else if (sDexCryScreen->unk10 > 8)
+ {
+ if (!IsCryPlaying())
+ {
+ sub_814560C();
+ sDexCryScreen->unk10 = 0;
+ return;
+ }
+
+ sub_81455A8();
+ sDexCryScreen->unk10 = 1;
+ }
+
+ var0 = 2 * (sDexCryScreen->unk10 - 1);
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 2, sDexCryScreen->unk0[var0]);
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 1, sDexCryScreen->unk0[var0 + 1]);
+ sDexCryScreen->unk10++;
+}
+
+void sub_8145534(u16 species)
+{
+ if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE && !sDexCryScreen->unk1A)
+ {
+ if (!sDexCryScreen->unk1B)
+ {
+ sDexCryScreen->unk1B = 4;
+ if (IsCryPlaying() == TRUE)
+ {
+ StopCry();
+ sDexCryScreen->species = species;
+ sDexCryScreen->unk1A = 2;
+ }
+ else
+ {
+ sub_8145588(species);
+ }
+ }
+ }
+}
+
+static void sub_8145588(u16 species)
+{
+ PlayCry2(species, 0, 0x7d, 10);
+ sDexCryScreen->unk10 = 1;
+}
+
+static void sub_81455A8(void)
+{
+ u8 i;
+ s8 *baseBuffer;
+ s8 *buffer;
+
+ if (gPcmDmaCounter < 2)
+ baseBuffer = gSoundInfo.pcmBuffer;
+ else
+ baseBuffer = gSoundInfo.pcmBuffer + (gSoundInfo.pcmDmaPeriod + 1 - gPcmDmaCounter) * gSoundInfo.pcmSamplesPerVBlank;
+
+ buffer = baseBuffer + 0x630;
+ for (i = 0; i < 16; i++)
+ sDexCryScreen->unk0[i] = buffer[i * 2] * 2;
+}
+
+static void sub_814560C(void)
+{
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 2, 0);
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 1, 0);
+}
+
+static void sub_8145648(u8 windowId)
+{
+ u8 i;
+ u16 offset;
+
+ sub_8145824(windowId, sDexCryScreen->unk11, 0);
+ sDexCryScreen->unk11 += 2;
+ offset = (sDexCryScreen->unk11 / 8 + sDexCryScreen->unk16 + 1) % 32;
+ for (i = 0; i < 7; i++)
+ CopyToWindowPixelBuffer(windowId, gUnknown_085B8C10, TILE_SIZE_4BPP, offset + (i * TILE_SIZE_4BPP));
+}
+
+static void sub_81456A8(u8 a0, u8 a1)
+{
+ u8 sp0;
+ u8 r6;
+ u8 r8;
+ u16 offset;
+ u16 r1;
+ u8 i;
+
+ r1 = (a1 + 127) * 256;
+ i = r1 / 1152.0;
+ if (i > 55)
+ i = 55;
+ sp0 = i;
+ r6 = a0 & 1;
+ if (i > sDexCryScreen->unk12)
+ {
+ do
+ {
+ offset = gUnknown_085B8770[a0 & 0x7][i] + (a0 / 8) * TILE_SIZE_4BPP;
+ sCryWaveformWindowTiledata[offset] &= gUnknown_085B8C30[r6];
+ sCryWaveformWindowTiledata[offset] |= gUnknown_085B8C32[r6][((i / 3) - 1) & 0x0F];
+ i--;
+ } while (i > sDexCryScreen->unk12);
+ }
+ else
+ {
+ do
+ {
+ offset = gUnknown_085B8770[a0 & 0x7][i] + (a0 / 8) * TILE_SIZE_4BPP;
+ sCryWaveformWindowTiledata[offset] &= gUnknown_085B8C30[r6];
+ sCryWaveformWindowTiledata[offset] |= gUnknown_085B8C32[r6][((i / 3) - 1) & 0x0F];
+ i++;
+ } while (i < sDexCryScreen->unk12);
+ }
+
+ sDexCryScreen->unk12 = sp0;
+}
+
+static void sub_8145814(u8 windowId)
+{
+ CopyWindowToVram(windowId, 2);
+}
+
+static void sub_8145824(u8 windowId, s16 arg1, u8 arg2)
+{
+ if (!arg2)
+ {
+ u8 bg = GetWindowAttribute(windowId, WINDOW_BG);
+ ChangeBgX(bg, arg1 << 8, 0);
+ }
+}
+
+bool8 sub_8145850(struct CryRelatedStruct *arg0, u8 windowId)
+{
+ int retVal = FALSE;
+
+ switch (gDexCryScreenState)
+ {
+ case 0:
+ if (!sCryVolumeMeter)
+ sCryVolumeMeter = AllocZeroed(sizeof(*sCryVolumeMeter));
+
+ CopyToWindowPixelBuffer(windowId, gUnknown_085B8438, 0, 0);
+ LoadPalette(gUnknown_085B8418, arg0->paletteNo * 16, 32);
+ gDexCryScreenState++;
+ break;
+ case 1:
+ LoadSpriteSheets(gCryMeterNeedleSpriteSheets);
+ LoadSpritePalettes(gCryMeterNeedleSpritePalettes);
+ sCryVolumeMeter->needleSpriteId = CreateSprite(&gUnknown_085B8C68, 40 + arg0->xPos * 8, 56 + arg0->yPos * 8, 1);
+ sCryVolumeMeter->unk0 = 0x20;
+ sCryVolumeMeter->unk1 = 0x20;
+ sCryVolumeMeter->unk2 = 0;
+ retVal = TRUE;
+ break;
+ }
+
+ return retVal;
+}
+
+void sub_8145914(void)
+{
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[sCryVolumeMeter->needleSpriteId].oam.paletteNum));
+ DestroySprite(gSprites + sCryVolumeMeter->needleSpriteId);
+ FREE_AND_SET_NULL(sDexCryScreen);
+ FREE_AND_SET_NULL(sCryVolumeMeter);
+}
+
+static void sub_814596C(struct Sprite *sprite)
+{
+ u16 i;
+ s8 r3;
+ s16 x;
+ s16 y;
+ struct ObjAffineSrcData affine;
+ struct OamMatrix matrix;
+ u8 *var0;
+
+ gSprites[sCryVolumeMeter->needleSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
+ gSprites[sCryVolumeMeter->needleSpriteId].oam.affineParam = 0;
+ switch (sDexCryScreen->unk10)
+ {
+ case 0:
+ sCryVolumeMeter->unk1 = 0x20;
+ if (sCryVolumeMeter->unk0 > 0)
+ {
+ if (sCryVolumeMeter->unk2 != 1)
+ sCryVolumeMeter->unk2--;
+ }
+ else
+ sCryVolumeMeter->unk2 = 5;
+ break;
+ case 2:
+ r3 = 0;
+ for (i = 0; i < 16; i++)
+ {
+ if (r3 < sDexCryScreen->unk0[i])
+ r3 = sDexCryScreen->unk0[i];
+ }
+ sub_8145B24(r3 * 0xd0 / 0x100);
+ break;
+ case 6:
+ var0 = &sDexCryScreen->unk0[10];
+ sub_8145B24(*var0 * 0xd0 / 0x100);
+ break;
+ }
+
+ if (sCryVolumeMeter->unk0 == sCryVolumeMeter->unk1)
+ {
+ // empty block
+ }
+ else if (sCryVolumeMeter->unk0 < sCryVolumeMeter->unk1)
+ {
+ sCryVolumeMeter->unk0 += sCryVolumeMeter->unk2;
+ if (sCryVolumeMeter->unk0 > sCryVolumeMeter->unk1)
+ {
+ sCryVolumeMeter->unk0 = sCryVolumeMeter->unk1;
+ sCryVolumeMeter->unk1 = 0;
+ }
+ }
+ else
+ {
+ sCryVolumeMeter->unk0 -= sCryVolumeMeter->unk2;
+ if (sCryVolumeMeter->unk0 < sCryVolumeMeter->unk1)
+ {
+ sCryVolumeMeter->unk0 = sCryVolumeMeter->unk1;
+ sCryVolumeMeter->unk1 = 0;
+ }
+ }
+
+ affine.xScale = 0x100;
+ affine.yScale = 0x100;
+ affine.rotation = sCryVolumeMeter->unk0 * 256;
+ ObjAffineSet(&affine, &matrix, 1, 2);
+ SetOamMatrix(0, matrix.a, matrix.b, matrix.c, matrix.d);
+ x = gSineTable[((sCryVolumeMeter->unk0 + 0x7F) & 0xFF)];
+ y = gSineTable[((sCryVolumeMeter->unk0 + 0x7F) & 0xFF) + 0x40];
+ sprite->pos2.x = x * 24 / 256;
+ sprite->pos2.y = y * 24 / 256;
+}
+
+static void sub_8145B24(s8 a0)
+{
+ u16 r2 = (0x20 - a0) & 0xff;
+ if (r2 > 0x20 && r2 < 0xe0)
+ r2 = 0xe0;
+
+ sCryVolumeMeter->unk1 = r2;
+ sCryVolumeMeter->unk2 = 5;
+}
diff --git a/src/pokemon.c b/src/pokemon.c
index 7227d28cb..f528ce331 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1,41 +1,43 @@
#include "global.h"
-#include "pokemon.h"
+#include "apprentice.h"
#include "battle.h"
-#include "battle_setup.h"
-#include "battle_message.h"
-#include "random.h"
-#include "main.h"
-#include "constants/species.h"
-#include "constants/abilities.h"
-#include "constants/items.h"
-#include "constants/trainers.h"
-#include "constants/moves.h"
-#include "constants/hold_effects.h"
-#include "constants/battle_move_effects.h"
-#include "constants/songs.h"
-#include "constants/battle_frontier.h"
-#include "string_util.h"
-#include "text.h"
-#include "link.h"
-#include "event_data.h"
-#include "item.h"
#include "battle_controllers.h"
#include "battle_message.h"
+#include "battle_pike.h"
+#include "battle_pyramid.h"
+#include "battle_setup.h"
+#include "battle_tower.h"
+#include "event_data.h"
#include "evolution_scene.h"
-#include "pokemon_animation.h"
+#include "item.h"
+#include "link.h"
+#include "main.h"
+#include "malloc.h"
+#include "m4a.h"
#include "pokedex.h"
#include "pokeblock.h"
+#include "pokemon.h"
+#include "pokemon_animation.h"
+#include "pokemon_storage_system.h"
+#include "pokenav.h"
+#include "random.h"
+#include "recorded_battle.h"
+#include "rtc.h"
#include "sound.h"
+#include "string_util.h"
+#include "strings.h"
#include "task.h"
-#include "rtc.h"
-#include "m4a.h"
-#include "malloc.h"
+#include "text.h"
#include "util.h"
-#include "strings.h"
-#include "pokenav.h"
-#include "pokemon_storage_system.h"
-#include "recorded_battle.h"
-#include "apprentice.h"
+#include "constants/abilities.h"
+#include "constants/battle_frontier.h"
+#include "constants/battle_move_effects.h"
+#include "constants/hold_effects.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/trainers.h"
struct SpeciesItem
{
@@ -80,14 +82,8 @@ 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 u8 GetFrontierEnemyMonLevel(u8);
-extern bool8 InBattlePyramid(void);
-extern bool8 InBattlePike(void);
extern bool8 sub_806F104(void);
-extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId);
extern u8 sub_81D63C8(u16 trainerOpponentId);
-extern u8 GetFrontierOpponentClass(u16 trainerId);
-extern void GetFrontierTrainerName(u8* dest, u16 trainerId);
extern void SummaryScreen_SetUnknownTaskId(u8);
// this file's functions
@@ -111,1252 +107,1253 @@ EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL};
#include "data/battle_moves.h"
static const u8 sUnreferencedData[] = {0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00};
+#define SPECIES_TO_HOENN(name) [SPECIES_##name - 1] = HOENN_DEX_##name
+#define SPECIES_TO_NATIONAL(name) [SPECIES_##name - 1] = NATIONAL_DEX_##name
+#define HOENN_TO_NATIONAL(name) [HOENN_DEX_##name - 1] = NATIONAL_DEX_##name
+
const u16 gSpeciesToHoennPokedexNum[] = // Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex)
{
- // SPECIES_NONE
- HOENN_DEX_BULBASAUR, // SPECIES_BULBASAUR
- HOENN_DEX_IVYSAUR, // SPECIES_IVYSAUR
- HOENN_DEX_VENUSAUR, // SPECIES_VENUSAUR
- HOENN_DEX_CHARMANDER, // SPECIES_CHARMANDER
- HOENN_DEX_CHARMELEON, // SPECIES_CHARMELEON
- HOENN_DEX_CHARIZARD, // SPECIES_CHARIZARD
- HOENN_DEX_SQUIRTLE, // SPECIES_SQUIRTLE
- HOENN_DEX_WARTORTLE, // SPECIES_WARTORTLE
- HOENN_DEX_BLASTOISE, // SPECIES_BLASTOISE
- HOENN_DEX_CATERPIE, // SPECIES_CATERPIE
- HOENN_DEX_METAPOD, // SPECIES_METAPOD
- HOENN_DEX_BUTTERFREE, // SPECIES_BUTTERFREE
- HOENN_DEX_WEEDLE, // SPECIES_WEEDLE
- HOENN_DEX_KAKUNA, // SPECIES_KAKUNA
- HOENN_DEX_BEEDRILL, // SPECIES_BEEDRILL
- HOENN_DEX_PIDGEY, // SPECIES_PIDGEY
- HOENN_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO
- HOENN_DEX_PIDGEOT, // SPECIES_PIDGEOT
- HOENN_DEX_RATTATA, // SPECIES_RATTATA
- HOENN_DEX_RATICATE, // SPECIES_RATICATE
- HOENN_DEX_SPEAROW, // SPECIES_SPEAROW
- HOENN_DEX_FEAROW, // SPECIES_FEAROW
- HOENN_DEX_EKANS, // SPECIES_EKANS
- HOENN_DEX_ARBOK, // SPECIES_ARBOK
- HOENN_DEX_PIKACHU, // SPECIES_PIKACHU
- HOENN_DEX_RAICHU, // SPECIES_RAICHU
- HOENN_DEX_SANDSHREW, // SPECIES_SANDSHREW
- HOENN_DEX_SANDSLASH, // SPECIES_SANDSLASH
- HOENN_DEX_NIDORAN_F, // SPECIES_NIDORAN_F
- HOENN_DEX_NIDORINA, // SPECIES_NIDORINA
- HOENN_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN
- HOENN_DEX_NIDORAN_M, // SPECIES_NIDORAN_M
- HOENN_DEX_NIDORINO, // SPECIES_NIDORINO
- HOENN_DEX_NIDOKING, // SPECIES_NIDOKING
- HOENN_DEX_CLEFAIRY, // SPECIES_CLEFAIRY
- HOENN_DEX_CLEFABLE, // SPECIES_CLEFABLE
- HOENN_DEX_VULPIX, // SPECIES_VULPIX
- HOENN_DEX_NINETALES, // SPECIES_NINETALES
- HOENN_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF
- HOENN_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF
- HOENN_DEX_ZUBAT, // SPECIES_ZUBAT
- HOENN_DEX_GOLBAT, // SPECIES_GOLBAT
- HOENN_DEX_ODDISH, // SPECIES_ODDISH
- HOENN_DEX_GLOOM, // SPECIES_GLOOM
- HOENN_DEX_VILEPLUME, // SPECIES_VILEPLUME
- HOENN_DEX_PARAS, // SPECIES_PARAS
- HOENN_DEX_PARASECT, // SPECIES_PARASECT
- HOENN_DEX_VENONAT, // SPECIES_VENONAT
- HOENN_DEX_VENOMOTH, // SPECIES_VENOMOTH
- HOENN_DEX_DIGLETT, // SPECIES_DIGLETT
- HOENN_DEX_DUGTRIO, // SPECIES_DUGTRIO
- HOENN_DEX_MEOWTH, // SPECIES_MEOWTH
- HOENN_DEX_PERSIAN, // SPECIES_PERSIAN
- HOENN_DEX_PSYDUCK, // SPECIES_PSYDUCK
- HOENN_DEX_GOLDUCK, // SPECIES_GOLDUCK
- HOENN_DEX_MANKEY, // SPECIES_MANKEY
- HOENN_DEX_PRIMEAPE, // SPECIES_PRIMEAPE
- HOENN_DEX_GROWLITHE, // SPECIES_GROWLITHE
- HOENN_DEX_ARCANINE, // SPECIES_ARCANINE
- HOENN_DEX_POLIWAG, // SPECIES_POLIWAG
- HOENN_DEX_POLIWHIRL, // SPECIES_POLIWHIRL
- HOENN_DEX_POLIWRATH, // SPECIES_POLIWRATH
- HOENN_DEX_ABRA, // SPECIES_ABRA
- HOENN_DEX_KADABRA, // SPECIES_KADABRA
- HOENN_DEX_ALAKAZAM, // SPECIES_ALAKAZAM
- HOENN_DEX_MACHOP, // SPECIES_MACHOP
- HOENN_DEX_MACHOKE, // SPECIES_MACHOKE
- HOENN_DEX_MACHAMP, // SPECIES_MACHAMP
- HOENN_DEX_BELLSPROUT, // SPECIES_BELLSPROUT
- HOENN_DEX_WEEPINBELL, // SPECIES_WEEPINBELL
- HOENN_DEX_VICTREEBEL, // SPECIES_VICTREEBEL
- HOENN_DEX_TENTACOOL, // SPECIES_TENTACOOL
- HOENN_DEX_TENTACRUEL, // SPECIES_TENTACRUEL
- HOENN_DEX_GEODUDE, // SPECIES_GEODUDE
- HOENN_DEX_GRAVELER, // SPECIES_GRAVELER
- HOENN_DEX_GOLEM, // SPECIES_GOLEM
- HOENN_DEX_PONYTA, // SPECIES_PONYTA
- HOENN_DEX_RAPIDASH, // SPECIES_RAPIDASH
- HOENN_DEX_SLOWPOKE, // SPECIES_SLOWPOKE
- HOENN_DEX_SLOWBRO, // SPECIES_SLOWBRO
- HOENN_DEX_MAGNEMITE, // SPECIES_MAGNEMITE
- HOENN_DEX_MAGNETON, // SPECIES_MAGNETON
- HOENN_DEX_FARFETCHD, // SPECIES_FARFETCHD
- HOENN_DEX_DODUO, // SPECIES_DODUO
- HOENN_DEX_DODRIO, // SPECIES_DODRIO
- HOENN_DEX_SEEL, // SPECIES_SEEL
- HOENN_DEX_DEWGONG, // SPECIES_DEWGONG
- HOENN_DEX_GRIMER, // SPECIES_GRIMER
- HOENN_DEX_MUK, // SPECIES_MUK
- HOENN_DEX_SHELLDER, // SPECIES_SHELLDER
- HOENN_DEX_CLOYSTER, // SPECIES_CLOYSTER
- HOENN_DEX_GASTLY, // SPECIES_GASTLY
- HOENN_DEX_HAUNTER, // SPECIES_HAUNTER
- HOENN_DEX_GENGAR, // SPECIES_GENGAR
- HOENN_DEX_ONIX, // SPECIES_ONIX
- HOENN_DEX_DROWZEE, // SPECIES_DROWZEE
- HOENN_DEX_HYPNO, // SPECIES_HYPNO
- HOENN_DEX_KRABBY, // SPECIES_KRABBY
- HOENN_DEX_KINGLER, // SPECIES_KINGLER
- HOENN_DEX_VOLTORB, // SPECIES_VOLTORB
- HOENN_DEX_ELECTRODE, // SPECIES_ELECTRODE
- HOENN_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE
- HOENN_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR
- HOENN_DEX_CUBONE, // SPECIES_CUBONE
- HOENN_DEX_MAROWAK, // SPECIES_MAROWAK
- HOENN_DEX_HITMONLEE, // SPECIES_HITMONLEE
- HOENN_DEX_HITMONCHAN, // SPECIES_HITMONCHAN
- HOENN_DEX_LICKITUNG, // SPECIES_LICKITUNG
- HOENN_DEX_KOFFING, // SPECIES_KOFFING
- HOENN_DEX_WEEZING, // SPECIES_WEEZING
- HOENN_DEX_RHYHORN, // SPECIES_RHYHORN
- HOENN_DEX_RHYDON, // SPECIES_RHYDON
- HOENN_DEX_CHANSEY, // SPECIES_CHANSEY
- HOENN_DEX_TANGELA, // SPECIES_TANGELA
- HOENN_DEX_KANGASKHAN, // SPECIES_KANGASKHAN
- HOENN_DEX_HORSEA, // SPECIES_HORSEA
- HOENN_DEX_SEADRA, // SPECIES_SEADRA
- HOENN_DEX_GOLDEEN, // SPECIES_GOLDEEN
- HOENN_DEX_SEAKING, // SPECIES_SEAKING
- HOENN_DEX_STARYU, // SPECIES_STARYU
- HOENN_DEX_STARMIE, // SPECIES_STARMIE
- HOENN_DEX_MR_MIME, // SPECIES_MR_MIME
- HOENN_DEX_SCYTHER, // SPECIES_SCYTHER
- HOENN_DEX_JYNX, // SPECIES_JYNX
- HOENN_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ
- HOENN_DEX_MAGMAR, // SPECIES_MAGMAR
- HOENN_DEX_PINSIR, // SPECIES_PINSIR
- HOENN_DEX_TAUROS, // SPECIES_TAUROS
- HOENN_DEX_MAGIKARP, // SPECIES_MAGIKARP
- HOENN_DEX_GYARADOS, // SPECIES_GYARADOS
- HOENN_DEX_LAPRAS, // SPECIES_LAPRAS
- HOENN_DEX_DITTO, // SPECIES_DITTO
- HOENN_DEX_EEVEE, // SPECIES_EEVEE
- HOENN_DEX_VAPOREON, // SPECIES_VAPOREON
- HOENN_DEX_JOLTEON, // SPECIES_JOLTEON
- HOENN_DEX_FLAREON, // SPECIES_FLAREON
- HOENN_DEX_PORYGON, // SPECIES_PORYGON
- HOENN_DEX_OMANYTE, // SPECIES_OMANYTE
- HOENN_DEX_OMASTAR, // SPECIES_OMASTAR
- HOENN_DEX_KABUTO, // SPECIES_KABUTO
- HOENN_DEX_KABUTOPS, // SPECIES_KABUTOPS
- HOENN_DEX_AERODACTYL, // SPECIES_AERODACTYL
- HOENN_DEX_SNORLAX, // SPECIES_SNORLAX
- HOENN_DEX_ARTICUNO, // SPECIES_ARTICUNO
- HOENN_DEX_ZAPDOS, // SPECIES_ZAPDOS
- HOENN_DEX_MOLTRES, // SPECIES_MOLTRES
- HOENN_DEX_DRATINI, // SPECIES_DRATINI
- HOENN_DEX_DRAGONAIR, // SPECIES_DRAGONAIR
- HOENN_DEX_DRAGONITE, // SPECIES_DRAGONITE
- HOENN_DEX_MEWTWO, // SPECIES_MEWTWO
- HOENN_DEX_MEW, // SPECIES_MEW
- HOENN_DEX_CHIKORITA, // SPECIES_CHIKORITA
- HOENN_DEX_BAYLEEF, // SPECIES_BAYLEEF
- HOENN_DEX_MEGANIUM, // SPECIES_MEGANIUM
- HOENN_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL
- HOENN_DEX_QUILAVA, // SPECIES_QUILAVA
- HOENN_DEX_TYPHLOSION, // SPECIES_TYPHLOSION
- HOENN_DEX_TOTODILE, // SPECIES_TOTODILE
- HOENN_DEX_CROCONAW, // SPECIES_CROCONAW
- HOENN_DEX_FERALIGATR, // SPECIES_FERALIGATR
- HOENN_DEX_SENTRET, // SPECIES_SENTRET
- HOENN_DEX_FURRET, // SPECIES_FURRET
- HOENN_DEX_HOOTHOOT, // SPECIES_HOOTHOOT
- HOENN_DEX_NOCTOWL, // SPECIES_NOCTOWL
- HOENN_DEX_LEDYBA, // SPECIES_LEDYBA
- HOENN_DEX_LEDIAN, // SPECIES_LEDIAN
- HOENN_DEX_SPINARAK, // SPECIES_SPINARAK
- HOENN_DEX_ARIADOS, // SPECIES_ARIADOS
- HOENN_DEX_CROBAT, // SPECIES_CROBAT
- HOENN_DEX_CHINCHOU, // SPECIES_CHINCHOU
- HOENN_DEX_LANTURN, // SPECIES_LANTURN
- HOENN_DEX_PICHU, // SPECIES_PICHU
- HOENN_DEX_CLEFFA, // SPECIES_CLEFFA
- HOENN_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF
- HOENN_DEX_TOGEPI, // SPECIES_TOGEPI
- HOENN_DEX_TOGETIC, // SPECIES_TOGETIC
- HOENN_DEX_NATU, // SPECIES_NATU
- HOENN_DEX_XATU, // SPECIES_XATU
- HOENN_DEX_MAREEP, // SPECIES_MAREEP
- HOENN_DEX_FLAAFFY, // SPECIES_FLAAFFY
- HOENN_DEX_AMPHAROS, // SPECIES_AMPHAROS
- HOENN_DEX_BELLOSSOM, // SPECIES_BELLOSSOM
- HOENN_DEX_MARILL, // SPECIES_MARILL
- HOENN_DEX_AZUMARILL, // SPECIES_AZUMARILL
- HOENN_DEX_SUDOWOODO, // SPECIES_SUDOWOODO
- HOENN_DEX_POLITOED, // SPECIES_POLITOED
- HOENN_DEX_HOPPIP, // SPECIES_HOPPIP
- HOENN_DEX_SKIPLOOM, // SPECIES_SKIPLOOM
- HOENN_DEX_JUMPLUFF, // SPECIES_JUMPLUFF
- HOENN_DEX_AIPOM, // SPECIES_AIPOM
- HOENN_DEX_SUNKERN, // SPECIES_SUNKERN
- HOENN_DEX_SUNFLORA, // SPECIES_SUNFLORA
- HOENN_DEX_YANMA, // SPECIES_YANMA
- HOENN_DEX_WOOPER, // SPECIES_WOOPER
- HOENN_DEX_QUAGSIRE, // SPECIES_QUAGSIRE
- HOENN_DEX_ESPEON, // SPECIES_ESPEON
- HOENN_DEX_UMBREON, // SPECIES_UMBREON
- HOENN_DEX_MURKROW, // SPECIES_MURKROW
- HOENN_DEX_SLOWKING, // SPECIES_SLOWKING
- HOENN_DEX_MISDREAVUS, // SPECIES_MISDREAVUS
- HOENN_DEX_UNOWN, // SPECIES_UNOWN
- HOENN_DEX_WOBBUFFET, // SPECIES_WOBBUFFET
- HOENN_DEX_GIRAFARIG, // SPECIES_GIRAFARIG
- HOENN_DEX_PINECO, // SPECIES_PINECO
- HOENN_DEX_FORRETRESS, // SPECIES_FORRETRESS
- HOENN_DEX_DUNSPARCE, // SPECIES_DUNSPARCE
- HOENN_DEX_GLIGAR, // SPECIES_GLIGAR
- HOENN_DEX_STEELIX, // SPECIES_STEELIX
- HOENN_DEX_SNUBBULL, // SPECIES_SNUBBULL
- HOENN_DEX_GRANBULL, // SPECIES_GRANBULL
- HOENN_DEX_QWILFISH, // SPECIES_QWILFISH
- HOENN_DEX_SCIZOR, // SPECIES_SCIZOR
- HOENN_DEX_SHUCKLE, // SPECIES_SHUCKLE
- HOENN_DEX_HERACROSS, // SPECIES_HERACROSS
- HOENN_DEX_SNEASEL, // SPECIES_SNEASEL
- HOENN_DEX_TEDDIURSA, // SPECIES_TEDDIURSA
- HOENN_DEX_URSARING, // SPECIES_URSARING
- HOENN_DEX_SLUGMA, // SPECIES_SLUGMA
- HOENN_DEX_MAGCARGO, // SPECIES_MAGCARGO
- HOENN_DEX_SWINUB, // SPECIES_SWINUB
- HOENN_DEX_PILOSWINE, // SPECIES_PILOSWINE
- HOENN_DEX_CORSOLA, // SPECIES_CORSOLA
- HOENN_DEX_REMORAID, // SPECIES_REMORAID
- HOENN_DEX_OCTILLERY, // SPECIES_OCTILLERY
- HOENN_DEX_DELIBIRD, // SPECIES_DELIBIRD
- HOENN_DEX_MANTINE, // SPECIES_MANTINE
- HOENN_DEX_SKARMORY, // SPECIES_SKARMORY
- HOENN_DEX_HOUNDOUR, // SPECIES_HOUNDOUR
- HOENN_DEX_HOUNDOOM, // SPECIES_HOUNDOOM
- HOENN_DEX_KINGDRA, // SPECIES_KINGDRA
- HOENN_DEX_PHANPY, // SPECIES_PHANPY
- HOENN_DEX_DONPHAN, // SPECIES_DONPHAN
- HOENN_DEX_PORYGON2, // SPECIES_PORYGON2
- HOENN_DEX_STANTLER, // SPECIES_STANTLER
- HOENN_DEX_SMEARGLE, // SPECIES_SMEARGLE
- HOENN_DEX_TYROGUE, // SPECIES_TYROGUE
- HOENN_DEX_HITMONTOP, // SPECIES_HITMONTOP
- HOENN_DEX_SMOOCHUM, // SPECIES_SMOOCHUM
- HOENN_DEX_ELEKID, // SPECIES_ELEKID
- HOENN_DEX_MAGBY, // SPECIES_MAGBY
- HOENN_DEX_MILTANK, // SPECIES_MILTANK
- HOENN_DEX_BLISSEY, // SPECIES_BLISSEY
- HOENN_DEX_RAIKOU, // SPECIES_RAIKOU
- HOENN_DEX_ENTEI, // SPECIES_ENTEI
- HOENN_DEX_SUICUNE, // SPECIES_SUICUNE
- HOENN_DEX_LARVITAR, // SPECIES_LARVITAR
- HOENN_DEX_PUPITAR, // SPECIES_PUPITAR
- HOENN_DEX_TYRANITAR, // SPECIES_TYRANITAR
- HOENN_DEX_LUGIA, // SPECIES_LUGIA
- HOENN_DEX_HO_OH, // SPECIES_HO-OH
- HOENN_DEX_CELEBI, // SPECIES_CELEBI
- HOENN_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B
- HOENN_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C
- HOENN_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D
- HOENN_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E
- HOENN_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F
- HOENN_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G
- HOENN_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H
- HOENN_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I
- HOENN_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J
- HOENN_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K
- HOENN_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L
- HOENN_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M
- HOENN_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N
- HOENN_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O
- HOENN_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P
- HOENN_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q
- HOENN_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R
- HOENN_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S
- HOENN_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T
- HOENN_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U
- HOENN_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V
- HOENN_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W
- HOENN_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X
- HOENN_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y
- HOENN_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z
- HOENN_DEX_TREECKO, // SPECIES_TREECKO
- HOENN_DEX_GROVYLE, // SPECIES_GROVYLE
- HOENN_DEX_SCEPTILE, // SPECIES_SCEPTILE
- HOENN_DEX_TORCHIC, // SPECIES_TORCHIC
- HOENN_DEX_COMBUSKEN, // SPECIES_COMBUSKEN
- HOENN_DEX_BLAZIKEN, // SPECIES_BLAZIKEN
- HOENN_DEX_MUDKIP, // SPECIES_MUDKIP
- HOENN_DEX_MARSHTOMP, // SPECIES_MARSHTOMP
- HOENN_DEX_SWAMPERT, // SPECIES_SWAMPERT
- HOENN_DEX_POOCHYENA, // SPECIES_POOCHYENA
- HOENN_DEX_MIGHTYENA, // SPECIES_MIGHTYENA
- HOENN_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON
- HOENN_DEX_LINOONE, // SPECIES_LINOONE
- HOENN_DEX_WURMPLE, // SPECIES_WURMPLE
- HOENN_DEX_SILCOON, // SPECIES_SILCOON
- HOENN_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY
- HOENN_DEX_CASCOON, // SPECIES_CASCOON
- HOENN_DEX_DUSTOX, // SPECIES_DUSTOX
- HOENN_DEX_LOTAD, // SPECIES_LOTAD
- HOENN_DEX_LOMBRE, // SPECIES_LOMBRE
- HOENN_DEX_LUDICOLO, // SPECIES_LUDICOLO
- HOENN_DEX_SEEDOT, // SPECIES_SEEDOT
- HOENN_DEX_NUZLEAF, // SPECIES_NUZLEAF
- HOENN_DEX_SHIFTRY, // SPECIES_SHIFTRY
- HOENN_DEX_NINCADA, // SPECIES_NINCADA
- HOENN_DEX_NINJASK, // SPECIES_NINJASK
- HOENN_DEX_SHEDINJA, // SPECIES_SHEDINJA
- HOENN_DEX_TAILLOW, // SPECIES_TAILLOW
- HOENN_DEX_SWELLOW, // SPECIES_SWELLOW
- HOENN_DEX_SHROOMISH, // SPECIES_SHROOMISH
- HOENN_DEX_BRELOOM, // SPECIES_BRELOOM
- HOENN_DEX_SPINDA, // SPECIES_SPINDA
- HOENN_DEX_WINGULL, // SPECIES_WINGULL
- HOENN_DEX_PELIPPER, // SPECIES_PELIPPER
- HOENN_DEX_SURSKIT, // SPECIES_SURSKIT
- HOENN_DEX_MASQUERAIN, // SPECIES_MASQUERAIN
- HOENN_DEX_WAILMER, // SPECIES_WAILMER
- HOENN_DEX_WAILORD, // SPECIES_WAILORD
- HOENN_DEX_SKITTY, // SPECIES_SKITTY
- HOENN_DEX_DELCATTY, // SPECIES_DELCATTY
- HOENN_DEX_KECLEON, // SPECIES_KECLEON
- HOENN_DEX_BALTOY, // SPECIES_BALTOY
- HOENN_DEX_CLAYDOL, // SPECIES_CLAYDOL
- HOENN_DEX_NOSEPASS, // SPECIES_NOSEPASS
- HOENN_DEX_TORKOAL, // SPECIES_TORKOAL
- HOENN_DEX_SABLEYE, // SPECIES_SABLEYE
- HOENN_DEX_BARBOACH, // SPECIES_BARBOACH
- HOENN_DEX_WHISCASH, // SPECIES_WHISCASH
- HOENN_DEX_LUVDISC, // SPECIES_LUVDISC
- HOENN_DEX_CORPHISH, // SPECIES_CORPHISH
- HOENN_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT
- HOENN_DEX_FEEBAS, // SPECIES_FEEBAS
- HOENN_DEX_MILOTIC, // SPECIES_MILOTIC
- HOENN_DEX_CARVANHA, // SPECIES_CARVANHA
- HOENN_DEX_SHARPEDO, // SPECIES_SHARPEDO
- HOENN_DEX_TRAPINCH, // SPECIES_TRAPINCH
- HOENN_DEX_VIBRAVA, // SPECIES_VIBRAVA
- HOENN_DEX_FLYGON, // SPECIES_FLYGON
- HOENN_DEX_MAKUHITA, // SPECIES_MAKUHITA
- HOENN_DEX_HARIYAMA, // SPECIES_HARIYAMA
- HOENN_DEX_ELECTRIKE, // SPECIES_ELECTRIKE
- HOENN_DEX_MANECTRIC, // SPECIES_MANECTRIC
- HOENN_DEX_NUMEL, // SPECIES_NUMEL
- HOENN_DEX_CAMERUPT, // SPECIES_CAMERUPT
- HOENN_DEX_SPHEAL, // SPECIES_SPHEAL
- HOENN_DEX_SEALEO, // SPECIES_SEALEO
- HOENN_DEX_WALREIN, // SPECIES_WALREIN
- HOENN_DEX_CACNEA, // SPECIES_CACNEA
- HOENN_DEX_CACTURNE, // SPECIES_CACTURNE
- HOENN_DEX_SNORUNT, // SPECIES_SNORUNT
- HOENN_DEX_GLALIE, // SPECIES_GLALIE
- HOENN_DEX_LUNATONE, // SPECIES_LUNATONE
- HOENN_DEX_SOLROCK, // SPECIES_SOLROCK
- HOENN_DEX_AZURILL, // SPECIES_AZURILL
- HOENN_DEX_SPOINK, // SPECIES_SPOINK
- HOENN_DEX_GRUMPIG, // SPECIES_GRUMPIG
- HOENN_DEX_PLUSLE, // SPECIES_PLUSLE
- HOENN_DEX_MINUN, // SPECIES_MINUN
- HOENN_DEX_MAWILE, // SPECIES_MAWILE
- HOENN_DEX_MEDITITE, // SPECIES_MEDITITE
- HOENN_DEX_MEDICHAM, // SPECIES_MEDICHAM
- HOENN_DEX_SWABLU, // SPECIES_SWABLU
- HOENN_DEX_ALTARIA, // SPECIES_ALTARIA
- HOENN_DEX_WYNAUT, // SPECIES_WYNAUT
- HOENN_DEX_DUSKULL, // SPECIES_DUSKULL
- HOENN_DEX_DUSCLOPS, // SPECIES_DUSCLOPS
- HOENN_DEX_ROSELIA, // SPECIES_ROSELIA
- HOENN_DEX_SLAKOTH, // SPECIES_SLAKOTH
- HOENN_DEX_VIGOROTH, // SPECIES_VIGOROTH
- HOENN_DEX_SLAKING, // SPECIES_SLAKING
- HOENN_DEX_GULPIN, // SPECIES_GULPIN
- HOENN_DEX_SWALOT, // SPECIES_SWALOT
- HOENN_DEX_TROPIUS, // SPECIES_TROPIUS
- HOENN_DEX_WHISMUR, // SPECIES_WHISMUR
- HOENN_DEX_LOUDRED, // SPECIES_LOUDRED
- HOENN_DEX_EXPLOUD, // SPECIES_EXPLOUD
- HOENN_DEX_CLAMPERL, // SPECIES_CLAMPERL
- HOENN_DEX_HUNTAIL, // SPECIES_HUNTAIL
- HOENN_DEX_GOREBYSS, // SPECIES_GOREBYSS
- HOENN_DEX_ABSOL, // SPECIES_ABSOL
- HOENN_DEX_SHUPPET, // SPECIES_SHUPPET
- HOENN_DEX_BANETTE, // SPECIES_BANETTE
- HOENN_DEX_SEVIPER, // SPECIES_SEVIPER
- HOENN_DEX_ZANGOOSE, // SPECIES_ZANGOOSE
- HOENN_DEX_RELICANTH, // SPECIES_RELICANTH
- HOENN_DEX_ARON, // SPECIES_ARON
- HOENN_DEX_LAIRON, // SPECIES_LAIRON
- HOENN_DEX_AGGRON, // SPECIES_AGGRON
- HOENN_DEX_CASTFORM, // SPECIES_CASTFORM
- HOENN_DEX_VOLBEAT, // SPECIES_VOLBEAT
- HOENN_DEX_ILLUMISE, // SPECIES_ILLUMISE
- HOENN_DEX_LILEEP, // SPECIES_LILEEP
- HOENN_DEX_CRADILY, // SPECIES_CRADILY
- HOENN_DEX_ANORITH, // SPECIES_ANORITH
- HOENN_DEX_ARMALDO, // SPECIES_ARMALDO
- HOENN_DEX_RALTS, // SPECIES_RALTS
- HOENN_DEX_KIRLIA, // SPECIES_KIRLIA
- HOENN_DEX_GARDEVOIR, // SPECIES_GARDEVOIR
- HOENN_DEX_BAGON, // SPECIES_BAGON
- HOENN_DEX_SHELGON, // SPECIES_SHELGON
- HOENN_DEX_SALAMENCE, // SPECIES_SALAMENCE
- HOENN_DEX_BELDUM, // SPECIES_BELDUM
- HOENN_DEX_METANG, // SPECIES_METANG
- HOENN_DEX_METAGROSS, // SPECIES_METAGROSS
- HOENN_DEX_REGIROCK, // SPECIES_REGIROCK
- HOENN_DEX_REGICE, // SPECIES_REGICE
- HOENN_DEX_REGISTEEL, // SPECIES_REGISTEEL
- HOENN_DEX_KYOGRE, // SPECIES_KYOGRE
- HOENN_DEX_GROUDON, // SPECIES_GROUDON
- HOENN_DEX_RAYQUAZA, // SPECIES_RAYQUAZA
- HOENN_DEX_LATIAS, // SPECIES_LATIAS
- HOENN_DEX_LATIOS, // SPECIES_LATIOS
- HOENN_DEX_JIRACHI, // SPECIES_JIRACHI
- HOENN_DEX_DEOXYS, // SPECIES_DEOXYS
- HOENN_DEX_CHIMECHO // SPECIES_CHIMECHO
+ SPECIES_TO_HOENN(BULBASAUR),
+ SPECIES_TO_HOENN(IVYSAUR),
+ SPECIES_TO_HOENN(VENUSAUR),
+ SPECIES_TO_HOENN(CHARMANDER),
+ SPECIES_TO_HOENN(CHARMELEON),
+ SPECIES_TO_HOENN(CHARIZARD),
+ SPECIES_TO_HOENN(SQUIRTLE),
+ SPECIES_TO_HOENN(WARTORTLE),
+ SPECIES_TO_HOENN(BLASTOISE),
+ SPECIES_TO_HOENN(CATERPIE),
+ SPECIES_TO_HOENN(METAPOD),
+ SPECIES_TO_HOENN(BUTTERFREE),
+ SPECIES_TO_HOENN(WEEDLE),
+ SPECIES_TO_HOENN(KAKUNA),
+ SPECIES_TO_HOENN(BEEDRILL),
+ SPECIES_TO_HOENN(PIDGEY),
+ SPECIES_TO_HOENN(PIDGEOTTO),
+ SPECIES_TO_HOENN(PIDGEOT),
+ SPECIES_TO_HOENN(RATTATA),
+ SPECIES_TO_HOENN(RATICATE),
+ SPECIES_TO_HOENN(SPEAROW),
+ SPECIES_TO_HOENN(FEAROW),
+ SPECIES_TO_HOENN(EKANS),
+ SPECIES_TO_HOENN(ARBOK),
+ SPECIES_TO_HOENN(PIKACHU),
+ SPECIES_TO_HOENN(RAICHU),
+ SPECIES_TO_HOENN(SANDSHREW),
+ SPECIES_TO_HOENN(SANDSLASH),
+ SPECIES_TO_HOENN(NIDORAN_F),
+ SPECIES_TO_HOENN(NIDORINA),
+ SPECIES_TO_HOENN(NIDOQUEEN),
+ SPECIES_TO_HOENN(NIDORAN_M),
+ SPECIES_TO_HOENN(NIDORINO),
+ SPECIES_TO_HOENN(NIDOKING),
+ SPECIES_TO_HOENN(CLEFAIRY),
+ SPECIES_TO_HOENN(CLEFABLE),
+ SPECIES_TO_HOENN(VULPIX),
+ SPECIES_TO_HOENN(NINETALES),
+ SPECIES_TO_HOENN(JIGGLYPUFF),
+ SPECIES_TO_HOENN(WIGGLYTUFF),
+ SPECIES_TO_HOENN(ZUBAT),
+ SPECIES_TO_HOENN(GOLBAT),
+ SPECIES_TO_HOENN(ODDISH),
+ SPECIES_TO_HOENN(GLOOM),
+ SPECIES_TO_HOENN(VILEPLUME),
+ SPECIES_TO_HOENN(PARAS),
+ SPECIES_TO_HOENN(PARASECT),
+ SPECIES_TO_HOENN(VENONAT),
+ SPECIES_TO_HOENN(VENOMOTH),
+ SPECIES_TO_HOENN(DIGLETT),
+ SPECIES_TO_HOENN(DUGTRIO),
+ SPECIES_TO_HOENN(MEOWTH),
+ SPECIES_TO_HOENN(PERSIAN),
+ SPECIES_TO_HOENN(PSYDUCK),
+ SPECIES_TO_HOENN(GOLDUCK),
+ SPECIES_TO_HOENN(MANKEY),
+ SPECIES_TO_HOENN(PRIMEAPE),
+ SPECIES_TO_HOENN(GROWLITHE),
+ SPECIES_TO_HOENN(ARCANINE),
+ SPECIES_TO_HOENN(POLIWAG),
+ SPECIES_TO_HOENN(POLIWHIRL),
+ SPECIES_TO_HOENN(POLIWRATH),
+ SPECIES_TO_HOENN(ABRA),
+ SPECIES_TO_HOENN(KADABRA),
+ SPECIES_TO_HOENN(ALAKAZAM),
+ SPECIES_TO_HOENN(MACHOP),
+ SPECIES_TO_HOENN(MACHOKE),
+ SPECIES_TO_HOENN(MACHAMP),
+ SPECIES_TO_HOENN(BELLSPROUT),
+ SPECIES_TO_HOENN(WEEPINBELL),
+ SPECIES_TO_HOENN(VICTREEBEL),
+ SPECIES_TO_HOENN(TENTACOOL),
+ SPECIES_TO_HOENN(TENTACRUEL),
+ SPECIES_TO_HOENN(GEODUDE),
+ SPECIES_TO_HOENN(GRAVELER),
+ SPECIES_TO_HOENN(GOLEM),
+ SPECIES_TO_HOENN(PONYTA),
+ SPECIES_TO_HOENN(RAPIDASH),
+ SPECIES_TO_HOENN(SLOWPOKE),
+ SPECIES_TO_HOENN(SLOWBRO),
+ SPECIES_TO_HOENN(MAGNEMITE),
+ SPECIES_TO_HOENN(MAGNETON),
+ SPECIES_TO_HOENN(FARFETCHD),
+ SPECIES_TO_HOENN(DODUO),
+ SPECIES_TO_HOENN(DODRIO),
+ SPECIES_TO_HOENN(SEEL),
+ SPECIES_TO_HOENN(DEWGONG),
+ SPECIES_TO_HOENN(GRIMER),
+ SPECIES_TO_HOENN(MUK),
+ SPECIES_TO_HOENN(SHELLDER),
+ SPECIES_TO_HOENN(CLOYSTER),
+ SPECIES_TO_HOENN(GASTLY),
+ SPECIES_TO_HOENN(HAUNTER),
+ SPECIES_TO_HOENN(GENGAR),
+ SPECIES_TO_HOENN(ONIX),
+ SPECIES_TO_HOENN(DROWZEE),
+ SPECIES_TO_HOENN(HYPNO),
+ SPECIES_TO_HOENN(KRABBY),
+ SPECIES_TO_HOENN(KINGLER),
+ SPECIES_TO_HOENN(VOLTORB),
+ SPECIES_TO_HOENN(ELECTRODE),
+ SPECIES_TO_HOENN(EXEGGCUTE),
+ SPECIES_TO_HOENN(EXEGGUTOR),
+ SPECIES_TO_HOENN(CUBONE),
+ SPECIES_TO_HOENN(MAROWAK),
+ SPECIES_TO_HOENN(HITMONLEE),
+ SPECIES_TO_HOENN(HITMONCHAN),
+ SPECIES_TO_HOENN(LICKITUNG),
+ SPECIES_TO_HOENN(KOFFING),
+ SPECIES_TO_HOENN(WEEZING),
+ SPECIES_TO_HOENN(RHYHORN),
+ SPECIES_TO_HOENN(RHYDON),
+ SPECIES_TO_HOENN(CHANSEY),
+ SPECIES_TO_HOENN(TANGELA),
+ SPECIES_TO_HOENN(KANGASKHAN),
+ SPECIES_TO_HOENN(HORSEA),
+ SPECIES_TO_HOENN(SEADRA),
+ SPECIES_TO_HOENN(GOLDEEN),
+ SPECIES_TO_HOENN(SEAKING),
+ SPECIES_TO_HOENN(STARYU),
+ SPECIES_TO_HOENN(STARMIE),
+ SPECIES_TO_HOENN(MR_MIME),
+ SPECIES_TO_HOENN(SCYTHER),
+ SPECIES_TO_HOENN(JYNX),
+ SPECIES_TO_HOENN(ELECTABUZZ),
+ SPECIES_TO_HOENN(MAGMAR),
+ SPECIES_TO_HOENN(PINSIR),
+ SPECIES_TO_HOENN(TAUROS),
+ SPECIES_TO_HOENN(MAGIKARP),
+ SPECIES_TO_HOENN(GYARADOS),
+ SPECIES_TO_HOENN(LAPRAS),
+ SPECIES_TO_HOENN(DITTO),
+ SPECIES_TO_HOENN(EEVEE),
+ SPECIES_TO_HOENN(VAPOREON),
+ SPECIES_TO_HOENN(JOLTEON),
+ SPECIES_TO_HOENN(FLAREON),
+ SPECIES_TO_HOENN(PORYGON),
+ SPECIES_TO_HOENN(OMANYTE),
+ SPECIES_TO_HOENN(OMASTAR),
+ SPECIES_TO_HOENN(KABUTO),
+ SPECIES_TO_HOENN(KABUTOPS),
+ SPECIES_TO_HOENN(AERODACTYL),
+ SPECIES_TO_HOENN(SNORLAX),
+ SPECIES_TO_HOENN(ARTICUNO),
+ SPECIES_TO_HOENN(ZAPDOS),
+ SPECIES_TO_HOENN(MOLTRES),
+ SPECIES_TO_HOENN(DRATINI),
+ SPECIES_TO_HOENN(DRAGONAIR),
+ SPECIES_TO_HOENN(DRAGONITE),
+ SPECIES_TO_HOENN(MEWTWO),
+ SPECIES_TO_HOENN(MEW),
+ SPECIES_TO_HOENN(CHIKORITA),
+ SPECIES_TO_HOENN(BAYLEEF),
+ SPECIES_TO_HOENN(MEGANIUM),
+ SPECIES_TO_HOENN(CYNDAQUIL),
+ SPECIES_TO_HOENN(QUILAVA),
+ SPECIES_TO_HOENN(TYPHLOSION),
+ SPECIES_TO_HOENN(TOTODILE),
+ SPECIES_TO_HOENN(CROCONAW),
+ SPECIES_TO_HOENN(FERALIGATR),
+ SPECIES_TO_HOENN(SENTRET),
+ SPECIES_TO_HOENN(FURRET),
+ SPECIES_TO_HOENN(HOOTHOOT),
+ SPECIES_TO_HOENN(NOCTOWL),
+ SPECIES_TO_HOENN(LEDYBA),
+ SPECIES_TO_HOENN(LEDIAN),
+ SPECIES_TO_HOENN(SPINARAK),
+ SPECIES_TO_HOENN(ARIADOS),
+ SPECIES_TO_HOENN(CROBAT),
+ SPECIES_TO_HOENN(CHINCHOU),
+ SPECIES_TO_HOENN(LANTURN),
+ SPECIES_TO_HOENN(PICHU),
+ SPECIES_TO_HOENN(CLEFFA),
+ SPECIES_TO_HOENN(IGGLYBUFF),
+ SPECIES_TO_HOENN(TOGEPI),
+ SPECIES_TO_HOENN(TOGETIC),
+ SPECIES_TO_HOENN(NATU),
+ SPECIES_TO_HOENN(XATU),
+ SPECIES_TO_HOENN(MAREEP),
+ SPECIES_TO_HOENN(FLAAFFY),
+ SPECIES_TO_HOENN(AMPHAROS),
+ SPECIES_TO_HOENN(BELLOSSOM),
+ SPECIES_TO_HOENN(MARILL),
+ SPECIES_TO_HOENN(AZUMARILL),
+ SPECIES_TO_HOENN(SUDOWOODO),
+ SPECIES_TO_HOENN(POLITOED),
+ SPECIES_TO_HOENN(HOPPIP),
+ SPECIES_TO_HOENN(SKIPLOOM),
+ SPECIES_TO_HOENN(JUMPLUFF),
+ SPECIES_TO_HOENN(AIPOM),
+ SPECIES_TO_HOENN(SUNKERN),
+ SPECIES_TO_HOENN(SUNFLORA),
+ SPECIES_TO_HOENN(YANMA),
+ SPECIES_TO_HOENN(WOOPER),
+ SPECIES_TO_HOENN(QUAGSIRE),
+ SPECIES_TO_HOENN(ESPEON),
+ SPECIES_TO_HOENN(UMBREON),
+ SPECIES_TO_HOENN(MURKROW),
+ SPECIES_TO_HOENN(SLOWKING),
+ SPECIES_TO_HOENN(MISDREAVUS),
+ SPECIES_TO_HOENN(UNOWN),
+ SPECIES_TO_HOENN(WOBBUFFET),
+ SPECIES_TO_HOENN(GIRAFARIG),
+ SPECIES_TO_HOENN(PINECO),
+ SPECIES_TO_HOENN(FORRETRESS),
+ SPECIES_TO_HOENN(DUNSPARCE),
+ SPECIES_TO_HOENN(GLIGAR),
+ SPECIES_TO_HOENN(STEELIX),
+ SPECIES_TO_HOENN(SNUBBULL),
+ SPECIES_TO_HOENN(GRANBULL),
+ SPECIES_TO_HOENN(QWILFISH),
+ SPECIES_TO_HOENN(SCIZOR),
+ SPECIES_TO_HOENN(SHUCKLE),
+ SPECIES_TO_HOENN(HERACROSS),
+ SPECIES_TO_HOENN(SNEASEL),
+ SPECIES_TO_HOENN(TEDDIURSA),
+ SPECIES_TO_HOENN(URSARING),
+ SPECIES_TO_HOENN(SLUGMA),
+ SPECIES_TO_HOENN(MAGCARGO),
+ SPECIES_TO_HOENN(SWINUB),
+ SPECIES_TO_HOENN(PILOSWINE),
+ SPECIES_TO_HOENN(CORSOLA),
+ SPECIES_TO_HOENN(REMORAID),
+ SPECIES_TO_HOENN(OCTILLERY),
+ SPECIES_TO_HOENN(DELIBIRD),
+ SPECIES_TO_HOENN(MANTINE),
+ SPECIES_TO_HOENN(SKARMORY),
+ SPECIES_TO_HOENN(HOUNDOUR),
+ SPECIES_TO_HOENN(HOUNDOOM),
+ SPECIES_TO_HOENN(KINGDRA),
+ SPECIES_TO_HOENN(PHANPY),
+ SPECIES_TO_HOENN(DONPHAN),
+ SPECIES_TO_HOENN(PORYGON2),
+ SPECIES_TO_HOENN(STANTLER),
+ SPECIES_TO_HOENN(SMEARGLE),
+ SPECIES_TO_HOENN(TYROGUE),
+ SPECIES_TO_HOENN(HITMONTOP),
+ SPECIES_TO_HOENN(SMOOCHUM),
+ SPECIES_TO_HOENN(ELEKID),
+ SPECIES_TO_HOENN(MAGBY),
+ SPECIES_TO_HOENN(MILTANK),
+ SPECIES_TO_HOENN(BLISSEY),
+ SPECIES_TO_HOENN(RAIKOU),
+ SPECIES_TO_HOENN(ENTEI),
+ SPECIES_TO_HOENN(SUICUNE),
+ SPECIES_TO_HOENN(LARVITAR),
+ SPECIES_TO_HOENN(PUPITAR),
+ SPECIES_TO_HOENN(TYRANITAR),
+ SPECIES_TO_HOENN(LUGIA),
+ SPECIES_TO_HOENN(HO_OH),
+ SPECIES_TO_HOENN(CELEBI),
+ SPECIES_TO_HOENN(OLD_UNOWN_B),
+ SPECIES_TO_HOENN(OLD_UNOWN_C),
+ SPECIES_TO_HOENN(OLD_UNOWN_D),
+ SPECIES_TO_HOENN(OLD_UNOWN_E),
+ SPECIES_TO_HOENN(OLD_UNOWN_F),
+ SPECIES_TO_HOENN(OLD_UNOWN_G),
+ SPECIES_TO_HOENN(OLD_UNOWN_H),
+ SPECIES_TO_HOENN(OLD_UNOWN_I),
+ SPECIES_TO_HOENN(OLD_UNOWN_J),
+ SPECIES_TO_HOENN(OLD_UNOWN_K),
+ SPECIES_TO_HOENN(OLD_UNOWN_L),
+ SPECIES_TO_HOENN(OLD_UNOWN_M),
+ SPECIES_TO_HOENN(OLD_UNOWN_N),
+ SPECIES_TO_HOENN(OLD_UNOWN_O),
+ SPECIES_TO_HOENN(OLD_UNOWN_P),
+ SPECIES_TO_HOENN(OLD_UNOWN_Q),
+ SPECIES_TO_HOENN(OLD_UNOWN_R),
+ SPECIES_TO_HOENN(OLD_UNOWN_S),
+ SPECIES_TO_HOENN(OLD_UNOWN_T),
+ SPECIES_TO_HOENN(OLD_UNOWN_U),
+ SPECIES_TO_HOENN(OLD_UNOWN_V),
+ SPECIES_TO_HOENN(OLD_UNOWN_W),
+ SPECIES_TO_HOENN(OLD_UNOWN_X),
+ SPECIES_TO_HOENN(OLD_UNOWN_Y),
+ SPECIES_TO_HOENN(OLD_UNOWN_Z),
+ SPECIES_TO_HOENN(TREECKO),
+ SPECIES_TO_HOENN(GROVYLE),
+ SPECIES_TO_HOENN(SCEPTILE),
+ SPECIES_TO_HOENN(TORCHIC),
+ SPECIES_TO_HOENN(COMBUSKEN),
+ SPECIES_TO_HOENN(BLAZIKEN),
+ SPECIES_TO_HOENN(MUDKIP),
+ SPECIES_TO_HOENN(MARSHTOMP),
+ SPECIES_TO_HOENN(SWAMPERT),
+ SPECIES_TO_HOENN(POOCHYENA),
+ SPECIES_TO_HOENN(MIGHTYENA),
+ SPECIES_TO_HOENN(ZIGZAGOON),
+ SPECIES_TO_HOENN(LINOONE),
+ SPECIES_TO_HOENN(WURMPLE),
+ SPECIES_TO_HOENN(SILCOON),
+ SPECIES_TO_HOENN(BEAUTIFLY),
+ SPECIES_TO_HOENN(CASCOON),
+ SPECIES_TO_HOENN(DUSTOX),
+ SPECIES_TO_HOENN(LOTAD),
+ SPECIES_TO_HOENN(LOMBRE),
+ SPECIES_TO_HOENN(LUDICOLO),
+ SPECIES_TO_HOENN(SEEDOT),
+ SPECIES_TO_HOENN(NUZLEAF),
+ SPECIES_TO_HOENN(SHIFTRY),
+ SPECIES_TO_HOENN(NINCADA),
+ SPECIES_TO_HOENN(NINJASK),
+ SPECIES_TO_HOENN(SHEDINJA),
+ SPECIES_TO_HOENN(TAILLOW),
+ SPECIES_TO_HOENN(SWELLOW),
+ SPECIES_TO_HOENN(SHROOMISH),
+ SPECIES_TO_HOENN(BRELOOM),
+ SPECIES_TO_HOENN(SPINDA),
+ SPECIES_TO_HOENN(WINGULL),
+ SPECIES_TO_HOENN(PELIPPER),
+ SPECIES_TO_HOENN(SURSKIT),
+ SPECIES_TO_HOENN(MASQUERAIN),
+ SPECIES_TO_HOENN(WAILMER),
+ SPECIES_TO_HOENN(WAILORD),
+ SPECIES_TO_HOENN(SKITTY),
+ SPECIES_TO_HOENN(DELCATTY),
+ SPECIES_TO_HOENN(KECLEON),
+ SPECIES_TO_HOENN(BALTOY),
+ SPECIES_TO_HOENN(CLAYDOL),
+ SPECIES_TO_HOENN(NOSEPASS),
+ SPECIES_TO_HOENN(TORKOAL),
+ SPECIES_TO_HOENN(SABLEYE),
+ SPECIES_TO_HOENN(BARBOACH),
+ SPECIES_TO_HOENN(WHISCASH),
+ SPECIES_TO_HOENN(LUVDISC),
+ SPECIES_TO_HOENN(CORPHISH),
+ SPECIES_TO_HOENN(CRAWDAUNT),
+ SPECIES_TO_HOENN(FEEBAS),
+ SPECIES_TO_HOENN(MILOTIC),
+ SPECIES_TO_HOENN(CARVANHA),
+ SPECIES_TO_HOENN(SHARPEDO),
+ SPECIES_TO_HOENN(TRAPINCH),
+ SPECIES_TO_HOENN(VIBRAVA),
+ SPECIES_TO_HOENN(FLYGON),
+ SPECIES_TO_HOENN(MAKUHITA),
+ SPECIES_TO_HOENN(HARIYAMA),
+ SPECIES_TO_HOENN(ELECTRIKE),
+ SPECIES_TO_HOENN(MANECTRIC),
+ SPECIES_TO_HOENN(NUMEL),
+ SPECIES_TO_HOENN(CAMERUPT),
+ SPECIES_TO_HOENN(SPHEAL),
+ SPECIES_TO_HOENN(SEALEO),
+ SPECIES_TO_HOENN(WALREIN),
+ SPECIES_TO_HOENN(CACNEA),
+ SPECIES_TO_HOENN(CACTURNE),
+ SPECIES_TO_HOENN(SNORUNT),
+ SPECIES_TO_HOENN(GLALIE),
+ SPECIES_TO_HOENN(LUNATONE),
+ SPECIES_TO_HOENN(SOLROCK),
+ SPECIES_TO_HOENN(AZURILL),
+ SPECIES_TO_HOENN(SPOINK),
+ SPECIES_TO_HOENN(GRUMPIG),
+ SPECIES_TO_HOENN(PLUSLE),
+ SPECIES_TO_HOENN(MINUN),
+ SPECIES_TO_HOENN(MAWILE),
+ SPECIES_TO_HOENN(MEDITITE),
+ SPECIES_TO_HOENN(MEDICHAM),
+ SPECIES_TO_HOENN(SWABLU),
+ SPECIES_TO_HOENN(ALTARIA),
+ SPECIES_TO_HOENN(WYNAUT),
+ SPECIES_TO_HOENN(DUSKULL),
+ SPECIES_TO_HOENN(DUSCLOPS),
+ SPECIES_TO_HOENN(ROSELIA),
+ SPECIES_TO_HOENN(SLAKOTH),
+ SPECIES_TO_HOENN(VIGOROTH),
+ SPECIES_TO_HOENN(SLAKING),
+ SPECIES_TO_HOENN(GULPIN),
+ SPECIES_TO_HOENN(SWALOT),
+ SPECIES_TO_HOENN(TROPIUS),
+ SPECIES_TO_HOENN(WHISMUR),
+ SPECIES_TO_HOENN(LOUDRED),
+ SPECIES_TO_HOENN(EXPLOUD),
+ SPECIES_TO_HOENN(CLAMPERL),
+ SPECIES_TO_HOENN(HUNTAIL),
+ SPECIES_TO_HOENN(GOREBYSS),
+ SPECIES_TO_HOENN(ABSOL),
+ SPECIES_TO_HOENN(SHUPPET),
+ SPECIES_TO_HOENN(BANETTE),
+ SPECIES_TO_HOENN(SEVIPER),
+ SPECIES_TO_HOENN(ZANGOOSE),
+ SPECIES_TO_HOENN(RELICANTH),
+ SPECIES_TO_HOENN(ARON),
+ SPECIES_TO_HOENN(LAIRON),
+ SPECIES_TO_HOENN(AGGRON),
+ SPECIES_TO_HOENN(CASTFORM),
+ SPECIES_TO_HOENN(VOLBEAT),
+ SPECIES_TO_HOENN(ILLUMISE),
+ SPECIES_TO_HOENN(LILEEP),
+ SPECIES_TO_HOENN(CRADILY),
+ SPECIES_TO_HOENN(ANORITH),
+ SPECIES_TO_HOENN(ARMALDO),
+ SPECIES_TO_HOENN(RALTS),
+ SPECIES_TO_HOENN(KIRLIA),
+ SPECIES_TO_HOENN(GARDEVOIR),
+ SPECIES_TO_HOENN(BAGON),
+ SPECIES_TO_HOENN(SHELGON),
+ SPECIES_TO_HOENN(SALAMENCE),
+ SPECIES_TO_HOENN(BELDUM),
+ SPECIES_TO_HOENN(METANG),
+ SPECIES_TO_HOENN(METAGROSS),
+ SPECIES_TO_HOENN(REGIROCK),
+ SPECIES_TO_HOENN(REGICE),
+ SPECIES_TO_HOENN(REGISTEEL),
+ SPECIES_TO_HOENN(KYOGRE),
+ SPECIES_TO_HOENN(GROUDON),
+ SPECIES_TO_HOENN(RAYQUAZA),
+ SPECIES_TO_HOENN(LATIAS),
+ SPECIES_TO_HOENN(LATIOS),
+ SPECIES_TO_HOENN(JIRACHI),
+ SPECIES_TO_HOENN(DEOXYS),
+ SPECIES_TO_HOENN(CHIMECHO),
};
const u16 gSpeciesToNationalPokedexNum[] = // Assigns all species to the National Dex Index (Summary No. for National Dex)
{
- // SPECIES_NONE
- NATIONAL_DEX_BULBASAUR, // SPECIES_BULBASAUR
- NATIONAL_DEX_IVYSAUR, // SPECIES_IVYSAUR
- NATIONAL_DEX_VENUSAUR, // SPECIES_VENUSAUR
- NATIONAL_DEX_CHARMANDER, // SPECIES_CHARMANDER
- NATIONAL_DEX_CHARMELEON, // SPECIES_CHARMELEON
- NATIONAL_DEX_CHARIZARD, // SPECIES_CHARIZARD
- NATIONAL_DEX_SQUIRTLE, // SPECIES_SQUIRTLE
- NATIONAL_DEX_WARTORTLE, // SPECIES_WARTORTLE
- NATIONAL_DEX_BLASTOISE, // SPECIES_BLASTOISE
- NATIONAL_DEX_CATERPIE, // SPECIES_CATERPIE
- NATIONAL_DEX_METAPOD, // SPECIES_METAPOD
- NATIONAL_DEX_BUTTERFREE, // SPECIES_BUTTERFREE
- NATIONAL_DEX_WEEDLE, // SPECIES_WEEDLE
- NATIONAL_DEX_KAKUNA, // SPECIES_KAKUNA
- NATIONAL_DEX_BEEDRILL, // SPECIES_BEEDRILL
- NATIONAL_DEX_PIDGEY, // SPECIES_PIDGEY
- NATIONAL_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO
- NATIONAL_DEX_PIDGEOT, // SPECIES_PIDGEOT
- NATIONAL_DEX_RATTATA, // SPECIES_RATTATA
- NATIONAL_DEX_RATICATE, // SPECIES_RATICATE
- NATIONAL_DEX_SPEAROW, // SPECIES_SPEAROW
- NATIONAL_DEX_FEAROW, // SPECIES_FEAROW
- NATIONAL_DEX_EKANS, // SPECIES_EKANS
- NATIONAL_DEX_ARBOK, // SPECIES_ARBOK
- NATIONAL_DEX_PIKACHU, // SPECIES_PIKACHU
- NATIONAL_DEX_RAICHU, // SPECIES_RAICHU
- NATIONAL_DEX_SANDSHREW, // SPECIES_SANDSHREW
- NATIONAL_DEX_SANDSLASH, // SPECIES_SANDSLASH
- NATIONAL_DEX_NIDORAN_F, // SPECIES_NIDORAN_F
- NATIONAL_DEX_NIDORINA, // SPECIES_NIDORINA
- NATIONAL_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN
- NATIONAL_DEX_NIDORAN_M, // SPECIES_NIDORAN_M
- NATIONAL_DEX_NIDORINO, // SPECIES_NIDORINO
- NATIONAL_DEX_NIDOKING, // SPECIES_NIDOKING
- NATIONAL_DEX_CLEFAIRY, // SPECIES_CLEFAIRY
- NATIONAL_DEX_CLEFABLE, // SPECIES_CLEFABLE
- NATIONAL_DEX_VULPIX, // SPECIES_VULPIX
- NATIONAL_DEX_NINETALES, // SPECIES_NINETALES
- NATIONAL_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF
- NATIONAL_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF
- NATIONAL_DEX_ZUBAT, // SPECIES_ZUBAT
- NATIONAL_DEX_GOLBAT, // SPECIES_GOLBAT
- NATIONAL_DEX_ODDISH, // SPECIES_ODDISH
- NATIONAL_DEX_GLOOM, // SPECIES_GLOOM
- NATIONAL_DEX_VILEPLUME, // SPECIES_VILEPLUME
- NATIONAL_DEX_PARAS, // SPECIES_PARAS
- NATIONAL_DEX_PARASECT, // SPECIES_PARASECT
- NATIONAL_DEX_VENONAT, // SPECIES_VENONAT
- NATIONAL_DEX_VENOMOTH, // SPECIES_VENOMOTH
- NATIONAL_DEX_DIGLETT, // SPECIES_DIGLETT
- NATIONAL_DEX_DUGTRIO, // SPECIES_DUGTRIO
- NATIONAL_DEX_MEOWTH, // SPECIES_MEOWTH
- NATIONAL_DEX_PERSIAN, // SPECIES_PERSIAN
- NATIONAL_DEX_PSYDUCK, // SPECIES_PSYDUCK
- NATIONAL_DEX_GOLDUCK, // SPECIES_GOLDUCK
- NATIONAL_DEX_MANKEY, // SPECIES_MANKEY
- NATIONAL_DEX_PRIMEAPE, // SPECIES_PRIMEAPE
- NATIONAL_DEX_GROWLITHE, // SPECIES_GROWLITHE
- NATIONAL_DEX_ARCANINE, // SPECIES_ARCANINE
- NATIONAL_DEX_POLIWAG, // SPECIES_POLIWAG
- NATIONAL_DEX_POLIWHIRL, // SPECIES_POLIWHIRL
- NATIONAL_DEX_POLIWRATH, // SPECIES_POLIWRATH
- NATIONAL_DEX_ABRA, // SPECIES_ABRA
- NATIONAL_DEX_KADABRA, // SPECIES_KADABRA
- NATIONAL_DEX_ALAKAZAM, // SPECIES_ALAKAZAM
- NATIONAL_DEX_MACHOP, // SPECIES_MACHOP
- NATIONAL_DEX_MACHOKE, // SPECIES_MACHOKE
- NATIONAL_DEX_MACHAMP, // SPECIES_MACHAMP
- NATIONAL_DEX_BELLSPROUT, // SPECIES_BELLSPROUT
- NATIONAL_DEX_WEEPINBELL, // SPECIES_WEEPINBELL
- NATIONAL_DEX_VICTREEBEL, // SPECIES_VICTREEBEL
- NATIONAL_DEX_TENTACOOL, // SPECIES_TENTACOOL
- NATIONAL_DEX_TENTACRUEL, // SPECIES_TENTACRUEL
- NATIONAL_DEX_GEODUDE, // SPECIES_GEODUDE
- NATIONAL_DEX_GRAVELER, // SPECIES_GRAVELER
- NATIONAL_DEX_GOLEM, // SPECIES_GOLEM
- NATIONAL_DEX_PONYTA, // SPECIES_PONYTA
- NATIONAL_DEX_RAPIDASH, // SPECIES_RAPIDASH
- NATIONAL_DEX_SLOWPOKE, // SPECIES_SLOWPOKE
- NATIONAL_DEX_SLOWBRO, // SPECIES_SLOWBRO
- NATIONAL_DEX_MAGNEMITE, // SPECIES_MAGNEMITE
- NATIONAL_DEX_MAGNETON, // SPECIES_MAGNETON
- NATIONAL_DEX_FARFETCHD, // SPECIES_FARFETCHD
- NATIONAL_DEX_DODUO, // SPECIES_DODUO
- NATIONAL_DEX_DODRIO, // SPECIES_DODRIO
- NATIONAL_DEX_SEEL, // SPECIES_SEEL
- NATIONAL_DEX_DEWGONG, // SPECIES_DEWGONG
- NATIONAL_DEX_GRIMER, // SPECIES_GRIMER
- NATIONAL_DEX_MUK, // SPECIES_MUK
- NATIONAL_DEX_SHELLDER, // SPECIES_SHELLDER
- NATIONAL_DEX_CLOYSTER, // SPECIES_CLOYSTER
- NATIONAL_DEX_GASTLY, // SPECIES_GASTLY
- NATIONAL_DEX_HAUNTER, // SPECIES_HAUNTER
- NATIONAL_DEX_GENGAR, // SPECIES_GENGAR
- NATIONAL_DEX_ONIX, // SPECIES_ONIX
- NATIONAL_DEX_DROWZEE, // SPECIES_DROWZEE
- NATIONAL_DEX_HYPNO, // SPECIES_HYPNO
- NATIONAL_DEX_KRABBY, // SPECIES_KRABBY
- NATIONAL_DEX_KINGLER, // SPECIES_KINGLER
- NATIONAL_DEX_VOLTORB, // SPECIES_VOLTORB
- NATIONAL_DEX_ELECTRODE, // SPECIES_ELECTRODE
- NATIONAL_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE
- NATIONAL_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR
- NATIONAL_DEX_CUBONE, // SPECIES_CUBONE
- NATIONAL_DEX_MAROWAK, // SPECIES_MAROWAK
- NATIONAL_DEX_HITMONLEE, // SPECIES_HITMONLEE
- NATIONAL_DEX_HITMONCHAN, // SPECIES_HITMONCHAN
- NATIONAL_DEX_LICKITUNG, // SPECIES_LICKITUNG
- NATIONAL_DEX_KOFFING, // SPECIES_KOFFING
- NATIONAL_DEX_WEEZING, // SPECIES_WEEZING
- NATIONAL_DEX_RHYHORN, // SPECIES_RHYHORN
- NATIONAL_DEX_RHYDON, // SPECIES_RHYDON
- NATIONAL_DEX_CHANSEY, // SPECIES_CHANSEY
- NATIONAL_DEX_TANGELA, // SPECIES_TANGELA
- NATIONAL_DEX_KANGASKHAN, // SPECIES_KANGASKHAN
- NATIONAL_DEX_HORSEA, // SPECIES_HORSEA
- NATIONAL_DEX_SEADRA, // SPECIES_SEADRA
- NATIONAL_DEX_GOLDEEN, // SPECIES_GOLDEEN
- NATIONAL_DEX_SEAKING, // SPECIES_SEAKING
- NATIONAL_DEX_STARYU, // SPECIES_STARYU
- NATIONAL_DEX_STARMIE, // SPECIES_STARMIE
- NATIONAL_DEX_MR_MIME, // SPECIES_MR_MIME
- NATIONAL_DEX_SCYTHER, // SPECIES_SCYTHER
- NATIONAL_DEX_JYNX, // SPECIES_JYNX
- NATIONAL_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ
- NATIONAL_DEX_MAGMAR, // SPECIES_MAGMAR
- NATIONAL_DEX_PINSIR, // SPECIES_PINSIR
- NATIONAL_DEX_TAUROS, // SPECIES_TAUROS
- NATIONAL_DEX_MAGIKARP, // SPECIES_MAGIKARP
- NATIONAL_DEX_GYARADOS, // SPECIES_GYARADOS
- NATIONAL_DEX_LAPRAS, // SPECIES_LAPRAS
- NATIONAL_DEX_DITTO, // SPECIES_DITTO
- NATIONAL_DEX_EEVEE, // SPECIES_EEVEE
- NATIONAL_DEX_VAPOREON, // SPECIES_VAPOREON
- NATIONAL_DEX_JOLTEON, // SPECIES_JOLTEON
- NATIONAL_DEX_FLAREON, // SPECIES_FLAREON
- NATIONAL_DEX_PORYGON, // SPECIES_PORYGON
- NATIONAL_DEX_OMANYTE, // SPECIES_OMANYTE
- NATIONAL_DEX_OMASTAR, // SPECIES_OMASTAR
- NATIONAL_DEX_KABUTO, // SPECIES_KABUTO
- NATIONAL_DEX_KABUTOPS, // SPECIES_KABUTOPS
- NATIONAL_DEX_AERODACTYL, // SPECIES_AERODACTYL
- NATIONAL_DEX_SNORLAX, // SPECIES_SNORLAX
- NATIONAL_DEX_ARTICUNO, // SPECIES_ARTICUNO
- NATIONAL_DEX_ZAPDOS, // SPECIES_ZAPDOS
- NATIONAL_DEX_MOLTRES, // SPECIES_MOLTRES
- NATIONAL_DEX_DRATINI, // SPECIES_DRATINI
- NATIONAL_DEX_DRAGONAIR, // SPECIES_DRAGONAIR
- NATIONAL_DEX_DRAGONITE, // SPECIES_DRAGONITE
- NATIONAL_DEX_MEWTWO, // SPECIES_MEWTWO
- NATIONAL_DEX_MEW, // SPECIES_MEW
- NATIONAL_DEX_CHIKORITA, // SPECIES_CHIKORITA
- NATIONAL_DEX_BAYLEEF, // SPECIES_BAYLEEF
- NATIONAL_DEX_MEGANIUM, // SPECIES_MEGANIUM
- NATIONAL_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL
- NATIONAL_DEX_QUILAVA, // SPECIES_QUILAVA
- NATIONAL_DEX_TYPHLOSION, // SPECIES_TYPHLOSION
- NATIONAL_DEX_TOTODILE, // SPECIES_TOTODILE
- NATIONAL_DEX_CROCONAW, // SPECIES_CROCONAW
- NATIONAL_DEX_FERALIGATR, // SPECIES_FERALIGATR
- NATIONAL_DEX_SENTRET, // SPECIES_SENTRET
- NATIONAL_DEX_FURRET, // SPECIES_FURRET
- NATIONAL_DEX_HOOTHOOT, // SPECIES_HOOTHOOT
- NATIONAL_DEX_NOCTOWL, // SPECIES_NOCTOWL
- NATIONAL_DEX_LEDYBA, // SPECIES_LEDYBA
- NATIONAL_DEX_LEDIAN, // SPECIES_LEDIAN
- NATIONAL_DEX_SPINARAK, // SPECIES_SPINARAK
- NATIONAL_DEX_ARIADOS, // SPECIES_ARIADOS
- NATIONAL_DEX_CROBAT, // SPECIES_CROBAT
- NATIONAL_DEX_CHINCHOU, // SPECIES_CHINCHOU
- NATIONAL_DEX_LANTURN, // SPECIES_LANTURN
- NATIONAL_DEX_PICHU, // SPECIES_PICHU
- NATIONAL_DEX_CLEFFA, // SPECIES_CLEFFA
- NATIONAL_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF
- NATIONAL_DEX_TOGEPI, // SPECIES_TOGEPI
- NATIONAL_DEX_TOGETIC, // SPECIES_TOGETIC
- NATIONAL_DEX_NATU, // SPECIES_NATU
- NATIONAL_DEX_XATU, // SPECIES_XATU
- NATIONAL_DEX_MAREEP, // SPECIES_MAREEP
- NATIONAL_DEX_FLAAFFY, // SPECIES_FLAAFFY
- NATIONAL_DEX_AMPHAROS, // SPECIES_AMPHAROS
- NATIONAL_DEX_BELLOSSOM, // SPECIES_BELLOSSOM
- NATIONAL_DEX_MARILL, // SPECIES_MARILL
- NATIONAL_DEX_AZUMARILL, // SPECIES_AZUMARILL
- NATIONAL_DEX_SUDOWOODO, // SPECIES_SUDOWOODO
- NATIONAL_DEX_POLITOED, // SPECIES_POLITOED
- NATIONAL_DEX_HOPPIP, // SPECIES_HOPPIP
- NATIONAL_DEX_SKIPLOOM, // SPECIES_SKIPLOOM
- NATIONAL_DEX_JUMPLUFF, // SPECIES_JUMPLUFF
- NATIONAL_DEX_AIPOM, // SPECIES_AIPOM
- NATIONAL_DEX_SUNKERN, // SPECIES_SUNKERN
- NATIONAL_DEX_SUNFLORA, // SPECIES_SUNFLORA
- NATIONAL_DEX_YANMA, // SPECIES_YANMA
- NATIONAL_DEX_WOOPER, // SPECIES_WOOPER
- NATIONAL_DEX_QUAGSIRE, // SPECIES_QUAGSIRE
- NATIONAL_DEX_ESPEON, // SPECIES_ESPEON
- NATIONAL_DEX_UMBREON, // SPECIES_UMBREON
- NATIONAL_DEX_MURKROW, // SPECIES_MURKROW
- NATIONAL_DEX_SLOWKING, // SPECIES_SLOWKING
- NATIONAL_DEX_MISDREAVUS, // SPECIES_MISDREAVUS
- NATIONAL_DEX_UNOWN, // SPECIES_UNOWN
- NATIONAL_DEX_WOBBUFFET, // SPECIES_WOBBUFFET
- NATIONAL_DEX_GIRAFARIG, // SPECIES_GIRAFARIG
- NATIONAL_DEX_PINECO, // SPECIES_PINECO
- NATIONAL_DEX_FORRETRESS, // SPECIES_FORRETRESS
- NATIONAL_DEX_DUNSPARCE, // SPECIES_DUNSPARCE
- NATIONAL_DEX_GLIGAR, // SPECIES_GLIGAR
- NATIONAL_DEX_STEELIX, // SPECIES_STEELIX
- NATIONAL_DEX_SNUBBULL, // SPECIES_SNUBBULL
- NATIONAL_DEX_GRANBULL, // SPECIES_GRANBULL
- NATIONAL_DEX_QWILFISH, // SPECIES_QWILFISH
- NATIONAL_DEX_SCIZOR, // SPECIES_SCIZOR
- NATIONAL_DEX_SHUCKLE, // SPECIES_SHUCKLE
- NATIONAL_DEX_HERACROSS, // SPECIES_HERACROSS
- NATIONAL_DEX_SNEASEL, // SPECIES_SNEASEL
- NATIONAL_DEX_TEDDIURSA, // SPECIES_TEDDIURSA
- NATIONAL_DEX_URSARING, // SPECIES_URSARING
- NATIONAL_DEX_SLUGMA, // SPECIES_SLUGMA
- NATIONAL_DEX_MAGCARGO, // SPECIES_MAGCARGO
- NATIONAL_DEX_SWINUB, // SPECIES_SWINUB
- NATIONAL_DEX_PILOSWINE, // SPECIES_PILOSWINE
- NATIONAL_DEX_CORSOLA, // SPECIES_CORSOLA
- NATIONAL_DEX_REMORAID, // SPECIES_REMORAID
- NATIONAL_DEX_OCTILLERY, // SPECIES_OCTILLERY
- NATIONAL_DEX_DELIBIRD, // SPECIES_DELIBIRD
- NATIONAL_DEX_MANTINE, // SPECIES_MANTINE
- NATIONAL_DEX_SKARMORY, // SPECIES_SKARMORY
- NATIONAL_DEX_HOUNDOUR, // SPECIES_HOUNDOUR
- NATIONAL_DEX_HOUNDOOM, // SPECIES_HOUNDOOM
- NATIONAL_DEX_KINGDRA, // SPECIES_KINGDRA
- NATIONAL_DEX_PHANPY, // SPECIES_PHANPY
- NATIONAL_DEX_DONPHAN, // SPECIES_DONPHAN
- NATIONAL_DEX_PORYGON2, // SPECIES_PORYGON2
- NATIONAL_DEX_STANTLER, // SPECIES_STANTLER
- NATIONAL_DEX_SMEARGLE, // SPECIES_SMEARGLE
- NATIONAL_DEX_TYROGUE, // SPECIES_TYROGUE
- NATIONAL_DEX_HITMONTOP, // SPECIES_HITMONTOP
- NATIONAL_DEX_SMOOCHUM, // SPECIES_SMOOCHUM
- NATIONAL_DEX_ELEKID, // SPECIES_ELEKID
- NATIONAL_DEX_MAGBY, // SPECIES_MAGBY
- NATIONAL_DEX_MILTANK, // SPECIES_MILTANK
- NATIONAL_DEX_BLISSEY, // SPECIES_BLISSEY
- NATIONAL_DEX_RAIKOU, // SPECIES_RAIKOU
- NATIONAL_DEX_ENTEI, // SPECIES_ENTEI
- NATIONAL_DEX_SUICUNE, // SPECIES_SUICUNE
- NATIONAL_DEX_LARVITAR, // SPECIES_LARVITAR
- NATIONAL_DEX_PUPITAR, // SPECIES_PUPITAR
- NATIONAL_DEX_TYRANITAR, // SPECIES_TYRANITAR
- NATIONAL_DEX_LUGIA, // SPECIES_LUGIA
- NATIONAL_DEX_HO_OH, // SPECIES_HO-OH
- NATIONAL_DEX_CELEBI, // SPECIES_CELEBI
- NATIONAL_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B
- NATIONAL_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C
- NATIONAL_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D
- NATIONAL_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E
- NATIONAL_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F
- NATIONAL_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G
- NATIONAL_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H
- NATIONAL_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I
- NATIONAL_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J
- NATIONAL_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K
- NATIONAL_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L
- NATIONAL_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M
- NATIONAL_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N
- NATIONAL_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O
- NATIONAL_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P
- NATIONAL_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q
- NATIONAL_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R
- NATIONAL_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S
- NATIONAL_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T
- NATIONAL_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U
- NATIONAL_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V
- NATIONAL_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W
- NATIONAL_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X
- NATIONAL_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y
- NATIONAL_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z
- NATIONAL_DEX_TREECKO, // SPECIES_TREECKO
- NATIONAL_DEX_GROVYLE, // SPECIES_GROVYLE
- NATIONAL_DEX_SCEPTILE, // SPECIES_SCEPTILE
- NATIONAL_DEX_TORCHIC, // SPECIES_TORCHIC
- NATIONAL_DEX_COMBUSKEN, // SPECIES_COMBUSKEN
- NATIONAL_DEX_BLAZIKEN, // SPECIES_BLAZIKEN
- NATIONAL_DEX_MUDKIP, // SPECIES_MUDKIP
- NATIONAL_DEX_MARSHTOMP, // SPECIES_MARSHTOMP
- NATIONAL_DEX_SWAMPERT, // SPECIES_SWAMPERT
- NATIONAL_DEX_POOCHYENA, // SPECIES_POOCHYENA
- NATIONAL_DEX_MIGHTYENA, // SPECIES_MIGHTYENA
- NATIONAL_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON
- NATIONAL_DEX_LINOONE, // SPECIES_LINOONE
- NATIONAL_DEX_WURMPLE, // SPECIES_WURMPLE
- NATIONAL_DEX_SILCOON, // SPECIES_SILCOON
- NATIONAL_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY
- NATIONAL_DEX_CASCOON, // SPECIES_CASCOON
- NATIONAL_DEX_DUSTOX, // SPECIES_DUSTOX
- NATIONAL_DEX_LOTAD, // SPECIES_LOTAD
- NATIONAL_DEX_LOMBRE, // SPECIES_LOMBRE
- NATIONAL_DEX_LUDICOLO, // SPECIES_LUDICOLO
- NATIONAL_DEX_SEEDOT, // SPECIES_SEEDOT
- NATIONAL_DEX_NUZLEAF, // SPECIES_NUZLEAF
- NATIONAL_DEX_SHIFTRY, // SPECIES_SHIFTRY
- NATIONAL_DEX_NINCADA, // SPECIES_NINCADA
- NATIONAL_DEX_NINJASK, // SPECIES_NINJASK
- NATIONAL_DEX_SHEDINJA, // SPECIES_SHEDINJA
- NATIONAL_DEX_TAILLOW, // SPECIES_TAILLOW
- NATIONAL_DEX_SWELLOW, // SPECIES_SWELLOW
- NATIONAL_DEX_SHROOMISH, // SPECIES_SHROOMISH
- NATIONAL_DEX_BRELOOM, // SPECIES_BRELOOM
- NATIONAL_DEX_SPINDA, // SPECIES_SPINDA
- NATIONAL_DEX_WINGULL, // SPECIES_WINGULL
- NATIONAL_DEX_PELIPPER, // SPECIES_PELIPPER
- NATIONAL_DEX_SURSKIT, // SPECIES_SURSKIT
- NATIONAL_DEX_MASQUERAIN, // SPECIES_MASQUERAIN
- NATIONAL_DEX_WAILMER, // SPECIES_WAILMER
- NATIONAL_DEX_WAILORD, // SPECIES_WAILORD
- NATIONAL_DEX_SKITTY, // SPECIES_SKITTY
- NATIONAL_DEX_DELCATTY, // SPECIES_DELCATTY
- NATIONAL_DEX_KECLEON, // SPECIES_KECLEON
- NATIONAL_DEX_BALTOY, // SPECIES_BALTOY
- NATIONAL_DEX_CLAYDOL, // SPECIES_CLAYDOL
- NATIONAL_DEX_NOSEPASS, // SPECIES_NOSEPASS
- NATIONAL_DEX_TORKOAL, // SPECIES_TORKOAL
- NATIONAL_DEX_SABLEYE, // SPECIES_SABLEYE
- NATIONAL_DEX_BARBOACH, // SPECIES_BARBOACH
- NATIONAL_DEX_WHISCASH, // SPECIES_WHISCASH
- NATIONAL_DEX_LUVDISC, // SPECIES_LUVDISC
- NATIONAL_DEX_CORPHISH, // SPECIES_CORPHISH
- NATIONAL_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT
- NATIONAL_DEX_FEEBAS, // SPECIES_FEEBAS
- NATIONAL_DEX_MILOTIC, // SPECIES_MILOTIC
- NATIONAL_DEX_CARVANHA, // SPECIES_CARVANHA
- NATIONAL_DEX_SHARPEDO, // SPECIES_SHARPEDO
- NATIONAL_DEX_TRAPINCH, // SPECIES_TRAPINCH
- NATIONAL_DEX_VIBRAVA, // SPECIES_VIBRAVA
- NATIONAL_DEX_FLYGON, // SPECIES_FLYGON
- NATIONAL_DEX_MAKUHITA, // SPECIES_MAKUHITA
- NATIONAL_DEX_HARIYAMA, // SPECIES_HARIYAMA
- NATIONAL_DEX_ELECTRIKE, // SPECIES_ELECTRIKE
- NATIONAL_DEX_MANECTRIC, // SPECIES_MANECTRIC
- NATIONAL_DEX_NUMEL, // SPECIES_NUMEL
- NATIONAL_DEX_CAMERUPT, // SPECIES_CAMERUPT
- NATIONAL_DEX_SPHEAL, // SPECIES_SPHEAL
- NATIONAL_DEX_SEALEO, // SPECIES_SEALEO
- NATIONAL_DEX_WALREIN, // SPECIES_WALREIN
- NATIONAL_DEX_CACNEA, // SPECIES_CACNEA
- NATIONAL_DEX_CACTURNE, // SPECIES_CACTURNE
- NATIONAL_DEX_SNORUNT, // SPECIES_SNORUNT
- NATIONAL_DEX_GLALIE, // SPECIES_GLALIE
- NATIONAL_DEX_LUNATONE, // SPECIES_LUNATONE
- NATIONAL_DEX_SOLROCK, // SPECIES_SOLROCK
- NATIONAL_DEX_AZURILL, // SPECIES_AZURILL
- NATIONAL_DEX_SPOINK, // SPECIES_SPOINK
- NATIONAL_DEX_GRUMPIG, // SPECIES_GRUMPIG
- NATIONAL_DEX_PLUSLE, // SPECIES_PLUSLE
- NATIONAL_DEX_MINUN, // SPECIES_MINUN
- NATIONAL_DEX_MAWILE, // SPECIES_MAWILE
- NATIONAL_DEX_MEDITITE, // SPECIES_MEDITITE
- NATIONAL_DEX_MEDICHAM, // SPECIES_MEDICHAM
- NATIONAL_DEX_SWABLU, // SPECIES_SWABLU
- NATIONAL_DEX_ALTARIA, // SPECIES_ALTARIA
- NATIONAL_DEX_WYNAUT, // SPECIES_WYNAUT
- NATIONAL_DEX_DUSKULL, // SPECIES_DUSKULL
- NATIONAL_DEX_DUSCLOPS, // SPECIES_DUSCLOPS
- NATIONAL_DEX_ROSELIA, // SPECIES_ROSELIA
- NATIONAL_DEX_SLAKOTH, // SPECIES_SLAKOTH
- NATIONAL_DEX_VIGOROTH, // SPECIES_VIGOROTH
- NATIONAL_DEX_SLAKING, // SPECIES_SLAKING
- NATIONAL_DEX_GULPIN, // SPECIES_GULPIN
- NATIONAL_DEX_SWALOT, // SPECIES_SWALOT
- NATIONAL_DEX_TROPIUS, // SPECIES_TROPIUS
- NATIONAL_DEX_WHISMUR, // SPECIES_WHISMUR
- NATIONAL_DEX_LOUDRED, // SPECIES_LOUDRED
- NATIONAL_DEX_EXPLOUD, // SPECIES_EXPLOUD
- NATIONAL_DEX_CLAMPERL, // SPECIES_CLAMPERL
- NATIONAL_DEX_HUNTAIL, // SPECIES_HUNTAIL
- NATIONAL_DEX_GOREBYSS, // SPECIES_GOREBYSS
- NATIONAL_DEX_ABSOL, // SPECIES_ABSOL
- NATIONAL_DEX_SHUPPET, // SPECIES_SHUPPET
- NATIONAL_DEX_BANETTE, // SPECIES_BANETTE
- NATIONAL_DEX_SEVIPER, // SPECIES_SEVIPER
- NATIONAL_DEX_ZANGOOSE, // SPECIES_ZANGOOSE
- NATIONAL_DEX_RELICANTH, // SPECIES_RELICANTH
- NATIONAL_DEX_ARON, // SPECIES_ARON
- NATIONAL_DEX_LAIRON, // SPECIES_LAIRON
- NATIONAL_DEX_AGGRON, // SPECIES_AGGRON
- NATIONAL_DEX_CASTFORM, // SPECIES_CASTFORM
- NATIONAL_DEX_VOLBEAT, // SPECIES_VOLBEAT
- NATIONAL_DEX_ILLUMISE, // SPECIES_ILLUMISE
- NATIONAL_DEX_LILEEP, // SPECIES_LILEEP
- NATIONAL_DEX_CRADILY, // SPECIES_CRADILY
- NATIONAL_DEX_ANORITH, // SPECIES_ANORITH
- NATIONAL_DEX_ARMALDO, // SPECIES_ARMALDO
- NATIONAL_DEX_RALTS, // SPECIES_RALTS
- NATIONAL_DEX_KIRLIA, // SPECIES_KIRLIA
- NATIONAL_DEX_GARDEVOIR, // SPECIES_GARDEVOIR
- NATIONAL_DEX_BAGON, // SPECIES_BAGON
- NATIONAL_DEX_SHELGON, // SPECIES_SHELGON
- NATIONAL_DEX_SALAMENCE, // SPECIES_SALAMENCE
- NATIONAL_DEX_BELDUM, // SPECIES_BELDUM
- NATIONAL_DEX_METANG, // SPECIES_METANG
- NATIONAL_DEX_METAGROSS, // SPECIES_METAGROSS
- NATIONAL_DEX_REGIROCK, // SPECIES_REGIROCK
- NATIONAL_DEX_REGICE, // SPECIES_REGICE
- NATIONAL_DEX_REGISTEEL, // SPECIES_REGISTEEL
- NATIONAL_DEX_KYOGRE, // SPECIES_KYOGRE
- NATIONAL_DEX_GROUDON, // SPECIES_GROUDON
- NATIONAL_DEX_RAYQUAZA, // SPECIES_RAYQUAZA
- NATIONAL_DEX_LATIAS, // SPECIES_LATIAS
- NATIONAL_DEX_LATIOS, // SPECIES_LATIOS
- NATIONAL_DEX_JIRACHI, // SPECIES_JIRACHI
- NATIONAL_DEX_DEOXYS, // SPECIES_DEOXYS
- NATIONAL_DEX_CHIMECHO // SPECIES_CHIMECHO
+ SPECIES_TO_NATIONAL(BULBASAUR),
+ SPECIES_TO_NATIONAL(IVYSAUR),
+ SPECIES_TO_NATIONAL(VENUSAUR),
+ SPECIES_TO_NATIONAL(CHARMANDER),
+ SPECIES_TO_NATIONAL(CHARMELEON),
+ SPECIES_TO_NATIONAL(CHARIZARD),
+ SPECIES_TO_NATIONAL(SQUIRTLE),
+ SPECIES_TO_NATIONAL(WARTORTLE),
+ SPECIES_TO_NATIONAL(BLASTOISE),
+ SPECIES_TO_NATIONAL(CATERPIE),
+ SPECIES_TO_NATIONAL(METAPOD),
+ SPECIES_TO_NATIONAL(BUTTERFREE),
+ SPECIES_TO_NATIONAL(WEEDLE),
+ SPECIES_TO_NATIONAL(KAKUNA),
+ SPECIES_TO_NATIONAL(BEEDRILL),
+ SPECIES_TO_NATIONAL(PIDGEY),
+ SPECIES_TO_NATIONAL(PIDGEOTTO),
+ SPECIES_TO_NATIONAL(PIDGEOT),
+ SPECIES_TO_NATIONAL(RATTATA),
+ SPECIES_TO_NATIONAL(RATICATE),
+ SPECIES_TO_NATIONAL(SPEAROW),
+ SPECIES_TO_NATIONAL(FEAROW),
+ SPECIES_TO_NATIONAL(EKANS),
+ SPECIES_TO_NATIONAL(ARBOK),
+ SPECIES_TO_NATIONAL(PIKACHU),
+ SPECIES_TO_NATIONAL(RAICHU),
+ SPECIES_TO_NATIONAL(SANDSHREW),
+ SPECIES_TO_NATIONAL(SANDSLASH),
+ SPECIES_TO_NATIONAL(NIDORAN_F),
+ SPECIES_TO_NATIONAL(NIDORINA),
+ SPECIES_TO_NATIONAL(NIDOQUEEN),
+ SPECIES_TO_NATIONAL(NIDORAN_M),
+ SPECIES_TO_NATIONAL(NIDORINO),
+ SPECIES_TO_NATIONAL(NIDOKING),
+ SPECIES_TO_NATIONAL(CLEFAIRY),
+ SPECIES_TO_NATIONAL(CLEFABLE),
+ SPECIES_TO_NATIONAL(VULPIX),
+ SPECIES_TO_NATIONAL(NINETALES),
+ SPECIES_TO_NATIONAL(JIGGLYPUFF),
+ SPECIES_TO_NATIONAL(WIGGLYTUFF),
+ SPECIES_TO_NATIONAL(ZUBAT),
+ SPECIES_TO_NATIONAL(GOLBAT),
+ SPECIES_TO_NATIONAL(ODDISH),
+ SPECIES_TO_NATIONAL(GLOOM),
+ SPECIES_TO_NATIONAL(VILEPLUME),
+ SPECIES_TO_NATIONAL(PARAS),
+ SPECIES_TO_NATIONAL(PARASECT),
+ SPECIES_TO_NATIONAL(VENONAT),
+ SPECIES_TO_NATIONAL(VENOMOTH),
+ SPECIES_TO_NATIONAL(DIGLETT),
+ SPECIES_TO_NATIONAL(DUGTRIO),
+ SPECIES_TO_NATIONAL(MEOWTH),
+ SPECIES_TO_NATIONAL(PERSIAN),
+ SPECIES_TO_NATIONAL(PSYDUCK),
+ SPECIES_TO_NATIONAL(GOLDUCK),
+ SPECIES_TO_NATIONAL(MANKEY),
+ SPECIES_TO_NATIONAL(PRIMEAPE),
+ SPECIES_TO_NATIONAL(GROWLITHE),
+ SPECIES_TO_NATIONAL(ARCANINE),
+ SPECIES_TO_NATIONAL(POLIWAG),
+ SPECIES_TO_NATIONAL(POLIWHIRL),
+ SPECIES_TO_NATIONAL(POLIWRATH),
+ SPECIES_TO_NATIONAL(ABRA),
+ SPECIES_TO_NATIONAL(KADABRA),
+ SPECIES_TO_NATIONAL(ALAKAZAM),
+ SPECIES_TO_NATIONAL(MACHOP),
+ SPECIES_TO_NATIONAL(MACHOKE),
+ SPECIES_TO_NATIONAL(MACHAMP),
+ SPECIES_TO_NATIONAL(BELLSPROUT),
+ SPECIES_TO_NATIONAL(WEEPINBELL),
+ SPECIES_TO_NATIONAL(VICTREEBEL),
+ SPECIES_TO_NATIONAL(TENTACOOL),
+ SPECIES_TO_NATIONAL(TENTACRUEL),
+ SPECIES_TO_NATIONAL(GEODUDE),
+ SPECIES_TO_NATIONAL(GRAVELER),
+ SPECIES_TO_NATIONAL(GOLEM),
+ SPECIES_TO_NATIONAL(PONYTA),
+ SPECIES_TO_NATIONAL(RAPIDASH),
+ SPECIES_TO_NATIONAL(SLOWPOKE),
+ SPECIES_TO_NATIONAL(SLOWBRO),
+ SPECIES_TO_NATIONAL(MAGNEMITE),
+ SPECIES_TO_NATIONAL(MAGNETON),
+ SPECIES_TO_NATIONAL(FARFETCHD),
+ SPECIES_TO_NATIONAL(DODUO),
+ SPECIES_TO_NATIONAL(DODRIO),
+ SPECIES_TO_NATIONAL(SEEL),
+ SPECIES_TO_NATIONAL(DEWGONG),
+ SPECIES_TO_NATIONAL(GRIMER),
+ SPECIES_TO_NATIONAL(MUK),
+ SPECIES_TO_NATIONAL(SHELLDER),
+ SPECIES_TO_NATIONAL(CLOYSTER),
+ SPECIES_TO_NATIONAL(GASTLY),
+ SPECIES_TO_NATIONAL(HAUNTER),
+ SPECIES_TO_NATIONAL(GENGAR),
+ SPECIES_TO_NATIONAL(ONIX),
+ SPECIES_TO_NATIONAL(DROWZEE),
+ SPECIES_TO_NATIONAL(HYPNO),
+ SPECIES_TO_NATIONAL(KRABBY),
+ SPECIES_TO_NATIONAL(KINGLER),
+ SPECIES_TO_NATIONAL(VOLTORB),
+ SPECIES_TO_NATIONAL(ELECTRODE),
+ SPECIES_TO_NATIONAL(EXEGGCUTE),
+ SPECIES_TO_NATIONAL(EXEGGUTOR),
+ SPECIES_TO_NATIONAL(CUBONE),
+ SPECIES_TO_NATIONAL(MAROWAK),
+ SPECIES_TO_NATIONAL(HITMONLEE),
+ SPECIES_TO_NATIONAL(HITMONCHAN),
+ SPECIES_TO_NATIONAL(LICKITUNG),
+ SPECIES_TO_NATIONAL(KOFFING),
+ SPECIES_TO_NATIONAL(WEEZING),
+ SPECIES_TO_NATIONAL(RHYHORN),
+ SPECIES_TO_NATIONAL(RHYDON),
+ SPECIES_TO_NATIONAL(CHANSEY),
+ SPECIES_TO_NATIONAL(TANGELA),
+ SPECIES_TO_NATIONAL(KANGASKHAN),
+ SPECIES_TO_NATIONAL(HORSEA),
+ SPECIES_TO_NATIONAL(SEADRA),
+ SPECIES_TO_NATIONAL(GOLDEEN),
+ SPECIES_TO_NATIONAL(SEAKING),
+ SPECIES_TO_NATIONAL(STARYU),
+ SPECIES_TO_NATIONAL(STARMIE),
+ SPECIES_TO_NATIONAL(MR_MIME),
+ SPECIES_TO_NATIONAL(SCYTHER),
+ SPECIES_TO_NATIONAL(JYNX),
+ SPECIES_TO_NATIONAL(ELECTABUZZ),
+ SPECIES_TO_NATIONAL(MAGMAR),
+ SPECIES_TO_NATIONAL(PINSIR),
+ SPECIES_TO_NATIONAL(TAUROS),
+ SPECIES_TO_NATIONAL(MAGIKARP),
+ SPECIES_TO_NATIONAL(GYARADOS),
+ SPECIES_TO_NATIONAL(LAPRAS),
+ SPECIES_TO_NATIONAL(DITTO),
+ SPECIES_TO_NATIONAL(EEVEE),
+ SPECIES_TO_NATIONAL(VAPOREON),
+ SPECIES_TO_NATIONAL(JOLTEON),
+ SPECIES_TO_NATIONAL(FLAREON),
+ SPECIES_TO_NATIONAL(PORYGON),
+ SPECIES_TO_NATIONAL(OMANYTE),
+ SPECIES_TO_NATIONAL(OMASTAR),
+ SPECIES_TO_NATIONAL(KABUTO),
+ SPECIES_TO_NATIONAL(KABUTOPS),
+ SPECIES_TO_NATIONAL(AERODACTYL),
+ SPECIES_TO_NATIONAL(SNORLAX),
+ SPECIES_TO_NATIONAL(ARTICUNO),
+ SPECIES_TO_NATIONAL(ZAPDOS),
+ SPECIES_TO_NATIONAL(MOLTRES),
+ SPECIES_TO_NATIONAL(DRATINI),
+ SPECIES_TO_NATIONAL(DRAGONAIR),
+ SPECIES_TO_NATIONAL(DRAGONITE),
+ SPECIES_TO_NATIONAL(MEWTWO),
+ SPECIES_TO_NATIONAL(MEW),
+ SPECIES_TO_NATIONAL(CHIKORITA),
+ SPECIES_TO_NATIONAL(BAYLEEF),
+ SPECIES_TO_NATIONAL(MEGANIUM),
+ SPECIES_TO_NATIONAL(CYNDAQUIL),
+ SPECIES_TO_NATIONAL(QUILAVA),
+ SPECIES_TO_NATIONAL(TYPHLOSION),
+ SPECIES_TO_NATIONAL(TOTODILE),
+ SPECIES_TO_NATIONAL(CROCONAW),
+ SPECIES_TO_NATIONAL(FERALIGATR),
+ SPECIES_TO_NATIONAL(SENTRET),
+ SPECIES_TO_NATIONAL(FURRET),
+ SPECIES_TO_NATIONAL(HOOTHOOT),
+ SPECIES_TO_NATIONAL(NOCTOWL),
+ SPECIES_TO_NATIONAL(LEDYBA),
+ SPECIES_TO_NATIONAL(LEDIAN),
+ SPECIES_TO_NATIONAL(SPINARAK),
+ SPECIES_TO_NATIONAL(ARIADOS),
+ SPECIES_TO_NATIONAL(CROBAT),
+ SPECIES_TO_NATIONAL(CHINCHOU),
+ SPECIES_TO_NATIONAL(LANTURN),
+ SPECIES_TO_NATIONAL(PICHU),
+ SPECIES_TO_NATIONAL(CLEFFA),
+ SPECIES_TO_NATIONAL(IGGLYBUFF),
+ SPECIES_TO_NATIONAL(TOGEPI),
+ SPECIES_TO_NATIONAL(TOGETIC),
+ SPECIES_TO_NATIONAL(NATU),
+ SPECIES_TO_NATIONAL(XATU),
+ SPECIES_TO_NATIONAL(MAREEP),
+ SPECIES_TO_NATIONAL(FLAAFFY),
+ SPECIES_TO_NATIONAL(AMPHAROS),
+ SPECIES_TO_NATIONAL(BELLOSSOM),
+ SPECIES_TO_NATIONAL(MARILL),
+ SPECIES_TO_NATIONAL(AZUMARILL),
+ SPECIES_TO_NATIONAL(SUDOWOODO),
+ SPECIES_TO_NATIONAL(POLITOED),
+ SPECIES_TO_NATIONAL(HOPPIP),
+ SPECIES_TO_NATIONAL(SKIPLOOM),
+ SPECIES_TO_NATIONAL(JUMPLUFF),
+ SPECIES_TO_NATIONAL(AIPOM),
+ SPECIES_TO_NATIONAL(SUNKERN),
+ SPECIES_TO_NATIONAL(SUNFLORA),
+ SPECIES_TO_NATIONAL(YANMA),
+ SPECIES_TO_NATIONAL(WOOPER),
+ SPECIES_TO_NATIONAL(QUAGSIRE),
+ SPECIES_TO_NATIONAL(ESPEON),
+ SPECIES_TO_NATIONAL(UMBREON),
+ SPECIES_TO_NATIONAL(MURKROW),
+ SPECIES_TO_NATIONAL(SLOWKING),
+ SPECIES_TO_NATIONAL(MISDREAVUS),
+ SPECIES_TO_NATIONAL(UNOWN),
+ SPECIES_TO_NATIONAL(WOBBUFFET),
+ SPECIES_TO_NATIONAL(GIRAFARIG),
+ SPECIES_TO_NATIONAL(PINECO),
+ SPECIES_TO_NATIONAL(FORRETRESS),
+ SPECIES_TO_NATIONAL(DUNSPARCE),
+ SPECIES_TO_NATIONAL(GLIGAR),
+ SPECIES_TO_NATIONAL(STEELIX),
+ SPECIES_TO_NATIONAL(SNUBBULL),
+ SPECIES_TO_NATIONAL(GRANBULL),
+ SPECIES_TO_NATIONAL(QWILFISH),
+ SPECIES_TO_NATIONAL(SCIZOR),
+ SPECIES_TO_NATIONAL(SHUCKLE),
+ SPECIES_TO_NATIONAL(HERACROSS),
+ SPECIES_TO_NATIONAL(SNEASEL),
+ SPECIES_TO_NATIONAL(TEDDIURSA),
+ SPECIES_TO_NATIONAL(URSARING),
+ SPECIES_TO_NATIONAL(SLUGMA),
+ SPECIES_TO_NATIONAL(MAGCARGO),
+ SPECIES_TO_NATIONAL(SWINUB),
+ SPECIES_TO_NATIONAL(PILOSWINE),
+ SPECIES_TO_NATIONAL(CORSOLA),
+ SPECIES_TO_NATIONAL(REMORAID),
+ SPECIES_TO_NATIONAL(OCTILLERY),
+ SPECIES_TO_NATIONAL(DELIBIRD),
+ SPECIES_TO_NATIONAL(MANTINE),
+ SPECIES_TO_NATIONAL(SKARMORY),
+ SPECIES_TO_NATIONAL(HOUNDOUR),
+ SPECIES_TO_NATIONAL(HOUNDOOM),
+ SPECIES_TO_NATIONAL(KINGDRA),
+ SPECIES_TO_NATIONAL(PHANPY),
+ SPECIES_TO_NATIONAL(DONPHAN),
+ SPECIES_TO_NATIONAL(PORYGON2),
+ SPECIES_TO_NATIONAL(STANTLER),
+ SPECIES_TO_NATIONAL(SMEARGLE),
+ SPECIES_TO_NATIONAL(TYROGUE),
+ SPECIES_TO_NATIONAL(HITMONTOP),
+ SPECIES_TO_NATIONAL(SMOOCHUM),
+ SPECIES_TO_NATIONAL(ELEKID),
+ SPECIES_TO_NATIONAL(MAGBY),
+ SPECIES_TO_NATIONAL(MILTANK),
+ SPECIES_TO_NATIONAL(BLISSEY),
+ SPECIES_TO_NATIONAL(RAIKOU),
+ SPECIES_TO_NATIONAL(ENTEI),
+ SPECIES_TO_NATIONAL(SUICUNE),
+ SPECIES_TO_NATIONAL(LARVITAR),
+ SPECIES_TO_NATIONAL(PUPITAR),
+ SPECIES_TO_NATIONAL(TYRANITAR),
+ SPECIES_TO_NATIONAL(LUGIA),
+ SPECIES_TO_NATIONAL(HO_OH),
+ SPECIES_TO_NATIONAL(CELEBI),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_B),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_C),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_D),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_E),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_F),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_G),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_H),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_I),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_J),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_K),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_L),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_M),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_N),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_O),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_P),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_Q),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_R),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_S),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_T),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_U),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_V),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_W),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_X),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_Y),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_Z),
+ SPECIES_TO_NATIONAL(TREECKO),
+ SPECIES_TO_NATIONAL(GROVYLE),
+ SPECIES_TO_NATIONAL(SCEPTILE),
+ SPECIES_TO_NATIONAL(TORCHIC),
+ SPECIES_TO_NATIONAL(COMBUSKEN),
+ SPECIES_TO_NATIONAL(BLAZIKEN),
+ SPECIES_TO_NATIONAL(MUDKIP),
+ SPECIES_TO_NATIONAL(MARSHTOMP),
+ SPECIES_TO_NATIONAL(SWAMPERT),
+ SPECIES_TO_NATIONAL(POOCHYENA),
+ SPECIES_TO_NATIONAL(MIGHTYENA),
+ SPECIES_TO_NATIONAL(ZIGZAGOON),
+ SPECIES_TO_NATIONAL(LINOONE),
+ SPECIES_TO_NATIONAL(WURMPLE),
+ SPECIES_TO_NATIONAL(SILCOON),
+ SPECIES_TO_NATIONAL(BEAUTIFLY),
+ SPECIES_TO_NATIONAL(CASCOON),
+ SPECIES_TO_NATIONAL(DUSTOX),
+ SPECIES_TO_NATIONAL(LOTAD),
+ SPECIES_TO_NATIONAL(LOMBRE),
+ SPECIES_TO_NATIONAL(LUDICOLO),
+ SPECIES_TO_NATIONAL(SEEDOT),
+ SPECIES_TO_NATIONAL(NUZLEAF),
+ SPECIES_TO_NATIONAL(SHIFTRY),
+ SPECIES_TO_NATIONAL(NINCADA),
+ SPECIES_TO_NATIONAL(NINJASK),
+ SPECIES_TO_NATIONAL(SHEDINJA),
+ SPECIES_TO_NATIONAL(TAILLOW),
+ SPECIES_TO_NATIONAL(SWELLOW),
+ SPECIES_TO_NATIONAL(SHROOMISH),
+ SPECIES_TO_NATIONAL(BRELOOM),
+ SPECIES_TO_NATIONAL(SPINDA),
+ SPECIES_TO_NATIONAL(WINGULL),
+ SPECIES_TO_NATIONAL(PELIPPER),
+ SPECIES_TO_NATIONAL(SURSKIT),
+ SPECIES_TO_NATIONAL(MASQUERAIN),
+ SPECIES_TO_NATIONAL(WAILMER),
+ SPECIES_TO_NATIONAL(WAILORD),
+ SPECIES_TO_NATIONAL(SKITTY),
+ SPECIES_TO_NATIONAL(DELCATTY),
+ SPECIES_TO_NATIONAL(KECLEON),
+ SPECIES_TO_NATIONAL(BALTOY),
+ SPECIES_TO_NATIONAL(CLAYDOL),
+ SPECIES_TO_NATIONAL(NOSEPASS),
+ SPECIES_TO_NATIONAL(TORKOAL),
+ SPECIES_TO_NATIONAL(SABLEYE),
+ SPECIES_TO_NATIONAL(BARBOACH),
+ SPECIES_TO_NATIONAL(WHISCASH),
+ SPECIES_TO_NATIONAL(LUVDISC),
+ SPECIES_TO_NATIONAL(CORPHISH),
+ SPECIES_TO_NATIONAL(CRAWDAUNT),
+ SPECIES_TO_NATIONAL(FEEBAS),
+ SPECIES_TO_NATIONAL(MILOTIC),
+ SPECIES_TO_NATIONAL(CARVANHA),
+ SPECIES_TO_NATIONAL(SHARPEDO),
+ SPECIES_TO_NATIONAL(TRAPINCH),
+ SPECIES_TO_NATIONAL(VIBRAVA),
+ SPECIES_TO_NATIONAL(FLYGON),
+ SPECIES_TO_NATIONAL(MAKUHITA),
+ SPECIES_TO_NATIONAL(HARIYAMA),
+ SPECIES_TO_NATIONAL(ELECTRIKE),
+ SPECIES_TO_NATIONAL(MANECTRIC),
+ SPECIES_TO_NATIONAL(NUMEL),
+ SPECIES_TO_NATIONAL(CAMERUPT),
+ SPECIES_TO_NATIONAL(SPHEAL),
+ SPECIES_TO_NATIONAL(SEALEO),
+ SPECIES_TO_NATIONAL(WALREIN),
+ SPECIES_TO_NATIONAL(CACNEA),
+ SPECIES_TO_NATIONAL(CACTURNE),
+ SPECIES_TO_NATIONAL(SNORUNT),
+ SPECIES_TO_NATIONAL(GLALIE),
+ SPECIES_TO_NATIONAL(LUNATONE),
+ SPECIES_TO_NATIONAL(SOLROCK),
+ SPECIES_TO_NATIONAL(AZURILL),
+ SPECIES_TO_NATIONAL(SPOINK),
+ SPECIES_TO_NATIONAL(GRUMPIG),
+ SPECIES_TO_NATIONAL(PLUSLE),
+ SPECIES_TO_NATIONAL(MINUN),
+ SPECIES_TO_NATIONAL(MAWILE),
+ SPECIES_TO_NATIONAL(MEDITITE),
+ SPECIES_TO_NATIONAL(MEDICHAM),
+ SPECIES_TO_NATIONAL(SWABLU),
+ SPECIES_TO_NATIONAL(ALTARIA),
+ SPECIES_TO_NATIONAL(WYNAUT),
+ SPECIES_TO_NATIONAL(DUSKULL),
+ SPECIES_TO_NATIONAL(DUSCLOPS),
+ SPECIES_TO_NATIONAL(ROSELIA),
+ SPECIES_TO_NATIONAL(SLAKOTH),
+ SPECIES_TO_NATIONAL(VIGOROTH),
+ SPECIES_TO_NATIONAL(SLAKING),
+ SPECIES_TO_NATIONAL(GULPIN),
+ SPECIES_TO_NATIONAL(SWALOT),
+ SPECIES_TO_NATIONAL(TROPIUS),
+ SPECIES_TO_NATIONAL(WHISMUR),
+ SPECIES_TO_NATIONAL(LOUDRED),
+ SPECIES_TO_NATIONAL(EXPLOUD),
+ SPECIES_TO_NATIONAL(CLAMPERL),
+ SPECIES_TO_NATIONAL(HUNTAIL),
+ SPECIES_TO_NATIONAL(GOREBYSS),
+ SPECIES_TO_NATIONAL(ABSOL),
+ SPECIES_TO_NATIONAL(SHUPPET),
+ SPECIES_TO_NATIONAL(BANETTE),
+ SPECIES_TO_NATIONAL(SEVIPER),
+ SPECIES_TO_NATIONAL(ZANGOOSE),
+ SPECIES_TO_NATIONAL(RELICANTH),
+ SPECIES_TO_NATIONAL(ARON),
+ SPECIES_TO_NATIONAL(LAIRON),
+ SPECIES_TO_NATIONAL(AGGRON),
+ SPECIES_TO_NATIONAL(CASTFORM),
+ SPECIES_TO_NATIONAL(VOLBEAT),
+ SPECIES_TO_NATIONAL(ILLUMISE),
+ SPECIES_TO_NATIONAL(LILEEP),
+ SPECIES_TO_NATIONAL(CRADILY),
+ SPECIES_TO_NATIONAL(ANORITH),
+ SPECIES_TO_NATIONAL(ARMALDO),
+ SPECIES_TO_NATIONAL(RALTS),
+ SPECIES_TO_NATIONAL(KIRLIA),
+ SPECIES_TO_NATIONAL(GARDEVOIR),
+ SPECIES_TO_NATIONAL(BAGON),
+ SPECIES_TO_NATIONAL(SHELGON),
+ SPECIES_TO_NATIONAL(SALAMENCE),
+ SPECIES_TO_NATIONAL(BELDUM),
+ SPECIES_TO_NATIONAL(METANG),
+ SPECIES_TO_NATIONAL(METAGROSS),
+ SPECIES_TO_NATIONAL(REGIROCK),
+ SPECIES_TO_NATIONAL(REGICE),
+ SPECIES_TO_NATIONAL(REGISTEEL),
+ SPECIES_TO_NATIONAL(KYOGRE),
+ SPECIES_TO_NATIONAL(GROUDON),
+ SPECIES_TO_NATIONAL(RAYQUAZA),
+ SPECIES_TO_NATIONAL(LATIAS),
+ SPECIES_TO_NATIONAL(LATIOS),
+ SPECIES_TO_NATIONAL(JIRACHI),
+ SPECIES_TO_NATIONAL(DEOXYS),
+ SPECIES_TO_NATIONAL(CHIMECHO),
};
-const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokémon (Using National Dex Index)
-{
- // 0
- NATIONAL_DEX_TREECKO, // HOENN_DEX_TREECKO
- NATIONAL_DEX_GROVYLE, // HOENN_DEX_GROVYLE
- NATIONAL_DEX_SCEPTILE, // HOENN_DEX_SCEPTILE
- NATIONAL_DEX_TORCHIC, // HOENN_DEX_TORCHIC
- NATIONAL_DEX_COMBUSKEN, // HOENN_DEX_COMBUSKEN
- NATIONAL_DEX_BLAZIKEN, // HOENN_DEX_BLAZIKEN
- NATIONAL_DEX_MUDKIP, // HOENN_DEX_MUDKIP
- NATIONAL_DEX_MARSHTOMP, // HOENN_DEX_MARSHTOMP
- NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT
- NATIONAL_DEX_POOCHYENA, // HOENN_DEX_POOCHYENA
- NATIONAL_DEX_MIGHTYENA, // HOENN_DEX_MIGHTYENA
- NATIONAL_DEX_ZIGZAGOON, // HOENN_DEX_ZIGZAGOON
- NATIONAL_DEX_LINOONE, // HOENN_DEX_LINOONE
- NATIONAL_DEX_WURMPLE, // HOENN_DEX_WURMPLE
- NATIONAL_DEX_SILCOON, // HOENN_DEX_SILCOON
- NATIONAL_DEX_BEAUTIFLY, // HOENN_DEX_BEAUTIFLY
- NATIONAL_DEX_CASCOON, // HOENN_DEX_CASCOON
- NATIONAL_DEX_DUSTOX, // HOENN_DEX_DUSTOX
- NATIONAL_DEX_LOTAD, // HOENN_DEX_LOTAD
- NATIONAL_DEX_LOMBRE, // HOENN_DEX_LOMBRE
- NATIONAL_DEX_LUDICOLO, // HOENN_DEX_LUDICOLO
- NATIONAL_DEX_SEEDOT, // HOENN_DEX_SEEDOT
- NATIONAL_DEX_NUZLEAF, // HOENN_DEX_NUZLEAF
- NATIONAL_DEX_SHIFTRY, // HOENN_DEX_SHIFTRY
- NATIONAL_DEX_TAILLOW, // HOENN_DEX_TAILLOW
- NATIONAL_DEX_SWELLOW, // HOENN_DEX_SWELLOW
- NATIONAL_DEX_WINGULL, // HOENN_DEX_WINGULL
- NATIONAL_DEX_PELIPPER, // HOENN_DEX_PELIPPER
- NATIONAL_DEX_RALTS, // HOENN_DEX_RALTS
- NATIONAL_DEX_KIRLIA, // HOENN_DEX_KIRLIA
- NATIONAL_DEX_GARDEVOIR, // HOENN_DEX_GARDEVOIR
- NATIONAL_DEX_SURSKIT, // HOENN_DEX_SURSKIT
- NATIONAL_DEX_MASQUERAIN, // HOENN_DEX_MASQUERAIN
- NATIONAL_DEX_SHROOMISH, // HOENN_DEX_SHROOMISH
- NATIONAL_DEX_BRELOOM, // HOENN_DEX_BRELOOM
- NATIONAL_DEX_SLAKOTH, // HOENN_DEX_SLAKOTH
- NATIONAL_DEX_VIGOROTH, // HOENN_DEX_VIGOROTH
- NATIONAL_DEX_SLAKING, // HOENN_DEX_SLAKING
- NATIONAL_DEX_ABRA, // HOENN_DEX_ABRA
- NATIONAL_DEX_KADABRA, // HOENN_DEX_KADABRA
- NATIONAL_DEX_ALAKAZAM, // HOENN_DEX_ALAKAZAM
- NATIONAL_DEX_NINCADA, // HOENN_DEX_NINCADA
- NATIONAL_DEX_NINJASK, // HOENN_DEX_NINJASK
- NATIONAL_DEX_SHEDINJA, // HOENN_DEX_SHEDINJA
- NATIONAL_DEX_WHISMUR, // HOENN_DEX_WHISMUR
- NATIONAL_DEX_LOUDRED, // HOENN_DEX_LOUDRED
- NATIONAL_DEX_EXPLOUD, // HOENN_DEX_EXPLOUD
- NATIONAL_DEX_MAKUHITA, // HOENN_DEX_MAKUHITA
- NATIONAL_DEX_HARIYAMA, // HOENN_DEX_HARIYAMA
- NATIONAL_DEX_GOLDEEN, // HOENN_DEX_GOLDEEN
- NATIONAL_DEX_SEAKING, // HOENN_DEX_SEAKING
- NATIONAL_DEX_MAGIKARP, // HOENN_DEX_MAGIKARP
- NATIONAL_DEX_GYARADOS, // HOENN_DEX_GYARADOS
- NATIONAL_DEX_AZURILL, // HOENN_DEX_AZURILL
- NATIONAL_DEX_MARILL, // HOENN_DEX_MARILL
- NATIONAL_DEX_AZUMARILL, // HOENN_DEX_AZUMARILL
- NATIONAL_DEX_GEODUDE, // HOENN_DEX_GEODUDE
- NATIONAL_DEX_GRAVELER, // HOENN_DEX_GRAVELER
- NATIONAL_DEX_GOLEM, // HOENN_DEX_GOLEM
- NATIONAL_DEX_NOSEPASS, // HOENN_DEX_NOSEPASS
- NATIONAL_DEX_SKITTY, // HOENN_DEX_SKITTY
- NATIONAL_DEX_DELCATTY, // HOENN_DEX_DELCATTY
- NATIONAL_DEX_ZUBAT, // HOENN_DEX_ZUBAT
- NATIONAL_DEX_GOLBAT, // HOENN_DEX_GOLBAT
- NATIONAL_DEX_CROBAT, // HOENN_DEX_CROBAT
- NATIONAL_DEX_TENTACOOL, // HOENN_DEX_TENTACOOL
- NATIONAL_DEX_TENTACRUEL, // HOENN_DEX_TENTACRUEL
- NATIONAL_DEX_SABLEYE, // HOENN_DEX_SABLEYE
- NATIONAL_DEX_MAWILE, // HOENN_DEX_MAWILE
- NATIONAL_DEX_ARON, // HOENN_DEX_ARON
- NATIONAL_DEX_LAIRON, // HOENN_DEX_LAIRON
- NATIONAL_DEX_AGGRON, // HOENN_DEX_AGGRON
- NATIONAL_DEX_MACHOP, // HOENN_DEX_MACHOP
- NATIONAL_DEX_MACHOKE, // HOENN_DEX_MACHOKE
- NATIONAL_DEX_MACHAMP, // HOENN_DEX_MACHAMP
- NATIONAL_DEX_MEDITITE, // HOENN_DEX_MEDITITE
- NATIONAL_DEX_MEDICHAM, // HOENN_DEX_MEDICHAM
- NATIONAL_DEX_ELECTRIKE, // HOENN_DEX_ELECTRIKE
- NATIONAL_DEX_MANECTRIC, // HOENN_DEX_MANECTRIC
- NATIONAL_DEX_PLUSLE, // HOENN_DEX_PLUSLE
- NATIONAL_DEX_MINUN, // HOENN_DEX_MINUN
- NATIONAL_DEX_MAGNEMITE, // HOENN_DEX_MAGNEMITE
- NATIONAL_DEX_MAGNETON, // HOENN_DEX_MAGNETON
- NATIONAL_DEX_VOLTORB, // HOENN_DEX_VOLTORB
- NATIONAL_DEX_ELECTRODE, // HOENN_DEX_ELECTRODE
- NATIONAL_DEX_VOLBEAT, // HOENN_DEX_VOLBEAT
- NATIONAL_DEX_ILLUMISE, // HOENN_DEX_ILLUMISE
- NATIONAL_DEX_ODDISH, // HOENN_DEX_ODDISH
- NATIONAL_DEX_GLOOM, // HOENN_DEX_GLOOM
- NATIONAL_DEX_VILEPLUME, // HOENN_DEX_VILEPLUME
- NATIONAL_DEX_BELLOSSOM, // HOENN_DEX_BELLOSSOM
- NATIONAL_DEX_DODUO, // HOENN_DEX_DODUO
- NATIONAL_DEX_DODRIO, // HOENN_DEX_DODRIO
- NATIONAL_DEX_ROSELIA, // HOENN_DEX_ROSELIA
- NATIONAL_DEX_GULPIN, // HOENN_DEX_GULPIN
- NATIONAL_DEX_SWALOT, // HOENN_DEX_SWALOT
- NATIONAL_DEX_CARVANHA, // HOENN_DEX_CARVANHA
- NATIONAL_DEX_SHARPEDO, // HOENN_DEX_SHARPEDO
- NATIONAL_DEX_WAILMER, // HOENN_DEX_WAILMER
- NATIONAL_DEX_WAILORD, // HOENN_DEX_WAILORD
- NATIONAL_DEX_NUMEL, // HOENN_DEX_NUMEL
- NATIONAL_DEX_CAMERUPT, // HOENN_DEX_CAMERUPT
- NATIONAL_DEX_SLUGMA, // HOENN_DEX_SLUGMA
- NATIONAL_DEX_MAGCARGO, // HOENN_DEX_MAGCARGO
- NATIONAL_DEX_TORKOAL, // HOENN_DEX_TORKOAL
- NATIONAL_DEX_GRIMER, // HOENN_DEX_GRIMER
- NATIONAL_DEX_MUK, // HOENN_DEX_MUK
- NATIONAL_DEX_KOFFING, // HOENN_DEX_KOFFING
- NATIONAL_DEX_WEEZING, // HOENN_DEX_WEEZING
- NATIONAL_DEX_SPOINK, // HOENN_DEX_SPOINK
- NATIONAL_DEX_GRUMPIG, // HOENN_DEX_GRUMPIG
- NATIONAL_DEX_SANDSHREW, // HOENN_DEX_SANDSHREW
- NATIONAL_DEX_SANDSLASH, // HOENN_DEX_SANDSLASH
- NATIONAL_DEX_SPINDA, // HOENN_DEX_SPINDA
- NATIONAL_DEX_SKARMORY, // HOENN_DEX_SKARMORY
- NATIONAL_DEX_TRAPINCH, // HOENN_DEX_TRAPINCH
- NATIONAL_DEX_VIBRAVA, // HOENN_DEX_VIBRAVA
- NATIONAL_DEX_FLYGON, // HOENN_DEX_FLYGON
- NATIONAL_DEX_CACNEA, // HOENN_DEX_CACNEA
- NATIONAL_DEX_CACTURNE, // HOENN_DEX_CACTURNE
- NATIONAL_DEX_SWABLU, // HOENN_DEX_SWABLU
- NATIONAL_DEX_ALTARIA, // HOENN_DEX_ALTARIA
- NATIONAL_DEX_ZANGOOSE, // HOENN_DEX_ZANGOOSE
- NATIONAL_DEX_SEVIPER, // HOENN_DEX_SEVIPER
- NATIONAL_DEX_LUNATONE, // HOENN_DEX_LUNATONE
- NATIONAL_DEX_SOLROCK, // HOENN_DEX_SOLROCK
- NATIONAL_DEX_BARBOACH, // HOENN_DEX_BARBOACH
- NATIONAL_DEX_WHISCASH, // HOENN_DEX_WHISCASH
- NATIONAL_DEX_CORPHISH, // HOENN_DEX_CORPHISH
- NATIONAL_DEX_CRAWDAUNT, // HOENN_DEX_CRAWDAUNT
- NATIONAL_DEX_BALTOY, // HOENN_DEX_BALTOY
- NATIONAL_DEX_CLAYDOL, // HOENN_DEX_CLAYDOL
- NATIONAL_DEX_LILEEP, // HOENN_DEX_LILEEP
- NATIONAL_DEX_CRADILY, // HOENN_DEX_CRADILY
- NATIONAL_DEX_ANORITH, // HOENN_DEX_ANORITH
- NATIONAL_DEX_ARMALDO, // HOENN_DEX_ARMALDO
- NATIONAL_DEX_IGGLYBUFF, // HOENN_DEX_IGGLYBUFF
- NATIONAL_DEX_JIGGLYPUFF, // HOENN_DEX_JIGGLYPUFF
- NATIONAL_DEX_WIGGLYTUFF, // HOENN_DEX_WIGGLYTUFF
- NATIONAL_DEX_FEEBAS, // HOENN_DEX_FEEBAS
- NATIONAL_DEX_MILOTIC, // HOENN_DEX_MILOTIC
- NATIONAL_DEX_CASTFORM, // HOENN_DEX_CASTFORM
- NATIONAL_DEX_STARYU, // HOENN_DEX_STARYU
- NATIONAL_DEX_STARMIE, // HOENN_DEX_STARMIE
- NATIONAL_DEX_KECLEON, // HOENN_DEX_KECLEON
- NATIONAL_DEX_SHUPPET, // HOENN_DEX_SHUPPET
- NATIONAL_DEX_BANETTE, // HOENN_DEX_BANETTE
- NATIONAL_DEX_DUSKULL, // HOENN_DEX_DUSKULL
- NATIONAL_DEX_DUSCLOPS, // HOENN_DEX_DUSCLOPS
- NATIONAL_DEX_TROPIUS, // HOENN_DEX_TROPIUS
- NATIONAL_DEX_CHIMECHO, // HOENN_DEX_CHIMECHO
- NATIONAL_DEX_ABSOL, // HOENN_DEX_ABSOL
- NATIONAL_DEX_VULPIX, // HOENN_DEX_VULPIX
- NATIONAL_DEX_NINETALES, // HOENN_DEX_NINETALES
- NATIONAL_DEX_PICHU, // HOENN_DEX_PICHU
- NATIONAL_DEX_PIKACHU, // HOENN_DEX_PIKACHU
- NATIONAL_DEX_RAICHU, // HOENN_DEX_RAICHU
- NATIONAL_DEX_PSYDUCK, // HOENN_DEX_PSYDUCK
- NATIONAL_DEX_GOLDUCK, // HOENN_DEX_GOLDUCK
- NATIONAL_DEX_WYNAUT, // HOENN_DEX_WYNAUT
- NATIONAL_DEX_WOBBUFFET, // HOENN_DEX_WOBBUFFET
- NATIONAL_DEX_NATU, // HOENN_DEX_NATU
- NATIONAL_DEX_XATU, // HOENN_DEX_XATU
- NATIONAL_DEX_GIRAFARIG, // HOENN_DEX_GIRAFARIG
- NATIONAL_DEX_PHANPY, // HOENN_DEX_PHANPY
- NATIONAL_DEX_DONPHAN, // HOENN_DEX_DONPHAN
- NATIONAL_DEX_PINSIR, // HOENN_DEX_PINSIR
- NATIONAL_DEX_HERACROSS, // HOENN_DEX_HERACROSS
- NATIONAL_DEX_RHYHORN, // HOENN_DEX_RHYHORN
- NATIONAL_DEX_RHYDON, // HOENN_DEX_RHYDON
- NATIONAL_DEX_SNORUNT, // HOENN_DEX_SNORUNT
- NATIONAL_DEX_GLALIE, // HOENN_DEX_GLALIE
- NATIONAL_DEX_SPHEAL, // HOENN_DEX_SPHEAL
- NATIONAL_DEX_SEALEO, // HOENN_DEX_SEALEO
- NATIONAL_DEX_WALREIN, // HOENN_DEX_WALREIN
- NATIONAL_DEX_CLAMPERL, // HOENN_DEX_CLAMPERL
- NATIONAL_DEX_HUNTAIL, // HOENN_DEX_HUNTAIL
- NATIONAL_DEX_GOREBYSS, // HOENN_DEX_GOREBYSS
- NATIONAL_DEX_RELICANTH, // HOENN_DEX_RELICANTH
- NATIONAL_DEX_CORSOLA, // HOENN_DEX_CORSOLA
- NATIONAL_DEX_CHINCHOU, // HOENN_DEX_CHINCHOU
- NATIONAL_DEX_LANTURN, // HOENN_DEX_LANTURN
- NATIONAL_DEX_LUVDISC, // HOENN_DEX_LUVDISC
- NATIONAL_DEX_HORSEA, // HOENN_DEX_HORSEA
- NATIONAL_DEX_SEADRA, // HOENN_DEX_SEADRA
- NATIONAL_DEX_KINGDRA, // HOENN_DEX_KINGDRA
- NATIONAL_DEX_BAGON, // HOENN_DEX_BAGON
- NATIONAL_DEX_SHELGON, // HOENN_DEX_SHELGON
- NATIONAL_DEX_SALAMENCE, // HOENN_DEX_SALAMENCE
- NATIONAL_DEX_BELDUM, // HOENN_DEX_BELDUM
- NATIONAL_DEX_METANG, // HOENN_DEX_METANG
- NATIONAL_DEX_METAGROSS, // HOENN_DEX_METAGROSS
- NATIONAL_DEX_REGIROCK, // HOENN_DEX_REGIROCK
- NATIONAL_DEX_REGICE, // HOENN_DEX_REGICE
- NATIONAL_DEX_REGISTEEL, // HOENN_DEX_REGISTEEL
- NATIONAL_DEX_LATIAS, // HOENN_DEX_LATIAS
- NATIONAL_DEX_LATIOS, // HOENN_DEX_LATIOS
- NATIONAL_DEX_KYOGRE, // HOENN_DEX_KYOGRE
- NATIONAL_DEX_GROUDON, // HOENN_DEX_GROUDON
- NATIONAL_DEX_RAYQUAZA, // HOENN_DEX_RAYQUAZA
- NATIONAL_DEX_JIRACHI, // HOENN_DEX_JIRACHI
- NATIONAL_DEX_DEOXYS, // HOENN_DEX_DEOXYS
- NATIONAL_DEX_BULBASAUR, // HOENN_DEX_BULBASAUR - Pokémon from here onwards are UNSEEN in the Hoenn Dex.
- NATIONAL_DEX_IVYSAUR, // HOENN_DEX_IVYSAUR
- NATIONAL_DEX_VENUSAUR, // HOENN_DEX_VENUSAUR
- NATIONAL_DEX_CHARMANDER, // HOENN_DEX_CHARMANDER
- NATIONAL_DEX_CHARMELEON, // HOENN_DEX_CHARMELEON
- NATIONAL_DEX_CHARIZARD, // HOENN_DEX_CHARIZARD
- NATIONAL_DEX_SQUIRTLE, // HOENN_DEX_SQUIRTLE
- NATIONAL_DEX_WARTORTLE, // HOENN_DEX_WARTORTLE
- NATIONAL_DEX_BLASTOISE, // HOENN_DEX_BLASTOISE
- NATIONAL_DEX_CATERPIE, // HOENN_DEX_CATERPIE
- NATIONAL_DEX_METAPOD, // HOENN_DEX_METAPOD
- NATIONAL_DEX_BUTTERFREE, // HOENN_DEX_BUTTERFREE
- NATIONAL_DEX_WEEDLE, // HOENN_DEX_WEEDLE
- NATIONAL_DEX_KAKUNA, // HOENN_DEX_KAKUNA
- NATIONAL_DEX_BEEDRILL, // HOENN_DEX_BEEDRILL
- NATIONAL_DEX_PIDGEY, // HOENN_DEX_PIDGEY
- NATIONAL_DEX_PIDGEOTTO, // HOENN_DEX_PIDGEOTTO
- NATIONAL_DEX_PIDGEOT, // HOENN_DEX_PIDGEOT
- NATIONAL_DEX_RATTATA, // HOENN_DEX_RATTATA
- NATIONAL_DEX_RATICATE, // HOENN_DEX_RATICATE
- NATIONAL_DEX_SPEAROW, // HOENN_DEX_SPEAROW
- NATIONAL_DEX_FEAROW, // HOENN_DEX_FEAROW
- NATIONAL_DEX_EKANS, // HOENN_DEX_EKANS
- NATIONAL_DEX_ARBOK, // HOENN_DEX_ARBOK
- NATIONAL_DEX_NIDORAN_F, // HOENN_DEX_NIDORAN♀
- NATIONAL_DEX_NIDORINA, // HOENN_DEX_NIDORINA
- NATIONAL_DEX_NIDOQUEEN, // HOENN_DEX_NIDOQUEEN
- NATIONAL_DEX_NIDORAN_M, // HOENN_DEX_NIDORAN♂
- NATIONAL_DEX_NIDORINO, // HOENN_DEX_NIDORINO
- NATIONAL_DEX_NIDOKING, // HOENN_DEX_NIDOKING
- NATIONAL_DEX_CLEFAIRY, // HOENN_DEX_CLEFAIRY
- NATIONAL_DEX_CLEFABLE, // HOENN_DEX_CLEFABLE
- NATIONAL_DEX_PARAS, // HOENN_DEX_PARAS
- NATIONAL_DEX_PARASECT, // HOENN_DEX_PARASECT
- NATIONAL_DEX_VENONAT, // HOENN_DEX_VENONAT
- NATIONAL_DEX_VENOMOTH, // HOENN_DEX_VENOMOTH
- NATIONAL_DEX_DIGLETT, // HOENN_DEX_DIGLETT
- NATIONAL_DEX_DUGTRIO, // HOENN_DEX_DUGTRIO
- NATIONAL_DEX_MEOWTH, // HOENN_DEX_MEOWTH
- NATIONAL_DEX_PERSIAN, // HOENN_DEX_PERSIAN
- NATIONAL_DEX_MANKEY, // HOENN_DEX_MANKEY
- NATIONAL_DEX_PRIMEAPE, // HOENN_DEX_PRIMEAPE
- NATIONAL_DEX_GROWLITHE, // HOENN_DEX_GROWLITHE
- NATIONAL_DEX_ARCANINE, // HOENN_DEX_ARCANINE
- NATIONAL_DEX_POLIWAG, // HOENN_DEX_POLIWAG
- NATIONAL_DEX_POLIWHIRL, // HOENN_DEX_POLIWHIRL
- NATIONAL_DEX_POLIWRATH, // HOENN_DEX_POLIWRATH
- NATIONAL_DEX_BELLSPROUT, // HOENN_DEX_BELLSPROUT
- NATIONAL_DEX_WEEPINBELL, // HOENN_DEX_WEEPINBELL
- NATIONAL_DEX_VICTREEBEL, // HOENN_DEX_VICTREEBEL
- NATIONAL_DEX_PONYTA, // HOENN_DEX_PONYTA
- NATIONAL_DEX_RAPIDASH, // HOENN_DEX_RAPIDASH
- NATIONAL_DEX_SLOWPOKE, // HOENN_DEX_SLOWPOKE
- NATIONAL_DEX_SLOWBRO, // HOENN_DEX_SLOWBRO
- NATIONAL_DEX_FARFETCHD, // HOENN_DEX_FARFETCH'D
- NATIONAL_DEX_SEEL, // HOENN_DEX_SEEL
- NATIONAL_DEX_DEWGONG, // HOENN_DEX_DEWGONG
- NATIONAL_DEX_SHELLDER, // HOENN_DEX_SHELLDER
- NATIONAL_DEX_CLOYSTER, // HOENN_DEX_CLOYSTER
- NATIONAL_DEX_GASTLY, // HOENN_DEX_GASTLY
- NATIONAL_DEX_HAUNTER, // HOENN_DEX_HAUNTER
- NATIONAL_DEX_GENGAR, // HOENN_DEX_GENGAR
- NATIONAL_DEX_ONIX, // HOENN_DEX_ONIX
- NATIONAL_DEX_DROWZEE, // HOENN_DEX_DROWZEE
- NATIONAL_DEX_HYPNO, // HOENN_DEX_HYPNO
- NATIONAL_DEX_KRABBY, // HOENN_DEX_KRABBY
- NATIONAL_DEX_KINGLER, // HOENN_DEX_KINGLER
- NATIONAL_DEX_EXEGGCUTE, // HOENN_DEX_EXEGGCUTE
- NATIONAL_DEX_EXEGGUTOR, // HOENN_DEX_EXEGGUTOR
- NATIONAL_DEX_CUBONE, // HOENN_DEX_CUBONE
- NATIONAL_DEX_MAROWAK, // HOENN_DEX_MAROWAK
- NATIONAL_DEX_HITMONLEE, // HOENN_DEX_HITMONLEE
- NATIONAL_DEX_HITMONCHAN, // HOENN_DEX_HITMONCHAN
- NATIONAL_DEX_LICKITUNG, // HOENN_DEX_LICKITUNG
- NATIONAL_DEX_CHANSEY, // HOENN_DEX_CHANSEY
- NATIONAL_DEX_TANGELA, // HOENN_DEX_TANGELA
- NATIONAL_DEX_KANGASKHAN, // HOENN_DEX_KANGASKHAN
- NATIONAL_DEX_MR_MIME, // HOENN_DEX_MR. MIME
- NATIONAL_DEX_SCYTHER, // HOENN_DEX_SCYTHER
- NATIONAL_DEX_JYNX, // HOENN_DEX_JYNX
- NATIONAL_DEX_ELECTABUZZ, // HOENN_DEX_ELECTABUZZ
- NATIONAL_DEX_MAGMAR, // HOENN_DEX_MAGMAR
- NATIONAL_DEX_TAUROS, // HOENN_DEX_TAUROS
- NATIONAL_DEX_LAPRAS, // HOENN_DEX_LAPRAS
- NATIONAL_DEX_DITTO, // HOENN_DEX_DITTO
- NATIONAL_DEX_EEVEE, // HOENN_DEX_EEVEE
- NATIONAL_DEX_VAPOREON, // HOENN_DEX_VAPOREON
- NATIONAL_DEX_JOLTEON, // HOENN_DEX_JOLTEON
- NATIONAL_DEX_FLAREON, // HOENN_DEX_FLAREON
- NATIONAL_DEX_PORYGON, // HOENN_DEX_PORYGON
- NATIONAL_DEX_OMANYTE, // HOENN_DEX_OMANYTE
- NATIONAL_DEX_OMASTAR, // HOENN_DEX_OMASTAR
- NATIONAL_DEX_KABUTO, // HOENN_DEX_KABUTO
- NATIONAL_DEX_KABUTOPS, // HOENN_DEX_KABUTOPS
- NATIONAL_DEX_AERODACTYL, // HOENN_DEX_AERODACTYL
- NATIONAL_DEX_SNORLAX, // HOENN_DEX_SNORLAX
- NATIONAL_DEX_ARTICUNO, // HOENN_DEX_ARTICUNO
- NATIONAL_DEX_ZAPDOS, // HOENN_DEX_ZAPDOS
- NATIONAL_DEX_MOLTRES, // HOENN_DEX_MOLTRES
- NATIONAL_DEX_DRATINI, // HOENN_DEX_DRATINI
- NATIONAL_DEX_DRAGONAIR, // HOENN_DEX_DRAGONAIR
- NATIONAL_DEX_DRAGONITE, // HOENN_DEX_DRAGONITE
- NATIONAL_DEX_MEWTWO, // HOENN_DEX_MEWTWO
- NATIONAL_DEX_MEW, // HOENN_DEX_MEW
- NATIONAL_DEX_CHIKORITA, // HOENN_DEX_CHIKORITA
- NATIONAL_DEX_BAYLEEF, // HOENN_DEX_BAYLEEF
- NATIONAL_DEX_MEGANIUM, // HOENN_DEX_MEGANIUM
- NATIONAL_DEX_CYNDAQUIL, // HOENN_DEX_CYNDAQUIL
- NATIONAL_DEX_QUILAVA, // HOENN_DEX_QUILAVA
- NATIONAL_DEX_TYPHLOSION, // HOENN_DEX_TYPHLOSION
- NATIONAL_DEX_TOTODILE, // HOENN_DEX_TOTODILE
- NATIONAL_DEX_CROCONAW, // HOENN_DEX_CROCONAW
- NATIONAL_DEX_FERALIGATR, // HOENN_DEX_FERALIGATR
- NATIONAL_DEX_SENTRET, // HOENN_DEX_SENTRET
- NATIONAL_DEX_FURRET, // HOENN_DEX_FURRET
- NATIONAL_DEX_HOOTHOOT, // HOENN_DEX_HOOTHOOT
- NATIONAL_DEX_NOCTOWL, // HOENN_DEX_NOCTOWL
- NATIONAL_DEX_LEDYBA, // HOENN_DEX_LEDYBA
- NATIONAL_DEX_LEDIAN, // HOENN_DEX_LEDIAN
- NATIONAL_DEX_SPINARAK, // HOENN_DEX_SPINARAK
- NATIONAL_DEX_ARIADOS, // HOENN_DEX_ARIADOS
- NATIONAL_DEX_CLEFFA, // HOENN_DEX_CLEFFA
- NATIONAL_DEX_TOGEPI, // HOENN_DEX_TOGEPI
- NATIONAL_DEX_TOGETIC, // HOENN_DEX_TOGETIC
- NATIONAL_DEX_MAREEP, // HOENN_DEX_MAREEP
- NATIONAL_DEX_FLAAFFY, // HOENN_DEX_FLAAFFY
- NATIONAL_DEX_AMPHAROS, // HOENN_DEX_AMPHAROS
- NATIONAL_DEX_SUDOWOODO, // HOENN_DEX_SUDOWOODO
- NATIONAL_DEX_POLITOED, // HOENN_DEX_POLITOED
- NATIONAL_DEX_HOPPIP, // HOENN_DEX_HOPPIP
- NATIONAL_DEX_SKIPLOOM, // HOENN_DEX_SKIPLOOM
- NATIONAL_DEX_JUMPLUFF, // HOENN_DEX_JUMPLUFF
- NATIONAL_DEX_AIPOM, // HOENN_DEX_AIPOM
- NATIONAL_DEX_SUNKERN, // HOENN_DEX_SUNKERN
- NATIONAL_DEX_SUNFLORA, // HOENN_DEX_SUNFLORA
- NATIONAL_DEX_YANMA, // HOENN_DEX_YANMA
- NATIONAL_DEX_WOOPER, // HOENN_DEX_WOOPER
- NATIONAL_DEX_QUAGSIRE, // HOENN_DEX_QUAGSIRE
- NATIONAL_DEX_ESPEON, // HOENN_DEX_ESPEON
- NATIONAL_DEX_UMBREON, // HOENN_DEX_UMBREON
- NATIONAL_DEX_MURKROW, // HOENN_DEX_MURKROW
- NATIONAL_DEX_SLOWKING, // HOENN_DEX_SLOWKING
- NATIONAL_DEX_MISDREAVUS, // HOENN_DEX_MISDREAVUS
- NATIONAL_DEX_UNOWN, // HOENN_DEX_UNOWN
- NATIONAL_DEX_PINECO, // HOENN_DEX_PINECO
- NATIONAL_DEX_FORRETRESS, // HOENN_DEX_FORRETRESS
- NATIONAL_DEX_DUNSPARCE, // HOENN_DEX_DUNSPARCE
- NATIONAL_DEX_GLIGAR, // HOENN_DEX_GLIGAR
- NATIONAL_DEX_STEELIX, // HOENN_DEX_STEELIX
- NATIONAL_DEX_SNUBBULL, // HOENN_DEX_SNUBBULL
- NATIONAL_DEX_GRANBULL, // HOENN_DEX_GRANBULL
- NATIONAL_DEX_QWILFISH, // HOENN_DEX_QWILFISH
- NATIONAL_DEX_SCIZOR, // HOENN_DEX_SCIZOR
- NATIONAL_DEX_SHUCKLE, // HOENN_DEX_SHUCKLE
- NATIONAL_DEX_SNEASEL, // HOENN_DEX_SNEASEL
- NATIONAL_DEX_TEDDIURSA, // HOENN_DEX_TEDDIURSA
- NATIONAL_DEX_URSARING, // HOENN_DEX_URSARING
- NATIONAL_DEX_SWINUB, // HOENN_DEX_SWINUB
- NATIONAL_DEX_PILOSWINE, // HOENN_DEX_PILOSWINE
- NATIONAL_DEX_REMORAID, // HOENN_DEX_REMORAID
- NATIONAL_DEX_OCTILLERY, // HOENN_DEX_OCTILLERY
- NATIONAL_DEX_DELIBIRD, // HOENN_DEX_DELIBIRD
- NATIONAL_DEX_MANTINE, // HOENN_DEX_MANTINE
- NATIONAL_DEX_HOUNDOUR, // HOENN_DEX_HOUNDOUR
- NATIONAL_DEX_HOUNDOOM, // HOENN_DEX_HOUNDOOM
- NATIONAL_DEX_PORYGON2, // HOENN_DEX_PORYGON2
- NATIONAL_DEX_STANTLER, // HOENN_DEX_STANTLER
- NATIONAL_DEX_SMEARGLE, // HOENN_DEX_SMEARGLE
- NATIONAL_DEX_TYROGUE, // HOENN_DEX_TYROGUE
- NATIONAL_DEX_HITMONTOP, // HOENN_DEX_HITMONTOP
- NATIONAL_DEX_SMOOCHUM, // HOENN_DEX_SMOOCHUM
- NATIONAL_DEX_ELEKID, // HOENN_DEX_ELEKID
- NATIONAL_DEX_MAGBY, // HOENN_DEX_MAGBY
- NATIONAL_DEX_MILTANK, // HOENN_DEX_MILTANK
- NATIONAL_DEX_BLISSEY, // HOENN_DEX_BLISSEY
- NATIONAL_DEX_RAIKOU, // HOENN_DEX_RAIKOU
- NATIONAL_DEX_ENTEI, // HOENN_DEX_ENTEI
- NATIONAL_DEX_SUICUNE, // HOENN_DEX_SUICUNE
- NATIONAL_DEX_LARVITAR, // HOENN_DEX_LARVITAR
- NATIONAL_DEX_PUPITAR, // HOENN_DEX_PUPITAR
- NATIONAL_DEX_TYRANITAR, // HOENN_DEX_TYRANITAR
- NATIONAL_DEX_LUGIA, // HOENN_DEX_LUGIA
- NATIONAL_DEX_HO_OH, // HOENN_DEX_HO-OH
- NATIONAL_DEX_CELEBI, // HOENN_DEX_CELEBI
- NATIONAL_DEX_OLD_UNOWN_B, // HOENN_DEX_OLD_UNOWN_B
- NATIONAL_DEX_OLD_UNOWN_C, // HOENN_DEX_OLD_UNOWN_C
- NATIONAL_DEX_OLD_UNOWN_D, // HOENN_DEX_OLD_UNOWN_D
- NATIONAL_DEX_OLD_UNOWN_E, // HOENN_DEX_OLD_UNOWN_E
- NATIONAL_DEX_OLD_UNOWN_F, // HOENN_DEX_OLD_UNOWN_F
- NATIONAL_DEX_OLD_UNOWN_G, // HOENN_DEX_OLD_UNOWN_G
- NATIONAL_DEX_OLD_UNOWN_H, // HOENN_DEX_OLD_UNOWN_H
- NATIONAL_DEX_OLD_UNOWN_I, // HOENN_DEX_OLD_UNOWN_I
- NATIONAL_DEX_OLD_UNOWN_J, // HOENN_DEX_OLD_UNOWN_J
- NATIONAL_DEX_OLD_UNOWN_K, // HOENN_DEX_OLD_UNOWN_K
- NATIONAL_DEX_OLD_UNOWN_L, // HOENN_DEX_OLD_UNOWN_L
- NATIONAL_DEX_OLD_UNOWN_M, // HOENN_DEX_OLD_UNOWN_M
- NATIONAL_DEX_OLD_UNOWN_N, // HOENN_DEX_OLD_UNOWN_N
- NATIONAL_DEX_OLD_UNOWN_O, // HOENN_DEX_OLD_UNOWN_O
- NATIONAL_DEX_OLD_UNOWN_P, // HOENN_DEX_OLD_UNOWN_P
- NATIONAL_DEX_OLD_UNOWN_Q, // HOENN_DEX_OLD_UNOWN_Q
- NATIONAL_DEX_OLD_UNOWN_R, // HOENN_DEX_OLD_UNOWN_R
- NATIONAL_DEX_OLD_UNOWN_S, // HOENN_DEX_OLD_UNOWN_S
- NATIONAL_DEX_OLD_UNOWN_T, // HOENN_DEX_OLD_UNOWN_T
- NATIONAL_DEX_OLD_UNOWN_U, // HOENN_DEX_OLD_UNOWN_U
- NATIONAL_DEX_OLD_UNOWN_V, // HOENN_DEX_OLD_UNOWN_V
- NATIONAL_DEX_OLD_UNOWN_W, // HOENN_DEX_OLD_UNOWN_W
- NATIONAL_DEX_OLD_UNOWN_X, // HOENN_DEX_OLD_UNOWN_X
- NATIONAL_DEX_OLD_UNOWN_Y, // HOENN_DEX_OLD_UNOWN_Y
- NATIONAL_DEX_OLD_UNOWN_Z // HOENN_DEX_OLD_UNOWN_Z
+const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokmon (Using National Dex Index)
+{
+ HOENN_TO_NATIONAL(TREECKO),
+ HOENN_TO_NATIONAL(GROVYLE),
+ HOENN_TO_NATIONAL(SCEPTILE),
+ HOENN_TO_NATIONAL(TORCHIC),
+ HOENN_TO_NATIONAL(COMBUSKEN),
+ HOENN_TO_NATIONAL(BLAZIKEN),
+ HOENN_TO_NATIONAL(MUDKIP),
+ HOENN_TO_NATIONAL(MARSHTOMP),
+ HOENN_TO_NATIONAL(SWAMPERT),
+ HOENN_TO_NATIONAL(POOCHYENA),
+ HOENN_TO_NATIONAL(MIGHTYENA),
+ HOENN_TO_NATIONAL(ZIGZAGOON),
+ HOENN_TO_NATIONAL(LINOONE),
+ HOENN_TO_NATIONAL(WURMPLE),
+ HOENN_TO_NATIONAL(SILCOON),
+ HOENN_TO_NATIONAL(BEAUTIFLY),
+ HOENN_TO_NATIONAL(CASCOON),
+ HOENN_TO_NATIONAL(DUSTOX),
+ HOENN_TO_NATIONAL(LOTAD),
+ HOENN_TO_NATIONAL(LOMBRE),
+ HOENN_TO_NATIONAL(LUDICOLO),
+ HOENN_TO_NATIONAL(SEEDOT),
+ HOENN_TO_NATIONAL(NUZLEAF),
+ HOENN_TO_NATIONAL(SHIFTRY),
+ HOENN_TO_NATIONAL(TAILLOW),
+ HOENN_TO_NATIONAL(SWELLOW),
+ HOENN_TO_NATIONAL(WINGULL),
+ HOENN_TO_NATIONAL(PELIPPER),
+ HOENN_TO_NATIONAL(RALTS),
+ HOENN_TO_NATIONAL(KIRLIA),
+ HOENN_TO_NATIONAL(GARDEVOIR),
+ HOENN_TO_NATIONAL(SURSKIT),
+ HOENN_TO_NATIONAL(MASQUERAIN),
+ HOENN_TO_NATIONAL(SHROOMISH),
+ HOENN_TO_NATIONAL(BRELOOM),
+ HOENN_TO_NATIONAL(SLAKOTH),
+ HOENN_TO_NATIONAL(VIGOROTH),
+ HOENN_TO_NATIONAL(SLAKING),
+ HOENN_TO_NATIONAL(ABRA),
+ HOENN_TO_NATIONAL(KADABRA),
+ HOENN_TO_NATIONAL(ALAKAZAM),
+ HOENN_TO_NATIONAL(NINCADA),
+ HOENN_TO_NATIONAL(NINJASK),
+ HOENN_TO_NATIONAL(SHEDINJA),
+ HOENN_TO_NATIONAL(WHISMUR),
+ HOENN_TO_NATIONAL(LOUDRED),
+ HOENN_TO_NATIONAL(EXPLOUD),
+ HOENN_TO_NATIONAL(MAKUHITA),
+ HOENN_TO_NATIONAL(HARIYAMA),
+ HOENN_TO_NATIONAL(GOLDEEN),
+ HOENN_TO_NATIONAL(SEAKING),
+ HOENN_TO_NATIONAL(MAGIKARP),
+ HOENN_TO_NATIONAL(GYARADOS),
+ HOENN_TO_NATIONAL(AZURILL),
+ HOENN_TO_NATIONAL(MARILL),
+ HOENN_TO_NATIONAL(AZUMARILL),
+ HOENN_TO_NATIONAL(GEODUDE),
+ HOENN_TO_NATIONAL(GRAVELER),
+ HOENN_TO_NATIONAL(GOLEM),
+ HOENN_TO_NATIONAL(NOSEPASS),
+ HOENN_TO_NATIONAL(SKITTY),
+ HOENN_TO_NATIONAL(DELCATTY),
+ HOENN_TO_NATIONAL(ZUBAT),
+ HOENN_TO_NATIONAL(GOLBAT),
+ HOENN_TO_NATIONAL(CROBAT),
+ HOENN_TO_NATIONAL(TENTACOOL),
+ HOENN_TO_NATIONAL(TENTACRUEL),
+ HOENN_TO_NATIONAL(SABLEYE),
+ HOENN_TO_NATIONAL(MAWILE),
+ HOENN_TO_NATIONAL(ARON),
+ HOENN_TO_NATIONAL(LAIRON),
+ HOENN_TO_NATIONAL(AGGRON),
+ HOENN_TO_NATIONAL(MACHOP),
+ HOENN_TO_NATIONAL(MACHOKE),
+ HOENN_TO_NATIONAL(MACHAMP),
+ HOENN_TO_NATIONAL(MEDITITE),
+ HOENN_TO_NATIONAL(MEDICHAM),
+ HOENN_TO_NATIONAL(ELECTRIKE),
+ HOENN_TO_NATIONAL(MANECTRIC),
+ HOENN_TO_NATIONAL(PLUSLE),
+ HOENN_TO_NATIONAL(MINUN),
+ HOENN_TO_NATIONAL(MAGNEMITE),
+ HOENN_TO_NATIONAL(MAGNETON),
+ HOENN_TO_NATIONAL(VOLTORB),
+ HOENN_TO_NATIONAL(ELECTRODE),
+ HOENN_TO_NATIONAL(VOLBEAT),
+ HOENN_TO_NATIONAL(ILLUMISE),
+ HOENN_TO_NATIONAL(ODDISH),
+ HOENN_TO_NATIONAL(GLOOM),
+ HOENN_TO_NATIONAL(VILEPLUME),
+ HOENN_TO_NATIONAL(BELLOSSOM),
+ HOENN_TO_NATIONAL(DODUO),
+ HOENN_TO_NATIONAL(DODRIO),
+ HOENN_TO_NATIONAL(ROSELIA),
+ HOENN_TO_NATIONAL(GULPIN),
+ HOENN_TO_NATIONAL(SWALOT),
+ HOENN_TO_NATIONAL(CARVANHA),
+ HOENN_TO_NATIONAL(SHARPEDO),
+ HOENN_TO_NATIONAL(WAILMER),
+ HOENN_TO_NATIONAL(WAILORD),
+ HOENN_TO_NATIONAL(NUMEL),
+ HOENN_TO_NATIONAL(CAMERUPT),
+ HOENN_TO_NATIONAL(SLUGMA),
+ HOENN_TO_NATIONAL(MAGCARGO),
+ HOENN_TO_NATIONAL(TORKOAL),
+ HOENN_TO_NATIONAL(GRIMER),
+ HOENN_TO_NATIONAL(MUK),
+ HOENN_TO_NATIONAL(KOFFING),
+ HOENN_TO_NATIONAL(WEEZING),
+ HOENN_TO_NATIONAL(SPOINK),
+ HOENN_TO_NATIONAL(GRUMPIG),
+ HOENN_TO_NATIONAL(SANDSHREW),
+ HOENN_TO_NATIONAL(SANDSLASH),
+ HOENN_TO_NATIONAL(SPINDA),
+ HOENN_TO_NATIONAL(SKARMORY),
+ HOENN_TO_NATIONAL(TRAPINCH),
+ HOENN_TO_NATIONAL(VIBRAVA),
+ HOENN_TO_NATIONAL(FLYGON),
+ HOENN_TO_NATIONAL(CACNEA),
+ HOENN_TO_NATIONAL(CACTURNE),
+ HOENN_TO_NATIONAL(SWABLU),
+ HOENN_TO_NATIONAL(ALTARIA),
+ HOENN_TO_NATIONAL(ZANGOOSE),
+ HOENN_TO_NATIONAL(SEVIPER),
+ HOENN_TO_NATIONAL(LUNATONE),
+ HOENN_TO_NATIONAL(SOLROCK),
+ HOENN_TO_NATIONAL(BARBOACH),
+ HOENN_TO_NATIONAL(WHISCASH),
+ HOENN_TO_NATIONAL(CORPHISH),
+ HOENN_TO_NATIONAL(CRAWDAUNT),
+ HOENN_TO_NATIONAL(BALTOY),
+ HOENN_TO_NATIONAL(CLAYDOL),
+ HOENN_TO_NATIONAL(LILEEP),
+ HOENN_TO_NATIONAL(CRADILY),
+ HOENN_TO_NATIONAL(ANORITH),
+ HOENN_TO_NATIONAL(ARMALDO),
+ HOENN_TO_NATIONAL(IGGLYBUFF),
+ HOENN_TO_NATIONAL(JIGGLYPUFF),
+ HOENN_TO_NATIONAL(WIGGLYTUFF),
+ HOENN_TO_NATIONAL(FEEBAS),
+ HOENN_TO_NATIONAL(MILOTIC),
+ HOENN_TO_NATIONAL(CASTFORM),
+ HOENN_TO_NATIONAL(STARYU),
+ HOENN_TO_NATIONAL(STARMIE),
+ HOENN_TO_NATIONAL(KECLEON),
+ HOENN_TO_NATIONAL(SHUPPET),
+ HOENN_TO_NATIONAL(BANETTE),
+ HOENN_TO_NATIONAL(DUSKULL),
+ HOENN_TO_NATIONAL(DUSCLOPS),
+ HOENN_TO_NATIONAL(TROPIUS),
+ HOENN_TO_NATIONAL(CHIMECHO),
+ HOENN_TO_NATIONAL(ABSOL),
+ HOENN_TO_NATIONAL(VULPIX),
+ HOENN_TO_NATIONAL(NINETALES),
+ HOENN_TO_NATIONAL(PICHU),
+ HOENN_TO_NATIONAL(PIKACHU),
+ HOENN_TO_NATIONAL(RAICHU),
+ HOENN_TO_NATIONAL(PSYDUCK),
+ HOENN_TO_NATIONAL(GOLDUCK),
+ HOENN_TO_NATIONAL(WYNAUT),
+ HOENN_TO_NATIONAL(WOBBUFFET),
+ HOENN_TO_NATIONAL(NATU),
+ HOENN_TO_NATIONAL(XATU),
+ HOENN_TO_NATIONAL(GIRAFARIG),
+ HOENN_TO_NATIONAL(PHANPY),
+ HOENN_TO_NATIONAL(DONPHAN),
+ HOENN_TO_NATIONAL(PINSIR),
+ HOENN_TO_NATIONAL(HERACROSS),
+ HOENN_TO_NATIONAL(RHYHORN),
+ HOENN_TO_NATIONAL(RHYDON),
+ HOENN_TO_NATIONAL(SNORUNT),
+ HOENN_TO_NATIONAL(GLALIE),
+ HOENN_TO_NATIONAL(SPHEAL),
+ HOENN_TO_NATIONAL(SEALEO),
+ HOENN_TO_NATIONAL(WALREIN),
+ HOENN_TO_NATIONAL(CLAMPERL),
+ HOENN_TO_NATIONAL(HUNTAIL),
+ HOENN_TO_NATIONAL(GOREBYSS),
+ HOENN_TO_NATIONAL(RELICANTH),
+ HOENN_TO_NATIONAL(CORSOLA),
+ HOENN_TO_NATIONAL(CHINCHOU),
+ HOENN_TO_NATIONAL(LANTURN),
+ HOENN_TO_NATIONAL(LUVDISC),
+ HOENN_TO_NATIONAL(HORSEA),
+ HOENN_TO_NATIONAL(SEADRA),
+ HOENN_TO_NATIONAL(KINGDRA),
+ HOENN_TO_NATIONAL(BAGON),
+ HOENN_TO_NATIONAL(SHELGON),
+ HOENN_TO_NATIONAL(SALAMENCE),
+ HOENN_TO_NATIONAL(BELDUM),
+ HOENN_TO_NATIONAL(METANG),
+ HOENN_TO_NATIONAL(METAGROSS),
+ HOENN_TO_NATIONAL(REGIROCK),
+ HOENN_TO_NATIONAL(REGICE),
+ HOENN_TO_NATIONAL(REGISTEEL),
+ HOENN_TO_NATIONAL(LATIAS),
+ HOENN_TO_NATIONAL(LATIOS),
+ HOENN_TO_NATIONAL(KYOGRE),
+ HOENN_TO_NATIONAL(GROUDON),
+ HOENN_TO_NATIONAL(RAYQUAZA),
+ HOENN_TO_NATIONAL(JIRACHI),
+ HOENN_TO_NATIONAL(DEOXYS),
+ HOENN_TO_NATIONAL(BULBASAUR), // Pokmon from here onwards are UNSEEN in the HoennDex.
+ HOENN_TO_NATIONAL(IVYSAUR),
+ HOENN_TO_NATIONAL(VENUSAUR),
+ HOENN_TO_NATIONAL(CHARMANDER),
+ HOENN_TO_NATIONAL(CHARMELEON),
+ HOENN_TO_NATIONAL(CHARIZARD),
+ HOENN_TO_NATIONAL(SQUIRTLE),
+ HOENN_TO_NATIONAL(WARTORTLE),
+ HOENN_TO_NATIONAL(BLASTOISE),
+ HOENN_TO_NATIONAL(CATERPIE),
+ HOENN_TO_NATIONAL(METAPOD),
+ HOENN_TO_NATIONAL(BUTTERFREE),
+ HOENN_TO_NATIONAL(WEEDLE),
+ HOENN_TO_NATIONAL(KAKUNA),
+ HOENN_TO_NATIONAL(BEEDRILL),
+ HOENN_TO_NATIONAL(PIDGEY),
+ HOENN_TO_NATIONAL(PIDGEOTTO),
+ HOENN_TO_NATIONAL(PIDGEOT),
+ HOENN_TO_NATIONAL(RATTATA),
+ HOENN_TO_NATIONAL(RATICATE),
+ HOENN_TO_NATIONAL(SPEAROW),
+ HOENN_TO_NATIONAL(FEAROW),
+ HOENN_TO_NATIONAL(EKANS),
+ HOENN_TO_NATIONAL(ARBOK),
+ HOENN_TO_NATIONAL(NIDORAN_F),
+ HOENN_TO_NATIONAL(NIDORINA),
+ HOENN_TO_NATIONAL(NIDOQUEEN),
+ HOENN_TO_NATIONAL(NIDORAN_M),
+ HOENN_TO_NATIONAL(NIDORINO),
+ HOENN_TO_NATIONAL(NIDOKING),
+ HOENN_TO_NATIONAL(CLEFAIRY),
+ HOENN_TO_NATIONAL(CLEFABLE),
+ HOENN_TO_NATIONAL(PARAS),
+ HOENN_TO_NATIONAL(PARASECT),
+ HOENN_TO_NATIONAL(VENONAT),
+ HOENN_TO_NATIONAL(VENOMOTH),
+ HOENN_TO_NATIONAL(DIGLETT),
+ HOENN_TO_NATIONAL(DUGTRIO),
+ HOENN_TO_NATIONAL(MEOWTH),
+ HOENN_TO_NATIONAL(PERSIAN),
+ HOENN_TO_NATIONAL(MANKEY),
+ HOENN_TO_NATIONAL(PRIMEAPE),
+ HOENN_TO_NATIONAL(GROWLITHE),
+ HOENN_TO_NATIONAL(ARCANINE),
+ HOENN_TO_NATIONAL(POLIWAG),
+ HOENN_TO_NATIONAL(POLIWHIRL),
+ HOENN_TO_NATIONAL(POLIWRATH),
+ HOENN_TO_NATIONAL(BELLSPROUT),
+ HOENN_TO_NATIONAL(WEEPINBELL),
+ HOENN_TO_NATIONAL(VICTREEBEL),
+ HOENN_TO_NATIONAL(PONYTA),
+ HOENN_TO_NATIONAL(RAPIDASH),
+ HOENN_TO_NATIONAL(SLOWPOKE),
+ HOENN_TO_NATIONAL(SLOWBRO),
+ HOENN_TO_NATIONAL(FARFETCHD),
+ HOENN_TO_NATIONAL(SEEL),
+ HOENN_TO_NATIONAL(DEWGONG),
+ HOENN_TO_NATIONAL(SHELLDER),
+ HOENN_TO_NATIONAL(CLOYSTER),
+ HOENN_TO_NATIONAL(GASTLY),
+ HOENN_TO_NATIONAL(HAUNTER),
+ HOENN_TO_NATIONAL(GENGAR),
+ HOENN_TO_NATIONAL(ONIX),
+ HOENN_TO_NATIONAL(DROWZEE),
+ HOENN_TO_NATIONAL(HYPNO),
+ HOENN_TO_NATIONAL(KRABBY),
+ HOENN_TO_NATIONAL(KINGLER),
+ HOENN_TO_NATIONAL(EXEGGCUTE),
+ HOENN_TO_NATIONAL(EXEGGUTOR),
+ HOENN_TO_NATIONAL(CUBONE),
+ HOENN_TO_NATIONAL(MAROWAK),
+ HOENN_TO_NATIONAL(HITMONLEE),
+ HOENN_TO_NATIONAL(HITMONCHAN),
+ HOENN_TO_NATIONAL(LICKITUNG),
+ HOENN_TO_NATIONAL(CHANSEY),
+ HOENN_TO_NATIONAL(TANGELA),
+ HOENN_TO_NATIONAL(KANGASKHAN),
+ HOENN_TO_NATIONAL(MR_MIME),
+ HOENN_TO_NATIONAL(SCYTHER),
+ HOENN_TO_NATIONAL(JYNX),
+ HOENN_TO_NATIONAL(ELECTABUZZ),
+ HOENN_TO_NATIONAL(MAGMAR),
+ HOENN_TO_NATIONAL(TAUROS),
+ HOENN_TO_NATIONAL(LAPRAS),
+ HOENN_TO_NATIONAL(DITTO),
+ HOENN_TO_NATIONAL(EEVEE),
+ HOENN_TO_NATIONAL(VAPOREON),
+ HOENN_TO_NATIONAL(JOLTEON),
+ HOENN_TO_NATIONAL(FLAREON),
+ HOENN_TO_NATIONAL(PORYGON),
+ HOENN_TO_NATIONAL(OMANYTE),
+ HOENN_TO_NATIONAL(OMASTAR),
+ HOENN_TO_NATIONAL(KABUTO),
+ HOENN_TO_NATIONAL(KABUTOPS),
+ HOENN_TO_NATIONAL(AERODACTYL),
+ HOENN_TO_NATIONAL(SNORLAX),
+ HOENN_TO_NATIONAL(ARTICUNO),
+ HOENN_TO_NATIONAL(ZAPDOS),
+ HOENN_TO_NATIONAL(MOLTRES),
+ HOENN_TO_NATIONAL(DRATINI),
+ HOENN_TO_NATIONAL(DRAGONAIR),
+ HOENN_TO_NATIONAL(DRAGONITE),
+ HOENN_TO_NATIONAL(MEWTWO),
+ HOENN_TO_NATIONAL(MEW),
+ HOENN_TO_NATIONAL(CHIKORITA),
+ HOENN_TO_NATIONAL(BAYLEEF),
+ HOENN_TO_NATIONAL(MEGANIUM),
+ HOENN_TO_NATIONAL(CYNDAQUIL),
+ HOENN_TO_NATIONAL(QUILAVA),
+ HOENN_TO_NATIONAL(TYPHLOSION),
+ HOENN_TO_NATIONAL(TOTODILE),
+ HOENN_TO_NATIONAL(CROCONAW),
+ HOENN_TO_NATIONAL(FERALIGATR),
+ HOENN_TO_NATIONAL(SENTRET),
+ HOENN_TO_NATIONAL(FURRET),
+ HOENN_TO_NATIONAL(HOOTHOOT),
+ HOENN_TO_NATIONAL(NOCTOWL),
+ HOENN_TO_NATIONAL(LEDYBA),
+ HOENN_TO_NATIONAL(LEDIAN),
+ HOENN_TO_NATIONAL(SPINARAK),
+ HOENN_TO_NATIONAL(ARIADOS),
+ HOENN_TO_NATIONAL(CLEFFA),
+ HOENN_TO_NATIONAL(TOGEPI),
+ HOENN_TO_NATIONAL(TOGETIC),
+ HOENN_TO_NATIONAL(MAREEP),
+ HOENN_TO_NATIONAL(FLAAFFY),
+ HOENN_TO_NATIONAL(AMPHAROS),
+ HOENN_TO_NATIONAL(SUDOWOODO),
+ HOENN_TO_NATIONAL(POLITOED),
+ HOENN_TO_NATIONAL(HOPPIP),
+ HOENN_TO_NATIONAL(SKIPLOOM),
+ HOENN_TO_NATIONAL(JUMPLUFF),
+ HOENN_TO_NATIONAL(AIPOM),
+ HOENN_TO_NATIONAL(SUNKERN),
+ HOENN_TO_NATIONAL(SUNFLORA),
+ HOENN_TO_NATIONAL(YANMA),
+ HOENN_TO_NATIONAL(WOOPER),
+ HOENN_TO_NATIONAL(QUAGSIRE),
+ HOENN_TO_NATIONAL(ESPEON),
+ HOENN_TO_NATIONAL(UMBREON),
+ HOENN_TO_NATIONAL(MURKROW),
+ HOENN_TO_NATIONAL(SLOWKING),
+ HOENN_TO_NATIONAL(MISDREAVUS),
+ HOENN_TO_NATIONAL(UNOWN),
+ HOENN_TO_NATIONAL(PINECO),
+ HOENN_TO_NATIONAL(FORRETRESS),
+ HOENN_TO_NATIONAL(DUNSPARCE),
+ HOENN_TO_NATIONAL(GLIGAR),
+ HOENN_TO_NATIONAL(STEELIX),
+ HOENN_TO_NATIONAL(SNUBBULL),
+ HOENN_TO_NATIONAL(GRANBULL),
+ HOENN_TO_NATIONAL(QWILFISH),
+ HOENN_TO_NATIONAL(SCIZOR),
+ HOENN_TO_NATIONAL(SHUCKLE),
+ HOENN_TO_NATIONAL(SNEASEL),
+ HOENN_TO_NATIONAL(TEDDIURSA),
+ HOENN_TO_NATIONAL(URSARING),
+ HOENN_TO_NATIONAL(SWINUB),
+ HOENN_TO_NATIONAL(PILOSWINE),
+ HOENN_TO_NATIONAL(REMORAID),
+ HOENN_TO_NATIONAL(OCTILLERY),
+ HOENN_TO_NATIONAL(DELIBIRD),
+ HOENN_TO_NATIONAL(MANTINE),
+ HOENN_TO_NATIONAL(HOUNDOUR),
+ HOENN_TO_NATIONAL(HOUNDOOM),
+ HOENN_TO_NATIONAL(PORYGON2),
+ HOENN_TO_NATIONAL(STANTLER),
+ HOENN_TO_NATIONAL(SMEARGLE),
+ HOENN_TO_NATIONAL(TYROGUE),
+ HOENN_TO_NATIONAL(HITMONTOP),
+ HOENN_TO_NATIONAL(SMOOCHUM),
+ HOENN_TO_NATIONAL(ELEKID),
+ HOENN_TO_NATIONAL(MAGBY),
+ HOENN_TO_NATIONAL(MILTANK),
+ HOENN_TO_NATIONAL(BLISSEY),
+ HOENN_TO_NATIONAL(RAIKOU),
+ HOENN_TO_NATIONAL(ENTEI),
+ HOENN_TO_NATIONAL(SUICUNE),
+ HOENN_TO_NATIONAL(LARVITAR),
+ HOENN_TO_NATIONAL(PUPITAR),
+ HOENN_TO_NATIONAL(TYRANITAR),
+ HOENN_TO_NATIONAL(LUGIA),
+ HOENN_TO_NATIONAL(HO_OH),
+ HOENN_TO_NATIONAL(CELEBI),
+ HOENN_TO_NATIONAL(OLD_UNOWN_B),
+ HOENN_TO_NATIONAL(OLD_UNOWN_C),
+ HOENN_TO_NATIONAL(OLD_UNOWN_D),
+ HOENN_TO_NATIONAL(OLD_UNOWN_E),
+ HOENN_TO_NATIONAL(OLD_UNOWN_F),
+ HOENN_TO_NATIONAL(OLD_UNOWN_G),
+ HOENN_TO_NATIONAL(OLD_UNOWN_H),
+ HOENN_TO_NATIONAL(OLD_UNOWN_I),
+ HOENN_TO_NATIONAL(OLD_UNOWN_J),
+ HOENN_TO_NATIONAL(OLD_UNOWN_K),
+ HOENN_TO_NATIONAL(OLD_UNOWN_L),
+ HOENN_TO_NATIONAL(OLD_UNOWN_M),
+ HOENN_TO_NATIONAL(OLD_UNOWN_N),
+ HOENN_TO_NATIONAL(OLD_UNOWN_O),
+ HOENN_TO_NATIONAL(OLD_UNOWN_P),
+ HOENN_TO_NATIONAL(OLD_UNOWN_Q),
+ HOENN_TO_NATIONAL(OLD_UNOWN_R),
+ HOENN_TO_NATIONAL(OLD_UNOWN_S),
+ HOENN_TO_NATIONAL(OLD_UNOWN_T),
+ HOENN_TO_NATIONAL(OLD_UNOWN_U),
+ HOENN_TO_NATIONAL(OLD_UNOWN_V),
+ HOENN_TO_NATIONAL(OLD_UNOWN_W),
+ HOENN_TO_NATIONAL(OLD_UNOWN_X),
+ HOENN_TO_NATIONAL(OLD_UNOWN_Y),
+ HOENN_TO_NATIONAL(OLD_UNOWN_Z),
};
const struct SpindaSpot gSpindaSpotGraphics[] =
@@ -2273,9 +2270,9 @@ const u16 gUnknown_08329D54[] =
{
FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_CAMPER,
FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_BUG_CATCHER,
- FACILITY_CLASS_PKMN_BREEDER_2, FACILITY_CLASS_GUITARIST, FACILITY_CLASS_COOLTRAINER_F,
+ FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, FACILITY_CLASS_COOLTRAINER_F,
FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_LASS,
- FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_PKMN_BREEDER_1,
+ FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_POKEMON_BREEDER_F,
FACILITY_CLASS_BEAUTY
};
@@ -2879,10 +2876,10 @@ void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 m
u8 language;
u32 otId = gApprentices[src->id].otId;
u32 personality = ((gApprentices[src->id].otId >> 8) | ((gApprentices[src->id].otId & 0xFF) << 8))
- + src->monData[monId].species + src->number;
+ + src->party[monId].species + src->number;
CreateMon(mon,
- src->monData[monId].species,
+ src->party[monId].species,
GetFrontierEnemyMonLevel(src->lvlMode - 1),
0x1F,
TRUE,
@@ -2890,9 +2887,9 @@ void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 m
TRUE,
otId);
- SetMonData(mon, MON_DATA_HELD_ITEM, &src->monData[monId].item);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &src->party[monId].item);
for (i = 0; i < 4; i++)
- SetMonMoveSlot(mon, src->monData[monId].moves[i], i);
+ SetMonMoveSlot(mon, src->party[monId].moves[i], i);
evAmount = MAX_TOTAL_EVS / NUM_STATS;
for (i = 0; i < NUM_STATS; i++)
@@ -2904,7 +2901,7 @@ void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 m
CalculateMonStats(mon);
}
-void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId)
+void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId)
{
s32 i;
s32 statCount = 0;
@@ -6700,7 +6697,7 @@ static void sub_806E6CC(u8 taskId)
DestroyTask(taskId);
}
-const u8 *GetMonFrontSpritePal(struct Pokemon *mon)
+const u32 *GetMonFrontSpritePal(struct Pokemon *mon)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
u32 otId = GetMonData(mon, MON_DATA_OT_ID, 0);
@@ -6714,7 +6711,7 @@ const u8 *GetMonFrontSpritePal(struct Pokemon *mon)
// Extracts the lower 16 bits of a 32-bit number
#define LOHALF(n) ((n) & 0xFFFF)
-const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality)
+const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality)
{
u32 shinyValue;
@@ -7117,9 +7114,9 @@ u16 FacilityClassToPicIndex(u16 facilityClass)
u16 PlayerGenderToFrontTrainerPicId(u8 playerGender)
{
if (playerGender != MALE)
- return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY);
+ return FacilityClassToPicIndex(FACILITY_CLASS_MAY);
else
- return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN);
+ return FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN);
}
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality)
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c
index 6734fce06..989bce37d 100644
--- a/src/pokemon_animation.c
+++ b/src/pokemon_animation.c
@@ -1,11 +1,13 @@
#include "global.h"
#include "pokemon.h"
-#include "sprite.h"
#include "pokemon_animation.h"
-#include "trig.h"
+#include "sprite.h"
#include "task.h"
+#include "trig.h"
#include "util.h"
+#include "constants/battle_anim.h"
#include "constants/rgb.h"
+#include "constants/species.h"
struct UnkAnimStruct
{
@@ -183,418 +185,392 @@ static IWRAM_DATA bool32 sUnknown_03001274;
// const rom data
static const u8 sSpeciesToBackAnimSet[] =
{
- 0x00, // SPECIES_NONE
- 0x13, // SPECIES_BULBASAUR
- 0x02, // SPECIES_IVYSAUR
- 0x08, // SPECIES_VENUSAUR
- 0x12, // SPECIES_CHARMANDER
- 0x15, // SPECIES_CHARMELEON
- 0x17, // SPECIES_CHARIZARD
- 0x12, // SPECIES_SQUIRTLE
- 0x12, // SPECIES_WARTORTLE
- 0x19, // SPECIES_BLASTOISE
- 0x02, // SPECIES_CATERPIE
- 0x13, // SPECIES_METAPOD
- 0x11, // SPECIES_BUTTERFREE
- 0x02, // SPECIES_WEEDLE
- 0x13, // SPECIES_KAKUNA
- 0x01, // SPECIES_BEEDRILL
- 0x0f, // SPECIES_PIDGEY
- 0x15, // SPECIES_PIDGEOTTO
- 0x0f, // SPECIES_PIDGEOT
- 0x0a, // SPECIES_RATTATA
- 0x0a, // SPECIES_RATICATE
- 0x0f, // SPECIES_SPEAROW
- 0x15, // SPECIES_FEAROW
- 0x0f, // SPECIES_EKANS
- 0x09, // SPECIES_ARBOK
- 0x16, // SPECIES_PIKACHU
- 0x16, // SPECIES_RAICHU
- 0x12, // SPECIES_SANDSHREW
- 0x10, // SPECIES_SANDSLASH
- 0x12, // SPECIES_NIDORAN_F
- 0x15, // SPECIES_NIDORINA
- 0x09, // SPECIES_NIDOQUEEN
- 0x12, // SPECIES_NIDORAN_M
- 0x15, // SPECIES_NIDORINO
- 0x09, // SPECIES_NIDOKING
- 0x13, // SPECIES_CLEFAIRY
- 0x13, // SPECIES_CLEFABLE
- 0x10, // SPECIES_VULPIX
- 0x01, // SPECIES_NINETALES
- 0x13, // SPECIES_JIGGLYPUFF
- 0x06, // SPECIES_WIGGLYTUFF
- 0x11, // SPECIES_ZUBAT
- 0x09, // SPECIES_GOLBAT
- 0x02, // SPECIES_ODDISH
- 0x02, // SPECIES_GLOOM
- 0x14, // SPECIES_VILEPLUME
- 0x02, // SPECIES_PARAS
- 0x08, // SPECIES_PARASECT
- 0x0a, // SPECIES_VENONAT
- 0x11, // SPECIES_VENOMOTH
- 0x09, // SPECIES_DIGLETT
- 0x09, // SPECIES_DUGTRIO
- 0x10, // SPECIES_MEOWTH
- 0x0f, // SPECIES_PERSIAN
- 0x02, // SPECIES_PSYDUCK
- 0x14, // SPECIES_GOLDUCK
- 0x10, // SPECIES_MANKEY
- 0x10, // SPECIES_PRIMEAPE
- 0x15, // SPECIES_GROWLITHE
- 0x15, // SPECIES_ARCANINE
- 0x12, // SPECIES_POLIWAG
- 0x09, // SPECIES_POLIWHIRL
- 0x0e, // SPECIES_POLIWRATH
- 0x14, // SPECIES_ABRA
- 0x14, // SPECIES_KADABRA
- 0x0d, // SPECIES_ALAKAZAM
- 0x15, // SPECIES_MACHOP
- 0x09, // SPECIES_MACHOKE
- 0x09, // SPECIES_MACHAMP
- 0x0b, // SPECIES_BELLSPROUT
- 0x0b, // SPECIES_WEEPINBELL
- 0x0b, // SPECIES_VICTREEBEL
- 0x02, // SPECIES_TENTACOOL
- 0x02, // SPECIES_TENTACRUEL
- 0x0e, // SPECIES_GEODUDE
- 0x08, // SPECIES_GRAVELER
- 0x08, // SPECIES_GOLEM
- 0x17, // SPECIES_PONYTA
- 0x15, // SPECIES_RAPIDASH
- 0x02, // SPECIES_SLOWPOKE
- 0x13, // SPECIES_SLOWBRO
- 0x0f, // SPECIES_MAGNEMITE
- 0x0f, // SPECIES_MAGNETON
- 0x02, // SPECIES_FARFETCHD
- 0x0f, // SPECIES_DODUO
- 0x15, // SPECIES_DODRIO
- 0x13, // SPECIES_SEEL
- 0x02, // SPECIES_DEWGONG
- 0x0b, // SPECIES_GRIMER
- 0x0c, // SPECIES_MUK
- 0x13, // SPECIES_SHELLDER
- 0x0f, // SPECIES_CLOYSTER
- 0x01, // SPECIES_GASTLY
- 0x01, // SPECIES_HAUNTER
- 0x14, // SPECIES_GENGAR
- 0x09, // SPECIES_ONIX
- 0x13, // SPECIES_DROWZEE
- 0x14, // SPECIES_HYPNO
- 0x0a, // SPECIES_KRABBY
- 0x09, // SPECIES_KINGLER
- 0x15, // SPECIES_VOLTORB
- 0x15, // SPECIES_ELECTRODE
- 0x02, // SPECIES_EXEGGCUTE
- 0x10, // SPECIES_EXEGGUTOR
- 0x15, // SPECIES_CUBONE
- 0x10, // SPECIES_MAROWAK
- 0x02, // SPECIES_HITMONLEE
- 0x0f, // SPECIES_HITMONCHAN
- 0x02, // SPECIES_LICKITUNG
- 0x06, // SPECIES_KOFFING
- 0x06, // SPECIES_WEEZING
- 0x0e, // SPECIES_RHYHORN
- 0x0e, // SPECIES_RHYDON
- 0x12, // SPECIES_CHANSEY
- 0x0b, // SPECIES_TANGELA
- 0x12, // SPECIES_KANGASKHAN
- 0x13, // SPECIES_HORSEA
- 0x11, // SPECIES_SEADRA
- 0x11, // SPECIES_GOLDEEN
- 0x11, // SPECIES_SEAKING
- 0x13, // SPECIES_STARYU
- 0x19, // SPECIES_STARMIE
- 0x14, // SPECIES_MR_MIME
- 0x0f, // SPECIES_SCYTHER
- 0x13, // SPECIES_JYNX
- 0x16, // SPECIES_ELECTABUZZ
- 0x17, // SPECIES_MAGMAR
- 0x0e, // SPECIES_PINSIR
- 0x0e, // SPECIES_TAUROS
- 0x10, // SPECIES_MAGIKARP
- 0x09, // SPECIES_GYARADOS
- 0x19, // SPECIES_LAPRAS
- 0x05, // SPECIES_DITTO
- 0x12, // SPECIES_EEVEE
- 0x19, // SPECIES_VAPOREON
- 0x16, // SPECIES_JOLTEON
- 0x17, // SPECIES_FLAREON
- 0x01, // SPECIES_PORYGON
- 0x13, // SPECIES_OMANYTE
- 0x13, // SPECIES_OMASTAR
- 0x13, // SPECIES_KABUTO
- 0x15, // SPECIES_KABUTOPS
- 0x15, // SPECIES_AERODACTYL
- 0x13, // SPECIES_SNORLAX
- 0x19, // SPECIES_ARTICUNO
- 0x16, // SPECIES_ZAPDOS
- 0x17, // SPECIES_MOLTRES
- 0x02, // SPECIES_DRATINI
- 0x0f, // SPECIES_DRAGONAIR
- 0x09, // SPECIES_DRAGONITE
- 0x0d, // SPECIES_MEWTWO
- 0x12, // SPECIES_MEW
- 0x12, // SPECIES_CHIKORITA
- 0x02, // SPECIES_BAYLEEF
- 0x09, // SPECIES_MEGANIUM
- 0x12, // SPECIES_CYNDAQUIL
- 0x15, // SPECIES_QUILAVA
- 0x17, // SPECIES_TYPHLOSION
- 0x15, // SPECIES_TOTODILE
- 0x15, // SPECIES_CROCONAW
- 0x09, // SPECIES_FERALIGATR
- 0x12, // SPECIES_SENTRET
- 0x10, // SPECIES_FURRET
- 0x11, // SPECIES_HOOTHOOT
- 0x0f, // SPECIES_NOCTOWL
- 0x0a, // SPECIES_LEDYBA
- 0x11, // SPECIES_LEDIAN
- 0x0a, // SPECIES_SPINARAK
- 0x02, // SPECIES_ARIADOS
- 0x0f, // SPECIES_CROBAT
- 0x0b, // SPECIES_CHINCHOU
- 0x16, // SPECIES_LANTURN
- 0x12, // SPECIES_PICHU
- 0x13, // SPECIES_CLEFFA
- 0x13, // SPECIES_IGGLYBUFF
- 0x13, // SPECIES_TOGEPI
- 0x11, // SPECIES_TOGETIC
- 0x12, // SPECIES_NATU
- 0x14, // SPECIES_XATU
- 0x12, // SPECIES_MAREEP
- 0x13, // SPECIES_FLAAFFY
- 0x16, // SPECIES_AMPHAROS
- 0x11, // SPECIES_BELLOSSOM
- 0x12, // SPECIES_MARILL
- 0x13, // SPECIES_AZUMARILL
- 0x02, // SPECIES_SUDOWOODO
- 0x10, // SPECIES_POLITOED
- 0x11, // SPECIES_HOPPIP
- 0x11, // SPECIES_SKIPLOOM
- 0x11, // SPECIES_JUMPLUFF
- 0x10, // SPECIES_AIPOM
- 0x13, // SPECIES_SUNKERN
- 0x02, // SPECIES_SUNFLORA
- 0x11, // SPECIES_YANMA
- 0x0b, // SPECIES_WOOPER
- 0x02, // SPECIES_QUAGSIRE
- 0x14, // SPECIES_ESPEON
- 0x14, // SPECIES_UMBREON
- 0x12, // SPECIES_MURKROW
- 0x13, // SPECIES_SLOWKING
- 0x01, // SPECIES_MISDREAVUS
- 0x14, // SPECIES_UNOWN
- 0x0b, // SPECIES_WOBBUFFET
- 0x14, // SPECIES_GIRAFARIG
- 0x08, // SPECIES_PINECO
- 0x09, // SPECIES_FORRETRESS
- 0x0f, // SPECIES_DUNSPARCE
- 0x05, // SPECIES_GLIGAR
- 0x09, // SPECIES_STEELIX
- 0x15, // SPECIES_SNUBBULL
- 0x09, // SPECIES_GRANBULL
- 0x0d, // SPECIES_QWILFISH
- 0x15, // SPECIES_SCIZOR
- 0x13, // SPECIES_SHUCKLE
- 0x15, // SPECIES_HERACROSS
- 0x0f, // SPECIES_SNEASEL
- 0x13, // SPECIES_TEDDIURSA
- 0x09, // SPECIES_URSARING
- 0x17, // SPECIES_SLUGMA
- 0x17, // SPECIES_MAGCARGO
- 0x0a, // SPECIES_SWINUB
- 0x08, // SPECIES_PILOSWINE
- 0x02, // SPECIES_CORSOLA
- 0x02, // SPECIES_REMORAID
- 0x05, // SPECIES_OCTILLERY
- 0x0f, // SPECIES_DELIBIRD
- 0x02, // SPECIES_MANTINE
- 0x15, // SPECIES_SKARMORY
- 0x09, // SPECIES_HOUNDOUR
- 0x09, // SPECIES_HOUNDOOM
- 0x19, // SPECIES_KINGDRA
- 0x15, // SPECIES_PHANPY
- 0x0e, // SPECIES_DONPHAN
- 0x01, // SPECIES_PORYGON2
- 0x13, // SPECIES_STANTLER
- 0x02, // SPECIES_SMEARGLE
- 0x0f, // SPECIES_TYROGUE
- 0x07, // SPECIES_HITMONTOP
- 0x02, // SPECIES_SMOOCHUM
- 0x08, // SPECIES_ELEKID
- 0x17, // SPECIES_MAGBY
- 0x02, // SPECIES_MILTANK
- 0x13, // SPECIES_BLISSEY
- 0x16, // SPECIES_RAIKOU
- 0x17, // SPECIES_ENTEI
- 0x19, // SPECIES_SUICUNE
- 0x0e, // SPECIES_LARVITAR
- 0x09, // SPECIES_PUPITAR
- 0x0e, // SPECIES_TYRANITAR
- 0x19, // SPECIES_LUGIA
- 0x17, // SPECIES_HO_OH
- 0x18, // SPECIES_CELEBI
- 0x00, // SPECIES_OLD_UNOWN_B
- 0x00, // SPECIES_OLD_UNOWN_C
- 0x00, // SPECIES_OLD_UNOWN_D
- 0x00, // SPECIES_OLD_UNOWN_E
- 0x00, // SPECIES_OLD_UNOWN_F
- 0x00, // SPECIES_OLD_UNOWN_G
- 0x00, // SPECIES_OLD_UNOWN_H
- 0x00, // SPECIES_OLD_UNOWN_I
- 0x00, // SPECIES_OLD_UNOWN_J
- 0x00, // SPECIES_OLD_UNOWN_K
- 0x00, // SPECIES_OLD_UNOWN_L
- 0x00, // SPECIES_OLD_UNOWN_M
- 0x00, // SPECIES_OLD_UNOWN_N
- 0x00, // SPECIES_OLD_UNOWN_O
- 0x00, // SPECIES_OLD_UNOWN_P
- 0x00, // SPECIES_OLD_UNOWN_Q
- 0x00, // SPECIES_OLD_UNOWN_R
- 0x00, // SPECIES_OLD_UNOWN_S
- 0x00, // SPECIES_OLD_UNOWN_T
- 0x00, // SPECIES_OLD_UNOWN_U
- 0x00, // SPECIES_OLD_UNOWN_V
- 0x00, // SPECIES_OLD_UNOWN_W
- 0x00, // SPECIES_OLD_UNOWN_X
- 0x00, // SPECIES_OLD_UNOWN_Y
- 0x00, // SPECIES_OLD_UNOWN_Z
- 0x10, // SPECIES_TREECKO
- 0x15, // SPECIES_GROVYLE
- 0x09, // SPECIES_SCEPTILE
- 0x12, // SPECIES_TORCHIC
- 0x10, // SPECIES_COMBUSKEN
- 0x17, // SPECIES_BLAZIKEN
- 0x02, // SPECIES_MUDKIP
- 0x12, // SPECIES_MARSHTOMP
- 0x19, // SPECIES_SWAMPERT
- 0x12, // SPECIES_POOCHYENA
- 0x08, // SPECIES_MIGHTYENA
- 0x0f, // SPECIES_ZIGZAGOON
- 0x15, // SPECIES_LINOONE
- 0x0b, // SPECIES_WURMPLE
- 0x08, // SPECIES_SILCOON
- 0x11, // SPECIES_BEAUTIFLY
- 0x08, // SPECIES_CASCOON
- 0x0f, // SPECIES_DUSTOX
- 0x02, // SPECIES_LOTAD
- 0x10, // SPECIES_LOMBRE
- 0x10, // SPECIES_LUDICOLO
- 0x13, // SPECIES_SEEDOT
- 0x09, // SPECIES_NUZLEAF
- 0x14, // SPECIES_SHIFTRY
- 0x0a, // SPECIES_NINCADA
- 0x01, // SPECIES_NINJASK
- 0x14, // SPECIES_SHEDINJA
- 0x12, // SPECIES_TAILLOW
- 0x15, // SPECIES_SWELLOW
- 0x13, // SPECIES_SHROOMISH
- 0x15, // SPECIES_BRELOOM
- 0x07, // SPECIES_SPINDA
- 0x11, // SPECIES_WINGULL
- 0x11, // SPECIES_PELIPPER
- 0x03, // SPECIES_SURSKIT
- 0x11, // SPECIES_MASQUERAIN
- 0x19, // SPECIES_WAILMER
- 0x19, // SPECIES_WAILORD
- 0x13, // SPECIES_SKITTY
- 0x12, // SPECIES_DELCATTY
- 0x01, // SPECIES_KECLEON
- 0x13, // SPECIES_BALTOY
- 0x14, // SPECIES_CLAYDOL
- 0x0e, // SPECIES_NOSEPASS
- 0x17, // SPECIES_TORKOAL
- 0x01, // SPECIES_SABLEYE
- 0x0b, // SPECIES_BARBOACH
- 0x09, // SPECIES_WHISCASH
- 0x04, // SPECIES_LUVDISC
- 0x0f, // SPECIES_CORPHISH
- 0x15, // SPECIES_CRAWDAUNT
- 0x03, // SPECIES_FEEBAS
- 0x19, // SPECIES_MILOTIC
- 0x04, // SPECIES_CARVANHA
- 0x15, // SPECIES_SHARPEDO
- 0x13, // SPECIES_TRAPINCH
- 0x01, // SPECIES_VIBRAVA
- 0x0f, // SPECIES_FLYGON
- 0x0e, // SPECIES_MAKUHITA
- 0x0e, // SPECIES_HARIYAMA
- 0x15, // SPECIES_ELECTRIKE
- 0x09, // SPECIES_MANECTRIC
- 0x0e, // SPECIES_NUMEL
- 0x17, // SPECIES_CAMERUPT
- 0x13, // SPECIES_SPHEAL
- 0x09, // SPECIES_SEALEO
- 0x09, // SPECIES_WALREIN
- 0x0a, // SPECIES_CACNEA
- 0x08, // SPECIES_CACTURNE
- 0x0f, // SPECIES_SNORUNT
- 0x0f, // SPECIES_GLALIE
- 0x13, // SPECIES_LUNATONE
- 0x13, // SPECIES_SOLROCK
- 0x10, // SPECIES_AZURILL
- 0x10, // SPECIES_SPOINK
- 0x14, // SPECIES_GRUMPIG
- 0x12, // SPECIES_PLUSLE
- 0x12, // SPECIES_MINUN
- 0x09, // SPECIES_MAWILE
- 0x14, // SPECIES_MEDITITE
- 0x14, // SPECIES_MEDICHAM
- 0x11, // SPECIES_SWABLU
- 0x11, // SPECIES_ALTARIA
- 0x12, // SPECIES_WYNAUT
- 0x01, // SPECIES_DUSKULL
- 0x01, // SPECIES_DUSCLOPS
- 0x18, // SPECIES_ROSELIA
- 0x02, // SPECIES_SLAKOTH
- 0x10, // SPECIES_VIGOROTH
- 0x08, // SPECIES_SLAKING
- 0x0b, // SPECIES_GULPIN
- 0x0b, // SPECIES_SWALOT
- 0x0e, // SPECIES_TROPIUS
- 0x13, // SPECIES_WHISMUR
- 0x09, // SPECIES_LOUDRED
- 0x0d, // SPECIES_EXPLOUD
- 0x13, // SPECIES_CLAMPERL
- 0x11, // SPECIES_HUNTAIL
- 0x11, // SPECIES_GOREBYSS
- 0x14, // SPECIES_ABSOL
- 0x01, // SPECIES_SHUPPET
- 0x01, // SPECIES_BANETTE
- 0x0b, // SPECIES_SEVIPER
- 0x15, // SPECIES_ZANGOOSE
- 0x02, // SPECIES_RELICANTH
- 0x15, // SPECIES_ARON
- 0x09, // SPECIES_LAIRON
- 0x0e, // SPECIES_AGGRON
- 0x11, // SPECIES_CASTFORM
- 0x11, // SPECIES_VOLBEAT
- 0x11, // SPECIES_ILLUMISE
- 0x0c, // SPECIES_LILEEP
- 0x0b, // SPECIES_CRADILY
- 0x0f, // SPECIES_ANORITH
- 0x09, // SPECIES_ARMALDO
- 0x14, // SPECIES_RALTS
- 0x14, // SPECIES_KIRLIA
- 0x14, // SPECIES_GARDEVOIR
- 0x09, // SPECIES_BAGON
- 0x09, // SPECIES_SHELGON
- 0x08, // SPECIES_SALAMENCE
- 0x0f, // SPECIES_BELDUM
- 0x15, // SPECIES_METANG
- 0x09, // SPECIES_METAGROSS
- 0x09, // SPECIES_REGIROCK
- 0x09, // SPECIES_REGICE
- 0x09, // SPECIES_REGISTEEL
- 0x19, // SPECIES_KYOGRE
- 0x17, // SPECIES_GROUDON
- 0x0d, // SPECIES_RAYQUAZA
- 0x01, // SPECIES_LATIAS
- 0x01, // SPECIES_LATIOS
- 0x11, // SPECIES_JIRACHI
- 0x14, // SPECIES_DEOXYS
- 0x11, // SPECIES_CHIMECHO
+ [SPECIES_BULBASAUR] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_IVYSAUR] = BACK_ANIM_H_SLIDE,
+ [SPECIES_VENUSAUR] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_CHARMANDER] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_CHARMELEON] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_CHARIZARD] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_SQUIRTLE] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_WARTORTLE] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_BLASTOISE] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_CATERPIE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_METAPOD] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_BUTTERFREE] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_WEEDLE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_KAKUNA] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_BEEDRILL] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_PIDGEY] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_PIDGEOTTO] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_PIDGEOT] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_RATTATA] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_RATICATE] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_SPEAROW] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_FEAROW] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_EKANS] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_ARBOK] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_PIKACHU] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_RAICHU] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_SANDSHREW] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_SANDSLASH] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_NIDORAN_F] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_NIDORINA] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_NIDOQUEEN] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_NIDORAN_M] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_NIDORINO] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_NIDOKING] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_CLEFAIRY] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_CLEFABLE] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_VULPIX] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_NINETALES] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_JIGGLYPUFF] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_WIGGLYTUFF] = BACK_ANIM_GROW_1,
+ [SPECIES_ZUBAT] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_GOLBAT] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_ODDISH] = BACK_ANIM_H_SLIDE,
+ [SPECIES_GLOOM] = BACK_ANIM_H_SLIDE,
+ [SPECIES_VILEPLUME] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_PARAS] = BACK_ANIM_H_SLIDE,
+ [SPECIES_PARASECT] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_VENONAT] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_VENOMOTH] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_DIGLETT] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_DUGTRIO] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_MEOWTH] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_PERSIAN] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_PSYDUCK] = BACK_ANIM_H_SLIDE,
+ [SPECIES_GOLDUCK] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_MANKEY] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_PRIMEAPE] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_GROWLITHE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_ARCANINE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_POLIWAG] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_POLIWHIRL] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_POLIWRATH] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_ABRA] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_KADABRA] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_ALAKAZAM] = BACK_ANIM_GROW_2,
+ [SPECIES_MACHOP] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_MACHOKE] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_MACHAMP] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_BELLSPROUT] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_WEEPINBELL] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_VICTREEBEL] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_TENTACOOL] = BACK_ANIM_H_SLIDE,
+ [SPECIES_TENTACRUEL] = BACK_ANIM_H_SLIDE,
+ [SPECIES_GEODUDE] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_GRAVELER] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_GOLEM] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_PONYTA] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_RAPIDASH] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SLOWPOKE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_SLOWBRO] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_MAGNEMITE] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_MAGNETON] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_FARFETCHD] = BACK_ANIM_H_SLIDE,
+ [SPECIES_DODUO] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_DODRIO] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SEEL] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_DEWGONG] = BACK_ANIM_H_SLIDE,
+ [SPECIES_GRIMER] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_MUK] = BACK_ANIM_HORIZONTAL_STRETCH,
+ [SPECIES_SHELLDER] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_CLOYSTER] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_GASTLY] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_HAUNTER] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_GENGAR] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_ONIX] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_DROWZEE] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_HYPNO] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_KRABBY] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_KINGLER] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_VOLTORB] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_ELECTRODE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_EXEGGCUTE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_EXEGGUTOR] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_CUBONE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_MAROWAK] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_HITMONLEE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_HITMONCHAN] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_LICKITUNG] = BACK_ANIM_H_SLIDE,
+ [SPECIES_KOFFING] = BACK_ANIM_GROW_1,
+ [SPECIES_WEEZING] = BACK_ANIM_GROW_1,
+ [SPECIES_RHYHORN] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_RHYDON] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_CHANSEY] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_TANGELA] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_KANGASKHAN] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_HORSEA] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_SEADRA] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_GOLDEEN] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_SEAKING] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_STARYU] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_STARMIE] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_MR_MIME] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_SCYTHER] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_JYNX] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_ELECTABUZZ] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_MAGMAR] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_PINSIR] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_TAUROS] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_MAGIKARP] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_GYARADOS] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_LAPRAS] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_DITTO] = BACK_ANIM_SHRINK_GROW_1,
+ [SPECIES_EEVEE] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_VAPOREON] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_JOLTEON] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_FLAREON] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_PORYGON] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_OMANYTE] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_OMASTAR] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_KABUTO] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_KABUTOPS] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_AERODACTYL] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SNORLAX] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_ARTICUNO] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_ZAPDOS] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_MOLTRES] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_DRATINI] = BACK_ANIM_H_SLIDE,
+ [SPECIES_DRAGONAIR] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_DRAGONITE] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_MEWTWO] = BACK_ANIM_GROW_2,
+ [SPECIES_MEW] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_CHIKORITA] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_BAYLEEF] = BACK_ANIM_H_SLIDE,
+ [SPECIES_MEGANIUM] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_CYNDAQUIL] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_QUILAVA] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_TYPHLOSION] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_TOTODILE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_CROCONAW] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_FERALIGATR] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_SENTRET] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_FURRET] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_HOOTHOOT] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_NOCTOWL] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_LEDYBA] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_LEDIAN] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_SPINARAK] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_ARIADOS] = BACK_ANIM_H_SLIDE,
+ [SPECIES_CROBAT] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_CHINCHOU] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_LANTURN] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_PICHU] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_CLEFFA] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_IGGLYBUFF] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_TOGEPI] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_TOGETIC] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_NATU] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_XATU] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_MAREEP] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_FLAAFFY] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_AMPHAROS] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_BELLOSSOM] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_MARILL] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_AZUMARILL] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_SUDOWOODO] = BACK_ANIM_H_SLIDE,
+ [SPECIES_POLITOED] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_HOPPIP] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_SKIPLOOM] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_JUMPLUFF] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_AIPOM] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_SUNKERN] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_SUNFLORA] = BACK_ANIM_H_SLIDE,
+ [SPECIES_YANMA] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_WOOPER] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_QUAGSIRE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_ESPEON] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_UMBREON] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_MURKROW] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_SLOWKING] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_MISDREAVUS] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_UNOWN] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_WOBBUFFET] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_GIRAFARIG] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_PINECO] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_FORRETRESS] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_DUNSPARCE] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_GLIGAR] = BACK_ANIM_SHRINK_GROW_1,
+ [SPECIES_STEELIX] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_SNUBBULL] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_GRANBULL] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_QWILFISH] = BACK_ANIM_GROW_2,
+ [SPECIES_SCIZOR] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SHUCKLE] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_HERACROSS] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SNEASEL] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_TEDDIURSA] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_URSARING] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_SLUGMA] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_MAGCARGO] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_SWINUB] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_PILOSWINE] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_CORSOLA] = BACK_ANIM_H_SLIDE,
+ [SPECIES_REMORAID] = BACK_ANIM_H_SLIDE,
+ [SPECIES_OCTILLERY] = BACK_ANIM_SHRINK_GROW_1,
+ [SPECIES_DELIBIRD] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_MANTINE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_SKARMORY] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_HOUNDOUR] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_HOUNDOOM] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_KINGDRA] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_PHANPY] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_DONPHAN] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_PORYGON2] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_STANTLER] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_SMEARGLE] = BACK_ANIM_H_SLIDE,
+ [SPECIES_TYROGUE] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_HITMONTOP] = BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE,
+ [SPECIES_SMOOCHUM] = BACK_ANIM_H_SLIDE,
+ [SPECIES_ELEKID] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_MAGBY] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_MILTANK] = BACK_ANIM_H_SLIDE,
+ [SPECIES_BLISSEY] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_RAIKOU] = BACK_ANIM_FLASH_YELLOW_WITH_SHAKE,
+ [SPECIES_ENTEI] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_SUICUNE] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_LARVITAR] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_PUPITAR] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_TYRANITAR] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_LUGIA] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_HO_OH] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_CELEBI] = BACK_ANIM_FADE_GREEN_WITH_SHAKE,
+ [SPECIES_TREECKO] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_GROVYLE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SCEPTILE] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_TORCHIC] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_COMBUSKEN] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_BLAZIKEN] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_MUDKIP] = BACK_ANIM_H_SLIDE,
+ [SPECIES_MARSHTOMP] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_SWAMPERT] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_POOCHYENA] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_MIGHTYENA] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_ZIGZAGOON] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_LINOONE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_WURMPLE] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_SILCOON] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_BEAUTIFLY] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_CASCOON] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_DUSTOX] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_LOTAD] = BACK_ANIM_H_SLIDE,
+ [SPECIES_LOMBRE] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_LUDICOLO] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_SEEDOT] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_NUZLEAF] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_SHIFTRY] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_NINCADA] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_NINJASK] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_SHEDINJA] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_TAILLOW] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_SWELLOW] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SHROOMISH] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_BRELOOM] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_SPINDA] = BACK_ANIM_CIRCLE_MOVE_COUNTERCLOCKWISE,
+ [SPECIES_WINGULL] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_PELIPPER] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_SURSKIT] = BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1,
+ [SPECIES_MASQUERAIN] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_WAILMER] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_WAILORD] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_SKITTY] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_DELCATTY] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_KECLEON] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_BALTOY] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_CLAYDOL] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_NOSEPASS] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_TORKOAL] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_SABLEYE] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_BARBOACH] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_WHISCASH] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_LUVDISC] = BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2,
+ [SPECIES_CORPHISH] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_CRAWDAUNT] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_FEEBAS] = BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_1,
+ [SPECIES_MILOTIC] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_CARVANHA] = BACK_ANIM_H_SLIDE_WITH_V_COMPRESS_2,
+ [SPECIES_SHARPEDO] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_TRAPINCH] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_VIBRAVA] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_FLYGON] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_MAKUHITA] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_HARIYAMA] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_ELECTRIKE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_MANECTRIC] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_NUMEL] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_CAMERUPT] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_SPHEAL] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_SEALEO] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_WALREIN] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_CACNEA] = BACK_ANIM_V_SHAKE_WITH_H_SLIDE,
+ [SPECIES_CACTURNE] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_SNORUNT] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_GLALIE] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_LUNATONE] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_SOLROCK] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_AZURILL] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_SPOINK] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_GRUMPIG] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_PLUSLE] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_MINUN] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_MAWILE] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_MEDITITE] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_MEDICHAM] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_SWABLU] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_ALTARIA] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_WYNAUT] = BACK_ANIM_CONCAVE_UP_ARC_SWAY_LARGE,
+ [SPECIES_DUSKULL] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_DUSCLOPS] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_ROSELIA] = BACK_ANIM_FADE_GREEN_WITH_SHAKE,
+ [SPECIES_SLAKOTH] = BACK_ANIM_H_SLIDE,
+ [SPECIES_VIGOROTH] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_SMALL,
+ [SPECIES_SLAKING] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_GULPIN] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_SWALOT] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_TROPIUS] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_WHISMUR] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_LOUDRED] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_EXPLOUD] = BACK_ANIM_GROW_2,
+ [SPECIES_CLAMPERL] = BACK_ANIM_DIP_RIGHT_SIDE,
+ [SPECIES_HUNTAIL] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_GOREBYSS] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_ABSOL] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_SHUPPET] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_BANETTE] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_SEVIPER] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_ZANGOOSE] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_RELICANTH] = BACK_ANIM_H_SLIDE,
+ [SPECIES_ARON] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_LAIRON] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_AGGRON] = BACK_ANIM_V_SHAKE_WITH_PAUSE,
+ [SPECIES_CASTFORM] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_VOLBEAT] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_ILLUMISE] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_LILEEP] = BACK_ANIM_HORIZONTAL_STRETCH,
+ [SPECIES_CRADILY] = BACK_ANIM_VERTICAL_STRETCH,
+ [SPECIES_ANORITH] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_ARMALDO] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_RALTS] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_KIRLIA] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_GARDEVOIR] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_BAGON] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_SHELGON] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_SALAMENCE] = BACK_ANIM_HORIZONTAL_SHAKE,
+ [SPECIES_BELDUM] = BACK_ANIM_CIRCLE_MOVE_CLOCKWISE,
+ [SPECIES_METANG] = BACK_ANIM_JOLT_RIGHT,
+ [SPECIES_METAGROSS] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_REGIROCK] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_REGICE] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_REGISTEEL] = BACK_ANIM_VERTICAL_SHAKE,
+ [SPECIES_KYOGRE] = BACK_ANIM_FADE_BLUE_WITH_SHAKE,
+ [SPECIES_GROUDON] = BACK_ANIM_FADE_RED_WITH_SHAKE,
+ [SPECIES_RAYQUAZA] = BACK_ANIM_GROW_2,
+ [SPECIES_LATIAS] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_LATIOS] = BACK_ANIM_H_SLIDE_QUICK,
+ [SPECIES_JIRACHI] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
+ [SPECIES_DEOXYS] = BACK_ANIM_SHRINK_GROW_2,
+ [SPECIES_CHIMECHO] = BACK_ANIM_CONCAVE_DOWN_ARC_SWAY_LARGE,
};
static const u8 sUnknown_0860AA64[][2] =
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index 253ab2cb4..994cc520e 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -1,10 +1,10 @@
#include "global.h"
-#include "sprite.h"
-#include "mail.h"
#include "graphics.h"
-#include "constants/species.h"
+#include "mail.h"
#include "palette.h"
#include "pokemon_icon.h"
+#include "sprite.h"
+#include "constants/species.h"
#define POKE_ICON_BASE_PAL_TAG 56000
@@ -23,7 +23,7 @@ static u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8);
// .rodata
-const u8 * const gMonIconTable[] =
+const u8 *const gMonIconTable[] =
{
gMonIcon_Bulbasaur,
gMonIcon_Bulbasaur,
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index fe3b3e8dd..2d9a2f08f 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -1,10 +1,10 @@
#include "global.h"
-#include "pokemon_size_record.h"
#include "event_data.h"
-#include "constants/species.h"
+#include "pokemon.h"
+#include "pokemon_size_record.h"
#include "string_util.h"
#include "text.h"
-#include "pokemon.h"
+#include "constants/species.h"
#define DEFAULT_MAX_SIZE 0x8000 // was 0x8100 in Ruby/Sapphire
@@ -206,13 +206,13 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId)
if (index < 11 && ribbonId < 65)
{
gSaveBlock1Ptr->giftRibbons[index] = ribbonId;
- for (i = 0; i < 6; i++)
+ for (i = 0; i < PARTY_SIZE; i++)
{
- struct Pokemon *pkmn = &gPlayerParty[i];
+ struct Pokemon *mon = &gPlayerParty[i];
- if (GetMonData(pkmn, MON_DATA_SPECIES) != 0 && GetMonData(pkmn, MON_DATA_SANITY_BIT3) == 0)
+ if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_BIT3) == 0)
{
- SetMonData(pkmn, array[index], &data);
+ SetMonData(mon, array[index], &data);
gotRibbon = TRUE;
}
}
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 031f704a4..465b97da2 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,25 +1,25 @@
#include "global.h"
-#include "pokemon_storage_system.h"
-#include "pokemon.h"
-#include "constants/species.h"
-#include "event_data.h"
-#include "string_util.h"
-#include "text.h"
-#include "strings.h"
-#include "window.h"
-#include "menu.h"
#include "bg.h"
-#include "main.h"
-#include "palette.h"
-#include "overworld.h"
+#include "event_data.h"
#include "field_screen.h"
#include "field_weather.h"
-#include "script.h"
+#include "gpu_regs.h"
#include "international_string_util.h"
-#include "walda_phrase.h"
+#include "main.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "pokemon.h"
+#include "pokemon_storage_system.h"
+#include "script.h"
#include "sound.h"
-#include "gpu_regs.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
+#include "walda_phrase.h"
+#include "window.h"
#include "constants/songs.h"
+#include "constants/species.h"
IWRAM_DATA u8 gUnknown_03000F78[0x188];
@@ -270,7 +270,7 @@ void Task_PokemonStorageSystem(u8 taskId)
}
break;
case 2:
- task->data[2] = ProcessMenuInput();
+ task->data[2] = Menu_ProcessInput();
switch(task->data[2])
{
case -2:
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index db2a07909..f152e70a4 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "battle.h"
#include "battle_anim.h"
-#include "battle_frontier_2.h"
+#include "frontier_util.h"
#include "battle_message.h"
#include "battle_tent.h"
#include "bg.h"
@@ -45,6 +45,8 @@
#include "constants/songs.h"
#include "constants/species.h"
+extern bool8 sub_81A6BF4(void);
+
static EWRAM_DATA struct UnkSummaryStruct
{
/*0x00*/ union {
@@ -314,7 +316,7 @@ static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5};
static const struct WindowTemplate gUnknown_0861CC24[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 11,
@@ -323,7 +325,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 1,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 11,
@@ -332,7 +334,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 23,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 11,
@@ -341,7 +343,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 45,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 11,
@@ -350,7 +352,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 67,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 0,
.width = 8,
@@ -359,7 +361,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 89,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 0,
.width = 8,
@@ -368,7 +370,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 105,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 0,
.width = 8,
@@ -377,7 +379,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 121,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 4,
.width = 0,
@@ -386,7 +388,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 137,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 4,
.width = 18,
@@ -395,7 +397,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 137,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 6,
.width = 18,
@@ -404,7 +406,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 173,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 10,
.tilemapTop = 7,
.width = 6,
@@ -413,7 +415,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 209,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 7,
.width = 5,
@@ -422,7 +424,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 245,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 10,
.tilemapTop = 14,
.width = 11,
@@ -431,7 +433,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 275,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 18,
.width = 6,
@@ -440,7 +442,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 319,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 15,
.width = 9,
@@ -449,7 +451,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 331,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 15,
.width = 5,
@@ -458,7 +460,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 367,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 4,
.width = 0,
@@ -467,7 +469,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 387,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 2,
.width = 4,
@@ -476,7 +478,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 387,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 12,
.width = 9,
@@ -485,7 +487,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
.baseBlock = 395,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 14,
.width = 9,
@@ -498,7 +500,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] =
static const struct WindowTemplate gUnknown_0861CCCC[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 4,
.width = 11,
@@ -507,7 +509,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.baseBlock = 449,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 22,
.tilemapTop = 4,
.width = 7,
@@ -516,7 +518,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.baseBlock = 471,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 9,
.width = 18,
@@ -525,7 +527,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
.baseBlock = 485,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 11,
.tilemapTop = 14,
.width = 18,
@@ -537,7 +539,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] =
static const struct WindowTemplate gUnknown_0861CCEC[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 10,
.tilemapTop = 4,
.width = 10,
@@ -546,7 +548,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.baseBlock = 449,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 20,
.tilemapTop = 4,
.width = 10,
@@ -555,7 +557,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.baseBlock = 469,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 16,
.tilemapTop = 7,
.width = 6,
@@ -564,7 +566,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.baseBlock = 489,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 27,
.tilemapTop = 7,
.width = 3,
@@ -573,7 +575,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
.baseBlock = 525,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 24,
.tilemapTop = 14,
.width = 6,
@@ -585,7 +587,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] =
static const struct WindowTemplate gUnknown_0861CD14[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 15,
.tilemapTop = 4,
.width = 9,
@@ -594,7 +596,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] =
.baseBlock = 449,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 24,
.tilemapTop = 4,
.width = 6,
@@ -603,7 +605,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] =
.baseBlock = 539,
},
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 10,
.tilemapTop = 15,
.width = 20,
@@ -1227,28 +1229,28 @@ static bool8 SummaryScreen_DecompressGraphics(void)
case 1:
if (free_temp_tile_data_buffers_if_possible() != 1)
{
- LZDecompressWram(&gUnknown_08D9862C, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]);
+ LZDecompressWram(gUnknown_08D9862C, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]);
pssData->unk40F0++;
}
break;
case 2:
- LZDecompressWram(&gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]);
+ LZDecompressWram(gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]);
pssData->unk40F0++;
break;
case 3:
- LZDecompressWram(&gUnknown_08D987FC, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]);
+ LZDecompressWram(gUnknown_08D987FC, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]);
pssData->unk40F0++;
break;
case 4:
- LZDecompressWram(&gUnknown_08D9898C, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]);
+ LZDecompressWram(gUnknown_08D9898C, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]);
pssData->unk40F0++;
break;
case 5:
- LZDecompressWram(&gUnknown_08D98B28, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]);
+ LZDecompressWram(gUnknown_08D98B28, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]);
pssData->unk40F0++;
break;
case 6:
- LoadCompressedPalette(&gUnknown_08D9853C, 0, 0x100);
+ LoadCompressedPalette(gUnknown_08D9853C, 0, 0x100);
LoadPalette(&gUnknown_08D85620, 0x81, 0x1E);
pssData->unk40F0++;
break;
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
new file mode 100644
index 000000000..934972b7c
--- /dev/null
+++ b/src/post_battle_event_funcs.c
@@ -0,0 +1,93 @@
+#include "global.h"
+#include "main.h"
+#include "credits.h"
+#include "event_data.h"
+#include "hall_of_fame.h"
+#include "load_save.h"
+#include "overworld.h"
+#include "script_pokemon_util_80F87D8.h"
+#include "tv.h"
+#include "constants/heal_locations.h"
+#include "constants/flags.h"
+
+int GameClear(void)
+{
+ int i;
+ bool32 ribbonGet;
+ struct RibbonCounter {
+ u8 partyIndex;
+ u8 count;
+ } ribbonCounts[6];
+
+ HealPlayerParty();
+
+ if (FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE)
+ {
+ gHasHallOfFameRecords = TRUE;
+ }
+ else
+ {
+ gHasHallOfFameRecords = FALSE;
+ FlagSet(FLAG_SYS_GAME_CLEAR);
+ }
+
+ if (GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME) == 0)
+ SetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME, (gSaveBlock2Ptr->playTimeHours << 16) | (gSaveBlock2Ptr->playTimeMinutes << 8) | gSaveBlock2Ptr->playTimeSeconds);
+
+ SetSecretBase2Field_9();
+
+ if (gSaveBlock2Ptr->playerGender == MALE)
+ sub_8084F6C(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F);
+ else
+ sub_8084F6C(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F);
+
+ ribbonGet = FALSE;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ struct Pokemon *mon = &gPlayerParty[i];
+
+ ribbonCounts[i].partyIndex = i;
+ ribbonCounts[i].count = 0;
+
+ if (GetMonData(mon, MON_DATA_SANITY_BIT2)
+ && !GetMonData(mon, MON_DATA_SANITY_BIT3)
+ && !GetMonData(mon, MON_DATA_CHAMPION_RIBBON))
+ {
+ u8 val[1] = {TRUE};
+ SetMonData(mon, MON_DATA_CHAMPION_RIBBON, val);
+ ribbonCounts[i].count = GetRibbonCount(mon);
+ ribbonGet = TRUE;
+ }
+ }
+
+ if (ribbonGet == TRUE)
+ {
+ IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS);
+ FlagSet(FLAG_SYS_RIBBON_GET);
+
+ for (i = 1; i < 6; i++)
+ {
+ if (ribbonCounts[i].count > ribbonCounts[0].count)
+ {
+ struct RibbonCounter prevBest = ribbonCounts[0];
+ ribbonCounts[0] = ribbonCounts[i];
+ ribbonCounts[i] = prevBest;
+ }
+ }
+
+ if (ribbonCounts[0].count > 4)
+ {
+ sub_80EE4DC(&gPlayerParty[ribbonCounts[0].partyIndex], MON_DATA_CHAMPION_RIBBON);
+ }
+ }
+
+ SetMainCallback2(CB2_DoHallOfFameScreen);
+ return 0;
+}
+
+bool8 sp0C8_whiteout_maybe(void)
+{
+ SetMainCallback2(CB2_WhiteOut);
+ return FALSE;
+}
diff --git a/src/psychic.c b/src/psychic.c
new file mode 100644
index 000000000..efd15f746
--- /dev/null
+++ b/src/psychic.c
@@ -0,0 +1,405 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.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 *);
+
+const union AffineAnimCmd gUnknown_0859652C[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, -10, 120),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596544[] =
+{
+ gUnknown_0859652C,
+};
+
+const struct SpriteTemplate gUnknown_08596548 =
+{
+ .tileTag = ANIM_TAG_SPIRAL,
+ .paletteTag = ANIM_TAG_SPIRAL,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596544,
+ .callback = sub_80A77C8,
+};
+
+const struct SpriteTemplate gUnknown_08596560 =
+{
+ .tileTag = ANIM_TAG_GREEN_LIGHT_WALL,
+ .paletteTag = ANIM_TAG_GREEN_LIGHT_WALL,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F1EC,
+};
+
+const struct SpriteTemplate gUnknown_08596578 =
+{
+ .tileTag = ANIM_TAG_BLUE_LIGHT_WALL,
+ .paletteTag = ANIM_TAG_BLUE_LIGHT_WALL,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F1EC,
+};
+
+const struct SpriteTemplate gUnknown_08596590 =
+{
+ .tileTag = ANIM_TAG_RED_LIGHT_WALL,
+ .paletteTag = ANIM_TAG_RED_LIGHT_WALL,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F1EC,
+};
+
+const struct SpriteTemplate gUnknown_085965A8 =
+{
+ .tileTag = ANIM_TAG_GRAY_LIGHT_WALL,
+ .paletteTag = ANIM_TAG_GRAY_LIGHT_WALL,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F1EC,
+};
+
+const struct SpriteTemplate gUnknown_085965C0 =
+{
+ .tileTag = ANIM_TAG_ORANGE_LIGHT_WALL,
+ .paletteTag = ANIM_TAG_ORANGE_LIGHT_WALL,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F1EC,
+};
+
+const union AnimCmd gUnknown_085965D8[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085965F0[] =
+{
+ gUnknown_085965D8,
+};
+
+const struct SpriteTemplate gUnknown_085965F4 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_4,
+ .paletteTag = ANIM_TAG_SPARKLE_4,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085965F0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F58C,
+};
+
+const union AnimCmd gUnknown_0859660C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596620[] =
+{
+ gUnknown_0859660C,
+};
+
+const struct SpriteTemplate gUnknown_08596624 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_3,
+ .paletteTag = ANIM_TAG_SPARKLE_3,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08596620,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F58C,
+};
+
+const struct SpriteTemplate gUnknown_0859663C =
+{
+ .tileTag = ANIM_TAG_GOLD_RING,
+ .paletteTag = ANIM_TAG_GOLD_RING,
+ .oam = &gUnknown_08524954,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const union AnimCmd gUnknown_08596654[] =
+{
+ ANIMCMD_FRAME(8, 60, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 22, .hFlip = TRUE),
+ ANIMCMD_LOOP(0),
+ ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 5, .hFlip = TRUE),
+ ANIMCMD_LOOP(1),
+ ANIMCMD_FRAME(8, 22, .hFlip = TRUE),
+ ANIMCMD_FRAME(24, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(40, 22, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596694[] =
+{
+ ANIMCMD_FRAME(8, 60),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(8, 22),
+ ANIMCMD_LOOP(0),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_LOOP(1),
+ ANIMCMD_FRAME(8, 22),
+ ANIMCMD_FRAME(24, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(40, 22),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085966D4[] =
+{
+ gUnknown_08596654,
+ gUnknown_08596694,
+};
+
+const struct SpriteTemplate gUnknown_085966DC =
+{
+ .tileTag = ANIM_TAG_BENT_SPOON,
+ .paletteTag = ANIM_TAG_BENT_SPOON,
+ .oam = &gUnknown_08524954,
+ .anims = gUnknown_085966D4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F634,
+};
+
+const union AnimCmd gUnknown_085966F4[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 6),
+ ANIMCMD_FRAME(80, 6),
+ ANIMCMD_FRAME(96, 18),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596714[] =
+{
+ gUnknown_085966F4,
+};
+
+const union AffineAnimCmd gUnknown_08596718[] =
+{
+ AFFINEANIMCMD_FRAME(0, 0, 4, 4),
+ AFFINEANIMCMD_FRAME(0, 0, -4, 8),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 4),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596740[] =
+{
+ gUnknown_08596718,
+};
+
+const struct SpriteTemplate gUnknown_08596744 =
+{
+ .tileTag = ANIM_TAG_AMNESIA,
+ .paletteTag = ANIM_TAG_AMNESIA,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596714,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810F6B0,
+};
+
+const union AffineAnimCmd gUnknown_0859675C[] =
+{
+ AFFINEANIMCMD_FRAME(-8, 10, 0, 16),
+ AFFINEANIMCMD_FRAME(18, -18, 0, 16),
+ AFFINEANIMCMD_FRAME(-20, 16, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859677C[] =
+{
+ AFFINEANIMCMD_FRAME(64, -4, 0, 20),
+ AFFINEANIMCMD_FRAME(0, 0, 0, -56),
+ AFFINEANIMCMD_END,
+};
+
+const struct SpriteTemplate gUnknown_08596794 =
+{
+ .tileTag = ANIM_TAG_HOLLOW_ORB,
+ .paletteTag = ANIM_TAG_HOLLOW_ORB,
+ .oam = &gUnknown_08524A2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteTemplate gUnknown_085967AC =
+{
+ .tileTag = 10250,
+ .paletteTag = 10250,
+ .oam = &gUnknown_0852491C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810FBA8,
+};
+
+const union AffineAnimCmd gUnknown_085967C4[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gUnknown_085967DC[] =
+{
+ AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gUnknown_08596804[] =
+{
+ AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gUnknown_0859682C[] =
+{
+ AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08596854[] =
+{
+ gUnknown_085967C4,
+ gUnknown_085967DC,
+ gUnknown_08596804,
+ gUnknown_0859682C,
+};
+
+const struct SpriteTemplate gUnknown_08596864 =
+{
+ .tileTag = ANIM_TAG_BLUEGREEN_ORB,
+ .paletteTag = ANIM_TAG_BLUEGREEN_ORB,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596854,
+ .callback = sub_810FDF0,
+};
+
+const union AffineAnimCmd gUnknown_0859687C[] =
+{
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120),
+ AFFINEANIMCMD_END_ALT(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08596894[] =
+{
+ gUnknown_0859687C,
+};
+
+const struct SpriteTemplate gUnknown_08596898 =
+{
+ .tileTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_WHITE_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596894,
+ .callback = sub_80A77C8,
+};
+
+const union AffineAnimCmd gUnknown_085968B0[] =
+{
+ AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10),
+ AFFINEANIMCMD_LOOP(4),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 5),
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 5),
+ AFFINEANIMCMD_LOOP(7),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08596908[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFEC, 0x18, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08596918[] =
+{
+ gUnknown_085968B0,
+ gUnknown_08596908,
+};
+
+const struct SpriteTemplate gUnknown_08596920 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524AFC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08596918,
+ .callback = sub_8110240,
+};
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 4c3c3d03c..df4a1a720 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -33,31 +33,17 @@
#include "new_game.h"
#include "daycare.h"
#include "international_string_util.h"
+#include "constants/battle_frontier.h"
extern void ReceiveSecretBasesData(struct SecretBaseRecord *, size_t, u8);
extern void ReceiveEasyChatPairsData(struct EasyChatPair *, size_t, u8);
// Static type declarations
-struct UnknownRecMixingStruct
+struct RecordMixingHallRecords
{
- u32 field_0;
- u16 field_4;
- u8 field_6[9];
-};
-
-struct UnknownRecMixingStruct2
-{
- u32 field_0;
- u16 field_4;
- u16 field_6;
- u16 field_8;
- u8 field_A[16];
-};
-
-struct UnknownRecMixingStruct3
-{
- u8 field_0[0x810];
+ struct RankingHall1P hallRecords1P[HALL_FACILITIES_COUNT][2][6];
+ struct RankingHall2P hallRecords2P[2][6];
};
struct PlayerRecordsRS
@@ -69,6 +55,7 @@ struct PlayerRecordsRS
struct EasyChatPair easyChatPairs[5];
struct RecordMixingDayCareMail dayCareMail;
struct RSBattleTowerRecord battleTowerRecord;
+ u16 giftItem;
u16 filler11C8[0x32];
};
@@ -81,10 +68,10 @@ struct PlayerRecordsEmerald
/* 0x1084 */ struct EasyChatPair easyChatPairs[5];
/* 0x10ac */ struct RecordMixingDayCareMail dayCareMail;
/* 0x1124 */ struct EmeraldBattleTowerRecord battleTowerRecord;
- /* 0x1210 */ u16 unk_1210;
+ /* 0x1210 */ u16 giftItem;
/* 0x1214 */ LilycoveLady lilycoveLady;
/* 0x1254 */ struct Apprentice apprentice[2];
- /* 0x12dc */ struct UnkRecordMixingStruct2 unk_12dc;
+ /* 0x12dc */ struct PlayerHallRecords hallRecords;
/* 0x1434 */ u8 field_1434[0x10];
}; // 0x1444
@@ -105,12 +92,12 @@ static IWRAM_DATA struct EasyChatPair *sEasyChatPairsSave;
static IWRAM_DATA struct RecordMixingDayCareMail *gUnknown_03001148;
static IWRAM_DATA void *sBattleTowerSave;
static IWRAM_DATA LilycoveLady *sLilycoveLadySave;
-static IWRAM_DATA void *gUnknown_03001154; // gSaveBlock2Ptr->field_0DC;
+static IWRAM_DATA void *sApprenticesSave;
static IWRAM_DATA void *sBattleTowerSave_Duplicate;
static IWRAM_DATA u32 sRecordStructSize;
static IWRAM_DATA u8 gUnknown_03001160;
static IWRAM_DATA u32 filler_03001164;
-static IWRAM_DATA u32 gUnknown_03001168[3];
+static IWRAM_DATA struct PlayerHallRecords *gUnknown_03001168[3];
static EWRAM_DATA struct RecordMixingDayCareMail gUnknown_02039F9C = {0};
static EWRAM_DATA union PlayerRecords *sReceivedRecords = NULL;
@@ -132,11 +119,11 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t, u8);
static void ReceiveLilycoveLadyData(LilycoveLady *, size_t, u8);
static void sub_80E7B2C(const u8 *);
static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *, size_t, u8, TVShow *);
-static void sub_80E7F68(u16 *item, u8 which);
+static void ReceiveGiftItem(u16 *item, u8 which);
static void sub_80E7FF8(u8 taskId);
static void sub_80E8110(struct Apprentice *arg0, struct Apprentice *arg1);
static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2);
-static void sub_80E89AC(struct UnkRecordMixingStruct2 *arg0, size_t arg1, u32 arg2);
+static void ReceiveRankingHallRecords(struct PlayerHallRecords *hallRecords, size_t arg1, u32 arg2);
static void sub_80E89F8(struct RecordMixingDayCareMail *dst);
static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src);
static void SanitizeEmeraldBattleTowerRecord(struct EmeraldBattleTowerRecord *arg0);
@@ -197,10 +184,10 @@ static void SetSrcLookupPointers(void)
sOldManSave = &gSaveBlock1Ptr->oldMan;
sEasyChatPairsSave = gSaveBlock1Ptr->easyChatPairs;
gUnknown_03001148 = &gUnknown_02039F9C;
- sBattleTowerSave = &gSaveBlock2Ptr->frontier.battleTower;
+ sBattleTowerSave = &gSaveBlock2Ptr->frontier.towerPlayer;
sLilycoveLadySave = &gSaveBlock1Ptr->lilycoveLady;
- gUnknown_03001154 = gSaveBlock2Ptr->apprentices;
- sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->frontier.battleTower;
+ sApprenticesSave = gSaveBlock2Ptr->apprentices;
+ sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->frontier.towerPlayer;
}
static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest)
@@ -212,10 +199,10 @@ static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest)
memcpy(&dest->oldMan, sOldManSave, sizeof(dest->oldMan));
memcpy(dest->easyChatPairs, sEasyChatPairsSave, sizeof(dest->easyChatPairs));
sub_80E89F8(&dest->dayCareMail);
- sub_81659DC(sBattleTowerSave, &dest->battleTowerRecord);
+ EmeraldBattleTowerRecordToRuby(sBattleTowerSave, &dest->battleTowerRecord);
if (GetMultiplayerId() == 0)
- dest->battleTowerRecord.unk_11c8 = GetRecordMixingGift();
+ dest->giftItem = GetRecordMixingGift();
}
static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest)
@@ -230,11 +217,11 @@ static void PrepareExchangePacketForRubySapphire(struct PlayerRecordsRS *dest)
memcpy(dest->easyChatPairs, sEasyChatPairsSave, sizeof(dest->easyChatPairs));
sub_80E89F8(&dest->dayCareMail);
SanitizeDayCareMailForRuby(&dest->dayCareMail);
- sub_81659DC(sBattleTowerSave, &dest->battleTowerRecord);
+ EmeraldBattleTowerRecordToRuby(sBattleTowerSave, &dest->battleTowerRecord);
SanitizeRubyBattleTowerRecord(&dest->battleTowerRecord);
if (GetMultiplayerId() == 0)
- dest->battleTowerRecord.unk_11c8 = GetRecordMixingGift();
+ dest->giftItem = GetRecordMixingGift();
}
static void PrepareExchangePacket(void)
@@ -263,10 +250,10 @@ static void PrepareExchangePacket(void)
SanitizeEmeraldBattleTowerRecord(&sSentRecord->emerald.battleTowerRecord);
if (GetMultiplayerId() == 0)
- sSentRecord->emerald.unk_1210 = GetRecordMixingGift();
+ sSentRecord->emerald.giftItem = GetRecordMixingGift();
- sub_80E8110(sSentRecord->emerald.apprentice, gUnknown_03001154);
- sub_80E8260(&sSentRecord->emerald.unk_12dc);
+ sub_80E8110(sSentRecord->emerald.apprentice, sApprenticesSave);
+ GetPlayerHallRecords(&sSentRecord->emerald.hallRecords);
}
}
@@ -283,7 +270,7 @@ static void ReceiveExchangePacket(u32 which)
ReceivePokeNewsData(sReceivedRecords->ruby.pokeNews, sizeof(struct PlayerRecordsRS), which);
ReceiveOldManData(&sReceivedRecords->ruby.oldMan, sizeof(struct PlayerRecordsRS), which);
ReceiveEasyChatPairsData(sReceivedRecords->ruby.easyChatPairs, sizeof(struct PlayerRecordsRS), which);
- sub_80E7F68(&sReceivedRecords->ruby.battleTowerRecord.unk_11c8, which);
+ ReceiveGiftItem(&sReceivedRecords->ruby.giftItem, which);
}
else
{
@@ -296,10 +283,10 @@ static void ReceiveExchangePacket(u32 which)
ReceiveEasyChatPairsData(sReceivedRecords->emerald.easyChatPairs, sizeof(struct PlayerRecordsEmerald), which);
ReceiveDaycareMailData(&sReceivedRecords->emerald.dayCareMail, sizeof(struct PlayerRecordsEmerald), which, sReceivedRecords->emerald.tvShows);
ReceiveBattleTowerData(&sReceivedRecords->emerald.battleTowerRecord, sizeof(struct PlayerRecordsEmerald), which);
- sub_80E7F68(&sReceivedRecords->emerald.unk_1210, which);
+ ReceiveGiftItem(&sReceivedRecords->emerald.giftItem, which);
ReceiveLilycoveLadyData(&sReceivedRecords->emerald.lilycoveLady, sizeof(struct PlayerRecordsEmerald), which);
ReceiveApprenticeData(sReceivedRecords->emerald.apprentice, sizeof(struct PlayerRecordsEmerald), (u8) which);
- sub_80E89AC(&sReceivedRecords->emerald.unk_12dc, sizeof(struct PlayerRecordsEmerald), (u8) which);
+ ReceiveRankingHallRecords(&sReceivedRecords->emerald.hallRecords, sizeof(struct PlayerRecordsEmerald), (u8) which);
}
}
@@ -667,7 +654,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u
ShufflePlayerIndices(mixIndices);
if (Link_AnyPartnersPlayingRubyOrSapphire())
{
- if (sub_816587C((void *)battleTowerRecord + recordSize * mixIndices[which], (void *)battleTowerRecord + recordSize * which) == TRUE)
+ if (RubyBattleTowerRecordToEmerald((void *)battleTowerRecord + recordSize * mixIndices[which], (void *)battleTowerRecord + recordSize * which) == TRUE)
{
dest = (void *)battleTowerRecord + recordSize * which;
dest->language = gLinkPlayers[mixIndices[which]].language;
@@ -676,7 +663,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u
}
else
{
- memcpy((void *)battleTowerRecord + recordSize * which, (void *)battleTowerRecord + recordSize * mixIndices[which], sizeof(union BattleTowerRecord));
+ memcpy((void *)battleTowerRecord + recordSize * which, (void *)battleTowerRecord + recordSize * mixIndices[which], sizeof(struct EmeraldBattleTowerRecord));
dest = (void *)battleTowerRecord + recordSize * which;
for (i = 0; i < 4; i ++)
{
@@ -686,7 +673,7 @@ static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u
}
CalcEmeraldBattleTowerChecksum(dest);
}
- sub_81628A0((void *)battleTowerRecord + recordSize * which);
+ PutNewBattleTowerRecord((void *)battleTowerRecord + recordSize * which);
}
static void ReceiveLilycoveLadyData(LilycoveLady *lilycoveLady, size_t recordSize, u8 which)
@@ -1460,7 +1447,7 @@ static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t r
}
#endif // NONMATCHING
-static void sub_80E7F68(u16 *item, u8 which)
+static void ReceiveGiftItem(u16 *item, u8 which)
{
if (which != 0 && *item != ITEM_NONE && GetPocketByItemId(*item) == POCKET_KEY_ITEMS)
{
@@ -1570,12 +1557,12 @@ static void sub_80E8110(struct Apprentice *dst, struct Apprentice *src)
id = ((i + gSaveBlock2Ptr->playerApprentice.field_B2_1) % 3) + 1;
if (src[id].playerName[0] != EOS)
{
- if (ReadUnalignedWord(src[id].playerId) != ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId))
+ if (GetTrainerId(src[id].playerId) != GetTrainerId(gSaveBlock2Ptr->playerTrainerId))
{
r8++;
var_2C = id;
}
- if (ReadUnalignedWord(src[id].playerId) == ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId))
+ if (GetTrainerId(src[id].playerId) == GetTrainerId(gSaveBlock2Ptr->playerTrainerId))
{
var_24++;
var_28 = id;
@@ -1607,42 +1594,42 @@ static void sub_80E8110(struct Apprentice *dst, struct Apprentice *src)
}
}
-void sub_80E8260(struct UnkRecordMixingStruct2 *dst)
+void GetPlayerHallRecords(struct PlayerHallRecords *dst)
{
s32 i, j;
- for (i = 0; i < 9; i++)
+ for (i = 0; i < HALL_FACILITIES_COUNT; i++)
{
for (j = 0; j < 2; j++)
{
- CopyUnalignedWord(dst->field_0[i][j].playerId, gSaveBlock2Ptr->playerTrainerId);
- dst->field_0[i][j].language = GAME_LANGUAGE;
- StringCopy(dst->field_0[i][j].playerName, gSaveBlock2Ptr->playerName);
+ CopyTrainerId(dst->onePlayer[i][j].id, gSaveBlock2Ptr->playerTrainerId);
+ dst->onePlayer[i][j].language = GAME_LANGUAGE;
+ StringCopy(dst->onePlayer[i][j].name, gSaveBlock2Ptr->playerName);
}
}
for (j = 0; j < 2; j++)
{
- dst->field_120[j].language = GAME_LANGUAGE;
- CopyUnalignedWord(dst->field_120[j].playerId1, gSaveBlock2Ptr->playerTrainerId);
- CopyUnalignedWord(dst->field_120[j].playerId2, gSaveBlock2Ptr->frontier.field_EF1[j]);
- StringCopy(dst->field_120[j].playerName1, gSaveBlock2Ptr->playerName);
- StringCopy(dst->field_120[j].playerName2, gSaveBlock2Ptr->frontier.field_EE1[j]);
+ dst->twoPlayers[j].language = GAME_LANGUAGE;
+ CopyTrainerId(dst->twoPlayers[j].id1, gSaveBlock2Ptr->playerTrainerId);
+ CopyTrainerId(dst->twoPlayers[j].id2, gSaveBlock2Ptr->frontier.field_EF1[j]);
+ StringCopy(dst->twoPlayers[j].name1, gSaveBlock2Ptr->playerName);
+ StringCopy(dst->twoPlayers[j].name2, gSaveBlock2Ptr->frontier.field_EE1[j]);
}
for (i = 0; i < 2; i++)
{
- dst->field_0[0][i].field_4 = gSaveBlock2Ptr->frontier.field_CF0[i];
- dst->field_0[1][i].field_4 = gSaveBlock2Ptr->frontier.field_CF4[i];
- dst->field_0[2][i].field_4 = gSaveBlock2Ptr->frontier.field_CF8[i];
- dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[0][i];
- dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[0][i];
- dst->field_0[5][i].field_4 = gSaveBlock2Ptr->frontier.field_DDE[i];
- dst->field_0[6][i].field_4 = gSaveBlock2Ptr->frontier.field_DEA[i];
- dst->field_0[7][i].field_4 = gSaveBlock2Ptr->frontier.field_E08[i];
- dst->field_0[8][i].field_4 = gSaveBlock2Ptr->frontier.field_E1E[i];
-
- dst->field_120[i].field_8 = gSaveBlock2Ptr->frontier.field_CFC[i];
+ dst->onePlayer[0][i].winStreak = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[FRONTIER_MODE_SINGLES][i];
+ dst->onePlayer[1][i].winStreak = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[FRONTIER_MODE_DOUBLES][i];
+ dst->onePlayer[2][i].winStreak = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[FRONTIER_MODE_MULTIS][i];
+ dst->onePlayer[3][i].winStreak = gSaveBlock2Ptr->frontier.domeRecordWinStreaks[FRONTIER_MODE_SINGLES][i];
+ dst->onePlayer[4][i].winStreak = gSaveBlock2Ptr->frontier.palaceRecordWinStreaks[FRONTIER_MODE_SINGLES][i];
+ dst->onePlayer[5][i].winStreak = gSaveBlock2Ptr->frontier.arenaRecordStreaks[i];
+ dst->onePlayer[6][i].winStreak = gSaveBlock2Ptr->frontier.factoryRecordWinStreaks[FRONTIER_MODE_SINGLES][i];
+ dst->onePlayer[7][i].winStreak = gSaveBlock2Ptr->frontier.pikeRecordStreaks[i];
+ dst->onePlayer[8][i].winStreak = gSaveBlock2Ptr->frontier.pyramidRecordStreaks[i];
+
+ dst->twoPlayers[i].winStreak = gSaveBlock2Ptr->frontier.towerRecordWinStreaks[FRONTIER_MODE_LINK_MULTIS][i];
}
}
@@ -1652,7 +1639,7 @@ static bool32 sub_80E841C(struct Apprentice *arg0, struct Apprentice *arg1)
for (i = 0; i < 4; i++)
{
- if (ReadUnalignedWord(arg0->playerId) == ReadUnalignedWord(arg1[i].playerId)
+ if (GetTrainerId(arg0->playerId) == GetTrainerId(arg1[i].playerId)
&& arg0->number == arg1[i].number)
{
return TRUE;
@@ -1700,538 +1687,144 @@ static void ReceiveApprenticeData(struct Apprentice *arg0, size_t arg1, u32 arg2
}
}
-NAKED
-static void sub_80E8578(struct UnknownRecMixingStruct3 *arg0, struct UnkRecordMixingStruct2 *arg1, size_t arg2, u32 arg3, u32 arg4)
+static void sub_80E8578(struct RecordMixingHallRecords *dst, void *hallRecords, size_t recordSize, u32 arg3, s32 linkPlayerCount)
{
- 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, 0x54\n\
- str r0, [sp]\n\
- ldr r0, [sp, 0x74]\n\
- movs r4, 0\n\
- mov r8, r4\n\
- movs r5, 0\n\
- str r5, [sp, 0x4]\n\
- ldr r4, =gUnknown_03001168\n\
- b _080E85A0\n\
- .pool\n\
-_080E8598:\n\
- adds r1, r2\n\
- ldr r6, [sp, 0x4]\n\
- adds r6, 0x1\n\
- str r6, [sp, 0x4]\n\
-_080E85A0:\n\
- ldr r5, [sp, 0x4]\n\
- cmp r5, r0\n\
- bge _080E85B6\n\
- cmp r5, r3\n\
- beq _080E85B0\n\
- stm r4!, {r1}\n\
- movs r6, 0x1\n\
- add r8, r6\n\
-_080E85B0:\n\
- mov r5, r8\n\
- cmp r5, 0x3\n\
- bne _080E8598\n\
-_080E85B6:\n\
- movs r6, 0\n\
- str r6, [sp, 0x4]\n\
- subs r0, 0x1\n\
- str r0, [sp, 0x24]\n\
-_080E85BE:\n\
- movs r0, 0\n\
- str r0, [sp, 0x8]\n\
- ldr r1, [sp, 0x4]\n\
- adds r1, 0x1\n\
- str r1, [sp, 0x28]\n\
- ldr r2, [sp, 0x4]\n\
- lsls r2, 1\n\
- str r2, [sp, 0x34]\n\
- ldr r3, [sp, 0x4]\n\
- adds r3, r2, r3\n\
- str r3, [sp, 0x10]\n\
- movs r4, 0\n\
- str r4, [sp, 0x44]\n\
- movs r5, 0\n\
- str r5, [sp, 0x48]\n\
-_080E85DC:\n\
- movs r6, 0\n\
- mov r8, r6\n\
- ldr r0, =gSaveBlock2Ptr\n\
- ldr r1, [r0]\n\
- ldr r2, [sp, 0x10]\n\
- lsls r0, r2, 5\n\
- ldr r3, [sp, 0x48]\n\
- adds r0, r3, r0\n\
- adds r3, r0, r1\n\
- lsls r0, r2, 6\n\
- ldr r4, [sp, 0x44]\n\
- adds r0, r4, r0\n\
- ldr r5, [sp]\n\
- adds r2, r0, r5\n\
-_080E85F8:\n\
- adds r0, r2, 0\n\
- movs r6, 0x87\n\
- lsls r6, 2\n\
- adds r1, r3, r6\n\
- ldm r1!, {r4-r6}\n\
- stm r0!, {r4-r6}\n\
- ldr r1, [r1]\n\
- str r1, [r0]\n\
- adds r3, 0x10\n\
- adds r2, 0x10\n\
- movs r0, 0x1\n\
- add r8, r0\n\
- mov r1, r8\n\
- cmp r1, 0x2\n\
- ble _080E85F8\n\
- movs r2, 0\n\
- mov r8, r2\n\
- ldr r3, [sp, 0x24]\n\
- cmp r8, r3\n\
- bge _080E86DC\n\
- ldr r4, [sp, 0x4]\n\
- lsls r4, 5\n\
- mov r9, r4\n\
- ldr r5, [sp, 0x8]\n\
- lsls r7, r5, 4\n\
- ldr r6, [sp, 0x34]\n\
- ldr r1, [sp, 0x4]\n\
- adds r0, r6, r1\n\
- lsls r0, 6\n\
- str r0, [sp, 0x14]\n\
- ldr r2, [sp]\n\
- adds r0, r2, r0\n\
- ldr r3, [sp, 0x44]\n\
- str r3, [sp, 0x18]\n\
- adds r0, r3\n\
- str r0, [sp, 0x1C]\n\
- ldr r4, [sp, 0x14]\n\
- adds r0, r3, r4\n\
- adds r0, r2\n\
- adds r0, 0x30\n\
- mov r10, r0\n\
-_080E864A:\n\
- movs r5, 0\n\
- str r5, [sp, 0xC]\n\
- movs r3, 0\n\
- mov r6, r8\n\
- lsls r6, 2\n\
- str r6, [sp, 0x38]\n\
- ldr r1, [sp, 0x18]\n\
- ldr r2, [sp, 0x14]\n\
- adds r0, r1, r2\n\
- ldr r4, [sp]\n\
- adds r5, r0, r4\n\
- ldr r0, =gUnknown_03001168\n\
- adds r0, r6, r0\n\
- str r0, [sp, 0x50]\n\
-_080E8666:\n\
- lsls r0, r3, 4\n\
- ldr r6, [sp, 0x1C]\n\
- adds r0, r6, r0\n\
- str r3, [sp, 0x4C]\n\
- bl ReadUnalignedWord\n\
- adds r4, r0, 0\n\
- ldr r1, [sp, 0x50]\n\
- ldr r0, [r1]\n\
- add r0, r9\n\
- adds r0, r7\n\
- bl ReadUnalignedWord\n\
- ldr r3, [sp, 0x4C]\n\
- cmp r4, r0\n\
- bne _080E86A8\n\
- ldr r2, [sp, 0xC]\n\
- adds r2, 0x1\n\
- str r2, [sp, 0xC]\n\
- ldr r4, [sp, 0x50]\n\
- ldr r0, [r4]\n\
- mov r6, r9\n\
- adds r1, r7, r6\n\
- adds r1, r0, r1\n\
- ldrh r0, [r5, 0x4]\n\
- ldrh r2, [r1, 0x4]\n\
- cmp r0, r2\n\
- bcs _080E86A8\n\
- adds r0, r5, 0\n\
- ldm r1!, {r2,r4,r6}\n\
- stm r0!, {r2,r4,r6}\n\
- ldr r1, [r1]\n\
- str r1, [r0]\n\
-_080E86A8:\n\
- adds r5, 0x10\n\
- adds r3, 0x1\n\
- cmp r3, 0x2\n\
- ble _080E8666\n\
- ldr r3, [sp, 0xC]\n\
- cmp r3, 0\n\
- bne _080E86CE\n\
- ldr r0, =gUnknown_03001168\n\
- ldr r4, [sp, 0x38]\n\
- adds r0, r4, r0\n\
- ldr r0, [r0]\n\
- mov r5, r9\n\
- adds r2, r7, r5\n\
- mov r1, r10\n\
- adds r0, r2\n\
- ldm r0!, {r2,r3,r6}\n\
- stm r1!, {r2,r3,r6}\n\
- ldr r0, [r0]\n\
- str r0, [r1]\n\
-_080E86CE:\n\
- movs r4, 0x10\n\
- add r10, r4\n\
- movs r5, 0x1\n\
- add r8, r5\n\
- ldr r6, [sp, 0x24]\n\
- cmp r8, r6\n\
- blt _080E864A\n\
-_080E86DC:\n\
- ldr r0, [sp, 0x44]\n\
- adds r0, 0x60\n\
- str r0, [sp, 0x44]\n\
- ldr r1, [sp, 0x48]\n\
- adds r1, 0x30\n\
- str r1, [sp, 0x48]\n\
- ldr r2, [sp, 0x8]\n\
- adds r2, 0x1\n\
- str r2, [sp, 0x8]\n\
- cmp r2, 0x1\n\
- bgt _080E86F4\n\
- b _080E85DC\n\
-_080E86F4:\n\
- ldr r3, [sp, 0x28]\n\
- str r3, [sp, 0x4]\n\
- cmp r3, 0x8\n\
- bgt _080E86FE\n\
- b _080E85BE\n\
-_080E86FE:\n\
- movs r4, 0\n\
- str r4, [sp, 0x8]\n\
-_080E8702:\n\
- ldr r5, [sp, 0x8]\n\
- adds r5, 0x1\n\
- str r5, [sp, 0x2C]\n\
- ldr r0, =gSaveBlock2Ptr\n\
- ldr r1, [r0]\n\
- movs r0, 0x54\n\
- ldr r6, [sp, 0x8]\n\
- muls r0, r6\n\
- adds r3, r0, r1\n\
- movs r0, 0xA8\n\
- muls r0, r6\n\
- ldr r1, [sp]\n\
- adds r2, r0, r1\n\
- movs r4, 0x2\n\
- mov r8, r4\n\
-_080E8720:\n\
- movs r5, 0xD8\n\
- lsls r5, 3\n\
- adds r0, r2, r5\n\
- ldr r6, =0x0000057c\n\
- adds r1, r3, r6\n\
- ldm r1!, {r4-r6}\n\
- stm r0!, {r4-r6}\n\
- ldm r1!, {r4-r6}\n\
- stm r0!, {r4-r6}\n\
- ldr r1, [r1]\n\
- str r1, [r0]\n\
- adds r3, 0x1C\n\
- adds r2, 0x1C\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- add r8, r0\n\
- mov r1, r8\n\
- cmp r1, 0\n\
- bge _080E8720\n\
- movs r2, 0\n\
- mov r8, r2\n\
- ldr r3, [sp, 0x24]\n\
- cmp r8, r3\n\
- blt _080E8752\n\
- b _080E885A\n\
-_080E8752:\n\
- ldr r4, [sp, 0x8]\n\
- lsls r1, r4, 3\n\
- movs r0, 0xA8\n\
- adds r5, r4, 0\n\
- muls r5, r0\n\
- str r5, [sp, 0x20]\n\
- str r5, [sp, 0x3C]\n\
- subs r1, r4\n\
- lsls r1, 2\n\
- mov r10, r1\n\
-_080E8766:\n\
- movs r6, 0\n\
- str r6, [sp, 0xC]\n\
- mov r0, r8\n\
- lsls r0, 2\n\
- str r0, [sp, 0x38]\n\
- mov r1, r8\n\
- adds r1, 0x1\n\
- str r1, [sp, 0x30]\n\
- ldr r0, =gUnknown_03001168\n\
- ldr r2, [sp, 0x38]\n\
- adds r2, r0\n\
- mov r9, r2\n\
- ldr r3, [sp]\n\
- movs r4, 0xD8\n\
- lsls r4, 3\n\
- adds r0, r3, r4\n\
- ldr r5, [sp, 0x3C]\n\
- adds r7, r5, r0\n\
- str r6, [sp, 0x40]\n\
- movs r3, 0x2\n\
-_080E878E:\n\
- ldr r1, [sp, 0x20]\n\
- movs r2, 0xD8\n\
- lsls r2, 3\n\
- adds r0, r1, r2\n\
- ldr r4, [sp]\n\
- adds r0, r4, r0\n\
- ldr r6, [sp, 0x40]\n\
- adds r5, r0, r6\n\
- adds r0, r5, 0\n\
- str r3, [sp, 0x4C]\n\
- bl ReadUnalignedWord\n\
- adds r4, r0, 0\n\
- movs r6, 0x90\n\
- lsls r6, 1\n\
- add r6, r10\n\
- mov r1, r9\n\
- ldr r0, [r1]\n\
- adds r0, r6\n\
- bl ReadUnalignedWord\n\
- ldr r3, [sp, 0x4C]\n\
- cmp r4, r0\n\
- bne _080E8808\n\
- adds r0, r5, 0x4\n\
- bl ReadUnalignedWord\n\
- adds r4, r0, 0\n\
- mov r2, r9\n\
- ldr r0, [r2]\n\
- adds r0, r6\n\
- adds r0, 0x4\n\
- bl ReadUnalignedWord\n\
- ldr r3, [sp, 0x4C]\n\
- cmp r4, r0\n\
- bne _080E8808\n\
- ldr r4, [sp, 0xC]\n\
- adds r4, 0x1\n\
- str r4, [sp, 0xC]\n\
- mov r5, r9\n\
- ldr r0, [r5]\n\
- mov r6, r10\n\
- adds r2, r0, r6\n\
- movs r0, 0x94\n\
- lsls r0, 1\n\
- adds r1, r2, r0\n\
- ldrh r0, [r7, 0x8]\n\
- ldrh r1, [r1]\n\
- cmp r0, r1\n\
- bcs _080E8808\n\
- adds r0, r7, 0\n\
- movs r4, 0x90\n\
- lsls r4, 1\n\
- adds r1, r2, r4\n\
- ldm r1!, {r2,r5,r6}\n\
- stm r0!, {r2,r5,r6}\n\
- ldm r1!, {r4-r6}\n\
- stm r0!, {r4-r6}\n\
- ldr r1, [r1]\n\
- str r1, [r0]\n\
-_080E8808:\n\
- adds r7, 0x1C\n\
- ldr r0, [sp, 0x40]\n\
- adds r0, 0x1C\n\
- str r0, [sp, 0x40]\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _080E878E\n\
- ldr r1, [sp, 0xC]\n\
- cmp r1, 0\n\
- bne _080E8850\n\
- mov r0, r8\n\
- adds r0, 0x3\n\
- lsls r1, r0, 3\n\
- subs r1, r0\n\
- lsls r1, 2\n\
- ldr r2, [sp, 0x20]\n\
- adds r1, r2\n\
- ldr r3, [sp]\n\
- adds r1, r3, r1\n\
- ldr r0, =gUnknown_03001168\n\
- ldr r4, [sp, 0x38]\n\
- adds r0, r4, r0\n\
- ldr r0, [r0]\n\
- add r0, r10\n\
- movs r5, 0xD8\n\
- lsls r5, 3\n\
- adds r1, r5\n\
- movs r6, 0x90\n\
- lsls r6, 1\n\
- adds r0, r6\n\
- ldm r0!, {r2-r4}\n\
- stm r1!, {r2-r4}\n\
- ldm r0!, {r2,r5,r6}\n\
- stm r1!, {r2,r5,r6}\n\
- ldr r0, [r0]\n\
- str r0, [r1]\n\
-_080E8850:\n\
- ldr r3, [sp, 0x30]\n\
- mov r8, r3\n\
- ldr r4, [sp, 0x24]\n\
- cmp r8, r4\n\
- blt _080E8766\n\
-_080E885A:\n\
- ldr r5, [sp, 0x2C]\n\
- str r5, [sp, 0x8]\n\
- cmp r5, 0x1\n\
- bgt _080E8864\n\
- b _080E8702\n\
-_080E8864:\n\
- add sp, 0x54\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\
- ");
+ s32 i, j, k, l;
+ s32 var_68;
+
+ k = 0;
+ i = 0;
+ while (1)
+ {
+ if (i >= linkPlayerCount)
+ break;
+ if (i != arg3)
+ gUnknown_03001168[k++] = hallRecords;
+
+ if (k == 3)
+ break;
+ hallRecords += recordSize;
+ i++;
+ }
+
+ for (i = 0; i < HALL_FACILITIES_COUNT; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ for (k = 0; k < 3; k++)
+ dst->hallRecords1P[i][j][k] = gSaveBlock2Ptr->hallRecords1P[i][j][k];
+
+ for (k = 0; k < linkPlayerCount - 1; k++)
+ {
+ var_68 = 0;
+ for (l = 0; l < 3; l++)
+ {
+ if (GetTrainerId(dst->hallRecords1P[i][j][l].id) == GetTrainerId(gUnknown_03001168[k]->onePlayer[i][j].id))
+ {
+ var_68++;
+ if (dst->hallRecords1P[i][j][l].winStreak < gUnknown_03001168[k]->onePlayer[i][j].winStreak)
+ dst->hallRecords1P[i][j][l] = gUnknown_03001168[k]->onePlayer[i][j];
+ }
+ }
+ if (var_68 == 0)
+ dst->hallRecords1P[i][j][k + 3] = gUnknown_03001168[k]->onePlayer[i][j];
+ }
+ }
+ }
+
+ for (j = 0; j < 2; j++)
+ {
+ for (k = 0; k < 3; k++)
+ dst->hallRecords2P[j][k] = gSaveBlock2Ptr->hallRecords2P[j][k];
+
+ for (k = 0; k < linkPlayerCount - 1; k++)
+ {
+ var_68 = 0;
+ for (l = 0; l < 3; l++)
+ {
+ if (GetTrainerId(dst->hallRecords2P[j][l].id1) == GetTrainerId(gUnknown_03001168[k]->twoPlayers[j].id1)
+ && GetTrainerId(dst->hallRecords2P[j][l].id2) == GetTrainerId(gUnknown_03001168[k]->twoPlayers[j].id2))
+ {
+ var_68++;
+ if (dst->hallRecords2P[j][l].winStreak < gUnknown_03001168[k]->twoPlayers[j].winStreak)
+ dst->hallRecords2P[j][l] = gUnknown_03001168[k]->twoPlayers[j];
+ }
+ }
+ if (var_68 == 0)
+ dst->hallRecords2P[j][k + 3] = gUnknown_03001168[k]->twoPlayers[j];
+ }
+ }
}
-static void sub_80E8880(struct UnknownRecMixingStruct *arg0, struct UnknownRecMixingStruct *arg1)
+static void sub_80E8880(struct RankingHall1P *arg0, struct RankingHall1P *arg1)
{
s32 i, j;
for (i = 0; i < 3; i++)
{
- s32 r2 = 0;
- s32 r4 = -1;
+ s32 highestWinStreak = 0;
+ s32 highestId = -1;
for (j = 0; j < 6; j++)
{
- if (arg1[j].field_4 > r2)
+ if (arg1[j].winStreak > highestWinStreak)
{
- r4 = j;
- r2 = arg1[j].field_4;
+ highestId = j;
+ highestWinStreak = arg1[j].winStreak;
}
}
- if (r4 >= 0)
+ if (highestId >= 0)
{
- arg0[i] = arg1[r4];
- arg1[r4].field_4 = 0;
+ arg0[i] = arg1[highestId];
+ arg1[highestId].winStreak = 0;
}
}
}
-static void sub_80E88CC(struct UnknownRecMixingStruct2 *arg0, struct UnknownRecMixingStruct2 *arg1)
+static void sub_80E88CC(struct RankingHall2P *arg0, struct RankingHall2P *arg1)
{
s32 i, j;
for (i = 0; i < 3; i++)
{
- s32 r2 = 0;
- s32 r4 = -1;
+ s32 highestWinStreak = 0;
+ s32 highestId = -1;
for (j = 0; j < 6; j++)
{
- if (arg1[j].field_8 > r2)
+ if (arg1[j].winStreak > highestWinStreak)
{
- r4 = j;
- r2 = arg1[j].field_8;
+ highestId = j;
+ highestWinStreak = arg1[j].winStreak;
}
}
- if (r4 >= 0)
+ if (highestId >= 0)
{
- arg0[i] = arg1[r4];
- arg1[r4].field_8 = 0;
+ arg0[i] = arg1[highestId];
+ arg1[highestId].winStreak = 0;
}
}
}
-NAKED
-static void sub_80E8924(struct UnknownRecMixingStruct3 *arg0)
+static void sub_80E8924(struct RecordMixingHallRecords *arg0)
{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- mov r9, r0\n\
- movs r0, 0\n\
- ldr r1, =gSaveBlock2Ptr\n\
- mov r10, r1\n\
-_080E8936:\n\
- lsls r1, r0, 1\n\
- adds r2, r0, 0x1\n\
- mov r8, r2\n\
- adds r1, r0\n\
- lsls r0, r1, 5\n\
- movs r2, 0x87\n\
- lsls r2, 2\n\
- adds r7, r0, r2\n\
- lsls r1, 6\n\
- mov r0, r9\n\
- adds r4, r0, r1\n\
- movs r6, 0\n\
- movs r5, 0x1\n\
-_080E8950:\n\
- mov r1, r10\n\
- ldr r0, [r1]\n\
- adds r0, r7\n\
- adds r0, r6\n\
- adds r1, r4, 0\n\
- bl sub_80E8880\n\
- adds r4, 0x60\n\
- adds r6, 0x30\n\
- subs r5, 0x1\n\
- cmp r5, 0\n\
- bge _080E8950\n\
- mov r0, r8\n\
- cmp r0, 0x8\n\
- ble _080E8936\n\
- movs r5, 0\n\
- ldr r4, =gSaveBlock2Ptr\n\
-_080E8972:\n\
- movs r0, 0x54\n\
- adds r1, r5, 0\n\
- muls r1, r0\n\
- ldr r2, =0x0000057c\n\
- adds r1, r2\n\
- ldr r0, [r4]\n\
- adds r0, r1\n\
- movs r1, 0xA8\n\
- muls r1, r5\n\
- movs r2, 0xD8\n\
- lsls r2, 3\n\
- adds r1, r2\n\
- add r1, r9\n\
- bl sub_80E88CC\n\
- adds r5, 0x1\n\
- cmp r5, 0x1\n\
- ble _080E8972\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");
+ s32 i, j;
+
+ for (i = 0; i < HALL_FACILITIES_COUNT; i++)
+ {
+ for (j = 0; j < 2; j++)
+ sub_80E8880(gSaveBlock2Ptr->hallRecords1P[i][j], arg0->hallRecords1P[i][j]);
+ }
+ for (j = 0; j < 2; j++)
+ sub_80E88CC(gSaveBlock2Ptr->hallRecords2P[j], arg0->hallRecords2P[j]);
}
-static void sub_80E89AC(struct UnkRecordMixingStruct2 *arg0, size_t arg1, u32 arg2)
+static void ReceiveRankingHallRecords(struct PlayerHallRecords *hallRecords, size_t recordSize, u32 arg2)
{
u8 linkPlayerCount = GetLinkPlayerCount();
- struct UnknownRecMixingStruct3 *largeStructPtr = AllocZeroed(sizeof(struct UnknownRecMixingStruct3));
+ struct RecordMixingHallRecords *largeStructPtr = AllocZeroed(sizeof(struct RecordMixingHallRecords));
- sub_80E8578(largeStructPtr, arg0, arg1, arg2, linkPlayerCount);
+ sub_80E8578(largeStructPtr, hallRecords, recordSize, arg2, linkPlayerCount);
sub_80E8924(largeStructPtr);
Free(largeStructPtr);
@@ -2255,7 +1848,7 @@ static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src)
if (mail->message.itemId != 0)
{
if (mail->gameLanguage != LANGUAGE_JAPANESE)
- PadNameString(mail->OT_name, 0xFC);
+ PadNameString(mail->OT_name, EXT_CTRL_CODE_BEGIN);
ConvertInternationalString(mail->monName, mail->monLanguage);
}
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index 355ed5e07..5d79cb789 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -14,17 +14,16 @@
#include "task.h"
#include "text.h"
#include "battle_setup.h"
+#include "frontier_util.h"
+#include "constants/trainers.h"
#define BATTLER_RECORD_SIZE 664
#define ILLEGAL_BATTLE_TYPES ((BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_FIRST_BATTLE \
- | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \
- | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \
- | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \
+ | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_ROAMER | BATTLE_TYPE_EREADER_TRAINER \
+ | BATTLE_TYPE_KYOGRE_GROUDON | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI \
+ | BATTLE_TYPE_RECORDED | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_SECRET_BASE \
| BATTLE_TYPE_GROUDON | BATTLE_TYPE_KYOGRE | BATTLE_TYPE_RAYQUAZA))
-extern u8 gUnknown_03001278;
-extern u8 gUnknown_03001279;
-
struct PlayerInfo
{
u32 trainerId;
@@ -55,18 +54,18 @@ struct RecordedBattleSave
u16 opponentB;
u16 partnerId;
u16 field_4FA;
- u8 field_4FC;
- u8 field_4FD;
- u8 field_4FE;
- u8 battleStyle:1;
+ u8 lvlMode;
+ u8 frontierFacility;
+ u8 frontierBrainSymbol;
+ u8 battleScene:1;
u8 textSpeed:3;
u32 AI_scripts;
- u8 field_504[8];
- u8 field_50C;
- u8 field_50D;
- u16 field_50E[6];
- u8 field_51A;
- u8 field_51B;
+ u8 recordMixFriendName[PLAYER_NAME_LENGTH + 1];
+ u8 recordMixFriendClass;
+ u8 apprenticeId;
+ u16 easyChatSpeech[6];
+ u8 recordMixFriendLanguage;
+ u8 apprenticeLanguage;
u8 battleRecord[MAX_BATTLERS_COUNT][BATTLER_RECORD_SIZE];
u32 checksum;
};
@@ -78,13 +77,13 @@ EWRAM_DATA static u16 sRecordedBytesNo[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA static u16 sUnknown_0203C79C[4] = {0};
EWRAM_DATA static u16 sUnknown_0203C7A4[4] = {0};
EWRAM_DATA static u8 sUnknown_0203C7AC = 0;
-EWRAM_DATA static u8 sUnknown_0203C7AD = 0;
+EWRAM_DATA static u8 sLvlMode = 0;
EWRAM_DATA static u8 sFrontierFacility = 0;
-EWRAM_DATA static u8 sUnknown_0203C7AF = 0;
+EWRAM_DATA static u8 sFrontierBrainSymbol = 0;
EWRAM_DATA static MainCallback sCallback2_AfterRecordedBattle = NULL;
EWRAM_DATA u8 gUnknown_0203C7B4 = 0;
EWRAM_DATA static u8 sUnknown_0203C7B5 = 0;
-EWRAM_DATA static u8 sBattleStyle = 0;
+EWRAM_DATA static u8 sBattleScene = 0;
EWRAM_DATA static u8 sTextSpeed = 0;
EWRAM_DATA static u32 sBattleFlags = 0;
EWRAM_DATA static u32 sAI_Scripts = 0;
@@ -93,17 +92,18 @@ EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0};
EWRAM_DATA static u16 sPlayerMonMoves[2][4] = {0};
EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA static u8 sUnknown_0203CCD0 = 0;
-EWRAM_DATA static u8 sUnknown_0203CCD1[8] = {0};
-EWRAM_DATA static u8 sUnknown_0203CCD9 = 0;
-EWRAM_DATA static u8 sUnknown_0203CCDA = 0;
-EWRAM_DATA static u16 sUnknown_0203CCDC[6] = {0};
-EWRAM_DATA static u8 sUnknown_0203CCE8 = 0;
+EWRAM_DATA static u8 sRecordMixFriendName[PLAYER_NAME_LENGTH + 1] = {0};
+EWRAM_DATA static u8 sRecordMixFriendClass = 0;
+EWRAM_DATA static u8 sApprenticeId = 0;
+EWRAM_DATA static u16 sEasyChatSpeech[6] = {0};
+EWRAM_DATA static u8 sBattleOutcome = 0;
-extern u32 sub_81A513C(void);
+IWRAM_DATA static u8 sRecordMixFriendLanguage;
+IWRAM_DATA static u8 sApprenticeLanguage;
// this file's functions
static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2);
-static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst);
+static bool32 CopyRecordedBattleFromSave(struct RecordedBattleSave *dst);
static void RecordedBattle_RestoreSavedParties(void);
static void CB2_RecordedBattle(void);
@@ -140,7 +140,7 @@ void sub_8184E58(void)
{
gRecordedBattleRngSeed = gRngValue;
sFrontierFacility = VarGet(VAR_FRONTIER_FACILITY);
- sUnknown_0203C7AF = sub_81A513C();
+ sFrontierBrainSymbol = GetFronterBrainSymbol();
}
else if (sUnknown_0203C7AC == 2)
{
@@ -297,7 +297,7 @@ static u8 sub_8185278(u8 *arg0, u8 *arg1, u8 *arg2)
bool32 CanCopyRecordedBattleSaveData(void)
{
struct RecordedBattleSave *dst = AllocZeroed(sizeof(struct RecordedBattleSave));
- bool32 ret = AllocTryCopyRecordedBattleSaveData(dst);
+ bool32 ret = CopyRecordedBattleFromSave(dst);
Free(dst);
return ret;
}
@@ -314,26 +314,29 @@ static bool32 IsRecordedBattleSaveValid(struct RecordedBattleSave *save)
return TRUE;
}
-static bool32 sub_81852F0(struct RecordedBattleSave *battleSave, struct RecordedBattleSave *saveSection)
+static bool32 RecordedBattleToSave(struct RecordedBattleSave *battleSave, struct RecordedBattleSave *saveSection)
{
- memset(saveSection, 0, sizeof(struct SaveSection));
+ memset(saveSection, 0, 0x1000);
memcpy(saveSection, battleSave, sizeof(*battleSave));
saveSection->checksum = CalcByteArraySum((void*)(saveSection), sizeof(*saveSection) - 4);
if (sub_8153634(31, (void*)(saveSection)) != 1)
return FALSE;
-
- return TRUE;
+ else
+ return TRUE;
}
-#ifdef NONMATCHING
-u32 MoveRecordedBattleToSaveData(void)
+bool32 MoveRecordedBattleToSaveData(void)
{
s32 i, j;
- u8 var = 0;
- struct RecordedBattleSave *battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
- struct SaveSection *savSection = AllocZeroed(sizeof(struct SaveSection));
+ bool32 ret;
+ struct RecordedBattleSave *battleSave, *savSection;
+ u8 var;
+
+ var = 0;
+ battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
+ savSection = AllocZeroed(0x1000);
for (i = 0; i < PARTY_SIZE; i++)
{
@@ -357,8 +360,7 @@ u32 MoveRecordedBattleToSaveData(void)
if (sBattleFlags & BATTLE_TYPE_LINK)
{
- battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20));
- battleSave->battleFlags |= BATTLE_TYPE_x2000000;
+ battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20)) | BATTLE_TYPE_x2000000;
if (sBattleFlags & BATTLE_TYPE_IS_MASTER)
{
@@ -390,888 +392,105 @@ u32 MoveRecordedBattleToSaveData(void)
battleSave->opponentB = gTrainerBattleOpponent_B;
battleSave->partnerId = gPartnerTrainerId;
battleSave->field_4FA = gUnknown_0203C7B4;
- battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b;
- battleSave->field_4FD = sFrontierFacility;
- battleSave->field_4FE = sUnknown_0203C7AF;
- battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle;
+ battleSave->lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ battleSave->frontierFacility = sFrontierFacility;
+ battleSave->frontierBrainSymbol = sFrontierBrainSymbol;
+ battleSave->battleScene = gSaveBlock2Ptr->optionsBattleSceneOff;
battleSave->textSpeed = gSaveBlock2Ptr->optionsTextSpeed;
battleSave->AI_scripts = sAI_Scripts;
- /* Can't match it without proper knowledge of the Saveblock 2.
- if (gTrainerBattleOpponent_A >= 300 && gTrainerBattleOpponent_A <= 399)
+ if (gTrainerBattleOpponent_A >= TRAINER_RECORD_MIXING_FRIEND && gTrainerBattleOpponent_A < TRAINER_RECORD_MIXING_APPRENTICE)
{
- for (i = 0; i < 8; i++)
- {
- battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_4[i];
- }
- battleSave->field_50C = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_1;
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ battleSave->recordMixFriendName[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].name[i];
+ battleSave->recordMixFriendClass = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
- if (sUnknown_0203CCE8 == 1)
+ if (sBattleOutcome == B_OUTCOME_WON)
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_28[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechLost[i];
}
else
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_1C[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].speechWon[i];
}
- battleSave->field_51A = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_A - 300].field_E4;
+ battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_FRIEND].language;
}
- else if (gTrainerBattleOpponent_B >= 300 && gTrainerBattleOpponent_B <= 399)
+ else if (gTrainerBattleOpponent_B >= TRAINER_RECORD_MIXING_FRIEND && gTrainerBattleOpponent_B < TRAINER_RECORD_MIXING_APPRENTICE)
{
- for (i = 0; i < 8; i++)
- {
- battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_4[i];
- }
- battleSave->field_50C = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_1;
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ battleSave->recordMixFriendName[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].name[i];
+ battleSave->recordMixFriendClass = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
- if (sUnknown_0203CCE8 == 1)
+ if (sBattleOutcome == B_OUTCOME_WON)
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_28[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechLost[i];
}
else
{
for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_1C[i];
- }
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].speechWon[i];
}
- battleSave->field_51A = gSaveBlock2Ptr->field_738[gTrainerBattleOpponent_B - 300].field_E4;
+ battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_FRIEND].language;
}
- else if (gPartnerTrainerId >= 300 && gPartnerTrainerId <= 399)
+ else if (gPartnerTrainerId >= TRAINER_RECORD_MIXING_FRIEND && gPartnerTrainerId < TRAINER_RECORD_MIXING_APPRENTICE)
{
- for (i = 0; i < 8; i++)
- {
- battleSave->field_504[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_4[i];
- }
- battleSave->field_50C = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_1;
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ battleSave->recordMixFriendName[i] = gSaveBlock2Ptr->frontier.towerRecords[gPartnerTrainerId - TRAINER_RECORD_MIXING_FRIEND].name[i];
+ battleSave->recordMixFriendClass = gSaveBlock2Ptr->frontier.towerRecords[gPartnerTrainerId - TRAINER_RECORD_MIXING_FRIEND].facilityClass;
- if (sUnknown_0203CCE8 == 1)
- {
- for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_28[i];
- }
- }
- else
+ battleSave->recordMixFriendLanguage = gSaveBlock2Ptr->frontier.towerRecords[gPartnerTrainerId - TRAINER_RECORD_MIXING_FRIEND].language;
+ }
+
+ if (gTrainerBattleOpponent_A >= TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ for (i = 0; i < 6; i++)
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i];
+ battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_A - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+ else if (gTrainerBattleOpponent_B >= TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].id;
+ for (i = 0; i < 6; i++)
+ battleSave->easyChatSpeech[i] = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].easyChatWords[i];
+ battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gTrainerBattleOpponent_B - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+ else if (gPartnerTrainerId >= TRAINER_RECORD_MIXING_APPRENTICE)
+ {
+ battleSave->apprenticeId = gSaveBlock2Ptr->apprentices[gPartnerTrainerId - TRAINER_RECORD_MIXING_APPRENTICE].id;
+
+ battleSave->apprenticeLanguage = gSaveBlock2Ptr->apprentices[gPartnerTrainerId - TRAINER_RECORD_MIXING_APPRENTICE].language;
+ }
+
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ for (j = 0; j < BATTLER_RECORD_SIZE; j++)
{
- for (i = 0; i < 6; i++)
- {
- battleSave->field_50E[i] = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_1C[i];
- }
+ battleSave->battleRecord[i][j] = sBattleRecords[i][j];
}
- battleSave->field_51A = gSaveBlock2Ptr->field_738[gPartnerTrainerId - 300].field_E4;
}
- */
-}
+ while (1)
+ {
+ ret = RecordedBattleToSave(battleSave, savSection);
+ if (ret == TRUE)
+ break;
+ var++;
+ if (var >= 3)
+ break;
+ }
-#else
-NAKED
-u32 MoveRecordedBattleToSaveData(void)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0xC\n\
- movs r0, 0\n\
- str r0, [sp, 0x4]\n\
- movs r0, 0xF8\n\
- lsls r0, 4\n\
- bl AllocZeroed\n\
- adds r7, r0, 0\n\
- movs r0, 0x80\n\
- lsls r0, 5\n\
- bl AllocZeroed\n\
- str r0, [sp]\n\
- movs r6, 0\n\
-_0818535E:\n\
- movs r0, 0x64\n\
- adds r4, r6, 0\n\
- muls r4, r0\n\
- adds r5, r7, r4\n\
- ldr r1, =sSavedPlayerParty\n\
- adds r1, r4, r1\n\
- adds r0, r5, 0\n\
- movs r2, 0x64\n\
- bl memcpy\n\
- movs r1, 0x96\n\
- lsls r1, 2\n\
- adds r5, r1\n\
- ldr r0, =sSavedOpponentParty\n\
- adds r4, r0\n\
- adds r0, r5, 0\n\
- adds r1, r4, 0\n\
- movs r2, 0x64\n\
- bl memcpy\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _0818535E\n\
- movs r6, 0\n\
- ldr r2, =gSaveBlock2Ptr\n\
- mov r9, r2\n\
- movs r3, 0x9A\n\
- lsls r3, 3\n\
- adds r3, r7, r3\n\
- str r3, [sp, 0x8]\n\
- ldr r5, =sPlayers\n\
- mov r8, r6\n\
- mov r12, r6\n\
- movs r4, 0x96\n\
- lsls r4, 3\n\
- adds r4, r7\n\
- mov r10, r4\n\
- ldr r0, =0x000004e4\n\
- adds r4, r7, r0\n\
-_081853AC:\n\
- lsls r1, r6, 3\n\
- ldr r0, =sPlayers\n\
- adds r0, 0x4\n\
- mov r3, r8\n\
- adds r2, r3, r0\n\
- add r1, r10\n\
- movs r3, 0x7\n\
-_081853BA:\n\
- ldrb r0, [r2]\n\
- strb r0, [r1]\n\
- adds r2, 0x1\n\
- adds r1, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _081853BA\n\
- ldr r0, [sp, 0x8]\n\
- adds r1, r0, r6\n\
- ldrb r0, [r5, 0xC]\n\
- strb r0, [r1]\n\
- ldrh r0, [r5, 0x10]\n\
- strb r0, [r4]\n\
- ldrh r0, [r5, 0xE]\n\
- strb r0, [r4, 0xC]\n\
- ldr r1, =0x000004d4\n\
- adds r0, r7, r1\n\
- add r0, r12\n\
- ldr r1, [r5]\n\
- str r1, [r0]\n\
- adds r5, 0x14\n\
- movs r2, 0x14\n\
- add r8, r2\n\
- movs r3, 0x4\n\
- add r12, r3\n\
- adds r4, 0x1\n\
- adds r6, 0x1\n\
- cmp r6, 0x3\n\
- ble _081853AC\n\
- movs r4, 0x9D\n\
- lsls r4, 3\n\
- adds r1, r7, r4\n\
- ldr r5, =gRecordedBattleRngSeed\n\
- ldr r0, [r5]\n\
- str r0, [r1]\n\
- ldr r0, =sBattleFlags\n\
- ldr r2, [r0]\n\
- movs r0, 0x2\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _081854DC\n\
- ldr r1, =0x000004ec\n\
- adds r3, r7, r1\n\
- movs r1, 0x23\n\
- negs r1, r1\n\
- ands r1, r2\n\
- movs r0, 0x80\n\
- lsls r0, 18\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- movs r0, 0x4\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _08185454\n\
- movs r0, 0x80\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- b _081854E2\n\
- .pool\n\
-_08185454:\n\
- movs r0, 0x40\n\
- ands r2, r0\n\
- cmp r2, 0\n\
- beq _081854E2\n\
- ldr r2, =sPlayers\n\
- ldrh r0, [r2, 0xE]\n\
- cmp r0, 0x1\n\
- beq _081854A8\n\
- cmp r0, 0x1\n\
- bgt _08185474\n\
- cmp r0, 0\n\
- beq _0818547E\n\
- b _081854E2\n\
- .pool\n\
-_08185474:\n\
- cmp r0, 0x2\n\
- beq _0818547E\n\
- cmp r0, 0x3\n\
- beq _081854A8\n\
- b _081854E2\n\
-_0818547E:\n\
- ldr r3, =gUnknown_0203C7B4\n\
- ldrb r1, [r3]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r4, =sPlayers\n\
- adds r0, r4\n\
- ldrh r1, [r0, 0xE]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _081854E2\n\
- ldr r5, =0x000004ec\n\
- adds r0, r7, r5\n\
- b _081854C4\n\
- .pool\n\
-_081854A8:\n\
- ldr r0, =gUnknown_0203C7B4\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 2\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r1, =sPlayers\n\
- adds r0, r1\n\
- ldrh r1, [r0, 0xE]\n\
- movs r0, 0x1\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _081854E2\n\
- ldr r2, =0x000004ec\n\
- adds r0, r7, r2\n\
-_081854C4:\n\
- ldr r1, [r0]\n\
- movs r2, 0x80\n\
- lsls r2, 24\n\
- orrs r1, r2\n\
- str r1, [r0]\n\
- b _081854E2\n\
- .pool\n\
-_081854DC:\n\
- ldr r3, =0x000004ec\n\
- adds r0, r7, r3\n\
- str r2, [r0]\n\
-_081854E2:\n\
- ldr r4, =gTrainerBattleOpponent_A\n\
- ldrh r1, [r4]\n\
- ldr r5, =0x000004f4\n\
- adds r0, r7, r5\n\
- strh r1, [r0]\n\
- ldr r0, =gTrainerBattleOpponent_B\n\
- ldrh r1, [r0]\n\
- ldr r2, =0x000004f6\n\
- adds r0, r7, r2\n\
- strh r1, [r0]\n\
- ldr r3, =gPartnerTrainerId\n\
- ldrh r1, [r3]\n\
- movs r4, 0x9F\n\
- lsls r4, 3\n\
- adds r0, r7, r4\n\
- strh r1, [r0]\n\
- ldr r5, =gUnknown_0203C7B4\n\
- ldrb r1, [r5]\n\
- adds r2, 0x4\n\
- adds r0, r7, r2\n\
- strh r1, [r0]\n\
- mov r3, r9\n\
- ldr r0, [r3]\n\
- ldr r4, =0x00000ca9\n\
- adds r0, r4\n\
- ldrb r0, [r0]\n\
- lsls r0, 30\n\
- lsrs r0, 30\n\
- ldr r5, =0x000004fc\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- ldr r0, =sFrontierFacility\n\
- ldrb r1, [r0]\n\
- adds r2, 0x3\n\
- adds r0, r7, r2\n\
- strb r1, [r0]\n\
- ldr r3, =sUnknown_0203C7AF\n\
- ldrb r1, [r3]\n\
- ldr r4, =0x000004fe\n\
- adds r0, r7, r4\n\
- strb r1, [r0]\n\
- mov r5, r9\n\
- ldr r0, [r5]\n\
- ldrb r1, [r0, 0x15]\n\
- lsls r1, 29\n\
- ldr r0, =0x000004ff\n\
- adds r3, r7, r0\n\
- lsrs r1, 31\n\
- ldrb r2, [r3]\n\
- movs r0, 0x2\n\
- negs r0, r0\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- ldr r1, [r5]\n\
- ldrb r1, [r1, 0x14]\n\
- lsls r1, 29\n\
- lsrs r1, 28\n\
- movs r2, 0xF\n\
- negs r2, r2\n\
- ands r0, r2\n\
- orrs r0, r1\n\
- strb r0, [r3]\n\
- movs r2, 0xA0\n\
- lsls r2, 3\n\
- adds r1, r7, r2\n\
- ldr r3, =sAI_Scripts\n\
- ldr r0, [r3]\n\
- str r0, [r1]\n\
- ldr r4, =0xfffffed4\n\
- adds r1, r4, 0\n\
- ldr r5, =gTrainerBattleOpponent_A\n\
- ldrh r5, [r5]\n\
- adds r0, r1, r5\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x63\n\
- bls _08185580\n\
- b _081856C4\n\
-_08185580:\n\
- movs r6, 0\n\
- ldr r0, =0x00000504\n\
- adds r3, r7, r0\n\
- mov r10, r9\n\
- ldr r1, =gTrainerBattleOpponent_A\n\
- mov r12, r1\n\
- adds r2, r4, 0\n\
- mov r8, r2\n\
- ldr r4, =0x0000073c\n\
-_08185592:\n\
- adds r2, r3, r6\n\
- mov r5, r10\n\
- ldr r1, [r5]\n\
- mov r5, r12\n\
- ldrh r0, [r5]\n\
- add r0, r8\n\
- movs r5, 0xEC\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- adds r1, r4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- adds r6, 0x1\n\
- cmp r6, 0x7\n\
- ble _08185592\n\
- mov r0, r9\n\
- ldr r2, [r0]\n\
- ldr r1, =gTrainerBattleOpponent_A\n\
- ldrh r0, [r1]\n\
- ldr r3, =0xfffffed4\n\
- adds r0, r3\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r4, =0x00000739\n\
- adds r2, r4\n\
- ldrb r1, [r2]\n\
- ldr r5, =0x0000050c\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- ldr r1, =sUnknown_0203CCE8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x1\n\
- bne _08185664\n\
- movs r6, 0\n\
- ldr r2, =0x0000050e\n\
- adds r4, r7, r2\n\
- mov r10, r9\n\
- ldr r5, =gTrainerBattleOpponent_A\n\
- mov r8, r5\n\
- adds r5, r3, 0\n\
-_081855E6:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- movs r0, 0xEC\n\
- lsls r0, 3\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _081855E6\n\
- b _08185696\n\
- .pool\n\
-_08185664:\n\
- movs r6, 0\n\
- ldr r1, =0x0000050e\n\
- adds r4, r7, r1\n\
- mov r10, r9\n\
- ldr r2, =gTrainerBattleOpponent_A\n\
- mov r8, r2\n\
- adds r5, r3, 0\n\
-_08185672:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- ldr r0, =0x00000754\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185672\n\
-_08185696:\n\
- mov r1, r9\n\
- ldr r2, [r1]\n\
- ldr r3, =gTrainerBattleOpponent_A\n\
- ldrh r0, [r3]\n\
- ldr r4, =0xfffffed4\n\
- adds r0, r4\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r5, =0x0000081c\n\
- adds r2, r5\n\
- ldrb r1, [r2]\n\
- b _08185856\n\
- .pool\n\
-_081856C4:\n\
- ldr r3, =gTrainerBattleOpponent_B\n\
- ldrh r3, [r3]\n\
- adds r0, r1, r3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x63\n\
- bls _081856D4\n\
- b _081857E4\n\
-_081856D4:\n\
- movs r6, 0\n\
- ldr r4, =0x00000504\n\
- adds r3, r7, r4\n\
- mov r10, r9\n\
- ldr r5, =gTrainerBattleOpponent_B\n\
- mov r12, r5\n\
- ldr r0, =0xfffffed4\n\
- mov r8, r0\n\
- ldr r4, =0x0000073c\n\
-_081856E6:\n\
- adds r2, r3, r6\n\
- mov r5, r10\n\
- ldr r1, [r5]\n\
- mov r5, r12\n\
- ldrh r0, [r5]\n\
- add r0, r8\n\
- movs r5, 0xEC\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- adds r1, r4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- adds r6, 0x1\n\
- cmp r6, 0x7\n\
- ble _081856E6\n\
- mov r0, r9\n\
- ldr r2, [r0]\n\
- ldr r1, =gTrainerBattleOpponent_B\n\
- ldrh r0, [r1]\n\
- ldr r3, =0xfffffed4\n\
- adds r0, r3\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r4, =0x00000739\n\
- adds r2, r4\n\
- ldrb r1, [r2]\n\
- ldr r5, =0x0000050c\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- ldr r1, =sUnknown_0203CCE8\n\
- ldrb r0, [r1]\n\
- cmp r0, 0x1\n\
- bne _08185784\n\
- movs r6, 0\n\
- ldr r2, =0x0000050e\n\
- adds r4, r7, r2\n\
- mov r10, r9\n\
- ldr r5, =gTrainerBattleOpponent_B\n\
- mov r8, r5\n\
- adds r5, r3, 0\n\
-_0818573A:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- movs r0, 0xEC\n\
- lsls r0, 3\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _0818573A\n\
- b _081857B6\n\
- .pool\n\
-_08185784:\n\
- movs r6, 0\n\
- ldr r1, =0x0000050e\n\
- adds r4, r7, r1\n\
- mov r10, r9\n\
- ldr r2, =gTrainerBattleOpponent_B\n\
- mov r8, r2\n\
- adds r5, r3, 0\n\
-_08185792:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r1, r8\n\
- ldrh r0, [r1]\n\
- adds r0, r5\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r3, r0\n\
- ldr r0, =0x00000754\n\
- adds r2, r0\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185792\n\
-_081857B6:\n\
- mov r1, r9\n\
- ldr r2, [r1]\n\
- ldr r3, =gTrainerBattleOpponent_B\n\
- ldrh r0, [r3]\n\
- ldr r4, =0xfffffed4\n\
- adds r0, r4\n\
- movs r1, 0xEC\n\
- muls r0, r1\n\
- adds r2, r0\n\
- ldr r5, =0x0000081c\n\
- adds r2, r5\n\
- ldrb r1, [r2]\n\
- b _08185856\n\
- .pool\n\
-_081857E4:\n\
- ldr r3, =gPartnerTrainerId\n\
- ldrh r3, [r3]\n\
- adds r0, r1, r3\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- cmp r0, 0x63\n\
- bhi _0818585C\n\
- movs r6, 0\n\
- ldr r4, =0x00000504\n\
- adds r3, r7, r4\n\
- mov r10, r9\n\
- ldr r5, =gPartnerTrainerId\n\
- mov r12, r5\n\
- ldr r0, =0xfffffed4\n\
- mov r8, r0\n\
- ldr r4, =0x0000073c\n\
-_08185804:\n\
- adds r2, r3, r6\n\
- mov r5, r10\n\
- ldr r1, [r5]\n\
- mov r5, r12\n\
- ldrh r0, [r5]\n\
- add r0, r8\n\
- movs r5, 0xEC\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- adds r1, r4\n\
- adds r1, r0\n\
- ldrb r0, [r1]\n\
- strb r0, [r2]\n\
- adds r6, 0x1\n\
- cmp r6, 0x7\n\
- ble _08185804\n\
- mov r0, r9\n\
- ldr r1, [r0]\n\
- ldr r2, =gPartnerTrainerId\n\
- ldrh r0, [r2]\n\
- ldr r3, =0xfffffed4\n\
- adds r0, r3\n\
- movs r2, 0xEC\n\
- muls r0, r2\n\
- adds r1, r0\n\
- ldr r4, =0x00000739\n\
- adds r1, r4\n\
- ldrb r1, [r1]\n\
- ldr r5, =0x0000050c\n\
- adds r0, r7, r5\n\
- strb r1, [r0]\n\
- mov r0, r9\n\
- ldr r1, [r0]\n\
- ldr r4, =gPartnerTrainerId\n\
- ldrh r0, [r4]\n\
- adds r0, r3\n\
- muls r0, r2\n\
- adds r1, r0\n\
- ldr r5, =0x0000081c\n\
- adds r1, r5\n\
- ldrb r1, [r1]\n\
-_08185856:\n\
- ldr r2, =0x0000051a\n\
- adds r0, r7, r2\n\
- strb r1, [r0]\n\
-_0818585C:\n\
- ldr r3, =gTrainerBattleOpponent_A\n\
- ldrh r0, [r3]\n\
- ldr r1, =0x0000018f\n\
- cmp r0, r1\n\
- bls _08185900\n\
- mov r4, r9\n\
- ldr r2, [r4]\n\
- adds r1, r0, 0\n\
- ldr r3, =0xfffffe70\n\
- adds r1, r3\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xDC\n\
- ldrb r0, [r2]\n\
- lsls r0, 27\n\
- lsrs r0, 27\n\
- ldr r5, =0x0000050d\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- movs r6, 0\n\
- ldr r0, =0x0000050e\n\
- adds r4, r7, r0\n\
- mov r10, r9\n\
- ldr r1, =gTrainerBattleOpponent_A\n\
- mov r8, r1\n\
- adds r5, r3, 0\n\
-_08185894:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r0, r8\n\
- ldrh r1, [r0]\n\
- adds r1, r5\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r3, r0\n\
- movs r1, 0x82\n\
- lsls r1, 1\n\
- adds r2, r1\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185894\n\
- mov r3, r9\n\
- ldr r2, [r3]\n\
- ldr r4, =gTrainerBattleOpponent_A\n\
- ldrh r1, [r4]\n\
- ldr r5, =0xfffffe70\n\
- adds r1, r5\n\
- b _081859AC\n\
- .pool\n\
-_08185900:\n\
- ldr r3, =gTrainerBattleOpponent_B\n\
- ldrh r0, [r3]\n\
- cmp r0, r1\n\
- bls _0818597C\n\
- mov r4, r9\n\
- ldr r2, [r4]\n\
- adds r1, r0, 0\n\
- ldr r3, =0xfffffe70\n\
- adds r1, r3\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xDC\n\
- ldrb r0, [r2]\n\
- lsls r0, 27\n\
- lsrs r0, 27\n\
- ldr r5, =0x0000050d\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- movs r6, 0\n\
- ldr r0, =0x0000050e\n\
- adds r4, r7, r0\n\
- mov r10, r9\n\
- ldr r1, =gTrainerBattleOpponent_B\n\
- mov r8, r1\n\
- adds r5, r3, 0\n\
-_08185936:\n\
- lsls r3, r6, 1\n\
- mov r0, r10\n\
- ldr r2, [r0]\n\
- mov r0, r8\n\
- ldrh r1, [r0]\n\
- adds r1, r5\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r3, r0\n\
- movs r1, 0x82\n\
- lsls r1, 1\n\
- adds r2, r1\n\
- adds r2, r3\n\
- ldrh r0, [r2]\n\
- strh r0, [r4]\n\
- adds r4, 0x2\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _08185936\n\
- mov r3, r9\n\
- ldr r2, [r3]\n\
- ldr r4, =gTrainerBattleOpponent_B\n\
- ldrh r1, [r4]\n\
- ldr r5, =0xfffffe70\n\
- adds r1, r5\n\
- b _081859AC\n\
- .pool\n\
-_0818597C:\n\
- ldr r3, =gPartnerTrainerId\n\
- ldrh r0, [r3]\n\
- cmp r0, r1\n\
- bls _081859C0\n\
- mov r4, r9\n\
- ldr r2, [r4]\n\
- adds r1, r0, 0\n\
- ldr r3, =0xfffffe70\n\
- adds r1, r3\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xDC\n\
- ldrb r0, [r2]\n\
- lsls r0, 27\n\
- lsrs r0, 27\n\
- ldr r5, =0x0000050d\n\
- adds r1, r7, r5\n\
- strb r0, [r1]\n\
- ldr r2, [r4]\n\
- ldr r0, =gPartnerTrainerId\n\
- ldrh r1, [r0]\n\
- adds r1, r3\n\
-_081859AC:\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- ldr r1, =0x0000011b\n\
- adds r0, r2, r1\n\
- ldrb r1, [r0]\n\
- ldr r2, =0x0000051b\n\
- adds r0, r7, r2\n\
- strb r1, [r0]\n\
-_081859C0:\n\
- movs r6, 0\n\
- ldr r3, =0x00000297\n\
- mov r10, r3\n\
- ldr r4, =sBattleRecords\n\
- mov r9, r4\n\
- movs r5, 0xA6\n\
- lsls r5, 2\n\
- mov r8, r5\n\
- ldr r0, =0x0000051c\n\
- adds r5, r7, r0\n\
-_081859D4:\n\
- adds r4, r6, 0x1\n\
- mov r0, r8\n\
- muls r0, r6\n\
- mov r1, r9\n\
- adds r2, r0, r1\n\
- adds r1, r0, r5\n\
- mov r3, r10\n\
- adds r3, 0x1\n\
-_081859E4:\n\
- ldrb r0, [r2]\n\
- strb r0, [r1]\n\
- adds r2, 0x1\n\
- adds r1, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bne _081859E4\n\
- adds r6, r4, 0\n\
- cmp r6, 0x3\n\
- ble _081859D4\n\
-_081859F8:\n\
- adds r0, r7, 0\n\
- ldr r1, [sp]\n\
- bl sub_81852F0\n\
- adds r4, r0, 0\n\
- cmp r4, 0x1\n\
- beq _08185A14\n\
- ldr r0, [sp, 0x4]\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp, 0x4]\n\
- cmp r0, 0x2\n\
- bls _081859F8\n\
-_08185A14:\n\
- adds r0, r7, 0\n\
- bl Free\n\
- ldr r0, [sp]\n\
- bl Free\n\
- adds r0, r4, 0\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool\n\
- .syntax divided");
+ free(battleSave);
+ free(savSection);
+ return ret;
}
-#endif // NONMATCHING
static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, struct SaveSection *saveBuffer)
{
- if (TryCopySpecialSaveSection(SECTION_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1)
+ if (TryCopySpecialSaveSection(SECTOR_ID_RECORDED_BATTLE, (void*)(saveBuffer)) != 1)
return FALSE;
memcpy(dst, saveBuffer, sizeof(struct RecordedBattleSave));
@@ -1282,7 +501,7 @@ static bool32 TryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst, stru
return TRUE;
}
-static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst)
+static bool32 CopyRecordedBattleFromSave(struct RecordedBattleSave *dst)
{
struct SaveSection *savBuffer = AllocZeroed(sizeof(struct SaveSection));
bool32 ret = TryCopyRecordedBattleSaveData(dst, savBuffer);
@@ -1293,7 +512,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst)
static void CB2_RecordedBattleEnd(void)
{
- gSaveBlock2Ptr->frontier.lvlMode = sUnknown_0203C7AD;
+ gSaveBlock2Ptr->frontier.lvlMode = sLvlMode;
gBattleOutcome = 0;
gBattleTypeFlags = 0;
gTrainerBattleOpponent_A = 0;
@@ -1316,7 +535,7 @@ static void Task_StartAfterCountdown(u8 taskId)
}
}
-static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
+static void SetVariablesForRecordedBattle(struct RecordedBattleSave *src)
{
bool8 var;
s32 i, j;
@@ -1353,29 +572,29 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
gTrainerBattleOpponent_B = src->opponentB;
gPartnerTrainerId = src->partnerId;
gUnknown_0203C7B4 = src->field_4FA;
- sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.lvlMode;
- sFrontierFacility = src->field_4FD;
- sUnknown_0203C7AF = src->field_4FE;
- sBattleStyle = src->battleStyle;
+ sLvlMode = gSaveBlock2Ptr->frontier.lvlMode;
+ sFrontierFacility = src->frontierFacility;
+ sFrontierBrainSymbol = src->frontierBrainSymbol;
+ sBattleScene = src->battleScene;
sTextSpeed = src->textSpeed;
sAI_Scripts = src->AI_scripts;
- for (i = 0; i < 8; i++)
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
{
- sUnknown_0203CCD1[i] = src->field_504[i];
+ sRecordMixFriendName[i] = src->recordMixFriendName[i];
}
- sUnknown_0203CCD9 = src->field_50C;
- sUnknown_0203CCDA = src->field_50D;
- gUnknown_03001278 = src->field_51A;
- gUnknown_03001279 = src->field_51B;
+ sRecordMixFriendClass = src->recordMixFriendClass;
+ sApprenticeId = src->apprenticeId;
+ sRecordMixFriendLanguage = src->recordMixFriendLanguage;
+ sApprenticeLanguage = src->apprenticeLanguage;
for (i = 0; i < 6; i++)
{
- sUnknown_0203CCDC[i] = src->field_50E[i];
+ sEasyChatSpeech[i] = src->easyChatSpeech[i];
}
- gSaveBlock2Ptr->frontier.lvlMode = src->field_4FC;
+ gSaveBlock2Ptr->frontier.lvlMode = src->lvlMode;
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
{
@@ -1389,12 +608,12 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src)
void PlayRecordedBattle(void (*CB2_After)(void))
{
struct RecordedBattleSave *battleSave = AllocZeroed(sizeof(struct RecordedBattleSave));
- if (AllocTryCopyRecordedBattleSaveData(battleSave) == TRUE)
+ if (CopyRecordedBattleFromSave(battleSave) == TRUE)
{
u8 taskId;
RecordedBattle_SaveParties();
- SetRecordedBattleVarsFromSave(battleSave);
+ SetVariablesForRecordedBattle(battleSave);
taskId = CreateTask(Task_StartAfterCountdown, 1);
gTasks[taskId].tFramesToWait = 128;
@@ -1420,9 +639,9 @@ u8 GetRecordedBattleFrontierFacility(void)
return sFrontierFacility;
}
-u8 sub_8185EAC(void)
+u8 GetRecordedBattleFronterBrainSymbol(void)
{
- return sUnknown_0203C7AF;
+ return sFrontierBrainSymbol;
}
void RecordedBattle_SaveParties(void)
@@ -1478,9 +697,9 @@ u8 sub_8185FAC(void)
return sUnknown_0203C7B5;
}
-u8 GetBattleStyleInRecordedBattle(void)
+u8 GetBattleSceneInRecordedBattle(void)
{
- return sBattleStyle;
+ return sBattleScene;
}
u8 GetTextSpeedInRecordedBattle(void)
@@ -1630,38 +849,38 @@ void sub_8186468(u8 *dst)
s32 i;
for (i = 0; i < 8; i++)
- dst[i] = sUnknown_0203CCD1[i];
+ dst[i] = sRecordMixFriendName[i];
dst[7] = EOS;
- ConvertInternationalString(dst, gUnknown_03001278);
+ ConvertInternationalString(dst, sRecordMixFriendLanguage);
}
-u8 sub_818649C(void)
+u8 GetRecordedBattleRecordMixFriendClass(void)
{
- return sUnknown_0203CCD9;
+ return sRecordMixFriendClass;
}
-u8 sub_81864A8(void)
+u8 GetRecordedBattleApprenticeId(void)
{
- return sUnknown_0203CCDA;
+ return sApprenticeId;
}
-u8 sub_81864B4(void)
+u8 GetRecordedBattleRecordMixFriendLanguage(void)
{
- return gUnknown_03001278;
+ return sRecordMixFriendLanguage;
}
-u8 sub_81864C0(void)
+u8 GetRecordedBattleApprenticeLanguage(void)
{
- return gUnknown_03001279;
+ return sApprenticeLanguage;
}
-void sub_81864CC(void)
+void RecordedBattle_SaveBattleOutcome(void)
{
- sUnknown_0203CCE8 = gBattleOutcome;
+ sBattleOutcome = gBattleOutcome;
}
-u16 *sub_81864E0(void)
+u16 *GetRecordedBattleEasyChatSpeech(void)
{
- return sUnknown_0203CCDC;
+ return sEasyChatSpeech;
}
diff --git a/src/region_map.c b/src/region_map.c
index e06d121e9..262a7d020 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -34,15 +34,6 @@
// Static type declarations
-struct RegionMapLocation
-{
- u8 x;
- u8 y;
- u8 width;
- u8 height;
- const u8 *name;
-};
-
// Static RAM declarations
static EWRAM_DATA struct RegionMap *gRegionMap = NULL;
@@ -99,11 +90,11 @@ static void sub_8124E0C(void);
// .rodata
static const u16 sRegionMapCursorPal[] = INCBIN_U16("graphics/pokenav/cursor.gbapal");
-static const u8 sRegionMapCursorSmallGfxLZ[] = INCBIN_U8("graphics/pokenav/cursor_small.4bpp.lz");
-static const u8 sRegionMapCursorLargeGfxLZ[] = INCBIN_U8("graphics/pokenav/cursor_large.4bpp.lz");
+static const u32 sRegionMapCursorSmallGfxLZ[] = INCBIN_U32("graphics/pokenav/cursor_small.4bpp.lz");
+static const u32 sRegionMapCursorLargeGfxLZ[] = INCBIN_U32("graphics/pokenav/cursor_large.4bpp.lz");
static const u16 sRegionMapBkgnd_Pal[] = INCBIN_U16("graphics/pokenav/region_map.gbapal");
-static const u8 sRegionMapBkgnd_GfxLZ[] = INCBIN_U8("graphics/pokenav/region_map.8bpp.lz");
-static const u8 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U8("graphics/pokenav/region_map_map.bin.lz");
+static const u32 sRegionMapBkgnd_GfxLZ[] = INCBIN_U32("graphics/pokenav/region_map.8bpp.lz");
+static const u32 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U32("graphics/pokenav/region_map_map.bin.lz");
static const u16 sRegionMapPlayerIcon_BrendanPal[] = INCBIN_U16("graphics/pokenav/brendan_icon.gbapal");
static const u8 sRegionMapPlayerIcon_BrendanGfx[] = INCBIN_U8("graphics/pokenav/brendan_icon.4bpp");
static const u16 sRegionMapPlayerIcon_MayPal[] = INCBIN_U16("graphics/pokenav/may_icon.gbapal");
@@ -236,13 +227,13 @@ static const u8 sRegionMapEventSectionIds[] = {
static const u16 sRegionMapFramePal[] = INCBIN_U16("graphics/pokenav/map_frame.gbapal");
-static const u8 sRegionMapFrameGfxLZ[] = INCBIN_U8("graphics/pokenav/map_frame.4bpp.lz");
+static const u32 sRegionMapFrameGfxLZ[] = INCBIN_U32("graphics/pokenav/map_frame.4bpp.lz");
-static const u8 sRegionMapFrameTilemapLZ[] = INCBIN_U8("graphics/pokenav/map_frame.bin.lz");
+static const u32 sRegionMapFrameTilemapLZ[] = INCBIN_U32("graphics/pokenav/map_frame.bin.lz");
static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_icons.gbapal");
-static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz");
+static const u32 sUnknown_085A1D68[] = INCBIN_U32("graphics/pokenav/fly_target_icons.4bpp.lz");
static const u8 sMapHealLocations[][3] = {
{MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F},
diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c
index 60580ef2d..7f2eb3746 100644
--- a/src/reshow_battle_screen.c
+++ b/src/reshow_battle_screen.c
@@ -16,15 +16,6 @@
#include "battle_anim.h"
#include "data2.h"
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG0_Y;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
-extern u16 gBattle_BG3_Y;
-
extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[];
extern void SetMultiuseSpriteTemplateToTrainerBack(u16 backPicId, u8 battlerPosition);
diff --git a/src/roamer.c b/src/roamer.c
index fbd25bfad..be45642e0 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -1,9 +1,10 @@
#include "global.h"
-#include "roamer.h"
+#include "event_data.h"
#include "pokemon.h"
#include "random.h"
+#include "roamer.h"
+#include "constants/maps.h"
#include "constants/species.h"
-#include "event_data.h"
enum
{
@@ -16,26 +17,26 @@ EWRAM_DATA static u8 sRoamerLocation[2] = {0};
static const u8 sRoamerLocations[][6] =
{
- { 0x19, 0x1A, 0x20, 0x21, 0x31, 0xFF },
- { 0x1A, 0x19, 0x20, 0x21, 0xFF, 0xFF },
- { 0x20, 0x1A, 0x19, 0x21, 0xFF, 0xFF },
- { 0x21, 0x20, 0x19, 0x1A, 0x22, 0x26 },
- { 0x22, 0x21, 0x23, 0xFF, 0xFF, 0xFF },
- { 0x23, 0x22, 0x24, 0xFF, 0xFF, 0xFF },
- { 0x24, 0x23, 0x25, 0x26, 0xFF, 0xFF },
- { 0x25, 0x24, 0x26, 0xFF, 0xFF, 0xFF },
- { 0x26, 0x25, 0x21, 0xFF, 0xFF, 0xFF },
- { 0x27, 0x24, 0x28, 0x29, 0xFF, 0xFF },
- { 0x28, 0x27, 0x2A, 0xFF, 0xFF, 0xFF },
- { 0x29, 0x27, 0x2A, 0xFF, 0xFF, 0xFF },
- { 0x2A, 0x28, 0x29, 0x2B, 0xFF, 0xFF },
- { 0x2B, 0x2A, 0x2C, 0xFF, 0xFF, 0xFF },
- { 0x2C, 0x2B, 0x2D, 0xFF, 0xFF, 0xFF },
- { 0x2D, 0x2C, 0x2E, 0xFF, 0xFF, 0xFF },
- { 0x2E, 0x2D, 0x2F, 0xFF, 0xFF, 0xFF },
- { 0x2F, 0x2E, 0x30, 0xFF, 0xFF, 0xFF },
- { 0x30, 0x2F, 0x31, 0xFF, 0xFF, 0xFF },
- { 0x31, 0x30, 0x19, 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), MAP_NUM(ROUTE134), 0xFF },
+ { MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE117), MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE118), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE118), MAP_NUM(ROUTE117), MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE119), MAP_NUM(ROUTE123) },
+ { MAP_NUM(ROUTE119), MAP_NUM(ROUTE118), MAP_NUM(ROUTE120), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE120), MAP_NUM(ROUTE119), MAP_NUM(ROUTE121), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE121), MAP_NUM(ROUTE120), MAP_NUM(ROUTE122), MAP_NUM(ROUTE123), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE122), MAP_NUM(ROUTE121), MAP_NUM(ROUTE123), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE123), MAP_NUM(ROUTE122), MAP_NUM(ROUTE118), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE124), MAP_NUM(ROUTE121), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE125), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE126), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE127), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), MAP_NUM(ROUTE128), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE128), MAP_NUM(ROUTE127), MAP_NUM(ROUTE129), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE129), MAP_NUM(ROUTE128), MAP_NUM(ROUTE130), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE130), MAP_NUM(ROUTE129), MAP_NUM(ROUTE131), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE131), MAP_NUM(ROUTE130), MAP_NUM(ROUTE132), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE132), MAP_NUM(ROUTE131), MAP_NUM(ROUTE133), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE133), MAP_NUM(ROUTE132), MAP_NUM(ROUTE134), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE134), MAP_NUM(ROUTE133), MAP_NUM(ROUTE110), 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
};
@@ -79,7 +80,7 @@ static void CreateInitialRoamerMon(bool16 createLatios)
(&gSaveBlock1Ptr->roamer)->smart = GetMonData(&gEnemyParty[0], MON_DATA_SMART);
(&gSaveBlock1Ptr->roamer)->tough = GetMonData(&gEnemyParty[0], MON_DATA_TOUGH);
sRoamerLocation[MAP_GRP] = 0;
- sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % 20][0];
+ sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0];
}
void InitRoamer(void)
@@ -103,20 +104,20 @@ void UpdateLocationHistoryForRoamer(void)
void RoamerMoveToOtherLocationSet(void)
{
- u8 val = 0;
+ u8 mapNum = 0;
struct Roamer *roamer = &gSaveBlock1Ptr->roamer;
if (!roamer->active)
return;
- sRoamerLocation[MAP_GRP] = val;
+ sRoamerLocation[MAP_GRP] = 0;
while (1)
{
- val = sRoamerLocations[Random() % 20][0];
- if (sRoamerLocation[MAP_NUM] != val)
+ mapNum = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0];
+ if (sRoamerLocation[MAP_NUM] != mapNum)
{
- sRoamerLocation[MAP_NUM] = val;
+ sRoamerLocation[MAP_NUM] = mapNum;
return;
}
}
@@ -137,7 +138,7 @@ void RoamerMove(void)
if (!roamer->active)
return;
- while (locSet < 20)
+ while (locSet < (ARRAY_COUNT(sRoamerLocations) - 1))
{
if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0])
{
diff --git a/src/rock.c b/src/rock.c
new file mode 100644
index 000000000..3b8e505d8
--- /dev/null
+++ b/src/rock.c
@@ -0,0 +1,878 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "palette.h"
+#include "sound.h"
+#include "task.h"
+#include "trig.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+
+extern const union AnimCmd *const gUnknown_085950E0[];
+extern const union AnimCmd *const gUnknown_085954D0[];
+
+extern void AnimMoveTwisterParticle(struct Sprite *);
+
+void sub_81109F0(struct Sprite *);
+void sub_8110AB4(struct Sprite *);
+void AnimDirtParticleAcrossScreen(struct Sprite *);
+void AnimRaiseSprite(struct Sprite *);
+void sub_81110A4(u8 taskId);
+void sub_811131C(struct Sprite *);
+void sub_8111388(struct Sprite *);
+void sub_8111418(struct Sprite *);
+void sub_8111444(struct Sprite *);
+void sub_8110B38(struct Sprite *);
+static void sub_8110A70(struct Sprite *);
+static void sub_8110B80(struct Sprite *sprite);
+static void sub_8110CB0(u8 taskId);
+static void sub_8111214(struct Task *task);
+static u8 sub_811135C(void);
+static void sub_81113C8(struct Sprite *sprite);
+static void sub_811149C(struct Sprite *sprite);
+
+const union AnimCmd gUnknown_08596AE0[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596AE8[] =
+{
+ ANIMCMD_FRAME(48, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596AF0[] =
+{
+ ANIMCMD_FRAME(64, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596AF8[] =
+{
+ gUnknown_08596AE0,
+ gUnknown_08596AE8,
+ gUnknown_08596AF0,
+};
+
+const struct SpriteTemplate gUnknown_08596B04 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596AF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81109F0,
+};
+
+const struct SpriteTemplate gUnknown_08596B1C =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596AF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8110AB4,
+};
+
+const struct SpriteTemplate gUnknown_08596B34 =
+{
+ .tileTag = ANIM_TAG_MUD_SAND,
+ .paletteTag = ANIM_TAG_MUD_SAND,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8110B38,
+};
+
+const union AffineAnimCmd gUnknown_08596B4C[] =
+{
+ AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x2, 0xFFFD, 0, 5),
+ AFFINEANIMCMD_FRAME(0xFFFE, 0x3, 0, 5),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08596B6C[] =
+{
+ gUnknown_08596B4C,
+};
+
+const struct SpriteTemplate gUnknown_08596B70 =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_085950E0,
+ .images = NULL,
+ .affineAnims = gUnknown_08596B6C,
+ .callback = sub_8110B38,
+};
+
+const struct SpriteTemplate gUnknown_08596B88 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8110B38,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8596BA0 =
+{
+ .tileTag = ANIM_TAG_FLYING_DIRT,
+ .paletteTag = ANIM_TAG_FLYING_DIRT,
+ .oam = &gUnknown_08524934,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimDirtParticleAcrossScreen,
+};
+
+const struct Subsprite gUnknown_08596BB8[] =
+{
+ {.x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 0, .priority = 1},
+ {.x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 8, .priority = 1},
+};
+
+const struct SubspriteTable gUnknown_08596BC0[] =
+{
+ {ARRAY_COUNT(gUnknown_08596BB8), gUnknown_08596BB8},
+};
+
+const union AnimCmd gUnknown_08596BC8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596BD0[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596BD8[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596BE0[] =
+{
+ ANIMCMD_FRAME(48, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596BE8[] =
+{
+ ANIMCMD_FRAME(64, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08596BF0[] =
+{
+ ANIMCMD_FRAME(80, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08596BF8[] =
+{
+ gUnknown_08596BC8,
+ gUnknown_08596BD0,
+};
+
+const union AnimCmd *const gUnknown_08596C00[] =
+{
+ gUnknown_08596BD8,
+ gUnknown_08596BE0,
+};
+
+const union AnimCmd *const gUnknown_08596C08[] =
+{
+ gUnknown_08596BE8,
+ gUnknown_08596BF0,
+};
+
+const struct SpriteTemplate gUnknown_08596C10 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596BF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimRaiseSprite,
+};
+
+const struct SpriteTemplate gUnknown_08596C28 =
+{
+ .tileTag = ANIM_TAG_MUD_SAND,
+ .paletteTag = ANIM_TAG_MUD_SAND,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_811131C,
+};
+
+const struct SpriteTemplate gUnknown_08596C40 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_811131C,
+};
+
+const struct SpriteTemplate gUnknown_08596C58 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596BF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8111388,
+};
+
+const union AffineAnimCmd gUnknown_08596C70[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd gUnknown_08596C80[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08596C90[] =
+{
+ gUnknown_08596C70,
+ gUnknown_08596C80,
+};
+
+const struct SpriteTemplate gUnknown_08596C98 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_08596BF8,
+ .images = NULL,
+ .affineAnims = gUnknown_08596C90,
+ .callback = sub_8111418,
+};
+
+const struct SpriteTemplate gUnknown_08596CB0 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_08596BF8,
+ .images = NULL,
+ .affineAnims = gUnknown_08596C90,
+ .callback = sub_8111444,
+};
+
+const struct SpriteTemplate gUnknown_08596CC8 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08596C08,
+ .images = NULL,
+ .affineAnims = gUnknown_08596C90,
+ .callback = AnimMoveTwisterParticle,
+};
+
+const struct SpriteTemplate gUnknown_08596CE0 =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_08596C00,
+ .images = NULL,
+ .affineAnims = gUnknown_08596C90,
+ .callback = sub_80A8EE4,
+};
+
+void sub_81109F0(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[3] != 0)
+ SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
+
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += 14;
+
+ StartSpriteAnim(sprite, gBattleAnimArgs[1]);
+ AnimateSprite(sprite);
+
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2] = 4;
+ sprite->data[3] = 16;
+ sprite->data[4] = -70;
+ sprite->data[5] = gBattleAnimArgs[2];
+
+ StoreSpriteCallbackInData6(sprite, sub_8110A70);
+ sprite->callback = sub_80A6450;
+ sprite->callback(sprite);
+}
+
+static void sub_8110A70(struct Sprite *sprite)
+{
+ sprite->pos1.x += sprite->data[5];
+
+ sprite->data[0] = 192;
+ sprite->data[1] = sprite->data[5];
+ sprite->data[2] = 4;
+ sprite->data[3] = 32;
+ sprite->data[4] = -24;
+
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A6450;
+ sprite->callback(sprite);
+}
+
+void sub_8110AB4(struct Sprite *sprite)
+{
+ StartSpriteAnim(sprite, gBattleAnimArgs[5]);
+ AnimateSprite(sprite);
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ else
+ sprite->pos1.x += gBattleAnimArgs[0];
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[3];
+
+ InitSpriteDataForLinearTranslation(sprite);
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+
+ sprite->callback = sub_80A656C;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+}
+
+void sub_8110B38(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[6] == 0)
+ InitAnimSpritePos(sprite, 0);
+ else
+ sub_80A6980(sprite, FALSE);
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[2] = gBattleAnimArgs[4];
+ sprite->data[3] = gBattleAnimArgs[5];
+
+ sprite->callback = sub_8110B80;
+}
+
+static void sub_8110B80(struct Sprite *sprite)
+{
+ sprite->data[4] += sprite->data[1];
+ sprite->pos2.y = -(sprite->data[4] >> 8);
+ sprite->pos2.x = Sin(sprite->data[5], sprite->data[3]);
+ sprite->data[5] = (sprite->data[5] + sprite->data[2]) & 0xFF;
+
+ if (--sprite->data[0] == -1)
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void AnimTask_LoadSandstormBackground(u8 taskId)
+{
+ int var0;
+ struct UnknownAnimStruct2 unknownStruct;
+
+ var0 = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ 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(&unknownStruct);
+ sub_80A6CC0(unknownStruct.bgId, gUnknown_08D8D58C, unknownStruct.tilesOffset);
+ sub_80A6D60(&unknownStruct, gUnknown_08D8D410, 0);
+ LoadCompressedPalette(&gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32);
+
+ if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ var0 = 1;
+
+ gTasks[taskId].data[0] = var0;
+ gTasks[taskId].func = sub_8110CB0;
+}
+
+static void sub_8110CB0(u8 taskId)
+{
+ struct UnknownAnimStruct2 unknownStruct;
+
+ if (gTasks[taskId].data[0] == 0)
+ gBattle_BG1_X += -6;
+ else
+ gBattle_BG1_X += 6;
+
+ gBattle_BG1_Y += -1;
+
+ switch (gTasks[taskId].data[12])
+ {
+ case 0:
+ 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] == 7)
+ {
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
+ }
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[11] == 101)
+ {
+ gTasks[taskId].data[11] = 7;
+ 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(&unknownStruct);
+ sub_80A6C68(unknownStruct.bgId);
+ gTasks[taskId].data[12]++;
+ break;
+ 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, 0);
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+// Animates the sprites that fly diagonally across the screen
+// in Sandstorm and Heat Wave.
+// arg 0: initial y pixel offset
+// arg 1: projectile speed
+// arg 2: y pixel drop
+// arg 3: ??? unknown (possibly a color bit)
+void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->pos1.x = 304;
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ sprite->data[5] = 1;
+ sprite->oam.matrixNum = 8;
+ }
+ else
+ {
+ sprite->pos1.x = -64;
+ }
+
+ sprite->pos1.y = gBattleAnimArgs[0];
+ SetSubspriteTables(sprite, gUnknown_08596BC0);
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[2];
+ sprite->data[0]++;
+ }
+ else
+ {
+ 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[3] &= 0xFF;
+ sprite->data[4] &= 0xFF;
+
+ if (sprite->data[5] == 0)
+ {
+ if (sprite->pos1.x + sprite->pos2.x > 272)
+ {
+ sprite->callback = DestroyAnimSprite;
+ }
+ }
+ else if (sprite->pos1.x + sprite->pos2.x < -32)
+ {
+ sprite->callback = DestroyAnimSprite;
+ }
+ }
+}
+
+// Animates the rising rocks in Ancient Power.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: terminal y offset
+// arg 3: duration
+// arg 4: sprite size [1,5]
+void AnimRaiseSprite(struct Sprite *sprite)
+{
+ StartSpriteAnim(sprite, gBattleAnimArgs[4]);
+ InitAnimSpritePos(sprite, 0);
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[2] = sprite->pos1.x;
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
+
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_8110F74(u8 taskId)
+{
+ u16 var0, var1, var2, var3;
+ u8 var4;
+ int var5;
+ s16 pan1, pan2;
+ struct Task *task;
+
+ task = &gTasks[taskId];
+
+ var0 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ var1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 24;
+ var2 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ var3 = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 24;
+
+ if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget)
+ var3 = var1;
+
+ var4 = sub_811135C();
+ if (var4 == 1)
+ task->data[8] = 32;
+ else
+ task->data[8] = 48 - (var4 * 8);
+
+ task->data[0] = 0;
+ task->data[11] = 0;
+ task->data[9] = 0;
+ task->data[12] = 1;
+
+ var5 = task->data[8];
+ if (var5 < 0)
+ var5 += 7;
+
+ task->data[10] = (var5 >> 3) - 1;
+
+ task->data[2] = var0 * 8;
+ task->data[3] = var1 * 8;
+ task->data[4] = ((var2 - var0) * 8) / task->data[8];
+ task->data[5] = ((var3 - var1) * 8) / task->data[8];
+ task->data[6] = 0;
+ task->data[7] = 0;
+
+ pan1 = BattleAnimAdjustPanning(-64);
+ pan2 = BattleAnimAdjustPanning(63);
+
+ task->data[13] = pan1;
+ task->data[14] = (pan2 - pan1) / task->data[8];
+ task->data[1] = var4;
+ task->data[15] = GetAnimBattlerSpriteId(0);
+
+ task->func = sub_81110A4;
+}
+
+void sub_81110A4(u8 taskId)
+{
+ struct Task *task;
+
+ task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[6] -= task->data[4];
+ task->data[7] -= task->data[5];
+ gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
+ gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
+
+ if (++task->data[9] == 10)
+ {
+ task->data[11] = 20;
+ task->data[0]++;
+ }
+
+ PlaySE12WithPanning(SE_W029, task->data[13]);
+ break;
+ case 1:
+ if (--task->data[11] == 0)
+ task->data[0]++;
+ break;
+ case 2:
+ if (--task->data[9] != 0)
+ {
+ task->data[6] += task->data[4];
+ task->data[7] += task->data[5];
+ }
+ else
+ {
+ task->data[6] = 0;
+ task->data[7] = 0;
+ task->data[0]++;
+ }
+
+ gSprites[task->data[15]].pos2.x = task->data[6] >> 3;
+ gSprites[task->data[15]].pos2.y = task->data[7] >> 3;
+ break;
+ case 3:
+ task->data[2] += task->data[4];
+ task->data[3] += task->data[5];
+ if (++task->data[9] >= task->data[10])
+ {
+ task->data[9] = 0;
+ sub_8111214(task);
+ task->data[13] += task->data[14];
+ PlaySE12WithPanning(SE_W091, task->data[13]);
+ }
+
+ if (--task->data[8] == 0)
+ {
+ task->data[0]++;
+ }
+ break;
+ case 4:
+ if (task->data[11] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_8111214(struct Task *task)
+{
+ const struct SpriteTemplate *spriteTemplate;
+ int var0;
+ u16 x, y;
+ u8 spriteId;
+
+ switch (task->data[1])
+ {
+ case 1:
+ spriteTemplate = &gUnknown_08596C28;
+ var0 = 0;
+ break;
+ case 2:
+ case 3:
+ spriteTemplate = &gUnknown_08596C40;
+ var0 = 80;
+ break;
+ case 4:
+ spriteTemplate = &gUnknown_08596C40;
+ var0 = 64;
+ break;
+ case 5:
+ spriteTemplate = &gUnknown_08596C40;
+ var0 = 48;
+ break;
+ default:
+ return;
+ }
+
+ x = task->data[2] >> 3;
+ y = task->data[3] >> 3;
+ x += (task->data[12] * 4);
+
+ spriteId = CreateSprite(spriteTemplate, x, y, 35);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = 18;
+ gSprites[spriteId].data[2] = ((task->data[12] * 20) + x) + (task->data[1] * 3);
+ gSprites[spriteId].data[4] = y;
+ gSprites[spriteId].data[5] = -16 - (task->data[1] * 2);
+ gSprites[spriteId].oam.tileNum += var0;
+
+ InitAnimArcTranslation(&gSprites[spriteId]);
+ task->data[11]++;
+ }
+
+ task->data[12] *= -1;
+}
+
+void sub_811131C(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ {
+ u8 taskId = FindTaskIdByFunc(sub_81110A4);
+ if (taskId != 0xFF)
+ gTasks[taskId].data[11]--;
+
+ DestroySprite(sprite);
+ }
+}
+
+static u8 sub_811135C(void)
+{
+ u8 retVal = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer;
+ u8 var0 = retVal - 1;
+ if (var0 > 4)
+ retVal = 1;
+
+ return retVal;
+}
+
+void sub_8111388(struct Sprite *sprite)
+{
+ StartSpriteAnim(sprite, gBattleAnimArgs[4]);
+
+ sprite->pos2.x = gBattleAnimArgs[0];
+ sprite->data[2] = gBattleAnimArgs[1];
+ sprite->data[3] -= gBattleAnimArgs[2];
+ sprite->data[0] = 3;
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->callback = sub_81113C8;
+ sprite->invisible = 1;
+}
+
+static void sub_81113C8(struct Sprite *sprite)
+{
+ sprite->invisible = 0;
+ if (sprite->data[3] != 0)
+ {
+ sprite->pos2.y = sprite->data[2] + sprite->data[3];
+ sprite->data[3] += sprite->data[0];
+ sprite->data[0]++;
+ if (sprite->data[3] > 0)
+ {
+ sprite->data[3] = 0;
+ }
+ }
+ else
+ {
+ if (--sprite->data[1] == 0)
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_8111418(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ StartSpriteAffineAnim(sprite, 1);
+
+ TranslateAnimSpriteToTargetMonLocation(sprite);
+}
+
+void sub_8111444(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+
+ sprite->data[1] = gBattleAnimArgs[0];
+ sprite->data[2] = gBattleAnimArgs[1];
+ sprite->data[5] = gBattleAnimArgs[2];
+
+ StartSpriteAnim(sprite, gBattleAnimArgs[3]);
+ sprite->callback = sub_811149C;
+}
+
+static void sub_811149C(struct Sprite *sprite)
+{
+ sprite->data[0] += 8;
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+
+ sprite->pos2.x += sprite->data[3] / 40;
+ sprite->pos2.y -= Sin(sprite->data[0], sprite->data[5]);
+
+ if (sprite->data[0] > 140)
+ DestroyAnimSprite(sprite);
+}
+
+void AnimTask_GetSeismicTossDamageLevel(u8 taskId)
+{
+ if (gAnimMoveDmg < 33)
+ gBattleAnimArgs[7] = 0;
+ if ((u32)gAnimMoveDmg - 33 < 33)
+ gBattleAnimArgs[7] = 1;
+ if (gAnimMoveDmg > 65)
+ gBattleAnimArgs[7] = 2;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_811152C(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0)
+ {
+ sub_80A6DAC(0);
+ gTasks[taskId].data[1] = 200;
+ }
+
+ gBattle_BG3_Y += gTasks[taskId].data[1] / 10;
+ gTasks[taskId].data[1] -= 3;
+
+ if (gTasks[taskId].data[0] == 120)
+ {
+ sub_80A6DAC(1);
+ DestroyAnimVisualTask(taskId);
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+void sub_8111590(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0)
+ {
+ sub_80A6DAC(0);
+ gTasks[taskId].data[0]++;
+ gTasks[taskId].data[2] = gBattle_BG3_Y;
+ }
+
+ gTasks[taskId].data[1] += 80;
+ gTasks[taskId].data[1] &= 0xFF;
+ gBattle_BG3_Y = gTasks[taskId].data[2] + Cos(4, gTasks[taskId].data[1]);
+
+ if (gBattleAnimArgs[7] == 0xFFF)
+ {
+ gBattle_BG3_Y = 0;
+ sub_80A6DAC(1);
+ DestroyAnimVisualTask(taskId);
+ }
+}
diff --git a/src/rom6.c b/src/rom6.c
index cc146fc94..8043730d2 100644
--- a/src/rom6.c
+++ b/src/rom6.c
@@ -1,21 +1,23 @@
#include "global.h"
-#include "constants/event_objects.h"
-#include "constants/songs.h"
-#include "rom6.h"
#include "braille_puzzles.h"
#include "event_data.h"
+#include "event_object_movement.h"
#include "event_scripts.h"
#include "field_effect.h"
-#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "item_use.h"
-#include "party_menu.h"
#include "overworld.h"
+#include "party_menu.h"
+#include "rom6.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
#include "task.h"
+#include "constants/event_object_movement_constants.h"
+#include "constants/event_objects.h"
+#include "constants/field_effects.h"
#include "constants/map_types.h"
+#include "constants/songs.h"
// static functions
static void task08_080C9820(u8 taskId);
@@ -31,14 +33,14 @@ static void sub_8135780(void);
extern struct MapPosition gPlayerFacingPosition;
// text
-bool8 CheckObjectGraphicsInFrontOfPlayer(u8 a)
+bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId)
{
u8 eventObjId;
GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
gPlayerFacingPosition.height = PlayerGetZCoord();
eventObjId = GetEventObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height);
- if (gEventObjects[eventObjId].graphicsId != a)
+ if (gEventObjects[eventObjId].graphicsId != graphicsId)
{
return FALSE;
}
@@ -73,7 +75,7 @@ static void task08_080C9820(u8 taskId)
else
{
sub_808C114();
- EventObjectSetHeldMovement(&gEventObjects[eventObjId], 0x39);
+ EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION);
gTasks[taskId].func = sub_813552C;
}
}
@@ -90,7 +92,7 @@ static void sub_813552C(u8 taskId)
static void sub_8135578(u8 taskId)
{
- if (!FieldEffectActiveListContains(6))
+ if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
{
gFieldEffectArguments[1] = GetPlayerFacingDirection();
if (gFieldEffectArguments[1] == 1)
@@ -189,7 +191,7 @@ bool8 FldEff_UseDig(void)
gTasks[taskId].data[8] = (u32)sub_8135780 >> 16;
gTasks[taskId].data[9] = (u32)sub_8135780;
if (!ShouldDoBrailleDigEffect())
- SetPlayerAvatarTransitionFlags(1);
+ SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
return FALSE;
}
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
index bf16a20fc..a197598de 100644
--- a/src/rom_8011DC0.c
+++ b/src/rom_8011DC0.c
@@ -39,7 +39,7 @@ extern void HealPlayerParty(void);
struct UnkStruct_Shared
{
struct UnkLinkRfuStruct_02022B14 field_0;
- u8 needingPadding[3];
+ u8 needingPadding[2];
u8 playerName[PLAYER_NAME_LENGTH + 1];
};
@@ -63,7 +63,7 @@ struct UnkStruct_x20
struct UnkStruct_Main0
{
- struct UnkStruct_x20 arr[5];
+ struct UnkStruct_x20 arr[8];
};
struct UnkStruct_Main4
@@ -153,9 +153,7 @@ struct UnkStruct_URoom
u16 field_4C[6];
u8 field_58[0x98 - 0x58];
u16 field_98;
- u16 field_9A;
- u16 field_9C;
- u16 field_9E;
+ u16 field_9A[3];
struct UnkStruct_8019BA8 field_A0[8];
};
@@ -182,17 +180,18 @@ struct TradeUnkStruct
};
extern struct TradeUnkStruct gUnknown_02022C40;
-
+extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
extern union UnkUnion_Main gUnknown_02022C30;
-
extern u8 gUnknown_02022C2C;
extern u8 gUnknown_02022C2D;
extern u8 gUnknown_02022C3E;
extern u16 gUnknown_02022C3C;
-extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
-
+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];
// IWRAM vars
IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0;
@@ -212,7 +211,7 @@ void sub_8014F48(u8 taskId);
void sub_80152F4(u8 taskId);
void sub_80156E0(u8 taskId);
void sub_80175EC(struct UnkStruct_Main4 *arg0, u8 count);
-void sub_8017580(struct UnkStruct_Main0 *arg0, u8 count);
+void sub_8017580(struct UnkStruct_x20 *arg0, u8 count);
u8 sub_8016FC0(struct UnkStruct_Main4 *arg0, u32 arg1);
u8 sub_8016FF0(struct UnkStruct_Main4 *arg0, u32 arg1);
bool8 PrintOnTextbox(u8 *textState, const u8 *str);
@@ -265,7 +264,7 @@ void sub_801689C(struct UnkStruct_URoom *arg0);
u8 sub_80181DC(struct UnkStruct_URoom *arg0);
bool32 sub_80168DC(struct UnkStruct_URoom *arg0);
bool32 sub_801704C(void);
-u32 sub_8017CF8(u32 arg1, struct UnkStruct_Main0 *arg0);
+s32 sub_8017CF8(s32 arg1, struct UnkStruct_Main0 *arg0);
s32 sub_80179D4(struct UnkStruct_Main0 *arg0, u8 arg1, u8 arg2, u32 playerGender);
void sub_801818C(bool32 arg0);
void sub_801A3D0(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2);
@@ -282,7 +281,10 @@ void sub_8019E3C(void);
void sub_80173B0(void);
s32 sub_8017D04(u32 type, u32 species);
void sub_8017020(const u8 *src);
-void sub_8019BA8();
+void sub_8019BA8(void *);
+s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3);
+void sub_801697C(u8 taskId);
+bool8 sub_8017630(struct UnkStruct_Shared* arg0, const struct UnkStruct_Shared* arg1);
// const rom data
extern const u8 *const gUnknown_082EDB60[][5];
@@ -376,7 +378,9 @@ extern const u8 *const gUnknown_082EE82C[][4];
extern const u8 *const gUnknown_082EE24C[][2];
-extern const struct UnkStruct_Shared gUnknown_082F045C[];
+extern const struct UnkStruct_Shared gUnknown_082F045C;
+
+extern const u8 *const gUnknown_082F04D8[22];
// code
void nullsub_89(void)
@@ -484,7 +488,7 @@ void sub_8012780(u8 taskId)
data->field_0 = AllocZeroed(0xA0);
data->field_8 = AllocZeroed(0xA0);
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 5);
+ sub_8017580(data->field_0->arr, 5);
sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
data->field_0->arr[0].field_18 = 0;
data->field_0->arr[0].field_1A_0 = 1;
@@ -1008,7 +1012,7 @@ u8 sub_8013398(struct UnkStruct_Main0 *arg0)
ret = copiedCount;
for (; copiedCount < 5; copiedCount++)
{
- data->field_0->arr[copiedCount].unk = gUnknown_082F045C[0];
+ data->field_0->arr[copiedCount].unk = gUnknown_082F045C;
data->field_0->arr[copiedCount].field_18 = 0;
data->field_0->arr[copiedCount].field_1A_0 = 0;
data->field_0->arr[copiedCount].field_1A_1 = 0;
@@ -1068,7 +1072,7 @@ void sub_80134E8(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FC0(data->field_4, gSpecialVar_0x8004);
data->field_C = AddWindow(&gUnknown_082F00BC);
data->listWindowId = AddWindow(&gUnknown_082F0174);
@@ -1370,7 +1374,7 @@ void sub_8013C7C(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FC0(data->field_4, 0xFF);
data->field_F = 0;
data->state = 3;
@@ -1395,8 +1399,6 @@ void sub_8013C7C(u8 taskId)
}
}
-extern const u8 *const gUnknown_082F04D8[22];
-
bool32 sub_8013D88(u32 arg0, u32 id)
{
if (id == 0xFF)
@@ -1518,9 +1520,6 @@ u8 sub_8013F78(void)
return taskId;
}
-extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
-extern u8 gUnknown_02032298[2];
-
void sub_8013F90(u8 taskId)
{
u32 monId = sub_8018120(&gUnknown_02022C40, GetMultiplayerId());
@@ -1784,8 +1783,6 @@ void sub_801440C(u8 taskId)
ScriptContext2_Disable();
}
-extern u8 gUnknown_0203CEF8[];
-
void sub_8014790(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1802,8 +1799,8 @@ void sub_8014790(u8 taskId)
gLinkPlayers[0].linkType = 0x2211;
gLinkPlayers[0].id = 0;
gLinkPlayers[1].id = 2;
- sendBuff[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES);
- sendBuff[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
+ sendBuff[0] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[0] - 1], MON_DATA_SPECIES);
+ sendBuff[1] = GetMonData(&gPlayerParty[gSelectedOrderFromParty[1] - 1], MON_DATA_SPECIES, NULL);
gMain.savedCallback = NULL;
data[0] = 4;
sub_800E3A8();
@@ -1934,7 +1931,7 @@ void sub_8014A40(u8 taskId)
data->field_0 = AllocZeroed(0xA0);
data->field_8 = AllocZeroed(0xA0);
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 5);
+ sub_8017580(data->field_0->arr, 5);
sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
data->field_0->arr[0].field_18 = 0;
data->field_0->arr[0].field_1A_0 = 1;
@@ -2143,7 +2140,7 @@ void sub_8014F48(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FC0(data->field_4, data->field_12 + 7);
winTemplate1 = gUnknown_082F0174;
@@ -2312,7 +2309,7 @@ void sub_80152F4(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FF0(data->field_4, data->field_12 + 7);
if (data->field_13 != 0)
@@ -2510,13 +2507,11 @@ void sub_80156C8(struct UnkStruct_URoom *data)
memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 0x100);
}
-// Cannot match, please fix later.
-/*
void sub_80156E0(u8 taskId)
{
u32 id = 0;
s32 var5 = 0;
- u32 playerGender = 0;
+ s32 playerGender = 0;
struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
s16 *taskData = gTasks[taskId].data;
@@ -2527,7 +2522,7 @@ void sub_80156E0(u8 taskId)
data->field_C = AllocZeroed(0x70);
data->field_0 = AllocZeroed(0x100);
data->field_8 = AllocZeroed(0x20);
- sub_8017580(data->field_0, 8);
+ sub_8017580(data->field_0->arr, 8);
gUnknown_02022C2C = 0x40;
data->field_20 = sub_8016DF0(data->field_C, data->field_4, 9);
sub_8019BA8(data->field_A0);
@@ -2545,7 +2540,7 @@ void sub_80156E0(u8 taskId)
sub_800B488();
OpenLink();
sub_8011C84();
- sub_8017580(data->field_8, 1);
+ sub_8017580(&data->field_8->arr[0], 1);
sub_80175EC(data->field_4, 4);
sub_80175EC(data->field_C, 4);
gSpecialVar_Result = 0;
@@ -2679,7 +2674,7 @@ void sub_80156E0(u8 taskId)
break;
case 1:
sub_8012188(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.field_0, gUnknown_02022C2C);
- data->field_12 = id;
+ data->field_12 = id; // Should be just 0, but won't match any other way.
data->state = 25;
break;
case 2:
@@ -2730,6 +2725,11 @@ void sub_80156E0(u8 taskId)
data->state = 2;
}
break;
+ case 5:
+ id = sub_80179AC(&data->field_0->arr[taskData[1]]);
+ playerGender = sub_8017CF8(taskData[1], data->field_0);
+ sub_8015664(6, gUnknown_082EE24C[id][playerGender]);
+ break;
case 6:
var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244);
if (var5 != -1)
@@ -2742,16 +2742,15 @@ void sub_80156E0(u8 taskId)
{
data->field_98 = 0;
playerGender = sub_8017CF8(taskData[1], data->field_0);
- switch (var5)
+ if (var5 == -2 || var5 == 0x40)
{
- case -2:
- case 0x40:
data->field_4C[0] = 0x40;
sub_800FE50(data->field_4C);
StringCopy(gStringVar4, gUnknown_082EEB80[gLinkPlayers[0].gender]);
data->state = 32;
- break;
- default:
+ }
+ else
+ {
gUnknown_02022C2C = var5;
gUnknown_02022C2D = (u32)(var5) >> 8;
if (gUnknown_02022C2C == 0x41 && !sub_8018024())
@@ -2764,7 +2763,6 @@ void sub_80156E0(u8 taskId)
sub_800FE50(data->field_4C);
data->state = 27;
}
- break;
}
}
}
@@ -2823,7 +2821,7 @@ void sub_80156E0(u8 taskId)
}
}
break;
- case 5:
+
case 7:
id = sub_80179AC(&data->field_0->arr[taskData[1]]);
playerGender = sub_8017CF8(taskData[1], data->field_0);
@@ -2835,7 +2833,7 @@ void sub_80156E0(u8 taskId)
data->state = 41;
sub_800ADF8();
data->field_98 = 0;
- data->field_9A = 0;
+ data->field_9A[0] = 0;
}
break;
case 41:
@@ -2919,7 +2917,7 @@ void sub_80156E0(u8 taskId)
PlaySE(SE_PINPON);
sub_800EF7C();
data->state = 12;
- data->field_9A = 0;
+ data->field_9A[0] = 0;
break;
case 12:
if (sub_8011A80())
@@ -3019,7 +3017,7 @@ void sub_80156E0(u8 taskId)
gUnknown_02022C2C = 0x40;
sub_8015664(0x25, gStringVar4);
memset(data->field_4C, 0, sizeof(data->field_4C));
- data->field_9A = 0;
+ data->field_9A[0] = 0;
data->field_98 = 0;
}
break;
@@ -3262,4 +3260,247 @@ void var_800D_set_xB(void)
gSpecialVar_Result = 11;
}
+void sub_801689C(struct UnkStruct_URoom *arg0)
+{
+ if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == 0x2F00)
+ {
+ arg0->field_9A[0] = gRecvCmds[1][1];
+ if (gRecvCmds[1][1] == 0x44)
+ {
+ arg0->field_9A[1] = gRecvCmds[1][2];
+ arg0->field_9A[2] = gRecvCmds[1][3];
+ }
+ }
+}
+
+bool32 sub_80168DC(struct UnkStruct_URoom *arg0)
+{
+ if (arg0->field_9A[0] != 0)
+ {
+ s32 var = sub_8017EA0(gStringVar4, gLinkPlayers[1].gender, &arg0->field_9A[0], arg0);
+ if (var == 0)
+ {
+ return TRUE;
+ }
+ else if (var == 1)
+ {
+ arg0->state = 35;
+ gUnknown_02022C2C = arg0->field_9A[0];
+ return FALSE;
+ }
+ else if (var == 2)
+ {
+ arg0->state = 36;
+ sub_800AC34();
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void sub_8016934(void)
+{
+ struct UnkStruct_URoom *ptr;
+
+ gUnknown_02022C20[0] = EOS;
+ CreateTask(sub_801697C, 0);
+ gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match.
+ gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C);
+ gUnknown_03000DA8 = gUnknown_02022C30.uRoom;
+ ptr->state = 0;
+ ptr->textState = 0;
+ ptr->field_10 = 0;
+ ptr->field_12 = 0;
+ gUnknown_02022C20[0] = EOS;
+}
+
+void sub_801697C(u8 taskId)
+{
+ s32 i;
+ u8 text[32];
+ struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
+
+ switch (structPtr->state)
+ {
+ case 0:
+ structPtr->state = 1;
+ break;
+ case 1:
+ sub_8010F84(0xC, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C84();
+ sub_80111B0(1);
+ structPtr->state = 2;
+ break;
+ case 2:
+ structPtr->field_4 = AllocZeroed(0x70);
+ sub_80175EC(structPtr->field_4, 4);
+ structPtr->field_C = AllocZeroed(0x70);
+ sub_80175EC(structPtr->field_C, 4);
+ structPtr->field_0 = AllocZeroed(0x100);
+ sub_8017580(structPtr->field_0->arr, 8);
+ structPtr->field_8 = AllocZeroed(0x20);
+ sub_8017580(&structPtr->field_8->arr[0], 1);
+ structPtr->field_20 = sub_8016DF0(structPtr->field_C, structPtr->field_4, 10);
+ structPtr->state = 3;
+ break;
+ case 3:
+ switch (sub_8016B00())
+ {
+ case 1:
+ case 2:
+ if (gUnknown_02022C20[0] == EOS)
+ {
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ {
+ if (structPtr->field_0->arr[i].field_1A_0 == 1)
+ {
+ sub_8018404(text, &structPtr->field_0->arr[i]);
+ if (sub_800E540(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text))
+ {
+ StringCopy(gUnknown_02022C20, text);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case 3:
+ break;
+ }
+ break;
+ case 4:
+ free(structPtr->field_8);
+ free(structPtr->field_0);
+ free(structPtr->field_C);
+ free(structPtr->field_4);
+ DestroyTask(structPtr->field_20);
+ free(gUnknown_02022C30.uRoom);
+ sub_800EDD4();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool16 sp182_move_string(void)
+{
+ if (gUnknown_02022C20[0] != EOS)
+ {
+ StringCopy(gStringVar1, gUnknown_02022C20);
+ gUnknown_02022C20[0] = EOS;
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+u8 sub_8016B00(void)
+{
+ s32 i;
+ u8 j;
+ struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
+ s32 r7 = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_8017630(&structPtr->field_C->arr[i].unk0, &gUnknown_082F045C) == TRUE)
+ {
+ structPtr->field_8->arr[0].unk = structPtr->field_C->arr[i].unk0;
+ structPtr->field_8->arr[0].field_18 = 0;
+ structPtr->field_8->arr[0].field_1A_0 = 1;
+ structPtr->field_8->arr[0].field_1B = 1;
+ return 4;
+ }
+ }
+ for (j = 0; j < 8; j++)
+ {
+ if (structPtr->field_0->arr[j].field_1A_0 != 0)
+ {
+ i = sub_80176E4(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]);
+ if (i != 0xFF)
+ {
+ if (structPtr->field_0->arr[j].field_1A_0 == 1)
+ {
+ if (sub_8017678(&structPtr->field_0->arr[j], &structPtr->field_4->arr[i]))
+ {
+ structPtr->field_0->arr[j].unk = structPtr->field_4->arr[i].unk0;
+ structPtr->field_0->arr[j].field_1B = 0x40;
+ r7 = 1;
+ }
+ else if (structPtr->field_0->arr[j].field_1B != 0)
+ {
+ structPtr->field_0->arr[j].field_1B--;
+ if (structPtr->field_0->arr[j].field_1B == 0)
+ r7 = 2;
+ }
+ }
+ else
+ {
+ structPtr->field_0->arr[j].field_1A_0 = 1;
+ structPtr->field_0->arr[j].field_1B = 0;
+ r7 = 2;
+ }
+ structPtr->field_0->arr[j].field_18 = 0;
+ }
+ else if (structPtr->field_0->arr[j].field_1A_0 != 2)
+ {
+ structPtr->field_0->arr[j].field_18++;
+ if (structPtr->field_0->arr[j].field_18 >= 600)
+ {
+ structPtr->field_0->arr[j].field_1A_0 = 2;
+ r7 = 2;
+ }
+ }
+ else if (structPtr->field_0->arr[j].field_1A_0 == 2)
+ {
+ structPtr->field_0->arr[j].field_18++;
+ if (structPtr->field_0->arr[j].field_18 >= 900)
+ {
+ sub_8017580(&structPtr->field_0->arr[j], 1);
+ }
+ }
+ }
+ }
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_8017734(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i].unk0, 8) != 0xFF)
+ r7 = 1;
+ }
+
+ return r7;
+}
+
+/*
+void sub_8016CA0(u8 taskId)
+{
+ s32 i, j;
+ struct UnkLinkRfuStruct_02022B14 sp0;
+ u8 text[10];
+ struct UnkStruct_Main4 *ptr = (void*) gTasks[taskId].data;
+
+ for (i = 0; i < 4; i++)
+ {
+ j = sub_800DE7C(&sp0, text, i);
+ if (!sub_8013D88(sp0.unk_0a_0, gTasks[taskId].data[4]))
+ sp0 = gUnknown_082F045C.field_0;
+ if (sp0.unk_00.unk_00_0 == 1)
+ sp0 = gUnknown_082F045C.field_0;
+
+ if (!j)
+ {
+ for (j = 0; j < i; j++)
+ {
+ if (sub_8017630())
+ }
+ }
+ else
+ {
+
+ }
+ }
+}
*/
diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c
index 1ef223c69..be6d6614a 100644
--- a/src/rom_8034C54.c
+++ b/src/rom_8034C54.c
@@ -31,8 +31,6 @@ struct UnkStruct1
struct UnkStruct2 *array;
};
-extern struct UnkStruct1 *gUnknown_02022E10;
-
extern const struct SpriteTemplate gUnknown_0831AC88;
// this file's functions
@@ -50,6 +48,9 @@ static IWRAM_DATA s32 gUnknown_03000DD4;
static IWRAM_DATA s32 gUnknown_03000DD8;
static IWRAM_DATA s32 gUnknown_03000DDC;
+// ewram
+static EWRAM_DATA struct UnkStruct1 *gUnknown_02022E10 = {0};
+
// const rom data
static const u8 gUnknown_082FF1C8[][4] =
{
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index fcced6c8c..f617321af 100644
--- a/src/rotating_gate.c
+++ b/src/rotating_gate.c
@@ -2,10 +2,11 @@
#include "bike.h"
#include "event_data.h"
#include "event_object_movement.h"
-#include "constants/maps.h"
-#include "constants/songs.h"
+#include "fieldmap.h"
#include "sound.h"
#include "sprite.h"
+#include "constants/maps.h"
+#include "constants/songs.h"
#define ROTATING_GATE_TILE_TAG 0x1300
#define ROTATING_GATE_PUZZLE_MAX 12
@@ -638,9 +639,7 @@ static s32 GetCurrentMapRotatingGatePuzzleType(void)
static void RotatingGate_ResetAllGateOrientations(void)
{
s32 i;
- u8 *ptr;
-
- ptr = (u8 *)GetVarPointer(VAR_TEMP_0);
+ u8 *ptr = (u8 *)GetVarPointer(VAR_TEMP_0);
for (i = 0; i < gRotatingGate_PuzzleCount; i++)
{
@@ -715,12 +714,10 @@ static void RotatingGate_CreateGatesWithinViewport(s16 deltaX, s16 deltaY)
s16 y = gSaveBlock1Ptr->pos.y - 2;
s16 y2 = gSaveBlock1Ptr->pos.y + 0xe;
- s16 x3, y3;
-
for (i = 0; i < gRotatingGate_PuzzleCount; i++)
{
- x3 = gRotatingGate_PuzzleConfig[i].x + 7;
- y3 = gRotatingGate_PuzzleConfig[i].y + 7;
+ s16 x3 = gRotatingGate_PuzzleConfig[i].x + 7;
+ s16 y3 = gRotatingGate_PuzzleConfig[i].y + 7;
if (y <= y3 && y2 >= y3 && x <= x3 && x2 >= x3 &&
gRotatingGate_GateSpriteIds[i] == MAX_SPRITES)
@@ -734,11 +731,10 @@ static u8 RotatingGate_CreateGate(u8 gateId, s16 deltaX, s16 deltaY)
{
struct Sprite *sprite;
struct SpriteTemplate template;
- const struct RotatingGatePuzzle *gate;
u8 spriteId;
s16 x, y;
- gate = &gRotatingGate_PuzzleConfig[gateId];
+ const struct RotatingGatePuzzle *gate = &gRotatingGate_PuzzleConfig[gateId];
if (gate->shape == GATE_SHAPE_L1 || gate->shape == GATE_SHAPE_T1)
template = sSpriteTemplate_RotatingGateRegular;
@@ -767,12 +763,9 @@ static u8 RotatingGate_CreateGate(u8 gateId, s16 deltaX, s16 deltaY)
static void SpriteCallback_RotatingGate(struct Sprite *sprite)
{
- u8 rotationDirection;
- u8 orientation;
u8 affineAnimation;
-
- rotationDirection = sprite->data[1];
- orientation = sprite->data[2];
+ u8 rotationDirection = sprite->data[1];
+ u8 orientation = sprite->data[2];
RotatingGate_HideGatesOutsideViewport(sprite);
@@ -802,10 +795,8 @@ static void SpriteCallback_RotatingGate(struct Sprite *sprite)
static void RotatingGate_HideGatesOutsideViewport(struct Sprite *sprite)
{
- u16 x;
- s16 x2;
- u16 y;
- s16 y2;
+ u16 x, y;
+ s16 x2, y2;
sprite->invisible = FALSE;
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
@@ -830,35 +821,27 @@ static void LoadRotatingGatePics(void)
LoadSpriteSheets(sRotatingGatesGraphicsTable);
}
-/*
-static*/ void RotatingGate_DestroyGatesOutsideViewport(void)
+static void RotatingGate_DestroyGatesOutsideViewport(void)
{
- s16 x;
- s16 x2;
- s16 y;
- s16 y2;
- s16 xGate;
- s16 yGate;
s32 i;
- struct Sprite *sprite;
// Same as RotatingGate_CreateGatesWithinViewport
- x = gSaveBlock1Ptr->pos.x - 2;
- x2 = gSaveBlock1Ptr->pos.x + 0x11;
- y = gSaveBlock1Ptr->pos.y - 2;
- y2 = gSaveBlock1Ptr->pos.y + 0xe;
+ s16 x = gSaveBlock1Ptr->pos.x - 2;
+ s16 x2 = gSaveBlock1Ptr->pos.x + 0x11;
+ s16 y = gSaveBlock1Ptr->pos.y - 2;
+ s16 y2 = gSaveBlock1Ptr->pos.y + 0xe;
for (i = 0; i < gRotatingGate_PuzzleCount; i++)
{
- xGate = gRotatingGate_PuzzleConfig[i].x + 7;
- yGate = gRotatingGate_PuzzleConfig[i].y + 7;
+ s16 xGate = gRotatingGate_PuzzleConfig[i].x + 7;
+ s16 yGate = gRotatingGate_PuzzleConfig[i].y + 7;
if (gRotatingGate_GateSpriteIds[i] == MAX_SPRITES)
continue;
if (xGate < x || xGate > x2 || yGate < y || yGate > y2)
{
- sprite = &gSprites[gRotatingGate_GateSpriteIds[i]];
+ struct Sprite *sprite = &gSprites[gRotatingGate_GateSpriteIds[i]];
FreeSpriteOamMatrix(sprite);
DestroySprite(sprite);
gRotatingGate_GateSpriteIds[i] = MAX_SPRITES;
@@ -866,23 +849,13 @@ static*/ void RotatingGate_DestroyGatesOutsideViewport(void)
}
}
-
-#ifdef NONMATCHING
-bool8 MapGridIsImpassableAt(s32, s32); //fool the compiler
-
-static s32 RotatingGate_CanRotate(u8 gateId, s16 rotationDirection)
+static s32 RotatingGate_CanRotate(u8 gateId, s32 rotationDirection)
{
const struct Coords8 *armPos;
u8 orientation;
- s16 x;
- s16 y;
+ s16 x, y;
u8 shape;
- u32 shape8;
- s32 i;
- s32 j;
- s32 armOrientation;
- const u8 *gateArmCollisionData;
- u8 armIndex;
+ s32 i, j;
if (rotationDirection == ROTATE_ANTICLOCKWISE)
armPos = sRotatingGate_ArmPositionsAntiClockwiseRotation;
@@ -897,166 +870,40 @@ static s32 RotatingGate_CanRotate(u8 gateId, s16 rotationDirection)
x = gRotatingGate_PuzzleConfig[gateId].x + 7;
y = gRotatingGate_PuzzleConfig[gateId].y + 7;
-
// Loop through the gate's "arms" clockwise (north, south, east, west)
- for (i = GATE_ARM_NORTH, shape8 = shape* 4*2 ; i <= GATE_ARM_WEST; i++)
+ for (i = GATE_ARM_NORTH ; i <= GATE_ARM_WEST; i++)
{
// Ensure that no part of the arm collides with the map
- for (j = 0, armOrientation = orientation + i, gateArmCollisionData = (u8 *)((u32)sRotatingGate_ArmLayout + shape8 + 2*i); j < GATE_ARM_MAX_LENGTH; j++)
+ for (j = 0; j < GATE_ARM_MAX_LENGTH; j++)
{
- armIndex = 2 * (armOrientation % 4) + j;
+ u8 armIndex = 2 * ((orientation + i) % 4) + j;
- if (*gateArmCollisionData)
+ if (sRotatingGate_ArmLayout[shape][2 * i + j])
{
- if (MapGridIsImpassableAt(x + armPos[armIndex].deltaX, y + armPos[armIndex].deltaY) == TRUE)
+ if (MapGridIsImpassableAt(x + armPos[armIndex].x, y + armPos[armIndex].y) == TRUE)
return FALSE;
}
- gateArmCollisionData++;
}
}
return TRUE;
}
-#else
-NAKED
-static s32 RotatingGate_CanRotate(u8 a, s16 rotationDirection)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0xC\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r1, 0x1\n\
- bne _080FBCFC\n\
- ldr r0, =sRotatingGate_ArmPositionsAntiClockwiseRotation\n\
- mov r10, r0\n\
- b _080FBD08\n\
- .pool\n\
-_080FBCFC:\n\
- cmp r1, 0x2\n\
- beq _080FBD04\n\
-_080FBD00:\n\
- movs r0, 0\n\
- b _080FBD98\n\
-_080FBD04:\n\
- ldr r1, =sRotatingGate_ArmPositionsClockwiseRotation\n\
- mov r10, r1\n\
-_080FBD08:\n\
- adds r0, r4, 0\n\
- bl RotatingGate_GetGateOrientation\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp]\n\
- ldr r0, =gRotatingGate_PuzzleConfig\n\
- ldr r1, [r0]\n\
- lsls r0, r4, 3\n\
- adds r0, r1\n\
- ldrb r2, [r0, 0x4]\n\
- ldrh r1, [r0]\n\
- adds r1, 0x7\n\
- ldrh r0, [r0, 0x2]\n\
- adds r0, 0x7\n\
- movs r3, 0\n\
- lsls r2, 3\n\
- str r2, [sp, 0x4]\n\
- lsls r1, 16\n\
- asrs r1, 16\n\
- mov r9, r1\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- mov r8, r0\n\
-_080FBD38:\n\
- movs r6, 0\n\
- ldr r2, [sp]\n\
- adds r7, r2, r3\n\
- lsls r0, r3, 1\n\
- adds r5, r7, 0\n\
- ldr r1, [sp, 0x4]\n\
- adds r0, r1\n\
- ldr r2, =sRotatingGate_ArmLayout\n\
- adds r4, r0, r2\n\
-_080FBD4A:\n\
- adds r0, r5, 0\n\
- cmp r5, 0\n\
- bge _080FBD52\n\
- adds r0, r7, 0x3\n\
-_080FBD52:\n\
- asrs r0, 2\n\
- lsls r0, 2\n\
- subs r0, r5, r0\n\
- lsls r0, 1\n\
- adds r0, r6\n\
- lsls r0, 24\n\
- lsrs r1, r0, 24\n\
- ldrb r0, [r4]\n\
- cmp r0, 0\n\
- beq _080FBD88\n\
- lsls r1, 2\n\
- add r1, r10\n\
- movs r0, 0\n\
- ldrsb r0, [r1, r0]\n\
- add r0, r9\n\
- ldrb r1, [r1, 0x1]\n\
- lsls r1, 24\n\
- asrs r1, 24\n\
- add r1, r8\n\
- str r3, [sp, 0x8]\n\
- bl MapGridIsImpassableAt\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldr r3, [sp, 0x8]\n\
- cmp r0, 0x1\n\
- beq _080FBD00\n\
-_080FBD88:\n\
- adds r4, 0x1\n\
- adds r6, 0x1\n\
- cmp r6, 0x1\n\
- ble _080FBD4A\n\
- adds r3, 0x1\n\
- cmp r3, 0x3\n\
- ble _080FBD38\n\
- movs r0, 0x1\n\
-_080FBD98:\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool\n\
-.syntax divided\n");
-}
-#endif
-
static s32 RotatingGate_HasArm(u8 gateId, u8 armInfo)
{
- s32 isLongArm;
- s8 armOrientation;
- s32 arm;
- s32 shape;
-
- arm = armInfo >> 1;
- isLongArm = armInfo & 1;
+ s32 arm = armInfo / 2;
+ s32 isLongArm = armInfo % 2;
- armOrientation = (arm - RotatingGate_GetGateOrientation(gateId) + 4) % 4;
- shape = gRotatingGate_PuzzleConfig[gateId].shape;
+ s8 armOrientation = (arm - RotatingGate_GetGateOrientation(gateId) + 4) % 4;
+ s32 shape = gRotatingGate_PuzzleConfig[gateId].shape;
return sRotatingGate_ArmLayout[shape][armOrientation * 2 + isLongArm];
}
static void RotatingGate_TriggerRotationAnimation(u8 gateId, s32 rotationDirection)
{
- struct Sprite *sprite;
-
if (gRotatingGate_GateSpriteIds[gateId] != MAX_SPRITES)
{
- sprite = &gSprites[gRotatingGate_GateSpriteIds[gateId]];
+ struct Sprite *sprite = &gSprites[gRotatingGate_GateSpriteIds[gateId]];
sprite->data[1] = rotationDirection;
sprite->data[2] = RotatingGate_GetGateOrientation(gateId);
}
@@ -1064,7 +911,7 @@ static void RotatingGate_TriggerRotationAnimation(u8 gateId, s32 rotationDirecti
static u8 RotatingGate_GetRotationInfo(u8 direction, s16 x, s16 y)
{
- register const u8 *ptr;
+ const u8 *ptr;
if (direction == DIR_NORTH)
ptr = sRotatingGate_RotationInfoNorth;
diff --git a/src/rtc.c b/src/rtc.c
index ca8b9567e..3f413d0e3 100644
--- a/src/rtc.c
+++ b/src/rtc.c
@@ -344,4 +344,3 @@ u16 RtcGetLocalDayCount(void)
{
return RtcGetDayCount(&sRtc);
}
-
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 427a5ceb8..accf94981 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -1,11 +1,15 @@
#include "global.h"
-#include "safari_zone.h"
+#include "battle.h"
#include "event_data.h"
-#include "constants/game_stat.h"
+#include "field_player_avatar.h"
+#include "overworld.h"
#include "main.h"
-#include "battle.h"
-#include "string_util.h"
#include "pokeblock.h"
+#include "safari_zone.h"
+#include "script.h"
+#include "string_util.h"
+#include "tv.h"
+#include "constants/game_stat.h"
struct PokeblockFeeder
{
@@ -18,26 +22,12 @@ struct PokeblockFeeder
#define NUM_POKEBLOCK_FEEDERS 10
-extern u8 gBattleOutcome;
-extern void* gFieldCallback;
-
-extern u8 EventScript_2A4B8A[];
-extern u8 EventScript_2A4B6F[];
-extern u8 EventScript_2A4B4C[];
-extern u8 EventScript_2A4B9B[];
-
-extern void sub_80EE44C(u8, u8);
-extern void IncrementGameStat(u8 index);
-extern void ScriptContext1_SetupScript(u8*);
-extern void ScriptContext2_RunNewScript(u8*);
-extern void CB2_ReturnToField(void);
-extern void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
-extern void CB2_LoadMap(void);
+extern const u8 EventScript_2A4B8A[];
+extern const u8 EventScript_2A4B6F[];
+extern const u8 EventScript_2A4B4C[];
+extern const u8 EventScript_2A4B9B[];
+
extern void sub_80AF6F0(void);
-extern void ScriptContext1_Stop(void);
-extern void WarpIntoMap(void);
-extern void GetXYCoordsOneStepInFrontOfPlayer(s16* x, s16* y);
-extern void PlayerGetDestCoords(s16* x, s16* y);
EWRAM_DATA u8 gNumSafariBalls = 0;
EWRAM_DATA static u16 sSafariZoneStepCounter = 0;
diff --git a/src/save.c b/src/save.c
index 68427c4c3..4ae516fc9 100644
--- a/src/save.c
+++ b/src/save.c
@@ -1,15 +1,23 @@
#include "global.h"
#include "gba/flash_internal.h"
#include "save.h"
-#include "constants/game_stat.h"
#include "task.h"
#include "decompress.h"
#include "load_save.h"
#include "overworld.h"
+#include "main.h"
+#include "constants/game_stat.h"
+
+static u16 CalculateChecksum(void *data, u16 size);
+static u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section);
+static u8 GetSaveValidStatus(const struct SaveSectionLocation *location);
+static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location);
+static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location);
+static u8 TryWriteSector(u8 sector, u8 *data);
+static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location);
// for the chunk declarations
-extern bool8 gSoftResetDisabled;
extern u32 gUnknown_0203CF5C;
// Divide save blocks into individual chunks to be written to flash sectors
@@ -24,7 +32,7 @@ extern u32 gUnknown_0203CF5C;
* Sectors 0 - 13: Save Slot 1
* Sectors 14 - 27: Save Slot 2
* Sectors 28 - 29: Hall of Fame
- * Sector 30: e-Reader/Mystery Gift Stuff (note: e-Reader is deprecated in Emerald US)
+ * Sector 30: Trainer Hill
* Sector 31: Recorded Battle
*
* There are two save slots for saving the player's game data. We alternate between
@@ -86,6 +94,7 @@ u16 gSaveUnusedVar2;
u16 gUnknown_03006294;
EWRAM_DATA struct SaveSection gSaveDataBuffer = {0};
+EWRAM_DATA static u8 sUnusedVar = 0;
void ClearSaveData(void)
{
@@ -105,7 +114,7 @@ void Save_ResetSaveCounters(void)
gDamagedSaveSectors = 0;
}
-bool32 SetDamagedSectorBits(u8 op, u8 bit)
+static bool32 SetDamagedSectorBits(u8 op, u8 bit)
{
bool32 retVal = FALSE;
@@ -126,7 +135,7 @@ bool32 SetDamagedSectorBits(u8 op, u8 bit)
return retVal;
}
-u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location)
+static u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location)
{
u32 retVal;
u16 i;
@@ -142,11 +151,11 @@ u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location)
gLastKnownGoodSector = gLastWrittenSector; // backup the current written sector before attempting to write.
gLastSaveCounter = gSaveCounter;
gLastWrittenSector++;
- gLastWrittenSector = gLastWrittenSector % 0xE; // array count save sector locations
+ gLastWrittenSector = gLastWrittenSector % SECTOR_SAVE_SLOT_LENGTH; // array count save sector locations
gSaveCounter++;
retVal = 1;
- for (i = 0; i < 0xE; i++)
+ for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++)
HandleWriteSector(i, location);
if (gDamagedSaveSectors != 0) // skip the damaged sector.
@@ -160,7 +169,7 @@ u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location)
return retVal;
}
-u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location)
+static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location)
{
u16 i;
u16 sector;
@@ -168,8 +177,8 @@ u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location)
u16 size;
sector = a1 + gLastWrittenSector;
- sector %= 0xE;
- sector += 0xE * (gSaveCounter % 2);
+ sector %= SECTOR_SAVE_SLOT_LENGTH;
+ sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
data = location[a1].data;
size = location[a1].size;
@@ -189,7 +198,7 @@ u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location)
return TryWriteSector(sector, gFastSaveSection->data);
}
-u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size)
+static u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size)
{
u16 i;
struct SaveSection *section = &gSaveDataBuffer;
@@ -206,7 +215,7 @@ u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size)
return TryWriteSector(sector, section->data);
}
-u8 TryWriteSector(u8 sector, u8 *data)
+static u8 TryWriteSector(u8 sector, u8 *data)
{
if (ProgramFlashSectorAndVerify(sector, data) != 0) // is damaged?
{
@@ -220,20 +229,20 @@ u8 TryWriteSector(u8 sector, u8 *data)
}
}
-u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location) // location is unused
+static u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location) // location is unused
{
gFastSaveSection = &gSaveDataBuffer;
gLastKnownGoodSector = gLastWrittenSector;
gLastSaveCounter = gSaveCounter;
gLastWrittenSector++;
- gLastWrittenSector = gLastWrittenSector % 0xE;
+ gLastWrittenSector %= SECTOR_SAVE_SLOT_LENGTH;
gSaveCounter++;
gUnknown_03006208 = 0;
gDamagedSaveSectors = 0;
return 0;
}
-u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) // only ever called once, and gSaveBlock2 is passed to this function. location is unused
+static u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) // only ever called once, and gSaveBlock2 is passed to this function. location is unused
{
gFastSaveSection = &gSaveDataBuffer;
gLastKnownGoodSector = gLastWrittenSector;
@@ -243,7 +252,7 @@ u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) // only ev
return 0;
}
-u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location)
{
u8 retVal;
@@ -267,7 +276,7 @@ u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location)
return retVal;
}
-u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location)
{
u8 retVal = 1;
@@ -282,7 +291,7 @@ u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location)
return retVal;
}
-u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
+static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
{
u16 i;
u16 sector;
@@ -291,8 +300,8 @@ u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
u8 status;
sector = a1 + gLastWrittenSector;
- sector %= 0xE;
- sector += 0xE * (gSaveCounter % 2);
+ sector %= SECTOR_SAVE_SLOT_LENGTH;
+ sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
data = location[a1].data;
size = location[a1].size;
@@ -356,13 +365,13 @@ u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location)
}
}
-u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location)
+static u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location)
{
u16 sector;
sector = a1 + gLastWrittenSector; // no sub 1?
- sector %= 0xE;
- sector += 0xE * (gSaveCounter % 2);
+ sector %= SECTOR_SAVE_SLOT_LENGTH;
+ sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), 0x25))
{
@@ -379,13 +388,13 @@ u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location)
}
}
-u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location)
{
u16 sector;
sector = a1 + gLastWrittenSector - 1;
- sector %= 0xE;
- sector += 0xE * (gSaveCounter % 2);
+ sector %= SECTOR_SAVE_SLOT_LENGTH;
+ sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), ((u8 *)gFastSaveSection)[sizeof(struct UnkSaveSection)]))
{
@@ -402,13 +411,13 @@ u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location)
}
}
-u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location)
{
u16 sector;
sector = a1 + gLastWrittenSector - 1; // no sub 1?
- sector %= 0xE;
- sector += 0xE * (gSaveCounter % 2);
+ sector %= SECTOR_SAVE_SLOT_LENGTH;
+ sector += SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
if (ProgramFlashByte(sector, sizeof(struct UnkSaveSection), 0x25))
{
@@ -425,7 +434,7 @@ u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location)
}
}
-u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location)
{
u8 retVal;
gFastSaveSection = &gSaveDataBuffer;
@@ -442,14 +451,14 @@ u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location)
return retVal;
}
-u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location)
+static u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location)
{
u16 i;
u16 checksum;
- u16 v3 = 0xE * (gSaveCounter % 2);
+ u16 v3 = SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
u16 id;
- for (i = 0; i < 0xE; i++)
+ for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++)
{
DoReadFlashWholeSection(i + v3, gFastSaveSection);
id = gFastSaveSection->id;
@@ -468,7 +477,7 @@ u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location)
return 1;
}
-u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
+static u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
{
u16 i;
u16 checksum;
@@ -480,7 +489,7 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
u8 saveSlot2Status;
// check save slot 1.
- for (i = 0; i < 0xE; i++)
+ for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++)
{
DoReadFlashWholeSection(i, gFastSaveSection);
if (gFastSaveSection->security == UNKNOWN_CHECK_VALUE)
@@ -511,9 +520,9 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
securityPassed = FALSE;
// check save slot 2.
- for (i = 0; i < 0xE; i++)
+ for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++)
{
- DoReadFlashWholeSection(i + 0xE, gFastSaveSection);
+ DoReadFlashWholeSection(i + SECTOR_SAVE_SLOT_LENGTH, gFastSaveSection);
if (gFastSaveSection->security == UNKNOWN_CHECK_VALUE)
{
securityPassed = TRUE;
@@ -543,24 +552,16 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
if ((saveSlot1Counter == -1 && saveSlot2Counter == 0) || (saveSlot1Counter == 0 && saveSlot2Counter == -1))
{
if ((unsigned)(saveSlot1Counter + 1) < (unsigned)(saveSlot2Counter + 1))
- {
gSaveCounter = saveSlot2Counter;
- }
else
- {
gSaveCounter = saveSlot1Counter;
- }
}
else
{
if (saveSlot1Counter < saveSlot2Counter)
- {
gSaveCounter = saveSlot2Counter;
- }
else
- {
gSaveCounter = saveSlot1Counter;
- }
}
return 1;
}
@@ -593,7 +594,7 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location)
return 2;
}
-u8 sub_81530DC(u8 a1, u8 *data, u16 size)
+static u8 sub_81530DC(u8 a1, u8 *data, u16 size)
{
u16 i;
struct SaveSection *section = &gSaveDataBuffer;
@@ -618,13 +619,13 @@ u8 sub_81530DC(u8 a1, u8 *data, u16 size)
}
}
-u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section)
+static u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section)
{
ReadFlash(sector, 0, section->data, sizeof(struct SaveSection));
return 1;
}
-u16 CalculateChecksum(void *data, u16 size)
+static u16 CalculateChecksum(void *data, u16 size)
{
u16 i;
u32 checksum = 0;
@@ -635,7 +636,7 @@ u16 CalculateChecksum(void *data, u16 size)
return ((checksum >> 16) + checksum);
}
-void UpdateSaveAddresses(void)
+static void UpdateSaveAddresses(void)
{
int i = 0;
@@ -668,7 +669,7 @@ u8 HandleSavingData(u8 saveType)
switch (saveType)
{
case SAVE_HALL_OF_FAME_ERASE_BEFORE: // deletes HOF before overwriting HOF completely. unused
- for (i = 0xE * 2 + 0; i < 32; i++)
+ for (i = SECTOR_ID_HOF_1; i < SECTORS_COUNT; i++)
EraseFlashSector(i);
case SAVE_HALL_OF_FAME: // hall of fame.
if (GetGameStat(GAME_STAT_ENTERED_HOF) < 999)
@@ -676,8 +677,8 @@ u8 HandleSavingData(u8 saveType)
SaveSerializedGame();
save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
tempAddr = gDecompressionBuffer;
- HandleWriteSectorNBytes(0x1C, tempAddr, 0xF80);
- HandleWriteSectorNBytes(0x1D, tempAddr + 0xF80, 0xF80);
+ HandleWriteSectorNBytes(SECTOR_ID_HOF_1, tempAddr, 0xF80);
+ HandleWriteSectorNBytes(SECTOR_ID_HOF_2, tempAddr + 0xF80, 0xF80);
break;
case SAVE_NORMAL: // normal save. also called by overwriting your own save.
default:
@@ -692,7 +693,7 @@ u8 HandleSavingData(u8 saveType)
for(i = 0; i < 5; i++)
sav12_xor_get(i, gRamSaveSectionLocations);
break;
- // support for Ereader was removed in Emerald.
+ // Support for Ereader was removed in Emerald.
/*
case EREADER_SAVE: // used in mossdeep "game corner" before/after battling old man e-reader trainer
SaveSerializedGame();
@@ -700,7 +701,7 @@ u8 HandleSavingData(u8 saveType)
break;
*/
case SAVE_OVERWRITE_DIFFERENT_FILE:
- for (i = (0xE * 2 + 0); i < 32; i++)
+ for (i = SECTOR_ID_HOF_1; i < SECTORS_COUNT; i++)
EraseFlashSector(i); // erase HOF.
SaveSerializedGame();
save_write_to_flash(0xFFFF, gRamSaveSectionLocations);
@@ -710,48 +711,52 @@ u8 HandleSavingData(u8 saveType)
return 0;
}
-u8 TrySavingData(u8 saveType) // TrySave
+u8 TrySavingData(u8 saveType)
{
- if(gFlashMemoryPresent == TRUE)
+ if (gFlashMemoryPresent != TRUE)
{
- HandleSavingData(saveType);
- if(gDamagedSaveSectors)
- DoSaveFailedScreen(saveType);
- else
- goto OK; // really?
+ gUnknown_03006294 = 0xFF;
+ return 0xFF;
}
- gUnknown_03006294 = 0xFF;
- return 0xFF;
-OK:
- gUnknown_03006294 = 1;
- return 1;
+ HandleSavingData(saveType);
+ if (!gDamagedSaveSectors)
+ {
+ gUnknown_03006294 = 1;
+ return 1;
+ }
+ else
+ {
+ DoSaveFailedScreen(saveType);
+ gUnknown_03006294 = 0xFF;
+ return 0xFF;
+ }
}
-u8 sub_8153380(void) // trade.s save
+bool8 sub_8153380(void) // trade.s save
{
if (gFlashMemoryPresent != TRUE)
- return 1;
+ return TRUE;
UpdateSaveAddresses();
SaveSerializedGame();
RestoreSaveBackupVarsAndIncrement(gRamSaveSectionLocations);
- return 0;
+ return FALSE;
}
bool8 sub_81533AC(void) // trade.s save
{
- u8 retVal = sub_81529D4(0xE, gRamSaveSectionLocations);
+ u8 retVal = sub_81529D4(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
DoSaveFailedScreen(0);
if (retVal == 0xFF)
- return 1;
+ return TRUE;
else
- return 0;
+ return FALSE;
}
u8 sub_81533E0(void) // trade.s save
{
- sub_8152A34(0xE, gRamSaveSectionLocations);
+ sub_8152A34(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
DoSaveFailedScreen(0);
return 0;
@@ -759,7 +764,7 @@ u8 sub_81533E0(void) // trade.s save
u8 sub_8153408(void) // trade.s save
{
- sub_8152CAC(0xE, gRamSaveSectionLocations);
+ sub_8152CAC(SECTOR_SAVE_SLOT_LENGTH, gRamSaveSectionLocations);
if (gDamagedSaveSectors)
DoSaveFailedScreen(0);
return 0;
@@ -836,8 +841,8 @@ u16 sub_815355C(void)
return 0;
UpdateSaveAddresses();
GetSaveValidStatus(gRamSaveSectionLocations);
- v3 = 0xE * (gSaveCounter % 2);
- for (i = 0; i < 14; i++)
+ v3 = SECTOR_SAVE_SLOT_LENGTH * (gSaveCounter % 2);
+ for (i = 0; i < SECTOR_SAVE_SLOT_LENGTH; i++)
{
DoReadFlashWholeSection(i + v3, gFastSaveSection);
if (gFastSaveSection->id == 0)
@@ -855,7 +860,7 @@ u32 TryCopySpecialSaveSection(u8 sector, u8* dst)
s32 size;
u8* savData;
- if (sector != 30 && sector != 31)
+ if (sector != SECTOR_ID_TRAINER_HILL && sector != SECTOR_ID_RECORDED_BATTLE)
return 0xFF;
ReadFlash(sector, 0, (u8 *)&gSaveDataBuffer, sizeof(struct SaveSection));
if (*(u32*)(&gSaveDataBuffer.data[0]) != 0xB39D)
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index 2587bf10a..c668c1db0 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -2,6 +2,7 @@
#include "text.h"
#include "main.h"
#include "palette.h"
+#include "graphics.h"
#include "gpu_regs.h"
#include "bg.h"
#include "decompress.h"
@@ -9,24 +10,20 @@
#include "window.h"
#include "menu.h"
#include "save.h"
+#include "starter_choose.h"
#include "gba/flash_internal.h"
#include "text_window.h"
+#include "constants/rgb.h"
#define MSG_WIN_TOP 12
#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4)
-extern const u8 gBirchHelpGfx[];
-extern const u8 gBirchBagTilemap[];
-extern const u8 gBirchGrassTilemap[];
-extern const u16 gBirchBagGrassPal[];
-extern const u16 gUnknown_0860F074[];
-
-extern u8 gText_SaveFailedCheckingBackup[];
-extern u8 gText_BackupMemoryDamaged[];
-extern u8 gText_CheckCompleted[];
-extern u8 gText_SaveCompleteGameCannotContinue[];
-extern u8 gText_SaveCompletePressA[];
-extern u8 gText_GamePlayCannotBeContinued[];
+extern const u8 gText_SaveFailedCheckingBackup[];
+extern const u8 gText_BackupMemoryDamaged[];
+extern const u8 gText_CheckCompleted[];
+extern const u8 gText_SaveCompleteGameCannotContinue[];
+extern const u8 gText_SaveCompletePressA[];
+extern const u8 gText_GamePlayCannotBeContinued[];
// gSaveFailedClockInfo enum
enum
@@ -99,7 +96,7 @@ static const struct BgTemplate gUnknown_085EFD88[3] =
static const struct WindowTemplate gUnknown_085EFD94[] =
{
{
- .priority = 255,
+ .bg = 255,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 0,
@@ -112,7 +109,7 @@ static const struct WindowTemplate gUnknown_085EFD94[] =
static const struct WindowTemplate gUnknown_085EFD9C[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 1,
.tilemapTop = 13,
.width = 28,
@@ -125,7 +122,7 @@ static const struct WindowTemplate gUnknown_085EFD9C[] =
static const struct WindowTemplate gUnknown_085EFDA4[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 14,
.tilemapTop = 9,
.width = 2,
@@ -148,7 +145,7 @@ static const u8 sClockFrames[8][3] =
};
static const u8 sSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal");
-static const u8 sSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz");
+static const u32 sSaveFailedClockGfx[] = INCBIN_U32("graphics/misc/clock_small.4bpp.lz");
static void CB2_SaveFailedScreen(void);
static void CB2_WipeSave(void);
@@ -159,8 +156,8 @@ static void VBlankCB_UpdateClockGraphics(void);
static bool8 VerifySectorWipe(u16 sector);
static bool8 WipeSectors(u32);
-// although this is a general text printer, it's only used in this file.
-static void SaveFailedScreenTextPrint(u8 *text, u8 var1, u8 var2)
+// Although this is a general text printer, it's only used in this file.
+static void SaveFailedScreenTextPrint(const u8 *text, u8 var1, u8 var2)
{
u8 color[3];
@@ -191,72 +188,70 @@ static void CB2_SaveFailedScreen(void)
{
switch (gMain.state)
{
- case 0:
- default:
- SetVBlankCallback(NULL);
- SetGpuReg(REG_OFFSET_DISPCNT, 0);
- SetGpuReg(REG_OFFSET_BG3CNT, 0);
- SetGpuReg(REG_OFFSET_BG2CNT, 0);
- SetGpuReg(REG_OFFSET_BG1CNT, 0);
- SetGpuReg(REG_OFFSET_BG0CNT, 0);
- SetGpuReg(REG_OFFSET_BG3HOFS, 0);
- SetGpuReg(REG_OFFSET_BG3VOFS, 0);
- SetGpuReg(REG_OFFSET_BG2HOFS, 0);
- SetGpuReg(REG_OFFSET_BG2VOFS, 0);
- SetGpuReg(REG_OFFSET_BG1HOFS, 0);
- SetGpuReg(REG_OFFSET_BG1VOFS, 0);
- SetGpuReg(REG_OFFSET_BG0HOFS, 0);
- SetGpuReg(REG_OFFSET_BG0VOFS, 0);
- // how come this doesnt use the Dma manager?
- DmaFill16(3, 0, VRAM, VRAM_SIZE);
- DmaFill32(3, 0, OAM, OAM_SIZE);
- DmaFill16(3, 0, PLTT, PLTT_SIZE);
- LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM);
- LZ77UnCompVram(gBirchBagTilemap, (void *)(VRAM + 0x7000));
- LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x7800));
- LZ77UnCompVram(sSaveFailedClockGfx, (void *)(VRAM + 0x10020));
- ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_085EFD88, 3);
- SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]);
- CpuFill32(0, &gDecompressionBuffer[0x2000], 0x800);
- LoadBgTiles(0, gTextWindowFrame1_Gfx, 0x120, 0x214);
- InitWindows(gUnknown_085EFD94);
- // AddWindowWithoutTileMap returns a u16/integer, but the info is clobbered into a u8 here resulting in lost info. Bug?
- gSaveFailedWindowIds[TEXT_WIN_ID] = AddWindowWithoutTileMap(gUnknown_085EFD9C);
- SetWindowAttribute(gSaveFailedWindowIds[TEXT_WIN_ID], 7, (u32)&gDecompressionBuffer[0x2800]);
- gSaveFailedWindowIds[CLOCK_WIN_ID] = AddWindowWithoutTileMap(gUnknown_085EFDA4);
- SetWindowAttribute(gSaveFailedWindowIds[CLOCK_WIN_ID], 7, (u32)&gDecompressionBuffer[0x3D00]);
- DeactivateAllTextPrinters();
- ResetSpriteData();
- ResetTasks();
- ResetPaletteFade();
- LoadPalette(gBirchBagGrassPal, 0, 0x40);
- LoadPalette(sSaveFailedClockPal, 0x100, 0x20);
- LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20);
- LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
- SetWindowBorderStyle(gSaveFailedWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE);
- SetWindowBorderStyle(gSaveFailedWindowIds[CLOCK_WIN_ID], FALSE, 0x214, 0xE);
- FillWindowPixelBuffer(gSaveFailedWindowIds[CLOCK_WIN_ID], 0x11); // backwards?
- FillWindowPixelBuffer(gSaveFailedWindowIds[TEXT_WIN_ID], 0x11);
- CopyWindowToVram(gSaveFailedWindowIds[CLOCK_WIN_ID], 2); // again?
- CopyWindowToVram(gSaveFailedWindowIds[TEXT_WIN_ID], 1);
- SaveFailedScreenTextPrint(gText_SaveFailedCheckingBackup, 1, 0);
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
- EnableInterrupts(1);
- SetVBlankCallback(VBlankCB);
- SetGpuReg(0, 0x1040);
- ShowBg(0);
- ShowBg(2);
- ShowBg(3);
- gMain.state++;
- break;
- case 1:
- if (!UpdatePaletteFade())
- {
- SetMainCallback2(CB2_WipeSave);
- SetVBlankCallback(VBlankCB_UpdateClockGraphics);
- }
- break;
+ case 0:
+ default:
+ SetVBlankCallback(NULL);
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ SetGpuReg(REG_OFFSET_BG3CNT, 0);
+ SetGpuReg(REG_OFFSET_BG2CNT, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, 0);
+ SetGpuReg(REG_OFFSET_BG0CNT, 0);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ DmaFill16(3, 0, VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, OAM, OAM_SIZE);
+ DmaFill16(3, 0, PLTT, PLTT_SIZE);
+ LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM);
+ LZ77UnCompVram(gBirchBagTilemap, (void *)(VRAM + 0x7000));
+ LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x7800));
+ LZ77UnCompVram(sSaveFailedClockGfx, (void *)(VRAM + 0x10020));
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_085EFD88, 3);
+ SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]);
+ CpuFill32(0, &gDecompressionBuffer[0x2000], 0x800);
+ LoadBgTiles(0, gTextWindowFrame1_Gfx, 0x120, 0x214);
+ InitWindows(gUnknown_085EFD94);
+ gSaveFailedWindowIds[TEXT_WIN_ID] = AddWindowWithoutTileMap(gUnknown_085EFD9C);
+ SetWindowAttribute(gSaveFailedWindowIds[TEXT_WIN_ID], 7, (u32)&gDecompressionBuffer[0x2800]);
+ gSaveFailedWindowIds[CLOCK_WIN_ID] = AddWindowWithoutTileMap(gUnknown_085EFDA4);
+ SetWindowAttribute(gSaveFailedWindowIds[CLOCK_WIN_ID], 7, (u32)&gDecompressionBuffer[0x3D00]);
+ DeactivateAllTextPrinters();
+ ResetSpriteData();
+ ResetTasks();
+ ResetPaletteFade();
+ LoadPalette(gBirchBagGrassPal, 0, 0x40);
+ LoadPalette(sSaveFailedClockPal, 0x100, 0x20);
+ LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20);
+ LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
+ SetWindowBorderStyle(gSaveFailedWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE);
+ SetWindowBorderStyle(gSaveFailedWindowIds[CLOCK_WIN_ID], FALSE, 0x214, 0xE);
+ FillWindowPixelBuffer(gSaveFailedWindowIds[CLOCK_WIN_ID], 0x11); // backwards?
+ FillWindowPixelBuffer(gSaveFailedWindowIds[TEXT_WIN_ID], 0x11);
+ CopyWindowToVram(gSaveFailedWindowIds[CLOCK_WIN_ID], 2); // again?
+ CopyWindowToVram(gSaveFailedWindowIds[TEXT_WIN_ID], 1);
+ SaveFailedScreenTextPrint(gText_SaveFailedCheckingBackup, 1, 0);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ EnableInterrupts(1);
+ SetVBlankCallback(VBlankCB);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ ShowBg(0);
+ ShowBg(2);
+ ShowBg(3);
+ gMain.state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ SetMainCallback2(CB2_WipeSave);
+ SetVBlankCallback(VBlankCB_UpdateClockGraphics);
+ }
+ break;
}
}
@@ -350,7 +345,7 @@ static void CB2_ReturnToTitleScreen(void)
static void VBlankCB_UpdateClockGraphics(void)
{
- unsigned int n = (gMain.vblankCounter2 >> 3) & 7;
+ u32 n = (gMain.vblankCounter2 >> 3) & 7;
gMain.oamBuffer[0] = sClockOamData;
gMain.oamBuffer[0].x = 112;
diff --git a/src/save_location.c b/src/save_location.c
index 262aaf40c..d49afa736 100644
--- a/src/save_location.c
+++ b/src/save_location.c
@@ -9,21 +9,18 @@
static bool32 IsCurMapInLocationList(const u16 *list)
{
+ s32 i;
u16 locSum = (gSaveBlock1Ptr->location.mapGroup << 8) + (gSaveBlock1Ptr->location.mapNum);
- // im sure it was written a different way, but for the love of christ I cant figure out how to write it different where it still matches.
- if (*list != 0xFFFF)
+ for (i = 0; list[i] != 0xFFFF; i++)
{
- u16 termValue = 0xFFFF;
- const u16 *localList;
- for (localList = list; *localList != termValue; localList++)
- if (*localList == locSum)
- return TRUE;
+ if (list[i] == locSum)
+ return TRUE;
}
+
return FALSE;
}
-// TODO: Not require a packed u16 array for these lists
static const u16 sSaveLocationPokeCenterList[] =
{
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
@@ -72,7 +69,7 @@ static bool32 IsCurMapPokeCenter(void)
return IsCurMapInLocationList(sSaveLocationPokeCenterList);
}
-static const u16 sSaveLocationReloadLocList[] = // there's only 1 location, and it's presumed its for the save reload feature for battle tower
+static const u16 sSaveLocationReloadLocList[] = // There's only 1 location, and it's presumed its for the save reload feature for battle tower.
{
MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY,
0xFFFF,
@@ -83,13 +80,13 @@ static bool32 IsCurMapReloadLocation(void)
return IsCurMapInLocationList(sSaveLocationReloadLocList);
}
-// nulled out list. unknown what this would have been
+// Nulled out list. Unknown what this would have been.
static const u16 sUnknown_0861440E[] =
{
0xFFFF,
};
-bool32 sub_81AFCEC(void)
+static bool32 sub_81AFCEC(void)
{
return IsCurMapInLocationList(sUnknown_0861440E);
}
diff --git a/src/scanline_effect.c b/src/scanline_effect.c
index 148e053fc..a9ae9427b 100644
--- a/src/scanline_effect.c
+++ b/src/scanline_effect.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle.h"
#include "data2.h"
#include "task.h"
#include "trig.h"
@@ -7,15 +8,6 @@
static void CopyValue16Bit(void);
static void CopyValue32Bit(void);
-extern u16 gBattle_BG0_Y;
-extern u16 gBattle_BG0_X;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-extern u16 gBattle_BG2_X;
-extern u16 gBattle_BG2_Y;
-extern u16 gBattle_BG3_X;
-extern u16 gBattle_BG3_Y;
-
// EWRAM vars
// Per-scanline register values.
diff --git a/src/scrcmd.c b/src/scrcmd.c
index fa3e21996..310387337 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1,9 +1,10 @@
#include "global.h"
-#include "battle_frontier_2.h"
+#include "frontier_util.h"
#include "battle_setup.h"
#include "berry.h"
#include "clock.h"
#include "coins.h"
+#include "contest.h"
#include "contest_link_80F57C4.h"
#include "contest_painting.h"
#include "data2.h"
@@ -27,6 +28,7 @@
#include "event_obj_lock.h"
#include "menu.h"
#include "money.h"
+#include "mossdeep_gym.h"
#include "mystery_event_script.h"
#include "palette.h"
#include "party_menu.h"
@@ -61,8 +63,6 @@ static EWRAM_DATA u16 sMovingNpcMapBank = 0;
static EWRAM_DATA u16 sMovingNpcMapId = 0;
static EWRAM_DATA u16 sFieldEffectScriptId = 0;
-extern u16 gSpecialVar_ContestCategory;
-
IWRAM_DATA u8 gUnknown_03000F30;
extern const SpecialFunc gSpecials[];
@@ -1290,8 +1290,8 @@ bool8 ScrCmd_messageautoscroll(struct ScriptContext *ctx)
if (msg == NULL)
msg = (const u8 *)ctx->data[0];
- gTextFlags.flag_2 = TRUE;
- gTextFlags.flag_3 = TRUE;
+ gTextFlags.autoScroll = TRUE;
+ gTextFlags.forceMidTextSpeed = TRUE;
ShowFieldAutoScrollMessage(msg);
return FALSE;
}
@@ -1708,8 +1708,8 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx)
u8 i;
u16 moveId = ScriptReadHalfword(ctx);
- gSpecialVar_Result = 6;
- for (i = 0; i < 6; i++)
+ gSpecialVar_Result = PARTY_SIZE;
+ for (i = 0; i < PARTY_SIZE; i++)
{
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL);
if (!species)
@@ -2152,13 +2152,13 @@ bool8 ScrCmd_mossdeepgym1(struct ScriptContext *ctx)
{
u16 v1 = VarGet(ScriptReadHalfword(ctx));
- sMovingNpcId = sub_81A89A0(v1);
+ sMovingNpcId = MossdeepGym_MoveEvents(v1);
return FALSE;
}
bool8 ScrCmd_mossdeepgym2(struct ScriptContext *ctx)
{
- sub_81A8AF8();
+ MossdeepGym_TurnEvents();
return FALSE;
}
@@ -2166,13 +2166,13 @@ bool8 ScrCmd_mossdeepgym3(struct ScriptContext *ctx)
{
u16 v1 = VarGet(ScriptReadHalfword(ctx));
- sub_81A8934(v1);
+ InitMossdeepGymTiles(v1);
return FALSE;
}
bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx)
{
- sub_81A895C();
+ FinishMossdeepGymTiles();
return FALSE;
}
@@ -2199,7 +2199,7 @@ bool8 ScrCmd_cmdD9(struct ScriptContext *ctx)
}
}
-// This command will force the Pokémon to be obedient, you don't get to make it disobedient
+// This command will force the Pokémon to be obedient, you don't get to make it disobedient.
bool8 ScrCmd_setmonobedient(struct ScriptContext *ctx)
{
bool8 obedient = TRUE;
diff --git a/src/script_menu.c b/src/script_menu.c
index 04f1e82b7..2aa546288 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1,16 +1,1762 @@
-
-// Includes
#include "global.h"
+#include "main.h"
+#include "event_data.h"
+#include "field_effect.h"
+#include "field_specials.h"
+#include "item.h"
+#include "menu.h"
+#include "palette.h"
+#include "script.h"
+#include "script_menu.h"
+#include "sound.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "constants/items.h"
+#include "constants/songs.h"
+
+// multichoice lists
+const struct MenuAction MultichoiceList_000[] =
+{
+ {gUnknown_085EAD37, NULL},
+ {gUnknown_085EAD41, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_002[] =
+{
+ {gUnknown_085EAD67, NULL},
+ {gUnknown_085EAD6D, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_003[] =
+{
+ {gUnknown_085EAD72, NULL},
+ {gUnknown_085EAD84, NULL},
+ {gUnknown_085EAD96, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_004[] =
+{
+ {gUnknown_085EADA4, NULL},
+ {gUnknown_085EADB5, NULL},
+ {gUnknown_085EADC4, NULL},
+ {gUnknown_085EADD5, NULL},
+ {gUnknown_085EADE7, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_006[] =
+{
+ {gUnknown_085EADF9, NULL},
+ {gUnknown_085EAE04, NULL},
+ {gUnknown_085EAE12, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_005[] =
+{
+ {gUnknown_085EADF9, NULL},
+ {gUnknown_085EAE04, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_007[] =
+{
+ {gMenuText_Register, NULL},
+ {gUnknown_085EAE12, NULL},
+ {gUnknown_085EAE1B, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_012[] =
+{
+ {gUnknown_085EAE27, NULL},
+ {gUnknown_085EAE2C, NULL},
+};
+
+const struct MenuAction MultichoiceList_013[] =
+{
+ {gUnknown_085EAE31, NULL},
+ {gUnknown_085EAE35, NULL},
+ {gUnknown_085EAE39, NULL},
+ {gUnknown_085EAE3D, NULL},
+ {gUnknown_085EAE41, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_014[] =
+{
+ {gUnknown_085EAD5F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_016[] =
+{
+ {gUnknown_085EAE53, NULL},
+ {gUnknown_085EAE5A, NULL},
+};
+
+const struct MenuAction MultichoiceList_020[] =
+{
+ {gText_Yes, NULL},
+ {gText_No, NULL},
+ {gUnknown_085EAD6D, NULL},
+};
+
+const struct MenuAction MultichoiceList_023[] =
+{
+ {gUnknown_085EAEA2, NULL},
+ {gUnknown_085EAEAC, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_024[] =
+{
+ {gText_Lv50, NULL},
+ {gText_OpenLevel, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_025[] =
+{
+ {gUnknown_0827ECBC, NULL},
+ {gUnknown_0827ECC3, NULL},
+ {gUnknown_0827ECCD, NULL},
+};
+
+const struct MenuAction MultichoiceList_026[] =
+{
+ {gUnknown_0827ECD5, NULL},
+ {gUnknown_0827ECDD, NULL},
+ {gUnknown_0827ECE3, NULL},
+};
+
+const struct MenuAction MultichoiceList_027[] =
+{
+ {gUnknown_0827ECEB, NULL},
+ {gUnknown_0827ECF2, NULL},
+ {gUnknown_0827ECF8, NULL},
+};
+
+const struct MenuAction MultichoiceList_028[] =
+{
+ {gUnknown_0827ED00, NULL},
+ {gUnknown_0827ED06, NULL},
+ {gUnknown_0827ED10, NULL},
+};
+
+const struct MenuAction MultichoiceList_029[] =
+{
+ {gUnknown_0827ED18, NULL},
+ {gUnknown_0827ED22, NULL},
+ {gUnknown_0827ED2C, NULL},
+};
+
+const struct MenuAction MultichoiceList_030[] =
+{
+ {gUnknown_0827ED36, NULL},
+ {gUnknown_0827ED40, NULL},
+ {gUnknown_0827ED46, NULL},
+};
+
+const struct MenuAction MultichoiceList_031[] =
+{
+ {gUnknown_0827ED4F, NULL},
+ {gUnknown_0827ED59, NULL},
+ {gUnknown_0827ED65, NULL},
+};
+
+const struct MenuAction MultichoiceList_032[] =
+{
+ {gUnknown_0827ED70, NULL},
+ {gUnknown_0827ED74, NULL},
+ {gUnknown_0827ED78, NULL},
+};
+
+const struct MenuAction MultichoiceList_033[] =
+{
+ {gUnknown_0827ED80, NULL},
+ {gUnknown_0827ED95, NULL},
+ {gUnknown_0827EDAA, NULL},
+};
+
+const struct MenuAction MultichoiceList_034[] =
+{
+ {gUnknown_0827EDB5, NULL},
+ {gUnknown_0827EDBA, NULL},
+ {gUnknown_0827EDC1, NULL},
+};
+
+const struct MenuAction MultichoiceList_035[] =
+{
+ {gUnknown_0827EDC9, NULL},
+ {gUnknown_0827EDD5, NULL},
+ {gUnknown_0827EDE4, NULL},
+};
+
+const struct MenuAction MultichoiceList_036[] =
+{
+ {gUnknown_0827EDF0, NULL},
+ {gUnknown_0827EDF5, NULL},
+ {gUnknown_0827EDF7, NULL},
+};
+
+const struct MenuAction MultichoiceList_037[] =
+{
+ {gUnknown_0827EDF9, NULL},
+ {gUnknown_0827EDFB, NULL},
+ {gUnknown_0827EDFD, NULL},
+};
+
+const struct MenuAction MultichoiceList_038[] =
+{
+ {gUnknown_0827EDFF, NULL},
+ {gUnknown_0827EE01, NULL},
+ {gUnknown_0827EE03, NULL},
+};
+
+const struct MenuAction MultichoiceList_039[] =
+{
+ {gUnknown_0827EE05, NULL},
+ {gUnknown_0827EE07, NULL},
+ {gUnknown_0827EE09, NULL},
+};
+
+const struct MenuAction MultichoiceList_042[] =
+{
+ {gUnknown_085EAEC3, NULL},
+ {gUnknown_085EAED6, NULL},
+ {gUnknown_085EAEE6, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_043[] =
+{
+ {gUnknown_085EAEF6, NULL},
+ {gUnknown_085EAF02, NULL},
+ {gUnknown_085EAF0E, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_044[] =
+{
+ {gUnknown_085EAF1B, NULL},
+ {gUnknown_085EAF24, NULL},
+ {gUnknown_085EAF2F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_045[] =
+{
+ {gUnknown_085EAF34, NULL},
+ {gUnknown_085EAF3E, NULL},
+};
+
+const struct MenuAction MultichoiceList_046[] =
+{
+ {gUnknown_085EAF4B, NULL},
+ {gUnknown_085EAF58, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_047[] =
+{
+ {gUnknown_085EAF65, NULL},
+ {gUnknown_085EAF70, NULL},
+ {gUnknown_085EAF7D, NULL},
+ {gUnknown_085EAF87, NULL},
+ {gUnknown_085EAF93, NULL},
+ {gUnknown_085EAF9F, NULL},
+ {gUnknown_085EAFAB, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_048[] =
+{
+ {gUnknown_085EAFB6, NULL},
+ {gUnknown_085EAFCF, NULL},
+ {gUnknown_085EAFE8, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_055[] =
+{
+ {gUnknown_085EB089, NULL},
+ {gUnknown_085EB09C, NULL},
+ {gUnknown_085EB0AF, NULL},
+ {gUnknown_085EB0C2, NULL},
+ {gUnknown_085EB0D5, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_049[] =
+{
+ {gUnknown_085EB002, NULL},
+ {gUnknown_085EB017, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_050[] =
+{
+ {gUnknown_085EB02A, NULL},
+ {gUnknown_085EB034, NULL},
+};
+
+const struct MenuAction MultichoiceList_052[] =
+{
+ {gText_LilycoveCity, NULL},
+ {gText_BattleFrontier, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_053[] =
+{
+ {gText_SlateportCity, NULL},
+ {gText_LilycoveCity, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_054[] =
+{
+ {gUnknown_085EB07E, NULL},
+ {gUnknown_085EB084, NULL},
+};
+
+const struct MenuAction MultichoiceList_056[] =
+{
+ {gText_LilycoveCity, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_057[] =
+{
+ {gText_5F, NULL},
+ {gText_4F, NULL},
+ {gText_3F, NULL},
+ {gText_2F, NULL},
+ {gText_1F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_058[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_059[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_060[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_061[] =
+{
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_062[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_063[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_064[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_065[] =
+{
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_066[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_067[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_068[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_069[] =
+{
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_070[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_071[] =
+{
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_072[] =
+{
+ {gUnknown_085EB040, NULL},
+ {gUnknown_085EB04A, NULL},
+ {gUnknown_085EB057, NULL},
+ {gUnknown_085EB062, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_073[] =
+{
+ {gText_Opponent, NULL},
+ {gText_Tourney_Tree, NULL},
+ {gText_ReadyToStart, NULL},
+ {gUnknown_085EB5BC, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_107[] =
+{
+ {gText_Opponent, NULL},
+ {gText_Tourney_Tree, NULL},
+ {gText_ReadyToStart, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_088[] =
+{
+ {gUnknown_085EB29A, NULL},
+ {gUnknown_085EB2A3, NULL},
+};
+
+const struct MenuAction MultichoiceList_076[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gUnknown_085EB389, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_017[] =
+{
+ {gText_Yes, NULL},
+ {gText_No, NULL},
+ {gUnknown_085EAD6D, NULL},
+};
+
+const struct MenuAction MultichoiceList_018[] =
+{
+ {gUnknown_085EAE6E, NULL},
+ {gUnknown_085EAE7C, NULL},
+ {gUnknown_085EAE8A, NULL},
+ {gUnknown_085EAD6D, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_078[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gUnknown_085EB397, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_079[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gUnknown_085EB389, NULL},
+ {gUnknown_085EB397, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_074[] =
+{
+ {gUnknown_085EB372, NULL},
+ {gUnknown_085EB37F, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_080[] =
+{
+ {gUnknown_085EB3A4, NULL},
+ {gUnknown_085EB3B1, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_081[] =
+{
+ {gUnknown_085EB3D4, NULL},
+ {gUnknown_085EB3C6, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_082[] =
+{
+ {gText_NormalRank, NULL},
+ {gText_SuperRank, NULL},
+ {gText_HyperRank, NULL},
+ {gText_MasterRank, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_083[] =
+{
+ {gText_BattleBag, NULL},
+ {gText_HeldItem, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_084[] =
+{
+ {gText_LinkContest, NULL},
+ {gText_AboutE_Mode, NULL},
+ {gText_AboutG_Mode, NULL},
+ {gText_Cancel2, NULL},
+};
+
+const struct MenuAction MultichoiceList_085[] =
+{
+ {gText_E_Mode, NULL},
+ {gText_G_Mode, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_086[] =
+{
+ {gText_MenuOptionPokedex, NULL},
+ {gText_MenuOptionPokemon, NULL},
+ {gText_MenuOptionBag, NULL},
+ {gText_MenuOptionPokenav, NULL},
+ {gUnknown_085EB278, NULL},
+ {gText_MenuOptionSave, NULL},
+ {gText_MenuOptionOption, NULL},
+ {gText_MenuOptionExit, NULL},
+};
+
+const struct MenuAction MultichoiceList_087[] =
+{
+ {gUnknown_085EB28A, NULL},
+ {gUnknown_085EB290, NULL},
+ {gUnknown_085EB295, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_089[] =
+{
+ {gText_SouthernIsland, NULL},
+ {gText_BirthIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_090[] =
+{
+ {gText_SouthernIsland, NULL},
+ {gText_FarawayIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_091[] =
+{
+ {gText_BirthIsland, NULL},
+ {gText_FarawayIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_092[] =
+{
+ {gText_SouthernIsland, NULL},
+ {gText_BirthIsland, NULL},
+ {gText_FarawayIsland, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_093[] =
+{
+ {gUnknown_085EB2E4, NULL},
+ {gUnknown_085EB2F0, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_094[] =
+{
+ {gText_Yes, NULL},
+ {gUnknown_085EB2FC, NULL},
+};
+
+const struct MenuAction MultichoiceList_095[] =
+{
+ {gUnknown_085EB3DF, NULL},
+ {gUnknown_085EB3EA, NULL},
+ {gUnknown_085EB3F1, NULL},
+ {gUnknown_085EB3FC, NULL},
+ {gUnknown_085EB40A, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_011[] =
+{
+ {gUnknown_085EB415, NULL},
+ {gUnknown_085EB41D, NULL},
+ {gUnknown_085EB424, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_096[] =
+{
+ {gUnknown_085EB45C, NULL},
+ {gUnknown_085EB469, NULL},
+ {gUnknown_085EB475, NULL},
+ {gUnknown_085EB482, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_097[] =
+{
+ {gUnknown_085EB42F, NULL},
+ {gUnknown_085EB43A, NULL},
+ {gUnknown_085EB444, NULL},
+ {gUnknown_085EB451, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_098[] =
+{
+ {gUnknown_085EB48E, NULL},
+ {gUnknown_085EB496, NULL},
+ {gUnknown_085EB4A3, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_099[] =
+{
+ {gUnknown_085EB4AD, NULL},
+ {gUnknown_085EB4B9, NULL},
+ {gUnknown_085EB4C7, NULL},
+ {gUnknown_085EB4D4, NULL},
+ {gUnknown_085EB4E0, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_100[] =
+{
+ {gText_BattleBasics, NULL},
+ {gText_PokemonNature, NULL},
+ {gText_PokemonMoves, NULL},
+ {gText_Underpowered, NULL},
+ {gText_WhenInDanger, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_101[] =
+{
+ {gUnknown_085EB532, NULL},
+ {gUnknown_085EB543, NULL},
+ {gUnknown_085EB555, NULL},
+ {gUnknown_085EB563, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_102[] =
+{
+ {gUnknown_085EB56E, NULL},
+ {gUnknown_085EB57E, NULL},
+ {gUnknown_085EB589, NULL},
+ {gText_Exit, NULL},
+};
+
+const struct MenuAction MultichoiceList_103[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5BC, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_104[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5C3, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_105[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5BC, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_106[] =
+{
+ {gUnknown_085EB5B6, NULL},
+ {gUnknown_085EB5C8, NULL},
+};
+
+const struct MenuAction MultichoiceList_108[] =
+{
+ {gUnknown_085EE14B, NULL},
+ {gUnknown_085EE14F, NULL},
+};
+
+const struct MenuAction MultichoiceList_109[] =
+{
+ {gUnknown_085EB2FF, NULL},
+ {gUnknown_085EB310, NULL},
+ {gUnknown_085EB317, NULL},
+ {gUnknown_085EB31F, NULL},
+};
+
+const struct MenuAction MultichoiceList_110[] =
+{
+ {gText_CaveOfOrigin, NULL},
+ {gText_MtPyre, NULL},
+ {gText_SkyPillar, NULL},
+ {gText_DontRemember, NULL},
+};
+
+const struct MenuAction MultichoiceList_111[] =
+{
+ {gUnknown_085EB4AD, NULL},
+ {gUnknown_085EB4B9, NULL},
+ {gUnknown_085EB4C7, NULL},
+ {gUnknown_085EB4D4, NULL},
+ {gUnknown_085EB597, NULL},
+ {gText_Exit, NULL},
+};
-// Static type declarations
+const struct MenuAction MultichoiceList_112[] =
+{
+ {gText_BattleTrainers, NULL},
+ {gUnknown_085EB45C, NULL},
+ {gUnknown_085EB469, NULL},
+ {gUnknown_085EB475, NULL},
+ {gUnknown_085EB482, NULL},
+ {gText_Exit, NULL},
+};
-// Static RAM declarations
+const struct MenuAction MultichoiceList_113[] =
+{
+ {gUnknown_085EB32D, NULL},
+ {gUnknown_085EB33E, NULL},
+ {gUnknown_085EB350, NULL},
+ {gUnknown_085EB361, NULL},
+ {gText_Exit, NULL},
+};
-IWRAM_DATA u8 gUnknown_03001124[6];
+const struct MenuAction MultichoiceList_001[] =
+{
+ {gText_Exit, NULL},
+};
+
+struct MultichoiceListStruct
+{
+ const struct MenuAction *list;
+ u8 count;
+};
+
+const struct MultichoiceListStruct gMultichoiceLists[] =
+{
+ {MultichoiceList_000, ARRAY_COUNT(MultichoiceList_000)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_002, ARRAY_COUNT(MultichoiceList_002)},
+ {MultichoiceList_003, ARRAY_COUNT(MultichoiceList_003)},
+ {MultichoiceList_004, ARRAY_COUNT(MultichoiceList_004)},
+ {MultichoiceList_005, ARRAY_COUNT(MultichoiceList_005)},
+ {MultichoiceList_006, ARRAY_COUNT(MultichoiceList_006)},
+ {MultichoiceList_007, ARRAY_COUNT(MultichoiceList_007)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_011, ARRAY_COUNT(MultichoiceList_011)},
+ {MultichoiceList_012, ARRAY_COUNT(MultichoiceList_012)},
+ {MultichoiceList_013, ARRAY_COUNT(MultichoiceList_013)},
+ {MultichoiceList_014, ARRAY_COUNT(MultichoiceList_014)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_016, ARRAY_COUNT(MultichoiceList_016)},
+ {MultichoiceList_017, ARRAY_COUNT(MultichoiceList_017)},
+ {MultichoiceList_018, ARRAY_COUNT(MultichoiceList_018)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_020, ARRAY_COUNT(MultichoiceList_020)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_023, ARRAY_COUNT(MultichoiceList_023)},
+ {MultichoiceList_024, ARRAY_COUNT(MultichoiceList_024)},
+ {MultichoiceList_025, ARRAY_COUNT(MultichoiceList_025)},
+ {MultichoiceList_026, ARRAY_COUNT(MultichoiceList_026)},
+ {MultichoiceList_027, ARRAY_COUNT(MultichoiceList_027)},
+ {MultichoiceList_028, ARRAY_COUNT(MultichoiceList_028)},
+ {MultichoiceList_029, ARRAY_COUNT(MultichoiceList_029)},
+ {MultichoiceList_030, ARRAY_COUNT(MultichoiceList_030)},
+ {MultichoiceList_031, ARRAY_COUNT(MultichoiceList_031)},
+ {MultichoiceList_032, ARRAY_COUNT(MultichoiceList_032)},
+ {MultichoiceList_033, ARRAY_COUNT(MultichoiceList_033)},
+ {MultichoiceList_034, ARRAY_COUNT(MultichoiceList_034)},
+ {MultichoiceList_035, ARRAY_COUNT(MultichoiceList_035)},
+ {MultichoiceList_036, ARRAY_COUNT(MultichoiceList_036)},
+ {MultichoiceList_037, ARRAY_COUNT(MultichoiceList_037)},
+ {MultichoiceList_038, ARRAY_COUNT(MultichoiceList_038)},
+ {MultichoiceList_039, ARRAY_COUNT(MultichoiceList_039)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_042, ARRAY_COUNT(MultichoiceList_042)},
+ {MultichoiceList_043, ARRAY_COUNT(MultichoiceList_043)},
+ {MultichoiceList_044, ARRAY_COUNT(MultichoiceList_044)},
+ {MultichoiceList_045, ARRAY_COUNT(MultichoiceList_045)},
+ {MultichoiceList_046, ARRAY_COUNT(MultichoiceList_046)},
+ {MultichoiceList_047, ARRAY_COUNT(MultichoiceList_047)},
+ {MultichoiceList_048, ARRAY_COUNT(MultichoiceList_048)},
+ {MultichoiceList_049, ARRAY_COUNT(MultichoiceList_049)},
+ {MultichoiceList_050, ARRAY_COUNT(MultichoiceList_050)},
+ {MultichoiceList_001, ARRAY_COUNT(MultichoiceList_001)},
+ {MultichoiceList_052, ARRAY_COUNT(MultichoiceList_052)},
+ {MultichoiceList_053, ARRAY_COUNT(MultichoiceList_053)},
+ {MultichoiceList_054, ARRAY_COUNT(MultichoiceList_054)},
+ {MultichoiceList_055, ARRAY_COUNT(MultichoiceList_055)},
+ {MultichoiceList_056, ARRAY_COUNT(MultichoiceList_056)},
+ {MultichoiceList_057, ARRAY_COUNT(MultichoiceList_057)},
+ {MultichoiceList_058, ARRAY_COUNT(MultichoiceList_058)},
+ {MultichoiceList_059, ARRAY_COUNT(MultichoiceList_059)},
+ {MultichoiceList_060, ARRAY_COUNT(MultichoiceList_060)},
+ {MultichoiceList_061, ARRAY_COUNT(MultichoiceList_061)},
+ {MultichoiceList_062, ARRAY_COUNT(MultichoiceList_062)},
+ {MultichoiceList_063, ARRAY_COUNT(MultichoiceList_063)},
+ {MultichoiceList_064, ARRAY_COUNT(MultichoiceList_064)},
+ {MultichoiceList_065, ARRAY_COUNT(MultichoiceList_065)},
+ {MultichoiceList_066, ARRAY_COUNT(MultichoiceList_066)},
+ {MultichoiceList_067, ARRAY_COUNT(MultichoiceList_067)},
+ {MultichoiceList_068, ARRAY_COUNT(MultichoiceList_068)},
+ {MultichoiceList_069, ARRAY_COUNT(MultichoiceList_069)},
+ {MultichoiceList_070, ARRAY_COUNT(MultichoiceList_070)},
+ {MultichoiceList_071, ARRAY_COUNT(MultichoiceList_071)},
+ {MultichoiceList_072, ARRAY_COUNT(MultichoiceList_072)},
+ {MultichoiceList_073, ARRAY_COUNT(MultichoiceList_073)},
+ {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)},
+ {MultichoiceList_074, ARRAY_COUNT(MultichoiceList_074)},
+ {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)},
+ {MultichoiceList_076, ARRAY_COUNT(MultichoiceList_076)},
+ {MultichoiceList_078, ARRAY_COUNT(MultichoiceList_078)},
+ {MultichoiceList_079, ARRAY_COUNT(MultichoiceList_079)},
+ {MultichoiceList_080, ARRAY_COUNT(MultichoiceList_080)},
+ {MultichoiceList_081, ARRAY_COUNT(MultichoiceList_081)},
+ {MultichoiceList_082, ARRAY_COUNT(MultichoiceList_082)},
+ {MultichoiceList_083, ARRAY_COUNT(MultichoiceList_083)},
+ {MultichoiceList_084, ARRAY_COUNT(MultichoiceList_084)},
+ {MultichoiceList_085, ARRAY_COUNT(MultichoiceList_085)},
+ {MultichoiceList_086, ARRAY_COUNT(MultichoiceList_086)},
+ {MultichoiceList_087, ARRAY_COUNT(MultichoiceList_087)},
+ {MultichoiceList_088, ARRAY_COUNT(MultichoiceList_088)},
+ {MultichoiceList_089, ARRAY_COUNT(MultichoiceList_089)},
+ {MultichoiceList_090, ARRAY_COUNT(MultichoiceList_090)},
+ {MultichoiceList_091, ARRAY_COUNT(MultichoiceList_091)},
+ {MultichoiceList_092, ARRAY_COUNT(MultichoiceList_092)},
+ {MultichoiceList_093, ARRAY_COUNT(MultichoiceList_093)},
+ {MultichoiceList_094, ARRAY_COUNT(MultichoiceList_094)},
+ {MultichoiceList_095, ARRAY_COUNT(MultichoiceList_095)},
+ {MultichoiceList_096, ARRAY_COUNT(MultichoiceList_096)},
+ {MultichoiceList_097, ARRAY_COUNT(MultichoiceList_097)},
+ {MultichoiceList_098, ARRAY_COUNT(MultichoiceList_098)},
+ {MultichoiceList_099, ARRAY_COUNT(MultichoiceList_099)},
+ {MultichoiceList_100, ARRAY_COUNT(MultichoiceList_100)},
+ {MultichoiceList_101, ARRAY_COUNT(MultichoiceList_101)},
+ {MultichoiceList_102, ARRAY_COUNT(MultichoiceList_102)},
+ {MultichoiceList_103, ARRAY_COUNT(MultichoiceList_103)},
+ {MultichoiceList_104, ARRAY_COUNT(MultichoiceList_104)},
+ {MultichoiceList_105, ARRAY_COUNT(MultichoiceList_105)},
+ {MultichoiceList_106, ARRAY_COUNT(MultichoiceList_106)},
+ {MultichoiceList_107, ARRAY_COUNT(MultichoiceList_107)},
+ {MultichoiceList_108, ARRAY_COUNT(MultichoiceList_108)},
+ {MultichoiceList_109, ARRAY_COUNT(MultichoiceList_109)},
+ {MultichoiceList_110, ARRAY_COUNT(MultichoiceList_110)},
+ {MultichoiceList_111, ARRAY_COUNT(MultichoiceList_111)},
+ {MultichoiceList_112, ARRAY_COUNT(MultichoiceList_112)},
+ {MultichoiceList_113, ARRAY_COUNT(MultichoiceList_113)},
+};
+
+const u8 *const gUnknown_0858BAF0[] =
+{
+ gText_Cool,
+ gText_Beauty,
+ gText_Cute,
+ gText_Smart,
+ gText_Tough,
+ gText_Normal,
+ gText_Super,
+ gText_Hyper,
+ gText_Master,
+ gText_Cool2,
+ gText_Beauty2,
+ gText_Cute2,
+ gText_Smart2,
+ gText_Tough2,
+ gText_Items,
+ gText_Key_Items,
+ gText_Poke_Balls,
+ gText_TMs_Hms,
+ gText_Berries2,
+ gText_Single2,
+ gText_Double2,
+ gText_Multi,
+ gText_MultiLink,
+ gText_BattleTower2,
+ gText_BattleDome,
+ gText_BattleFactory,
+ gText_BattlePalace,
+ gText_BattleArena,
+ gText_BattlePike,
+ gText_BattlePyramid,
+};
+
+const u8 gUnknown_0858BB68[] = { 74, 75, 76, 77, 78, 79 };
+
+const u8 *const sPCNameStrings[] =
+{
+ gText_SomeonesPC,
+ gText_LanettesPC,
+ gText_PlayersPC,
+ gText_LogOff,
+};
+
+const u8 *const gUnknown_0858BB80[] =
+{
+ gText_SlateportCity,
+ gText_BattleFrontier,
+ gText_SouthernIsland,
+ gText_NavelRock,
+ gText_BirthIsland,
+ gText_FarawayIsland,
+ gText_Exit,
+};
+
+const u8 *const gUnknown_0858BB9C[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_277F1B,
+ OldaleTown_PokemonCenter_2F_Text_277F5A,
+ OldaleTown_PokemonCenter_2F_Text_277F96,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBAC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_278831,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBBC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_2787FC,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBCC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_278831,
+ OldaleTown_PokemonCenter_2F_Text_2787FC,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBE0[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_277F1B,
+ OldaleTown_PokemonCenter_2F_Text_277F5A,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+const u8 *const gUnknown_0858BBEC[] =
+{
+ OldaleTown_PokemonCenter_2F_Text_27879F,
+ OldaleTown_PokemonCenter_2F_Text_2787D5,
+ OldaleTown_PokemonCenter_2F_Text_27889C,
+};
+
+EWRAM_DATA u8 gUnknown_02039F90 = 0;
+
+IWRAM_DATA u8 gUnknown_03001124[7];
IWRAM_DATA u32 filler_0300112c;
-// Static ROM declarations
+static void Task_HandleMultichoiceInput(u8);
+static void Task_HandleYesNoInput(u8);
+static void Task_HandleMultichoiceGridInput(u8);
+static void DrawMultichoiceMenu(u8, u8, u8, bool8, u8);
+static void sub_80E1FBC(u8, u8, u8, u8);
+static void sub_80E2A94(u8);
+static void CreatePCMenu(void);
+static void sub_80E2578(void);
+static bool8 IsPicboxClosed(void);
+static void CreateStartMenu(void);
+static void sub_80E2CC4(u8, u8, u8, u8);
+
+bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress)
+{
+ if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gSpecialVar_Result = 0xFF;
+ DrawMultichoiceMenu(left, top, multichoiceId, ignoreBPress, 0);
+ return TRUE;
+ }
+}
+
+bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress, u8 defaultChoice)
+{
+ if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gSpecialVar_Result = 0xFF;
+ DrawMultichoiceMenu(left, top, multichoiceId, ignoreBPress, defaultChoice);
+ return TRUE;
+ }
+}
+
+static u16 sub_80E1EB8(const u8 *str)
+{
+ u16 length = 0;
+
+ while (*str != EOS)
+ {
+ if (*str == PLACEHOLDER_BEGIN)
+ {
+ str++;
+ if (*str == 1)
+ {
+ length += StringLength(gSaveBlock2Ptr->playerName);
+ str++;
+ }
+ }
+ else
+ {
+ str++;
+ length++;
+ }
+ }
+
+ return length;
+}
+
+static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 cursorPos)
+{
+ int i;
+ u8 windowId;
+ u8 count = gMultichoiceLists[multichoiceId].count;
+ const struct MenuAction *actions = gMultichoiceLists[multichoiceId].list;
+ int width = 0;
+ u8 newWidth;
+
+ for (i = 0; i < count; i++)
+ {
+ width = display_text_and_get_width(actions[i].text, width);
+ }
+
+ newWidth = convert_pixel_width_to_tile_width(width);
+ left = sub_80E2D5C(left, newWidth);
+ windowId = CreateWindowFromRect(left, top, newWidth, count * 2);
+ SetStandardWindowBorderStyle(windowId, 0);
+ PrintMenuTable(windowId, count, actions);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, cursorPos);
+ schedule_bg_copy_tilemap_to_vram(0);
+ sub_80E1FBC(ignoreBPress, count, windowId, multichoiceId);
+}
+
+#define tLeft data[0]
+#define tTop data[1]
+#define tRight data[2]
+#define tBottom data[3]
+#define tIgnoreBPress data[4]
+#define tDoWrap data[5]
+#define tWindowId data[6]
+#define tMultichoiceId data[7]
+
+static void sub_80E1FBC(u8 ignoreBPress, u8 count, u8 windowId, u8 multichoiceId)
+{
+ u8 i;
+ u8 taskId;
+ gUnknown_02039F90 = 2;
+
+ for (i = 0; i < 6; i++)
+ {
+ if (gUnknown_0858BB68[i] == multichoiceId)
+ {
+ gUnknown_02039F90 = 12;
+ }
+ }
+
+ taskId = CreateTask(Task_HandleMultichoiceInput, 80);
+
+ gTasks[taskId].tIgnoreBPress = ignoreBPress;
+
+ if (count > 3)
+ gTasks[taskId].tDoWrap = TRUE;
+ else
+ gTasks[taskId].tDoWrap = FALSE;
+
+ gTasks[taskId].tWindowId = windowId;
+ gTasks[taskId].tMultichoiceId = multichoiceId;
+
+ sub_80E2A94(multichoiceId);
+}
+
+static void Task_HandleMultichoiceInput(u8 taskId)
+{
+ s8 selection;
+ s16 *data = gTasks[taskId].data;
+
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_02039F90)
+ {
+ gUnknown_02039F90--;
+ }
+ else
+ {
+ if (!tDoWrap)
+ selection = Menu_ProcessInputNoWrap();
+ else
+ selection = Menu_ProcessInput();
+
+ if (gMain.newKeys & (DPAD_UP | DPAD_DOWN))
+ {
+ sub_80E2A94(tMultichoiceId);
+ }
+
+ if (selection != -2)
+ {
+ if (selection == -1)
+ {
+ if (tIgnoreBPress)
+ return;
+ PlaySE(SE_SELECT);
+ gSpecialVar_Result = 127;
+ }
+ else
+ {
+ gSpecialVar_Result = selection;
+ }
+ sub_80E2A78(tWindowId);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+ }
+ }
+ }
+}
+
+bool8 ScriptMenu_YesNo(u8 left, u8 top)
+{
+ u8 taskId;
+
+ if (FuncIsActiveTask(Task_HandleYesNoInput) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gSpecialVar_Result = 0xFF;
+ DisplayYesNoMenu();
+ taskId = CreateTask(Task_HandleYesNoInput, 0x50);
+ return TRUE;
+ }
+}
+
+// unused
+bool8 IsScriptActive(void)
+{
+ if (gSpecialVar_Result == 0xFF)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+static void Task_HandleYesNoInput(u8 taskId)
+{
+ u8 left, top;
+
+ if (gTasks[taskId].tRight < 5)
+ {
+ gTasks[taskId].tRight++;
+ return;
+ }
+
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case -2:
+ return;
+ case -1:
+ case 1:
+ PlaySE(SE_SELECT);
+ gSpecialVar_Result = 0;
+ break;
+ case 0:
+ gSpecialVar_Result = 1;
+ break;
+ }
+
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+}
+
+bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 ignoreBPress, u8 columnCount)
+{
+ u8 bottom = 0;
+
+ if (FuncIsActiveTask(Task_HandleMultichoiceGridInput) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ u8 taskId;
+ u8 unk2;
+ int width;
+ int i;
+ u8 newWidth;
+
+ gSpecialVar_Result = 0xFF;
+ width = 0;
+
+ for (i = 0; i < gMultichoiceLists[multichoiceId].count; i++)
+ {
+ width = display_text_and_get_width(gMultichoiceLists[multichoiceId].list[i].text, width);
+ }
+
+ newWidth = convert_pixel_width_to_tile_width(width);
+
+ left = sub_80E2D5C(left, columnCount * newWidth);
+ unk2 = gMultichoiceLists[multichoiceId].count / columnCount;
+
+ taskId = CreateTask(Task_HandleMultichoiceGridInput, 80);
+
+ gTasks[taskId].tIgnoreBPress = ignoreBPress;
+ gTasks[taskId].tWindowId = CreateWindowFromRect(left, top, columnCount * newWidth, unk2 * 2);
+ SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 0);
+ sub_81997AC(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, gMultichoiceLists[multichoiceId].list);
+ sub_8199944(gTasks[taskId].tWindowId, newWidth * 8, columnCount, unk2, 0);
+ CopyWindowToVram(gTasks[taskId].tWindowId, 3);
+ return TRUE;
+ }
+}
+
+static void Task_HandleMultichoiceGridInput(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ s8 selection = Menu_ProcessInputGridLayout();
+
+ if (selection != -2)
+ {
+ if (selection == -1)
+ {
+ if (tIgnoreBPress)
+ return;
+ PlaySE(SE_SELECT);
+ gSpecialVar_Result = 0x7F;
+ }
+ else
+ {
+ gSpecialVar_Result = selection;
+ }
+ sub_80E2A78(tWindowId);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+ }
+}
+
+#undef tWindowId
+
+bool8 ScrSpecial_CreatePCMenu(void)
+{
+ if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gSpecialVar_Result = 0xFF;
+ CreatePCMenu();
+ return TRUE;
+ }
+}
+
+static void CreatePCMenu(void)
+{
+ u8 y = 8;
+ u32 pixelWidth = 0;
+ u8 width;
+ u8 numChoices;
+ u8 windowId;
+ int i;
+
+ for (i = 0; i < ARRAY_COUNT(sPCNameStrings); i++)
+ {
+ pixelWidth = display_text_and_get_width(sPCNameStrings[i], pixelWidth);
+ }
+
+ if (FlagGet(FLAG_SYS_GAME_CLEAR))
+ {
+ pixelWidth = display_text_and_get_width(gText_HallOfFame, pixelWidth);
+ }
+
+ width = convert_pixel_width_to_tile_width(pixelWidth);
+
+ if (FlagGet(FLAG_SYS_GAME_CLEAR)) // player has cleared game?
+ {
+ numChoices = 4;
+ windowId = CreateWindowFromRect(0, 0, width, 8);
+ SetStandardWindowBorderStyle(windowId, 0);
+ AddTextPrinterParameterized(windowId, 1, gText_HallOfFame, y, 33, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_LogOff, y, 49, TEXT_SPEED_FF, NULL);
+ }
+ else
+ {
+ numChoices = 3;
+ windowId = CreateWindowFromRect(0, 0, width, 6);
+ SetStandardWindowBorderStyle(windowId, 0);
+ AddTextPrinterParameterized(windowId, 1, gText_LogOff, y, 33, TEXT_SPEED_FF, NULL);
+ }
+
+ if (FlagGet(FLAG_SYS_PC_LANETTE)) // player met lanette?
+ AddTextPrinterParameterized(windowId, 1, gText_LanettesPC, y, 1, TEXT_SPEED_FF, NULL);
+ else
+ AddTextPrinterParameterized(windowId, 1, gText_SomeonesPC, y, 1, TEXT_SPEED_FF, NULL);
+
+ StringExpandPlaceholders(gStringVar4, gText_PlayersPC);
+ PrintPlayerNameOnWindow(windowId, gStringVar4, y, 17);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, numChoices, 0);
+ CopyWindowToVram(windowId, 3);
+ sub_80E1FBC(FALSE, numChoices, windowId, 1);
+}
+
+void ScriptMenu_DisplayPCStartupPrompt(void)
+{
+ sub_819786C(0, TRUE);
+ AddTextPrinterParameterized2(0, 1, gText_WhichPCShouldBeAccessed, 0, NULL, 2, 1, 3);
+}
+
+bool8 sub_80E2548(void)
+{
+ if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gSpecialVar_Result = 0xFF;
+ sub_80E2578();
+ return TRUE;
+ }
+}
+
+static void sub_80E2578(void)
+{
+ u8 temp = 0;
+ u8 count;
+ u32 pixelWidth;
+ u8 width;
+ u8 windowId;
+ u8 i;
+ u32 j;
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_03001124); i++)
+ {
+ gUnknown_03001124[i] |= 0xFF;
+ }
+
+ GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH);
+
+ if (gSpecialVar_0x8004 == 0)
+ {
+ gUnknown_03001124[temp] = 0;
+ temp++;
+ if (FlagGet(FLAG_0x1D0) == TRUE)
+ {
+ gUnknown_03001124[temp] = 1;
+ temp++;
+ }
+ }
+
+ if (CheckBagHasItem(ITEM_EON_TICKET, 1) == TRUE && FlagGet(FLAG_SYS_HAS_EON_TICKET) == TRUE)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ gUnknown_03001124[temp] = 2;
+ temp++;
+ }
+
+ if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1AE) == FALSE)
+ {
+ gUnknown_03001124[temp] = 2;
+ temp++;
+ FlagSet(FLAG_0x1AE);
+ }
+ }
+
+ if (CheckBagHasItem(ITEM_MYSTIC_TICKET, 1) == TRUE && FlagGet(FLAG_0x8E0) == TRUE)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ gUnknown_03001124[temp] = 3;
+ temp++;
+ }
+
+ if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1DB) == FALSE)
+ {
+ gUnknown_03001124[temp] = 3;
+ temp++;
+ FlagSet(FLAG_0x1DB);
+ }
+ }
+
+ if (CheckBagHasItem(ITEM_AURORA_TICKET, 1) == TRUE && FlagGet(FLAG_0x8D5) == TRUE)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ gUnknown_03001124[temp] = 4;
+ temp++;
+ }
+
+ if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1AF) == FALSE)
+ {
+ gUnknown_03001124[temp] = 4;
+ temp++;
+ FlagSet(FLAG_0x1AF);
+ }
+ }
+
+ if (CheckBagHasItem(ITEM_OLD_SEA_MAP, 1) == TRUE && FlagGet(FLAG_0x8D6) == TRUE)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ gUnknown_03001124[temp] = 5;
+ temp++;
+ }
+
+ if (gSpecialVar_0x8004 == 1 && FlagGet(FLAG_0x1B0) == FALSE)
+ {
+ gUnknown_03001124[temp] = 5;
+ temp++;
+ FlagSet(FLAG_0x1B0);
+ }
+ }
+
+ gUnknown_03001124[temp] = 6;
+ temp++;
+
+ if (gSpecialVar_0x8004 == 0 && FlagGet(FLAG_0x1D0) == TRUE)
+ {
+ count = temp;
+ }
+
+ count = temp;
+ if (count == 7)
+ {
+ gSpecialVar_0x8004 = 11;
+ sub_813A128();
+ }
+ else
+ {
+ pixelWidth = 0;
+
+ for (j = 0; j < ARRAY_COUNT(gUnknown_0858BB80); j++)
+ {
+ u8 test = gUnknown_03001124[j];
+ if (test != 0xFF)
+ {
+ pixelWidth = display_text_and_get_width(gUnknown_0858BB80[test], pixelWidth);
+ }
+ }
+
+ width = convert_pixel_width_to_tile_width(pixelWidth);
+ windowId = CreateWindowFromRect(28 - width, (6 - count) * 2, width, count * 2);
+ SetStandardWindowBorderStyle(windowId, 0);
+
+ for (temp = 0, i = 0; i < ARRAY_COUNT(gUnknown_0858BB80); i++)
+ {
+ if (gUnknown_03001124[i] != 0xFF)
+ {
+ AddTextPrinterParameterized(windowId, 1, gUnknown_0858BB80[gUnknown_03001124[i]], 8, temp * 16 + 1, TEXT_SPEED_FF, NULL);
+ temp++;
+ }
+ }
+
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, count, count - 1);
+ CopyWindowToVram(windowId, 3);
+ sub_80E1FBC(FALSE, count, windowId, 8);
+ }
+}
+
+void sub_80E2878(void)
+{
+ if (gSpecialVar_Result != 0x7F)
+ {
+ gSpecialVar_Result = gUnknown_03001124[gSpecialVar_Result];
+ }
+}
+
+#define tState data[0]
+#define tMonSpecies data[1]
+#define tMonSpriteId data[2]
+#define tWindowX data[3]
+#define tWindowY data[4]
+#define tWindowId data[5]
+
+static void Task_PokemonPicWindow(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->tState)
+ {
+ case 0:
+ task->tState++;
+ break;
+ case 1:
+ break;
+ case 2:
+ FreeResourcesAndDestroySprite(&gSprites[task->tMonSpriteId], task->tMonSpriteId);
+ task->tState++;
+ break;
+ case 3:
+ sub_80E2A78(task->tWindowId);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y)
+{
+ u8 taskId;
+ u8 spriteId;
+
+ if (FindTaskIdByFunc(Task_PokemonPicWindow) != 0xFF)
+ {
+ return FALSE;
+ }
+ else
+ {
+ spriteId = CreateMonSprite_PicBox(species, x * 8 + 40, y * 8 + 40, 0);
+ taskId = CreateTask(Task_PokemonPicWindow, 0x50);
+ gTasks[taskId].tWindowId = CreateWindowFromRect(x, y, 8, 8);
+ gTasks[taskId].tState = 0;
+ gTasks[taskId].tMonSpecies = species;
+ gTasks[taskId].tMonSpriteId = spriteId;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ gSprites[spriteId].oam.priority = 0;
+ SetStandardWindowBorderStyle(gTasks[taskId].tWindowId, 1);
+ schedule_bg_copy_tilemap_to_vram(0);
+ return TRUE;
+ }
+}
+
+bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void)
+{
+ u8 taskId = FindTaskIdByFunc(Task_PokemonPicWindow);
+
+ if (taskId == 0xFF)
+ return NULL;
+ gTasks[taskId].tState++;
+ return IsPicboxClosed;
+}
+
+static bool8 IsPicboxClosed(void)
+{
+ if (FindTaskIdByFunc(Task_PokemonPicWindow) == 0xFF)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+#undef tState
+#undef tMonSpecies
+#undef tMonSpriteId
+#undef tWindowX
+#undef tWindowY
+#undef tWindowId
+
+u8 CreateWindowFromRect(u8 x, u8 y, u8 width, u8 height)
+{
+ struct WindowTemplate template = CreateWindowTemplate(0, x + 1, y + 1, width, height, 15, 100);
+ u8 windowId = AddWindow(&template);
+ PutWindowTilemap(windowId);
+ return windowId;
+}
+
+void sub_80E2A78(u8 windowId)
+{
+ sub_8198070(windowId, TRUE);
+ RemoveWindow(windowId);
+}
+
+static void sub_80E2A94(u8 multichoiceId)
+{
+ switch (multichoiceId)
+ {
+ case 77:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 76:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 78:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 79:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 75:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ case 74:
+ FillWindowPixelBuffer(0, 0x11);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ break;
+ }
+}
+
+bool16 sp106_CreateStartMenu(void)
+{
+ if (FuncIsActiveTask(Task_HandleMultichoiceInput) == TRUE)
+ {
+ return FALSE;
+ }
+
+ gSpecialVar_Result = 0xFF;
+ CreateStartMenu();
+ return TRUE;
+}
+
+static void CreateStartMenu(void)
+{
+ u8 windowId = CreateWindowFromRect(21, 0, 7, 18);
+ SetStandardWindowBorderStyle(windowId, 0);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionPokedex, 8, 9, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionPokemon, 8, 25, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionBag, 8, 41, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionPokenav, 8, 57, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gSaveBlock2Ptr->playerName, 8, 73, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionSave, 8, 89, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionOption, 8, 105, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(windowId, 1, gText_MenuOptionExit, 8, 121, TEXT_SPEED_FF, NULL);
+ sub_81983AC(windowId, 1, 0, 9, 16, 8, 0);
+ sub_80E2CC4(0, 8, windowId, 86);
+ CopyWindowToVram(windowId, 3);
+}
+
+#define tWindowId data[6]
+
+static void sub_80E2CC4(bool8 ignoreBPress, u8 unused, u8 windowId, u8 multichoiceId)
+{
+ u8 taskId;
+ gUnknown_02039F90 = 2;
+ taskId = CreateTask(Task_HandleMultichoiceInput, 80);
+ gTasks[taskId].tIgnoreBPress = ignoreBPress;
+ gTasks[taskId].tDoWrap = 0;
+ gTasks[taskId].tWindowId = windowId;
+ gTasks[taskId].tMultichoiceId = multichoiceId;
+}
+
+#undef tLeft
+#undef tTop
+#undef tRight
+#undef tBottom
+#undef tIgnoreBPress
+#undef tDoWrap
+#undef tWindowId
+#undef tMultichoiceId
+
+static int display_text_and_get_width_internal(const u8 *str)
+{
+ u8 temp[64];
+ StringExpandPlaceholders(temp, str);
+ return GetStringWidth(1, temp, 0);
+}
+
+int display_text_and_get_width(const u8 *str, int prevMaxWidth)
+{
+ int len = display_text_and_get_width_internal(str);
+ if (len < prevMaxWidth)
+ {
+ len = prevMaxWidth;
+ }
+ return len;
+}
+
+int convert_pixel_width_to_tile_width(int width)
+{
+ return (((width + 9) / 8) + 1) > 28 ? 28 : (((width + 9) / 8) + 1);
+}
+
+int sub_80E2D5C(int a0, int a1)
+{
+ int ret = a0;
-// .rodata
+ if (a0 + a1 > 28)
+ {
+ if (28 - a1 < 0)
+ {
+ ret = 0;
+ }
+ else
+ {
+ ret = 28 - a1;
+ }
+ }
+ else
+ {
+ ret = a0;
+ }
-// .text
+ return ret;
+}
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
new file mode 100755
index 000000000..7fc61f953
--- /dev/null
+++ b/src/script_pokemon_util_80F87D8.c
@@ -0,0 +1,707 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_gfx_sfx_util.h"
+#include "berry.h"
+#include "contest.h"
+#include "contest_link_80F57C4.h"
+#include "contest_painting.h"
+#include "daycare.h"
+#include "decompress.h"
+#include "event_data.h"
+#include "event_object_movement.h"
+#include "international_string_util.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "main.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "party_menu.h"
+#include "pokedex.h"
+#include "pokemon.h"
+#include "random.h"
+#include "script.h"
+#include "script_menu.h"
+#include "sprite.h"
+#include "string_util.h"
+#include "tv.h"
+#include "constants/event_objects.h"
+#include "constants/items.h"
+#include "constants/species.h"
+#include "constants/vars.h"
+
+extern const u16 gEventObjectPalette8[];
+extern const u16 gEventObjectPalette17[];
+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);
+static void sub_80F9088(u8 taskId);
+static void sub_80F9460(void);
+static void sub_80F94B8(void);
+
+void SetContestTrainerGfxIds(void)
+{
+ gSaveBlock1Ptr->vars[VAR_OBJ_GFX_ID_0 - VARS_START] = gContestMons[0].trainerGfxId;
+ gSaveBlock1Ptr->vars[VAR_OBJ_GFX_ID_1 - VARS_START] = gContestMons[1].trainerGfxId;
+ gSaveBlock1Ptr->vars[VAR_OBJ_GFX_ID_2 - VARS_START] = gContestMons[2].trainerGfxId;
+}
+
+void sub_80F8814(void)
+{
+ u16 var1;
+ u8 var0 = gSpecialVar_0x8005;
+ switch (var0)
+ {
+ case 0:
+ var1 = 3;
+ break;
+ case 1:
+ var1 = 4;
+ break;
+ case 2:
+ var1 = 5;
+ break;
+ default:
+ var1 = 100;
+ break;
+ }
+
+ gSpecialVar_0x8004 = var1;
+}
+
+void sub_80F8850(void)
+{
+ sub_80F8264();
+ sub_80F8290();
+ sub_80F8438();
+}
+
+void sub_80F8864(void)
+{
+ int contestWinner;
+ switch (gSpecialVar_ContestCategory)
+ {
+ case CONTEST_CATEGORY_COOL:
+ contestWinner = 8;
+ break;
+ case CONTEST_CATEGORY_BEAUTY:
+ contestWinner = 9;
+ break;
+ case CONTEST_CATEGORY_CUTE:
+ contestWinner = 10;
+ break;
+ case CONTEST_CATEGORY_SMART:
+ contestWinner = 11;
+ break;
+ case CONTEST_CATEGORY_TOUGH:
+ default:
+ contestWinner = 12;
+ break;
+ }
+
+ if (!gSaveBlock1Ptr->contestWinners[contestWinner].species)
+ gSpecialVar_0x8004 = 0;
+ else
+ gSpecialVar_0x8004 = 1;
+}
+
+void sub_80F88DC(void)
+{
+ sub_80DEDA8(0xFF);
+}
+
+void sub_80F88E8(void)
+{
+ if (gContestFinalStandings[gContestPlayerMonIndex] == 0
+ && gSpecialVar_ContestRank == 3
+ && gUnknown_02039F08[gContestPlayerMonIndex] >= 800)
+ {
+ gSpecialVar_0x8004 = 1;
+ }
+ else
+ {
+ gSpecialVar_0x8004 = 0;
+ }
+}
+
+u8 sub_80F8940(void)
+{
+ int i;
+ u8 var0 = 0;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gSaveBlock1Ptr->contestWinners[8 + i].species)
+ var0++;
+ }
+
+ return var0;
+}
+
+void sub_80F8970(void)
+{
+ s16 sp[4];
+ int i, j;
+ s16 condition;
+ s8 var0;
+ u8 var2;
+ u8 r8;
+ u8 r7;
+
+ for (i = 0; i < 4; i++)
+ sp[i] = gContestMonConditions[i];
+
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 3; j > i; j--)
+ {
+ if (sp[j - 1] < sp[j])
+ {
+ int temp = sp[j];
+ sp[j] = sp[j - 1];
+ sp[j - 1] = temp;
+ }
+ }
+ }
+
+ condition = sp[gSpecialVar_0x8006];
+ var0 = 0;
+ r8 = 0;
+ for (i = 0; i < 4; i++)
+ {
+ if (sp[i] == condition)
+ {
+ var0++;
+ if (i == gSpecialVar_0x8006)
+ r8 = var0;
+ }
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sp[i] == condition)
+ break;
+ }
+
+ r7 = i;
+ var2 = r8;
+ for (i = 0; i < 4; i++)
+ {
+ if (condition == gContestMonConditions[i])
+ {
+ if (var2 == 1)
+ break;
+ var2--;
+ }
+ }
+
+ StringCopy(gStringVar1, gContestMons[i].nickname);
+ StringCopy(gStringVar2, gContestMons[i].trainerName);
+ sub_81DB5AC(gStringVar2);
+
+ if (var0 == 1)
+ gSpecialVar_0x8006 = r7;
+ else if (r8 == var0)
+ gSpecialVar_0x8006 = r7;
+ else
+ gSpecialVar_0x8006 = r7 + 4;
+}
+
+static void ShowContestWinnerCleanup(void)
+{
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+void ShowContestWinner(void)
+{
+ SetMainCallback2(sub_812FDEC);
+ gMain.savedCallback = ShowContestWinnerCleanup;
+}
+
+void sub_80F8AFC(void)
+{
+ int i;
+
+ if (gIsLinkContest & 1)
+ {
+ for (i = 0; i < gUnknown_02039F30; i++)
+ {
+ int version = (u8)gLinkPlayers[i].version;
+ if (version == VERSION_RUBY || version == VERSION_SAPPHIRE)
+ {
+ if (gLinkPlayers[i].gender == MALE)
+ gContestMons[i].trainerGfxId = EVENT_OBJ_GFX_LINK_RS_BRENDAN;
+ else
+ gContestMons[i].trainerGfxId = EVENT_OBJ_GFX_LINK_RS_MAY;
+ }
+ }
+
+ VarSet(VAR_OBJ_GFX_ID_0, gContestMons[0].trainerGfxId);
+ VarSet(VAR_OBJ_GFX_ID_1, gContestMons[1].trainerGfxId);
+ VarSet(VAR_OBJ_GFX_ID_2, gContestMons[2].trainerGfxId);
+ VarSet(VAR_OBJ_GFX_ID_3, gContestMons[3].trainerGfxId);
+ }
+}
+
+void sub_80F8B94(void)
+{
+ int i;
+ u8 eventObjectId;
+ int version;
+ struct Sprite *sprite;
+
+ gReservedSpritePaletteCount = 12;
+ if (gIsLinkContest & 1)
+ {
+ for (i = 0; i < gUnknown_02039F30; i++)
+ {
+ eventObjectId = GetEventObjectIdByLocalIdAndMap(gUnknown_0858D8EC[i], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ sprite = &gSprites[gEventObjects[eventObjectId].spriteId];
+ sprite->oam.paletteNum = 6 + i;
+ version = (u8)gLinkPlayers[i].version;
+ if (version == VERSION_RUBY || version == VERSION_SAPPHIRE)
+ {
+ if (gLinkPlayers[i].gender == MALE)
+ LoadPalette(gEventObjectPalette33, 0x160 + i * 0x10, 0x20);
+ else
+ LoadPalette(gEventObjectPalette34, 0x160 + i * 0x10, 0x20);
+ }
+ else
+ {
+ if (gLinkPlayers[i].gender == MALE)
+ LoadPalette(gEventObjectPalette8, 0x160 + i * 0x10, 0x20);
+ else
+ LoadPalette(gEventObjectPalette17, 0x160 + i * 0x10, 0x20);
+ }
+ }
+ }
+}
+
+u8 GiveMonArtistRibbon(void)
+{
+ u8 hasArtistRibbon;
+
+ hasArtistRibbon = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_ARTIST_RIBBON);
+ if (!hasArtistRibbon && gContestFinalStandings[gContestPlayerMonIndex] == 0 && gSpecialVar_ContestRank == 3
+ && gUnknown_02039F08[gContestPlayerMonIndex] >= 800)
+ {
+ hasArtistRibbon = 1;
+ SetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_ARTIST_RIBBON, &hasArtistRibbon);
+ if (GetRibbonCount(&gPlayerParty[gUnknown_02039F24]) > 4)
+ sub_80EE4DC(&gPlayerParty[gUnknown_02039F24], MON_DATA_ARTIST_RIBBON);
+
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+u8 sub_80F8D24(void)
+{
+ return 0;
+}
+
+void ShowContestEntryMonPic(void)
+{
+ const struct CompressedSpritePalette *palette;
+ u32 personality, otId;
+ u16 species;
+ u8 spriteId;
+ u8 taskId;
+ u8 left, top;
+
+ if (FindTaskIdByFunc(sub_80F8EE8) == 0xFF)
+ {
+ AllocateMonSpritesGfx();
+ left = 10;
+ top = 3;
+ species = gContestMons[gSpecialVar_0x8006].species;
+ personality = gContestMons[gSpecialVar_0x8006].personality;
+ otId = gContestMons[gSpecialVar_0x8006].otId;
+ taskId = CreateTask(sub_80F8EE8, 0x50);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = species;
+ if (gSpecialVar_0x8006 == gContestPlayerMonIndex)
+ HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality);
+ else
+ HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality);
+
+ palette = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality);
+ LoadCompressedObjectPalette(palette);
+ SetMultiuseSpriteTemplateToPokemon(species, 1);
+ gMultiuseSpriteTemplate.paletteTag = palette->tag;
+ spriteId = CreateSprite(&gMultiuseSpriteTemplate, (left + 1) * 8 + 32, (top * 8) + 40, 0);
+
+ if (gIsLinkContest & 1)
+ {
+ if (!(gIsLinkContest & 4))
+ DoMonFrontSpriteAnimation(&gSprites[spriteId], species, FALSE, 0);
+ }
+ else
+ {
+ DoMonFrontSpriteAnimation(&gSprites[spriteId], species, FALSE, 0);
+ }
+
+ gTasks[taskId].data[2] = spriteId;
+ gTasks[taskId].data[3] = left;
+ gTasks[taskId].data[4] = top;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ gSprites[spriteId].oam.priority = 0;
+ }
+}
+
+void sub_80F8EB8(void)
+{
+ u8 taskId = FindTaskIdByFunc(sub_80F8EE8);
+ if (taskId != 0xFF)
+ {
+ gTasks[taskId].data[0]++;
+ FreeMonSpritesGfx();
+ }
+}
+
+static void sub_80F8EE8(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ struct Sprite *sprite;
+
+ switch(task->data[0])
+ {
+ case 0:
+ task->data[0]++;
+ break;
+ case 1:
+ task->data[5] = CreateWindowFromRect(10, 3, 8, 8);
+ SetStandardWindowBorderStyle(task->data[5], 1);
+ task->data[0]++;
+ break;
+ case 2:
+ break;
+ case 3:
+ sprite = &gSprites[task->data[2]];
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum));
+
+ if(sprite->oam.affineMode)
+ FreeOamMatrix(sprite->oam.matrixNum);
+
+ DestroySprite(sprite);
+ task->data[0]++;
+ break;
+ case 4:
+ sub_80E2A78(gTasks[taskId].data[5]);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void ScriptGetMultiplayerId(void)
+{
+ if ((gIsLinkContest & 1) && gUnknown_02039F30 == 4 && !(gIsLinkContest & 2))
+ gSpecialVar_Result = GetMultiplayerId();
+ else
+ gSpecialVar_Result = 4;
+}
+
+void ScriptRandom(void)
+{
+ u16 random;
+ u16 *scriptPtr;
+
+ if (gIsLinkContest & 1)
+ {
+ gContestRngValue = 1103515245 * gContestRngValue + 24691;
+ random = gContestRngValue >> 16;
+ scriptPtr = &gSpecialVar_Result;
+ }
+ else
+ {
+ scriptPtr = &gSpecialVar_Result;
+ random = Random();
+ }
+ *scriptPtr = random % *scriptPtr;
+}
+
+u16 sub_80F903C(void)
+{
+ gContestRngValue = 1103515245 * gContestRngValue + 24691;
+ return gContestRngValue >> 16;
+}
+
+u8 sub_80F905C(void)
+{
+ if (gIsLinkContest & 2)
+ {
+ CreateTask(sub_80F9088, 5);
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+static void sub_80F9088(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (sub_800A520())
+ {
+ sub_800ADF8();
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 1:
+ gTasks[taskId].data[0]++;
+ break;
+ default:
+ if (sub_800A520() == 1)
+ {
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80F90DC(void)
+{
+ if (gIsLinkContest & 2)
+ {
+ if (gReceivedRemoteLinkPlayers)
+ {
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(8, 8);
+ }
+ }
+}
+
+void sub_80F910C(void)
+{
+ if (gIsLinkContest & 2)
+ {
+ if (gReceivedRemoteLinkPlayers)
+ sub_800E084();
+ }
+}
+
+u8 sub_80F9134(void)
+{
+ if (gIsLinkContest & 4)
+ return 1;
+ else
+ return 0;
+}
+
+void sub_80F9154(void)
+{
+ gIsLinkContest = 0;
+}
+
+u8 sub_80F9160(void)
+{
+ if (gIsLinkContest & 2)
+ return 1;
+ else
+ return 0;
+}
+
+void HealPlayerParty(void)
+{
+ u8 i, j;
+ u8 ppBonuses;
+ u8 arg[4];
+
+ // restore HP.
+ for(i = 0; i < gPlayerPartyCount; i++)
+ {
+ u16 maxHP = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP);
+ arg[0] = maxHP;
+ arg[1] = maxHP >> 8;
+ SetMonData(&gPlayerParty[i], MON_DATA_HP, arg);
+ ppBonuses = GetMonData(&gPlayerParty[i], MON_DATA_PP_BONUSES);
+
+ // restore PP.
+ for(j = 0; j < 4; j++)
+ {
+ arg[0] = CalculatePPWithBonus(GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + j), ppBonuses, j);
+ SetMonData(&gPlayerParty[i], MON_DATA_PP1 + j, arg);
+ }
+
+ // since status is u32, the four 0 assignments here are probably for safety to prevent undefined data from reaching SetMonData.
+ arg[0] = 0;
+ arg[1] = 0;
+ arg[2] = 0;
+ arg[3] = 0;
+ SetMonData(&gPlayerParty[i], MON_DATA_STATUS, arg);
+ }
+}
+
+u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 unused3)
+{
+ u16 nationalDexNum;
+ int sentToPc;
+ u8 heldItem[2];
+ struct Pokemon mon;
+
+ CreateMon(&mon, species, level, 32, 0, 0, 0, 0);
+ heldItem[0] = item;
+ heldItem[1] = item >> 8;
+ SetMonData(&mon, MON_DATA_HELD_ITEM, heldItem);
+ sentToPc = GiveMonToPlayer(&mon);
+ nationalDexNum = SpeciesToNationalPokedexNum(species);
+
+ switch(sentToPc)
+ {
+ case 0:
+ case 1:
+ GetSetPokedexFlag(nationalDexNum, 2);
+ GetSetPokedexFlag(nationalDexNum, 3);
+ break;
+ }
+ return sentToPc;
+}
+
+u8 ScriptGiveEgg(u16 species)
+{
+ struct Pokemon mon;
+ u8 isEgg;
+
+ CreateEgg(&mon, species, TRUE);
+ isEgg = TRUE;
+ SetMonData(&mon, MON_DATA_IS_EGG, &isEgg);
+
+ return GiveMonToPlayer(&mon);
+}
+
+void HasEnoughMonsForDoubleBattle(void)
+{
+ switch (GetMonsStateToDoubles())
+ {
+ case 0:
+ gSpecialVar_Result = 0;
+ break;
+ case 1:
+ gSpecialVar_Result = 1;
+ break;
+ case 2:
+ gSpecialVar_Result = 2;
+ break;
+ }
+}
+
+static bool8 CheckPartyMonHasHeldItem(u16 item)
+{
+ int i;
+
+ for(i = 0; i < PARTY_SIZE; i++)
+ {
+ u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ if (species != SPECIES_NONE && species != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) == item)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 sub_80F9370(void)
+{
+ bool8 hasItem = CheckPartyMonHasHeldItem(ITEM_ENIGMA_BERRY);
+ if (hasItem == TRUE)
+ GetBerryNameByBerryType(ItemIdToBerryType(ITEM_ENIGMA_BERRY), gStringVar1);
+
+ return hasItem;
+}
+
+void CreateScriptedWildMon(u16 species, u8 level, u16 item)
+{
+ u8 heldItem[2];
+
+ ZeroEnemyPartyMons();
+ CreateMon(&gEnemyParty[0], species, level, 0x20, 0, 0, 0, 0);
+ if (item)
+ {
+ heldItem[0] = item;
+ heldItem[1] = item >> 8;
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, heldItem);
+ }
+}
+
+void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot)
+{
+ if (monIndex > PARTY_SIZE)
+ monIndex = gPlayerPartyCount - 1;
+
+ SetMonMoveSlot(&gPlayerParty[monIndex], move, slot);
+}
+
+void sub_80F9438(void)
+{
+ gMain.savedCallback = sub_80F9460;
+ VarSet(VAR_FRONTIER_FACILITY, 9); // this isn't a valid frontier facility id (??)
+ sub_81B8518(0);
+}
+
+static void sub_80F9460(void)
+{
+ switch (gSelectedOrderFromParty[0])
+ {
+ case 0:
+ gSpecialVar_Result = 0;
+ break;
+ default:
+ gSpecialVar_Result = 1;
+ break;
+ }
+
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+void sub_80F9490(void)
+{
+ gMain.savedCallback = sub_80F94B8;
+ sub_81B8518(gSpecialVar_0x8004 + 1);
+}
+
+static void sub_80F94B8(void)
+{
+ switch (gSelectedOrderFromParty[0])
+ {
+ case 0:
+ gSpecialVar_Result = 0;
+ break;
+ default:
+ gSpecialVar_Result = 1;
+ break;
+ }
+
+ SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+void ReducePlayerPartyToSelectedMons(void)
+{
+ struct Pokemon party[4];
+ int i;
+
+ CpuFill32(0, party, sizeof party);
+
+ // copy the selected pokemon according to the order.
+ for (i = 0; i < 4; i++)
+ if (gSelectedOrderFromParty[i]) // as long as the order keeps going (did the player select 1 mon? 2? 3?), do not stop
+ party[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; // index is 0 based, not literal
+
+ CpuFill32(0, gPlayerParty, sizeof gPlayerParty);
+
+ // overwrite the first 4 with the order copied to.
+ for (i = 0; i < 4; i++)
+ gPlayerParty[i] = party[i];
+
+ CalculatePlayerPartyCount();
+}
diff --git a/src/secret_base.c b/src/secret_base.c
index a684f3982..8436d8520 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -40,6 +40,7 @@
#include "tv.h"
#include "secret_base.h"
#include "constants/map_types.h"
+#include "constants/trainers.h"
extern void mapldr_default(void);
@@ -997,7 +998,7 @@ void sub_80E9FB0(u8 taskId)
{
s8 input;
- input = Menu_ProcessInputNoWrapAround();
+ input = Menu_ProcessInputNoWrap();
switch (input)
{
case -1:
@@ -1031,7 +1032,7 @@ void sub_80E9FFC(u8 taskId)
void sub_80EA06C(u8 taskId)
{
- sub_8197930();
+ DisplayYesNoMenu();
sub_8121F68(taskId, &gUnknown_0858D058);
}
@@ -1143,7 +1144,7 @@ const u8 *GetSecretBaseTrainerLoseText(void)
void sub_80EA2E4(void)
{
sub_813BADC(TRUE);
- gTrainerBattleOpponent_A = 0x400;
+ gTrainerBattleOpponent_A = TRAINER_SECRET_BASE;
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_SECRET_BASE;
}
diff --git a/src/shop.c b/src/shop.c
index 26151171a..a0eddee01 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -1,15 +1,20 @@
#include "global.h"
#include "bg.h"
+#include "data2.h"
#include "decompress.h"
#include "decoration.h"
+#include "decoration_inventory.h"
+#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "field_screen.h"
#include "field_weather.h"
#include "fieldmap.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 "list_menu.h"
#include "main.h"
#include "malloc.h"
@@ -18,6 +23,7 @@
#include "money.h"
#include "overworld.h"
#include "palette.h"
+#include "party_menu.h"
#include "scanline_effect.h"
#include "script.h"
#include "shop.h"
@@ -27,54 +33,243 @@
#include "strings.h"
#include "text_window.h"
#include "tv.h"
+#include "constants/items.h"
+#include "constants/metatile_behaviors.h"
#include "constants/rgb.h"
#include "constants/songs.h"
-extern struct ShopData *gShopDataPtr;
-extern struct ListMenuItem *gUnknown_02039F74;
-extern u8 (*gUnknown_02039F78)[16];
-extern struct MartInfo gMartInfo;
-
-extern const struct WindowTemplate gUnknown_08589A38[2];
-extern const struct MenuAction gUnknown_08589A10[3];
-extern const struct MenuAction gUnknown_08589A28[2];
-extern const struct ListMenuTemplate gUnknown_08589A48;
-extern const struct BgTemplate gUnknown_08589A60[4];
-extern const u8 gBuyMenuFrame_Gfx[];
-extern const u8 gBuyMenuFrame_Tilemap[];
-extern const u16 gMenuMoneyPal[];
-extern const struct WindowTemplate gUnknown_08589A70[];
-extern u8 gUnknown_08589AB0[][3];
+EWRAM_DATA struct MartInfo gMartInfo = {0};
+EWRAM_DATA struct ShopData *gShopDataPtr = NULL;
+EWRAM_DATA struct ListMenuItem *gUnknown_02039F74 = NULL;
+EWRAM_DATA u8 (*gUnknown_02039F78)[16] = {0};
+EWRAM_DATA u8 gMartPurchaseHistoryId = 0;
+EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3] = {0};
static void Task_ShopMenu(u8 taskId);
-void HandleShopMenuQuit(u8 taskId);
-void CB2_InitBuyMenu(void);
+static void Task_HandleShopMenuQuit(u8 taskId);
+static void CB2_InitBuyMenu(void);
static void Task_GoToBuyOrSellMenu(u8 taskId);
-void CB2_GoToSellMenu(void);
-void MapPostLoadHook_ExitBuyOrSellMenu(void);
-void Task_ExitSellMenu(u8 taskId);
-void ReturnToShopMenuAfterExitingSellMenu(u8 taskId);
-void BuyMenuDrawGraphics(void);
-void BuyMenuAddScrollIndicatorArrows(void);
-void Task_BuyMenu(u8 taskId);
-void BuyMenuBuildListMenuTemplate(void);
-void BuyMenuInitBgs(void);
-void BuyMenuInitWindows(void);
-void BuyMenuDecompressBgGraphics(void);
-void BuyMenuSetListEntry(struct ListMenuItem*, u16, u8*);
-void BuyMenuAddItemIcon(u16, u8);
-void BuyMenuRemoveItemIcon(u16, u8);
-void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet);
-void BuyMenuDrawMapGraphics(void);
-void BuyMenuCopyMenuBgToBg1TilemapBuffer(void);
-void BuyMenuCollectEventObjectData(void);
-void BuyMenuDrawEventObjects(void);
-void BuyMenuDrawMapBg(void);
-bool8 BuyMenuCheckForOverlapWithMenuBg(u16, u16);
-void BuyMenuDrawMapMetatile(s16, s16, u16*, u8);
-
-
-/*static*/ u8 CreateShopMenu(u8 martType)
+static void MapPostLoadHook_ReturnToShopMenu(void);
+static void Task_ReturnToShopMenu(u8 taskId);
+static void ShowShopMenuAfterExitingBuyOrSellMenu(u8 taskId);
+static void BuyMenuDrawGraphics(void);
+static void BuyMenuAddScrollIndicatorArrows(void);
+static void Task_BuyMenu(u8 taskId);
+static void BuyMenuBuildListMenuTemplate(void);
+static void BuyMenuInitBgs(void);
+static void BuyMenuInitWindows(void);
+static void BuyMenuDecompressBgGraphics(void);
+static void BuyMenuSetListEntry(struct ListMenuItem*, u16, u8*);
+static void BuyMenuAddItemIcon(u16, u8);
+static void BuyMenuRemoveItemIcon(u16, u8);
+static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet);
+static void BuyMenuDrawMapGraphics(void);
+static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void);
+static void BuyMenuCollectEventObjectData(void);
+static void BuyMenuDrawEventObjects(void);
+static void BuyMenuDrawMapBg(void);
+static bool8 BuyMenuCheckForOverlapWithMenuBg(int, int);
+static void BuyMenuDrawMapMetatile(s16, s16, const u16*, u8);
+static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, const u16 *src);
+static bool8 BuyMenuCheckIfEventObjectOverlapsMenuBg(s16 *);
+static void ExitBuyMenu(u8 taskId);
+static void Task_ExitBuyMenu(u8 taskId);
+static void BuyMenuTryMakePurchase(u8 taskId);
+static void BuyMenuReturnToItemList(u8 taskId);
+static void Task_BuyHowManyDialogueInit(u8 taskId);
+static void BuyMenuConfirmPurchase(u8 taskId);
+static void BuyMenuPrintItemQuantityAndPrice(u8 taskId);
+static void Task_BuyHowManyDialogueHandleInput(u8 taskId);
+static void BuyMenuSubtractMoney(u8 taskId);
+static void RecordItemPurchase(u8 taskId);
+static void Task_ReturnToItemListAfterItemPurchase(u8 taskId);
+static void Task_ReturnToItemListAfterDecorationPurchase(u8 taskId);
+static void Task_HandleShopMenuBuy(u8 taskId);
+static void Task_HandleShopMenuSell(u8 taskId);
+static void BuyMenuPrintItemDescriptionAndShowItemIcon(int item, bool8 onInit, struct ListMenu *list);
+static void BuyMenuPrintPriceInList(u8 windowId, int item, u8 y);
+
+static const struct YesNoFuncTable sShopPurchaseYesNoFuncs =
+{
+ BuyMenuTryMakePurchase,
+ BuyMenuReturnToItemList
+};
+
+static const struct MenuAction sShopMenuActions_BuySellQuit[] =
+{
+ { gText_ShopBuy, {.void_u8=Task_HandleShopMenuBuy} },
+ { gText_ShopSell, {.void_u8=Task_HandleShopMenuSell} },
+ { gText_ShopQuit, {.void_u8=Task_HandleShopMenuQuit} }
+};
+
+static const struct MenuAction sShopMenuActions_BuyQuit[] =
+{
+ { gText_ShopBuy, {.void_u8=Task_HandleShopMenuBuy} },
+ { gText_ShopQuit, {.void_u8=Task_HandleShopMenuQuit} }
+};
+
+static const struct WindowTemplate sShopMenuWindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 1,
+ .width = 9,
+ .height = 6,
+ .paletteNum = 15,
+ .baseBlock = 0x0008,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 1,
+ .width = 9,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x0008,
+ }
+};
+
+static const struct ListMenuTemplate sShopBuyMenuListTemplate =
+{
+ .items = NULL,
+ .moveCursorFunc = BuyMenuPrintItemDescriptionAndShowItemIcon,
+ .itemPrintFunc = BuyMenuPrintPriceInList,
+ .totalItems = 0,
+ .maxShowed = 0,
+ .windowId = 1,
+ .header_X = 0,
+ .item_X = 8,
+ .cursor_X = 0,
+ .upText_Y = 1,
+ .cursorPal = 2,
+ .fillValue = 0,
+ .cursorShadowPal = 3,
+ .lettersSpacing = 0,
+ .itemVerticalPadding = 0,
+ .scrollMultiple = LIST_NO_MULTIPLE_SCROLL,
+ .fontId = 7,
+ .cursorKind = 0
+};
+
+static const struct BgTemplate sShopBuyMenuBgTemplates[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 28,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ }
+};
+
+static const struct WindowTemplate sShopBuyMenuWindowTemplates[] =
+{
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 10,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x001E,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 14,
+ .tilemapTop = 2,
+ .width = 15,
+ .height = 16,
+ .paletteNum = 15,
+ .baseBlock = 0x0032,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 13,
+ .width = 14,
+ .height = 6,
+ .paletteNum = 15,
+ .baseBlock = 0x0122,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 11,
+ .width = 12,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0176,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 18,
+ .tilemapTop = 11,
+ .width = 10,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x018E,
+ },
+ {
+ .bg = 0,
+ .tilemapLeft = 2,
+ .tilemapTop = 15,
+ .width = 27,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x01A2,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplates =
+{
+ .bg = 0,
+ .tilemapLeft = 21,
+ .tilemapTop = 9,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x020E,
+};
+
+static const u8 sShopBuyMenuTextColors[][3] =
+{
+ {1, 2, 3},
+ {0, 2, 3},
+ {0, 3, 2}
+};
+
+static u8 CreateShopMenu(u8 martType)
{
int numMenuItems;
@@ -84,20 +279,20 @@ void BuyMenuDrawMapMetatile(s16, s16, u16*, u8);
if (martType == MART_TYPE_0)
{
struct WindowTemplate winTemplate;
- winTemplate = gUnknown_08589A38[0];
- winTemplate.width = GetMaxWidthInMenuTable(gUnknown_08589A10, ARRAY_COUNT(gUnknown_08589A10));
+ winTemplate = sShopMenuWindowTemplates[0];
+ winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuySellQuit, ARRAY_COUNT(sShopMenuActions_BuySellQuit));
gMartInfo.windowId = AddWindow(&winTemplate);
- gMartInfo.menuActions = gUnknown_08589A10;
- numMenuItems = ARRAY_COUNT(gUnknown_08589A10);
+ gMartInfo.menuActions = sShopMenuActions_BuySellQuit;
+ numMenuItems = ARRAY_COUNT(sShopMenuActions_BuySellQuit);
}
else
{
struct WindowTemplate winTemplate;
- winTemplate = gUnknown_08589A38[1];
- winTemplate.width = GetMaxWidthInMenuTable(gUnknown_08589A28, ARRAY_COUNT(gUnknown_08589A28));
+ winTemplate = sShopMenuWindowTemplates[1];
+ winTemplate.width = GetMaxWidthInMenuTable(sShopMenuActions_BuyQuit, ARRAY_COUNT(sShopMenuActions_BuyQuit));
gMartInfo.windowId = AddWindow(&winTemplate);
- gMartInfo.menuActions = gUnknown_08589A28;
- numMenuItems = ARRAY_COUNT(gUnknown_08589A28);
+ gMartInfo.menuActions = sShopMenuActions_BuyQuit;
+ numMenuItems = ARRAY_COUNT(sShopMenuActions_BuyQuit);
}
SetStandardWindowBorderStyle(gMartInfo.windowId, 0);
@@ -109,12 +304,12 @@ void BuyMenuDrawMapMetatile(s16, s16, u16*, u8);
return CreateTask(Task_ShopMenu, 8);
}
-/*static*/ void SetShopMenuCallback(void (* callback)(void))
+static void SetShopMenuCallback(void (* callback)(void))
{
gMartInfo.callback = callback;
}
-/*static*/ void SetShopItemsForSale(const u16 *items)
+static void SetShopItemsForSale(const u16 *items)
{
u16 i = 0;
@@ -130,14 +325,14 @@ void BuyMenuDrawMapMetatile(s16, s16, u16*, u8);
static void Task_ShopMenu(u8 taskId)
{
- s8 inputCode = Menu_ProcessInputNoWrapAround();
+ s8 inputCode = Menu_ProcessInputNoWrap();
switch (inputCode)
{
- case -2:
+ case LIST_B_PRESSED:
break;
- case -1:
+ case LIST_NOTHING_CHOSEN:
PlaySE(SE_SELECT);
- HandleShopMenuQuit(taskId);
+ Task_HandleShopMenuQuit(taskId);
break;
default:
gMartInfo.menuActions[inputCode].func.void_u8(taskId);
@@ -145,31 +340,31 @@ static void Task_ShopMenu(u8 taskId)
}
}
-void HandleShopMenuBuy(u8 taskId)
+static void Task_HandleShopMenuBuy(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- taskData[8] = (u32)CB2_InitBuyMenu >> 16;
- taskData[9] = (u32)CB2_InitBuyMenu;
+ s16 *data = gTasks[taskId].data;
+ data[8] = (u32)CB2_InitBuyMenu >> 16;
+ data[9] = (u32)CB2_InitBuyMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
FadeScreen(1, 0);
}
-void HandleShopMenuSell(u8 taskId)
+static void Task_HandleShopMenuSell(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
- taskData[8] = (u32)CB2_GoToSellMenu >> 16;
- taskData[9] = (u32)CB2_GoToSellMenu;
+ s16 *data = gTasks[taskId].data;
+ data[8] = (u32)CB2_GoToSellMenu >> 16;
+ data[9] = (u32)CB2_GoToSellMenu;
gTasks[taskId].func = Task_GoToBuyOrSellMenu;
FadeScreen(1, 0);
}
void CB2_ExitSellMenu(void)
{
- gFieldCallback = MapPostLoadHook_ExitBuyOrSellMenu;
+ gFieldCallback = MapPostLoadHook_ReturnToShopMenu;
SetMainCallback2(CB2_ReturnToField);
}
-/*static*/ void HandleShopMenuQuit(u8 taskId)
+static void Task_HandleShopMenuQuit(u8 taskId)
{
sub_8198070(gMartInfo.windowId, 2);
RemoveWindow(gMartInfo.windowId);
@@ -183,38 +378,38 @@ void CB2_ExitSellMenu(void)
static void Task_GoToBuyOrSellMenu(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
if (!gPaletteFade.active)
{
DestroyTask(taskId);
- SetMainCallback2((void *)((u16)taskData[8] << 16 | (u16)taskData[9]));
+ SetMainCallback2((void *)((u16)data[8] << 16 | (u16)data[9]));
}
}
-void MapPostLoadHook_ExitBuyOrSellMenu(void)
+static void MapPostLoadHook_ReturnToShopMenu(void)
{
pal_fill_black();
- CreateTask(Task_ExitSellMenu, 8);
+ CreateTask(Task_ReturnToShopMenu, 8);
}
-void Task_ExitSellMenu(u8 taskId)
+static void Task_ReturnToShopMenu(u8 taskId)
{
if (IsWeatherNotFadingIn() == TRUE)
{
if (gMartInfo.martType == MART_TYPE_2)
- DisplayItemMessageOnField(taskId, gText_CanIHelpWithAnythingElse, ReturnToShopMenuAfterExitingSellMenu);
+ DisplayItemMessageOnField(taskId, gText_CanIHelpWithAnythingElse, ShowShopMenuAfterExitingBuyOrSellMenu);
else
- DisplayItemMessageOnField(taskId, gText_AnythingElseICanHelp, ReturnToShopMenuAfterExitingSellMenu);
+ DisplayItemMessageOnField(taskId, gText_AnythingElseICanHelp, ShowShopMenuAfterExitingBuyOrSellMenu);
}
}
-void ReturnToShopMenuAfterExitingSellMenu(u8 taskId)
+static void ShowShopMenuAfterExitingBuyOrSellMenu(u8 taskId)
{
CreateShopMenu(gMartInfo.martType);
DestroyTask(taskId);
}
-void CB2_BuyMenu(void)
+static void CB2_BuyMenu(void)
{
RunTasks();
AnimateSprites();
@@ -223,14 +418,18 @@ void CB2_BuyMenu(void)
UpdatePaletteFade();
}
-void VBlankCB_BuyMenu(void)
+static void VBlankCB_BuyMenu(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
-void CB2_InitBuyMenu(void)
+#define tItemCount data[1]
+#define tItemId data[5]
+#define tListTaskId data[7]
+
+static void CB2_InitBuyMenu(void)
{
u8 taskId;
@@ -248,8 +447,8 @@ void CB2_InitBuyMenu(void)
clear_scheduled_bg_copies_to_vram();
gShopDataPtr = AllocZeroed(sizeof(struct ShopData));
gShopDataPtr->scrollIndicatorsTaskId = 0xFF;
- gShopDataPtr->unk200D[0] = -1;
- gShopDataPtr->unk200D[1] = -1;
+ gShopDataPtr->itemSpriteIds[0] = -1;
+ gShopDataPtr->itemSpriteIds[1] = -1;
BuyMenuBuildListMenuTemplate();
BuyMenuInitBgs();
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20);
@@ -268,7 +467,7 @@ void CB2_InitBuyMenu(void)
BuyMenuDrawGraphics();
BuyMenuAddScrollIndicatorArrows();
taskId = CreateTask(Task_BuyMenu, 8);
- gTasks[taskId].data[7] = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+ gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
SetVBlankCallback(VBlankCB_BuyMenu);
@@ -277,7 +476,7 @@ void CB2_InitBuyMenu(void)
}
}
-void BuyMenuFreeMemory(void)
+static void BuyMenuFreeMemory(void)
{
Free(gShopDataPtr);
Free(gUnknown_02039F74);
@@ -285,7 +484,7 @@ void BuyMenuFreeMemory(void)
FreeAllWindowBuffers();
}
-void BuyMenuBuildListMenuTemplate(void)
+static void BuyMenuBuildListMenuTemplate(void)
{
u16 i;
u16 itemCount;
@@ -299,7 +498,7 @@ void BuyMenuBuildListMenuTemplate(void)
gUnknown_02039F74[i].name = gUnknown_02039F78[i];
gUnknown_02039F74[i].id = -2;
- gMultiuseListMenuTemplate = gUnknown_08589A48;
+ gMultiuseListMenuTemplate = sShopBuyMenuListTemplate;
gMultiuseListMenuTemplate.items = gUnknown_02039F74;
gMultiuseListMenuTemplate.totalItems = gMartInfo.itemCount + 1;
if (gMultiuseListMenuTemplate.totalItems > 8)
@@ -307,10 +506,10 @@ void BuyMenuBuildListMenuTemplate(void)
else
gMultiuseListMenuTemplate.maxShowed = gMultiuseListMenuTemplate.totalItems;
- gShopDataPtr->unk2004 = gMultiuseListMenuTemplate.maxShowed;
+ gShopDataPtr->itemsShowed = gMultiuseListMenuTemplate.maxShowed;
}
-void BuyMenuSetListEntry(struct ListMenuItem *menuItem, u16 item, u8 *name)
+static void BuyMenuSetListEntry(struct ListMenuItem *menuItem, u16 item, u8 *name)
{
if (gMartInfo.martType == MART_TYPE_0)
CopyItemName(item, name);
@@ -321,19 +520,19 @@ void BuyMenuSetListEntry(struct ListMenuItem *menuItem, u16 item, u8 *name)
menuItem->id = item;
}
-void BuyMenuPrintItemDescriptionAndShowItemIcon(int item, bool8 onInit, struct ListMenu *list)
+static void BuyMenuPrintItemDescriptionAndShowItemIcon(int item, bool8 onInit, struct ListMenu *list)
{
const u8 *description;
if (onInit != TRUE)
PlaySE(SE_SELECT);
if (item != -2)
- BuyMenuAddItemIcon(item, gShopDataPtr->unk200C);
+ BuyMenuAddItemIcon(item, gShopDataPtr->iconSlot);
else
- BuyMenuAddItemIcon(-1, gShopDataPtr->unk200C);
+ BuyMenuAddItemIcon(-1, gShopDataPtr->iconSlot);
- BuyMenuRemoveItemIcon(item, gShopDataPtr->unk200C ^ 1);
- gShopDataPtr->unk200C ^= 1;
+ BuyMenuRemoveItemIcon(item, gShopDataPtr->iconSlot ^ 1);
+ gShopDataPtr->iconSlot ^= 1;
if (item != -2)
{
if (gMartInfo.martType == MART_TYPE_0)
@@ -350,7 +549,7 @@ void BuyMenuPrintItemDescriptionAndShowItemIcon(int item, bool8 onInit, struct L
BuyMenuPrint(2, description, 3, 1, 0, 0);
}
-void BuyMenuPrintPriceInList(u8 windowId, int item, u8 y)
+static void BuyMenuPrintPriceInList(u8 windowId, int item, u8 y)
{
u8 x;
@@ -375,11 +574,11 @@ void BuyMenuPrintPriceInList(u8 windowId, int item, u8 y)
StringExpandPlaceholders(gStringVar4, gText_PokedollarVar1);
x = GetStringRightAlignXOffset(7, gStringVar4, 0x78);
- AddTextPrinterParameterized4(windowId, 7, x, y, 0, 0, gUnknown_08589AB0[1], -1, gStringVar4);
+ AddTextPrinterParameterized4(windowId, 7, x, y, 0, 0, sShopBuyMenuTextColors[1], -1, gStringVar4);
}
}
-void BuyMenuAddScrollIndicatorArrows(void)
+static void BuyMenuAddScrollIndicatorArrows(void)
{
if (gShopDataPtr->scrollIndicatorsTaskId == 0xFF && gMartInfo.itemCount + 1 > 8)
{
@@ -389,13 +588,13 @@ void BuyMenuAddScrollIndicatorArrows(void)
0xC,
0x94,
gMartInfo.itemCount - 7,
- 0x834,
- 0x834,
- &gShopDataPtr->unk2008);
+ 2100,
+ 2100,
+ &gShopDataPtr->scrollOffset);
}
}
-void BuyMenuRemoveScrollIndicatorArrows(void)
+static void BuyMenuRemoveScrollIndicatorArrows(void)
{
if (gShopDataPtr->scrollIndicatorsTaskId != 0xFF)
{
@@ -404,22 +603,22 @@ void BuyMenuRemoveScrollIndicatorArrows(void)
}
}
-void BuyMenuPrintCursor(u8 scrollIndicatorsTaskId, u8 colorSet)
+static void BuyMenuPrintCursor(u8 scrollIndicatorsTaskId, u8 colorSet)
{
u8 y = ListMenuGetYCoordForPrintingArrowCursor(scrollIndicatorsTaskId);
BuyMenuPrint(1, gText_SelectorArrow2, 0, y, 0, colorSet);
}
-void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
+static void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
{
u8 spriteId;
- u8 *spriteIdPtr = &gShopDataPtr->unk200D[iconSlot];
+ u8 *spriteIdPtr = &gShopDataPtr->itemSpriteIds[iconSlot];
if (*spriteIdPtr != 0xFF)
return;
if (gMartInfo.martType == MART_TYPE_0 || item == 0xFFFF)
{
- spriteId = AddItemIconSprite(iconSlot + 0x83E, iconSlot + 0x83E, item);
+ spriteId = AddItemIconSprite(iconSlot + 2110, iconSlot + 2110, item);
if (spriteId != MAX_SPRITES)
{
*spriteIdPtr = spriteId;
@@ -429,28 +628,28 @@ void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
}
else
{
- spriteId = AddDecorationIconObject(item, 20, 84, 1, iconSlot + 0x83E, iconSlot + 0x83E);
+ spriteId = AddDecorationIconObject(item, 20, 84, 1, iconSlot + 2110, iconSlot + 2110);
if (spriteId != MAX_SPRITES)
*spriteIdPtr = spriteId;
}
}
-void BuyMenuRemoveItemIcon(u16 item, u8 iconSlot)
+static void BuyMenuRemoveItemIcon(u16 item, u8 iconSlot)
{
- u8 *spriteIdPtr = &gShopDataPtr->unk200D[iconSlot];
+ u8 *spriteIdPtr = &gShopDataPtr->itemSpriteIds[iconSlot];
if (*spriteIdPtr == 0xFF)
return;
- FreeSpriteTilesByTag(iconSlot + 0x83E);
- FreeSpritePaletteByTag(iconSlot + 0x83E);
+ FreeSpriteTilesByTag(iconSlot + 2110);
+ FreeSpritePaletteByTag(iconSlot + 2110);
DestroySprite(&gSprites[*spriteIdPtr]);
*spriteIdPtr = 0xFF;
}
-void BuyMenuInitBgs(void)
+static void BuyMenuInitBgs(void)
{
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_08589A60, ARRAY_COUNT(gUnknown_08589A60));
+ InitBgsFromTemplates(0, sShopBuyMenuBgTemplates, ARRAY_COUNT(sShopBuyMenuBgTemplates));
SetBgTilemapBuffer(1, gShopDataPtr->tilemapBuffers[1]);
SetBgTilemapBuffer(2, gShopDataPtr->tilemapBuffers[3]);
SetBgTilemapBuffer(3, gShopDataPtr->tilemapBuffers[2]);
@@ -470,16 +669,16 @@ void BuyMenuInitBgs(void)
ShowBg(3);
}
-void BuyMenuDecompressBgGraphics(void)
+static void BuyMenuDecompressBgGraphics(void)
{
decompress_and_copy_tile_data_to_vram(1, gBuyMenuFrame_Gfx, 0x3A0, 0x3E3, 0);
LZDecompressWram(gBuyMenuFrame_Tilemap, gShopDataPtr->tilemapBuffers[0]);
LoadCompressedPalette(gMenuMoneyPal, 0xC0, 0x20);
}
-void BuyMenuInitWindows(void)
+static void BuyMenuInitWindows(void)
{
- InitWindows(gUnknown_08589A70);
+ InitWindows(sShopBuyMenuWindowTemplates);
DeactivateAllTextPrinters();
LoadUserWindowBorderGfx(0, 1, 0xD0);
LoadMessageBoxGfx(0, 0xA, 0xE0);
@@ -488,18 +687,18 @@ void BuyMenuInitWindows(void)
PutWindowTilemap(2);
}
-void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet)
+static void BuyMenuPrint(u8 windowId, const u8 *text, u8 x, u8 y, s8 speed, u8 colorSet)
{
- AddTextPrinterParameterized4(windowId, 1, x, y, 0, 0, gUnknown_08589AB0[colorSet], speed, text);
+ AddTextPrinterParameterized4(windowId, 1, x, y, 0, 0, sShopBuyMenuTextColors[colorSet], speed, text);
}
-void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback)
+static void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback)
{
- DisplayMessageAndContinueTask(taskId, 5, 10, 14, 1, GetPlayerTextSpeed(), text, callback);
+ DisplayMessageAndContinueTask(taskId, 5, 10, 14, 1, GetPlayerTextSpeedDelay(), text, callback);
schedule_bg_copy_tilemap_to_vram(0);
}
-void BuyMenuDrawGraphics(void)
+static void BuyMenuDrawGraphics(void)
{
BuyMenuDrawMapGraphics();
BuyMenuCopyMenuBgToBg1TilemapBuffer();
@@ -511,24 +710,22 @@ void BuyMenuDrawGraphics(void)
schedule_bg_copy_tilemap_to_vram(3);
}
-void BuyMenuDrawMapGraphics(void)
+static void BuyMenuDrawMapGraphics(void)
{
BuyMenuCollectEventObjectData();
BuyMenuDrawEventObjects();
BuyMenuDrawMapBg();
}
-#ifdef NONMATCHING
-// functionally equivalent, but couldn't get the loop variables using the
-// stack correctly. Might be related to the tileset metatiles type.
-void BuyMenuDrawMapBg(void)
+static void BuyMenuDrawMapBg(void)
{
s16 i;
s16 j;
s16 x;
s16 y;
const struct MapLayout *mapLayout;
- u16 metatile, metatileLayerType;
+ u16 metatile;
+ u8 metatileLayerType;
mapLayout = gMapHeader.mapLayout;
GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
@@ -545,135 +742,491 @@ void BuyMenuDrawMapBg(void)
else
metatileLayerType = 1;
- if (metatile < 0x200)
+ if (metatile < NUM_METATILES_IN_PRIMARY)
{
BuyMenuDrawMapMetatile(i, j, (u16*)mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType);
}
else
{
- BuyMenuDrawMapMetatile(i, j, (u16*)mapLayout->secondaryTileset->metatiles + ((metatile - 0x200) * 8), metatileLayerType);
+ BuyMenuDrawMapMetatile(i, j, (u16*)mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType);
+ }
+ }
+ }
+}
+
+static void BuyMenuDrawMapMetatile(s16 x, s16 y, const u16 *src, u8 metatileLayerType)
+{
+ u16 offset1 = x * 2;
+ u16 offset2 = y * 64;
+
+ switch (metatileLayerType)
+ {
+ case 0:
+ BuyMenuDrawMapMetatileLayer(gShopDataPtr->tilemapBuffers[3], offset1, offset2, src);
+ BuyMenuDrawMapMetatileLayer(gShopDataPtr->tilemapBuffers[1], offset1, offset2, src + 4);
+ break;
+ case 1:
+ BuyMenuDrawMapMetatileLayer(gShopDataPtr->tilemapBuffers[2], offset1, offset2, src);
+ BuyMenuDrawMapMetatileLayer(gShopDataPtr->tilemapBuffers[3], offset1, offset2, src + 4);
+ break;
+ case 2:
+ BuyMenuDrawMapMetatileLayer(gShopDataPtr->tilemapBuffers[2], offset1, offset2, src);
+ BuyMenuDrawMapMetatileLayer(gShopDataPtr->tilemapBuffers[1], offset1, offset2, src + 4);
+ break;
+ }
+}
+
+static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, const u16 *src)
+{
+ // This function draws a whole 2x2 metatile.
+ dest[offset1 + offset2] = src[0]; // top left
+ dest[offset1 + offset2 + 1] = src[1]; // top right
+ dest[offset1 + offset2 + 32] = src[2]; // bottom left
+ dest[offset1 + offset2 + 33] = src[3]; // bottom right
+}
+
+static void BuyMenuCollectEventObjectData(void)
+{
+ s16 facingX;
+ s16 facingY;
+ u8 y;
+ u8 x;
+ u8 r8 = 0;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY);
+ for (y = 0; y < 16; y++)
+ gShopDataPtr->viewportObjects[y][EVENT_OBJ_ID] = 16;
+ for (y = 0; y < 5; y++)
+ {
+ for (x = 0; x < 7; x++)
+ {
+ u8 eventObjId = GetEventObjectIdByXY(facingX - 4 + x, facingY - 2 + y);
+
+ if (eventObjId != 16)
+ {
+ gShopDataPtr->viewportObjects[r8][EVENT_OBJ_ID] = eventObjId;
+ gShopDataPtr->viewportObjects[r8][X_COORD] = x;
+ gShopDataPtr->viewportObjects[r8][Y_COORD] = y;
+ gShopDataPtr->viewportObjects[r8][LAYER_TYPE] = MapGridGetMetatileLayerTypeAt(facingX - 4 + x, facingY - 2 + y);
+
+ switch (gEventObjects[eventObjId].facingDirection)
+ {
+ case DIR_SOUTH:
+ gShopDataPtr->viewportObjects[r8][ANIM_NUM] = 0;
+ break;
+ case DIR_NORTH:
+ gShopDataPtr->viewportObjects[r8][ANIM_NUM] = 1;
+ break;
+ case DIR_WEST:
+ gShopDataPtr->viewportObjects[r8][ANIM_NUM] = 2;
+ break;
+ case DIR_EAST:
+ default:
+ gShopDataPtr->viewportObjects[r8][ANIM_NUM] = 3;
+ break;
+ }
+ r8++;
+ }
+ }
+ }
+}
+
+static void BuyMenuDrawEventObjects(void)
+{
+ u8 i;
+ u8 spriteId;
+ const struct EventObjectGraphicsInfo *graphicsInfo;
+
+ for (i = 0; i < 16; i++) // max objects?
+ {
+ if (gShopDataPtr->viewportObjects[i][EVENT_OBJ_ID] == 16)
+ continue;
+
+ graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[gShopDataPtr->viewportObjects[i][EVENT_OBJ_ID]].graphicsId);
+
+ spriteId = AddPseudoEventObject(
+ gEventObjects[gShopDataPtr->viewportObjects[i][EVENT_OBJ_ID]].graphicsId,
+ SpriteCallbackDummy,
+ (u16)gShopDataPtr->viewportObjects[i][X_COORD] * 16 + 8,
+ (u16)gShopDataPtr->viewportObjects[i][Y_COORD] * 16 + 48 - graphicsInfo->height / 2,
+ 2);
+
+ if (BuyMenuCheckIfEventObjectOverlapsMenuBg(gShopDataPtr->viewportObjects[i]) == TRUE)
+ {
+ gSprites[spriteId].subspriteTableNum = 4;
+ gSprites[spriteId].subspriteMode = 1;
+ }
+
+ StartSpriteAnim(&gSprites[spriteId], gShopDataPtr->viewportObjects[i][ANIM_NUM]);
+ }
+}
+
+static bool8 BuyMenuCheckIfEventObjectOverlapsMenuBg(s16 *object)
+{
+ if (!BuyMenuCheckForOverlapWithMenuBg(object[X_COORD], object[Y_COORD] + 2) && object[LAYER_TYPE] != MB_SECRET_BASE_WALL)
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static void BuyMenuCopyMenuBgToBg1TilemapBuffer(void)
+{
+ s16 i;
+ u16 *dest = gShopDataPtr->tilemapBuffers[1];
+ const u16 *src = gShopDataPtr->tilemapBuffers[0];
+
+ for (i = 0; i < 1024; i++)
+ {
+ if (src[i] != 0)
+ {
+ dest[i] = src[i] + 0xC3E3;
+ }
+ }
+}
+
+static bool8 BuyMenuCheckForOverlapWithMenuBg(int x, int y)
+{
+ const u16 *metatile = gShopDataPtr->tilemapBuffers[0];
+ int offset1 = x * 2;
+ int offset2 = y * 64;
+
+ if (metatile[offset2 + offset1] == 0 &&
+ metatile[offset2 + offset1 + 32] == 0 &&
+ metatile[offset2 + offset1 + 1] == 0 &&
+ metatile[offset2 + offset1 + 33] == 0)
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void Task_BuyMenu(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (!gPaletteFade.active)
+ {
+ s32 itemId = ListMenuHandleInputGetItemId(tListTaskId);
+ ListMenuGetScrollAndRow(tListTaskId, &gShopDataPtr->scrollOffset, &gShopDataPtr->selectedRow);
+
+ switch (itemId)
+ {
+ case LIST_NOTHING_CHOSEN:
+ break;
+ case LIST_B_PRESSED:
+ PlaySE(SE_SELECT);
+ ExitBuyMenu(taskId);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ tItemId = itemId;
+ ClearWindowTilemap(2);
+ BuyMenuRemoveScrollIndicatorArrows();
+ BuyMenuPrintCursor(tListTaskId, 2);
+
+ if (gMartInfo.martType == MART_TYPE_0)
+ {
+ gShopDataPtr->totalCost = (ItemId_GetPrice(itemId) >> GetPriceReduction(1));
+ }
+ else
+ {
+ gShopDataPtr->totalCost = gDecorations[itemId].price;
+ }
+
+ if (!IsEnoughMoney(&gSaveBlock1Ptr->money, gShopDataPtr->totalCost))
+ {
+ BuyMenuDisplayMessage(taskId, gText_YouDontHaveMoney, BuyMenuReturnToItemList);
+ }
+ else
+ {
+ if (gMartInfo.martType == MART_TYPE_0)
+ {
+ CopyItemName(itemId, gStringVar1);
+ if (ItemId_GetPocket(itemId) == POCKET_TM_HM)
+ {
+ StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(itemId)]);
+ BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany2, Task_BuyHowManyDialogueInit);
+ }
+ else
+ {
+ BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany, Task_BuyHowManyDialogueInit);
+ }
+ }
+ else
+ {
+ StringCopy(gStringVar1, gDecorations[itemId].name);
+ ConvertIntToDecimalStringN(gStringVar2, gShopDataPtr->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6);
+
+ if (gMartInfo.martType == MART_TYPE_1)
+ StringExpandPlaceholders(gStringVar4, gText_Var1IsItThatllBeVar2);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_YouWantedVar1ThatllBeVar2);
+ BuyMenuDisplayMessage(taskId, gStringVar4, BuyMenuConfirmPurchase);
+ }
+ }
+ break;
+ }
+ }
+}
+
+static void Task_BuyHowManyDialogueInit(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ u16 quantityInBag = CountTotalItemQuantityInBag(tItemId);
+ u16 maxQuantity;
+
+ SetWindowBorderStyle(3, FALSE, 1, 13);
+ ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, 4);
+ StringExpandPlaceholders(gStringVar4, gText_InBagVar1);
+ BuyMenuPrint(3, gStringVar4, 0, 1, 0, 0);
+ tItemCount = 1;
+ SetWindowBorderStyle(4, FALSE, 1, 13);
+ BuyMenuPrintItemQuantityAndPrice(taskId);
+ schedule_bg_copy_tilemap_to_vram(0);
+
+ maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / gShopDataPtr->totalCost;
+
+ if (maxQuantity > 99)
+ {
+ gShopDataPtr->maxQuantity = 99;
+ }
+ else
+ {
+ gShopDataPtr->maxQuantity = maxQuantity;
+ }
+
+ gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput;
+}
+
+static void Task_BuyHowManyDialogueHandleInput(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (AdjustQuantityAccordingToDPadInput(&tItemCount, gShopDataPtr->maxQuantity) == TRUE)
+ {
+ gShopDataPtr->totalCost = (ItemId_GetPrice(tItemId) >> GetPriceReduction(1)) * tItemCount;
+ BuyMenuPrintItemQuantityAndPrice(taskId);
+ }
+ else
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8198070(4, 0);
+ sub_8198070(3, 0);
+ ClearWindowTilemap(4);
+ ClearWindowTilemap(3);
+ PutWindowTilemap(1);
+ CopyItemName(tItemId, gStringVar1);
+ ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, 2);
+ ConvertIntToDecimalStringN(gStringVar3, gShopDataPtr->totalCost, STR_CONV_MODE_LEFT_ALIGN, 6);
+ BuyMenuDisplayMessage(taskId, gText_Var1AndYouWantedVar2, BuyMenuConfirmPurchase);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_8198070(4, 0);
+ sub_8198070(3, 0);
+ ClearWindowTilemap(4);
+ ClearWindowTilemap(3);
+ BuyMenuReturnToItemList(taskId);
+ }
+ }
+}
+
+static void BuyMenuConfirmPurchase(u8 taskId)
+{
+ CreateYesNoMenuWithCallbacks(taskId, &sShopBuyMenuYesNoWindowTemplates, 1, 0, 0, 1, 13, &sShopPurchaseYesNoFuncs);
+}
+
+static void BuyMenuTryMakePurchase(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ PutWindowTilemap(1);
+
+ if (gMartInfo.martType == MART_TYPE_0)
+ {
+ if (AddBagItem(tItemId, tItemCount) == TRUE)
+ {
+ BuyMenuDisplayMessage(taskId, gText_HereYouGoThankYou, BuyMenuSubtractMoney);
+ RecordItemPurchase(taskId);
+ }
+ else
+ {
+ BuyMenuDisplayMessage(taskId, gText_NoMoreRoomForThis, BuyMenuReturnToItemList);
+ }
+ }
+ else
+ {
+ if (DecorationAdd(tItemId))
+ {
+ if (gMartInfo.martType == MART_TYPE_1)
+ {
+ BuyMenuDisplayMessage(taskId, gText_ThankYouIllSendItHome, BuyMenuSubtractMoney);
+ }
+ else
+ {
+ BuyMenuDisplayMessage(taskId, gText_ThanksIllSendItHome, BuyMenuSubtractMoney);
}
}
+ else
+ {
+ BuyMenuDisplayMessage(taskId, gText_SpaceForVar1Full, BuyMenuReturnToItemList);
+ }
}
}
-#else
-NAKED
-void BuyMenuDrawMapBg(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\
- sub sp, 0x4\n\
- ldr r0, =gMapHeader\n\
- ldr r0, [r0]\n\
- mov r9, r0\n\
- mov r4, sp\n\
- adds r4, 0x2\n\
- mov r0, sp\n\
- adds r1, r4, 0\n\
- bl GetXYCoordsOneStepInFrontOfPlayer\n\
- mov r1, sp\n\
- mov r0, sp\n\
- ldrh r0, [r0]\n\
- subs r0, 0x4\n\
- strh r0, [r1]\n\
- ldrh r0, [r4]\n\
- subs r0, 0x4\n\
- strh r0, [r4]\n\
- movs r1, 0\n\
- mov r10, r4\n\
-_080E05B6:\n\
- movs r4, 0\n\
- lsls r7, r1, 16\n\
- asrs r0, r7, 16\n\
- mov r8, r0\n\
-_080E05BE:\n\
- mov r0, sp\n\
- movs r1, 0\n\
- ldrsh r0, [r0, r1]\n\
- lsls r4, 16\n\
- asrs r5, r4, 16\n\
- adds r0, r5\n\
- mov r2, r10\n\
- movs r3, 0\n\
- ldrsh r1, [r2, r3]\n\
- add r1, r8\n\
- bl MapGridGetMetatileIdAt\n\
- lsls r0, 16\n\
- lsrs r6, r0, 16\n\
- adds r0, r5, 0\n\
- mov r1, r8\n\
- bl BuyMenuCheckForOverlapWithMenuBg\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _080E0608\n\
- mov r0, sp\n\
- movs r1, 0\n\
- ldrsh r0, [r0, r1]\n\
- adds r0, r5\n\
- mov r2, r10\n\
- movs r3, 0\n\
- ldrsh r1, [r2, r3]\n\
- add r1, r8\n\
- bl MapGridGetMetatileLayerTypeAt\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- b _080E060A\n\
- .pool\n\
-_080E0608:\n\
- movs r5, 0x1\n\
-_080E060A:\n\
- ldr r0, =0x000001ff\n\
- cmp r6, r0\n\
- bhi _080E062C\n\
- asrs r0, r4, 16\n\
- mov r2, r9\n\
- ldr r1, [r2, 0x10]\n\
- lsls r3, r6, 4\n\
- ldr r2, [r1, 0xC]\n\
- adds r2, r3\n\
- asrs r1, r7, 16\n\
- adds r3, r5, 0\n\
- bl BuyMenuDrawMapMetatile\n\
- b _080E0644\n\
- .pool\n\
-_080E062C:\n\
- asrs r0, r4, 16\n\
- mov r3, r9\n\
- ldr r2, [r3, 0x14]\n\
- ldr r3, =0xfffffe00\n\
- adds r1, r6, r3\n\
- lsls r1, 4\n\
- ldr r2, [r2, 0xC]\n\
- adds r2, r1\n\
- asrs r1, r7, 16\n\
- adds r3, r5, 0\n\
- bl BuyMenuDrawMapMetatile\n\
-_080E0644:\n\
- movs r1, 0x80\n\
- lsls r1, 9\n\
- adds r0, r4, r1\n\
- lsrs r4, r0, 16\n\
- asrs r0, 16\n\
- cmp r0, 0xE\n\
- ble _080E05BE\n\
- adds r0, r7, r1\n\
- lsrs r1, r0, 16\n\
- asrs r0, 16\n\
- cmp r0, 0x9\n\
- ble _080E05B6\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");
-}
-#endif // NONMATCHING
+
+static void BuyMenuSubtractMoney(u8 taskId)
+{
+ IncrementGameStat(GAME_STAT_SHOPPED);
+ RemoveMoney(&gSaveBlock1Ptr->money, gShopDataPtr->totalCost);
+ PlaySE(SE_REGI);
+ PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0);
+
+ if (gMartInfo.martType == MART_TYPE_0)
+ {
+ gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase;
+ }
+ else
+ {
+ gTasks[taskId].func = Task_ReturnToItemListAfterDecorationPurchase;
+ }
+}
+
+static void Task_ReturnToItemListAfterItemPurchase(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+ if (tItemId == ITEM_POKE_BALL && tItemCount > 9 && AddBagItem(ITEM_PREMIER_BALL, 1) == TRUE)
+ {
+ BuyMenuDisplayMessage(taskId, gText_ThrowInPremierBall, BuyMenuReturnToItemList);
+ }
+ else
+ {
+ BuyMenuReturnToItemList(taskId);
+ }
+ }
+}
+
+static void Task_ReturnToItemListAfterDecorationPurchase(u8 taskId)
+{
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+ BuyMenuReturnToItemList(taskId);
+ }
+}
+
+static void BuyMenuReturnToItemList(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ sub_8197DF8(5, 0);
+ BuyMenuPrintCursor(tListTaskId, 1);
+ PutWindowTilemap(1);
+ PutWindowTilemap(2);
+ schedule_bg_copy_tilemap_to_vram(0);
+ BuyMenuAddScrollIndicatorArrows();
+ gTasks[taskId].func = Task_BuyMenu;
+}
+
+static void BuyMenuPrintItemQuantityAndPrice(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ FillWindowPixelBuffer(4, 0x11);
+ PrintMoneyAmount(4, 38, 1, gShopDataPtr->totalCost, TEXT_SPEED_FF);
+ ConvertIntToDecimalStringN(gStringVar1, tItemCount, 2, 2);
+ StringExpandPlaceholders(gStringVar4, gText_xVar1);
+ BuyMenuPrint(4, gStringVar4, 0, 1, 0, 0);
+}
+
+static void ExitBuyMenu(u8 taskId)
+{
+ gFieldCallback = MapPostLoadHook_ReturnToShopMenu;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gTasks[taskId].func = Task_ExitBuyMenu;
+}
+
+static void Task_ExitBuyMenu(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ RemoveMoneyLabelObject();
+ BuyMenuFreeMemory();
+ SetMainCallback2(CB2_ReturnToField);
+ DestroyTask(taskId);
+ }
+}
+
+static void ClearItemPurchases(void)
+{
+ gMartPurchaseHistoryId = 0;
+ memset(gMartPurchaseHistory, 0, sizeof(gMartPurchaseHistory));
+}
+
+static void RecordItemPurchase(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ u16 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (gMartPurchaseHistory[i].itemId == tItemId && gMartPurchaseHistory[i].quantity != 0)
+ {
+ if (gMartPurchaseHistory[i].quantity + tItemCount > 255)
+ {
+ gMartPurchaseHistory[i].quantity = 255;
+ }
+ else
+ {
+ gMartPurchaseHistory[i].quantity += tItemCount;
+ }
+ return;
+ }
+ }
+
+ if (gMartPurchaseHistoryId < 3)
+ {
+ gMartPurchaseHistory[gMartPurchaseHistoryId].itemId = tItemId;
+ gMartPurchaseHistory[gMartPurchaseHistoryId].quantity = tItemCount;
+ gMartPurchaseHistoryId++;
+ }
+}
+
+#undef tItemCount
+#undef tItemId
+#undef tListTaskId
+
+void CreatePokemartMenu(const u16 *itemsForSale)
+{
+ CreateShopMenu(MART_TYPE_0);
+ SetShopItemsForSale(itemsForSale);
+ ClearItemPurchases();
+ SetShopMenuCallback(EnableBothScriptContexts);
+}
+
+void CreateDecorationShop1Menu(const u16 *itemsForSale)
+{
+ CreateShopMenu(MART_TYPE_1);
+ SetShopItemsForSale(itemsForSale);
+ SetShopMenuCallback(EnableBothScriptContexts);
+}
+
+void CreateDecorationShop2Menu(const u16 *itemsForSale)
+{
+ CreateShopMenu(MART_TYPE_2);
+ SetShopItemsForSale(itemsForSale);
+ SetShopMenuCallback(EnableBothScriptContexts);
+}
diff --git a/src/slot_machine.c b/src/slot_machine.c
index ef52b7171..01ef6d85c 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -25,8 +25,6 @@
#include "bg.h"
#include "window.h"
-extern u8 gOamLimit;
-
// Text
extern const u8 gText_YouDontHaveThreeCoins[];
extern const u8 gText_QuitTheGame[];
@@ -34,9 +32,6 @@ extern const u8 gText_YouveGot9999Coins[];
extern const u8 gText_YouveRunOutOfCoins[];
extern const u8 gText_ReelTimeHelp[];
-// gfx
-extern const u8 gSlotMachineReelTime_Gfx[];
-
enum
{
SLOT_MACHINE_TAG_7_RED,
@@ -382,7 +377,7 @@ extern const u16 sSlotMatchFlags[];
extern const u16 sSlotPayouts[];
extern const u8 *const gUnknown_083EDCE4;
extern const u8 *const gUnknown_083EDCDC;
-extern const u8 sReelTimeGfx[];
+extern const u32 sReelTimeGfx[];
extern const struct SpriteSheet sSlotMachineSpriteSheets[];
extern const struct SpritePalette gSlotMachineSpritePalettes[];
extern const u16 *const gUnknown_083EDE20;
@@ -1271,7 +1266,7 @@ void PlaySlotMachine(u8 arg0, MainCallback cb)
/*static */bool8 sub_8102344(struct Task *task)
{
- s8 input = Menu_ProcessInputNoWrap_();
+ s8 input = Menu_ProcessInputNoWrapClearOnChoose();
if (input == 0)
{
sub_8197434(0, TRUE);
@@ -4107,9 +4102,9 @@ s16 sub_8102D5C(s16 a0)
LoadSpriteSheet(gUnknown_0203AB2C);
}
-extern const u8 gSlotMachineMenu_Gfx[];
-extern const u8 gSlotMachineMenu_Tilemap[];
-extern const u8 gUnknown_08DCEC70[];
+extern const u32 gSlotMachineMenu_Gfx[];
+extern const u16 gSlotMachineMenu_Tilemap[];
+extern const u16 gUnknown_08DCEC70[];
extern const u16 gSlotMachineMenu_Pal[];
/*static */void sub_8106448(void)
diff --git a/src/sprite.c b/src/sprite.c
index c133dc73e..4087dd8c4 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -15,15 +15,15 @@
#define ALLOC_SPRITE_TILE(n) \
{ \
- gSpriteTileAllocBitmap[(n) / 8] |= (1 << ((n) % 8)); \
+ sSpriteTileAllocBitmap[(n) / 8] |= (1 << ((n) % 8)); \
}
#define FREE_SPRITE_TILE(n) \
{ \
- gSpriteTileAllocBitmap[(n) / 8] &= ~(1 << ((n) % 8)); \
+ sSpriteTileAllocBitmap[(n) / 8] &= ~(1 << ((n) % 8)); \
}
-#define SPRITE_TILE_IS_ALLOCATED(n) ((gSpriteTileAllocBitmap[(n) / 8] >> ((n) % 8)) & 1)
+#define SPRITE_TILE_IS_ALLOCATED(n) ((sSpriteTileAllocBitmap[(n) / 8] >> ((n) % 8)) & 1)
struct SpriteCopyRequest
@@ -295,18 +295,18 @@ u32 gOamMatrixAllocBitmap;
u8 gReservedSpritePaletteCount;
EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0};
-EWRAM_DATA u16 gSpritePriorities[MAX_SPRITES] = {0};
-EWRAM_DATA u8 gSpriteOrder[MAX_SPRITES] = {0};
-EWRAM_DATA bool8 gShouldProcessSpriteCopyRequests = 0;
-EWRAM_DATA u8 gSpriteCopyRequestCount = 0;
-EWRAM_DATA struct SpriteCopyRequest gSpriteCopyRequests[MAX_SPRITES] = {0};
+EWRAM_DATA static u16 sSpritePriorities[MAX_SPRITES] = {0};
+EWRAM_DATA static u8 sSpriteOrder[MAX_SPRITES] = {0};
+EWRAM_DATA static bool8 sShouldProcessSpriteCopyRequests = 0;
+EWRAM_DATA static u8 sSpriteCopyRequestCount = 0;
+EWRAM_DATA static struct SpriteCopyRequest sSpriteCopyRequests[MAX_SPRITES] = {0};
EWRAM_DATA u8 gOamLimit = 0;
EWRAM_DATA u16 gReservedSpriteTileCount = 0;
-EWRAM_DATA u8 gSpriteTileAllocBitmap[128] = {0};
+EWRAM_DATA static u8 sSpriteTileAllocBitmap[128] = {0};
EWRAM_DATA s16 gSpriteCoordOffsetX = 0;
EWRAM_DATA s16 gSpriteCoordOffsetY = 0;
EWRAM_DATA struct OamMatrix gOamMatrices[OAM_MATRIX_COUNT] = {0};
-EWRAM_DATA bool8 gAffineAnimsDisabled = 0;
+EWRAM_DATA bool8 gAffineAnimsDisabled = FALSE;
void ResetSpriteData(void)
{
@@ -350,7 +350,7 @@ void BuildOamBuffer(void)
AddSpritesToOamBuffer();
CopyMatricesToOamBuffer();
gMain.oamLoadDisabled = temp;
- gShouldProcessSpriteCopyRequests = TRUE;
+ sShouldProcessSpriteCopyRequests = TRUE;
}
void UpdateOamCoords(void)
@@ -382,7 +382,7 @@ void BuildSpritePriorities(void)
{
struct Sprite *sprite = &gSprites[i];
u16 priority = sprite->subpriority | (sprite->oam.priority << 8);
- gSpritePriorities[i] = priority;
+ sSpritePriorities[i] = priority;
}
}
@@ -392,10 +392,10 @@ void SortSprites(void)
for (i = 1; i < MAX_SPRITES; i++)
{
u8 j = i;
- struct Sprite *sprite1 = &gSprites[gSpriteOrder[i - 1]];
- struct Sprite *sprite2 = &gSprites[gSpriteOrder[i]];
- u16 sprite1Priority = gSpritePriorities[gSpriteOrder[i - 1]];
- u16 sprite2Priority = gSpritePriorities[gSpriteOrder[i]];
+ struct Sprite *sprite1 = &gSprites[sSpriteOrder[i - 1]];
+ struct Sprite *sprite2 = &gSprites[sSpriteOrder[i]];
+ u16 sprite1Priority = sSpritePriorities[sSpriteOrder[i - 1]];
+ u16 sprite2Priority = sSpritePriorities[sSpriteOrder[i]];
s16 sprite1Y = sprite1->oam.y;
s16 sprite2Y = sprite2->oam.y;
@@ -431,20 +431,20 @@ void SortSprites(void)
&& ((sprite1Priority > sprite2Priority)
|| (sprite1Priority == sprite2Priority && sprite1Y < sprite2Y)))
{
- u8 temp = gSpriteOrder[j];
- gSpriteOrder[j] = gSpriteOrder[j - 1];
- gSpriteOrder[j - 1] = temp;
+ u8 temp = sSpriteOrder[j];
+ sSpriteOrder[j] = sSpriteOrder[j - 1];
+ sSpriteOrder[j - 1] = temp;
// UB: If j equals 1, then j-- makes j equal 0.
- // Then, gSpriteOrder[-1] gets accessed below.
+ // Then, sSpriteOrder[-1] gets accessed below.
// Although this doesn't result in a bug in the ROM,
// the behavior is undefined.
j--;
- sprite1 = &gSprites[gSpriteOrder[j - 1]];
- sprite2 = &gSprites[gSpriteOrder[j]];
- sprite1Priority = gSpritePriorities[gSpriteOrder[j - 1]];
- sprite2Priority = gSpritePriorities[gSpriteOrder[j]];
+ sprite1 = &gSprites[sSpriteOrder[j - 1]];
+ sprite2 = &gSprites[sSpriteOrder[j]];
+ sprite1Priority = sSpritePriorities[sSpriteOrder[j - 1]];
+ sprite2Priority = sSpritePriorities[sSpriteOrder[j]];
sprite1Y = sprite1->oam.y;
sprite2Y = sprite2->oam.y;
@@ -499,7 +499,7 @@ void AddSpritesToOamBuffer(void)
while (i < MAX_SPRITES)
{
- struct Sprite *sprite = &gSprites[gSpriteOrder[i]];
+ struct Sprite *sprite = &gSprites[sSpriteOrder[i]];
if (sprite->inUse && !sprite->invisible && AddSpriteToOamBuffer(sprite, &oamIndex))
return;
i++;
@@ -664,14 +664,14 @@ void ClearSpriteCopyRequests(void)
{
u8 i;
- gShouldProcessSpriteCopyRequests = FALSE;
- gSpriteCopyRequestCount = 0;
+ sShouldProcessSpriteCopyRequests = FALSE;
+ sSpriteCopyRequestCount = 0;
for (i = 0; i < MAX_SPRITE_COPY_REQUESTS; i++)
{
- gSpriteCopyRequests[i].src = 0;
- gSpriteCopyRequests[i].dest = 0;
- gSpriteCopyRequests[i].size = 0;
+ sSpriteCopyRequests[i].src = 0;
+ sSpriteCopyRequests[i].dest = 0;
+ sSpriteCopyRequests[i].size = 0;
}
}
@@ -779,17 +779,17 @@ u8 SpriteTileAllocBitmapOp(u16 bit, u8 op)
if (op == 0)
{
val = ~(1 << val);
- gSpriteTileAllocBitmap[index] &= val;
+ sSpriteTileAllocBitmap[index] &= val;
}
else if (op == 1)
{
val = (1 << val);
- gSpriteTileAllocBitmap[index] |= val;
+ sSpriteTileAllocBitmap[index] |= val;
}
else
{
retVal = 1 << shift;
- retVal &= gSpriteTileAllocBitmap[index];
+ retVal &= sSpriteTileAllocBitmap[index];
}
return retVal;
@@ -801,40 +801,40 @@ void SpriteCallbackDummy(struct Sprite *sprite)
void ProcessSpriteCopyRequests(void)
{
- if (gShouldProcessSpriteCopyRequests)
+ if (sShouldProcessSpriteCopyRequests)
{
u8 i = 0;
- while (gSpriteCopyRequestCount > 0)
+ while (sSpriteCopyRequestCount > 0)
{
- CpuCopy16(gSpriteCopyRequests[i].src, gSpriteCopyRequests[i].dest, gSpriteCopyRequests[i].size);
- gSpriteCopyRequestCount--;
+ CpuCopy16(sSpriteCopyRequests[i].src, sSpriteCopyRequests[i].dest, sSpriteCopyRequests[i].size);
+ sSpriteCopyRequestCount--;
i++;
}
- gShouldProcessSpriteCopyRequests = FALSE;
+ sShouldProcessSpriteCopyRequests = FALSE;
}
}
void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct SpriteFrameImage *images)
{
- if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
+ if (sSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
- gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data;
- gSpriteCopyRequests[gSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
- gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size;
- gSpriteCopyRequestCount++;
+ sSpriteCopyRequests[sSpriteCopyRequestCount].src = images[index].data;
+ sSpriteCopyRequests[sSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
+ sSpriteCopyRequests[sSpriteCopyRequestCount].size = images[index].size;
+ sSpriteCopyRequestCount++;
}
}
void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size)
{
- if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
+ if (sSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
- gSpriteCopyRequests[gSpriteCopyRequestCount].src = src;
- gSpriteCopyRequests[gSpriteCopyRequestCount].dest = dest;
- gSpriteCopyRequests[gSpriteCopyRequestCount].size = size;
- gSpriteCopyRequestCount++;
+ sSpriteCopyRequests[sSpriteCopyRequestCount].src = src;
+ sSpriteCopyRequests[sSpriteCopyRequestCount].dest = dest;
+ sSpriteCopyRequests[sSpriteCopyRequestCount].size = size;
+ sSpriteCopyRequestCount++;
}
}
@@ -869,7 +869,7 @@ void ResetAllSprites(void)
for (i = 0; i < MAX_SPRITES; i++)
{
ResetSprite(&gSprites[i]);
- gSpriteOrder[i] = i;
+ sSpriteOrder[i] = i;
}
ResetSprite(&gSprites[i]);
@@ -1414,7 +1414,7 @@ void ResetAffineAnimData(void)
{
u8 i;
- gAffineAnimsDisabled = 0;
+ gAffineAnimsDisabled = FALSE;
gOamMatrixAllocBitmap = 0;
ResetOamMatrices();
diff --git a/src/start_menu.c b/src/start_menu.c
index dcb2c4154..079f05be0 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -12,7 +12,7 @@
#include "task.h"
#include "overworld.h"
#include "link.h"
-#include "battle_frontier_2.h"
+#include "frontier_util.h"
#include "rom_818CFC8.h"
#include "field_specials.h"
#include "event_object_movement.h"
@@ -34,6 +34,8 @@
#include "constants/songs.h"
#include "field_player_avatar.h"
#include "battle_pyramid_bag.h"
+#include "battle_pike.h"
+#include "new_game.h"
// Menu actions
enum
@@ -62,6 +64,10 @@ enum
SAVE_ERROR
};
+// IWRAM common
+bool8 (*gMenuCallback)(void);
+
+// EWRAM
EWRAM_DATA static u8 sSafariBallsWindowId = 0;
EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0;
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
@@ -75,14 +81,13 @@ EWRAM_DATA static bool8 sSavingComplete = FALSE;
EWRAM_DATA static u8 sSaveInfoWindowId = 0;
// Extern variables.
-extern u8 gDifferentSaveFile;
extern u8 gUnknown_03005DB4;
// Extern functions in not decompiled files.
extern void sub_80AF688(void);
extern void var_800D_set_xB(void);
extern void sub_808B864(void);
-extern void sub_80BB534(void);
+extern void CB2_Pokedex(void);
extern void play_some_sound(void);
extern void CB2_PartyMenuFromStartMenu(void);
extern void CB2_PokeNav(void);
@@ -383,14 +388,14 @@ static void ShowSafariBallsWindow(void)
static void ShowPyramidFloorWindow(void)
{
- if (gSaveBlock2Ptr->frontier.field_CB2 == 7)
+ if (gSaveBlock2Ptr->frontier.curChallengeBattleNum == 7)
sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_1);
else
sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_2);
PutWindowTilemap(sBattlePyramidFloorWindowId);
NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE);
- StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->frontier.field_CB2]);
+ StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->frontier.curChallengeBattleNum]);
StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor);
AddTextPrinterParameterized(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL);
CopyWindowToVram(sBattlePyramidFloorWindowId, 2);
@@ -459,18 +464,18 @@ static bool32 InitStartMenuStep(void)
sUnknown_02037619[0]++;
break;
case 3:
- if (GetSafariZoneFlag() != FALSE)
+ if (GetSafariZoneFlag())
{
ShowSafariBallsWindow();
}
- if (InBattlePyramid() != FALSE)
+ if (InBattlePyramid())
{
ShowPyramidFloorWindow();
}
sUnknown_02037619[0]++;
break;
case 4:
- if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE)
+ if (!PrintStartMenuActions(&sUnknown_02037619[1], 2))
{
break;
}
@@ -619,7 +624,7 @@ static bool8 StartMenuPokedexCallback(void)
play_some_sound();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
- SetMainCallback2(sub_80BB534); // Display pokedex
+ SetMainCallback2(CB2_Pokedex);
return TRUE;
}
@@ -977,14 +982,14 @@ static u8 SaveConfirmSaveCallback(void)
static u8 SaveYesNoCallback(void)
{
- sub_8197930(); // Show Yes/No menu
+ DisplayYesNoMenu(); // Show Yes/No menu
sSaveDialogCallback = SaveConfirmInputCallback;
return SAVE_IN_PROGRESS;
}
static u8 SaveConfirmInputCallback(void)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0: // Yes
switch (gSaveFileStatus)
@@ -1037,14 +1042,14 @@ static u8 SaveConfirmOverwriteNoCallback(void)
static u8 SaveConfirmOverwriteCallback(void)
{
- sub_8197930(); // Show Yes/No menu
+ DisplayYesNoMenu(); // Show Yes/No menu
sSaveDialogCallback = SaveOverwriteInputCallback;
return SAVE_IN_PROGRESS;
}
static u8 SaveOverwriteInputCallback(void)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0: // Yes
sSaveDialogCallback = SaveSavingMessageCallback;
@@ -1168,7 +1173,7 @@ static u8 BattlePyramidRetireYesNoCallback(void)
static u8 BattlePyramidRetireInputCallback(void)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0: // Yes
return SAVE_CANCELED;
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 179d9a05a..46aac5590 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -63,20 +63,20 @@ const u16 gBirchBallarrow_Pal[] = INCBIN_U16("graphics/misc/birch_ballarrow.gbap
const u16 gBirchCircle_Pal[] = INCBIN_U16("graphics/misc/birch_circle.gbapal");
-const u8 gBirchBagTilemap[] = INCBIN_U8("graphics/misc/birch_bag_map.bin.lz");
+const u32 gBirchBagTilemap[] = INCBIN_U32("graphics/misc/birch_bag_map.bin.lz");
-const u8 gBirchGrassTilemap[] = INCBIN_U8("graphics/misc/birch_grass_map.bin.lz");
+const u32 gBirchGrassTilemap[] = INCBIN_U32("graphics/misc/birch_grass_map.bin.lz");
-const u8 gBirchHelpGfx[] = INCBIN_U8("graphics/misc/birch_help.4bpp.lz");
+const u32 gBirchHelpGfx[] = INCBIN_U32("graphics/misc/birch_help.4bpp.lz");
-const u8 gUnknown_085B18AC[] = INCBIN_U8("graphics/misc/birch_ballarrow.4bpp.lz");
+const u32 gUnknown_085B18AC[] = INCBIN_U32("graphics/misc/birch_ballarrow.4bpp.lz");
-const u8 gUnknown_085B1BCC[] = INCBIN_U8("graphics/misc/birch_circle.4bpp.lz");
+const u32 gUnknown_085B1BCC[] = INCBIN_U32("graphics/misc/birch_circle.4bpp.lz");
-static const struct WindowTemplate gUnknown_085B1DCC[] =
+static const struct WindowTemplate gUnknown_085B1DCC[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 3,
.tilemapTop = 15,
.width = 24,
@@ -87,9 +87,9 @@ static const struct WindowTemplate gUnknown_085B1DCC[] =
DUMMY_WIN_TEMPLATE,
};
-static const struct WindowTemplate gUnknown_085B1DDC =
+static const struct WindowTemplate gUnknown_085B1DDC =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 24,
.tilemapTop = 9,
.width = 5,
@@ -98,9 +98,9 @@ static const struct WindowTemplate gUnknown_085B1DDC =
.baseBlock = 0x0260
};
-static const struct WindowTemplate gUnknown_085B1DE4 =
+static const struct WindowTemplate gUnknown_085B1DE4 =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 13,
@@ -392,9 +392,9 @@ void CB2_ChooseStarter(void)
DmaFill32(3, 0, OAM, OAM_SIZE);
DmaFill16(3, 0, PLTT, PLTT_SIZE);
- LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
- LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000));
- LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
+ LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM);
+ LZ77UnCompVram(gBirchBagTilemap, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x3800));
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_085B1E00, ARRAY_COUNT(gUnknown_085B1E00));
@@ -534,7 +534,7 @@ static void Task_StarterChoose5(u8 taskId)
{
u8 spriteId;
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
case 0: // YES
// Return the starter choice and exit.
diff --git a/src/string_util.c b/src/string_util.c
index 3fbf79d87..8ce9a97ed 100644
--- a/src/string_util.c
+++ b/src/string_util.c
@@ -2,7 +2,11 @@
#include "string_util.h"
#include "text.h"
-EWRAM_DATA u8 gUnknownStringVar[16] = {0};
+EWRAM_DATA u8 gStringVar1[0x100] = {0};
+EWRAM_DATA u8 gStringVar2[0x100] = {0};
+EWRAM_DATA u8 gStringVar3[0x100] = {0};
+EWRAM_DATA u8 gStringVar4[0x3E8] = {0};
+EWRAM_DATA static u8 sUnknownStringVar[16] = {0};
static const u8 sDigits[] = __("0123456789ABCDEF");
@@ -421,7 +425,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
static const u8 *ExpandPlaceholder_UnknownStringVar(void)
{
- return gUnknownStringVar;
+ return sUnknownStringVar;
}
static const u8 *ExpandPlaceholder_PlayerName(void)
diff --git a/src/strings.c b/src/strings.c
index cdbbb4468..3cf801c7c 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -1,9 +1,7 @@
#include "global.h"
#include "strings.h"
-// Yes, all the aligns are absolutely necessary.
-// Until someone can come up with a better way to align byte arrays in C, this is what we're doing.
-asm(".align 2");
+ALIGNED(4)
const u8 gExpandedPlaceholder_Empty[] = _("");
const u8 gExpandedPlaceholder_Kun[] = _("");
const u8 gExpandedPlaceholder_Chan[] = _("");
@@ -49,24 +47,12 @@ const u8 gUnknown_085E8504[] = _("SELECT");
const u8 gUnknown_085E850B[] = _("+ Control Pad");
const u8 gUnknown_085E8519[] = _("L Button R Button");
const u8 gUnknown_085E852C[] = _("CONTROLS");
-
-asm(".align 2");
-const u8 gUnknown_085E8538[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK");
-
-asm(".align 2");
-const u8 gUnknown_085E8544[] = _("{A_BUTTON}NEXT");
-
-asm(".align 2");
-const u8 gUnknown_085E854C[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK");
-
-asm(".align 2");
-const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL");
-
-asm(".align 2");
-const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL");
-
-asm(".align 2");
-const u8 gText_UnkCtrlF800Exit[] = _("{A_BUTTON}EXIT");
+ALIGNED(4) const u8 gUnknown_085E8538[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK");
+ALIGNED(4) const u8 gUnknown_085E8544[] = _("{A_BUTTON}NEXT");
+ALIGNED(4) const u8 gUnknown_085E854C[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK");
+ALIGNED(4) const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}NEXT {B_BUTTON}CANCEL");
+ALIGNED(4) const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}{B_BUTTON}CANCEL");
+ALIGNED(4) const u8 gText_UnkCtrlF800Exit[] = _("{A_BUTTON}EXIT");
const u8 gText_BirchBoy[] = _("BOY");
const u8 gText_BirchGirl[] = _("GIRL");
const u8 gText_DefaultNameStu[] = _("STU");
@@ -135,44 +121,44 @@ const u8 gUnknown_085E8840[] = _("List by the first letter in the name.\nSpotted
const u8 gUnknown_085E887C[] = _("List by body color.\nSpotted POKéMON only.");
const u8 gUnknown_085E88A6[] = _("List by type.\nOwned POKéMON only.");
const u8 gUnknown_085E88C8[] = _("Execute search/switch.");
-const u8 gUnknown_085E88DF[] = _("HOENN DEX");
-const u8 gUnknown_085E88E9[] = _("NATIONAL DEX");
-const u8 gUnknown_085E88F6[] = _("NUMERICAL MODE");
-const u8 gUnknown_085E8905[] = _("A TO Z MODE");
-const u8 gUnknown_085E8911[] = _("HEAVIEST MODE");
-const u8 gUnknown_085E891F[] = _("LIGHTEST MODE");
-const u8 gUnknown_085E892D[] = _("TALLEST MODE");
-const u8 gUnknown_085E893A[] = _("SMALLEST MODE");
-const u8 gUnknown_085E8948[] = _("ABC");
-const u8 gUnknown_085E894C[] = _("DEF");
-const u8 gUnknown_085E8950[] = _("GHI");
-const u8 gUnknown_085E8954[] = _("JKL");
-const u8 gUnknown_085E8958[] = _("MNO");
-const u8 gUnknown_085E895C[] = _("PQR");
-const u8 gUnknown_085E8960[] = _("STU");
-const u8 gUnknown_085E8964[] = _("VWX");
-const u8 gUnknown_085E8968[] = _("YZ");
-const u8 gUnknown_085E896B[] = _("RED");
-const u8 gUnknown_085E896F[] = _("BLUE");
-const u8 gUnknown_085E8974[] = _("YELLOW");
-const u8 gUnknown_085E897B[] = _("GREEN");
-const u8 gUnknown_085E8981[] = _("BLACK");
-const u8 gUnknown_085E8987[] = _("BROWN");
-const u8 gUnknown_085E898D[] = _("PURPLE");
-const u8 gUnknown_085E8994[] = _("GRAY");
-const u8 gUnknown_085E8999[] = _("WHITE");
-const u8 gUnknown_085E899F[] = _("PINK");
-const u8 gUnknown_085E89A4[] = _("HOENN region’s POKéDEX");
-const u8 gUnknown_085E89BB[] = _("National edition POKéDEX");
-const u8 gUnknown_085E89D4[] = _("POKéMON are listed according to their\nnumber.");
-const u8 gUnknown_085E8A02[] = _("Spotted and owned POKéMON are listed\nalphabetically.");
-const u8 gUnknown_085E8A37[] = _("Owned POKéMON are listed from the\nheaviest to the lightest.");
-const u8 gUnknown_085E8A73[] = _("Owned POKéMON are listed from the\nlightest to the heaviest.");
-const u8 gUnknown_085E8AAF[] = _("Owned POKéMON are listed from the\ntallest to the smallest.");
-const u8 gUnknown_085E8AEA[] = _("Owned POKéMON are listed from the\nsmallest to the tallest.");
-const u8 gUnknown_085E8B25[] = _("");
-const u8 gUnknown_085E8B26[] = _("DON’T SPECIFY.");
-const u8 gUnknown_085E8B35[] = _("NONE");
+const u8 gText_DexHoennTitle[] = _("HOENN DEX");
+const u8 gText_DexNatTitle[] = _("NATIONAL DEX");
+const u8 gText_DexSortNumericalTitle[] = _("NUMERICAL MODE");
+const u8 gText_DexSortAtoZTitle[] = _("A TO Z MODE");
+const u8 gText_DexSortHeaviestTitle[] = _("HEAVIEST MODE");
+const u8 gText_DexSortLightestTitle[] = _("LIGHTEST MODE");
+const u8 gText_DexSortTallestTitle[] = _("TALLEST MODE");
+const u8 gText_DexSortSmallestTitle[] = _("SMALLEST MODE");
+const u8 gText_DexSearchAlphaABC[] = _("ABC");
+const u8 gText_DexSearchAlphaDEF[] = _("DEF");
+const u8 gText_DexSearchAlphaGHI[] = _("GHI");
+const u8 gText_DexSearchAlphaJKL[] = _("JKL");
+const u8 gText_DexSearchAlphaMNO[] = _("MNO");
+const u8 gText_DexSearchAlphaPQR[] = _("PQR");
+const u8 gText_DexSearchAlphaSTU[] = _("STU");
+const u8 gText_DexSearchAlphaVWX[] = _("VWX");
+const u8 gText_DexSearchAlphaYZ[] = _("YZ");
+const u8 gText_DexSearchColorRed[] = _("RED");
+const u8 gText_DexSearchColorBlue[] = _("BLUE");
+const u8 gText_DexSearchColorYellow[] = _("YELLOW");
+const u8 gText_DexSearchColorGreen[] = _("GREEN");
+const u8 gText_DexSearchColorBlack[] = _("BLACK");
+const u8 gText_DexSearchColorBrown[] = _("BROWN");
+const u8 gText_DexSearchColorPurple[] = _("PURPLE");
+const u8 gText_DexSearchColorGray[] = _("GRAY");
+const u8 gText_DexSearchColorWhite[] = _("WHITE");
+const u8 gText_DexSearchColorPink[] = _("PINK");
+const u8 gText_DexHoennDescription[] = _("HOENN region’s POKéDEX");
+const u8 gText_DexNatDescription[] = _("National edition POKéDEX");
+const u8 gText_DexSortNumericalDescription[] = _("POKéMON are listed according to their\nnumber.");
+const u8 gText_DexSortAtoZDescription[] = _("Spotted and owned POKéMON are listed\nalphabetically.");
+const u8 gText_DexSortHeaviestDescription[] = _("Owned POKéMON are listed from the\nheaviest to the lightest.");
+const u8 gText_DexSortLightestDescription[] = _("Owned POKéMON are listed from the\nlightest to the heaviest.");
+const u8 gText_DexSortTallestDescription[] = _("Owned POKéMON are listed from the\ntallest to the smallest.");
+const u8 ggText_DexSortSmallestDescription[] = _("Owned POKéMON are listed from the\nsmallest to the tallest.");
+const u8 gText_DexEmptyString[] = _("");
+const u8 gText_DexSearchDontSpecify[] = _("DON’T SPECIFY.");
+const u8 gText_DexSearchTypeNone[] = _("NONE");
const u8 gText_SelectorArrow[] = _("▶");
const u8 gUnknown_085E8B3C[] = _(" ");
const u8 gText_WelcomeToHOF[] = _("Welcome to the HALL OF FAME!");
@@ -349,9 +335,9 @@ const u8 gText_Var1ThrownAway[] = _("The {STR_VAR_1}\nwas thrown away.");
const u8 gText_Var1AteTheVar2[] = _("{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}");
const u8 gText_Var1HappilyAteVar2[] = _("{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}");
const u8 gText_Var1DisdainfullyAteVar2[] = _("{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}");
-const u8 gUnknown_085E93C7[] = _("BUY");
-const u8 gUnknown_085E93CB[] = _("SELL");
-const u8 gUnknown_085E93D0[] = _("QUIT");
+const u8 gText_ShopBuy[] = _("BUY");
+const u8 gText_ShopSell[] = _("SELL");
+const u8 gText_ShopQuit[] = _("QUIT");
const u8 gText_InBagVar1[] = _("IN BAG: {STR_VAR_1}");
const u8 gText_QuitShopping[] = _("Quit shopping.");
const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Certainly.\nHow many would you like?");
@@ -486,30 +472,14 @@ const u8 gText_EscapeFromHere[] = _("Want to escape from here and return\nto {ST
const u8 gText_ReturnToHealingSpot[] = _("Want to return to the healing spot\nused last in {STR_VAR_1}?");
const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}");
const u8 gJPText_PutVar1IntoSpinner[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?");
-
-asm(".align 2");
-const u8 gText_OnlyPkmnForBattle[] = _("That’s your only\nPOKéMON for battle.");
-
-asm(".align 2");
-const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can’t be traded\nnow.");
-
-asm(".align 2");
-const u8 gText_EggCantBeTradedNow[] = _("An EGG can’t be traded now.");
-
-asm(".align 2");
-const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER’s POKéMON\ncan’t be traded now.");
-
-asm(".align 2");
-const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can’t accept\nthat POKéMON now.");
-
-asm(".align 2");
-const u8 gText_CantTradeWithTrainer[] = _("You can’t trade with that\nTRAINER now.");
-
-asm(".align 2");
-const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn’t the type of POKéMON\nthat the other TRAINER wants.");
-
-asm(".align 2");
-const u8 gText_ThatIsntAnEgg[] = _("That isn’t an EGG.");
+ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That’s your only\nPOKéMON for battle.");
+ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can’t be traded\nnow.");
+ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can’t be traded now.");
+ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER’s POKéMON\ncan’t be traded now.");
+ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can’t accept\nthat POKéMON now.");
+ALIGNED(4) const u8 gText_CantTradeWithTrainer[] = _("You can’t trade with that\nTRAINER now.");
+ALIGNED(4) const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn’t the type of POKéMON\nthat the other TRAINER wants.");
+ALIGNED(4) const u8 gText_ThatIsntAnEgg[] = _("That isn’t an EGG.");
const u8 gText_Register[] = _("REGISTER");
const u8 gText_Attack3[] = _("ATTACK");
const u8 gText_Defense3[] = _("DEFENSE");
@@ -1251,20 +1221,12 @@ const u8 gText_BattleArena[] = _("BATTLE ARENA");
const u8 gText_BattlePike[] = _("BATTLE PIKE");
const u8 gText_BattlePyramid[] = _("BATTLE PYRAMID");
-asm(".align 2");
-const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE");
+ALIGNED(4) const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE");
+ALIGNED(4) const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE");
+ALIGNED(4) const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI");
+ALIGNED(4) const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK");
+ALIGNED(4) const u8 gUnknown_085ED190[] = _("{STR_VAR_1}");
-asm(".align 2");
-const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE");
-
-asm(".align 2");
-const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI");
-
-asm(".align 2");
-const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK");
-
-asm(".align 2");
-const u8 gUnknown_085ED190[] = _("{STR_VAR_1}");
const u8 gText_Give[] = _("Give");
const u8 gText_NoNeed[] = _("No need");
const u8 gText_ColorLightShadowDarkGrey[] = _("{COLOR LIGHT_GREY}{SHADOW DARK_GREY}");
@@ -1331,93 +1293,35 @@ const u8 gMatchCall_MaySelfIntroductionText_Line1[] = _("My POKéMON and I help"
const u8 gMatchCall_MaySelfIntroductionText_Line2[] = _("my father’s research.");
const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} hatched from the EGG!");
const u8 gText_NickHatchPrompt[] = _("Would you like to nickname the newly\nhatched {STR_VAR_1}?");
-
-asm(".align 2");
-const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p");
-
-asm(".align 2");
-const u8 gText_WaitForAllChooseBerry[] = _("Please wait while each member\nchooses a BERRY.");
-
-asm(".align 2");
-const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p");
-
-asm(".align 2");
-const u8 gText_RecordingGameResults[] = _("Recording your game results in the\nsave file.\lPlease wait.");
-
-asm(".align 2");
-const u8 gText_PlayBerryCrushAgain[] = _("Want to play BERRY CRUSH again?");
-
-asm(".align 2");
-const u8 gText_YouHaveNoBerries[] = _("You have no BERRIES.\nThe game will be canceled.");
-
-asm(".align 2");
-const u8 gText_MemberDroppedOut[] = _("A member dropped out.\nThe game will be canceled.");
-
-asm(".align 2");
-const u8 gText_TimesUpNoGoodPowder[] = _("Time’s up.\pGood BERRY POWDER could not be\nmade…\p");
-
-asm(".align 2");
-const u8 gText_CommunicationStandby2[] = _("Communication standby…");
-
-asm(".align 2");
-const u8 gText_1DotBlueF700[] = _("1. {COLOR BLUE}{SHADOW LIGHT_BLUE}{SPECIAL_F7 0x00}");
-
-asm(".align 2");
-const u8 gText_1DotF700[] = _("1. {SPECIAL_F7 0x00}");
-
-asm(".align 2");
-const u8 gText_SpaceTimes2[] = _(" time(s)");
-
-asm(".align 2");
-const u8 gText_XDotY[] = _("{STR_VAR_1}.{STR_VAR_2}");
-
-asm(".align 2");
-const u8 gText_Var1Berry[] = _("{STR_VAR_1} BERRY");
-
-asm(".align 2");
-const u8 gText_TimeColon[] = _("Time:");
-
-asm(".align 2");
-const u8 gText_PressingSpeed[] = _("Pressing Speed:");
-
-asm(".align 2");
-const u8 gText_Silkiness[] = _("Silkiness:");
-
-asm(".align 2");
-const u8 gText_StrVar1[] = _("{STR_VAR_1}");
-
-asm(".align 2");
-const u8 gText_SpaceMin[] = _(" min. ");
-
-asm(".align 2");
-const u8 gText_XDotY2[] = _("{STR_VAR_1}.{STR_VAR_2}");
-
-asm(".align 2");
-const u8 gText_SpaceSec[] = _(" sec.");
-
-asm(".align 2");
-const u8 gText_XDotY3[] = _("{STR_VAR_1}.{STR_VAR_2}");
-
-asm(".align 2");
-const u8 gText_TimesPerSec[] = _(" Times/sec.");
-
-asm(".align 2");
-const u8 gText_Var1Percent[] = _("{STR_VAR_1}%");
-
-asm(".align 2");
-const u8 gText_PressesRankings[] = _("No. of Presses Rankings");
-
-asm(".align 2");
-const u8 gText_CrushingResults[] = _("Crushing Results");
-
-asm(".align 2");
-const u8 gText_NeatnessRankings[] = _("Neatness Rankings");
-
-asm(".align 2");
-const u8 gText_CoopRankings[] = _("Cooperative Rankings");
-
-asm(".align 2");
-const u8 gText_PressingPowerRankings[] = _("Pressing-Power Rankings");
+ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p");
+ALIGNED(4) const u8 gText_WaitForAllChooseBerry[] = _("Please wait while each member\nchooses a BERRY.");
+ALIGNED(4) const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM MUS_FANFA1}You ended up with {STR_VAR_1} units of\nsilky-smooth BERRY POWDER.{RESUME_MUSIC}\pYour total amount of BERRY POWDER\nis {STR_VAR_2}.\p");
+ALIGNED(4) const u8 gText_RecordingGameResults[] = _("Recording your game results in the\nsave file.\lPlease wait.");
+ALIGNED(4) const u8 gText_PlayBerryCrushAgain[] = _("Want to play BERRY CRUSH again?");
+ALIGNED(4) const u8 gText_YouHaveNoBerries[] = _("You have no BERRIES.\nThe game will be canceled.");
+ALIGNED(4) const u8 gText_MemberDroppedOut[] = _("A member dropped out.\nThe game will be canceled.");
+ALIGNED(4) const u8 gText_TimesUpNoGoodPowder[] = _("Time’s up.\pGood BERRY POWDER could not be\nmade…\p");
+ALIGNED(4) const u8 gText_CommunicationStandby2[] = _("Communication standby…");
+ALIGNED(4) const u8 gText_1DotBlueF700[] = _("1. {COLOR BLUE}{SHADOW LIGHT_BLUE}{SPECIAL_F7 0x00}");
+ALIGNED(4) const u8 gText_1DotF700[] = _("1. {SPECIAL_F7 0x00}");
+ALIGNED(4) const u8 gText_SpaceTimes2[] = _(" time(s)");
+ALIGNED(4) const u8 gText_XDotY[] = _("{STR_VAR_1}.{STR_VAR_2}");
+ALIGNED(4) const u8 gText_Var1Berry[] = _("{STR_VAR_1} BERRY");
+ALIGNED(4) const u8 gText_TimeColon[] = _("Time:");
+ALIGNED(4) const u8 gText_PressingSpeed[] = _("Pressing Speed:");
+ALIGNED(4) const u8 gText_Silkiness[] = _("Silkiness:");
+ALIGNED(4) const u8 gText_StrVar1[] = _("{STR_VAR_1}");
+ALIGNED(4) const u8 gText_SpaceMin[] = _(" min. ");
+ALIGNED(4) const u8 gText_XDotY2[] = _("{STR_VAR_1}.{STR_VAR_2}");
+ALIGNED(4) const u8 gText_SpaceSec[] = _(" sec.");
+ALIGNED(4) const u8 gText_XDotY3[] = _("{STR_VAR_1}.{STR_VAR_2}");
+ALIGNED(4) const u8 gText_TimesPerSec[] = _(" Times/sec.");
+ALIGNED(4) const u8 gText_Var1Percent[] = _("{STR_VAR_1}%");
+ALIGNED(4) const u8 gText_PressesRankings[] = _("No. of Presses Rankings");
+ALIGNED(4) const u8 gText_CrushingResults[] = _("Crushing Results");
+ALIGNED(4) const u8 gText_NeatnessRankings[] = _("Neatness Rankings");
+ALIGNED(4) const u8 gText_CoopRankings[] = _("Cooperative Rankings");
+ALIGNED(4) const u8 gText_PressingPowerRankings[] = _("Pressing-Power Rankings");
const u8 gText_BerryCrush2[] = _("BERRY CRUSH");
const u8 gText_PressingSpeedRankings[] = _("Pressing-Speed Rankings");
const u8 gText_Var1Players[] = _("{STR_VAR_1} PLAYERS");
@@ -1547,31 +1451,15 @@ const u8 gText_KOsInARow[] = _("KOs in a row: {STR_VAR_1}");
const u8 gText_TimesVar1[] = _("Times: {STR_VAR_1}");
const u8 gText_FloorsCleared[] = _("Floors cleared: {STR_VAR_1}");
-asm(".align 2");
-const u8 gUnknown_085EE3B0[] = _("LV. 50");
-
-asm(".align 2");
-const u8 gUnknown_085EE3B8[] = _("OPEN LEVEL");
-
-asm(".align 2");
-const u8 gUnknown_085EE3C4[] = _("Win streak: {STR_VAR_2}");
-
-asm(".align 2");
-const u8 gUnknown_085EE3D4[] = _("Clear streak: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_RecordsLv50[] = _("LV. 50");
+ALIGNED(4) const u8 gText_RecordsOpenLevel[] = _("OPEN LEVEL");
+ALIGNED(4) const u8 gText_FrontierFacilityWinStreak[] = _("Win streak: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityClearStreak[] = _("Clear streak: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityRoomsCleared[] = _("Rooms cleared: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityKOsStreak[] = _("KOs in a row: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityFloorsCleared[] = _("Floors cleared: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_123Dot[][3] = {_("1."), _("2."), _("3.")};
-asm(".align 2");
-const u8 gUnknown_085EE3E8[] = _("Rooms cleared: {STR_VAR_2}");
-
-asm(".align 2");
-const u8 gUnknown_085EE3FC[] = _("KOs in a row: {STR_VAR_2}");
-
-asm(".align 2");
-const u8 gUnknown_085EE410[] = _("Floors cleared: {STR_VAR_2}");
-
-asm(".align 2");
-const u8 gText_1Dot[] = _("1.");
-const u8 gUnknown_085EE427[] = _("2.");
-const u8 gUnknown_085EE42A[] = _("3.");
const u8 gText_SavingDontTurnOff2[] = _("SAVING…\nDON’T TURN OFF THE POWER.");
const u8 gText_BlenderMaxSpeedRecord[] = _("BERRY BLENDER\nMAXIMUM SPEED RECORD!");
const u8 gText_234Players[] = _("2 PLAYERS\n3 PLAYERS\n4 PLAYERS");
@@ -1770,185 +1658,66 @@ const u8 *const gTextTable_Players[] = {
gText_F703Players
};
-asm(".align 2");
-const u8 gText_WonderCards[] = _("WONDER CARDS");
-
-asm(".align 2");
-const u8 gText_WonderNews[] = _("WONDER NEWS");
-
-asm(".align 2");
-const u8 gText_WirelessCommunication[] = _("WIRELESS COMMUNICATION");
-
-asm(".align 2");
-const u8 gText_Friend2[] = _("FRIEND");
-
-asm(".align 2");
-const u8 gText_Exit3[] = _("EXIT");
-
-asm(".align 2");
-const u8 gText_Receive[] = _("RECEIVE");
-
-asm(".align 2");
-const u8 gText_Send[] = _("SEND");
-
-asm(".align 2");
-const u8 gText_Toss[] = _("TOSS");
-
-asm(".align 2");
-const u8 gText_VarietyOfEventsImportedWireless[] = _("A variety of events will be imported\nover Wireless Communication.");
-
-asm(".align 2");
-const u8 gText_WonderCardsInPossession[] = _("Read the WONDER CARDS in your\npossession.");
-
-asm(".align 2");
-const u8 gText_ReadNewsThatArrived[] = _("Read the NEWS that arrived.");
-
-asm(".align 2");
-const u8 gText_ReturnToTitle[] = _("Return to the title screen.");
-
-asm(".align 2");
-const u8 gText_DontHaveCardNewOneInput[] = _("You don’t have a WONDER CARD,\nso a new CARD will be input.");
-
-asm(".align 2");
-const u8 gText_DontHaveNewsNewOneInput[] = _("You don’t have any WONDER NEWS,\nso new NEWS will be input.");
-
-asm(".align 2");
-const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?");
-
-asm(".align 2");
-const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?");
-
-asm(".align 2");
-const u8 gUnknown_085EEFC0[] = _("Communication standby…\nB Button: Cancel");
-
-asm(".align 2");
-const u8 gText_Communicating[] = _("Communicating…");
-
-asm(".align 2");
-const u8 gText_CommunicationCompleted[] = _("Communication completed.");
-
-asm(".align 2");
-const u8 gText_CommunicationError[] = _("Communication error.");
-
-asm(".align 2");
-const u8 gText_CommunicationCanceled[] = _("Communication has been canceled.");
-
-asm(".align 2");
-const u8 gText_ThrowAwayWonderCard[] = _("Throw away the WONDER CARD\nand input a new CARD?");
-
-asm(".align 2");
-const u8 gText_HaventReceivedCardsGift[] = _("You haven’t received the CARD’s gift\nyet. Input a new CARD anyway?");
-
-asm(".align 2");
-const u8 gText_WonderCardReceivedFrom[] = _("A WONDER CARD has been received\nfrom {STR_VAR_1}.");
-
-asm(".align 2");
-const u8 gText_WonderNewsReceivedFrom[] = _("A WONDER NEWS item has been\nreceived from {STR_VAR_1}.");
-
-asm(".align 2");
-const u8 gText_WonderCardReceived[] = _("A new WONDER CARD has been\nreceived.");
-
-asm(".align 2");
-const u8 gText_WonderNewsReceived[] = _("A new WONDER NEWS item has been\nreceived.");
-
-asm(".align 2");
-const u8 gText_NewStampReceived[] = _("A new STAMP has been received.");
-
-asm(".align 2");
-const u8 gText_NewTrainerReceived[] = _("A new TRAINER has arrived.");
-
-asm(".align 2");
-const u8 gText_AlreadyHadCard[] = _("You already had that\nWONDER CARD.");
-
-asm(".align 2");
-const u8 gText_AlreadyHadNews[] = _("You already had that\nWONDER NEWS item.");
-
-asm(".align 2");
-const u8 gText_AlreadyHadStamp[] = _("You already had that\nSTAMP.");
-
-asm(".align 2");
-const u8 gText_NoMoreRoomForStamps[] = _("There’s no more room for adding\nSTAMPS.");
-
-asm(".align 2");
-const u8 gText_RecordUploadedViaWireless[] = _("Your record has been uploaded via\nWIRELESS COMMUNICATION.");
-
-asm(".align 2");
-const u8 gText_CantAcceptCardFromTrainer[] = _("You can’t accept a WONDER CARD\nfrom this TRAINER.");
-
-asm(".align 2");
-const u8 gText_CantAcceptNewsFromTrainer[] = _("You can’t accept WONDER NEWS\nfrom this TRAINER.");
-
-asm(".align 2");
-const u8 gText_NothingSentOver[] = _("Nothing was sent over…");
-
-asm(".align 2");
-const u8 gText_WhatToDoWithCards[] = _("What would you like to do\nwith the WONDER CARDS?");
-
-asm(".align 2");
-const u8 gText_WhatToDoWithNews[] = _("What would you like to do\nwith the WONDER NEWS?");
-
-asm(".align 2");
-const u8 gText_SendingWonderCard[] = _("Sending your WONDER CARD…");
-
-asm(".align 2");
-const u8 gText_SendingWonderNews[] = _("Sending your WONDER NEWS item…");
-
-asm(".align 2");
-const u8 gText_WonderCardSentTo[] = _("Your WONDER CARD has been sent\nto {STR_VAR_1}.");
-
-asm(".align 2");
-const u8 gText_WonderNewsSentTo[] = _("Your WONDER NEWS item has been\nsent to {STR_VAR_1}.");
-
-asm(".align 2");
-const u8 gText_StampSentTo[] = _("A STAMP has been sent to {STR_VAR_1}.");
-
-asm(".align 2");
-const u8 gText_GiftSentTo[] = _("A GIFT has been sent to {STR_VAR_1}.");
-
-asm(".align 2");
-const u8 gText_OtherTrainerHasCard[] = _("The other TRAINER has the same\nWONDER CARD already.");
-
-asm(".align 2");
-const u8 gText_OtherTrainerHasNews[] = _("The other TRAINER has the same\nWONDER NEWS already.");
-
-asm(".align 2");
-const u8 gText_OtherTrainerHasStamp[] = _("The other TRAINER has the same\nSTAMP already.");
-
-asm(".align 2");
-const u8 gText_OtherTrainerCanceled[] = _("The other TRAINER canceled\ncommunication.");
-
-asm(".align 2");
-const u8 gText_CantSendGiftToTrainer[] = _("You can’t send a MYSTERY GIFT to\nthis TRAINER.");
-
-asm(".align 2");
-const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won’t happen. Okay?");
-
-asm(".align 2");
-const u8 gText_OkayToDiscardNews[] = _("Is it okay to discard this\nNEWS item?");
-
-asm(".align 2");
-const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven’t received the\nGIFT. Is it okay to discard?");
-
-asm(".align 2");
-const u8 gText_DataWillBeSaved[] = _("Data will be saved.\nPlease wait.");
-
-asm(".align 2");
-const u8 gText_SaveCompletedPressA[] = _("Save completed.\nPlease press the A Button.");
-
-asm(".align 2");
-const u8 gText_WonderCardThrownAway[] = _("The WONDER CARD was thrown away.");
-
-asm(".align 2");
-const u8 gText_WonderNewsThrownAway[] = _("The WONDER NEWS was thrown away.");
-
-asm(".align 2");
-const u8 gText_MysteryGift[] = _("MYSTERY GIFT");
-
-asm(".align 2");
-const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT");
-
-asm(".align 2");
-const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL");
+ALIGNED(4) const u8 gText_WonderCards[] = _("WONDER CARDS");
+ALIGNED(4) const u8 gText_WonderNews[] = _("WONDER NEWS");
+ALIGNED(4) const u8 gText_WirelessCommunication[] = _("WIRELESS COMMUNICATION");
+ALIGNED(4) const u8 gText_Friend2[] = _("FRIEND");
+ALIGNED(4) const u8 gText_Exit3[] = _("EXIT");
+ALIGNED(4) const u8 gText_Receive[] = _("RECEIVE");
+ALIGNED(4) const u8 gText_Send[] = _("SEND");
+ALIGNED(4) const u8 gText_Toss[] = _("TOSS");
+ALIGNED(4) const u8 gText_VarietyOfEventsImportedWireless[] = _("A variety of events will be imported\nover Wireless Communication.");
+ALIGNED(4) const u8 gText_WonderCardsInPossession[] = _("Read the WONDER CARDS in your\npossession.");
+ALIGNED(4) const u8 gText_ReadNewsThatArrived[] = _("Read the NEWS that arrived.");
+ALIGNED(4) const u8 gText_ReturnToTitle[] = _("Return to the title screen.");
+ALIGNED(4) const u8 gText_DontHaveCardNewOneInput[] = _("You don’t have a WONDER CARD,\nso a new CARD will be input.");
+ALIGNED(4) const u8 gText_DontHaveNewsNewOneInput[] = _("You don’t have any WONDER NEWS,\nso new NEWS will be input.");
+ALIGNED(4) const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?");
+ALIGNED(4) const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?");
+ALIGNED(4) const u8 gUnknown_085EEFC0[] = _("Communication standby…\nB Button: Cancel");
+ALIGNED(4) const u8 gText_Communicating[] = _("Communicating…");
+ALIGNED(4) const u8 gText_CommunicationCompleted[] = _("Communication completed.");
+ALIGNED(4) const u8 gText_CommunicationError[] = _("Communication error.");
+ALIGNED(4) const u8 gText_CommunicationCanceled[] = _("Communication has been canceled.");
+ALIGNED(4) const u8 gText_ThrowAwayWonderCard[] = _("Throw away the WONDER CARD\nand input a new CARD?");
+ALIGNED(4) const u8 gText_HaventReceivedCardsGift[] = _("You haven’t received the CARD’s gift\nyet. Input a new CARD anyway?");
+ALIGNED(4) const u8 gText_WonderCardReceivedFrom[] = _("A WONDER CARD has been received\nfrom {STR_VAR_1}.");
+ALIGNED(4) const u8 gText_WonderNewsReceivedFrom[] = _("A WONDER NEWS item has been\nreceived from {STR_VAR_1}.");
+ALIGNED(4) const u8 gText_WonderCardReceived[] = _("A new WONDER CARD has been\nreceived.");
+ALIGNED(4) const u8 gText_WonderNewsReceived[] = _("A new WONDER NEWS item has been\nreceived.");
+ALIGNED(4) const u8 gText_NewStampReceived[] = _("A new STAMP has been received.");
+ALIGNED(4) const u8 gText_NewTrainerReceived[] = _("A new TRAINER has arrived.");
+ALIGNED(4) const u8 gText_AlreadyHadCard[] = _("You already had that\nWONDER CARD.");
+ALIGNED(4) const u8 gText_AlreadyHadNews[] = _("You already had that\nWONDER NEWS item.");
+ALIGNED(4) const u8 gText_AlreadyHadStamp[] = _("You already had that\nSTAMP.");
+ALIGNED(4) const u8 gText_NoMoreRoomForStamps[] = _("There’s no more room for adding\nSTAMPS.");
+ALIGNED(4) const u8 gText_RecordUploadedViaWireless[] = _("Your record has been uploaded via\nWIRELESS COMMUNICATION.");
+ALIGNED(4) const u8 gText_CantAcceptCardFromTrainer[] = _("You can’t accept a WONDER CARD\nfrom this TRAINER.");
+ALIGNED(4) const u8 gText_CantAcceptNewsFromTrainer[] = _("You can’t accept WONDER NEWS\nfrom this TRAINER.");
+ALIGNED(4) const u8 gText_NothingSentOver[] = _("Nothing was sent over…");
+ALIGNED(4) const u8 gText_WhatToDoWithCards[] = _("What would you like to do\nwith the WONDER CARDS?");
+ALIGNED(4) const u8 gText_WhatToDoWithNews[] = _("What would you like to do\nwith the WONDER NEWS?");
+ALIGNED(4) const u8 gText_SendingWonderCard[] = _("Sending your WONDER CARD…");
+ALIGNED(4) const u8 gText_SendingWonderNews[] = _("Sending your WONDER NEWS item…");
+ALIGNED(4) const u8 gText_WonderCardSentTo[] = _("Your WONDER CARD has been sent\nto {STR_VAR_1}.");
+ALIGNED(4) const u8 gText_WonderNewsSentTo[] = _("Your WONDER NEWS item has been\nsent to {STR_VAR_1}.");
+ALIGNED(4) const u8 gText_StampSentTo[] = _("A STAMP has been sent to {STR_VAR_1}.");
+ALIGNED(4) const u8 gText_GiftSentTo[] = _("A GIFT has been sent to {STR_VAR_1}.");
+ALIGNED(4) const u8 gText_OtherTrainerHasCard[] = _("The other TRAINER has the same\nWONDER CARD already.");
+ALIGNED(4) const u8 gText_OtherTrainerHasNews[] = _("The other TRAINER has the same\nWONDER NEWS already.");
+ALIGNED(4) const u8 gText_OtherTrainerHasStamp[] = _("The other TRAINER has the same\nSTAMP already.");
+ALIGNED(4) const u8 gText_OtherTrainerCanceled[] = _("The other TRAINER canceled\ncommunication.");
+ALIGNED(4) const u8 gText_CantSendGiftToTrainer[] = _("You can’t send a MYSTERY GIFT to\nthis TRAINER.");
+ALIGNED(4) const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won’t happen. Okay?");
+ALIGNED(4) const u8 gText_OkayToDiscardNews[] = _("Is it okay to discard this\nNEWS item?");
+ALIGNED(4) const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven’t received the\nGIFT. Is it okay to discard?");
+ALIGNED(4) const u8 gText_DataWillBeSaved[] = _("Data will be saved.\nPlease wait.");
+ALIGNED(4) const u8 gText_SaveCompletedPressA[] = _("Save completed.\nPlease press the A Button.");
+ALIGNED(4) const u8 gText_WonderCardThrownAway[] = _("The WONDER CARD was thrown away.");
+ALIGNED(4) const u8 gText_WonderNewsThrownAway[] = _("The WONDER NEWS was thrown away.");
+ALIGNED(4) const u8 gText_MysteryGift[] = _("MYSTERY GIFT");
+ALIGNED(4) const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT");
+ALIGNED(4) const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL");
const u8 gText_PlayersBattleResults[] = _("{PLAYER}’s BATTLE RESULTS");
const u8 gText_TotalRecordWLD[] = _("TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}");
const u8 gText_WinLoseDraw[] = _("{CLEAR_TO 0x53}WIN{CLEAR_TO 0x80}LOSE{CLEAR_TO 0xB0}DRAW");
diff --git a/src/text.c b/src/text.c
index ec0d26ab1..07c15596e 100644
--- a/src/text.c
+++ b/src/text.c
@@ -9,12 +9,12 @@
#include "window.h"
#include "text.h"
#include "blit.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 u8* DynamicPlaceholderTextUtil_GetPlaceholderPtr(u8 a1);
-extern int sub_8197964();
+extern int GetPlayerTextSpeed();
EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};
EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0};
@@ -24,18 +24,13 @@ static u16 gLastTextBgColor;
static u16 gLastTextFgColor;
static u16 gLastTextShadowColor;
-extern struct MusicPlayerInfo gMPlayInfo_BGM;
-
const struct FontInfo *gFonts;
u8 gUnknown_03002F84;
-u8 gUnknown_03002F90[0x20];
-u8 gUnknown_03002FB0[0x20];
-u8 gUnknown_03002FD0[0x20];
-u8 gUnknown_03002FF0[0x20];
-u8 gGlyphDimensions[0x2];
+struct Struct_03002F90 gUnknown_03002F90;
TextFlags gTextFlags;
-const u8 gFontHalfRowOffsets[] = {
+const u8 gFontHalfRowOffsets[] =
+{
0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x03, 0x06, 0x07, 0x08, 0x06, 0x00, 0x01, 0x02, 0x00,
0x09, 0x0A, 0x0B, 0x09, 0x0C, 0x0D, 0x0E, 0x0C, 0x0F, 0x10, 0x11, 0x0F, 0x09, 0x0A, 0x0B, 0x09,
0x12, 0x13, 0x14, 0x12, 0x15, 0x16, 0x17, 0x15, 0x18, 0x19, 0x1A, 0x18, 0x12, 0x13, 0x14, 0x12,
@@ -61,7 +56,8 @@ const u8 gUnusedFRLGDownArrow[] = INCBIN_U8("data/graphics/fonts/unused_frlg_dow
const u8 gDownArrowYCoords[] = { 0x0, 0x1, 0x2, 0x1 };
const u8 gWindowVerticalScrollSpeeds[] = { 0x1, 0x2, 0x4, 0x0 };
-const struct GlyphWidthFunc gGlyphWidthFuncs[] = {
+const struct GlyphWidthFunc gGlyphWidthFuncs[] =
+{
{ 0x0, GetGlyphWidthFont0 },
{ 0x1, GetGlyphWidthFont1 },
{ 0x2, GetGlyphWidthFont2 },
@@ -73,7 +69,8 @@ const struct GlyphWidthFunc gGlyphWidthFuncs[] = {
{ 0x8, GetGlyphWidthFont8 }
};
-const struct KeypadIcon gKeypadIcons[] = {
+const struct KeypadIcon gKeypadIcons[] =
+{
{ 0x0, 0x8, 0xC },
{ 0x1, 0x8, 0xC },
{ 0x2, 0x10, 0xC },
@@ -91,7 +88,8 @@ const struct KeypadIcon gKeypadIcons[] = {
const u8 gKeypadIconTiles[] = INCBIN_U8("data/graphics/fonts/keypad_icons.4bpp");
-const struct FontInfo gFontInfos[] = {
+const struct FontInfo gFontInfos[] =
+{
{ Font0Func, 0x5, 0xC, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
{ Font1Func, 0x6, 0x10, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
{ Font2Func, 0x6, 0xE, 0x0, 0x0, 0x0, 0x2, 0x1, 0x3 },
@@ -104,7 +102,8 @@ const struct FontInfo gFontInfos[] = {
{ NULL, 0x8, 0x8, 0x0, 0x0, 0x0, 0x1, 0x2, 0xF }
};
-const u8 gMenuCursorDimensions[][2] = {
+const u8 gMenuCursorDimensions[][2] =
+{
{ 0x8, 0xC },
{ 0x8, 0xF },
{ 0x8, 0xE },
@@ -143,62 +142,63 @@ void DeactivateAllTextPrinters(void)
{
int printer;
for (printer = 0; printer < NUM_TEXT_PRINTERS; ++printer)
- gTextPrinters[printer].sub_union.sub.active = 0;
+ gTextPrinters[printer].active = 0;
}
-u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16))
+u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
{
- struct TextSubPrinter subPrinter;
-
- subPrinter.current_text_offset = str;
- subPrinter.windowId = windowId;
- subPrinter.fontId = fontId;
- subPrinter.x = x;
- subPrinter.y = y;
- subPrinter.currentX = x;
- subPrinter.currentY = y;
- subPrinter.letterSpacing = gFonts[fontId].letterSpacing;
- subPrinter.lineSpacing = gFonts[fontId].lineSpacing;
- subPrinter.fontColor_l = gFonts[fontId].fontColor_l;
- subPrinter.fgColor = gFonts[fontId].fgColor;
- subPrinter.bgColor = gFonts[fontId].bgColor;
- subPrinter.shadowColor = gFonts[fontId].shadowColor;
- return AddTextPrinter(&subPrinter, speed, callback);
+ struct TextPrinterTemplate printerTemplate;
+
+ printerTemplate.currentChar = str;
+ printerTemplate.windowId = windowId;
+ printerTemplate.fontId = fontId;
+ printerTemplate.x = x;
+ printerTemplate.y = y;
+ printerTemplate.currentX = x;
+ printerTemplate.currentY = y;
+ printerTemplate.letterSpacing = gFonts[fontId].letterSpacing;
+ printerTemplate.lineSpacing = gFonts[fontId].lineSpacing;
+ printerTemplate.unk = gFonts[fontId].unk;
+ printerTemplate.fgColor = gFonts[fontId].fgColor;
+ printerTemplate.bgColor = gFonts[fontId].bgColor;
+ printerTemplate.shadowColor = gFonts[fontId].shadowColor;
+ return AddTextPrinter(&printerTemplate, speed, callback);
}
-bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16))
+bool16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16))
{
int i;
u16 j;
+ u8 *ptr;
if (!gFonts)
return FALSE;
- gTempTextPrinter.sub_union.sub.active = 1;
+ gTempTextPrinter.active = 1;
gTempTextPrinter.state = 0;
- gTempTextPrinter.text_speed = speed;
+ gTempTextPrinter.textSpeed = speed;
gTempTextPrinter.delayCounter = 0;
gTempTextPrinter.scrollDistance = 0;
- for (i = 0; i < 7; ++i)
+ for (i = 0; i < 7; i++)
{
- gTempTextPrinter.sub_union.sub_fields[i] = 0;
+ gTempTextPrinter.subUnion.fields[i] = 0;
}
- gTempTextPrinter.subPrinter = *textSubPrinter;
+ gTempTextPrinter.printerTemplate = *printerTemplate;
gTempTextPrinter.callback = callback;
gTempTextPrinter.minLetterSpacing = 0;
gTempTextPrinter.japanese = 0;
- GenerateFontHalfRowLookupTable(textSubPrinter->fgColor, textSubPrinter->bgColor, textSubPrinter->shadowColor);
+ GenerateFontHalfRowLookupTable(printerTemplate->fgColor, printerTemplate->bgColor, printerTemplate->shadowColor);
if (speed != TEXT_SPEED_FF && speed != 0x0)
{
- --gTempTextPrinter.text_speed;
- gTextPrinters[textSubPrinter->windowId] = gTempTextPrinter;
+ --gTempTextPrinter.textSpeed;
+ gTextPrinters[printerTemplate->windowId] = gTempTextPrinter;
}
else
{
- gTempTextPrinter.text_speed = 0;
+ gTempTextPrinter.textSpeed = 0;
for (j = 0; j < 0x400; ++j)
{
if ((u32)RenderFont(&gTempTextPrinter) == 1)
@@ -206,8 +206,8 @@ bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*ca
}
if (speed != TEXT_SPEED_FF)
- CopyWindowToVram(gTempTextPrinter.subPrinter.windowId, 2);
- gTextPrinters[textSubPrinter->windowId].sub_union.sub.active = 0;
+ CopyWindowToVram(gTempTextPrinter.printerTemplate.windowId, 2);
+ gTextPrinters[printerTemplate->windowId].active = 0;
}
gUnknown_03002F84 = 0;
return TRUE;
@@ -216,25 +216,25 @@ bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*ca
void RunTextPrinters(void)
{
int i;
- u16 temp;
if (gUnknown_03002F84 == 0)
{
for (i = 0; i < 0x20; ++i)
{
- if (gTextPrinters[i].sub_union.sub.active != 0)
+ if (gTextPrinters[i].active)
{
- temp = RenderFont(&gTextPrinters[i]);
- switch (temp) {
- case 0:
- CopyWindowToVram(gTextPrinters[i].subPrinter.windowId, 2);
- case 3:
- if (gTextPrinters[i].callback != 0)
- gTextPrinters[i].callback(&gTextPrinters[i].subPrinter, temp);
- break;
- case 1:
- gTextPrinters[i].sub_union.sub.active = 0;
- break;
+ u16 temp = RenderFont(&gTextPrinters[i]);
+ switch (temp)
+ {
+ case 0:
+ CopyWindowToVram(gTextPrinters[i].printerTemplate.windowId, 2);
+ case 3:
+ if (gTextPrinters[i].callback != 0)
+ gTextPrinters[i].callback(&gTextPrinters[i].printerTemplate, temp);
+ break;
+ case 1:
+ gTextPrinters[i].active = 0;
+ break;
}
}
}
@@ -243,7 +243,7 @@ void RunTextPrinters(void)
bool16 IsTextPrinterActive(u8 id)
{
- return gTextPrinters[id].sub_union.sub.active;
+ return gTextPrinters[id].active;
}
u32 RenderFont(struct TextPrinter *textPrinter)
@@ -251,590 +251,162 @@ u32 RenderFont(struct TextPrinter *textPrinter)
u32 ret;
while (TRUE)
{
- ret = gFonts[textPrinter->subPrinter.fontId].fontFunction(textPrinter);
+ ret = gFonts[textPrinter->printerTemplate.fontId].fontFunction(textPrinter);
if (ret != 2)
return ret;
}
}
-#ifdef NONMATCHING
void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor)
{
- u16* current = gFontHalfRowLookupTable;
+ u32 fg12, bg12, shadow12;
+ u32 temp;
+
+ u16 *current = gFontHalfRowLookupTable;
gLastTextBgColor = bgColor;
gLastTextFgColor = fgColor;
gLastTextShadowColor = shadowColor;
- *(current++) = (bgColor << 12) | (bgColor << 8) | (bgColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (bgColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (bgColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (bgColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (bgColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (bgColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (bgColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (bgColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (bgColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (fgColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (fgColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (fgColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (fgColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (fgColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (fgColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (fgColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (fgColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (fgColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (shadowColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (shadowColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (shadowColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (shadowColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (shadowColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (shadowColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (shadowColor << 4) | bgColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (shadowColor << 4) | bgColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (shadowColor << 4) | bgColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (bgColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (bgColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (bgColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (bgColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (bgColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (bgColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (bgColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (bgColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (bgColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (fgColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (fgColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (fgColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (fgColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (fgColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (fgColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (fgColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (fgColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (fgColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (shadowColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (shadowColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (shadowColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (shadowColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (shadowColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (shadowColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (shadowColor << 4) | fgColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (shadowColor << 4) | fgColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (shadowColor << 4) | fgColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (bgColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (bgColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (bgColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (bgColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (bgColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (bgColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (bgColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (bgColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (bgColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (fgColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (fgColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (fgColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (fgColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (fgColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (fgColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (fgColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (fgColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (fgColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (bgColor << 8) | (shadowColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (bgColor << 8) | (shadowColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (bgColor << 8) | (shadowColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (fgColor << 8) | (shadowColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (fgColor << 8) | (shadowColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (fgColor << 8) | (shadowColor << 4) | shadowColor;
-
- *(current++) = (bgColor << 12) | (shadowColor << 8) | (shadowColor << 4) | shadowColor;
- *(current++) = (fgColor << 12) | (shadowColor << 8) | (shadowColor << 4) | shadowColor;
- *(current++) = (shadowColor << 12) | (shadowColor << 8) | (shadowColor << 4) | shadowColor;
-}
-#else
-NAKED
-void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor)
-{
- asm("push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, #0x24\n\
- lsl r0, #24\n\
- lsr r0, #24\n\
- lsl r1, #24\n\
- lsr r1, #24\n\
- lsl r2, #24\n\
- lsr r2, #24\n\
- ldr r3, =gFontHalfRowLookupTable\n\
- ldr r4, =gLastTextBgColor\n\
- strh r1, [r4]\n\
- ldr r4, =gLastTextFgColor\n\
- strh r0, [r4]\n\
- ldr r4, =gLastTextShadowColor\n\
- strh r2, [r4]\n\
- lsl r5, r1, #12\n\
- lsl r6, r0, #12\n\
- lsl r4, r2, #12\n\
- mov r8, r4\n\
- lsl r7, r1, #8\n\
- str r7, [sp]\n\
- lsl r4, r1, #4\n\
- mov r9, r4\n\
- orr r7, r4\n\
- str r7, [sp, #0x4]\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- lsl r7, r0, #8\n\
- mov r10, r7\n\
- mov r4, r10\n\
- mov r7, r9\n\
- orr r4, r7\n\
- str r4, [sp, #0x8]\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- lsl r7, r2, #8\n\
- mov r12, r7\n\
- mov r4, r12\n\
- mov r7, r9\n\
- orr r4, r7\n\
- str r4, [sp, #0xC]\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- lsl r7, r0, #4\n\
- mov r9, r7\n\
- ldr r4, [sp]\n\
- orr r4, r7\n\
- str r4, [sp, #0x10]\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- mov r7, r10\n\
- add r4, r7, #0\n\
- mov r7, r9\n\
- orr r4, r7\n\
- str r4, [sp, #0x14]\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- mov r7, r12\n\
- add r4, r7, #0\n\
- mov r7, r9\n\
- orr r4, r7\n\
- str r4, [sp, #0x18]\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- lsl r7, r2, #4\n\
- mov r9, r7\n\
- mov r4, r9\n\
- ldr r7, [sp]\n\
- orr r7, r4\n\
- str r7, [sp, #0x1C]\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- mov r7, r9\n\
- mov r4, r10\n\
- orr r4, r7\n\
- str r4, [sp, #0x20]\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r4, r5, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- add r4, r6, #0\n\
- orr r4, r7\n\
- strh r4, [r3]\n\
- add r3, #0x2\n\
- mov r4, r8\n\
- orr r7, r4\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- mov r4, r12\n\
- mov r7, r9\n\
- orr r4, r7\n\
- add r7, r4, #0\n\
- orr r7, r1\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x4]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x8]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0xC]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x10]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x14]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x18]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x1C]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- ldr r7, [sp, #0x20]\n\
- orr r7, r0\n\
- add r1, r5, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- add r1, r6, #0\n\
- orr r1, r7\n\
- strh r1, [r3]\n\
- add r3, #0x2\n\
- mov r1, r8\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r4, #0\n\
- orr r7, r0\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r0, [sp, #0x4]\n\
- orr r7, r0\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- orr r7, r1\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0x8]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0xC]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0x10]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0x14]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0x18]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0x1C]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- ldr r1, [sp, #0x20]\n\
- orr r7, r1\n\
- add r0, r5, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- add r0, r6, #0\n\
- orr r0, r7\n\
- strh r0, [r3]\n\
- add r3, #0x2\n\
- mov r0, r8\n\
- orr r7, r0\n\
- strh r7, [r3]\n\
- add r3, #0x2\n\
- add r7, r2, #0\n\
- orr r7, r4\n\
- orr r5, r7\n\
- strh r5, [r3]\n\
- add r3, #0x2\n\
- orr r6, r7\n\
- strh r6, [r3]\n\
- orr r0, r7\n\
- strh r0, [r3, #0x2]\n\
- add sp, #0x24\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");
+ bg12 = bgColor << 12;
+ fg12 = fgColor << 12;
+ shadow12 = shadowColor << 12;
+
+ temp = (bgColor << 8) | (bgColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (bgColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (bgColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (fgColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (fgColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (fgColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (shadowColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (shadowColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (shadowColor << 4) | bgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (bgColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (bgColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (bgColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (fgColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (fgColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (fgColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (shadowColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (shadowColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (shadowColor << 4) | fgColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (bgColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (bgColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (bgColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (fgColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (fgColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (fgColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (bgColor << 8) | (shadowColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (fgColor << 8) | (shadowColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
+
+ temp = (shadowColor << 8) | (shadowColor << 4) | shadowColor;
+ *(current++) = (bg12) | temp;
+ *(current++) = (fg12) | temp;
+ *(current++) = (shadow12) | temp;
}
-#endif
void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor)
{
@@ -848,207 +420,49 @@ void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor)
GenerateFontHalfRowLookupTable(*fgColor, *bgColor, *shadowColor);
}
-#ifdef NONMATCHING
-void DecompressGlyphTile(const u16 *src, u16 *dest)
+void DecompressGlyphTile(const void *src_, void *dest_)
{
u32 temp;
+ const u16 *src = src_;
+ u32 *dest = dest_;
- temp = src[0];
- *(dest++) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]];
- temp = src[1];
- src += 2;
- dest[1] = (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]];
- dest++;
temp = *(src++);
- *(dest++) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]];
+ *(dest)++ = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
temp = *(src++);
- *(dest++) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]];
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
temp = *(src++);
- *(dest++) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]];
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
temp = *(src++);
- *(dest++) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]];
- *(dest++) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[src[0] & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[src[0] >> 8]];
- *(dest) = (gFontHalfRowLookupTable[gFontHalfRowOffsets[src[1] & 0xFF]] << 16) | gFontHalfRowLookupTable[gFontHalfRowOffsets[src[1] >> 8]];
-}
-#else
-NAKED
-void DecompressGlyphTile(const u16 *src, u16 *dest)
-{
- asm("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- ldrh r7, [r0]\n\
- ldr r5, =gFontHalfRowLookupTable\n\
- ldr r4, =gFontHalfRowOffsets\n\
- mov r2, #0xFF\n\
- mov r8, r2\n\
- add r2, r7, #0\n\
- mov r3, r8\n\
- and r2, r3\n\
- add r2, r4\n\
- ldrb r2, [r2]\n\
- lsl r2, #1\n\
- add r2, r5\n\
- ldrh r3, [r2]\n\
- lsl r3, #16\n\
- lsr r2, r7, #8\n\
- add r2, r4\n\
- ldrb r2, [r2]\n\
- lsl r2, #1\n\
- add r2, r5\n\
- ldrh r2, [r2]\n\
- orr r3, r2\n\
- add r6, r1, #0\n\
- stmia r6!, {r3}\n\
- ldrh r7, [r0, #0x2]\n\
- add r0, #0x4\n\
- add r2, r7, #0\n\
- mov r3, r8\n\
- and r2, r3\n\
- add r2, r4\n\
- ldrb r2, [r2]\n\
- lsl r2, #1\n\
- add r2, r5\n\
- ldrh r3, [r2]\n\
- lsl r3, #16\n\
- lsr r2, r7, #8\n\
- add r2, r4\n\
- ldrb r2, [r2]\n\
- lsl r2, #1\n\
- add r2, r5\n\
- ldrh r2, [r2]\n\
- orr r3, r2\n\
- str r3, [r1, #0x4]\n\
- add r6, #0x4\n\
- ldrh r7, [r0]\n\
- add r0, #0x2\n\
- add r1, r7, #0\n\
- mov r2, r8\n\
- and r1, r2\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r2, [r1]\n\
- lsl r2, #16\n\
- lsr r1, r7, #8\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r1, [r1]\n\
- orr r2, r1\n\
- stmia r6!, {r2}\n\
- ldrh r7, [r0]\n\
- add r0, #0x2\n\
- add r1, r7, #0\n\
- mov r3, r8\n\
- and r1, r3\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r2, [r1]\n\
- lsl r2, #16\n\
- lsr r1, r7, #8\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r1, [r1]\n\
- orr r2, r1\n\
- stmia r6!, {r2}\n\
- ldrh r7, [r0]\n\
- add r0, #0x2\n\
- add r1, r7, #0\n\
- and r1, r3\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r2, [r1]\n\
- lsl r2, #16\n\
- lsr r1, r7, #8\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r1, [r1]\n\
- orr r2, r1\n\
- stmia r6!, {r2}\n\
- ldrh r7, [r0]\n\
- add r0, #0x2\n\
- add r1, r7, #0\n\
- and r1, r3\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r2, [r1]\n\
- lsl r2, #16\n\
- lsr r1, r7, #8\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r1, [r1]\n\
- orr r2, r1\n\
- stmia r6!, {r2}\n\
- ldrh r7, [r0]\n\
- add r1, r7, #0\n\
- and r1, r3\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r2, [r1]\n\
- lsl r2, #16\n\
- lsr r1, r7, #8\n\
- add r1, r4\n\
- ldrb r1, [r1]\n\
- lsl r1, #1\n\
- add r1, r5\n\
- ldrh r1, [r1]\n\
- orr r2, r1\n\
- stmia r6!, {r2}\n\
- ldrh r7, [r0, #0x2]\n\
- add r0, r7, #0\n\
- and r0, r3\n\
- add r0, r4\n\
- ldrb r0, [r0]\n\
- lsl r0, #1\n\
- add r0, r5\n\
- ldrh r1, [r0]\n\
- lsl r1, #16\n\
- lsr r0, r7, #8\n\
- add r0, r4\n\
- ldrb r0, [r0]\n\
- lsl r0, #1\n\
- add r0, r5\n\
- ldrh r0, [r0]\n\
- orr r1, r0\n\
- str r1, [r6]\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
+ temp = *(src++);
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
+ temp = *(src++);
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
+ temp = *(src++);
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
+
+ temp = *(src++);
+ *(dest++) = ((gFontHalfRowLookupTable[gFontHalfRowOffsets[temp & 0xFF]]) << 16) | (gFontHalfRowLookupTable[gFontHalfRowOffsets[temp >> 8]]);
}
-#endif
u8 GetLastTextColor(u8 colorType)
{
switch (colorType)
{
- case 0:
- return gLastTextFgColor;
- case 2:
- return gLastTextBgColor;
- case 1:
- return gLastTextShadowColor;
- default:
- return 0;
+ case 0:
+ return gLastTextFgColor;
+ case 2:
+ return gLastTextBgColor;
+ case 1:
+ return gLastTextShadowColor;
+ default:
+ return 0;
}
}
@@ -1249,7 +663,7 @@ _08004F06:\n\
bcc _08004EA8\n\
_08004F0E:\n\
ldr r1, [sp, #0x88]\n\
- ldr r3, =gUnknown_03002FD0\n\
+ ldr r3, =gUnknown_03002F90 + 0x40\n\
str r3, [sp, #0x20]\n\
ldr r0, [sp, #0x74]\n\
mov r8, r0\n\
@@ -1394,7 +808,7 @@ _08005014:\n\
bcc _08004FBA\n\
_0800501C:\n\
mov r1, r8\n\
- ldr r3, =gUnknown_03002FB0\n\
+ ldr r3, =gUnknown_03002F90 + 0x20\n\
str r3, [sp, #0x38]\n\
ldr r0, [sp, #0x84]\n\
ldr r2, [sp, #0x7C]\n\
@@ -1539,7 +953,7 @@ _08005124:\n\
bcc _080050CA\n\
_0800512C:\n\
mov r1, r8\n\
- ldr r3, =gUnknown_03002FB0\n\
+ ldr r3, =gUnknown_03002F90 + 0x20\n\
str r3, [sp, #0x50]\n\
ldr r0, [sp, #0x84]\n\
ldr r2, [sp, #0x7C]\n\
@@ -1608,7 +1022,7 @@ _080051A4:\n\
bcc _08005146\n\
_080051AC:\n\
ldr r1, [sp, #0x88]\n\
- ldr r3, =gUnknown_03002FD0\n\
+ ldr r3, =gUnknown_03002F90 + 0x40\n\
str r3, [sp, #0x5C]\n\
ldr r0, [sp, #0x84]\n\
mov r8, r0\n\
@@ -1677,7 +1091,7 @@ _08005222:\n\
_0800522A:\n\
ldr r4, [sp, #0x84]\n\
ldr r1, [sp, #0x88]\n\
- ldr r3, =gUnknown_03002FF0\n\
+ ldr r3, =gUnknown_03002F90 + 0x60\n\
str r3, [sp, #0x68]\n\
ldr r0, [sp, #0x7C]\n\
add r0, r4\n\
@@ -1759,23 +1173,23 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
{
struct Window *window;
struct Bitmap pixels_data;
- u8* gUnk;
+ struct Struct_03002F90 *gUnk;
u8* glyphHeight;
if (gLastTextBgColor != 0)
{
- window = &gWindows[textPrinter->subPrinter.windowId];
+ window = &gWindows[textPrinter->printerTemplate.windowId];
pixels_data.pixels = window->tileData;
pixels_data.width = window->window.width << 3;
pixels_data.height = window->window.height << 3;
- gUnk = gUnknown_03002F90;
- glyphHeight = &gUnk[0x81];
+ gUnk = &gUnknown_03002F90;
+ glyphHeight = &gUnk->unk81;
FillBitmapRect4Bit(
&pixels_data,
- textPrinter->subPrinter.currentX,
- textPrinter->subPrinter.currentY,
+ textPrinter->printerTemplate.currentX,
+ textPrinter->printerTemplate.currentY,
width,
*glyphHeight,
gLastTextBgColor);
@@ -1784,135 +1198,135 @@ void ClearTextSpan(struct TextPrinter *textPrinter, u32 width)
u16 Font0Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 0;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 0;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font1Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 1;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 1;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font2Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 2;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 2;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font3Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 3;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 3;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font4Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 4;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 4;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font5Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 5;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 5;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font7Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 7;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 7;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
u16 Font8Func(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->field_1_top == 0)
+ if (subStruct->hasGlyphIdBeenSet == FALSE)
{
- textPrinter->sub_union.sub.font_type = 8;
- subStruct->field_1_top = 1;
+ textPrinter->subUnion.sub.glyphId = 8;
+ subStruct->hasGlyphIdBeenSet = TRUE;
}
return RenderText(textPrinter);
}
void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (gTextFlags.flag_2 == 1)
- subStruct->frames_visible_counter = 0;
+ if (gTextFlags.autoScroll == 1)
+ subStruct->autoScrollDelay = 0;
else
{
- subStruct->field_1_upmid = 0;
- subStruct->field_1 = 0;
+ subStruct->downArrowYPosIdx = 0;
+ subStruct->downArrowDelay = 0;
}
}
void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
const u8 *arrowTiles;
- if (gTextFlags.flag_2 == 0)
+ if (gTextFlags.autoScroll == 0)
{
- if (subStruct->field_1 != 0)
+ if (subStruct->downArrowDelay != 0)
{
- subStruct->field_1 = ((*(u32*)&textPrinter->sub_union.sub) << 19 >> 27) - 1; // convoluted way of getting field_1, necessary to match
+ subStruct->downArrowDelay = ((*(u32*)&textPrinter->subUnion.sub) << 19 >> 27) - 1; // convoluted way of getting downArrowDelay, necessary to match
}
else
{
FillWindowPixelRect(
- textPrinter->subPrinter.windowId,
- textPrinter->subPrinter.bgColor << 4 | textPrinter->subPrinter.bgColor,
- textPrinter->subPrinter.currentX,
- textPrinter->subPrinter.currentY,
+ textPrinter->printerTemplate.windowId,
+ textPrinter->printerTemplate.bgColor << 4 | textPrinter->printerTemplate.bgColor,
+ textPrinter->printerTemplate.currentX,
+ textPrinter->printerTemplate.currentY,
0x8,
0x10);
- switch (gTextFlags.flag_1)
+ switch (gTextFlags.useAlternateDownArrow)
{
case 0:
default:
@@ -1924,20 +1338,20 @@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter)
}
BlitBitmapRectToWindow(
- textPrinter->subPrinter.windowId,
+ textPrinter->printerTemplate.windowId,
arrowTiles,
0,
- gDownArrowYCoords[*(u32*)subStruct << 17 >> 30], // subStruct->field_1_upmid but again, stupidly retrieved
+ gDownArrowYCoords[*(u32*)subStruct << 17 >> 30], // subStruct->downArrowYPosIdx but again, stupidly retrieved
0x8,
0x10,
- textPrinter->subPrinter.currentX,
- textPrinter->subPrinter.currentY,
+ textPrinter->printerTemplate.currentX,
+ textPrinter->printerTemplate.currentY,
0x8,
0x10);
- CopyWindowToVram(textPrinter->subPrinter.windowId, 0x2);
+ CopyWindowToVram(textPrinter->printerTemplate.windowId, 0x2);
- subStruct->field_1 = 0x8;
- subStruct->field_1_upmid = (*(u32*)subStruct << 17 >> 30) + 1;
+ subStruct->downArrowDelay = 0x8;
+ subStruct->downArrowYPosIdx = (*(u32*)subStruct << 17 >> 30) + 1;
}
}
}
@@ -1945,26 +1359,26 @@ void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter)
void TextPrinterClearDownArrow(struct TextPrinter *textPrinter)
{
FillWindowPixelRect(
- textPrinter->subPrinter.windowId,
- textPrinter->subPrinter.bgColor << 4 | textPrinter->subPrinter.bgColor,
- textPrinter->subPrinter.currentX,
- textPrinter->subPrinter.currentY,
+ textPrinter->printerTemplate.windowId,
+ textPrinter->printerTemplate.bgColor << 4 | textPrinter->printerTemplate.bgColor,
+ textPrinter->printerTemplate.currentX,
+ textPrinter->printerTemplate.currentY,
0x8,
0x10);
- CopyWindowToVram(textPrinter->subPrinter.windowId, 0x2);
+ CopyWindowToVram(textPrinter->printerTemplate.windowId, 0x2);
}
bool8 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *subStruct = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
- if (subStruct->frames_visible_counter == 49)
+ if (subStruct->autoScrollDelay == 49)
{
return TRUE;
}
else
{
- ++subStruct->frames_visible_counter;
+ ++subStruct->autoScrollDelay;
return FALSE;
}
}
@@ -1972,7 +1386,7 @@ bool8 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter)
bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter)
{
bool8 result = FALSE;
- if (gTextFlags.flag_2 != 0)
+ if (gTextFlags.autoScroll != 0)
{
result = TextPrinterWaitAutoMode(textPrinter);
}
@@ -1991,7 +1405,7 @@ bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter)
bool16 TextPrinterWait(struct TextPrinter *textPrinter)
{
bool16 result = FALSE;
- if (gTextFlags.flag_2 != 0)
+ if (gTextFlags.autoScroll != 0)
{
result = TextPrinterWaitAutoMode(textPrinter);
}
@@ -2019,7 +1433,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c
FillWindowPixelRect(windowId, (bgColor << 4) | bgColor, x, y, 0x8, 0x10);
if (drawArrow == 0)
{
- switch (gTextFlags.flag_1)
+ switch (gTextFlags.useAlternateDownArrow)
{
case 0:
default:
@@ -2047,290 +1461,289 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c
}
}
}
-#ifdef NONMATCHING
+
u16 RenderText(struct TextPrinter *textPrinter)
{
- struct TextPrinterSubStruct *r4 = &textPrinter->sub_union.sub;
+ struct TextPrinterSubStruct *subStruct = &textPrinter->subUnion.sub;
u16 currChar;
s32 width;
+ s32 widthHelper;
- switch (textPrinter->state) // _080057C4
+ switch (textPrinter->state)
{
- case 0: // _080057F0
- if ((gMain.heldKeys & (A_BUTTON | B_BUTTON)) && r4->font_type_upper)
+ case 0:
+ if ((gMain.heldKeys & (A_BUTTON | B_BUTTON)) && subStruct->hasPrintBeenSpedUp)
textPrinter->delayCounter = 0;
- if (textPrinter->delayCounter && textPrinter->text_speed) //_0800580A
+ if (textPrinter->delayCounter && textPrinter->textSpeed)
{
textPrinter->delayCounter--;
- if (gTextFlags.flag_0 && (gMain.newKeys & (A_BUTTON | B_BUTTON)))
+ if (gTextFlags.canABSpeedUpPrint && (gMain.newKeys & (A_BUTTON | B_BUTTON)))
{
- r4->font_type_upper = 1;
+ subStruct->hasPrintBeenSpedUp = TRUE;
textPrinter->delayCounter = 0;
}
return 3;
}
- if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED) && gTextFlags.flag_2)
+ if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED) && gTextFlags.autoScroll)
textPrinter->delayCounter = 3;
else
- textPrinter->delayCounter = textPrinter->text_speed;
+ textPrinter->delayCounter = textPrinter->textSpeed;
- currChar = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
+ currChar = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
- switch (currChar) //_0800588A
+ switch (currChar)
{
- case 0xF8+6: //_080058B8
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
- textPrinter->subPrinter.currentY += (gFonts[textPrinter->subPrinter.fontId].maxLetterHeight + textPrinter->subPrinter.lineSpacing);
+ case CHAR_NEWLINE:
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentY += (gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing);
return 2;
- case 0xF8+5: //_080058DC
- textPrinter->subPrinter.current_text_offset++;
+ case PLACEHOLDER_BEGIN:
+ textPrinter->printerTemplate.currentChar++;
return 2;
- case 0xF8+4: //_080058E0
- currChar = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- switch (currChar) // _080058F0
+ case EXT_CTRL_CODE_BEGIN:
+ currChar = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ switch (currChar)
{
- case 1: // _08005960
- textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ case 1:
+ textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 2: // _08005982
- textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ case 2:
+ textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 3: // _080059A6
- textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ case 3:
+ textPrinter->printerTemplate.shadowColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 4: // _080059C0
- textPrinter->subPrinter.fontColor_h = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fontColor_h, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ case 4:
+ textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ textPrinter->printerTemplate.shadowColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
- case 5: // _08005A0E
- textPrinter->subPrinter.current_text_offset++;
+ case 5:
+ textPrinter->printerTemplate.currentChar++;
return 2;
- case 6: //_08005A12
- r4->font_type = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
+ case 6:
+ subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
return 2;
- case 7: // _08005A0A
+ case EXT_CTRL_CODE_UNKNOWN_7:
return 2;
- case 8: // _08005A2A
- textPrinter->delayCounter = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
+ case 8:
+ textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
textPrinter->state = 6;
return 2;
- case 9: // _08005A3A
+ case 9:
textPrinter->state = 1;
- if (gTextFlags.flag_2)
- r4->frames_visible_counter = 0;
+ if (gTextFlags.autoScroll)
+ subStruct->autoScrollDelay = 0;
return 3;
- case 10: // _08005A58
+ case 10:
textPrinter->state = 5;
return 3;
- case 11: // _08005A5C
- currChar = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- currChar |= *textPrinter->subPrinter.current_text_offset << 8;
- textPrinter->subPrinter.current_text_offset++;
+ case 11:
+ currChar = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ currChar |= *textPrinter->printerTemplate.currentChar << 8;
+ textPrinter->printerTemplate.currentChar++;
PlayBGM(currChar);
return 2;
- case 16: // _08005A76
- currChar = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- currChar |= (*textPrinter->subPrinter.current_text_offset << 8);
- textPrinter->subPrinter.current_text_offset++;
+ case 12:
+ currChar = *textPrinter->printerTemplate.currentChar | 0x100;
+ textPrinter->printerTemplate.currentChar++;
+ break;
+ case 16:
+ currChar = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
+ currChar |= (*textPrinter->printerTemplate.currentChar << 8);
+ textPrinter->printerTemplate.currentChar++;
PlaySE(currChar);
return 2;
- case 13: // _08005A90
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x + *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
+ case 13:
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
return 2;
- case 14: // _08005A98
- textPrinter->subPrinter.currentY = textPrinter->subPrinter.y + *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
+ case 14:
+ textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y + *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
return 2;
- case 15: // _08005AA4
- FillWindowPixelBuffer(textPrinter->subPrinter.windowId, textPrinter->subPrinter.bgColor | textPrinter->subPrinter.bgColor << 4);
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
- textPrinter->subPrinter.currentY = textPrinter->subPrinter.y;
+ case 15:
+ FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, textPrinter->printerTemplate.bgColor | textPrinter->printerTemplate.bgColor << 4);
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y;
return 2;
- case 23: // _08005ABE
+ case 23:
m4aMPlayStop(&gMPlayInfo_BGM);
return 2;
- case 24: // _08005ACC
+ case 24:
m4aMPlayContinue(&gMPlayInfo_BGM);
return 2;
- case 17: // _08005AD8
- width = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
+ case EXT_CTRL_CODE_CLEAR:
+ width = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
if (width > 0)
{
ClearTextSpan(textPrinter, width);
- textPrinter->subPrinter.currentX += width;
+ textPrinter->printerTemplate.currentX += width;
return 0;
}
return 2;
- case 18: // _08005AF2
- textPrinter->subPrinter.currentX = *textPrinter->subPrinter.current_text_offset + textPrinter->subPrinter.x;
- textPrinter->subPrinter.current_text_offset++;
+ case 18:
+ textPrinter->printerTemplate.currentX = *textPrinter->printerTemplate.currentChar + textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentChar++;
return 2;
- case 19: // _08005B02
+ case 19:
{
- s32 widthHelper = *textPrinter->subPrinter.current_text_offset;
- widthHelper += textPrinter->subPrinter.x;
- textPrinter->subPrinter.current_text_offset++;
- width = widthHelper - textPrinter->subPrinter.currentX;
+ widthHelper = *textPrinter->printerTemplate.currentChar;
+ widthHelper += textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentChar++;
+ width = widthHelper - textPrinter->printerTemplate.currentX;
if (width > 0)
{
ClearTextSpan(textPrinter, width);
- textPrinter->subPrinter.currentX += width;
+ textPrinter->printerTemplate.currentX += width;
return 0;
}
}
return 2;
- case 20: // _08005B26
- textPrinter->minLetterSpacing = *textPrinter->subPrinter.current_text_offset++;
+ case 20:
+ textPrinter->minLetterSpacing = *textPrinter->printerTemplate.currentChar++;
return 2;
- case 21: // _08005B36
+ case EXT_CTRL_CODE_JPN:
textPrinter->japanese = 1;
return 2;
- case 22: // _08005B3E
+ case EXT_CTRL_CODE_ENG:
textPrinter->japanese = 0;
return 2;
- case 12: // _08005B5A
- currChar = *textPrinter->subPrinter.current_text_offset | 0x100;
- textPrinter->subPrinter.current_text_offset++;
- break;
}
break;
-
- case 0xF8+3: // _08005B48
+ case CHAR_PROMPT_CLEAR:
textPrinter->state = 2;
TextPrinterInitDownArrowCounters(textPrinter);
return 3;
- case 0xF8+2: // _08005B4C
+ case CHAR_PROMPT_SCROLL:
textPrinter->state = 3;
TextPrinterInitDownArrowCounters(textPrinter);
return 3;
- case 0xF8+1: // _08005B5A
- currChar = *textPrinter->subPrinter.current_text_offset | 0x100;
- textPrinter->subPrinter.current_text_offset++;
+ case CHAR_SPECIAL_F9:
+ currChar = *textPrinter->printerTemplate.currentChar | 0x100;
+ textPrinter->printerTemplate.currentChar++;
break;
- case 0xF8+0: // _08005B6C
- currChar = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset++;
- gUnknown_03002F90[0x80] = DrawKeypadIcon(textPrinter->subPrinter.windowId, currChar, textPrinter->subPrinter.currentX, textPrinter->subPrinter.currentY);
- textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80] + textPrinter->subPrinter.letterSpacing;
+ case CHAR_SPECIAL_F8:
+ currChar = *textPrinter->printerTemplate.currentChar++;
+ gUnknown_03002F90.unk80 = DrawKeypadIcon(textPrinter->printerTemplate.windowId, currChar, textPrinter->printerTemplate.currentX, textPrinter->printerTemplate.currentY);
+ textPrinter->printerTemplate.currentX += gUnknown_03002F90.unk80 + textPrinter->printerTemplate.letterSpacing;
return 0;
- case 0xF8+7: // _08005D6C
+ case EOS:
return 1;
}
- switch (r4->font_type) // _08005B90
+ switch (subStruct->glyphId)
{
- case 0: // _08005BCC
+ case 0:
DecompressGlyphFont0(currChar, textPrinter->japanese);
break;
- case 1: // _08005BDA
+ case 1:
DecompressGlyphFont1(currChar, textPrinter->japanese);
break;
case 2:
case 3:
case 4:
- case 5: // _08005BE8
+ case 5:
DecompressGlyphFont2(currChar, textPrinter->japanese);
break;
- case 7: // _08005BF6
+ case 7:
DecompressGlyphFont7(currChar, textPrinter->japanese);
break;
- case 8: // _08005C04
+ case 8:
DecompressGlyphFont8(currChar, textPrinter->japanese);
break;
- case 6: // _08005C10
+ case 6:
break;
}
- CopyGlyphToWindow(textPrinter); // _08005C10
+ CopyGlyphToWindow(textPrinter);
if (textPrinter->minLetterSpacing)
{
- textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80];
- width = textPrinter->minLetterSpacing - gUnknown_03002F90[0x80];
+ textPrinter->printerTemplate.currentX += gUnknown_03002F90.unk80;
+ width = textPrinter->minLetterSpacing - gUnknown_03002F90.unk80;
if (width > 0)
{
ClearTextSpan(textPrinter, width);
- textPrinter->subPrinter.currentX += width;
+ textPrinter->printerTemplate.currentX += width;
}
}
- else // _08005C48
+ else
{
if (textPrinter->japanese)
- textPrinter->subPrinter.currentX += (gUnknown_03002F90[0x80] + textPrinter->subPrinter.letterSpacing);
+ textPrinter->printerTemplate.currentX += (gUnknown_03002F90.unk80 + textPrinter->printerTemplate.letterSpacing);
else
- textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80];
+ textPrinter->printerTemplate.currentX += gUnknown_03002F90.unk80;
}
return 0;
- case 1: // _08005C78
+ case 1:
if (TextPrinterWait(textPrinter))
textPrinter->state = 0;
return 3;
- case 2: // _08005C8C
+ case 2:
if (TextPrinterWaitWithDownArrow(textPrinter))
{
- FillWindowPixelBuffer(textPrinter->subPrinter.windowId, (textPrinter->subPrinter.bgColor << 4) | textPrinter->subPrinter.bgColor);
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
- textPrinter->subPrinter.currentY = textPrinter->subPrinter.y;
+ FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, (textPrinter->printerTemplate.bgColor << 4) | textPrinter->printerTemplate.bgColor);
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y;
textPrinter->state = 0;
}
return 3;
- case 3: // _08005CB8
+ case 3:
if (TextPrinterWaitWithDownArrow(textPrinter))
{
TextPrinterClearDownArrow(textPrinter);
- textPrinter->scrollDistance = gFonts[textPrinter->subPrinter.fontId].maxLetterHeight + textPrinter->subPrinter.lineSpacing;
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
+ textPrinter->scrollDistance = gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
textPrinter->state = 4;
}
return 3;
- case 4: // _08005CF0
+ case 4:
if (textPrinter->scrollDistance)
{
- int scrollSpeed = sub_8197964();
+ int scrollSpeed = GetPlayerTextSpeed();
int speed = gWindowVerticalScrollSpeeds[scrollSpeed];
if (textPrinter->scrollDistance < speed)
{
- ScrollWindow(textPrinter->subPrinter.windowId, 0, textPrinter->scrollDistance, textPrinter->subPrinter.bgColor << 4 | textPrinter->subPrinter.bgColor);
+ ScrollWindow(textPrinter->printerTemplate.windowId, 0, textPrinter->scrollDistance, textPrinter->printerTemplate.bgColor << 4 | textPrinter->printerTemplate.bgColor);
textPrinter->scrollDistance = 0;
}
else
{
- ScrollWindow(textPrinter->subPrinter.windowId, 0, speed, textPrinter->subPrinter.bgColor << 4 | textPrinter->subPrinter.bgColor);
+ ScrollWindow(textPrinter->printerTemplate.windowId, 0, speed, textPrinter->printerTemplate.bgColor << 4 | textPrinter->printerTemplate.bgColor);
textPrinter->scrollDistance -= speed;
}
- CopyWindowToVram(textPrinter->subPrinter.windowId, 2);
+ CopyWindowToVram(textPrinter->printerTemplate.windowId, 2);
}
else
{
textPrinter->state = 0;
}
return 3;
- case 5: // _08005D48
+ case 5:
if (!IsSEPlaying())
textPrinter->state = 0;
return 3;
- case 6: // _08005D5A
+ case 6:
if (textPrinter->delayCounter != 0)
textPrinter->delayCounter--;
else
@@ -2340,734 +1753,6 @@ u16 RenderText(struct TextPrinter *textPrinter)
return 1;
}
-#else
-NAKED
-u16 RenderText(struct TextPrinter *textPrinter)
-{
- asm("push {r4-r6,lr}\n\
- add r6, r0, #0\n\
- add r4, r6, #0\n\
- add r4, #0x14\n\
- ldrb r0, [r6, #0x1C]\n\
- cmp r0, #0x6\n\
- bls _080057C4\n\
- b _08005D6C\n\
-_080057C4:\n\
- lsl r0, #2\n\
- ldr r1, =_080057D4\n\
- add r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
-_080057D4:\n\
- .4byte _080057F0\n\
- .4byte _08005C78\n\
- .4byte _08005C8C\n\
- .4byte _08005CB8\n\
- .4byte _08005CF0\n\
- .4byte _08005D48\n\
- .4byte _08005D5A\n\
-_080057F0:\n\
- ldr r2, =gMain\n\
- ldrh r1, [r2, #0x2C]\n\
- mov r0, #0x3\n\
- and r0, r1\n\
- cmp r0, #0\n\
- beq _0800580A\n\
- ldrb r1, [r4]\n\
- mov r0, #0x10\n\
- and r0, r1\n\
- cmp r0, #0\n\
- beq _0800580A\n\
- mov r0, #0\n\
- strb r0, [r6, #0x1E]\n\
-_0800580A:\n\
- ldrb r1, [r6, #0x1E]\n\
- cmp r1, #0\n\
- beq _0800584C\n\
- ldrb r0, [r6, #0x1D]\n\
- cmp r0, #0\n\
- beq _0800584C\n\
- sub r0, r1, #0x1\n\
- strb r0, [r6, #0x1E]\n\
- ldr r0, =gTextFlags\n\
- ldrb r1, [r0]\n\
- mov r0, #0x1\n\
- and r0, r1\n\
- cmp r0, #0\n\
- bne _08005828\n\
- b _08005B56\n\
-_08005828:\n\
- ldrh r1, [r2, #0x2E]\n\
- mov r0, #0x3\n\
- and r0, r1\n\
- cmp r0, #0\n\
- bne _08005834\n\
- b _08005B56\n\
-_08005834:\n\
- ldrb r0, [r4]\n\
- mov r1, #0x10\n\
- orr r0, r1\n\
- strb r0, [r4]\n\
- mov r0, #0\n\
- strb r0, [r6, #0x1E]\n\
- b _08005B56\n\
- .pool\n\
-_0800584C:\n\
- ldr r0, =gBattleTypeFlags\n\
- ldr r0, [r0]\n\
- mov r1, #0x80\n\
- lsl r1, #17\n\
- and r0, r1\n\
- cmp r0, #0\n\
- bne _08005874\n\
- ldr r0, =gTextFlags\n\
- ldrb r1, [r0]\n\
- mov r0, #0x4\n\
- and r0, r1\n\
- cmp r0, #0\n\
- beq _08005874\n\
- mov r0, #0x3\n\
- b _08005876\n\
- .pool\n\
-_08005874:\n\
- ldrb r0, [r6, #0x1D]\n\
-_08005876:\n\
- strb r0, [r6, #0x1E]\n\
- ldr r0, [r6]\n\
- ldrb r3, [r0]\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- add r0, r3, #0\n\
- sub r0, #0xF8\n\
- cmp r0, #0x7\n\
- bls _0800588A\n\
- b _08005B90\n\
-_0800588A:\n\
- lsl r0, #2\n\
- ldr r1, =_08005898\n\
- add r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
-_08005898:\n\
- .4byte _08005B6C\n\
- .4byte _08005B5A\n\
- .4byte _08005B4C\n\
- .4byte _08005B48\n\
- .4byte _080058E0\n\
- .4byte _080058DC\n\
- .4byte _080058B8\n\
- .4byte _08005D6C\n\
-_080058B8:\n\
- ldrb r0, [r6, #0x6]\n\
- strb r0, [r6, #0x8]\n\
- ldrb r1, [r6, #0x5]\n\
- ldr r0, =gFonts\n\
- ldr r2, [r0]\n\
- lsl r0, r1, #1\n\
- add r0, r1\n\
- lsl r0, #2\n\
- add r0, r2\n\
- ldrb r1, [r6, #0xB]\n\
- ldrb r0, [r0, #0x5]\n\
- add r1, r0\n\
- ldrb r0, [r6, #0x9]\n\
- add r0, r1\n\
- b _08005ABA\n\
- .pool\n\
-_080058DC:\n\
- ldr r0, [r6]\n\
- b _08005B30\n\
-_080058E0:\n\
- ldr r0, [r6]\n\
- ldrb r3, [r0]\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- sub r0, r3, #0x1\n\
- cmp r0, #0x17\n\
- bls _080058F0\n\
- b _08005B90\n\
-_080058F0:\n\
- lsl r0, #2\n\
- ldr r1, =_08005900\n\
- add r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
-_08005900:\n\
- .4byte _08005960 @0\n\
- .4byte _08005982 @1\n\
- .4byte _080059A6 @2\n\
- .4byte _080059C0 @3\n\
- .4byte _08005A0E @4\n\
- .4byte _08005A12 @5\n\
- .4byte _08005A0A @6\n\
- .4byte _08005A2A @7\n\
- .4byte _08005A3A @8\n\
- .4byte _08005A58 @9\n\
- .4byte _08005A5C @10\n\
- .4byte _08005B5A @11\n\
- .4byte _08005A90 @12\n\
- .4byte _08005A98 @13\n\
- .4byte _08005AA4 @14\n\
- .4byte _08005A76 @15\n\
- .4byte _08005AD8 @16\n\
- .4byte _08005AF2 @17\n\
- .4byte _08005B02 @18\n\
- .4byte _08005B26 @19\n\
- .4byte _08005B36 @20\n\
- .4byte _08005B3E @21\n\
- .4byte _08005ABE @22\n\
- .4byte _08005ACC @23\n\
-_08005960:\n\
- ldr r2, [r6]\n\
- ldrb r1, [r2]\n\
- lsl r1, #4\n\
- ldrb r3, [r6, #0xC]\n\
- mov r0, #0xF\n\
- and r0, r3\n\
- orr r0, r1\n\
- strb r0, [r6, #0xC]\n\
- add r2, #0x1\n\
- str r2, [r6]\n\
- lsl r0, #24\n\
- lsr r0, #28\n\
- ldrb r2, [r6, #0xD]\n\
- lsl r1, r2, #28\n\
- lsr r1, #28\n\
- lsr r2, #4\n\
- b _08005A06\n\
-_08005982:\n\
- ldr r1, [r6]\n\
- ldrb r2, [r1]\n\
- mov r0, #0xF\n\
- and r0, r2\n\
- ldrb r3, [r6, #0xD]\n\
- mov r2, #0x10\n\
- neg r2, r2\n\
- and r2, r3\n\
- orr r2, r0\n\
- strb r2, [r6, #0xD]\n\
- add r1, #0x1\n\
- str r1, [r6]\n\
- ldrb r0, [r6, #0xC]\n\
- lsr r0, #4\n\
- lsl r1, r2, #28\n\
- lsr r1, #28\n\
- lsr r2, #4\n\
- b _08005A06\n\
-_080059A6:\n\
- ldr r1, [r6]\n\
- ldrb r0, [r1]\n\
- lsl r0, #4\n\
- ldrb r3, [r6, #0xD]\n\
- mov r2, #0xF\n\
- and r2, r3\n\
- orr r2, r0\n\
- strb r2, [r6, #0xD]\n\
- add r1, #0x1\n\
- str r1, [r6]\n\
- ldrb r0, [r6, #0xC]\n\
- lsr r0, #4\n\
- b _080059FE\n\
-_080059C0:\n\
- ldr r3, [r6]\n\
- ldrb r1, [r3]\n\
- lsl r1, #4\n\
- ldrb r4, [r6, #0xC]\n\
- mov r2, #0xF\n\
- add r0, r2, #0\n\
- and r0, r4\n\
- orr r0, r1\n\
- strb r0, [r6, #0xC]\n\
- add r5, r3, #0x1\n\
- str r5, [r6]\n\
- ldrb r3, [r3, #0x1]\n\
- add r1, r2, #0\n\
- and r1, r3\n\
- ldrb r4, [r6, #0xD]\n\
- mov r3, #0x10\n\
- neg r3, r3\n\
- and r3, r4\n\
- orr r3, r1\n\
- strb r3, [r6, #0xD]\n\
- add r4, r5, #0x1\n\
- str r4, [r6]\n\
- ldrb r1, [r5, #0x1]\n\
- lsl r1, #4\n\
- and r2, r3\n\
- orr r2, r1\n\
- strb r2, [r6, #0xD]\n\
- add r4, #0x1\n\
- str r4, [r6]\n\
- lsl r0, #24\n\
- lsr r0, #28\n\
-_080059FE:\n\
- lsl r1, r2, #28\n\
- lsr r1, #28\n\
- lsl r2, #24\n\
- lsr r2, #28\n\
-_08005A06:\n\
- bl GenerateFontHalfRowLookupTable\n\
-_08005A0A:\n\
- mov r0, #0x2\n\
- b _08005D6E\n\
-_08005A0E:\n\
- ldr r0, [r6]\n\
- b _08005B30\n\
-_08005A12:\n\
- ldr r0, [r6]\n\
- ldrb r0, [r0]\n\
- mov r1, #0xF\n\
- and r1, r0\n\
- ldrb r2, [r4]\n\
- mov r0, #0x10\n\
- neg r0, r0\n\
- and r0, r2\n\
- orr r0, r1\n\
- strb r0, [r4]\n\
- ldr r0, [r6]\n\
- b _08005B30\n\
-_08005A2A:\n\
- ldr r0, [r6]\n\
- ldrb r1, [r0]\n\
- strb r1, [r6, #0x1E]\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- mov r0, #0x6\n\
- strb r0, [r6, #0x1C]\n\
- b _08005A0A\n\
-_08005A3A:\n\
- mov r0, #0x1\n\
- strb r0, [r6, #0x1C]\n\
- ldr r0, =gTextFlags\n\
- ldrb r1, [r0]\n\
- mov r0, #0x4\n\
- and r0, r1\n\
- cmp r0, #0\n\
- bne _08005A4C\n\
- b _08005B56\n\
-_08005A4C:\n\
- mov r0, #0\n\
- strb r0, [r4, #0x2]\n\
- b _08005B56\n\
- .pool\n\
-_08005A58:\n\
- mov r0, #0x5\n\
- b _08005D56\n\
-_08005A5C:\n\
- ldr r0, [r6]\n\
- ldrb r3, [r0]\n\
- add r1, r0, #0x1\n\
- str r1, [r6]\n\
- ldrb r0, [r0, #0x1]\n\
- lsl r0, #8\n\
- orr r3, r0\n\
- add r1, #0x1\n\
- str r1, [r6]\n\
- add r0, r3, #0\n\
- bl PlayBGM\n\
- b _08005A0A\n\
-_08005A76:\n\
- ldr r0, [r6]\n\
- ldrb r3, [r0]\n\
- add r1, r0, #0x1\n\
- str r1, [r6]\n\
- ldrb r0, [r0, #0x1]\n\
- lsl r0, #8\n\
- orr r3, r0\n\
- add r1, #0x1\n\
- str r1, [r6]\n\
- add r0, r3, #0\n\
- bl PlaySE\n\
- b _08005A0A\n\
-_08005A90:\n\
- ldr r1, [r6]\n\
- ldrb r0, [r1]\n\
- ldrb r3, [r6, #0x6]\n\
- b _08005AF8\n\
-_08005A98:\n\
- ldr r1, [r6]\n\
- ldrb r0, [r1]\n\
- ldrb r2, [r6, #0x7]\n\
- add r0, r2\n\
- strb r0, [r6, #0x9]\n\
- b _08005AFC\n\
-_08005AA4:\n\
- ldrb r0, [r6, #0x4]\n\
- ldrb r2, [r6, #0xD]\n\
- lsl r2, #28\n\
- lsr r1, r2, #4\n\
- orr r1, r2\n\
- lsr r1, #24\n\
- bl FillWindowPixelBuffer\n\
- ldrb r0, [r6, #0x6]\n\
- strb r0, [r6, #0x8]\n\
- ldrb r0, [r6, #0x7]\n\
-_08005ABA:\n\
- strb r0, [r6, #0x9]\n\
- b _08005A0A\n\
-_08005ABE:\n\
- ldr r0, =gMPlayInfo_BGM\n\
- bl m4aMPlayStop\n\
- b _08005A0A\n\
- .pool\n\
-_08005ACC:\n\
- ldr r0, =gMPlayInfo_BGM\n\
- bl m4aMPlayContinue\n\
- b _08005A0A\n\
- .pool\n\
-_08005AD8:\n\
- ldr r0, [r6]\n\
- ldrb r4, [r0]\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- cmp r4, #0\n\
- ble _08005A0A\n\
- add r0, r6, #0\n\
- add r1, r4, #0\n\
- bl ClearTextSpan\n\
- ldrb r0, [r6, #0x8]\n\
- add r0, r4\n\
- b _08005C6E\n\
-_08005AF2:\n\
- ldr r1, [r6]\n\
- ldrb r0, [r6, #0x6]\n\
- ldrb r3, [r1]\n\
-_08005AF8:\n\
- add r0, r3\n\
- strb r0, [r6, #0x8]\n\
-_08005AFC:\n\
- add r1, #0x1\n\
- str r1, [r6]\n\
- b _08005A0A\n\
-_08005B02:\n\
- ldr r0, [r6]\n\
- ldrb r2, [r0]\n\
- ldrb r1, [r6, #0x6]\n\
- add r2, r1\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- ldrb r0, [r6, #0x8]\n\
- sub r4, r2, r0\n\
- cmp r4, #0\n\
- bgt _08005B18\n\
- b _08005A0A\n\
-_08005B18:\n\
- add r0, r6, #0\n\
- add r1, r4, #0\n\
- bl ClearTextSpan\n\
- ldrb r0, [r6, #0x8]\n\
- add r0, r4\n\
- b _08005C6E\n\
-_08005B26:\n\
- ldr r0, [r6]\n\
- ldrb r2, [r0]\n\
- add r1, r6, #0\n\
- add r1, #0x20\n\
- strb r2, [r1]\n\
-_08005B30:\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- b _08005A0A\n\
-_08005B36:\n\
- add r1, r6, #0\n\
- add r1, #0x21\n\
- mov r0, #0x1\n\
- b _08005B44\n\
-_08005B3E:\n\
- add r1, r6, #0\n\
- add r1, #0x21\n\
- mov r0, #0\n\
-_08005B44:\n\
- strb r0, [r1]\n\
- b _08005A0A\n\
-_08005B48:\n\
- mov r0, #0x2\n\
- b _08005B4E\n\
-_08005B4C:\n\
- mov r0, #0x3\n\
-_08005B4E:\n\
- strb r0, [r6, #0x1C]\n\
- add r0, r6, #0\n\
- bl TextPrinterInitDownArrowCounters\n\
-_08005B56:\n\
- mov r0, #0x3\n\
- b _08005D6E\n\
-_08005B5A:\n\
- ldr r0, [r6]\n\
- ldrb r3, [r0]\n\
- mov r2, #0x80\n\
- lsl r2, #1\n\
- add r1, r2, #0\n\
- orr r3, r1\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- b _08005B90\n\
-_08005B6C:\n\
- ldr r0, [r6]\n\
- ldrb r3, [r0]\n\
- add r0, #0x1\n\
- str r0, [r6]\n\
- ldrb r0, [r6, #0x4]\n\
- add r1, r3, #0\n\
- ldrb r2, [r6, #0x8]\n\
- ldrb r3, [r6, #0x9]\n\
- bl DrawKeypadIcon\n\
- ldr r1, =gUnknown_03002F90\n\
- add r1, #0x80\n\
- strb r0, [r1]\n\
- ldrb r3, [r6, #0xA]\n\
- add r0, r3\n\
- b _08005C6A\n\
- .pool\n\
-_08005B90:\n\
- ldr r0, [r4]\n\
- lsl r0, #28\n\
- lsr r0, #28\n\
- cmp r0, #0x8\n\
- bhi _08005C10\n\
- lsl r0, #2\n\
- ldr r1, =_08005BA8\n\
- add r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
-_08005BA8:\n\
- .4byte _08005BCC\n\
- .4byte _08005BDA\n\
- .4byte _08005BE8\n\
- .4byte _08005BE8\n\
- .4byte _08005BE8\n\
- .4byte _08005BE8\n\
- .4byte _08005C10\n\
- .4byte _08005BF6\n\
- .4byte _08005C04\n\
-_08005BCC:\n\
- add r0, r6, #0\n\
- add r0, #0x21\n\
- ldrb r1, [r0]\n\
- add r0, r3, #0\n\
- bl DecompressGlyphFont0\n\
- b _08005C10\n\
-_08005BDA:\n\
- add r0, r6, #0\n\
- add r0, #0x21\n\
- ldrb r1, [r0]\n\
- add r0, r3, #0\n\
- bl DecompressGlyphFont1\n\
- b _08005C10\n\
-_08005BE8:\n\
- add r0, r6, #0\n\
- add r0, #0x21\n\
- ldrb r1, [r0]\n\
- add r0, r3, #0\n\
- bl DecompressGlyphFont2\n\
- b _08005C10\n\
-_08005BF6:\n\
- add r0, r6, #0\n\
- add r0, #0x21\n\
- ldrb r1, [r0]\n\
- add r0, r3, #0\n\
- bl DecompressGlyphFont7\n\
- b _08005C10\n\
-_08005C04:\n\
- add r0, r6, #0\n\
- add r0, #0x21\n\
- ldrb r1, [r0]\n\
- add r0, r3, #0\n\
- bl DecompressGlyphFont8\n\
-_08005C10:\n\
- add r0, r6, #0\n\
- bl CopyGlyphToWindow\n\
- add r2, r6, #0\n\
- add r2, #0x20\n\
- ldrb r0, [r2]\n\
- cmp r0, #0\n\
- beq _08005C48\n\
- ldr r1, =gUnknown_03002F90\n\
- add r1, #0x80\n\
- ldrb r0, [r1]\n\
- ldrb r3, [r6, #0x8]\n\
- add r0, r3\n\
- strb r0, [r6, #0x8]\n\
- ldrb r2, [r2]\n\
- ldrb r0, [r1]\n\
- sub r4, r2, r0\n\
- cmp r4, #0\n\
- ble _08005C70\n\
- add r0, r6, #0\n\
- add r1, r4, #0\n\
- bl ClearTextSpan\n\
- ldrb r0, [r6, #0x8]\n\
- add r0, r4\n\
- b _08005C6E\n\
- .pool\n\
-_08005C48:\n\
- add r0, r6, #0\n\
- add r0, #0x21\n\
- ldrb r0, [r0]\n\
- cmp r0, #0\n\
- beq _08005C64\n\
- ldr r0, =gUnknown_03002F90\n\
- add r0, #0x80\n\
- ldrb r1, [r6, #0xA]\n\
- ldrb r0, [r0]\n\
- add r1, r0\n\
- ldrb r0, [r6, #0x8]\n\
- b _08005C6C\n\
- .pool\n\
-_08005C64:\n\
- ldr r0, =gUnknown_03002F90\n\
- add r0, #0x80\n\
- ldrb r0, [r0]\n\
-_08005C6A:\n\
- ldrb r1, [r6, #0x8]\n\
-_08005C6C:\n\
- add r0, r1\n\
-_08005C6E:\n\
- strb r0, [r6, #0x8]\n\
-_08005C70:\n\
- mov r0, #0\n\
- b _08005D6E\n\
- .pool\n\
-_08005C78:\n\
- add r0, r6, #0\n\
- bl TextPrinterWait\n\
- lsl r0, #16\n\
- cmp r0, #0\n\
- bne _08005C86\n\
- b _08005B56\n\
-_08005C86:\n\
- mov r0, #0\n\
- strb r0, [r6, #0x1C]\n\
- b _08005B56\n\
-_08005C8C:\n\
- add r0, r6, #0\n\
- bl TextPrinterWaitWithDownArrow\n\
- lsl r0, #16\n\
- cmp r0, #0\n\
- bne _08005C9A\n\
- b _08005B56\n\
-_08005C9A:\n\
- ldrb r0, [r6, #0x4]\n\
- ldrb r2, [r6, #0xD]\n\
- lsl r2, #28\n\
- lsr r1, r2, #4\n\
- orr r1, r2\n\
- lsr r1, #24\n\
- bl FillWindowPixelBuffer\n\
- ldrb r0, [r6, #0x6]\n\
- mov r1, #0\n\
- strb r0, [r6, #0x8]\n\
- ldrb r0, [r6, #0x7]\n\
- strb r0, [r6, #0x9]\n\
- strb r1, [r6, #0x1C]\n\
- b _08005B56\n\
-_08005CB8:\n\
- add r0, r6, #0\n\
- bl TextPrinterWaitWithDownArrow\n\
- lsl r0, #16\n\
- cmp r0, #0\n\
- bne _08005CC6\n\
- b _08005B56\n\
-_08005CC6:\n\
- add r0, r6, #0\n\
- bl TextPrinterClearDownArrow\n\
- ldrb r1, [r6, #0x5]\n\
- ldr r0, =gFonts\n\
- ldr r2, [r0]\n\
- lsl r0, r1, #1\n\
- add r0, r1\n\
- lsl r0, #2\n\
- add r0, r2\n\
- ldrb r1, [r6, #0xB]\n\
- ldrb r0, [r0, #0x5]\n\
- add r1, r0\n\
- strb r1, [r6, #0x1F]\n\
- ldrb r0, [r6, #0x6]\n\
- strb r0, [r6, #0x8]\n\
- mov r0, #0x4\n\
- strb r0, [r6, #0x1C]\n\
- b _08005B56\n\
- .pool\n\
-_08005CF0:\n\
- ldrb r0, [r6, #0x1F]\n\
- cmp r0, #0\n\
- beq _08005D44\n\
- bl sub_8197964\n\
- ldr r1, =gWindowVerticalScrollSpeeds\n\
- add r0, r1\n\
- ldrb r4, [r0]\n\
- ldrb r2, [r6, #0x1F]\n\
- cmp r2, r4\n\
- bge _08005D20\n\
- ldrb r0, [r6, #0x4]\n\
- ldrb r1, [r6, #0xD]\n\
- lsl r1, #28\n\
- lsr r3, r1, #4\n\
- orr r3, r1\n\
- lsr r3, #24\n\
- mov r1, #0\n\
- bl ScrollWindow\n\
- mov r0, #0\n\
- b _08005D38\n\
- .pool\n\
-_08005D20:\n\
- ldrb r0, [r6, #0x4]\n\
- ldrb r1, [r6, #0xD]\n\
- lsl r1, #28\n\
- lsr r3, r1, #4\n\
- orr r3, r1\n\
- lsr r3, #24\n\
- mov r1, #0\n\
- add r2, r4, #0\n\
- bl ScrollWindow\n\
- ldrb r0, [r6, #0x1F]\n\
- sub r0, r4\n\
-_08005D38:\n\
- strb r0, [r6, #0x1F]\n\
- ldrb r0, [r6, #0x4]\n\
- mov r1, #0x2\n\
- bl CopyWindowToVram\n\
- b _08005B56\n\
-_08005D44:\n\
- strb r0, [r6, #0x1C]\n\
- b _08005B56\n\
-_08005D48:\n\
- bl IsSEPlaying\n\
- lsl r0, #24\n\
- lsr r0, #24\n\
- cmp r0, #0\n\
- beq _08005D56\n\
- b _08005B56\n\
-_08005D56:\n\
- strb r0, [r6, #0x1C]\n\
- b _08005B56\n\
-_08005D5A:\n\
- ldrb r0, [r6, #0x1E]\n\
- add r1, r0, #0\n\
- cmp r1, #0\n\
- beq _08005D68\n\
- sub r0, #0x1\n\
- strb r0, [r6, #0x1E]\n\
- b _08005B56\n\
-_08005D68:\n\
- strb r1, [r6, #0x1C]\n\
- b _08005B56\n\
-_08005D6C:\n\
- mov r0, #0x1\n\
-_08005D6E:\n\
- pop {r4-r6}\n\
- pop {r1}\n\
- bx r1\n");
-}
-#endif
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
{
@@ -3095,59 +1780,59 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
temp = strLocal[strPos++];
switch (temp)
{
- case CHAR_NEWLINE:
- case EOS:
- lineWidths[line] = width;
- width = 0;
- line++;
- break;
- case EXT_CTRL_CODE_BEGIN:
- temp2 = strLocal[strPos++];
- switch (temp2)
- {
- case 0x4:
- ++strPos;
- case 0xB:
- case 0x10:
- ++strPos;
- case 0x1:
- case 0x2:
- case 0x3:
- case 0x5:
- case 0x6:
- case 0x8:
- case 0xC:
- case 0xD:
- case 0xE:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- ++strPos;
- break;
- case 0x7:
- case 0x9:
- case 0xA:
- case 0xF:
- case 0x15:
- case 0x16:
- default:
- break;
- }
- break;
- case CHAR_SPECIAL_F7:
- case PLACEHOLDER_BEGIN:
+ case CHAR_NEWLINE:
+ case EOS:
+ lineWidths[line] = width;
+ width = 0;
+ line++;
+ break;
+ case EXT_CTRL_CODE_BEGIN:
+ temp2 = strLocal[strPos++];
+ switch (temp2)
+ {
+ case 0x4:
++strPos;
- break;
- case CHAR_PROMPT_SCROLL:
- case CHAR_PROMPT_CLEAR:
- break;
- case CHAR_SPECIAL_F8:
- case CHAR_SPECIAL_F9:
+ case 0xB:
+ case 0x10:
++strPos;
+ case 0x1:
+ case 0x2:
+ case 0x3:
+ case 0x5:
+ case 0x6:
+ case 0x8:
+ case 0xC:
+ case 0xD:
+ case 0xE:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ ++strPos;
+ break;
+ case EXT_CTRL_CODE_UNKNOWN_7:
+ case 0x9:
+ case 0xA:
+ case 0xF:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
default:
- ++width;
break;
+ }
+ break;
+ case CHAR_SPECIAL_F7:
+ case PLACEHOLDER_BEGIN:
+ ++strPos;
+ break;
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
+ break;
+ case CHAR_SPECIAL_F8:
+ case CHAR_SPECIAL_F9:
+ ++strPos;
+ default:
+ ++width;
+ break;
}
} while (temp != EOS);
@@ -3166,11 +1851,11 @@ u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32)
for (i = 0; i < 9; ++i)
{
- if (glyphId == gGlyphWidthFuncs[i].font_id)
+ if (glyphId == gGlyphWidthFuncs[i].fontId)
return gGlyphWidthFuncs[i].func;
}
- return 0;
+ return NULL;
}
u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
@@ -3181,7 +1866,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
s32 result;
int localLetterSpacing;
u32 lineWidth;
- u8 *bufferPointer;
+ const u8 *bufferPointer;
int glyphWidth;
u32 width;
@@ -3205,107 +1890,32 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
{
switch (*str)
{
- case CHAR_NEWLINE:
- if (lineWidth > width)
- width = lineWidth;
- lineWidth = 0;
- break;
- case PLACEHOLDER_BEGIN:
- switch (*++str)
- {
- case 0x2:
- bufferPointer = gStringVar1;
- break;
- case 0x3:
- bufferPointer = gStringVar2;
- break;
- case 0x4:
- bufferPointer = gStringVar3;
- break;
- default:
- return 0;
- }
- case CHAR_SPECIAL_F7:
- if (bufferPointer == NULL)
- bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
- while (*bufferPointer != EOS)
- {
- glyphWidth = func(*bufferPointer++, isJapanese);
- if (minGlyphWidth > 0)
- {
- if (glyphWidth < minGlyphWidth)
- glyphWidth = minGlyphWidth;
- lineWidth += glyphWidth;
- }
- else
- {
- lineWidth += glyphWidth;
- if (isJapanese && str[1] != EOS)
- lineWidth += localLetterSpacing;
- }
- }
- bufferPointer = 0;
- break;
- case EXT_CTRL_CODE_BEGIN:
- switch (*++str)
- {
- case 0x4:
- ++str;
- case 0xB:
- case 0x10:
- ++str;
- case 0x1:
- case 0x2:
- case 0x3:
- case 0x5:
- case 0x8:
- case 0xC:
- case 0xD:
- case 0xE:
- ++str;
- break;
- case 0x6:
- func = GetFontWidthFunc(*++str);
- if (func == NULL)
- return 0;
- if (letterSpacing == -1)
- localLetterSpacing = GetFontAttribute(*str, FONTATTR_LETTER_SPACING);
- break;
- case 0x11:
- glyphWidth = *++str;
- lineWidth += glyphWidth;
- break;
- case 0x12:
- lineWidth = *++str;
- break;
- case 0x13:
- if (*++str > lineWidth)
- lineWidth = *str;
- break;
- case 0x14:
- minGlyphWidth = *++str;
- break;
- case 0x15:
- isJapanese = 1;
- break;
- case 0x16:
- isJapanese = 0;
- break;
- case 0x7:
- case 0x9:
- case 0xA:
- case 0xF:
- default:
- break;
- }
- break;
- case CHAR_SPECIAL_F8:
- case CHAR_SPECIAL_F9:
- if (*str == CHAR_SPECIAL_F9)
- glyphWidth = func(*++str | 0x100, isJapanese);
- else
- glyphWidth = GetKeypadIconWidth(*++str);
-
+ case CHAR_NEWLINE:
+ if (lineWidth > width)
+ width = lineWidth;
+ lineWidth = 0;
+ break;
+ case PLACEHOLDER_BEGIN:
+ switch (*++str)
+ {
+ case 0x2:
+ bufferPointer = gStringVar1;
+ break;
+ case 0x3:
+ bufferPointer = gStringVar2;
+ break;
+ case 0x4:
+ bufferPointer = gStringVar3;
+ break;
+ default:
+ return 0;
+ }
+ case CHAR_SPECIAL_F7:
+ if (bufferPointer == NULL)
+ bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
+ while (*bufferPointer != EOS)
+ {
+ glyphWidth = func(*bufferPointer++, isJapanese);
if (minGlyphWidth > 0)
{
if (glyphWidth < minGlyphWidth)
@@ -3318,25 +1928,100 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
if (isJapanese && str[1] != EOS)
lineWidth += localLetterSpacing;
}
+ }
+ bufferPointer = 0;
+ break;
+ case EXT_CTRL_CODE_BEGIN:
+ switch (*++str)
+ {
+ case 0x4:
+ ++str;
+ case 0xB:
+ case 0x10:
+ ++str;
+ case 0x1:
+ case 0x2:
+ case 0x3:
+ case 0x5:
+ case 0x8:
+ case 0xC:
+ case 0xD:
+ case 0xE:
+ ++str;
+ break;
+ case 0x6:
+ func = GetFontWidthFunc(*++str);
+ if (func == NULL)
+ return 0;
+ if (letterSpacing == -1)
+ localLetterSpacing = GetFontAttribute(*str, FONTATTR_LETTER_SPACING);
+ break;
+ case 0x11:
+ glyphWidth = *++str;
+ lineWidth += glyphWidth;
+ break;
+ case 0x12:
+ lineWidth = *++str;
+ break;
+ case 0x13:
+ if (*++str > lineWidth)
+ lineWidth = *str;
break;
- case CHAR_PROMPT_SCROLL:
- case CHAR_PROMPT_CLEAR:
+ case 0x14:
+ minGlyphWidth = *++str;
break;
+ case EXT_CTRL_CODE_JPN:
+ isJapanese = 1;
+ break;
+ case EXT_CTRL_CODE_ENG:
+ isJapanese = 0;
+ break;
+ case EXT_CTRL_CODE_UNKNOWN_7:
+ case 0x9:
+ case 0xA:
+ case 0xF:
default:
- glyphWidth = func(*str, isJapanese);
- if (minGlyphWidth > 0)
- {
- if (glyphWidth < minGlyphWidth)
- glyphWidth = minGlyphWidth;
- lineWidth += glyphWidth;
- }
- else
- {
- lineWidth += glyphWidth;
- if (isJapanese && str[1] != EOS)
- lineWidth += localLetterSpacing;
- }
break;
+ }
+ break;
+ case CHAR_SPECIAL_F8:
+ case CHAR_SPECIAL_F9:
+ if (*str == CHAR_SPECIAL_F9)
+ glyphWidth = func(*++str | 0x100, isJapanese);
+ else
+ glyphWidth = GetKeypadIconWidth(*++str);
+
+ if (minGlyphWidth > 0)
+ {
+ if (glyphWidth < minGlyphWidth)
+ glyphWidth = minGlyphWidth;
+ lineWidth += glyphWidth;
+ }
+ else
+ {
+ lineWidth += glyphWidth;
+ if (isJapanese && str[1] != EOS)
+ lineWidth += localLetterSpacing;
+ }
+ break;
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
+ break;
+ default:
+ glyphWidth = func(*str, isJapanese);
+ if (minGlyphWidth > 0)
+ {
+ if (glyphWidth < minGlyphWidth)
+ glyphWidth = minGlyphWidth;
+ lineWidth += glyphWidth;
+ }
+ else
+ {
+ lineWidth += glyphWidth;
+ if (isJapanese && str[1] != EOS)
+ lineWidth += localLetterSpacing;
+ }
+ break;
}
++str;
}
@@ -3372,82 +2057,81 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
temp = strLocal[strPos++];
switch (temp)
{
- case EXT_CTRL_CODE_BEGIN:
- temp2 = strLocal[strPos++];
- switch (temp2)
- {
- case 0x4:
- fgColor = strLocal[strPos++];
- bgColor = strLocal[strPos++];
- shadowColor = strLocal[strPos++];
- GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
- continue;
- case 0x1:
- fgColor = strLocal[strPos++];
- GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
- continue;
- case 0x2:
- bgColor = strLocal[strPos++];
- GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
- continue;
- case 0x3:
- shadowColor = strLocal[strPos++];
- GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
- continue;
- case 0x6:
- fontId = strLocal[strPos++];
- break;
- case 0xB:
- case 0x10:
- ++strPos;
- case 0x5:
- case 0x8:
- case 0xC:
- case 0xD:
- case 0xE:
- case 0x11:
- case 0x12:
- case 0x13:
- case 0x14:
- ++strPos;
- break;
- case 0x7:
- case 0x9:
- case 0xA:
- case 0xF:
- case 0x15:
- case 0x16:
- default:
- continue;
- }
+ case EXT_CTRL_CODE_BEGIN:
+ temp2 = strLocal[strPos++];
+ switch (temp2)
+ {
+ case 0x4:
+ fgColor = strLocal[strPos++];
+ bgColor = strLocal[strPos++];
+ shadowColor = strLocal[strPos++];
+ GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
+ continue;
+ case 0x1:
+ fgColor = strLocal[strPos++];
+ GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
+ continue;
+ case 0x2:
+ bgColor = strLocal[strPos++];
+ GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
+ continue;
+ case 0x3:
+ shadowColor = strLocal[strPos++];
+ GenerateFontHalfRowLookupTable(fgColor, bgColor, shadowColor);
+ continue;
+ case 0x6:
+ fontId = strLocal[strPos++];
break;
- case CHAR_SPECIAL_F7:
- case CHAR_SPECIAL_F8:
- case CHAR_SPECIAL_F9:
- case PLACEHOLDER_BEGIN:
+ case 0xB:
+ case 0x10:
+ ++strPos;
+ case 0x5:
+ case 0x8:
+ case 0xC:
+ case 0xD:
+ case 0xE:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
++strPos;
break;
- case CHAR_PROMPT_SCROLL:
- case CHAR_PROMPT_CLEAR:
- case CHAR_NEWLINE:
- case EOS:
+ case EXT_CTRL_CODE_UNKNOWN_7:
+ case 0x9:
+ case 0xA:
+ case 0xF:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
+ default:
+ continue;
+ }
+ break;
+ case CHAR_SPECIAL_F7:
+ case CHAR_SPECIAL_F8:
+ case CHAR_SPECIAL_F9:
+ case PLACEHOLDER_BEGIN:
+ ++strPos;
+ break;
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
+ case CHAR_NEWLINE:
+ case EOS:
+ break;
+ default:
+ switch (fontId)
+ {
+ case 9:
+ DecompressGlyphFont9(temp);
break;
+ case 1:
default:
- switch (fontId)
- {
- case 9:
- DecompressGlyphFont9(temp);
- break;
- case 1:
- default:
- DecompressGlyphFont1(temp, 1);
- break;
- }
-
- CpuCopy32(gUnknown_03002F90, pixels, 0x20);
- CpuCopy32(gUnknown_03002F90 + 0x40, pixels + 0x20, 0x20);
- pixels += 0x40;
+ DecompressGlyphFont1(temp, 1);
break;
+ }
+ CpuCopy32(gUnknown_03002F90.unk0, pixels, 0x20);
+ CpuCopy32(gUnknown_03002F90.unk40, pixels + 0x20, 0x20);
+ pixels += 0x40;
+ break;
}
}
while (temp != EOS);
@@ -3460,7 +2144,7 @@ u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y)
{
BlitBitmapRectToWindow(
windowId,
- gKeypadIconTiles + (gKeypadIcons[keypadIconId].tile_offset * 0x20),
+ gKeypadIconTiles + (gKeypadIcons[keypadIconId].tileOffset * 0x20),
0,
0,
0x80,
@@ -3474,7 +2158,7 @@ u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y)
u8 GetKeypadIconTileOffset(u8 keypadIconId)
{
- return gKeypadIcons[keypadIconId].tile_offset;
+ return gKeypadIcons[keypadIconId].tileOffset;
}
u8 GetKeypadIconWidth(u8 keypadIconId)
@@ -3509,8 +2193,8 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId)
case FONTATTR_LINE_SPACING:
result = gFontInfos[fontId].lineSpacing;
break;
- case FONTATTR_COLOR_LOWNIBBLE:
- result = gFontInfos[fontId].fontColor_l;
+ case FONTATTR_UNKNOWN:
+ result = gFontInfos[fontId].unk;
break;
case FONTATTR_COLOR_FOREGROUND:
result = gFontInfos[fontId].fgColor;
@@ -3537,30 +2221,30 @@ void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese)
if (isJapanese == 1)
{
glyphs = gFont0JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & 0xF));
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); // gUnknown_03002FD0
- gUnknown_03002F90[0x80] = 8; // gGlyphWidth
- gUnknown_03002F90[0x81] = 12; // gGlyphHeight
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x80, gUnknown_03002F90.unk40); // gUnknown_03002F90 + 0x40
+ gUnknown_03002F90.unk80 = 8; // gGlyphWidth
+ gUnknown_03002F90.unk81 = 12; // gGlyphHeight
}
else
{
glyphs = gFont0LatinGlyphs + (0x20 * glyphId);
- gUnknown_03002F90[0x80] = gFont0LatinGlyphWidths[glyphId];
+ gUnknown_03002F90.unk80 = gFont0LatinGlyphWidths[glyphId];
- if (gUnknown_03002F90[0x80] <= 8)
+ if (gUnknown_03002F90.unk80 <= 8)
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
}
else
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
- DecompressGlyphTile(glyphs + 0x18, (u16 *)(gUnknown_03002F90 + 0x60));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, gUnknown_03002F90.unk20);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
+ DecompressGlyphTile(glyphs + 0x18, gUnknown_03002F90.unk60);
}
- gUnknown_03002F90[0x81] = 13;
+ gUnknown_03002F90.unk81 = 13;
}
}
@@ -3580,30 +2264,30 @@ void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese)
{
int eff;
glyphs = gFont1JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & (eff = 0xF))); // shh, no questions, only matching now
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); // gUnknown_03002FD0
- gUnknown_03002F90[0x80] = 8; // gGlyphWidth
- gUnknown_03002F90[0x81] = 15; // gGlyphHeight
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x80, gUnknown_03002F90.unk40); // gUnknown_03002F90 + 0x40
+ gUnknown_03002F90.unk80 = 8; // gGlyphWidth
+ gUnknown_03002F90.unk81 = 15; // gGlyphHeight
}
else
{
glyphs = gFont7LatinGlyphs + (0x20 * glyphId);
- gUnknown_03002F90[0x80] = gFont7LatinGlyphWidths[glyphId];
+ gUnknown_03002F90.unk80 = gFont7LatinGlyphWidths[glyphId];
- if (gUnknown_03002F90[0x80] <= 8)
+ if (gUnknown_03002F90.unk80 <= 8)
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
}
else
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
- DecompressGlyphTile(glyphs + 0x18, (u16 *)(gUnknown_03002F90 + 0x60));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, gUnknown_03002F90.unk20);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
+ DecompressGlyphTile(glyphs + 0x18, gUnknown_03002F90.unk60);
}
- gUnknown_03002F90[0x81] = 15;
+ gUnknown_03002F90.unk81 = 15;
}
}
@@ -3622,30 +2306,30 @@ void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese)
if (isJapanese == TRUE)
{
glyphs = gFont0JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & 0xF));
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); // gUnknown_03002FD0
- gUnknown_03002F90[0x80] = 8; // gGlyphWidth
- gUnknown_03002F90[0x81] = 12; // gGlyphHeight
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x80, gUnknown_03002F90.unk40); // gUnknown_03002F90 + 0x40
+ gUnknown_03002F90.unk80 = 8; // gGlyphWidth
+ gUnknown_03002F90.unk81 = 12; // gGlyphHeight
}
else
{
glyphs = gFont8LatinGlyphs + (0x20 * glyphId);
- gUnknown_03002F90[0x80] = gFont8LatinGlyphWidths[glyphId];
+ gUnknown_03002F90.unk80 = gFont8LatinGlyphWidths[glyphId];
- if (gUnknown_03002F90[0x80] <= 8)
+ if (gUnknown_03002F90.unk80 <= 8)
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
}
else
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
- DecompressGlyphTile(glyphs + 0x18, (u16 *)(gUnknown_03002F90 + 0x60));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, gUnknown_03002F90.unk20);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
+ DecompressGlyphTile(glyphs + 0x18, gUnknown_03002F90.unk60);
}
- gUnknown_03002F90[0x81] = 12;
+ gUnknown_03002F90.unk81 = 12;
}
}
@@ -3664,32 +2348,32 @@ void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese)
if (isJapanese == TRUE)
{
glyphs = gFont2JapaneseGlyphs + (0x100 * (glyphId >> 0x3)) + (0x10 * (glyphId & 0x7));
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20)); // gUnknown_03002FD0
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); // gUnknown_03002FB0
- DecompressGlyphTile(glyphs + 0x88, (u16 *)(gUnknown_03002F90 + 0x60)); // gUnknown_03002FF0
- gUnknown_03002F90[0x80] = gFont2JapaneseGlyphWidths[glyphId]; // gGlyphWidth
- gUnknown_03002F90[0x81] = 14; // gGlyphHeight
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, gUnknown_03002F90.unk20); // gUnknown_03002F90 + 0x40
+ DecompressGlyphTile(glyphs + 0x80, gUnknown_03002F90.unk40); // gUnknown_03002F90 + 0x20
+ DecompressGlyphTile(glyphs + 0x88, gUnknown_03002F90.unk60); // gUnknown_03002F90 + 0x60
+ gUnknown_03002F90.unk80 = gFont2JapaneseGlyphWidths[glyphId]; // gGlyphWidth
+ gUnknown_03002F90.unk81 = 14; // gGlyphHeight
}
else
{
glyphs = gFont2LatinGlyphs + (0x20 * glyphId);
- gUnknown_03002F90[0x80] = gFont2LatinGlyphWidths[glyphId];
+ gUnknown_03002F90.unk80 = gFont2LatinGlyphWidths[glyphId];
- if (gUnknown_03002F90[0x80] <= 8)
+ if (gUnknown_03002F90.unk80 <= 8)
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
}
else
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
- DecompressGlyphTile(glyphs + 0x18, (u16 *)(gUnknown_03002F90 + 0x60));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, gUnknown_03002F90.unk20);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
+ DecompressGlyphTile(glyphs + 0x18, gUnknown_03002F90.unk60);
}
- gUnknown_03002F90[0x81] = 14;
+ gUnknown_03002F90.unk81 = 14;
}
}
@@ -3709,30 +2393,30 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese)
{
int eff;
glyphs = gFont1JapaneseGlyphs + (0x100 * (glyphId >> 0x4)) + (0x8 * (glyphId & (eff = 0xF))); // shh, no questions, only matching now
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); // gUnknown_03002FD0
- gUnknown_03002F90[0x80] = 8; // gGlyphWidth
- gUnknown_03002F90[0x81] = 15; // gGlyphHeight
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x80, gUnknown_03002F90.unk40); // gUnknown_03002F90 + 0x40
+ gUnknown_03002F90.unk80 = 8; // gGlyphWidth
+ gUnknown_03002F90.unk81 = 15; // gGlyphHeight
}
else
{
glyphs = gFont1LatinGlyphs + (0x20 * glyphId);
- gUnknown_03002F90[0x80] = gFont1LatinGlyphWidths[glyphId];
+ gUnknown_03002F90.unk80 = gFont1LatinGlyphWidths[glyphId];
- if (gUnknown_03002F90[0x80] <= 8)
+ if (gUnknown_03002F90.unk80 <= 8)
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
}
else
{
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
- DecompressGlyphTile(glyphs + 0x10, (u16 *)(gUnknown_03002F90 + 0x40));
- DecompressGlyphTile(glyphs + 0x18, (u16 *)(gUnknown_03002F90 + 0x60));
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, gUnknown_03002F90.unk20);
+ DecompressGlyphTile(glyphs + 0x10, gUnknown_03002F90.unk40);
+ DecompressGlyphTile(glyphs + 0x18, gUnknown_03002F90.unk60);
}
- gUnknown_03002F90[0x81] = 15;
+ gUnknown_03002F90.unk81 = 15;
}
}
@@ -3749,8 +2433,8 @@ void DecompressGlyphFont9(u16 glyphId)
const u16* glyphs;
glyphs = gFont9JapaneseGlyphs + (0x100 * (glyphId >> 4)) + (0x8 * (glyphId & 0xF));
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40));
- gUnknown_03002F90[0x80] = 8;
- gUnknown_03002F90[0x81] = 12;
+ DecompressGlyphTile(glyphs, gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x80, gUnknown_03002F90.unk40);
+ gUnknown_03002F90.unk80 = 8;
+ gUnknown_03002F90.unk81 = 12;
}
diff --git a/src/text_window.c b/src/text_window.c
index e7e8f0ca6..517f4bdb9 100644
--- a/src/text_window.c
+++ b/src/text_window.c
@@ -93,7 +93,7 @@ const struct TilesPal *GetWindowFrameTilesPal(u8 id)
void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset)
{
- LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gMessageBox_Gfx, 0x1C0, destOffset);
+ LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), gMessageBox_Gfx, 0x1C0, destOffset);
LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20);
}
@@ -104,7 +104,7 @@ void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset)
void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset)
{
- LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), sWindowFrames[frameId].tiles, 0x120, destOffset);
+ LoadBgTiles(GetWindowAttribute(windowId, WINDOW_BG), sWindowFrames[frameId].tiles, 0x120, destOffset);
LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20);
}
@@ -115,7 +115,7 @@ void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset)
void sub_8098858(u8 windowId, u16 tileNum, u8 palNum)
{
- u8 bgLayer = GetWindowAttribute(windowId, WINDOW_PRIORITY);
+ u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
u16 tilemapTop = GetWindowAttribute(windowId, WINDOW_TILEMAP_TOP);
u16 width = GetWindowAttribute(windowId, WINDOW_WIDTH);
@@ -133,7 +133,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum)
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum)
{
- u8 bgLayer = GetWindowAttribute(windowId, WINDOW_PRIORITY);
+ u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
u16 tilemapTop = GetWindowAttribute(windowId, WINDOW_TILEMAP_TOP);
u16 width = GetWindowAttribute(windowId, WINDOW_WIDTH);
@@ -151,7 +151,7 @@ void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum)
void rbox_fill_rectangle(u8 windowId)
{
- u8 bgLayer = GetWindowAttribute(windowId, WINDOW_PRIORITY);
+ u8 bgLayer = GetWindowAttribute(windowId, WINDOW_BG);
u16 tilemapLeft = GetWindowAttribute(windowId, WINDOW_TILEMAP_LEFT);
u16 tilemapTop = GetWindowAttribute(windowId, WINDOW_TILEMAP_TOP);
u16 width = GetWindowAttribute(windowId, WINDOW_WIDTH);
diff --git a/src/time_events.c b/src/time_events.c
index 1f46e7705..9702d321f 100644
--- a/src/time_events.c
+++ b/src/time_events.c
@@ -81,7 +81,7 @@ void UpdateShoalTideFlag(void)
1, // 23
};
- if (is_map_type_1_2_3_5_or_6(get_map_light_from_warp0()))
+ if (is_map_type_1_2_3_5_or_6(GetLastUsedWarpMapType()))
{
RtcCalcLocalTime();
if (tide[gLocalTime.hours])
diff --git a/src/title_screen.c b/src/title_screen.c
index 8a2c01192..70a1a3449 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle.h"
#include "title_screen.h"
#include "sprite.h"
#include "gba/m4a_internal.h"
@@ -18,6 +19,7 @@
#include "scanline_effect.h"
#include "gpu_regs.h"
#include "trig.h"
+#include "graphics.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -36,17 +38,6 @@
#define A_B_START_SELECT (A_BUTTON | B_BUTTON | START_BUTTON | SELECT_BUTTON)
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern u16 gBattle_BG1_X;
-extern u16 gBattle_BG1_Y;
-
-extern const u8 gTitleScreenEmeraldVersionGfx[];
-extern const u8 gTitleScreenPressStartGfx[];
-extern const u8 gTitleScreenPokemonLogoGfx[];
-extern const u8 gUnknown_08DE0644[];
-extern const u8 gUnknown_08DDE458[];
-extern const u16 gTitleScreenBgPalettes[];
-extern const u16 gTitleScreenPressStartPal[];
-extern const u16 gTitleScreenEmeraldVersionPal[];
// this file's functions
static void MainCB2(void);
@@ -68,10 +59,10 @@ static void SpriteCB_PokemonLogoShine(struct Sprite *sprite);
// const rom data
static const u16 sUnusedUnknownPal[] = INCBIN_U16("graphics/title_screen/unk_853EF78.gbapal");
-static const u8 sTitleScreenRayquazaGfx[] = INCBIN_U8("graphics/title_screen/rayquaza.4bpp.lz");
-static const u8 sTitleScreenRayquazaTilemap[] = INCBIN_U8("graphics/title_screen/rayquaza.bin.lz");
-static const u8 sTitleScreenLogoShineGfx[] = INCBIN_U8("graphics/title_screen/logo_shine.4bpp.lz");
-static const u8 sTitleScreenCloudsGfx[] = INCBIN_U8("graphics/title_screen/clouds.4bpp.lz");
+static const u32 sTitleScreenRayquazaGfx[] = INCBIN_U32("graphics/title_screen/rayquaza.4bpp.lz");
+static const u32 sTitleScreenRayquazaTilemap[] = INCBIN_U32("graphics/title_screen/rayquaza.bin.lz");
+static const u32 sTitleScreenLogoShineGfx[] = INCBIN_U32("graphics/title_screen/logo_shine.4bpp.lz");
+static const u32 sTitleScreenCloudsGfx[] = INCBIN_U32("graphics/title_screen/clouds.4bpp.lz");
const u16 gUnknown_0853FF70[] =
{
diff --git a/src/trader.c b/src/trader.c
index f081d7e95..e23efb4ce 100644
--- a/src/trader.c
+++ b/src/trader.c
@@ -109,7 +109,7 @@ void sub_8133BE4(u8 taskId, u8 decorationId)
void Task_HandleGetDecorationMenuInput(u8 taskId)
{
struct MauvilleOldManTrader *trader = &gSaveBlock1Ptr->oldMan.trader;
- s8 input = ProcessMenuInput();
+ s8 input = Menu_ProcessInput();
switch (input)
{
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index 18c02350f..040310901 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -404,9 +404,9 @@ u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass)
switch (gender)
{
default:
- return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_MAY];
+ return gFacilityClassToPicIndex[FACILITY_CLASS_MAY];
case MALE:
- return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_BRENDAN];
+ return gFacilityClassToPicIndex[FACILITY_CLASS_BRENDAN];
}
}
return gender;
diff --git a/src/trainer_see.c b/src/trainer_see.c
index f5e9c300e..d3d450de4 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -1,21 +1,22 @@
#include "global.h"
-#include "trainer_see.h"
+#include "constants/battle_setup.h"
#include "battle_setup.h"
-#include "pokemon.h"
-#include "sprite.h"
-#include "field_effect.h"
+#include "event_data.h"
#include "event_object_movement.h"
+#include "field_effect.h"
#include "field_player_avatar.h"
+#include "pokemon.h"
#include "pokenav.h"
-#include "task.h"
-#include "util.h"
#include "script.h"
-#include "event_data.h"
#include "script_movement.h"
+#include "sprite.h"
+#include "task.h"
+#include "trainer_see.h"
+#include "util.h"
+#include "battle_pyramid.h"
+#include "constants/field_effects.h"
-extern bool8 InBattlePyramid(void);
extern bool32 InTrainerHill(void);
-extern bool8 GetBattlePyramidTrainerFlag(u8 eventObjectId);
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjectId);
extern void sub_809BE48(u16 npcId);
diff --git a/src/tv.c b/src/tv.c
index af1102c2d..d3d1e797b 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -1544,7 +1544,7 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void)
StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.field_BD8);
show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.field_BD4;
show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.field_BD6;
- show->bravoTrainerTower.numFights = sub_8164FCC(gSaveBlock2Ptr->frontier.field_D07, 0);
+ show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.field_D07, 0);
show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.field_D06;
if (gSaveBlock2Ptr->frontier.field_D07 == 0)
{
@@ -1580,7 +1580,7 @@ void SaveRecordedItemPurchasesForTVShow(void)
if (sCurTVShowSlot != -1 && HasMixableShowAlreadyBeenSpawnedWithPlayerID(TVSHOW_SMART_SHOPPER, FALSE) != TRUE)
{
TV_SortPurchasesByQuantity();
- if (gUnknown_02039F80[0].quantity >= 20)
+ if (gMartPurchaseHistory[0].quantity >= 20)
{
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
show->smartshopperShow.kind = TVSHOW_SMART_SHOPPER;
@@ -1588,8 +1588,8 @@ void SaveRecordedItemPurchasesForTVShow(void)
show->smartshopperShow.shopLocation = gMapHeader.regionMapSectionId;
for (i = 0; i < 3; i ++)
{
- show->smartshopperShow.itemIds[i] = gUnknown_02039F80[i].itemId;
- show->smartshopperShow.itemAmounts[i] = gUnknown_02039F80[i].quantity;
+ show->smartshopperShow.itemIds[i] = gMartPurchaseHistory[i].itemId;
+ show->smartshopperShow.itemAmounts[i] = gMartPurchaseHistory[i].quantity;
}
show->smartshopperShow.priceReduced = GetPriceReduction(1);
StringCopy(show->smartshopperShow.playerName, gSaveBlock2Ptr->playerName);
@@ -1972,7 +1972,7 @@ void sub_80EDB44(void)
show->rivalTrainer.nGoldSymbols ++;
}
}
- show->rivalTrainer.battlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints;
+ show->rivalTrainer.battlePoints = gSaveBlock2Ptr->frontier.battlePoints;
StringCopy(show->rivalTrainer.playerName, gSaveBlock2Ptr->playerName);
tv_store_id_3x(show);
show->rivalTrainer.language = gGameLanguage;
@@ -2500,7 +2500,7 @@ bool8 sub_80EE818(void)
return TRUE;
}
-void sub_80EE8C8(u16 winStreak, u8 facility)
+void sub_80EE8C8(u16 winStreak, u8 facilityAndMode)
{
TVShow *show;
@@ -2512,8 +2512,8 @@ void sub_80EE8C8(u16 winStreak, u8 facility)
show->frontier.active = FALSE;
StringCopy(show->frontier.playerName, gSaveBlock2Ptr->playerName);
show->frontier.winStreak = winStreak;
- show->frontier.facility = facility;
- switch (facility)
+ show->frontier.facility = facilityAndMode;
+ switch (facilityAndMode)
{
case 1:
case 5:
@@ -2540,8 +2540,8 @@ void sub_80EE8C8(u16 winStreak, u8 facility)
show->frontier.species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL);
break;
case 4:
- show->frontier.species1 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.field_CAA[0] - 1], MON_DATA_SPECIES, NULL);
- show->frontier.species2 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.field_CAA[1] - 1], MON_DATA_SPECIES, NULL);
+ show->frontier.species1 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[0] - 1], MON_DATA_SPECIES, NULL);
+ show->frontier.species2 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.selectedPartyMons[1] - 1], MON_DATA_SPECIES, NULL);
break;
}
tv_store_id_3x(show);
@@ -2992,14 +2992,14 @@ void TV_SortPurchasesByQuantity(void)
{
for (j = i + 1; j < 3; j ++)
{
- if (gUnknown_02039F80[i].quantity < gUnknown_02039F80[j].quantity)
- {
- tmpId = gUnknown_02039F80[i].itemId;
- tmpQn = gUnknown_02039F80[i].quantity;
- gUnknown_02039F80[i].itemId = gUnknown_02039F80[j].itemId;
- gUnknown_02039F80[i].quantity = gUnknown_02039F80[j].quantity;
- gUnknown_02039F80[j].itemId = tmpId;
- gUnknown_02039F80[j].quantity = tmpQn;
+ if (gMartPurchaseHistory[i].quantity < gMartPurchaseHistory[j].quantity)
+ {
+ tmpId = gMartPurchaseHistory[i].itemId;
+ tmpQn = gMartPurchaseHistory[i].quantity;
+ gMartPurchaseHistory[i].itemId = gMartPurchaseHistory[j].itemId;
+ gMartPurchaseHistory[i].quantity = gMartPurchaseHistory[j].quantity;
+ gMartPurchaseHistory[j].itemId = tmpId;
+ gMartPurchaseHistory[j].quantity = tmpQn;
}
}
}
diff --git a/src/unk_81BAD84.c b/src/unk_81BAD84.c
index c0d891c12..adf43bb90 100644
--- a/src/unk_81BAD84.c
+++ b/src/unk_81BAD84.c
@@ -2,8 +2,8 @@
#include "graphics.h"
const struct {
- const u8 *gfx;
- const u8 *tileMap;
+ const u32 *gfx;
+ const u32 *tileMap;
const u16 *pltt;
} gUnknown_08617128[] = {
{
diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c
index 521af6dd9..6b88069bb 100644
--- a/src/unk_pokedex_area_screen_helper.c
+++ b/src/unk_pokedex_area_screen_helper.c
@@ -4,24 +4,17 @@
#include "bg.h"
#include "malloc.h"
#include "palette.h"
+#include "unk_pokedex_area_screen_helper.h"
EWRAM_DATA u8 *gUnknown_0203CF28 = NULL;
static const u16 gUnknown_0861D140[] = INCBIN_U16("graphics/interface/region_map.gbapal");
-static const u8 gUnknown_0861D1A0[] = INCBIN_U8("graphics/interface/region_map.8bpp.lz");
-static const u8 gUnknown_0861DEF4[] = INCBIN_U8("graphics/interface/region_map.bin.lz");
-static const u8 gUnknown_0861E208[] = INCBIN_U8("graphics/interface/region_map_affine.8bpp.lz");
-static const u8 gUnknown_0861EF64[] = INCBIN_U8("graphics/interface/region_map_affine.bin.lz");
+static const u32 gUnknown_0861D1A0[] = INCBIN_U32("graphics/interface/region_map.8bpp.lz");
+static const u32 gUnknown_0861DEF4[] = INCBIN_U32("graphics/interface/region_map.bin.lz");
+static const u32 gUnknown_0861E208[] = INCBIN_U32("graphics/interface/region_map_affine.8bpp.lz");
+static const u32 gUnknown_0861EF64[] = INCBIN_U32("graphics/interface/region_map_affine.bin.lz");
-struct UnkStruct_1C4D70
-{
- u32 bg:2;
- u32 unk2:8;
- u32 unk10:2;
- u32 unk12:20;
-};
-
-void sub_81C4D70(struct UnkStruct_1C4D70 *template)
+void sub_81C4D70(const struct UnkStruct_1C4D70 *template)
{
u8 unk;
gUnknown_0203CF28 = Alloc(4);
diff --git a/src/unk_text_util_2.c b/src/unk_text_util_2.c
index 4821ed776..bbc256915 100644
--- a/src/unk_text_util_2.c
+++ b/src/unk_text_util_2.c
@@ -15,86 +15,86 @@ u16 Font6Func(struct TextPrinter *textPrinter)
u16 char_;
struct TextPrinterSubStruct *sub;
- sub = &textPrinter->sub_union.sub;
+ sub = &textPrinter->subUnion.sub;
switch (textPrinter->state)
{
case 0:
- if (gMain.heldKeys & (A_BUTTON | B_BUTTON) && sub->font_type_upper)
+ if (gMain.heldKeys & (A_BUTTON | B_BUTTON) && sub->hasPrintBeenSpedUp)
{
textPrinter->delayCounter = 0;
}
- if (textPrinter->delayCounter && textPrinter->text_speed)
+ if (textPrinter->delayCounter && textPrinter->textSpeed)
{
textPrinter->delayCounter --;
- if (gTextFlags.flag_0 && gMain.newKeys & (A_BUTTON | B_BUTTON))
+ if (gTextFlags.canABSpeedUpPrint && gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- sub->font_type_upper = TRUE;
+ sub->hasPrintBeenSpedUp = TRUE;
textPrinter->delayCounter = 0;
}
return 3;
}
- if (gTextFlags.flag_2)
+ if (gTextFlags.autoScroll)
{
textPrinter->delayCounter = 3;
}
else
{
- textPrinter->delayCounter = textPrinter->text_speed;
+ textPrinter->delayCounter = textPrinter->textSpeed;
}
- char_ = *textPrinter->subPrinter.current_text_offset ++;
+ char_ = *textPrinter->printerTemplate.currentChar++;
switch (char_)
{
case EOS:
return 1;
case CHAR_NEWLINE:
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
- textPrinter->subPrinter.currentY += gFonts[textPrinter->subPrinter.fontId].maxLetterHeight + textPrinter->subPrinter.lineSpacing;
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentY += gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
return 2;
case PLACEHOLDER_BEGIN:
- textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->printerTemplate.currentChar++;
return 2;
case EXT_CTRL_CODE_BEGIN:
- char_ = *textPrinter->subPrinter.current_text_offset ++;
+ char_ = *textPrinter->printerTemplate.currentChar++;
switch (char_)
{
case 1:
- textPrinter->subPrinter.fgColor = *textPrinter->subPrinter.current_text_offset ++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
case 2:
- textPrinter->subPrinter.bgColor = *textPrinter->subPrinter.current_text_offset ++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ textPrinter->printerTemplate.bgColor = *textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
case 3:
- textPrinter->subPrinter.shadowColor = *textPrinter->subPrinter.current_text_offset ++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ textPrinter->printerTemplate.shadowColor = *textPrinter->printerTemplate.currentChar++;
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
case 4:
- textPrinter->subPrinter.fgColor = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.bgColor = *++ textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.shadowColor = *++ textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->printerTemplate.fgColor = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.bgColor = *++textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.shadowColor = *++textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
- GenerateFontHalfRowLookupTable(textPrinter->subPrinter.fgColor, textPrinter->subPrinter.bgColor, textPrinter->subPrinter.shadowColor);
+ GenerateFontHalfRowLookupTable(textPrinter->printerTemplate.fgColor, textPrinter->printerTemplate.bgColor, textPrinter->printerTemplate.shadowColor);
return 2;
case 5:
- textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->printerTemplate.currentChar++;
return 2;
case 6:
- sub->font_type = *textPrinter->subPrinter.current_text_offset;
- textPrinter->subPrinter.current_text_offset ++;
+ sub->glyphId = *textPrinter->printerTemplate.currentChar;
+ textPrinter->printerTemplate.currentChar++;
return 2;
case 7:
return 2;
case 8:
- textPrinter->delayCounter = *textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar++;
textPrinter->state = 6;
return 2;
case 9:
textPrinter->state = 1;
- if (gTextFlags.flag_2)
+ if (gTextFlags.autoScroll)
{
- sub->frames_visible_counter = 0;
+ sub->autoScrollDelay = 0;
}
return 3;
case 10:
@@ -102,19 +102,19 @@ u16 Font6Func(struct TextPrinter *textPrinter)
return 3;
case 11:
case 16:
- textPrinter->subPrinter.current_text_offset += 2;
+ textPrinter->printerTemplate.currentChar += 2;
return 2;
case 12:
- char_ = *++textPrinter->subPrinter.current_text_offset;
+ char_ = *++textPrinter->printerTemplate.currentChar;
break;
case 13:
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x + *textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x + *textPrinter->printerTemplate.currentChar++;
return 2;
case 14:
- textPrinter->subPrinter.currentY = textPrinter->subPrinter.y + *textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y + *textPrinter->printerTemplate.currentChar++;
return 2;
case 15:
- FillWindowPixelBuffer(textPrinter->subPrinter.windowId, textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4));
+ FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, textPrinter->printerTemplate.bgColor | (textPrinter->printerTemplate.bgColor << 4));
return 2;
}
break;
@@ -127,15 +127,15 @@ u16 Font6Func(struct TextPrinter *textPrinter)
TextPrinterInitDownArrowCounters(textPrinter);
return 3;
case 0xF9:
- char_ = *textPrinter->subPrinter.current_text_offset ++ | 0x100;
+ char_ = *textPrinter->printerTemplate.currentChar++| 0x100;
break;
case 0xF8:
- textPrinter->subPrinter.current_text_offset ++;
+ textPrinter->printerTemplate.currentChar++;
return 0;
}
DecompressGlyphFont6(char_);
CopyGlyphToWindow(textPrinter);
- textPrinter->subPrinter.currentX += gUnknown_03002F90[0x80] + textPrinter->subPrinter.letterSpacing;
+ textPrinter->printerTemplate.currentX += gUnknown_03002F90.unk80 + textPrinter->printerTemplate.letterSpacing;
return 0;
case 1:
if (TextPrinterWait(textPrinter))
@@ -146,9 +146,9 @@ u16 Font6Func(struct TextPrinter *textPrinter)
case 2:
if (TextPrinterWaitWithDownArrow(textPrinter))
{
- FillWindowPixelBuffer(textPrinter->subPrinter.windowId, textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4));
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
- textPrinter->subPrinter.currentY = textPrinter->subPrinter.y;
+ FillWindowPixelBuffer(textPrinter->printerTemplate.windowId, textPrinter->printerTemplate.bgColor | (textPrinter->printerTemplate.bgColor << 4));
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
+ textPrinter->printerTemplate.currentY = textPrinter->printerTemplate.y;
textPrinter->state = 0;
}
return 3;
@@ -156,8 +156,8 @@ u16 Font6Func(struct TextPrinter *textPrinter)
if (TextPrinterWaitWithDownArrow(textPrinter))
{
TextPrinterClearDownArrow(textPrinter);
- textPrinter->scrollDistance = gFonts[textPrinter->subPrinter.fontId].maxLetterHeight + textPrinter->subPrinter.lineSpacing;
- textPrinter->subPrinter.currentX = textPrinter->subPrinter.x;
+ textPrinter->scrollDistance = gFonts[textPrinter->printerTemplate.fontId].maxLetterHeight + textPrinter->printerTemplate.lineSpacing;
+ textPrinter->printerTemplate.currentX = textPrinter->printerTemplate.x;
textPrinter->state = 4;
}
return 3;
@@ -166,15 +166,15 @@ u16 Font6Func(struct TextPrinter *textPrinter)
{
if (textPrinter->scrollDistance < sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed])
{
- ScrollWindow(textPrinter->subPrinter.windowId, 0, textPrinter->scrollDistance, textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4));
+ ScrollWindow(textPrinter->printerTemplate.windowId, 0, textPrinter->scrollDistance, textPrinter->printerTemplate.bgColor | (textPrinter->printerTemplate.bgColor << 4));
textPrinter->scrollDistance = 0;
}
else
{
- ScrollWindow(textPrinter->subPrinter.windowId, 0, sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed], textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4));
+ ScrollWindow(textPrinter->printerTemplate.windowId, 0, sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed], textPrinter->printerTemplate.bgColor | (textPrinter->printerTemplate.bgColor << 4));
textPrinter->scrollDistance -= sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed];
}
- CopyWindowToVram(textPrinter->subPrinter.windowId, 2);
+ CopyWindowToVram(textPrinter->printerTemplate.windowId, 2);
}
else
{
@@ -206,12 +206,12 @@ static void DecompressGlyphFont6(u16 glyph)
const u16 *glyphs;
glyphs = sFont6BrailleGlyphs + 0x100 * (glyph / 8) + 0x10 * (glyph % 8);
- DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
- DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
- DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40));
- DecompressGlyphTile(glyphs + 0x88, (u16 *)(gUnknown_03002F90 + 0x60));
- gUnknown_03002F90[0x80] = 0x10;
- gUnknown_03002F90[0x81] = 0x10;
+ DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90.unk0);
+ DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90.unk20));
+ DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90.unk40));
+ DecompressGlyphTile(glyphs + 0x88, (u16 *)(gUnknown_03002F90.unk60));
+ gUnknown_03002F90.unk80 = 0x10;
+ gUnknown_03002F90.unk81 = 0x10;
}
u8 GetGlyphWidthFont6(void)
diff --git a/src/unk_transition.c b/src/unk_transition.c
index 20692bb7c..18cee2544 100644
--- a/src/unk_transition.c
+++ b/src/unk_transition.c
@@ -36,9 +36,9 @@ static bool8 sub_81DB328(struct Task *task);
// const rom data
// TODO: move those from .s file to .c
-extern const u8 gUnknown_0862AD54[];
-extern const u8 gUnknown_0862AF30[];
-extern const u8 gUnknown_0862B0DC[];
+extern const u32 gUnknown_0862AD54[];
+extern const u32 gUnknown_0862AF30[];
+extern const u32 gUnknown_0862B0DC[];
extern const u16 gUnknown_0862B53C[];
static const struct OamData sOamData_862B71C =
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index 4a82be14f..ff2ee7399 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -95,7 +95,7 @@ u16 TryGetWallpaperWithWaldaPhrase(void)
{
u16 backgroundClr, foregroundClr;
u8 patternId, iconId;
- u16 trainerId = ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId);
+ u16 trainerId = GetTrainerId(gSaveBlock2Ptr->playerTrainerId);
gSpecialVar_Result = TryCalculateWallpaper(&backgroundClr, &foregroundClr, &iconId, &patternId, trainerId, GetWaldaPhrasePtr());
if (gSpecialVar_Result)
diff --git a/src/wallclock.c b/src/wallclock.c
index 6bcfa1717..e2e03ecba 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -1,37 +1,24 @@
#include "global.h"
-#include "main.h"
-#include "palette.h"
-#include "gpu_regs.h"
#include "bg.h"
-#include "rtc.h"
#include "clock.h"
-#include "wallclock.h"
+#include "decompress.h"
#include "event_data.h"
+#include "gpu_regs.h"
#include "graphics.h"
-#include "text.h"
-#include "window.h"
-#include "text_window.h"
+#include "main.h"
#include "menu.h"
+#include "palette.h"
+#include "rtc.h"
#include "scanline_effect.h"
-#include "task.h"
-#include "strings.h"
#include "sound.h"
-#include "constants/songs.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "text_window.h"
#include "trig.h"
-#include "decompress.h"
-
-// static types
-
-#define tMinuteHandAngle data[0]
-#define tHourHandAngle data[1]
-#define tHours data[2]
-#define tMinutes data[3]
-#define tMvmtDir data[4]
-#define tPeriod data[5]
-#define tMvmtSpeed data[6]
-
-#define TAG_GFX_WALL_CLOCK_HAND 0x1000
-#define TAG_PAL_WALL_CLOCK_HAND 0x1000
+#include "wallclock.h"
+#include "window.h"
+#include "constants/songs.h"
// static declarations
@@ -46,24 +33,48 @@ static void Task_ViewClock1(u8 taskId);
static void Task_ViewClock2(u8 taskId);
static void Task_ViewClock3(u8 taskId);
static void Task_ViewClock4(u8 taskId);
-static u16 CalcNewMinHandAngle(u16 a0, u8 command, u8 a2);
-static bool32 AdvanceClock(u8 taskId, u8 command);
-static void UpdateClockPeriod(u8 taskId, u8 command);
+static u16 CalcNewMinHandAngle(u16 angle, u8 direction, u8 speed);
+static bool32 AdvanceClock(u8 taskId, u8 direction);
+static void UpdateClockPeriod(u8 taskId, u8 direction);
static void InitClockWithRtc(u8 taskId);
static void SpriteCB_MinuteHand(struct Sprite *sprite);
static void SpriteCB_HourHand(struct Sprite *sprite);
static void SpriteCB_AMIndicator(struct Sprite *sprite);
static void SpriteCB_PMIndicator(struct Sprite *sprite);
+#define tMinuteHandAngle data[0]
+#define tHourHandAngle data[1]
+#define tHours data[2]
+#define tMinutes data[3]
+#define tMvmtDir data[4]
+#define tPeriod data[5]
+#define tMvmtSpeed data[6]
+
+#define TAG_GFX_WALL_CLOCK_HAND 0x1000
+#define TAG_PAL_WALL_CLOCK_HAND 0x1000
+
+enum
+{
+ PERIOD_AM,
+ PERIOD_PM,
+};
+
+enum
+{
+ MVMT_NONE,
+ MVMT_BACKWARD,
+ MVMT_FORWARD,
+};
+
// rodata
-static const u8 sUnknown_085B1F58[] = INCBIN_U8("graphics/wallclock/graphics_85b1f58.4bpp.lz");
+static const u32 sUnknown_085B1F58[] = INCBIN_U32("graphics/wallclock/graphics_85b1f58.4bpp.lz");
static const u16 sUnknown_085B21D4[] = INCBIN_U16("graphics/wallclock/palette_85b21d4.gbapal");
-static const struct WindowTemplate gUnknown_085B21DC[] =
+static const struct WindowTemplate gUnknown_085B21DC[] =
{
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 3,
.tilemapTop = 17,
.width = 24,
@@ -72,7 +83,7 @@ static const struct WindowTemplate gUnknown_085B21DC[] =
.baseBlock = 512
},
{
- .priority = 2,
+ .bg = 2,
.tilemapLeft = 24,
.tilemapTop = 16,
.width = 6,
@@ -84,7 +95,7 @@ static const struct WindowTemplate gUnknown_085B21DC[] =
};
static const struct WindowTemplate gUnknown_085B21F4 =
{
- .priority = 0,
+ .bg = 0,
.tilemapLeft = 24,
.tilemapTop = 9,
.width = 5,
@@ -122,17 +133,17 @@ static const struct SpritePalette gUnknown_085B2218[] = {
{}
};
static const struct OamData Unknown_085B2230 = {
- .y = 0xa0,
+ .y = 160,
.size = 3,
- .priority = 1
+ .priority = 1,
};
static const union AnimCmd Unknown_085B2238[] = {
ANIMCMD_FRAME(0, 30),
- ANIMCMD_END
+ ANIMCMD_END,
};
static const union AnimCmd Unknown_085B2240[] = {
ANIMCMD_FRAME(64, 30),
- ANIMCMD_END
+ ANIMCMD_END,
};
static const union AnimCmd *const gUnknown_085B2248[] = {
Unknown_085B2238
@@ -148,7 +159,7 @@ static const struct SpriteTemplate gUnknown_085B2250 =
.anims = gUnknown_085B2248,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCB_MinuteHand
+ .callback = SpriteCB_MinuteHand,
};
static const struct SpriteTemplate gUnknown_085B2268 =
{
@@ -158,20 +169,20 @@ static const struct SpriteTemplate gUnknown_085B2268 =
.anims = gUnknown_085B224C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCB_HourHand
+ .callback = SpriteCB_HourHand,
};
static const struct OamData Unknown_085B2280 = {
- .y = 0xa0,
+ .y = 160,
.size = 1,
- .priority = 3
+ .priority = 3,
};
static const union AnimCmd Unknown_085B2288[] = {
- ANIMCMD_FRAME(0x84, 30),
- ANIMCMD_END
+ ANIMCMD_FRAME(132, 30),
+ ANIMCMD_END,
};
static const union AnimCmd Unknown_085B2290[] = {
- ANIMCMD_FRAME(0x80, 30),
- ANIMCMD_END
+ ANIMCMD_FRAME(128, 30),
+ ANIMCMD_END,
};
static const union AnimCmd *const gUnknown_085B2298[] = {
Unknown_085B2288
@@ -648,21 +659,21 @@ void CB2_StartWallClock(void)
gTasks[taskId].tMinuteHandAngle = 0;
gTasks[taskId].tHourHandAngle = 300;
- spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1);
+ spriteId = CreateSprite(&gUnknown_085B2250, 120, 80, 1);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0;
- spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0);
+ spriteId = CreateSprite(&gUnknown_085B2268, 120, 80, 0);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1;
- spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
+ spriteId = CreateSprite(&gUnknown_085B22A0, 120, 80, 2);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 45;
- spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
+ spriteId = CreateSprite(&gUnknown_085B22B8, 120, 80, 2);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 90;
@@ -696,21 +707,21 @@ void CB2_ViewWallClock(void)
angle2 = 135;
}
- spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1);
+ spriteId = CreateSprite(&gUnknown_085B2250, 120, 80, 1);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0;
- spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0);
+ spriteId = CreateSprite(&gUnknown_085B2268, 120, 80, 0);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1;
- spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
+ spriteId = CreateSprite(&gUnknown_085B22A0, 120, 80, 2);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = angle1;
- spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
+ spriteId = CreateSprite(&gUnknown_085B22B8, 120, 80, 2);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = angle2;
@@ -757,11 +768,11 @@ static void Task_SetClock2(u8 taskId)
gTasks[taskId].tMvmtDir = 0;
if (gMain.heldKeys & DPAD_LEFT)
{
- gTasks[taskId].tMvmtDir = 1;
+ gTasks[taskId].tMvmtDir = MVMT_BACKWARD;
}
if (gMain.heldKeys & DPAD_RIGHT)
{
- gTasks[taskId].tMvmtDir = 2;
+ gTasks[taskId].tMvmtDir = MVMT_FORWARD;
}
if (gTasks[taskId].tMvmtDir != 0)
{
@@ -792,14 +803,14 @@ static void Task_SetClock3(u8 taskId)
static void Task_SetClock4(u8 taskId)
{
- switch (Menu_ProcessInputNoWrap_())
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
{
- case 0:
+ case 0: //YES
PlaySE(SE_SELECT);
gTasks[taskId].func = Task_SetClock5;
break;
- case 1:
- case -1:
+ case 1: //B button
+ case -1: //NO
PlaySE(SE_SELECT);
sub_8198070(0, FALSE);
ClearWindowTilemap(0);
@@ -855,45 +866,49 @@ static void Task_ViewClock4(u8 taskId)
}
}
-static u8 CalcMinHandDelta(u16 a0)
+static u8 CalcMinHandDelta(u16 speed)
{
- if (a0 > 60)
+ if (speed > 60)
{
return 6;
}
- if (a0 > 30)
+ if (speed > 30)
{
return 3;
}
- if (a0 > 10)
+ if (speed > 10)
{
return 2;
}
return 1;
}
-static u16 CalcNewMinHandAngle(u16 a0, u8 command, u8 a2)
+static u16 CalcNewMinHandAngle(u16 angle, u8 direction, u8 speed)
{
- u8 r1 = CalcMinHandDelta(a2);
- switch (command)
+ u8 delta = CalcMinHandDelta(speed);
+ switch (direction)
{
- case 1:
- if (a0) a0 -= r1;
- else a0 = 360 - r1;
+ case MVMT_BACKWARD:
+ if (angle)
+ angle -= delta ;
+ else
+ angle = 360 - delta ;
break;
- case 2:
- if (a0 < 360 - r1) a0 += r1;
- else a0 = 0;
+ case MVMT_FORWARD:
+ if (angle < 360 - delta )
+ angle += delta ;
+ else
+ angle = 0;
break;
}
- return a0;
+ return angle;
}
-static bool32 AdvanceClock(u8 taskId, u8 command)
+static bool32 AdvanceClock(u8 taskId, u8 direction)
{
- switch (command)
+ switch (direction)
{
- case 1:
+ case MVMT_BACKWARD:
if (gTasks[taskId].tMinutes > 0)
{
gTasks[taskId].tMinutes--;
@@ -909,10 +924,10 @@ static bool32 AdvanceClock(u8 taskId, u8 command)
{
gTasks[taskId].tHours = 23;
}
- UpdateClockPeriod(taskId, command);
+ UpdateClockPeriod(taskId, direction);
}
break;
- case 2:
+ case MVMT_FORWARD:
if (gTasks[taskId].tMinutes < 59)
{
gTasks[taskId].tMinutes++;
@@ -928,37 +943,37 @@ static bool32 AdvanceClock(u8 taskId, u8 command)
{
gTasks[taskId].tHours = 0;
}
- UpdateClockPeriod(taskId, command);
+ UpdateClockPeriod(taskId, direction);
}
break;
}
return FALSE;
}
-static void UpdateClockPeriod(u8 taskId, u8 command)
+static void UpdateClockPeriod(u8 taskId, u8 direction)
{
u8 hours = gTasks[taskId].tHours;
- switch (command)
+ switch (direction)
{
- case 1:
+ case MVMT_BACKWARD:
switch (hours)
{
case 11:
- gTasks[taskId].tPeriod = FALSE;
+ gTasks[taskId].tPeriod = PERIOD_AM;
break;
case 23:
- gTasks[taskId].tPeriod = TRUE;
+ gTasks[taskId].tPeriod = PERIOD_PM;
break;
}
break;
- case 2:
+ case MVMT_FORWARD:
switch (hours)
{
case 0:
- gTasks[taskId].tPeriod = FALSE;
+ gTasks[taskId].tPeriod = PERIOD_AM;
break;
case 12:
- gTasks[taskId].tPeriod = TRUE;
+ gTasks[taskId].tPeriod = PERIOD_PM;
break;
}
break;
@@ -974,11 +989,11 @@ static void InitClockWithRtc(u8 taskId)
gTasks[taskId].tHourHandAngle = (gTasks[taskId].tHours % 12) * 30 + (gTasks[taskId].tMinutes / 10) * 5;
if (gLocalTime.hours < 12)
{
- gTasks[taskId].tPeriod = FALSE;
+ gTasks[taskId].tPeriod = PERIOD_AM;
}
else
{
- gTasks[taskId].tPeriod = TRUE;
+ gTasks[taskId].tPeriod = PERIOD_PM;
}
}
@@ -987,8 +1002,7 @@ static void SpriteCB_MinuteHand(struct Sprite *sprite)
u16 angle = gTasks[sprite->data[0]].tMinuteHandAngle;
s16 sin = Sin2(angle) / 16;
s16 cos = Cos2(angle) / 16;
- u16 xhat;
- u16 yhat;
+ u16 xhat, yhat;
SetOamMatrix(0, cos, sin, -sin, cos);
xhat = sClockHandCoords[angle][0];
@@ -1011,8 +1025,7 @@ static void SpriteCB_HourHand(struct Sprite *sprite)
u16 angle = gTasks[sprite->data[0]].tHourHandAngle;
s16 sin = Sin2(angle) / 16;
s16 cos = Cos2(angle) / 16;
- u16 xhat;
- u16 yhat;
+ u16 xhat, yhat;
SetOamMatrix(1, cos, sin, -sin, cos);
xhat = sClockHandCoords[angle][0];
diff --git a/src/water.c b/src/water.c
new file mode 100644
index 000000000..955526ccd
--- /dev/null
+++ b/src/water.c
@@ -0,0 +1,442 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_810721C(struct Sprite *);
+extern void sub_8107260(struct Sprite *);
+extern void sub_810744C(struct Sprite *);
+extern void sub_81075EC(struct Sprite *);
+extern void sub_8107730(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_8108034(struct Sprite *);
+extern void sub_810851C(struct Sprite *);
+extern void sub_8108BE0(struct Sprite *);
+extern void sub_8108C54(struct Sprite *);
+extern void sub_80A8EE4(struct Sprite *);
+
+extern const union AffineAnimCmd *const gUnknown_08593420[];
+extern const union AffineAnimCmd *const gUnknown_08596208[];
+extern const union AnimCmd *const gUnknown_08595AB8[];
+
+// what is this?
+const u8 gUnknown_8593C80[] = INCBIN_U8("graphics/unknown/unknown_593C80.4bpp");
+const u8 gUnknown_8593FFC[] = INCBIN_U8("graphics/unknown/unknown_593FFC.bin");
+
+const union AnimCmd gUnknown_08594FFC[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(8, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(24, 6),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(40, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859501C[] =
+{
+ gUnknown_08594FFC,
+};
+
+const struct SpriteTemplate gUnknown_08595020 =
+{
+ .tileTag = ANIM_TAG_RAIN_DROPS,
+ .paletteTag = ANIM_TAG_RAIN_DROPS,
+ .oam = &gUnknown_08524954,
+ .anims = gUnknown_0859501C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810721C,
+};
+
+const union AffineAnimCmd gUnknown_08595038[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 10),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08595050[] =
+{
+ gUnknown_08595038,
+};
+
+const union AnimCmd gUnknown_08595054[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595064[] =
+{
+ gUnknown_08595054,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8595068 =
+{
+ .tileTag = ANIM_TAG_BUBBLE,
+ .paletteTag = ANIM_TAG_BUBBLE,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_08595064,
+ .images = NULL,
+ .affineAnims = gUnknown_08595050,
+ .callback = sub_8107260,
+};
+
+const union AnimCmd gUnknown_08595080[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595088[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595090[] =
+{
+ gUnknown_08595080,
+ gUnknown_08595088,
+};
+
+const union AffineAnimCmd gUnknown_08595098[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
+ AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085950B0[] =
+{
+ gUnknown_08595098,
+};
+
+// Multi-colored rings used in Aurora Beam.
+const struct SpriteTemplate gUnknown_085950B4 =
+{
+ .tileTag = ANIM_TAG_RAINBOW_RINGS,
+ .paletteTag = ANIM_TAG_RAINBOW_RINGS,
+ .oam = &gUnknown_08524A04,
+ .anims = gUnknown_08595090,
+ .images = NULL,
+ .affineAnims = gUnknown_085950B0,
+ .callback = sub_810744C,
+};
+
+const union AnimCmd gUnknown_085950CC[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_FRAME(12, 1),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085950E0[] =
+{
+ gUnknown_085950CC,
+};
+
+const struct SpriteTemplate gUnknown_085950E4 =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gUnknown_08524A2C,
+ .anims = gUnknown_085950E0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81075EC,
+};
+
+const struct SpriteTemplate gUnknown_085950FC =
+{
+ .tileTag = ANIM_TAG_BROWN_ORB,
+ .paletteTag = ANIM_TAG_BROWN_ORB,
+ .oam = &gUnknown_08524A2C,
+ .anims = gUnknown_085950E0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81075EC,
+};
+
+const struct SpriteTemplate gUnknown_08595114 =
+{
+ .tileTag = ANIM_TAG_GLOWY_RED_ORB,
+ .paletteTag = ANIM_TAG_GLOWY_RED_ORB,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81075EC,
+};
+
+const struct SpriteTemplate gUnknown_0859512C =
+{
+ .tileTag = ANIM_TAG_GLOWY_GREEN_ORB,
+ .paletteTag = ANIM_TAG_GLOWY_GREEN_ORB,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81075EC,
+};
+
+const union AnimCmd gUnknown_08595144[] =
+{
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595154[] =
+{
+ gUnknown_08595144,
+};
+
+const struct SpriteTemplate gUnknown_08595158 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595154,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81075EC,
+};
+
+const struct SpriteTemplate gUnknown_08595170 =
+{
+ .tileTag = ANIM_TAG_BLUE_RING,
+ .paletteTag = ANIM_TAG_BLUE_RING,
+ .oam = &gUnknown_08524A14,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08593420,
+ .callback = sub_81075EC,
+};
+
+const union AffineAnimCmd gUnknown_08595188[] =
+{
+ AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10),
+ AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, -10, 20),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085951A8[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085951B8[] =
+{
+ gUnknown_08595188,
+};
+
+const union AffineAnimCmd *const gUnknown_085951BC[] =
+{
+ gUnknown_085951A8,
+};
+
+const struct SpriteTemplate gUnknown_085951C0 =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gUnknown_08524AEC,
+ .anims = gUnknown_085950E0,
+ .images = NULL,
+ .affineAnims = gUnknown_085951B8,
+ .callback = sub_8107730,
+};
+
+const struct SpriteTemplate gUnknown_085951D8 =
+{
+ .tileTag = ANIM_TAG_WATER_ORB,
+ .paletteTag = ANIM_TAG_WATER_ORB,
+ .oam = &gUnknown_08524AEC,
+ .anims = gUnknown_085950E0,
+ .images = NULL,
+ .affineAnims = gUnknown_085951BC,
+ .callback = sub_81077C0,
+};
+
+const union AnimCmd gUnknown_085951F0[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085951F8[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595200[] =
+{
+ gUnknown_085951F0,
+};
+
+const union AnimCmd *const gUnknown_08595204[] =
+{
+ gUnknown_085951F8,
+};
+
+const struct SpriteTemplate gUnknown_08595208 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_08524A2C,
+ .anims = gUnknown_08595200,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A78AC,
+};
+
+const struct SpriteTemplate gUnknown_08595220 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_08524AEC,
+ .anims = gUnknown_08595204,
+ .images = NULL,
+ .affineAnims = gUnknown_08596208,
+ .callback = sub_8107894,
+};
+
+const struct SpriteTemplate gUnknown_08595238 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AB8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81078D0,
+};
+
+const struct SpriteTemplate gUnknown_08595250 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108034,
+};
+
+const struct SpriteTemplate gUnknown_08595268 =
+{
+ .tileTag = ANIM_TAG_GLOWY_BLUE_ORB,
+ .paletteTag = ANIM_TAG_GLOWY_BLUE_ORB,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810851C,
+};
+
+const union AnimCmd gUnknown_08595280[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595288[] =
+{
+ ANIMCMD_FRAME(9, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595290[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595298[] =
+{
+ gUnknown_08595280,
+ gUnknown_08595288,
+};
+
+const union AnimCmd *const gUnknown_085952A0[] =
+{
+ gUnknown_08595290,
+};
+
+const union AffineAnimCmd gUnknown_085952A4[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085952BC[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085952D4[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085952EC[] =
+{
+ gUnknown_085952A4,
+ gUnknown_085952BC,
+};
+
+const union AffineAnimCmd *const gUnknown_085952F4[] =
+{
+ gUnknown_085952D4,
+};
+
+const struct SpriteTemplate gUnknown_085952F8 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595298,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108BE0,
+};
+
+const struct SpriteTemplate gUnknown_08595310 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_08524964,
+ .anims = gUnknown_08595298,
+ .images = NULL,
+ .affineAnims = gUnknown_085952EC,
+ .callback = sub_8108C54,
+};
+
+const struct SpriteTemplate gUnknown_08595328 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_085952A0,
+ .images = NULL,
+ .affineAnims = gUnknown_085952F4,
+ .callback = sub_80A8EE4,
+};
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 9a22323ff..9b3c70ad7 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -18,6 +18,8 @@
#include "tv.h"
#include "link.h"
#include "script.h"
+#include "battle_pike.h"
+#include "battle_pyramid.h"
#include "constants/items.h"
#include "constants/maps.h"
@@ -25,12 +27,6 @@ extern const u8 EventScript_RepelWoreOff[];
#define NUM_FEEBAS_SPOTS 6
-extern u8 GetBattlePikeWildMonHeaderId(void);
-extern bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate);
-extern void GenerateBattlePyramidWildMon(void);
-extern bool8 InBattlePike(void);
-extern bool8 InBattlePyramid(void);
-
// this file's functions
static u16 FeebasRandom(void);
static void FeebasSeedRng(u16 seed);
@@ -5102,7 +5098,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi
}
if (gMapHeader.mapLayoutId == 0x169)
{
- headerId = gSaveBlock2Ptr->frontier.field_CB2;
+ headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll())
return FALSE;
else if (DoWildEncounterRateTest(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE)
@@ -5240,7 +5236,7 @@ bool8 SweetScentWildEncounter(void)
}
if (gMapHeader.mapLayoutId == 0x169)
{
- headerId = gSaveBlock2Ptr->frontier.field_CB2;
+ headerId = gSaveBlock2Ptr->frontier.curChallengeBattleNum;
if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE)
return FALSE;
diff --git a/src/window.c b/src/window.c
index 9a52a5a20..8efd1c281 100644
--- a/src/window.c
+++ b/src/window.c
@@ -20,7 +20,7 @@ EWRAM_DATA static u16 sWindowSize = 0;
static u8 GetNumActiveWindowsOnBg(u8 bgId);
static u8 GetNumActiveWindowsOnBg8Bit(u8 bgId);
-static const struct WindowTemplate sDummyWindowTemplate = {0xFF, 0, 0, 0, 0, 0, 0};
+static const struct WindowTemplate sDummyWindowTemplate = DUMMY_WIN_TEMPLATE;
static void nullsub_8(void)
{
@@ -52,7 +52,7 @@ bool16 InitWindows(const struct WindowTemplate *templates)
gWindows[i].tileData = NULL;
}
- for (i = 0, allocatedBaseBlock = 0, bgLayer = templates[i].priority; bgLayer != 0xFF && i < 0x20; ++i, bgLayer = templates[i].priority)
+ for (i = 0, allocatedBaseBlock = 0, bgLayer = templates[i].bg; bgLayer != 0xFF && i < 0x20; ++i, bgLayer = templates[i].bg)
{
if (gUnneededFireRedVariable == 1)
{
@@ -121,14 +121,14 @@ u16 AddWindow(const struct WindowTemplate *template)
for (win = 0; win < WINDOWS_MAX; ++win)
{
- if ((bgLayer = gWindows[win].window.priority) == 0xFF)
+ if ((bgLayer = gWindows[win].window.bg) == 0xFF)
break;
}
if (win == WINDOWS_MAX)
return 0xFF;
- bgLayer = template->priority;
+ bgLayer = template->bg;
allocatedBaseBlock = 0;
if (gUnneededFireRedVariable == 1)
@@ -190,14 +190,14 @@ int AddWindowWithoutTileMap(const struct WindowTemplate *template)
for (win = 0; win < WINDOWS_MAX; ++win)
{
- if (gWindows[win].window.priority == 0xFF)
+ if (gWindows[win].window.bg == 0xFF)
break;
}
if (win == WINDOWS_MAX)
return 0xFF;
- bgLayer = template->priority;
+ bgLayer = template->bg;
allocatedBaseBlock = 0;
if (gUnneededFireRedVariable == 1)
@@ -221,7 +221,7 @@ int AddWindowWithoutTileMap(const struct WindowTemplate *template)
void RemoveWindow(u8 windowId)
{
- u8 bgLayer = gWindows[windowId].window.priority;
+ u8 bgLayer = gWindows[windowId].window.bg;
if (gUnneededFireRedVariable == 1)
{
@@ -277,14 +277,14 @@ void CopyWindowToVram(u8 windowId, u8 mode)
switch (mode)
{
case 1:
- CopyBgTilemapBufferToVram(windowLocal.window.priority);
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
break;
case 2:
- LoadBgTiles(windowLocal.window.priority, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
break;
case 3:
- LoadBgTiles(windowLocal.window.priority, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
- CopyBgTilemapBufferToVram(windowLocal.window.priority);
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
break;
}
}
@@ -309,14 +309,14 @@ void CopyWindowRectToVram(u32 windowId, u32 mode, u32 x, u32 y, u32 w, u32 h)
switch (mode)
{
case 1:
- CopyBgTilemapBufferToVram(windowLocal.window.priority);
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
break;
case 2:
- LoadBgTiles(windowLocal.window.priority, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
break;
case 3:
- LoadBgTiles(windowLocal.window.priority, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
- CopyBgTilemapBufferToVram(windowLocal.window.priority);
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
break;
}
}
@@ -327,8 +327,8 @@ void PutWindowTilemap(u8 windowId)
struct Window windowLocal = gWindows[windowId];
WriteSequenceToBgTilemapBuffer(
- windowLocal.window.priority,
- GetBgAttribute(windowLocal.window.priority, 0xA) + windowLocal.window.baseBlock,
+ windowLocal.window.bg,
+ GetBgAttribute(windowLocal.window.bg, 0xA) + windowLocal.window.baseBlock,
windowLocal.window.tilemapLeft,
windowLocal.window.tilemapTop,
windowLocal.window.width,
@@ -340,13 +340,13 @@ void PutWindowTilemap(u8 windowId)
void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette)
{
struct Window windowLocal = gWindows[windowId];
- u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.priority, 0xA);
+ u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.bg, 0xA);
int i;
for (i = 0; i < height; ++i)
{
WriteSequenceToBgTilemapBuffer(
- windowLocal.window.priority,
+ windowLocal.window.bg,
currentRow,
windowLocal.window.tilemapLeft + x,
windowLocal.window.tilemapTop + y + i,
@@ -364,7 +364,7 @@ void ClearWindowTilemap(u8 windowId)
struct Window windowLocal = gWindows[windowId];
FillBgTilemapBufferRect(
- windowLocal.window.priority,
+ windowLocal.window.bg,
gUnknown_03002F60,
windowLocal.window.tilemapLeft,
windowLocal.window.tilemapTop,
@@ -376,13 +376,13 @@ void ClearWindowTilemap(u8 windowId)
void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height)
{
struct Window windowLocal = gWindows[windowId];
- u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.priority, 0xA);
+ u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.bg, 0xA);
int i;
for (i = 0; i < height; ++i)
{
WriteSequenceToBgTilemapBuffer(
- windowLocal.window.priority,
+ windowLocal.window.bg,
currentRow,
windowLocal.window.tilemapLeft + x,
windowLocal.window.tilemapTop + y + i,
@@ -443,7 +443,7 @@ void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16
FillBitmapRect4Bit(&pixelRect, x, y, width, height, fillValue);
}
-void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset)
+void CopyToWindowPixelBuffer(u8 windowId, const void *src, u16 size, u16 tileOffset)
{
if (size != 0)
CpuCopy16(src, gWindows[windowId].tileData + (0x20 * tileOffset), size);
@@ -529,7 +529,7 @@ void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue)
void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8))
{
struct WindowTemplate window = gWindows[windowId].window;
- func(window.priority, window.tilemapLeft, window.tilemapTop, window.width, window.height, window.paletteNum);
+ func(window.bg, window.tilemapLeft, window.tilemapTop, window.width, window.height, window.paletteNum);
}
bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value)
@@ -551,7 +551,7 @@ bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value)
case WINDOW_TILE_DATA:
gWindows[windowId].tileData = (u8*)(value);
return TRUE;
- case WINDOW_PRIORITY:
+ case WINDOW_BG:
case WINDOW_WIDTH:
case WINDOW_HEIGHT:
default:
@@ -563,8 +563,8 @@ u32 GetWindowAttribute(u8 windowId, u8 attributeId)
{
switch (attributeId)
{
- case WINDOW_PRIORITY:
- return gWindows[windowId].window.priority;
+ case WINDOW_BG:
+ return gWindows[windowId].window.bg;
case WINDOW_TILEMAP_LEFT:
return gWindows[windowId].window.tilemapLeft;
case WINDOW_TILEMAP_TOP:
@@ -590,7 +590,7 @@ static u8 GetNumActiveWindowsOnBg(u8 bgId)
s32 i;
for (i = 0; i < WINDOWS_MAX; i++)
{
- if (gWindows[i].window.priority == bgId)
+ if (gWindows[i].window.bg == bgId)
windowsNum++;
}
return windowsNum;
@@ -609,12 +609,12 @@ u16 AddWindow8Bit(struct WindowTemplate *template)
for (windowId = 0; windowId < 32; windowId++)
{
- if (gWindows[windowId].window.priority == 0xFF)
+ if (gWindows[windowId].window.bg == 0xFF)
break;
}
if (windowId == WINDOWS_MAX)
return 0xFF;
- bgLayer = template->priority;
+ bgLayer = template->bg;
if (gUnknown_03002F70[bgLayer] == 0)
{
u16 attribute = GetBgAttribute(bgLayer, 8);
@@ -693,14 +693,14 @@ void CopyWindowToVram8Bit(u8 windowId, u8 mode)
switch (mode)
{
case 1:
- CopyBgTilemapBufferToVram(sWindowPtr->window.priority);
+ CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
break;
case 2:
- LoadBgTiles(sWindowPtr->window.priority, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
+ LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
break;
case 3:
- LoadBgTiles(sWindowPtr->window.priority, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
- CopyBgTilemapBufferToVram(sWindowPtr->window.priority);
+ LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
+ CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
break;
}
}
@@ -711,7 +711,7 @@ static u8 GetNumActiveWindowsOnBg8Bit(u8 bgId)
s32 i;
for (i = 0; i < WINDOWS_MAX; i++)
{
- if (gWindows[i].window.priority == bgId)
+ if (gWindows[i].window.bg == bgId)
windowsNum++;
}
return windowsNum;
diff --git a/sym_bss.txt b/sym_bss.txt
index 7df5e3055..d006e1364 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -32,79 +32,18 @@
.include "src/menu_helpers.o"
.include "src/region_map.o"
.include "src/slot_machine.o"
-
-gUnknown_030011F0: @ 30011F0
- .space 0x2
-
-gUnknown_030011F2: @ 30011F2
- .space 0x2
-
-gUnknown_030011F4: @ 30011F4
- .space 0x2
-
-gUnknown_030011F6: @ 30011F6
- .space 0x1
-
-gUnknown_030011F7: @ 30011F7
- .space 0x1
-
+ .include "src/contest_painting.o"
.include "src/starter_choose.o"
-
- .align 0x2
-
-gUnknown_030011FC: @ 30011FC
- .space 0x2
-
-gUnknown_030011FE: @ 30011FE
- .space 0x2
-
-gUnknown_03001200: @ 3001200
- .space 0x2
-
-gUnknown_03001202: @ 3001202
- .space 0x2
-
-gUnknown_03001204: @ 3001204
- .space 0x4
-
+ .include "src/pokedex_area_screen.o"
.include "src/battle_transition.o"
.include "src/pokemon_animation.o"
-
-gUnknown_03001278: @ 3001278
- .space 0x1
-
-gUnknown_03001279: @ 3001279
- .space 0x3
-
+ .include "src/recorded_battle.o"
+ .include "src/battle_factory_screen.o"
.include "src/battle_factory.o"
-
-gUnknown_03001288: @ 3001288
- .space 0x4
-
-gUnknown_0300128C: @ 300128C
- .space 0x1
-
-gUnknown_0300128D: @ 300128D
- .space 0x1
-
-gUnknown_0300128E: @ 300128E
- .space 0x2
-
-gUnknown_03001290: @ 3001290
- .space 0x4
-
-gUnknown_03001294: @ 3001294
- .space 0x4
-
+ .include "src/battle_pike.o"
.include "src/battle_tent.o"
.include "src/multiboot.o"
-
- .space 0x4 @ XXX: why is this needed?
-
- .align 2
-gUnknown_030012A8: @ 30012A8
- .space 0x10
-
+ .include "src/fossil_specials.o"
.include "src/berry_fix_program.o"
gUnknown_030012BC: @ 30012BC
diff --git a/sym_common.txt b/sym_common.txt
index 70c6e4871..20d87f877 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -1,157 +1,125 @@
- .space 0x8
- .include "main.o"
- .include "bg.o"
- .include "window.o"
- .include "text.o"
- .include "sprite.o"
- .include "link.o"
- .include "link_rfu.o"
+ .space 0x8
+ .include "main.o"
+ .include "bg.o"
+ .include "window.o"
+ .include "text.o"
+ .include "sprite.o"
+ .include "link.o"
+ .include "link_rfu.o"
.include "rtc.o"
.include "battle_main.o"
.include "random.o"
.include "load_save.o"
-
-gInGameOpponentsNo: @ 3005D98
- .space 0x4
-
-gBGTilemapBuffers1: @ 3005D9C
- .space 0x4
-
-gBGTilemapBuffers2: @ 3005DA0
- .space 0x4
-
-gBGTilemapBuffers3: @ 3005DA4
- .space 0x4
-
+ .include "berry_blender.o"
.include "overworld.o"
.include "fieldmap.o"
.include "field_camera.o"
.include "field_control_avatar.o"
-
-gMenuCallback: @ 3005DF4
- .space 0x4
-
+ .include "start_menu.o"
.include "sound.o"
- .include "task.o"
- .include "trainer_see.o"
-
-gUnknown_030060B0: @ 30060B0
- .space 0x4
-
-gUnknown_030060B4: @ 30060B4
- .space 0x4
-
- .include "contest.o"
+ .include "task.o"
+ .include "trainer_see.o"
+ .include "pokedex.o"
+ .include "contest.o"
.include "tv.o"
.include "mauville_old_man.o"
gUnknown_03006164: @ 3006164
- .space 0x4
+ .space 0x4
gUnknown_03006168: @ 3006168
- .space 0x4
+ .space 0x4
gUnknown_0300616C: @ 300616C
- .space 0x4
+ .space 0x4
gUnknown_03006170: @ 3006170
- .space 0x4
+ .space 0x4
gUnknown_03006174: @ 3006174
- .space 0x4
+ .space 0x4
gUnknown_03006178: @ 3006178
- .space 0x4
+ .space 0x4
gUnknown_0300617C: @ 300617C
- .space 0x4
+ .space 0x4
gUnknown_03006180: @ 3006180
- .space 0x4
+ .space 0x4
gUnknown_03006184: @ 3006184
- .space 0x4
+ .space 0x4
gUnknown_03006188: @ 3006188
- .space 0x8
+ .space 0x8
gUnknown_03006190: @ 3006190
- .space 0x10
+ .space 0x10
gUnknown_030061A0: @ 30061A0
- .space 0x20
+ .space 0x20
gUnknown_030061C0: @ 30061C0
- .space 0x4
+ .space 0x4
gUnknown_030061C4: @ 30061C4
- .space 0xC
+ .space 0xC
.include "field_specials.o"
gCB2_AfterEvolution: @ 30061E8
- .space 0x4
+ .space 0x4
-gUnknown_030061EC: @ 30061EC
- .space 0x4
+gDexCryScreenState: @ 30061EC
+ .space 0x4
.include "save.o"
-
-gUnknown_03006298: @ 3006298
- .space 0x8
-
+ .include "battle_tower.o"
.include "intro.o"
gUnknown_030062DC: @ 30062DC
- .space 0x4
+ .space 0x4
gUnknown_030062E0: @ 30062E0
- .space 0x4
+ .space 0x4
gUnknown_030062E4: @ 30062E4
- .space 0x4
-
-gUnknown_030062E8: @ 30062E8
- .space 0x4
+ .space 0x4
-gUnknown_030062EC: @ 30062EC
- .space 0x4
-
-gUnknown_030062F0: @ 30062F0
- .space 0x4
-
-gUnknown_030062F4: @ 30062F4
- .space 0xC
-
- .include "list_menu.o"
+ .include "battle_factory_screen.o"
+ .include "apprentice.o"
+
+ .space 0x8
+
+ .include "list_menu.o"
gUnknown_03006328: @ 3006328
- .space 0x48
+ .space 0x48
gUnknown_03006370: @ 3006370
- .space 0x10
-
- .include "m4a_2.o"
+ .space 0x10
- .include "agb_flash.o"
+ .include "m4a_2.o"
+ .include "agb_flash.o"
gRfuState: @ 3007868
- .space 0x8
+ .space 0x8
gUnknown_03007870: @ 3007870
- .space 0x10
+ .space 0x10
gUnknown_03007880: @ 3007880
- .space 0x10
+ .space 0x10
gUnknown_03007890: @ 3007890
- .space 0x4
+ .space 0x4
gUnknown_03007894: @ 3007894
- .space 0x4
+ .space 0x4
gUnknown_03007898: @ 3007898
- .space 0x8
+ .space 0x8
gUnknown_030078A0: @ 30078A0
- .space 0xC
+ .space 0xC
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 7219e38c1..19146b72d 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -3,20 +3,6 @@
.include "src/window.o"
.include "src/text.o"
.include "src/sprite.o"
- .align 2
-
-gStringVar1: @ 2021CC4
- .space 0x100
-
-gStringVar2: @ 2021DC4
- .space 0x100
-
-gStringVar3: @ 2021EC4
- .space 0x100
-
-gStringVar4: @ 2021FC4
- .space 0x3E8
-
.include "src/string_util.o"
.include "src/link.o"
.include "src/link_rfu.o"
@@ -117,63 +103,9 @@ gUnknown_02022CFC: @ 2022CFC
gUnknown_02022D00: @ 2022D00
.space 0x4
-@ src/main_menu.c
-gUnknown_02022D04: @ 2022D04
.include "src/main_menu.o"
-
-gUnknown_02022D08: @ 2022D08
- .space 0x1
-
-gUnknown_02022D09: @ 2022D09
- .space 0x1
-
-gUnknown_02022D0A: @ 2022D0A
- .space 0x2
-
-gUnknown_02022D0C: @ 2022D0C
- .space 0x4
-
.include "src/battle_controllers.o"
-
-gUnknown_02022E10: @ 2022E10
- .space 0x4
-
-gBattle_BG0_X: @ 2022E14
- .space 0x2
-
-gBattle_BG0_Y: @ 2022E16
- .space 0x2
-
-gBattle_BG1_X: @ 2022E18
- .space 0x2
-
-gBattle_BG1_Y: @ 2022E1A
- .space 0x2
-
-gBattle_BG2_X: @ 2022E1C
- .space 0x2
-
-gBattle_BG2_Y: @ 2022E1E
- .space 0x2
-
-gBattle_BG3_X: @ 2022E20
- .space 0x2
-
-gBattle_BG3_Y: @ 2022E22
- .space 0x2
-
-gBattle_WIN0H: @ 2022E24
- .space 0x2
-
-gBattle_WIN0V: @ 2022E26
- .space 0x2
-
-gBattle_WIN1H: @ 2022E28
- .space 0x2
-
-gBattle_WIN1V: @ 2022E2A
- .space 0x2
-
+ .include "src/rom_8034C54.o"
.include "src/battle_main.o"
.include "src/pokemon.o"
.include "src/random.o"
@@ -199,33 +131,11 @@ gUnknown_020322A0: @ 20322A0
.space 0x4
.include "src/berry_blender.o"
-
-gDifferentSaveFile: @ 20322D4
- .space 0x1
-
-gUnknown_020322D5: @ 20322D5
- .space 0x3
-
+ .include "src/new_game.o"
.include "src/overworld.o"
.include "src/fieldmap.o"
.include "src/field_camera.o"
-
- .align 2
-gUnknown_0203734C: @ 203734C
- .space 0x4
-
-gEventObjects: @ 2037350
- .space 0x240
-
-gPlayerAvatar: @ 2037590
- .space 0x14
-
-gUnknown_020375A4: @ 20375A4
- .space 0x8
-
-gUnknown_020375AC: @ 20375AC
- .space 0x8
-
+ .include "src/field_player_avatar.o"
.include "src/event_object_movement.o"
.include "src/field_message_box.o"
@@ -373,30 +283,9 @@ gUnknown_02039F5C: @ 2039F5C
gUnknown_02039F5D: @ 2039F5D
.space 0x3
-gMartInfo: @ 2039F60
- .space 0x10
-
-gShopDataPtr: @ 2039F70
- .space 0x4
-
-gUnknown_02039F74: @ 2039F74
- .space 0x4
-
-gUnknown_02039F78: @ 2039F78
- .space 0x4
-
-gUnknown_02039F7C: @ 2039F7C
- .space 0x4
-
-gUnknown_02039F80: @ 2039F80
- .space 0xC
-
-gUnknown_02039F8C: @ 2039F8C
- .space 0x4
-
-gUnknown_02039F90: @ 2039F90
- .space 0x4
-
+ .include "src/shop.o"
+ .include "src/fldeff_escalator.o"
+ .include "src/script_menu.o"
.include "src/naming_screen.o"
.include "src/money.o"
.include "src/record_mixing.o"
@@ -418,8 +307,7 @@ gUnknown_0203A0F8: @ 203A0F8
gUnknown_0203A100: @ 203A100
.space 0x10
-gUnknown_0203A110: @ 203A110
- .space 0x4
+ .include "src/battle_anim_utility_funcs.o"
gUnknown_0203A114: @ 203A114
.space 0x4
@@ -432,6 +320,7 @@ gUnknown_0203A11C: @ 203A11C
gUnknown_0203A120: @ 203A120
.space 0x4
+
.include "src/mon_markings.o"
.include "src/mauville_old_man.o"
.include "src/mail.o"
@@ -448,10 +337,7 @@ gPlayerFacingPosition: @ 203AB40
.include "src/pokeblock.o"
.include "src/field_specials.o"
.include "src/battle_records.o"
-
-gUnknown_0203AB7C: @ 203AB7C
- .space 0x4
-
+ .include "src/pokedex_area_screen.o"
.include "src/evolution_scene.o"
gUnknown_0203AB88: @ 203AB88
@@ -460,15 +346,7 @@ gUnknown_0203AB88: @ 203AB88
gUnknown_0203AB8C: @ 203AB8C
.space 0x4
-gUnknown_0203AB90: @ 203AB90
- .space 0x4
-
-gUnknown_0203AB94: @ 203AB94
- .space 0x4
-
-gUnknown_0203AB98: @ 203AB98
- .space 0x4
-
+ .include "src/pokedex_cry_screen.o"
.include "src/coins.o"
.include "src/battle_transition.o"
.include "src/battle_message.o"
@@ -496,20 +374,11 @@ gUnknown_0203ABB5: @ 203ABB5
.include "src/rom_81520A8.o"
.include "src/save.o"
-
-.space 0x4 /*unused var?*/
-
.include "src/mystery_event_script.o"
.include "src/learn_move.o"
.include "src/decoration_inventory.o"
.include "src/roamer.o"
-
-gFacilityTrainers: @ 203BC88
- .space 0x4
-
-gFacilityTrainerMons: @ 203BC8C
- .space 0x4
-
+ .include "src/battle_tower.o"
.include "src/use_pokeblock.o"
.include "src/player_pc.o"
.include "src/intro.o"
@@ -536,14 +405,8 @@ gUnknown_0203CD88: @ 203CD88
.space 0x4
.include "src/menu.o"
- .include "src/battle_factory.o"
-
-gUnknown_0203CE50: @ 203CE50
- .space 0x4
-
-gUnknown_0203CE54: @ 203CE54
- .align 2
-
+ .include "src/battle_factory_screen.o"
+ .include "src/mossdeep_gym.o"
.include "src/item_menu.o"
.include "src/list_menu.o"
.include "src/dynamic_placeholder_text_util.o"
@@ -582,7 +445,7 @@ gUnknown_0203CEF0: @ 203CEF0
gUnknown_0203CEF4: @ 203CEF4
.space 0x4
-gUnknown_0203CEF8: @ 203CEF8
+gSelectedOrderFromParty: @ 203CEF8
.space 0x4
gUnknown_0203CEFC: @ 203CEFC
diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile
index c10b258de..339585b92 100644
--- a/tools/gbagfx/Makefile
+++ b/tools/gbagfx/Makefile
@@ -1,6 +1,6 @@
CC = gcc
-CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK
+CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK
LIBS = -lpng -lz
diff --git a/tools/mid2agb/Makefile b/tools/mid2agb/Makefile
index 4dc2f123f..77f96db5a 100644
--- a/tools/mid2agb/Makefile
+++ b/tools/mid2agb/Makefile
@@ -1,6 +1,6 @@
CXX := g++
-CXXFLAGS := -std=c++11 -O2 -s -Wall -Wno-switch -Werror
+CXXFLAGS := -std=c++11 -O2 -Wall -Wno-switch -Werror
SRCS := agb.cpp error.cpp main.cpp midi.cpp tables.cpp